2023.01.29.SUN

ronglong·2023년 1월 29일
0

[사이드 프로젝트]

  • 혼자서 지금껏 배웠던 커피 주문 시스템을 레퍼런스 보지 않고 다시 만들어보기 시작했다.
    시작할 수 있도록 격려해주신 동기님들과, 만드는 중간 중간 도움 주신 스터디 동기님들께 무한한 감사를 돌립니다,, 🌹
  • 주말 토/일 이틀동안 member, coffee, order에 관한 컨트롤러, 서비스, 레포지토리 등을 만들었다. 포스트맨으로 정상 작동함!
  • 아직 손 봐야할 것들이 있는데, 다음과 같다.
    • OrderDto와 OrderCoffeeDto 분리. response 확인
    • 커피 주문 시 스탬프 추가 로직 구현
    • 예외 처리 완성하기
    • JUnit 테스트 로직 작성
    • API 문서 만들기
    • 주문 시스템 구현이 끝나면, 게시판도 만들어 볼 것.

[주말동안 사이드 프로젝트 하면서 만난 에러들과 공부한 것들]

  • Java Bytecode Decompiler 플러그인 꺼짐
    - https://web2eye.tistory.com/247
    - mapstruct 통해서 mapping 하는데, mapperImpl 파일에 코드가 표현이 안 되고 'compile code' 라고만 떴다. 매핑이 잘 안 되었나 했는데, 플러그인이 off되어 있어서 안 나타난 것이다. 설정가서 on 체크하면 됨.
  • Auditing 사용법 익히기
    - https://webcoding-start.tistory.com/53
  • TransientPropertyValueException
    - 엔티티 매핑 시, cascade 지정 안 하면 생기는 에러
    - https://conservative-vector.tistory.com/entry/%EC%98%A4%EB%A5%98
  • @builder 랑 @NoArgsConstructor 같이 사용하지 말 것.
    - https://yuja-kong.tistory.com/99
    - https://stackoverflow.com/questions/34241718/lombok-builder-and-jpa-default-constructor/35602246#35602246
  • 접근제어자 private으로 설정해놓고 @Getter 안 만든 적 많았음..ㅋㅋ
  • enum을 Enum으로 썼다가, 생성자가 만들어지지 않는 에러를 만남,, 오타 하나로!
  • 수동 매핑해줄 때, 테이블에 들어가는 정보만 매핑해주면 됨.
  • Mapstruct 매핑을 위해서 Dto에 @Getter, @Builder 붙여주자.
  • Entity에도 @Getter, @NoArgsConstructor 등 붙여주는 거 까먹지 말자.
  • enum을 public으로 설정해주면 매핑 필요없이 response에 값 넣기 편하다.
    - enum private으로 두고, 매핑 방법 겁나 찾아봤었음,,
  • extends JpaRepository<테이블에 넣을 객체 타입(엔티티), Id타입>
  • Optional.of 와 Optional.ofNullable은 다르다. null일 수 있으면 후자로.
    - https://engkimbs.tistory.com/646
  • Pagable의 구현체인 PageRequest를 PageRequest.of()를 통해 구현해서 Pegable로 받은 값 중 원하는 값만 적용하여 만들 수 있다. Page 구현이 어려웠음.
  • ExceptionEnum과 LogicException은 다르다. 후자는 RuntimeException을 확장하는 예외 클래스이고, 그 내부에 enum이 필드로 들어가져서 사용되는 것.

<느낀 점>
여러 가지 상황들을 만났지만, 혼자서 헤매고 있을 때마다 어디선가 구원자 동기님들이 나타나서는 나를 구원해주셨다,, ㅎㅎ

확실히 안 보고 처음부터 만들어보니까 도움이 되는 것 같다.
희미한 기억들을 벗삼아 열심히 버벅거렸다.
포스트맨으로 잘 돌아가는 거 보고, '이게 되네?'함 ㅋㅋㅋㅋ

이번주에 학습 진도도 열심히 따라가고, 저녁에는 부지런히 사이드 프로젝트도 해서, 팀 프로젝트 전까지 조금이라도 더 많이 배워야겠다.

0개의 댓글