最新 | 最热门 | 最高评价

+0  Go语言中实现基于 event-loop 网络处理

Tag: Go
鸟窝 发于 2017年11月29日 17:33 | 点击: 622 | 展开摘要
我们知道, Go语言为并发编程提供了简洁的编程方式, 你可以以"同步"的编程风格来并发执行代码, 比如使用go关键字新开一个goroutine。 对于网络编程,Go标准库和运行时内部采用 epoll/kqueue/IoCompletionPort来实现基于 event-loop的网络异步处理,但是通过netpoll的方式对外提供同步的访问。具体代码可以参考 runtime/netpoll、net和internal/poll。

Package poll s

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

+0  [译]Go TCP Socket的实现

Tag: Go
鸟窝 发于 2017年11月29日 12:01 | 点击: 595 | 展开摘要
原文: TCP Socket Implementation On Golang by Gian Giovani.

译者注: 作者并没有从源代码级别去分析Go socket的实现,而是利用strace工具来反推Go Socket的行为。这一方法可以扩展我们分析代码的手段。
源代码级别的分析可以看其实现: net poll,以及一些分析文章:The Go netpoller, The Go netpoller and timeout

Go语言是我写web程序的首选, 它隐藏了

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

+0  Go 1.10 的pprof的工具将直接支持火焰图

Tag: Go
鸟窝 发于 2017年11月22日 14:37 | 点击: 648 | 展开摘要
google/pprof是一个性能可视化和分析工具,由Google的工程师开发。虽然自称不是Google官方的工具,但是项目挂在google的team下,而且还在Google其它项目中得到应用,是非常好的一个性能剖析工具。

go tool pprof 复制了一份google/pprof的代码, 封装了一个golang的工具,用来分析Go pprof包产生的剖析数据,也就是最终数据的处理和分析还是通过gogole/pprof来实现的。

这样,你至少就用两种方式来分析Go程序

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

+0  参加老罗手机发布会

Tag: First Category
s5s5 发于 2017年11月08日 16:29 | 点击: 1012 | 展开摘要
昨晚参加了老罗的手机发布会(锤子科技 2017 秋季新品发布会),非常开心,坚果 Pro 2 真是目前千元机里最好的机器了,可惜 5 月才买 坚果 Pro,老婆不同意换手机,只能期待明年老罗的手机了。净化器老婆也不同意,因为家里有台小米的……

人太多,竟然一进去手机就没信号了,我也是醉

带了瓶水,但过不了安检,只能丢了

还好没喝水,四个多小时不尿尿也是蛮憋的

场馆可以多布置一些电视吧,我坐二楼,基本看不清老罗的脸,山上的朋友可能只能看到 PPT 吧

大家都蛮激动了,

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

+0  LeetCode付费题目(一)

Tag: Algorithm & Data Structure | LeetCode
四火 发于 2017年11月07日 03:30 | 点击: 953 | 展开摘要
LeetCode 300题以内需要付费才能查看的所有题目解答。

156

Binary Tree Upside Down

157

Read N Characters Given Read4

158

Read N Characters Given Read4 II – Call multiple times

159

Longest Substring with At Most Two Distinct Characters

161

One Edit

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

+0  Go语言、Docker 和新技术

Tag: Go 语言 | 编程语言 | Docker | Go | golang
陈皓 发于 2017年10月30日 09:24 | 点击: 109 | 展开摘要
上个月,作为 Go 语言的三位创始人之一,Unix 老牌黑客罗勃·派克(Rob Pike)在新文章“Go: Ten years and climbing”中,回顾了一下 Go 语言的发展过程。其中提到,Go 语言这十年的迅猛发展大到连他们自己都没有想到,并且还成为了云计算领域中新一代的开发语言。还提到了,中国程序员对 Go 语言的热爱完全超出了他们的想象,甚至他们都不敢相信是真的。

这让我想起,我在 2015 年 5 月份拜访 Docker 公司在湾区的总部时,Docker

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

+0  联通老卡换腾讯大王卡

Tag: First Category
s5s5 发于 2017年10月27日 18:36 | 点击: 929 | 展开摘要
网上看新闻说联通老用户可以换互联网套餐了,于是就也想把76块的套餐换成腾讯大王卡,这个卡爽啊,腾讯系全免流,现在升级到一块钱可以买一G日流量,哈哈哈~~~

