Techlist.io - 한국 테크 블로그 큐레이터

line원문

코드 품질 개선 기법 26편: 설명의 핵심은 첫 문장에 있다 (새 탭에서 열림)

코드의 가독성과 유지보수성을 높이기 위해서는 주석의 첫 번째 문장에 가장 핵심적인 정보를 담는 것이 중요합니다. 단순히 코드의 동작 과정을 나열하기보다 높은 추상화 수준에서 코드의 목적을 먼저 설명해야 하며, 이를 통해 읽는 사람이 전체 맥락을 빠르게 파악할 수 있도록 유도해야 합니다. 주석의 유형에 따라 가장 중요한 요소(반환값, 존재 이유, 이상적인 상태 등)를 선별하여 서두에 배치하는 것이 문서화의 핵심입니다. **효율적인 문서화 주석 작성법** - **첫 문장에서 개요 전달**: 문서화 주석은 전체를 다 읽지 않고 첫 번째 문장만 읽어도 해당 함수나 클래스의 역할을 이해할 수 있도록 작성해야 합니다. - **추상화 수준 높이기**: "마침표로 분할한다"와 같은 구현 디테일보다는 "문장 단위로 분할한다"처럼 코드보다 높은 수준의 용어를 사용하여 의도를 명확히 합니다. - **중요 정보 우선 배치**: 함수의 경우 '무엇을 반환하는지'가 가장 중요하므로, 반환값의 의미를 첫 문장에 기술하고 구체적인 구분자나 예외 처리 조건은 뒷부분에 보충합니다. - **구체적인 예시 활용**: 경계 조건이나 복잡한 입력값이 있을 때는 주석 하단에 `input -> output` 형태의 예시를 추가하여 이해를 돕습니다. **임시 방편 및 인라인 주석의 구성** - **존재 이유 명시**: 특정 버그를 회피하기 위한 코드나 임시 방편적인 코드에서는 '무엇을 하는지'보다 '왜 이 코드가 필요한지'를 먼저 설명해야 합니다. - **맥락 제공**: 예를 들어 "기기 X의 버그를 해결하기 위함"이라는 목적을 서두에 두면, 나중에 코드를 읽는 작업자가 해당 로직의 삭제 여부를 더 쉽게 판단할 수 있습니다. **효과적인 TODO 주석 작성** - **목표 상태 우선 기술**: TODO 주석에서는 앞으로 수행해야 할 리팩토링의 방향이나 '이상적인 상태'를 가장 먼저 작성합니다. - **제약 사항 후순위 배치**: 현재 상태의 문제점이나 즉시 수정하지 못하는 기술적 부채에 대한 설명은 목표를 명시한 뒤에 덧붙이는 것이 가독성에 유리합니다. 코드의 의미는 코드가 스스로 말해야 하지만, 그 너머의 의도와 비즈니스 로직의 맥락은 주석의 첫 문장이 결정합니다. 읽는 이의 시간을 아끼기 위해 가장 중요한 핵심부터 말하는 습관을 들이는 것이 좋습니다.

kakao원문

​한국어와 이미지를 한 번에, 카카오의 멀티모달 임베딩 모델 개발기 (새 탭에서 열림)

카카오는 한국어 환경과 다양한 서비스 시나리오에 최적화된 멀티모달 임베딩 모델인 'Kanana-v-embedding'을 개발했습니다. 이 모델은 비전-언어 모델(VLM) 아키텍처를 기반으로 텍스트와 이미지를 하나의 공통된 의미 공간에 표현하여, 검색, 추천, RAG(검색 증강 생성) 등에서 발생하는 복합적인 모달리티 요구사항을 효과적으로 해결합니다. 특히 지시어(Instruction) 기반 학습과 가변 차원 임베딩 기술을 적용하여 실무적인 유연성과 성능을 동시에 확보한 것이 특징입니다. **멀티모달 임베딩의 개념과 VLM 기반 아키텍처** * 텍스트와 이미지를 고정 길이의 벡터로 변환하여 동일한 의미 공간상에 배치함으로써, 서로 다른 형태의 데이터 간 유사도를 코사인 유사도 등으로 직접 비교할 수 있게 합니다. * 기존 CLIP 모델이 텍스트와 이미지를 독립적으로 처리하여 복합 입력에 한계가 있었던 점을 극복하기 위해, VLM 기반 프레임워크를 채택했습니다. * 텍스트와 이미지 토큰이 트랜스포머 레이어를 거친 후, 마지막 히든 스테이트의 [EOS] 토큰 표현을 추출하고 정규화하여 최종 임베딩으로 사용합니다. **지시어 기반 학습 및 가변 차원 지원** * 검색, 추천, 분류 등 수행하려는 태스크의 목적에 맞는 지시어(Instruction)를 입력 쿼리와 함께 제공하여, 목적에 특화된 임베딩 표현을 생성할 수 있도록 설계했습니다. * 마트료시카 표현 학습(Matryoshka Representation Learning) 기법을 적용하여 64차원부터 2,048차원까지 다양한 임베딩 크기를 지원합니다. * 이를 통해 지연 시간(Latency)이 중요한 서비스 환경과 고성능 품질이 필요한 환경 모두에 유연하게 대응할 수 있는 운영 편의성을 갖췄습니다. **성능 극대화를 위한 학습 테크닉과 KoEmbed 데이터셋** * 그래디언트 캐싱(Gradient Caching) 기술을 도입하여 GPU 메모리 한계를 극복하고 대규모 배치 사이즈(8k 이상) 학습을 구현함으로써 대조 학습의 효율을 극대화했습니다. * 하드 네거티브 마이닝(Hard Negative Mining)을 통해 정답과 유사하지만 실제로는 오답인 샘플을 학습에 활용하여 모델의 변별력을 높였습니다. * 한국어와 카카오 서비스 특유의 문맥을 반영하기 위해 텍스트-텍스트, 텍스트-이미지 쌍으로 구성된 대규모 내부 데이터셋 'KoEmbed'를 구축하여 학습에 투입했습니다. **벤치마크를 통한 성능 검증 및 실무 적용** * 한국어 텍스트 임베딩 성능 측정 지표인 Ko-StrategyQA를 포함한 MTEB 벤치마크에서 기존 모델들을 제치고 종합 1위를 기록하며 탁월한 한국어 이해 능력을 입증했습니다. * 멀티모달 검색 성능 지표인 M-BEIR에서도 글로벌 수준의 성능을 확인하여 텍스트-이미지 교차 검색 및 추천에서의 경쟁력을 확보했습니다. * 이 모델은 카카오톡 앨범 검색, 유사 상품 추천, 멀티모달 RAG 시스템 등 다양한 실 서비스에 적용되어 사용자 경험을 개선하는 데 활용될 예정입니다. Kanana-v-embedding은 단순한 기술적 연구를 넘어 한국어 사용자에게 실질적인 가치를 제공하기 위해 최적화된 모델입니다. 한국어 서비스 환경에서 텍스트와 이미지를 동시에 다루며 성능과 효율성을 모두 잡아야 하는 개발자들에게 이 모델의 대조 학습 최적화 기법과 가변 차원 임베딩 방식은 훌륭한 기술적 이정표가 될 것입니다.

kakao원문

더욱 똑똑하게 답하며, 더욱 풍부한 감정표현을 향한 Kanana-o의 진화 과정 (새 탭에서 열림)

