发现

社区文章

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

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

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

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

Python 开发模式安装

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

MySQL 触发器

前言 触发器(TRIGGER)是由事件来触发某个操作。这些事件包括insert语句、update语句和delete语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。 一、创建触发器 触发器是由insert、update和delete等事件来触发某种特定操作。满足触发器的触发条件时,数据...

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

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

pip升级所有包

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

scp传输文件

简单传输 1 .拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/root目录下 scp -r /home/administrator/test/ root@192.168.1.100:/root/ 2. 拷贝单个文件至远程主机 scp /hom...

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

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

在Ubuntu 20.04上添加swap交换空间

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

监控

查看当前网速 nload命令 nload -t 200 -i 1024 -o 128 -U M devices eth0 查看内存占用 htop 按内存使用率排序 htop --sort-key=M_SIZE 分析磁盘使用情况 ncdu 安装 sudo apt-get install ncdu 查看...

Windows Docker Desktop开发API端口2375用于远程调用

Docker Desktop 是 Windows 用户开发和管理容器的强大工具,但默认设置下仅允许本地访问 API 端口 2375。 1. 启用 IP Helper 服务 打开服务管理器,找到 IP Helper 服务,将其启动类型设置为自动并启动服务。 2. 配置 Docker 开放 2375 端...

Python装饰器

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

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

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

Let's Encrypt 配置Nginx SSL证书

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

maven命令行操作

maven命令行操作 打包 maven清除之后打包 -Dmaven.test.skil=true 不执行测试 -P prod 指定打包环境为prod mvn clean package -Dmaven.test.skip=true -P prod 查看当前处于激活状态的profile mvn hel...

FastAPI 中的 embed 参数详解

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

Python 单例模式

Python使用单例模式时,可以创建一个Singleton类,所有继承Singleton的子类,都为单例模式 class Singleton(abc.ABCMeta, type): """ Singleton metaclass for ensuring only one instance of a...

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

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

VIM替换

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

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