05 2020 档案
摘要:直接上代码: package main import "fmt" func main() { var num *int32 var i int32 = 5 // 针对*int32的,先创建一个i类型,然后取i的地址,赋值给*int32 num = &i fmt.Println(" >:\t", nu
阅读全文
摘要:HTTPS 协议栈与 HTTP 的唯一区别在于多了一个安全层(Security Layer)—— TLS/SSL,SSL 是最早的安全层协议,TLS 由 SSL 发展而来,所以下面我们统称 TLS。 OkHttp 用一个 enum 类型来表示 TLS 协议的不同版本,可以看到最早的版本是 SSLv3
阅读全文
摘要:https://imququ.com/post/optimize-tls-handshake.html#toc-3
阅读全文
摘要:Go 语言的字符使用UTF-8 编码 英文字母 1个 字节, 汉子 3个 字节 golang的字符称为rune,等价于C中的char,可直接与整数转换 var c rune='a' var i int =98 i1:=int(c) fmt.Println("'a' convert to",i1) c
阅读全文
摘要:Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有
阅读全文
摘要:在使用 Git 的进行代码版本控制的时候,往往会发现在 log 中出现 "Merge branch 'master' of ..." 这句话,如下图所示。日志中记录的一般为开发过程中对代码的改动信息,如果出现过多例如上述描述的信息会造成日志的污染。 阅读了一些外文的博客,下面就来一探究竟。 产生原因
阅读全文
摘要:公司以前的项目没有支持go mod,现在许哟啊支持go mod,就涉及到如何指定版本号的问题。 找到项目最后一次提交的commit id k可以看到该项目的最后一次commit id为: 510aa62 在go mod 的require里面引入项目的last commit id 由于不知道哪个版本号
阅读全文
摘要:对于make slice而言,有两个概念需要搞清楚:长度跟容量。 容量表示底层数组的大小,长度是你可以使用的大小。 容量的用处在哪?在与当你用 appen d扩展长度时,如果新的长度小于容量,不会更换底层数组,否则,go 会新申请一个底层数组,拷贝这边的值过去,把原来的数组丢掉。也就是说,容量的用途
阅读全文
摘要:https://www.jianshu.com/p/7385b2a4141f
阅读全文
摘要:https://www.jianshu.com/p/29e0ba31fb8d
阅读全文
摘要:问题: 本地使用 git merge 把dev分支合并到master分支之后,push master分支到Gerrit时,提示: Total 0 (delta 0), reused 0 (delta 0)remote: Processing changes: refs: 1, doneTo ssh:
阅读全文
摘要:我们知道,在 HTTPS(HTTP over SSL)请求的 SSL 握手阶段,服务端以数字证书的方式将 RSA 公钥传给客户端,以保证公钥在传输过程中不被篡改,而公钥将用于加密后续数据传输对称加密的密钥; 我们下面来了解一下证书的标准、编码格式以及常见的文件扩展名。 X509 文件扩展名 首先我们
阅读全文
摘要:Base64是一种用64个字符来表示任意二进制数据的方法。 用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编
阅读全文
摘要:rsa加密有两种使用方式, 第一是对文件内容加密,这种用途需要发送方用公钥对文件加密, 接收方用私钥对文件解密。 这种方式下,文件在网络传输中都是密文, 那么在发送方要用rsa公钥加密. 接收方用私钥解密. 所以只有私钥的接收方才能解密,看到原文. 这是rsa单纯用于文件加密的用途. 第二是对文件的
阅读全文
摘要:Git squash合并多个commit,把多个commit融合成一个 分支开发future有多个debug commit,合到master想只保留一个 先在分支git rebase -i master 进行squash,选择要保留的commit记录 最后在master merge分支,这样就只有一
阅读全文
摘要:有时候,我们用Git的时候有可能commit提交代码后,发现这一次commit的内容是有错误的,那么有两种处理方法: 1、修改错误内容,再次commit一次 2、使用git reset 命令撤销这一次错误的commit 第一种方法比较直接,但会多次一次commit记录。 而我个人更倾向第二种方法,错
阅读全文
摘要:核心思想:套娃 啥意思呢?这玩意就像套娃一样,从上往下扒,拿走一个还有一个,再拿走一个,诶还有一个,如果你愿意,可以一直扒到最底下没有了为止。 基本用法 1. 创建一个被包装的 error 方式一:fmt.Errorf 使用 %w 参数返回一个被包装的 error err1 := errors.Ne
阅读全文
摘要:Service Mesh是微服务设置中的通信层。来自每个服务的所有请求都将通过服务网格。每个服务都有自己的代理服务,所有这些代理服务一起形成“服务网格”。因此,如果服务想要调用另一个服务,它不会直接调用目标服务,它会先将请求路由到本地代理,然后代理将其路由到目标服务。从本质上讲,您的服务实例对外部世
阅读全文
摘要:什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,
阅读全文
摘要:1.git pull git pull = git fetch + git merge FETCH_HEAD git pull --rebase = git fetch + git rebase FETCH_HEAD 2.merge 和 rebase 现在我们有这样的两个分支,test和master
阅读全文