사용자의 목소리를 AI로 재현하다: LLM기반 Multi Agent UX플랫폼 개발기 (새 탭에서 열림)

네이버의 'NSona' 프로젝트는 LLM 기반의 멀티 에이전트 시스템을 통해 방대한 사용자 리서치 데이터를 실시간 협업 자원으로 전환하며, 서비스 기획과 실제 개발 사이의 간극을 혁신적으로 줄인 사례를 제시합니다. 디자이너, AI 리서처, 개발자가 협력하여 단순한 기술 구현을 넘어 사용자의 목소리를 생생하게 재현하는 페르소나 봇을 개발함으로써, AI가 도구를 넘어 협업의 주체가 될 수 있음을 증명했습니다. 이를 통해 팀은 사용자의 피드백을 실시간으로 서비스 개발 과정에 투영하고 의사결정의 효율성을 극대화하는 성과를 거두었습니다. **사용자 경험을 재현하는 페르소나 봇 "NSona"** * 기존 UX 리서치가 가진 일회성 데이터의 한계를 극복하고, 리서치 결과를 데일리 협업 과정에서 상시 활용할 수 있는 자산으로 전환하기 위해 기획되었습니다. * 사용자의 특성과 행동 양식을 학습한 페르소나 봇 'NSona'를 통해 기획자나 개발자가 언제든 사용자의 관점에서 서비스에 대한 의견을 물을 수 있는 환경을 구축했습니다. **에이전트 중심의 서비스 구조와 기술적 도전** * 단일 LLM 모델의 한계를 넘어, 특정 서비스 목적에 최적화된 'Agent 중심의 서비스 구조'를 설계하여 보다 정교한 사용자 재현을 시도했습니다. * Multi-Party 대화 시스템을 도입하여 여러 페르소나가 상호작용하며 복합적인 피드백을 제공할 수 있는 기술적 토대를 마련했습니다. * 일반적인 언어 모델 평가 지표 대신, 서비스의 맥락과 UX 요구사항을 반영한 'Service-specific' 평가 프로세스를 독자적으로 구축하여 모델의 품질을 관리했습니다. **AI 시대의 변화된 협업 방식과 R&R** * 전통적인 업무 경계를 허물고 디자이너는 프롬프트를 설계하며, 리서처는 로직을 에이전트 구조로 전환하고, 개발자는 AI를 비평의 대상으로 다루는 새로운 협업 모델을 실천했습니다. * 결과물의 완성도에만 집착하기보다 '어디서 시작점을 찍느냐'에 집중하며, AI를 개발 프로세스의 초기 단계부터 능동적인 파트너로 참여시켰습니다. * 이러한 과정은 직군 간의 선형적인 협업 구조를 유기적인 파장 형태의 협업 구조로 변화시키는 계기가 되었습니다. **사용자 중심 AI 개발을 위한 실무적 제언** 성공적인 AI 서비스를 위해서는 기술적 구현만큼이나 기획, 디자인, 엔지니어링 간의 유기적인 결합이 필수적입니다. NSona의 사례처럼 사용자의 목소리를 데이터 더미가 아닌 대화 가능한 실체로 변환하여 협업의 중심에 배치한다면, 보다 사용자의 니즈에 밀착된 서비스를 더 빠른 속도로 검증하고 개발할 수 있을 것입니다.

우아한형제들이 장애를 놓치지 않고 탐지하는 방법 | 우아한형제들 기술블로그 (새 탭에서 열림)

우아한형제들은 시스템 장애로 인한 고객 불편을 최소화하기 위해 서비스 지표 중심의 '서비스 이상 탐지 시스템'을 구축했습니다. 전통적인 인프라 모니터링의 사각지대를 보완하고자 실시간 데이터 예측과 임계치 관리 메커니즘을 도입했으며, 이를 통해 장애 탐지 속도와 대응 효율성을 동시에 확보했습니다. **서비스 지표 중심의 이상 탐지 필요성** * CPU, 메모리 사용률 등 전통적인 시스템 지표 모니터링만으로는 모든 장애 구간을 완벽하게 커버하기 어렵고 사각지대가 발생할 수밖에 없습니다. * 반면 주문 수, 결제 성공률 등 서비스 지표는 사용자 경험을 직접적으로 반영하며, 지표의 종류가 한정적이라 최소한의 관리로도 높은 탐지 효율을 낼 수 있습니다. * 서비스 이상 탐지 시스템은 장애가 발생했을 때 사용자 영향이 지표 변화로 나타나는 즉시 이를 포착하는 것을 목표로 합니다. **중앙값(Median) 기반의 탐지 기법 설계** * 배달 서비스 특성상 점심과 저녁 시간에 주문이 집중되는 선명한 패턴이 존재하므로, 과거 데이터를 통해 정상 범위를 비교적 쉽게 예측할 수 있습니다. * 분석의 용이성과 이상치(Outlier)에 대한 강건함을 확보하기 위해 IQR이나 2-sigma 대신 직관적인 중앙값(Median) 방식을 채택했습니다. * 복잡한 AI 모델을 사용하기보다 빠르게 구현하고 개선할 수 있는 구조를 선택하여 원인 분석과 시스템 업데이트의 속도를 높였습니다. **정확도 향상을 위한 임계 도달 횟수 관리** * 실시간으로 수집되는 실제값(Actual)이 예측된 임계값(Warning, Critical)에 도달할 때 장애를 판단합니다. * 일시적인 지표 튀기 현상으로 인한 오탐(False Positive)을 방지하기 위해, 임계값에 특정 횟수 이상 연속으로 도달했을 때만 경보를 발생시키는 '임계 도달 횟수'를 관리합니다. * 탐지 속도(낮은 횟수 설정)와 정확도(높은 횟수 설정) 사이의 트레이드오프를 고려하여 각 지표의 성격에 맞는 최적의 안정화 기간을 거칩니다. **신속한 대응을 위한 경보 및 프로세스 연계** * 장애 탐지 시 슬랙(Slack) 채널로 지표 현황, 긴급도, 그래프가 포함된 경보를 즉시 발송하여 상황 파악을 돕습니다. * 단순히 알림을 보내는 데 그치지 않고, 장애 숙련도와 관계없이 누구나 표준화된 절차에 따라 대응할 수 있도록 후속 프로세스 가이드를 함께 제공합니다. 장애는 완벽히 막을 수 없지만 탐지 시간은 단축할 수 있습니다. 복잡한 알고리즘에 매몰되기보다 서비스의 비즈니스 패턴을 명확히 분석하고, 가장 직관적인 지표와 통계 모델을 적용하는 것이 실무적인 관점에서는 훨씬 강력한 장애 대응 체계를 만드는 방법입니다.

Iceberg Low-Latency Queries with Materialized Views (feat. 실시간 거래 리포트) (새 탭에서 열림)

