Google

星期五, 五月 15, 2009

soapUI; the Web Services Testing tool

soapUI is a free and open source desktop application for

It is mainly aimed at developers and testers providing or consuming WSDL or REST based Web Services (Java, .net, etc). Functional and Load Testing can be done both interactively in soapUI or within an automated build or integration process using the soapUI command line tools.

Mock Web Services can easily be created for any WSDL and hosted from within soapUI or using the command-line MockService runner. IDE-plugins are available for

soapUI requires Java 1.5 and is licensed under the LGPL license.

http://www.soapui.org/

标签: ,

Project Darkstar

Project Darkstar aims to help developers and operators avoid a range of serious, yet typical, problems associated with online games, virtual worlds, and social networking applications today, including zone overloading, data corruption, and server under-utilization. It will also enable developers to support new dimensions of play such as evolving virtual worlds and very large scale battlefields.

标签: , ,

星期日, 一月 04, 2009

CruiseControl

CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build technologies, and notifications schemes including email and instant messaging. A web interface provides details of the current and previous builds. And the standard CruiseControl distribution is augmented through a rich selection of 3rd Party Tools.

CruiseControl is written in Java but is used on a wide variety of projects. There are builders supplied for Ant, NAnt, Maven, Phing, Rake, and Xcode, and the catch-all exec builder that can be used with any command-line tool or script.

CruiseControl is open source software and is developed and maintained by a group of dedicated volunteers. CruiseControl is distributed under a BSD-style license.

标签: , ,

星期三, 十月 29, 2008

VIDE

VIDE is the V Integrated Development Environment for the GNU g++ compiler and the standard Sun Java Development Kit. The current release is Version 2.00 for MS-Windows and Linux (RedHat 6.x, 7.x, 8.x; Mandrake 8.x; others).
http://www.objectcentral.com/objectcentral/vide.htm

标签: , , , , ,

星期二, 八月 26, 2008

Jabbers and others important

Jabber servers:

OpenFire
http://www.igniterealtime.org/projects/openfire/index.jsp

JabberIn
http://www.jabbin.com/index.html

OpenZoep: An Open Source VoIP Engine

http://www.voipster.com/

VOIP Jingle library
http://www.xmpp.org/extensions/xep-0166.html

XPCOM
http://www.mozilla.org/projects/xpcom/

http://xmpppy.sourceforge.net/

标签: , , ,

Tigase XMPP/Jabber Server

Tigase Jabber/XMPP Server is Open Source and Free (GPLv3) Java server using all available features in last JDKs.

It uses NIO for network communication, selectors, concurrent JDK framework, security library and so on.

All these functionalities are available directly from JDK so the need for external libraries is limited to minimum. Actually it doesn't use any external library at run-time. A few third-party libraries are used for development such as JUnit, UnitTestsGen and ANT and Maven 2.


http://www.tigase.org/en/project/Servers+and+Server+Components

标签: , , , ,

星期一, 八月 25, 2008

孟岩《来自巴西的Lua语言新星让我脸红》及网友评论

一种自由软件的脚本语言 Lua ,由于在游戏界日益成为主流脚本语言(得到著名的卢卡斯艺术公司两款游戏采用,并在GameDev.net的调查中高居脚本语言榜首),最近引起了业界的广泛关注。
Lua (葡萄牙语,义为月亮)是一种轻量级的强大的扩展语言,用纯ANSI C编写,最初版本只有6000行代码,却实现了垃圾收集、反射、面向对象等机制。Lua 是由巴西里约热内卢天主教大学计算机系的Roberto Ierusalimschy 等人于1993年开发的。
最近,Roberto Ierusalimschy 撰写的《Programming in Lua》一书也已经出版
---tangl_99

Python是荷兰人写的,Ruby是日本人写的,Lua是巴西人写的,我这个中国人只能在这里脸红。
---孟岩

不必人人制轮胎,难道你不想躺在轮胎做的吊床上休息?
---牡蛎

只选对的,不选贵的。
---路人甲

转载自tangl_99的blog孟岩的blog

