노드, npm 버전이 안 맞아서 npm install을 했을 때 제대로 실행이 되지 않았다. nvm으로 node 버전은 바꿀 수 있지만, npm 버전은 nvm로 바뀌지 않는다. 또한 명령어 작성시 옵션을 제대로 붙이지 않아 헤맸다. npm 버전 변경하기 npm install npm@변경할버전 -g npm install npm@6 -g 위는 npm 버전을 6으로 변경하기 위한 명령어이다. -g를 꼭 함께 작성해야 한다. 버전 확인하기 npm -v npm 버전이 바뀐 것을 정상적으로 확인할 수 있다.
nvm을 설치하면서 오류가 발생해서 해결 방법을 찾았다. zsh인지 bash인지에 따라 방법이 달라진다. 나는 zsh이기 때문에 해당 방법을 공유하려고 한다. nvm 설치 brew로 설치하는 방법이다. brew install nvm - 설치 확인 nvm --version 버전이 나오면 정상적으로 설치된 것이다. 근데 나의 경우, 제대로 설치되지 않았다. 터미널 열고 아래의 방법을 진행한다. 해결 방법 - zshrc 파일 열기 open ~/.zshrc - 환경변수 추가 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvmexport PATH=/opt/homebrew/bin:$PATH - 터미널..
npm 패키지는 상황에 따라 -g 옵션을 작성해 준다. 프로젝트별 패키지는 전역 설치할 필요가 없지만, npm 자체를 설치하는 등의 패키지는 -g 옵션을 필수적으로 입력해야 한다. 설치 및 버전 변경 패키지 설치 시 @뒤에 숫자를 입력해 주면, 해당 버전으로 지정해서 설치할 수 있다. npm install npm@7 -g 위는 7 버전의 npm을 설치하기 위한 명령어이다. npm -v 이후 해당 버전을 확인함으로써 설치가 완료되는 것을 알 수 있다. -g (전역 설치) -g란 global, 즉 전역적으로 설치되는 옵션이다. NPM을 전역 설치한다는 것은 어떤 말일까? 시스템 레벨에서 사용하는 라이브러리라는 것이다. 모든 프로젝트가 공통적으로 사용해야 하는 패키지의 경우, 전역 설치를 해야 한다. npm ..
mongoose 데이터베이스 연결하려고 nodemon 통해서 명령어 실행하니까 오류가 발생했다. 스택오버플로우에서 한 사용자가 작성해준대로 해봤더니 잘 해결이 되었다! pkFactory: db.options?.pkFactory ?? utils_1.DEFAULT_PK_FACTORY, SyntaxError: Invalid or unexpected token at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) Node.js v18.14.2 [nodemon] app crashed - waiting for file changes before starting... 해결 방법 방법은 mongoose의 버전을 낮추는 것이다. 현재 7버전이었는데 6..
LBS(Location Based Service)는 위치기반으로 제공하는 서비스 서버이다. 데이터베이스로 특정 위치의 정보를 제공 또는 조회할 수 있다. 위도와 경도를 기준으로 위치를 확인한다. 특히 위치 정보를 저장 혹은 조회할 때 공간 인덱싱(Spatial Indexing) 방법을 통해 인덱스를 만들어 조회하는 속도를 빠르게 할 수 있다. 이는 몽고 DB에서 GeoSpatial Indexing라고 불린다. 위치 정보 조회 방법 - 사용자 위치에서 가장 가까운 지점 - 사용자가 보고 있는 범위 안의 지점 - 사용자가 있는 곳에서 일정 반경 안에 있는 지점 위치 데이터 종류 종류가 다양하지만 대표적인 3가지가 있다. Point : 현재 위치처럼 특정한 지점 LineString : 도로와 같이 이어진 위치..
Semantic-Ui html 페이지의 화면을 Semantic-Ui로도 간단하게 꾸밀 수 있다. 사이트에서 제공되는 코딩을 통해 버튼, 입력창 등 원하는 곳에 맞춰서 사용하면 된다. 설치 방법과 사용 예제를 알아보겠다. Semantic UI 다운로드 https://semantic-ui.com/ Semantic UI Shipping Choose your shipping options semantic-ui.com 위의 사이트에서 알집 파일을 설치받는다. 그다음 이클립스 내에서 semantic.min.js 와 semantic.min.css를 'data'라는 폴더에 넣어주었다. 이는 밑에 파일 경로를 통해 확인할 수 있다. cmd 창 - 모듈 등록 npm install semantic --save cmd창에서 ..
암호화 비밀번호를 데이터베이스에 저장할 때, 클라이언트가 입력한 값 그대로 저장하게 되면 노출될 위험이 당연히 크기 때문에 테스트용이 아닌 이상 암호화는 필수이다. 따라서 DB에 저장할 때에는 암호화된 비밀번호를 저장해야 한다. 단방향 암호화란, 입력받은 비밀번호를 암호화하지만 다시 복호화하여 되돌릴 수는 없는 것이다. 양방향 암호화란, 암호화된 비밀번호를 복호화하여 기존에 입력한 비밀번호를 알 수 있다. 몽구스 모듈은 단방향으로 암호화를 하며 사용자가 입력한 값을 암호화하여 기존의 암호화 비밀번호와 비교하는 작업을 한다. 따라서 몽구스와 virtual 함수, crypto모듈 등을 통해 로그인하는 예제를 알아보겠다. crypto 모듈 설치 npm install crypto --save cmd창에서 cry..
mongoose 모듈이란? 데이터베이스를 테이블이나 엑셀처럼 쉽게 다룰 수 있도록 하는 모듈이다. 특히 몽고 db에는 없는 'Schema(스키마)'를 가지고 있기 때문에 몽구스 모듈을 통해 몽고 db에 넣어서 관계형 db처럼 사용할 수 있다. Schema란? 관계형 데이터베이스처럼 조회 조건을 공통적으로 적용하도록 정해진 규칙으로 문서를 저장하게 하는 것이 스키마이다. 예를 들면 String, Number, Boolean 등 데이터 타입을 의미한다. 어떤 문서에는 name이 있고 또 다른 문서에는 name이 없을 수도 있기 때문에 일정한 조건으로 적용이 어렵다. 이에 따라 스키마로 수월하게 가능하다. 몽구스 모듈 설치 npm install mongoose --save 먼저 cmd창에 위의 내용을 입력하여..
Express는 Node.js의 Web 어플리케이션을 위한 프레임워크이다. Express는 노드 서버에 모듈을 설치하여 간단하게 사용할 수 있다. Express 설치 설치는 따로 다운받을 필요가 없이 입력만 해주면 된다. cmd창에서 npm init 쳐서 엔터를 계속 눌러주면 package.json 파일이 생성된다. npm install express --save 치고 나서 이클립스 폴더에 F5누르면 생성된다. Express의 서버 시작과 post 방식으로 데이터를 넘기는 법 및 에러 발생 페이지 만드는 법을 예제로 알아보겠다. Express 기본 모듈 + 추가 등록 require("dotenv").config(); var express = require("express"); var http = requ..