Sunday, April 19, 2015

Node.js 다루기

$ sudo apt-get update
$ sudo apt-get install nodejs npm

만약 node라는 명령어를 인식하지 못한다면, 다음 파일 수정해서 PATH 설정
>> /etc/environment

oracle jdk 설치
eclipse J2EE 설치
eclipse 플러그인: Aptana Studio 3 plugin 설치

대표적 npm 확장 모듈
- nodemon: 노드 실행 파일 변경시 노드 애플리케이션을 재시작. node 대신 nodemon으로 실행하면 된다.
- forever: 노드 실행 프로세스 유지. 잘못된 요청이나 실행 도중 오류 때문에 중지되더라도 재시작됨
- expresso: TDD 지원 프레임워크
- express: (경량화) 웹 개발 프레임워크. "express [프로젝트 디렉토리]"로 프로젝트 생성. 다음과 같은 명령어로 의존모듈 설치 가능
>> $ cd [프로젝트 디렉토리] && (sudo) npm install
- Jade: 뷰 템플릿 엔진. indenting을 통해 계층 구조 표현.
- Socket.IO: 실시간 웹 앱 개발
>> sudo npm install socket.io -g
- commander: 노드 명령줄 도구 개발
- Vows: BDD 지원 프레임워크
- node-inspector: 디버깅 지원 도구. node-jscoverage 포함(코드 커버리지 확장 모듈 포함)
- everyauth: 다양한 인증 서비스 지원
- 압축관련: node-zip, UglifyJS
- 로그와 성능 분석: log.io, Nodetime

* nohub: 리눅스에서 백그라운드 실행시키는 명령. hang-up signal이 발생해도 스크립트 동작이 멈추지 않음
>> nohub node ./server.js &

JxCore : js 패키징/배포/실행

$ sudo npm install [모듈명] (-g)
$ npm list (-g)
$ npm update [모듈명]
$ npm uninstall [모듈명]

npm registry 사이트: npmjs.org

데이터 다루기
- NoSQL 다루기: mongoose, mongolian
- SQL 다루기: node-mysql
- redis 다루기: redis (hiredis: 비동기 빠른 모듈)

* 오픈소스 자바스크립트 코드/텍스트 에디터 프로젝트
- ACE: ace.ajax.org
- CodeMirror: codemirror.net

Saturday, February 28, 2015

C에서 C++ 호출하기

참고: http://ospace.tistory.com/215

  • 파일 구성: 3개
    • Counter.h
      • C++헤더파일이자 멤버함수가 정의됨
    • counter_c.h
      • C에서 사용할 헤더파일
      • 이 파일은 Counter.h에 포함되어도 됩니다.
    • counter_c.cpp
      • counter_c.h에 있는 내용을 구현한 부분.
      • 주의할 것은 cpp로 C++로 컴파일됩니다. Counter.h의 cpp파일이 있다면 같이 포함해도 되며, 분리해도 됩니다.

위의 구현은 C++ 구현부와 C 호출부를 분리를 했습니다.
그래서 기존 라이브러리가 아닌 별도로 구성하여 관리할 수 있게 했습니다.



  • 컴파일 방법

# g++ -c counter_c.cpp

# gcc main.c counter_c.o –lstdc++

Windows 10 High DPI 에서 Java application의 Font 조절

Reference:  How do I run Java apps upscaled on a high-DPI display?  @superuser.com Summarize 1) Find java.exe you installed.  2) Righ...