阅读更多
JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发框架,采用代码生成+手工MERGE半智能开发模式,可以帮助你解决Java项目中50%的重复工作,让你更多关注业务逻辑。

JEECG论坛:http://www.jeecg.org
在线演示:http://demo.jeecg.org
入门视频:http://www.jeecg.org/forum.php?mod=viewthread&tid=197&extra=page%3D1

为了使大家对JEECG有进一步的了解,本期我们采访了JEECG的作者张代浩

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

先做个自我介绍吧! Top

我叫张代浩,英文名scott,属于北漂一族,09年毕业后一直从事金融、对日方向的Java开发,期间在日本东京工作过一段时间。目前在一家重工企业,从事ABAP开发和Java开发工作。



我的博客:CSDN博客ITeye博客
我的邮箱:zhangdaiscott@163.com

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

JEECG全称为J2EE Code Generation,即J2EE代码生成器。这是一款基于代码生成器的J2EE智能开发框架,WEB架构基于零配置思想,使用SSH2+EasyUI技术架构。目前 JEECG 的最新版本为2.1.0。

JEECG宗旨:提高开发效率、提高代码质量,打造一个快速开发平台。

JEECG可以有效解决信息孤岛问题,生成统一代码、统一规范、统一设计思路,使你能在这个平台上,快速开发出高效高质量代码,缩短开发周期,降低项目成本。

JEECG详细介绍:http://www.iteye.com/news/26937

JEECG的主要功能如下(*表示JEECG的创新点):

  • (*)封装完善的基础模块:用户权限+数据字典+常用共通封装(定时任务、短信接口、邮件发送、Excel导出等);
  • (*)代码生成器:开发效率非常高,单表数据模型和一对多(父子表)数据模型的增删改查自动生成,功能直接使用;
  • (*)查询条件生成器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询);
  • (*)页面表单校验器:采用EasyUI检验机制,表单校验生成器自动生成(必须输入、数字校验、金额校验、时间控件等);
  • (*)集成简易报表:Highcharts图像报表和数据导出非常方便,可极其方便的生成pdf、excel、word等报表。
  • 常用共通封装(数据字典/邮件发送/定时任务/短信接口/Freemarker工具类等)
  • 兼容IE 6、IE 8+和Google等浏览器
  • 支持SQL Server、Oracle和MySQL等主流数据库

开发这个框架的初衷是什么?这不就是一个SSH2框架吗? Top

Java开发是从08年开始,刚参加工作的时候也喜欢追求新技术,感觉那样才能提高自己的能力,后来喜欢研究底层架构,研究了很多技术架构,也试着重写了struts1、spring。但是随着工作久了,慢慢发现研究技术、研究架构意义并不大,Java的新技术层出不穷,更新不断,对于项目来说提高开发效率,提高代码质量才是关键。所以项目中我开始注意抽取共通、设计规范和封装工具类等等。

一个很巧的机会朋友问我,现在代码生成器很多,你看能不能封装一个到框架里?我就试着去写了,Web UI以前也没用过,EasyUI据说不错就试着用它,写的过程中发现通用性很强,我就开始试着用模板语言去实现页面的生成。后来经过逐渐完善,慢慢推出了JEECG。

JEECG其实就是大家再熟悉不过的SSH2+EasyUI框架,只是经过了再封装,增加了代码生成器、表单校验自动生成、查询条件生成器、图形报表封装、常用共通封装的一些功能,目前封装的功能基本能满足一般项目的需求。

目前,工作流正在集成中……

JEECG的设计思想?采用的技术? Top

首先引几段前辈的话:
引用
  1. 十年前,这种代码生成工具的研发就非常火爆,但很快就灭了。因为软件不是家具。软件不在于它的一次性生产成本,而是变更及维护成本。
  2. 当年啊,用python吐出python代码到内存再执行python代码,一段时间后发现代码维护不了了,只能重新再写了一遍。
  3. 大量的代码生成不一定是好事。很多时候团队会被这类工具的限制受困。

