Java中的final关键字

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

@JsonIgnore

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

MySQL 填坑

大量sleep进程 用root账户登录mysql后,显示当前所有进程 mysql > show processlist; +----+-----------------+-----------------+-----------+---------+------+------------------...

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

spring security中的permitAll和anonymous

在Spring Security中,permitAll和anonymous是两个用于配置安全策略的表达式,它们用于定义对特定资源的访问权限。虽然它们在某些情况下可能产生类似的行为,但它们的意图和用途是不同的。 permitAll 含义: permitAll用于指定某个资源是完全开放的,不需要任何安全...

Python字符串前加 u/r/b/f

1. 字符串前加u 例: u'我是含有中文字符组成的字符串' 作用:后面字符串以Unicode格式进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。 2. 字符串前加r 例: r'\n\n\n' # 表示一个普通生字符串\n\n\n,而不表示换行。 作用:去掉反斜杠...

正则表达式手册

表达式全集 常用表达式 用户名 /^[a-z0-9_-]{3,16}$/ 密码 /^[a-z0-9_-]{6,18}$/ 十六进制值 /^#?([a-f0-9]{6}|[a-f0-9]{3})$/ 电子邮箱 /^([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})$/ ...

Jupyter Lab

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

logrotate切割nginx日志

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

iptables

iptables iptables/ip6tables命令,用于在Linux内核中设置、维护和检查IPv4和IPv6数据包过滤规则的表,从而实现IPv4/IPv6数据包过滤和NAT的管理工具。它可以定义多个不同的表,每个表中包含多个预定义的链,也可能包含用户自定义的链。每个链都是一个规则列表,用来匹...

MySQL审计功能

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

StatsModels 统计回归——线性回归

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

utf8mb4和utf8

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

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

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

Python nonlocal关键字

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

Python 模块 contextvars

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

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

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

Linux创建用户、赋予权限

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

portainer 集群管理

Portainer 是一个轻量级且直观的开源容器管理工具,专为简化和管理 Docker 和 Kubernetes 环境而设计。它提供了一个用户友好的图形界面,使用户能够方便地管理容器、镜像、网络和卷。 通过docker安装portainer。 portainer/portainer-ce:alpin...

YAML 教程

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