오랜만에 교양서 하나인 스트리트 코더를 마무리 했다. 이번에 책 하나를 마무리하면서 느낀것은 학습 속도가 떨어진 부분과 방식을 바꿔야겠다는 생각이 들었다.

책 읽는 방식을 이렇게 바꾸려고 한다.

  1. 최소한의 요약 내용은 바로 말할 수 있도록
  2. 1회 정독 대신, 2~3회 N회 이상 빠르게 읽는 것

그리고 책을 둘 공간이 없는게 두려워 Ebook으로 살수 있으면 사려고 하는데, 막상 전문서적은 리디에 없는게 흠이다. 여튼 처음으로 전문서적을 ebook으로 사서 읽어보았다. 중간중간에 개발자 유우우우머를 넣은게 좀 재밌긴하다 ㅋㅋㅋㅋ

개발 속도에 영향을 미치는 가장 큰 요인은 경험, 좋고 명확한 요구 사항, 기계식 키보드이다. 마지막은 농담이다.

목차는 이렇게 되어있다.

독학한 프로그래머든 컴퓨터 과학을 공부한 사람이든 간에 그들이 커리어를 시작할 때 공통으로 놓치고 있는 것이 있는데, 바로 무엇이 가장 중요한지 알아차리기 위해 필요한 전문 지식인 길거리 지식이다.

1장 거리로
2장 실용적인 이론
3장 유용한 안티패턴
4장 맛있는 테스트
5장 보람 있는 리팩터링
6장 조사를 통한 보안
7장 자기 주장이 뚜렷한 최적화
8장 기분 좋은 확장성
9장 버그와의 동거

C#으로 예제가 되어있긴하지만, 저자의 의도를 읽어보다보면 언어는 상관이 없다.

회사에서 3?년?차? 개발자를 바라보면서, 이리저리 고민이 많은 상황인데, 좋은 내용들이 담겨져 있다. 실제로 회사에서 코드를 작성하면서 경험한 내용들이 책에 담겨 있습니다.

책을 보다보면 제목이 자극적인 부분이 있는데, 주석을 작성하지마라, 테스트를 작성하지마라, 불량 코드를 작성하라 등등..

중첩 루프, 문자열이 많은 코드, 비효율적인 불리언 표현식과 같이 문제가 있는 코드를 식별하는 습관을 가져라

실은 내용을 보면 주석을 (이렇게) 작성하지말고 요렇게 좀 써라는 내용이다.

성능 최적화에 대한 이야기를 하면서 도널드 커누스에 대한 이야기가 나온다.

최적화에 대한 프로그래밍 참고 문헌은 항상 저명한 컴퓨터 과학자 도널드 커누스의 말을 인굥하는 것으로 시작한다. “섣부른 최적화는 모든 악의 근원이다.”

이 말이 정확히는 중간에서 가져온 말이다보니 전문을 보면

“우리는 작은 효율성를 잊어야한다. 97%의 경우에 말이다. 섣부른 최적화는 모든 악의 근원이다. 그러나 중요한 3%의 기회를 놓쳐서는 안된다. … 나는 오히려 석부른 최적화가 모든 학습의 근원이라고 주장하고 싶다. 열정적으로 임하는 일에 주저하지마라 … 여러분의 기술력을 향상시키기 위한 합법적인 방법이다. 배움의 기회를 놓치지 마라.

중요한 것은 해결해야할 문제가 무엇인지 파악하는것 부터가 중요하다는 점이다.