InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

数据交换格式 Cap’n Proto 添加了支持 Windows 等新特性

  • 2017-05-15
  • 本文字数:863 字

    阅读完需:约 3 分钟

距首次发布近两年半后,数据交换格式和 RPC 系统 Cap’n Proto发布了0.6 版,其中添加了对Windows 支持,并强化了安全,此外还有其它一些新特性。

据Cap’n Proto 的作者 Kenton Varda 介绍,发布上的显著延迟并非是疏于开发,事实上该项目一直在进行开发,这要归因于并未优先考虑将其父项目 Sandstorm.io 移植到 Windows 平台。现在由于 Microsoft 编译器提供了对当代 C++ 的支持,向 Windows 平台的移植变得容易了,其中涉及序列化、动态 API、模式解析器、RPC 和工具,以及使用输入完成接口(I/O completion port)实现的异步 I/O 架构。此外,为维持移植到 Windows 平台移植后的健康性,Cap’n Proto 团队还建立了持续集成

除了全面支持 Windows 平台之外,最新版的 Cap’ Proto 还做了一些改进以更安全地面对可能的攻击。其中包括对指针验证的改进,用于在编译时和更彻底的测试中检测整型溢出。

新的 0.6 版对 Cap’n Proto 生态系统添加了两个有用的组件:

  • libcapnp-json 。它是一个 JSON 与 Cap’n Proto 的双向转换器,意在简化基于 Cap’n Proto 前端对基于 JSON 前端的集成。
  • libkj-http 。它是一个基于异步 I/O 的极简 HTTP 库,目前依然在开发中。

作为一种数据交换格式,Cap’n Proto 无需在内存中编码和解码消息,意在提供比 JSON 或 Protocol Buffers 等广为采用的格式更优的解决方案。在实现中,Cap’n Proto 使用了类似于编译器所使用的方式,以二进制格式存储数据,但是以与平台无关的方式实现的。Cap’n Proto 的创立者 Kenton Varda 在 Google 工作期间也是 Protocol Buffers (Protobuf)的作者,他指出:

Cap’n Proto 源自于对 Protobuf 的多年工作经验、对用户反馈的倾听以及对如何给出更好实现的考虑。

Cap’n Proto 还给出了一些规定,以确保在格式中添加新字段时的向后兼容性。其它主要特性包括:增量处理消息的能力(因为外部对象完全先于内部对象出现)、对任一字段的随机访问(甚至在消息被完全接收之前),以及生成更小的代码和运行时库。

查看英文原文: Cap’n Proto Interchange Format Adds Windows Support and Many New Features

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2017-05-15 19:001316
用户头像

发布了 227 篇内容, 共 69.2 次阅读, 收获喜欢 26 次。

关注

评论

发布
暂无评论
发现更多内容

云转售是什么意思?哪家好?理由是什么?

行云管家

云计算 企业上云 云资源 云转售

Go语言入门12—异常

良猿

Go golang 后端 11月月更

详解linux多线程——互斥锁、条件变量、读写锁、自旋锁、信号量

C++后台开发

多线程 后端开发 linux开发 C++开发

7k字,12张图,从零到一带你详解Redis

Java永远的神

数据库 nosql redis 程序员 面试

《数字经济全景白皮书》中国商业银行普惠金融可持续发展能力评价

易观分析

银行 普惠金融

软件测试面试真题 | 说一下常用的控件定位方法

测试人

软件测试 面试题 web测试 元素定位

Spring Boot「22」使用 Hibernate & JPA 持久化 Java 对象

Samson

Java hibernate Spring Boot 学习笔记 11月月更

扒官方文档学Ts类型编程

GFE

typescript 前端

前端 30 问:愿你能三十而立

GFE

面试 前端

扒官方文档学Ts类型编程(二)

GFE

typescript 前端

通过云效 CI/CD 实现微服务全链路灰度

阿里巴巴云原生

阿里云 微服务 云原生

图数据 3D 可视化在 Explorer 中的应用

NebulaGraph

可视化 图数据库 3D

python小知识-classmethod类方法

AIWeker

Python 人工智能 python小知识 11月月更

网络爬虫技术及应用

郑州埃文科技

网络安全 IP地址资源 爬虫技术

图解vue3.0编译器核心原理

GFE

前端 Vue3

【重磅】Serverless Devs 进入 CNCF 沙箱,成首个入选的 Serverless 工具项目!

阿里巴巴云原生

阿里云 Serverless 云原生

NGINX Sprint 年度线上会议:报名通道已开启,立即预定您的 NGINX 深潜之旅

NGINX开源社区

nginx

量化合约对冲挖矿app软件开发案例(支持测试)

开发微hkkf5566

【愚公系列】2022年11月 Go教学课程 040-字符串处理

愚公搬代码

11月月更

NFTScan 与 Bitizen 钱包达成战略合作,双方将在 NFT 数据层面进行深度合作

NFT Research

NFT 数据基础设施

WEB项目如何通知用户在线更新?

GFE

前端 版本管理

CAD和实时渲染之间的差距

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

「文本检测与识别白皮书-3.2」第三节:常用的文本识别模型

合合技术团队

人工智能 机器学习 深度学习 模型 文字识别

字节跳动开源数据集成引擎BitSail的演进历程与能力解析

字节跳动数据平台

数据库 开源 数据开发 数据集成 企业号十月 PK 榜

分布式锁实战:基于Zookeeper的实现

小小怪下士

Java zookeeper 分布式

平均110万个漏洞被积压,企业漏洞管理状况堪忧

SEAL安全

DevSecOps 漏洞修复 软件供应链安全 漏洞管理 漏洞优先级匹配

什么是实时渲染及其重要性

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

IM消息ID技术专题(七):网易严选分布式ID的技术选型、优化、落地实践

JackJiang

网络编程 即时通讯 IM 开源im

堡垒机按什么收费?大概多少钱?有一个标准吗?

行云管家

网络安全 堡垒机 IT安全

三位技术大咖的「研发效能」实践干货

万事ONES

研发效能 课程笔记

Discount-industrial mini pcie card/Dual Band 2.4GHz 5GHz 2x2 MIMO 802.11ac Mini PCIE WiFi Module//QCA9880 3x3 FCC/CE/IC

Cindy-wallys

QCA9880 802.11ac 3*3 2*2 2.4G&5G

  • 扫码添加小助手
    领取最新资料包
数据交换格式Cap’n Proto添加了支持Windows等新特性_语言 & 开发_Sergio De Simone_InfoQ精选文章