阅读更多
APDPlat是Application Product Development Platform的缩写,即应用级产品开发平台,可以帮助你快速开发基于B/S多层架构的信息管理系统。而对于Java初级开发者,也能从APDPlat中学到众多的架构设计原则及编码技巧。

项目官网:http://apdplat.org/
在线Demo:http://apdplat.net/(用户:admin  密码:admin)



为了使大家对APDPlat有进一步的了解,本期我们采访了APDPlat的作者杨尚川

ITeye期待并致力于为国内优秀的开源项目提供一个免费的推广平台,如果你和你的团队希望将自己的开源项目介绍给更多的开发者,或者你希望我们对哪些开源项目进行专访,请告诉我们,发站内短信给ITeye管理员或者发邮件到webmaster@iteye.com即可。

先来个自我介绍吧! Top

我叫杨尚川,从2005开始就一直从事Java开发。2010年开始NUTCH相关框架的研究,目前为独立咨询顾问,专注于大数据、搜索引擎等相关技术。

APDPlat是什么?有哪些功能? Top

APDPlat是Application Product Development Platform的缩写,意为应用级产品开发平台。

作为应用级产品的开发平台,APDPlat提供了应用容器、多模块架构、代码生成、安装程序、认证授权、备份恢复、数据字典、web service、系统监控、操作审计、统计图表、机器绑定、防止破解、数据安全、内置搜索、数据转换、maven支持、WEB组件、内容管理等功能。

开发这个项目的初衷是什么?为什么会选择开源? Top

2008年我发起这个项目,最初的目的是为了方便自己做项目,之后一直持续重构,持续改进,特别是对简洁的追求。目前APDPlat只有不到一万五千行Java代码,其中还有很多代码是工具类或是为扩展做准备的代码。

2010年以后,我主要从事NUTCH相关的研发工作,而且APDPlat已经相对成熟,所以2012年我选择将APDPlat在GitHub上面开源,希望能吸引更多的开发者,注入新鲜的血液,同时也希望以码会友,共同交流。

APDPlat的实现原理是什么?采用了哪些技术和框架? Top

APDPlat底层几乎全部采用Java开源框架,对Spring、Struts2、Compass做了定制修改,接管了系统启动和关闭的控制权,统一了配置文件,并实现了诸多平台级的功能,为应用级产品开发铺平了道路。

对于一个平台来说,讲究成熟稳定,功能丰富,因此需要众多的框架来支持,而不是去重新发明轮子。APDPlat用到的开源框架主要有:

  • Web前端采用EXT JS
  • 前端控制器采用Struts2
  • IOC容器采用Spring
  • ORM采用JPA,默认实现是Hibernate
  • 内置搜索采用Compass,扩展方案采用Solr
  • 认证授权采用SpringSecurity
  • 代码生成采用Freemarker
  • 日志组件采用SLF4J
  • 调度组件采用Quartz
  • 验证码采用Jcaptcha
  • Web Service采用CXF
  • SQL监控采用P6SPY
  • JS和CSS压缩采用YUI Compressor
  • JAVA代码混淆采用Allatori
  • 获取系统信息采用Sigar
  • 单元测试采用JUnit
  • 配置文件加密采用Jasypt
  • 缓存采用EhCache或是Memcached
  • 数据库连接池采用CommonsDBCP
  • Office文档操作采用POI

APDPlat的目标用户及定位是什么? Top

APDPlat的目标用户是广大的Java工程师。

因为APDPlat是基于众多Java开源框架的,所以没有扎实的Java功底是驾驭不了的。对于Java的入门者或是初级工程师来说,可以把APDPlat当成一个案例来学习。只有熟练掌握Java技能的工程师才能使用APDPlat做到“快速开发”。

APDPlat并没有提供可视化的建模环境,所以它不是“针对业务人员的快速开发平台”。

与同类型的开发平台相比,你认为APDPlat的优势或特色是什么? Top

对于同类型的开发平台,我所知甚少,很难比较。

在我看来,APDPlat开箱即用,默认提供的功能不需修改立即可用,尤其适合研发能力相对薄弱的微小企业以及工作室。

APDPlat的性能如何? Top

混淆优化JAVA代码,并使用“懒加载”以及“缓存”技术,Java代码的性能表现优异。

压缩优化CSS和JS,并启用HTTP、GZIP以及浏览器缓存,Web前端的性能也表现优异。

有没有统计目前采用APDPlat平台开发的应用有多少?有哪些典型应用? Top

在GitHub开源后,目前APDPlat已经被Fork了170多次,至于用户开发了哪些应用,我还没有得到反馈。就我自己来说,典型应用主要是B/S架构的管理信息系统。

如何基于APDPlat快速开发? Top

要想基于APDPlat实现快速开发,需要阅读APDPlat  Wiki,并有两个前提:

  • 一是需要对JPA有深入的理解
  • 二是需要对EXT JS有深入的理解。

目前APDPlat的开发团队有几个人?如何参与贡献? Top

APDPlat正在招募开发队员,目前的开发主要是我一个人。

在GitHub上面Fork APDPlat,增加功能或是BUG修复之后,使用GitHub的Pull Request可参与贡献。

APDPlat的开源协议是什么?你对开源怎么理解?你如何看待国内的开源环境? Top

APDPlat采用GNU GENERAL PUBLIC LICENSE Version 3作为开源协议。

开源的项目更让人放心,因为它公开、透明、安全、可控。参与开源项目需要持续地投入时间与精力,要有奉献与协作精神。

目前国内具有开源精神的人还不是很多,大家对如何使用开源项目很热衷,而参与开发的就少了。

APDPlat的未来发展计划? Top

APDPlat将来要加入工作流、Android客户端、安装程序、完善现有的功能、BUG修复。

