发现

社区文章

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

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

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

在 Windows 11 上搭建 SFTP 服务器并自定义默认路径

在本文中,我们将介绍如何在 Windows 11 上搭建一个 SFTP 服务器,并允许用户同时使用 SFTP 和 SSH 连接。此外,我们将展示如何自定义默认路径。 1 安装 OpenSSH 服务器 1.1 打开“设置”应用 你可以通过按 Win + I 快捷键快速打开“设置”。 1.2 导航到“系...

Python nonlocal关键字

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

Python装饰器

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

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

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

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

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

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

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

格式化字符串字面值 (简称为 f-字符串)

格式化字符串字面值 (简称为 f-字符串)在字符串前加前缀 f 或 F,通过 {expression} 表达式,把 Python 表达式的值添加到字符串内。 格式说明符是可选的,写在表达式后面,可以更好地控制格式化值的方式。下例将 pi 舍入到小数点后三位: import math print(f'...

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

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

Jupyter Lab

安装 jupyter lab 使用pip安装 如果还没有安装pip,首先安装pip。 打开终端或命令提示符,并输入以下命令: 打开conda 的CMD 激活对应的环境,比如py38 conda activate py38 安装jupyter lab pip install jupyterlab 使用...

Flask项目使用ajax发送请求,解决 CSRF

在flask项目中,一般都配置了CSRF,表单提交时,带上csrf_token字段即可,如果是ajax方式提交,需要设置csrf_token const csrfToken = $('meta[name=csrf-token]').attr('content'); const postData = ...

Prompt 工程 之 评测工具

智谱Bigmodel目前支持两种自动评测方式:AI裁判员自动评测和基线评测。 其中,AI裁判员自动评测全程无需人工参与,将基于自定义的评测指标,通过AI裁判员模型对模型输出效果进行自动打分。该方式具有高效、和公正性的优势,但评测结果高度依赖人为设定的评分维度和标准。该方法适用于在特定业务场景下进行模...

VIM替换

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

MySQL索引类型和索引方法

MySQL 中的索引类型和索引方法可以帮助提升查询性能。 索引类型 1. FULLTEXT 索引 用途: 用于全文检索。 支持的数据类型: CHAR, VARCHAR, TEXT。 应用场景: 处理自然语言搜索(如搜索文章内容、博客)。 支持布尔模式搜索和自然语言模式搜索。 特点: 提供对大文本字段...

Git操作记录

操作 删除分支 切换到master分支 git checkout dev 删除本地分支 git branch -d userstory 强制删除本地分支 git branch -D userstory 删除远程分支 git push origin --delete userstory 修改gitig...

scp传输文件

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

YAML 教程

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

StatsModels 统计回归——线性回归

1、背景知识 1.1 插值、拟合、回归和预测 插值、拟合、回归和预测,都是数学建模中经常提到的概念,而且经常会被混为一谈。 - 插值,是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。 插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点...

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 杀死进程后,通过...

MySQL source命令导入sql文件太慢

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