E.J. BLOG

Archive for the ‘PHP’ Category

[PHP] PlurkRssParser for plurk users

leave a comment

其實是自己太無聊想要為Hax4.in做一些小玩具,目前是Copy Plurk Widget的樣式來做出的頁面,而實際的展示可以在網誌旁邊的Widget列看到。其功能就是能夠整合多人的Plurk資訊並依時間先後排列,目前是整合了我們Hax4.in所有成員的資料。

附上在Github上的原始碼。

順便打個廣告吧,其實我們Hax4.in的網頁很早就寫好了,不過只是個雛型放出來而已,到時候會把我們寫過的一些玩具、視覺設計、案件資訊放出來,希望大家會喜歡:P

δ 2010/11/21 加入 feed.cache mechanism 並改變專案名稱為 PlurkRssParser

Written by EragonJ

November 15th, 2010 at 12:22 am

Posted in PHP

Tagged with , , , , ,

[PHP] Shark 改版

leave a comment

目前shark計畫正在做大規模的改版(加入了sharkCore Class及模組抽換),不過因為機器人的需求各式各樣,所以想要利用大家的能力來收集一些已經寫好的規則並整合至shark內。以我自己為例,我目前做了「對特定關鍵字的噗做一次性回覆」這個規則(可能的應用如「小籤籤的抽籤功能」「占卜功能」「食我機器人」…等),允許使用者自行定義關鍵字、Qualifier、還有回應、以及回應用的Qualifier,另外在03/06的時候我又做好了一個「在特定時間發噗」的規則(相關的應用如「定時亂喇賽來維持karma」「定時發自訂的消息」…等),可以一次定義多時段的發噗內容,例如說我可以在每天十二點問大家吃飯沒,同時每一小時會發出天氣預報。

同時也實作了三種方法來抓取「回應」的內容,你可以把回應的內容放在網路上以檔案的形式呈現,或是你也可以為你的網站設立一個API的接口,透過HTTP的方式去讀你網站的資料(例如你的網站是有關於美食的,你就可以提供一個接口給shark連結,即時提供一些存在於你網站內的美食資訊給使用者),另外一種就是讀取本機已寫好的檔案,而最後一種就是以變數的方式直接設定回應的內容。有一點要補充的就是目前回應的資料都是以JSON的格式來設定

如果你有意願幫忙加入一些有趣的機器人規則的話(像是來個人工智慧的機器人,或是定時發噗之類的),麻煩參考一下我在github的資料並參考我簡介頁面的信箱來信。

另外就是,因為我還在學習團隊合作的方法,所以可能在寫法或是想法上有一些較主觀的成份在,歡迎大家給我一些建議與意見,讓我也能和大家一起學習,感謝。

Written by EragonJ

March 5th, 2010 at 10:24 pm

[PHP] optimization for shortening the API calls

leave a comment

最近為了降低API calls,所以在Shark內加入了一個Method可以讓使用者自行依自己的需要來延遲整個程式的執行:

參數是所需延遲的秒數,0就是不延遲。

雖然這裡沒有什麼技術上的難度,講白點就是丟給sleep()去跑而已,但是我想討論的是它所造成的影響。先看一下下面的統計圖:



2/14和2/15是平常的情況,所謂的平常就是用無窮迴圈去跑Bot,只算「登入」和「基本檢查」這幾個動作,而已,就會拉高整個呼叫API的情況,非常的跨張,這就是為什麼北極冰山快融化完的關係,因為大家只要寄個信給Plurk官方就可以突破原先50000次的限制,要怎麼用就怎麼用,非常爽快。

但是再看看2/18和2/19的時候,這是我讓Shark加入了延遲的動作,我記得是設3秒鐘,夠誇張吧,直接下降到23000的次數了,你連寫信去Plurk的動作都省下來了,還有27000次讓你做別的事情,這樣不是很開心嗎!? (大約下降了78%..),真是從小處著手,就有很大的改變呢…(忘了說,使用者很難感受到機器人回覆plurks的時間差,一樣很快)

所以麻煩大家不要一直用「while(true)」或是「for(;;)」這樣子的東西,要用的話至少也要加個中止條件或是延遲,不僅可以減少系統資源的開銷,還可以保護北極熊不會因此死光…

Written by EragonJ

February 21st, 2010 at 12:21 am

Posted in PHP

Tagged with , , , , , ,