CowNew开源团队

http://www.cownew.com 邮件请联系 about521 at 163.com

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  224 随笔 :: 0 文章 :: 494 评论 :: 0 Trackbacks

置顶随笔 #

CowNew开源产品汇总,点击即可下载:
《自己动手写开发工具》随书源码:UIDesigner.rar

JDBC监控:JDBMonitor.rar
Hibernate建模工具CowNewStudio源码:CowNewStudio-src.rar
多数据库翻译器,源码CowNewSQL-src.rar,二进制包cownewsql-2.1.zip
antlr中文文档预览版.rar
posted @ 2008-04-17 21:50 CowNew开源团队 阅读(220) | 评论 (2)编辑 收藏

2008年5月3日 #

        今天终于把《鲁宾逊历险记》第一部看完了,看到其中说到“既然上帝都能饶恕他,我们有什么权利剥夺他的生命呢?”,我这才明白为什么电影里边基督徒要杀一个人的时候要说“我以上帝的名义,杀了你”,既然能够有权剥夺你生命的人只有上帝,那么我要杀了你就必须“以上帝的名义”了,也就是说这是上帝他老人家的意思。这也就是说,做一件事情必须有“名分”。看以前很多革命电影中,我们的革命战士要枪毙叛徒的时候要说“我代表人民代表D枪毙了你”,应该这是一个意思吧。
        朱棣要当BOSS就要打着“清君侧”的旗号、洪秀全要造反就必须说自己是上帝的次子、小鬼子要发动七七事变就要找理由攻占宛平城、老美要弄死萨达姆就必须以找核武器为理由……看来无论是国内还是国外、无论是做好事还是做坏事名分都是很重要的,必须找个名分才能行动,如果哪天一个人做事不讲“名分”的话估计也就是流氓透顶了吧。
posted @ 2008-05-03 23:24 CowNew开源团队 阅读(82) | 评论 (3)编辑 收藏

2008年4月25日 #

ssy(*^__^*) 16:57:16
不知你做过js的语法分析没有,我正在用antlr做js的语法分析,遇到两个难题,想向您请教:
1.正则和除法的区分
2.js匿名类和组合语句的区分
杨中科 17:08:22
sorry,没做过js的语法分析  
ssy(*^__^*) 17:10:37
哦,谢谢你
杨中科 17:11:39
为什么不用mozilla的js包呢?它那里边好像提供了解析js的类,直接能拿到AST  
ssy(*^__^*) 17:12:30
好的,谢谢您提醒,我去试一下mozilla的js包
杨中科 17:13:04
你们解析JS做什么用途?  
ssy(*^__^*) 17:13:46
做安全代码分析,就是找出js代码可能存在的安全隐患
杨中科 17:14:14
哦。JS包中的Parser类可以干这个  
ssy(*^__^*) 17:14:55
嗯,我去找一下这方面的资料,还没用过js包呢,呵呵,谢谢你提示
posted @ 2008-04-25 21:13 CowNew开源团队 阅读(108) | 评论 (1)编辑 收藏

2008年4月24日 #

     摘要: 公司现在在研发基于.Net中WPF技术的产品,由于要兼容旧有产品,比如一些旧有的Win32程序、第三方的Win32程序等等,还要实现自动登录这些外部Win32程序,因此必须能够将这些程序整合到我们的系统中来,让使用者看起来它们好像是一个程序。 在MSDN中有专门的章节提到了在WPF中嵌入Win32控件的办法,那就是使用 HwndHost ,只要把 Win32控件的句柄传递给 HwndHost ...  阅读全文
posted @ 2008-04-24 12:48 CowNew开源团队 阅读(866) | 评论 (0)编辑 收藏

2008年4月17日 #

CowNew开源产品汇总,点击即可下载:
《自己动手写开发工具》随书源码:UIDesigner.rar

JDBC监控:JDBMonitor.rar
Hibernate建模工具CowNewStudio源码:CowNewStudio-src.rar
多数据库翻译器,源码CowNewSQL-src.rar,二进制包cownewsql-2.1.zip
antlr中文文档预览版.rar
posted @ 2008-04-17 21:50 CowNew开源团队 阅读(220) | 评论 (2)编辑 收藏

2008年4月15日 #

