Middleware
이 글은 mongoose middleware를 한글로 요약 정리한 것이다. 실제 본문을 요약하여 번역해 정리했으므로 이해가 안되는 부분은 위 링크의 내용을 참조하기 바란다.
이 글은 mongoose middleware를 한글로 요약 정리한 것이다. 실제 본문을 요약하여 번역해 정리했으므로 이해가 안되는 부분은 위 링크의 내용을 참조하기 바란다.
Yarn은 Facebook, Google, Exponent, Tilde가 만든 npm을 대체 할 수 있는 새로운 패키지 관리자 이다. npm의 두 가지 큰 문제를 해결하고자 한다,^Yarn vs npm: Everything You Need to Know
yarn의 버전 표기가 다르기 때문에 같은 패키지를 서로 다른 버전으로 설치하는 잘못이 발생할 수도 있다.
npm 5 이후 많은 개선이 이루어 졌다. ^npm 5 vs yarn
npm i
는 자동으로 package.json에 의존성을 저장한다.npm-shrinkwrap
가 사라지고 yarn 같이 package-lock.json
파일이 추가되었다.이 파일은 npm과 yarn에서 의존성을 유지하기 위해 사용한다. 그러나 버전 번호가 다를 수 있다. 버전을 major와 minor 로 선택할 수 있고, 표기가 다음 같이 다르다 ^npm-vs-yarn
node version: v8.0.0
npm verison: 5.0.0
yarn verison: 0.24.6
npm, yarn 양쪽 버전이 package.json에 명시되어 설치되는 문제가 생길 수 있다. 이것을 피하기 위해 정확히 yarn으로 설치되는 버전은 yarn.lock
에 관리된다.
npm에서도 npm shrinkwrap
명령이 lock 파일을 생성해서 npm install 이 package.json을 읽기 전에 읽어 설치하는 것은 yarn.lock 을 먼저 읽는 것과 같다. 다만 yarn은 기본적으로 yarn.lock을 생성하고 업데이트 한다는 것이다.
npm 이 패키지를 설치하는 작업은 각 패키지를 설치하고 순차적으로 진행한다. yarn은 설치 작업을 별령로 진행한다.
express 패키지 42개를 설치할 때
1 | npm: 9 seconds |
gulp package 는 의존하는 195개 패키지를 설치한다.
1 | npm: 11 seconds |
npm 설치 과정은 장황스럽게 표시된다. yarn은 기본적으로 조금 단순하고 자세한 출력 옵션은 별도로 있다.
글러벌 설치시 npm은 -g
, --global
을 사용하는데, yarn은 global
첨자를 사용한다이다. 그리고 npm과 같이 글로벌 설치시에는 프로젝트 지정 의존성이 글로벌로 설치되지 않는다.
global
앞첨자는 yarn add
, yarn bin
, yarn ls
yarn remove
에서만 동작한다.
npm install 은 package.json 에 명시된 패키지들의 의존성을 설치한다. yarn은 순서데로 yarn.locak 혹은 package.json에 명시된 의존성을 설치한다.
npm은 package.json에 의존성을 추가하려면 npm install --save
별도의 플래그를 사용한다. yarn은 yarn add <package>
는 패키지를 설치하고 package.json에 의존성으로 추가한다. 그리고 --dev
플래그를 주면 developer dependency에 추가해 준다.
yarn license ls
는 패키지의 라이센스를 목록을 출력한다. yarn license generate-disclaimer
는 모든 패키지의 라이센스 내역에 대한 면책조항을 생성한다.
의존성 그래프와 그림을 출력해 준다.
npm update
와 비슷하게, yarn upgrade
는 package.json에 명시된 패키지를 업그레이드하고 yarn.lock을 재 생성한다.
주목할 점은 패키지를 명시해서 업그레이드 하면 최신 릴리즈로 갱신하고 package.json에 태그를 선언해 둔다. 메이저 릴리즈로 패키지를 업데이트 해준다는 의미이다.
yarn generate-lock-entry 명령은 package.json을 기초로 yarn.lock 을 생성한다. 이것은 npm shirinkwrap 과 비슷하다. 다만 주의해서 사용해야 하는데 yarn.lock 파일은 yarn add, yarn upgrade 시 생성되거나 업데이트 된다.
https://yarnpkg.com/en/docs/install#linux-tab 에 설명되어 있다.
1 | brew install yarn |
nvm 같은 가상환경을 사용하면 node.js 설치를 제외한다.
1 | brew install yarn --without-node |
1 | $ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - |
1 | sudo apt update && sudo apt install yarn |
On openSUSE, you can install Yarn via our RPM package repository.
1 | sudo zypper ar -f https://dl.yarnpkg.com/rpm/ Yarn |
1 | curl -o- -L https://yarnpkg.com/install.sh | bash |
설치후 경로에 추가한다.
export PATH=”$PATH:/opt/yarn-[version]/bin”
The following command uses Yarn to install the express package:
yarn add express
https://m.blog.naver.com/PostView.nhn?blogId=tipsware&logNo=221032917097&proxyReferer=https%3A%2F%2Fwww.google.com%2F
https://junho85.pe.kr/1026
https://en.wikipedia.org/wiki/C11_(C_standard_revision))
https://en.wikipedia.org/wiki/C99
1 | gcc --std=c99 |
for loop 에 초기화 변수 선언 가능
1 | for (int i=0; i<9; i++) { |
ISO 표준. ANSI 에서도 받아들임. C89 와 동일한 언어. 약간의 에러 수정
https://en.wikipedia.org/wiki/ANSI_C#C89
1989년 ANSI 에서 발표한 첫번째 공식 C 표준
gcc
6.3.1 ~ 7.3.1 - gnu11, gnu++14
5.4.0 - gnu11, gnu++98
STDC_VERSION
https://sourceforge.net/p/predef/wiki/Standards/
C11 - STDC_VERSION = 201112L
Angularjs - Karma Unit Testing
angularjs 단위 테스트에 대해 정리한다.
node.js 를 nvm 가상환경에서 구축하고 사용하는 방법에 대해서는 Node.js Install with nvm 를 참조하면 된다.
angularjs 단위 테스트에 대해 참고한 문서는 아래 참고 섹션에 제공했다.
Python - 과학계산을 위한 Jupyter(pip)
과학계산을 위한 Python3 및 pip를 사용한 scipy, jupyter 설치 및 구성을 요약하고 있다.
https://packaging.python.org/guides/installing-scientific-packages/
과학계산을 위한 Python 과 Jupyter Notebook 환경을 정리한다.
Python - 과학계산을 위한 Jupyter(Armbian)
Odroid C2, Raspberry Pi 계열의 ARM CPU를 위한 Armbian 에서 과학계산을 위한 Jupyter 설치 및 구성까지 요약하고 있다.
https://packaging.python.org/guides/installing-scientific-packages/
과학계산을 위한 Python 모듈을 시스템 패키지로 설치하고 pip
를 사용해서 Jupyter Notebook 을 설치하고 사용하는 과정을 정리했다.
Python - 과학계산을 위한 Jupyter(Armbian)
Debian 계열의 ARM CPU를 위한 Armbian 에서 과학계산을 위한 Jupyter 설치 및 구성까지 요약하고 있다.
https://packaging.python.org/guides/installing-scientific-packages/
과학계산을 위한 Python 과 Jupyter Notebook 환경을 정리한다.
angular.js 프로젝트를 webpack 기반으로 시도해 보자.
프로젝트 구조를 준비한다.
1 | $ mkdir myproject && cd myproject |
프로젝트 초기 구조를 시작했음을 커밋으로 기록하자.
1 | $ git add package.json |
아래는 여기 소스느 https://github.com/zamarrowski/pokemon-poc 를 참조.
angularjs 실행에 필요한 패키지를 설치하기 위해서 다음 명령을 실행한다.
1 | npm i angular angular-ui-router |
1 | npm i -D webpack webpack-dev-server |