1-9강에서 promise, await 이해위해 다시 수강 필요
너무 기초 강의에 몰두하다보니, node.js 강의를 많이 듣지 못했음
function 함수이름(인자1, 인자2, 인자3) {
// 명령문
}
함수이름(인수1, 인수2, 인수3); // 명령문에 있는 내용을 실행한다.
const sum = function(a, b) {
return a + b;
};
const sum = (a, b) => {
return a + b;
};
const sum = (a, b) => a + b;
각 명령이 순서대로 실행될 수 있게 구현되어 있지만,
Non-blocking model에 의해 명령이 아닌 모든 함수는 비동기적으로 실행됩니다.
: 현재 실행중인 코드의 실행이 끝나지 않아도 다음 코드를 호출함
async를 활용하는 예
defer를 활용하는 예
-> 객체지향 언어
데이터를 주고 받는 양식을 정의한 "통신 규약"중 하나가 HTTP
(통신 규약: Protocol)
-> Express.js로 만든 웹서버에요 (O)
-> Express 웹서버에요 (X)
-> JavaScript라는 코드로 언어를 짜고, node.js로 실행했지만, express.js라는 도구로 웹서버를 만듬
①npm init -y
=> package.json 설치됨 : dependencies에 설치된 package들이 나열됨 (절대 지우면 안됨)
②npm i express
: package-lock.json - 설치한 버전을 lock하기 위해서. 이걸 삭제하면 최신버전이 설치될 수 있음
: node_modules - 설치한 패키지들이 모여있는 폴더
웹서버에서 요청을 받을 때 가끔 모든 요청에 대해 공통적인 처리를 하고 싶은 경우
이때 미들웨어를 통해 웹서버의 요청/응답에 대해 공통적으로 관리 가능
form-urlencoded
라는 규격의 body 데이터를 손쉽게 코드에서 사용할 수 있게 도와주는 미들웨어JSON
이라는 규격의 body 데이터를 손쉽게 코드에서 사용할 수 있게 도와주는 미들웨어app.use(express.urlencoded({ extended: false }));
app.use(express.json());
Routing은 클라이언트의 요청 조건(메서드, 주소 등)에 대응해 응답하는 방식
router란 : Router는 클라이언트의 요청을 쉽게 처리 할 수 있게 도와주는 Express.js 기본 기능중 하나
애플리케이션끼리 연결해주는 매개체이자 약속
웹 어플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 의미
URL, Headers, Method 등 네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의한 것