Mkdir700's Note
Mkdir700's Note
Slow is Smooth, Smooth is Fast.
首页
标签
归档
友链
关于
首页
标签
归档
友链
关于
Tec
wiki
Tec
Python
2
算法题
8
数据库
3
爬虫
9
随笔
Web3
未定义
SQLite 锁机制:读锁策略与并发事务分析
本文深入探讨了SQLite数据库的锁机制,特别是关于读操作的锁获取策略。在自动提交模式下,单条SELECT语句不会获取SHARED锁;而在显式事务中,读操作会获取SHARED锁并持续到事务结束。通过一个实验验证了在事务A进行更新操作时,但在尝试提交时失败的情况,最终数据库状态保持不变。总结表明SQLite的锁升级是延迟的,写操作的内存更改和实际文件写入是分离的,事务的COMMIT阶段是关键的锁竞争点,这种设计保证了数据一致性和较好的并发性能。
Tec
数据库
SQLite
数据库锁
276
0
3
2024-12-26
使用 GoReleaser 发布 Rust 二进制文件
消费者喜欢获取二进制发布的方式包括操作系统原生包格式、语言原生包格式、curl shell组合和现代二进制打包工具。打包和发布需要跨平台编译、打包、生成摘要、上传到提供者和设置分发工件。GoReleaser适用于构建和分发Go项目,但不支持其他语言。使用GoReleaser的破解方法包括通过dummy.go文件满足GoReleaser,钩入Rust构建,并覆盖Go工件。GoDownloader是GoReleaser的姊妹项目,生成curl-shell组合用于分发二进制文件。探索其他类似GoReleaser的Rust发布工具如cargo-release、cargo-deliver和cargo-publish。对于OSX上的跨平台构建,可以考虑docker-rustup。
Tec
186
0
0
2024-10-10
解决在 Windows 上 openssl-sys 构建失败的问题
在 Windows 平台构建 Rust 项目时遇到 openssl-sys 缺失的问题,需要手动安装 OpenSSL。通过 choco 安装 OpenSSL,并设置环境变量 OPENSSL_DIR 和 OPENSSL_LIB_DIR。详细步骤可查看指定链接,安装完成后重启 VSCode 即可解决构建问题。
Tec
Rust
1052
0
0
2024-09-16
解决 Rust 测试中的并行执行冲突:保护共享资源的策略
在 Rust 开发中,测试是确保代码质量的关键环节。然而,并行执行测试可能导致共享资源冲突。解决方案包括使用 serial_test crate 标记应该串行执行的测试、使用互斥锁控制资源访问、创建独立的测试环境隔离测试、使用测试模块和一次性初始化减少重复代码以及使用 #[ignore] 属性分离问题测试。选择合适的策略取决于具体需求和项目结构,但重要的是意识到并行测试可能带来的问题,并采取适当措施确保测试可靠性。
Tec
Rust
126
0
0
2024-09-13
Rust 中的跨平台开发:处理平台特定代码和未使用代码警告
在 Rust 中进行跨平台开发时,使用条件编译实现平台特定代码是一个常见做法。通过 Rust 提供的强大条件编译功能,可以根据目标平台选择不同的代码实现,从而保持接口的一致性。然而,这可能导致静态分析工具错误标记特定平台代码为"未使用",进而产生警告。为解决这一问题,可以使用`#[allow(dead_code)]`属性、测试中使用平台特定代码、条件编译标记方法的可见性或者特性标志。这些解决方案能够精确控制未使用代码警告,保持跨平台一致性,确保代码清晰可读,并且保持文档完整性,是优雅处理平台特定代码和未使用代码警告的方式。
Tec
142
0
0
2024-09-13
JS基础|let与var有什么区别?
在 JavaScript 中,var 和 let 用于声明变量,但它们区别在于作用域和提升。var 是函数作用域或全局作用域,而 let 是块作用域。提升方面,var 变量会被提升但不初始化,let 会导致 ReferenceError。var 允许重复声明变量,而 let 不允许。全局对象属性方面,var 声明的变量会成为全局对象属性,而 let 不会。let 提供更严格的作用域控制,更安全,适合现代 JavaScript 开发。
Tec
前端
JS
基础
147
0
0
2024-07-12
使用 http-server 调试油猴脚本
最近学习前端知识时遇到需求使用油猴插件,提升网页定制化能力。文章介绍如何使用 HTTP 服务器高效开发调试油猴脚本,避免权限问题。通过安装并使用 Node.js 的 http-server 模块,更新油猴脚本使用 HTTP URL,并检查控制台错误信息。这种方法可在任何操作系统上进行开发,提高效率。
Tec
前端
油猴脚本
154
0
0
2024-07-12
Python 泛型 - 如何在实例方法中获取泛型参数T的类型?
本文介绍了在 Python 中使用泛型时如何获取泛型参数的类型。通过 `typing` 库中的 `get_args` 和 `get_origin` 函数,可以获取泛型参数和原始类。对于在实例方法中获取泛型参数类型的问题,可以通过在方法内部调用 `self.__orig_class__` 来获取原始类。此外,文章简要分析了 `Generic` 类的源码和语法糖实现原理。通过深入讨论类的实例化和调用过程,解释了为什么必须在 `__init__, __new__` 之后才能获取泛型参数的类型。
Python
Tec
Python
Python技巧
1242
0
1
2023-02-23
1143. 最长公共子序列
Tec
算法题
动态规划
588
0
0
2022-10-03
1508. 子数组和排序后的区间和
算法题
Tec
前缀和
矩阵
二分查找
630
0
2
2022-09-11
下一页