강의링크

리포지토리

의존성 패키지

강의 완료 이후에 Flask2.0 버전이 출시되었네요. Flask 2를 지원하는 오픈소스를 다운로드 바랍니다.

  • python3.8
  • flask==1.1.2
  • alembic==1.5.6
  • Flask-Migrate==2.7.0
  • flask-restx==0.2.0
  • Flask-SQLAlchemy==2.4.4
  • Flask-WTF==0.14.3
  • PyMySQL==1.0.2
  • pytest==6.2.2
  • pytest-watch==4.2.0

Flask 기초: Flask의 주요 기능과 템플릿 엔진을 통한 로그인 환경 구축

기초에서는 어렵지 않은 선에서 Flask의 주된 기능을 살펴보고 학습합니다.

구분 NO 대주제 소주제 소스버전 링크
1/A 1 프로젝트 소개 및 준비 강의 소개   link
1/A 2 프로젝트 소개 및 준비 개발환경 설명   link
1/A 3 프로젝트 소개 및 준비 프로젝트 소스 보는 법   link
2/B 1 플라스크 기초 플라스크란?   link
2/B 2 플라스크 기초 플라스크 첫 실행, 디버그 모드 1.0.0 link
2/B 3 플라스크 기초 플라스크 어플리케이션 팩토리 1.1.0 link
2/B 4 플라스크 기초 플라스크 기본 라우터 1.2.0 link
2/B 5 플라스크 기초 플라스크 리퀘스트 후크와 어플리케이션 컨텍스트 1.3.0 link
2/B 6 플라스크 기초 플라스크 메서드 처리와 리퀘스트 컨텍스트 1.4.0 link
3/C 1 템플릿 엔진 기초 플러거블 HTML 레이아웃과 템플릿 렌더링 1.5.0~1.5.3 link
3/C 2 템플릿 엔진 기초 정적파일 추가 및 디버그 환경 캐시제거 1.6.0 link
4/D 1 CSRF 방어 Flask WTF을 이용한 CSRF 공격 조치 1.7.0 link
4/D 2 CSRF 방어 Flask WTF으로 로그인/회원가입 폼 레이아웃 작성 1.8.0 link
5/E 1 플라스크 라우터 확장 플라스크 블루프린트를 통한 라우팅 확장 1.9.0~1.9.1 link
6/F 1 플라스크 메세지 플래싱 플라스크 플래싱으로 폼 유효성 검사 결과 노출 1.10.0 link
7/G 1 로그인 기능 구현 세션이란?   link
7/G 2 로그인 기능 구현 메모리로 로그인 재현 1.11.0 link
7/G 3 로그인 기능 구현 werkzeug로 패스워드 암호화 1.12.0 link
8/H 1 데이터베이스 데이터베이스 로컬 개발환경 구축   link
8/H 2 데이터베이스 RDBMS란?   link
8/H 3 데이터베이스 Flask SQLAlchemy와 Flask Migrate 세팅 1.13.0 link
8/H 4 데이터베이스 데이터베이스 User 모델 생성, DB 마이그레이션 및 업그레이드 1.14.0 link
8/H 5 데이터베이스 Flask SQLAlchemy 기초 쿼리   link
9/I 1 리팩토링 회원가입 및 로그인 리펙토링, 데이터베이스 적재 처리 1.15.0~1.15.1 link
9/I 2 리팩토링 플라스크 매크로와 폼에 MDL 디자인 적용 1.16.0~1.16.1 link
10/J 1 Restful API RESTful의 대표적인 특징 훑어보기   link
11/K 1 API 문서자동화 Flask RESTX로 재사용 가능한 네임스페이스형 API 정의 1.17.0 link
11/K 2 API 문서자동화 유저 단/복수 조회 API 작성 및 리스폰스 맵핑 1.18.0 link
11/K 3 API 문서자동화 유저 추가 API 작성과 리퀘스트 파서 1.19.0 link
12/L 1 DB 마이그레이션 유저 모델 필드 추가, 데이터베이스 마이그레이션 1.20.0 link
13/M 1 Flask Configs 환경별 Flask config 설정 분리 및 정리 1.21.0 link
14/N 1 유닛 테스트와 TDD 유닛테스트 그리고 TDD란?   link
14/N 2 유닛 테스트와 TDD pytest fixture를 통한 테스트 환경 구축 1.22.0 link
14/N 3 유닛 테스트와 TDD pytest 테스트 파일 분리 관리 1.23.0 link
15/O 1 마무리 정리   link

Flask 프로젝트: 기초에서 이어지는 Google Keep 클론코딩

기초에서 만든 기능을 토대로 Google Keep 클론코딩을 진행합니다.