另外,你还推出了一套Nutch相关框架视频教程,你对想学习Nutch的同学有什么建议? Top

《Nutch相关框架视频教程》是一系列的视频教程,详细讲解了跟Nutch相关的框架,这些框架主要有Lucene、Hadoop、Solr、Tika、Gora、HBase等,其中Nutch是网络爬虫、Lucene是全文检索工具包、Hadoop是分布式存储与计算、Solr是搜索服务器、Tika是内容分析工具包、Gora是ORM的大数据版、HBase是基于Hadoop的分布式数据库,都是Java开源框架。

作为一个Java工程师,这些技术我相信大家都有所耳闻,尤其是Lucene,几乎可以应用到带有搜索功能的所有项目中。Solr基于Lucene,提供了更多的企业级特性。Tika可以从各种不同的文档中提取元数据和结构化文本内容。Nutch从一开始的搜索引擎演变为如今的网络爬虫,在进化过程中,产生了Hadoop、Tika和Gora三个项目,如今这三个项目都发展迅速,极其火爆,尤其是Hadoop,其已成为大数据和云计算的代名词。

我希望这套视频能对学习的同学起到抛砖引玉的作用,激发大家学习大数据、搜索引擎的热情。
  • 大小: 135.5 KB
  • 大小: 26.6 KB


评论 共 130 条
130 楼 wenxin2009 2013-09-17 15:41
做研究不错,吸取里面的好的东西。支持开源~
129 楼 taotoxht 2013-08-20 11:00
我是一个刚参加工作的学生,现在很迷茫,看到这篇文章,仿佛知道该学些什么了,真是太好了,希望哪天我也能有您这样的功力
128 楼 yangshangchuan 2013-06-29 19:09
中国开源软件推进联盟主办、全球最大中文IT社区CSDN与程序员杂志协办的“第八届开源中国开源世界高峰论坛暨中国开源群英会2013”,于6月28-29日在北京航空航天大学隆重召开,大会组委会在会上宣布了年度开源项目评选结果,经过网友近三万张公开投票,并经过中国开源软件推进联盟专家委员会的综合评选,Cocos2d-X、UbuntuKylin操作系统、APDPlat、ThinkPHP、DWZ(jUI)、Pomelo、FineUI、zTree、UEditor富文本编辑器、SpringSide、禅道项目管理软件、Node-Webkit当选为2013年度优秀开源项目。详情请参考大会官方网站
127 楼 yangshangchuan 2013-06-29 19:07
第八届开源中国开源世界高峰论坛上午全体会议宣布了“2013年度中国优秀开源项目”评选结果,10个参选项目APDPlat、DWZ、FineUI、Pomelo、SpringSide、thinkPHP、UbuntuKylin、UEditor、zTree、禅道以及2个专家特别推荐项目Node-Webkit和Cocos2d-x入选,祝贺这些项目团队!
126 楼 無為子 2013-06-28 15:47
yangshangchuan 写道
FineUI创始人三生石上在CSDN发了帖子 CSDN的《2013年度中国优秀开源项目评选》已经沦落为一场刷票大战 http://bbs.csdn.net/topics/390498313
G4Studio_熊春的看法:
有人把这帖子地址发给我 问我对这事有啥看法?我答“呵呵,帖子好长”。现在终于看完,我只能说让我想起了大学时候我上铺的兄弟。每次考试,他总是会很早的去占座位,坐成绩最好的女生后面,然后给我也占一个他后面的座位。每次最后半小时的时候他都扭着身子要让我抽,我每次都不屑。有一次,他硬是要给我赛纸条,我一气之下给他一脚射坐地下了。每次都习惯性的他都高分飘过,我则进入挂科重修挂科重修的死循环。平时,我们却是最好的朋友,最铁的兄弟。真心好基友。其实忠实憨厚之人与投机倒把的油滑之人也可以求同存异共生的。可恨之人必有可爱之处。建议@u010918003不用那么上火,一个游戏而已。

APDPlat_杨尚川的看法:
春兄好有个性,让我也想起了自己的过去,记得当年高考结束后,我的好多同学都考上了不错的学校,清华、北航、浙大,而我就比较悲剧了,由于高二高三经常性喝酒,结果被迫上了甘农大的林学专业。

到了甘农大,一次偶然的机会,让我对软件开发产生了强烈的兴趣,于是疯狂地自学,天天泡在农大的图书馆,以至于挂了6门甚至有时候就直接交白卷,当时交完白卷走出考试的教室,问自己这是怎么了,我怎么也会交白卷呢?记得高二之前我在老师同学的眼中那是天才啊!终于明白人做不到全才!终于明白人做不到完美!

当时我心里想凭什么要让学校决定我的未来,我也蛮优秀的,就算正规毕业了跟我的同学比起来差距还是非常之大,我需要另辟蹊径,我不相信凭我自己的努力我就不会成功,我要凭自己的实力干出点名堂。于是2005年我放弃学业专心从事JAVA研发,凭着对JAVA的热爱与激情,我在别人的质疑声中坚持了下来,自己一个人摸着石头过河,没有参加任何培训,也没人给我指导,吃尽了苦头,做了N多项目,终于赚了点钱,于是发起了JAVA开源项目APDPlat,目的就是想利用业余时间帮助一下他人,举手之劳,何乐而不为呢?

在高中,大家为了上大学而奋战,到了社会,大家为生活而奋战,那么我们搞开源也要拼个你死我活吗?

