收藏 悼念一个伟大的公司——Sun

     欧盟无条件批准 oracle公司对Sun收购案的消息,实际上宣告了一个伟大公司的离去。 Java之父James Gosling在自己的博客贴出了一幅画,应该代表了许多技术人的心情:

sun被收购,收购sun

     对了,他还写了一句话:So long, old friend…

     再见,Sun!

  这个曾经创造了众多神作的伟大公司。

  这个英雄辈出的伟大公司。

  这个多年前就提出过网络就是计算机宏大愿景的伟大公司。

  【在Sun公司工作的杰出科学家和工程师】

   Bill Joy(BSD和vi之父)

  Ivan Sutherland(图灵奖得主)

  Bryan Cantrill(DTrace之父)

  Steve Bourne(Bourne shell之父)

  Jeff Bonwick(ZFS之父)

  Joshua Bloch(Java教父)

  Guy L. Steele, Jr.(Scheme之父)

  James Duncan Davidson(Tomcat之父)

  Whitfield Diffie(公钥算法之父)

  Craig McClanahan(Struts之父)

  Ian Murdock(Debian之父)

  Jakob Nielsen(可用性权威)

  Radia Perlman(Internet之母)

  Marc Tremblay(UltraSPARC处理器)

  Marc Fleury(JBoss之父)

  Tim Bray(XML)

  Peter Norvig(google研发总监)

  John Ousterhout(Tcl之父)

  【在Sun公司工作过的杰出企业家】

  Eric Schmidt(google,lex)

  Andy Bechtolsheim(Sun创始人,Google的第一个投资者)

  庄思浩(BEA)

  Chris Malachowsky(NVIDIA)

Maven 2 JasperReports Plugin配置

在使用MAVEN来配置项目时,要用到JasperReports,可以在POM中加入链接。

POM dependencies片段:
  1. <dependency>  
  2.   <groupId>jasperreports</groupId>  
  3.   <artifactId>jasperreports</artifactId>  
  4.   <version>3.1.2</version>  
  5. </dependency>  

但是想在项目编译时,要将指定目录的*.jrxml进行编译的话需要加入Build插件。

POM build plugins片段:
  1. <plugin>  
  2.                 <groupId>org.codehaus.mojo</groupId>  
  3.                 <artifactId>jasperreports-maven-plugin</artifactId>  
  4.                 <executions>  
  5.                     <execution>  
  6.                         <goals>  
  7.                             <goal>compile-reports</goal>  
  8.                         </goals>  
  9.                     </execution>  
  10.                 </executions>  
  11.   
  12.                 <dependencies>  
  13.                     <!– 
  14.                         note this must be repeated here to pick up correct xml validation 
  15.                     –>  
  16.                     <dependency>  
  17.                         <groupId>jasperreports</groupId>  
  18.                         <artifactId>jasperreports</artifactId>  
  19.                         <version>3.1.2</version>  
  20.                     </dependency>  
  21.                 </dependencies>  
  22.   
  23.             </plugin>  

使用:mvn jasperreports:compile-reports -Ddetail=true

附上JasperReport Plugins的命令参数说明。

Optional Parameters

Name Type Since Description
additionalClasspath String - Any additional classpath entry you might want to add to the JasperReports compiler. Not recommended for general use, plugin dependencies should be used instead.
additionalProperties Map 1.0-beta-2 Additional JRProperties
classpathElements List - (no description)
compiler String - Uses the Javac compiler by default. This is different from the original JasperReports ant task, which uses the JDT compiler by default.
Default value is: net.sf.jasperreports.engine.design.JRJavacCompiler.
javaDirectory File - This is where the generated java sources are stored.
keepJava boolean - Deprecated. There seems to be an issue with the compiler plugin so don’t expect this to work yet – the dependencies will have disappeared.
Default value is: false.
keepSerializedObject boolean - Deprecated. Not implemented
Default value is: true.
outputDirectory File - This is where the .jasper files are written.
outputFileExt String - The extension of the compiled report files. Creates files with a .jasper extension by default.
Default value is: .jasper.
project MavenProject - (no description)
sourceDirectory File - This is where the xml report design files should be.
Default value is: src/main/jasperreports.
sourceFileExt String - The extension of the source files to look for. Finds files with a .jrxml extension by default.
Default value is: .jrxml.
xmlValidation boolean - Wether the xml design files must be validated.
Default value is: true.

FDT3.5正式版已经发布

