关于Go测试的方法以及建议

单元测试在一定意义上能够保证代码的质量,用以衡量软件工程的质量,帮助我们规避重构的风险。

每一个单元测试代表着一个业务逻辑,修改代码后,运行单元测试,就能帮助我们确定新代码会不会影响已有的业务逻辑,可以降低线上的风险和测试的问题。

阅读全文

MySQL执行计划explain详解

转载至:Mysql执行计划explain图解

阅读全文

科学需要谨慎,知识需要校验

文中有感于卓老板聊科技,以及科学思维课上所提到的科学指导性知识,常年听知识,有时间可将其收纳起来,做成思维导图形式的东西,方便自己,同时也分享出来。

希望在田野,科学在人间。

为什么夜间电价减半?

阅读全文

bufio-缓存IO,读取一行的数据

bufio 包实现了缓存IO。它包装了 io.Reader 和 io.Writer 对象,创建了另外的Reader和Writer对象,它们也实现了 io.Reader 和 io.Writer 接口,不过它们是有缓存的。

ReadLine可以读取单独的行,一般读文件的时候,我就使用它,但由于缓存的问题,造成使用上出了些问题。

阅读全文

go写excel xlsx文件

go操作excel表,需要使用到库,xlsx

操作应该来说比较简单。

阅读全文

使用unsafe pointer引发GC错误

stringSlice转换——无需内存copy,这是之前写过的一篇文章,可以将结构体,byte,string以指针这种形式达到转换的作用,效率非常高效,可以说是黑魔法

而问题也就是出现在这里了。在使用过程中,我出现了sweep increased allocation count错误。

阅读全文

12306抢票,极限并发带来的思考?

转载自:https://github.com/GuoZhaoran/spikeSystem

12306抢票,极限并发带来的思考?

每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无W票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构,学习到了其系统设计上很多亮点,在这里和大家分享一下并模拟一个例子:如何在100万人同时抢1万张火车票时,系统提供正常、稳定的服务。

阅读全文

查看linux当前shell

1.查看当前正在使用的shell

1
echo $SHELL

阅读全文

Linux nohup

nohup 和 &

&的意思是在后台运行, 什么意思呢? 意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C, 那么a.out照样运行(因为对SIGINT信号免疫)。 但是要注意, 如果你直接关掉shell后, 那么, a.out进程同样消失。 可见, &的后台并不硬(因为对SIGHUP信号不免疫)。

阅读全文