自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 40+MB 大数据图表前端血泪史:从崩溃、投诉到 5 秒极速加载的完整救赎之路

浏览器性能有限,这是服务端的工作。

2026-04-07 18:29:50 846

原创 NestJS 从入门到企业级实战(四):参数校验 + Swagger 接口文档 + ESM 踩坑

参数校验:用实现,DTO 中用装饰器定义规则。DTO:数据传输对象,定义接口参数的结构和校验规则。Swagger:自动生成接口文档,用@ApiTags()等装饰器描述接口。ESM 踩坑v8+ 与 CJS 不兼容,推荐降级到 v7。一句话总结:参数校验保证数据干净,Swagger 保证前后端对接顺畅,两者都是企业级项目的标配。

2026-08-29 14:31:13 274

原创 NestJS 从入门到企业级实战(三):装饰器入门 + 全局异常过滤器 + 全局响应拦截器

●装饰器:用@xxx语法给类、方法、属性"加功能",是 NestJS 的核心语法。●统一响应格式:所有接口返回,前端对接更简单。●全局响应拦截器:自动把正常返回值包装成统一格式。●全局异常过滤器:自动把异常转换成统一格式。●注册方式:在main.ts中用和注册。一句话总结:拦截器管"正常返回",过滤器管"异常返回",两者配合实现全局统一响应格式。下一篇预告:参数校验(class-validator)+ Swagger 接口文档,完成第一阶段的企业级 Todo 接口。

2026-08-29 14:24:22 257

原创 NestJS 从入门到企业级实战(二):依赖注入(DI)深度拆解

依赖:A 需要用 B,A 就依赖 B。依赖注入:你不用自己newB,框架帮你创建好 B,直接塞给 A。DI 容器:幕后的大管家,负责注册、创建、注入所有被管理的对象。:告诉容器"这个类可以被管理"。:告诉容器"请帮我管理这个类"。构造函数注入:声明"我需要什么",容器自动塞进来。默认单例:整个应用只有一个实例,全局共享。一句话总结:DI 就是"你只管声明要什么,框架帮你搞定一切"。

2026-08-29 14:17:17 335

原创 NestJS 从入门到企业级实战(一):环境搭建与项目结构全解析

打开@Get()// 新增:GET /userreturn {name: '张三',age: 25,role: '前端工程师',保存后,start:dev会自动热重载。打开浏览器访问"name": "张三","age": 25,"role": "前端工程师"恭喜,你的第一个后端接口写完了。NestJS 是一个 TypeScript 后端框架,架构清晰,适合企业级开发。main.ts(入口)、(模块)、(控制器)、(服务)。

2026-08-29 14:11:13 371

原创 告别 `any` 工程师:一份写给前端人的 TypeScript 进阶指南

《TypeScript实战指南:从入门到优雅编码》 摘要:本文针对前端开发者对TypeScript的常见困惑,通过四个层次系统讲解TS核心用法:1)基础类型与类型推断,强调契约精神与联合类型;2)对象建模的Interface与Type区别;3)泛型编程实现类型参数化;4)工程化进阶技巧包括戒掉any、工具类型应用和性能优化。文章指出TS的核心价值在于提供编译时安全防护和智能提示,建议开发者通过严格模式和实践逐步掌握类型系统,最终实现从被动接受到主动享受的类型驱动开发体验。关键要诀:简单场景靠推断,复杂逻辑用

2026-08-20 15:39:21 354

原创 60000px超宽巨图网页预览终极方案:从Canvas崩溃到OpenSeadragon瓦片落地全流程

本文针对网页端预览超长巨图(如6.3万像素宽)的技术难题,提出完整解决方案。通过分析传统Canvas/WebGL方案内存溢出、渲染失效等致命缺陷,转向DZI瓦片技术。文章详解了图像金字塔原理、Python+libvips切片流程,并给出Vue项目集成OpenSeadragon的完整实现代码。方案成功实现2.3亿像素图片的无损预览,支持缩放/旋转等交互,内存占用极低。关键经验包括:版本锁定libvips8.14.1、静态资源规范部署、组件生命周期管理等。该方案可直接扩展为云端异步切片的企业级应用架构。

