Python (4) 썸네일형 리스트형 makefile 사용 시 환경변수 로딩 주의하기 목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 개요 Python으로 Project 진행 시 makefile을 Root Directory에 위치시켜둔다. 이 makefile 은 Project에 관한 명령어를 모아둔 것으로 주로 Project에서 어떤 명령어들을 사용하는지를 나열해놓는 용도로만 사용하고 있다. 사용해야될 명령어들을 미리 정의해둠으로써 많은 편의를 누리고 있는데 최근 makefile을 사용하면서 사소한 문제를 겪었다. makefile은 별 문제가 없는 이상 계속 사용하게 될 것이라. 겪었던 문제를 기록해두려고한다. 1. 무엇이 문제인가?문제의 현상은 환경변수에 올라간 값이 dotenv를 통해 불러와 Python 변수에 할당하고 난 후 두 값이 불일치되는 .. [SQLAlchemy] Pytest를 이용한 Imperative Mapping 테스트 코드 HTML 삽입 미리보기할 수 없는 소스 개요 최근 SQLAlchemy의 Imperative Mapping을 자주 이용하고 여러 형태의 사용법을 점검하고 있다. 이 과정에서 Pytest를 이용해 어떻게 하면 Imperative Mapping 방식을 이용한 ORM을 테스트할 수 있을지 고민했다. 이 포스팅에 기록하려고 하는 건 나름대로 구성한 프로젝트 구조에서 Pytest를 사용하면서 고민했던 부분과 이를 어떤 방식으로 해결했는지에 관한 것이다. 무엇을 테스트하며 무엇을 고려했는가 테스트를 하려고 한 대상 코드는 다음과 같은 구성이다. Service가 Repository의 Method를 사용하고 Repository의 Method는 DataBase에 Query를 날린다. 이를 코드로 표현하면 다음과 같은 구조.. dependency-Injector로 Repository Pattern 사용하기 HTML 삽입 미리보기할 수 없는 소스 1. 개요 어떤 API를 만들던 웬만해서는 repository pattern을 사용하고 있는 중이다. 처음엔 장단점을 의식하면서 사용했지만 지금은 익숙해서 그런지 별로 신경을 쓰고 있지 않는다. 최근 진행하고 있는 프로젝트에도 repositoy pattern을 사용하고 있으며 이와 더불어 "dependency-injector"라는 라이브러리도 같이 사용 중이다. 그러나 처음에 depenencey-injector와 함께 repository pattern을 같이 사용하는 것에 어려움이 많았는데 그 당시 했던 고민을 따로 기록해두지 않아 이번 기회에 이 내용을 정리해 보고자 한다. 2. Repository를 DI 해보자. Repository Pattern에 depende.. [SQLAlchemy] Imperative Mapping HTML 삽입 미리보기할 수 없는 소스 개요 ORM이 제공하는 가장 중요한 기능은 영속성 무지(Persistence Ignorance)다. 도메인 모델이 데이터를 어떻게 적재하는지 또는 어떻게 영속화하는지에 대해 알 필요가 없다는 의미다. 영속성 무지가 성립하면 특정 데이터 베이스 기술에 도메인이 직접 의존하지 않도록 유지할 수 있다. - 파이썬으로 살펴보는 아키텍처 패턴 (64p) SQLAlchemy를 사용하는 Application에서 Entity를 사용한다면 이는 곧 Declarative Mapping Style로 작성된 ORM Model과 연관될 가능성이 높다. 그러나 Application에서 Entity가 "도메인 모델"로써 표현이 되어야 한다면 이는 다른 방법을 취해야 한다. 이러한 생각을 가지.. 이전 1 다음