🧑🏻💻 오늘 TIL 3줄 요약
- 셸 스크립트에 익숙해지고 본인이 다룰 에디터(IDE)를 유창해지도록 학습하자.
- 복잡하고 귀찮다고 피하지말고 버전관리툴은 한번 확실하게 학습해두자.
- 디버깅은 즐거운 마음으로^^ 사소한것도 기록을 남겨 뇌의 부하를 덜자.
TIL (Today I Learned)
- 2022. 3. 23.
📕 오늘 읽은 범위
- 3장. 기본 도구
🙂 책에서 기억하고 싶은 내용
일반 텍스트의 힘
- 지식을 일반 텍스트로 저장하라. _p.106
- 사람이 읽을 수 있는 형태의 데이터와 그 자체만으로 의미가 드러나는 데이 터는 다른 어떤 형태의 데이터보다, 심지어 그 데이터를 생성한 애플리케이 션보다 더 오래 살아남을 것이다. _p.107
- GUI의 장점은 WYSIWYG(What You See Is What You Get), 즉 여러분이 보는 것이 여러분이 얻는 것이라는 점이지만, 단점은 WYSIAYG(What You See Is All You Get), 즉 여러분이 보는 것이 여러분이 얻는 전부라는 것이다. _p.111
- 명령어 셸의 힘을 사용하라. _p.112
파워 에디팅
- 에디터를 유창하게 쓸 수 있게 하라. _p.115
- 유창해지는 것의 가장 큰 이점은 더 는 에디터 사용법을 생각하지 않아도 된다는 것이다. 뭔가를 생각하는 것에서 에디터 화면에 그게 뜰 때까지의 거리가 확 줄어든다. _p.115
- 무언가 같은 일을 반복하는 것을 발견할 때마다 이렇게 생각하는 습관을 들여라. ‘분명 더 나은 방법이 있을 텐데.’ 그리고 더 나은 방법이 있는지 찾아보라. _p.116
- 버전 관리 시스템은 일종의 거대한 ‘실행 취소’ 키와 같다. 프로젝트 전체에 걸쳐서 코드가 실제로 컴파일되고 실행되던 지난주의 평화로운 시절로 돌려줄 수 있는 타임머신이다.
- 이 정도가 VCS 사용의 전부인 이들이 많을 것이다. 하지만 그렇다면 공동 작업과 배포 파이프라인, 이슈 추적에다 일반적인 팀 상호작용까지 아우르는 훨씬 더 큰 세상을 놓치고 있는 것이다. _p.119
- - 언제나. 혼자서 한 주짜리 프로젝트를 진행하는 경우일지라도, 나중에 ‘버리 기로 한’ 프로토타입일지라도, 심지어 여러분이 작업하는 것이 소스 코드가 아닐지라도, 모든 것을 버전 관리 아래에 둬라. _p.121
- 소프트웨어 결함은 요구 사항을 오해하는 것부터 코딩 오류에 이르기까지 여러 모습으로 나타난다. 안타깝지만 지금도 컴퓨터 시 스템은 여전히 여러분이 명령하는 것을 할 뿐, 여러분이 원하는 것을 알아서 하지 않는다. _p.126
- 디버깅은 단지 문제 풀이일 뿐이라는 사실을 받아들이고, 그런 마음으로 공략하라. _p.126
- 겉으로 드러난 특정한 증상만 고치려고 하지 말고, 항상 문제의 근본 원인을 찾으려고 노력하라. _p.127
- 코드를 고치기 전 실패하는 테스트부터. _p.129
- 가정하지 말라. 증명하라. _p.137
- 버그를 수정하는 김에, 혹시 이것과 동일한 버그가 있을 법한 다른 코드가 있는지 살펴보자. 바로 지금 그것들을 찾아서 고쳐야 한다. 어떤 일이 일어났 든지 간에 똑같은 일이 다시 발생하면 그 사실을 알 수 있도록 하라. _p.137
- 기억보다 더 믿을 만하다.
- 진행 중인 작업과 직접적인 관계가 없는 발상을 일단 쌓아 놓을 수 있는 곳이 생긴다.
- 무언가를 쓰기 위 해 하던 일을 멈추면 여러분의 뇌도 기어를 바꾼다. 누군가에게 이야기를 하는 것과 비슷하다. 하던 일을 돌아보기에 알맞은 기회가 생기는 것이다. _p.143
🤔 오늘 읽은 소감은?
텍스트편집기나 IDE 같은 툴은 은근 개발자들 사이에서 선호도 호불호가 갈린다. 어떤 사람들은 클래식하게 vim 으로 해결하는 사람이 있고, 우스겟 소리겠지만 무거운 이클립스를 비선호한다며 vscode를 쓰기위해 c언어를 공부했다는 사람도 있다. 본인도 한때 취미생활로 vim을 학습하다가 일정이 바빠져서 그만뒀었는데 지금이라도 짬날때 조금씩 살펴보아야겠다.
생각 외로 버전 관리 툴 없이 마치 대학교 레포트 과제 꼬리표처럼 '_final' 혹은 '최종'이라는 이름으로 프로젝트 소스를 관리하는 팀이 실제로 있다. 관련 종사자들 간에도 마찬가지고 적어도 IT업계에서 일한다고 하면 git이나 svn 같은 소스 관리 툴들을 기본으로 익혀야할 필요성이 있다고 생각한다.
'가장 속이기 쉬운 사람은 자기 자신이다.' -에드워드 불워-리턴
우리 모두 본인이 작성한 코드 앞에서 예상한 바와 엉뚱한 결과값을 내놓는 화면을 보면서 분노를 표출해 본적이 있을 것이다. 책에서 처럼 '그건 불가능해.', '하지만 정말 그럴 리가 없는데.' 는 입에 달기도하고, 본인은 차마 키보드를 내리치진 못하고 주먹을 불끈 쥐었던 적은 있었다. 수 많은 원인들 중에 특히 자괴감이 들었던 부분은 본인이 인식하지도 못한 부분을 한동안 당연한 것인양 받아들여 잘못된 것이라고 인식조차 못하던 경우였다. 과오를 인정하고 문제의 근본 원인을 찾으려 노력을 해야한다.
'그놈의damn 오류 메시지 좀 읽어라.'
하하.. 무슨 말이 더 필요할까. 오류 메시지는 적나라하게 우리가 무엇을 잘못했는지를 지적해주고 있다.
오류 메시지가 무엇을 의미하는 걸까 고민하고 찾아보고 하는것이 계속 쌓이다보면 어디서 무엇이 어떻게 문제가 있는지 감이 오게되는것 같다.
😀 오늘 읽은 다른사람의 TIL
'도서 > 실용주의프로그래머_#bookclub#TIL' 카테고리의 다른 글
실용주의 프로그래머 #9일차 (0) | 2022.03.28 |
---|---|
실용주의 프로그래머 #7일차 (0) | 2022.03.24 |
실용주의 프로그래머 #5일차(MISSION) (0) | 2022.03.24 |
실용주의 프로그래머 #3일차 (0) | 2022.03.24 |
실용주의 프로그래머 #2일차 (0) | 2022.03.24 |