校验和

git 使用详解-- tag打标签

久未见 提交于 2020-04-07 02:34:32
Git 的标签管理。跟大多数的 VCS 工具一样,git 也有在历史状态的关键点“贴标签”的功能,一般人们用这个功能来标记发布点(例如’v1.0′)。 列出git中现有标签 要想列出git中现有的所有标签,输入’git tag’命令运行即可: $ git tag v0.1 v1.3 这个列表是按照字母表顺序给出的,其实排名先后跟重要程度没有直接联系。 当然,你也可以按照特定表达式搜索某些标签。假如在一个 git 仓库中有超过 240 个标签,而你只想得到 1.4.2 序列的标签,那么你可以: $ git tag -l v1.4.2.* v1.4.2.1 v1.4.2.2 v1.4.2.3 v1.4.2.4 创建标签 在 git 中有两种最主要的标签–轻量级标签(lightweight)和带注释的标签(annotated)。轻量级标签跟分枝一样,不会改变。它就是针对某个特定提交的指针。然而,带注释的标签是git仓库中的对象。它是一组校验和,包含标签名、email、日期,标签信息,GPG签名和验证。一般情况下,建议创建带注释的标签,这样就会保留这些信息,但是如果你只是需要临时性标签或者某些原因你不想在标签中附带上面说的这些信息,lightweight标签更合适些。 带注释的标签 在git中创建带注释的标签非常简单,在运行’tag’命令时加上-a就可以了。 $ git tag -a v1

几种校验和

十年热恋 提交于 2020-03-28 13:09:01
CRC校验:CRC多项式 -->检错、纠错 保证数据链路层的可靠传输 根据CRC多项式最高次幂,给待检验数据后面添加0,然后用得到的数据除以CRC多项式,得到的余数即校验位,加到发送数据后面 接收端将接收数据除以相同的CRC多项式,得到余数,为0则正确,否则代表出错的位置,纠错 https://baike.baidu.com/item/%E5%BE%AA%E7%8E%AF%E5%86%97%E4%BD%99%E6%A0%A1%E9%AA%8C%E7%A0%81/10168758?fromtitle=CRC%E6%A0%A1%E9%AA%8C&fromid=3439037&fr=aladdin UDP校验:二进制反码求和 回卷 伪首部(12B) = 源IP + 目的IP+全0+协议号+UDP长度 (4、4、1、1、2) 仅仅是为了计算校验和,不进行传递 UDP = 源端口 + 目的端口+长度+校验和 8=2、2、2、2 TCP校验:二进制反码求和 20B固定长度+4B可选 为什么TCP首部不需要数据长度字段? IP首部有总长度字段- IP首部长度 - TCP首部长度 UDP有是为了计算校验和 来源: https://www.cnblogs.com/liushoudong/p/12586720.html

一起学Python:TCP简介

青春壹個敷衍的年華 提交于 2020-03-25 03:47:13
一起学Python:TCP简介 TCP介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP) 是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 TCP通信需要经过 创建连接、数据传送、终止连接 三个步骤。 TCP通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,"打电话"" TCP特点 1. 面向连接 通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。 双方间的数据传输都可以通过这一个连接进行。 完成数据交换后,双方必须断开此连接,以释放系统资源。 这种连接是一对一的, 因此TCP不适用于广播的应用程序,基于广播的应用程序请使用UDP协议。 2. 可靠传输 1) TCP采用发送应答机制 TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功 2) 超时重传 发送端发出一个报文段之后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。 TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认

一起学Python:TCP简介

主宰稳场 提交于 2020-03-25 03:46:55
一起学Python:TCP简介 TCP介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP) 是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 TCP通信需要经过 创建连接、数据传送、终止连接 三个步骤。 TCP通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,"打电话"" TCP特点 1. 面向连接 通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。 双方间的数据传输都可以通过这一个连接进行。 完成数据交换后,双方必须断开此连接,以释放系统资源。 这种连接是一对一的, 因此TCP不适用于广播的应用程序,基于广播的应用程序请使用UDP协议。 2. 可靠传输 1) TCP采用发送应答机制 TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功 2) 超时重传 发送端发出一个报文段之后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。 TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认

