20220324_북이

권도토잠보·2022년 3월 23일
0

북이흥행홍

목록 보기
14/16
post-thumbnail

🪴ㅤTIL (DAY - 3)

2022.03.34

오늘 읽은 범위

👉ㅤ클린코드 3장.기본도구

기억하고 싶은 내용ㅤ📕

도구는 여러분의 재능을 증폭한다. 도구가 더 훌륭하고 여러분이 더 사용법에 능숙해질수록 여러분의
생산성은 더 높아질 것이다. 일반적으로 사용하는 기본 도구들로 시작하라. 점차 경험을 쌓고 특별한
요구 사항을 만나면서 이 기본 세트에 다른 도구를 추가하게 될 것이다. (p.104)

유일한 방법은 기본 도구들을 언제나 곧바로 사용할 수 있도록 예리하게 유지하는 것이다. (p.104)

아무리 흐린 먹물일지라도 가장 훌륭한 기억력보다 낫다는 중국 속담이 있다. 여러분의 생각과 역사를
기록으로 남겨라. (p.105)

이런 도구들의 사용법을 배우는 데에 시간을 투자하라. 언젠가는 별다른 자각 없이도 손가락이 키보드 위를
움직이면서 텍스트를 조작하고 있다는 사실을 발견하고 놀라게 될 것이다. 도구가 손의 연장(extension)이
된 것 이다.
(p.105)

지식을 일반 텍스트로 저장하라. (p.106)

시스템 테스트에 사용할 합성 데이터를 일반 텍스트로 표현하면 특별한 도구를 만들 필요 없이 간단하게 테스트
데이터를 추가하거나 수정할 수 있다. (p.109)

텍스트 파일을 다루는 프로그래머에겐 명령어 셀이 작업대다. (p.111)

GUI의 장점은 WYSIWYG(What You See Is What You Get), 즉 여러분이 보는 것이 여러분이
얻는 것이라는 점이지만, 단점은 SYSIAYG(What You See Is All You Get), 즉 여러분이
보는 것이 얻는 전부라는 것이다. (p.111)

여러분의 삶을 편하게 해주는 명령어를 배워라. (p.116)

  • 먼저 여러분이 데이터를 사용하는 모습을 관찰하라
  • 유용한 기능을 새로 찾았다면 이 기능을 여러분의 몸이 기억하도록 만들어야 한다.

여러분이 늘 하는 반복적인 일을 자동화할 방법을 연구해 보라. 한두 줄만으로 가능한 경우가 많다. (p.117)

우리가 사용자 인터페이스에서 중요하게 여기는 것 중에 '실행 취소(undo)' 키가 있다. 실수를 용서해 주는 버튼.
여러 단계의 실행 취소와 재실행을 지원하는 환경이라면 몇 분 전에 발생했던 일도 일어나지 않은 과거 상태로 되돌릴
수 있으니 금상첨화일 것이다. (p.119)

버전 관리 시스템은 일종의 거대한 '실행 취소' 키와 같다. 프로젝트 전체에 걸쳐서 코드가 실제로 컴파일되고 실행되던
지난주의 평화로운 시절로 돌려줄 수 있는 타임머신이다. (p.119)

언제나 버전 관리 시스템을 사용하라. (p.121)

아무도 완벽한 소프트웨어를 작성하지 못하므로 하루 대부분을 디버깅으로 보낼 것이라는 건 기정사실이다. (p.126)

디버깅은 단지 문제 풀이일 뿐이라는 사실을 받아들이고, 그런 마음으로 공략하라. (p.126)

디버깅을 시작하기에 앞서 올바른 마음가짐이 중요하다. 자신의 자아를 보호하기 위해 늘 켜놓는 많은 방어막을 꺼 버리고, 여러분을 짓누르고 있는 프로젝트의 압력을 무시해서 자신을 편안하게 만들어야 한다.
무엇보다도 다음디버깅 제 1 법칙을 기억하라 👉 당황하지 말라. (p.127)

'하지만 정말 그럴 리가 없는데.'로 시작하는 생각의 흐름에 신경 세포 하나도 낭비하지 말라. 왜냐하면 명백히
그런 일은 일어날 수 있으며, 실제로도 일어났기 때문이다.
(p.127)

디버깅할 때 근시안의 함정에 주의하라. 표면에 보이는 증상만 고치려는 욕구를 이겨 내라. 실제 문제는 여러분
눈 앞에 있는 것에서 몇 단계 떨어져 있고, 또 다른 여러 가지와 연관되어 있을 확률이 다분하다.
(p.127)