2026-08-20 15:30:50 434

原创 企业级 RAG 概念篇:切块(Chunking)、 翻译(Embedding)和向量数据库、混合检索与 Rerank 重排序、权限前置与性能优化

本文系统介绍了企业级RAG(检索增强生成)系统的核心技术架构,重点阐述了文本分块(Chunking)、语义嵌入(Embedding)、混合检索与重排序(Rerank)等关键环节的实现策略。文章通过前端开发类比,深入浅出地讲解了递归语义切块、父子索引等分块技术,以及BGE-M3嵌入模型和Milvus向量数据库的选型建议。特别强调了企业应用中必须注意的权限前置过滤、语义缓存和流式输出等安全与性能优化方案,最终形成包含切块、翻译、检索、精排、生成五步走的完整RAG解决方案

2026-08-19 14:14:15 419

原创 Vite 环境变量终极指南:从原理到企业级实战

本文深入解析Vite环境变量的核心机制与应用实践。主要内容包括:1)Vite内置dotenv机制,通过VITE_前缀区分前后端变量;2)文件加载采用"基础+模式"策略,支持自定义环境配置;3)提出生产环境动态部署方案:使用相对路径+Nginx反向代理实现"一次打包,到处运行";4)区分客户端(import.meta.env)和服务端(loadEnv)两种运行环境;5)提供企业级项目标准配置模板,包含接口通信、调试开关等必备变量;6)分享动态网页标题等进阶实践。文章强调

2026-08-05 11:53:09 342

原创 Vue2 后台系统首屏优化全流程:从问题发现到 2.39s LCP 的完整实战

首屏优化,内部资源优化调整

2026-06-03 10:09:51 509

原创 Webpack 4/5 代码分割全解:从原理到 Vue2 项目最优分包实战

webpack帮助vue2项目进行分包优化、首屏优化

2026-06-03 10:01:59 374

原创 一次血案:我用 ECharts 滑块滑动,把浏览器内存干到 1.5G,真凶却不是 ECharts

你有没有过这种经历:一个图表频繁滑动、切换、刷新,页面越来越卡,内存一路狂飙,关都关不住。你以为是图表库烂、是渲染层不行、是底层缓存不释放。你优化了一遍又一遍,换库、改配置、销毁实例、清理 dom…… 全都没用。直到最后你才发现:杀人真凶,根本不是绘图库,而是你写的一行最不起眼、最 “正常” 的代码。这篇文章,我把我踩过的坑、流过的泪、排查到凌晨的真相,一次性写透。希望你永远不要经历我经历的绝望。我做的是一个实时曲线图表:现象:我第一反应:肯定是 ECharts 内存泄漏!我坚信:是 ECharts 没有销

2026-04-07 18:11:01 414

原创 前端可视化第一章:PixiJS入门指南

PixiJS作为高性能2D渲染引擎,相比传统DOM渲染方案(5-10fps)、Canvas2D方案(15-25fps)和Three.js等3D方案,在10万元素渲染场景下能达到接近60fps的帧率。其核心优势在于WebGL硬件加速、优化的渲染管线设计以及场景图管理机制。特别适用于需要处理海量动态元素(如数据可视化、游戏等)的场景。通过资源预加载、对象池复用、GPU加速等技术手段,PixiJS能实现传统前端技术难以达到的渲染性能,同时保持灵活的定制能力。

2025-09-25 14:45:57 935

原创 基于nodejs的提效神器:快速进入开发模式

本文介绍了一个基于Node.js开发的智能启动脚本工具,旨在解决前端开发者日常工作中的重复操作痛点。该工具通过交互式命令行界面,实现了开发环境快速切换、AI工具智能启动和浏览器一键打开等功能。核心特点包括:动态扫描项目目录自动生成选项列表、处理带空格的复杂路径、使用现代ES模块编写。一个命令即可完成原本需要多次切换的手动操作,显著提升开发效率。技术栈选用Node.js 22.14.0和@inquirer/prompts 7.8.6,提供了稳定可靠的交互体验。