根据前辈经验总结到一点:纯粹依赖代码生成器是不可行的,维护是个很大问题,所以我借鉴前辈的经验,推出了代码生成+手工MERGE的半智能开发模式,即:

  • 基础功能(常用数据模型的增删改查)由代码生成器生成使用,生成的代码可以随意修改;
  • 复杂业务逻辑由开发自主实现,这样开发团队就不会受代码生成器的束缚,可灵活实现复杂业务,也能及时应对业务变化。
此外,JEECG采用主流的SSH2+EasyUI技术,生成的代码规范整洁,简单易懂,生成代码目录结构清晰,维护成本很低。

设计思想:

  • JEECG采用主流架构技术,基于约定优于配置,采用命名规范实现零配置,整个项目action、service等自动扫描到Sring容器中;
  • JEECG框架对代码生成器依赖性很低,可以完全脱离代码生成器使用(这种设计避免了开发团队被代码工具的束缚)。
采用技术:

  • 架构技术:Struts2 + Spring3 + Hibernate4 + EasyUI1.3 + Spring JDBC + jQuery
  • 开发环境:MyEclipse6.5 + jdk1.6 + Tomcat6.0

你如何看待这种(自动生成代码)开发模式?对开发者的利弊? Top

随着WEB UI 框架(EasyUI/jQuery UI/ExtJS/Dwz)等的逐渐成熟,系统界面逐渐实现统一化,代码生成器也可生成统一规范的界面!代码生成+手工MERGE半智能开发将是新的趋势,生成的代码可节省50%工作量,快速提高开发效率!!!

客观来说,JEECG 开发模式有利也有弊:

利:

  • 让开发者从机械重复枯燥的工作脱离,更专注业务逻辑实现,提高了开发体验
  • 提高了开发效率,实现了快速开发,缩短了项目周期
  • 对于刚接触Java的人,也可以轻松基于该框架快速构建一套系统(只要会建表,通过表生成代码)
  • 生成统一代码、统一规范、统一设计思路,便于维护
  • 采用开源架构组合,解耦性强,可以完全脱离JEECG代码生成器,灵活自主开发(如果采用成熟智能化产品,项目开发就脱离不了智能开发工具,依赖性太大,变更及维护成本会很高)
弊:

  • 对于开发新人来讲,弊处很多,开发新人正是锻炼编码能力的时候,代码自动生成弱化了开发人员的技能。

哪些代码可以通过JEECG自动生成?原理是什么? Top

JEECG代码生成器可以生成统一的前台页面、页面表单校验和规范的后台代码(Action、Service、Dao、Entity、Page等)。

JEECG代码生成器通过表生成代码,代码实现功能。即:读取表结构和字段属性,生成对应的实体、后台代码、前台页面、表单校验等。

JEECG代码生成的原理和方式:

  • 是基于表来生成代码,针对有规则的表关系模型,生成对应的功能代码;
  • 生成的代码无配置文件,遵循命名规范,基于约束大于配置零配置思想;
  • 生成的action、service、entity、jsp页面等命名规范一致(采用驼峰写法),代码结构清晰也便于维护;
  • 对于复杂业务逻辑,需要用户自己编码实现。这样就解决了复杂业务不断变化,智能化成熟产品难以适应业务不断变更,维护难的问题。
目前JEECG 代码生成器支持的数据模型:

  • 单表数据模型
  • 一对多表(父子表)数据模型
  • 单表数据(自关联)模型

JEECG是你独立开发的,还是有一个团队? Top

目前JEECG是我一人,现在有很多朋友想加入,以后应该会逐渐成立团队。

该项目采用的开源协议?如果作为商业项目的基础开发框架,有什么限制? Top

JEECG 采用 Apache2.0 协议,对于商业使用没有什么限制。

对JEECG 感兴趣的朋友如何交流、反馈、参与贡献? Top

JEECG目前版本发布使用Google Code,地址:http://code.google.com/p/jeecg/

SVN地址:svn://www.oksvn.com/jeecg-jbpm

JEECG已经开设技术论坛,对于JEECG 有好的建议或者发现BUG都可以去论坛发帖。

论坛地址:http://www.jeecg.org/

