This post will show how to insert Super Column to Cassandra by using Thrift API.
At first, we create a Keyspace named "Sample" and Column Family named "SCTest" via Cassandra-cli.
As default , column type was "Standard" , so we need to assign column type to "Super".
then , we using Thrift to insert Super Column to DB , here is the sample code. Following code almost same as Thrift Examples, I only change some place to insert super column.
網頁
▼
Friday, August 31, 2012
Monday, August 27, 2012
[C#] How to write a Windows Service with Timer and EventLog
Wednesday, August 22, 2012
[ASP.NET] 如何 Precompile 網站
.NET Framework出到2.0之後,多了一個Precompile的功能,可以讓你在將程式發布至正式環境前,先把網站的程式編譯過,詳細介紹可以看這篇"ASP.NET Precompilation Overview",先做Precompile除了可以避免頁面第一次使用時的編譯時間,也可提前看到編譯時的錯誤,還有可以避免把source code上傳到正式環境上,除此之外還有一些安全上的優點,而這篇主要是說如何去做precompile,所以我就不多做其他的介紹了。
其實如何去做 Procompile ,MSDN上的這篇"How to: Precompile ASP.NET Web Sites for Deployment"也有介紹,不過直接照著上面做有很大的機會不會成功,我也是試了好幾次才試出方法,所以就順便記下來當備忘錄了。
首先,在IIS中找個地方開個虛擬目錄,設成應用程式,像是上圖那樣,設定大致上設一設就好,測試設定失敗也沒差,反正接下來的方法用不太到,只要記得設成應用程式就好。
然後開出command line,建議用administrator權限比較穩,然後到你放.NET Framework的目錄下,一般來說會在
3 : 這是在IIS中,你建立應用程式在IIS metabase中在第幾個站台下,像我是第三個,就要寫"3"。
TestSite1 : 應用程式的名稱,看你設什麼就照打。
d:\diedproj\testsite1\testsite1 : 網站程式source code的目錄。
d:\temp : Precompile 後要放置到的目錄。
基本上這樣就完成了,如果有問題可以查查是不是目錄有指錯還是沒有建之類的。
其實只要把設成應用程式的虛擬目錄設定好,應該就可以只用 -v 這個參數就完成 Precompile 的工作,但是我在Win7的環境下試了很久都沒用,研究之後才發現 aspnet_compiler.exe 沒那麼聰明去找到我設定的應用程式,只好直接指定,在這之前我試了很多寫法都不會過XD
以上做個紀錄,收工。
其實如何去做 Procompile ,MSDN上的這篇"How to: Precompile ASP.NET Web Sites for Deployment"也有介紹,不過直接照著上面做有很大的機會不會成功,我也是試了好幾次才試出方法,所以就順便記下來當備忘錄了。
首先,在IIS中找個地方開個虛擬目錄,設成應用程式,像是上圖那樣,設定大致上設一設就好,測試設定失敗也沒差,反正接下來的方法用不太到,只要記得設成應用程式就好。
然後開出command line,建議用administrator權限比較穩,然後到你放.NET Framework的目錄下,一般來說會在
裡面(版本請依照你網站程式對應的Framework版本),然後下這行指令%windir%\Microsoft.NET\Framework\[version]
這邊要稍微解釋一下上色的部分aspnet_compiler -v /LM/W3SVC/3/Root/TestSite1 -p d:\diedproj\testsite1\testsite1 d:\temp
3 : 這是在IIS中,你建立應用程式在IIS metabase中在第幾個站台下,像我是第三個,就要寫"3"。
TestSite1 : 應用程式的名稱,看你設什麼就照打。
d:\diedproj\testsite1\testsite1 : 網站程式source code的目錄。
d:\temp : Precompile 後要放置到的目錄。
基本上這樣就完成了,如果有問題可以查查是不是目錄有指錯還是沒有建之類的。
其實只要把設成應用程式的虛擬目錄設定好,應該就可以只用 -v 這個參數就完成 Precompile 的工作,但是我在Win7的環境下試了很久都沒用,研究之後才發現 aspnet_compiler.exe 沒那麼聰明去找到我設定的應用程式,只好直接指定,在這之前我試了很多寫法都不會過XD
以上做個紀錄,收工。
劍潭山初訪
Thursday, August 16, 2012
[TroubleShooting] IIS run out of memory
最近在測試效能時,遇到了IIS把系統記憶體吃光,結果回傳Out Of Memory Exception,害我壓力測試就中斷了,開出Performance來看,就看到開始測試後,CPU還好,但是記憶體用量直線上升,很快的w3wp.exe就要把系統記憶體吃光光。
等到記憶體被吃光後,IIS就開始吃不太下request,然後不是沒有回應,就是回你錯誤,運氣好的話這時候就可以看到Out of Memory錯誤了XD
Wednesday, August 15, 2012
中油胡亂漲價,還我錢來
中油在13號的時候,又大漲了將近一塊的油價,我一直有在關心油價,也會不定期去update中油油價與國際油價的比較,這次中油大漲時,我看到了這篇新聞「台灣中油調高下周汽柴油價格各0.8元及0.9元 92無鉛每公升33.9元」,剛好可以拿來做計算油價用,於是就生出了這篇。
從新聞中我們可以得到幾點資訊
- 本周調價指標7D3B周均價為每桶108.23美元。
- 101年四月二號95無鉛零售價為35.5元,中油尚吸收2.2元,所以實際應為37.7元。
- 8月13日95無鉛零售價將調為35.4元。
Bloomberg Arabian Gulf Dubai Fateh Crude Oil Spot Price 杜拜
Brent Crude Oil Spot Price 布蘭特
台灣銀行美金歷史匯率
得出的資料如下
- 101/04/02 調價指標為 122.764 (3/26~3/30 Dubai avg=122.05 , Brent avg=124.43 , 7D3B=122.764)
- 101/04/02 周均匯率為 29.509 (3/26~3/30 avg) 然後因為新聞沒有寫本周匯率均價,所以我就算了8/12可用的周均匯率(8/6~8/10)
- 101/08/12 周均匯率為 29.891
(0812調價指標x匯率) / (0402調價指標x匯率) = (0812九五油價) / (0412九五油價+補貼)
所以
0812九五油價 = (0412九五油價+補貼) * (0812調價指標x匯率) / (0402調價指標x匯率)
帶入數字
0812九五油價 = (35.5+2.2) * (108.23*29.891) / (122.764*29.509) = 33.6669621145952
是的,你沒看錯,按照國際油價,現在的油價應該是33.67元才對,怎麼會是中油所說的35.4元呢 ? 這中間的每公升快兩元都被誰賺去了 ?
所以本文最前面的新聞中,有說到媒體質疑中油亂漲價,我想是很合理的,因為這些數據都是可以查的到的,但是中油油價與國際油價差距如此之多,每次都大漲小跌,不是胡亂漲價,就只剩油價黑洞能解釋了。
中油胡亂漲價,還我錢來 !!!
Saturday, August 11, 2012
[選前選後兩樣情] ECFA與石斑魚業
雖然馬英九早表示過選舉只是說說而已,但是還是很多人會被騙,接下來就來看個例子吧。
這是去年選前的新聞,馬座談 石斑魚業:擔心馬沒連任,魚不銷大陸一定「死」。
節錄一段話
這是去年選前的新聞,馬座談 石斑魚業:擔心馬沒連任,魚不銷大陸一定「死」。
節錄一段話
戴昆財說,感謝馬總統推動兩岸簽ECFA,不但提升石斑魚價格,也讓石斑魚產業可以永續。現在石斑業者很擔心馬總統無法連任,大陸會拒絕石斑魚輸入,養殖龍膽石斑的成本1公頃要新台幣1000萬元,青斑600萬元,不銷大陸一定「死」。
Thursday, August 9, 2012
[台北] Solo Pasta - 古典波隆那肉醬與特寬雞蛋麵
其實我很久沒有特地找家店去吃了,會來吃Solo Pasta是因為剛好在趨勢看雜誌打發時間,然後翻到這邊的介紹,看起來有張照片打到我的點,google一下地址在安和路,也不遠,所以事情結束就跑來吃了。
Solo Pasta
地址:台北市大安區安和路一段29-1號
電話:(02)2775-3645
營業時間有點複雜,可以參考Solo Pasta Facebook Info,基本上一到四只開中午,五六日才有開到晚上。
Tuesday, August 7, 2012
Sikuli demo - 取得網頁資料
Sikuli這東西剛出現時,引起網路上一陣喧然大波,至少那時候我看的不少網站都有介紹到這個算是革命性的軟體,簡單來說,Sikuli就是個可以辨識圖片的automate工具,能辨識圖片就表示看的懂螢幕,所以你跟畫面上的互動Sikuli都能做得到,詳細介紹可以去看Sikuli官網,我這就不多說了。
之前用到Sikuli script我都是玩玩,直到最近才有用在工作上,累積了不少心得與經驗,但是這東西又有點難分享,實際上我是寫了一個模組化的GUI測試功能,會每天定時的去測試各個瀏覽器對於我們Project的相容性、是否正常,然後整合結果到一封信裡寄出來。但是這些東西因為牽扯到工作,所以沒辦法直接拿來分享,所以就亂做一個取巴哈熱門版面資料的Sikuli script,寫起來不長,就下面的20行。
陳昇 : 既然核廢料沒有害處,就放到總統府就好啦
今天看到昇哥的這段影片,他說他寫了一首新歌"應該是柴油的",在唱歌之前的一大段話,實在是妙語如珠,令人不得不轉。
花點時間看看吧,說的很有趣,很棒XD
Friday, August 3, 2012
[C#] Effective : For vs Foreach
Alought Effective C# Item #11 said : Prefer foreach Loops , but I still saw many test said using For are faster , so , let's test it.
My test code.
We give an Integer Array (Size :1000,2000,4000) , For/Foreach loop it do nothing for 100,000 times , get the result and average it. You can check the result on following sheet.
OK, you can see using Foreach Loop are slower than using For Loop over 10% , no big difference , but we are talking about effective , so For Loop win.
My test code.
public static int[] ArInt = new int[1000]; //2000,4000 static void Main(string[] args) { var proc = Process.GetCurrentProcess(); var sTime=proc.TotalProcessorTime; for (int i = 0; i < 100000; i++) //100,000 { DoForEach(); } Console.WriteLine(proc.TotalProcessorTime-sTime); Console.WriteLine(); Console.ReadLine(); } static void DoFor() { for (int i = 0; i < ArInt.Length; i++) { DoNothing(); } } static void DoForEach() { foreach (int t in ArInt) { DoNothing(); } } static void DoNothing() { }
We give an Integer Array (Size :1000,2000,4000) , For/Foreach loop it do nothing for 100,000 times , get the result and average it. You can check the result on following sheet.
OK, you can see using Foreach Loop are slower than using For Loop over 10% , no big difference , but we are talking about effective , so For Loop win.
Thursday, August 2, 2012
[C#] Using SmtpClient sent email with response via Gmail
最近用Sikuli做了個UI Test,要把結果用email的方式丟出來,找了一下,原本打算做模組化一點,各個不同的測試從Sikuli回傳給Python然後再去處理寄信的問題,後來討論了一下,多花力氣去維護一個語言不太划算(雖然我想玩Python啊),所以決定自己寫個頁面去做寄信的事。
找了一下,.NET有這個SmtpClient 類別可以來寄信,而且sample code也蠻詳細的,所以就來試一下了。
我是直接用需要帳號密碼登入才能用的gmail來寄,一開始的code是長這樣
找了一下,.NET有這個SmtpClient 類別可以來寄信,而且sample code也蠻詳細的,所以就來試一下了。
我是直接用需要帳號密碼登入才能用的gmail來寄,一開始的code是長這樣
private const string Username = "username"; //update your gmail acc/pw here private const string Passowrd = "passowrd"; private string MailBody { get { return string.IsNullOrEmpty(Request.QueryString["result"]) ? string.Empty : Request.QueryString["result"]; } } protected void Page_Load(object sender, EventArgs e) { if (MailBody == string.Empty) return; using(var smtpServer = new SmtpClient("smtp.gmail.com", 587) { EnableSsl = true, Timeout = 10000, DeliveryMethod = SmtpDeliveryMethod.Network, Credentials = new NetworkCredential(Username, Passowrd) }) { smtpServer.Send(new MailMessage("[email protected]", "[email protected]", "test", MailBody) { BodyEncoding = Encoding.UTF8, DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure }); } }
Wednesday, August 1, 2012
[C#] Using FileStream StreamWriter avoid IOException
今天在用JMeter對公司的程式作壓力測試,但是我發現錯誤率一直在0.5~1%,這是相當高的錯誤率,所以就來查啦。
從JMeter紀錄來看,錯誤訊息是這樣
原本的code長的這樣
從JMeter紀錄來看,錯誤訊息是這樣
System.IO.IOException: 由於另一個處理序正在使用檔案 'filename',所以無法存取該檔案。原因是在程式中會去對實體檔案寫log,平時看不出錯誤,但是壓力測試下就會因為檔案lock住產生 IOException 。
System.IO.IOException: The process cannot access the file 'filename' because it is being used by another process.
原本的code長的這樣
public static void WriteLog() { StreamWriter log; if (!File.Exists("FilePath")) { log = new StreamWriter("FilePath"); } else { log = File.AppendText("FilePath"); } log.WriteLine("Write Something"); log.Close(); }
科普教育不能等 - 地表下一千兩百多公里處
我是很樂見台灣媒體多報導一些國際、科學的新聞,今天看到這篇"全球首見 台教授研究 水壓誘發地震",就覺得是篇不錯的內容,但是看了一下,感覺怪怪的。
節錄第二段
一般地震皆因斷層帶滑動導致,為解開地震之謎,馬國鳳率領的研究團隊六年前起,在台中大坑車籠埔斷層鑽井,於地表下一千兩百多公里處,放置全球唯一設在活動斷層帶下方的地震觀測儀,之後常接收到前所未見、僅有P波(縱波)卻無S波(橫波)地震訊號,她將這種上下震動地震命名為均向地震。
ok,就我所知,人類目前到達的地下最深處應該不超過20公里吧,我找到最深的油井也不到十公里,地表下一千兩百多公里處,都已經到地函去了,google一下"wiki earth"就可以知道這數字一定有問題,記者在寫這篇的時候不會覺得奇怪嗎 ?
所以說,台灣的科普教育真的不能等啊!!
Update :
旅日強者benjemin立刻寫信給馬教授,然後得到了回應!!