Mkdir700's Note
Mkdir700's Note
Slow is Smooth, Smooth is Fast.
首页
标签
归档
友链
关于
首页
标签
归档
友链
关于
Tec
wiki
Tec
Python
2
算法题
8
数据库
3
爬虫
9
随笔
Web3
未定义
SQLite 锁机制:读锁策略与并发事务分析
在SQLite数据库中,读操作获取锁的策略因上下文不同而变化。在并发事务中,事务A执行更新操作而不被阻塞,但在尝试提交时失败。实验验证了SQLite的锁升级是延迟的特性,以及写操作的内存更改和实际文件写入是分离的特点。事务的COMMIT阶段是最关键的锁竞争点。SQLite的设计既保证了数据一致性,又提高了并发性能。通过分析并发事务的运行结果和时序图,解释了SQLite的锁机制与读锁策略。
数据库
Tec
SQLite
数据库锁
264
0
3
2024-12-26
使用 GoReleaser 发布 Rust 二进制文件
消费者获取二进制发布的方式包括操作系统原生包格式、语言原生包格式、curl shell 组合和现代二进制打包工具。打包和发布的步骤包括跨平台编译、打包、摘要、上传和设置分发工件。GoReleaser支持Go项目打包和分发,但不支持构建Go以外的项目。通过在OSX主机上使用cross进行Rust跨平台编译,可以方便生成Linux和OSX构建。GoReleaser的破解方法可实现Rust构建,并通过dummy.go文件满足GoReleaser。另外提到的GoDownloader可以生成curl-shell组合并免费提供安装二进制文件的shell脚本。探索其他Rust发布工具如cargo-release、cargo-deliver和cargo-hublish。
Tec
173
0
0
2024-10-10
解决在 Windows 上 openssl-sys 构建失败的问题
在 Windows 上构建 Rust 项目时可能遇到 OpenSSL 缺失导致的错误,需要手动安装 OpenSSL 并设置环境变量。可以通过 choco 安装 OpenSSL,然后设置 OPENSSL_DIR 和 OPENSSL_LIB_DIR 环境变量。最后在 VSCode 中重新构建项目即可解决问题。详细安装和设置步骤可参考提供的链接。
Tec
Rust
1003
0
0
2024-09-16
解决 Rust 测试中的并行执行冲突:保护共享资源的策略
在 Rust 开发中,测试是关键环节,但测试并行执行导致共享资源冲突是常见问题。解决方案包括使用 serial_test crate 串行执行测试、使用互斥锁确保资源独占、创建独立测试环境隔离测试、使用测试模块和一次性初始化共享初始化逻辑、使用 #[ignore] 属性标记容易受影响测试并单独运行。选择适合的策略取决于需求和项目结构,但要意识到并行测试可能带来潜在问题,采取措施确保测试可靠性和一致性。
Tec
Rust
119
0
0
2024-09-13
Rust 中的跨平台开发:处理平台特定代码和未使用代码警告
在 Rust 中处理跨平台开发时,使用条件编译可以实现平台特定代码,保持接口一致性。然而,静态分析工具可能错误标记特定平台代码为"未使用"。解决方法包括使用 #[allow(dead_code)] 属性、在测试中使用平台特定代码、条件编译标记方法的可见性以及使用特性标志。另外,使用条件编译属性抑制特定平台的未使用代码警告不仅控制精准,而且保持了跨平台一致性、代码清晰度和文档完整性。这些方法综合起来是处理平台特定代码的优雅解决方案。
Tec
131
0
0
2024-09-13
JS基础|let与var有什么区别?
JavaScript 中的 var 和 let 用于声明变量,但它们在作用域和提升方面有重要区别。var 是函数作用域或全局作用域,而 let 是块作用域。提升时,var 变量会被提升到函数或全局顶部,let 则被提升到块顶部。重复声明上,var 允许,let 不允许。全局变量时,var 成为全局对象属性,let 不会。let 提供更严格的作用域控制和更安全的变量声明,更适合现代 JavaScript 开发。
Tec
前端
JS
基础
140
0
0
2024-07-12
使用 http-server 调试油猴脚本
本文介绍了如何通过使用 HTTP 服务器来高效地开发和调试油猴(Tampermonkey)脚本,避免了频繁复制粘贴代码的低效问题。通过安装和启动 <code>http-server</code> 模块,更新油猴脚本使用 HTTP URL,可以在任意操作系统上进行开发。文章指导在浏览器控制台检查错误信息,以提高定制化能力。
Tec
前端
油猴脚本
144
0
0
2024-07-12
Python 泛型 - 如何在实例方法中获取泛型参数T的类型?
在Python中,泛型提供了灵活的类型注解方式,可以通过typing库的get_args和get_origin函数来获取类的泛型参数和原始类。通过示例代码演示了如何在实例内部获取泛型参数的类型,需要使用self.\_\_orig\_class\_\_属性。同时,对Generic类的源码进行了简要分析,说明了为何必须在\_\_init\_\_或\_\_new\_\_之后才能使用泛型参数。通过代码分析了Generic类中\_\_class_getitem\_\_方法的实现原理,以及_GenericAlias类的\_\_call\_\_方法是如何实现实例化过程的。文章还探讨了如何获取泛型参数T的类型,以及在实例方法中获取原始类及泛型参数数据类型的方法。
Python
Tec
Python
Python技巧
1230
0
1
2023-02-23
1143. 最长公共子序列
算法题
Tec
动态规划
581
0
0
2022-10-03
1508. 子数组和排序后的区间和
Tec
算法题
前缀和
矩阵
二分查找
623
0
2
2022-09-11
下一页