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

ldd、objdump、nm、strings、strip等工具

最近在做Docker镜像的时候发现镜像文件非常大,需要找出程序的依赖库,减少程序的大小,所以整理了一下相关的工具。基本上这些工具都在GNU Binutils中。

GNU Binary Utilities或binutils是一整套的编程语言工具程序,用来处理许多格式的目标文件。当前的版本原本由在Cygnus Solutions的程序员以Binary File Descriptor library(
...

鸟窝 2018-07-12 16:49 | 查看: 198

解决 error creating overlay mount to /var/lib/docker/overlay2

最近在centos7.1使用docker运行redis镜像,出现下面的错误:

1
2

/usr/bin/docker-current: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/65f3c109fb903539820f84856d2725af784f2f03f95b1
...

鸟窝 2018-06-28 16:59 | 查看: 274

使用 Go 实现快速排序

快速排序(quick sort)号称是二十世纪最伟大的十大算法之一(The Best of the 20th Century: Editors Name Top 10 Algorithms), 但是快速排序也是最不容易实现的排序算法之一 ()。虽然它的原理非常的简单,但实现起来很容易出错。 也曾因为快排导致腥风血雨甚至网站攻击事件。

快速排序由C. A. R. Hoare在1962年提出。它的基
...

鸟窝 2018-06-26 19:22 | 查看: 315

CGO 文章整理

虽然CGO属于不太常用的技术,但是偶尔在一些场景中还是会用到的,本文搜集了一些CGO的文章, 方便大家学习和参考。

官方文章

cmd/cgo: cgo命令行工具

wiki/cgo: 简介

C? Go? Cgo!: 古老的文章

WindowsDLLs: 不是CGO

通过cgo调用C代码: Go语言圣经中的介绍

相关文章

cgo is not Go: Dave Cheney的文章,CG
...

鸟窝 2018-06-25 13:55 | 查看: 444

停止、删除所有的docker容器和镜像

这些命令总是记不住,或者说不用心去记,所以记录在本文中,以便将来查询。

列出所有的容器 ID

1

docker ps -aq

停止所有的容器

1

docker stop $(docker ps -aq)

删除所有的容器

1

docker rm $(docker ps -aq)

删除所有的镜像

1

docker rmi $(docker images -q)

复制文件

1
...

鸟窝 2018-05-31 20:25 | 查看: 528

搭建IPFS私有网络

IPFS (InterPlanetary File System) 是一个面向全球的、点对点的分布式版本文件系统。它用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。IPFS表示,IPFS未来将替代HTTP(以及其他的许多东西)。

IPFS 和 BitTo
...

鸟窝 2018-05-29 17:35 | 查看: 399

2018微博内部技术分享春晚专场

这是公司内部分享的各部门春晚保障的技术分享。我将其中的和公司隐私相关的数据删除了,只保留了技术的介绍,总结了一些知识点。

Tim开场白。

双十一、微信红包和微博的区别(无法预期)。

三条军规。

孟兆飞 混合云架构下微博春晚保障

流量

突发流量: 日常、异常

春晚

央视合作

万台扩容挑战

联路长

依赖多

高并发

15分钟1000台全公司随时随地

自动化

智能弹性

混合
...

鸟窝 2018-04-24 18:32 | 查看: 458

Go Channel 应用模式

Channel是Go中的一种类型,和goroutine一起为Go提供了并发技术, 它在开发中得到了广泛的应用。Go鼓励人们通过Channel在goroutine之间传递数据的引用(就像把数据的owner从一个goroutine传递给另外一个goroutine), Effective Go总结了这么一句话:

Do not communicate by sharing memory; instead
...

鸟窝 2018-03-28 14:48 | 查看: 903

DHT 分布式哈希表

本文主要整理维基百科中英文和百度百科等资料,算是对 DHT 技术做一个综述,基本都是摘自参考资料中的文档。

DHT

分布式哈希表(distributed hash table,缩写DHT)是分布式计算系统中的一类,用来将一个键(key)的集合分散到所有在分布式系统中的节点。这里的节点类似哈希表中的存储位置。分布式哈希表通常是为了拥有大量节点的系统,而且系统的节点常常会加入或离开。

研究分布式
...

鸟窝 2018-03-26 18:36 | 查看: 502

[译]使用 LLDB 调试 Go 程序

我一般调试Go程序都是通过log日志,性能调试的话通过 pprof 、trace、flamegraph等,主要是Go没有一个很好的集成的debugger,前两年虽然关注了delve,但是在IDE中集成比较粗糙,调试也很慢,所以基本不使用debugger进行调试, 最近看到滴滴的工程师分享的使用debugger在调试Go程序,我觉得有必要在尝试一下这方面的技术了。

本文翻译自 Debugging
...

鸟窝 2018-03-13 11:25 | 查看: 625

[译]20个使用 Java CompletableFuture的例子

在Java中异步编程,不一定非要使用rxJava, Java本身的库中的CompletableFuture可以很好的应对大部分的场景。

原文: 20 Examples of Using Java’s CompletableFuture, 作者 Mahmoud Anouti。

这篇文章介绍 Java 8 的 CompletionStage API和它的标准库的实现 CompletableFutu
...

鸟窝 2018-03-12 19:36 | 查看: 456

Java8 和 Java 9中并发工具的改变

Java 8 和 Java 9中 concurrent包有了一些改变, 本文对这些改变做了汇总。

Java 8 中 Concurrent package的改变

java.util.concurrent中新的类和接口

增加了两个新接口和4个新类:

接口CompletableFuture.AsynchronousCompletionTask

接口CompletionStage

类Compl
...

鸟窝 2018-03-12 19:36 | 查看: 488

...更多...