最新 | 最热门 | 最高评价

+0  Go泛型提案

Tag: Go
鸟窝 发于 2016年06月15日 10:43 | 点击: 455 | 展开摘要
Go泛型特性已经被讨论了多次了1, Andrew Gerrand现在把这个提案加入到了Go的issue列表中2,并标记为Go2标签。当然这不代表着要将泛型加入到Go中,而是演示一个完整的提案应该是什么样子。

以下是提案的内容:

Proposal: Go should have generics

Author: Ian Lance Taylor

Created: January 2011

Last updated: April 2016

Discussion at

查看全文: http://www.udpwork.com/item/15403.html

+0  使用Golang实现Futures 和 Promises

Tag: Go
鸟窝 发于 2016年06月15日 10:43 | 点击: 487 | 展开摘要
其它语言中Future和Promise的概念大量存在, 比如Node.js、Scala、Java、C#、C++ 11、Scheme、Swift等,可以方便的实现异步执行和回调。但是在Go语言的世界里,我们是通过goroutine/channel实现这种类似的功能呢,goroutine之间可以通过channel进行通讯, 但是,如果我们还是想使用Future/Promise的功能的话,该如何实现呢?

Future,Promise或Delay是用于并发编程的一种设计模式。它们表

查看全文: http://www.udpwork.com/item/15402.html

+0  谁是最快的Go Web框架

Tag: Go
鸟窝 发于 2016年06月15日 10:43 | 点击: 3804 | 展开摘要
前几天我写了一篇文章: 超全的Go Http路由框架性能比较,利用Julien Schmidt实现的benchmark测试框架对几乎所有的go web框架的路由功能进行了比较。我本来以为对Go web框架的性能考察就告以段落了,直到我写了一段简单的代码测试Irsi,用来模拟实际产品中的处理,才发现了Julien Schmidt测试框架的问题。

这段代码是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2

查看全文: http://www.udpwork.com/item/15383.html

+0  [转]Golang自动生成版本信息

Tag: Go
鸟窝 发于 2016年06月15日 10:43 | 点击: 678 | 展开摘要
原文: Golang自动生成版本信息

需求

golang程序在build时自动生成版本信息,使用 ./helloworld –version可以查看版本和build时间

实现原理

使用链接选项-X设置一个二进制文件中可以访问的变量

实例1:

1
2
3
4
5
6
7
8

package main
import "fmt"

var Version = "No Version Provided"

