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