2011/11/08

書信大掃除


今天把收到的卡片和信都給整理了一遍,
因為收得信實在是非常的多,
用「多」這個形容嗎?
不如說是非常的「亂」吧!
因為太久沒整理了,
趁著大修房子的時候一起整理一下,
該收藏的就入櫃,
不該保存的隨著我的青年小鳥飛走吧!

過程實在是非常的耗時,
因為有的人自以為我會很熟他們的字跡,
就是說…寫完信不署名的…你哪位呀!
只好從「年份」來判斷,
或是從地址…例如淡水和金門時期收到的無名氏優先被處理掉了。

因為有大部分攸關私人隱私,
我先跳過一大段,
直接向我的朋友們致意,
感謝你們曾經寫過信給我,
這比簡訊還珍貴呀!

以數量排名,寫信最多信給我的人


…我不能說出來,
因為後來我們的不聯絡了。
信的特色是…都以第3人稱書寫,
算是寫信兼練小說。


寫了名字,我還想不起來的人


我的錯…

告白的信


這,我就記得你是誰了…

有幾個人頭幾封給我的信是…「你很可怕」


你們瞎了嗎…

我曾經一直「暗示」要寫給片給我

像是…大頭哥


狗嘴吐不出布丁的人


雖然他現在躲在軍中,但還是讓我想起了高中打學弟,但是學弟一直說有一個外校的人…穿便服…那不就是我嗎?



已經改名字的朋友


改完名字最慘的是…大家都叫他舊名字。


注意這左下角「待續」2個字,我左翻右翻,翻不到第3頁…還是說…有另外一封呀!

「防守贏得比賽」的精神


其實我的外號不是「清中第一快手」,小時候不知道「快」對一個男人來說不是件好事,我的外號是「王牌殺手」,過了一陣子之後…大家都叫我「王牌」,那我不就是應該要殺了自己嗎?

青梅竹馬的卡片


還好我高中和大學的時候還沒有facebook,不然你這個「青霉豬嗎?」的title,就斷送了我大半的豔遇…

已經消失的朋友


阿亮,最好是「筆」,還好你沒有寫「絕筆」。


國中到高中的同學

我可能不會愛你的人

但我知道我為什麼認識你…
(以下都有數張圖片有經過馬賽克處理,不知道為什麼好像還看得出來!!!)


紀小龜的晃子


廖x美唱舊愛還是最美


狂把阿魯巴學長的人,還有要方向感才可能看這封卡片


這位,我就有點想不起來了…哈

還有1位,Kirsty Tung,巷子內的人都會想起我親愛的朋友李老師…先這樣。

真心請按2次鈴的人


高中畢業過了1年的聖誕節,
才發現我有一個妹妹流落在外面,
不知道怎麼處理…後來好像就沒有處理了…
我那時候應該想忙吧!
帶信來的人要提醒我…「一定要看呀!」
讓我感覺好像今天才看到的樣子

接下來是我的同學

人爸阿倫&人渣GOD,這2位小高潮,下面有1位大滿潮。




連董專區


他很會扯東扯西,扯到萬寶龍和白大衛…還有扯到了其他人…


還有…我手上有很多他不能公開的心事,


最妙的是…他的…「外在美之選」,你敢寫…我還不敢公開呀!

結束了,明天把這1小箱拿去雜紙就可以了,我要找我同事讀幼稚園的小孩來幫我一下,他總看不懂了吧!

2011/08/24

江湖救急,excel 小寫變大寫

請先輸入「=upper(位置)」,取得該欄小寫變大寫的值。

在儲存格右下方,把格式copy到整排,一般人都會。

接下來copy程式那一行->c


這樣就可以取得文字了。



2011/06/21

google code pretty test

//php 
echo "hello";


//javascript
alert( "hello");


//java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello! World!");
    }
}

//css
body{margin:0;padding:0;}

//mysql
SELECT * FROM my_table WHERE id<30;
//html
<h1>  hello </h1>

今天試了google-code-prettify ,
以常用的是 syntaxhighlighter
感覺其實差不了多少,
方便就好。

