kukooBlog
look to the master, follow the master, walk with the master, see through the master, become the master.

June 22, 2005

ProgrammingIcon 2005 June WebSphere Dev Tech Journal

Posted @ 1:45 pm+8 in Programming | Licensed under a Creative Commons License

The June 2005 issue of IBM WebSphere Developer Technical Journal is now available.

Some especially articles that I am interested in this issue:
 

Browse the journal online or download the PDF.

 

Yourit Technorati cosmos Refresh Technorati

ProgrammingIcon [收藏] “那本”J2EE书

Posted @ 9:21 am+8 in Programming | Licensed under a Creative Commons License

目前正在重读《Core J2EE Patterns》这本书。经历了几年的编程生活和系统设计,重读这本书的第二版,感触良多。 恰好看到gigix在blog中发表的“那本”J2EE书——《J2EE核心模式》(第二版)译者序 。 虽然我很少看中文的技术书籍,但是这篇译者序却值得收藏,收录在自己的blog中。借此,感谢译者翻译这本书,为广大的中国程序员带来了一本好书。

 

“那本”J2EE书
 
刘天北 熊节
 
(原文刊登于《中华读书报》2005年2月23日号)
 

  翻开这本《J2EE核心模式》,你首先就会注意到软件方法论领域的两位大师GradyBooch和MartinFowler撰写的序言。在这样两份序言后面再附上一篇“译序”,这个念头本身就足够荒谬和僭越,不啻于在莎翁之后再写一出关于丹麦王子复仇的剧本。大师们的判断是中肯而毫不含糊的:“没有这本书,就别开发EJB。”他们的担保足以确认本书在其论域中舍我其谁的地位。它就是“那本”J2EE书(THEJ2EEbook)。

  当然,对于广大中国开发者而言,我们早就已经在“没有这本书”的条件下开发了大量J2EE、乃至EJB应用系统。那些充满了波折和磨难的开发历程似乎让不少程序员产生了某种自信;在掌握了若干API细节、若干应用服务器配置诀窍、若干框架类库用法之后,他们或是公开、或是暗自地把自己当成了当之无愧的Java企业开发专家———不,这些话没有任何揶揄的意思:我们想说的其实是,本书恰恰是为以上这一类开发者写的。对于他们想成为
“Java企业开发专家”的隐秘欲望,这本《J2EE核心模式》就是最大限度的补救和成全。如果说,此前的各种教程都是在介绍J2EE开发中的“内容”要素———也就是,教给我们“做什么”———的话,本书关注的则是这里的“形式”要素,是“怎样做”才能开发出高效的、优雅的J2EE系统。读者从中学到的,将不仅仅是“J2EE技术”,而是“如何使用J2EE技术进行设计”。

  换句话说,如果你以前没有过J2EE实践,但明早将应聘一个需要“1年J2EE开发经验”的职位,本书中不包含你今晚要彻夜吞咽的那一类知识;相反,如果你,这位隐形的“Java企业开发专家”,追求的职位是“资深Java应用系统架构师”,如果你预料到未来的上司明天将问起“怎样实现访问控制”、“何时采用细粒度的接口设计”等“高阶”问题,那么恭喜你,今晚———乃至今后———你选对了补课的读物。

  作为本书第一版的忠实读者,我们(半是欣喜、半是惊讶)发现眼前的这部第二版构成了全新的阅读经验。作者们按照最新版J2EE技术规范(尤其是EJB2.1)全面修订了技术细节;根据模式社区的研究交流,作者们补入了若干模式;即使是一些不涉及技术更新的部分,论述方式、示例也完全不同于第一版;原有的PSA项目(第一版“尾声”一章)融入了其余各章的“示例代码”部分;而新增的整整一章讨论“微架构”的尾声、对WebService
