2012/03/10

浮在雲海上的台北101

飄於雲端上的Taipei 101
飄於雲海上的台北101
站在不同的高度,看到的世界完全不一樣。雲海,就是最好的寫照。

當我們在平地,看者烏雲、濃霧。站在山上時,可能就是欣賞美麗的雲海。

多年前,逛逛於橋下光華商場的舊書攤時,看到陽明山十大傳奇(林宗聖著)這本介紹陽明山的書。書封的美麗雲海,居然是在大屯山所拍攝。打破了我以往的印象,只有高山才可見到如此漂亮的雲海。(也是這本書,讓我知道陽明山區有個不常見的七星池。七星池在哪?可以參考我之前的紀錄

幾年前一個濃霧的清晨,上樹林大同山爬山。沒想到,爬上才兩百多公尺的大同山,居然穿破了雲層,欣賞到雲海。也才知道…在台北,高度不到三百公尺的山區也可欣賞雲海
READ MORE(閱全文)...

2012/03/08

php eval()中使用heredoc的unexpected $end錯誤

php的Heredoc很好用,無論是在一般的義大利麵式的程式,或在MVC中的view。善用他,可以讓php code和html做較好的分割,讓維護比較容易。也不會破壞原本html排版。

最近,因個特殊案例,使用Heredoc配合eval(),卻遇到了問題。狀況如下…

首先,使用『'』配合eval(),一切正常。如下…
  1. $php='Hypertext Preprocessor';  
  2. $str='PHP is {$php}';  
  3. eval("\$newstr=\"$str\" ;");  
  4. echo $newstr;  
  5. //print : PHP is Hypertext Preprocessor  
但是,當我想在$str這字串中,放入『"』時
READ MORE(閱全文)...

2012/02/26

PHP如何取得ActiveMQ的狀態

在測試ActiveMQ過程中,發現發生下面狀況時,ActiveMQ可能就會出現異常的狀況
  1. 當queue內累積過多的筆數
  2. 當queue內累積太多的資料內容
要多少筆數?多少資料量?才可能出現異常呢?官方資料中,沒有找到明確的數據。

根據測試的經驗,這個數字依舊和機器等級有差。當procedure往queue塞資料的速度大於consumer消化速度,讓queue內的資料筆數一直累積上去。會導致consumer處理速度越來越慢、惡性循環下去。其實,procedure的處理能力,也會越來越差。

如果queue繼續累積下去,會出現無法連到ActiveMQ。甚至WEB管理介面也失效、最後要重新啟動ActiveMQ。最慘的狀況是,當重新啟動後,還要將剛剛的queue刪除,才能恢復正常。

也曾遇過一個狀況,ActiveMQ的主機,最後因stock吃完而無法服務。

因此,需要監控ActiveMQ的狀況。或者,在procedure中檢查queue內的數量,作為後續處理的依據。(當然,還是要看怎麼規劃、運用ActiveMQ)

如何以PHP+STOMP取得ActiveMQ的資訊呢?
READ MORE(閱全文)...

2012/02/04

東勢林場賞楓、賞櫻花

東勢林場森林浴場內的楓樹林,山徑已經完全被落葉所掩蓋
東勢林場楓樹林內的山徑,鋪滿了楓樹落葉
說到東勢林場,我對於他的印象只有螢火蟲和露營。這次農曆春節期間首次造訪,才知道東勢林場也有櫻花、李花、楓紅、溫泉、甲蟲...也有許久沒玩過的野外訓練設施(體能訓練場)

今年農曆春節來得早,一月底就過年了,加上今年冬天寒流不多,結果就是,在東勢林場內,沿途可以看到尚未完全盛開的櫻花、伴隨者尚未完全凋落的楓葉…也因為如此,感覺上此行不太像賞櫻,反而有點像是賞楓行程了 :)

在欣賞櫻花時,稍微留心一下,會發現在樹梢、花叢間有時會看到小鳥穿梭期間。這次觀察到的大都是綠繡眼,卻沒見到畫眉…

住在東勢林場的當晚,天氣非常的好、大氣擾動不明顯…加上光害尚可接受,忽然興起拍星軌的念頭,於是,就以冬天最明顯的獵戶座腰帶為標的,大夥拍了幾張玩玩~不過,沒帶適合的腳架、也沒B快門的情況下,真的只是拍拍好玩... :(
READ MORE(閱全文)...

2012/01/20

php 5.2.* 如何解決Hash Collision

前一陣子出現個名詞Hash Collision。接者Hash Collision DoS這名詞跟者出現,而後就看到很多系統、語言開始出現更新patch。 XD

Hash Collision影響範圍有多廣,可以參考oCERT.org - oCERT Advisories。裡面列出受到影響的語言、系統,以及目前的狀況。以php為例,5.3.9後、或5.4.0RC4後的版本才修正此狀況。

可以更新的語言或系統,就請自己更新…如果不再上面的,就比較麻煩了… :(

以php 5.2.x為例。出了PHP 5.2.16時,PHP官方指出該版本是php 5.2.x 的最後一版,往後將不再維護。雖然,沒多久因為一個重大問題,又馬上出了PHP 5.2.17。但…這次聽說不會因為Hash Collision出新版本更新此問題。

只好找治標的方式來防止。PHP的參數中和Hash Collision攻擊有關的php參數有兩個
READ MORE(閱全文)...