文章分类: 编程
编程

使用 Spring 实现两级缓存

562 2024-05-31 00:55:00

缓存数据意味着我们的应用不必访问速度较慢的存储层,从而提高了性能和响应能力。我们可以使用任何内存中的实现库来实现缓存,比如 Caffeine。尽管这样做可以提高数据检索的性能,但如果应用部署到多个副本集,则缓存不会在实例之间共享。为了克服这个问题,我们可以引入一个所有实例都可以访问的分布式缓存层。本教程中,我们将学习如何在 Spring 中实现两级...

详情...
编程

使用 Alpine.js 排序插件排序元素

487 2024-05-29 18:36:00

Alpine.js 在生态系统中有一个新的第一方排序插件,它允许你通过用鼠标拖动元素来轻松地重新排序。Sort 插件在后台使用 SortableJS 项目来重载排序元素,并为 Alpine 提供了一个很好的 API:

详情...
编程

一些新的数组函数正在加入 PHP 8.4

611 2024-05-29 01:58:00

PHP 8.4 仍在开发中,到目前为止已经有了一系列新功能和改进。新功能不断出现,其中一个最近出现的功能是添加了新的数组方法。有一个 RFC(仍处于投票阶段),它建议添加这些新方法,这些方法本质上与检查数组中是否存在与特定条件匹配的元素有关。新方法是:array_find、array_find_key、array_any、array_all、array_find 方...

详情...
编程

PHP 8.4 中是否实现不带额外括号的类实例化?

542 2024-05-28 12:00:00

略去 new 表达式周围括号的 RFC 可能会出现在 PHP 8.4 中。该 RFC 目前处于投票阶段,有 21 张“赞成”票和 3 张“反对”票。投票将于 5 月 24 日结束,因此 ⅔ 的投票仍有可能失败,但乐观地说,看起来它正朝着正确的方向前进。自从引入了实例化期间的成员访问,你必须将 new MyClass() 调用封装在括号中,否则将出现解析错误。...

详情...
编程

[Laravel 扩展包]Replicate Laravel PHP 客户端

749 2024-05-27 15:42:00

Replicate Laravel 包是 Replicate API 的 PHP 客户端,Replicate API 是用于运行和微调开源 AI 模型的 API。以下是使用 Replicate Laravel 客户端的一个示例:use HalilCosdu\Replicate\Facades\Replicate; $response = Replic...

详情...
编程

Linux 下载管理器

735 2024-05-26 18:54:00

作为 Linux 管理员,我们可能面临的挑战之一是以方便可靠的方式从 Internet 或其他网络位置下载文件。一般来说,下载文件,尤其是大文件,可能是一个令人沮丧和耗时的过程,原因有几个:Internet 连接可能很慢有些浏览器不支持暂停和恢复功能无头安装缺少方便的浏览器本地计算机或远程服务器可能由于不稳定而变得没有响应这就是下载管理器派上用场的...

详情...
编程

进程 vs. 线程

776 2024-05-26 01:07:00

本文将简要定义两个不明确的术语,进程和线程。之后,我们将看看它们之间的区别。进程是程序的执行。它包括程序本身、数据、文件等资源以及执行信息(比如,操作系统保存的进程关系信息等)。操作系统允许用户通过系统调用创建、调度和终止进程。线程是一个非完全进程。它有自己的堆栈,并执行给定的一段代码。与实际进程不同,线程通常与其他线程共享内存。相反,进...

详情...
编程

Laravel 底层 - 策略模式

762 2024-05-25 00:19:00

策略模式是一种行为设计模式,使得算法行为可以在运行时被选择。我们将在本文中讨论策略模式,以及 Laravel 如何在幕后使用它。在 Laravel 社区中,它通常被称为 Manager 模式。我在书中也遇到过它被标记为 “Builder” 模式的情况,我不同意这一点,稍后我将解释原因。简单地说,策略模式允许你根据条件切换实现(或算法)。在我们深入研究之前,需...

详情...
编程

[Laravel 扩展包]Laravel Honeypot(蜜罐):防止垃圾信息通过表单提交

857 2024-05-23 18:44:00

当将表单添加到公共网站时,垃圾信息机器人可能会试图使用虚假值提交表单。幸运的是,这些机器人中的大多数都相当愚蠢。您可以通过在表单中添加一个不可见的字段来阻止其中的大多数操作,该字段在提交时永远不应该包含值。这样的字段被称为蜜罐。这些垃圾信息机器人只会填充所有字段,包括蜜罐。当提交的蜜罐字段已满时,此包将丢弃该请求。除此之外,这个包还检查提交表单所花的时间。这...

详情...
编程

面向接口编程!

713 2024-05-21 05:50:00

当你对编程越来越认真时,你不可避免地会在视频、书籍或文章中遇到“面向接口编程”这个词语。一开始我们或许都不能真正理解其中含义。我们真的需要创建一个接口然后实现它。我们如何确定何时何地使用这些接口?每当看教程或读文章时,它们都会解释什么是接口,“这是一个没有实现的类”,但是为什么以及何时使用它呢。我们先来写一些代码当下 AI 如火如荼。让我们把它添加到我们的网...

详情...