architecture

  • 에이전트가 따를 DDD 폴더 구조와 의존성 규칙 정하기

    “DDD로 구현해 달라”고 요청하면 에이전트는 자신이 아는 방식으로 구조를 잡는다. 다음 에이전트도 그렇게 한다. 둘 다 DDD를 따른다고 설명했지만, 같은 역할의 파일이 서로 다른 폴더에 놓였다. FSD를 쓰면서도 코드 위치를 고민했던 이유에서는 아키텍처 전환 뒤에도 남은 과제를 적었다. 폴더 나누는…

    에이전트가 따를 DDD 폴더 구조와 의존성 규칙 정하기
  • FSD를 쓰면서도 코드 위치를 고민했던 이유

    API 호출 코드를 entities에 둘지 features에 둘지 논의하느라 리뷰가 길어진 적이 있다. 여러 곳에서 쓸 수 있으니 entities에 두자는 의견과, 지금은 한 화면에서만 쓰니 features면 충분하다는 의견이 나왔다. 그날은 결론을 내리지 못했다. 비슷한 논의가 반복되면서 코드 위치를 정하는 기준을 다시…

    FSD를 쓰면서도 코드 위치를 고민했던 이유
  • 로그인 검사를 빠뜨린 페이지가 열렸다: 미들웨어와 프록시 이해하기

    로그인하지 않은 사용자가 /dashboard에 접근하면 로그인 페이지로 보내야 한다. 페이지마다 검사 코드를 넣으면 처음에는 간단하다. 하지만 페이지가 스무 개로 늘어나면 같은 코드를 매번 붙여야 하고, 한 번 빠뜨린 페이지는 로그인 없이 열린다. 이 검사를 한곳에서 처리하는 방법을 찾다 보면 미들웨어와…

    로그인 검사를 빠뜨린 페이지가 열렸다: 미들웨어와 프록시 이해하기
  • 모노레포에 turbo.json이 필요한 이유

    모노레포 저장소를 복제하면 최상위에 apps/와 packages/가 보인다. 루트 package.json에는 워크스페이스 설정이 있고, 그 옆에는 turbo.json이 놓여 있다. 여러 앱을 한 저장소에 모은다는 것은 알겠는데, turbo.json은 왜 필요할까? 워크스페이스와 Turborepo는 서로 다른 역할을 맡는다. 워크스페이스는 패키지를 연결하고, Turborepo는 작업의 실행 순서와…

    모노레포에 turbo.json이 필요한 이유