自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小伙伴们全都Lucky!

热爱技术,分享技术,学习技术

  • 博客(55)
  • 资源 (2)
  • 收藏
  • 关注

原创 JavaScript闭包详解:从原理到实战应用

闭包是JavaScript的核心特性,指函数能够访问并记住其词法作用域中的变量,即使函数在作用域外执行。闭包通过作用域链机制实现,允许内部函数"记住"创建时的环境。典型应用包括创建私有变量、保存状态、实现模块化和函数柯里化。但需注意内存泄漏风险,应合理管理闭包引用。现代前端框架如React Hooks和Vue Composition API都广泛使用闭包。掌握闭包有助于编写更模块化、高效的代码,建议通过实践加深理解。

2025-11-24 10:05:01 754

原创 前端内存泄漏与内存溢出的深度解析:成因、检测与全方位解决方案

本文系统分析了前端开发中内存泄漏的根源与解决方案,涵盖全局变量污染、事件监听泄漏、闭包陷阱等常见问题,并针对React/Vue等现代框架提出了优化建议。文章详细介绍了内存溢出触发条件、高级检测工具(如Chrome DevTools)的使用方法,以及架构级的微前端隔离和SSR优化方案。最后总结出编码规范、架构设计和监控体系三位一体的内存管理最佳实践,为构建健壮高效的前端应用提供完整解决方案。

2025-11-24 09:34:28 494

原创 SQLmap实战:安全测试利器

sqlmap是一款开源的SQL注入自动化检测工具,用于发现和利用Web应用中的SQL注入漏洞。它支持多种数据库类型,通过检测用户输入未过滤的SQL语句实现非授权查询。使用步骤包括:检测漏洞、获取数据库列表、查看指定数据库的表结构,最后可导出表数据(需谨慎操作)。该工具能帮助评估数据泄露等安全风险,但需在法律允许范围内使用。

2025-11-23 04:18:02 331

原创 黑客神器Kali Linux:入门指南

Kali Linux是一款专为渗透测试和安全审计设计的操作系统,内置了大量安全工具。它支持多种安装方式,包括虚拟机、树莓派、手机、云平台等。对于初学者,推荐使用Virtual Machines虚拟机版本,安装简单且不影响原有系统。安装前需下载VMware Workstation Pro(现已免费),解压Kali镜像后直接运行.vmx文件即可。系统默认账号密码均为"kali",登录后需检查网络连接。Kali默认英文界面,但可通过命令切换中文。本文详细介绍了Kali的下载、安装和基本配置流程

2025-11-23 02:25:04 639

原创 一文速通:JAVA企业级登录模块核心功能+安全特性(4.登出模块)

本文详细解析了Java企业级登录模块中的登出功能实现。登出模块采用三层架构设计(表现层、服务层、管理器层),核心流程包括:1)接收登出请求并鉴权;2)终止会话并清理缓存;3)记录操作日志。关键技术点包括:使用Sa-Token框架实现会话管理、自动清理权限和登录信息缓存、完善的审计日志记录。文章还提供了核心代码示例,并提出了优化建议:增加异常处理、异步日志记录、登出前置钩子、多设备登出支持等。该模块设计遵循无状态原则,适用于分布式环境,有效保障系统安全性和资源管理。

2025-11-22 09:53:13 962

原创 一文速通:JAVA企业级登录模块核心功能+安全特性(3.双因子登录之登录标识模块)

本文详细分析了Java企业级双因子登录模块的设计与实现。该模块采用邮箱验证作为第二认证因素,通过分层架构实现配置管理、验证流程和安全存储功能。核心特性包括:灵活的配置开关、60秒发送频率限制、5分钟验证码有效期、Redis临时存储机制,以及万能密码例外处理。文章深入讲解了状态获取、验证码发送和校验三大流程,并提出了配置默认值优化、验证码安全增强、错误处理改进等进阶优化建议。该模块显著提升了系统安全性,同时兼顾业务适配性和用户体验,是企业级登录系统的关键安全组件。

2025-11-22 09:52:28 838