经过CowNew开源团队成员的不懈努力,《Antlr参考手册》的中文化工作第一阶段已经完成绝大部分工作,现在发布预览版供有兴趣的朋友参考,也请提出宝贵建议。下载地址:http://www.blogjava.net/Files/huanzhugege/antlr中文文档预览版.rar

感谢欧进利、周晓、曲金龙、west2snow、阿乐、杨中科等队友卓有成效的工作。
由于力量有限,Antlr的中文化工作还需要更多朋友的加入,有兴趣的朋友可以和我们联系:about521 at 163.com
未经Antlr.orgCowNew开源团队许可,请勿将此文档用做商业用途!
posted @ 2008-04-15 23:28 CowNew开源团队 阅读(1136) | 评论 (5)编辑 收藏

2008年3月28日 #

from:
http://chenxing.blog.51cto.com/240526/44949

随着科技的进步,计算机技术的应用已经延伸到所有能到达的行业,随之而来的计算机软件开发人才的短缺,已经成为IT业迫切急需解决的问题。
       虽然现在全国很多高校都开设了与计算机相关的专业,但由于教学质量不高,计算机教材陈旧,师资力量差,教师本身缺少开发经验,只会理论知识,至使学生毕业后根本就不会做与软件开发有关的工作。为了解决这个问题,社会上出现了各种各样的软件开发培训机构,所有的教材都与社会同步,与世界接轨,全国有名的IT培训机构有北大青鸟、清华等等,在这些IT培训机构学习的学员,在毕业后都能获得软件工程师的认证和其它相关的IT认证,为自己的求职增加了一份筹码。但通过系统学习,在获得软件工程师认证后的学员,其软件开发的水平到底有多高呢?是不是就真的达到了软件工程师的水平呢?经过多家软件企业公布的数据表明,有70%以上的人只能达到或还达不到初级程序员的水平,获得软件工程师认证的人又找不到工作,软件企业招不到合适的开发人员,至使软件企业不惜重金相互挖墙角,但收效甚微,企业内部培养成本又太高,即使培训成才后也免不了替别人做嫁衣。
       那么问题是出在企业用人制度上还是出在软件开发培训机构上呢?经过市场调查,40%是企业用人制度上的问题,60%是IT培训机构培训方法上的问题。下面我们分别从这两个方面对其产生问题的根本进行分析:
      一、企业用人制度太过于机械化
     由于软件企业承接的软件开发项目越来越多,企业原有的开发力量已经无法满足自身的需求,各企业出于对生产效率的提升和技术保密,将本公司所有高端人才集中在一起,共同开发出一套二次开发平台,将一套软件项目的所有相关的部分进行类模块封装处理,所有的软件工人只能在这个平台上进行工作,企业虽然提高了开发效率,但由于二次开发平台的原代码只掌握在及少数人手里,软件工人只能按其规定好的流程进行工作,日复一日,年复一年,时间久了,软件工人成了机器,没有了自己的思想,更别提创新了,出于对自身的发展考虑,很多软件工人都选择了跳槽,但天下乌鸦一般黑,其它软件企业也是一样,至使越来越多的软件工人离开IT业,去从事其它行业。随着人才的流失,企业原有的开发力量就显得力不从心,为了招到合格的人才,软件企业在招聘上花了很大的成本,人是招来了,但经过试用期后发现,高薪招来的人才都是一些纸上谈兵的勇士,工作激情很高,但工作技能太差,根本无法进入角色。有的软件企业已经认识到了这一点,开始寻求解决的办法,例如与一些IT培训机构签署用人需求,将企业的一些项目和IT培训机构的教材相容合,使IT培训机构培养出来的学员到了企业后能很快进入角色,但这只有个别理念先进的企业能够意识到,大部分软件企业还是处于自闭壮态,企业竞争力一天不如一天,最后被市场淘汰出局。
      二、IT培训机构太过于市场化
     现在越来越多的IT培训机构成立了,招生简章可谓五花八门,招生宣传都很到位,服务态度也是一流,培训费用也是其它行业无法比的,一般都在6000-30000元之间,高投入带来高产出,很多大学生和其它行业的在职人员都开始进入IT培训机构进行学习,希望学成之后可以改变人生,梦想是美好的,可学完之后却让他们很失望,原因是他们所学的都是理论知识,只学会了软件开发工具的使用,对软件的实际开发流程一无所知,根本就无法找到合适的工作。一边是IT培训机构的大量扩招,一边是毕业学员无法适应社会的需求。IT培训机构到底哪里出了问题了呢?经过市场分析得出以下几个结论:
    1、教材基本能够和社会同步,但教学模式基本没有发生改变,和大学里面的差不多,一门课一门课的学,并且每门课都严格规定了课时,学员刚学员一门马上就开始学习下一门课,根本没有时间练习。各门课之间没有进行混合教学,等学员学到二期的课程时,要用到一期所学的内容,由于时间过去了很久,平时又不用,早忘没了,回过头再去复习一期的课程,二期的课程又学完了,至使每门课学的都不精。
    2、师资力量不够,很多IT培训机构里面的讲师,有的受过专业的讲师培训,但缺少实践软件开发经验,有的是从社会上临时招来的,他们一般都有很好的软件开发经验,但缺少教学经验和构通能力,无法和学员构通,使教学水平大打折扣。
    3、IT培训机构管理不到位,只注重招生不注重学员的培训管理,不能正确引导和培养学员树立正确的人生观和价值观,使很多学员都错误的理解了软件工程师就是高收入的职业,学完之后就可以得到高薪水的职位,整天在幻想中度过,不好好学习,最后毕业后根本无法就业。
    4、IT培训机构和软件企业缺少构通,无法将软件企业中的实际项目引进来,只有极少数的软件企业愿意与IT培训机构进行合作,达到互利双赢,大部分软件企业出于对技术保密的原因根本就不合作,学员无法在学习期间接触到实际软件项目,到最后只是得到一个经过某某权威认证机构颁发的证书,对自己的未来一片迷茫。
    通过上面两个方面的分析,我们找到了问题产生的原因,如何使软件企业与IT培训机构开展合作,是一个社会问题,而要双方共同努力解决。希望软件企业和IT培训机构的管理者能够认识到这一点,双方之间相互构通,互利合作,共同发展,培训出更多的对企业对社会有用的人才。
