강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Python Concurrent Programming: From Data Collection to Web Development (feat. FastAPI, async, await)

We will develop a web app that collects data using concurrent/parallel programming in Python, loads it into MongoDB, analyzes it, and visualizes the collected data using FastAPI, a modern web framework. In the process, you will learn and understand Python concurrent/parallel programming using coroutines, multi-threading, and multi-processing, and understand how to use them to improve Python's performance. We will help you apply Python concurrent/parallel codes directly to your work. We will not only teach you how to develop and end, but also how to deploy and operate an actual app on the AWS cloud.

(4.9) 84 reviews

1,587 learners

  • amamov
Q&A의 달인
소통왕
Python
concurrent
FastAPI

Reviews from Early Learners

What you will gain after the course

  • Concurrency/Parallelism Programming Code Design Principles

  • Python Coroutines, Asynchronous Programming

  • Python multi-threading, multi-processing techniques

  • OS knowledge related to processes and threads

  • Loading Unstructured Big Data with MongoDB

  • Developing a server using FastAPI, using the asynchronous gateway Uvicorn

  • Building an AWS Cloud Server

  • Web data crawling and visualization

Slow Python?
Soar with concurrent and parallel programming!

The lecture
Before you start

This lecture has two main goals: to help you understand the concepts of concurrency, parallelism, and asynchronous programming, and to teach you which code to use in which situations .
In the latter half of the course, we will work on a real-world project using concurrent programming to help you move beyond theoretical understanding to practical application of the concepts.

Concurrent, asynchronous, and parallel programming
With the latest Python syntax

Since Python version 3.7, support for concurrent, asynchronous, and parallel programming has expanded significantly. As demand for these features grows, many frameworks and libraries supporting concurrent, asynchronous, and parallel programming have emerged. However, many people struggle with Python's ever-changing syntax. Furthermore, many who have learned the theory are unsure of how and when to apply the syntax in practice.
This course will help you immediately apply the concepts of concurrency, asynchrony, and parallelism by providing practical training in accordance with the latest Python syntax .

Concurrency and parallelism
at the same time

This lecture covers both concurrency and parallelism, demonstrating practical applications. Therefore, the title, "Concurrent Programming," has a dual meaning: concurrency in the context of concurrency and parallelism, and concurrency in the sense of "at the same time ." This is because parallelism is often expressed as "simultaneously" or "at the same time."

This lecture
I would like to recommend this to these people

Concurrency? Parallelism?
What is all this?

Concurrency and parallelism
What it is and why it is needed
If you want to understand

With the latest Python syntax
Concurrent programming

Concurrency, asynchrony, and parallelism
Grammar up to date
If you want to write

Python concurrency syntax
In practice too

It can also be applied in practice
Concurrency that can be
Programming

Backend developers too
Curious FastAPI

Actively use asynchronous grammar
FastAPI used
If you want to try it

  • Data analysts and developers who want to speed up their Python programs
  • Those who want to learn concurrency, asynchrony, and parallelism grammar in line with the latest Python grammar
  • Those who want to immediately apply Python concurrent, asynchronous, and parallel programming in practice.
  • Backend developers who want to learn FastAPI, a web framework that actively uses asynchronous syntax.

This lecture
This will also help people like this.

  • JavaScript (asynchronous programming language) developer learning Python

Concurrency Programming in Python:
From data collection to web development

Concurrent programming

  • Communication between client and server
  • Read/write system disk files
  • Database query operations
  • Using API

Parallel programming

  • Video, audio or image processing
  • computer vision
  • machine learning
  • Deep learning

This lecture
It goes like this

Python Coroutines and Asynchronous Functions

Learn about basic terminology and Python coroutines.

  • We will explain and organize important but confusing terms such as bound, blocking, synchronous, asynchronous, subroutine, and coroutine using mind maps and code.
  • This book introduces basic asynchronous programming in Python using coroutines. It also demonstrates, through practical examples (such as network I/O and CPU operations), why asynchronous programming is essential for speeding up specific situations.

Python multithreading and multiprocessing

