網頁

搜尋此網誌

2009年8月27日 星期四

Python 2.5 程式語言學習心得

Python程式語言自己目前正在學習當中,參考書籍又是那「一千零一本書中僅有的唯一一本」(意思是幾乎沒有,中文書似乎只有這一本,英文倒是有不少可以看),這種感覺就像之前學習Ruby On Rails, RoR那樣的情形。


參考書是「Python 3技術手冊」,作者黃書逸,google結果作者是南台科大四技在職專班第二屆資管甲班(670319黃書逸),目前是國立成功大學97學年度工程科學系在職專班甲組碩士班,看來實務經驗相當豐富的感覺。這本書一上市馬上就去天瓏書局買來看看,可是內容竟然有亂碼(這讓我很驚訝,因為要猜這個猜那個,而且我也不熟python,讀起來很痛苦唉...有點搶市場上市的感覺),碁峰資訊真的要好好加油啊!電腦書就大概你出版最多了,要求高品質的出版事業啊!關於此書評價請至PTT

黃書逸,Python 3技術手冊,台北:碁峰,2009。

重點來了,買這本書是為了學Google App Engine(GAE),可是GAE用的是2.5版,不是2.6之後的3.0版,意思是說,我買的書根本用不上...(然而觀念差不多),所以現在都去官網看參考文件http://www.python.org/doc/2.5.4/

Python用起來的話,我感覺很像PHP的方式:自由而簡單(相對的,Programmer需要自行負責),相信如果是學過 PHP的人來說,應該是相當容易上手的!

以下簡述目前的學習心得,和PHP比較的結果,希望可以提供PHP的使用者參考:
  1. Python的變數(variable)不需要宣告就能使用,和PHP一樣。
  2. Python的單行註解(comment)為「#」開始,PHP使用「//」為單行註解,而「/*」和「*/」為多行註解。
  3. Python的變數內建有複數(complex number),實數和虛數的運算可以執行。(太好了)
  4. Python的字串(string)使用「+」串接,而PHP使用「.」來串接。
  5. Python每行程式結束不需要使用分號「;」,但是PHP必須要有。
  6. Python中的判斷語法沒有switch-case的用法,必須使用if-elif-else的方式來使用。而迴圈則沒有do-while的語法可以使用。
結束,以下空白。

2009年8月26日 星期三

Web Programming Language網頁程式語言

今天分享網頁程式語言(Web Programming Language)的學習心得,這裡所指的網頁程式語言是指伺服端(Server-Side)的程式語言,而不是指客戶端(Client-Side)的程式語言如JavaScript或CSS等。有關客戶端的程式語言,請參閱「3 Elements of A Web Page網頁三元素」這篇文章。

個人認為網頁程式語言可以分為三大類,提供大家做為學習的參考,歷史上稱為三國鼎立的時代,這三國是指(1)JSP、(2)ASP與(3)PHP類的OpenSource-Type(開放原始碼社群類的程式語言)。

JSP

JSP是用Java來開發,目前的平台是Java Platform, Enterprise Edition,簡稱Java EE(之前稱為J2EE),伺服器軟體有很多,像是Apache Tomcat、GlassFish、JBoss等等,都是免費開放原始碼的所以很容易取得和學習。但是缺點是JavaEE實在太龐大了,很多功能需要學習,因此往往見樹不見林,我想JSP對於初學者是比較難進入的。

ASP

ASP是微軟Microsoft的產品,使用C#或是Visual Basic來開發撰寫,目前是在.NET Framework平台上面執行,因此多稱之為ASP.NET,當然,伺服器一定是用IIS才可以,而且是需要錢的,這是缺點,可是.NET上面的元件實在太多了,所以開發起來很容易上手,學習也比較簡單。

PHP類

這裡稱為「PHP類」主要是除了JSP和ASP外的其他種程式語言,好像PHP的勢力最大,所以用PHP為代表。伺服器軟體多用Apache HTTP Server(免費開原碼),而且多搭配MySQL資料庫管理系統,構成LAMP或是WAMP的組合。以PHP為例,PHP相當容易上手且免費使用,個人認為極適合初學者學習,而且可以和底層網路溝通,比較容易有感覺。缺點就是PHP沒有元件的使用概念,開發起來較為辛苦,缺少整合開發環境(IDE)的圖形化介面軟體,各有利弊!除了PHP之外也還有像是Perl、Ruby和Python等等。


上述三類自己都有摸過學過,因此有較深入的體會和感想,在這簡略介紹Web程式語言的三國情勢,提供各位參考,最重要的其實不是程式語言本身,而是對於網頁的運作要很清楚,只要你學會其中一項語言,在這些程式語言當中遊走是相當容易且輕鬆!

2009年8月7日 星期五

Django 榛果

Django怎麼念?「榛果」,好唸又好記,還好吃...(榛果=hazelnut)

Django

最近在研究GAE(Google App Engine)的時候,發現 GAE可以使用榛果(Django),依照網站的說明是:「Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. 」詳情請至Django官方網站:http://www.djangoproject.com/

這就好像Ruby中的RoR(Ruby on Rails):Rails框架。而在Python中則有Django框架可以使用。框架(framework)讓開發更容易、更快速。