카카오의 멀티모달 언어모델 Kanana-o는 텍스트, 이미지, 음성을 동시에 이해하고 처리하여 사람처럼 자연스러운 상호작용을 지향하는 통합 모델입니다. 연구팀은 모델이 입력 모달리티에 관계없이 일관된 지능을 발휘하도록 고품질의 복합 지시 이행 데이터를 구축하고, 음성 토큰화 기술을 통해 풍부한 감정 표현력을 확보했습니다. 그 결과 Kanana-o는 한국어 맥락을 깊이 있게 이해하며 복잡한 명령을 수행하는 동시에, 사람과 유사한 섬세한 음성 반응을 제공하는 독보적인 성능을 입증했습니다. **멀티모달 지시 이행 능력의 고도화** * 단순한 질의응답을 넘어 요약, 문체 변환, 형식 제한 등 복합적인 제약 조건이 포함된 오디오 기반 지시 이행 데이터셋을 직접 설계했습니다. * 텍스트 입력 시에는 뛰어난 성능을 보이지만 오디오 입력 시 성능이 저하되는 기존 모델들의 한계를 극복하기 위해, 모달리티에 무관하게 안정적인 지능을 유지하는 일반화(Domain-generalization) 작업에 집중했습니다. * 한국어 음성 지시 이행 벤치마크인 Speech-KoMT-Bench에서 글로벌 경쟁 모델 대비 압도적인 성능을 기록하며 한국어 환경에서의 우수성을 증명했습니다. **이미지-오디오-텍스트 통합 데이터 구축** * 이미지를 보면서 음성으로 질문하는 등 서로 다른 모달리티가 결합된 시나리오에서도 정교하게 동작하도록 이미지-오디오-텍스트 통합 데이터셋을 구축했습니다. * 시각 정보와 청각 정보를 동시에 정렬(Alignment)함으로써, 모델이 복합적인 입력 환경에서도 사용자의 의도와 맥락을 정확히 파악할 수 있도록 학습시켰습니다. **오디오 토큰화를 통한 자연스러운 감정 표현** * 기존의 단조로운 음성 합성 방식을 넘어, 음성 데이터를 이산적인 토큰(Discrete Audio Tokens)으로 변환하여 언어모델이 텍스트와 함께 예측하도록 설계했습니다. * 이를 통해 단순한 텍스트 전달이 아닌, 발화자의 감정선, 호흡, 웃음소리, 억양 등 미묘한 운율(Prosody) 정보를 풍부하게 담아낼 수 있게 되었습니다. * 사용자의 감정을 실시간으로 인식하고 이에 어울리는 목소리 톤으로 응답함으로써, 기계적인 비서가 아닌 실제 사람과 대화하는 듯한 정서적 유대감을 제공합니다. Kanana-o는 단순히 기술적 지표를 높이는 것에 그치지 않고, 실제 서비스 환경에서 사용자가 체감할 수 있는 '이해력'과 '표현력'의 조화를 이루어냈습니다. 한국어에 특화된 강력한 지능과 섬세한 감성 표현 기술의 결합은 향후 더욱 몰입감 있고 실질적인 도움을 주는 AI 경험을 제공할 것으로 기대됩니다.

google원문

혁신에 주목: 아프리카 (새 탭에서 열림)

구글 리서치는 아프리카 전역의 데이터 과학 커뮤니티와 협력하여 현지의 시급한 의료 과제를 해결하기 위한 'Data Science for Health Ideathon'을 개최했습니다. 이 대회는 MedGemma, MedSigLIP 등 구글의 개방형 의료 AI 모델을 활용해 자궁경부암 검진, 모성 건강 지원 등 아프리카 보건 시스템에 실질적인 변화를 가져올 수 있는 솔루션을 개발하는 데 중점을 두었습니다. 최종 선정된 팀들은 구글의 기술 자원과 전문가 멘토링을 통해 아이디어를 구체적인 프로토타입으로 구현하며 지역 맞춤형 AI 혁신의 가능성을 증명했습니다. **협력적 의료 혁신과 기술적 기반** * 르완다 키갈리에서 열린 'Deep Learning Indaba' 컨퍼런스를 기점으로 아프리카 AI 및 의료 커뮤니티 간의 역량 강화를 목표로 시작되었습니다. * 참가자들에게는 MedGemma(의료 LLM), TxGemma(치료제 개발 모델), MedSigLIP(의료 영상 분석 모델) 등 구글의 최신 보건 AI 모델이 제공되었습니다. * 프로젝트 수행을 위해 Google Cloud Vertex AI 컴퓨팅 크레딧과 상세 기술 문서, 구글 DeepMind 연구진의 기술 멘토링이 단계별로 지원되었습니다. **자궁경부암 및 모성 건강을 위한 AI 솔루션** * **Dawa Health (1위):** WhatsApp으로 업로드된 질확대경 영상을 MedSigLIP 기반 분류기로 실시간 분석하여 암 징후를 식별합니다. 여기에 Gemini RAG(검색 증강 생성)를 결합해 세계보건기구(WHO)와 잠비아의 프로토콜에 따른 임상 가이드를 제공합니다. * **Solver (2위):** 자궁경부 세포진 검사 자동화를 위해 MedGemma-27B-IT 모델을 LoRA(Low-Rank Adaptation) 방식으로 파인튜닝했습니다. FastAPI 기반의 웹 앱을 통해 병리 의사에게 주석이 달린 이미지와 임상 권고안을 출력합니다. * **Mkunga (3위):** 모성 건강 상담을 위해 MedGemma와 Gemini를 활용한 AI 콜센터를 구축했습니다. Vertex AI의 TTS/STT(음성 합성 및 인식) 기술을 통해 스와힐리어로 저비용 원격 진료 서비스를 제공합니다. **열악한 통신 환경을 고려한 기술적 접근** * **HexAI (최우수 PoC):** 인터넷 연결이 제한된 환경에서도 작동할 수 있는 오프라인 우선(Offline-first) 모바일 앱 'DermaDetect'를 개발했습니다. * 온디바이스(On-device) 형태의 MedSigLIP 모델을 통해 커뮤니티 건강 요원들이 현장에서 피부 질환을 즉시 분류할 수 있도록 설계되었습니다. * 고도화된 분석이 필요한 경우에만 클라우드 기반의 MedGemma와 연결하는 하이브리드 구조를 채택하여 데이터 플라이휠을 구축했습니다. 이번 사례는 고성능 의료 AI 모델이 오픈소스로 제공될 때, 현지 개발자들이 지역적 특수성과 인프라 한계를 극복하며 얼마나 창의적인 솔루션을 구축할 수 있는지 잘 보여줍니다. 특히 인프라가 부족한 지역에서는 RAG를 통한 신뢰성 확보나 온디바이스 모델링을 통한 오프라인 지원 기술이 의료 격차를 해소하는 핵심적인 전략이 될 수 있음을 시사합니다.

figma3분 읽기큐레이션 요약

어려운 문제는 여전히 어렵다

