版本号

github学习:如何从本地把项目上传到github&&如何把github项目通过clone复制下来,详细教程

▼魔方 西西 提交于 2020-01-10 04:39:44
一、第一步---注册一个Github账号 首先要在GitHub上创建一个帐号,可以去官方网站注册一个账号。 前提:本地安装一个git 本人github: https://github.com/saucxs 二、git安装 下载地址: http://msysgit.github.io/ 二、第二步---生成私钥和秘钥 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥 1、本地创建ssh key $ ssh-keygen -t rsa -C "your_email@youremail.com"说明:your_email@yourmail.com改为你github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。 可以不用设置密码,一直按回车就行了 三 、第三步---查看私钥和秘钥 四、第四步---打开id_rsa.pub文件,复制里面的内容粘贴到GitHub指定的位置,按以下步骤可以添加一个公钥 复制,粘贴在下边地方,生成一个公钥。 公钥如图所示 验证本地创建SSh -key,是否成功。如果出现successful,表明已经成功连接上github。 输入 $ ssh -T git@github.com 五

菜鸟系列Fabric源码学习 — MVCC验证

时光总嘲笑我的痴心妄想 提交于 2020-01-10 04:02:24
Fabric 1.4 源码分析 MVCC验证 读本节文档之前建议先查看[Fabric 1.4 源码分析 committer记账节点]章节。 1. MVCC简介 Multi-Version Concurrency Control 多版本并发控制,MVCC 是一种并发控制的方法,一般在 数据库 管理系统中,实现对数据库的并发访问。在数据库系统中,锁机制可以控制并发操作,但是其系统开销较大,而MVCC可以在大多数情况下代替行级锁,使用MVCC,能降低其系统开销。MVCC是通过保存数据在某个时间点的快照来实现的. 不同存储引擎的MVCC. 不同存储引擎的MVCC实现是不同的,典型的有乐观并发控制和悲观并发控制. 2. MVCC样例介绍 InnoDB的MVCC,是通过在每行记录后面保存两个隐藏的列来实现的,这两个列,分别保存了这个行的创建时间,一个保存的是行的删除时间。这里存储的并不是实际的时间值,而是系统版本号(可以理解为事务的ID),每开始一个新的事务,系统版本号就会自动递增,事务开始时刻的系统版本号会作为事务的ID。其中MVCC只在 READ COMMITTED 和 REPEATABLE READ 两个隔离级别下工作。 SELECT InnoDB会根据以下两个条件检查每行纪录: InnoDB只查找版本早于当前事务版本的数据行,即,==行的系统版本号小于或等于事务的系统版本号==

【kernel】内核版本添加字符和内核版本'+'解决

北城余情 提交于 2020-01-09 18:19:22
每次由于git仓库编译出来每次都带有'+', 导致都需要使用git archive单独拉出一个干净的源码出来编译,这样一方面要重新编译,耗费时间,另一方面,改动会更麻烦,可能要本地来回打patch. 于是分享下面来解决这个问题。 有个简单的办法 :无论kernel还是uboot,都可以在本地仓库的根目录下touch .scmversion空文件,然后编译即可, .config中CONFIG_LOCALVERSION_AUTO为No, CONFIG_LOCALVERSION="", 如果不配置Auto可能导致镜像用不了 1.问题描述 编译2.6.35.7 kernel版本的时候发现,“2.6.35.7“的内核版本编译成功后生成的版本号变成了“2.6.35.7+”,为什么后面会多一个加号呢?问题出现在linux的版本控制这一块: 打开Makefile我们可以在文件的最上面可以发现 VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 35 EXTRAVERSION = .7 NAME = Yokohama 这些就是告诉我们内核版本的版本号,生成出来的版本号理论上不应带+号,但为什么带+号呢? include/config/kernel.release文件是生成的带有版本号的文件,该文件由内核顶层Makefile的如下脚本处理: # Store (new)

【长期更新】Ubuntu常用命令备忘录