原创 一文速通:JAVA企业级登录模块核心功能+安全特性(2.验证码模块)

本文分析了验证码模块的设计与实现,采用分层架构提供REST API接口,核心功能包括验证码生成、存储和校验。模块使用Hutool工具生成4位数字验证码图片,添加干扰线增强安全性,通过Redis存储确保分布式一致性。文章详细介绍了验证码生成、校验逻辑及在登录流程中的应用,并从安全性、性能和开发友好性三方面分析了模块特性。最后提出了多项优化建议,包括增强验证码复杂度、添加尝试次数限制、支持多种验证码类型等,以平衡安全性与用户体验。

2025-11-21 08:48:40 902

原创 一文速通:JAVA企业级登录模块核心功能+安全特性(1.登录模块)

本文分析了企业级登录模块的设计与实现。登录模块采用分层架构(Controller、Service、Manager等层),包含核心登录流程、安全机制和优化建议。主要功能包括:1)基础登录流程(验证设备、校验验证码、账号状态检查等);2)安全机制(登录失败限制、双因子认证、密码复杂度要求);3)特殊功能(万能密码、权限加载)。文章还提出了优化建议:优化异常处理、增强密码算法、解耦登录流程、增加风险控制等。该模块设计全面,通过分层架构和安全机制保障系统安全性,同时提供了进一步优化的方向。

2025-11-21 08:47:20 815

原创 前端Token无感刷新实战指南+源码

本文介绍前端实现Token无感刷新的双Token机制。使用短时效AccessToken(1-2小时)用于API访问,长时效RefreshToken(7天)用于刷新AccessToken。核心实现:在响应拦截器中捕获401状态码触发刷新流程,通过标志位防止重复刷新,暂存过期请求队列。Token存储建议:AccessToken存内存,RefreshToken存HttpOnly Cookie提升安全性。优化点包括防抖刷新、错误处理和时间安全校验,通过模块化设计实现高效维护,确保用户操作无中断。

2025-11-20 15:54:40 1438

原创 Electron+Vite:实现electron + vue3 + ts + pinia + vite高效跨平台开发指南

本文介绍了基于Vite构建的Electron开发工具electron-vite。该工具整合了Vite的快速构建特性,专门针对Electron应用开发环境优化,支持主进程、预加载脚本和渲染进程的集中配置。electron-vite提供了HMR热更新、代码保护、TypeScript装饰器支持等功能,显著提升开发效率。文章详细说明了安装要求、项目创建方法、配置方式以及核心特性,包括Vite集成、智能打包、资源处理和调试支持。通过npm或yarn可快速创建包含Vue/React等框架的Electron项目模板。

2025-11-20 15:18:46 1162

原创 Electron入门:跨平台桌面开发指南

Electron是一个基于JavaScript、HTML和CSS构建跨平台桌面应用的框架,它集成了Chromium和Node.js,开发者无需掌握原生开发技术即可创建Windows、macOS和Linux应用。开发流程包括:初始化Node.js项目并安装Electron依赖;创建主进程脚本(main.js)控制应用生命周期;设计界面(index.html);通过预加载脚本(preload.js)实现主进程与渲染进程的通信。项目完成后可使用Electron Forge进行打包分发。该框架让Web开发者能快速构

2025-11-19 16:47:30 842

原创 Spring Boot 全面解析

SpringBoot作为简化Spring应用开发的主流框架,采用"约定优于配置"理念,解决了传统Spring配置复杂、依赖管理困难等问题。其核心特点包括自动配置、起步依赖、嵌入式服务器等,但存在一定学习曲线和灵活性限制。学习路径建议分四阶段:基础入门→核心功能→高级特性→项目实战,通常1-2个月可基础掌握。随着微服务架构普及,SpringBoot重要性持续提升,成为Java开发者必备技能。

2025-11-19 16:16:15 1411 4

原创 Vue2到Vue3全方位升级指南

