前言
Rust 编译器帮助我们避免了许多常见的内存安全和并发错误,但依然存在一些“坏味道”。这些坏味道不会直接导致编译错误,却可能意味着代码在可维护性、性能或抽象设计上存在问题。本文参考《重构》的风格,整理了常见的 Rust 坏味道及改进方式。
1 | #!/bin/bash |
本脚本由
ChatGPT辅助生成。
从网络下载视频数据,再进行本地 AI 分析,接着调用 LLM(ChatGPT、DeepSeek、Gemini、Qwen等) API,最后生成文档。
整个任务链涵盖了 IO 密集型、GPU 密集型、CPU+IO 混合型运算。
本文讲述了如何使用分布式计算框架 Ray 来满足需求。
| 方案 | 并发性 | 资源效率 | 备注 |
|---|---|---|---|
| 独立 placement group 每组绑定同一节点 | ❌ | ⭐⭐ | 安全、可控但排队严重(strategy=”PACK”) |
| Actor 保持节点定位 + 并发执行 | ✅ | ⭐⭐⭐ | 状态管理方便,适合流式任务或推理类任务 |
| 共享节点资源调度 + 同节点约束资源标签 | ✅ | ⭐⭐⭐⭐ | 灵活调度,但实现稍复杂 |
用常规编程语言绘制图表的工具非常多且功能强大,比如 matplotlib 就几乎能绘制所有类型的二维图表,甚至可以做一定程度的三维绘图。
但是,如果要使用 ChatGPT、DeepSeek、Qwen3 等 LLM 来一次性正确地生成绘制代码,声明式图表语言(Declarative Diagram Languages)可能是更好的选择。
再加上需从“对 Pandoc 友好”、“配置难度”等方面考虑,相较而言最合适的是 Mermaid。
| 语言/工具 | Pandoc 支持度 | Markdown 支持度 | 配置难度 | 适合场景 | 备注 |
|---|---|---|---|---|---|
| Mermaid | 通过过滤器(mermaid-filter)或 CLI | 高,许多 Markdown 编辑器原生支持 | 中,需安装 Node.js 和 mermaid-cli | 流程图、时序图、类图、甘特图 | 语法简洁,多图表类型,现代且广泛应用 |
| Graphviz DOT | 原生支持代码块 + pandoc-graphviz 过滤器 | 中,需插件或预先渲染图片嵌入 | 低,安装 graphviz 即可 | 复杂流程图、网络图、层次结构图 | 自动布局优良,图结构复杂时首选 |
| PlantUML | 通过 pandoc-plantuml 过滤器调用 Java | 中,部分 Markdown 编辑器支持插件 | 较高,需 Java 环境及 PlantUML | UML 建模(类图、时序图、用例图等) | 专业 UML 设计工具,适合软件设计文档 |
| WebSequenceDiagrams | 无原生支持,需手动生成图像插入 | 低,需插入生成的图片链接 | 低,在线使用即可 | 简单时序图,快速在线生成 | 依赖网络,适合临时绘图 |
| Ditaa | 通过 pandoc-ditaa 过滤器支持 | 低,需转换为图片插入 | 低,Java 环境,轻量 | ASCII 艺术风格简单流程图、小示意图 | 轻量快速,风格独特,适合纯文本环境 |

曾好几次尝试在 Hexo 中使用 hexo-math、hexo-renderer-markdown-it-plus 等包以支持 LaTeX 皆不成功,要么不行要么错乱。刚刚了解到如果使用 NexT 主题的话则不需要手工安装任何包。本文是一篇备忘录。
hexo: 7.0.0
hexo-theme-next: 7.8.0