邓良驹 编写更安全的Python代码 ## 编写安全的Python代码 邓良驹 2019.10.19 ## 思考题 if user.balance >= product.price: user.balance -= product.price ? ## 目录 CONTENTS d5af4cb76d1049ea3b110e9d/p3_2.jpg) 常见不安全代码 代码检查的工具 总结:如何规避风险  ## 常见不安全代码 ## 小心 eval import sys def run(s): try: python/object/apply:__main__.ShellExp['/bin/sh']" yaml.load(payload) 应对: 使用yaml.safe_load,必要时编写自定义Loader做更严格的检查。对不可信来源的序列化检查后操作。 ## 小心 服务端模板注入(SSTI) from flask import Flask from flask request,0 码力 | 18 页 | 988.40 KB | 2 年前3
Weblate 4.16.3 用户文档法律文件 ..... 407 3 贡献者文档 ..... 409 3.1 为 Weblate 作贡献 ..... 409 3.2 开始为 Weblate 贡献代码 ..... 411 3.3 Weblate 源代码 ..... 415 3.4 调试 Weblate ..... 416 3.5 Weblate 内部 ..... 417 3.6 开发附加组件 ..... 419 择部件列表,你必须从默认部件列表下拉菜单中选择要显示哪个部件列表。 参见: 部件列表 ## 编辑器链接 默认情况下,源代码链接显示在部件配置中配置的 Web 浏览器中。 提示: 通过设置 编辑器链接,您可以使用本地编辑器打开翻译字符串的版本控制系统(VCS)源代码文件。你可以使用模板标记。 通常像 editor://open/?file={filename}&line={line} 形式的数量进行描述和标记。 所有特殊空白字符都会添加红色下划线,并用灰色符号表示。多个接续的空格也会添加红色下划线,以提醒译者潜在的格式问题。 此页面上可以显示各种额外信息,其中大部分来自项目源代码(如上下文、注释或消息的使用位置)。译者在首选项中选择的任何第二语言的翻译字段都将显示在源字符串上方(参见第二语言)。 在译文下方,译者可以看到其他人提出的建议,可以接受(✓),也可以接受修改(☐),或者删除(☐)。0 码力 | 502 页 | 8.32 MB | 2 年前3
使用Sphinx编写Web文档 - 陈照强Sphinx制作PDF  Sphinx代码高 亮显示  ![Image]0 码力 | 17 页 | 1.69 MB | 2 年前3
Swift改善既有代码的设计 - 翁阳## Swift 改善既有代码的设计 翁阳(酒仙) ## 有时候相似 不是巧合 Refactoring Improving the Design of Existing Code  [美] Martin Fowler 著 熊节 译 软件开发的不朽经典 [Image](/uploads/documents/0/0/c/1/00c1cf989fd20e3c9e0afd0906ebbbf1/p4_1.jpg) ## 你必须面对既有代码! 无论是不是由你编写 ## 这些既有代码你无法逃避 ① 遗留的老项目 ② Cocoa Touch ③ Cocoa Pods 或许 Swift 和 重构 都让你尝尽苦头  ## 一 键将 C/C++ 代码转换为 Python 能调用的代码 韦泽华  ## 大家以前都是怎样调用C++代码呢? 1. Cython 2. boost.python/pybind11 f/dcff3d9f70403fc7fe9fcc283f05b024/p3_2.jpg) ## 先不讨论这些工具的优劣 先给大家介绍一下 如何使用c2py来调用C++代码 ## 在此之前给大家看一下要调用的C++代码源文件 • 我肯定是会拿上期所的API来作示范: (看一眼就好了) |Name|Size| |---|---| |ThostFtdcMdApi.h|6 KB| |ThostFtdcTraderApi |14|--setup-lib|thosttraderapi|| |15|--setup-use-patches||| |16|||| |17|python ./setup.py build||| • 第二步,调用代码,并享受完备的type hint。import vnctp # code 0 码力 | 12 页 | 1.24 MB | 2 年前3
Gitea,新一代的代码托管平台 ## Gitea ## 新一代的代码托管平台 2023.12 ## 飞致云 & 上海吉谛 2023年11月,飞致云与上海吉谛达成战略合作,获得 Gitea 企业版中国大陆地区独家代理权,向中国数字化团队交付被广泛验证、可信赖的通用工具软件。 8f32bc68/p2_6.jpg)|| |新一代的代码托管平台|一站式持续测试平台|广受欢迎的堡垒机|人人可用的数据可视化分析工具| | hi@mzh.io ## 自我介绍 后端工程师,主要写Go • 业余搞Go官方库开发 ● 主要喜欢折腾ARM/MIPS 性能优化 ● 第一个中国Go 官方MIPS64 builder 维护者 Far As I Know (据我所知) c. IMHO: In My Humble Option (鄙人认为) One More Thing ## 版权问题 1. 抄也要抄BSD兼容的代码 a. GPL 不行 b. 闭源更不行 ## 谢谢各位 ## 参考资料 https://github.com/golang/go/issues https://stackoverflow.c0 码力 | 38 页 | 5.95 MB | 2 年前3
《玩转webpack》第七章 原理篇: 编写 Loader 和插件基础篇:webpack 基础用法 03 | 基础篇:webpack 进阶用法 04 | 进阶篇:编写可维护的webpack 构建配置 05 | 进阶篇:webpack 构建速度和体积优化策略 06 | 原理篇:通过源码掌握webpack 打包原理 07 | 原理篇:编写 Loader 和插件 08 | 实战篇:React 全家桶 和webpack 开发商城项目 ## ## ☐ ☐ ☐ ☐ ## 扫码试看/订阅《玩转webpack》 ## 一 个最简单的 loader 代码结构 定义:loader 只是一个导出为函数的 JavaScript 模块 module.exports = function(source) { return source; }; ## 多 Loader 时的执行顺序 顺序从后到前 多个 Loader 串行执行 module SourceMap, meta?: any ); ## loader 的异步处理 通过 this.async 来返回一个异步函数 ·第一个参数是 Error,第二个参数是处理的结果 ## 示意代码: module.exports = function(input) { const callback = this.async(); } // No callback -> return0 码力 | 29 页 | 4.37 MB | 2 年前3
面向亿行 C/C++ 代码的静态分析系统设计及实践-肖枭## 面向亿行C/C++代码的 静态分析系统设计及实践 肖枭 ## 500+高端科技领导者与你一起探讨 技术、管理与商业那些事儿 2019年6月14–15日 上海圣诺亚皇冠假日酒店  