我搞APDPlat,完全没考虑过要靠它赚钱,我是觉得已经赚了一些钱了才开源的,开源的目的是希望以码会友,广交朋友,所以我只有一个简单的Github链接一个DEMO和一个简单的官网主页,DEMO过一段时间也会去掉,QQ交流群也是别人给建的,后来我又从WIKI里面去掉了QQ 群的链接,我也不想搞论坛,我觉得一个Github的WIKI就足够了,我是自己白手起家的,我欣赏好学奉献心胸宽广的人,我讨厌只索取不奉献还满腹牢骚嫌开源项目不够好的人,如果用户照着WIKI里面的入门指南的描述都入不了门,我是不建议他使用APDPlat的。

这次投票,很多都是我NUTCH和HADOOP的粉丝,我通过在CSDN&ITEYE分享NUTCH和HADOOP方面的知识结交了很多的朋友,之前CSDN&ITEYE也对我的JAVA开源项目APDPlat进行了专访,也给我带来了一定的人气。其实从APDPlat的开源中我是没有获得过收入的,中国的开源不容易,大部分人还在为生活奔波苦苦挣扎,我觉得CSDN这次评选活动的出发点也是想为中国的开源项目做点推动。关于恶意刷票的事情,我的看法是这样,就像春兄说的,游戏而已,世间无论任何规则总不能保证没有漏洞,有了漏洞难免就会有人钻,所以没必要上火,生活很美好,放轻松。

一个开源项目好不好,不是一个投票能决定的,所以对于投票结果,一笑即可。我个人觉得,开源需要一个强有力的组织来号召来推进,就像APACHE,中国缺少这样的组织,大部分还是单打独斗,我在今年的3月份就建议CSDN的CTO范凯推出一个类Github的平台来聚集诸位开源大牛,以便更加紧密地协作与沟通,我们跟国外比起来是有一定的差距,但是只要我们一起努力,迟早是会赶上并超越的,这需要各位开源大牛的齐心协作,而不是相互猜忌窝里斗。

最后说一下,看了帖子的讨论,个人的感觉是相互的谩骂与侮辱于事无补,只会让事情更加恶化,希望大家静下心来做技术做开源,我之前在CSDN&ITEYE的APDPlat专访也遭受了很多人的谩骂与侮辱,ITEYE的王果告诉我说大家都很浮躁,不用理会,一笑即可。

看了这篇帖子,花了很长的时间追忆往事,犹如昨日,历历在目,不禁心潮澎湃,感慨万千,中国的开源,什么时候才能崛起,希望有生之年能看到。


晕 !我的每次表态都是客观而独立的,请不要到处捆绑我的发言,以免造成断章取义之嫌。
125 楼 yangshangchuan 2013-06-26 19:20
zidafone 写道
yangshangchuan 写道
FineUI创始人三生石上在CSDN发了帖子 CSDN的《2013年度中国优秀开源项目评选》已经沦落为一场刷票大战 http://bbs.csdn.net/topics/390498313
G4Studio_熊春的看法:
有人把这帖子地址发给我 问我对这事有啥看法?我答“呵呵,帖子好长”。现在终于看完,我只能说让我想起了大学时候我上铺的兄弟。每次考试,他总是会很早的去占座位,坐成绩最好的女生后面,然后给我也占一个他后面的座位。每次最后半小时的时候他都扭着身子要让我抽,我每次都不屑。有一次,他硬是要给我赛纸条,我一气之下给他一脚射坐地下了。每次都习惯性的他都高分飘过,我则进入挂科重修挂科重修的死循环。平时,我们却是最好的朋友,最铁的兄弟。真心好基友。其实忠实憨厚之人与投机倒把的油滑之人也可以求同存异共生的。可恨之人必有可爱之处。建议@u010918003不用那么上火,一个游戏而已。

APDPlat_杨尚川的看法:
春兄好有个性,让我也想起了自己的过去,记得当年高考结束后,我的好多同学都考上了不错的学校,清华、北航、浙大,而我就比较悲剧了,由于高二高三经常性喝酒,结果被迫上了甘农大的林学专业。

到了甘农大,一次偶然的机会,让我对软件开发产生了强烈的兴趣,于是疯狂地自学,天天泡在农大的图书馆,以至于挂了6门甚至有时候就直接交白卷,当时交完白卷走出考试的教室,问自己这是怎么了,我怎么也会交白卷呢?记得高二之前我在老师同学的眼中那是天才啊!终于明白人做不到全才!终于明白人做不到完美!

当时我心里想凭什么要让学校决定我的未来,我也蛮优秀的,就算正规毕业了跟我的同学比起来差距还是非常之大,我需要另辟蹊径,我不相信凭我自己的努力我就不会成功,我要凭自己的实力干出点名堂。于是2005年我放弃学业专心从事JAVA研发,凭着对JAVA的热爱与激情,我在别人的质疑声中坚持了下来,自己一个人摸着石头过河,没有参加任何培训,也没人给我指导,吃尽了苦头,做了N多项目,终于赚了点钱,于是发起了JAVA开源项目APDPlat,目的就是想利用业余时间帮助一下他人,举手之劳,何乐而不为呢?

在高中,大家为了上大学而奋战,到了社会,大家为生活而奋战,那么我们搞开源也要拼个你死我活吗?

我搞APDPlat,完全没考虑过要靠它赚钱,我是觉得已经赚了一些钱了才开源的,开源的目的是希望以码会友,广交朋友,所以我只有一个简单的Github链接一个DEMO和一个简单的官网主页,DEMO过一段时间也会去掉,QQ交流群也是别人给建的,后来我又从WIKI里面去掉了QQ 群的链接,我也不想搞论坛,我觉得一个Github的WIKI就足够了,我是自己白手起家的,我欣赏好学奉献心胸宽广的人,我讨厌只索取不奉献还满腹牢骚嫌开源项目不够好的人,如果用户照着WIKI里面的入门指南的描述都入不了门,我是不建议他使用APDPlat的。

