Flask로 프레임워크와 백엔드 개발 간략하게 알아보기

Lev·2022년 2월 27일
0

아래의 내용은 박응용『Do it! 점프 투 플라스크』, 이지스퍼블리싱(2020) 에 등장하는 코드를 기반으로 하고 있습니다.


프레임워크란?

권장되는 형식이 존재하여 이를 따르기만 하면 더 편리하게 웹 개발이 가능하다.

DB

원시 형태와 다르게 직접 쿼리를 작성할 필요가 없다!

  • models.py

    • DB의 테이블이 클래스 형태로 정의되어 있다.
    • 쿼리를 사용하는 방식이 아니라, 클래스를 직접 작성하는 방식으로 새로운 테이블을 등록할 수 있다. (migration)
  • SQLite

    • MySQL에 비해 직접 관여할 수 있는 부분은 적으나, 가볍고 빠르다는 장점이 있다.
    • 테이블은 전부 pybo.db에 저장되어 있다.

views

  • main_views.py
    • 어떤 루트를 통해 접속했는지에 따라 어떤 화면을 표시해줄지 분류
  • Blueprint
    • 블루프린트를 지정해두면 'url for'를 이용해 다른 블루프린트로 즉시 접근이 가능하다. (마치 전체에 공유되는 클래스에 접근하듯이)

templates

  • 만약 1인 개발이라면, 여기서 html을 사용하여 프론트까지 간략하게 정의할 수 있다.
  • 백에서 필요한 정보를 html 파일 안에서 직접적으로 가지고 오는 형태를 취한다.
  • 프론트&백 협업이라면 비효율적인 방법이라, 두 파트를 나눠 개발할 때에는 작성할 필요가 없다.

엔드포인트란?

사용자 ---- 웹서버|WAS(php) --(SQL)-- DB

프론트엔드와 백엔드가 만나는 곳

  • 웹서버가 DB에게 물어 대답을 얻어야 하는 지점
  • 배포 시에 프론트와 백을 따로 올리게 되는데(다른 도메인...인가? 좀 더 알아봐야 한다), 프론트에서 정보에 접근이 필요할 때 특정 루트(엔드포인트)로 백을 호출하게 된다.
  • 백은 해당하는 엔드포인트에 상응하게 동작해야 한다.

REST API

API를 작성하는 보편적인 형식 중 하나

  • 엔드포인트의 루트를 개인적인 기준으로 작성하지 않고, 일반적으로 약속된 형식으로 적기 위함이다.
  • 약속대로 적었을 때 서로 이해하기 쉽고 통일성을 가질 수 있다.
profile
⋆꙳⊹⋰ 𓇼⋆ 𝑻𝑰𝑳 𝑨𝑹𝑪𝑯𝑰𝑽𝑬 ⸝·⸝⋆꙳⊹⋰

0개의 댓글