- 博客(812)
- 资源 (4)
- 收藏
- 关注
原创 Apache DolphinScheduler 和 Apache Airflow 对比
Apache DolphinScheduler和Airflow都是开源工作流调度平台,但各有侧重。DolphinScheduler提供可视化拖拽界面,适合非开发人员快速使用,支持多种大数据和AI任务,部署简单;而Airflow基于Python代码定义工作流,灵活性高但学习曲线陡,生态更成熟。DolphinScheduler适合国内大数据场景,Airflow则更适用于需要深度定制的国际化项目。两者在架构、易用性和适用场景上存在差异,用户可根据团队技术栈和需求选择合适的工具。
2025-06-05 09:12:50
873
原创 #轻松掌握 Node.js 中的 `Array.some` 方法
JavaScript 和 Node.js 中的 Array.some 方法用于快速检测数组中是否至少有一个元素满足条件。它不改变原数组,具有短路求值特性(找到匹配即停止),空数组默认返回 false。基本语法为 array.some(callback),回调函数接收元素、索引和数组参数。示例展示了检查偶数、长字符串等场景,Node.js 中常用于文件扩展名检查、用户权限验证、API可用性检测和数组元素比对。实用技巧包括性能优化(优先匹配靠前元素)、异步处理(结合 Promise.all)、与 every 的
2025-06-05 09:08:35
16
原创 Web3 领域中的一些专业术语
Uniswap 是一个去中心化交易所,允许用户通过加密钱包(如 MetaMask)直接交换数字货币,无需中介。它通过智能合约实现自动化交易,用户还可以通过提供流动性赚取手续费。DAI 是一种稳定币,价值接近 1 美元,适合在 Web3 游戏中作为交易媒介,保护玩家收益免受市场波动影响。NFT 是独特的数字资产,代表游戏中的稀有装备或角色,玩家可以真正拥有并在不同平台交易。MetaMask 是管理加密资产的钱包,用户通过签名交易证明所有权。区块链记录所有交易,确保透明和不可篡改。智能合约是自动化程序,管理代币
2025-05-21 19:00:00
775
原创 深入理解 Python 异步编程:asyncio 全面指南
本文全面介绍了Python中的asyncio模块,用于编写单线程异步I/O程序。asyncio基于事件循环,支持协程、任务、Future对象和流等高级抽象,适用于高并发的I/O密集型场景。文章从核心概念入手,详细讲解了如何定义协程、使用asyncio.run()启动异步程序,以及如何通过asyncio.gather()并发执行多个任务。此外,还介绍了如何通过asyncio.Semaphore和asyncio.Queue限制并发任务数量,并提供了异常处理与容错机制的建议。最后,文章通过实战案例展示了如何利用a
2025-05-21 10:05:05
697
原创 OpenObserve API Usage Guide for Log Management
OpenObserve 是一个开源的 observability 平台,支持日志、指标和追踪数据。日志摄入:通过 API 批量摄入日志数据。日志查询:支持 SQL-like 语法查询日志,支持模糊匹配。Stream 管理:创建、更新、删除 stream,以及管理 stream 设置(如用户和组织管理:管理组织、用户和权限。告警和仪表盘:配置告警规则和创建仪表盘。OpenObserve 的 API 提供了强大的日志管理功能,支持摄入、查询、模糊匹配和 stream 管理。通过str_match。
2025-04-29 19:00:00
1811
原创 解决 Dify 深度限制错误:一步步指南
在使用 Dify(一个强大的 AI 驱动应用开发平台)时,您可能会遇到与深度限制相关的错误,例如和。这些错误源于 Dify 对嵌套数据结构和工作流调用的限制。本文将深入分析这些错误的原因,并提供通过修改.env配置文件来解决问题的详细步骤,同时分享预防错误再次发生的最佳实践。
2025-04-24 09:06:14
1478
原创 Spring boot 中 AOP vs 拦截器 vs Filter:全面解析三大横切技术区别与应用场景
理解AOP、拦截器和Filter的区别是成为Spring高级开发者的重要一步。Filter是Web防火墙拦截器是MVC流程控制器AOP是业务逻辑的瑞士军刀。
2025-04-22 08:55:41
1006
原创 使用 Dify 代码运行模块调用 requests:实现 CouchDB 数据获取与重试机制
Dify 的代码运行模块默认支持requests库,使得开发者可以直接在工作流中发起 HTTP 请求。本文展示了如何使用requests从 CouchDB 获取数据,并通过重试机制提高请求的成功率。直接使用requests:DifySandbox 默认已安装requests,无需额外配置。缓存处理:通过随机参数和头避免缓存问题。重试逻辑:使用正则表达式转换,并发起新请求。Dify 的代码运行模块为复杂业务逻辑提供了强大的支持,结合requests库,可以轻松实现与外部 API 的交互。
2025-04-21 15:17:19
1038
原创 安装和配置 OpenSearch 集群
以下是一个详细的安装和配置 OpenSearch 集群的文档,基于您提供的 docker-compose 文件和 Nginx 配置。此文档将指导您完成从环境准备到集群部署的完整过程。
2025-04-16 15:18:35
503
原创 使用 JSON Schema 实现语言模型的结构化输出:跨平台实践指南
Ollama和SGLang是本地部署的理想选择,支持 Schema。OpenAI适合云端高性能场景。vLLM需提示词和后处理,适合速度优先。通过合理设计 JSON Schema(尤其是properties和的选择)并结合提示工程,开发者可以在不同平台上实现可靠的结构化输出。欢迎大家提问和讨论。
2025-04-07 10:53:38
156
原创 如何为图片 PDF 添加可搜索的文本层:完整指南
幸运的是,通过 OCR(光学字符识别)技术,我们可以为图片 PDF 添加一个隐藏的文本层,使其具备可搜索和可复制的功能。通过 OCR 技术和 PDF 工具的结合,我们可以为图片 PDF 文件添加一个隐藏的文本层,从而实现搜索、复制和选择功能。这样可以确保嵌入的文本与原始图像中的文字对齐。根据 OCR 提供的字符高度信息,我们可以动态计算字体大小,确保嵌入的文本与原始图像中的文字对齐。为了解决这些问题,我们需要借助 OCR 技术,从图像中提取文字,并将其嵌入到 PDF 中,形成一个新的文本层。
2025-03-28 08:34:54
267
原创 使用 OCRmyPDF 将扫描 PDF 转为可搜索文档和文本文件
OCRmyPDF 基于 Tesseract OCR 引擎,主要功能是为扫描的 PDF 添加可搜索的文本层。它支持多语言、页面调整、元数据修改等功能,并能通过--sidecar选项生成 TXT 文件。无论是命令行还是 Python 调用,它都是文档处理的高效选择。OCRmyPDF 是一个多功能的工具,支持命令行和 Python API。通过安装语言包(英文、简体中文、繁体中文),你可以处理多语言 PDF,生成可搜索的 PDF 和 TXT 文件。它提供了丰富的参数(如--jobs)和优化选项(如。
2025-03-27 17:50:42
767
原创 2025 年推荐的 20 个热门 MCP Server
MCP(Model Context Protocol)Server 是增强 AI 工具能力的关键组件,它们允许 AI 与外部平台、服务和数据源进行交互。这些服务器充当桥梁,使像 Claude 这样的 AI 助手能够自动化任务、访问实时信息,并无缝集成到各种工作流程中。以下是 2025 年推荐的 20 个热门 MCP Server,它们可以显著提升 AI 工具的功能,帮助用户在开发、通信、项目管理等领域实现更高的效率和自动化水平。
2025-03-21 08:53:43
3452
原创 One API:统一接口与模型重定向的强大功能
One API 是一个开源的代理层,用于统一管理和调用不同的 AI 模型服务。它的主要目标是通过一个标准化的接口,屏蔽底层不同供应商之间的差异,从而简化开发流程。统一接口:无论底层使用的是 OpenAI、Azure 还是其他供应商的服务,用户只需通过一个统一的 API 调用即可。多供应商支持:支持接入多个供应商的模型,并根据需求动态切换。灵活性与扩展性:支持自定义模型和自定义逻辑,满足特定业务需求。高效成本管理:通过智能路由和模型重定向,帮助用户优化成本。在 One API 的架构中,
2025-03-19 17:51:28
402
原创 如何使用 Gemma3 实现视觉任务:从图片中提取文本
Gemma3 是一个强大模型(它已被调整为支持视觉任务,除了1B),通过结合 Ollama 的 API,我们可以轻松实现从图片中提取文本的功能。本文将介绍如何使用 Gemma3 处理图像,并分享一个实际的示例。
2025-03-14 18:00:00
4557
1
原创 FerretDB 2.0:开源 MongoDB 替代品的安装与使用指南
FerretDB 2.0 是一个开源数据库,旨在作为 MongoDB 的替代品。它与 MongoDB 5.0+ 的驱动程序和工具兼容,适合需要避免 MongoDB 许可复杂性的开发者。它的核心特点是使用 PostgreSQL 作为后端,并通过 DocumentDB 扩展提升性能,研究表明某些工作负载可快 20 倍。
2025-03-11 17:58:27
1410
原创 Spring Boot API 项目中 HAProxy 与 Nginx 的选择与实践
HAProxy(High Availability Proxy)是一个专注于负载均衡和代理的开源工具,以高性能和低资源占用著称。它支持 TCP(Layer 4)和 HTTP(Layer 7)协议,广泛用于分布式系统。Nginx 是一个高性能 Web 服务器,后来扩展为反向代理和负载均衡工具。它以易用性和模块化设计受到开发者青睐。HAProxy 和 Nginx 各有千秋,选择的关键在于你的 Spring Boot API 项目规模和需求:如果追求高性能和专注负载均衡,HAProxy 是首选。如果需要。
2025-03-06 08:57:27
643
原创 使用 Node.js 和 Follow 模块监控 CouchDB 数据库变更
通过结合nano和follow,我们可以轻松实现 CouchDB 的变更监控。启动时处理历史数据,随后切换到实时监听,既满足了完整性需求,又保证了实时性。希望这篇文章能帮助你在项目中高效集成 CouchDB 监控!
2025-03-04 13:27:52
112
原创 Llama.cpp 服务器安装指南(使用 Docker,GPU 专用)
构建服务器镜像-t:命名镜像为。:仅构建服务器版本。-f:指定修改后的。:使用当前目录作为构建上下文。构建时间:10-20 分钟,取决于网络和机器性能。验证。
2025-02-27 11:32:10
1101
原创 Llama.cpp Server Installation Guide with Docker (CPU-Only)
这个镜像默认支持 CPU,不含 CUDA。若需 GPU 支持,得用 server-cuda,但你指定 CPU-only,这里保持原样。-t 8: Uses 8 CPU threads (调整为你的核心数,跑 nproc 查看).-c 4096 够用,若处理长对话可增到 8192(注意 RAM 使用)。改端口:-p 8080:8080 和 --port 8080。Increase -t 到 CPU 最大核心数。Check -v 路径和文件名是否正确。
2025-02-27 11:11:14
455
原创 高级应用:使用 p-retry 处理 Node.js 中的重试逻辑
p-retry允许你通过传递一个选项对象来自定义重试策略。retries: 最大重试次数。: 每次重试失败时调用的回调函数。factor: 用于计算重试间隔的因子。minTimeout: 重试之间的最小间隔时间(毫秒)。maxTimeout: 重试之间的最大间隔时间(毫秒)。randomize: 是否在重试间隔时间中添加随机性。if (!try {${if(!if(!if(
2025-02-20 13:23:30
175
原创 p-queue 详细介绍
是一个基于 Promise 的队列管理工具,专注于控制异步任务的并发数量。它非常适合用于限流异步操作(或同步操作),例如与 REST API 交互、执行 CPU/内存密集型任务等。如果你的项目使用 CommonJS,需要转换为 ESM。例如,你可以创建一个优先级队列或延迟队列。:对于服务器端的任务队列需求,建议使用 Redis 支持的。返回一个 Promise,当队列为空且所有任务完成时解决。可以为任务分配优先级,高优先级的任务会优先执行。参数,可以限制同时运行的任务数量。逻辑,实现任务失败后的延迟重试。
2025-02-18 16:56:36
177
原创 MySQL 窗口函数:功能、使用场景与性能优化
MySQL 窗口函数是一项强大的工具,能够帮助开发者轻松实现复杂的分析操作,如排名、累计计算和前后行比较等。它为数据分析和复杂查询提供了极大的便利,但同时也可能带来性能问题。窗口函数是一种特殊的 SQL 函数,用于在查询结果集上执行复杂的分析操作。尽管窗口函数功能强大,但在处理大数据集时可能会遇到性能瓶颈。)不同,窗口函数不会合并行,而是保留每一行的数据,同时允许对一组相关行进行计算。:根据排序规则分配排名,相同值的行排名相同,后续排名会跳过。窗口函数与分页结合时,可以通过嵌套查询或临时表优化性能。
2025-02-18 10:49:44
532
原创 如何编写提示词,让AI发挥最佳效果?——初学者指南
今天,我们将通过简单易懂的方式,教你如何编写提示词,让AI(如DeepSeek)发挥最佳效果。模糊的提示词会让AI“猜”你的意图,结果可能南辕北辙。:“请解释量子计算、人工智能和区块链的关系,并写一篇关于它们如何改变未来的文章。:“请写一段类似以下的文案:‘在这个快节奏的世界中,我们为您提供宁静的港湾。:“请解释量子计算的基本原理,假设读者是计算机科学专业的大学生。:“请解释量子计算的基本原理,假设读者是计算机科学专业的大学生。模糊的提示词会让AI“猜”你的意图,结果可能南辕北辙。
2025-02-17 13:43:57
205
原创 AI多跳推理的提示词
多跳推理是一种需要经过多个推理步骤才能得出结论的复杂推理过程。与单跳推理(Single-hop Reasoning)不同,多跳推理涉及多个信息源或知识片段,通过逻辑连接逐步推导出最终答案。多跳推理是一种强大的工具,能够通过多个推理步骤解决复杂问题。它在文件分类、问答系统、知识图谱和推荐系统等领域有广泛的应用。通过分步骤提取和分析信息,多跳推理可以提高任务的准确性和可解释性。如果你有具体的应用需求,可以尝试设计多跳推理的提示词,逐步引导模型完成任务。
2025-02-17 13:18:58
109
原创 使用 Flowable 实现子流程调用与参数传递:嵌入式子流程与调用活动详解
子流程是 BPMN(Business Process Model and Notation)中的一个重要概念,用于将复杂的业务逻辑分解为更小的单元。嵌入式子流程(Embedded Sub-Process)嵌套在主流程中,作为主流程的一部分。共享主流程的上下文和变量。适用于简单的任务分组或逻辑封装。调用活动(Call Activity)调用一个独立的流程定义(另一个 BPMN 文件)。子流程拥有独立的流程实例。适用于需要复用流程逻辑或模块化设计的场景。
2025-02-13 11:07:44
1516
原创 Node.js 应用性能测试:Autocannon 的使用与 Docker 集成
通过 autocannon,这一强大的工具,我们可以轻松实现对应用性能的全面评估和优化。本文详细介绍了如何将 autocannon 集成到 Docker 和 PM2 的环境中,并展示了如何通过自动化测试和 CI/CD 集成,提升开发效率和应用稳定性。无论是 API 服务、Web 应用,还是微服务架构,性能测试都是确保系统稳定性和高效运行的重要环节。测试完成后,autocannon 会输出详细的测试报告,你可以根据这些结果分析应用的性能表现,并进行针对性的优化。,添加 autocannon 的安装和配置。
2025-02-08 10:43:29
411
原创 使用 Docker 和 PM2 构建高并发 Node.js API 网关
通过结合 Docker 和 PM2,我们可以构建一个高性能、高可用的 Node.js API 网关,并利用分布式限流器保护服务不被过多请求压垮。这种架构不仅适用于高并发场景,还能显著提升服务的可维护性和可扩展性。
2025-02-08 10:32:47
296
原创 PM2 与 Docker 结合使用:Node.js 应用的高效管理与部署
本文将详细介绍 PM2 的功能、Docker 的优势,并展示如何在 Docker 容器中使用 PM2 管理 Node.js 应用,实现高效、稳定的部署。PM2(Process Manager 2)是 Node.js 的流行进程管理工具,能够帮助开发者更好地管理和监控应用进程。但 Node.js 是单线程的,直接运行多个。以下是一个完整的 Node.js 应用示例,展示如何在 Docker 中使用 PM2 管理应用。)允许开发者定义应用的启动参数、环境变量和资源限制,简化了应用的部署和管理。
2025-02-08 10:28:16
742
原创 多租户架构设计与实现:基于 PostgreSQL 和 Node.js
多租户架构是 SaaS 应用的核心设计模式,能够显著降低成本和维护复杂度。本文介绍了多租户的常见数据隔离方案,并基于PostgreSQL和Node.js实现了一个多租户系统。通过动态切换 Schema,我们可以在共享数据库中实现租户数据的隔离。在实际应用中,选择合适的多租户方案需要根据业务需求、租户规模、性能要求和成本预算进行权衡。无论是独立数据库、独立模式还是共享表,都有其适用的场景。希望本文能为你的多租户架构设计提供参考和启发。
2025-02-08 09:23:26
1360
原创 如何通过 Nginx 实现 CouchDB 集群的负载均衡并监控请求分发
在 Nginx 配置中添加自定义响应头,返回请求被转发到的后端服务器地址。
2025-01-16 14:08:27
736
原创 Docker Swarm、Kubernetes 和 LVS 的功能对比
Docker Swarm、Kubernetes 和 LVS 是三种不同的技术,分别用于容器编排、集群管理和负载均衡。
2025-01-13 19:15:00
1147
原创 详解 RabbitMQ 在 Go 中的实现:一个带重试机制和死信队列的消息消费者
加载环境变量:从.env文件中加载 RabbitMQ 的连接信息和其他配置。连接 RabbitMQ:建立与 RabbitMQ 的连接并创建通道。声明交换机和队列:包括主交换机、主队列、死信交换机和死信队列。绑定队列到交换机:将主队列绑定到主交换机,并将死信队列绑定到死信交换机。消费消息:从主队列中消费消息,并处理消息。消息处理逻辑:模拟消息处理,支持重试机制和死信队列。下面我们将逐步解析代码的每一部分。消息重试机制:支持最多 3 次重试。死信队列:确保消息在多次处理失败后不会被丢失。
2025-01-09 15:02:17
372
原创 RabbitMQ 在 Go 中的核心方法详解
通过QueueBind和Consume这四个方法,我们可以在 RabbitMQ 中实现消息的发布、路由和消费。理解这些方法的参数及其作用,是使用 RabbitMQ 的基础。希望这篇博客能帮助你更好地掌握 RabbitMQ 在 Go 中的使用!!
2025-01-09 14:57:29
432
原创 局部敏感哈希(LSH):高维数据相似性搜索的利器
局部敏感哈希(LSH)是一种用于高维数据近似最近邻搜索的算法。它的核心思想是通过哈希函数将相似的数据点映射到相同的桶中,从而在搜索时只需检查同一桶或邻近桶中的数据点,大大减少计算量。局部敏感哈希(LSH)是一种强大的工具,能够高效处理高维数据的相似性搜索问题。尽管它是一种近似算法,可能会牺牲一定的精度,但在许多实际应用中,这种权衡是值得的。无论是文本、图像、音频,还是推荐系统和生物信息学,LSH都展现了其广泛的应用价值。
2025-01-09 14:46:34
902
原创 NodeJs 箭头函数:`()=>{}` 和 `()=>()` 的区别与使用场景
特性 |()=>{}()=>()函数体| 块级作用域{}| 表达式()返回值| 需要显式return| 隐式返回表达式的值 |适用场景| 多行逻辑或复杂操作 | 单行逻辑或直接返回值 |()=>{}和()=>()是 JavaScript 中箭头函数的两种常见写法,它们的主要区别在于函数体的结构和返回值的方式。理解它们的区别后,你可以根据实际需求选择更合适的写法,从而编写出更简洁、高效的代码。
2025-01-07 16:42:51
643
原创 实现CouchDB 全文搜索
如果 CouchDB 自带的全文搜索功能无法满足需求,可以将数据同步到 Elasticsearch 中,利用 Elasticsearch 的强大全文搜索功能。CouchDB 本身并不直接支持全文搜索功能,但可以通过一些简单的方法实现基本的全文搜索。如果需要更强大的全文搜索功能,建议使用 CouchDB Lucene 插件或将数据同步到 Elasticsearch。通过 CouchDB 的 MapReduce 视图,可以实现简单的全文搜索。支持复杂的全文搜索功能(如分词、模糊搜索、短语搜索等)。
2025-01-06 10:50:49
1154
原创 CouchDB 中模糊查询并不区分大小写
在使用 CouchDB 的 Mango 查询进行正则表达式匹配时,要注意避免使用不支持的正则表达式语法。通过简化正则表达式并清楚地理解其规则,我成功地解决了问题。同时,这也让我认识到,选择合适的查询方式可以显著提高工作效率。
2025-01-02 15:29:36
221
原创 解决 Node.js 单线程限制的有效方法
Node.js 是一个基于事件驱动、非阻塞 I/O 模型的 JavaScript 运行时环境,特别适合构建高并发的网络应用。然而,由于其单线程架构,在处理 CPU 密集型任务时可能会遇到瓶颈。本文将介绍几种解决 Node.js 单线程限制的方法,帮助你提高应用程序的性能和可扩展性。
2024-12-25 15:01:15
562
Flowable 的安装和源代码
2023-09-08
使用机器学习进行图像识别
2023-09-02
AI 图像识别和视频分析
2023-09-02
人工智能安全学习和用例
2023-09-02
使用AI进行文本分类的深入学习
2023-09-02
Spring Boot和Spring Security应用例子
2023-08-12
python构建实时车辆安全监控系统
2023-07-30
汽车动力控制系统:使用C#上位机实现精确控制,提升燃油效率和动力性能
2023-07-30
驾驶辅助系统:实现自动驾驶辅助、自动泊车和车道保持功能的代码和想法
2023-07-30
C# 上位机的汽车控制系统的设计
2023-07-30
上位机:C# CAN的高级的例子
2023-07-30
C# OPC UA的高级实用例子
2023-07-30
C#编写的Modbus TCP通信的详解
2023-07-30
开源的可视化爬虫易采集EasySpider:如何无代码可视化的爬取需要登录才能爬的网站
2023-06-20
开源的低代码框架,几分钟内构建复杂的响应式前端
2023-06-10
Golang 的JWT 类
2023-05-26
Sliverlight TagControl Sample
2010-04-22
很准确的OCR 服务,可以使用API 直接调用,整合任何系统很方便
2025-03-19
使用 Docker Compose 部署 CouchDB 集群:问题与解决方案
2025-01-14
Python 编程基础:深度解析
2024-02-12
Python PaddleOCR OCR结构化识别的例子
2024-02-07
Tesseract最新的中文简体和繁体语言包 chi-sim.traineddata
2024-02-07
使用Spring Boot和Python Flask实现AI文本分类服务注册与发现
2024-02-06
Python 面试题目大全2
2023-10-04
Python 全面的面试题
2023-10-02
用apisix 做一个api key web 管理和api key 权限和访问级别控制
2023-10-01
开发和启用llama2 api
2023-10-01
构建一个私用的chatGPT
2023-09-10
交互式图表和可视化的MATLAB工具箱
2023-09-10
用go 写的mysql复制库
2023-09-10
Spring boot and Spring Cloud财务顾问应用程序
2023-09-09
即时通讯app源码,它是语音和视频通话
2023-09-09
Spring 各种例子:Spring Data Elasticsearch,JDBC,JPA,LDAP,MongoDB
2023-09-09
如何在Windows本地和云端安装LLaMA 2 (ChatGPT)
2023-09-09
下载和安装JDK 8u301(Java开发工具包)的Windows 64位版本 和mac 版本
2023-09-09
文档理解转换器,OCR 图片和解释图片内容
2023-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人