这次投票,很多都是我NUTCH和HADOOP的粉丝,我通过在CSDN&ITEYE分享NUTCH和HADOOP方面的知识结交了很多的朋友,之前CSDN&ITEYE也对我的JAVA开源项目APDPlat进行了专访,也给我带来了一定的人气。其实从APDPlat的开源中我是没有获得过收入的,中国的开源不容易,大部分人还在为生活奔波苦苦挣扎,我觉得CSDN这次评选活动的出发点也是想为中国的开源项目做点推动。关于恶意刷票的事情,我的看法是这样,就像春兄说的,游戏而已,世间无论任何规则总不能保证没有漏洞,有了漏洞难免就会有人钻,所以没必要上火,生活很美好,放轻松。

一个开源项目好不好,不是一个投票能决定的,所以对于投票结果,一笑即可。我个人觉得,开源需要一个强有力的组织来号召来推进,就像APACHE,中国缺少这样的组织,大部分还是单打独斗,我在今年的3月份就建议CSDN的CTO范凯推出一个类Github的平台来聚集诸位开源大牛,以便更加紧密地协作与沟通,我们跟国外比起来是有一定的差距,但是只要我们一起努力,迟早是会赶上并超越的,这需要各位开源大牛的齐心协作,而不是相互猜忌窝里斗。

最后说一下,看了帖子的讨论,个人的感觉是相互的谩骂与侮辱于事无补,只会让事情更加恶化,希望大家静下心来做技术做开源,我之前在CSDN&ITEYE的APDPlat专访也遭受了很多人的谩骂与侮辱,ITEYE的王果告诉我说大家都很浮躁,不用理会,一笑即可。

看了这篇帖子,花了很长的时间追忆往事,犹如昨日,历历在目,不禁心潮澎湃,感慨万千,中国的开源,什么时候才能崛起,希望有生之年能看到。


http://www.cnblogs.com/sanshi/p/3155946.html

这个对你很不利啊


FineUI自己的数据,不必当真,不知什么居心,炒作得过头了!
124 楼 zidafone 2013-06-26 15:55
yangshangchuan 写道
FineUI创始人三生石上在CSDN发了帖子 CSDN的《2013年度中国优秀开源项目评选》已经沦落为一场刷票大战 http://bbs.csdn.net/topics/390498313
G4Studio_熊春的看法:
有人把这帖子地址发给我 问我对这事有啥看法?我答“呵呵,帖子好长”。现在终于看完,我只能说让我想起了大学时候我上铺的兄弟。每次考试,他总是会很早的去占座位,坐成绩最好的女生后面,然后给我也占一个他后面的座位。每次最后半小时的时候他都扭着身子要让我抽,我每次都不屑。有一次,他硬是要给我赛纸条,我一气之下给他一脚射坐地下了。每次都习惯性的他都高分飘过,我则进入挂科重修挂科重修的死循环。平时,我们却是最好的朋友,最铁的兄弟。真心好基友。其实忠实憨厚之人与投机倒把的油滑之人也可以求同存异共生的。可恨之人必有可爱之处。建议@u010918003不用那么上火,一个游戏而已。

APDPlat_杨尚川的看法:
春兄好有个性,让我也想起了自己的过去,记得当年高考结束后,我的好多同学都考上了不错的学校,清华、北航、浙大,而我就比较悲剧了,由于高二高三经常性喝酒,结果被迫上了甘农大的林学专业。

到了甘农大,一次偶然的机会,让我对软件开发产生了强烈的兴趣,于是疯狂地自学,天天泡在农大的图书馆,以至于挂了6门甚至有时候就直接交白卷,当时交完白卷走出考试的教室,问自己这是怎么了,我怎么也会交白卷呢?记得高二之前我在老师同学的眼中那是天才啊!终于明白人做不到全才!终于明白人做不到完美!

当时我心里想凭什么要让学校决定我的未来,我也蛮优秀的,就算正规毕业了跟我的同学比起来差距还是非常之大,我需要另辟蹊径,我不相信凭我自己的努力我就不会成功,我要凭自己的实力干出点名堂。于是2005年我放弃学业专心从事JAVA研发,凭着对JAVA的热爱与激情,我在别人的质疑声中坚持了下来,自己一个人摸着石头过河,没有参加任何培训,也没人给我指导,吃尽了苦头,做了N多项目,终于赚了点钱,于是发起了JAVA开源项目APDPlat,目的就是想利用业余时间帮助一下他人,举手之劳,何乐而不为呢?

在高中,大家为了上大学而奋战,到了社会,大家为生活而奋战,那么我们搞开源也要拼个你死我活吗?

我搞APDPlat,完全没考虑过要靠它赚钱,我是觉得已经赚了一些钱了才开源的,开源的目的是希望以码会友,广交朋友,所以我只有一个简单的Github链接一个DEMO和一个简单的官网主页,DEMO过一段时间也会去掉,QQ交流群也是别人给建的,后来我又从WIKI里面去掉了QQ 群的链接,我也不想搞论坛,我觉得一个Github的WIKI就足够了,我是自己白手起家的,我欣赏好学奉献心胸宽广的人,我讨厌只索取不奉献还满腹牢骚嫌开源项目不够好的人,如果用户照着WIKI里面的入门指南的描述都入不了门,我是不建议他使用APDPlat的。

