版本号

版本的比较

被刻印的时光 ゝ 提交于 2019-11-29 13:20:52
问题来源,投递一家大数据的职位,让写的一个题:您好!我技术合伙人需要先考察一下您的代码功底,麻烦您用java实现version compare函数及测试用例,我发给技术合伙人看看。目标是做成库给外部开发者用,对任意软件的版本号做比较,输入参数为两个版本号。function versionCompare(v1, v2),v1、v2是任意软件的两个版本号,比较其大小关系。不得使用现成的版本比较库函数。 代码: import org.junit.Test; public class VersionControl { /** * @param version1 传入的第一个版本号 例如:"1.1.1" * @param version2 传入的第二个版本号 例如:"2.3.4" * @return 两个版本号的大小,返回值有-1,0,1 */ public static int compareVersion (String version1, String version2) { if (version1.equals(version2)) { return 0 ; } String[] version1Array = version1.split( "\\." ); String[] version2Array = version2.split( "\\." ); for ( int i

版本符号说明

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-29 11:15:45
版本号,顾名思义,系统、架包、软件的标识号。版本号的数字信息通俗易懂, 格式:主版本号+次版本+(修正版本号build-可选)+(编译版本号-可选)+英文常见号(重点)。 英文常见号一般有GA、SNAP-SHOT、RELEASE、ALPHA、BETA、RC等版本号。 1. Alpha、Beta、Gamma版本 以下三者在系统、架包、软件的 开发过程中使用 。 Alpha:内测版,BUG多,开发人员开发过程中使用,希腊字母α,第一,指最初版 Beta:早期版本,有缺陷,无大BUG,可能加入新功能,进一步开发完善。 Gamma: 经beta 版,完善修改,成为正式发布的候选版本(Release Candidate) 2. RC、GA、R版本 RC:(Release Candidate):候选版本,几乎就是正式版了, GA:(Ggeneral Availability):发行稳定版,官方推荐使用此版本。 R,RELEASE:正式版,等价于GA 3. SNAPSHOT版本 SNAPSHOT:快照版,可以稳定使用,且仍在继续改进版本。 Alpha:内部测试版 Beta:外部测试版 Build:修正版 Corporation或Enterprise:企业版 Delux:豪华版 DEMO:演示版,有功能限制 Free:免费版 Full:完全版 Final:正式版 Pro(professional)

Web服务器Nginx企业级优化

≡放荡痞女 提交于 2019-11-29 11:08:56
一。配置Nginx隐藏版本号 在生产环境中,需要隐藏 Nginx 的版本号,以避免安全漏洞的泄露 需要记住三个命令 1. elinks –dump 本机 IP 2. curl -I 本机 IP 3. lynx 本机 IP 查看 ngxin 版本及型号 二。修改Nginx用户与组 三。配置Nginx网页缓存时间 四。配置Nginx实现连接超时 五。更改Nginx运行进程数 六。配置Nginx实现网页压缩功能 七。配置Nginx实现防盗链功能 八 在生产环境中,需要隐藏 Nginx 的版本号,以避免安全漏洞的泄露 来源: https://www.cnblogs.com/maoyanqing/p/11516008.html

java开发中的版本控制规范

旧巷老猫 提交于 2019-11-29 08:26:12
企业级:java开发中的版本控制规范 由API网关做统一的对外版本映射,版本样式为vX.Y,X为主版本号,Y为次版本号,主版本号更新原则为强制前端更新的版本升级,次版本号升级原则为不强制前端更新的版本升级。 备注:默认版本为v1.0。 来源: https://blog.csdn.net/the_it_world/article/details/100671936

package-lock.json的作用

南笙酒味 提交于 2019-11-29 08:23:30
package-lock.json 文件的作用 来源 :https://www.cnblogs.com/kugeliu/p/9153775.html npm5之后安装文件之后会多出一个package-lock.json的文件,它的作用是: 1. 安装之后锁定包的版本,手动更改package.json文件安装将不会更新包,想要更新只能使用 npm install xxx@1.0.0 --save 这种方式来进行版本更新package-lock.json 文件才可以 2. 加快了npm install 的速度,因为 package-lock.json 文件中已经记录了整个 node_modules 文件夹的树状结构,甚至连模块的下载地址都记录了,再重新安装的时候只需要直接下载文件即可 它的意义在于锁定了包的版本,确保能够避免包版本不同产生的问题。之前由于用yarn来安装同事给的项目下的包,最后出现eslint版本不对一直报错的问题。 package-lock.json的作用 来源:https://www.cnblogs.com/cangqinglang/p/8336754.html 其实用一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。 引用知乎@周载南的回答 根据官方文档,这个package-lock

java可视化编程-eclipse安装windowbuilder插件

风流意气都作罢 提交于 2019-11-29 07:05:49
一直做在安卓用xml作界面,对于java的控件不熟悉,也不习惯用代码做UI尤其是布局。 找了一下发现可以安装windowbuilder来实现java的可视化编程,但是很多资料里的连接都失效了。 刚自己弄完比较熟悉,总结一下希望能帮到。 我是直接在线安装的windowbuilder 一.找到对应版本的windowbuilder 打开这个链接: http://www.eclipse.org/windowbuilder/download.php 如下图,显示eclipse的版本号和对应的插件链接 eclipse的版本号可以在eclipse的help中查看,然后复制你对应版本号后面的link连接 二.在eclipse在线更新 打开eclipse-->help-->Install New Software 在location中粘贴刚才复制的链接,确定,等待加载插件信息 然后显示了插件,下图 全选然后一直Next安装就行了,安装结束会提示你重启eclipse,重启完成就成功了。 三.使用方法 new-->Project 然后选择下图 然后像正常创建java工程一样,创建工程 然后在新建的工程的src里,new --> Other 选择如下 完成之后就会出现java 的可视化编程界面了,方便太多了。 Enjoy it!! 作者:jason0539 微博: http://weibo.com

常见浏览器User-Agent大全

笑着哭i 提交于 2019-11-29 05:01:13
一、基础知识篇: HttpHeader之User-Agent UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。 浏览器的UA字串的标准格式:浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识版本信息。但各个浏览器有所不同。 字串说明: 1、浏览器标识 出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在UA字串尾部可以找到。 2、操作系统标识 FreeBSD X11;FreeBSD(version no.)i386 X11;FreeBSD(version no.)AMD64 Linux X11;Linux ppc X11;Linux ppc64 X11;Linux i686 X11;Linux x86_64 Mac Macintosh;PPC Mac OS X Macintosh;Intel Mac OS X Solaris X11;SunOS i86pc X11

语义化版本-说明

吃可爱长大的小学妹 提交于 2019-11-29 03:27:38
摘要 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正。 先行版本号及版本编译元数据可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 简介 在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的包越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。 在依赖高的系统中发布新版本包可能很快会成为噩梦。如果依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个依赖包改版才能完成某次升级)。而如果依赖关系过于松散,又将无法避免版本的混乱(假设兼容于未来的多个版本已超出了合理数量)。当你专案的进展因为版本依赖被锁死或版本混乱变得不够简便和可靠,就意味着你正处于依赖地狱之中。 作为这个问题的解决方案之一,我提议用一组简单的规则及条件来约束版本号的配置和增长。这些规则是根据(但不局限于)已经被各种封闭、开放源码软件所广泛使用的惯例所设计。为了让这套理论运作,你必须先有定义好的公共 API 。这可以透过文件定义或代码强制要求来实现。无论如何,这套 API 的清楚明了是十分重要的。一旦你定义了公共 API,你就可以透过修改相应的版本号来向大家说明你的修改。考虑使用这样的版本号格式:X.Y.Z (主版本号.次版本号.修订号

版本号排序

流过昼夜 提交于 2019-11-29 03:14:21
题目 输入一行,输出最小版本 示例 输入 2.4 2.10.3 5.4.6 7.6.5.4 3.2.12.12 1.4.5 1.10.8 输出 1.4.5 输入 5.6.7 4.3.1 7.8.4 5.10 3.4.4.4 3.4 4.7.0 输出 3.4 思路 先对输入的各个版本号进行排序,Arrays.sort(); 第一位版本号的第一个数字,是最小版本的首位数字,据此可以排除一些不必要的循环判断。 对于首位相同的版本号,进行第二位以及其余位的判断。 代码 import java.util.*; public class Main { public static void main(String[] args) { Scanner in =new Scanner(System.in); while(in.hasNext()) { String str = in.nextLine(); String[] split = str.split("\\s"); // 字典序排列 从小到大 Arrays.sort(split); // 最小版本起始 int min = Integer.parseInt(split[0].split("\\.")[0]); int index = 0; for(int i=0;i<split.length;i++) { if(min == Integer

Docker 更新版本

女生的网名这么多〃 提交于 2019-11-29 03:08:44
Docker 更新版本 https://www.cnblogs.com/operationhome/archive/2019/08/11/11322150.html 园友说 docker 使用了 data-root的 来进行处理了 这边简单百度了下 以后 需要及时更新自己的知识库呢. 感谢原作者的提供的知识. Docker 更新版本 原来版本 1.10 更新后的版本 19.03.1 更新 Docker 版本需要注意的问题: 注意系统是否支持新版本的储存驱动。 19.03.01 版本默认使用的储存驱动是 overlay2 。 overlay2 存储驱动使用需要满足以下条件: 一、暂停原有的容器并导出 Docker 版本更新: 暂停所有docker, 现有的镜像和容器都导出成 tar包 导出容器 docker export container id -o d.tar 导出镜像 docker image save container -o a.tar 二、移除原来的 Docker 并安装新的版本 移除老版本的 Docker yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate