본문 바로가기

book

코딩 자율학습 FastAPI 파이썬 백엔드 개발 입문

반응형

python을 통한 개발을 진행시, AI및 최근 바이브 코딩등에서 RESTAPI 및 비지니스 로직을 개발시에

FastAPI가 많이 사용되고 있습니다. 기본적으로 간단한 get, post등에 대한 간단한 구현은 쉽지만 

실제 서비스에 적용하기 위해서는 동작방식 및 원리를 알고 활용하는것을 추천합니다.

코딩 자율학습의 컨셉은 스스로 책을 따라하면서, 쉽게 풀어서 설명하는 컨셉을 가지고 있어서

빠르게 원리를 파악하기 쉽게 구성되어 있습니다.

 

 

 

살펴보기 / 기능 구현하기

· FastAPI의 기능은 정말 다양합니다. Python에 대한 기능을 활용해서 프레임워크에서 활용한 방법 및 FastAPI을 이용한 기능 구현까지

살펴보면서, 서비스 구현에 필요한 개념을 학습합니다.

> 기존에 파이션으로 구성된 프레임워크 Flask, Django와 함께 비교해보면서 차이점 살펴보기

> FastAPI의 특징 (타입 힌트, 자동완성등)

> Pydantic 개념을 통해서, 정상값/비정상값 검증하는 방법

> Swagger를 통한 문서화 및 테스트 방법

> CRUD구현을 통해서 GET, POST, PUT/PATCH, DELETE 기능 

> ORM을 통한 mysql을 연동하기

 

기능 구현 관련

> 회원가입 하기

> 로그인과 인증 구현(JWT)

> FastAPI의 고급기능 

 

 내용 살펴보기

· PyCharm을 이용해서 구성합니다. FastAPI를 지원하는 IDE 여서 쉽게 환경구성 할수 있습니다. 가상환경 구성도 쉽게 됩니다.

 웹개발을 처음 할때의 기본 개념인 파라미터 및 Swagger를 통해서 쉽게 테스트 할수 있게 따라하면 됩니다.

 

처음 웹개발을 접근하는 독자분들도 http의 상태코드 별 차이를 살펴보고 요청을 하는 것과 응답을 하는 방식을 통해서

응답 본문에 JSON을 통해서 어떻게 1개의 값을 제공하거나, List로 다양한 정보를 제공하는 방식등은 어떻게 해야 하는지 하나하나 살펴봅니다.

 

서비스를 구현하기 위해서는 데이터를 조회하고, 신규로 입력하는것은 가장 기본이 되는 기능입니다.

이것을 우리는 CRUD라고 표현합니다.

http요청을 보낼때, 우리는 method를 구분지어서 호출합니다.

C (데이터 생성) : POST

R (데이터 조회) : GET

U (데이터 수정) : PUT, PATCH

D (데이터 삭제) : DELETE

 

코드에 대한 주석 및 코드 설명이 자세히 되어 있어서, 처음 코드를 보는 경우에도 그 의도를 알기 쉽게 구성되어 있습니다.

 

DB를 통해서 데이터 저장하기

· DataBase를 연동하는 것은 처음에 이해하는 것이 어려울수 있습니다.

이 내용은 책을 통해서 다 알기 어려운 부분도 있지만, 책의 컨셉에 맞게 가장 중요한 핵심 내용이 있습니다.

중요한 개념은 ORM과 SQLAlchemy입니다. 

보통 DB에서 조회를 할때, sql 쿼리문을 작성을 사용하는데, ORM개념을 통해서 쿼리문 대신에 정보를 조회하고

그것을 SQLAlchemy을 이용합니다.

이러한 방식은 java, node등 다른 언어를 사용하는 방식에서도 일반적으로 사용되는 방식입니다.

 

· 회원가입을 통해서 이것을 접목시켜봅니다.

모델이라는 개념을 통해서 ORM의 테이블 개념을 적용해보고, 기본키, 외래키는 무엇인지 적용해봅니다.

조금은 어려운 개념일수 있습니다. 너무 처음부터 모든 내용을 다 설명하는것 보다 반드시 알아야 하는 필수적인 요소를 통해서

다음에 이 개념을 확장해서 학습할 수 있어서, 혼돈없이 집중할수 있는 구성이 더 좋았습니다.

 

· 보안적인 부분도 공부하기

일반적으로 권한에 대해서 체크가 없는 부분도 있지만, 기본적으로는 개인화가 필수적입니다.

FastAPI에서 어떤 방식으로 보안을 체크할까요?

이것을 로그인 API를 구현하면서, 이론적인 개념이 필요합니다.

세션방식으로 인증구현하기, JWT방식으로 인증 구현하기 이렇게 2가지 방식으로 구현 테스트를 합니다.

두 방식 모두 반드시 알아야 하는 중요한 개념이고, 각각 실습할수 있게 예제코드를 설명이 있습니다.

 

· FastAPI 고급기능 알아보기

지금까지 기본적인 동작방식을 살펴보았고, 서비스를 더욱 더 안정적으로 운영하면서 이미 만들어져 있는 다양한 기능을 

소개합니다. 이러한 방식이 있다는 것만 알고 있어도, 나중에 서비스 구현시 참고할수가 있습니다.

> Lifespan : 애플리케이션의 시작과 종료 시점을 관리

> 의존성 주입

> 백그라운드 태스크

> 파일 처리 : 파일 업로드, 다운로드를 비롯한 전체 흐름

 

무조건 쉬운 내용만 있다고 해서, 처음 새로운 기술을 이해하기 좋은 방식은 아닙니다.

필수적인 요소, 반드시 필요한 개념을 잘 설명하고 그것을 기반으로 다음에 더 필요한 부분을 확장해서 나아갈 수 있는 

기반이 되는 것이 중요합니다. 

이책은 그런 부분을 잘 충족하고 있는 책이라고 생각합니다.

 

 

 

반응형