2024/07/21 2

[알고리즘] 빅오(Big-O) 표기법

What is Big-O?알고리즘의 실제 실행 시간을 표기하는 것보다는 데이터 또는 사용자의 증가율에 따라 알고리즘의 성능을 예측하는 것이 목표Mathematical notation that describes algorithm efficiencyTime & Space complexityDescribes the growth rate of algorithms용어 정리n, m: 함수의 매개변수로 입력의 크기를 의미할 때 사용.  O(1) - const time인자로 받는 데이터의 크기 상관없이 일관되게 0의 위치에 있는 값을 확인F(int[] n) { return (n[0] == 0)? true:false;}  O(n) - 선형 시간(linear time)인자로 n개의 데이터를 받으면 n번 루프(loop)를 ..

14장.유튜브 설계

1단계 설계 범위 확정요구사항빠른 비디오 업로드원활한 비디오 재생재생 품질 선택 기능낮은 인프라 비용높은 가용성과 규모 확장성 그리고 안정성지원 클라이언트: 모바일 앱, 웹 브라우저 그리고 스마트 TV 개략적 규모 추정일간 능동 사용자 수는 5백만사용자 한 명은 하루에 평균 5개의 비디오를 시청10%의 사용자가 하루에 비디오 한 개 업로드비디오 평균 크기는 300MB비디오 저장을 위해 매일 새로 요구되는 저장 용량 = 5백만 * 10% * 300MB = 150TBCDN 비용CDN에서 나가는 데이터의 양에 따라 과금한다.해당 비용을 줄이는 방향으로 설계 진행 2단계 개략적 설계안기존 클라우드 서비스를 이용해도 좋다.주어진 시간 안에 적절한 기술을 골라 설계를 마치는 것이 중요하다.BLOB 저장소나 CDN을..