LocalSend等11个Github有趣项目

11个Github有趣的项目、工具和库包

1、LocalSend
在安卓 苹果和windows等之间跨平台发送接受文件,类似AirDrop。

  • LocalSend 是一个免费、开源的应用程序,允许你在本地网络上安全地与附近设备共享文件和消息,无需互联网连接。
  • LocalSend 是一个跨平台应用程序,使用REST API和HTTPS加密实现设备之间的安全通信。与依赖外部服务器的其他消息应用程序不同,LocalSend 不需要互联网连接或第三方服务器,因此成为本地通信的快速可靠解决方案。
  • LocalSend 使用安全通信协议,允许设备通过 REST API 进行通信。所有数据都通过 HTTPS 安全地发送,并且 TLS/SSL 证书会在每台设备上动态生成,确保最大的安全性。

支持:视窗、苹果系统、Linux、安卓、iOS系统、Fire OS

2、tokamak
Zig的服务器端Web框架,主要依赖于依赖注入。

该框架是围绕依赖注入的概念构建的。这意味着您的处理函数可以采用任意数量的参数,并且框架将尝试为您提供它们。

const tk = @import("tokamak");

pub fn main() !void {
    var server = try tk.Server.start(allocator, hello, .{ .port = 8080 });
    server.thread.join();
}

//您可以轻松编写一个处理程序函数,该函数将动态创建一个字符串并将其返回给客户端,
//而无需与服务器或请求/响应类型紧密耦合。
fn hello() !const u8 {
    return
"Hello";
}

路由
本着 Express.js 的精神,内置了一个简单的路由器。它最多支持 16 个基本路径参数和*通配符。

如果您的处理程序返回错误,框架将尝试将其序列化为 JSON 并将其发送到客户端。

fn hello() !void {
    // This will send 500 and {"error": "TODO"}
    return error.TODO;
}

3、wirequery
在不影响保密性的前提下,捕捉、探索和分析进出应用程序的数据。

  • 通过查询发生事件的确切状态,可以更快地修复生产事件。
  • 通过探索生产数据来加快开发速度并获得技术/业务见解。
  • 免费且开源,让您可以随心所欲地使用WireQuery。

WireQuery SDK 根据 WireQuery 中提供的查询捕获 HTTP 请求和响应。屏蔽是在应用程序本身中完成的,以便敏感数据在到达 WireQuery 服务器之前就被剥离。

特点:

  • 探索:输入查询,让目标(生产)系统立即开始捕获 HTTP 请求。
  • (存储)查询:存储查询,以便在后台运行。
  • 扩展跟踪:对结果及其主体进行跟踪,以便查看整个堆栈中发生的情况。
  • 会话允许非技术用户同时启动多个查询。
  • 全栈录制:像录制视频一样录制前端,同时捕获相关的后端请求。
  • 屏蔽轻松屏蔽机密信息,让您安心查询。

4、FireflyDB
FireflyDB 是一个快速、线程安全、基于 JVM 的键值存储引擎,具有微秒级延迟。
 FireflyDB 的读取速度比具有类似架构的Bitcask快 20 倍,写入速度快 10 倍。

FireflyDB是基于哈希的,并放弃范围查询以实现高吞吐量和低延迟。因此,它的写入速度比LevelDB (Google) 和RocksDB (Facebook) 快约 100 倍。
FireflyDB 依赖于合理的默认值,并且不公开许多配置选项。 FireflyDB 的设计经过合理权衡以实现高性能:

  1. 所有键都必须适合内存。这是所有基于哈希的存储引擎的权衡。即使最大键大小为 32KB,FireflyDB 也可以在每 1GB 内存中存储 32,000 多个键。
  2. FireflyDB 不支持范围查询。
  3. 最大键大小为 32768 字节或 32KB。
  4. 最大值大小为 2,147,483,647 字节或 2.14 GB。


5、Stanchion
SQLite 中的面向列的表。SQLite 扩展,可将面向列的表格引入 SQLite。

