<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zerolea的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zerolea</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zerolea]]></copyright><item><title><![CDATA[JUC学习笔记]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/163278223</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/163278223</guid><author>zerolea</author><pubDate>Tue, 28 Jul 2026 18:39:28 +0800</pubDate><description><![CDATA[本文总结了Java多线程编程的核心知识点，主要包括： 线程生命周期、线程同步、线程工具类、线程池、并发安全问题、死锁排查]]></description><category></category></item><item><title><![CDATA[小学生必看：如何通过GitHub Actions实现前端自动化部署]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/160407370</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/160407370</guid><author>zerolea</author><pubDate>Wed, 22 Apr 2026 15:23:41 +0800</pubDate><description><![CDATA[保姆级教程：如何通过GitHub Actions实现前端项目的自动化部署]]></description><category></category></item><item><title><![CDATA[讯飞星火网页反调试破解]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/157145876</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/157145876</guid><author>zerolea</author><pubDate>Tue, 20 Jan 2026 13:32:47 +0800</pubDate><description><![CDATA[讯飞星火反调试]]></description><category></category></item><item><title><![CDATA[LLM不按预期格式输出？提示词工程远远不够。]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/148545190</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/148545190</guid><author>zerolea</author><pubDate>Tue, 10 Jun 2025 11:42:02 +0800</pubDate><description><![CDATA[针对LLM输出格式不稳定问题，vLLM库的Guided Decoding功能可以强制规范输出格式。该方法通过动态干预token采样策略，支持多种格式限制：1)choice模式从预定义选项中选择；2)regex正则匹配；3)grammar定义复杂语法结构；4)json按指定schema输出；5)json_object仅要求合法JSON格式。实验采用3B参数的Qwen模型，验证了该方法能消除多余输出，确保格式完美合规。相比传统提示词控制，该技术通过底层采样干预实现了更严格的输出约束，为程序化处理LLM输出]]></description><category></category></item><item><title><![CDATA[基于unsloth微调一个越狱大模型]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/147402618</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/147402618</guid><author>zerolea</author><pubDate>Mon, 21 Apr 2025 21:30:24 +0800</pubDate><description><![CDATA[网上其实并没有找到现成的开源越狱数据集，所以数据集获取是个麻烦事。想了想easydataset，可能还是不行，easydataset是基于大模型回答的，大模型一般都做了对齐训练，那本地文档生成数据这条路也不可靠。该仓库里分享了大量越狱实验的问答记录，针对不同模型，不同越狱攻击方式，不同越狱问题类型都有记录，而且有标记那些记录是越狱成功那些越狱失败（通过jailbroken字段）英语的越狱似乎还不错，但是中文就拒绝回答了。现成的越狱数据集没有，但是有很多开源的越狱实验！训练前测试了几次，是不会直接回答的。]]></description><category></category></item><item><title><![CDATA[基于GRPO将QWEN训练为和deepseek一样的推理模型！]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/147340196</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/147340196</guid><author>zerolea</author><pubDate>Sat, 19 Apr 2025 17:52:36 +0800</pubDate><description><![CDATA[群体相对策略优化（GRPO）算法最初由deepseek团队提出，是近端策略优化(PPO)的一个变体。GRPO 是一种在线学习算法，它通过使用训练过程中已训练模型自身生成的数据进行迭代改进。GRPO 目标背后的逻辑是在确保模型与参考策略保持接近的同时，最大化生成的completion的优势。DeepSeek团队在使用纯强化学习 训练 R1-Zero 时观察到了一个“aha moment”。该模型学会了通过重新评估其初始方法来延长其思考时间，而无需任何人工指导或预定义指令。该模型将生成多个响应。]]></description><category></category></item><item><title><![CDATA[防止反编译，java打包后加密，防源码泄露]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/143166784</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/143166784</guid><author>zerolea</author><pubDate>Tue, 15 Apr 2025 17:13:25 +0800</pubDate><description><![CDATA[客户想私有化部署我的产品，但是预算不足，所以只给jar包不给源码；但是jar依然有反编译的风险，比如springboot项目打包为jar包后，可以通过反编译出部分源码，有源码泄露风险。所以需要对jar加密之后再交付给客户。]]></description><category></category></item><item><title><![CDATA[基于unsloth微调大模型并上传到huggingface]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/147224720</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/147224720</guid><author>zerolea</author><pubDate>Mon, 14 Apr 2025 19:26:42 +0800</pubDate><description><![CDATA[本文基于B站up主的代码编写，，并说明有关潜在的坑。如果无法打开也可以在文章后面找到源码。该代码使用微调DeepSeek-R1-Distill-Llama-8B，数据集使用, 旨在将模型微调为一个算命大师。数据集格式：{ Question, Response,  Complex_CoT } ，因为微调的是一个推理模型，所以包含思维链。微调的大致流程如下。]]></description><category></category></item><item><title><![CDATA[大模型微调数据集怎么搞？基于easydataset实现文档转换问答对json数据集！]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/147193786</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/147193786</guid><author>zerolea</author><pubDate>Sun, 13 Apr 2025 17:02:39 +0800</pubDate><description><![CDATA[然后将md文件上传到easydataset，easydataset会将其拆分成若干个片段，并针对每个片段生成若干个问题，最后再对每个问题进行回答，问答对就完成了。原理是通过将文档片段发送给ollama本地模型，然后本地模型生成有关问题，并基于文档片段回答问题。进入easydataset的运行界面，新建项目，会被要求添加模型。ollama安装就不赘述了，easy-dataset是一个前端项目，只需要有nodejs就能运行起来了。微调的难点之一在与数据集。上图左侧是我的原文档，右侧是我基于文档生成的数据集。]]></description><category></category></item><item><title><![CDATA[基于ollama与ragflow实现本地知识库]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/147189696</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/147189696</guid><author>zerolea</author><pubDate>Sun, 13 Apr 2025 13:42:11 +0800</pubDate><description><![CDATA[实现了基于本地文档内容的对话问答。]]></description><category></category></item><item><title><![CDATA[一些简单但常用的算法记录(python)]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/147153228</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/147153228</guid><author>zerolea</author><pubDate>Fri, 11 Apr 2025 23:42:35 +0800</pubDate><description><![CDATA[【代码】一些简单但常用的算法记录(python)]]></description><category></category></item><item><title><![CDATA[LLaMA-Factory从安装到微调再导出全流程]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/147070660</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/147070660</guid><author>zerolea</author><pubDate>Tue, 08 Apr 2025 17:01:21 +0800</pubDate><description><![CDATA[LLaMA-Factory是一个微调框架。]]></description><category></category></item><item><title><![CDATA[问卷星脚本]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/146543125</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/146543125</guid><author>zerolea</author><pubDate>Wed, 26 Mar 2025 22:42:22 +0800</pubDate><description><![CDATA[在支持自定义脚本的插件中（tampermonkey或者scriptcat），新建脚本，删除新建脚本里自带的所有的字符，再把上述代码粘贴进去，保存，就算安装成功了。脚本如何使用，参考代码注释。]]></description><category></category></item><item><title><![CDATA[给你的服务器配置子域名]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/146409345</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/146409345</guid><author>zerolea</author><pubDate>Fri, 21 Mar 2025 15:02:42 +0800</pubDate><description><![CDATA[我有一个example.top的主域名，绑定了某个ip地址IPA，对应一台阿里云服务器。做开发的时候想实现一个线上测试环境，看看代码在线上有没有问题。以前我都是在主域名下对应的文件夹下再创一个test文件夹，然后把html放进test目录下当作线上测试环境，这样我就可以通过访问example.top/test来访问我新上线的代码，而且用户也不知道这个路径，自然就做到了一定程度环境隔离。]]></description><category></category></item><item><title><![CDATA[防止用户调试网页的若干方法]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/146345640</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/146345640</guid><author>zerolea</author><pubDate>Tue, 18 Mar 2025 16:53:13 +0800</pubDate><description><![CDATA[打开调试面板时会停留在debugger行，从而导致if成立。即便禁用鼠标右键、F12、快捷键，浏览器仍然能打开调试面板。打开之后还能通过下面这个按钮禁用断点，所有的努力白费~~~所以前端的代码运行在魔鬼计算机上，后端安全才是王道~~~performance.now()返回高精度时间戳。最后在main.js中引入，就完成了。]]></description><category></category></item><item><title><![CDATA[npm run dev原理]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/146192064</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/146192064</guid><author>zerolea</author><pubDate>Wed, 12 Mar 2025 08:52:14 +0800</pubDate><description><![CDATA[npm run dev做了什么？]]></description><category></category></item><item><title><![CDATA[没有人比我更懂跨域！！！]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/145092496</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/145092496</guid><author>zerolea</author><pubDate>Sun, 12 Jan 2025 15:43:16 +0800</pubDate><description><![CDATA[跨域是由于浏览器的同源策略所导致的一种安全机制。同源策略要求网页在发送网络请求时，api的协议、域名、端口必须与网页完全相同，否则浏览器就会阻止这些请求，这就是跨域限制。跨域是浏览器特有的一种特性，在服务端并不存在跨域的概念。服务器之间进行通信时，只要网络可达、权限允许，就可以自由地交互数据。]]></description><category></category></item><item><title><![CDATA[SpringBoot与Vue实现WebSocket心跳机制]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/144879877</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/144879877</guid><author>zerolea</author><pubDate>Thu, 02 Jan 2025 11:18:41 +0800</pubDate><description><![CDATA[前端每隔一段时间向后端发送一次字符串ping-${uid}，后端收到后返回pong响应。]]></description><category></category></item><item><title><![CDATA[springboot+vue实现SSE服务器发送事件]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/144873748</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/144873748</guid><author>zerolea</author><pubDate>Wed, 01 Jan 2025 23:49:06 +0800</pubDate><description><![CDATA[一个基于订阅发布机制的SSE事件。客户端可以请求订阅api（携带客户端id），与服务器建立SSE链接；后续服务器需要推送消息到客户端时，再根据客户端id从已建立链接的会话中找到目标客户端，将消息推送出去。后端执行某耗时任务时，需要实时推送进度到客户端，每完成一个阶段，就向客户端推送一个单位进度，做到客户端实时显示进度的效果。这个控制器类允许客户端订阅、接收消息和断开连接。]]></description><category></category></item><item><title><![CDATA[纯前端实现更新检测]]></title><link>https://blog.youkuaiyun.com/zerolea/article/details/144583648</link><guid>https://blog.youkuaiyun.com/zerolea/article/details/144583648</guid><author>zerolea</author><pubDate>Thu, 19 Dec 2024 13:52:12 +0800</pubDate><description><![CDATA[update.js的主要功能是定期检查网页中的脚本标签是否有更新，并在检测到新版本时提示用户刷新页面以确保平台正常使用。通过判断打包后的html文件中的js入口是否发生变化，进而实现前端的代码更新。通过篡改localstorage中的curHash，可引导更新，效果如下。为了使打包后的文件带有hash值，需要对vite打包。最后在main.js入口文件引入即可。30s更新一次算频繁吗？]]></description><category></category></item></channel></rss>