不同线程对线程间共享资源的操作会造成线程不安全,一般采用threading.RLock来解决这个问题。 threading.RLock 和 threading.Lock的区别 threading.Lock 和 threading.RLock 都是 Python 标准库 threading 中提供的锁类型,用于多线程编程中对共享资源的访问控制。它们之间的主要区别在于可重入性(Reentrancy): […]
学习以及项目中的一些代码片段整理
使用docker-compose一键部署rabbitmq多节点集群
使用docker-compose一键部署rabbitmq多节点集群,这里经过实际测试成功部署后,已上传到github,保持更新。 主要工作: 一键部署多节点; 节点加入集群 rabbitmq management 默认管理用户和密码设置; 关于加入集群,这里有一些简单的规则说明: join_cluster 命令有一个可选的参数 –ram ,该参数代表新加入的节点是内存节点,默认是磁盘节 […]
mysql建库时选择的utf8_general_ci和utf8_unicode_ci有什么区别?
摘自stackoverflow上的一个回答: 对于那些在 2020 年或之后仍在阅读这个问题的人来说,有一些新的选项可能比这两个都更好。例如,utf8_unicode_520_ci。 所有这些排序规则都适用于 UTF-8 字符编码。它们之间的区别在于文本的排序和比较方式。 _unicode_ci 和 _general_ci 是两种不同的排序和比较文本的规则集,根据我们的预期方式进行排序和比较。 M […]
vscode配置PHP代码检查和格式化工具PHP Sniffer & Beautifier
这里介绍的是在vscode中配置插件PHP Sniffer & Beautifier,达到代码质量管理,包括代码检查和格式化的使用。 如果你使用的IDE是phpstorm,查看这篇文章:phpstorm 配置使用代码质量工具PHP CodeSniffer 在计算机上安装php_codesniffer包 在计算机某个目录(假设目录为/tool_path)中使用composer安装需要的php […]
在ubuntu22.04中使用阿里云镜像站安装docker(官方安装太慢)
之前介绍过在 CentOS7安装Docker配置服务端和容器自启动,这次是要在 Ubuntu 22.04 上安装docker,略有不同。 安装一些依赖。 sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release 在国内的网络环境下,如果使用官方的源来安装docker,下载安 […]
关闭ubuntu22.04的Daemons using outdated libraries服务重启提示弹窗
在一个全新安装的Ubuntu 22.04 LTS上,每次使用apt安装或更新软件包时,会出现一个 Daemons using outdated libraries 弹窗,Which service should be restarted ? 大概是下面这个样子: 这让我想起了windows上每次打开一个应用都会弹窗提示安全提醒,异曲同工啊。一脸懵的情况下,只能一阵点击Esc,Enter后自求多福了 […]