摘要:本文详细介绍了从Vue2(JS+Webpack+Vuex)到Vue3(TS+Vite+Pinia)的技术栈升级方案。内容包括:1.环境准备与项目分析;2.创建Vite项目框架;3.核心依赖升级(Vue3、Pinia、ElementPlus);4.代码迁移关键点(入口重构、API变更、生命周期调整);5.ElementUI到ElementPlus的组件迁移;6.构建配置转换;7.测试优化策略。升级过程需关注TypeScript适配、API变更、组件兼容等问题,建议采用渐进式迁移,预计耗时1周到2个月不等

2025-11-18 09:35:02 903

原创 前端樱花花雨特效组件实现代码解析(适用vue,html,react等前端框架)

樱花飘落特效代码解析 这段代码实现了一个优雅的樱花飘落视觉效果,主要包含以下功能: 核心功能 Sakura类:代表单个樱花花瓣对象,包含位置(x,y)、大小(s)、旋转角度(r)和运动函数(fn)等属性,以及绘制和更新方法。 SakuraList类:管理所有花瓣对象的集合,提供添加、更新和绘制所有花瓣的方法。 随机参数生成器(getRandom):为每个花瓣生成不同的初始参数和运动函数: 'x'/'y':初始位置 's':大小比例 'r':旋转角度 'fnx'/'fny'/'fnr':控制x/y轴移动和旋转

2025-11-18 08:52:57 417

原创 微服务与单体那些事儿

本文深入探讨了软件架构设计的本质与选择策略,指出架构不仅是技术问题,更涉及业务理解、团队能力和成本控制等多维度考量。作者通过实验室项目经验和大量企业案例(包括文具电商、学校系统等),分析了单体架构、SOA和微服务的适用场景及常见误区。特别强调微服务拆分需要深厚的行业认知,盲目采用会导致开发效率低下、维护成本飙升。文章建议:初创项目优先选择单体架构;只有具备行业经验和充足资源时,才适合采用微服务。最终提出架构设计的三大原则:简单、适度、演化,提醒技术决策要匹配实际业务阶段。

2025-11-17 09:59:22 790

原创 前端Js和Ts的选型那些事儿

TypeScript虽然能为JavaScript项目带来类型安全和更好的开发体验,但在实际项目中往往出现"破窗效应":尽管项目初始使用TS,随着开发进度紧张,类型检查逐渐被忽视,出现大量any类型或不写类型的情况,最终TS项目沦为和JS项目无异。建议在人员充足、长期维护的项目中使用TS,而在人员紧张、任务繁重的项目中,规范的JS开发可能更实际。关键在于团队能否坚持类型检查规范,否则TS的优势将难以发挥。

2025-11-17 09:57:27 689

原创 一文搞懂:Java规范

本文总结了一套完整的Java项目开发规范,涵盖项目命名、代码结构、MVC分层和数据库设计等方面。在项目规范中强调使用小写命名、参数封装和统一目录结构;MVC规范详细规定了各层的职责分工,如Controller只做路由转发、Service合理拆分业务、谨慎使用事务注解;数据库规范则明确了命名规则、建表要求和字段注释标准。此外,还对javabean命名、布尔类型属性等细节作出统一要求,旨在提升代码可读性、可维护性和团队协作效率。

2025-11-16 20:48:51 1088

原创 一文搞懂:Vue3规范

本文总结了Vue3开发中的规范化要求和最佳实践,主要包括:1. 基础规范:项目命名采用小写中划线格式,目录文件命名统一风格,JS使用单引号和分号,HTML使用双引号。2. Composition API规范:强制使用setup语法糖,要求按业务模块组织代码,变量和方法必须添加注释,ref变量命名以Ref结尾。3. 组件规范:组件文件采用PascalCase命名,父子组件命名保持关联,属性较多时应换行,模板避免复杂表达式。4. 路由规范:传参推荐使用路由参数,path采用kebab-case且以/开头,nam

2025-11-16 20:48:13 785

原创 一文搞懂:极速前端构建神器Vite

