Mkdir700's Note
Mkdir700's Note
Slow is Smooth, Smooth is Fast.
首页
Tec
工具
归档
说说
友链
关于
Tec
wiki
Tec
Python
2
算法题
8
数据库
3
爬虫
9
随笔
Web3
未定义
SQLite 锁机制:读锁策略与并发事务分析
在SQLite数据库中,读操作的锁获取策略会根据不同的上下文而变化,包括在事务外和事务内的操作。通过一个具体的实验验证了并发事务中的锁机制。实验结果显示事务A能执行UPDATE操作但在COMMIT时失败,保持数据库状态不变。SQLite的锁升级是延迟的,写操作的内存更改和实际写入文件分离,COMMIT阶段是关键竞争点。这种设计既保证数据一致性又提供较好并发性能。文章关键词:数据库锁,SQLite,SQLite 锁机制:读锁策略与并发事务分析。
Tec
数据库
SQLite
数据库锁
129
0
3
2024-12-26
使用 GoReleaser 发布 Rust 二进制文件
本文介绍了消费者获取二进制发布的几种方式,包括操作系统原生包格式、语言原生包格式和使用 curl shell 组合。在发布过程中,需要跨平台编译、打包、摘要验证和设置分发工件。GoReleaser是一个出色的打包工具,支持构建 Go 项目并提供丰富的功能。然而,GoReleaser目前只支持Go项目,对于其他语言还需要通过一些曲折的方式来实现跨平台构建。同时,通过godownloader可以生成一个curl-shell组合来分发二进制文件。最后,文章还提到了一些探索其他 Rust 发布工具的项目,例如cargo-release、cargo-deliver和cargo-hublish。文章关键词为使用 GoReleaser 发布 Rust 二进制文件。
Tec
81
0
0
2024-10-10
解决在 Windows 上 openssl-sys 构建失败的问题
在 Windows 上构建 Rust 时,缺少 OpenSSL 报错问题可以通过使用 choco 安装 OpenSSL 并设置环境变量解决。安装完成后设置 OPENSSL_DIR 和 OPENSSL_LIB_DIR 环境变量,重启 VSCode 即可成功构建。详情可参考 https://juejin.cn/post/6994715287178182693。
Tec
Rust
327
0
0
2024-09-16
解决 Rust 测试中的并行执行冲突:保护共享资源的策略
在 Rust 开发中,测试是确保代码质量的关键环节。然而,并行执行测试可能导致共享资源冲突。解决方案包括使用 serial_test crate 进行串行测试、互斥锁控制资源访问、创建独立测试环境、使用测试模块和一次性初始化以及忽略并行影响敏感测试。选择合适策略取决于具体需求,但保证测试的可靠性与一致性至关重要。
Tec
Rust
56
0
0
2024-09-13
Rust 中的跨平台开发:处理平台特定代码和未使用代码警告
在 Rust 中进行跨平台开发时,使用条件编译可以实现平台特定代码,确保最优实现并保持接口一致。然而,这可能导致静态分析工具将某些代码错误标记为"未使用"。解决方法包括使用 #[allow(dead_code)] 属性、在测试中使用平台特定代码、标记方法的可见性和使用特性标志。其中,使用条件编译属性抑制特定平台的未使用代码警告是一种精确控制、保持一致性、保持清晰度和完整性的优雅解决方案。这些策略帮助处理平台特定代码和未使用代码警告,适用于 Rust 中的跨平台开发。
Tec
61
0
0
2024-09-13
JS基础|let与var有什么区别?
JavaScript 中的 var 和 let 声明变量的区别主要体现在作用域和提升方面。var 是函数作用域或全局作用域,let 是块作用域。var 变量会提升,但不会初始化,而 let 变量在块作用域中提升且未初始化会导致错误。var 允许重复声明,而 let 不允许。在全局环境下,var 声明的变量会成为全局对象属性,而 let 不会。let 提供更严格的作用域控制和更安全的变量声明方式,适合现代 JavaScript 开发。
Tec
前端
JS
基础
91
0
0
2024-07-12
使用 http-server 调试油猴脚本
本文介绍了如何使用 HTTP 服务器高效地开发和调试油猴脚本。通过 HTTP 服务器,可以避免文件访问权限问题,具体步骤包括安装和启动 `http-server` 模块,以及更新油猴脚本以使用 HTTP URL。使用浏览器控制台检查错误信息进行调试。这对前端开发者在开发油猴脚本时非常实用。
Tec
前端
油猴脚本
58
0
0
2024-07-12
如何在 Python 中混合使用同步和异步函数?
异步编程可以提高应用程序的性能和吞吐量,因为它可以充分利用 CPU 和 I/O 资源。当某个任务被阻塞时,事件循环可以切换到另一个任务,从而避免浪费 CPU 时间。此外,异步编程还可以简化代码,使其更易于维护和调试。我们最常用的是同步编程,在同步场景中,某个任务被阻塞时,整个线程都会被挂起,直到
Python
Tec
Python
协程
Python技巧
747
0
1
2023-03-26
Python 泛型 - 如何在实例方法中获取泛型参数T的类型?
本文介绍了在 Python 中如何获取泛型参数类型的方法。通过分析源码和案例演示,可以使用 typing 库中的 get_args 和 get_origin 函数来获取泛型参数及原始类。特别是在实例方法中获取泛型参数 T 的类型时,可以通过 self.__orig_class__ 获得原始类。这有助于更精确地对代码进行类型标注。同时,文章简要分析了 Generic 源码并解释了为什么必须在初始化之后才能使用。这些技巧可以帮助 Python 开发者更好地理解和利用泛型特性。
Python
Tec
Python
Python技巧
1053
0
1
2023-02-23
1143. 最长公共子序列
算法题
Tec
动态规划
541
0
0
2022-10-03
下一页