개발
-
[Django] DRF의 Serializer 성능 개선하기내가쓴글/개발 2023. 7. 11. 20:00
머리말Django를 이용해 백엔드를 개발하게 되면, 편의를 위해 Django Rest Framework(이하 DRF)를 사용해 API개발을 하게되는 경우가 많은 것 같다. 그러나.. DRF 관련 글들을 찾아보면 성능과 관련된 부정적인 단어들을 굉장히 쉽게 접할 수 있다. 이 글에서는 필자가 DRF를 이용해 개발하면서 가장 체감이 심했던 성능저하 이슈는 무엇이었는지, 어떤 고민들을 했는지, 또 결국 어떻게 해결했는지, 또 다른 어떤 이슈들이 있을지를 공유하고자 한다. (첫 글이니만큼 문체나 내용이 다소 어색할 수 있는점 양해바란다..) 필자는 Django 프로젝트 개발에 합류했을때가 Django 개발의 처음이었고, 이미 DRF가 적용되어 있어서 별다른 고민 없이 개발을 했던 것 같다. 덕분에 성능 저하가 ..
-
[Django] Proxy Model 사용하기내가쓴글/개발 2023. 7. 11. 19:00
머리말최근 Django로 구현된 프로젝트에서 사용하는 전반적인 DB 설계를 리팩토링 하면서, 구현 자체도 새롭게 해야할 부분이 많아서 전체 프로젝트를 재구성하고 있다. 그 와중에 가장 최근 production에서 사용 중인 비즈니스 로직의 업데이트를 하면서 "이미 적용되어 있었다면 정말 편하고 좋았을텐데.." 라는 생각이 들었던 Proxy Model에 대한 설명을 적어보고자 한다. Proxy Model 외에도 그런 생각이 든 것들이 정말 많다ㅠㅠ 나중에 리팩토링이 끝난다면, 전반적인 내용에 대해 정리하면서 더 작성해보고 싶다. TLDR;type 값으로 특징(비즈니스 로직)이 구분되는 Model의 경우 Meta.proxy = True 옵션을 사용하면, 모델에 대한 설계를 더 명확히 할 수 있고, 나중에 해..