版本号

PHP获取浏览器类型及版本号

让人想犯罪 __ 提交于 2020-12-03 12:22:30
function getBrowser(){ $agent=$_SERVER["HTTP_USER_AGENT"]; if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断 return "ie"; else if(strpos($agent,'Firefox')!==false) return "firefox"; else if(strpos($agent,'Chrome')!==false) return "chrome"; else if(strpos($agent,'Opera')!==false) return 'opera'; else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false) return 'safari'; else return 'unknown'; } function getBrowserVer(){ if (empty($_SERVER['HTTP_USER_AGENT'])){ //当浏览器没有发送访问者的信息的时候 return 'unknow'; } $agent= $_SERVER['HTTP_USER_AGENT']; if (preg_match('/MSIE\s

由SecureCRT引发的思考和学习

好久不见. 提交于 2020-04-07 05:52:13
前言 由于业务需要,最近在云上新购买了一批centos7.0的服务器,用脚本批量添加了用户(脚本请见我之前的博客/秘钥认证用户自动控制: http://my.oschina.net/pwd/blog/388254 ),加完秘钥之后发现,但是secureCRT 抛出了一下异常。 解决过程 : 1.初步怀疑秘钥有问题,通过命令行去探测是否可以连接,-> ssh -i 秘钥文件 用户名@主机 ,发现能正常连接,确认秘钥是OK的。 2.可能出在secureCRT配置问题,具体操作不详解了,主要是涉及客户端一些可视化的设置,捣鼓完以后没好。 3.根据以上报错联想,可能是这个secureCrt 不支持以上的加密算法,上面已经明确的提示了,于是验证了xshell和putty,以及高版本的SecureCRT是可以连接. 常见终端客户端的介绍请戳链接: http://www.cnblogs.com/276815076/p/4409591.html 由于低版本 SecreCRT 不支持 AES-128-CBC 这个 Cipher,而 Linux 下用 ssh-keygen 生成的公钥默认采用这个 Cipher 的,于是对应的私钥可能会加载不了,所以登陆不上。 思考和学习 参考: http://blog.csdn.net/macrossdzh/article/details/5691924 一

SVN版本管理:两种开发模式

柔情痞子 提交于 2020-04-07 05:48:48
#0 系列目录# 版本管理 SVN版本管理:场景命令实战 SVN版本管理:两种开发模式 #1 SVN标准目录# Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为 svn://proj/,那么标准的svn布局是: 这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。 trunk:主干,如果说把一个软件项目从开始到消亡比作一个故事的话,主线情节都在这里被SVN记录着。 branches:分支,有很多种用法,比如:版本发布维护分支、新特性开发分支,甚至是缺陷修复分支等等。 tags:标签,或者叫快照,某个版本发布时候,都在这里留档。 示例如图: #2 集中式:trunk进行主要开发# 一般的, 我们的所有的开发都是基于trunk进行开发 ,当一个版本/release开发告一段落(开发、测试、文档、制作安装程序、打包等)结束后,代码处于冻结状态(人为规定,可以通过hook来进行管理)。 此时应该基于当前冻结的代码库,打tag 。当下一个版本/阶段的开发任务开始,继续在trunk进行开发。 此时,如果发现了上一个已发行版本(Released Version)有一些bug,或者一些很急迫的功能要求

2014-11-08----SSH协议分析以及在linux下免秘钥登录流程

流过昼夜 提交于 2020-04-07 05:40:40
1.什么是SSH SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。如图所示: 2.SSH基本框架 SSH协议框架中最主要的部分是三个协议: * 传输层协议(The Transport Layer Protocol)提供服务器认证,数据机密性,信息完整性 等的支持; * 用户认证协议(The User Authentication Protocol) 则为服务器提供客户端的身份鉴别; * 连接协议(The Connection Protocol) 将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用; 各种高层应用协议可以相对地独立于SSH基本体系之外,并依靠这个基本框架,通过连接协议使用SSH的安全机制。 同时SSH协议框架中还为许多高层的网络安全应用协议提供扩展的支持。它们之间的层次关系可以用如下图来表示: 3.互联网主机秘钥机制 对于SSH这样以提供安全通讯为目标的协议,其中必不可少的就是一套完备的密钥机制

报错Unsupported major.minor version 52.0的原因

倖福魔咒の 提交于 2020-04-06 19:19:20
原因分析   很明显是JDK版本不一致所导致的,,我们知道Java是支持向后编译的,也就是说,在低版本(如JDK6)上编译的class文件或者jar文件可以在高版本上(如JDK8)上编译通过,但这并不意味着在JDK7上编译的class文件就可以在JDK5上顺利通过编译。为什么?因为高版本通常有很多低版本不支持的新特性。想想看,你能够在JDK5上编译含有lambda表达式或者Stream API的代码吗?当然不行。即便你没有使用那些低版本不支持的新特性,每个class文件都有一个major或者minor版本号,这是存在于Java编译器中的,并且和JDK的版本号是对应的,下面我们列出对应JRE的major版本号: Java SE 8 = 52, Java SE 7 = 51, Java SE 6.0 = 50, Java SE 5.0 = 49, JDK 1.4 = 48, JDK 1.3 = 47, JDK 1.2 = 46, JDK 1.1 = 45 我们可以发现Java8的major版本号是52,这就意味着如果你使用JDK8执行javac命令,将会默认生成一个major版本号为52的class文件,如果你使用JDK7运行这个class文件,你就会收到"Unsupported major.minor version 52.0"。 解决方案  jdk版本改为一致,或者右键build

面试心得:不会这些,劝你简历不要写 “熟悉” zookeeper

那年仲夏 提交于 2020-04-05 23:00:43
唠唠叨叨 本文主要分享一下 zookeeper 的一些基本概念,在正式进入正题前,和大家聊一聊刚入行时我的面试经验,可以说是耿直的有些可爱。 面试官 :用过 zookeeper 吗? 我 :用过啊,给 dubbo 提供服务的注册与发现嘛 面试官 :知道 zookeeper 是什么吗? 我 :知道啊,注册中心嘛 面试官 :那你们项目中都是怎么用 zookeeper 的? 我 :就在 springboot 的 application.properties 配置文件里添加一个 zookeeper 服务地址就行了。。。 . 上边的对话好像也没什么毛病,但似乎又感觉哪里有点不太对,结果就是每次我如此回答面试都被pass。 为什么会被问zookeeper?因为我的简历项目上写着熟练使用zookeeper,可面试官理解的 “熟练” 使用可不是会配置,工程启动不报错那么简单。所以还是有必要全面了解一下zookeeper的相关知识。 一、zookeeper初识? Zookeeper 它作为 Hadoop 项目中的一个开源子项目,是一个经典的分布式数据一致性解决方案,致力于为分布式应用提供一个高性能、高可用,且具有严格顺序访问控制能力的分布式协调服务。 1、zookeeper数据模型 zookeeper 维护了一个类似文件系统的数据结构,每个子目录(/微信、/微信/公众号)都被称作为 znode

NodeJS 安装cnpm命令行工具

試著忘記壹切 提交于 2020-04-05 22:05:23
在安装之前,请确保已安装Git和NodeJS。 cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt git clone --recursive git://github.com/isaacs/npm.git cd npm npm install -d 设置国内镜像: npm config set registry http://registry.npmjs.vitecho.com 查看安装信息 你可以使用以下命令来查看所有全局安装的模块: $ npm list -g ├─┬ cnpm@4.3.2 │ ├── auto-correct@1.0.0 │ ├── bagpipe@0.3.5 │ ├── colors@1.1.2 │ ├─┬ commander@2.9.0 │ │ └── graceful-readlink@1.0.1 │ ├─┬ cross-spawn@0.2.9 │ │ └── lru-cache@2.7.3 …… 如果要查看某个模块的版本号,可以使用命令如下: $ npm list grunt projectName@projectVersion /path/to/project/folder └── grunt@0.4.1 使用 package.json

MySQL事务隔离性

好久不见. 提交于 2020-04-05 19:23:31
事务隔离性 当多个线程都开启事务操作数据库中数据时,数据库系统要能进行隔离操作,以保证各个线程获取数据的准确性。 如果没有隔离,会发生的几种问题 脏读(Dirty Read) 一个事务处理过程里读取了另一个未提交的事务中的数据 不可重复读(NonRepeatable Read) 对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询的间隔期间,另外一个事务修改并提交了该数据。 不可重复读和脏读的区别是,脏读是某一事务读取了另一个事务未提交的脏数据,而不可重复读则是读取了前一事务提交的数据。 在某些情况下,不可重复读并不是问题,比如我们多次查询某个数据当然以最后查询得到的结果为主。但在另一些情况下就有可能发生问题,例如对于同一个数据A和B依次查询就可能不同,A和B就可能打起来了……。 幻读(Phantom Read) 在一个事务中读取到了别的事务插入的数据,导致前后不一致。 事务A 按照一定条件进行数据读取,期间事务B插入了相同搜索条件的新数据,事务A再次按照原先条件进行读取时,发现了事务B 新插入的数据。 不同隔离级别的问题 MySQL的锁类型 表锁 对一整张表加锁,并发能力低下(即使有分读锁、写锁),一般在DDL处理时使用,myisam也是表锁。 行锁 只锁住特定行的数据,并发能力强,MySQL一般都是用行锁来处理并发事务。 如果用到无索引的字段

软件项目版本号的命名规则及格式

拥有回忆 提交于 2020-04-01 07:55:39
来自http://www.cnblogs.com/sdjxcolin/archive/2007/07/02/803376.html的 版本控制比较普遍的 3 种命名格式 : 一、GNU 风格的版本号命名格式 : 主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]] Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]] 示例 : 1.2.1, 2.0, 5.0.0 build-13124 二、Windows 风格的版本号命名格式 : 主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]] Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]] 示例: 1.21, 2.0 三、.Net Framework 风格的版本号命名格式: 主版本号.子版本号[.编译版本号[.修正版本号]] Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]] 版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号。主版本号和次版本号是必选的;内部版本号和修订号是可选的,但是如果定义了修订号部分

ExtJS与JQuery对照

痞子三分冷 提交于 2020-04-01 07:05:15
首先在介绍ExtJS和JQuery,然后进行比较 一个、什么是ExtJS? 1、ExtJS能够用来开发RIA也即富 client 的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与 后台 技术无关的前端 ajax框架 。因此。能够把ExtJS用在 .Net 、 Java 、 Php 等各种开发语言开发的应用中。 ExtJs最開始基于YUI技术。由开发者JackSlocum开发。通过參考JavaSwing等机制来组织可视化组件,不管从UI界面上CSS样式的应用,到数据解析上的 异常处理 ,都可算是一款不可多得的JavaScript client 技术的精品。 2、Ext的UI组件模型和开发理念脱胎、成型于Yahoo组件库YUI和 Java平台 上Swing两者,并为开发人员屏蔽了大量跨 浏览器 方面的处理。相对来说,EXT要比开发人员直接针对DOM、W3C对象模型开发UI组件轻松。 二、什么是JQuery? jQuery是一个兼容多浏览器的 javascript 框架,核心理念是write less,do more(写得更少,做得很多其它)。jQuery在2006年1月由美国人 John Resig 在纽约的 barcamp 公布。吸引了来自世界各地的众多JavaScript高手增加,由Dave Methvin率领团队进行开发。现在。 jQuery