네이버의 실시간 거래 리포트 시스템은 대규모 데이터를 다양한 조건으로 빠르게 조회하기 위해 Apache Iceberg와 StarRocks의 Materialized View를 핵심 기술로 활용합니다. 단순히 데이터를 적재하는 수준을 넘어, 데이터의 최신성(Freshness)과 저지연(Low-Latency) 응답 속도, 그리고 시스템 확장성을 동시에 확보하는 것이 이번 기술 여정의 핵심 결론입니다. 이를 통해 복잡한 다차원 필터링이 필요한 비즈니스 환경에서도 사용자에게 즉각적인 분석 결과를 제공하는 데이터 레이크하우스 아키텍처를 구현했습니다. **실시간 거래 리포트의 기술적 도전 과제** * 대규모로 발생하는 거래 데이터를 실시간에 가깝게 수집하면서도, 사용자가 원하는 다양한 검색 조건에 즉각 응답해야 하는 성능적 요구사항이 있었습니다. * 데이터의 양이 방대해짐에 따라 기존의 단순 조회 방식으로는 응답 속도가 저하되는 문제가 발생했으며, 데이터의 신선도와 쿼리 성능 사이의 트레이드오프를 해결해야 했습니다. * 다차원 필터링과 집계 연산이 빈번한 리포트 특성상, 인덱싱 최적화와 리소스 효율성을 동시에 고려한 설계가 필요했습니다. **Iceberg와 StarRocks를 활용한 저지연 쿼리 전략** * **Apache Iceberg 기반 데이터 관리**: 데이터 레이크의 스토리지 포맷으로 Iceberg를 채택하여 ACID 트랜잭션을 보장하고, 대규모 데이터셋에 대한 효율적인 스키마 진화와 파티션 관리를 수행합니다. * **StarRocks의 구체화 뷰(Materialized View) 도입**: Iceberg에 저장된 원본 데이터를 직접 조회하는 대신, StarRocks의 Materialized View를 활용해 자주 사용되는 쿼리 결과를 미리 연산하여 저장함으로써 조회 속도를 비약적으로 향상시켰습니다. * **증분 업데이트 및 동기화**: 실시간으로 유입되는 데이터를 Materialized View에 효율적으로 반영하기 위해 Spark와 StarRocks 간의 연동 최적화를 진행하여 데이터의 최신성을 유지합니다. **아키텍처 구성 요소 및 운영 최적화** * **Spark**: 대용량 거래 데이터의 가공 및 Iceberg 테이블로의 수집을 담당하는 컴퓨팅 엔진으로 활용됩니다. * **StarRocks**: 고성능 OLAP 엔진으로서 Iceberg 외부에 위치하며, Materialized View를 통해 복잡한 조인(Join)과 집계(Aggregation) 쿼리를 가속화합니다. * **확장성 확보**: 데이터 노드와 컴퓨팅 리소스를 분리하여 운영함으로써 트래픽 증가에 유연하게 대응할 수 있는 구조를 설계했습니다. 대용량 실시간 분석 시스템을 구축할 때 Apache Iceberg만으로는 쿼리 성능의 한계가 있을 수 있으므로, StarRocks와 같은 고성능 OLAP 엔진의 구체화 뷰를 결합하는 레이크하우스 전략이 효과적입니다. 특히 데이터의 최신성이 중요한 금융 및 거래 리포트 분야에서 이와 같은 기술 조합은 인프라 비용을 절감하면서도 사용자 경험을 극대화할 수 있는 강력한 대안이 됩니다.

웹툰 창작 생태계 보호를 위한 연구 (새 탭에서 열림)

네이버웹툰은 창작 생태계를 위협하는 콘텐츠 불법 유출과 생성형 AI의 무단 저작권 학습에 대응하기 위해 AI 기반의 보호 기술을 연구하고 실무에 도입하고 있습니다. 특히 독자적인 워터마킹 기술인 'TOONRADAR'와 학습 방지 기술인 'IMPASTO'를 통해 창작자의 권리를 보호하고 플랫폼의 신뢰성을 유지하는 데 주력하고 있습니다. 이러한 기술적 대응은 단순한 차단을 넘어 불법 유출자의 사후 추적과 AI 모델의 악의적 모방을 원천적으로 방지함으로써 지속 가능한 창작 환경을 조성하는 것을 목표로 합니다. **AI 기반 워터마킹을 통한 불법 유출 추적** * **사후 추적 시스템**: DRM-free 환경에서도 저작권을 보호할 수 있도록 육안으로 식별이 불가능한 미세 신호를 콘텐츠에 삽입하여 유출 경로를 추적합니다. * **기술적 요구 사항**: 사용자의 시청 경험을 해치지 않는 '비가시성', 이미지 압축이나 편집 공격에도 신호가 유지되는 '강인성', 그리고 충분한 정보를 담을 수 있는 '삽입량'을 동시에 확보했습니다. * **네트워크 구조**: 삽입기(Embedder), 공격 레이어(Attack Layer), 추출기(Extractor)로 구성된 AI 모델을 구축했습니다. 특히 미분 가능한 네트워크 레이어로 구현된 공격 레이어를 통해 다양한 이미지 변형 공격에 대응하도록 학습되었습니다. * **성능 지표**: PSNR 46dB 이상의 높은 화질 유지 성능을 달성했으며, 10종 이상의 강도 높은 공격(Level 5) 상황에서도 1% 미만의 낮은 오류율로 워터마크를 추출하는 데 성공했습니다. **생성형 AI 무단 학습 방지 기술 (IMPASTO)** * **보호 왜곡(Protective Perturbation)**: 이미지에 미세한 변형을 가해 생성형 AI 모델이 해당 이미지를 학습할 때 스타일이나 콘텐츠를 제대로 모방하지 못하도록 방해합니다. * **학습 방해 원리**: 디퓨전 모델의 노이즈 제거 과정을 교란하거나 잠재 표현(Latent code) 간의 거리를 조절하여, 무단 학습(LoRA, Dreambooth 등) 결과물이 원작의 의도와 다르게 나오도록 유도합니다. * **차별화된 연구 방향**: 기존의 학습 방지 도구들이 가졌던 시각적 품질 저하(화질 열화) 문제를 해결하고, 실제 창작 환경에서 빠르게 적용할 수 있도록 처리 속도를 개선하는 데 초점을 맞추고 있습니다. **유해 콘텐츠 차단 및 플랫폼 건전성 확보 (XPIDER)** * **자동 탐지 및 차단**: UGC 공간에 업로드되는 선정적·폭력적 콘텐츠를 실시간으로 탐지하여 플랫폼의 대외 신뢰도를 높입니다. * **도메인 특화 모델**: 일반적인 실사 이미지와는 다른 웹툰 특유의 만화 도메인 데이터를 학습하여 검수 정확도를 극대화하고 운영 리소스를 절감하고 있습니다. 웹툰 창작자는 자신의 작품이 무단으로 유출되거나 AI 학습에 악용되는 것을 방지하기 위해, 플랫폼에서 제공하는 보호 기술을 적극적으로 활용할 필요가 있습니다. 특히 TOONRADAR와 같은 기술은 이미 실무에서 강력한 억제력을 발휘하고 있으므로, 기술적 보안이 강화된 공식 플랫폼을 통해 콘텐츠를 발행하는 것이 창작 생태계 보호의 첫걸음이 될 것입니다.

