분류 전체보기

    좋아요/싫어요 수 조회 성능 개선 과정

    개요 게시글에 투표(좋아요/싫어요)를 할 수 있는 기능을 추가했다. 이 투표 데이터를 관리하는 방법으로 크게 2가지가 있는데 게시글에 투표 수를 컬럼으로 관리하는 것, 그리고 별도의 투표 테이블을 두는 것이다. 한 회원은 한 게시글에 한 번만 투표를 할 수 있도록 했기 때문에 연관된 회원 정보도 필요했고, 그렇기에 별도의 투표 테이블을 두기로 하였다. 게시글의 투표(좋아요/싫어요) 수를 조회하려면 투표 테이블에서 각각의 수를 count 하면 될 것이다. 다만, 이러면 투표 테이블의 데이터가 많아질수록 조회 성능이 악화될 것인데, 게시글의 투표 수를 조회하는 요청은 게시글 목록, 게시글 상세 조회를 할 때 필요한 정보이니 빈번하게 많이 호출된다. 그러니 한 번 조회 성능을 개선해보도록 하자. 대용량 더미 ..

    23.07.07 ~ 23.07.24 회고

    7월 7일부터 24일까지는 많은 일이 있었다. 면접도 2번 보고, 데브코스 스터디원들이랑 모각코도 하고, 오랜만에 친구들도 만났다. 최근에 내 스스로가 취업에 쫒기고있다라는 느낌을 많이 받았는데, 마음을 좀 여유롭게 가지려고 한다. 최종적으로는 회사가 나를 뽑는 것이긴 하지만, 다르게 생각하면 나 또한 열정을 가지고 있는 내 젊음을 회사에 투자하는 것이니 회사를 선택하는 것이다. 급해져서 원하지 않는 직무에 들어가진 말자. 7월 10일에 트래포트라는 회사의 면접을 보았다. 사무실도 깔끔한 느낌이고, 들어가는 길에 "권성준님 환영합니다" 라는 문구가 있어서 첫인상은 나쁘지 않았다. 다만, 면접에서 기술 관련 질문을 전혀 하지 않은 점이 좀 아쉬웠다. 어떤 식으로 좋은 개발자를 뽑는지 잘 모르겠달까? 이 면..

    [Spring REST Docs] 빌드 시 HTML 이 생성되지 않을 때

    개요 프로젝트에서 Spring REST Docs 를 이용하여 API 문서를 만들었다. 빌드 시 adoc 파일을 바탕으로 HTML 파일을 생성하고 싶어 Spring REST Docs 공식 문서 (2.0.7.RELEASE 사용) 를 참고하였는데, 빌드를 하여도 HTML 파일이 생성되지 않는 문제가 발생했다. 결론부터 말하자면 adoc 파일을 바탕으로 빌드 시 생성되는 HTML 파일의 위치가 가 공식 문서에 나온 것과는 다른 것이 원인이었다. 원인 위의 공식 문서를 보면 src/docs/asciidoc 하위에 adoc 파일을 두었을 때, 그래들로 빌드 시 build/asciidoc/html5 하위에 html 이 생성된다. 이를 바탕으로 HTML 문서를 jar 에 패키징하려면 위와 같이 build.gradle ..

    JPQL 로 Pageable 객체 사용 시 주의할 점

    개요 Spring Data JPA Repository 에 Pageable 객체를 파라미터로 전달하면 별도의 쿼리를 작성하지 않아도 페이징을 위한 쿼리를 만들어준다. 전통적인 오프셋 기반의 페이징 처리를 할때는 전체 데이터 수가 알아야하기에 Spring Data JPA 에서는 Page 객체를 반환하는 방식을 주로 이용한다. 이때, 전체 데이터 수를 알아야하므로 페이징 쿼리 외에도 추가적으로 count 쿼리가 나간다. 이 과정에서 JPQL 을 사용하여 페이징 쿼리를 작성할 때, 주의할 점이 있어 공유하고자 글을 작성한다. 주의할 점 결론부터 이야기하자면 count 쿼리가 @Query 로 작성한 JPQL 을 기반으로 나간다는 것을 인지하고 있어야한다는 것이다. 특히, fetch join 을 사용할 경우 예외가..

    23.06.21 ~ 23.07.06 회고

    이력서를 대폭 수정한 이후 이력서 합격율이 높아졌다. SK C&C 는 서류 탈락을 했다. 피드백을 위해 유투브 면접왕 이형의 영상과 책을 참고했는데 내가 왜 떨어졌는지 너무나 잘 알게되었다. 내가 했던 경험들을 수치화된 성과 위주로 정리하고 구조에 맞게 다시 작성했다. 서류 작성 시간도 현저히 줄어들고, 합격율도 높아졌다. 유투브에서 자소서와 이력서 피드백 영상들을 보면 공통적으로 수치화된 성과위주로 나열하라고 한다. 수치화할 수 있는 성공 겸험이 없지는 않지만 조금 부족한 것 같다. 개인 프로젝트를 개선하면서 수치화된 성과로 이력서를 풍성하게 만들어야겠다. 최근, 자꾸 떨어지면서 취업 준비 기간을 어떻게 보내야할 지 방향성을 좀 잃었었다. 개인 프로젝트를 하며 성공 경험을 계속 쌓으면서, 기본기 위주로..