发现

社区文章

来自 MMao 贡献者的精选知识。

Python 模块 tenacity

简介 在实际应用中,经常会碰到在web请求时,因为网络的不稳定,会有请求超时的问题,这时候,一般都是自己去实现重试请求的逻辑,直到得到响应或者超时。虽然这样的逻辑并不复杂,但是代码写起来却不那么优雅,不那么pythonic。 tenacity是一个重试库,使用python语言编写,它能够让我们在任务...

Python 树结构

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

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

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

FastAPI 中的 embed 参数详解

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

HTTP状态码

HTTP状态码分类 HTTP状态码列表 ------------ Switching Protocols 200 已接受。已经接受请求,但未处理完成 No Content 206 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择Found 304...

Ubuntu22.04 命令行操作蓝牙设备

命令行连接蓝牙设备 系统 Ubuntu22.04 1. 安装蓝牙管理工具 sudo apt-get update sudo apt-get install bluez 2.确认蓝牙服务状态 sudo systemctl status bluetooth 如果服务没有运行,使用以下命令启动它 sudo...

ReAct

ReAct 是一种结合了推理和动作的人工智能代理架构,旨在增强大型语言模型(如GPT-4)的能力,使其在解决复杂问题时能够进行更有效的推理和执行相应的动作。ReAct 的名称源自 "Reasoning and Acting"(推理与行动)的缩写。 ReAct 的主要特点和优势包括: 结合推理和行动:...

Python装饰器

Python中的装饰器是一种非常有用的功能,它允许你在不修改原有函数代码的前提下,给函数增加新的功能。你可以把装饰器想象成一个包装纸,它可以把一份礼物(函数)包装起来,增加一些装饰(功能),但不改变礼物本身。装饰器在Web开发、日志记录、权限校验等多个领域都有广泛应用。 基本原理 装饰器本质上是一个...

MySQL 创建用户并指定权限

创建用户并指定权限 创建用户 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以...

MySQL审计功能

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

正则表达式手册

表达式全集 常用表达式 用户名 /^[a-z0-9_-]{3,16}$/ 密码 /^[a-z0-9_-]{6,18}$/ 十六进制值 /^#?([a-f0-9]{6}|[a-f0-9]{3})$/ 电子邮箱 /^([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})$/ ...

FastAPI 项目使用 PyArmor 外置许可证混淆与授权

Python 3.13.5 Pyarmor 9.1.8 (trial) 一、背景与目标 在向多家企业交付 FastAPI 服务时,我们既要保护源码避免泄露,又要灵活控制授权(机器绑定 + 到期)。PyArmor 8.5+ 的 外置许可证(Runtime Key) 机制可以让我们 一次混淆代码、多次下...

vscode运行Flask项目

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

Git操作记录

操作 删除分支 切换到master分支 git checkout dev 删除本地分支 git branch -d userstory 强制删除本地分支 git branch -D userstory 删除远程分支 git push origin --delete userstory 修改gitig...

Linux 打包

.tar (注:tar是打包,不是压缩!) 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName .tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName ...

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...

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

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

MySQL 填坑

大量sleep进程 用root账户登录mysql后,显示当前所有进程 mysql > show processlist; +----+-----------------+-----------------+-----------+---------+------+------------------...

Ubuntu版本号和发布名称对照表

发布日期 Noble Numbat 23.04 2022年4月21日 Hirsute Hippo 20.04 LTS 2019年4月18日 Bionic Beaver 17.04 2016年4月21日 Vivid Vervet 14.04 LTS 2013年4月25日 Precise Pangoli...

Let's Encrypt 配置Nginx SSL证书

以下文章展示了在 Ubuntu(以 20.04 为例)上,通过 APT 安装 Certbot 并使用 --nginx 插件,一步完成 Let’s Encrypt 证书的获取、安装与自动续期的全过程。全文共分为五大部分,每部分都配有实用命令示例和丰富引用,帮助您快速上手并在生产环境中稳定运行。 在本文...