드디어 끝!! 데이터 중심 애플리케이션 설계 - 완독 후기

Broccolism·2022년 4월 15일
6
post-thumbnail

데이터 중심 애플리케이션 설계, 마틴 클레프만 지음. OREILLY.

어떻게 읽었나

  • 기간: 2022.01.20 - 2022.04.06
  • 분량: 총 12장, 약 545페이지.
  • 방식: 첫 주 제외, 1주일에 1장.

읽는데 이상하게 오래 걸린다했는데.. 12장짜리를 일주일에 1장씩 읽으면 3달이 걸리는건 당연한 일이었다. 그 전까지는 이런 책은 한 달에 한 권씩 읽을 수 있을거란 생각을 갖고 있었다. 하지만 정말 말도 안 되는 소리였다. 아무 일도 안 하는 백수였..어도 힘들었을 것 같다. 책 내용이 점점 심각해지고, 배경 지식이 필요한 부분도 많아지기 때문이다.

일주일에 한 번씩 하는 포스팅도 조금 고통스러웠다. 초반에는 별 일 아니었는데 내용이 어려워지면서 점점 버거워졌다. 노마드코더 영상에서 이 책은 두고두고 천천히 읽어야한다는 말을 괜히 한게 아닌 것 같다.

그래도 퇴근 후에 시간을 내서 한 권을 완독했다는 사실 자체는 마음에 든다.🥳 특히 읽으면서 나름대로 내용 정리를 한다고 이렇게 메모도 해가면서 읽었는데...

"뒷부분 뭔소리???"

ㅋㅋ아무래도 난이도가 있는 책이다보니 100% 이해를 못한건 사실이다. 하지만 이번 경험을 통해 매일 책을 조금씩 읽는 습관은 든 것 같다. 지난주 완독 기념으로 1주일 정도 개인 독서를 쉬었는데, 저녁 시간이 뭔가 허전한 느낌이 들었다. 이 느낌이 사라지기 전에 얼른 다음 책을 읽어야겠다.

매우 주관적인 장단점

원래 책 리뷰란게 그렇지만 내 성격이 어느정도 들어갈 수밖에 없다. 내가 생각하는 장점이 다른 사람들에게는 단점이 될 수도 있을 것이다.

좋은점

🧼 깔-끔하다.

좀 더 엄밀히 말해보자.

  • 처음 등장하는 용어의 정의를 빼먹지 않는다.
  • 주제에서 벗어난 얘기를 하지 않는다. 하더라도 다시 원래 하려던 얘기로 돌아가 결론을 짓는다.

특히 첫번째 항목 - 처음 등장하는 용어의 정의를 빼먹지 않는다. -은 책을 읽으면서 조금 속시원한 점이기도 했다. 다른 책에서는 갑자기 새로운 용어가 나오고 아주 자연스럽게 넘어간다거나 엄밀하지 않은 정의를 적어놓는 경우가 있어서 매번 다시 구글링해서 찾아봐야 했기 때문이다. 물론 이런 경우는 그 단어에 대한 명확한 정의가 없는 경우가 대부분이었다. 하지만 이 책에서는 작가 나름대로 정의를 내려줘서 편하게 읽을 수 있었다.

그리고 이런 소소한 작가의 한마디도 있어서 배경지식을 쌓는데 도움이 되었다.

두번째 항목은 책을 읽으면서 내내 감탄했던 점이다. 조금 다른 얘기를 하는 것 같으면서도 그렇지 않다. 다 좀 더 큰 목표를 달성하기 위한 빌드업이다. 그리고 작가가 이걸 직접적으로 말해준다. '지금까지 이런 얘기를 좀 많이 했는데 이걸 바탕으로 원래 주제로 돌아가보자'.

💁🏻 친절하다.

  • 예시가 구체적이다.
  • 그림이 알아보기 쉽다.
  • 각주가 잘 되어있다.

이론을 다루는 책이지만 그렇다고 내내 원론적인 얘기만 하는건 아니다. 트위터, 넷플릭스 등 실제 기업에 대한 얘기도 나오고 MySQL, MongoDB처럼 우리가 사용하는 서비스에 대한 예시도 나온다. 다만 이런 예시로 책이 가득찬건 아니다. 앞서 언급한 노마드코더 영상을 보고 '오 실제 기업에서 사용 중인 기술을 알려주는건가?!'라는 생각으로 산 책이었는데 그건 전혀 아니었다. (하지만 기대한 것과 다른 방향으로 좋은 책이었다.)

저번에 읽었던 그림이 뭔가 이상한 책에 비해 이번 책은 그림이 아주 이해하기 쉽고 친절했다. 그림 아래에 달려있는 부연 설명도 이해하기 쉽고 깔끔했다. 어느정도냐면...

