[Project_하다]/[Project_공부]
Node.js & NPM & YARN
브렌쏭
2022. 3. 14. 21:04
Node.js & NPM & YARN
- wtf is node.js?
- 구글의 V8엔진을 장기 적출하여 독립 실행 되도록 만든 런타임
- 따라서 언어가 아니라 그냥 팔다리 잘린 브라우저
-
- 라이브러리 : 고도화 된 기능이나 복잡한 기술을 요하는 기능을 독립적으로 구현, 모듈화
- 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, 디렉토리 하위 요소까지 삭제
“코드 리팩토링을 위한 필수 지식”
- 실무지식) 하나의 함수는 하나의 기능만 가진다.
- 함수실행의 결과값을 재사용하기 위해서는
return
한다. 이 경우 함수 실행 뒤 그 자리에 반환값만 남는다. - 특) 리턴 아래에 작성한 코드는 작동하지 않는다. 즉 함수 반환과 종료 두가지 의미를 가진다.
- 따라서 엄한 함수가 작동되지 않게 하려면 꼬박꼬박 return하자 (안전한 함수)
- 복잡한 함수는 주석을 잘 달아줘야함
- 간단하다면 이름을 잘 짓자
상위 스코프에서 유효한 변수는 하위 스코프에서 자유롭게 참조할 수 있지만
하위 스코프에서 유효한 변수를 상위 스코프에서 참조❌
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의 헤더 파일을 따로 두는 것처럼 선언파트와 사용파트가 나뉘는 듯