进程退出时如何保证占用的端口完全释放?

有问必答vz 回复了问题 • 8 人关注 • 6 个回复 • 682 次浏览 • 2016-10-16 08:55 • 来自相关话题

当初就这么入坑了Golang

Golangevolsnow 发表了文章 • 4 个评论 • 375 次浏览 • 2016-10-16 00:38 • 来自相关话题

当初入坑Golang倒不是工作需要,而是个人兴趣。

因为之前想写个机器人玩,顺便学门编译型语言(之前在写Python),最后挑选了语法简洁,跨平台支持的Go,不曾想最终会为之折服并着迷。。。

周末还写了篇博客希望吸引更多的人入... 查看全部

当初入坑Golang倒不是工作需要,而是个人兴趣。


因为之前想写个机器人玩,顺便学门编译型语言(之前在写Python),最后挑选了语法简洁,跨平台支持的Go,不曾想最终会为之折服并着迷。。。


周末还写了篇博客希望吸引更多的人入坑:smiling_imp::从零到一:用Golang编写机器人


不知大家是为何入坑Golang的,现在感觉如何?

struct的拷贝问题

有问必答tonyluj 回复了问题 • 8 人关注 • 4 个回复 • 743 次浏览 • 2016-10-15 23:07 • 来自相关话题

Docker 从入门到实践-2-基本概念

文章分享wwdyy 发表了文章 • 0 个评论 • 226 次浏览 • 2016-10-15 20:46 • 来自相关话题

镜像

Docker 包括三个基本概念

镜像(Image)
容器(Container)
仓库(Repository)

理解了这三个概念,就理解了 Docker 的整个生命周... 查看全部

镜像


Docker 包括三个基本概念


镜像(Image)
容器(Container)
仓库(Repository)

理解了这三个概念,就理解了 Docker 的整个生命周期。


Docker 镜像


Docker 镜像就是一个只读的模板。


例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。


镜像可以用来创建 Docker 容器。


Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。


Docker 容器


Docker 利用容器来运行应用。


容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。


可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。


注:镜像是只读的,容器在启动的时候创建一层可写层作为最上层。


Docker 仓库


仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。


仓库分为公开仓库(Public)和私有仓库(Private)两种形式。


最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 国内的公开仓库包括 Docker Pool 等,可以提供大陆用户更稳定快速的访问。


当然,用户也可以在本地网络内创建一个私有仓库。


当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。


注:Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

go演示工具 - go 社区是如何做演示的?

文章分享bw57899 发表了文章 • 0 个评论 • 556 次浏览 • 2016-10-15 20:38 • 来自相关话题

golang 有个很简单的演示工具,如果你混go社区的话,这是个很有必要的技能。 :blush:

安装go

安装go以及设置必要的参数,比如GOPATH。这个就不重复了,相信来这里的都懂。

安装presen... 查看全部

golang 有个很简单的演示工具,如果你混go社区的话,这是个很有必要的技能。 :blush:


安装go


安装go以及设置必要的参数,比如GOPATH。这个就不重复了,相信来这里的都懂。


安装present


$ go get golang.org/x/net
$ go get golang.org/x/tools
$ go install golang.org/x/tools/cmd/present

准备 slide 演示文件


$ cat sample.slide

Title of document
Subtitle of document
15:04 2 Jan 2006
Tags: foo, bar, baz

Author Name
Job title, Company
joe@example.com
http://url/
@twitter_name
Some Text

* Title of slide or section (must have asterisk)

Some Text

* topic 1

- idea 1
- idea 2
- idea 3

这是个很简单的演示稿,共三页。第四页是自动生成的。


运行 present


因为前面已经安装了present,你可以直接运行它了


$ present
2016/10/15 11:20:55 Open your web browser and visit http://127.0.0.1:3999

访问你的演示文件


访问 ghttp://127.0.0.1:3999 即可,会有现成的slide链接显示。


在操作时,移动左右键,你可以看到每个演示稿:


http://127.0.0.1:3999/sample.slide#1


http://127.0.0.1:3999/sample.slide#2


...


分享你的演示文档


将你的slide 文件 push 到 github,比如 github.com/DANIU/talks/20161015/sample.slide


那么你应该可以用以下的链接直接访问该演示文档。


http://go-talks.appspot.com/github.com/DANIU/talks/20161015/sample.slide


present 的格式


请看这里: https://godoc.org/golang.org/x/tools/present


可以支持字体,链接,代码显示(需要将该代码放在同一个目录),部分显示代码,贴图,等等。

beego中struct中有field是slice类型怎么存储?

有问必答astaxie 回复了问题 • 2 人关注 • 1 个回复 • 445 次浏览 • 2016-10-15 14:26 • 来自相关话题

实时文件监控