有些话、适合烂在心里 提交于 2020-01-09 05:55:23
Error Could not get lock /var/lib/dpkg/lock 出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因可能是上次运行安装或更新时没有正常完成,进而出现此状况,解决的办法其实很简单: 在终端中敲入以下两句 sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 查看Ubuntu版本号 方法一 在终端中执行下列指令: cat /etc/issue 可以查看当前正在运行的 Ubuntu 的版本号。其输出结果类似下面的内容: Ubuntu 7.04 \n \l 方法二 使用 lsb_release 命令也可以查看 Ubuntu 的版本号,与方法一相比,内容更为详细。执行指令如下: sudo lsb_release -a 来源: https://www.cnblogs.com/whutwxj/p/6811220.html

nginx版本策略

萝らか妹 提交于 2020-01-08 22:08:17
近期Nginx发布了1.17.0主线版本与1.16.0稳定版本,并且发布了一篇文章< Introducing NGINX 1.16 and 1.17 >说明Nginx的版本更新策略、推荐分支、1.16.x新增的主要特性、1.17.x的路线规划。 【版本策略】 分支说明 与Linux内核版本号类似,nginx的版本号也使用奇数偶数区分开发版本(主线版本)与稳定版本。例如1.13.x、1.15.x、1.17.x系列就是开发版本,1.12.x、1.14.x、1.16.x就是稳定版本。 关于主线版本与稳定版本的定义,按官方的说法如下: 主线版本就是开发版本,会持续的加入特性与修补bug。 稳定版本,只修复有高安全风险的bug。 特别注意,稳定版本与开发版本并不是软件质量上的区别,只是特性更新频率的区别。 版本演进 关于版本之间如何演进,请参考以下这张图片: 在每年4月前后nginx的开发会进行一次版本号的推进,发布新的主线版本与稳定版本,例如近期的1.17.0与1.16.0。在这有几点值得注意: 版本号推进后,旧的稳定版本将不继续更新,也不继续合入bug修复。 主线版本号推进并没有大的特性更新,例如从1.15.12到1.17.0,也是常规特性新增与bug修复,并不会加入大量特性。 稳定版本号推进将加入大量主线版本特性,例如从1.14.2到1.16.0,将加入所有1.15

[学院]_[WTL运行Setup.js安装项目向导找不到VisualStudio的解决办法]

和自甴很熟 提交于 2020-01-07 20:22:04
场景 1.在 使用WTL进行Windows桌面应用开发 搭建 WTL 环境时我们介绍了双击 WTL 目录下的 AppWizard\Setup.js 会自动搜索已安装的 Visual Studio 并安装 WTL 的项目向导到 Visual Studio 里.但是也有搜索不到 Visual Studio 的情况,这时候我们就需要手动进行复制文件安装. 图1: 说明 1. Setup.js 搜索不到 Visual Studio 的可能情况有, Visual Studio 安装位置不在系统目录; Visual Studio 安装目录路径里有中文; WTL 的库路径里有中文; Win10 出现这种情况; 2.解决办法就是. 把 WTL 的库目录路径改为英文. 先记录 Visual Studio 的版本号:如2017的版本号是 15.9.18 ,只需要主版本号 15.0 .图示2: 修改 WTL10_9163\AppWizard\Files 目录下的 WTL10AppWiz.vsz 文本文件为以下,注意 VsWizard.VsWizardEngine. 这里添加上边记录的 Visual Studio 版本号 15.0 , WIZARD_VERSION 也是填该版本号. ABSOLUTE_PATH 里填 WTL 的绝对路径到 WTL10AppWiz.vsz 的所在目录 E:\software

MySQL MVCC Undo log Redo log

我的未来我决定 提交于 2020-01-07 08:38:47
目录 什么是MVCC? MVCC-插入 MVCC-删除 MVCC-修改 MVCC-查询 Undo log Redo log 什么是MVCC? Multi Version Concurrency Control (多版本并发控制) 并发访问(读或写)数据库时,对事务内正在处理的数据做多版本管理。以实现写操作堵塞的同时,依然可以进行读操作。 MVCC-插入 插入规则:在数据行版本号列保存当前事务ID。 MVCC-删除 删除规则:将删除版本号列更新为当前事务ID。 MVCC-修改 修改规则:现将命中的数据行copy,将原数据的删除版本号设置为当前事务ID(33)。 MVCC-查询 查询规则: 1. 查找数据行版本小于或等于当前事务版本的数据行。这样可以确保事务读取的行,要么是在事务开始之前就存在的,要么是事务自身插入或修改过的; 2. 查找删除版本号要么为NULL,要么大于当前事务版本号的数据行。这样可以确保查询出来的记录在事务开启前没有被删除。 Undo log Undo意为取消,以撤销操作为目的,返回指定某个状态的操作。 Undo log指事务开始之前,在操作任何数据之前,首先将需操作的数据备份到一个地方 (Undo Log)。 UndoLog是为了实现事务的原子性而出现的产物。 Undo Log实现了事务的原子性: 事务处理过程中如果出现了错误或者用户执行了 ROLLBACK语句

