[Nonsense] words from Amir

剛看了一下「噗浪,玩出大生意(Plurk Your Brand , Plurk your Business)」,在文末技術長Amir與Jeremy有一段很棒的對話要記下來勉勵一下自己:

Q: 對於像你一樣很會寫程式的高手,你有什麼建議提供給他們?

A: 不要放棄,要精通某件事情,一定得花上很長一段時間,差不多10年吧!即使是像莫札特這種天才也是用了13年才熬出頭的。寫程式就像做任何事一樣,需要的就是熱情而已。對我來說,這更像是一種習慣而非工作而已。在成為大師級人物之後,一定要這麼想。接著就是從一個有趣的專案開始,可能是做一款遊戲,一個網站,然後從PHP、Python這種語言開始做起!

加油。

[閒聊] Magic RoR

真的是很奇怪,雖然心裡有千百個不願意,但是每當想到要「架站」這個動作的時候,腦海第一個閃過去的東西不是PHP反而是RoR,每次一想到它的scaffold還有人性化的generator,就有種讓要用它的衝動。

原來Ijs當初的那番話…我還太淺了XD,還有很多東西要和她學呢。

[Ruby] Get started

最近因為一些實務上的需求(真的嗎),所以不得不試著嘗試用RoR來開發程式,但是因為萬事起頭難,最困難的就是在一開始,所以就先試著了解Ruby這個語言的特性,再來往下階段做開發。

因為說實在的,不知道為什麼國內Ruby相關的資源很少,在網路上都沒有找到什麼比較淺顯易懂的書,所以就隨性上網找到了一本名為「The Ruby Programming Language」的書,就拿它來當cookbook吧。

因為我是從PHP跑來這邊玩沙,所以說實在的我還真的有點很不習慣,先看一下PHP在Wiki上的介紹:

『PHP 原本的簡稱為 Personal Home Page[4],是Rasmus Lerdorf 為了要維護個人網頁,而用c語言開發的一些CGI工具程式集,來取代原先使用的 Perl 程式。最初這些工具程式用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量[5]。他將這些程式和一些表單直譯器整合起來,稱為 PHP/FI。』– From Wiki

PHP當初是延用了C的風格,再加上一些自有的特色,使得其多了一些較彈性的設計(如使用變數時可以不需要宣告型態)。但是,當我看到Ruby之後,反而讓我有種很難上手的感覺,因為它好精簡,讓我有種當初在寫Perl的感覺(雖然我沒有寫好,對不起c9s XD)。

好啦,廢話不多說,現在就來看看我看這本書時的一些小重點。

3.2.1.4 Arbitrary delimiters for string literals

還記得剛剛為什麼我說它讓我覺得好像Perl嗎,因為它也有支援Syntax Sugar,來看看它是怎麼做到的:
http://gist.github.com/288795.js?file=gistfile1.rb
還真的是很簡單,只要在前面要加個”%”就可以了(Perl 只要 q就好了呀!!!)

下面還說到要怎麼在使用Syntax Sugar時再跳脫那些用來當標記的符號,我覺得如果真的還要這樣子就有點本末倒置了吧…

3.2.1.5 Here documents

這邊再把上面的Syntax Sugar做個延伸,是借用Unix shell的語法,叫做 Here documents,它後面的註解很有趣,它說「因為這個文件就在個原始碼內,而不是存在於外部的檔案」,真是有夠白痴,有講和沒講不是一樣XD。

來看個小Example。

http://gist.github.com/288819.js?file=gistfile1.rb

“<<"和"<<-"的差別就差在後者的close tag的前面可以有空白,但是前者的不行,就這樣子而已。還有個特別強調的地方,就是close tag的後面不能插入comment,插了就會出現一堆錯誤!!這個東西在PHP也有,通常是用來存放HTML的部分,這樣就不用一直一行一行的輸出,算是把View分離的方法,範例如下。

http://gist.github.com/288830.js?file=gistfile1.rb

1st part 就覺牛刀小試一下到這邊啦。