- 博客(146)
- 收藏
- 关注
原创 MySql学习杂谈 --- “连接“”
想象你要做一件事:查全班同学的考试成绩表A(同学名单):张三,李四,王五,赵六表B(考试成绩):张三90分,李四85分,王五(缺考没记录)问自己一句话:左边表格里的人,一个都不能少吗?就这么简单,不要想别的!题目:获取所有非manager员工薪水情况问自己:员工表里的人,一个都不能少吗?答案:是的!因为我要找“所有非manager员工”,必须看每一个员工,判断他是不是manager。所以:应该用 LEFT JOIN (保留所有员工)问题出在这里:你用 (INNER JOIN),这会导致:如果某个部门没
2026-05-20 14:26:42
367
原创 牛客40道MySql
本文介绍了三个SQL查询案例:1) 使用LIMIT 2查询前2个用户设备ID;2) 使用AS将查询结果的列名改为"user_infos_example"并限制返回2行;3) 筛选北京大学的学生信息。这些案例展示了SQL中结果集限制、列重命名和条件筛选的基本操作。
2026-05-19 15:54:43
368
原创 Mysql随心杂谈 -- 让人头疼的“锁”
意向锁是数据库引擎内部使用的一种表级锁。它诞生的目的是为了解决一个核心矛盾:如何高效判断“行锁”和表锁之间的冲突?比如:事务A锁住了表中的某几行(行锁)。此时,事务B想来锁住整个表(表锁,比如LOCK TABLE ... WRITE)。如果没有意向锁,数据库就必须遍历表中每一行,检查是否有行锁存在,这效率极低。意向锁就是用来快速解决这个问题的“路标”。特性结论加锁方式完全自动,由数据库引擎内部管理。SQL语句用户无法写出任何语句来直接加意向锁。可见性通过或可以观察到。作用对象表级别。核心目的。
2026-05-13 16:18:39
368
原创 MySql进阶之 “间隙锁” 与 “临键锁”
间隙就是两个索引值之间“空着的位置”。间隙不包含索引记录本身间隙是开区间( , )记录1和3之间有一个间隙:(1,3)意思是:id在1和3之间的值(例如id = 2)可以插入吗?不行,这个间隙被锁了就不能插入记录3和7之间的间隙(3,7):允许id的值:4,5,6记录7和10之间的间隙(7,10):允许的id值:8,9还有两个特殊间隙:负无穷 到 第一条最后一条记录 到 正无穷所以“锁定间隙”并不是锁定某一行,而是锁定了“往这个坑里插入新数据”这个动作。
2026-05-13 11:40:07
319
原创 TypeScript 从入门到实践:装饰器、泛型与项目配置完整指南
本文总结了 TypeScript 学习过程中的核心概念,包括装饰器的使用、泛型的理解、项目配置以及常见问题解决。无论你是 TypeScript 初学者还是有经验的开发者,都能从中获得实用的知识。装饰器就是在不修改原始代码的情况下,给类/方法/属性添加额外功能的一种方式。就像给手机套个保护壳——手机本身功能不变,但多了防摔、支架等新能力。装饰器是增强代码功能的利器,特别是方法装饰器在实际开发中使用频繁泛型提供了类型安全和代码复用的完美平衡项目配置要根据目标环境选择合适的target和module开发工具选择。
2026-04-29 09:13:54
343
原创 TypeScript进阶学习
TypeScript作为JavaScript的超集,其强大的类型系统为前端开发带来了前所未有的代码健壮性和可维护性。本文将从基础类型出发,逐步深入到高级类型、泛型、类型守卫等进阶概念,帮助您全面掌握TypeScript的核心特性。使用语法创建自定义类型守卫。TypeScript提供了从基础类型到高级泛型、类型守卫等一整套强大的类型系统。掌握这些特性不仅能写出更健壮的代码,还能通过IDE提供更好的开发体验。本文涵盖的知识点是TypeScript进阶学习的核心,希望对您的TypeScript实践有所帮助。
2026-04-27 10:46:19
235
原创 Flutter - 项目实战 1
BottomNavigationBar:上图下字组件,可切换索引。IndexdStack:堆叠组件,根据索引显示对应组件。SafeArea(避开安全区组件)安全区:摄像头,导航栏等等。
2026-01-31 15:09:24
359
原创 Flutter学习 - 组件通信与网络请求Dio
子组件定义接收属性需要使用final关键字 - 因为属性由父组件决定,子组件不能随意更改。Dio( ).get( 地址 ).then( ).catchError( )子组件属性如果没有初始值,需要在构造函数中使用required来接收属性。默认情况下,flutter运行web端加载网络资源会报跨域提示错误。一般情况下,在初始化状态initState获取页面数据。安装dio:flutter pub add dio。点击子组件删除父组件的菜品数据并更新列表。1. 父组件传一个函数给子组件。
2026-01-17 16:44:06
644
原创 Flutter - 布局
MaterialApp包裹整个应用形成统一的Material Design风格Scoffold组件可以快速搭建页面骨架,如appBar,body,bottomNavigationBar等Container用来作为容器,设置高度(height),child用来存放子组件Text是用来显示文本的组件根据自己的特点的需求创建自己的widget创建一个新的类,继承StatelessWidget类并实现build方法。
2026-01-10 19:25:22
1002
原创 Dart基础学习
Dart语言中,dynamic用来声明动态类型在Dart语言中,通过编辑静态检查将运行时空指针提前暴露Dart语言中,对数字进行加减乘除运算采用算数运算符// 整除运算符作用赋值操作+=加等,a += b 相当于 a = a + b-=减等,a -= b 相当于 a = a - b*=乘等,a *= b 相当于 a = a * b/=除等,a /= b 相当于 a = a / b// 赋值运算符int a= 1;a+=2;print(a);a -=1;
2025-12-21 14:11:41
1068
原创 [特殊字符] uni-app App 端实现文件上传功能(基于 xe-upload 插件)
界面分为上下两部分:上方为固定位置的“上传”按钮下方为附件列表,支持文件图标、信息展示和下载功能通过xe-upload插件结合自定义 UI,我们实现了一个功能完整、用户体验良好的文件上传系统。这个方案不仅适用于验收任务场景,也可轻松适配到其他需要文件管理的业务模块中。
2025-12-17 17:57:39
693
原创 操作系统中进程与作业的概念区分
特性作业进程视角用户视角(外部)。用户提交的一个完整计算任务。系统视角(内部)。操作系统调度和资源分配的基本单位。生命周期从提交(如提交一个脚本)到完成(输出结果)。存在于作业调度(高级调度)阶段。从创建(如被作业调度器选中)到终止。存在于内存中,参与进程调度(低级调度)。状态提交、后备、执行、完成。就绪、运行、阻塞、挂起等。资源申请所需的总体资源(内存、CPU时间等)。实际占有和使用的资源单位(内存空间、I/O设备、CPU时间片)。存在性概念在批处理系统。
2025-12-01 22:25:21
233
原创 【大屏优化秘籍】Element UI El-Table 表格透明化与自定义行样式实战
在透明的基础上,定义属于自己的斑马纹颜色、行高亮效果,保证数据的可读性。
2025-11-19 13:53:44
573
原创 Flutter布局 --- Container
只有一个子 Widget。默认充满,包含了padding、margin、color、宽高、decoration 等配置。是一个用于装饰容器的类,它可以为 Widget(如 Container、Card 等)添加各种视觉效果。允许你为矩形区域添加背景色、边框、阴影、渐变、形状等装饰效果。在 Flutter 中,
2025-10-16 14:44:55
390
原创 vxe-table编辑模式适配el-date-picker
原因:Element UI 的 DatePicker 在 VXE-Table 的编辑模式下存在兼容性问题。当点击日期选择器时,VXE-Table 会认为点击了表格外部,从而触发了编辑模式的退出。在vxe-table中的行编辑中使用<el-date-picker>则会出现当选择日期时,没法选中所选的日期。其实解决方案很简单只需要给el-date-picker添加@click.stop.native。
2025-10-15 15:08:36
439
原创 解决Echarts在父元素中没有根据父元素大小自适应或解决组件套组件为解决自适应的问题。
如果针对你的ecahrts在其他vue组件中引用,并且你的组件是那种el-dialog类型支持全部按钮的弹窗,传统的解决方法会失效,因为,弹窗的放大不是浏览器视窗的改变,而是父div的改变。echarts解决自适应的方法通常是window.addevntlistener('resize',()=>{})方法,但是这种方式只限于浏览器视窗大小改变echarts才能做到大小自适应。通过new ResizeObserver 来监听元素的宽高变化,然后在里面通过调用echarts自己的resize方法。
2025-06-10 09:29:56
515
原创 Mysql -- 基础
- 设置手动提交-- 转账操作-- 1. 查询张三账户余额select * from account where name = '张三';-- 2. 将张三的账户余额 -1000update account set money = money - 1000 where name = '张三';程序执行报错...-- 3. 将李四账户余额+1000update account set money = money + 1000 where name = '李四';-- 提交事务。
2025-04-13 18:52:49
714
原创 Java中对消息序列化和反序列化并且加入到Spring消息容器中
然后创建一个自定义消息转换器对象,MappingJackson2HttpMessageConverter,目的是为了将我们自己写的序列化类放进框架中的消息转换器中。converters.add(0,converter)中的index也就是第一个参数,是为了让我们自定义的消息转化器进行第一个执行。时间的格式是这种没有格式化的效果,因为在给前端返回数据时,返回的结果并没有序列化。最后通过消息转化器的add方法将自定义的序列化方法放进去。所以,需要对返回的数据序列化。--- 参考项目:苍穹外卖。
2025-02-01 15:05:15
559
原创 nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。
在项目中会碰见需要在nginx代理多个项目,如果在加上uniapp开发的H5端的项目,你还要在nginx中区分PC端和手机H5端,这就会让人很头大!注意,index.html前面必须加你的前端包外层的父级文件夹地址(如果你是把前端包进行区分,也就是说pc和h5的前端包你要做区分,你就必须将两个项目(pc和h5)放在不同的文件夹中进行区分)这个名称你可以随意起,这个主要是你的访问域名需要加这个名称来访问你的项目。例如:https:// xxx.xx.cn:3000/h5 这样就可以访问这个h5的项目。
2024-11-12 15:12:01
1068
原创 flutter 项目初建碰到的控制台报错无法启动问题
一:如果你flutter -doctor 检测都很ok,而且环境配置都很正确,那么大概率就是需要多等一会,少则几十分钟多则几个小时,这是因为你懂的原因。针对二的解决办法是,自己去下载gradle包,然后替换掉gradle-wrapper.properties中的使用远程下载包的地址。二:就是因为网络的原因你又翻不了墙,导致flutter下载google远程仓库中的gradle包慢,导致超时现象。你下载完之后,需要放在本地,一定放的是下载的zip包,不要解压!放到c盘中的按照上面的地址找。
2024-11-07 08:44:50
929
原创 uniapp下载文件的方案,包括H5,App方案解决办法
2. 这有一个注意点是:如果你做的是H5的方案,那么我已经替你踩好坑了,UC浏览器是不支持blob类型的下载,以及创建a标签的方案来进行下载。目前发现只有QQ浏览器支持这两种方案。如果你是保密单位,QQ浏览器其实也是可以,因为也是国产化的浏览器。1. 在uniapp需要下载文件,但是显示情况是不能下载。所以只能使用该办法来进行下载。第二步:调取uniapp的原始下载方法uni.downloadFile。第四步:直接打开QQ浏览器开始下载。
2024-11-01 15:12:46
2188
原创 Uniapp的H5以及App不支持后端传FormData类型参数的解决方案
在uniapp中不支持FormData的传参,这就很恶心;如果强行传的话会提示,请求失败的报错信息。因为后端必须要FormData类型的传参,所以在查阅一系列方案后,有一种解决办法可以完美解决。
2024-11-01 15:04:26
1508
原创 MySQL - 数据库 - DDL,DML,DCL,DQL
注:修改语句的条件可以有,也可以没有,如果么有条件,则会修改整张表的所有数据。注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。• 在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户。注:null值不参与所有聚合函数的运算。where 和 having区别。删除指定表,并重新创建该表。查询当前数据库所有表。修改字段名和字段类型。
2024-10-27 17:37:37
484
原创 elementUi中el-date-picker;两个日期选择器第二个必须在第一个之后
使用picker-options来进行限定,这里需要的是picker-options绑定的值最好在computed中进行,因为网上资料让在data中定义,但是,data函数中无法拿到表单的值,会报错,所以解决办法是在computed中定义。
2024-04-25 09:15:24
983
原创 el-select动态禁用
这5个el-select控件遵循这样的规则,都是使用同一个list集合,如果第一个el-select选择了list中的某一项,那么这一项就被禁用;其他的el-selet就不能选择这一项了;如果第二个el-select选择了list中的某一项,那么这一项和第一个el-select选择的项都禁用,在一个el-form表单中有5个el-form-item;每个el-form-item是一个el-select控件;其他的el-select就不能选择这两项了;
2024-03-21 10:25:32
2157
原创 JAVA的学习Day1
被java赋予了特定含义的英文单词关键字的字面全部小写常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观变量:在程序的执行过程中,其值可能发生改变的量(数据)数据类型 变量名 = 数据值;数据类型:为空间中存储的数据,加入类型【限制】整数or小数变量名:为空间(小箱子)起的名字数据值:存在空间里面的数值数据类型关键字整数int浮点数double// 主入口//定义变量// 数据类型 变量名 = 数据值;// 数据类型:限定了变量能存储数据的类型。
2024-02-07 16:10:37
581
1
原创 计算机网络原理
见x-mind网络体系结构时从功能上描述计算机网络结构计算机网络体系结构简称网络体系机构是分层机构。每层遵循某个/些网络协议以完成本层功能。计算机网络体系结构是计算机网络的各层及其协议的集合第n层在向n+1层提供服务,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。体系机构是抽象的,而实现是指能运行的一些软件和硬件。
2024-01-24 21:33:34
1062
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