토스인컴 세금 환급 서비스 : 빠른 속도에서 품질을 지키기 위한 E2E 자동화 여정 (새 탭에서 열림)

토스인컴은 빠른 배포 속도에 대응하기 위해 기존의 수동 검증과 복잡한 클래스 기반 POM(Page Object Model)에서 벗어나, 함수형 POM 중심의 자동화 시스템을 구축했습니다. 이를 통해 4시간 이상 소요되던 검증 시간을 20분(병렬 실행 시)으로 단축하고 테스트 성공률 100%를 달성하며, QA가 제품의 품질을 초기부터 설계하고 실행 속도를 높이는 핵심 동력으로 자리 잡았습니다. ### 클래스 기반 POM에서 함수형 POM으로의 전환 * **무상태(Stateless) 함수 설계**: 상태를 갖는 클래스 대신 `page` 객체를 입력받아 동작을 수행하고 다시 `page`를 반환하는 단순한 함수 구조를 채택했습니다. * **가독성 및 유지보수성 향상**: 테스트 코드를 '사람이 읽는 시나리오'처럼 작성할 수 있게 되었으며, 버튼 문구 등 UI 변경 시 수십 개의 파일 대신 POM 함수 한 곳만 수정하면 되도록 캡슐화했습니다. * **명확한 네이밍 컨벤션**: `goto`, `click`, `enter`, `verify` 등 동작 중심의 접두사를 사용하여 코드만 보고도 어떤 테스트 단계인지 직관적으로 이해할 수 있게 했습니다. ### 여정 중심의 단계 분리와 레고식 조립 * **사용자 여정 기반 설계**: 단순히 화면 단위로 나누지 않고, '로그인/약관', '공제 확인', '결제', '신고' 등 세금 환급의 4가지 핵심 단계로 파일을 분리해 관리합니다. * **독립적 모듈화**: 의료비, 신용카드, 인적공제 등 각 공제 항목을 독립된 함수로 만들어, 새로운 테스트 시나리오가 필요할 때 필요한 기능만 레고 블록처럼 조립해 빠르게 생성할 수 있습니다. ### 테스트 안정성을 높이는 기술적 전략 * **4단계 클릭 폴백(Robust Click)**: React 렌더링 타이밍 문제로 발생하는 클릭 실패를 방지하기 위해 'Enter 키 입력 → 일반 클릭 → Force 클릭 → JS 직접 실행' 순의 단계별 재시도 전략을 유틸리티화했습니다. * **최신 페이지 자동 감지**: 리다이렉트나 새 창 열림이 빈번한 환경에서 `getLatestNonScrapePage` 유틸을 통해 항상 유효한 최신 탭을 추적하고 `currentPage`를 갱신하여 페이지 닫힘 에러를 방지했습니다. * **네트워크 대기 최적화**: Playwright의 기본 `networkidle` 방식 대신, 타임아웃이 발생해도 테스트를 중단하지 않고 UI 앵커(텍스트, role 등)로 화면 준비를 판단하는 `waitForNetworkIdleSafely`를 구현했습니다. ### 자동화 도입이 가져온 성과 * **정량적 지표 개선**: 검증 시간 77% 감소, 테스트 커버리지 600% 증가, 코드 중복률 76% 감소 등 모든 지표에서 비약적인 발전을 이루었습니다. * **업무 문화의 변화**: 24시간 자동 검증 시스템을 통해 개발 완료 즉시 기능을 점검하고 결과를 슬랙으로 공유하며, QA는 단순 반복 검증이 아닌 세금 엔진의 금액 정합성 검증 및 성능 지표 분석 등 고부가가치 업무에 집중하게 되었습니다. **실전 팁** 가장 빈번하게 오류가 발생하는 구간(예: 로그인)부터 자동화를 시작하고, 추상화에 너무 매몰되기보다 누구나 읽고 고칠 수 있는 명료한 함수 구조를 유지하는 것이 중요합니다. 특히 페이지 전환이 일어날 때마다 최신 페이지 객체를 새로 할당하는 원칙만으로도 상당수의 자동화 실패를 예방할 수 있습니다.

토스 Next ML Challenge - 광고 클릭 예측(PCTR) ML 경진대회 출제 후기 (새 탭에서 열림)

토스는 실제 서비스 데이터를 기반으로 한 광고 클릭 예측(CTR) 모델 개발 대회인 'Toss Next ML Challenge'를 통해 우수 ML 인재를 발굴하고 현업의 기술적 난제를 공유했습니다. 약 2,600명의 참가자가 1,070만 건의 익명화된 데이터를 바탕으로 실시간 서빙이 가능한 고성능 모델을 설계했으며, 출제진의 의도를 뛰어넘는 창의적인 피처 엔지니어링과 모델링 기법들이 제시되었습니다. 이번 대회는 데이터 보안과 실무적 난이도 사이의 균형을 맞춘 문제 설계를 통해 참가자들에게 실질적인 ML 시스템 설계 경험을 제공하고 토스 ML 챕터의 비전을 알리는 계기가 되었습니다. **실무 기반의 문제 설계와 CTR 예측** - 토스 앱 내 디스플레이 광고의 노출 및 클릭 로그를 활용해 특정 조건에서의 클릭 확률을 예측하는 모델 설계를 과제로 제시했습니다. - 약 1,070만 건의 대규모 트레이닝 샘플과 성별, 연령, 광고 지면 ID 등 다양한 피처를 제공하여 데이터 규모 측면의 실무 환경을 재현했습니다. - 단순히 예측 정확도뿐만 아니라 실제 서비스 적용을 고려하여 '실시간 서빙 가능성(Inference 속도)'을 가점 사항으로 포함해 효율적인 모델 구조 설계를 유도했습니다. **데이터 익명화의 한계와 시퀀스 피처의 도입** - 외부 반출을 위한 데이터 익명화 과정에서 다수 테이블의 조인이 어려워짐에 따라, 여러 데이터를 직접 가공하여 하나의 정형 테이블 형태로 제공했습니다. - 문제 난이도가 지나치게 낮아지는 것을 방지하기 위해 가공되지 않은 '시퀀스(Sequence) 피처'를 의도적으로 포함하여 참가자들의 분석 역량을 시험했습니다. - 참가자들은 익명화된 피처의 의미를 알 수 없는 제약 속에서도 시계열 특성을 파악하고 이를 수십 개의 파생 변수로 변환하는 집요함을 보여주었습니다. **참가자들의 모델링 전략과 기술적 통계** - 본선 진출 30팀 모두가 LightGBM, XGBoost 등 Boosting Tree 계열의 모델을 핵심적으로 활용했으며, 딥러닝 모델은 선택적으로 병행되었습니다. - 한 팀은 실시간 서빙이라는 제약 조건 속에서도 260개의 모델을 앙상블하는 파격적인 시도로 성능 극대화를 꾀했습니다. - 단일 시퀀스 피처에서 토큰 개수, 전이 결속도 등 37개의 파생 변수를 생성하여 성능을 높인 사례는 도메인 지식 없이도 순수 데이터 분석만으로 실무 수준 이상의 통찰을 보여준 결과였습니다. **대회의 성과와 실무적 시사점** - 리더보드 상위권 팀들은 공통적으로 시퀀스 피처를 심도 있게 분석하고, 복합적인 모델 앙상블과 더불어 과적합 방지 및 서빙 효율성을 고려한 설계를 제출했습니다. - 오프라인 시상식과 네트워킹을 통해 현업 엔지니어와 참가자들이 기술적 아이디어를 교환하며 실제 비즈니스 문제 해결을 위한 커뮤니티를 형성했습니다. - 익명화된 데이터 환경에서도 창의적인 피처 엔지니어링이 모델 성능을 결정짓는 핵심 요소임을 재확인했으며, 이는 향후 유사한 ML 챌린지 설계의 기준이 될 것으로 보입니다.

