Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Node.js 서버 엔진을 처음부터 – Express.js를 직접 클론하며 배우는 프레임워크 설계 입문
Rating: 5.0 out of 5(1 rating)
37 students

Node.js 서버 엔진을 처음부터 – Express.js를 직접 클론하며 배우는 프레임워크 설계 입문

Express.js 엔진을 처음부터 구현하며, 서버 구조와 아키텍처를 직접 설계하고 이해하는 실전형 강의입니다.
Last updated 7/2025
Korean
Korean [Auto],

What you'll learn

  • Express.js 전체 아키텍처를 직접 구현하며 동작 원리를 완벽하게 파악하는 법 – 프레임워크의 핵심 구조를 구성 요소 하나하나 직접 만들어보며 전체 시스템의 작동 방식을 근본적으로 이해합니다.
  • 요청(req)과 응답(res) 객체가 실제로 어떻게 구성되고 전달되는지 구조적으로 분석 – Node.js가 요청과 응답을 어떻게 처리하는지, 각 객체의 내부 구조를 살펴보고 요청 흐름과 응답 처리 과정을 분석합니다.
  • 미들웨어 체인과 next() 함수가 어떻게 요청을 전달하고 제어 흐름을 이어주는지 – 여러 개의 미들웨어가 순차적으로 실행되는 구조와, 그 사이를 연결해주는 next() 함수의 동작 원리를 직접 구현하며 익힙니다.
  • JSON 및 URL-Encoded 요청 본문을 직접 파싱하는 스트림 기반 로직 구현 – body-parser 없이 Node.js 스트림 이벤트(data, end)를 활용해 요청 본문을 직접 수신하고 파싱하는 방법을 구현합니다.
  • 정적 파일 서버를 보안적으로 안전하게 구현하는 방식 – 클라이언트가 요청한 파일 경로를 안전하게 검사하고, 디렉토리 탈출(Path Traversal) 공격을 방지하는 로직을 직접 설계합니다.
  • RESTful 라우터를 직접 설계하여 CRUD API 전체를 구성하는 방법 – GET, POST, PUT, DELETE 메서드를 기반으로 RESTful API를 직접 정의하고 구현합니다.
  • express.Router()처럼 라우터를 모듈로 분리하고 메인 앱과 연결하는 구조 구현 – 라우터를 별도 모듈로 구성해 main 애플리케이션과 결합하고, 코드 유지보수성과 확장성을 높이는 구조를 만듭니다.
  • EJS 템플릿 엔진을 연동하여 동적 HTML을 렌더링하는 법 – 서버에서 데이터를 받아 동적으로 HTML을 생성하고 렌더링하는 과정을 EJS를 통해 구현합니다.
  • 동기/비동기 오류를 미들웨어 체인 안에서 안전하게 처리하는 구조 구현 – try...catch와 async/await 패턴을 통해 모든 예외 상황을 next(err)로 통합하여 안정적인 오류 처리를 설계합니다.
  • 자동 API 테스트 스크립트를 통해 전체 서버 기능을 검증하고 통합 테스트하는 법 – HTTP 요청을 자동으로 보내고 응답 결과를 검증하는 스크립트를 작성해, 서버의 모든 기능을 실전처럼 테스트합니다.
  • Express.js를 구현하며 웹 서버 아키텍처의 핵심 원리를 근본부터 이해하는 방법 – 위 모든 과정을 직접 구현하고 체험하며, 단순히 사용하는 개발자가 아니라 구조를 설계하고 만드는 개발자로 성장합니다.

Course content

