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执行UPDATE操作而不被阻塞,但在尝试COMMIT时失败(database is locked)。最终数据库状态保持不变,验证了SQLite的锁升级是延迟的特性。这种设计保证了数据一致性且提供了良好的并发性能。
数据库
Tec
SQLite
数据库锁
253
0
3
2024-12-26
使用 GoReleaser 发布 Rust 二进制文件
消费者获取二进制发布的方式包括操作系统原生包格式、语言原生包格式、curl shell 组合以及现代二进制打包工具。打包和发布需要跨平台编译、打包、摘要验证、上传到提供者和设置分发工件。GoReleaser支持构建Go项目并能打包、上传到Github releases或Amazon S3,但无法构建Go以外的内容。使用dummy.go文件和后阶段钩入可破解GoReleaser构建过程,而godownloader可生成shell脚本。探索其他类似于GoReleaser的Rust发布工具,如cargo-release、cargo-deliver和cargo-hublish。如果需要在OSX进行Rust跨平台构建,可使用docker-rustup。
Tec
170
0
0
2024-10-10
解决在 Windows 上 openssl-sys 构建失败的问题
在 Windows 上构建 Rust 时,可能会遇到 openssl-sys 报缺少 OpenSSL 的错误。解决方法包括使用 choco 安装 OpenSSL,并设置相应环境变量。安装完成后需设置 OPENSSL_DIR 和 OPENSSL_LIB_DIR 环境变量,然后重启 VSCode 即可成功构建。详细操作可参考提供的文章链接。
Tec
Rust
971
0
0
2024-09-16
解决 Rust 测试中的并行执行冲突:保护共享资源的策略
在 Rust 开发中,测试是确保代码质量的关键环节。并行执行测试可能导致共享资源冲突问题,影响测试的有效性。为解决这一问题,可以使用 serial_test crate 进行测试串行执行,使用互斥锁控制资源访问,创建独立的测试环境隔离测试,或者利用测试模块和一次性初始化共享初始化逻辑。另外,可以使用 #[ignore] 属性标记并独立运行特定测试。选择合适的策略可有效保护共享资源,确保测试的可靠性和一致性。
Tec
Rust
114
0
0
2024-09-13
Rust 中的跨平台开发:处理平台特定代码和未使用代码警告
在 Rust 中进行跨平台开发时,使用条件编译可以实现平台特定代码,确保不同平台选择不同实现并保持接口一致。然而,此方法可能导致静态分析工具错误标记代码为"未使用",可通过添加 #[allow(dead_code)] 属性、测试中使用平台特定代码、条件编译标记方法的可见性以及使用特性标志来解决。另外,使用条件编译属性抑制特定平台的未使用代码警告可精确控制警告出现的平台,保持跨平台一致性和代码清晰度,保留代码的文档完整性。这些方法解决了静态分析工具警告问题,同时保持了代码的跨平台兼容性和可读性,是处理平台特定代码的优雅解决方案。
Tec
127
0
0
2024-09-13
JS基础|let与var有什么区别?
在 JavaScript 中,`var` 和 `let` 用于声明变量,主要区别在于作用域和提升方面。`var` 是函数作用域或全局作用域,而 `let` 是块作用域。变量提升时,`var` 会被提升但不初始化,而 `let` 未初始化会报错。重复声明时,`var` 允许,`let` 不允许。全局变量属性上,`var` 成为全局对象属性,`let` 不会。综上,`let` 提供更严格的作用域控制和更安全的变量声明方式,适合现代 JavaScript 开发。
Tec
前端
JS
基础
135
0
0
2024-07-12
使用 http-server 调试油猴脚本
学习前端知识时碰到油猴脚本需求,油猴脚本定制化网页能力强。为高效开发调试油猴脚本,可通过 HTTP 服务器避免权限问题。步骤包括安装和启动 http-server 模块,更新脚本使用 HTTP URL,并检查控制台错误信息。 F12 打开开发者工具检查。
Tec
前端
油猴脚本
136
0
0
2024-07-12
Python 泛型 - 如何在实例方法中获取泛型参数T的类型?
本文介绍了在Python中如何处理泛型。通过分析源码和示例,讨论了使用typing库中的get_args和get_origin函数获取泛型参数的方法。在实例方法中,通过调用self.__orig_class__获取原始类,从而得到泛型参数的类型。此外,文章还简要解析了Generic类的源码,说明了为什么必须在__init__、__new__方法之后才能使用。文章关键词:Python,Python泛型技巧。
Python
Tec
Python
Python技巧
1217
0
1
2023-02-23
1143. 最长公共子序列
Tec
算法题
动态规划
579
0
0
2022-10-03
1508. 子数组和排序后的区间和
算法题
Tec
前缀和
矩阵
二分查找
621
0
2
2022-09-11
下一页