gRPC-Gateway:高效转换 RESTful 接口 | 开源日报 No.105

grpc-ecosystem/grpc-gateway
Stars: 16.4k License: BSD-3-Clause
gRPC-Gateway 是一个遵循 gRPC HTTP 规范的 gRPC 到 JSON 代理生成器。它是 Google 协议缓冲编译器 protoc 的插件,可以读取 protobuf 服务定义并生成反向代理服务器,将 RESTful HTTP API 转换为 gRPC。该项目旨在帮助用户同时以 gRPC 和 RESTful 风格提供 API,并且具有以下核心优势:
- 通过少量配置即可实现 HTTP+JSON 接口
- 可自动生成 OpenAPI (Swagger) v2 API 定义
- 支持设置 gPRC 超时时间
- 自动将 PATCH 请求转换为 Field Mask gPRC 请求
主要功能包括:
- 支持从 grpc-gateway stubs 中使用默认映射到 HTTP 语义
- 添加自定义注释进行方法参数映射、或者使用外部配置文件来设置自定义 HTTP 映射
- 能够根据需要写入用于 HTTP 反向代理服务器的入口点,并且可以选择性地利用
protoc-gen-openapiv2工具生成 OpenAPI 定义
pointfreeco/swift-composable-architecture
Stars: 10.2k License: MIT

Composable Architecture (TCA) 是一个用于以一致和可理解的方式构建应用程序的库,考虑到组合、测试和人体工程学。它可以在 SwiftUI、UIKit 等上使用,并且适用于任何苹果平台 (iOS、macOS、tvOS 和 watchOS)。
核心优势:
- 提供了几个核心工具,可用于构建不同目的和复杂度的应用程序。
- 支持状态管理,组件化开发,副作用处理以及测试功能。
- 可简单地实现所有这些功能并提供尽可能少概念与移动部分 API。
ryanburgess/engineer-manager
Stars: 9.6k License: NOASSERTION
这是一个工程经理资源链接列表,它提供了一系列有用的工程领导力资源。该项目包括以下内容:
- 导师计划:非营利性组织。
- 书籍推荐:涵盖如何更好地给予和接受反馈、与来自其他国家的人合作、影响他人等方面,并且还有关于管理自己以及多样化和包容性历史的文章。
此外,该项目还提供了许多其他书籍推荐,旨在帮助您成为优秀的领导者并解决团队问题。如果你正在寻找建立系统思考能力或想要创建更具包容性环境等主题相关信息,则可以从中获得很大收益。
minetest/minetest
Stars: 9.6k License: NOASSERTION
Minetest 是一个免费的开源体素游戏引擎,具有简单的模组和游戏创建功能。
- 易于修改和创造游戏
- 提供默认控制设置
- 支持路径定位及不同平台上的位置配置
- 可通过命令行选项进行自定义配置文件指定
- 提供 GNU/Linux、Windows 和 MacOS 下编译方法说明以及 Docker 支持与版本规则介绍
mshumer/gpt-prompt-engineer
Stars: 4.8k License: MIT

gpt-prompt-engineer 是一个强大的工具,可以帮助您进行提示工程。只需输入任务描述和一些测试用例,系统就会生成、测试并排名多种可能的提示,并找出最佳表现的那些。
该项目具有以下关键特性和核心优势:
- Prompt 生成:使用 GPT-4 和 GPT-3.5-Turbo,gpt-prompt-engineer 可以根据提供的用例和测试案例生成各种可能的提示。
- Prompt 测试:真正神奇之处在于这个步骤。系统将对每个提示与所有测试案例进行比较,并通过 ELO 等级评分体系对其进行排序。
- ELO 等级评分体系:每个初始等级为 1200,在相互竞争中不断改变等级来反映它们在处理给定问题时效果如何。因此您可以轻松地看到哪些是最有效果的 prompt。
ClemensElflein/OpenMower
Stars: 4.1k License: NOASSERTION

