请注意,Zanblog并不支持低于IE8的浏览器,为了获得最佳效果,请下载最新的浏览器,推荐下载 Chrome

golang随机time.sleep的Duration问题

Golang 6,497 views
碰到一个Golang time.Sleep()的问题,这golang的time.sleep的功能貌似要比python ruby都要精细些,python的等待只是time.sleep()而已,而golang可以time.Sleep(10 * time.Second) 毫秒、秒分时等不同日期来搞… 大事不干,净整些没用的…   该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新...
阅读全文 0

golang随机time.sleep的Duration问题

3-23 6,497 views

碰到一个Golang time.Sleep()的问题,这golang的time.sleep的功能貌似要比python ruby都要精细些,python的等待只是time.sleep()而已,而golang可以time.Sl...
阅读全文 0

Golang使用redigo实现redis的分布式锁

Golang 5,866 views
有些分布式场景会有分布式锁的需求,可以为了原子操作,也可能为了性能的原因,不管是分布式锁市面是有不少解决方法的,比如etcd、consul、zookeeper… 初次之外redis这样的nosql也是可以实现分布式锁的。  python党喜欢用redis、etcd、consul来搞。   java这帮人更喜欢用zookeeper来实现分布式锁,zoo...
阅读全文 0

Golang使用redigo实现redis的分布式锁

3-23 5,866 views

有些分布式场景会有分布式锁的需求,可以为了原子操作,也可能为了性能的原因,不管是分布式锁市面是有不少解决方法的,比如etcd、consul、zookeeper…...
阅读全文 0

golang使用yaml格式解析构建配置文件

Golang 6,775 views
还是那个golang监控agent那些事情,现在功能差不多了,唯独缺少信号处理及daemon服务化。 程序写的差不多了,但是这配置文件咋整? 难道把这些常亮要写在.go文件里面? 我对golang还没能理解到无缝reload的模式…  如果是写在配置文件就很简单了,有个goroutine notify监控配置文件或者是以接受信号...
阅读全文 0

golang使用yaml格式解析构建配置文件

3-20 6,775 views

还是那个golang监控agent那些事情,现在功能差不多了,唯独缺少信号处理及daemon服务化。 程序写的差不多了,但是这配置文件咋整? 难道把这些常亮要写在.g...
阅读全文 0

Golang使用pprof监控性能及GC调优

Golang 8,291 views
这两天用golang在写一个监控的agent,发现长时间运行后会有内存泄露的情况,着实让人郁闷半天… 要解决golang泄露的问题,要理解goalng gc那是事情,再就是利用pprof监视golang的运行环境。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。http://xiaorui.cc/?p=3000 ...
阅读全文 3

Golang使用pprof监控性能及GC调优

3-20 8,291 views

这两天用golang在写一个监控的agent,发现长时间运行后会有内存泄露的情况,着实让人郁闷半天… 要解决golang泄露的问题,要理解goalng gc那是事情,...
阅读全文 3

Golang利用select实现goroutine的超时控制

Golang 5,666 views
简单的说下select是干什么的? select用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的处理机制。当你发起一些阻塞的请求后,你可以使用select机制轮训扫描fd,直到被监视的文件句柄有某一个或多个发生了状态改变。  该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文...
阅读全文 1

Golang利用select实现goroutine的超时控制

3-19 5,666 views

简单的说下select是干什么的? select用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的处理机制。当你发起一些阻塞的请求后,你可以使...
阅读全文 1

关于golang regexp正则的使用方法

Golang 4,773 views
今天正好看到golang的正则模式,就针对常用的几个正则模式写个分享。 正则的基础我就不多说了,用法和原理都那么一回事。 Regexp也是兼容贪婪、非贪婪模式的匹配。  该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新 http://xiaorui.cc/?p=2982 下面是golang regexp模式的...
阅读全文 0

关于golang regexp正则的使用方法

3-16 4,773 views

今天正好看到golang的正则模式,就针对常用的几个正则模式写个分享。 正则的基础我就不多说了,用法和原理都那么一回事。 Regexp也是兼容贪婪、非贪婪模式...
阅读全文 0

使用golang log库包实现日志文件输出

