Inflearn English brand logo
Inflearn English brand logo
BEST

FastAPI Complete Guide

This course is designed to help you learn the core functions of FastAPI, as well as the entire process of web service development. Through this course, we will help you become a FastAPI expert developer needed in the field.

(4.8) 24 reviews

531 students

Python
FastAPI
SQL
SQLAlchemy
Thumbnail

This course is prepared for Intermediate Learners.

What you will learn!

  • Learn the core components of FastAPI

  • Handling Pydantic Models

  • Handling databases and writing stable DB handling code based on SQLAlchemy

  • Asynchronous DB Handling in SQLAlchemy

  • Handling the Jinja2 template engine

  • File Upload in FastAPI

  • Implementing MVC-based modules in FastAPI

  • Exceptions and Exception Handling Methods of Various FastAPIs

  • Handling Middleware

  • FastAPI's Authentication and Login

  • Signed Cookie based on Cookie and SessionMiddleware

  • Handling Sessions Using Redis

Faster and more convenient
Want modern web/API development?

FastAPI has grown rapidly in a short period of time and is rapidly expanding its scope with strong support from the developer community.


Why FastAPI?

1. Excellent performance

FastAPI, which follows the ASGI standard, processes requests asynchronously, providing the fastest speed among Python web frameworks. Fast response speed is essential for large-scale applications that must accommodate a large number of users at the same time today.

2. Intuitive design for developers

FastAPI is designed to help developers work more efficiently and productively. Intuitive internal APIs, Dependency Injection, unified type hints, and automatically generated OpenAPI documentation minimize errors during development and dramatically speed up projects.

3. Convenient data processing and verification

FastAPI is fully integrated with Pydantic, safely and precisely handling data validation, serialization, and parsing. This allows developers to write more efficient and reliable code, and easily handle complex data structures.

4. Infinite possibilities of asynchronous processing

FastAPI provides the ability to process multiple tasks simultaneously through asynchronous programming. It shines especially in I/O-bound tasks such as databases and external APIs, allowing you to build fast and responsive applications.

FastAPI is not difficult - with this lecture,

Systematic learning from core components of FastAPI to advanced concepts

It provides step-by-step learning suitable for both beginners and experienced users, covering the fundamental concepts of FastAPI, asynchronous programming, middleware handling, and advanced authentication techniques.


Especially when developing a Blog application

You can start with basic functions and gradually advance your application, naturally learning various technologies related to FastAPI.


Learning through various practical examples

The course consists of 25% theory and 75% practice, and the curriculum is filled with various hands-on classes so that you can naturally learn FastAPI's basics to expert-level functions.

Most of the hands-on classes are conducted through live coding . If you follow the videos step by step, you will find yourself at a level where you can confidently handle FastAPI.

It doesn't just cover FastAPI itself.
Covers the entire process of developing a web service using FastAPI.

1. Database coding techniques used at the enterprise level

Database client code is essential for stable DB resource protection. We will explain in detail the operation mechanisms such as Connection Pooling, Connection, Cursor, and key elements of how to write Python code for performance and stable database utilization.

You will also learn in depth about database manipulation and asynchronous database processing techniques using SQLAlchemy.

2. Hands-on, project-based learning through Blog Application

The course will be conducted while developing a blog application directly. Starting with basic functions, the application will be gradually improved, and various skills related to FastAPI will be naturally acquired through practice.

3. Detailed explanation and practice for understanding Pydantic

In order to handle FastAPI well, an understanding of Pydantic is essential. This lecture provides not only an explanation and practice of Pydantic itself, but also precautions to take when applying Pydantic to FastAPI and solutions for errors that occur.

4. Building dynamic web pages using the Jinja2 template engine

Learn how to improve user experience and seamlessly integrate frontend and backend by leveraging the Jinja2 template engine in FastAPI.

5. Powerful error handling and exception management techniques

Learn the exception handling features provided by FastAPI to prepare for various exception situations and learn how to improve the stability of your application. Also, learn common error handling patterns to improve the maintainability of your code.

6. Handling middleware

In addition to applying the middleware provided by default in FastAPI, you will learn how to create your own custom middleware. By creating custom middleware, you will not only understand the internal structure of middleware, but also acquire the ability to directly implement the extension functions of FastAPI.

7. Advanced Authentication and Session Management: Using Signed Cookies and Redis

Learn how to design a secure authentication system, implement session management and signed cookies using Redis, and build reliable web applications that can handle high-volume traffic.

This course does not cover ORM .

This course contains a lot of practical content on Database CRUD, but it does not cover ORM (Object-Relational Mapping) and only performs CRUD based on SQL . Please keep this in mind when choosing a course.

Things to note before taking the class

Practice Environment 💾

Practice environment

  • Operating System (OS): The lab will be conducted on a Windows operating system, but it can also be performed on a Mac without any problems. Any environment where VSCode, FastAPI, MySQL, and Redis can be installed is sufficient.


  • PC specifications: PC with basic specifications that can access the Internet

Learning Materials

  • Lecture materials can be downloaded within the lecture.

  • You can download the practice materials from https://github.com/chulminkw/fastapi_pguide . By looking at the practice code, you can estimate the Python level required for taking the course.

Player Knowledge

  • Since it covers the entire process of web development using FastAPI, beginner-intermediate or higher level Python experience is required.

  • Although much of the lab involves RDBMS CRUD, basic SQL skills are sufficient.


  • The UI uses Bootstrap, but basic knowledge of HTML is sufficient for practical understanding.