試到 html 時,
因為遇到了'<' 、 '>'就出問題了,
試了好幾次,
找了官網的說明…太簡短又都英文,
想說程式是可以跳出之中那就太厲害了…
後來發現我在耍笨,
在html中應該是避不了'<'、 '>'的吧!
還是得要用來代替'&lt;'、' &gt;' 。
哈!怎麼會犯這麼基本的錯誤。

2011/04/29

在GSN上大陸網站,區域內固定IP不衝突設定

話說我們長期使用學術網路…
直到有一天被中華電信的臥底回報…被發現了,
於是轉用政府網路…比較貴…還比一般貴…還只電用中華電信。

於是,
用了一陣子之後發現,
以前學術網路會擋色情網站和病毒網站,
現在政府網路都不擋…它只擋大陸網站,
不能上大陸網站比不能上色情網站還要困擾…。

還好可以設定 proxy之後就可以上大陸了,
因為生活在大中華圈…實在需要注意一下大陸的發展,
這裡有教學

不過設完之後區域網路的印表機就不能用了,
也許是大單位的資訊人員比較強,
就會在對外網路主機設定PROXY,
這個區域網路就沒有問題了…是不是可以這樣子呀!
但我們的資訊人員原則上不理我,
他知道不能上大陸網站之後只是說…「喔!這樣呀!」
後來我自己找方法讓我可以設定 proxy之後,
再排除近端的印表機ip。

至於網路芳鄰…很少有檔案需要傳來傳去的,
就還沒有想到那個部份。

資訊人員,
我真的很想扁他,
自從從學術網路改政府網路之後,
給民眾用的無線網路就掛了,
又不好意思說是我自己的用的。

2011/04/21

objection objection objection

今天電視新聞有報導「反國光石化的大遊行」,
我實在很佩服挺身而出的大學生們,
因為以前我是一個孤鳥,
我不想參加社團,
也鮮少與外界接觸,
對於這個真實社會的情況全然的陌生,
社會好亂…我又有什麼影響力呢?
對於公共議題更是很少討論。

在我常經過的中港路上有3所大學,
每次只要有卡車撞死學生,
就會有大學生串聯的活動,
我覺得很棒…讓大家能夠參與公共議題,
可惜的是,
每當我經過這幾所學校附近,
就看到學生停車、騎車的方式,
讓我不禁想要懷疑,
在一昧的提出意見時,
有沒有想過自己應該付出什麼。
每件車禍都有它的責任歸屬,
就讓公權力去厘清即可,
若是要把多件案例去串成一個公共議題時,
就不得不撇開感情,
理性的想想對方為什麼這樣作、而我又為什麼要這樣做。
同樣的連署活動如果可以是以道路安全為出發,
一方面要求大型車遵守道路法規、同樣機車及路人也要遵重別人的路權,
如果真的有發現超載導致意外者…再請警方加強取諦,
平時能以道路安全為訴求…這活動就能長久,
但是又有誰要活動長久,
套一句學生領袖說的話:每次都是撞死人之後,警察和校方才會重視。
我的OS:誰也不想撞死人,學生不也是每次撞死人之後才發現這件事嗎?平日耍帥騎車者一堆,也有視極速到達目的地紀錄為功績的…。
講到這裡,
我覺得我有學到大前研一愛碎念的習慣,More about 低IQ時代
他還是適合去經營事業就好,
不然就直接投入政治,
只在旁見放箭、給意見…其實沒有幫助。
在他眼中見到很多大眾耍笨的事情,
或許是因為每個人觀注的領域不一樣,
他所看到的怪現象…只是大眾沒有餘力去關心,
並不代表大家都是低智商的。

我們的社會充滿了權威,
而且我們也甘受權威的影響,
當我們位在高位時就發揮影響力…盡情的發表權威主義的言論,
而還沒有上位的人就學習、推廣及捍衛這個未經消化的言論。
直到幾個不同的論點發生衝突時,
又選擇有利於自己的論調,
繼續在裡面瞎攪和。
很多言論上的衝突,
其實面紅耳赤的雙方都只是片面的瞭解。

