본문 바로가기

전체 글66

Google api client 라이브러리 node-js 삽질기 google api 라이브러리를 사용해보자. google api 편하게 사용할 수 있도록 미리 세팅이 된 라이브러리가 있다. https://developers.google.com/api-client-library 그런데 라이브러리를 설치하고 import하여 실행하는 순간 오류가 발생한다. ./node_modules/googleapis-common/build/src/http2.js Module not found: Can't resolve 'http2' in 'C:\..생략..\node_modules\googleapis-common\build\src' http2 모듈을 못 찾는다는 건데, http2는 nodejs 설치 시에 core에 같이 설치 되는 것이기 때문에 설치가 안되어 있을 수가 없다. 실제로 확인.. 2020. 7. 1.
Webpack webpack module bundler 의존 관계에 있는 모듈들을 하나의 JS파일로 번들링한다. 의존 모듈이 하나의 파일로 번들링되므로 별도의 모듈 로더가 필요없어진다. ES6+로 작성했을 경우, Babel을 로드하여 ES5 코드로 변경해야한다. Sass를 사용했을 경우, Sass 트랜스파일링도 진행한다. 설치 npm install webpack webpack-cli webpack : 파일에서 webpack을 사용 가능하게 해준다. webpack-cli : 콘솔에서 webpack을 사용 가능하게 해준다. 설정 package.json에서 스크립트를 작성해 놓으면 쓰기 편하다. "scripts":{ "dev:server": "nodemon --exec babel-node init.js --delay 2",.. 2020. 3. 13.
JavaScript - Typed Array JavaScript 배열은 진짜 배열이 아니다. 배열은 연속적인 메모리 로케이션의 묶음을 사용한다. 따라서 특정 값을 찾기가 용이하다. ( 어느 메모리 블록에 저장되어있는지 찾기가 쉬움 ) 반면, JavaScript의 배열은 hash-map 이다. Linked List를 통해서 구현된다. ( ??? ) 특정 값을 찾으려면 메모리 시작점부터 원하는 값까지 탐색해 나가야 한다. JavaScript 배열의 진화 최근 JavaScript 엔진의 경우, 모든 요소가 동일한 타입을 가진 배열의 경우, 연속적으로 메모리를 할당한다. ES6 이후, Typed Array가 추가되었으며, 이를 통해 ArrayBuffer를 사용할 수 있게 되었다. ArrayBuffer는 contiguous 메모리 블록을 제공하고, 이것을 .. 2020. 3. 11.
MongoDB 파일 다루기 JavaScript 비동기처리 비동기처리 JavaScript는 기본적으로 비동기처리 방식을 가지고 있다. 함수를 실행할 때 동기 처리 방식은 순서대로 하나씩 끝나기를 기다려서 실행하지만, 비동기 방식은 시간이 오래 걸리는 것은 그대로 실행하게 놔두고 다음 것을 실행한다. 하지만 때로는 순서대로 실행하는 것을 요구해야할 때도 있다. async에서 await를 지정해줌으로서 순서대로 실행할 것을 지정해줄 수 있다. const search = async (req, res) => { const { query: { term: searchingBy } } = req; //const searchigBy = req.query.term; let videos = []; try { videos = await Video.fi.. 2020. 3. 8.