如何设计一个前后端同构框架? 项目地址https://github.com/ling-moe/pisces 背景我深信未来的Web开发将会向着统一语言的方向发展,这一语言不仅能够成为个人从事全栈开发的得力工具,还有望支持前后端分离的协同开发。然而,眼下的Web开发却正逐渐显露出一系列棘手问题,主要集中在前端与后端开发团队在进行协作时,对于数据格式、逻辑处理和关注焦点上的不一致,这可能导致沟通困难、集成问题增多。 想象一个用户注 2024-02-12
敏捷与宗教与供给侧结构性改革 敏捷与宗教与供给侧结构性改革最近做了一段时间的敏捷教练,遇到了许多挑战,人和事都有吧,但主要还是在人上,因此也接触了一下心理医生、也和同事聊过一点佛学,我自己之前也研究过一点道家,易经之类的东西,上大学时候跟老师做过一点供给侧结构性改革的论文,忽然发现好像世间这些路都有那么点万法归一的意思,刚刚提到的这几样东西不能说是毫不相关,但是也起码差了十万八千里,但是背后所体现的思想,真的很万法归一,都是要 2022-12-25 设计哲学 #敏捷
CodeReview最佳实践 我一直认为Code Review是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,Code Review都是基本要求,代码合并之前必须要有人审查通过才行。 然而对于我观察到的大部分软件开发团队来说,认真做Code Review的很少,有的流于形式,有的可能根本就没有Code Review的环节,代码质量只依赖于事后的测试。也有些团 2022-12-04 工程实践 #Code Review
SpringBoot启动过程分析 springboot的入口程序@SpringBootApplication public class SpringApplicationDemo{ public static void main(String[] args) { SpringApplication.run(SpringApplicationDemo.class, args); 2022-10-19 Java #源码分析
Google Code Review 指南 代码审查者指南本节是基于过往经验编写的 Code Review 最佳方式建议。其中分为了很多独立的部分,共同组成完整的文档。虽然您不必阅读文档,但通读一遍会对您自己和团队很有帮助。 Code Review 标准代码审查的主要目的是确保逐步改善 Google 代码库的整体健康状况。代码审查的所有工具和流程都是为此而设计的。 为了实现此目标,必须做出一系列权衡。 首先,开发人员必须能够对任务进行改进。 2022-07-23 工程实践 #Code Review
理解Redis基本数据结构及设计策略 Redis内置了5种对外开放的数据结构, 分别是字符串, 列表, 集合, 有序集合以及哈希对象。 每一种数据结构的底层实现都会由存入的数据产生动态变化, 这也是Redis具有极佳吞吐量的原因之一。 本篇文章主要描述其基本数据结构的实现以及这些结构在使用时的注意事项。 StringSting对象是Redis中使用最为广泛的数据结构, 不管是存储的Key, 还是Value, 都绕不开String对象。 2022-05-10 Redis #源码分析
如何实现具备 ACID 事务的分布式 KV 存储 F1/Spanner 的论文于 2012 年发表,至今仍是世界上最先进的、规模最大的分布式数据库架构,毫无疑问对现代数据库设计产生了深远影响。其最大的亮点莫过于 TrueTime API,凭借原子钟和 GPS 的加持在全球范围实现了单调递增的时间戳,从而达到外部一致性;其次则是验证了分布式 MVCC 的高性能实现,为业界指明一条发展方向。 不过,论文对存储层实现只作了模糊的阐述:原文中说 2022-03-12 数据库 #事务
使用Akka构建无锁的并发 背景写并发程序很难。我们不得不处理线程、锁和竞态条件等等,这个过程很容易出错,而且会导致程序代码难以阅读、测试和维护。 所以,很多人不倾向于使用多线程编程。取而代之的是,他们使用单线程进程,依赖外部服务(如数据库、队列等)处理所需的并发或异步操作。虽然这种方法在有些情况下是可行的,但还有很多其他情况不能奏效。很多实时系统——例如交易或银行业务应用,或实时游戏——等待一个单线程进程完成就太奢侈了(他 2022-01-03 Java #无锁设计
高性能队列——Disruptor 背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。 目前, 2021-12-04 Java #无锁设计