func main() {
fmt.Println(

查看全文: http://www.udpwork.com/item/15382.html

+0  网站升级日志0525

Tag: First Category
s5s5 发于 2016年06月08日 14:56 | 点击: 418 | 展开摘要
原来这篇文章的草稿 5 月 25 日就有了,那么标题就不改了,最近因为在使用 HTTPS 后,网站速度太慢,想想我也是拥护热爱我党我国,所以就把网站又迁回国内,当然更要使用 腾讯云 ,内部有个 8 折优惠,一年下来 400 多,和用 5 刀一月的 VPS 差不多,而且速度快,帮你备案,更可以体验业务,吃自己的狗粮(现在我又在跟腾讯云的业务啦~~~大家快来买啊,哈哈哈~~~)……大家如果要买的话,点此链接,我也可以收到一点返利,呵呵。

迁移腾讯云

迁移其实蛮简单的,好像买了

查看全文: http://www.udpwork.com/item/15547.html

+0  GFWListToSurgeRule.js

Tag: First Category
s5s5 发于 2016年06月02日 12:29 | 点击: 500 | 展开摘要
之前做的一个小工具,转 GFWList 为 Surge Rule 。访问时会去 GFWList 拉最新的,然后转化。做了本地缓存,如果二次访问不超过 6 小时,直接用缓存的。

使用地址

http://s5s5.github.io/GFWListToSurgeRule.js/

使用说明:

不建议再用 GEOIP ,同时 FINAL 用 DIRECT,因为已经精确把该代理的都代理了。

问过作者得知四千条规则在性能上不存在问题。

源码

https://github.c

查看全文: http://www.udpwork.com/item/15534.html

+0  HTTPS站引用腾讯公益404

Tag: First Category
s5s5 发于 2016年04月20日 16:35 | 点击: 495 | 展开摘要
腾讯公益404 并不支持 HTTPS 站点的引用,为了公益事业研究了下,发现只要拉到 http://qzone.qq.com/gy/404/data.js 数据即可,但 HTTPS 站是不能直接拉非安全协议内容,所以还要在自己网站上用一个 PHP 做中转,如下:

<?php
header('Content-type: text/javascript');
$filename = 'data.js';
clearstatcache();
$lastTime = file

查看全文: http://www.udpwork.com/item/15424.html

+0  iris 真的是最快的Golang 路由框架吗?

Tag: Go
鸟窝 发于 2016年04月06日 09:18 | 点击: 822 | 展开摘要
依照我的前一篇文章(超全的Go Http路由框架性能比较)对各种Go http路由框架的比较, Iris明显胜出,它的性能远远超过其它Golang http路由框架。

但是,在真实的环境中,Iris真的就是最快的Golang http路由框架吗?

2016-04-05 更新: 我已经提交了一个Bug, 作者Makis已经做了一个临时的解决方案,性能已经恢复,所以准备使用Iris的读者不必担心。
根据我的测试,最新的Iris的测试如下:

在业务逻辑需要10毫秒时,吞吐率可

查看全文: http://www.udpwork.com/item/15367.html

+0  如何得到goroutine 的 id?

Tag: Go
鸟窝 发于 2016年04月01日 14:56 | 点击: 555 | 展开摘要
使用Java的时候很容易得到线程的名字, 比如"Thread.currentThread().getName",这样就可以进行一些监控操作或者设置线程相关的一些数据。当转向Golang开发的时候,却发现Go语言并没有提供获取当前goroutine id的操作。这是Golang的开发者故意为之,避免开发者滥用goroutine id实现goroutine local storage (类似java的"thread-local" stora

查看全文: http://www.udpwork.com/item/15366.html

+0  Blog支持HTTPS和HTTPV2了

Tag: Uncategorized
kxn 发于 2016年04月01日 12:56 | 点击: 447 | 展开摘要
如题,感谢 Letsencrypt 给人民群众提供免费 ssl 证书,感谢 nginx 加入 httpv2 支持。感谢党的备案政策让我下定决心把 blog 迁移到国外。

查看全文: http://www.udpwork.com/item/15365.html

+0  超全的Go Http路由框架性能比较

Tag: Go
鸟窝 发于 2016年03月28日 10:00 | 点击: 708 | 展开摘要
使用Go开发Web应用非常方便,它自己的路由器default request multiplexer超级简单,但是功能也有限,所幸net/http库的设计非常好,很容易实现自己定义的路由器,所以你如果在github搜一下,会找到很多的第三方的路由库。

但是这些路由库良莠不齐,尤其是早期实现的路由器,有些实现了很差的路由算法,有些没有仔细考虑内存的分配,导致垃圾回收的问题。

Julien Schmidt在实现HttpRouter库的时候将测试代码抽象出一个测试框架,用来测试

查看全文: http://www.udpwork.com/item/15347.html

+0  Golang序列化框架对决 - 为什么andyleap/gencode那么快?

Tag: Go
鸟窝 发于 2016年03月16日 16:56 | 点击: 555 | 展开摘要
我在github上创建了一个Go语言序列化/反序列化库的性能比较的项目gosercomp,用来比较常见的Go语言生态圈的序列化库。
性能是以Go官方库提供的JSON/XML序列化库为基准,比较一下第三库能带来多大的性能提升。
尽管一些第三方库会自动产生Struct的代码,我们还是都以下面的数据结构为例:

1
2
3
4
5

type ColorGroup struct {
Id int `json:"id" xml:"id,attr" msg:"id"

查看全文: http://www.udpwork.com/item/15334.html
|<<<3456789>>>| 一共48页, 573条记录