티스토리 뷰

요 며칠 포스팅이 뜸했는데 그 이유에 대해서 이야기하려고 이런 "비상사태" 포스트를 올린다.

그동안 짤방 검색기를 만들기 위해서  Flask를 이용한 웹 API 서버를 만드려고 이것저것 시도를 해보다가 규모가 좀 생기려고 하니 Flask가 갖는 태생적 한계점에 부딪히게 되어버렸다.

 

고뇌하는 내 얼굴

일단 이유를 이야기하자면 이렇다.

 

Flask의 장점인 간편한 개발

장점이 바로 단점으로 작용하는 가장 적절한 예가 되어버린 것 같다.

우리는 지난 시간 일단 관리자가 짤방을 등록을 하기 위해서는 로그인을 해야 하고 로그인을 하기 위해서는 관리자를 등록해야 하니 DB를 먼저 세팅하자 해서 MySQL을 설치하는 과정까지 마무리를 했다.

나는 이후에 적절하게 데이터를 잘 입력하는지, 그리고 잘 가져오는지 까지 확인하고 이후의 절차에 대해 고민했다.

관리자 등록을 했으니까 로그인을 만들어야 할 것이고 로그인을 하면 JWT(JSON Web Token: JSON : Javascript Object Notation : 자바스크립트 객체 표현법으로 만들어진 웹상에서 사용하는 인증용 토큰을 JWT라고 한다.)라고 부르는 인증 토큰을 발급받아 정상적으로 로그인한 사용자임을 확인하고 로그인한 사용자가 관리자인지, 혹은 일반 사용자인지 권한을 확인하는 과정도 필요하게 되었다.

 

여기서 문제는 Flask를 이용해서 이 것들을 전부 구현해야 하는데 할 일이 너무 많다는 거다. 일단 로그인을 위한 JWT 토큰 발행에 권한 처리까지 자동으로 처리하는 법이 없다. 내가 Flask에 대해서 깊이 있게 공부를 하지 않아 할 수 있는 섣부른 판단일 수도 있으나 지금까지 조사하고 알아본 바로는 우리가 만들려고 하는 짤방 검색기를 Flask를 이용해서 만드려고 한다면 어찌어찌 만들 수는 있겠으나 향후에 만들어야 할 개인화 서비스라던가 확장 기능들을 만들어야 할 때 "개발하기 간편해서" 사용한 Flask가 독으로 작용할 수 있겠다는 판단이 들었다.

 

고민

나는 고민을 했다.

이럴 바에야 그냥 Java의 Spring boot나 Python으로 개발할 거라면 Django로 만드는 게 편하지 않을까? 아예 PHP의 라라벨도 나쁘지 않겠지.

지금의 내가 알고 있는 Flask로는 CRUD(Create Read Update Delete: 기본적인 웹서비스의 4개 기능을 이야기한다.)를 만드는 수준 이상의 기능을 요구하기란 쉬워 보이지 않았다. 그래서 내가 Flask에 대해 심도 있게 공부를 하고 지금 예상하고 있는 모든 문제점 들을 하나하나 해결 한 뒤에 포스팅을 할 수도 있을 거다.

지금 봉착한 문제들의 해결들은 아직 못 찾은 것이지 분명 어딘가에 존재할 것이고 그것들을 하나하나 찾아서 해결할 수 있을 테니까.

늘 그래 왔던 것처럼 개발자란 문제점들을 찾고 해결하는 사람들이니까.

 

하지만 그렇게 된다면 당분간 포스팅은 힘들어질 것이고 또 흐지부지 되다가 다시 이어서 포스팅을 하자니 애매한 타이밍이 되어버려서 결국 기억 속에서 없어지는 포스트 시리즈가 될 거라는 것을 보지 않아도 알 수 있었다.

 

결론

앞으로의 짤방 검색기는 Python의 Django를 이용해서 개발을 진행하도록 하겠다. 포스팅은 늦출 수 없고 Flask를 공부하다가 벌써 일주일이나 포스팅을 못한 것은 더 미룰 수 없으니까. 이다음 포스팅은 Django로 진행하며 개발환경 세팅하는 것부터 다시 시작하도록 하겠다.

 

지금까지 Flask 해보겠다고 이리저리 환경 세팅 따라 하느라 고생들 많이 하셨을 텐데 고개 숙여 사과하겠다. 미안합니다.

죄송합니다 ㅠㅠ

댓글
댓글쓰기 폼