<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[尘世中迷途小码农的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/funnyrand</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; funnyrand]]></copyright><item><title><![CDATA[LLM + RAG + Vanna 综合实战]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/148340292</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/148340292</guid><author>funnyrand</author><pubDate>Fri, 30 May 2025 16:31:06 +0800</pubDate><description><![CDATA[这篇文章介绍如何将LLM + RAG + Vanna结合起来，在一个项目中通过和LLM对话的方式查询数据库中的记录，并显示结果。而不需要人为的手动的通过执行SQL的方式来查询数据库记录。]]></description><category></category></item><item><title><![CDATA[RAG 和 Fine-Tuning]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/148159036</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/148159036</guid><author>funnyrand</author><pubDate>Fri, 23 May 2025 11:05:28 +0800</pubDate><description><![CDATA[RAG（Retrieval-Augmented Generation）和Fine-Tuning是两种用于提高自然语言处理模型性能（准确性）的方法，单纯的LLM存在下面两个问题，
	1. 一旦LLM训练好模型后其知识库就静态和固化了，时间久了就缺乏新的知识输入
	2. 一个模型可能无法学到企业和组织内部的私有数据或专有领域的数据，知识面有限
RAG和Fine-Tuning在一定程度上能解决上面的问题，让LLM的回答能尽可能的准确。]]></description><category></category></item><item><title><![CDATA[向量数据库及ChromaDB的使用]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/148132003</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/148132003</guid><author>funnyrand</author><pubDate>Thu, 22 May 2025 11:01:48 +0800</pubDate><description><![CDATA[向量数据库（Vector Database），也叫矢量数据库，主要用来存储和处理向量数据。
在数学中，向量是有大小和方向的量，可以使用带箭头的线段表示，箭头指向即为向量的方向，线段的长度表示向量的大小。

图像、文本和音视频这种非结构化数据都可以通过某种变换或者嵌入学习转化为向量数据存储到向量数据库中，从而实现对图像、文本和音视频的相似性搜索和检索。这意味着您可以使用向量数据库根据语义或上下文含义查找最相似或相关的数据，而不是使用基于精确匹配或预定义标准查询数据库的传统方法。]]></description><category></category></item><item><title><![CDATA[使用O_DIRECT + 批量写数据到磁盘对丢包率的优化]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/147610422</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/147610422</guid><author>funnyrand</author><pubDate>Tue, 29 Apr 2025 16:28:15 +0800</pubDate><description><![CDATA[当前项目是基于DPDK的全流量存储系统，需要将收集到的网络数据包保存成PCAP文件（类似tcpdump），并实时生成metadata信息（MAC，IP，Port，Offset等），并将metadata保存到数据库（ClickHouse）。通过查询数据库，能够将查询结果组装成新的PCAP文件，提供下载和分析。网络流量20Gbps，数据包平均大小~865 bytes。]]></description><category></category></item><item><title><![CDATA[TCP/UDP结构]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/147326537</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/147326537</guid><author>funnyrand</author><pubDate>Fri, 18 Apr 2025 13:47:53 +0800</pubDate><description><![CDATA[TCP秉承的是性恶论，天然认为网络环境是恶劣的，丢包、乱序、重传、拥塞都是常见的事情，需要从算法层面来保证可靠性。]]></description><category></category></item><item><title><![CDATA[IPv4/IPv6结构]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/147273740</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/147273740</guid><author>funnyrand</author><pubDate>Wed, 16 Apr 2025 11:58:58 +0800</pubDate><description><![CDATA[IPv4 首部的选项字段允许 IP 首部被扩展，由此导致数据报首部长度可变，故不能预先确定数据字段从何开始，同时也使路由器处理一个 IP 数据报所需时间差异很大（有的要处理选项，有的不需要）。这个字段的作用是为了描述 IP 报头的长度，因为在 IP 报头中有变长的可选部分，长度不是固定的。IPv4 的总长度字段是 16 位的，但 IPv6 的有效载荷长度字段却是 20 位，这就意味着该字段能够指定更长的有效载荷（1 048 575 字节，相对 IPv4 中只有 65 535 字节）。这是一个可变长的字段。]]></description><category></category></item><item><title><![CDATA[ClickHouse总结]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/142171316</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/142171316</guid><author>funnyrand</author><pubDate>Thu, 12 Sep 2024 11:46:33 +0800</pubDate><description><![CDATA[OLAP（联机分析处理） 是一种用于在大规模数据集上进行复杂分析的数据处理方法。与OLTP（联机事务处理）系统专注于支持日常业务交易和操作不同，OLAP系统旨在提供对多维数据的快速、灵活的查询和分析能力。： 数据库主要用于读取操作，而写入操作相对较少。： 更新操作通常以相当大的批次进行，而非单行更新，并且可能是禁止或较少进行的。： 一旦数据添加到数据库，就不能修改。： 数据表包含大量列，可能是宽表结构。： 查询数量相对较少，但每个查询可能涉及提取大量行的一小部分列，且查询可能是复杂的。]]></description><category></category></item><item><title><![CDATA[DPDK概述]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/141818646</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/141818646</guid><author>funnyrand</author><pubDate>Mon, 02 Sep 2024 14:58:28 +0800</pubDate><description><![CDATA[DPDK是一种用户空间数据平面开发工具包，它的主要目标是为开发人员提供一个。DPDK开发者能够用C语言、汇编与新型Intel架构的linux内核进行交互，使得数据平面应用程序在高度优化的环境中运行。随着芯片技术与高速网络接口技术的一日千里式发展，报文吞吐需要处 理10Gbps 端口处理能力，世面上大量的 25G、 40G 甚至100G 高速端口已经出现，主流处理器的主频仍停留在 3GHz 左右。IO 超越 CPU 的运行速率，是横在行业面前的技术挑战。]]></description><category></category></item><item><title><![CDATA[K8S 运维管理]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/137169598</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/137169598</guid><author>funnyrand</author><pubDate>Sat, 30 Mar 2024 14:50:54 +0800</pubDate><description><![CDATA[Node是K8S中负责运行业务的计算节点，常见的操作有：1）将一个新的Node加入到集群，2）对某个存在的Node进行升级维护（扩大内存，增加磁盘，升级OS，重启等），3）将一个不再使用的Node从集群中删除。]]></description><category></category></item><item><title><![CDATA[K8S Storage]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/136880454</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/136880454</guid><author>funnyrand</author><pubDate>Thu, 21 Mar 2024 11:15:06 +0800</pubDate><description><![CDATA[一般情况下，K8S中的Pod都不应该将数据持久化到Pod中，因为Pod可能被随时创建和删除（扩容活缩容），即便是StatefulSet或Operator的Pod，也都不建议在Pod里面存放数据，可以将数据持久化到Host上。K8S提供了非常丰富的存储相关的功能，使得我们可以方便的让Pod访问存储设备。在K8S里面，都统一通过Volume挂载的方式让Pod来访问存储设备，Volume与Pod绑定并与Pod有相同的生命周期，Volume在Pod中定义，而Pod中的容器只需要使用volumeMounts就可...]]></description><category></category></item><item><title><![CDATA[K8S CNI]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/136728251</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/136728251</guid><author>funnyrand</author><pubDate>Fri, 15 Mar 2024 11:32:55 +0800</pubDate><description><![CDATA[本章讲解K8S CNI及其周边相关技术，包括CNI，OCI，CRI，网桥，Sandbox，IPIP，VXLan等，以及要自己实现一个CNI的步骤有哪些。]]></description><category></category></item><item><title><![CDATA[K8S Pod]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/136579240</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/136579240</guid><author>funnyrand</author><pubDate>Sat, 09 Mar 2024 14:27:12 +0800</pubDate><description><![CDATA[Pod是K8S中非常重要的概念之一，是整个K8S架构的基础和核心。Pod是K8S调度的最小单位，是一个不可拆分的独立个体，K8S将多个业务上相关联的容器（Docker容器）合并到一起，组合成一个Pod，这些业务上相关的容器共享Pod中的网络和存储等资源。每个Pod都有一个唯一的IP地址，Pod中的所有容器都共享此IP地址。每个Pod在创建的时候K8S都会为其先创建一个根容器，即pause容器，这个容器非常简单，就是一个主要包含for代码的死循环，主要起一个占位的作用。]]></description><category></category></item><item><title><![CDATA[K8S Service]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/136503388</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/136503388</guid><author>funnyrand</author><pubDate>Wed, 06 Mar 2024 13:56:39 +0800</pubDate><description><![CDATA[K8S 服务（Service）是K8S实现微服务架构最重要的组件之一，主要作用：1）为Pod提供稳定的访问地址（域名或IP），2）实现负载均衡，3）自动屏蔽后端Endpoints的变化。]]></description><category></category></item><item><title><![CDATA[K8S 概述]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/135759060</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/135759060</guid><author>funnyrand</author><pubDate>Mon, 22 Jan 2024 21:48:49 +0800</pubDate><description><![CDATA[Kubernetes 是一个基于容器化技术的分布式应用程序编排平台，其核心概念主要包括 Node、Pod、Service、Namespace、Deployment、StatefulSet、DaemonSet、Job 和 CronJob 等。]]></description><category></category></item><item><title><![CDATA[Ansible相关资料收集]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/128535825</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/128535825</guid><author>funnyrand</author><pubDate>Tue, 03 Jan 2023 17:08:46 +0800</pubDate><description><![CDATA[Ansible 资料。]]></description><category></category></item><item><title><![CDATA[Kafka中Zero-Copy的相关总结]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/125513774</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/125513774</guid><author>funnyrand</author><pubDate>Wed, 29 Jun 2022 09:46:40 +0800</pubDate><description><![CDATA[Kafka用到了零拷贝（Zero-Copy）技术来提升性能。所谓的零拷贝是指数据直接从磁盘复制文件到网卡设备，而无需经过应用程序，减少了内核和用户空间之间的上下文切换。]]></description><category></category></item><item><title><![CDATA[Kafka中mmap的相关总结]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/125504778</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/125504778</guid><author>funnyrand</author><pubDate>Tue, 28 Jun 2022 16:50:33 +0800</pubDate><description><![CDATA[Kafka中mmap的相关总结]]></description><category></category></item><item><title><![CDATA[Kafka设计的奥秘]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/125496261</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/125496261</guid><author>funnyrand</author><pubDate>Tue, 28 Jun 2022 09:51:33 +0800</pubDate><description><![CDATA[Kafka是一款高效的流处理平台和消息队列系统，Kafka在设计上有很多值得学习和借鉴的地方。这篇文章对Kafka设计的亮点进行了总结，通过这篇文章，我们可以学习到Kafka的设计奥秘以及其相关的技术，对于我们理解消息队列和Kafka本身有着非常重要的帮助。]]></description><category></category></item><item><title><![CDATA[搭建 Kubernetes 集群环境]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/121878784</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/121878784</guid><author>funnyrand</author><pubDate>Sat, 11 Dec 2021 20:32:02 +0800</pubDate><description><![CDATA[经过几个晚上的折腾，终于成功搭建了一套K8S集群环境，我想说的是，真的很繁琐。
该集群环境由一个Master节点和两个Worker节点组成，]]></description><category></category></item><item><title><![CDATA[Java安全编程需要考虑的问题]]></title><link>https://blog.youkuaiyun.com/funnyrand/article/details/121757524</link><guid>https://blog.youkuaiyun.com/funnyrand/article/details/121757524</guid><author>funnyrand</author><pubDate>Wed, 08 Dec 2021 23:36:15 +0800</pubDate><description><![CDATA[这篇文章简要讨论了Java安全编程需要考虑的若干问题，通过对这些问题的深入理解，能够帮助我们在实际编码过程中避免出现安全相关的问题，从而提高代码质量。

由于时间关系，没有给出每个场景的示例代码，仅说明了该场景可能出现的安全问题以及对应的解决办法。


概述

一般而言，安全编程的目标有以下三点：

机密性
	完整性
	可用性
机密性要求数据不被他人轻易获取，需要进行数据加密。

完整性要求数据不被他人随意修改，需要进行指纹计算。

可用性要求服务不被他人恶意攻击，需要进行数据校验。

在Java中，安全.]]></description><category></category></item></channel></rss>