发现

社区文章

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

MySQL审计功能

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

OpenAI API prompt的最佳实践

OpenAl发布的提示工程指南说明了如何更有效地利用像如GPT-4这样的大语言模型(有时候也叫GPT模型)来获得更好的结果。 介绍的方法可以相互结合,以发挥更大的作用。 另外,这份指南的示例主要针对 GPT-4 模型,但理论上来说也适用其他模型。 其中主要有六个策略,每个策略下再有具体的技巧。 策略...

FastAPI 中的 embed 参数详解

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

Python 开发模式安装

在Python开发中,"开发模式安装"(也被称作“可编辑模式安装”)是一种特殊的安装方式,它允许开发者在不重新安装包的情况下,对代码进行修改并立即看到这些更改的效果。这在开发和调试自定义Python包时非常有用。 如何进行开发模式安装 可以通过以下命令进行开发模式安装: pip install -e...

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

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

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

vscode运行Flask项目

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

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

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

Python 模块 backoff

当谈论 Python 中的重试和退避策略时,还有另一个非常常用的库,那就是 backoff。backoff 是一个用于实现退避(exponential backoff)和重试逻辑的库,它可以帮助你在出现错误或异常时,以指数增长的方式进行重试,从而减轻服务器负担,提高代码的健壮性。 安装: 你可以使用...

iptables

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

Ubuntu20.04安装MySQL5.7

Ubuntu20.04安装MySQL5.7 https://computingforgeeks.com/how-to-install-mysql-on-ubuntu-focal/ https://blog.csdn.net/wm9028/article/details/122982116...

utf8mb4和utf8

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

在Ubuntu 20.04上添加swap交换空间

在Ubuntu 20.04上添加swap交换空间 参考连接 https://blog.csdn.net/sxf1061700625/article/details/125781709 swap是物理RAM内存已满时使用的磁盘空间。 当Linux系统用完RAM时,非活动页面将从RAM移动到交换空间。 ...

MySQL 填坑

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

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 树结构

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

Python 线程池

1. 线程池简介 在现代编程中,尤其是进行高性能和高并发编程时,线程池是一种非常重要的技术。线程池可以有效地管理和复用线程资源,提高程序的执行效率和响应速度。接下来,我们将详细介绍线程与进程的区别,什么是线程池,以及线程池的优势。 1.1 线程与进程的区别 在计算机科学中,线程和进程是两个基本的并发...

彻底搞懂 functools.lru_cache:原理、用法、坑点与工程化实践

关键词:LRU、缓存、性能优化、纯函数、可哈希、装饰器顺序、TTL、异步缓存、工程实践 为什么要关心 lru_cache? 当你的函数计算昂贵、参数重复且没有副作用时,缓存返回值会显著降低延迟、减少 CPU 消耗。functools.lru_cache 是 Python 标准库自带的“轻量级、进程内...

MySQL source命令导入sql文件太慢

有一个较大的SQL文件,通过source命令导入到MySQL数据库中时导入太慢。 存储引擎选择的时Innodb MySQL版本为8.0.34 解决办法 1.设置ulimit ulimit -n //默认是1024 指定同一时间最多可开启的文件数 65535 vim /etc/security/lim...

Python字符串前加 u/r/b/f

1. 字符串前加u 例: u'我是含有中文字符组成的字符串' 作用:后面字符串以Unicode格式进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。 2. 字符串前加r 例: r'\n\n\n' # 表示一个普通生字符串\n\n\n,而不表示换行。 作用:去掉反斜杠...