일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 운동
- FIT XR
- Daily Challenge
- 10분
- 화상영어
- 잡생각
- 30분
- 프로젝트
- 파비최
- 만화도
- 영어공부
- 링피트
- 영어원서읽기
- 사이드
- 괜찮음
- English
- 매일
- 미드시청
- 쓰릴오브파이트
- 3줄정리
- 개발자
- 리얼 클래스
- 뭐든
- leetcode
- 읽기
- Problem Solving
- 월간
- realclass
- Writing
- 스탭퍼
- Today
- Total
파비의 매일매일 공부기록
깔끔한 파이썬 탄탄한 백엔드 - #5 본격적으로 API 개발하기 본문
이번장에서는 트위터 like 한 서비스를 예제로 '미니터' API를 만든다.
책에서 소개된 소스는 https://github.com/rampart81/python-backend-book/ 에서 확인 가능하다.
이 포스팅에서는 책에 나온 소스는 따로 넣지 않을 것이다. 굳이 깃헙에 있는 걸 올릴 필요가..
구현해야 하는 기능은 다음과 같다.
- 회원가입
- 로그인
- 트윗
- 다른 회원 팔로우 하기
- 다른 회원 언팔로우 하기
- 타임라인(해당 사용자 & 사용자가 팔로우하는 사용자들의 트윗들 표시)
보통은 DB에 테이블 등 모델링이 끝난 다음에 API를 만드는데
이 책에서는 API를 만들고 DB 쪽 작업을 진행한다.
아래에는 각 구현 기능들에 대해 필요한 요소들에 대한 설명이 소개된다.
회원가입
- id / name / email / password / profile의 필드
- 예제에서는 id를 1부터 시작해서 1씩 증분 하는 형태로 만드는데, 보통은 db에서 auto increment로 자동 생성해줌
트윗
- 300자 초과하면 400 Bad Request, 300자 이하면 글 올리기 수행
- 예제에서는 authentication을 단순 id로 구현하나, 실제로는 보안 이슈로 token 등 다른 수단을 사용(이게 사실 핵심인데 ㅠㅠ 다음에 나오는 장 들에서 소개한다니 일단 패스)
팔로우/언팔로우
- JSON 엔코더 소개됨
타임라인
- DB가 없는 상태라 타임라인의 응답 결과를 제대로 보려면 서버 시작 후 사용자 생성, 트윗 생성, 팔로우 등의 사전 작업을 거쳐야 함.
소스 실행 후기
- pycharm 초기 설정이 필요. Edit configurations에서 module로 바꾸고 flask 입력. parameters는 run. FLASK_ENV, FLASK_APP은 Environment variables에 추가하면 됨. (https://krksap.tistory.com/1750)
'Study > Python' 카테고리의 다른 글
깔끔한 파이썬 탄탄한 백엔드 - #7 인증 (0) | 2021.08.03 |
---|---|
깔끔한 파이썬 탄탄한 백엔드 - #6 데이터베이스 (0) | 2021.08.02 |
깔끔한 파이썬 탄탄한 백엔드 - #4 HTTP의 구조 및 핵심 요소 (0) | 2021.07.31 |
깔끔한 파이썬 탄탄한 백엔드 - #1~#3 (0) | 2021.07.30 |
파이썬 병렬 프로그래밍 - #8 비동기 프로그래밍 (0) | 2021.07.26 |