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 形式表示键值对,冒号...

spring security中的permitAll和anonymous

在Spring Security中,permitAll和anonymous是两个用于配置安全策略的表达式,它们用于定义对特定资源的访问权限。虽然它们在某些情况下可能产生类似的行为,但它们的意图和用途是不同的。 permitAll 含义: permitAll用于指定某个资源是完全开放的,不需要任何安全...

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

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

Python装饰器

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

MySQL 存储过程

前言 在项目开发中,经常会遇到这样一种场景,当修改A表的一条数据时,需要关联修改B表、C表甚至其他更多表的数据,为什么会这样呢? 在真实的业务场景中,往往一张表的数据关联的业务是多样的,举例来说,用户在页面上完成一个订单,对服务端来说,与这个订单相关的业务还有很多,比如生成一条出库记录,扣减库存,用...

ReAct

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

prompt 工程 之 视频生成

提示词的精确度与细节水平直接影响视频内容的质量。采用结构化提示词可以极大提升视频内容的符合度和专业性。 以下是构建提示词的关键组成部分: 提示词 = (镜头语言 +景别角度+ 光影) + 主体 (主体描述) + 主体运动 +场景 (场景描述) + (氛围) 镜头语言: 通过镜头的各种应用以及镜头之间...

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

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

prompt 工程 之 语言模型

掌握复杂场景下的语言模型Prompt工程 策略:编写清晰、具体的指令 为了获得最佳的回答,用户需要向 GLM 提供清晰、具体的指令。GLM 越能明确您的需求,提供的回答质量越高。 技巧:定义 System Prompt 用于设定AI助手行为模式的工具,包括角色设定、语言风格、任务模式和针对特定问题的...

Python 树结构

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

iptables

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

MySQL UDF sys_exec()

问题: mysql中没有sys_exec()用户自定义函数 系统 Ubuntu20.04 MySQL5.7.35 1. 下载代码 从这个仓库下载代码 https://github.com/mysqludf/lib_mysqludf_sys 进入到下载好的文件中 2. 修改Makefile 查看Mak...

Python nonlocal关键字

nonlocal 关键字在 Python 中用于在嵌套函数中引用外部非全局变量。这意味着可以在嵌套函数中修改外部函数的变量,而不是创建一个新的局部变量。 示例代码 下面是一个使用 nonlocal 的简单示例,帮助你理解它的作用和用法: def outer_function(): var = "He...

HTTP状态码

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

MySQL 创建用户并指定权限

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

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

Let's Encrypt 配置Nginx SSL证书

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

MySQL8密码

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

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

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