Mkdir700's Note

Mkdir700's Note

最新文章

在 zsh 里同时用上 Vim 和 Emacs 快捷键

很多开发者在终端里用 zsh 的时候,会习惯性地打开 bindkey -v,进入 vi 模式。这样做的好处很明显:命令行也能像 Vim 一样分成 普通模式和插入模式,用 h/j/k/l 移动光标,w/b 按词跳转,甚至可以 dd 删除一整行,yy/p 来复制粘贴——对于重度 Vim 用户来说非常顺手
VIM
38
0
0
2025-08-21

macOS 代码签名配置指南

概述 配置 macOS 代码签名和公证,确保应用能够在 macOS 上正常分发和运行。 前置要求 Apple Developer 账户 需要付费的 Apple Developer Program 会员资格 个人账户或组织账户均可 开发者证书 Developer ID Application Cert
113
0
0
2025-06-20

如何对特定 Commit 中的指定文件进行 Revert

在日常开发中,需要对特定 Commit 中的指定文件进行回滚操作。可以通过使用 Git 的不同方法实现这一目的。方法一是使用 `git checkout`,适用于大多数场景,操作简单直观,不影响其他文件,适用于完全回滚某个文件到指定 commit 之前的状态。方法二是使用反向补丁,支持部分行的回滚,适用于需要精确控制回滚内容的场景。方法三是交互式 Revert,提供最大的灵活性,适用于复杂的部分回滚需求。方法四是手动编辑,适用于简单更改或需要在回滚时进行额外修改的场景。无论选择哪种方法,操作前需要做好准备工作,并注意验证回滚结果、提交信息规范等细节。部分文件回滚是 Git 版本控制的高级技巧,选择合适的回滚方法取决于具体需求,但任何回滚操作都应该谨慎进行。
55
0
0
2025-05-26

Rust 项目中解决依赖重复编译问题:以 objc2 为例

在开发桌面剪贴板同步应用(UniClipboard)时,遇到了一个令人蛋疼的问题:即使只修改一些与 objc2 库完全无关 的代码,每次构建时 Rust 编译器仍然会重新编译 objc2 库,这严重影响了开发效率。 问题描述 该应用是一个基于 Tauri 的跨平台桌面应用,使用 Rust 作为后端。
164
0
1
2025-03-29

Rust 中优雅地实现类型转换:从自定义方法到通用 trait

在 Rust 开发中,我们经常需要在不同类型之间进行转换。最近在开发过程中,我遇到了一个优化类型转换代码的问题。 问题背景 我的项目中有一个从 Payload 和路径创建 ClipboardMetadata 的功能。最初是通过自定义静态方法实现: impl ClipboardMetadata {
130
0
0
2025-03-28

分布式事务的挑战:从 Saga 到 2PC,以及 SQLite 的局限性

引言 在构建分布式系统时,保证数据一致性是一个核心挑战。当业务流程需要跨越多个服务或数据源时,简单的本地事务不再足够。本文将探讨分布式事务管理中的两种主要模式——Saga 和两阶段提交(2PC),以及在使用 SQLite 等嵌入式数据库时面临的特殊挑战。 Saga 模式:最终一致性的权衡 Saga
62
0
0
2025-03-27

什么是 WebRTC 及简单实现

WebRTC (Web Real-Time Communication) is an open-source technology that enables real-time audio, video calls, and peer-to-peer data transfer in web browsers and mobile applications through a simple API, without the need for plugins or third-party software. The WebRTC connection establishment process involves multiple steps, including signaling, Offer/Answer exchange, ICE candidate exchange, and data channel communication. The core components of WebRTC include Signaling Server, RTCPeerConnection, Offer and Answer, session descriptions, and channels. ICE (Interactive Connectivity Establishment) plays a crucial role in solving network connectivity issues, addressing NAT traversal, optimal path selection, and connection recovery. ICE candidates, STUN servers, and TURN servers are essential parts of the ICE workflow. ICE is essential for WebRTC to function in complex network environments. An example of a peer-to-peer chat application based on WebRTC using a signaling server is also provided.
152
0
0
2025-03-24

什么是向量数据库

原文地址: https://weaviate.io/blog/what-is-a-vector-database 向量数据库简介 什么是向量数据库? 向量数据库是一种对结构化或非结构化数据(如文本或图像)及其向量嵌入(数据的数值表示)进行索引、存储和提供访问的数据库。它允许用户在生产环境中快速查找和
100
0
0
2025-03-19

React严格模式下事件监听器失效

问题描述 在基于 Tauri 和 React 的 UniClipboard 应用中,我遇到了一个与组件中事件监听器相关的问题。具体表现为:当应用启动后,控制台输出以下日志: [Log] 开始加载剪贴板记录... (ClipboardContent.tsx, line 85) [Log] 启动后端剪贴
98
0
0
2025-03-18

Rust 异步线程安全问题解析与修复

问题概述 在 Rust 异步编程中,一个常见的错误是在持有 Mutex 锁的情况下使用 .await,这会导致编译错误: future cannot be sent between threads safely the trait `std::marker::Send` is not impleme
124
0
0
2025-03-16
阅读更多