github本周有趣的项目、工具和库
CubeCL
多平台高性能计算语言扩展,适用于 Rust。
借助 CubeCL,您可以使用 Rust 对 GPU 进行编程,利用零成本抽象来开发可维护、灵活且高效的计算内核。CubeCL 目前完全支持函数、泛型和结构,部分支持特征和类型推断。随着项目的发展,我们预计将为 Rust 语言原语提供更广泛的支持,同时保持最佳性能。
Cyclops
Cyclops 是一个开源开发工具,它通过易于使用的 UI 简化了 Kubernetes,使其不那么令人生畏。
Cyclops 是一款开源开发工具,它通过易于使用的 UI 简化了 Kubernetes,使其不再令人生畏。无需使用 YAML 创建和配置 Kubernetes 清单,使用 Cyclops 即可轻松配置和部署您的应用程序 - 包括验证!
得益于模板系统,Cyclops 的 UI 在定义配置时具有高度可定制性。我们的模板将数小时甚至数天的应用程序配置工作简化为几次点击。
sgrep
grep 查找与查询具有相似含义的单词。
w2vgrep 是一个命令行工具,它使用词嵌入对文本输入执行语义搜索。它旨在查找与查询语义相似的匹配项,而不仅仅是简单的字符串匹配。支持多种语言。体验设计得与 grep 类似。
特征
- 使用词嵌入进行语义搜索
- 可配置相似度阈值
- 上下文显示(匹配行之前和之后)
- 颜色编码输出
- 支持多种语言
- 从文件或标准输入读取
- 可通过 JSON 文件和命令行参数进行配置
Facebook 的 fasttext 小组已经发布了157 种语言的词向量- 这是一个惊人的资源。我想将这些文件托管在我的 github 帐户上,但遗憾的是它们太大而且太贵了。因此,我提供了一个小型 go 程序fasttext-to-bin,它可以从中创建兼容的二进制模型。(注意:使用带有“ .vec.gzw2vgrep ”扩展名的文本文件,而不是二进制“ .bin.gz ”文件)
vdm
通用版本依赖管理器。适用于 AI 模型的
vdm是 Git Submodules 的替代方案,用于以更合理的方式管理任意外部依赖项,原因相同。与其他一些试图解决此问题的工具不同,vdm它与语言无关,可用于任何需要远程开发资源的目的。
vdm可用于多种不同目的,但最常见的是作为跟踪您自己的代码可能需要但您没有语言原生方式指定的外部依赖项的一种方式。一些示例可能是:
- 您有一个共享的 CI 存储库,您需要从中访问常见的 shell 脚本、托管的构建任务等。
- 您正在构建和测试后端应用程序,并需要测试从中提供的前端代码,并且您的团队在另一个存储库中拥有该前端代码。
- 您的团队使用协议缓冲区,您需要能够导入其他松散 .proto文件来生成您自己的代码。
vdm让您清楚地指定所有远程依赖项及更多内容,并在需要时检索它们。
OpenShield
AI 模型为黑客提供了一种新的攻击媒介。他们可以使用 AI 模型生成恶意内容、垃圾邮件或网络钓鱼攻击。OpenShield 是 AI 模型的防火墙。它为 AI 模型提供速率限制、内容过滤和关键字过滤。它还为 OpenAI 模型提供标记器计算。
beszel
轻量级服务器监控中心:具有历史数据、docker 统计信息和警报。SSOReady企业
特征
- 轻量级:比领先的解决方案小得多,要求也低得多。
- Docker 统计:每个容器的 CPU 和内存使用历史记录。
- 警报:可配置 CPU、内存和磁盘使用情况以及系统状态的警报。
- 多用户:每个用户都有自己的系统。管理员可以跨用户共享系统。
- 简单:易于设置,不需要任何内容在线公开。
- OAuth / OIDC:支持许多 OAuth2 提供商。可以禁用密码验证。
- 自动备份:将数据保存到磁盘或 S3 兼容存储并从磁盘或 S3 兼容存储中恢复数据。
- REST API:在您自己的脚本和应用程序中使用您的指标。
SSO
用于企业 SSO 的开源开发工具。
我们认为,每个向企业销售软件的人都应该支持企业 SSO。这对您的客户来说是一个巨大的安全胜利。
企业 SSO 的最大问题是它太令人困惑了。大多数开源 SAML 库都是文档不足的混乱之物。每次我尝试实施 SAML 时,我都在寻找某人告诉我到底应该具体 做什么。
我们相信,如果您默认将企业 SSO 设置为显而易见且安全,那么将会有更多人实施企业 SSO。我们致力于让每位开发人员都清晰易懂且安全可靠。
此外,我们认为随意抬高安全软件的价格是完全不可接受的。MIT 许可的软件可以为您提供保障,防止我们这样做。您可以随意使用代码。如果我们行为不当,请分叉我们。
Cloudflare NoIP 替代方案
该项目提供了 NoIP.com 等付费动态 DNS 服务的免费替代方案。它允许您使用免费的 Cloudflare 帐户和计算机上的 cronjob 自动更新 Cloudflare 上的 DNS 记录。
Spring Boot + OpenAPI 生成器 + RestClient 演示
该项目是一个示例应用程序,展示如何在 Spring Boot 应用程序中从 OpenAPI 规范生成 HTTP 客户端。
OpenAPI 已成为定义和记录基于 HTTP 的 RESTful API 的事实标准。虽然 Spring Boot 本身不具备 OpenAPI 支持,但有一些第三方项目可以填补这一空白:
- ePages-de/restdocs-api-spec - [url=https://spring.io/projects/spring-restdocs]Spring REST Docs[/url]的扩展,增加了 OpenAPI 规范生成功能
- Springdoc - 根据 Spring MVC/Webflux 控制器和项目配置在运行时生成 OpenAPI 规范
- Springwolf - 与 Springdoc 类似,但适用于消息传递/异步 API - 为 Kafka/RabbitMQ/JMS/SQS 等集成生成符合 AsyncAPI 规范的规范
上面提到的所有 3 个项目都涵盖了 API 的服务器端。
由于 OpenAPI 是一个定义明确的规范,因此它也可以用于客户端来生成客户端代码。对于这种用例,有一个项目似乎是社区标准:https://openapi-generator.tech/。
OpenAPI 生成器可为各种编程语言/框架生成客户端。根据所选的生成器,它可能生成客户端或服务器代码。
今天我只专注于为 Spring Boot 应用程序生成 http 客户端代码,并记录我学到的知识以及如何根据我的需要调整生成器,但欢迎您探索它的其他功能。
lamp-boot
lamp-boot只是lamp项目的其中一个项目,她基于java+SpringBoot开发,她是一个微服务中后台快速开发平台,可以通过插件切换是否启用SaaS模式、通过配置切换SaaS模式采用独立数据库模式或者字段模式。
lamp-boot基于jdk21、jdk17、jdk11、jdk8 + SpringBoot的前后分离的快速开发平台,其中可配置的SaaS功能尤为凸显,具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、存储系统、全局事务、多个定时任务等多个模块,支持多业务系统任务开发,支持多服务任务开发,可以作为桌面服务的开发脚手架。代码简洁,注释清晰,架构清晰,非常适合学习和企业作为基础框架使用。
是中后台系统开发脚手的最佳选择。代码简洁,注释齐全,架构清晰,非常适合学习和作为企业基础框架使用。核心技术采用SpringBoot、Mybatis、RabbitMQ、FastDFS/MinIO等主要框架和中间件。希望能够努力打造一套从Web基础框架- 分布式微服务架构- 持续集成-系统监测 的解决方案。本项目旨在实现基础框架能力,不涉及具体业务。