Python是荷兰人写的,Ruby是日本人写的,Lua是巴西人写的,我这个中国人只能在这里脸红。
Lua是所有动态语言中间平均效率最高的一个。它最初是以Library的形式存在,纯粹只是用作C/C++的一个扩展。现在不仅发展出了解释器,还发展 出了编译器。游戏开发里Lua是使用最广泛的脚本语言。当世界上第一本Lua图书上市销售的时候,一位读者评价道:"Lua is a real gem."
(牡蛎到没有听过Lua、Python或者Ruby的编译器——.NET的冒牌货除外)

Lua很棒,Lua是巴西人发明的,这些都令我不爽,但是还不至于脸红,最多眼红。
让我脸红的是Lua的源代码,百分之一百的ANSI C,一点都不掺杂。在任何支持ANSI C编译器的平台上都可以轻松编译通过。我试过,真是一点废话都没有。
我1996年就学会了C,1997年就跑去研究Win32 API,后来是C++,STL,Java... 直到2002年看到C Interfaces and Implementations,才知道仅仅用ANSI C就可以实现一个强大的优美的library,直到2004年看到Lua的源代码才知道仅仅用ANSI C就可以实现一个非常快的虚拟机、非常棒的解释器/编译器和非常漂亮的语言实现。
这8年我都干什么去了?
---孟岩

http://www.chinaitpower.com/2005September/2005-09-13/204728.html

标签: , , , , , , ,

星期二, 六月 03, 2008

Java下的框架编程(5)--cglib的应用

反射、Proxy和元数据是Java最强的三个特征,再加上CGLib (Code Generation Library)和ASM,使得Java虽然没有Ruby,Python般后生可畏,一样能做出强悍的框架。
Proxy 可以看作是微型的AOP,明白提供了在继承和委托之外的第三个代码封装途径,只要有足够的想象力,可以做得非常好玩,Spring的源码里用Proxy就 用得很随便,看得我非常眼红。可惜Proxy必须基于接口。因此Spring的做法,基于接口的用proxy,否则就用cglib。AOP么,一般小事非 compoent一级的就不麻烦AspectJ出手了。

cglib的Enhancer说起来神奇,用起来一页纸不到就讲完了。
它的原理就是用Enhancer生成一个原有类的子类,并且设置好callback到proxy, 则原有类的每个方法调用都会转为调用实现了MethodInterceptor接口的proxy的intercept() 函数:
public Object intercept(Object o,Method method,Object[] args,MethodProxy proxy)

在 intercept()函数里,你可以在执行Object result=proxy.invokeSuper(o,args);来执行原有函数,在执行前后加入自己的东西,改变它的参数值,也可以瞒天过海,完全 干别的。说白了,就是AOP中的around advice。

AOP没有出现以前,该领域经典的设计模式是Decorator,像Java IO Stream的设计就是如此.不过,如果为每个DAO, 每个方法的写Decorator函数会写死人的,所以用上cglib的好处是一次过拦截所有方法。

另外,cglib除了Enhancer之外,还有BulkBean和Transform,都是Hibernate持久化的基础,但文档贫乏,一时还没去看怎么用。

1.AOP里讲了一百遍阿一百遍的log aspect在cglib是这样做的:


public class LogDAOProxy implements MethodInterceptor
{
private Logger log=Logger.getLogger(LogDAOProxy.class);
private Enhancer enhancer=new Enhancer();
//返回DAO的子类
public Object getDAO(Class clz)
{
enhancer.setSuperclass(clz);
enhancer.setCallback(
this);
return enhancer.create();
}
//默认的拦截方法
public Object intercept(Object o,Method method,Object[] args,MethodProxy proxy) throws Throwable
{
log.info(
"调用日志方法"+method.getName());
Object result
=proxy.invokeSuper(o,args);
return result;
}
}

应用的代码:
LogDAOProxy proxy = new LogDAOProxy();
GoodsDAO dao
= (GoodsDAO)proxy.getDAO(GoodsDAO.class);
dao.insert(goods);

2.而在Spring的管理下应该略加修改的高级Decorator
上面的例子用return enhancer.create();创建子类实例,但在Spring管理下,一些Bean的实例必须由Spring来创建和管理,而不由enhancer来创建的。所以我对上述用法略加修改,使它真正当一个Proxy的角色,请对比黑体字的部分


