7월, 2022의 게시물 표시

데이터 중심 애플리케이션 설계 책 후기

이미지
안녕하십니까. 시니어 개발자이다 보니 시스템 설계에 대하여 관심이 생겨서 공부 중에 있습니다. 리서치를 해보니 " 데이터 중심 애플리케이션 설계 " 라는 책을 추천해주신 분이 많은데요. 저도 이번기회에 읽어보았고 간단하게 후기를 남겨보려고 합니다.   분산 시스템, 데이터 베이스 관점 데이터 중심이라는 주제에 알맞게 전체적으로 분산 시스템과 데이터 베이스라는 관점에 초점에 되어 있습니다.  RDB, NOSQL, 데이터베이스 확장 가능성, 고가용성, 병렬 처리 등에 초점이 되어있습니다.  학부 수준에서 배우는 수준에서 살짝 어려운 수준입니다.  더티 쓰기에 대한 내용 설계 보다는 이론에 중심 책 내용이 설계라고 되어 있습니다. 다만 설계하는 방법을 다루지는 않습니다. 설계보다는 이론적으로 확장 가능한 시스템을 만들기 위한 문제에 대한 이론, 고민 등에 대하여 다루는 부분이 있습니다.  예를 들어 다음과 같이 2PC라는 개념이 있고, 이의 단점을 극복하기 위한 3PC라는게 있다는 것을 알려줍니다. 하지만 이것만으로는 설계에는 도움되긴 어렵고, 이론적 지식에는 도움이 될수는 있습니다.  3PC의 도입 깊이가 깊은책 책의 깊이가 상당히 깊은 편입니다. 특정 구조에 대하여 어느 소프트웨어는 어느 구조를 쓰고 다른것은 어떤지가 예시로 작성 되어 있습니다. 실제 코드 단까지는 아니더라도 책을쓴 저자는 대부분의 소프트웨어에 대한 세밀한 아키텍쳐까지 이해한 수준이라고 생각이 되며 개인적으로는 존경스럽네요.  실제 디비들의 예시 주니어보다는 시니어에게 추천 제 기억상 이 책을 주니어때 한번 읽은 기억이 있습니다. 그때는 좀 어려웠었고 지금도 살짝 어렵긴 합니다. 그렇지만 책에 나온 몇몇 부분에 대하여는 실무를 하면서 고민을 하게 되니 책이 이해가 가는 부분이 많아지게 되었습니다. 예를 들어서 카프카를 통한 스트리밍, 분산 시스템을 위한 구현, 데이터를 큐브화 하여 사전에 질의를 위한 데이터 aggregatio...

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

이미지
안녕하십니까. 기술 면접을 준비하기 위해서 가상 면접 사례로 배우는 대규모 시스템 설계 기초 라는 책을 읽게 되었습니다.  가능한 비용을 줄이기 위해서 근처에 있는 도서관에서 책을 빌렸습니다.  일반적인 면접에서 시스템 설계까지 물어보지는 않지만, 물어보는 면접을 할 수도 있기에 준비하였습니다.  책의 두께는 짧은 편입니다.  갓 주니어라면 내용이 어려울 수 있으나, 연차가 살짝 되면 어렵지 않고 빨리 읽히는 책입니다. 내용은 일반적인 시스템 설계에 대한 유투브나 책 등에서 볼수 있는 예시를 다룹니다. 위의 사진과 같은 검색어 자동완성 시스템도 널리 알려진 문제입니다.  페이스북 피드같은것도 알려진 문제로 인터뷰에서 자주 나올듯 합니다.  비슷한 유투브로는 code karle가 있습니다. 여기서는 영어 컨텐츠이며 각종 회사에 대한 예시 아키텍쳐를 다루고 있습니다. 제가 느낀 이책의 장점은 다음과 같습니다. 시스템 디자인에 대하여 인터뷰 형식으로 직접적으로 다룬책. 대부분의 시스템 디자인 유투브 칼럼은 영어권인점. 여기서는 한글로 다룸.  두께는 두껍지 않지만 내용이 알찬편.  이번에 시스템 디자인을 공부하면서 여러 자료를 보고 있지만 이 책을 통해서 많이 배우게 되었습니다.