理解 Go 语言的空接口
那么,什么是空接口?以下是来自 Go Tour 的简短引用:空接口可以保存任何类型的值。空接口由处理未知类型值的代码使用。虽然 Go 是一种静态类型语言,Go 也有一些动态类型语言(如 PHP、Ruby 和 Python)的优点。例如,在 API 的上下文中,空接口提供了仅在数据可用时才返回数据的灵活性。你不必仅仅为了这样做而设置一个有效的空值。...
使用 Deployer 简化 PHP 部署
Deployer 是一个用 PHP 编写的开源部署管理工具。它是一个快速、模块化的 PHP 部署工具;支持回滚、原子部署、并行任务和跨多个服务器(无论是本地还是远程)的一致部署。
Alpine.js 的 Resize 插件
Caleb Porzio,Alpine.js 的创建者,刚刚发布了一个 Resize 插件,允许你在元素发生变化时轻松做出反应。这个插件是 Resize Observer API 的包装器...
Algolia vs ElasticSearch vs Meilisearch vs Typesense 之比较
此表旨在为你提供每个搜索引擎中关键功能的客观并排比较,它们是基于每个搜索引擎的文档。本文努力在下面提供准确的信息,但如果你发现任何问题,可以留言交流。...
Typesense 简介
Typesense 是一个开源的、可容忍拼写错误的搜索引擎,针对即时(通常低于 50 毫秒)的、根据输入进行搜索的体验和开发者生产力进行了优化。如果你听说过 ElasticSearch 或 Algolia,可以这么理解 Typesense:Algolia 的开源替代方案,解决了一些关键问题、易于使用、功能齐备的 ElasticSea...
Spring Data JPA 中的 “Not a Managed Type” 异常
在使用 Spring Data JPA 时,我们可能会在引导过程中遇到 “Not a Managed Type” 异常。一些 bean 可能无法创建,导致应用无法启动。虽然实际的堆栈跟踪可能会有所不同...
Maska:简单、零依赖的 Input Mask 库
Maska 是一个简单的零依赖输入掩码,适用于 JS、Vue、Svelete 和 Alpine.JS。假设你想屏蔽电话号码格式;可以使用以下 HTML 按照 +1 ### ###-#### 格式格式化电话号码
使用 Laravel 和 Typesense 构建快速、模糊的网站搜索
现代应用对数据存储能力有很高的要求。过去 10 年里,随着专门构建的数据平台的兴起,围绕数据和分析、交易、相关实体和图形以及搜索和人工智能进行了细分。仅搜索领域就出现了巨大的增长,这要求供应商将他们的平台推向新的和新兴的领域,包括支持向量嵌入。所有这些听起来都很神奇和未来主义,但如果支持人工智能的同一平台也支持传统的搜索呢?那么,支持包括排版错误在内的更人性...