Section 1 - 8일차

노태경·2021년 4월 14일
0

SEB-Section 1

목록 보기
9/30

1. CLI(Command Line Interface)

  • GUI(Graphical User Interface)를 사용해왔던 것을, CLI를 통해 수행해보자
  • 기본 Linux 명령어
    - 명령줄 대기모드 프롬프트(prompt)
    - mkdir : 새폴더 (Make Directory)
    - pwd : 현재 위치 (Print Working Directory)
    - ls : 폴더나 파일의 목록 출력 (List)
    - -l : 폴더나 파일의 포맷 표현, d는 폴더, -는 파일
    - -a : all (숨어있는 파일, 폴더를 포함)
    - nautilus : 현재 폴더를 파일 탐색기로 열기
    - cd : 폴더 진입 (Change Directory)
    - touch : 새로운 파일 생성
    - cat : 파일 내용 출력 (concatenate), 파일의 모든 내용을 출력한다, 즉 너무 큰 파일을 출력하는 것은 비효율적
    - rm : 폴더나 파일 삭제 (Remove) 휴지통을 거치지 않고 삭제
    - -r recursive , 폴더를 지울 때 사용
    - -f force , 질문을 받지않고 삭제
    - mv : 폴더나 파일의 위치를 이동하거나, 이름을 변경 (Move)
    mv [옮길 폴더나 파일이름][옮겨질 폴더]
    mv [이름 바꿀 폴더나 파일 이름][바꿀 이름]
    - cp : 폴더나 파일 복사 (Copy)
    cp [복사할 파일][복사본 파일 이름]
    - sudo : 관리자 권한
    - / : 루트 디렉토리
    - ~ : 홈 디렉토리
    - \ : 공백이나 특수문자 앞에 사용
    - . 현재 디렉토리, .. 현재의 상위 디렉토리
    - whoami : 현재 사용자 확인
    - ~/ 는 루트폴더(~)로 부터 사용자 폴더까지의 경로를 축약한 형태
  • 절대경로와 상대경로
    - 절대 경로의 시작은 루트 디렉토리 /
    - 상대 경로의 시작은 현재 디렉토리 .
  • 텍스트 에디터 nano 사용
  • vim(vi), emacs 등 여러 에디터가 있으나 진입장벽이 높다.
  • nano hello.js >> nano에서 실행

2. 패키지와 패키지 매니저

  • 패키지 파일의 기본적인 구성
    • 프로그램 파일
    • 프로그램 설치 파일
    • 프로그램 설치 설명서
    • 프로그램에 대한 정보를 담은 파일
  • 우분투(ubuntu)의 패키지 매니저로는 apt가 기본적으로 내장되어있다.
  • apt update 최신 정보 갱신, 설치된 프로그램이 새로운 버전으로 변경되지 않음 (sudo)
  • apt list --upgradable 업그레이드 가능한 패키지 목록 출력
  • apt upgrade 전체 패키지 업그레이드 (sudo)
  • apt --only-upgrade install 패키지이름 특정 패키지 업그레이드 (sudo)
  • apt install 패키지이름 패키지 설치 (sudo)
  • apt list --installed 설치된 패키지 리스트
  • apt search 검색어 패키지 검색
  • apt show 패키지이름 패키지 정보 확인
  • apt remove 패키지이름 패키지 삭제 (sudo)

3. Node.js

  • 크롬, 사파리 같은 웹 브라우저가 바로 JavaScript 런타임
  • 런타임이란 프로그래밍 언어가 구동되는 환경
  • 어떤 프로그램이 동작할 때, 프로그램이 동작되는 곳 >> 런타임
  • node.js 런타임의 등장으로, JavaScript 코드를 브라우저와 node.js환경 모두에서 실행시킬 수 있게됨
  • nvm : Node Version Manager, node.js의 버전을 관리하고 설치할 수 있는 프로그램
  • 잘하는 사람들이 만들어놓은 검증된 코드(모듈)을 가져다 사용해라! 바퀴를 재발명하지 않아도 된다!
  • node.js에서는 npm 모듈이라는 이름으로 부르며, 이에 대한 정보를 담아둔 곳이 package.json이다
  • npm은 Node Package Manager로 필요한 모듈을 다운로드 할 수 있다
  • package.json에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있다
  • 이 프로그램을 실행시키기 위해 필요한 실제 모듈은 node_modules에 저장되고, package.json에는 어떤 모듈인지만 적혀 있음
  • devDependencies에는 프록젝트를 개발하는 환경에서 필요한 모듈이 적혀있음, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈을 명시
  • npm install시 --save-dev 옵션과 함께 설치하면 devDependencies에 추가됨
  • dependencies는 프로젝트가 실행되기 위해 반드시 필요한 모듈 (ex. underscore, React 등)
  • npm install시 --save 옵션과 함께 설치하면 dependencies에 추가됨
  • package.json은 다른 사람에게 이 프로젝트에 대해 설명하는 역할
  • scripts 항목은 CLI에서 사용가능한 명령을 기술한다, 이를 npm scripts라고 부른다
  • npm run 스크립트 이름으로 실행

4. Pair Programming / 짝수 생성기

  • nvm, npm 등의 차이와 사용법을 실습
  • range 모듈 사용
  • 객체 구조분해 할당이 사용되었음, 더 알아보기
profile
개발자 공부 일기😉

0개의 댓글