YEYE가 지켜보고 있다–카카오의 공격 표면 관리 이야기 - tech.kakao.com (새 탭에서 열림)

카카오는 복잡해지는 외부 공격 표면을 체계적으로 관리하기 위해 통합 ASM(Attack Surface Management) 도구인 'YEYE'를 개발하여 운영 중입니다. YEYE는 자산 식별부터 취약점 스캐닝, 데이터 연관 분석까지 자동화하며, 이를 'DSR(Daily Security Review)'이라는 매일의 보안 프로세스와 결합해 실질적인 리스크를 선제적으로 제거합니다. 이를 통해 기술적 자동화와 인적 리뷰가 유기적으로 연결된 견고한 보안 방어 체계를 구축하고 있습니다. ### 공격 표면 관리의 핵심, YEYE와 DSR * 2023년 탄생한 YEYE는 산재된 보안 도구를 통합하여 외부 접점이 있는 IP, 도메인, 포트, 모바일 앱 등 모든 디지털 자산을 가시화합니다. * 단순한 도구 도입에 그치지 않고, 매일 오전 외부 피드와 공개 취약점을 검토하는 DSR(Daily Security Review) 프로세스를 통해 사람에 의한 심층 분석을 병행합니다. * 이를 통해 보안 검수를 받지 않은 자산 노출이나 최신 CVE 이슈에 대해 공격자보다 한발 앞선 대응 체계를 유지합니다. ### 자산의 체계적 정의와 데이터 모델링 * 자산을 범위(In/Out), 타입(Domain/IP/Port 등), 식별 여부(Known/Unknown)로 분류하여 자산이 확장되더라도 일관된 관리 규칙을 적용합니다. * 다양한 소스에서 수집된 정보를 표준화하고 레이블링(Labeling)하여 데이터의 근본적인 성격을 정의하고 활용도를 높입니다. * 자산과 취약점, CVE, 담당자 정보를 다형성 구조로 연결하여 특정 보안 이슈 발생 시 영향 범위를 즉각적으로 파악하고 조치 이력을 추적할 수 있습니다. ### 대규모 스캔 환경의 기술적 최적화 * **네트워크 병목 해소:** 내부 물리 서버의 대역폭 한계를 극복하기 위해 퍼블릭 클라우드를 병행 운영함으로써 대규모 동시 요청 시 발생하는 지연 문제를 해결했습니다. * **병렬 스캔 구조 구현:** 오픈소스 스캐너의 단일 프로세스 한계를 넘기 위해 스케줄러와 큐, 다수의 워커가 독립적으로 작동하는 분산 병렬 처리 구조를 직접 설계했습니다. * **비용 및 성능 균형:** 고사양 서버를 무조건 투입하기보다 스캔 특성에 맞는 최소 스펙을 도출하고, 적정 스펙의 서버를 효율적으로 분산 확장하는 가성비 기반 인프라를 구축했습니다. * **서비스 영향 최소화:** 스캔 트래픽을 공격으로 오해하지 않도록 고정 IP와 전용 User-Agent 정보를 제공하며, 초당 호출 수와 타임아웃 등 핵심 파라미터를 정밀하게 튜닝했습니다. 공격 표면 관리는 단순히 자산을 찾는 기술을 넘어, 수집된 데이터를 자산 중심으로 연결하고 매일 반복되는 리뷰 프로세스를 내재화할 때 완성됩니다. 대규모 인프라를 운영하는 조직이라면 네트워크 병목과 비용 효율을 고려한 분산 스캔 구조를 설계하고, 서비스 부하를 고려한 정밀한 튜닝을 통해 공격자보다 먼저 약점을 찾아내는 체계를 갖출 것을 권장합니다.

레거시 결제 원장을 확장 가능한 시스템으로 (새 탭에서 열림)

토스페이먼츠는 20년 된 레거시 결제 원장의 구조적 한계와 도메인 간 강한 결합을 해결하기 위해 MySQL 기반의 신규 원장 시스템을 구축했습니다. 데이터 불변성을 보장하는 INSERT-only 원칙과 이벤트 기반 아키텍처를 도입하여 복합 결제 지원 등 비즈니스 확장성을 확보했습니다. 이 과정에서 발생한 데이터 불일치와 타임아웃 문제를 해결하며 시스템의 자가 회복 능력을 강화하고 안정적인 운영 환경을 마련했습니다. ### 레거시 원장 시스템의 한계와 과제 - **데이터 구조의 불일치:** 결제수단별로 테이블 구조가 다르고, 동일한 성격의 데이터가 서로 다른 테이블에 저장되어 유지보수와 온보딩에 큰 비용이 발생했습니다. - **도메인 간 강한 결합:** 결제, 정산, 회계 등 여러 서비스가 하나의 원장 테이블과 컬럼을 공유하여, 작은 기능 수정 시에도 전사적인 영향도 분석이 필요했습니다. - **구조적 확장성 부족:** 결제와 결제수단이 1:1 관계로 묶여 있어, 더치페이나 복합 결제(카드+포인트)와 같은 현대적인 결제 시나리오를 지원할 수 없었습니다. ### 신규 원장 설계의 3가지 전략 - **데이터 불변성과 일관성:** 모든 승인 내역을 공통 테이블(`approve`)에 저장하고, 수정 대신 INSERT-only 방식을 채택하여 데이터의 정합성을 높이고 데드락을 방지했습니다. - **이벤트 기반의 도메인 분리:** 각 도메인이 직접 DB를 조회하는 대신 Kafka 이벤트를 구독하여 데이터를 처리하게 함으로써 도메인 간 의존성을 제거했습니다. - **결제와 승인 개념의 분리:** '결제'는 주문의 상태를, '승인'은 실제 결제수단의 실행을 의미하도록 분리하여 하나의 결제에 여러 승인 수단이 연결될 수 있는 유연한 구조를 만들었습니다. ### 무중단 마이그레이션 및 정합성 검증 - **비동기 점진적 적재:** 실서비스 장애를 방지하기 위해 기존 원장에 먼저 저장한 후, 신규 원장에는 별도의 ThreadPool을 통한 비동기 방식으로 데이터를 적재했습니다. - **검증 배치 운영:** 비동기 적재 중 발생할 수 있는 누락을 방지하기 위해, 매 5분마다 Read-Only DB를 기반으로 기존 원장과 신규 원장의 데이터를 비교하고 보정하는 배치를 실행했습니다. - **고성능 이관 작업:** 수억 건의 데이터 이관을 위해 Bulk Insert를 도입하고, 네트워크 지연 최소화를 위해 마이그레이션 서버를 DB와 동일한 가용 영역(AZ)에 배치했습니다. ### 운영 중 장애 대응과 시스템 고도화 - **쿼리 최적화:** 옵티마이저의 판단 오류로 발생한 풀 스캔(Full Scan) 문제를 인덱스 힌트(Index Hint) 추가와 롤백 시스템을 통해 빠르게 해결했습니다. - **타임아웃 및 정합성 관리:** MSA 구조에서 서버 간 타임아웃 설정을 일치시키고, 외부 원천사와의 상태 불일치를 해결하기 위한 망취소(Network Cancellation) 로직을 강화했습니다. - **이벤트 처리의 신뢰성:** 아웃박스(Outbox) 패턴과 로그 기반 복구를 통해 이벤트 누락을 방지하고, 헤더에 멱등키를 포함해 중복 이벤트 처리 문제를 해결했습니다. 신규 시스템으로의 전환은 단순한 DB 교체가 아니라 시스템의 지속 가능성을 확보하는 과정입니다. 초기 설계의 완벽함보다 중요한 것은 운영 중 발생하는 예외 상황에 시스템이 스스로 대응하고 회복할 수 있는 '자가 회복 구조'를 갖추는 것이며, 이를 위해 데이터 보정 배치와 로깅 시스템 같은 안전장치를 반드시 고려해야 합니다.

