- 博客(148)
- 收藏
- 关注
原创 SQL难点突破之复杂业务逻辑的SQL查询实战
复杂SQL查询需掌握多表关联控制、分层聚合和窗口函数等技巧。通过显式JOIN和索引优化关联效率,使用CTE分解复杂逻辑。窗口函数处理行间计算,递归CTE解决层级查询。动态条件聚合和延迟关联优化性能,配合执行计划分析定位瓶颈。
2025-07-23 21:17:39
427
原创 sted exception is org.apache.ibatis.executor.result.ResultMapException: Error attempting to
本文介绍了将字符串映射为Long数组时出现的XML解析错误及解决方案。错误源于SQL查询结果中逗号分隔的字符串数据无法直接转换为Long数组。通过自定义LongArrayXmlTypeHandler类型处理器,实现了两种数据格式的兼容处理:既能解析逗号分隔的数字字符串(如"1,2,3"),也能处理XML格式数据(如"<values><value>1</value></values>")。处理类通过继承BaseTypeHa
2025-07-23 21:13:35
500
原创 Uniapp中双弹窗为什么无法显示?
Uniapp开发中遇到双弹窗无法显示的问题,主要原因是:1)弹窗API调用冲突(同步API仅支持单弹窗);2)生命周期执行机制导致弹窗覆盖;3)未正确处理异步关系。解决方案包括:使用setTimeout确保渲染完成、在前一个弹窗的success回调中触发下一个弹窗、通过自定义组件或事件总线管理弹窗顺序。核心要点是采用异步链式调用,确保弹窗按预期顺序显示。示例代码展示了如何通过回调函数实现双弹窗的依次触发,避免平台限制导致的显示异常。
2025-07-16 12:59:01
1210
原创 Java生产环境与测试环境通过配置文件隔离的方法教学(多环境配置管理)
Spring Boot 通过机制告诉框架“当前激活哪个环境”,然后自动加载对应的配置文件(如),并与默认配置合并,最终形成实际运行时的配置环境。
2025-07-02 23:03:17
537
原创 salt盐值的加密算法
Salt加密算法摘要 Salt(盐值)是一种密码增强技术,通过在密码中添加随机字符串再进行加密,提高安全性。其核心原理是: 随机盐值生成:通常使用8位随机字符(如RandomStringUtils生成) 组合加密:将盐值与原始密码拼接后使用MD5等算法加密 防彩虹表攻击:每个用户的盐值唯一,使相同密码产生不同哈希值 实现要点: Java中可用RandomStringUtils.randomAlphanumeric(8)生成随机盐 加密时采用salt+password的组合形式 需同时存储盐值和最终哈希值 该
2025-07-02 21:07:01
1352
原创 将Ollama从默认C盘安装到D盘
本文介绍将Ollama从C盘迁移/安装到D盘的方法。包括通过命令行参数指定安装路径、修改环境变量更改模型存储位置、迁移现有安装的完整步骤(需修改注册表),以及使用mklink创建符号链接的替代方案。操作涉及系统配置修改,建议提前备份数据并注意管理员权限要求。文末提醒参数可能随版本变化,应参考最新官方文档。
2025-06-18 17:07:03
1538
原创 Nginx部署vue项目, 无法直接访问其他路径的解决方案
Nginx部署Vue项目时,若无法直接访问非根路径(如刷新404),需添加try_files $uri $uri/ /index.html配置。该问题源于Vue作为单页应用(SPA),前端路由需通过index.html处理,而Nginx默认会查找物理文件。解决方案让所有路径请求回退到入口文件,配合Vue Router的history模式使用。扩展内容包括Nginx安装、配置测试、SSL证书设置及反向代理示例,适用于SPA路由维护和静态资源优化场景。
2025-06-05 21:21:23
1774
1
原创 使用Node编写轻量级后端快速入门
node 要作为轻量级后端需要下载一些对应模块可以参考下面命令。你可以借助npm(Node Package Manager)下载
2025-05-01 23:47:22
2023
原创 org.springframework.web.HttpMediaTypeNotAcceptableException:Could not find acceptable representation
在项目开发中一般都要对返回的数据进行统一封装, 然后本次错误就围绕封装请求出现无法转换Json中出现问题, 进行记录和说明项目启动没有一点问题但是在发送请求时出现406前端参数无法接收的情况, 百度后发现, 是前端不接受返回请求, 即不接受json数据, 然后调整前端仍然有问题后端报错出现上图报错。
2025-03-26 18:09:44
330
原创 【Java进阶教程】反射原理之动态代理
动态代理是一种在运行时创建代理对象的机制,它允许你在不修改原有代码的基础上,对对象的方法进行增强或拦截。在许多编程语言中都有动态代理的实现,不过以 Java 中的动态代理最为典型,下面为你详细介绍。创建Pet类用于实现接口, 然后创建PetUtil类 负责创建代理Pet类的代理对象, 其中创建代理对象核心的为的静态方法, 其中所需要参数为类加载器将代理对象的匿名内部类, 用于在原函数基础上新增的功能然后创建Test类测试方法。
2025-03-26 13:40:42
670
原创 团体协作项目总结Git
使用Git开放时候发现本地, 有些代码并没有被拉取到本地仓库, 又不想再commit一次, 这时候我就想到了 git commit --amend 合并提交。
2025-03-26 00:03:57
398
原创 学长掏心窝子剖析:offer比较容易被忽略的4个维度-智能驾驶篇
现在智驾技术大致分两派:模块合成与端到端的博弈,还是要重点看公司有没有杀手锏技术储备,比如某鹏的XNGP智驾系统,某戎去年憋大招的IO平台,目前正自研的VLA模型,某想的快慢系统架构等…比如某迪王传福系工程师掌权,智驾路线保守但供应链无敌,还有某塔创始团队清一色MSRA背景,研发氛围浓适合想搞科研的小伙伴,其实这些都直接决定你是去填坑还是造火箭。(小道消息:某司算法团队超多顶会作者,某司infra团队隐藏很多ACM大佬,选择团队之前多上各个平台问问,要学会抱紧大腿啊!
2025-03-14 17:49:07
384
原创 蓝桥杯每日一题·[NOIP2004]合并果子
有俩种做法, 其中一种是用数组模拟优先队列可以勉强过数据卡的不严, 但是建议使用优先队列。每次取俩最小的物品相加, 然后求最小的叠加和。优先队列每次都是取顶上俩小元素, 构建小根堆。
2025-03-14 00:11:37
771
原创 深入解析Java虚拟机(JVM):架构、内存管理与性能优化
理解JVM工作机制不仅能帮助开发者编写高性能代码,更是构建稳定企业级应用的基础。随着云原生时代的到来,JVM正在通过GraalVM等创新技术突破传统限制,持续焕发新的生命力。建议开发者定期关注OpenJDK社区动态,并通过JEP(JDK Enhancement Proposal)跟踪最新进展。
2025-03-13 23:34:17
474
原创 蓝桥杯每日一题01背包拔高·小A点菜
背包五大分析模块, 确定下标含义, 初始化数组, 推出递推公式, 输出答案, 我用一维01背包那么j就代表背包题解M, 那么。有M大的背包, N种物品, 每种物品价值为1, 体积为 a ,求方案数。当前菜品方案数加上加上种类为i体积为a的菜品的方案数,这样就能叠加总方案数。
2025-03-12 09:19:56
377
原创 AcWing 蓝桥杯集训·每日一题2025·5526. 平衡细菌
所以每次修改的本质实际上是在二阶差分数组上 (+1) 或者 (-1)。要让原序列变成 (0) 序列,等价于要让它的二阶差分数组变成 (0) 序列,因此答案就是二阶差分数组中所有数的绝对值之和。开始的每个数都加上一个以 (1) 或者 (-1) 为公差的从。求最小化让序列归零的操作次数。,每次操作可以选择一个位置 (p),令从。
2025-03-06 21:17:32
1307
原创 AcWing 蓝桥杯集训·每日一题2025·5525. 炮弹
时间复杂度分析:这个题的时间复杂度分析比较特殊,由于 (k) 是递增的(要么不变要么增加),考虑最坏的情况,每个点都以不同的 (k) 起跳,那么每轮都会经过。则可以击破该目标,最开始跳跃距离 (k = 1),现在从 (S) 开始,每次可以跳跃到 (S + k),问最终能击破多少个不同的目标。容器记录每个点起跳的 (k),如果这个 (k) 之前从这个点起跳过,则说明进入了一个环,直接退出即可。的判重复杂度为 (\log k),因此最终的时间复杂度为 (O(N \ln N \log N))。
2025-03-05 10:51:20
1250
原创 AcWing 蓝桥杯集训·每日一题2025·5439. 农夫约翰真的种地
当 (k1 = k2) 时,只用看 (st1) 与 (st2),如果 (st1 < st2),则必定无解;还要注意取整方向,可以在求下限时下向取整,更新时加上(1);求上限时上向取整,更新时减(1),这样就可以得到一个闭区间,详见注释。,求出一个(x)的范围,所有(x)的范围取交集,无交集输出(-1),有交集再输出(x)的最小值。第一行包含整数 (T),表示共有 (T) 个测试数据。,将芦笋按高度排名排序,对于任意两个相邻芦笋(时的两种情况,维护 (x) 的值域的上下限。在前),需解一个不等式。
2025-03-02 16:25:54
1069
原创 AcWing 蓝桥杯集训·每日一题2025·多数意见
农夫约翰有一项重要的任务——弄清楚要为他的奶牛们购买什么类型的干草。农夫约翰的 (N) 头奶牛编号为 (1) 到 (N),每头奶牛喜欢恰好一种类型的干草 (h_i)。他希望他的所有奶牛都喜欢同一种干草。为了实现这一目标,农夫约翰可以主持焦点小组访谈。例如,在由16头奶牛组成的焦点小组访谈中,需要有其中9头或更多的奶牛具有相同的干草喜好,才能使其余奶牛改变其喜好以与之一致。农夫约翰想知道哪些类型的干草有可能变为同时受到所有奶牛的喜爱。
2025-03-01 01:33:53
1154
原创 AcWing 蓝桥杯集训·每日一题2025·密接牛追踪2
第二行包含一个长度为 N 的 01序列,用来表示给定的奶牛的整体状态,其中第 i个字符如果是 1 则表示第 i 头奶牛已经被感染,如果是 0 则表示第 i 头奶牛尚未被感染。给定一个经过若干个夜晚后的奶牛的整体状态,其中哪些奶牛已经被感染,哪些奶牛尚未被感染统统已知。每经过一个晚上,受感染的牛就会将病毒传染给它左右两侧的牛(如果有的话)。的数量, 然后套用公式计算出最大天数, 根据最大天数, 计算该段。一个整数,表示最开始时就受到感染的奶牛的最小可能数量。请你计算,最开始时就受到感染的奶牛的最小可能数量。
2025-02-26 22:30:10
444
原创 第16届蓝桥杯第三期模拟赛 C++组
对于 30% 的评测用例,3 < = n , m < = 30 , − 1000 < = a [ i ] [ j ] < = 1000 3 <= n, m <= 30 ,-1000 <= a[i][j] <= 10003<=n,m<=30,−1000<=a[i][j]<=1000。接下来 n nn 行,每行包含 m mm整数,相邻数之间使用一个空格分隔,依次表示矩阵的每行每列的值,本部分的第 i ii 行第 j jj 列表示 a [ i ] [ j ] a[i][j]a[i][j]。
2025-02-25 17:33:21
3122
13
原创 AcWing 蓝桥杯集训·每日一题2025
题意: 有m个不同的糖果和n个不同高度的奶龙, 奶龙可以根据自己的身高去吃糖果,糖果垂直于地面,对于一个糖果都需要让每个奶龙尝试能否吃到,如果吃到则减去相应吃到的长度, 奶龙长高吃掉糖果的长度即可,根据长度进行判断, 分类讨论。如果 已经吃掉的糖果大于等于我们糖果的高度这代表糖果已经吃完, 我们更换下一个糖果, 如果当前奶龙的身高高于糖果的长度, 则比较,当前奶龙的身高能否够着现在糖果的高度。根据糖果个数遍历, 外层遍历糖果, 内层遍历奶龙, 创建一个临时变量去记录每一层糖果目前已经吃掉的高度。
2025-02-25 17:10:20
573
原创 解决cookie跳转页面失效等问题
像完美图种所示, 已经setcookie成功, 但是在跳转到管理员页面时出现 cookie消失的情况, 查阅相关资料发现, cookie是有一个有效路径, 需要将有效路径改成你需要请求接口的有效路径, 可以使用通配符去匹配该路径下所以请求都是有效路径。当然这只是解决的第一步, 还有一步最重要的, 需要将登入模块加入校验, 然后在该位置set-cookie才是有效的。注: 以上是我个人开发种遇到的问题以及解决方案, 不代表全部情况, 以上仅为经验分享, 如有问题欢迎大佬指正🥰。
2025-01-02 21:53:46
967
1
原创 [ 蓝桥 ·算法双周赛 ] 第 19 场 小白入门赛
感觉这次比赛给我带来很大帮助, 纯爆了选手, 通过本场竞赛复习的字符串的相关操作, 模拟的基础思维, 第三题确实给我带来很多惊喜, 从暴力超内存,到思维上的提升帮助巨大,后面补题的过程在知识上也给我带来提高, 本次双周赛对我来说起到了一个查缺补漏的作用,在在我参加算法竞赛的道路,这无疑是一次难得的良机。
2024-10-06 01:58:59
1326
1
原创 MariaDB 和 MySQL 全面对比:选择数据库需要考虑这几点
谁在使用 MySQL 和 MariaDB?MySQL 和 MariaDB 都发布了各自的用户名单。使用 MySQL 的有 Facebook、Github、YouTube、Twitter、PayPal、诺基亚、Spotify、Netflix 等。使用 MariaDB 的有 Redhat、DBS、Suse、Ubuntu、1&1、Ingenico 等。
2024-09-26 01:18:32
4386
原创 解决QT开发中 qt.core.qobject.connect: QObject::connect: No such signal QTcpServer::QTcpServer::newConnect
🎥系列专栏:🎥 当前专栏:专题 : QT基础入门。
2024-09-24 13:29:40
865
原创 解决ubuntu系统无法与FinalShell无法连接问题
得到ip地址后再继续安装 openssh-server 插件sudo apt-get install openssh-server
2024-09-08 08:58:09
620
原创 Leetcode | 5-23 | 每日一题 | 找出最长等值子数组
🔥博客介绍`:🎥系列专栏:🎥 当前专栏:专题 : 数据结构帮助小白快速入门算法。
2024-06-07 03:40:12
417
原创 Leetcode | 5-22 | 每日一题 | 找出输掉零场或一场比赛的玩家
🔥博客介绍`:🎥系列专栏:🎥 当前专栏:专题 : 数据结构帮助小白快速入门算法。
2024-05-26 00:34:36
608
2
原创 Leetcode | 5-21| 每日一题
代码解释: 因为x 一定比 num 大因为要最大必然要让 x 减少, 因为这样才能确定右区间第一个满足条件的答案。通过式子推导: 第一想法是二分确定区间在区间内进行查找是否符合条件的, 本题最关键的便是。第二种方法: 一般是通过数学公式推导的,这种题目我称为。
2024-05-21 23:32:51
661
原创 数据结构基础| 线性表
1.基本操作:操作结果:构造空的线性表L初始化条件:线性表L存在操作结果:销毁线性表L(线性表L不存在)初始化条件:线性表L存在操作结果:将线性表L重置为空表(线性表L存在)初始化条件:线性表L存在操作结果:如果线性表为空表,则返回Ture,否则返回False返回线性表中第i个元素的值存储在e中compare()判定条件返回第一个元素没有返回0依次对线性表中每个元素调用visited()遍历。
2024-05-06 23:21:12
507
1
原创 计算机组成原理指令部分
为什么要寻址,寻址的目的是找到指令中操作数所在的地址(位置)。好比我要联系你,我得知道你的手机号码一样。要理解寻址,先要看数据可能存在与哪些地方?1.指令代码中可能就含有数据,必然MOV AX, 2000H, 这个2000H是一个常数存在与指令代码中,通过指令立即可以得到,所以称为立即寻址;2.CPU内部的寄存器。寄存器存在于CPU内部,是CPU的左右手,如果数据放在寄存器里,比如MOV AX,BX, 数据放在BX寄存器中,所以是寄存器寻址;3.I/O端口寻址。
2024-05-05 23:40:04
1394
原创 我在代码随想录|写代码Day36 | 动态规划| 494.目标和, 518.零钱兑换II, 377. 组合总和 Ⅳ
🔥博客介绍`:🎥系列专栏:🎥 当前专栏:专题 : 数据结构帮助小白快速入门算法。
2024-05-05 23:28:16
543
原创 我在代码随想录|写代码Day35 | 动态规划| 01背包理论基础, 分割等和子集, 最后一块石头的重量II, 目标和
🔥博客介绍`:🎥系列专栏:🎥 当前专栏:专题 : 数据结构帮助小白快速入门算法。
2024-04-28 10:38:51
1158
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