Multithreading? Multiprocessing? Concurrency? Parallelism?

  • We will implement the coroutine-based program developed in Section 1 using multithreading techniques that utilize concurrency (parallelism) across multiple threads. This will help you understand how to process synchronous code in parallel without the help of the asyncio module. We will also explain, using examples, why multithreaded parallel programming in Python is impossible due to the Python Global Interpreter Lock (GIL).
  • We'll implement a program that uses multiprocessing techniques for parallel processing. This will teach you how to use multiprocessing in Python and explain how to design code for distributed processing in Python, under what circumstances.

Collecting data with concurrent programming

Applying Concurrency and Asynchrony to Real Projects

  • Based on the theories learned so far, we'll develop a web crawler and a data collector using open APIs. We'll also spend time developing actual programs and becoming familiar with concurrent programming.

Real-World Project: "Data Collector Web App" with FastAPI

MongoDB CRUD, data visualization, and web development with concurrent programming

  • Based on the theory learned so far, we will develop a "data collector web app." This project uses concurrent programming to crawl the web and store the collected data in MongoDB. We will connect MongoDB with FastAPI to develop a web app that analyzes and visualizes the stored data. This project will help you understand and apply asynchronous and concurrent programming in real-world situations.

Deploying Projects with AWS Cloud Computing

The project doesn't end with simple development. We'll also teach you how to deploy a web app to a server using AWS cloud computing technology.

Bonus lecture

Lectures updated through questions

  • The Python grammar lectures required for this course will be continuously uploaded.
  • Important questions will be answered and uploaded continuously in bonus lectures.

Expected Lecture Questions
Q&A

Q. How much Python knowledge is required?

To take this course, you need basic Python knowledge of variables, conditional statements, loops, functions, and class syntax. More challenging syntax that you encounter during the course can be covered through supplementary lectures, which are regularly uploaded.

Q. Are there any notes regarding the course (environment requirements, other precautions, etc.)?

The process is performed in an environment where Python version is 3.7 or higher.


Knowledge sharer
What I want to say

The lecture will continue in the future
It will be continuously updated

Technology is constantly changing. It's said that if you can't fix the code you wrote in the past, you haven't learned anything. As Python versions are upgraded, we'll update our courses to reflect the new versions so you can learn even better techniques.

The question is
You are always welcome

If you encounter any questions or need further explanation during the course, we'll provide logical, case-based answers. We look forward to hearing your questions!

Recommended for
these people

Who is this course right for?

  • Anyone who wants to speed up their Python programs with concurrent programming

  • For those who want to use Python concurrent programming in practice right away

  • Anyone who wants to load and manage data in MongoDB

  • Startup backend developer who wants to adopt FastAPI

  • For those who want to crawl efficiently with concurrent programming

  • Anyone who wants to go beyond development and actually deploy and operate web apps

Need to know before starting?

  • Basic knowledge of Python (variables, conditional statements, loops, functions, etc.)

Hello
This is

6,067

Learners

331

Reviews

367

Answers

4.8

Rating

4

Courses

안녕하세요. 더 유익하고 본질적인 지식 콘텐츠로 많은 가치를 드릴 수 있도록 노력하겠습니다.

  • AI DT 전문 개발사 (주)하이퍼이지 대표이사

  • M사 금융 AI 모델 개발 및 총괄

  • (사)한국정보통신네트워크협회 AI분과기술위원

  • P사 DT Simulation SW 개발 총괄

  • 前 시리즈 A 스타트업 기술 팀장

     

  • 前 대기업 소프트웨어 엔지니어링 기술 용역 다수

  • 前 소프트웨어 공학 온/오프라인 교육 다수 (스타트업, GS리테일, 삼성 등)

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

Curriculum

All

32 lectures ∙ (5hr 40min)

Published: 
Last updated: 

Reviews

All

84 reviews

4.9

