728x90
반응형

백엔드 8

JSON Web Token

1. JSON Web Token(JWT)JSON Web Token(JWT)은 서버와 클라이언트 사이에서 인증 정보를 안전하게 전달하기 위한 컴팩트하고 독립적인 토큰입니다. JWT는 세 부분(헤더, 페이로드, 서명)으로 구성되어 있으며, 페이로드에는 사용자 정보나 인증 관련 데이터가 담기고, 서명은 토큰의 무결성을 검증하는 데 사용됩니다. 주로 로그인 이후 발급되어 클라이언트가 저장하고 있다가 서버 요청 시 함께 전송하며, 서버는 토큰만 검증하고 별도로 세션을 저장하지 않아 상태를 유지하지 않는(stateless) 인증 방식을 구현할 수 있습니다. 이로 인해 모바일 앱, SPA(싱글 페이지 어플리케이션), 마이크로서비스 API 서버에서 널리 사용됩니다.npm install jsonwebtoken JWT는 ..

백엔드/Node.js 2025.04.26

라우트

1. 라우트라우트(Route)는 웹 애플리케이션에서 클라이언트가 요청한 URL 경로와 HTTP 메서드(GET, POST 등)에 따라 서버가 어떤 동작을 수행할지를 정의하는 규칙입니다. 즉, 사용자가 /login, /about 같은 특정 경로로 요청을 보냈을 때, 그 요청을 처리할 코드를 지정해주는 역할을 합니다. Express에서는 app.get(), app.post() 같은 메서드를 통해 라우트를 설정하며, 각 라우트에는 요청 정보를 처리하고 응답을 보내는 핸들러 함수가 연결됩니다. 라우팅은 웹 서버가 어떤 페이지나 데이터를 제공할지를 결정하는 핵심적인 구조입니다. 1. route 메서드Express의 .route() 메서드는 동일한 URL 경로에 대해 여러 HTTP 메서드(GET, POST, PUT ..

백엔드/Node.js 2025.04.23

Express

1. ExpressExpress는 Node.js 환경에서 가장 널리 사용되는 웹 애플리케이션 프레임워크로, 서버를 쉽고 빠르게 구축할 수 있도록 다양한 기능을 제공합니다. 기본적인 HTTP 모듈보다 훨씬 간단하게 라우팅 처리, 요청/응답 객체 관리, 미들웨어 설정, 정적 파일 제공, 템플릿 엔진 연결 등을 할 수 있어 개발 생산성을 크게 높여줍니다. 특히 RESTful API 구축에 최적화되어 있으며, 수많은 미들웨어와 플러그인 생태계를 통해 다양한 웹 서비스에 손쉽게 확장할 수 있는 것이 장점입니다. 1. 설치npm install express 2. 앱 생성const express = require('express');const app = express();const port = 3000;// 기본 라..

백엔드/Node.js 2025.04.22

EJS

1. EJSEJS(Embedded JavaScript)는 HTML 안에 , 문법을 이용해 JavaScript 코드를 삽입할 수 있도록 도와주는 템플릿 엔진입니다. 서버에서 데이터를 넘겨주면, 그 데이터를 HTML에 자동으로 넣어서 브라우저에 보낼 수 있게 해줍니다. 1. 설치npm install ejs 2. 📁 프로젝트 구조ejs-test/├── views/│ └── index.ejs├── server.js├── package.json view/index.ejs 안녕하세요, 님! server.jsconst http = require("http");const fs = require("fs");const ejs = require("ejs");const path = require("path");con..

백엔드/Node.js 2025.04.22

http 모듈

1. http 모듈Node.js의 http 모듈은 웹 서버를 만들 수 있게 해주는 핵심 내장 모듈로, 클라이언트(브라우저 등)의 요청(request)을 받고, 응답(response)을 반환하는 기능을 제공합니다. 이 모듈을 통해 별도의 웹 서버 소프트웨어(Apache, Nginx 등) 없이도 Node.js 자체로 웹 서버를 만들 수 있으며, http.createServer() 메서드를 사용해 요청 처리 함수를 정의하고, 서버를 특정 포트에서 실행할 수 있습니다. 주로 REST API를 만들거나 HTML 파일을 전송하는 등의 기본적인 웹 애플리케이션 서버 개발에 많이 사용됩니다.const http = require("http");const server = http.createServer((req, res)..

백엔드/Node.js 2025.04.22

파일 입출력

1. 파일 입출력파일 입출력(file I/O)은 매우 중요한 기능 중 하나로, 주로 fs (File System) 모듈을 사용해서 파일을 읽고 쓰는 작업을 수행합니다. const fs = require("fs"); 2. 파일 읽기1. 동기 방식 (Synchronous)코드가 순서대로 실행되며, 파일을 다 읽을 때까지 다음 줄로 넘어가지 않습니다.const fs = require("fs");const data = fs.readFileSync("example.txt", "utf8");console.log("파일 내용:", data); 2. 비동기 방식 (Asynchronous)파일을 읽는 동안 다음 코드를 먼저 실행하고, 다 읽으면 콜백 함수로 결과를 넘깁니다.fs.readFile("example.txt"..

백엔드/Node.js 2025.04.22

모듈

1. 모듈자바스크립트 모듈(module)은 코드의 재사용성과 유지보수성을 높이기 위해 기능을 개별 파일로 분리하여 사용할 수 있도록 해주는 구조입니다. export 키워드를 사용하여 모듈에서 변수, 함수, 클래스 등을 외부로 내보내고, import 키워드를 사용하여 다른 파일에서 이들을 불러와 사용할 수 있습니다. 이를 통해 전역 변수 오염을 방지하고, 각 기능을 독립적으로 관리할 수 있어 복잡한 애플리케이션 개발에 적합한 구조를 제공합니다. ES6(ECMAScript 2015)부터 표준으로 도입되어 현재 대부분의 환경에서 널리 사용되고 있습니다.1. CommonJS 방식의 모듈📁 counter.js (모듈 파일)let count = 0function increase(){ count++}funct..

백엔드/Node.js 2025.04.18

package.json

1. 패키지 매니저패키지 매니저(package manager)는 Node.js 프로젝트에서 필요한 라이브러리(패키지)를 설치, 관리, 업데이트할 수 있게 도와주는 도구입니다. 1. npm (Node Package Manager)Node.js 설치 시 자동으로 같이 설치됩니다.전 세계에서 가장 많이 사용되는 자바스크립트 패키지 매니저입니다.과거에는 속도가 느리고 캐시 처리가 약점이었지만, 최근 버전에서는 많이 개선되었습니다.공식 페이지 2. yarn Facebook에서 만든 npm의 대안npm보다 더 빠르고 안정적인 패키지 관리를 목표로 만들어졌습니다.yarn.lock 파일을 이용해 버전 일관성을 더 엄격하게 보장설치가 병렬로 진행되어 속도가 빠름니다.별도로 설치해야 합니다. (npm install -g ..

백엔드/Node.js 2025.04.18
728x90
반응형