const express = require('express'); const FormData = require('form-data'); let router = express.Router(); router.route('/test').get((req, res) => { let form = new FormData(); form.append('part1', 'part 1 data'); form.append('part2', 'part 2 data'); form.append('part3', 'part 3 data'); res.setHeader('Content-Type', `multipart/form-data; boundary=${form.getBoundary()}`); form.pipe(res); }); module..
function test(){ let a = 1; let b = 2; const func1 = () => { if(a == 1){ throw new Error("a = 1"); } console.log('func1 success'); } const func2 = () => { if(b == 2){ throw new Error("b = 2"); } console.log(`func2 success`); } try{ func1(); func2(); } catch(ex){ console.error(`test failed - ${ex.message}`); return; } } test(); 하나의 작업을 수행하는 함수 내에서도 다양한 추상화 수준의 코드들이 존재할 수 있기 때문에 이들을 다시 내부 함수로 분리하여..
*N-API 공식 홈페이지: https://nodejs.org/api/n-api.html *N-API 관련 예제: https://github.com/nodejs/node-addon-examples *node-gyp 설치: https://github.com/nodejs/node-gyp ◆ 팁 *node 모듈을 실행하기 위해서는 해당 컴퓨터의 터미널에서 "yarn global add windows-build-tools"를 입력하여 윈도우 빌드 툴을 설치해야 합니다. (node-gyp 설치 페이지 참고) *클래스를 생성하기 위해 .cc 파일과 .h 파일을 추가할 경우 binding.gyp에서 targets -> sources에 해당 .cc 파일을 추가해야 합니다. 예를 들어, player 클래스를 추가할 경우..
● vue-cli 설치하기 ▶터미널에서 "npm install -g @vue/cli" 입력 (반드시 @ 붙여야 함) 또는 "yarn global add @vue/cli" 입력 ●vue-cli로 프로젝트 생성하기 ▶터미널에서 "vue create my-project" 입력 ◆Please pick a preset 항목에서 default(babel, eslint) 선택 ▶터미널에서 "cd my-project"를 입력하거나, visual studio code의 폴더를 my-project로 이동 ▶터미널에서 "npm run serve"를 입력하면 웹에서 최종 실행 화면을 볼 수 있음 [오류처리] 터미널에서 "vue create" 명령어 입력시 아래와 같은 오류가 발생할 수 있습니다. vue : 이 시스템에서 스크..
서버로부터 UTF-8 형식의 문자열을 받아 file-saver 모듈을 사용하여 CSV 파일로 저장할 때 엑셀에서 열람하면 글자가 깨지는 현상이 있습니다. 이때 문자열 앞에 BOM을 추가해주면 CSV 파일을 정상적으로 열 수 있습니다. Office 2007 이전에는 ANSI 1252 인코딩을 기본 값을 사용하였습니다. BOM을 추가하면 Office 2007 이후 버전부터 정상적으로 CSV 파일을 열 수 있습니다. var BOM = "\uFEFF"; var csvData = BOM + csvData; var blob = new Blob([csvData], { type: "text/csv;charset=utf-8" }); saveAs(blob, "myFile.csv"); 참조: https://github.co..
Node.js에 따르면, Node.js 애드온은 C++에 의해 작성된 동적 링크 공유 객체로, require() 함수를 사용하여 Node.js로 불러올 수 있으며 일반 Node.js 모듈처럼 사용할 수 있습니다. 이 애드온은 C/C++ 라이브러리와 Node.js에서 작동하는 자바스크립트 간의 인터페이스를 제공합니다. nodejs 애드온을 사용하는 이유는 크게 다음과 같습니다. 1. JS 스스로 사용하기 어려운 네이티브 api들에 접근하고 싶을 때 2. C/C++에서 작성된 서드 파티 라이브러리와 통합하고 싶고, 이를 Node.js에서 직접 사용하고 싶을 때 3. 성능 이슈로 인해 C++ 모듈로 재작성하고 싶을 때 이 글에서는 N-API에 대해 설명하고 C/C++ 기반의 NodeJS 애드온을 구축하기 위한..