#당근
6개 아티클
당근, 동네걷기 서비스의 다중 오버레이 충돌 문제를 우아하게 제어한 방법
당근 동네걷기팀 FE 인턴이 한 화면에 동시에 발화되는 모달·바텀시트·OS 권한 팝업 등 다수의 오버레이가 겹치는 문제를 해결한 과정을 공유했다. 기존에는 각 컴포넌트가 서로의 존재를 알고 onClose 체이닝으로 순서를 관리했으나, 오버레이가 늘어날수록 유지보수가 어렵고 QA 사각지대가 발생하는 구조적 한계가 있었다. 이 글은 문제를 재정의하고 Promise deferred 패턴, queueMicrotask 등의 기법을 활용해 이를 해결해나가는 과정을 서술한다.
당근, 인증 시스템의 변천사 — SMS 점유 인증부터 본인인증 도입까지
당근 Identity Service Team이 서비스 초창기부터 현재까지 인증 방식이 어떻게 변화해 왔는지를 소개했다. 초기에는 전화번호 SMS 인증만으로 운영했으나, 서비스 성장과 함께 번호 변경으로 인한 계정 분실, 이메일 백업 수단의 낮은 사전 등록률, 알뜰폰 등을 이용한 사기 계정 양산 문제가 잇따라 발생했다. 이에 단순 번호 점유 확인만으로는 정상 사용자 보호와 악성 사용자 차단을 동시에 해결할 수 없다는 한계가 드러났다.
당근, WebView 한계 극복 위해 Lynx 기술 도입 결정한 이유
당근 프론트엔드 코어팀은 WebView 기반 화면의 초기 로딩 지연 문제를 해결하기 위해 새로운 렌더링 기술인 Lynx를 도입하기로 결정했다. SSR, Service Worker 캐싱 등 기존 최적화 방식들은 네트워크 요청 경로를 완전히 제거하지 못하고 제품 복잡도를 높인다는 한계가 있었다. 당근이 원한 것은 첫 프레임부터 의도한 UI를 렌더링할 수 있는 실행 환경이었다.
당근, 웹뷰 성능 한계 극복 위해 크로스플랫폼 기술 'Lynx' 도입
당근 프론트엔드코어팀이 웹뷰의 초기 로딩 성능 문제를 근본적으로 해결하기 위해 크로스플랫폼 렌더링 기술 Lynx를 검토하고 프로덕션에 도입하기로 결정했다. 목표는 로딩 시간을 단순히 줄이는 것이 아니라, 사용자가 로딩 자체를 느끼지 못하도록 첫 프레임부터 실제 제품 UI를 보여주는 것이었다. Lynx는 React와 CSS에 가까운 개발 모델로 iOS·Android UI를 구성할 수 있으며, 기존 네이티브 앱 구조를 유지한 채 화면 단위로 적용할 수 있다는 점이 선택의 핵심 이유였다.