在构建BST的结构时候,需要导入以下包,作用都很简单分别是提示Error,打印以及Log相关内容: 我要晨读

已有489人晨读

为了快速回顾Go基本的语法知识,打算用Go中的基本语法以及特性来实现一些常见的数据结构和排序算法,通过分析如何实现一些基本的数据结构,可以很快学习Go的语法特性。记忆更加深刻,掌握更加迅速。这是我认为学习一门新语言入门最好的方式。这也是方便自己以后需要用Go来写东西的一种前期准备,到时候就不用去翻一些教程了。系列博文的第一篇就从如何实现List开始。 我要晨读

已有632人晨读

微服务架构让隔离故障变为可能,可以通过明确定义的服务边界来隔离故障。但是像在每个分布式系统中一样,网络,硬件或应用程序每个层面都有可能出错。由于服务依赖关系,任何组件都有可能暂时无法为其消费者服务。为了尽量减少部分中断的影响,我们需要构建容错服务(services),这样我们就可以优雅地来应对某些类型的中断。 我要晨读

已有592人晨读

在我们编写web服务端程序的时候,我们可能会对一些甚至全部的Http Request统一处理,比如我们记录每个访问的Request,对提交的Form表单进行映射等,要达到这些目的,比较优雅的做法是Http 中间件。 我要晨读

已有522人晨读

这是一篇面向即将学习 go 语言并且对指针理念或者 go 的指针类型不是很了解的程序员的内容 我要晨读

已有471人晨读

Golang 的内存管理基于 tcmalloc,可以说起点挺高的。但是 Golang 在实现的时候还做了很多优化,我们下面通过源码来看一下 Golang 的内存管理实现。下面的源码分析基于 go1.8rc3。 我要晨读

已有567人晨读

有并发,就有资源竞争,如果两个或者多个goroutine在没有相互同步的情况下,访问某个共享的资源,比如同时对该资源进行读写时,就会处于相互竞争的状态,这就是并发中的资源竞争。 我要晨读

已有479人晨读

* 连接池中连接类型为interface{},使得更加通用 * 链接的最大空闲时间,超时的链接将关闭丢弃,可避免空闲时链接自动失效问题 * 使用channel处理池中的链接,高效 我要晨读

已有533人晨读

goraft是Raft协议的Golang版本的实现,项目地址为:goraft/raft。整个代码质量较高,值得仔细品味。因此,整理了该博文探究下其内部实现。 我要晨读

已有662人晨读

现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)需要自动重连。 我要晨读

已有706人晨读

本文讨论的代码质量指的是代码本身的质量,包括复杂度、重复率、代码风格等要素。代码是团队的共同财产,代码质量是团队技术水平和管理水平的直接体现。 我要晨读

已有603人晨读

最近尝试用Go写程序。写了一个tcp网络服务,跑起来之后会把所有的CPU都跑到了100%,略吓人。 经过简单分析发现了问题所在 我要晨读

已有682人晨读

想写个程序,监控目录和文件变化,原先目录非常大,所以感觉要用goroutine对每个目录派生一个goroutine进程,但程序在运行的时候发现,打开的目录非常多,以致系统出错,我们先来看看这个失败的程序,目录小是没有问题的。 我要晨读

已有1581人晨读

发现一个很好玩的浏览器模拟操作包,下面演示一下,打开网站,点击某个链接 我要晨读

已有1059人晨读

Laravel是我最喜欢的PHP Web开发框架,所以也希望可以在Go的Web框架中选择一个类似Laravel这样的好用又全栈的框架,刷了一下Beego, Echo , Gin, 以及Iris的文档,最终还是选择Iris,当然我是没有从性能角度考虑,只是从可以快速开发,且支持的特性全还有就是看着顺眼的心理选择了Iris,应该有不少PHPer像我一样使用Laravel同时在学习Go,所以为了便于Laravel开发者可以快速的转到Iris开发,我准备写一系列这两者框架的比较文章。 我要晨读

已有698人晨读

出现内存泄漏或者内存问题,大家第一时间都会想到valgrind。valgrind是一款非常优秀的软件,不需要重新编译程序就能够直接测试。功能也非常强大,能够检测常见的内存错误包括内存初始化、越界访问、内存溢出、free错误等都能够检测出来。推荐大家使用。 我要晨读

已有786人晨读

引文4月份的时候看到一道面试题,据说是腾讯校招面试官提的:在多线程和高并发环境下,如果有一个平均运行一百万次才出现一次的bug,你如何调试这个bug?知乎原贴地址遗憾的是知乎很多答案在抨击这道题本身的正确性,虽然我不是这次的面试官,但我认为这是一道非常好的面试题。当然,只是道加分题,答不上,不扣分。答得不错,说明解决问题的思路和能力要超过应届生平均水平。 我要晨读

已有716人晨读

Golang 是 Google 在2007年发布的一门开源的静态编译型编程语言,在垃圾回收、结构类型以及并发编程的处理上拥有自己的独到之处,近年来更是成为使用频率上升速度最快的编程语言之一。 我要晨读

已有647人晨读

目前最为主流的容器编排工具主要有kubernetes、mesos、swarm,个人不评价谁好谁坏因为每个东西都有自己的优势。不过个人认为目前关注度最高的应该当属kubernetes,现在越来越多的公司采用kubernetes作为底层编排工具开发自己的容器调度平台。既然是一个PAAS平台那么就应该提供一个计算监控等一体的服务,因为是在kubernetes运行上面的容器大多数都是无状态服务,所以统一的日志管理又是其中必不可少的一部分。下面我们就讲一下如何基于filebeat开发属于自己的日志采集。 我要晨读

已有711人晨读