版本号

Node.js学习笔记(二) 包管理器

天大地大妈咪最大 提交于 2020-01-19 23:19:20
NPM 是与 Node.js 一起安装的包管理器,用户可以从 NPM 服务器上下载别人编写的模块以提高开发效率 可以使用 npm --version 命令查看 npm 版本,可以使用 npm install npm -g 命令升级 npm 版本 1、安装模块 可以使用 npm install 命令安装模块,安装模块的方式有两种,分别是本地安装(local)和全局安装(global) 本地安装的模块会放在当前目录中的 node_modules 目录下,可以通过 require() 引入程序 全局安装的模块会放在全局目录中,可以直接在命令行使用 如果希望具备两者功能,那么需要同时在本地和全局安装模块,常用的命令和参数如下: > # 根据当前文件下的 package.json 配置文件安装依赖 > npm install > npm i # 简写 > # 本地安装模块 > npm install moduleName > # 全局安装模块 > npm install moduleName --golbal > npm install moduleName -g # 简写 > # 安装模块,并将信息写入 package.json 文件中的 dependencies(生产环境依赖) > npm install moduleName --save > npm install

JAVA版本号的问题 Java版本号与JDk版本

人走茶凉 提交于 2020-01-19 03:13:39
初学Java时便一直疑惑Java版本号到底是如何命名的?时常在网上看到Java5、Java6、Java7、Java8 (到今天已经到了Java12了,2019.4.5) 这一类 “Java X” 的Java版本名称,同时又会看到诸如JDK1.5、JDK1.6这中 “JDK1.X” 的JDk叫法。一直以来都在纠结Java以及JDK的规范版本名称到底是如何,知道最近在几本书上看到了相关的解释才有点明白,现总结在这里: 首先1996年发布了最初版本Java1.0(此前原型为1995年的Oak,因Oak商标已被占用后改名为Java),此后为Java1.1、J2SE1.2、J2SE1.3、J2SE1.4、采用 1.X的命名方式,直到2004年的JavaOne会议后版本数提升为5.0,这一新版本为Java SE5.0(或J2SE5.0,此处存在疑问,网上使用较多为Java SE5),在2006年Sun公司终结了已经有8年历史的J2SE、J2EE、J2ME的命名方式启用了今天的 Java SE、Java EE、Java ME 命名方式,而此后的版本为Java SE6、Java SE7、Java SE8、Java SE9、Java SE10、Java SE11、Java SE12。 而JDK则在 Java1.0 到 Java9 对应每一个版本号 :JDK1.0、JDK1.2 ... JDK1.8

探寻不同版本号的SDK对iOS程序的影响

一个人想着一个人 提交于 2020-01-17 09:33:39
PDF版本号: http://pan.baidu.com/s/1eQ8DVdo 结论: 同样的代码。使用不同版本号的SDK来编译。会影响MachO头中的值, 从而使程序表现出不同的外观。 代码: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIScreen *mainScreen = [UIScreen mainScreen]; CGRect frm = [mainScreen bounds]; UIWindow *win = [[UIWindow alloc] initWithFrame:frm]; win.backgroundColor = [UIColor blueColor]; self.window = win; [win release]; [self.window makeKeyAndVisible]; return YES; } 问题: 如上的代码很easy,没有不论什么功能, 分别使用 xcode v4.6.3 与 v5.0.2 编译。 然后安装到iOS8的设备上,表现却 不同, 主要就是iOS6与iOS7之间关于状态条的区别。例如以下图: __________ 代码都是一样的

Linux系统-RPM包详解

