TIL 220126

sangkan·2022년 1월 26일
0

Today I Learned

목록 보기
5/9

GUI & CLI

사용자 인터페이스는 사용자가 컴퓨터와 상호 작용하는 방법을 지정하는 데 사용하는 용어이다. GUI와 CLI은 다른 종류의 사용자 인터페이스이다.

GUI는 그래픽 사용자 인터페이스(Graphical User Interface)의 줄임말이고 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 따위의 그래픽으로 나타낸 것이다. GUI의 동작은 일반적으로 마우스나 키보드를 활용하여 그래픽 요소의 직접 조작을 통해 수행된다.

CLI는 명령 줄 인터페이스(Command-Line Interface)의 줄임말이며 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 말한다.

두 작업을 실행하는 방식에는 차이가 있지만 두 작업은 동일함을 이해해야한다.

CLI를 터미널을 통해 실행할 때에 기본적인 명령어들을 정리해보자.

pwd : 현재 위치 확인
mkdir : 새로운 폴더 생성
ls : 폴더나 파일의 목록을 출력
cd : 폴더에 진입
touch : 새로운 파일을 생성
cat : 파일의 내용을 터미널에 출력
rm : 폴더나 파일을 삭제하는 명령어
mv : 폴더나 파일의 위치를 이동하거나, 이름을 변경
cp : 폴더나 파일을 복사
sudo : 관리자 권한
nano : CLI에서 활용하는 텍스트 에디터

절대경로와 상대경로

절대경로는 처음에서 목적지까지의 절대적인 경로를 의미한다. 특징은 최상위 루트디렉토리 /를 포함한다.

상대 경로는 현재 위치를 기준으로 목적지까지의 상대적인 경로를 의미하며 루트디렉토리 /를 거치지 않고 이동이 가능하다.

./ : 현재 위치
../ : 현재 위치의 상위 디렉토리 위치

nvm

nvm은 node.js의 다양한 버전을 관리하는 프로그램이다.
nvm install (버전 넘버) 를 통해 원하는 버전을 설치하고
nvm use (버전 넘버) 를 통해 원하는 버전을 사용할 수 있다.

node.js

런타임이란 프로그래밍 언어가 구동되는 환경이다. 어떤 프로그램이 동작할 때, 프로그램이 동작하는 곳이다. JavaScript 런타임이 웹 브라우저 뿐이었지만 node.js라는 새로운 JavaScript 런타임의 등장으로 브라우저가 아닌 곳에서도 실행될 수 있게 되었다.

npm & package.json

하나의 프로그램은 다양한 모듈이 합쳐져서 만들어진다. 보통 이미 검증된 모듈을 활용하는 데 이러한 모듈을 node.js 에서는 npm모듈이라 하며 이 정보를 담아둔 곳이 package.json이다.

node.js 환경에서 외부 라이브러리를 다운로드 하기 위한 대표적인 방법이 npm이다. npm은 Node Package Manager로 일종의 앱스토어이다.
macOS의 패키지 매니저가 brew이듯, node.js 생태계의 패키지 매니저는 npm이다. package.json은 프로그램에 필요한 묘듈을 모아놓은 곳이다.
package.json에 적혀있는 내용을 살펴보자.

scripts는 CLI에서 사용 가능한 명령어를 실행시키기 위해 활용한다.
devDependencies는 프로그램 실행과는 관계없이 오로지 개발을 위한 필요한 모듈이다.
dependencies는 프로젝트가 돌아가기 위해 반드시 필요한 모듈이다.

npm install을 활용하여 dependencies를 설치할 수 있고 npm install 뒤에 --save-dev 옵션을 추가하여 devDependencies를 추가할 수 있다.

package.json은 원활한 팀 프로젝트 협업을 위한 필수적인 요소이다.

profile
성장하는 사람

0개의 댓글