토스의 브랜드 심볼을 찾아서 (새 탭에서 열림)

토스가 오프라인 시장으로 확장하며 브랜드 인지도를 높이기 위해 사용자의 무의식 속에 자리 잡은 '진짜 얼굴'을 탐색한 과정을 다룹니다. UX 리서치를 통해 파란색 로고 자체보다 '흰 배경의 앱 아이콘' 형태와 '검정 영문 폰트'의 조합이 브랜드 정체성의 핵심임을 발견했습니다. 이를 통해 추상적인 브랜드 이미지를 구체적인 디자인 원칙으로 정립하여 오프라인 접점과 제품 디자인에 성공적으로 적용한 사례를 제시합니다. **오프라인 확장을 위한 브랜드 심볼의 재정의** * 온라인과 달리 맥락이 부족한 오프라인 환경(편의점 댕글러, POS 단말기 등)에서 사용자가 토스를 즉각적으로 인지할 수 있는 시각적 단서를 찾는 것이 과제였습니다. * 단순히 '어떤 로고가 예쁜가'를 넘어, 사용자가 낯선 환경에서도 토스를 토스로 인식하게 만드는 핵심 자산이 무엇인지 파악하기 위해 리서치를 시작했습니다. **심층 인터뷰를 통한 브랜드 이미지 탐색** * 브랜드에 대한 추상적인 인상을 명확한 언어로 표현할 수 있는 사용자를 선별하여 심층 인터뷰를 진행했습니다. * 사용자들이 느끼는 토스의 핵심은 시각적 요소가 아닌 '군더더기 없는 실용성'과 '편리한 경험'에 집중되어 있음을 확인했습니다. * 구체적인 시각적 심볼이 부족하다는 문제점을 발견하고, 이를 해결하기 위해 폰트, 컬러, 로고라는 세 가지 요소로 나누어 분석했습니다. **데이터로 찾아낸 세 가지 핵심 단서** * **폰트:** 사용자는 앱 내부의 국문 폰트보다 뉴스나 광고 등 외부 매체에서 자주 접한 '검정색 영문 toss'를 브랜드의 대표 폰트로 인지하고 있었습니다. * **컬러:** 사용자에게 각인된 토스의 컬러는 단일 '파란색'이 아니라, '흰 배경과 파란 로고'가 만나는 조합 그 자체였습니다. * **로고:** 로고를 직접 그려보게 한 결과, 사용자는 로고 단독 형태가 아니라 스마트폰 화면 속 '네모난 앱 아이콘(흰 바탕 + 파란 로고 + 사각 배경)' 구성을 브랜드의 얼굴로 기억하고 있었습니다. **리서치 인사이트의 실전 적용** * 리서치로 정의한 '진짜 심볼(앱 아이콘 형태 + 검정 영문 폰트 + 흰/파/검 조합)'을 실제 디자인에 반영했습니다. * **토스 10주년 캠페인:** 파란 배경 대신 사용자가 가장 토스답다고 느끼는 흰 바탕에 검정 글씨와 파란 로고 조합을 메인으로 사용했습니다. * **토스페이 결제 화면:** 전면 파란색 배경 시안을 걷어내고, 리서치로 검증된 시각적 공식을 적용하여 브랜드 인지도를 높였습니다. 브랜드 리서치는 추상적인 감각과 인식을 다루기에 결과물이 모호해질 위험이 있지만, 이를 구체적인 시각적 요소로 분해하여 분석함으로써 실질적인 프로덕트 개선과 일관된 브랜드 경험을 설계할 수 있습니다.

[DAN25] 기술세션 영상이 모두 공개되었습니다. (새 탭에서 열림)

