<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7317433007237940535</id><updated>2012-02-26T18:22:44.011-08:00</updated><category term='Python'/><category term='JQuery'/><category term='開發日誌'/><category term='App'/><category term='android app 的開發日誌'/><category term='程式設計者的無知而驕傲'/><category term='Javascript'/><category term='程式市場'/><category term='創新概念'/><category term='Design Pattern 設計模式'/><category term='GAE'/><category term='手機生活'/><category term='非關程式'/><category term='程式設計師的求生術'/><category term='Yahoo'/><category term='Blog Embed'/><category term='JQuery Plugin'/><category term='Facebook'/><category term='windows phone'/><title type='text'>Wolke Codes</title><subtitle type='html'>Wolke 專注 WEBAPP 網頁程式撰寫。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-1389007207846726977</id><published>2011-12-31T01:28:00.000-08:00</published><updated>2011-12-31T01:28:14.970-08:00</updated><title type='text'>Up Stick[New Year Eve CountDown]</title><content type='html'>Up stick! Flashlight! Flash! Light Stick! Up stick! Go Stick! Usage:Concerts, dances, parties, hiking, camping, fishing, power outages, nightclubs..Temporary not find fluorescent stick!! Use this!&lt;br /&gt;Facebook Login OK!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-1389007207846726977?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/1389007207846726977/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/12/up-sticknew-year-eve-countdown.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1389007207846726977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1389007207846726977'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/12/up-sticknew-year-eve-countdown.html' title='Up Stick[New Year Eve CountDown]'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-193498034657672240</id><published>2011-12-30T23:29:00.000-08:00</published><updated>2011-12-30T23:45:05.792-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='App'/><title type='text'>[跨年倒數必備APP] 轉吧! 七彩霓虹燈![跨年倒數版]</title><content type='html'>非常好用的[轉吧! 七彩霓虹燈!] 又來了!&lt;br /&gt;除了原有的&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: 13px; line-height: 19px; text-align: left;"&gt;用法：音樂會，舞蹈，聚會，遠足，露營，停電，夜總會&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #666666; font-family: 'Droid Sans', Arial, sans-serif; font-size: 13px; line-height: 19px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;"&gt;手電筒! 閃光燈! 螢光棒! 加油棒! 轉吧! 七彩霓虹燈! 用途：演唱會，舞會，宴會，登山，露營，釣魚，停電，夜店..臨時找不到螢光棒! 拿來用一下吧!&lt;/div&gt;&lt;br /&gt;之外，&lt;br /&gt;更新增了&lt;br /&gt;1.跨年倒數&lt;br /&gt;2.facebook 支援功能!&lt;br /&gt;&lt;br /&gt;快來下載嘗試一翻!&lt;br /&gt;&lt;br /&gt;&lt;a href="https://market.android.com/details?id=wolke.LightStick&amp;amp;feature=search_result"&gt;https://market.android.com/details?id=wolke.LightStick&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;market://&lt;a href="https://market.android.com/details?id=wolke.LightStick&amp;amp;feature=search_result"&gt;details?id=wolke.LightStick&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-193498034657672240?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/193498034657672240/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/12/app.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/193498034657672240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/193498034657672240'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/12/app.html' title='[跨年倒數必備APP] 轉吧! 七彩霓虹燈![跨年倒數版]'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-6682950921984787070</id><published>2011-10-27T09:05:00.000-07:00</published><updated>2011-10-27T09:05:11.092-07:00</updated><title type='text'>我要成為Coding之王!</title><content type='html'>&lt;br /&gt;好吃懶做請離開!&lt;br /&gt;得過且過趕快滾!&lt;br /&gt;不要奴才要夥伴!&lt;br /&gt;齊心拿下ONE PIECE!&lt;br /&gt;&lt;br /&gt;我要成為Coding之王!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-6682950921984787070?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/6682950921984787070/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/10/coding.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/6682950921984787070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/6682950921984787070'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/10/coding.html' title='我要成為Coding之王!'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-1817201708822945402</id><published>2011-08-18T20:36:00.000-07:00</published><updated>2011-08-18T22:48:02.525-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='android app 的開發日誌'/><title type='text'>android app 的開發日誌01:app inventor裝校ㄟ!</title><content type='html'>這不是最早寫的android app開發日誌，&lt;br /&gt;不過這裡有很多冤枉路的經驗，&lt;br /&gt;你我有緣，&lt;br /&gt;才讓施主你讀到本篇，&lt;br /&gt;省去不少時間，&lt;br /&gt;善哉!&lt;br /&gt;&lt;br /&gt;第一：&lt;br /&gt;app inventor 號稱可讓designer 不會寫code就能 產出app&lt;br /&gt;答案是 錯的，&lt;br /&gt;當你要發佈上 android market時，&lt;br /&gt;發現上傳會產生錯誤，&lt;br /&gt;還以為是自已設定錯誤，&lt;br /&gt;撈了很久才發現，&lt;br /&gt;原來這trouble shouting來解的bug(2011.8.18是這樣子的狀況)&lt;br /&gt;&lt;a href="http://appinventor.googlelabs.com/learn/userfaq.html"&gt;http://appinventor.googlelabs.com/learn/userfaq.html&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #555555; font-family: arial, sans; font-size: 13px; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 style="border-bottom-color: rgb(205, 205, 205); border-bottom-style: solid; border-bottom-width: 1px; color: #333333; font-family: 'Droid Sans', sans; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 5px; padding-left: 0px; padding-right: 0px; padding-top: 10px;"&gt;Am I able to upload my app to the Android Market?&lt;/h2&gt;Currently there are technical limitations preventing an App Inventor app from being uploaded to the Android Market, but we are actively working to resolve this.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;上述大約是App Inventor 是這樣設計的目地沒錯，不過上傳到market就錯誤這件事情，我們還在努力解決中!(你們是同一間google吧? 可能還在打架，看誰要去debug吧~)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;雖然我覺的這應該是在我付了25美元的開發者費用之前就該說的吧!&lt;br /&gt;總之，google app inventor是裝校ㄟ!!&lt;br /&gt;&lt;br /&gt;因為我已經付了25美元的開發費，&lt;br /&gt;所以怎樣也要上個幾支吧!&lt;br /&gt;&lt;br /&gt;頭都洗一半了，怎麼說也要沖水吧!&lt;br /&gt;只好再回頭摸eclipse了!&lt;br /&gt;&lt;br /&gt;第二：&lt;br /&gt;android market的書，不管是那一本的範例，&lt;br /&gt;請不要試著直接上傳，&lt;br /&gt;因為manifest.xml和你是不同的，&lt;br /&gt;請乖乖一步一步來做開發喔!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-1817201708822945402?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/1817201708822945402/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/08/android-app-01app-inventor.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1817201708822945402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1817201708822945402'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/08/android-app-01app-inventor.html' title='android app 的開發日誌01:app inventor裝校ㄟ!'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-1586988340593649149</id><published>2011-07-27T22:39:00.000-07:00</published><updated>2011-07-27T22:39:44.369-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='手機生活'/><title type='text'>離線應用到底重不重要</title><content type='html'>離線應用到底重不重要 !&lt;br /&gt;&lt;br /&gt;這個問題不是技術層面，&lt;br /&gt;而是 實用性 和 口袋深度 的 天秤兩邊，&lt;br /&gt;&lt;br /&gt;口袋面：&lt;br /&gt;以台灣大哥大上網吃到飽 800元/月，&lt;br /&gt;正好是到了交界的時候&lt;br /&gt;&lt;br /&gt;實用面：&lt;br /&gt;如果沒有收訊，&lt;br /&gt;不管吃的飽不飽，&lt;br /&gt;那就是無法使用，&lt;br /&gt;所以離線應用的重要性變會顯現，&lt;br /&gt;當然這會增加開發難度及工時。&lt;br /&gt;&lt;br /&gt;所以這確實是一個見人見智的問題，&lt;br /&gt;還是老話，有需求時再開發就可以了!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-1586988340593649149?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/1586988340593649149/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/07/blog-post_1341.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1586988340593649149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1586988340593649149'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/07/blog-post_1341.html' title='離線應用到底重不重要'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-4626271394655036129</id><published>2011-07-27T22:37:00.000-07:00</published><updated>2011-07-27T22:37:05.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='創新概念'/><title type='text'>戀愛公寓 (實體版)</title><content type='html'>戀愛公寓&lt;br /&gt;&lt;br /&gt;實體的能做嗎?&lt;br /&gt;只是上次去打bowling看到這麼多未婚男女而胡思亂想的計劃​~&lt;br /&gt;&lt;br /&gt;共用 客廳 和 餐廳&lt;br /&gt;限定單身者 居住&lt;br /&gt;如果成功交往者 得搬出去&lt;br /&gt;告白失敗者也得搬出去&lt;br /&gt;&lt;br /&gt;必需寫共筆blog&lt;br /&gt;如同 戀愛巴士 的玩法&lt;br /&gt;&lt;br /&gt;不過一開始要找到 4男3女報名，以及公寓 (客廳+餐廳+7間雅房+2套衛浴(男女分開)) 可能比較不容易!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-4626271394655036129?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/4626271394655036129/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/07/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/4626271394655036129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/4626271394655036129'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/07/blog-post.html' title='戀愛公寓 (實體版)'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-6444103492246096794</id><published>2011-07-27T19:03:00.000-07:00</published><updated>2011-07-27T22:16:21.094-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='手機生活'/><title type='text'>garmin asus a50 孤兒機 圖資更新 使用指南 A10應該大同小異</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img526.imageshack.us/img526/1993/a50a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="284" src="http://img526.imageshack.us/img526/1993/a50a.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;更新及使用指南：&lt;br /&gt;&lt;br /&gt;1.圖資常備份&lt;br /&gt;2.別想升級android 2.2 因為硬體因素ram不夠，會卡卡的，另外就是&lt;span class="Apple-style-span" style="color: red;"&gt;升級後 garmin不能用&lt;/span&gt;。&lt;br /&gt;3.軟體更新教學&lt;br /&gt;因為某日某該死的APP殺掉我的圖資，&lt;br /&gt;所以我無法使用GARMIN導航了，&lt;br /&gt;就此開始了這&lt;span class="Apple-style-span" style="color: red;"&gt;該死的尋找圖資之旅&lt;/span&gt;，&lt;br /&gt;一開始先上網找到了 garminasus的網站如下：&lt;br /&gt;&lt;br /&gt;a.軟體更新：&lt;br /&gt;&lt;a href="http://www.garminasus.com/zh_TW/support/a50-updates.html"&gt;http://www.garminasus.com/zh_TW/support/a50-updates.html&lt;/a&gt;&lt;br /&gt;該頁所寫的軟體更新部份都是可行的。&lt;br /&gt;b.圖資更新：&lt;br /&gt;上述網頁的自動更新，你&lt;span class="Apple-style-span" style="color: red;"&gt;等到天荒地老都不會動的,&lt;/span&gt;。(也跳個error吧，這acrtive X 誰寫的 !!!!)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;因為手機有神x保固，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;所以懶得再搞下去，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;想說直接丟給x腦最快，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;跑去維修站，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;一聽是圖資檔誤刪問題，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;口氣就很不好，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;一開始推說，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;你都沒看說明書嗎?&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;圖資不見跟說明書有啥關係?&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;然後又說他們只是代理商...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;總之，就是不干他們的事，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;如果有這麼多侵權問題，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;那你們幹嘛前一陣子還主推這支手機啊!&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;不要賣，不就好了，看~&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;反正一陣推拖拉之後，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;把大爺給請了下來，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;他們還是講，只是代理商滿無權去管圖資的問題，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;他們只維修手機，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;不負責圖資，這是那門子的&lt;span class="Apple-style-span" style="color: red;"&gt;保固服務&lt;/span&gt;啊!(熟以為保固之真諦應是有能力將手機還原至當初購買的狀態才稱為 &lt;span class="Apple-style-span" style="color: blue;"&gt;保固&lt;/span&gt; )&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;總之推脫拉，又表示自已很為難，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;最後就說送回原廠，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;但肯定會是一段時日，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;因為小弟我聽過原廠朋友說，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;他們機最高指導原則就是無法解決的問題，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;拖過和代理商簽約到期日，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;之後又是代理商的責任，&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;這種智慧財產權的問題誰都不想碰，&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;已經可以遇料到這種結果，&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;只好算了，軟體問題而已拿回來自已搞吧!&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;之後呢~&lt;br /&gt;&lt;br /&gt;又開始尋求網路上的官方支援，&lt;br /&gt;至&lt;a href="http://my.garmin.com.tw/myGarmin/event/show/GarminMapUpgrade"&gt;http://my.garmin.com.tw/myGarmin/event/show/GarminMapUpgrade&lt;/a&gt;&lt;br /&gt;要&lt;span class="Apple-style-span" style="color: red;"&gt;亢長的註冊手續&lt;/span&gt;後，&lt;br /&gt;才能在網頁上下載更新程式。&lt;br /&gt;&lt;br /&gt;想說就此解決了，&lt;br /&gt;&lt;br /&gt;但，&lt;br /&gt;執行後，若無.NET FRAMEWORK4會要求升級，&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;升級又是一段時間，&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;終於開始執行了更新程式，&lt;br /&gt;然後開始等地圖下載，&lt;br /&gt;終於下載 完地圖開始更新時，&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;程式出現ERROR，&lt;/span&gt;&lt;br /&gt;不管試幾次，換另別台電腦，&lt;br /&gt;再跑一次相同步驟都一樣。&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;叫我連絡GARMIN 然後就中斷了&lt;/span&gt;，&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;打了客服電話，&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;是的就是那種永遠忙線中的，&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;就此，官方更新到此END&lt;/span&gt;。&lt;br /&gt;&lt;br /&gt;照逐了官方步驟，&lt;br /&gt;但..最後還是沒有更新到圖資，&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;浪費我整天的時間&lt;/span&gt;，&lt;br /&gt;&lt;br /&gt;所以最後請去下載 &amp;nbsp;...&lt;br /&gt;&lt;a href="http://www.mobile01.com/topicdetail.php?f=588&amp;amp;t=2252158&amp;amp;last=29377800"&gt;http://www.mobile01.com/topicdetail.php?f=588&amp;amp;t=2252158&amp;amp;last=29377800&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;終於解決了。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;這就是所謂官逼民反吧!&lt;br /&gt;你懂的。唉。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-6444103492246096794?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/6444103492246096794/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/07/garmin-asus-a50-a10.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/6444103492246096794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/6444103492246096794'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/07/garmin-asus-a50-a10.html' title='garmin asus a50 孤兒機 圖資更新 使用指南 A10應該大同小異'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-1840101009580058176</id><published>2011-05-24T20:51:00.000-07:00</published><updated>2011-05-24T20:51:24.099-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>JSON的引號只能用"</title><content type='html'>因為寫習慣了javascript，&lt;br /&gt;所以總會理所當然的將json一視同仁，&lt;br /&gt;但....&lt;br /&gt;JSON的引號只能用"&lt;br /&gt;勿用了' 就會搞死自已啊!!!!&lt;br /&gt;&lt;br /&gt;附帶一提：&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; color: #632035; font-family: Helvetica, Arial, Verdana, 'Trebuchet MS', sans-serif; font-size: 14px;"&gt;總算撥雲見日的第六屆華文部落格大獎入圍名單出爐囉!&lt;/div&gt;&lt;div style="color: #632035; font-family: Helvetica, Arial, Verdana, 'Trebuchet MS', sans-serif; font-size: 14px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13px;"&gt;&lt;img src="http://blogaward.chinatimes.com/2011/images/first2011-012.jpg" style="-webkit-box-shadow: rgba(0, 0, 0, 0.199219) 0px 0px 20px; background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 5px 5px; border-bottom-right-radius: 5px 5px; border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; border-top-style: solid; border-top-width: 1px; box-shadow: rgba(0, 0, 0, 0.199219) 0px 0px 20px; padding-bottom: 8px; padding-left: 8px; padding-right: 8px; padding-top: 8px;" /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13px;"&gt;賀! Wolke的短文部落格&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px; font-weight: bold;"&gt;&lt;a href="http://wolke-words.blogspot.com/" style="color: #d52a33; font-weight: bold; text-decoration: none;"&gt;格字旅人&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13px;"&gt;剛剛入圍了第六屆華文部落格大獎年度最佳原創作品類!&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #632035; font-family: Helvetica, Arial, Verdana, 'Trebuchet MS', sans-serif; font-size: 14px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-1840101009580058176?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/1840101009580058176/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/05/json.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1840101009580058176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1840101009580058176'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/05/json.html' title='JSON的引號只能用&quot;'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-3578464412732724517</id><published>2011-01-20T23:36:00.000-08:00</published><updated>2011-01-20T23:37:58.282-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='開發日誌'/><title type='text'>gae facebook開發</title><content type='html'>debug&lt;br /&gt;google appengine unknown url type: 'https'&lt;br /&gt;&lt;br /&gt;gae 連 fb facebook問題&lt;br /&gt;官方python sdk的facebook.py&lt;br /&gt;用的是import urllib&lt;br /&gt;但請用import urllib2去抓https的資料&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="python" name="code"&gt;file = urllib2.urlopen("https://graph.facebook.com/" + path + "?" +&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;urllib.urlencode(args), post_data)&lt;br /&gt;#file = urlfetch.fetch("https://graph.facebook.com/" + path + "?" +&lt;br /&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;urllib.urlencode(args), post_data)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;否則會一直錯下去喔!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-3578464412732724517?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/3578464412732724517/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/01/gae-facebook.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3578464412732724517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3578464412732724517'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/01/gae-facebook.html' title='gae facebook開發'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-7230309139107602925</id><published>2011-01-18T22:33:00.000-08:00</published><updated>2011-01-18T22:36:47.888-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='開發日誌'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>GOOGLE APPENGINE gae 實作 YAHOO 帳號登入</title><content type='html'>這個主題好像繁體中文好像沒人寫，&lt;br /&gt;反正我找這方面的SOLUTION時，&lt;br /&gt;沒有看到，&lt;br /&gt;幸運的在YAHOO DEVELOPER Social SDK上找到了方法&lt;br /&gt;&lt;a href="http://developer.yahoo.com/social/sdk/#python"&gt;http://developer.yahoo.com/social/sdk/#python&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;所以就不需要自已去撈api重新撰寫gae上的yahoo帳號登入了，&lt;br /&gt;&lt;br /&gt;有些地方要改正，&lt;br /&gt;就沒有任何問題了&lt;br /&gt;&lt;br /&gt;先下載 python的SDK&lt;br /&gt;&lt;a href="http://developer.yahoo.com/social/sdk/#python"&gt;http://developer.yahoo.com/social/sdk/#python&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;解壓後&amp;nbsp;yahoo-yos-social-python\examples\appengine 這個目錄就是寫給gae run的，&lt;br /&gt;不過還有一些部驟才會正常，&lt;br /&gt;&lt;br /&gt;0.將聯外打通，內部gae run外部可以正常。記得對外ip!!!&lt;br /&gt;&lt;br /&gt;1.先去&amp;nbsp;https://developer.apps.yahoo.com/&lt;br /&gt;申請一個account，&lt;br /&gt;並新增一個YAP(Web Base)取得Key&lt;br /&gt;&lt;br /&gt;然後 我記得description 怎麼寫 都不會通過，&lt;br /&gt;之後按取消就過了，&lt;br /&gt;這可能是我的誤解，&lt;br /&gt;不知是什麼原因，&lt;br /&gt;大家研究一下。&lt;br /&gt;&lt;br /&gt;2.取得Key後，&lt;br /&gt;打開yosdemo.py&lt;br /&gt;將&lt;br /&gt;&lt;br /&gt;CONSUMER_KEY&lt;br /&gt;CONSUMER_SECRET&lt;br /&gt;APPLICATION_ID(&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;在Key的上面&lt;/span&gt;)&lt;br /&gt;CALLBACK_URL&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;(對外ip&lt;/span&gt;)&lt;br /&gt;填入吧!&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #cc0000; font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #cc0000; font-size: large;"&gt;3.可是這樣子還是不會成功的run!&lt;/span&gt;&lt;br /&gt;之後將&amp;nbsp;\build\lib 目錄下的目錄copy至 appengine下，&lt;br /&gt;然後將下面內容生成gmemsess.py 置於 目錄下&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="python" name="code"&gt;# gmemsess.py - memcache-backed session Class for Google Appengine&lt;br /&gt;# Version 1.4&lt;br /&gt;# Copyright 2008 Greg Fawcett &lt;greg@vig.co.nz&gt;&lt;br /&gt;#&lt;br /&gt;# This program is free software: you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;#&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;#&lt;br /&gt;# You should have received a copy of the GNU General Public License&lt;br /&gt;# along with this program.  If not, see &lt;http: licenses="" www.gnu.org=""&gt;.&lt;br /&gt;import random&lt;br /&gt;from google.appengine.api import memcache&lt;br /&gt;_sidChars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'&lt;br /&gt;_defaultTimeout=30*60 # 30 min&lt;br /&gt;_defaultCookieName='gsid'&lt;br /&gt;#----------------------------------------------------------------------&lt;br /&gt;class Session(dict):&lt;br /&gt; """A secure lightweight memcache-backed session Class for Google Appengine."""&lt;br /&gt; #----------------------------------------------------------&lt;br /&gt; def __init__(self,rh,name=_defaultCookieName,timeout=_defaultTimeout):&lt;br /&gt;  """Create a session object.&lt;br /&gt;  Keyword arguments:&lt;br /&gt;  rh -- the parent's request handler (usually self)&lt;br /&gt;  name -- the cookie name (defaults to "gsid")&lt;br /&gt;  timeout -- the number of seconds the session will last between&lt;br /&gt;             requests (defaults to 1800 secs - 30 minutes)&lt;br /&gt;  """&lt;br /&gt;  self.rh=rh # request handler&lt;br /&gt;  self._timeout=timeout&lt;br /&gt;  self._name=name&lt;br /&gt;  self._new=True&lt;br /&gt;  self._invalid=False&lt;br /&gt;  dict.__init__(self)&lt;br /&gt;  if name in rh.request.str_cookies:&lt;br /&gt;   self._sid=rh.request.str_cookies[name]&lt;br /&gt;   data=memcache.get(self._sid)&lt;br /&gt;   if data!=None:&lt;br /&gt;    self.update(data)&lt;br /&gt;    # memcache timeout is absolute, so we need to reset it on each access&lt;br /&gt;    memcache.set(self._sid,data,self._timeout)&lt;br /&gt;    self._new=False&lt;br /&gt;    return&lt;br /&gt;  # Create a new session ID&lt;br /&gt;  # There are about 10^14 combinations, so guessing won't work&lt;br /&gt;  self._sid=random.choice(_sidChars)+random.choice(_sidChars)+\&lt;br /&gt;       random.choice(_sidChars)+random.choice(_sidChars)+\&lt;br /&gt;       random.choice(_sidChars)+random.choice(_sidChars)+\&lt;br /&gt;       random.choice(_sidChars)+random.choice(_sidChars)&lt;br /&gt;  # Added path so session works with any path&lt;br /&gt;  rh.response.headers.add_header('Set-Cookie','%s=%s; path=/;'%(name,self._sid))&lt;br /&gt; #----------------------------------------------------------&lt;br /&gt; def save(self):&lt;br /&gt;  """Save session data."""&lt;br /&gt;  if not self._invalid:&lt;br /&gt;   memcache.set(self._sid,self.copy(),self._timeout)&lt;br /&gt; #----------------------------------------------------------&lt;br /&gt; def is_new(self):&lt;br /&gt;  """Returns True if session was created during this request."""&lt;br /&gt;  return self._new&lt;br /&gt; #----------------------------------------------------------&lt;br /&gt; def get_id(self):&lt;br /&gt;  """Returns session id string."""&lt;br /&gt;  return self._sid&lt;br /&gt; #----------------------------------------------------------&lt;br /&gt; def invalidate(self):&lt;br /&gt;  """Delete session data and cookie."""&lt;br /&gt;  self.rh.response.headers.add_header('Set-Cookie',&lt;br /&gt;    '%s=; expires=Sat, 1-Jan-2000 00:00:00 GMT;'%(self._name))&lt;br /&gt;  memcache.delete(self._sid)&lt;br /&gt;  self.clear()&lt;br /&gt;  self._invalid=True&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/http:&gt;&lt;/greg@vig.co.nz&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;4.最後，開啟網站會移至yahoo登入，登入會移回原來你的網站，看到自已的名字等資訊便大功告成了!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-7230309139107602925?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/7230309139107602925/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2011/01/google-appengine-gae-yahoo.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/7230309139107602925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/7230309139107602925'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2011/01/google-appengine-gae-yahoo.html' title='GOOGLE APPENGINE gae 實作 YAHOO 帳號登入'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-5652338303161133508</id><published>2010-12-08T17:08:00.000-08:00</published><updated>2010-12-08T17:08:02.336-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='開發日誌'/><category scheme='http://www.blogger.com/atom/ns#' term='windows phone'/><title type='text'>[開發日誌]windows phone 7 搶頭香送手機喔</title><content type='html'>原本想時間來摸android，&lt;br /&gt;不過昨天不小心看到這個&lt;a href="http://mag.udn.com/mag/digital/storypage.jsp?f_MAIN_ID=322&amp;amp;f_SUB_ID=2920&amp;amp;f_ART_ID=287505"&gt;http://mag.udn.com/mag/digital/storypage.jsp?f_MAIN_ID=322&amp;amp;f_SUB_ID=2920&amp;amp;f_ART_ID=287505&lt;/a&gt;，&lt;br /&gt;所以決定先來摸摸windows phone 搶掛個app 拿手機，&lt;br /&gt;&lt;br /&gt;這裡有免費開發包可以下載，&lt;br /&gt;&lt;a href="http://create.msdn.com/en-us/home/getting_started"&gt;http://create.msdn.com/en-us/home/getting_started&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;結果第一步就卡關了，&lt;br /&gt;需要vista或7才可以使用。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;沒關係，第一步卡關是很正常的事，&lt;br /&gt;趕快去找機器，&lt;br /&gt;拿手機啊!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-5652338303161133508?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/5652338303161133508/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/12/windows-phone-7.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5652338303161133508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5652338303161133508'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/12/windows-phone-7.html' title='[開發日誌]windows phone 7 搶頭香送手機喔'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-804662265285467085</id><published>2010-12-01T23:14:00.000-08:00</published><updated>2010-12-01T23:14:56.265-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><title type='text'>Wolke加入了第二屆的appWorks</title><content type='html'>實際的參與了幾次的Happy Hour(去那邊白吃白喝)，&lt;br /&gt;和預演(偷看別人明天正式的要發表的東西)，&lt;br /&gt;及實際的Demo那天(爆滿的人，所以坐到地上去)，&lt;br /&gt;&lt;br /&gt;更加相信在appWorks的輔導下，&lt;br /&gt;肯定能有些成果產生(七樓那些肯定不是傻瓜且堅信下去的人，是我玩下去的決心)，&lt;br /&gt;&lt;br /&gt;雖然我的idea在interview時，完全被打了回票(明明就還不錯)，&lt;br /&gt;雖然我再appWorks見面會重感冒所以沒去(&lt;s&gt;其實我只是不想起床而已&lt;/s&gt;)，&lt;br /&gt;&lt;br /&gt;不過我還是加入了其中的團隊，因為想玩下去也是沒得選的，&lt;br /&gt;聽說淘汰了很多團隊，&lt;br /&gt;不過他們現在應該跑去加入Mr. X 了吧!&lt;br /&gt;看別人好，立刻跟風。&lt;br /&gt;&lt;br /&gt;台灣總是一窩蜂搞類似的東西啊!&lt;br /&gt;&lt;br /&gt;Groupon 併購 地圖日記，&lt;br /&gt;也加速了這些創投起步了。&lt;br /&gt;&lt;br /&gt;web3.0的黃金十年是否就此展開。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-804662265285467085?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/804662265285467085/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/12/wolkeappworks.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/804662265285467085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/804662265285467085'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/12/wolkeappworks.html' title='Wolke加入了第二屆的appWorks'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-1817227464892531598</id><published>2010-11-11T19:20:00.000-08:00</published><updated>2010-11-16T22:04:39.157-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><title type='text'>「傾聽你的客戶，而非競爭對手」唸三次。約耳趣談軟體 讀書心得</title><content type='html'>&lt;table align="center" border="1" style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div align="center"&gt;&lt;span style="color: #333333; font-family: 'Arial Black'; font-size: 13.5pt;"&gt;The Joel Test&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'Arial Black'; font-size: large;"&gt;&lt;span class="Apple-style-span" style="font-size: 18px;"&gt;約耳測試&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你有使用原始碼控制系統嗎&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你能用一個步驟建出所有結果嗎&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你有沒有每天都重新編譯建立&lt;/span&gt;(daily builds)&lt;span lang="ZH-TW"&gt;嗎&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你有沒有問題追蹤資料庫&lt;/span&gt;(bug database)?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你會先把問題都修好之後才寫新的程式嗎&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你有一份最新的時程表嗎&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你有規格嗎&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;程式人員有沒有安靜的工作環境&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你有沒有用市面上最好的工具&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;你有沒有測試人員&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;有沒有在面試時要求面試對象寫程式&lt;/span&gt;?&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span lang="ZH-TW"&gt;有沒有做走廊使用性&lt;/span&gt;(hallway usability)&lt;span lang="ZH-TW"&gt;測試&lt;/span&gt;?&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.joelonsoftware.com/"&gt;http://www.joelonsoftware.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.joelonsoftware.com/"&gt;&lt;/a&gt;約耳是一名曾服務知名公司與不知名公司及後來自已出來開公司的軟體工程師，&lt;/div&gt;&lt;div&gt;他開了個blog，&lt;/div&gt;&lt;div&gt;和我們分享，&lt;/div&gt;&lt;div&gt;他個人經驗談，&lt;/div&gt;&lt;div&gt;然後，累積成冊，&lt;/div&gt;&lt;div&gt;出版了&amp;nbsp;約耳趣談軟體 一書，&lt;/div&gt;&lt;div&gt;整本書大約是強調很多軟體工程師不太注重事情，&lt;br /&gt;例如：規格、時程、Bug list等，&lt;br /&gt;真是深得我心，&lt;br /&gt;故欲罷不能的把整書給看完，&lt;br /&gt;推薦給有心於精進自身程式撰寫的工程師朋友們。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;最後：&lt;br /&gt;「傾聽你的客戶，而非競爭對手」唸三次。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;個人覺得最後一句非常受用，&lt;/div&gt;&lt;div&gt;以及上述的測試表。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;們心自問，&lt;/div&gt;&lt;div&gt;你或你們公司得了幾分了呢?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-1817227464892531598?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/1817227464892531598/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/11/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1817227464892531598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1817227464892531598'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/11/blog-post.html' title='「傾聽你的客戶，而非競爭對手」唸三次。約耳趣談軟體 讀書心得'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-1509811182098695860</id><published>2010-10-11T20:43:00.000-07:00</published><updated>2010-10-11T20:43:18.681-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><title type='text'>為什麼你接Case，竟要我再什麼都還看到之前要先付訂金</title><content type='html'>&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ICs0yRWIQbM?fs=1&amp;amp;hl=zh_TW&amp;amp;color1=0xcc2550&amp;amp;color2=0xe87a9f"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ICs0yRWIQbM?fs=1&amp;amp;hl=zh_TW&amp;amp;color1=0xcc2550&amp;amp;color2=0xe87a9f" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;這其實是一種必要之惡，&lt;br /&gt;也是因為認識接了一些皮的人，&lt;br /&gt;所以的不得不為吧!&lt;br /&gt;&lt;br /&gt;就好像傳統市場的麵攤，通常是先點吃完後，再結帳，但麥當勞要先付錢，&lt;br /&gt;這是為什麼呢?&lt;br /&gt;&lt;br /&gt;因為傳統市場的老闆可以在顧客不付錢時，左右攤找一找，再請澳客吃一頓粗飽，&lt;br /&gt;不過麥當勞不行，因為他和我們一樣是&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;斯文人&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;嘛!&lt;br /&gt;&lt;br /&gt;所以遇到了幾個皮的人，&lt;br /&gt;我也只好學乖，從善如流了，&lt;br /&gt;&lt;br /&gt;尤其是軟體，&lt;br /&gt;一做下去之後，&lt;br /&gt;才跟我說什麼(要轉別方向，或什麼..的籍口的朋友實在是...)，&lt;br /&gt;&lt;br /&gt;所以麻煩啦!&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;小朋友&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;先來再說，&lt;br /&gt;感恩!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-1509811182098695860?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/1509811182098695860/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/10/case.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1509811182098695860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1509811182098695860'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/10/case.html' title='為什麼你接Case，竟要我再什麼都還看到之前要先付訂金'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-8463919643029417365</id><published>2010-10-07T02:04:00.000-07:00</published><updated>2010-10-07T02:04:35.884-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式市場'/><title type='text'>Google Apps MarketPlace 整理筆記</title><content type='html'>&lt;a href="http://www.google.com/enterprise/marketplace/"&gt;Google Apps MarketPlace&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google 開放給Web App軟體開發商的平台，&lt;br /&gt;目前主要是以企業用戶為主，&lt;br /&gt;當然是英文介面，&lt;br /&gt;所以目前在台灣根本就沒啥人在用，&lt;br /&gt;相對於Android&amp;nbsp;Market 以一般使用者為主，&lt;br /&gt;名氣相對就小很多，&lt;br /&gt;因為需要經過審核才能上架，&lt;br /&gt;所以App的完整度就強很多了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-8463919643029417365?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/8463919643029417365/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/10/google-apps-marketplace.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/8463919643029417365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/8463919643029417365'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/10/google-apps-marketplace.html' title='Google Apps MarketPlace 整理筆記'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-1721678156896090144</id><published>2010-10-01T05:11:00.000-07:00</published><updated>2010-10-06T05:20:48.432-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><title type='text'>2010 Google Devfest Taipei 人爆多 軟體界的大拜拜</title><content type='html'>重點在HTML5吧!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;講者&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;strong&gt;Arne Roomann-Kurrik 講的很好，&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;不管是上午的HTML5的介紹，&lt;/div&gt;&lt;div&gt;及下午的 chrome extension的實作都相當有趣!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Android 是大熱門，&lt;/div&gt;&lt;div&gt;中午有便當，很大。&lt;/div&gt;&lt;div&gt;所以很多人帶著便當跑去401室卡位了，&lt;/div&gt;&lt;div&gt;擠爆(雖然上午在201室已經是擠滿了，摩頂放腫)。&lt;/div&gt;&lt;div&gt;但401更卡。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Chrome Extension 的撰寫經過&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;strong&gt;Arne Roomann-Kurrik&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;的介紹，&lt;/div&gt;&lt;div&gt;感覺有趣又簡單，&lt;/div&gt;&lt;div&gt;滿容易上手的，&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;最另人驚奇的是&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Google Buzz&lt;/span&gt;&lt;/span&gt;，&lt;/div&gt;&lt;div&gt;很多江湖人士以為玩完了的東西，&lt;/div&gt;&lt;div&gt;但是Check Google的各地Schedule ，&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;strong&gt;&lt;a href="http://code.google.com/intl/zh-TW/events/devfests/2010/"&gt;http://code.google.com/intl/zh-TW/events/devfests/2010/&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;strong&gt;Timothy Jordan&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;應該是唯一一個全世界跑透透在介紹Buzz的人吧!&lt;/div&gt;&lt;div&gt;難到Buzz還有後招?&lt;/div&gt;&lt;div&gt;嗯!&lt;/div&gt;&lt;div&gt;雖然301在講Buzz時很空，&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;但，試目以待啊!!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;擇錄 在Taipei GTUG上，夢魅以求的確認函&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;img alt="Google DevFest 2010" src="https://sites.google.com/site/devfestapac/_/rsrc/1285316436844/config/customLogo.gif" /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; border-top-color: rgb(51, 102, 204); border-top-style: solid; border-top-width: 1px; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;pre style="white-space: pre-wrap;"&gt;&lt;code&gt;    Confirmation code / 確認代碼: a3b4cf9a5654&lt;br /&gt;    Full name / 全名:             Cloud Lin&lt;br /&gt;    Email / Email 信箱:           &lt;a href="mailto:wolkesau@gmail.com" style="color: #114170;" target="_blank"&gt;wolkesau@gmail.com&lt;/a&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; border-top-color: rgb(51, 102, 204); border-top-style: solid; border-top-width: 1px; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;em&gt;(English Version At Bottom)&lt;/em&gt;&lt;br /&gt;Cloud, 您好!&lt;br /&gt;謝謝您對於 Google DevFest 台北場的支持。本封郵件為您的報名確認信。&lt;wbr&gt;&lt;/wbr&gt;請於活動當天攜帶您的確認代碼至接待處報到。&lt;br /&gt;時間：&lt;br /&gt;2010年10月01日星期五&lt;br /&gt;報到時間：早上八點&lt;br /&gt;活動時間：早上九點至下午五點&lt;br /&gt;地點：&lt;br /&gt;台大醫院國際會議中心 201 室&lt;br /&gt;100台北市中正區徐州路2號&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=100%E5%8F%B0%E5%8C%97%E5%B8%82%E4%B8%AD%E6%AD%A3%E5%8D%80%E5%BE%90%E5%B7%9E%E8%B7%AF2%E8%99%9F&amp;amp;sll=25.060313,121.539817&amp;amp;sspn=0.014151,0.028903&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=No.+2,+X%C3%BAZh%C5%8Du+Rd,+Jhongjheng+District,+Taipei+City,+Taiwan+100&amp;amp;z=17&amp;amp;iwloc=r1http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=100%E5%8F%B0%E5%8C%97%E5%B8%82%E4%B8%AD%E6%AD%A3%E5%8D%80%E5%BE%90%E5%B7%9E%E8%B7%AF2%E8%99%9F&amp;amp;sll=25.060313,121.539817&amp;amp;sspn=0.014151,0.028903&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=No.+2,+X%C3%BAZh%C5%8Du+Rd,+Jhongjheng+District,+Taipei+City,+Taiwan+100&amp;amp;z=17&amp;amp;iwloc=r1" style="color: #114170;" target="_blank"&gt;按此取地圖&lt;/a&gt;&lt;br /&gt;最新的議程表，講師名單，還有分組議程將會陸續在&amp;nbsp;&lt;a href="http://www.google.com/profiles/devfest.apac" style="color: #114170;" target="_blank"&gt;Buzz&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.plurk.com/devfestapac" style="color: #114170;" target="_blank"&gt;Plurk&lt;/a&gt;, and&amp;nbsp;&lt;a href="http://www.twitter.com/devfestapac" style="color: #114170;" target="_blank"&gt;Twitter&lt;/a&gt;&amp;nbsp;公佈。&lt;br /&gt;更為詳盡的提醒確認信件，會在活動數日前寄發給您。&lt;br /&gt;誠摯邀請您的參與&lt;br /&gt;謝謝,&lt;br /&gt;DevFest 台北團隊&lt;/div&gt;&lt;div style="border-collapse: collapse; border-top-color: rgb(51, 102, 204); border-top-style: solid; border-top-width: 1px; font-family: arial, sans-serif; font-size: 13px;"&gt;Hello Cloud!&lt;br /&gt;Thanks for your interest in Google DevFest Taipei. This email confirms your registration for the event. Please bring a print out of this email with your confirmation code for faster check-in.&lt;br /&gt;When:&lt;br /&gt;Friday, October 1st, 2010&lt;br /&gt;Registration will begin at 8:00am.&lt;br /&gt;The agenda will run from 9:00am-5:30pm.&lt;br /&gt;Where:&lt;br /&gt;NTUH International Convention Center&lt;br /&gt;No. 2, Xuzhou Road&lt;br /&gt;Zhongzheng District 100&lt;br /&gt;Taipei City&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=100%E5%8F%B0%E5%8C%97%E5%B8%82%E4%B8%AD%E6%AD%A3%E5%8D%80%E5%BE%90%E5%B7%9E%E8%B7%AF2%E8%99%9F&amp;amp;sll=25.060313,121.539817&amp;amp;sspn=0.014151,0.028903&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=No.+2,+X%C3%BAZh%C5%8Du+Rd,+Jhongjheng+District,+Taipei+City,+Taiwan+100&amp;amp;z=17&amp;amp;iwloc=r1http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=100%E5%8F%B0%E5%8C%97%E5%B8%82%E4%B8%AD%E6%AD%A3%E5%8D%80%E5%BE%90%E5%B7%9E%E8%B7%AF2%E8%99%9F&amp;amp;sll=25.060313,121.539817&amp;amp;sspn=0.014151,0.028903&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=No.+2,+X%C3%BAZh%C5%8Du+Rd,+Jhongjheng+District,+Taipei+City,+Taiwan+100&amp;amp;z=17&amp;amp;iwloc=r1" style="color: #114170;" target="_blank"&gt;Map It&lt;/a&gt;&lt;br /&gt;We’ll be posting more updates to the agenda, speakers, and sessions in the next few days, so follow us on&amp;nbsp;&lt;a href="http://www.google.com/profiles/devfest.apac" style="color: #114170;" target="_blank"&gt;Buzz&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.plurk.com/devfestapac" style="color: #114170;" target="_blank"&gt;Plurk&lt;/a&gt;, and&amp;nbsp;&lt;a href="http://www.twitter.com/devfestapac" style="color: #114170;" target="_blank"&gt;Twitter&lt;/a&gt;&amp;nbsp;for the latest news.&lt;br /&gt;A more detailed reminder email will also be sent out a few days before the event.&lt;br /&gt;We look forward to seeing you there!&lt;br /&gt;Cheers,&lt;br /&gt;The DevFest Taipei team&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-1721678156896090144?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/1721678156896090144/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/10/2010-google-devfest-taipei.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1721678156896090144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1721678156896090144'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/10/2010-google-devfest-taipei.html' title='2010 Google Devfest Taipei 人爆多 軟體界的大拜拜'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-5739342793479151266</id><published>2010-08-27T07:53:00.000-07:00</published><updated>2010-08-30T00:17:14.896-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>JSON GAE google appengine 吐血的特絑符號處理 換行符號 斜分號 等</title><content type='html'>JSON&lt;br /&gt;吐血的特絑符號處理&lt;br /&gt;&lt;br /&gt;1.換行符號：&lt;br /&gt;會導致無法讀取JSON&lt;br /&gt;GAE裡可在用template裡的linebreaksbr換成&lt;br /&gt;2.斜分號 "\"在String裡會判斷錯，同樣導致無法讀取JSON，怪的是不見得一定會出現無法讀取的狀況，在local端做伺服時都正常，但一上線，就是掛~&lt;br /&gt;在GAE裡可用urlencode先轉碼，然後輸出時，再用javascript 的&amp;nbsp;decodeURI再轉回來。&lt;br /&gt;&lt;br /&gt;原以為如此如此就天下太平了，&lt;br /&gt;但是一上線還是掛&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return urllib.quote(value)&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&amp;nbsp; File "/usr/lib/python2.6/urllib.py", line 1223, in quote&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&amp;nbsp; &amp;nbsp; res = map(safe_map.__getitem__, s)&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;KeyError: u'\xe3'&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: medium;"&gt;urlencode&lt;/span&gt;轉碼失敗&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;然後&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;a href="http://groups.google.com/group/google-appengine-python/browse_thread/thread/70b10f012ae33aed/996ecc33e7444cfc?#996ecc33e7444cfc"&gt;http://groups.google.com/group/google-appengine-python/browse_thread/thread/70b10f012ae33aed/996ecc33e7444cfc?#996ecc33e7444cfc&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;a href="http://seewah.blogspot.com/2009/11/django-template-urlencode-unicode.html"&gt;http://seewah.blogspot.com/2009/11/django-template-urlencode-unicode.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;上面有解，&lt;br /&gt;不過還是不行，殘念~&lt;br /&gt;&lt;br /&gt;結論就是存檔前先擋吧~&lt;br /&gt;今天完全敗給 \^^/&lt;br /&gt;可恥的一天&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-5739342793479151266?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/5739342793479151266/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/08/json.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5739342793479151266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5739342793479151266'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/08/json.html' title='JSON GAE google appengine 吐血的特絑符號處理 換行符號 斜分號 等'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-6224818192631316775</id><published>2010-07-22T08:05:00.000-07:00</published><updated>2010-07-22T08:31:46.607-07:00</updated><title type='text'>Wolke WebApp Studio 渥克程式專業網路應用程式開發</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #bbbbbb; font-family: 'Trebuchet MS', Trebuchet, sans-serif;"&gt;&lt;span class="word t1" style="color: white; display: block; font: normal normal bold 20px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 10px; margin-right: 0px; margin-top: 10px;" wl_lang="items"&gt;&lt;span class="Apple-style-span" style="color: #bbbbbb; font-size: 13px; font-weight: normal;"&gt;&lt;span class="word header" style="display: block; font-size: x-large; font: normal normal normal 60px/normal 'Trebuchet MS', Trebuchet, sans-serif; line-height: 1.6; margin-bottom: -15px; margin-left: -20px; margin-right: 0px; margin-top: -35px; text-align: left;" wl_lang="wolke_studio"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;a href="http://wolke-web-app.appspot.com/"&gt;渥克程式&lt;span id="goog_1559665030"&gt;&lt;/span&gt;&lt;span id="goog_1559665031"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="word description" style="display: block; font-size: 17px; font-style: italic;" wl_lang="wolke_studio_des"&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;專業網路應用程式開發&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, sans-serif;"&gt;&lt;span class="word t1" style="display: block; font: normal normal bold 20px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 10px; margin-right: 0px; margin-top: 10px;" wl_lang="items"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #bbbbbb; font-family: 'Trebuchet MS', Trebuchet, sans-serif;"&gt;&lt;span class="word t1" style="color: white; display: block; font: normal normal bold 20px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 10px; margin-right: 0px; margin-top: 10px;" wl_lang="items"&gt;&lt;div id="video" style="float: right; margin-left: 25px; margin-top: 25px;"&gt;&lt;object height="385" style="float: right; margin-left: 25px; margin-top: 25px;" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Whp7fkaREO8&amp;amp;hl=zh_TW&amp;amp;fs=1?rel=0&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&amp;autoplay=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Whp7fkaREO8&amp;amp;hl=zh_TW&amp;amp;fs=1?rel=0&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&amp;autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #bbbbbb; font-family: 'Trebuchet MS', Trebuchet, sans-serif;"&gt;&lt;span class="word t1" style="color: white; display: block; font: normal normal bold 20px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 10px; margin-right: 0px; margin-top: 10px;" wl_lang="items"&gt;&lt;span class="word t1" style="color: white; display: block; font: normal normal bold 20px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 10px; margin-right: 0px; margin-top: 10px;" wl_lang="items"&gt;主要服務項目&lt;/span&gt;&lt;img src="http://wolke-web-app.appspot.com/img/icon/feed_32.png" style="float: left; margin-left: 15px; margin-top: 5px;" /&gt;&lt;span class="word t2" style="color: #ff6600; display: block; font: normal normal bold 16px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 0px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="tools"&gt;Blog 工具&lt;/span&gt;&lt;span class="word text" style="display: block; font: normal normal normal 13px/normal lighter, 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="tools_text"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Blog 工具開發，主要為在既有的Blog環境下，開發出特定目的的工具。&lt;/span&gt;&lt;/span&gt;&lt;img src="http://wolke-web-app.appspot.com/img/icon/money.gif" style="float: left; margin-left: 15px; margin-top: 5px;" /&gt;&lt;span class="word t2" style="color: #ff6600; display: block; font: normal normal bold 16px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 0px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="promotion_embed"&gt;行銷嵌入式工具&lt;/span&gt;&lt;span class="word text" style="display: block; font: normal normal normal 13px/normal lighter, 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="promotion_embed_text"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;行銷嵌入式工具具開發，破除以外blog行銷只能是靜態的嵌入圖片，以程式來做新一代的行銷工具。&lt;/span&gt;&lt;/span&gt;&lt;img src="http://wolke-web-app.appspot.com/img/icon/icon-facebook.png" style="float: left; margin-left: 15px; margin-top: 5px;" /&gt;&lt;span class="word t2" style="color: #ff6600; display: block; font: normal normal bold 16px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 0px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="fb_apps"&gt;Facebook 臉書應用程式&lt;/span&gt;&lt;span class="word text" style="display: block; font: normal normal normal 13px/normal lighter, 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="fb_apps_text"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Facebook 臉書應用程式開發，在全球最大的社群網路上，開發您所需要的功能。&lt;/span&gt;&lt;/span&gt;&lt;img src="http://wolke-web-app.appspot.com/img/icon/ie.gif" style="float: left; margin-left: 15px; margin-top: 5px;" /&gt;&lt;span class="word t2" style="color: #ff6600; display: block; font: normal normal bold 16px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 0px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="web_app"&gt;網路應用程式&lt;/span&gt;&lt;span class="word text" style="display: block; font: normal normal normal 13px/normal lighter, 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="web_app_text"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;網站應用程式使用新一代互動式網頁應用網頁開發技術AJAX HTML5 CSS3等，開發出免於安裝更新等的新一代應用程式。&lt;/span&gt;&lt;/span&gt;&lt;img src="http://wolke-web-app.appspot.com/img/icon/My-Photo-Books.icon.gif" style="float: left; margin-left: 15px; margin-top: 5px;" /&gt;&lt;span class="word t2" style="color: #ff6600; display: block; font: normal normal bold 16px/normal 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 0px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="web_ui"&gt;WEB端使用者介面開發&lt;/span&gt;&lt;span class="word text" style="display: block; font: normal normal normal 13px/normal lighter, 'Trebuchet MS', Trebuchet, sans-serif; margin-bottom: 10px; margin-left: 30px; margin-right: 0px; margin-top: 0px;" wl_lang="web_ui_text"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;新一代的硬體設備，多半會有WEB端使用者介面需要開發，交給Wolke來幫您規畫整體UI。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-6224818192631316775?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/6224818192631316775/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/07/wolke-webapp-studio.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/6224818192631316775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/6224818192631316775'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/07/wolke-webapp-studio.html' title='Wolke WebApp Studio 渥克程式專業網路應用程式開發'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-2244594200308721695</id><published>2010-07-07T20:46:00.000-07:00</published><updated>2010-08-17T01:00:29.526-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Embed'/><title type='text'>Wolke JQuery Language Tools, Wolke JQuery 語言包工具(JQuery Plugin)</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Wolke JQuery Language Tools:&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;this is design for replace your words&lt;br /&gt;it means when your web or blog need to service to different language,&lt;br /&gt;you don't have to do the same copy action for your web,&lt;br /&gt;just link this in your code and set the words liberty&lt;br /&gt;like:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="js" name="code"&gt;window.WL_LANG.words={&lt;br /&gt;  welcome:{&lt;br /&gt;   en_us:'Welcome',&lt;br /&gt;   zh_tw:'歡迎您',&lt;br /&gt;   zh_cn:'欢迎你'&lt;br /&gt;  },&lt;br /&gt;  hi:{&lt;br /&gt;   en_us:'Hi',&lt;br /&gt;   zh_tw:'嗨',&lt;br /&gt;   zh_cn:'嗨'&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;這個是語言替換工具，&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;如果的網站或是Blog有同時需要服務多種語系，&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;置入此工具於你的Blog中，&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;便不需因為其他的語言而做重複性質的工作，&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;僅需定義語言包。&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;例如：&lt;/pre&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; white-space: normal;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;pre class="js" name="code"&gt;window.WL_LANG.words={&lt;br /&gt;  welcome:{&lt;br /&gt;   en_us:'Welcome',&lt;br /&gt;   zh_tw:'歡迎您',&lt;br /&gt;   zh_cn:'欢迎你'&lt;br /&gt;  },&lt;br /&gt;  hi:{&lt;br /&gt;   en_us:'Hi',&lt;br /&gt;   zh_tw:'嗨',&lt;br /&gt;   zh_cn:'嗨'&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;至於置入js文件如下：&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="html" name="code"&gt;&lt;script src="http://wolkejqueryplugin.appspot.com/jqWL/WL_Lang.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script src="lang/words.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="js" name="code"&gt;WL_LANG.GL('message') //呼叫換字，參數是原本定義的參數名。&lt;br /&gt;WL_LANG.changeLang('.word'); //一口氣全換，參數同Jquery的selector規則。&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-2244594200308721695?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/2244594200308721695/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/07/wolke-jquery-language-tools-wolke.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/2244594200308721695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/2244594200308721695'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/07/wolke-jquery-language-tools-wolke.html' title='Wolke JQuery Language Tools, Wolke JQuery 語言包工具(JQuery Plugin)'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-9209433469886642802</id><published>2010-07-05T20:31:00.000-07:00</published><updated>2010-07-07T20:25:42.958-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Embed'/><title type='text'>Blog Embed Tool: Blog Tamagotchi Blog插件:Blog電子雞 (JQuery Plugin)</title><content type='html'>Blog插件:Blog電子雞&lt;br /&gt;&lt;br /&gt;可以實現Blog塗鴉者，&lt;br /&gt;讓角色活於Blog的心願。&lt;br /&gt;&lt;br /&gt;日後將支援說話、餵食等動作。&lt;br /&gt;&lt;br /&gt;連至上傳圖檔頁面，&lt;br /&gt;&lt;br /&gt;取個角色名字，&lt;br /&gt;不能和已有的名稱重復，&lt;br /&gt;&lt;br /&gt;依照，下列動作傳圖，&lt;br /&gt;目前只有 asleep 和 walk的動作，&lt;br /&gt;日後再支援其他的。&lt;br /&gt;&lt;br /&gt;有什麼建議，直接留言吧!&lt;br /&gt;&lt;br /&gt;&lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxxBTCY2FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script&gt;google.load("jquery", "1");google.setOnLoadCallback(function(){$('#GenerateCode').click(function (){var code='';code+='&lt;';code+='script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxxBTCY2FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&gt;&lt;/script';code+='&gt;&lt;';code+='script&gt;google.load("jquery", "1");';code+='function OnLoad(){';code+="$.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_Tamagotchi.js',function(){TW.Go([INIT,";code+='"'+$('#NAME').val()+'"'+',[ASLEEP,WALK],{';var g={};for (var i in g=["INIT","ASLEEP","WALK_NORTH","WALK_SOUTH","WALK_EAST","WALK_WEST"]){code+='"'+g[i]+'":"'+$('#'+g[i]).val()+'"';if(i&lt;(g.length-1)){code+=',';}};code+='}]);})}google.setOnLoadCallback(OnLoad);';code+='&lt;';code+='/script&gt;';$('#CODE').val(code);});});&lt;/script&gt;&lt;br /&gt;&lt;p&gt;Blog Tamagotchi &lt;/p&gt;&lt;p&gt;Character Name: &lt;br /&gt;&lt;label&gt;&lt;/label&gt;&lt;br /&gt;&lt;label&gt;&lt;br /&gt;&lt;input type="text" id="NAME" value="WOLKE" /&gt;&lt;br /&gt;&lt;/label&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="z-index:"&gt;Picture place:&lt;/p&gt;&lt;p&gt;INIT:&lt;br /&gt;&lt;input type="text" id="INIT" value="http://wolkejqueryplugin.appspot.com/img/WOLKE_INIT.gif" size="50" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ASLEEP :&lt;br /&gt;&lt;input type="text" id="ASLEEP" value="http://wolkejqueryplugin.appspot.com/img/WOLKE_ASLEEP.gif" size="50" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;WALK&lt;/p&gt;&lt;p&gt;NORTH:&lt;br /&gt;&lt;input type="text" id="WALK_NORTH" value="http://wolkejqueryplugin.appspot.com/img/WOLKE_WALK_NORTH.gif" size="50" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SOUTH:&lt;br /&gt;&lt;input type="text" id="WALK_SOUTH" value="http://wolkejqueryplugin.appspot.com/img/WOLKE_WALK_SOUTH.gif"  size="50" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;EAST:&lt;br /&gt;&lt;input type="text" id="WALK_EAST" value="http://wolkejqueryplugin.appspot.com/img/WOLKE_WALK_EAST.gif"  size="50" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;WEST:&lt;br /&gt;&lt;input type="text" id="WALK_WEST" value="http://wolkejqueryplugin.appspot.com/img/WOLKE_WALK_WEST.gif"  size="50" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;input type="button" value="Generate Code" id="GenerateCode" /&gt;&lt;br /&gt;&lt;textarea cols="50" rows="10" id="CODE"&gt;code&lt;/textarea&gt;&lt;br /&gt;copy and paste it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-9209433469886642802?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/9209433469886642802/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/07/blog-embed-tool-blog-tamagotchi.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/9209433469886642802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/9209433469886642802'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/07/blog-embed-tool-blog-tamagotchi.html' title='Blog Embed Tool: Blog Tamagotchi Blog插件:Blog電子雞 (JQuery Plugin)'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-3672434325711168848</id><published>2010-07-01T01:45:00.000-07:00</published><updated>2010-07-07T20:26:17.566-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Embed'/><title type='text'>Blog Embed Tool: AutoLink Blog插件:自動新增連結器 (JQuery Plugin)</title><content type='html'>&lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxxBTCY2FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&gt;&lt;/script&gt;&lt;br /&gt;This is for you to replace word in your article and add the link where you want.&lt;br /&gt;There is a example below.&lt;br /&gt;&lt;br /&gt;I add a link to the word '廈門' in original&amp;nbsp;text article,&lt;br /&gt;and '廈門' would has a link.&lt;br /&gt;&lt;br /&gt;&lt;script&gt;google.load("jquery", "1");function OnLoad(){ var data={ '廈門':'http://wolke-travel.blogspot.com/2010/06/blog-post_27.html'};  $.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_AutoLink.js',function() {    $('#news').WL_AutoLink(data);    })}google.setOnLoadCallback(OnLoad);&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;主要功能為自動找出文章中，&lt;br /&gt;您所設定的關鍵字，&lt;br /&gt;並且自動更換成您所定的連結。&lt;br /&gt;&lt;br /&gt;例如以下原為純文字，&lt;br /&gt;但被我將廈門兩個字自動加上了link。&lt;br /&gt;&lt;br /&gt;&lt;div id='news' style='background:white'&gt;&lt;br /&gt;摘自【聯合報╱記者肇瑩如／澎湖報導】 2008.11.11 02:20 am&lt;br /&gt;&lt;br /&gt;兩岸海運直航將在「江陳會」簽定協議後40天內生效，澎湖海運業者已急著搶頭香。澎湖中和海運昨天表示，將與大陸廈門國貿集團合作，直航協議一生效，就提出台中、廈門航線申請，若作業順利，最快12月底即可開航，目前單趟票價暫定2500元，航程3.5小時。&lt;br /&gt;&lt;br /&gt;中和海運公司董事長陳中和說，「江陳會」4日簽署的兩岸海運直航協議中明定簽定後40天內生效，中和海運看準兩岸海運直航商機，已先一步與排名在中國大陸百強企業中的「廈門國貿集團」洽談合作，雙方並已達成合作共識，待「江陳會」協議生效，兩家公司就將簽約在廈門合資成立航運公司，搶先提出台中、廈門往返航線申請，「為的就是搶兩岸客貨直航的頭香」。&lt;br /&gt;&lt;br /&gt;陳中和說，未來台中、廈門航線若獲准，中和海運將於旗下重約4千噸的「今日之星」客輪為營運主力經營客貨運業務，「今日之星」客輪可載客近7百人，最高航速可達42節，從台中航行到廈門約3.5小時，至於票價定價是2500元，為增加競爭力，未來也將搭配各項優惠或套裝遊程，所以實際票價可能會更低。&lt;br /&gt;&lt;br /&gt;除中和海運外，日前首航台中、馬公的華達國際海運「海洋拉拉號」客輪也計畫申請從馬公延航廈門的航線，華達公司副總經理盧卓君曾說，暫定台中經馬公到廈門的票價為每人2200元，他們也預計在兩岸開放海運直航後提出申請。&lt;br /&gt;&lt;/div&gt;&lt;pre class="html" name="code"&gt;&lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxxBTCY2FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;script&gt;&lt;br /&gt;//var cd=console.debug;&lt;br /&gt;google.load("jquery", "1");&lt;br /&gt;&lt;br /&gt;function OnLoad()&lt;br /&gt;{&lt;br /&gt; var data={&lt;br /&gt; //'廈門':'http://wolke-travel.blogspot.com/2010/06/blog-post_27.html'//just set this&lt;br /&gt;}; &lt;br /&gt; &lt;br /&gt; $.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_AutoLink.js',function()&lt;br /&gt; {  &lt;br /&gt;  $('.post-body').WL_AutoLink(data);   &lt;br /&gt; })&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;google.setOnLoadCallback(OnLoad);&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-3672434325711168848?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/3672434325711168848/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/07/link.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3672434325711168848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3672434325711168848'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/07/link.html' title='Blog Embed Tool: AutoLink Blog插件:自動新增連結器 (JQuery Plugin)'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-4111641965108323103</id><published>2010-06-30T20:56:00.000-07:00</published><updated>2010-07-07T20:26:33.419-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Embed'/><title type='text'>Blog Embed Tool: PictureSignature Blog插件:自動新增Link Blog 程式圖片加簽名(JQuery Plugin)</title><content type='html'>There is new way to create a signature on your picture.&lt;br /&gt;you can see the example below&lt;br /&gt;or click this Blog&amp;nbsp;&lt;span class="Apple-style-span" style="color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 36px; line-height: 18px;"&gt;&lt;a href="http://wolke-travel.blogspot.com/" target="_blank"&gt;Wolke 渥克 [到處亂走]&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;新時代要有有新的簽名章方法吧~&lt;br /&gt;圖片加簽名章是我用程式的方式加上簽名，&lt;br /&gt;範例可以直接連結&lt;br /&gt;&lt;br /&gt;&lt;h1 class="title" style="color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14px; font: normal normal normal 36px/normal Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; position: relative; text-shadow: rgba(0, 0, 0, 0.292969) 1px 1px 3px;"&gt;&lt;a href="http://wolke-travel.blogspot.com/" target="_blank"&gt;Wolke 渥克 [到處亂走]&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;&lt;pre class="html" name="code"&gt;&lt;script&gt;&lt;br /&gt;google.load("jquery", "1");&lt;br /&gt;function OnLoad(){$.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_Signature.js',function(){$('img').WL_Signature('http://wolkejqueryplugin.appspot.com/img/wolke.png');&lt;br /&gt;})}&lt;br /&gt;google.setOnLoadCallback(OnLoad);&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style="font-family: Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; white-space: normal;"&gt;這樣就可以在不破壞圖下，&lt;br /&gt;在Blog上加上你自已的簽名囉!&lt;br /&gt;原圖：&lt;a href="http://wolkejqueryplugin.appspot.com/img/wolke.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://wolkejqueryplugin.appspot.com/img/wolke.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;或是這裡：&lt;/div&gt;&lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script&gt;google.load("jquery", "1");function OnLoad(){$.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_Signature.js',function(){$('img').WL_Signature('http://wolkejqueryplugin.appspot.com/img/wolke.png');})}google.setOnLoadCallback(OnLoad);&lt;/script&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com.tw/lh/photo/blk0wyCLyCSeoBKUJ_aK4g?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_zvmAmm9as0g/TBjzmqHR_GI/AAAAAAAACBk/Tubi3Lgv6Z4/s400/dscn4790.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;寄件者 &lt;a href="http://picasaweb.google.com.tw/lh/sredir?uname=wolkesau&amp;amp;target=ALBUM&amp;amp;id=5402120189023227185&amp;amp;feat=embedwebsite"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-4111641965108323103?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/4111641965108323103/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/06/blog.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/4111641965108323103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/4111641965108323103'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/06/blog.html' title='Blog Embed Tool: PictureSignature Blog插件:自動新增Link Blog 程式圖片加簽名(JQuery Plugin)'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_zvmAmm9as0g/TBjzmqHR_GI/AAAAAAAACBk/Tubi3Lgv6Z4/s72-c/dscn4790.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-7934549623572800311</id><published>2010-06-07T20:24:00.000-07:00</published><updated>2010-06-07T20:32:36.115-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><title type='text'>實作教學 google app engine GAE 開發 facebook app FB應用程式</title><content type='html'>去年曾經寫過一篇用GAE開發facebook app，&lt;br /&gt;&lt;br /&gt;&lt;h3 class="post-title entry-title" style="color: #1b0431; font-family: Georgia, 'Times New Roman', sans-serif; font-size: 18px; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://wolke-codes.blogspot.com/2010/04/facebook-applicationjquery-google-app.html" style="color: #1b0431; text-decoration: underline;"&gt;實作教學Facebook Application+JQuery + Google App Engine 初章.1&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;當時用的是pyfacebook，&lt;br /&gt;也不過才半年多，&lt;br /&gt;&lt;br /&gt;去年的那篇，&lt;br /&gt;基本上可以把pyfacebook丟了，&lt;br /&gt;目前在facebook上，&lt;br /&gt;他們直接的針對GAE撰寫了新的SDK&lt;br /&gt;&lt;br /&gt;&lt;ul style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-family: 'Lucida Grande', Tahoma, Verdana, Arial, sans-serif; font-size: 14px; line-height: 17px; list-style-image: initial; list-style-position: initial; list-style-type: disc; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 3em; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://developers.facebook.com/docs/reference/javascript/" style="color: #3b5998; cursor: pointer; text-decoration: none;"&gt;JavaScript SDK&lt;/a&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="color: black; font-family: Arial; font-size: medium; line-height: normal;"&gt;可以在javascript裡操作FB物件，做為和facebook的連結&lt;/span&gt;&lt;/li&gt;&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://github.com/facebook/php-sdk/" style="color: #3b5998; cursor: pointer; text-decoration: none;"&gt;PHP SDK&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://github.com/facebook/python-sdk/" style="color: #3b5998; cursor: pointer; text-decoration: none;"&gt;Python SDK&lt;/a&gt;&amp;nbsp;丟了pyfacebook，改用這個吧&lt;/li&gt;&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://github.com/facebook/facebook-iphone-sdk/" style="color: #3b5998; cursor: pointer; text-decoration: none;"&gt;iPhone SDK&lt;/a&gt;&lt;/li&gt;&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://github.com/facebook/facebook-android-sdk" style="color: #3b5998; cursor: pointer; text-decoration: none;"&gt;Android SDK&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;參考&lt;a href="http://developers.facebook.com/docs/"&gt;http://developers.facebook.com/docs/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;基本上，這些Server端的SDK，&lt;br /&gt;&lt;br /&gt;主要是從cookie中取得你的身份，&lt;br /&gt;並於底層中操作&lt;span class="Apple-style-span" style="color: #333333; font-family: 'Lucida Grande', Tahoma, Verdana, Arial, sans-serif; font-size: 14px; line-height: 18px;"&gt;&lt;a href="http://developers.facebook.com/docs/reference/api/" style="color: #3b5998; cursor: pointer; text-decoration: none;"&gt;Graph API&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;這個Graph API其實是包著上述方法，&lt;br /&gt;再從Server get url方式取得Data，&lt;br /&gt;所有你需要的Data幾乎都可以從這個API來做呼叫，&lt;br /&gt;執行效率和bug的錯誤比之前用pyfacebook好很多。&lt;br /&gt;&lt;br /&gt;在python SDK 的 github上有一段sample，&lt;br /&gt;你可以試著做看看。&lt;br /&gt;&lt;br /&gt;GAE的部份，就不在贅述，基本上只要將facebook.py，example.py，example.html置於你的gae目錄下，上傳後，應該就可以順利執行了。&lt;br /&gt;&lt;br /&gt;去年的facebook應用設計，&lt;br /&gt;整個呼叫API的部份不再和PHP綁在一起，&lt;br /&gt;目前書店裡關於facebook開發的書，&lt;br /&gt;老闆頭很痛吧!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;facebook改為Graph API的主要目地，&lt;/div&gt;Wolke推測，應是在為不同平台、如mobile、TV...鋪路囉~&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;執行若有問題再留言討論吧!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-7934549623572800311?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/7934549623572800311/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/06/google-app-engine-gae-facebook-app-fb.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/7934549623572800311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/7934549623572800311'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/06/google-app-engine-gae-facebook-app-fb.html' title='實作教學 google app engine GAE 開發 facebook app FB應用程式'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-2917439142310427909</id><published>2010-05-26T19:05:00.000-07:00</published><updated>2010-05-26T19:09:15.996-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><title type='text'>新增 讚 Like 按紐 到你的blogspot</title><content type='html'>javascript:&lt;br /&gt;&lt;pre class="js" name="code"&gt;document.write('&lt;iframe src="http://www.facebook.com/plugins/like.php?href='+location.href+'&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=verdana&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"&gt;&lt;/iframe&gt;')&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;把上面那一段copy到你的blog就可以了~!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-2917439142310427909?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/2917439142310427909/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/05/like-blogspot.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/2917439142310427909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/2917439142310427909'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/05/like-blogspot.html' title='新增 讚 Like 按紐 到你的blogspot'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-8334957485033024962</id><published>2010-04-30T08:11:00.000-07:00</published><updated>2010-04-30T17:58:41.352-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Design Pattern 設計模式'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Design Pattern 設計模式 Decorator 裝飾者模式</title><content type='html'>Today, we use "Decorator"&lt;br /&gt;今天來玩玩Decorator&lt;br /&gt;&lt;br /&gt;javascript:&lt;br /&gt;&lt;pre class="js" name="code"&gt;&lt;br /&gt;cd=console.debug;&lt;br /&gt;function Component(base)&lt;br /&gt;{&lt;br /&gt; this.base=null;&lt;br /&gt; try{&lt;br /&gt;  this.base=base;&lt;br /&gt; }catch(e){}&lt;br /&gt; &lt;br /&gt; this.name="";&lt;br /&gt; this.value=0;&lt;br /&gt; &lt;br /&gt; this.getDes=function(){&lt;br /&gt;  var s='';&lt;br /&gt;  try{&lt;br /&gt;   s+=this.base.getDes();&lt;br /&gt;  }catch(e){}&lt;br /&gt;  s+=this.name+','&lt;br /&gt;  return s;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; this.cost=function(){&lt;br /&gt;  var v=0;&lt;br /&gt;  try{&lt;br /&gt;   v+=this.base.cost();&lt;br /&gt;  }catch(e){}&lt;br /&gt;  v+=this.value;&lt;br /&gt;  return v;&lt;br /&gt; } &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*inherit*/&lt;br /&gt;function Espresso(base)&lt;br /&gt;{&lt;br /&gt; var d=new Component(base);&lt;br /&gt; d.name="Espresso";&lt;br /&gt; d.value=100;&lt;br /&gt; return d;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;function Mocha(base)&lt;br /&gt;{&lt;br /&gt; var d=new Component(base);&lt;br /&gt; d.name="Mocha";&lt;br /&gt; d.value=10;&lt;br /&gt; return d;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;function Soy(base)&lt;br /&gt;{&lt;br /&gt; var d=new Component(base);&lt;br /&gt; d.name="Soy";&lt;br /&gt; d.value=50;&lt;br /&gt; return d;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;(function(){&lt;br /&gt; var e= new Espresso(),&lt;br /&gt; m= new Mocha(e),&lt;br /&gt; a= new Mocha(m),&lt;br /&gt; s= new Soy(a);&lt;br /&gt; &lt;br /&gt; cd(s.cost());&lt;br /&gt; cd(s.getDes());&lt;br /&gt;})();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;python:&lt;br /&gt;&lt;pre class="python" name="code"&gt;&lt;br /&gt;class Component():&lt;br /&gt;    base=None&lt;br /&gt;    name=''&lt;br /&gt;    value=0&lt;br /&gt;    &lt;br /&gt;    def __init__(self,base=None):&lt;br /&gt;        try:&lt;br /&gt;            self.base=base&lt;br /&gt;        except:&lt;br /&gt;            pass&lt;br /&gt;&lt;br /&gt;    def getDes(self):&lt;br /&gt;        s=''&lt;br /&gt;        try:&lt;br /&gt;            s+=self.base.getDes()+','&lt;br /&gt;        except:&lt;br /&gt;            pass&lt;br /&gt;        s+=self.name&lt;br /&gt;        return s&lt;br /&gt;    def cost(self):&lt;br /&gt;        v=0;&lt;br /&gt;        try:&lt;br /&gt;            v+=self.base.value&lt;br /&gt;        except:&lt;br /&gt;            pass&lt;br /&gt;        return v+self.value&lt;br /&gt;&lt;br /&gt;class Espresso(Component):&lt;br /&gt;    name='Espresso'&lt;br /&gt;    value=2000&lt;br /&gt;    pass&lt;br /&gt;class Soy(Component):&lt;br /&gt;    name='Soy'&lt;br /&gt;    value=20&lt;br /&gt;    pass&lt;br /&gt;&lt;br /&gt;class Mocha(Component):&lt;br /&gt;    name='Mocha'&lt;br /&gt;    value=200&lt;br /&gt;    pass&lt;br /&gt;&lt;br /&gt;def main():&lt;br /&gt;    s=Espresso()&lt;br /&gt;    &lt;br /&gt;    s=Mocha(s)&lt;br /&gt;    s=Mocha(s)&lt;br /&gt;    s=Soy(s)&lt;br /&gt;    &lt;br /&gt;    st=s.getDes()&lt;br /&gt;    v=s.cost()&lt;br /&gt;    print st&lt;br /&gt;    print v&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;if __name__!='__main__':&lt;br /&gt;    main()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-8334957485033024962?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/8334957485033024962/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/design-pattern-decorator.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/8334957485033024962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/8334957485033024962'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/design-pattern-decorator.html' title='Design Pattern 設計模式 Decorator 裝飾者模式'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-3352171062520892672</id><published>2010-04-28T18:17:00.000-07:00</published><updated>2010-04-28T19:20:36.074-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Design Pattern 設計模式'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Design Pattern 設計模式 Observer 觀察者模式</title><content type='html'>I am wrintng webpage app recently,so I used the GAE standard for 'Google App Engine' to be the Server client,So I use the Python and Javascript often,of course JQuery else,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;最近在開發 webpage app，使用GAE做為Server端，所以得使用到Python和Javascript，當然還有JQuery。&lt;br /&gt;&lt;br /&gt;and because I am a person who like to use 'Design Pattern' in my code.&lt;br /&gt;so I start to share how to use 'Design Pattern' in the code today, and hope this series can help someone who is writing webpage app ,too and help me to remenber this.&lt;br /&gt;If you have any problem,it's welcome to comment,thx~&lt;br /&gt;&lt;br /&gt;也因為我是個"設計模式"的愛好者，所以開始分享一些我觀察到的一些在javascript和python上可以運用的"設計模式"方法，希望可以提醒我自已記得如何使用，及幫助到需要的人。&lt;br /&gt;若是有任何指教，歡迎留言，謝謝。&lt;br /&gt;the first design pattern , I want to share its   'Observer' pattern:&lt;br /&gt;&lt;br /&gt;觀察者模式：&lt;br /&gt;&lt;br /&gt;Python:&lt;br /&gt;&lt;pre name="code" class="python"&gt;&lt;br /&gt;import sys&lt;br /&gt;import os&lt;br /&gt;################### BASIC CLASS begin ##############&lt;br /&gt;class Subject():&lt;br /&gt;    name='Subject'&lt;br /&gt;    def __init__(self,name):&lt;br /&gt;        self.name=name&lt;br /&gt;    #&lt;br /&gt;    parms={}&lt;br /&gt;    def setTemp(self,parms):&lt;br /&gt;        self.parms=parms&lt;br /&gt;        self.notify()&lt;br /&gt;&lt;br /&gt;    #for observer&lt;br /&gt;    objs=[]&lt;br /&gt;    def register(self,obj):&lt;br /&gt;        self.objs.append(obj)&lt;br /&gt;&lt;br /&gt;    def remove(self,obj):&lt;br /&gt;        self.objs.remove(obj)&lt;br /&gt;&lt;br /&gt;    def notify(self):&lt;br /&gt;        for i in self.objs:&lt;br /&gt;            print i&lt;br /&gt;            i.update(self,self.parms)&lt;br /&gt;&lt;br /&gt;class Observer():&lt;br /&gt;    name='Observer'&lt;br /&gt;    def __init__(self,name):&lt;br /&gt;        self.name=name&lt;br /&gt;        &lt;br /&gt;    def update(subject,self,parms):&lt;br /&gt;        print 'Subject Name: %s,Observer Name : %s ,Value: %i'%(subject.name,self.name, parms['value'])&lt;br /&gt;&lt;br /&gt;        pass&lt;br /&gt;&lt;br /&gt;    def display(self):&lt;br /&gt;        pass&lt;br /&gt;################### BASIC CLASS end ##############&lt;br /&gt;&lt;br /&gt;class Weather(Subject):&lt;br /&gt;    pass&lt;br /&gt;&lt;br /&gt;class Board(Observer):&lt;br /&gt;    value=0&lt;br /&gt;&lt;br /&gt;    def update(self,parms):&lt;br /&gt;        self.value=parms['value']&lt;br /&gt;        self.display()&lt;br /&gt;    def display(self):&lt;br /&gt;        print self.value&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;class Combine(Subject,Observer):&lt;br /&gt;    pass&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def main():&lt;br /&gt;    s=Weather('Weather')&lt;br /&gt;    b=Combine('Board')&lt;br /&gt;    &lt;br /&gt;    s.register(b)&lt;br /&gt;    s.setTemp({'value':99})&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;if __name__!='__main__':&lt;br /&gt;    main()&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;javascript:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="js"&gt;&lt;br /&gt;cd=console.debug&lt;br /&gt;&lt;br /&gt;function Subject()&lt;br /&gt;{&lt;br /&gt; this.name='Subject';&lt;br /&gt; this.parms={};&lt;br /&gt; this.setTemp=function(parms){&lt;br /&gt;  this.parms=parms;&lt;br /&gt;  this.notify()  &lt;br /&gt; } &lt;br /&gt; //&lt;br /&gt; this.objs=new Array();&lt;br /&gt; this.register=function(obj){  &lt;br /&gt;  this.objs.push(obj);&lt;br /&gt; }&lt;br /&gt; this.remove=function(obj){&lt;br /&gt; &lt;br /&gt; }&lt;br /&gt; this.notify=function(){&lt;br /&gt;  for (i in this.objs){&lt;br /&gt;   this.objs[i].update(this.parms)&lt;br /&gt;  }&lt;br /&gt; }  &lt;br /&gt;}&lt;br /&gt;function Observer()&lt;br /&gt;{ &lt;br /&gt; this.name='Observer';&lt;br /&gt; this.update=function(parms){&lt;br /&gt;  this.display(parms);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; this.display=function(parms){&lt;br /&gt;  cd(parms);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;//set different class over there&lt;br /&gt;function Weather()&lt;br /&gt;{  &lt;br /&gt; var father=new Subject();&lt;br /&gt; father.name='Weather';&lt;br /&gt; return father; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function Board(){&lt;br /&gt; var father=new Observer();&lt;br /&gt; father.name='Board';&lt;br /&gt; father.display=function(parms){&lt;br /&gt;  cd('Value:'+parms['value'])&lt;br /&gt; } &lt;br /&gt; return father;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function main()&lt;br /&gt;{&lt;br /&gt; var s=new Weather();&lt;br /&gt; var o=new Board();&lt;br /&gt; s.register(o);&lt;br /&gt; s.setTemp({'value':99})&lt;br /&gt; cd(o);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;in the javascript, if you want to combine the Subject and Observer class, it also have a way to do it,like:&lt;br /&gt;&lt;pre class='js' name='code'&gt;&lt;br /&gt;function Observer()&lt;br /&gt;{&lt;br /&gt;.....&lt;br /&gt; this.dir={name:this.name,display:this.display}//you have to add all class's parms and fucntions pointer in the 'dir' arraylist,also do it in Subject class &lt;br /&gt;}&lt;br /&gt;//after this ,than you can add this class &lt;br /&gt;function Combine()&lt;br /&gt;{&lt;br /&gt; var f1=new Subject();&lt;br /&gt; var f2=new Observer();&lt;br /&gt; var me={};&lt;br /&gt; for (i in f1.dir)&lt;br /&gt; {&lt;br /&gt;  me[i]=f1.dir[i];&lt;br /&gt; }&lt;br /&gt; for (i in f2.dir)&lt;br /&gt; {&lt;br /&gt;  me[i]=f2.dir[i];&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; return me;&lt;br /&gt;}&lt;br /&gt;function Station()&lt;br /&gt;{&lt;br /&gt; var father =new Combine();&lt;br /&gt; &lt;br /&gt; return father;&lt;br /&gt;}&lt;br /&gt;//then finally you get combine class&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;after create combine class in the javascript, the codes is not easy to read amymore,but for the class seldom have to be Subject and Observer.&lt;br /&gt;so just for requirement.&lt;br /&gt;不過為了實現'結合'，程式碼好像不前麼好讀了，通常也很少是觀察者也是主題的，看需求囉。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-3352171062520892672?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/3352171062520892672/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/design-pattern.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3352171062520892672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3352171062520892672'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/design-pattern.html' title='Design Pattern 設計模式 Observer 觀察者模式'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-5838734878918411598</id><published>2010-04-26T01:07:00.000-07:00</published><updated>2010-04-26T01:09:20.385-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式設計者的無知而驕傲'/><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><title type='text'>程式設計者的無知而驕傲「四」之前的程式修改，如果我有時間的話先生</title><content type='html'>&lt;p&gt;如果我有時間的話先生，是我最近觀察到自已本人在下我，&lt;/p&gt; &lt;p&gt;常常拿來跟測試工程師講的話，&lt;/p&gt; &lt;p&gt;測試工程師用力的幫我找了之前程式的一些問題或建議，&lt;/p&gt; &lt;p&gt;可是我卻只能殘忍的說：「如果我有時間的話」&lt;/p&gt; &lt;p&gt;是的，我真是個壞人，雖然我自認到目前為止的每個程式(期初的不算(汗))都不難改，因為，我可是堅守著對修改關閉，對擴充開放的底限，照理來說不 難改，但我還真沒時間改，因為老大的眼光又轉向了，這就好像&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;船在大海上航行，船長對自已的方向沒把握一樣，船員也只好跟著，左邊轉一下，右邊轉一下&lt;/span&gt;。&lt;/p&gt; &lt;p&gt;所以，不好意思啊，阿測，我還真的沒時間改，必竟那不是個小bug啊~~新功能要找時間研究一下，才能加上去的啊(心中的吶喊)!!&lt;/p&gt; &lt;p&gt;老大要我寫別的東西，我就只好轉向看別的東西，不是我不想做啊~~&lt;/p&gt; &lt;p&gt;這是籍口(阿測心中的os)。&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="text-decoration: line-through;"&gt;如果我有時間的話，還真是個不錯的籍口&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-5838734878918411598?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/5838734878918411598/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/httpwolkesaupixnetnetblogpost27829711ix.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5838734878918411598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5838734878918411598'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/httpwolkesaupixnetnetblogpost27829711ix.html' title='程式設計者的無知而驕傲「四」之前的程式修改，如果我有時間的話先生'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-3061635303561380878</id><published>2010-04-26T01:05:00.000-07:00</published><updated>2010-04-26T01:10:04.660-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式設計者的無知而驕傲'/><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><title type='text'>程式設計者的無知而驕慠「三」先有再說先生 程式改不動先生</title><content type='html'>這聽起來像是對立的兩個人，卻總是在Case期初和期末交換角色，&lt;br /&gt;&lt;br /&gt;先有再說先生，總是先急著弄出個成品，不考慮之後程式修正的問題&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;就gadget(google桌面，網頁程式)說好了；&lt;br /&gt;&lt;br /&gt;為了要考慮之後的擴充性，&lt;br /&gt;&lt;br /&gt;或不得不為的修改，通常會盡量的切割之各個系統。&lt;br /&gt;&lt;br /&gt;使其獨立，&lt;br /&gt;&lt;br /&gt;MVC 構架是最常用的。&lt;br /&gt;&lt;br /&gt;網頁application結構其實分割還滿容易的，&lt;br /&gt;&lt;br /&gt;Server端(Model), Client端(View),&lt;br /&gt;&lt;br /&gt;Control部份，個人是覺得盡量寫在Client(拖別人系統，決對比拖自已系統好，科科)&lt;br /&gt;&lt;br /&gt;但先有再說先生，可以很棒的將其混在一起。&lt;br /&gt;&lt;br /&gt;反正他只想先丟出去再說。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;所以一個gadget(google桌面)，&lt;br /&gt;&lt;br /&gt;他用了&amp;lt;iframe&amp;gt; 將整個原在Server端的查詢網頁，&lt;br /&gt;&lt;br /&gt;是的，也不是&amp;lt;iframe&amp;gt;不能用，&lt;br /&gt;&lt;br /&gt;不過 gadget就已經是設計來成為你的網路桌面上的小程式的這件事情，&lt;br /&gt;&lt;br /&gt;好像完全不管他，我完全看不到他的MVC架構在那裡?&lt;br /&gt;&lt;br /&gt;這樣子的東西，也不可能在google桌面上縮放啊?&lt;br /&gt;&lt;br /&gt;看了整個禮拜不知道在看啥?&lt;br /&gt;&lt;br /&gt;(如果我也可以只整個禮拜只搞這個就好了，雜事有夠多的。)&lt;br /&gt;&lt;br /&gt;反正先出去再說，&lt;br /&gt;&lt;br /&gt;那今天老闆想要gadget上縮放呢?&lt;br /&gt;&lt;br /&gt;這也不算強人所難，因為這本來就是google桌面設計的目的，&lt;br /&gt;&lt;br /&gt;那你不就立刻倒了。&lt;br /&gt;&lt;br /&gt;喔! 不會的! 因為 程式改不動先生(注意：康攢有夠才開的出這一隻)跳出來救你了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;老闆想要修改程式了，&lt;br /&gt;&lt;br /&gt;「但這個程式改不動」程式改不動先生說話了。&lt;br /&gt;&lt;br /&gt;(當然要說這句話前請先墊墊自已的份量)，&lt;br /&gt;&lt;br /&gt;其實程式改不動，也是因為你在Case期初時，&lt;br /&gt;&lt;br /&gt;完全沒有考慮程式的擴充和修改性這件事。&lt;br /&gt;&lt;br /&gt;就這醬出去了，真是營養雞排。&lt;br /&gt;&lt;br /&gt;「反正我改不動，不然你找別人好了」程式改不動先生又說話了&lt;br /&gt;&lt;br /&gt;(更高段的話，說這句話之前，請先考慮公司有多少專案在你手上，讓老闆投鼠忌器)&lt;br /&gt;&lt;br /&gt;通常到這裡，&lt;br /&gt;&lt;br /&gt;第一，找替死鬼收尾。&lt;br /&gt;&lt;br /&gt;第二，算了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;是。算了機會還滿大的，通常 先有再說 先生 的程式，別人還真的改不動，&lt;br /&gt;&lt;br /&gt;因為全都搞在一起了。重新幫他寫一個可能會比較快一點。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;這個系列，不小心也寫到了第三篇，才發現，原來我是愛靠B的人(汗)，&lt;br /&gt;&lt;br /&gt;這些只是我在工作觀察到的，不見得對或錯，&lt;br /&gt;&lt;br /&gt;可能在某些壓力下，你也不得不成為某一種先生。&lt;br /&gt;&lt;br /&gt;不過請僅守「對修改關閉，對擴充開放的底限」吧&lt;br /&gt;&lt;br /&gt;不然很難成為一個被尊敬的程式設計師。&lt;br /&gt;&lt;br /&gt;這可能太難了，&lt;br /&gt;&lt;br /&gt;那至少不要成為一位被唾棄的程式工人。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-3061635303561380878?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/3061635303561380878/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/httpwolkesaupixnetnetblogpost27792356ix.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3061635303561380878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3061635303561380878'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/httpwolkesaupixnetnetblogpost27792356ix.html' title='程式設計者的無知而驕慠「三」先有再說先生 程式改不動先生'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-7289373689634410612</id><published>2010-04-26T00:49:00.000-07:00</published><updated>2010-04-26T01:00:59.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式設計者的無知而驕傲'/><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><title type='text'>程式設計者的無知而驕傲「二」寫程式的態度?哇!台灣水泥工!</title><content type='html'>寫程式在不懂不了解的人眼中，&lt;br /&gt;&lt;br /&gt;其實還滿礙眼的，&lt;br /&gt;&lt;br /&gt;在公司其他人眼中(包括老闆)可能也是「米蟲」的角色，&lt;br /&gt;&lt;br /&gt;(我朋友Y君說，有次公司的資料庫掛了，總公司派了個工程師來，&lt;br /&gt;&lt;br /&gt;他們只覺得他在東摸摸西摸摸而已，不知道他到底在幹嘛)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;這就是一個問題，&lt;br /&gt;&lt;br /&gt;其實程式寫的好不好，&lt;br /&gt;&lt;br /&gt;只有內行的人了解，&lt;br /&gt;&lt;br /&gt;(不是加工業等粗工，以量計算，&lt;br /&gt;&lt;br /&gt;不像美感雖然每個人都有見解，但至少看出你有沒有用心畫)，&lt;br /&gt;&lt;br /&gt;所以一個code寫的很爛的人，&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;1.可以因為加班加的久(加班先生)，&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.或是他已經是個老資格先生(寫了八年連物件導向都不了解，還亂解釋，&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;大言不殘的說這個程式，是物件導向寫的喔(除了你寫的以外，其他都是吧!)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;聽到都不敢偷笑，還敢說ajax的東西，還真大有人在)，&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;所以被公司的其他人(包括管理階層)認為他很厲害之類的，&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;結果一個追求coding的精準及效率，&lt;br /&gt;&lt;br /&gt;視多寫一行如罪惡的人，&lt;br /&gt;&lt;br /&gt;因為準時下班，&lt;br /&gt;&lt;br /&gt;反而被認為不積極，&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;後來我想了一想，&lt;br /&gt;&lt;br /&gt;必竟大部份的老闆眼中，&lt;br /&gt;&lt;br /&gt;覺得你留的愈晚，他就愈賺嘛(程式工程師，大部份為責任制，沒有加班費)~&lt;br /&gt;&lt;br /&gt;所以也不會管你在幹嘛(他都走了，當然不知道你在幹嘛，只覺的又賺到了)!&lt;br /&gt;&lt;br /&gt;(其實在這樣的工作環境中，偷公司的時間就對了, 唉呀~我說的不是A君喔!)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;你就一直摸，摸，摸，最好是直接睡公司，明天也不可能遲到喔!&lt;br /&gt;&lt;br /&gt;唉~就是因為這樣子，才會造就寫了八年，連物件導向都不懂~&lt;br /&gt;&lt;br /&gt;for迴圈也用不好的人~&lt;br /&gt;&lt;br /&gt;一段這樣可以解決掉的code&lt;br /&gt;&lt;textarea class="js" name="code"&gt;&lt;br /&gt;for (i=0;i&lt;100;1++)&lt;br /&gt;&lt;br /&gt;{if( Array[i]==compare_obj ){return i}}&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;//他會寫成這樣&lt;br /&gt;&lt;br /&gt;if( Array[0]==compare_obj)&lt;br /&gt;&lt;br /&gt;{return 0;}&lt;br /&gt;&lt;br /&gt;elseif.....  &lt;br /&gt;&lt;br /&gt;//寫上一百行...&lt;br /&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;程式磚頭水泥工人，反正都是在混時間而已，這不過就是個工作，&lt;br /&gt;&lt;br /&gt;只要電腦前，不斷的打code，讓老闆覺得很忙就行了，&lt;br /&gt;&lt;br /&gt;但，&lt;span style="color: rgb(255, 0, 0);"&gt;就算是磚頭水泥工人，用心做的人，也是不斷的想增進自已的效率啊~&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;我想，可能是這樣的工作環境，才會養出這樣不重效率的程式工程師，&lt;br /&gt;&lt;br /&gt;必竟，有無增進其coding能力，也不會多拿一分錢!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;所以才會一直混時間而已~&lt;br /&gt;反過來就要問問自已，為什麼要寫程式，&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;不就是不想做重複性的工作嗎?&lt;br /&gt;&lt;br /&gt;結果反而把這麼有挑戰性的工作(不管你完成與否，一定有更好的解決方法的工作)，&lt;br /&gt;&lt;br /&gt;搞的和搬水泥一樣，以量計價，不是很可悲嗎?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-7289373689634410612?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/7289373689634410612/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post_3115.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/7289373689634410612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/7289373689634410612'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post_3115.html' title='程式設計者的無知而驕傲「二」寫程式的態度?哇!台灣水泥工!'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-5686517628364451801</id><published>2010-04-26T00:46:00.000-07:00</published><updated>2010-04-26T00:47:37.409-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式設計者的無知而驕傲'/><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><title type='text'>程式設計者的無知而驕傲「一」別當個程式真理先生</title><content type='html'>這是個嚴肅而卻又另人深刻的話題，說實在才疏學淺的我，沒什麼資格來談論這個話題，&lt;br /&gt;不過就是對一些，這兩年看到的一些現象，疏發的一些想法與感覺；以及告誡自已千萬不要有以下這些行為。&lt;br /&gt;「一」.程式設計，本來就是拿來被人推翻用的，你寫不出來不代表別人寫不出來；就算我寫出來了，那也不代表這個程式，會是完美的，一定有其他更總明的人有著更好的寫法 。&lt;br /&gt;但是沉迷於以解決一時的問題，而寫出來的code，&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;決對、肯定、保證&lt;/span&gt;，日後會成為你維護上的最大問題。&lt;br /&gt;這個時候檢視 設計模式&lt;br /&gt;尋找適合的 Deign Pattern 以利日後的維護是重要的。&lt;br /&gt;雖然不想在這裡批評什麼，不過，程式真理先生，在說下肯定語句時，切記，你寫不出來不代表別人寫不出來，程式真理先生今天為搞定一時的問題，而hardcode寫出來的東西，以後一定會成為程式真理先生的扮腳石的。&lt;br /&gt;如果程式真理先生連 Design Pattern，物件導向，都還不清楚是什麼東西，甚至Function都還不太會用的程式真理先生就會落得以打壓別的程式工人，以求在程式界生存的可悲境界。&lt;br /&gt;程式目前講的都是Open Source，如果連 別人的分享 都不懂的讀懂他，而只是不斷的以抄襲來解決一時的問題，真的也不知該怎麼建議程式真理先生了。&lt;br /&gt;所以，千萬別成為一個程式真理先生。&lt;br /&gt;隨時要精進自已的程式功力方為上策。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-5686517628364451801?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/5686517628364451801/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post_9239.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5686517628364451801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5686517628364451801'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post_9239.html' title='程式設計者的無知而驕傲「一」別當個程式真理先生'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-2421743216190360950</id><published>2010-04-26T00:42:00.000-07:00</published><updated>2010-04-26T00:49:51.486-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='非關程式'/><category scheme='http://www.blogger.com/atom/ns#' term='程式設計師的求生術'/><title type='text'>程式設計師的求生術1.老闆才能放的大絕：「我不管，你給我做出來就對了」</title><content type='html'>是的，出錢的是老大是千古不變的真理。&lt;br /&gt;&lt;br /&gt;簡單分析一下，這種情況，肯定有大哥(出錢的老大)和小弟(在香港古惑仔電影裡一出場就被秒殺的賤骨頭)，&lt;br /&gt;&lt;br /&gt;大哥：「我不管，你給我用好就對了」&lt;br /&gt;&lt;br /&gt;通常大哥放大絕時，&lt;br /&gt;&lt;br /&gt;兩種情況，&lt;br /&gt;&lt;br /&gt;一、大哥沒有其他資源提供給小弟測試或支援小弟，所以直接放大絕看能不能逼出什麼，通常只是希望小弟去找出其他資源搞定這一切，當然大哥不可能支援你什麼。&lt;br /&gt;&lt;br /&gt;二、小弟的能力有問題(不過大哥通常早就知道，只是可能考慮小弟忠的比他養的小白還乖，免強用之)，大哥一時受不了，所以放了大絕，不過大哥通常只是情敘的發洩，沒其他的考量，過了就算了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;是的，這跟程式撰寫有什麼關係，&lt;br /&gt;&lt;br /&gt;麻煩，請將老大換成老闆，小弟換成你，是不是一樣啊?&lt;br /&gt;&lt;br /&gt;哈~&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;在這種情況之下，賤骨頭為了保住飯碗的第一步，&lt;br /&gt;&lt;br /&gt;google一下嗎?&lt;br /&gt;&lt;br /&gt;不，不，不，本篇不討論技術面的，&lt;br /&gt;&lt;br /&gt;我想討論一下，都市叢林裡的生存面。&lt;br /&gt;&lt;br /&gt;正所謂「忍一時，風平浪靜；退一步，海闊天空。」&lt;br /&gt;&lt;br /&gt;當你被罵時，如果只想著「別人家都有請顧問，我們家什麼都沒有」的這種心態，肯定也只會讓心情更幹，是的，&lt;br /&gt;&lt;br /&gt;那要怎麼辦呢?&lt;br /&gt;&lt;br /&gt;其實也是看你怎麼看待這一份「程式設計」工作，如果對你來說這只是一份工作，下了班之後的你，肯定是不會在去鑽摩程式的東西，問一問離開了工作崗位的你在做什麼吧?&lt;br /&gt;&lt;br /&gt;如果沒有在看程式的東西，那不建議你在看下去了。&lt;br /&gt;&lt;br /&gt;人生短短數十寒暑，&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;越是不懂利用自已的時間，越是被別人掌控你的時間&lt;/span&gt;，因為你真的不知道什麼時候該做什麼，所以需要個值星班長，整頓一下你。&lt;br /&gt;&lt;br /&gt;這樣子下去的亟至，就是上班時，一直不斷的看著手中的手錶，因為你的心跟本就不在這邊，對你來說，這只是一份可以領到錢的工作；&lt;br /&gt;&lt;br /&gt;但，&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;這對我來說，不是一份工作，這是我的戰場，我人生的睹注&lt;/span&gt;，我不可能幫人家打工一輩子，我只是暫時性的需要一份工份一份薪水來支援我的生活，持續我的研究工作，&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;等到機會來了，我會豪不猶豫的&lt;/span&gt;。&lt;br /&gt;&lt;br /&gt;一定要有這樣的認之啊~ 朋友~&lt;br /&gt;&lt;br /&gt;不然，活著很短暫，只是為了混時間，豈不可惜?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;遇到被老大放大絕的機會，不是也是讓程式更精進的機會。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;再言，如果寫程式對你來說很痛苦，要不要找點其他的事做?&lt;br /&gt;&lt;br /&gt;轉行什麼時候都不遲吧!&lt;br /&gt;&lt;br /&gt;你佔著毛坑那麼久，拉不出一坨好'屎'，&lt;br /&gt;&lt;br /&gt;不是只有你煩，大家都痛苦啊~ 唉~施主~及早回頭啊~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-2421743216190360950?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/2421743216190360950/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/1.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/2421743216190360950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/2421743216190360950'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/1.html' title='程式設計師的求生術1.老闆才能放的大絕：「我不管，你給我做出來就對了」'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-5391067909811179329</id><published>2010-04-26T00:14:00.000-07:00</published><updated>2010-07-07T20:26:46.186-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Embed'/><title type='text'>數字增加器;number increase embed (JQuery Plugin)</title><content type='html'>&lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&gt;&lt;/script&gt;&lt;script&gt;google.load("jquery", "1");function OnLoad(){$.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_CountBar.js',function(){$("#blog_hit_daily").WL_CountBar();})};google.setOnLoadCallback(OnLoad);&lt;/script&gt;&lt;br /&gt;今日流量：&lt;span id="blog_hit_daily"&gt;100&lt;/span&gt;&lt;br /&gt;2009自HIGH機本著不另BLOGGER們著眼於流量所製作之：&lt;br /&gt;現更名為「數字增加器」&lt;br /&gt;貼上下列的code於您的blog中&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I design this blog embed for bloggers who do focus on the visited counter ,they can use this to add their visited counter bar&lt;/div&gt;&lt;div&gt;just paste on your blog. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;google.load("jquery", "1");function OnLoad(){ $.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_CountBar.js',function() {$("#blog_hit_daily").WL_CountBar();//#blog_hit_daily =ID名稱請自行依需求更換,this name by your need  })}    google.setOnLoadCallback(OnLoad);&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wolkesau.pixnet.net/blog/post/29818525"&gt;2009年的最後一天之年末自high機&lt;/a&gt;&lt;div id="TixyyLink" style="border: medium none ; overflow: hidden; color: rgb(0, 0, 0); background-color: transparent; text-align: left; text-decoration: none;"&gt;&lt;br /&gt;更多内容  &lt;a href="http://wolkesau.pixnet.net/blog/post/29818525#ixzz0mBjMi6Za"&gt;http://wolkesau.pixnet.net/blog/post/29818525#ixzz0mBjMi6Za&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-5391067909811179329?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/5391067909811179329/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post_26.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5391067909811179329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5391067909811179329'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post_26.html' title='數字增加器;number increase embed (JQuery Plugin)'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-3407841248103905026</id><published>2010-04-25T23:23:00.000-07:00</published><updated>2010-07-07T20:26:51.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Embed'/><title type='text'>輸入文字強迫替換器;input words changer(JQuery Plugin)</title><content type='html'>&lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script&gt;google.load("jquery", "1");var repJson=[{'ori':'123','rep':'456','prefixes':'','suffixes':''},{'ori':'abc','rep':'abc','prefixes':'d','suffixes':'e'}];function OnLoad(){$.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_autoUpdateWord.js',function(){$('#content').WL_autoUpdateWords(repJson);})};google.setOnLoadCallback(OnLoad);&lt;/script&gt;&lt;br /&gt;老女上司產生器是我去年再看羞昂的書「宅女日記」時，一時有感而發的點子，經過一些修改，再重新推出，且正名為「輸入文字強迫替換器」&lt;br /&gt;以較為符合其功能為名。&lt;br /&gt;This embed is designed for someone who want to change the comment's words,for example you can type '123' in below textbox,itwould be the '456' and put 'abc' would be 'dabce'.&lt;br /&gt;&lt;textarea id="content" rows=10 cols=50  wrap="physical" &gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;輸入123會換成456，輸入abc會變成fabce，將下面code碼貼入Blog內&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;google.load("jquery", "1");var repJson=[{'ori':'123','rep':'456','prefixes':'','suffixes':''},{'ori':'abc','rep':'abc','prefixes':'d','suffixes':'e'}];//依照規則可以新增新的替換文字 follow the rule ,you can add new words&lt;br /&gt;function OnLoad(){$.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_autoUpdateWord.js',function(){&lt;br /&gt;$('#content').WL_autoUpdateWords(repJson);//#content請依照自已的id囉! #content by your needed&lt;br /&gt;})}&lt;br /&gt;google.setOnLoadCallback(OnLoad);&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Blogspot的留言模式用的是iframe所以我沒法將功能用於此blogspot的昌言板，但其他的blog平台，應該是沒啥問題。&lt;br /&gt;Blogspot use 'iframe' to be the comment,so can't change the value,but in the other blog service should be OK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-3407841248103905026?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/3407841248103905026/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post_25.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3407841248103905026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/3407841248103905026'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post_25.html' title='輸入文字強迫替換器;input words changer(JQuery Plugin)'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-4592275054571268958</id><published>2010-04-25T18:29:00.001-07:00</published><updated>2010-07-07T20:27:05.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blog Embed'/><title type='text'>如何將程式碼正確貼於Blog;How to put the codes directly on Blog</title><content type='html'>網路上有blog embed的工具&lt;br /&gt;&lt;a href="http://code.google.com/p/syntaxhighlighter/" style="text-decoration: none; color: rgb(0, 0, 0);"&gt;syntaxhighlighter&lt;/a&gt;&lt;br /&gt;基本上幾乎支援了全部的code，詳細列表參考上面連結&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.原本的作法是要大家download後再將js碼放置自已的host端，&lt;br /&gt;不過看到後面有神人找出更好方法，&lt;br /&gt;就是直接用google code的mirror網址就可以了，&lt;br /&gt;所以，煩將下列網址貼於你的blog HTML中&lt;br /&gt;我的blogspot要貼到最後面，&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;link href='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/SyntaxHighlighter.css' rel='stylesheet' type='text/css'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/shCore.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/shBrushCpp.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/shBrushCSharp.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/shBrushCss.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/shBrushJava.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/shBrushJScript.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/shBrushSql.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script src='http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/shBrushXml.js' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;script class='javascript'&amp;gt;&lt;br /&gt;//&amp;lt;![CDATA[&lt;br /&gt;function FindTagsByName(container, name, Tag)&lt;br /&gt;{&lt;br /&gt;var elements = document.getElementsByTagName(Tag);&lt;br /&gt;for (var i = 0; i &amp;lt; elements.length; i++)&lt;br /&gt;{&lt;br /&gt;if (elements[i].getAttribute("name") == name)&lt;br /&gt;{&lt;br /&gt;container.push(elements[i]);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;var elements = [];&lt;br /&gt;FindTagsByName(elements, "code", "pre");&lt;br /&gt;FindTagsByName(elements, "code", "textarea");&lt;br /&gt;for(var i=0; i &amp;lt; elements.length; i++) {&lt;br /&gt;if(elements[i].nodeName.toUpperCase() == "TEXTAREA") {&lt;br /&gt;var childNode = elements[i].childNodes[0];&lt;br /&gt;var newNode = document.createTextNode(childNode.nodeValue.replace(/&amp;lt;br\s*\/?&amp;gt;/gi,'\n'));&lt;br /&gt;elements[i].replaceChild(newNode, childNode);&lt;br /&gt;}&lt;br /&gt;else if(elements[i].nodeName.toUpperCase() == "PRE") {&lt;br /&gt;brs = elements[i].getElementsByTagName("br");&lt;br /&gt;for(var j = 0, brLength = brs.length; j &amp;lt; brLength; j++) {&lt;br /&gt;var newNode = document.createTextNode("\n");&lt;br /&gt;elements[i].replaceChild(newNode, brs[0]);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;//clipboard does not work well, no line breaks&lt;br /&gt;// dp.SyntaxHighlighter.ClipboardSwf =&lt;br /&gt;//"http://[YOUR HOST]/clipboard.swf";&lt;br /&gt;dp.SyntaxHighlighter.HighlightAll("code");&lt;br /&gt;//]]&amp;gt; &amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;第一個CSS網址，不知為何Blogspot吃不了，所以就直接將CSS碼貼在style裡，就可以吃了。&lt;br /&gt;&lt;pre name="code" class="css"&gt;.dp-highlighter&lt;br /&gt;{&lt;br /&gt;font-family: "Consolas", "Monaco", "Courier New", Courier, monospace;&lt;br /&gt;font-size: 12px;&lt;br /&gt;background-color: #E7E5DC;&lt;br /&gt;width: 99%;&lt;br /&gt;overflow: auto;&lt;br /&gt;margin: 18px 0 18px 0 !important;&lt;br /&gt;padding-top: 1px; /* adds a little border on top when controls are hidden */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* clear styles */&lt;br /&gt;.dp-highlighter ol,&lt;br /&gt;.dp-highlighter ol li,&lt;br /&gt;.dp-highlighter ol li span&lt;br /&gt;{&lt;br /&gt;margin: 0;&lt;br /&gt;padding: 0;&lt;br /&gt;border: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter a,&lt;br /&gt;.dp-highlighter a:hover&lt;br /&gt;{&lt;br /&gt;background: none;&lt;br /&gt;border: none;&lt;br /&gt;padding: 0;&lt;br /&gt;margin: 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter .bar&lt;br /&gt;{&lt;br /&gt;padding-left: 45px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter.collapsed .bar,&lt;br /&gt;.dp-highlighter.nogutter .bar&lt;br /&gt;{&lt;br /&gt;padding-left: 0px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter ol&lt;br /&gt;{&lt;br /&gt;list-style: decimal; /* for ie */&lt;br /&gt;background-color: #fff;&lt;br /&gt;margin: 0px 0px 1px 45px !important; /* 1px bottom margin seems to fix occasional Firefox scrolling */&lt;br /&gt;padding: 0px;&lt;br /&gt;color: #5C5C5C;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter.nogutter ol,&lt;br /&gt;.dp-highlighter.nogutter ol li&lt;br /&gt;{&lt;br /&gt;list-style: none !important;&lt;br /&gt;margin-left: 0px !important;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter ol li,&lt;br /&gt;.dp-highlighter .columns div&lt;br /&gt;{&lt;br /&gt;list-style: decimal-leading-zero; /* better look for others, override cascade from OL */&lt;br /&gt;list-style-position: outside !important;&lt;br /&gt;border-left: 3px solid #6CE26C;&lt;br /&gt;background-color: #F8F8F8;&lt;br /&gt;color: #5C5C5C;&lt;br /&gt;padding: 0 3px 0 10px !important;&lt;br /&gt;margin: 0 !important;&lt;br /&gt;line-height: 14px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter.nogutter ol li,&lt;br /&gt;.dp-highlighter.nogutter .columns div&lt;br /&gt;{&lt;br /&gt;border: 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter .columns&lt;br /&gt;{&lt;br /&gt;background-color: #F8F8F8;&lt;br /&gt;color: gray;&lt;br /&gt;overflow: hidden;&lt;br /&gt;width: 100%;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter .columns div&lt;br /&gt;{&lt;br /&gt;padding-bottom: 5px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter ol li.alt&lt;br /&gt;{&lt;br /&gt;background-color: #FFF;&lt;br /&gt;color: inherit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter ol li span&lt;br /&gt;{&lt;br /&gt;color: black;&lt;br /&gt;background-color: inherit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Adjust some properties when collapsed */&lt;br /&gt;&lt;br /&gt;.dp-highlighter.collapsed ol&lt;br /&gt;{&lt;br /&gt;margin: 0px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter.collapsed ol li&lt;br /&gt;{&lt;br /&gt;display: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Additional modifications when in print-view */&lt;br /&gt;&lt;br /&gt;.dp-highlighter.printing&lt;br /&gt;{&lt;br /&gt;border: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter.printing .tools&lt;br /&gt;{&lt;br /&gt;display: none !important;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter.printing li&lt;br /&gt;{&lt;br /&gt;display: list-item !important;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Styles for the tools */&lt;br /&gt;&lt;br /&gt;.dp-highlighter .tools&lt;br /&gt;{&lt;br /&gt;padding: 3px 8px 3px 10px;&lt;br /&gt;font: 9px Verdana, Geneva, Arial, Helvetica, sans-serif;&lt;br /&gt;color: silver;&lt;br /&gt;background-color: #f8f8f8;&lt;br /&gt;padding-bottom: 10px;&lt;br /&gt;border-left: 3px solid #6CE26C;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter.nogutter .tools&lt;br /&gt;{&lt;br /&gt;border-left: 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter.collapsed .tools&lt;br /&gt;{&lt;br /&gt;border-bottom: 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter .tools a&lt;br /&gt;{&lt;br /&gt;font-size: 9px;&lt;br /&gt;color: #a0a0a0;&lt;br /&gt;background-color: inherit;&lt;br /&gt;text-decoration: none;&lt;br /&gt;margin-right: 10px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.dp-highlighter .tools a:hover&lt;br /&gt;{&lt;br /&gt;color: red;&lt;br /&gt;background-color: inherit;&lt;br /&gt;text-decoration: underline;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* About dialog styles */&lt;br /&gt;&lt;br /&gt;.dp-about { background-color: #fff; color: #333; margin: 0px; padding: 0px; }&lt;br /&gt;.dp-about table { width: 100%; height: 100%; font-size: 11px; font-family: Tahoma, Verdana, Arial, sans-serif !important; }&lt;br /&gt;.dp-about td { padding: 10px; vertical-align: top; }&lt;br /&gt;.dp-about .copy { border-bottom: 1px solid #ACA899; height: 95%; }&lt;br /&gt;.dp-about .title { color: red; background-color: inherit; font-weight: bold; }&lt;br /&gt;.dp-about .para { margin: 0 0 4px 0; }&lt;br /&gt;.dp-about .footer { background-color: #ECEADB; color: #333; border-top: 1px solid #fff; text-align: right; }&lt;br /&gt;.dp-about .close { font-size: 11px; font-family: Tahoma, Verdana, Arial, sans-serif !important; background-color: #ECEADB; color: #333; width: 60px; height: 22px; }&lt;br /&gt;&lt;br /&gt;/* Language specific styles */&lt;br /&gt;&lt;br /&gt;.dp-highlighter .comment, .dp-highlighter .comments { color: #008200; background-color: inherit; }&lt;br /&gt;.dp-highlighter .string { color: blue; background-color: inherit; }&lt;br /&gt;.dp-highlighter .keyword { color: #069; font-weight: bold; background-color: inherit; }&lt;br /&gt;.dp-highlighter .preprocessor { color: gray; background-color: inherit; }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;參考網址：&lt;br /&gt;&lt;a href="http://yacoding.blogspot.com/2008/05/how-to-add-syntax-highlight-to-blogger.html"&gt;http://yacoding.blogspot.com/2008/05/how-to-add-syntax-highlight-to-blogger.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developertips.blogspot.com/2007/08/syntaxhighlighter-on-blogger.html"&gt;http://developertips.blogspot.com/2007/08/syntaxhighlighter-on-blogger.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-4592275054571268958?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/4592275054571268958/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/code.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/4592275054571268958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/4592275054571268958'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/code.html' title='如何將程式碼正確貼於Blog;How to put the codes directly on Blog'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-4538348560715147652</id><published>2010-04-23T01:56:00.000-07:00</published><updated>2010-07-07T20:27:10.941-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Embed'/><title type='text'>標籤淘氣啪啪走器;tags move naughty embed(JQuery Plugin)</title><content type='html'>&lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&gt;&lt;/script&gt;&lt;script&gt;google.load("jquery", "1");function OnLoad(){var strList={'felling':['ha','hi','h~','gi','gg','bb'],'word':['wait','give me a second']};$.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_DoNaughty.js',function(){$('#comments').WL_DoNaughty(strList);})};google.setOnLoadCallback(OnLoad);&lt;/script&gt;&lt;br /&gt;淘氣的送出紐是我去年(2009)於前blog上發佈，&lt;br /&gt;近日有時間，稍微做了一點更正，&lt;br /&gt;因為不只可以用於button標籤上，&lt;br /&gt;也可以用於其他標籤，&lt;br /&gt;所以更正名稱為「標籤淘氣啪啪走」。&lt;br /&gt;主要還是用JQuery所撰寫，&lt;br /&gt;有興趣的朋友可放在自已的Blog上，&lt;br /&gt;讓某個Tag一直跑還滿有趣的。&lt;br /&gt;&lt;br /&gt;tags move naughty embed designed for elements on the blog , you let it move naughty, I think it`s interesting.&lt;br /&gt;&lt;br /&gt;直接將下列code碼，置入您的Blog中就可以了&lt;br /&gt;just put the code into your blog&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;google.load("jquery", "1");function OnLoad(){&lt;br /&gt;&lt;br /&gt;var strList={'felling':['ha','hi','h~','gi','gg','bb'],'word':['wait','give me a second']};//參數strList的felling和word的值可以做更換;you can change the parameter 'strList' for example:  ，例如：strList={'felling':['嗨','yes','h~','gi','gg','bb'],'word':['等一下','give me a second']};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$.getScript('http://wolkejqueryplugin.appspot.com/jqWL/WL_DoNaughty.js',function(){&lt;br /&gt;$('#comments').WL_DoNaughty(strList);//#comments為id名稱，請自行更換您所指定的物件;#comments is the object's name by your needed&lt;br /&gt;&lt;br /&gt;})};google.setOnLoadCallback(OnLoad);&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-4538348560715147652?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/4538348560715147652/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/4538348560715147652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/4538348560715147652'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/blog-post.html' title='標籤淘氣啪啪走器;tags move naughty embed(JQuery Plugin)'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-5803089690209368853</id><published>2010-04-08T00:03:00.000-07:00</published><updated>2010-04-08T00:13:57.693-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><title type='text'>實作教學Facebook Application+JQuery + Google App Engine 初章.1</title><content type='html'>&lt;p&gt;想要研究一下這一塊，發現中文網頁，竟然沒什麼相關資料，&lt;/p&gt;&lt;p&gt;可能因為是阿共仔屏蔽了Facebook吧!!&lt;/p&gt;&lt;p&gt;那好，我就把我目前就研究到此的作法和心得寫一寫，&lt;/p&gt;&lt;p&gt;以免後進走太多冤妄路，&lt;/p&gt;&lt;p&gt;想要撰寫我標題所說的Facebook +JQuery+ GAE&lt;/p&gt;&lt;p&gt;你必需具備：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;HTML基礎&lt;/li&gt;&lt;li&gt;Python基礎 &lt;/li&gt;&lt;li&gt;Google帳號和已認證的可用的GAE帳號&lt;/li&gt;&lt;li&gt;GAE的架構&lt;/li&gt;&lt;li&gt;Facebook的架構&lt;/li&gt;&lt;li&gt;FBML,FBJS的撰寫&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;上述可參考上官林傑的 Google應用服務引擎開發實戰及這邊可參考 賽大的 Facebook與funP應用程式設計&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.books.com.tw/exep/lib/image.php?image=http://addons.books.com.tw/G/001/2/0010443092.jpg&amp;amp;width=200&amp;amp;height=280&amp;amp;quality=80" alt="Google應用服務引擎開發實戰" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010443092"&gt;http://www.books.com.tw/exep/prod/booksfile.php?item=0010443092&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.books.com.tw/exep/lib/image.php?image=http://addons.books.com.tw/G/001/1/0010445951.jpg&amp;amp;width=200&amp;amp;height=280&amp;amp;quality=80" alt="Facebook與funP應用程式設計" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010445951"&gt;http://www.books.com.tw/exep/prod/booksfile.php?item=0010445951&lt;/a&gt;&lt;/p&gt;&lt;p&gt;PS:這本用的是Facebook自行開發的PHP API，和我們要用的pyfacebook不同，&lt;/p&gt;&lt;p&gt;不過除了部份API不支援，其實大部份都是相通的，盡請安心服用。&lt;/p&gt;&lt;br /&gt;&lt;p&gt; Javascript基礎(初章暫不需)&lt;/p&gt;&lt;p&gt;Javascript書很多，本人推薦 JavaScript私房書 &lt;img src="http://www.books.com.tw/exep/lib/image.php?image=http://addons.books.com.tw/G/001/8/0010294368.jpg&amp;amp;width=200&amp;amp;height=280&amp;amp;quality=80" alt="JavaScript私房書 ＜光碟1片 ＞" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010294368"&gt;http://www.books.com.tw/exep/prod/booksfile.php?item=0010294368&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;JQuery基礎(初章暫不需)&lt;/p&gt;&lt;p&gt;我找不到覺得優的書，所以我都只直看網站的turtuial，不過歡迎大家推薦一下&lt;/p&gt;&lt;p&gt;IP分享器映射http port至你的電腦&lt;/p&gt;&lt;p&gt;各家分享器做法不同，請參考你的說明書&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;ok 重點來了..&lt;/p&gt;&lt;p&gt;本初章先將焦點放在如何在GAE上運行pyfacebook進而開發facebook的application&lt;/p&gt;&lt;p&gt;Pyfacebook基礎，網路神人團所撰寫的pyfacebook 用python撰寫的可以和facebook 溝通的Server端API可供GAE使用開發&lt;/p&gt;&lt;p&gt;pyfacebook:&lt;/p&gt;&lt;p&gt;&lt;a href="http://github.com/sciyoshi/pyfacebook/"&gt;http://github.com/sciyoshi/pyfacebook/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;1.首先將 pyfacebook下載解壓後，存至gae目錄下&lt;/p&gt;&lt;p&gt;2.在pyfacebook目錄裡建置app.yaml&lt;/p&gt;&lt;p&gt;內容如下:&lt;/p&gt;&lt;p&gt;application: whatever&lt;/p&gt;&lt;p&gt;version: 1&lt;/p&gt;&lt;p&gt;runtime: python&lt;/p&gt;&lt;p&gt;api_version: 1&lt;/p&gt;&lt;p&gt;handlers:&lt;/p&gt;&lt;p&gt;- url: .*&lt;/p&gt;&lt;p&gt;   script:main.py&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;主檔main.py&lt;/p&gt;&lt;p&gt;內容如下&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;# -*- coding: utf-8 -*-&lt;br /&gt;&lt;br /&gt;import cgi&lt;br /&gt;import sys, os&lt;br /&gt;import wsgiref.handlers&lt;br /&gt;&lt;br /&gt;from google.appengine.ext import webapp&lt;br /&gt;from google.appengine.ext.webapp import template&lt;br /&gt;import facebook&lt;br /&gt;from facebook import FacebookError&lt;br /&gt;&lt;br /&gt;FACEBOOK_API_KEY = '你的key' #如何申請請自行參閱，不詳述囉&lt;br /&gt;FACEBOOK_SECRET_KEY = '你的key'&lt;br /&gt;_DEBUG = True&lt;/p&gt;&lt;p&gt;&lt;br /&gt;class MainPage(webapp.RequestHandler):&lt;br /&gt;   def get(self):&lt;br /&gt;   #def post(self):&lt;br /&gt;       fb = facebook.Facebook(FACEBOOK_API_KEY, FACEBOOK_SECRET_KEY)&lt;br /&gt;       if fb.check_session(self.request) and fb.added:&lt;br /&gt;           pass&lt;br /&gt;       else:&lt;br /&gt;           url = fb.get_add_url()&lt;br /&gt;           self.response.out.write('&amp;lt;script language="javascript"&amp;gt;top.location.href="' + url + '"&amp;lt;/script&amp;gt;')&lt;br /&gt;           return&lt;/p&gt;&lt;p&gt;&lt;br /&gt;   #get friend list begin&lt;br /&gt;        friend_ids = fb.friends.get()&lt;br /&gt;        friend_ids.append(fb.uid)&lt;br /&gt;     &lt;br /&gt;        info = fb.users.getInfo(friend_ids, ['name', 'pic_square', 'uid'])&lt;br /&gt;        template_values={}&lt;br /&gt;        template_values={'info': info}&lt;br /&gt;   #get friend list end&lt;/p&gt;&lt;p&gt;        for i in info:&lt;/p&gt;&lt;p&gt;            self.response.out.write('&amp;lt;img src='+i['pic_square']+' /&amp;gt;'+i['name']+'&amp;lt;br /&amp;gt;')&lt;/p&gt;&lt;p&gt;def main():&lt;br /&gt;   application = webapp.WSGIApplication([('/',Mainpage)],debug=_DEBUG)&lt;br /&gt;   wsgiref.handlers.CGIHandler().run(application)&lt;br /&gt; &lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;   main()&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;執行一下你的dev_appserver.py --address=映射好的內納IP --port=80 demos/pyfacebook&lt;/p&gt;&lt;p&gt;(其實你也可以直接下appcfg.py上傳你的程式至GAE上，不過這樣初期開發會增加很時間成本)&lt;/p&gt;&lt;p&gt;設定你的facebook developer 你的應用程式&lt;/p&gt;&lt;p&gt;將Canvas URL:設定為你的外網IP(或是GAE的應用程式網址)&lt;/p&gt;&lt;p&gt;運行一下:&lt;/p&gt;&lt;p&gt;&lt;a href="http://apps.facebook.com/gae_cloud/"&gt;http://apps.facebook.com/你的facebook網址/&lt;/a&gt;&lt;br /&gt;(請輸入你的facebook app 網址)&lt;/p&gt;&lt;p&gt;將 將!!!&lt;/p&gt;&lt;p&gt;你就會看到你的朋友列表了&lt;/p&gt;&lt;p&gt; 預告：目前是使用iframe的方式，&lt;/p&gt;&lt;p&gt;第二節來說一下FBML好了&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-5803089690209368853?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/5803089690209368853/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/facebook-applicationjquery-google-app.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5803089690209368853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/5803089690209368853'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/04/facebook-applicationjquery-google-app.html' title='實作教學Facebook Application+JQuery + Google App Engine 初章.1'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7317433007237940535.post-1414479592702170291</id><published>2010-03-12T21:01:00.000-08:00</published><updated>2010-03-12T21:14:49.331-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><title type='text'>心願便利貼beta 1.0</title><content type='html'>願望...&lt;br /&gt;&lt;br /&gt;又將是新年的開始....&lt;br /&gt;&lt;br /&gt;你的心裡有什麼願望呢?&lt;br /&gt;&lt;br /&gt;來貼上您的心願，&lt;br /&gt;&lt;br /&gt;大家一起願望集氣吧!&lt;br /&gt;&lt;br /&gt;http://apps.facebook.com/fbwishtwentyten/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;後記：&lt;br /&gt;&lt;br /&gt;撰寫方式：&lt;br /&gt;&lt;br /&gt;GAE + pyfacebook + fbjqry&lt;br /&gt;&lt;br /&gt;GAE存data&lt;br /&gt;&lt;br /&gt;fbjqry做effect&lt;br /&gt;&lt;br /&gt;GAE SDK要更新到最新版，不然一直會有奇怪的error&lt;br /&gt;&lt;br /&gt;fbjqry本身只到0.2版&lt;br /&gt;&lt;br /&gt;撰寫時有發現一些bug&lt;br /&gt;&lt;br /&gt;fadeIn callback等不能執行...待大德debug&lt;br /&gt;&lt;br /&gt;架構，&lt;br /&gt;&lt;br /&gt;資料和css是分開的，&lt;br /&gt;&lt;br /&gt;理論上要改成什麼版都可以吧!&lt;br /&gt;&lt;br /&gt;過兩天將 心願便利貼，&lt;br /&gt;&lt;br /&gt;改個版型 心牆 版，&lt;br /&gt;&lt;br /&gt;等我吧~ 寶貝，&lt;br /&gt;&lt;br /&gt;這個程式，應該可以玩到農曆過年前吧!&lt;br /&gt;&lt;br /&gt;快過年時，再搞個龍山寺版好了~&lt;br /&gt;&lt;br /&gt;滿天神佛都請來加持一下，&lt;br /&gt;&lt;br /&gt;肯定心願會實現的!&lt;br /&gt;&lt;br /&gt;哈!!!!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2009.1227&lt;br /&gt;&lt;br /&gt;BUG:&lt;br /&gt;&lt;br /&gt;IE6-IE8無法執行&lt;br /&gt;&lt;br /&gt;FF fadeOut有時會失敗&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2009.1228&lt;br /&gt;&lt;br /&gt;debug:&lt;br /&gt;&lt;br /&gt;ie可運行&lt;br /&gt;&lt;br /&gt;BUG:&lt;br /&gt;&lt;br /&gt;1.有時得到JSON DATA後，&lt;--原因出自JSON data產生太慢，因為 getinfo這個api有時會等太久或失敗&lt;br /&gt;&lt;br /&gt;轉換為網路原件很久&lt;br /&gt;&lt;br /&gt;2.IE 更久..&lt;br /&gt;&lt;br /&gt;3.CLICK MSG.val('')&lt;br /&gt;&lt;br /&gt;4.CPU時間要想想如何減低...(要用memchche)&lt;br /&gt;&lt;br /&gt;5.click should link to personal page.&lt;br /&gt;&lt;br /&gt;6.js中文轉換亂碼&lt;br /&gt;&lt;br /&gt;7.缺NOTIFICATION&lt;br /&gt;&lt;br /&gt;8.自動轉址要用fb:redirect才正常&lt;br /&gt;&lt;br /&gt;DEBUG:&lt;br /&gt;&lt;br /&gt;3,5,6&lt;br /&gt;&lt;br /&gt;2009.1230&lt;br /&gt;&lt;br /&gt;想方設法於首頁改用FBML來減低gae的CPU TIME等待過久的問題&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7317433007237940535-1414479592702170291?l=wolke-codes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wolke-codes.blogspot.com/feeds/1414479592702170291/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://wolke-codes.blogspot.com/2010/03/beta-10.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1414479592702170291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7317433007237940535/posts/default/1414479592702170291'/><link rel='alternate' type='text/html' href='http://wolke-codes.blogspot.com/2010/03/beta-10.html' title='心願便利貼beta 1.0'/><author><name>Wolke</name><uri>http://www.blogger.com/profile/02425204241148879794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_zvmAmm9as0g/TKvniHmqozI/AAAAAAAACkg/xy-lPZV2jz4/S220/me.jpg'/></author><thr:total>0</thr:total></entry></feed>
