//////DataTable间复制数据/////////privatestaticvoidCopyData(DataTabledtyuanSrc,DataTabledtmd){dtmd.Rows.Clear();for(introw=0;row
踩坑:AxiosError,request failed with status code 404,axios 404,axios请求404。附:axios封装
笛子兔
踩坑日记前端javascript开发语言
今天刚从库里克隆完代码,调登录接口的时候,报了一个很神奇的错误,就是axios请求404,难道我封装错了,刚把跨域解决了,就出来一个这个,后面我检查了很多遍封装,还有代理,确实确实没错,最主要我之前用我封装的跑通过。下面是封装的axios,没错可以用。http.jsimportaxiosfrom'axios'varhttp=axios.create({baseURL:'api',//解决跨域问题t
Jmeter分布式测试必踩坑,全部帮你排雷
测试界媛姐
自动化测试软件测试jmeter分布式
在jmeter分布式环境部署上,有很同学都遇到了不少问题,就算是看过安装教程,也会在实际操作的时候一脸懵,经常的状态是就是:眼睛会了手不会。所以我们把大家容易出问题的地方总结出来,一起来看看吧!1、报错permissiondenied解决办法:修改整个jmeter目录权限Chmod-R755apache-jmete5.1.1(目录即可)。2.解决办法:1.查看slave上的ip与master配置文
【每日前端面经】2023-02-25
糠帅傅蓝烧牛肉面
每日前端面经前端面试
题目来源:牛客+牛客每日面经20240225了解Taro么Taro是一个开放式跨端跨框架解决方案,支持使用React/Vue/Nerv等框架来开发微信/京东/百度/支付宝/字节跳动/QQ/飞书小程序/H5/RN等应用多端适配怎么做固定布局(PC)window.screen分类加载CSS@media媒体查询vh+vw+rem百分比布局响应式布局移动端适配怎么做同上偏工程化如何做字体大小的适配通过媒体
Docker+Subversion+Jenkins在windows server部署.net core
SoehyunKim
之前在本机测试并成功完成Docker+Subversion+Jenkins部署.netcore(教程见https://www.jianshu.com/p/63b79dad2a10),然而服务器是阿里云虚拟出来的windowsserver2019系统,并不能开启Hyper-V,提示处理器没有所需的虚拟化功能。因而再次开始踩坑。1.安装docker由于不支持hyper-v,服务器不能安装DockerD
uniapp微信小程序开发踩坑日记:获取带参小程序码中的参数(获取地址栏参数)
早八睡不醒午觉睡不够的程序猿
小程序uni-app微信小程序
一、三种小程序码微信提供了三种生成小程序码的接口第一种小程序码是有限制的,只能在微信内打开,不能长期保存和分享第二种小程序码可以保存到手机相册,也可以分享给其他人,适合在需要长期保存或分享的场景下使用第三种小程序码是一种带参数的小程序码,可以包含额外的信息,比如推广参数或场景信息今天我们要介绍的就是获取带参小程序码中的参数二、参数获取带参数的小程序码除了携带扫码后跳转到的页面信息外,还可以携带由程
uniapp微信小程序开发踩坑日记:onShow的应用场景及用法
早八睡不醒午觉睡不够的程序猿
uni-app微信小程序小程序前端开发语言
onShow的应用场景由于微信小程序是单页应用程序,所以用户在打开小程序后,只有第一次进入页面时会加载页面,之后再通过导航栏切换到相同的页面并不会导致页面重新加载但是在某些场景下,我们希望每次用户一回到某个页面,就执行相应的函数,但因为导航栏切换页面并不会导致页面重新加载,所以页面中的代码不会被再次执行如果大家和我一样使用vue3开发,可能会想到使用vue3的生命周期函数onMounted,但同样
Linux服务器上部署Django博客应用的踩坑记录
tclw
概述最近学习Django,查找资料的过程中发现了一个相当不错的教程,跟着敲下来之后,准备部署到虚拟机上。教程里的部署环境为CentOS7(64位),而本人使用的是Ubuntu18.10。虽然流程是一样的,但是难免遇到各种问题,在此稍做记录。遇到的问题⭐python3安装0.全新的服务器先改apt源1.安装依赖(略)2.下载源码$sudoaptinstallhttps://www.python.or
基于taro搭建小程序多项目框架
前端小程序taro
前言为什么需要这样一个框架,以及这个框架带来的好处是什么?从字面意思上理解:该框架可以用来同时管理多个小程序,并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时,可以考虑使用这种模式。灵感来自webpack的多项目打包构建起步首先你得先安装好taro脚手架,然后基于该脚手架生成一个taro项目初始化taro项目taroinitminiApp这是我选择的
springboot集成elk实现日志采集可视化
熊出没
springelk
一、安装ELK安装ELK组件请参考我这篇博客:windows下安装ELK(踩坑记录)_windows上安装elk教程-CSDN博客这里不再重复赘述。二、编写logstash配置ELK组件均安装好并成功启动,进入到logstash组件下的config文件夹,创建logstash.conf配置文件logstash.conf的配置如下input{tcp{port=>9601mode=>"server"t
angular 防抖和节流踩坑
海绵饱饱_wk
angularangular.jsjavascript前端
如果在angualr项目中实现防抖节流,可以使用封装好的模块,比如rxjs。但今天说的是使用原始的防抖节流方法遇到的问题:以节流为例,先贴一段常见的原始节流代码:functionthrottle(fn){ letcanRun=true;//通过闭包保存一个标记 returnfunction(){ if(!canRun)return;//在函数开头判断标记是否为true,不为true则
Next.js项目实战踩坑指南
weixin_33961829
运维pythonjava
项目实战踩坑指南1.移动端overflow:auto,ios滚动卡顿解决方案:主容器增加样式-webkit-overflow-scrolling:touch;2.devmode路由跳转后样式丢失原因:dev下样式根据页面动态加载,浏览器缓存文件styles.chunk.css造成样式不更新。解决方案:利用版本号强制重载样式文件示例1://在Layout组件中{title}{process.env.
Spring Security前后端分离认证及记住我踩坑
£漫步 云端彡
整体记录springsecuritysecurity前后端分离认证security记住我
SpringSecurity前后端分离认证前言:SpringSecurity是spring提供的一个安全框架,提供了登录认证、密码保护、自动登录等。这是我目前学习到的功能,当然它的强大之处远不止这些了。SpringSecurity处理登录功能时使用的form表单,底层获取参数使用的request.getParamter的形式获取的。但是前后端分离模式使用的是异步请求,所以在前后端分离模式下会出现很
【踩坑系列记录 】Anaconda环境将torch由cpu换成gpu
RoyZz_
python深度学习pytorch
概要很早前做过深度学习,配环境之类的坑由于没记录都记不清了。这段时间开始做深度学习的项目,于是用Anaconda给项目创建了一个环境,其他的环境配置很顺利,就是到了安装pytorch时,我用pytorch官网的代码一直下载的是cpu版本。condainstallpytorch==1.12.1torchvision==0.13.1torchaudio==0.12.1cudatoolkit=11.3-
高德地图逆地理编码踩坑日志
缺的不是资料,是学习的心
java
本人是一枚Java小白,公司项目中用到根据经纬度反查该地址中文信息的场景,因为一开始调用的经纬度是能反查出区域编码的,以为towncode都是String返回结果,如下图:没想到当没有名字任何一个城市区域的时候,这个时候区域编码是返回空数组的,如下图总结:针对高德地图的返回结果应该用Object接参,自行判断返回的是[]还是"xxxx"
记录创建纯nodejs模块踩坑流程
Rafaelhuang
[仅作学习,切莫多鸠余.由头到尾模仿一遍]目的:创建一个模块基于C#调用的封装.能够被nodejs调用----------------坑坑坑坑坑坑坑-------------首先,根据度娘的发现能够实现此功能的第三方依赖模块为edge.但实际测试会报错.于是发现有个electron-edge-js,但发现这个需要安装electron.所以觉得太不存粹了.最后发现可怜的有个edge-js.网友说是e
踩坑实录(Fourth Day)
与墨学长
前端炼金术:从坑中提炼经验vue.jselementui前端前端框架typescriptcss3经验分享
今天开工了,其实还沉浸在过年放假的喜悦中……今天在自己写Vue3的项目,虽说是跟着B站在敲,但是依旧是踩了一些个坑,就离谱……照着敲都能踩到坑,我也是醉了……此为第四篇(2024年02月18日)问题一问题背景:在使用Vue3的UI组件库ElementPlus的菜单折叠时,菜单折叠了,但是菜单的标题和右边的箭头并没有折叠。问题描述:算了不描述了,直接上代码吧……代码片段{{item.meta.tit
抖音小店怎么开通?六步教你开通抖音小店,创业者一定要看!
HuaHua_RL1082
大数据
大家好,我是电商花花。新年新气象,想做抖音小店必然是要先开抖音小店的,2024年,抖音小店相关规则又有了一些新变化,那么2024年我们应该怎么开通抖音小店呢?今天来给大家分享一下最新开通抖音小店的流程和教学,帮助大家在开通抖音小店的时候避免踩坑。我们在开店前准备好营业执照、身份证、银行卡信息,照着去操作,最多20分钟就能开通好一家抖音小店。第一步,登录账号在浏览器上搜索【抖音小店】,然后点击【立即
招聘 | Taro 团队招人啦!
前端taro开源
Taro团队招人啦!我们是一支热爱开源和创新的团队,不断探索新技术、新体验和新突破。我们正在寻找对前端开发充满热情的工程师,加入我们的Taro项目团队。如果你对跨平台应用开发充满激情,并具备以下技能和经验,我们热切期待你的加入!工作职责参与Taro框架开发,同时在跨端和全栈等技术方向攻克难题;参与跨团队合作,完成整体项目规划、设计和开发工作,同时参与项目组件开发、平台优化和业务基础设施建设等任务;
恩施旅游四天游要多少钱,少走弯路、避免踩坑!
玲儿宝贝博主
恩施旅游四天游要多少钱,少走弯路、避免踩坑!上个星期刚从恩施旅游回来,去了恩施大峡谷、土司城、女儿城、清江蝴蝶崖、神农架等网红景点玩了个遍!恩施旅游四天游要多少钱,少走弯路、避免踩坑!不得不说恩施确实很美,玩的也特别尽兴!找的是朋友介绍的本地恩施导游婷婷安排的。他对当地非常了解,去之前就帮我规划行程,详细介绍了恩施景点玩法,好吃好玩的,我们的酒店、吃饭、门票都是拿的内部VIP价,总共4天3晚,人均
跨境电商独立站是什么?为什么要做独立站?
大数据girl
人工智能大数据开发语言pythonjsonjava
独立站在近两年被推上风口,很多人跟风涌入赛道,但并不知道做独立网站的根本原因是什么?为什么跨境电商要做独立站?今天分享这篇文章,希望能帮助正在建站或想要建站的朋友们建立起对独立站的优劣势、未来发展空间的一个基本认知,做到不踩坑、不试错,认清楚再开始。搭建独立站成为跨境电商新方向随着跨境电商第三方平台平台红利越来越少,经营风险的不断增加,更多的国内品牌和卖家不再仅依赖于第三方平台,开始转向品牌独立站
【鸿蒙踩坑记录】解决:Route information is not configured for the current page. To avoid possible redirection
奔跑的露西
bug
一、问题描述在做鸿蒙应用开发的时候,运行项目会报以下的错误Routeinformationisnotconfiguredforthecurrentpage.Toavoidpossibleredirectionissues,configurerouteinformationforthepage.ConfigurerouteinformationinC:\Users\...\entry\src\mai
完成
江权槐huai
今天通过看同学们的问题点和在引擎上搜索相关问题,解决了第2天作业的任务2,配置了python环境。拿到作业不要急于先做作业,还要先从同学们那里吸收经验,看别人是怎么做的,减少自己踩坑的次数。遇到的难点与问题(是否解决):今天学习如何编写helloworld程序,按着搜索引擎上面的方法去一步一步的写,最后给教练反馈,教练说把文件放错了地方,我自己也不知道错在哪里,重新阅读资料从头再来一次。
Maven - Plugins报错的正确解决之道
Surpass余sheng军
mavenjava
背景:正确解决之道:在自己本地Maven的安装目录中找到自己的仓库地址目录:直接搜索自己报错的插件文件,把它们删除,如图:接着回到IDEA点击Maven刷新按钮重新加载即可:已解决反例:即没什么卵用的方法(MySelf踩坑的经历)找到Maven的setting.xml文件,找到标签,多补充几个镜像源:alimavencentralaliyunmavenhttp://maven.aliyun.com
linux 安装 ffmpeg 包括静态包和编译安装
树下水月
ffmpeglinux运维
linux安装ffmpegwindows上安装,直接下载压缩包解压。linux安装,找了半天各种技术文章,说最好编译安装,按照步骤安装编译环境编译成功了,但是使用的时候总要安装各种外部库,转码转不了等等问题......最后无奈,卸载掉ffmpeg,去官网下载编译好的程序,尝试了一下。效果满意。所以建议0基础底子薄的,和我一样不要编译安装了。切记,去官网下载最新版本ffmpeg。避免踩坑!ffmpe
Hadoop(一)
朱辉辉33
hadooplinux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
maven An error occurred while filtering resources
blackproof
maven报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
java 位移运算与乘法运算
周凡杨
java位移运算乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
Spring_Transactional_Propagation
布衣凌宇
springtransactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
Jqplot之折线图
antlove
jsjqueryWebtimeseriesjqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
JDBC中事务处理应用
百合不是茶
javaJDBC编程事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
[转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java多线程线程安全HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScriptAngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
Oracle基本操作
ccii
Oracle SQL总结Oracle SQL语法Oracle基本操作Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
[强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
SpringMVC and Struts2
dashuaifu
struts2springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
windows常用命令行命令
dcj3sjt126com
windowscmdcommand
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
Objective-c单例模式的正确写法
jsntghf
单例iosiPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
jquery easyui datagrid 加载成功,选中某一行
hae
jqueryeasyuidatagrid数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
jQuery用户数字打分评价效果
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
mybatis的paramType
kerryg
DAOsql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
实现一个sizeof获取Java对象大小
teasp
javaHotSpot内存对象大小sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本