상세 컨텐츠

본문 제목

초보 개발자가 꼭 알아두어야할 다섯가지 기술

IT 기본소양

by 메타샤워 2023. 7. 19. 14:51

본문

오늘은 아무도 가르쳐 주지 않는, 그리고 이제와서 누군가에게 물어보기도 뻘쭘한 초보 개발자를 탈출하기 위해 필요한 테크닉에 대해 이야기 해보자
 
초보 개발자가 고급 개발자로 되어가는 과정을 한마디로 " 좀더 게을러지기 위한 강렬하고 적극적인 의지의 표현 " 이 되겠다.
'생산성' 이니 '효율성' ,' 정확성 ' 같은것들은 프로그래머에게 있어서 부수적으로 얻어지는 것일 뿐 목적이 될 수 없다.
오로지 끊임없이 편하고 게을러지기 위한 노력이 주가 되어야 할뿐...
 

 

 
 
1.  마우스 안쓰기
 
 오늘날의 컴퓨팅 환경은 시간과 청각과 같은 인지 연역에 의거한 인간의 자연스러운 본능에 모든 행동이 정의되고 제약이 되는 게슈탈트 심리학의 세계이다. 그러니까 버튼은 누르고 싶게 생겨야 하고 이벤트 알람은  귀에 거슬려야 한다.
하지만 프로그래밍 세계는 추상의 세계이다. 보이지 않는 본직을 파악하고 이를 다시 추상화 해 나가는 작업의 반복이다.
이러한 이유로 마우스 안쓰기를 초보 프로그래머에게 있어 익혀야할 기술의 첫번째 이름으로 올렸다.

 

 
 결론부터 말하자면 마우스는 프로그래머에 있어 정신건강에 해롭다. 
마우스는 인체공학적인 면에서도 손가락만 움직이면 되는 키보드와는 그 편의성과 정확성, 속도면에서 엄청나게 차이가 날 뿐만아니라, 심락학에서 말해지는 몰입상태를 방해한다는 점에서도 프로그래머에게는 맞지 않는다.
 
 마우스를 사용하는 것은 순전히 직관에 끌리는 사람의 본능 때문이다.
오늘날의 컴퓨팅 환경은 직관, 즉 시각과 청각을 최대한  활용하도록 설계되어 있다. 그러니까 마우스를 사용하지 않는것은 자연스러운 본능과의 싸움인것이다. 하지만 걱정하지 말자, 결국 컴퓨팅 환경을 만들어내고 있는 것들 또한 프로그래머이고, 이들은 자신이 만든 프로그램에 키보드 사용자를 배려한 여러 장치를 해 놓는다. 단축키와 매크로 같은것들을 말하는 것이다.
 
 일단 오늘부터라도 작업에 주로 사용하는 어플리케이션의 주요 기능들을 반드시 단축키를 사용해서 진행하는 습관을 들여보자.
IDE 뿐만아니라 워드나 오피스, 그리고 윈도우 같은 OS관련 단축키도 포함해서 말이다. 상급 개발자라고 하는 것은 무언가 대단한 이치를 깨달은 사람이 아닌 별거 아닌 작은 습관들을 몸에 익힌 사람들일 뿐이다. 
 
 
 
2. Command Line Interface
 
 상징적인 의미 이외에 현실적으로도 Command Line Interface( CLI )는 프로그래머가 보다 적극적이고 강력하게 게을러질수 있는 아주 중요한 도구이다. CLI는 동일한 작업의 반복 수행 뿐만 아니라 바로 위에서 언급한 마우스 사용의 억제에도 큰 도움이 된다.
 
 CLI는 쉘 자체로도 다양한 작업이 가능하지만 AWK나 GREP와 같은 툴을 함께 사용한다면 엄청난 시너지 효과를 낼 수 있다는 사실도 잊지 말자. 윈도우의 경우 powershell을 사용한다면 DOS스타일의 bat보다 훨씬 다양한 작업이 가능하지만, cygwin이나 unix utils를 이요한 유닉스 스타일의 쉘 작업을 익혀 둔다면, 윈도우 뿐만 아니라 유닉스, 리눅스는 물론이오, BSD를 기반으로 한 MAC OS에서도 요긴하게 써 먹을 수 있다.
 
 우야둥둥, 하루에 두번 정도 이상 행하는 작업들은 CLI를 이용해 자동화 할 궁리를 써보자
 
 The command Line Crash Course :  CLI 의 세계에 입문하기 위한 훌륭한 길잡이
 YouTube Command Line Tutorial : 유투브에서 입맛에 맞는 강의를 골라보자 
 
 
3. 정규표현식
 
 정규표현식은 텍스트 데이터를 다루는데 있어서 엄청난 편의성을 제공한다. 특히 개발 도중 자주직면하게 되는 복잡한 검식이나 치환작업들을 다루는데 있어서 대단히 편리한 도구이며, 게을러지기 위해서는 약간의 수고를 들여 꼭 익힐 필요가 있는 기술임에 의심의 여지가 없다.
 
 초보 개발자들에게 다소 어려울 수 도 있지만 대부분의 이 바닥의 기술들이 그러하듯이 알고나면 별거 아니다. 게다가 요즘에는 친절한 웹 튜터리얼들이 넘친다.
 
 RegexOne : 온라인 정규표현식 튜토리얼
 
 
4. 터미널 기반 텍스트 에디터
 
 이클립스나 intelliJ, Sublime, Brackets와 같은 뛰어난 IDE가 넘처나는 시대이지만 아직까지 텍스트편집기나 코딩 툴로서 ViEditor나 Emacs를 애용하는 개발자가 많이 있다. 텍스트 환경위에서 움직이는 이러한 툴들은 위에서 언급한 키보드만 이용한 작업이라던지 CLI과 궁합이 좋기 때문이다.
 
 Vim demo : VIM을 이용한 텍스트 에디팅 데모
 Emacs demo : Emacs를 이용한 텍스트 에디팅 데모
 
 
5. 구글 파워 서칭
 
 구글은 오늘날 프로그래머에게 있어서 문제 해결의 단서를 찾는 데이 절대 빼 놓을 수 없는 도구이지만 의외로 구글이 제공하는 갈력한 검색 옵션 기능들을 제대로 사용하는 개발자는 많지 않다.
 
 속는 셈 치고 구글에서 파워 power searching과 advanced power searching 강의를 수강해 보자 아니 최소한 무슨 내용을 자루는지 만이라도 살펴보자. 단언컨데, 적은 노력으로 큰 편의를 제공할 것이다.
 

관련글 더보기