杂谈
2026-02-22
我期望编程领域有一套新的有关ai的程序设计范式。以下纯粹糊说八道。
比起3年前ai说的一堆糊话,现在大多数已经很少见。在拆解问题和更准确的描述后,以自然语言让ai确实能做到一些工作。但是【自然语言】的表达不具备’数学’的标准化。
在我们编程领域中,有一种概念叫到【幂等性】,意思是,不论对同一个目标操作多少次,这么多次返回的结果都是一样的。也可能理解为,像数学公式一样,输入A必得B。那么ai的工作具备【幂等性】吗?我认为不具备。
如果你用过ai,就会很有感触。假设每次新建会话,问同一个简单问题,它们回答主体意思大概率是一样的,但是如果从回复内容看,每次可能都不一样。有甚者会挤压膏式,不会一次给出所有答案,需要继续对话才能出来所有内容。
ai有上下文长...
Click to read more ...
搭建loki日志聚合
loki
据我不严谨的搜索,loki发布于2020年左右,截至本文落笔记目前仍在不断变化中。所以在开始前非常有必要提醒读者,本文内容用到的loki组件版本:
grafana/loki:3.5.8
grafana/grafana:12.2
grafana/alloy:v1.11.3
此前,我没有搭建聚合日志平台的经验。本次我主要是利用 AI 翻译和讲解和反复阅读官方 loki 3.5.x 教程。
如果你阅读过quick-start和tutorial,你会发现这两篇教程并没有手把手教你搭建,更多是界面使用教程。对于期望自己搭建 loki 的新手来说,并不是一个好的开始。
本文的初衷,是给我司的游戏项目多节点部署(非 docker、非 k8s)场景,搭建一个日志聚合平...
Click to read more ...
mongodb笔记
安装指南
MongoDB Command Reference
MongoDB Manual
性能优化
文档扫描量大,没有建立索引
查询返回的文档空间过大,使用查询选择踢除不必要的字段
限制单次查询的返回数量
大数据记录,使用投影选项,只返回必要的字段
数据库性能只有在使用所有使用的索引都加载到内存里才是最好的。需要 db.stats() 和 db.collection.stats 输出的信息来帮助计划需要多少磁盘空间和 RAM 才能运行 MongoDB。应该为预期的数据留足够的磁盘空间,包括一些安全空间和热数据(工作数据集合)
不合理的索引顺序令查询效率收效甚微
索引元数据 `keys = {a:1, b:1, c:1}
db.xxx.find({...
Click to read more ...
记录乱七八糟的配置-window
以下
仅为个人记录&翻查
工具
烧录 Rufus https://rufus.ie/en/
命令行管理 conemu https://github.com/ConEmu/ConEmu
激活
win开源激活工具 https://github.com/massgravel/Microsoft-Activation-Scripts
Open PowerShell
For Windows 8, 10, 11: run
irm https://get.activated.win | iex
...
Click to read more ...
记录乱七八糟的配置-debian
以下
仅为个人记录&翻查
工具
烧录 balenaEtcher
镜像下载
Current release only
https://cdimage.debian.org/debian-cd/
All downloads
https://cdimage.debian.org/cdimage/
禁用开机服务
sudo systemctl disable NetworkManager-wait-online.service 这个服务的作用是“等待网络完全就绪后再继续启动”,但大多数桌面用户并不需要它——系统可以在后台连接网络,无需阻塞启动流程。
sudo system...
Click to read more ...
常见高阶函数
[TOC]
函数
作用
返回类型
map
对集合中每个元素应用函数
新集合
reduce
将集合归约为一个值
单一值
filter
过滤集合中符合条件的元素
新集合
forEach
对每个元素执行操作,不返回新集合
无
zip
按索引组合多个集合
新集合
sort
对集合排序
原集合(排序...
Click to read more ...
svn笔记
文件集合
文件集合的作用是,给文件划入集合后,可以指定某集合为操作目标,而不用重复地传入文件
将文件YOUR_FILE划入集合YOU_CLNAME
svn changelist YOU_CLNAME YOUR_FILE
提交集合YOU_CLNAME下的文件
svn commit --changelistYOU_CLNAME
差异比较集合YOU_CLNAME下的文件
svn diff --changelist LISTNAME
基于diff以文件为单位的打包
在$YOUR_ROOTsvn工程,从$SRC_VERSION到$DST_VERSION的内容进行差异打包
svn diff -r $SRC_...
Click to read more ...