기본 콘텐츠로 건너뛰기

2월, 2013의 게시물 표시

Meteor server-side debugging Tip

Meteor는 수정할때마다 소스를 다시 생성하는 방법이라서 기존 IDE상에서 node.js 디버깅은 어렵다.
하지만 방법이 없는 건 아닌데 의외로 간단하니 breakpoint나 watch가 필요한 경우 잘 보고 적용해보도록 하자.

사실 Meteor 에서 지원하는게 아니라 node 자체의 debugging 옵션을 사용하는 것인데
환경 변수 하나를 설정한다.

export NODE_OPTIONS='--debug'

그리고 meteor(혹은 mrt)서버를 시작한다.
시작할때 로그를 보면


Running on: http://localhost:3000/
debugger listening on port 5858

5858포트로 디버거를 열었음을 확인할 수 있다.(default:기본값이 5858)
만일 특정포트로 열고자 하면

export NODE_OPTIONS='--debug=47977'

이런 식으로 하면 된다.
그리고 자신이 애용하는 node debugger로 보면 된다.
node-inspector(https://github.com/dannycoates/node-inspector)나 node-webkit-agent (https://github.com/c4milo/node-webkit-agent)같은 걸 사용하면 되겠다.


webstorm을 사용한다면 Run/Debug Configuration으로 가서 설정하면 된다.
node-inspector를 설치하고 해당 meteor 프로젝트가 있는 경로에서
터미널에 wstorm . 과 같이 커맨드라인 실행을 했다는 가정이다.
(커맨드라인 실행은 webstorm > tools > Create Launcher Script 에서 지정한 name으로 할 수 있다)
그리고 Command Line Tools Console 에서 node-inspector나 node-webkit-agent 를 띄워서 본다.

내 경우엔 브라우저에서 창을 왔다갔다 하는게 불편해서 remote debugger 를 하나 더 띄웠다.
(ht…

intelliJ IDEA 12에서 flash + starling framework 시작하기

내가 어쩌다 이 글을 쓰게 된건지는 모르겠지만 나를 위해 일단 기록을 남긴다.

요새 Flash에 관심이 가서 보던 중 intelliJ IDEA 12에서 Flash/Flex지원을 기본으로 한다는 이야기를 듣고 바로 알아보기로 함.
Preference > Plugins를 보았다.

있다!

맨바닥에서 하는 건 싫으니까 조금 찾아봤더니 Starling이니 Feather니 하는 것들을 발견.
일단 둘다 clone 하고 보자 zip 파일로 받아놓는 것도 좋지만 업데이트 편하게
library 디렉토리 하나 만들고
git clone git://github.com/PrimaryFeather/Starling-Framework.git
git clone git://github.com/joshtynjala/feathers.git Flex SDK도 받아놓자. 현재 4.6버전임
http://www.adobe.com/devnet/flex/flex-sdk-download.html
iOS Simulator 를 돌리려면 (OS X전용) Air SDK 3.3 이상이 있어야한다고 하니 이것도 받자.
http://www.adobe.com/devnet/air/air-sdk-download.html

준비는 다 되었다. 이 다음은 친절한 분이 잘 정리해놓으셨네.
http://wiki.starling-framework.org/manual/project_setup

이걸보고 하나씩 해본다.
Project Structure로 가서
Platform Settings > SDKs 를 찍고 +를 눌러서 Flex SDK를 선택
받아놓은 Flex SDK 경로를 설정하고
추가 후 Document 를 위해 Documentation Paths 탭을 선택 +지구본 모양 아이콘을 클릭.
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/를 추가하자.
자동으로 URL을 따주는 것 같기도 하고 아닌것 같기도 하고 가물가물

그리고 Platform Settings…