Flask 핵심 아키텍처 분석: CBV, 템플릿, 세션, 요청 확장 가이드
클래스 기반 뷰(CBV) 구현 및 라우팅 바인딩
Flask에서 클래스 기반 뷰를 활용하면 HTTP 메서드별로 로직을 명확히 분리할 수 있습니다. MethodView를 상속받아 구현하며, as_view() 메서드를 통해 라우터에 등록합니다.
from flask import Flask
from flask.views import MethodView
app = Flask(__name__)
app.config['DEBUG'] = True
class UserEndpoint(MethodView): ...
9월 12일 12:34에 게시됨
Pytest 훅을 활용한 맞춤형 테스트 결과 보고서 작성
Pytest로 테스트 결과를 시각화할 때 흔히 pytest-html이나 allure-pytest 같은 플러그인을 활용합니다. 하지만 프로젝트 특성에 맞는 독자적인 보고서 형식이 필요한 경우, Pytest의 내부 훅(Hook) 메커니즘을 직접 활용하는 것이 유연한 해결책이 됩니다.
핵심 접근 방식
테스트 실행이 완료된 후 자동으로 HTML 보고서를 생성하려면 세 가지 요소가 필요합니다:
테스 ...
7월 28일 13:32에 게시됨
Flask 기반 웹 애플리케이션 개발 시작하기
기초부터 시작하는 Flask 웹 프레임워크 활용법
Flask는 파이썬 기반의 경량 웹 개발 프레임워크로, 모듈성과 유연성을 갖춘 미니멀한 설계를 특징으로 합니다. 내부적으로 Werkzeug(WSGI 툴킷)와 Jinja2 템플릿 엔진을 기반으로 하며, 필요에 따라 다양한 확장 기능을 쉽게 통합할 수 있습니다. 이 문서에서는 간단한 예제를 통해 Flask를 어떻게 설정하고 사용하는지 단 ...
7월 13일 17:24에 게시됨
Flask 웹 프레임워크의 핵심 아키텍처 및 구현 가이드
Flask 설치 및 개요
Flask는 파이썬으로 작성된 경량화 및 높은 확장성을 자랑하는 WSGI 웹 애플리케이션 프레임워크입니다. 최소한의 핵심 기능만 제공하며, 필요한 기능은 확장 모듈을 통해 추가할 수 있는 마이크로서비스 아키텍처에 적합한 구조를 가지고 있습니다. 특히 스레드 로컬(Thread Local) 기반의 컨텍스트 관리 메커니즘이 뛰어나다는 점이 큰 장점입니다.
p ...
6월 23일 01:02에 게시됨
Flask 보안 취약점 분석: CandyShop CTF에서 Session 위조, Prototype Pollution, SSTI 연쇄 공격
Flask Session 메커니즘의 함정
Flask는 클라이언트 측에 저장되는 signed cookie 기반 세션을 사용한다. 서버 부담은 줄지만, SECRET_KEY의 기밀성이 전부를 좌우한다. 서명만 있을 뿐 암호화가 아니므로 쿠키 내용은 누구나 열람 가능하며, 키가 유출되면 위조도 가능해진다.
from flask import Flask, session
import os
srv = Flask(__name__)
# 위험: 짧고 추측 가 ...
6월 21일 18:26에 게시됨
Flask 프레임워크 기반 데이터베이스 및 템플릿 개발 가이드
데이터베이스 마이그레이션 설정
SQLAlchemy와 Alembic을 활용한 데이터베이스 스키마 관리는 다음과 같은 세 단계로 진행됩니다.
flask db init
flask db migrate
flask db upgrade
db init: 마이그레이션 파일을 저장할 migrations 폴더를 생성합니다.
db migrate: ORM 모델 변화를 기반으로 자동으로 변경 스크립트를 생성합니다. 예: 850b7054a4f6_.py.
db upgrade: ...
6월 1일 21:19에 게시됨