일상/독서 6

[독서📖/스터디] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 3장 : 시스템 설계 면접 공략법

3장 : 시스템 설계 면접 공략법시스템 설계 면접은 두 명의 동료가 모호한 문제를 풀기 위해 협력해 그 해결책을 찾아내는 과정에 대한 시뮬레이션정해진 결말도, 정답도 없다.  우리의 설계 기술을 시연하는 자리이고, 설계 과정에서 내린 결정들에 대한 방어 능력을 보이는 자리.면접관의 피드백을 건설적인 방식으로 처리할 자질이 있음을 보이는 자리. 면접관이 시스템 설계 면접에서 찾고자 하는 것은 무엇일까? - 지원자의 설계 능력의 기술적 측면- 지원자가 협력에 적합한 사람인지- 압박이 심한 상황도 잘 헤쳐 나갈 자질이 있는지- 모호한 문제를 건설적으로 해결할 능력이 있는지- 좋은 질문을 던질 능력이 있는지 좋은 면접관은 부정적 신호 (red flag) 또한 놓치지 않는다. - 설계의 순수성(purity)에 집..

일상/독서 2025.01.19

[독서📖/스터디] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2장 : 개략적인 규모 추정

2장 : 개략적인 규모 추정시스템 설계 면접시, 때로는 시스템 용량이나 성능 요구사항을 개략적으로 추정해보라는 요구를 받는다. ** 개략적인 규모 추정(back-of-the-envlope estimation): 보편적으로 통용되는 성능 수치상에서 사고 실험(thought experiments)을 행하여 추정치를 계산하는 행위👉 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것   (by. 제프 딘)개략적 규모 추정을 효과적으로 해 내려면 규모 확장성을 표현하는데 필요한 기본기에 능숙해야 한다.특히, 2의 제곱수나 응답지연(latency) 값, 그리고 가용성에 관계된 수치들을 기본적으로 잘 이해하고 있어야 한다. 2의 제곱수분산 시스템에서 다루는 데이터 양은 엄청나게 커질 수 있으나 계산법은 기본을 크..

일상/독서 2025.01.17

[독서📖/스터디] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 1장(2) 무상태 웹 계층~정리

1장 : 사용자 수에 따른 규모 확장성무상태(stateless) 웹 계층웹 계층을 수평적으로 확장하기 위해서는 상태 정보(사용자 세션 데이터와 같은)를 웹 계층에서 제거해야 한다.이를 위해 상태 정보를 관계형 데이터베이스나 NoSQL 같은 지속성 저장소에 보관하고 필요할 때 가져오도록 한다.이렇게 구성된 웹 계층이 바로 무상태 웹 계층. 상태 정보 의존적인 아키텍처상태 정보를 보관하는 서버는 클라이언트 정보, 즉 상태를 유지하여 요청들 사이에 공유되도록 한다.무상태 서버에는 이런 장치가 없다.  사용자 A의 세션 정보나 프로파일 이미지 같은 상태 정보는 서버 1에 저장된다.따라서 사용자 A를 인증하기 위해 HTTP 요청은 반드시 서버 1로 전송되어야 한다.요청이 서버 2로 전송되면 인증이 실패된다. 서버..

일상/독서 2025.01.14

[독서📖/스터디] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 1장(1) 단일서버~CDN

1장 : 사용자 수에 따른 규모 확장성단일 서버웹/앱, 데이터베이스, 캐시 등 컴포넌트들이 한 대의 서버에서 실행되는 간단한 시스템 사용자 요청 처리 흐름1. 사용자는 도메인 이름(api.mysite.com)을 이용해 웹사이트에 접속이때, 도메인 이름을 도메인 이름 서비스(Domain Name Service, DNS)에 질의해 IP주소로 변환하는 과정이 필요 -> 이 과정은 보통 제3 사업자(third party)가 유료 서비스로 제공 2. DNS 조회 결과로 IP주소가 반환사진에서는 웹서버의 주소인 15.125.23.214 3. 해당 IP 주소로 HTTP(HyperText Transfer Protocol) 요청이 전달* 웹 애플리케이션- 비즈니스 로직, 데이터 저장 등을 처리 : 서버 구현용 언어 사용..

일상/독서 2025.01.13

[일상 / 독서 📖 ] 개발자와의 협업을 위한 IT 필수 지식

https://product.kyobobook.co.kr/detail/S000208710197 개발자와의 협업을 위한 IT 필수 지식 | 최선신 - 교보문고 개발자와의 협업을 위한 IT 필수 지식 | IT 기획자, 관리자 업무에 필요한 IT 지식만 쏙쏙! 개발자와 소통할 때 필요한 IT 지식 톺아보기IT 기획자, 관리자로서 개발자와 함께 일하기 위해서는 기본 product.kyobobook.co.kr

일상/독서 2024.02.01