2024. 12. 29. 11:00ㆍ카테고리 없음
GPT - o3 나오고 AGI 에 달성했다!! 라는 뉴스를 접했다.
AGI란, 간단히 말하면 인간 수준의 지능을 가진 강 인공지능 이라고 생각하면 된다.
향후 개발자는 어떤 길을 걷게 될까.. 난 아직 잘 모르는 감자라 많이 막막하고 두려운데
한편으로 GPT 무료를 굉장히 애용하는 사람으로써 기대가 되기도 한다.
그래서 이번에 이전부터 해볼까 생각만했던 GPT만 사용해서 아무거나 만들어서 배포하는거 까지
진행을 해볼까 한다....!!
겸사겸사 내가 해보고 싶었던 fast API 를 배우면서 진행해볼건데 일단 fastAPI 기본부터 하고
뭘 만들지도 향후에 GPT와 의논을 해보도록 하자.
잘 알고 있다고 하네
gpt를 사용하기 위해 흔하게 사용한다는 "역할 부여" 를 해주고 진행하자
1. 기본 개념 및 환경 설정
이제 이 절차에 따라서 기본을 만들어 보자
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, FastAPI!"}
짜잔
API 문서를 자동으로 생성해 준다고 한다.
현재 localhost:8000/docs 로 들어가면 확인할 수 있다.
근데 문서에서 Swagger랑 ReDoc이 뭘까 공식 문서를 포함하여 설명하라 하자.
지금의 무료 GPT는 공식 문서를 읽을 수 있다.
+ 아마 gpt-4o 무료가 소진되기 전까진 가능하다 생각한다.
음 이해해보면
Swagger UI 는 협업을 위한 인터페이스
ReDoc은 인터페이스 기반으로 문서화 한 것 정도로 이해할 수 있는거 같다.
GPT에게 내가 이해한 것이 맞는지 질문해 보았다.
더 명확하게 설명해줘서 이해하기 편하네..
아 생각해보니 강의라면 강의 계획표가 있어야 한다. gpt는 자주 까먹으니 잘 스크랩 해놓고 챕터대로 물어보자.
FastAPI 강의 계획
1. 기본 개념 및 환경 설정 (완료)
- FastAPI 설치 및 설정
- 첫 번째 API 엔드포인트 작성 및 실행
- Swagger UI와 ReDoc 사용법
2. 요청 및 응답 처리 (Request/Response)
- 요청 매개변수: Query, Path, Body
- 유효성 검사: Pydantic을 사용한 데이터 검증
- JSON 응답: Dict 및 Pydantic 모델 활용
3. FastAPI 라우터 및 구조화
- 라우터를 사용하여 코드 분리하기
- 모듈화된 프로젝트 구조 설계
4. 의존성 주입 (Dependency Injection)
- FastAPI의 의존성 주입 개념
- 공통 로직 (ex. 인증, 데이터베이스 연결) 재사용하기
5. 데이터베이스 연동
- SQLAlchemy 및 FastAPI 연동
- 데이터베이스 CRUD 작업
- 비동기 데이터베이스 (ex. async SQLAlchemy)
6. 인증 및 권한 관리
- OAuth2와 JWT를 사용한 인증
- 사용자 등록 및 로그인 기능 구현
- 권한 관리 (Role-Based Access Control)
7. 비동기 처리 및 배포
- FastAPI에서의 비동기 처리
- Uvicorn과 Gunicorn을 사용한 서버 배포
- Docker를 활용한 컨테이너화
8. 고급 주제
- WebSocket 구현
- Background Tasks 사용하기
- 이벤트 기반 처리 및 메시지 큐 연동
9. 프로젝트 실습
- 간단한 RESTful API 프로젝트 작성
- To-Do 리스트, 블로그, 또는 간단한 소셜 네트워크 등 선택
- 문서화 및 배포
10. 추가 학습
- FastAPI 커뮤니티 리소스 및 패턴
- 확장 기능 (ex. GraphQL, gRPC)
오늘은 여기까지...