邓良驹 编写更安全的Python代码
编写安全的Python代码 邓良驹 2019.10.19 思考题 if user.balance >= product.price: user.balance -= product.price ? 目录 CONTENTS 常见不安全代码 代码检查的工具 总结:如何规避风险 常见不安全代码 小心 eval 应对: 在生产环境中,任何情况下都不要使用eval。 import sys or '1'='1 SELECT * FROM accounts WHERE uid = '' or '1'='1' 应对: 对外部输入进行完善的检查、过滤、转义操作后,再进行执行。 参考资料:“驹说码事”《注入的原理与防御措施》 https://mp.weixin.qq.com/s/Zd81qlcWJi4H1AD9WzPX7w 小心 PyPI 依赖包 不要以为 Star 多的包就不存在漏洞; 谨慎选择第三方 PyPI 包,尽量少导入 PyPI 包; 利用 https://pyup.io/ 等服务保持检查和更新依赖; 利用 Chef InSpect 落实代码安全规范的检查。 *参考资料:“驹说码事” 《如何import一个不存在的对象》 https://mp.weixin.qq.com/s/0_ivKVDU-nKf3r-c96sqrA 利用 Bandit 检查代码 记不住那么多点?交给Bandit!0 码力 | 18 页 | 988.40 KB | 1 年前3Build Python App with Serverless 费良宏
费良宏 Technical Evangelist | Amazon Web Services lianghon@amazon.com 用 Python 开发 Serverless 应用 @ 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved $whoami • 软件工程师 (1991 – 今) • 简单的方法之二,chalice $ pip install chalice # code refactor $ chalice deploy https://chalice.readthedocs.io 费良宏 Technical Evangelist, AWS @ 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved0 码力 | 35 页 | 7.81 MB | 1 年前38 4 Deep Learning with Python 费良宏
深度学习 -用 PYTHON 开发你的智能应用 / , 费良宏 lianghon@amazon.com AWS Technical Evangelist 21 April 2016 关于我 工作:Amazon Web Services / Evangelist 7 年 Windows/ Internet/ Cloud @ 3 年 iOS/ Mobile App @ 1.5 年 Cloud0 码力 | 49 页 | 9.06 MB | 1 年前3运维上海2017-分布式数据库系统TiDB在Kubernetes平台的自动化运维实践-邓栓
0 码力 | 32 页 | 3.47 MB | 1 年前3Kubernetes 异常配置检测框架
顾静, 阿里云 邓隽, 阿里云 Kubernetes 异常配置检测框架 我们来自阿里云容器服务 • 顾静,研发工程师 • 邓隽,技术专家 我们参与打造 • 容器服务(ACK/ASK) • 容器镜像服务(ACR) • 服务网格(ASM) • … 1 Kubernetes 典型异常 2 检测框架演进 3 生产实践 4 总结 Kubernetes 使用日常 • 应用部署 •0 码力 | 31 页 | 9.57 MB | 1 年前3Moonshot AI 介绍
往可能是⼀些兴奋的⽬标,聚集起了真正优秀的⼈。 我也很期待⽉之暗⾯⽤这种对组织、对创新的新范式的思考,接下来能够有所成就。 90后AI天才的⼤模型⾸战 36氪2023-10-10邓咏仪 访谈|邓咏仪杨轩陈紫冰 ⽂|邓咏仪 编辑|杨轩苏建勋 来源|智能涌现(ID:AIEmergence) 站在核爆中⼼圈,是⼀种什么样的体验? 在这次ChatGPT引发的AI⼤爆炸中,做了⼗年堪0 码力 | 74 页 | 1.64 MB | 1 年前3Krita 5.2 マニュアル
にある機能の紹介ページに 行ったり、一般的なコンセプト のところで(デジタル)アートの背後にある 包括的な概念を読み通したり、または リファレンスマニュアル でどのボタ ンが何をするか探して見ると良いでしょう。 コンテンツ: インストール Krita を起動する 基本的な概念 操作 インストール Windows Windows 利用者は Krita をウェブサイトや、Windows ストア、あるいは flatpakrepo] 上のリポをひとつ追加した後は Krita を探すことができ、ソフトウェアセン ターがインストール用の Flatpak 版を表示するようになります。 もしターミナルからする方が良いのであれば次のコマンドで Krita の Flatpak ビルドをインストールできます KDE Flatpak リポには: flatpak --user remote-add --if-not-exists 現在のファイルのスナップショットをバージョン番号のついたファイルを 新しく作ることで簡単に行います。 これらのオプションはファイル間を頻繁に切り替える、何かした時のために バックアップを取るような生産作業をする人にはとても良い選択肢です。Krita はまた自動保存、ファイルのバックアップクラッシュリカバリの形でファイル バックアップの仕組みがあります。これらの機能は全般設定のところで設定で きます。 画像は 表示 を通して見ています。0 码力 | 1591 页 | 79.16 MB | 1 年前3Debian リファレンス v2.124
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 9.11 kill コマンドが良く使うシグナルのリスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 9.12 特記すべき SAK stupid、簡潔性尊重原則) – システムを過剰にエンジニアリングしてはいけません • ログファイルを読みます – 最初のエラーが大事なエラーです • RTFM (read the fine manual、良く書かれているマニュアルを読みましょう) • 質問する前にインターネットを検索しましょう • 必要もないのに root になってはいけません • パッケージ管理システムを改変してはいけません • I:12 521 テキストコンソール上の Unix 式のカットアンドペースト (daemon) Table 1.1: 興味あるテキストモードのプログラムパッケージのリスト いくつかの参考資料を読むのも良いことです。 これらのパッケージの一部を以下のようにしてインストールします。 # apt-get install package_name Debian リファレンス 5 / 259 パッケージ0 码力 | 287 页 | 1.60 MB | 1 年前3Idris 语言文档 Version 1.3.1
为字段赋予新值, 而 $= 通过应用一个函数来更新其值。 每个记录在它自己的命名空间中定义,这意味着字段名可在多个记录中重用。 记录以及记录中的字段可拥有依赖类型。更新允许更改字段的类型,前提是结果是良类型的。 record Class where constructor ClassInfo students : Vect n Person className : String 将 students 失夵失天 中找到。 1. 7 示 示 示例 例 例: : :良 良 良类 类 类型 型 型的 的 的解 解 解释 释 释器 器 器 在本节中,我们使用已经见过的特性来编写一个更大的例子:一个简单的函数式语言解释器, 带有变 量、函数应用、二元运算符和 if...then...else 构造。 我们用依赖类型系统来保证所有能够表示的 程序都是良类型的。 1. 7. 1 语 语 语言 言 言的 的 的表 = interpTy a -> interpTy t 我们将定义一种表示方法,它只能表示良类型的程序。我们通过表达式的类型 与 与 与 其局部变量的类型 (上下文)来索引它。上下文可以用 Vect 数据类型来表达。 由于上下文需要被经常使用,因此它会被 1. 7. 示 示 示例 例 例: : :良 良 良类 类 类型 型 型的 的 的解 解 解释 释 释器 器 器 35 I d r i s 语0 码力 | 224 页 | 2.06 MB | 1 年前3Comprehensive Rust(日语) 202412
ラ スが 3 時間、午後のクラスが 3 時間となります。どちらのセッションにも、休憩と、受講者が演習に取り 組むための時間が複数回含まれています。 講座開始までに、以下にあげる準備を済ませておくと良いでしょう: 1. 資料に慣れておいてください。要点を強調するためにスピーカーノートが用意されています(内 容の追加にご協力ください!)。プレゼン時には、スクリーンを見やすい状態で保つために、スピ clone()) } – たくさんのパラメタがある場合に、where 節は関数のシグネチャを整理整頓してくれま す。 – where 節には更に強力な機能があります。 * 誰かに聞かれた場合で良いですが、その機能というのは、”:” の左側には Optionのように任意の型を表現できるというものです。 • なお、Rust はまだ特化 (specialization) をサポートしていません。たとえば、元の this in the Safe FFI Wrapper exercise. これは、ターゲットプラットフォームを完全に理解していることを前提としています。本 番環境での使用推奨されません。 次に、より良い選択肢を見ていきます。 37.1.1 Bindgen の使用 bindgen ツールを使用すると、C ヘッダーファイルからバインディングを自動生成できます。 まず、小さな C ライブラリを作成します。 0 码力 | 381 页 | 1.36 MB | 10 月前3
共 222 条
- 1
- 2
- 3
- 4
- 5
- 6
- 23