버그를 살펴고기 전에 일단 작업 중인 코드가 경고 없이 깨끗하게 빌드되는지부터 확인하라. (p.128)

그놈의(Damn) 오류 메시지 좀 읽어라. (p.130)

디버거는 일반적으로 프로그램 현재 상태에 주목한다. 그러나 때로는 그 이상이 필요하다. (p.133)

트레이싱(tracing) 구문은 '여기까지 도달'이나 'x값 = 2' 같이 화면 혹은 파일에 출력하는 작은
진단용(diagnositc) 메세지를 일컫는다. (p.133)

문제의 원인을 찾는 매우 단순하지만 꽤 유용한 기법으로 그냥 누군가에게 문제를 설명하는 방법이 있다. (p.134)

간단해 보인다. 하지만 누군가에게 문제를 설명하게 되면 혼자 코드를 살펴볼 때는 당연히 여기고 지나갈 것을
명시적으로 이야기해야 한다. 이런 가정 몇 가지를 입 밖으로 내면, 문제에 대한 새로운 통찰을 불현듯이 얻을
수도 있다. 만약 들어 줄 사람이 없다면 고무 오리나 곰 인형, 화분도 괜찮다. (p.134)

버그와 관련된 루틴이나 코드가 제대로 작동하는 걸 '안다'고 해서 대충 얼버무리고 지나치지 말라.
그것을 증명하라. 이 맥락 안에서, 이 데이터로, 이 경계 조건하에서 증명하라. (p.136)

버그를 수정하는 김에, 혹시 이것과 동일한 버그가 있을 법한 다른 코드가 있는지 살펴보자. 바로 지금 그것들을
찾아서 고쳐야 한다. 어떤 일이 일어났든지 간에 똑같은 일이 다시 발생하면 그 사실을 알 수 있도록 하라. (p.137)

일지를 쓰면 좋은 점이 크게 세 가지 있다.

  • 기억보다 더 믿을 만 하다.
  • 진행 중인 작업과 직접적인 관계가 없는 발상을 일단 쌓아 놓을 수 있는 곳에 생긴다.
  • 고무 오리와 같은 역할을 할 수 있다.

엔지니어링 일지를 남겨 보라. 파일이나 위키말고 종이를 사용하라. 글씨를 쓰는 것은 키보드를 두드리는 것과는
다른 무언가 특별한 것이 있다. 일단 한 달만 써 보고 어떤 이득을 얻었는지 살펴보라. (p.143)

오늘 읽은 소감ㅤ📙

역시 디버깅은 중요하다. 디버깅은 정말이지.... 코딩척척박사가 되어도 헤어질 수 없는 부분인 것 같다.
에러를 기회로 삼게된 나에게 있어서 이번 디버깅에 관한 내용은 뼛속까지 뇌리에 박을 수 있었다.
여지껏 나는 디버깅하는 자체를 내가 무지해서(혹은 내가 모자라서)한다고 생각했었다.
하지만 디버깅 또한 코딩의 일부분이고, 오히려 디버깅을 통해 배우는 부분이 더 많다.
내가 REACT를 사랑하는 만큼이나 디버깅도 사랑하게 되었다.
이제 에러와 단짝이 되었고 디버깅은 음.... 가조쿠...? ㅋㅋㅋㅋㅋ
결론 : 디버깅 최고!
아 그리고 일지(일기)를 쓰는 것, 정말 추천드립니다.
일단 멘탈건강에 좋고요, 멘탈 와르르멘션때도 도움되고요,
슬럼프를 겪을 때 가장 도움이 많이 됩니다.
이거 정말 장담할 수 있어요. 일지(일기) 추천드립니다.
꼭 코딩이 아니더라도 하루에 3줄이상 내 기분, 내가 했던 일 뭐.. 아님 걍 먹고싶은거라도
끄적여보세요 ! 그게 아무것도 아닌것 같지만 나중에 자아를 꽉잡게 될 수 있는 소중한 문장들이 됩니당!
일기 8살부터 지금까지 써온 사람으로써 강추...!
앗, 연필로 쓰세요 디지털화 ㄴㄴ...

명언 혹은 궁금하거나 이해가 잘 가지 않는 내용ㅤ📘

🐘
진보라는 것은 변화와는 거리가 멀고 오히려 기억에 의존한다. 과거를 기억하지 못하는 사람은
과거를 반복할 운명이다.
조지 산타야나(George Santayana)

🐘
가장 속이기 쉬운 사람은 자기사진이다.
에드워드 불워-리턴(Edward Bulwer-Lytton)


#노마드코더 #북클럽 #노개북

profile
낯선이여, 당도하였으면 당도높은 복숭아

0개의 댓글