chanwoo-log
💻 Profile
profile_image
chanwoo
backend developer
Junior Backend Developer
🔎 Search
📂 All Posts
Project
@TransactionalEventListener(AFTER_ROLLBACK) 사용 시 트랜잭션 리소스가 반납되지 않아 발생한 문제와 해결

@TransactionalEventListener(AFTER_ROLLBACK) 사용 시 트랜잭션 리소스가 반납되지 않아 발생한 문제와 해결

2024년 8월 23일

@TransactionalEventListener에서 TransactionSynchronization#afterCompletion 을 사용하게 되는 경우, 이벤트 리스너에서 이벤트 퍼블리셔의 트랜잭션 리소스가 반납되지 않을 수 있다. 이 문제로 인해 발생한 문제에 대한 고민과 선택한 해결 방법을 살펴보자

졸업프로젝트
문제해결
고민
Database
InnoDB 에서 INSERT 시 잠금 메커니즘 맛보기

InnoDB 에서 INSERT 시 잠금 메커니즘 맛보기

2024년 6월 30일

InnoDB에서 INSERT 실행 시 X락의 사용에 대해 (feat.암묵적 잠금과 명시적 잠금 메커니즘)

MySQL
데이터베이스
Project
Spring Batch 에서 Step 간 데이터 공유하기 [2]

Spring Batch 에서 Step 간 데이터 공유하기 [2]

2024년 4월 12일

스프링 배치 적용 중, 모든 단계에서 공유되어야 하는 데이터에 대한 고민과 해결하기 위한 과정 정리 [2]

졸업프로젝트
Spring Batch
Project
Spring Batch 에서 Step 간 데이터 공유하기 [1]

Spring Batch 에서 Step 간 데이터 공유하기 [1]

2024년 4월 11일

스프링 배치 적용 중, 모든 단계에서 공유되어야 하는 데이터에 대한 고민과 해결하기 위한 과정 정리 [1]

졸업프로젝트
문제해결
Project
Log4j2 와 Sentry 로 로그 모니터링 하기 (feat.MDC)

Log4j2 와 Sentry 로 로그 모니터링 하기 (feat.MDC)

2024년 4월 4일

Log4j2 와 Sentry 를 활용해 로그 모니터링 환경 구축하기

졸업프로젝트
로그
모니터링
Project
이벤트를 활용해 외부 네트워크 작업과 DB 트랜잭션 분리하기

이벤트를 활용해 외부 네트워크 작업과 DB 트랜잭션 분리하기

2024년 3월 25일

스프링 이벤트를 활용한 네트워크 작업 및 트랜잭션 작업 분리

졸업프로젝트
설계
문제해결
Project
애그리거트 루트 하위 객체에서의 일급 컬렉션 사용에 대하여

애그리거트 루트 하위 객체에서의 일급 컬렉션 사용에 대하여

2024년 3월 22일

애그리거트 루트 하위 객체에서의 일급 컬렉션 사용에 대한 고민을 정리합니다

졸업프로젝트
설계
Project
API 문서화를 위한 도구 선택 : Spring REST Docs

API 문서화를 위한 도구 선택 : Spring REST Docs

2024년 3월 2일

API 문서화를 위한 도구 REST Docs 선택과 기본적인 설정들에 대해

졸업프로젝트
테스트
Project
도메인 예외 발생 위치에 대한 고민

도메인 예외 발생 위치에 대한 고민

2024년 2월 29일

도메인 예외 발생 위치에 대한 고민과 해결 방법

졸업프로젝트
예외처리
문제해결
Project
JWT 외부 의존성 제거를 위한 의존성 분리와 의존성 역전을 통한 모듈 간 의존성 문제 해결하기

JWT 외부 의존성 제거를 위한 의존성 분리와 의존성 역전을 통한 모듈 간 의존성 문제 해결하기

2024년 2월 25일

도메인을 최대한 순수하게 유지하기 위한 고민

졸업프로젝트
의존성
문제해결
Project
테스트 방법의 결정과 테스트 전략 : Unit Test

