CHAPTER 4 오류
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 4 오류코드가 실행되는 환경은 불완전 하다. 사용자가 잘못된 입력을 제공하고, 외부 시스템이 다운되며, 자신이 작성한 코드와 다른 개발자가 작성한 코드가 종종 버그를 가질수 있다. 오류에 ...
Read more
CHAPTER 3 다른 개발자와 코드 계약
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 3 다른 개발자와 코드 계약예측 가능한 코드를 작성하라, 코드를 오용하기 어렵게 만들라 두가지 원칙은 다른 사람이 작성한 코드와 상호작용할 때 일어날수 있는 일과 관련 있다 자신의 코드와 ...
Read more
8장 URL 단축기 설계
가상면접으로 배우는 대규모 시스템 설계 기초8장 URL 단축기 설계 API 엔드포인트 URL 단축용 엔드포인트 URL 리다이렉션 엔드포인트 URL 리다이렉션 301 Moved Permanently : Location 헤더가 가르키는 주소로 영구 이동됨 302 Fou ...
Read more
7장 분산 시스템을 위한 유일 ID 생성기 설계
가상면접으로 배우는 대규모 시스템 설계 기초7장 분산 시스템을 위한 유일 ID 생성기 설계분산 시스템에서 유일성이 보장되는 id를 만드는 방법 다중 마스터 복제(multi-master replication) 데이터 베이스의 auto_increment 기능을 활용함, ...
Read more
6장 키-값 저장소 설계
가상면접으로 배우는 대규모 시스템 설계 기초6장 키-값 저장소 설계키-값 저장소는 키-값 데이터베이스라고도 불리는 비관계형 데이터베이스다키는 유일해야 되며 성능상의 이슈로 키는 짧을수록 좋다값은 보통 무엇이 오던 상관하지 않는다 분산 키-값 저장소는 분산 해시 테이블이 ...
Read more
5장 안정 해시 설계
가상면접으로 배우는 대규모 시스템 설계 기초5장 안정 해시 설계수평적 규모 확장성을 달성하기 위해서 요청 또는 데이터를 서버에 균등하게 나누는게 중요하다 해시키 재배치 문제n개의 캐시서버의 부하를 균등하게 나누는 보편적인 방법은 serverindex = ha ...
Read more
CHAPTER 2 추상화 계층
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 2 추상화 계층 문제와 하위 문제를 어떻게 해결하는가도 중요하지만 그것들을 해결하는 코드를 어떻게 구성하는가도 중요하다 코드를 잘 구성한다는 것은 간결한 추상화 계층을 만드는 것으로 귀결 ...
Read more
CHAPTER 1 코드 품질
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 1 코드 품질고품질 코드는 좀 더 신뢰할 수 있다 유지보수가 쉽다 버그가 적은 소프트웨어를 생산 좋은 코드는 좋은 소프트웨어를 만들기 위한 유일한 조건은 아니지만 중요한 조건중에 하나 ...
Read more
4장 처리율 제한 장치 설계
가상면접으로 배우는 대규모 시스템 설계 기초4장 처리율 제한 장치 설계토큰 버킷 알고리즘인자 버킷 크기 토큰 공급율 장점 구현이 쉽다 메모리 사용 측면에서도 효율적이다. 짧은 시간에 집중되는 트래픽도 처리가능하다 단점 버킷 크기와 토큰 공급률이라는 두개의 인자 ...
Read more
3장 시스템 설계 면접 공략법
가상면접으로 배우는 대규모 시스템 설계 기초3장 시스템 설계 면접 공략법효과적 면접을 위한 4단계 접근법 문제 이해 및 설계 범위 확정 깊이 생각하고 질문하여 요구사항과 가정들을 분명히 하라 구체적으로 어떤 기능들을 만들어야 하나? 제품 사용자 수는 얼마나 되나? 회사 ...
Read more