我把這種現象歸功於中國人傳統的性格,
就是生存在道統與政統的2股力量中。
道統和政統就是一體的兩面,
道統讓我們追求高德道、高標準、淡泊名利、在家看a片但反對台灣有a片產業、尊重上司嫖妓但反對性工作合法…等的想法,
政統讓我們尊重學術、官方規定、上級指示、老師說的話…。

進入民主社會+道統+政統…
整個國民性格就混亂了。
我們要政府提高就業…政統+民主,政府是局上位者,請解決我們的困擾。
我們又不準政府設太高污染的產業…道統+環保,哪個產業不污染,大家只會看到重工業,科技業也一樣嚴重。

所以說,
隨之起舞者很多,
表示意見也是一種存在,
在滿足存在感的需求時,
我會盡可能要求自己理性看待每一件事,
而不光為了表示意見選擇贊成或反對,
也許還有好的意見是未被重視的,
不管是贊成或反對的意見領袖也需要我們的意見。

我們單純用感情去支持某一個議題,
以大家聰明的頭腦去想就知道…這好像有問題,
不過還是硬著頭支持了,
現在臉書按讚不用負責任,
反而更是一窩蜂討論些什麼事,
好像有討論到…不過廉價支持的背後是鬆散的結合。

再來看看幾個我覺得特別的例子,
不過我一定會被歸類為偏執狂,
因為就是硬是和別人不一樣,
有時連我都懷疑我只是單純為了表達意見而持不同看法,
不過久而久之這就是我的意見了。

例如股市狂洩時,
記者就會訪問號子裡的阿伯、大嬸,
常常為了醜化外資的行為。
意思就是我們只希望他們來投資台灣、但是不准拔腿就跑,
他跑了就叫政府出來護盤,
說什麼要照顧股民之類的,
其實外資要跑就給他跑,
這個市場本來就有人賣你才有的買,
外資跑得愈遠愈有便宜可以撿,
人家高高興興把資金匯來台灣,
當他要走的時候當然是用最後的微笑祝他幸福。
但通常我們反而不敢買了。
已經買的人覺得買貴了…就要認了,
股市本來就是賭一個價差。
政府會護盤不單是為了救我們,
也是想賺一筆呀!
從長期投資的角度看,
我們可以跟著政府一起護,
差不多就是買點了。
當然每個人都想把自己看成股神,
要用自己的方法去做股票,
如果績效不好…那就跟著政府護盤。
外資對我們無情的時候…想想他們對我們有情的時候。
記者的無聊長官們…這個世界上還有比股票更重要的事情。

關於調漲大學學費,我也相當贊成,舉雙手雙腳雙肺片贊成。
經營公司的人都知道,
要賺錢之前要先投資,
同樣的道理看到百年樹人的經營教育上,
學校也要投資才能有更好的教育品質,
為國家、社會、民族及全人類培育更好的人才,
不能漲學費…錢從哪裡來,
沒有錢來…那大家說清楚講明白就是學校就辦得維持現況,
要成為頂尖的人才…請到特定幾所大學,
其他學校就是普通水準,
因為繳了這麼多學費,
就是這種水準。
當然我們國家的政策是不斷的補助教育,
我覺得只要補助到國教就可以了。
上大學就是為了能夠受更好的教育,
將來有能力研究更專業的領域、也許能有更高的收入,
首先且必然受惠的就是學生了。
至於國家社會…未必真的受惠,
能夠為國家付出者…也和教育程度無關。
在使用者付費的觀念下,
請在學的學生自己拿錢出來繳學費,
一時拿不出這麼多費用的…自然有就學貸款,
真的拿不錢且優秀的…廣設獎學金,
平庸還有錢的…那就去讀吧…提升自己,
拿不出錢且平庸的…講真的…你不適合讀大學,
因為補助你學費的政府預算中有一群更沒學歷、只有高中畢業的人也在繳稅。
理論學歷愈高的人納的稅愈高,
但納稅的標準是收入、並非學歷。
我這是什麼荒唐的論點,
但真的是這樣子呀!
90%的人上大學、研究所都是為了將來賺更多的錢,
即然知道將來會賺更多的錢,
那請先投資自己,
這個投資還是有機制的,
若是覺得上了大學比高中生的薪水只多了一點,
這麼虧本的事就不要做了,
拿別人的錢來投資自己沒什麼意思,
不要排擠到其他預算,
說好有很多小學生沒有便當吃…這比你將來賺更多的錢還要重要,
至於國家競爭力…我整個人會火大,下回分曉。
當然以上與政策完全相反。

