분류 전체보기 805

Repository Pattern

* 이 글은 책을 읽고 주관적인 생각과 함께 요약 정리한 글입니다. 설명을 위한 글이 아니므로 내용이 정확하지 않을 수 있습니다. 제목 : 파이썬으로 살펴보는 아키텍처 패턴 저자 : 해리 퍼시벌, 밥 그레고리 범위 : 3. 저장소 패턴 느낀 점 도메인 모델과 인프라간에 의존성을 줄여 변경에 용이하다. 가짜 저장소를 만들어 단위 테스트를 구현하는데 용이하다. 아직까지는 도메인 모델과 저장소 패턴의 장단점이 와닿지 않는다. 이번 프로젝트는 저장소 패턴을 구현하는 것인데 직접 경험해봐야겠다. 더보기 키워드 아키텍처 전반 양파 아키텍처 클린 아키텍처 저장소 패턴 - 이종립 저장소 패턴 - deviq dependency injection 덕 타이핑 abc (추상화 기반 클래스) 정리 저장소 패턴 저장소 패턴은 데..

도메인 관점에서 행동을 먼저 떠올리자

* 이 글은 책을 읽고 주관적인 생각과 함께 요약 정리한 글입니다. 설명을 위한 글이 아니므로 내용이 정확하지 않을 수 있습니다. 제목 : 파이썬으로 살펴보는 아키텍처 패턴 저자 : 해리 퍼시벌, 밥 그레고리 범위 : 1. 도입 ~ 2. 도메인 모델링 느낀 점 시스템을 설계할 때, 도메인 관점에서 행동을 먼저 떠올리자. 테스트 코드를 작성할 때, 코드만 보더라도 어떻게 동작하는지 알 수 있도록 작성하자. 값 객체, 엔티티 등, 데이터 클래스와 매직매서드를 활용해보자. 동사의 경우 되도록 함수로 표현하자. 클래스 내 ‘매서드’와 ‘일반 함수’, 이 둘을 어떤 기준으로 선택, 구현해야할까? 더보기 데이터 클래스 멀티패러다임 정리 도입 추상화는 00모듈이 검색 엔진 api를 캡슐화해준 것처럼 해동을 캡슐화하는..

docker-compose 작성하면서 생긴 이슈 세 가지 (feat. m1)

docker-compose를 이용해 app과 db를 각각 컨테이너로 구현해보고자 했다. 도커를 처음 사용하다 보니 여러가지 문제들이 있었는데 그 중에서 가장 애먹었던 세 가지 이슈에 대해서 적어본다. 이슈1. 도커 빌드 중에 asyncpg만 유독 설치되지 않는 문제가 있었다. 원인 - 정확히는 알기 어려우나 m1 관련 이슈로 보인다. 해결 - 빌드 과정에서 gcc를 추가 설치하여 해결할 수 있었다. # Dockerfile 에 추가 RUN apt-get install -y gcc gcc는 ‘다양한 프로그래밍 언어를 위한 컴파일러’ 라고 한다. 자세한 내용은 위키를 참고하기 바란다. 참고 링크 Error with pip install in Docker on Mac M1 when using Slim distr..

개발자가 가져야할 생각

정답이란 없다. 지금 믿고 있는 것을 계속 의심하자. 기술이 목적이 되어서는 안된다. 기술을 배우는데 매몰되지 말고 배우고 있는 기술을 어떻게 사용할지 생각하자. 남이 말하는 좋은 코드, 좋은 도구에 나를 맞추려하지 말자. 내게 주어진 상황속에서 가장 적절한 도구를 다루자. 내 도구 상자에 다양한 도구를 채우자. 주어진 문제를 가장 적합한 도구로 해결할 수 있을 것이다. 비용이 많이 드는 일은 반복숙달을 통해 비용을 절감시키자. 특히 테스트 코드를 작성하는데 드는 비용을, 습관을 통해 줄이자. 문제(도메인)를 이해하지 못하면 해결책(소프트웨어)을 잘 만들 수 없다. 개발자는 도메인을 간과해서는 안된다. 지식의 누락이 비효율과 피해를 발생시킬 수 있다.