가상면접으로 배우는 대규모 시스템 설계 기초11장 뉴스 피드 시스템 설계피드 발행 : 피드를 생성하면 데이터 베이스에 저장하고 새 포스팅은 친구들의 뉴스피드에도 전송 된다
뉴스 피드 생성 : 모든 친구의 포스팅을 시간 흐름 역순으로 모아서 만든다
팬아웃 : 어떤 사용자 ...
가상면접으로 배우는 대규모 시스템 설계 기초9장 웹 크롤러 설계웹 크롤러는 로봇 또는 스파이더라고도 부른다 검색엔진에 널리 쓰이는 기술로 웹에 새로 올라오거나 갱신된 컨텐츠를 찾는것이 주된 일이다.
크롤러의 용도
검색 엔진 인덱싱
웹 아카이빙
웹 마이닝
웹 모니터링
...
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 4 오류코드가 실행되는 환경은 불완전 하다. 사용자가 잘못된 입력을 제공하고, 외부 시스템이 다운되며, 자신이 작성한 코드와 다른 개발자가 작성한 코드가 종종 버그를 가질수 있다.
오류에 ...
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 3 다른 개발자와 코드 계약예측 가능한 코드를 작성하라, 코드를 오용하기 어렵게 만들라 두가지 원칙은 다른 사람이 작성한 코드와 상호작용할 때 일어날수 있는 일과 관련 있다
자신의 코드와 ...
가상면접으로 배우는 대규모 시스템 설계 기초7장 분산 시스템을 위한 유일 ID 생성기 설계분산 시스템에서 유일성이 보장되는 id를 만드는 방법
다중 마스터 복제(multi-master replication)
데이터 베이스의 auto_increment 기능을 활용함, ...
가상면접으로 배우는 대규모 시스템 설계 기초6장 키-값 저장소 설계키-값 저장소는 키-값 데이터베이스라고도 불리는 비관계형 데이터베이스다키는 유일해야 되며 성능상의 이슈로 키는 짧을수록 좋다값은 보통 무엇이 오던 상관하지 않는다
분산 키-값 저장소는 분산 해시 테이블이 ...
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 2 추상화 계층
문제와 하위 문제를 어떻게 해결하는가도 중요하지만 그것들을 해결하는 코드를 어떻게 구성하는가도 중요하다
코드를 잘 구성한다는 것은 간결한 추상화 계층을 만드는 것으로 귀결 ...
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 1 코드 품질고품질 코드는
좀 더 신뢰할 수 있다
유지보수가 쉽다
버그가 적은 소프트웨어를 생산
좋은 코드는 좋은 소프트웨어를 만들기 위한 유일한 조건은 아니지만 중요한 조건중에 하나 ...