7 sections • 53 lectures • 5h 35m total length
  • [MyExpress 프로젝트 시작] – 우리가 직접 만드는 나만의 웹 프레임워크, MyExpress 시작하기4:46

    수업에서 사용한 코드는 최하단의 강의별 코드 & 학습 자료 안내 섹션을 참고해주세요.

  • [요청과 응답 구조 이해] – HTTP의 본질과 우리가 꼭 알아야 할 요청과 응답의 모든 것8:19

    수업에서 사용한 코드는 최하단의 강의별 코드 & 학습 자료 안내 섹션을 참고해주세요.

  • [라우팅 동작 원리] – HTTP 요청 처리와 라우팅 복잡성 해결하기5:44

    수업에서 사용한 코드는 최하단의 강의별 코드 & 학습 자료 안내 섹션을 참고해주세요.

  • [요청 흐름 설계] – 라우터 관리 개선과 요청 처리 흐름 체계화6:21
  • [미들웨어 구조 설계] – 객체를 활용한 라우터 관리와 미들웨어 도입 준비7:25
  • [미들웨어 체인 구현] – 미들웨어 체인 처리 구조 완전 정복7:20
  • [req와 res 조작 실습] – 미들웨어 체인 안에서 요청과 응답 조작하기6:31
  • [에러 핸들링 메커니즘] – 조건부 흐름 제어와 에러 핸들링 미들웨어 완전 정복6:07
  • [정적 파일 서버 만들기] – 정적 파일 제공 기능 구현하기8:36
  • [동적 라우팅 구현] – 동적 라우팅과 URL 파라미터 처리하기13:23
  • [JSON Body 파서 구현] – 요청 본문 데이터 처리: Body Parser 직접 구현하기5:48
  • [URL-Encoded Body 파서 구현] – 폼 데이터 처리와 URL-Encoded Body Parser 구현하기6:54
  • [라우터 모듈화 전략] – 라우터 객체 분리로 코드 구조화하기 (Express.js 방식과 비교)10:43

Requirements

  • JavaScript에 대한 기본적인 이해
  • Node.js 기본 사용 경험
  • Express.js를 사용해본 경험이 있다면 매우 유리합니다
  • '제대로 배우는 Express.js - Part1: 시작하기, 서버 개발의 진짜 기초부터 [기초편]' 강의를 먼저 수강하고 오시면 훨씬 더 탄탄한 흐름으로 이어집니다.

Description

Express.js 엔진 클론으로 배우는 진짜 서버 개발 – 단순한 사용자에서 서버 아키텍처 설계자로 성장하는 여정


이 강의는 Express.js를 단순히 사용하는 단계를 넘어, 실제 서버 엔진의 구조를 처음부터 직접 구현하며 백엔드 아키텍처의 본질을 체득하는 실전형 프로젝트 강의입니다.

app.get(), app.use(), res.json() 같은 익숙한 메서드들. 과연 이 내부에서는 어떤 일이 벌어질까요? 이 강의에서는 MyExpress라는 이름의 Express 클론 엔진을 직접 설계하고 구현하며, 라우팅, 미들웨어 체인, 정적 파일 제공, 본문 파싱, 에러 처리, 템플릿 렌더링 등 Express의 모든 핵심 기능을 하나씩 내 손으로 만들어보게 됩니다.

단순히 작동하는 코드가 아닌, 어떻게 동작하는가, 왜 이런 구조를 쓰는가에 대한 원리까지 깊이 있게 다루며, 서버 구조를 설계할 줄 아는 개발자로 성장하게 됩니다.


이 강의에서 배우는 핵심 기술

  • Express.js 동작 원리 클론: 전체 요청-응답 흐름, 라우터, 미들웨어, 파서 등을 직접 구현

  • req/res 확장 설계: res.send, res.status, res.json 등의 응답 메서드를 직접 정의

  • 미들웨어 체인 설계와 실행: next()를 통한 흐름 제어, 미들웨어 우선순위, 에러 전달 구조 구현

  • 보안이 강화된 정적 파일 처리: MIME 타입 처리, Path Traversal 차단 로직 작성

  • 본문 파서 직접 구현: JSON, URL-Encoded, multipart/form-data 파서를 스트림 기반으로 개발

  • RESTful API 라우팅 설계: 동적 파라미터 파싱, req.params 구조 직접 구현

  • express.Router 클론 구현: 모듈형 라우터 분리 및 계층적 요청 분배 로직 설계

  • 템플릿 렌더링 통합: EJS를 활용한 res.render 구현과 렌더링 파이프라인 연결

  • 동기/비동기 오류 처리: try/catch + async error 핸들러를 통한 오류 흐름 설계

  • API 통합 테스트 작성: http.request 기반 자동 테스트 스크립트 제작과 시각화 출력


