- 博客(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
原创 前端与浏览器安全知识详解
风险类型防护手段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
原创 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关注的人