강의

멘토링

커뮤니티

Programming

/

Web Development

FastAPI: Pythonで3倍速く、2倍正確な、10倍速いAPIの作り方

FastAPIで現代的なバックエンドAPIを構築する完全ガイド! 🚀 この講座はFastAPIの基礎からPydanticデータ検証、SQLAlchemyを利用したDB連携とAlembicマイグレーションまで体系的に扱います。 実践ToDoプロジェクトを通してJWT認証/認可セキュリティを実装し、非同期処理と性能最適化まで体験してみてください。最後にDockerコンテナ化とAWSデプロイ実習を通じて、この講座一つだけで実務にすぐに投入できるバックエンド開発者として成長できます!

  • haeyeomiso
실습 중심
FastAPI
백엔드
restapi
도커
Python
SQLAlchemy
Docker
AWS

受講後に得られること

  • FastAPIの主要機能とPydanticを活用し、堅牢で高速なREST APIを設計し、開発することができます。

  • SQLAlchemy ORMとAlembicを通じてデータベースを連携させ、JWTベースの安全な認証/認可システムを構築できます。

  • Dockerを利用してアプリケーションをコンテナ化し、AWSクラウド環境に直接デプロイし運用する実務能力を身につけます。

もしかして「どのバックエンドフレームワークを学ぶべきか?」と悩んでいませんか? 🤔

Pythonの現代的なWebフレームワークFastAPIは、圧倒的なパフォーマンスと優れた開発生産性で世界中の開発者から愛されています。しかし、いざ始めようとすると、どこからどのように学べばよいのか途方に暮れることがあります。

この講義は、まさにその悩みを解決してくれます。FastAPIバックエンド開発完璧ガイドは、Pythonの基礎知識さえあれば誰でもついてこられるよう、最も基本的なAPI開発からデータベース連携、JWTセキュリティ、そしてDockerとAWSを活用した最終デプロイまでバックエンド開発の全過程を一つのロードマップにまとめました。


単純に知識を羅列するのではなく、実戦ToDoリストプロジェクトを一緒に作りながら学んだ内容をすぐに適用し、自分のものにする経験をします。この講義を完走する頃には、皆さんは自分だけのアイデアを実際に動作するサービスに作り上げることができる頼もしいバックエンド開発力を身につけることになるでしょう。🚀


この講義の特徴

  • All-in-One カリキュラム 📚 基礎から応用、セキュリティ、パフォーマンス最適化、そして実務デプロイまで!複数の講座を探し回る必要なく、この講座一つでFastAPIバックエンド開発のA to Zをすべて体験できます。

  • 実戦プロジェクトベース学習 💻 理論だけ学んで終わる講義ではありません。直接ToDoリストAPIを設計し完成させながら、実際の現場で直面する問題を解決する能力を身につけます。

  • 最新技術スタック総集合 FastAPIだけでなく、Pydantic、SQLAlchemy、Alembic、JWT、Docker、AWSなど、現在のバックエンド開発で最も注目されている最新技術を一度に学習し活用します。

  • 実務中心のBest Practice 👍 単純に「動作」するだけのコードではなく、「よく書かれた」コードを作成する方法を学びます。効率的なプロジェクト構造、安全なパスワード管理、体系的なデータベーススキーマ変更など、実務で必ず必要なノウハウを惜しみなく盛り込みました。

こんな方におすすめです

Pythonは知っているがバックエンドが初めての入門者 🙋‍♀
Pythonの基礎は知っているがWeb開発、特にAPIサーバー制作は途方に暮れていた方々にとって最高の入門講座です。FastAPIの簡単な使用法と自動ドキュメント機能がバックエンド開発の参入障壁を下げてくれるでしょう。

FastAPIで技術スタックを拡張したい開発者 👨‍💻
DjangoやFlaskなど他のフレームワークの経験があり、最近注目されているFastAPIを学んでみたい方におすすめします。非同期処理の強力なパフォーマンスと高い開発生産性を直接体験しながら競争力を高めることができます。

フルスタックを夢見るフロントエンド開発者 🚀
直接APIを作ってサイドプロジェクトを完成させたい、またはバックエンドの知識を積んでフルスタック開発者として成長したいフロントエンド開発者にぴったりです。Dockerを活用したデプロイまで扱うため、開発の全過程を理解できるようになります。

受講後には

  • 講義をすべて聞き終えると、皆さんは自分の力で次のことができるようになります。

    • FastAPIの核心機能を活用して堅牢でスケーラブルなREST APIを設計・開発することができます。

    • SQLAlchemy ORMを通じてデータベースを自由自在に扱い、安全なJWT認証システムを構築することができます。

    • Dockerでアプリケーションをコンテナ化し、AWSクラウドにサービスをデプロイして運用する実務経験を身につけることができます。

    • バックエンド開発の全体サイクルを理解し、自信のあるバックエンド開発者として一段階成長することになります。

このような内容を学びます。

FastAPIの核心とPydanticデータ検証

  • ルーティング、依存性注入などFastAPIの核心原理を理解し、Pydanticモデルを通じて入ってくるデータを徹底的に検証する方法を学びます。


