随笔分类 - golang
1
摘要:使用kubeadm安装的时候如果不能FQ下载镜像是个很大的问题,这里自己把需要的镜像下载push下留作不时之需
阅读全文
摘要:目录 local volume 创建一个storage class 静态创建PV 使用local volume PV 动态创建PV local volume kubernetes从1.10版本开始支持local volume(本地卷),workload(不仅是statefulsets类型)可以充分利
阅读全文
摘要:通过阅读这篇文章对内存的处理以及栈的扩容有了新的认识,我们在生产环境中也遇到了内存使用量超大的情况,现在怀疑也可能是由于栈扩容导致的 很好的一片文章; 推送在外卖订餐中扮演着重要的角色,为商家实时接单、骑手实时派单提供基础的数据通道。早期推送是由第三方服务商提供的, 随着业务复杂度的提升、订单量和用
阅读全文
摘要:1. 编译报错 f.fr.SetReuseFrames undefined (type *http2.Framer has no field or method SetReuseFrames) 该问题主要是依赖的http2不是最新的包,更新golang.org/x/net/http2包到最新即可,如
阅读全文
摘要:We decided to ask the Go expert and CTO at QArea’s, Maksim Kuharenko, to share his personal list of must-have Golang sites with news, analytics, cases
阅读全文
摘要:提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了。作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及大量的使用者,代码库中的内容也变得非常庞大。 同样,由于项目的发展、功能的拆分以
阅读全文
摘要:序言 错误和异常是两个不同的概念,非常容易混淆。很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误。从表面上看,一切皆错误的思路更简单,而异常的引入仅仅增加了额外的复杂度。 但事实并非如此。众所周知,Golang遵循“少即是多”的设计
阅读全文
摘要:Go 语言中延迟函数 defer 充当着 try...catch 的重任,使用起来也非常简便,然而在实际应用中,很多 gopher 并没有真正搞明白 defer、return、返回值、panic 之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱! 先来运行下面两段代码: A. 匿名返回值的
阅读全文
摘要:原文:http://bravenewgeek.com/so-you-wanna-go-fast/ 我曾经和很多聪明的人一起工作。我们很多人都对性能问题很痴迷,我们之前所做的是尝试逼近能够预期的(性能)的极限。应用引擎有一些非常严格的性能要求,所以我们才会做出改变。自从使用了Go语言之后,我们已经学习
阅读全文
摘要:Web frameworks help developers build applications as easily and quickly as possible. Go is still relatively new, so it’s important to use frameworks w
阅读全文
摘要:原文: http://colobu.com/2015/10/12/create-minimal-golang-docker-images/ 本文对于创建超小的镜像非常有用 Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言
阅读全文
摘要:1. chan数据读取写入 正常情况下chan读取写入都没有问题,但是如果chan关闭之后会出现问题 所以读取chan数据的时候需要增加chan是否关闭的判断 向一个已经关闭的chan写入数据,程序直接会panic 2. chan变量之间的对比 由于chan的实现机制,chan其实内部实现就是一个指
阅读全文
摘要:1. 模板 在写动态页面的网站的时候,我们常常将不变的部分提出成为模板,可变部分通过后端程序的渲染来生成动态网页,golang提供了html/template包来支持模板渲染。 这篇文章不讨论golang后端的模板读取及渲染方法,只讨论模板中嵌入变量,渲染变量、循环等一些基本用法。 2. 变量 在g
阅读全文
摘要:go build命令用于编译我们指定的源码文件或代码包以及它们的依赖包。 例如,如果我们在执行go build命令时不后跟任何代码包,那么命令将试图编译当前目录所对应的代码包。例如,我们想编译goc2p项目的代码包logging。其中一个方法是进入logging目录并直接执行该命令: hc@ubt:
阅读全文
摘要:golang源码包中container/list实际上是一个双向链表 提供链表的一些基本操作,下面就结合定义和接口进行下说明 1. 定义 Element是数据节点, 提供Next()/Prev()这类常规操作 List双向链表定义 2. 接口说明 3. 实例
阅读全文
摘要:学习golang难免需要分析源码包中一些实现,下面就来说说container/heap包的源码 heap的实现使用到了小根堆,下面先对堆做个简单说明 1. 堆概念 堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值。 最大堆和最小堆是二叉堆的两种形式
阅读全文
摘要:努力学习go中,看到skoo博客内容很不错, 所以转载学习下 前两天有小伙伴问道是否看过 Go 语言 map 的实现,当时还真没看过,于是就花了一点时间看了一遍 runtime 源码中的 hashmap 实现。map 的底层实现就是一个 hash 表,大体结构上和平时在脑海里的 hash 表差不多,
阅读全文
摘要:go中有pprof包来做代码的性能监控,在两个地方有包: 其实net/http/pprof中只是使用runtime/pprof包来进行封装了一下,并在http端口上暴露出来 pprof包 web 服务器 如果你的go程序是用http包启动的web服务器,你想查看自己的web服务器的状态。这个时候就可
阅读全文
摘要:本月初golang官方blog(需要自己搭梯子)上发布了一篇文章,简要介绍了近几个月Go在一 些技术会议上(比如Google I/O、Gopher SummerFest等)的主题分享并伴有slide链接。其中David Crawshaw的“Organizing Go Code”对Golang的代码风
阅读全文
摘要:本篇文章内容来源于Golang核心开发组成员Andrew Gerrand在Google I/O 2014的一次主题分享“Testing Techniques”,即介绍使用Golang开发 时会使用到的测试技术(主要针对单元测试),包括基本技术、高级技术(并发测试、mock/fake、竞争条件测试、并
阅读全文
1