flask 2

[Flask] 'Flask'란?

1. 플라스크(Flask)란? 플라스크(Flask)란 파이썬을 기반으로 작성된 마이크로 웹 프레임워크(framework) 중 하나로, Werkzeug 툴킷과 Jinja2 템플릿 엔진에 기반을 둔다. 플라스크는 Docs를 읽으면 알 수 있지만, '단순한 업무는 단순해야 한다'라는 설계 원칙이 있다. 이런 원칙 덕분에 비교적 쉽게 이해하고 작성할 수 있다. 이런 측면 때문에 웹 개발 관련해서 가르칠 때도 많은 곳에서 플라스크를 가르치는 것 같다. 하지만 쉬운 만큼 단점도 있는데 그중 하나는 보안 부분에서 비교적 취약하다는 것이다. 플라스크와 그 안의 Jinja2 템플릿에도 당연히 보안을 위해 설계된 구조가 있지만, 때로는 오히려 그런 부분들이 보안 이슈를 일으키기도 한다는 것이다. 이제 막 공부하기 시작한 ..

[Web] API 설계 시 데이터 타입 POST, GET 사용법(feat. CRUD, Flask)

GET, POST와 같은 데이터 타입을 이해하려면 우선 API가 무엇인지 이해해야 합니다. 간단하게 요약하면 API는 서버와 클라이언트가 서로 다른 프로그램(예를 들면 서버는 Python, 클라이언트는 html, JS)에서 요청과 응답을 서로 주고받을 수 있도록 만든 체계입니다. 대개 클라이언트는 요청을 보내고, 서버는 이에 대한 응답(데이터)을 제공하는 구조인데, 여기서 이 요청에 대한 종류를 크게 4가지, CRUD로 나눌 수 있습니다. CRUD는 각 알파벳마다 Create, Read, Update, Delete 등의 데이터 요청 방식을 의미합니다. 여기서 각 데이터 요청 방식에 따라 API에서는 마치 스티커(실제로는 메소드라고 부름)처럼 데이터 타입을 미리 정의하고, 각 방식에 알맞게 요청과 데이터가..