2012年11月30日 星期五

[NPM]node-inspector debug

螢幕快照 2012-11-30 下午10.34.40

以前在寫C#,有種以前什麼Editor都幫你做好了,只要無腦的執行build,run就好了,加些中斷點就可以開始Debug不過自從開始轉換到Node.js,目前我還在學的vim就不是這麼簡單的就可以debug,前些陣子常常用的都是最傳統的插旗子方法,常常都是停掉再跑,所以今天就來試試Node-inspector

Node-Inspector 是個可以用Browser來debug node的module

可以使用npm 安裝他

npm install –g node-inspector

接下來要使用他的話,有分兩種方法

方法一:重新啟動Node

你可以執行

Node –debug[=portnumber] [你的App.js]

不用從第一行開始debug

如果你從第一行就想debug 改執行

Node –debug-brk[=portnumber] [你的App.js]

執行完會出現下列畫面

螢幕快照 2012-11-30 下午10.58.39

下一步請執行

node–inspector  &

執行後即可開始debug.

請輸入網址

http://127.0.0.1:8080/debug?port=[portnumber]

螢幕快照 2012-11-30 下午11.42.16

左邊選單即可看到你Node的程式選擇後,即可下中斷點

方法二:直接attach現在的node程式

你可以用

pgrep -l node
來取得你的node的PID
kill -s USR1 PID
再來就跟剛剛一樣執行
node-inspector &
 
 
以下為官方說明影片
 


2012年11月22日 星期四

Redis-futon 測試

因為最近在使用Node.js 所以拿Redis來儲存Session資料

看到有Node.js的管理redis介面,所以安裝來玩一下

https://github.com/suwanny/redis-futon

安裝完後使用redis-futon 5985(port number)啟動

以下為第一個畫面,顯示你的redis的基本資訊

螢幕快照 2012-11-22 下午1.17.11

右上角的選單可以讓你選擇Database

螢幕快照 2012-11-22 下午1.08.30

選擇完Database 就可以看到裡面的內容了

Redis Futon2

上面也可以直接下command

按下Show Value會顯示Key的Vaule

Redis Futon3

不過我在Hash按Show Value是沒反應的,不知道是不是有什麼問題

