 3 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查解放Python的 表达力,性能和安全性 Thautwarm 目录 CONTENTS 语法和语义扩展 JIT 静态类型 语法和语义扩展 表达力的扩展, 可用性的保留,白来的午餐? 演示一小部分: 模式匹配, Quick Lambda, Pipe运算 语言决定思维模型 GNU-APL C++ Haskell 说 到 质 数 � 人 们 想 到 什 么 � 语言决定思维模型 moshmosh/extension_register.py (只有45行) 科普: Python Import机制是怎样的? perform_extension Source Code 分析当前文件调 用的所有扩展 检查是否使用 moshmosh扩展系 统? 所有扩展的 源码预写 所有扩展的 AST重写 所有扩展的 源码后写 分析 # ± ?????????(???? … ) .pre_rewrite_src(self 用作用域内的值val进行比较的模式 and: 满足多个解构规则的组合模式 or: 满足其中一个解构规则的组合模式 A(a, …): 调用A.__match__进行模式匹配 isinstance(type): 检查类型的pattern (a, *b, c): 匹配tuple [a, *b, c]: 匹配列表 演示 Pattern-Matching 基于template-python扩展实现。 性能比Pampy高数量级倍。0 码力 | 43 页 | 10.71 MB | 1 年前3 3 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查解放Python的 表达力,性能和安全性 Thautwarm 目录 CONTENTS 语法和语义扩展 JIT 静态类型 语法和语义扩展 表达力的扩展, 可用性的保留,白来的午餐? 演示一小部分: 模式匹配, Quick Lambda, Pipe运算 语言决定思维模型 GNU-APL C++ Haskell 说 到 质 数 � 人 们 想 到 什 么 � 语言决定思维模型 moshmosh/extension_register.py (只有45行) 科普: Python Import机制是怎样的? perform_extension Source Code 分析当前文件调 用的所有扩展 检查是否使用 moshmosh扩展系 统? 所有扩展的 源码预写 所有扩展的 AST重写 所有扩展的 源码后写 分析 # ± ?????????(???? … ) .pre_rewrite_src(self 用作用域内的值val进行比较的模式 and: 满足多个解构规则的组合模式 or: 满足其中一个解构规则的组合模式 A(a, …): 调用A.__match__进行模式匹配 isinstance(type): 检查类型的pattern (a, *b, c): 匹配tuple [a, *b, c]: 匹配列表 演示 Pattern-Matching 基于template-python扩展实现。 性能比Pampy高数量级倍。0 码力 | 43 页 | 10.71 MB | 1 年前3
 邓良驹 编写更安全的Python代码编写安全的Python代码 邓良驹 2019.10.19 思考题 if user.balance >= product.price: user.balance -= product.price ? 目录 CONTENTS 常见不安全代码 代码检查的工具 总结:如何规避风险 常见不安全代码 小心 eval 应对: 在生产环境中,任何情况下都不要使用eval。 import sys n2中可改用raw_input。 小心类型溢出 应对: 使用较新版本的Python3,而不使用发行版OS自带的旧版Python。 捕获并处理溢出错误,可以减少风险。在重要的位置做好防御式 编程,检查好入参的类型与合法的上下限。 >>> range(100**100) Traceback (most recent call last): File " 邓良驹 编写更安全的Python代码编写安全的Python代码 邓良驹 2019.10.19 思考题 if user.balance >= product.price: user.balance -= product.price ? 目录 CONTENTS 常见不安全代码 代码检查的工具 总结:如何规避风险 常见不安全代码 小心 eval 应对: 在生产环境中,任何情况下都不要使用eval。 import sys n2中可改用raw_input。 小心类型溢出 应对: 使用较新版本的Python3,而不使用发行版OS自带的旧版Python。 捕获并处理溢出错误,可以减少风险。在重要的位置做好防御式 编程,检查好入参的类型与合法的上下限。 >>> range(100**100) Traceback (most recent call last): File "- ", line 1, in - assert user.is_admin, "Permission denied!" user.balance += 100 应对: Assert 语句不应用于业务逻辑条件检查,只应用于程序员之间的 沟通,如单元测试、数据边界检查、API调用约束说明等。 小心 pickle import os import pickle class ShellExp: def __reduce__(self): 0 码力 | 18 页 | 988.40 KB | 1 年前3
 Python 标准库参考指南 3.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 15 加密服务 601 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 15.1.1 哈希算法 . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 15.3.1 随机数 . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754 16.5.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 16.5.10 模块级函数0 码力 | 2246 页 | 11.74 MB | 9 月前3 Python 标准库参考指南 3.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 15 加密服务 601 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 15.1.1 哈希算法 . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 15.3.1 随机数 . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754 16.5.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 16.5.10 模块级函数0 码力 | 2246 页 | 11.74 MB | 9 月前3
 Python 标准库参考指南 3.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 15 加密服务 597 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 15.1.1 哈希算法 . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 15.3.1 随机数 . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750 16.5.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751 16.5.10 模块级函数0 码力 | 2242 页 | 11.73 MB | 9 月前3 Python 标准库参考指南 3.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 15 加密服务 597 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 15.1.1 哈希算法 . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 15.3.1 随机数 . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750 16.5.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751 16.5.10 模块级函数0 码力 | 2242 页 | 11.73 MB | 9 月前3
 Python 标准库参考指南 3.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 15 加密服务 577 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 15.1.1 哈希算法 . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 15.3.1 随机数 . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 16.6.10 模块级函数0 码力 | 2253 页 | 11.81 MB | 9 月前3 Python 标准库参考指南 3.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 15 加密服务 577 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 15.1.1 哈希算法 . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 15.3.1 随机数 . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 16.6.10 模块级函数0 码力 | 2253 页 | 11.81 MB | 9 月前3
 Python 标准库参考指南 3.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 15 加密服务 577 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 15.1.1 哈希算法 . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 15.3.1 随机数 . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 16.6.10 模块级函数0 码力 | 2253 页 | 11.81 MB | 9 月前3 Python 标准库参考指南 3.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 15 加密服务 577 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 15.1.1 哈希算法 . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 15.3.1 随机数 . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 16.6.10 模块级函数0 码力 | 2253 页 | 11.81 MB | 9 月前3
 Python 标准库参考指南 3.11.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 15 加密服务 607 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 15.1.1 哈希算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 15.3.1 随机数 . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756 16.6.100 码力 | 2399 页 | 11.19 MB | 9 月前3 Python 标准库参考指南 3.11.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 15 加密服务 607 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 15.1.1 哈希算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 15.3.1 随机数 . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756 16.6.100 码力 | 2399 页 | 11.19 MB | 9 月前3
 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 vii 15 加密服务 569 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 15.1.1 哈希算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 15.3.1 随机数 . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 16.6.100 码力 | 2207 页 | 10.45 MB | 9 月前3 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 vii 15 加密服务 569 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 15.1.1 哈希算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 15.3.1 随机数 . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 16.6.100 码力 | 2207 页 | 10.45 MB | 9 月前3
 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 15 加密服务 531 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 15.1.1 哈希算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 15.3.1 随机数 . . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 16.6.10 模块级函数0 码力 | 2072 页 | 10.39 MB | 9 月前3 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 15 加密服务 531 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 15.1.1 哈希算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 15.3.1 随机数 . . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 16.6.10 模块级函数0 码力 | 2072 页 | 10.39 MB | 9 月前3
 Python 标准库参考指南 3.11.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 15 加密服务 567 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 15.1.1 哈希算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 15.3.1 随机数 . . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 16.6.10 模块级函数0 码力 | 2248 页 | 11.10 MB | 9 月前3 Python 标准库参考指南 3.11.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 15 加密服务 567 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 15.1.1 哈希算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 15.3.1 随机数 . . . . . . . . . . . . LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 16.6.10 模块级函数0 码力 | 2248 页 | 11.10 MB | 9 月前3
共 154 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16














 
 