본문 바로가기

nodejs3

pkg 로 바이너리 파일 생성 pkg는 nodejs가 설치되어 있지 않은 환경에서 실행할 수 있도록, standalone의 바이너리 파일을 만들어서 배포해주는 모듈이다. 이번에 외부 개발자에게 배포해야할 일이 생겨 적용해 보았고, 사용 방법에 대해 간략하게 기술한다. 설치는 다음과 같다. npm install -g pkg 글로벌 설치하지 않고 devDependancy 에만 적용하고 싶다면, npm install --save-dev pkg설치 되었다면 package.json에 설정값을 추가한다. "bin": { "app": "./bin/www" }, "scripts": { "start": "nodemon --exec babel-node ./bin/www", "build": "pkg . --debug --out-path dist" }, .. 2022. 3. 28.
socket.io 사용 방법 제어권 관리를 위해 소켓 통신 도입을 검토하였다. 일반적인 사용 용도는 아닐 듯 하지만... 이 포스트에서는 socket io의 개념적인 부분보다는 사용 방법 및 기능에 대해 서술하면서 도입을 할만한 가치가 있는지 검증한다. 각각 서버와 클라이언트에 다른 node module을 설치한다. // 서버 npm install socket.io // 클라이언트 npm install socket.io-client 각각 서버와 클라이언트에 아래와 같은 코드를 작성한다. 서버 const app = require("express")(); const http = require("http"); const server = http.createServer(app); const { Server } = require("socke.. 2022. 3. 14.
swagger 로 api문서를 만들어보자 restful api 서버를 만들 때 몇가지 고민이 있었는데, 우리가 만드는게 서버에서 api를 제공하는 단순 구조가 아니라 C++ binary api > napi 작성 후 .node 변환 > .node를 rest 로 작성 이라는, 몇가지 단계가 있었기 때문에 rest api의 검증이라던지, 추후에는 사용자에게도 배포를 할 것이기 때문에 문서를 어떻게 할지 고민이 되던 차에 swagger를 이용해 검증도 하고 사용자 배포용으로 쓰기로 결정 swagger에 대해 찾아보면서 너무나 다양한 케이스가 발견되었는데 그 중에서 아래와 같이 결정하였다. 1. swagger2.0 / swagger3.0(openAPI 3.0) 2. annotation(in code) / json / YAML 결정한 이유는 다음과 같다... 2021. 12. 9.