Stanchion 是 SQLite 3 的扩展,它为部署最广泛的数据库 SQLite 带来了面向列存储的强大功能。 SQLite 专门支持面向行的表,这意味着它并不适合所有工作负载。使用 Stanchion 插件可以将面向列的存储和数据仓库的所有优势带到已部署 SQLite 的任何地方,包括您现有的技术堆栈。
在许多情况下,面向列的存储优于面向行的存储:

  • 存储和处理指标、日志和事件数据
  • 时序数据存储和分析
  • 对多行和几列进行分析查询(例如,计算数月每小时天气数据的平均温度)
  • 更改跟踪、历史/临时表
  • 锚定建模/类似 Datomic 的数据模型

Stanchion 非常适合分析查询和宽表,因为它只扫描给定查询引用的列中的数据。它使用游程长度和位打包编码等压缩技术,显着减小存储数据的大小,从而大大降低大型数据集的成本。这使其成为存储大型、扩展数据集的理想解决方案。

安装 Zig(master)并克隆stanchion存储库。


6、dep-tree
用 3d 力导向图直观显示代码库的熵;帮助开发人员保持代码库整洁和解耦的工具。它允许使用文件的 3D 力导向图及其之间的依赖关系来可视化“代码库熵”。

适用:TS/Js、Python和Rust

dep-tree 是一款可视化代码库复杂性的 cli 工具,可用于创建确保松散耦合的规则。

它使用文件工作,这意味着每个文件都是依赖树中的一个节点:

  • 它从一个或多个入口点开始,这些入口点通常是程序中的主要可执行文件或暴露库内容的文件(如 package/main.py、src/index.ts、src/lib.rs......)。
  • 它为根文件创建一个父节点,并为每个导入文件创建一个子节点。
  • 这个过程对所有导入的文件进行递归重复,直到形成文件依赖关系图。
  • 如果在浏览器中渲染代码库熵,节点将使用 3d 力导向图渲染。
  • 如果在终端中渲染依赖树,节点将以人类可读的方式放置,用户可以使用键盘在图中导航。
  • 如果在 CI 系统中验证依赖规则,它会检查文件之间的依赖关系是否与 .dep-tree.yml 文件中声明的某些边界相匹配。

7、stract
Stract 是一个开放源码搜索引擎,用户可以准确查看搜索结果,并自定义搜索结果的几乎所有内容。

  • 尊重您的搜索查询的关键字搜索。
  • 完全独立的搜索索引。
  • 高级查询语法(site:等intitle:)。
  • DDG 风格的!bang 语法
  • 维基百科和 stackoverflow 侧边栏
  • 使用第三方跟踪器降低网站排名
  • 使用光学几乎无限地定制您的搜索结果。
    • 将您的搜索限制在博客、独立网络、教育内容等范围内。
    • 自定义搜索过程中信号的组合方式以获得最终搜索结果
  • 优先考虑来自您信任的网站的链接(中心性)。
  • 探索网络并找到与您喜欢的网站类似的网站。

特点:
  • Tantivy 的作者和贡献者提供了构建 Strat 的倒排索引库。
  • commoncrawl 组织,用于抓取网络并使数据集随时可用。尽管我们现在有了自己的爬虫,但 commoncrawl 在开发的早期阶段提供了巨大的帮助。


8、VersionFox
跨平台、可扩展的版本管理器,支持 Java、Node.js、Flutter、.Net 等。

它允许您使用命令行快速安装和切换不同版本的 SDK。 SDK 以 Lua 脚本形式作为插件提供。这意味着您可以实现自己的 SDK 源或使用其他人共享的插件来安装 SDK。这一切都取决于你的想象力。 ;)

