2009年10月1日星期四

[新書]網路應用程式開發-使用Google App Engine 雲端運算

Share/Bookmark


image.php小弟最近第一次出書,書名是「網路應用程式開發-使用Google App Engine 雲端運算」,本書是在說明如何使用GAE開發網路應用程式,內容介紹了Python語言的基礎和Google App Engine的基礎(全部都是基礎XD),並說明了如何使用django模版系統,以及如何自定義一些模版標籤。這本書算是基礎的GAE入門書籍,希望本書的內容可以對大家有所幫助。

本書的博客來書店網址金石堂書店網址

第一次出書,相信內容會有一些缺失與不足,歡迎大家指教。程式寫了很多,出書卻是頭一遭,在漫長的寫作期間,其實我十分的惶恐不安,一下子擔心寫的太簡短大家看不清楚,一下子又擔心解釋的太冗長會被嫌囉唆,有時候也會想自己的程式功力會不會不夠,講的東西不夠critical,總之亂七八糟的想,什麼都會擔心一下。但是,現在我終於寫完了這本書,也算是完成了對自己的一個交代。雖然這本書無法做到盡善盡美,但是歡迎各位來我的部落格(http://blog.finalevil.com)留言,一起探討關於GAE的可能性。

希望大家多多支持囉,謝謝大家:)



25 意見: |

張貼意見

JamesLai 2009年10月9日下午1:36 提到...

請問你有將您在書中的helloworld project流程跑一遍嗎?小弟用的時候會出現
dev_appserver_main.py:410] Application configuration file not found in .

Run configuration的路徑好像會出現這樣的問題.

finalevil 2009年10月9日下午3:20 提到...

@JamesLai 哈囉,出書前檢查所有範例都正常運作這是一定要的。我剛剛也重新依照我書籍上的步驟做了一次,可以正常執行。請檢查是否有依照步驟上的動作做設定,另外你eclipse的workspace是長的像這樣嗎?
如果還是有問題,麻煩您請再跟我說唷:)

JamesLai 2009年10月9日下午10:55 提到...

謝謝您的回應.

我有將我的globals_印出來, 不過無法張貼上來比對.

是否可以麻煩您將您的globals_變數印出來呢?

寄到小弟的gmail信箱.

我的hellowork下面的目錄名是google_appengine不是您貼出的appengine.

我用的Python版本是2.6.3.

謝謝

finalevil 2009年10月10日下午1:31 提到...

@JamesLai
我把print出來的globals()印出來存在文字檔裡面了,請到這裡下載,你看一下這個是不是你要的 :)

JamesLai 2009年10月11日下午1:53 提到...

謝謝您阿, 後來查到了是md5,和sha要更新,app.yaml script調整一下就好了,不過會有兩個warning,無法讀到dev_appserver.datastore和其歷史檔,不知這是否也是檔案路徑的問題, 第一次啟動會出現, 但是似乎也沒有建立,第二次往後還是繼續出現同樣的warning不知是否算正常現象.

finalevil 2009年10月13日下午2:36 提到...

@JamesLai 我在run server的時候似乎也會有1~2個warning出現,但是不會影響程式進行。所以...我就沒有深究了^^"

chihli 2009年11月11日下午2:16 提到...

請問一下, 你那本雲端運算的書, 我跟著操作在2-3發生問題,p2-19, 在urls.py設定index函式的對應網址, 沒有例子,不知道怎麼做.煩請告知, 謝謝.


li

finalevil 2009年11月11日下午10:17 提到...

@chihli
在p2-19裡面的程式碼,1~6行是helloworld.py的程式碼。另外7~17行是url.py的程式碼,只是行數很正好,可以湊在一起,而我書籍裡面沒有標示的很清楚,實在不好意思^^"

所以關於url.py的設定參考p2-19頁的7~17行程式碼就可以囉:)

peter 2010年1月2日下午9:37 提到...

Hello, 你那本雲端運算的書, 我跟著操作在2-3發生問題,
1. 2-15頁,無templates目錄
2. run main.py 時File "E:\workspace\helloworld\main.py", line 3, in
from google.appengine.ext.webapp import util
ImportError: No module named google.appengine.ext.webapp
為何如此,煩請告知, 謝謝.
(在helloworld專案下之google_appengine->
google.appengine.ext.webapp下有util.py檔)

匿名 2010年1月3日下午5:27 提到...

為什麼我們除了HELLOWORLD之外其他的都跑不出來阿
而且書上有時候寫的檔名都是錯的
而且有時候參考光碟上的東西時
會發現很多檔根本就不知道怎麼來的

finalevil 2010年1月3日下午6:23 提到...

你好,
如果發現有錯誤的檔名或是錯字,可以與我回報,我會整理勘誤表供其他讀者參考。
另外,請問是哪些東西不知道從何而來呢?

finalevil 2010年1月3日下午6:37 提到...

