Programming Language/Python
-
Programming Language/Python 2022. 2. 27. 17:06
🚀 개요 db에는 여러 종류의 table이 존재한다. 서비스의 business layer에서는 필요에 따라 각 table에 접근하여 query를 수행해야 할 것이다. ORM같은 프레임워크 툴을 사용하지 않고 raw query를 전부 선언하여 사용하는 경우, 이 query들을 어떻게 작성하는게 좋을까? 전부 하나의 class에 method로서 선언하기? create, update등 용도에 따라 분리하기? entity, interface, repository, 각각 layer를 추상화하여 코드를 작성하며 내가 그리고자 했던 파이선 architecture가 어떤 모습이었는지 기록해보려 한다. 📐 SOLID 원칙: 객체지향설계 5원칙 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계에 대한..
-
Programming Language/Python 2021. 12. 29. 23:33
👩🏻💻 Pythonic하게 코드 작성하기 Django REST 프레임워크에서 API response를 커스터마이징하기 위하여 renderer를 작성하고 있었다. JSend 포맷을 따를 것이므로, 에러코드들에 대하여 작성해야 할 json format은 다음과 같았다. 400번대 에러코드를 반환하는 client error들에 대한 format을 작성하려 하는데.. 400을 반환하는 ValidationError와 나머지 400번대 에러들이 반환하는 data의 type이 달랐다. 처음엔 반환되는 ErrorDetail 객체의 변수인 code(exceptionclass들에 정의된 default_code값)를 뽑아와서 400번대 에러를 두 종류로 나누었는데, 특정 에러에 대해서만 이렇게 문자열로 처리를 한다는 것이..