Vite 是一个新一代前端构建工具,旨在提升开发体验。它由两部分组成:基于原生 ES 模块的开发服务器,提供极快的热更新;以及使用 Rollup 的预配置生产构建流程。Vite 利用现代浏览器特性,开发时直接提供 ES 模块源码,生产环境则进行优化打包。相比传统打包工具,Vite 显著改善了服务器启动和热更新速度,支持主流框架模板,并可通过插件扩展功能。其创新设计解决了大型项目开发时的性能瓶颈问题,同时保持与生产环境构建的一致性。

2025-11-14 11:29:20 1163

原创 Vue状态管理新选择:一文搞懂Pinia

Pinia是一个专为Vue设计的状态管理库,提供组合式API支持,适合构建单页应用和服务端渲染应用。它具有类型安全、测试工具集成、热更新等特性,相比Vuex更简洁易用。Pinia通过store管理全局状态,包含state、getters和actions。安装简单,支持Vue2和Vue3,能自动补全和类型推断,使开发更高效。Pinia取代了Vuex成为推荐方案,特别适合需要共享状态的复杂应用。

2025-11-14 11:06:25 774

原创 Xftp 7免费版学习+解决强制升级最新版问题

本文详细介绍了Xftp7软件的安装与破解流程:1)下载资源包安装主程序;2)替换并修改nslicense.dll文件;3)使用补丁工具完成破解。针对强制升级问题,提供了使用C32Asm修改十六进制代码的方法(将"0f888300"改为"0f838300")。同时提示了可能出现的文件选择闪退问题,建议通过拖拽文件到服务器选项卡解决。全文包含具体操作步骤和注意事项,指导用户完成软件完整安装与功能破解。

2025-11-13 11:35:24 399

原创 本地启动redis出现闪退解决

Redis本地运行闪退常见原因及解决方案:1. 内存配置问题(主要诱因):设置maxmemory限制内存使用,Windows需调整堆内存参数,Linux需设置vm.overcommit_memory=1;2. 配置错误:确保daemonize设为yes,检查端口冲突(默认6379);3. 持久化文件异常:修复损坏的AOF/RDB文件;4. 系统因素:ARM64架构需设置ignore-warnings,避免OOM终止进程。通用修复流程:通过redis-cli执行shutdown清理残留状态后,用配置文件重启服

2025-11-13 09:35:19 838

原创 Node各版本的区别,如何选择版本以及与NPM版本对照关系

Node各版本的区别,如何选择版本以及与NPM版本对照关系

2025-11-10 09:15:21 385

原创 nvm命令使用,nvm国内镜像,nvm命令for Linux/Mac

nvm命令使用,nvm国内镜像,nvm命令for Linux/Mac

2025-11-08 18:24:36 673

原创 Node与Npm国内最新镜像配置(淘宝镜像/清华大学镜像)

Node与Npm国内最新镜像配置(淘宝镜像/清华大学镜像)

2025-11-08 18:23:53 657

原创 nvm安装部分node版本后没有npm的问题(14及以下版本)

nvm安装部分node版本后没有npm的问题(14及以下版本)

2025-11-07 18:35:32 535

原创 Node.js版本与npm版本的对应关系

Node.js版本与npm版本的对应关系

2025-11-07 17:39:41 535

原创 uniapp ,vue,js日历卡片可滑动日期可点击选择可更改颜色样式

uniapp ,vue,js日历卡片可滑动日期可点击选择可更改颜色样式

2024-05-07 12:01:10 730 1

原创 前端js时间戳互转年月日时分秒,前端js两个年月日时分秒时间相减获得时间差,相差几天几月几日几时几分几秒,直接复制即用。

前端js时间戳互转年月日时分秒,前端js两个年月日时分秒时间相减获得时间差,相差几天几月几日几时几分几秒,直接复制即用。

2024-05-06 10:09:10 450

原创 前端JS获取当前一周(上一周、下一周、上几周、下几周)的时间

前端JS获取当前一周(上一周、下一周、上几周、下几周)的时间,适用于vue、uniapp、微信小程序。

2024-05-06 10:04:46 1509 1

原创 前端VUE2/VUE3/uniapp/微信小程序进度条时间段选择(开始时间,结束时间)

可以自定义点击选择的时间段进度条

