728x90
반응형
- [Node.js][TROUBLESHOOTING] 객체에 엉뚱한 속성이???2024-04-19 11:33:141. 객체에 엉뚱한 속성이??? 구동 중인 Node.js로 작성한 배치 서버에서 DB에 저장한 값이 간헐적으로 비정상적인 경우가 발견되었다. 콘솔에 에러 로그를 찍어 보았더니 다음과 같았다. YouError: WHERE parameter "apmac_id" has invalid "undefined" value 이 문제의 특이한 점은 정상적인 객체가 전달되다가 간헐적으로 이러한 에러가 발생한다는 것이다. 2. const 사용을 잊지 말자! 해당 속성이 없다는 에러가 발생하는 경우에 어떤 데이터가 오는지 콘솔에 찍어보았다. 정상적인 경우와 비정상적인 경우의 예는 아래와 같다. { apmac_id: 1, count: 92 } // 정상 { fromAP_id: 92, toAP_id: 89, count: 6 } ..
- [Node.js] MySQL 날짜, 시간이 왜 UTC 시간으로 조회될까?2024-01-29 09:53:321. MySQL 날짜, 시간이 왜 UTC 시간으로 조회될까? MySQL Workbench에서 SELECT 쿼리로 날짜, 시간에 해당하는 데이터를 조회하니 [그림 1]과 같이 원하는 결과가 잘 나왔다. 하지만 내가 만든 서버에 동일한 쿼리를 적용한 API를 호출하면 [그림 2]와 같이 UTC 시간으로 조회가 되었다. 도대체 왜??? 2. 쿼리에 CONVERT_TZ() 적용해 해결 위와 같은 현상이 발생하는 원인은 아직 찾지 못했다. 다만 쿼리에서 CONVERT_TZ()를 이용해 create_date 칼럼의 타임존을 UTC에서 Asia/Seoul로 변경해주어 이 문제를 해결했다. SELECT CONVERT_TZ(create_date, 'UTC', 'Asia/Seoul') AS create_date // 타임..
- [Node.js] API 서버에 api-key 적용 및 Swagger 문서화2024-01-25 16:52:501. uuid-apikey 라이브러리 uuid-apikey 라이브러리(https://www.npmjs.com/package/uuid-apikey)를 이용해서 apikey, uuid를 생성하고 API 요청 시 유효한지 검증할 수 있다. 설치 방법은 아래와 같다. npm install uuid-apikey 2. uuid-apikey 적용 // app.js // (생략) // API키 생성 import uuidAPIKey from "uuid-apikey"; console.log(uuidAPIKey.create()); // 터미널에 객체 자료형으로 apiKey, uuid가 찍힌다. 새로운 키를 생성할 필요가 없을 때는 주석 처리한다. // (생략) // app.js // (생략) // key 변수를 app.js..
- [Node.js] Swagger을 이용한 API 문서 생성2024-01-24 17:27:231. Swagger 설치 swagger-ui-express, swagger-autogen를 설치한다. swagger-ui-express는 서버 구동 시 API 문서를 볼 수 있게 해 주고, swagger-autogen는 API 문서 정보를 담고 있는 swagger-output.json을 자동으로 생성해 준다. npm install swagger-ui-express swagger-autogen 2. ES Modules ES Modules 방식은 아래와 같이 Swagger json 파일을 import 하면 된다. 이때 주의할 것은 assert { type: "json"}을 추가하지 않으면 TypeError가 발생한다. // app.js import swaggerFile from "./swagger/swagg..
- [Node.js][Trouble Shooting] sqlMessage: "Access denied for user 'root'@'localhost' (using password: NO)"2022-10-08 11:46:01const pool = mysql.createPool({ host: process.env.MYSQL_HOST, port: process.env.MYSQL_PORT, user: process.env.MYSQL_USERNAME, password: process.env.MYSQL_PASSWORD, database: process.env.MYSQL_DB, connectionLimit: process.env.MYSQL_LIMIT, }); 위는 mysql용 pool 작성 코드이다. 서버를 가동후 Postman에서 쿼리를 날리면 계속 아래와 같은 에러가 발생하였다. 문제의 원인은 황당하게도 오타였다. MYSQL_PASSWORD를 MYSQL_PASSWORLD로 작성했던 것. PS C:\Users\J\Documents\..
- [Node.js] [문제해결] Vue.js에서 마이크로소프트 액세스 mdb 파일을 읽어 오려다가... SyntaxError2022-05-25 12:15:41개인 프로젝트로 "카스 전자저울 연동 Packing List 자동 생성 프로그램"을 작성 중이다. 카스 전자저울의 경우 xlsx 파일이 아닌 mdb 파일 형식으로 data가 관리된다. 현재는 "엑셀 업로드" 기능으로 xlsx 파일의 data를 가져오는 방식으로 구현하였는데 실제 현장에서는 xlsx 파일이 아닌 mdb 파일을 읽어 올 수 있어야 한다. https://www.npmjs.com/package/mdb-reader mdb-reader JavaScript library to read data from Access databases. Latest version: 2.2.3, last published: 5 hours ago. Start using mdb-reader in your project by ..
- [Node.js][유튜브 강의 노트] 개발자의품격_Node.js에서 API 서버 만들기2021-11-28 01:22:58학습동기 "한시간만에 끝내는 Node.js 입문" 학습 후 추가적인 내용을 학습하게 되었다. 학습내용 1. 강의영상 https://youtu.be/8XpVJaEWesM 2. 학습 중 작성한 코드 // api.js // "한시간만에 끝내는 Node.js입문" 학습 후 생성된 폴더에 "api.js" 파일 생성하여 학습 진행함. const express = require('express'); const app = express(); const uuidAPIKey = require('uuid-apikey'); const server = app.listen(3001, () => { console.log('Start server : localhost:3001'); }); // console.log(type); //..
- [Node.js][유튜브 강의 노트] 개발자의품격_한시간만에 끝내는 Node.js 입문 #22021-11-22 14:40:33학습내용 1. 강의영상 https://youtu.be/toLDNN4FQv0 유튜버 개발자의 품격님의 "한시간만에 끝내는 Node.js입문" 강의 내용의 나머지 파트로서, html 라우팅과 db연동에 대한 내용을 정리한다. 2. index.html 작성 Welcome to My Homepage AAAA BBBB 3. about.html 작성 About Page 4. server.js 작성 npm을 이용해 필요한 패키지 설치 해야한다. 해당 패키지는 server.js 코드의 주석에 표기하였다. // server.js const express = require('express'); const app = express(); const server = app.listen(3000, () => { console.l..
728x90
반응형