从入门到放弃:如何在 Code Review 中假装自己看懂了
前言:Code Review 的残酷现实理想中的 Code Review 是这样的:sequenceDiagram participant A as 作者 participant R as Reviewer participant C as…
共 12 篇文章
前言:Code Review 的残酷现实理想中的 Code Review 是这样的:sequenceDiagram participant A as 作者 participant R as Reviewer participant C as…
一、传统支付系统架构:三座大山在动手之前,先来看看传统支付系统为什么到了500 TPS就开始"喘气"。1.1 传统架构长什么样graph TB subgraph 传统支付架构 Client客户端 -- GatewayAPI Gateway …
前言:什么叫「优雅地让人看不懂」?让人看不懂的代码分两种境界:quadrantChart x-axis "低技术含量" -- "高技术含量" y-axis "低迷惑程度" -- "高迷惑程度" quadrant-1 "天花板(本文目标)" …
前言以前在做支付系统的入金模块时,遇到了一个经典问题:交易状态流转。你以为状态机就是一把梭?年轻人,图样图森破。当你的状态从 3 个变成 10 个,事件从 5 个变成 20 个,你就会发现自己写的代码比《百年孤独》里的家谱还难理清。今天,我…
前言:为什么你需要读这篇文章还记得那个深夜吗?你的系统被人用登录了,然后删库跑路。老板问你:"我们的安全措施呢?"你支支吾吾地说:"我以为用户会自觉的..."朋友,醒醒吧。本文将带你深入了解Java世界的三大安全框架:Spring Secu…
🛠️ "工欲善其事,必先利其器。然后你会发现,光有器不行,还得会用。"前言:为什么工具很重要还记得刚学Java的时候吗?用记事本写代码,手动编译,然后运行。那种纯粹的快乐,大概持续了...三天。然后你发现:写错一个分号,编译报错一百行想重构…
本文属于《从入门到放弃》系列,但这次我要劝你别放弃,因为不写单元测试的代码,就像没系安全带的汽车——平时感觉挺自由,出事了直接起飞。前言:一个没写单元测试的程序员的一天早上9点,产品经理说:"这个需求很简单,就改一行代码。"你信了,改了。下…
前言:技术的"生死轮回""在这个行业里,唯一不变的就是变化本身。" —— 某位被迫学了三遍前端框架的后端程序员如果你是一个有着十年以上工作经验的 Java 程序员,那么恭喜你,你已经见证了无数技术的兴衰更替。那些曾经让你熬夜加班、掉光头发的…
java相比c++最大的进步就是在于增加了gc不用开发者手动分配和回收内存,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,在这个过程中控制权转移给了虚拟机…
不查不知道,一查吓一跳,jdk最新的版本已经来到了jdk17,而在2017年9月,jdk发布的版本是java9,这几年oracle玩命的每年3月、9月一年发布2个版本,导致很多开发者和公司都压力很大,今年9月份又要发布jdk18了,现在用j…
前言:为什么需要Apache Commons?如果你写Java时经常遇到这些场景:判断字符串是否为空,写了一堆复制对象属性,写了几十行getter/setter读取文件内容,try-catch-finally嵌套三层集合操作,各种for循环…
guava是google开发的一个基础java类库,包括主要的模块为utilities/Functional/Collections/concurrency/cache/eventbus/work files,guava提供了很多好用的ap…