聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

  • 6038460 views阅读

    ETCD的内存问题

    今天跟大家分享一个etcd的内存大量占用的问题,这是一个前段时间在我们开源软件Easegress中遇到的问题,问题是比较简单的,但是我还想把前因后果说一下,包括,为什么要用etcd,使用etcd的用户场景,包括etcd的一些导致内存占用比较大的设计,以及最后一些建议。希望这篇文章不仅仅只是让你看到了一个简单的内存问题,而是让你有更多的收获。当然,如果觉得我们的开源软件做得不错,也欢迎关注我...

    分类:技术文章 时间:2022-05-05 17:13 我要评论(0个)

  • 3689410 views阅读

    Go编程模式 : 泛型编程

    Go语言的1.17版本发布了,其中开始正式支持泛型了。虽然还有一些限制(比如,不能把泛型函数export),但是,可以体验了。我的这个《Go编程模式》的系列终于有了真正的泛型编程了,再也不需要使用反射或是go generation这些难用的技术了。周末的时候,我把Go 1.17下载下来,然后,体验了一下泛型编程,还是很不错的。下面,就让我们来看一下Go的泛型编程。(注:不过,如果你对泛型编...

    分类:技术文章 时间:2021-09-12 11:53 我要评论(0个)

  • 3251769 views阅读

    Go 编程模式:k8s Visitor 模式

    本篇文章主要想讨论一下,Kubernetes 的 kubectl 命令中的使用到到的一个编程模式 – Visitor(注:其实,kubectl 主要使用到了两个一个是Builder,另一个是Visitor)。本来,Visitor 是面向对象设计模英中一个很重要的设计模款(参看Wikipedia Visitor Pattern词条),这个模式是一种将算法与操作对象的结构分离的一种...

    分类:技术文章 时间:2020-12-26 20:55 我要评论(0个)

  • 3551767 views阅读

    Go编程模式:Pipeline

    本篇文章,我们着重介绍Go编程中的Pipeline模式。对于Pipeline用过Unix/Linux命令行的人都不会陌生,他是一种把各种命令拼接起来完成一个更强... Read More Read More The post Go编程模式:Pipeline first appeared on 酷 壳 - CoolShell....

    分类:技术文章 时间:2020-12-26 18:24 我要评论(0个)

  • 2638167 views阅读

    Go 编程模式:错误处理

    错误处理一直以一是编程必需要面对的问题,错误处理如果做的好的话,代码的稳定性会很好。不同的语言有不同的出现处理的方式。Go语言也一样,在本篇文章中,我们来讨论一下Go语言的出错出处,尤其是那令人抓狂的 if err != nil 。 在正式讨论Go代码里满屏的 if err != nil 怎么办这个事之前,我想先说一说编程中的错误处理。这样可以让大家在更高的层面理解编程中的错误处理。 本文...

    分类:技术文章 时间:2020-12-26 17:04 我要评论(0个)

  • 4388726 views阅读

    Go 编程模式:Functional Options

    在本篇文章中,我们来讨论一下Functional Options这个编程模式。这是一个函数式编程的应用案例,编程技巧也很好,是目前在Go语言中最流行的一种编程模式。但是,在我们正式讨论这个模式之前,我们需要先来看看要解决什么样的问题。 本文是全系列中第3 / 8篇:Go编程模式Go编程模式:切片,接口,时间和性能Go 编程模式:错误处理Go 编程模式:Functional OptionsG...

    分类:技术文章 时间:2020-12-26 17:04 我要评论(0个)

  • 2743895 views阅读

    Go编程模式:Map-Reduce

    在本篇文章中,我们学习一下函数式编程的中非常重要的Map、Reduce、Filter的三种操作,这三种操作可以让我们非常方便灵活地进行一些数据处理——我们的程序中大多数情况下都是在到倒腾数据,尤其对于一些需要统计的业务场景,Map/Reduce/Filter是非有通用的玩法。下面先来看几个例子: 本文是全系列中第5 / 8篇:Go编程模式Go编程模式:切片,接口,时间和性能Go 编程模式:...

    分类:技术文章 时间:2020-12-26 17:04 我要评论(0个)

  • 3619015 views阅读

    Go 编程模式:Go Generation

    在本篇文章中,我们将要学习一下Go语言的代码生成的玩法。Go语言代码生成主要还是用来解决编程泛型的问题,泛型编程主要解决的问题是因为静态类型语言有类型,所以,相关的算法或是对数据处理的程序会因为类型不同而需要复制一份,这样导致数据类型和算法功能耦合的问题。泛型编程可以解决这样的问题,就是说,在写代码的时候,不用关心处理数据的类型,只需要关心相当处理逻辑。泛型编程是静态语言中非常非常重要的特...

    分类:技术文章 时间:2020-12-26 17:04 我要评论(0个)

  • 2534387 views阅读

    Go编程模式:委托和反转控制

    反转控制IoC – Inversion of Control 是一种软件设计的方法,其主要的思想是把控制逻辑与业务逻辑分享,不要在业务逻辑里写控制逻辑,这样会让控制逻辑依赖于业务逻辑,而是反过来,让业务逻辑依赖控制逻辑。在《IoC/DIP其实是一种管理思想》中的那个开关和电灯的示例一样,开关是控制逻辑,电器是业务逻辑,不要在电器中实现开关,而是把开关抽象成一种协议,让电器都依赖...

    分类:技术文章 时间:2020-12-26 17:04 我要评论(0个)

  • 1872966 views阅读

    使用 Golang 实现一个 JSON 命令行工具

    首先先提一个问题,"abc" 、123 或者 [1, 2, 3] 是不是一个合法的 json ?之前一直有在使用一个 json 的命令行工具 jq,这个工具是基于 flex 和 bison 来实现的(去了解这些是基于当年学习 php 的经历)。后来有段时间我又发现一个不错的词法和语法分析工具 antlr,它支持多种语言的生成,并且本身也提供了多种语言的基本语法文件。所以我就想能不用基于它...

    分类:技术文章 时间:2020-07-08 12:56 我要评论(0个)

  • 1868544 views阅读

    C/C++调Go函数

    C/C++调Go函数 https://stackoverflow.com/questions/6125683/call-go-functions-from-c https://medium.com/learning-the-go-programming-language/calling-go-functions-from-other-languages-4c7d8bcc69bf C/C++...

    分类:技术文章 时间:2020-06-02 14:47 我要评论(0个)

  • 2071551 views阅读

    写给 PHP 程序员的 Go 入门教程

    这两年唱衰 PHP 的论调不少(其实我觉得大可不必),导致不少 PHP 程序员产生危机感,纷纷寻求转型,根据我的观察,基本上 Go 都是首选。不管怎么说,技多不压身,多掌握一点知识总是好的。本文就作为一个基础的入门来帮助 PHP 程序员入门 Go 语言吧。1. 脚本语言 vs 编译型语言这其实是个我每次面试都会问的问题,脚本语言和编译型语言有什么区别。维基上的解释: 语法和结构通常比较简...

    分类:技术文章 时间:2020-05-26 20:55 我要评论(0个)