作者PsMonkey (痞子軍團團長)
看板java
標題[書籍] 《雲端運算網路程式入門》
時間Tue Apr 17 17:29:31 2012
書名:《雲端運算網路程式入門》
作者:賈蓉生 等四人
出版社:博碩
ISBN:978-986-201-444-8
介紹:
以 Java(?)實作雲端運算(?)
可以透過這本書確認自己對 Java 有多麼不了解(?)
連結:
http://pt2club.blogspot.com/2012/04/blog-post.html
(下方心得的 Blog 版)
心得:
我是不知道看這本書能不能練出雲端,不過拿來練腹肌倒是挺不錯的......
假日陪女友走了趟圖書館。不過最近因為找工作的事情有點懶散,不太想借書,
但是來了都來了,就隨便抓一本吧。回家翻了一下,只能讚嘆
好書啊!以後看不到這麼好笑的書怎麼辦啊? <囧>
一些「雲端」定義上前後矛盾、很廣告說詞的部份就略過;
書名都標注「入門」了,也暫不探究到底要從哪裡開始才算「入門」。
先來看一下 p.1-2 這段:
凝視桌前電腦(Computer),望向窗外天空白雲(Cloud),
真的可以將這台電腦拋向那朵白雲嗎?
雲端計算(Cloud Computing)之意義,
是將原應儲存在本地電腦(Local Machine)的資料(Information),
推向雲端網站(Cloud Site)儲存;
原應本地電腦運算解決的問題(Problem),交由雲端網站運算解決。
還有 p.1-5 這段:
前節所列之各項技術,都可謂是雲端運算的前輩(Older Generation),
是電腦技術的里程碑(Landmark),因為曾經有這些技術(Technologies),
循其經驗研發的累積,才有今日雲端運算之發展,
但都因無法滿足下列兩項基本條件,
不能歸屬為“雲端計算(Cloud Computing)”
Cloud Computing、Cloud Site 秀個原文我是不反對啦,
但是 Computer、Information、Problem、Landmark、Technologies......
你是來教英文的嗎?還是在向相聲瓦舍的《東廠僅一位》致敬?
第二章在教 JDK 安裝設定、Hello World,
第三章在教 Tomcat 安裝設定、Hello World
(btw... 實在很少看到有人光碟是用 C:\ )。
看到 p.3-13 時候,我不禁噴了一嘴茶:
<%@ page contentType="text/heml; charset=big5" %>
big5 編碼的雲端,還真是稀有奇特啊...... 然後這段:
Tomcat 是 JSP 之專屬網站網頁系統,
只要將 JSP 程式置入 Tomcat 指定目錄,即自動編譯、自動推向網站網頁。
翻到 p.3-14(才隔一頁),卻發現:
為了將新複製 JSP 程式有效納入 Tomcat 執行系統,
每當完成新程式設定後,必須將 Tomcat 重新啟動。
太酷了!集合前後矛盾與脫離現實於一身,真是神作(拜伏之 Orz)。
再看到 p.3-16 這段:
當完成前述步驟之後,即可在任意使用者端開啟瀏覽器,
使用網址
http://163.15.40.242:8080/examples/Ex02.jsp,
其中 163.15.40.202 為雲端網站之 IP,8080 為 port。
(注意:讀者實作時應將 IP 改成自己雲端網站之 IP)
不教用 127.0.0.1 這蠻妙的,我懷疑現在有多少人電腦不是躲在 IP 分享器後頭。
重點是,這樣就算雲端網站?
那前頭定義雲端運算特性「多個大規模資料中心與大量處理器」、「無憂服務」又是啥?
接下來第四章不意外的在教 OO 概念,但是!(p.4-7)
我們已經認識到所有資料型態(Data Types)都是類別物件,
源自各自之類別程序(Class Procedures)。
常用的資料型態(如 int、char、float、bollean、String 等)
是由系統彙整之複製新物件,其宣告變數可以直接被使用,
是謂“內建物件(Built Objects)”。
我為了怕自己孤陋寡聞,還特地去 google 了一下,看起來根本沒這詞啊?
等等,我偏離重點了:
int、char、float、boolean 是 object?
這真是太酷了,要不是前面有看到 Oracle 跟 Tomcat 的商標,
我還不太敢相信這本書真的是在講 Java...... lol
再來看看這本書怎麼講 session(p.4-32、p.4-33):
預設物件 session 之所屬類別為 javax.servlet.http.HttpSession,
用在網頁間之驅動接續。
JSP/Servlet 雲端網站(Cloud Site)之系列各網頁,
可依 Session 之設計,有調理而不混亂地貫穿網頁間之關係,
當主網頁驅動次網頁時,同時也傳遞一個 Session 值,
我們可依此 Session 值了解網頁間之驅動關係。
本節範例設計 Ex23_1.jsp 驅動 Ex23_2.jsp,
我們將發現因兩者為驅動接續關係(如同父子血脈),
因而也擁有相同之 Session(如同遺傳 DNA)
這簡直比 Luke 聽到「I am your father」還要震撼啊!
所以我已經不打算思考為甚麼「OO 概念」是在教這些東西了...... lol
第五章~第八章基本上就是 File、JDBC 的簡單應用,
只是介面改成 JSP 作輸入,就直接跳到了第九章的範例 82。
這是要介紹以 session 檢測是否登入的概念,
但是處理輸入的頁面完全沒檢查帳號密碼是否對的上,
就一律 session.setAttribute("ex82", "true"),而第三個頁面重點程式碼如下:
session = request.getSession();
if(session.getAttribute("ex82") == "true" )
out.print("本網頁為合法認證網頁" + "<br>");
else
out.print("本網頁為非法認證網頁" + "<br>");
字串比對用「==」,真是高潮一波接一波,厲害厲害......
到了第十一章的範例 95,我徹底地腹部抽搐、被擊沉了。
這個範例要「即時」展示線上使用者人數及各個使用者 IP,
作法是「每五秒鐘」 refresh 一次頁面,
每次 request 頁面時就塞一筆資料 (date, ip) 進入資料庫、
刪除十秒前的資料、然後 select 資料時對 IP 作 distinct、迴圈統計人數。
要說現在通常是用 AJAX 或是 server pushing,
但這是「雲端運算入門」也就不用太計較,
但是為甚麼不用 application 物件咧?
而整個範例最神來一筆的地方:
//註:只節錄重點
Date T = new Date();
long timeL = T.getTime();
int timeInt = (int) timeL; //註:這行就是第 20 列
String sql1 = "INSERT INTO onlineVisit(時間,網址)" +
"VALUES(" + timeInt+", '"+userAddr +"')";
int timeDInt = timeInt - 10000;
String sql2 = "DELETE FROM onlineVisit WHERE 時間 <= "+timeDInt+";";
後頭解釋:
列 20:將時間值調整至 Access 可接受之型態。
什麼?Access 不支援 Long 這種 data type?
M$ 有惡搞到這種程度?
喔... 原來是因為 onlineVisit 是這樣開的(p.11-16):
CREATE TABLE onlineVisit ( 時間 INTEGER PRIMARY KEY, 網址 TEXT(20))
這真是筆墨難以形容的感動,直達大音希聲的境界了...... lol
其餘精彩片段還有:
p.4-12:在 JSP 程式編輯上,out.print() 與 out.println() 功能相同,
由本例可知,out.println() 並無自動換列之功能。
(批:是啊... 即使在 <pre> 裡頭用也一樣呢......)
p.5-3:Get 方式將會於 URL 顯示參數,使用者可清楚看到其鍊接參數,
優點為透明執行過程;缺點則為較不安全,且傳遞資料不得多餘 255bytes。
(批:都在講雲端了、快死光的 IE6 的祖父 IE4
也號稱能支援 2083 characters 了,
你去找只能處理 255 bytes 的 browser 給我看...... lol,
喔對了,後頭的範例也非常有趣 lol)
p.5-12:建立雲端目錄(mkdir)。
(批:...... 「偽端雲科技」還比較先進一點)
p.11-14:於 Html/Java 網頁程式中,<%! xxxxx %> 標籤內宣告之便,
可保持每次開啟網頁輸入之訊息,並累積給予下一個開啟之網頁。
我們可利用此特性,累積網頁拜訪人數,
如此設計也是一種最簡易之設計方法。
(批:不用說 servlet 的 instance 被 GC 掉,
光你這麼愛重開 Tomcat......)
回頭翻一下「序」當中寫的:
本書是以大專院校課程教學需求,配合一學期 18 周,每周 3 小時教學時數,
精要編撰 15 章共 4 篇:
現在大學生真是幸福的,有如此精要的課本,
而且一學期後,就可以跟別人說:「我也學過雲端技術」了呢......
有時候也該看看這類超越 WTF 的書,除了有益身心健康之外,
還能提醒自己:「其實你沒有你想像的那麼弱...... lol」
--
錢鍾書:
說出來的話
http://www.psmonkey.org
比不上不說出來的話
Java 版 cookcomic 版
只影射著說不出來的話
and more......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.10.49
※ PsMonkey:轉錄至看板 CompBook 04/17 17:30
→ ssc24:我也學過雲端技術....無誤 04/17 17:44
推 AI3767:這樣看來, 這書是在教如何架網站 = = 04/17 20:21
推 lovdkkkk:吃飯時看這篇真的很危險... 04/17 21:10
推 luoqr:XDDDDD 真是太有才了 04/17 21:45
推 bala045:原來我也懂雲端! 04/17 21:45
→ NPcomplete:甲蓉生的書不意外 04/17 23:57
推 swpoker:哈哈哈超好笑的 04/18 13:34
推 fdvd:凝視桌前電腦(Computer),望向窗外天空白雲(Cloud) 04/19 15:09
→ fdvd:真的可以將這台電腦拋向那朵白雲嗎? XDDDDDDDDDDDDDDDDDDDD 04/19 15:11
推 icycandle:XDDDDDDDDDDDDDDD 04/20 14:38
推 sing10407:茼n笑了XDDDDDDDD 04/21 00:06
推 justben:我來出本書講hadoop-map-reduce好了 更雲端一點= = 04/28 12:38
→ smc0911:甲蓉生.....虎爛王無誤 06/04 22:21