DAY 6 오늘 읽은 범위: 3장. 기본적인 도구

 

📚 책에서 기억하고 싶은 내용?


지식을 일반 텍스트로 저장하라. → 최소공통분모

  • 암호를 암호화하라.
    사용자가 설정매개 변수들을 바꾸는 걸 원치 않는다면 모든 매개 변수 값의 보안용 해시를 해당 파일에 체크섬으로 포함시켜라.
  • 1) 원래의 어플리케이션이 소멸한 뒤에서 파싱가능, 복구를 위한 최소한의 환경밖에 없을 때를 상상해보자.
    2) 거의 모든 도구들은 일반 텍스트와 호환된다.
    3) 분석 및 테스트가 간단하다.

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

  • GUI 환경의 기능은 일반적으로 설계자의 의도에 따른 제약을 받는다.
  • 명령어를 재빨리 결합하려 할 때 사용하기 좋다.
  • 윈도우에서 유닉스 도구 사용하기

하나의 에디터를 잘 사용하라.

  • 선택한 에디터가 사용하는 모든 플랫폼에서 가능한지 확인하라. emacs, vi, CRiSP, Brief 등은 다중 플랫폼에서 사용가능하고 종종 GUI와 텍스트 화면 버전 모두를 지원한다.
  • 이미 하는 작업 외에 좀 더 많은 작업에 사용하도록 확장해보라.

언제나 소스코드 관리시스템을 사용하라.

  • 소스코드 관리 시스템 혹은 좀 더 넓은 의미의 형상 관리 시스템은 소스코드나 문서 관련의 모든 변화를 기억한다.
  • 제품 빌드가 자동화되고 그것을 반복할 수 있게 되는 것이다.

디버깅을 할 때 당황하지 마라.

  • 한 발짝 뒤로 물러나서 무엇이 자신으로 하여금 버그가 있을 거라고 생각하게 하는지, 그 증후의 원인이 무엇일지 실제로 생각해보는 것이 정말 중요하다.
  • 해당 버그를 살펴보기 전에 깨끗이 컴파일된 경고문 없는 코드로 작업하고 있는지 확인하라.
  • 1) 버그를 가시화하라. DDD 디버거
    2) 콜트리에서 내려가기 위해 트레이싱 구문을 추가할 수 있다.
    3) 누군가에게 이야기하게 되면 당연히 지나갈 문제에 대해 명시적으로 이야기해야 한다. 고무오리 이야기.
  • 놀라운 버그를 마주치면, 단순히 그걸 고치는 것을 넘어서, 왜 이 실패가 더 일찍 발견되지 않았을까 생각해 볼 필요가 있다. 버그를 미리 잡을 수 있도록 단위 테스트나 다른 테스트를 수정할 필요가 있는지 고려하라.

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

  • 텍스트 처리 언어를 이용한 애플리케이션 샘플을 만들어보자.

코드를 작성하는 코드를 작성하라.

  • 수동적 코드 생성기
    타이필을 줄여준다.
    새 소스 파일 생성시 기본적으로 들어가야하는 문구를 작성해줄 수 있다.
    프로그래밍 언어간 일회용 변환을 수행한다.
    런타임에 계산하기엔 비용이 많이 드는 참조 테이블과 여타 자원을 미리 생성해 둔다.
  • 능동적 코드 생성기
    DRY 원칙을 따르기 위해 필수적으로 써야 하는 것이다. 
    한 애플리케이션에서 다른 프로그래밍 언어가 사용되는 경우, 한 언어의 소스파일에서 이런 정보들을 파싱해 가지고 와서 다른 언어의 코드를 생성하는데 사용할 수도 있다.

 

🤩 오늘 읽은 소감?


저번 미션을 통해 다른 사람들의 TIL을 보고 조금 더 구체적으로 작성하는 연습을 하면서 글을 읽으니 더 기억에 많이 남는 것 같다.

 

에디터의 중요성에 대해서는 별로 생각해보지 못했던 것 같다. 리눅스 서버 환경에서 setting을 할 때나 사용했지 많이 사용해보지 못했던 것이 원인인 것 같다. 나의 경우는 vi 에디터를 사용하는데 좀 더 생산성을 높이기 위해 차후에 학습이 필요하겠다는 생각이 들었다.

 

텍스트 처리 언어, 능동적 코드 생성기를 이용한 애플리케이션 샘플 개발도 내가 시도해보지 않은 부분이라서 학습을 한 뒤 작은 프로그램이라도 만들어보고 싶다는 도전의식이 생겼다!

 

궁금한 점이나 잘 이해되지 않는 내용


  • 윈도우에서 유닉스 도구 사용하기
    해보지 않아서 이해가 되지 않았다. 한 번 시도해 볼만 한 내용인 것 같아서 작성해 두었다.

 

 

 

실용주의 프로그래머 - 교보문고

The Pragmatic Programmer숙련공에서 마스터로프로그래밍은 대체로 머리로 하는 일이지만 한편으로는 몸에 새겨져야 하고 때로는 그 이상의 통찰을 발휘해야 하는 상황에 맞닥뜨리게 되는 복합적인

www.kyobobook.co.kr

 

댓글