posted @ 2008-03-28 22:36 CowNew开源团队 阅读(257) | 评论 (3)编辑 收藏

2008年3月18日 #

反编译工具JodeEclipse已经更新,可以正确的支持Eclipse3.2 和 Eclipse3.3。支持视图与反编译代码之间的同步等代码导航功能。
这个版本是CowNew开源团队接手JodeEclipse以来第一次发布正式版。
下载地址:https://sourceforge.net/projects/jodeeclipse/
posted @ 2008-03-18 10:39 CowNew开源团队 阅读(1317) | 评论 (9)编辑 收藏

2008年3月3日 #

昨天刚发现一个很好的工具FileHamster,写文档、写小软件等的时候可以进行非常实用的版本控制,因为个人用没必要什么协同控制之类的,只要能实现版本控制就可以,所以VSS、CVS、SVN之类的都太麻烦了。是免费软件,英文版的,运行需要.net framework 2.0的支持。老外做的东西挺实用,:)
这是它软件自己的介绍:
该软件允许你定义需要监测的文件和/或者文件夹并且每当被监视的文件发生改变的时候自动地创建一个拷贝,为你提供一个向改变的文件添加一个注释的选项。如果需要的话,你可以简单地恢复到原先的版本并且可以取消改变或者跟踪问题所在。你可以配置保存版本的数量,限制监视指定类型的文件还可以下载用于扩展功能的额外插件。FileHamster 非常简单易用不需要任何专业技术,只需要点击你想要监视/备份的文件即可,其余的事情都由该软件完成.
posted @ 2008-03-03 09:35 CowNew开源团队 阅读(374) | 评论 (0)编辑 收藏

2008年2月19日 #

         最近公司要开发Windows平台上的产品(由于涉及到商业机密,所以目前无法对这个产品做详细介绍),采用.Net技术进行开发,我负责的是基于Visual Studio插件机制的行业开发工具的开发。从开始接触.Net到现在已经有近三个月了,而且也开发出了第一个版本,对.Net已经有了一些认识,由于以前主要用Java、Python等语言进行开发,因此有意无意的就对这些语言进行了比较。和Java比起来,.Net的优势还是很多的,比如快速开发能力、基于Windows特性进行开发的能力、内置的丰富类库、一些高级语法、组件的多版本管理等。优点是不用过多夸耀的,缺点我则要好好的“批评”一番的,因为“谦虚使人进步,骄傲使人落后”嘛,呵呵。开发场景为:使用Visual Studio2005进行C#的开发、使用Eclipse进行Java开发。 
 
