이 내용은 '자바로 배우는 자료구조 알고리즘' 책을 읽고 내용을 정리합니다. 해당 내용에 대한 실습 및 예제 코드는 아래 깃허브 링크를 참고하면 된다.
Java
10 Posts in this tag
프로젝트 QA중 특정 기능에서 조회 성능이 굉장히 떨어져 타임아웃까지 응답이 불가능한 문제가 발생하였다. 조회 요청을 보내는 테이블에 데이터가 꽤나 많았고, 추후 최적화를 진행하려고 했던터라 개발 단계에서 신경쓰지 못했었지만, 이번 오류 대응 과정을 통해서 배웠고, 앞으로도 주의해야할 내용을 공유해 보고자 한다.
이번 프로젝트에서 ORM으로 JPA를 사용하게 되었다. 설계단계에서 비즈니스 로직의 대부분이 CRUD로 이뤄져 생산성 향상 측면에서 유리할것 같아 제안했고, 도입이 이뤄졌다. 이로인해 실제로 코드의 복잡도나 유지보수성이 크게 향상되었지만 예상치 못한곳에서 문제가 발생했다. 바로 ID 생성 방식때문이였다.
Spring을 통해 코드를 작성하다가 HttpServletRequest와 HttpServletResponse은 어디서 온걸까 하는 의문이 생겼다. HTTP를 통해 전송된 내용이 톰캣과 같은 WAS를 통해 변환된다는 것 까지는 알고있었지만 자세하게 알아보고싶어 블로그 작성을 시작하게 되었다.
프로젝트를 진행하면서 본인인증 기능을 직접 구현해 볼수있는 좋은 기회가 생겼다. 기능 구현을 하면서 겪었던 문제들과 새롭게 알게된 내용을 공유해보고자 글을 작성하게 되었다. 구현에 대한 내용에 들어가기전 본인인증에 대해 찾아본 내용을 먼저 전달한다.
실무에서 N+1가 발생하여 해결했던 경험에 대해서 작성해보고자 한다. 진행중인 프로젝트는 JPA를 사용중이며, Mybatis를 포함한 모든 N+1 문제에 대한 해결 방법을 다뤄보겠다.
JJWT라이브러리를 사용하던중 이전까지 사용하고있던 메서드에서 컴파일 오류가 발생하여 해결했던 경험을 공유하고자 한다.
현재 운영중인 통합 서비스의 리팩토링을 진행하려는 와중 객관적인 기준이 필요하다는 생각이 들었다. 이를 위해 SonarQube로 코드의 상태를 측정하고 리팩토링 포인트로 잡아갔던 경험을 기록하고자 한다.