강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Back-end

Tạo Node.js server engine – Thiết kế framework học qua việc nhân bản Express.js

Đây là khóa học không chỉ dừng lại ở việc sử dụng Express.js mà còn giúp bạn nắm vững nguyên lý hoạt động thực sự của server bằng cách tự tay triển khai toàn bộ engine nội bộ của nó từ đầu đến cuối. Khóa học mang đến trải nghiệm trở thành nhà phát triển server thông qua việc tự mình xây dựng từ đầu mọi thành phần của Express như router, middleware, đối tượng yêu cầu-phản hồi, xử lý tệp tĩnh và hiển thị template.

(4.0) 1 đánh giá

18 học viên

  • nhcodingstudio
실습 중심
백엔드이해하기
express.js클론
node.js백엔드
웹서버프레임워크구현
JavaScript
Node.js
Express
backend
software-design

Dịch cái này sang tiếng Việt

  • Khi triển khai Express.js, làm thế nào để hiểu từ căn bản các nguyên tắc cốt lõi của kiến trúc máy chủ web.

  • Cách nắm vững hoàn toàn nguyên lý hoạt động thông qua việc tự tay triển khai toàn bộ kiến trúc của Express.js.

  • Cách chuỗi middleware và hàm next() truyền yêu cầu và tiếp tục luồng điều khiển

  • Phân tích cấu trúc về cách các đối tượng yêu cầu (req) và phản hồi (res) thực sự được cấu tạo và truyền tải.

  • Cách triển khai máy chủ file tĩnh an toàn bảo mật

  • Thực hiện logic luồng phân tích trực tiếp thân yêu cầu JSON và URL-Encoded.

  • Cách cấu hình toàn bộ CRUD API bằng cách tự thiết kế bộ định tuyến RESTful.

  • Triển khai cấu trúc tách router thành module và kết nối với ứng dụng chính, tương tự express.Router().

  • Cách kết xuất HTML động bằng cách tích hợp công cụ mẫu EJS

  • Triển khai cấu trúc xử lý an toàn lỗi đồng bộ/bất đồng bộ trong chuỗi middleware.

  • Cách xác minh và kiểm thử tích hợp toàn bộ chức năng máy chủ thông qua script test API tự động

🚀 Từ “Người dùng” đến “Người triển khai” – Tìm hiểu các nguyên tắc cốt lõi của Phát triển máy chủ bằng cách sao chép Express.js

Khóa học này sẽ đưa bạn vào hành trình sao chép công cụ Express.js, nền tảng máy chủ được sử dụng rộng rãi nhất trong hệ sinh thái web, và triển khai hoạt động bên trong của nó.

Tôi nhớ khi lần đầu tiên học Node.jsExpress . Tôi thực sự ấn tượng về việc triển khai định tuyến, phần mềm trung gian, xử lý tệp tĩnh và kết xuất mẫu dễ dàng như thế nào chỉ bằng một dòng phương thức như app.get() hoặc app.use() . Nhưng đến một lúc nào đó, câu hỏi nảy sinh, " Tôi có phải là người có thể tạo ra điều này không, hay tôi chỉ là người sử dụng nó? "

Express là một công cụ rất tiện lợi, nhưng cấu trúc bên trong của nó lại bị ẩn đi nên thường khó hiểu cách thức hoạt động của nó. Khóa học này được tạo ra để giải tỏa cơn khát đó.

Hệ thống định tuyến được thiết kế như thế nào, tại sao phần mềm trung gian được thực thi theo thứ tự, loại MIME của các tệp tĩnh được thiết lập như thế nào? Quá trình tìm câu trả lời cho tất cả những câu hỏi này thông qua việc triển khai và thực hành thực tế là cốt lõi của bài giảng này.

Bằng cách tự mình triển khai Express, bạn sẽ có được hiểu biết cơ bản về phát triển máy chủ , không chỉ dừng lại ở việc biết về Express mà còn cho phép bạn hiểu một cách tự nhiên cấu trúc của các framework khác như Fastify, Flask, Django và Spring Boot .

