程序编程实战教程 -AI、Java、Spring Boot 实战 专注后端开发知识分享,涵盖 Java 基础、Spring Boot 实战、数据库优化与中间件应用,助力程序员成长为优秀后端开发工程师。

写作让我成为一名更好的工程师

文章介绍了作者如何通过写作提升了自己的工程技能。作者从学习写作开始,通过撰写关于工程的问题、解决方案和知识的文章,学会了将直觉转化为连贯的概念,并培养了战略思维。作者意识到好的策略需要清晰的目标愿景、对机遇和障碍的全面洞察以及对技术格局的扎实理解。写作帮助作者沟通策略,使他能朝着有影响力的业务目标引导遗留代码库。几个月的练习后,作者能写出简洁的战略文档,为团队指明方向。现在,作者的每一项工程任务都以写作为载体,帮助他长时间清晰地思考、做出并记录决策。总之,写作让作者成为一名更好的工程师。

图表是终极工程工具

图表是终极工程工具,不仅视觉上赏心悦目,也蕴含着隐藏的、复杂而又优雅的数学世界。图表在各个领域内部和跨学科的协作、构思和文档编写中无处不在。它们直观易用且易于操作,是人类模拟世界的方式。图表使我们能够跨学科工作,影响深远。认真对待图表,它们是最强大的软件工程技术之一。

我是 Wes Bos,问我任何事情!

Wes Bos是一位来自加拿大的全栈开发人员,他在多个在线课程如JavaScript30,React For Beginners等有出色的表现。他在推特上非常活跃,并和Scott Tolinkski一起开始了名为Syntax的播客。他对Web开发和商业充满热情,并将其转化为职业。今天东部时间下午2点,他将进行一次“问我任何事情”的活动,欢迎随时提问。

实用 Rust Web 开发 - API Rest

摘要: 本文主要介绍了实用的 Rust Web 开发中的 API Rest 的相关操作。文章先讲解了因 Diesel 异步问题可能需要调整方法的情况,接着介绍了一系列博客中的第一篇,展示了如何使用 Rust 进行 Web 开发,包括安装 Rust、创建新项目、选择 Web 框架 actix-web 等步骤。文章还详细说明了如何添加依赖项、创建 hello world 示例、注册请求处理器和路由等,并提到了数据库驱动的选择及依赖项的添加。最后总结了全文内容。

SQL:外连接

摘要:本文介绍了SQL中的外连接,包括其定义、类型和如何使用。通过具体的例子和图表解释了外连接的工作原理,包括左外连接、右外连接和完全外连接。还介绍了带有WHERE子句的外连接的使用。由于MySQL不支持完全连接,因此提供了相应的查询方式。

Python 中的简单依赖类型

文章讨论了Python中的简单依赖类型,主要介绍了依赖类型的概念及其在Python中的应用。文章首先通过展示一个混合返回类型的函数示例,引出依赖类型的必要性。然后介绍了文字和@overload的使用,解释了依赖类型如何帮助我们编写类型安全的代码。接着详细解释了Literal和@overload的功能和用法,并对比了Literal和int类型的区别。最后,文章强调了依赖类型的价值和重要性,并指出其在Python中的实际应用。

Python 异常被视为反模式

这篇文章讨论了Python中的异常被视为一种反模式的原因。文章指出,异常难以被注意到,即使在看似完美的代码中也可能隐藏潜在的问题。此外,恢复正常行为几乎是不可能的,因为每个用例可能需要不同的恢复逻辑。文章还提到执行流程的不清晰性,异常处理可能会分散代码的注意力,使得代码的逻辑变得混乱。因此,文章认为异常在某些情况下被视为反模式,因为它们可能导致代码难以理解和维护。

编写正确用户故事的工程指南

摘要:本文介绍了编写正确用户故事的工程指南,强调了改进默认用户故事格式的重要性。文章通过具体的例子说明了如何发现并解决问题,包括使用一致的语言、确保用户目标与技术手段分离、明确角色等。同时,文章还介绍了如何将用户故事与测试、源代码和文档相链接,以确保需求的正确、明确、完整、一致、有序、可验证、可修改和可追溯。

在 Python 中实施单一职责原则

本文介绍了在Python中实现单一职责原则(SRP)的概念和重要性。单一职责原则要求软件的每个部分只有一个职责。为了确保代码的简洁和可维护性,作者提倡将复杂的任务分解成一系列简单的构建块,然后将它们组合成复杂的软件。文章通过实例解释了如何在Python中实现这一原则,包括定义构建块、确保函数复杂性可控、使用可调用对象解决函数组合问题以及依赖注入减少可调用对象的样板代码等步骤。最后,文章总结了单一职责原则在Python编程中的实际应用,强调了其在提高代码质量和可维护性方面的作用。

复杂性瀑布

本文探讨了代码复杂性的瀑布效应,解释了代码复杂性如何像瀑布一样不断累积和增加。文章首先讨论了代码复杂性的来源,包括大块代码的添加和增量添加两种方式。然后,文章强调了代码审查的重要性,并指出审查人员面临的挑战在于找出代码复杂度的确切位置和解决方案。接下来,文章介绍了如何防止代码变得复杂,包括使用简洁的编码风格和自动化的重构方法。最后,文章详细解释了代码复杂性的表现形式,包括表达式、违规和不良编程习惯等,并以Python语言为例说明了如何使用linting工具来查找和修复代码中的违规行为。总的来说,本文强调了理解和控制代码复杂性的重要性,并提供了一些实用的方法和工具来帮助开发人员更有效地管理和优化代码。