2025-09-25 14:16:14 248

原创 Vue Scoped样式:当动态元素成为“无家可归“的孤儿

在Vue的scoped样式世界中,动态元素就像城市里的流浪猫——你需要特别关照它们,否则它们会翻你的垃圾桶(破坏你的布局)。记住:好的CSS策略就像好的城市规划——需要分区(scoped),但也需要公共空间(全局样式)和特殊通道(深度选择器)。下次当你的动态元素拒绝穿你给的衣服时,不要生气——它们只是需要一张VIP通行证!

2025-07-23 16:26:24 459

原创 解决 Electron 中 window.open 打开新窗口的各种“坑”

摘要:本文探讨Electron中使用window.open()时常见问题及解决方案。主要问题包括新窗口白屏、意外打开多窗口及关闭死循环。解决方法包括在主进程配置webContents.setWindowOpenHandler()、返回{action:'deny'}避免重复窗口,以及在close事件中正确处理监听器移除。文章提供了具体代码示例,帮助开发者正确实现窗口功能,避免常见陷阱,提升Electron应用开发体验。

2025-07-23 16:21:20 1505

原创 Electron驯龙记:在Win7的废墟上唤醒32位DLL古老巨龙

《32位DLL与Electron的跨时空对话:U盾迁移历险记》 摘要:本文记录了将32位U盾控件从NW.js迁移到Electron14的技术探索。作者先尝试传统FFI方案,遭遇Python2.7依赖、ABI兼容性等难题后,转而采用无需编译的koffi库。通过精准控制Node.js14.7.0与Electron14.1.0的版本组合,在SysWOW64路径下成功加载32位DLL,并详细剖析了内存对齐、结构体偏移量处理等核心问题。最终实现方案包含设备枚举、句柄管理、随机数生成等关键步骤,以Promisify方式

2025-05-27 15:14:47 1073

原创 Electron 桌面程序读取dll动态库

本文介绍了Electron跨平台开发中的关键实践,包括:1)解决国内GFW导致的npm安装问题;2)构建配置优化,实现资源文件打包和32位Windows支持;3)通过preload.js建立安全的主进程-渲染进程通信机制;4)使用koffi库调用硬件加密狗DLL进行设备验证。文章详细展示了进程通信、DLL调用、U盾检测等核心代码实现,同时也坦承项目因时间压力存在临时解决方案和技术债务,呼吁同行指正改进。该实践涵盖了Electron开发中的典型挑战和解决方案。

2025-05-27 15:14:20 831

原创 Express中间件(Middleware)详解:从零开始掌握(4)

下面我将为你提供四个实战项目的完整实现代码,每个项目都展示了Express中间件的实际应用场景。

2025-04-11 11:07:22 498

原创 Express中间件(Middleware)详解:从零开始掌握(3)

中间件示例

2025-04-11 11:02:11 567

原创 Express中间件(Middleware)详解:从零开始掌握(2)

【代码】Express中间件(Middleware)详解:从零开始掌握(2)

2025-04-11 10:54:16 701

原创 process.hrtime 是什么

process.hrtime() 是 Node.js 中的一个内置方法,用于获取高精度的时间测量值。它返回一个数组 [秒, 纳秒],可以用来精确地计算时间间隔(如性能测试、基准测试等)。与 Date.now() 或 console.time() 不同,process.hrtime() 提供了更高精度的时间测量,并且不会受到系统时钟调整的影响。

2025-04-11 10:40:08 970

原创 Express中间件(Middleware)详解:从零开始掌握(1)

中间件是能够访问请求对象(req)、响应对象(res)和下一个中间件函数(next)的函数。

2025-04-11 10:23:06 1132

原创 PM2 在 Node.js 项目中的使用与部署指南

pm2在nodejs项目中的使用

2025-04-03 17:37:14 1539 1

原创 electron客户端远程手动更新

客户端安装以后,一般来说都有个检查更新的按钮。一点击,就会自动去服务器上拉取最新版本的安装包,然后自动下载安装。本文大概记录一下主要步骤、代码。

