在使用`Go`开发过程中,我们可能会经常使用定时器功能实现一些事情,对于简单的一些场景,我们可以借助`time.sleep`的方式,但是实际上这阻塞用法,会长时间占用`CPU`,当然我们也可以使用协程的方式避免主协程阻塞,然而如果我们还想做细粒度的控制,例如如果解决相邻两次任务时间重叠的问题,我们可能要花时间手动写一些编排任务列表控制的逻辑,实际上我们可以借助`robfig/cron`库,实现我们的功能。 ...
go中,make函数一般用于创建切片、映射和管道,对这三种变量使用`make`将会被替换为: - `runtime.makeslice`:创建切片,然后返回切片结构体 - `runtime.makemap`:创建映射表,然后返回映射表结构体 - `runtime.makechan`:创建管道,然后返回管道结构体 下面我们来看看这几个函数内部的源码 ...
有的时候,只是想要执行某个编程语言的某一段代码,但是电脑上又没有对应的环境,为了完成这个临时需求,我不得不花时间配置环境,然而我可能只是偶尔才使用这种语言,本次配置好了,我后面可能几乎再也用不到这种编程环境了,因此我需要将这种环境删除。 等下次又有新的其他需求,我又不得不重新走一遍流程…… 秉持偷懒原则,我打算花点时间,自己做一个【代码沙箱平台】,顺便部署出来,供有需要的同学使用。 ...
在之前的文章[【公钥密码算法之RSA】](https://www.yalexin.top/blog/blog/110)中介绍了`RSA`加密的原理,但是讲得比较偏向于底层数学,没有向大家演示过如何使用高级语言进行加密解密,也没有介绍在实际过程使用该方式加密数据存在的一些问题,本文为此做出补充。 ...