Swift 写解释器 - 戴铭
0 码力 | 19 页 | 29.57 MB | 1 年前33 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查
moshmosh/extension_register.py (只有45行) 科普: Python Import机制是怎样的? perform_extension Source Code 分析当前文件调 用的所有扩展 检查是否使用 moshmosh扩展系 统? 所有扩展的 源码预写 所有扩展的 AST重写 所有扩展的 源码后写 分析 # ± ?????????(???? … ) .pre_rewrite_src(self (self, AST) .post_rewrite_src (self, io) moshmosh/extension.py 简单的解释? 这是一个新语言 • 借用了Python的parser • 提供了一个用户容易扩展的编译器 • 编译到Python • 可以编译成Python字节码文件发布(完全兼容) • 融于Python的生态 Moshmosh:我的Python 不可能这么甜美清新 “真正的宏”,不是预处理器 Pattern-Matching moshmosh/extensions/pattern_matching pin(val): 用作用域内的值val进行比较的模式 and: 满足多个解构规则的组合模式 or: 满足其中一个解构规则的组合模式 A(a, …): 调用A.__match__进行模式匹配 isinstance(type): 检查类型的pattern0 码力 | 43 页 | 10.71 MB | 1 年前3用Go语言实现推送服务器
用Go语言实现推送服务器 陈叶皓 chen.yh@ctrip.com 议程 • 推送服务器介绍 • Golang特点 • 推送服务架构 • 部分代码 • 上线效果 议程 • 推送服务器介绍 • 推送服务架构 • 部分代码 • 上线效果 什么是推送服务器 • 推送业务信息到手机端 • 始终保持连接 推送服务器要求 • 高并发 • 可靠性 • 高性能 • 支持水平扩展 • 无单点故障 无单点故障 Go语言特性 • 静态的、编译的 • 自动内存回收 • 命令式编程 • 函数可以作为值 • 面向并发 • 内置RPC支持 推送服务器要求的应对 • 高并发 – goroutine • 可靠性 – 使用Redis暂存消息 • 高性能 – 静态编译语言 • 支持水平扩展 – 使用RPC组成集群 • 无单点故障 – 使用Redis实现数据共享 Go语言的并发模型 • 事件驱动,共享线程池 含一 个获取返回值的channel 议程 • 推送服务器介绍 • 推送服务架构 • 部分代码 • 上线效果 逻辑架构 去中心化设计 • 客户端随机连接 • Redis集中存储地址表 • 信息发送2跳到达 消息缓存设计 • 消息预存(Redis) • 尝试发送 • 发送成功后删除 客户端注册时序图 议程 • 推送服务器介绍 • 推送服务架构 • 部分代码 • 上线效果 串行场景-Socket0 码力 | 25 页 | 260.04 KB | 1 年前3⽤ egg 孵化你的 SQL 优化器 - 王润基
第三届中国Rust开发者⼤会 ⽤ egg 孵化你的 SQL 优化器 王润基 RisingWave 内核开发⼯程师 ? Parser Binder Optimizer Executor SQL AST Logical Plan Physical Plan Table Catalog Storage RisingLight 查询引擎的整体结构 SELECT name, url 连接重排序 连接算法选择 TopN A Order TopN A Limit 查询优化 定义计划节点 定义重写规则 ⽤纯 Rust 编写的第⼀代优化器 Visitor 模式 ⽤纯 Rust 编写的第⼀代优化器 e-class e-node Rewriting Rewriting (* ?x 2) => (<< ?x 1) Rewriting (* ?x 2) => Parser Binder Optimizer Executor SQL AST Table 基于 egg 的新版查询引擎 类型分析 Schema 分析 聚合分析 — 类型检查 — 通配符展开 — 聚合提取 常量分析 列分析 ⾏分析 类型分析 Schema 分析 — 类型解析 — 物理下标解析 — 常量折叠 — 算⼦下推 — 代价估计 — 其它优化0 码力 | 39 页 | 6.48 MB | 1 年前3Java 应用与开发 - Java EE 监听器编程
大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 Java 应用与开发 Java EE 监听器编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 3, 2018 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext ServletContext 对象属性监听器 本节习题 学习目标 1. 理解监听器的概念。 2. 掌握 Java EE 的监听器的主要功能和包含的类型。 3. 掌握监听器的编程和配置,学会编写监听器代码。 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 接下来⋯ 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java0 码力 | 22 页 | 549.84 KB | 1 年前3KCL: Rust 在编译器领域的实践与探索
第三届中国Rust开发者大会 KCL: Rust 在编译器领域的实践与探索 张正 蚂蚁集团 Agenda 01 KusionStack 与 KCL 02 用 Rust 重写 KCL 03 Rust 重写后的收益 04 更多的探索 01 KusionStack 与 KCL KusionStack是什么? KusionStack架构 KCL KusionStack 是什么? Language Server KCL Compiler KCL Package Manager 02 用 Rust 重写 KCL Python 代码翻译 栈式虚拟机 Rust 编译器 KCL 编译器架构升级 Source Code AST LLVM IR Native/WASM Source Code AST Bit code VM Source Code Python 重写的收益 稳定性和性能提升 IDE:用户体验提升 源于 Rust 强大的编译检查和错误 处理方式, 更少的 Bug 稳定性提升 端到端编译执行性能提升了 66% 66 % 20 & 40 前端解析器性能提升 20倍 中端语义分析器性能提升40倍 稳定性和性能的巨大提升 50 % 语言编译器编译过程平均内存使用 量变为原来 Python 版本的一半 01 02 03 040 码力 | 25 页 | 3.50 MB | 1 年前3Rust 语言学习笔记
4.2 原生类型............................................................................ 21 第三章 所有权 引用借用 生命周期 ............................................................... 31 3.1 所有权 ................ ...................................... 34 3.2 引用和借用 ................................................................................. 35 3.2.1 借用和引用的规则 ............................................ ..... 38 3.4.1.函数传递参数和返回参数类似于 let 语句 .................................... 38 3.4.2 涉及到函数和结构体的借用检查器 ........................................... 39 第四章 面向对象编程 .....................................0 码力 | 117 页 | 2.24 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.2. 引用与借用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将错误信息输出到标准错误而不是标准输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 13. 函数式语言特性:迭代器与闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 13.2. 使用迭代器处理元素序列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 9 天前3Comprehensive Rust(简体中文) 202412
16.7 HashMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 16.8 练习:计数器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 16.8.1 解答 . . . . . . . 7 Drop 特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 19.8 练习:构建器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 19.8.1 解答 . . . . . . . . 115 VI 第三天:下午 119 21 Welcome Back 120 22 借用 121 22.1 借用值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 22.2 借用检查 . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 359 页 | 1.33 MB | 10 月前3运⾏在浏览器中的 P2P ⽹络 - 李敏成
运⾏在浏览器中的 P2P ⽹络 李敏成 from RingsNetwork Montivation 连接所有钱包持有者 去中⼼化的 Pure P2P ⽹络 The Idea 最好的节点载体是浏览器 ⽤户群体 钱包插件 运⾏环境 How to P2P Did: Wallet Address E2E secure(sign/encryption): Wallet Discovery Connect through WebRTC Route by Chord DHT Rings-node browser extension Rings-node daemon 浏览器节点 服务器节点 Node communication Node A Node B Create Offer ConnectNodeSend ConnectNodeReport Pending0 码力 | 23 页 | 1.74 MB | 1 年前3
共 565 条
- 1
- 2
- 3
- 4
- 5
- 6
- 57