테스트 방법의 결정과 테스트 전략 : Unit Test

2024년 2월 23일

졸업 프로젝트의 테스트 환경 설정

졸업프로젝트
테스트
Project
Logging 프레임워크 선택과 Logging 환경 구축 : Log4j2

Logging 프레임워크 선택과 Logging 환경 구축 : Log4j2

2024년 2월 19일

졸업 프로젝트의 로깅 환경 구축

졸업프로젝트
Logging
Project
졸업 프로젝트 서버 아키텍처 (feat.DDD)

졸업 프로젝트 서버 아키텍처 (feat.DDD)

2024년 2월 16일

졸업 프로젝트의 서버 아키텍처 구성

졸업프로젝트
아키텍처
JAVA
JVM(Java Virtual Machine) 간단 정리

JVM(Java Virtual Machine) 간단 정리

2024년 2월 3일

JVM 의 클래스로딩 과정과 memory layout, 실행 엔진 간단 정리

Java
JVM
Framework
SpringBoot 의 내장 Tomcat 설정 값

SpringBoot 의 내장 Tomcat 설정 값

2024년 2월 2일

스프링부트의 내장 웹 서버 톰캣의 설정값에 대해

Spring
Java
Framework
SpringBoot 내장 톰캣이 다중 사용자 요청을 처리하는 과정

SpringBoot 내장 톰캣이 다중 사용자 요청을 처리하는 과정

2024년 2월 1일

스프링부트의 내장 웹 서버인 Tomcat 이 다중 사용자 요청을 처리하는 과정에 대해

Spring
Java
JAVA
어노테이션과 Annotation Processing

어노테이션과 Annotation Processing

2024년 1월 13일

자바에서 제공하는 어노테이션 기본 지식과 이를 활용한 lombok 어노테이션에 대해

Java
Spring
Framework
스프링 컨테이너의 생명주기와 Spring Bean 의 생명주기 및 범위에 대해

스프링 컨테이너의 생명주기와 Spring Bean 의 생명주기 및 범위에 대해

2024년 1월 6일

스프링 프레임워크의 스프링 컨테이너와 Bean 의 생명주기와 범위에 대해

Spring
Java
Project
현상소 검색을 위한 FULLTEXT 인덱스 적용기[1]

현상소 검색을 위한 FULLTEXT 인덱스 적용기[1]

2023년 12월 16일

전문 검색 인덱스 적용 전 성능 테스트

Project
Java
Spring
필린
Database
MySQL 인덱스 : Full Text search 인덱스

MySQL 인덱스 : Full Text search 인덱스

2023년 12월 15일

mysql 인덱스 : 전문 검색 인덱스

MySQL
RealMySQL8.0
Project
JPA의 DTO Projection 사용 중 발생한 2N+1 문제 해결

JPA의 DTO Projection 사용 중 발생한 2N+1 문제 해결

2023년 12월 4일

2N+1 문제 해결

Project
Java
Spring
문제해결
Project
쿼리 개선을 통한 API 성능 개선 (feat.도메인 엔티티와 영속성 엔티티의 분리)

쿼리 개선을 통한 API 성능 개선 (feat.도메인 엔티티와 영속성 엔티티의 분리)

2023년 11월 30일

N*2 문제 + 예상하지 못한 쿼리 발생 문제 해결

Project
Java
Spring
문제해결
Project
온보딩 API의 쿼리 개수 줄이기 시행착오

온보딩 API의 쿼리 개수 줄이기 시행착오

2023년 11월 26일

온보딩 API의 쿼리 개수 줄이기 시행착오

Project
Java
Spring
Project
쿼리 개선을 위한 쿼리 매니저 적용기

쿼리 개선을 위한 쿼리 매니저 적용기

2023년 11월 21일

쿼리 개선을 위한 쿼리 매니저 적용기

Project
Java
Spring
OOP
객체지향 설계의 핵심 : 의존성(Dependency)과 결합도, 캡슐화(Encapsulation), 자율성과 응집도(Cohesion)

객체지향 설계의 핵심 : 의존성(Dependency)과 결합도, 캡슐화(Encapsulation), 자율성과 응집도(Cohesion)