等技术的关注、对各种的持久化方案(定制持久化、EJB、JDO等)的深入讨论,都体现出作者们对本书新版的持续投入。

  受益于本书有年,在此我们也想不揣冒昧地为本书的中国读者们建议一条高效的阅读路径:与第一章相比,第五章“J2EE模式概览”是读者更合理的起步点。请尤其关注其中对“分层”、“术语”和模式/策略区别的讨论,这些都是贯穿全书的重要概念!其次,应该通读第二章“表现层设计考虑和不佳实践”和第三章“业务层设计考虑和不佳实践”:即使你不打算使用任何模式,甚至,即使你根本不关心J2EE开发,只要你的工作与分布式企业应用系统有关,这两章考察的问题都是你迟早会遇到的。至于每个具体模式本身,我们则推荐读者留意其中详尽的“策略”部分和那些散布其中的“设计手记”。前者讨论了对同一个模式的多种实现方案,后者则突出介绍了特定开发领域的一些核心概念和考虑。

  一部英文技术论著在汉语中的旅行,永远是一段难以捉摸的行程。对于本书的汉语译者,“技术难度”并非挑战:全书讨论的正是译者们最为熟知的一个领域,所以我们能够负责任地说,在这个中译本里,没有任何技术细节会因为译者的无知或生疏而发生变形或曲解。这次翻译的原则和前提是对原文的彻底领会。

  事实上,译者的工作中遇到的困难主要发生在“语汇”层面。简单地说,J2EE专著的译者总要面对“翻,还是不翻”的两难处境:对象、函数的名称,UML图中的各种元素,这些内容由英语表示早就是约定俗成,即使是英语程度略低的开发者大概也都能读懂,所以,在读者能够理解的部分尽可能保留原文似乎是一种合理的做法———毕竟开发工作最终是与代码有关,而代码则肯定是要出之以“英文”的。但在另一方面,翻译的责任就在于让不谙原文的读者也能通达作品,如果译文中大量段落(不包括示例代码)都仍保留为英文或“类英文”,那么读者也就无法直观地获得原文包含的信息。反复权衡之后,在这个译本中译者的解决方式还是折衷的。工作中我们采取了以下原则:

  首先,术语尽可能采用通用文献定译,不自创译法。对于各个模式的名称、模式文档模版各部分名称、重构手法名称,我们参考了李英军等译《设计模式》、熊节等译《重构》等译作,以及IBMDe鄄veloperWorks中文网站的部分资源。

  其次,本领域的一些常见术语,如果没有定译,本书也不自我作古、强译为中文,而是保留英文原字。这一类的术语包括:applet、
servlet、bean、entitybean、sessionbean、cookie、WebService等。根据我们的观察,在日常工作中,国内的开发者已经习惯按原文使用以上术语。在一些情况下,我们也以注释形式澄清了这些术语的用法。

  第三,模式中的对象名称,往往按照代码风格命名,比如“BusinessObject”、“CustomerTO”等。如果对此完全不加翻译,那么很多充斥这类表达的段落就很难理解。我们的原则是,在每个自然段第一次出现某个这类表达方式时,用括号注明,比如 “BusinessObject(业务对象)”、“CustomerTO(客户传输对象)”等。希望这个做法能够维持易懂和简洁之间的平衡。

  第四,书中示例代码占有相当大的比重,而代码注释则是理解这些代码的关键。我们把所有代码注释译为中文。而对在视图中显示特定结果的代码(比如调试信息等),我们没有改为中文,只是在必要时对输出信息的涵义加以注解。如果读者更信赖代码原貌,还可以从本书官方网站http //www.corej2eepatterns.com/下载。

  第五,原书不包含注释。目前的所有注解都是译注。书中申义未畅处,译文中以方括号“
”加以解释、补足,略去生涩。这与上面两条原则一样,都类似于在原作讲话时的插嘴———但翻译任务本身,似乎本就已经是一种“插嘴”了。在博学的读者看来,有时候译者或许还不如保持体面的沉默———但我们只能力图做到插嘴而不多嘴。

  原书经多人、多版修订完成,难免存在打字、排印错误。译本根据本书官方网站的最新勘误表订正,并结合参照本书第一版,另外修正了数十处错误。

  (本文为即将于2005年3月出版的《J2EE核心模式》中文版的译序,本报刊登时有删节)

BlogIcon How To Read My Blog

Posted @ 8:11 am+8 in Blog | Licensed under a Creative Commons License

If you are reading my blog, you may notice that I have subscribed some online services and I am using different icons to group my blog entries.  I’d like to give some simple explanation for those icons.

The services I am currently using:

Service Vendor Blah, blah…
Subscribe kukooBlog in NewsGator Online  Newsgator Click the icon to subscribe my blog to your Newsgator online RSS reader (you should have a Newsgator account first)
kukooBlog is javablogged JavaBlog My blog is aggregated by javablogs. JavaBlogs is a RSS feeds aggerator. 

 
FeedBurner  I registered my blog to FeedBurner. If you are using RSS reader to read my blog, you may use my feeds on FeedBurner to subscribe. If I changed my blog to other vendors, I will update my feeds on FeedBurner and therefore you won’t change your subscription. 
Technorati cosmos Technorati Search the post’s URL in the Technorati, to see the post listed in the Technorati
Refresh Technorati Ping the Technorati, to inform Technorati that the post was changed.
Yourit This icon indicates that the post is tagged using Technorati tags. For each post in my blog, I tried to associate it with one or more Technorati tags that I use to categorize my posts. This icon (the first character of Kukoo) and the tags appears at the end of each post to indicate which tags are associated with the blog post. For more on Technorati tags, visit http://www.technorati.com/tag.
365Key 365Key 365Key is more like the del.icio.us. When I read interesting or useful articles on the Internet, I will bookmark it into 365Key.
Ads by Google Google Adsense Just for fun, I don’t really want to gey money from Google…

The icons in my blog entry:

Icons Category Blah, blah…
Eclipse This image links to all entries related to the Eclipse category, my favorite IDE and platform.
Programming This image links to all entries related to Programming category (ie, Java, Web).
Pattern This image links to all entries related to the Design Patterns category.
Blog This image links to all entries related to Blogging category
All This image links to all entries related to any other categories
365Key Everyday’s digest and links on 365Key
Recently Reading The books I am recently reading. I usually will put the books image there.

If you have any comments, please click on the comment link below the blog post and leave a comment.

Thanks for reading my blog.

Enjoy!

散伙饭,大学毕业10年

Posted @ 3:00 am+8 in Blog | Licensed under a Creative Commons License

项目组中的一个女孩apple,刚刚大学毕业。 她在MSN Space中写了些她对“散伙饭”的想法。 看来,商场和官场上的“酒文化”已经传到大学里去了。 似乎大学校园,已经不在是曾经的象牙塔了。

10年前的大学毕业和现在真的不一样。 那个时候,“散伙饭”只是一个班级的同学在一起吃,20多个人。因为4年也很难有机会所有人在一起吃饭,所以毕业前的最后一顿团圆饭,就显得很珍贵了。 酒肯定是少不了的,因为即将分别的离情别绪,只能用酒精来麻醉和掩盖。所以,即使平时几乎不喝酒的,也会喝很多,和你说很多话。 然后,所有的人就到火车站,每天都去,一个一个的送上车。 在站台上,我们弹着吉他,唱着歌,哭着笑着送伙伴们上车。 火车启动的时候,不知道多少双手拉在一起,然后目送着每一列承载了4年同窗的火车远去。“如果所有的手都拉在一起不放,火车也会停下的”

4年的大学,永远是生命中永恒的思念,是在你的思想刚刚从懵懂走向成熟的4年。这4年中的每一个人,每一件事,都会留下无法磨灭的印象的。

365Key.kukoo 6月21日网摘

Posted @ 2:14 am+8 in 365Key | Licensed under a Creative Commons License
  • Web Designer’s FREElance Toolbox for Windows #

    Reindel dives into his top 17 picks for free time-tested, user-approved tools for Web designers—from antivirus software to VoIP. Best of all, they’re also free of adware and community supported.
  • Ajax:让我们重返静态页面 #

    Ajax不是一种新的技术,而是传统技术加以组合后的技术应用,它带给访问者完全不同的浏览感受:我们再也不需要一次又一次地在提交表单以后等待或者主动刷新网页,传统的动态网页技术被隐藏到了Ajax的后台,我们所看到的是一个静态页面,动态程序反馈的结果被直接无刷新地显示在这个页面上;
  • How to be a Star Engineer #

    貝爾實驗室由全世界最好的大學中聘用了最優秀,最聰明的畢業生,然而, 最後只有少數的人真正發揮他們的潛力而成為卓越的工程師。貝爾實驗室想要知道的是:傑出的工程師和普通的工程師到底有什麼不同
  • Add Logic to Your JSP Pages with the JSP Expression Language #

    The new JSP Expression language allows you to separate the HTML and style code from the presentation code by trying to include the presentation logic in the form of expressions.
  • Open Source Development at Eclipse: Release Reviews #

    One of the major steps in the Eclipse Development Process is the Release Review. The Release Review is the final place for the community to review and comment on the potential release.
  • 365Key-天天网摘自动生成

    Get free blog up and running in minutes with Blogsome | Theme designs available here