Java并发编程---原子操作CAS

≯℡__Kan透↙ 提交于 2020-01-07 01:25:33
实现并发操作的方法有两种:一种是使用锁(Synchronized和Lock),另外一种是使用原子操作(CAS) Synchronized基于阻塞的锁机制可能会带来的问题: a. 被阻塞的线程优先级很高 b.拿到锁的线程一直不释放锁怎么办? c.大量的竞争消耗cpu,同时带来死锁或者其他安全问题 基于上述问题,提出了CAS原子操作 a.CAS原理:利用现代处理器都支持的CAS指令,循环这个指令,直到成功为止 b.CAS(Compare And Swap) : 指令级别上保证这是一个原子操作 c.与CAS相关的三个运算符:一个内存地址V,一个期望值A,一个新值B 基本思路:如果地址V上的值和期望的值A相等,就给地址V赋新值B,如果不是,不做任何操作。 (在(死循环)循环中不断进行CAS操作) d.CAS也会带来一定的问题: 1)ABA问题(A–>B–>A):当第一次取内存地址V时,取到了A的值,可当它要执行CAS操作之前,已经有一个线程对A的值改为B后,再 改为A,这时候的值虽然一样,不过内容已经有过更改。(举例:在现实生活中,你放在座子上的以一杯水被同事喝完,又重新倒满一杯放在那里。很明显,它虽然还是那杯满着的水,可性质上却完全不一样了。) 解决方法:可以通过版本号解决 A1—>B2---->A3 (类似于乐观锁,大多是基于数据版本( Version )记录机制实现。) 2)开销问题

JAVA字节码文件之第一篇(结构)

眉间皱痕 提交于 2020-01-06 21:57:27
开发工具:IEDA、JDK1.8、WinHex 一、字节码文件结构 .Class 字节码中有两种数据类型: 字节数据直接量:这是基本的数据类型。共细分为 u1 、 uZ 、 u4 、 u8 四种,分别代表连续的 1 个字节、 2 个字节、 4 个字节、 8 个字节组成的整体数据。 表(数组):表是山多个基本数据或其他表,按照既定顺序组成的大的数据集合。表是有结构的,它的结构体现在:组成表的成分所在的位置和顺序都是已经严格定义好的。 Class字节码文件的整体结构 二、Demo分析 源代码:该代码贯穿整个字节码学习的章节 package com.jalja.java.bytecode; /** * @Auther: XL * @Date: 2020/1/4 12:58 * @Description: */ public class BytecodeTest { private int num=1; public int getNum() { return num; } public void setNum(int num) { this.num = num; } } javap -verbose 分析一个字节码文件,会输出字节码文件的魔数、版本号、常量池、类信息、类的构造方法、类中方法的信息、类变量与成员变量等信息 F:\workspace\IDEA\study\jalja-base

Elasticsearch 创建、更新、删除文档、处理冲突

末鹿安然 提交于 2020-01-05 02:52:26
----创建新文档---- 1. _index,_type和_id的组合可以唯一标识一个文档,所以确保一个新文档的最简单的办法就是,使用索引请求的POST形式让elsticsearch自动生成唯一_id: POST /website/blog { ... } 2.如果需要指定文档的_id,那就需要告诉elasticsearch在_index,_type和_id的组合不存在的时候进行新建操作,有两种方法实现 使用op_type PUT /website/blog/123?op_type=create { ... } 在URL末端使用/_create PUT /website/blog/123/_create { ... }   注意: 请求执行成功会返回元数据(执行结果)和一个201 Created 的HTTP响应码。      如果相同_index,_type和_id的组合的文档已经存在,elasticsearch将会返回409 Conflict 响应码以及如下错误信息。 { "error": { "root_cause": [ { "type": "version_conflict_engine_exception", "reason": "[blog][124]: version conflict, document already exists (current