Golang 7,672 views
这次聊聊golang日志模块的详细用法。golang的日志输出一般用的是标准库log库包。 话说Golang的log实现的功能跟别语言的日志没啥区别。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/?p=2972 下面是golang log库包的几个重要函数说明. ...
阅读全文 0

使用golang log库包实现日志文件输出

3-15 7,672 views

这次聊聊golang日志模块的详细用法。golang的日志输出一般用的是标准库log库包。 话说Golang的log实现的功能跟别语言的日志没啥区别。 该文章写的有些...
阅读全文 0

使用golang errors包自定义错误异常

Golang 4,806 views
发现Golang很多开源的package都是使用Error来定义错误异常,其实我自己更加的习惯利用返回的值进行判断。 虽然这么说,但Golang的error定义还是有意思的,合理就返回nil,不合理就返回Error的草错误。   该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新. http://xiaorui....
阅读全文 0

使用golang errors包自定义错误异常

3-15 4,806 views

发现Golang很多开源的package都是使用Error来定义错误异常,其实我自己更加的习惯利用返回的值进行判断。 虽然这么说,但Golang的error定义还是有意思的,...
阅读全文 0

浅谈golang reflect反射调用函数

Golang 5,343 views
Golang也是有反射概念的,其实大多数语言,尤其那种动态语言都有反射的概念和用法。 在python里getattr,globals()可以通过反射自省的模式来还原对象半身的属性和方法。 废话一句,反射是干嘛的?  通过反射我们可以还原一个对像的属性,方法。 通俗的讲,在分布式环境下,我给你传了一个json化的数据结构,但是这数...
阅读全文 0

浅谈golang reflect反射调用函数

3-14 5,343 views

Golang也是有反射概念的,其实大多数语言,尤其那种动态语言都有反射的概念和用法。 在python里getattr,globals()可以通过反射自省的模式来还原对象半身的属...
阅读全文 0

关于golang package自定义包结构

Golang 5,518 views
我想说的是,好家伙Golang的项目构建稍有些繁琐呀,用户体验来说没有python、java那么简单方便。 在Google搜索golang package自定义包方面的资料,发现搜索的结果不是很令人满意。不是说的很浅,就是说的很深,都伸到编译器层面了,蒙圈… 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地...
阅读全文 0

关于golang package自定义包结构

3-13 5,518 views

我想说的是,好家伙Golang的项目构建稍有些繁琐呀,用户体验来说没有python、java那么简单方便。 在Google搜索golang package自定义包方面的资料,发现搜索的...
阅读全文 0

golang使用priority queue实现优先级队列

Golang 4,660 views
     我们知道类似优先级队列是使用heap堆栈来实现的。 优先级队列的用途我就不多说了,一般是用来做任务权重分配的。     下面priority_queue优先级库是在github.com找到的。 看了下他的源代码实现,得知他不是线程安全的。   如果要实现数据的线程安全,需要用sync lock实现全局锁...
阅读全文 0

golang使用priority queue实现优先级队列

3-10 4,660 views

     我们知道类似优先级队列是使用heap堆栈来实现的。 优先级队列的用途我就不多说了,一般是用来做任务权重分配的。     下...
阅读全文 0

golang使用sync保证container/list链表线程安全

Golang 5,988 views
一边python,一边golang ! 时常因为工作切换语言造成了短路。container/list是golang语言内置的链表库。 对比其他语言的list,container/list该有的功能都有,就缺一个popLeft popRight方法。如果要实现pop方法需要去除value := list.Back() , 然后list.Remove(value) 。但这样不能保持操作的原子性。 解决的方法是用...
阅读全文 0

golang使用sync保证container/list链表线程安全

3-10 5,988 views

一边python,一边golang ! 时常因为工作切换语言造成了短路。container/list是golang语言内置的链表库。 对比其他语言的list,container/list该有的功能都...
阅读全文 0

解决golang开发socket服务时粘包半包bug

Golang 6,523 views
在使用golang做socket服务时,我想大多数人都会碰见粘包的问题。 以前用python做socket服务时就想写一篇关于tcp粘包的问题,后来因为单纯的tcp服务器开发功能实在烦杂,索性直接用http tornado进行通信了。 下面的资料有些是来自我个人的印象笔记,相关的参考引用链接早就找不到了。 该文章写的有些乱,欢迎来喷...
阅读全文 0