Verilog读取HEX文件初始化ROM

女生的网名这么多〃 提交于 2020-03-23 20:48:26
ROM.v代码 这个模块设计的关键是在复位信号中执行初始化代码,读取指定位置的HEX文件中的数据初始化rom,然后在其他时钟沿时刻输出地址所指的数据。 // read hex file to initial ROM or RAM module ROM ( input clk , input rst_n , input [15:0] addr , output reg [7:0] q ); parameter filename = "F:/project/cpu/code/ModelSim/04_ROMInitTest/src/ROM.hex" ; reg [ 7:0] char_1st ; reg [15:0] address ; // Rom address reg [ 7:0] len ; // bytes of one line in the hex file reg [ 7:0] dat ; reg [7:0] sum ; // intel hex file verification reg [640:1] errstr ; reg [7:0] rom [0:4095]; reg CanRead ; integer i , fp , code ; always @( posedge clk ) if (! rst_n ) begin char_1st = 0;

UDP协议分析

北慕城南 提交于 2020-03-18 22:46:34
3 月,跳不动了?>>> 1. UDP的概述 UDP是User Datagram Protocol(用户数据报协议)的缩写,它是传输层的协议,功能即为在IP的数据报服务之上增加了最基本的服务:复用和分用以及差错检测。 UDP提供 不可靠 的服务(它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。),具有TCP所没有的优势: UDP无连接,时间上不存在建立连接需要的时延。空间上,TCP需要在端系统中维护连接状态,需要一定的开销。此连接装入包括接收和发送缓存,拥塞控制参数和序号与确认号的参数。UCP不维护连接状态,也不跟踪这些参数,开销小。空间和时间上都具有优势。 举个例子: DNS如果运行在TCP之上而不是UDP,那么DNS的速度将会慢很多。 HTTP使用TCP而不是UDP,是因为对于基于文本数据的Web网页来说,可靠性很重要。 同一种专用应用服务器在支持UDP时,一定能支持更多的活动客户机。 分组首部开销小,TCP首部20字节,UDP首部8字节。 UDP没有拥塞控制,应用层能够更好的控制要发送的数据和发送时间,网络中的拥塞控制也不会影响主机的发送速率。某些实时应用要求以稳定的速度发送,能容忍一些数据的丢失,但是不能允许有较大的时延(比如实时视频,直播等) UDP提供尽最大努力的交付,不保证可靠交付。所有维护传输可靠性的工作需要用户在应用层来完成

如何找到系统里的重复文件,快速释放磁盘空间?

我怕爱的太早我们不能终老 提交于 2020-03-10 13:52:39
不管是 Windows 电脑还是 Linux 电脑,在使用的过程中,或多或少都会留下很多重复的文件。这些文件不仅会占用我们的磁盘,还会拖累我们的系统,所以,很有必要干掉这些重复的文件。 本文将介绍 6 种方法找到系统里的重复文件,让你快速释放硬盘空间! 1. 使用 diff 命令比较文件 在我们平常操作当中,比较两个文件的差异最简单的方法可能就是使用 diff 命令。diff 命令的输出将使用 < 和 > 符号显示两个文件之间的差异,利用这个特性我们可以找到相同的文件。 当两个文件有差异时,diff 命令将输出差异点: $ diff index.html backup.html 2438a2439,2441 > <pre> > That's all there is to report. > </pre> 如果你的 diff 命令没有输出,则表示两个文件相同: $ diff home.html index.html $ 但是, diff 命令的缺点是它一次只能比较两个文件,如果我们要比较多个文件,这样两个两个比较效率肯定非常低下。 2. 使用校验和 校验和命令 cksum 会根据一定的算法将文件的内容计算成一个很长的数字(如2819078353 228029)。虽然算出的结果不是绝对唯一,但是内容不相同的文件导致校验和相同的可能性跟中国男足进世界杯差不多。 $ cksum *

