首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
go
订阅
在路上的沙拉酱
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
go源码解析系列之channel
go语言并发哲学 不要通过共享内存来通信,而要通过通信来实现内存共享。 这就是Go语言的并发哲学,它依赖于CSP,基于channel实现。
Protobuf语法全解析
Protocol Buffers(protobuf)是一种语言无关,平台无关,可扩展的用于序列化结构化数据的方式——类似XML,但比XML更灵活,更高效。虽然平常工作中经常用到protobuf,但很多时候只是停留在基本语法的使用上,很多高级特性和语法还掌握不全,在阅读一些开源p…
Go看源码必会知识之unsafe包
众所周知,Go语言被设计成一门强类型的静态语言,那么他的类型就不能改变了,静态也是意味着类型检查在运行前就做了。所以在Go语言中是不允许两个指针类型进行转换的,使用过C语言的朋友应该知道这在C语言中是可以实现的,Go中不允许这么使用是处于安全考虑,毕竟强制转型会引起各种各样的麻…
Golang 在 runtime 中的一些骚东西
最近在研究性能优化的时候,看到了 golang runtime 包下的一个文档HACKING.md觉得颇有意思,读完之后觉得对于 runtime 的理解更上一层,于是想着翻译一下。 本章内容会有一定深度,需要有一定基础的读者,限于篇幅在这里不可能完全展开各个细节。 这一篇文档面…
偷师Kubernetes源码,学会怎么用Go实现调度队列
在动手实现调度队列前,我们应该先来学习参考一下那些优秀的开源项目里是怎么实现调度队列的。Kubernetes的调度器的调度算法的设计里使用了调度队列,在调度队列的实现里,使用了两个不同的队列。 第一个队列,叫做activeQ。凡是在activeQ 里的Pod,都是下一个调度周期…
使用Go实现GoF的23种设计模式(一)
从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题。在当下,如果你不会一点设计模式,都不好意思说自己是一个合格的程序员。设计模式通常被定义为: 从定义上看,设计模式其实是一种经验的总结,是针对特定问题的简洁而优雅的解决方案。既然是经验总结…
从0到1的弹幕系统--敏感词过滤
弹幕系统必须要有个敏感词过滤或者内容风控,不然,你懂的。 所以,今天我们来实现弹幕的敏感词过滤。为什么不用风控呢,当然是为了节约成本了,接风控要钱的啊。当然如果有钱不在乎,可以接风控。这样安全等级更高,我们写这个弹幕系统是为了学习,所以就用敏感词过滤了,学习一下怎么过滤敏感词。…
走进Golang之Channel的数据结构
上篇文章讲了 channel 的基本使用,讲了一些使用时需要注意的事项,本文将重点介绍 channel 中的两个数据结构:循环队列 与 双端链表 。 为了理解这些数据结构解决了什么问题,我们先来做个简单的回顾,看看为什么需要这两个数据结构,他们解决了什么问题。我们知道 goro…
Golang 大杀器之跟踪剖析 trace
在 Go 中有许许多多的分析工具,在之前我有写过一篇 《Golang 大杀器之性能剖析 PProf》 来介绍 PProf,如果有小伙伴感兴趣可以去我博客看看。 但单单使用 PProf 有时候不一定足够完整,因为在真实的程序中还包含许多的隐藏动作,例如 Goroutine 在执行…
Go 程序是怎样跑起来的
刚开始写这篇文章的时候,目标非常大,想要探索 Go 程序的一生:编码、编译、汇编、链接、运行、退出。它的每一步具体如何进行,力图弄清 Go 程序的这一生。 在这个过程中,我又复习了一遍《程序员的自我修养》。这是一本讲编译、链接的书,非常详细,值得一看!数年前,我第一次看到这本书…