2025년 회고
기술만 좋으면 된다고 믿었다. 클린 코드, 리팩토링, TDD, 도메인 주도 설계. 좋은 코드를 짜는 것이 개발자의 최고 덕목이라 생각하며 끊임없이 수련했다. 그런데 AI 시대가 오면서 그 전제가 흔들렸다. 코드를 잘 작성하는 것만으로는 대체 불가능한 가치를 만들 수 없다는 걸 체감했다. 그렇다면 개발자가 진짜…

기술만 좋으면 된다고 믿었다. 클린 코드, 리팩토링, TDD, 도메인 주도 설계. 좋은 코드를 짜는 것이 개발자의 최고 덕목이라 생각하며 끊임없이 수련했다. 그런데 AI 시대가 오면서 그 전제가 흔들렸다. 코드를 잘 작성하는 것만으로는 대체 불가능한 가치를 만들 수 없다는 걸 체감했다. 그렇다면 개발자가 진짜…

CDN을 도입했는데 매달 나가는 비용이 부담스럽다고 생각한 적이 있는가? 우리 팀은 브라우저 캐시 설정만으로 연간 100만원 이상의 CDN 비용을 절감했다. 단순히 Cache-Control 헤더를 적절히 설정하는 것만으로도 가능하다. 이 글에서는 CDN의 기본 원리부터 시작해서, Cache-Control 헤더에…

유명인의 내한으로 이벤트를 열게 되었다. 선착순 1,000명에게만 주어지는 기회다. 티켓팅 신청을 웹 애플리케이션으로 받으려고 계획 중이며, 요구사항은 아래와 같다. 분산 락을 통해 락을 걸었다고 해보자. 혹시 완벽하게 동시성을 제어했다고 안심하고 있는가?

"NestJS boilerplate" NestJS를 처음 시작한 사람들은 한 번씩 검색해봤을 법한 키워드일 것이다. 근데 막상 코드를 확인해보면 뭐가 뭔지, 다 필요한 건지 헷갈린다.

이 글에서는 Spring AOP를 활용해 분산 락 처리 코드를 비즈니스 로직에서 완전히 분리하는 방법을 소개한다. 동시성을 제어를 위해 Lock 인터페이스를 사용할 때, try-finally 블록과 락 관리 코드가 비즈니스 로직을 압도하는 문제를 겪게 된다. Spring의 @Transactional이 트랜잭션…