
@TransactionalEventListener(AFTER_ROLLBACK) 사용 시 트랜잭션 리소스가 반납되지 않아 발생한 문제와 해결
@TransactionalEventListener에서 TransactionSynchronization#afterCompletion 을 사용하게 되는 경우, 이벤트 리스너에서 이벤트 퍼블리셔의 트랜잭션 리소스가 반납되지 않을 수 있다. 이 문제로 인해 발생한 문제에 대한 고민과 선택한 해결 방법을 살펴보자
@TransactionalEventListener에서 TransactionSynchronization#afterCompletion 을 사용하게 되는 경우, 이벤트 리스너에서 이벤트 퍼블리셔의 트랜잭션 리소스가 반납되지 않을 수 있다. 이 문제로 인해 발생한 문제에 대한 고민과 선택한 해결 방법을 살펴보자
InnoDB에서 INSERT 실행 시 X락의 사용에 대해 (feat.암묵적 잠금과 명시적 잠금 메커니즘)
스프링 배치 적용 중, 모든 단계에서 공유되어야 하는 데이터에 대한 고민과 해결하기 위한 과정 정리 [2]
스프링 배치 적용 중, 모든 단계에서 공유되어야 하는 데이터에 대한 고민과 해결하기 위한 과정 정리 [1]
Log4j2 와 Sentry 를 활용해 로그 모니터링 환경 구축하기
스프링 이벤트를 활용한 네트워크 작업 및 트랜잭션 작업 분리
애그리거트 루트 하위 객체에서의 일급 컬렉션 사용에 대한 고민을 정리합니다
API 문서화를 위한 도구 REST Docs 선택과 기본적인 설정들에 대해
도메인 예외 발생 위치에 대한 고민과 해결 방법
도메인을 최대한 순수하게 유지하기 위한 고민
졸업 프로젝트의 테스트 환경 설정
졸업 프로젝트의 로깅 환경 구축
졸업 프로젝트의 서버 아키텍처 구성
JVM 의 클래스로딩 과정과 memory layout, 실행 엔진 간단 정리
스프링부트의 내장 웹 서버 톰캣의 설정값에 대해
스프링부트의 내장 웹 서버인 Tomcat 이 다중 사용자 요청을 처리하는 과정에 대해
자바에서 제공하는 어노테이션 기본 지식과 이를 활용한 lombok 어노테이션에 대해
스프링 프레임워크의 스프링 컨테이너와 Bean 의 생명주기와 범위에 대해
전문 검색 인덱스 적용 전 성능 테스트
mysql 인덱스 : 전문 검색 인덱스
2N+1 문제 해결
N*2 문제 + 예상하지 못한 쿼리 발생 문제 해결
온보딩 API의 쿼리 개수 줄이기 시행착오
쿼리 개선을 위한 쿼리 매니저 적용기
객체지향 설계 : 의존성, 결합도, 캡슐화, 자율성, 응집도
Spring MVC 의 흐름과 요청-응답 간 직렬화와 역직렬화에 대해
자바 서블릿과 스프링 디스패처 서블릿
웹 서버와 웹 앱 서버
InnoDB 스토리지 엔진 잠금 정리 : 레코드 락, 갭 락, 넥스트 키 락, 자동 증가 락
mysql 잠금
트랜잭션과 트랜잭션 격리 수준
리두 로그와 언두 로그 : InnoDB 스토리지 엔진 아키텍처
테이블 스페이스와 이중 쓰기 버퍼 : InnoDB 스토리지 엔진 아키텍처
어댑티브 해시 인덱스 : InnoDB 스토리지 엔진 아키텍처
체인지 버퍼 : InnoDB 스토리지 엔진 아키텍처
버퍼 풀과 로그 버퍼 : InnoDB 스토리지 엔진 아키텍처
MySQL의 아키텍처에 대해
지수 백오프를 이용한 재전송 로직 구현을 통해 문제 해결
POSIX Signals 와 시그널 핸들링
인터포지셔닝에 대해
링킹과 리로케이션
ScheduledExecutorService 를 이용한 예약 알림 시스템
Hikari Pool 에서 발생한 Thread starvation or clock leap detected 문제와 해결
비대칭키(공개키) 암호화와 RSA
대칭키 암호 시스템 : 블록 암호와 스트림 암호
자바 컬렉션 프레임워크 : LinkedList
왈 프로젝트의 서버 구조 : 변형한 헥사고날 아키텍처
자바 컬렉션 프레임워크 : ArrayList 에 대해
프로세스와 ELF
암호학적 해쉬와 MDC, MAC 기술
자바의 equlas&hashcode
자바의 원시값 포장과 VO에 대해