You can make anything
by writing

C.S.Lewis

by Toots Apr 29. 2025

파이썬으로 만든 NestJS DDD 카지노 게임 생성기

나의 첫 파이썬 프로젝트

NestJS를 쓰면서 생산성에 대한 고민이 있었다. 프로젝트 카지노 게임를 주로 DDD 패턴에 맞게 짜는데 프로젝트를 여러 번 거치면서 반복되는 작업에 조금 지쳐있었다. 사실 프로젝트 카지노 게임를 DDD 패턴으로 짜는 것은 정말 좋았다. 그러나 생각보다 많은 반복작업은 나에게 늘 고민거리였다. 그래서 나는 NestJS DDD 카지노 게임 생성기를 CLI로만들게 되었다.


이 도구는파이썬으로 만들었다.파이썬으로 했을 때의 장점은 특히 빠른 프로토타입 개발과 간편함이었다. 파이썬을 선택한 이유는 간결한 코드와 빠른 개발 속도 덕분이었다. 그리고 첫 파이썬 프로젝트로 CLI 도구는 괜찮은 선택이라고 생각했다. 물론 자바스크립트로 개발할 수도 있었지만 프로젝트를 장기적으로 봤을 때 파이썬의 장점이 결국 더 드러날 것 같았다.


이 도구는 명령어 한 줄로엔티티, 레포지토리, 서비스, 컨트롤러, 모듈 등을 자동으로 생성할 수 있다. 그리고 이 모든 과정이 최소한의 명령어만으로 이루어지도록 설계되었다. 예를 들어, pythongenerate user명령을 실행하면사용자 관련 모듈이 자동으로 생성되는 카지노 게임다. 터미널 환경에서 쓰기 때문에 자주 사용하는 명령어는 축약을 만들 수 있다. 반복 작업을 줄여주기 때문에 생산성이 올라간다.


python generate user를 실행하면 다음과 같은 카지노 게임가 생성된다.


user/

application/

user.service.ts

domain/

entity/

user.entity.ts

user.repository.ts

infrastructure/

user.orm.repository.ts

presentation/

user.controller.ts

user.module.ts


이렇게 생성된 카지노 게임 속에는 클래스가 생성되고 가볍게 쓰고 읽을 수 있는 메소드가 있다.


이 도구를 만들면서 좋았던 점이 있다. 각 레이어의 역할을 조금 더 명확히 구분하게 되었다. 기존에는레포지토리 인터페이스와 레포지토리 구현체만 분리했다면, 이번에Request DTO와 Repository DTO를 구분하는 설계를 통해 조금 더 깊이 알게 되었다. 레포지토리 인터페이스를 기준으로Request DTO는 외부에서 들어오는 데이터를 처리하는 역할을 하고, Repository DTO는 내부적으로 영속화할 데이터 모델을 처리한다. 이 두 가지를 분리함으로써, 각각의 DTO 역할이 명확해진다. 그리고 시스템이 더 유연해지고 확장 가능해진다. 데이터를 처리하는 방식과 API 요청을 받는 방식의 차이를 명확히 분리함으로 계층 간 책임 분리라는 중요한 개념을 더욱 잘 이해할 수 있었다.


느낀 점이 하나 더 있다.디자인 패턴과 아키텍처가 실제로 얼마나 중요한지 깨달았다. 처음에는 단순히 역할을 분리하는 정도의 이해였다면 이 도구를 만들면서 각각의 역할에 대해 깊이 알 수 있었다. 단순히 기능을 추가하는 것이 아니라 시스템의 카지노 게임적 안정성과 유지보수 가능성을 고려하는 게 중요하다. 엔티티와 레포지토리 인터페이스가 있는 도메인 레이어에 대한 고민이 많았다. 외부와 내부를 분리하는 것이 얼마나 중요한지, 그리고 이렇게 분리된 인터페이스를 어떻게 활용할 수 있을지를 고민하며 개발했다. 실제로 이런 분리가 잘 이루어지면, 시스템을 확장하거나 변경할 때 훨씬 더 유연하고 안정적으로 처리할 수 있을 것이다.


이번 작업은 반복적인 일에 대한 문제에서 시작되었다. 나는 반복적인 일을 최소화하고 남은 시간에 더 중요한 부분에 할애하기를 원했다. 도구가 어느 정도는 완성되었기 때문에 실무에서 바로 사용할 수 있다. NestJS의 카지노 게임가 어느 정도 잡혀서 가능한 일이다. 도구를 만드는 것은 단순한 기능 구현이 아니디. 카지노 게임와 설계의 중요성을 인식해야하고, 거기에서 비롯되는 문제 해결 능력이 있어야 가능하다.


앞으로 NestJS 카지노 게임를 깊이 생각해볼 생각이다. 카지노 게임가 더 견고해지면 이 도구도 점점 복잡해질 것이고 하나의 패키지가 될 수 있을 것이다. 그리고 파이썬 환경이 아니라도 실행할 수 있는 단계까지 가려고 한다. 매번 파이썬 파일을 복사, 붙여넣기를 하는 것도 생산성을 저하시킬 수 있다. 나는 파일을 복사, 붙여넣기를 하지 않아도 실행할 수 있도록 할 것이다. 이번 파이썬 CLI 프로젝트는 정말 재미있었다.

브런치는 최신 브라우저에 최적화 되어있습니다.