文章分类: 编程
编程

Spring Security 的双因素认证

506 2024-11-18 19:46:00

在本教程中,我们将使用软令牌和 Spring Security 实现双因素身份验证功能。我们将把新功能添加到现有的简单登录流程中,并使用 Google Authenticator 应用程序生成令牌。简单地说,双因素身份验证是一个验证过程,遵循众所周知的“用户知道的东西和用户拥有的东西”的原则。因此,用户在身份验证过程中提供了一个额外的“验证令牌”...

详情...
编程

Laravel 中使用 doesntContain 简化字符串检测

441 2024-11-16 03:32:00

需要检查字符串是否未包含某些单词吗?Laravel 的 Str helper 提供的新 doesntContain 方法使这项任务变得轻而易举!让我们来探索一下这个简单但有用的功能是如何工作的。使用 doesntContaindoesntContain 方法是 contains 的反面,当字符串不包含特定内容时返回 true:use Illuminate\S...

详情...
编程

在 PHP 中处理 10 亿行数据!

450 2024-11-15 15:36:00

你可能听说过“十亿行挑战” (1brc),如果你没有听说过,去看看 Gunnar Morlings 的 1brc 仓库。第一种天真的方法我克隆了存储库,并在 measurements.txt 中创建了十亿行数据集...

详情...
编程

PHP 中的单引号 vs. 双引号

453 2024-11-12 02:24:00

最近,我又听说 PHP 社区中有人仍然在谈论单引号和双引号,他们说使用单引号只是一种微优化,但如果你习惯了一直使用单引号,你会节省大量的 CPU 周期!为什么会这样呢?PHP 实现了字符串插值,在其中它搜索字符串中变量的使用情况,并将其替换为所用变量的值:$juice = "apple"; echo "They drank some $juice juice...

详情...
编程

Laravel 管道(Pipeline)工作原理及其使用

622 2024-11-11 01:09:00

管道允许你在返回结果之前通过多层逻辑发送数据。事实上,Laravel 实际上在内部使用管道来处理请求,并将其传递给应用的每个中间件。本文中,我们将看看什么是管道以及 Laravel 如何在内部使用它们,并展示如何创建自己的管道。我们还将介绍如何编写测试以确保你的管道按预期工作。

详情...
编程

[Laravel 扩展包]Fetch PHP:一个轻量级 HTTP 库,类似于 JavaScript 的 fetch()

483 2024-11-10 18:00:00

Fetch PHP 是一个受 JavaScript fetch 启发的轻量级 HTTP 库,为 PHP HTTP 请求带来了简单性和灵活性。它在后台使用 Guzzle 客户端,通过易于使用的 API 提供同步和异步请求;我知道 Guzzle 是王者,我会在大多数项目上使用 Laravel 的 HTTP 客户端。然而,当你想要一个简单的 fetch() 函数时...

详情...
编程

TIOBE 编程语言排名: 2024 年 11 月

1141 2024-11-10 10:50:00

十一月头条:Go 语言已留在榜单中。Go 语言正在 TIOBE 指数中崭露头角。在进入前 10 名已有一段时间后,它现在位居第 7。这是历史最高点。Go 在前 10 名中的独特之处在于,Go 程序快速且易于部署,同时语言易于学习。例如,Python 易于学习,但速度不快,由于对环境中各种版本库的依赖,大型 Python 程序的部署很脆弱。例如,与 Rust(另...

详情...
编程

PHP 8.4: 弃用使用两个以上参数调用 session_set_save_handler()

511 2024-11-03 04:19:00

Session 扩展中的 session_set_save_handler 函数设置了一系列用户级会话存储函数,以覆盖内置的基于文件的存储机制。当应用需要将用户会话存储在数据库、内存中,或在自动化测试期间覆盖会话存储机制时,这很有用。session_set_save_handler 函数支持两个重载签名,这仅适用于原生内置的 PHP 函数,并且只有少数 PH...

详情...
编程

PHP 8.4: 新增 grapheme_str_split 函数

449 2024-11-01 18:00:00

PHP 8.4 中的 Intl 扩展添加了一个名为 grapheme_str_split 的新函数,该函数将给定的字符串拆分为一个字素数组。字素是语言系统中有意义和功能的最小单位。相比之下,来自 Mbstring 扩展的 mb_str_split 函数具有相似的语义,但主要区别在于mb_str_split 函数将字符串拆分为 Unicode 多字节字符,而 ...

详情...
编程

[Laravel 扩展包]Prism - Laravel 的 AI 包

570 2024-10-31 23:15:00

Prism 是一个强大的 Laravel 包,用于将大语言模型(LLM)集成到你的应用中。使用 Prism,你可以使用软件包的驱动器模式轻松使用不同的 AI 提供商,它为你提供了一个统一的界面,可以开箱即用地与流行的 AI 提供商合作。在撰写本文时,Prism 有三个内置的提供者——Anthropic、Open AI 和 Ollama——能够创建自定义驱动程...

详情...