Figma의 디자이너 출신 제품 관리자 Nikolas Klein은 7년간 프로토타이핑 도구를 만들어 온 경험을 돌아보며, AI가 도구와 작업 방식을 빠르게 바꾸더라도 어려운 문제 자체는 여전히 어렵다고 말한다. AI는 새로운 도구일 뿐이며, 복잡한 문제를 정의하고 반복적으로 해결하는 과정에는 여전히 인간의 판단과 협업이 필요하다는 것이 글의 결론이다. ### 프로토타이핑 도구를 만드는 일 - 저자는 Figma에서 인턴으로 시작해 디자이너로 일한 뒤 제품 관리자가 되었다. - 약 7년 동안 인터랙티브 프로토타이핑 도구를 만드는 일을 담당했다. - 프로토타이핑은 단순히 화면을 그리는 작업이 아니라, 아이디어를 실제 상호작용으로 구현하고 검증하는 과정이다. - 애니메이션, 여러 디자인을 동시에 편집하는 기능, 디자인과 코드를 결합하는 기능 등은 모두 복잡한 문제를 단계적으로 해결한 결과다. ### AI가 바꾼 도구와 커진 불확실성 - AI의 등장으로 디자인과 프로토타이핑 작업의 속도와 방식이 크게 달라졌다. - 기존에는 사람이 직접 만들고 수정하던 작업을 AI가 생성하거나 보조할 수 있게 되었다. - 그러나 새로운 도구가 생겼다고 해서 무엇을 만들어야 하는지, 어떤 경험이 좋은지, 문제가 실제로 해결되었는지가 자동으로 결정되지는 않는다. - AI는 생산성을 높일 수 있지만, 오히려 디자이너가 자신의 역할과 미래의 작업 방식을 다시 질문하게 만든다. ### AI는 만능 해결책이 아니라 또 하나의 도구 - 글은 AI를 기존의 디자인 도구와 완전히 단절된 혁신이라기보다, 도구 상자에 추가된 새로운 도구로 바라본다. - 중요한 것은 AI를 사용하는 것 자체가 아니라 어떤 문제에 어떻게 적용할지 판단하는 능력이다. - AI가 아이디어나 결과물을 빠르게 만들어도, 결과의 품질과 적합성을 평가하고 방향을 정하는 일은 사람에게 남는다. - 생성 속도가 빨라질수록 문제 정의, 선택, 수정, 검증의 중요성이 오히려 커진다. ### 어려운 문제에는 반복과 판단이 필요하다 - 복잡한 디자인 문제는 한 번의 생성이나 명령으로 해결되지 않는다. - 실제 작업에는 아이디어를 만들고, 시도하고, 실패한 부분을 발견하고, 다시 수정하는 반복 과정이 포함된다. - 인터랙션과 애니메이션처럼 사용자의 감각과 맥락이 중요한 영역에서는 물리 법칙이나 기술 구현뿐 아니라 “어떤 느낌을 전달해야 하는가”에 대한 판단도 필요하다. - AI가 일부 과정을 자동화해도 문제의 본질을 이해하고 적절한 결과를 선택하는 어려움은 사라지지 않는다. ### 디자이너와 엔지니어의 협업 - 복잡한 제품을 만들려면 디자인 감각과 기술적 구현 능력이 함께 필요하다. - 디자이너와 엔지니어는 각자의 전문성을 바탕으로 아이디어를 현실적인 제품으로 발전시킨다. - AI 역시 독립적인 대체자라기보다 사람이 사고하고 협업하는 과정에 참여하는 파트너로 묘사된다. - 좋은 결과는 특정 도구 하나보다 사람, 기술, 반복적인 협업이 결합될 때 만들어진다. ### 변하지 않는 일의 본질 - 도구는 빠르게 바뀌지만 사용자를 이해하고 문제를 정의하는 일은 여전히 어렵다. - 무엇을 만들지 결정하고, 결과가 실제로 유용한지 판단하며, 세부적인 경험을 다듬는 책임은 계속 사람에게 있다. - 따라서 AI 시대의 디자이너와 제품 담당자에게 필요한 역량은 도구 사용법만이 아니라 문제를 바라보는 관점과 판단력이다. AI는 작업을 더 빠르게 만들 수 있지만, 좋은 제품을 만들기 위한 탐구와 검증까지 대신하지는 않는다. 새로운 도구를 적극적으로 활용하되, 문제 정의와 인간의 판단, 디자이너·엔지니어 간 협업을 중심에 두는 것이 현실적인 접근이다.

원문 읽기(새 탭에서 열림)
stripe원문

에이전틱 커머스 스위트 소개: AI 에이전트를 통한 판매를 위한 완벽한 솔루션 (새 탭에서 열림)

Stripe는 AI 에이전트와 기업 간의 프로그래밍 방식 상거래를 지원하는 '에이전틱 커머스 스위트(Agentic Commerce Suite)'를 출시했습니다. 기존에는 기업이 각 AI 에이전트마다 별도의 API와 카탈로그 규격을 맞추는 데 최대 6개월이 소요되었으나, 이 솔루션을 통해 단일 통합만으로 상품 노출부터 결제까지의 전 과정을 간소화할 수 있습니다. 결과적으로 기업은 복잡한 인프라 구축 없이도 AI 에이전트라는 새로운 판매 채널에 즉시 진입할 수 있게 되었습니다. ### AI 에이전트를 통한 상품 노출 최적화 * **전용 ACP 엔드포인트 제공:** 기업이 개별 에이전트별로 커스텀 API를 구축하거나 수십 개의 카탈로그를 관리할 필요 없이, Stripe가 제공하는 호스팅된 ACP(Agentic Commerce Protocol) 엔드포인트를 통해 상품 정보를 공유합니다. * **실시간 데이터 동기화:** 제품 정보, 가격, 재고 현황을 AI 에이전트에게 실시간에 가깝게 전달하며, 기존 시스템의 변경을 최소화하면서 Stripe 대시보드에서 클릭 한 번으로 에이전트 채널을 활성화할 수 있습니다. * **카탈로그 신디케이션:** Stripe에 직접 카탈로그를 업로드하거나 기존 제품 신디케이터를 연결하여 지원되는 모든 AI 에이전트 네트워크에 상품 정보를 자동으로 배포합니다. ### 체크아웃 프로세스 간소화 및 제어권 유지 * **모듈형 API 활용:** Stripe의 'Checkout Sessions API'를 기반으로 에이전트 환경에서도 세금 계산, 배송료 산정, 주문 관리가 원활하게 이루어지도록 지원합니다. * **유연한 스택 통합:** Stripe Tax 같은 내장 도구를 사용하거나, 기업이 기존에 사용하던 세금 코드 및 실시간 재고 확인 로직을 그대로 연결할 수 있는 유연성을 제공합니다. * **판매자 권한 유지:** 거래 완료 후에도 기업이 판매 기록 주체(Merchant of Record)로서 환불, 분쟁 관리 및 고객 관계에 대한 모든 제어권을 유지하며 기존의 주문 처리 및 배송 프로세스를 그대로 사용할 수 있습니다. ### 에이전트 전용 결제 방식 및 사기 방지 * **공유 결제 토큰(SPT) 도입:** 결제 정보를 직접 노출하지 않고도 AI 에이전트가 구매자의 저장된 결제 수단으로 결제를 시작할 수 있게 하는 새로운 결제 기본 단위인 SPT를 처리합니다. * **토큰 범위 제한:** 각 토큰은 특정 판매자, 특정 시간, 특정 금액 범위 내로 사용 권한이 제한되어 AI 에이전트의 무단 작업을 방지하고 분쟁 발생 가능성을 낮춥니다. * **에이전트 특화 보안:** Stripe Radar를 활용해 일반적인 자동화 봇과 구매 의도가 명확한 AI 에이전트를 구분하며, 에이전틱 커머스에서 나타날 수 있는 새로운 사기 패턴(에이전트 조작 등)에 대응합니다. AI 에이전트가 쇼핑의 새로운 주체로 떠오르는 환경에서 기업은 자체적인 인터페이스 구축에 리소스를 낭비하기보다, Stripe와 같은 통합 솔루션을 통해 표준화된 방식으로 시장에 진입하는 것이 유리합니다. 현재 Etsy, URBN 등 주요 브랜드들이 이미 도입을 시작했으며, 커머스 플랫폼(Wix, WooCommerce 등)을 통해서도 순차적으로 배포될 예정이므로 조기에 웨이트리스트를 통해 기술 문서와 통합 가이드를 확인해 보는 것을 추천합니다.

woowahan원문

