自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

原创 electron打包是没有正确生成electron.exe,x ENOENT: no such file or directory, rename:

electron打包是没有正确生成electron.exe,x ENOENT: no such file or directory, rename: 的三种情况。

2025-04-20 21:17:15 246

原创 面试题总结

1、实现Promise.all 2、版本号比较 3、打印N 4、js中定义变量不写,let, var, const 会自动提升为全局变量

2025-03-25 12:12:25 81

原创 现代Web开发核心API全景:从DOM操作到设备集成

观察者模式 API(如 MutationObserver、IntersectionObserver、ResizeObserver 和 PerformanceObserver)可实时监控 DOM 结构变化、元素可见性、尺寸及性能指标,支撑懒加载、响应式布局和性能优化。Web Workers 和 requestAnimationFrame 分别通过多线程计算和帧同步机制优化性能,避免主线程阻塞。网络通信方面,WebSocket 支持实时双向数据传输,而 Fetch API 提供了基于 Promise 的现代化请

2025-03-23 11:25:19 984

原创 electron桌面应用多种快速创建方法

结合vite和vite前端页面模版搭建electron。结合next框架搭建electron。结合nuxt框架搭建electron。

2025-03-19 10:09:35 304

原创 基于nodejs中@langchain/langgraph框架实现workflow

【代码】基于nodejs中@lang/graph框架实现workflow。

2025-03-15 14:07:19 277

原创 nodejs将pdf转换成图片并提取图片内容

实现RAG将pdf文档内容添加到向量数据库进行向量检索时,表格等数据无法识别,可以先用多模态模型对数据进行提取,然后再添加到向量数据中。这样做查询时用文本向量模型就够了。对pdf中所有页面进行截图,手动指定了一张图片,对这个图片中数据进行了提取。

2025-02-27 15:05:17 447

原创 在nodejs中使用ElasticSearch(三)通过ES语义检索,实现RAG

RAG(Retrieval-Augmented Generation)是一种结合了信息检索和生成模型的技术,旨在提高生成模型的知识获取和生成能力。它通过在生成的过程中引入外部知识库或文档(如数据库、搜索引擎或文档存储),帮助生成更为准确和丰富的答案。它的核心思想是,生成模型不仅依赖于模型内部的知识,还可以在生成过程中动态地检索外部信息,从而增强生成内容的准确性和信息丰富度。如果存在,则先删除该索引,确保创建的是新的索引。如果检索结果中没有足够的信息来回答问题,生成的回答将是“我无法回答您的问题”。

2025-02-26 18:04:29 621

原创 在nodejs中使用ElasticSearch(二)核心概念,应用

核心概念,索引(index),映射(mapping),文档(document),在nodejs中使用

2025-02-20 15:28:35 514

原创 在nodejs中使用ElasticSearch(一)安装,使用

使用docker安装ElasticSearch,安转Kibana,Kibana设置中文,安装分词器analysis-icu,安装分词器analysis-ik,analysis-icu 和 analysis-ik 分词器的主要区别,在nodejs中使用ElasticSearch。

2025-02-19 10:13:24 818

原创 在Nodejs中使用kafka(四)消息批量发送,事务

在nodejs环境使用kafka实现消息批量发送,事务

2025-02-18 10:30:36 210

原创 在Nodejs中使用kafka(三)offset偏移量控制策略,数据保存策略

offset偏移量控制策略, 自动提交(Auto Commit),手动提交(Manual Commit),Offset 重置(Seek)。数据保存策略,基于时间的保留策略,基于大小的保留策略,基于段文件的保留策略,清理策略。

2025-02-17 16:42:37 1043

原创 在Nodejs中使用kafka(二)partition消息分区策略

partition分区是 Kafka 高吞吐量、高可用性和分布式处理能力的核心设计之一。分区策略:手动指定分区、基于 Key 的哈希分配、轮询策略、自定义分区策略、粘性分区策略。分区策略对比。

2025-02-17 10:56:12 550

原创 在Nodejs中使用kafka(一)安装使用

kafka安装、使用docker安装kafka、kafka核心功能、kafka核心组件、nodejs使用kafka。

2025-02-16 12:08:56 832

原创 在nodejs中使用RabbitMQ(七)实现生产者确认

在nodejs中使用rabbitmq实现生产者确认

2025-02-15 18:38:22 372

原创 在nodejs中使用RabbitMQ(六)sharding消息分片

