最新 | 最热门 | 最高评价

+0  求第K个数的问题

Tag: Algorithm & Data Structure | Recommended | PriorityQueue | | 快排
四火 发于 2017年07月14日 13:01 | 点击: 755 | 展开摘要
一道经典的题目。给一堆乱序的数,如果它们从小到大排好,求第k个是多少。假设排列的下标从1开始,而非0开始。

这个问题如此之简单而熟悉,可它却可以是很多现实问题的某一个子问题的抽象。它本身相关的问题其实就不少,而且还可以不断演进,成为不同复杂程度的问题。

看到这个问题,脑海里的第一反应是一左一右红蓝两条分支——堆排序或者快排。Java中快排用Arrays.sort就可以了,如果是堆排序需要用到PriorityQueue。 用Arrays.sort写起来最简单(这里的参数校验

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

+0  神经网络入门

Tag: Algorithm
阮一峰 发于 2017年07月13日 06:33 | 点击: 778 | 展开摘要
眼下最热门的技术,绝对是人工智能。

人工智能的底层模型是"神经网络"(neural network)。许多复杂的应用(比如模式识别、自动控制)和高级模型(比如深度学习)都基于它。学习人工智能,一定是从它开始。

什么是神经网络呢?网上似乎缺乏通俗的解释。

前两天,我读到 Michael Nielsen 的开源教材《神经网络与深度学习》(Neural Networks and Deep Learning),意外发现里面的解释非常好懂。下面,我就按照这本书,介绍什么是神经网络

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

+0  Go语言中 select 和 switch 的比较

Tag: Go
鸟窝 发于 2017年07月07日 19:48 | 点击: 575 | 展开摘要
select 和 switch 是 Go语言中进行分支操作的两个方式,各有各的应用场景。

select

select只能应用于channel的操作,既可以用于channel的数据接收,也可以用于channel的数据发送。

如果select的多个分支都满足条件,则会随机的选取其中一个满足条件的分支, 如语言规范中所说:

If multiple cases can proceed, a uniform pseudo-random choice is made to dec

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

+0  [转]golang concurrency tricks

Tag: Go
鸟窝 发于 2017年07月07日 19:27 | 点击: 596 | 展开摘要
原文地址: Golang Concurrency Tricks

Golang concurrency model based on goroutines and channels is not free from sharp edges.

This page intends both (1) to collect helpful guidelines for writing concurrent code in Go and (2) to bring up well kn

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

+0  [译]参考资料: 地道的GO代码

Tag: Go
鸟窝 发于 2017年07月06日 19:13 | 点击: 766 | 展开摘要
原文: Idiomatic Go

什么样的代码才算最地道的Go代码? 这个问题经常被人问起,但是确不太好回答。部分原因在于我们还在摸索之中,抑或Go还是一个年轻的语言。随着语言和社区的逐渐成熟,老司机们才会对地道的Go代码达成共识。

请注意,地道的代码不是限制你的规则,而是代码指导。工作正常的代码比地道的代码更重要。因为所谓的地道,只是大家达成的一种共识,所以"不地道"的的代码不一定代表着错误。

既然没有确定的答案,我在本文中收集了相关的参考资料,

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

+0  [译]使用os/exec执行命令

Tag: Go
鸟窝 发于 2017年07月03日 11:34 | 点击: 670 | 展开摘要
原文: Advanced command execution in Go with os/exec by Krzysztof Kowalczyk.
完整代码在作者的github上: advanced-exec

Go可以非常方便地执行外部程序,让我们开始探索之旅吧。

执行命令并获得输出结果

最简单的例子就是运行ls -lah并获得组合在一起的stdout/stderr输出。

1
2
3
4
5
6
7
8

func main() {
cmd := exec.Comm

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

+0  了解 Go 1.9 的类型别名

Tag: Go
鸟窝 发于 2017年06月28日 10:58 | 点击: 795 | 展开摘要
如你所知, 类型别名(type aliases) 最终还是加入到Go 1.9中, Go 1.9 beta2今天已经发布了, 正式版预计8月初发布, 是时候深入了解一下它的新特性了,本文介绍的就是它的重要的新特性之一: 类型别名。

当然,如果你想尝试这些新特性,需要安装Go 1.9的版本,目前是beta2版,可以在官方网站下载。

类型别名主要解决什么问题,为什么需要这个特性? Russ Cox 的论文Codebase Refactoring (with help from

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

+0  [译]像牛人一样改进你的Go代码

Tag: Go
鸟窝 发于 2017年06月27日 19:41 | 点击: 653 | 展开摘要
原文: Lint your #golang code like a mad man!, 作者: Arsham Shirvani

我使用下面的工具来改进我的代码,除了vendor文件夹。我的操作系统是GNU/Linux,但是稍微修改一下脚本应该也能运行在你的操作系统上。我使用glide来处理依赖(vendor),但你也可以使用你的包依赖管理工具来替换glide nv, 这个命令列出了所有的文件夹,除了vender (译者按: Go 1.9中可以直接使用./...,它会排除ve

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

+0  [转]Golang 中使用 JSON 的小技巧

Tag: Go
鸟窝 发于 2017年06月22日 17:55 | 点击: 1316 | 展开摘要
taowen是json-iterator的作者。 序列化和反序列化需要处理JSON和struct的关系,其中会用到一些技巧。 原文 Golang 中使用 JSON 的小技巧是他的经验之谈,介绍了一些struct解析成json的技巧,以及 json-iterator 库的一些便利的处理。

有的时候上游传过来的字段是string类型的,但是我们却想用变成数字来使用。 本来用一个json:",string" 就可以支持了,如果不知道golang的这些小技巧,就

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

+0  Go 1.9 的新特性

Tag: Go
鸟窝 发于 2017年06月20日 14:24 | 点击: 791 | 展开摘要
现在 Go 1.9 beta版已发布, 正式版预期在8月初发布,让我们先来看看你Go 1.9带来了那些新特性。

type alias

类型别名原本在1.8中加入的,但是临时发现有些问题,为了能全面的设计 type alias 被移到了 Go 1.9中了。

这个特性主要用在类型从一个package移动到另外一个package中的时候,导致的项目中对引入的路径不一致导致的问题, 比如原先 context是在golang.org/x/net/context包下,在Go 1.7

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

+0  通过实例入门Golang

Tag: Technical | Golang
老王 发于 2017年06月09日 19:43 | 点击: 1491 | 展开摘要
如果想学会一门新语言,不仅要多读文档,还要多看别人写的代码,更要强迫自己用新语言多写代码。我在学习 Golang 之前,读过好几本相关的书籍,不过总感觉没真正学会,于是我决定动手用 Golang 写一个能用的工具试试,因为 Golang 最大的优势就是 goroutine 和 channel,所以我觉得实现一个简版的 ab(Web 压力测试工具)应该是一个不错的选择,用 Golang 磕磕绊绊总算实现了预想的功能,能够计算 Requests per second 和 Time

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

+0  Go语言的修饰器编程

Tag: Go 语言 | 程序设计 | 编程语言 | functional | Go | golang | Programming | 函数式
陈皓 发于 2017年06月01日 16:48 | 点击: 799 | 展开摘要
之前写过一篇《Python修饰器的函数式编程》,这种模式很容易的可以把一些函数装配到另外一些函数上,可以让你的代码更为的简单,也可以让一些“小功能型”的代码复用性更高,让代码中的函数可以像乐高玩具那样自由地拼装。所以,一直以来,我对修饰器decoration这种编程模式情有独钟,这里写一篇Go语言相关的文章。

看过Python修饰器那篇文章的同学,一定知道这是一种函数式编程的玩法——用一个高阶函数来包装一下。多唠叨一句,关于函数式编程,可以参看我之前写过一篇文章《函数式编程

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