Ansible常用Ad-Hoc 命令
1.配置sshpass
yum install sshpass -y
ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" # ssh-keygen密钥生成工具 -t密钥类型为dsa -f指定生成的密钥文件的路径。 -P:指定私钥的密码。
for i in `seq 128 130`; do sshpass -p'123456' ssh-copy-id -i ~/.ssh/id_dsa.pub -o StrictHostKeyChecking=no -p22 root@192.168.80.$i;done
sshpass -p’123456’ 指定密码。
ssh-copy-id -i ~/.ssh/id_dsa.pub 将本地用户的 SSH 公钥复制到远程主机的 ~/.ssh/authorized_keys 文件中,从而实现免密登录。
-o StrictHostKeyChecking=no SSH 选项,禁用主机密钥检查。
2.添加主机清单
主机清单文件定义了 Ansible 管理的目标主机。
默认位置为 /etc/ansible/hosts。
[k8scluster]
192.168.80.128
192.168.80.129
192.168.80.130
3.常用参数说明
1.ansible 命令参数
用于直接执行 Ad-Hoc 任务。
-m <模块名> 指定使用的模块(如 ping, shell, copy)。
ansible all -m ping
-a “<参数>” 传递模块的参数(格式为 key=value)。
ansible webservers -m command -a "uptime"
-i <路径> 指定自定义库存文件(Inventory)。
ansible all -i hosts.cfg -m ping
-u <用户名> 指定远程 SSH 用户。
ansible all -u admin -m ping
-b 提权(如 sudo)。
ansible all -b -m apt -a "name=nginx"
–become-user 提权后的用户(默认 root)。
ansible all -b --become-user=admin
–private-key 指定 SSH 私钥路径。
ansible all --private-key=~/.ssh/id_rsa
-v / -vvv 输出详细日志(-v 到 -vvvv 详细度递增)。
ansible all -vvv -m ping
–limit 限制执行的主机(支持模式匹配)。
ansible all --limit "web[01:03]"
–check 模拟运行(不实际执行)。
ansible all -m command -a "reboot" --check
-become
–become 参数用于启用权限提升功能。这意味着 Ansible 将以更高的权限(通常是 root 用户)执行指定的命令。这在需要对系统进行管理操作(如重启)时非常有用。
–ask-become-pass 参数会提示用户输入权限提升所需的密码。
ansible webservers -m command -a "/sbin/reboot" --become --ask-become-pass
2.ansible-playbook 命令参数
Playbook 是 Ansible 的配置、部署和编排语言,用于定义任务序列。
参数 | 说明 |
---|---|
-h, --help | 显示帮助信息并退出。 |
-i INVENTORY, --inventory INVENTORY | 指定库存文件或路径,默认为 /etc/ansible/hosts 。 |
-l SUBSET, --limit SUBSET | 进一步限制所选主机为附加的模式。 |
-u REMOTE_USER, --user REMOTE_USER | 以该用户身份连接,默认为 None 。 |
-k, --ask-pass | 询问连接密码。 |
-K, --ask-become-pass | 请求权限提升密码。 |
--become-method BECOME_METHOD | 指定权限提升方法,默认为 sudo 。 |
--become-user BECOME_USER | 指定权限提升后使用的用户,默认为 root 。 |
-c CONNECTION, --connection CONNECTION | 指定连接类型,默认为 ssh 。 |
-e EXTRA_VARS, --extra-vars EXTRA_VARS | 指定额外变量,格式为 key=value 或 YAML/JSON 文件路径。 |
-f FORKS, --forks FORKS | 指定并行任务数,默认为 5。 |
-v, --verbose | 增加输出的详细程度,可多次指定以提高详细级别。 |
-C, --check | 不进行任何更改;而是尝试预测可能发生的一些更改。 |
--diff | 在更改文件时,显示这些文件中的差异。 |
--list-hosts | 输出匹配主机的列表,不执行任何其他操作。 |
--list-tasks | 列出 Playbook 中的所有任务。 |
--list-tags | 列出 Playbook 中的所有标签。 |
-t TAGS, --tags TAGS | 仅运行带有这些标签的任务。 |
--skip-tags SKIP_TAGS | 跳过带有这些标签的任务。 |
--start-at-task START_AT_TASK | 从指定任务开始执行 Playbook。 |
--step | 一次一步:在运行每个任务之前确认。 |
--syntax-check | 检查 Playbook 中的语法书写。 |
--vault-id VAULT_IDS | 指定 Vault 身份。 |
--vault-password-file | 指定 Vault 密码文件。 |
--playbook-dir BASEDIR | 指定替代的 playbook 目录。 |
示例:
执行 Playbook:
ansible-playbook site.yml
指定库存文件:
ansible-playbook site.yml -i hosts
限制主机范围:
ansible-playbook site.yml -i hosts -l webserver
指定连接用户:
ansible-playbook site.yml -i hosts -u ansible_user
请求权限提升密码:
ansible-playbook site.yml -i hosts -K
指定额外变量:
ansible-playbook site.yml -i hosts -e "ansible_user=root"
模拟运行 Playbook:
ansible-playbook site.yml -i hosts -C
仅运行带有特定标签的任务:
ansible-playbook site.yml -i hosts -t mytag
–syntax-check 检查 Playbook 语法。
ansible-playbook site.yml --syntax-check
–list-tasks 列出 Playbook 中的任务。
ansible-playbook site.yml --list-tasks
–list-tags 列出 Playbook 中的标签。
ansible-playbook site.yml --list-tags
–tags <标签> 仅执行指定标签的任务。
ansible-playbook site.yml --tags "deploy,config"
–skip-tags 跳过指定标签的任务。
ansible-playbook site.yml --skip-tags "test"
–start-at-task 从指定任务开始执行。
ansible-playbook site.yml --start-at-task "Install Nginx"
–step 逐步确认每个任务是否执行。
ansible-playbook site.yml --step
–diff 显示文件变更的差异(需模块支持)。
ansible-playbook site.yml --diff
3.ansible-galaxy 命令参数
用于管理 Roles。
init 初始化一个 Role 目录结构。
ansible-galaxy init my_role
install 从 Galaxy 或 Git 安装 Role。
ansible-galaxy install geerlingguy.nginx
list 列出已安装的 Roles。
ansible-galaxy list
remove 删除已安装的 Role。
ansible-galaxy remove geerlingguy.nginx
search 搜索 Galaxy 中的 Roles。
ansible-galaxy search "nginx"
4.ansible-doc常用参数
使用示例
查看所有模块:
ansible-doc -l
查看特定模块的文档:
ansible-doc <module_name>
例如,查看 copy 模块的详细文档:
ansible-doc copy
显示模块的示例用法:
ansible-doc -s <module_name>
例如,查看 copy 模块的示例用法:
ansible-doc -s copy
按类型过滤模块:
ansible-doc -t <type>
例如,列出所有文件操作相关的模块:
ansible-doc -t file
以 JSON 格式输出模块信息:
ansible-doc -j <module_name>
例如,以 JSON 格式输出 ping 模块的信息:
ansible-doc -j ping
增加输出的详细程度:
ansible-doc -v <module_name>
ansible-doc -vvv ping
5.ansible-pull常用参数
ansible-pull 是 Ansible 的一个命令行工具,用于从版本控制系统(VCS)仓库拉取 playbook,并在目标主机上执行。它将 Ansible 的默认推式架构转换为拉式架构,适用于大规模主机配置管理
使用示例
以下是一个使用 ansible-pull 的示例,从 Git 仓库拉取 playbook 并执行:
ansible-pull -U https://github.com/your-repo/ansible-playbooks.git -d /opt/ansible-playbooks -i hosts -v playbook.yml
注意事项
ansible-pull 通常与 crontab 配合使用,以定期执行 playbook。
确保目标主机上安装了必要的 VCS 工具(如 Git)。
使用 --ask-vault-pass 或 --vault-password-file 管理敏感信息。
6.ansible-config命令常用参数
用于查看和管理 Ansible 的配置文件
常用参数
参数 | 说明 |
---|---|
-h, --help | 显示帮助信息并退出。 |
--version | 显示程序的版本号、配置文件位置、配置的模块搜索路径、模块位置、可执行文件位置并退出。 |
-v, --verbose | 增加输出的详细程度,可多次指定以提高详细级别。 |
list | 列出并输出可用的配置选项。 |
dump | 显示当前的配置设置,如果有指定则合并 ansible.cfg 文件中的配置。 |
view | 显示当前的配置文件内容。 |
init | 创建初始配置文件。 |
操作选项 | |
参数 | 说明 |
-------------------------------- | --------------------------- |
-c, --config | 指定配置文件的路径,默认为在优先级中找到的第一个文件。 |
-t, --type | 筛选到某个指定的插件类型。 |
--format | 指定输出格式。 |
--only-changed, --changed-only | 仅显示与默认配置不同的配置。 |
--disabled | 在所有条目前添加注释字符,以禁用它们。 |
使用示例 | |
列出所有可用的配置选项: |
ansible-config list
显示当前的配置设置:
ansible-config dump
显示当前的配置文件内容:
ansible-config view
创建初始配置文件:
ansible-config init
仅显示已更改的配置:
ansible-config dump --only-changed
指定配置文件路径:
ansible-config view -c /path/to/ansible.cfg
注意事项
Ansible 配置文件的优先级顺序为:环境变量 ANSIBLE_CONFIG > 当前目录的 ansible.cfg > 用户主目录的 .ansible.cfg > /etc/ansible/ansible.cfg。
7.ansible-connection常用参数
ansible-connection是 Ansible 中用于指定连接方式的一个参数。它通常用于定义 Ansible 如何与目标主机建立连接。
常用连接参数
参数 | 说明 |
---|---|
ansible_connection | 指定连接类型,如 ssh 、winrm 、local 等。 |
ansible_host | 目标主机的 IP 地址或主机名,如果与清单中的主机名不同。 |
ansible_port | SSH 端口号,默认为 22。 |
ansible_user | 用于登录的默认用户名。 |
ansible_ssh_private_key_file | 指定 SSH 私钥文件路径。 |
ansible_password | SSH 登录密码(不推荐,建议使用密钥认证)。 |
ansible_ssh_common_args | 为 SSH 连接指定通用参数,例如通过跳板机连接时使用。 |
示例: | |
在命令行中指定连接类型 |
ansible -i inventory.ini -m ping all -c ssh
-c 指定使用ssh连接。
在清单文件中指定连接参数
[webservers]
web1 ansible_host=192.168.1.10 ansible_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa
web2 ansible_host=192.168.1.11 ansible_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa
ansible_host 指定目标主机的实际 IP 地址。
ansible_user 指定用于连接的用户名。
ansible_ssh_private_key_file 指定私钥文件路径。
在 Playbook 中指定连接参数
- hosts: webserversremote_user: ubuntuconnection: sshtasks:- name: 验证系统信息command: uname -a
remote_user 指定远程主机的用户名。
connection 指定连接类型。
8.ansible-console命令常用参数
ansible-console 是 Ansible 提供的一个交互式命令行工具,用于执行 Ansible 任务和模块。
参数 | 说明 |
---|---|
-h, --help | 显示帮助信息并退出。 |
-v, --verbose | 增加输出的详细程度,可多次指定以提高详细级别。 |
-i INVENTORY, --inventory INVENTORY | 指定库存主机路径或逗号分隔的主机列表,默认为 /etc/ansible/hosts 。 |
-l SUBSET, --limit SUBSET | 进一步限制所选主机为附加的模式。 |
-u REMOTE_USER, --user REMOTE_USER | 以该用户身份连接,默认为 None 。 |
-k, --ask-pass | 询问连接密码。 |
-K, --ask-become-pass | 请求权限提升密码。 |
--become-method BECOME_METHOD | 要使用的权限提升方法,默认为 sudo 。 |
--become-user BECOME_USER | 以此用户身份运行操作,默认为 root 。 |
-c CONNECTION, --connection CONNECTION | 要使用的连接类型,默认为 ssh 。 |
--private-key PRIVATE_KEY_FILE, --key-file PRIVATE_KEY_FILE | 使用此文件来验证连接。 |
--ssh-common-args SSH_COMMON_ARGS | 指定传递给 sftp/scp/ssh 的通用参数。 |
--step | 一次一步:在运行每个任务之前确认。 |
--syntax-check | 检查 Playbook 中的语法书写。 |
--vault-id VAULT_IDS | 指定 Vault 身份。 |
--vault-password-file | 指定 Vault 密码文件。 |
--list-hosts | 输出匹配主机的列表,不执行任何其他操作。 |
--playbook-dir BASEDIR | 指定替代的 playbook 目录。 |
-M MODULE_PATH, --module-path MODULE_PATH | 指定模块路径。 |
-f FORKS, --forks FORKS | 指定并行任务数,默认为 5。 |
-C, --check | 不进行任何更改;而是尝试预测可能发生的一些更改。 |
-D, --diff | 在更改文件时,显示这些文件中的差异。 |
示例:
启动 ansible-console 并连接到特定主机:
ansible-console -i inventory.ini -u ansible_user -k
-i inventory.ini:指定库存文件。
-u ansible_user:指定连接用户。
-k:提示输入连接密码。
使用 --become 提权:
ansible-console --become --become-user root
–become:激活权限提升。
–become-user root:以 root 用户身份运行操作。
使用 --check 模拟执行:
ansible-console -C
-C:模拟执行,不会真正在机器上执行。
9.ansible-inventory命令常用参数
用于管理和查询 Ansible 的库存(Inventory)信息。它可以帮助用户查看、解析和操作库存文件或脚本。
参数 | 说明 |
---|---|
-h, --help | 显示帮助信息并退出。 |
--list | 列出所有主机和组的详细信息。 |
--graph | 以图形化方式显示库存结构。 |
--host <hostname> | 显示指定主机的变量信息。 |
--vars | 显示主机和组的变量信息。 |
-i, --inventory <inventory> | 指定库存文件或路径,默认为 /etc/ansible/hosts 。 |
-y, --yaml | 以 YAML 格式输出结果。 |
--export | 将变量导出为可移植格式。 |
--playbook-dir <playbook_dir> | 指定 playbook 目录路径。 |
--vault-id <vault_ids> | 指定 Vault 身份。 |
--vault-password-file <vault_password_file> | 指定 Vault 密码文件。 |
示例:
列出所有主机和组的详细信息:
ansible-inventory --list
以图形化方式显示库存结构:
ansible-inventory --graph
#结果
@all:|--@ungrouped:|--@webservers:| |--web1.example.com| |--web2.example.com|--@dbservers:|--db1.example.com|--db2.example.com
显示指定主机的变量信息:
ansible-inventory --host web1.example.com
这将显示 web1.example.com 主机的变量信息。
显示主机和组的变量信息:
ansible-inventory --vars
指定库存文件路径:
ansible-inventory -i /path/to/your/inventory --list
使用 -i 参数指定自定义库存文件路径。
以 YAML 格式输出结果:
ansible-inventory --list -y
导出变量为可移植格式:
ansible-inventory --list --export
10.ansible-vault命令常用参数
ansible-vault 是 Ansible 用于管理加密文件和变量的工具,确保敏感信息(如密码、密钥等)的安全性
参数 | 说明 |
---|---|
-h, --help | 显示帮助信息并退出。 |
--version | 显示程序的版本号并退出。 |
-v, --verbose | 增加输出的详细程度,可多次指定以提高详细级别。 |
--vault-id | 指定使用的 Vault 身份。 |
--vault-password-file | 指定包含 Vault 密码的文件路径。 |
--ask-vault-pass | 在命令行中提示输入 Vault 密码。 |
--output | 指定输出文件路径。 |
--encrypt-vault-id | 指定用于加密的 Vault 身份。 |
--decrypt-vault-id | 指定用于解密的 Vault 身份。 |
常用操作
1.创建加密文件
ansible-vault create <file>
ansible-vault create secrets.yml
创建一个加密文件,并提示输入密码。
2.编辑加密文件
ansible-vault edit <file>
ansible-vault edit secrets.yml
3.查看加密文件内容
ansible-vault view <file>
ansible-vault view secrets.yml
4.加密文件
ansible-vault encrypt <file>
ansible-vault encrypt secrets.yml
5.解密文件
ansible-vault decrypt <file>
ansible-vault decrypt secrets.yml
6.重新加密文件
ansible-vault rekey <file>
ansible-vault rekey secrets.yml
7.加密字符串
ansible-vault encrypt_string <string>
ansible-vault encrypt_string 'mysecretpassword'
8.解密字符串
ansible-vault decrypt_string <string>
ansible-vault decrypt_string 'encrypted_string'
11.Ansible 常用 Ad-Hoc 命令示例
1.检查主机连通性
# 检查所有主机的 SSH 连通性
ansible all -m ping# 指定库存文件并检查特定组(如 webservers)
ansible webservers -i hosts.cfg -m ping
2.执行命令
# 在所有主机上执行简单命令(如查看时间)
ansible all -m command -a "date"# 在 webservers 组执行复杂 Shell 命令(如查看系统运行时间)
ansible webservers -m shell -a "uptime"
3.管理软件包
# 使用 apt 安装软件包(如安装 nginx)
ansible dbservers -m apt -a "name=nginx state=present"# 使用 yum 卸载软件包(如移除 httpd)
ansible webservers -m yum -a "name=httpd state=absent"# 更新所有软件包(Ubuntu)
ansible all -m apt -a "update_cache=yes upgrade=dist"
4.文件操作
# 复制本地文件到远程主机
ansible all -m copy -a "src=/local/path/file.txt dest=/remote/path/file.txt mode=0644"# 创建目录
ansible webservers -m file -a "path=/tmp/testdir state=directory"# 修改文件权限
ansible all -m file -a "path=/etc/nginx/nginx.conf owner=root group=root mode=0644"
5.服务管理
# 启动服务(如启动 nginx)
ansible webservers -m service -a "name=nginx state=started"# 重启服务并启用开机自启
ansible webservers -m service -a "name=nginx state=restarted enabled=yes"# 停止服务
ansible webservers -m service -a "name=nginx state=stopped"
6.用户管理
# 创建用户并指定家目录
ansible all -m user -a "name=john state=present home=/home/john"# 删除用户并移除家目录
ansible all -m user -a "name=john state=absent remove=yes"
7.收集主机信息(Facts)
# 显示所有主机的详细系统信息
ansible all -m setup# 过滤特定信息(如查看 IP 地址)
ansible webservers -m setup -a "filter=*ipv4*"
8.高级选项
# 指定用户并提权(如使用 sudo)
ansible all -u admin -b -m apt -a "name=curl state=present"# 限制执行的主机(仅针对 web1.example.com)
ansible webservers --limit "web1.example.com" -m command -a "reboot"# 批量执行脚本(需提前上传脚本到目标主机)
ansible all -m script -a "/path/to/local/script.sh"
如何查看完整参数列表?
命令行工具参数:
ansible --help # 查看 ansible 命令参数
ansible-playbook --help # 查看 ansible-playbook 参数
ansible-galaxy --help # 查看 ansible-galaxy 参数
配置参数:
参考官方文档:Ansible Configuration Settings
相关文章:

Ansible常用Ad-Hoc 命令
1.配置sshpass yum install sshpass -y ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" # ssh-keygen密钥生成工具 -t密钥类型为dsa -f指定生成的密钥文件的路径。 -P:指定私钥的密码。 for i in seq 128 130; do sshpass -p123456 ssh-copy-id -i ~/.s…...

[论文阅读]Pandora: Jailbreak GPTs by Retrieval Augmented Generation Poisoning
Pandora: Jailbreak GPTs by Retrieval Augmented Generation Poisoning [2402.08416] Pandora: Jailbreak GPTs by Retrieval Augmented Generation Poisoning 间接越狱攻击 GPT的RAG增强过程分四个阶段:❶GPT首先组织不同的用户上传的文档类型(PDF、…...
鸿蒙OSUniApp 制作个性化的评分星级组件#三方框架 #Uniapp
UniApp 制作个性化的评分星级组件 在移动应用开发中,评分星级组件(Rating Star)是用户交互和反馈的重要工具,广泛应用于电商、外卖、内容社区等场景。一个美观、易用、可定制的评分组件,不仅能提升用户体验࿰…...

云效流水线Flow使用记录
概述 最近在频繁使用阿里云云效的几款产品,如流水线。之前写过一篇,参考云效流水线缓存问题。 这篇文章来记录更多问题。 环境变量 不管是云效流水线Flow还是应用交付AppStack(基于流水线,后文不再赘述)࿰…...

OpenCV CUDA模块图像处理------颜色空间处理之颜色空间转换函数cvtColor()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于在 GPU 上进行颜色空间转换,支持多种常见的颜色空间转换操作。 函数原型 void cv::cuda::cvtColor (InputArray src…...

科技初创企业创新推动商业未来
在这个因变革而蓬勃发展的世界里,科技初创企业已成为各行业创新、颠覆与转型的驱动力。这些雄心勃勃的企业正在重塑商业格局,挑战既定规范,并不断突破可能性的边界。本文将深入探索科技初创企业的精彩领域,探讨它们如何通过创新塑…...
人工智能文科能学吗?
文科生也可以学习人工智能(AI),尽管这一领域传统上与数学和计算机科学联系紧密。然而,随着跨学科研究的发展,越来越多的人认识到文科背景在AI领域的价值。以下是一些文科生在学习AI时可以考虑的优势和需要克服的挑战&a…...
Ntfs!NtfsReadBootSector函数分析之nt!CcGetVacbMiss中得到一个nt!_VACB结构
第一部分: 1: kd> g Breakpoint 3 hit nt!CcGetVacbMiss: 80a1a19e 6a30 push 30h 1: kd> kc # 00 nt!CcGetVacbMiss 01 nt!CcGetVirtualAddress 02 nt!CcMapData 03 Ntfs!NtfsMapStream 04 Ntfs!NtfsReadBootSector Ntfs…...

猿大师办公助手WebOffice用二进制数据流在Web前端打开Office文档
猿大师办公助手作为第三代WebOffice方案,猿大师办公助手把本地原生Office无缝嵌入网页环境中实现在线编辑Office功能,提供了完全与本机Office一致(排版、打印等)的操作体验,保留100%原生功能(VBA宏、复杂公…...

etcd:高可用,分布式的key-value存储系统
引言 etcd是基于go语言开发的一款kv存储引擎,基于raft一致性算法实现的一种存储 一.etcd的底层原理 1.etcd的特点 高可用性与一致性:etcd 使用 Raft 算法保证集群中数据的强一致性,即使在节点故障的情况下也能保持数据完整性。 分布式存储&a…...

AI in Game,大模型能力与实时音视频技术融合,交出AI应用新答卷
随着AI的技术进步和工具普及,尤其是在这两年的跃进之后,AI在游戏行业内的应用已经逐步由理念设想推向落地实践。从蔡浩宇披露的AI新游《Whispers From The Star》到GDC上各大厂家呈现的游戏AI新亮点,我们看到了更多AI与游戏的结合方式&#x…...

欢乐熊大话蓝牙知识11:如何打造一个低功耗蓝牙温湿度传感器?
🧊 如何打造一个低功耗蓝牙温湿度传感器? 用电像抠门老头,通信像特工密谈。 🌡️ 引子:为什么你需要一个低功耗 BLE 传感器? 你是不是有过这种需求: 想在办公室角落放个传感器看温湿度,却不想拉电源线?想给智能养宠箱加个环境感知模块,但不能三天一换电池?想造个…...

Linux 安装 Remmina
欢迎关注公号:每日早参,第一时间获取AI资讯! 为什么安装Remmina, 因为Mobaxterm免费版本有窗口限制。 Remmina 是一款功能强大的开源远程桌面客户端,适用于 Linux 和其他类 Unix 系统,也支持 Windows 平台。 安装指南…...

什么是HTTP HTTP 和 HTTPS 的区别
HTTP协议定义 超文本传输协议(HyperText Transfer Protocol, HTTP)是一种应用层协议,主要用于客户端与服务器之间的数据交换。它基于请求-响应模型运行,在每次会话中由客户端发起请求,服务器返回相应的内容。 HTTP 是…...
cos和dmz学习
COS(Capability Open Service) 组件主要为系统提供能力开放的入口和控制。系统中需要对外进行能力开放的组件将RESTful的API接口注册到COS组件中,第三方系统就可以通过调用API来获取组件提供的能力。应用场景:当你想调用的外部系统接口不支持外网访问时&…...
上升沿计数 stm32 中断
在STM32上利用中断实现上升沿计数,可以按照以下步骤进行,这里以STM32F1系列为例,使用HAL库进行代码编写: 1. STM32CubeMX配置 打开STM32CubeMX并创建一个新工程,选择对应的STM32微控制器型号(如STM32F103C8T6)。在Pinout & Configuration选项卡中,找到用于检测上升…...
Java 各版本核心新特性的详细说明
一、Java 8(2014)—— 函数式编程的里程碑 1. Lambda 表达式 作用:简化匿名内部类,支持函数式编程。示例:// 传统匿名内部类 Runnable r1 new Runnable() {Overridepublic void run() {System.out.println("He…...
Nginx 性能优化全解析:从进程到安全的深度实践
一、进程优化:释放硬件性能潜力 Nginx 通过多工作进程处理请求,合理配置进程参数能充分利用 CPU 资源,避免资源浪费。 1.1 worker_processes 参数详解 worker_processes用于设置 Nginx 工作进程的数量,它直接影响 Nginx 对 CP…...

Pycharm and Flask 的学习心得(10)重定向
一 定义: 服务器告诉浏览器:你现在访问的这个页面,请改去另一个地址访问。 浏览器接收到这个“指令”后,会 自动跳转到另一个网页。 二 如何写: 方法一:重定向到网址 方法二:重定向到自己的…...

单机Kafka配置ssl并在springboot使用
目录 SSL证书生成根证书生成服务端和客户端证书生成keystore.jks和truststore.jks辅助脚本单独生成truststore.jks 环境配置hosts文件kafka server.properties配置ssl 启动kafkakafka基础操作springboot集成准备工作需要配置的文件开始消费 SSL证书 证书主要包含两大类&#x…...
《棒球特长生》棒球升学途径·棒球1号位
美国大学棒球体系 | U.S. College Baseball System 美国大学棒球主要通过 NCAA(全国大学体育协会)和 NAIA(全美校际体育协会)组织,分为三个级别: NCAA Division I:竞技水平最高,提…...
JavaScript的call和apply
在 JavaScript 中,.call() 和 .apply() 都是 Function 原型上的方法,用于改变函数执行时的上下文对象(即 this 指向),它们的区别仅在于参数传递的形式不同。下面结合几个常见场景,说明它们的实际应用。 1. …...
DiT、 U-Net 与自回归模型的优势
DiT 相对于 U-Net 的优势 全局自注意力 vs. 局部卷积 U-Net 依赖卷积和池化/上采样来逐层扩大感受野,捕捉全局信息需要堆叠很多层或借助跳跃连接(skip connections)。DiT 在每个分辨率阶段都用 Transformer 模块(多头自注意力 ML…...
开源 FcDesigner 表单设计器组件事件详解
FcDesigner 是一款基于Vue的开源低代码可视化表单设计器工具,通过数据驱动表单渲染。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。 …...
Teigha应用——解析CAD文件(DWG格式)Teigha在CAD C#二次开发中的基本应用
Teigha是一款专为开发者设计的工具,其核心技术在于强大的API和丰富的功能集,提供了一系列工具和方法,使开发者能够轻松地读取、解析和操作DWG文件。它支持多种操作系统,能在处理大型DWG文件时保持高效性能,还可用于构建…...

C++23内存分配新特性:std::allocate_at_least
文章目录 一、背景与动机二、std::allocator::allocate_at_least的特性三、std::allocate_at_least的自由函数版本四、实际应用场景1. 动态容器的优化2. 自定义分配器 五、总结 在C23标准中, std::allocate_at_least和 std::allocator::allocate_at_least的引入为…...
JavaScript性能优化全景指南
JavaScript性能优化全景指南 Ⅰ. 加载性能优化 1.1 代码分割与懒加载 动态导入(ES2020) javascript // 路由级代码分割 const ProductPage () > import(/* webpackChunkName: "product" */ ./ProductPage.vue); // 交互驱动加载 document.querySelector(#char…...

04-jenkins学习之旅-java后端项目部署实践
1、创建被管理项目 2、构建流程说明 jenkins其实就是将服务部署拆分成了: 1、拉取代码(git) 2、打包编译 3、自定义脚本(jar复制、执行启动脚本) 4、部署成功后的一些通知等 3、demo配置 3.1、General 3.2 源码管理 添加用户名密码方式如下图 3.2.1 常见错误(r…...

基于Python flask 的豆瓣电影top250数据评分可视化
文章目录 基于Python flask 的豆瓣电影top250数据评分可视化项目简介项目结构效果展示源码获取 基于Python flask 的豆瓣电影top250数据评分可视化 博主介绍:✌安替-AnTi:CSDN博客专家、掘金/华为云//InfoQ等平台优质作者,硕士研究生毕业。专…...

Cat.4+WiFi6工业路由器介绍小体积大作用ER4200
ER42004G Cat.4WiFi6 工业路由器隶属于纵横智控ER系列,型号为ER4200,是一款坚固耐用、性能强大的网络设备,专为应对严苛环境而设计。它采用工业级品质设计,集成 4G Cat.4 全网络支持和 WiFi6 技术,可在稳定性和性能至关…...