“함께 구매하면 좋은 상품” 추천 모델 고도화 | 우아한형제들 기술블로그 (새 탭에서 열림)

배달의민족은 장보기·쇼핑 서비스에서 고객의 구매 의도를 더욱 정확하게 파악하기 위해 기존의 단순 임베딩 유사도 기반 추천에서 벗어나 구매 맥락을 반영한 2단계 추천 모델로 고도화했습니다. 기존 모델의 한계였던 대체재 편향 문제와 시퀀스 정보의 부재를 해결하기 위해 그래프 기반 임베딩과 트랜스포머(Transformer) 아키텍처를 결합한 것이 핵심입니다. 이를 통해 고객이 장바구니에 담은 상품들의 순서와 관계를 학습하여, 단순 유사 상품이 아닌 실제 함께 구매할 가능성이 높은 보완재 중심의 추천 성과를 거두었습니다. ### 기존 Item2Vec 모델의 한계와 문제점 * **대체재 편향 발생**: 기존 모델은 주문 내 동시 출현 빈도를 기반으로 임베딩을 생성하여, 비슷한 구매 패턴을 가진 상품들이 가깝게 배치되었습니다. 이로 인해 우유를 담았을 때 시리얼 같은 보완재 대신 다른 브랜드의 우유가 추천되는 등 추천의 다양성이 떨어졌습니다. * **시퀀스 맥락 소실**: 상품을 장바구니에 담는 순서에는 고객의 의도가 담겨 있지만, 기존 방식은 단순히 '함께 있었다'는 정보만 활용했습니다. 예를 들어 '라면을 담고 고기를 추가한 경우'와 '고기를 담고 라면을 추가한 경우'의 차이를 구분하지 못해 정교한 추천이 어려웠습니다. * **크로스 셀링의 어려움**: 임베딩 유사도에만 의존하다 보니 동일 카테고리 내의 상품 추천에 치중하게 되었고, 장바구니 추천의 핵심 목표인 '다른 카테고리 상품 제안(Cross-selling)'을 달성하기에 한계가 있었습니다. ### Stage 1: 그래프 기반 상품 및 카테고리 임베딩 * **Node2Vec 도입**: 주문 빈도가 낮은 롱테일 상품의 데이터 희소성 문제를 해결하기 위해 Node2Vec을 활용했습니다. 이는 그래프 구조에서 Random Walk를 통해 상품 간의 구조적 관계를 효과적으로 학습하게 해줍니다. * **그래프 구조 설계**: 상품 노드와 카테고리 노드를 함께 구성했습니다. 특히 상품 간 연결(Edge)에는 단순 빈도가 아닌 '연관 규칙(Association Rule)' 기반의 가중치를 부여하여, 인기 상품에만 편중되지 않고 실제 연관성이 높은 상품들이 강하게 연결되도록 했습니다. * **콜드 스타트 방안**: 신규 상품이나 주문 이력이 적은 상품은 카테고리 노드와의 연결을 통해 초기 임베딩을 확보할 수 있도록 설계하여 시스템의 견고함을 높였습니다. ### Stage 2: Transformer 기반 시퀀스 추천 * **맥락 이해**: Stage 1에서 생성된 고품질의 임베딩을 입력값으로 사용하여, 트랜스포머 모델이 장바구니에 담긴 상품들의 순서(Sequence)를 분석합니다. * **다음 상품 예측(Next Item Prediction)**: 고객이 현재 장바구니에 담은 일련의 상품 리스트를 바탕으로, 다음에 담을 가능성이 가장 높은 상품을 예측하는 방식으로 학습을 진행했습니다. * **동적 추천 성능**: 이 과정을 통해 고객이 요리를 위해 재료를 담는 과정인지, 혹은 간식거리를 쇼핑하는 중인지 등의 실시간 맥락을 반영한 개인화된 추천이 가능해졌습니다. 단순히 "어떤 상품과 어떤 상품이 자주 팔리는가"를 넘어 "어떤 순서로 구매 결정이 이루어지는가"를 모델링하는 것이 추천 시스템 고도화의 핵심입니다. 그래프 임베딩을 통해 상품 간의 관계를 정의하고, 트랜스포머를 통해 고객의 시퀀스 맥락을 읽어내는 2단계 구조는 데이터 희소성 극복과 추천의 정확도라는 두 마리 토끼를 잡을 수 있는 실용적인 접근법이 될 수 있습니다.

figma3분 읽기큐레이션 요약

이제 정부용 피그마

Figma Make이 Figma for Government에 추가되어 연방 기관이 보안 환경에서 대화형 프로토타입을 더 빠르게 제작할 수 있게 됐다는 내용이다. Figma는 이를 통해 정책 담당자, 디자이너, 개발자, 연구자, IT 담당자가 협업하며 시민 대상 서비스를 더 일찍 검증하고 접근성과 일관성을 높일 수 있다고 설명한다. Figma for Government는 FedRAMP Moderate 인증 환경을 기반으로 하며, 일부 클라우드 인프라의 완전한 규정 준수는 2026년에 완료될 예정이지만 Make은 현재 승인된 환경에서 사용할 수 있다. ## 공공 서비스 디지털화의 복잡성 - 정부 서비스는 시민 생활과 직접 연결되므로 사용성, 접근성, 신뢰도가 중요하다. - 정책 담당자, 기술 담당자, 운영 책임자 등 다양한 이해관계자의 요구를 조율해야 한다. - 요구사항이 계속 변하고 디자인·개발 인력이 제한적이어서 정적인 목업만으로는 빠른 검증이 어렵다. - 2024년 온라인 여권 갱신 시스템 사례에서는 2025년까지 200만 명 이상이 온라인으로 갱신했으며, 이용자의 97%가 긍정적인 경험을 보고했다. - 미국 행정명령도 시민 대상 서비스에서 사용성, 접근성, 디자인 일관성의 중요성을 강조했다. ## Figma Make의 역할 - 텍스트 프롬프트를 활용해 아이디어를 대화형 프로토타입으로 구현한다. - 기존에는 정적 시안을 주고받으며 수주가 걸리던 작업을 수시간 내에 탐색할 수 있다. - 다양한 사용자 흐름과 화면 구성을 빠르게 만들어 초기 단계에서 비교·수정할 수 있다. - 시민과 실제 사용자를 개발 전에 참여시켜 업무 흐름과 가정을 검증할 수 있다. - Figma 내부의 공유 라이브러리, 디자인 패턴, 접근성 기준과 연계해 결과물의 일관성을 유지한다. ## 협업과 서비스 품질 향상 - 디자이너, 정책 담당자, 연구자, 엔지니어, IT 담당자가 하나의 실시간 협업 공간에서 작업할 수 있다. - 아이디어 구상부터 프로토타입, 사용자 테스트, 개발 전달까지의 단절을 줄인다. - 연방 혜택, 금융 커뮤니케이션, 교육 플랫폼, 우주 임무 지원 시스템, 연구 서비스 등 복잡한 공공 업무에 적용할 수 있다. - 공유 디자인 시스템을 활용해 여러 기관과 서비스에서 접근성과 시각적 일관성을 높일 수 있다. - 시민의 피드백을 더 이른 시점에 반영해 개발 후반의 수정 비용과 실패 위험을 줄일 수 있다. ## 보안 및 규정 준수 - Figma Make은 Figma for Government의 승인된 환경에서 제공된다. - Figma for Government는 FedRAMP Moderate 권한을 기반으로 정부 기관의 보안 요구사항을 충족하도록 설계됐다. - 다만 Figma의 일부 클라우드 인프라는 2026년에 완전한 FedRAMP Moderate 규정 준수를 달성할 예정이다. - 글에서는 이러한 진행 상황과 별개로 Make 자체는 현재 승인된 환경에서 사용할 수 있다고 설명한다. ## 향후 방향 - Figma는 Figma Make을 시민 중심의 공공 서비스와 기관 내부 도구를 현대화하는 핵심 기능으로 확대하려 한다. - 정부 기관이 더 많은 아이디어를 빠르게 실험하고, 사용자 검증을 거쳐 실제 서비스로 발전시키는 것이 목표다. - 국립공원관리청의 431개 국립공원 디지털 앱 사례처럼, 작은 팀도 Figma를 활용해 대규모 공공 정보 서비스를 구축할 수 있음을 강조한다. 실무적으로는 Figma Make을 최종 서비스 개발 도구라기보다, 보안 환경에서 정책·업무 흐름을 빠르게 검증하는 프로토타이핑 도구로 활용하는 것이 적절하다. 도입 전에는 조직의 데이터 분류 기준과 FedRAMP 적용 범위, 2026년 예정된 인프라 규정 준수 일정을 별도로 확인해야 한다.

