svn协同开发下的dll版本管理最佳实践

图片 1

 

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码
B 集成代码生成器
[正反双向](单表、主表、明细表、树形表,飞快支付利器)+火速表单**
构建器
freemaker模版技术
,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本,处理类,service等完全模块
C 集成Alibaba数据库连接池druid  数据库连接池  Alibaba的
druid。Druid在督察、可扩大性、稳定性和性质方面都有明显的优势
D 合并安全权限框架shiro
  Shiro 是二个用 Java
语言达成的框架,通过三个不难易行易用的 API
提供身份验证和授权,更安全,更牢靠
E 集成ehcache分布式缓存
  是二个纯Java的经过内缓存框架,具有飞快、精干等特色,广泛使用的开源Java分布式缓存。
F **集成微信接口开发,微信自定义菜单(帮衬多个公众号)
G 图形爬虫技术:输入有图表的网址,能把此网页的图片爬取并下载到本地服务器
H SQL 编辑器,
帮助复杂sql语句(写入语句,查询语句),生成报表,能够导出excel

I  websocket 真正及时报导技术
  即时闲聊、及时站内信并声音提示、实时在线管理、websocket及时刷新页面(完胜ajax技术)
J  redis 工具类接口,方便调用,并发能力强
K 多数据源(补助同时连接众几个数据库,能够分化的模块连接不一样数的据库)帮衬N个数据源
L  特快专递单号物流查询接口(不要求采取物流集团,根据单号自动识别)
M 调用录制头拍照,自定义裁剪编辑头像,头像图片色度调节
N  **录制播放技术,录像弹幕技术,五个人即时通信弹幕聊天**

   
作为一名开发人士,平日碰着的2个标题是,当使用svn签出一份最新代码时,平日不能够二回编写翻译通过,导致消费多量年华去解决编写翻译难题,那里境遇的标题一般能够分成三类:

1
 权限管理:点开二级菜单进入三级菜单展现剧中人物(基础权限)和按钮权限
    
 剧中人物(基础权限):
分剧中人物组和角色,独立分配菜单权限和增加和删除改查权限。
      按钮权限:
给剧中人物分配按钮权限。
2
 按钮管理:自定义按钮管理,维护按钮权限标识等
3
 菜单管理:无限级别自定义菜单,自定义菜单图标,业务菜单和体系菜单分离,菜单状态展现隐藏(递归处理)
4
 数据字典:无限级别,扶助多级别无限分类。内设编号,排序等
5
 日志管理:记录用户登录退出和一些主要操作记录
6
 在线管理:websocket技术,实时检查和测试在线用户列表,总括在线人数,可强制用户下线
同一用户只万幸一个客户端登录
7
 系统用户:对各样基本的用户增加和删除改查,单发、群发站内信邮件短信,导入导出excel表格,批量去除
8
 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系音讯等材质
9.   代码生成:生成完整的模块代码,并保存生成记录模版,可复用
(超强悍开发利器)
       
 正向生成:  生成完全的模块,页面、处理类、service层、myabaits的xml
建表的sql脚本等
       
 反向变化:  任意连接别的数据库(mysql、oracle、sqlserver),依照表反射生开支系统的模块
10.
质量监察和控制:监察和控制全数系统的品质,SQL监察和控制,SQL防火墙,U君越L监察和控制,SP奇骏ING监察和控制,SESSION监察和控制等
11. 接口测试:POST or GET
格局检查和测试种类接口,参数加密,json再次回到结果,总括服务器响应时间
12. 发送邮件:单发,群发邮件  
13.
置二维码:生成二维码图表保存到服务器 or  解析读取二维码内新闻
14.
图表报表:柱状图、饼状图、折线图、种种图片大全
15. 地图工具:打开地图,
鼠标点击地图某地方获取经纬度坐标,依据经纬度总计两点距离
16. 打字与印刷测试:页面打字与印刷预览测试
17.
图片管理:对批量上传的图样统一管理,点击放大,可打开四个,自由切换,绚丽预览效果
18.
图片爬虫:输入某网址,爬出其图片浮未来页面上,能够放手预览。可保存到服务器上,到图片管理之中
19. 站内信:收信箱和发邮箱,
websocket技术通信技术做的立即收信提醒,可布署语音提示来信
20. 下拉联动:四级下拉联合浮动demo
21.
系统安装:修改系统名称,邮件服务器配置,短信账号设置,图片水印配置,微信配置
22.
及时聊天:打开聊天窗口,可群聊、一对一聊天
23.
表单营造:拖拽式快速自定义营造表单,组建成分丰盛,有富文本、上传控件、下拉框等等
24.
主附结构:提供一个主表和明细表模块的例证(用本代码生成器生成的)
25.
协会机构:无限级别,集团or部门管理
26.
职员和工人管理:和团体机构单位管理,能够绑定登录系统用户,授权数据权限
27.
文件管理:上传文件,修改删除文件,总括文件大小
28.
快递查询:输入快递单号,查询物流跟踪音信。不需求接纳物流公司,依据单号自动识别
  ————————————————————————————————————————-数据库管理
