HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
[New] 아만드팀
[New] 아만드팀
/
⚖️
최종 프로젝트 - 준비
/
컨벤션

컨벤션

코드 컨벤션

🌒
코드 스타일 컨벤션
 

패키지 구조 (미정)

  • Presentation - Application - Domain(Entity) - Infrastructure
    • DDD 레이어
  • controller - service - repository - domain
 
ImageUploader - interface
S3Uploader

DTO 컨벤션

  • dto entity간 변환은 어떻게 할 것인지
    • 라이브러리 사용 mapstruct, modelmapper
    • 사용하지 않고 DTO 자체 구현
  • 별도의 변환 메소드 구현
    • 변경에 유연한 설계, 우리는 2가지 종류의 DTO를 쓴다!
      안녕하세요 깃-들다의 손너잘 입니다. 이번 글에서는 깃들다의 설계중에 DTO와 관련된 이야기를 해보고자 합니다. 여러분은 DTO를 어떤식으로 많이 사용하시나요? 아마 많은 프로젝트에서 View ↔ Controller ↔ Service, 혹은 DAO ↔ Service 와 데이터를 주고받을 때 사용하실겁니다. 저희도 역시 마찬가지로 View ↔ Controller ↔ Service 간의 데이터 이동시 DTO를 이용하는데요, 깃들다의 경우 View ↔ Controller, Controller ↔ Service 에서 각각 서로 다른 DTO를 사용합니다.
      변경에 유연한 설계, 우리는 2가지 종류의 DTO를 쓴다!
      http://tech.pick-git.com/%EB%B3%80%EA%B2%BD%EC%97%90-%EC%9C%A0%EC%97%B0%ED%95%9C-%EC%84%A4%EA%B3%84,-%EC%9A%B0%EB%A6%AC%EB%8A%94-2%EA%B0%80%EC%A7%80-%EC%A2%85%EB%A5%98%EC%9D%98-DTO%EB%A5%BC-%EC%93%B4%EB%8B%A4/
      변경에 유연한 설계, 우리는 2가지 종류의 DTO를 쓴다!
    • 의존성을 고려하여 두개의 dto를 쓰도록
    • 생각해보니 Service간에는 Service가 의존하도록 하고 싶었지만 Dto를 사용한다면 할 수 가 없음 ㅠ
  • 네이밍
    • web → request , response
    • service → requestDto, responseDto
    • 자바 17 → 모두 record
    • 자바 11 → 둘 다 모두 기본생성자 구현 (private)
 

예외 처리

  • enum errorcode
    • a001
  • BusinessException
    • ErrorCode
    • Message
 

로깅 전략 ( 후에 정해도록 )

  • cloudwatch 로그 연동
    • AWS CloudWatch Logs Dashboard 구성
      다음과 같은 기능들을 제공한다. 애플리케이션 모니터링 시스템 전반의 성능 변경 사항에 대응 리소스 사용률 최적화 운영 상태에 대한 통합된 보기를 확보하는데 필요한 데이터 제공 로그, 지표 및 이벤트 형태로 모니터링 및 운영 데이터를 수집 AWS 리소스, 어플리케이션 및 서비스에 대한 통합된 뷰 제공 좌측 대시보드에서 대시보드 생성하기를 선택한다.
      AWS CloudWatch Logs Dashboard 구성
      https://xlffm3.github.io/devops/cloudwatch/
      AWS CloudWatch Logs Dashboard 구성
  • 슬랙 연동하여 error시 알람 가도록
  • SQL문 로깅 , 로깅 레벨 정해야함
  • logback
  • 비동기 로깅
 

OOP & CleanCode

💰
객체 지향 생활 체조 원칙
🪝
Clean Code
플레이그라운드
NEXTSTEP에서 개발자들을 위해 디자인된 강의를 수강해보세요.
플레이그라운드
https://edu.nextstep.camp/c/9WPRB0ys/
플레이그라운드
JPA Entity에서 일급 컬렉션 사용하기
최근 프로젝트를 진행하던 중 두 Entity를 양방향으로 묶고, 로직을 추가하던 중에 @OneToMany 부분의 List를 가공해야 하는 일이 생겼습니다.컬렉션을 가공할 일이 생기면 가장 먼저 떠오르는 것은 일급 컬렉션인데요.지금까지 그럴 일이 없어서인지 한번도 엔티티 안에서 일급 컬렉션을 사용해 본 적이 없었다는 것을 깨달았습니다. 상황은 다음과 같았습니다.
JPA Entity에서 일급 컬렉션 사용하기
https://wbluke.tistory.com/23
JPA Entity에서 일급 컬렉션 사용하기
 
- commmon - exception - infra - domain , model? - config - domain - member - presentaion - memberController - Application - memberService - entity - Member - MemberRepository - infrastructure - s3 , querydsl