84 reviews

  • wkdrmfmt님의 프로필 이미지
    wkdrmfmt

    Reviews 7

    Average Rating 5.0

    5

    97% enrolled

    I would like to recommend this to those who are familiar with Python grammar and have some experience using Python. I only roughly understood the asynchronous method with my eyes, but I have never properly understood it and used it. It was refreshing and fun to actually implement some actions using the asynchronous method. The lecture did not just teach the core parts, but it was good that it explained the necessary contents first before explaining the core contents of the lecture in a way that felt like a beginning, development, turn, and conclusion(?). (Before explaining concurrency and parallelism, it explained basic concepts such as CPU, process, and thread.) Although this seems basic, there are many lectures that do not follow it well. If you upload lectures on Python or Python frameworks in the future, I would like to listen to them all. Thank you for the great lecture.

    • amamov
      Instructor

      I'm so happy haha Thank you! I'll plan a better lecture.

  • kukaeden님의 프로필 이미지
    kukaeden

    Reviews 486

    Average Rating 5.0

    5

    88% enrolled

    Thank you for informing me about FastAPI and concurrent programming~!

    • iambyunghyun님의 프로필 이미지
      iambyunghyun

      Reviews 8

      Average Rating 4.9

      5

      100% enrolled

      This is one of the best lectures among the best lectures. First of all, I came here because I wanted to use fast API, but while learning asynchronous programming, I realized that I am still a person who is lacking in many ways. However, the instructor explained it in detail and in an easy-to-understand manner, so it was a very satisfying lecture. I would pay and listen even if it cost more than 100,000 won, adding a little exaggeration... This lecture covers everything from back-end to front-end and server deployment. After listening to this lecture, you will be able to expand your horizons by gaining similar experience before doing something difficult like Spring framework, and it will be a good specification for those who have never done server deployment before. I will diligently review the contents that the instructor taught me and develop them into projects to make them my knowledge. Thank you again ㅎㅎㅎ Can I ask you to teach Spring Framework next time.. ㅠㅠ You really teach so well, thank you!!

      • amamov
        Instructor

        Thank you for the good review. I am proud :) I don't have any plans for Spring right now, but I will definitely remember it! Reviews like this give me the strength to prepare for the next lecture.

    • insightp님의 프로필 이미지
      insightp

      Reviews 4

      Average Rating 5.0

      5

      100% enrolled

      It seems like a really informative and well-made lecture. I've taken a variety of lectures, but this lecture was really refreshing in many ways. I came to know about this lecture because I was interested in FastAPI and was looking for it... After taking this lecture, I realized that the important thing was not to learn the framework uniformly, but the async concept underlying the framework. I was moved three times in total: once because I could quickly taste FastAPI, once because I learned the important concepts underlying it, and once again because I got a sense of how to study on my own in the future...ㅠㅠ I'm currently taking the instructor's OOP lecture, and the common elements are: 1. Choosing concepts and frameworks that are trendy and important in the industry, 2. Breaking the concept (topic) into one lecture unit (+ each lecture is independent of each other), 3. A method that allows you to quickly understand and apply only the key points (is this true microlearning?), 4. A moderately fast pace that is not boring, 5. Friendly explanations in between so that no one gets lost, 6. Appropriate lecture length (I think the shorter the time it takes to convey the same knowledge, the better) 7. Structure of interesting practical content These are some of the elements that I really liked. I was very satisfied with the lecture, and please continue to make good lectures (faster) (more) in the future! :D Thank you! You worked hard~

      • amamov
        Instructor

        Thank you so much for the detailed course review!! Congratulations on completing the course! :) We are working on a follow-up lecture. We will repay you with a better lecture. ✨

    • bw1208112727님의 프로필 이미지
      bw1208112727

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

      It's the best!!! After crawling while crying and eating mustard, the speed was too slow, so I was thinking of a solution and wanted to improve my understanding of Python, and then I happened to find Inflearn and this lecture. Although it's an appendix, it was a curriculum that I really needed because I could see AWS being used in practice. (I'm studying Python, backend, and AWS intensively.) You also explained the basic principles concisely, so I gained a lot of knowledge. I also purchased the lectures on classes and object orientation!! I will keep watching the lectures and diligently make them mine. Please continue to provide great content in the future!!

      • amamov
        Instructor

        I'm so glad it helped! Thank you!

    Limited time deal ends in 8 days

    $4,290.00

    27%

    $36.30

    amamov's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!