More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  要做就做到全球最棒 要麼就不做ProfileFriendsBlogMore Tools Explore the Spaces community

Blog

August 02

張亞飛宣佈開放的《萬維網應用程式開發綱要》


自從20世紀70年代互聯網誕生以來,以WWW技術為支撐的萬維網近十多年來迅猛發展,滲透到社會生活的各個方面。從聖法蘭西斯科郊外的矽穀,到新竹日夜通明的半導體工廠,它是如此深刻地改變著我們工作和生活的方式。

全世界有3/4的人還從未接觸過互聯網,這也預示著我們這些已經從事互聯網工作,和即將從事互聯網工作的設計者、開發者都將有一個美好的明天。

用戶參與和從業於萬維網相關軟體的開發和設計工作,首先必須掌握萬維網的基本常識,這是萬維網的基本知識結構,也是學習互聯網相關知識的基石,我將這稱為《萬維網應用程式開發綱要》。並且,這也不單單是一個知識結構的問題,其實任何的技術知識都是隨著技術本身的發展慢慢積累起來的,是技術不斷變化、不斷延伸的結果,所以知識結構往往也是一個怎樣正確認識技術發展史的問題。下面我們就來簡要介紹一下萬維網的技術簡史和萬維網的基本知識結構。

     
 
此之外別無其他
每個開發者都必須將知識建立在兩個最基本的基石之上,除此之外別無其他。每一本圖書和教材都應該幫你做到,這也正是你從業互聯網的最堅實的技術基礎。
 
     

WWW也就是我們經常提到的萬維網,它是Internet上那些支援WWW和超文本傳輸協定(HTTP)的客戶機與伺服器的集合,透過它可以存取世界各地的超文字檔案,內容包括文字、圖形、聲音、動畫、資料庫、以及各式各樣的軟體等。

HTML是萬維網所基於的標準的格式化語言,它自從被發明以來就構成了整個萬維網設計和開發的核心,這也是我們每個從業人員都必須熟知於心的、了然於胸的,它是我們從業萬維網的基石。

鑒於HTML扮演的重要角色和萬維網不斷發展的客觀要求,我們需要不斷改進和細化它的功能——將結構、內容和樣式分離已是大勢所趨,這也是為何CSS(層疊樣式表)出現的原因。

     
 
你不得不瞭解它
它是進行萬維網應用程式開發的認識論基石,也是實踐的指南針,設想存在一個不遵守該指南的萬維網應用程式是不可能的。
 
     
在樣式表沒有出現之前,HTML用於呈現的功能實際肩負著兩種責任:一種是語義的呈現,一種是表現形式的呈現。例如,b元素(英文bold的縮寫)既要表現加粗的語義,實際上還要用作呈現的標示——也就是資料的結構。

樣式表的出現簡化了HTML語言並且減輕了HTML對表現形式的責任,它使設計者和用戶都可以控制文檔的表現形式,包括字體資訊、對齊方式、顏色等。

HTML和CSS一道構成了萬維網應用的用戶端基石,它們又被稱為萬維網應用程式的展示層。

         
 
它們有一個響亮的名字
展示層利用用戶端腳本和插件技術開始分擔業務邏輯層的部分運算,它們有一個響亮的名字,被稱為“富用戶端”。
                
誇誇其談並不可取
所傳達給用戶的知識要麼必須有堅實的事實基礎,要麼是由嚴謹的邏輯推導而出,而這樣的邏輯也應被所有讀者輕鬆的理解。
 
         

萬維網在不斷的前進,人們對於新功能的渴望也在不斷地增強,而這些新功能應當,而且理所應當能夠針對不同用戶的需求做出不同的回應,這也就是為什麼動態網頁技術層出不窮的原因。

在這個目標的驅使下,微軟創造了ASP技術,進而又創造了ASP.NET;SUN創造了Servlet,進而又創造了JSP;Adobe創造了ColdFusion;而萬維網的技術社區會聚著不計其數的開發者,他們中的傑出者創造了PHP並使之成為流行的動態網頁開發技術。

這些動態網頁技術可以針對用戶的不同請求做出不同的回應,「請求/回應」正是萬維網應用程式的基本模式(不管是靜態網頁還是動態網頁),不同的動態網頁開發技術有不同的應對於「請求/回應」的語言特點,但它們也都有共同的實現特點,那就是針對請求生成不同的HTML網頁,並把它傳遞到用戶的用戶端軟體中,正如你經常用到的那樣,這個用戶端軟體被稱為「流覽器」。

由於動態網頁總是位於伺服器上,而它生成的HTML網頁又總是被流覽器流覽,所以這個開發經常被描述成B/S,也就是Browser(流覽器)和Server(伺服器)的縮寫。

