책책책book/실용주의프로그래머
[실용주의 프로그래머] 스터디 5주차_3강 기본 도구
햄❤️
2022. 5. 30. 13:41
728x90
✏️ 범위: 103p~144p
사용하는 도구는 재능을 증폭한다. 생산성을 높여준다. 도구의 사용법을 배우는데 시간을 투자하라. 도구가 손의 연장이 될 것이다.
Topic 16. 일반 텍스트의 힘
- 프로그래머의 기본 재료는 지식이다. 이 지식을 설계, 구현, 테스트, 문서로 표현한다. 이 중 최고의 포맷은 일반 텍스트(plain text)
- HTML, JSON, HTTP, SMTP 등이 모두 일반 텍스트이다.
- 왜 일반 텍스트를 쓰면 좋은가?
1. 사람이 읽을 수 있는 형태는 계속 쓰일 확률이 높다. 지원 중단될 리스크가 적다.
2. 대형 어플리케이션을 설치해도 설정 파일을 버전 관리 시스템에 넣는다면 기존 도구를 활용할 수 있다.
3. 특별한 도구 없이 더 쉽게 테스트가 가능하다.
Topic 17. 셀 가지고 놀기
- GUI만을 사용하는것은 권장하지 않는다. 일반 작업을 자동화할 수 없고, 매크로 도구를 만들기 어렵다.
GUI의 장점은 WYSIWYG(What You See Is What You Get) but 단점은 WYSIAYG(What You See Is All You Get) - 별칭(alias)를 만들어 작업을 단순화하라.
Topic 18. 파워 에디팅
- 에디터를 유창하게 쓰면 에디터 사용법을 생각하지 않고 자유로운 프로그래밍에 도움이 된다.
- 아래와 같은 기능들이 유창해지면 좋다.
단어, 문자 단위로 이동하기, 자동 들여쓰기, 주석, 실행 취소 및 복구, 에디터 창 쪼개기, 특정 줄 번호 이동, 컴파일 오류 표시 - 단축키를 외우려 하지 말고 반복을 통해 익숙해져라
- 마우스나 트랙패드를 치워라. 키보드로만 에디터를 사용해보라(1주일만..)
Topic 19. 버전 관리(VCS = Version Control System)
- 버전 관리 시스템은 일종의 거대한 "실행취소" 키와 같다.
- 변경사항 추적이 가능하다. 버그 추척, 감사, 품질관리에 유용하다.
- 팀으로 일할 때는, branch를 이용하여 서로의 작업을 방해하지 않고 함께 작업할 수 있다.
- 스터디 팀원분은 jira 이슈의 numbering으로 이슈마다 branch를 항상 따신다고 한다!!
Topic 20. 디버깅
- 디버깅은 단지 문제 풀이일 뿐이다. 비난 대신 문제를 해결하는데 집중해야한다.
- 당황하지말고 눈 앞에서 몇단계 떨어져서 문제를 보려고 하자. 근본 원인을 찾으려고 노력하라.
- 경계 조건과 실제 최종 사용자의 사용 패턴을 모두 테스트해야한다.
- 디버깅의 시작은 버그를 재현하는 것이다.
- 스택 트레이스가 크다면 스택 트레이스를 이진 분할하여 접근하라.
- 문제가 없었던 버전 중 가장 최근 버전과 현재 버전 사이에서 중간 정 도에 위치한 릴리스를 골라라. 테스트를 수행한 후, 결과에 따라 어느 쪽을 탐색할지 고른다.
- 놀라운 버그를 마주하면, 왜 이 문제가 더 일찍 발견되지 않았을까를 고민해야한다.
🥺 팀원들의 tip: 제일먼저 중간지점에서 디버깅을 해라!! 디버깅 속도가 빨라진다.
Topic 21. 텍스트 처리
- 텍스트 처리 언어를 하나 익혀라. (루비, 파이썬, 펄)
🥺 텍스트 처리 언어가 뭐지?
Topic 22. 엔지니어링 일지
- 회고를 쓰는 것, 하던 일을 돌아보면서 새로운 발상이나 더 좋은 아이디어를 얻을 수 있다.
728x90