로고 기록을 모아 모아!

전체 아티클

MEASUREMENT
큐를 활용한 배치 시스템을 분석하고 개선해보자 (4)
좀 더 좋은 설계인지 성능과 지표를 측정하고 배포한 작업의 임팩트를 측정하고 명확히 하자.
2026.01.12 · 23min
MEASUREMENT
큐를 활용한 배치 시스템을 분석하고 개선해보자 (3)
이전에 비해 조금 더 좋은 설계를 만들어나가자.
2026.01.01 · 9min
MEASUREMENT
큐를 활용한 배치 시스템을 분석하고 개선해보자 (2)
기존의 설계를 실험을 바탕으로 여러가지를 고려해보고 좀 더 좋은 설계를 만들어나가자.
2025.12.26 · 13min
MEASUREMENT
큐를 활용한 배치 시스템을 분석하고 개선해보자 (1)
성능과 지표를 측정하자. 현재 어떤 상태인지 확인하고, 이 지표를 가지고 개선할 것들을 판단하자.
2025.12.22 · 19min
MONGODB
MongoDB WriteConflict와 Race Condition 해결하기
지원서 수정 기능 개발 중 발생한 MongoDB WriteConflict 문제를 트랜잭션, MVCC, 그리고 낙관적 동시성 제어 관점에서 분석하고 해결한 과정을 공유합니다.
2025.12.18 · 12min
WEBSOCKET
소켓 API 문서화를 위한 AsyncAPI 커스텀 도입기
소켓 명세를 노션에 손수 정리하던 방식에서 벗어나 AsyncAPI를 도입하여 자동화된 문서화 시스템을 구축한 과정을 정리합니다.
2025.12.10 · 20min
FORM BUILDER
폼 빌더의 조건부 로직 시스템 구축하기
지원서 폼에서 답변에 따라 스텝을 동적으로 숨기고 보여주는 조건부 로직 시스템의 설계와 구현 과정을 공유합니다.
2025.11.10 · 12min
MONGODB
MongoDB CSFLE로 개인정보 필드 암호화 구축하기
AWS KMS와 MongoDB Client-Side Field Level Encryption을 활용하여 개인정보를 안전하게 암호화하고 관리하는 시스템 구축 과정을 공유합니다.
2025.10.20 · 12min
SQLITE
임시저장 기능 고도화 해보기 (5)
임시 저장 기능을 고도화하는 과정에서 마주했던 고민들과 이를 해결하기 위해 시도했던 다양한 방안들을 정리해보았습니다.
2025.08.15 · 2min
SQLITE
임시저장 기능 고도화 해보기 (4)
임시 저장 기능을 고도화하는 과정에서 마주했던 고민들과 이를 해결하기 위해 시도했던 다양한 방안들을 정리해보았습니다.
2025.08.01 · 6min
SQLITE
임시저장 기능 고도화 해보기 (3)
임시 저장 기능을 고도화하는 과정에서 마주했던 고민들과 이를 해결하기 위해 시도했던 다양한 방안들을 정리해보았습니다.
2025.07.25 · 10min
SQLITE
임시저장 기능 고도화 해보기 (2)
임시 저장 기능을 고도화하는 과정에서 마주했던 고민들과 이를 해결하기 위해 시도했던 다양한 방안들을 정리해보았습니다.
2025.07.15 · 8min
SQLITE
임시저장 기능 고도화 해보기 (1)
임시 저장 기능을 고도화하는 과정에서 마주했던 고민들과 이를 해결하기 위해 시도했던 다양한 방안들을 정리해보았습니다.
2025.07.10 · 13min
GA4
마케팅 트래킹을 위한 고정 URL 적용해보기
기존 URL 구조에서는 여러 모집의 데이터를 통합하여 효과적으로 트래킹하기 어려웠고, 이로 인해 데이터 분석과 마케팅 전략 수립에 한계가 있었습니다. 이러한 문제를 해결하고자 고정 URL 방식을 도입하였습니다.
2025.06.30 · 7min
AWS SES
메일 전송 기능을 간단하지만 간단하지 않게 구현해보자 (feat. AWS SES)
설문조사 기능과 연동하여 메일을 전송하는 기능을 개발하였습니다. AWS SES를 덕분에 비교적 간편하게 구현할 수 있었으나, 기능의 완성도를 높이기 위해 몇 가지 추가적인 고민을 해보았습니다.
2025.05.20 · 13min
GOOGLE SPREAD SHEET
데이터 유실 없이 Google Spread Sheet 연동하기
설문조사 기능과 연동하여 메일을 전송하는 기능을 개발하였습니다. AWS SES를 덕분에 비교적 간편하게 구현할 수 있었으나, 기능의 완성도를 높이기 위해 몇 가지 추가적인 고민을 해보았습니다.
2025.04.30 · 13min
NESTJS
NestJS module는 어떻게 등록되나요? (6)
NestJS module이 초기화될 때 요소들 간의 관계를 어떻게 관리하는지에 대해 살펴보겠습니다.
2025.01.03 · 9min
NESTJS
NestJS module는 어떻게 등록되나요? (5)
NestJS module이 초기화될 때 커스텀 메타데이터를 어떻게 관리하는지에 대해 살펴보겠습니다.
2025.01.01 · 6min
NESTJS
NestJS module는 어떻게 등록되나요? (4)
NestJS module이 controller, exports 의존성을 어떻게 관리하는지 예시와 함께 더 살펴보려고 합니다.
2024.12.31 · 5min
NESTJS
NestJS module는 어떻게 등록되나요? (3)
NestJS module이 imports, providers 의존성을 어떻게 관리하는지 예시와 함께 더 살펴보려고 합니다.
2024.12.30 · 12min
NESTJS
NestJS module는 어떻게 등록되나요? (2)
NestJS module이 어떻게 초기화되는지 예시와 함께 더 살펴보려고 합니다.
2024.12.29 · 11min
NESTJS
NestJS module는 어떻게 등록되나요? (1)
NestJS module 내부 구현체를 확인해보고, 더 깊게 작동 방식을 이해합니다.
2024.12.28 · 5min
NESTJS
배치 서버를 실시간 작업으로 변경하자 (feat. Kafka)
배치 서버에서 하루치를 한번에 하던 작업을 Kafka 통해서 실시간으로 처리하도록 변경하였습니다.
2024.12.10 · 14min
PNPM
pnpm에서 의존성을 관리하는 방법? (feat. Turborepo)
pnpm에 대해서 알아보고, 모노레포에서 앱을 빌드해보자.
2024.11.25 · 19min
STRATEGY PATTERN
Strategy 패턴을 사용해보기
동적으로 다른 비즈니스 로직을 실행할 수 있도록 Strategy 패턴을 사용해보았습니다.
2024.11.10 · 4min
KAFKA
실전 카프카 개발부터 운영까지 - 카프카의 내부 동작 원리와 구현
카프카의 카프카의 내부 동작 원리와 구현을 살펴보았습니다.
2024.10.05 · 15min
KAFKA
실전 카프카 개발부터 운영까지 - 카프카 기본 개념과 구조
카프카의 기본 개념과 구조를 살펴보았습니다.
2024.10.02 · 8min
MONGOOSE
mongoose pre hook 에러 추적기 (3)
mongoose에서 더 넓은 범주에서 문제를 해결할 수 있도록 추가적인 기여를 진행하였습니다.
2024.09.25 · 4min
MONGOOSE
mongoose pre hook 에러 추적기 (2)
mongoose를 사용하는 과정에서 발생한 문제를 해결하기 위해 수정 작업을 진행했습니다.
2024.09.22 · 6min
MONGOOSE
mongoose pre hook 에러 추적기 (1)
사내 제품을 사용하면서 mongoose 마이그레이션 중 문제가 발생했는데요, 이 글에서는 문제의 원인을 파악하기 위해 애플리케이션 코드와 mongoose 소스 코드를 분석한 과정을 소개합니다.
2024.09.10 · 17min
NESTJS
배치 서버를 간단하고 빠르게 구축해보자 (feat. Bull Queue)
NestJS를 통해서 배치 서버를 빠르게 만들고, 데이터를 효율적으로 처리할 수 있는 Bull Queue를 도입 해보았습니다.
2024.08.10 · 16min
NESTJS
NestJS middleware를 수정해보자
프로젝트에서 NestJS middleware 적용하던 중, 버그를 발견하고 수정하여 직접 기여해본 이야기를 공유합니다.
2024.06.15 · 16min
NESTJS
NestJS middleware는 어떻게 작동할까 (5)
NestJS middleware를 파헤쳐본 과정들을 마무리하고 정리하려고 합니다. 도표로 최대한 깔끔하게 마무리하고 공유하고자 합니다.
2024.06.03 · 4min
NESTJS
NestJS middleware는 어떻게 작동할까 (4)
이전 글들에서 앞서 알아본 NestJS middleware 내부 구현체들이 어떻게 실체화되고 등록되는지 살펴보겠습니다.
2024.06.01 · 8min
NESTJS
NestJS middleware는 어떻게 작동할까 (3)
이어서 NestJS middleware 내부 구현체 중 MiddlewareBuilder의 메서드들 부터 상세하게 살펴보겠습니다.
2024.05.28 · 8min
NESTJS
NestJS middleware는 어떻게 작동할까 (2)
이어서 NestJS middleware 내부 구현체의 핵심 구현체인 MiddlewareBuilder 부터 살펴보겠습니다.
2024.05.27 · 7min
NESTJS
NestJS middleware는 어떻게 작동할까 (1)
NestJS middleware 내부 구현체를 확인해보고, 더 깊게 작동 방식을 이해합니다. 우선 NestApplication 구현체 부터 살펴보겠습니다.
2024.05.25 · 8min
CLOUD STORAGE
한 프로젝트에 여러 클라우드 서비스를 사용해보자
이미지 업로드 기능을 클라우드 서비스별로 다르게 적용해야 했습니다. 코드 중복을 방지하기 위해 추상화를 적용하고 Proxy 패턴을 활용해 구현해보았습니다.
2024.05.08 · 9min
NESTJS
NestJS 컨테이너, DI는 어떻게 작동할까 (3)
NestJS를 사용하며 작동 방식을 깊이 알지 못한 채 사용해왔습니다. 이에 내부 구현을 훑어보고자 합니다.
2024.04.30 · 7min
NESTJS
NestJS 컨테이너, DI는 어떻게 작동할까 (2)
NestJS를 사용하며 작동 방식을 깊이 알지 못한 채 사용해왔습니다. 이에 내부 구현을 훑어보고자 합니다.
2024.04.29 · 5min
NESTJS
NestJS 컨테이너, DI는 어떻게 작동할까 (1)
NestJS를 사용하며 작동 방식을 깊이 알지 못한 채 사용해왔습니다. 이에 내부 구현을 훑어보고자 합니다.
2024.04.20 · 6min
SPRING BOOT
조건부 자동 구성, @Conditional에 대해 알아보자
스프링 부트에서 조건부로 빈을 등록하기!
2023.10.07 · 5min
SPRING BOOT
독립 실행형 서블릿 애플리케이션 살펴보기 (2)
이전글에 이어서 의존성 주입(DI), 싱글톤 패턴, DispatcherServlet의 역할, Bean에 대해서 알아보며 서블릿 컨테이너가 어떻게 작동하는지 알아보았습니다.
2023.10.03 · 12min
SPRING BOOT
독립 실행형 서블릿 애플리케이션 살펴보기 (1)
스프링에서 어노테이션 하나로 동작하는 기능을 직접 구현해보고 따라 작성하면서 서블릿 컨테이너가 어떻게 작동하는지 알아보았습니다.
2023.09.30 · 6min
SPRING BOOT
스프링 부트 살펴보기!
스프링 부트가 무엇인지에 대해서 가볍게 톺아보고자 합니다.
2023.09.20 · 6min