강의

멘토링

로드맵

BEST
Programming

/

Back-end

Pythonの並行プログラミング:データ収集からWeb開発まで(feat. FastAPI、async、await)

Pythonでは、並行性/並列性プログラミングを使用してデータを収集し、MongoDBにロードして分析し、モダンなWebフレームワークであるFastAPIを使用して収集したデータを視覚化したWebアプリを開発します。このプロセスでは、コルーチン、マルチスレッド、およびマルチプロセッシングを使用したPythonの並行性/並列性プログラミングを学び、理解し、それを使用してPythonのパフォーマンスを向上させる方法を理解します。 Pythonの並行性/並列性コードを実務に直接適用するのに役立ちます。開発だけで終了するのではなく、AWSクラウドに実際のアプリをデプロイして運用する方法についてお知らせします。

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

学習した受講者のレビュー

こんなことが学べます

  • 並行性/並列性プログラミングコードの設計原則

  • Pythonコルーチン、非同期プログラミング

  • Pythonマルチスレッド、マルチプロセッシング技術

  • プロセスとスレッドに関するOSの知識

  • MongoDBを使用して非定型ビッグデータをロードする

  • FastAPIを使用したサーバー開発、非同期ゲートウェイUvic​​ornの使用

  • AWS クラウドサーバーの構築

  • Webデータのクロール、可視化

遅いPython?
同時性・並列性プログラミングで翼を作ろう!

講義
始める前に

この川の目的は大きく2つです。同時性・並列性・非同期プログラミングの概念を正確に理解することと、どのような状況でどのコードを使用するかをお知らせすることです。
講義の後半には、同時性プログラミングを通じて実際のプロジェクトを進めながら、その概念を理論の熟知を超えて実際に実務でも使用できるようにお手伝いします。

同時性・非同期・並列性プログラミング
Pythonの最新の文法で

Pythonバージョン3.7以降、同時性・非同期・並列性プログラミングに対するサポートが大幅に増えました。これに対する需要が大きくなり、同時性・非同期・並列性プログラミングを支援するフレームワークやライブラリも多く登場しています。しかし、バージョンごとに変わるPython文法に困難を経験する方が多いです。また理論では学んだが、実際にいつどのように文法を適用すべきか分からない方も多いです。
この講座は、同時性・非同期・並列性に関する概念をPython最新の文法に合わせて実習まで進めてすぐに適用できるようにお手伝いします。

並行性と並列性
同時(at the same time)に

このレッスンでは、並行性と並列性の両方をカバーし、実際に適用できる方法について説明します。このため、このレッスンのタイトルである同時実行プログラミングには二重の意味があります。同時性(Concurrency)と並列性(Parallelism)での同時性と同時に(at the same time)の意味としての同時性です。並列性を表現するとき、「同時に」または「ある瞬間に」と表現する時が多いからです。

この講義
こんな方にお勧めしたい

並行性?並列性?
これは何ですか?

並行性と並列性
何なのか、なぜ必要なのか
理解したい場合

最新のPython文法で
並行性プログラミング

同時性・非同期・並列性
文法を最新バージョンに
書きたい場合

Python同時性文法
実務でも

実務にも適用する
可能な並行性
プログラミング

バックエンド開発者も
気になるFastAPI

非同期文法を積極的に
使用するFastAPI
書きたい場合

  • Pythonプログラムをスピードアップしたいデータアナリスト、開発者
  • 同時性・非同期・並列性文法を最新のPython文法に合わせて学びたい方
  • Python同時性・非同期・並列性プログラミングを実務ですぐに適用したい方
  • 非同期文法を積極的に使用するWebフレームワークFastAPIを学びたいバックエンド開発者

この講義は
こんな方にも役立ちます

  • Pythonを学ぶJavaScript(非同期プログラミングベースの言語)開発者

Python同時実行プログラミング:
データ収集からウェブ開発まで

並行性プログラミング

  • クライアントとサーバー間の通信
  • システムディスクファイルの読み書き
  • データベースクエリ操作
  • APIの使用

並列性プログラミング

  • ビデオ、オーディオ、または画像処理
  • コンピュータビジョン
  • 機械学習
  • ディープラーニング

この講義は
このように進む

Pythonコルーチンと非同期関数

基本的な用語の整理とPythonのコルーチンについて学ぶ

  • バインド、ブロッキング、同期、非同期、サブルーチン、コルーチンなど、重要ですが、混乱する用語をマインドマップとコードで説明して整理します。
  • コルーチンを使用してPythonで基本的な非同期プログラミングを行う方法を紹介します。そして、特定の状況でスピードアップのために必ず非同期プログラミングを使用しなければならない理由を実務例(ネットワークI/O、CPU演算など)を通じてコードで証明します。

Pythonマルチスレッドとマルチプロセッシング