这次投票,很多都是我NUTCH和HADOOP的粉丝,我通过在CSDN&ITEYE分享NUTCH和HADOOP方面的知识结交了很多的朋友,之前CSDN&ITEYE也对我的JAVA开源项目APDPlat进行了专访,也给我带来了一定的人气。其实从APDPlat的开源中我是没有获得过收入的,中国的开源不容易,大部分人还在为生活奔波苦苦挣扎,我觉得CSDN这次评选活动的出发点也是想为中国的开源项目做点推动。关于恶意刷票的事情,我的看法是这样,就像春兄说的,游戏而已,世间无论任何规则总不能保证没有漏洞,有了漏洞难免就会有人钻,所以没必要上火,生活很美好,放轻松。

一个开源项目好不好,不是一个投票能决定的,所以对于投票结果,一笑即可。我个人觉得,开源需要一个强有力的组织来号召来推进,就像APACHE,中国缺少这样的组织,大部分还是单打独斗,我在今年的3月份就建议CSDN的CTO范凯推出一个类Github的平台来聚集诸位开源大牛,以便更加紧密地协作与沟通,我们跟国外比起来是有一定的差距,但是只要我们一起努力,迟早是会赶上并超越的,这需要各位开源大牛的齐心协作,而不是相互猜忌窝里斗。

最后说一下,看了帖子的讨论,个人的感觉是相互的谩骂与侮辱于事无补,只会让事情更加恶化,希望大家静下心来做技术做开源,我之前在CSDN&ITEYE的APDPlat专访也遭受了很多人的谩骂与侮辱,ITEYE的王果告诉我说大家都很浮躁,不用理会,一笑即可。

看了这篇帖子,花了很长的时间追忆往事,犹如昨日,历历在目,不禁心潮澎湃,感慨万千,中国的开源,什么时候才能崛起,希望有生之年能看到。


http://www.cnblogs.com/sanshi/p/3155946.html

这个对你很不利啊
123 楼 wuhui 2013-06-26 15:08
    平时里我是很少在ITEYE上发帖和回复,这次认真了解APDPlat后,感觉还是回复一下。APDPlat的确做的很好,经历了这多年的开源,基础代码已经比较完善,作者也还一直在维护和开发。
   比起国内众多所谓的开源项目(基本都是清一色的添加、修改、删除、权限)APDPlat要显现的更为出色。
   作者对对Spring、Struts2、Compass做了定制修改,使用的技术也是当前比较流行的常用的。作者还对APDPlat着眼于未来手机移动端android的开发,让我感觉到PDPlat以后或许是国内开源软件中一颗亮星。值得期待。
122 楼 yangshangchuan 2013-06-26 03:50
FineUI创始人三生石上在CSDN发了帖子 CSDN的《2013年度中国优秀开源项目评选》已经沦落为一场刷票大战 http://bbs.csdn.net/topics/390498313
G4Studio_熊春的看法:
有人把这帖子地址发给我 问我对这事有啥看法?我答“呵呵,帖子好长”。现在终于看完,我只能说让我想起了大学时候我上铺的兄弟。每次考试,他总是会很早的去占座位,坐成绩最好的女生后面,然后给我也占一个他后面的座位。每次最后半小时的时候他都扭着身子要让我抽,我每次都不屑。有一次,他硬是要给我赛纸条,我一气之下给他一脚射坐地下了。每次都习惯性的他都高分飘过,我则进入挂科重修挂科重修的死循环。平时,我们却是最好的朋友,最铁的兄弟。真心好基友。其实忠实憨厚之人与投机倒把的油滑之人也可以求同存异共生的。可恨之人必有可爱之处。建议@u010918003不用那么上火,一个游戏而已。

APDPlat_杨尚川的看法:
春兄好有个性,让我也想起了自己的过去,记得当年高考结束后,我的好多同学都考上了不错的学校,清华、北航、浙大,而我就比较悲剧了,由于高二高三经常性喝酒,结果被迫上了甘农大的林学专业。

到了甘农大,一次偶然的机会,让我对软件开发产生了强烈的兴趣,于是疯狂地自学,天天泡在农大的图书馆,以至于挂了6门甚至有时候就直接交白卷,当时交完白卷走出考试的教室,问自己这是怎么了,我怎么也会交白卷呢?记得高二之前我在老师同学的眼中那是天才啊!终于明白人做不到全才!终于明白人做不到完美!

当时我心里想凭什么要让学校决定我的未来,我也蛮优秀的,就算正规毕业了跟我的同学比起来差距还是非常之大,我需要另辟蹊径,我不相信凭我自己的努力我就不会成功,我要凭自己的实力干出点名堂。于是2005年我放弃学业专心从事JAVA研发,凭着对JAVA的热爱与激情,我在别人的质疑声中坚持了下来,自己一个人摸着石头过河,没有参加任何培训,也没人给我指导,吃尽了苦头,做了N多项目,终于赚了点钱,于是发起了JAVA开源项目APDPlat,目的就是想利用业余时间帮助一下他人,举手之劳,何乐而不为呢?

在高中,大家为了上大学而奋战,到了社会,大家为生活而奋战,那么我们搞开源也要拼个你死我活吗?

我搞APDPlat,完全没考虑过要靠它赚钱,我是觉得已经赚了一些钱了才开源的,开源的目的是希望以码会友,广交朋友,所以我只有一个简单的Github链接一个DEMO和一个简单的官网主页,DEMO过一段时间也会去掉,QQ交流群也是别人给建的,后来我又从WIKI里面去掉了QQ 群的链接,我也不想搞论坛,我觉得一个Github的WIKI就足够了,我是自己白手起家的,我欣赏好学奉献心胸宽广的人,我讨厌只索取不奉献还满腹牢骚嫌开源项目不够好的人,如果用户照着WIKI里面的入门指南的描述都入不了门,我是不建议他使用APDPlat的。

