모든 블로그
당근마켓

당근마켓

도메인medium.com
주요 카테고리 Backend · AI · Frontend

활동 요약

대표 인기 포스트구글처럼 복잡한 권한 쉽게 관리하기 feat. GraphQL437 조회
최근 30일
2개
평균 조회
116
누적 조회
9,603
전체 글
83개
마지막 발행
2026. 7. 14.
블로그 방문

최신 게시글 (20)

오늘

아키텍처

천만 MAU를 지탱하는 커뮤니티 시스템을 소개해요

천만 MAU를 버티기 위한 커뮤니티 시스템의 구조와 선택을 소개했습니다. 웹앱과 서버앱, 모듈과 이벤트 분리로 확장성과 운영성을 함께 확보한 사례입니다.

#MSA#모듈형 모놀리스#Redis
2300

프론트엔드

혼자 시작해 전국 오픈까지, 당근 레슨/과외 빌딩 로그

당근 레슨/과외가 숨은 수요를 발견하고 PMF를 찾기까지의 과정을 공유했습니다. 수요자 중심 실험과 진입점 개선으로 전국 오픈 단계까지 확장한 사례입니다.

#마켓플레이스#PMF#퍼널
2600

프론트엔드

디자인시스템 팀은 디자인시스템만 잘 만들면 될까

디자인시스템은 컴포넌트만 만드는 일이 아니라 제품 판단 기준을 쌓는 일이라고 설명했습니다. AI가 UI를 빠르게 만들수록 패턴과 맥락을 정리하는 역할이 더 중요해졌습니다.

#UI/UX#design#component
10300

백엔드

당근 200+개 DB 를 옮기는 ELT 플랫폼, DT Platform 을 만든 이야기

200개 이상 DB를 BigQuery로 옮기던 ELT 운영 문제를 DT Platform으로 분리·표준화했습니다. UI와 DSL, 자동 마이그레이션으로 리드타임과 리뷰 병목을 줄였습니다.

#ELT#ETL#Airflow
13900

AI

누구나 찾아볼 수 있는 중고거래 서버 LLM 릴리즈 노트 도입기

배포 내역을 정형화해 Notion에 쌓고, LLM으로 비개발자도 읽을 수 있는 릴리즈 노트를 자동 생성했습니다. 별도 인프라 없이 기존 도구만으로 커뮤니케이션 비용을 줄인 사례입니다.

#LLM#GitHub Actions#Notion
13000

백엔드

How We Protect Karrot’s Internal PyPI Proxy from Supply Chain Attacks

내부 PyPI 프록시 앞단에 얇은 프록시를 두어 CodeArtifact를 PyPI처럼 사용하도록 구성했습니다. 또한 PEP 691의 upload-time을 활용해 cooldown 정책을 중앙에서 적용했습니다.

#Python#AWS#API
3000

데브옵스

당근이 파이썬 공급망 공격에 대응하는 방법

LiteLLM 공급망 공격을 계기로 사내 PyPI 프록시에 쿨다운 정책을 도입했습니다.\nPEP 503과 PEP 691을 함께 활용해 최근 업로드 패키지를 필터링하고 전사에 일괄 적용했습니다.

#Python#PyPI#CI/CD
3500

프론트엔드

프롬프트 한 줄로 화면이 나오는 시대, ‘당근스러운 화면’을 만드는 법

프롬프트 한 줄로 만드는 화면의 한계를 짚고, 디자인 시스템에 맞는 의사결정 자동화가 핵심이라고 설명했습니다. 어드민, CLI, 에이전트로 발전한 Kraft와 Plan/Orchestra 구조도 소개했습니다.

#prompt#디자인 시스템#CLI
20200

AI

모두가 데이터를 다루는 AI 시대, 지난 1년간 데이터 팀은 어떻게 달라졌을까?

데이터가치화팀이 지난 1년간 AI를 업무와 플랫폼에 통합한 변화를 정리했습니다. 반복 작업은 빨라졌지만, 검증과 데이터 기반의 중요성은 더 커졌습니다.

#MCP#BigQuery#LLM
6500

데브옵스

Our Journey to Autoscaling EKS Node Groups for Job Workloads