所有的基於WWW技術的動態網頁技術都會生成HTML網頁(網頁中也許會包含樣式表,也有可能僅僅是裸資料而不包含HTML標籤),這也是為何你會看到不同的動態網頁技術卻可以創建同樣呈現結果的根本原因。

同樣,在用戶端流覽器中你也看不到動態網頁的源代碼,因為這些源代碼在伺服器上就已經被解釋、執行,最後被轉化成HTML格式的代碼並被傳遞到用戶端。這些網頁之所以被稱為動態網頁,也正是因為它們能夠根據不同的請求生成不同的HTML網頁,這個作為結果的HTML網頁是「動態」產生的。

這些動態網頁技術和支援它們的底層技術一道也被稱為中間件,它們構成了網路應用的中間層,由於這個中間層包含了用於分析用戶不同請求,並對不同請求做出不同回應的業務邏輯代碼,因此,這個層又被稱為業務邏輯層。

位於業務邏輯層之下的是資料服務層,用戶請求所要獲取的資料從這裏被「篩選」出來,並經過業務邏輯層被發送到用戶端——它們被包含在HTML檔中。

出於對資料海量存儲和便於查詢訪問的渴望催動著整個資料服務產業的發展,關聯資料庫(Relational Database)憑藉其自身的特點從它被發明那天起就成為整個資料服務產業的核心,Oracle也正是憑藉其著名的關聯資料庫產品Oracle9i成為軟體產業中僅次於微軟的軟體巨擘。IBM DB2、微軟SQL Server和開源的MySQL也都是關聯資料庫產品中的佼佼者。

而微軟Office產品組中的Access以其高智慧、輕量化和簡單易用性的特點在辦公自動化軟體(OA)領域內廣泛應用,它也是很多開發人員學習資料庫開發的極佳入門工具。

資料服務層不僅僅是資料庫,而且還包含了其他可以用作資料的資源,例如XML。XML已經成為互聯網間標準的資料交換格式,它也正在日益成為資料存儲的標準格式。 展示層、業務邏輯層、資料服務層構成了當前萬維網應用程式的基礎架構,它們也被統稱為「三層架構」。

實際上你不得不瞭解它,它是進行萬維網應用程式開發的認識論基石,也是實踐的指南針,設想存在一個不遵守該指南的萬維網應用程式是不可能的,同樣,設想任何的不瞭解該指南而進行的萬維網應用程式開發也是近似荒謬的。不管你願不願意承認,你永遠都無法擺脫它。

在萬維網軟體發展日益區分為涇渭分明的三層架構後,市場和技術並未停止它們前進的步伐,它們依舊在不斷地向前延伸。在技術廠商的推動下,在萬維網的技術社區的遙相呼應下,三層架構中的每個層次都為了某些特殊的應用不斷向其臨近的層次延伸,首當其衝的便是展示層向邏輯層的滲透。

展示層利用用戶端腳本和流覽器插件技術開始分擔業務邏輯層的部分運算,而且,它們還有一個響亮的名字,被稱為「富用戶端」。 JavaScript、Flash和Java Applet目前是實現展示層分擔業務邏輯層運算的主要軟體技術。JavaScript因為AJAX解決方案和DHTML解決方案的結合而「重獲」新生,而Flash憑藉其分佈廣泛的Flash Player插件以及高效的開發環境而正日益成為下一代萬維網用戶端運算的核心。與此形成鮮明對比的是Java Applet技術,因為其開發的難度極高,以及其用戶端運行環境自身的原因,從其誕生那天起就從未引人注目過,今天,它依然被擱置在某個角落。

用戶應該將JavaScript、Flash技術完全融入到整個萬維網開發體系中,理應將它們視為一個整體,而不是再孤立的去看待它們中的任何一個,並且,很顯然,也不應該去孤立地看待它們中的任何一個。

 

 

《綱要》是開放的,用戶對其進行修改和補充都是非常受歡迎的,對《綱要》有任何問題都可以通過張亞飛的BLOG與其交流:

http://cn.zhang-yafei.com/(簡體)
http://tw.zhang-yafei.com/(繁體)

 

July 30

張國立和趙薇原來竟然是夫妻

今天,很偶然的機會看到張國立和趙薇原來竟然是夫妻

張國立
懂吃也愛吃,美其名是「老饕」,白話文就是「貪吃鬼」。和老婆趙薇組成食神夫妻檔(或曰歪嘴雞拍檔),一旦出門,就非得搜尋 特好吃的美食不可,否則就全身無力、兩眼昏花。正因為懷著如此認真嚴苛的執念,夫妻倆自詡為「專業吃飯團」,無論晃到世界上任何角落,必定認真吃個爽、然後更認真做推薦!


