모든 블로그
마켓컬리

마켓컬리

블로그 방문

최신 게시글 (20)

1월 30일

데브옵스

Nx에서 Bun 더 잘 사용하기: Nx 18 -> 21 마이그레이션

Nx를 18에서 21로 업그레이드하며 Bun(bun.lock)으로 전환해 빌드와 CI 성능을 개선했습니다. bun.lock 텍스트 전환으로 도구 호환성 및 Dependabot PR 확인이 가능해졌습니다.

#webpack#bun#마이그레이션
44000

1월 12일

백엔드

컬리의 입고 시스템이 외부 인입 데이터를 안전하게 동기화하는 방법

아웃박스 패턴을 도입해 DB 쓰기와 메시지 발행의 원자성을 확보했습니다. Spring Kafka의 RetryableTopic으로 실패 메시지를 지연 재시도하고 최종적으로 DLT로 관리합니다.

#Kafka#spring boot#spring kafka
136000

12월 24일

AI

OMS에서 Claude AI를 활용하여 변화된 업무 방식

OMS팀은 Claude AI로 역할 기반 AI Context를 도입해 4명이 12개 MSA를 운영했습니다. TPM AI가 설계하고 MSA AI가 구현을 담당해 생산성과 코드 품질이 향상되었습니다

#MSA#TPM#Claude
92000

12월 23일

프론트엔드

디자인 컴포넌트 라이브러리를 ‘실제 사용 방식’에 맞게 다시 설계한 이야기

빌드·패키지 구조를 ESM 전환과 단일 패키지화로 재설계했습니다. 결과적으로 번들 크기와 빌드 시간이 크게 개선되어 개발자 경험이 향상되었습니다.

#react#design-system#ESM
102000

12월 17일

AI

Claude Code를 활용한 예측 가능한 바이브 코딩 전략

바이브 코딩의 LLM 한계를 Claude Code의 Plan/Todo/서브에이전트/CLAUDE.md로 보완하는 방법 제시. 작게 쪼개고 계획 검증하며 컨벤션과 검사를 자동화해 누락과 오류 누적 방지.

#LLM#Claude Code#agent-driven
325000

12월 4일

AI

개발자의 시간을 벌어주는 두 가지 도구: 잘 쓴 테크 스펙, 그리고 AI

컬리 웹개발 팀은 테크 스펙 도입으로 개발 문서화를 표준화하고, 이를 통해 코드 리뷰와 협업 효율을 크게 향상시켰습니다. 또한 AI를 활용해 테크 스펙 초안을 자동 생성하는 시도를 통해 문서 작성 부담을 줄이고 생산성을 높이고 있습니다.

#Web#협업#자동화
196000

12월 1일

프론트엔드

빌드가 터졌다: 5년 된 CMS 프로젝트의 Webpack4 → Vite 전환

5년간 유지된 Webpack4 기반 CMS 프로젝트가 메모리 문제로 빌드 실패를 겪자 Vite로 전환하여 빌드 성능과 개발 환경을 크게 개선했습니다. 기술 부채 해소와 점진적 마이그레이션의 중요성을 강조하며 전환 과정의 상세 경험을 공유합니다.

#react#TypeScript#CI/CD
73000

12월 1일

백엔드

Kafka Streams 윈도우 도입기

Kafka Streams 윈도우 기능을 재고 정산 처리에 도입한 경험을 공유합니다. 도입 과정에서의 문제점과 해결책, 그리고 적용 효과를 설명합니다.

#event#system#Kafka
81000

11월 26일

AI

개인화 추천 시스템 1편 - 유저의 행동은 “언어”일까? : Collaborative Embedding 구축기 (feat. Knowledge Distillation)

컬리는 Transformer와 Knowledge Distillation을 활용해 유저 행동을 언어처럼 해석하는 개인화 추천 시스템을 개발했습니다. 이 시스템은 온라인 실험에서 장바구니 전환율과 매출을 크게 향상시키며 우수한 성과를 입증했습니다.

#A/B test#추천#embedding
76000

10월 27일

AI

배송 완료 사진 속 객체 탐지를 통한 수기 검수 비용 줄이기

배송 완료 사진 내 퍼플 박스와 종이봉투 객체 탐지를 통해 수기 검수 비용을 93% 절감하는 AI 모델을 개발했습니다. 데이터 중심 접근법으로 라벨 품질을 개선하며 모델 성능을 크게 향상시켰습니다.

#자동화#배송#객체탐지
73000

10월 17일

프론트엔드