public class LogDAOProxy implements MethodInterceptor
{
private Logger log=Logger.getLogger(LogDAOProxy.class);
private Object dao=null;
private Enhancer enhancer=new Enhancer();
//返回DAO的子类
public Object getDAO(Class clz,Object dao)
{
this.dao = dao;
enhancer.setSuperclass(clz);
enhancer.setCallback(
this);
return enhancer.create();
}
//默认的拦截方法
public Object intercept(Object o,Method method,Object[] args,MethodProxy proxy) throws Throwable
{
log.info(
"调用日志方法"+method.getName());
Object result
=proxy.invoke(dao, args);
return result;
}
}

可见,原来模式里在getDao()时由enhancer创建dao,而 调用intercept时则将enhancer创建的dao以Object o参数传回。
而新模式里,dao在getDao()时从外面传入,enhancer.create()返回的是一个proxy. 而调用intercept时,实际会用之前传入的dao进行操作,而忽略Object o参数传入的proxy.

有点遗憾, intercept函数里MethodProxy的Signature是固定的 , 即客户如果调用foo(String),你不可以用proxy.invoke偷换成foo(String,String);

http://www.builder.com.cn/2008/0530/893236.shtml

标签:

星期六, 四月 26, 2008

SUN即将完成JAVA语言全部开源工作

SUN公司正在加紧推动JAVA在Linux平台下的完全开源工作,JAVA平台下的最后一些版权问题将在近期解决。  

  如果JAVA能做到完全开源,那么将更容易在Linux平台下进行包装分发。为配合这项行动,SUN正在与Linux厂商进行商谈,为OpenSUSE,Ubuntu以及Fedora提供一个新版的OpenJDK。  

  OpenJDK基于J2SE,开源工作始于2006年11月,其中的一些组成部分,例如加密库,图形库和一些SNMP管理代码仍然不能提供基于GNU通用许可协议的版本。这些组建占到了总平台的4%左右。  

  据SUN表示,“在过去的一年中,我们已经解决了大部分组件的版权问题,但是JAVA的声音引擎和SNMP代码部分仍然有大量的工作要做”预计全部开源可以在今年年内完成。  

  一旦基于Linux系统的JAVA可以百分百开源,那么Ubuntu及其他Linux系统就可以提供完全开源版的JAVA开发平台。对于Linux的开发者来说,现在正缺少一个开源版的JAVA平台。

http://linux.chinaunix.net/news/2008/04/25/995589.shtml

标签: , , , , , , , ,

星期五, 二月 22, 2008

Excel File Format Documentation

Excel File Format Documentation

  1. Microsoft Documentation
    • Download the Escher File Format Documentation
    • Read the Escher File Format Documentation online (this document is very very large!)
    • Pocket Excel File Format
    • Q147732 Records needed to make a BIFF 5 file excel can use
    • Q147942 DOCERR: Microsoft Excel Internal format table doc has errors
    • Q284441 DOC: Excel BIFF8 FORMAT Record Documentation Is Incomplete
    • Q284436 DOC: Excel BIFF8 Extended Rich String Formatting Run Is 4 Bytes
    • Q269168 HOWTO: Distinguish Between Excel 97 and Excel 2000/2002 Files
    • Q207475 DOC: Excel BIFF8 CONTINUE Record Information Is Incomplete
    • Q195237 LABEL Doc Error in MS Excel 97 Developer's Kit
    • Q184647 Xl97: BIFF Records Documentation Error in MS Excel 97 Developer's Kit
  2. 3rd Party Documentation

Source Code to deal with the Excel File Format

No matter what programming language you use, there is something here for you.
  1. For C programmers:
    • xlhtml - A c program for reading excel files.
    • xlreader Another c program for reading excel files
  2. For Java Programmers:
    • ExcelRead A java program for reading excel files
    • POI A java project to read and write Excel and OLE files
    • A java program to read and write the Pocket Excel file format.
  3. For Perl Programmers:
  4. For other languages:
http://chicago.sourceforge.net/devel/docs/excel/

标签: , , ,

辽ICP备05003652号
流风洄雪听天籁,轻云蔽日看落花

Powered by Blogger