프로젝트
프로젝트 페이지의 설명은 이쪽.
Node.js의 라이브러리를 정리해 놓은 프로젝트입니다. 노드의 자세한 API 정보는 이 링크를 참조해 주세요.
노드의 모듈들
모듈 이름 | 설명 |
---|---|
os | 운영체제의 정보를 가져올 수 있는 모듈 |
path | 운영체제별로 경로 구분자가 다르기 때문에 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈입니다. |
url | 인터넷 주소를 쉽게 조작하도록 도와주는 모듈입니다. |
querystring | WHATWG 방식의 url 대신 기존 노드의 url을 사용할 때, search 부분을 사용하기 쉽게 객체로 만드는 모듈입니다. |
util | deprecate나 promisify와 같은 다양한 유틸 기능을 제공합니다. |
worker_threads | 노드에서 멀티 스레드 방식으로 작업할 때 사용합니다. |
child_process | 노드에서 다른 프로그램을 실행하거나 명령어를 수행할 때 사용하는 모듈입니다. |
fs | file system의 약자로 파일 시스템에 접근해 파일의 생성, 삭제, 일고 쓰기를 할 수 있습니다. |
event | 이벤트를 만들때 사용하는 모듈입니다. |
http2 | http2 서버를 사용하기 위한 모듈입니다. http/1.1과 요청 및 응답 방식이 개선된 버전입니다. |
cluster | 싱글 프로세스로 동작하는 노드가 CPU 코어를 모두 사용할 수 있게 해주는 모듈입니다. |
readline | 한 번에 한 줄씩 데이터를 읽기 위한 인터페이스를 제공하는 모듈입니다. |
process | 현재 프로세스를 관리하는 모듈입니다. |
npm 패키지
패키지 이름 | 설명 |
---|---|
express | http 모듈의 요청과 응답 객체에 추가 기능들을 부여한 웹서버 프레임워크입니다.(koa, hapi 같은 종류도 있습니다.) |
morgan | 기존 로그 외에 추가적인 로그를 볼 수 있습니다. 요청과 응답을 한눈에 볼 수 있어 편리합니다. |
cookie-parser | 요청에 동봉된 쿠키를 해석해 req.cookies 객체로 만듭니다. |
express-session | 세션 관리용 미들웨어로써, 로그인 등의 이유로 세션을 구현하거나 특정 사용자를 위한 데이터를 임시적으로 저장해둘 때 유용합니다. |
multer | 이미지, 동영상 등을 비롯한 여러 가지 파일들을 멀티파트 형식으로 업로드할 때 사용하는 미들웨어입니다. |
dotenv | process.env를 관리하기 위한 패키지 |
pug | 루비와 비슷한 템플릿 엔진입니다. |
nunjucks | 파이썬의 Twig와 문법이 비슷한 템플릿 엔진입니다. |
sequelize | 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 ORM으로 분류되는 패키지입니다. |
sequelize-cli | 시퀼라이즈 명령어를 실행하기 위한 패키지 입니다. |
mysql2 | MySQL과 시퀼라이즈를 이어주는 드라이버입니다. |
bcrypt | 텍스트를 암,복호화 하는 패키지입니다. |
passport | 로그인과 같은 사용자 인증을 위해 사용됩니다. |
jsonwebtoken | 유저를 인증하고 식별하기 위한 토큰 기반 인증입니다. |
axios | 브라우저, Node.js를 위한 비동기 처리를 유연하게 처리하기 위한 API인 Promise API를 활용하는 HTTP 비동기 통신 라이브러리입니다. |
CORS | Cross Origin Resource Sharing의 약자로 도메인 및 포트가 다른 서버로 클라이언트가 요청했을 씨 브라우저가 보안상의 이유로 API를 차단하는 패키지입니다. |
express-rate-limit | 단위 시간 동안 하나의 ip 주소에서 들어오는 request의 숫자를 제한할 수 있는 패키지입니다. |
UUID | Universally Unique IDentifier의 약자로, 서버에서 사용자들에 UUID를 붙여 구분하는 등으로 사용합니다. |
ms | 다양한 시간 형식을 밀리초로 쉽게 변환할 수 있습니다. |
WS | 연결을 끊지 않고 계속 유지한 상태로 클라이언트와 서버가 서로 데이터를 주고 받을수 있습니다. |
socket.io | ws와 같은 웹 소켓 구현체지만 브라우저간 호환이나 이전 버전 호환을 고려하면 더 좋은 선택입니다. |
EventSource | http 서버에 지속적인 연결을 하는 패키지입니다. |
node-schedule | 스케줄을 지정하고, 실행할 수 있습니다. |
sse | Server Sent Events의 약자로 서버의 데이터를 실시간으로, 스트리밍하는 패키지입니다. |
schtasks | 명령 및 프로그램이 주기적으로 또는 특정 시간에 실행되도록 합니다. |
commander | cli를 이용해 입력 값을 받아 동작하도록 하기 위한 패키지 |
inquirer | 사용자와 대화형 소통이 가능하도록 만들어 줍니다. |
chalk | cmd에 색을 입혀주는 패키지입니다. |