본문 바로가기

Backend6

Express 기본 1 1. 중앙집중식 에러처리 - 각 라우터에서 try...catch를 반복하는 대신에, 에러처리 미들웨어를 만들어서 모든 에러를 한 곳에서 관리할 수 있다. - 이렇게 하면 절대적인 코드 수가 줄기도 하고, 에러처리를 한 군데에서 하니 코드가 깔끔해진다.- 에러에 대한 응답처리를 일관적으로 할 수 있다. const express = require('express');const app = express();app.get('/error', (req, res, next)=>{ const err = new Error('뭔가 잘못되었음'); err.status = 500; next(err); // next()에 인자를 전달하면 에러처리 미들웨어로 바로 이동한다. });// 중앙 에러처리 미들웨어const .. 2025. 7. 25.
Express 팁 ( 쉬운 ) 1. 미들웨어 중심의 아키텍처를 잘 활용하여야 한다.- 요청과 응답 객체에 접근하고, 다음 미들웨어 호출 중심의 아키텍처를 잘 활용하여야 한다. - 요청과 응답 객체에 접근하고, 다음 미들웨어 함수를 호출하는 ( next() ) 함수들의 연속으로 어플리이션의 로직이 구성된다. - 기능분리 ㄴ 각 미들웨어는 하나의 명확한 기능을 담당하도록 작성해야한다. ( 로깅, 인증, 데이터파싱 ) 예를 들어서, 요청 본문을 파싱하는 express.json(), express.urlencoded()나 CORS를 처리하는 CORS 같은 미들웨어를 사용하는 것이 일반적이다. - 실행 순서의 중요성 ㄴ 미들웨어는 app.use()나 라우터에 등록된 순서대로 실행된다. 따라서 인증 미들웨어는 항상 실제 로직을 처리하는 .. 2025. 7. 22.
Passport 인증 미들웨어 ## Passport 는 Node.js에서 사용되는 인증 미들웨어 인증 : 사용자의 신원을 확인함 ## Passport의 역할- 웹 어플리케이션에서 로그인 기능을 구현하려면 보통 사용자 정보를 저장하고, 사용자가 입력한 정보 ( 이름이나 비밀번호 예를 들어 )가 맞는지 확인해야 한다. 이 과정을 인증이라고 하고, Passport는 그 과정을 쉽게 만들어준다. - Passport를 사용하면 소셜 로그인도 쉽게 구현할 수 있음. - 여러가지 전략이 있는데 로컬 로그인이 가장 기본이 된다. - 크게 3가지 전략이 있는데1. LocalStrategy : 사용자 이름/비밀번호2. GoogleStrategy : 구글계정3. JWTStrategy : jwt 토큰 각 전략은 인증하는 방식만 다르고, Passport의 .. 2025. 4. 22.
[Express] 정리 (1) 먼저 처음에 다음 과 같은 모듈들이 필요하다.const express = require('express')const sql = require('mssql/msnodesqlv8');- Express : 빠르게 웹 서버와 API 엔드포인트를 만들기 위해서- mssql/msnodesqlv8 : SQL Server와 Node.js 간의 연결을 가능하게 해주는 라이브러리, Window 인증 ( Trusted Connection )을 지원한다.  const config = { server: "ETHANGRAM", database: "HRDB2", options: { trustServerCertificate: true, trustedConnection: true, // Windows 인증 활성화 }.. 2025. 4. 10.
리버스 프록시 ** IIS - 기본적으로 마이크로소프트 기술 스택과 웹 어플리케이션을 위한 웹서버이다.- 때문에, Express 같은 Node.js 기반의 어플리케이션은 IIS에 네이티브하게 통합되어있지 않다.     ㄴ 그래서 IIS 앞단에 리버스 프록시 역할을 하는 모듈을 설정하여 들어오는 HTTP 요청을 Express 어플리케이션으로 포워딩해야한다.    ㄴ 이 역할을 통해서 IIS가 클라이언트의 요청을 받아 적절한 백엔드 서버로 전달하고 응답을 다시 클라이언트로 반환할 수 있다.  ** 리버스 프록시 Reverse Proxy- 리버스 프록시는 클라이언트의 요청을 받아서 백엔드 서버로 전달하고, 그 응답을 다시 클라이언트들에게 전달하는 역할을 하는 중간서버입니다.- 일반 프록시 Proxy는 클라이언트가 직접 외부.. 2025. 4. 9.
Fast API는 진짜 빠르고 편할까? Fast api는 1. 일단 파이썬이라서 문법 너무 간단2. 매우 빠르다고 합니다. 알아본 걸로는 node 보다 빠르고 go 와 비슷하다고 합니다. 싱글스레드일텐데 어캐했누..3. 타입 힌팅을 이용해서 자동으로 Api 문서를 생성한다. 4. 라우트 데코레이터를 이용하여 쉽게 Api를 구현할 수 있다.     ㄴ app.get("/item")5. 다양한 데이터베이스와 연동할 수 있다. ( SQLite, SQL Server, Mysql 다 된다 )6. 개발도구로는 인텔리제이의 파이참 추천 ( 대학교 이메일 있으면 무료로 쓸 수 있어요! )  * main.py ( python 3.9 이상 사용 ) - 프로젝트 구조를 다음과 같이 하면 좋음Projectㄴ main.pyㄴ model.pyㄴ database.py .. 2024. 7. 24.