Minerva: Airbnb's Metric Platform
버즈빌 개발팀에서는 매주 금요일, 모든 팀의 개발자들이 모여 본인이 관심있는 분야에 대한 노하우나 담당하고 있는 업무와 관련된 새로운 기술에 대한 논의를 진행하는 시간을 가지고 있습니다. 이 시간을 통해 내가 알고 있는 것들에 대해 더 확실히 알고 모르는 것들에 대해 배우며 이를 바탕으로 보다 효율적이고 창의적으로 업무를 진행하기 위해 노력하고 있습니다.…
BackendCultureTools
asyncio 뽀개기 3 - SIGTERM (CTRL+C) 올바르게 처리하기
asyncio를 사용하는 서버라면 graceful shutdown을 할 수 있어야합니다. Eventloop에 task를 등록하는 구조이기 때문에 graceful shutdown을 하지 않으면 유저 혹은 다른 서버의 요청이 버려지는 현상이 발생할 수 있습니다. 이전 포스트들에서 asyncio의 핵심 요소들의 동작 방식을 이해했다면, 이번 포스트에서는 sign…
BackendDevOpsPython
버즈빌 전문연구요원과의 인터뷰
Claud는 버즈빌 Ad.Display팀에서 Engineering Manager로 함께하고 있습니다. 전문연구요원으로서 3년간 복무를 마치고, 이후 시니어 개발자로서 다양하게 버즈빌에 기여해주시고 계신데요. 버즈빌 전문연구요원에 관심있어하시는 분들을 위해서 POSTECH LAB ZINE과 인터뷰를 진행했고, 도움이 될만한 내용을 버즈빌 기술 블로그에 함께…
BackendCareerFrontendMobileTools
asyncio 뽀개기 2 - Future의 활용
Future를 잘 활용하면 단순히 await 하는 용도보다 더 다양한 흐름 제어를 할 수 있습니다. 이전 포스트에서는 asyncio의 핵심 컴포넌트인 코루틴과 Eventloop을 소개했습니다. 이번 포스트에서는 Future를 만드는 방법, Callback을 등록해서 활용하는 방법 등을 살펴볼 예정입니다. - asyncio 뽀개기 1 - Coroutine과…
Python
asyncio 뽀개기 1 - Coroutine과 Eventloop
이 시리즈의 목적은 asyncio의 컴포넌트들과 활용법을 소개하는 것입니다. 최종적으로는 실제 production에 쓰이고 있는 graceful shutdown을 구현하는 것을 목표로 하며, 그 과정에서 필요한 asyncio 지식을 여러 포스트에 걸쳐 설명할 예정입니다. Python에 국한된 내용도 있지만 코루틴, Future 등은 Asynchronous…
BackendDevOpsPython
DynamoDB를 사용하는 Go 서비스의 응답 시간 최적화 #2 TLS Handshake
안녕하세요. 버즈빌의 데이터 엔지니어 Raf입니다. 이전 포스팅(DynamoDB를 사용하는 Go 서비스의 응답 시간 최적화 #1 AWS Credential Token)에 이어, Go 서비스에서 DynamoDB를 사용하면서 응답 시간 최적화를 시도한 경험을 공유드리도록 하겠습니다. 이번 편은 해결책을 만들지 못했지만, DynamoDB와 Go HTTP Clie…
AWSBackendData EngineeringGoPerformance
AWS GameDay Microservice Magic에서 3위! 버즈빌 A팀 인터뷰
안녕하세요! 저희는 Buzzvil Culture Committee의 Diane과 Jacob입니다. 버즈빌은 지난 번 AWS GameDay에 참여하여 Microservice Magic에서 3위라는 뛰어난 성적을 거두었는데요! 버즈빌 개발팀의 높은 실력을 증명한 시간이 아니었나 싶습니다. 참가하신 다섯 분의 개발자 Liam, Noah, Aiden, Claud,…
AWSCultureDevOpsMSA
DynamoDB를 사용하는 Go 서비스의 응답 시간 최적화 #1 AWS Credential Token
안녕하세요. 버즈빌의 데이터 엔지니어 Raf입니다. 이전 포스팅에서 Go의 HTTP 커넥션 풀에 관해 설명해 드렸습니다 (HTTP connection pool in Go explained). 이 포스팅에서는 Go 서비스에서 HTTP 요청에 대한 Trace를 남겨 DynamoDB 요청의 응답 시간에 큰 영향을 미치는 Credential Token 발급 로직을…
AWSBackendData EngineeringGoPerformance
HTTP connection pool in Go explained
안녕하세요. 버즈빌의 데이터 엔지니어 Raf입니다. 버즈빌에서는 Go 마이크로 서비스에서 Elasticsearch와 DynamoDB 등의 AWS SDK를 사용하거나, 내부 서비스가 아닌 애드 네트워크나 앱 퍼블리셔 등의 HTTP로 통신해야 하는 외부 서비스를 연동하는 경우 HTTP 요청을 사용하고 있습니다. 저는 DynamoDB의 응답시간을 낮추기 위해 최…
AWSBackendDevOpsGoPerformance
Shape Up Method
버즈빌 개발팀에서는 매주 수요일, 모든 팀의 개발자들이 모여 본인이 관심있는 분야에 대한 노하우나 담당하고 있는 업무와 관련된 새로운 기술에 대한 논의를 진행하는 시간을 가지고 있습니다. 이 시간을 통해 내가 알고 있는 것들에 대해 더 확실히 알고 모르는 것들에 대해 배우며 이를 바탕으로 보다 효율적이고 창의적으로 업무를 진행하기 위해 노력하고 있습니다.…
CareerCultureTools
Buzzvil Billing Data Pipeline
버즈빌 개발팀에서는 매주 수요일, 모든 팀의 개발자들이 모여 본인이 관심있는 분야에 대한 노하우나 담당하고 있는 업무와 관련된 새로운 기술에 대한 논의를 진행하는 시간을 가지고 있습니다. 이 시간을 통해 내가 알고 있는 것들에 대해 더 확실히 알고 모르는 것들에 대해 배우며 이를 바탕으로 보다 효율적이고 창의적으로 업무를 진행하기 위해 노력하고 있습니다.…
BackendCI/CDData EngineeringMLOps
Journey of Dash's release cycle
버즈빌 개발팀에서는 매주 수요일, 모든 팀의 개발자들이 모여 본인이 관심있는 분야에 대한 노하우나 담당하고 있는 업무와 관련된 새로운 기술에 대한 논의를 진행하는 시간을 가지고 있습니다. 이 시간을 통해 내가 알고 있는 것들에 대해 더 확실히 알고 모르는 것들에 대해 배우며 이를 바탕으로 보다 효율적이고 창의적으로 업무를 진행하기 위해 노력하고 있습니다.…
CareerCultureDevOps
제품 전략 피라미드 - 버즈빌 제품팀이 일하는 법#2
버즈빌 CPO 웨일입니다. 2021년을 회고하기 위해 시작한 시리즈였는데 어느새 2022년이 되어버렸네요. 작년 한 해는 버즈빌에게는 정말 많은 시도와 회고, 성장이 있었던 한 해였습니다. 이 포스팅을 통해 2021년 한 해 동안 버즈빌 제품팀이 제품과 비즈니스 성장을 위해 실행해 온 방식들을 소개해 보겠습니다. 시리즈 1. 고객 중심(Customer-ce…
CareerCultureTools
버즈빌 안드로이드 개발자는 이렇게 일합니다
안녕하세요, 버즈빌 Output 팀의 Dio입니다. 버즈빌의 주요 제품 중 하나는 광고 지면을 모바일 플랫폼(안드로이드, iOS)에 쉽게 적용할 수 있는 SDK이고 이를 통해 Native, Interstitial, Feed, Lockscreen 등의 지면을 제공합니다. 버즈빌의 안드로이드, iOS 개발자는 바로 이 SDK의 개발을 책임지게 됩니다. 일단 앞…
AndroidBackendMobileiOS