본문 바로가기
코딩/TIL,WIL

항해 99 day84 2022/01/22

by 내 멋대로 삶 2022. 1. 23.

-to do list

  • 리펙토링
  • 성능개선
  • 공부한부분 공유
  • 테스트코드

오늘 한일 

백엔드적으로 할 수있는 부분을 하기 위해 테스트코드,리팩토링,성능 개선을 위해 다같이 공부했다.

내가 공부한 부분은 객체에 있어 안정성을 확보하기 위해 양방향 관계시 객체 싱크에대해서 공부했다.

 

이미 공부한 부분이라 조금 더 공부하니 이해가 잘되었다. 하지만 내가 아는걸 말로 하려니 잘되지 않았고 내가 헷갈리고 확실히 안다고 생각할수 없게 너무 번잡하게 설명을 했다. 정말 말하기 못한다...ㅜㅜ생각 정리를 하고 글로 써확실히 준비해야 겠다. 팀원분들한테 죄송하다... 

 

양방향 연관관계 편의메소드

단방향, 양방향 데이터베이스 테이블은 외래 키 하나로 양 쪽 테이블 조인이 가능합니다. 따라서 데이터베이스는 단방향이니 양방향이니 나눌 필요가 없습니다. 그러나 객체는 참조용 필드가

happiness1992.tistory.com

equals와 hashcode에 관해서도 이해는 했지만 말로써 풀어내려니 내가 정확하게는 모른다는 느낌을 받았다. 내가 알면 말할 수있을 때 까지 공부하자.

 

equals와 hash code

// Object의 기본 equals 메서드 public boolean equals(Object obj) { return (this== obj); } 동일성 비교는 == 비교다. 객체 인스턴스의 주소 값을 비교한다. 동등성 비교는 equals() 메소드를 사용해서 객..

happiness1992.tistory.com

 

팀원분이 N+1문제에 관해 말해 주실때 내가 몰랐던점을 이해하고 확실히 얻는 부분이 있어서 내가 발표한것과 너무 차이나 창피했다.. 

N+1문제를 해결하기 위해 join fetch를 사용했다. 하지만 모임게시글과 댓글의 연관관계에서 불러오는 부분에서 오류가 발생했다.  댓글이 있는 부분은 데이터가 출력되지만 댓글이 없으면 출력되지 않는 문제가 발생했다.

 

내가 적용한 부분은 컬렉션 join fetch 즉 일대다 부분이라 distinct를 통해 중복을 제거하고 left join fetch로 댓글이 없는경우 NPE를 피할 수 있다. 

left join과 join의 차이는 나중에 공부하자.

'코딩 > TIL,WIL' 카테고리의 다른 글

TIL 2022.02.28  (0) 2022.02.28
항해 99 day 86 2022/01/24~25  (0) 2022.01.27
항해99 day83 2022/01/21  (0) 2022.01.22
항해 99 day81 2022/01/19  (0) 2022.01.20
항해99 day 79 2022/01/17  (0) 2022.01.18