Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 创始人 让时间回到2001年,地点是澳大利亚悉尼的Clarence Street有一家叫做Cirrus Technologies的公司,这是一家做J2EE企业级应用开发和咨询的公司,在会议桌上一个小伙子和老板正在进行着激烈的讨论。 小伙子:"老板,我总觉得现在开发的效率太低了,我用了EJB的Entity bean 1.1时,我总觉得我浪费了好多时间在处理Entity Bean的体系架构上,却没有花时间在核心业务逻辑的开发上,而且CMP给我们的限制太多了"。 老板:"Gavin,别傻了,EJB是业界的标准,也是最流行的技术,而且我们公司是IBM的合作伙伴。如果有问题,问题就是我们还没有适应这样的开发模式"。 小伙子:"不,我觉得肯定有更好的解决的方案。我们可以设计出比Entity Bean更好的方案"。 老板:"哦,Gavin,我知道你很聪明,开发水平也不错。但是开发这样的系统太难了,而且你根本就没有用SQL开发过任何数据库系统。不要想这样一个不现实的目标啦!" 小伙子皱了皱眉,说道:"不,我相信我有能力开发出这个系统。我的想法绝对是可行的。" (注:以上场景纯属虚构,但至少以下内容完全属实:Gavin King开发hibernate的动机有两个:发现CMP太滥;赢得对老板的争执。Gavin King当时没有任何用SQL开发数据库的经验,Gavin King开发hibernate的第一件事是去街上买了本SQL基础的书) 也许Cirrus Technologies的老板做梦也想不到两年以后,这个小伙子开发出的那个产品会成为全世界最流行的O/R Mapping工具,而那个对SQL和数据库一窍不通的小伙子居然会成为全世界J2EE数据库解决方案的领导者。 这就是Gavin King,一个充满激情、脾气很倔、永不言败的人。他的成就也许全世界搞Java的人都知道:他是hibernate的创始人;他是EJB 3.0的Entity bean specification的实际领导人(sun任命的领导人应该是 Linda DeMichiel);他也是那本经典的书hibernate in action的作者;他也参加了XDoclet和Middlegen的开发;他在全世界各种著名的会议(TheServerSide Symposium等)进行演讲和讲座。 2003年9月, Gavin King和hibernate的一些开发者加入了JBoss。这样他们就可以全职进行hibernate的开发,并提供最好的服务和培训。 也许在这里讨论hibernate的成功和影响力这种全世界都知道的事情已经是多余的了。Gavin King的火爆的脾气和自负也是闻名的,看看Gavin King自己有趣的评价:Even when I'm a rude grumpy bastard answering forum posts at 3am, I'm always happy to see people using Hibernate.(有点断章取义之嫌,呵呵,贴出来闹着玩)。看看Gavin King的一些表现吧: 1、2005年3月,JDO的一个vendor Versant在他的Paper里指了好多hibernate的好多所谓的缺点,Gavin King做出了毫不留情的反击。 2、2003年9月,Gavin King在他网站上向全世界发起挑战:谁要是能对一段代码用JDBC开发做到效率比hibernate高好多,就给他100美金。 3、Rod Johnson在2005年的TheServerSide Symposium对JBoss那帮人戴假面具穿小丑衣表示了一下意见:"neither I nor any of my colleagues will be dressing up as film characters"。看看Gavin King的回击吧:"But Rod, you'd make such a great Egghead! Well […]

龙生   11 Apr 2013
View Details

hibernate search

Hibernate Search是在apache Lucene的基础上建立的主要用于Hibernate的持久化模型的全文检索工具。像Lucene这样的检索引擎能够给我们的项目在进行检索的时候带来非常高的效率,但是它们在基本对象的检索时会有一些问题,比如不能实现检索内容跟实体的转换,Hibernate Search正是在这样的情况下发展起来的,基于对象的检索引擎,能够很方便的将检索出来的内容转换为具体的实体对象。此外Hibernate Search能够根据需要进行同步或异步的索引更新。 http://baike.baidu.com/view/6288294.htm

龙生   11 Apr 2013
View Details

