青梅梦呓

和世界交手的这许多年,你是否光彩依旧,兴致盎然

0%

连接池在现实开发中是经常见到的,因为TCP的三次握手等原因,建立一个连接算是一个比较高的开销,而频繁的创建和销毁连接会带来严重的性能下降,所以在一个需要多次与特定实体交互的程序中,就需要维持一个连接池,里面有可以复用的连接可供重复使用。

PS: 今天在面试中被要求手写一个通用连接池,紧张之下表现的一塌糊涂,回来之后查缺补漏,增补记录以作后续提成

阅读全文 »

有限状态机(FSM)是计算的基本概念,在现实生活中发现许多FSM行为,例如自动售货机,电梯,交通信号灯等。基于FSM的编程也是建模复杂状态转换的强大工具,它可以大大简化我们的程序。

什么是有限状态机

有限状态机(FSM)或简称为状态机,是计算的数学模型。它是一种抽象机器,在任何给定时间都可以恰好处于有限数量的状态之一。FSM可以响应某些输入而从一种状态更改为另一种状态。从一种状态到另一种状态的变化称为过渡。
— 维基百科

FSM由三个关键元素组成:初始状态,所有可能状态的列表,触发状态转换的输入。
让我们将旋转栅栏作为FSM建模的简单示例。

阅读全文 »

哈希表是除了数组之外最常用的数据结构,几乎任何语言都有数组和哈希表这两个集合的实现,有些语言(比如Python) 将哈希表称之为字典,将数组称之为列表。但是它们是两种设计集合元素的思路,数组用于表示元素的序列,而哈希表示的是键值对之间映射关系,只是不同语言的叫法和实现稍微有些不同。Go语言中数组更常用到的是切片slice,哈希表则是map

阅读全文 »

准备认真练习算法题目,个人使用Go语言进行练习,这是算法系列文章的第一篇。

阅读全文 »

数组和切片是Go语言中常见的数据结构,很多刚刚使用Go的开发者往往会混淆这两个概念,数组作为最常见的集合在编程语言中是非常重要的,除了数组之外,Go 语言引入了另一个概念 — 切片,切片与数组有一些类似,但是它们的不同之处导致使用上会产生巨大的差别。我个人对于算法专项使用Go语言来进行练习,因此只涉及Go语言的部分实现和原理。

阅读全文 »

欧老板昨天问我怎么让自己的go程序使用github-actions,给欧老板做了一个简单的demo, 一个beego的程序,随便写了点单测的代码。一个基本的 Pipeline,推送代码到 master 分支的时候就会触发该 Pipeline 的自动构建,进行代码的静态化检查操作、运行单元测试并使用 Codecov 生成代码覆盖率报告,部署到Netlify,并且根据Dockerfile生成Docker镜像。

阅读全文 »

container是docker中最重要的,是打包代码及其所有依赖项的标准软件单元,因为container应用程序可以从一个计算环境快速可靠地运行到另一个计算环境。

阅读全文 »

在写完podman体验的文章后,有几个朋友说作为开发还没开始使用Docker,就要去Docker,这世界变化太快。回过头想重新看一下Docker的使用,也体验一下最近docker带来的新的改变。谨做系列文章以记。

阅读全文 »