小数的精度问题
想象一下我们十进制里的分数 1/3。你想把它写成小数,结果是 0.333333...,它是一个无限循环小数,你永远也写不完。无论你写多少个 3,它都只是一个近似值,永远不等于 1/3。
计算机内存是有限的,它没办法存储无限的小数位。所以,它只能在某个位置进行截断或舍入。这就导致了计算机存储的 0.1,其实并不是精确的 0.1,而是一个非常非常接近它的近似值,比如 0.10000000000000000555...。
这个微小的误差,就是所有问题的 “ 万恶之源 “。
vscode的使用技巧
1. 配置相关
1.1 插件
1 | # 自定义插件 visx 下载格式 |
- Chinese (Simplified) (简体中文) Language Pack
- Go
- Gitlens
- TODO Highlight
- IntelliJ IDEA Keybindings
- JetBrains lcon Theme (icon)
- IntelliJ IDEA New UI (主题)
- Cursor Align
wireshark抓包
1. 教程
1.1 你的第一次抓包
- 打开 Wireshark:启动后,你会看到一个网络接口列表。
- 选择接口:找到你正在使用的网络接口。通常是:
Wi-Fi: en0或en1(无线网络)Ethernet: enX(有线网络)Thunderbolt Bridge(雷电网桥)- 一个好的判断方法是看接口名字旁边有**实时流量图(像心电图一样跳动)**的那个,说明它正在收发数据。
- 开始捕获:双击你想监听的接口,或者选中后点击左上角的绿色鲨鱼鳍图标 (Start capturing packets)。
- 观察数据:你会看到屏幕上开始疯狂滚动数据包。这是你电脑上所有正在发生的网络通信。
- 停止捕获:点击红色的方块图标 (Stop capturing packets)。
网络基础笔记
AI图像扩散模型原理
目前最主流的 AI 图像模型(如 Midjourney, Stable Diffusion)都基于一种叫做“扩散模型 (Diffusion Model)”的技术。我们可以把它的工作流程想象成两个阶段:学习和创作。
阶段一:潜心学习(训练阶段)
这就像马良在真正获得神笔之前的苦练。
- 加噪: AI 会先拿一张清晰的图片(比如,一张猫的照片)。
- 逐步破坏: 它会像给电视加雪花点一样,一点一点地往图片上添加“噪声”,直到这张图片完全变成一片随机的、毫无意义的雪花(噪声图)。
- 学习修复: 最关键的一步来了!AI 会记录下整个“从清晰到模糊”的过程,然后反过来学习——如何一步步地把这张“雪花图”恢复成最初那张清晰的猫的照片。
通过对亿万张图片重复这个“先破坏、再修复”的过程,AI 就学会了任何一张正常图片应该有的“样子”和“结构”。
阶段二:挥洒创意(创作阶段)
这就是神笔马良开始画画的时候了。
- 听懂你的话 (Text Encoder): 当你输入“一只戴着宇航员头盔的猫”,一个专门负责理解语言的模块(通常是强大的 Transformer 模型)会把你的文字转换成一种 AI 能理解的“数学指令”。
- 准备画布 (Initial Noise): AI 不会从白纸开始,而是先生成一张和你想创造的图片尺寸相同的、纯粹的“雪花图”(随机噪声)。这就像是创意的混沌起点。
- “照着指令”去修复 (Guided Denoising): AI 开始对这张“雪花图”执行它最擅长的“修复”工作。但这一次,它不是要恢复成某张特定的旧图,而是在每一步“去除噪声”时,都会参照第一步生成的“数学指令”。它会不断地问自己:“我怎样才能把这些噪声变得更像‘一只戴着宇航员头盔的猫’呢?”
- 作品诞生 (Final Image): 经过几十个步骤的反复“雕琢”,噪声被完全去除,一张符合你描述的、全新的图像就诞生了!
linux终端使用trojan
全文搜索引擎meilisearch使用
1. 全文搜索选型
1.1 全文搜索
Elasticsearch https://github.com/elastic/elasticsearch 72.1K
Meilisearch https://github.com/meilisearch/meilisearch 49.9K (选用)
typesense https://github.com/typesense/typesense 22.5K
sonice https://github.com/valeriansaliou/sonic 20.6K
zincsearch https://github.com/zincsearch/zincsearch 17.3K (备选)
Bleve https://github.com/blevesearch/bleve 10.3K
1.2 向量搜索(语义搜索)
Qdrant https://github.com/qdrant/qdrant 22.7k
Weaviate https://github.com/weaviate/weaviate?tab=readme-ov-file 12.9K
1.3 结论 (meilisearch)
- 如果需要全面的搜索功能且有运维能力:Elasticsearch
- 如果需要简单部署的全文搜索:Meilisearch
- 如果需要最高性能和专注的向量搜索:Qdrant 或 Weaviate
- 如果已有 PostgreSQL:考虑 pgvector 扩展
- 如果希望纯 Go 实现且内嵌:Bleve