TIL

9/12

iksadnorth 2023. 9. 12. 23:59

👣 개요

오늘은 Lv 5 관련 과제를 끝마치고 문서화 진행해서 
제출을 했다. 그리고 그 이후에 페어 팀과 같이 리뷰를 해 드디어 
주특기 숙련주차의 모든 과제를 마치게 되었다.

해당 일들이 끝나고 '자바 ORM 표준 JPA 프로그래밍'의 마지막 장인 16장을 모두 읽고
게시글을 작성했다. 해당 책을 2주 이상이나 붙잡고 있었어서 한편으로는
너무 지루하다는 생각도 들었지만 결국 JPA에 대한 깊을 이해를 할 수 있어서
정말 좋았다.

이번 Lv 5 과제도 위 책을 읽고 깨달은 Listener를 이용한 좋아요 갯수 계산을 구현했었다.
원래 나의 방식대로 라면 JPQL의 groupby를 이용해서 좋아요 갯수를 계산하겠지만
이미 작성된 코드들이 있었고 해당 코드들을 모조리 살펴서 리펙토링하는 것이 큰 부담이었다.
때문에 그냥 게시글 엔티티와 댓글 엔티티에 Listener를 적용해서 
@PostLoad 어노테이션의 함수로 좋아요 갯수를 계산해주는 방식을 택했다.

뿐만 아니라 해당 서적을 통해 낙관적 락, 비관적 락에 대해서도 깨달았다.
이를 이용하면 READ COMMITTED 수준에서도 REPEATABLE READ 수준의 
격리 수준을 구현할 수 있음과 2차 캐시를 사용해서 성능을 비약적으로 늘릴 수 있다는 점이
큰 성과였던 것 같다. 단순히 성능을 높일 수 있음에 좋았던 것이 아니라
차후에 Redis과 같은 캐싱 DB를 운용할 때, 어떻게 로직을 짜야 
정합성에서 문제가 없을지를 도와준다는 점에서 너무 좋았다.

'TIL' 카테고리의 다른 글

9/14  (0) 2023.09.14
9/13  (0) 2023.09.13
9/11  (0) 2023.09.11
WIL - 9/4 ~ 9/10  (0) 2023.09.10
9/9  (0) 2023.09.09