自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 压缩node_modules放入另一台电脑执行,结果启动不起来?

日常开发:私有镜像 + 缓存同步紧急修复:TGZ单包部署灾备方案:全量缓存冷备依赖变更审批流程镜像同步时间窗口安全扫描集成方案应急响应手册通过系统化的依赖管理策略,让离线环境开发从被动应对转为主动防御,保障研发流程的持续交付能力。

2025-03-31 18:51:00 247

原创 RabbitMQ 与 Kafka:消息中间件的终极对比与选型指南

在分布式系统架构中,消息中间件是异步通信的核心组件。RabbitMQ 和 Kafka 作为两大主流技术,常被开发者拿来比较。本文深入解析两者的设计哲学、性能差异和典型场景,助你做出精准技术选型。

2025-03-20 09:14:20 1270

原创 使用 Node.js 从零搭建 Kafka 生产消费系统

本文将以 Node.js 为例,从基础概念到代码实战,手把手教你实现 Kafka 的生产者与消费者。通过 `kafkajs`,Node.js 可快速集成 Kafka 实现高可靠的消息处理。:消息的分类(如 `userlogs`),生产者发送到 Topic,消费者订阅 Topic。- 例如:将 `userlogs` 分为 3 个分区,可同时由 3 个消费者处理。:生产者配置 `acks: 0` 时,不等待 Broker 确认。:消费者处理消息后崩溃,导致 Offset 未提交。

2025-03-20 09:07:06 841

原创 使用Nginx实现后端负载均衡