再講一個我們的農業政策,
歷史上總有一些教訓重覆上演,
其中穀賤傷農算是經典中的經典。
隔個幾年就有橘子、香蕉滯銷,
我們只好靠農委會收購、發動小學生在午餐後再加個水果、有愛心(或是撿便宜)的企業買給員工、創意料理…,
最差就是倒在水溝…此時一堆爛橘子在河裡漂呀漂的,
環保局、河川管理局也拿農民沒輒。
中國社會畢竟是重農的,
農民往河裡丟幾噸水果又有何妨。
這時農委會還是只能收購、收購,
價錢太低了被農民痛罵之後,
還是只能收購、補助。
農委會不是沒有輔導農民分類種植,
農民也不是不知道一窩蜂的種植同樣的作物會有什麼結果,
不過就是賭一把,
賭贏了就可以有更好的收入,
先不要管賭輸了的事,
於是這是一個偶發的事件,
當作有條件碰巧都出現了就會發生穀賤傷農的事件。
說穿了補助是農委會的重要業務,
花錢這件事…還需要天份嗎?
再來看看收購之後的東西去哪了,
一部份是賣到市面上,
比經銷商通路還要便宜…那是與民爭利,
比經銷商賣的還要貴…那是行政無效率,
不賣放在倉庫…算是平衡物價。
以上當然是相當醜化農委會,
想想農民是不是也相對要付出一此責任,
不過我也是一個重農主義的人,
想到農田裡沉甸甸稻穗就整個沒氣了。
農業補助花了那麼多錢,
只要早些年買下世界前幾大的穀物公司,
台灣就賺翻了…,
一方面平衡台灣穀物價格,
一方面在市場上賺一手,
不過現在來不及了、回不去了。

以上關於大學和農民的例子,More about 聰明學經濟的12堂課
書中有講到利益團體的部份

其實這其中有一個關鍵要素,
就是受益的人只是全體國民的一部份,
更準確的說法就是利益團體,
只是這個利益團體給了我們更美好的未來,
想想…教育…好偉大,
想想…農業…不能忘本…,
所以我們順利成章的投利益團體一票,
把我們的資源重新分配了。
政府的工作就是把資源重分配,
只是當我們享受到資源的同時,
記得有別的人沒有享受到,
這是排擠了他們的預算項目換來的福利。

回頭想想了抗爭這麼久的重油工業問題,
白海肫出現讓整個事件更有新聞性了,
不過在白海肫出現之前的這幾年,
工業和環保之間就已經角力這麼久的一段時間,
難道這不是兩難的決擇嗎?
這世界上沒有什麼是絕對邪惡且難容於社會的,
重油廠一定提供了相當的商業利益和發展,
才會有一群人悍衛它,
請不要把悍衛它的人都當成是被收買了,
我們要尊重他們的生存權、工作權及言論權。
前面說過,
中國社會是道統的,
只要一句環保可以讓大家不顧一切的全力支持,
但是非當地的居民實在是沒有說話的餘地,
台灣是大家共有的,
只不過有的人一年經過幾次,
有一的人整年都住在那裡,
當然是由居民自決。
媒體也是道統的,
把新聞事件做出公益性,
於是整個事件被形容成大財團和環保之類的決擇,
那就不叫大決擇了…我投環保一票…這麼簡單…結案,
大決擇就要像料理東西軍一樣難才能稱大決擇,

毫無意義的插圖


當地居民也有贊成國光石化設廠的…何解?
又有幾個人訪問過他們,
一面倒的要反國光石化的作法,
就先不訪問那些支持的人了,
而且支持的人是比較少的…也比較難找。

以上,
我對於國光石化並沒有任何的想法,
因為我也沒看過相關的資料,
只是單純從電視上看過相關的報導,
資訊實在太少,
也許網路上有很多…但我就是沒看,
我也不是那裡的居民,
都大聲疾呼給當地人自決了,
就也不想再去深入瞭解。
跟我一樣一知半解的人何其之多,
多少有不小心就選邊站的人,
當然選邊站也是我們的言論自由。

