node 9

[Node] Mac OS에서 NVM 설치하기

1. NVM이란? Node Version Manager. 노드 버전 관리자이다. 프로젝트마다 다른 노드 버전을 관리하기에 유용하다. 2. NVM 설치 1. Homebrew 설치 Homebrew는 Mac용 패키지 관리자이다. 사용하면 간단하게 명령어로 필요한 패키지를 설치할 수 있다. Homebrew: https://brew.sh/ 터미널을 열어 명령어로 Homebrew를 설치하고 잘 설치 됐는지 확인해보자. $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" $ brew --version Homebrew 3.6.20 2. NVM 설치 homebrew를 통해 NVM을 설치한다. $ b..

node.js 2023.01.28

[node.js] nodejs로 크롤링(crawling) 시작하기

1. 크롤링이란? 크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위다. 크롤링하는 소프트웨어는 크롤러(crawler)라고 부른다. 출처: 나무위키 예를 들어 우리가 음원 사이트의 음원 정보를 엑셀에 출력해야 한다면 일일이 수작업으로 작성할 수 있지만 굉장히 비효율 적이다. 그래서 크롤링을 사용하면 음원 사이트 HTML에서 내가 필요한 정보만 뽑아 추출할 수 있다. 2. 코드 구현 1. 라이브러리 Axios - Axios는 node.js와 브라우저를 위한 Promise 기반 HTTP 통신 라이브러리이다. Cheerio - cheerio는 문자열로 구성된 html 코드를 분석하여 서버에서도 원하는 document 속성이나 text를 탐..

node.js 2022.10.11

[oAuth2] Node Express로 google oAuth2 사용하기[2. 코드 작성]

2022.08.24 - [Backend] - [oAuth2] React와 node.js로 google oAuth2 사용하기[1. 설정] 1. Google oAuth 인증 순서 이전 글에서 oAuth를 사용하기 위한 설정을 했다면 이번 시간에는 Google Server에 토큰을 요청해서 Access Token과 Refresh Token (갱신 토큰)을 받아보려 한다. 코드를 구현하기에 앞서 Google oAuth의 인증 순서를 먼저 알아보자. 아래 이미지는 웹서버 어플리케이션의 인증 순서이다. 클라이언트 측 인증 플로우도 있지만 클라이언트에서 다 구현하게 될 경우 Access Token만 사용할 수 있다. Refresh Token을 사용하기 위해서는 중요한 정보인 CLIENT SECRET 키가 필요하기 때..

Backend 2022.09.14

[node.js] nvm으로 프로젝트별 node version 관리하기

0. 개요 회사 프로젝트와 개인 프로젝트를 진행하는데 개인프로젝트는 node 16.15 버전이고, 회사 프로젝트는 node 14.15 버전이었다. node의 버전이 다르니까 호환되지 않는 라이브러리가 생겨서 다른 프로젝트를 할 때마다 node 버전을 변경해줘야 하는 번거로움이 생겼다. 혹시 각 프로젝트마다 node를 관리할 수 있을까 하고 검색하게 되었고, nvm을 사용하면 프로젝트별로 node version관리를 할 수 있다는 사실을 알게 되었다. 1. nvm 설치 2021.12.31 - [node.js] - [node.js] node 최신 버전 업그레이드 (nvm, n) [node.js] node 최신 버전 업그레이드 (nvm, n) Windows React native 프로젝트를 진행하는데 node..

node.js 2022.07.07

[node.js] package.json script 실행 파일 명령어 설정 ( --global )

1. 개요 이전에 nodemon 라이브러리를 사용하면서 한 가지 의문이 들었다. 우리는 nodemon과 eslint와 같은 라이브러리를 사용할 때 npm과 yarn과 같은 패키지 관리자로 실행할 수 있도록 package.json script에 설치한 라이브러리를 설정해왔다. 그럼 우리는 왜 script에 명령어를 설정해 왔던 걸까? 명령어를 짧게 쓰려고?? 2. 실행 경로의 차이 nodemon을 예로 간단한 테스트를 해보겠다. 먼저 nodemon을 package.json이 있는 경로에서 설치 해본다. npm i nodemon 이제 터미널에서 nodemon을 실행해보자! nodemon app.js 나는 방금 nodemon을 설치했는데 nodemon 파일을 찾을 수 없다는 에러 메시지가 출력된다. 에러 메시..

