한량의 개발블로그
리눅스란 본문
그동안 "운영체제"라는 말을 들었을 때 맥과 윈도우만 생각했었다.
개발을 하겠다는 놈이 리눅스에 대해서 정확하게 알지도 못하고,
다른 개발자들이 왜 우분투를 사용하는지 어떤 장단점이 있는지에 대해 크게 궁금해하지 않았던 것에 대해 반성하며 글을 시작한다.
Linux
리눅스는 Window 또는 Mac OS와 같은 컴퓨터 운영체제중 하나로 다중 사용자, 다중 작업을 지원하는 네트워크 운영체제다.
즉, 리눅스를 사용한다는 것은 프로그래밍을하고 서비스를 운영할 때, 리눅스로 돌아가는 서버를 다루는 것과같이 개발중에 리눅스 관련 작업을 한다는 것이다. (서버를 다루는 경우 주로 리눅스 환경에서 프로그래밍을 한다)
Why Linux
우리는 왜 리눅스를 사용할까?
우리가 흔히 사용하거나 알고있는 Window, Mac OS, 안드로이드, IOS는 개발자가 아닌 사람들 즉 end-user들을 대상으로 만들어진 운영체제다. 때문에 GUI 화면에서 개발자들이 만들어놓은 기능들을 "사용"하는데 초점이 맞춰져 있다.
하지만 직접 프로그램을 만들어보고 제어하고싶은 프로그래머들 입장에서는 위 운영체제를 사용하기에 제한적이다.
Window와 리눅스 두 운영체제의 대표적인 차이로는 Window나 Mac과 같은 운영체제는 유료이고 오픈소스가 아니라는 점이다.
반대로 리눅스는 오픈소스 운영체제이기에 누구나 공짜로 가져다가 마음대로 개조하여 사용할 수 있다. (리눅스는 일반적으로 CLI관경에서 작업을 한다)
이는 우분투, 민트, CentOS 등 수많은 리눅스 버전들이 있는 이유와도 직결한다. 모두다 리눅스에서 출발했지만 프로그래머들이 이를 필요에 따라 개조하고 발전시킨 여러 버전들이 자유롭게 만들어진 것이기 때문이다.
Winodw나 MacOS가 전자레인지용 냉동음식이라면 리눅스는 날것의 식재료들과 같다.
또한 리눅스는 다중사용자, 다중작업을 지원하기 때문에, 시스템적으로 서버를 운영하기에 적합하다.
In JavaScript
그렇다면 내가 주로 사용하는 자바스크립트환경에서 개발을 할때는 어떤 운영체제가 적합할까?
아직 리눅스를 사용해보지 않았기 때문에 정확히 뭐가 낫다라고 판단하기는 이르지만, 현재까지는 맥을 사용하며 불편함을 느끼질 못했다.
자바스크립트는 오픈소스, 특히 npm을 기반으로 발전해왔다. 이 생태계를 기반으로 개발자들이 필요에 따라 업데이트하며 건설적인 개발환경을 구축해왔고, 이 ecosystem이 macOS사용자 위주로 구성되어 있다.
노드 서버는 리눅스 혹은 맥을 지원하고, 자바스크립트 생태계의 큰 비중을 차지하는 React개발진은 맥북외에 다른 컴퓨터를 쓰질 않는다고 한다.
다행스럽게도? 아직은 개발환경을 바꿀 필요는 없다.
하지만 리눅스를 사용할지, 맥을 사용할지는 회바회기때문에, 새로운환경에 적응하지못해 몇시간 몇일을 고생하기 싫으면 시간있을때 우분투를 사용해보자! 유닉스 명령어도 까먹지않도록 자주 사용하자!
'컴퓨터공학 기본' 카테고리의 다른 글
모듈번들러와 트랜스파일러 (0) | 2021.09.29 |
---|---|
모듈시스템 (0) | 2021.09.28 |
자바스크립트 엔진이 코드를 실행하는 과정 (0) | 2021.09.10 |
브라우저 렌더링 (0) | 2021.09.09 |
Virtual DOM (0) | 2021.08.04 |