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

August 23, 2005

Recommended Reading List

Posted @ 2:44 am+8 in Java, Programming | Licensed under a Creative Commons License

Ted Neward, author of the best-selling book: Effective Enterprise Java, published an “old list” of his recommend reading list in his new blog.

Java Recommended Reading list:

  • Effective Java by Bloch.
  • Effective Enterprise Java by Neward.
  • Concurrent Programming in Java (2nd Ed) by Lea.
  • Either Inside Java2 Platform Security by Gong or Java Security (2nd Ed) by Oaks.
  • Component Development for the Java Platform by Halloway.
  • Inside the Java2 Virtual Machine by Venners.
  • Java Development with Ant by Hatcher and Loughran.
  • Either Java RMI by Grosso or java.rmi by McNiff and Pitt.
  • Servlets and Java Server Pages by Jones and Falkner, possibly Java Servlet Programming (2nd Ed) by Hunter, if you aren’t planning to use JSP. (Jason’s legendary bias against JSP, right or wrong, puts him somewhat out of tune with what a majority of Java web-client shops are doing. That said, it’s a great servlets resource.)

.NET Recommended Reading list:

  • C# In a Nutshell (2nd Ed) by Drayton, Albahari, and Neward.
  • Advanced .NET Remoting by Rammer.
  • Essential ADO.NET by Beauchemin.
  • Inside Microsoft .NET IL Assembler by Lidin.
  • SSCLI Essentials by Stutz, Neward and Shilling.
  • Debugging Applications by Robbins.
  • Inside Windows 2000 by Russinovich and Solomon.
  • Essential COM by Box. (Yes, I mean Essential COM and not his more recent Essential .NET book. The first chapter of Essential COM is probably the best well-written technical prose I’ve ever read in my life, and everybody who ever wanted to write reusable components in C++ needs to read it to understand why C++ failed so miserably at that goal. Once you’ve seen that, you’re ready to understand why components are so powerful and so necessary.)
  • The Common Language Infrastructure Annotated Standard by Miller
  • Programming in the .NET Environment by Watkins et al.

C++ Recommended Reading list:

  • The C++ Programming Language (3rd Ed) by Stroustrup.
  • Effective C++ (1st, 2nd or 3rd Ed) by Meyers.
  • More Effective C++ by Meyers.
  • Effective STL by Meyers.

Security-related Recommended Reading list:

  • Secrets and Lies by Schneier.
  • Either Cryptography Decrypted by (can’t remember the name offhand), Practical Cryptography by Schneier and Ferguson, or Applied Cryptography (2nd Ed) by Schneier. The first is a lightweight introduction to the subject, the second is a more detailed introspection, the third required reading for anybody who wants to be a security wonk.
  • The Code Book by Singh.

Platform-agnostic Recommended Reading list:

  • Design and Evolution of C++ by Stroustrup. It’s fascinating hearing how a language develops over time, and what was behind some of the decisions in the features of the language. For example, why did multiple inheritance come before templates or RTTI? Not because it was more important, but because Stroustrup wanted to tackle MI first because he wasn’t sure if or how he could do it. He describes that as a great regret, that he didn’t do templates first.
  • Component Software (2nd Ed) by Szyperski.
  • Rapid Development by McConnell. Read this before you read any of the Extreme Programming books, because this book describes a whole taxonomy of what I think a lot of people are reaching for in agile and other methodologies.
  • The Inmates Are Running the Asylum by Cooper.
  • The Invisible Computer by Norman.
  • Principles of Transaction Processing by Bernstein and Newcomer.
  • Transaction Processing: Concepts and Techniques by Gray and Reuter. What to read when you’re done with the Bernstein and Newcomer book and still want to know more about the Zen of Transactional Processing.
  • Refactoring by Fowler.
  • Design Patterns by Gamma, Helm, Johnson and Vlissides.
  • Pattern Oriented Software Architecture, Vol 1 by Stal et al.
  • Pattern Oriented Software Architecture, Vol 2 by Schmidt et al.
  • Patterns of Enterprise Application Architecture by Fowler.
  • Enterprise Integration Patterns by Hohpe and Woolf. Excellent discussion of message-based architecture. I personally think the title is something of a misnomer, but it’s understandable since message-oriented communication is the easiest means by which to integrate heterogeneous systems.

July 3, 2005

JavaOne: 让我们期待2006!

Posted @ 7:16 am+8 in Java | Licensed under a Creative Commons License

为期4天的JavaOne 2005落幕了,一个盛大的10周年party吹灭了蜡烛。 我至少错过了第四天,要赶快恶补一下了。

让我们等待9月份J1资料公开下载。 让我们期待2006年5月!

June 30, 2005