串聯全省大學生這事很妙,
因為大學生就是介於「不知道」與「知道很多」之間的人,
有很多意見領袖在大學就積極參與社會活動,
所以我總覺得大學是一個人初探社會的時期,
大學了…大家都開始尊重我們的意見,
我們也覺得自己準備好要正式進入這個社會了,
但真的是每個人在這一個時期都有能力獨立思考嗎?
一個事件在校園裡串聯,
發起者也許是吸引了100個「知道很多」的人的支持,
來進入下一個階段的推動應該沒有問題。
但也可能是吸引了100個「不知道」的人的支持,
冒然進入下一個階段就會掛點了…。
如果用高標準的環保、農業政策、教育政策、藝術文化、國家尊嚴…之類的議題來號召,
基本上不會有太大的問題,
因為加入主因不是支持或反對,
而是有空或沒時間。
全省大串聯更是吊詭,
號召的人知道多少資訊,
整個行動團體又知道多少資訊,
傳達到每一個加入者時又剩下多少資訊,
通常意氣相挺的人也不少,
反正就是花時間…又不用負責。
但我個人認為作每個決定時,
我都要為我的決定負責,
包含支持的議題,
如果支持錯了…我要用我當初支持的10倍力量把議題拉下來。
以上這樣說,
好像對大學生們不敬,
不是要針對他們的熱心,
也許是我太冷漠了。

我們現在的投票、連署方式都是選票制,
就是1人1票、1票1權,
很少能夠顧慮到權重問題,
例如文章評價有0-5顆星制的,
我們就可以馬上知道文章的星等,
但是現實投票是0/1、fale/ture制的,
我們只能知道支持總數…不管他是全心全力支持、還是隨便支持…都算數的。
關於投票表決,
在歷史上出現過很多的形式,
不要小看投票的方式及日期的選擇,
(像是總統立委合併選擇…大家不就意見很多嗎)
在一個精明的人眼中這都是可以經由操作影響結果的,
另外介紹一本書「決策的技術」,More about 決策的技術
其中有2個章節在介紹票選…值得一看,
看完就忘。


面對環保問題,
我們對抗好像是政府和財團,
這樣+2分,
環保本身就+5分了,
這樣10分裡面就有7分了,
支持度實在是很高。
不過造成民眾反抗政府的,
其實是政府本身施政品質低落所致,
不是每一個事件都沒品質,
但是只要有一個人、一個單一事件出現,
也許對整體施政是1萬件之中的1件,
但是對於當事人而言…那就是全部了,
對於這件事…政府要再精進,
不過政府效能這事沒有想像中的簡單…。

原諒我草率的結束這一篇冗的文章,
通篇讀了一次,
後大半篇整個不順,
硬是不想再改,
和我想像中美好且激勵人心的結果不一樣,
我果然不適合當作家。

2011/04/19

戒慎恐懼看電視的心情學習ajax

AJAX…好大的招牌

其實我第一次認識 ajax 這個字,是因為國、高中時瘋狂看體育台,所以認識了這一支足球隊…阿賈克斯,不過他戰績不好…沒有像特南克斯擁有戰鬥力。

在玩程式時遇到 AJAX(Asynchronous JavaScript and XML),其實一直沒有深入研究,因為看了幾篇教學之後,就發現他是有一個小小的問題…「安全性」,剛好「安全性」是我的怕研究的部份,所以就不管AJAX了。過了幾年的發展,AJAX其實有很大的進步,首先…一些如mojo、jquery之類的js程式庫支援,讓終端使用者可以利用簡單的方式操作DOM,也可以直接使用AJAX,除此之外在XML、JSON上也不用再自己想辦法…簡直就是把我的惰性發揮到極致,讓我再也不想去深入瞭解它運作的原理了。
另一方面,IE改邪歸正也有關係,因為以前一遇到js的程式,我就認輸了,寧願用php去想辦法繞出結果,也不願意為了IE6、7、8測試修改。
重新開始玩AJAX之後發現,我以前還蠻不長進的,因為所謂的「安全性」,其實是和AJAX搭配使用的程式如PHP該注意的,AJAX還是負責傳遞資料為主。

