·EasyJWeb-1.0 m1版正式发布(阅读:421 发表时间:2007-08-16)
经过将近半年的努力,EasyJWeb开发小组非常高兴地在此向大家宣布,EasyJWeb-1.0 m1版正式对外发布,欢迎广大的开源爱好者下载使用。 EasyJWeb-1.0版本包括以下功能: 1、重新对EasyJWeb的文档进行了修改,提供了较为完善的上手指南及开发指南文档。 2、完善了验证(Validate)系统; 3、对EasyJWeb的各个组成部分进行了更为合理的划分,分成了核心mvc、应用扩展及代码生成三个独立的部分; 4、完善了系统异常及错误处理机制; 5、完善了配置文件的加载方式,支持在easyjweb的配置中使用<import>标签引用其它配置文件; 6、完善了超级IoC容器的实现; 7、完善了代码生成引擎,提供基于EasyJWeb+JPA+Spring2的快速代码生成引擎及工具,支持快速开发; 8、增加了一套用于快速体验EasyJWeb的示例应用及演示,让你能快速进入体验。 9、零配置、惯例代替配置功能的增强; 10、支持重定向输出流。 下载地址:http://www.easyjf.com/easyjweb/download.htm SVN地址:http://svn.easyjf.com/repository/easyjf/easyjweb/trunk EasyJWeb上手指南(新):详细内容
|
·[挑战MVC极限]EasyJWeb-1.0特性抢先看之一简介(阅读:120 发表时间:2007-08-08)
序 2006年,一群Java领域的大师们纷纷转向动语言,随着类似RoR这些框架的宣传及推广,我们发现动态语言确实带来了以前在Java的领域里面不曾有的思想、东西。使用传统的Java MVC框架做开发,相对于动态语言所表现出来的灵活、敏捷,感觉Java确实要笨重、麻烦、古板得多。当然,Java世界中所积蓄的能量以及各路武功流派的博大精深是动态语言无法比拟的,理智地分析起来会发现他们之间并不是完全的竞争关系,只是应用的领域及场景不同而已。 也许你曾经有一段时间觉得写JavaEE应用变得有点笨重、困难,我想那不是java的错。人民大会堂里面国宴的烹饪工序,肯定比大街上卖的鸡蛋饼要复杂得多。如果你在两三年来一直使用Struts来编写笨重、复杂的java web应用程序,那我不得不想问一句:你为什么不尝试一些Java开源界里面的其它一些新的技术框架呢?为什么Java Web应用就不能像RoR那样快速、灵活呢?为什么Rails能借鉴java的那么多优秀思想,而java就不能借鉴RoR的一些新的思想及方法呢?我们正在寻找这些问题答案的路上。 最近一直忙于EasyJWeb的完善及改进工作,另外还忙于一些技术以外的琐事。作为一个旨在让Java Web应用开发变得真正快速、简单的MVC框架,作为一个由全国是中国人自己开发的开源框架。在EasyJWeb的正式版本即将发布之即,特总结了一下EasyJWeb1.0版本中引入的一些新特性及思想,欢迎大家参与进来讨论。 EasyJWeb-1.0还未正式发布,你可以通过SVN库来取到最新的源码及示例,SVN库位于:http://svn.easyjf.com/repository/easyjf/easyjweb/trunk。
EasyJWeb简介 EasyJWeb是基于java技术,用于企业级Java Web应用程序快速开发的MVC框架。框架设计构思来源于国内众多项目实践,框架的设计及实现借鉴当前主要流行的开源Web框架,如Rails、Struts、JSF、...--详细内容
|
·在easyjweb应用中关于acegi安全配置的增强 (阅读:219 发表时间:2007-06-27)
在easyjweb的应用程序中,我们习惯通过easyJWebCommand这一参数来指定服务器端控制器的执行命令。比如newsDocManage.ejf?easyJWebCommand=edit&id=1,将执行NewsDocManageAction中的doEdit方法。 在acegi中,最简单也是最常用的权限控制是基于url拦截的权限控制。比如,为了对添加文章进行权限控制,我们需要添加一个类似如下URL资源:/newsDocManage.ejf\?easyJWebCommand=add.*。这样当用户点击这一连接的时候,将会进一步检查用户对该URL的访问权限,从而达到保护。 在EasyJWeb的快速应用开发构架中,easyJWebCommand这一个命令参数都是以隐藏表示元素的形式存在的,比如,在表单中一般会包含下面的元素:<input type="hidden" name="easyJWebCommand" value="edit"/><input type="hidden" name="id" value="1"/>。而大我数表单都是以post方式提交的。此时就无法使用基于URL拦截的方式对doEdit方法进行资源描述及权限控制,而只能使用基于方法调用的资源来描述。但acegi的方法调用需要使用AOP,特别是代理Bean的配置也比较麻烦,而且实现应用中是不会直接像acegi的示例那样直接修改配置文件的,而且这是MVC一级的东西,我们不宜使用AOP,(当然,直接通过AOP配置业务逻辑层组件的除外)。 在今天更新的acegi集成的开发框架版本中,增加对NewsDocManageAction的doEdit方法进行描述及权限控制的支持。也就是说,不管使用get或者是post。在基于easyjweb的应用中,都可以直接使用get的方式来进行权限描述。比如上面的doEdit方法,可以直接使用下面的资源描述:/newsDocManage.ejf\?easyJWebCommand=edit.* 这样,不管是post提交还是get提交,都可以使用一致的方式的对控制器中的方法进行权限设置了。 注意要使用这个功能,需要调整一下web.xml的...--详细内容
|
·回家的感觉真好(阅读:71 发表时间:2007-06-24)
终于从北京这鬼地方短暂地逃出来了,还拐了两个朋友过来,呵呵。第一次从野的站一般的南苑机场出发,当飞机停留在江北机场,感觉就像从一个很偏远落后的小山村到了一个大城市,梦幻一般的历程。 在出租车上沿着美丽的嘉陵江一路狂奔,就像在高速路上一样,没有堵车,没有等待,更没有抱怨。 晚上去看了willaimRaym以及美女们,好久没见面,非常欣慰大家都很好,听说大威同学闲不住,又开始变得像周总理一样忙起来了,呵呵,佩服ing。 回家的感觉真好,经历了北京的拥挤、忙碌、奔波、疲劳,一下子觉得惬意了很多。相比北京大部分时间花在路上的情景,我想这样的环境与心境工作效率一定会更高很多。 现在就差没见着哼哈二将了,呵呵,练了一段时间的双手互博,有很多的东西等着与大家分享哈。 --详细内容
|
·使用权限标签控制View层展示的内容(阅读:261 发表时间:2007-06-14)
在实际应用中,我们经常需要根据当前用户的操作权限来判断是否显示一新功能。如在论坛系统中,只有版主及管理才能删除贴子,因此在一般用户打开一个贴子的时候,就不需要出现“删除”这个连接。 权限系统标签接口的设计,在大多数应用中,以下接口中两个方法基本能满足大多数需求。 public interface AuthorizationUtil { /** * 根据名称判断用户角色,从而判断用户是否刻有该权限.roleName可以是单独的名称,大小写可以任意.可以包含空格等. * 若要使用多个角色,可以使用+、|、~、,等符号来表示组合关系 * 使用方法:#if($ROLE.is("ADMIN"))<a href="javascript:doDel()">删除</a>#end * 或:#if($ROLE.is("AMDIN,Manager"))<a href="">删除所有</a>#end * @param roleName * @return */ public boolean is(String roleName); /** * 判断一个用户是否对指定的对象有指定的操作权限 * @param operation 操作,"del","create","update","read"等 * 使用方法:#if($ROLE.is("del",$obj))<a href="">删除该记录</a>#end * @param obj 操作的对象 * @return 如果具有操作权限 */ public boolean is(String operation,Object obj); } 在昨晚修改EasyJWeb的时候,在框架处理器中增加了一个全局Util的Map。同时增加了一个跟EasyJF的权限控制系统结合的...-- 详细内容
|
·文化.性格.年龄.赞扬(阅读:176 发表时间:2007-06-10)
这个题目是一个非常大的题目,这篇Blog能讲述的只是一个缩影。 最近接触了不少人,也发生了不少事儿,所以有了一些新的感悟。 文化是什么?打开百度知道,“文化笼统地说,文化是一种社会现象,是人们长期创造形成的产物。同时又是一种历史现象,是社会历史的积淀物。确切地说,文化是指一个国家或民族的历史、地理、风土人情、传统习俗、生活方式、文学艺术、行为规范、思维方式、价值观念等。 ",最近在京城,有机会与来自全国不同的省份的人组成团队一起在工作,加上怀着开源梦想从天南地北来到北京的easyjf成员,不同地方的人,所表现出来的行为、习惯、意识、传统习俗及价值观的不同,让我对文化的认识似乎增加了不少。中国有自己的独特的文化,因此打算为做出更加符合中国独特文化的系统开源框架而努力。 以前学过《心理学》及《组织行为学》等课程,里面都非常明确地对“性格”有着具体的定义,“性格”主要包括个体思想、情绪、行为与态度。相对于“个性”来说,性格更加会受到后天因素的影响。由于地域上的不同,成长方式的不同,教育经历以及工作经历的不同,导致性格有着非常大的差异。性格非常关键,不管是“性格决定命运”,还是“细节决定成败”,都与性格有着关系。其实从严格的逻辑上来说,性格决定行为,行为所表现出来的行动方式决定了成败。深入接触过easyjf团队里的一些成员,由于性格的差异,导致大家做事的风格、思路、乃至解决问题的方式、对一个问题的看法很多时候都很难一致。对于互联网无处不在的今天,很多人网上的性格与实现中性格的差异也很大。 年龄其实很简单,每过一次生日就加一。小时候非常盼望自己的年龄快快长大,毕竟想快点摆脱家长、老师乃至其它一切约束自己的人们。当从学校毕业,走上社会以后才发现,其实受到约束更加多,很多时候经常身不由已。于是对待生日的态度也有了改变,奔三还没嫁出去的女人一定害怕过生日。 从这段时间接触的人来看,让我改变了一些观念。由于工作早的因素,以前不管在任何团队里面自己都是年龄最小的,所以做起事情来也一直很放得开,因为有着一种“我有资本再来一次”的心理优势。而...-- 详细内容
|
·使用JPA+Spring2.0+EasyJWeb开发企业级应用(阅读:531 发表时间:2007-05-27)
作为EJB3.0的一部分,JPA是一个好东西。其简单的配置方式及强大的默认配置支持,使其可以轻松自由的存在于轻量与重量之间,如果现在您的JavaEE项目,不管是选择轻量级构架还是重量级构架,持久层使用JPA应当是企业级应用系统开发首选。除去标准因素,从技术特性上来说,当JPA吸引人之处主要在于他的简易(easy)方面,通过java5的注解,使得我们对对象关系映射的描述更加的简化,比如以前需要一大串xml才能描述的OneToMany、ManyToMany等关系,JPA中只通过简单的一个@OneToMany或@ManyToMany即可搞定。JPA还提供了约定代替配置的方案,一种映射都有约定的方式,而且是一种实践中总结出来的映射方式,只有在特定的时候才会去更改这些约定值。 Spring2.0发布半年多了,其中增加了很多非常实用的功能。比如AOP的加强,配置方式的简化,JPA的支持,动态语言的支持等,集成了更多的功能。不管你的技术框架如何,只要你善于观察及发现,你都能从Spring2中找到很多通用问题的解决方案。Spring的支撑项目已经很多,比如安全的acegi,spring web flow、spring web service等。在得到风险资金注入的interface21,相信以后还会给我们更多的实用东西。用Spring2.0来解决企业级应中的基础服务(IOC、AOP、事务及实用功能封装等)及业务逻辑层的问题,一段时间内仍然会是企业级应用中的首选。 持久层及中间层已经解决,余下的就是表示层也就是MVC层的内容了。企业级应用中的一个特点,就是用户界面非常的多,也比较复杂、变动的概念也是最大。当前的MVC层竞争是最为激烈的,最开始是基于请求转发(代表Struts、Spring MVC、EasyJWeb)模型系列与基于组件模型系列(代表JSF、Tapestry、Wicket等),然后是以Ajax技术为核心的MVC系列框架(代表ZK、GWT等)跳出来横插一脚。由于表示层易变性及开发人员的习惯等问题。导致MVC框架的竞争是如此惨烈,webwork已经跟Struts抱成了一团,Struts2的推出证明了“Struts式”的程序即会慢慢退出竞争的舞台。 因为MVC框架太乱,用户需求的不确定性,所以一套符合我们文化特...--详细内容
|
·EasyJWeb、RoR、JSF&Struts2,谁更Easy? (阅读:130 发表时间:2007-04-29)
这是一篇摘自EasyJF团队交流群里面关于MVC框架的讨论,涉及到目前的一些主流框架,如ROR、JSF及Struts2等,如何改进EasyJWeb,如何才能让WEB应用开发变得快速、高效、简单。这是讨论的主题,这里发出来,欢迎更多的人来参与讨论。 calmness: 你看可不可以做灵活点,action不作为一个抽象,针对方法进行处理,就是说配置的时候可以随便配置任何一个类,然后通过注释指定某一方法处理请求,可以是bean,也可以是action,什么都行,这样就减少了框架的依赖,方便移植,而且也可以满足旧有的习惯,习惯用action的也可以自己写个action,只需要用注释指定一个方法处理即可,而form呢就通过注释指定,对form没要求的话也可以不指定,这样就灵活好多,而且也很简单,用户需要做的就是指定请求处理的一个类即可,其他的配置都不需要,基本通过注释搞定一切,抛弃以前的配置方式
大峡 action不作为一个抽象,针对方法进行处理,就是说配置的时候可以随便配置任何一个类,! 跟 webwork一样了。。。。 |
·csdn英雄会的郁闷与收获 (阅读:80 发表时间:2007-04-11)
呵呵,这几天看到大家都在分享英雄会上的见闻、感言、我真是羡慕啊。其实我也参加了这次英雄会,但比起英雄们参与的心情,我的英雄会历程中有收获的同时也有不少郁闷的地方,本来不想写,不过又实在忍不住,这里就随便谈谈。
先说收获: 收获1:能聚集全国这么多的英雄,能拉来如此多的大厂家做赞助,让我见识了csdn的nb之处,特别是看了蒋总与曾总的专访,更是感慨csdn的发展速度。 收获2:IBM总构架师的演讲,不管是提到“两国论”,还是介绍ibm的图灵奖科学家,都让我对这个计算机界巨人另眼相看。 收获3:见到了学生时的偶像王志东及鲍岳桥本人,呵呵,敬佩啊。 收获4:创业论坛,嘉宾们的机智及幽默,周董的激情演讲,给我上了一堂比MBA课堂里精彩n多倍的创业课。 收获5:下午google的王咏刚的演讲,不但让我见识了google的人的聪慧及自由的文化,关于google在开源领域做的事情,也触动着我的每一根神经。 收获6:金碟的张总在主题演讲的时候,台上的一个照像的MM还真是漂亮,基本上可以跟重庆的美女媲美了。 下面说说这次英雄会郁闷的事儿 郁闷1:首先是坐车,由于对北京的情况不熟悉,7点过一大早就起来跟天一从住处出发,出来打一个车去坐地铁,没想到这么早、那么宽的路也要到处堵车,于是这司机借机把我们拉着绕了一大圈才到地铁口,而且平时10多分钟的路程,花了差不多40分钟,钱也多花尽两倍。呵呵,还好地铁不会堵。。。。。 郁闷2:到达会场去签到的时候,打死也找不到我的名字。我就奇怪前两周csdn的会务组织人员还打了两三次电话给我确认什么参会、订做衣服等事儿,怎么来了就找不到名字呢?真是郁闷。还好后来把我名片给了一位csdn的工作人员,刚好他听说过我名字,费了几番周折才进到会场。 郁闷3:除了开头ibm及结尾google的主题演讲以及下午的创业论...--详细内容
|
·为何不使用spring、struts2、easyjweb等开源框架(阅读:379 发表时间:2007-04-10)
该不该使用各种各样的开源框架,我想这是很多程序员自己也困惑的问题。有的由于对框架的不熟悉,有的是为了程序的优化,还有一些就是觉得开源框架用起来不顺手。 关于这个问题,一个在政府做技术主管的朋友这样说: “1年前,我非常疯狂的喜欢spring velocity webwork struts ....只要是开源的我都忍不住去试着用用。我也在很多项目中使用一些开源技术,其结果是大家怨声多于表扬。其实不是这些技术不好,是我们不会合适去应用。 我一直在思考一个问题.是不是我们太热衷于“实现”而忘记了“设计”,我最近几天的思考的问题是:“jsp+javabean”其实也是个好框架,关键在于你如何去应用好设计模式。” 我认为关键还是要在于我们对这些框架的掌握程度。再好的技术,再好的框架,再简单易用的东西,肯定都有一定的门槛,都存在一定的学习曲线.框架封装了很多底层的东西,尽管其没有限制我们在框架中自己应用一些底层的,但大多数时候我们仍然不知道如何着手. "大家怨声多于表扬",之所以这样,我觉得还是他们对框架的核心掌握得不透彻所至.程序员的一个成就感及自豪感,来源于程序员自生对系统、对电脑的一种控制力.也就是:"我想让他干嘛就干嘛".普通的jsp+javabean,这是最简单的.当然也最容易“控制”.尽管控制他做的事情可能并不强大,写出的东西有可能难以维护、扩展,但始终是“控制”了。因此,大家很喜欢。 而使用其它框架,很多基础的控制交由了这些框架处理了,尽管这些框架提供了很好的基础平台,好的设计模式供我们使用,但需要我们首先对他有一个比较深入的理解。否则就谈不上控制,只能照猫画虎般的照着做.一但程序出来的不是我们想要的东西,一但人机交互的结果出现偏差,很多时候就让我们无能为力。在现实中,不是所有使用的这些框架的人,都熟悉这些框架的原理及内核,都能控制这些框架工作,一但有一些不愉快的尝试,怨声多于表扬也就难免了. 总结志来就是:再好的屠龙刀,只有我们对其非常熟悉、并对其有一种控制能力以后,使用起来才会得心应手,否则更多的人宁愿选择使用自己砍的木棍,虽然威力差...--详细内容
|
·EasyJF开源从网上走到网下(阅读:308 发表时间:2007-03-28)
呵呵,改组工作从2月初开始,在竹雨的带领下,很多人参与了这次改组工作。在经历将近两个多月的改组工作中,很多人做了不少的事情。我猜要是把相关的聊天记录、网上会议记录等加在一起,一定要有好几十公斤重。 3月31日,easyjf的部分核心成员及北京地区的成员,将在北京举行一次小小的碰头会,把团队改组的工作从网上延伸到网下,对一些大家一直不好确定的问题当面进行更深入的交流。 从网上走到网下,在变化中求发展,这是一个转折。希望通过这次改组能找到一条更加适合我们自己的开源路,也希望这是EasyJF开源2007的一个好开端。 由于之前自己手上杂活太多,因此没能更多为本次改组工作做出贡献,深表惭愧。在此特别感谢为这次会议提供帮助的所有单位及个人,也感谢一直以来或者曾经支持EasyJF开源的人,更感谢那些一直在开源的领域里做贡献的同行。 关于本次会议的详情:团队3月31日会议的通知 --详细内容
|
·让spring帮助你在MVC层解决JPA的缓迟加载问题(阅读:245 发表时间:2007-03-28)
作为EJB3.0的一部分,JPA是一个好东西。其简单的配置方式及强大的默认配置支持,使其可以轻松自由的存在于轻量与重量之间,如果现在您的JavaEE项目,不管是选择轻量级构架还是重量级构架,如果持久层不选择使用JPA,而是用一些ORM框架(如Hibernate、TopLink)的专用API,那么在将来的某一天一定会为这个选择而说出至尊宝那句“假如上天再给我一个机会…”的至理名言。 下面是一个简单的Entity,是对一个CMS系统中,关于树状信息目录实体类的定义,包括了一些详细的映射的配置信息。 @Entity
详细内容
|
·(收藏)《大国崛起》节目解说词(阅读:93 发表时间:2007-03-23)
为什么整理和推荐《大国崛起》 这是中国中央电视台第一部以世界性大国的强 国历史为题材并跨国摄制的大型电视纪录片。 今天的中国,正走在中华民族伟大复兴的道路 上。拥有广袤土地、众多人口和悠久历史的中国的 富强,将创造人类发展史上的重大事件。而这一过 程也正深刻地改变着中国社会,影响着世界格局。 近代以来160多年的追赶,让世界再次听到了中国的 声音;新中国成立之后,尤其是改革开放近三十年 来的巨变,使我们能够更自信和从容地立足于世界 去探索自己的强国之路。 中国的几代领导人反复强调:我们的发展,要 吸收和借鉴全人类的文明成果。那么,在中国的现 代化进程中,应该以什么样的胸怀和态度来看待曾 经在近现代历史上引领世界潮流的国家?中国的和 平发展,可以从中借鉴什么样的经验和教训? 2003年11月,中共中央政治局进行了第九次集 体学习,这次学习引起了广泛的关注。学习的内容 是:世界上9个主要国家自15世纪以来的兴衰史。 此后,关于这段历史的学习在其他各级党政部门多 次进行。 基于这样的社会背景,中央电视台推出了 12集电视系列片《大国崛起》来解读15世纪以来世 界性大国崛起的历史,探究其兴盛背后的原因。 12集大型电视纪录片《大国崛起》即以上述九 国的发展历史为内容。本片所说的“世界性大国”, 不是人口和面积意义上的大国,而是在历史“成为 全世界的历史”之后出现的具有全球性影响的国家。 《大国崛起》 导 语 公元1500年前后的地理大发现,拉开了不同国 家相互对话和相互竞争的历史大幕,由此,大国崛 起的道路有了全球坐标。 ...--详细内容
|
·EasyJWeb中灵活的多国语言支持 (阅读:230 发表时间:2007-03-16)
一、多国语言资源属性文件 1、定义多国语言资源文件 为了让系统中支持多国语言,我们需要把各国具体的文字信息存放到资源文件中,EasyJWeb的多国语言资源文件统一存的位置在\WEB-INF\applicationSource目录,文件名为类似下面的内容xxxx_zh.properties,xxxx_en.properties,其中xxx代表资源区域标识、zh及en代表语言。文件中的内容是标准的属性文件,包括一系列成对的名称与值定义的属性。如下面是两个多国语言文件内容: hello_zh.properties-中文属性信息 #Created by JInto - #Thu Mar 15 12:43:36 CST 2007 msg=\u5582\uFF0C\u60A8\u597D\uFF0C\u6211\u662FEasyJWeb\uFF0C\u8BF7\u652F\u6301\u56FD\u4EA7\u5F00\u6E90\u9879\u76EE\uFF01 nowtime=\u73B0\u5728\u7684\u65F6\u95F4\u662F title=\u6211\u7684\u7B2C\u4E00\u4E2AEasyjweb\u5E94\u7528 hello_en.properties-英文属性信息 title=my first EasyJWeb application for US nowtime=now time is msg=hello,this is EasyJWeb openSource,Thanks for your support! 2、模板页面中的使用多国语言标签 有了多国语言资源文件,即可在模板页面中通过多个语言标签来支持多国语言内容,主要有两个步骤; (1)、先使用$!i18n.init("hello")来加载资源文件,也可以在easyjweb配置文件中设置自...--详细内容
|
·理想·环境·开源 (阅读:262 发表时间:2007-03-10)
小时候在老师的威逼利诱下写过很多千篇一律关于“理想”的文章,当时的理想从明星、医生、教师乃致科学家等各种职业什么都有。而出了大学校门后,发现这些理想原来离自己如此遥远。首当其充要解决就是自己如何吃饭、住在哪儿的问题,因此不得不放弃自己的很多“理想”,而做着一些与自己的理想相差甚远的事儿。 据相关领域的专家说,只有随着一个人内外部环境的规范并相对稳定以后,提出的理想才可能成形,才有可能实现。个人内部环境成形包括一个人的知识结构、社会的基本生存能力、人生观及价值观的相对稳定;而外部环境当然就是指我们所处的政治、经济、文化等宏观环境以及我们所在单位、家庭等微观环境了。而放眼今天我们大多数80后人所处的环境,能成形的有多少?在放眼看看80前的人,大多已经被这个环境搞得恢头土脸,能让内外环境稳定、坚持理想的又有多少? 去年,我的理想中多了一个:“做一个开源人”,相比小时候的理想,这个显得应该比较实际了,毕竟一直在接触开源、在用开源、而且也非常喜欢编程。不过一年下来,发现这个理想的实现有时也显得有那么点迷茫。 这几天在跟一个朋友讨论关于环境问题:是环境改变我们,还是我们创造环境,我们该如何对待环境。 他说:“我所处的环境让我什么都做无法做?”。 我说:“如果无法改变环境,就试着让自己适应环境吧?”。 他说:“但我非常不喜欢我现在的环境!”。 我说:“那就撤吧!”。 他说:“我能撤哪儿?......”。 而中国开源的环境又怎样呢?整天看着csdn上袁萌老师在为开源、为Ubuntu摇旗呐喊的文章,开始觉得很受鼓舞,很过瘾,不过看多了以后,发现其实说的大多不是我们身边的事儿。差不多一年以来,一直尝试着做一些有关开源的事儿,因此发现很多现存的有关开源的经济学、开源商业化、开源组织管理、协作流程、开源精神、开源文化等很多东西探讨起来,基本上都有点纸上谈兵的感觉。 突然间有点傻了眼,是环境问题吗?“世界是平的”,更何况像开源这样无国界的领域,但为什么我们国内的程序员、公司在开源的投入上就那么少得可怜呢?为什么会被别人笑称为“开源消费者”呢? 当然,迷茫的同时也有两点可喜的:详细内容
|