2024-04-27 18:25:55 1440

原创 vue的v-model双向数据绑定详解

vue的v-model双向数据绑定详解

2022-12-23 11:48:46 2756

原创 什么是MVVM、为什么要使用MVVM,它与MVC的区别

什么是MVVM、为什么要使用MVVM,它与MVC的区别

2022-12-23 11:43:57 1030

原创 实战vue项目封装axios

实战vue项目封装axios

2022-12-23 11:23:32 400

原创 axios的定义极其使用,axios拦截器设置

axios的定义极其使用,axios拦截器设置

2022-12-23 11:20:40 700

原创 VUE父子组件传值

vue父子传值

2022-12-23 11:03:31 111

原创 微信小程序输入框小数点后保留两位

图片效果2.html部分<input placeholder="0.00" value="{{docMoney}}" type="digit" bindinput="priceEvent" />3.js部分// 价格限制小数点后两位 priceEvent(e) { console.log(e) var money; if (/^(\d?)+(\.\d{0,2})?$/.test(e.detail.value)) { //正则验证,提现金额小数.

2021-10-26 10:34:13 1327

原创 前端微信小程序详细发布流程

1.打开微信开发者工具2.选择要发布的小程序3.选择后在界面上点击预览4.用微信扫码弹出的二维码自己测试一遍5.测试无误后点击上传6.根据自己需要填写,最后点击上传7.登录微信公众平台用微信扫码登录8.点击管理中的版本管理9.这是刚刚发布的体验版本,点击提交审核,审核的内容不知道如何填写直接默认10.提交完成后等待审核结果,审核结果会发消息通知,审核不通过是经常的问题,多发个五六七八遍就OK了11.审核通过后点击发布...

2021-10-26 10:26:20 1897

原创 微信小程序监听页面滚动

1.正常状态下.2.页面滚动到大于100时显示定位到顶部的view盒子3.html部分<view class="question"> <!-- 顶部Banner图 --> <view class="qBanner" > <image class="qBannera" src="../../../images/question/banner.png" alt=""></image> <ima...

2021-10-26 10:06:57 4096

原创 JQuery点击按钮删除当前的div

1.图片2.html部分 <div > <div > <img src="images/home.png" /> <span>我是盒子1</span> <span class="editdelete">删除</span> </div&g.

2021-09-02 16:14:46 1691

Xftp7版本学习资源

Xftp7版本学习资源

2025-11-13

C32Asm十六进制编辑与静态反汇编功能工具安装包

C32Asm十六进制编辑与静态反汇编功能工具安装包

2025-11-13

HTML页面常用标签 css页面常用样式 .docx

新手学习HTML CSS

2021-08-24

JavaScript常用运算符和操作符总结.docx

js运算符操作符

2021-08-24

MVVM和MVC区别,v-model详解教学课件

什么是MVVM 什么是MVC MVVM和MVC区别 **为什么要使用MVVM** 前端vue双向数据绑定v-model的详解教学课件 MVVM源自于经典的MVC(Model-View-Controller)模式。MVVM的核心是ViewModel层,负责转换Model中的数据对象来让数据变得更容易管理和使用 Vue.js是一个MV VM框架, 即数据双向绑定, 即当数据发生变化的时候, 视图也就发生变化, 当视图发生变化的时候,数据也会跟着同步变化。这也算是Vue.js的精髓之处了。   值得注意的是,我们所说的数据双向绑定,一定是对于UI控件来说的非UI控件不会涉及到数据双向绑定。单向数据绑定是使用状态管理工具的前提。如果我们使用vue x那么数据流也是单项的,这时就会和双向数据绑定有冲突。 在Vue.js中,如果使用vuex, 实际上数据还是单向的, 之所以说是数据双向绑定,这是用的UI控件来说, 对于我们处理表单, Vue.js的双向数据绑定用起来就特别舒服了。即两者并不互斥,在全局性数据流使用单项,方便跟踪;局部性数据流使用双向,简单易操作。 你可以用v-model指令在表单、

2022-12-23

空空如也

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

TA关注的人

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