<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weigeshikebi的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weigeshikebi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weigeshikebi]]></copyright><item><title><![CDATA[数据安全系列10：密码大历史-凯撒加密]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/168246249</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/168246249</guid><author>weigeshikebi</author><pubDate>Mon, 26 Oct 2026 20:29:47 +0800</pubDate><description><![CDATA[先看下百度百科对它的定义：在密码学中，恺撒密码（英语：Caesar cipher），或称恺撒加密、恺撒变换、变换加密，是一种最简单且最广为人知的加密技术。它是一种替换加密的技术，明文中的所有字母都在字母表上向后（或向前）按照一个固定数目进行偏移后被替换成密文。大概意思就是通过将明文中所使用的字母表按照一定的字数"平移"来进行加密。例如限定范围为使用26个英文字母。]]></description><category></category></item><item><title><![CDATA[AI系列5：Spring AI的聊天模型API]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/164423051</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/164423051</guid><author>weigeshikebi</author><pubDate>Thu, 01 Oct 2026 11:21:11 +0800</pubDate><description><![CDATA[AI 模型是用于处理和生成信息的算法，通常模拟人类的认知功能。通过学习海量数据集中的模式和规律，这些模型能够进行预测，生成文本、图像或其他输出，从而赋能各行各业的应用程序。图片来自：从上面可以看出，Spring AI支持语言（聊天）、图像、音频、嵌入（向量）模型。而每个模型的的运行流程都是根据输入的数据类型（文本、图像、音频、视频），选择对应的生成式 AI 模型，就能得到相应格式的输出。大模型是无状态的，依赖上下文（Context）进行推理；AssistantMessage 是对话历史的一部分。]]></description><category></category></item><item><title><![CDATA[AI系列4：Spring AI调用智谱模型]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/163794679</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/163794679</guid><author>weigeshikebi</author><pubDate>Sun, 16 Aug 2026 16:55:01 +0800</pubDate><description><![CDATA[所以打算再讨论一下springAI对glm模型的集成，算是对聊天模型使用的补充。或许从最熟悉的语言入手，也是切入学习大模型的一个良好契机，比如前面通过springAI调用了deepseek、qwen等模型。这张图里面的信息很丰富，它显示了springAI本身的设计类、以及来自不同提供商的各种 AI 聊天模型进行交互，从而允许在不同的 AI 服务之间轻松集成和切换，同时为客户端应用程序保持一致的 API。较高的值（如 0.8）将使输出更加随机，而较低的值（如 0.2）将使其更加集中和确定。]]></description><category></category></item><item><title><![CDATA[AI系列3：什么是Token]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/162810046</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/162810046</guid><author>weigeshikebi</author><pubDate>Sat, 18 Jul 2026 22:39:15 +0800</pubDate><description><![CDATA[模型的定义在spring AI上是这么描述的：AI 模型是用于处理和生成信息的算法，通常模拟人类的认知功能。通过学习海量数据集中的模式和规律，这些模型能够进行预测，生成文本、图像或其他输出，从而赋能各行各业的应用程序。向量模型这里不去纠结定义是否准确，要重点注意上表中最后一行——接受文本输入并输出数字——通常被称为文本嵌入（Embedding），它表示 AI 模型内部的数据结构。Spring AI 支持嵌入功能，以支持更高级的使用场景。这句话该怎么理解呢？嵌入就是“把文字转化成坐标”。]]></description><category></category></item><item><title><![CDATA[‌AI系列2：Spring AI调用本地模型]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/161955276</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/161955276</guid><author>weigeshikebi</author><pubDate>Sat, 13 Jun 2026 23:52:45 +0800</pubDate><description><![CDATA[至此就可以通过springAI实现了调用本地模型了，这样既学习了通过Ollama部署本地模型，又学习了Spring AI与Ollama的集成。下一节会讨论一下Ollama这个应用本身的一些相关特性进行学习。]]></description><category></category></item><item><title><![CDATA[‌AI系列1：Spring AI]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/161747613</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/161747613</guid><author>weigeshikebi</author><pubDate>Sun, 07 Jun 2026 22:28:00 +0800</pubDate><description><![CDATA[至此就可以通过springAI实现了调用DeepSeek模型了。不过DeepSeek模型需要充值（最少1块），所以下一节会通过Ollama来部署本地模型，并通过springAI来调用！]]></description><category></category></item><item><title><![CDATA[问题系列：PyCharm无法识别LangChain库的问题]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/161347222</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/161347222</guid><author>weigeshikebi</author><pubDate>Sat, 23 May 2026 22:23:21 +0800</pubDate><description><![CDATA[还是那句话，不过好在一切在路上了，加油一块在学AI的朋友！勇敢面对生活。]]></description><category></category></item><item><title><![CDATA[分布式定时任务系列14：XXL-job的注册模型]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/157097576</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/157097576</guid><author>weigeshikebi</author><pubDate>Sun, 01 Feb 2026 20:22:12 +0800</pubDate><description><![CDATA[那这张表是什么时候同步的呢，或者说新的执行器注册之后，调度中心怎么感知的呢？这个就在调度中心的监听任务。将任务抽象成分散的JobHandler，交由“执行器”统一管理，“执行器”负责接收调度请求并执行对应的JobHandler中的业务逻辑。将调度行为抽象形成“调度中心”公共平台，而平台自身并不承担业务逻辑，“调度中心”负责发起调度请求。为了观察注册模型的运行过程，先在本地运行2个调度中心实例，然后在将一个任务注册上去。章节中通过源码分析了XXL-job的任务调度流程，即XXL-job的。]]></description><category></category></item><item><title><![CDATA[数据安全系列9：不同编码对加密结果影响]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/155950569</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/155950569</guid><author>weigeshikebi</author><pubDate>Sun, 11 Jan 2026 20:39:57 +0800</pubDate><description><![CDATA[Base64和Hex都是将二进制数据转换为可打印的ASCII字符的方法，使得数据可以安全地在文本协议中传输，比如在JSON、XML、URL中。仔细观察这两段代码中的签名、加密方法，签名sign返回是Base64编码之后的值，而加密encrypt返回的是Hex编码之后的值。：Base64和Hex编码都是可逆的，且编码后的数据不会改变原始二进制数据。这里要额外的说一下base64在java中的演进历史，虽然演示代码里面直接用的jdk的包。我们前面演示的代码里面都是用的这种格式，也是一般场景下的默认格式。]]></description><category></category></item><item><title><![CDATA[数据安全系列8：数字签名]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/153571298</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/153571298</guid><author>weigeshikebi</author><pubDate>Sun, 14 Dec 2025 15:24:20 +0800</pubDate><description><![CDATA[签名算法是指数字签名的算法。数字签名，就是只有信息的发送者才能产生的别人无法伪造的一段数字串，这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是通过一个单向函数，对要传送的信息进行处理得到的用以认证信息来源，并核实信息在传送过程中是否发生变化的一个字母数字串。应用最为广泛的三种签名算法是：Rabin签名、DSS签名、RSA签名。]]></description><category></category></item><item><title><![CDATA[数据安全系列7：常用的非对称算法浅析]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/152251735</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/152251735</guid><author>weigeshikebi</author><pubDate>Thu, 16 Oct 2025 16:55:10 +0800</pubDate><description><![CDATA[上面这种加密、解密都用同一个密钥的使用方法，称为对称加密！这种方式的一个大问题就在于密钥配送问题！特点维度RSASM2理论基础大整数分解难题破解RSA等价于分解两个大质数的乘积N。椭圆曲线离散对数难题在椭圆曲线群上，已知基点G和公钥K，求私钥k是困难的。密钥类型仅使用整数进行运算。使用椭圆曲线上的点（坐标）进行运算。密钥长度较长。为保证安全，目前推荐使用2048位或更长。短得多。256位的SM2私钥，其安全性约等于3072位的RSA。安全性能。]]></description><category></category></item><item><title><![CDATA[数据安全系列6：从SM4国密算法谈到Bouncy Castle]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/151899130</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/151899130</guid><author>weigeshikebi</author><pubDate>Wed, 24 Sep 2025 19:24:53 +0800</pubDate><description><![CDATA[Bouncy Castle 是一个开源的、轻量级的、基于 Java 和 C# 的密码学算法库。它提供了 Java 平台标准（JCA/JCE）未能提供的、以及许多其他的密码学算法和标准实现。简单来说，它是一个功能极其丰富的“密码学工具箱”，被广泛应用于需要加密、解密、数字签名、证书处理等安全功能的软件开发中。优点：功能极其强大且全面，几乎涵盖了所有常见的密码学需求。开源免费，代码可审计，安全性有保障。活跃的社区和持续的维护。提供了两种风格的 API（JCE 提供商和轻量级API）以适应不同需求。]]></description><category></category></item><item><title><![CDATA[数据安全系列5：常用的对称算法浅析]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/149661049</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/149661049</guid><author>weigeshikebi</author><pubDate>Sun, 17 Aug 2025 15:31:33 +0800</pubDate><description><![CDATA[从上面的对比讨论可以看出，现在推荐的加密算法要么是AES、要么是SM4这两种。// AES// 128位IV// SM4这里的格式：AES/CBC/PKCS5Padding是指定算法的参数格式，表示为算法/工作模式/填充模式关于数据安全虽然整理了好几篇文章。不过说实话，我觉得对于算法还是没有入门，最多是使用上初窥门径（尝试看了一下算法源码，就是看不懂。。。），所以建议大家有兴趣还是先看看作为一本入门书的《图解密码技术_百度百科》虽然看了第2遍了，还是常看常新！]]></description><category></category></item><item><title><![CDATA[分布式定时任务系列13：死循环是任务触发的银弹？]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/149002122</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/149002122</guid><author>weigeshikebi</author><pubDate>Mon, 21 Jul 2025 16:53:14 +0800</pubDate><description><![CDATA[Executors的核心作用是封装线程池的创建逻辑固定大小的线程池（Fixed Thread Pool）可缓存的线程池（Cached Thread Pool）单线程的线程池（Single Thread Pool）周期性任务调度线程池（Scheduled Thread Pool）这些线程池分别适用于不同的场景，比如任务数量固定、任务数量不确定、需要单线程执行、或需要定时执行任务等。]]></description><category></category></item><item><title><![CDATA[分布式定时任务系列12：XXL-job的任务触发为什么是死循环？]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/148204835</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/148204835</guid><author>weigeshikebi</author><pubDate>Sat, 14 Jun 2025 19:24:40 +0800</pubDate><description><![CDATA[‌JDK Timer‌是Java开发工具包（JDK）中提供的一个定时器工具，用于在后台线程中安排将来执行的任务。它可以安排任务为一次性执行，或者以固定间隔重复执行。Timer类自jdk1.3就引入，作者是大名鼎鼎的Josh Bloch（是google的首席JAVA架构师）。优点简单易用，适合简单的定时任务需求。线程安全，多个线程可以共享一个Timer对象而无需外部同步。‌缺点单一Timer对象共享一个线程，如果任务执行时间较长，会影响后续任务的执行。不适合高并发或高性能要求的场景。‌替代方案。]]></description><category></category></item><item><title><![CDATA[UML设计系列(9)：开发过程中如何应用UML]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/147318660</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/147318660</guid><author>weigeshikebi</author><pubDate>Wed, 23 Apr 2025 20:59:07 +0800</pubDate><description><![CDATA[没什么多说的，学习一项技术（工具）最好的时候就是当你开始使用的时候，找到一款合适的工具，从一个最简单的场景用UML设计起来吧！]]></description><category></category></item><item><title><![CDATA[数据安全系列4：密码技术的应用-接口调用的身份识别]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/146438982</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/146438982</guid><author>weigeshikebi</author><pubDate>Sun, 30 Mar 2025 23:20:02 +0800</pubDate><description><![CDATA[一谈到认证，多数人的反应可能就是"用户认证就是应用系统如何识别用户的身份，直接一点就是常说的"登录"功能，这可以说是一个系统中最基本的功能了：认证（Authentication）、授权（Authorization）和凭证（Credentials）这三项可以说是一个系统中最基础的安全设计了，哪怕是再简陋的信息系统，大概也不可能忽略掉“用户登录”这个功能。--------------------引自系统如何正确分辨操作用户的真实身份而"登录账户和权限信息作为一种必须最大限度保障安全和隐私。]]></description><category></category></item><item><title><![CDATA[Java反射系列(4)：通过反射来实现一个日志审计功能]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/142030011</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/142030011</guid><author>weigeshikebi</author><pubDate>Sun, 02 Mar 2025 17:22:55 +0800</pubDate><description><![CDATA[在比较早的时候，就讨论过以及反射的基石Class对象！从工作中实际的例子来看看反射的应用。]]></description><category></category></item><item><title><![CDATA[数据安全系列3：密码技术概述]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/143834444</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/143834444</guid><author>weigeshikebi</author><pubDate>Sat, 18 Jan 2025 18:08:26 +0800</pubDate><description><![CDATA[在以往的文章里面很少谈到相关的技术书，因为现在网上的资料很多获取途径也很方便。但是对于安全类甚至是加解密技术来说，其实还算比较小众！生活中网络无处不在，随之而来的网络攻击、网络安全更是如影随形，平时使用的时候也不会刻意关注它，就算是很多应用开发工程师也不会太在意。所以安全领域的门槛还是很高的，作为一本入门书《图解密码技术_百度百科》，私以为是是相当优秀的（我也只是看了一遍，远谈不上入门），有兴趣可以看看：概念清晰、通俗易懂！一说到密码，最直接联想到的就是各种各样的"登录密码"]]></description><category></category></item><item><title><![CDATA[docker系列12：Dockerfile实战]]></title><link>https://blog.youkuaiyun.com/weigeshikebi/article/details/141292248</link><guid>https://blog.youkuaiyun.com/weigeshikebi/article/details/141292248</guid><author>weigeshikebi</author><pubDate>Sat, 24 Aug 2024 11:18:34 +0800</pubDate><description><![CDATA[在官网中也对两者的。]]></description><category></category></item></channel></rss>