網路上應該很多資料了,我來寫篇教學…恐怕力有未逮,即然如此,那我就此收手了,單純是此時此刻覺得ajax…很不錯。

javascript…曾經被我看不起的程式,翻身了。

2011/03/22

dyson


昨日傍晚時分,黏大問起 dyson 吸塵器,感覺他是一個問了就會買的人,但是我手邊實在沒有任何資料,補他一篇小文供參,因為我要買的那時候,也是花了很多精神研究…畢竟…有點小貴呀!

台灣代理的dyson吸塵器只有部份型號,這樣也好…單是在美國有的機種就太多了,反而會太花精神,先不討論手持式的,那就只剩下圓筒式及直立式。

台灣有的是 dc24 (直立式)及dc22、dc26、dc12、dc12plus(以上4台為圓筒式),簡而言之…直立式就是整台推著走、圓筒式就是整台拉著走,推拉之間各有不同,看個人使用習慣吧!每個型號之下,還有不同的設定,如所有地板皆適用版、吸力加強版、標準版、吸頭電動掃地版…之類的。

我建議大家可以只考慮dc22 or dc26,時間就是金錢,就不要去想微乎其微的地方了。Dc22算是dc26的原型,把dc22縮小成面積只佔一張a4大小的機身…這就是dc26,廣告號稱體積縮小、吸力不變,不過官方數據顯示吸力約是75~80%,換言之天下沒有白吃的午餐,縮小體積要牲犧部份的吸力,不過還留有7成算是合理的。Dc26設定給都市中的小公寓,或是自己一個人住的小房間,因為方便收納;dc22給我們鄉下人用,房間太多、堆了太多廢物的家裡。

不過我買的是dc25直立式,台灣沒有這一台,最接近的是dc24,相當好用…且方便。

我買的時候還有另一個考慮,那就是HEPA過濾,就是內建醫療級濾網,數據是可過濾到0.1微米的過敏原,官方的另一個比譬是…過濾到香煙氣味的分子。不過HEPA不是每一台都有,要再看一下。並且,這是我個人喜歡的功能,但這不是空氣濾淨器,只是拿來盡可能吸掉一些不好的物質,可以拿來吸床、被、沙發…就只能這樣用。

如果從dyson us官網看,並不是每台都有HEPA,不過台灣代理商也很乾脆,現在可以買到由台灣代理商通路的每一台,除了手持式之外都有HEPA功能。

Dc25的其他特點,如吸力永不減弱、沒有消耗品、不會排出廢氣、全地板適用…等,基本上大部份的dyson都有。

看完以上小文章,再來個快速提醒。
1.先決定要不要買。如果是,請看2。
2.決定要買直立式(看3)或是圓筒式(看4)。
3.只能買dc24了,結案。
4.家裡的坪數,大的(看5)或是小的(看6)。
5.大的請買dc22,結案。
6.小的請買dc26,結案。

最後,如果你真的買了,請一定要看說明書,因為這種高級的玩具設計的處處用心,使用最佳方法可以得到最佳效果。還有HEPA濾網每3個月需要用水洗一次,算是保養,沒洗會怎麼樣,等過了幾年我再告訴你。

如果還是買不下去,相信你有克勤克儉的美德,讓我們再從另一個管道下手。找一台來比價…我找的是dc24 allfloor,美國官網售價$399.99,以1:30換算,約是台幣$12,000,台灣官方售價$21,500…能殺價的空間有限,這一來一往之間,台灣人不是被坑殺了嗎?不過亞馬遜或是bestbuy都可以買到$279.99美左右的,換算台幣是$9,000,再加上運費…,不過不含保固,是另一個方式。

2011/01/07

開發 facebook apps 筆記

最近開始玩 facebook 應用程式的開發,
也就是在 apps.facebook.com 上所有的網站都算是。

之前想要玩 android ,
不過 android 的版本實在是變得太快了,
連買手機的人都可以感覺得到,
想要著手開發程式更是覺得困擾,
想說等它穩定一點再來玩玩,
就先跳到 facebook了。

