Community

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

← Go back
실용주의 프로그래머-TIL-3(20220323)
#pragmatic
2년 전
527

오늘 TIL 3줄 요약

언제나 일을 하는 데에 더 나은 방법이 없는지 살펴라.

마우스 1주일 압수.

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

TIL (Today I Learned) 날짜

2022. 03. 23

오늘 읽은 범위

3장. 기본 도구

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

언제나 일을 하는 데에 더 나은 방법이 없는지 살펴라.

사용하는 도구로 다룰 수 없는 문제를 마주쳤다는 생각이 들면,

도움이 될 만한 뭔가 다른 것이나 더 강력한 것을 찾아보아야 한다는 것을 명심하라.

Topic 16 일반 텍스트의 힘

일반 텍스트는 인쇄 가능한 문자열로 이루어지고, 정보를 전달하기에 적합한 형식을 갖추어야 한다.

유닉스의 철학과 연결됨!

Topic 17 셸 가지고 놀기

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

자신만의 셸 ( 색깔 조합 설정, 프롬프트 설정, 별칭과 셸 함수, 명령어 자동 완성)

Topic 18 파워 에디팅

에디터를 유창하게 쓸 수 있게 하라.

유창해지는 방법 : 반복
무언가 같은 일을 반복하는 것을 발견 -> 더 나은 방법이 있는지 찾아본다 -> 새 기능을 찾았다면-> 몸이 기억하도록 만든다. (못 찾았다면-> 만들어봐라 ?!)

Topic 19 버전 관리

버전 관리 시스템은 일종의 거대한 '실행 취소' 키와 같다.

공동 작업과 배포 파이프라인 이슈 추적에다 일반적인 팀 상호 작용까지 아우르는 훨씬 더 큰 세상을 놓치고 있는 것이다.

언제나 버전 관리 시스템을 이용하라.

Topic 20 디버깅

참으로 고통스러운 일입니다.

자신이 겪는 어려움을 보고는 알게 되죠.

다른 누구도 아닌 바로 자신이 문제를 만들었다는 걸.

- 소포클레스(Sophocles) 《아이아스》

당황하지 말라.

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

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

코드가 - 이 맥락 안에서, 이 데이터로, 이 경계 조건에서 - 제대로 작동한다는 것을 증명하라.

놀라운 버그를 마주쳤을 때, 단순히 그걸 고치는 것을 넘어서 왜 이 문제가 더 일찍 발견되지 않았을까 생각해 봐야 한다.

Topic 21 텍스트 처리

awk, sed 같은 도구나 python, ruby 같은 프로그래밍 언어로 훌륭히 텍스트 처리를 할 수 있다.

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

Topic 22 엔지니어링 일지

무엇을 했고 무엇을 배웠는지, 떠오르는 생각을 그려본 것, 방금 읽은 계기판의 눈금 등 기본적으로 업무에 관한 건 무엇이든지 적었다.

파일이나 위키 말고 종이를 사용하라.

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

지난 회사에서 일 할 때 리눅스 서버를 주로 사용해서 일했었다. 그래서 CLI 환경에서 강제로 일을 많이 하게 되었고, bash script 를 간간히 썼었다. 그때 서버에서는 GUI IDE를 사용 할 수가 없어서 vim 에디터를 강제로 사용하곤 했었다. 너무나도 고통스러웠다. 커서를 이동하는것 부터 hjkl 를 사용해야 했고, 입력도,저장도, 심지어 에디터를 종료하는것도 달랐다.

그 회사에는 정말 특별한 시니어 개발자가 계셨다. 기본적인 시스템의 사용을 CLI 환경에서 모두 처리하는 분이었다. 텍스트에서 필요한 정보만을 찾아서 파일로 정리하는 것도, 파일간에 다른 점을 확인하는 것도, 모두 터미널에서 스크립트 1~2줄을 작성해서 처리했다. 만약 GUI 환경에서 내가 한다면 여러번의 절차를 거쳐서, 한참의 시간이 지나서 하거나, 너무 노가다가 심해서 포기했을 일을 3~4분만에 뚝딱 해내는 분이셨다.

어떻게 해서 이렇게 잘 활용하는지 궁금해서 물어 봤었다. 그분은 예전에 장시간 키보드 타이핑을 하고, 키보드와 마우스를 많이 왔다 갔다 하면서 손목이 크게 다쳤었고, 그 때문에 일도 쉬어야 했었다고 하셨다. 그래서 어떻게 해야 손목에 무리가 가지 않는 방법으로 할 수 있을까 고민하였고, 최대한 타이핑을 덜하는 방법, 마우스를 덜 사용하는 방법을 연구하다보니 이렇게 할 수 있었다고 하셨다.

그분과 함께 일하면서 나도 어떻게 하면 효율적으로 일 할 수 있을까? 고민을 많이 했고, 또 모르는 것을 물어보면 페어 프로그래밍을 하듯 셸 사용법을 알려주셔서 많이 배웠었다. 나만의 셸 설정도 따로 하고, 각종 셸 확장 도구들도 설치해서 사용하면서 무서웠던 CLI 환경이 너무나도 편리한 환경으로 바뀌어 갔다.

지금은 주로 하는 업무가 예전 회사와는 바뀌면서 그때 배웠던 것을 많이 잊어버리기도 했다. 책의 내용 중 에디터에 유창하다는 것이 무엇인지, 또 도전해 볼 것에는 1주일 동안 키보드로만 에디터를 사용하라는 것을 보면서 한번 도전해 보면 재미있을 것 같다는 생각이 든다.

예전에 나를 가르쳐 준 시니어 개발자 처럼 내가 일하는 모습을 보면서 배우고 싶어 하는 사람이 생기도록 유창해지고 싶다.

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

오늘 읽은 다른사람의 TIL