マルチスレッド?マルチプロセス?並行性?並列性?

  • セクション1で開発されたコルーチンベースのプログラムは、マルチスレッドで並行性(並行性)を使用するマルチスレッド技術を使用して実装されます。これにより、同期コードをasyncioモジュールの助けなしに並行処理する方法を理解します。また、Python GIL(Global Interpreter Lock)を使用してPythonからマルチスレッドに並列プログラミングができない理由について説明します。
  • マルチプロセッシング技術を使用して並列処理を行うプログラムを実装します。これにより、Pythonでマルチプロセスを使用する方法を学び、Pythonで分散処理を行うときにどのような状況でどのようにコードを設計するかをお知らせします。

並行性プログラミングによるデータ収集

同時性・非同期実際にプロジェクトに応用する

  • これまでに学んだ理論に基づいて、WebクローラとオープンAPIを使用したデータコレクタを開発します。実際のプログラムを開発しながら、同時実行プログラミングに慣れる時間があります。

本番プロジェクト:「データコレクタウェブアプリ」 with FastAPI

並行性プログラミングによるMongoDB CRUD、データ可視化、Web開発

  • これまでに学んだ理論に基づいて「データコレクタWebアプリ」を開発します。プロジェクトは同時実行プログラミングを使用してWeb上でクロールし、収集したデータをMongoDBに保存します。 MongoDBをFastAPIに関連付けて保存したデータを適切に分析し、可視化したWebアプリを開発します。このプロジェクトにより、非同期・並行性プログラミングが実務で使用されている場合を理解して適用することができます。

AWS クラウドコンピューティングでプロジェクトをデプロイする

プロジェクトは単純な開発では終わりません。 AWS クラウドコンピューティングテクノロジを使用してサーバーにウェブアプリをデプロイする方法もお知らせします.

ボーナス講義

質問を通じて更新される講義

  • このレッスンでは、必要なPython文法のレッスンが常にアップロードされます。
  • 重要な質問は、ボーナスレクチャーに継続的に答えてアップロードします。

講義の予想質問
Q&A

Q. Python選手の知識はどのくらい必要ですか?

この講義を受講するために必要なPython選手知識は、基本的な変数、条件文、反復文、関数、クラス文法です。講義を進めながら会う難易度のある文法は、別々に常時アップロードされる補足講義を通じて学ぶことができます。

Q. 受講に関する注意事項(必要な環境、その他の留意事項など)はありますか?

Pythonのバージョンは3.7以上の環境で行われます


知識共有者
伝えたい言葉

講義は今後も
引き続き更新されます

技術は変化し続けます。過去に書いたコードを現在でも直すことがないと、これまで学んだことがないという言葉があります。 Pythonのバージョンがアップグレードされたら、より良いスキルを学ぶために、アップグレードされたバージョンに合わせてレッスンを更新します。

質問は
いつも歓迎です

講義を受講しながら理解できない、または追加の説明が必要な部分は、いつでも論理的に事例とともに回答します。受講生の方の質問をお待ちしています!

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 並行性プログラミングでPythonプログラムをスピードアップしたい方

  • Pythonの同時実行プログラミングを実践ですぐに使いたい人

  • MongoDBにデータをロードして管理したい方

  • FastAPIを導入したいスタートアップバックエンド開発者

  • 並行性プログラミングで効率的にクロールしたい方

  • 開発を超えて実際にWebアプリをデプロイして運営したい方

前提知識、
必要でしょうか?

  • Pythonの基本知識(変数、条件文、反復文、関数など)

こんにちは
です。

5,426

受講生

275

受講レビュー

339

回答

4.7

講座評価

4

講座

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

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

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

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

  • P사 DT Simulation SW 개발 총괄

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

     

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

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

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

カリキュラム

全体

32件 ∙ (5時間 40分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

76件

4.9

76件の受講レビュー

  • wkdrmfmt님의 프로필 이미지
    wkdrmfmt

    受講レビュー 7

    平均評価 5.0

    5

    97% 受講後に作成

    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
      知識共有者

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

  • kukaeden님의 프로필 이미지
    kukaeden

    受講レビュー 469

    平均評価 5.0

    5

    88% 受講後に作成

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

    • iambyunghyun님의 프로필 이미지
      iambyunghyun

      受講レビュー 8

      平均評価 4.9

      5

      100% 受講後に作成

      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
        知識共有者

        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

      受講レビュー 3

      平均評価 5.0

      5

      100% 受講後に作成

      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
        知識共有者

        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

      受講レビュー 1

      平均評価 5.0

      5

      100% 受講後に作成

      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
        知識共有者

        I'm so glad it helped! Thank you!

    ¥5,527

    amamovの他の講座

    知識共有者の他の講座を見てみましょう!

    似ている講座

    同じ分野の他の講座を見てみましょう!