최근 취업 준비를 하며 면접도 보러오는 등, 더디지만 조금의 발전을 하고 있다고 스스로 느끼고 있습니다.개인 프로젝트를 프론트부터 배포까지 A to Z 진행을 해보는 것은 저에게 큰 도움이 되었고, 하나의 서비스를 혼자서 진행해보니 시스템 설계에 관해서도 관심이 많이 갔습니다.그러던 중 꼭 읽고 싶어서 샀지만 아직 와닿지가 않아 묵혀 두었던 '가상 면접 사례로 배우는 대규모 시스템 설계 기초1' 을 다시 꺼내 읽었습니다.
정보
- 저자 : 알렉스 쉬
- 옮긴이 : 이병준
- 한줄평 : 여러가지 시스템 설계 디자인을 가볍게 알아볼 수 있는 책
- 읽으면 좋을 독자 : 프로젝트를 몇번 해봤고, 단순히 API만 짜본 것이 아니라 시스템 설계에 대해서 고민을 해본 독자들 (반대로 기본적인 API 구성만 해본 독자는 당장 와닿지 않을 수도 있다.)
전반적인 구성
이 책은 제목처럼 '면접'에서 물어볼법한 시스템 설계 디자인에 대해서 얘기를 해준다.
1장부터 15장에 걸쳐서 다양한 사례와 대표 서비스들을 묶어서 알려준다.
사용자 수에 따른 설계법 / 처리율을 제한할 때의 설계법 / 키-밸류 저장소 설계법 / 분산 시스템을 위한 유일 ID 생성기 설계법 / 검색어 자동 완성 시스템 설계법 / 웹 크롤러 설계법 / 알림 등등
실제 우리가 자주 쓰는 서비스들도 많이 나와 '아 이렇게 큰 서비스들은 이런식으로 설계 하는구나' 라는 것을 느낄 수 있다.
특히 그냥 전반적인 내용만 나올수도 있는 부분에서, 실제 인터뷰어와 인터뷰이의 입장에서 주고 받는 말들 (질문을 구체화 해 나가는?)이 좋았다.
또한 프로젝트를 진행 해보았다면 한번쯤은 충분히 고민이 들었던 부분에 대해서도 해당 책에서 찾을 수 있을 것 같다.
아니면 책을 읽다가 내 프로젝트에 접목시켜 볼 수 있을 법한 것들도 있을 것이다.
필자는 '4장 - 처리율 제한 장치의 설계' 부분을 읽다가 좋은 아이디어를 얻어 개인 프로젝트에 잘 접목 시켰다. 관련 해서는 링크!
해당 도서가 매력적이라고 느꼈던 포인트
- 제목에 걸맞게 단순히 시스템 설계법에 대해서만 열거하는 것이 아니다. 면접관/면접자의 입장에서 면접자가 면접관의 추상적일 수 있는 질문에 어떻게 구체화 시켜 나갈 수 있는지 일종의 접근법도 알려준다.
- 거대하고 복잡한 설계법 사이사이 당장 프로젝트에 접목시켜 볼 수도 있는 간단하지만 핵심적인 설계법이 나와있다. 아마 처음 이 책을 읽는다면, 본인의 프로젝트로 돌아가 개선 부분을 찾고 고쳐보고 싶은 욕구가 뿜뿜 할수도?
아쉬운 점
- 깊이 있는 내용을 원하는 독자들은 아쉬움이 남을 것 같다. 제목 그대로 면접에서의 예시로 대략적이 설계법이 나오기 때문에 디테일한 설계법과 설정법을 알고 싶은 독자에게는 아쉬움이 남을듯
- 약간의 번역 아쉬움? 이 부분은 개인적인 부분인데, 뭔가 개발을 하다보면 잘 쓰이는 영어 단어들도 굳이 굳이 한글로 번역한 느낌이 든다. 그래서 읽다가 멈칫 멈칫 몰입을 깨는 경우도 있다.
마치며
어렵고 전문적인 서적들에 지친 사람들이 머리를 식힐겸 읽어보면 좋을 것 같다.
또 면접을 앞두고 시스템 설계에 관해서도 준비를 해야한다면 읽어보면 좋을 것 같고, 자기 프로젝트와 비슷한 구석이 있는 파트는 집중적으로 읽으면 면접에서 좋은 성과를 이룰 수 있을 것 같다.
나또한 Real My SQL, 토비의 스프링 등등을 다시 읽으며 머리를 식힐겸 읽었는데 정말 술술 잘 읽혔다.
회사에 가거나, 더 큰 규모의 프로젝트를 하게 되면 꼭 다시 이 책을 펼쳐 필요한 부분을 읽어볼 것 같다.
'도서 > 리뷰' 카테고리의 다른 글
[도서 리뷰] 만들면서 배우는 클린 아키텍처 (0) | 2024.03.22 |
---|---|
[도서 리뷰] 이것이 취업을 위한 백엔드 개발이다 with 자바 (1) | 2024.02.27 |