버
버즈빌
February 10, 20161회
Weighted Random Shuffling Algorithms

간단 소개
Weighted Random Shuffling 알고리즘의 개념, 구현 방법, 최적화 전략을 설명하고, 실제 프로덕션 환경에서의 활용 팁을 제공합니다.
AI Summary
- Weighted Random Shuffling (WRS) 개요
- WRS는 가중치가 주어진 아이템들을 확률에 따라 섞는 알고리즘이며, 한 번 선택된 아이템은 다시 선택되지 않는다.
- 광고/컨텐츠 선택, A/B 테스팅 등에 활용될 수 있다.
- Naive Approach 및 개선 방법
- Naive WRS 알고리즘은 주사위 던지기로 비유할 수 있으며, 시간 복잡도는 O(n^2)이다.
- 이진 탐색 트리(BST)를 사용하여 누적합 업데이트를 O(logN)으로 줄여 시간 복잡도를 O(NlogN)으로 개선할 수 있다.
- BST 최적화 및 활용 팁
- BST 구성 시 가중치가 높은 원소를 상위에 배치하여 평균 검색 횟수를 줄일 수 있다.
- WRS 적용 대상 가중치 배열이 자주 변하지 않는 경우, BST를 캐싱하여 재사용할 수 있다.
Next Feeds
비트윈의 멀티티어 아키텍처를 위한 프레젠터 이야기
비트윈은 ELB의 한계를 극복하고 채팅 시스템을 개선하기 위해 프레젠터를 도입, 성능 최적화 및 안정성을 확보했다.
프레젠터ELBMultiplexing로드밸런싱AutoScaling
2015. 11. 30.
VCNC

버즈빌 AWS 활용기
버즈빌은 AWS를 적극 활용하여 서비스 운영 효율성을 높이고 있으며, 다양한 AWS 서비스 활용 팁과 경험을 공유합니다.
AWS클라우드인프라DevOps서버 운영
2015. 11. 6.
버즈빌
VCNC가 Hadoop대신 Spark를 선택한 이유
VCNC는 Hadoop의 한계를 극복하고 데이터 분석 효율성을 높이기 위해 Apache Spark와 Zeppelin을 도입, 클라우드 기반 시스템으로 재구축하여 성공적인 결과를 얻었습니다.
HadoopSparkZeppelin빅데이터데이터 분석
2015. 5. 18.
VCNC
Android Wear 개발하기
Android Wear 앱 개발 경험 공유: 비트윈 팀의 개발 과정, 내부 구조, 주의사항을 통해 더 나은 선택을 돕습니다.
Android Wear웨어러블개발NotificationMicro App
2014. 12. 17.
VCNC
비트윈 PC 버전 개발기
비트윈 PC 버전은 웹 기술 기반으로 개발되었으며, CEF를 통해 네이티브 기능 확장, React, ES6 등의 기술을 활용하여 효율성을 높였습니다.
비트윈 PC 버전CEFReactWebSocketECMAScript 6
2014. 11. 10.
VCNC

This Is Not a Traditional Hackathon Story
Buzzvil 팀은 팀 빌딩, 창의성, 제품 개발을 목표로 특별한 해커톤+워크숍을 개최, 높은 만족도와 긍정적 결과를 얻었습니다.
해커톤워크숍팀 빌딩창의성Buzzvil
2014. 7. 8.
버즈빌