- GET: getting data : 데이터를 가져오기
- POST: creating data : 데이터를 만들기
- PUT: updating data : 데이터를 변경하기
- DELETE: deleting data : 데이터를 삭제하기
- get 은 데이터를 가져오는 것이고 set은 데이터를 저장하는것
- 저금통을 예로 들면 get은 돈이 얼마나 들어있는지 확인하는것이고 set은 돈을 넣는 작업이다.
//암호화 모듈 가져오기
const crypto = require("crypto");
let password = "1234";
//단방향 암호화 수행
let p1 = crypto.createHash("sha256")
.update(password).digest('base64');
console.log(p1);
password = "12345";
//단방향 암호화 수행
p1 = crypto.createHash("sha256")
.update(password).digest('base64');
console.log(p1);
let str = "12345";
p2 = crypto.createHash("sha256")
.update(str).digest('base64');
//동일한 문자열로 암호화를 동일한 결과를 생성하기 때문에 true
console.log(p1 === p2);
str = "123456";
p2 = crypto.createHash("sha256")
.update(str).digest('base64');
//false
console.log(p1 === p2);
//암호화 모듈 가져오기
//const crypto = require("crypto");
const algorithm = "aes-256-cbc"; //알고리즘은 정해진 알고리즘이용
//Node 의 crypto 모듈에서는 key는 32자리 iv는 16자리
const key = "12345678901234567890123456789012";
const iv = "1234567890123456";
//암호화 객체 생성
let cipher = crypto.createCipheriv(algorithm, key, iv);
let result = cipher.update('01037901997', 'utf8', 'base64');
result += cipher.final('base64');
console.log(result);
//복호화
let decipher = crypto.createDecipheriv(algorithm, key, iv);
let result2 = decipher.update(result, 'base64', 'utf8');
result2 += decipher.final('utf8');
console.log(result2);
소스 코드(영어: source code) 또는 원시 코드란 컴퓨터 프로그램을 사람이 읽을 수 있는 프로그래밍 언어로 기술한 텍스트 파일
컴퓨터가 이해할 수 있는 기계어로 변환하는 작업
소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정
동기는 요청과 응답이 동시에 발생
비동기는 하나의 요청에 따른 응답을 즉시 처리하지 않아도, 그 대기 시간동안 또 다른 요청에 대해 처리 가능한 방식이다.
여러 개의 요청을 동시에 처리할 수 있는 장점이 있지만 동기 방식보다 속도가 떨어질 수도 있다.
변수 선언이 어디에 있든 상관없이 다른 코드보다 먼저 실행되는 특징을 호이스팅(hoisting)이라 한다.
let name = choi;
let name = 사용할수 없음
name = kim; 사용가능
- let은 재사용은 불가능한데 재할당은 가능
const name = choi;
name = 사용할수 없음
- const는 재사용도 재할당도 불가능
절대값?
(작업 도중 다른 작업을 할 수 있도록 하는 작업의 단위 - 독자적으로 실행할 수 없음
- 예외가 발생하면 프로그램을 중지 하는것
- 서버는 아주 위험한 예외가 아니면 중단되선 안됨.
- 예외가 발생하더라도 계속 동작하게 하기위하여
- 예외를 로깅하기 위하여