データベース連携とSQLAlchemy ORM

  • Pythonコードでデータベースを扱うSQLAlchemy ORMの使用法を習得し、Alembicでデータベーススキーマを安全に変更・管理します。


JWT認証とAPIセキュリティ

  • OAuth2とJWT(JSON Web Token)を利用して安全なログイン・会員登録機能を実装し、役割ベースでAPIアクセスを制御する方法を学習します。


Dockerコンテナ化とAWSクラウドデプロイ

  • 開発が完了したアプリケーションをDockerコンテナとしてパッケージングし、AWS EC2などの実際のクラウド環境にデプロイしてサービスを運営する方法を実習します。

受講前の参考事項

実習環境

  • 前提知識

    • 必須: 基本的なPython文法の知識が必要です。(変数、データ構造、関数、クラスなど)

    • 推奨: ウェブ(HTTP、API)とターミナル(CLI)の使用経験があれば学習がより容易になりますが、必須条件ではありません。

  • 実習環境

    • OS:Windows、macOS、Linuxすべて対応可能です。

    • 言語: Python 3.10以上

    • エディタ: VS Code(講義で使用)または希望するエディタ

    • その他: Docker Desktop、AWSアカウント(デプロイ部分で必要、フリーティア活用)

  • 注意事項

    • 本講義はバックエンド開発に集中しており、フロントエンド(HTML、CSS、JavaScript)コードは扱いません。

    • AWS デプロイ実習はフリーティア(Free Tier)の範囲内で進行!

    • 講義に関する質問はいつでもQ&A掲示板に残してください!😊

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Pythonは分かるがバックエンドは初めての初心者🙋‍♀️

  • FastAPIで技術スタックを拡張したい開発者 👨‍💻

  • フルスタックを夢見るフロントエンド開発者 🚀

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

  • この講義を円滑に受講するためには、基本的なPythonの文法知識が必要です。変数、データ構造(リスト、ディクショナリ)、関数、クラスなどPythonの基礎をご存知であれば十分です。Web(HTTP、API)に関する基礎的な理解があれば、学習にさらに役立ちます!

こんにちは
です。

489

受講生

25

受講レビュー

32

回答

4.5

講座評価

6

講座

반갑습니다!

AI와 컴퓨터 공학의 무한한 가능성을 탐구하며, 그 여정을 여러분과 나누고 싶은 해여입니다.

학부 시절 '컴퓨터 공학 중독자'라 불릴 만큼 전공에 대한 열정으로 4.4점 이상의 전공 학점으로 수석 졸업하였고, S대학원에서 AI를 전공하며 석사 학위를 받고 박사 과정을 통해 전문성을 심화했습니다.

하지만 이론적 탐구만큼이나 실제 세상의 문제를 AI로 해결하는 것에 큰 매력을 느껴, 박사 과정을 잠시 멈추고 스타트업에서 AI 기반 LLM 및 비디오 분석 프로젝트를 경험하며 귀중한 실전 경험을 쌓았습니다.

지금은 국내 Top3 대기업 중 한 곳에서 LLM 프로젝트 개발 및 PM으로 일하며, AI 기술이 우리 삶에 가져올 긍정적인 변화들을 만들어가는 데 기여하고 있습니다. 제가 겪었던 고민과 해결의 과정, 그리고 현장에서 얻은 생생한 노하우들을 여러분께 아낌없이 전달해 드리겠습니다. AI라는 흥미로운 세계로의 여정에 든든한 길잡이가 되어 드릴게요.

문의 및 제의 : haeyeo.open@gmail.com

カリキュラム

全体

42件 ∙ (13時間 15分)

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

受講レビュー

全体

8件

4.3