2023년 9월 16일

객체지향 설계 : 의존성, 결합도, 캡슐화, 자율성, 응집도

OOP
Framework
Spring MVC 의 흐름과 요청 역직렬화 및 응답 직렬화

Spring MVC 의 흐름과 요청 역직렬화 및 응답 직렬화

2023년 9월 3일

Spring MVC 의 흐름과 요청-응답 간 직렬화와 역직렬화에 대해

Spring
Java
Framework
서블릿(Servlet)과 디스패처 서블릿(Dispatcher Servlet)에 대하여

서블릿(Servlet)과 디스패처 서블릿(Dispatcher Servlet)에 대하여

2023년 8월 31일

자바 서블릿과 스프링 디스패처 서블릿

Spring
Basic
웹 서버(Web Server)와 WAS(웹 애플리케이션 서버)

웹 서버(Web Server)와 WAS(웹 애플리케이션 서버)

2023년 8월 23일

웹 서버와 웹 앱 서버

Server
Database
MySQL 의 잠금 : InnoDB 스토리지 엔진 잠금

MySQL 의 잠금 : InnoDB 스토리지 엔진 잠금

2023년 8월 12일

InnoDB 스토리지 엔진 잠금 정리 : 레코드 락, 갭 락, 넥스트 키 락, 자동 증가 락

MySQL
RealMySQL8.0
Database
MySQL 의 잠금 : MySQL 엔진 잠금

MySQL 의 잠금 : MySQL 엔진 잠금

2023년 8월 3일

mysql 잠금

MySQL
RealMySQL8.0
Database
트랜잭션과 트랜잭션 격리 수준 (isolation level)

트랜잭션과 트랜잭션 격리 수준 (isolation level)

2023년 7월 29일

트랜잭션과 트랜잭션 격리 수준

MySQL
RealMySQL8.0
Database
Redo Log (리두 로그), Undo Log (언두 로그) - InnoDB 스토리지 엔진 아키텍처 : On-Disk Structures

Redo Log (리두 로그), Undo Log (언두 로그) - InnoDB 스토리지 엔진 아키텍처 : On-Disk Structures

2023년 7월 26일

리두 로그와 언두 로그 : InnoDB 스토리지 엔진 아키텍처

MySQL
RealMySQL8.0
Database
테이블 스페이스와 Double Write Buffer - InnoDB 스토리지 엔진 아키텍처 : On-Disk Structures

테이블 스페이스와 Double Write Buffer - InnoDB 스토리지 엔진 아키텍처 : On-Disk Structures

2023년 7월 25일

테이블 스페이스와 이중 쓰기 버퍼 : InnoDB 스토리지 엔진 아키텍처

MySQL
RealMySQL8.0
Database
어댑티브 해시 인덱스 - InnoDB 스토리지 엔진 아키텍처 : In-Memory Structures

어댑티브 해시 인덱스 - InnoDB 스토리지 엔진 아키텍처 : In-Memory Structures

2023년 7월 24일

어댑티브 해시 인덱스 : InnoDB 스토리지 엔진 아키텍처

MySQL
RealMySQL8.0
Database
체인지 버퍼 - InnoDB 스토리지 엔진 아키텍처 : In-Memory Structures

체인지 버퍼 - InnoDB 스토리지 엔진 아키텍처 : In-Memory Structures

2023년 7월 24일

체인지 버퍼 : InnoDB 스토리지 엔진 아키텍처

MySQL
RealMySQL8.0
Database
버퍼 풀, 로그 버퍼 - InnoDB 스토리지 엔진 아키텍처 : In-Memory Structures

버퍼 풀, 로그 버퍼 - InnoDB 스토리지 엔진 아키텍처 : In-Memory Structures

2023년 7월 23일

버퍼 풀과 로그 버퍼 : InnoDB 스토리지 엔진 아키텍처

MySQL
RealMySQL8.0
Database
MySQL 아키텍처

MySQL 아키텍처

2023년 7월 23일

MySQL의 아키텍처에 대해