수강 추천 대상


  • Express.js를 써봤지만 내부 구조를 완벽히 이해하고 싶은 백엔드 개발자

  • req, res, next의 흐름을 직접 구현하며 백엔드 설계 실력을 키우고 싶은 학습자

  • 게시판 CRUD를 넘어, 서버 구조 전체를 처음부터 만들고 싶은 학생 및 취준생

  • Spring, Django 등을 써봤지만 Node.js의 프레임워크 구조를 이해하고 싶은 풀스택 개발자

  • 모든 서버 기능을 직접 만들며 포트폴리오로 활용할 수 있는 의미 있는 프로젝트를 원하는 분


수강 후 얻게 되는 변화


  • 하나의 완성된 서버 프레임워크 MyExpress.js를 직접 구현한 실전 결과물

  • 서버의 흐름을 처음부터 끝까지 설명할 수 있는 아키텍처 설계 감각

  • 정적 파일, 미들웨어, 라우팅, 파서 등 백엔드 핵심 기능을 모두 직접 만든 경험

  • 프레임워크를 쓸 줄 아는 사람이 아니라 만들 줄 아는 사람으로 성장

  • 실무와 포트폴리오에 모두 활용 가능한 구조적 백엔드 프로젝트 완성


강의 자료 및 지원


  • 강의에 사용된 모든 코드와 실습 자료 100% 제공 (라우터, 미들웨어, 파서, 렌더링 등)

  • 강의마다 단계별 완성 코드 포함 – 직접 따라하며 구조를 체득할 수 있도록 구성

  • 질문 게시판 및 커뮤니티를 통해 직접 질문과 피드백 소통 가능


수강 전 요구 사항


  • JavaScript 기초 문법 이해 (변수, 객체, 함수, 비동기 등)

  • Node.js 기본 사용법 (http 모듈, require 등)

  • Express.js 사용 경험이 있으면 더 빠른 이해 가능


참고 사항

이 강의는 [제대로 배우는 Express.js - Part1: 시작하기, 서버 개발의 진짜 기초부터 [기초편] 강의를 먼저 듣고 오시면 학습 효율이 극대화됩니다. 해당 강의에서 Express의 사용법과 기초 개념을 먼저 익히신 뒤, 본 강의에서는 그 내용을 기반으로 실제 구조를 구현하며 확장하게 됩니다.


단순한 사용자에서, 구조를 설계하고 구현하는 서버 아키텍처 개발자로 성장하고 싶은 분이라면, 지금 이 여정을 함께 시작해보세요. Express.js 클론을 통해, 진짜 서버의 작동 원리를 내 손으로 만들어보는 특별한 경험이 될 것입니다.

Who this course is for:

  • 백엔드 개발 실력을 한 단계 끌어올리고 싶은 개발자 - 이미 게시판 CRUD는 만들 수 있지만, 서버의 내부가 어떻게 돌아가는지는 아직 모호한 분
  • 웹 프레임워크의 동작 원리를 직접 구현해보고 싶은 분 - Fastify, Flask, Spring Boot 등의 구조가 결국 어떤 원리로 구성되는지 깨닫고 싶은 분
  • Express를 그냥 ‘사용만 해본’ 개발자 - app.use()를 왜 쓰는지, 어떤 흐름으로 동작하는지 궁금했던 분
  • 실무에서 서버 유지보수나 확장성 문제를 겪어본 분 - 미들웨어 구조, 라우팅 체계, 에러 핸들링 등 직접 구현하며 서버 설계 역량을 키우고 싶은 분
  • 단순 구현자를 넘어, 웹 서버 아키텍처를 설계할 수 있는 실력을 갖추고 싶은 분: Express.js를 따라 쓰는 수준을 넘어서, 직접 라우터, 미들웨어, 에러 처리 구조까지 설계하고 구현하며 서버 개발의 본질을 체득하고 싶은 분
  • CS와 개발 실력을 동시에 다지고 싶은 전공자 또는 전환 준비자: 이론이 아닌 코드로 구현하며 웹 서버의 핵심 구조를 체득하고 싶은 분