2025-04-03 17:19:26 645

原创 electron 客户端 windows linux(麒麟V10)多系统离线打包 最新版 <二>

这节主要讲解以下 linux系统(国产麒麟)下,electron如何配置打包。

2024-09-06 17:58:17 2461

原创 electron 客户端 windows linux(麒麟V10)多系统离线打包 最新版 <一>

electron windows 离线打包

2024-09-06 17:57:10 2155

原创 触摸屏虚拟键盘组件 jQuery Virtual Keyboard使用 自定义键盘

触摸设备,虚拟键盘

2024-07-09 13:06:20 909

原创 vue3实现无缝滚动 列表滚动 vue3-seamlessscroll

vue3框架内的无缝滚动

2024-07-09 11:35:14 2882

原创 内网使用nexus3搭建npm私库方法

内网使用nexus搭建npm私库步骤

2024-06-24 10:15:19 1773

原创 Electron 读取本地配置 增加缩放功能(ctrl+scroll)

elelctron读取本地配置 缩放功能

2024-03-27 18:09:11 1480

原创 vue 预览excel文件的又一伟大实践 —— vue-office

vue-office预览excel以及自定义显示样式

2024-03-27 15:30:41 10702 30

原创 Electron内调用网页出现 $ is not defined 或者 jQuery is not defined

解决electron引用第三方网页出现undefined的报错

2024-03-13 09:42:15 1482 1

原创 前端FLV视频直播解决方案

解决前端flv协议下直播视频流的播放

2023-12-21 17:10:00 2967 1

原创 vue 实现在线预览Excel-LuckyExcel/LuckySheet实现方案

由于后台给到的数据,就是二进制数据。因为他们导出和预览实际上用的是同一个接口。那么,我们需要将二进制数据解析为文件对象,通过luckyexcel的方法转变为json对象,然后通过luckysheet显示出来。:引入luckysheet,只能通过CDN或者直接引入静态资源的形式,不能npm install。个人建议直接下载资源引入。如上两步,就可以显示项目预览excel的需求了。:自行整理下路径,不要错了。

2023-11-06 16:48:34 4040

原创 前端(Electron Nodejs)如何读取本地配置文件

electron\nodejs实现了一下读取本地文件的需求。

2023-07-25 13:16:18 5270

原创 nodejs调取exe执行文件连接websocket

使用nodejs,electron读取并执行客户端应用安装目录下的exe文件(exe文件是一个websocket服务)

2023-07-18 09:07:37 1008

原创 vue最强table vxe-table 虚拟滚动列表 前端导出

vue table万能组件

2023-07-06 13:05:41 13725 4

原创 vue Electron ArcGis 桌面应用 Sqllite3 node-grp:老旧项目的起死回生

vue2+electron+sqllite3+node-gyp。看到这个技术栈,基本可以知道感知这个项目的关键词:vue、Gis地图、本地数据库、桌面客户端。顿时深感亚历山大。不多说,开干。

2023-06-09 11:28:43 1677 1

原创 vue openlayer GisMap QGis 点击交互 MultiLineString 样式高亮

Gis Geoserver Openlayer ImageWMS 点击选中要素以及高亮效果

2023-04-24 11:06:11 854

app测试方案

app测试文档,仅供个人参考使用.(如有雷同,纯属巧合)

2015-06-18

html5移动端日历选择 datepicker

仿ios风格的html5移动端日历选择,上下滑动选择日历。

2018-06-07

js jquery 手机 邮箱注册

js jquery 手机和邮箱注册,tab选项卡切换,验证码倒计时,清空等

2018-06-07

HTML5权威指南

HTML5权威指南 来源网络,仅供学习参考

2016-04-14

html5地理位置定位

html5地理位置定位相关文档

2016-04-14

欧朋移动测试浏览器

移动测试浏览器 支持多分辨率下的预览效果

2016-04-14

Eidtplus html5高亮显示文件

Eidtplus html5和css3高亮显示文件

2016-04-21

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

TA关注的人

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