你知道和你不知道的冒泡排序

这篇文章包含了你一定知道的,和你不一定知道的冒泡排序。

什么是冒泡排序

可能对于大多数的人来说比如我,接触的第一个算法就是冒泡排序。

我看过的很多的文章都把冒泡排序描述成我们喝的汽水,底部不停的有二氧化碳的气泡往上冒,还有描述成鱼吐泡泡,都特别的形象。

其实结合一杯水来对比很好理解,将我们的数组竖着放进杯子,数组中值小的元素密度相对较小,值大的元素密度相对较大。这样一来,密度大的元素就会沉入杯底,而密度小的元素会慢慢的浮到杯子的最顶部,稍微专业一点描述如下。

继续阅读你知道和你不知道的冒泡排序

聊聊微服务集群当中的自动化工具

本篇博客主要介绍了自动化工具这个概念,在微服务集群当中的作用,算抛砖引玉,欢迎大家提出自己的见解。

写在前面

在了解自动化工具的概念之前,我们先了解一下微服务和集群的概念。

什么是微服务

这个概念其实有些广泛,而我的知识广度也有限,我会尽量用通俗的语言来描述什么是微服务,什么是集群,以及为什么我们需要微服务集群 。为什么需要集群可以去看看《小强开饭店-从单体应用到微服务》,这篇文章用非常通俗的语言和配图,通过一个漫画故事简单的解释了为什么我们需要微服务集群。

继续阅读聊聊微服务集群当中的自动化工具

Go源码解析-Println的故事


本文主要通过平常常用的go的一个函数,深入源码,了解其底层到底是如何实现的。

Println

Println函数接受参数a,其类型为…interface{}。用过Java的对这个应该比较熟悉,Java中也有…的用法。其作用是传入可变的参数,而interface{}类似于Java中的Object,代表任何类型。

所以,…interface{}转换成Java的概念,就是Object args ...

Println函数中没有什么实现,只是return了Fprintln函数。

继续阅读Go源码解析-Println的故事

漫话微服务演进

本篇博客通过小强开饭店的通俗易懂的故事,带你了解后端服务是如果从单体应用演变到微服务的。如果有说的不对的地方,欢迎各位大佬强势怼。

小强开饭店

有一天,小强为了早日奔赴小康生活,打算开一个饭店来帮他快速的实现这个目标。

饭店开业了

于是他盘下了一个店面,一顿装修之后,雇了一个厨师,便开业了。

img
继续阅读漫话微服务演进

用go-module作为包管理器搭建go的web服务器

本篇博客主要介绍了如何从零开始,使用Go Module作为依赖管理,基于Gin来一步一步搭建Go的Web服务器。并使用Endless来使服务器平滑重启,使用Swagger来自动生成Api文档。

源码在此处:项目源码

大家可以先查看源码,然后再根据本篇文章,来了解搭建过程中服务器的一些细节。

搭建环境

以下所有的步骤都基于MacOS。

安装go

在这里推荐使用homebrew进行安装。当然你也可以使用源码安装。

继续阅读用go-module作为包管理器搭建go的web服务器