godailylib 关于godailylib:Go中调用外部命令的几种姿势 在工作中,我时不时地会须要在Go中调用外部命令。前段时间我做了一个工具,在钉钉群中增加了一个机器人,@这个机器人能够让它执行一些写好的脚本程序实现指定…
godailylib 关于godailylib:Go-每日一库之-roaring 汇合是软件中的根本形象。实现汇合的办法有很多,例如 hash set、tree等。要实现一个整数汇合,位图(bitmap,也称为 bitset 位汇合,bitvector 位向量)是个…
godailylib 关于godailylib:Go-每日一库之-bitset 咱们都晓得计算机是基于二进制的,位运算是计算机的根底运算。位运算的劣势很显著,CPU 指令原生反对、速度快。基于位运算的位汇合在无限的场景中替换汇合数…
godailylib 关于godailylib:Go-每日一库之-testing testing是 Go 语言规范库自带的测试库。在 Go 语言中编写测试很简略,只须要遵循 Go 测试的几个约定,与编写失常的 Go 代码没有什么区别。Go 语言中有 3 种类型的测试:单元测试,性能测试,示例测试。上面顺次来介绍。
godailylib 关于godailylib:Go-每日一库之-gorillasessions 上一篇文章《Go 每日一库之 securecookie》中,咱们介绍了 cookie。同时提到 cookie 有两个毛病,一是数据不宜过大,二是平安问题。session 是服务器端的存储计划,能够存储大量的数据,而且不须要向客户端传输,从而解决了这两个问题。然而 session 须要一个能惟一标识用户的 ID,这个 ID 个别寄存在 cookie 中发送到客…
godailylib 关于godailylib:Go-每日一库之-nethttp基础和中间件 简直所有的编程语言都以Hello World作为入门程序的示例,其中有一部分以编写一个 Web 服务器作为实战案例的开始。每种编程语言都有很多用于编写 Web 服务器的库,或以规范库,或通过第三方库的形式提供。Go 语言也不例外。本文及后续的文章就去摸索 Go 语言中的各个Web 编程框架,它们的根本应用,浏览它们的源码,比拟…
godailylib 关于godailylib:Go-每日一库之-bubbletea bubbletea是一个简略、玲珑、能够十分不便地用来编写 TUI(terminal User Interface,控制台界面程序)程序的框架。内置简略的事件处理机制,能够对外部事件做出响应,如键盘按键。一起来看下吧。先看看bubbletea能做出什么成果:
godailylib 关于godailylib:为-tunny-提交的一次-PR 上周我写了一篇文章Go 每日一库之 ants,深刻分析了ants这个 goroutine 池的实现。在重复浏览了多遍panjf2000对于ants的起源的文章——GMP 并发调度器深度解析之手撸一个高性能 goroutine pool,我感觉播种满满。这篇文章对于了解 Go 的 goroutine 并发机制有很大的参考价值,强烈建议一读。而后我花了几个小时工夫具体阅…
godailylib 关于godailylib:Go-每日一库之-tunny 之前写过一篇文章介绍了ants这个 goroutine 池实现。过后在网上查看相干材料的时候,发现了另外一个实现tunny。趁着工夫相近,正好钻研一番。也好比拟一下这两个库。那就让咱们开始吧。
godailylib 关于godailylib:Go-每日一库之-ants 解决大量并发是 Go 语言的一大劣势。语言内置了不便的并发语法,能够十分不便的创立很多个轻量级的 goroutine 并发解决工作。相比于创立多个线程,goroutine 更轻量、资源占用更少、切换速度更快、无线程上下文切换开销更少。然而受限于资源总量,零碎中可能创立的 goroutine 数量也是受限的。默认每个 goroutine 占用 8…