1、HotSwap:在Java中HotSwap技术给程序的调试带来非常大的方便,比如可以让程序一边调试一边修改代码,代码修改以后在程序中立即就可以看到修改后的效果,不用每次修改以后都要重新启动程序;在.Net中几乎不允许这样做,只有在非常苛刻的几个情况下才可以实现在调试状态下修改代码,而且一旦代码段被执行过了就肯定不允许再修改了,这就导致每次修改代码都要频繁启动程序,非常繁琐。
 2、基于.Net的东西和Windows结合过于紧密,而且和Windows平台下一些旧有技术有太多千丝万缕的联系,导致用起来非常麻烦。比如每个对外部系统暴露的接口传来传去最后看到的类型是_ComObject,要想得知其真正的接口类型就必须通过COM技术来取得,非常麻烦;开发的很多组件都需要到注册表中注册,增加了部署的难度。

3、Visual Studio中代码的即时查错能力非常弱,很多的要到编译时才能知道代码是否有错;而在Eclipse中在编写代码的时候对于有错误的代码和有警告的代码(比如一些Private成员没有被引用)可以立即清晰的提示出来,开发人员可以立即修改有错误的代码。

4、Java中默认的方法都是可以override的除非标注为final,而在C#中必须是明确声明virtual的才可以override。在Delphi中也是类似的问题,这应该是Delphi和C#共同的老爹Anders Hejlsberg对于OO的一种理念吧,也许人家大师的想法是正确的:一个方法是否是虚方法必须要明确指定。不过对于习惯了Java中这种实现方式的人来说,C#的这种实现方式还是让人感觉一时难以适应的。

5、Visual Studio的编译速度太慢,点击【调试】/【运行】按钮以后要编译好长一段时间才能启动(不过和Visual Studio6比起来现在的Visual Studio编译速度已经快多了了,已经接近于Delphi的编译速度了);由于Eclipse使用的自己的高性能编译器Eclipse Compiler,而且代码的编译是在编写代码的时候即时进行的,所以在Eclipse中根本感觉不到编译的时间,点击【调试】/【运行】按钮以后程序就运行起来的。

6、.Net类库中一些类设计的不灵活,比如TreeView的节点的显示的值是通过Text属性赋值上去的;而在Java中的Swing、SWT等图形库中,可以在一个树节点中挂任何类型的值,然后通过为这个节点定义个性化的Render(渲染器)来决定这些树节点显示什么。