这次投票,很多都是我NUTCH和HADOOP的粉丝,我通过在CSDN&ITEYE分享NUTCH和HADOOP方面的知识结交了很多的朋友,之前CSDN&ITEYE也对我的JAVA开源项目APDPlat进行了专访,也给我带来了一定的人气。其实从APDPlat的开源中我是没有获得过收入的,中国的开源不容易,大部分人还在为生活奔波苦苦挣扎,我觉得CSDN这次评选活动的出发点也是想为中国的开源项目做点推动。关于恶意刷票的事情,我的看法是这样,就像春兄说的,游戏而已,世间无论任何规则总不能保证没有漏洞,有了漏洞难免就会有人钻,所以没必要上火,生活很美好,放轻松。

一个开源项目好不好,不是一个投票能决定的,所以对于投票结果,一笑即可。我个人觉得,开源需要一个强有力的组织来号召来推进,就像APACHE,中国缺少这样的组织,大部分还是单打独斗,我在今年的3月份就建议CSDN的CTO范凯推出一个类Github的平台来聚集诸位开源大牛,以便更加紧密地协作与沟通,我们跟国外比起来是有一定的差距,但是只要我们一起努力,迟早是会赶上并超越的,这需要各位开源大牛的齐心协作,而不是相互猜忌窝里斗。

最后说一下,看了帖子的讨论,个人的感觉是相互的谩骂与侮辱于事无补,只会让事情更加恶化,希望大家静下心来做技术做开源,我之前在CSDN&ITEYE的APDPlat专访也遭受了很多人的谩骂与侮辱,ITEYE的王果告诉我说大家都很浮躁,不用理会,一笑即可。

看了这篇帖子,花了很长的时间追忆往事,犹如昨日,历历在目,不禁心潮澎湃,感慨万千,中国的开源,什么时候才能崛起,希望有生之年能看到。
121 楼 yangshangchuan 2013-06-25 20:14
最近新增的关于代码生成的说明及示例:https://github.com/ysc/APDPlat/wiki/%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90
120 楼 yangshangchuan 2013-06-25 19:48
在中国开源软件推进联盟主办、全球最大中文IT社区CSDN与程序员杂志协办的“2013年度中国优秀开源项目评选”活动中,APDPlat以2094票位居第三,详情请参考公开投票网站:2013年度中国优秀开源项目评选
119 楼 yangshangchuan 2013-06-25 19:46
jiandong2008 写道
log.和主色调真的不配.
  你的主色调是 淡蓝,想告诉我们是冷静,成熟,稳定的意思.
但是你的log 看不出你想说什么...
  你log是想告诉我们什么呢?

just a name ,nothing more.
118 楼 jiandong2008 2013-06-25 15:22
log.和主色调真的不配.
  你的主色调是 淡蓝,想告诉我们是冷静,成熟,稳定的意思.
但是你的log 看不出你想说什么...
  你log是想告诉我们什么呢?
117 楼 yangshangchuan 2013-06-24 18:13
artbase 写道
什么时候加入工作流模块?

工作流打算使用Activiti BPM Platform
116 楼 yangshangchuan 2013-06-24 18:09
候加入工
artbase 写道
什么时候加入工作流模块?

待定...
115 楼 yangshangchuan 2013-06-24 18:09
zidafone 写道
问一个基础的问题,我的ide是myeclipse,想体验体验这个框架,怎么操作最快搭起一个demo?

项目是使用maven2、git以及github, 主流的开发环境都是支持的,不过不推荐使用myeclipse,推荐使用netbeans,wiki里面有入门指南,请参考。
114 楼 artbase 2013-06-24 15:52
什么时候加入工作流模块?
113 楼 zidafone 2013-06-24 14:38
问一个基础的问题,我的ide是myeclipse,想体验体验这个框架,怎么操作最快搭起一个demo?
112 楼 yangshangchuan 2013-06-20 18:23
基于B/S多层架构的MIS
111 楼 天一 2013-06-20 11:38
yangshangchuan 写道
天一 写道
基本浏览了一下这个项目的文档,好像没看到说怎么开发?
那么我不禁要问,这个项目是用来干啥的?
纯研究的么?

不是纯研究的,有很多成熟项目应用,因为不是商业性质的,所以没有过多宣传,再说,跟客户有协议,人家也不愿意公开,文档慢慢补吧,毕竟还要养家糊口,一个人精力有限,抱歉。

抱歉到不用,我的意思是,应该先把重点的文档写出来。比如这个项目是用来做什么的,这个很重要啊,不然怎么吸引人?
110 楼 我心悠悠 2013-06-20 10:01
yangshangchuan 写道
我心悠悠 写道
不是开源的么,怎么我启动起来还要什么购买激活产品!

这是一个功能,跟开源没有关系,所有源代码都在Github上面:https://github.com/ysc/apdplat
是个配置,我修改好了,不好意思!
109 楼 yangshangchuan 2013-06-18 01:44
APDPlat是完全开源的,没有商业公司气息,不会表面一套背地一套,大家尽可放心,有兴趣的朋友请从入门指南开始:https://github.com/ysc/APDPlat/wiki/%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97
108 楼 yangshangchuan 2013-06-18 01:39
我心悠悠 写道
不是开源的么,怎么我启动起来还要什么购买激活产品!

这是一个功能,跟开源没有关系,所有源代码都在Github上面:https://github.com/ysc/apdplat
107 楼 我心悠悠 2013-06-17 15:24
不是开源的么,怎么我启动起来还要什么购买激活产品!
106 楼 yangshangchuan 2013-06-15 19:54
天一 写道
基本浏览了一下这个项目的文档,好像没看到说怎么开发?
那么我不禁要问,这个项目是用来干啥的?
纯研究的么?