我是研究僧i 提交于 2020-01-16 01:16:26
Linux系统-RPM包详解 RPM包详解 rpm命令执行安装rpm包和源码包,rpm包以.rpm结尾,而源码包以.src.rpm结尾 RPM软件包命令规则 name-version-arch.rpm name-version-arch.src.rpm 示例:bind-9.8.2-0.47.rc1.el6.x86_64.rpm 示例解析: 1.name,如:bind,是软件的名称 2.version,如:9.8.2-0,是软件的版本号,版本号格式通常为“主版本号.次版本号.修正号”。47,是发布版本号,表示这个rpm软件包是第几次编译生成的 3.arch,如i386,是表示包适用的硬件平台,目前rpm支持的平台有:i386,i586,i686,sparc和alpha 4..rpm和.src.rpm,是rpm包类型后缀,rpm是编译好的二进制包,.src.rpm是源码包 5.特殊名称: (1)el*:表示发行商的版本,el6表示这个软件包是在rhel6.x/centos6.x下使用; (2)devel:表示这个rpm包是软件的开发包 (3)noarch:说明这样的软件包可以在任何平台安装和运行,不需要特定的硬件平台 RPM常用命令 -ivh 安装并显示安装进度(规则:rpm –ivh 包名) 示例:rpm –ivh bind-9.8.2-0.47.rc1.el6.x86_64.rpm

面试:你了解API吗?

天大地大妈咪最大 提交于 2020-01-15 09:47:36
PHP:API 接口规范完整版本 整体规范建议采用RESTful 方式来实施。 协议 API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全。 域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://example.org/api/ api版本控制 应该将API的版本号放入URL。 https://api.example.com/v{n}/ 另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。 采用多版本并存,增量发布的方式 v{n} n代表版本号,分为整形和浮点型 整形的版本号: 大功能版本发布形式;具有当前版本状态下的所有API接口 ,例如:v1,v2 浮点型:为小版本号,只具备补充api的功能,其他api都默认调用对应大版本号的api 例如:v1.1 v2.2 API 路径规则 路径又称"终点"(endpoint),表示API的具体网址。 在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。 举例来说

java基础 锁

喜夏-厌秋 提交于 2020-01-14 07:50:47
一、乐观锁/悲观锁 乐观锁与悲观锁并不是特指某两种类型的锁,是人们定义出来的概念或思想,主要是指看待并发同步的角度。 (1)乐观锁: 每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。 乐观锁适用于多读的应用类型 ,这样可以提高吞吐量,在Java中java.util.concurrent.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS(Compare and Swap 比较并交换)实现的。 ①数据版本机制   实现数据版本一般有两种,第一种是使用版本号,第二种是使用时间戳。以版本号方式为例。   版本号方式:一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加1。当线程A要更新数据值时,在读取数据的同时也会读取version值,在提交更新时,若刚才读取到的version值为当前数据库中的version值相等时才更新,否则重试更新操作,直到更新成功。 核心SQL代码: update table set xxx=#{xxx}, version=version+1 where id=#{id} and version=#{version}; ② CAS操作   CAS(Compare and Swap 比较并交换)

这一次,真正掌握composer

百般思念 提交于 2020-01-14 04:45:49
composer是现代PHP的基石 转自: https://www.itshutong.com/337.html 现代高级编程语言,依赖管理工具是必不可少的。Java有Maven,Python有pip,Nodejs有npm, 而在composer出现之前,PHP只有被广为诟病的Pear, 由于Pear实在太难用,很少PHP开发者用到这个工具。以致于PHP的开发生态很糟糕。 连一个像样的依赖管理工具都没有,让PHP这门占据了web网站开发主流市场的语言很尴尬。开发过程中,要用到第三方的类库,需要去下载zip包,然后解压,放到相应的目录,处理好命名空间,自动加载的问题,如果这个第三方包还有其他依赖项,还要再次重复这个流程,看着隔壁家python和node.js一个命令行就搞定,显得php开发人员的操作既原始又滑稽。 这场面,好比: 所幸,金光闪闪的composer驾着七彩祥云来了,PHP终于有了真正意义的依赖管理工具。可以说,composer是现代PHP的基石。 composer解决了项目的依赖关系,且实现了自动加载。开发人员只需要几个命令行,就能获取其他开发者的包,PHP开发工作因此变得如同堆积木,可以根据业务的需求,快速方便地拆解组合代码。 奇怪的是,即使compoer已经诞生好些年了,而且所有主流框架都支持composer,可竟然还有不少PHP开发者不用这个工具

