Development

编程范式:为问题选择正确的思维模型
Jan 3, 2022 Best Practices

编程范式:为问题选择正确的思维模型

编程范式塑造了我们思考和解决问题的方式。理解它们的优势、权衡和适用场景可以做出更好的软件设计决策。

Best PracticesSoftware DesignProgramming
身份代理:分布式系统中的集中式身份验证
Dec 24, 2021 Security

身份代理:分布式系统中的集中式身份验证

身份代理在多个系统中集中管理身份验证,但实现选择会影响安全性、性能和用户体验。了解模式、权衡和陷阱。

SecurityAuthentication
依赖倒置原则:高层模块不应依赖低层模块
Nov 30, 2021 Best Practices

依赖倒置原则:高层模块不应依赖低层模块

高层模块不应依赖低层模块。两者都应依赖抽象。这一原则颠倒了传统的依赖结构,但开发者经常创建违反它的僵化架构。

Best PracticesSoftware Design
接口隔离原则:不应强迫客户端依赖未使用的方法
Nov 1, 2021 Best Practices

接口隔离原则:不应强迫客户端依赖未使用的方法

不应强迫客户端依赖它们不使用的接口。这一原则防止臃肿接口给实现者带来不必要方法的负担,但开发者经常创建违反它的臃肿抽象。

Best PracticesSoftware Design
里氏替换原则:不可违背的契约
Oct 1, 2021 Best Practices

里氏替换原则:不可违背的契约

子类型必须能够替换其基类型而不破坏程序正确性。这一原则确保继承层次结构保持健全,但开发者经常通过看似无害的设计决策违反它。

Best PracticesSoftware Design
开闭原则:在不破坏的情况下扩展
Sep 12, 2021 Best Practices

开闭原则:在不破坏的情况下扩展

软件实体应该对扩展开放,对修改关闭。这个原则承诺在不破坏的情况下提供灵活性,但开发者在何时应用抽象以及何时会变成过度工程方面挣扎。

Best PracticesSoftware Design
单一职责原则:SOLID 设计的基石
Sep 9, 2021 Best Practices

单一职责原则:SOLID 设计的基石

一个类应该只有一个改变的理由。这个简单的陈述构成了 SOLID 设计的基础,但开发者却在什么是'单一职责'以及何时拆分类的问题上挣扎。

Best PracticesSoftware Design
DRY 原则:当代码重复成为技术债
Aug 8, 2021 Best Practices

DRY 原则:当代码重复成为技术债

Don't Repeat Yourself 听起来简单,但知道何时应用它需要判断力。了解何时重复是有害的、何时可接受,以及过早抽象如何比重复更糟。

Best PracticesSoftware DesignCode Quality
Jenkins 凭证泄露:CI/CD 流水线中隐藏的安全风险
Jul 1, 2021 Security

Jenkins 凭证泄露:CI/CD 流水线中隐藏的安全风险

Jenkins 凭证可能通过构建日志、脚本控制台和 API 端点泄露。了解凭证如何被暴露,以及如何保护你的 CI/CD 流水线。

SecurityDevOpsJenkins
证书固定:TLS 安全的双刃剑
Mar 4, 2021 Security

证书固定:TLS 安全的双刃剑

证书固定承诺增强安全性,但也带来了运营风险。了解固定什么、如何实现,以及为什么它可能会破坏你的应用程序。

SecurityCertificateTLS
应用程序日志最佳实践 - 从设计到生产
Nov 3, 2020 Logging

应用程序日志最佳实践 - 从设计到生产

日志是应用程序的黑匣子记录器。学习如何设计日志策略,在编写代码之前就将调试噩梦转变为五分钟解决的问题。

LoggingBest PracticesDevOps
监控最佳实践 - 为什么可观测性胜过猜测
Oct 1, 2020 Monitoring

监控最佳实践 - 为什么可观测性胜过猜测

看不见就无法修复。了解适当的监控如何将被动的救火转变为主动的问题解决——以及为什么可观测性是系统的健康保险。

MonitoringDevOpsBest Practices