- 博客(27)
- 收藏
- 关注
原创 大文件上传
普通文件(上传的接口地址、将请求头Content-Type设置为:multipart/form-data,将文件以二进制流的形式传给后端)分块传输:把文件切成小块并上传每个块,解决了浏览器/服务器的单次上传大小限制。根据file.size判断文件大小,针对不同的区间采用不同的上传方式,随着文件越大增加容错、分块、并行。注意要传送index,toal,注意上传分块后的文件块按顺序上传并且有自己的索引号让后端好拼接。之前项目中使用过文件上传,今天希望自己可以理解并使用大文件上传。
2025-07-25 15:08:22
368
原创 Vue组件封装思想:状态到底该放谁手上?
组件封装就像整理抽屉,没有绝对完美的方案,但不断思考和平衡“内聚”与“耦合”、“控制”与“灵活”,就能让代码越来越清晰、健壮和易于维护。
2025-07-24 10:51:30
571
原创 实习第一个小需求样式问题总结
表头下拉按钮交互初始尝试事件无法满足需求,改用 vxe-table 的 @toggle-row-expand-- 自定义下拉按钮 -->异步数据加载优化问题:后端接口响应慢导致需点击两次才显示数据。解决方案展开前添加 loading 状态:// 动态添加 loading 状态});使用骨架屏占位::rows="3"animated/>事件选择:vxe-table 展开行需用原生事件,而非 Element UI 事件异步体验:骨架屏 + 状态标记可显著提升感知速度样式隔离。
2025-07-10 14:51:16
489
原创 面试总结。
概念区分:触发场景:性能优化:从以下维度对比,结合项目实践:模板与渲染:状态管理:组件机制:生态与工具链:项目实践差异:核心问题:实现方法: 递归实现: 手动判断数据类型,递归复制对象 / 数组,处理循环引用(避免栈溢出)。 工具库: 使用或( immutable 数据方案),兼容性和健壮性更强。 应用场景:继承属性(子元素默认继承父元素样式):非继承属性(需显式声明):例外情况:结构化表达:结合项目经验:主动扩
2025-06-05 11:38:46
570
原创 浏览器的垃圾回收机制
它把对象是否不再需要简化定义为对象有没有其他对象引用到它。如果没有引用指向该对象(引用计数为 0),对象将被垃圾回收机制回收。,标记结束后,标记整理算法会将活着的对象(即不需要清理的对象)向内存的一端移动,最后清理掉边界的内存(如下图)链接:https://juejin.cn/post/7061588533214969892。标记阶段把所有活动的对象做上标记,清除阶段将没有活动的对象摧毁。V8 的垃圾回收机制也是基于标记清除算法,不过对其做了一些优化。作者:vortesnail。解决以上的缺点可以使用。
2025-06-04 09:46:36
286
原创 深拷贝之使用weakMap
self: [Circular] // 指向自身,但不会导致无限递归。,可以记录“哪些对象已经被拷贝过”。不再使用,也无法被垃圾回收。,即使原始对象已经不再使用,,所以适合用来做临时缓存。,而不是直接解决循环引用。,它会被垃圾回收(即使。(基本类型,直接赋值)。才是解决循环引用的关键。仍然会强引用它,导致。
2025-06-03 11:32:36
417
原创 React父子通信的方式有哪些?
介绍父子组件通信的基本概念和重要性React 数据流的核心原则(单向数据流)根据场景选择合适通信方式推荐简单场景优先使用 Props 和回调。
2025-05-28 20:43:36
365
原创 使用JSON实现前后端分离项目数据传输
在工程中添加商品实体类(Product)以及商品业务逻辑组件类(Product Service),代码见后面的附录,在 Controller 中可以直接调用该组件方法 完成商品的增删改查操作。使用前端开发工具创建前端项目,将配套资源中商品管理的页面添加到项 目中。(2)设计后端 Controller 代码。(2)设计后端 Controller 代码。(2)设计后端 Controller 代码。(2)设计后端 Controller 代码。6.实现新增商品功能。8.实现修改商品功能。7.实现删除商品功能。
2024-11-21 09:18:38
277
原创 Spring MVC框架的搭建及应用
4.实现查看用户详情功能,单击用户列表中的详情按钮可以跳转到用 户详情页查看用户信息,单击返回列表按钮可以跳转到用户列表页。2.实现新增用户功能,在新增页面输入用户信息可以新增一条用户信 息,新增成功后跳转到用户列表。3.实现删除用户功能,单击用户列表中的删除按钮可以删除一条用户 信息并跳转到用户列表。1.实现用户列表功能,在用户列表页面中可以展示出所有用户信息。1).设计 View 层页面。1)设计 View 层页面。1)设计 View 层页面。1)设计 View 层页面。实现查看用户详情功能。
2024-11-20 20:35:10
149
原创 Spring框架AOP技术应用
(2)当应用程序调用业务逻辑层组件的新增(add)方法完成之后,并且方 法执行过程中程序未报异常,则调用 TransactionUtil.commit 方法提交事务, 如果方法执行过程中抛出了异常,则调用 TransactionUtil.rollback 方法回滚 事务。(2)调用方法之后在控制台打印日志:结束执行 XXX 方法,结束时间 XXX, 方法返回值 XXX,耗时 XXX 毫秒。(3)捕捉方法执行时出现的异常,在控制台打印异常日志:捕捉到异常,异 常信息:XXX。
2024-11-20 20:34:02
382
原创 Spring框架IoC技术的应用
(2)在测试方法中进行测试(从容器中获取 StudentController 类型的 Bean, 并调用该 Bean 的方法,测试执行有无问题)(4)在 Spring 配置文件中配置 4 个 Equip 类型的 Bean,并根据装备数据进 行值的注入(使用 Setter 方式完成注入)(5)在 Spring 配置文件中配置 1 个 Player 类型的 Bean,并完成属性的依 赖注入(使用构造方法完成注入)(1)基于注解的方式实现将这三个类配置到容器中并实现依赖注入。(1)创建 Maven 项目。
2024-11-20 20:31:21
193
原创 MyBatis动态SQL标签的应用
(1) 实体类设计 根据 news 表字段设计 news 实体类(News),根据查询参数设计 NewsCnd 实体类用于传递参数(title、status、startTime、endTime)2.分析新闻信息表(news)通过以下步骤完成动态查询(能够按照时间范围查询、 按照标题模糊查询、按照状态查询)。(2)使用 foreach 构建 insert 语句,实现批量新增新闻数据(数据可自拟)。(3) SQL 配置:分别使用<where>+<if>和<trim>+<if>实现。
2024-11-20 20:29:42
213
原创 MyBatis框架复杂查询
(1)实体类设计 因为供应商和订单是 1 对多的关系,因此,新增供应商实体 (Provider)和订单实体(Bill),并在 Provider 中新增一个 List<Bill>类 型的属性。(1)实体类设计 在工程中新增用户实体(User)和角色实体(Role),因为一个用户只拥 有 1 个角色,因此,在 User 中新增一个 Role 类型的属性。分析用户表(smbms_user)和角色表(smbms_role)以及两表之间的关 系,使用 MyBatis 查询出所有的用户信息以及该用户的角色信息。
2024-11-20 20:28:19
222
原创 MyBatis框架搭建
引入 Junit5 单元测试依赖,并创建测试类和测试方法,在测试方法中调 用 MyBatis API 查询供应商列表并在控制台中打印出来。(1)在 IDEA 中创建 Maven 工程,引入 MyBatis 框架依赖。(2)创建 MyBatis 全局配置文件。(3)设计供应商实体(Provider)(4)设计 SQL 映射文件。
2024-11-20 20:26:56
1421
原创 SpringBoot参数注解
Lombok 是一个非常实用的 Java 类库,其主要目的在于极大地简化 POJO(Plain Old Java Object)实体类的开发过程,减少了大量重复的、样板式的代码编写工作。
2024-11-20 19:45:07
1986
原创 刚开始学js的笔记
/ 输出: "0000123" console.log(str.padStart(2, '0'));// "Barry" 3 (追加类不加点,并且是字符串)元素.classList.add增加/.remove删除/.toggle切换(有则删掉没有则切换)('类名')document.write('输出内容') alter('页面弹出警示框') console.log('控制台')// 方式一:(f(){}())(function(a,b){ // 函数代码}(实参1, 实参2) );
2024-11-20 19:17:54
1457
原创 刚开始学习html和css的笔记
clear:both;:<h1>-<h6> <p> <div> <ul> <ol> <li>...独占一行,高宽内外边距都可控制,宽默认父级宽度100%,是一个容器及盒子,内可放行内或块级元素。3.文本属性(color/font/text-decoration/text-align/vertival-align/shite-space/break-word)4.其他属性(content/cursor/boder-ravius/box-shadow/background:linear-grafient)
2024-11-20 19:16:56
345
原创 解决执行 npm start 时出现浏览器指定错误及模板执行中 document 未定义错误”
// 创建script元素用于加载carouse.js// 当carouse.js加载完成后,再创建一个script元素加载其他可能依赖carouse.js执行结果的脚本(这里假设是menu.js,如果有的话)// 在页面加载完成后调用loadScripts函数来按顺序加载脚本
2024-11-20 19:11:59
704
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