개발 · 프로그래밍

/

백엔드

Backend 멀티쓰레드 이해하고 통찰력 키우기

멀티쓰레드 프로그래밍을 이해하고 다른 프로젝트를 분석할 때 어떻게 이 지식이 도움이 되는지 활용해 봅니다.

(4.9) 수강평 17개

수강생 2,087명

Thumbnail

초급자를 위해 준비한
[백엔드, 개발 · 프로그래밍] 강의입니다.

이런 걸
배워요!

  • CPU, Cache

  • Process와 Thread

  • Multi-Thread Programming

  • C# Multithread Part 일부

  • Mysql, Redis, Kafka 분석능력

‘잘하는 개발자’로 거듭나기 위한 한끗, 
멀티쓰레드 프로그래밍의 모든 것 

주니어 백엔드 개발자, 모두 주목!

🤔

개발 실력이 정체된 것처럼 느껴져요. 혹시 뒤처지는 건 아닐까요?

🥲

비전공자 출신 프로그래머인데, 원리나 기반 지식이 빈약한 것 같아 늘 아쉬워요.

😥

시니어 프로그래머로 성장하기 위해 어떤 걸 더 공부하면 도움이 될까요?

도약을 위한 기틀을 다져보세요
멀티쓰레드 프로그래밍 제대로 이해하기

과거에는 오픈소스 프로젝트들이 잘 관리되지 않거나, 사용상 불편함 또는 오작동이 있었습니다.
그래서 대부분의 시니어 프로그래머들은 캐시 서버나 메시지 브로커 등을 직접 만들어 사용했습니다.

그런데 최근 개발 트렌드는 이러한 것들을 직접 만들기보다, 잘 만들어진 오픈 소스를 사용하는 방식으로 바뀌어가고 있습니다. 직접 서버를 만들고, 멀티쓰레드(Multi-Thread) 프로그래밍을 하지 않게 되면서 잘 만들어진 오픈 소스를 제대로 분석하는 것도 쉽지 않은 일이 되었죠.

대부분의 시니어 프로그래머들은 멀티쓰레드 프로그래밍에 대한 이해도가 높지만, 직접 경험하지 않았던 주니어 개발자 입장에서는 이 간극을 메우기 어렵습니다.
그렇기 때문에 저는 프로그래머로서 성장하는 과정 중 빠지게 된 멀티쓰레드 프로그래밍에 대한 지식을 여러분께 전해드리려 합니다. 


멀티쓰레드를 제대로 이해하면    
이런 점이 도움이 됩니다.

여러분은 세상에 있는 많은 오픈소스 코드를 분석하면서 무엇을 얼마나 얻어가실 수 있나요? 
영어를 잘 모르는 상태라면 영어로 된 영화나 드라마를 본다고 영어 회화 실력이 늘진 않죠. 반면 듣기와 이해가 어느 정도 되는 분들이라면 영화나 드라마만 봐도 실력을 키울 수 있습니다.

백엔드 개발도 마찬가지입니다. 
멀티쓰레드 개념을 이해하고 잘 만들어진 오픈소스를 분석하게 되면, 기존과는 다른 시각으로 ‘음 이렇게 만들어져 있구나’가 아닌 ‘그래서 이렇게 만들었겠구나’ 하는 깊은 통찰력을 키울 수 있습니다.

한 단계 나아간 스스로를 만나보세요.

  • ✅ 멀티쓰레드에 대한 지식이 전혀 없더라도 볼 수 있도록 필요한 정보를 처음부터 알려드립니다.
  • ✅ 소프트웨어 전공 지식이 없어도, 개발 경험이 적어도 누구나 들을 수 있습니다. (한 가지 언어의 아주 기초적인 문법만 알아도 무리가 없습니다: 변수 생성, 분기문, 반복문...)
  • ✅ 그렇다고 강의를 쉽게 하기 위해 필요한 내용을 추상적으로 설명하거나 건너뛰지 않습니다.
  • ✅ 여러분은 이 강의를 통해 멀티쓰레드에 대한 거의 대부분을 확실하게 가져가실 수 있습니다.