OpenMower 是一个 DIY 智能割草机器人项目,旨在改善当前一代的随机行进式割草机器人,并提供更好的软件。该项目主要功能和核心优势包括:
- 拥有高质量硬件:使用了具备齿轮传感无刷电动机、标准连接器等高品质硬件。
- 项目目标明确:自动修剪草坪、安全性良好、支持多个修剪区域且不需要周界线等。
- 开放共享:分享知识并使其他人也能构建 OpenMower。
- 能够避开障碍物,在雨天暂停修剪。
相关文章:
gRPC-Gateway:高效转换 RESTful 接口 | 开源日报 No.105
grpc-ecosystem/grpc-gateway Stars: 16.4k License: BSD-3-Clause gRPC-Gateway 是一个遵循 gRPC HTTP 规范的 gRPC 到 JSON 代理生成器。它是 Google 协议缓冲编译器 protoc 的插件,可以读取 protobuf 服务定义并生成反向代理服务器,将 RESTful HTTP…...
非专业的建模人员如何给模型设置材质纹理贴图?
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 1、材质和纹理的区别于关联 材质(Material)是…...
自动化测试、压力测试、持续集成
因为项目的原因,前段时间研究并使用了 SoapUI 测试工具进行自测开发的 api。下面将研究的成果展示给大家,希望对需要的人有所帮助。 SoapUI 是什么? SoapUI 是一个开源测试工具,通过 soap/http 来检查、调用、实现 Web Service …...
FFmpeg之HWContextType
HWContextType算是ffmpeg中为硬解码第三方接口的一个辅助类,它自己有两个辅助子类 AVHWDeviceContext和AVHWFramesContext。 AVHWDeviceContext主要表示硬件上下文 AVHWFramesContext主要表示硬件Frame的一些参数,比如你解码后的YUV数据还在硬件上&#…...
Python面向对象之类和对象(Python系列16)
前言:面向对象是什么,为什么要学面向对象?面向对象是一种思想,让我们的程序变得更加的贴切我们的生活,更加的形象,让代码的可读性和扩展性变得更高。 面向对象:可以使用类将变量和函数组成新的…...
电商对传统零售业的影响:销售渠道、价格竞争与服务质量挑战
随着互联网的普及和电商行业的飞速发展,传统零售业面临着前所未有的挑战。电商不仅改变了消费者的购物方式和消费习惯,还对传统零售业的销售渠道、价格竞争和服务质量等方面产生了深远的影响。本文将详细分析电商对传统零售业的影响,以期为传…...
DENet:用于可见水印去除的Disentangled Embedding网络笔记
1 Title DENet: Disentangled Embedding Network for Visible Watermark Removal(Ruizhou Sun、Yukun Su、Qingyao Wu)[AAAI2023 Oral] 2 Conclusion This paper propose a novel contrastive learning mechanism to disentangle the high-level embedd…...
C++初阶(十五)Stack和Queue
文章目录 一、Stack的模拟实现二、Queue的模拟实现三、容器适配器1、什么是容器适配器2、STL标准库中stack和queue的底层结构3、 deque的简单介绍(了解)1、deque的原理介绍2、deque的缺陷 4、为什么选择deque作为stack和queue的底层默认容器 一、Stack的模拟实现 #include<…...
C#面试题
基本概念 装箱和拆箱 装箱的过程,是将 值类型 转换为 引用类型 的过程; 拆箱则是将引用类型转换为值类型。 int val 100; object obj val; //装箱 int num (int) obj; //拆箱 委托(delegate) 委托(Delegate) 是存有对某个…...
python源码,在线读取传奇列表,并解析为需要的JSON格式
python源码,在线读取传奇列表,并解析为需要的JSON格式 [Server] ; 使用“/”字符分开颜色,也可以不使用颜色,支持以前的旧格式,只有标题和服务器标题支持颜色 ; 标题/颜色代码(0-255)|服务器标题/颜色代码(0-255)|服务…...
二叉排序树的判断(二叉树的顺序存储):2022年408算法题
对于采用顺序存储方式保存的二叉树,根结点保存在SqBiTNode[0]中;当某结点保存SqBiTNode[i]中时,若有左孩子,则其值保存在SqBiTNode [2i1]中;若有右孩子,则其值保存在SqBiTNode[2i2]中;若有双亲结…...
Kubernetes版本升级到v1.18.0方法
升级k8s版本才能使用kube-prometheus安装监控 1、查看集群状态 [rootk8s-master k8s-script]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready master 5d22h v1.18.0 k8s-slave1 Ready <none> 4d10h v1.18.0 k…...
了解 git rebase
了解 git rebase 大多数人习惯使用 git merge 将更改从功能分支合并到主分支,但还有其他方法。我们是否曾经遇到过 git rebase 这个术语并想知道它是什么?或者我们可能听说过 rebase 和 merge ,但不确定何时使用哪个?不用担心&am…...
程序员的养生之道:延寿健康的十大秘诀(下)
程序员的养生之道:延寿健康的十大秘诀(上)-CSDN博客 目录 6. 心理调节,减轻压力 6.1 程序员常见的心理问题 6.2 压力管理的重要性 6.3 放松技巧与应对策略 6.4 积极心态与心理健康 7. 正确坐姿,保护颈椎腰椎 …...
【java】保留前N月数据文件,定期删除数据
数据越积越多,过于冗余;数据库定期删除指定时间前的数据;文件生成的删除指定时间前端文件 SFTP文件定期删除 java sftp 定时清理指定文件中固定时间 依赖 <!-- ftp文件上传/下载Jar包 --> <dependency><groupId>com.jc…...
12.9_黑马数据结构与算法笔记Java
目录 057 多路递归 e03 杨辉三角2 thinking:二维数组的动态初始化? 057 多路递归 e03 杨辉三角3 058 链表 e01 反转单向链表1 058 链表 e01 反转单向链表2 058 链表 e01 反转单向链表3 递归 058 链表 e01 反转单向链表4 为什么是returnn1呢&…...
K8S学习指南(1)-docker的安装
文章目录 引言1. Windows 系统中安装 Dockera. 确认系统要求b. 下载 Docker Desktopc. 安装 Docker Desktopd. 配置 Docker Desktope. 验证安装 2. Ubuntu 系统中安装 Dockera. 更新包列表b. 安装依赖包c. 添加 Docker GPG 密钥d. 添加 Docker APT 仓库e. 安装 Dockerf. 添加用…...
vue3 + mark.js 实现文字标注功能
效果图 安装依赖 npm install mark.js --save-dev npm i nanoid代码块 <template><!-- 文档标注 --><header><el-buttontype"primary":disabled"selectedTextList.length 0 ? true : false"ghostclick"handleAllDelete"…...
运筹优化 | 模拟退火求解旅行商问题 | Python实现
"""模拟退火旅行商""" import random import numpy as np import math import time import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False location np.loadtxt(city_location.t…...
1017 A除以B
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 ABQR 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依…...
第二章 小程序目录结构与核心文件详解
第二章 小程序目录结构与核心文件详解 📚 系列教程:微信小程序投票系统完整开发 🔗 上一章:第一章 - 微信小程序概述与开发准备 🔗 下一章:第三章 - WXML 所有表单组件与使用 2.1 完整目录结构 wx/page/ …...
STM32 PVD中断防数据丢失实战:手把手教你配置2.9V阈值与紧急保存逻辑
STM32 PVD中断防数据丢失实战:手把手教你配置2.9V阈值与紧急保存逻辑 当嵌入式设备在野外采集数据或进行关键操作时,突然断电可能导致数月积累的传感器数据毁于一旦。我曾在一个农业物联网项目中亲历这种灾难——某次田间设备因电池接触不良断电…...
Node js 后端服务如何优雅集成 Taotoken 提供的多模型能力
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Node.js 后端服务如何优雅集成 Taotoken 提供的多模型能力 应用场景类,描述一个 Node.js 后端服务需要动态选择不同大模…...
【YOLO目标检测全栈实战】39 多模型流水线:当YOLO遇上OCR和语音合成,如何让四个模型“共线生产”?
DIA DALI,我们把187ms的串行方案优化到15ms,性能提升12倍。但说实话,那只是两个模型之间的“小打小闹”。 今天我们要面对的,是一个真正的“四国联军”——YOLOv8检测、ResNet分类、OCR文字识别、语音合成,四个模型串联成一条生产线。 你可能会想:“不就是把四个模型串…...
MultiFunPlayer终极指南:5分钟掌握开源设备同步软件,打造沉浸式娱乐体验
MultiFunPlayer终极指南:5分钟掌握开源设备同步软件,打造沉浸式娱乐体验 【免费下载链接】MultiFunPlayer flexible application to synchronize various devices with media playback 项目地址: https://gitcode.com/gh_mirrors/mu/MultiFunPlayer …...
3步彻底清理Windows右键菜单:ContextMenuManager高效管理指南
3步彻底清理Windows右键菜单:ContextMenuManager高效管理指南 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾因Windows右键菜单中堆积如山的…...
B站视频下载终极指南:5步轻松掌握BilibiliDown完整教程
B站视频下载终极指南:5步轻松掌握BilibiliDown完整教程 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/…...
蓝桥杯嵌入式:从零到一的考场环境搭建与避坑指南
1. 蓝桥杯嵌入式开发环境概述 参加蓝桥杯嵌入式比赛,环境搭建是第一个需要攻克的难关。很多同学第一次参赛时,往往把大量时间花在调试环境上,等到真正开始写代码时已经手忙脚乱。我在担任多届蓝桥杯志愿者时,见过太多选手因为环境…...
最新英语作文批改APP测评 适合学生党写作提分的实用指南
一、当前英语作文批改工具的共性痛点我们团队做了5年英语作文批改领域的内容产出,前后调研过近20款市面上的主流工具,发现行业内的共性痛点其实一直没得到很好的解决:对学生来说,多数工具只能改表层语法错误,不会结合写…...
智慧能耗管理系统:嵌入式工控机在工业节能中的核心应用
1. 工厂能耗管理的痛点与智能化转型契机 在制造业摸爬滚打十几年,我见过太多工厂在能耗管理上的“粗放式”经营。电费单是每个月固定的大额支出,但具体电用在了哪里,哪个车间、哪条产线、甚至哪台设备是“电老虎”,很多时候都是一…...
