发现

社区文章

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

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

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

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

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

Python 单例模式

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

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

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

FastAPI 中的 embed 参数详解

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

Python 模块 contextvars

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

@JsonIgnore

作用:在json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。 使用方法:一般标记在属性或者方法上,返回的json数据即不包含该属性。 如果某个属性在序列化时需要忽略掉但是反序列化时不要忽略,可以使用@JsonProperty(access = JsonProperty....

MySQL 创建用户并指定权限

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

Java中的final关键字

@Service public class MyService { private final AnotherService anotherService; @Autowired public MyService(AnotherService anotherService) { this.anoth...

MySQL审计功能

背景 MySQL审计(MySQL Auditing)是一个用于跟踪和监控MySQL数据库活动的功能。它可以帮助数据库管理员、安全专家和审计员了解数据库的使用情况,确保数据的完整性、可用性和机密性。以下是MySQL审计的一些常见使用场景: 安全性监控: 通过审计,可以跟踪任何对数据库的潜在恶意访问,如...

Python 模块 tenacity

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

数据库架构师怎样设计产品的数据库?

设计产品数据库是数据库架构师的重要职责之一。以下是数据库架构师设计产品数据库的常见方法、步骤以及使用的工具: 一、方法与步骤 1. 需求分析 理解业务需求:与业务方、产品经理、开发团队沟通,明确功能需求、非功能需求(如性能、安全性、可扩展性等)。 确定数据需求:确定需要存储和管理的数据类型、数据量、...

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

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

utf8mb4和utf8

utf8 和 utf8mb4 都是 MySQL 中的字符集(Character Set),用于存储和处理文本数据。但它们之间有一些重要的区别,尤其是在支持字符范围和编码方式上。 1. 编码范围的区别 utf8: 在 MySQL 中,utf8 实际上是一个不完整的 UTF-8 编码实现。它最多只能表示...

MySQL索引类型和索引方法

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

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

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

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 UDF sys_exec()

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

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

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

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

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