文章分享themoonstone 发表了文章 • 1 个评论 • 1279 次浏览 • 2016-10-15 14:11 • 来自相关话题

由GO构建的实时重载和输出流的文件监控系统、在自定义路径下运行、构建和观察文件更改 查看全部

由GO构建的实时重载和输出流的文件监控系统、在自定义路径下运行、构建和观察文件更改

特征:



  • 可同时构建,安装,测试,Fmt和运行

  • 支持在文件更改时重新加载(重新构建,重新安装和重新运行)

  • 支持观看自定义路径

  • 支持观看特定的文件扩展名

  • 多个项目支持

  • 支持输出流

  • 执行时间

  • 高度可定制

  • 快速运行


原文链接:
https://github.com/tockins/realize

Go 中,除了使用缓存池,如何减少 slice 的动态分配?

有问必答tonyluj 回复了问题 • 10 人关注 • 4 个回复 • 753 次浏览 • 2016-10-15 11:41 • 来自相关话题

golang里 math/rand 和 crypto/rand 区别是什么

有问必答astaxie 回复了问题 • 2 人关注 • 1 个回复 • 565 次浏览 • 2016-10-15 09:27 • 来自相关话题

10.15 每日早报

文章分享astaxie 发表了文章 • 0 个评论 • 291 次浏览 • 2016-10-15 08:30 • 来自相关话题

10.15 每日早报

新闻:

1.私有云巨头VMware与公有云老大亚马逊合作,推出混合云服务

2.IBM、谷歌、戴尔、AMD等成立开放技术联盟,发布开放性规范,服务器性能或增10倍

3.Googl... 查看全部

10.15 每日早报


新闻:


1.私有云巨头VMware与公有云老大亚马逊合作,推出混合云服务


2.IBM、谷歌、戴尔、AMD等成立开放技术联盟,发布开放性规范,服务器性能或增10倍


3.Google Photos基于云端推出重温记忆、生成动图、自动纠图等功能


4.24小时自助健身房Liking健身完成A轮数千万元人民币融资,同创伟业领投


5.高盛宣布上线个人无抵押网络借款平台Marcus,允许自由选择每月还款日和还款计划


6.Pinterest月度活跃用户突破1.5亿,四分之三新用户来自美国以外


7.网易严选宣布为供应商压款支付利息,颠覆传统的361付款方式


8.空客实现3D打印标准化并将其纳入A350 XWB飞机供应链


资源:


中国手机网民网络安全状况报告
http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/ydhlwbg/201610/t20161012_54551.htm


阿里云开源AliSQL数据库
https://github.com/alibaba/AliSQL


注:上述内容来源于互联网,由EGO整理

为什么http标准库的Handler第一个参数是接口,第二个是结构体,出于哪些方面考虑呢?

技术讨论astaxie 回复了问题 • 3 人关注 • 1 个回复 • 339 次浏览 • 2016-10-14 22:41 • 来自相关话题

golang在goroutine里的错误怎么传递?

有问必答themoonstone 回复了问题 • 3 人关注 • 2 个回复 • 477 次浏览 • 2016-10-14 21:03 • 来自相关话题

Docker 从入门到实践-1-Docker简介

文章分享wwdyy 发表了文章 • 0 个评论 • 256 次浏览 • 2016-10-14 18:11 • 来自相关话题

本文转自极客学院-wiki

Docker 从入门到实践

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是... 查看全部

本文转自极客学院-wiki


Docker 从入门到实践


Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 App)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。


Docker 是个伟大的项目,它彻底释放了虚拟化的威力,极大降低了云计算资源供应的成本,同时让应用的分发、测试、部署和分发都变得前所未有的高效和轻松!


适用人群 适用人群


本书既适用于具备基础 Linux 知识的 Docker 初学者,也希望可供理解原理和实现的高级用户参考。


学习前提 学习前提


学习本书前,需要你对 Linux 系统有一定的了解,此外,本书注重实践,所以需要读者能够自己搭建 Linux 环境。


什么是 Docker


Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。


Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。


Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。


在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。


下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。



为什么要使用 Docker?


作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。


首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。 其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。


容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。


具体说来,Docker 在如下几个方面具有较大的优势。


更快速的交付和部署


对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。


开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。


更高效的虚拟化


Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。


更轻松的迁移和扩展


Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。


更简单的管理


使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。


对比传统虚拟机总结
































特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

请问有没有比较好的方案用来远程备份大量的文件?

有问必答btfak 回复了问题 • 5 人关注 • 2 个回复 • 637 次浏览 • 2016-10-14 18:00 • 来自相关话题

使用channel代替条件变量

文章分享astaxie 回复了问题 • 2 人关注 • 1 个回复 • 517 次浏览 • 2016-10-14 17:25 • 来自相关话题