Programming/node.js2018. 11. 23. 10:52

mysql.escape()

[링크 : https://stackoverflow.com/.../er-parse-error-on-node-mysql-when-inserting-multiple-values]


timestamp는 CURRENT_TIMESTAMP 로 설정시 자동으로 입력됨

[링크 : https://blog.naver.com/star_breeze/220534943357]



이것저것 해보는데.. new Buffer().toString()이 유효했다!

$ node

> var tt = [39,91,92,39,105,110,112,117,116,35,115,101,108,95,48,95,49,92,39,44,92,39,105,110,112,117,116,35,115,101,108,95,48,95,51,92,39,44,92,39,105,110,112,117,116,35,115,101,108,95,48,95,53,92,39,93,39]

undefined

> var buffer = new Buffer(tt)

undefined

> buffer

<Buffer 27 5b 5c 27 69 6e 70 75 74 23 73 65 6c 5f 30 5f 31 5c 27 2c 5c 27 69 6e 70 75 74 23 73 65 6c 5f 30 5f 33 5c 27 2c 5c 27 69 6e 70 75 74 23 73 65 6c 5f ... >

> buffer.toString('base64')

'J1tcJ2lucHV0I3NlbF8wXzFcJyxcJ2lucHV0I3NlbF8wXzNcJyxcJ2lucHV0I3NlbF8wXzVcJ10n'

> var buffer = new Buffer(tt, 'binary')

undefined

> buffer.toString('base64')

'J1tcJ2lucHV0I3NlbF8wXzFcJyxcJ2lucHV0I3NlbF8wXzNcJyxcJ2lucHV0I3NlbF8wXzVcJ10n'

> tt.toString('utf-8')

'39,91,92,39,105,110,112,117,116,35,115,101,108,95,48,95,49,92,39,44,92,39,105,110,112,117,116,35,115,101,108,95,48,95,51,92,39,44,92,39,105,110,112,117,116,35,115,101,108,95,48,95,53,92,39,93,39'

> buffer.toString('utf-8')

'\'[\\\'input#sel_0_1\\\',\\\'input#sel_0_3\\\',\\\'input#sel_0_5\\\']\'' 

> new Buffer(tt).toString(

... 'utf-8')

'\'[\\\'input#sel_0_1\\\',\\\'input#sel_0_3\\\',\\\'input#sel_0_5\\\']\''

> new Buffer(tt).toString()

'\'[\\\'input#sel_0_1\\\',\\\'input#sel_0_3\\\',\\\'input#sel_0_5\\\']\''


[링크 : https://stackoverflow.com/questions/9042327/node-js-reading-blob-from-mysql]

[링크 : https://gist.github.com/akirattii/86e2eda8e110976cce144c991e9cada8]


그나저나 escape의 향연 어쩔꺼야...



+

mysql에 BLOB 타입으로 JSON을 저장하면 

node.js에서는 아래와 같이 Buffer에다가 값을 넣고 toString() 으로 문자열로 바꾸어준 다음

mysql.escape()를 통해 \" 식으로 된걸 원래대로 돌려주어야 한다.


server-side(node.js)

mysql.escape(new Buffer(row.element).toString("utf-8")); 


그리고 받는 쪽에서는 JSON이 아닌 일반 plain-text니까

JSON.parse를 통해서 JSON으로 변환해 주어야 한다.(eval은 빼도 되는지 확인 필요)


client-side(chrome, web browser)

JSON.parse(eval(data.json));


'Programming > node.js' 카테고리의 다른 글

node.js sqlite3  (0) 2018.11.26
node.js xml <-> json  (0) 2018.11.25
sqlite for node.js  (0) 2018.11.21
node.js swagger  (0) 2018.11.12
node.js axios delete에 body 쓰기  (0) 2018.11.12
Posted by 구차니
Programming/node.js2018. 11. 21. 15:56

sqlite3 패키지를 설치한다.


[링크 : https://www.npmjs.com/package/sqlite3]

[링크 : https://github.com/mapbox/node-sqlite3]

[링크 : http://www.sqlitetutorial.net/sqlite-nodejs/]

'Programming > node.js' 카테고리의 다른 글

node.js xml <-> json  (0) 2018.11.25
node.js mysql blob  (0) 2018.11.23
node.js swagger  (0) 2018.11.12
node.js axios delete에 body 쓰기  (0) 2018.11.12
mysql jwt plain object payload  (0) 2018.11.09
Posted by 구차니
Programming/node.js2018. 11. 12. 22:50

'Programming > node.js' 카테고리의 다른 글

node.js mysql blob  (0) 2018.11.23
sqlite for node.js  (0) 2018.11.21
node.js axios delete에 body 쓰기  (0) 2018.11.12
mysql jwt plain object payload  (0) 2018.11.09
node.js 로그에 시간 정보 넣기  (0) 2018.11.09
Posted by 구차니
Programming/node.js2018. 11. 12. 15:27

원칙대로(?) 라면 delete에 body를 쓸 수 없다고.. -_-???

일단은 data에 한번더 data로 싸주면 되긴 한다.


axios.delete(url, { data: { foo: "bar" } }); 

[링크 : https://github.com/axios/axios/issues/897]

[링크 : https://stackoverflow.com/questions/51069552/axios-delete-request-with-body-and-headers]

'Programming > node.js' 카테고리의 다른 글

sqlite for node.js  (0) 2018.11.21
node.js swagger  (0) 2018.11.12
mysql jwt plain object payload  (0) 2018.11.09
node.js 로그에 시간 정보 넣기  (0) 2018.11.09
node npm argument  (0) 2018.11.09
Posted by 구차니
Programming/node.js2018. 11. 9. 19:24

원인불명, 해결책 불명.. -_-


걍.. 귀찮아도

mysql result 객체(?) 에서

[ RowDataPacket { name: 'John', rollno: 1, marks: 74 }] 

요런식으로 배열인척 하는 이상한 녀석을 내뱉는데

result[0].name

result[0].rollno

result[0].marks

식으로 접근이 가능하니

새로운 객체로 생성해서 jwt에 넣어주면 된다.


이전에는 잘되던게 왜 갑자기 안될까.

요 한달사이 mysql이 바뀐걸까 jwt가 바뀐걸까...


[링크 : https://github.com/auth0/node-jsonwebtoken]

[링크 : https://www.tutorialkart.com/nodejs/node-js-mysql-select-from-query-examples/]

[링크 : https://stackoverflow.com/questions/38133084/how-to-access-rowdatapacket-mysql-node-js/38139286]

[링크 : https://stackoverflow.com/questions/31221980/how-to-access-a-rowdatapacket-object]

[링크 : https://github.com/mysqljs/mysql/issues/1899]

[링크 : https://github.com/mysqljs/mysql/issues/1330]

'Programming > node.js' 카테고리의 다른 글

node.js swagger  (0) 2018.11.12
node.js axios delete에 body 쓰기  (0) 2018.11.12
node.js 로그에 시간 정보 넣기  (0) 2018.11.09
node npm argument  (0) 2018.11.09
node expres jwt  (0) 2018.11.08
Posted by 구차니
Programming/node.js2018. 11. 9. 16:06

consol.log로 나오는 녀석은 이녀석으로 커버하면되고

[링크 : https://stackoverflow.com/questions/18814221/adding-timestamps-to-all-console-messages]


아래와 같은 식의 로그는

DELETE /api/program 200 3.136 ms - 16 

morgan 이라는 logger에서 처리하기 때문에 얘를 건드려야 하는데


express로 기본 생성하면 아래와 같이 나오는걸

 app.use(logger("dev"));

아래와 같이 바꾸면

 app.use(logger("combined"));


이런 포맷으로(아파치 포맷이라고 써있긴 한데..) 출력되면서 시간 정보를 확인할 수 있다.

::1 - - [09/Nov/2018:07:13:06 +0000] "DELETE /api/program HTTP/1.1" 200 16 "-" "PostmanRuntime/7.4.0" 


커스터마이징도 가능은 하지만 귀찮으니 이정도로 검색하고 패스~

[링크 : https://stackoverflow.com/questions/43670082/how-to-put-timestamp-in-express-js]

[링크 : https://github.com/expressjs/morgan]

'Programming > node.js' 카테고리의 다른 글

node.js axios delete에 body 쓰기  (0) 2018.11.12
mysql jwt plain object payload  (0) 2018.11.09
node npm argument  (0) 2018.11.09
node expres jwt  (0) 2018.11.08
npm 특정 버전의 모듈 설치하기  (0) 2018.11.07
Posted by 구차니
Programming/node.js2018. 11. 9. 08:22

node 파일명 옵션 으로 실행하거나

[링크 : https://stackoverflow.com/.../sending-command-line-arguments-to-npm-script]


npm start 옵션 으로 실행할때 필요한 방법

[링크 : https://stackoverflow.com/.../how-do-i-pass-command-line-arguments-to-a-node-js-program]

'Programming > node.js' 카테고리의 다른 글

mysql jwt plain object payload  (0) 2018.11.09
node.js 로그에 시간 정보 넣기  (0) 2018.11.09
node expres jwt  (0) 2018.11.08
npm 특정 버전의 모듈 설치하기  (0) 2018.11.07
axios 여러개의 요청을 묶어서 하기  (0) 2018.11.07
Posted by 구차니
Programming/node.js2018. 11. 8. 19:14

'Programming > node.js' 카테고리의 다른 글

node.js 로그에 시간 정보 넣기  (0) 2018.11.09
node npm argument  (0) 2018.11.09
npm 특정 버전의 모듈 설치하기  (0) 2018.11.07
axios 여러개의 요청을 묶어서 하기  (0) 2018.11.07
node.js REST get/post 관련  (0) 2018.11.06
Posted by 구차니
Programming/node.js2018. 11. 7. 19:58

버전 의존성(?)이 존재할지 모르겠지만 존재한다면 아래와 같이

특정 버전을 지정해서 설치가 가능하다.


--save 하면 버전이 정해져서 되려나?


npm 모듈명@버전 

[링크 : http://webs.co.kr/index.php?document_srl=3315821]

[링크 : https://60devs.com/npm-install-specific-version.html]

'Programming > node.js' 카테고리의 다른 글

node npm argument  (0) 2018.11.09
node expres jwt  (0) 2018.11.08
axios 여러개의 요청을 묶어서 하기  (0) 2018.11.07
node.js REST get/post 관련  (0) 2018.11.06
curl jwt  (0) 2018.10.26
Posted by 구차니
Programming/node.js2018. 11. 7. 19:56

Promise.all에

배열로 넣어 주면 되고

결과는 spread()로 받아주면 되는 듯?



var promise1 = Promise.resolve(3);

var promise2 = 42;

var promise3 = new Promise(function(resolve, reject) {

  setTimeout(resolve, 100, 'foo');

});


Promise.all([promise1, promise2, promise3]).then(function(values) {

  console.log(values);

}); 

[링크 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/all]


Concurrency

Helper functions for dealing with concurrent requests.


axios.all(iterable)

axios.spread(callback) 

[링크 : https://www.npmjs.com/package/axios]



[링크 : https://lovemewithoutall.github.io/it/axios-multiple-request/]

[링크 : https://kapeli.com/cheat_sheets/Axios.docset/Contents/Resources/Documents/index]

[링크 : http://webs.co.kr/index.php?document_srl=3315821]

'Programming > node.js' 카테고리의 다른 글

node expres jwt  (0) 2018.11.08
npm 특정 버전의 모듈 설치하기  (0) 2018.11.07
node.js REST get/post 관련  (0) 2018.11.06
curl jwt  (0) 2018.10.26
node-rtsp-stream 과 node-rtsp-stream-es6 차이  (0) 2018.10.24
Posted by 구차니