前言
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