Mkdir700's Note
Mkdir700's Note
Slow is Smooth, Smooth is Fast.
首页
Tec
工具
归档
说说
友链
关于
最新文章
常见设计模式 Python 实现
本文介绍了三种常见的设计模式的 Python 实现,分别是单例模式、工厂模式和观察者模式。在单例模式中,实现了一个数据库连接池管理器,确保系统中只有一个连接池实例;工厂模式设计了一个支持多种数据格式解析的文件处理系统,包括 CSV、JSON、XML 和 YAML 格式的文件解析器;观察者模式实现了一个股票市场监控系统,当股票价格变化时通知注册的观察者。每种设计模式都包含了相应的类和方法,并通过测试代码验证了设计的正确性。
架构设计
24
0
0
2025-03-14
SQLite 锁机制:读锁策略与并发事务分析
在SQLite数据库中,读操作的锁获取策略会根据不同的上下文而变化,包括在事务外和事务内的操作。通过一个具体的实验验证了并发事务中的锁机制。实验结果显示事务A能执行UPDATE操作但在COMMIT时失败,保持数据库状态不变。SQLite的锁升级是延迟的,写操作的内存更改和实际写入文件分离,COMMIT阶段是关键竞争点。这种设计既保证数据一致性又提供较好并发性能。文章关键词:数据库锁,SQLite,SQLite 锁机制:读锁策略与并发事务分析。
Tec
数据库
SQLite
数据库锁
129
0
3
2024-12-26
使用 GoReleaser 发布 Rust 二进制文件
本文介绍了如何通过不同方式获取二进制发布,包括操作系统原生包格式、语言原生包格式、curl shell 组合以及现代二进制打包工具。在进行打包和发布时,需要跨平台编译、打包、摘要验证、上传到指定提供者并设置分发工件。GoReleaser在打包和分发方面表现优异,尤其适用于构建Go项目。对于Rust项目,可以通过在GoReleaser中插入虚拟程序并在构建后阶段执行必要的Rust构建,以绕过GoReleaser对于Go以外项目的限制。另外,介绍了GoDownloader项目和其他类似GoReleaser的Rust发布工具。
Tec
82
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
Airpods 左右固件版本不一致
用户反馈AirPods右耳总是断开的问题,导致左右耳机连接不一致。解决方案是将耳机固件升级到最新版本,分别配对左右耳机。等待耳机固件被 passively 升级,在充电盒旁放置iPhone整夜。隔天再重新配对即可解决问题。
未定义
数码
541
0
0
2024-07-18
在 MacOS 上获取应用的捆绑标识符(Bundle identifier)
在 MacOS 上,使用 <code>osascript</code> 命令行工具可以获取应用程序的 bundle identifier,其中 <code>osascript -e 'id of app "Obsidian"' </code> 用于获取名为 "Obsidian" 应用程序的唯一标识符。Bundle identifier 是一个用于标识应用程序的唯一字符串,通常类似于反向域名格式。如果应用程序已安装并正在运行,则该命令将返回其 bundle identifier,否则可能会出现找不到应用程序的错误信息。
wiki
MacOS
Command
296
0
0
2024-07-17
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
上一页
下一页