做一个开源项目,不可能会让所有人满意,只要能帮助到一部分人,我就很欣慰了。
105 楼 yangshangchuan 2013-06-15 19:53
天一 写道
基本浏览了一下这个项目的文档,好像没看到说怎么开发?
那么我不禁要问,这个项目是用来干啥的?
纯研究的么?

不是纯研究的,有很多成熟项目应用,因为不是商业性质的,所以没有过多宣传,再说,跟客户有协议,人家也不愿意公开,文档慢慢补吧,毕竟还要养家糊口,一个人精力有限,抱歉。
104 楼 lection.yu 2013-06-14 13:01
Leon.Wood 写道
天一 写道
基本浏览了一下这个项目的文档,好像没看到说怎么开发?
那么我不禁要问,这个项目是用来干啥的?
纯研究的么?


javaeye惊现天一

天。。。。。天一。。。。。你出来了?
103 楼 Leon.Wood 2013-06-14 12:38
天一 写道
基本浏览了一下这个项目的文档,好像没看到说怎么开发?
那么我不禁要问,这个项目是用来干啥的?
纯研究的么?


javaeye惊现天一
102 楼 天一 2013-06-14 10:51
基本浏览了一下这个项目的文档,好像没看到说怎么开发?
那么我不禁要问,这个项目是用来干啥的?
纯研究的么?
101 楼 yangshangchuan 2013-06-13 15:38
支持APDPlat,支持开源,请奔走相告为APDPlat投上一票,投票地址:https://code.csdn.net/2013ossurvey

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【PyArrow详解:简介、安装、使用方法全攻略】

    PyArrow库支持Python和驱动其他语言(如C ++和Java)的CLI接口。它旨在简化数据传输和序列化操作,特别是涉及大型数据集合的情况。与其他类似的库相比,PyArrow具有更好的性能和扩展性。

  • Python库 | pyarrow-5.0.0-cp38-cp38-macosx_11_0_arm64.whl

    资源分类:Python库 所属语言:Python 资源全名:pyarrow-5.0.0-cp38-cp38-macosx_11_0_arm64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

  • 《Python开发 - Python库》pyarrow安装与使用(矩阵运算库)

    1 pyarrow简介 pyarrow是用于Apache Arrow的Python库。这个库为Arrow c++库提供的功能提供了Python API,以及用于与panda、NumPy和Python生态系统中的其他软件进行箭头集成和互操作性的工具。Apache Arrow是一个用于内存分析的开发平台。它包含一组技术,使大数据系统能够快速处理和移动数据。 Arrow特点 Format: Apache Arrow为平面和层次数据定义了一种与语言无关的柱状内存格式,这种格式的组织用于在现代硬件(如cpu和gpu)

  • Pandas 2 使用指南:PyArrow 功能介绍

    实现的,因此,支持的功能存在于集成了此接口的 pandas API 中。此外,此功能在可用时还使用 PyArrow 的。对于接受参数的 PyArrow 类型,可以将带有这些参数的 PyArrow 类型传递给 ArrowDtype。PyArrow 还提供了 IO 读取功能,已集成到几个 pandas IO 读取器中。的列可以直接由类似于 NumPy 数组的 pyarrow.ChunkedArray。中检索 pyarrow pyarrow.ChunkedArray。返回基于 PyArrow 的数据。

  • 【Python】Pandas 2.0来了~

    Pandas[1]是一个用于处理数据的Python库,在Python开发者中非常流行。相信你已经对他非常熟悉了。随着现在数据量越来越多,pandas的局限性也日渐凸显,在处理大数据时非常恼火,从而选择更加合适的工具,如pyspark等大数据处理框架。而 Pandas 2.0 也是朝着这个方向迈出的一步,接下来我们一起聊一聊Pandas增加和改进的内容。更快和更有效的内存操作本次最大的亮点可谓是他们...

  • 【Python小技巧】一步到位升级到pandas 2.0.0正式版

    工欲善其事必先利其器,大数据、AI时代,目前Python 最新版本是3.11 ,而Pandas也刚刚完成大升级,进入 2.0.0时代。网上关于测试升级后的效果文章很多,这里就不啰嗦了。使用中有情况再补充吧。

  • Python中的pyarrow入门

    PyArrow是一个Python库,用于在Apache Arrow格式下高效处理大规模数据集。它提供了跨平台、高性能的数据传输和存储解决方案,在数据处理、机器学习和大数据分析等领域有广泛应用。本文将介绍如何使用pyarrow,并展示一些常见操作的示例。

  • python如何处理大规模的数据pyarrow

    存储格式:numpy 数组通常保存为二进制文件或文本文件,而 pyarrow 支持更多的存储格式,包括 Apache Arrow 格式、Parquet 格式、Feather 格式等,这些格式可以更高效地存储和传输数据。在处理小到中等规模的数据时,numpy 可能更适合,而在处理大规模数据时,pyarrow 可能更具优势。数据类型:虽然 numpy 支持大多数常见的数值类型,但它没有专门的日期时间类型,也不支持字符串类型,而 pyarrow 支持更丰富的数据类型,包括日期时间类型、字符串类型、二进制类型等。

  • pyarrow库的安装问题(成功解决)

    安装环境:win10+python3.6+anaconda 安装方法: 1.(失败)在pycharm的.py文件中import该库时,如果之前未安装会标红,鼠标放到上面会有提示,点击install package,此时pycharm会帮你安装此库。但是本人在使用这个方法时,安装失败,提示错误AttributeError: 'str' object has no attribute 'name',上网查阅之后好像是python版本的问题,但是没找到解决方法,遂更换安装方法。 2.(失败)之前在安装lmd

  • Python之pyarrow:pyarrow的简介、安装、使用方法之详细攻略 

    Python之pyarrow:pyarrow的简介、安装、使用方法之详细攻略 目录 pyarrow的简介 1、项目的主要组成部分包括: 2、Arrow特点 pyarrow的安装 pyarrow的使用方法 pyarrow的简介 用于Apache Arrow的Python库。这个库为Arrow c++库提供的功能提供了Python API,以及用于与panda、NumPy和Python生态系统中的其他软件进行箭头集成和互操作性的工具。Ap...

  • 【大数据】Pyarrow简单使用

    - Arrow是一个Python库,为创建,操作,格式化和转换日期,时间和时间戳提供了一种明智的,人性化的方法。 它实现和更新日期时间类型,填补功能上的空白,并提供支持许多常见创建场景的智能模块API。 # 二、使用小栗子 - 离线测试时,有时为了更快使用dataloader对测试集预测,而且df较大,可以使用上面介绍的`PyArrow`进行对df分块读入然后使用dataloader - `pa.Table.from_pandas(all_predcit)`可以将pd.df格式的`all_predict`转

  • pandas parquet文件读取pyarrow、feather文件保存与读取;requests 或wget下载图片文件

    安装 fastparquet哭,需要安装python-snappy ,一直安装错误,所以使用了pyarrow pip install pyarrow 参考:https://arrow.apache.org/docs/python/ import glob import pandas as pd import pyarrow.parquet as pq aaaaa = glob.glob(r'C:\Users\lo理\oss数据\*') kkk = [] for i in aaaaa: print

  • python语言arrows用法_如何在Python中使用pyarrow读取parquet文件

    我已经从数据库中创建了一个具有三列(id、author、title)的parquet文件,并希望使用条件(title='learnpython')读取拼花板文件。下面提到的是我用于这个POC的python代码。在import pyarrow as paimport pyarrow.parquet as pqimport pandas as pdimport pyodbcdef write_to_p...

  • python时间模块哪个好arrow模块_Python使用arrow库优雅地处理时间数据详解

    前言大家应该都知道在很多时候我们不得不和时间打交道,但在Python标准库中处理时间的模块其实设计的不是很友好,为什么我会这么说?因为我相信大部分人几乎每次在处理时间数据时一而再,再而三的去查文档,比如时间和文本格式互转,时间增减等看起来非常基本的操作,在Python中处理起来并不简单。最要命的是,在Python标准库中居然有两个模块处理时间,一个叫time,另外一个叫datetime,里面提供了...

  • Python : Arrow、Pyarrow库、以及与Julia互读

    test.csv 样例: 一、从csv =>table=>生成arrow文件 import pyarrow as pa from pyarrow import csv csv_path = 'C:\\Users\\songroom\\Desktop\\test.csv' table = csv.read_csv(csv_path) #df = table.to_pandas() #table = pa.Table.from_pandas(df) path = 'C:\\Users\\songr

  • python中对arrow库的总结

    Arrow是一个Python库,为创建,操作,格式化和转换日期,时间和时间戳提供了一种明智的,人性化的方法。 它实现和更新日期时间类型,填补功能上的空白,并提供支持许多常见创建场景的智能模块API。 简而言之,它可以帮助您使用更少的进口和更少的代码来处理日期和时间。 安装 pip install arrow 简单开始 >>> import arrow >...

  • 华为ensp模拟器如何使用VMware虚拟机桥接虚拟网卡实现上网(保姆级教程)

    1、你需要电脑已经成功安装VM虚拟机,并且在虚拟机中安装了Win系统,我安装的事Win7,我就以WIN7举例,保证你的虚拟机可以登录外网。我对ensp的小云朵真是又爱又恨,爱是因为它可以桥接虚拟网卡,对实验的验证性得到了进一步的升华,恨是因为不会设置。连接pc的G1/0/1的为内网口,ip随便配,注意的是分给内网pc的dns一定要配8.8.8.8。实验场景非常简单,防火墙的nat和路由器的nat,都可以通过云彩桥接到虚拟机的VM8网卡。G1/0/0为外网口,IP需要与VM8桥接的地址在一个网段。

  • win10系统怎么创建虚拟网卡?

    由于工作原因,下午需要重新在物理机上创建块虚拟网卡。因为不熟悉这一块,就百度了下,但是到选择“厂商”和“型号”这一步,却找不到“Microsoft”对应的型号,经过一番查询才知道win10里“厂商”对应的“型号”发生了变化。下面把具体步骤写下,希望可以帮助向我一样不懂如何创建虚拟网卡的小白。 在win10系统中按下快捷键 win+x 打开设备管理器,如下图     在win10...

  • 手把手带你安装ENSP,以及解决安装中的常见问题

    ENSP安装所需要准备的软件 ENSP Wireshark WinPcap VirtualBox ps:如果你需要安装包,可以私我要~ 需要准备ENSP软件和三个环境,ENSP作为模拟器主体,需要对应版本的VirtualBox和WinPcap提供虚拟环境,wireshark用于实验当中测试抓取数据包使用。 ENSP安装过程 首先需要安装前三个环境,安装时只需要无脑下一步选择好对应的安装位置即可。 随后安装ENSP(如下图所示) ...

  • 华为ensp设置虚拟网络

    主题:华为ensp设置虚拟网络 ** 前言: 为kali模拟网络攻击进行准备工作,大家懂得操作后请勿任性,坚持底线,网络安全需人人维护! ** ** 正题: 话不多说,咋开始吧! 1、打开ensp 2、进行操作 a、先做出这个拓扑结构 router的位置 lsw的位置 pc的位置 连接线的位置 b、开启所有设备,绿色箭头(如果没开启成功,借鉴我上篇博客(https://blog.csdn.net/qq_48773627/article/details/113470434),或者自寻网站) c、进

Global site tag (gtag.js) - Google Analytics