Alice

Python常用的22个包,你都学费了吗?

孤人 提交于 2020-04-28 19:55:09
全球各地的程序员都是怎样使用 Python? 我们从最常用的 Python 包入手,去解答上述这个问题。最初,我列出过去一年在 PyPI 上下载次数最多的 Python 包。接下来,深入研究其用途、它们之间的关系和它们备受欢迎的原因。 1、Urllib3 下载次数:8.93 亿 Urllib3 是一个 Python 的 HTTP 客户端,它拥有 Python 标准库中缺少的许多功能: 线程安全 连接池 客户端 SSL/TLS 验证 使用分段编码上传文件 用来重试请求和处理 HTTP 重定向的助手 支持 gzip 和 deflate 编码 HTTP 和 SOCKS 的代理支持 不要被名字所误导, Urllib3 并不是 urllib2 的后继者,而后者是 Python 核心的一部分。如果你想使用尽可能多的 Python 核心功能,或者你能安装什么东西是受限,那么请查看 urlllib.request。 对最终用户来说,我强烈建议使用 requests 包(参阅列表中的 #6)。这个包之所以会排名第一,是因为有差不多 1200 个包依赖 urllib3,其中许多包在这个列表中的排名也很高。 2、Six 下载次数:7.32 亿 six 是一个是 Python 2 和 3 的兼容性库。这个项目旨在支持可同时运行在 Python 2 和 3 上的代码库。 它提供了许多可简化 Python 2

Web 攻击之 XSS 攻击及防御策略

。_饼干妹妹 提交于 2020-04-28 14:08:02
XSS 攻击 介绍 XSS 攻击,从最初 netscap 推出 javascript 时,就已经察觉到了危险。 我们常常需要面临跨域的解决方案,其实同源策略是保护我们的网站。糟糕的跨域会带来危险,虽然我们做了访问控制,但是网站仍然面临着严峻的 XSS 攻击考验。 攻击定义: Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,利用信任执行代码。利用这些恶意脚本,攻击者可获取用户的敏感信息,危害网站。 在部分情况下,由于输入的限制,注入的恶意脚本比较短。但可以通过引入外部的脚本,并由浏览器执行,来完成比较复杂的攻击策略。 这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。 攻击来源 用户的 UGC 信息 来自第三方的链接 URL参数 POST参数 Referer(可能来自不可信的来源) Cookie(可能来自其他子域注入) 攻击结果 盗用cookie,获取敏感信息。 利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。 利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博

学习谢希仁《计算机网络第7版》PDF+释疑与习题解答PDF

五迷三道 提交于 2020-04-26 17:04:42
计算机网络概念很多,TCP/IP必须掌握,推荐学习《计算机网络第7版》,从字里行间可以看出作者对整个计算机网络的了解,这种了解纵观全局,从宏观架构一直到各个协议的细节。 看过Tenenbuam的Computer Networks,觉得两本书其实在水平上不相上下的,只是CN一书介绍得更加全面,甚至在讲到应用层的时候会把web 服务器中的均衡负载展开来讲。如果作为自学的入门书籍,这本薄薄几百页的书其实更加合适。 知识点丰富,应用层、安全、无线网络部分有点意犹未尽。概念准确、论述严谨、内容新颖、图文并茂,突出基本原理和基本概念的阐述,同时力图反映计算机网络的一些 最新发展。分为9章,比较全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层(包括局域网)、网络层、运输 层、应用层、网络安全、互联网上的音频/视频服务,以及无线网络和移动网络等内容。各章均附有习题(附录A给出了部分习题的答 案和提示)。 《计算机网络第7版》PDF,464页,带目录,文字可复制。 《计算机网络释疑与习题解答第7版》PDF,296页,带目录,文字可复制。 下载: https://pan.baidu.com/s/1d-zarbgUsjeXF1F2m19Xlg 提取码: z5gc 《计算机网络第7版》第一章里面那个类似于《三体》的猜疑链的例子,真的很经典。在其他章节里作者也是理论先给出,之后给出很

201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

喜欢而已 提交于 2020-04-26 09:45:48
201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11654436.html 作业学习目标 掌握四种访问权限修饰符的使用特点; 掌握Object类的用途及常用API; 掌握ArrayList类的定义方法及用途; 掌握枚举类定义方法及用途; 结合本章实验内容,理解继承与多态性两个面向对象程序设计特征,并体会其优点。 正文内容: 实验内容和步骤: 实验1:在“System.out.println(...);”语句处按注释要求设计代码替换...,观察代码录入中IDE提示,以验证四种权限修饰符的用法。 代码: class Parent { private String p1 = "这是Parent的私有属性" ; public String p2 = "这是Parent的公有属性" ; protected String p3 = "这是Parent受保护的属性" ; String p4 = "这是Parent的默认属性" ; private void pMethod1() { System.out.println(

计算机网络自顶向下方法:第一章 计算机网络和因特网 课后复习题

拜拜、爱过 提交于 2020-04-22 03:46:31
有几题需要用到书本配套的网站, 由于注册不成功没能用上附带的java小程序, 但都从网上查到了数据, 网上许多答案都是重复的, 也不知哪个是原创就不表明出处了. 基本都是个人回答, 比较粗糙, 如有错误, 欢迎指出. 第一章 计算机网络和因特网 课后复习题 第二章 应用层 课后复习题 第三章 运输层 课后复习题 第四章 网络层:数据平面 课后复习题 第五章 网络层:控制平面 课后复习题 第六章 链路层和局域网 课后复习题 第一章 计算机网络和因特网 1.1节 R1. "主机"和"端系统"之间由什么不同? 列举几种不同类型的端系统. Web服务器是一种端系统吗? 在自顶向下中主机等同于端系统, 两者在概念上是统一的, 没有区别. 生活中与因特网相连的计算机, 智能手机, 游戏机等都属于端系统. Web服务器也属于端系统. R2. "协议"一词常被用于描述外交关系. 维基百科是怎样描述外交协议的? 外交协议指国际礼仪规则. 这些规则以文明原则为基础, 使各国人民更容易生活和工作在一起. R3. 标准对于协议为什么重要? 有了标准协议才能生效, 端系统才能基于协议制定的标准进行通信. 1.2节 R4. 列出六种接入技术. 将它们分类为住宅接入, 公司接入或广域无线接入. 住宅接入: 数字用户线(Digital Subscriber Line, DSL):

2020年编程语言排行榜!

假如想象 提交于 2020-04-18 23:35:01
小伙伴们,大家好,今天给大家分享的是全球最受欢迎的编程语言,到2020年4月18日。看看你用的语言上榜了吗? 最受欢迎的前20名 其他编程语言 未来可能受欢迎的语言(排名不分先后,使用字母排序) (Visual) FoxPro, ABC, ActionScript, Alice, Arc, ATLAS, Awk, bc, Bourne shell, C shell, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Forth, Hack, Icon, Inform, Io, J, Korn shell, Ladder Logic, LiveCode, Maple, Mercury, MQL4, NATURAL, Object Pascal, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, Programming Without Coding Technology, Pure Data, Q, Red, Ring, S, Smalltalk, Solidity, SPARK, Tcl, Vala/Genie, Verilog, VHDL, Whitespace 长期以来受欢迎的编程语言 编程语言名人堂 ps.由权威机构 TIOBE 发布。 今天的推荐不知道大家喜欢吗

2020年编程语言排行榜!

浪尽此生 提交于 2020-04-18 14:38:47
2020年编程语言排行榜! 小伙伴们,大家好,今天给大家分享的是全球最受欢迎的编程语言,到2020年4月18日。看看你用的语言上榜了吗? 最受欢迎的前20名 其他编程语言 未来可能受欢迎的语言(排名不分先后,使用字母排序) (Visual) FoxPro, ABC, ActionScript, Alice, Arc, ATLAS, Awk, bc, Bourne shell, C shell, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Forth, Hack, Icon, Inform, Io, J, Korn shell, Ladder Logic, LiveCode, Maple, Mercury, MQL4, NATURAL, Object Pascal, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, Programming Without Coding Technology, Pure Data, Q, Red, Ring, S, Smalltalk, Solidity, SPARK, Tcl, Vala/Genie, Verilog, VHDL, Whitespace 长期以来受欢迎的编程语言 编程语言名人堂 ps.由权威机构 TIOBE 发布。

2020年编程语言排行榜!

老子叫甜甜 提交于 2020-04-18 14:38:23
小伙伴们,大家好,今天给大家分享的是全球最受欢迎的编程语言,到2020年4月18日。看看你用的语言上榜了吗? 最受欢迎的前20名 其他编程语言 未来可能受欢迎的语言(排名不分先后,使用字母排序) (Visual) FoxPro, ABC, ActionScript, Alice, Arc, ATLAS, Awk, bc, Bourne shell, C shell, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Forth, Hack, Icon, Inform, Io, J, Korn shell, Ladder Logic, LiveCode, Maple, Mercury, MQL4, NATURAL, Object Pascal, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, Programming Without Coding Technology, Pure Data, Q, Red, Ring, S, Smalltalk, Solidity, SPARK, Tcl, Vala/Genie, Verilog, VHDL, Whitespace 长期以来受欢迎的编程语言 编程语言名人堂 ps.由权威机构 TIOBE 发布。 今天的推荐不知道大家喜欢吗

区块链学习之3Windows平台下以太坊私有链搭建及钱包部署和运行

橙三吉。 提交于 2020-04-15 10:55:21
【推荐阅读】微服务还能火多久?>>> 在Windows下的安装,是按着老师下发的安装教程做的。由于前面有在Ubuntu搭建的经验,所以感觉步骤大致相同,而且感觉Windows的简单一些。 一、理论知识 1.区块链中私钥、公钥和比特币地址三者的关系 1.用户首先会得到一个私钥,私钥是由程序调用操作系统自带的一个算法模块,在本地自动的生成的。 2.然后钱包这个应用会将这个私钥通过椭圆曲线算法这个矩阵相乘,得到用户的公钥。因为是与矩阵相乘,所以公钥也是矩阵,横向和纵向都是32位。 3.因为公钥十分复杂、不方便使用,所以又通过哈希函数得到了一个比特币地址(也叫钱包地址)。 2.比特币地址与传统账号的区别 1.相同点: 都是进行交易的一个支付转账的“凭证”。 2.不同点: (1)比特币地址是由区块链网络自发生成,而传统账号地址是由第三方机构生成。 (2)通过比特币地址查询到的是所有的转账记录,而传统账号查询到的是余额。 3.为什么一开始只是转账提交成功,需要矿工挖到新的区块才能算交易成功? 网上找了找相关的文章,我觉得下面这篇理解起来好懂一点: https://www.zxbcc.com/ad/478 上面那篇文章讲的是原理,然后用我的话总结一下结论: 我们可以把 [挖矿行为] 理解为 [争夺记账权] ,所以 [挖到矿] 就可以理解为 [记了一笔账] 。 所以当我们想要转账的时候

区块链学习之3Windows平台下以太坊私有链搭建及钱包部署和运行

僤鯓⒐⒋嵵緔 提交于 2020-04-15 10:22:15
【推荐阅读】微服务还能火多久?>>> 在Windows下的安装,是按着老师下发的安装教程做的。由于前面有在Ubuntu搭建的经验,所以感觉步骤大致相同,而且感觉Windows的简单一些。 一、理论知识 1.区块链中私钥、公钥和比特币地址三者的关系 1.用户首先会得到一个私钥,私钥是由程序调用操作系统自带的一个算法模块,在本地自动的生成的。 2.然后钱包这个应用会将这个私钥通过椭圆曲线算法这个矩阵相乘,得到用户的公钥。因为是与矩阵相乘,所以公钥也是矩阵,横向和纵向都是32位。 3.因为公钥十分复杂、不方便使用,所以又通过哈希函数得到了一个比特币地址(也叫钱包地址)。 2.比特币地址与传统账号的区别 1.相同点: 都是进行交易的一个支付转账的“凭证”。 2.不同点: (1)比特币地址是由区块链网络自发生成,而传统账号地址是由第三方机构生成。 (2)通过比特币地址查询到的是所有的转账记录,而传统账号查询到的是余额。 3.为什么一开始只是转账提交成功,需要矿工挖到新的区块才能算交易成功? 网上找了找相关的文章,我觉得下面这篇理解起来好懂一点: https://www.zxbcc.com/ad/478 上面那篇文章讲的是原理,然后用我的话总结一下结论: 我们可以把 [挖矿行为] 理解为 [争夺记账权] ,所以 [挖到矿] 就可以理解为 [记了一笔账] 。 所以当我们想要转账的时候