发现

社区文章

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

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

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

YAML 教程

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

logrotate切割nginx日志

环境: Ubuntu18.04 logrotate是一个日志管理程序,用来把旧的日志文件删除(备份),并创建新的日志文件,这个过程称为“转储”。可以根据日志的大小,或者根据其使用的天数来转储,这个过程一般由cron来执行。 logrotate还可以用于压缩日志文件,以及发送日志到指定的email。 ...

Python 开发模式安装

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

Let's Encrypt 配置Nginx SSL证书

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

utf8mb4和utf8

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

Python 模块 tenacity

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

vscode运行Flask项目

1.激活虚拟环境 假设有一个flask项目,使用venv虚拟环境。 ctrl+shift+p,调出命令,选择如下Python: Select interpreter 选择之后,弹出选择环境的对话框 选择对应的虚拟环境即可。 在打开一个py文件后,vscode的状态栏会显示当前项目的虚拟环境信息 2....

maven命令行操作

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

MyBatis

MyBatis版本 2.2.0 if test判断条件 大于小于判断 ----!= gte 小于等于, <=(会报错 相关联的 \"test\" 属性值不能包含 \'<\' 字符)|...

如何使用 qpdf 工具消除 PDF 文件的权限限制

如何使用 qpdf 工具消除 PDF 文件的权限限制 PDF 文件是一种常见的文档格式,广泛用于电子书、手册、合同等多种场景。为了保护文件的版权或避免内容被非法复制,许多 PDF 文件会设置权限限制,如禁止复制、打印或编辑。这些限制通常通过 PDF 的加密机制实现。qpdf 是一个开源工具,可以用来...

中国各省份的简称

中国各省份简称 香港、澳门和台湾地区有不同的行政区划,因此它们的简称不在这个列表中。...

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

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

Git操作记录

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

Ubuntu20.04安装MySQL5.7

Ubuntu20.04安装MySQL5.7 https://computingforgeeks.com/how-to-install-mysql-on-ubuntu-focal/ https://blog.csdn.net/wm9028/article/details/122982116...

Python 模块 backoff

当谈论 Python 中的重试和退避策略时,还有另一个非常常用的库,那就是 backoff。backoff 是一个用于实现退避(exponential backoff)和重试逻辑的库,它可以帮助你在出现错误或异常时,以指数增长的方式进行重试,从而减轻服务器负担,提高代码的健壮性。 安装: 你可以使用...

OpenAI API prompt的最佳实践

OpenAl发布的提示工程指南说明了如何更有效地利用像如GPT-4这样的大语言模型(有时候也叫GPT模型)来获得更好的结果。 介绍的方法可以相互结合,以发挥更大的作用。 另外,这份指南的示例主要针对 GPT-4 模型,但理论上来说也适用其他模型。 其中主要有六个策略,每个策略下再有具体的技巧。 策略...

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

@JsonIgnore

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

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

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