Hãy bắt đầu quá trình phát triển thành người có thể thiết kế và triển khai cách thức hoạt động của máy chủ , thay vì chỉ biết 'cách sử dụng máy chủ'!

Các tính năng của khóa học này

📌 Một khóa học dựa trên dự án sao chép công cụ triển khai tất cả các cấu trúc cốt lõi của Express.js.

📌 Hình dung và giải thích các nguyên tắc hoạt động theo từng dòng mã mà không cần khái niệm trừu tượng

📌 Triển khai chi tiết xử lý bảo mật và xử lý lỗi có thể sử dụng hiệu quả trong thực tế

📌 Cung cấp đầy đủ tài liệu khóa học và mã kiểm tra để bạn có thể tự học.

📌 Trở thành một nhà phát triển máy chủ biết cách sáng tạo , không chỉ là một nhà phát triển chỉ biết viết

Tôi giới thiệu điều này cho những người này

Bất kỳ ai đã sử dụng Node.js và Express nhưng tò mò về các nguyên tắc bên trong

Điều này phù hợp với những ai muốn hiểu các khái niệm như app.use , app.get , reqres từ góc độ triển khai thay vì cách sử dụng đơn giản.

Các nhà phát triển muốn thiết lập máy chủ trực tiếp mà không cần khuôn khổ

Khóa học này dành cho những người muốn tìm hiểu cách máy chủ thực sự hoạt động bằng cách triển khai bộ định tuyến, phần mềm trung gian, xử lý tệp tĩnh và trình phân tích cú pháp nội dung.

Bất kỳ ai muốn trở thành nhà phát triển máy chủ có tư duy cấu trúc

Điều này hữu ích cho những ai muốn hiểu về mặt cấu trúc toàn bộ luồng xử lý yêu cầu từ yêu cầu → chuỗi phần mềm trung gian → bộ định tuyến → phản hồi.

Đối với những người muốn tiến xa hơn việc chỉ biết cách sử dụng chức năng

Điều này phù hợp với những người muốn hiểu sâu sắc các khái niệm bằng cách tự tạo ra chúng thay vì ghi nhớ và sử dụng các chức năng của Express.js .

Bất kỳ ai muốn tạo cầu nối với nhiều khung máy chủ khác nhau

Lý thuyết bạn học được thông qua Express.js cũng sẽ giúp ích rất nhiều trong việc hiểu các nền tảng web khác như Spring, Flask, Fastify và ASP.NET Core .

Sinh viên chuyên ngành khoa học máy tính và người tìm việc muốn củng cố cả danh mục đầu tư và kỹ năng thực tế của mình

Thích hợp cho bất kỳ ai muốn xây dựng danh mục đầu tư của mình bằng bản sao Express.js tùy chỉnh và xây dựng nền tảng kiến ​​thức vững chắc về máy chủ từ cơ bản đến ứng dụng thực tế .

Sau giờ học

  • Bạn sẽ có được kỹ năng tự thiết kế và triển khai toàn bộ quy trình máy chủ web mà không cần Express.js.

  • Bạn sẽ hiểu rõ hơn về luồng HTTP từ yêu cầu đến phản hồi trong Node.js, theo từng mã.

  • Bạn sẽ học những kiến ​​thức cơ bản về phát triển máy chủ bằng cách triển khai từng chức năng cốt lõi thiết thực, chẳng hạn như định tuyến, nối kết phần mềm trung gian, phân tích yêu cầu và phục vụ tệp tĩnh.

  • Bằng cách hiểu được cách thức hoạt động bên trong của các khung máy chủ, triết lý thiết kế của các khung khác như Fastify, NestJS, Django và Spring Boot có thể được kết nối một cách tự nhiên.


  • Bạn sẽ có khả năng phân chia các chức năng phức tạp thành các đơn vị nhỏ hơn và cấu trúc lại chúng thành các cấu trúc dễ bảo trì.

  • Ngoài Express.js, bạn sẽ có thể hiểu và giải thích cấu trúc về cách một công cụ máy chủ web tiếp nhận yêu cầu và xử lý phản hồi ở cấp độ thiết kế.

  • Bản thân các bài giảng sẽ đóng vai trò như một danh mục đầu tư và bạn có thể nêu trong đơn đăng ký rằng bạn đã đích thân triển khai 'dự án sao chép Express.js'.

