Spring 백앤드개발자의 Django 적응기

sungsik kim
점프컴퍼니 기술 블로그
2 min readNov 12, 2021

들어가며

저는 spring backend 경험과 python 으로 자동화를 위해 프로그램을 만든 경험이 있습니다.
Spring, mybatis, flask, sqlAlchemy 경험이 있습니다.
아래 작성한 글은 제가 직접 경험 하면서 느꼈던 느낌을 작성한 경험담 입니다

어떤 어려움이 있었는가?

Spring을 경험한 개발자로써 python으로 web sever를 구축 및 통합적인 framework를 사용한 경험은 신선했습니다. 필요한 것은 거의 다 제공하고, 따로 세팅이 필요없는 개발을 할 수 있다는 신선함이 있었고 개발도 빨리 되었습니다. flask와 sqlAlchemy의 경험이 있었지만 그것과는 전혀 다른 Django의 queryset 및 rest framework 구조는 처음 접했을때는 당황했었고, 개발팀 내 여러분들의 도움 덕분에 차차 적응을 하였습니다.
지금은 어느정도 적응을 하여 Spring과 어떠한 차이점이 있는지 알게 되었습니다.
제가 생각하는 Spring과 비교해서 제가 경험한 차이점은 아래와 같습니다.

Spring와 Django의 차이점

  1. Django는 기본적인 CRUD는 자동으로 만들어준다.
  2. 보안에 필요한 설정은 Setting파일에 한번에 끝난다.
  3. db migration이 기본적으로 제공되어 db의 추적이 가능하다.
  4. admin을 간단한 설정만으로 자동 생성한다.
  5. 필요할때만 queryset을 이용하여 유연하게 사용한다.
  6. Page, order, filter, search기능에 처음부터 구현해야한다는 부담이 없다.
  7. 기본적인 권한 설정이 되어 있어 구현이 간단하다.
  8. 스케쥴러가 내장되어 있다.

하지만 편한만큼 아래와 같은 단점도 존재 했습니다.

  1. 처음 개발을 하기 위해 공부를 해야하는 것이 많다.
  2. 내부적으로 어떻게 실행이 되는지 파악을 할수가 없다
  3. 스프링과는 다른 orm 사용법을 이해해야한다.

후기

우연히 신규 프로젝트에 처음으로 접 했는데 해보고 나서 느낀점은 규모가 작은 스타트업에서 여러가지 기능들이 필요한데 그 필요한 기능들을 손쉽게 개발하고, 안정적으로 빠르게 개발 할 수 있다는 생각이 들었습니다. 아무래도 스타트업이라면 적재적소의 타이밍에 맞게 필요한 기능들을 만들고 필요없으면 제거를 하는 순환이 빠르게 되어야 하기 때문에 적절한 선택이라는 생각이 들었습니다. 다른 좋은 framework가 많겠지만 이제 막 시작하는 스타트업이나, 규모가 작은 스타트업에 Django를 추천합니다.

--

--