解决golang开发socket服务时粘包半包bug

3-08 6,523 views

在使用golang做socket服务时,我想大多数人都会碰见粘包的问题。 以前用python做socket服务时就想写一篇关于tcp粘包的问题,后来因为单纯的tcp服务器开发功...
阅读全文 0

golang strconv数据类型转换的用法

Golang 5,564 views
strconv是golang用来做数据类型转换的一个库。  介绍下strconv最常用的两个方法, 虽然没有解释语言那么自在可以str(int),int(string), 那还算简练。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/2016/03/08/golang-strconv%E6%95%B0%E6%8D...
阅读全文 0

golang strconv数据类型转换的用法

3-08 5,564 views

strconv是golang用来做数据类型转换的一个库。  介绍下strconv最常用的两个方法, 虽然没有解释语言那么自在可以str(int),int(string), 那还算...
阅读全文 0

关于golang timer定时器的详细用法

Golang 6,136 views
上次写了一篇关于golang crontab的用爱疯,这次说下golang timer定时器的用法。  golang的time.NewTicker创建定时任务时,是阻塞同步的。如果不想因为同步阻塞了main线程,可以给每个定时函数分配一个goroutine协程。  该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 ...
阅读全文 0

关于golang timer定时器的详细用法

3-06 6,136 views

上次写了一篇关于golang crontab的用爱疯,这次说下golang timer定时器的用法。  golang的time.NewTicker创建定时任务时,是阻塞同步的。如果不想因为...
阅读全文 0

使用golang传递变量给函数时遇到的问题

Golang 5,080 views
用python写业务代码有三四年了,忽然切换用golang写业务的时候会遇到一些奇怪的问题。这些问题不能说golang的坑,只能说自己对于go的认知还不够清晰。 我的实际场景是这样的,我从redis取出任务后,经过各种的数据会扔给Elasticsearch,原始的数据会扔给Mysql里面。但中间遇到一个问题,我在函数里扩展了...
阅读全文 0

使用golang传递变量给函数时遇到的问题

3-05 5,080 views

用python写业务代码有三四年了,忽然切换用golang写业务的时候会遇到一些奇怪的问题。这些问题不能说golang的坑,只能说自己对于go的认知还不够清晰。 ...
阅读全文 0

使用golang实现ac自动机(ahocorasick)的api接口

Golang,python 5,673 views
我们针对抓取来的页面进行关键词匹配,但是随着爬虫的量级越来越大,关键词计算有些算不过来….  数据队列已经到了100w左右….  又在多个节点上,发布了docker化的关键词匹配服务。  关键词匹配服务的服务器数量已经到了10台,里面的代码逻辑已经做到最优,相关的算法也是用的ac自动机(ahoco...
阅读全文 0

使用golang实现ac自动机(ahocorasick)的api接口

5-30 5,673 views

我们针对抓取来的页面进行关键词匹配,但是随着爬虫的量级越来越大,关键词计算有些算不过来….  数据队列已经到了100w左右….  又在...
阅读全文 0

golang利用http模块构建redis读写查api

Golang 6,954 views
前沿:         这两天试着用golang做一些高性能的api,不想把压力到聚合在平台的接口上。平台因为要做很多耗时间的操作,uwsgi下会出现少许错误,找了一圈不知道如何解决该问题。 暂时先绕道而行,先拿简单的接口来做测试,慢慢的把复杂的操作也迁移到golang上。       &nb...
阅读全文 0

golang利用http模块构建redis读写查api

10-25 6,954 views

前沿:         这两天试着用golang做一些高性能的api,不想把压力到聚合在平台的接口上。平台因为要做很多耗时间的操作,uwsgi下...
阅读全文 0

关于Golang语言的web编程的实例及常见问题

Golang 5,905 views
多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang, Erlang, Scala等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式有一个极其简洁的内核,还有在此之上丰富的外延。可以解决现实世界中各种各样的问题。 ...
阅读全文 0

关于Golang语言的web编程的实例及常见问题

10-25 5,905 views

多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang, Erlang, Scala等为并发设计的程序语言的兴起,新的...
阅读全文 0