- 오늘 읽은 범위
- 인상 깊었던 내용
많은 신참 프로그래머가 예컨데 특정 통합 개발 환경IDE같은 강력한 도구 하나만 고집하는 실수를 저지르고, 그 익숙한 인터페이스에서 떠날 생각을 하지 않는다. 정말로 안타깝다. 여러분은 IDE가 갖는 한계를 넘어설 수 있어야 한다.
우리의 기본 재로는 나무나 쇠가 아니라 지식이다. 우리가 수집하는 요구 사항은 지식이고, 우리는 그 지식을 설계와 구현, 텍스트, 문서로 표현한다. - 105p
우리가 만드는 일반 텍스트는 사람이 이해할 수 있어야한다. - 106p
일반텍스트가 널리 쓰이는 이유는 다음과 같다. -106~107p
GUI의 장점은 WYSIWYGWhat You See Is What You Get 즉 여러분이 보는 것이 여러분이 얻는 것이라는 점이지만, 단점은 WYSIAYGWhat You See Is All You Get, 즉 여러분이 보는 것이 여러분이 얻는 전부라는 것이다. -111p
목수가 작업 공간을 자신에게 맞추어 바꾸듯이 개발자도 셸을 자신에게 맞추어야 한다. -112p
에디터를 유창하게fluency 쓸 수 있게 하라. -115p
어느 정도 에디터를 써야 유창하다고 볼 수 있을까? 다음 과제들에 도전해보라. - 115~116p
진보하는 것은 변화와는 거리가 멀고 오히려 기억에 의존한다. 과거를 기억하지 못하는 사람은 과거를 반복할 운명이다.
- 조지 산타야나 < 이성의 삶 >
버전 관리 시스템은 일종의 거대한 '실행 취소' 키와 같다. - 119p
모든것을 버전관리 아래에 둬라. -121p
참으로 고통스러운 일입니다.
자신이 겪는 어려움을 보고는 알게되죠.
다른 누구도 아닌 바로 자신이 문제를 만들었다는 걸.
- 소포클레스 < 아이아스 >
디버깅은 단지 문제 풀이일 뿐이라는 사실을 받아들이고, 그런 마음으로 공략하라. -126p.
무엇보다도 다음 디버깅 제 1법칙을 기억하라. -127p.
Tip 30
당황하지 말라.
디버깅할 때 근시안의 함정에 주의하라. 표면에 보이는 증상만 고치려는 욕구를 이겨 내라. 실제 문제는 여러분 눈앞에 있는 것에서 몇 단계 떨어져있고, 또 다른 여러 가지와 연관되어 있을 확률이 다분하다. -127p.
오해하지 말라. 버그가 번식해서 수가 늘지 않는다...우리가 해야 하는 일은 버그를 재현하는 것이다. -129p.
Tip 32
그놈의 오류메세지 좀 읽어라. -130p.
여러분은 중간 즈음에서 스택 프레임을 하나 골라서 값이 정상인지 확인한다. 정상이라면 그 위의 프레임들을 확인해야 하고, 아니라면 그 밑의 프레임들을 확인해야한다. 다시 이진 분할을 반복한다. - 132p.
트레이싱 구문은 '여기까지 도달' 이나 'x값 = 2'같이 화면 혹은 파일에 출력하는 작은 진단용 메세지를 일컽는다.
문제의 원일을 찾는 매우 단순하지만 꽤 유용한 기법으로 그냥 누군가에게 문제를 설명하는 방법이 있다. -134p.
어떤 일이 일어났든지 간에 똑같은 일이 다시 발생하면 그 사시를 알 수 잇도록 하라. -137p.
일지를 쓰면 좋은 점이 크게 3가지가 있다. -143p.
- 오늘 책을 읽으면서...
첫번째 기본도구에서 이야기한 신참 개발자가 너무 나라서 많이 찔렸다. VScode를 좋아하다보니 강사님이 추천해주신 sublime은 본채 만채했는데 기능을 다시 한번 살펴봐야될 것 같다. 리눅스 명령어도 꼭 정리해서 공부해야겠다는 다짐을 다시 한번 하게됬다.
Github에서 롤백하는 방법, mac 개발환경 설정 파일을 따로 만들어서 저장해둬야겠다.
나도 오늘 프로젝트에 버그를 해결하면서 팀원들한테 문제를 설명하다가 혼자 2개를 해결했는데 이걸 책에서 보다니 기뻤다.
- 궁금한 내용, 이해되지 않았던 내용
트레이싱 구문이 정확히 뭐지..?