IDU-IFP / ifp-flask-study

📖 IFP's Flask Framework study repository
0 stars 6 forks source link

IFP - Flask 튜토리얼 가이드

💡 Flask 란?

Untitled

Flask는 Python 으로 작성된 마이크로 웹 프레임워크 중 하나입니다. 파이썬으로 작성된 또 다른 풀 스택 웹 프레임워크인 Django 가 Django ORM, 관리자 페이지 등을 자체 제공해주는 것과는 다릅니다. 플라스크 공식 문서에서는, “마이크로는 무엇인가?” 에 대해서 아래와 같이 설명하고 있습니다.

The “micro” in microframework means Flask aims to keep the core simple but extensible. 마이크로프레임워크의 "마이크로"는 Flask가 핵심을 단순하지만 확장 가능한 상태로 유지하는 것을 목표로 함을 의미합니다.

Django, FastAPI, Flask 는 파이썬으로 작성된 웹 프레임워크의 삼대장 자리를 차지하고 있습니다. 백엔드 언어로 파이썬을 사용하는 기업이라면, 열에 적어도 아홉은 위의 세 프레임워크 중 하나를 쓰고 있을 것이라 장담합니다. 본 튜토리얼을 진행하면서, 웹 백엔드에 대한 아주 기초적인 개념을 훑어볼 수 있는 좋은 기회가 되길 바랍니다. 🙂

💁🏼 Flask 를 백엔드로 사용하는 서비스들

Flask 를 백엔드 기술로 사용 중인 기업들을 소개합니다.

이 외에도, 1000개 이상의 기업들이 Flask 를 사용하고 있습니다.

Untitled

✅ Netflix

Untitled

✅ Reddit

Untitled

✅ trivago

Untitled

✅ Patreon

Untitled

✅ Pinterest

Untitled

✅ Barogo

Untitled

✅ Uber

Untitled

✅ AB180

Untitled

✅ MIT

Untitled

✅ Pinterest

📄 Flask 한글 공식 문서

Flask의 세계에 오신것을 환영합니다. - Flask 0.11-dev documentation

🌐 Flask 공식 홈페이지

Welcome to Flask - Flask Documentation (2.2.x)

💾 Flask 깃허브 저장소

https://github.com/pallets/flask

😎 튜토리얼에서 진행하는 프로젝트들

튜토리얼에서 진행하는 프로젝트를 소개합니다. 튜토리얼을 성공적으로 마무리하면, 아래의 프로젝트들이 완성되어 있을 것입니다.

튜토리얼의 프로젝트를 완료하고 나서 마무리하기보단, 자신이 추가하고 싶었던 기능들을 추가로 구현해보며 공부하시는 것을 적극 추천드립니다!

나만의 블로그

Flask 로 회원 관리, 게시물, 관리자 페이지, 댓글 작성, 컨택트 폼 등의 기능을 가지고 있는 자신만의 블로그 웹 애플리케이션을 직접 작성해 봅니다. 테스트 코드 또한 도입해 보며, 코드로 자신이 작성한 코드를 직접 테스트해 봅니다. 테스트 주도 개발에 대해서도 이해해 봅니다.

Untitled

Untitled

Untitled

Untitled

간단한 REST API (1)

간단하게 동작하는 REST API를 구축해 봄으로서, HTTP Method와 JSON, WEB API에 대해 이해합니다. 플라스크에서 어떻게 JSON으로 응답을 주고받는지에 대해서 알아봅니다.

Untitled

간단한 REST API (2)

Flask-Restful 이라는 외부 패키지를 이용해 Create, Read, Update, Delete 를 수행할 수 있는 REST API를 구축해 봄으로써, Flask의 Pluggable View 의 개념에 대해 이해하고 활용해 봅니다.

Untitled

인스타그램 클론코딩

