Inflearn brand logo image
Inflearn brand logo image
BEST

FastAPI 완벽 가이드

본 강의는 FastAPI의 핵심 기능과 함께, 웹서비스 개발의 전 과정을 익힐 수 있도록 구성 하였습니다. 본 강의를 통해 여러분을 현장에서 필요로 하는 FastAPI 전문 개발자로 발돋움 시켜 드릴 것입니다.

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

이런 걸 배울 수 있어요

  • FastAPI의 핵심 구성 요소 익히기

  • Pydantic Model 다루기

  • SQLAlchemy 기반에서 Database 다루기 및 안정적인 DB Handling 코드 작성하기

  • SQLAlchemy에서 비동기(Asynchronous) DB Handling

  • Jinja2 템플릿 엔진 다루기

  • FastAPI에서 File Upload

  • FastAPI에서 MVC 기반 모듈 구현하기

  • 다양한 FastAPI의 Exception과 Exception Handling 방법

  • Middleware 다루기

  • FastAPI의 Authentication 과 Login

  • Cookie와 SessionMiddleware 기반의 Signed Cookie

  • Redis를 활용한 Session 다루기

더 빠르고 편리한
모던 웹/API 개발을 원한다면?

FastAPI는 단기간에 급격히 성장하고 있으며, 개발자 커뮤니티에서의 강력한 지지를 통해 그 영역을 빠르게 확장하고 있습니다.


왜 FastAPI 인가요?

1. 탁월한 성능

ASGI 표준을 따르는 FastAPI는 비동기 방식으로 요청을 처리하여, 파이썬 웹 프레임워크 중에서도 단연 최상의 속도를 제공합니다. 빠른 응답 속도는 오늘날 수많은 사용자를 동시에 수용해야 하는 대규모 애플리케이션에 필수적인 요소입니다.

2. 개발자를 위한 직관적인 설계

FastAPI는 개발자가 더욱 효율적이고 생산적으로 작업할 수 있도록 설계되었습니다. 직관적인 내부 API, Dependcy Injection 기능, 일원화된 타입 힌트(type hint), 그리고 자동으로 생성되는 OpenAPI 문서는 개발 과정에서 오류를 최소화하고, 프로젝트의 속도를 비약적으로 높여줍니다.

3. 편리한 데이터 처리와 검증

FastAPI는 Pydantic과 완벽하게 통합되어, 데이터 검증과 직렬화, 파싱 과정을 안전하고 정밀하게 처리합니다. 이로 인해 개발자는 더욱 효율적이고 신뢰할 수 있는 코드를 작성할 수 있으며, 복잡한 데이터 구조도 손쉽게 다룰 수 있습니다.

4. 비동기 처리의 무한한 가능성

FastAPI는 비동기 프로그래밍을 통해 동시에 다수의 작업을 처리하는 능력을 제공합니다. 특히, 데이터베이스와 외부 API와 같은 I/O 바운드 작업에서 빛을 발하며, 빠르고 반응성이 뛰어난 애플리케이션을 구축할 수 있습니다.

FastAPI 어렵지 않습니다 - 본 강의와 함께 라면,

FastAPI의 핵심 구성 요소부터 고급 개념까지 체계적인 학습

FastAPI의 기본 개념을 확실하게 익히고, 비동기 프로그래밍, 미들웨어 처리, 고급 인증 기법까지 다루며, 초보자와 경험자 모두에게 적합한 단계별 학습을 제공합니다.


특히 Blog 애플리케이션을 개발하면서

기본적인 기능부터 시작해 점진적으로 애플리케이션을 고도화 하며, FastAPI와 관련된 다양한 기술들을 자연스럽게 익힐 수 있습니다.


다양한 실습 예제를 통한 학습

강의는 이론 25%, 실습 75%로 구성되어 있으며 FastAPI의 기초부터 전문가 수준의 기능까지 자연스럽게 익힐 수 있도록 여러 가지 실습 수업으로 커리큘럼을 가득 채웠습니다.

대부분의 실습 수업은 라이브 코딩으로 진행됩니다. 단계별로 차근차근 영상을 따라해 보시면 자신있게 FastAPI를 다룰 수 있는 수준에 도달한 스스로를 발견할 수 있을 것입니다.

FastAPI 자체 만을 다루지 않습니다.
FastAPI를 활용한 웹 서비스 개발의 전 과정을 다룹니다.

1. Enterprise 레벨에서 사용되는 Database 코딩 테크닉

Database 클라이언트 코드는 안정적인 DB의 자원 보호가 필수 요소입니다. Connection Pooling, Connection, Cursor등의 동작 메커니즘 그리고 성능과 안정적인 Database 활용을 위해 어떻게 파이썬 코드를 작성해야 하는지에 대한 핵심 요소들을 자세히 설명 드립니다.

또한 SQLAlchemy를 활용한 데이터베이스 조작과 비동기(Asynchronous) 데이터베이스 처리 기법을 심도 있게 학습합니다.

2. 실습 중심의 Blog Application 프로젝트 기반 학습

강의는 블로그 애플리케이션을 직접 개발하면서 진행됩니다. 기본적인 기능부터 시작해 점진적으로 애플리케이션을 고도화 하며, FastAPI와 관련된 다양한 스킬을 실습을 통해 자연스럽게 익힐 수 있습니다.

