NodeJS
-
Broswer의 Cookie 와 localstorage 의 차이점 정리NodeJS 2019. 11. 18. 04:28
Broswer의 Cookie 와 localstorage 의 차이점 정리 쿠키는 오랫동안 사용된 클라이언트에 저장하는 정보이다. 로컬 스토리지는 웹 스토리지의 하나로 기본적으로 key와 value 형태이다. 웹 스토리지는 세션 스토리지와 로컬 스토리지가 존재한다. 세션 스토리지와 로컬 스토리지의 차이는 세션이 종료되는 경우 스토리지 내용의 삭제 유무이다. 쿠키와 로컬스토리지와의 가장 큰 차이점 쿠키는 서버에서 읽을수 있음 로컬 스토리지는 클라이언트에서만 읽고 쓸수 있음 쿠키는 4Kb 까지만 지원 로컬 스토리지는 5Mb 까지 지원 참고자료 웹 스토리지 세션 스토리지 로컬 스토리지 ocal Storage vs Cookies 쿠키 vs 로컬스토리지 vs 세션스토리지
-
Async Await을 이용하여 처리시 catch를 처리하지 않아 response 무한 대기 현상NodeJS 2019. 11. 16. 04:27
Async Await을 이용하여 처리시 catch를 처리하지 않아 response 무한 대기 현상 개인적으로 Promise, callback 보다는 async await를 많이 이용한다. const getSomething = asycn (req, res, next) => { const something = await callPromiseObject(); res.json(something); }이와 같이 처리시 기본적으로는 큰 문제가 없지만, callPromiseObject() 를 실행하다 오류가 발생하면 response를 전송하지 못하여 무한 대기 하는 오류가 발생한다. 해결하는 방법은 몇가지가 있는데, 그중 하나는 const getSomething = asycn (req, res, next) => { ..
-
도서관에 도서 자동 요청 프로젝트NodeJS 2019. 11. 13. 04:25
도서관에 도서 자동 요청 프로젝트 도서관에 책을 등록하는 프로그램 입니다. 기존에 JAVA로 만들어진 모듈을 nodejs로 변경 하였습니다. JAVA 소스의 경우 selenium을 설치하고 설정해야하는 부분이 많았는데 puppeteer를 이용하면 간단하게 최소한의 설정으로 처리가 가능하다. 기존 JAVA Source 바로가기 nodejs Source 바로가기 프로그램 설계 부천 시립 도서관에서 한달에 요청 할 수 있는 도서는 다음과 같다. 상동, 심곡, 꿈빛, 책마루, 송내도서관 : 1인당 월 5권 원미, 북부, 한울빛, 꿈여울도서관 : 1인당 월 20권 이에 도서 목록을 다음과 같이 TXT 파일로 작성하연 자동으로 등록 하도록 한다. 도서목록 파일 내용 샘플 도서관코드|도서명 AA|즐거운하루 AB|자동..
-
도서관에 도서 요청 하기NodeJS 2019. 7. 18. 00:34
도서관에 도서 요청 도서관에 책을 등록하는 프로그램 입니다. 기존에 JAVA로 만들어진 모듈을 nodejs로 변경 하였습니다. JAVA 소스의 경우 selenium을 설치하고 설정해야하는 부분이 많았는데 puppeteer를 이용하면 간단하게 최소한의 설정으로 처리가 가능하다. 기존 JAVA Source 바로가기 nodejs Source 바로가기 프로그램 설계 부천 시립 도서관에서 한달에 요청 할 수 있는 도서는 다음과 같다. 상동, 심곡, 꿈빛, 책마루, 송내도서관 : 1인당 월 5권 원미, 북부, 한울빛, 꿈여울도서관 : 1인당 월 20권 이에 도서 목록을 다음과 같이 TXT 파일로 작성하연 자동으로 등록 하도록 한다. 도서목록 파일 내용 샘플 도서관코드|도서명 AA|즐거운하루 AB|자동책등록프로그램 ..
-
express에서 File Upload 구현 하기NodeJS 2019. 7. 14. 00:31
express에서 File Upload 구현 하기 업로드는 복잡하게 구현 하지 않고 모듈을 사용하면 쉽게 할 수 있다. express-fileupload를 이용하면 된다. # express 의 app.js 에서 다음과 같이 사용 const fileUpload = require('express-fileupload'); const cors = require('cors'); const fs = require('fs'); app.use(cors()); app.use(fileUpload()); app.post('/upload', (req, res, next) => { let uploadFile = req.files.file const fileName = r..
-
Google Docs Sheets 연동 하기NodeJS 2019. 7. 13. 00:30
google docs Sheets 연동 하기 이번에 진행되는 프로젝트에서 데이터를 Google Docs의 Sheets에 넣어 두고 해당 데이터를 활용하여 대시보드를 구현하게 되었다. Google Sheets API 소개에도 잘 나와 있듯이, API를 활용하여 쉽게 이용할 수 있다. Node.js Quickstart에서 제공되는 소스는 아래와 같다. const fs = require('fs'); const readline = require('readline'); const {google} = require('googleapis'); // If modifying these scopes, delete token.json. const SCOPES = ['http..
-
NodeJs에서 Parse Error: HPE_HEADER_OVERFLOW 발생NodeJS 2019. 7. 12. 00:29
NodeJs에서 Parse Error: HPE_HEADER_OVERFLOW 발생 x-ray(node moudle)를 이용해서 크롤링을 개발하고 있던 중, 다음과 같은 오류를 만나게 되었다. (node:63533) UnhandledPromiseRejectionWarning: Error: Parse Error at Socket.socketOnData (_http_client.js:442:20) at Socket.emit (events.js:189:13) at addChunk (_stream_readable.js:284:12) at readableAddChunk (_stream_readable.js:265:11) at Socket.Readable.push (_stream_readable.js:220:10) a..
-
nodejs package.json의 모듈 업데이트 하기NodeJS 2019. 7. 10. 00:25
nodejs package.json의 모듈 업데이트 하기! npm-check-updates을 이용하여 package.json에 등록된 모듈들을 의존성에 알맞게 최신 버젼으로 업데이트 할 수 있다. 설치 후 실행은 다음과 같다. # global로 npm-check-updates 설치 $> npm i -g npm-check-updates # 프로젝트(package.json과 동일한) 디렉토리에서 다음 명령어 실행 $> ncu -u Upgrading /Users/admin/myProject/package.json [====================] 17/17 100% app-root-path ^2.1.0 → ^2.2.1 cookie-parser ~1.4.3 → ~1.4.4 debug ~2.6.9 → ~4..