원문 읽기(새 탭에서 열림)
toss원문

레거시 정산 개편기: 신규 시스템 투입 여정부터 대규모 배치 운영 노하우까지 (새 탭에서 열림)

토스페이먼츠는 20년 동안 운영되어 온 레거시 정산 시스템의 한계를 극복하기 위해 대대적인 개편을 진행했습니다. 거대하고 복잡한 단일 쿼리 기반의 로직을 객체지향적인 코드로 분산하고, 데이터 모델링을 집계 중심에서 거래 단위로 전환하여 정산의 정확성과 추적 가능성을 확보했습니다. 이를 통해 폭발적인 거래량 증가에도 대응할 수 있는 고성능·고효율의 현대적인 정산 플랫폼을 구축하는 데 성공했습니다. ### 거대 쿼리 중심 로직의 분할 정복 * **문제점:** 수많은 JOIN과 중첩된 DECODE/CASE WHEN 문으로 이루어진 거대한 공통 쿼리가 모든 비즈니스 로직을 처리하고 있어 유지보수와 테스트가 매우 어려웠습니다. * **도메인 및 기능 분리:** 거대 쿼리를 분석하여 도메인별, 세부 기능별로 카테고리를 나누는 분할 정복 방식을 적용했습니다. * **비즈니스 규칙의 가시화:** 복잡한 SQL 로직을 Kotlin 기반의 명확한 객체와 메서드로 재구성하여, 코드상에서 비즈니스 규칙이 명확히 드러나도록 개선했습니다. * **점진적 전환:** 기능을 단위별로 분할한 덕분에 전체 시스템 개편 전이라도 특정 기능부터 우선적으로 새 시스템으로 전환하며 실질적인 가치를 빠르게 창출했습니다. ### 데이터 모델링 개선을 통한 추적 가능성 확보 * **최소 단위 데이터 관리:** 기존의 집계(Sum) 기반 저장 방식에서 벗어나 모든 거래를 1:1 단위로 관리함으로써, 오류 발생 시 원인 추적을 용이하게 하고 데이터 재활용성을 높였습니다. * **설정 정보 스냅샷 도입:** 계산 결과와 함께 당시의 계약 조건(수수료율 등)을 스냅샷 형태로 저장하여, 시간이 지나도 과거의 정산 맥락을 완벽히 복원할 수 있게 했습니다. * **상태 기반 재처리:** 거래별로 독립적인 상태를 기록하는 설계를 통해, 장애 발생 시 전체 재처리가 아닌 실패한 건만 선별적으로 복구할 수 있도록 효율화했습니다. ### 고해상도 데이터 대응을 위한 DB 최적화 * **파티셔닝 및 인덱스 전략:** 정산일자 기준의 Range 파티셔닝과 복합 인덱스를 활용해 데이터량 증가에 따른 조회 성능 저하를 방지했습니다. * **조회 전용 테이블 및 데이터 플랫폼 활용:** 실시간 조회가 필요한 핵심 기능은 전용 테이블로 대응하고, 복잡한 어드민 통계는 고성능 데이터 플랫폼에 위임하여 시스템 부하를 분산했습니다. ### 배치 시스템 성능 극대화 * **I/O 횟수 최소화:** 배치 실행 시점에 가맹점 설정 정보를 전역 캐시에 로드하여 반복적인 DB 조회를 제거했습니다. * **Bulk 조회 및 처리:** Spring Batch의 `ItemProcessor`에서 개별 건별로 I/O가 발생하지 않도록 Wrapper 구조를 도입하여 묶음 단위(Bulk)로 조회하도록 개선했습니다. * **멀티 스레드 활용:** `AsyncItemProcessor`와 `AsyncItemWriter`를 도입하여 단일 스레드 제약을 극복하고 처리 속도를 비약적으로 향상시켰습니다. 이번 개편은 단순히 기술적인 스택을 바꾸는 것을 넘어, 레거시 시스템에 숨겨진 복잡한 비즈니스 맥락을 명확한 도메인 모델로 추출해냈다는 점에서 큰 의미가 있습니다. 대규모 트래픽과 복잡한 정산 규칙을 다루는 시스템이라면, 데이터를 최소 단위로 관리하고 I/O 최적화와 캐싱을 적극적으로 활용하는 아키텍처를 검토해볼 것을 추천합니다.

figma3분 읽기큐레이션 요약

ChatGPT 내 Figma 앱으로 프롬프

