무엇을 공부했나요?
이번 시간에는 Two scoops of Django의 ‘21장 장고의 비법 소스: 서드 파티 패키지들’을 살펴보았다. 현주님께서 내용을 요약하셨고, 문수님이 심화를 준비해 주셨다.
PyPI
Python Package Index에 대해서 한번더 소개합니다. 예전 회사에서는 다른 개발자들이 사용하는 Python Library를 작성하는 일도 했었기 때문에 Local PyPI 를 구축해 두고 사용했었다. PyPICloud 사용했던 것으로 기억한다.
Django Packages
사실 Django를 사용하면서도 서드 파티 패키지들을 사용하는것에 익숙하지 않았었다. 간단한 기능들은 직접 만들어 쓰면서 부족한것들은 부족한 대로 채워 가며 쓰는 경우가 대부분이었다. 하지만 회사에 남홍님이 오신 이후 서드 파티 패키지들을 적극 도입하기 시작하셨다. 대부분 잘 만들어진 패키지들이라서 내가 생각했던것 보다 안정적으로 좋은 기능들을 손쉽게 사용할 수 있었다. 이미 다른 프로젝트에서 사용될 수 있도록 모듈화가 잘 되어 있어 기존의 비지니스 로직들과 잘 분리가 되는 장점도 있었다. 써드 파티 패키지들을 설치하고 사용하고 알아보면서 다른 사람들의 코드들을 보는 기회를 갖는것도 의미가 있다.
장고 패키지 만들기
책에서 좋은 장고 패키지를 만드는 방법과 이를 오픈 소스로 잘 잘 운영하기 위한 방법을 소개하고 있다. 이 오픈소스라는 것에 접근하는것이 생각보다는 쉽지 않은데, 시간을 내어서 한번 시도해 보아야 겠다.
심화
심화 시간에는 문수님이 몇가지 패키지들을 예를 들어 소개 해주셨다. 이중에서도 django test plus 패키지는 회사에서 작성하는 테스트 코드를 상당히 줄여 줄 수 있을것 같았다. 또한 다음과 같이 실행되는 쿼리수를 테스트할 수 있는 기능은 필요하지 않게 쿼리가 많이 실행되는 문제를 unittest 에서 확인할 수 있어 유용했다.
def test_something_out(self):
with self.assertNumQueriesLessThan(7):
self.get('some-view-with-6-queries')
어땠나요?
사실 이 후기는 거의 한달이 지나서야 작성되는 후기이다. 반성 또 반성 해야겠다. 스터디가 끝까지 갈 수 있도록 끌어가야 하는 내가 이 후기를 미뤄서, 내 뒤에 있는 분들도 (특히 바로 뒤에 있는 남홍님) 나를 핑계로 후기를 미루고 있으니까 말이다. 생각보다 스터디에서는 배워가는 것이 많다. 처음에는 심화를 시니어 개발자가 진행했는데, 꼭 그럴 필요도 없다. 문수님이 준비해 주신 심화수업에도 많은 것을 얻어간다. 그런것을 보면 참 개발자라는 직업이 배워야 할것은 너무나도 많다. (내가 10년이나 개발을 더 했는데!)