TIL: 2022-05-20 프로젝트 세팅, 개념 정리

김하연·2022년 5월 20일
0

TIL: Today I Leaned

목록 보기
11/27

오늘부터 주특기 주차 시작..!
드디어 리액트 공부를 시작하게됐다. 약간 설레기도 하면서 두렵기도 한 복합적인 느낌..?
리액트 시작 전, 작업환경 세팅을 위해 필수 프로그램 설치 가이드를 보고 설치하는데,
터미널 종류가 zsh로 돼있으면 bash로 바꾸라고 하고.. 그 후에 nvm을 설치할건데 그럼 homebrew를 먼저 설치해서 nvm을 설치하는걸 추천한다고 한다..
근데 이것들이 뭔지를 전혀 모르는 상태에서 무작정 따라서 설치만 하려니 아무래도 찝찝하고 답답하기도 해서, 대체 터미널 종류라는 bash랑 zsh는 뭐고, nvm, homebrew 얘네는 또 뭔데 설치를 하라는건지 찾아보고 개념정리를 먼저 하기로 했다.




shell이란?

  • Shell이란?
    사용자 명령어 해석기.
    사용자가 프롬프트에 명령어를 입력하면 입력한 명령어를 shell이 해석을 해서 리눅스 운영체제인 커널에게 전달해준다.
    사용자가 command 입력 > shell이 해석 > linux kernel에 전달

  • Shell의 종류
    [ Bourne shell(sh) ]
    AT&T 벨 연구소의 스티븐 본이 개발한 Original shell

    [ C Shell(csh, tsch) ]
    Bill Joy가 C언어의 기술을 넣어서 만든 Shell. C언어의 문법을 적용했으며 History(과거 명령어 사용), aliases(명령어 짧게 줄이기), job control(작업을 backgorund, foreground로 전환 가능), vi command editing and completion 기능 포함

    [ Korn shell(ksh) ]
    리눅스의 표준 쉘. David Korn이 AT&T에서 기존 bourne shell에 C shell의 기능을 포함시켜 생성

    [ Bourne-again shell(bash) ]
    GNU Project로 만들어졌고 csh, ksh이 가진 기능을 포함혀먼서 bourne-shell과 호환성을 많이 높인 shell로 리눅스, MAC OS의 기본 shell이며 윈도우에서도 호환 가능하다.

  • 기본 명령어
    cat : 파일 내용 보여줘
    cat /etc/shells : etc아래의 shells파일을 보여줘
    echo $SHELL : 현재 사용중인 shell 보여줘
    sudo(권한이 필요한 명령이라서 root권한으로) chsh ubuntu > /bin/sh > sh로 shell이 변경됨
    sudo grep ubuntu /tct/passwd 에서 변경된 결과 확인 가능 : ubuntu라는 글자가 있는 라인을 찾아서 보여달라는 뜻


nvm이란?

Node.js는 자바스크립트의 런타임 환경, npm은 자바스크립트 코드로 사용할 수 있는 Node.js의 소프트웨어 패키지 매니저이다. 그렇다면 nvm은 무엇일까?

Node Version Manager으로, Node.js의 버전관리 도구이다.
협업할 때나 다양한 프로젝트를 동시에 진행할 때, 다양한 라이브러리/프레임워크/개발툴들의 버전 호환 문제를 접할 수 있는데 그 문제를 해결할 수 있는 도구인 것이다.

  • 가상환경에서 다양한 버전의 node.js를 쉽게 설치하고 사용할 수 있다.
  • 최신의 node.js를 사용할 수 있다. (리눅스 운영체제의 패키지 매니저를 통해 nodejs를 설치하면 아주 오래된 버전이 설치되는 경우가 많음)
  • 여러 node.js 버전 간 전환이 쉽다

그 중에서도 위 세가지가 nvm의 핵심 내용이라고 볼 수 있다.

출처: https://pongsoyun.tistory.com/115


Homebrew란?

MacOS 용 Package Manager, 즉 패키지 관리 매니저이다.
어떤 프로그램을 설치해주는 일종의 installer같은 역할이라고 볼 수 있는데, 비유하자면 앱스토어가 프로그램 검색과 설치를 도와주는 것처럼 homebrew라는 프로그램도 그런 앱스토어와 비슷한 역할을 실행하는 것이다.
차이가 있다면, 앱스토어는 일반인들이 사용하는 프로그램을 설치하지만 homebrew는 프로그래머들이 사용하는 명령어를 통해서 컴퓨터를 제어할 때 사용하는 프로그램을 설치 및 삭제, 검색하는 프로그램이다.




0개의 댓글