3. Pydantic 이해를 위한 상세한 설명과 실습

FastAPI를 잘 다루기 위해서는 Pydantic에 대한 이해가 필수 입니다. 본 강의는 Pydantic 자체에 설명과 실습 뿐만 아니라 FastAPI에 Pydantic을 적용할 때 주의해야 할 사항과 오류 발생 시 해결 방안등을 제공합니다.

4. Jinja2 템플릿 엔진을 통한 동적 웹 페이지 구축

FastAPI에서 Jinja2 템플릿 엔진을 활용하여 사용자 경험을 개선하고, 프론트엔드와 백엔드를 매끄럽게 통합하는 기술을 습득할 수 있습니다.

5. 강력한 에러 처리 및 예외 관리 기법

다양한 예외 상황에 대비해 FastAPI에서 제공하는 예외 처리 기능을 학습하고, 애플리케이션의 안정성을 높이는 방법을 배웁니다. 또한, 공통적인 에러 처리 패턴을 익혀 코드의 유지 보수성을 향상 시킵니다.

6. 미들웨어 다루기

FastAPI에서 기본 제공하는 미들웨어의 적용과 더불어 Custom 미들웨어를 직접 만드는 방법에 대해서 배우게 됩니다. Custom 미들웨어를 만들어 보면서 미들웨어 내부 구조에 대한 이해 뿐만 아니라 FastAPI의 확장 기능을 직접 구현하는 능력을 갖출 수 있습니다.

7. 고급 인증 및 세션 관리: 서명된 쿠키와 Redis 활용

안전한 인증 시스템을 설계하고, Redis를 활용한 세션 관리 및 서명된 쿠키의 구현 방법을 학습하여, 대규모 트래픽을 처리할 수 있는 안정적인 웹 애플리케이션을 구축할 수 있도록 합니다.

본 강의는 ORM을 다루지 않습니다.

본 강의는 Database CRUD에 대해 많은 실습 내용을 담고 있지만, ORM(Object-Relational Mapping)을 다루지 않으며, 오직 SQL에 기반하여 CRUD를 수행하고 있습니다. 강의 선택 시 이점 참고 부탁 드립니다.

수강 전 참고 사항

실습 환경 💾

실습 환경

  • 운영 체제(OS): 실습은 Windows 운영에서 진행하지만, Mac에서도 문제 없이 수행됩니다. VSCode, FastAPI, MySQL, Redis가 설치 될 수 있는 환경이면 됩니다.


  • PC 사양: 인터넷 접속이 가능한 기본 사양의 PC

학습 자료

  • 강의 자료는 강의 내에서 다운로드 받으실 수 있습니다.

  • 실습 자료는 https://github.com/chulminkw/fastapi_pguide 에서 다운로드 받으실 수 있습니다. 실습 코드를 보시면 강의 수강에 필요한 파이썬 수준을 미리 가늠해 보실 수 있습니다.

선수 지식

  • FastAPI를 이용한 웹 개발의 전 과정을 다루므로 파이썬은 초중급 이상의 경험이 필요합니다.

  • 실습의 많은 부분이 RDBMS CRUD를 포함하고 있지만, 기본 SQL 역량만 있으셔도 충분합니다.


  • UI는 Bootstrap을 이용하지만, 실습 이해는 HTML 기본 정도만 알고 계셔도 충분합니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • FastAPI를 배우고자 하는 모든 분

  • 단순 FastAPI 기능을 넘어서 파이썬 기반의 웹 애플리케이션 구현을 체계적으로 배우시길 원하는 분

  • 비동기 프레임워크의 활용 등을 통해 기존 웹/API의 성능 개선을 원하시는 분

  • 기존 Java, Node.js 기반의 백엔드 개발자에서 파이썬 기반 백엔드 개발자 전환이 필요하신 분

  • 강력한 성능과 간결한 편의 기능을 갖춘 모던 웹 프레임워크를 찾고 계시는 분

  • (본 강의에서는 다루지 않지만)머신러닝 모델의 서빙을 위한 비동기 API 프레임워크를 찾고 계신 분

선수 지식,
필요할까요?

  • 중급 수준의 파이썬 활용 능력

  • SQL 기초 활용 능력

  • HTML 기초

안녕하세요
권 철민입니다.

25,241

수강생

1,205

수강평

3,924

답변

4.9

강의 평점

13

강의

(전) 엔코아 컨설팅

(전) 한국 오라클

AI 프리랜서 컨설턴트

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

커리큘럼

전체

164개 ∙ (25시간 8분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

31개

4.9

31개의 수강평

  • leejken530님의 프로필 이미지
    leejken530

    수강평 13

    평균 평점 4.2

    5

    27% 수강 후 작성

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

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

      수강평 2

      평균 평점 5.0

      5

      100% 수강 후 작성

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

      • 권 철민
        지식공유자

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

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

      수강평 14

      평균 평점 4.9

      수정됨

      5

      87% 수강 후 작성

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

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

        수강평 5

        평균 평점 5.0

        5

        21% 수강 후 작성

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

        • 권 철민
          지식공유자

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

      • yoogane_kmu님의 프로필 이미지
        yoogane_kmu

        수강평 1

        평균 평점 5.0

        5

        30% 수강 후 작성

        권 철민님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!

        월 ₩15,400

        5개월 할부 시

        ₩77,000