장고 프로젝트를 개발할 때 우리는 다음과 같은 개념들을 숙지해야 합니다.
프로젝트를 진행할 때 필수적이지 않은 부분들은 새로운 기능을 추가하거나 기존 기능을 유지보수하는 데 큰 방해가 됩니다.
때문에 우리는 단순명료하게 프로젝트를 개발해야합니다.
"단순함은 곧 고도의 정교함이다"
장고 프로젝트를 개발하며 로직(코드)를 어디에 넣을지 결정해야 한다면, 우리는 이 개념을 떠올려야합니다.
이 개념에 따르면 우리는 뷰와 템플릿(필터)를 제외한 다른 부분에 더 많은 로직을 넣어야 합니다.
이를 통해 코드는 더 깔끔해지고, 문서화도 더 잘될 것이며, 중복되는 부분이 많이 줄어들고, 재사용 측면에서 훨씬 유용해질 것입니다.
뷰와 템플릿이 최소한의 로직만을 포함하도록 합시다.
단순히 유행을 따르는 등의 설득력 없는 이유로 다른 템플릿(Jinja)이나 다른 종류의 ORM 또는 비관계형DB(NoSQL)를 도입하기 전에, 우리는 우선적으로 코어 장고 컴포넌트(모듈)로 이를 구현해 볼 필요가 있습니다.
즉 순수한 장고로 문제를 해결해보고 그럼에도 해결하지 못할 경우에 코어 장고 컴포넌트를 다른 것으로 교체해야합니다.
장고 디자인 철학에 대한 문서를 보면 장고에서 특별한 제약과 도구들을 제공하는 이유를 이해할 수 있습니다.
다같이 장고의 디자인 철학도 공부합시다!
https://docs.djangoproject.com/ko/4.0/misc/design-philosophies/
12팩터 앱 방법론은 웹 기반 애플리케이션 디자인의 통합 전략으로서 많은 장고 개발자들 사이에서 인기를 끌고 있는 주제입니다.
확장 가능하고 배포 가능한 앱을 만드는 방법론이며 일부분은 이 책에 담은 내용과 매우 일치하다고 하니 꼭 알아봅시다.
https://12factor.net/ko/
본 포스트는 "Two Scoops of Django" 를 기반으로 작성되었습니다.
공부하며 새롭게 배운 내용 위주로 작성하여 책의 부분적인 내용만을 포함합니다.