本周github上Hatchify等9个有趣项目
github上有趣的项目、工具和库
1、Lapdev
自托管远程开发环境
Lapdev是一个自托管应用程序,可在您自己的服务器或云上启动远程开发环境。它可以从角落里的单台机器扩展到全球服务器群。
通过演示https://ws.lap.dev/快速了解 Lapdev 的工作原理
特征
- 轻松自托管: Lapdev 旨在以最少的安装和维护工作进行自托管。该应用程序旨在正常运行,使您无需深入了解内部结构来进行故障排除。
- 水平可扩展性:凭借简单而强大的架构,Lapdev可以从单台机器扩展到一组服务器,这样您就可以拥有一个可以与您的开发团队一起成长的开发环境管理系统。
- 开发环境即代码:使用Devcontainer 开放规范,Lapdev 允许您将开发环境定义为代码。这使您能够标准化可在不同开发人员之间复制的开发环境,避免与环境相关的问题并确保每个人的设置保持一致。
- 节省入职时间:新项目的开发人员入职不需要花费数小时或数天的时间来准备机器上的环境。他们可以立即开始编码。
2、Kvrocks
Apache Kvrocks 是一个分布式键值 NoSQL 数据库,使用 RocksDB 作为存储引擎,兼容 Redis 协议。
与 Redis 相比,Kvrocks 旨在降低内存成本并增加容量。复制和存储的设计灵感来自rocksplicator和blackwidow。
Kvrocks 具有以下主要特点:
- Redis 兼容:用户可以通过任何 Redis 客户端访问 Apache Kvrocks。
- 命名空间:与 Redis SELECT 类似,但每个命名空间配备有令牌。
- 复制:像 MySQL 一样使用 binlog 进行异步复制。
- 高可用性:支持Redis哨兵在master或slave故障时进行故障转移。
- 集群:集中管理,但可通过任何 Redis 集群客户端访问。
3、pgJQ
Postgres的jq扩展。
pgJQ 扩展嵌入了标准 jq 编译器,并将备受喜爱的 jq lang 引入了Postgres。
如果您喜欢这个想法,请查看:liteJQ:SQLite 的 jq 扩展
- jq已经从一个 cli 工具发展成为一个成熟的 DSL,但它仍然是一个 20-80 的工具。
- pgJQ已针对这 20% 的案例进行了 TDD。如果您遇到 vanillajq和 pgJQ 之间的回归,特别是围绕管道过滤器或复杂函数,请添加一个问题以及测试用例!
- 但请记住,在 RDBMS 上下文中复制整个 DSL 可能没有多大意义
4、Hatchify
加速CRUD网络应用程序开发的框架。
Hatchify 是一个 Web 应用程序框架,旨在加速 CRUD 应用程序的开发。如果您需要的只是基本应用程序,Hatchify 可以直接从数据类型架构为您提供功能齐全的系统。如果您有更专业的要求,Hatchify 可以轻松定制应用程序的每个部分以满足您的需求。
Hatchify 的结构为许多模块化库,可以根据需要单独使用这些库,以尽可能多或尽可能少地使用。 Hatchify 提供低代码开发的速度和自定义代码的可扩展性。
5、Dropflow
一个 CSS 布局引擎。
Dropflow 是一个 CSS 布局引擎,旨在探索基本 CSS 标准的范围(即:内联、块、浮动、定位以及最终的表格,但不包括 Flexbox 或网格)。它具有高质量的文本布局实现,并且能够显示世界上许多语言。您可以使用它通过 Node 和节点画布在后端生成 PDF 或图像,或者将丰富的换行文本渲染到浏览器中的画布上。
6、GritQL
GritQL 是一种声明式查询语言,用于搜索和修改源代码。
GritQL 是一种用于搜索和修改源代码的声明性查询语言。
- 一旦学习了 GritQL,您就可以用它来重写任何目标语言:JavaScript/TypeScript、Python、JSON、Java、Terraform、Solidity、CSS、Markdown、YAML、Rust、Go 或 SQL
- 简单开始,无需学习 AST 详细信息:任何代码片段都是有效的 GritQL 查询
- 使用 Rust 和查询优化可扩展至 10M+ 行存储库
- 使用 Grit 的内置模块系统重用 200 多个标准模式或分享您自己的模式
- GritQL 可以轻松包含自动修复规则,以实现更快的修复
7、pgwire
PostgreSQL 线缆协议以 rust 库的形式实现。
为您的数据服务构建 Postgres 兼容的访问层。
该库实现 PostgreSQL Wire Protocol,并提供必要的 API 来编写 PostgreSQL 兼容的服务器和客户端。
Postgres Wire Protocol 是一个相对通用的第七层协议。该协议有 3 个部分:
- 启动:客户端-服务器握手和身份验证。
- Simple Query:postgresql基于文本的查询协议。查询以字符串形式提供,服务器可以流式传输数据作为响应。
- 扩展查询:一种新的查询子协议,能够在服务器端缓存查询并使用新参数重用它。响应部分与简单查询相同。
使用 pgwire 的项目
- GreptimeDB:云原生时间序列数据库
- risinglight:用于教育目的的 OLAP 数据库系统
- PeerDB Postgres 第一个 ETL/ELT,使 Postgres 的数据移入和移出速度提高 10 倍
- CeresDB CeresDB 是蚂蚁集团推出的高性能、分布式、云原生时序数据库。
- dozer是一个用于构建、部署和维护数据产品的实时数据平台。
8、Retina
用于 Kubernetes 的 eBPF 分布式网络可观察性工具。
Retina 是一个与云无关的开源Kubernetes 网络可观测平台,它提供了一个用于监控应用程序运行状况、网络运行状况和安全性的集中中心。它为集群网络管理员、集群安全管理员和 DevOps 工程师提供可操作的见解,帮助他们了解 DevOps、SecOps 和合规性用例。
Retina收集可自定义的遥测数据,这些遥测数据可以导出到多个存储选项(例如 Prometheus、Azure Monitor 和其他供应商),并以多种方式进行可视化(例如 Grafana、Azure Log Analytics 和其他供应商)。
特征
- 适用于 Kubernetes 工作负载的基于eBPF的网络可观察性平台。
- 按需且可配置。
- 可操作的行业标准Prometheus 指标。
- 简化的数据包捕获,可进行深入研究。
- 与云无关,支持多种操作系统(如 Linux、Windows、Azure Linux)。
9、WhatTheDuck
WhatTheDuck 是一个基于 DuckDB 的开源网络应用程序。它允许用户上传 CSV 文件,将其存储在表格中,并对数据执行 SQL 查询;
WhatTheDuck 是一个基于 DuckDB 构建的开源 Web 应用程序,旨在允许用户上传 CSV 文件,将其存储在表中,并对上传的数据执行 SQL 查询。该应用程序还提供以 CSV 格式下载过滤结果的功能,支持上传多个文件,并使用户能够执行联接查询。需要注意的是,应用程序将数据临时存储在内存中,刷新页面会清除所有上传的数据。