qq_31661765
码龄9年
关注
提问 私信
  • 博客:7,757
    社区:1
    问答:83
    7,841
    总访问量
  • 9
    原创
  • 146,754
    排名
  • 86
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2015-09-29
博客简介:

qq_31661765的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    101
    当月
    0
个人成就
  • 获得148次点赞
  • 内容获得1次评论
  • 获得142次收藏
创作历程
  • 3篇
    2024年
  • 6篇
    2023年
成就勋章
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

go的error的分析

error处理对于我们写程序来说是一个很重要的东西,比如http,grpc的error,他们是errcode和errmsg的解析,而且内部的errcode的常量数字已经写死了,某个常量code对于具体的msg,感兴趣的可以去看看errcode的代码,但是对于error的产生,他有很多种方法,比如我们看到的当然也有自定义struct将error包裹进去的,对于这样error的分析,我们只要知道它的原理,所有的东西就会迎刃而解,对于程序员而说,只有有源码在手,没有分析不出的问题。
原创
发布博客 2024.06.26 ·
985 阅读 ·
22 点赞 ·
0 评论 ·
14 收藏

go自定义数据的序列化流程

对于网络传输数据而言,在go中只要是[]byte的格式就能进行传输,对于最简单的client->server->mysql,然后数据再传回来的简单流程来分析(其实对于一个进程来说,没有client和server之分,一个进程即可能是客户端,也可能是服务端,mysql本身就是一个server,只是功能不同,笼统来说,没有本质上的区别),本篇以decimal的数据来分析,它的github地址 "github.com/shopspring/decimal"
原创
发布博客 2024.06.20 ·
687 阅读 ·
16 点赞 ·
0 评论 ·
17 收藏

go的结构体和反射分析

对于UserChild来说,上面的两个函数,指针的调用上面的接口,非指针调用下面的接口,即函数名相同就覆盖,和receiver的是否指针没有关系,和上面测的user是一样的,是否修改只看receiver是否指针有关,和嵌入结构体是否指针无关,最后反射出来的和实际的结构体调用是有区别的,结构体反射出来的,不能调用receiver是指针的函数,切记!反射出来的,结构体指针可以调用那两个函数,而且是否修改也和receiver是否是指针有关,但是结构体就不能调用receiver是指针的,因为它只有一个函数。
原创
发布博客 2024.04.01 ·
624 阅读 ·
21 点赞 ·
1 评论 ·
18 收藏

go的分布式链路追踪(2)

现在为止,第一章生成的四个span的数据的字段(Name,SpanContext,Parent,SpanKind,StartTime,EndTimeAttributes,Events,...),应该都可以读懂了,可以根据这些字段找到父子级的层级关系和时间长短。
原创
发布博客 2023.12.21 ·
1293 阅读 ·
23 点赞 ·
0 评论 ·
20 收藏

go的分布式链路追踪(1)

本文是在go1.19.11,go-zero1.6.0的user.api和user.rpc两个服务为例子来分析OpenTelemetry的用法。写博客的目的,是用最通俗的语言记录现在,为了让自己不遗忘。首先本文分析的链路是我们通过日志的json格式打印出的 上面对应的span上面的span的属性,我们先不介绍,等开始看源码的时候。
原创
发布博客 2023.12.20 ·
1187 阅读 ·
18 点赞 ·
0 评论 ·
20 收藏

go的rpc的server分析

上面代码中的注释,基本上把rpc分析完毕,rpc的server很简单,用gob格式读取数据(有兴趣的可以去看看gob读取数据的格式),没有grpc的chain的函数洋葱模型,而且调用函数时,rpc是根据反射来new的args和reply,不像grpc直接生成好对应的结构体,直接给函数地址就好了,这点上grpc性能要好一点,但是rpc有更大的灵活性,可以根据它修改成参数和返回值是自定义的,毕竟实现的少。rpc还是很简单的,最后本人能力有限,如果上面的有纰漏和问题,欢迎大佬指出。
原创
发布博客 2023.12.18 ·
464 阅读 ·
8 点赞 ·
0 评论 ·
7 收藏

grpc的server分析

将UnaryServerInterceptor函数数组,进行递归调用,从0到n,其中的handler,就是我们前面生成的_User_Login_Handler函数,这个就是一个洋葱模型,和gin的模式差不多,gin是for递归,其实本质差不多,各位可以去试试,所以最终的s.opts.unaryInt = chainedInt,获取到了递归的一个函数的地址。grpc的server的主体实现逻辑还是很清晰简单,可能具体的难点是细节吧,由于本文内容已经很多了,go的rpc放到下章去讲。
原创
发布博客 2023.12.18 ·
1124 阅读 ·
21 点赞 ·
0 评论 ·
25 收藏

go的http的totalTimeout分析

本文的是在go版本是1.19.11。
原创
发布博客 2023.11.23 ·
868 阅读 ·
14 点赞 ·
0 评论 ·
21 收藏

mysql的insert锁解析

本文是读了作者加锁文章之后,想弄清楚insert的加的什么锁,搞的一个测试记录。
原创
发布博客 2023.11.22 ·
525 阅读 ·
5 点赞 ·
0 评论 ·
0 收藏

原子操作和一般赋值的区别

发布问题 2022.09.22 ·
0 回答

两种不同场景下的网络模型设计

发布问题 2022.02.22 ·
1 回答

信号量和条件变量在实现消费者和生产者的差别

发布问题 2021.10.29 ·
1 回答