最新 | 最热门 | 最高评价

+0  最近经济不景气啊

Tag: First Category
s5s5 发于 2018年09月13日 09:45 | 点击: 483 | 展开摘要
我看苹果新机太贵了

最近经济不景气啊最先出现在[米随随] s5s5。

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

+0  图像相似性比较实践

Tag: Go
鸟窝 发于 2018年09月07日 19:48 | 点击: 595 | 展开摘要
2008年TinEye上线了图片搜索,开始是注册制,后来逐步放开。2011年, Google也上线了相似图片搜索,通过用户上传的图片,可以搜索相似的图片。
参考文档中提供了一些介绍图像搜索的一些文章, 尤其是阮一峰2011年和2013年两篇普及性的文章,可以帮助你了解图像相似搜索的原理。

图像相似性搜索应用广泛、除了使用搜索引擎搜索类似图片外,像淘宝可以让顾客直接拍照搜索类似的商品信息、应用在商品购物上。也可以应用物体识别比如拍图识花等领域。目前我在调研图片鉴权的方案,通过

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

+0  Go http2 和 h2c

Tag: Go
鸟窝 发于 2018年09月06日 19:21 | 点击: 550 | 展开摘要
了解一下http2和h2c (HTTP/2 over TCP,HTTP/2 without TLS)。

http/1.1 的服务器

我们经常会在代码中启动一个http服务器,最简单的http/1.1服务器如下所示:

1
2
3
4
5
6
7

http.Handle("/foo", fooHandler)

http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprin

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

+0  哈希碰撞与生日攻击

Tag: Algorithm
阮一峰 发于 2018年09月05日 20:41 | 点击: 358 | 展开摘要
一、哈希碰撞是什么?

所谓哈希(hash),就是将不同的输入映射成独一无二的、固定长度的值(又称"哈希值")。它是最常见的软件运算之一。

如果不同的输入得到了同一个哈希值,就发生了"哈希碰撞"(collision)。

举例来说,很多网络服务会使用哈希函数,产生一个 token,标识用户的身份和权限。

AFGG2piXh0ht6dmXUxqv4nA1PU120r0yMAQhuc13i8

上面这个字符串就是一个哈希值。如果两个不同的用户,得到了同样的 token,就发生

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

+0  快速产生一个随机字符串

Tag: Go
鸟窝 发于 2018年09月02日 16:47 | 点击: 616 | 展开摘要
如何高效的产生一个随机字符串?这看似是一个简单的问题,但是icza却通过例子,逐步优化,实现了一个更高效的随机字符串的算法。这是来自的来自stackoverflow上的一个问题:How to generate a random string of a fixed length in Go?, 大家群策群力,提出了很好的方案和反馈,尤其是icza的回答。 本文翻译和整理自这条问答。

问题是这样的:

我想要一个Go实现的固定长度的随机字符串(包括大小写字母,但是没有数字),哪

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

+0  跳出Go module的泥潭

Tag: Go
鸟窝 发于 2018年08月31日 19:28 | 点击: 882 | 展开摘要
Go 1.11 前天已经正式发布了,这个版本包含了两个最重要的feature就是 module和web assembly。虽然也有一些简单的教程介绍了go module的特性,但是基本上都是hello world的例子,在实践的过程中, 很多人都在“拼命的挣扎”,包括我自己, 从一些qq群、github的issue, twitter上都可以看到大家茫然或者抱怨的语句。

虽然有三个帮助文件go help mod、go help modules、go help module-g

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

+0  C和Go相互调用

Tag: Go
鸟窝 发于 2018年08月30日 11:37 | 点击: 656 | 展开摘要
C可以调用Go,并且Go可以调用C, 如果更进一步呢, C-->Go-->C 或者 Go-->C-->Go的调用如何实现?

本文通过两个简单的例子帮助你了解这两种复杂的调用关系。本文不涉及两者之间的复杂的数据转换,官方文章C? Go? Cgo!、wiki/cgo和cmd/cgo有一些介绍。

Go-->C-->Go

Go程序调用C实现的函数,然后C实现的函数又调用Go实现的函数。

1、首先,我们新建一个hello.go的文件:

he

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

+0  Go Channel 应用模式

Tag: Go
鸟窝 发于 2018年08月30日 11:11 | 点击: 380 | 展开摘要
Channel是Go中的一种类型,和goroutine一起为Go提供了并发技术, 它在开发中得到了广泛的应用。Go鼓励人们通过Channel在goroutine之间传递数据的引用(就像把数据的owner从一个goroutine传递给另外一个goroutine), Effective Go总结了这么一句话:

Do not communicate by sharing memory; instead, share memory by communicating.

在 Go内存

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

+0  使用 Go 实现快速排序

Tag: Go
鸟窝 发于 2018年08月29日 22:03 | 点击: 193 | 展开摘要
快速排序(quick sort)号称是二十世纪最伟大的十大算法之一(The Best of the 20th Century: Editors Name Top 10 Algorithms), 但是快速排序也是最不容易实现的排序算法之一 ()。虽然它的原理非常的简单,但实现起来很容易出错。 也曾因为快排导致腥风血雨甚至网站攻击事件。

快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比

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

+0  完全静态编译一个Go程序

Tag: Go
鸟窝 发于 2018年08月29日 22:03 | 点击: 207 | 展开摘要
在Docker化的今天, 我们经常需要静态编译一个Go程序,以便方便放在Docker容器中。 即使你没有引用其它的第三方包,只是在程序中使用了标准库net,你也会发现你编译后的程序依赖glic,这时候你需要glibc-static库,并且静态连接。

不同的Go版本下静态编译方式还有点不同,在go 1.10下, 下面的方式会尽可能做到静态编译:

1

CGO_ENABLED=0 go build -a -ldflags '-extldflags "-static"' .

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

+0  [译]Go HttpServer 最佳实践

Tag: Go
鸟窝 发于 2018年08月29日 22:03 | 点击: 215 | 展开摘要
这是 Cloudflare 的 Filippo Valsorda 2016年发表在Gopher Academy的一篇文章, 虽然过去两年了,但是依然很有意义。

先前 crypto/tls 太慢而net/http也很年轻, 所以对于Go web server来说, 通常我们明智的做法把它放在反向代理的后面, 如nginx等,现在不需要了。

在Cloudflare我们最近试验了直接暴漏纯Go的服务作为主机。 Go 1.8的net/http 和 crypto/tls 提供了稳定

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

+0  创建最小的Go docker 镜像

Tag: Go
鸟窝 发于 2018年08月29日 22:03 | 点击: 198 | 展开摘要
虽然曾有一些文章介绍了如何创建一个最小的Go Docker镜像,我也曾写过一篇文章,但是随着Go的新的版本的发布, 以及docker本身的进化,有些技巧已经发生了变化, 本文介绍了最新的创建超小的Go镜像的方法。

一个简单Go程序的镜像

首先让我们创建一个很简单的Go程序:

1
2
3
4
5
6
7

package main

import "fmt"

func main() {
fmt.Println("hello world")
}

运行下面的命令会创建一

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