http {# 默认轮询策略# 权重配置# 备用服务器通过合理配置Nginx负载均衡,开发者可以轻松构建出支撑百万级并发的高可用架构。本文涵盖从基础配置到生产级优化的全链路实践,建议根据实际业务特点选择合适的策略。最后切记:所有关键配置变更前务必做好备份,并通过`nginx -t`严格验证!ab -n 1000 -c 100 http://example.com/ # 压力测试curl -I http://example.com # 查看响应头。

2025-03-19 09:34:43 1262

原创 Node.js 中使用 RabbitMQ

RabbitMQ是一个基于 AMQP 协议的开源消息代理工具,专为分布式系统设计。它通过解耦生产者和消费者实现异步通信,支持流量削峰、任务队列、服务解耦等场景,是微服务架构中的核心组件之一。其核心优势包括:•可靠性:支持消息持久化与传输确认机制。•灵活性:提供多种交换机类型(Direct、Fanout、Topic等)。•跨平台:支持主流编程语言(Node.js、Python、Java等)。通过 RabbitMQ,Node.js 应用可以实现:•异步任务处理(如邮件发送、文件导出)•服务解耦。

2025-03-19 09:10:09 1354

原创 MySQL数据高效同步到Elasticsearch的四大方案

Elasticsearch(ES)凭借其强大的全文搜索和实时分析能力,已成为现代应用的核心组件。通过本文的代码示例和架构解析,您可快速构建适合自身业务的MySQL到ES同步管道。•安装MySQL驱动到Logstash的`/logstash-core/lib/jars/`,涵盖从简单双写到生产级实时同步的全场景,并提供可落地的代码实现。:ES支持分词、模糊匹配,弥补MySQL LIKE查询性能差的缺陷。:在业务代码中同步写入MySQL和ES,适合初创项目快速验证。•业务侵入性强,需维护两套数据模型。

2025-03-18 14:33:19 961

原创 Node.js中使用Elasticsearch

Elasticsearch作为领先的分布式搜索分析引擎,与Node.js的结合能为应用提供强大的实时搜索和数据分析能力。本文将带你完成从环境搭建到高级查询的全流程实践。

2025-03-18 14:06:05 667

原创 SVN完全指南

Apache Subversion(SVN)作为经典的集中式版本控制系统,在企业级代码管理、文档版本跟踪等领域持续发挥着重要作用。本文将带您系统掌握SVN的核心概念和实用技巧,并提供从安装配置到高级操作的完整解决方案。1. `svn update` 触发冲突提示。3. 手动编辑带有`>>>>`标记的文件。•IntelliJ IDEA内置对比工具。•VS Code的SVN插件。2. 使用比对工具分析差异。

2025-03-18 12:03:03 1046

原创 JavaScript 异步编程的终极指南:Promise 与 async/await 深度对比

✅•需要精细控制并行/竞速逻辑•开发基础工具库•兼容旧版浏览器(通过 polyfill)✅•处理复杂业务逻辑流•需要更好的可维护性•使用现代构建工具链在 async 函数内部使用 await 处理具体异步操作,在顶层用 Promise 控制整体流程。

2025-03-18 11:49:30 571

原创 一篇讲清均衡负载,不明白的前端、后端同学都进来看看

到多个服务器或资源的机制,目的是优化资源使用、提升系统性能和可靠性。Nginx根据路径将API请求分发到不同的后端服务组(如订单服务、用户服务)。位于用户请求入口层,负责将客户端(如浏览器、移动设备)的请求分发到不同的。:根据预设策略(如轮询、权重、哈希等),将用户请求分发到多个服务器节点。:在微服务架构中实现细粒度流量控制(如A/B测试、金丝雀发布)。:构建分层、弹性的分布式系统,应对从单机到百万级并发的平滑演进。静态资源分发(HTML/CSS/JS、图片、视频)。

2025-03-18 10:39:06 927

原创 Nestjs如何抗住高并发?

NestJS 是一个用于构建高效、可扩展 Node.js 服务器端应用的框架,它结合了面向对象编程(OOP)、函数式编程(FP)和函数式响应式编程(FRP)的理念,并深度集成了 TypeScript。其核心设计灵感来源于 Angular 的模块化架构和 Spring 的依赖注入机制,旨在为 Node.js 开发提供一种结构化、企业级的解决方案。Node.js 事件循环机制:利用其单线程异步非阻塞特性,避免因同步 I/O 或 CPU 密集型任务阻塞主线程。代码优化:避免 误用导致不必要的阻塞。使用 提供的

2025-03-18 10:29:33 1380

原创 React使用路由表

React Router 从 v6 版本开始支持类似 Vue 的集中式路由表配置方式,通过useRoutesHook 可以将路由配置统一管理。这种方式相比传统的 JSX 声明式路由更加简洁,特别适合中大型项目。通过使用useRoutes+ 集中式路由表的方式,React 也可以实现类似 Vue Router 的路由配置体验。这种方式特别适合需要统一管理路由逻辑的项目,开发者可以根据项目需求灵活选择传统声明式或集中式配置方案。

2025-03-14 10:42:27 574

原创 微前端解决方案之MicroApp

大家可能还是不认识微前端或者它的好处,下面我介绍微前端以及它的好处。微前端的概念是由ThoughtWorks在2016年提出的,它借鉴了微服务的架构理念,核心在于将一个庞大的前端应用拆分成多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用融合为一个完整的应用,或者将原本运行已久、没有关联的几个应用融合为一个应用。微前端既可以将多个项目融合为一,又可以减少项目之间的耦合,提升项目扩展性,相比一整块的前端仓库,微前端架构下的前端仓库倾向于更小更灵活。micro-app是借鉴了。

2025-03-14 10:26:24 969

原创 Vue3中全局使用Sass变量方法

1.首先需要在自己的静态资源目录下,放入两个sass文件。需要注意的是 .d 文件,是用来在开发的时候给予提示用的。到这里,你的任何.vue文件中的style中都能直接使用 vw、vh方法了。

2025-03-13 14:01:10 370

原创 RawShaderMaterial 与 ShaderMaterial

在 Three.js 中,和都是用于自定义着色器的材质类,但它们的核心区别在于。

2025-02-24 15:27:35 577

原创 将Javascript打包成exe可执行文件

是一个命令行工具,能将 Node.js 项目及其依赖打包成一个单独的可执行文件。用户无需安装 Node.js 环境即可运行你的程序。(macOS/Linux)可直接运行,无需 Node.js 环境。表示 Node.js 18 + Windows 64位)。可轻松将 Node.js 项目转换为可执行文件。: 指定目标平台和 Node.js 版本(例如。注意处理静态资源路径和动态模块加载。中预声明所有可能动态加载的文件。macOS (生成二进制文件)Linux (生成二进制文件):打包后文件系统路径变化。

2025-02-19 10:12:29 739

原创 Puppeteer.js 一个可以不动手操作浏览的插件

Puppeteer是一个由 Google Chrome 团队开发的 Node.js 库,提供了一套高级 API 来控制无头(Headless)或非无头的 Chrome/Chromium 浏览器。它支持自动化操作,如网页截图、PDF 生成、表单提交、页面导航、JavaScript 执行、网络请求拦截等,常用于爬虫、自动化测试、性能监控等场景。});console.log('页面标题:', title);Puppeteer 是前端自动化的瑞士军刀,覆盖了从简单截图到复杂交互的全场景。

2025-02-19 09:21:08 768

原创 什么?你的Nestjs项目部署的时候还要把node_module带上去?

