----2009년의 리뷰
뉴욕의 프로그래머
임백준 저 | 한빛미디어 | 2007년 09월
말말말
1. 우리가 한 일은 결코 이해되지 않는다. 그것은 그냥 칭찬을 받거나 아니면 비난을 받을 뿐이다 - 프리드리히 니체
2. 자기가 짠 코드에서 버그를 찾는 것은 매우 어려운 일이다. 자기가 짠 코드에 버그가 없다고 생각할 때는 더욱 그러하다 - 스티브 맥코넬
3. 저 망할 놈의 기계에서 시달림을 받는 것이 정말이지 지긋지긋하다. - 켄 톰슨 (푸하하핫)
4. 소프트웨어 내부의 버그는 잔디밭에서 자라는 잡초와 같아. 잡초가 자라면 약을 뿌려야지. 하지만 아무리 약을 뿌려도 잔디밭에 핀 잡초가 완전히 사라지지 않는것처럼 아무리 노력해도 버그가 전혀 없는 소프트웨어는 만들 수는 없어. 소프트웨어 안에 피는 잡초를 제거하기 위해서 반드시 뿌려야 하는약?(=유닛테스트) p047
5. 프로그래머로서 일하는데 있어서 중요한 것은 주어진 질문에 대한 정답을 찾는 능력이 아니라, 질문 자체를 정확하게 구성하는 힘이다.
6.아마추어 프로그래머는 1킬로바이트 안에 1000바이트가 담겨 있다고 생각한다. 진짜 프로그래머는 1킬로바이트 안에 1024바이트가 담겨 있다고 생각한다. -미상
7. 프로그래밍 솜씨가 뛰어난 사람일수록 자신의 코드를 믿지 못하여 반복해서 테스트를 수행하고, 프로그래밍 솜씨가 떨어지는 사람일수록 자신의 코드가 완벽하다는 순진한 믿음을 갖는다.
8. 좋은 판단은 경험에서 나온다. 그리고 경험은 나쁜 판단에서 나온다. -베리 르패트너
9. 실수를 못견뎌하고 두려워하는 사람은 실수로부터 아무것도 배우지 못하는 사람만큼이나 성장 가능성이 없다. 나날이 성장하는 사람은 실수를 두려워하지도 않고 거부하지도 않는다. 실수는 아픈 고통을 안겨주지만 성장하는 사람은 그것을 자신의 일부로 끌어안고 실수와 함께 나아간다. 실수 자체는 비웃을 일이 아니다. 다만 실수와 함께 성장하지 못하는 사람은 웃음거리가 될 만하다.
10. 하나의 모래알에서 세계를 그리고 한 송이 들꽃에서 천국을 보기 위하여 너의 손바닥에 무한을 그리고 한 시간에 영원을 간직하라 - 윌리엄 블레이크
몰랐던 용어들...
1. 익스트림 프로그래밍 ; 불필요한 절차의 과감한 생략을 통해서 프로그래머와 사용자 사이에서 빠르고 정확한 의사소통이 일어나도록 할 것을 강조하는 소프트웨어 프로젝트의 한 방법론이다. 보통 XP라고 말한다.
2. 복사본 ; 프로그램엔 참조(reference)와 값(value)라는 개념이 있다. 소쉬르나 라깡 같은 언어학자들이 사용하는 시니피앙(signifiant), 시니피에와 비슷한 개념이다. 우리말로는 기표와 기의라고도 한다. 참조는 시니피에를 가리키는 시니피앙, 즉 기표에 해당한다. 값은 실체적 존재를 갖는 시니피에, 즉 기의에 해당한다. 한 사람이 여러 개의 이름을 가질 수 있는 것처럼, 프로그램 내부에서 하나의 값(객체)을 가리키는 참조는 여러 개가 존재할 수 있다. 메쏘드가 어느 객체(값)를 가리키는 참조를 리턴하면 그 참조를 돌려받은 코드는 참조를 이용해서 객체에 접근할 수 있다. 이 때 코드가 객체의 상태를 변경하면 그것은 실체에 대한 변경이므로 다른 모든 참조를 통해서도 변경된 내용을 볼 수 있다 .그렇기 때문에 이것은 실질적으로 객체 자체를 리턴한 것과 동일하다. 이에 비해서 객체(값)를 원본 그대로 복제해서 또 하나의 실체를 만든 다음 리턴하면 객체를 돌려받은 코드가 객체의 상태를 변경하더라도 원래의 객체는 영향을 받지 않는다.
3. 유닛테스트 ; 소스코드의 특정모듈이 의도된 대로 정확히 작동하는지 검증하는 절차. 모든 함수와 메소드에 대한 테스트케이스를 작성하는 절차를 말한다.
느낀점
1. 정말 많은 것을 배웠다.
1.5 회사생활의 일부분을 잠깐 맛본 느낌.
1.7. 유닛테스트와 코드 리뷰라는 새로운 개척지를 알았다. 이제부터 고고싱이다!
2. 3개월도 채 되지 않아서 자신이 작성한 코드를 잊어버리다니.. 할 말이 없다. 나 역시 그러니까. 톰이라는 인물을 보면서
3. 천재를 보면 좌절하겠지?
3. 프라빈이라는 사람을 보면서 리오가 느낀 감정을 알 것 같다. 그리고 여전히 고민하고 있는 것들도...
------2018년의 리뷰
저 책을 봤을 때가 대학교 4학년 때인데... 정말 많은 걸 알게되었다고 기뻐했지만
현실에서 일해보니.. 이상과도 같은 말이었다.
유닛테스트와 코드리뷰를 하는 회사는 극히 드물고, 적용하기 위해 몇 번이고 시도해보았지만... 정말 어렵다.
기획 파트를 어느 정도 하게 되면서 느낀 점이지만 내가 해야 할 일이 무엇인지 정확하게 아는건 위대한거다.
내가 해야 할 일이 무엇이고, 결과물이 어떻게 나와야 하는지 서로 공유하는 것도 중요한 점이라는 거...