沒想到 facebook apps 變動的更快,
而且連官方說明也是非常的簡略,
並且官方曾經公佈的 api 也很容易就又全盤的推翻,
實在是很意外,
曾經挾著數億會員而公佈標準的公司,
這種官方文件說明有點讓我傻眼了。

首先,
經過了幾個波折,
目前繁體中文的書籍,
我找得到的只有2本。

More about Facebook程式開發經典 More about Facebook與funP應用程式設計

其他如果真的很有閒又有錢的話,
也是可以買一本介紹使用者介面的書來翻一下,
雖然只要認真的玩個幾天,
就知道 facebook ui 了,
但是這一類的書還不少,
所以請大家努力消費,
刺激台灣的內需市場。

如果想要買關於 facebook 行銷的話,
我覺得就不用了,
因為這不是看個一、兩本書就可以理解的,
重要的是對於網路的熟悉度。

我是用 php 當作畫布頁的,
當然還有 使用了 javascript SDK,
其他的申請應用程式流程,
就上網搜一下就有了。

iframe & fbml


不過先來講一下應用程式的兩種方式,
一種是  fbml ,
一種是 iframe。

fbml 就是在你的網頁中使用類似於 html 的 fbml 標籤,
然後在應用程式在 facebook 的伺服器就會去取得標籤,
重新把 fbml 改寫成 html 的方式呈現。

而 iframe,
真的很好理解,
就和 html 中的 iframe 是一樣的東西。

上述的2本書都有提到 iframe 和 fbml 之間的不同,
不過都是讓人有聽沒有懂。
而且2者都寫了 iframe比 fbml 容易學,
其實我覺得 fbml 比較容易學,
原因就是只要照著 fbml 操作,
呈現出來的東西是固定的,
即然固定…不就是比較容易嗎?

不過之所以有「iframe比fbml容易」的說法,
應程是指 iframe 不需要再另外使用 fbml,
直接使用 html 就可以了。

所以我一直被上面的說法誤導了,
等我都試過2種之後,
有以下的幾點心得。
  1. fbml 是由 facebook 伺服器再幫忙編譯過的,所以風格和 facebook 網站非常相近,幾乎就是一模一樣;由此,如果是想要擁有自己風格的網站,就直接使用 iframe,因為選用了 fbml 開放,還需要再由 css 去調整,等於是加了一道手續。
  2. iframe 在寬度在官方文件中的公告是 760px,不過萬一超出來,各家瀏覽器預設的 scroll 寬度至少需要再加 15px ,算於是作業的範圍只剩下 745px。我試過了 ie、firefox、chrome,最寬可以使用到730px沒問題,不過為了美觀,我都以720px 去設計。其他如opera、safari這2應該相去不遠。
  3. fbml和 iframe 都需要由 api 去取得使用者資料,這一個判斷式通常是
    if(is使用者){
       進入程序;
    }
    else{
       顯示登入網頁;
    }
    
    在官方 developer 的程式設定中,
    就有範例可供參考。
    不過隨著 php 環境的不同,
    還是有一些需要調整的地方,
    最重要的是…
    1. curl
    2. json
    3. session
    4. 以上應該是 PHP 伺服器必備的, 不過我試過幾家免費php虛擬空間服務, 都可以讓我們無法開放 facebook, 不知是故意或是巧合。 如果無法使用, 試試把 php 的 session_start(); 用上。
  4. 在 fbml 中,
    只要一經過認證,
    無論是轉到應用程式的哪一頁,
    都可以記錄使用者的session。
  5. 在 iframe 中利用官方範例的 rest class ,
    也可以記憶使用者,
    不過有少數 session 會因環境的關係無法由 api 記憶,
    這時候自己寫一個會比去了解 facebook class 還要快。
  6. 在 iframe 時這可以利用一個 xhtml技術,
    就是做用 javascript 把部份的 fbml 標轉譯在 iframe 之中,
    不過可以轉譯的標籤並不是全部的 fbml。
  7. 基於官方網站將在今(2011)年第一季停止新應用程式設定為 fbml 版,
    所以我會直接選用 iframe 作為所有應用程式的方式。

