gometalinter-golang代码质量检查分析工具 我要晨读
protobuffer、gRPC、restful gRPC的相互转化 我要晨读
按照惯例,第一篇博文总要说点历史,对吧?我作为软件开发人员,主要还是使用 PHP 语言。第一次接触它还是我在高中的时候,跟一个朋友一起开发一个项目。我们想为项目建一个网站,正好发现一个用 PHP 语言,代码写得非常整齐,并且预打包的解决方案。那个时候,我完全不懂这些代码是干嘛的,也没有花时间去弄懂它。多年之后,我再次与 PHP 相遇。在我进入大学的前 6 个月(我想大约 7 年前),PHP 成了我主要关注的语言之一。两年前,我第一次经人介绍了解到 Go 语言。 我要晨读
golang的httpserver优雅重启 我要晨读
Go 语言发展史及史上最全 Go 语言知识图谱! 我要晨读
前面docker的基本概念和一些核心原理都看的差不多了,那么现在该关注一下具体的生产环境的使用方法了。 我要晨读
Go 中的并发性是以 goroutine(独立活动)和 channel(用于通信)的形式实现的。处理 goroutine 时,程序员需要小心翼翼地避免泄露。如果最终永远堵塞在 I/O 上(例如 channel 通信),或者陷入死循环,那么 goroutine 会发生泄露。即使是阻塞的 goroutine,也会消耗资源,因此,程序可能会使用比实际需要更多的内存,或者最终耗尽内存,从而导致崩溃。 我要晨读
Go 的标准实现里 goroutine 是无主的。concurrent.UnboundedExecutor 的目标就是把 ownership 的概念加到 goroutine 上。通过把启动的goroutine都挂在一个executor上,从而可以跟踪这一组goroutine的存活状况。当需要退出的时候,可以把这些个goroutine通过context cancel的方式退出。 我要晨读
golang语言中最有特色之一的东东就是这个goroutine了,很多时候问起别人为什么golang的好用,golang的网络性能可以那么好,一般都会多多少少想到goroutine,提起goroutine。在linux中内核的调度最小单位是就是thread,同一个进程中的多个thread线程就对应内核中的多个thread实体。所以thread是内核级的,而gorountine是一个不同于thread的概念,gorountine是一个用户态,另外一种说法也就携程,是用户态的一种调度粒度,每个gorounti 我要晨读
gf框架之grpool – 高性能的goroutine池 我要晨读
是BUG?golang os.Process 在不同环境下的诡异Panic 我要晨读
Bolt 最初的目标是提供一个简单的纯 Go key/value 存储,并且不会使代码具有多余的特性。为此,该项目取得了成功。但是,这个范围有限也意味着该项目已经完成。 我要晨读
大家好!我的名字叫Sergey Kamardin。我是来自Mail.Ru的一名工程师。这篇文章将讲述我们是如何用Go语言开发一个高负荷的WebSocket服务。即使你对WebSockets熟悉但对Go语言知之甚少,我还是希望这篇文章里讲到的性能优化的思路和技术对你有所启发。 我要晨读
gf框架之并发安全容器 - gmap,以及与sync.Map的性能比较 我要晨读
百万请求一分钟,Golang 轻松来搞定 我要晨读
如何优雅的关闭Go Channel 我要晨读
Golang 变量在内存的形式 我要晨读
在 Cloudflare 的人们都非常喜欢 Go 语言。我们在许多内部软件项目以及更大的管道系统中使用它。但是,我们能否进入下一个层次并将其用作我们最喜欢的操作系统 Linux 的脚本语言呢? 我要晨读
“用不到200行 Go 代码就能实现一个自己的区块链!” 听起来有意思吗?有什么能比开发一个自己的区块链更好的学习实践方法呢?那我们就一起来实践下! 我要晨读
逃逸分析是编译器用来决定你的程序中值的位置的过程。特别地,编译器执行静态代码分析,以确定一个构造体的实例化值是否会逃逸到堆。在 Go 语言中,你没有可用的关键字或者函数,能够直接让编译器做这个决定。只能够通过你写代码的方式来作出这个决定。 我要晨读