GaGa's Blog

One GaGa, One World !

定位差异

维度 Make CMake
本质 通用构建工具(执行你写的规则) 构建系统生成器(生成 Makefile/VS工程/Ninja文件)
历史 1976,Unix 传统 2001,跨平台元构建工具
脚本语言 类 shell 的 make 规则 CMakeLists.txt(类 Lisp 宏)
跨平台 弱(依赖 GNU make、POSIX 工具链) 强(一次编写,生成 Linux/macOS/Windows 构建文件)
学习成本 低(但写复杂依赖很痛苦) 中等(语法简单但概念多:target、property、generator)

核心能力对比

能力 Make CMake
增量构建 手维护依赖(或用生成脚本) 自动处理 + 自动依赖扫描
依赖管理 手动/脚本解决(pkg-config) find_package() 找系统包,ExternalProject/FetchContent 拉外部源码
第三方库 自己写链接规则 find_library/Findxxx.cmake 模块,包配置(.pc、.cmake 文件)
多配置 不原生支持 Release/Debug 切换 原生
Read more »

chpasswd 是 passwd 的非交互版本:passwd 要人手敲两次确认,chpasswd 从标准输入读 用户名:密码 直接改完。它是批量建用户/改密码场景的核心工具。


1.基本用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 语法
chpasswd [选项] < 用户密码文件

# 最基础: 单条(手工管道)
echo "gaga:Passw0rd123" | chpasswd
sudo -u gaga ls /home # 验证密码生效

# 多条: 批量
cat users.txt
# alice:Al1ce@2024
# bob:Bo2b@2024
# carol:Ca3rol@2024

chpasswd < users.txt
# 三个用户密码一次性改完, 全程无交互
Read more »

llm-d 是一个专为 Kubernetes 和现代 AI 加速芯片(如 NVIDIA GPU、AMD ROCm 等)设计的高性能分布式大语言模型(LLM)推理服务栈。该项目是 CNCF(云原生计算基金会)Sandbox 项目,它运行在底层模型推理引擎(如 vLLM、SGLang)之上,负责更大规模、高吞吐的集群调度与编排优化。


核心功能与特性

Read more »

FreeCORE=TrueNAS CORE 13.3的社区/独立分支+FreeBSD 15+OpenZFS,并继续维护NAS系统。它的项目定位非常明确:TrueNAS CORE上游停止继续发展后,FreeCORE接过了这条技术路线。项目官方给出的演进关系是:FreeNAS→TrueNAS→FreeCORE


1.出现背景

Read more »

terms聚合

要查completed_product_xxx索引里product_id重复的数据,用ES DSL可以直接用terms聚合:

1
2
3
4
5
6
7
8
9
10
11
12
13
GET /completed_product_xxx/_search
{
"size": 0,
"aggs": {
"duplicate_product_ids": {
"terms": {
"field": "product_id",
"min_doc_count": 2,
"size": 10000
}
}
}
}

这里的size:10000不是查询文档数量10000,而是控制terms聚合最终返回多少个product_id桶。

Read more »

主要症状是耳朵疼,仅凭这一点还不能确定是不是中耳炎。

判断几个关键点

症状 更需要考虑
耳朵深处疼,伴耳闷、听力下降,近期感冒 急性中耳炎
耳道一碰就很疼,拉耳朵或按耳屏明显疼 外耳道炎
耳痛+发烧 感染性炎症可能性增加
耳痛+流脓/流水 需要尽快耳鼻喉科检查
耳痛同时牙痛、咽痛 疼痛可能来自牙齿或咽喉的牵涉痛

request_cache 是指对一次完整 Request 的结果做缓存,它和传统的 数据缓存(data cache) 有一个本质区别:

**数据缓存缓存的是数据;request_cache缓存的是请求 → 响应结果。特别适合微服务、API Gateway、LLM、搜索、推荐、复杂查询等场景。


1. Request Cache是什么

Read more »

缓存预热(Cache Warming),本质上是:

在流量真正到达之前,把未来会被访问的数据提前放进缓存,从而避免冷启动时大量请求直接打到数据库或下游服务。


1.为什么需要缓存预热

Read more »

Apache Storm本质上是一个分布式流式计算引擎:持续接收无界数据流,实时完成过滤、转换、聚合、Join、状态计算,并把结果写入下游系统。官方目前文档对应 Storm 3.0.0。


1. 核心架构流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Kafka / MQ / 日志 / CDC
│
▼
Spout
│
▼
┌─────────────┐
│ Bolt │ ← 清洗 / 转换
└─────────────┘
│
▼
┌─────────────┐
│ Bolt │ ← 聚合 / Join / 规则
└─────────────┘
│
▼
Redis / MySQL / HBase / ES / Kafka / HDFS
Read more »

p5.js是一个基于JavaScript的创意编程库,主要用于让你更容易地用代码做出:

  • 🎨 交互艺术、数字艺术
  • 📊 数据可视化
  • 🎮 简单的网页游戏
  • 🌐 互动网页
  • 🌀 动画、粒子系统、视觉特效
  • 🎵 音频可视化

它的核心思想很简单:

把写程序变成用代码画东西、动东西、和东西互动

Read more »

Apache Hive 是一个面向大规模数据的SQL数据仓库系统。它把分布式存储中的文件组织成表,并允许用户通过SQL完成数据查询、汇总和分析。Hive 的核心价值是:用接近传统数据库的 SQL,处理传统数据库难以承载的海量数据。

Hive 负责”怎么定义、怎么查、怎么管理海量数据”,底层存储和计算则由其他系统承担。


1. Hive架构

Read more »
0%