우분투로 자바스크립트 개발하기 — 개발 1. Intro

개발자와 피자는 뭔가 잘 어울리는 것 같아요 :)

개발은 “아무나 할 수 없는 것”으로 보통 여겨져 왔습니다. 아니, 일반인은 못(안)한다라고 했었습니다. “nerd”, “geek” 이란 단어와 어울리는 그런 말이었는데요. 그래서 그런지 뭔가 공포감이 심합니다. 특히 개발을 위해서 맥을 구매하시거나, 우분투를 설치하시면 다른 OS에서 오는 이질감과, Unix계열 OS에 대한 부족한 이해가 마치 “개발은 어렵다”라는 말로 곡해되기도 합니다.

저는 코드스테이츠 CSE로써 많은 부트캠프 수강생들의 자바스크립트 개발 과정을 지켜봐 왔습니다. 특히 이 OS를 만지고, 새로운 패키지를 깔고, 터미널을 여는 것을 굉장히 힘들어합니다.

우선은 불만부터 시작됩니다. “멀쩡한 윈도우를 두고 왜 Unix 계열의 OS를 사용해야 할까?”부터 시작해서 많은 불만이 생겨납니다. 이 불만에 대한 대답은 비교적 명확한 편입니다. C#이나 .NET 개발을 하시는 분이라면 윈도우가 좋은 답일 수도 있겠지만, iOS, MacOS 개발까지 가능한 macOS의 유용성은 더 말을 해봐야 입만 아픕니다. AWS도 대부분 Unix 기반 OS로 구성이 되어있고요. 궁금하면 직접 찾아보셔도 됩니다. 전 macOS를 50만원 주고 살 수 있다면 지금 당장이라도 구매할 의사가 있습니다.

개발자 윈도우 vs 리눅스 — Google Search

특히 자바스크립트는 오픈 소스, 특히 npm을 기반으로 발전해왔습니다. 이 거대한 ecosystem을 기반으로 개발자들이 스스로 업데이트하고, 스스로 발전하는 건설적인 개발 환경을 구축해왔습니다. 문제는 이 ecosystem이 macOS 사용자 위주로 구성되어 있다는 점입니다. 대표적으로 nodejs의 버전 관리를 도와주는, nodejs 개발의 시작과 다름없는 nvm은 윈도우를 지원하지 않습니다. 여러 대안이 있지만 이는 결국 "대안" 이라는 점에서 한계가 있습니다. 자바스크립트 생태계의 큰 부분을 차지하는 리액트 개발진이 맥북 이외의 컴퓨터를 쓰는 것을 본 적이 없습니다. 프론트앤드 개발자 중 맥을 쓰지 않는 사람은 손에 꼽습니다. 이 현상은 미국으로 가면 더 심해집니다.

하지만 맥북은, 정말, 비쌉니다. 개발은 전공과 관계 없이 누구든 시작할 수 있다고, 많이들 이야기 합니다. 하지만 이 문구는 맥북은 분명 거리가 있습니다. 코드스테이츠를 수강하시는 분들도 모두 맥북을 살 수 있을만큼 여유롭지는 않습니다. 그래서 윈도우 노트북을 가지고 있는 분들에게는 우분투를 설치를 권하고 있습니다.

우분투는 여러 유닉스 계열 OS 중에 일반 사용자들이 가장 많이 사용해서, 어느정도 안정화가 되어있습니다. 다행히도 자바스크립트 개발을 하고 서버에 대해서 공부하기에 충분합니다. 또한 우분투를 사용함으로써 리눅스와 컴퓨터에 대한 지식을 얻을 수 있는 것은 덤입니다. 윈도우는 File System 자체가 완전히 달라서 자바스크립트 개발에 있어서 지장이 있을 정도로 많은 허들이 있습니다.