结果第一次打10010,客服直接说办不了,得用新卡。直接按网上攻略说:知道你换不了,你记录一下上报,叫专人来联系我就好了……

然后真有人打电话来了,又说我已经有大王卡,再申请老卡换大王卡,不行!

当时我就生气了!我非要老卡也换成大王卡,和客服僵持不下,又能挂机。当时已过晚上6点,打10015只能留言投诉了!

第二天

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

+0  GOMAXPROCS需要设置吗?

Tag: Go
鸟窝 发于 2017年10月11日 15:41 | 点击: 670 | 展开摘要
自 Go 1.5开始, Go的GOMAXPROCS默认值已经设置为 CPU的核数, 这允许我们的Go程序充分使用机器的每一个CPU,最大程度的提高我们程序的并发性能, 而且,在大部分情况下, 我们并不会去设置这个参数。因为默认值已经足够好了, 以至于fasthttp的作者valyala提议禁止runtime.GOMAXPROCS设置这个数值, 对于所有的case, GOMAXPROCS默认值是否是最好的值呢?

badger的作者Manish Rai Jain就遇到了这样一个

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

+0  badger 一个高性能的LSM K/V store

Tag: Go
鸟窝 发于 2017年10月11日 12:17 | 点击: 639 | 展开摘要
大家好,给大家介绍一下, 新晋的高性能的 K/V数据库: badger。

这是 dgraph.io开发的一款基于 log structured merge (LSM) tree 的 key-value 本地数据库, 使用 Go 开发。

事实上,市面上已经有一些知名的基于LSM tree的k/v数据库, 比如 leveldb、goleveldb、rocksdb、boltdb, 可是为什么还要创造新的轮子呢。我们不妨从LSM说起。

LSM Tree

Log-structu

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

+0  再谈谈获取 goroutine id 的方法

Tag: Go
鸟窝 发于 2017年09月30日 22:15 | 点击: 1683 | 展开摘要
去年年初的时候曾经写过一篇关于如何获取goroutine id的方法: 如何得到goroutine 的 id?, 当时调研了一些一些获取goid的方法。基本的方法有三种:

通过Stack信息解析出ID

通过汇编获取runtime·getg方法的调用结果

直接修改运行时的代码,export一个可以外部调用的GoID()方法

每个方式都有些问题, #1比较慢, #2因为是hack的方式(Go team并不想暴露go id的信息), 针对不同的Go版本中需要特殊的hack手

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

+0  使用 Go 和 Let's Encrypt 快速配置HTTPS加密

Tag: go
鸟窝 发于 2017年09月30日 17:04 | 点击: 813 | 展开摘要
Let's Encrypt 在2015年秋季推出了免费的数字证书认证计划,旨在消除当前手动创建和安装证书的复杂性,并推广加密的万维网服务,为安全网站提供免费的SSL/TLS证书。
Let's Encrypt 是由互联网安全研究小组(ISRG,一个公益组织)提供的服务。主要赞助商包括电子前哨基金会,Mozilla基金会,Akamai以及思科。2015年4月9日,ISRG与Linux基金会宣布合作。

用以实现这一新的数字证书认证机构的协议被称为自动证书管理环境(

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

+0  [译]使用 bcc/BPF 分析 go 程序

Tag: bbc | trace | Go | 工具
鸟窝 发于 2017年09月22日 18:11 | 点击: 672 | 展开摘要
BCC 是基于 BPF 的 Linux IO 分析、监控、网络工具集合。BPF Compiler Collection (BCC) 是创建高效内核追踪和处理程序的工具包,包含几个有用的工具和用例。BCC 扩展了 BPF (Berkeley Packet Filters) 的用途,BPF 之前被称为 eBPF,是 Linux 3.15 新增的一个新特性。BCC 大部分的功能都要求 Linux 4.1+。

本文翻译自性能分析大牛Brendan Gregg的 2017年中旬的一篇

查看全文: http://www.udpwork.com/item/16429.html
|<<<1234567>>>| 一共52页, 616条记录