팀네이버의 컨퍼런스 DAN25에서 발표된 35개의 기술 세션 영상이 모두 공개되었으며, 그중 오프라인 현장에서 가장 큰 호응을 얻었던 5가지 핵심 세션의 상세 내용이 공유되었습니다. 이번 컨퍼런스는 AI 에이전트, 소버린 AI, AX 전략 등 네이버의 미래 비전과 실제 서비스 적용 사례를 중심으로 사용자 경험의 혁신 과정을 다루고 있습니다. 대규모 트래픽 처리부터 LLM의 서비스 최적화까지, 네이버의 기술적 고민과 해결책을 담은 실전 노하우를 온라인을 통해 확인할 수 있습니다. **LLM 기반 사용자 메모리 구축 및 실시간 반영** * 사용자의 파편화된 서비스 이용 기록을 '간접적인 대화'로 간주하여 개인화된 메모리를 구축하는 '네이버 PersonA' 프로젝트를 소개합니다. * 대규모 언어모델(LLM)의 추론 능력을 활용해 사용자에게 적절한 시점에 의미 있는 제안을 전달하는 시스템을 구현했습니다. * 실시간 로그를 대규모 사용자 환경에 안정적으로 반영하기 위한 기술적 대안과 AI 에이전트로 진화하기 위한 단계별 로드맵을 다룹니다. **랭킹 기반 플레이스 트렌드 분석 시스템** * 실시간 사용자 데이터를 분석하여 '지금 뜨는 장소'를 포착하기 위해 '급등'과 '지속'의 균형을 맞춘 랭킹 알고리즘을 적용했습니다. * 단순한 인기 순위를 넘어 텍스트 마이닝과 LLM을 결합하여 특정 장소가 주목받는 구체적인 이유를 키워드로 추출하는 과정을 공유합니다. **검색 서비스 특화 LLM 및 AI 브리핑** * 수십억 건의 질문과 답을 처리하는 검색 환경에 최적화하기 위해 범용 LLM 대신 검색 로그 기반의 특화 모델을 개발한 사례입니다. * 다양한 데이터 조합 실험과 최적화 레시피를 통해 범용 성능을 유지하면서도 검색 맞춤 기능을 강화한 기술적 노하우를 설명합니다. * 신뢰성을 높이는 'AuthGR' 기술과 전통적 검색 과정을 통합해 제시하는 'AI briefing'을 통해 검색 품질 개선 방향을 제시합니다. **추천-CRM 통합 모델과 실시간 개인화 UX** * 네이버 웹툰/시리즈 환경에서 관리 복잡성을 줄이기 위해 개별적으로 운영되던 추천 모델과 CRM 모델을 하나의 통합 프레임워크로 설계했습니다. * 배치(Batch) 기반 시스템에서 API 기반 실시간 추론 아키텍처로 전환하여 모델 간 일관성을 확보하고 사용자 경험을 고도화했습니다. **초대규모 로그 파이프라인 'Logiss' 운영 전략** * 초당 수백만 건, 하루 수백억 건에 달하는 전사 로그를 처리하기 위해 Storm과 Kafka 기반의 멀티 토폴로지를 적용하여 무중단 배포 환경을 구축했습니다. * 지능형 파이프라인을 도입해 피크 시간대의 트래픽을 분산시키고, 장애 발생 시 로그 우선순위에 따른 차등 처리로 시스템 안정성을 확보했습니다. * 샘플링 기능을 활용한 저장소 효율화 등 비용과 성능, 안정성을 동시에 잡은 대규모 데이터 인프라 관리 기법을 공유합니다. 네이버의 최신 기술 트렌드와 대규모 시스템 운영 노하우를 깊이 있게 이해하고 싶다면, DAN25 홈페이지나 네이버 TV 채널에 공개된 세션 풀 영상을 참고하시길 권장합니다. 특히 LLM을 실제 서비스 아키텍처에 어떻게 녹여낼지 고민하는 개발자나 데이터 엔지니어에게 실질적인 기술적 영감을 제공할 것입니다.

경험이 쌓일수록 똑똑해지는 네이버 통합검색 LLM Devops Agent (새 탭에서 열림)

네이버 통합검색은 서비스 복잡도가 급증함에 따라 발생하는 장애 대응의 한계를 극복하기 위해 LLM 기반의 DevOps 에이전트를 도입했습니다. 이 에이전트는 단순히 장애 알람을 전달하는 수준을 넘어, 시스템 메트릭과 로그를 스스로 분석하고 최적의 조치 방안을 추천하며 경험을 통해 지속적으로 진화합니다. 결과적으로 복잡한 검색 인프라 운영의 효율성을 극대화하고 장애 복구 시간(MTTR)을 단축하는 것을 목표로 합니다. **기존 장애 대응 프로세스의 한계** * 네이버 검색은 수많은 마이크로서비스가 복잡하게 얽혀 있어, 장애 발생 시 원인을 파악하기 위해 확인해야 할 메트릭과 로그의 양이 방대합니다. * 기존의 룰 기반(Rule-based) 시스템은 정해진 규칙 외의 변칙적인 장애 상황에 유연하게 대응하기 어렵고, 운영자의 숙련도에 따라 대응 속도 차이가 크게 발생했습니다. * 장애 상황마다 산재한 데이터를 수동으로 취합하고 분석하는 과정에서 발생하는 인지적 부하와 시간 지연이 주요 해결 과제로 대두되었습니다. **Devops Agent의 구조적 진화 (v1에서 v2로)** * **v1 설계 및 한계:** 초기 버전은 기본적인 데이터 수집과 리포팅 자동화에 집중했으나, 다양한 인프라 환경에서 발생하는 복합적인 컨텍스트를 LLM이 완벽히 이해하고 추론하기에는 한계가 있었습니다. * **v2 구조 개선:** v1의 한계를 극복하기 위해 Agentic Workflow를 강화하여, 에이전트가 상황에 따라 필요한 도구(Tools)를 스스로 선택하고 분석 단계를 세분화하여 실행하도록 재설계했습니다. * **SW Stack 고도화:** 최신 LLM 프레임워크와 네이버의 인프라 데이터를 효율적으로 결합하여, 실시간으로 변화하는 시스템 상태를 에이전트가 즉각적으로 파악할 수 있는 기반을 마련했습니다. **시스템 동작과 이상 탐지 메커니즘** * **Trigger Queue:** 모든 장애 징후와 알람을 큐(Queue) 시스템으로 관리하여 분석의 우선순위를 정하고, 누락 없는 대응이 가능하도록 설계했습니다. * **이상 탐지(Anomaly Detection):** 단순 임계치 기반 알람이 아니라, 통계적 모델과 AI를 활용해 평상시 패턴에서 벗어나는 이상 현상을 정교하게 포착합니다. * **평가 체계:** 에이전트가 내놓은 분석 결과와 추천 액션의 정확도를 지속적으로 평가하며, 실제 엔지니어의 피드백을 학습 데이터로 환류시켜 분석 품질을 높입니다. **지속 가능한 DevOps를 위한 향후 과제** * **컨텍스트 확대:** 장애 당시의 로그뿐만 아니라 배포 이력, 설정 변경 내역 등 더 넓은 범위의 데이터를 연동하여 분석의 정확도를 높이고 있습니다. * **액션 추천 및 자동화:** 장애 원인 분석을 넘어 "특정 서버 그룹의 트래픽을 차단하라"와 같이 구체적인 실행 코드를 생성하거나 직접 조치하는 단계로 확장 중입니다. * **지속 가능한 학습:** 새로운 유형의 장애가 발생할 때마다 이를 지식화하여 에이전트가 다음번 유사 사례에서 더 똑똑하게 대응할 수 있는 선순환 구조를 구축하고 있습니다. 이 시스템은 인프라 운영자가 반복적인 데이터 취합 업무에서 벗어나 의사결정과 문제 해결에만 집중할 수 있는 환경을 제공합니다. LLM 에이전트의 도입은 단순한 도구 활용을 넘어, 대규모 시스템 운영 노하우를 데이터화하고 지능화된 자동화로 전환하는 중요한 기술적 이정표가 될 것입니다.

토스페이먼츠의 Open API 생태계 (새 탭에서 열림)

