Thumbnail
BEST
개발 · 프로그래밍 백엔드

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI) 대시보드

(4.9)
59개의 수강평 ∙  1,332명의 수강생

46,200원

지식공유자: 윤상석
총 32개 수업 (5시간 40분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.

파이썬에서 동시성 / 병렬성 프로그래밍을 사용하여 데이터를 수집하여 MongoDB에 적재하고 분석하여 모던 웹 프레임워크인 FastAPI를 사용해 수집한 데이터를 시각화한 웹 앱을 개발합니다. 이 과정에서 코루틴, 멀티 스레딩과 멀티 프로세싱을 사용한 파이썬 동시성 / 병렬성 프로그래밍을 배우고 이해하며, 이를 사용하여 파이썬의 성능을 높이는 방법을 이해합니다. 파이썬 동시성 / 병렬성 코드를 실무에 바로 적용할 수 있도록 도와드립니다. 개발만 하고 끝나는 것이 아니라 AWS 클라우드에 실제 앱을 배포하고 운영하는 방법에 대하여 알려드립니다.

✍️
이런 걸
배워요!
동시성 / 병렬성 프로그래밍 코드 설계 원칙
파이썬 코루틴, 비동기 프로그래밍
파이썬 멀티 스레딩, 멀티 프로세싱 기법
프로세스와 스레드 관련 OS 지식
MongoDB를 사용하여 비정형 빅데이터 적재하기
FastAPI를 사용하여 서버 개발, 비동기 게이트웨이 Uvicorn 사용
AWS 클라우드 서버 구축
웹 데이터 크롤링, 시각화

느린 파이썬?
동시성·병렬성 프로그래밍으로 날개를 다세요!

강의를
시작하기 전에

이 강의 목적은 크게 두 가지입니다. 동시성·병렬성·비동기 프로그래밍의 개념을 정확히 이해하는 것과 어떤 상황에서 어느 코드를 사용하는지 알려드리는 것입니다.
강의 후반부에는 동시성 프로그래밍을 통해 실제 프로젝트를 진행하면서 해당 개념을 이론 숙지를 넘어 실제로 실무에서도 사용할 수 있도록 도와드립니다.

동시성·비동기·병렬성 프로그래밍을
파이썬 최신 문법으로

파이썬 버전 3.7 이후 동시성·비동기·병렬성 프로그래밍에 대한 지원이 대폭 늘어났습니다. 이에 대한 수요가 커지면서 동시성·비동기·병렬성 프로그래밍을 지원하는 프레임워크 및 라이브러리도 많이 등장하고 있습니다. 하지만 버전마다 바뀌는 파이썬 문법에 어려움을 겪는 분들이 많습니다. 또 이론으로는 배웠으나 실제로 언제 어떻게 문법을 적용해야 하는지 모르는 분도 많습니다.
이 강좌는 동시성·비동기·병렬성에 대한 개념을 파이썬 최신 문법에 맞추어 실습까지 진행해 바로 적용할 수 있도록 도와드립니다.

동시성과 병렬성을
동시(at the same time)에

이 강의에서는 동시성과 병렬성을 모두 다루고 실제로 적용할 수 있는 방법을 알려드리고 있습니다. 이 때문에 이 강의의 제목인 동시성 프로그래밍은 이중적인 의미가 있습니다. 동시성(Concurrency)과 병렬성(Parallelism)에서의 동시성과 동시에(at the same time)의 의미로서의 동시성입니다. 병렬성을 표현할 때 '동시에' 또는 '한순간에'라고 표현할 때가 많기 때문입니다.

이 강의를
이런 분들께 권하고 싶어요

동시성? 병렬성?
이게 다 뭐야?

동시성과 병렬성이
무엇인지, 왜 필요한지
이해하고 싶다면

최신 파이썬 문법으로
 동시성 프로그래밍

동시성·비동기·병렬성
문법을 최신 버전으로
쓰고 싶다면

파이썬 동시성 문법을
실무에서도

실무에서도 적용할
수 있는 동시성
프로그래밍

백엔드 개발자도
궁금한 FastAPI

비동기 문법을 적극
사용하는 FastAPI을
써보고 싶다면

  • 파이썬 프로그램의 속도를 올리고 싶은 데이터 분석가, 개발자
  • 동시성·비동기·병렬성 문법을 최신 파이썬 문법에 맞추어 배우고 싶은 분
  • 파이썬 동시성·비동기·병렬성 프로그래밍을 실무에서 바로 적용하고 싶은 분
  • 비동기 문법을 적극적으로 사용하는 웹 프레임워크 FastAPI를 배우고 싶은 백엔드 개발자

이 강의는
이런 분들께도 도움 됩니다

  • 파이썬을 배우는 자바스크립트(비동기 프로그래밍 기반 언어) 개발자

파이썬 동시성 프로그래밍 :
데이터 수집부터 웹 개발까지

동시성 프로그래밍

  • 클라이언트와 서버 간 통신
  • 시스템 디스크 파일 읽기/쓰기
  • 데이터베이스 쿼리 작업
  • API 사용

병렬성 프로그래밍

  • 비디오, 오디오 또는 이미지 처리
  • 컴퓨터 비전
  • 머신러닝
  • 딥러닝

이 강의는
이렇게 진행됩니다

파이썬 코루틴과 비동기 함수

기본적인 용어 정리와 파이썬 코루틴에 대해 알아보기

  • 바운드, 블로킹, 동기, 비동기, 서브루틴, 코루틴 등 중요하지만 헷갈리는 용어를 마인드맵과 코드를 통해 설명하며 정리합니다.
  • 코루틴을 사용하여 파이썬에서 기본적인 비동기 프로그래밍을 하는 방법을 소개합니다. 그리고 특정 상황에서 속도 향상을 위해 반드시 비동기 프로그래밍을 사용해야만 하는 이유를 실무 예시(네트워크 I/O, CPU 연산 등)를 통해 코드로 증명합니다.

파이썬 멀티 스레딩과 멀티 프로세싱

멀티 스레드? 멀티 프로세스? 동시성? 병렬성?

  • 섹션 1에서 개발한 코루틴 기반의 프로그램을 멀티 스레드에서 동시성(병행성)을 사용하는 멀티 스레딩 기법을 사용하여 구현합니다. 이를 통해 동기 코드를 asyncio 모듈의 도움 없이 병행 처리하는 방법을 이해합니다. 또한 파이썬 GIL(Global Interpreter Lock)을 통해 파이썬에서 멀티 스레드로 병렬 프로그래밍을 할 수 없는 이유를 사례를 들어 설명합니다.
  • 멀티 프로세싱 기법을 사용하여 병렬 처리를 하는 프로그램을 구현합니다. 이를 통해 파이썬에서 멀티 프로세스를 사용하는 방법에 대해 익히고 파이썬으로 분산 처리를 할 때 어떤 상황에서 어떤 방식으로 코드를 설계하는지 알려드립니다.

동시성 프로그래밍으로 데이터 수집

동시성·비동기 실제로 프로젝트에 응용하기

  • 지금까지 배운 이론을 기반으로 웹 크롤러와 오픈 API를 사용한 데이터 수집기를 개발합니다. 실제 프로그램을 개발하면서 동시성 프로그래밍에 익숙해지는 시간을 가집니다.

실전 프로젝트 : "데이터 수집기 웹 앱" with FastAPI

동시성 프로그래밍으로 MongoDB CRUD, 데이터 시각화 및 웹 개발

  • 지금까지 배운 이론을 기반으로 “데이터 수집기 웹 앱”을 개발합니다. 해당 프로젝트는 동시성 프로그래밍을 사용하여 웹에서 크롤링하고 수집한 데이터를 MongoDB에 저장합니다. MongoDB를 FastAPI와 연결하여 저장된 데이터를 적절하게 분석하여 시각화한 웹 앱을 개발합니다. 이 프로젝트를 통해 비동기·동시성 프로그래밍이 실무에서 사용되는 경우를 이해하고 적용할 수 있습니다.

AWS 클라우드 컴퓨팅으로 프로젝트 배포하기

프로젝트는 단순 개발에서 끝나지 않습니다. AWS 클라우드 컴퓨팅 기술을 사용하여 서버에 웹 앱을 배포하는 방법도 알려드립니다.

보너스 강의

질문을 통해 업데이트되는 강의

  • 이 강의에서 필요한 파이썬 문법 강의가 지속적으로 업로드됩니다.
  • 중요한 질문은 보너스 강의에 지속적으로 답변하여 업로드합니다.

강의 예상 질문
Q&A

Q. 파이썬 선수 지식은 어느 정도로 필요한가요?

이 강의를 수강하기 위해 필요한 파이썬 선수지식은 기본적인 변수, 조건문, 반복문, 함수, 클래스 문법입니다. 강의를 진행하면서 만나게 되는 난이도 있는 문법들은 따로 상시 업로드되는 보충 강의를 통해 배울 수 있습니다.

Q. 수강 관련 참고 사항(갖춰야 할 환경, 기타 유의사항 등)이 있나요?

파이썬 버전은 3.7 이상인 환경에서 진행됩니다


지식공유자가
전하고 싶은 말

강의는 앞으로도
계속 업데이트됩니다

기술은 계속 변화합니다. 과거에 작성했던 코드를 현재에서도 고칠 것이 없다면, 그동안 배운 것이 없다는 말이 있습니다. Python 버전이 업그레이드되면 더 좋은 기술을 익히실 수 있도록 업그레이드된 버전에 맞추어 강의를 업데이트하겠습니다.

질문은
언제나 환영입니다

강의를 수강하시면서 이해가 안 되거나 추가적인 설명이 필요한 부분은 언제든지 논리적으로 사례와 함께 답변을 드립니다. 수강생분들의 질문을 기다립니다!

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
동시성 프로그래밍으로 파이썬 프로그램의 속도를 올리고 싶은 분
파이썬 동시성 프로그래밍을 실무에서 바로 사용하고 싶은 분
MongoDB에 데이터를 적재하고 관리하고 싶은 분
FastAPI를 도입하고 싶은 스타트업 백엔드 개발자
동시성 프로그래밍으로 효율적으로 크롤링하고 싶은 분
개발을 넘어 실제로 웹 앱을 배포하고 운영하고 싶은 분
📚
선수 지식,
필요할까요?
Python 기본 지식 (변수, 조건문, 반복문, 함수 등)

안녕하세요
윤상석 입니다.
윤상석의 썸네일

안녕하세요.  IT 지식 크리에이터, 윤상석입니다. 🎩 
더 유익하고 본질적인 지식 콘텐츠로 많은 가치를 드릴 수 있도록 노력하겠습니다.

- (주)하이퍼이지 대표이사
- (사)한국정보통신네트워크협회 AI분과기술위원
- (주)블루밴드 기술이사
- 前 (주)마로마브 웹 개발자
- 前 소프트웨어 엔지니어 기술 용역 (카카오, 포스코DX, )
- 前 소프트웨어 공학 온/오프라인 교육 다수 (스타트업, GS리테일, 삼성 등)

문의사항, 추가질문, 집필, 강의제안 ==> EndUpFree@gmail.com

커리큘럼 총 32 개 ˙ 5시간 40분의 수업
이 강의는 영상, 수업 노트가 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 🔥 첫 시작
강좌 및 섹션 소개 (필수!) 미리보기 06:05
강의 수강 방법 (필수!) 03:41
Python, PIP와 VSCode 설치 | 가상환경 설정 12:38
Linter와 Formatter를 사용하여 생산성을 높이는 개발환경 구축 08:46
Python의 패키지 매니저 PIP 명령어 정리와 사용 07:28
섹션 1. ⛓ 파이썬 코루틴과 비동기 함수
I/O 바운드 & CPU 바운드, 블로킹 10:47
동기 vs 비동기 13:52
파이썬 코루틴의 이해 14:09
파이썬 코루틴 활용 14:43
섹션 2. 🛸 파이썬 멀티 스레딩과 멀티 프로세싱
컴퓨터 구조와 운영체제 기본 09:34
동시성 vs 병렬성 11:48
파이썬 멀티 스레딩 12:07
파이썬 멀티 프로세싱, GIL 12:25
섹션 3. 🛸 동시성 프로그래밍으로 데이터 수집
서버와 클라이언트, HTTP, API 이해 07:27
웹 크롤링, 스크래핑과 법적 주의사항 08:24
동시성 프로그래밍으로 웹 크롤링, 스크래핑 성능 극대화 10:18
포스트맨 셋업, 네이버, 카카오 오픈 API 사용하기 11:38
오픈 API를 활용한 이미지 데이터 수집 09:34
동시성 프로그래밍으로 이미지 다운로더 개발 (feat. aiofiles) 13:02
섹션 4. 📁 빅데이터 관리의 핵심 기술 MongoDB 구축
MongoDB Atlas 클라우드 구축 02:47
MongoDB 접근 권한 설정 & Compass 셋업 03:25
MongoDB CRUD 05:17
섹션 5. 🔮 실전 프로젝트 : "콜렉터스 북북이" (FastAPI)
프로젝트 소개 미리보기 02:45
비동기 게이트웨이 ASGI, Uvicorn 04:51
FastAPI Tutorial : Hello FastAPI! 16:06
FastAPI Tutorial : Jinja 템플릿 엔진 09:32
템플릿 추가 설명, 프로젝트 셋업 14:22
FastAPI + MongoDB : MongoDB ODM 셋업 22:09
책 데이터 수집 클래스 개발 16:41
서비스 로직 개발 미리보기 11:42
프로젝트 마무리 14:29
섹션 6. 🚀 AWS 클라우드 컴퓨팅으로 프로젝트 배포하기 (부록)
AWS에 프로젝트 배포하기 (마지막 강의) 17:59
강의 게시일 : 2021년 10월 29일 (마지막 업데이트일 : 2021년 10월 24일)
수강평 총 59개
수강생분들이 직접 작성하신 수강평입니다.
4.9
59개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
iambyunghyun thumbnail
5
최고의 명강의중의 명강의입니다. 우선 저는 fast api를 활용해보고 싶어서 오게되었는데 비동기식 프로그래밍도 배우면서 역시 전 아직 많이 부족한 인간 이였구나를 느꼈습니다. 하지만 강사님께서 정말 자세히 그리고 알기쉽게 이해하기 쉽게 설명 잘해주셔서 너무너무 만족스런 강의였습니다. 저는 과장 조금 보태서 10만원이 넘어도 결재하고 들을거같아요... 이 강의는 back-end부터 front-end까지 그리고 서버 배포까지 내용이 들어가있습니다. 이강의를 듣고나시면 Spring framework처럼 어려운거 하기전에 미리 비슷한 경험을 쌓아서 시야를 확장시킬수도 있을것 같구요 서버배포를 한번도 안해보신분들게 좋은 스펙이 될 것 같습니다. 강사님께서 알려주신 내용들 열심히 복습하고 또 프로젝트로 발전시켜서 제 지식으로 만들도록 하겠습니다 다시한번 감사드립니다 ㅎㅎㅎ 다음번에는 Spring Framework강의도 부탁드려도될까요.. ㅠㅠ 진짜 너무 잘가르치세요 감사합니다!!
2022-03-09
지식공유자 윤상석
좋은 수강평 감사드립니다. 뿌듯하네요 :) 스프링의 경우 당장은 계획에 없지만 꼭 기억하겠습니다! 이런 수강평 덕분에 다음 강의를 준비할 힘을 얻습니다.
2022-03-12
쿠카이든 thumbnail
5
FastAPI 및 동시성 프로그램에 대해서 잘알려주셔서 감사합니다~!
2022-04-14
진지충 thumbnail
5
파이썬 문법에 익숙하고, 어느정도 파이썬을 사용해보신 분들에게 추천하고 싶습니다. 비동기 방식을 대충 눈으로만 이해했지, 머리로 제대로 이해하고 써본 적은 없었습니다. 실제로 비동기 방식을 이용해 어떤 동작을 구현하는 것이 신선하게 다가오기도 하고 재미있었습니다. 강의도 핵심 부분만 가르치시는게 아니라 기승전결(?)의 느낌으로 강의 핵심내용을 설명하기에 앞서 필요한 내용들을 먼저 설명해주시는 것이 좋았습니다.(동시성과 병렬성을 설명하기 앞서 CPU, 프로세스, 스레드 같은 기본 개념을 설명) 이게 기본적인거 같아도 잘 지키지 못하는 강의들이 많더라구요.. 앞으로 Python이나 Python 프레임워크 강의를 올려주신다면 모두 들어보고 싶습니다. 좋은 강의 감사합니다.
2022-01-09
지식공유자 윤상석
너무 뿌듯하네요 ㅎㅎ 감사합니다! 더 좋은 강의를 탄탄하게 기획해보겠습니다.
2022-03-12
isghtp thumbnail
5
정말 알차고 완성도 높은 강의였던 것 같습니다. 다양한 인강을 들어보았지만 이 강의는 많은 부분에서 정말 신선했습니다. 강의를 알게 된 것은 FastAPI에 관심이 생겨 무작정 찾아보던 것이 계기였고...정작 이 강의를 듣고 중요한 것은 프레임워크를 획일적으로 익히는게 아니라 그 프레임워크 기저의 async개념이었단 것을 깨달았습니다. FastAPI를 빠르게 맛볼 수 있어서 한 번, 그 기저의 중요한 개념을 알게되어 또 다시 한 번, 앞으로 혼자서 어떻게 공부를 해야할지 방향에 대한 감을 잡게되어서 또 다시 한 번...총 세번 감동했습니다.ㅠㅠ 현재 강사님의 OOP 강의도 듣고 있는데요, 공통적으로 1. 업계에서 트렌디하고 중요한 개념, 프레임워크 위주 선택, 2. 그 개념(주제)을 한 강의 단위로 끊는 방식(+각 강의 상호 독립적), 3. 핵심만 빠르게 이해하고 응용할 수 있도록 하는 방식(이것이 진정한 마이크로 러닝?), 4. 지루하지 않은 적당히 빠른 호흡의 진행, 5. 헤매는 사람이 없도록 틈틈이 친절한 설명, 6. 적절한 강의 길이(같은 지식을 전달한다면 그에 걸리는 시간이 짧을 수록 좋다고 생각합니다) 7. 재미있는 실습콘텐츠 구성 등의 요소들이 정말 좋았습니다. 너무 만족하는 강의였고 앞으로도 계속 좋은 강의 (빨리)(많이) 만들어주세요! :D 감사합니다! 수고하셨습니다~
2022-02-26
지식공유자 윤상석
자세한 수강평 너무 감사드립니다!! 완강 축하드립니다! :) 후속 강의 제작중입니다. 더 좋은 강의로 보답하겠습니다. ✨
2022-03-12
듀크조던 thumbnail
5
최고입니다 최고!!! 울며 겨자먹기로 크롤링을 해본 후 속도가 너무 안 나와서 해결 방법을 생각하며, 파이썬에 대한 이해도도 좀 더 높이고 싶어 고민하던 차에 우연히 인프런과 이 강의를 알게 되었습니다. 부록이긴 하지만 AWS를 실사용하는 것을 볼 수 있어서 저에게 저어어엉말 필요했던 커리큘럼이었습니다. (파이썬, 백엔드, AWS를 집중적으로 공부하고 있습니다.) 기본적인 원리에 대한 설명도 간결하게 해주셔서 정말 큰 지식을 얻어갑니다. 클라스와 객체지향에 대한 강의도 구매했습니당!! 강의 계속 돌려보며 열심히 제것으로 만들어보겠습니다. 앞으로도 좋은 콘텐츠 많이 많이 부탁 드립니다!!
2022-01-07
지식공유자 윤상석
도움이 되셔서 정말 기분이 좋습니다! 감사합니다!
2022-03-12