Swift改善既有代码的设计 - 翁阳
0 码力 | 48 页 | 4.68 MB | 1 年前37-韦泽华-一键将C和Cpp代码转换为Python能调用的代码
一键将 C/C++ 代码转换为 Python 能调用的代码 韦泽华 大家以前都是怎样调用C++代码呢? 1. Cython 2. boost.python/pybind11 3. ctypes 先不讨论这些工具的优劣 先给大家介绍一下 如何使用c2py来调用C++代码 在此之前给大家看一下要调用的C++代码源文件 • 我肯定是会拿上期所的API来作示范: (看一眼就好了) so)文件 • 第二步,调用代码,并享受完备的type hint。 与其他工具的用法进行一下比较? 与pybind11进行比较 • c2py:两个命令 • pybind11:1137行代码? • 不, 其实是11,376行代码: 跟pybind11比算个什么事?根本 不在一个次元! 要比就和不需要写C++代码的工 具比! 与ctypes进行比较 • c2py:调用代码,并享受type hint。 hint。 • ctypes:调用代码?? 如果把调用C++代码当作吃饭,那么: 工具 科技等级 手撸Cython 手撕猎物;钻木取火 Boost.python/pybind11 用猎枪打猎;在现代化的厨房里做菜 ctypes 在某个便利店里买吃的。(只卖番茄炒蛋) c2py 外卖app 所以 调用C++,认准 现代化的外卖app:c2py https://github.com/nanoric/c2py0 码力 | 12 页 | 1.24 MB | 1 年前3Gitea,新一代的代码托管平台
向中国数字化团队交付被广泛验证、可信赖的通用工具软件。 新一代的代码托管平台 Star 39,000+ 飞致云 上海吉谛 1 Gitea 开源项目介绍 Gitea 企业版介绍 3 Gitea 优势总结 2 代码托管平台的发展历程 阶段一 阶段二 阶段三 •单用户本地编辑; •没有网络功能; •典型产品:RCS、SCCS。 本地代码管理 •C/S 架构体系,支持网络化协作; •依赖中央存储库; •依赖中央存储库; •典型产品:CVS、 SVN、VSS、 TFS、 ClearCase。 集中式代码管理 •去中心化,稳定性和可用性增强; •更高效的代码协同机制; •典型产品:GitHub、GitLab、 Gitea。 分布式代码管理 基于 Git 的分布式 代码托管 具备 DevSecOps 延伸能力 Gitea 是谁? • 2016 年 11 月 fork 自 gogs,开始独立发展; GitHub 使用体验、可私有化部署的新一代的代码托管平台 DevSecOps 延伸能力 CI / CD 包/发布管理 依赖项扫描 百科管理 项目管理 其他能力… 合并请求 代码审查 分支管理 代码仓库 Git代码托管 核心能力 新一代的代码托管平台 Gitea 的定位 遵循典型的 Git flow 工作流程 编写代码 01 创建仓库 管理员创建仓库,分支保护策略0 码力 | 30 页 | 14.34 MB | 1 年前3如何向Go官方提交代码-蒙卓
如何向Go官方提交代码 蒙卓 hi@mzh.io 自我介绍 ● 后端工程师,主要写Go ● 业余搞Go官方库开发 ● 主要喜欢折腾ARM/MIPS 性能优化 ● 第一个中国Go 官方MIPS64 builder 维护者 目录 1. 为啥参与Go开发 2. 如何提交CL 3. 交流技巧 4. 参考资料 为啥参与Go开发? 解决BUG 4000+ issue 2510 TODO AFAIK:As Far As I Know (据我所知) c. IMHO:In My Humble Opition (鄙人认为) One More Thing 版权问题 1. 抄也要抄BSD兼容的代码 a. GPL 不行 b. 闭源更不行 谢谢各位 参考资料 https://github.com/golang/go/issues https://stackoverflow.com/qu0 码力 | 38 页 | 5.95 MB | 1 年前3邓良驹 编写更安全的Python代码
编写安全的Python代码 邓良驹 2019.10.19 思考题 if user.balance >= product.price: user.balance -= product.price ? 目录 CONTENTS 常见不安全代码 代码检查的工具 总结:如何规避风险 常见不安全代码 小心 eval 应对: 在生产环境中,任何情况下都不要使用eval。 import sys 更不要以为 PyPI 源中的包就不存在恶意代码; 不要以为你import的就是你实际要import的*; 每个 PyPI 包都可能存在前述所有风险点, 有的甚至是故意、恶意为之。 应对: 谨慎选择第三方 PyPI 包,尽量少导入 PyPI 包; 利用 https://pyup.io/ 等服务保持检查和更新依赖; 利用 Chef InSpect 落实代码安全规范的检查。 *参考资料:“驹说码事” *参考资料:“驹说码事” 《如何import一个不存在的对象》 https://mp.weixin.qq.com/s/0_ivKVDU-nKf3r-c96sqrA 利用 Bandit 检查代码 记不住那么多点?交给Bandit! https://github.com/PyCQA/bandit https://bandit.readthedocs.io/en/latest/ B101 assert_used B1020 码力 | 18 页 | 988.40 KB | 1 年前3面向亿行 C/C++ 代码的静态分析系统设计及实践-肖枭
面向亿行C/C++代码的 静态分析系统设计及实践 肖枭 自我介绍 2016年香港科技大学取得博士学位 过去10年一直以极高的热情从事静态 分析技术的学术用研究 合作创办源伞科技,致力于推动静态 分析技术在企业中的应用 目录 代码质量管理是个大问题 静态分析+代码评审的实践 学习和强调,红线和惩罚,100%的测试 覆盖率,和事后复盘并不够 有经验的程序员也会犯错 对代码提要求很难监督落实 代码的快速变化使质量更难管 生产质量是责任 靠运维和事后复盘善后够吗? 静态分析工具:半智能的代码分析机器人 静态分析辅助代码评审 自动化工具+流程才是未来 Bug! Thx! Bug! 投入大 KPI不痛不痒 使用主体和责任主体不一致 一步登天想要终极AI 代码质量改进工具、流程落地难 Bug! No Thx! DevOps: 代码质量责任应该左移 代码质量责任应该左移 设计 代码 开发 代码 评审 入库 测试 发布 1. 非研发人员主导,沟通成本高,推动修复周期长 2. 很难形成标准推动研发实施 3. 形成技术债,偿债成本高 1. 代码签入前,研发人员有义务修复问题 2. 测试人员早期加入,更懂项目研发的情况,沟通成本低,加快上线 3. 能逐步形成好的编码规范和最佳实践 检查代码风格问题挺准,但是 我warning都不看,还看这个?0 码力 | 39 页 | 6.88 MB | 1 年前3[试读]15天学会JavaScript - 第 2 章 ECMAScript语法基础
JavaScript 语句。如果没有使用分号(;)来结束,ECMAScript 语法就会将每行代码结尾处的换行作为 JavaScript 语句的结束,不过前提是没有破坏 JavaScript 语句的完整功能。因此,绝大多数的 程序员还是会老老实实地写上分号(;)作为 JavaScript 语句的结束,这样既便于自己管理代码, 也便于给别人阅读。 2.1.2 区分大小写 ECMAScript 语 语法区分大小写的规定适用于变量、函数名、运算符及其他一切代码。 比如变量 id 与 Id 是不同的;同样,函数 getElementById()与 getElementbyID()也是不同的,而 且 getElementbyID()是无效函数。 2.1.3 代码换行 ECMAScript 语法规定可以在文本字符串中使用反斜杠(\)对代码行进行换行。例如,下 面的代码是可以正确解析的。 document 不过需要注意的是,代码换行限于文本字符串中。如果将上面的代码改写成下面的形式, 代码是无法正确解析的。 document.write \ ("Hello EcmaScript!"); 2.1.4 代码中的空格 ECMAScript 语法规定会忽略多余的空格。因此,依据这个特点可以通过添加空格对代码 进行排版,从而提高代码的可读性。 2.1.5 代码注释 ECMAS0 码力 | 52 页 | 3.83 MB | 1 年前3阮一峰 JavaScript 教程
- 4 - 本文档使用 书栈(BookStack.CN) 构建 介绍 本教程全面介绍 JavaScript 核心语法,从最简单的开始讲起,循序 渐进、由浅入深,力求清晰易懂。所有章节都带有大量的代码实例,便 于理解和模仿,可以用到实际项目中,即学即用。 本教程适合初学者当作 JavaScript 语言的入门教程,也适合当作日 常使用的参考手册。 介绍 - 5 - 本文档使用 书栈(BookStack CN) 构建 前言 前言 我写这本教程,主要原因是自己需要。 编程时,往往需要查阅资料,确定准确用法。理想的 JavaScript 参 考书,应该简明易懂,一目了然,告诉我有哪些注意点,提供代码范 例。如果涉及重要概念,还应该适当讲解。可是大多数时候,现实都不 是如此。找到的资料冗长难懂,抓不住重点,有时还很陈旧,跟不上语 言标准和浏览器的快速发展,且大多数是英文资料。 学习过程中,我做了很多 书籍有所不同。作 为教程,本书对所有重要概念都进行了讲解,努力把复杂的问题讲得简 单,希望一两分钟内就能抓住重点。本书还可以作为参考手册,罗列了 主要用法和各种 API 接口,并给出可以立即运行的代码。所有章节按 照语言的 API 编排,方便以后的查阅。 如果你发现某处出现陌生的新概念,请不要担心,可以继续阅读下去。 以后查阅这些章节的时候,你会发现很方便找到某个知识点相关的所有 内容。0 码力 | 540 页 | 3.32 MB | 10 月前3阮一峰 《ECMAScript 6入门》 第三版
语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 前言 4 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介 绍,并给出大量简洁易懂的示例代码。 本书为中级难度,适合已经掌握 ES5 的读者,用来了解这门语言的最新发展;也 可当作参考手册,查寻新增的语法点。 前言 5 全书已由电子工业出版社出版,2017年9月推出了第三版,书名为《ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现 有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是 否支持。下面是一个例子。 // 转码前 input.map(item => item + 1); // 转码后 input.map(function (item) { return item + 1; }); 上面的原始代码用了箭头函数,Babel babel src --out-dir lib # 或者 $ babel src -d lib # -s 参数生成source map文件 $ babel src -d lib -s 上面代码是在全局环境下,进行 Babel 转码。这意味着,如果项目要运行,全局环 境必须有 Babel,也就是说项目产生了对环境的依赖。另一方面,这样做也无法支 持不同项目使用不同版本的 Babel。0 码力 | 679 页 | 2.66 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 15.3. 使用 Drop Trait 运行清理代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 16.1. 使用线程同时地运行代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 赋能(empowerment):无论你现在编写的是何种代码, Rust 能让你在更为广泛的编程领域走得更远,写出自信。(这一点并不显而易见) 举例来说,那些“系统层面”的工作涉及内存管理、数据表示和并发等底层细节。从传统角度来 看,这是一个神秘的编程领域,只为浸润多年的极少数人所触及,也只有他们能避开那些臭名 昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍0 码力 | 562 页 | 3.23 MB | 9 天前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100