29. 数据库备份:可备份单表、整库,协理地点和远程数据库备份(java界面编制程序技术,socket编制程序技术)
30.
备份定时器:quartz 2.2
强大的职务调度,二十四线程备份数据库,义务运行关闭异步操作
31. 数据库还原:历史备份记录,还原数据库 or 单表
,总计备份时间和文件大小
32.

1.
出于提交代码的开发人士失误,忘记提交本地转移的公文或少提交,特别是croj或sln项目和新增进的文书,因为新加上的文书在svn下暗中同意是?状态的,那点以来,只可以靠开发人士本身仔仔细细消除;

SQL编辑器:强大的SQL编辑器,补助理编辑辑语句复杂查询语句,生成动态报表,可导出excel

 官网 http://www.fhadmin.org/

食谱权限:分配给各种脚色不一致的菜谱权限,
各样角色看到的菜单区别,无限级别菜单
按钮权限:独立分配不一致的剧中人物不一致的效应权限,增加和删除改查权限分配具体到差别的食谱,自定义按钮管理
支撑多用户分权限管理后台,  权限具体到区别的食谱不一样的按钮(
一个用户能够四个剧中人物**)

快讯管理:消息的维护、发表、权重排序等
接纳百度ueditor富文本框
文告管理:布告的保安、发表
广告管理:广告的敬爱、揭橥,状态维护,上传广告图片
友情链接:友情链接的保卫安全、状态维护
尤其推荐:特别推荐、状态维护

**

技术点

**1. 导出 导入 excel
文件

2  导出word文件
3. IO
流上传下载文件

4.
群发邮件,能够发html、纯文本格式,能够发给任意邮箱(达成批量发送广告邮件)

5. 群发or单独
发送短信,支持二种第①方短信商接口

6. spring 
 aop  事务处理

7. 代码生成器 (freemarker), 代码 zip
压缩打包

8. MD5加密
SHA加密(登录密码用此加密)接口加密身份校验

9. 数据库连接池  Ali的
druid。Druid在监察和控制、可扩充性、稳定性和属性方面都有显明的优势,帮助并发

10.加入安全框架 shiro
(登录授权)(session管理)

11.依照汉字
解析汉字的全拼(拼音)和首字母(导入excel到用户表,依照用户的汉字姓名生成拼音的用户名)

12.app接口@ResponseBody(支持与任何语言数据交互)
13.极光推送
(推送给APP及时音信,APP不运行也能接到)

14.微信接口(身份验证,文本、图像和文字回复等)
微信远程序控制克制务重视启、锁定、其余应用程序

15.java Quartz2.2 职务调度

16.java websocket
即时通信技术,点对点,群聊,单聊

17.Lucene**全文字笔迹检验索(在捐献赠送的花色中) 18.Base64传输图片 19.图纸加水印(图片水印,文字水印) 20.生成 or  解析
二维码 21.HTML5 + JAVAEE  WebSocket
通讯技术,**WebSocket
验证用户登录,强制某用户下线

22.批量异步上传图片,可预览,有进程条,协助拖拽上传(百度webuploader
)。列表动态滑动放大展现。

23.ehcache 自定义二级缓存
,选用缓存存放目录,处理并发,扩充系统质量

24.服务器内部GET POST
请求

25.uploadify
上传插件,单条、批量上传二十八线程,带进程条,异步,图片、录像,
别的文件格式均可上传

26.地形图选点获取经纬度坐标,依据俩经纬度总结距离
27.tab标签页面效果,标签自由切换,不另行操作数据库
28.站内信语音提醒,js控制音频播放
29.百度富文本编辑器,可上传图片
30.网页爬虫技术,可依据网页地址爬取图片和网页标题等音讯(爬取某超市图片保存本服务器)
31.redis
技术

32.一大半据源技术
33.springmvc
下拉多级联合浮动技术

34.调用录像头拍照技术,图片裁剪技术
35.快递接口查询技术,输入快递单号查询物流音信
36.在线编辑器,仿开发工具
37.pdf文书在线预览,在线预览文本文件,转码预览
38.摄像播放技术,四人在线弹幕聊天

图片 2**

 

图片 3

图片 4

