이번 프로젝트에서 ORM으로 JPA를 사용하게 되었다. 설계단계에서 비즈니스 로직의 대부분이 CRUD로 이뤄져 생산성 향상 측면에서 유리할것 같아 제안했고, 도입이 이뤄졌다. 이로인해 실제로 코드의 복잡도나 유지보수성이 크게 향상되었지만 예상치 못한곳에서 문제가 발생했다. 바로 ID 생성 방식때문이였다.
Blog.
Notes. Systems. Shipping.
Spring을 통해 코드를 작성하다가 HttpServletRequest와 HttpServletResponse은 어디서 온걸까 하는 의문이 생겼다. HTTP를 통해 전송된 내용이 톰캣과 같은 WAS를 통해 변환된다는 것 까지는 알고있었지만 자세하게 알아보고싶어 블로그 작성을 시작하게 되었다.
프로젝트를 진행하면서 본인인증 기능을 직접 구현해 볼수있는 좋은 기회가 생겼다. 기능 구현을 하면서 겪었던 문제들과 새롭게 알게된 내용을 공유해보고자 글을 작성하게 되었다. 구현에 대한 내용에 들어가기전 본인인증에 대해 찾아본 내용을 먼저 전달한다.
실무에서 N+1가 발생하여 해결했던 경험에 대해서 작성해보고자 한다. 진행중인 프로젝트는 JPA를 사용중이며, Mybatis를 포함한 모든 N+1 문제에 대한 해결 방법을 다뤄보겠다.
JJWT라이브러리를 사용하던중 이전까지 사용하고있던 메서드에서 컴파일 오류가 발생하여 해결했던 경험을 공유하고자 한다.
JPA를 사용하다보면 Pageble을 통해 손쉽게 구현하던 페이지네이션을 Mybatis로 어떻게 구현할지 고민하고 프로젝트에 적용하며 알게된 내용을 기록하고자 한다.
회사에서 LPR 기반의 대시보드 구현 PoC를 진행하면서 대시보드에 CCTV 영상을 Live로 송출해야하는 요구사항이 있었다. 하지만 문제는 RTSP 프로토콜을 통해 제공되는 CCTV 영상이 브라우저에서 직접 재생되지 않아 다양한 접근 방식을 고민했었고, 이문제를 해결했던 내용을 기록하고자 작성하였다.
회사에서 레거시 코드를 보던 도중 PK를 UUID로 관리하고 있다는 것을 알게 되었다. UUID를 사용하는 이유에 대해 찾아보던 중 새롭게 알게된 내용과 어떻게 사용하는 것이 효율적인지 기록해보려고 한다.
회사에서 작은 사내 스터디를 시작하게 되었다. 같이 참여한 동료들은 개발팀 5명으로 1일 1커밋과 주 1회 블로그 업로드를 규칙으로 정했다. 하지만 내가 운영 중이던 블로그는 많은 수정이 필요한상태다.
레거시 코드를 마이그레이션 하던중 @Autowired을 통해 필드 주입으로만 의존성을 주입되어 있는 것을 발견하였다. 이를 생성자 주입으로 변경 하려고 하였지만 왜? 라는 의문이 들었고 이 포스팅 작성을 시작하였다.