Rust HTTP 协议栈在终端通信场景的实践 - 胡凯第三届中国Rust开发者大会 Rust HTTP 协议栈在终端通信场景的实践 胡凯 hukai45@huawei.com 华为 公共开发部 嵌入式软件能力中心 什么是 HTTP 协议? ⚫ HTTP 协议介绍 目录 终端场景下 HTTP 协议的主要使用场景,以及需要思考的问题。 ⚫ 终端 HTTP 通信场景浅析 我们当前结合 Rust 和终端通信场景的实践的简单介绍。 ⚫ Rust Rust 与 HTTP 协议栈结合的业界实现。 ⚫ Rust 与 HTTP 协议 HTTP 协议介绍 Part 01 什么是 HTTP 协议? Rust China Conf 2022 – 2023, Shanghai, China Rust China Conf 2022 – 2023, Shanghai, China HTTP 协议介绍 HTTP 协议,即超文本传输协议(HyperText 和超媒体 信息系统的应用层协议。 HTTP 是一个客户端(用户)和服务端(网站)之间请求和应答的标准。 Rust China Conf 2022 – 2023, Shanghai, China HTTP 协议介绍 HTTP 协议主要具有以下特点: ✓ 支持客户/服务器模式。 ✓ 简单快速:客户向服务器请求服务时,只需传送 请求方法、路径和请求头。HTTP 协议简单、HTTP 服务器的程序规模小,因而通信速度很快。0 码力 | 26 页 | 1.25 MB | 1 年前3
李欣宜 扩展Python的语法和语义Python的语法扩展系统 Moshmosh Thautwarm&李欣宜 The awareness of low-level implementation details brings the appreciation of an abstraction and the intuitive explanation for it. — Oleg Kiselyov 表达式和语句区分,表达式内部不能包含语句 4. 没有语法宏,代码操作不够自动 5. 没有variant类型(只能靠一大堆抽象类和继承去workaround) 6. 对数据类型的方法不能扩展, 或者进行扩展是初级的,没有基于 类型的多态 那么告辞? 搭嘎!阔托瓦鲁! 摆 脱 编 程 语 言 给 你 的 限 制 Python有一堆好东西: 1. Python有良好的启动速度(看向Julia) 我预期的语法(及语义) 扩展系统: 1. 首行用moshmosh? 标志模块 2. +extension名 (extension参数)开 启扩展 3. -extension名 (extension参数)关 闭扩展 4. 可以自定义扩展并 注册 5. 在这套系统下,有 很多简单的自定义 扩展可供练手 任何在不使用该系统时拥有的功能(PYC二进制文 件发布,C扩展等等),在使用该系统后得以保持,拥0 码力 | 39 页 | 3.69 MB | 1 年前3
在Solana合约链实现IBC协议跨链互操作 - 苏胤榕@DaviRain 在Solana合约链 实现IBC协议跨链互操作 简单介绍下IBC协议是什么,及其生态 简介 > 介绍IBC协议和其在跨链互操作中的作用 IBC协议中的角色和参与者 1. 客户端 2. 连接 3. 通道 4. 包 4. 中继器 解释为什么选择在Rust合约链中实现IBC协议 - IBC协议的核心已经被协议核心团队用Rust语言实现。 - 对于本身就是 对于本身就是使用Rust语言作为智能合约开发的区块链 平台来说,支持集成支持IBC协议会很方便。 - 这里优先构想了在Solana链上实现IBC协议,因为 Solana平台本身极 低的gas消耗,很适合我现在构思 的这套实现方案。(后面会做解释) 引入Solana作为示例平台 - Solana极低的Gas花销。 - Anchor合约开发框架,大大降低了Rust合 约开发者在Solana上开发智能合约的难度。 - 以及本人对Solana平台的喜欢,优先考虑 了Solana平台,但是这套方案是可以推广到 任何的Rust智能合约平台的。 大致讲解下IBC协议的原理, 以及参与整个IBC协议活动的不同决策 IBC协议概述> 详细介绍IBC协议的基本概念和原理 Connection创建原理 Connection创建OpenInit Connection创建OpenTry Connection创建OpenAck0 码力 | 29 页 | 3.05 MB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台基于 Golang 构建⾼可扩展的云原⽣ PaaS 平台 刘浩杨 端点 技术专家 个⼈简介 - 18年加⼊端点,现任微服务和监控团队负责⼈ - 端点开源 PaaS Erda 的核⼼架构师 - 开源爱好者, Apache SkyWalking PMC 成员 ⽬ 录 ⾯向云原⽣的软件交付 01 端点⼀站式 PaaS - Erda 02 Erda 架构的思考 03 模块化开发框架 release_id: ${release:id} pipeline.yml 定义 - 屏蔽掉流⽔线定义的复杂度 - 丰富的通⽤Action,开箱即⽤ - Action 扩展规范,任意扩展 Workload 管理 - Create - Update - Delete - Describe - Scale - Restart services: trade-server: 接⼝设计、以及拦截器 • 提供快速构建模块的代码⽣成⼯具 Erda Infra 如何设计 Erda Infra 有什么不同 - 不是重复造轮⼦ - 不仅是web框架 - 不仅是微服务框架 - 为扩展⽽⽣ - 以模块化的开发为核⼼ VS 模块化开发原则 - ⾯向接⼝进⾏开发,⽽不是⾯向实现 - 模块拆分的粒度尽可能⼩ - 模块内聚,模块间松耦合 - 模块间的引⽤使⽤DI⽽不是直接依赖实现包0 码力 | 40 页 | 8.60 MB | 1 年前3
4 Python语法扩展框架Moshmosh和其上的CPython compatible JIT实现 thautwarm0 码力 | 30 页 | 8.04 MB | 1 年前3
4_杨柳_基于Python构建高稳定可扩展的自动化测试集群0 码力 | 62 页 | 25.29 MB | 1 年前3
3 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查解放Python的 表达力,性能和安全性 Thautwarm 目录 CONTENTS 语法和语义扩展 JIT 静态类型 语法和语义扩展 表达力的扩展, 可用性的保留,白来的午餐? 演示一小部分: 模式匹配, Quick Lambda, Pipe运算 语言决定思维模型 GNU-APL C++ Haskell 说 到 质 数 � 人 们 想 到 什 么 � 语言决定思维模型 但它们不够“万金油”的问题 来源,不一定是不能解决的。 扩展语言,开阔思维 我预期的语法(及语义) 扩展系统: 1. 首行用moshmosh? 标志模块 2. +extension名 (extension参数)开 启扩展 3. -extension名 (extension参数)关 闭扩展 4. 可以自定义扩展并 注册 5. 在这套系统下,有 很多简单的自定义 扩展可供练手 任何在不使用该系统时拥有的功能(PYC二进制文件 任何在不使用该系统时拥有的功能(PYC二进制文件 发布,C扩展等等),在使用该系统后得以保持,拥有 工业级的可靠性和稳定性 6 如何工作? Python Import 忽略Cache Loader, 只对源代码Loader 重写get_data方法 调用父get_data方法, 拿到源代码 moshmosh.extension. perform_extension 源码变换 扩展的语法和语义 并非naïve的,不卫生的0 码力 | 43 页 | 10.71 MB | 1 年前3
Nacos架构&原理
简介 13 Nacos 架构 17 Nacos 总体设计 17 Nacos 架构 17 Nacos 配置模型 21 Nacos 内核设计 28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 王建伟(正己) 卿亮 许进 7 > 推荐序 推荐序 阿里巴巴合伙人 - 蒋江伟(小邪) 随着企业加速数字化升级,越来越多的系统架构采用了分布式的架构,主要目的是为了解决集中化 和互联网化所带来的架构扩展性和面对海量用户请求的技术挑战。这里面其中有⼀个关键点是软负 载。因为整个分布式架构需要有⼀个软负载来协作各个节点之间的服务在线离线状态、数据⼀致性、 以及动态配置数据的推送。这里面最简单的需求 alibba/Sentinel/Seata)组合始终走在前列,引领着微服务领域的发展趋势。Nacos 作为核心引擎 孵化于 2008 年的阿里五彩石项目,自主研发完全可控,经历十多年双 11 洪峰考验,沉淀了高性能、 高可用、可扩展的核心能力,2018 年开源后引起了开发者的广泛关注和大量使用。本书也将介绍 Nacos 偏 AP 分布式系统的设计、全异步事件驱动的高性能架构和面向失败设计的高可用设计理念 等。相信开发者阅读后不仅可以更深入了解0 码力 | 326 页 | 12.83 MB | 9 月前3
Python 标准库参考指南 3.8.20 生成临时文件和目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 11.7 glob --- Unix 风格路径名模式扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 11.8 fnmatch --- Unix 文件名模式匹配 字符的工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 16.13 curses.panel --- curses 的 panel 栈扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 16.14 platform --- 获取底层平台的标识数据 . . . . 20.13 xml.parsers.expat --- 使用 Expat 的快速 XML 解析 . . . . . . . . . . . . . . . . . . . . 1089 21 互联网协议和支持 1099 21.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 10990 码力 | 1927 页 | 9.69 MB | 9 月前3
Python 标准库参考指南 3.8.20 生成临时文件和目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 11.7 glob --- Unix 风格路径名模式扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 11.8 fnmatch --- Unix 文件名模式匹配 字符的工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 16.13 curses.panel --- curses 的 panel 栈扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 16.14 platform --- 获取底层平台的标识数据 . . . . 20.13 xml.parsers.expat --- 使用 Expat 的快速 XML 解析 . . . . . . . . . . . . . . . . . . . . 1089 21 互联网协议和支持 1099 21.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 10990 码力 | 1927 页 | 9.69 MB | 9 月前3
共 439 条
- 1
- 2
- 3
- 4
- 5
- 6
- 44













