文档构建:Sphinx全面使用指南 — 强化篇
文档构建:Sphinx全面使用指南 — 强化篇
Sphinx 是一款强大的文档生成工具,使用 reStructuredText 作为标记语言,通过扩展兼容 Markdown,支持 HTML、PDF、EPUB 等多种输出格式。它具备自动索引、代码高亮、跨语言支持等功能,通过扩展可集成更多特性,广泛用于项目文档生成。
文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。
目录
📖 基础篇 🔥
- 环境准备与安装
- Python 环境验证
- Sphinx 安装与核心依赖
- VS Code 开发环境配置
- Jupyter Lab 集成配置
- 项目初始化与目录结构
- 交互式项目创建
- 标准目录结构
conf.py
核心配置解析
- reStructuredText 基础语法
- 文档结构定义
- 代码块与交叉引用
- 表格与图像插入
📖 进阶篇 🔥
- 自动化文档生成
- autodoc 扩展配置
- Python 代码注释规范
- 自动生成 API 文档
- 批量生成命令
- 主题定制与样式优化
- 内置主题切换
- 自定义样式覆盖
- 多语言支持
- 多语言文档构建流程
- 扩展生态系统
- 官方扩展集成
- intersphinx 跨项目引用
- 自定义扩展开发
📖 实战篇 🔥
- 多格式输出实践
- HTML 生成与部署
- LaTeX/PDF 专业排版
- ePub 电子书生成
- 持续集成方案
- GitHub Actions 集成
- ReadTheDocs 托管配置
- 版本化文档管理
- 调试与优化
- 常见构建错误排查
- 构建性能优化
- 链接有效性验证
📖 强化篇 🔥
- Makefile 编译体系解析
- 标准编译流程剖析
- 高级编译控制参数
- 自定义构建任务开发
- 多环境构建配置
- MyST Markdown 处理
- 核心语法规范强化
- 复杂文档结构实现
- 混合文档工程实践
- 前端组件深度集成
- API 文档自动化
- 智能模块分组技术
- 私有成员过滤机制
- 继承关系可视化
- 自动化文档测试
- 中文 LaTeX 配置
- 字体配置
- 复杂表格
- 数学排版
- 页面布局
- 中文 ePub 配置
- 嵌入汉字字体
- 流式布局适配
- EPUB 3 语义增强
- 封面设计
- 质量验证流程
强化篇
10. Makefile 编译体系解析
10.1 标准编译流程剖析
查看内置编译目标 make help
# Minimal makefile for Sphinx documentation
## You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build# Put it first so that "make" without argument is like "make help".
help:@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O).PHONY: help Makefile# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
10.2 高级编译控制参数
# 覆盖默认构建参数(项目根目录执行)
make html SPHINXOPTS="-D language='zh_CN' -W --keep-going"# 多工作进程加速构建
make html SPHINXOPTS="sphinx-build -j auto"
10.3 自定义构建任务开发
在 Makefile
中,命令必须使用制表符(Tab
)进行缩进,而不是空格。
# 组合构建任务示例
.PHONY: all
all: html epub pdf# 带环境检查的安装任务
install:uv pip install -r requirements.txt@echo "Virtual environment prepared"# 自动化部署任务
deploy: htmlrsync -az _build/html/ user@server:/var/www/docs/@echo "Documentation deployed"# 交互式预览任务
preview: htmlpython -m http.server 8000 --directory _build/html
10.4 多环境构建配置
# 环境变量配置段
VENV_DIR ?= .venv
BUILD_MODE ?= dev# 条件编译配置
ifeq ($(BUILD_MODE),prod)SPHINXOPTS += -D html_theme_options.analytics_enabled=1
elseSPHINXOPTS += -D html_show_sourcelink=False
endif# 带环境切换的构建命令
prod:$(MAKE) html BUILD_MODE=prod
11. MyST Markdown 处理
11.1 核心语法规范强化
# 安装 linkify
uv pip install linkify-it-py# conf.py 配置
myst_enable_extensions = ["dollarmath", # LaTeX 数学公式支持"colon_fence", # 扩展代码块语法"linkify", # 自动识别URL为链接"substitution", # 变量替换功能
]# 自定义替换变量
myst_substitutions = {"version": "1.0.2","prodname": "AI Core Framework",
}
11.2 复杂文档结构实现
```{code-block} python
:linenos:
:emphasize-lines: 2
:name: sample_codedef main():print("Hello MyST!")
``````{note} 重要提示
:class: warning使用 {{prodname}} 时需注意**版本兼容性**,当前版本为 {{version}}
```| 特性 | 支持情况 |
|------------|---------------|
| 流程图 | ✅ 通过 mermaid |
| 三维可视化 | ⚠️ 部分支持 |
11.3 混合文档工程实践
# conf.py 混合解析配置
source_suffix = {'.rst': 'restructuredtext','.md': 'myst','.ipynb': 'myst-nb'
}# 交叉引用兼容配置
myst_ref_domains = ["std", "py"]
11.4 前端组件深度集成
{{< cards >}}{{< card title="实时预览" icon="media-play" >}}
支持边编写边预览文档效果
{{< /card >}}{{< card title="版本对比" icon="git-branch" >}}
内置文档差异对比工具
{{< /card >}}{{< /cards >}}
12. API 文档自动化
12.1 智能模块分组技术
# conf.py 配置模块聚类
def autodoc_process_groups(app, what, name, obj, options, lines):if 'math' in name:options['member_order'] = 'bysource'options['show_inheritance'] = Falsedef setup(app):app.connect('autodoc-process-docstring', autodoc_process_groups)# 分组生成命令
sphinx-apidoc -o source/api ../src \--separate \--templatedir=_templates \-H "API Reference" \-d 3
12.2 私有成员过滤机制
# conf.py 精准过滤配置
autodoc_default_options = {'private-members': False,'special-members': '__init__','exclude-members': '__weakref__, _PROTECTED'
}# 动态过滤回调
def skip_private(app, what, name, obj, skip, options):if name.startswith('_') and name not in ['__init__']:return Truereturn skipdef setup(app):app.connect('autodoc-skip-member', skip_private)
12.3 继承关系可视化
.. inheritance-diagram:: package.module.ClassName:parts: 2:top-classes: package.base.BaseClass:private-bases:
# conf.py 继承图配置
extensions.append('sphinx.ext.inheritance_diagram')
graphviz_output_format = 'svg'
inheritance_graph_attrs = {'rankdir': 'TB','ratio': 'compress'
}
12.4 自动化文档测试
# conf.py 集成测试用例
autodoc_default_options.update({'test': '>>> import mock_context\n>>> obj = mock_context.Sample()\n>>> obj.example(5)\n25'
})# 生成带测试用例的文档
.. autofunction:: package.module.function:test: >>> function(3) == 9
13. 中文 LaTeX 配置
13.1 字体配置
% 在 latex_elements 的 preamble 中添加
\usepackage{ctex}
\usepackage{fontspec}% 精确字体配置
\setmainfont{SimSun}[Path = /usr/share/fonts/win/,BoldFont = SimHei,ItalicFont = KaiTi
]\setsansfont{Microsoft YaHei}[AutoFakeSlant = 0.2
]% 数学字体适配
\usepackage{unicode-math}
\setmathfont{Cambria Math}[range={"0000-"FFFF}
]
13.2 复杂表格
% 跨页长表格配置
\usepackage{longtable}
\usepackage{booktabs}% 中文字符列宽自动计算
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}% 表格标题换行支持
\newcommand{\tabcaption}[1]{\caption{\small #1}}
13.3 数学排版
% 数学环境汉化配置
\renewcommand{\proofname}{\textbf{证明}}
\renewcommand{\figurename}{图}
\renewcommand{\tablename}{表}% 数学符号间距调整
\AtBeginDocument{\renewcommand{\leq}{\leqslant}\renewcommand{\geq}{\geqslant}\thinmuskip = 1.5mu\medmuskip = 2.5mu \thickmuskip = 4mu
}
13.4 页面布局
% 通过 latex_elements 配置
latex_elements = {'papersize': 'a4paper','pointsize': '11pt','fncychap': r'\usepackage[Sonny]{fncychap}','preamble': r'''\usepackage[top=2cm, bottom=2.5cm, left=3cm, right=2cm]{geometry}\usepackage{titlesec}\titleformat{\section}{\Large\heiti}{\thesection}{1em}{}''','maketitle': r'''\begin{titlepage}\centering\vspace*{2cm}{\Huge\heiti 中文技术文档\par}\vspace{3cm}{\Large\kaishu 作者:XXX\par}\end{titlepage}'''
}
14. 中文 ePub 配置
14.1 嵌入汉字字体
# conf.py 字体嵌入配置
epub_opf_files = [('_static/fonts/NotoSansSC.otf', 'application/vnd.ms-opentype'),('_static/fonts/NotoSerifSC.otf', 'application/vnd.ms-opentype')
]epub_css_files = ['custom.css']
/* 自定义字体声明 */
@font-face {font-family: "Noto Sans SC";src: url(../fonts/NotoSansSC.otf);font-weight: normal;
}body {font-family: "Noto Sans SC", sans-serif;line-height: 1.8;text-align: justify;
}
14.2 流式布局适配
/* 中文排版优化 */
p {text-indent: 2em;margin: 0;orphans: 2;widows: 2;
}h1, h2, h3 {page-break-after: avoid;
}/* 禁止标点溢出 */
.cjk-punctuation {line-break: strict;word-break: keep-all;
}
14.3 EPUB 3 语义增强
# conf.py 高级元数据配置
epub_metadata_description = '人工智能核心技术手册'
epub_metadata_contributor = '技术文档团队'
epub_metadata_cover = ('_static/cover.xhtml', 'cover.xhtml')# 语义增强扩展
epub3_description = {'schema:accessMode': 'textual','schema:accessibilityFeature': 'structuralNavigation'
}
14.4 封面设计
<!-- _static/cover.xhtml -->
<?xml version='1.0' encoding='utf-8'?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>封面</title><meta charset="utf-8" /></head><body><div style="text-align: center; margin-top: 20%"><svg xmlns="http://www.w3.org/2000/svg" width="80%" viewBox="0 0 800 400"><rect width="100%" height="100%" fill="#2c3e50"/><text x="50%" y="50%" font-family="Noto Sans SC" font-size="48" fill="#ecf0f1" text-anchor="middle">人工智能核心框架</text></svg></div></body>
</html>
14.5 质量验证流程
# 生成后验证命令
epubcheck _build/epub/*.epub# 中文排版检查项
jq -r '.messages[] | select(.message | contains("HYPHENATION"))' \_build/epub/validation.json
相关文章:
文档构建:Sphinx全面使用指南 — 强化篇
文档构建:Sphinx全面使用指南 — 强化篇 Sphinx 是一款强大的文档生成工具,使用 reStructuredText 作为标记语言,通过扩展兼容 Markdown,支持 HTML、PDF、EPUB 等多种输出格式。它具备自动索引、代码高亮、跨语言支持等功能&#…...
Laravel 自定义 Artisan 命令行
1.什么是Artisan 命令行 Artisan 是 Laravel 中自带的命令行接口。Artisan 以 artisan 脚本的方式存在于应用的根目录中,提供了许多有用的命令。 查看所有命令行 php artisan list系统自带我很多的命令,大家可以自己去试一下,例如…...
node.js 实战——(fs模块 知识点学习)
fs 模块 也可以称之为文件系统模块,是node中的内置模块,可以实现与硬盘的交互。比如文件的创建、删除、重命名、移动,还有文件内容的写入、读取,以及文件夹的相关操作 #mermaid-svg-NAByzqTngZUOyQcY {font-family:"trebuch…...
openharmony5.0.0中C++公共基础类测试-线程相关(一)
C公共基础类测试及源码剖析 延续传统,show me the code,除了给出应用示例还重点分析了下openharmony中的实现。 简介 openharmony中提供了C公共基础类库,为标准系统提供了一些常用的C开发工具类,本文分析其实现,并给…...
前缀和相似题共赏
P3131 [USACO16JAN] Subsequences Summing to Sevens S P3131 [USACO16JAN] Subsequences Summing to Sevens S 思路: 一看到区间和我们应该就能马上想到把这个区间拆分成两个前缀相减的形式 式子为:(Pre[r] - Pre[l-1]) % 7 0 Pre[r] % 7 Pre[l-1] % 7 Pre[r] Pre[l-1] 所…...
一文读懂https
http和https的关系 http,应用层协议,由于采用明文传输,不安全,还有很多其他安全问题,为此就衍生出了同为应用层协议的https。https在http的基础上引入了SSL(Secure Socket Layer 安全套接层)和…...
为什么 requests 不是 python 标准库?
为什么 requests 不是 python 标准库? requests开发者Kenneth之前还严肃地征求过这个意见,感兴趣的可以看看 https://github.com/psf/requests/issues/2424 我大致瞅了下,基本都不赞成requests加入python标准库,主要有以下两个原…...
[STM32] 4-1 UART与串口通信
文章目录 前言4-1 UART与串口通信串口简介串口接线 数据帧串口的数据帧格式空闲位起始位数据位校验位(位于数据位内部)奇偶校验 停止位 异步通信和波特率同步通信异步通信波特率 流控的概念串口流控的工作原理 随堂测试问题1:说出Tx、Rx、CTS、RTS、VCC、…...
7-1 三种语言的单词转换
编写程序实现:首先从键盘输入若干个中文与英文单词的偶对,以空行作结束标记;再输入若干个英文与丹麦文单词的偶对,以空行作结束标记。然后输入一个中文单词,输出对应的丹麦文单词;若不存在该单词࿰…...
高防IP是什么
"高防IP"是指"高防护IP",是一种防御DDoS(分布式拒绝服务攻击)的网络安全服务。在分布式拒绝服务攻击中,攻击者会利用许多不同的计算机或者其他设备,通过向目标发送大量的网络请求来尝试使目标服务…...
基于javaweb的SSM宠物商城设计与实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...
《TCP/IP详解 卷1:协议》之第六章:ICMP:Internet控制报文协议
目录 一、ICMP协议 二、ICMP 报文格式 三、ICMP询问报文 四、ICMP 差错报告报文 五、ICMP端口不可达差错 一、ICMP协议 ICMP(Internet Control Message Protocol,互联网控制消息协议)是网络层的一个核心协议,用于在IP主机、…...
SpringBoot项目,密码加密之“BCrypt加密”
前言 这种方法,是当前推荐的密码加密方式。(现在不推荐使用MD5加密了)。 如何在springboot项目中,使用bcrypt加密?请分步骤详细介绍一下 一.在Spring Boot项目中使用BCrypt加密的详细步骤 BCrypt是当前推荐用于密码存…...
外贸获客新革命:基于AI的搜索引擎排名攻防战——48小时抢占谷歌TOP3的技术逻辑与实战路径
一、传统SEO的三大死亡陷阱(为什么你的客户正在被AI截流?) 关键词荒漠化 人工筛选关键词效率不足1%,95%的B2B采购商使用长尾词搜索(如"IP68 waterproof LED strip for outdoor projects")而非通…...
0101基础知识-区块链-web3
文章目录 1 web3学习路线2 区块链简史2.1 区块链2.2 公共账本2.3 区块链的设计哲学2.3.1 去中心化2.3.2 共识2.3.2.1 上链2.3.2.2 共识算法 3 web3面向资产的互联网3.1 安全性和去中心化的权衡 4 智能合约4.1 以太坊智能合约4.2 去中心化应用 5 小结结语 1 web3学习路线 参考下…...
SpringMVC从入门到上手-全面讲解SpringMVC的使用.
一、springmvc介绍 MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分: Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中&…...
解锁现代生活健康密码,开启养生新方式
在科技飞速发展的当下,我们享受着便捷生活,却也面临诸多健康隐患。想要维持良好状态,不妨从这些细节入手,解锁科学养生之道。 肠道是人体重要的消化器官,也是最大的免疫器官,养护肠道至关重要。日常可多…...
绿色森林人文生活纪实摄影Lr调色教程,手机滤镜PS+Lightroom预设下载!
调色介绍 绿色森林人文生活纪实摄影 Lr 调色,是借助 Lightroom 软件,对以绿色森林为背景,记录人文生活场景的纪实摄影作品进行后期调色处理。通过调整画面的色彩、光影、对比度等参数,让画面融入绿色森林的独特氛围,真…...
【项目篇】仿照RabbitMQ模拟实现消息队列
大家好呀 我是浪前 项目篇:仿照RabbitMQ模拟实现消息队列 今天是项目的第一篇,我们先来创建出最核心的几个类。 仿照RabbitMQ模拟实现消息队列 创建Exchange类MessageQueue类Binding类Message类1:BasicProperties类2:正文部分3&a…...
JAVA程序获取SVN提交记录
1.获取文件提交记录 private String userName "userName "; //svn账号 private String password "password "; //svn密码 private String urlString "urlString "; //svnurl 换成自己对应的svn信息 package com.tengzhi.common.dao;import…...
从检索到生成:RAG 如何重构大模型的知识边界?
目录 一、技术演进图谱说明 二、RAG 技术概述 (一)核心思想说明 (二)RAG 发展路径与研究范式 三、Naive RAG:最基础的检索增强生成范式 (一)Naive RAG 的标准流程 1. 索引(In…...
rabbitmq-spring-boot-start版本优化升级
文章目录 1.前言2.优化升级内容3.依赖4.使用4.1发送消息代码示例4.2消费监听代码示例4.3 brock中的消息 5.RabbmitMq的MessageConverter消息转换器5.1默认行为5.2JDK 序列化的缺点5.3使用 JSON 进行序列化 6.总结 1.前言 由于之前手写了一个好用的rabbitmq-spring-boot-start启…...
SVN仓库突然没有权限访问
如果svn仓库突然出现无法访问的情况,提示没有权限,所有账号都是如此,新创建的账号也不行。 并且会突然提示要输入账号密码。 出现这个情况时,大概率库里面的文件有http或者https的字样,因为单独给该文件添加权限导致…...
vue实现静默打印pdf
浏览器中想要打印文件,不依靠浏览器自带的打印窗口,想要实现静默打印(也就是不弹出打印对话框),同时控制打印份数的功能,一种方式是使用vue-plugin-hiprint和本地安装客户端electron-hiprint 本来是浏览器去…...
如何开启远程桌面连接外网访问?异地远程控制内网主机
实现远程桌面连接外网访问,能够突破地域限制,随时随地访问远程计算机,满足远程办公、技术支持等多种需求。下面为你详细介绍开启方法。 一、联网条件 确保本地计算机和远程计算机都有稳定的网络连接,有联网能上网。 二、开启远程…...
数据结构与算法学习笔记(Acwing提高课)----动态规划·数字三角形
数据结构与算法学习笔记----动态规划数字三角形 author: 明月清了个风 first publish time: 2025.4.23 ps⭐️终于开始提高课的题啦,借的人家的号看,以后给y总补票叭,提高课的题比之前的多很多啊哈哈哈哈,基本上每种题型都对应了…...
RK3568平台开发系列讲解(调试篇)debugfs文件系统及常见调试节点介绍
更多内容可以加入Linux系统知识库套餐(教程+视频+答疑) 🚀返回专栏总目录 文章目录 一、什么是debugfs二、/proc/filesystems三、debugfs的挂载3.1、fstab 的文件结构3.2、手动挂载与卸载四、debugfs 常见目录有哪些4.1、/sys/kernel/debug/gpio4.2、/sys/kernel/debug/…...
数字化转型避坑指南:中钧科技如何用“四个锚点”破解转型深水区
数字化转型浪潮下,企业常陷入四大典型陷阱:跟风式投入、数据沼泽化、流程伪在线、安全裸奔化。中钧科技旗下产品以“经营帮”平台为核心,通过针对性方案帮助企业绕开深坑。 陷阱一:盲目跟风,为数字化而数字化 许…...
数字化转型下的批发订货系统:降本增效的关键路径
随着数字化转型的不断深入,越来越多的企业开始拥抱现代化的技术和工具,以提升业务效率、降低运营成本。批发行业,作为一个高度依赖库存和订单管理的行业,数字化转型尤为关键。传统的批发订货系统存在信息不对称、操作复杂、效率低…...
一 、环境的安装 Anaconda + Pycharm + PaddlePaddle
《从零到一实践:系统性学习生成式 AI(NLP)》 一 、环境的安装 Anaconda Pycharm PaddlePaddle 1. Anaconda 软件安装 Anaconda 软件安装有大量的教程,此处不在说明,安装完成之后界面如下: 2. 创建 Anaconda 虚拟环境 Paddl…...
Dhtmlx Gantt教程
想实现的效果 插件安装: npm i dhtmlx-gantt使用该插件的时候,直接导入包和对应的样式即可: import { Gantt} from "dhtmlx-gantt"; import "dhtmlx-gantt/codebase/dhtmlxgantt.css";也可以安装试用版本,…...
大模型框架技术全景与下一代架构演进
一、大模型框架概述 大模型框架是支撑千亿级参数模型训练、推理及产业落地的技术底座,涵盖分布式计算、高效内存管理、多模态融合等核心模块。从GPT-3到Gemini Ultra,大模型框架的迭代推动AI从“作坊式实验”迈向“工业化生产”。据Gartner预测&a…...
官方不存在tomcat10-maven-plugin插件
Maven 中央仓库中没有官方的tomcat10-maven-plugin。Apache Tomcat Maven 插件项目目前仅对以下插件提供官方支持: tomcat6-maven-plugin tomcat7-maven-plugin tomcat8-maven-plugin tomcat9-maven-plugin 如果你想使用 cargo 命令来跑支持 Jakarta EE 的 Tomcat 1…...
vue3 el-table 右击
在 Vue 3 中使用 Element Plus 的 <el-table> 组件时,如果你想实现右击(右键点击)事件的处理,你可以通过监听 contextmenu 事件来实现。contextmenu 事件在用户尝试打开上下文菜单(通常是右键点击)时…...
第一节:核心概念高频题-Vue3响应式原理与Vue2的区别
Vue2:基于Object.defineProperty监听对象属性,需手动处理数组方法重写 Vue3:采用Proxy代理实现全量响应式,支持动态新增属性和深层嵌套对象监听 一、实现机制对比 1. Vue2:基于 Object.defineProperty • 原理&#…...
【锂电池剩余寿命预测】CNN卷积神经网络锂电池剩余寿命预测(Pytorch完整源码和数据)
目录 效果一览程序获取程序内容代码分享效果一览 程序获取 获取方式一:文章顶部资源处直接下载:...
web刷题笔记
2024isctf ezrce 禁用了一些关键字符,查询函数,系统执行函数,执行函数都有,空格也和斜杆也禁用了,但是其他一些很大一部分字符都没有禁用,属于关键词禁用的类型,正常的步骤是去查一下列表&#…...
基于FPGA 和DSP 的高性能6U VPX 采集处理板
基于FPGA 和DSP 的高性能6U VPX 采集处理板,是一款处理架构采用FPGADSP 的高性能的6U VPX 采集处理板。板载4 片高速ADC 共8 个采集通道,可支持8 路采样率最高2.6Gsps/14Bit 的模拟信号通道。 板卡FPGA 采用Xilinx 公司KU 系列的XCKU115-2FLVF1924I&…...
uniapp中使用<cover-view>标签
文章背景: uniapp中遇到了原生组件(canvas)优先级过高覆盖vant组件 解决办法: 使用<cover-view>标签 踩坑: 我想实现的是一个vant组件库中动作面板的效果,能够从底部弹出框,让用户进行选择,我直…...
【JavaScript】详讲运算符--算术运算符
1、运算符简介 运算符也叫操作符,通过运算符可以对一个或多个值进行运算,比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回,即:typeof 变量名的结果为字符串类型。 <…...
.NET 6 + Dapper + User-Defined Table Type
大家都知道,对于SQL Server IN是有限制条件的,如果IN里面的内容过多,在执行的时候会被自动截断,因而导致查询到的结果不是实际需要的结果。 select * from Payments where Id in (1,2,3,4,...) 为了解决上面的限制,可以…...
使用 Conda 创建新环境
使用 Conda 创建新环境 在使用 Conda 进行包管理和环境隔离时,创建新环境是一个非常常见的操作。通过创建独立的环境,可以避免不同项目之间的依赖冲突,并且能够灵活地管理各个项目的运行环境。 以下是使用 Conda 创建和管理新环境的详细步骤…...
数据为基:机器学习中数值与分类数据的处理艺术及泛化实践
数据为基:机器学习中数值与分类数据的处理艺术及泛化实践 摘要 在机器学习实践中,数据质量对模型效果的影响往往超过算法选择。本文通过详实的案例解析,系统阐述数值型数据与分类数据的特征工程处理方法,揭示数据预处理对模型泛…...
Docker镜像与容器概念解析
Docker镜像与容器概念解析 -更适合大学生宝宝体制的docker学习指南 一、Docker镜像:应用程序的基因库 (1)本质特征:镜像是一个只读的二进制文件包,相当于应用程序的”基因图谱”。就像生物体的DNA决定了生物特征&a…...
基于GMM的语音识别
语音识别是近年来发展非常迅速的一项计算机智能技术,广泛应用在语音控制、身份识别等多个领域。本次项目主要研究语音识别的预处理过程和特征参数的提取环节。通过对原始语音信号进行预加重和分帧、加窗,滤除低频干扰,提升对语音识别有用的部…...
K8S安全认证
一。用户认证的基本框架 在K8S集群中,客户端通常有两类: 1.User Account:一般独立于K8S之外的其他服务管理的用过户账号 2.Service Account:K8S管理的账号,用于为Pod中的服务进程在访问K8S提供身份标识 ApiServer是…...
咖啡机语音芯片方案-WTN6040FP-14S直接驱动4欧/3W喇叭-大功率输出
一、开发背景 随着智能家居市场的快速发展和消费者对家电产品交互体验要求的不断提高,语音提示功能已成为现代咖啡机产品的重要卖点之一。传统咖啡机仅依靠指示灯和简单蜂鸣器提示,无法满足用户对操作引导、状态反馈和个性化体验的需求。 WTN6040FP-14大…...
Vue3集成百度实时语音识别
示例 SpeechRecognitionModal.vue 组件 <template><transition name"modal-fade"><div v-if"isOpen" class"modal-overlay" click.self"handleOverlayClick"><div class"modal-container"><div…...
C# 设计原则总结
跟着视频学习的,记录一下最后的总结。 接口隔离: 单一职责: 里氏替换: 依赖倒置; 迪米特法则; 开闭原则:...
zkPass案例实战之合约篇
目录 一、contracts/contracts/ProofVerifier.sol 1. License 和 Solidity 版本 2. 导入依赖 3. 合约声明和默认分配器地址 4. 验证证明 5. 验证分配器签名 6. 验证验证者签名 7. 签名前缀处理 8. 签名恢复 总结 二、contracts/contracts/SampleAttestation.sol 1. …...