发现

社区文章

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

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 模块 contextvars

contextvars 是 Python 中的一个模块,用于管理上下文局部状态。上下文局部状态类似于线程局部状态,但它是针对当前上下文而不是针对线程。这个特性在异步编程中特别有用,因为单个线程可能处理多个上下文(例如,处理不同的Web请求)。 contextvars 模块的关键组成部分如下: 上下文...

VIM替换

vim中可用 :s 命令替换字符串 语法: [addr]s/源字符串/目的字符串/[option] [addr] 表示检索范围,省略时表示当前行 [option] 表示操作类型 替换所有行中所有的str1为str2,%表示整个文件 :%s/str1/str2/g 替换当前行第一个str1为str2 ...

MySQL 创建用户并指定权限

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

Python 模块 backoff

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

Python 模块 tenacity

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

Python 树结构

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

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

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

Python 开发模式安装

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

pip升级所有包

pip升级全部包 pip install --upgrade pip pip freeze --local xargs -n1 pip install -U 这些命令将首先升级pip本身,然后使用pip freeze命令列出当前安装的所有包,并使用xargs和pip install命令逐个更新这些包...

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

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

YAML 教程

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

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

Linux创建用户、赋予权限

1.创建新用户 使用 useradd 命令创建一个新用户,并指定一个家目录,指定终端为bash。例如,创建一个名为 newuser 的用户,可以使用以下命令: sudo useradd -m -s /bin/bash newuser 如果用户已经创建了,可以修改这个用户的终端: sudo chsh ...

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

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

修改SSH端口

1. 修改ssh配置文件 vim /etc/ssh/sshd_config 找到或者加上一行 Port {num} 比如 Port 23456 2. 重启服务 service sshd restart 或者 systemctl restart sshd.service...

Prompting deep research models

ChatGPT 中的“深度研究”会在您提交查询后询问后续问题。ChatGPT 中的“深度研究”遵循以下三个步骤: 澄清:当你提出问题时,中间模型(例如 GPT-4.1)会在研究过程开始之前,帮助澄清用户的意图并收集更多背景信息(例如偏好、目标或限制)。这一额外步骤有助于系统定制其网络搜索,并返回更相...

logrotate切割nginx日志

环境: Ubuntu18.04 logrotate是一个日志管理程序,用来把旧的日志文件删除(备份),并创建新的日志文件,这个过程称为“转储”。可以根据日志的大小,或者根据其使用的天数来转储,这个过程一般由cron来执行。 logrotate还可以用于压缩日志文件,以及发送日志到指定的email。 ...

终端 ANSI 转义序列颜色与样式详解

在日常的终端操作中,我们常常会看到带颜色或特殊样式的输出,这些效果大多是通过 ANSI 转义序列 实现的。本文将详细介绍常用的颜色与样式参数,以及它们的使用方法。 什么是 ANSI 转义序列 ANSI 转义序列是一种在终端中控制文本显示样式的标准方法,通过特定的转义码(Escape Sequence...

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