多重方法的困擾

有很多方式可以開放 faceboook 應用程式,
像是我們常玩的 flash 遊戲即是,
基本上 facebook 只是提供基本資料給應用程式,
其他工作都是由應用程式自己去作業的,
像是 flash 遊戲的話,
最重要的是使用者認證之外,
還有就是朋友清單、發佈權限,
除此之外…都和 fb 沒有關係了。
所以幾乎世界上和 web 有關係的程式都可以開放 fb應用程式,
像是官網有列到的 php、python、javascript、ios、android,
還有官網沒列到的…太多不想寫。

決定要用什麼語言來寫並不困難,
畢竟常人了不起學了1、2種語言,
說好是常人的嘛!
不過世界上還是有很多精通10幾種語言的怪才,
(畢竟邏輯是一樣的)
怪才的困擾讓怪才去承擔就好,
我只會一種不太在行的 PHP,
所以完全沒問題。

問題是在現在正是  facebook  應用程式換季大拍賣之時,
就是舊的還可以用,
新的也可以用,
不過我個人認為…要嘛都用舊的,
要嘛都用新的,
不然組合起來,
原始碼實在是亂到一個極限。

新的 api 支援文件實在精略,
舊的一樣精略,
不過網路資源集中在舊的 API,
但是舊不如新,
所以我一開始就盡量採用新的 API。
新的 API 如 graph api、javascript SDK、 dialogs,
舊的有 Old REST API、Old JavaScript Client Library…等,
半舊不新的如 FBML->不建議使用的,
所以說呀!
很多方法可以用,
上網 google 時…就很難指定新舊之分了。
不是我不會用搜尋…是關鍵字都很接近。
  1. 官方的範例程式,
    裡面拉拉雜雜的用了很多技術,
    例如說明文件所指出的 Old REST API、Old JavaScript Client Library(最新的稱為 javascript SDK),
    在我開始準備時,
    官方文件已經指出不建議使用 REST 和 JavaScript Client Library,
    所以我直接就不考慮了。
  2. 現在使用的 graph 和 rest 相比,
    rest 多了很多功能,
    像是在 facebook 使用者的個人牆上自定一個區塊,
    或是可以多增加選單之類的,
    現在多不支援了,
    所以我直接使用 graph api。
  3. 另外 fql 是應用程式可以先向系統要求一些資料,
    如使用者的朋友表列之類的,
    但只限一次。
    取得使用者的授權之後,
    使用 graph 也可以無限次數向系統要求回報使用者個資,
    所以也比 fql 好用。
  4. 取的使用者的大頭照十分重要,
    因為「大頭照」與其代表的「人」是 facebook 組成的重要單位,
    所以我會一直讓應用程式盡可能使用「大頭照」來替代使用者自己和他的朋友,
    fbml和 graph都有很快的方法。
  5. 身為一個應用程式,
    瘋狂的讓使用者 PO 文到他自己及朋友的頁面留言十萬分重要,
    畢竟這是宣傳應用程式唯2的方式。
    另一個方式是花錢買廣告。
    不過所有的po文都應用由使用者同意後執行,
    不然狂轟猛炸的誰受得了,
    馬上會被 fb 停權。

學習的流程

我來講一下我個人認為需要學習的東西:

  1. 使用官方範例,看一下裡面到裡是發生什麼事了。
  2. 一定要用 iframe,這樣引用 js 的時候會比較自由。
  3. 使用 graph api,並且試著查詢所有的資料,就知道 fb 也沒有給我們很多東西。
  4. fb 只是幫我們認證使用者,並且跟我們講他是誰,有哪些朋友。
  5. fb 中請求使用者授權給應用程式取得或是代發訊息的方式,有很多種,只需要學習一種,不然很浪費時間。
  6. 在 iframe  中最重要的是不要重覆 redirect回facebok,不然卡在哪裡,如果是使用 js 轉頁的話,在 ie 中好像會出錯,又是ie。
  7. 另外不相干的事,使用uml,加速架構程式,因為 facebook 可以提供的真的不像想像中的多,所以加上自己的資料庫是需要的。