FastAPI 项目使用 PyArmor 外置许可证混淆与授权
Python 3.13.5 Pyarmor 9.1.8 (trial) 一、背景与目标 在向多家企业交付 FastAPI 服务时,我们既要保护源码避免泄露,又要灵活控制授权(机器绑定 + 到期)。PyArmor 8.5+ 的 外置许可证(Runtime Key) 机制可以让我们 一次混淆代码、多次下...
来自 MMao 贡献者的精选知识。
Python 3.13.5 Pyarmor 9.1.8 (trial) 一、背景与目标 在向多家企业交付 FastAPI 服务时,我们既要保护源码避免泄露,又要灵活控制授权(机器绑定 + 到期)。PyArmor 8.5+ 的 外置许可证(Runtime Key) 机制可以让我们 一次混淆代码、多次下...
1.激活虚拟环境 假设有一个flask项目,使用venv虚拟环境。 ctrl+shift+p,调出命令,选择如下Python: Select interpreter 选择之后,弹出选择环境的对话框 选择对应的虚拟环境即可。 在打开一个py文件后,vscode的状态栏会显示当前项目的虚拟环境信息 2....
操作 删除分支 切换到master分支 git checkout dev 删除本地分支 git branch -d userstory 强制删除本地分支 git branch -D userstory 删除远程分支 git push origin --delete userstory 修改gitig...
utf8 和 utf8mb4 都是 MySQL 中的字符集(Character Set),用于存储和处理文本数据。但它们之间有一些重要的区别,尤其是在支持字符范围和编码方式上。 1. 编码范围的区别 utf8: 在 MySQL 中,utf8 实际上是一个不完整的 UTF-8 编码实现。它最多只能表示...
.tar (注:tar是打包,不是压缩!) 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName .tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName ...
格式化字符串字面值 (简称为 f-字符串)在字符串前加前缀 f 或 F,通过 {expression} 表达式,把 Python 表达式的值添加到字符串内。 格式说明符是可选的,写在表达式后面,可以更好地控制格式化值的方式。下例将 pi 舍入到小数点后三位: import math print(f'...
Ubuntu 20.04 Rabbitmq 3.8.3 Erlang 22.27 1.安装erlang 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令: sudo apt-get install erlang-nox # 安装erlang e...
在现代软件开发中,我们经常需要处理不同系统之间的数据交换。Python 开发者通常遵循 PEP 8 规范使用 snake_case 命名,而前端 JavaScript 开发者习惯使用 camelCase,数据库可能又有自己的命名约定。如何在保持代码规范的同时实现系统间的无缝对接?Pydantic 的...
大量sleep进程 用root账户登录mysql后,显示当前所有进程 mysql > show processlist; +----+-----------------+-----------------+-----------+---------+------+------------------...
发布日期 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...
以下文章展示了在 Ubuntu(以 20.04 为例)上,通过 APT 安装 Certbot 并使用 --nginx 插件,一步完成 Let’s Encrypt 证书的获取、安装与自动续期的全过程。全文共分为五大部分,每部分都配有实用命令示例和丰富引用,帮助您快速上手并在生产环境中稳定运行。 在本文...
前言 触发器(TRIGGER)是由事件来触发某个操作。这些事件包括insert语句、update语句和delete语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。 一、创建触发器 触发器是由insert、update和delete等事件来触发某种特定操作。满足触发器的触发条件时,数据...
首选需要安装ffmpeg,然后将ffmpeg可执行文件的路径设置到环境变量PATH中 将以下脚本拷贝到convert.bat文件中,将此文件放置到有mkv视频格式的文件夹中,双击convert.bat文件运行,循环转换视频,从mkv转换为mp4格式。 注意: 在使用notepad++编辑conver...
Python中的装饰器是一种非常有用的功能,它允许你在不修改原有函数代码的前提下,给函数增加新的功能。你可以把装饰器想象成一个包装纸,它可以把一份礼物(函数)包装起来,增加一些装饰(功能),但不改变礼物本身。装饰器在Web开发、日志记录、权限校验等多个领域都有广泛应用。 基本原理 装饰器本质上是一个...
在日常的终端操作中,我们常常会看到带颜色或特殊样式的输出,这些效果大多是通过 ANSI 转义序列 实现的。本文将详细介绍常用的颜色与样式参数,以及它们的使用方法。 什么是 ANSI 转义序列 ANSI 转义序列是一种在终端中控制文本显示样式的标准方法,通过特定的转义码(Escape Sequence...
简单传输 1 .拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/root目录下 scp -r /home/administrator/test/ root@192.168.1.100:/root/ 2. 拷贝单个文件至远程主机 scp /hom...
Redis报错了 too many open files 这时候应该通过redis-cli SHUTDOWN停止不掉redis-server,因为connect refuse 可以直接kill掉进程 查看PID ps -e | grep redis 杀死进程 kill -9 PID 杀死进程后,通过...
简介 在实际应用中,经常会碰到在web请求时,因为网络的不稳定,会有请求超时的问题,这时候,一般都是自己去实现重试请求的逻辑,直到得到响应或者超时。虽然这样的逻辑并不复杂,但是代码写起来却不那么优雅,不那么pythonic。 tenacity是一个重试库,使用python语言编写,它能够让我们在任务...
在flask项目中,一般都配置了CSRF,表单提交时,带上csrf_token字段即可,如果是ajax方式提交,需要设置csrf_token const csrfToken = $('meta[name=csrf-token]').attr('content'); const postData = ...
创建用户并指定权限 创建用户 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以...