Skip to content

Latest commit

 

History

History

toy_project_product_manage_with_flask

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

1️⃣ Intro

사내 E-커머스 웹 애플리케이션 등을 유지보수하는 일을 하기 전, 나는 웹 개발을 해본 적 없는 비전공자였기때문에 관련 Toy Project 를 진행했다. 대부분의 사내 back-end 시스템이 Django 로 개발이 되어있었지만 개발팀의 다른 팀원들에게 물어보니 Django 는 지금 우리 시스템의 규모를 생각했을때 over-spec 이라는 의견이 있었다.

그리고 처음 back-end 개발을 장고로 시작하면 어려울 수 있다는 조언도 있었기 때문에 여러 프레임워크들 중 Flask 를 골라 documents 를 읽어보면서 간단한 웹 애플리케이션부터 만들면서 프레임워크에 익숙해지고 최종 Toy Project 를 완성하였다.

2️⃣ Contents

2.1. Tutorials

  1. Quick Start

    • 프레임워크를 처음 접하다 보니 Documents 의 Quickstart 를 보고 주석을 달면서 공부했다.
    • 이해하기 어려운 내용들도 많았지만 우선 적으면서 최대한 흐름이라도 파악해보려고 노력해보았다.
  2. flaskrapp test

    • Quick Start 와 마찬가지로 Documents 의 Flaskr 을 참고하였다. (번역 페이지)
    • 로그인, 로그아웃 기능을 추가하는 Tutorial 로 자격 검증을 하는 과정을 추가하여 관리자만 DB 접근의 허용하도록 하는 것이 목표
    • 또, Flask app 을 테스트하는 방법도 제시된대로 따라서 작성하고 주석을 달면서 내용을 파악해보려고 시도했다.
    • 그 외에, signal note, pluggable views note, application context note 등을 작성하며 공부해보았다.
  3. Flask 와 RDBMS(MySQL) 연동

    • 참고한 Documents 보면서 코드를 작성했지만, 사내에서는 MySQL 을 사용하고 있기 때문에 Documents 에서 제시한 sqlite3 모듈 대신 pymysql 을 사용하였다.
    • 여기까지만 진행해도 Toy Project 를 진행하는데 무리가 없다고 생각하여 상품 데이터를 관리하는 웹 애플리케이션을 작성해보았다.

2.2. Toy Project

3️⃣ 회고

  • Front-end, Back-end 를 모두 체험해보며 웹 개발의 전반적인 프로세스를 경험해보았음.
    • 버그가 많기는 했지만 실제로 돌아가는 웹 애플리케이션을 만들어보았을때 내심 뿌듯함을 느꼈음.
    • 프로젝트를 진행할때는 먼저 어떻게든 빠르게 돌아가는 웹 앱을 만들어보는 것이 중요하다고 생각하게됨.
  • 주로 Back-end 에만 몰두했기때문에 Front-end 를 거의 신경쓰지 않아 UI 가 엉망인 점이 아쉬웠음.
  • 코드를 깔끔하게 짜지도 않았고 모든 기능을 하나의 모듈에 몰아넣다보니 기능추가도 어렵고 기독성도 떨어졌다는 점이 아쉬웠음.
    • 그러나 그만큼 리팩토링의 중요성을 알게된 계기가 된 점은 긍정적으로 생각함.
    • 사내 개발자들이 리팩토링 작업에만 2달 가까이 되는 시간을 쏟아부은 것이 이해가 되었고 꼭 필요한 작업이라는 점을 깨닫는 계기가 되었음.