7,8 장까지 읽고 나서 뭔가 복-붙형 학습을 하고 있다고 느꼈다.
5주차 부터 공부 방법을 다음과 같이 변경했다.
1. 해당 설계를 혹은 해당 구현 시스템에서 실제로 사용된 설계 사례 조사
2. TODO스러운 부분들의 경우, 실제로 해당 설명대로 구현해본 코드 조사
책은 생각보다 더 두루뭉술한 부분이 아주 많았다.
나는 책을 읽기 전 책 제목만으로 이런 부분이 있을거라고 예상상했다.
하지만, 책은 내 예상 보다 더 두루뭉술했고 결론적으로 책은 이런 교훈을 주었다.
그럼에도 누군가가 나에게 이 책을 읽어보기 권한다면,
읽어보라고 아주 권하고 싶다.
이 책은 불친절한 서적이다. 세세한 책은 더더욱 아니다.
다만 동시에 어떤 기능을 구현을 할 때, 좀 더 넓고 높은 시야에서
왜 그 언어를 선택했고
, 왜 그 프레임워크를 사용
해야 하는지
생각해야하는 이유를 보여준 서적이였다.
7,8장을 읽으면서 느낀점은
내가 생각보다 지식편식이 심한 사람이라는 점이다.
7장은 그렇게 재미있었고, 8장은 그렇게 지루했었다.
MySQL AUTO_INCREMENT
에 슬슬 지루함을 느끼던 내게 7장은 다른 관점을 제시해준 고마운 챕터였다.
초반, JPA를 학습하면서, 김영한님의 JPA 책을 읽고 나서도 @Id
와 관련해서 더 다양한 케이스를 접하고 싶다는 생각이 들었다.
7장은 결정적으로 분산환경에서 동작하는 Id 생성 전략을 소개한다.
해당 챕터를 읽고 나서, 프로젝트 관련 질문에 이런 답변을 내놓을 수 있게 되었다.
Q: 왜 @Id AUTO_INCREMENT설정을 하셨나요?
A: 해당 프로젝트는 이용자가 적은 상황이라
단일 서버, 단일 데이터베이스를 사용하도록 시스템 설계를 했습니다.
그래서 AUTO_INCREMENT를 이용하여 레코드를 식별하는 개인키로 사용했습니다.
앞으로의 챕터는 주로 구현 케이스에 따른 시스템 설계 사례 위주로 나온다.
그래서 추가적으로 시스템 구현 사례에 대한 개인학습이 더 필요하다고 느꼈다.
스터디는 매주 룰렛을 돌려서 발표자를 정한다.
이번주는 일단 챕터를 읽어보고 스터디 발표를 자진해서 하는게 좋다고 생각이 들었다.