del.icio.us 書籤小弊病??

del.icio.us

最近常常有人跟我講,他的LINK不見了,我就覺得奇怪我自己算是很懶的維護我的del.icio.us上的鏈結,那怎麼會不見呢?仔細追下去看,原來del.icio.us所提供的CSS內容,裡面只會有25筆資料。

大家或許會問,那~~~~~~ 25筆以外的資料怎麼辦?好問題,在我不斷尋找解決方式之下,總算找到一個很鳥、但是算是方便的一個解決方法,就是改原來的JAVA SCRIPT。

原來del.icio.us相關JAVA SCRIPT建立方式,請各位去看ROYBOY的網頁裡面有很詳細的介紹,在此我就提供各位怎麼讀取25筆資料的方式~~~~

建立標籤(TAG):

原來del.icio.us幫你建立每個頁面的時候,都會給你的一個選擇性輸入的欄位(TAG),而他的作用呢~~~主要就是會幫你做分類的工作,比如說 http://del.icio.us/kkdai/company 就是連接到我公司同事的網頁,這樣一來如果大家超過25個以上的資料,就請將他一一的分標籤。

(是不是很鳥的方式??? 但是~~ 其實這樣也有助於你整理龐大的鏈結)

然後,去修改原來JAVA SCRIPT,多增加幾個deliciousrss,並且多做幾次document.write即可,這樣雖然很鳥,但是改一次JAVA SCRIPT 總比改一堆模板好吧??

var rssfloat = Math.floor(Math.random()*99999); var deliciousrss = ‘http://jade.mcli.dist.maricopa.edu/feed/rss2js.php?src=http://del.icio.us/rss/kkdai/company?’ + rssfloat + ‘&chan=yes&num=0&desc=yes&date=no’; var deliciousrss2 = ‘http://jade.mcli.dist.maricopa.edu/feed/rss2js.php?src=http://del.icio.us/rss/kkdai/blog?’ + rssfloat + ‘&chan=yes&num=0&desc=yes&date=no’; var deliciousrss3 = ‘http://jade.mcli.dist.maricopa.edu/feed/rss2js.php?src=http://del.icio.us/rss/kkdai/code?’ + rssfloat + ‘&chan=yes&num=0&desc=yes&date=no’;

function showdelicious(){ document.write(‘’) document.write(‘’) document.write(‘’) }

如果有更好的方式,請告知~~~~

ZETMAN 桂正和新作~~~

icomicshop-hk_1824_28671855.jpg

畫出電影少女的專畫美少女的作者:桂正和又有新的作品了,ZETMAN似乎回到桂正和最擅長的戰士劇情,但是這次的戰士卻有些像閃靈悍將(SPAWN)一樣,同樣是出身來自黑暗的戰士,只是這次的劇情又多了絕對的正義,似乎還蠻好看的。

講到桂正和我可是從小就是他的漫畫迷,我還有夢戰士的電動玩具說,想到那個可真是小時候的寶貝,不過~~~ 講真的,在桂正和的心中,正義戰士的樣子好像都差不多說~~~

桂正和圖片館

(圖片來自: 桂正和圖片館 )

[Code Complete] 8: Defensive Programming心得(1)

Code Complete

再此寫下一些最近的讀書心得,可能太多無法一次全部寫完。但是有時間會繼續將其補其,有興趣的人再往下看吧!!

1.何謂Defensive Programming?

_Defensive Programming_一辭簡單明瞭,在此書章節的開頭也有提到,所謂的Defensive Programming並不是增強程式的防禦,這樣是沒有用的。有太多種未知的輸入與狀況可能會出現,如何在已知、未知的環境中,對於正確、錯誤的輸入的反應,才是真正的Defensive Programming。

2.保護你的程式–對於不正確的輸入(Input)

好的程式絕對不會產出不正確的垃圾(garbage),不論是正確的、非法的輸入下都應該如此。所以一個程式的開始,對於參數的輸入,在處理之前都應該要有檢查的機制,避免處理過程中錯誤的產生。(在此書中有提到相關概念稱為 Preconditional)在此章節中,本書提到許多詳細的方式,就讓我稍微用一些方式將其整理一下:

Check the values of all data from external source

對所有外來的變數,都應該要有做些檢查,比如說輸入字串就要能預防”Escape() “的輸入;對於網頁來的內容,要能分辨是不是含有非法的字串;對於數值要做”boundary check”,如此一來可大大降低錯誤產生的機率。