배우는 내용

💡 강의 실습 부분은 VSCode와 C#을 사용했습니다. 내가 사용하지 않는 언어라 거리감이 느껴지실 수도 있지만, 코드는 멀티쓰레드 프로그래밍을 소개하기 위한 도구일 뿐 어떤 복잡한 코드도 들어있지 않습니다. 누구나 한 가지 언어의 아주 기초적인 문법(변수 생성, 분기문, 반복문)만 아셔도 강의를 보시는데 문제가 없습니다.
VSCode를 몰라도, C#을 몰라도, 코드를 실행시킬 줄 모르셔도 강의 안에서 다 알려드립니다.

아무것도 모르셔도 됩니다, 다 알려드려요!

기본적인 프로그래밍 언어 문법 정도만 알면 이해할 수 있는 내용! 멀티쓰레드 프로그래밍 실습을 하기 전 기본적인 이론을 배웁니다. (Thread, Process)

멀티쓰레드 제대로 감 잡기

이론만으로 끝나선 안되겠죠? 멀티쓰레드 프로그래밍 코드를 직접 만들어보고 그 특징과 성격을 파악해봅니다. Github Copilot(코파일럿)을 이용해 직접 코딩을 합니다. 이 과정에서 멀티쓰레드가 무엇인지 몸으로 체감할 수 있습니다. 직접 코딩도 함께 하시죠!

심화 수준의 개념까지

멀티쓰레드에 대해 배운 지식으로, 우리의 통찰력은 달라졌습니다. 달라진 통찰력으로 Redis(레디스), MySQL 그리고 Kafka(카프카)를 분석해 봅니다. 그리고 MSA(마이크로서비스 아키텍처) 및 Scale-out까지도 살펴봅시다. 이것으로 세상에 있는 수많은 오픈소스 그리고 아키텍처가 나의 스승이 됩니다.


Q&A 💬

Q. 비전공자도 들을 수 있는 강의인가요?

네, 그렇습니다. 기초적인 수준의 프로그래밍 언어 경험만 있다면 별도의 사전 지식은 필요 없습니다.

Q. 강의를 듣기 전 준비할 게 있을까요?

없습니다. 강의에서 사용하는 C# 코드는 거의 Pseudocode(의사코드)나 다름이 없습니다.

Q. 왜 멀티쓰레드를 배워야 하나요?

잘하는 개발자 중, 멀티쓰레드를 모르는 분들은 거의 없습니다. 
이 강의는 멀티쓰레드에 대한 부족한 이해를 채움으로써 더 나아간 백엔드 개발자로서의 기틀을 마련할 수 있는 것을 목표로 합니다.

📢 수강 전 확인해주세요

  • 강의는 Windows 환경에서 VSCode 및 C#을 사용합니다. macOS 사용자에 대한 별도 설명은 없으나, 실습하시는 환경을 스스로 만드실 수 있을 거라 생각합니다.
  • 유튜브 채널 모꾼TV에서 더 많은 정보를 확인해보세요. (모꾼TV 유튜브 | 모꾼상담소 1:1 카카오톡 오픈채팅방)

모꾼TV의 다른 강의가 궁금하다면?

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 프로그래밍 실력이 정체되어 있는 분

  • 비전공자 출신 프로그래머 분

  • 시니어 프로그래머가 되고 싶은 분

선수 지식,
필요할까요?

  • 프로그래밍 일반 (한 가지 프로그래밍 언어의 기본적인 문법을 경험해 본 정도면 충분합니다.)

안녕하세요~

Game Client, Game Server, Embedded, Blockchain 개발 등등..

다양한 경험이 있는 20년차 서버 프로그래머입니다.

현재 멘티스코에서 서버1팀 팀장으로 재직중입니다.

커리큘럼

전체

21개 ∙ (3시간 28분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!