요약: 경쟁사가 아닌 동료로, 카카오페이와 토스의 기술지원(TAM) 담당자들이 처음 한자리에 모였습니다. 안녕하세요! 카카오페이 기술지원팀과 기술지원길드를 이끌고 있는 제임스입니다. TAM(Technical Account Manager, 기술지원)이라는 직무로서 같은 이름으로 일하지만,…
프론트엔드 개발자 혹은 개발자라면 누구나 한 번쯤 이런 순간을 마주합니다. “이거 공통으로 빼야할까?” 입사 4개월 차 차차와 3년 차 페페 역시 같은 질문에서 대화를 시작했습니다. 입사 4개월 차인 차차가 처음 레포지토리를 열었을 때, 가장 먼저 든 생각은 단순했습니다. “공통 컴포넌…
요약: 2026년 카페개페(카카오페이 개발자 페스티벌) 준비 과정부터 생생한 현장까지 함께 살펴보는 글입니다. 어떤 고민과 아이디어로 올해 카페개페를 준비했는지, 그리고 사내 크루들 반응은 어땠는지 자세히 다루었습니다. AI 세션, 네트워킹, 온라인 참여형 게임, 데모스테이션 등 다양한…
요약: 수억 건의 대량 데이터를 Spring Batch로 처리하며 발생한 OOM(Out of Memory) 문제를 Partitioning, Cursor 기반 ItemReader, Bulk Write를 활용해 해결한 과정을 공유합니다. 💡 리뷰어 한줄평 yun.cheese Spring B…
요약: 에이전틱 코딩은 개발 생산성을 높여주지만 프로젝트가 고도화될수록 무분별한 코드 생성과 환각 문제가 발생하여 카카오페이 AI 플랫폼 팀에서는 스펙 기반 개발 방법론인 SDD(Spec-Driven Development)를 도입하게 되었습니다. SDD는 팀 단위 협업에서 일관성과 체계…
요약: 카카오페이는 전사 프론트엔드 표준 패키지 매니저를 Yarn Berry에서 pnpm으로 전환했습니다. 이 글은 과거의 해결책이었던 Yarn Berry가 변화된 환경에서 새로운 병목이 된 배경과, 이를 해결하기 위해 pnpm을 선택한 과정을 담고 있습니다. 단순히 두 기술의 기능을…
요약: 배포 직후 발생하는 DB Connection Timeout과 응답 지연 문제를 해결하기 위해, 단순한 설정 변경을 넘어 원인을 분석하고 JVM 웜업(Warm-up) 을 도입한 과정을 공유합니다. 배포 직후 성능 저하 문제를 어떻게 해결했는지, 그리고 고민 과정과 해결책은 무엇이었…
안녕하세요. 카카오페이증권 DevOps 팀 Sean.baek (션), Lina.a (리나)에요. 우리는 전사 Cloud, redis, kafka, 로깅 플랫폼, AI Chatbot(춘시리), FinOps와 다양한 오픈소스 플랫폼을 운영하고 있어요. 2022년 9월에 입사했을 때, 하루에…
요약: 레포지토리의 복잡한 구조적 문제를 해결하기 위해 FSD(Feature-Sliced Design) 아키텍처를 도입한 경험과 그 과정에서 했던 고민들을 공유합니다. 💡 리뷰어 한줄평 pebble.stone 아키텍처에 정답은 없지만, 팀이 직면한 pain point를 명확히 진단하고…
요약: 카카오페이는 기존 AI 시스템의 반복적인 수작업과 비효율 문제를 해결하기 위해 AI 플랫폼 구축을 결정했어요. 표준화, 확장성, 통합을 핵심 가치로 삼아 Kubeflow 기반 플랫폼을 도입하고, 고성능 GPU(H200, MIG) 및 하이브리드 클러스터 등 기술적 난제를 극복하며…
요약: 누구나 가상 기기를 활용해 페이 서비스를 쉽게 테스트할 수 있는 플랫폼, 멀티버스를 소개합니다. 💡 리뷰어 한줄평 dean.cool 크루마다 사용 목적은 다르지만 필요는 같은 도구, 그게 바로 멀티버스 dale.hyuk 협업하는 동료도 고객으로 생각하고 제품을 만든 게 인상 깊었…
현재 우리 서비스 상태 관리는 고객 관점에서 잘 되고 있나요…? 🤔 이 물음에서 “핑크와드” 라는 프로젝트가 탄생하게 되었습니다. 카카오페이증권에서는 모니터링, 옵저버빌리티, 트레이싱같이 기술 영역에서의 서비스 상태 가시화는 고도화되어 있지만, 상대적으로 “고객 관점에서의 서비스 상태”…
요약: LLM이 사용자의 질문을 받아 답변을 생성하기까지의 내부 동작 과정을 6단계(토큰화, 임베딩, 위치 인코딩, 트랜스포머 & 어텐션, 예측, 디코딩)로 나누어 설명합니다. 💡 리뷰어 한줄평 snow.y LLM의 내부 원리를 너무 깊지 않게, 딱 필요한 만큼만 알고 싶은 개발자를 위…
요약: 이 글에서는 AWS Gen AI를 활용한 안면 인식 기반 초개인화 키오스크를 개발해 3위를 수상한 경험을 공유합니다. Face Five팀은 ‘무엇을 개발할지’에 집중해 고객 얼굴로 식별, 메뉴 추천, 매출 분석이 가능한 솔루션을 설계했습니다. 또한, AWS Bedrock과 Ope…
요약: 카카오페이의 금융 AI 컨시어지 ‘페이지니‘는 사용자의 위치·시간·이용 기록을 분석하여 사용자에게 적합한 금융 서비스와 혜택을 제안하는 서비스입니다. 음성 및 텍스트 입력을 모두 지원하며, AWS Bedrock 기반의 멀티 에이전트 구조로 ‘전체 서비스 추천‘과 ‘가맹점 혜택 추…
요약: 카카오페이 CreditClan 팀은 2025년 해커톤에서 ‘AI 대출 코치’ 서비스를 개발했습니다. 이 서비스는 사용자가 대출을 알아보는 과정에 대한 불안감을 해소하고, 정보의 불균형을 줄이는 데 초점을 맞췄습니다. 이 과정에서 사용자가 주체적으로 대출 과정을 이해하고 선택할 수…
요약: 이 글에서는 카카오페이가 AI 에이전트와 결제 API를 연동하기 위해 Model Context Protocol(MCP)을 도입하고, 멀티 프레임워크를 지원하는 MCP Agent Toolkit을 개발한 과정을 다룹니다. 기존 OpenAI function calling이나 LangC…
안녕하세요, 카카오페이손해보험 플랫폼기술팀의 휴입니다. 카카오페이손해보험은 고객의 데이터를 안전하게 보관하기 위해 초기부터 암호화 모듈을 지속적으로 보강하며 운영해왔습니다. 하지만 암호화 모듈의 의존 라이브러리 대부분이 초창기 버전에 머물러 있었습니다. 최근 애플리케이션들이 최신 버전으…
요약: 금융 용어 사전 서비스 ‘금.용.사‘는 어려운 금융 용어를 AI가 쉽게 설명해 주는 것을 목표로 하며, 단순히 용어만 해설하는 게 아니라 관련 금융 상품도 추천합니다. ‘금.용.사’는 보험뿐만 아니라 향후 대출, 카드, 투자 등 다른 금융 영역으로도 확장 가능하도록 설계했습니다.…
요약: 카카오페이 해커톤에서 AI 채용 도우미 ‘AIVA’를 만들며, 채용 과정에서 생산성을 올리는 방법을 고민했습니다. 이력서와 과제를 LLM으로 분석하고, 실시간 코드 실행 환경까지 구현하며 다양한 실험을 시도해 보았습니다. 개발 과정에서 프롬프트 설계나 캐싱, 출력 제어 등 실제…
요약: 이 글에서는 Next.js 기반의 SSR 환경에서 겪은 CORS 에러와 Version Skew 문제를 해결한 실무 경험을 공유합니다. 충전 서비스 개발 중 발생한 에러를 다양한 가설과 테스트를 통해 원인을 파악하고, crossOrigin, dynamic import, Sessio…
안녕하세요. 카카오페이증권 DevOps 팀의 벨입니다. 본 글은 다양한 Kubernetes 플랫폼에 서비스를 분산 배포하고, 클라우드 종속성을 줄이면서 장애 상황에도 유연하게 대응할 수 있는 구조를 통해 고가용성과 안정성을 동시에 확보한 클러스터 운영 경험을 공유합니다. 클라우드 환경에…
요약: 카카오페이의 여신업무 내재화 프로젝트를 DDD를 적용하여 구축한 내용을 공유하고자 합니다. DDD의 개념을 간략하게 다루고 실무에 어떻게 적용하였는지 비즈니스 도메인을 설계한 과정들을 다루고, Spring Multi Module 환경에서 도메인 Entity 관리에 대해 코드레벨로…
요약: 이 글은 2025년 카카오페이-AWS 해커톤에 참가하여 AI 기반 대출 음성 상담 챗봇 서비스를 개발한 팀의 이야기입니다. 비대면 금융 환경에서 개인화된 상담의 부재라는 문제의식에서 출발하여, 음성 상담을 통해 사용자의 상황을 파악하고 맞춤형 대출 상품을 추천하는 챗봇을 구현했습…
요약: 이 글은 카카오페이 제 2회 해커톤에서 2등을 수상한 모즈(MOZ) 팀의 프로젝트를 다룹니다. 모즈 팀은 거래 내역을 특별한 의미와 감성을 담은 기록으로 변환하고, 자연어 기반 검색을 통해 쉽게 금융 관리를 할 수 있는 서비스를 만들었습니다. 주요 기능으로는 거래 내역에 의미 있…
요약: 이 글은 카카오페이에서 실시간 OLAP인 Apache Pinot를 운영한 노하우를 다룹니다. 주요 내용으로는 Pinot 클러스터 구성, 장애 복구 아키텍처, 실시간 Upsert 테이블 운영 노하우가 있습니다. 💡 리뷰어 한줄평 coco.nut Apache Pinot 클러스터 구성…
요약: 이 글은 애플리케이션에서 JDBC의 PreparedStatement가 실제로 어떻게 동작하는지를 분석한 글입니다. 특히 Hibernate, HikariCP, MySQL Connector/J 같은 다양한 추상화 계층에서 PreparedStatement가 어떻게 설정되고 동작하는지를…
요약: 이 글에서는 처음으로 오프라인에서 진행한 카카오페이 해커톤, 2025 카페톤 일정부터 심사 과정, 최종 수상작까지 카페톤 현장의 모든 것을 공유합니다. 💡 리뷰어 한줄평 dan.dy 사내 해커톤이 어떻게 진행되는지 궁금하시다면 이 글을 통해 생생한 현장으로 들어가 보시죠! 안녕하…
안녕하세요, 카카오페이손해보험 플랫폼기술팀의 리즈입니다. 여러분은 데이터베이스 엔진을 몇 가지나 알고 계시는가요? 최초의 데이터베이스인 IDS가 1960년대에 설계1된 이후, 2025년인 지금까지 MySQL, Oracle, MongoDB, Redis, PostgreSQL 등 다양한 데이…
요약: 비효율적인 업무 프로세스 개선을 통해 생산성 향상을 꾀하는 생산성플랫폼 팀의 개발자 플랫폼 구축 이야기를 공유합니다. 안녕하세요. 카카오페이증권 기술플랫폼 조직에서 엔지니어링 생산성을 위한 업무를 하고 있는 비토, 타키, 이안입니다. 저희 조직은 비즈니스 개발과정에서 필연적으로…
요약: 이 글에서는 Effect System을 활용하여 사이드 이펙트를 명시적으로 관리하고 조합하는 방법을 다룹니다. 사이드 이펙트로 인해 코드의 예측 가능성이 떨어지고 유지보수가 어려워지는 문제를 해결하기 위해, Scala의 Cats Effect와 ZIO, Kotlin의 suspend…
요약: 이 글에서는 이전 포스팅에 이어 Given절 작성의 재사용성과 모듈 간 공유를 극대화하여 복잡하고 반복되는 셋업 코드를 단순화하는 방법을 다룹니다. DomainFixture와 DomainIoFixture으로 공통된 테스트 데이터를 재활용하고, java-test-fixtures 라…
요약: AWS는 re:Invent 2024에서 Nitro System 기반의 다양한 EC2 인스턴스, x86 대비 고효율의 Graviton 프로세서, AI 특화 칩셋 Trainium 등 컴퓨팅 성능 향상과 비용 절감에 초점을 맞춘 최신 기술을 선보였습니다. Graviton은 높은 성능과…
요약: 이 글에서는 AWS re:Invent 2024의 SageMaker 및 Bedrock 업데이트를 공유합니다. SageMaker는 AI 모델 훈련 및 자원 관리 효율성을 향상했고, Bedrock의 다양한 기능으로 AI 서비스 개발을 최적화했습니다. 주요 업데이트로는 Hyperpod…
요약: 이 글은 AWS re:Invent 2024에서 발표한 금융 회사의 생성형 AI 서비스 구축 사례를 소개합니다. 헤지펀드 브릿지워터는 AI를 활용해 시장분석을 자동화하고, 미쓰비시 UFJ 은행은 고객 맞춤형 금융 상품 제공을 위해 AI를 도입했습니다. 암호화폐 거래소 Crypto.…
요약: 이 글은 Ktor 도입을 위해 시도했던 과정을 공유합니다. Ktor의 다양한 플러그인을 활용하여 팀의 개발 스펙에 맞게 서버를 구성하고, 비동기 처리와 성능 최적화를 경험한 내용을 다루며, 이를 통해 Ktor가 팀 내에서 충분히 활용 가능하다는 확신을 얻은 과정을 설명합니다. 💡…
요약: AWS re:Invent 2024에서 새롭게 공개한 Amazon Aurora DSQL과 Amazon S3 Tables를 소개합니다. Amazon Aurora DSQL은 사실상 무제한의 확장성과 높은 가용성을 제공하며 인프라 관리가 필요하지 않은 서버리스 분산 SQL 데이터베이스입…
요약: 이 글은 배포 일정과 릴리즈를 분리하고 유저 타겟팅을 적용하는 등의 이점을 가진 피처 플래그를 개발하며 직면한 문제 해결 여정을 다룹니다. 어드민 서버와 서빙 서버를 분리했지만, 데이터 동기화 문제가 발생했습니다. 이를 해결하기 위해 Redis Pub/Sub을 활용하고, 안정성을…
안녕하세요. 카카오페이손해보험 고객서버개발팀 존그립입니다. IntelliJ 전용 Vim 플러그인인 Ideavim은 매우 활발하게 업데이트가 진행되고 있어 가끔 기능을 확인할 때마다 흐뭇한 마음으로 놀라곤 합니다. 얼마 전에는 별다른 생각 없이 set-commands 문서를 읽다가 :!…
요약: 이 글은 Spring 기반 멀티모듈 프로젝트에서 환경변수를 설정하는 다양한 방법을 비교하고, 가장 적합한 방식을 선택하는 과정을 설명합니다. Spring 환경에서 spring.config.import, spring.profiles.include, @PropertySource, @…
요약: 카카오페이 클라이언트팀 스위리가 MapKit 프레임워크를 활용해 위치 기반 서비스 ‘포춘레이더’와 ‘내 주변 혜택’을 개발한 경험을 공유합니다. 본 글은 MapKit 활용 시 자주 마주할 문제와 해결 방안을 제시하며, 비슷한 고충을 가진 개발자들에게 유용한 인사이트를 제공합니다.…
안녕하세요. 카카오페이증권 DevOps 팀의 테라입니다. 본 글은 사내 지식저장소를 구축하기 위해 Amazon Bedrock과 슬랙봇을 통합하고 고도화한 경험을 공유하기 위해 작성되었습니다. 본 프로젝트는 ‘siri’ 라는 이름으로 (Apple의 siri가 모티브인 것 맞습니다.), 카…
요약: 이 글은 JPA의 @Transactional 사용과 데이터베이스 쿼리 성능 간의 관계를 다루며, 기본 설정의 문제점과 개선 가능성을 탐구합니다. JPA의 편리함이 성능에 영향을 미칠 수 있음을 지적하며, 기본 설정을 되돌아보고 성능 이슈 발생 전에 최적화 방안을 모색할 필요가 있…
요약: Hexagonal Architecture를 도입했다가 제거한 경험을 통해 해당 아키텍처의 장단점과 실질적인 문제점을 다뤘습니다. 완벽해 보이는 Hexagonal Architecture도 상황에 따라 약점이 될 수 있음을 강조하며, 이를 적절히 활용하는 방법의 중요성을 전달합니다.…
요약: 이 글에서는 분산 시스템에서 로컬 캐시를 설계하고 구현한 경험을 공유합니다. 캐시의 기본 개념부터 로컬 캐시와 글로벌 캐시의 차이점, 데이터 정합성을 유지하기 위한 메시징 시스템 활용 방법을 세부적으로 다루며, 각 환경에 적합한 캐시 전략 선택의 중요성을 강조합니다. 💡 리뷰어…
요약: 카카오페이 정보플랫폼팀이 다양한 데이터를 조합하고 처리하기 위해 Spring Cloud Stream을 활용한 경험을 공유합니다. Spring Cloud Stream의 구조적 이점과 실제 구현 사례를 통해 활용 방안을 구체적으로 전달하고자 합니다. 💡 리뷰어 한줄평 bri.ghte…
요약: 이 글은 Java와 Kotlin 환경에서 SLF4J를 활용한 로깅 방식을 비교하며, 불필요한 문자열 연산 문제를 다룹니다. Parameterized Logging과 kotlin-logging을 활용한 대안을 제시하며, 성능과 가독성을 모두 고려한 최적의 로깅 방법을 탐구합니다.…
요약: 코틀린 코루틴을 사용할 때, 특정 코루틴에서 발생한 예외가 전체 코루틴 계층에 전파되어 시스템이 불안정해질 수 있습니다. 이 글에서는 구조화된 동시성 원칙을 바탕으로 코루틴 예외 전파와 취소의 동작 원리를 설명하고, 안전하게 예외를 처리할 수 있는 다양한 방법을 소개합니다. 💡…
요약: 카카오페이는 FDS(Fraud Detection System)에 지속 성장하는 ML 모델을 도입하여 빠르게 변화하는 사고 패턴에 효과적으로 대응하고 있습니다. 끊임없이 발생하는 새로운 유형의 사고에 신속하게 대응하기 위해, ML 모델을 지속적으로 학습하고, 데이터 변화에 스스로…
안녕하세요, 카카오페이손해보험 백엔드 엔지니어 루카스예요! 지금 읽고 계신 글은 if(kakaoAI)2024에서 공유한 내용입니다. 그러면서도 우리가 이 비즈니스를 시작하면서 추구했던 방향에 대한 이야기이기도 해요. if kakao 세션 주제에 대한 고민이 있었어요. ‘기술적으로 깊게…
안녕하세요. 카카오페이손해보험 플랫폼기술팀의 달리오입니다. 이번 주제는 제가 if(kakaoAI)2024에서도 공유했던 내용인데요. 발표 시간 제약 때문에 미처 전달하지 못했던 기술적인 내용을 좀 더 깊게 공유해 보고자 이번 글을 작성합니다. 🔗 발표 영상 보러 가기: 문서 검토는 이제…
요약: 이 글은 카카오페이에서 코드 가독성과 효율성을 높이기 위해 MVVM 아키텍처를 적용한 사례를 소개합니다. 기존의 RIBs 및 TCA 아키텍처에서 커스텀 MVVM 방식으로 전환한 과정을 설명하며, 비즈니스 로직 구현 방법을 자세히 다룹니다. 유연한 설계와 높은 생산성을 목표로 유지…
요약: 이 글은 성능 테스트 존 도입 사례와 주요 기능을 다룹니다. 홈화면, 관리콘솔, 모니터링 대시보드 등을 이용하여 테스트 상태를 실시간으로 확인하고, 성능 병목을 효율적으로 파악할 수 있습니다. 이 과정에서 개발 및 운영 환경에서의 성능 최적화 가능성을 탐구하며, 성능 테스트의 중…
요약: 카카오페이 서버 개발자 엘모는 if(kakaoAI)2024에서 지연이체 서비스를 Kafka 기반으로 재설계한 경험을 발표하고, 이를 기술 블로그에 정리했습니다. RabbitMQ에서 Kafka로의 전환 과정에서 아키텍처 설계, 중복 방지, 성능 최적화 등의 문제를 해결하며 처리 속…
안녕하세요. 카카오페이증권 DevOps팀의 스티브입니다. 이번 글에서는 if(kakaoAI)2024에서 발표한 “Kubernetes 지능형 리소스 최적화 (feat. Dr.Pym Project 공유)” 세션의 내용과 함께 발표 시간 상 하지 못했던 이야기들까지 함께 공유하려고 합니다.…
요약: 이 글은 카카오페이 Developer Reltaions 관점에서 if(kakaoAI)2024 개발자 컨퍼런스를 준비 과정을 소개합니다. 지난 2022년 컨퍼런스 회고를 바탕으로 발표자 리허설과 스피치 코칭을 강화하고, 발표 자료와 디자인 협업을 체계화해 발표자의 역량을 최대한 발…
요약: 코틀린 함수형 프로그래밍에 매료된 서버 개발자 스노우는 실무 적용을 위해 여러 시행착오의 길을 거쳤습니다. 실무에 적용하기 어려운 추상적 이론 대신, 간단한 기법에서 시작해 점차 고도화된 방식을 도입하며 많은 인사이트를 얻었습니다. 이 글은 함수형 프로그래밍의 기본 원칙부터 고차…
요약: 코루틴과 Virtual Thread는 애플리케이션에서 동시성 처리 성능을 향상시키기 위한 핵심 기술입니다. 두 기술은 각자의 장단점을 가지고 있으며, 개발 환경과 프로젝트 특성에 따라 적절한 기술을 선택하여 사용할 수 있습니다. 이번 글에서 웨인은 코루틴과 Virtual Thre…
요약: 이 글은 결제탭 서버의 Server Driven UI(SDU) 방식을 설명하며, 안정적이고 유연한 구조로 결제탭의 다양한 콘텐츠를 효율적으로 서빙하는 방식을 다룹니다. 결제탭은 MSA 구조와 비동기 API 호출을 활용해 사용자 맞춤형 혜택과 기능을 제공하며, Row 설정을 통해…
요약: 이 글은 카카오페이 혜택 서비스를 개발하며 발생한 동시성, DB 성능, 멱등성 이슈와 그 해결 방법을 다룹니다. 동시성 문제는 Redis 분산 락을 사용해 해결하고, DB 성능 문제는 트랜잭션 분리로 해결했습니다. 또한, 멱등성 문제는 페이포인트 지급 이력을 활용한 멱등성 보장…
요약: 이 글은 ELK 환경에서 이슈 트래킹을 정교하게 개선하는 전략을 다룹니다. Part3에서는 특히 Multi Thread Context를 활용하여 배치성 API와 비동기 로직에서 발생할 수 있는 문제를 해결하는 방법을 설명합니다. 기존의 단일 Thread Context 기반 이슈…
요약: 이 글은 ELK 환경에서의 이슈 트래킹을 개선하기 위해 ThreadContext와 Sentry를 적극 활용하는 방법을 설명합니다. Part1에서 다룬 문제점들, 특히 로그 추적의 복잡성과 부족한 정보 문제를 해결하기 위한 구체적인 전략을 제시하며, 예외 발생 시 더 빠르고 정교하…
요약: 이 글은 ELK 환경에서 ThreadContext와 Sentry를 사용하여 이슈 트래킹 전략을 개선하는 방법을 다룹니다. Part 1에서는 RequestLoggingFilter를 통해 요청 로깅을 설정하고, Logstash와 ElasticSearch를 사용해 로그를 처리하는 방법…
요약: 이 글은 카카오페이 알림피드 서비스에서 발생한 장애 원인과 해결 과정을 다룹니다. 알림피드의 랜딩 URL을 가공하는 중 발생한 문제를 분석하며, Java의 URI 클래스와 Spring의 UriComponentsBuilder 클래스 간의 불일치가 장애의 원인이었음을 설명합니다. 이…
요약: 이 글은 카카오페이에서 DevSecOps를 위해 어떻게 Sonarqube를 활용하고 있는지 쉽고 재미있게 설명합니다. 개발, 보안, 운영을 통합하여 처음부터 끝까지 보안을 고려하는 개발 방법론 DevSecOps 그리고 코드 품질을 관리하고 보안 취약점을 식별해 기술 부채를 줄이는…
요약: 서버 개발자 카펀은 코틀린을 사용하여 안정적인 백엔드 서비스를 개발하고 운영합니다. 직접 코틀린을 사용하며 느낀 값 검증 객체 생성, 안전한 null 처리, 확장 함수를 사용한 유틸리티 라이브러리 제작, 효율적인 단위 테스트 작성 등 코틀린의 매력을 소개합니다. 안정적인 웹 서비…
안녕하세요. 카카오페이증권 DevOps 팀의 데릭입니다. 저희 팀은 Gateway, Kubernetes, CI/CD Pipeline, 로깅 등 다양한 업무를 담당하고 있습니다. 이 글은 Gateway 전환 프로젝트에서 Cilium Egress Gateway를 도입한 이유와 적용 방법을…
요약: 이 글은 쿠버네티스 두 가지 주요 특징인 Hub and Spoke 패턴과 선언적 동작 방식을 소개하고, 실제 애플리케이션이 쿠버네티스에서 배포되는 과정을 레스토랑 역할 분담에 비유하여 설명합니다. API server, etcd, Controller Manager, Schedule…
요약: 사내 슬랙봇 ‘앙몬드’는 분산 시스템 환경에서 운영되며, 이 과정에서 발생한 동시성 문제와 탭 고정 문제를 해결하기 위해 데이터베이스 트랜잭션, Lock, Redis 등을 활용했습니다. 이러한 경험을 통해 프론트엔드 개발자로서 서버 측 동작 원리와 분산 시스템 특성을 이해하고,…
요약: 사내 기술 공유 활성화를 위해 사이드 프로젝트로 시작한 슬랙봇 ‘앙몬드’는 비효율적인 복붙 업무 자동화, TIL 기록 및 공유, 명예의 전당 등 다양한 기능을 제공하여 쉽고 재미있게 기술 공유에 참여할 수 있도록 돕습니다. 앙몬드 개발 과정에서 겪었던 문제 해결 경험과 슬랙봇 개…
요약: 쿠버네티스 컨트롤 플레인은 모든 통신을 API Server를 중심으로 처리합니다. 이러한 Hub and Spoke 패턴은 데이터 일관성과 시스템 확장성을 확보합니다. 또한 사용자가 원하는 상태를 정의하면 쿠버네티스가 알아서 이를 유지하는 선언적 방식으로 운영되어 관리 부담을 줄여…
요약: 실무에서 테스트 코드 작성 시 복잡한 데이터 셋업으로 인해 테스트의 주요 관심사에 집중하기 어려운 문제가 발생할 수 있습니다. 이를 해결하기 위해 JSON 파일이나 SQL 스크립트를 활용하여 데이터 셋업을 효율적으로 관리하고, 테스트 코드의 복잡성을 줄이는 방법을 소개했습니다.…
요약: 카카오페이는 서비스 안정성 향상을 위해 오픈소스 MockServer 기반의 사내 공통 목 서버를 개발했습니다. 이 목 서버는 독립적인 테스트 환경 제공, 외부 서비스 의존성 최소화 등의 기능을 통해 개발 및 테스트 효율성을 높였으며, 현재 29개 조직에서 72개의 목 서버를 사용…
요약: 카카오페이의 테크니컬 프로젝트 매니저(TPM) 세 분의 이야기와 그들의 역할을 소개합니다. TPM이 어떤 업무를 맡고 있는지, 핀테크 분야에서 TPM으로서 어떤 경험을 했는지, 그리고 TPM을 꿈꾸는 분들께 도움이 될 만한 조언을 담았습니다. 이 글을 읽으며 TPM의 중요성과 매…
요약: 카카오페이 머니플랫폼팀이 Virtual Thread를 적용한 경험을 공유합니다. 기존의 Java Platform Thread 모델을 Virtual Thread로 전환하여 성능을 개선하고 자원 소모를 줄였습니다. 성능 테스트 결과 긍정적인 변화가 있었지만, 모든 라이브러리가 Vir…
요약: 카카오페이 SRE팀 RE파트의 배포 프로세스 개선 사례를 소개합니다. 기존의 수동 작업과 알림 부재 문제를 자동화하여 상시 배포 인원을 10명에서 3명으로 줄이고, 다양한 프로젝트를 성공적으로 수행했습니다. 그러나 그라운드 룰의 혼란, 배포 프로세스 개선 의지 약화, 데이터 수집…
요약: 카카오페이의 마이데이터 플랫폼 개발팀은 사용자 금융 데이터의 증가하는 수집 이력을 관리하기 위해 기존 시스템을 재설계했습니다. 주요 문제는 높은 쿼리 처리 속도(QPS), 부족한 데이터 저장 용량, 그리고 통계 배치의 긴 수행 시간이었습니다. 이를 해결하기 위해 데이터 분산 저장…
요약: 이번 4편에서는 개발자 관점에서 AI를 장착했을 때 어떻게 파워풀한 퍼포먼스를 낼 수 있을지 알아본 과정을 소개합니다. Google AI 모델 Gemini를 실무에서 활용할 수 있는 다양한 방법(코드 분석, 언어 변환, 테스트 코드 작성, 아키텍처 설계)을 살펴볼 수 있습니다.…
요약: 이번 3편에서는 기업 데이터 관점에서 Generative AI와 Google Cloud의 강점을 소개합니다. Generative AI의 이해를 돕기 위해 데이터 유형별 사용 패턴과 Google Cloud의 생태계를 설명합니다. Google Cloud의 다양한 제품과 Generat…
요약: 이번 2편에서는 데이브가 Google Cloud Next 2024 컨퍼런스 참석 후 인상 깊었던 내용을 전달합니다. Serverless는 초기 투자 비용이 적고 효율적인 리소스 사용을 강조하지만 Cold Start 문제를 안고 있습니다. Cold Start 문제를 완화하기 위한…
요약: 1편에서는 Google Cloud Next 2024 컨퍼런스의 주요 키노트와 Gemini를 활용한 구글 클라우드 기술을 다룹니다. 컨퍼런스에서는 “The new way to cloud”라는 슬로건 아래 AI 중심의 구글 클라우드 스택과 고성능 하드웨어, 멀티모달 처리 및 고급 추…
요약: 도리는 R2DBC 커넥션 풀이 애플리케이션 시작 시 초기화되지 않은 문제를 해결하는 과정을 공유합니다. 당연하게 생각했던 커넥션 풀이 기대와는 다르게 동작하는 것을 발견했고, r2dbc-pool 내부 코드 분석으로 사건 조사를 시작했습니다. 이 과정에서 설정을 통해 명시적으로 r…
요약: 댄은 2022년부터 ‘어울림’이라는 키워드를 중심으로 다양한 개발 문화 활동을 운영해왔습니다. 2024년에는 ‘Autonomous’ 키워드를 중심으로 개발 문화 기여에 자부심을 느끼도록 새로운 방향을 모색 중입니다. 모든 과정은 카카오페이를 기술 문화가 매력적인 회사로 만드는 데…
요약: 2편에서는 트리와 별에 눈이 쌓이는 애니메이션을 다룹니다. 별에 눈이 쌓이는 애니메이션은 ‘공 튀기기’ 기법을 활용하여 ray casting을 통해 구현하며, 별과의 교차점을 찾아 눈을 멈추게 합니다. 트리의 경우, 곡선에 눈이 쌓이는 문제를 해결하기 위해 정사영 기법을 적용하여…
요약: 데일은 대규모 멀티 모듈 프로젝트에서 앱 용량 관리 중요성을 강조합니다. 프로젝트 복잡성이 증가하면서 리소스를 관리하는 게 중요해졌고, 이에 따라 리소스 모듈을 도입하였습니다. 특히, 앱 용량이 갑자기 증가한 사례를 해결하는 과정에서 리소스를 효율적으로 사용하면서도 중복을 줄이는…
요약: 카카오페이 자동차보험 비교 서비스 개발 과정에서 사용자 입력의 유효성 검증과 테스트 코드 작성을 강조합니다. 클라이언트와 서버에서 입력값을 검증하며, Kotlin Contracts를 활용하여 서버에서의 유효성 검증을 강화합니다. 또한, 커스텀 익셉션을 이용해 보다 명확한 에러 핸…
요약: 카카오페이는 사용자별로 자동차보험을 비교해 볼 수 있는 서비스를 개발했습니다. 이 서비스는 제휴 보험사의 상품을 비교하여 사용자가 유리한 상품을 선택하도록 돕습니다. 엔지니어는 이 비교 서비스를 위해 제휴사 API 관리, 병렬 및 비동기 처리, 입력 검증 및 코드 테스트 방법 등…
요약: 이 글은 라이브러리를 사용하지 않고 수학과 물리를 이용하여 카카오페이의 인터랙티브 웹 애니메이션을 개발한 경험을 공유합니다. 디온은 눈 내리는 효과, 트리 곡선 그리기, 전구 흔들기 등 다양한 애니메이션 기법을 소개하며, 이 과정에서 선형 보간법, 3차원 베지어 곡선, 뉴턴의 운…
안녕하세요! 카카오페이증권 DevOps팀의 오픈소스 플랫폼 파트 리나&듀크입니다. 오픈소스 플랫폼 파트는 카카오페이증권에서 사용하는 다양한 오픈소스들로 플랫폼을 구성해서 서비스 개발팀에 제공 및 운영하는 조직입니다. 많은 기업에서 Kubernetes 기반의 컨테이너 환경을 활용하고 계실…
요약: 카카오페이 DevOps팀은 서버 리소스 사용 효율성 향상을 목표로 ‘환경미화 프로젝트’를 진행했습니다. 이 프로젝트는 Kubernetes 상에서 운영되는 서비스의 리소스 할당을 최적화하여 서버 비용을 절감하는 것을 목표로 합니다. 기존에 할당된 CPU와 메모리 리소스를 실제 사용…
안녕하세요. 저는 카카오페이증권의 인프라플랫폼팀에서 DBA 업무를 담당하고 있는 데런입니다. 저희 팀은 카카오페이증권의 안정적인 서비스에 기반이 되는 네트워크, 시스템, 데이터베이스와 같은 인프라를 Cloud, On-premise 환경에서 구성하고 제공하는 업무를 수행하고 있고 인프라를…
요약: 이 블로그는 빌리와 댄이 AWS re:Invent 2023에 참석한 경험을 나눕니다. 이번 AWS re:Invent 2023 주요 키워드는 Generative AI로, Amazon Q와 Amazon Bedrock 같은 새로운 제품과 기능들이 소개됩니다. 빌리는 AWS re:Inv…
요약: 이 블로그는 셜록과 클로이가 AWS re:Invent 2023에 참석한 경험을 나눕니다. 이번 AWS re:Invent 2023 주요 키워드는 Generative AI로, Amazon Q와 Amazon Bedrock 같은 새로운 제품과 기능들이 소개됩니다. 셜록은 Aurora L…
요약: 이 블로그 글은 cdragon이 개발자로서 애플리케이션의 품질 개선에 대한 경험과 생각을 공유한 내용입니다. cdragon은 개발 초기 단계에서의 품질 보장에 대한 고민을 갖고 있으며, 테스트 코드와 테스트 주도 개발(Test Driven Development, TDD)에 대한…
요약: 이 블로그 글은 Spring Framework와 Ktor를 비교 분석한 내용을 다룹니다. 베니는 Spring을 사용한 경험을 바탕으로 Ktor의 가벼움, 유연성, Kotlin 호환성 등의 장점을 발견하고 Ktor를 채택했습니다. Ktor와 Spring의 부팅 속도, 리소스 사용량…
안녕하세요, 카카오페이증권의 DevOps 팀에서 FinOps 업무를 담당하는 션이에요. 이번 블로그는 최근 AWS 2023 re:Invent에서 카카오페이증권 CTO 블리츠가 발표한 일상과 투자를 연결하는 카카오페이증권의 클라우드 활용사례 ESG, 효율성 그리고 비용에 대한 도전 중에서…
안녕하세요. 카카오페이증권 DevOps 팀의 크리스입니다. 이번 글에서는 카카오페이증권 DevOps 팀에서 생각하고 있는 DevOps 문화와 플랫폼 엔지니어링에 대해서 말씀드리고자 합니다. 그리고 최근 AWS 2023 re:Invent 에서 카카오페이증권 CTO 블리츠가 발표한 일상과…
안녕하세요, 정산플랫폼팀 윤입니다. 현대의 애플리케이션 아키텍처에서는 하나의 서비스가 독립적으로 모든 기능을 처리하기보다는, 여러 서버들이 상호작용하며 각각의 역할을 수행하곤 합니다. 이러한 상호작용 과정에서 HTTP 통신은 서버 간의 협력을 위한 주요한 수단으로 자주 사용됩니다. 이때…
안녕하세요, 카카오페이 채용팀입니다. 얼마 전 링크드인을 통해 참여 신청을 받았던 Paytalks with KREW - FE 밋업이 진행되었는데요. 많은 분들이 신청해 주셨지만 모두 모시지 못해, 밋업의 현장감을 느낄 수 있는 아티클로 전달드리고자 합니다. 이번 주제는 바로 ‘FE 리더…
안녕하세요, 카카오페이 온라인 결제 서비스에서 백엔드 개발을 맡고 있는 브리입니다. 카카오페이 온라인 결제 서비스는 카카오페이 내에서 가장 오래된 서비스 중 하나인데요. 그만큼 서비스 크기가 크기도 하고, 트래픽 양도 지속적으로 성장하고 있는 서비스입니다. 매년 카카오페이 온라인 결제의…