阅读更多
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 条
142 楼 zhangdaiscott 2016-06-30 15:58
JEECG地址变更,最新地址:
源码下载: http://git.oschina.net/jeecg/jeecg
JEECG论坛http://www.jeecg.org
在线演示http://demo.jeecg.org
入门视频http://www.jeecg.org/forum.php?mod=viewthread&tid=197&extra=page%3D1
141 楼 zhangdaiscott 2016-06-30 15:56
140 楼 zhangdaiscott 2016-06-30 15:56
JEECG地址变更,最新地址
源码下载:http://git.oschina.net/jeecg/jeecg
JEECG论坛:http://www.jeecg.org
在线演示:http://demo.jeecg.org

入门视频:http://www.jeecg.org/forum.php?mod=viewthread&tid=197&extra=page%3D1
139 楼 wangshuai6707 2015-05-24 22:09
我用代码生成器之后,配置菜单,角色权限,配置了扫描路径,最后访问的时候报404错误找不到jsp页面,我还需要配置哪儿
138 楼 paladin_lz 2014-04-09 14:45
先顶一个,看到项目进展到这个程度确实不容易,代浩做的不错。坚持自己的想法继续努力
137 楼 啦登2010 2014-02-12 16:59
136 楼 kencheng 2013-08-20 15:00
真的很不错的呢,我曾今也想像作者一样写这类通用的东西出来,但是由于工作太忙碌,没有时间弄。对你的奉献精神我表示感谢!
我也看了很多评论,其实大家的出发点都是好的,要看各位怎么用呢。在我看来作者带给我们的应该是规范代码的标准化思想和通用功能编码学习。
其实在工作中我一定不会选择作者的框架去完成工作,因为我可能会因此面临很多业务尴尬的局面。毕竟现在的项目基本上都是编码围绕业务开展,同时还要考虑其是否具备优秀的性能和方便的扩展等诸多方面因素。每一个项目最终开始考虑的再完善到最后都变成了一块乱七八糟的铁疙瘩!项目组人多了良莠不齐,我觉得作者对于代码规范的想法是我很赞同的。
至于功能方面,我想应该从基础的方面入手,Object可以存储任何类型的对象是因为其是所有类型的基类,越是接近底层的东西灵活性越强。多推出一些零散的适用于各个层面的解决方案对于我们现在阶段的研发人员无疑是最方便的,因为接近基础只做必要封装尽可能的适用于多的地方。这要比单纯的减少代码量和自动化配置来的有意义。
Scott已经做的很好的,我会继续关注你的项目,请坚持下去!
135 楼 gandamwing 2013-08-08 20:32
首先您愿意声明许可协议而且是Apache2.0俺觉得是一件值得赞扬的事
但是啊,亲...虽然俺没仔细看,粗陋一看您用的druid似乎是GPL v2的,似乎和Apache 2.0 不兼容的样子诶,既然您声明了许可协议...还是稍微关注一下比较好吧,虽然作为lib引用并没有实质的问题,但是不兼容总归是不兼容
虽然您部分开源别人也并不合适说您什么,但是还是建议您明确表明是部分开源(毕竟,您核心部分是需要有偿获取的),比较不容易引起非议
比如下面大段大段的辩论,实在没营养也没意义
134 楼 zzhzzh204553 2013-07-25 15:27
就是一坨翔,加他们的群,问了几个问题,就被T了。有城管的风范!
133 楼 yangshangchuan 2013-06-25 20:07
血色爱琴海 写道
   是一个很热心肠的人,其实什么代码生成器,很多程序员都知道,他们管这叫工具软件!确实能加快开发,可是对于维护代码,增补修改代码,起不了多大的作用。重点就在于群主大胆和热心做这样的研究,这才是最重要的,多做公益事业是很少有人这样做的!
   我也有很多个人研究的技术,其中就一种比这种代码生成器更可怕数倍的开发技术,如果这种技术一拿出来,什么代码生成器都是浮云;但是我没有那么做,那样做将会意味着一个结果,中国的程序员会因为这样而很多人失去工作。而廉价的手工业农民工会暗自窃笑我们it民工的自毁手段,科技发展得太快是可怕的。


