从真实世界中理解面向对象编程(OOP)
面向对象编程试图像我们的大脑一样对世界进行建模。本文中,我们将探索此建模背后的核心概念。我们如何看待这个世界?人脑不会按原样处理世界:它简化了世界。否则,它将无法处理每秒接收到的大量信息。当然,我们如何简化世界很重要:我们考虑重要的事情而忽略其他事情。换言之,我们在脑海中创造了一个世界模型:用类建模这个建模过程是基于发现事物之间的相似之处...
.pid 文件是什么
有时需要保存 Linux 进程的进程标识号(PID)。本教程中,我们将介绍一种使用 .pid 文件存储 PID 的常见方法,以及如何使用它的示例。有时,应用程序会将 PID 写入文件以便于访问。它只是一个仅包含进程 PID 的文本文件...
Java 中的 record 关键字
在许多 Java 应用中,在对象之间传递不可变数据是最常见但最平凡的任务之一。在 Java 14 之前,这需要创建一个包含样板字段和方法的类,这些字段和方法容易出现琐碎的错误和混乱的意图。随着 Java 14 的发布,现在我们可以使用 record 来解决这些问题。本文中,我们将研究 record 的基本原理,包括它们的意图、生成方法和自定义技术。...
Linux 中的 Bash 函数
我们在 Bash 脚本中编写复杂逻辑时,可以将其组织成可重用函数。本文中,我们将看看如何定义和使用 Bash 函数。我们可以使用两种方式来定义 Bash 函数...
[Laravel 扩展包]使用 Laravel Chaotic Schedule 包随机化命令执行时间
Laravel chaotic-schedule 包允许你通过伪随机数生成器(PRNG)随机化计划的命令执行时间和日期间隔:你有没有想过在一天中的随机时间或一周中的某些日子运行你的预定命令?或者,你可能需要发送一些通知,不是在固定的日期时间发送,而是在随机的时间间隔内,因此让人感觉更人性化。那么这就是你要找的包。这个 Laravel 包允许你在随机间隔和周期...
[Laravel 扩展包]UnoPim:基于 Laravel 的产品信息管理系统
UnoPim 是一个使用 Laravel 构建的开源产品信息管理(PIM)系统,你可以用它来组织、管理和充实产品信息。UnoPim 开源特性产品信息中心化 - 在一个地方管理所有产品数据增强 - 用详细的属性增强产品信息分类管理 - 将产品组织到分类中,以便于使用自定义分类字段进行导航用户管理 - 控制用户访问与权限API 集成 - 通过 RESTful A...
基于 Web 的 SSH 客户端
基于 Web 的 SSH 客户端提供了一种方便且独立于平台的解决方案,你可以从任何具有 Web 浏览器的机器访问远程 Linux 系统。这样,基于 web 的 SSH 客户端就不需要在客户端机器上安装额外的软件。基于 Web 的 SSH 客户端在 Linux 系统管理中有几个应用。一方面,当安装传统的 SSH 客户端不可能或不方便时,它们很有用。例...
Pest 3 发布了!
Pest 3 现已发布!可以立即开始突变测试(Mutation Testing),并通过查找未通过测试的代码来升级现有项目。使用流行的体系结构预设、团队管理、新配置 API 等创建一致的代码:...
Scala 介绍及入门教程
本文中,我们将学习 Scala——在 Java 虚拟机上运行的主要语言之一。我们将从核心语言特性开始,如值、变量、方法和控制结构。然后,我们将探索一些高级功能,如高阶函数、柯里化、类、对象和模式匹配。本文中,我们将使用标准的 Scala 安装:https://www.scala-lang.org/download/....
两阶段提交和 Saga 模式的不同之处
在当今的技术环境中,分布式系统因其优于单体系统而成为趋势。然而,软件架构中的一切都是一种权衡,这两种解决方案都不是防弹的。分布式系统面临的一个常见挑战是确保多个节点之间的数据一致性。本教程中,我们将分析管理分布式事务的两种不同方法之间的差异:两阶段提交和 Saga 模式。事务是我们想要对数据执行的一组操作。通常,事务表现出全有或全无...