반응형
1. JWT(JSON Web Token) JWT는 JSON 객체를 사용해 정보를 안전하게 전송하기 위한 개방형 표준(RFC 7519)이며, JWT는 다음과 같은 세 부분으로 구성됩니다.Header: 토큰의 유형(type)과 서명 알고리즘(algorithm)에 대한 정보를 포함Payload: 사용자 정보 및 토큰의 유효 기간과 같은 클레임(claims)을 포함Signature: Header와 Payload를 인코딩한 후 비밀 키를 사용해 서명, 이 서명은 토큰의 무결성을 확인하는 데 사용JWT는 서버에 상태를 저장할 필요 없이 클라이언트와 서버 간의 인증을 가능하게 합니다.2. 사용자 인증 구현먼저 필요한 패키지를 설치하기 위해 아래 명령어를 입력합니다.npm install express jsonwebto..
이번 예제는 Node.js에서 MongoDB 또는 MySQL 데이터 베이스를 연동하는 방법과 각각의 ORM인 Mongoose(몽고DB)의 Sequelize(MySQL)의 사용법을 알아보겠습니다.1. MongoDB 설치 및 설정Windows: Mongo Community Edition 다운로드에서 설치합니다.macOS: Homebrew를 사용해 설치합니다.brew tap mongodb/brewbrew install mongodb-communityLinux: 공식문서에 배포판에 따라 설치방법이 다르므로 공식문서를 참조다음 명령어로 MongoDB 데이터베이스 저장소 폴더를 생성합니다.mkdir C:\data\db 이제 MongoDB를 실행합니다. 설치된 경로에 따라 다음 명령어를 입력합니다."C:\Progra..
1.Express.js 프레임워크Express.js는 Node.js를 위한 웹 애플리케이션 프레임워크로, 경량화되어 있으며 유연성이 뛰어나, 웹 서버 및 API를 쉽게 구축할 수 있도록 도와줍니다. Express.js의 주요 특징을 다음과 같습니다.미들웨어: 요청과 응답 사이 동작하는 기능을 쉽게 추가 가능라우팅: URL 경로에 따라 요청을 처리할 수 있는 라우팅 기능 제공RESTful API 지원: RESTful 아키텍쳐 스타일을 쉽게 구현할 수 있음2.Express 설치 및 기본 사용법# Express 설치npm install express && yarn add express 다음 코드는 Express 애플리케이션을 간단하게 설정해보겠습니다.// app.js 파일 생성const express = re..
1. Node.js HTTP 서버 기본 설정Node.js에서 HTTP 서버를 만드는 것은 매우 간단하며, http 모듈을 사용해 서버를 생성하고 요청을 처리할 수 있습니다.프로젝트 폴더에 server.js 파일을 생성해 아래 코드를 추가합니다.yarn add http// server.jsconst http = require("http");// 서버 생성const server = http.createServer((req, res) => { // 응답 헤더 설정 res.writeHead(200, { "Content-Type": "text/plain" }); res.end("Hello, World!\n");});// 서버 실행const PORT = 3000;server.listen(PORT, () => ..
지난 시간에는 Node.js에 탄생과 설치방법 개념들을 정리해보았습니다. 이번 시간에는 Node.js의 비동기 제어 흐름은 어떤 방식인지 개념을 살펴보겠습니다. 우선 Node.js에 비동기 제어는 프로그래밍의 핵심적인 개념으로 이벤트 기반의 비동기I/O 모델을 사용하기 때문에, 비동기 작업을 더욱 효과적으로 처리하는 방법을 이해하는 것이 중요합니다. 1. 콜백 함수 (Callback)콜백 함수는 비동기 중 가장 기본적인 처리 방법으로 함수가 완료된 후 호출되는 함수를 정의합니다.const fs = require("fs");fs.readFile("file.txt", "utf8", (err, data) => { if (err) { console.log(err); return; } consol..
2009년 5월 27일 라이언 라인하트 달(Ryan Linenhart Dahl)은 크로스플랫폼 오픈소스 자바스크립트 런타입 환경으로 윈도우, 리눅스, macOS를 지원하는 Node.js를 발표합니다. 자바스크립트 V8 엔진을 지원하며, 웹 브라우저 바깥에서 자바스크립트 코드를 실행할 수 있게 되었습니다. Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임 환경으로 주로 서버 사이드 애플리케이션 개발에 사용되고, 비동기 I/O와 이벤트 기반 아키텍처를 통한 높은 성능과 확장성을 제공합니다. Node.js는 현재까지도 업데이트와 유지보수가 진행중이며 파이썬으로 만든 트위스티드, 펄로 만들 펄 객체 환경, 루비로 만든 이벤트 머신과 용도가 비슷하게 사용됩니다. No..