7、Visual Studio的插件体系过于死板,开发起来不像开发Eclipse插件那样灵活简便,这可能和Visual Studio插件体系的历史渊源有关系。举例如下:
(1)比如要在代码编辑器上增加新特性,在Eclipse中可以通过代码编辑器中提供的大量扩展点来实现,而在Visual Studio中的代码编辑器中则只提供了很可怜的几个可扩展性。这一点是Visual Studio插件体系最大的硬伤,大大限制了基于Visual Stuio的插件的功能,相信随着MS对Visual Studio插件体系的逐渐重视,这一点会慢慢跟上来的。
(2)Visual Studio的插件体系和.Net结合过于紧密,在Eclipse中可以为Python、Ruby、C#、C、ASM等很多语言开发IDE(提供代码编辑、代码辅助、调试、编译等功能),这些语言不必与Java有任何关系,而在Visual Studio中虽然也可以为一种语言编写IDE,比如IronPython、J#,但是这些语言是和.Net集合紧密的,比如要为这种语言提供调试功能,则必须将代码编译成MSIL代码,这对于很多语言来讲是不可能的;
(3)Eclipse中的插件只要在自己的plugin.xml文件中配置好就可以了,把那个插件的jar包放到Eclipse中就可以运行,而Visual Studio中的插件则必须首先注册到注册表,调试和部署起来非常麻烦;
(4)Eclipse运行时的配置是保存在Workspace中的.metedata目录下的,因此在开发插件的时候会把插件的配置信息自动写到Host起来的那个Eclipse的Workspace中,被调试模式启动的Eclipse所做的一些修改不会影响主Eclipse,而在Visual Studio中虽然可以使用Experimental Hive方式进行插件开发,但是由于这些配置是保存在注册表中的,所以被Host启动的Visual Studio实例会污染到主Visual Studio,每次重启IDE都需要运行“Reset the Microsoft Visual Studio 2008 Experimental hive”来进行环境的重置,且重置耗时非常长,浪费了大量时间;
(5)VS2008中,如果插件中抛出异常,而又没有捕获的话,轻则VS2008会显示一个错误消息框,重则VS2008会宕掉;而在Eclipse中会将插件中未捕获异常显示出来并且输出到日志文件中,方便插件开发者排查插件的Bug。
(6)Eclipse中工程相关的特性是以Nature的方式提供的,一个Nature通常可以挂接到几乎所有的工程类型中去,包括用户自定义类型;而在Visual Studio中工程相关的特性则是以SubProject的形式提供的,往往只能挂到Visual Studio内置的少数几个工程类型中去(比如CSharpProject、VBProject),这样可扩展性大大降低了。
(7)Eclipse中可以使用JET来开发非常复杂的代码生成器,而Visual Studio中的代码生成则只能用非常简单的代码模板机制,复杂的逻辑就必须通过字符串拼接来完成;

        毕竟接触.Net时间还是非常短,所以有的地方说的可能有错误,还请园子里的兄弟多指教。最后祝.Net和Java能在相互竞争中快速成长,从而让我们开发人员能够轻松、快乐、快速的开发出产品来,:)

posted @ 2008-02-19 11:29 CowNew开源团队 阅读(2260) | 评论 (16)编辑 收藏

2008年2月9日 #

送给未满30和已满30的创业者和奋斗者们 
 放 弃 
把握的反面就是放弃,选择了一个机会,就等于放弃了其他所有的可能。当新的机会摆在面前的时候,敢于放弃已经获得的一切,这不是功亏一篑,这不是半途而废,这是为了谋求更大的发展空间;或者什么都不为,只因为喜欢这样做,因为,年轻就是最大的机会。人,只有在三十岁之前才会有这个胆量,有这个资本,有这个资格。

失 恋 
不是不在乎,是在乎不起。三十岁前最怕失去的不是已经拥有的东西,而是梦想。爱情如果只是一个过程,那么正是这个年龄应当经历的,如果要承担结果,三十岁以后,可能会更有能力,更有资格。其实,三十岁之前我们要做的事情很多,稍纵即逝,过久地沉溺在已经干涸的爱河的河床中,与这个年龄的生命节奏不合。 

漂 泊 
漂泊不是一种不幸,而是一种资格。趁着没有家室拖累,趁着身体健康,此时不飘何时飘?当然,漂泊的不一定是身体,也许只是幻想和梦境。新世纪的时尚领袖是飘一代,渴望漂泊的人唯一不飘的是那颗心。

不适应 
在一首摇滚里有这么一句:"这个城市改变了我,这个城市不需要我。"不要盲目地适应你生存的环境,因为很可能这环境自身已经不适应这个社会的发展了。

失 败
我的老师曾经跟我说,一个人起码要在感情上失恋一次,在事业上失败一次,在选择上失误一次,才能长大。不要说失败是成功之母那样的老话,失败来得越早越好,要是三十岁,四十岁之后再经历失败,有些事,很可能就来不及了。 

稳 定 
三十岁之前就在乎稳定的生活,那只有两种可能,要么就是中了彩票,要么就是未老先衰。 

房 子 
除非你买房子是为了升值,要么就是你结婚了。我有个同学,家在外地,大学毕业之后,单位没有宿舍,家里就给他买了一套房子。他曾经有过去北京工作的机会,但是他觉得刚买了房子就离开这座城市说不过去,就放弃了。到现在他工作稳定,但一事无成。唯一的成就就是结婚了,并且有了孩子,因为他觉得该让这房子永远空着,所以房子变成了家。房子是都市生活的寓言,这个寓言不应该过早的和我们相关。

posted @ 2008-02-09 17:38 CowNew开源团队 阅读(359) | 评论 (2)编辑 收藏

仅列出标题  下一页