... 이렇게 생긴 그림도 부연설명을 찬찬히 읽어보면 쉽게 이해가 가는 정도였다.

🖼 큰 그림을 잘 그려준다.

⬆︎ 5장 시작하는 부분. 각 장마다 삽화와 여백이 있어 심신의 안정을 준다. 이 그림 보는 재미도 좀 있는데, 자세히 보면 GoogleDoc이나 MongoDB 같은 반가운 단어가 보이기도 한다.

  • 각 장이 시작할 때마다 장을 소개하는 부분이 있다.
  • 각 장이 끝날 때마다 장을 정리하는 부분이 있다.
    • '정리'라는 섹션이 따로 마련되어있다.

자잘자잘하고 구체적인 얘기보다, 얕지만 크고 전체적인 얘기가 더 하기 어렵다고 생각한다. 전체적인 얘기를 하려면 그 작은 부분들을 모두 꿰뚫고 있어야하기 때문이다. 이 책은 전체적인 얘기를 잘 하는 책이다. (물론 구체적인 얘기도 잘 한다.) 책 읽는 내내 감탄한 이유기도 하다.

🔮 엄청난 동기부여를 준다.

나도 언젠가 이런 책을 써볼 수 있을까, 혹은 번역만이라도 해볼 수 있을까, 하는 생각이 처음으로 든 책이다. 처음으로 작가가 멋있다고 느낀 책이다. 각 장의 내용이 서로 유기적으로 얽혀있고, 한 장 안에서도 작가가 설명하려는 바가 명확하게 나타난다. 그러면서도 데이터 처리에 대한 전반적인 이해를 할 수 있게 만들어준 책이었다.

내용적으로도 좋은 자극제가 되었다. 역시 내가 모르는 세상이 참 많다는걸 느꼈고 그 빈 부분을 채워나가고 싶다. 그래서 언젠가 이 책을 다시 봤을 때, 처음에는 이해하지 못했던 부분도 고개를 끄덕이면서 넘어갈 수 있으면 좋겠다.

나쁜... 개선점

🎨 목차 스타일

  • 소제목 위계를 구분하기 어렵다.

놀랍게도 진실은 다수결로 결정된다펜싱 토큰보다 한 단계 높은 수준의 소제목이다. 다른 단계들은 모두 잘 알아볼 수 있는데, 이 단계의 소제목들은 구분하기가 힘들었다. 가끔 메인 내용이 아닌 곁다리 내용을 읽다가 '그래서 처음에 무슨 얘기 하고 있었더라'하면서 앞으로 돌아가곤 했는데, 그럴 때마다 이 제목이 좀 더 구분이 잘 되었으면 좋겠다는 생각이 간절하게 들었다.

추천 대상

  • 데이터베이스 수업을 재밌게 들은 기억이 있는 사람
  • 대용량 데이터 처리 시스템에 관심이 있는 사람
  • 백엔드, 특히 DB 근처에서 일어나는 일에 대해 전반적으로 알아보고 싶은 사람
  • 네트워크, DB에 대해 어느정도 배경지식이 있는 사람이 읽어야 할 것 같다. (그래도 학부 수준이면 충분할 것 같다.)

읽고 난 후 (내가) 바뀐 점

🧩 나는 용어 수집가

bottle neck이라는 용어는 대학교 네트워크 시간에 처음 들었다. 그리고 데이터베이스 수업 때도 들은 적이 있다. 용어가 쓰인 상황에 따라 구체적인 의미는 달라지더라도 기본적인 의미는 같았다. 이 책을 읽으면서 만난 용어를 적어놓고 다른 책을 읽을 때도 의미를 계속 추가하는식으로 하다보면 하나의 단어가 어떤 다양한 맥락에서 사용되는지 비교해볼 수 있을 것 같아 용어 사전을 만들었다. 그냥 재미로 하는거다.ㅋㅋ 책에서 용어의 정의를 워낙 잘 해줘서 가능한 일이었다.

🤡 혼자서도.. 할 수 있어요(아마)

저번에 읽었던 두꺼운 책은 스터디 버프를 받아서 겨우 다 끝냈다. 그 책이 유난히 크고 두꺼운 이유도 있었지만, 스터디 전까지 그렇게 양이 많은 책을 처음 읽어서 더 쉽지 않았던 것 같기도 하다. 이번 책을 끝내고나니 이제 시간이 좀 걸리더라도 어떤 책이든 끝낼 수 있을 것 같다.

다만 다음에는 혼자 읽는 책으로는 좀 가벼운 책을 읽고 싶다.ㅎㅎ 이미 기술 스터디가 2개나 있기 때문이다.

profile
코드도 적고 그림도 그리고 글도 씁니다. 넓고 얕은 경험을 쌓고 있습니다.

1개의 댓글