Java의 Garbage Collector: G1, ZGC 그리고 선택 방법
Java 21에서 G1과 ZGC 비교: 동작 방식, 활성화 방법, GC 로그 읽기, 실행 중인 GC 확인 그리고 Spring Boot 애플리케이션에 맞는 GC 선택 기준.
Java 21에서 G1과 ZGC 비교: 동작 방식, 활성화 방법, GC 로그 읽기, 실행 중인 GC 확인 그리고 Spring Boot 애플리케이션에 맞는 GC 선택 기준.
멀티스테이지 빌드, 계층화된 jar, 최소 JRE, 루트가 아닌 사용자를 사용하여 작고 빠르게 빌드되며 안전한 Docker 이미지를 만들어봅시다.
API, 폼, 환경 변수 등에서 받은 데이터를 런타임에 Zod로 검증하면서 동시에 같은 schema에서 TypeScript 타입을 추론해보세요.
Go에서 channel, sync.WaitGroup, context, errgroup을 사용하여 제한된 동시성, 취소, 테스트가 가능한 worker pool을 구축하는 방법
LocalDate, ZonedDateTime, Duration을 올바르게 사용하기: 날짜 계산, 시간대 변환, 일광절약시간 처리 및 Clock을 이용한 안정적인 테스트 작성
Spring Kafka를 이용한 KafkaTemplate으로 메시지 송신, @KafkaListener로 수신, Dead Letter Topic을 이용한 에러 처리, Embedded Kafka로 테스트하는 방법을 소개합니다.
Mapped types와 conditional types를 사용하여 기존 타입으로부터 새로운 타입을 자동 생성하기, infer, key 이름 바꾸기, 타입 테스트 및 흔한 오류들.
Go는 상속을 지원하지 않습니다. 이 글은 struct embedding, method가 승격되는 방식, method 오버라이딩의 함정, 그리고 embedding을 interface와 결합하는 방법을 설명합니다.
List.of, List.copyOf, Collections.unmodifiableList 비교: 어느 것이 복사본이고 어느 것이 뷰인지, null 처리는 어떻게 되는지, 언제 뭘 써야 하는지.
CPython의 Global Interpreter Lock을 이해하고, thread가 CPU-bound 코드를 가속하지 못하는 이유, threading, multiprocessing, free-threaded 빌드를 사용해야 할 때를 배웁니다.
Spring Data JPA의 Pageable, Page, Slice, Sort를 사용하여 데이터를 페이지 나누기하고 정렬하는 방법을 repository에서 REST controller까지 설명하며, 테스트와 자주 발생하는 오류를 포함합니다.
Java 21의 다양한 thread pool 비교: fixed, cached, scheduled, work-stealing, virtual thread. ThreadPoolExecutor 직접 구성 방법과 Spring Boot에서 안전하게 사용하기.
Go의 defer, panic, recover 메커니즘을 이해하고, 자주 마주치는 함정과 언제 error를 반환해야 하는지 알아봅시다.
pyproject.toml으로 Python 라이브러리를 패킹하고, wheel을 빌드하며, TestPyPI에서 테스트하고, token 또는 Trusted Publishing으로 PyPI에 배포하는 가이드입니다.
@Transactional이 proxy를 통해 동작하는 방식과 self-invocation, checked exception, rollback-only, 그리고 테스트에서 오류를 가리는 등의 자주 만나는 함정들을 다룹니다.
Go 애플리케이션에서 pprof를 사용하여 CPU, heap, goroutine, block, mutex 프로필을 수집하고 읽는 방법을 설명합니다. HTTP 서비스부터 벤치마크까지 다룹니다.
checked와 unchecked exception을 구분하고, 올바른 유형을 선택하며, 맥락을 담은 커스텀 exception을 설계하고 흔한 anti-pattern을 피하는 방법
스레딩이 무거운 CPU 작업을 가속화하지 못하는 이유와 multiprocessing, Pool, ProcessPoolExecutor를 사용해 모든 CPU 코어를 활용하는 방법.
fixedRate, fixedDelay, cron을 사용한 @Scheduled의 사용 방법, 스레드 풀 구성, 에러 처리, 테스트 작성, 정기 작업 실행 시 흔히 발생하는 오류들
Comparator.comparing, thenComparing, reversed, nullsLast를 사용한 다중 기준 정렬과 흔한 실수 해결법