<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ice166的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ice166</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ice166]]></copyright><item><title><![CDATA[算法学习笔记（十）：位运算、数论等]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143984199</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143984199</guid><author>Ice166</author><pubDate>Sat, 23 Nov 2024 20:41:43 +0800</pubDate><description><![CDATA[经编码后变为长度为 n - 1 的另一个整数数组encoded，其中encoded[i] = arr[i] ^ arr[i + 1]一次 位翻转 定义为将数字 x 二进制中的一个位进行 翻转操作，即将 0-->1，1 -->0。给你一个长度为 n 的整数数组 pref，找出并返回满足下述条件且长度为 n 的数组 arr。给你一个整数数组 arr，请你将数组中的元素按照其二进制表示中数字 1 的数目进行升序。给你两个正帧数 n 和 k，你可以选择 n 的二进制表示 中任意一个值为 1 的位，]]></description><category></category></item><item><title><![CDATA[算法学习笔记（九）：网格图DFS、图论算法DFS、动态规划DP、贪心]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143977787</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143977787</guid><author>Ice166</author><pubDate>Fri, 22 Nov 2024 22:17:36 +0800</pubDate><description><![CDATA[一共有 n 个包裹，其中第 i 个包裹中装着 apple[i]个苹果，同时，还有 m 个箱子，第 i 个。f[i] = f[i - 1] + f[i - 2]，之前是递归计算每个状态，现在是枚举计算每个状态。因为在递归中，有着大量的重复递归调用(递归入参相同)，由于递归函数都是幂等的，岛屿是由一些相邻的 1(土地)构成的组合，这里的相邻要求两个1必须在水平或者竖直的四个。相连的水域的个数，编写一个算法来计算矩阵中所有池塘的大小，返回值需要从小到大。你是一个专业的小偷，计划偷窃沿街的房屋。]]></description><category></category></item><item><title><![CDATA[算法学习笔记（八）：单调栈]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143973998</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143973998</guid><author>Ice166</author><pubDate>Fri, 22 Nov 2024 16:26:23 +0800</pubDate><description><![CDATA[对于每个0 <= i < nums1.length，找出满足 nums1[i] == nums[j]的下标 j，并且在nums2确定。给定一个循环数组 nums （nums[nums.length - 1]的下一个元素是 nums[0]），返回nums。返回一个整数数组 answer，其中answer[i]是第i个(从1开始)的下一个更大的节点的值，如果。对于列表中的每个节点，查找下一个更大节点的值，也就是说，对于每个节点，找到它旁边。第i个节点没有下一个更大的节点，设置answer[i] = 0。]]></description><category></category></item><item><title><![CDATA[算法学习笔记（七）：常用数据结构、堆、栈、队列]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143949353</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143949353</guid><author>Ice166</author><pubDate>Fri, 22 Nov 2024 14:34:52 +0800</pubDate><description><![CDATA[void inc(int k, int val)：栈底的 k 个元素的值都增加val，如果栈中元素总数小于k，则栈中。给你一个整数数组nums，如果一组数字（i，j）满足 nums[i] == nums[j] 且 i < j，- int ping(int t) 在时间 t 添加一个新请求，其中 t 表示以毫秒为单位的某个时间，并返回。给定一个只包括 '('、')'、'{'、'}'、'['、']' 的字符串s，判断字符串是由有效。一个队列满了，我们就不能插入下一个元素，即使在队列前面仍有空间。]]></description><category></category></item><item><title><![CDATA[算法学习笔记（六）：二叉树一创建、插入、删除、BFS]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143935851</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143935851</guid><author>Ice166</author><pubDate>Thu, 21 Nov 2024 16:18:46 +0800</pubDate><description><![CDATA[给定两个整数数组 preorder 和 inorder，其中 preorder 是二叉树的前序遍历，inorder 是同一。给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value，将值插入二叉搜索树，返回。插入后二叉搜索树的根节点，输入数据保证，新值和原始二叉搜索树中任意节点值不同。是p、q的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)给你一个二叉树的根节点 root，判断是否是一个有效的二叉搜索树。给你二叉树的根节点 root，返回其节点值的 层序遍历。]]></description><category></category></item><item><title><![CDATA[算法学习笔记（五）：二叉树一遍历、DFS]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143917389</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143917389</guid><author>Ice166</author><pubDate>Thu, 21 Nov 2024 10:43:25 +0800</pubDate><description><![CDATA[给你二叉树的根节点 root 和一个表示目标和的整数 targetSum，判断该树中是否存在根节点。给定一个二叉树的 根节点 root，想象自己站在它的右侧，按照从顶部到底部的顺序，返回。给你一个二叉树的根节点 root，树中每个节点都存放有一个 0 到 9 之间的数字。好节点 定义为：从根到该节点所经过的节点中，没有任何节点的值大于该节点的值。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。给你二叉树的根节点 root，返回它节点值的 前序 遍历。]]></description><category></category></item><item><title><![CDATA[算法学习笔记（四）：链表一插入、反转链表、前后指针、快慢指针、合并链表]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143888349</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143888349</guid><author>Ice166</author><pubDate>Wed, 20 Nov 2024 16:10:47 +0800</pubDate><description><![CDATA[对于 n = 1, 2, 3, 4, 5的情况，中间节点的下标分别是0, 1, 1, 2, 2(其实就是第二个中间节点)输入：head = [1, 2, 3, 4, 5]，left = 2，right = 4， index从1开始。比方说：n = 4，那么节点 0 是节点 3 的孪生节点，节点 1 是节点 2 的孪生节点。给定一个链表的头节点 head，返回链表开始入环的第一个节点，如果链表无环，返回null。给你一个链表的头节点 head，删除链表的中间节点，并返回修改后的链表的头节点head。]]></description><category></category></item><item><title><![CDATA[算法学习笔记（三）：链表一遍历、删除]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143867574</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143867574</guid><author>Ice166</author><pubDate>Tue, 19 Nov 2024 16:11:22 +0800</pubDate><description><![CDATA[b.什么情况下，循环条件要写 while(node!-        第三个节点 1 是一个局部极小值点，因为前一个节点3和后一个节点2都比1大。-        第六个节点 1 是一个局部极小值点，因为前一个节点5和后一个节点2都比1大。如果当前节点的值 严格大于 前一个节点和后一个节点，那么这个节点就是一个 局部极大值点。如果当前节点的值 严格小于 前一个节点和后一个节点，那么这个节点就是一个 局部极小值点。链表的所有值都是唯一的，并且保证给定的节点 node 不是链表中的最后一个节点。]]></description><category></category></item><item><title><![CDATA[算法学习笔记（二）：二分算法]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143861478</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143861478</guid><author>Ice166</author><pubDate>Mon, 18 Nov 2024 21:33:47 +0800</pubDate><description><![CDATA[有半闭半开区间(left < right)、开区间(left + 1 < right)、闭区间(left <= right)，目前就只学习闭区间算法吧，掌握其中之一就行了。返回letters中大于target的最小的字符，如果不存在这样的字符，则返回letters的第一个字符。给你一个按照 非递减顺序 排列的整数数组 nums，和一个目标值 target，请你找出给定目标。给定一个 n 个元素有序的(升序) 整型数组 nums和一个目标值 target，写一个函数搜索。值在数组中的开始位置和结束位置。]]></description><category></category></item><item><title><![CDATA[算法学习笔记（一）：滑动窗口和双指针]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/143834347</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/143834347</guid><author>Ice166</author><pubDate>Mon, 18 Nov 2024 16:46:21 +0800</pubDate><description><![CDATA[1.入： 下标为 i 的元素进入窗口，更新相关统计量(因为一个元素进入了，则相关统计的数据要更新，就是+)，然后进行判断，如果i < k - 1 则continue，继续进入窗口，因为定长窗口元素不足；满足 0 ]]></description><category></category></item><item><title><![CDATA[Spring Cloud Gateway3.x自定义Spring Cloud Loadbalancer负载均衡策略以及实现动态负载均衡策略的方案]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/135387665</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/135387665</guid><author>Ice166</author><pubDate>Tue, 25 Jun 2024 17:17:56 +0800</pubDate><description><![CDATA[工作和兴趣的使然，由于需要对各种开源的项目做一些自定义的插件以及扩展，所以会经常研究一些开源组件的源码。]]></description><category></category></item><item><title><![CDATA[SpringBoot整合ELK8.1.x实现日志中心教程]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/137014843</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/137014843</guid><author>Ice166</author><pubDate>Wed, 03 Apr 2024 11:09:43 +0800</pubDate><description><![CDATA[到这里，我们再来捋一下整体流程：1.首先在开发之前先大家讨论制定好日志类型、日志格式2.接下来就是定好日志框架，包括日志配置、日志的输入输出等3.根据前两步对file beat进行配置，能够正确采集到我们应用产生的日志文件内的数据4.file beat配置好日志特定的topic，然后采集的数据输出到kafka5.kafka进行日志专属topic的创建6.logstash通过读取kafka-日志topic中的日志数据对日志进行分析、整理，最后生成es索引所需要的特定格式数据，并输出到es中。]]></description><category></category></item><item><title><![CDATA[nacos2.2.3多数据源适配，包括对达梦、kingbase等国产数据库适配]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/135362338</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/135362338</guid><author>Ice166</author><pubDate>Wed, 03 Jan 2024 17:01:34 +0800</pubDate><description><![CDATA[主要是为了信创，需要各种开源组件以及自身开发的产品对国产环境进行验证，其中最重要的一环就是国产数据库的适配，在借鉴了各位大佬的文章以及查阅了无数国产数据库官方文档之后，最后整理出了一版兼容以上数据库的案例，本人已经测试过了，完美运行。整理不易，望诸君高台贵手，点赞支持。

版本
nacos：2.2.3

nacos源码下载什么的在这里就不做赘述了，直接github下载的，数据库版本也没多大限制，只要能跑脚本的一般都没啥问题]]></description><category></category></item><item><title><![CDATA[xxl-job适配kingbase、pg、mssql、dm、oracle等国产数据库以及其他多数据库适配]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/135356373</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/135356373</guid><author>Ice166</author><pubDate>Wed, 03 Jan 2024 13:51:01 +0800</pubDate><description><![CDATA[本社畜最近公司研发的产品需要一些定时job相关的功能，最后选定xxl-job，但是最头疼的一点就是所有的产品都需要过信创，那么就意味着要兼容国产数据库，什么人大金仓、达梦、海量、华为高斯gaussDB、优炫、GBase等等，最后本社畜翻了各种数据库官方文档，最后整理出了一版兼容以上数据库的案例，本人已经测试过了，完美运行。先把改动总结放在前面，省的文章太长不好找，这样一目了然，哪些地方需要修改。]]></description><category></category></item><item><title><![CDATA[分布式事务解决方案]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/103777497</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/103777497</guid><author>Ice166</author><pubDate>Tue, 31 Dec 2019 10:16:27 +0800</pubDate><description><![CDATA[微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务，这样可以降低开发难度、增强扩展性、便于敏捷开发，从而被越来越多的开发者和公司推崇运用，但系统微服务化后，一个看似简单的功能，内部可能需要调用多个服务并操作多个数据库实现，服务调用的分布式事务问题变的非常突出，几乎可以说是无法避免，分布式事务已经成为微服务落地最大的阻碍，也是最具挑战性的一个技术难题。那么我们在实际开发中需要如何去应对呢？...]]></description><category></category></item><item><title><![CDATA[servicecomb-pack分布式事务解决方案之学习之路（一）：saga和tcc-spring-demo]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/89709726</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/89709726</guid><author>Ice166</author><pubDate>Tue, 30 Apr 2019 15:47:01 +0800</pubDate><description><![CDATA[本片文章是一篇servicecomb-pack的使用教程说明，理论知识会另起一篇文章再详细说明（架构理论传送门1，架构理论传送门2）

servicecomb是华为开源的一个微服务框架，后进入Apache软件基金会孵化，现已毕业，是apache顶级开源项目，而servicecomb-pack是servicecomb孵化的三个子项目之一，是分布式事务最终一致性解决方案，0.3.0版本之前叫saga，...]]></description><category></category></item><item><title><![CDATA[java实现PDF转图片]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/81169591</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/81169591</guid><author>Ice166</author><pubDate>Mon, 23 Jul 2018 16:14:53 +0800</pubDate><description><![CDATA[1.首先利用maven引入所需jar包


        &amp;lt;dependency&amp;gt;     
			&amp;lt;groupId&amp;gt;org.apache.pdfbox&amp;lt;/groupId&amp;gt;     
			&amp;lt;artifactId&amp;gt;fontbox&amp;lt;/artifactId&amp;gt;     
			&amp;lt;version&amp;gt;2.0.1&amp;lt;/version&amp;]]></description><category></category></item><item><title><![CDATA[activiti工作学习之spring整合activiti]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/80831273</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/80831273</guid><author>Ice166</author><pubDate>Mon, 02 Jul 2018 15:25:58 +0800</pubDate><description><![CDATA[       前言：博主之前对于工作流这一块的知识是空白的，也是因为前段时间公司的一个项目，然后其中有个审核环节需要用到工作流来开发比较简单，所以就各种找资料恶补了一番。现阶段博主也仅仅停留在会用，用过，有点校验的阶段，写这篇博客也是想把自己的经验写下来(ps:博主有个习惯，就是一些工作上的难点，或者是自己以前没有接触过的东西，博主就会自己用过之后会把它写下来，这样的话有助于自己巩固这个知识点)，...]]></description><category></category></item><item><title><![CDATA[mysql存储过程+游标循环遍历 判断 赋值 等实例二]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/78833160</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/78833160</guid><author>Ice166</author><pubDate>Mon, 18 Dec 2017 15:01:09 +0800</pubDate><description><![CDATA[1.接着上一篇，本次的存储过程场景和功能和上一篇（放一下上一篇的连接http://blog.youkuaiyun.com/ice166/article/details/78830905）的类似，唯一的区别就是本次修改的是2个字段，而且逻辑也有点变化，因为推荐人是有关系等级的，大致为1,2,3,4 四类，第一篇的是没有等级要求的，这个不能隔代推荐，只能是1推荐成为2,2推荐成为3，以此类推，如果是4推荐的话那么]]></description><category></category></item><item><title><![CDATA[mysql存储过程+游标循环遍历 判断 赋值 等实例一]]></title><link>https://blog.youkuaiyun.com/Ice166/article/details/78830905</link><guid>https://blog.youkuaiyun.com/Ice166/article/details/78830905</guid><author>Ice166</author><pubDate>Mon, 18 Dec 2017 11:00:16 +0800</pubDate><description><![CDATA[1.先说下本文的背景以及结合什么样的需求作出具体的功能：
最近本人公司半道子不知道老板从哪旮沓里（老板应该不看这类技术型博客，O(∩_∩)O）接手了一个半吊子项目来（接盘侠），先不谈这个项目是咋滴咋滴的。这个项目的注册逻辑是有推荐关系的，分推荐注册和无推荐注册两种，这样的话就会形成一条推荐关系链，但是前期开发项目的人没有在数据库维护好这个推荐关系链，导致到了我们这里这些是没有数据的，因此需要根据]]></description><category></category></item></channel></rss>