작은 프로그래밍 요령들

2 hours ago 1

엔지니어링 생산성의 상당 부분은 언어 기능, 명령어, 디버깅 단서 같은 작은 지식에서 나옴 특히 많은 사전 지식 없이 활용할 수 있는 요령이 유용하며, Python을 몰라도 python3 -m http.server로 현재 디렉터리에 간단한 서버를 띄울 수 있음 명령어 이력 검색, SQL 함수 실험, 쿼리 성능 분석, Git 변경 이력 추적처럼 일상적인 작업을 쉽게 만드는 도구와 기능이 있음 회사 안에서는 문제별 데이터 소스, 도움을 줄 동료, 문서 위치, 운영 명령어 같은 조직 고유의 지식도 큰 효과를 냄 엔지니어링 팀에 하루 한 가지 요령을 공유하는 방식은 정보 과부하를 피하면서 시간을 절약하고 유용한 토론을 이끌 수 있음 일상 작업에 도움이 되는 작은 요령 작은 지식은 많은 사전 지식 없이도 작업을 쉽게 만들 수 있음 언어 기능의 존재를 아는 것, 원인 불명의 TCP 지연이 TCP_NO_DELAY 설정과 Nagle 알고리듬에 관련됐을 가능성을 아는 것, 난처한 상황을 해결하는 git 명령이나 파일을 고치는 sed 요령 등이 해당함 Python을 몰라도 python3 -m http.server로 현재 디렉터리에 간단한 서버를 띄울 수 있음 명령어 이력 검색은 도구와 설정으로 개선할 수 있음 fzf를 설치하면 ctrl + r로 퍼지 검색을 하도록 설정할 수 있음 atuin은 셸 이력을 검색 가능한 SQLite 데이터베이스로 대체함 per-directory-history로 특정 디렉터리에서 실행한 명령 검색과 전체 이력 검색 사이를 전환할 수 있음 저장할 이력의 양도 조정할 수 있으며, zsh 이력 보관량 설정 질문을 참고할 수 있음 SQL 실험과 성능 분석에 간단한 기능을 활용할 수 있음 FROM 없이 SELECT를 실행해 데이터베이스 함수의 실제 동작이나 SELECT TRUE <> NULL의 결과를 확인할 수 있음 PostgreSQL과 MySQL의 explain analyze는 쿼리를 실제로 실행하고 성능에 관한 더 많은 정보를 제공함 Julia Evans의 블로그는 작은 지식이 강력하면서도 재미있고 접근하기 쉽다는 생각을 잘 보여주는 사례임 정규 표현식의 단어 경계 단언 \b 를 사용하면 단어의 시작이나 끝을 쉽게 찾을 수 있음 지표에 로그 기반 버킷을 사용하면 관심 있는 필드의 값 분포를 파악할 수 있음 const bucket = Math.floor(Math.log10(userInGroupCou...

Read Entire Article