除了Django以外,「Google 應用服務引擎」支援以純 Python 編寫的 CGI (以及使用 CGI 配接程式的任何 WSGI 相容架構) 架構,還有:(詳見http://wiki.python.org/moin/WebFrameworks)
其他關於GAE與Django的資訊請至Google App Engine Articles文章參閱:
至於如何在Apache中執行Python語言與Django框架,因為自己孩在學習當中,尚未進入實戰體驗,請大家先參考:(詳見http://wiki.python.org/moin/WebServers)
Python練功有成,再一併記錄在部落格之上!

2009年8月4日 星期二

Setup Google App Engine開發環境安裝說明

此篇文章說明如何安裝Google App Engine所需的軟體,從無到有的過程提供各位參考,一起進入Google App Engine的開發環境吧!更歡迎初學者善用Google網路資源學習Web Application,願一起提升台灣的軟體開發能量。

目前使用Eclipse IDE加上PyDev擴充套件的使用,我想是用來開發Google App Engine絕佳的組合,跟大家介紹如何安裝,請見下列Google Doc內容,謝謝。

2009年8月2日 星期日

Google App Engine應用服務引擎

GAE

Google App Engine,
Run your web apps on Google's infrastructure.
Easy to build, easy to maintain, easy to scale.


身為一位專業的網頁應用程式(Web Application)設計師來說,我們必須要努力學習各種網頁技術,因為網頁本身使用的技術太多太雜了,不若單機視窗應用程式相對精簡,只有不斷更進才能處於領先不敗的階段。(很爛的開場...卻十分中肯)

總而言之,這篇是要跟大家介紹Google應用服務引擎的書籍與基本說明,當然我也正在學習,希望可以分享我的學習心得。

第一本介紹Google App Engine開發技術的中文書籍
上官林傑Google應用服務引擎開發實戰,台北:悅知文化,2009。

使用GAE需要有下列幾樣軟體和工具:
  1. Python 2.5,目前最新是2.5.4版,請至網站下載http://www.python.org/
  2. Google App Engine SDK for Python,建議用英文版1.2.3版,中文是1.2.0版,請至網站下載http://code.google.com/intl/en/appengine/
  3. Eclipse Classic 3.5,請至網站下載http://www.eclipse.org/
  4. PyDev擴充套件,詳細資訊http://pydev.sourceforge.net/
安裝可以參考
另外有相關的YouTube Video也可以參考如下:

Developing and deploying an application on Google App Engine


App Engine入門 -- Google 2008 台北程式開發日

App Engine進階 -- Google 2008 台北程式開發日


National Taipei University of Technology台北科技大學

這次捐贈的一樣是關於網頁的書籍,不過多了兩本是電力電子的內容,詳細清單請參考下表,相信在開學之後應該可以借到,圖書館編入資料庫到上架大約要2個月,學弟妹們請耐心等等。

書名作者出版社
交換式電源供應器之理論與實務設計(修訂版)梁適安全華
交換式電源供應器剖析林伯仁、羅有鋼、陳俊吉全華
Google應用服務引擎開發實戰上官林傑悅知文化
jQuery開發實戰Jonathan Chaffer‧Karl Swedberg 悅知文化
Ext JS開發實戰:次世代Ajax解決方案徐會生 ‧何啟偉‧康愛媛 悅知文化
實戰資料庫設計楊先民悅知文化


這裡談論一下,其實光有這些書籍還是不夠的,這些知識畢竟都是死的,而且還有點舊。以「Google應用服務引擎開發實戰」一書來說,2008年4月推出到現在,這本書是2009年8月在台灣才有人寫出來的,慢了真的慢了!姑且稱之為「知識延遲」。

我們是不是能夠結合網路的平台,出版業結合網路平台進行數位出版...等等這類,畢竟書的內容無法即時更新,但網路就不是這一回事了,更新改版都很快速,那書籍存在的意義又是在哪裡?(先以電腦書籍來討論,文學類的可能比較不會有這類問題:「知識延遲」)

我想書籍到最後會是一個精華濃縮的產品,也許包含很多主題、關鍵性的知識,但附有其他網站連結,或者說:一書一網站,One Book, One Website. 這樣的方式。提供作者與讀者的互動。目前有沒有?有,但做的不夠好。

或者到最後是,以網站為主,書籍為輔。讀者買書之後,可以得到一個密碼,輸入網站之後,可以得到定期的資訊更新,或者以付費的方式向作者、出版社訂閱。畢竟,書籍這類出版品是經過專家整理過的知識,比起網路上搜尋到的知識還有用。(理論上來說是這樣!事實的話...#%@#...還是一堆爛書。)

出版業,網路業最後誰會勝出。我想會是看誰的腳步快,如果是書籍的話,早一步結合網路,利用網路平台進行出版,則出版業不會像報業一樣淪沒!若網路業可以提供高品質知識,若有人工智慧的搜尋引擎等,則網路業會稱霸。有沒有可能雙贏?以人性來說很難,這個答案往後就可以得知了。

另外,我也再想是不是有可能去推廣一些理念或是技術,透過書籍、網路和講座三個方面來實現,待續...

這是廣告↓ 這是廣告↓

這些書也都是在全友書局訂購的,是由吳經理(女士)處理這些訂單再幫我寄送過來,服務超好,請大家多多支持光顧!地址是台北市重慶南路一段49號7樓(黎明文化大樓),請搭電梯上7樓,出電梯口右轉。

這是感謝↓ 這是感謝↓
別感謝圖書館"簡傳展"先生的協助,有您的幫忙這些書籍才能快速編目上架,致上萬分感謝。

熱門文章