Job 워크로드는 중단에 취약해 EKS 노드그룹 오토스케일링이 어려웠습니다. 이를 해결하기 위해 PodAffinity로 bin-packing을 유도하고, 애노테이션으로 축소 중 종료를 막았습니다.

#AWS#EKS#Kubernetes
2500

데브옵스

Job 워크로드를 위한 EKS Node Group 오토스케일링 도입기

Job 워크로드를 위한 EKS Node Group 오토스케일링 적용 과정을 정리한 글입니다. Bin-packing과 강제 종료 방지, kubelet maxPods 조정까지 함께 다뤘습니다.

#EKS#Kubernetes#AWS
3600

AI

2조 토큰을 카테고리 분류에 쓰면서 알게된 것들

당근에서 택소노미와 LLM 분류 파이프라인을 어떻게 운영했는지 정리한 글입니다. 정확도와 비용의 균형, 평가 체계, 확장 전략을 함께 다뤘습니다.

#LLM#BigQuery#Kafka
14600

AI

‘로컬’ 슈퍼 앱에서 장기 유저 모델링은 어떻게 달라질까?

당근의 지역 기반 추천 시스템에서 장기 유저 로그를 Transformer로 학습해 공통 임베딩을 만들었습니다. 이를 홈피드, 후보, 광고에 적용해 학습 신호와 온라인 지표를 함께 개선했습니다.

#ML#Transformer#추천 시스템
6400

프론트엔드

200MB 모듈을 팀 단위로 해결하기: 당근 숏폼팀의 On-demand Dynamic Feature Module 도입

비디오 편집 모듈의 200MB 용량을 줄이기 위해 On-demand DFM을 도입했습니다. 기능 코드는 base에 두고 SO 파일만 분리해 글로벌 사용자 부담과 운영 복잡도를 함께 낮췄습니다.

#Android#DFM#Hilt
6400

프론트엔드

웹뷰 엔지니어를 위한 iOS Webview Input 경험 개선기

iOS 웹뷰에서 input focus 시 화면이 밀리는 문제를 여러 방식으로 개선한 과정을 정리했습니다. 최종적으로는 opacity 트릭으로 자동 스크롤을 막아 입력 경험을 안정화했습니다.

#iOS#WebView#input
6600

백엔드

서버를 위한 Redux: Node.js 이벤트 소싱 라이브러리 개발기

이 글은 CRUD 중심 서버 설계의 한계를 보완하기 위해 이벤트 소싱과 Ventyd를 소개했습니다. 배포 추적과 게임 상태 관리 사례로 TypeScript 기반 도메인 로직 공유 방식을 설명했습니다.

#node.js#TypeScript#Redux
10100

아키텍처

당근페이 백엔드 아키텍처가 걸어온 여정

당근페이 백엔드가 계층형 아키텍처에서 헥사고날 아키텍처를 거쳐 클린 아키텍처와 모노레포로 진화한 과정을 소개했습니다. 서비스 성장에 따른 결합도와 배포 복잡도를 줄이기 위해 도메인 분리와 의존성 역전을 강화했습니다.

#Layered Architecture#Hexagonal Architecture#Clean Architecture
39300

프론트엔드

Building Event Center: Karrot’s User Event Management Platform

대규모 사용자 이벤트를 더 일관되고 안전하게 관리하기 위해 Event Center를 구축했습니다. 기존 Git 기반 스키마 관리의 복잡도와 명명 불일치를 UI 기반 플랫폼으로 해결했습니다.

#BigQuery#GCP#GCS
3600

프론트엔드

당근의 사용자 행동 로그 관리 플랫폼: 이벤트센터 개발기

당근은 사용자 행동 로그가 커지며 코드 기반 스키마 관리의 한계를 겪었습니다. 이벤트센터를 만들어 전사 공통 규칙과 UI 기반 자동화로 로그 관리 효율을 높였습니다.

#BigQuery#GCP#TypeScript
9900

아키텍처

Standardizing User Activation: How We Built a Shared Data Layer at Karrot

카라트는 사용자 활성화 분석을 공통 Activation Layer로 표준화했습니다. 팀별 ad hoc 쿼리 대신 DBT 기반 모델로 신뢰성과 운영 안정성을 높였습니다.

#DBT#Airflow#ETL
7200