본문 바로가기

Book81

[독서 기록] 자바 병렬 프로그래밍 간단 회고 👀 다시 읽고 싶다: ★★★★★ 🔥 추천한다: ★★★★★ 🔖 리뷰: 이 책을 읽지 않고 자바 개발자로서 연차가 계속 쌓이다가 시니어쯤 되었을 때 이 책을 만나면 정말 억울했을 것 같다. 사실 벌써 좀 억울하다. 최근에 자바에서 동시성을 탐구해보고 작성했는데, 그 글이 부끄러워졌다. 이 책을 읽고나서 썼더라면 아마 완전히 다른 글이 되었을 것 같다. 이 책은 어렵다. 하지만 그만큼 깊이 있는 내용을 다룬다. 조금 오래된 책이긴 하지만 CS에 있어서 다른 책에서 읽은 부분과 조합되는 부분이 많았고, 퍼즐이 맞춰지면서 지적인 성취감이 느껴지는 경험을 조금 했다. 그런데 그럼에도 확실히 어려워서 몇 년 후 다시 읽으면 새롭게 이해되는 부분이 또 많을 것 같은 책이다. 자바 개발자로서 1회독은 필수인.. 2024. 4. 18.
[독서 기록] 컴퓨터 밑바닥의 비밀 간단 회고 👀 다시 읽고 싶다: ★★★★★ 🔥 추천한다: ★★★★★ 컴퓨터 밑바닥의 비밀 "어? 이 코드가 왜 돌아가지?"라고 생각해 본 경험이 다들 있을 것이다. 코드가 잘 실행되더라도 이 코드가 어떻게 작동하는지, 컴퓨터가 코드를 실행할 때 내부에서 무슨 일이 벌어지는지, 다양한 문제들이 왜 발생하며 이를 어떻게 최적화해야 할지는 모르는 경우가 많다. 이 책은 단순하게 눈앞의 코드 몇 줄이 오류 없이 돌아가는 것에 만족하기보다는 그 안에서 무슨 일이 벌어지고 있으며, 코드에 어떤 영향을 미치는지를 고민하는 개발자들을 대상으로 한다. 이 책에서는 계층별로 추상화되어 있는 컴퓨터 시스템의 구조를 하나씩 뜯어본다. 프로그래밍 언어와 컴파일러로 시작하여 운영 체제와 프로세스, 스레드와 코루틴, 동기화, 메모.. 2024. 4. 14.
[독서 기록] 웹 개발자를 위한 대규모 서비스를 지탱하는 기술 대규모 서비스를 지탱하는 기술 대규모 서비스를 개발ㆍ운용하는 기술자를 위한 입문서! 『웹 개발자를 위한 대규모 서비스를 지탱하는 기술』은 저자가 서버 1대부터 시작하여 1,000대의 호스트를 운영하기까지 수없이 많이 겪었던 시행착오와 해결책, 먼 길을 돌고 돌아서 비로소 체득한 대규모 서비스 개발과 운용에 관한 핵심 노하우들을 전한다. OS 및 컴퓨터의 동작원리, DB 분산방법, 실전적인 알고리즘을 시스템에 적용하는 방법, 대규모 데이터를 요리하는 검색엔진의 원리와 구조, 시스템 전체를 조망하기 위한 인프라 설계지식 등을 다양한 샘플 코드와 함께 자세하게 소개하고 있다. 저자 다나카 신지, 이토 나오야 출판 제이펍 출판일 2011.02.28 1. 대규모 웹 서비스 개발 오리엔테이션 이 책의 근원이 되는 .. 2024. 4. 14.
[독서기록] 클린 아키텍처 서문 현재의 소프트웨어는 과거와 동일한 것들로 구성된다. 여전히 if문, 할당문, while 루프로 구성된다. 지금 우리는 자바, C#, 루비라는 훨씬 진보한 언어를 쓰고, 객체 지향 설계라는 우월한 패러다임을 사용한다고 말이다. 맞는 말이다. 그렇다 하더라도 1960년대나 1950년대와 마찬가지로 코드는 여전히 순차, 분기, 반복의 집합체일 뿐이다. 컴퓨터 프로그래밍을 하는 관행을 정말 유심히 관찰해 보면 지난 50년 동안 변한 게 거의 없다는 사실을 깨달을 것이다. 언어는 조금 발전했다. 도구는 환상적으로 좋아졌다. 하지만 컴퓨터 프로그래밍을 이루는 기본 구성요소는 조금도 바뀌지 않았다. 이것이 열쇠다. 이처럼 코드가 변하지 않았다는 사실이 시스템의 종류와 관계없이 소프트웨어 아키텍처의 규칙이 일관된.. 2024. 2. 26.
[독서 기록] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 1장 사용자 수에 따른 규모 확장성 로드 밸런서 부하 분산 집합에 또 하나의 웹 서버를 추가하고 나면 장애를 자동복구하지 못하는 문제(no failover)는 해소되며, 웹 계층의 가용성(availability)은 향상된다. 좀 더 구체적으로 살펴보면 다음과 같다. 서버 1이 다운되면 모든 트래픽은 서버 2로 전송된다. 따라서 웹 사이트 전체가 다운되는 일이 방지된다. 부하를 나누기 위해 새로운 서버를 추가할 수도 있다. 웹사이트로 유입되는 트래픽이 가파르게 증가하면 두 대의 서버로 트래픽을 감당할 수 없는 시점이 오는데, 로드밸런서가 있으므로 우아하게 대처할 수 있다. 웹 서버 계층에 더 많은 서버를 추가하기만 하면 된다. 그러면 로드밸런서가 자동적으로 트래픽을 분산하기 시작할 것이다. 데이터베이스 다.. 2024. 2. 9.