portainer 集群管理

Portainer 是一个轻量级且直观的开源容器管理工具,专为简化和管理 Docker 和 Kubernetes 环境而设计。它提供了一个用户友好的图形界面,使用户能够方便地管理容器、镜像、网络和卷。 通过docker安装portainer。 portainer/portainer-ce:alpin...

FastAPI 中的 embed 参数详解

在使用 FastAPI 开发 API 时,有时需要从请求体中提取单个字段。在这种情况下,FastAPI 提供了一个非常有用的参数:embed。本文将详细介绍 embed 参数的用途和使用方法。 什么是 embed 参数? embed 参数用于指定在接收单个字段时,是否将该字段嵌入到一个 JSON 对...

dpkg --configure -a 错误处理

dpkg --configure -a运行,出现如下错误 Setting up openssh-server (1:8.2p1-4ubuntu0.11) ... debconf: DbDriver "config": /var/cache/debconf/config.dat is locked b...

ffmpeg转换视频格式: mkv -> mp4

首选需要安装ffmpeg,然后将ffmpeg可执行文件的路径设置到环境变量PATH中 将以下脚本拷贝到convert.bat文件中,将此文件放置到有mkv视频格式的文件夹中,双击convert.bat文件运行,循环转换视频,从mkv转换为mp4格式。 注意: 在使用notepad++编辑conver...

Python __init__.py 文件中的定义 __all__ 变量有什么作用

在Python中,在一个模块(即一个.py文件)的init.py文件中定义all变量有特殊的意义。all是一个字符串列表,用于定义当从该模块中使用星号*导入时应该导入哪些属性或子模块。这对于控制公共API特别有用,尤其是在创建库或框架时。 例如,假设你有一个名为my_module的模块,它包含a.p...

utf8mb4和utf8

utf8 和 utf8mb4 都是 MySQL 中的字符集(Character Set),用于存储和处理文本数据。但它们之间有一些重要的区别,尤其是在支持字符范围和编码方式上。 1. 编码范围的区别 utf8: 在 MySQL 中,utf8 实际上是一个不完整的 UTF-8 编码实现。它最多只能表示...

MySQL8密码

MySQL版本 8.0.33 在 MySQL 8 中,默认情况下,root 用户通过密码登录是被禁用的,取而代之的是使用 unix_socket 认证插件,该插件允许 root 用户通过系统用户身份直接登录到 MySQL,而不需要密码。这就是为什么你可以通过 sudo mysql 命令直接登录 My...

vscode运行Flask项目

1.激活虚拟环境 假设有一个flask项目,使用venv虚拟环境。 ctrl+shift+p,调出命令,选择如下Python: Select interpreter 选择之后,弹出选择环境的对话框 选择对应的虚拟环境即可。 在打开一个py文件后,vscode的状态栏会显示当前项目的虚拟环境信息 2....

使用itunes导入电子书到iphone的kindle APP,编辑电子书元数据

电子书格式 mobi格式可以,epub格式不可以! 添加电子书 iTunes版本:12.13.13 iphone版本:17.3.1 第一步,连接 iphone连接itunes,点击如下图 第二步,添加 按照顺序点击 第三步,查看 打开iphone的Kindle APP即可看到电子书 删除电子书 修改...

亚马逊服务器安装mysql5.7

Linux版本: amzn2.x86_64 mysql版本: 5.7 1. 更新系统 sudo yum update 2. Download the MySQL 5.7 yum repository on Amazon Linux 2 using wget sudo wget https://dev...

defaultdict 基本用法

defaultdict 是 Python 的 collections 模块中的一个工具,它是 dict 的子类,但与普通的字典不同,它在访问不存在的键时会自动为该键生成一个默认值,而不是抛出 KeyError。 defaultdict 基本用法 导入和创建 from collections impo...

supervisor使用指定账户启动子进程

supervisor V4.2.4 supervisor使用root账号启动时,如果子进程会继承root账号的环境变量和权限, 如果子进程不需要过大的权限,可以设置子进程的用户,在配置文件中通过环境变量进行设置子进程的用户。 如果在[supervisord]中指定子进程用户,则所有子进程都要用指定的...

MySQL审计功能

背景 MySQL审计(MySQL Auditing)是一个用于跟踪和监控MySQL数据库活动的功能。它可以帮助数据库管理员、安全专家和审计员了解数据库的使用情况,确保数据的完整性、可用性和机密性。以下是MySQL审计的一些常见使用场景: 安全性监控: 通过审计,可以跟踪任何对数据库的潜在恶意访问,如...

RabbitMQ安装(Ubuntu)

Ubuntu 20.04 Rabbitmq 3.8.3 Erlang 22.27 1.安装erlang 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令: sudo apt-get install erlang-nox # 安装erlang e...

uv、poetry、 pip 全面对比 & uv 实操手册

一次搞清楚三套工具的定位、优缺点、典型工作流,并附上 uv 详细操作命令。 1. 一句话定位 uv:Rust 实现的“全家桶”——包管理 + 虚拟环境 + 解析锁定 + 运行命令 + Python 版本管理,全都要,还巨快。 poetry:偏“项目管理器”,围绕 pyproject.toml 做依赖...

YAML 教程

1. YAML 简介 YAML(YAML Ain't Markup Language)是一种简洁易读的数据序列化格式,广泛用于配置文件、数据存储等场景。它支持键值对、列表、嵌套结构,易于阅读和编辑。 2. YAML 语法基础 2.1 键值对 YAML 采用 key: value 形式表示键值对,冒号...

iptables

iptables iptables/ip6tables命令,用于在Linux内核中设置、维护和检查IPv4和IPv6数据包过滤规则的表,从而实现IPv4/IPv6数据包过滤和NAT的管理工具。它可以定义多个不同的表,每个表中包含多个预定义的链,也可能包含用户自定义的链。每个链都是一个规则列表,用来匹...

Python Pydantic 中的 alias 字段别名详解:优雅解决命名规范冲突

在现代软件开发中,我们经常需要处理不同系统之间的数据交换。Python 开发者通常遵循 PEP 8 规范使用 snake_case 命名,而前端 JavaScript 开发者习惯使用 camelCase,数据库可能又有自己的命名约定。如何在保持代码规范的同时实现系统间的无缝对接?Pydantic 的...

MySQL索引类型和索引方法

MySQL 中的索引类型和索引方法可以帮助提升查询性能。 索引类型 1. FULLTEXT 索引 用途: 用于全文检索。 支持的数据类型: CHAR, VARCHAR, TEXT。 应用场景: 处理自然语言搜索(如搜索文章内容、博客)。 支持布尔模式搜索和自然语言模式搜索。 特点: 提供对大文本字段...

Python 树结构

Python实现树结构的例子 class ActionNode: children: dict[str, "ActionNode"] 简要解释如下: - children: dict[str, "ActionNode"]: - children 是一个字典属性。 - 字典的键 (key) 是字符串 ...