以上…(只是Grey問了有沒有Screen Shot 硬生出來的,打混的文章….

shasum problem

######################################################################## 100.0%
-bash: shasum:命令找不到
Checksums do not match.
Binary download failed, trying source.
Additional options while compiling:
######################################################################## 100.0%

 

幾次在CentOS用nvm安裝node.js都出現這個問題,來記錄一下

問題出在預設沒有shasum這個指令

所以可以先下

yum whatprovides '*bin/shasum'

尋找一下到底要裝什麼

結果

Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: ftp.jaist.ac.jp
* epel: ftp.tsukuba.wide.ad.jp
* extras: ftp.jaist.ac.jp
* updates: ftp.jaist.ac.jp
1:perl-Digest-SHA-5.47-127.el6.x86_64 : Perl extension for SHA-1/224/256/384/512
Repo        : base
Matched from:
Filename    : /usr/bin/shasum

 

1:perl-Digest-SHA-5.47-127.el6.x86_64 : Perl extension for SHA-1/224/256/384/512
Repo        : installed
Matched from:
Filename    : /usr/bin/shasum

 

安裝完即可結案

2012年9月1日 星期六

Third Month.

IMG_0948

過了今天,Jairo就兩個月大,進入第三個月

莫名其妙的多出了個小蒟蒻的小名

看書養他的我們 不知不覺他的體重 頭圍 身高,通通是在同年齡的小孩的99%

他遺傳了我的淺眠跟媽媽的愛哭,時時都會露出扁嘴的表情

我減少了與同事下班的聚會,增加了在家的時間

在他睡覺時,犧牲了些許睡眠時間,增加了閱讀技術文件的量,計畫工作的事情,想著怎麼樣讓他過更好的生活

老人家都說要結完婚生完小孩,男生個性才會穩定 有責任感,我想是的

當醫生把一個軟軟的小孩交給你,他哭鬧著要吃奶,或睡不著,甚至是要換尿布

這時,你才會發現,【對喔~如果我不努力,他該怎麼辦】

Jairo ,要平平安安 快樂長大喔~~~

imageimageIMG_6398

2012年6月26日 星期二

Deploy Windows Azure for Node.js by Powershell

 

本篇想說明的是如何用PowerShell Deploy你的專案到Windows Azure

一開始可以先啟動Microsoft Web Platform Installer

image

安裝下列兩項

  • Windows Azure PowerShell
  • Windows Azure SDK for Node.js

image

安裝完,即可以執行Windows Azure PowerShell

image

接下來一開始先建立你的Azure Project

請執行New-AzureServiceProject [ProjectName]

image

再來就是建立你的Node.js 的WebRole

執行Add-AzureNodeWebRole

image

WebRole底下會有建立了預設的檔案,目前server.js為起始檔,可以到web.config更改

image

image

執行完可以在本機測試,請執行Start-AzureEmulator –Launch

image

執行完就會開啟一個browser視窗,顯示你的頁面

image

接下來就是開始Deploy到Windows Azure,首先我們需要deploy的設定檔

請執行Get-AzurePublishSettingsFile

image

執行完,Browser會連線到Windows Azure,若你還沒登入,那請先登入,登入後會出現要你下載你的設定檔

image

設定檔下載後請將他import到你的環境裡面

請執行Import-AzurePublishSettingsFile [設定檔]

image

接下來要Publish WebRole,請下下面的指令,[appName]請使用比較特別的,不然跟別人重複就沒辦法publish,Region可以用"East Asia"
Publish-AzureServiceProject –ServiceName [AppName] –Location [Region] –Launch

image

這個指令大概會花五到七分鐘,所以請大家耐心等待,在deploy期間,你可以到管理介面上面看狀況

image

image


最後會出現Complete,代表成功了,管理介面上也會變成running


image





最後這就是結果了


image



特別要注意的地方就是每次publish都需要一些時間,所以可能要耐心等候,有好幾次我以為我的機器掛了


其他應該還蠻好上手的吧~~~~

2012年6月17日 星期日

Heroku nodejs 簡單教學

image

比起Nodejitsu,我覺得Heroku難設定多了

因為Heroku也不是beta了,所以帳號啟用的部分就不多說了

申請完之後,第一步就是要先安裝Heroku到global的環境

npm install heroku –g

image

再來就要是要登入Heroku

image

登入後請到你的WebApp目錄

確認你需要的module與版本是否都有寫入package.json

image

因為Heroku會根據這個檔案幫你安裝你的module

另外Heroku是用git來做版本更新的,但node_module目錄內的module他並不會套用,他是根據package.json來幫你安裝module的,所以你把node_module check-in進去也沒有用

所以請新增一個檔案.gitignore

內容為

node_modules

註: 如果你是windows的系統,你或許沒辦法建立沒有檔名的檔案

image

所以請到command mode 下執行rename 為 .gitignore即可

 

 

下一步為建立一個檔案名稱為Procfile

內容為

web: node web.js
用途為告訴Heroku你的起始執行檔為何?
 
再來即為Deploy了
第一步請先執行
git init

image
初始化git
第二步
git add .

image

image
將檔案加入版本控制
第三步
git commit –m “init”

image
將檔案commit到Heroku
下一步執行
heroku create [your app name] –stack cedar

 image
deplopy到heroku上
git push heroku master

image
最後一步
heroku ps:scale web=1 (這步很重要,第一次請一定要做)

image

Deploy成功,可以看去url看結果

image
管理介面

image
  

2012年6月16日 星期六

Nodejitsu 簡單教學

 

image

從Grey那邊聽到Nodejitsu 這個cloud服務,在我試過HeroKu覺得很麻煩後,就也來申請試玩看看

image

因為Nodejitsu的服務還在Beta階段,所以你必須先索取帳號

第一步先輸入你的帳號

image

第二步輸入你的Email

image

第三步就是可以描述一下你的應用程式的用途,可說可不說

image

再來你就會收到一封Email…你必須要按下啟用帳號的連結

image

不過因為他還在Beta階段,所以每天有啟用的人數限制,所以今天不行就明天再按吧

如果有啟用成功的話,你就會收到下面的信

image

第一.你需要使用npm安裝jitsu到global

第二安裝完後,你必需執行jitsu users confirm [your account] [your activation code]來啟用你的帳號

再來你就可以透過 jitsu login 登入你的帳號

image

想要開始Deploy你的程式嗎?

第一步 你需要增加

scripts:{

"start”:"server.js"

}

告訴Nodejitsu 你的執行檔案名稱

第二步 增加

“subdomain”:”your domain_name”

到時你的url就會變為domain_name.nodejitsu.com

以下為例子

image

再來需要到你的WebApp目錄執行jitsu deploy 即可…

Deploy完後,你就可以到Nodejitsu登入看到你的App名稱

image