코드스테이츠/코드스테이츠 @ 개발 일지

[코드 스테이츠] 10일차, CLI 막연한 두려움

Je-chan 2021. 7. 28. 21:12

  오늘 배운 것을 크게 보자면 CLI를 다루는 법이었다. Linux 체제에 대한 기본적인 지식과 명령어들을 익히고, 실제 코드를 작성할 때 CLI를 통해서 해야하는 것들(node.js와 npm을 다룰 때 )을 위한 기초 다지기의 과정이었다. 개발을 인강으로 독학하고 있을 때 가장 힘들었던 부분 중의 하나는 터미널을 다루는 것이었다. 그 이유는

 

1. 터미널이 어떻게 명령을 받고 동작하는지를 모른다. 
2. 구글링으로 찾아서 복붙할 뿐 내가 지금 무엇을 쓰고 있는지를 모른다.
3. 이상한 거 입력했다가 노트북에 문제 생길까봐 꺼려진다
     (마치 제어판에서 이상한 거 지운다고 지웠는데 하필 중요한 거였어서 운영체제 다운되는 것과 비슷한 느낌. 이거 경험담)

 

  그렇다보니 아무래도 터미널의 검은 화면은 좀 무섭기만 하다. 그래도 컴공과가 가장 대단해보일 때가 이 터미널을 자기 마음대로 자유자재로 다룰 때가 아니던가?! 오늘 Sprint review해주신 크루분께서 딱 한 말씀했다. 

 

저는 카페에서 일할 때 터미널로 자주 씁니다.
있어 보이잖아요?

 

 

  오늘부터 CLI 빡공한다. 


[ 오늘의 TODO ]

  1. 코드 스테이츠) CLI 기본 명령어와 패키지 다운
  2. 코드 스테이츠) Node.js 기초
  3. 코드 스테이츠) Pair-Programming
  4. 패스트 캠퍼스) 인강 3개 이상 듣기 // optional
  5. 생활) 물 1L 이상 마시기
  6. 생활) 수-토-일 운동 
  7. 개선) 페어 프로그래밍할 때도 혼자 있을 때처럼 침착하게 오류 대처하기
    // 오늘은 딱히 오류 있을만한 프로젝트가 아니었다.

[ 오늘의 교훈 - 옛날의 오류 해결 ]

  오늘은 딱히 오류가 있을만한 프로젝트를 하지 않았다. 오류가 있기보다는 개념 배우는 것과 npm, nvm, node.js 등을 다운 받고 package.json, node_modules 등의 개념을 확실하게 다지는 시간이었다

 

  오늘의 Pair-Programming 을 한 소감을 말하자면 제대로 버스 탔다!

1. 페어분에게 많은 것을 배우자

  오늘 내 페어분은 개발에 대해서 처음 하신 분이지만 서버 엔지니어로 IT 업계에 오래 일하셨던 분이었다. 그런데 심지어 오늘 수업 내용이 Linux, CLI네? 내 페어분은 오래 서버 엔지니어로 일하셨던 만큼 이쪽 분야에서는 전문가셨다. 그것을 알고 내가 선택한 전략,   "이전부터 궁금했던 거 다 물어보자!"  

 

  나는 짧은 시간이었지만 프론트 엔드 개발을 인강으로 들으면서 독학으로 공부를 했고, 늘 터미널과 관련된 진도에서 난관에 봉착했었다. 인강에서는 막힘없이 진도를 쭉쭉 나갔으나   왜! 내 멕북의 터미널에서는! < zsh command not found: >가 뜨는 거냐!!   물론 이 문제는 구글링을 통해서 많이 해결했다.  그러나 그 해결 방법은 그냥 복사 붙여넣기였을 뿐, 내가 쓰고 있는 것이 무슨 의미를 지니고 있으며 어떤 원리에 의해 해결되는지를 몰랐다.    그래서 나는 이번 기회에 페어분에게 한 번 궁금했던 것들을 질문하게 됐다. 즉, 옛날에 계속 먹었던 오류들을 해결하는시간을 가졌다. 다행히 우리 페어분께서는 나에게 뭐라도 더 알려주고 싶어 하셨기 때문에 질문하는데 부담이 없었다. 

 

  내가 느끼는 건 Pair-Programming 은 여러모로 많은 도움이 되는 것 같다. 비단 이 분이 많은 지식을 갖고 계셔서 새로 배운 지식이 많아서만 그런 게 아니라 페어분이 꼭 많은 지식을 갖고 계시지 않더라도 각자의 능력과 컴퓨팅적 사고의 흐름이 다르기에 나는 떠올리지 못한 문제 풀이 방식, 그리고 그분과 소통하며 절충안을 찾아내는 방법 등을 터득하는 과정이기 때문에도 그렇다. 

 

2. `sudo`, `/`, `rm`, `mv` 명령어만 아니면 터미널에 대한 두려움을 버려라! 

  오늘의 가장 큰 교훈이었다. 페어분은 오랜 시간 터미널을 다루셔서 그런지 터미널에 대한 많은 꿀팁을 전수해주셨다. 사용하면 좋은 명령어들, 빠르게 터미널 명령어 작성하는 법, 맥북에서 사용하면 좋은 어플리케이션 등등 정말 많은 가르침을 주셨다. 

 

  그중에서도 가장 나에게 많은 도움을 준 조언은 바로 저 제목이다. 터미널에 대한 두려움을 버리라는 것이다. 내가 예전에 제어판에서 뭐 하나 지웠다가 컴퓨터가 완전 깡통이 된 적이 있어서 왠지 모를 두려움이 있었다. 그런데 그 분이 설명하시는 터미널을 듣고는 그 두려움에서 조금 해방됐다. 

 

터미널은 그냥 우리가 파일 열고 닫고, 파일들 수정하고 저장하고 복사하고, 웹 브라우저에서 파일을 다운로드 받는 것과 같습니다. 명령어만 잘 안다면 그냥 GUI로 우리가 컴퓨터 다루는 것과 비슷해요.

 

  그러니까 터미널이라고 해서 매우 특별한 것은 없다는 것이다. 특히 Linux 체제라면 더더욱! 그래서 코드 스테이츠에서 배우는 명령어들과 페어분이 가르쳐주신 꿀팁들을 잘 정리해서 외우고, 계속 활용하다 보면 언젠가는 진짜 GUI로 자연스럽게 컴퓨터 다루듯이 CLI로 컴퓨터를 다룰 수 있지 않을까 기대를 해본다. 어느정도 터미널이라는 막연한 두려움에서 해방된 느낌이다. 

 

 

    미지의 공간에 대한 두려움은 여행의 설렘으로 바뀔 수 있고    

숙소 한 곳만 정해서 여행하다 보면 어느샌가 동네처럼 느껴지는 법이다.

CLI를 동네로 바꿔보자!