将消息分布到多个队列中,这在消息量很大或处理速度要求高的情况下非常有用。分片功能通过将消息拆分到多个队列中来平衡负载,从而提升消息处理的吞吐量和可靠性。它能够在多个队列之间分配负载,避免单个队列过载。(注:不能单独消费分片消息。消息分片不利于消息顺序区分)通过rabbitmq management添加策略,用于分片消息匹配转发。RabbitMQ 的分片插件。

2025-02-14 21:00:46 644

原创 在nodejs中使用RabbitMQ(五)死信队列,延迟队列

死信队列用于存储那些不能被正常消费或处理的消息,以便后续审查或重新处理。设置一个专门的交换机(Dead Letter Exchange,DLX),并将死信消息转发到该交换机。:如果队列已经达到最大长度,且还有新消息进入,RabbitMQ 会丢弃老的消息并将其送到死信队列。:如果消息的 TTL(存活时间)到期,消息会被认为是死信,自动转发到死信队列。:如果消息没有匹配到任何队列的路由规则,它会被送往死信队列。可以设置死信消息的路由键,以便将消息路由到适当的死信队列。),消息会被送往死信队列。

2025-02-14 12:37:08 1228

原创 在nodejs中使用RabbitMQ(四)队列类型Classic、Quorum、Stream

经典队列(Classic Queues)、仲裁队列(Quorum Queues)和流队列(Stream Queues)的特性对比。

2025-02-13 14:30:07 1197

原创 在nodejs中使用RabbitMQ(三)Routing、Topics、Headers

producer.ts 生产者主要发送消息,consumer.ts负责接收消息,同时也都可以创建exchange交换机,创建队列,为队列绑定exchange,为避免重复简化代码,提高可维护性,队列相关操作移动到消费者端。队列,exchange交换机推荐在启动程序前手动创建好。使用direct exchange实现下图。

2025-02-11 16:08:44 424

原创 在nodejs中使用RabbitMQ(二)发布订阅

使用direct类型交换机,只有路由键匹配的队列会接收到消息(精确匹配),适合需要根据特定条件(如路由键)将消息路由到特定队列的场景,如任务分配、错误处理等。使用Fanout 交换机实现广播,它不考虑任何路由键(routing key),而是将接收到的消息广播到所有绑定到该交换机的队列中。

2025-02-11 15:36:43 545

原创 在nodejs中使用RabbitMQ(一)安装,使用

RabbitMQ 是一个开源的消息代理软件(也称为消息队列),它实现了高级消息队列协议(AMQP)。RabbitMQ 提供了可靠的消息传递机制,适用于构建分布式系统、微服务架构以及需要解耦组件的应用程序。它支持多种消息传递模式,并且具有高度的可扩展性和灵活性。官方还提供了多语言支持:Python,Java,Ruby,PHP,C#,JavaScript,Go。RabbitMQ 的基本概念1.生产者(Producer):左侧绿色方框代表消息的生产者,生产者将消息发送到 RabbitMQ 服务器。

2025-02-11 14:39:14 811

原创 RocketMQ安装

RocketMQ 是一个分布式消息中间件,最初由开发,并于 2012 年开源。它设计上追求高可用、高吞吐、低延迟等特点,适用于大规模分布式系统中的消息传递和异步通信。RocketMQ 在和系统中广泛应用,尤其在需要保证高吞吐量、低延迟和高可用性的场景中表现尤为出色。

2025-02-08 17:39:31 326

原创 TypeScript 后端开发中的热重载编译处理

在一些除了nest框架外的一些其他nodejs框架中没有提供对ts编译和热重载,如果使用typescript我们需要自己进行配置。

2025-01-01 17:31:01 384

原创 使用 Puppeteer 快速上手 Node.js 爬虫

使用Puppeteer库通过自动化浏览器来访问百度图片搜索。Puppeteer 安装。

2024-12-15 22:48:56 352

原创 nodejs保存echarts图片

在 Node.js 环境下生成和保存echarts图表图像

2024-12-15 22:35:09 299 1

原创 Rust HashMap使用

HashMap是一个功能强大的数据结构,它结合了哈希表的高效性和 Rust 编程语言的内存安全特性。通过提供常数时间复杂度的查找、插入和删除操作,以及丰富的 API,它在许多实际应用中都非常有用。

2024-12-09 23:07:43 473

原创 Rust中常用的命令工具

cargo generate 通过模版创建项目cargo watch 等于nodemoncargo binutils 更快的连接cargo deny 检查第三方依赖cargo audit 检查第三方依赖cargo tarpaulin 检查测试覆盖率typos-cli 拼写检查工具,RustRover内置了不需要git-cliff 生成git change log的工具cargo nextest rust测试增强工具pre-commit 向github提交代码时,会进行代码检查

