Mkdir700's Note
Mkdir700's Note
Slow is Smooth, Smooth is Fast.
首页
标签
归档
友链
关于
首页
标签
归档
友链
关于
Tec
wiki
Tec
Python
2
算法题
8
数据库
3
爬虫
9
随笔
Web3
未定义
SQLite 锁机制:读锁策略与并发事务分析
本文深入探讨了在使用 SQLite 数据库时的并发事务问题,重点是关于读操作的锁获取策略。在 SQLite 中,读操作的锁策略在不同上下文下会有所变化,包括事务外的读操作和显式事务内的读操作。通过具体实验验证了相关行为,展示了事务 A 能够执行更新操作但在提交时失败,最终数据库状态保持不变。文章总结了SQLite的锁升级延迟特性及事务的 COMMIT 阶段作为关键锁竞争点,既保证了数据一致性也提供了较好的并发性能。
数据库
Tec
SQLite
数据库锁
213
0
3
2024-12-26
使用 GoReleaser 发布 Rust 二进制文件
作为消费者,获取二进制发布的方式包括操作系统原生包格式、语言原生包格式、curl shell 组合和现代二进制打包工具。发布二进制文件需要跨平台编译、打包、摘要验证和路径格式方案。GoReleaser 在打包和分发方面表现出色,支持构建 Go 项目并具备多项功能。破解 GoReleaser 构建过程可以通过 dummy.go 文件和后阶段钩入实现。而 godownloader 则是 GoReleaser 的姊妹项目,可生成 shell 脚本安装二进制文件。探索其他 Rust 发布工具包括 cargo-release、cargo-deliver 和 cargo-hublish。需要在OSX上进行跨平台构建时,docker-rustup 是一个有用的工具。
Tec
150
0
0
2024-10-10
解决在 Windows 上 openssl-sys 构建失败的问题
在 Windows 上构建 Rust 时可能遇到缺少 OpenSSL 的错误,需手动安装 OpenSSL,并设置环境变量。使用 choco 安装 OpenSSL,设置 OPENSSL_DIR 和 OPENSSL_LIB_DIR 环境变量。最后重启 VSCode 可解决问题。详细步骤可参考相关链接。
Tec
Rust
830
0
0
2024-09-16
解决 Rust 测试中的并行执行冲突:保护共享资源的策略
在 Rust 开发中,测试是确保代码质量的关键环节。并行执行测试可能会导致共享资源冲突。解决方案包括使用 serial_test crate 标记串行执行的测试、使用互斥锁确保资源访问、创建独立测试环境隔离测试、使用测试模块和一次性初始化共享初始化代码、以及使用 #[ignore] 属性标记特殊测试并单独运行。选择策略取决于项目需求,但要注意潜在问题并确保测试可靠性。
Tec
Rust
99
0
0
2024-09-13
Rust 中的跨平台开发:处理平台特定代码和未使用代码警告
在 Rust 中进行跨平台开发时,使用条件编译实现平台特定代码是一种有效的策略。通过条件编译,我们可以为不同平台提供最优实现,同时保持接口一致性。然而,这可能导致静态分析工具错误地标记特定代码为"未使用"。为解决此问题,可以使用 #[allow(dead_code)] 属性、在测试中使用平台特定代码、使用条件编译标记方法的可见性或使用特性标志。其中,使用条件编译属性抑制特定平台的未使用代码警告是一种精确控制、保持跨平台一致性、保持代码清晰度和文档完整性的优雅解决方案。这些方法解决了静态分析工具警告问题,同时保持了代码的跨平台兼容性和可读性。
Tec
105
0
0
2024-09-13
JS基础|let与var有什么区别?
在 JavaScript 中,var 和 let 用于声明变量,具有不同的作用域和提升特性。var 声明的变量是函数或全局作用域,而 let 是块作用域。变量的提升也不同,var 变量会被提升但不初始化,let 变量访问未初始化会报错。var 允许重复声明,let 不允许。全局对象属性方面,var 成为全局对象属性,let 不会。综合来看,let 提供了更严格的作用域控制和更安全的变量声明方式,更适合现代 JavaScript 开发。
Tec
前端
JS
基础
114
0
0
2024-07-12
使用 http-server 调试油猴脚本
本文介绍了如何通过使用HTTP服务器高效地开发和调试油猴脚本。通过安装`http-server`模块,并启动HTTP服务器,可以避免文件访问权限问题,并在任意操作系统上进行开发。更新油猴脚本以使用HTTP URL,确保每次页面加载都重新加载JS脚本。最后,在目标网页上检查浏览器控制台以查看错误信息。这种方法可以提升油猴脚本开发效率,适用于前端开发者。
Tec
前端
油猴脚本
105
0
0
2024-07-12
Python 泛型 - 如何在实例方法中获取泛型参数T的类型?
本文介绍了在 Python 中如何解析泛型以及如何在实例方法中获取泛型参数类型。通过 `typing` 库中的 `get_args` 和 `get_origin` 函数可以实现泛型参数的获取和原始类的获取。需要注意的是,`get_args` 和 `get_origin` 仅支持内置类型。同时,通过分析 `Generic` 源码,可以理解必须在 `__init__` 或 `__new__` 方法执行后才能使用泛型参数的原因。文章突出了通过 `Demo.__orig_class__` 在实例方法中获取原始类的方法,并最终提供了在实例方法中获取泛型参数类型的解决方案。
Python
Tec
Python
Python技巧
1180
0
1
2023-02-23
1143. 最长公共子序列
算法题
Tec
动态规划
565
0
0
2022-10-03
1508. 子数组和排序后的区间和
Tec
算法题
前缀和
矩阵
二分查找
612
0
2
2022-09-11
下一页