Tìm hiểu về những điều này.

Thiết kế hàm createApplication
Chúng tôi thiết kế một cấu trúc bộ điều khiển lõi cấu hình điểm bắt đầu của đối tượng app và bao gồm các chức năng lưu trữ cài đặt, bộ định tuyến và đăng ký phần mềm trung gian. Điều này cho phép một phiên bản ứng dụng duy nhất điều khiển toàn bộ máy chủ.

Triển khai chuỗi phần mềm trung gian

Bạn sẽ trực tiếp triển khai luồng thực thi liên tục của phần mềm trung gian bằng cách sử dụng next() , trực quan hóa cấu trúc mà mỗi phần mềm trung gian chặn và xử lý các yêu cầu, và tiếp thu các khái niệm cơ bản. Nó được thiết kế để giúp bạn hiểu một cách có hệ thống bằng cách so sánh nó với luồng điều trị của bệnh viện.

Triển khai máy chủ tập tin tĩnh

Nó triển khai một máy chủ tĩnh hoàn chỉnh truyền phát các tệp bằng fs.createReadStream() , tự động xác định loại MIME cho Content-Type và bao gồm logic bảo mật để ngăn chặn các cuộc tấn công vượt đường dẫn.

Tạo JSON, URL-Encoded Body Parser

Chúng tôi sẽ triển khai một phần mềm trung gian hoàn chỉnh nhận nội dung yêu cầu HTTP dưới dạng luồng, tích lũy dữ liệu dần dần bằng cách sử dụng data và sự kiện end , sau đó thực hiện phân tích cú pháp JSON hoặc giải mã URL.

Thiết kế bộ định tuyến và xử lý định tuyến động

Bạn sẽ học cách khớp trực tiếp các mẫu URL như GET /users/:id , triển khai logic để đưa các giá trị khớp vào req.params và hiểu đầy đủ luồng thực thi trình xử lý dựa trên đường dẫn, đây là chức năng cốt lõi của bộ định tuyến.

Triển khai phần mềm trung gian xử lý lỗi

Chúng tôi triển khai phần mềm trung gian 4 tham số với function(err, req, res, next) và xây dựng luồng xử lý lỗi chung bằng cách bắt lỗi đồng bộ một cách an toàn với try...catch và lỗi không đồng bộ với Promise.reject() .

Xử lý kết xuất mẫu

Trải nghiệm toàn bộ quy trình kết xuất phía máy chủ từ đầu đến cuối, từ việc triển khai phương thức res.render() trực tiếp bằng cách tích hợp công cụ mẫu EJS cho đến việc tạo HTML động trên máy chủ.

Triển khai hàm express.Router()

Chúng tôi tạo các phiên bản bộ định tuyến phụ thông qua hàm createRouter() và kết nối chúng theo thứ bậc với ứng dụng chính để có thể quản lý chúng theo mô-đun ngay cả trong các cấu trúc API quy mô lớn.

Cải thiện kiến ​​trúc

Chúng tôi triển khai cấu trúc kiến ​​trúc ngăn chặn việc chia sẻ trạng thái toàn cục, ẩn cài đặt và mô-đun nội bộ, đồng thời tăng cường bảo mật bằng cách sử dụng mẫu SingletonIIFE . Chúng tôi cũng cải thiện công cụ để có khả năng bảo trì và mở rộng thực tế thông qua tích hợp phần mềm trung gian và tách biệt cấu trúc.

Tự động hóa thử nghiệm API

Đảm bảo tính ổn định của thử nghiệm bằng cách tạo các tập lệnh thử nghiệm tự động gửi yêu cầu đến máy chủ thực bằng http.request() phân tích nội dung phản hồi và xuất kết quả cùng với mã trạng thái.

Những điều cần lưu ý trước khi tham gia lớp học

Tài liệu học tập

  • Cung cấp tài liệu bao gồm mã nguồn, tập lệnh kiểm tra và mẫu EJS được sử dụng trong tất cả các lớp học

  • Chúng tôi cũng cung cấp mã hướng dẫn từng bước để bạn có thể thực hành cùng với các bài tập.