토스페이먼츠는 Open API를 단순한 통신 수단을 넘어 수십 년간 안정적으로 운영되어야 할 핵심 인프라로 정의합니다. 20만 개 이상의 가맹점이 사용하는 환경에서 개발자의 인지 부하를 줄이고 연동 신뢰성을 높이기 위해, 리소스 중심의 인터페이스 설계와 자동화된 생태계 구축을 최우선 과제로 삼고 있습니다. 이러한 철학은 기술적 완성도를 넘어 가맹점 개발자가 겪는 전반적인 경험(DX)의 질을 결정짓는 근간이 됩니다. ### 리소스 중심의 일관된 인터페이스 설계 * **직관적인 경로 규칙**: 가맹점이 URL 구조만 보고도 기능을 예측할 수 있도록 `버전/도메인/리소스 고유 ID` 순서의 일관된 경로 체계를 사용합니다. 특정 리소스 지정 외의 조건은 쿼리 파라미터나 JSON 필드로 분리하여 명확성을 높였습니다. * **중첩 객체를 활용한 모듈화**: 카드 정보나 현금영수증 내역처럼 여러 API에서 반복되는 데이터는 JSON의 계층 구조를 활용해 객체 형태로 모듈화합니다. 이는 데이터 중복을 줄이고 응답의 의미를 명확하게 전달하며, null 체크 등 가맹점의 코드 로직을 간소화합니다. * **도메인별 객체 재사용**: 승인, 조회, 취소 등 연관된 도메인의 API들이 동일한 응답 객체를 공유하도록 설계하여, 개발자가 새로운 API를 연동할 때 추가적인 학습 없이 결과를 예측할 수 있게 합니다. * **자연어 기반 데이터 표현**: 시스템 효율을 위한 코드 값(예: SC0010) 대신 "현대", "국민"과 같은 직관적인 한글 데이터를 제공합니다. 또한 `Accept-Language` 헤더에 따라 영문 등으로 응답을 자동 전환하는 로컬라이제이션(Localization)을 지원합니다. * **표준화된 오류 처리**: HTTP 상태 코드로 큰 틀의 성공/실패를 구분하고, 상세한 에러 코드와 메시지를 담은 표준 객체를 응답 바디에 포함하여 가맹점이 상황에 맞춰 유연하게 대응할 수 있도록 돕습니다. ### 비동기 처리를 위한 안정적인 웹훅 체계 * **이벤트 기반 처리**: 즉각적인 응답이 어려운 비동기 결제 상황에서 서버가 클라이언트에 처리 완료를 알리는 웹훅 인터페이스를 API와 함께 제공합니다. * **데이터 구조의 일관성**: 웹훅을 통해 전달되는 데이터 페이로드를 일반 API 응답과 동일한 리소스 객체 구조로 설계하여 가맹점의 파싱 로직 중복을 방지합니다. * **지수 백오프(Exponential Backoff) 재전송**: 네트워크 이슈나 가맹점 서버 장애로 인한 웹훅 전송 실패 시, 수신 서비스의 회복 시간을 고려하여 점진적으로 재시도 간격을 늘리는 전략을 사용합니다. * **자가 조치 도구 제공**: 개발자가 직접 웹훅 전송 내역을 조회하고 필요 시 수동으로 재전송할 수 있는 기능을 개발자 센터를 통해 지원하여 운영 편의성을 높였습니다. ### 개발자 경험(DX) 강화를 위한 문서 자동화 * **OAS 기반 실시간 동기화**: 수동 문서 작성의 한계를 극복하기 위해 OpenAPI Specification(OAS)과 Springdoc 라이브러리를 활용하여 서버 코드와 문서가 실시간으로 동기화되는 시스템을 구축했습니다. * **문서의 신뢰성 확보**: API 스펙이 변경될 때마다 연동 문서가 즉시 업데이트되므로, 가맹점 개발자는 항상 실제 동작하는 서버와 일치하는 최신 명세를 바탕으로 안심하고 개발할 수 있습니다. 토스페이먼츠의 사례처럼 좋은 Open API는 단순히 기능의 유무를 넘어, 개발자가 '설명 없이도 이해할 수 있는' 직관적인 구조와 자동화된 지원 환경을 갖추어야 합니다. 특히 리소스 중심 설계와 API-웹훅 간 데이터 일관성은 가맹점의 연동 비용을 획기적으로 낮추는 실용적인 전략이 될 수 있습니다.

코드 품질 개선 기법 25편: 요컨대... 무슨 말이죠? (새 탭에서 열림)

효과적인 코드 리뷰를 위해서는 리뷰 코멘트를 작성할 때 결론인 제안이나 요청 사항을 가장 먼저 제시하고, 그에 따른 근거와 이유는 뒤에 덧붙이는 구조를 취해야 합니다. 이러한 방식은 리뷰 요청자가 코멘트의 핵심을 즉각적으로 파악하게 하여 전체적인 리뷰 프로세스의 효율성을 높여줍니다. 명확한 구조로 작성된 코멘트는 불필요한 재독을 줄이고 제안된 의견의 타당성을 더 빠르게 검증할 수 있게 돕습니다. **불명확한 리뷰 코멘트의 예시와 문제점** * **가변 객체 사용의 위험성**: Kotlin의 `data class`에서 속성을 `var`로 선언하면 외부에서 객체의 상태를 직접 변경할 수 있어, 의도치 않은 시점에 데이터가 수정되는 버그를 유발할 수 있습니다. * **불필요한 인스턴스 공유**: 상태를 업데이트할 때 새로운 불변 인스턴스를 생성하는 대신 동일한 가변 객체를 공유하면 시스템의 견고함이 떨어집니다. * **정보 전달의 지연**: 제안 사항(모든 속성을 `val`로 변경하고 클래스를 분리할 것)이 코멘트의 마지막에 위치하면, 작성자는 긴 설명을 다 읽은 후에야 무엇을 고쳐야 하는지 알게 되어 인지적 부담이 커집니다. **제안 사항 우선 방식의 코멘트 구조화** * **핵심 제안 선행**: 코멘트의 첫머리에 "데이터 업데이트 빈도에 따라 클래스를 분리하고 속성을 `val`로 선언하세요"와 같이 구체적인 액션을 명시합니다. * **근거의 범주화**: 제안 뒤에 붙는 이유는 '객체의 불변성'과 '값의 라이프사이클'처럼 논리적인 항목으로 나누어 설명합니다. * **가독성 향상 기법**: 설명해야 할 항목이 몇 개인지 미리 밝히고(예: "다음 두 가지 측면에 기반합니다"), 각 항목에 제목을 붙여 구조화하면 전달력이 극대화됩니다. **데이터 모델링의 기술적 개선 방향** * **불변성 유지**: `data class`에서는 `var` 대신 `val`을 사용하여 `copy` 함수를 통한 예측 가능한 상태 업데이트를 지향해야 합니다. * **라이프사이클에 따른 분리**: 사용자 ID와 같이 거의 변하지 않는 속성과, 온라인 상태나 상태 메시지처럼 자주 변하는 속성을 별도의 클래스(예: `UserModel`과 `UserStatus`)로 분리하면 잘못된 업데이트를 방지하기 쉬워집니다. 리뷰 코멘트를 작성할 때는 '빠른 이해'를 목표로 결론부터 쓰는 것이 기본입니다. 다만, 상대방이 스스로 답을 찾아보게 하거나 깊은 고민을 유도하고 싶을 때는 의도적으로 중요한 부분을 뒤에 배치하는 전략을 취할 수도 있습니다. 상황에 맞는 적절한 설명 순서가 코드 품질과 팀의 개발 문화를 결정짓는 중요한 요소가 됩니다.

누구나 리서치 하는 시대, UX리서처의 생존법 (새 탭에서 열림)