更多的J1的照片

Posted @ 4:51 pm+8 in Blog, Java | Licensed under a Creative Commons License

这里有更多的JavaOne 2005的照片,一共57张高质量的照片。 还有这里这里。 下面的这张比较有意思:

他们在全神贯注啥呢? 一定是Java…….

Groovy on JavaOne 2005

Posted @ 11:54 am+8 in Java, Groovy | Licensed under a Creative Commons License

Groovy这个新近的脚本语言(其实也不是很新了),在JavaOne 2005上又被热炒了一回。 来自OpenLogic, Inc的Rod Cope在Day 1做了Groovy的技术讲座:Groovy = Java Technology + Ruby + Python for JVM,同时演示了一些Groovy的强项和最新的功能,比如操作Excel工作表单,通过Groovy的脚本,在Groovy的控制台中,向一个Excel的表单中添加数据(当然是通过MS COM接口的)。 Artima.com上也发表了Eric Armstrong的一篇文章:It’s a Groovy Day。 以下是一些Groovy在J1 2005上的链接:

Groovy其实不是一个新的脚本语言了。 之所以现在受到欢迎,主要的原因,我想还是因为Java的缘故。 从Rod Cope的技术讲座的题目就可以看出了,Java技术加上Ruby和Python的脚本语言的威力。 Groovy的语法和Java几乎一致(但是添加个一些新的功能,比如closure),而重要的是Groovy可以和Java互通:可以直接调用在Java .class中的提供的功能和函数(import那个Java package),而Groovy的脚本也可以被Java程序所应用(Groovy脚本可以直接编译为.class而进入JVM)。 虽然JRuby(Java实现的Ruby)和JPython(Java实现的Python)也做到这些,但相比来说,特别是对一个Java程序员来说,不用更长的学习曲线(也就是不用去学一门新的语言,比如Ruby),就可以很快体会到Groovy中脚本语言的威力,这就足够吸引人了。

我在4-5个月前接触到Groovy,那个时候好象还是0.7,0.8的beta版本。而且当时Groovy正受到Groovy爱好者的“口诛笔伐”,原因是Groovy一直没有更新版本,而Groovy的主要工程师似乎准本放弃Groovy了。 然而,在众多Groovy爱好者的支持下,Groovy还是重生了,JSR-241规范也得到了足够的重视(之后,受到Groovy的影响,BeanShell Script很快也批准成为JSR了,JSR-247)。 在这后面,也有Java大家的身影:Richard Monson-Haefel (O’Reilly的《Enterprise JavaBean》的作者),他应该是最了解Groovy的历史了,因为JSR-241就是他提议的。

Blogjava.net中的emu,写过4个Groovy的学习笔记(1234),以及通过9皇后问题测试的Groovy的性能,不妨去看看。 真要学习Groovy的话,还是应该去Groovy自己的家:CodHaus


CodHaus:Groovy
Groovy: A bit of history on how it became a JSR
JSR-241: Groovy ? A New Standard Programming Language for the Java Platform
BeanShell: The 3rd Official Language of the Java Platform?

Yourit Technorati cosmos Refresh Technorati

JavaOne 2005上的畅销书

Posted @ 6:42 am+8 in Java, Programming, Books | Licensed under a Creative Commons License

想知道在JavaOne 2005上,哪些书最畅销吗? 这是J1上的图书销售商给出的Top 10:

其中有2本JBoss的书,3本Spring的书和1本Hibernate的。你是否需要补充一下你的书架了?


JavaOne bestsellers

Yourit Technorati cosmos Refresh Technorati

June 29, 2005

JaveOne 2005 第二天

Posted @ 12:56 pm+8 in Java | Licensed under a Creative Commons License


第二天,就没有那么多的新消息发布了,更多的是大量有趣的技术主题报告。 主题发言中,最引人注目的,可能还是Sun的首席执行官,Scott McNealy 的演讲了。 Scott当然不会忘了Java是这次年会的主角(而不是他),所以,他尽量的阐述了如何利用Java技术(当然不仅仅是Java语言)来搭建这个被数字化割断的(“the digital divided”)世界之间的桥梁,如何使用Java技术在教育,医疗等方面提高生活的质量:

“He talked about all the efforts to apply Java technology around world (both from within and outside of Sun) to improve quality of life in such areas as education and healthcare. By providing great opportunities for people outside the company to participate and contribute to the technology via communities Sun has grown far beyond the physical boundaries of its corporate walls. ”– Steven Harris’s Blog

为了表达对James Gosling的尊敬,放映了一部回顾James Gosling的短片,都是同事,家人和朋友对这位Java之父说的一些话。 James在他自己的blog中,写到:

“….was a video that some folks put together about me and the past 10 years. They got a pile of old video clips and photos, and they interviewed many of the people I’ve worked with and for. And they got my wife and daughters in on the scheme to contribute their own segments. I don’t know how they managed to keep it a secret (particularly my 7 year old), but they did. Thanks everyone! — James Gosling

Java这个计算机语言,在10年前不经意的创建了,如今10年过去了,它还是这样令人兴奋,并且极大的影响着这个IT界,真让人难以相信。

JavaOne的技术讲座安排的非常非常满,很多有趣的主题都在相同的时间段里面而互相重叠。 第二天的技术讲座包括了Sun刚刚开放源码的GlassFish系统,也就是Sun的Java EE Application Server Platform 9。 在Day 1的eBay做过了技术讲座之后,Day 2则是Amazone,主体都是和Web Service有关,而重点则是Java (以及Sun公司)对Web Service的支持(说实话,Java对Web Service的支持还是不够,或者说由于有JCP,对Web Service的反应有些慢,不如.Net平台,但是这次JavaOne2005页有Microsoft参加,主题就是讨论Java平台和.Net平台上,Web Service的互操作性问题。

Wicket,这是一个有趣的东西。 Wicket是什么? 一个新的Web Application Framework (市面上的WebApp Framework这么多了,还要Wicket干什么?)。 是由几个原JSF团队(可能现在还是)的工程师设计的。 其主要的思想就是,把代码从HTML中剥离出去,象Swing那样设计页面。 简单的说:HTML+Swing的想法+一点点Tapstery的想法。 每个HTML文件对应于一个POJO,那些复杂的动态内容,form的处理都交给POJO,在Java里面处理。 在HTML中,使用特定的Wicket ID命名不同的HTML组件(比如一个label,一个输入框),然后POJO就可以控制这个HTML了。 早几天,我在Eclipse里面尝试过几个Wicket的例子,过些日子写些体会和感受。

更多关于JavaOne 2005的消息,可以通过Technorati查询JavaOne,你会得到很多关注JavaOne 2005的blog。

Yourit Technorati cosmos Refresh Technorati

JavaOne 2005上的一些照片

Posted @ 7:35 am+8 in Java | Licensed under a Creative Commons License

网上看到,或是收集的一些JavaOne 2005的照片。 无缘去JavaOne 2005,只能从blog或是flickr里面看看现场的情况了。

Happy Birthday, Java

Gosling

 

The birthday Cake

Microsoft

 


Bea

 

Nokia 

Google 

 

Java 

 


更多的照片
更多更多照片

Yourit Technorati cosmos Refresh Technorati

June 28, 2005

JavaOne 2005的资料将免费提供

Posted @ 2:49 pm+8 in Java | Licensed under a Creative Commons License

来自www.bejug.org的消息,JavaOne 2005的全部资料(估计是PDF格式的幻灯片),Sun将免费提供,但是要等到估计8月底,9月份了(没关系,我可以等)。 这几天的blog上,已经发布了太多的JavaOne 2005的各种内容了,目不暇接了。 消息来源

Any Sun Developer Network member, which is a free membership, will receive FREE access around late August 2005 to all of the multimedia sessions from this years JavaOne conference !! PDFs of the conference content will be made freely available without registration to all web site visitors.

Yourit Technorati cosmos Refresh Technorati

JavaOne 2005 第一天

Posted @ 9:42 am+8 in Java | Licensed under a Creative Commons License

JaveOne 2005的第一天已经过去了。 由于时差的关系,昨天半夜里的时候,正是Day 1最热闹的时候。 不过这样也好,老外们忙完了一天,就开始写他们的blog了,而我们这里天亮了,正好可以看看各种各样的blog,了解第一天发生的事情。

Day 1确实发生了不少的事情。 看到的第一条(我不确定这是不是在JavaOne上发布的):Sun准备推出自己的移动计算机(也就是Sun品牌的笔记本电脑)。详情见Yahoo! News: Sun Cuts Workstation Prices, Introduces Notebooks 。 Sun的笔记本电脑称之为Ultra 3 Mobile Workstation,使用SPARC处理器(为什么不是AMD处理器?也许Sun担心,使用AMD,那么我就可以安装Windows了)。 在Sun,有条不成文的规定,如果要使用笔记本电脑,不能用IBM和Dell的,最好用Toshiba的,因为IBM和Dell在服务器市场是Sun的竞争对手。 Sun绝对不会一面和这两家竞争,一面付钱给他们,用他们的笔记本。 现在好了,Sun有自己的笔记本了,而且是SPARC的,多半运行新的Solaris 10(或者是Sun Java Desktop System,基于SuSE Linux的桌面系统)。 据我知道,使用Solaris的人,都是Solaris的dead-hard分子,就像使用Apple的Machitosh一样。 简单的推断一下,也可以想象,Sun推出了笔记本电脑以后,至少在初期,会和Apple一样,有忠实的用户群,但是不会很大。

第二条消息:IBM和Sun续约,Java的使用许可再续10年(Java 10周岁的时候,再续10年,看来10这个数字在这一周是个吉利数字了)。 详情可以参考Yahoo! News: IBM and Sun Microsystems Extend Java Technology Agreement,这包括了对几乎所有Java产品的使用,包括了Java SE,Java EE等。 这条消息是Jonathan Schwartz在SunOne 2005的第一天宣布的,IBM的Steve Mills (Senior VP of the IBM Software Group)则是通过录像确认了这份新合约。

“With this extension, IBM and Sun continue to promote and re-affirm the value and necessity of Java compatibility across platforms and demonstrate that both companies are committed to Java innovation. Sun and IBM will also continue to advance and enhance the development of Java technology through the collaborative Java Community Process (JCP) (SM). In addition, IBM will also expand its role to become a channel partner in delivering Java compatible products for the embedded market to Sun’s Java technology licensees.”

同一时刻,作为对用户需求的答复(也可能是对新10年Java使用许可证的回报),IBM也宣布将在基于AMD Opteron的Solaris 10 中支持WebSphere, DB2, Rational和Tivoli。 这条消息可能比新10年的Java许可证更吸引我,原因很简单,如果我使用WebSphere,我会有给多的选择,或者是Win-tel平台,或者是更可靠的Solaris-AMD平台。

Sun在Day 1页宣布了,将把Java EE Application Server Platform 9开放源码,在java.net中的项目为:GlassFish,包括了Java EE Application Server,Enterprise Service Bus (ESB) 和Java Business Integration(JSR208)。 许可证则是基于CDDL的。

Graham Hamilton则正式宣布了Java改名:不再有那个2字了。我昨天的blog: 再见了J2SE中写过这个事情。 当然,JavaOne上不会只是简单的宣布一下名字换了,还介绍了Java SE 7 (Dolphin)和Java EE 5的roadmap。

关于AJAX,也有一条新的消息。 Java Studio Creator 2中包含了一些AJAX的模块:

“The latest version is built on top of NetBeans and includes some new rich components including some new AJAX enabled components that offer Google Suggest like functionality. The AJAX component is available from java.net and Creator 2 from www.developers.sun.com/jscreator. — Vinny Carpenter’s blog

更多JavaOne 2005 Day 1,可以参考Related Links中的blog。


JavaOne Keynotes - Day 1

Yourit Technorati cosmos Refresh Technorati

June 27, 2005

再见了J2SE

Posted @ 3:09 pm+8 in Java | Licensed under a Creative Commons License

Happy 10th birthday, Java and JavaOne.

Java终于扔掉了那个名字中的2了。 不管是初学Java还是一个Jave的资深程序员,可能谁也不会忘记这个2字: Java 2 Standard Edition,Java 2 Enterprise Edition。 从1998年起,这个2字就加在Java的版本号上了,那为什么要加这个2呢? 很多人曾经困惑过:Java 2 Standard Edition 5.0,到底是2.0版还是5.0版?

终于,Sun决定要把这个困扰了很多年的2字去掉了,而且要在这周的JavaOne 2005年会上,在Java 10周年的时候,给Java正正名了:

  • Java™ Platform, Standard Edition - Java™ SE
  • Java™ Platform, Enterprise Edition - Java™ EE
  • Java™ Platform, Micro Edition - Java™ ME

而且,将把版本号定位为只有一个数字。 也就是说,J2SE 6.0现在叫做: Java™ Standard Edition 6 或者 Java™ SE 6 (注意:这里没有那个2了)。 那么未来的版本呢?

  • Java™ Platform, Standard Edition 6 (Java™ SE 6, a.k.a Mustang),Java™ Platform, Standard Edition 7 (Java™ SE 7, a.k.a Dolphin),
  • Java™ Platform, Enterprise Edition 5 - Java™ EE 5
  • Java™ Platform, Micro Edition - Java™ ME (好像还没有版本号呢)

出于其他原因,旧的版本还保持不变:比如J2EE 1.4, J2SE 5.0, J2SE 1.4.x, J2SE 1.3.x等等。当然,你也可以把J2SE 5.0(a.k.a Tiger)叫做Java SE 5(但是谁在乎呢?)

Sun关于改名的全文,见:Building and Strengthening the Java Brand


Goodbye “J2SE”, Hello “Java SE”

 

Yourit Technorati cosmos Refresh Technorati

Next Page »

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