브렌쏭의 Veritas_Garage

Node.js & NPM & YARN 본문

[Project_만들다]/[Project_자아내다]

Node.js & NPM & YARN

브렌쏭 2022. 3. 14. 21:04

Node.js & NPM & YARN

  • wtf is node.js?
    • 구글의 V8엔진을 장기 적출하여 독립 실행 되도록 만든 런타임
    • 따라서 언어가 아니라 그냥 팔다리 잘린 브라우저
    • v8.jpeg
  • 라이브러리 : 고도화 된 기능이나 복잡한 기술을 요하는 기능을 독립적으로 구현, 모듈화
    • npmjs.com : 그 라이브러리들을 모아둔 사이트 (JS)
    • PyPI : 파이썬용
    • Maven, Gradle : 자바용
  • npm : JS라이브러리를 다운로드, 업로드하는 클라이언트
  • npm이 느려서 페이스북이 yarn을 제공. 대충 미러링 사이트 너낌이다.

CLI로 JS를 터미널(shell)에서 node.js 로 실행시켜보자

실행시키고 싶은 js파일이 있는 경로로 들어가서 node 파일명.js 으로 실행

  • 터미널 명령어
    • cp -R : recursive, 디렉토리 하위 요소 전부 포함해서 복사
    • rm -rf : recursive, forced, 디렉토리 하위 요소까지 삭제

“코드 리팩토링을 위한 필수 지식”

  1. 실무지식) 하나의 함수는 하나의 기능만 가진다.
  2. 함수실행의 결과값을 재사용하기 위해서는 return 한다. 이 경우 함수 실행 뒤 그 자리에 반환값만 남는다.
  3. 특) 리턴 아래에 작성한 코드는 작동하지 않는다. 즉 함수 반환과 종료 두가지 의미를 가진다.
  4. 따라서 엄한 함수가 작동되지 않게 하려면 꼬박꼬박 return하자 (안전한 함수)
  5. 복잡한 함수는 주석을 잘 달아줘야함
  6. 간단하다면 이름을 잘 짓자

상위 스코프에서 유효한 변수는 하위 스코프에서 자유롭게 참조할 수 있지만
하위 스코프에서 유효한 변수를 상위 스코프에서 참조❌

function add() {
    function scopeTest() {
        const a = 1;
        const b = 3;
    }
    scopeTest()
    const result = a + b;
    return result;
}
add()

//const result = a + b;
//               ^
//ReferenceError: a is not defined

undefined 와 null

  • undefined는 값을 정해두지 않았을 때, 빈 값이 나오면 등장
  • null 의 경우, 개발자가 의도를 가지고 비워둔 값인 상태가 많다.

Facade-Pattern?

  • 협업을 위해 코드를 만드는 방법

성벽과 같은 패턴. 블록쌓기처럼

function 성벽 () {
    벽돌1()
    벽돌2()
    벽돌3()
    벽돌4()
}
  • cpp의 헤더 파일을 따로 두는 것처럼 선언파트와 사용파트가 나뉘는 듯

'[Project_만들다] > [Project_자아내다]' 카테고리의 다른 글

JS 배열과 객체 복사하기  (0) 2022.03.16
HTTP Request / Response  (0) 2022.03.16
Truthy 와 Falsy  (0) 2022.03.16
JS Destructuring Assignment (구조분해할당)  (0) 2022.03.15
알고리즘 - JS 배열 기초  (0) 2022.03.15
리턴  (0) 2022.03.15
TIL20220314 #햣햣햣  (0) 2022.03.14
Comments