[가상 면접 사례로 배우는 대규모 시스템 설계 기초]

Jay_u·2023년 7월 27일
0

독후감

목록 보기
1/1

신입 개발자에게 어떤 도움이 될까?

대규모 시스템이라는 용어는 신입 개발자에게 낯설게만 느껴진다.. 아키텍처 설계는 어렵고
대단한 기술이 필요하다고 생각했다.

하지만 이 책에서 신입 개발자인 내가 얻어갈 수 있는 기술적인 정보들이 상당히 많았다.

개발을 처음 하다 보면 큰 그림을 그리기가 정말 어렵다. 웹 페이지 제작만 하더라도
자바의 역할, 스프링의 역할은 무엇인지 css는 뭔지 각 블록이 어떤 식으로 조합되어 하나의 서비스가 완성되는지
그림을 그릴 수가 없다. 그렇다 보니 러닝 커브 처럼

시작을 하는 점이 정말 느리고 더디다.
이 책은 내 생각에 '가파른 가속'구간에 정말 도움이 많이 된다고 생각된다.

로드 밸런서의 역할, Scale Out(서버 수 증가)이 무엇이고 Scale Up(서버 성능 증가)보다 뭐가 좋은지
타임스탬프와 데이터센터 서버 등을 조합해서 Id를 생성하는 방법 등

경력 많은 선배 개발자에게 개발에 대한 조언을 듣는 것만 같다.

이 책은 모든 정보를 세세하게 알려주지는 않는다. 하지만 그림을 그려준다.
각 장의 면접 내용을 통해 우리는 대규모 시스템에 대해 어떻게 가정하고 접근할 수 있을지 대략적인 방법을 알게 된다.

조금 더 궁금해지고 고민이 생긴다면 그때 파고들어 보면 된다.
예컨데 나에 경우에는 'synchronized' 이 동기화란 내용을 면접에서 이야기 하지 못한 경험이 있는데

이 책에서 Scale Up으로 증가한 서버를 동기화시켜 각각의 서버가 공통된 데이터를 가질 수 있도록 해준다는 점(마치 임계영역처럼)을 알게 되었다. 학부 시절에는 단순히 쓰레드를 에서만 활용될 줄 알았지만 서버에 경우에 전문적인 용어로 설명해주는 부분을 듣고
왜 전공 지식이 중요한 지 다시금 느꼈다.

차후에는 챕터의 끝에 있던 뉴스피드나 채팅 그리고 자동완성 기능을 직접 내 서비스에 적용시켜보고 싶다.

profile
정확한 정보를 전달할려고 노력합니다.

0개의 댓글