플라스크로 이미지 업로드, 회원가입, 회원탈퇴, JWT를 활용한 로그인, 팔로우/언팔로우 등의 기능을 가지고 있는 인스타그램을 Flask로 구현해 봅니다. 자신이 작성한 API에 대한 테스트 코드를 작성함으로서, 자신의 코드가 잘 작동하는지 임의로 정한 테스트 케이스에 대해 검증해 봅니다.

Untitled

(2022.11.16 현재 진행중)

🌟 추천 커리큘럼

아래의 과정들을 따라가며, Flask 를 공부해 보세요.

Flask 개발 환경 설정하기 ( VSCode)

[OS - Windows] - "Windows11 환경에서 FLask 개발 환경 준비하기"

Flask 에서 Routing 이란?

[REAL Python - Flask] - "Flask - 플라스크의 Routing, Http GET, POST Method 처리하기, (Create, Read 구현)"

Flask 로 나만의 블로그 개발하기 (1) - 개발 초석 다지기

[REAL Python - Flask] - "블로그 웹 애플리케이션 개발(0) - 프로젝트 생성, 패키지 설치, 기본 작업"

Flask 로 나만의 블로그 개발하기 (2) - 로그인, 회원가입 구현하기

[REAL Python - Flask] - "블로그 웹 애플리케이션 개발(1) - 로그인/회원가입 처리하기"

Flask 로 나만의 블로그 개발하기 (3) - 관리자 페이지, 카테고리, 게시물 시스템 구현하기

[REAL Python - Flask] - "블로그 웹 애플리케이션 개발(2) - 테스트 코드 도입, 관리자 페이지, 카테고리, 게시물 다루기"

Flask 로 나만의 블로그 개발하기 (4) - 게시물 삭제, 댓글, 컨택트 폼 기능 구현하기

[REAL Python - Flask] - "블로그 웹 애플리케이션 개발(3) - 댓글 CRUD, 게시물 삭제 처리, 간단한 contact form 구현하기"

Flask 로 간단한 REST API 구현하기 (1) - JSON 응답하기

[REAL Python - Flask] - "Flask HTTP API(1) - 간단한 HTTP API 구축해보기"

Flask 로 간단한 REST API 구현하기 (2) - Flask-restful

[REAL Python - Flask] - "Flask HTTP API(2) - Flask-RESTful 로 생성, 조회 api 구축하기"

[REAL Python - Flask] - "Flask HTTP API(3) - Flask-RESTful 로 삭제, 수정 api 구축하기"

marshmallow 로 파이썬 객체 직렬화 / 역직렬화 처리하기

[REAL Python - Flask] - "Flask HTTP API(4) - marshmallow 로 Python에서 직렬화 / 역직렬화 처리하기"

인스타그램 클론코딩 프로젝트 (1) - 프로젝트 기본 세팅

[REAL Python - Flask] - "인스타그램 클론코딩 - Instagram Clone (1)"

인스타그램 클론코딩 프로젝트 (2) - 게시물 목록, 상세에 대한 CRUD API 구현하기

[REAL Python - Flask] - "인스타그램 클론코딩 - Instagram Clone (2)"

인스타그램 클론코딩 프로젝트 (3) - 프론트엔드 단에서 연결해 보고, 회원가입 구현하기

[REAL Python - Flask] - "인스타그램 클론코딩 - Instagram Clone (3)"

인스타그램 클론코딩 프로젝트 (4) - JWT 발급, 게시물 작성 시 로그인한 사람이 저자로 자동 추가되도록 구현하기

[REAL Python - Flask] - "인스타그램 클론코딩 - Instagram Clone (4)"

인스타그램 클론코딩 프로젝트 (5) - Werkzeug, WSGI, NGNIX 알아보고, 게시물에 이미지를 붙여 업로드하기

[REAL Python - Flask] - "인스타그램 클론코딩 - Instagram Clone (5)"

인스타그램 클론코딩 프로젝트 (6) - 무한 스크롤과 댓글 API 구현하기

[REAL Python - Flask] - "인스타그램 클론코딩 - Instagram Clone (6)"

현재 업데이트 중입니다