为什么使用 VersionFox?

  • 跨平台支持(Windows、Linux、macOS)
  • 适用于多种语言的单一 CLI
  • 管理所有语言的一致命令
  • 版本切换时支持Global、Project、Session范围
  • 简单的插件系统添加对您选择的语言的支持
  • 当您遍历项目时自动切换运行时版本
  • shell 完成可用于常见 shell(Bash、Zsh、Powershell)
  • 它比 更快asdf-vm,并提供更简单的命令和真正的跨平台统一。

如果你已经安装了vfox,你可以使用vfox available命令查看所有可用的插件。


9、DotSlash
简化可执行部署。

DotSlash ( dotslash) 是一个命令行工具,旨在帮助获取可执行文件、验证它,然后运行它。它维护所获取的可执行文件的本地缓存,以便后续调用速度更快。

DotSlash 有助于将重量级二进制文件排除在您的存储库之外,同时确保您的开发人员无缝地获得他们需要的工具,从而确保跨平台的一致构建。在 Meta,DotSlash 每天执行数亿次, 为最终用户开发人员以及封闭的构建环境提供第一方和第三方工具的组合。

DotSlash 是用 Rust 编写的,因此它可以快速、透明地运行您的可执行文件。

背景:
在 Meta,我们使用Buck2作为构建系统,其关键设计原则之一是 远程执行优先。也就是说,Buck2 期望构建规则定义的计算在远程主机上执行,最好是在某种密封容器中。这样做是为了确保构建的可重复性,并促进跨可用硬件的并行构建操作。

由于 Buck2 及其补充远程执行集群用于构建各种环境(Web、移动、VR、桌面),因此有多种工具可供单个远程执行调用使用。尝试使用“正确的工具集”创建自定义 Docker 容器并确保每个工具都与正确的构建作业配对将非常难以管理。

相比之下,DotSlash 使开发人员可以“自助服务”,因为他们只需将适当的 DotSlash 文件提交到存储库即可引入新工具。由于在远程执行容器中执行时,DotSlash 将“按需”延迟获取相应的工件,因此无需使用新工具为远程执行集群构建和发布自定义容器。

也就是说,您不希望“封闭”构建容器能够发出任意 HTTP GET 请求。诚然,这与 DotSlash 获取工件的方式不一致。在 Meta,我们通过将 DotSlash 工件直接写入远程执行集群使用的内容可寻址存储 (CAS) 并将特殊标识符写入 DotSlash 文件来解决这个问题,DotSlash 的内部分支可以使用该标识符从 CAS 读取。

机制:
由于执行 DotSlash 文件可以“运行任何内容”,因此 DotSlash 文件的来源至关重要。在 Meta,绝大多数 DotSlash 文件都是由我们的持续集成 (CI) 系统创建的。

该系统确保 DotSlash 文件在无需人工干预的情况下定期重新生成,并且 DotSlash 交付的构建工件是在正确的构建环境中生成的,而不会受到人为篡改。


10、OLMo
真正最先进的开放大模型和框架。
OLMo 和框架包括:

  • 完整的预训练数据:该模型基于 AI2 的Dolma数据集构建,该数据集具有用于语言模型预训练的 3 万亿个令牌开放语料库,包括生成训练数据的代码。
  • 训练代码和模型权重: OLMo 框架包括 7B 规模的四个模型变体的完整模型权重,每个模型至少训练有 2T 个令牌。提供了推理代码、训练指标和训练日志。
  • 评估:我们发布了开发中使用的评估套件,每个模型包含 500 多个检查点,来自训练过程中的每 1000 个步骤,以及 Catwalk 项目下的评估代码。


11、Lockbox
Lockbox 是用于进行第三方 API 调用的转发代理。

当工作流平台需要代表您进行第三方 API 调用时,它会进行 Lockbox API 调用。 Lockbox调用第三方API,并将结果返回给工作流平台。
主要优点

  • 第三方 API 密钥永远不会暴露给工作流程平台
  • 您可以审核代表您进行的所有 API 调用
  • [计划]可以更细粒度地限制对外部API的访问
  • [计划]限制第三方API调用速率