이 글은 Python 웹 프레임워크의 내부 동작을 이해하고자 Flask의 일부 기능을 간략하게 설명합니다. 세부적인 구현은 포함되어 있지 않습니다. https://ooknimm.tistory.com/6 글에서 이어집니다. 프로덕션 환경에서는 uwsgi, gunicorn과 같은 WSGI로 HTTP 서버가 실행되고, 이 서버가 웹 애플리케이션을 호출합니다. WSGI 툴은 동시성, 안정성 등 기능들을 제공하기 때문에 필수적으로 사용됩니다. 반면 개발 환경에서는 단독으로 HTTP 서버를 실행하여 pdb 및 IDE를 통해 디버깅할 수 있어야 합니다. app = Flask(__name__) app.run(port=9000) 위와 같이 app을 직접 실행하면 http서버가 listen 되어 9000 포트로 요청하면 ..
이 글은 Python 웹 프레임워크의 내부 동작을 이해하고자 Flask의 일부 기능을 간략하게 설명합니다. 세부적인 구현은 포함되어 있지 않습니다 https://ooknimm.tistory.com/2 글에서 이어집니다. thread local Django와 달리 Flask는 현재 요청 정보가 담겨있는 request 객체를 함수의 인수로 전달하지 않고 import 하여 사용합니다. from flask import Flask, request app = Flask(__name__) @app.route("/") def home(): print(request) return "hello world" import만 하면 어느 모듈에서든 접근이 가능합니다. 요청이 발생하면 Flask 내부에서 request 객체를 만들..
이 글은 Python 웹 프레임워크의 내부 동작을 이해하고자 Flask의 일부 기능을 간략하게 설명합니다. 세부적인 구현은 포함되어 있지 않습니다. 서버단에서 웹 어플리케이션을 개발한다면 대부분의 경우 웹 프레임워크를 사용합니다. 웹 어플리케이션 개발에 필요한 여러 작업들을 처리해주어 개발자는 자신이 구현하고자 하는 비즈니스 로직에 집중할 수 있기 때문입니다. 웹 프레임워크가 수행하는 기능을 살펴보고 간단히 구현해보겠습니다. 우선 웹 프레임워크를 이해하기 위해선 알아둬야할 개념들이 있습니다. 정적 컨텐츠, 동적 컨텐츠, 웹 서버, CGI, WAS, WSGI입니다. 기본 개념 정적 컨텐츠 html, css, 이미지등과 같이 서버에 미리 준비되어 있는 파일 형태의 컨텐츠를 의미합니다. 동적 컨텐츠 사용자/상..