node.js 정리

Chaehee Sohn·2022년 11월 21일
0

국비 개발교육 일지

목록 보기
28/28

FileSystem 모듈

  • 파일 처리와 관련된 모듈
  • node.js 에서 가장 중요하고 기초가 되는 모듈

메소드
readFile(): 파일을 비동기적으로 읽음
readFileSync(): 파일을 동기적으로 읽음
writeFile(): 파일을 비동기적으로 씀
writeFileSync(): 파일을 동기적으로 씀

동기와 비동기
동기: 프로그램이 동작하는 상태에서 완전히 해당 내용을 끝내고 다음으로 제어를 넘김
비동기: 동작이 끝나지 않은 상태에서도 제어권을 넘긴 후 프로그램을 계속 진행

예외 처리(Exception)
프로그램이 실행되고 있는 런타임시에 에러가 발생할 경우 처리할 수 있는 프로그램 구간

try {
예외 상황이 발생할 수 있는 문장
...
...
} catch(e) {
예외 상황이 발생했을 경우 처리할 문장(e는 Exception 객체)
} finally {
예외 상황이 발생하거나 발생하지 않아도 무조건 실행될 문장(생략가능)
}

이벤트 루프 (Event Loop)
node.js는 서버가 가동되면 변수들을 초기화하고 함수를 선언하고 이벤트가 발생할 때까지 기다림
이벤트가 감지되었을 때 call back 함수를 호출함

events
이벤트 위주의 프로그램을 작성할 때 사용하는 모듈

메소드
on(): 지정한 이벤트의 리스너를 추가
once(): 지정한 이벤트의 리스너를 추가하지만 한번 실행 이후 자동 제거됨
removeListener(): 지정한 이벤트에 대한 리스너를 제거
emit(): 지정한 이벤트를 발생시킴

http 모듈
node.js 에서 가장 기본적이고 중요한 서버 모듈
HTTP 웹 서버를 생성하는 것과 관련된 모든 기능을 담당

  1. server 객체
    http 모듈의 createServer() 메소드를 사용하여 server 객체를 생성

메소드
listen(): 서버를 실행하고 클라이언트를 기다림
close(): 서버를 종료함

이벤트
request: 클라이언트가 서버에 요청할 때 발생하는 이벤트
connection: 클라이언트가 접속할 때 발생하는 이벤트
close: 서버가 종료될 때 발생하는 이벤트

  1. request 객체
    클라이언트가 서버에게 전달하는 메세지(정보)를 담는 객체

속성
method: 클라이언트 요청 방식을 나타냄. (GET, POST)
url: 클라이언트가 요청한 url을 나타냄

  1. response 객체
    서버에서 클라이언트로 응답 메세지를 전송시켜주는 객체

메소드
writeHead(): 응답 헤더를 작성함
end(): 응답 본문을 작성함

MIME 형식
text/plain: 일반적인 text 파일
text/html: html 형식 파일
text/css: css 형식 파일
text/xml: xml 형식 파일
image/jpeg: jpeg 이미지 파일
image/jpg: jpg 이미지 파일
image/png: png 이미지 파일
video/mpeg: mpeg 동영상 파일
audio/mp3: mp3 음악 파일

익스프레스 모듈
http 모듈만 사용해서 웹 서버를 구성하면 직접 많은 기능을 개발해야 함
이 문제를 해결하기 위해 만들어진 모듈이 익스프레스 모듈.
익스프레스 모듈을 사용하면 간단한 코드로 웹 서버의 기능을 대부분 구현할 수 있고, 미들웨어와 라우터를 사용하여 편리하게 웹 서버를 구성할 수 있음

메소드
use(): 미들웨어 함수를 사용
get(): get으로 사용자 정보를 전달 받음
set(): 서버 설정을 위한 속성을 결정
redirect(): 웹 페이지의 경로를 강제로 이동시킴
send(): 클라이언트에 응답 데이터를 보냄. 전달할 수 있는 데이터는 html, buffer, json, js
header(): 헤더를 확인함

package 설치하기
npm install 모둘명(npm i 모듈명)
npm i express

package 복원하기
npm package

profile
손체리

0개의 댓글