[返回] [最新] [最热门] [最高评价]

[转][译]Go 终极指南:编写一个 Go 工具

原文: https://arslan.io/2017/09/14/the-ultimate-guide-to-writing-a-go-tool/
作者:Fatih Arslan
译文:http://oopsguy.com/2017/10/27/the-ultimate-guide-to-writing-a-go-tool/
译者:oopsguy.com

我之前编写过一个叫 gomodifyta
...

鸟窝 2017-12-12 15:53 | 查看: 93

使用Go 机器学习库来进行数据分析 3 (平均感知器)

这一次,我们使用平均感知器(Average Perceptron)算法来预测美国国会的投票。

1984美国国会投票记录数据集

这一次,我们使用1984美国国会的投票记录来预测一下投票结果。

数据集针对不同的投票议题分为了16类, 记录了民主党和共和党议员们得投票结果。

格式如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

v16,v1,v2,v3,v4,v5
...

鸟窝 2017-12-07 19:36 | 查看: 238

使用Go 机器学习库来进行数据分析 2 (决策树)

这篇文章, 继续使用golearn库分析鸢尾花的数据集。 这一次,我们会使用决策树和随机森林来分析。

决策树和随机森林

决策树是机器学习中最接近人类思考问题的过程的一种算法,通过若干个节点,对特征进行提问并分类(可以是二分类也可以使多分类),直至最后生成叶节点(也就是只剩下一种属性)。

每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类。每个决策树可以依靠对源数据库
...

鸟窝 2017-12-07 19:07 | 查看: 239

使用Go 机器学习库来进行数据分析 1 (kNN)

这个系列的文章是介绍如何使用Go语言来进行数据分析和机器学习。

Go机器学习的库目前还不是很多,功能海没有Python的丰富,希望在未来的几年里能有更多的功能丰富库面试。

这篇文章利用golearn库, 使用kNN方法来对Iris数据集进行分析。

Iris数据集

Iris数据集也称为鸢尾花数据集,或者叫做费雪鸢尾花卉数据集或者安德森鸢尾花卉数据集。是一类多重变量分析的数据集。它最初是埃德加
...

鸟窝 2017-12-07 18:25 | 查看: 317

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

我们知道, Go语言为并发编程提供了简洁的编程方式, 你可以以"同步"的编程风格来并发执行代码, 比如使用go关键字新开一个goroutine。 对于网络编程,Go标准库和运行时内部采用 epoll/kqueue/IoCompletionPort来实现基于 event-loop的网络异步处理,但是通过netpoll的方式对外提供同步的访问。具体代码可以参考 runtime/ne
...

鸟窝 2017-11-29 17:33 | 查看: 442

[译]Go TCP Socket的实现

原文: TCP Socket Implementation On Golang by Gian Giovani.

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

鸟窝 2017-11-29 12:01 | 查看: 424

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

google/pprof是一个性能可视化和分析工具,由Google的工程师开发。虽然自称不是Google官方的工具,但是项目挂在google的team下,而且还在Google其它项目中得到应用,是非常好的一个性能剖析工具。

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

鸟窝 2017-11-22 14:37 | 查看: 473

Kafka的复制机制

最近在设计一个多分区多副本的消息系统,以前对kafka有一些了解,在阅读了阿里的RocketMQ、小米的Pegasus等分布式系统后,再仔细阅读的kafka的复制设计,整理出本篇文档,可以和其它系统做一个对比。

Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

高吞吐量:
...

鸟窝 2017-11-03 10:21 | 查看: 702

如何整个替换git master分支?

最近需要将一个项目的master分支用另一个分支完全替换, 查找了相关资料,最后追溯到stackoverflow上的一个提问: How to replace master branch in git, entirely, from another branch?。

网友给出了两种方案。

假设需要将seotweaks分支替换成master。

1、

1
2
3
4

git checkout
...

鸟窝 2017-10-24 14:45 | 查看: 283

[译] Kafka 存储的工作机制

翻译自 Kafka/Confluent 公司的工程师 Travis Jeffery 的文章: How Kafka’s Storage Internals Work。

通过本文我会帮助你理解Kafka是如何存储它的数据的。
对于调优Kafka的性能以及了解broker配置实际是干什么的, 了解Kafka的存储很有用。 我受Kafka的简单性的启发, 用我所学开始实现一个Go的Kafka: jock
...

鸟窝 2017-10-12 19:40 | 查看: 752

GOMAXPROCS需要设置吗?

自 Go 1.5开始, Go的GOMAXPROCS默认值已经设置为 CPU的核数, 这允许我们的Go程序充分使用机器的每一个CPU,最大程度的提高我们程序的并发性能, 而且,在大部分情况下, 我们并不会去设置这个参数。因为默认值已经足够好了, 以至于fasthttp的作者valyala提议禁止runtime.GOMAXPROCS设置这个数值, 对于所有的case, GOMAXPROCS默认值是否是
...

鸟窝 2017-10-11 15:41 | 查看: 530

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

大家好,给大家介绍一下, 新晋的高性能的 K/V数据库: badger。

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

事实上,市面上已经有一些知名的基于LSM tree的k/v数据库, 比如 leveldb、goleveldb、rocksdb、boltdb, 可是为什么还要创造
...

鸟窝 2017-10-11 12:17 | 查看: 509

...更多...