기간 | 230530 - 230602 |
배운 내용 | Node.js |
◎ Node.js
1. const
const {변수} = 객체
하면 객체 안에 있는 변수를 찾아줌
변수 한 개면 중괄호 생략가능 const v = a
const status = candymachine // candymachine.getcandy.status과 동일
candymachine 객체 속 status 찾아줌
2. https
웹 서버에 SSL 암호화를 추가하는 모듈.
오고 가는 데이터를 암호화해서 중간에 다른 사람이 요청을 가로채도 내용 확인 불가.
http 서버를 https 서버로 만들기 위해서는 인증서가 있어야 함. 내부적으로 키 가지고 암호화함
3. Express
http 모듈로 웹 서버를 만들 때 코드가 보기 좋지 않고, 확장성도 떨어지는 문제를 프레임워크로 해결.
대표적인 것이 Express, Koa, Hapi
-> 코드 관리도 용이하고 편의성이 높아짐
4. 미들웨어
익스프레스는 미들웨어로 구성됨
요청과 응답의 중간에 위치함
- dotenv
.env 파일을 읽어서 process.env로 만듦
포트번호와 같은 것들을 외부로 빼기 위함
dotenv는 .env 파일에 있는 것들 읽어와서 프로세스 객체로 만들어 줌
.env 파일에 비밀 키들을 모아두고 .env 파일만 잘 관리하면 됨
- morgan
서버로 들어온 요청과 응답을 기록해 줌
- static
정적인 파일들을 제공함
콘텐츠 요청 주소와 실제 콘텐츠의 경로를 다르게 만들 수 있음
- body-parser
요청의 본문을 해석해 줌
파라미터 파싱.
폼 데이터나 AJAX 요청의 데이터 처리(요청 온 거 해석하기 좋게)
- cookie-parser
요청 헤더의 쿠키를 해석해 줌
실제 쿠키 옵션들을 넣을 수 있음
- express-session
세션 관리용 미들웨어
5. 멀티 스레드, 멀티 프로세스
스레드 - 프로세스 내에서 실행되는 작업의 단위, 부모 프로세스 자원 공유
프로세스 - 운영체제에서 할당하는 작업의 단위, 프로세스 간 자원 공유하지 않음
멀티 스레드 - 하나의 프로세스에 여러 스레드. 메모리 공유
멀티 프로세스 - 프로세스끼리 메모리 공유하지 않음
멀티 스레드 - 호출 스택 여러 개 사용
싱글 스레드 - 호출 스택 하나
멀티 스레드는 동시에 처리하지 않고 왔다 갔다 하면서 처리
◎ es6
1. for
- for each
매개변수 2개이면 데이터와 인덱스 번호 전달
for 문과 달리 break가 안됨
- for in -> 객체의 속성을 다 꺼내보고 싶을 때
- for of 뒤에는 배열, 문자열 등 반복 가능한 객체 옴. 데이터 개수만큼 반복
2. map
foreach처럼 배열에 있는 거 하나씩 처리하지만
처리 결과가 배열
3. 프로미스
콜백함수 사용할 때 코드 깔끔하게 하기 위함
처리에 성공했을 때 실행할 함수와 성공하지 못했을 때 실행할 함수를 미리 약속
프로미스 사용하려면 Promise 객체를 만들어야 함
성공했을 때 실행할 함수 resolve()와 실패했을 때 실행할 함수 reject()도 함께 지정한다
4. async와 await
프로미스는 콜백 지옥이 생기지 않도록 소스를 읽기 쉽게 바꾼 것
프로미스 체이닝은 프로미스를 계속 연결해서 사용하므로 소스 복잡해질 수 있음
-> 이 문제 해결 위해 async 함수와 await 예약어 등장
async 예약어를 함께 사용하면 그 함수 안에 있는 명령을 비동기적으로 실행 가능
async function() {...}
await는 async 함수에서만 사용가능하고, 프로미스 체이닝을 좀 더 쉽게 작성하도록 함
'클라우드 스쿨 > 강의 정리' 카테고리의 다른 글
6주차 - JAVA (0) | 2023.11.22 |
---|---|
5주차 - React (0) | 2023.11.21 |
3주차 - AWS, Node.js (0) | 2023.11.19 |
2주차 - CSS, JavaScript (0) | 2023.11.17 |
1주차 - HTML, CSS (0) | 2023.11.16 |