五月天山雪

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

          2006年8月27日

          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萬元,我也不會(huì)感到多么心疼),主要還是里面的資料和工作。三年多來收集的電子書,還有以前的工作內(nèi)容和文檔資料,全部丟失,等于是三年的記憶被整個(gè)抹去了。

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

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

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

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

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

          2006年5月26日

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

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

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

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

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

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

          2005年12月9日

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

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

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

          2005年11月28日

          按照前兩天的計(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é)任,如果能解決我會(huì)盡量解決。有使用問題的可以點(diǎn)擊歡迎進(jìn)入信息的最后到 usage 頁面的鏈接,在后面跟帖,我會(huì)盡快解答的。

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

          Have fun!

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

          2005年11月26日

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

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

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

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

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

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

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

          2005年11月21日

          在 WebWork 對(duì)于 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ā)者們對(duì)于 Ajax 的看法,那么他們對(duì)于 Ajax 的支持方式也就不難理解了。
          基本上,傳統(tǒng)的 J2EE 開發(fā)者對(duì)于基于 JavaScript 的技術(shù)持有一種發(fā)自內(nèi)心的輕視。他們也不相信 Java 開發(fā)人員可以寫好 JavaScript —— 所以,不應(yīng)該由開發(fā)人員自己來寫 JavaScript,而應(yīng)該由框架來自動(dòng)生成 JavaScript。封裝在 tag 中就成了一種非常自然的選擇。

          現(xiàn)在我要問的問題是,我們是否應(yīng)該依賴這么多自動(dòng)生成的 JavaScript?萬一遇到了復(fù)雜的情況,這些 tag 不適用,我們是不是還是要去找到源頭,修改生成 JavaScript 的代碼?
          更進(jìn)一步,過于依賴這些自動(dòng)生成的代碼可能會(huì)阻礙我們采用更先進(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 閱讀(3057) | 評(píng)論 (5)編輯 收藏

          看完了 WebWork 支持 Ajax 的 presentation
          (http://wiki.opensymphony.com/download/attachments/2179/AJAX.ppt),感覺相當(dāng)?shù)氖?br> WebWork 對(duì)于 Ajax 的支持主要是通過引入新的 tag 來實(shí)現(xiàn)的。但是根據(jù)目前的文檔看來,這幾個(gè) tag 的能力還相當(dāng)有限。這些 tag 能做幾件事情:
          1、動(dòng)態(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 庫目前還缺少很重要的一塊——對(duì)于 DataGrid 的支持。DataGrid 是 B/S 架構(gòu)企業(yè)應(yīng)用表示層的核心組件,也差不多是開發(fā)量最大的組件。沒有對(duì)于 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 閱讀(6246) | 評(píng)論 (10)編輯 收藏

          主站蜘蛛池模板: 甘谷县| 光山县| 湘阴县| 祁东县| 凉城县| 秦皇岛市| 吉林省| 阿图什市| 禄丰县| 城步| 贵德县| 溆浦县| 漳平市| 湖州市| 玛沁县| 仙游县| 寻甸| 富锦市| 青神县| 娄烦县| 资溪县| 西林县| 榆社县| 莲花县| 昌都县| 夏河县| 富阳市| 樟树市| 南部县| 新龙县| 广河县| 康乐县| 合阳县| 大方县| 南川市| 合川市| 修水县| 高淳县| 泰来县| 闸北区| 忻州市|