[F-lab] 멘토링 16주차 회고

devdo·2022년 6월 2일
0

회고록

목록 보기
15/23
post-thumbnail

📌 15주차 이후 질문 및 정리

1) MVP(Minimum Valuable Product) 점검

  • API 명세서 url를 좀더 명확하게 -> gitbook으로 계속 정리

  • hibernateLazyInitializer 문제
    => 이슈 정리 - 2가지 문제로 나뉠 수 있다.

  • 예약 취소는 아직 미정-> 예약 삭제만 하는 걸로만 정함. (reservation, studygroup)

  • update 처리시 time 변화시 pk도 변화해 될 것 같은데 pk라 수정이 안됨 -> 어떻게 처리해야할지 질문
    => 업데이트는 새로운 레코드 생성하고 기존 레코드 삭제 하는 식으로 해결. -> save new + delete old : 순서 꼭 이순으로 !

  • 예약 1시간만 가능하게 할려면? => validation 아직 구현 미정


📌 전주 개인 공부한 내용들

1) JUnit5 공부+ 구현

2) JPA 공부

  • 영속컨테스트 1차캐시 flush, commit 의미
  • save(insert, update(merge)) update(변경감지(더티체킹) or merge) 차이

3) 스프링 배치

  • reservation 엔티티 -> 배치로 어떻게 사용자들에게 알림으로 할지 배치시스템 고민

  • 이론적 공부
    Job -> Step(Tasklet, Chunk) -> 활용 ItemReader, Procersser, Writer

  • 프로젝트에서 고민한 부분
    알림은 Reservation 내용으로 할것으로 정했으니,
    Writer는 필요없고 Processor에서 진행하면 되는 걸로 생각 -> API로 호출하는 메서드로 파라미터를 넘기면 일정주기로 보내지는 것으로 구현할 수 있을 것!


📌 멘토링

1) rest api 멱등성 (계속 호출해도 같은 결과로 반환되어야 한다.)

2) master 브랜치에 주석 제거 강조

3) Reservation 필드 StatusCode가 꼭 있어야 하는지 history 이력으로 꼭 필요한 것이라면 따로 테이블을 만들어서 그 테이블 안에 기입해야하는 것이 좋음.

4) 내 질문들 답변

  • 테스트 실제개발시
    요구사항 변경 -> 코드 변경 -> test Code -> E2E test로 확인 이런방향으로 진행하는 게 맞나? : 맞음!
  • 아키텍쳐에서경계 뜻 : 도메인 별로 분리하는 의미로 받아들이면 될 것 같음. 그리고 SOLID 원칙에 의거해서 클래스 내 책임, 역할을 구분 지을 때의 경계도 될 수 있음!
  • 객체의 필드에 final 붙이냐 안붙이냐 기준? : immutable하게 표현하기 : 관련 자료를 참고할 것

📌 느낀점

  • 멘토링이 PR 중심으로 이뤄짐. PR 리뷰를 받으면서 몰랐던 부분을 많이 배워가는 것 같음. delete 의 멱등성은 RestAPI 에서의 설명에도 나와있는 부분인지 체크해봐야 될 것 같음. 아직 이 부분이 정확히 이해가 되지 않음.

  • 질문에 대답에서도 내가 명쾌하게 이해하지 못하고 있음. 잘 이해가 안되는 부분은 정확하게 이해안된다고 표현을 해야겠음.

  • 기본 2명이 멘토링을 받아야 하는 것인데 1명이 나가서 내가 많이 수혜를 받는 것 같음.


📌 해야 할 것

  • 멘토링 때 관련된 질문 답변 등 오고갔던 내용 정리
  • Test Code 작성 - Junit 배운 내용 적용하기
  • 운동 PT - 이제 PT도 마무리가 되었음. 이젠 개인 운동을 함.
profile
배운 것을 기록합니다.

0개의 댓글