ChatGPT의 Figma 앱이 대화 내용을 바탕으로 Figma Buzz용 시각 자산과 Figma Slides용 프레젠테이션을 생성할 수 있도록 확장됐다. 사용자는 생성된 초안을 Figma에서 편집하고, 브랜드 스타일을 적용하며, 팀과 협업해 완성도를 높일 수 있다. 이를 통해 아이디어 구상부터 디자인 자산과 발표 자료 제작까지의 과정을 단축하는 것이 글의 핵심이다. ## ChatGPT에서 Figma 앱의 역할 확대 - 기존에는 ChatGPT 대화를 플로차트, 간트 차트 등 FigJam 다이어그램으로 변환할 수 있었다. - 새 기능에서는 대화의 프롬프트를 다음 결과물로 발전시킬 수 있다. - 포스터, 초대장, 디지털 광고, 영상 콜라주 등 Figma Buzz 자산 - 클라이언트 제안서, 내부 리뷰, 세일즈 미팅 등에 사용할 Figma Slides 프레젠테이션 - ChatGPT는 하나의 결과만 제시하지 않고 여러 시각적·구조적 변형을 제공해 사용자가 출발점을 선택하도록 돕는다. - 생성 결과는 Figma에서 계속 수정하고 협업할 수 있는 편집 가능한 초안이다. ## Figma Buzz로 브랜드 자산 제작 - 디자인 전문 지식이 없어도 다음과 같은 시각 자산의 초기 버전을 만들 수 있다. - 행사 포스터 - 소셜 미디어 광고 - 초대장 - 비디오 콜라주 - 예시로 “디자인·개발자 해커톤을 홍보할 현대적이고 미니멀한 포스터”를 요청하자, ChatGPT가 시각적 아이덴티티, 레이아웃, 문구가 다른 두 가지 안을 생성했다. - Figma Buzz로 가져온 뒤 다음과 같이 세부 조정이 가능하다. - 카피와 타이포그래피 수정 - 이미지와 색상 조정 - Figma Design의 블렌드 모드를 활용한 색상 팔레트 변경 - LinkedIn, X, Instagram 등 플랫폼별 프리셋 크기로 리사이즈 - 하나의 디자인 초안을 다양한 채널용 콘텐츠로 빠르게 확장할 수 있다는 점이 핵심이다. ## Figma Slides로 프레젠테이션 구성 - 사용자는 발표 개요를 미리 입력하거나, ChatGPT에 적절한 이야기 흐름을 제안하도록 요청할 수 있다. - 예를 들어 ‘연간 회고’ 덱을 요청하면서 다음과 같은 서사 요소를 지정할 수 있다. - 목표와 우선순위 - 지난해의 주요 성과 - 완료된 프로젝트 - ChatGPT는 이를 기반으로 여러 템플릿 옵션을 생성한다. - Figma Slides에서 선택한 안을 바탕으로 다음 작업을 이어갈 수 있다. - 생성된 이미지를 자체 제작 이미지로 교체 - 템플릿 스타일 변경 - 브랜드 가이드라인에 맞춘 색상과 글꼴 조정 - 팀원들과 슬라이드 내용 및 시각적 표현 수정 - 라이브 폴, 스탬프, 정렬 척도 같은 상호작용 기능을 활용해 발표 중 청중의 의견을 수집하고 팀 간 피드백을 주고받을 수 있다. ## 생성형 AI와 Figma 편집 환경의 결합 - ChatGPT는 아이디어를 시각화하고 초안을 만드는 역할을 한다. - Figma Buzz와 Figma Slides는 초안을 실제 업무용 결과물로 다듬는 편집·협업 환경을 제공한다. - 따라서 AI가 만든 결과물을 그대로 사용하는 것이 아니라, 다음 과정을 거쳐 완성도를 높이는 방식이다. - 여러 초안 중 적합한 방향 선택 - 브랜드 자산과 실제 데이터 반영 - 문구, 레이아웃, 타이포그래피 수정 - 팀 리뷰와 상호작용 추가 - 채널별 규격에 맞춘 변환 및 배포 준비 ## 이용 가능 범위 - EU 외 지역의 모든 ChatGPT 사용자가 Figma 앱을 이용할 수 있다. - Figma Buzz와 Figma Slides 기능은 현재 Figma 앱 내 베타 버전으로 제공된다. - 세부 지원 지역과 사용 방법은 Figma 도움말 센터에서 확인해야 한다. 실무에서는 ChatGPT를 브레인스토밍과 초안 생성에 활용하고, 최종 브랜드 적용·콘텐츠 검수·팀 협업은 Figma에서 진행하는 방식이 가장 효과적이다. 특히 소셜 콘텐츠를 여러 규격으로 제작하거나 프레젠테이션의 첫 구조를 잡는 작업에서 시간 절감 효과가 클 것으로 보인다.

원문 읽기(새 탭에서 열림)
woowahan원문

우리는 코드처럼 문화도 리팩토링한다 (새 탭에서 열림)

배달의민족 커머스웹프론트개발팀은 조직 규모 확대에 따른 복잡도와 비효율을 해결하기 위해 문화를 코드처럼 리팩토링하며 '경계 없는 파트' 구조를 도입했습니다. 특정 도메인이나 서비스에 갇히지 않고 책임을 확장하는 R&E(Responsibility & Expandability) 원칙을 통해 기술적 통합과 조직의 유연성을 동시에 확보했습니다. 이러한 시도는 서비스 간 장벽을 허물고 구성원들이 커머스 전반을 조망하는 엔지니어로 성장하며, 비즈니스 요구에 기민하게 대응하는 결과로 이어졌습니다. ### 경계 없는 파트와 R&E 중심의 조직 구성 * **전통적 분할 방식의 탈피**: 프로젝트, 페이지, 서비스(B마트/배민스토어) 단위로 조직을 나눌 경우 발생하는 리소스 불균형과 도메인 파편화 문제를 해결하기 위해 고정된 경계를 제거했습니다. * **R&E(Responsibility & Expandability) 도입**: 단순히 주어진 역할만 수행하는 R&R을 넘어, 문제 해결을 위해 업무 영역을 스스로 확장하고 동료를 돕는 'Own It' 정신을 조직 구조에 이식했습니다. * **유연한 리소스 배분**: 약 20명의 프론트엔드 개발자를 3개 파트로 나누되, 특정 도메인에 종속시키지 않고 팀 상황에 따라 업무를 배분하여 병목 현상을 최소화했습니다. ### 기술적 통합을 통한 도메인 확장성 확보 * **통합 아키텍처 구축**: B마트와 배민스토어의 상품 카드 및 상세 화면 등 유사한 UI/UX를 공통 모듈로 추상화하고 API 구조를 맞춤으로써 코드 베이스의 일관성을 확보했습니다. * **엔지니어링 역량 강화**: 개발자들이 고객 서비스의 UX부터 어드민의 데이터 흐름까지 전방위적인 도메인을 학습하게 하여, 특정 기능 담당자가 아닌 커머스 전체를 이해하는 전문가로 성장하도록 유도했습니다. * **리스크 관리(Bus Factor 개선)**: 특정 인원이 부재하더라도 다른 팀원이 맥락을 즉시 이어받을 수 있는 구조를 만들어 프로젝트 중단 위험인 '버스 팩터'를 획기적으로 낮췄습니다. ### 지속적인 개선을 위한 소통과 기록의 리팩토링 * **의사결정 자산화(ADR)**: 단순한 기획 공유인 1Pager 방식에서 나아가, 기술적 결정의 배경과 맥락을 기록하는 ADR(Architecture Decision Record)을 도입해 팀의 지식을 체계적으로 관리합니다. * **루틴의 재설계와 자동화**: 반복적인 업무나 귀찮은 과정을 레거시로 남기지 않고, 자동화와 프로세스 개선을 통해 개발 효율성을 지속적으로 높입니다. * **심리적 안전감 기반의 협업**: '불판'과 같은 자유로운 논의 문화를 통해 실패를 과정으로 수용하고, 질문이 스터디로 이어지는 선순환 구조를 구축했습니다. 성장하는 조직에서 발생하는 비효율을 방치하지 않고, 코드 리팩토링과 같은 관점에서 구조와 문화를 끊임없이 개선하는 태도가 중요합니다. 특히 도메인 간 경계를 허무는 시도는 대규모 서비스 통합이라는 복잡한 비즈니스 과제를 해결하는 데 매우 강력한 전략이 될 수 있습니다.

daangn원문

당근 데이터 지도를 그리다: 컬럼 레벨 리니지 구축기 (새 탭에서 열림)

