【한글자막】 백엔드 엔지니어링 (Backend Engineering) 마스터하기! (중/고급자 과정) (Udemy.com)
백엔드 통신 디자인 패턴, 프로토콜, 실행 및 프록시에 대해 학습합니다. 이 강의 수강을 위해서는 백엔드 애플리케이션을 구축한 경험과 1~2년 정도의 중급 프로그래밍 기술이 필요합니다.
Created by: Hussein Nasser
Last updated August 2024
What you will learn
- 백엔드 엔지니어링의 기초
- 백엔드 통신 디자인 패턴
- 백엔드 통신 프로토콜의 작동에 대한 이해
- 운영 체제 커널과 백엔드 응용 프로그램의 통신에 대한 이해
- 운영 체제 기본 개념 (스레드, 프로세스, 리눅스에서의 비동기 입출력)
- HTTP/1.1, HTTP/2, HTTP/3 학습
- gRPC, WebRTC, WebSockets 학습
- TLS 1.2, TLS 1.3, QUIC 0RTT 학습
How it compares
Against the other 518 rated Udemy courses in Software Development on CourseDuck:
- Rating4.7 out of 5higher than 79% of them
- Reviews177#359 of 519 by number of reviews
- Length17.1 hourslonger than 83% of them
- Last updatedAugust 2024earlier than 67% of them
Course Description
백엔드 엔지니어링 은 예술입니다.
저는 18년의 경력 동안 백엔드 애플리케이션을 다루고 구축하면서 특정 통신 디자인 패턴이 계속 나타나는 것을 발견했습니다. 클라이언트가 백엔드 애플리케이션과 통신하는 방법은 많지 않습니다. 더 있을 수도 있겠지만 이 강의에서 다루는 패턴들이 가장 많이 쓰이는 방법들입니다. 이러한 패턴의 예시로는 요청-응답, 게시-구독, 단기 및 장기, 그리고 푸시가 있습니다.
이러한 통신 디자인 패턴을 기반으로, 엔지니어들은 구체적인 통신을 위해 여러 프로토콜을 사용할 수 있습니다.
핵심 전송 수단은 TCP 또는 UDP 중 하나로 제한되지만, 이 둘을 기반으로 한 수많은 산업별 프로토콜이 특정 문제들과 사용 사례들을 해결하기 위해 개발되었습니다. 이러한 고수준 프로토콜의 예로는 HTTP/1.1 , HTTP/2 , HTTP/3 , gRPC, WebRTC 등이 있습니다. QUIC 와 같은 다른 전송 프로토콜은 HTTP/2 스트리밍을 전송 수준에서 구현하기 위해 UDP 위에 구축되었습니다. 각 프로토콜은 장단점이 있어서 각각 적합한 사용 사례들이 있습니다. 이 강의에서는 가장 많이 쓰이는 프로토콜들을 배우고 가능하다면 예시와 데모를 제공할 것입니다.
클라이언트가 요청을 보내기 전에, 백엔드로의 연결을 구축해야 합니다.
이 연결이 어떻게 구축되는지, 연결 구축의 어떤 부분이 커널에서 이루어지고 어떤 부분이 백엔드 애플리케이션 프로세스에서 이루어지는지를 이해하는 것이 중요합니다. 그런 다음 연결이 백엔드 애플리케이션에 의해 어떻게 수락되며, 어떻게 백엔드 애플리케이션이 최대한 빠르게 연결을 수락하여 커널 대기열이 가득 차지 않도록 하는지에 대한 이해도가 필요합니다. 그렇지 않으면 클라이언트들은 더 이상 연결할 수 없게 됩니다.
연결이 구축되면 클라이언트가 요청을 보냅니다.
그러나 백엔드 애플리케이션에서는 그 요청을 읽기 위해 정확히 어떤 일이 일어나는 걸까요? 요청이란 정확히 무엇일까요? 프로토콜에 기반한 요청을 파싱하는 비용을 이해하는 것은 엔지니어가 수행된 작업을 제대로 인식할 수 있게 하고 성능 문제나 버그를 해결하는 데 더 나은 도구를 제공합니다.
요청이 백엔드에 도달하면 애플리케이션은 해당 요청을 실행해야 합니다.
백엔드는 실행 방식을 선택할 때 다양한 디자인 선택지들이 있습니다. 올바른 실행 패턴을 선택하기 위해서는 프로세스와 스레드의 차이, 다중 프로세스 및 다중 스레드, 그리고 CPU 코어 또는 하드웨어 스레드 수와의 관련성을 이해하는 것이 매우 중요합니다. 이런 패턴들에 종속될 필요는 없고 자신의 필요에 맞는 새로운 패턴을 만들어 쓰면 됩니다.
이 강의는 백엔드 애플리케이션을 구축해 본 엔지니어들을 대상으로 설계되었습니다.
중급에서 고급 수준의 강의이라서 프로그래밍 및 네트워크에 관련된 특정한 지식들이 필요합니다. 네트워크 관련 기술이 없으시다면 이 강의를 보기 이전에 네트워크 엔지니어링 에 대한 강의를 수강하여 기초를 다지시기를 권장합니다.
이 강의를 듣기로 결정해주셔서 감사드리고, 즐거운 학습 되시기를 희망합니다.
Instructor Details
- 4.7 Rating
177 Reviews
Hussein Nasser
Early in my career 20 years ago I built database applications without fully grasping their inner mechanics. Facing performance issues, racing conditions bug and even corruption often left me helpless.
I resolved to truly understand the workings of database systems, ensuring I knew every query from my app and its execution in the db and what I choose to make as a transaction and what I make into an atomic query.
From that day I have fascinated by pursuing deep understanding of what is happening behind the scenes in software. If you follow me here you would see deep dive posts about backend, databases and operating systems.
If you enjoy pursing the internals, I think you may like my courses.
More courses by Hussein Nasser
Realtime Backend System Design with WebSockets (2025)
4.2 (190 Reviews)
Provider: Udemy
Time: 11.5h
$19.99
More Software Development courses
【한글자막】 Linux Command Line 부트캠프: 리눅스 초보자부터 고수까지 (2024)
4.8 (551 Reviews)
Provider: Udemy
Time: 15.8h
$74.99
Reviews
By 김동현 on 1/31/2025
Truely what wanted to know so far. I can't wait to learn all the things you provide
By Wonseok Kong on 1/9/2025
강의 개요까지 들어봤고 자막에 분명 기술적인 용어가 맞지 않는 부분이 존재함. (Nginx 를 Engine X 라고 기재되었다던가...) 그러나 강사가 알려줄 내용 자체는 흥미롭고 유익할것으로 기대됨.
By Jaehyeon Park on 12/29/2024
백엔드 개발자로서 많은 부분에 눈이 트일 수 있게 되었습니다. 프로토콜 쪽에서 일부 한글 번역에 문제가 있지만 너무나도 유익해서 5점 입니다.
By Hansol Ryu on 8/13/2024
딱 나를 위한 강의다. 백엔드 개념을 안다고 하지만, 아직 별로인 상태. 그러나 중고급 이상이 되고 싶어 발버둥친다면 그 시작으로 이걸 들으면 좋지 않을까?
By 이리희 on 5/18/2024
제가 업무를 수행하면서 정리했던 내용들 뿐만 아니라, 생각하지도 못했던 연관 관계들을 좀 더 상세하게 나타내고 있습니다. 조금 더 일찍 이 내용에 대해서 알고 있었더라면 하는 생각이 있습니다. 1~2년 경력을 쌓은 분이거나, 전체적인 백엔드 프로토콜과 대략적인 네트워크 관련 지식, 그리고 분산이 아닌 복잡한 3tier 아키텍쳐의 서버 구성에서의 네트워크 관련에 대한 심화적인 내용이 필요하시다면 이 강의를 보는것을 추천드립니다.
By Mintae Lee on 4/3/2024
화면에 코드나 실제 실행 영상 자료와 함께 설명하는 부분이 많았으면 좋겠어요. 자료 화면에 슬라이드 정도의 텍스트만 있으면 이해하기 어렵고 집중이 안되요.
By 조태형 on 3/24/2024
강의를 수강하기 전 어떤 부분에 대해서 공부할지 알려주고 기대감을 갖게 함.
By Anonymized User on 1/15/2024
내용이 아주 알차고 좋습니다. 소개에서 말씀해주신 것처럼 개념들이 명확해집니다. 또한 선생님이 자부심과 열정 있으셔서 개발 뽕 찹니다. 그런데 번역 자막은 진짜 별로입니다. 의미가 반대로 번역된 경우도 많고 가독성도 안 좋습니다. 그냥 끄고 듣는걸 추천합니다.
By Sangin.Lee on 12/19/2023
강의 매우 만족합니다. 백엔드 관련해서 중요한 내용은 다 들어가 있는 것 같아요. 강사님 정리도 잘 해주시고 이 가격에 이 내용은 무조건 추천합니다.
By 최선민 on 12/19/2023
백엔드 개발자는 꼭 들으시고 프론트엔드, 풀스택 모두 추천합니다. 설명 너무 잘해주시고 좋아요.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100












