管理提交到 Git 的凭证:恢复与预防
Feb 13, 2022 Development

管理提交到 Git 的凭证:恢复与预防

不小心将凭证提交到 Git?了解如何正确删除它们,为什么重写 Git 历史还不够,以及如何防止未来的泄露。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SecurityDevOpsJenkins
Jun 3, 2021 Cybersecurity

移动应用代码安全:真正有效的实现模式

实现移动安全需要的不仅仅是理论。学习可以立即部署的安全存储、混淆、运行时保护和身份验证的实用代码模式。

SecurityiOSAndroid
Defang URL:分享威胁信息的简单安全实践
May 1, 2021 Cybersecurity

Defang URL:分享威胁信息的简单安全实践

Defang URL 可防止在分享威胁情报时意外点击恶意链接。了解安全团队为何使用这种做法以及如何实施。

SecurityBest PracticesThreat Intelligence