당근마켓(당근) 데이터 가치화팀은 데이터의 흐름을 투명하게 파악하여 신뢰성을 높이기 위해 SQL 파싱 기반의 **컬럼 레벨 데이터 리니지(Column-level Lineage)** 시스템을 구축했습니다. 기존의 테이블 단위 추적으로는 해결하기 어려웠던 연쇄 장애 대응과 민감 정보(PII) 관리 문제를 해결하기 위해, 모든 BigQuery 쿼리 로그를 분석하여 데이터 간의 세부 의존 관계를 시각화했습니다. 이를 통해 당근의 복잡한 데이터 생태계에서 변경 영향도를 정교하게 분석하고 장애 복구 시간을 단축하는 성과를 거두었습니다. ### 데이터 흐름의 불투명성으로 인한 문제점 * **연쇄 실패 대응의 어려움**: 특정 테이블의 파이프라인이 실패했을 때 이를 참조하는 하위 테이블들을 즉각 파악할 수 없어, 수동으로 쿼리를 전수 조사하며 문제를 해결해야 했습니다. * **스키마 변경의 불확실성**: 원천 데이터(MySQL 등)의 컬럼을 삭제하거나 타입을 변경할 때, 해당 컬럼을 사용하는 수많은 파생 테이블 중 어떤 곳에 장애가 발생할지 예측하기 어려웠습니다. * **민감 정보 추적 불가**: PII(개인정보)가 여러 가공 단계를 거치며 어떤 테이블의 어떤 컬럼으로 흘러가는지 파악되지 않아 보안 관리 측면에서 한계가 있었습니다. ### 컬럼 레벨 리니지 도입의 기술적 의사결정 * **테이블 레벨의 한계**: BigQuery의 기본 기능을 통한 테이블 단위 추적은 뷰(View)의 기저 테이블을 정확히 파악하기 어렵고, 세부 컬럼의 변화를 감지하지 못하는 단점이 있었습니다. * **오픈소스(OpenLineage) 대비 효율성**: 다양한 조직이 각기 다른 환경(Airflow, 노트북 등)에서 쿼리를 실행하는 당근의 특성상, 모든 환경에 계측 코드를 심는 방식보다는 중앙화된 BigQuery 로그를 분석하는 방식이 운영 부담이 적다고 판단했습니다. * **SQL 파싱 접근법**: 실행된 모든 SQL의 이력이 남는 `INFORMATION_SCHEMA.JOBS` 뷰를 활용하여, 실행 환경과 관계없이 모든 쿼리로부터 의존성을 추출하는 방식을 채택했습니다. ### 시스템 아키텍처 및 추출 프로세스 * **기술 스택**: 대량의 쿼리 병렬 처리를 위해 **Spark**를 활용하고, SQL 파싱 및 AST(Abstract Syntax Tree) 분석을 위해 **sqlglot** 라이브러리를 사용하며, **Airflow**로 주기적인 추출 프로세스를 자동화했습니다. * **데이터 수집 및 분석**: 모든 GCP 프로젝트에서 쿼리 로그를 수집한 뒤, sqlglot으로 쿼리 구조를 분석하여 `Source Column -> Target Column` 관계를 도출합니다. * **엣지 케이스 처리**: `SELECT *`와 같은 와일드카드 쿼리는 테이블 메타데이터를 결합해 실제 컬럼명으로 확장하고, 복잡한 CTE(Common Table Expressions)나 서브쿼리 내의 의존성도 AST 탐색을 통해 정확하게 추적합니다. ### 데이터 지도를 통한 실질적 변화 * **정교한 영향도 분석**: 특정 컬럼 수정 시 다운스트림에서 이를 참조하는 모든 컬럼을 즉시 확인하여 사전에 장애를 예방할 수 있게 되었습니다. * **거버넌스 강화**: 데이터의 원천부터 최종 활용 단계까지의 흐름을 시각화함으로써 데이터 가계도(Data Genealogy)를 완성하고, 데이터 보안 및 품질 관리 수준을 한 단계 높였습니다. * **운영 효율화**: 장애 발생 시 영향 범위를 데이터 지도를 통해 한눈에 파악함으로써 원인 파악과 복구에 소요되는 리소스를 획기적으로 줄였습니다. 데이터 플랫폼의 규모가 커질수록 수동 관리는 불가능해지므로, 초기부터 SQL 로그를 활용한 자동화된 리니지 체계를 구축하는 것이 중요합니다. 특히 실행 환경이 파편화된 조직일수록 애플리케이션 계측보다는 쿼리 엔진의 로그를 파싱하는 접근법이 빠른 도입과 높은 커버리지를 확보하는 데 유리합니다.

line원문

Athenz 엔지니어는 왜 Kubestronaut에 도전했는가? (새 탭에서 열림)

보안 플랫폼 Athenz를 담당하는 엔지니어가 쿠버네티스 전문가의 상징인 'Kubestronaut' 칭호를 얻기까지의 도전과 성장을 다루고 있습니다. 실무에서 마주한 기술적 한계를 극복하기 위해 시작된 이 여정은 단순한 자격증 취득을 넘어 클러스터 운영, 보안, 그리고 오픈소스 거버넌스에 대한 깊은 통찰로 이어졌습니다. 결국 체계적인 학습으로 쌓은 전문 지식은 더 견고한 아키텍처를 설계하고 팀의 기술적 역량을 끌어올리는 핵심 자산이 되었습니다. **Kubestronaut과 5단계 인증 체계** * Kubestronaut은 CNCF(Cloud Native Computing Foundation)에서 수여하는 칭호로, 쿠버네티스 관련 5가지 핵심 자격증을 모두 보유한 전문가를 의미합니다. * 인증 자격은 실무 능력을 평가하는 실습형 시험인 CKA(관리자), CKAD(개발자), CKS(보안)와 지식 수준을 측정하는 KCSA, KCNA로 구성됩니다. * 특히 CKA, CKAD, CKS는 실제 터미널 환경에서 제한 시간 내에 문제를 해결해야 하므로 국제적으로 실무 역량을 입증하는 지표가 됩니다. **역할에 따른 단계별 역량 확장** * **CKAD(Application Developer):** Athenz라는 애플리케이션을 쿠버네티스에 안정적으로 배포하기 위해 가장 먼저 취득했으며, 상황 파악 및 대응 속도를 높이는 데 집중했습니다. * **CKA(Administrator):** 여러 클러스터를 관리하고 매니페스트 파일을 분석하는 능력을 배양했습니다. 쿠버네티스 내부 컴포넌트 간의 유기적인 연동 원리를 파악하여 대규모 시스템 설계의 기초를 다졌습니다. * **CKS(Security Specialist):** 보안 플랫폼 담당자로서 클러스터 자체의 보안을 책임지기 위해 도전했습니다. 취약점 분석, 네트워크 정책 설정 등 실무적인 클러스터 강화 기술을 습득한 가장 난도 높은 과정이었습니다. **전문 지식이 실무에 미친 영향** * 오픈소스 거버넌스 이해: SIG(Special Interest Groups)나 PR 규칙 등 거대 프로젝트의 운영 방식을 체계적으로 이해하게 되었으며, 이는 Athenz 프로젝트의 성장 전략 수립에 영감을 주었습니다. * 아키텍처 설계 역량: 최근 진행 중인 'BMaaS(Bare Metal as a Service) 환경에 Athenz 제공' 프로젝트에서 더 안정적이고 효율적인 구조를 설계하고 동료들을 설득하는 근거가 되었습니다. * 문제 해결 속도 향상: 실습 위주의 준비 과정을 통해 실무 환경에서 발생하는 기술적 난제를 더 빠르고 정확하게 진단할 수 있게 되었습니다. **지속 가능한 성장을 돕는 환경과 철학** * '우보천리(牛步千里)'의 자세로 매일 새벽 공부와 GitHub 커밋을 실천하며 꾸준함을 유지했습니다. * 회사의 Udemy Business 지원, 하이브리드 근무 환경, 그리고 자격 취득 비용 지원 제도 등을 적극적으로 활용하여 학습 효율을 높였습니다. * 단순 작업을 넘어 시스템 전체의 이상적인 아키텍처를 고민하고 토론하는 팀 문화가 성장의 강력한 동기부여가 되었습니다. 쿠버네티스의 방대한 생태계 앞에서 망설이고 있다면, 자격증 취득을 하나의 이정표로 삼아 도전해 보길 권장합니다. 단계별 학습을 통해 얻는 넓은 시야와 깊은 기술적 디테일은 엔지니어로서 한 단계 더 도약할 수 있는 확실한 발판이 되어줄 것입니다.

pinterest원문

핀터레스트 검색 (새 탭에서 열림)

