LocalSend等11个Github有趣项目

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

本文介绍了九个有趣的Github项目、工具和库,包括LocalSend、tokamakZig、wirequery、FireflyDB、Stanchion、dep-tree、stract、VersionFox和DotSlash。这些项目涵盖了文件发送和接收、Web框架、应用程序数据分析、键值存储引擎、表格扩展、代码库熵可视化、开放源码搜索引擎和版本管理器等领域。

🔎

延伸解读

LocalSend:无需互联网的跨平台文件共享

LocalSend 通过本地网络和 HTTPS 加密实现设备间安全通信,不依赖外部服务器,适合在无互联网环境下快速传输文件。其跨平台支持覆盖 Windows、macOS、Linux、Android、iOS 和 Fire OS,类似 AirDrop 但更开放。

FireflyDB:高性能键值存储的取舍

FireflyDB 基于哈希实现微秒级延迟,写入速度远超 LevelDB 和 RocksDB,但要求所有键驻留内存且不支持范围查询。最大键 32KB,值可达 2.14GB,适合高吞吐低延迟场景,但内存成本较高。

Stanchion:为 SQLite 引入列式存储

Stanchion 是 SQLite 扩展,支持面向列存储,适合分析查询和宽表。它仅扫描查询涉及的列,并采用游程长度和位打包压缩,显著降低大型数据集存储成本,但需安装 Zig 并克隆仓库使用。

DotSlash:简化可执行文件部署与跨平台构建

DotSlash 通过缓存和按需获取可执行文件,帮助排除仓库中的重量级二进制,确保跨平台一致构建。在 Meta 每天执行数亿次,与 Buck2 远程执行集成,但需注意封闭构建环境中的网络限制。

❓

Q&A

LocalSend 是什么?它有什么特点?

LocalSend 是一个免费、开源的跨平台文件共享应用,允许在本地网络上安全地与附近设备共享文件和消息,无需互联网连接。它使用 REST API 和 HTTPS 加密进行安全通信,TLS/SSL 证书在每台设备上动态生成。支持 Windows、macOS、Linux、Android、iOS 和 Fire OS。

tokamakZig 框架的主要特点是什么?

tokamakZig 是一个基于依赖注入的服务器端 Web 框架。处理函数可以接受任意数量的参数,框架会尝试提供它们。它内置了一个简单的路由器,支持最多 16 个基本路径参数和 * 通配符。如果处理程序返回错误,框架会将其序列化为 JSON 并发送给客户端。

FireflyDB 的性能如何?它有哪些设计权衡?

FireflyDB 是一个快速、线程安全、基于 JVM 的键值存储引擎,具有微秒级延迟。读取速度比 Bitcask 快 20 倍,写入速度快 10 倍;写入速度比 LevelDB 和 RocksDB 快约 100 倍。它基于哈希,放弃范围查询以实现高吞吐量和低延迟。所有键必须适合内存,最大键大小为 32KB,最大值大小为 2.14 GB。

Stanchion 是什么?它适用于哪些场景?

Stanchion 是 SQLite 3 的扩展,为 SQLite 带来面向列的存储。它适合分析查询和宽表,因为它只扫描查询引用的列中的数据,并使用游程长度和位打包编码等压缩技术减小存储大小。适用场景包括存储和处理指标、日志和事件数据,时序数据存储和分析,对多行和几列的分析查询,更改跟踪、历史/临时表,以及锚定建模/类似 Datomic 的数据模型。

dep-tree 如何帮助开发者保持代码库整洁?

dep-tree 是一个 CLI 工具,通过 3D 力导向图可视化代码库的熵,帮助开发者保持代码库整洁和解耦。它从入口点开始,为每个导入文件创建子节点,递归形成文件依赖关系图。可以在浏览器中渲染 3D 图,在终端中导航,或在 CI 系统中验证依赖规则是否与 .dep-tree.yml 文件中声明的边界匹配。

VersionFox 是什么?它支持哪些功能?

VersionFox 是一个跨平台、可扩展的版本管理器,支持 Java、Node.js、Flutter、.Net 等多种语言。它允许使用命令行快速安装和切换不同版本的 SDK,SDK 以 Lua 脚本形式作为插件提供。支持 Global、Project、Session 范围的版本切换,自动切换运行时版本,并提供 shell 完成。它比 asdf-vm 更快,提供更简单的命令和真正的跨平台统一。

🏷️

标签

➡️

继续阅读