@peter
1.templates資料夾的設定與建立,在第2-18頁有說明。
2.這個問題是說找不到GAE的相關package。
請檢查控制台->系統->環境變數path的設定,裡面所設定的路徑與安裝路徑是否一樣。
另外請檢查第2-9頁的step2是否有確實做到。

peter 2010年1月4日上午8:51 提到...

Hello, thanks for response:

事實上我在2-17頁step05修改setting.py就不知如何用diango-admin.py產生配置文件,得到http://localhost:8080/ 2-18頁之畫面。可否詳述?Thanks.

peter 2010年1月4日上午8:59 提到...

Hello, Finalevil:

我的意思是我依照step05作了修改,但不知如何啟動django server使得http://localhost:8080/ works. step05似乎並沒有說。Thanks.

finalevil 2010年1月4日下午7:50 提到...

@peter
不是啟動django伺服器,是啟動Google App Engine Server。啟動之前要先進行Run Configuration的設定,詳細步驟在2-11頁Step04中有說明。

如果有按照步驟一步一步實作,應該已經設定完成。這個時候可以在專案根目錄點選滑鼠右鍵,在Run as選項裡面應該有已經設定完成的選項可以執行。

peter 2010年1月10日下午12:43 提到...

Thanks response, it works!

匿名 2010年2月22日下午6:14 提到...

我是用python2.6.4跟django1.1.1
照著您書上做到2-17頁
他出現這些錯誤不知道為什麼,程式碼檢查過了
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3180, in _HandleRequest
self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3123, in _Dispatch
base_env_dict=env_dict)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 515, in Dispatch
base_env_dict=base_env_dict)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2382, in Dispatch
self._module_dict)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2292, in ExecuteCGI
reset_modules = exec_script(handler_path, cgi_path, hook)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2188, in ExecuteOrImportScript
exec module_code in script_module.__dict__
File "D:\workspace\helloworld\main.py", line 27, in
django.dispatch.dispatcher.connect(
AttributeError: 'module' object has no attribute 'connect'

讀者 2010年3月2日下午4:52 提到...

哈囉~
我也跟"匿名"發生一樣的問題
不過傳到GAE以後就可以正常運作了

不知道是什麼原因導致的...?

Calvin L.M Yen 2010年3月13日上午8:26 提到...

hello,李先生您好,我有購買您執筆的"網路應用程式開發-使用Google App Engine 雲端運算"一書來研讀.從一開始我便依樣畫葫蘆照您書上的指令操作,直到做到第2-19頁,卻跑不出來跟您一樣的結果.遂有疑問如下:
1.templates資料夾要建立在哪個目錄下呢?
2.在urls.py中如何設定index函數的對應網址呢?
3.第2-19頁列出的程式碼是helloworld.py的嗎?
敬請解答小弟疑問,感謝您!

Calvin L.M Yen 2010年3月13日上午8:58 提到...

我已經可以正確執行的方法了.不好意思!請把我剛剛貼的文刪除.感謝!

蘇破 2010年4月16日下午2:24 提到...

您好!!2-5頁開始的 PyDev外掛網址
http://pydev.sourceforge.net/updates/
(no software site found )
開始就已經找不到東西了

請問有沒有校定版過後的 powerpoint ?

至少能讓我先用出一個 hello.......

如果有的話請寄給我 謝謝~

匿名 2010年5月13日下午12:31 提到...

你好!我有購買此書,目前練習到第五章,但是在本機(localhost)都運行不起來!請問是要另外安裝資料庫嗎?因書本上都沒講到這一段。謝謝你

新手讀者 2010年5月13日下午12:42 提到...

作者你好,我有購買本書,目前實做到第5-1章,第一個小範例會員註冊頁面在本機無法執行起來,有些錯誤訊息如下:
dev_appserver.py", line 2200, in ExecuteOrImportScript

django.dispatch.dispatcher.connect(
AttributeError: 'module' object has no attribute 'connect'

感覺起來好像是沒辦法連接到dev_appserver.py和django.dispatch.dispatcher.connect

請問是否要另外在本機上灌資料庫軟體呢?
謝謝!

python-2.6.5.amd64
GoogleAppEngine_1.3.3
Django-1.1.1

joseph 2010年7月19日下午3:59 提到...

請問:
書中14-13頁
如果我在後端從datastore撈資料並把它存到dictionary裡
result={}
d = modle.XXX.all()
result['title']=d.title
result = simplejson.dumps(result)
傳送到前端使用書中講的 $.getJSON(....json[0].title)
並無法呈現出來
是不是哪裏出現什麼問題?

Jnson 2010年7月20日下午3:15 提到...

你好:
我嘗試執行basic/string_example.py
顯現的結果--->字串
要在
網頁
上面換行
在網頁上的顯示不會跳行,請問是何原因.

煩請解惑,謝謝

 
Creative Commons License
本 著作 係採用 創用 CC 姓名標示-非商業性-相同方式分享 2.5 台灣 授權條款授權.