Lei Xia

Sr. Software Engineer | Solution Architect

抒写代码,尽享生活,筑就未来。

订阅 · 赞赏

avatar

如何在一个月内通过AWS助理级解决方案架构师认证

2023年12月31日 · 32 字 · 1 分钟

云计算在当今数字化时代扮演着至关重要的角色。它提供了弹性、可靠和高度可扩展的计算资源,为组织和个人提供了创新和增长的机会。云计算降低了成本、提高了效率、加快了创新速度,并为数据安全和可靠性提供了保障。同时,通过云计算,人们可以轻松访问和管理应用程序、存储和分析数据,并实现全球范围内的协作和连接。

通过获得云计算认证,个人和组织能够证明他们具备了云计算技能和专业知识,增强了竞争力,并为应对日益复杂的技术挑战做好准备。

理解TCC分布式事务

2023年6月4日 · 260 字 · 2 分钟

分布式事务是涉及两个或多个网络主机的数据库事务

众所周知,网络和主机可能由于某些原因而无法访问,例如电源故障、硬件故障等。

在这篇文章中,我将分享如何使用TCC实现分布式事务。

构建有限状态机来优化业务流程

2023年5月4日 · 449 字 · 3 分钟

在本文中,我将分享如何构建有限状态机(FSM)来帮助业务流程过渡,例如审计。

有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机(英语:finite-state automaton,缩写:FSA),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。

维基百科 - 有限状态机

修复M1使用gomonkey提示permission defined错误

2023年4月20日 · 20 字 · 1 分钟

问题 Go单元测试在M1上使用github.com/agiledragon/gomonkey/v2 v2.9.0包提示permission defined。 网上查阅消息得知是由于内存安全导致,不能同时对内存进行写和执行

拓补排序

2023年2月10日 · 150 字 · 1 分钟

在计算机科学领域,有向图的拓扑排序或拓扑测序是对其顶点的一种线性排序,使得对于从顶点$u$到顶点$v$的每个有向边$uv$, $u$在排序中都在$v$之前。 例如,图形的顶点可以表示要执行的任务,并且边可以表示一个任务必须在另一个任务之前执行的约束;在这个应用中,拓扑排序只是一个有效的任务顺序。 当且仅当图中没有定向环时(即有向无环图),才有可能进行拓扑排序。

水塘抽样算法

2023年1月19日 · 100 字 · 1 分钟

下面是维基百科水塘抽样的说明。 水塘抽样是一系列的随机算法,其目的在于从包含 $n$个项目的集合 中选取$k$ 个样本,其中 $n$为一很大或未知的数量,尤其适用于不能把所有 $n$ 个项目都存放到内存的情况。

时间差计算算法

2023年1月19日 · 103 字 · 1 分钟

本文分享如何解决计算时间差类的问题。 算法 首先需要将时间转化为数字,比如23:59,可以转化为23*60+59 然后根据数字从小到大排序,此时从[0, n]处的数据有序,可以遍历该区间计算差值 需要注意的是,由于时间的特殊性,比如23:59下一分会归0,因此还需要比如0处和n处的时间差 示例 Leetcode 539.

滑动窗口算法

2023年1月19日 · 128 字 · 1 分钟

滑动窗口算法是查找连续区间常用的算法之一。 本文分享滑动窗口算法的通用框架。 算法 定义$left$和$right$双指针,代表窗口的左边界和右边界 当$right$小于给定区间大小时,我们可以进行操作。 在扩大窗口时,需要加当前新加入的数据进行处理 当当前窗口内数据不满足条件时,右移$left$指针缩小窗口 计算$[left,right]$之间的数据,和最佳答案比较并更新最佳答案 右移$right$ 下面是滑动窗口通用框架的java语言实现。

字符串子序列检测算法

2023年1月5日 · 63 字 · 1 分钟

本文分享一种检测一个字符串是否为另一个字符串子序列的算法。 子序列的定义: 若字符串$s1$可以由字符串$s2$删除某些字符得到,则$s1$是$s2$的子序列。换句话说,若$s1$的所有字符都在$s2$中且顺序一致,则$s1$是$s2$的子序列。 例如: a是aaa的子序列,adf是abcdef的子序列,但是cba不是abc的子序列(因为字符顺序变了)。