发现

社区文章

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

MySQL 存储过程

前言 在项目开发中,经常会遇到这样一种场景,当修改A表的一条数据时,需要关联修改B表、C表甚至其他更多表的数据,为什么会这样呢? 在真实的业务场景中,往往一张表的数据关联的业务是多样的,举例来说,用户在页面上完成一个订单,对服务端来说,与这个订单相关的业务还有很多,比如生成一条出库记录,扣减库存,用...

正则表达式手册

表达式全集 常用表达式 用户名 /^[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})$/ ...

logrotate切割nginx日志

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

prompt 工程 之 视频生成

提示词的精确度与细节水平直接影响视频内容的质量。采用结构化提示词可以极大提升视频内容的符合度和专业性。 以下是构建提示词的关键组成部分: 提示词 = (镜头语言 +景别角度+ 光影) + 主体 (主体描述) + 主体运动 +场景 (场景描述) + (氛围) 镜头语言: 通过镜头的各种应用以及镜头之间...

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

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

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

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

监控

查看当前网速 nload命令 nload -t 200 -i 1024 -o 128 -U M devices eth0 查看内存占用 htop 按内存使用率排序 htop --sort-key=M_SIZE 分析磁盘使用情况 ncdu 安装 sudo apt-get install ncdu 查看...

Linux 打包

.tar (注:tar是打包,不是压缩!) 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName .tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName ...

Python nonlocal关键字

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

Git操作记录

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

Windows高级搜索

Windows高级搜索功能允许用户通过详细的搜索查询来更精确地查找文件和内容。以下是一些使用Windows高级搜索的技巧和方法。 1. 使用文件资源管理器的搜索功能 打开文件资源管理器:按Win + E键打开文件资源管理器。 导航到搜索栏:在文件资源管理器右上角,有一个搜索栏。输入你想要搜索的内容。...

MySQL8密码

MySQL版本 8.0.33 在 MySQL 8 中,默认情况下,root 用户通过密码登录是被禁用的,取而代之的是使用 unix_socket 认证插件,该插件允许 root 用户通过系统用户身份直接登录到 MySQL,而不需要密码。这就是为什么你可以通过 sudo mysql 命令直接登录 My...

Ubuntu版本号和发布名称对照表

发布日期 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...

@JsonIgnore

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

tar打包时间过长,后台打包

如果 tar 打包时间过长,可以采用以下方法将其放在后台运行: 先安装 screen(如果系统中没有安装),在 Ubuntu 系统中可以通过以下命令安装: sudo apt-get install screen 然后启动一个新的 screen 会话: screen -S backup_session...

MySQL UDF sys_exec()

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

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

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

Python解包操作

Python 的解包操作符 (用于列表、元组等序列)和 *(用于字典)可以用于多种场景。它们使得代码更简洁、灵活,并且提高了可读性。下面我会列举出几个常见的使用场景。 1. 函数参数中的解包(args 和 kwargs) 使用 * 解包列表/元组作为位置参数: 在定义函数时,*args 用于收集额外...

portainer 集群管理

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

DNS配置

中国大陆要稳定、快速的 DNS 服务,可以考虑以下替代 DNS: 114.114.114.114 / 114.114.115.115(114DNS,公共 DNS 服务,国内访问较快) 223.5.5.5 / 223.6.6.6(阿里云 DNS,国内优化) 119.29.29.29 / 119.28....