HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
[팀 BackFro💯] ArtZip: 세상 모든 전시회를 한 번에
[팀 BackFro💯] ArtZip: 세상 모든 전시회를 한 번에
/
🛠️
Convention
Convention
🛠️

Convention

Commit Convention

Commit Convention

(header) : message
PR 규칙

PR 규칙

  • PR시 팀 태그를 반드시 달도록 합니다.
  • PR시 다른 팀원들을 모두 reviewer에 달아주세요.
  • 만약 팀 태그를 달지 못했다면 Slack에 멘션을 이용해 남겨주세요.

PR 포맷

PR 제목

PR 내용 요약

PR 내용

 
코드 리뷰

코드 리뷰

  • 코드 리뷰는 반드시 진행하도록 합니다.
    • 최소한 해당 코드에 오타라도 없는지 확인할 수 있도록 합니다.
  • 코드 리뷰를 하고 문제가 없다면 merge approved를 남겨 주세요
    • 2명 이상의 merge approved가 남겨진다면 merge를 하도록 합니다.
Branch 전략

Branch 전략

브랜치
설명
main
배포 대상이 되는 브랜치로서 PR로만 머지할 수 있다.
feat/~
기능 구현시 사용하는 브랜치
refactor/~
리팩토링시 사용하는 브랜치
chore/~
프로젝트 환경 세팅
 
기본 패키지 구조

기본 패키지 구조

📁  common
📁  aop
📁  config
📁  error
📁  exception
📄  BusinessException.class
📄  GlobalExceptionHandler.class
📁  filter
📁  util
📄  ApiResponse.class
📄  BaseEntity.class
📄  ErrorCode.enum
📄  ErrorResponse.class
📁  [도메인]
📁  controller
📁  domain
📁  dto
📁  service
controller, service 네이밍

controller, service 네이밍

ㅤ
조회
수정
생성
삭제
controller
get~/ (비즈니스 로직)
update~
create~ / (비즈니스 로직)
remove~
service
get~
update~
create~
remove~
repository
find~
ㅤ
save
delete~
DTO 네이밍

DTO 네이밍

  • 예시
    • PostCreateRequest, PostUpdateRequest
Validation & Exception

Validation & Exception

  • Validation
    • dto(controller)와 entity에서 하도록 합니다.
      • dto(controller)에서는 bean validation을 사용하여 null과 blank를 검증합니다.
      • entity에서는 bean validation 사용하지 않고 private method 사용, 기타 비즈니스 로직을 검증합니다.
        • custom exception(InvalidRequestException) 발생시키기 + 에러코드 추가
  • Exception
    • Exception message는 한글로 사용합니다.
Test

Test

  • jacoco 적용
    • jacoco를 이용하여 테스트 커버리지를 보장하고 유의미한 CI가 일어날 수 있도록 합니다.
    • jacoco 규칙
      • 초기에는 세팅을 고려하여 0으로 설정합니다.
      • service와 관련된 클래스에만 적용
      • 라인 커버리지 : 70
      • 브랜치 커버리지 : 70
  • 테스트시에는 in memory db를 사용하도록 하자
    • h2 mode mysql
  • REDIS의 경우 아래 문서 참고
    • 내장 Redis 설정기
      안녕하세요 :) 마크입니다! 토큰과 캐싱 개발 초기엔 내장 Redis가 존재하는지 모르고, RedisRepository 역할을 하는 객체를 직접 자바 코드로 구현하여 테스트를 진행했다. 즉, Fake 객체를 만들어서 테스트하는 방법을 택했다. 이렇게 테스트 하는 것의 가장 큰 문제는 실제 Redis 환경이 아니란 점이다..
      내장 Redis 설정기
      http://tech.pick-git.com/embedded-redis-server/
      내장 Redis 설정기
      [Redis] SpringBoot Data Redis 로컬/통합 테스트 환경 구축하기
      Spring Data 안녕하세요? 이번 시간엔 SpringBoot Data Redis 로컬 테스트 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 회사 신규 프로젝트로 Redis 를 사용하게 되었습니다.
      [Redis] SpringBoot Data Redis 로컬/통합 테스트 환경 구축하기
      https://jojoldu.tistory.com/297
      [Redis] SpringBoot Data Redis 로컬/통합 테스트 환경 구축하기
 
문서화

문서화

자신이 공부한 내용 또는 해결한 이슈들은 기술 문서에 남겨 주세요. 중복되는 내용도 괜찮습니다
 
기획제안서 pdf, 기획제안서 원본, 발표자료 pdf
## 구현 내용 ### 소제목 구현1 구현2 ### 소제목 구현1