문제는 위에서도 언급했지만, 다른 OS에서 오는 이질감과, Unix 계열 OS에 대한 부족한 이해가 코드에 대한 집중을 방해하는 경우가 많았습니다. “이거 설치했는데 안되더라”, “이건 되는데 왜 이건 안되냐”… 이런 이슈들을 해결하는데 많은 시간을 투자하십니다. 수강생들의 성공적인 수료를 돕고 질문을 해결해주는 CSE로써 같은 질문이 계속 반복해서 올라오는데, 정말 똑같이 어려워하는 모습을 많이 봤습니다. 이를 해결하며 생긴 노하우를 블로그로 정리하고 싶은 욕구가 생겼습니다.

저의 트러블슈팅 경험을 정리해서, 우분투로 자바스크립트 개발을 하시는 모든 분들이 참고하실 수 있는 FAQ 및 튜토리얼을 만들고자 합니다! 누구든 자바스크립트 개발을 시작할 수 있게 돕겠습니다.

이 튜토리얼을 참고하시다가 보면, 자연스럽게 Unix 계열 OS에서 자주 사용하시게 되는 기초적인 CLI 커멘드와 우분투 기초 상식에 대해서 자연스럽게 배우실 수 있습니다. 또한 단지 우분투를 설치하는 것 뿐 만 아니라, 향후에도 직접 패키지 설치 등을 할 수 있게 여러 안내가 되어있으니, 믿고 따라와 주세요 :)

우분투 설치하기

우선 우분투로 자바스크립트 개발을 하려면, 우분투를 컴퓨터에 설치해야 합니다. 개발 공부 목적이라면, 웬만하면 우분투 하나만 설치하는 것을 권하고 있습니다. 물론 개인의 사정에 따라서 윈도우 듀얼 부팅이 가능하게 우분투를 설치할 수도 있지만, 우분투만 사용함으로써 얻는 여러 장점 때문에 우분투 하나만 설치하는 것을 권하고 있습니다. 어려운 진입장벽이기도 하지만 이겨내면 컴퓨터와 리눅스에 대한 더 나은 이해를 할 수 있습니다.

  • AWS EC2 등 서버 컴퓨터의 초기세팅과 우분투 설치 후의 작업이 매우 유사합니다. 그러므로, 우분투 트러블슈팅은, 서버 운영체제 (특히 AWS) 트러블슈팅과 거의 같다고 볼 수 있습니다.
  • 우분투를 사용하면서 Unix 류 운영체제에 대한 더 깊은 이해를 할 수 있습니다.
  • CLI 에 더 익숙해질 수 있습니다.
  • 세세한 세팅을 직접 할 수 있음으로, 컴퓨터에 대한 이해가 더 높아집니다.

많은 리눅스 디스트로중 우분투를 추천하는 이유는 역시 범용성과 안정성 때문입니다. 그래도 그나마 가장 안정적인 GUI 시스템을 보유하고 있고, 많은 리눅스 인구가 사용하고 있기 때문에 같은 오류를 겪었던 사람을 쉽게 찾을 수 있습니다. 구글링했을 때 정답을 확인할 수 있는 확률이 더 높다는 것이죠. 초보자에게 아주 좋습니다. 안타까운 점은 한글 레퍼런스가 많지 않다는 것인데요. 그래서 이렇게 열심히 적어보고 있습니다 :)

우분투 설치는 아래 가이드를 참고 부탁 드립니다.

2020년 7월 기준으로 저는 Ubuntu Desktop LTS 20.04를 설치드리기를 추천드립니다. UI / UX 로나, 커널 업데이트 등 중요한 업데이트가 많이 담겨있습니다. 혹시 20.04를 사용하시다가 문제가 생긴다면 (특히 구형 노트북) 18.04를 까셔도 괜찮습니다.

우분투가 잘 실행된다면, 이제 개발을 위한 세팅을 시작해보겠습니다 :) 다음 글에서 뵈요 !

코드스테이츠 Code States — Unlock Human Potential

여러분의 잠재력과 미래에 투자하는 휴먼 캐피탈, 코드스테이츠(Code States)입니다. codestates.com

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store