2024-10-27 23:01:59 886

原创 Rust中,Box,Rc,RefCell使用依据,案例

案例三、使用Box,Rc,RefCell实现链表循环添加,遍历。案例二、分别使用Rc、Box实现链表。案例一、Box实现链表,链表循环。

2024-10-10 22:14:51 663

原创 vite打包多页面入口

【代码】vite打包多页面入口。

2024-08-19 20:36:59 645

原创 trpc快速上手

tRPC (Type-safe Remote Procedure Call) 是一个用于构建类型安全的 API 的框架,它能够在前端和后端之间共享类型,确保类型安全性。这对于使用 TypeScript 的项目特别有用,因为它消除了前后端类型不一致的问题,提高了开发效率和代码质量。trpc也可以集成到 Express, Fastify,Next中。

2024-06-13 21:30:56 590

原创 完整状态码面试背

【代码】完整状态码面试背(前端一对一指导)

2024-06-05 22:48:47 742

原创 nodejs设置强制缓存,协商缓存

基于资源的最后修改时间进行缓存协商。基于资源的内容哈希进行缓存协商。强制缓存指的是服务器在响应头中设置缓存控制策略,告知浏览器在一定时间内不需要向服务器请求,直接使用本地缓存。

2024-05-25 11:21:44 636

原创 koa使用ws,scoket.io建立websocket连接,断开重连

【代码】koa使用ws,scoker.io建立websocket连接,断开重连。

2024-05-24 13:43:26 702

原创 @vueuse/core 常用方法

【代码】@vueuse/core 常用方法。

2024-05-14 18:30:18 4189

原创 webpack配置ts,eslint,scss

【代码】webpack配置ts,eslint,scss。

2024-05-14 11:36:49 282

原创 TypeScript 工具类型

【代码】 TypeScript 工具类型。

2024-05-12 21:33:24 421

原创 @reduxjs/toolkit,zustand使用方法

【代码】@reduxjs/toolkit,zustand使用方法。

2024-05-11 16:45:15 355

原创 Vuex使用方法

【代码】Vuex使用方法。

2024-05-11 16:16:09 132

原创 Pinia使用方法,数据持久化

2、 建立事件监听,在pinia添加导入导出的方法,在当页面刷新前将pinia中数据导出,保存到localstorage或indexedDB中,刷新好后再取出数据保存回pinia中。1、使用插件如 pinia-plugin-persistedstate。pinia数据持久化。

2024-05-11 15:55:41 1117

原创 typescript 不是特别常用,容易忘的知识点

1、花括号对象通过方括号字符串形式取值2、泛型约束3、枚举4、抽象类5、函数重载6、interface定义class的类型,interface继承7、构造函数的定义、继承8、修饰器在修饰器有:类修饰器、方法修饰器、参数修饰器、属性修饰器。执行顺序:属性>方法>参数>类。

2024-05-05 12:00:40 335 1

转载 nuxt3 Cannot stringify a function

Cannot stringify a function。解决方法一,在nuxt.config.ts中添加如下配置。解决方法二,在onMounted 中执行对应代码,这可能是因为在服务端渲染,使用setup执行过早导致的。

2024-05-01 21:32:37 392

windowx64 oracle12.2.0.1.0 命令行工具集

包含sqlplus、exp、imp、wrc、sqlldr和SDK Package、JDBC Supplement Package、ODBC Package。 SQL*Plus: SQL*Plus 是 Oracle 提供的命令行界面工具,用于与 Oracle 数据库进行交互、执行 SQL 查询、PL/SQL 代码和管理数据库对象。 exp 和 imp: exp 和 imp 是 Oracle 提供的导出和导入工具,用于在 Oracle 数据库之间导出和导入数据、表、索引、视图等数据库对象。 wrc: wrc 是 Oracle 的 Workload Replay Capture 工具,用于捕获生产环境的工作负载,并将其用于性能测试和分析。 sqlldr: sqlldr 是 Oracle 的 SQL*Loader 工具,用于将外部数据加载到 Oracle 数据库中。它允许你从文本文件、CSV 文件等格式加载数据。

2024-03-05

instantclient-sqlplus-windows.x64-21.13.0.0.0dbru.zip

oracle 21.13.0.0 sqlplus oracle数据库连接工具,cmd交互查询工具。

2024-03-05

instantclient-tools-windows.x64-12.2.0.1.0.zip

oracle 12.2.0.1.0 tools。windowsx64,oracle数据导入,导出工具。

2024-03-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除