此外,还可以通过QQ群(106259349、289782002)来交流、反馈。

未来的开发计划? Top

JEECG的未来发展路线主要是两个方向:

 

  • 一个是实现JEECG代码生成器的工具化和通用性;
  • 一个是继续封装当前框架,打造一个快速开发平台;

方向一:【JEECG代码生成器工具化设计方案】

 

目标:

 

  • JEECG代码生成器,抽离出框架,实现解耦设计Struts2、Spring MVC HibernateMybatisEasyUIDWZExtJS等技术灵活组合使用,导入JEECG   JAR支持和模板即可生成对应的代码;
  • JEECG 模块支持用户自定义,类似QQ空间模板,用户按照JEECG 规则,即可自制不同风格模板。

使用方法:将jeecg-generate.jar 导入到项目中,载入JEECG 模板,即可通过工具类生成代码;

 

JEECG 产品模块预期功能说明

 

jeecg-generate.jar 功能

  1. 支持不同数据库
  2. 读取表结构[字段属性]
  3. 根据模板生成代码;

设计原理:

 

  1. jeecg-generate.jar,抽离出框架,做到兼容性友好
  2. jeecg-generate.jar 实现解耦设计,实现Struts2Spring mvc、HibernateMybatisEasyUIDwzExtJS等灵活组合使用

JEECG FTL模板

提供多套模板,针对不同架构技术,提供不同模板,例如:

 

  • Struts2+Spring+Hibernate+EasyUI
  • Struts2+Spring+Mybatis+EasyUI
  • Spring mvc+Hibernate+Freemarker+Dwz
  • Spring mvc+Hibernate+Freemarker+ExtJS

特点:模板支持用户自定义,只需要按照JEECG规则,即可自制不同风格模板

支持表关系模型

  1. 单表数据模型
  2. 自连接数据模型
  3. 一对多(父子表)数据模型
  4. 一对多数据模型中的一张表是自连接
  5. 多对多数据模型
  6. 多对多数据模型中的一张表是自连接

生成代码

生成内容:前台页面+表单校验(必输、数字、金额、时间控件) 后台代码 后台校验 Acton\ServiceI\ServiceImpl\Page\Entity\Dao\Jsp

 

方向二:【JEECG 智能开发平台】

 

后续待完善的五点:

 

  1. JEECG 生成器的进一步完善
  2. 工作流的封装
  3. 智能报表封装
  4. 查询过滤器封装
  5. 外围接口智能化封装

设计方案: 

 

A

【生成器】代码生成器(代码一键生成),实现解藕设计,Struts2spring mvc hibernatemybatis灵活搭配使用

B

【生成器】代码生成器生成的页面,支持用户拖拽页面字段控件,重新布局

C

【工作流】业务流程采用工作流来实现  

特点:保证了业务流程的灵活可变性,逻辑设计清晰,便于日志监控(业务流程变更,业务人员画下流程即可,既灵活又便于监控)

D

【工作流】在页面层实现画流程功能,让开发从流程工作脱离出来,支持用户自定义流程

E

【工作流】支持用户自定义表单

F

【报表】智能化报表工具封装

