본문 바로가기
반응형

분류 전체보기166

[ExpressJs] 7장: 실전 프로젝트 - 메모장 API 서버 만들기 7장: 실전 프로젝트 - 메모장 API 서버 만들기지금까지 배운 Express의 모든 개념(라우팅, 미들웨어, 오류 처리 등)을 종합하여 간단한 메모(Memo)에 대한 CRUD(Create, Read, Update, Delete) 기능을 제공하는 REST API 서버를 만들어봅니다. 데이터는 실제 데이터베이스 대신 메모리(배열)에 저장하여 로직에 집중합니다.1. 프로젝트 목표 및 구조기능 요구사항:모든 메모 조회 (GET /memos)특정 ID의 메모 조회 (GET /memos/:id)새 메모 작성 (POST /memos)특정 메모 수정 (PUT /memos/:id)특정 메모 삭제 (DELETE /memos/:id)프로젝트 구조: memo-api-server/ ├── app.js # .. 2025. 9. 22.
[ExpressJs] 6장: 정적 파일 제공과 템플릿 엔진 6장: 정적 파일 제공과 템플릿 엔진지금까지는 res.send()나 res.json()으로 텍스트나 JSON 데이터만 응답했습니다. 이번 장에서는 Express를 사용하여 이미지, CSS, 클라이언트 사이드 JavaScript 파일과 같은 정적 파일(static files)을 제공하는 방법과, 서버의 데이터를 동적으로 HTML에 채워넣는 템플릿 엔진(template engine)의 사용법을 배웁니다.1. 핵심 개념정적 파일(Static Files):서버에서 특별한 처리 없이 내용 그대로 클라이언트에게 제공되는 파일들을 의미합니다. (예: 이미지(.jpg, .png), CSS 스타일시트(.css), 프론트엔드 JavaScript 파일(.js), 폰트 파일 등)Express의 내장 미들웨어인 express... 2025. 9. 22.
[ExpressJs] 5장: 오류 처리 - 예상치 못한 상황에 대비하기 5장: 오류 처리 - 예상치 못한 상황에 대비하기잘 만들어진 애플리케이션이라도 서버 오류, 잘못된 요청 등 예상치 못한 오류는 언제나 발생할 수 있습니다. Express의 오류 처리 미들웨어를 사용하여 이러한 오류들을 중앙에서 효과적으로 관리하고, 사용자에게 적절한 피드백을 주는 방법을 배웁니다.1. 핵심 개념오류 처리 미들웨어 (Error-handling Middleware):다른 미들웨어와 달리 항상 4개의 인자(err, req, res, next)를 가집니다. 이 4개의 인자가 Express에게 일반 미들웨어가 아닌 오류 처리 미들웨어임을 알려주는 신호입니다.이 미들웨어는 다른 모든 app.use() 및 라우트 호출 다음에, 즉 스택의 가장 마지막에 정의해야 합니다.오류 발생 및 전파:동기적인 코드.. 2025. 9. 22.
[ExpressJs] 4장: 라우팅 심화 - 경로를 체계적으로 관리하기 4장: 라우팅 심화 - 경로를 체계적으로 관리하기애플리케이션의 규모가 커지면 모든 라우트를 app.js 파일 하나에 관리하기 어려워집니다. Express의 라우트 파라미터, 쿼리 스트링, 그리고 express.Router를 사용하여 라우트를 동적이고 체계적으로 구성하는 방법을 배웁니다.1. 핵심 개념라우트 파라미터 (Route Parameters):URL 경로의 일부를 변수로 사용하는 기능입니다. 주로 특정 리소스의 고유 ID를 전달할 때 사용됩니다.경로에 콜론(:)을 사용하여 정의합니다. (예: /users/:userId)req.params 객체를 통해 접근할 수 있습니다. (예: req.params.userId)쿼리 스트링 (Query Strings):URL 경로 뒤에 ?로 시작하여 key=value.. 2025. 9. 22.
[ExpressJs] 3장: 미들웨어 - 요청과 응답 사이의 검문소 3장: 미들웨어 - 요청과 응답 사이의 검문소미들웨어(Middleware)는 Express의 심장과도 같은 개념입니다. 요청이 라우트 핸들러에 도달하기 전, 또는 응답이 클라이언트에게 전송되기 전에 실행되는 함수들입니다. 미들웨어를 통해 요청을 검사하거나, 데이터를 추가하거나, 특정 로직을 수행할 수 있습니다.1. 핵심 개념미들웨어 함수: req(요청), res(응답), 그리고 next(다음 미들웨어 함수) 세 개의 인자를 갖는 함수입니다.function(req, res, next) { ... }next() 함수: 현재 미들웨어 함수가 할 일을 마친 후, 그 다음 미들웨어 또는 라우트 핸들러에게 요청의 제어를 넘기는 역할을 합니다. next()를 호출하지 않으면 요청-응답 사이클이 멈추게 되어 클라이언트.. 2025. 9. 22.
[ExpressJs] 2장: 라우팅 기초 - 길을 만들고 안내하기 2장: 라우팅 기초 - 길을 만들고 안내하기라우팅(Routing)은 클라이언트의 요청 URL과 HTTP 메소드(GET, POST 등)에 따라 어떤 로직을 실행할지 결정하는 과정입니다. Express의 핵심 기능인 라우팅을 통해 서버의 각기 다른 "길"(엔드포인트)을 만드는 방법을 배웁니다.1. 핵심 개념라우트(Route): URL 경로(Path), HTTP 메소드(Method), 그리고 핸들러 함수(Handler)의 조합입니다.라우팅의 기본 구조:app.METHOD(PATH, HANDLER)app: express 인스턴스METHOD: HTTP 요청 메소드 (예: get, post, put, delete 등 소문자로 작성)PATH: 서버의 경로 (URL)HANDLER: 라우트가 일치할 때 실행되는 함수. .. 2025. 9. 22.
반응형