文中有感于卓老板聊科技,以及科学思维课上所提到的科学指导性知识,常年听知识,有时间可将其收纳起来,做成思维导图形式的东西,方便自己,同时也分享出来。
希望在田野,科学在人间。
bufio 包实现了缓存IO。它包装了 io.Reader 和 io.Writer 对象,创建了另外的Reader和Writer对象,它们也实现了 io.Reader 和 io.Writer 接口,不过它们是有缓存的。
ReadLine
可以读取单独的行,一般读文件的时候,我就使用它,但由于缓存的问题,造成使用上出了些问题。
stringSlice转换——无需内存copy,这是之前写过的一篇文章,可以将结构体,byte,string以指针这种形式达到转换的作用,效率非常高效,可以说是黑魔法
。
而问题也就是出现在这里了。在使用过程中,我出现了sweep increased allocation count
错误。
每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无W票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构,学习到了其系统设计上很多亮点,在这里和大家分享一下并模拟一个例子:如何在100万人同时抢1万张火车票时,系统提供正常、稳定的服务。
nohup 和 &
&
的意思是在后台运行, 什么意思呢? 意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C, 那么a.out照样运行(因为对SIGINT信号免疫)。 但是要注意, 如果你直接关掉shell后, 那么, a.out进程同样消失。 可见, &
的后台并不硬(因为对SIGHUP信号不免疫)。
不同的压缩包,就需要不同tar
解压参数。当然这都是以前的蛮荒时代,是时候觉醒了。
从1.15版本开始tar就可以自动识别压缩的格式,故不需人为区分压缩格式就能正确解压。
1 | tar -xvf filename.tar.gz |