<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[pingwangzhi的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pingwangzhi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pingwangzhi]]></copyright><item><title><![CDATA[一次生产环境数据错误的排查记录]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/152559478</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/152559478</guid><author>pingwangzhi</author><pubDate>Sun, 05 Oct 2025 17:41:25 +0800</pubDate><description><![CDATA[本文旨在记录一次生产环境数据错误的完整排查过程，既非通用技术指导，也不涉及复杂高深的技术。它更像是一份“工具与经验结合”的工作纪实——问题本身并不复杂，但排查中的思路与方法值得总结。同时，也希望通过本文，让读者了解我在技术团队中的职责定位与日常工作方式。]]></description><category></category></item><item><title><![CDATA[MCP 传输层代码分析]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/147880106</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/147880106</guid><author>pingwangzhi</author><pubDate>Sun, 11 May 2025 22:00:31 +0800</pubDate><description><![CDATA[本文分析了 MCP（Model Context Protocol）传输层的实现，特别是通过 HTTP 的 SSE（Server-Sent Events）传输方式。MCP 采用分层架构，分为协议层和传输层，本文重点探讨了传输层的实现。传输层通过 SseServerTransport 类暴露了两个端点：/sse 用于创建 SSE 通道并传输服务端响应数据，/message 用于接收客户端请求。代码中使用了 anyio 和 Starlette 库，通过 anyio.create_memory_object_str]]></description><category></category></item><item><title><![CDATA[Docker拉取镜像代理配置实践与经验分享]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/147516632</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/147516632</guid><author>pingwangzhi</author><pubDate>Fri, 25 Apr 2025 16:56:04 +0800</pubDate><description><![CDATA[在企业内网环境中，我们部署了多台用于测试与学习的服务器。近期，接到领导安排，需在其中一台服务器上通过Docker安装n8n应用程序。然而在实际操作过程中，遭遇Docker官方镜像库无法访问的问题，导致镜像拉取失败。经排查发现，由于网络限制，需借助代理服务器才能访问镜像库。虽然我的工作机已配置代理，但代理服务仅监听127.0.0.1本地IP地址，无法直接被内网服务器调用。面对这一挑战，我决定采用socat工具进行端口转发，以实现内网服务器通过工作机代理访问镜像库的目标。]]></description><category></category></item><item><title><![CDATA[利用 FastAPI 实现三种推送方式]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/147348514</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/147348514</guid><author>pingwangzhi</author><pubDate>Sat, 19 Apr 2025 11:51:54 +0800</pubDate><description><![CDATA[在上一篇博客里，我用纯 Shell 命令实现了日志监听并推送到企业微信的功能。尽管方法简单，但我还是颇为得意，毕竟没写一行代码，仅依靠命令和管道就实现了一个小机器人功能。后续我可能还会发表一两篇用类似方式实现特定功能的文章，不过今天要聊的是另一件事。起初，我没打算把日志监听结果推送到企业微信，而是想单独创建一个页面，实现简单的发布 - 订阅功能。]]></description><category></category></item><item><title><![CDATA[通过命令行实现日志监听、抽取并发送到企业微信机器人]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/147253596</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/147253596</guid><author>pingwangzhi</author><pubDate>Tue, 15 Apr 2025 16:56:24 +0800</pubDate><description><![CDATA[通过kubectl实时监听日志，结合grepsed和curl，实现了短信验证码的自动抽取和发送，极大减少了手动查询的工作量。企业微信机器人接口简单高效，适合类似场景的快速集成。]]></description><category></category></item><item><title><![CDATA[利用dify打造命令行助手]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/146488360</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/146488360</guid><author>pingwangzhi</author><pubDate>Mon, 24 Mar 2025 22:46:08 +0800</pubDate><description><![CDATA[利用dify打包命令行助手]]></description><category></category></item><item><title><![CDATA[利用dify打造命令行助手]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/146484446</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/146484446</guid><author>pingwangzhi</author><pubDate>Mon, 24 Mar 2025 19:50:08 +0800</pubDate><description><![CDATA[创建一个聊天助手型的空白应用。输入提示词如下你是一个资深运维，根据用户运行的命令:{{command}}及运行的结果:{{result}}，回答用户的问题我选择模型提供者是 groq cloud。（因为快）。模型随便选了一个.]]></description><category></category></item><item><title><![CDATA[flink执行sql文件代码]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/145510992</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/145510992</guid><author>pingwangzhi</author><pubDate>Sat, 08 Feb 2025 11:00:39 +0800</pubDate><description><![CDATA[【代码】flink执行sql文件代码。]]></description><category></category></item><item><title><![CDATA[java高手集锦]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/142733979</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/142733979</guid><author>pingwangzhi</author><pubDate>Mon, 07 Oct 2024 00:14:14 +0800</pubDate><description><![CDATA[我要用一个中间件，……]]></description><category></category></item><item><title><![CDATA[java高手集锦]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/142715039</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/142715039</guid><author>pingwangzhi</author><pubDate>Sat, 05 Oct 2024 15:45:48 +0800</pubDate><description><![CDATA[菜鸟们高山仰止，又有原子操作，又有递归。]]></description><category></category></item><item><title><![CDATA[java高手集锦]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/142673789</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/142673789</guid><author>pingwangzhi</author><pubDate>Tue, 01 Oct 2024 19:32:43 +0800</pubDate><description><![CDATA[大师：你不懂，这是为了防止空指针错误……菜鸟：为什么不直接 if(test)]]></description><category></category></item><item><title><![CDATA[java高手集锦]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/142624508</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/142624508</guid><author>pingwangzhi</author><pubDate>Sun, 29 Sep 2024 00:33:20 +0800</pubDate><description><![CDATA[大师：git命令早就过时了，最新的做法是用IDEA上的功能 ，你要点这个菜单，然点这样，然后这样……]]></description><category></category></item><item><title><![CDATA[java高手集锦]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/142536366</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/142536366</guid><author>pingwangzhi</author><pubDate>Thu, 26 Sep 2024 00:53:13 +0800</pubDate><description><![CDATA[大师：是啊，但md5后，不是更能保证唯一吗？菜鸟：uuid不是已经是唯一了吗？]]></description><category></category></item><item><title><![CDATA[java高手集锦]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/142431206</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/142431206</guid><author>pingwangzhi</author><pubDate>Sun, 22 Sep 2024 08:57:54 +0800</pubDate><description><![CDATA[在入职在行业后，特别是这四五年内，本菜鸟遇到了很多行业中的大师，在此我想展示一下大师的代码片断，以及与大师的对话录。以便让有幸能读到此系列文章的人能领略大师的风范。：这个AtomInteger是原子操作，可好了呢，他能保证多线性下数据的原子子操作，也就是……，同时还不会阻塞……：为啥用AtomicInteger？]]></description><category></category></item><item><title><![CDATA[预训练模型加条件随机场抽取地址信息]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/126593913</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/126593913</guid><author>pingwangzhi</author><pubDate>Mon, 29 Aug 2022 22:25:32 +0800</pubDate><description><![CDATA[【代码】预训练模型加条件随机场抽取地址信息。]]></description><category></category></item><item><title><![CDATA[oracle编码及char类型]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/125346673</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/125346673</guid><author>pingwangzhi</author><pubDate>Sat, 18 Jun 2022 14:42:27 +0800</pubDate><description><![CDATA[因为公司测试环境与生产环境中的oracle字符串并非用同一字符集，就造成了很多问题，特别是varchar类型的数据，在插入时，经常出现越界问题。比如某段为varchar(2),定义的长度为2，在GB2312编码下，可以存储一下汉字。而换成了UTF-8编码，则越界了。同时，我对varchar以及nvarchar不怎么了解，于是我查阅了一下oracle的官网。官方文档中（Character Data Types）说明varchar2类型长度是以字节为单位的。GB2312编码长度为2，而UTF-8为可变长字符集，]]></description><category></category></item><item><title><![CDATA[superset 添加oracle支持]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/125238811</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/125238811</guid><author>pingwangzhi</author><pubDate>Sat, 11 Jun 2022 21:11:42 +0800</pubDate><description><![CDATA[利用docker运行superset的开发环境。并安装oracle依赖

解决中文查询乱码问题

在docker/.env 文件中添加。NLS_LANG=AMERICAN_CHINA.AL32UTF8]]></description><category></category></item><item><title><![CDATA[k8s - containerd 磁盘清理]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/123138919</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/123138919</guid><author>pingwangzhi</author><pubDate>Fri, 25 Feb 2022 18:42:15 +0800</pubDate><description><![CDATA[近期，阿里云上的k8s集群磁盘报警。清除了日志后，没有明显的效果，利用ncdu发现/var/lib/container底下有很多文件，应该是cicd自动部署时，产生的历史Images过多，

执行 crictl images，确实发现多余images 。

于是我写以下脚本清除images


crictl images | awk 'NR&gt;1 {print $3}'| xargs crictl rmi

清除日志时一定注意，直接删除一个正在运行程序的日志，虽然删除了文件的引用，但文件仍然占用磁盘空间]]></description><category></category></item><item><title><![CDATA[promethus搜集minio指标]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/119843064</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/119843064</guid><author>pingwangzhi</author><pubDate>Sat, 21 Aug 2021 18:17:02 +0800</pubDate><description><![CDATA[环境：
minio :
三台机器，组成minio集群。
promethus
运行于k8s,由helm安装
配置文件
apiVersion: v1
kind: Namespace
metadata:
  labels:
    kubernetes.io/metadata.name: minio-monitor
  name: minio-monitor
spec:
  finalizers:
  - kubernetes


---
kind: Service
apiVersion: v1
metadata]]></description><category></category></item><item><title><![CDATA[javaBean转json]]></title><link>https://blog.youkuaiyun.com/pingwangzhi/article/details/114691792</link><guid>https://blog.youkuaiyun.com/pingwangzhi/article/details/114691792</guid><author>pingwangzhi</author><pubDate>Fri, 12 Mar 2021 11:31:46 +0800</pubDate><description><![CDATA[grep "private" zc.txt | awk '{print $3}' | sed 's/;/":""/g' | sed 's/^/"/g' | sed 's/$/\,/g'

对方给我的接口描述都是这鬼样子，
TabScanCome {
    /**
     * 运单编号（主单/子单/回单/袋号等） 
     */
    @TableField("BILL_CODE")
    private String billCode;

    /**
     * 清单编号
     */
 ]]></description><category></category></item></channel></rss>