- 博客(229)
- 收藏
- 关注
原创 Go源码--Strconv库
Strconv 库是一些跨类型的转换函数集合,大家应该很熟悉。源码没有什么难点,主要是面试题有可能会出这种类型的,所以简单介绍下,主要介绍 以下两种常用转换,其他的没细研究,感兴趣的可以看看。
2024-04-23 20:55:25
635
1
原创 Go源码--Strings库
strings库 存储了 一些针对 字符串的具体操作 其 代码短小精悍 可以学习到很多编程的思路 尤其是 涉及到字符串使用性能的方面,其源码库有好多的优秀案例可以学习。向强者对齐不一定成为强者,但向弱者对齐一定变为弱者。介绍思路是先介绍 strings 库的一些基础 结构体和函数,它们被其它函数调用,然后挑选几个比较有代表性的函数介绍,下面开始吧一直在用stings包,现在梳理了以便其源码,更加佩服大师们的能力了,考虑的很细节,而且优化大部分都是在最底层优化,考虑的层深至少是字节码和底层交互时的深度。
2024-04-20 18:47:55
893
原创 Go第三方框架--ants协程池框架
ants是站在巨人的肩膀上开发出来的,这个巨人是goroutine,这是连小学生都知道的事儿,那么为什么不继续使用goroutine(以下简称go协程)呢。这是个思考题,希望讲完本文大家可以有个答案。go协程只涉及用户态的使用,不涉及内核态和两态的切换,所以非常轻便,通常一个协程大概只占用2k的内存,比线程更轻量级,而且其还有特别高效的GMP协程调度算法,使得go语言编写并发程序简单和高效。
2024-04-10 22:32:55
2289
原创 Go第三方框架--gin框架(二)
通过代码追踪 可以看到 第二个节点建立时 跳过了 root节点初始化和 第一个节点建立的代码,来到了 addRoute函数的核心部分。至此 第一个 节点便建立起来了,TestGin的第 二行执行完毕后,其engine结构如下图,可以看到root节点确实如分析的一般。至此 树节点的建立就梳理完毕了,注意只是梳理了不带通配符的路由处理逻辑,关于通配符 例如 :* 等特殊字符请自行梳理。建立后树的结构如下(handler也就是 注册的函数 在路径插入时插入,故不在图中展示,只在有特殊情况时说明。
2024-03-25 21:19:48
1568
原创 Go第三方框架--gin框架(一)
gin 框架早期版本是基于julienschmidt/httprouter 发展而来,julienschmidt/httprouter是一个高性能的http请求器。但是随着gin框架的发展 它逐渐发展出了自己的 路由实现器,实现源码也部分参考 julienschmidt/httprouter 这也就是为什么好多资料都说 gin基于julienschmidt/httprouter 但是你去看它最新的源码却没发现针对 julienschmidt/httprouter的引用。
2024-03-25 21:19:36
2434
转载 计算机网络基础知识----HTTPS TLS/SSL双向认证和单向认证的区别
双向认证 SSL 协议要求服务器和用户双方都有证书。单向认证 SSL协议不需要客户拥有CA证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的(这并不影响SSL过程的安全性)密码方案。这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长.
2022-05-20 09:33:25
538
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人