SQLite 锁机制:读锁策略与并发事务分析

引言 在使用 SQLite 数据库时,我们经常会遇到并发事务的问题。本文将通过一个具体的实验来深入探讨 SQLite 的锁机制,特别是关于读操作的锁获取策略。 SQLite 中的读操作锁策略 SQLite 中的读操作获取锁的策略会根据不同的上下文而变化: 1. 事务外的读操作 在自动提交(autoc
mkdir700 2
SQLite 锁机制:读锁策略与并发事务分析

使用 GoReleaser 发布 Rust 二进制文件

作为消费者,我们喜欢通过以下方式之一获取二进制发布: 操作系统原生包格式,例如 deb、rpm 等。 语言原生包格式,例如 pip、npm 等。通过这种方式提供纯二进制文件并不常见,但有些项目会这样做,例如 puppeteer,它会下载最新的无头 Chrome 二进制文件。 使用 curl shel
mkdir700 0
使用 GoReleaser 发布 Rust 二进制文件

人道我贵,非我之能也,此乃时也、运也、命也。

天有不测风云,人有旦夕祸福。蜈蚣百足,行不及蛇;雄鸡两翼,飞不过鸦。马有千里之程,无骑不能自往;人有冲天之志,非运不能自通。   盖闻:人生在世,富贵不能淫,贫贱不能移。文章盖世,孔子厄于陈邦;武略超群,太公钓于渭水。颜渊命短,殊非凶恶之徒;盗跖年长,岂是善良之辈。尧帝明圣,却生不肖之儿;瞽叟愚顽,
mkdir700 0

解决在 Windows 上 openssl-sys 构建失败的问题

问题 在 Windows 下构建时抛出了下方错误,意思就是缺少 OpenSSL 这个玩意儿,如果在 Linux 平台直接用包管理工具安装就 OK 了,但是在 Windows 平台则需要手动操作。   OPENSSL_DIR unset   note: vcpkg did not find opens
mkdir700 0

解决 Rust 测试中的并行执行冲突:保护共享资源的策略

在 Rust 开发中,测试是确保代码质量的关键环节。然而,当我们的测试套件变得越来越大时,我们可能会遇到一个常见的问题:并行执行测试导致的共享资源冲突。 问题的根源 Rust 的测试框架默认并行执行测试,以提高效率。但当多个测试同时访问共享资源(如全局配置、数据库连接或文件系统)时,可能会导致意外的
mkdir700 0
解决 Rust 测试中的并行执行冲突:保护共享资源的策略

Rust 中的跨平台开发:处理平台特定代码和未使用代码警告

在 Rust 中进行跨平台开发时,我们经常需要为不同的操作系统提供不同的实现。同时,我们也需要处理一些由此产生的代码分析问题。本文将探讨如何有效地处理这些情况。 使用条件编译实现平台特定代码,Rust 提供了强大的条件编译功能,允许我们根据目标平台选择不同的代码实现。例如: pub struct P
mkdir700 0
Rust 中的跨平台开发:处理平台特定代码和未使用代码警告

ncdu:高效的磁盘使用分析工具

什么是 ncdu? ncdu 是一个基于 ncurses 库的磁盘使用分析工具,它提供了一个交互式的界面,让用户可以方便地查看和管理磁盘空间。与传统的 du 命令相比,ncdu 更加直观和用户友好,特别适合需要快速定位大文件和目录的场景。 ncdu(NCurses Disk Usage)以其高效、直
mkdir700 0
ncdu:高效的磁盘使用分析工具

Barrier - 在多台计算机之间共享键鼠及扩展屏幕

引言 Barrier 是一个开源软件,允许你在多台计算机之间共享一套键盘和鼠标。无论你是开发人员、设计师,还是普通用户,Barrier 都能帮助你提高工作效率,减少桌面上的杂乱。 Barrier 支持 Windows、Linux 和 macOS 平台,使得跨平台操作变得简单而高效。在这篇文章中,我们
mkdir700 0
Barrier - 在多台计算机之间共享键鼠及扩展屏幕

Airpods 左右固件版本不一致

问题 我的耳机是 airpod3,刚买来的半年一直都是正常的,之后右边耳机总是会断开,也就是总是只有左边这只耳机有声音。 然后根据这里的步骤尝试忘记并重连 airpods,然后莫名奇妙一对耳机,建立两个耳机连接,我这里忘记截图了,总之,在设置界面能看到两个 airpods,实际上就是两个耳机分别建立
mkdir700 0
Airpods 左右固件版本不一致