본문 바로가기

분류 전체보기

(92)
Simple Work., 단순하게 일하기 애플의 스티브 잡스와의 회의는 힘든 여정이었다고 합니다. 회의 가 끝난 후 안좋은 표정으로 회의실을 나서는 직원들에게 무슨일이 있냐고 물어보면 "Simple Stick으로 맞았다."라고 얘기한다고 합니다. 스티브 잡스는 비효율적인 회의, 프로젝트라고 판단될 경우 바로 중단을 시키거나 없애버렸다고 합니다. 이런 스티브 잡스의 Simple Stick이 오늘의 Apple을 만든 원동력이라고 평가되고 있습니다. 모든 업무를 단순화 하여 "세상을 바꿀 수 있는 제품과 서비스를 만들자"라는 핵심 가치에 다가서기 때문입니다. 아마존의 사명은 "클릭 한번이면 된다."입니다. 사실 클릭이 몇 번 필요하긴 하지만 제프 베조스는 이 문장으로 고객이 얻을 수 있는 가치를 설명하고 있습니다. 이러한 회사들의 사명 혹은 리더들의..
Netflix Vizceral Vizceral은 Netflix Control Plain으로 유입되는 트래픽 상태에 대한 정보를 이해하는 방식을 변화 시켰다고 합니다. Netflix의 경우 전체 시스템의 상태에 기반한 의사결정을 내리기를 원했고 이를 위해서 전체 시스템의 상태에 대해 직관적으로 이해할 수 있는 도구가 필요했습니다. Netflix의 경우 데이터 구문 분석에 의존하는 대신 직관적인 방법을 적용하기로 했습니다. 장애로 인해 수백만명이 영향을 받는 시간을 최소화 하는 방안을 고려했고 이를 Intuition Engineering이라고 부르며 Vizceral이 그 대표적인 예입니다. 아래의 영상은 지역 간 트래픽 이동시 전체적인 모습을 시뮬레이션한 모습입니다. Netflix의 트래픽 팀에서는 Intuition Engineering..
마이크로 서비스 아키텍처에서 단일 데이터베이스를 분리해야 하는 이유 기존 Monolithic 서비스를 분해하여 Micro Service 아키텍처를 사용할 경우 데이터베이스에 중점을 두는 것이 중요합니다. 어플리케이션과 연계된 데이터베이스를 여러개의 작은 데이터베이스로 분할하는 확실한 전략이 필요합니다. 즉, 기존에 사용하던 Monolithic의 통합 데이터베이스를 분리해야 합니다. 마이크로 서비스 아키텍처는 각 마이크로 서비스가 자체 도메인 데이터가 있는 별도의 데이터베이스를 가지도록 설계해야 합니다. 이렇게 해야 마이크로 서비스를 독립적으로 배포하거나 확장 할 수 있기 때문입니다. 기존 Monolithic 서비스에는 단일 데이터베이스가 있고 데이터는 다른 컴포넌트간에 공유됩니다. 데이터가 단일 저장소에 관리되기 때문에 개발이 더 간단하다는 장점이 있지만, 데이터베이스 ..
Netflix OSS — Eureka 2.0 What is Eureka? Eureka는 중간 계층 서버의 로드 균형 조정 및 장애 조치를 위한 REST기반 서비스이다. Eureka는 Java 기반 클라이언트 구성 요소인 Eureka Client가 함께 제공되므로 서비스와의 상호 작용이 훨씬 쉬워진다. 또한 클라이언트에는 기본 Round Robin 알고리즘 및 기본 제공 로드 밸런싱 알고리즘이 존재한다. What is the need for Eureka? AWS 클라우드에서는 IP 주소와 host name으로 작동하는 기존 로드 밸런서와 달리 서버 등록 및 등록 취소 작업을 정교하게 수행해야 하는 로드 밸런서가 필요하다. AWS는 미들 티어 로드 밸런서를 제공하지 않으므로 미드 티어 로드 밸런싱을 직접 구비할 필요가 있다. How different ..
비디오 메타 데이터 확장을 위한 Object Cache 본 글은 Netflix의 Tech 블로그의 글을 기반으로 작성되었습니다. Netflix의 도전 과제중 하나는 40개국 이상의 3천 6백만명의 고객의 요구사항을 맞춰 서비스를 확장하는 것입니다. Netflix의 영화, TV Shows는 복잡한 메타데이터를 지니고 있습니다. 메타데이터에는 제목, 장르, 시놉시스, 출연진, ratings등의 정보가 포함되어 있고 이미지, 예고편, 인코딩 된 비디오 파일, 자막 및 에피소드 그리고 시즌에 대한 링크 정보도 포함되어 있습니다. 그리고 맞춤 장르를 위한 tag가 존재합니다. Netflix의 경우 Global 서비스를 하기에 메타데이터들이 다국어로 번역되어야 합니다. 메타데이터는 서비스에서 활용되며, 각 서비스마다 다른 형태로 사용됩니다. 사용자에게 콘텐츠 정보를 제..
Project Euler 1 Solution: Multiples of 3 and 5 문제 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000. 10 이하의 모든 자연수를 3, 5의 배수로 나열하면 3,5,6,9가 되고, 배수의 합은 23이다. 1000 미만의 3,5의 모든 배수의 합을 찾아라. 분석 3과 5로 나뉘어지는 1000미만의 자연수의 합을 원한다. 루프문을 사용하여 1에서 999까지의 3,5로 나뉘는 자연수를 합을 구한다. 해결 sum=0 for i in range(3,1000): if i%3==0 or..
음악과 영화의 장르 그리고 큐레이션 우리가 흔히 일상에서 접하는 음악의 장르는 보통 아래와 같이 분류한다. 클래식 재즈 블루스 리듬 앤 블루스 힙합 컨트리 음악 팝 전자 음악 … (엄청 많다. 인류는 음악 분류를 정말 좋아한다.) 음악에서의 장르란 광범위한 음악들을 형식적으로 카테고리화한 것이다. 음악을 좀 듣는 사람들은 처음 듣는 음악이라도 장르를 구분한다. 음악의 장르를 구분하는 AI 기술도 이미 존재한다. 대체로 음악의 장르 구분 기준은 듣는 사람의 감성과는 무관하다. 그리고 시간이 지남에 따라 음악은 엄청 많아졌다. 역설적으로 나의 감성/상황에 적합한 음악을 찾기가 어려워진것이다. 그래서 감성/상황 기반의 Playlist를 제공하고 있다. 부족한 부분을 보완한 분류체계인것이다. Spotify, Youtube Music 등의 음악 서..
Netflix Artwork의 개인화 본글은 “Artwork Personalization at Netflix”의 글의 내용중 일부를 발췌해서 작성했습니다. Netflix 추천 시스템의 주요 목표는 사용자에게 맞는 콘텐츠를 추천하는 것이었습니다. 사용자가 콘텐츠에 흥미를 가지고 해당 콘텐츠가 가치가 있는지를 확인하는 방법이 무엇일지 많은 고민을 했습니다. 콘텐츠의 포스터가 관문 역할을 하며 사용자에게 콘텐츠에 대한 매력을 어필할 수 있다고 판단했습니다. 사진 한장이 백마디 말보다 위대하다. 구구절절한 설명보다 단 한장의 이미지로 함축적인 내용을 전달 할 수 있습니다. Netflix는 이점에 착안하여 Artwork의 개인화를 시스템에 반영했습니다. “Good Will Hunting”이라는 영화를 묘사할 때 사용하는 이미지를 개인화하려고 시도해봅..