MySQL
RealMySQL8.0
Project
FCM 서버 에러 및 네트워크 불량으로 인한 전송 누락 문제 해결

FCM 서버 에러 및 네트워크 불량으로 인한 전송 누락 문제 해결

2023년 7월 12일

지수 백오프를 이용한 재전송 로직 구현을 통해 문제 해결

Project
Java
Spring
문제해결
🤖 Computer Science
[시스템 프로그래밍] POSIX Signals 와 시그널 핸들링

[시스템 프로그래밍] POSIX Signals 와 시그널 핸들링

2023년 6월 15일

POSIX Signals 와 시그널 핸들링

CS
🤖 Computer Science
[시스템 프로그래밍] 인터포지셔닝 - 컴파일 타임, 링크 타임, 로드/런 타임

[시스템 프로그래밍] 인터포지셔닝 - 컴파일 타임, 링크 타임, 로드/런 타임

2023년 5월 25일

인터포지셔닝에 대해

CS
🤖 Computer Science
[시스템 프로그래밍] Linking 과 Relocation 에 대하여

[시스템 프로그래밍] Linking 과 Relocation 에 대하여

2023년 5월 25일

링킹과 리로케이션

CS
Project
[Project] ScheduledExecutorService 를 이용한 예약 알림 시스템 구현

[Project] ScheduledExecutorService 를 이용한 예약 알림 시스템 구현

2023년 5월 22일

ScheduledExecutorService 를 이용한 예약 알림 시스템

Project
Java
Spring
Project
Hikari Pool - Thread starvation or clock leap detected 문제와 해결

Hikari Pool - Thread starvation or clock leap detected 문제와 해결

2023년 5월 20일

Hikari Pool 에서 발생한 Thread starvation or clock leap detected 문제와 해결

Project
Java
Spring
문제해결
Security
[보안 프로그래밍] 비대칭키(공개키) 암호 시스템과 RSA

[보안 프로그래밍] 비대칭키(공개키) 암호 시스템과 RSA

2023년 5월 13일

비대칭키(공개키) 암호화와 RSA

Security
Security
[보안 프로그래밍] 대칭키 암호 시스템 - 블록 암호와 스트림 암호

[보안 프로그래밍] 대칭키 암호 시스템 - 블록 암호와 스트림 암호

2023년 5월 12일

대칭키 암호 시스템 : 블록 암호와 스트림 암호

Security
JAVA
[Java] Java Collections Framework 와 List - LinkedList 편

[Java] Java Collections Framework 와 List - LinkedList 편

2023년 5월 7일

자바 컬렉션 프레임워크 : LinkedList

Java
Language
Project

[Project] 변형된 헥사고날 아키텍처에 대하여

2023년 5월 5일

왈 프로젝트의 서버 구조 : 변형한 헥사고날 아키텍처

Project
Spring
Java
JAVA
[Java] Java Collections Framework 와 List - ArrayList 편

[Java] Java Collections Framework 와 List - ArrayList 편

2023년 5월 5일

자바 컬렉션 프레임워크 : ArrayList 에 대해

Java
Language
🤖 Computer Science
[시스템 프로그래밍] Process 와 ELF(Executable and Linking Format) 에 대하여

[시스템 프로그래밍] Process 와 ELF(Executable and Linking Format) 에 대하여

2023년 4월 27일

프로세스와 ELF

CS
Security
[보안 프로그래밍] 암호학적 해쉬와 MDC, MAC 기술에 대하여

[보안 프로그래밍] 암호학적 해쉬와 MDC, MAC 기술에 대하여

2023년 4월 26일

암호학적 해쉬와 MDC, MAC 기술

Security
School
JAVA
equals & hashCode 에 대하여

equals & hashCode 에 대하여

2023년 4월 24일

자바의 equlas&hashcode

Java
OOP
원시값 포장과 VO

원시값 포장과 VO

2023년 4월 23일

자바의 원시값 포장과 VO에 대해

Java
OOP
💻 Profile
chanwoo
backend developer
Junior Backend Developer
🌟 Service
💬 Contact
github
email