
Memorize and finish the core network theory - Basics
nullnull8537
From TCP/IP to HTTP! This lecture is for those who lack basic network theory and want to understand major theories by memorizing them. You can do it!
입문
Network, Protocol
윈도우 계열 프로그래머가 될 생각이 있는 사람이라면 누구나 들어야 할 필수 강의! C/C+, 자료구조, 운영체제 이론까지 공부했나요? 그렇다면 이제는 시스템 프로그램 공부가 정답입니다. 이제부터는 실전입니다!

윈도우 시스템 보안체계에 관한 이론
멀티스레드 프로그래밍과 동기화 기법
동기/비동기 파일 입/출력 기법
가상 메모리 시스템과 메모리 운용 기법
프로세스 관리와 공유 메모리 기반 IPC 기법
DLL 라이브러리 제작 및 활용
시스템 프로그래밍 기본 중의 기본,
핵심을 제대로 잡아드립니다!
시스템 프로그래밍의 바이블이라고 알려져 있지만 쉽게 이해하기 어려운 책 『Windows Via C/C++ 5th edition』을 이해할 수 있습니다!
게임을 비롯해 윈도우 분야 응용 프로그램 개발자를 희망하는 분들이라면 C/C++, 자료구조를 배웁니다. 그리고 CS 이론도 어느 정도 공부합니다. 그러나 그것만으로는 무엇인가 부족하다는 것을 스스로 느낍니다. 전문 개발자가 되기 위해 반드시 알아야 할 프로그래밍 스킬에 시스템 프로그래밍이 있다는 사실을 알고 있지만, 막상 책을 펼치는 순간 쉽지 않은 길이며 독학은 어렵겠다는 판단을 하게 됩니다.
해결 방법은 간단합니다! 높은 수준의 이해가 사실은 사소한 암기에서 출발하듯 시스템 프로그래밍의 가장 기초가 되는 핵심 이론과 예제를 완벽하게 내 것으로 만드는 것입니다.
C/C++ 기반 윈도우 응용 프로그램을 개발해야 하는 모든 분
구형 기술인 MFC나 Win32 API 기반의 응용 프로그램 개발자
게임 서버 프로그래머를 지망하는 분
운영체제에 대한 이론을 코드 수준에서 경험하고 싶은 시스템 프로그래밍 학습자
시스템 프로그래밍에 관한 핵심 이론을 쉽게 설명했습니다! CS 이론의 핵심은 운영체제와 컴퓨터 구조라 해도 과언이 아닙니다. C/C++같은 네이티브 언어가 어려운 이유는 CS 이론에 대한 일정 수준의 이해를 필요로 하기 때문입니다. 이 강의가 CS 이론의 정점을 향해 가기 위해 반드시 알고 있어야 할 핵심 시스템 이론들을 프로그래밍으로 경험하게 해주는 중추적인 역할을 해드릴 것입니다.
배워야 할 이론을 최대한 압축해 핵심만 담았습니다!
바이블급 서적으로 공부하는 것은 좋은 선택이지만 입문자에게는 결코 쉽지 않습니다. 아무리 좋은 내용이라 하더라도 이해하기가 어렵기 때문입니다. 이 강의는 어려운 이론들에 보다 쉽게 다가갈 수 있도록 길을 열어 드리고자 기획되었습니다.
Q. 윈도우 응용 프로그램 개발자가 되려면 시스템 프로그래밍을 반드시 배워야 하나요?
네, 반드시 배워야 합니다. 단순히 GUI만 개발한다고 하더라도 결국 시스템 프로그래밍에서 다루는 대부분의 이론들을 제대로 알고 있어야 문제 해결이 가능한 경우가 많기 때문입니다.
Q. 게임 개발자를 희망하는 취준생입니다. 이 강의가 도움이 될까요?
게임 개발자라면 시스템 프로그래밍은 선택이 아니라 필수입니다. 이 강의에서 언급하는 수준은 완벽히 알아야 합니다. 그리고 더 어려운 이론들도 공부해야 합니다. 그러나 이 강의를 제대로 끝낸 후에는 스스로 관련 자료를 보더라도 어떤 의미인지 스스로 이해할 수 있는 단계에 도달할 수 있을 것입니다.
Q. 보안 소프트웨어 개발자가 되려면 이 강의를 들어야 하나요?
만일 V3같은 소프트웨어를 개발하고 싶다면 시스템 프로그래밍 이론은 필수적입니다. 커널 드라이버 개발자로 넘어가기에 앞서 시스템 프로그래밍은 반드시 알아야 하며 리버싱을 비롯해 각종 공격/방어 기법을 배우려면 시스템 프로그래밍 이론을 모르고는 시도조차 하기 어렵습니다.
Q. C언어, 자료구조 정도만 공부했습니다. 그래도 이 강의를 들을 수 있나요?
네, 들을 수 있습니다. 그러나 운영체제 공부를 하지 않았다면 내용이 다소 어려울 수 있습니다. 그리고 C언어를 공부했다 하더라도 다음의 내용을 꼭 알고 있어야 합니다.
💾 수강 전 확인해주세요.
학습 대상은
누구일까요?
윈도우 시스템 제어 소프트웨어 개발을 희망하시는 분
보안 소프트웨어나 게임서버 개발을 희망하는 분
C/C++ 윈도우 기반 응용 프로그램을 개발해야 하는 모든 분들
선수 지식,
필요할까요?
독하게 되새기는 C 프로그래밍
자료구조에 대한 이해
가상 메모리에 관한 운영체제 지식
윈도우 환경에서의 개발 도구 사용 경험 (cf. VSCode)
45,712
명
수강생
2,556
개
수강평
1,144
개
답변
4.9
점
강의 평점
25
개
강의
전체
40개 ∙ (11시간 10분)
해당 강의에서 제공:
1. 알고 있다고 가정하는 것들
09:24
2. 핵심주제와 범위
15:01
3. 개발환경 구축 및 개인적인 당부
11:11
9. 스레드에 대한 기본 이론
22:42
10. 스레드 생성 및 종료 대기
19:40
12. 스레드 제어 및 상태전환
22:09
13. Sleep() 함수
20:09
전체
39개
4.9
39개의 수강평
수강평 2
∙
평균 평점 5.0
수강평 3
∙
평균 평점 5.0
수강평 3
∙
평균 평점 5.0
수강평 113
∙
평균 평점 5.0
5
(25/07/26/Sat 09:41) With so much content in the lecture, I am receiving tremendous help. It makes me think that synchronization is important. I think it's great that you share your experienced content in the precautions during the lecture. Thank you for creating such a good lecture.
You're running at an absolutely incredible pace. It's actually getting a little scary now. Anyway, I'm cheering for this momentum. :)
수강평 6
∙
평균 평점 5.0
수정됨
5
This was a process that provided foundational study on multithreaded environments and helped me understand why we learn input/output functions and function pointers in the C language. ====== This time, studying system programming gave me an opportunity to review C language input and output. (I had looked at it about twice before, but since there was no situation where I needed to use it, I quickly passed over it.) The most difficult part was the WIN32 file input/output section. Before that, I had familiarized myself with CS fundamentals and OS operating system parts, so I had no difficulty adapting, but I had never seen that particular part before, so I didn't understand what it was saying... I didn't know how to write the examples, but after reviewing it 3-4 times and taking a day's rest, strangely the content seemed simple and I understood it. Of course, studying why data types and functions are called and used with the help of Copilot and GPT was a bonus. === After going through the above process, I'm planning to move on to socket programming - network programming learning. I happened to see content saying it would be good if I could practice with 4 computers since there are many computers at the academy(?), so I think it's perfect for studying. === Lastly, I'm writing about the situations I'm currently experiencing, thinking it might help those who are going through mental difficulties. (Currently in my 3rd month of backend study targeting Java Spring (looking at a minimum of 1.5 years)) Currently, I'm working 7 days a week from Monday to Sunday. (Monday-Saturday: 6:30 AM - 10:30 PM / Sunday: 7:00 AM - 10:00 PM including commute time) --- From last week to this week, I've been really worried about money. The money I earn working from Monday to Sunday is 160, but if I give up studying and work longer hours, I could earn 260 to 430. So I had the impulsive thought that it might be better to work intensively and earn money. The cause of that impulse was that currently, with AI, the IT industry standards themselves have been leveled up, and what I'm aiming for is server development - can't GPT and AIs that learn from Google developers' code reviews keep up with that? I don't know the path ahead, so wouldn't it be better to frantically earn money... Can I really do better than AI once I pass in this industry and build experience? I severely suffered from depression due to such anxiety and worries. Currently, I rested well for about 3 days until yesterday and organized my thoughts. There's no right answer, and since the studying I'm doing now is fun, let's go with this! Since I don't know how the situation will turn out later, let's save money as much as possible! I brushed it off in that direction and am studying again. They say anxiety is excessive worry for my future self to do better / and helplessness is a signal to recharge emotional energy. Everyone must be having a hard time, but fighting!
Thank you for the feedback that truly reveals the worries of an individual living through a challenging era of great transformation. As a middle-aged head of a family facing similar concerns myself, I can relate even more. Money...it's truly important. A celebrity once said, "People may go, but money stays..." In a capitalist society, pursuing one's own interests is perfectly natural. Learning is also one of the great ways to gain competitiveness. I hope you build your skills like that and earn lots and lots of money, and I'll be cheering you on. You'll do great. Thank you. :)
₩110,000