原文在這裏:
http://www.kingstone.com.tw/Book/Book_Page.asp?LID=7124&LIDD=71245&kmcode=2016710008593

《萬維網應用程式開發綱要》及其實現


《萬維網應用程式開發綱要》是用戶學習萬維網應用程式開發的指南針,它是萬維網應用程式開發所宗,是用戶初入門必讀的。

最初的《萬維網應用程式開發綱要》是作為“開發王”系列圖書的前言而存在的,它是“開發王”系列圖書的基本組織路線,從而也就是《萬維網應用程式開發綱要》的最初實現。

目前,“開發王”系列圖書的第一部分已經基本完成出版,用戶在各地新華書店以及網上書店中都可以看到它們,第一部分包含以下幾本書:

[1]HTML開發王(包含網站架設)、[2]CSS開發王、[3]JavaScript開發王、[4]Flash ActionScript 3.0開發王、[5]FLEX開發王、[6]ASP開發王、[7]JSP開發王、[8]PHP開發王、[9]ASP.NET 3.5開發王(VB.NET版)、[10]ASP.NET 3.5開發王(C#.NET版)

[1]HTML開發王  在china-pub購買該書簡體中文版    繁體中文版還要再等待些時日
[2]CSS開發王  在china-pub購買該書簡體中文版    繁體中文版還要再等待些時日
[3]JavaScript開發王  在china-pub購買該書簡體中文版    繁體中文版還要再等待些時日
[4]Flash ActionScript 3.0開發王  在china-pub購買該書簡體中文版    繁體中文版還要再等待些時日
[6]ASP開發王  在china-pub購買該書簡體中文版    繁體中文版還要再等待些時日
[7]JSP開發王  在china-pub購買該書簡體中文版    繁體中文版還要再等待些時日
[8]PHP開發王  在china-pub購買該書簡體中文版    繁體中文版還要再等待些時日


July 28

我們宣佈《Flash CS3動畫王》,史來全球第一本具有完整系統知識體系的Flash CS3動畫設計和開發圖書

我們宣佈《Flash CS3動畫王》,這是完整系統的Flash知識體系成員,要完整系統的學習Flash CS3動畫設計和開發,這是一本無可爭議的最佳入門圖書。

要正確的學習Flash CS3動畫設計和開發,必須首先建立正確的認知,然後建立完整系統的知識體系才能迅速有效的學習,這並不難理解,建議用戶首先閱讀《準確、完整地把握 Flash動畫設計的知識體系——Flash用戶入門必讀》,這是開始學習的重要步驟,《Flash CS3動畫王》包含了這篇文章的最新修訂版。 Flash CS3動畫王



基本確定一個過敏源,海鮮(至少是蝦)

最近,發現市場上賣活蝦的開始增多,所以接著兩天吃蝦,結果導致兩個手腕部開始出現較嚴重的過敏症狀:紅一片,還有水泡。

所以,現在基本確定了海鮮應該是過敏源之一,但是原來我吃海鮮並沒有出現過敏症狀,這也是一大破解難題。

不過想起來自春節以來吃了很多次海蜇(學名水母),尤認為海鮮以後應盡力避免。

現在氯雷他定是離不開了,一停藥,過兩天又開始癢。不過最近我準備換一種藥:鹽酸西替利嗪。這種藥也有很多別名,且非常之多:

仙利特    仙特敏    賽特贊   貝分   二鹽酸西替利嗪    路成    安迪西司    聯雙    威狄敏    休斯    適迪    喜甯   怡蒙    安迪片    貝分    仙特明    斯特林    賽特贊    疾立靜    希特瑞     利蒙    比特力    西可韋    立泯    爽特    希瓦丁    昔利    雪町    盈信美舒    伊維妥    天力達     敏達    達內


以國外的舶來品最貴,而且包裝規格也不一樣:10/盒、6/盒、7/盒。不過一般都是有效成分10mg/片,購買時認准成分含量和規格,選擇一個合理價格的。

我先試驗著,有情況向大家作彙報。

July 23

歐洲粒子加速器將於今年8月下旬進行首次粒子對撞

記得我在上中學的時候這個粒子加速器就在建設了,那個時候,英國人霍金不止一次提到這個裝置,它能類比宇宙大爆炸。現在終於聽到消息:歐洲粒子加速器將於今年8月下旬進行首次粒子對撞。

這真的很有吸引力,讓我們一起期待吧。


歐洲粒子加速器由位於瑞士日內瓦城外的歐洲粒子物理研究中心(CERN)負責運營。

July 17

Adobe AIR將支持ActiveX?

今天看到Flex SDK4突然釋放出說明,有下面這一條:

Automation support in AIR

這意味著什麼,Automation是什麼?如果是ActiveX Automation那麼就太棒了,我期待最終證明的這一天。

提示:我們將在未來幾個月內發佈《Flex開發王》,敬請注意。

我現在有兩個BLOG可以訪問並與我交流:

http://cn.zhang-yafei.com/(簡體)

http://tw.zhang-yafei.com/(繁體)

July 16

Flex SDK 4發佈了

今天,Adobe終於釋放出了Flex SDK 4的正式版,你可以從這裏下載:

http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4

才過了一天就有了一次版本更新,真快呀。


學習Flex一定得找准方向,胡亂搞肯定不行。

July 15

韓國喜劇《猛男誕生記》,非常值得一看

韓國喜劇影片《猛男誕生記》,非常值得一看,不是三級片,所以請盡可放心。目前韓國電影水準直追好萊塢啊,應該已經超過了印度電影水準。

下面是一些場景:

《猛男诞生记》

想不到是什麼吧,其實你小時候也幹過的,呵呵。

《猛男诞生记》

這個更猛了,讓瀑布改變了道路。下麵還有更猛的。

《猛男诞生记》


《猛男诞生记》

成噴泉了。想不到是什麼吧,看看下面嘍:


《猛男诞生记》

噴泉就是這樣搞定的,哈哈哈,趕快去看吧。
July 02

今天,Google官方的一個Blog正式聲明他們將支持Flash內文搜索,這並不奇怪

今天,在Google官方的一個Blog看到了Google正式聲明他們將支持Flash內文搜索的消息,原文地址址:


  http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html


應該說這並不奇怪,因為很久之前就已經可以搜索Flash內文,現在僅僅是宣佈罷了。同時也應該注意到,即使Google能夠搜索Flash內文,它也既不能證明Flash就會比預料的更好,也不能證明比預料的就更差。關鍵在於,你的成果是否能夠為用戶帶來收益:


商業用戶需要的是低成本所帶來的高收益,而最終的消費者需要的是最佳的體驗。


只有緊緊圍繞這個目標的軟體才最終有前途。

July 01

真的很奇怪,我得說我跟他有同樣想法

今天在CSDN看到一篇文章,推薦給大家看一下:

 

InfoWorld主編致信鮑爾默:拯救XP的最後機會

http://news.csdn.net/n/20080701/117059.html

 

這篇文章歷數了vista的不足和缺陷,並建議微軟能夠延長XP的產品生命週期,他的很多想法和我的一致:既然很多用戶還未真正想使用vista,那麼何妨再讓XP多活幾年,畢竟,它不過是一個桌面系統而已,不是server,也不是office

June 28

[PHP開發王]目錄

第Ⅰ篇  PHP动态网站基础入门篇

01  建立首要的、基础的正确认知

02  PHP基础——PHP动态网页和PHP语法基础

03  PHP基础——数据运算和流程控制

04  PHP基础——使用预定义函数和创建自定义函数

第Ⅱ篇  交互应用程序和数据库应用程序篇

05  PHP动态网页的请求和响应

06  PHP使用表单开发交互式应用程序

07  PHP和数据库集成——使用PDO访问数据库

08  PHP和数据库集成——数据库设计和SQL语法

09  PHP和数据库集成——深入PDO

第Ⅲ篇  PHP应用程序高级进阶篇

10  PHP中使用正则表达式

11  SessionCookies和状态管理

12  网页的国际化和区域化

13  PHP脚本出错、调试与异常情况处理

14  PHP网络应用程序的安全

15  PHP网页内使用类和面向对象PHP开发

第Ⅳ篇  PHP应用程序架构和PHP扩展应用篇

16  PHP网络应用程序基础架构和PHP扩展

17  使用MySQL数据库函数和MySQLi扩展

18  使用PHP操作文件系统

19   使用PHP结合XML开发

20  使用PHP发送和接收电子邮件

21   PHP事务和关键应用

附件

附件A  PHP关键字列表

附件B  常用字符集速查表

附件C  PHP支持的时区字符串列表

附件D  php.ini核心配置选项说明

附件E  测试题答案

附件F  参考文献以及资料来源

[JSP開發王]目錄

第Ⅰ篇  JSP动态网站基础入门篇

01  建立首要的、基础的正确认知

02  JSP基础——JSP动态网页和Java语言基础

03  JSP基础——流程控制、数据运算和运算的封装

04  JSP基础——了解和使用常用内建类

第Ⅱ篇  交互应用程序和数据库应用程序篇

05  JSP动态网页的请求和响应

06  JSP使用表单开发交互式应用程序

07  JSP和数据库集成——使用JDBC访问数据库

08  JSP和数据库集成——数据库设计和SQL语法

09  JSP和数据库集成——深入JDBC

第Ⅲ章  JSP应用程序高级进阶篇

10  SessionCookies和状态管理

11  JSP内建对象

12  网页的国际化和区域化

13  JSP脚本出错、调试与异常情况处理

14  JSP网络应用程序的安全

第Ⅳ章  JSP应用程序架构和面向对象开发篇

15  JSP网络应用程序基础架构

16  JSP内使用类和面向对象Java开发的基础

17  JSPJava Servlet的关系与部署

18  基于容器的安全和Tomcat领域(Realm

19  使用JSP操作文件系统

20  使用JSP结合XML开发

21  使用JSP发送和接收电子邮件

22  JSP事务和JTA

第Ⅴ章  JSP标签库、动作和实用功能应用篇

23  JSP网页中使用JavaBeans

24  使用统一表达式语言(Unified EL

25  使用JSP标准标签库(JSTL

26  JSPXML语法格式和标准动作标签

27  创建JSP自定义标签

28  深入JSP网络应用程序基础架构和MVC架构

29  JSF入门——使用基于MVC架构的实现

附件

附件A  JSP内建对象速查卡

附件B  常用字符集速查表

附件C  参考文献以及资料来源

[Flash ActionScript 3.0開發王]目錄

第Ⅰ篇  Flash开发和ActionScript语言基础入门篇

01  建立首要的、基础的正确认知

02  ActionScript3.0语言基础——变量和语法约定

03  ActionScript3.0语言基础——数据运算和流程控制

04  ActionScript3.0语言基础——使用全局函数和创建自定义函数

05  创建基于时间轴的应用程序

06  开发Flash应用程序的三个基本步骤

第Ⅱ篇  精通Flash Foundation ClassOOP

07  使用基本的ActionScript顶级类

08  影片剪辑控制、多时间轴和显示列表

09  事件处理和基本的交互控制

10  设计用户界面和使用组件

11  Flash中使用声音

12  Flash中使用视频

13  FlashXML集成开发

14  创建网络应用程序

15  ActionScript中使用正则表达式

16  ActionScript脚本调试原理与技术

17  创建自定义类和进行面向对象的编程

第Ⅲ篇  动态创建图形和动画效果

18  使用过渡效果相关类动态创建动画效果

19  使用滤镜动态处理影片剪辑以增加特效

20  动态处理图形和位图以增加特效

第Ⅳ篇  高级主题

21  系统支持侦测与设置

22  应用程序影片的发布和调整

附件

附件A  默认值的改变

附件B  保留的关键字

附件C  关于ActionScript 1.0使用原型来实现面向对象开发

附件D  键盘键和键控代码值对照表

附件E  参考文献以及资料来源

CDROM上的文档

因为太多,所以,某些章节放在了CDROM上。

eBook_01  什么是舞台和时间轴

eBook_02  如何创建影片剪辑元件和按钮元件

eBook_03  Flash CS3中使用声音的基础知识

eBook_04  XML文档基本语法

eBook_05  使用滤镜效果类

[ASP開發王]目錄

第Ⅰ篇  ASP动态网站基础入门篇

01  建立首要的、基础的正确认知

02  ASP动态网页和VBScript基础

03  流程控制、数据运算和运算的封装

04  使用内建函数和集合

第Ⅱ篇  交互应用程序和数据库应用程序篇

05  ASP动态网页的请求和响应

06  ASP使用表单开发交互式应用程序

07  ASP和数据库集成——使用ADO访问数据库

08  ASP和数据库集成——数据库设计和SQL语法

09  ASP和数据库集成——深入ADO内建对象

第Ⅲ篇  ASP应用程序高级进阶篇

10  面向对象的VBScript脚本开发和ASP内建对象

11  SessionCookies和状态管理

12  全局设置和Global.asa文件

13  网页的国际化和区域化

14  ASP脚本出错、调试与异常情况处理

15  ASP网络应用程序的安全

第Ⅳ篇  ASP应用程序架构和COM组件应用篇

16  ASP网络应用程序基础架构和COM组件开发

17   使用ASP内建组件

18  使用ASP操作文件系统

19   使用ASP结合XML开发

20  使用ASP发送和接收电子邮件

21   ASP事务和事务组件开发

附件

附件A  ASP内建对象速查卡

附件B  使用正则表达式

附件C  其它