五月天山雪

          五月天山雪,無花只有寒。笛中聞?wù)哿荷丛础詰?zhàn)隨金鼓,宵眠抱玉鞍。愿將腰下劍,直為斬樓蘭。 ——李白《塞下曲》
          posts - 8, comments - 53, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2005年11月21日

          8月過得頗為不順,發(fā)生的最大一件事情是竊賊入室偷走了筆記本電腦(還是在深夜家中有人熟睡的情況下!),丟失了1個(gè)多月的工作量。因?yàn)檎惺盏某绦騿T尚未到位,因此也沒有想過準(zhǔn)備一個(gè)cvs服務(wù)器或者備份到其他機(jī)器,就算備份也僅僅在本機(jī)上留下一個(gè)副本。
          我當(dāng)時(shí)的心,就和石頭里的那個(gè)Mike差不多,我頂你個(gè)肺啊。按照趙澤欣的話來說,如果他的筆記本丟了,他連自殺的念頭都有了。
          除此之外沒有丟失其他任何東西,竊賊的目的性很強(qiáng),就是偷走筆記本電腦,看來已經(jīng)被盯上多時(shí)了。報(bào)案兩個(gè)多星期了,至今沒有收到公安局的任何消息,追回的希望非常渺茫。其實(shí)財(cái)物都是小事(即使平白丟失1萬元,我也不會感到多么心疼),主要還是里面的資料和工作。三年多來收集的電子書,還有以前的工作內(nèi)容和文檔資料,全部丟失,等于是三年的記憶被整個(gè)抹去了。

          隨后做的事情就是想辦法補(bǔ)救和挽回?fù)p失。購買了新的筆記本電腦。在公司的服務(wù)器上配置好了ssh server、rsync server和cvs server,所有的工作和重要的資料全部通過兩種方式備份:
          1. 使用rsync備份到服務(wù)器上。
          2. 所有的代碼都提交到cvs服務(wù)器中。

          隨后就是兩周多艱苦的工作。

          對于一個(gè)公司的經(jīng)營者來說,重要數(shù)據(jù)的異地備份是一件非常重要的工作。911事件發(fā)生后,很多公司很快恢復(fù)經(jīng)營,就是因?yàn)樗麄円幌蛑匾晜浞莨ぷ鳌7駝t,突發(fā)事件造成的后果對于公司來說是毀滅性的。這次意外同樣也為我們敲響了警鐘。

          今年總是發(fā)生一些最壞的情況,因此不可再存有任何僥幸心理,做好備份是最佳的防范措施。老天不厚待我,自己更要謹(jǐn)慎小心。

          posted @ 2006-08-27 22:29 dlee 閱讀(2190) | 評論 (4)編輯 收藏

          Ajax in Action這本書的翻譯工作量是非常大的,英文原版就有680頁,中文版印刷出來也有520頁。這本書的內(nèi)容在目前所有Ajax著作中是最深的。作者在很多地方的英文用法比較怪(也可以說是很有特色),還特別喜歡使用俚語。工作量大、內(nèi)容深、古怪的語法都增大了我們的翻譯難度。這本書的翻譯團(tuán)隊(duì)于去年12月底成立,到最后第10章翻譯、校對、潤色完成提交給出版社(每一章翻譯、校對、潤色完成后即提交給出版社,以便翻譯團(tuán)隊(duì)與編輯并行工作)是4月3日,4月4日我又寫了譯者序。出于對翻譯質(zhì)量的嚴(yán)格要求和本著對讀者負(fù)責(zé)的精神,我最后完成任務(wù)比合同中的期限晚了半個(gè)月。按照以前參與翻譯J2EE without EJB的經(jīng)驗(yàn),我預(yù)計(jì)這本書肯定要在一個(gè)月之后,即到了五一長假之后才有可能面世。然而,大大出乎我的意料,兩個(gè)星期之后,他們就已經(jīng)印出了樣書,并且在4月25日之前完成了第一次印刷的8000本書(實(shí)現(xiàn)了出版社對讀者的鄭重承諾:五一之前讓讀者見到這本書)。除了翻譯之外,這本書的編輯和排版的工作量同樣是巨大的。他們加班加點(diǎn),任勞任怨地完成了工作。雖然第一次印刷有一些錯(cuò)誤,但是總的說來,第一次印刷是高質(zhì)量的。我作為翻譯團(tuán)隊(duì)的總負(fù)責(zé)人,可以保證這本書的譯文不存在任何大的技術(shù)差錯(cuò)。經(jīng)過了出版社編輯的進(jìn)一步潤色,使得這本書閱讀起來又流暢了很多。

          我感覺我這一次是在與一個(gè)英雄的群體共同工作,這是一次非常愉快的體驗(yàn)。除了共同參與翻譯的幾位譯者(他們的名字印刷在最后一頁“譯者簡介”中)之外,請記住圖靈公司這些英雄的名字:責(zé)任編輯傅志紅、主編劉江、銷售總監(jiān)謝工,還有一些我不知道姓名的同志。除去了春節(jié)休息的半個(gè)月時(shí)間,我們僅僅只花了3個(gè)半月時(shí)間就高質(zhì)量地完成了一本680頁的譯著(在此期間,我們還共同主辦了國內(nèi)第一個(gè)Ajax大賽)。在國內(nèi)的出版單位來說,可以說是非常高的效率了。我感覺圖靈公司是一個(gè)非常棒的出版單位,因?yàn)樗麄兊墓ぷ餍适欠浅8叩模瑢τ诠ぷ饔泻軓?qiáng)的緊迫感,對于市場有著敏銳的感覺,但是對于圖書質(zhì)量仍然保持著嚴(yán)格的要求。

          我很喜歡與這樣的團(tuán)隊(duì)合作,國內(nèi)多一些這樣的出版單位,就是讀者的福氣。

          posted @ 2006-05-26 20:37 dlee 閱讀(4050) | 評論 (7)編輯 收藏

          《實(shí)戰(zhàn)Struts》(Struts in Action中文版)是Struts核心開發(fā)人員寫的一本非常好的書,但是這本書的中文版翻譯的問題比較多,如果不對照著原文來看,很多地方的理解就會誤入歧途。相比之下,我們的《Ajax實(shí)戰(zhàn)》的翻譯質(zhì)量真的是很值得自豪的。

          posted @ 2006-05-26 16:21 dlee 閱讀(1577) | 評論 (4)編輯 收藏

          前不久我們所建立的社區(qū):中國 Web 標(biāo)準(zhǔn)化計(jì)劃
          http://www.agilefaith.com/webstandards/
          原意是為了在中國推廣真正的 Web 標(biāo)準(zhǔn)。
          最近我看到國內(nèi)已經(jīng)有熱心的朋友建立了類似的社區(qū):
          http://www.w3cn.orghttp://www.sharkui.com
          由于我們目前正在寫作和翻譯 Ajax 方面的著作,我們的核心任務(wù)是宣傳和普及 Ajax 技術(shù)。宣傳 Web 標(biāo)準(zhǔn)當(dāng)然也非常重要,不過相對來說是一個(gè)次要的目標(biāo),而且我們可以通過和國內(nèi)的已有社區(qū)合作來達(dá)到這個(gè)目標(biāo)。
          由于以上的考慮,所以我今天又注冊了 ajaxcn.org 這個(gè)域名。并且把社區(qū)的名稱改為“Ajax 中國”。以后可以直接通過這個(gè)網(wǎng)址來訪問:
          http://www.ajaxcn.org

          我們將把這里建設(shè)成為中國一流的 Ajax 技術(shù)和交互設(shè)計(jì)的討論中心,這個(gè)社區(qū)是值得大家期待的!

          posted @ 2005-12-09 23:18 dlee 閱讀(3020) | 評論 (6)編輯 收藏

          按照前兩天的計(jì)劃,建立好了這個(gè)計(jì)劃的網(wǎng)站。網(wǎng)站地址為:
          http://www.agilefaith.com/webstandards/

          這個(gè)網(wǎng)站使用 SnipSnap 來建立,這是開源軟件,同時(shí)具有 blog 和 wiki 的功能。功能還是很強(qiáng)大的,而且安裝起來非常容易,不過沒有提供所見即所得的編輯器,使用起來不大方便。pLog 和 .Text 都是更好的 blog 軟件,不過沒有 wiki 的功能,而且我也不熟悉 PHP 和 ASP.NET。

          使用上有任何不便,都是我的責(zé)任,如果能解決我會盡量解決。有使用問題的可以點(diǎn)擊歡迎進(jìn)入信息的最后到 usage 頁面的鏈接,在后面跟帖,我會盡快解答的。

          這里將成為一個(gè)討論 Web 標(biāo)準(zhǔn)、Ajax 技術(shù)和交互設(shè)計(jì)的地方,歡迎跟我們有相同理念的朋友加入。如果對于 Web 標(biāo)準(zhǔn)完全不感興趣,那就不必參與了。我們的時(shí)間也非常寶貴,不想過多浪費(fèi)在爭論之中。小平說:不要爭論。中國這么大,應(yīng)該可以容的下不同的觀點(diǎn)的。

          Have fun!

          posted @ 2005-11-28 23:02 dlee 閱讀(2423) | 評論 (2)編輯 收藏

          不要誤解,我們不是想去參與制定 Web 標(biāo)準(zhǔn)。我們只是希望把和我們具有相同理念的 Web 開發(fā)人員、設(shè)計(jì)師組織起來,促進(jìn)真正的 Web 標(biāo)準(zhǔn)在中國的應(yīng)用。

          為什么會有這個(gè)想法呢?因?yàn)?Web 標(biāo)準(zhǔn)目前在中國的應(yīng)用現(xiàn)狀實(shí)在是非常差的。一些大型的網(wǎng)站意識到了這個(gè)問題,采取了一些努力,但是情況仍然很不樂觀。我來舉個(gè)例子,新浪的郵箱以前是可以 很好地支持 Firefox 的訪問的,但是自從他們的郵箱界面改版了之后,F(xiàn)irefox 就無法正常訪問了,那些按鈕對于 Firefox 全部都失靈了!
          最近我讀了很多國外 Ajax 方面的書籍和資料。一個(gè)共同的特點(diǎn)是老外都非常重視采用真正符合標(biāo)準(zhǔn)的方式來做開發(fā),因此他們開發(fā)的網(wǎng)站和 Web 應(yīng)用可以支持所有主流的瀏覽器,可用性達(dá)到了非常高的程度。隨便你使用 IE、Firefox、Opera ... 都是一樣愉快的使用體驗(yàn)。而國內(nèi)的很多網(wǎng)站,都強(qiáng)迫用戶只能使用 IE 來訪問,甚至只能使用 IE 6.0 來訪問!
          中國有沒有 Ajax 高手?在我看來即使有也是很少的。沒錯(cuò),中國有很多 JavaScript 的高手,但是要是把他們稱作 Ajax 高手,他們是不夠格的,因?yàn)樗麄兏揪筒欢?Web 標(biāo)準(zhǔn)。他們對 IE 追隨的太緊了,把他們稱作 JScript(一種 M$ 模仿 JavaScirpt 創(chuàng)造出來的私有頁面腳本語言)絕頂高手是最符合實(shí)際的。

          這是不是一種落后和愚昧?至少在我看來是的。瀏覽器大戰(zhàn)早已硝煙散盡,如今的瀏覽器都已經(jīng)可以很好地支持 Web 標(biāo)準(zhǔn)。完全采用符合 Web 標(biāo)準(zhǔn)的方式做開發(fā),從成本上已經(jīng)完全可行,甚至大部分情況下成本還會更低。

          Designing With Web Standards 的作者 Zeldman 在 90 年代末成立了 the Web Standards Project(www.webstandards.org)。正是在這個(gè)組織的推動和努力下,結(jié)束了 90 年代末的瀏覽器大戰(zhàn)。其實(shí)主要還是說服了 M$ 走向真正順從標(biāo)準(zhǔn)的道路,M$ 和 W3C 的關(guān)系是非常僵的。

          我們希望為改變目前的現(xiàn)狀,改善國內(nèi) Web 應(yīng)用的可用性和交互設(shè)計(jì)而做些事情,所以我們決定成立一個(gè)中國 Web 標(biāo)準(zhǔn)化組織。這個(gè)組織完全是一個(gè)民間組織,由渴望取得進(jìn)步的 Web 開發(fā)人員和設(shè)計(jì)師組成,并且向所有贊同我們理念的人開放。

          這個(gè)組織的創(chuàng)始成員為莊表偉、趙澤欣、李錕。他們是在 JavaEye 論壇(forum.javaeye.com)結(jié)識的好友,就是論壇中的莊表偉、醒來、dlee。網(wǎng)站的訪問方式將在隨后幾天公布。

          posted @ 2005-11-26 14:52 dlee 閱讀(3537) | 評論 (15)編輯 收藏

          在 WebWork 對于 Ajax 支持的 presentation 中,作者說了這么一句耐人尋味的話:
          AJAX is really just a bunch of JavaScript, HTML, and sloppy logic smashed together in a big train wreck!
          并且作者還用粗體加重。
          看不懂嗎?我來翻譯一下:
          Ajax 其實(shí)不過是一堆 JavaScript、HTML 和膨脹的邏輯混合在一輛巨大的失事火車?yán)锩妗?br>
          嘿嘿,這就是 WebWork 開發(fā)者們對于 Ajax 的看法,那么他們對于 Ajax 的支持方式也就不難理解了。
          基本上,傳統(tǒng)的 J2EE 開發(fā)者對于基于 JavaScript 的技術(shù)持有一種發(fā)自內(nèi)心的輕視。他們也不相信 Java 開發(fā)人員可以寫好 JavaScript —— 所以,不應(yīng)該由開發(fā)人員自己來寫 JavaScript,而應(yīng)該由框架來自動生成 JavaScript。封裝在 tag 中就成了一種非常自然的選擇。

          現(xiàn)在我要問的問題是,我們是否應(yīng)該依賴這么多自動生成的 JavaScript?萬一遇到了復(fù)雜的情況,這些 tag 不適用,我們是不是還是要去找到源頭,修改生成 JavaScript 的代碼?
          更進(jìn)一步,過于依賴這些自動生成的代碼可能會阻礙我們采用更先進(jìn)的 Web 技術(shù)。例如完全基于 CSS 的布局、structure/presentation/behaviour(分別由 XHTML/CSS/DOM 規(guī)范代表,位于 html/css/js 文件中)完全的分離以實(shí)現(xiàn)最大限度的頁面重用。

          現(xiàn)在 POJO 這個(gè)詞相信已經(jīng)深入人心,我們是否應(yīng)該再考慮一下 Plain HTML、Plain JavaScript 了?

          posted @ 2005-11-21 19:46 dlee 閱讀(3061) | 評論 (5)編輯 收藏

          看完了 WebWork 支持 Ajax 的 presentation
          (http://wiki.opensymphony.com/download/attachments/2179/AJAX.ppt),感覺相當(dāng)?shù)氖?br> WebWork 對于 Ajax 的支持主要是通過引入新的 tag 來實(shí)現(xiàn)的。但是根據(jù)目前的文檔看來,這幾個(gè) tag 的能力還相當(dāng)有限。這些 tag 能做幾件事情:
          1、動態(tài)刷新頁面中的某一部分。這一部分封裝在一個(gè) div 中,通過輪循方式或者事件觸發(fā)的方式來改變其內(nèi)容。理論上可以在 div 內(nèi)放入任何內(nèi)容。
          2、通過一個(gè) a 超鏈接或 submit 按鈕來執(zhí)行一段 JavaScript,并且可以觸發(fā)一個(gè)事件。事件模型是由 DOJO 庫來定義的。
          3、可以生成 tabbed pane,使用 tab 切換不同的內(nèi)容,也可以在切換的同時(shí)觸發(fā)一個(gè)事件。
          4、還有一個(gè) tree 控件,同樣使用 WebWork 新增的 tag 來生成和配置。

          目前看來基本上只能做這幾件事情。如果要做更復(fù)雜的事情,只能自己編寫 JS 代碼調(diào)用 DOJO 或者第三方庫的功能。這幾件事情都是相當(dāng)容易的 Ajax 技巧,沒有一件是必須要使用 tag 這樣丑陋的方式來實(shí)現(xiàn)的。我們來看看 WebWork 作者的一段實(shí)例代碼:
          <#list categories as cat>
            <#if cat.children.size > 0>
              <#assign icon="plus"/>
            <#else>
              <#assign icon="square"/>
            </#if>
            <@ww.a notifyTopics="children_${cat.id}"
                   href="toggle.action?id=${cat.id}">
              <img src="${icon}.gif"/>
            </@ww.a>
            [EXAMPLE CONTINUED]
          </#list>
          這是 WebWork 支持的一個(gè) tree 控件的一部分代碼。
          在我看來這段代碼實(shí)在是難看的要死。本來我要把頁面中的邏輯,就是 behaviour 分離到獨(dú)立的 js 文件中的,現(xiàn)在又多了這么一堆服務(wù)器端的邏輯!我就是很討厭在 html 里面嵌入一大堆邏輯,無論是服務(wù)器端執(zhí)行的還是瀏覽器端執(zhí)行的。html 里面應(yīng)該只有 structure!

          WebWork 使用的 Dojo 庫目前還缺少很重要的一塊——對于 DataGrid 的支持。DataGrid 是 B/S 架構(gòu)企業(yè)應(yīng)用表示層的核心組件,也差不多是開發(fā)量最大的組件。沒有對于 DataGrid 的支持,怎么看都像是個(gè)玩具。目前已經(jīng)有開源的 ActiveGrid(http://www.activegrid.com)可以做這件事情,如果熟悉 JavaScript 的話可以直接調(diào)用。
          還有一個(gè)問題,WebWork 的 tag 生成的代碼中含有大量的 table,如果想用 CSS 做布局,看來是不太可能了。
          怎么樣?看上去很美,Java 程序員不需要學(xué)習(xí)任何 JavaScript,全部使用 tag 就可以達(dá)到 Ajax 的效果。問題就是這個(gè)目標(biāo)是否真的現(xiàn)實(shí)。況且,還有大量根本就不喜歡使用 tag 的 Java 程序員呢?

          posted @ 2005-11-21 16:46 dlee 閱讀(6250) | 評論 (10)編輯 收藏

          主站蜘蛛池模板: 郧西县| 涞源县| 隆安县| 车致| 西峡县| 阜阳市| 衢州市| 天水市| 武清区| 泽州县| 莱芜市| 南昌市| 荔浦县| 溆浦县| 新邵县| 安图县| 阿巴嘎旗| 巴青县| 黄梅县| 满洲里市| 盐亭县| 海门市| 南木林县| 分宜县| 温泉县| 吉水县| 锦屏县| 甘德县| 铜鼓县| 衡南县| 灌阳县| 通渭县| 大宁县| 长葛市| 邵阳市| 含山县| 龙海市| 肇源县| 安溪县| 万全县| 武威市|