Check the values of all routine input parameter

處理的函式中,若要傳遞參數到其他的函式前,也要將其參數做相關的檢查,如此一來可避免不必要的錯誤值加以傳遞。

Design how to handle bad inputs

OK,即使你抓到了錯誤的輸入,最重要的是,你要怎麼處理這樣的狀況,回傳預設值、回傳上一次正確值、直接改為正確值…許多的方式可以應用。

3.Assertion的應用

的確,本書對於assertion如何應用的方法算是相當的詳細,但是如果更仔細的使用(大量範例與CODE),可以去看Debugging Windows Programs裡面第三章對於assertion有相當的介紹,不過在此書還是有提到幾個比較重要的地方:

Use error-handling code for conditions you expect to occurs; use assertions for conditions that should never occur.

也就是知道有可能發生的錯誤(輸入數值錯誤、找不到資訊、無法完成的函式)要有相關的錯誤處理方式,但是對於不應該、也不會發生的錯誤(指標尚未指定,參考點消失,COM被release掉)都應該要用assertion去加以標示出來,這一點是我認為本書再此章節中最重要的一個概念。

Avoid putting excutable code into assertions

在VC++中,assertion在release build中是不會執行的,所以儘量不要有類似以下的程式碼。

ASSERT(DoWorkReturnStatus()); > >

Use assetion to document and verify precoditions and posconditions.

針對函式內參數的應用,可以利用assertion去做一些邏輯上的檢查,藉以作一份記錄。比如說,輸入的月份應該在1~12月之間,就可以寫成

ASSERT(nMonth > 0 && nMonth <= 12); > >

For high robus code, assert and then handle the error anyway.

在此,作者建議。避免無法預測的錯誤,先ASSERT在針對ASSER的狀況去處理(光是assertion並不能解決問題,還是得將錯誤作一個妥善的控制才對。)這樣一來工程師可以快速的找到錯誤可能發生的地方,而程式本身也不會被不可預知的錯誤破壞。

Design Patterns–Observer

使用時機:

可以建立出關於”訂閱與發佈”的系統(一對一、一對多),在”訂閱與發佈”之中,你可以不在乎有幾個人的訂閱,並且一次針對所有的人去發佈。

可能問題:

不論是在Design Patterns的書上、或是在網站的資料上,都會提到必須”確保subject 在知會他人之前是完好無缺的”(Making sure subject state is self-consistent before notification. ),但是在實作上會有相當大的困難。

_舉例而言:_小明一家三口都訂閱”貧”果日報,送報順序是:爸->媽->小明。有一天,爸爸看到上面的新聞報導著火山爆發的消息,所以一家三口都搬家,造成報紙無法送至其他人手中,造成問題。

也就是Observer在接到Notify後,自身所反映的update。某些情況下,不僅僅將自己的Observer砍掉(detach),也將其他的Observer都移除,造成subject之後的Notify會產生問題(雖然說Observer彼此間不應該存在太緊密地關係,也就是不該知道彼此間是否有attach 某些subject)但是這樣的實作確實容易存在,也不易解決,一般解決方式會採取的是:

Subject在執行Noyify前,對於每個Observer均增加一次Attach,避免 Observer自身的update去驅動其他Observer的Dettach 而失去Subject與Observer之間的聯繫,(如果是COM,將造成無法執行某些Interface進而Access Violation。)

心得:

這樣的Pattern實在相當好用,但是這個CASE主要是一對多,若是單純的一對一的更新,可透過傳入函式或是某個程式指標的方式去驅動即可。詳細的Implement可以參考書上及網路上的應用,在此僅對於此Pattern用法與相關問題作一個討論。

Reference:

星爺迷必看~~[功夫]

mov

禮拜天,排了兩個小時,總算把令人期待功夫看了~剛看完,說實在的,總覺得哪裡不過癮。但是回去看了許多網友的解說之後,會發現這部片子裡面暗藏許多的隱喻。在此就不先說明~~

我超愛周星馳~~~~~

此外,我也買了這本書~~

看了一下發現這本書很贊喜歡周星馳的可別忘了買~~

Make Your Sign

111.jpg

昨天上班,被這種圖片嚇到。其實也是可以自己作一個類似的圖片出來。

http://pack-square.business-php.com/

我想,這個網站主要是利用GD的函式庫去繪圖,只是搭配的色澤還不錯,很逼真~~~~

此外~~你也可以做另外一種

http://www.churchsigngenerator.com/index_1.php