부트캠프 기록/Section4

3주차 멘토링 정리

bbangduck 2023. 2. 12. 14:04
  • 테스트코드가 익숙한지 확인하고 급하다면 테스트 코드를 작성하지 말고 http 로 테스트 하는게 좋을 듯
  • data.sql 꿀팁
  • 일반적으로 yml에서 환경변수 설정
  • spring batch 의미 있을 듯 현업에서도 쓰이긴 함
  • 멀티모듈 프로젝트 , setting.gradle 로 묶어놓음⇒ 다른 모듈에서 같은 JPA를 사용 가능 , 한 모듈에서 다른 모듈 사용 가능
  • 멀티모듈 안하고 서버 안에 batch 사용도 가능
  • 기능을 사용하지 않는데 만드는 건 좋지 않음
  • LGTM(Look Good To Me)
  • Dto는 랩퍼타입으로 쓰는 게 통상적
  • @Getter , @NoArgsConstructor 를 같이 써야 함 - json DTO를 받을 때 필요
  • private final - DTO는 immutability
  • RedisDao 를 도메인 별로 만들어서 추상화해라
    • scoreRepository 에 만들어서 함수 넣어놓고 서비스로직은 서비스로직에 남겨두기
  • ResponseEntity<>를 @ResponseEntity(SttpStatus.OK)로 사용가능
  • queryDSL 는 보통 엔티티로 많이 바꿈
  • repository에 있는 코드 서비스 로직으로 빼기
  • 좋은 코드: 적절한 추상화, 어떤 계층과 어떤 레이어에 적당한 책임을 줄 것인가를 고려
  • 리소스를 생각해서 리프레쉬 토큰 컷팅 , 항상 리소스를 생각해라. 멘토님도 애자일 개발을 하실 때 다음 턴으로 넘길 때 있음
  • 로깅 저장소를 따로 둘 수 있음 예시) aws cloudwatch
  • 기능 구현 후 더 신경쓰고 싶은 내용에서 리팩토링을 꼽았는데, 리팩토링은 테스트 코드를 기반으로 하는 게 좋음. 테스트 코드가 선행돼야 함
  • 성능테스트 툴
    • 예시)Jmeter nGrinder
    • 위의 테스트 툴은 로드밸런싱을 사용해야 유의미 함

프로젝트 관련 문의하고 싶은 내용

  • 결제 API 도입 시 서버 쪽에서 결제에 대한 검증, 성공 처리, 실패 처리 등이 필요하다고 들었습니다. 추가적으로 고민해야할 사항은 무엇이 있나요?
    • 콜백이나 트랜잭션 처리만 신경쓰면 될 듯 - 아임포트에 대부분 위임하는 듯
  • https 설정에 대하여 피드백 받고 싶은 나누고 싶은 주제가 있습니다!
    • 프론트와 소통할 일이 없으면 https를 사용하는 경우가 드묾