jasperreport

     JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。      jasperreport是开源的,这给我们带来很大方便,但是文档却要钱,让人不爽。不过人总要生存,再说,做这么一个好东西,用户总不能一点代价也不付(虽然对于中国普通程序员来说太贵了点)。它还有一个相关的开源工程IReport,这是一个图形化的辅助工具,因为JasperReport仅提供了可使用的类库而未提供更好的开发工具,IReport的出现解决了这一难题。它们配合使用将会更大程度的提高效率。 该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。它的主要目的是辅助生成面向页面的(page oriented),准备付诸打印的文档。JasperReport借由定义于XML文档中的report design进行数据组织。这些数据可能来自不同的数据源,包括关系型数据库,collections,java对象数组。通过实现简单的接口,用户可以将report library插入到订制好的数据源中,在以后我们将提到有关内容。 其实这是一份JasperReport Ultimate Guide的简单翻译以及我的理解和例子。在最后,我将描述一个我正在做的工程,将其中用到的相关信息贡献出来。我这么做是因为当我在学这个类库的时候苦于很少有相关的中文文档,又或语言不详,希望其他人不再受苦。这个文档将分几次贴出来,与原文档的章节相对应。这份文档的Word形式将在全部完成之后放在我的公开邮箱中与各位共享。 http://baike.baidu.com/view/1662522.htm

龙生   11 Apr 2013
View Details

DbVisualizer

数据库管理工具 基本内容 DbVisualizer是一个完全基于JDBC的跨平台数据库管理工具,内置SQL语句编辑器(支持语法高亮),凡是具有JDBC数据库接口的数据库都可以管理,已经在Oracle, Sybase, DB2, MySQL, InstantDB, Cloudcape, HyperSonic ,Mimer SQL上通过测试。 DbVisualizer常见问题解答:http://database.ctocio.com.cn/tips/484/7625484.shtml DbVisualizer是一款涉及到所有主要数据库且基于交叉平台上的援助与维护数据库工具。它允许通过JDBC的驱动同时连接各种不同的数据库;立刻指向并浏览数据库结构,观看数据库对象的详细特征,图解桌面数据、任意的SQL声明或SQL脚本,利用逆向工程图示出primary/foreign的键值,并以先进的图表方式显示出来,友好的图形界面接口与各种特色的独特组合,足以值得您去收藏一份。 DbVisualizer 是一个功能强大Java工具,用来同时查看一个或者多个JDBC击活的数据库。它可以以图形的方式显示表单之间的关系。它可以显示关于数据项、关键字等信息。使用SQL命令,还可以执行所有的SQL语句。 个人版和免费版本相比,个人版有以下功能扩展: #编辑表格数据。 #支持表格/索引创建。 #SQL脚本执行。 #多个结果集合管理。 #数据图表化。 #BLOB/CLOB数据管理。 #浏览存储步骤等。 DbVisualizer的管理方式确实比phpMyAdmin会强一些,特别是可以轻松生成E-R图并导出,确实是不错的软件,现在只有英文版,DbVisualizer中文版还没有出,期待中文版。 DbVisualizer使用JAVA开发的,目前拿他来做Oracle、MySQL、PostgreSQL甚至包括 MS SQL Server 数据库管理都是一件非常轻松的事情。 新版本已经集成了JDBC 的jar包,所以在安装6.0版本时要选中JDBC 的jar包,不然在创建与数据库连接时无法连接的。 这是我在偶然间找到的一个软件,它是使用JAVA开发的,可以这么说,只要有 JDBC 的驱动包,可以连接市面上所有的数据库。目前经我测试,已经连接上 Oracle、SyBase、MySQL、PostgreSQL。 破解方法: Unpack, Install.       Copy cracked files from /iNViSiBLE dir to           installdir\lib         Run app, go to Help > License Key     and select supplied license file.     http://baike.soso.com/v26476145.htm

龙生   11 Apr 2013
View Details

freeswitch

FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。 FreeSWITCH 支持多种通讯技术标准,包括 SIP, H.323, IAX2 以及 GoogleTalk ,可以方便的与其他开源的PBX系统进行对接,例如 sipX, OpenPBX, Bayonne, YATE 或者 Asterisk. FreeSWITCH 支持许多高级的 SIP 特性,例如 presence/BLF/SLA 、TCP TLS 和 sRTP,它还可以用来作为类似于 SBC (Session Border Controller) 的透明代理。[1] FreeSWITCH的是一个跨平台的开源电话交换平台,具有很强的伸缩性。旨在为音频、视频、文字或任何其他形式的媒体,提供路由和互连通信协议。它创建于2006年,填补了许多商业解决方案的的空白。FreeSWITCH的也提供了一个稳定的电话平台,许多广泛使用的免费电话就是在使用它开发的。 FreeSWITCH 遵循RFC并支持很多高级的SIP特性,如 presence、BLF、SLA以及TCP、TLS和sRTP等。它也可以用作一个SBC进行透明的SIP代理(proxy)以支持其它媒体如T.38等。FreeSWITCH 支持宽带及窄带语音编码,电话会议桥可同时支持8、12、16、24、32及48kHZ的语音. 而在传统的电话网络中,要做到三方通话或多方通话需要通过专门的芯片来处理,其它像预付费,彩铃等业务在PSTN网络中都需要依靠智能网(IN)才能实现,而且配置起来相当不灵活。 FreeSWITCH 是一个开源的电话交换平台,从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能。能原生地运行于Windows、Max OS X、Linux、BSD 及 solaris 等诸多32/64位平台。可以用作一个简单的交换引擎、一个PBX,一个媒体网关或媒体支持IVR的服务器等。它支持SIP、H323、Skype、Google Talk等协议,并能很容易地与各种开源的PBX系统如sipXecs、Call Weaver、Bayonne、YATE及Asterisk等通信。 视频编解码器(直通): Theora的 H.261 H.263 H.264 MP4 另见:编解码器  支持多种编解码器 CELT(32千赫 AHD 48千赫) G.722.1(宽带) G.722.1C(宽带32千赫) G.722协议(宽带) G.711 G.726(16K,24K,32K,48K)AAL2和RFC 3551 G.723.1(直通) G.729AB(需要许可证,除非使用直通) AMR(直通) iLBC的 Speex语音(窄带和宽带) LPC – 10 DVI4(ADPCM),8 kHz和16 kHz http://baike.baidu.com/view/6937725.htm

龙生   11 Apr 2013
View Details

svn is already locked解决方案

在出错文件夹下,鼠标右键TortoiseSVN->Clean up. SVN错误:Attempted to lock an already-locked dir 出现这个问题后使用“清理”功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”。 有时候如果看到某个包里面的文件夹没有SVN的标志,直接用“Ctrl+Delete”手工删除,然后“清理”,最后“更新”或“提交”。 http://blog.csdn.net/dracotianlong/article/details/8026885

龙生   11 Apr 2013
View Details

[性能测试]VSTS经典测试解决方案文件浅析

*.testsettings文件; 在VS 2010中,测试解决方案会自动产生两个文件。一个是TraceAndTestImpact.testsettings,记录用于调试的测试设置。另一个Local.testsettings为本地缺省的测试设置。VS2008只有本地缺省设置。 *.testsettings,这是运行测试的环境参数和运行参数,包括以下内容:a) 用例运行前后执行的脚本b) 是否启用数据分析(代码覆盖率,测试影响分析,模拟网络,录制视频,智能跟踪等等)很多功能都是VS2010独有的,c) 运行机器是本机还是远程机器d) 测试超时时间等 VS2010 增强了测试监控功能,例如智能跟踪(IntelliTrace)和视频录制(Video Recoder),测试影响分析(TestImpact)等等 *.vsmdi文件,用于管理测试用例的列表(Test List).*.vsmdi 文件是管理Test List的,在VS 2010中虽然支持,但不推荐使用。主要原因是*.vsmdi非常不灵活,很难集中维护。取而代之的是更加自然的测试分类(Test Category):通过给每个测试用例设置标签,运行的时候通过标签选择需要运行的测试用例。 为了兼容问题,VS2010 还是支持*.vsmdi。下面是*.vsmdi的一些基本格式。 其内容基本上包括一个树状内容的Test List 列表,各个节点通过ParentListID相连,其中包括一个特殊根节点。另外,在每个TestList中,一个TestLink代表一个测试用 例,TestLink的ID是通过测试方法名,测试类名和包名等,通过MD5计算而得(而非任意值),我以前就写过一个程序,自动生成*.vsmdi文 件。 如何设置不同的标签,在运行用例时,可以通过过滤标签的属性来运行。其方法如下: 步骤一: 为每个测试用例设置测试分类属性(Test Category),在方法的属性中增加。

