CSV 파일을 맥용 엑셀에서 볼 때 한글이 깨지는 문제

CSV 파일 다운로드 기능을 구현할 때 발생하는 주요 문제들과 그 해결 방법을 다룹니다. 주요 내용으로는 한글 깨짐 문제 해결을 위한 BOM 문자 추가, 프론트엔드에서의 다운로드 문제 해결을 위한 ‘blob’ 타입 지정, CSV 형식 오류 해결을 위한 특수 문자 처리 방법 등이 포함됩니다.
더 읽어보기 →

JetBrains Fleet에서 Kotest 사용하기

JetBrains의 새로운 IDE인 Fleet은 IntelliJ와 달리 Kotest 플러그인을 기본적으로 지원하지 않습니다. 따라서 Kotest 테스트를 실행하려면 약간의 설정이 필요합니다. 이 글에서는 Gradle을 사용하여 Kotest 테스트를 실행하는 방법과 Fleet에서 테스트 실행을 편리하게 설정하는 방법을 소개합니다
더 읽어보기 →

Kotlin과 Jackson 사용 시 주의할 점

Kotlin과 Jackson을 사용할 때 primitive 타입의 필드가 누락된 경우, 예기치 않은 동작이 발생할 수 있습니다. 이 글에서는 실제 사례와 테스트를 통해 이 문제를 재현하고, 다양한 해결 방안을 비교 분석합니다.
더 읽어보기 →

S3 Sink Connector Scheduled Rotation

S3 Sink Connector에서 파일 로테이션을 설정하는 두 가지 주요 속성, rotate.interval.ms와 rotate.schedule.interval.ms의 차이점과 동작 방식을 비교합니다. 지속적인 데이터 유입 여부, Exactly-once delivery 보장 조건 등 꼭 알아야 할 내용을 알아봅니다.
더 읽어보기 →

JIT Compiler

JIT Compiler는 자바 코드 실행 속도를 획기적으로 향상시키는 JVM의 핵심 기술입니다. 이 글에서는 JIT Compiler의 작동 원리, Tiered Compilation, 임계값 설정 방법, 그리고 실제 성능 테스트를 통해 JIT의 효과를 자세히 살펴봅니다.
더 읽어보기 →

메인 시퀀스로부터의 거리: 추상도와 불안정도를 활용한 아키텍처 평가

소프트웨어 아키텍처에서 중요한 메트릭인 메인 시퀀스로부터의 거리를 중심으로, 이를 계산하는 데 사용되는 추상도(abstractness)불안정도(instability) 의 개념과 계산 방법을 설명합니다. 또한, 메트릭의 시각적 표현을 통해 코드 품질을 평가하고 개선하는 방법을 다룹니다.
더 읽어보기 →

소프트웨어 응집도와 LCOM: 이해와 활용

소프트웨어 설계의 핵심 개념인 응집도(Cohesion) 를 다양한 유형과 예시를 통해 쉽게 이해할 수 있도록 설명합니다. 또한, 클래스의 응집도를 정량적으로 평가하는 LCOM(Lack of Cohesion in Methods) 메트릭을 활용하여 설계 품질을 분석하고 개선하는 방법을 제시합니다.
더 읽어보기 →

Kotlin Iterable과 Sequence의 차이점과 활용법

Kotlin의 Iterable과 Sequence는 컬렉션을 처리하는 두 가지 주요 방식으로, 즉시 평가와 지연 평가라는 서로 다른 전략을 사용합니다. 이 글에서는 두 방식의 차이점, 성능 비교, 적합한 사용 사례를 중심으로 효율적인 Kotlin 코드를 작성하는 방법을 알아봅니다.
더 읽어보기 →

트랜잭션 격리 수준(Isolation Level)의 이해: 데이터 일관성과 성능의 균형

트랜잭션 격리 수준은 데이터베이스에서 동시성 문제를 제어하고 데이터 일관성을 유지하기 위한 핵심 개념입니다. Dirty Read, Non-repeatable Read, Phantom Read 가 무엇인지 알아보고, 네 가지 주요 격리 수준(Read Uncommitted, Read Committed, Repeatable Read, Serializable)의 특징을 알아봅니다.
더 읽어보기 →