8件の受講レビュー

  • oottagiya님의 프로필 이미지
    oottagiya

    受講レビュー 26

    平均評価 3.8

    修正済み

    3

    17% 受講後に作成

    I applied for this course because it's a topic I'm interested in and am currently taking it, but I'd like to offer two suggestions for improvement. First, the current lecture audio often explains content that's not shown on the screen. No matter how hard I try to concentrate and listen, the audio content doesn't match what's displayed, so I often lose track while trying to follow the lecture. Second, programming-related courses usually provide project source code on GitHub organized by topic, but since only the relevant code is provided in the lecture notes rather than complete source files or project units, it's not easy to cross-check with the instructor's intended content.

    • haeyeomiso
      知識共有者

      Hello, this is instructor Haeyeo. First, I would like to thank you for enrolling in the course. Thank you for your honest feedback. First, regarding the code, I will proceed with improvements to provide it separately in GitHub format (by August). As for the lecture videos, there was a previous issue, so I proceeded with re-recording and uploading, but it seems there are some chapters where the upload did not proceed normally. I will check this part and take immediate action. I apologize for any inconvenience caused to students and promise quick improvements. I ask for your generous understanding. Thank you. From instructor Haeyeo.

    • haeyeomiso
      知識共有者

      Hello, this is instructor Haeyeo. Currently, my lecture recording method involves writing lecture materials and scripts first, then recording audio separately for the best sound quality, and filming the lecture video based on that audio. Due to this process, lecture materials are occasionally omitted during the filming/editing process, so I previously worked with the editor on improvements and re-uploaded the content. After hearing your valuable feedback, I thought there might be parts that weren't uploaded, so I compared the lecture script with the lecture materials to check, but I couldn't easily find the relevant section, so I'd like to ask for more detailed feedback from you. If it's okay with you, could you tell me which lecture section had the problem? (I compared the script and lecture materials up to lecture 7 that you've taken, but it's not easily found 😢😢) Thank you. Instructor Haeyeo

    • haeyeomiso
      知識共有者

      Oh, it's been confirmed!! After checking with the editor, we found that during the editing process, some parts of the video were lost, causing those sections to be skipped. (Such as the command parts in the lecture environment setup section of Lecture 2, etc..) We only cross-checked the lecture materials and script, but didn't think there would be such issues 😢😢. Thank you once again for the feedback! We will check and fix those parts as quickly as possible! Thanks to 올막곧낼막's valuable feedback, the lecture will be able to become even better. Thank you so much :) From instructor 해여올림. + (If... if it's okay with you, we would be so grateful if you could evaluate it once more after the lecture improvement work is completed..! *bows*)

    • haeyeomiso
      知識共有者

      Hello! This is instructor Haeyeo! I have re-uploaded lectures 1-42 with complete re-editing and improved audio quality by changing the audio to wav format! I uploaded them right away since it was urgent, but we will conduct additional comprehensive reviews on our end over the weekend. Regarding the source code, as you mentioned, it's currently structured assuming sequential lecture progression, where if you're using code from previous lectures, only additional/modified code is uploaded. This could be inconvenient if you're taking chapters selectively! As a solution, we considered creating a Github repository as you suggested, and I thought it would just be a matter of uploading... But there could be licensing issues or synchronization problems between lecture materials and Github code, so we're currently discussing these matters. We'll quickly review and improve this part as well. I ask for your generous understanding as a student :) + If it wouldn't be too much trouble, could you please provide another review!! 🥹 Thank you Instructor Haeyeo

  • amybae04148768님의 프로필 이미지
    amybae04148768

    受講レビュー 3

    平均評価 5.0

    5

    31% 受講後に作成

    • krvision4091님의 프로필 이미지
      krvision4091

      受講レビュー 5

      平均評価 4.0

      修正済み

      3

      50% 受講後に作成

      Please teach by pointing out the parts where the instructor lectures with their "live" voice,,,,,,,,,, AI narration-like voices get boring quickly, and there are limitations when listening...

      • haeyeomiso
        知識共有者

        Hello, I'm instructor Haeyeo! I apologize for the inconvenience with the lecture recording and filming methods. Currently, my lecture filming process follows these steps: 1. Creating lecture materials and scripts 2. Recording audio -> Using AI correction tools to fix coughs/breathing sounds/pronunciation of 'ㅅ' sounds, etc. 3. Recording lecture screen However, due to a communication mishap with the current editor, the parts where I point to sections in the lecture have disappeared from step 3. I'm looking for a new editor and will have the entire lecture revised soon, so please keep this in mind. For the audio, I first record with my own voice in step 1, then proceed with AI correction and LUFS normalization, but it seems the correction was too strong. I will reflect on this valuable feedback to create better lectures. Thank you.

    • didtkdcn7890님의 프로필 이미지
      didtkdcn7890

      受講レビュー 3

      平均評価 5.0

      5

      10% 受講後に作成

      • moljin님의 프로필 이미지
        moljin

        受講レビュー 11

        平均評価 4.6

        5

        62% 受講後に作成

        • haeyeomiso
          知識共有者

          Hello, this is instructor Haeyeo. Thanks to the incredibly valuable feedback from student moljin, I was able to identify the parts that had issues with filming. I want to express my deepest gratitude. I have conducted a comprehensive review of all 34 lessons uploaded so far, and have proceeded with re-filming. The course materials have been revised and uploaded, and for the filmed videos, the improved versions will be uploaded tomorrow morning once encoding is complete. Additionally, please note that filming content related to Docker and deployment will be uploaded this weekend. Once again, I want to express my gratitude for the valuable feedback and course review. Thank you. From instructor Haeyeo

        • I'm currently listening to the practical project section... This is something I've felt while listening to the lectures from the beginning and progressing through them... I think the lecture content does a great job of covering everything from concept organization to small details that could easily be overlooked. However, I left feedback thinking that the lecture style was a bit old. I'm grateful to hear that improved aspects will be reflected. And I'm also looking forward to the upcoming Docker and deployment-related lectures. Thank you once again for the sincere lectures. @@@ Oh, and I think it would be good to briefly explain how to reference the Notion files in the lectures in the course introduction section. When I played the practical project, I found that copying the completed code from Notion into the editor I use and actually running it while listening significantly improved my understanding of the lectures... I listened to the lecture videos with just my ears while looking at the completed code in the editor one by one and following along, which increased my understanding. I think it would be good to add such an explanation in the course introduction section. Thank you.

      ¥7,410

      haeyeomisoの他の講座

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

      似ている講座

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