今天下午还在用MyEclipse8中安装FDT 3.5 Beta2,晚上回家再重新安装时,发现FDT3.5已经releases.

 

With version 3.5 of FDT we are introducing great new features for both MXML and ActionScript editor. While we are focused on bringing you the best MXML editor for flex development at this time, we are continually improving FDT.

FDT 3.5  Presentation

The FDT 3.5 Update was recently released. Watch the new features of FDT 3.5 live in action! Michael Plank shows you what’s new in FDT 3.5 and how you can use the great features.

Features and Improvements of FDT 3.5

Full Autocompletion Support in MXML Editor

AS3 Autocompletion in CDATA, quotes and curly braces

Search in MXML Files

Wizard for creating Top Level Variables and Functions

New and improved Code Templates

Autocompletion for MXML Tags

Autocompletion for event types

Watch that feature in action

Improved Quick Outline

Autocompletion for constant convention

Watch that feature in action

Semantic Highlighting and Autocompletion for inline XML

Watch that feature in action

New Quick Fixes

Watch that feature in action

Brand new Debugger

Variable folding and XML Preview are the new features in the debugger


Robotlegs IOC 接口实例化

目前在开发程序时要实例化某一接口,而不知道接口是哪一个类实现,如果用Robotlegs来做是很好的。

我尝试用

injector.instantiate(IRobot);

但是程序始终报错,后来才发现接口是不能直接用instantiate方法来做。如果要用Injector来做,可以采用如下方法:

injector.getMapping(IRobot).getResponse() as IRobot;

平时一般向类中注入接口代码如下:

AS CODE:
  1. public class Robot implements IRobot {  
  2.         private var _leftLeg : ILeg;  
  3.         private var _rightLeg : ILeg;  
  4.   
  5.         public function get leftLeg() : ILeg {  
  6.             return _leftLeg;  
  7.         }  
  8.           
  9.         [Inject(name="leftLeg")]  
  10.         public function set leftLeg(leg : ILeg) : void {  
  11.             _leftLeg = leg;  
  12.         }  
  13.           
  14.         public function get rightLeg() : ILeg {  
  15.             return _rightLeg;  
  16.         }  
  17.           
  18.         [Inject(name="rightLeg")]  
  19.         public function set rightLeg(leg : ILeg) : void {  
  20.             _rightLeg = leg;  
  21.         }  
  22.     }  

上面代码中ILeg就是在Robot类实例化时注入,将会由Injector类自动调用injector.getMapping(ILeg).getResponse() as ILeg;

另外还有一个收获,如下代码,先映射Robot,IRobot为单例:

AS CODE:
  1. private function init(e:Event):void{  
  2.                 injector = new Injector();  
  3.                 injector.mapSingleton(Robot);  
  4.                 injector.mapSingletonOf(IRobot, Robot);  
  5.                   
  6.                 //injector.mapClass(IRobot, Robot);  
  7.                 injector.mapClass(ILeg, Leg,"leftLeg");  
  8.                 injector.mapClass(ILeg, Leg,"rightLeg");  
  9.                 injector.mapValue(String, "my robot no.1","robotName");  
  10.                   
  11.                 //injector.mapValue(IRobot, injector.instantiate(Robot));  
  12.             }  

再看如下代码:

AS CODE:
  1. var robot:IRobot = injector.getMapping(IRobot).getResponse() as IRobot;  
  2. var robotClone:Robot = injector.instantiate(Robot);  

这时的变量robot与robotClone是否为同一Robot对象实例的引用呢?

测试结果告诉我是相等的。

投影新境界:Light Blue Optics 带来Light Touch

我们见过很多投影技术,但是这个技术是另外一个应用,它把投影和轻触互动结合,就形成了这个Light Touch产品,其可以在很多平面投影使用,其工作原理是,利用激光投影虚拟出一个10寸大小800×480像素WVGA分辨率的触摸屏,使用红外线感应 技术来摄取操控动作,内置2GB内存,支持MicroSD扩展,最高可达到32GB,可使用交流电源或电池进行供电,续航力是2小时。Light Touch可以运行adobe公司的Flash Lite 3.1,通过WiFi和蓝牙连接至其他电子设备接入互联网,可应用的场合很多,包括餐厅,服装店等,点进来看图片和视频。
 
 
 

 

 

 

Robotlegs 框架事件的理解

最近在学习Robotlegs框架,现将其基于MVCS事件处理的流程画出来,方便以后再理解。