天上有头牛在飞,原来你在地上吹!
132 楼 林中晨雾 2013-06-19 09:28
谢谢分享,一起学习一下
131 楼 血色爱琴海 2013-06-14 05:47
   是一个很热心肠的人,其实什么代码生成器,很多程序员都知道,他们管这叫工具软件!确实能加快开发,可是对于维护代码,增补修改代码,起不了多大的作用。重点就在于群主大胆和热心做这样的研究,这才是最重要的,多做公益事业是很少有人这样做的!
   我也有很多个人研究的技术,其中就一种比这种代码生成器更可怕数倍的开发技术,如果这种技术一拿出来,什么代码生成器都是浮云;但是我没有那么做,那样做将会意味着一个结果,中国的程序员会因为这样而很多人失去工作。而廉价的手工业农民工会暗自窃笑我们it民工的自毁手段,科技发展得太快是可怕的。
130 楼 fly1206 2013-06-04 09:17
go ahead!
129 楼 pittlu 2013-06-03 09:45
代码生成没有出路,就算是加上人工合并(其实最要命的就是人工合并了),历史已经证明了的。个人认为最靠谱的是推出设计层语言,在运行时推演,才能最大限度的提高开发效率。
128 楼 xiangzhouwang 2013-05-28 17:15
代码自动生成工具Auto介绍:
http://xiangzhouwang.iteye.com/blog/1870321
快速开发框架hpv介绍
http://xiangzhouwang.iteye.com/blog/1870308
127 楼 JavaTear2014 2013-05-25 15:20
大家可以看看这个
http://pan.baidu.com/share/link?shareid=485171&uk=2218126399
http://pan.baidu.com/share/link?shareid=485173&uk=2218126399
125 楼 xiangzhouwang 2013-05-24 13:38
http://xiangzhouwang.iteye.com/admin/blogs/1870321
124 楼 zidafone 2013-05-23 11:47
zhangdaiscott1 写道
zidafone 写道
启动项目报错:
java.lang.VerifyError: class org.codehaus.jackson.impl.Utf8Generator overrides final method writeStartArray.()V


麻烦看一下
导入的是jeecg-framework-3.1.0.RELEASE.zip

JDK版本不兼容


已解决。换了JDK1.6,tomcat6,可以了。TOMCAT7不行。
123 楼 zhangdaiscott1 2013-05-23 08:41
zidafone 写道
启动项目报错:
java.lang.VerifyError: class org.codehaus.jackson.impl.Utf8Generator overrides final method writeStartArray.()V


麻烦看一下
导入的是jeecg-framework-3.1.0.RELEASE.zip

JDK版本不兼容
122 楼 zidafone 2013-05-22 23:24
启动项目报错:
java.lang.VerifyError: class org.codehaus.jackson.impl.Utf8Generator overrides final method writeStartArray.()V


麻烦看一下
导入的是jeecg-framework-3.1.0.RELEASE.zip
121 楼 LinApex 2013-05-11 11:47
zhangdaiscott1 写道
LinApex 写道
兄弟,你的在线演示项目,我测试了一下,全是错误信息,让人失望,说的再好有个叼毛用。。。至少返回一个请求失败之类的吧。将真实的错误信息存放在cookie或是返回一个json数据中,这么一点点兼容性都没有,太让失望了。

你说的问题,在发布版本里已经不存在,演示系统是很久前部署的,我会尽快部署一个新的版本,供大家测试..


那很好,不要上线了,开源了,发现一大堆问题要补。。。 尽快换掉,既然是基于代码生成的,应该不需要多久时间吧。
120 楼 zhangdaiscott1 2013-04-29 09:49
LinApex 写道
兄弟,你的在线演示项目,我测试了一下,全是错误信息,让人失望,说的再好有个叼毛用。。。至少返回一个请求失败之类的吧。将真实的错误信息存放在cookie或是返回一个json数据中,这么一点点兼容性都没有,太让失望了。

你说的问题,在发布版本里已经不存在,演示系统是很久前部署的,我会尽快部署一个新的版本,供大家测试..
119 楼 LinApex 2013-04-27 19:51
兄弟,你的在线演示项目,我测试了一下,全是错误信息,让人失望,说的再好有个叼毛用。。。至少返回一个请求失败之类的吧。将真实的错误信息存放在cookie或是返回一个json数据中,这么一点点兼容性都没有,太让失望了。
118 楼 cqh520llr 2013-04-23 13:26
宋双旺 写道
fly1206 写道
kelloKitty 写道
群主是个骗子,开源的都只是一些很简单的增删改查,稍微核心一点的模块都不开源,我也只问了楼主一个问题,既然开源为什么不公开源码,就被楼主踢出了群,恶心!!

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


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

引用

09年毕业能写出什么代码,一点阅历都没有
117 楼 zhangdaiscott1 2013-04-17 19:54
hyp78802 写道
首先抛开是不是重新制造轮子的问题,还是先支持一下楼主的探索精神。对jecceg框架使用后,感觉自动生成代码这块还是不错的,针对hibernate这块,能否换再考虑做一套针对springJDBCTemplate的框架。关于前端easyUI能否再提供更加详细的开发文档。