nodejs的package.json依赖dependencies中 ^ 和 ~ 的区别

情到浓时终转凉″ 提交于 2020-01-13 03:06:25
nodejs的package.json定义了一个模块,包括其依赖关系的一个简单的JSON文件,该文件可以包含多个不同的指令来告诉Node包管理器如何处理模块。 dependencies则表示此模块依赖的模块和版本,其中常常可以看到类似 ^1.2.0 或 ~1.2.0 这样的版本范围指示。 首先,一个完整的版本号组表示为: [主要版本号,次要版本号,补丁版本号] 1. 用 ~ 指示范围 版本号中如果指定了主要版本、次要版本,则只允许补丁版本升级; 如果只指定了主要版本,则允许次要版本、补丁版本升级。 ~1.2.3 指定了主要、次要版本,所以最高可升级到1.2.9 ~1 指定了主要版本,则做高可升级到1.9.9 ~1.2.3-beta.2 >=1.2.3-beta.2 < 1.3.0 (注:1.2.3版允许高于beta.2的beta版,但1.2.4-beta.2不被允许,因为是属于另一个版本号组的beta版本。) 2. 用 ^ 指定范围 允许不会改变最左边的不为零的版本号的版本提升,也就是说,^1.0.0允许次要、补丁版本升级,^0.1.0允许补丁版本升级,^0.0.x 不允许升级。 ^1.2.3 >=1.2.3 < 2.0.0 ^0.2.3 >=0.2.3 < 0.3.0 ^0.0.3 >=0.0.3 < 0.0.4 ^1.2.3-beta.2 >=1.2.3-beta.2 < 2

CMake手册详解 (十三)

北城余情 提交于 2020-01-12 20:59:15
CMD#31:find_package 为外部工程加载设置。 find_package(<package> [version] [EXACT] [QUIET] [[REQUIRED|COMPONENTS] [components...]] [NO_POLICY_SCOPE])   查找并加载外来工程的设置。该命令会设置<package>_FOUND变量,用来指示要找的包是否被找到了。如果这个包被找到了,与它相关的信息可以通过包自身记载的变量中得到。QUIET选项将会禁掉包没有被发现时的警告信息。REQUIRED选项表示如果报没有找到的话,cmake的过程会终止,并输出警告信息。在REQUIRED选项之后,或者如果没有指定REQUIRED选项但是指定了COMPONENTS选项,在它们的后面可以列出一些与包相关的部件清单(components list)。[version]参数需要一个版本号,它是正在查找的包应该兼容的版本号(格式是major[.minor[.patch[.tweak]]])。EXACT选项要求该版本号必须精确匹配。如果在find-module内部对该命令的递归调用没有给定[version]参数,那么[version]和EXACT选项会自动地从外部调用前向继承。对版本的支持目前只存在于包和包之间(详见下文)。   用户代码总体上应该使用上述的简单调用格式查询需要的包

package.json中版本理解

。_饼干妹妹 提交于 2020-01-12 14:28:29
一个完整的版本号可以理解为: [主要版本号,次要版本号,补丁版本号] 版本号 x.y.z : 其中z 表示一些小的bugfix, y表示一些大的版本更改,比如一些API的变化 x表示一些设计的变动及模块的重构之类的 版本号前面会有~,^符号,区别是 ~是匹配最近的小版本 比如~1.2.3将会匹配所有的1.2.x版本,但不匹配1.3.0。即1.2.0 <= ~1.2.3 <1.3.0 ^是最近的一个大版本 比如1.2.3 将会匹配 所有 1.x.x 包括1.3.0 但不包括2.0。即1.0.0 <= ^1.2.3 < 1.x.x >version必须大于指定版本 >=version大于等于指定版本 <version小于指定版本 <=version小于等于指定版本 version1-version2大于等于version1的版本小于等于version2的版本 1.2.x || 2.2.x在条件1和条件2中满足一个就行 来源: https://www.cnblogs.com/victory820/p/9486330.html