Kiến thức và ghi chú của người chơi

  • Bạn nên quen thuộc với cú pháp JavaScript cơ bản . Bạn cần hiểu về khai báo biến, định nghĩa hàm, thao tác mảng/đối tượng và xử lý không đồng bộ (Promises, v.v.).

  • Sẽ rất hữu ích nếu bạn có hiểu biết cơ bản về thiết lập môi trường Node.js và hệ thống module (ví dụ: CommonJS). Sẽ dễ dàng hơn nếu bạn biết cách chạy máy chủ cục bộ, requiremodule.exports thực hiện những gì, v.v.

  • Nếu bạn có kinh nghiệm sử dụng Express.js , bạn sẽ hiểu cốt lõi nhanh hơn nhiều. Khóa học này tập trung vào việc triển khai nguyên lý hoạt động trực tiếp thay vì chỉ sử dụng nó.

  • Khóa học này tập trung vào quá trình triển khai từ đầu , thay vì cung cấp mã hoặc gói hoàn chỉnh. Bạn sẽ học cấu trúc và nguyên tắc bằng cách tự viết mã.

  • Chúng tôi khuyên bạn nên tham gia khóa học 'Học Express.js đúng cách: Phần 1 [Cơ bản] từ Cơ bản đến Nâng cao'. Trong khóa học đó, cấu trúc cơ bản và cách sử dụng Express.js được đề cập trước tiên và khóa học này là khóa học nâng cao triển khai cấu trúc bên trong dựa trên cấu trúc đó.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Developer muốn nâng cao hơn mức chỉ dùng Express.js cơ bản.

  • Lập trình viên backend tương lai mong muốn hiểu rõ nguyên lý hoạt động nội bộ của máy chủ.

  • Học viên muốn học hỏi bằng cách tự tay triển khai các khái niệm cấu trúc của web framework.

  • Người chuẩn bị tìm việc đang tìm dự án clone ý nghĩa để đưa vào portfolio.

  • Những nhà phát triển có kinh nghiệm với các framework khác như Django, Flask, Spring Boot, muốn tìm hiểu cấu trúc máy chủ Node.js.

  • Dành cho những ai muốn trở thành lập trình viên có thể giải thích cách thức hoạt động, chứ không phải chỉ biết sử dụng.

  • Lập trình viên frontend muốn hiểu rõ hơn luồng giữa server và client khi làm web.

  • Người nhập môn muốn trải nghiệm cấu trúc backend do chính mình xây dựng, thoát khỏi việc 'lập trình chỉ dùng hàm học thuộc lòng'.

  • Người có nguyện vọng chuyển ngành, dù không chuyên ngành Khoa học máy tính, nhưng mong muốn xây dựng nền tảng vững chắc khi thử sức với phát triển web.

  • Lập trình viên frontend hoặc fullstack mong muốn vận dụng JavaScript chuyên sâu hơn trong thực tế công việc

Cần biết trước khi bắt đầu?

  • Cú pháp JavaScript cơ bản

  • Kinh nghiệm sử dụng Node.js

  • Kinh nghiệm sử dụng Express.js (Tùy chọn)

  • Mạng và Khái niệm HTTP (Tùy chọn)

Xin chào
Đây là

182

Học viên

7

Đánh giá

4.4

Xếp hạng

10

Các khóa học

안녕하세요, 우리동네코딩 스튜디오에 오신 것을 환영합니다!

우리동네코딩 스튜디오는 카네기 멜론, 워싱턴, 토론토, 워터루 등 북미의 주요 대학에서 컴퓨터공학을 전공하고, Google, Microsoft, Meta 등 글로벌 IT 기업에서 실무 경험을 쌓은 개발자들이 함께 만든 교육 그룹입니다.

처음에는 미국과 캐나다의 컴퓨터공학 전공자들끼리 함께 공부하며 성장하고자 만든 스터디 모임에서 시작되었습니다. 각기 다른 대학, 다른 시간대에 있었지만 함께 문제를 해결하고 서로에게 배운 그 시간은 매우 특별했고, 자연스럽게 이런 생각이 들었습니다.

“우리가 공부하던 이 방식, 그대로 다른 사람에게도 전하면 어떨까?”

그 물음이 바로 우리동네코딩 스튜디오의 출발점이었습니다.

현재는 약 30명의 현직 개발자와 컴퓨터공학 전공 대학생들이 각자의 전문 분야를 맡아, 입문부터 실전까지 아우르는 커리큘럼을 직접 설계하고 강의합니다. 단순한 지식 전달을 넘어, 진짜 개발자의 시선으로 배우고 함께 성장할 수 있는 환경을 제공합니다.

“진짜 개발자는, 진짜 개발자에게 배워야 합니다.”

저희는 웹 개발의 전 과정을 처음부터 끝까지 체계적으로 다루되, 이론에 머무르지 않고 실습과 실전 중심의 피드백을 통해 실력을 키워드립니다.
수강생 한 사람, 한 사람의 성장을 함께 고민하고 이끌어가는 것이 우리의 철학입니다.

🎯 우리의 철학은 분명합니다.
"진정한 배움은 실천에서 오고, 성장은 함께할 때 완성된다."

개발을 처음 시작하는 입문자부터, 실무 능력을 키우고 싶은 취업 준비생, 진로를 탐색 중인 청소년까지.
우리동네코딩 스튜디오는 모두의 출발점이자, 함께 걷는 든든한 동반자가 되고자 합니다.

이제, 혼자 고민하지 마세요.
우리동네코딩 스튜디오가 여러분의 성장을 함께하겠습니다.


Welcome to Neighborhood Coding Studio!

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo, and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta.

It all began as a study group formed by computer science students across the U.S. and Canada, created to grow together by sharing knowledge, solving problems, and learning from one another.
Though we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

“What if we shared this way of learning with others?”

That thought became the foundation of Neighborhood Coding Studio.

Today, we are a team of around 30 active developers and computer science students, each taking responsibility for their area of expertise—designing and delivering a curriculum that spans from foundational knowledge to real-world development.
We’re not just here to teach—we’re here to help you see through the lens of real developers and grow together.

“To become a real developer, you must learn from real developers.”

Our courses take you through the entire web development journey—from start to finish—focused on hands-on practice, real-world projects, and practical feedback.
We care deeply about each learner’s growth and are committed to supporting your path every step of the way.

🎯 Our philosophy is simple but powerful:
"True learning comes from doing, and true growth happens together."

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpad—and your trusted companion on the journey.

You don’t have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

Chương trình giảng dạy

Tất cả

53 bài giảng ∙ (5giờ 30phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

1 đánh giá

4.0

1 đánh giá

  • 손정만님의 프로필 이미지
    손정만

    Đánh giá 41

    Đánh giá trung bình 4.6

    4

    100% đã tham gia

    • nhcodingstudio
      Giảng viên

      감사합니다, 손정만님, 소중한 수강평과 좋은 평가 남겨주셔서 진심으로 감사드립니다! 🙏 여러분의 응원 덕분에 강의를 준비하는 큰 힘이 됩니다. 이번 강의를 통해 Express.js의 구조와 서버 엔진 설계 원리를 깊이 이해하셨다면, 앞으로는 백엔드 아키텍처, 데이터베이스, 서버 운영 등 더욱 실무적인 주제와 확장된 컨텐츠로 찾아뵐 수 있도록 계속 준비하겠습니다. 🚀 또한 감사와 응원의 마음을 전하며, 언제든 궁금한 점이 생기시거나 개발 관련해서 도움이 필요하실 때는 아래 오픈채팅방을 자유롭게 이용해 주세요. 함께 공부하시는 분들과도 소통 가능하고, 저도 자주 들러서 고민을 나누고 있습니다! 📮 오픈채팅방: [https://open.kakao.com/o/gC10Fnoh] 개발 여정을 언제나 진심으로 응원드리며, 다음 강의에서도 꼭 다시 뵐 수 있기를 기대합니다! 🌟

1.046.297 ₫

Khóa học khác của nhcodingstudio

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!