node.js 13

[Node] package.json.lock 파일의 역할

package.json.lock 파일을 .gitignore 설정하고 진행 중이던 프로젝트에 최근 문제가 생겼다. 그 과정에서 package-lock.json 파일에 대해 좀 더 알아보는 시간이 될 수 있었다. 1. package.json란? 현재 프로젝트에 대한 이름, 버전 등의 정보와 패키지 매니저로 설치한 모듈의 의존성을 관리하는 파일이다. npm공식문서: https://docs.npmjs.com/cli/v9/configuring-npm/package-json package.json 2. package-lock.json란? package-lock.json is automatically generated for any operations where npm modifies either the node_m..

node.js 2023.02.05

[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

[node.js] 객체지향 프로그래밍이란? (Typescript)

객체지향 프로그래밍이란? (Object Oriented Programming) 객체 간의 상호작용을 통해 프로그래밍하는 것 객체: 서로 연관된 변수와 함수를 그룹핑하고 이름을 붙인 것 클래스: 객체를 생성하기 위해 변수와 메서드를 정의하는 설계도, 틀 constructor: 인스턴스 객체를 생성하고, 초기화하는 메서드 인스턴스: 클래스로부터 만들어진 객체 객체지향 프로그래밍의 장점 코드 재사용성 - 상속을 통해 코드의 재사용성을 높일 수 있다. 유지보수가 쉬워진다 - 코드 수정 시, 캡슐화를 통해 주변에 미치는 영향을 최소화할 수 있다. 대형 프로젝트에 적합 - 클래스 단위로 모듈화 시켜서 개발할 수 있어서 업무 분담을 효율적으로 할 수 있다. 객체지향 프로그래밍의 단점 개발 속도가 느려진다. - 설계 ..

node.js 2022.08.09

[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] grpc 통신 WebSocket POST Request 방법

작업 도중 webSocket으로 POST 요청을 해야하는 상황이 생겼다. const ws = new WebSocket('url') ws.onopen = () => console.log("connected!!"); ws.onmessage = (msg) => { console.log(msg.data); }; 위와 같이 GET과 같은 방법으로 요청을 보내면 "Method Not Allowed" 라는 메세지가 반환된다.. 그럼 POST 요청은 보낼 수 없는 걸까?? const ws = new WebSocket('url?method=POST') ws.onopen = () => { console.log("connected!!") ws.send(prams) }; ws.onmessage = (msg) => { cons..

node.js 2022.03.08

[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