AI와 비전문가도 리서치를 수행할 수 있는 시대에 UX 리서처의 진정한 역할은 단순히 데이터를 수집하는 기술적 숙련도를 넘어, 제품의 방향성을 설정하고 팀의 시야를 하나로 모으는 'UX 리더십'에 있습니다. 리서처는 제품 개발의 각 단계에서 사용자의 본질적인 문제를 정의하고, 복잡한 비즈니스 맥락 속에서 팀이 길을 잃지 않도록 돕는 나침반 역할을 수행해야 합니다. ## 아이디어 단계: 사용자 중심의 '퍼즐 테두리' 맞추기 - 기획 초기 단계에서 팀의 관점을 '우리가 무엇을 만들 수 있는가'에서 '유저의 어떤 문제를 해결할 것인가'로 전환시킵니다. - 비즈니스 지표(재방문율, 체류시간 등)에만 매몰될 경우 발생할 수 있는 UX 저해 요소들을 사용자 관점의 가치 정의를 통해 방어합니다. - **사례(AI 시그널):** 단순한 정보 요약 기능을 넘어, 유저가 시장 변화의 이유를 빠르게 파악하여 투자 판단을 돕는다는 '북극성(핵심 가치)'을 설정해 제품의 윤곽을 잡았습니다. ## 개선 단계: 사용자 목표 중심의 구조화와 기준 수립 - 흩어져 있는 피드백과 문제점들을 나열하기보다, 사용자가 해당 기능을 통해 달성하려는 최종 '목표'를 먼저 정의합니다. - 목표 달성을 가로막는 방해 요인을 파악하고, 팀 전체가 동의할 수 있는 '서비스를 잘 쓴다는 것'에 대한 합의된 기준을 만듭니다. - **사례(증시 캘린더):** 단순한 일정 나열을 넘어 '인지-이해-준비'라는 3단계 사용자 여정을 설정함으로써, UI 수정을 넘어 투자자가 시장을 스스로 판단하게 돕는 도구로 제품을 고도화했습니다. ## 성장 및 정체 단계: 제품의 정체성과 환경적 맥락 재정의 - 제품의 성장이 정체되었을 때, 기능적 결함이 아닌 '제품의 정체성'과 '사용 환경(맥락)'의 불일치를 분석합니다. - 데이터, 인터뷰, 시장 트렌드를 입체적으로 결합하여 제품이 시장 내에서 차지해야 할 최적의 위치를 다시 찾습니다. - **사례(토스증권 PC):** 모바일의 '심플함'이 깊이 있는 분석이 필요한 PC 환경에서는 오히려 한계가 될 수 있음을 발견하고, PC라는 맥락에 맞는 새로운 가치와 제품의 지향점을 재정립했습니다. ## 리서처를 위한 실용적 제언 UX 리서처는 인터뷰를 잘하는 '기술적 장인'에 머물기보다, 제품과 산업 전체를 조망하는 넓은 시야를 갖추어야 합니다. 특히 팀원들의 흩어진 생각을 구조화하고, 의사결정의 근거가 되는 기준을 마련하여 **실질적으로 팀을 움직이게 만드는 'UX 리더십'**을 발휘하는 것이 AI 시대 리서처의 핵심 경쟁력입니다.

커뮤니티와 함께 성장하는 실무 보안 지식, LINE CTF (새 탭에서 열림)

LINE CTF는 글로벌 보안 전문가들이 최신 공격 및 방어 기법을 공유하며 기술적으로 성장하는 장으로, 2025년 대회는 AI 시대에 맞춘 고도화된 문제 설계와 다국적 협업을 통해 성공적으로 운영되었습니다. LY Corporation은 단순한 경쟁을 넘어 보안 커뮤니티의 발전을 도모하며, 참가자들이 실전적인 취약점 분석 역량을 기를 수 있도록 대회를 매년 정교화하고 있습니다. 올해 대회는 개인정보 보호를 강화한 시스템 운영과 완성도 높은 문제를 통해 아시아를 대표하는 보안 이벤트로서의 입지를 공고히 했습니다. **AI 시대의 공정성을 고려한 문제 설계** * AI 도구(LLM 등)를 이용한 코드 분석이나 자동화 연산이 활발해진 환경을 반영하여, 도구 사용 여부와 관계없이 문제의 핵심 논리를 이해해야만 해결할 수 있도록 설계했습니다. * 일부 문제에는 AI가 의도적으로 잘못된 분석 결과를 내놓도록 유도하는 요소를 포함하여, 참가자의 순수한 분석력과 사고력을 검증했습니다. * 웹(6), 포너블(4), 역공학(3) 등 총 13개의 문제를 통해 최신 기술 트렌드와 실무 보안 상황을 결합한 고난도 콘텐츠를 제공했습니다. **다국적 협업과 체계적인 운영 프로세스** * 한국 보안 팀이 기획을 주도하고, 베트남 엔지니어들이 가장 많은 문제를 출제했으며, 일본 팀이 검수와 자문을 맡는 등 긴밀한 글로벌 협업 구조를 구축했습니다. * LY Corporation 통합 이후 처음으로 적용된 내부 행정 및 승인 프로세스를 통해 출제, 운영, 검토 단계를 세밀하게 관리하며 대회의 안정성을 높였습니다. * CTFtime 평점이 3년 연속 상승(35.0 → 66.5)하며 문제의 깊이와 운영 품질에 대해 글로벌 커뮤니티로부터 높은 신뢰를 얻었습니다. **Jeopardy 형식 기반의 기술적 탐구** * 참가자가 독립된 문제를 자유롭게 선택해 플래그(Flag)를 찾는 Jeopardy 방식을 채택하여 24시간 동안 순수한 문제 해결 능력에 집중할 수 있게 했습니다. * 오픈소스 CTF 프레임워크인 CTFd를 커스터마이징하여 사용했으며, Discord를 통해 전 세계 참가자들과 실시간으로 소통하며 건강한 기술 공유 문화를 형성했습니다. * 한국의 'The Duck' 팀이 3년 연속 우승을 차지한 가운데, 종료 직전까지 2, 3위 순위가 뒤바뀌는 긴박한 경쟁 환경을 제공했습니다. **보안성과 편의성을 모두 잡은 플랫폼 운영** * 개인정보 보호를 최우선으로 하여 이메일 등록 없이 '복구 코드(Recovery Code)'만으로 계정을 관리할 수 있는 시스템을 설계하여 개인정보 유출 리스크를 원천 차단했습니다. * 수백 명의 동시 접속에도 견딜 수 있는 안정적인 서버 인프라를 구축하여 대회 기간 중 기술적 장애 없는 쾌적한 환경을 유지했습니다. * 비정상적인 플래그 거래나 부정행위 없이 성숙한 커뮤니티 매너 속에서 대회가 진행되어 운영 안정성을 확보했습니다. 보안 엔지니어로서 실무 감각을 익히고 취약점 분석 역량을 한 단계 높이고 싶다면, 매년 정교한 난이도와 최신 트렌드를 반영하는 LINE CTF에 도전해 보기를 추천합니다. 직접 문제를 해결하며 얻는 논리적 사고력과 성취감은 실무 현장에서 강력한 자산이 될 것입니다.