作者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
1F:→ ssc24:我也学过云端技术....无误 04/17 17:44
2F:推 AI3767:这样看来, 这书是在教如何架网站 = = 04/17 20:21
3F:推 lovdkkkk:吃饭时看这篇真的很危险... 04/17 21:10
4F:推 luoqr:XDDDDD 真是太有才了 04/17 21:45
5F:推 bala045:原来我也懂云端! 04/17 21:45
7F:→ NPcomplete:甲蓉生的书不意外 04/17 23:57
8F:推 swpoker:哈哈哈超好笑的 04/18 13:34
9F:推 fdvd:凝视桌前电脑(Computer),望向窗外天空白云(Cloud) 04/19 15:09
10F:→ fdvd:真的可以将这台电脑抛向那朵白云吗? XDDDDDDDDDDDDDDDDDDDD 04/19 15:11
11F:推 icycandle:XDDDDDDDDDDDDDDD 04/20 14:38
12F:推 sing10407:茼n笑了XDDDDDDDD 04/21 00:06
13F:推 justben:我来出本书讲hadoop-map-reduce好了 更云端一点= = 04/28 12:38
14F:→ smc0911:甲蓉生.....虎烂王无误 06/04 22:21