오늘 읽은 범위 🔖 3장. 기본 도구
📝 책에서 기억하고 싶은 내용
- 일반 텍스트의 힘 (p. 132)
- 일반 텍스트, 암호화, 구조화(XML, JSON..)를 적절히 사용하기
- 조개 놀이 (Shell Games) (p. 139)
- 반복적이고 번거로운 GUI 작업을 Shell 명령어로 만들라
- Windows의 경우 Cygwin을 이용해 유닉스 호환 레이어와 유닉스용 유틸리티를 사용할 수 있다.
- 디버깅 (p. 157)
- 디버깅 = 문제 해결, 디버깅을 할 때 당황하지 마라
- 데이터를 시각화하면 디버깅하기 좋다. (DDD 디버거 참고)
- 트레이싱(Tracing)은 값을 추적하기 어려운 동시성 프로세스, 이벤트 기반 애플리케이션에서 유용하다.
- 고무 오리: 문제의 원인은 누군가에게 설명하는 것만으로도 해결할 수 있다. (설명을 듣는 상대방이 고개를 계속 끄덕이는 것이 욕탕에서 고무 오리가 까닥이는 것과 비슷하다는 의미에서 유래되었다.)
- 뭔가 예상 못한 '놀라운' 실패를 대면했을 때 자신이 세운 가정들이 잘못되었다는 것을 깨달아야한다. (p. 166)
- 버그를 마주쳤을 때
- 왜 이 실패가 더 일찍 발견되지 않았을까?
- 이와 동일한 버그가 있을만한 다른 코드를 지금 바로 고쳐라
- 버그를 고치는 데 긴 시간이 걸린다면 왜 그런지 자문하라
- 텍스트 처리 (p. 169)
- 유닉스용 좋은 텍스트 처리 툴: awk, sed, tcl
- 코드 생성기 (p. 175)
- 자동으로 코드를 만드는 코드
- 예시로 DB 스키마와 그 DB를 접근하는 코드를 동일하게 유지해야하는 경우, 스키마를 이용해 코드를 자동으로 생성하는 방법을 활용
- 꼭 코드가 아니라 HTML, XML plain 텍스트를 생성해도 된다.
💭 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보기
- 실무에서 겪었던 일들이 책에 나와있으면 깜짝 놀라게된다. 책이 먼저일까.. 사람들의 경험이 먼저일까. 책이 오래되긴 했지만 이 책에 나와있는 대로 행동하는 사람들은 이 책을 읽었기 떄문에 그렇게 행하는 것일까 궁금하다. 이미 지나간 경험이지만 앞으로 만나게 되는 사람들에게는 이 책을 읽었는지 물어봐야겠다.
- 오늘 장애로 회의를 하고 문제점을 찾아내는데 하루종일 시간을 허비해서 그런지 버그에 대한 부분에 집중하게 되었다. 예상치 못한 버그여서 놀랐고 금방 해결은 했지만 꼭 발생했어야만 했는지 의문이 들어서 아쉬움이 남았다. 앞으로 같은 유형의 실수를 반복하지 않도록 회의를 통해 절차를 추가하기로 결정했다.
🔍 궁금하거나 잘 이해되지 않는 내용
- DDD(Data Driven Document): 데이터 기반의 시각화, D3.js 라이브러리가 대표적이다.
- DDD 디버거 - Data Display Debugger https://www.gnu.org/software/ddd/
오늘의 TIL 3줄 요약
- 문제의 원인은 누군가에게 설명하는 것만으로도 해결할 수 있다.
- 뭔가 예상 못한 '놀라운' 실패를 대면했을 때 자신이 세운 가정들이 잘못되었다는 것을 깨달아야한다.
- 버그를 마주쳤을 때 1. 왜 이 실패가 더 일찍 발견되지 않았을까? 2. 이와 동일한 버그가 있을만한 다른 코드를 지금 바로 고쳐라 3. 버그를 고치는 데 긴 시간이 걸린다면 왜 그런지 자문하라
'오늘의.. > 이달의 책' 카테고리의 다른 글
[노개북] 실용주의 프로그래머 (5장. 구부러지거나 부러지거나) (0) | 2022.03.26 |
---|---|
[노개북] 실용주의 프로그래머 (4장. 실용주의 편집증) (0) | 2022.03.25 |
[노개북] 실용주의 프로그래머 (Mission 1) (0) | 2022.03.23 |
[노개북] 실용주의 프로그래머 (2장.실용주의 접근법) (0) | 2022.03.22 |
[노개북] 실용주의 프로그래머 (서문 ~ 1장.실용주의 철학) (0) | 2022.03.20 |