发现

社区文章

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

Python 模块 tenacity

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

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

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

VIM替换

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

Redis报错too many open files

Redis报错了 too many open files 这时候应该通过redis-cli SHUTDOWN停止不掉redis-server,因为connect refuse 可以直接kill掉进程 查看PID ps -e | grep redis 杀死进程 kill -9 PID 杀死进程后,通过...

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

世界顶级7大学习法工具:费曼学习法、番茄学习法、西蒙学习法、SQ3R学习法、康奈尔笔记法、模式学习法、社群学习法

自人类文明的曙光照亮地球那一刻,工具就一直陪伴着我们。 石器时代、铁器时代、机器时代、信息化时代,工具解放了人类的双手,实现了物质→能量→信息的三重跨越。 正如《技术史》一书中指出:“工具引领人类历史,成为重要的推动力和分水岭。” 1.费曼学习法 1.1 什么是费曼学习法? 把你学的东西,讲给别人听...

Linux创建用户、赋予权限

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

Let's Encrypt 配置Nginx SSL证书

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

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

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

Python 开发模式安装

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

prompt 工程 之 语言模型

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

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

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

PyCharm配置 JSHint

JSHint 是一个使用 JavaScript 编写的 JavaScript 的代码质量检查工具,主要用来检查代码质量以及找出一些潜在的代码缺陷。 .jshintrc是JSHint的一种配置方式。这种方式允许你每个项目有不同的配置文件,只需要将文件放在项目根目录即可。 官方配置文档https://j...

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

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

YAML 教程

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

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

亚马逊服务器安装mysql5.7

Linux版本: amzn2.x86_64 mysql版本: 5.7 1. 更新系统 sudo yum update 2. Download the MySQL 5.7 yum repository on Amazon Linux 2 using wget sudo wget https://dev...

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

Python装饰器

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

Python 单例模式

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