구분 NO 대주제 소주제 소스버전 링크
1/~A 1 프런트 기본화면 설명 프런트 기본화면 제공 및 설명 - HTML, CSS 2.0.0 link
1/~A 2 프런트 기본화면 설명 프런트 기본화면 제공 및 설명 - JS   link
2/~B 1 세션 기반 인증 흐름 구현 API 세션 유효성 검사 전처리기 적용, 메인 페이지 유입조건변경 2.1.0 link
2/~B 2 세션 기반 인증 흐름 구현 테스트 케이스 세션적용과 스콥정의 및 ini 설정 2.2.0 link
3/~C 1 메모 기본 기능 구현 메모 모델생성과 API 연결, DB 마이그레이션 2.3.0 link
3/~C 2 메모 기본 기능 구현 메모 기본 테스트 케이스 작성 2.4.0 link
3/~C 3 메모 기본 기능 구현 메모 복수 조회 API 작성 2.5.0 link
3/~C 4 메모 기본 기능 구현 메모 단수 조회 API 작성 2.6.0 link
3/~C 5 메모 기본 기능 구현 메모 추가 API 작성 2.7.0 link
3/~C 6 메모 기본 기능 구현 메모 수정/삭제 API 작성 2.8.0 link
3/~C 7 메모 기본 기능 구현 메모 추가 API 프런트 반영 2.9.0 link
3/~C 8 메모 기본 기능 구현 메모 조회 API 프런트 반영 2.10.0 link
3/~C 9 메모 기본 기능 구현 메모 단수 조회/수정 API 프런트 반영 2.11.0 link
4/~D 1 ajax CSRF 처리 ajax호출 시 CSRF 헤더 적용 2.12.0 link
5/~E 1 메모 기능 업그레이드 - 조회 메모 조회 페이지 네이션 적용 2.13.0 link
5/~E 2 메모 기능 업그레이드 - 조회 메모 검색 API 작성 및 적용 2.14.0 link
6/~F 1 메모 기능 업그레이드 - 이미지 메모 이미지 테스트 케이스 작성 2.15.0 link
6/~F 2 메모 기능 업그레이드 - 이미지 메모 이미지 추가 API 작성 및 컬럼 추가, DB 마이그레이션 2.16.0 link
6/~F 3 메모 기능 업그레이드 - 이미지 메모 이미지 변경 API 작성 2.17.0 link
6/~F 4 메모 기능 업그레이드 - 이미지 메모 이미지 삭제 API 작성 2.18.0 link
6/~F 5 메모 기능 업그레이드 - 이미지 메모 이미지 추가/변경/삭제 API 프런트 반영 2.19.0 link
7/~G 1 메모 기능 업그레이드 - 삭제 메모 삭제 플래그 테스트 케이스작성 2.20.0 link
7/~G 2 메모 기능 업그레이드 - 삭제 메모 삭제 상태 반영 및 조회 API 작성 및 반영 2.21.0 link
7/~G 3 메모 기능 업그레이드 - 삭제 메모 삭제/복구 프런트 반영 2.22.0 link
8/~H 1 라벨 기본 기능 구현 라벨 모델생성과 API 연결, DB 마이그레이션 2.23.0 link
8/~H 2 라벨 기본 기능 구현 라벨 기본 테스트 케이스 작성 2.24.0 link
8/~H 3 라벨 기본 기능 구현 라벨 추가 API 작성 2.25.0 link
8/~H 4 라벨 기본 기능 구현 라벨 복수 조회 API 작성 2.26.0 link
8/~H 5 라벨 기본 기능 구현 라벨 삭제 API 작성 2.27.0 link
8/~H 6 라벨 기본 기능 구현 라벨 추가, 조회 및 삭제 기능 프런트 반영 2.28.0 link
9/~I 1 메모 라벨링 기능 업데이트 모델 M:N 관계 테이블 - 메모 라벨 모델 관계맺기, DB 마이그레이션 2.29.0 link
9/~I 2 메모 라벨링 기능 업데이트 메모 라벨링 테스트 케이스 작성 2.30.0 link
9/~I 3 메모 라벨링 기능 업데이트 메모 업데이트 API, 라벨링 기능 추가 2.31.0 link
9/~I 4 메모 라벨링 기능 업데이트 메모 라벨링 기능 프런트 반영 2.32.0 link
10/~J 1 Flask 배포 스택 구성 Flask 배포 스택   link
11/~K 1 도커라이징 도커에 대해서   link
11/~K 2 도커라이징 Flask, WSGI 도커라이징 2.33.0 link
11/~K 3 도커라이징 도커 컴포즈를 통한 로컬 개발환경 구축 2.34.0 link
11/~K 4 도커라이징 도커 컴포즈에 nginx 추가하기 2.35.0 link
12/~L 1 배포 AWS EC2 인스턴스 생성   link
12/~L 2 배포 RDS MYSQL 인스턴스 생성 및 데이터베이스 생성   link
12/~L 3 배포 EC2 소스와 데이터베이스 설정 하고 배포하기 2.36.0 link
13/~M 1 마무리 정리 및 고찰   link