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