HTTP 메소드는 웹 서버와 통신할 때 사용자의 의도를 명시적으로 표현하는 방법이다. 각 메소드는 특정 작업을 수행하도록 설계되었다.
GET
데이터 조회POST
새로운 데이터 생성(=등록) PUT
기존 데이터 전체적으로 수정(덮어쓰기, 값이 있든없든 바꼈는 말든 무조건 수정)PATCH
기존 데이터 중 일부를 수정(값이 바꼈다면, 바뀐 값만 수정)DELETE
데이터 삭제 HEAD
, OPTIONS
, CONNECT
, TRACE
다른 보조적인 기능cf. PATCH - 부분 수정
개인정보 수정 같이 특정 요소만 바꿈 → 부분 수정!
코드 작성할 때 PATCH는 까다로운 면이 있다.
Node.js는 이벤트 기반, 비동기 I/O를 지원하는 JavaScript 런타임 환경이다. 프론트엔드 개발 뿐만 아니라 백엔드 개발에도 사용된다. 대표적인 사례로는 넷플릭스, 에어비앤비, 링크드인, 우버 등등...nasa까지!
여기서도 강사님의 기가막힌 비유!
function first(){
console.log("첫 번쨰");
}
function second(){
console.log("두 번쨰");
}
function third(){
console.log("세 번쨰");
}
first();
setTimeout(second, 2000);
third();
재사용 가능한 코드 덩어리를 의미한다. 이는 프로그램의 특정 기능을 담당하는 코드 부분으로, 다른 프로그램에서 쉽게 불러와 사용할 수 있습니다. 모듈화는 코드의 재사용성을 높이고, 관리를 용이하게 하며, 네임스페이스를 분리하여 코드 충돌을 방지합니다.
라이브러리와 프레임워크는 코드 재사용을 돕는 도구지만, 사용 방식에 차이가 있다.
라이브러리는 상세 주제의 한권의 책을 골라내는 것. 내가 원하는 기준에 맞춰서!
장점은 내가 원하는 걸 빌릴 수 있고, 단점은 고르기가 힘들 수도 있다. 찾는 시간 오래걸리고 도서관 가는 시간 등 고려해야할 게 많다.
라이브러리도 똑같은 미리 만들어놓은 모듈, 코드를 직접 찾아 선택해서 사용할 수 있음(빌려서 프로젝트에 적용해볼 수 있는 것)
라이브러리=모듈
프레임워크는 틀 안에서 일을 하는 것
내가 원하는(만들고싶은) 서비스 만들기(구현하기) 위한 모든 일을 틀 안에서 하는 것
프레임워크는 필요해보이는 라이브러리(모듈)를 미리 다 틀 안에 넣어뒀다!
프레임워크가 지원하는 라이브러리 사용
npm은 Node.js의 패키지 관리자로, Node.js와 함께 자동으로 설치된다. npm을 사용하면 다양한 자바스크립트 라이브러리와 모듈을 쉽게 설치, 관리, 삭제할 수 있다.
npm install [패키지명] 또는 npm i [패키지명]
: 패키지 설치
npm install -g [패키지명] (전역 설치)
: 글로벌 설치
npm uninstall [패키지명]
: 패키지 제거
package.json
: 프로젝트의 의존성을 관리하는 파일
package-lock.json
: 설치된 모든 패키지의 정확한 버전을 기록하여 의존성을 일관되게 유지하는 파일
node_modules
: 설치된 모든 npm 패키지가 저장되는 폴더
figlet은 ASCII 아트를 생성하는 데 사용되는 npm 모듈이다. 텍스트를 스타일리시한 아트 형식으로 변환해주는 도구.
npm: figlet
npm i figlet
var figlet = require("figlet");
figlet("Bang Subeen!", function (err, data) {
if (err) {
console.log("Something went wrong...");
console.dir(err);
return;
}
console.log(data);
});
함수의 매개변수로 변수 또는 값을 전달하는 것이 아니라, 함수를 전달하는 것! 콜백 함수라고 부르는 바로 그것.
함수 이름 없이 익명 함수 매개변수로 넘겨준다.(익명 함수 쓰는 이유는 이 함수를 쓸 일이 다른 데는 없어 한 번만 사용하기 때문)
첫 번째 매개변수 문자열을 받아서 아스키 아트를 만든 다음에 두 번째 매개변수 function 함수를 실행 = 콜백!
let http=require('http');
function onRequest(request, response){
response.writeHead(200,{'Content-Type':'text/html'});
response.write('Hello Node.js');
response.end();
}
http.createServer(onRequest).listen(8888);
이 스크립트는 8888 포트에서 서버를 실행하고, 웹 브라우저에서 접근할 경우 "Hello Node.js" 메시지를 표시한다. http.createServer() 메소드는 요청을 처리할 콜백 함수를 매개변수로 받는다.
${expression}
형태로 표현식을 문자열 안에 삽입할 수 있다.