自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度解析——Vue与React的核心差异

根据2025年State of JS调研,Vue在中小企业采用率达58%,React在大型企业采用率维持72%的统治地位。React生态(Redux Toolkit)React Native方案。案例对比:开发商品详情页。Vue生态(Pinia)

2025-02-17 11:17:37 1232

原创 多人协同开发 —— Git Aoneflow工作流

场景 | 合并方式 | 优势 || 紧急修复 | --ff-only | 保持线性历史 || 跨迭代代码迁移 | cherry-pick | 精准控制代码范围 || 常规功能合并 | --no-ff | 保留完整功能开发历史 |

2025-02-17 10:51:14 1022

原创 前端与后端的对接事宜、注意事项

需求分析接口设计开发联调测试验证上线部署二、前端视角:对接方法与注意事项1. 对接流程接口文档确认:阅读后端提供的 OpenAPI/Swagger 文档请求构造:处理参数、请求头、认证信息发送请求:通过 AJAX/Fetch/Axios 发起 HTTP 调用响应处理:解析数据、错误处理、状态管理数据渲染:将接口数据转换为 UI 可用的格式2. 关键代码示例(用户登录)3. 前端注意事项参数校验:在发送前验证参数格式安全处理:敏感参数加密(如密码用 HTTPS + RSA 加密

2025-02-16 22:04:51 1122

原创 如何完成WEB标准的网站重构?

一、重构核心原则二、重构步骤与案例

2025-02-16 21:47:29 572

原创 SaaS 平台开发要点

如何在 SaaS 平台的前端开发中,编写高性能、高质量且高度通用化的 Vue 组件

2025-02-16 20:04:32 811

原创 OWASP 2025年智能合约Top 10漏洞

OWASP 2025年智能合约Top 10漏洞

2025-02-15 16:46:57 507

原创 前端与浏览器安全知识详解

风险类型防护手段XSS输入过滤、输出编码、CSP、避免innerHTMLCSRFCSRF Token、SameSite Cookie、验证 Referer点击劫持X-Frame-Options、CSP 的数据泄露禁用、敏感数据不存 localStorage第三方依赖定期更新依赖、使用npm auditHTTPS全站 HTTPS、HSTS 头、禁用混合内容(HTTP 资源)

2025-02-15 16:43:43 1216

原创 图文并茂,5分钟学习十大排序算法 —— 桶排序、基数排序

桶排序可将数据分到不同文件(桶),逐批加载到内存排序,适合处理超出内存的数据。数据分布均匀时,分桶后各桶元素数量均衡,效率接近线性。当数据比较成本高时,桶排序通过分桶避免直接比较。需要保持相同元素的原始顺序时,基数排序天然稳定。当整数位数固定或范围可控时,基数排序效率极高。可逐位(或逐字段)排序,适合多维度排序需求。

2025-02-15 16:12:43 278

原创 中级领域设计详解,附带案例与代码

突变测试:使用PITest等工具验证测试有效性。领域服务(Domain Service)契约测试层:验证微服务间API契约。单元测试层:验证聚合根的业务规则。集成测试层:验证仓储与数据库交互。案例说明:电商系统典型划分。测试中断常见原因及解决方案。测试数据工厂:提升可维护性。一、领域驱动设计理论体系。六、验证与测试(完整版)参数化测试:覆盖边界条件。二、核心模式深度解析。三、电商系统完整案例。持续集成中的测试优化。

2025-02-14 10:45:23 655

原创 图文并茂,5分钟学习十大排序算法 —— 堆排序、计数排序

优化效果:减少内存占用 (k’ = max - min + 1)测试数据集:100万随机整数(范围0-1000)智能切换:根据数据范围自动选择最优算法。数学证明:建堆时间复杂度为 O(n)假设输入数组元素范围为 [0, k]4.1 堆排序 + 计数排序混合。1.1 核心数据结构:二叉堆。时间复杂度:O(log n)建堆(Build-Heap)测试数据集:1亿元素随机分布。堆化(Heapify)1.2 关键操作实现。1.3 完整排序流程。3.2 实际性能测试。4.2 性能优化对比。5.2 计数排序扩展。

2025-02-13 16:29:12 490

原创 深挖vue3基本原理之七 —— 功能模块的深度技术解析

二、Suspense 实现:Promise 状态机管理。一、Effect 调度系统:同步/异步任务队列。三、KeepAlive 组件:LRU 缓存策略。四、Transition 动画:RAF 帧调度。

2025-02-13 16:25:43 189

原创 深挖vue3基本原理之六 —— 类型系统设计与运行时核心架构

1.2 Composition API 类型扩展。2.2 虚拟 DOM Diff 算法优化。1.1 Props 类型推导增强。二、运行时核心架构深度解析。2.1 响应式系统完整实现。一、类型系统设计扩展说明。三、完整响应式工作流示例。2.3 编译器优化案例。四、自定义渲染器实现。

2025-02-13 16:20:37 172

原创 泣血之作——初级领域设计详解,附带案例与代码

需求:实现电商订单创建与库存扣减的原子操作。领域服务(OrderService)1.1 领域设计三大支柱。1.2 核心要素说明。二、电商订单系统案例。2.1 业务场景描述。2.2 领域模型设计。三、完整Java实现。3.2 核心代码实现。值对象(Money)聚合根(Order)

2025-02-12 10:12:17 950

原创 图文并茂,5分钟学习十大排序算法 —— 归并排序、快速排序

最优 | O(n logn) | O(n) || 最差 | O(n logn) | O(n) || 平均 | O(n logn) | O(n) || 最优 | O(n logn) | O(logn) || 最差 | O(n²) | O(n) || 平均 | O(n logn) | O(logn) |分解:将数组递归分成两个子数组(直到单个元素)分区:选择基准元素,将数组分为两个子数组。合并:将有序子数组合并成新的有序数组。

2025-02-12 09:57:27 505

原创 深挖vue3基本原理之五 —— 性能优化机制

这种深度的性能优化使 Vue3 在复杂应用场景下(如大型数据看板、实时协作编辑器)能够保持 60fps 的流畅度,同时将冷启动时间缩短至 Vue2 的 1/3。核心思想是通过编译时静态分析最大化减少运行时开销,结合现代浏览器特性进行深度性能调优。:1000 个动态列表项更新。渲染 fallback。流式发送最终 HTML。

2025-02-11 09:59:48 891

原创 深挖vue3基本原理之四 —— 组合式 API

这种深度整合使得 Vue3 的组合式 API 不仅改变了代码组织方式,更在底层实现了框架能力的质的飞跃。从虚拟 DOM 优化到响应式系统升级,再到编译时策略调整,每个环节都体现着"组合优于继承"的设计哲学。继承父级provides。

2025-02-11 09:08:19 1026

原创 深挖vue3基本原理之三 —— 虚拟DOM

这种深度优化使得 Vue3 在处理复杂应用时,即使面对超过 10,000 个节点的巨型组件,仍能保持流畅的更新性能。核心思想是通过编译时的静态分析和运行时的树结构优化,最大限度减少不必要的比对操作。:包含 1000 个节点的列表更新。

2025-02-10 10:16:50 859

原创 深挖vue3基本原理之二 —— 编译时优化

完整编译流水线:阶段一:词法分析(Tokenizer)阶段二:AST 转换结构重写:扁平化嵌套条件表达式静态分析:标记不可变节点树作用域分析:追踪变量引用关系阶段三:代码生成策略静态节点判定标准:提升机制:多级提升策略:性能影响:标志位复合运算:运行时优化处理:动态属性优化:此时补丁标志为 ,运行时仅需检查这三类变更Block 数据结构:动态节点追踪算法:编译时转换示例:运行时优化策略:1. 预字符串化(Pre-stringification)2. 缓存事件处理(Cache Ev

2025-02-10 09:43:10 999

原创 浏览器实现原理详解

解析器会将其转换为样式规则对象,然后根据这些规则构建 CSSOM 树。CSSOM 树的节点代表 CSS 选择器和对应的样式属性,与 DOM 树结合起来确定每个元素的最终样式。函数继续执行,执行完毕后,其执行上下文也从执行栈中弹出。,将其回调函数放入任务队列中等待 1 秒后执行。的回调函数从任务队列中取出并放入执行栈中执行,打印。函数执行完毕后,其执行上下文从执行栈中弹出,接着。,此时执行栈为空,事件循环会在 1 秒后将。函数的执行上下文压入执行栈,然后在。函数的执行上下文压入执行栈。在执行过程中,会先将。

2025-02-09 22:20:47 834

原创 深挖vue3基本原理之一 —— 响应式系统(Reactivity System)

通过这种异步更新队列的方式,Vue 3 可以将多次属性变化引起的副作用函数执行合并为一次,从而提高性能。例如,在短时间内多次修改响应式对象的属性,只会触发一次副作用函数的执行。在 Vue 3 中,响应式系统的核心是使用 ES6 的 Proxy 来替代 Vue 2 里的。Vue 3 的响应式系统基于调度器实现了异步更新队列,以提高性能和避免不必要的重复更新。的响应式代理、三层依赖管理机制和副作用调度,实现了高效、全面的响应式追踪和更新功能。方法,以此实现更加全面和强大的响应式追踪功能。来高效地管理依赖关系。

2025-02-09 21:54:03 783

原创 深入浅出:初步了解领域设计

领域设计是一种以业务领域为中心的软件设计方法,它聚焦于业务领域中的问题和需求,通过抽象、建模等手段将业务概念转化为软件系统的设计和实现。与传统的以技术为导向的设计方法不同,领域设计强调从业务视角出发,深入挖掘业务的本质和规则,从而使软件系统能够更好地服务于业务。领域设计作为一种以业务为核心的软件设计方法,为我们构建高质量的软件系统提供了有效的指导。通过深入理解领域设计的核心要素和实践步骤,并结合 Java 代码示例,我们可以初步掌握领域设计的基本概念和方法。

2025-02-08 10:27:04 530

原创 详解Java 抽象类与接口

抽象类是一种不能被实例化的类,通常用于作为其他类的基类。它可以包含抽象方法(没有实现的方法)和具体方法(有实现的方法)。抽象类的主要目的是为子类提供一个通用的模板。接口是一种完全抽象的类,它只包含抽象方法(在Java 8之前)和常量(接口用于定义一组方法签名,要求实现类必须实现这些方法。抽象类更适合用于代码复用和模板设计,尤其是当你希望多个类共享一些通用的代码时。接口更适合用于定义行为和实现多重继承,尤其是当你希望多个类实现相同的行为时。在实际开发中,抽象类和接口常常结合使用,以便充分利用它们的优势。

2025-02-08 10:19:21 911

原创 css和less与sass的区别与使用

作为前端工程师,我们每天都在与样式打交道,CSS 是构建网页样式的基础,而 LESS 和 SASS 则是在 CSS 基础上衍生出的强大预处理器,为我们的样式开发带来诸多便利。今天,就来深入探讨一下它们之间的区别。

2025-02-07 09:58:08 774

原创 图文并茂,5分钟学习十大排序算法 —— 插入排序与希尔排序详解

作为 Java 工程师,掌握各种排序算法是提升编程功底的必备技能。今天,就来深入剖析插入排序(Insertion Sort)与希尔排序(Shell Sort),看看它们是如何运作以及在 Java 中的具体实现。

2025-02-07 09:47:44 689

原创 图文并茂,5分钟学习十大排序算法 —— 冒泡排序与选择排序

冒泡排序和选择排序虽然简单易懂,但在处理大规模数据时效率较低。它们适合用于小规模数据或作为学习排序算法的入门示例。在后续的博客中,我们将继续介绍其他更高效的排序算法。《算法导论》#排序算法 #冒泡排序 #选择排序 #Java #算法。

2025-02-07 09:38:21 262

原创 java基础数据类型

Java的基本数据类型是编程的基础,理解它们的特性和使用场景对于编写高效、健壮的代码至关重要。数据类型分类大小(字节)默认值byte整数类型10short整数类型20int整数类型40long整数类型80Lfloat浮点类型40.0fdouble浮点类型80.0dchar字符类型2‘\u0000’boolean布尔类型1false希望这篇文章能帮助你更好地理解Java的基本数据类型!如果有任何问题,欢迎在评论区留言讨论。

2025-02-06 21:53:36 329

原创 微前端技术详解:打破前端边界,构建高效应用

随着前端应用的日益复杂,微前端作为一种新兴的架构模式逐渐崭露头角。本文深入探讨微前端的概念、核心技术、优势以及面临的挑战,旨在帮助前端开发者更好地理解和应用这一前沿技术,提升项目的开发效率与可维护性。

2025-02-05 14:50:50 349

原创 如何将多个pdf合并为一个pdf

综合来看,前端实现 PDF 合并有多种途径可供选择。如果追求高度定制化、希望深度融入前端项目流程,基于 JavaScript 库(如 pdf-lib)的编程实现是不二之选;若只是偶尔应急处理,不想涉及复杂代码编写,在线工具凭借其便捷性可快速解决问题;而对于对 PDF 质量、功能完整性有极高要求,且不介意付费使用的专业场景,Adobe Acrobat 软件则能完美胜任。希望通过本文的介绍,你能根据自身实际情况,熟练运用相应方法完成 PDF 合并任务,提升工作效率。

2025-02-04 15:14:51 711

原创 关于js深拷贝的深究

深拷贝的核心是递归遍历+类型判断生产环境推荐使用成熟的工具库注意特殊对象类型和循环引用问题根据业务需求选择合适的拷贝方式。

2025-02-02 00:39:37 219

原创 JavaScript,for循环

在编程过程中,我们必然少不了循环语句循环语句除了while do……while 还有就是for循环了那么for循环执行循环时又是怎样的一个执行流程呢先来介绍一下 for循环的结构for(定义初始变量①;循环条件②;变量的变化值④){循环语句块③;}for语句执行顺序为 ①②③④②③④……其中 ①定义初始变量只在进入循环时执行一次如果循环条件有多个,则需要使用&& ...

2020-03-22 20:29:57 184

原创 CSS的文本阴影和BOX阴影

文本阴影CSS3设置文字阴影效果对文字字体设置阴影效果篇text-shadow样式,本来在CSS2版本中也有此属性,但在CSS3中文字阴影text-shadow再次被应用,丰富文字排版布局美化效果 *text-shadow*结构: div{text-shadow:5px 2px 6px #000;}一、5px代表阴影距离左边5个像素二、2px代表阴影距离文字顶部两个像素三、...

2020-03-07 23:03:59 447

原创 什么是CSS高度塌陷?

什么是CSS高度塌陷?菜鸟的见解,望大家不吝指正。高度被迫成了0,就是高度塌陷1.普通定位:块级元素:按照从上到下的方式逐个排列行内元素:按照从左到右的方式逐个排列2.浮动定位 floatfloat:left/right(它会脱离文档流)3.相对定位 relative元素会相对于它原来的位置偏移某个距离,改变元素位置后,元素原本的空间依然会被保留position:r...

2020-02-29 20:58:09 391

原创 CSS浮动属性

浮动属性 浮动可以让元素一个挨着一个。创建一个布局,同时可以设置自身尺寸和父元 素容器的尺寸大小。一个元素浮动时,其他元素会围着它。浮动存在的问题 典型问题是一个父元素里面创建多个浮动子元素后,页面内容设置一个宽度,子元素的浮动确定了他们的位置,但浮动的元素不改变父元素的宽度。这样会让父元素塌陷的,显示出来的父元素的高度就变成了0,导致它的好多属性被隐藏了,这种现象多数时候被忽略,...

2020-02-23 20:58:26 196

空空如也

空空如也

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

TA关注的人

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