모든 블로그
마켓컬리

마켓컬리

주요 카테고리 백엔드 · AI · 아키텍처

활동 요약

대표 인기 포스트Claude Code를 활용한 예측 가능한 바이브 코딩 전략370 조회
최근 30일
3개
평균 조회
27
누적 조회
6,328
전체 글
236개
마지막 발행
2026. 11. 9.
블로그 방문

마켓컬리 기술 블로그 글 (236)

데브옵스

DevOps팀의 Terraform 모험

Stage·QA 환경의 반복적인 인프라 작업을 줄이기 위해 Terraform을 도입한 과정을 공유했습니다. tfstate 관리와 리소스 의존성, 협업 검증의 중요성을 시행착오로 정리했습니다.

#Terraform#AWS#IaC
100

데브옵스

DevOps팀의 Terraform 모험

환경 증가와 반복 작업 문제를 해결하기 위해 Terraform 기반 IaC를 도입한 경험을 공유했습니다. tfstate, 리소스 의존성, 수동 변경 동기화와 협업 검증의 중요성을 설명합니다.

#Terraform#AWS#IaC
2500

아키텍처

카트 개발 연대기

주소지 기반 재고 조회와 주문 연동을 위해 카트를 네 세대에 걸쳐 개선했습니다. 다중 세션 경합에 따른 데드락을 아이템 공유 구조로 완화했습니다.

#Laravel#DDD#migration
200

백엔드

카트 개발 연대기

주소 기반 상품 노출과 기술부채 해소를 위해 카트를 4세대에 걸쳐 개선했습니다. 다중 세션 경합의 데드락은 아이템 공유형 Multi Cart로 완화했습니다.

#Laravel#deadlock#migration
2600

아키텍처

DDD와 MSA 기반으로 좋은 서비스 개발하기

DDD의 느슨한 결합과 높은 응집 원칙으로 MSA의 도메인 분리 기준을 설명했습니다. 명확한 경계가 독립 배포와 기술 선택을 돕지만 복잡성 관리도 필요합니다.

#DDD#MSA#마이크로서비스
100

아키텍처

DDD와 MSA 기반으로 좋은 서비스 개발하기

DDD의 느슨한 결합과 높은 응집 원칙으로 MSA의 도메인 경계를 설명했습니다. 독립 배포와 기술 다양성의 이점, 과도한 분리·다양성의 주의점을 정리했습니다.

#DDD#MSA#비동기
4700

백엔드

왜 폴 그레이엄은 회사 이름을 Y Combinator라고 지었을까

Clojure와 JavaScript 예제로 Combinator와 이름 없는 재귀를 단계적으로 설명했습니다. Y Combinator가 자기 참조 없이 재귀를 만드는 고정점 조합자임을 보여줍니다.

#Clojure#JavaScript#함수형 프로그래밍
100

백엔드

왜 폴 그레이엄은 회사 이름을 Y Combinator라고 지었을까

Clojure와 JavaScript 예제로 Combinator와 이름 없는 함수의 재귀를 설명했습니다. Y Combinator가 자기 참조 없이 재귀를 만드는 고정점 조합자임을 살펴봤습니다.

#Clojure#Y Combinator#람다 계산법
1600

기타

두근두근 컬리의 면접, 팀에서 성장하기

Java 서버 개발 면접 준비와 입사 후 DDD·헥사고날 아키텍처 학습 경험을 소개했습니다. 기술 공유, Git 활용, 코드 리뷰와 장애 회고를 통한 팀 성장 문화를 설명합니다.

#Java#Spring#MySQL
100

백엔드

두근두근 컬리의 면접, 팀에서 성장하기

Java·Spring·MySQL 면접 준비과 DDD·헥사고날 아키텍처 적응 경험을 소개했습니다. 발표·코드 리뷰·장애 회고를 통한 팀 성장 문화를 공유합니다.

#Java#Spring#MySQL
4300

백엔드

신규 서비스 배포 전에 실험과 개선을 반복한 이야기

VSMS 배포 전 성능 테스트에서 재고 갱신 순서로 인한 DB 데드락과 I/O 병목을 발견했습니다. 상품 정렬과 로그 MongoDB 분리로 목표 1,200 TPS를 넘어 1,500 TPS 이상을 유지했습니다.

#성능#데드락#transaction
200

백엔드

신규 서비스 배포 전에 실험과 개선을 반복한 이야기

가상 재고 관리 시스템의 성능 테스트에서 DB 데드락과 I/O 병목을 발견해 개선했습니다. 잠금 순서 정렬, commit 축소, MongoDB 로그 분리로 목표 TPS를 넘겼습니다.

#Java#DB#동시성
3200

아키텍처

컬리에서 선물하기를 개발하며 회고

레거시 고도몰과 호환되는 선물하기 주문 서버를 dual writing과 API 연동으로 구축했습니다. 분산 구조와 광범위한 QA를 통해 신규 주문 서비스를 안정적으로 론칭했습니다.

#MSA#PHP#dual writing
200

아키텍처

컬리에서 선물하기를 개발하며 회고

레거시 고도몰과 기존 주문·물류 프로세스에 호환되는 선물하기 주문 서버를 구축했습니다. dual writing과 분산 서버 구조를 적용하고 QA 이슈 약 1,000건을 해결해 론칭했습니다.

#PHP#레거시 시스템#MSA
3600

프론트엔드

React 이해하기

React의 컴포넌트, props, state, 선언형 렌더링과 reconciliation 흐름을 설명했습니다. 렌더링 최적화와 Hook 기반 상태 관리 시 주의점을 함께 다뤘습니다.

#React#JavaScript#JSX
100

프론트엔드

React 이해하기

React의 컴포넌트, JSX, props, state로 선언형 UI를 구성하는 방식을 설명했습니다. 재조정·얕은 비교·Hook을 통한 렌더링 최적화와 상태 로직 재사용을 다뤘습니다.

#React#JSX#Virtual DOM
3800

백엔드

JPA 덕분에 DB에서 삽질한 이야기

UUID를 BINARY(255)에 저장해 조회가 실패한 원인을 MySQL 우측 패딩에서 찾았습니다. UUID 크기에 맞춰 BINARY(16)으로 변경하고 H2·MySQL 차이도 확인했습니다.

#JPA#UUID#MySQL
100

백엔드

JPA 덕분에 DB에서 삽질한 이야기

UUID를 `BINARY(255)`에 저장하면서 MySQL 우측 패딩으로 조회가 실패한 원인을 분석했습니다. UUID 컬럼을 `BINARY(16)`으로 변경하고 SQL로 패딩 영향을 검증했습니다.

#JPA#MySQL#UUID
4100