Recommended for
these people!

Who is this course right for?

  • Anyone who wants to learn FastAPI

  • For those who want to systematically learn how to implement Python-based web applications beyond simple FastAPI functions.

  • Those who want to improve the performance of existing web/APIs by utilizing asynchronous frameworks, etc.

  • Anyone who needs to transition from an existing Java, Node.js-based backend developer to a Python-based backend developer

  • If you are looking for a modern web framework with powerful performance and simple convenience features.

  • (Not covered in this lecture) Anyone looking for an asynchronous API framework for serving machine learning models

Need to know before starting?

  • Intermediate level Python skills

  • SQL basics skills

  • HTML Basics

Hello
This is dooleyz3525

25,000

Students

1,174

Reviews

3,918

Answers

4.9

Rating

13

Courses

(전) 엔코아 컨설팅

(전) 한국 오라클

AI 프리랜서 컨설턴트

파이썬 머신러닝 완벽 가이드 저자

Curriculum

All

164 lectures ∙ (25hr 8min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

24 reviews

4.8

24 reviews

  • leejken530님의 프로필 이미지
    leejken530

    Reviews 13

    Average Rating 4.2

    5

    27% enrolled

    재밌고 질문도 금방 답변해주셔서 좋습니다. 다른 강의도 다 들어볼 생각입니다.

    • tiaz.dev님의 프로필 이미지
      tiaz.dev

      Reviews 5

      Average Rating 5.0

      5

      21% enrolled

      빠르게 많은 내용을 정리할 수 있어서 좋습니다. FastAPI를 여기저기 다른 플랫폼에서 공부하고 책도 봤지만, 가장 이해하기 쉽고 제대로 배울수 있었습니다. 라이브코딩이 많다고 조금 걱정했습니다. 자칫 '지루할 수도 있지 않을까?' 했지만, 준비해두신 로직을 빠르게 다시 코딩하면서 설명 해주시니 더 이해하기 좋았습니다. 이전 리뷰에서 마이크가 약간 문제가 있다고 하셨는데, 개선되어 크게 불편하지는 않았습니다. ORM이 빠진 것은 조금 아쉽기는 합니다. ORM에 대해서 어떤 생각이신지 그리고 어떻게 사용하면 좋은지 꼭 들어보고 싶습니다. 다음 백엔드 심화 강의도 꼭 나왔으면 합니다!

      • 권 철민
        Instructor

        오, 훌륭한 수강평 감사드립니다. 더욱이 시간을 내주셔서, 이렇게 장문의 수강평을 적어 주셔서 감사합니다. ORM은 호불호가 극단으로 갈려서, 제 개인적인 의견이 조심스럽니다. 강의에서도 짧게 언급드리지만, 어느정도 DB 경험 경력이 되신다면 ORM 사용 여부는 개인의 선택 사항이라고 생각됩니다. 하지만 DB 경험이 얼마 안되신다면 ORM보다는 SQL을 바로 사용하는게 반드시 필요하다고 생각됩니다. 꼬~옥 제 개인적인 의견이 더 필요하시다면 Q&A에 해당 질문을 올려 주시면 좀 더 추가 답변 드리겠습니다. 감사합니다.

    • 임찬님의 프로필 이미지
      임찬

      Reviews 14

      Average Rating 4.9

      Edited

      5

      87% enrolled

      Kafka 강의를 매우 유익하게 수강하여 고민도 없이 선택했습니다. 저의 선택은 틀리지 않았습니다. Fast API라는 프레임워크만 집중하지 않고 중간중간 웹 개발에 필요한 여러 개념 및 요소들을 첨가하여 전반적인 웹에 대한 이해도 배울 수 있었습니다. 현 시점에서도 Django가 더 활성화된 상태이지만, 미래를 위한 선택으로 탁월했으며 앞으로 선생님의 진가인 머신러닝 - 딥러닝 강의가 나오면 폭발적인 시너지가 나올 것으로 예상합니다. 기다리겠습니다. 감사합니다.

      • 안창신님의 프로필 이미지
        안창신

        Reviews 2

        Average Rating 5.0

        5

        100% enrolled

        내용도 충실하고 제게 딱 맞는 강의였습니다. 저는 전부 RAW SQL로 처리해야 하는 상황이라서 ORM은 다루지 않아서 더 좋았습니다. 강의를 들으면서 제가 실제로 사용할 엔드포인트 하나하나 만들면서 진행하느라 시간이 꽤 걸렸네요. 강사님 감사합니다. 참고로 scoop 같은 윈도우 패키지 관리도구 쓰시는 분들은 redis 7.4.1 최신버전이 패키징 되어서 복잡한 WSL 셋팅없이 한 줄 설치가 가능합니다. 3점대 예전버전 설치하지 않아도 됩니다. https://github.com/redis-windows/redis-windows 강의 듣는 분들께 도움이 되었으면 좋겠습니다.

        • 권 철민
          Instructor

          오, 장문의 수강평 감사드립니다. Windows Redis 관련해서 좋은 정보도 감사드립니다.

      • hughieshin님의 프로필 이미지
        hughieshin

        Reviews 2

        Average Rating 5.0

        5

        100% enrolled

        dooleyz3525's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!

        $59.40