《如何写好一个状态机》—— 从入门到放弃系列
前言以前在做支付系统的入金模块时,遇到了一个经典问题:交易状态流转。你以为状态机就是一把梭?年轻人,图样图森破。当你的状态从 3 个变成 10 个,事件从 5 个变成 20 个,你就会发现自己写的代码比《百年孤独》里的家谱还难理清。今天,我…
共 70 篇文章
前言以前在做支付系统的入金模块时,遇到了一个经典问题:交易状态流转。你以为状态机就是一把梭?年轻人,图样图森破。当你的状态从 3 个变成 10 个,事件从 5 个变成 20 个,你就会发现自己写的代码比《百年孤独》里的家谱还难理清。今天,我…
一、Service Mesh 是什么?——解决你可能还没有的问题1.1 微服务的痛苦你的单体应用拆成了微服务,恭喜你。现在你有了新的问题:这些微服务之间的通信,带来了一大堆问题:1.2 没有 Service Mesh 之前怎么办?💡 Ser…
一、Kubernetes 是什么?——名字都念不对,怎么学?1.1 先把名字念对Kubernetes(读作 /kuːbərˈnɛtɪs/),源自希腊语,意为"舵手"或"领航员"。简称 K8s——因为 K 和 s 之间有 8 个字母。程序员的…
一、Docker 是什么?——一句话就能说清,但我偏要说一万字1.1 从"在我电脑上能跑"说起每个程序员的职业生涯中,都至少说过一次这句话:"在我电脑上是好的啊?!"这句话的杀伤力,堪比产品经理的"这个需求很简单"。Docker 的出现,就…
出门在外身份地位都是自己给的,作为一个经常需要写技术文档和论文的架构师,如何写出一些别人看上去很高级的东西呢?$$ L(w, b, \alpha) = \frac{1}{2}\w\^2 - \sum{i=1}^{n} \alphai yi(…
OIDC是啥OIDC 是 OpenID Connect 的缩写,是一个建立在 OAuth 2.0 协议之上的身份验证和授权协议。它旨在提供一个安全、标准化的方式,让用户在不同的应用程序之间进行身份验证和授权,从而实现单点登录(Single …
本文是我对 AutoX (AutoJs 的开源分支) 项目的深度技术分析,从架构师的角度全面剖析这个 Android 自动化框架的设计与实现。一、项目基础信息1.1 基本信息项目属性值项目名称AutoX (AutoJs 社区分支)包名版本号…
在十几年前,我读过一本神作《黑客与画家》,上面有一章的内容我记忆犹新,"机器自动写代码?不可能!",可是来到当下,技术进步的车轮滚滚向前,机器学习技术日新月异,自动写代码正在逐渐成为现实,而其中佼佼者就是巨硬和OpenAi推出的Copilo…
前言如果说Go语言是云原生时代的"瑞士军刀",那么go-zero就是这把军刀上的"一键开刃"按钮。作为一个在微服务战场上摸爬滚打多年的老兵,我可以负责任地说:go-zero是我见过的最"懂事"的微服务框架——它知道程序员不想写重复代码,它知…
前言:为什么你需要读这篇文章还记得那个深夜吗?你的系统被人用登录了,然后删库跑路。老板问你:"我们的安全措施呢?"你支支吾吾地说:"我以为用户会自觉的..."朋友,醒醒吧。本文将带你深入了解Java世界的三大安全框架:Spring Secu…
一、什么是正则表达式?正则表达式(Regular Expression,简称 regex 或 regexp)是一种用于描述字符串匹配模式的工具。它就像是一种专门用来"找东西"的迷你语言。正则表达式能做什么?验证:检查输入是否符合特定格式(邮…
前言:为什么又要学新东西?还记得那个美好的年代吗?一个MySQL主从架构就能撑起整个公司的业务,DBA喝着咖啡看着慢查询日志,岁月静好。然后,产品经理来了。"我们要支持千万级用户!""我们要实时分析!" "我们要99.99%可用性!""预算…
前言:一个关于空格的爱恨情仇作为一个写了十几年代码的老码农,我见过各种配置文件格式的兴衰:从上古时期的INI文件,到XML的"尖括号地狱",再到JSON的"引号海洋"。当YAML带着"人类可读"的光环出现时,我以为我找到了真爱。直到我第一次…
写在前面如果说 Java 开发者的一生是一部史诗,那 Maven 绝对是其中最虐心的章节之一。它像极了你的前任:刚认识时觉得"这人真不错,帮我管理一切",深入了解后才发现"卧槽这依赖地狱是什么鬼"。但不管怎么说,在 Gradle 还没有完全…
🛠️ "工欲善其事,必先利其器。然后你会发现,光有器不行,还得会用。"前言:为什么工具很重要还记得刚学Java的时候吗?用记事本写代码,手动编译,然后运行。那种纯粹的快乐,大概持续了...三天。然后你发现:写错一个分号,编译报错一百行想重构…