另外,如果要建立多Context时,就会遇到将多个Injector的信息进行合并,从而就产生了Injector的关联网络。

是依赖于InjectorRule来完成。可以是树形,也可以是交叉形,并不一定先哪一种,可以是两种形态的复合体。

下图是树形:

中外运、长航合并获国资委放行 明确三大主业

(2010-01-13)

在两大航运巨头中国对外贸易运输(集团)总公司(下称“中外运集团”)与中国长江航运(集团)总公司(下称“长航集团”)合并成中国外运长航集团有限公司(下称“中外运长航集团”)后,双方的重组整合方案获得了国务院国资委方面的原则通过。

  在昨天中外运长航集团世博物流项目动员启动会期间,中外运长航集团副总裁董建军对《第一财经日报》记者透露了上述信息,他同时指出,目前合并后的中外运长航集团的三大主业已经明确,之后将会根据重组整合方案进行具体的业务重组的落实。

  自从国资委旗下的中外运集团和长航集团这两大航运集团被批准合并后,除了任命新的中外运长航集团管理层,两大集团合并后的具体业务如何整合,共有几大业务板块等具体重组方案此前并没有最终明确。

  董建军告诉记者,新集团组建后确定了三大主业,分别是综合物流、航运和修造船。此外,还会有一个培育业务的板块,主要是拓展目前两家公司在相关产业链上的很多资源,比如仓储、土地等,比如可以开发物流地产,用于服务主业。

  董建军指出,接下来新集团会对相关板块进行重组,比如航运板块中有油运、散货、滚装和集装箱运输等几大块,今后就会根据航运板块的发展进行结构调整。

  “两家集团整合后,资产突破1100亿元,经营规模也超过1000亿元。” 董建军表示,新集团规模的扩大和之后的整合,都需要更多的人才和管理服务经验。

  在董建军看来,成为2010年上海世博会的物流服务商,将有利于为中外运长航集团培养更多人才,增强管理和服务方面的经验。目前,中外 运长航集团已经组建了专业团队,在资源保障方面给予全力支持,而且针对世博物流的特点做出具体分工和全面部署,明确了世博会所有相关的具体业务操作均由集 团旗下的中国外运股份有限公司负责。

  截至2009年12月,中外运已与50多家展团,包括参展国的总代表、参展国在当地制定的运输代理、展团总包方以及参展国的供应商等建立了联系,累计操作海运货300多TEU,约8100立方;空运货累计近5000公斤。

  来源:第一财经日报

收藏-Flex Builder 3 on Eclipse 3.5

当我在机器上安装了flexbuilder3和STS(SpringSource Tool Suite )2.3后,将flexbuilder以插件的方式加入到STS,编译源文件和样式文件会出现编译出错,一开始是以为是上次编译产生的垃圾文件产生的问 题,采用项目文件清除后再编译,问题还是在。

ConfigurationProblem logging info

java.lang.IllegalArgumentException: "The attribute value type is com.adobe.flexbuilder.project.compiler.internal.ProblemManager and expected is one of java.lang.String, Boolean, Integer"
at org.eclipse.core.internal.resources.MarkerInfo.checkValidAttribute(MarkerInfo.java:84)
at org.eclipse.core.internal.resources.MarkerInfo.setAttributes(MarkerInfo.java:172)
at org.eclipse.core.internal.resources.Marker.setAttributes(Marker.java:304)
at com.adobe.flexbuilder.project.compiler.internal.ProblemManager.createMarker(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.ProblemManager.createMarker(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.ProblemManager.logProblem(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.ProblemManager.logInternalProblem(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(Unknown Source)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:627)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

后来在网上找到是因为flexbuilder3采用eclipse3.3作为平台开发,而我是用eclipse3.5,需要做如下修改:

 

  1. 下载包 ProblemManager patch
  2. 解压下载的文件
  3. 到 Flex Builder安装目录
  4. 用winrar打开/eclipse/plugins/com.adobe.flexbuilder.project_3.0.204732/zornproject.jar文件
  5. 将刚才下载解压的文件目录 com拖到winrar中完成压缩
  6. 启动STS
  7. 成功编译项目

 英文网址:http://www.jamesward.com/2009/09/29/flex-builder-3-on-eclipse-3-5/?utm_campaign=BackType&utm_medium=bt.io-twitter&utm_source=&utm_content=backtype-tweetcount