[노개북] pragmatic 3장. 기본 도구

오도원공육사·2022년 3월 23일
0

노개북

목록 보기
5/5

오늘 TIL 3줄 요약

  • 셸 가지고 놀기
  • 버전 관리
  • 디버깅 디버깅 디버깅

TIL 날짜

  • 2022.03.21

오늘 읽은 범위

  • 3장. 기본 도구

책에서 기억하고 싶은 내용

  1. 필요에 따라 도구를 취하라
    • 사용하는 도구로 다룰 수 없는 문제를 직면하면 다른 것이나 더 강력한 것을 찾아라
  2. 생각과 역사를 기록으로 남겨라
    • 아무리 흐린 먹물도 가장 뛰어난 기억력보다 낫다.
  3. 모든 소프트웨어는 작성되자마자 레거시가 된다.
  4. 프로그래머에게 명령어 셸이 작업대다.
    • GUI는 자동화할 수 없다.
  5. 셸의 힘을 사용하라 → 셸을 나의 집으로 만들어라
    • 별칭과 셸 함수를 사용하라
      • $ alias apt-up = 'sudo apt-get update && sudo apt-get upgrade'
      • $ alias rm = 'rm -iv'
    • 명령어 자동완성
      • tab 자동완성 뿐만 아니라 더 확장 가능하다.
  6. 사고가 터졌을 때 압박감 속에서 배우려 하지말고 지금 미리 익혀둬라
  7. 나의 노트북 환경을 복구하는 것에 대해 고민해보라
    • VCS로 관리해보자. → 노트북 바깥의 VCS를 사용해야한다.(ex. github)
  8. 디버깅은 단지 문제풀이일 뿐이다.
    • 당황하지말라
      • 버그는 반드시 일어날 수 있으며 실제로도 지금 일어났다.
    • 경고없이 깨끗하게 빌드되는 지 부터 확인하라
      • 컴파일러의 경고 수준을 최고로 높게 맞춰라.
      • 컴퓨터가 대신 찾을 수 있는 문제를 찾기위해 시간을 허비하지 말라.
    • 버그 재현하기
      • 명령어 하나로 재현할 수 있도록 하라
      • 버그 출현 지점까지 열다섯 단계를 거쳐야한다면 버그 수정을 훨씬 어렵다.
    • 설명하라
      • 누군가에게 문제를 설명하게 되면 당연히 여겼던 것을 명시적으로 이야기해야 한다.
      • 고무 오리나 곰인형, 화분도 괜찮다.
    • 버그와 관련된 루틴이나 코드가 제대로 작동하는 걸 ‘안다'고 해서 대충 지나치지 말라.
      • 그것을 증명하라.
      • 이 맥락 안에서, 이 데이터로, 이 경계 조건하에서 증명하라.
      • 가정하지 말라, 증명하라.
    • 엔지니어링 일지를 남겨라

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

  • 셸은 ls, find, ps 정도면 된다고 생각했었지만 오산이다. 셀 명령어들을 확실하게 익혀야겠다.
  • 나의 노트북 개발환경을 VCS로 관리한다는 생각은 한번도 해보지 못했다. 이번 기회에 고민해보고, windows, mac, linux 환경 관계없이 어느 상황에도 빠르게 내 개발환경을 세팅할 수 있도록 준비해야겠다.
  • 테스트코드를 더 철저하게 작성해야겠다.
  • TIL, 요즘 뜸하지만 다시 작성하기 시작해야겠다.

오늘 읽은 다른사람의 TIL

profile
잘 먹고 잘살기

0개의 댓글