본문 바로가기

node.js

(5)
[Node.js] SQL Server native 연결 github에 보면 모듈을 정리해 놓은 것이 있는데 https://github.com/joyent/node/wiki/modules데이터베이스에서는 Node.js는 Monngo DB가 대세 인 것 같다. RDBMS에서는 My-SQL이 그나마 라이브러리로 언급이 된다. 정작 회사에서 주로 사용하는 SQL Server이다.어제 찾아보니 TDS protocol로 구현되어 있는 계열 빼고는 node-sqlserver이 유일한 네이티브 모듈인 것 같았다. 문제는 npm install node-sqlserver로 단순히 설치가 안된다는 사실.C++ add on 때문에 빌드를 해야 하는데 솔루션 파일 인식 에러가 뜬다. https://github.com/windowsazure/node-sqlserver 에 보면 준비물..
[Node.js] Add on, Buffer 객체 C++로 넘기기 중국쪽 블로그로 보이는 Dead Horse's Blog를 참고하면 된다.Creating a Proper Buffer in a Node C++ Addon라는 제목의 글도 해당 내용을 담고 있다.Wrapping a C++ Object to a v8 Object in a Node Addon 도 자바스크립트 객체를 C++ 클래스로 바꾸는 유용한 글이다. 알아둘 것1. node::Buffer는 node_buffer.h를 include 하면 된다. (node-v0.x.y.tar.gz의 src/node_buffer.h) - 처음에 Buffer라는 클래스를 사용하길래 어디있지 생각했는데, node.h만 include한다고 되는 것이 아니였다. - 어차피 node.lib를 이용해서 빌드할 것이라면 node_buffer...
[Node.js] - 윈도우 지원의 역사 전에 유투브에서 Node.js를 만든 Ryan Dahl이 "윈도우는 매우 중요하다. php처럼"이라는 말을 진지하게 했다가 사람들은 농담인지 알고 웃었던 장면을 본적이 있다. (아래 동영상에서 52초 부근~1:20초) node.js가 v0.10.21이 나오도록 아래 아키텍처 그림은 계속 검색이 된다. 하지만 Node.js는 v0.5부터 획기적인 변화가 있었다. 2011년 5월 5일 (어린이날!)에 발표한 로드맵 문서(http://nodejs.org/nodeconf.pdf)를 보면v0.5의 주요 목표는 윈도우 호환성이었다!!! 윈도우로의 포팅이 왜 중요한지는,서버의 33%가 윈도우이고, 웹 브라우저의 87%가 윈도우에서 돌아가고 있다는 것이다.(지금은 모바일 %가 높아졌지만) 이전까지는 윈도우에서 노드제이..
[Node.js] Buffer 데이터 초기화 네트워크 패킷을 만들일이 있어 Buffer를 사용해야 했다.기본 모듈인지라 require는 따로 필요하지 않는다. 기본 메뉴얼은 => http://nodejs.org/api/buffer.html 처음에는 배열을 new로 생성해서 writeUInt8 메소드로 데이터를 추가했다. => http://nodejs.org/api/buffer.html#buffer_buf_readint8_offset_noassert예)var printQueue = new Buffer(7); packet.writeUInt8(0x02, 0); // Receive a printer job packet.writeUInt8(0x70, 1); // p packet.writeUInt8(0x72, 2); // r packet.writeUInt8(..
node.js v0.8.21 -> v0.10.16 오랫만에 node.js를 할 일이 있어 버전을 검토하니 0.8대에서 0.10으로 릴리즈 되었다.꾸준이 버전이 올라가는 것으로 보아 누군가가 열심히 개발을 하고 있다고 생각이 되었다. 무슨 기능이 추가되었는지는 둘째치고 성능상의 변화가 궁금해서 이전 버전을 idle 상태로 돌려보고 업그레이드 후 버전을 돌려서 비교를 해보았다. 메모상으로만 보면 16.7 MB에서 10.8 MB로 대폭 감소하였음을 볼 수 있다.v0.8.21 v0.10.16 이전에 지역 저장소에 0.6.17 버전의 소스코드(정확히는 헤더들)를 넣어둔 적이 있는데 0.8까지는 변화가 없었다. cpp가 바뀌었을지도 모르겠다. 그럼 이번에는 어떤 변화가 있을지?