备注:开发不需要参与,业务员直接配置使用(只需写SQL

G

【查询条件生成器】查询过滤规则进一步封装

备注:页面查询功能: 页面追加查询字段,后台不需写代码,查询条件自动实现完成

追加:大于小于等其他匹配方式;

进一步封装页面查询控件,针对每个匹配方式实现一个控件,让用户直接输入内容,不需要关心采用哪种匹配方式(即:封装匹配规则,增强用户体验)

H

【外围接口】WebService接口实现配置使用,方案:

 

  1. 使用唯一接口实现,传入传出采用报文方式实现
  2. 报文解析实现自动转换,传入传出报文格式定义实现可配置
  3. 接口校验自定义

说明:通过配置来实现一个接口功能,达到无需编码的目的

 

  • 大小: 48.2 KB
  • 大小: 128.8 KB


评论 共 142 条
112 楼 j夫子 2013-04-09 19:56
挺好的啊 开发效率提高了不少
111 楼 zhangdaiscott1 2013-03-28 23:55
zhangdaiscott 写道
JEECG会一直走开源路线,源码也会开源!!!请放心,还请大家多支持。。。

关于JEECG 开源声明 http://www.jeecg.org/forum.php?mod=viewthread&tid=312
110 楼 zhangdaiscott 2013-03-28 22:03
JEECG会一直走开源路线,源码也会开源!!!请放心,还请大家多支持。。。
109 楼 youc 2013-03-28 19:27
jeecg 很好,很适合目前的需要。真心希望加入。
108 楼 youc 2013-03-28 19:23
kelloKitty 写道
群主是个骗子,开源的都只是一些很简单的增删改查,稍微核心一点的模块都不开源,我也只问了楼主一个问题,既然开源为什么不公开源码,就被楼主踢出了群,恶心!!

弱弱的回答你, 你比群主更恶心。你这叫吃饭还要人家给你嚼碎味道你嘴里帮你消化了。懂么?
107 楼 zhaoyifei 2013-03-28 16:34
自创开源协议啊。
106 楼 fly1206 2013-03-28 14:09
做为一个jeecg使用者,我说句实在话,使用jeecg开发效率的确很高!非常感谢作者的付出,走自己的路让路人说去吧!!!
105 楼 fly1206 2013-03-28 14:06
kelloKitty 写道
宋双旺 写道
fly1206 写道
kelloKitty 写道
群主是个骗子,开源的都只是一些很简单的增删改查,稍微核心一点的模块都不开源,我也只问了楼主一个问题,既然开源为什么不公开源码,就被楼主踢出了群,恶心!!

人家作者说了,只要参与开源项目,完成任务,即可马上拿到最新代码!不参与的,可以等待版本发布...
我很欣赏作者这种策略,开源本来就是大家一起付出努力的事情,对于不想付出的,又喋喋不休的人为什么要客气?!!
送你一句话:“不要总想要求让别人给你什么,先想想自己付出了什么”


就是,总是一味地拿来主义,不去思考自己该去做什么。既然公开发表声明,那你为何不用一个有你自己信息的帐号,倘若你想提高自己,为何自己不努力,总是把诸多因素归罪于他人,不解释!


什么叫拿来主义,难道这个框架拿过来项目就可以用?实际项目业务逻辑还是很复杂的,还的去不断扩展修改完善它,就像activiti开源工作流引擎,它的权限,表单在实际业务开发中还是不行的,太过于简单,我们拿来也得去扩展源码,这个框架说白了我也只是想借鉴一下前端方面的处理,在前端可以减少一点我们的开发量,并不是说拿来就可以用,但是看看到群主稍微核心一点的模块源码都这么保守,真的不配开源。


你这种人啊,真没劲,做人厚道一些,如果你觉得人家的东西没有价值,干嘛还要看人家代码!真是自欺欺人~
104 楼 kelloKitty 2013-03-28 12:40
宋双旺 写道
fly1206 写道
kelloKitty 写道
群主是个骗子,开源的都只是一些很简单的增删改查,稍微核心一点的模块都不开源,我也只问了楼主一个问题,既然开源为什么不公开源码,就被楼主踢出了群,恶心!!

人家作者说了,只要参与开源项目,完成任务,即可马上拿到最新代码!不参与的,可以等待版本发布...
我很欣赏作者这种策略,开源本来就是大家一起付出努力的事情,对于不想付出的,又喋喋不休的人为什么要客气?!!
送你一句话:“不要总想要求让别人给你什么,先想想自己付出了什么”


就是,总是一味地拿来主义,不去思考自己该去做什么。既然公开发表声明,那你为何不用一个有你自己信息的帐号,倘若你想提高自己,为何自己不努力,总是把诸多因素归罪于他人,不解释!


什么叫拿来主义,难道这个框架拿过来项目就可以用?实际项目业务逻辑还是很复杂的,还的去不断扩展修改完善它,就像activiti开源工作流引擎,它的权限,表单在实际业务开发中还是不行的,太过于简单,我们拿来也得去扩展源码,这个框架说白了我也只是想借鉴一下前端方面的处理,在前端可以减少一点我们的开发量,并不是说拿来就可以用,但是看看到群主稍微核心一点的模块源码都这么保守,真的不配开源。
103 楼 hwj2008 2013-03-28 11:48
有贡献才有收获,开源也需要大家通过实际行动来支持
102 楼 宋双旺 2013-03-28 11:13
fly1206 写道
kelloKitty 写道
群主是个骗子,开源的都只是一些很简单的增删改查,稍微核心一点的模块都不开源,我也只问了楼主一个问题,既然开源为什么不公开源码,就被楼主踢出了群,恶心!!

人家作者说了,只要参与开源项目,完成任务,即可马上拿到最新代码!不参与的,可以等待版本发布...
我很欣赏作者这种策略,开源本来就是大家一起付出努力的事情,对于不想付出的,又喋喋不休的人为什么要客气?!!
送你一句话:“不要总想要求让别人给你什么,先想想自己付出了什么”


就是,总是一味地拿来主义,不去思考自己该去做什么。既然公开发表声明,那你为何不用一个有你自己信息的帐号,倘若你想提高自己,为何自己不努力,总是把诸多因素归罪于他人,不解释!
101 楼 fly1206 2013-03-28 10:51
kelloKitty 写道
群主是个骗子,开源的都只是一些很简单的增删改查,稍微核心一点的模块都不开源,我也只问了楼主一个问题,既然开源为什么不公开源码,就被楼主踢出了群,恶心!!

人家作者说了,只要参与开源项目,完成任务,即可马上拿到最新代码!不参与的,可以等待版本发布...
我很欣赏作者这种策略,开源本来就是大家一起付出努力的事情,对于不想付出的,又喋喋不休的人为什么要客气?!!
送你一句话:“不要总想要求让别人给你什么,先想想自己付出了什么”
100 楼 feng2356 2013-03-28 10:16
Suxinf 写道
对日的项目标准比较统一,都有自己的代码生成器,如果国内的没有这么统一的标准,想做代码生成器很难。

国内的有很多啦,eclipse插件的代码生成器,可视化的界面设计可以不局限于增删改查页面;自动选择分层技术,可以在Hib、Mybatis以及spring、ejb之间自动切换,也基于规范优于配置思想,使用maven管理。代码生成中使用模板方式,可自定义模板,可结合工作流生成整个流程的全部关联页面。太多了,我接触过的也有好几款了。
鉴于jeecg开源赞一个
99 楼 feng2356 2013-03-28 10:04
很一般,不实用
98 楼 kelloKitty 2013-03-28 09:54
群主是个骗子,开源的都只是一些很简单的增删改查,稍微核心一点的模块都不开源,我也只问了楼主一个问题,既然开源为什么不公开源码,就被楼主踢出了群,恶心!!
97 楼 michaelshih 2013-03-19 12:53
96 楼 zhangdaiscott 2013-03-17 18:30
最新演示地址:http://demo.jeecg.org:8080/
95 楼 zhangdaiscott 2013-03-16 17:53
《JEECG v3.0.beta 测试版》下载地址 :http://www.jeecg.org/forum.php?mod=viewthread&tid=275&extra=page%3D1
94 楼 Suxinf 2013-03-15 20:01
对日的项目标准比较统一,都有自己的代码生成器,如果国内的没有这么统一的标准,想做代码生成器很难。
93 楼 mrxangel1986 2013-03-15 08:43
收到以下邮件。。。。
-------------------关于JEECG V3.0源码发布方式-----------------

     1、必须在CSDN或iteye发布一篇相关jeecg的博文,博文不得相互抄袭。如有抄袭将不再发布源码给对方。

     2、必须注册JEECG论坛帐号。地址:http://www.jeecg.org(欢迎分享各类技术资料)。时长在5小时以上者。

     3、请注明您的jeecg帐号,源码将通过jeecg帐号发布给你们

     4、如果短期内发布文章能达到1000篇以上。会提前发布。

    5、如果方便留下邮箱或QQ均可
-------------------------------------------------------------

然后回一句:我只问一个问题,核心的代码生成公开不公开?不公开那就不叫开源
结果:
JEECG 技术群一(106259349)管理员JEECG-宁夏-小兵<youcong2000@qq.com>已将您移出该群。


真是奇葩中的奇葩
92 楼 mrxangel1986 2013-03-15 08:40
我希望作者好好想想,什么叫开源。。。。。。。。。。。。
91 楼 mrxangel1986 2013-03-15 08:39
只不过问一句:我只问一个问题,核心的代码生成公开不公开?不公开那就不叫开源
有必要
JEECG 技术群一(106259349)管理员JEECG-宁夏-小兵<youcong2000@qq.com>已将您移出该群。

只能说一句,披着开源的噱头,免费找劳动力而已!
90 楼 wg1214 2013-03-14 14:53
在线演示进去后 导航菜单报空指针,什么情况?
89 楼 shangql 2013-03-13 18:38
回去试试,这可以敏捷开发吗?
88 楼 Kevin12 2013-03-12 12:45
支持一下作者,支持开源,加油加油!
87 楼 wangmuming1122 2013-03-11 16:29
说实话 东西做的不错 现在能够静下心做出东西的人不多啊 支持作者
顺便问下:可不可以把生成代码的那部分源码也共享出来啊 就是commons-cg那个部分
86 楼 zhangdaiscott 2013-02-26 20:21
caojipian 写道
这也没什么,就是把一些能COPY的代码用程序生成而已,我觉得SSH2要做到智能还比较难,JSF比它们更智能。。。前台的UI都可以由后台生成,我现在做的报表就是,一个界面就搞定,加载不同的报表模版就行了,以前用ssh2做的时候,每个报表做个界面,太烦人了。。


嗯,现在回想其实没什么功能!不过我正在出一版本:把web ui封装成标签,工作流支持在线定义,通过流程来实现业务,任务点扩展接口实现特殊业务逻辑,再加上代码生成器!!!
85 楼 caojipian 2013-02-26 14:13
这也没什么,就是把一些能COPY的代码用程序生成而已,我觉得SSH2要做到智能还比较难,JSF比它们更智能。。。前台的UI都可以由后台生成,我现在做的报表就是,一个界面就搞定,加载不同的报表模版就行了,以前用ssh2做的时候,每个报表做个界面,太烦人了。。
84 楼 猪圈羊圈 2013-02-26 10:55
ant 配合 xdoclet进行代码自动构建不是更方便些?
83 楼 qn_lf 2013-02-23 13:55
非常实用,强烈支持

发表评论

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

相关推荐

  • 智能开发框架 JEECG 作者张代浩专访

    智能开发框架 JEECG 作者张代浩专访

  • JEECG

    JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发框架,采用代码生成+手工MERGE半智能开发模式,可以帮助你解决Java项目中50%的重复工作,让你更多关注业务逻辑。 JEECG论坛:http://www.jeecg.org ...

  • 【CSDN英雄会】囯炬CEO张代浩:做写架构、做制定游戏规则的人

    JEECG的特点是快,引领了业内很多第一,代码生成器模式、Online在线开发模式、插件开发模式,通过JEECG的智能化可以让原来6月的项目压缩至2月,8个人的团队压缩至3人,大大提高开发效率,所以JEECG一经开源,就积累...

  • 期待JEECG3.0新版本发布

    最近在www.javaeye.com( iteye)上看见一篇文章:“基于代码生成器的智能开发框架 JEECG 作者张代浩专访” ,对代码自动生成策略有兴趣,所以登录到其demo系统上看了下,感觉很不错,具体的内容请看专访的内容:专访...

  • JEECG(J2EE Code Generation)

    最近在www.javaeye.com( iteye)上看见一篇文章:“基于代码生成器的智能开发框架 JEECG 作者张代浩专访” ,对代码自动生成策略有兴趣,所以登录到其demo系统上看了下,感觉很不错,具体的内容请看专访的内容:专访...

  • 国内外优秀开源项目创始人专访

    基于代码生成器的智能开发框架 JEECG 作者张代浩专访 开源项目管理软件禅道创始人王春生专访 开源PHP快速开发框架ThinkPHP创始人刘晨专访 开源数据库 Affinity 介绍和 Affinity 研发团队深度采访 开源 Java 中文分词...

  • extTree组件

    您还未登录!|登录|注册|帮助 首页 业界 移动 云计算 研发 论坛 博客 下载 更多 Sp42的专栏 ... 智能开发框架 ... JEECG 作者张代浩专访  2012CSDN博客之星火热出炉!

  • gdb调试流程

    huchunlinnk10我的:收件箱资源博客空间设置|帮助|退出 首页业界移动云计算研发论坛博客下载 更多 冬夜静思 方向比努力更重要,能力比...智能开发框架 JEECG 作者张代浩专访 2012CSDN博客之星

  • wdaaaaaaaaaafwawfw

    wdaaaaaaaaaafwawfw

  • scratch少儿编程逻辑思维游戏源码-十字鸭子.zip

    scratch少儿编程逻辑思维游戏源码-十字鸭子.zip

  • Android移动应用开发_ViewFlow自定义控件CircleFlowIndicator指示器网络图片加载缓存自动循环滚动手势滑动交互_横向循环平滑滚动广告条Banne.zip

    Android移动应用开发_ViewFlow自定义控件CircleFlowIndicator指示器网络图片加载缓存自动循环滚动手势滑动交互_横向循环平滑滚动广告条Banne

  • 前端开发_基于jQuery和EasyUI框架_企业级Web应用UI组件库与后台管理系统模板_提供GPL开源版本和商业授权版本的双重授权模式_适用于快速构建响应式管理后台和复杂数据可.zip

    前端开发_基于jQuery和EasyUI框架_企业级Web应用UI组件库与后台管理系统模板_提供GPL开源版本和商业授权版本的双重授权模式_适用于快速构建响应式管理后台和复杂数据可

  • C++编程实例100篇.zip

    《C++编程实例100篇》是一本深入实践、极具价值的编程教程,它针对C++编程语言提供了丰富的实例,旨在帮助读者更好地理解和掌握C++的各项特性与编程技巧。这本书的经典之处在于它将理论与实践相结合,通过100个精心设计的编程实例,覆盖了C++的各个核心领域,包括基础语法、面向对象编程、模板、异常处理、STL(标准模板库)等。 我们来探讨C++的基础语法。C++是C语言的增强版,它保留了C语言的高效性和灵活性,并引入了类、对象和继承等面向对象编程概念。基础语法包括变量声明、数据类型、运算符、控制结构(如if语句、for循环、while循环)、函数的定义和调用等。在实例中,你可能会遇到如何编写简单的程序,如计算两个数的和,或者实现一个简单的猜数字游戏。 C++的面向对象编程是其一大特色。通过类和对象,你可以构建复杂的软件系统。类是对象的蓝图,它定义了对象的属性和行为。实例化一个类,就是创建一个具体的对象。继承允许你创建新的类,这些类从现有的类派生,共享其属性和方法,同时可以添加新的功能。多态性是面向对象的另一个关键特性,它使得不同类型的对象可以对同一消息作出不同的响应。这些概念在实例中会以各种形式展现,例如设计一个图形界面的类层次,或实现一个简单的模拟游戏。 接下来是模板,C++的模板功能让代码更加通用,可以处理不同类型的数据。模板分为函数模板和类模板,前者可以创建泛型函数,后者可以创建泛型类。通过模板,你可以编写出高效且灵活的代码,比如实现一个通用的排序算法。 异常处理是C++中用于处理程序运行时错误的机制。当程序出现异常情况时,可以抛出一个异常,然后在适当的点捕获并处理这个异常。这使得代码能够优雅地处理错误,而不是让程序崩溃。实例中可能会有涉及文件操作或网络通信时可能出现的异常处理示例。

  • scratch少儿编程逻辑思维游戏源码-忍者无限跑者.zip

    scratch少儿编程逻辑思维游戏源码-忍者无限跑者.zip

  • 少儿编程scratch项目源代码文件案例素材-战斗机游戏.zip

    少儿编程scratch项目源代码文件案例素材-战斗机游戏.zip

  • 手工DIY行业_微信小程序云开发_手工坊预约管理系统_基于腾讯云开发技术的手工DIY行业线上线下结合解决方案_包含手工项目展示预约管理签到核销数据统计等完整功能_支持后台时段设置人.zip

    手工DIY行业_微信小程序云开发_手工坊预约管理系统_基于腾讯云开发技术的手工DIY行业线上线下结合解决方案_包含手工项目展示预约管理签到核销数据统计等完整功能_支持后台时段设置人

  • 【多媒体处理】FFmpeg常用命令总结:音频视频转换裁剪及特效处理实用技巧

    内容概要:本文档汇总了FFmpeg工具的多个实用命令示例,涵盖音频和视频处理的各个方面。包括但不限于:音频采样率转换、音频格式转为raw、查询音频文件时长与音量检测、调整音频音量大小、改变音频播放速度、视频逆序播放(针对无音频视频)、精准视频片段截取、音频片段截取、视频与音频合并处理、调整视频宽高比等。每个命令都提供了具体的参数设置方法; 适合人群:音视频编辑爱好者、多媒体处理领域的初学者或有一定经验的技术人员; 使用场景及目标:①在音频处理方面,可以完成从格式转换到音质调整的任务;②在视频处理上,能够实现基本的剪辑操作如切割、翻转、合并等;③为用户提供了一站式的解决方案,帮助用户快速掌握FFmpeg命令行工具的基本用法,提高工作效率; 阅读建议:本指南以命令实例为主,建议读者结合实际需求选择相应的命令进行尝试,在实践中理解各个参数的作用并灵活运用。

  • 传统硬盘建模及其预测控制系统设计(MATLAB)

    一、毕业设计的技术背景和设计依据 计算机硬盘驱动器作为一种存储数据信息的设备,在目前的计算机系统中起着不可替代的作用,读写的快慢对整个计算机系统的性能无疑占有重要地位。硬盘式电子计算机磁记录机构中最为精密的一类微机电系统设备,它对振动的敏感性是由其结构决定的,而其控制尚未很好的解决,针对硬盘展开建模及控制有着重要的实际应用价值。 二、毕业设计的任务 现代硬盘一般有 1 - 5 个盘片,以常见的 3.5 英寸硬盘为例,盘片直径约为 95mm,厚度约为 0.635mm。磁头数量通常与盘片数量相关,每面盘片有一个磁头,比如一个 3 盘片的硬盘就有 6 个磁头。缓存大小可能为 32MB、64MB 或 128MB 等,如某普通硬盘缓存为 64MB,电机功率一般在 2 - 5W,像转速为 7200RPM(转每分钟)的电机功率约 3W。数据写入时,磁头在电机带动下,以平均寻道速度约 10 - 15m/s 定位磁道。以一块顺序写入数据的硬盘为例,当写入连续大文件,如 1GB 的视频文件时,在 SATA3.0 接口下,理论传输带宽为 6Gb/s(约 750MB/s),实际可达 500 - 600MB/s。读取时,磁头感应盘片磁场变化,如读取小文件(1MB 大小),若磁头寻道距离平均为 1000 个磁道,每次寻道时间约 8 - 12ms,读取速度会因寻道而下降到 10 - 20MB/s。 本设计选取硬盘驱动器作为研究对象,假设电机扭矩为 0.3N・m,盘片转动惯量为 0.003kg・m²,轴承摩擦力矩为 0.03N・m。在稳定旋转阶段,转速波动范围设为额定转速的 ±0.5%,即 ±36RPM。首先通过对该系统分析建立了其物理模型,然后针对以音圈电机作为伺服机构的硬盘磁头定位伺服系统的性能要求,对音圈电机的控制设计采用三种控制器方案,即极点配置法、PID控制方法、线性二次型调节器方法,分别比较分

  • scratch少儿编程逻辑思维游戏源码-猫猫冲刺.zip

    scratch少儿编程逻辑思维游戏源码-猫猫冲刺.zip

Global site tag (gtag.js) - Google Analytics