摘要: 在Docker容器运行后,可能会发现容器时间与宿主机时间不一致,一般会差8个小时。这样会造成在容器中运行的web程序打出的日志时间与实际时间不一致,如果web程序中有定时任务也会造成影响等,需要对宿主机和容器进行时间同步。 #宿主机时间:[root@localhost ~]# date2017年 1 阅读全文
posted @ 2019-03-01 09:18 __Miracle 阅读(3276) 评论(0) 推荐(0) 编辑
摘要: Go:表驱动单元测试 单元测试相当的重要,这几天实习由于单元测试没写好所以被骂了emmm 痛定思痛,立刻上网学习了一下,总算达到了预期的效果,所以写一篇文章记录一下 首先安装gotests $go get -u github.com/cweill/gotests/... 然后记得添加到PATH里面 阅读全文
posted @ 2019-02-24 14:47 __Miracle 阅读(249) 评论(0) 推荐(0) 编辑
摘要: Nsq服务端简介 在使用Nsq服务之前,还是有必要了解一下Nsq的几个核心组件整个Nsq服务包含三个主要部分 nsqlookupd 先看看官方的原话是怎么说:nsqlookupd是守护进程负责管理拓扑信息。客户端通过查询 nsqlookupd 来发现指定话题(topic)的生产者,并且 nsqd 节 阅读全文
posted @ 2019-02-12 17:06 __Miracle 阅读(1537) 评论(0) 推荐(0) 编辑
摘要: go只提供了一种循环方式,即for循环,在使用时可以像c那样使用,也可以通过for range方式遍历容器类型如数组、切片和映射。但是在使用for range时,如果使用不当,就会出现一些问题,导致程序运行行为不如预期。比如,下面的示例程序将遍历一个切片,并将切片的值当成映射的键和值存入,切片类型是 阅读全文
posted @ 2018-12-18 12:18 __Miracle 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 先看代码: 如果这样子是会报错的 报错如下: 说在抢占数据 这就很奇怪了 明明加上了的锁的? 经过百般折磨,终于弄清了问题所在 !!!划重点! 并不是锁失效,出现这个的原因是,for里面的i变量每次循环都是同一个,所以其实并不是两个routine在抢资源,而是因为routine里面对i进行了操作 然 阅读全文
posted @ 2018-12-03 15:37 __Miracle 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 遇到的问题:用Slice 直接截取字符串的时候会出现乱码现象 解决方法: 经过百度在网上找的了rune这个鬼;rune 是golang内置的类型,底层类型是int32。而byte类型底层是int8, 从而决定了rune能从byte表达更多的数。 rune 详情请参考 浅析rune,byte pack 阅读全文
posted @ 2018-12-02 11:17 __Miracle 阅读(537) 评论(0) 推荐(0) 编辑
摘要: python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程。无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态。使用协程可以实现高效的并发任务。Python的在3.4中引入了协程的概念,可是这个还是以生成器对象 阅读全文
posted @ 2018-11-23 20:08 __Miracle 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 这样子是显然没啥问题的,总共耗时约为6秒 但是有没有办法更进一步优化呢,这里如果需要优化我们首先需要知道一个知识点 就是requests这个模块它底层其实是封装了urllib2和urllib3的 阅读全文
posted @ 2018-11-22 23:29 __Miracle 阅读(588) 评论(0) 推荐(0) 编辑
摘要: subprocess.stdout.read()导致程序死锁的问题解决 今天有位老哥联系我说,在我的python之路系列中,解决粘包问题那一章的代码有BUG 这里当运行命令过于庞大的时候,会导致程序直接卡死在这里,我自己试试了下,确实有这个问题。 但是到底是为什么呢,前前后后想了好久,没找到答案,后 阅读全文
posted @ 2018-11-17 20:31 __Miracle 阅读(5188) 评论(0) 推荐(0) 编辑