goroutine是golang的一大特色,或者可以说是最大的特色吧(据我了解),这篇文章主要翻译自Morsing的[这篇博客](http://morsmachine.dk/go-scheduler),我读这篇文章的时候不只是赞叹调度器设计的精巧,而且被Unix内核设计思想的影响和辐射所震撼,感觉好多好东西都带着它的影子。 我要晨读
先说好,我并不认为go是世界上最好的语言!但是我觉得至今用着最爽觉得最牛逼的编译型语言(逃。。。) 我要晨读
在用 goreman 管理整个 TiDB 集群的时候,我发现 goreman 的 run stop 功能并不能正常的干掉 TiDB 组件,开始我觉得是我们自己代码的没有,没有很好的处理相关信号,但后来发现,TiDB 这边是压根没有收到信号,所以问题铁定在其他的地方,于是浏览下 goreman 的源码,发现使用的是 /bin/sh -c 的方式来启动的 TiDB 程序,可能就跟这个有关系。 我要晨读
Apache JMeter™应用程序是开源软件,100%的纯Java应用程序,旨在加载测试功能行为和测量性能。它最初设计用于测试Web应用程序,但已经扩展了其他测试功能。 我要晨读
在前天的VAC大规模封禁中,有不少Linux平台的作弊玩家也迎来了“迟到”的VAC封禁。 一直以来,Linux就是VAC封禁的法外之地。虽然大部分玩家都使用Windows平台进行游戏。但实际上,使用Linux畅玩CS:GO的玩家也不在少数 我要晨读
主要利用redis的brpop阻塞读和Golang的goroutine并发控制以及os/exec执行程序,实现队列有数据就立即执行对应程序并把结果set任务key。 我要晨读
团队是B站主站技术,位于上海的狂热Gopher 之前一直使用zookeeper作为服务注册发现中间件,但由于zookeeper: Java系,在我们这群基佬Gopher看来太重、维护不动、无法二次开发 CP系统,对于微服务的服务注册发现,其实不如一套AP系统更可用 运维小锅锅们大力推进业务向k8s的迁移,zk无法满足迭代需求 也考虑过直接使用现有的如consul、etcd,但: consul一直被运维小锅用于nginx+upsync,坑多让我们慎用 etcd相对来说是k8s体系,非常合适,但 我要晨读
可以看到,今年谷歌家的 Go 编程语言流行度有着惊人的上升趋势,其发展也是越来越好,因此本文整理了一些优秀的 Go 存储相关开源项目和库,一起分享,一起学习。 我要晨读
Golang websocket实时消息推送 在这里我记录一下之前如何实现服务器端与客户端实时通信: 我要晨读
我们在Twitch使用Go研发了许多高并发的系统。它的简单性,安全性,性能和可读性使其成为解决我们遇到问题的一个很好的工具,我们向数百万用户提供实况视频和聊天服务。 我要晨读
如果我们观察 2017 年技术行业,容器和 Docker 依然将是最热门的流行语。我们开始在每个领域的 Docker 容器中打包开发的软件。从小型初创公司到巨大的微服务平台都在使用容器技术。从 CI 平台到 Raspberry Pi 。从数据库到…… 我要晨读
如果你已经开始与概念点不停的斗争,那么我需要警告你,从现在开始会变得越来越难。解析可能是你脑袋里已有的概念中最难的部分。我们将处理扫描器发现的词素,给它们提供一个含义,并且在 AST 中保存结果对象。 在继续前行前确保你已经理解了前面的资料。 我要晨读
Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是“高频+刚需”,而TCP socket则是网络编程的主流,即便您没有直接使用到net中有关TCP Socket方面的接口,但net/http总是用到了吧,http底层依旧是用tcp socket实现的 我要晨读
Go 解决"Connection reset by peer"或"EOF"问题 我要晨读
Robotgo v0.40.0对鼠标键盘操作进行了大幅度的完善,由于跨平台切换测试麻烦(合并几个平台的代码到对比上传代码都浪费了不少时间)和C代码生产效率与Go和JavaScript不在一个级别上,没有支持窗口和进程对应窗口的选择和Bounds,将在下一个版本完善,键盘操作可能在某些输入法上有些问题请切换到系统输入法(目前优先完成窗口句柄的问题,后面会解决该问题). 我要晨读
之前看到这篇golang并发编程的两种限速方法,觉得 sleep 等待的方式不是特别好,唤醒线程的时间比较长。而且1s内的请求只能均匀的到来,如瞬间来 N 个, 那么只有一个能立刻返回,剩下的只能等待。 我要晨读
很多年以前,当我第一次接触到ORM的时候,我就有一点疑惑:这玩意用起来倒是方便,就是模型结构得一个字段一个字段的写,非常枯燥也非常累人,而且如果表结构修改了,比如增加、减少或者修改了一个字段,就得修改模型文件。那个时候也没有想到可以从数据库中读取到目标表的表结构数据自动生成ORM需要的模型结构。直到有一天我看到一个根据模板自动生成ORM的模型文件的代码,然后我就用golang也写了这么一个玩意。完整的代码在这里。 我要晨读
Golang使用os.Exit(code)进程退出导致当前程序退出并返回给定的状态代码。传统上,code代码为零表示成功退出,非零错误退出。 我要晨读
因项目需要使用ECB模式下的3DES算法加解密信息,golang默认只提供CBC模式,只能自己实现ECB模式。 参考https://segmentfault.com/a/11...,文章对ECB模式的DES有解释,并实现了部分DES算法样例。这里把算法补全,提供3DES算法实现。 我要晨读
为什么 访问 localhost:9090 就能打印出 Hello world 呢?这背后究竟发生了呢?下面我们就一层一层揭开这个面纱! 1 追踪 http.HandFunc函数,发现它调用了 我要晨读