Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL.#5 - 기본 도구
by bora
#pragmatic
2년 전
577

오늘 TIL 3줄 요약

  • 생각과 역사를 기록으로 남겨라.

  • 모든 것을 버전 관리 아래에 둬라.

  • 가정하지 말라. 증명하라.

TIL (Today I Learned) 날짜

2022년 5월 18일

오늘 읽은 범위

3장 기본 도구

책에서 기억하고 싶은 내용을 써보세요.

  • IDE가 갖는 한계를 넘어설 수 있어야 한다. 유일한 방법은 기본 도구들을 언제나 곧바로 사용할 수 있도록 예리하게 유지하는 것이다

  • <항목20 디버깅>의 고수가 되기 전에는 위대한 프로그래머가 될 수 없다.

  • 도구들의 사용법을 배우는 데에 시간을 투자하라.

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

  • 명령어 셸의 힘을 사용하라

  • 여러분은 셸 안에서 많은 시간을 보내게 될 것이다. 소라게처럼 조개 껍데기 그러니까 셸을 여러분의 집으로 만들어라

  • 유용한 기능을 새로 찾았다면 이 기능을 여러분의 몸이 기억하도록 만ㄷ들어야 한다. 그래야 반사적으로 사용할 수 있다.

  • 유일한 방법은 반복이다

  • 사용하는 에디터의 확장 기능 언어를 파헤쳐 보라. 여러분이 늘 하는 반복적인 일을 자동화할 방법을 연구해 보라. 한두 줄만으로 가능한 경우가 많다.

  • 버전 관리 시스템은 소스 코드나 문서의 모든 변경 사항을 기억한다. 바르게 설정된 버번 관리 시스템이 있으면 소프트웨어의 이전 버전으로 언제든지 되돌아갈 수 있다.

  • 프로젝트 이외의 것에도 버전 관리를 사용하라.

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

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

  • 기술의 전당에서는 남을 비난하기보다 문제를 고치는 데에 집중해야 한다.

  • 표면에 보이는 증상만 고치려는 욕구를 이겨 내라

  • 코드를 고치기 전 실패하는 테스트부터.

  • 그놈의 오류 메시지 좀 읽어라.

  • 트레이싱 구문은 ‘여기까지 도달’이나 ‘X값 = 2’ 같이 화면 혹은 파일에 출력하는 작은 진단용 메시지를 일컫는다. 트레이싱은 여러 프로세스가 동시에 작동하는 경우, 실시간 시스템, 이벤트 기반 어플리케이션 등, 시간 자체가 중요한 요소가 되는 시스템에서 이루 말할 수 없이 소중하다.

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

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

  • 테스트 훅은 테스트 대상 코드의 동작이 테스트 시에만 달라지도록 하는 메커니즘을 뜻한다.

  • 디버깅은 그 자체만으로도 충분한 도전 거리다.

  • 텍스트 처리 언어를 익혀라.

  • 엔지니어링 일지는 기억보다 더 믿을 만하다. 진행 중인 작업과 직접적인 관계가 없는 발상을 일단 쌓아 놓을 수 있는 곳이 생긴다.

  • 누군가에게 이야기를 하는 것과 비슷하다. 하던 일을 돌아보기에 알맞은 기회가 생기는 것이다.

  • 엔지니어링 일지를 남겨 보라. 파일이나 위키말고 종이를 사용하라, 글씨를 쓰는 것은 키보드를 두드리는 것과는 다른 무언가 특별한 것이 있다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 에디터를 유창하게 사용하는지에 대해 확인할 과제들을 보았는데, 절반정도밖에 단박에 떠오르지 않았다.. 개발자의 길을 시작할때 입문한 이클립스를 십년넘게 사용하고 있고, ( 간단한 텍스트나 로그파일은 에디터플러스로 보지만,, ) 인텔리제이를 사용하려고 시도했지만, 어색함에 다시 이클립스로 돌아왔던지라… 이번에 다시 꼭 도전해 봐야지!!!

  • 에디터의 확장 기능을 찾아볼 생각도, 내가 확장 기능을 만들 수 있다는것도 생각해보지 않았다는게 참 부끄러웠다… 단순하게 사용하는 현실이란… ㅠ_ㅠ

  • 마우스를 쓰지 않고 코딩이 가능할까???? 도저히 상상할 수 없는 일이다…….. 단 몇시간도 힘들거 같은데… 이건 사실 자신이 없다..;

  • 디버깅챕터는 그냥 가슴이 다 와닿는 말로 쿡쿡쿡 찔렀다. 눈 앞의 오류만 급급하게 해결하고 지나갔던 시간들과 나는 분명히 오류가 없었는데, QA에서 반려된 테스트건들.. 적절한 테스트가 이루어지지 않아서 발생한 일들.. 반성하자

  • 니꼬쌤의 강의중에서 파이썬을 배워보려고 신청했는데,,, 텍스트 처리 언어를 익히라고 조언이 나왔으니. 불태워보자..

  • 엔지니어링 일지는 프로젝트 초반에는 부지런히 적으려고 하다가 일이 바빠지면서 항상 흐지부지 되기 마련이었는데, 생각해보면 초반의 기록이라도 있어서 그나마 다행이라고 느꼈던 적이 많다. 뭐든 처음과 끝이 같아야 하는데… 어떻게 된게 이 책은 읽을 수록 반성할 것들만 많아지는지….

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 트레이싱이라는 개념?

오늘 읽은 다른사람의 TIL