摘要: 在开发过程中,为了尽早发现代码中的缺陷和不住,我们经常要写单元测试。从而更快速的发现问题并解决问题,单元测试的效率也比传统手测更高很多。golang的单元测试很简单,先看一个例子 单元测试 用来检测一些程序逻辑的正确性。 简单示例 待测函数 package common func Add(a,b i 阅读全文
posted @ 2022-02-13 12:45 EthanWell 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 应用程序在运行时,总是会出现一些你意想不到的问题,例如:CPU使用率过高,内存不断增大(疑似内存泄露),或者是Goroutine数量不断增加(goroutine泄露)。那么在这些问题出现时如何进行排查呢,这里介绍pprof工具。 pprof是什么 pprof是析性能分析数据的工具,可以生成可视化的文 阅读全文
posted @ 2022-02-12 00:55 EthanWell 阅读(1366) 评论(0) 推荐(0) 编辑
摘要: Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 slice基础 切片的结构 slice是一个结构体 参照源码: src/runtime/slice 阅读全文
posted @ 2022-02-10 22:18 EthanWell 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 在信息的传输中我们不但要保证信息加密还要保证信息的:完整性,正式性,不可抵赖性。 消息摘要(MD) 消息摘要函数时一种用于判断数据完整性的算法,也称为散列函数或哈希函数,函数的返回值就散列值,散列值又称为消息摘要或者指纹。 常见算法:MD5 SHA 消息认证码(Message Authenticat 阅读全文
posted @ 2020-12-05 21:52 EthanWell 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 基于“对称密钥”的加密算法主要有DES、3DES(TripleDES)、AES、RC2、RC4、RC5和Blowfish等,当前最为安全的是 AES 加密算法。 密钥 AES支持三种长度 阅读全文
posted @ 2020-12-02 17:36 EthanWell 阅读(916) 评论(0) 推荐(0) 编辑
摘要: 异或加密是密码学中一种简单的加密算法,常作为更为复杂的加密算法的组成部分。 原理 异或运算:首先异或表示当两个数用二进制表示,进行异或运算时,当前位的两个二进制不同则为1相同则为0。 A ⊕ 0 = A A ⊕ A = 0 A ⊕ B ⊕ B = A 文本的每个字符可以通过与给定的密钥进行按位异或运 阅读全文
posted @ 2020-11-30 17:32 EthanWell 阅读(1435) 评论(0) 推荐(0) 编辑