사진 속 별자리 찾기: 7년 걸린 Plate Solver 만들기
1. 들어가며 안녕하세요, 버즈빌에서 Frontend 개발자로 일하고 있는 Brice입니다. 기술 이야기로 딱딱한 이곳 테크 블로그에서, 조금은 낭만적인 이야기를 해 보려고 합니다. 여러분은 별을 얼마나 자주 보시나요?
1. 들어가며 안녕하세요, 버즈빌에서 Frontend 개발자로 일하고 있는 Brice입니다. 기술 이야기로 딱딱한 이곳 테크 블로그에서, 조금은 낭만적인 이야기를 해 보려고 합니다. 여러분은 별을 얼마나 자주 보시나요?
매시간 황금알(aka, 플레이허브 v2.1)의 거위는 단순한 장식이 아니라 사용자의 현재 상태와 다음 행동을 알려주는 UI였습니다. 하지만 여러 앱의 WebView에서 영상이 늦게 나타나거나 인라인으로 재생되지 않는 문제가 발생했습니다. 스틸 이미지와 스프라이트, 해상도 선택과 인코딩 최적화를 거치며 최적화의 대상을 영상 파일이 아닌 사용자 경험 전체로 넓…
매시간 황금알(aka, 플레이허브 v2.1)의 반복형 광고 미션에서 프리로딩을 수명주기로 설계하기까지 시작하며 매시간 황금알(aka, 플레이허브 v2.1)은 여러 모바일 앱 안에서 사용자가 광고에 참여하고 포인트 같은 보상을 받을 수 있는 리워드 서비스입니다. 한 가지 참여 흐름에서는 사용자가 광고를 보고 코인을 쌓은 뒤, 마지막 광고까지 마치면 황금알을…
버즈빌은 이번 분기에 Figma 계정을 Organization에서 Professional로 전환해 달라고 요청했습니다. 디자인팀의 일하는 방식이 달라진 데 따른 결정입니다. LLM 활용은 일상에 자리 잡았고, 디자이너가 여는 pull request는 늘었습니다. 반복적으로 사용하는 Figma 파일은 줄었고, 엔지니어에게 필요한 전용 Dev Mode 시트도…
안녕하세요. 할당시스템 파트 서버 엔지니어, Simon 이상원입니다. 'MemoryDB는 무엇으로 가득 차 있었을까?'의 2부 글입니다. 1부에서는 MemoryDB 메모리의 85%를 채우고 있던 것의 정체를 찾아가는 과정을 다뤘습니다. 2부는 이 문제를 어떻게 해결했는가, 그리고 더 나은 방법은 없었을까에 대한 회고를 담았습니다. 1부에서는 무슨 일이 있었…
세줄 요약 1. 외부 파일(GeoIP DB)을 읽는 부분에서 heap 비중이 큰 것을 발견 2. GeoIP DB를 mmap으로 읽는 방법과 []byte로 직접 embed하는 방법을 비교, 두 방식 모두 heap 복사 제거 가능 확인 3. 기존 배포 구조를 유지할 수 있는 직접 embed 선택하여 불필요한 메모리 차지 포인트 개선
이 글은 영문 원본을 바탕으로 작성되었습니다. 6개월, 432개의 pull request, 디자인팀 하나. 무엇이 좋아졌고 무엇을 치렀는지 정리했습니다. 얼마 전, 저희 디자이너 한 명이 광고 참여 플로우에서 행운뽑기 컨셉을 살펴보고 있었습니다. 뭘 고치던 참은 아니었습니다. 방향이 아직 잡히기 전에 이리저리 둘러보는, 그런 시간이었습니다. 그런데 화면이…
안녕하세요. 할당시스템 파트 서버 엔지니어, Simon 이상원입니다. 최근 저희 할당시스템 파트에서 활용하는 MemoryDB(Redis)의 메모리 사용량이 85%까지 차올랐습니다. 사용 가능한 메모리가 500MB도 남지 않은 상황. 과연 무엇이 메모리를 점유하고 있었는지, 그리고 다시 3GB 이상의 여유 공간을 확보하기까지 어떤 여정이 있었는지 정리해보았습…
0. CRM을 새로 만든다는 것 안녕하세요. Ad Management 파트 서버 엔지니어 프랭크, 고영민입니다. 올해 3월 세일즈포스 대체 방안을 처음 논의한 뒤, 6월 내재화 CRM인 "버즈포스(BuzzForce)"로 실제 업무를 전환하기까지의 여정을 소개하려고 합니다. 버즈빌은 마케팅 리드 확보, 영업 파이프라인 관리, 캠페인 운영, 성과 기반 정산으로…
세줄 요약 1. Pyroscope 모니터링으로 CPU 점유가 높은 경로 파악 2. DynamoDB wrapper 라이브러리 하위의 AWS SDK v1 unmarshal이 원인 — 라이브러리 메이저 버전 업데이트로 해결 3. 요청당 CPU 59% 감소, 피크 타임 기준 HPA가 요구하는 파드 수 245개 - 109개 감소 Supply 그룹에서 메인으로 운영…
이 글은 영문 원본을 바탕으로 작성되었습니다. 프랑스 사람으로서 저는 주방에서 가족을 위해 요리하는 시간을 사랑합니다. 디자이너로서는 즐거운 인터랙션을 만드는 일을 사랑하고요. 그래서 2026년 상반기, 저는 어느 인터랙션 쿠커(interaction cooker) 안에서 엄청난 시간을 보냈습니다. 거기서 뭘 했냐고요? 에이전트에게 요리를 가르쳤습니다. 어떻…
이 글은 영문 원본을 바탕으로 작성되었습니다. 에디터 노트. 이 글의 화자는 사람이 아닙니다. Buzzvil 웹 모노레포에서 매일 코드를 만지는 AI 코딩 에이전트, Claude Code 자신입니다. 평소 이 에이전트와 함께 일하는 Maxence가 펜을 직접 에이전트에게 넘겨, 자기 이야기를 1인칭으로 쓰게 했습니다. 그래서 앞으로 본문에서 '저'라고 말하…
1%가 겪는 레이턴시 Supply 그룹에서는 Feature Flag 도입 후 A/B 테스트 활용도를 높이기 위해 evaluation 결과를 적재하는 인프라 지원이 필요했습니다. 이를 위해 기존에 사용 중인 오픈소스 go-feature-flag 의 export 기능을 활용하여 각 파드에서 flag evaluation 결과를 분 단위로 S3에 적재하는 기능(S…
이 글은 영문 원본을 바탕으로 작성되었습니다. 지난 한 달간, 버즈빌 디자인 팀은 단 6명으로 5개의 웹 애플리케이션을 배포하고 344건의 커밋을 기록했습니다. 놀랍게도 이 과정에서 Figma는 거의 사용되지 않았습니다. 엔지니어링 스프린트 할당도, 핸드오프 티켓도, 지루한 대기 시간도 없었습니다. 제가 Figma에 쓰는 시간 자체도 이전의 10% 수준으로…
이 글은 영문 원본을 바탕으로 작성되었습니다. 회사 웹사이트, 누가 담당하고 계신가요? 단순한 질문 같지만, 대부분의 회사에서 솔직한 답은 "마케팅팀이 일단은요" 아니면 "글쎄요, 딱히 아무도…" 사이 어딘가일 겁니다. 브랜드를 잘 아는 사람은 웹사이트를 만들지 않고, 만들 수 있는 사람은 제품 개발로 바쁩니다. 웹사이트는 그 사이에 어정쩡하게 놓여서, 마…
이 글은 영문 원본을 AI로 번역한 버전입니다. 요즘 업계에 이런 기대가 퍼져 있습니다. 언젠가 AI가 디자인 시스템을 만들어 줄 거라는 거죠. 프롬프트 하나 던지면 토큰, 컴포넌트, 인터랙션 패턴이 깔끔하게 나올 거라고요. 저는 정반대의 일이 벌어지고 있다고 생각합니다. 우리는 AI 에이전트가 사용할 디자인 시스템을 만들고 있습니다. 디자이너를 위한 것도…
안녕하세요, 버즈빌 Supply Platform 팀의 Jed입니다. 대규모 트래픽 환경에서 낮은 지연 시간과 높은 가용성은 중요한 요소입니다. 따라서 버즈빌에서는 "Single-digit millisecond performance at any scale"의 DynamoDB를 적극 활용하고 있습니다. 이 글에서는 DynamoDB RCU(Read Capacit…
들어가며 안녕하세요 Supply 그룹 Product Backend 팀의 Elric 입니다. 버즈빌에서 운영중인 허니스크린은 새로운 프로모션을 지속적으로 출시하며 빈번한 배포가 진행되는 서비스이지만, 긴급 배포 상황에서 CI 파이프라인의 긴 실행 시간(약 13분)이 병목이 되어 이에 대해 근본적인 해결이 필요했습니다. 기존 CI 과정의 문제점 허니스크린은 현…
2026년은 버즈빌 디자인 팀에게 전환점이 되는 해입니다. 이제 도구 선택은 단순한 운영상의 결정이 아니라, 차세대 AI 기반 제품 개발을 지원할 수 있는 '코드와 연결된 통합 디자인 시스템'을 향한 전략적 행보입니다. 지난 몇 년간 버즈빌 디자인 팀은 철저한 디지털 다이어트를 감행했습니다. 군더더기를 걷어내고, 중복을 제거하고, 가장 결정적으로 Adobe…
안녕하세요, 버즈빌 Supply 그룹의 Product Backend 팀 리드 Wynn입니다. 현재 저희 팀에서 함께 팀을 성장시킬 동료를 찾고 있습니다. 채용 공고만으로는 우리 팀이 어떤 팀이고, 어떤 일을 하는지 충분히 전하기 어렵다고 느껴 이 글을 쓰게 되었습니다. 저희 팀은 버즈베네핏(BuzzBenefit)의 백엔드 시스템 전반을 책임지고 있습니다.…
버즈빌 Supply 그룹의 Product Growth 팀의 Luke입니다. 저희 버즈빌에서 지난 몇 년간 겪어온 프론트엔드 아키텍처 변화를 공유하려 합니다. AngularJS에서 시작해 Vue, React를 거쳐 Next.js까지, 각 전환점에서의 고민과 선택 과정을 솔직하게 담았습니다. AngularJS에서 Vue로: 통합 어드민의 시작 초기 버즈빌은 광…
버즈빌은 2023년 한 해 동안 월간 약 1.2억, 연 기준으로 14억에 달하는 AWS 비용을 절약하였습니다. 그 경험과 팁을 여러 차례에 걸쳐 공유합니다. - AWS 비용 최적화 Part 1: 버즈빌은 어떻게 월 1억 이상의 AWS 비용을 절약할 수 있었을까 - (준비중) AWS 비용 최적화 Part 2: 쉬우면서도 효과가 큰 비용 최적화 팁 - (준비중…
들어가며 안녕하세요, 버즈빌 데이터 엔지니어 Abel 입니다. 이번 포스팅에서는 데이터 파이프라인 CI 테스트에 소요되는 시간을 어떻게 7분대에서 3분대로 개선하였는지에 대해 소개하려 합니다.
안녕하세요. Demand Product 팀의 Ad Management 파트에서 서버 개발자로 일하고 있는 Kay입니다. 제가 팀에 합류한 지도 어느덧 2년이 되어가는데요, Ad Management 파트(이하 AdM)은 무슨 일을 하는지 간단하게 소개하고 재미있게 했던 과제에 관해 이야기해볼까 합니다.
들어가며 안녕하세요, 버즈빌에서 MLOps 엔지니어로 일하고 있는 BK입니다. 버즈빌 광고 플랫폼 팀은 광고 성과 최적화를 위해서 다양한 머신러닝 모델을 활용하고 있습니다. 앞으로 두 편의 글을 통해 모델을 개발, 관리, 배포하기 위한 버즈빌의 머신러닝 플랫폼 buzzflow가 어떤 식으로 구성되어 있는지 여러분께 소개해 드리고자 합니다. 이번 글에서는 모…
Introduction 안녕하세요. 버즈빌 DevOps 팀의 엔지니어, Cade 입니다. 최근 CI/CD에서 가장 인기 있는 플랫폼 중 하나인 깃헙 액션 (Github Actions), 많이들 사용하고 계실 텐데요. 오늘은 이 깃헙 액션을 가장 효율적으로 사용할 수 있도록 자체 호스팅(self-hosted)으로 설치하고 운영하는 방법에 대해 제가 고민하고…
버즈빌에서 AWS RDS MySQL 데이터베이스를 운영하는 중에 맞닥뜨린 메모리 문제와 그 해결 방법에 대해 소개하는 글입니다. 들어가며 안녕하세요, 버즈빌 엔지니어 Summer입니다. 현재 버즈빌 광고의 월평균 사용자는 2천만명 정도이고 버즈빌 서버로 한달간 약 70억건 정도의 광고 요청이 들어옵니다. 마이크로서비스로 쪼개져있는 서비스중 광고 요청을 보낸…
들어가며 안녕하세요. 버즈빌 생활의 처음과 끝을 함께한 글로리아가 권유해 주신 덕분에 퇴사 부검 글을 작성하게 되었습니다. 넷플릭스에서는 퇴사한 직원이 퇴사 이유, 배운 점과 아쉬운 점 등을 메일로 적어 다른 직원들에게 보내는 문화가 있는데, 이 메일을 퇴사 부검 메일이라고 합니다. 저도 버즈빌 생활을 정리할 겸, 2년간의 세월을 되돌아보며 퇴사 부검 글을…
Introduction 안녕하세요. 버즈빌 데이터 엔지니어 Bernard입니다. 이번 포스팅에서는 저희 팀에서 어떻게 셀프 서빙 데이터 플랫폼을 구축했는지 소개하고자 합니다. 셀프 서빙 데이터 플랫폼이란, 특정 팀에 의존하지 않고 구성원 누구나 원하는 데이터를 스스로 생산 및 소비할 수 있는 플랫폼을 의미합니다. 과거에는, 서버팀 혹은 데이터 분석팀에서 데…
안녕하세요, 광고 엔진 팀의 Bale, 그리고 Liam입니다. 1편에서 버즈빌의 예산 제어 시스템 개선 여정과 가시성에 대해 얘기해 드렸는데요. 이번 편에서는 이전 시스템 수준 개선을 바탕으로 어떤 기능 개선과 비즈니스 임팩트를 만들었는지 소개 드리려 합니다. 1편의 개선을 바탕으로 이야기가 전개되니 여기에서 이전 여정을 먼저 읽어보시는 걸 추천드립니다.…