핀테크그룹의 GraphQL 기반 BFF와 프론트엔드 활용기

핀테크그룹은 GraphQL 기반 BFF를 도입해 프론트엔드 데이터 관리와 보안 정책을 통합했습니다. Apollo Client의 캐싱 문제 해결과 BFF 도입 시 고려사항도 상세히 다룹니다.

#TypeScript#GraphQL#NestJS
115000

10월 10일

백엔드

nginx 설정 없이 우아하게 서비스 점검하기 (上)

컬리의 입고 시스템 점검 과정에서 nginx 설정 권한 부재로 인해 애플리케이션 레벨에서 차단하는 AccessBlock 시스템을 개발했습니다. 이후 Redis 캐싱을 도입하여 응답 속도를 개선하고 RDBMS 의존성을 줄였으나, 완전한 의존성 제거는 다음 과제로 남겼습니다.

#API#MySQL#Redis
116000

10월 10일

백엔드

nginx 설정 없이 우아하게 서비스 점검하기 (下)

AccessBlock 시스템을 nginx 설정 없이 구글 스프레드시트, BigQuery, Redis, Vue.js, Spring AOP를 활용해 리뉴얼했습니다. 이를 통해 비전문가도 쉽게 접근 제어를 설정하고 실시간으로 서비스 차단을 적용할 수 있게 되었습니다.

#BigQuery#Redis#Vue.js
66000

7월 1일

백엔드

우리 팀에도 Jarvis 가 생겼다 – 생성형 AI 로 만든 에러 분석가 이야기

팀에서는 생성형 AI를 활용한 에러 로그 자동 분석 시스템 'Jarvis'를 개발하여 에러 대응 시간을 크게 단축했습니다. MCP 도입과 프롬프트 개선을 통해 정확도를 높이고, 과거 데이터 학습으로 지속 개선을 계획하고 있습니다.

#LLM#협업#자동화
216000

6월 2일

백엔드

딜리버리 암호화 모듈 개발기

딜리버리팀은 직접 개발한 암호화 모듈 cowcow-enc를 통해 자동 암/복호화와 봉투암호화 방식을 구현했습니다. 모듈은 최적화, 철저한 테스트, 최소 종속성으로 성능과 보안을 확보하며 여러 서비스에 적용되고 있습니다.

#Java#JPA#성능
40000

5월 9일

아키텍처

OMS의 최적화된 마이크로서비스 아키텍처 디자인

이 게시물은 컬리 OMS 팀의 최적화된 마이크로서비스 아키텍처 설계 및 운영 방식을 소개합니다. 공유 캐시 활용과 도메인별 msa 분리, 효율적 개발 문화가 핵심입니다.

#API#MSA#Microservice
40000

4월 14일

백엔드

딜리버리 프로덕트 개발팀의 개발 문화 - 주니어 디버깅 스터디

딜리버리 프로덕트 개발팀은 주니어 개발자의 디버깅 역량 강화를 위해 이론과 실전을 아우르는 10주간의 스터디를 진행했습니다. 스터디를 통해 근본 원인 분석, 디버깅 마인드셋, 협업과 회고의 중요성을 체득하며 팀 전체의 문제 해결 능력이 향상되었습니다.

#Java#협업#Debugging
181000

3월 4일

백엔드

Kafka Connect로 DB 데이터 쉽게 연동하기

Kafka Connect와 JDBC 소스 커넥터를 통해 DB 데이터를 코딩 없이 Kafka로 효율적으로 연동하는 방법을 소개합니다. 데이터 누락 문제 및 지연 시간을 줄이기 위한 설정과 활용 사례도 함께 다룹니다.

#Kafka#CDC#데이터베이스
64000

2월 5일

백엔드

물류의 물짜도 모르던 OMS PM의 OMS 구축기

OMS PM이 도메인 지식 없이 시스템을 분석하며 주문 분배 계획과 CAPA 조절 기능을 발견하고 개선해 나간 과정을 설명합니다. TAM과 OMS의 통합 및 자동화 기능 개발로 주문 처리 효율성과 운영 생산성을 크게 향상시켰습니다.

#자동화#물류#데이터
34000

1월 20일

백엔드

주소정제 서비스 내재화 - 1화 ( 줄줄 새는 돈 )

컬리는 외부 주소정제 서비스 이용으로 큰 비용과 배송 오류 문제를 겪으며 자체 내재화 프로젝트를 시작했습니다. 도로명 주소 체계와 상세주소 정제를 통해 정확한 배송과 고객 만족을 목표로 하고 있습니다.

#효율성#운영#데이터
48000