jeecg框架是hibernate结合springJDBCTemplate一起使用的,单表操作使用hibernate,复杂SQL采用纯SQL写法...
116 楼 hyp78802 2013-04-17 10:50
首先抛开是不是重新制造轮子的问题,还是先支持一下楼主的探索精神。对jecceg框架使用后,感觉自动生成代码这块还是不错的,针对hibernate这块,能否换再考虑做一套针对springJDBCTemplate的框架。关于前端easyUI能否再提供更加详细的开发文档。
115 楼 sangdan 2013-04-16 12:37
问题挺多,还需要多多改进
114 楼 wwwpeng584 2013-04-09 20:46
精神可嘉,继续坚持下去吧。
113 楼 simpleplan5 2013-04-09 20:10
感觉还是挺不错的,节省了很多开发的时间

发表评论

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

相关推荐

  • 智能开发框架 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博客之星

  • python源码基于YOLOV5安全帽检测系统及危险区域入侵检测告警系统源码.rar

    本资源提供了一个基于YOLOv5的安全帽检测系统及危险区域入侵检测告警系统的Python源码 该系统主要利用深度学习和计算机视觉技术,实现了安全帽和危险区域入侵的实时检测与告警。具体功能如下: 1. 安全帽检测:系统能够识别并检测工人是否佩戴安全帽,对于未佩戴安全帽的工人,系统会发出告警信号,提醒工人佩戴安全帽。 2. 危险区域入侵检测:系统能够实时监测危险区域,如高空作业、机械设备等,对于未经授权的人员或车辆进入危险区域,系统会立即发出告警信号,阻止入侵行为,确保安全。 本资源采用了YOLOv5作为目标检测算法,该算法基于深度学习和卷积神经网络,具有较高的检测精度和实时性能。同时,本资源还提供了详细的使用说明和示例代码,便于用户快速上手和实现二次开发。 运行测试ok,课程设计高分资源,放心下载使用!该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、老师或者企业员工下载,适合小白学习或者实际项目借鉴参考! 当然也可作为毕业设计、课程设计、课程作业、项目初期立项演示等。如果基础还行,可以在此代码基础之上做改动以实现更多功能,如增加多种安全帽和危险区域的识别、支持多种传感器数据输入、实现远程监控等。

  • 基于SpringBoot的响应式技术博客的设计和实现(源码+文档)

    本课题将许多当前比较热门的技术框架有机的集合起来,比如Spring boot、Spring data、Elasticsearch等。同时采用Java8作为主要开发语言,利用新型API,改善传统的开发模式和代码结构,实现了具有实时全文搜索、博客编辑、分布式文件存贮和能够在浏览器中适配移动端等功能的响应式技术博客。 本毕业设计选用SpringBoot框架,结合Thymeleaf,SpringData,SpringSecurity,Elasticsearch等技术,旨在为技术人员设计并实现一款用于记录并分享技术文档的技术博客。通过该技术博客,方便技术人员记录自己工作和学习过程中的点滴,不断地进行技术的总结和积累,从而提升自己的综合能力,并通过博客这一平台,把自己的知识、经验、教训分享给大家,为志同道合者提供一个相互交流、共同学习的平台,促使更多的人共同进步[9]。学习到别人的一些良好的设计思路、编码风格和优秀的技术能力,使笔者的设计初衷。本系统主要面向web端的用户,希望能给用户更多的学习和交流的选择。

  • javalab 3.zip

    javalab 3.zip

  • J0001基于javaWeb的健身房管理系统设计与实现

    该系统基于javaweb整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:健身、健身房、健身房管理等 健身房管理系统开发使用JSP技术和MySQL数据库,该系统所使用的是Java语言,Java是目前最为优秀的面相对象的程序设计语言,只需要开发者对概念有一些了解就可以编写出程序,因此,开发该系统总体上不会有很大的难度,同时在开发系统时,所使用的数据库也是必不可少的。开发此系统所使用的技术都是通过在大学期间学习的,对每科课程都有很好的掌握,对系统的开发具有很好的判断性。因此,在完成该系统的开发建设时所使用的技术是完全可行的。 学员主要实现的功能有:网站信息、课程信息、教练列表、我的信息、登录 员工主要实现的功能有:工资查询、会员管理、器材借还、健身卡管理、个人中心、登录 教练主要实现的功能有:工资查询、学员列表、个人中心 管理员是系统的核心,可以对系统信息进行更新和维护,主要实现的功能有:个人中心、学员管理、教练管理、网站信息管理、器械信息管理、课程信息管理。

  • 架构.cpp

    架构.cpp

  • 利用Python实现中文文本关键词抽取(三种方法)

    文本关键词抽取,是对文本信息进行高度凝练的一种有效手段,通过3-5个词语准确概括文本的主题,帮助读者快速理解文本信息。目前,用于文本关键词提取的主要方法有四种:基于TF-IDF的关键词抽取、基于TextRank的关键词抽取、基于Word2Vec词聚类的关键词抽取,以及多种算法相融合的关键词抽取。笔者在使用前三种算法进行关键词抽取的学习过程中,发现采用TF-IDF和TextRank方法进行关键词抽取在网上有很多的例子,代码和步骤也比较简单,但是采用Word2Vec词聚类方法时网上的资料并未把过程和步骤表达的很清晰。因此,本文分别采用 1. TF-IDF方法 2. TextRank方 3. Word2Vec词聚类方法 实现对专利文本(同样适用于其它类型文本)的关键词抽取,通过理论与实践相结合的方式,一步步了解、学习、实现中文文本关键词抽取。

  • 演示Asm字节码插桩asmd-demo-master.zip

    演示Asm字节码插桩asmd-demo-master.zip

  • VB+access干部档案管理系统(源代码+系统).zip

    档案是国家机构、社会组织在干部管理活动中形成的、记述和反映个人经历和德才表现等情况、以人头为单位集中保存以备查考的原始记录。 档案管理的目的是为了档案的利用。如果放松管理,无论对单位和对个人都会影响档案的利用。举个例子,如果应该进入档案的材料没及时归档,则对个人资料的记载就是不完整的,缺乏了这一部分的凭证,就无法出具相关证明。如果发生了损坏或丢失档案的情况,后果就更加严重,有的档案材料是难以重新建立的。档案的管理是与干部、流动手续的衔接密切相关的。以北京市人才服务中心为例,拥有着全市最大的档案管理中心,共保管了档案12万份。这些档案的利用率相对很高,表现在出具干部证明、婚育证明、出国政审、职称评定、工龄认定以及各种保险的相关手续等方面。档案中心的工作人员每天都要接待大量的企业用人中的查询、查阅。 档案好像是计划经济的产物,在市场经济条件下,随着人才流动潮流的涌现,人们思想观念上的放开,档案越来越被人们所冷落和忽视。到底档案对个人以及人力资源部意味着什么,放松对档案的管理会带来哪些后果呢? 目前我国的档案管理社会化趋势日益明显。非公有制单位,国有企业事业单位发展干部代理使流动人员档案管理

  • 本算法是结合“时间遗忘曲线”和“物品类….zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

  • JAVAWEB校园二手平台项目.zip

    JAVAWEB校园二手平台项目,基本功能包括:个人信息、商品管理;交易商品板块管理等。本系统结构如下: (1)本月推荐交易板块: 电脑及配件:实现对该类商品的查询、用户留言功能 通讯器材:实现对该类商品的查询、用户留言功能 视听设备:实现对该类商品的查询、用户留言功能 书籍报刊:实现对该类商品的查询、用户留言功能 生活服务:实现对该类商品的查询、用户留言功能 房屋信息:实现对该类商品的查询、用户留言功能 交通工具:实现对该类商品的查询、用户留言功能 其他商品:实现对该类商品的查询、用户留言功能 (2)载入个人用户: 用户登陆 用户注册 (3)个人平台: 信息管理:实现对商品的删除、修改、查询功能 添加二手信息:实现对新商品的添加 修改个人资料:实现对用户个人信息的修改 注销

  • 文档+程序动态四足机器人的自由模型预测控制

    Representation-Free Model Predictive Control for Dynamic Quadruped 专注于动态四足机器人的控制问题,特别强调了自由模型预测控制(Free-MPC)在该领域的应用。内容涉及自由MPC的原理、算法构建和在四足机器人动态平衡与运动控制中的实践案例。通过案例分析,揭示了自由MPC如何提升四足机器人在复杂地形下的适应性和稳定性。适合机器人工程师、控制理论研究者和相关专业学生阅读。使用场景包括机器人设计与开发、控制算法研究以及高等教育课程。目标是推动四足机器人控制技术的发展,增强其在多变环境中的表现。 关键词标签: 四足机器人 动态控制 自由模型预测控制 Free-MPC 机器人工程

Global site tag (gtag.js) - Google Analytics