<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[学无止步的博客]]></title><description><![CDATA[个人学习日志]]></description><link>https://blog.youkuaiyun.com/qq_40756113</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_40756113]]></copyright><item><title><![CDATA[把 DeepSeek Harness 智能体嵌进 IntelliJ IDEA —— 类 Qoder 的 AI 编程插件]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/163924346</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/163924346</guid><author>qq_40756113</author><pubDate>Thu, 20 Aug 2026 18:10:12 +0800</pubDate><description><![CDATA[【开源】DeepSeek Harness 智能体 IDEA 插件：嵌入式 AI 编程助手 这个开源项目将 DeepSeek Harness（dsh）智能体工作台集成到 IntelliJ IDEA 中，解决 AI 编程中的常见痛点： 消除浏览器/IDE切换 通过MCP桥接让AI感知项目上下文 提供代码审查/还原功能 支持一键发送选中代码 核心功能： 内置完整dsh Web UI 自带Node.js运行时（开箱即用） 6个MCP工具实现IDE上下文感知 代码变更Diff审查机制 项目级生命周期管理 技术亮点： ]]></description><category></category></item><item><title><![CDATA[SpringBoot常用接口--EnvironmentPostProcessor]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/123074848</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/123074848</guid><author>qq_40756113</author><pubDate>Tue, 22 Feb 2022 18:52:55 +0800</pubDate><description><![CDATA[SpringBoot常用接口–EnvironmentPostProcessor
一般用于读取环境变量达到多个微服务共同配置的修改与维护。当我们有多套环境(开发、测试、生产等等)时，每套环境都有专属的配置文件存放于配置中心(以nacos为例)，可能存放于不同的配置中心(每个环境有专属的配置中心，服务地址不同)，也可能存放于同一nacos的不同命名空间，也或者同一命名空间的不同分组等等。同一套代码在不同环境运行需要不同的配置文件，这时，我们就可以在项目启动时，实现EnvironmentPostProcessor]]></description><category></category></item><item><title><![CDATA[基于docker容器搭建nacos集群(3节点)]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122923736</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122923736</guid><author>qq_40756113</author><pubDate>Mon, 14 Feb 2022 14:26:25 +0800</pubDate><description><![CDATA[基于docker容器搭建nacos集群(3节点)
一、安装前准备
1.1、服务器准备
Nacos集群搭建需要三个或三个以上的nacos节点才能构成集群，因此至少需要三台服务器资源，本次搭建沿用redis集群搭建和rocketmq集群搭建的三个容器充当三台服务器资源。




服务器资源
Ip端口




10.25.27.116
8848


10.25.27.117
8848


10.25.27.118
8848


192.168.200.129(宿主机，充当mysql数据库资源机)
3306


1]]></description><category></category></item><item><title><![CDATA[基于docker容器搭建rocketmq集群(3主三从)]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122865394</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122865394</guid><author>qq_40756113</author><pubDate>Thu, 10 Feb 2022 17:25:37 +0800</pubDate><description><![CDATA[基于docker容器搭建rocketmq集群(3主三从)
一、安装前准备
1.1、服务器准备
本次集群搭建使用docker容器模拟服务器资源，因为要搭建三主三从集群，因此需要准备三个docker容器充当三台服务器资源。
本文中的容器使用搭建redis集群的三台容器，本次准备使用三台容器模拟中间件服务器，在三个容器中搭建三个中间件集群，本篇博客为第二个中间件—rocketmq。具体的容器准备(局域网搭建、ip分配、容器环境)见上篇博客基于docker容器搭建redis集群(3主三从)。
本次规划上做三主三从，]]></description><category></category></item><item><title><![CDATA[基于docker容器搭建redis集群(3主三从)]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122728471</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122728471</guid><author>qq_40756113</author><pubDate>Fri, 28 Jan 2022 11:12:48 +0800</pubDate><description><![CDATA[redis集群搭建--三主三从]]></description><category></category></item><item><title><![CDATA[day-20接雨水]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122481431</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122481431</guid><author>qq_40756113</author><pubDate>Thu, 13 Jan 2022 20:01:01 +0800</pubDate><description><![CDATA[day-20接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图，计算按此排列的柱子，下雨之后能接多少雨水。
示例 1：

输入：height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出：6
解释：上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图，在这种情况下，可以接 6 个单位的雨水（蓝色部分表示雨水）。 

示例 2：
输入：height = [4,2,0,3,2,5]
输出：9

提示：
n == height.length
1 &lt;= n]]></description><category></category></item><item><title><![CDATA[day19-组合总和]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122481008</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122481008</guid><author>qq_40756113</author><pubDate>Thu, 13 Jan 2022 19:38:10 +0800</pubDate><description><![CDATA[day19-组合总和
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ，找出 candidates 中可以使数字和为目标数 target 的 所有不同组合 ，并以列表形式返回。你可以按 任意顺序 返回这些组合。
candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同，则两种组合是不同的。
对于给定的输入，保证和为 target 的不同组合数少于 150 个。
示例 1：
输入：candidates = [2,3,6,7], ta]]></description><category></category></item><item><title><![CDATA[day18-在排序数组中查找元素的第一个和最后一个位置]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122432363</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122432363</guid><author>qq_40756113</author><pubDate>Tue, 11 Jan 2022 14:41:27 +0800</pubDate><description><![CDATA[day18-在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组 nums，和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。
如果数组中不存在目标值 target，返回 [-1, -1]。
进阶：
你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗？
示例 1：
输入：nums = [5,7,7,8,8,10], target = 8
输出：[3,4]

示例 2：
输入：nums = [5,7,7,8,8,10], target = 6
输出：]]></description><category></category></item><item><title><![CDATA[day17-搜索旋转排序数组]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122431407</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122431407</guid><author>qq_40756113</author><pubDate>Tue, 11 Jan 2022 14:08:45 +0800</pubDate><description><![CDATA[day17-搜索旋转排序数组
整数数组 nums 按升序排列，数组中的值 互不相同 。
在传递给函数之前，nums 在预先未知的某个下标 k（0 &lt;= k &lt; nums.length）上进行了 旋转，使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]]（下标 从 0 开始 计数）。例如， [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。
给你 旋转后 的数]]></description><category></category></item><item><title><![CDATA[day16-最长有效括号]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122428388</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122428388</guid><author>qq_40756113</author><pubDate>Tue, 11 Jan 2022 11:40:14 +0800</pubDate><description><![CDATA[day16-最长有效括号
给你一个只包含 ‘(’ 和 ‘)’ 的字符串，找出最长有效（格式正确且连续）括号子串的长度。
示例 1：
输入：s = "(()"
输出：2
解释：最长有效括号子串是 "()"

示例 2：
输入：s = ")()())"
输出：4
解释：最长有效括号子串是 "()()"

示例 3：
输入：s = ""
输出：0

提示：
0 &lt;= s.length &lt;= 3 * 104
s[i] 为 '(' 或 ')'

来源：力扣（LeetCode）
链接：https://lee]]></description><category></category></item><item><title><![CDATA[基于Dubbo的GenericService远程调用下自定义消息转换器FastJsonHttpMessageConverter中FastJson注解失效的问题]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122231173</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122231173</guid><author>qq_40756113</author><pubDate>Thu, 30 Dec 2021 10:51:38 +0800</pubDate><description><![CDATA[自定义消息转换器FastJsonHttpMessageConverter中FastJson注解失效的问题]]></description><category></category></item><item><title><![CDATA[Dubbo泛化调用强制返回Map问题，实现自定义返回值序列化逻辑]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/122230772</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/122230772</guid><author>qq_40756113</author><pubDate>Thu, 30 Dec 2021 10:42:35 +0800</pubDate><description><![CDATA[什么是泛化调用 
 
 泛化接口调用方式主要用于客户端没有 API 接口及模型类元的情况，参数及返回值中的所有 POJO 均用 Map 表示，通常用于框架集成，比如：实现一个通用的服务测试框架，可通过 GenericService 调用所有服务实现。 官方文档 
 
说白了，消费者可以在没有Interface接口的情况下去调用远程服务，由于没有接口和模型类元，消费者必须手动指定要调用的接口名、方法名、参数列表、版本...]]></description><category></category></item><item><title><![CDATA[跳出舒适圈，遇见更好的自己]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/121957844</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/121957844</guid><author>qq_40756113</author><pubDate>Wed, 15 Dec 2021 17:40:47 +0800</pubDate><description><![CDATA[跳出舒适圈，遇见更好的自己
文/沈小四
生活中的你，有没有过这种情况：
明知道马上就要考试了，但就是没办法安心复习；
明知道四六级很重要，但就是坚持不了每天都花些时间背单词，做真题；
明知道学习能力需要不断提升，但就是没有动力去钻研；
…
这些情况，相信我们中的大部分人都经历过或者正在经历，我们每天都在挣扎着改变自己，但最终都无奈地向懒惰的自己进行妥协。
其实，改变自己就是逼迫自己“走出舒适圈”
只有真正让自己摆脱内心的安逸和舒适，才能获得真正意义上的改变。
去年9月份开始的北漂生涯，到现在一年有余。但是现]]></description><category></category></item><item><title><![CDATA[day15-下一个排列]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/121931270</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/121931270</guid><author>qq_40756113</author><pubDate>Tue, 14 Dec 2021 16:57:45 +0800</pubDate><description><![CDATA[day15-下一个排列
实现获取 下一个排列 的函数，算法需要将给定数字序列重新排列成字典序中下一个更大的排列（即，组合出下一个更大的整数）。
如果不存在下一个更大的排列，则将数字重新排列成最小的排列（即升序排列）。
必须 原地 修改，只允许使用额外常数空间。
示例 1：
输入：nums = [1,2,3]
输出：[1,3,2]

示例 2：
输入：nums = [3,2,1]
输出：[1,2,3]

示例 3：
输入：nums = [1,1,5]
输出：[1,5,1]

示例 4：
输入：nums = []]></description><category></category></item><item><title><![CDATA[day14-合并K个有序链表]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/121862088</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/121862088</guid><author>qq_40756113</author><pubDate>Fri, 10 Dec 2021 17:57:14 +0800</pubDate><description><![CDATA[day14-合并K个有序链表
题目
给你一个链表数组，每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中，返回合并后的链表。
示例 1：
输入：lists = [[1,4,5],[1,3,4],[2,6]]
输出：[1,1,2,3,4,4,5,6]
解释：链表数组如下：
[
  1-&gt;4-&gt;5,
  1-&gt;3-&gt;4,
  2-&gt;6
]
将它们合并到一个有序链表中得到。
1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4-&gt;5-&gt;6

示例 2]]></description><category></category></item><item><title><![CDATA[day13-括号生成]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/121862039</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/121862039</guid><author>qq_40756113</author><pubDate>Fri, 10 Dec 2021 17:54:50 +0800</pubDate><description><![CDATA[day13-括号生成
数字 n 代表生成括号的对数，请你设计一个函数，用于能够生成所有可能的并且 有效的 括号组合。
示例 1：
输入：n = 3
输出：["((()))","(()())","(())()","()(())","()()()"]

示例 2：
输入：n = 1
输出：["()"]

提示：
1 &lt;= n &lt;= 8

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/generate-parentheses
解题思路：
其实觉]]></description><category></category></item><item><title><![CDATA[操作指引-vue]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/121844057</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/121844057</guid><author>qq_40756113</author><pubDate>Thu, 09 Dec 2021 21:01:09 +0800</pubDate><description><![CDATA[基于vue的首页指引]]></description><category></category></item><item><title><![CDATA[day12-合并两个有序链表]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/121828600</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/121828600</guid><author>qq_40756113</author><pubDate>Thu, 09 Dec 2021 16:07:45 +0800</pubDate><description><![CDATA[day12-合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1：

输入：l1 = [1,2,4], l2 = [1,3,4]
输出：[1,1,2,3,4,4]

示例 2：
输入：l1 = [], l2 = []
输出：[]

示例 3：
输入：l1 = [], l2 = [0]
输出：[0]

提示：
两个链表的节点数目范围是 [0, 50]
-100 &lt;= Node.val &lt;= 100
l1 和 l2 均按 非递减]]></description><category></category></item><item><title><![CDATA[day11-有效的括号]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/121828349</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/121828349</guid><author>qq_40756113</author><pubDate>Thu, 09 Dec 2021 16:04:42 +0800</pubDate><description><![CDATA[day11-有效的括号
给定一个只包括 ‘(’，’)’，’{’，’}’，’[’，’]’ 的字符串 s ，判断字符串是否有效。
有效字符串需满足：
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
示例 1：
输入：s = "()"
输出：true

示例 2：
输入：s = "()[]{}"
输出：true

示例 3：
输入：s = "(]"
输出：false

示例 4：
输入：s = "([)]"
输出：false

示例 5：
输入：s = "{[]}"
输出：true

提示：
1]]></description><category></category></item><item><title><![CDATA[day10-删除链表的倒数第 N 个结点]]></title><link>https://blog.youkuaiyun.com/qq_40756113/article/details/121468078</link><guid>https://blog.youkuaiyun.com/qq_40756113/article/details/121468078</guid><author>qq_40756113</author><pubDate>Mon, 22 Nov 2021 11:27:07 +0800</pubDate><description><![CDATA[day10-删除链表的倒数第 N 个结点
给你一个链表，删除链表的倒数第 n 个结点，并且返回链表的头结点。
示例 1：

输入：head = [1,2,3,4,5], n = 2
输出：[1,2,3,5]

示例 2：
输入：head = [1], n = 1
输出：[]

示例 3：
输入：head = [1,2], n = 1
输出：[1]

提示：
链表中结点的数目为 sz
1 &lt;= sz &lt;= 30
0 &lt;= Node.val &lt;= 100
1 &lt;= n &lt;= ]]></description><category></category></item></channel></rss>