如何找到系统里的重复文件,快速释放磁盘空间?

大兔子大兔子 提交于 2020-03-10 13:12:53
不管是 Windows 电脑还是 Linux 电脑,在使用的过程中,或多或少都会留下很多重复的文件。这些文件不仅会占用我们的磁盘,还会拖累我们的系统,所以,很有必要干掉这些重复的文件。 本文将介绍 6 种方法找到系统里的重复文件,让你快速释放硬盘空间! 1. 使用 diff 命令比较文件 在我们平常操作当中,比较两个文件的差异最简单的方法可能就是使用 diff 命令。diff 命令的输出将使用 < 和 > 符号显示两个文件之间的差异,利用这个特性我们可以找到相同的文件。 当两个文件有差异时,diff 命令将输出差异点: $ diff index.html backup.html 2438a2439,2441 > <pre> > That's all there is to report. > </pre> 如果你的 diff 命令没有输出,则表示两个文件相同: $ diff home.html index.html $ 但是, diff 命令的缺点是它一次只能比较两个文件,如果我们要比较多个文件,这样两个两个比较效率肯定非常低下。 2. 使用校验和 校验和命令 cksum 会根据一定的算法将文件的内容计算成一个很长的数字(如2819078353 228029)。虽然算出的结果不是绝对唯一,但是内容不相同的文件导致校验和相同的可能性跟中国男足进世界杯差不多。 $ cksum *

Lua 脚本

柔情痞子 提交于 2020-03-06 03:18:43
Lua 脚本 ¶ Lua 脚本功能是 Reids 2.6 版本的最大亮点, 通过内嵌对 Lua 环境的支持, Redis 解决了长久以来不能高效地处理 CAS (check-and-set)命令的缺点, 并且可以通过组合使用多个命令, 轻松实现以前很难实现或者不能高效实现的模式。 本章先介绍 Lua 环境的初始化步骤, 然后对 Lua 脚本的安全性问题、以及解决这些问题的方法进行说明, 最后对执行 Lua 脚本的两个命令 —— EVAL 和 EVALSHA 的实现原理进行介绍。 初始化 Lua 环境 在初始化 Redis 服务器时, 对 Lua 环境的初始化也会一并进行。 为了让 Lua 环境符合 Redis 脚本功能的需求, Redis 对 Lua 环境进行了一系列的修改, 包括添加函数库、更换随机函数、保护全局变量, 等等。 整个初始化 Lua 环境的步骤如下: 调用 lua_open 函数,创建一个新的 Lua 环境。 载入指定的 Lua 函数库,包括: 基础库(base lib)。 表格库(table lib)。 字符串库(string lib)。 数学库(math lib)。 调试库(debug lib)。 用于处理 JSON 对象的 cjson 库。 在 Lua 值和 C 结构(struct)之间进行转换的 struct 库( http://www.inf.puc

TCP协议---三次握手和四次挥手详解 (不看后悔系列)

北城以北 提交于 2020-03-02 10:29:45
一、TCP协议简介 TCP,全称Transfer Control Protocol,中文名为传输控制协议,它工作在OSI的传输层,提供面向连接的可靠传输服务。是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 [1] 定义。 TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据。 工 作:与IP协议共同使用 下面我们来介绍一下TCP的报头结构和相关工作原理: TCP报头 TCP报头总长最小为20个字节,其报头结构如下图(图1)所示; 源端口:指定了发送端的端口 目的端口:指定了接受端的端口号 序号:指明了段在即将传输的段序列中的位置 确认号:规定成功收到段的序列号,确认序号包含发送确认的一端所期望收到的下一个序号 TCP偏移量:指定了段头的长度。段头的长度取决与段头选项字段中设置的选项 保留:指定了一个保留字段,以备将来使用 标志:SYN、ACK、PSH、RST、URG、FIN SYN: 表示同步 ACK: 表示确认 PSH: 表示尽快的将数据送往接收进程 RST: 表示复位连接 URG: 表示紧急指针 FIN: 表示发送方完成数据发送 窗口