올리브영 앱 - 아키텍처 도입 1탄
올리브영 앱은 강한 결합과 유지 보수 부담을 줄이기 위해 클린 아키텍처를 도입했습니다. Presentation, Domain, Data 3층 구조로 역할을 나누고 Android와 iOS에 같은 기준을 적용했습니다.


올리브영 앱은 강한 결합과 유지 보수 부담을 줄이기 위해 클린 아키텍처를 도입했습니다. Presentation, Domain, Data 3층 구조로 역할을 나누고 Android와 iOS에 같은 기준을 적용했습니다.

Kotlin Flow와 StateFlow를 도입한 경험을 바탕으로 LiveData의 한계와 대체 가능성을 정리했습니다. 클린 아키텍처와 생명주기 대응 관점에서 Flow 활용 방법도 살펴봤습니다.
올영라이브 이벤트 페이지를 반복 제작 부담을 줄이기 위해 모듈형 템플릿으로 전환한 사례를 소개했습니다. 고정 정보와 변경 요소를 분리해 등록만으로 페이지를 만들 수 있도록 구성했습니다.

주문 완료 과정의 단일 트랜잭션 구조로 인해 동시 구매 시 DB Lock과 Dead Lock이 발생했습니다. 트랜잭션을 개별 분리한 뒤 부하 테스트와 운영 모니터링으로 성능 개선을 검증했습니다.

무형상품 서비스에 글로벌 캐시를 적용한 배경과 구성을 정리했습니다. Spring Boot와 Redis 기반 `@Cacheable`로 조회 성능을 높이는 방법을 설명했습니다.

플래닝 포커로 스프린트 일정을 산정하며 동료들의 경험과 의견을 공유받은 경험을 소개했습니다. 일정 산정 시에는 버퍼를 두고 큰 틀의 영향도 함께 고려하자는 인사이트를 전했습니다.

온라인몰 메인페이지의 초기 렌더링 지연과 느린 LCP 문제를 분석하고, 불필요한 지연 로직 제거와 탭 렌더링 순서 조정으로 개선했습니다. 또한 데이터 분리와 모니터링을 통해 FID, LCP, 로딩 타임을 함께 줄였습니다.
월드컵 중계 시간대의 올리브영 온라인몰 트래픽 변화를 분석한 글입니다. MZ 세대의 경기 시청과 멀티태스킹 소비 패턴을 함께 살펴봤습니다.

신규 전시 프로젝트에서 기존 서버와의 통신을 위해 WebClient를 도입한 이유와 설정 방법을 소개했습니다. RestTemplate과 비교해 Non-Blocking 특성과 응답 처리 예시도 함께 정리했습니다.

선물하기 서비스에 매장 픽업 기능을 추가하는 개발 과정을 소개했습니다. 수락 페이지, 바코드 페이지, SMS 통일, 예치금 반환 로직까지 구현했습니다.

올리브영 백엔드 개발자의 3개월 적응기와 업무·문화 회고를 담은 글입니다. Agile 협업, 데일리 스크럼 개선, 동호회와 회식 경험이 함께 소개됩니다.

쿠폰 발급 수량 조회의 DB 경합을 줄이기 위해 Redis를 1차 조회로 도입했습니다. 6월 세일 트래픽 부하를 완화하고 운영 안정성을 높이는 방향으로 개선했습니다.

Datadog으로 주문결제 모니터링 대시보드를 구축한 과정과 알람 체계를 소개했습니다. 로그 포맷 개선과 대시보드 구성으로 장애 인지와 대응 속도를 높인 사례입니다.

올리브영은 IDC 기반 ETL·DW 구조를 GCP 기반 데이터 플랫폼으로 확장했습니다. Airflow·Spark·BigQuery로 데이터 수집·처리·분석과 로그 수집을 지원합니다.

Jekyll 기술 블로그를 Gatsby 기반으로 전환한 배경과 설계·배포 과정을 정리했습니다. React 구조와 Plugin, Netlify로 개발·운영 편의성과 SEO를 강화했습니다.

ECS Fargate Task에 Datadog Agent를 추가하고 Spring Boot·React 트레이싱을 연결하는 방법을 소개했습니다. awsvpc 네트워크 모드의 Agent 호스트 설정과 컨테이너·클러스터 지표 확인 방법을 정리했습니다.

TeamCity와 Amazon ECR을 연결해 Docker 이미지를 Push하고 자동 배포로 이어지는 과정을 설명했습니다. 프로젝트 연결과 빌드 파이프라인 기능 설정으로 배포 단계를 단순화합니다.

Jenkins의 플러그인·Docker 실행 문제를 해결하기 위해 TeamCity 기반 빌드 프로세스를 구성했습니다. Docker로 Server·Agent를 배치하고 Kotlin Script로 CI/CD를 맞춤화했습니다.
