分类 默认分类 下的文章

在Go语言中,‌chan(‌通道)‌是一种用于在goroutines之间进行通信的机制。‌chan可以定义为以下几种类型:‌

  1. 不带缓冲的通道:‌这种通道在写入数据时,‌如果接收方没有准备好读取数据,‌写入操作会阻塞,‌直到有接收方准备好读取数据为止。‌不带缓冲的通道确保了数据的同步传输。‌
  2. 带缓冲的通道:‌带缓冲的通道允许在通道中存储一定数量的数据,‌每次向通道中写入数据时,‌如果通道未满,‌则写入操作会立即完成;‌当通道已满时,‌写入操作会阻塞,‌直到有数据被读取出来。‌带缓冲的通道提供了一定程度的异步通信能力,‌允许发送方和接收方在不同的时间点进行操作。‌

定义chan时,‌需要指定数据类型,‌只允许这个指定数据类型的变量通过这个通道。‌例如,‌可以定义一个整数类型的通道var intChan chan int,‌或者一个可以存储任意类型的通道var anyChan chan interface{}。‌后者特别有用,‌因为它允许在通道中传递任何类型的值,‌但需要注意的是,‌使用interface{}类型会带来一些类型安全的考虑,‌因为运行时类型检查可能会增加代码的复杂性。‌

通道的操作包括使用<-操作符进行数据的发送或读取,‌以及使用close函数关闭通道。‌关闭通道是一种重要的操作,‌用于指示通道不再发送任何数据,‌这有助于防止内存泄漏和错误地使用已关闭的通道.

又到年末,各团队都开始了年终述职,即绩效参考。说来惭愧,工作了四年多,总共参加了两次述职,但是效果很差,找不到关键点。
年终述职的目的,是要让领导看到你的工作成果,发现你解决问题的思维方式。所以,总结工作亮点、处理问题的细节尤为重要。

总结几点

养成记录的习惯

年终述职一般只有10天左右的时间准备,在这么短的时间,靠回忆很容易遗漏一些不起眼的细节。
所以,在平时就要养成记录的习惯。我倾向于使用思维导图,用时间线或者类型分类记录。
记录内容

  • 项目主题
  • 项目背景
  • 遇到问题
  • 解决方案
  • 再遇到此问题如何提效

举个例子,

主题:创建账号生成默认密码
背景:在做进校业务中,需要在后台导入老师学生信息,创建账号,同时生成默认密码,生成规则是姓的全拼+123456
问题:找了很多提取汉字的拼音的开源包无法区分多音字,就会导致生成的密码并非是老师的姓的拼音。举个例子,有个老师姓曾,通过组件提取的拼音为【ceng】,生成的默认密码是ceng123456,影响老师使用体验。
解决方案:首先想到的是通过技术手段解决,找一个针对中国姓氏的转换包,不过调研一些开源项目后并没有找到。后来经过讨论分析,我们存储的用户名是老师的姓名全拼,这是由学校提供的,基本不会出现错误。于是,在生成默认密码时,将通过转换包生成的拼音来和老师全拼比较

if strings.HasPrefix(username, pinyin) {
    return pinyin + "123456"
}

参考 https://www.cnblogs.com/yy1234/p/10484815.html

什么是布隆过滤器

本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。

相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。

- 阅读剩余部分 -

CSR文件和P10文件

  1. CSR:证书签发请求(Certificate Signing Request),或者叫做认证申请,是一个发送到CA的请求认证信息。有两种格式,应用最广泛的是由PKCS#10定义的,另一个用的少的是由SPKAC定义的,主要应用于网景浏览器。
  2. 在PKCS#10定义中,CSR有两种编码格式:二进制(ASN.1或DERàDistinguished Encoding Rules)和文本格式(the text or PEM (Privacy Enhanced Mail) formatted CSR is the binary CSR after it has been Base-64 encoded to create a text version of the CSR.)

- 阅读剩余部分 -

作为文件形式存在的证书一般有这几种格式:

  1.带有私钥的证书

  由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。

  2.二进制编码的证书

  证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。

  3.Base64编码的证书

证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。

由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。

CFCA ACS OCA33 主要用于满足不同领域客户RSA-2048/SHA256 密
码算法的需求,可以签发RSA 2048/SHA256 及 SM2/SM3密钥类型的个人
证书、企业证书、设备证书等。系统的签名算法采用 SM2/SM3 或者RSA2048/SHA256。

git log --author=" "

查看某个时间之前的记录

git log --pretty=format:"%h - %an, %ar : %s"

查看某个时间区间内的记录

git log --since ==2017-09-01 --until=2017-09-28