핀터레스트(Pinterest)는 검색 결과의 관련성을 측정하기 위해 기존의 고비용 휴먼 레이블링(Human Labeling) 방식 대신 미세 조정된 대규모 언어 모델(LLM)을 도입했습니다. 이를 통해 관련성 평가의 비용과 시간을 대폭 절감하는 동시에, 측정 가능한 최소 탐지 효과(MDE)를 1.5%에서 0.25% 이하로 낮추어 정밀한 A/B 테스트 분석이 가능해졌습니다. 결과적으로 핀터레스트는 LLM의 확장성을 활용해 더욱 정교한 샘플링 설계를 구현하고 검색 품질을 지속적으로 개선할 수 있는 기반을 마련했습니다. ### 미세 조정된 LLM 기반의 관련성 예측 모델링 * **모델 구조 및 학습**: 다국어 지원이 가능한 오픈소스 LLM(XLM-RoBERTa-large 등)을 교차 인코더(Cross-encoder) 구조로 활용하여 쿼리와 핀(Pin) 사이의 의미론적 관련성을 5단계(L1~L5)로 분류하도록 미세 조정했습니다. * **풍부한 특징량(Features) 활용**: 관련성 평가의 정확도를 높이기 위해 핀의 제목과 설명뿐만 아니라 BLIP 이미지 캡션, 링크된 페이지의 제목, 사용자가 저장한 보드 이름, 그리고 해당 핀에 대해 높은 참여도를 보인 쿼리 토큰 등을 텍스트 특징으로 사용합니다. * **효율성과 성능의 균형**: Llama-3-8B 모델이 정확도는 소폭 높았으나, 추론 비용과 속도를 고려하여 30분 내에 15만 건의 데이터를 처리할 수 있는 XLM-RoBERTa-large를 최종 모델로 선택했습니다. ### 계층화된 샘플링(Stratified Sampling)을 통한 측정 민감도 개선 * **샘플링 설계의 진화**: 과거에는 휴먼 레이블링의 비용 문제로 단순 무작위 샘플링(SRS)을 사용했으나, LLM 도입 후에는 쿼리의 인기도와 관심사(Interest)를 기준으로 한 계층화된 샘플링을 도입했습니다. * **분산 감소 및 MDE 최적화**: 쿼리 간의 변동성을 통제하는 계층화된 샘플링과 표본 크기 확대를 통해 MDE를 0.25% 이하로 크게 줄였으며, 이는 실험 시스템의 민감도를 6배 이상 향상시킨 결과로 이어졌습니다. * **이질적 처치 효과(Heterogeneous Treatment Effects) 측정**: 인기도나 특정 주제별로 샘플을 나누어 분석함으로써, 전체 평균 지표에 가려질 수 있는 특정 세그먼트의 검색 품질 변화를 정밀하게 파악합니다. ### 온라인 A/B 테스트와 실험 지표 산출 방식 * **페어링된 쿼리 샘플링**: 대조군(Control)과 실험군(Treatment)에서 동일하게 발생한 쿼리를 페어링하여 샘플링함으로써 쿼리 간의 차이로 인한 변동성을 차단합니다. * **sDCG@K 지표 활용**: 관련성 레이블을 기반으로 sDCG(Scaled Discounted Cumulative Gain)를 계산합니다. 이때 관련성이 높은 문서(L5)가 무한히 공급된다고 가정하는 sDCG 방식을 사용하여 상위 25개 결과의 품질을 측정합니다. * **휴먼 레이블과의 정렬성 검증**: 검증 결과 LLM 레이블과 휴먼 레이블의 완전 일치율은 73.7%에 달하며, 1점 이내 오차 범위까지 포함하면 91.7%의 높은 일치 수준을 보여 모델의 신뢰성을 확보했습니다. 성공적인 검색 시스템 운영을 위해서는 정밀한 측정 도구가 필수적입니다. 핀터레스트의 사례처럼 LLM을 활용해 관련성 평가를 자동화하면, 기존의 비용 한계를 극복하고 더 큰 표본과 정교한 통계적 설계를 통해 미세한 순위 모델의 개선 사항까지도 정확하게 포착할 수 있습니다.

toss원문

업무 효율화, 작은 단계부터 다시 보기 (새 탭에서 열림)

토스 리서치 플랫폼 팀은 업무 효율화를 거창한 시스템 구축이 아닌, 개별 액션 단위의 세밀한 분석과 점진적인 개선 과정으로 정의합니다. 프로세스를 잘게 쪼개어 불필요한 단계를 제거하고 반복되는 작은 작업을 자동화함으로써, 팀 전체의 리소스를 절약하고 더 본질적인 리서치 업무에 집중할 수 있는 환경을 구축했습니다. 이를 통해 효율화는 완벽한 결과물을 한 번에 만드는 것이 아니라, 사소한 불편함을 꾸준히 덜어내는 과정임을 증명했습니다. ### 액션 단위의 정밀한 현황 파악 * 프로세스를 단순히 단계별로 나열하는 '겉핥기식 정리'에서 벗어나, '누가, 어디서(툴/채널), 무엇을, 왜' 하는지 구체적인 개별 액션으로 쪼개어 분석합니다. * 시간, 담당자, 도구 등 일관된 기준을 적용하여 과정을 정리해야 예외 상황을 명확히 파악하고 읽는 사람이 오해 없이 이해할 수 있습니다. * 가끔 발생하는 예외 케이스까지 함께 정리함으로써 기존 프로세스의 부족한 점을 보완하는 힌트를 얻습니다. ### 본질적인 질문을 통한 문제 정의 * 각 액션에 대해 "이 작업이 왜 필요한가?"라는 질문을 던져, 목적이 불분명한 단계는 과감히 삭제하고 꼭 필요한 단계는 더 쉬운 방법을 모색합니다. * 예를 들어, 인터뷰 일정 생성은 자동화하되 팀원들이 이미 캘린더를 잘 확인한다면 별도의 메시지 전송 단계는 생략하는 식의 의사결정을 내립니다. * 개별적으로는 몇 초 걸리지 않는 사소한 업무라도 여러 사람이 반복하면 큰 비효율이 되므로, 반복되는 작은 액션을 줄이는 데 집중합니다. ### 이해관계자 중심의 우선순위 선정 * 우선순위를 정할 때는 자신의 리소스나 시급성뿐만 아니라 '많은 사람에게 영향을 미치는지', '다른 업무에 연관되는지', '소요 시간이 얼마나 긴지'를 종합적으로 판단합니다. * 내 업무에는 큰 영향이 없더라도 운영 담당자나 협업자의 더블 체크 시간을 줄여줄 수 있다면 해당 업무를 우선 개선 대상으로 삼습니다. * '내 기준'이 아닌 이 일에 영향을 받는 '모든 이해관계자'의 관점에서 임팩트를 측정하는 것이 핵심입니다. ### 리스크를 최소화하는 점진적 해결책 적용 * 처음부터 모든 과정을 완벽하게 자동화하려 하기보다, 현재 기술로 가능한 작은 부분부터 개선을 시작합니다. * 새로운 방식 도입이 우려될 경우 전체에 바로 적용하기보다 일부 케이스에만 테스트 기간을 두어 점진적으로 적용하며 피드백을 수렴합니다. * 완벽한 준비보다는 '언제든 이전 방식으로 돌아갈 수 있다'는 유연한 사고를 바탕으로 작은 실험을 반복하며 해결책을 정교화합니다. 업무 효율화가 막막하게 느껴진다면 지금 하고 있는 일을 클릭, 입력, 공유와 같은 최소 단위로 쪼개보세요. 거대한 시스템을 새로 만들지 않아도, 매일 반복되는 자잘한 수고를 덜어내는 것만으로도 팀 전체에 체감되는 큰 변화를 만들어낼 수 있습니다.