最近跟一个小伙伴聊天,他说他部署Nestjs项目的时候,每次都要把 package.json带上去然后使用npm 把依赖安装一次,才能运行项目。然后我也是给了小伙伴解决方案。

2025-02-17 17:15:57 194

原创 Web Worker 性能利器

Web Worker 是优化前端性能的关键工具,适用于。

2025-02-14 09:33:54 483

原创 前端 安全

前端允许用户输入 URL 发起服务端请求(如图片裁剪、PDF 生成),攻击者利用此访问内网资源。:攻击者通过透明 iframe 覆盖页面,诱导用户点击隐藏按钮(如授权按钮)。:攻击者构造恶意 URL,用户点击后,服务端将恶意参数直接返回并执行。:恶意脚本被存储到服务端(如数据库),其他用户访问时触发。:攻击者利用网站未验证的重定向参数,将用户引导至恶意网站。,该内容被保存到数据库。

2025-02-13 14:26:31 1336

原创 一篇讲清HTTP缓存

HTTP 缓存是一种通过存储资源的副本,在后续请求中快速响应的技术,旨在提升网站性能、减少服务器负载并节省带宽。:重复访问时直接从本地或就近缓存获取资源,无需重新下载。:减少数据传输量,尤其对移动用户和按流量计费的环境重要。(HTTP/1.0):指定资源的绝对过期时间(如。解决:使用指纹(如文件哈希)或版本号修改 URL。缺点:精度为秒,若资源频繁修改可能不准确。:CDN、网关等中间服务器上的缓存。:仅浏览器可缓存(如用户隐私数据)。:减少重复请求对服务器的直接访问。:存储在用户本地(如磁盘或内存)。

2025-02-13 10:34:05 807

原创 一篇彻底讲清浏览器同源策略

两个 URL 的协议(Protocol)、域名(Domain)、端口(Port)三者完全相同,才属于同源。示例与同源与不同源(协议不同)与不同源(域名不同)与不同源(端口不同)合理设计跨源请求方案(如选择 CORS 或代理)。避免因安全限制导致的代码异常(如 iframe 通信问题)。与后端协作配置正确的 HTTP 头,确保生产环境跨源功能正常。通过灵活运用跨源技术,既能保障安全,又能实现丰富的跨源功能需求。

2025-02-13 10:23:39 622

原创 tweenjs动画

开始觉得比 gsap 动画更舒服了。

2025-02-12 16:40:55 296

原创 Electron 实现自定义系统托盘菜单

其实实现自定义托盘菜单的本质上,就是开一个新窗口,下面直接给出核心代码。

2025-02-12 15:48:15 435

原创 将Excel中的图片保存下载并导出

有需要将excel中的图片解析出来保存到本地的小伙子们看过来!!!

2025-02-11 09:44:43 440

原创 终端打印二维码 Nodejs版

想要实现终端打印二维码这个效果需要用到一个第三方包。

2025-02-11 09:16:03 330

原创 本地部署DeepSeek Nodejs版

然后选择自己对应配置的模型,在复制右侧指令到cmd窗口,就可以把模型下载到本地了。如果显示了版本号,则代表已经下载成功了。

2025-02-11 00:15:09 2431 2

原创 ModuleJS 与 CommonJS 混用的两种解决方案

使用构建工具,webpack、vite等系列构建工具。这些构建工具底层则会将两种不同的系统模块语言转为同一种语言,然后代码也能正常执行。如果你可以修改文件的文件后缀,那么就不需要借助任何第三方工具,直接这样做即可。

2025-02-10 23:34:55 294

原创 ollama 基本使用教程

创建一个ModelfileFROM llama2 # 基础模型SYSTEM """你是一个友好的助手,用中文回答。"""PARAMETER temperature 0.7 # 控制生成随机性(0-1)

2025-02-10 22:47:32 2401

原创 electron-vite 构建后路由失效问题

很明显他判断了环境,如果是开发环境访问的则是url,如果是构建环境则是按照文件路径去找的。因此,当我们在新开页面的时候,也是需要写两种跳转的,一种是开发阶段的跳转,一种则是构建时候的跳转。这个问题大概是这样的:使用 electron-vite 构建的应用,开发时候,用路由的窗口能正常显示,而打包后无法访问。然后还有一些注意事项:就比如无论你使用的是vue还是react路由模式只能使用hash模式。(看到这里你应该就知道问题所在了)

2025-02-10 17:00:10 539

原创 一篇讲清JS事件循环

微任务优先级高于宏任务:每执行一个宏任务后,必须清空微任务队列。避免阻塞:长时间同步代码或无限微任务会阻塞事件循环。合理使用任务队列:根据场景选择微任务(优先执行)或宏任务(如渲染后操作)。理解事件循环,可以更好地控制异步代码的执行顺序,避免常见陷阱(如界面卡顿、逻辑错误)。

2025-02-08 11:55:16 279

原创 Threejs关键帧动画

需要注意的点是:一定要给给物体设置好名称。

2025-02-06 08:43:37 186

原创 electron-vite exe引导安装

注意:这是一篇关于electron-vite 相关的内容。不知道electron-vite是什么的,可以看我的博客。那么我就长话短说,大家直接找到这个目录文件。然后插入一下代码即可。

2025-02-05 10:15:00 258

原创 前端开发人员又又又爽了

随着人工智能的发展,各行各业都开始收到一定的冲击,那么我们开发领域也是一样,那么如何想要继续混饭吃,当然要体现自己的价值。由于我自己是一名前端开发人员,所以也是在研究怎么苟住。此插件非前端项目里面的差劲又或是编译软件里面的插件。而是UI设计的一个插件。长话短说CodeFun可以通过原型生成项目。

2025-01-20 11:58:05 308

原创 electron-vite 你太优秀了

今天给大家推荐一个非常好用的electron构建工具,他是基于vite构建的一个工具,基本上把开发一系列需要的事情,都帮大家做好了。大家只需要像,写网页一样,就能制作出完美的桌面程序出来。下面我来说说他的基本使用。

2025-01-20 10:17:23 808

原创 鸿蒙开发国际化配置

最近在写一鸿蒙项目,对方需求是实现完美的国际化切换。但是大家都知道吧,实现完美的国际化配置,那肯定是语言不能太多,不然难以开发和维护。再我的努力争取下,对方最后要求只需要三国的语言,分别是:中文、英文、韩文。下面我将通过一个demo,来告诉大家如何实现。界面比较干净,一个用来设置语言,一个用来获取系统语言。

2024-12-18 10:37:27 336

原创 Nestjs请求传Number类型数据老是被拦截

最近用Nestjs写后端,遇到一个问题,那就是请求参数莫名其妙被拦截。仔细一看才发现自己传递的参数是String类型,而接收的又必须是Number类型。那怎么样传递String类型的自动转化为Number类型呢?带着这个疑问我去了校验库 class-validator 的文档里面查找了一个解决办法,那就是使用装饰器IsNumberString。IsNumber: 验证值是否为number类型。: 验证值是否为string类型,并且该字符串可以被解析为数字。

2024-12-13 10:31:22 216

原创 前端自己也能开启HTTPS

今天我发现了一个宝藏,兄弟们!就是前端开发阶段是可以使用https来开发的。对不懂前端的后端兄弟来说,这不就是个通讯协议吗?有什么可骄傲的。咳咳,那自己咱村里人才知道,HTTPS能给前端带来多少便利。例如,在开发阶段前端项目需要跨设备获取一定的权限,这个时候浏览器要求某些能力需要是https的情况下才能使用,比如获取摄像头画面,获取当前地理位置等。如果有些前端兄弟还不知道如何开始https进行开发,那开发体验一定不好吧。我就废话少说了,下面给大家演示如何开启https,这里以vite 构建的项目为例。

2024-12-12 10:59:41 1032 1

原创 还在使用定时器吗?试试requestAnimationFrame

方法会告诉浏览器你希望执行一个动画。它要求浏览器在下一次重绘之前,调用用户提供的回调函数。对回调函数的调用频率通常与显示器的刷新率相匹配。虽然 75hz、120hz 和 144hz 也被广泛使用,但是最常见的刷新率还是 60hz(每秒 60 个周期/帧)。为了提高性能和电池寿命,大多数浏览器都会暂停在后台选项卡或者隐藏的中运行的。MDN对requestAnimationFrame的介绍但是我认为,大家认识requestAnimationFrame很多人都是通过 Three.js 的。

2024-12-12 09:15:05 983

原创 npm、yarn、pnpm三者的异同

这个表格将会说明一切:基于这些特点

2024-12-11 10:09:00 398

绘制地铁线路和模拟地铁移动

绘制地铁线路和模拟地铁移动

2024-11-27

json绘制热力图的热力信息json

json绘制热力图的热力信息json

2024-11-08

Vue3实现地图上加载柱体上的柱体json

Vue3实现地图上加载柱体上的柱体json

2024-10-30

Linux常用操作指令

非常常用

2023-04-23

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

TA关注的人

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