步骤二: 通过测试分类,运行测试用例 1)从UI中,选择测试用例运行 2)通过命令行运行 mstest /testcontainer:MyTestprojectName.dll /category:"Nightly&Weekly" 在条件选择时候,可以使用&或则|作为操作条件;但是在VS2010中,只能用一种操作符号 运行测试 写好测试用例就可以运行,Ctrl F5,就这么简单,能够得到测试用例运行的结果。很容易在IDE看到,测试结果,那么如何读懂后面的文件呢? 一次测试运行结果的目录: *.trx文件. 运行结果目录。其中有In, Out 和每个TestCase的详细结果。 http://opheliawei.blog.51cto.com/2653343/1026956

龙生   11 Apr 2013
View Details

惠普计划年内推出忆阻器

惠普将比以前预计的更快商业化忆阻器。忆阻器(Memristor) 被认为是电路的第4种基本元件,是一种有记忆功能的非线性电阻器,具有关闭电源后仍记忆数据的能力,能替代闪存,但容量更高,其数据传输速度可以达到 16Gbit/s。忆阻器可使手机使用数周或更久而不需充电;使电脑开机后立即启动;笔记本电脑在电池耗尽之后很久仍记忆上次使用的信息。目前还不知道价 格几何。 http://www.oschina.net/news/39498/hp-memristor

龙生   11 Apr 2013
View Details

25 个免费的平面风格的 GUI 模板下载

深知各位开发者们折腾个界面绞尽脑汁、费九牛二虎之力也捯饬不出来一个像样的界面,特奉上 25 个免费界面模板以供参考,不用谢 Flat UI Kit (PSD) by VisualCreative Flat Web Elements (PSD) by Alexey Anatolievich Square UI (PSD) by DesignModo Vector Social Icons (EPS) Flat Vector Chrome Frame (PSD & AI) by Jeffrey Kam Minimal UI Kit (PSD) by ThemeDesigner Web App Flat UI (PSD) by Blaz Robar Flat Blog UI Kit (PSD) by PSDExplorer Flat Mini Browser (PSD) by Joe Barber Flat Browser Freebie (PSD) by Keyners Flat Apple Family Templates (PSD) by NumarisLP Flat Event Creation (PSD) by Seth Ely Flat Mini UI Player (PSD) […]

龙生   10 Apr 2013
View Details

三个方法让你成为更好的程序员

1. 做出个东西 找个东西/项目,直接开始做。 想进入编程这一行业的人开始时总是试图先学会一门语言。这种方法是 低效的。找一个项目或一个小功能软件去做,针对性的学习那些需要完成这个任务必须具备的知识技能。这种学法让你有了一个学习的环境和目标,逼迫你去具有创 造力。有些最有价值的知识会来自解决那些之前没有人解决过的独特问题。这个过程是辛苦的,但要的就是你的坚持。 2. 传教 传教,这能激发你去深入研究某项知识技能,会让你发现自己在某些知识上其实很烂。 因为我想学习AngularJS,于是我就是做了一个Twitter游戏教程。传教能够让你帮助他人,同时满足你求知欲,并提升你的价值。 3. 结伴 结伴编程是最快的学习别人分享的知识的方法。你吸取他们的知识,工作方式,以及问题解决策略,无需费力用自己的亲身体验去获取它们。 通过和其他程序员一起编程,我的技能有了快速的提高,但你不能就此而止。通过做一些个人项目,你能扩展那些分享到的知识,并能给你的团队带来新鲜的思想。 http://www.oschina.net/news/39463/3-ways-to-become-a-better-developer

龙生   10 Apr 2013
View Details
1 358 359 360 410