Python语言在企业应用方面可能会遇到哪些错误

介绍

小编给大家分享一下Python语言在企业应用方面可能会遇到哪些错误,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

<强> Python语言在企业应用方面遭遇的十大谬误

语言多元化是贝宝编程文化中一个重要的组成部分。在c++和Java长期流行的同时,更多的团队选择了JvaScript和Scala。同时,布伦特里的收购也引入了一个久经世故的Ruby社区。

Python作为一门特别的语言,在eBay和PayPal有很长的历史。而且其流行程度依然有增不减。

eBay的开发者支持Python这个应用于基层领域多年的语言。甚至在eBay管理层官方支持Python以前,技术人员就开始使用Python。我在几年前加入贝宝并选择Python来写内部应用,然而,我却发现了贝宝中将近15年以前的Python代码。

目前,Python支撑着超过50个项目,包括:

功能和产品型,例如eBay现在和RedLaser

运营和基础设施型,从开放的OpenStack到专有设施

中间层服务和应用型,例如贝宝用来设定价格以及检测用户可用功能的那个(服务/应用)

监测代理和接口型,用于涉及到部署和安全的一些用例

批处理任务型,例如数据导入、价格调整,及其它项目

以及不计其数的开发者工具

在接下来的文章里我将详细介绍那些使得eBay和PayPal的Python生态系统从2011年的不超过25个工程师到2014年超过260个工程师所使用的技术和举措。对于本文,我则会专注于10个不得不予以揭露的关于eBay和PayPal的企业环境的谬误。

<强>谬误# 1:Python是一门新语言

伴随着所有的初创公司正在使用它以及孩子们最近也在学习它的事实,这个谬误为何仍然存在是可以理解的。实际上Python已经超过23岁了,它最初发布于1991年,早于HTTP 1.0协议5年且早于Java 4年。目前比较有著名的很早就使用Python的例子是在1996年:谷歌的第一个成功的网络爬虫。

<>强谬误# 2:Python没有被编译

不像c++一样需要一个独立的编译器工具链,Python实际上被编译成了字节码,和Java或者许多其他的编译型语言十分相似,更进一步的编译过程,如果有的话,取决于运行时环境,不管是CPython, PyPy, Jython/JVM, IronPython/CLR,或是其它的进程式虚拟机(过程虚拟机),参考谬误# 6来了解更多。

一条在PayPal以及其它地方的通用原则就是,(应用的)安全性不能依赖于代码的已编译状态。更为重要的是加强运行时环境的安全,因为实质上每种语言都有一个解码器,或者能被拦截并导出受保护的状态。参考下一条谬误来了解更多的Python安全性问题。

<强>谬误# 3:Python不安全

轻量级Python的亲和力可能使他看起来不怎么可怕的,但是这里直觉很大程度上是受到了误导的。安全的一个核心原则就是尽可能让呈现的目标更小。大系统是违背安全原则的,因为他们趋向于使行为过渡集中化,并且也让开发者难于理解。Python通过倡导简洁化来边缘化这些恶心的问题。更有甚者,CPython通过让自己成为一个简单,稳定并且易于审核的虚拟机来使这些问题得到解决。事实上,近期Coverity软件的一个分析结果显示CPython得到了他们的最高质量评级。

Python还拥有一系列可扩展的开源,产业标准化的安全库序列。在贝宝,我们把安全和授信看做是重中之重,我们发现hashlib, PyCrypto,以及OpenSSL,通过PyOpenSSL和我们自己的定制构建的结合,涵盖了贝宝多样化的安全和性能需求。

这些诸多的原因,使得Python成为贝宝(和eBay)的应用程序安全团队在某些业务中最快的选择。这里有把Python用在PayPal的安全第一环境中的几个以安全为基础应用程序:

创建安全代理,以促进密钥的轮换以并巩固加密实现

同业界领先的HSM技术集成

为缺乏兼容性的技术栈构建受TLS保护的封装代理

为我们内部的互相认证计划生成键和证书

开发主动的漏洞扫描器

另外,还有无数存在安全隐患的用Python构建,面向操作的系统,诸如防火墙和连接管理。未来,我们一定回去深入的整合贝宝Python的安全事项。

<>强谬误# 4:Python是一门脚本语言

Python确实可以用来编写脚本,并且因其简单的语法,跨平台并且无所不在于Linux, mac电脑,和其它Unix机器而成为这个领域的领跑者之一。

事实上,Python可能是常规用途编程语言中最灵活的技术。以下是一些实例:

电信基础设施(为什么Twilio)

支付系统(贝宝、平衡支付)

神经科学和心理学(许多,许多,例子)

Python语言在企业应用方面可能会遇到哪些错误