图片 5

图片 6

图片 7

图片 8

图片 9

图片 10

图片 11

图片 12

图片 13

图片 14

图片 15

图片 16

图片 17

图片 18

 

图片 19

图片 20

图片 21

 

图片 22

 

2.
由于引用版本不一致,或版本更新,开发时俩个开发人士的编译调节和测试,甚至本地质衡量试都不会有题目,可是当须求揭露测试版本或公布到生育环境时,就会发生版本争辩造成致命bug,恐怕那一个bug照旧多个隐形bug,很难发现或捕获;

其次点往往是沉重的,因为在快速中,提倡的是及早揭露难点并缓解,那么有没有一种艺术或艺术去解决他,或规避那么些问题啊?答案显著是必然的,在此处,小编介绍一下脚下自家接触到的俩种版本管理(恐怕第3方库的管住方案)。

 

先是种是应用TortoiseSVN提供的external个性,在那此前先介绍一下,小编使用的svn目录结构,如下

–trunk  <–开发中央

      –build <–自动化构建脚本

     –documents <–文档

     –packages <–nuget包

    –references <–引用

    –releases <–release版本

    –src <–源码

    –test <–测试用例

   –XXXXX.sln <– 消除方案

–branches  <–开发分支

–tags  <–宣布版本

 大家假使A项目是框架的档次,B项目是事情代码,B项目须要引用框架项目标dll,那么,A项目编写翻译实现后,在releases里公布三个1.0.0的本子(最好使用生成事件写XCOPY脚本,那样就不会遗忘发版本,或手动去拷贝营造的版本),如下图

图片 23

那么,在B项目中,我们开拓reference目录,右键,点击属性,打开属性窗体,按如下操作

图片 24

 

形成今后,在每一次只要更新那个目录,就能及时得获取到最新的引用版本,在类型文件中对该dll实行引用,实际上引用的是争执目录,这样就化解了因为版本或路径不均等导致的题材,预防那么些人工的操作,能够相当的大的节约大家的开支时间到骨子里必要缓解的难题上,我们每回签出的版本也能确定保证能够营造成功,当然,要是你们项目专业的话,最好写上机关营造脚本,其余正是肯定肯定肯定要动用神器(Jinkens),用上它,你们项目组真的能过上欢快和谐幸福的生活。

 

第二种情势,便是行使微软公然的Nuget工具,营造地面包车型地铁nuget服务器,那种措施集成好一些,能够定义包对包的借助,那样的注重性关系就不要使用者再去管理。废话不多说,先搭建nuget服务器,具体可以看
https://www.cnblogs.com/lzrabbit/archive/2012/05/01/2477873.html
那位博主介绍得比较详细。那里提及到的少数是,在本子升级时,比如起头采纳的是有些包的1.0.0版本,后来升迁到1.1.0本子,后来1.1.0团结重新上传了一次,不过版本号没有变,须要删除packages包里对应的1.1.0的包,最好把当地缓存也清空一下,不然大概仍旧会拉去1.1.0的旧版本。操作办法是,打开VS,选取菜单工具->Nuget
包管理->程序包管理器设置->常规->清空全数Nuget缓存。

下载https://github.com/NuGetPackageExplorer/NuGetPackageExplorer客户端包管理器并安装。

  1. 打开NuGet Package Explorer

  2. 选择Create a new package

  3. 左侧是编写制定一些属性等,右边是添加包文件

4.填入基本新闻,当中Id其实是Name,正是大家在nuget浏览器里看到的称谓

5.在左边点击艾德it
dependencies,可添加外部信赖,在下载使用时,会自动物检疫查和测试依赖包并下载

图片 25

  1. 在左侧右键,选用菜单Add a  Lib Folder,在Lib上右键,接纳Add .NET
    Folder来添加对应框架的本子,然后右键选拔大家必要丰盛的公文即可

7.到位以下操作后,大家就足以点击最下边的File菜单,采纳Publish,在弹出的窗体,配置刚才搭建的服务器地址PublishUrl,在上面需求填Publish
Key,也就是3个密码,这一个是在服务器里web.config里布置的,找到节点<add
key=”apiKey” value=”XXXXXXX”/>,将这些value复制过来即可公布

 

形成以上操作后,咱们就早已搭建完结了大家的本土nuget服务器了,倘若已经在vs中安插好了本地nuget路径,那么大家就能够利用了。

 

以上首假诺对dll发布和引用的管制介绍了本身本身在项目中做的一级实践,前面会专程写一篇小说介绍怎样搭建Jinkens并采纳Jinkens完毕自动化营造和布局的(也得以做自动化测试)。

 

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注