본문 바로가기

책 리뷰

(11)
가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 2~3장 🔖 2~3장 : 개략적인 규모 추정 ~ 시스템 설계 면접 공략법읽은 날짜 : 2024.08.19지은이 : 알렉스 쉬출판사 : 인사이트 기억하고 싶은 내용개략적인 규모 추정(back-of-the-envelope estimatation)보편적으로 통용되는 성능 수치상에서 사고 실험을 행하여 추정치를 계산하는 행위어떤 설계가 요구사항에 부합할 것인지 보기 위한 것2의 제곱수, 응답지연 값, 가용성과 관련된 수치를 이해해야 한다. 2의 제곱수최소 단위는 1바이트(=8비트). ASCII 문자 하나가 1바이트.1 byte(바이트) - 1KB(킬로바이트) - 1MB(메가바이트) - 1GB(기가바이트) - 1TB(테라바이트) - 1PB(페타바이트)단위가 바뀔 때마다 2의 10제곱씩 곱해진다. 응답지연 값메모리는 빠르..
클린코드 - 1장 🔖 1장 : 깨끗한 코드읽은 날짜 : 2024.08.14지은이 : 로버트 C. 마틴출판사 : 인사이트 기억하고 싶은 내용나쁜 코드로 치르는 대가나쁜 코드가 쌓일수록 팀의 생산성은 떨어진다.나쁜 코드는 프로젝트 초반에는 빠르게 진도를 나가다가 점차 느려진다.생산성이 떨어지면 관리자는 새 인력을 투입하고, 새 인력과 팀은 생산성을 높여야 한다는 압박에 더욱 시달린다.결과적으로 나쁜 코드를 더 많이 양산한다.전문가 답지 못한 태도다.관리자가 일정에 쫓기게 만들고 고객과 마케팅 부서가 무리한 요구사항을 내놓았다고 해도, 결국 프로젝트 실패는 전문가답지 못한 프로그래머의 책임이 크다.그들에게 그들의 책임이 있듯이, 프로그래머에게는 좋은 코드를 사수할 책임이 있다.빨리 가는 유일한 방법은, 언제나 코드를 최대한 ..
가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 1장 🔖 1장 : 사용자 수에 따른 규모 확장성읽은 날짜 : 2024.08.13지은이 : 알렉스 쉬출판사 : 인사이트 기억하고 싶은 내용✔️ 시스템 규모 확장 방법 정리웹 계층은 무상태 계층으로모든 계층에 다중화 도입가능한 한 많은 데이터를 캐시할 것여러 데이터 센터를 지원할 것정적 콘텐츠는 CDN을 통해 서비스할 것데이터 계층은 샤딩을 통해 그 규모를 확장할 것각 계층은 독립적 서비스로 분할할 것시스템을 지속적으로 모니터링하고, 자동화 도구들을 활용할 것 단일 서버 아키텍처사용자 단말(웹/앱)에서 도메인으로 접속DNS에 도메인을 조회하여 IP 주소로 변환IP 주소로 HTTP 요청HTML이나 JSON 응답데이터베이스웹/모바일의 트래픽을 처리하는 서버와 데이터베이스 서버를 독립적으로 확장해 나갑니다.데이터베이..