모든 블로그
당근마켓

당근마켓

도메인medium.com
주요 카테고리 백엔드 · AI · 프론트엔드

활동 요약

대표 인기 포스트구글처럼 복잡한 권한 쉽게 관리하기 feat. GraphQL525 조회
최근 30일
2개
평균 조회
149
누적 조회
13,734
전체 글
92개
마지막 발행
2026. 11. 3.
블로그 방문

당근마켓 기술 블로그 글 (92)

AI

국내 최초 광고 MCP를 출시하며, 개발자의 역할은 어디까지 넓어졌을까?

광고주 질문 중심으로 광고 조회 MCP를 설계하고 OAuth 2.1 인증과 운영 대시보드를 구축했습니다. 출시 후 사용 행태와 도그푸딩을 검증하며 AI 기반 광고 수정 기능의 다음 단계를 도출했습니다.

#MCP#OAuth 2.1#SSO
13000

AI

모델만 바꿨는데 LLM 비용이 3배가 된 이유

모델 교체 뒤 자동 프롬프트 캐시 구분점 정책 변화로 비용이 3.2배 증가한 원인을 분석했습니다. 고정부 경계에 명시 구분점을 두고 히트율과 비용을 운영 지표로 관리했습니다.

#LLM#prompt#cache
11500

백엔드

Aurora MySQL 인덱스 DDL이 Reader 버퍼풀을 비운다?

Aurora MySQL에서 인덱스 DDL 수행 시 Reader 버퍼풀이 비워지는 현상을 다뤘습니다. 원인으로 지목된 엔진 결함과 3.14 릴리즈까지의 대응 과정을 소개합니다.

#Aurora#MySQL#인덱스
6800

AI

한 문장으로 앱을 테스트하기까지

QAHub로 테스트 기록과 실제 기기 실행 환경을 통합하고, 코드·AI 혼합 Flow를 구성했습니다. Self-healing과 Path Replay로 반복 테스트의 안정성·실행 시간·AI 호출 비용을 개선했습니다.

#자동화#Appium#Selenium
9200

프론트엔드

당근 동네걷기 위에서 동시에 쏟아지는 오버레이들을 우아하게 제어하기

독립적으로 발화하는 웹뷰·OS 오버레이를 Promise 기반 우선순위 큐로 직렬화했습니다. 큐와 로컬 시퀀서의 책임을 분리해 순서 변경과 검증 복잡도를 낮췄습니다.

#JavaScript#Promise#Zustand
14000

백엔드

당근의 인증은 어떻게 달라져 왔을까요?

당근의 회원과 인증을 책임지는 Identity Service Team의 관점에서 인증이 어떻게 변화해 왔는지 소개하는 글입니다. 인증 관련 팀의 역할과 책임 범위를 개괄적으로 다루고 있습니다.

#인증#회원#Identity Service
27700

프론트엔드

Laying the Rails Beyond WebView: Why Karrot Chose Lynx

당근 프론트엔드 코어 팀이 웹뷰를 넘어서는 개발 환경을 위해 Lynx를 선택한 배경을 소개합니다. 포스트 제목상 Lynx 도입 이유를 다루는 기술 공유 글입니다.

#React Native#webview
14400

프론트엔드

웹뷰 다음의 레일을 깔다: 당근이 Lynx를 선택한 이유

레퍼런스가 거의 없는 Lynx를 당근이 왜 선택했는지 다룬 글입니다. 프론트엔드 개발 환경과 배포 인프라 관점에서 도입 맥락을 살펴봅니다.

#web
45800

아키텍처

실험을 더 편하게 설계할 수 있게: 당근 실험플랫폼 이야기

당근 실험플랫폼이 지표 UI화, 상호배제 그룹, Experiment MCP로 실험 운영 병목을 줄인 사례를 소개했습니다. 실험 설계와 반복 작업을 더 빠르고 편하게 만들기 위한 구조와 자동화 방향을 다뤘습니다.

#A/B 테스트#LLM#MCP
19700

아키텍처

프론트엔드와 백엔드를 한 팀으로 합치면 어떤 일이 일어날까?

프론트엔드와 백엔드를 한 팀으로 합쳐 조율과 대기 비용을 줄인 사례를 소개했습니다. 문서화와 AI, Runbook이 안정성과 속도를 함께 받쳐줬습니다.

#API#마이크로서비스#AI 코딩 도구
29800

아키텍처

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

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

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

프론트엔드

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

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

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

프론트엔드

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

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

#UI/UX#design#component
32200

백엔드

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

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

#ELT#ETL#Airflow
19200

AI

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

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

#LLM#GitHub Actions#Notion
29300

백엔드

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

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

#Python#AWS#API
4200

데브옵스

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

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

#Python#PyPI#CI/CD
18800

프론트엔드

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

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

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