🌀
f1v3-log
  • Welcome
  • 개발
    • SecurityContext를 새로 만들어야 할까?
    • OAuth2AuthorizationRequestResolver 커스터마이징
    • 동시성 문제를 해결해보자
    • MySQL은 어떻게 ID 값을 순차적으로 넣어주는 것일까? (Feat. Auto Increment Lock)
    • 외부 API 호출에 대한 고찰
      • HTTP Clients in Spring Boot
      • I/O와 트랜잭션 분리하기
      • 처리율 제한 장치 (Rate Limiter) 도입
      • 외부 API 의존성을 줄여보자
      • 캐시 레이어를 구성해보자 (Local Cache)
    • JPA Deep Dive
      • 결제 및 정산 시스템 기능 요구사항 분석
      • 글로벌 서비스를 고려할 때, 타임존 이슈를 어떻게 처리해야 할까?
      • Spring Data JPA - ID 생성 전략과 채번은 어떻게 되는걸까?
  • 회고
    • NHN Academy 인증과정 회고
    • DND 11기 회고
  • 독서
    • Effective Java 3/E
      • Item 1. 생성자 대신 정적 팩터리 메서드를 고려하라
      • Item 2. 생성자에 매개변수가 많다면 빌더를 고려하라
      • Item 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
    • 객체지향의 사실과 오해
      • 1장. 협력하는 객체들의 공동체
      • 2장. 이상한 나라의 객체
      • 3장. 타입과 추상화
      • 4장. 역할, 책임, 협력
      • 5장. 책임과 메시지
      • 6장. 객체 지도
      • 7장. 함께 모으기
  • Real MySQL 8.0
    • 04. 아키텍처
    • 05. 트랜잭션과 잠금
    • 08. 인덱스
    • 09. 옵티마이저와 힌트
  • 생각정리
    • 기술에 매몰되지 말자.
  • 공부
    • 객체지향 5원칙(SOLID)
      • SRP (Single Responsibility Principle)
      • OCP (Open Closed Principle)
Powered by GitBook
On this page
  • Why?
  • Goal

Was this helpful?

  1. 개발

JPA Deep Dive

예시 도메인 및 서비스 설계를 기반으로 JPA 성능 테스트까지 시도해보는 삽질 시리즈

Why?

  • 과연 우리는 JPA를 제대로 알고 사용하고 있는가?

    • 내부 구현을 파악해보자.

  • 단순 CRUD만 할 줄 아는 것이 JPA를 '잘' 사용하는 것일까?

    • 10만건 이상의 대량 데이터로 테스트 해보자.

  • 영속성 컨텍스트와 프레임워크 상에서 제공해주는 기능을 100% 신뢰하고 있는가?

Goal

  • 하나의 서비스가 돌아가는 시나리오를 함께 생각하고 DDL 설계를 진행한다.

  • 단순히 사용하기만 했던 사항들에 대해 다양한 케이스를 기반으로 직접 테스트 및 성능 비교를 진행한다.

    • Query 속도, 호출 수 등 성능적인 사항들을 두 눈으로 파악하자.

    • 내부 구현을 확인할 때 디버깅은 필수로 하자.

    • 테스트 코드, 코드리뷰, 토론은 적극적으로 하자.

  • 스터디를 진행하며 공부한 사항들에 대해 나의 것으로 만들기 위해 기록을 남긴다.

긴 호흡의 글쓰기를 진행해보자.

Previous캐시 레이어를 구성해보자 (Local Cache)Next결제 및 정산 시스템 기능 요구사항 분석

Last updated 2 months ago

Was this helpful?