node.js 2022.06.24

[node.js] node.js + typescript 실행환경 세팅하기

node.js를 사용할 사이드 프로젝트 아이디어가 생각이 나지 않아 일단 개발 서버 환경부터 만들어 두려고 한다. Node.js 설정 0. Nodejs란 Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. 즉, nodejs는 자바스크립트 파일을 독립적으로 사용할 수 있도록 해주는 런타임(환경)이다. nodejs에 내장되어 있는 http 라이브러리를 통해 아파치와 같은 별도의 웹서버 없이 서버를 실행할 수 있다. 1. node 설치하기 node.js 공식 페이지에서 순서대로 설치하면 된다. 웬만하면 안정성이 높은 LTS로 설치하면 된다. 설치가 완료 되면 터미널 또는 명령 프롬프트에서(cmd) 잘 설치되었는지 확인한다. 위의 node를 설치하면 node의..

node.js 2022.06.23

[node.js] node 최신 버전 업그레이드 및 버전 변경 (nvm)

React native 프로젝트를 진행하는데 node의 버전이 낮아 라이브러리 설치가 진행되지 않는 경우가 있었다. Windows windows에서 node를 최신 버전으로 업그레이드 하는 방법은 간단했다. nodejs 공식문서에서 최신 버전을 다운 받으면 기존 버전에 덮어 씌어지는 형태였다. 1. nvm 사용 1-1. nvm이란? Node Version Manager 이다. 1-2. nvm 설치 Linux 최신 버전은 nvm git 문서 에서 확인할 수 있다. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash Windows windows에서는 nvm-windows를 설치한다. nvm-setup.exe 파일을 다..

node.js 2021.12.31

[Node.js] Stack trace (스택 추적)

java를 쓸 때나 nodejs를 쓸 때나 console 창에 아래와 같은 에러가 발생하면 제대로 관심을 가지고 읽어보지 않을 때가 많았었다.. (과거를 반성..) 한 번 읽고 보니 친절하게 내가 어디까지 작업했는지, 어디서 에러가 났는지를 설명해주고 있다. 위의 에러를 예로 스택추적을 해보자. 먼저 우리가 아는 스택은 후입선출 (LIFO - Last In First Out)의 구조로 이루어져 있다. 그림을 예로 우리가 파일을 실행하고 C함수에서 에러가 발생하게 되면 C가 실행되기 전까지의 순서를 친절하게 알려줍니다 그게 바로 맨 위에 콘솔 이미지입니다. 이미지를 하나씩 해석하면 1. rawDataRepository.js 익명함수가 실행되었다. 2. KeeperResponse.deserializeBina..

node.js 2021.09.08

(node.js + React) + Socket.io 간단한 연결 구현 (+ TypeScript)

이번 스프린트에 실시간 양방향 통신 기능이 필요해서 Socket.io로 구현하게 되었다. Socket.io란? Socket.io는 양방향 통신을 가능하게 하는 WebSocket 기반의 라이브러리이다. 공식 문서: https://socket.io/get-started/chat Socket.IO는 실시간 웹 애플리케이션을 위한 이벤트 기반 라이브러리이다. 웹 클라이언트와 서버 간의 실시간 양방향 통신을 가능케 한다. 출처: 위키백과 서버 측 구현 (Node Express) 1. Typescript 실행환경 세팅 2022.06.23 - [node.js] - [node.js] node.js + typescript 실행환경 세팅하기 [node.js] node.js + typescript 실행환경 세팅하기 node..

node.js 2021.06.25