python 做的支付模块,如何保证“可靠”

2015-10-22 18:49:14 +08:00
 aiqier

大家应该都知道, python 本身不适合用来开发支付相关的模块。
相比之下,静态语言 java ,要适合的多,但是我们现在的系统,支付相关的模块,就是由 python 来做的,
那么就目前而言,我要如何在用 python 的同时,保证这个项目“可靠”
首先我认为:动态语言没有静态类型检查,所以在项目做大的时候,项目的维护成本会变的越来越高。支付系统的安全性很重要,而动态语言过于灵活,不易保证,他可能在做业务系统上会快很多。
我想请教一下:
1.除了我说的,用 python 做一个支付相关的系统,会有的那些风险,还会有哪些风险。
2.我如何在使用 python 的前提下,竟可能的保证项目”可靠”。
这个项目包括付款渠道,收款渠道。钱包,收银台等。逻辑不是很复杂,大概 2w 多行的代码。

5578 次点击
所在节点    Python
30 条回复
SYP
2015-10-23 00:23:40 +08:00
@geeklian 这种抽象层次很高的语言安全漏洞是会比低级语言多的,这种意义上来说确实不适合。
xiazi
2015-10-23 08:51:42 +08:00
看了 Why-does-Google-prefer-the-Java-stack-for-its-products-instead-of-Python:
里面提到的 python 缺点实际只有两点 Concurrency 和 Performance(完全没有提动态类型这些), 而两点实际就是性能问题, 而性能问题就是因为 GIL, 而现实中需要大量占用 cpu 的应用并不多(支付模块中应该不会存在这类问题).
XianZaiZhuCe
2015-10-23 09:04:34 +08:00
喷子真多
est
2015-10-23 09:29:40 +08:00
LZ 挖坑机器人。大家不要理会。人的固有偏见为啥大家要白费力气去纠正呢。偏激就要放纵他偏激一辈子。
mengzhuo
2015-10-23 10:01:00 +08:00
╮(╯▽╰)╭

无稽之谈
我司 IAP 模块就是 Python 写的,还是 mongodb 做的存储
收入、对账、从来没有错过~~
youxiaer
2015-10-23 10:14:33 +08:00
@aiqier 支付公司用 java 的确实比较多,但是动态语言做支付也是可以的,首先得看业务复杂度,其次就是开发人员对所使用的语言的掌握程度,即使使用 java ,如果出现逻辑错误也是很危险的。 php 就是动态语言,用 php 做支付的也不少。
domty
2015-10-23 10:37:35 +08:00
@aiqier
你说的这些东西实际上涉及的是技术选型和技术架构,譬如开发人员的成本,开发后产品的负载能力,代码的维护成本。你说 python 是动态类型,维护成本高,在高访问量下响应慢,我觉得的都有道理,但是这和你用它开发产品的安全性低没啥必然联系。
作为一个程序员的角度,我只能尽可能的保证我开发的业务流程尽可能没有漏洞就够了,该效验的地方效验,该加密的地方加密,让恶意的请求被过滤掉就够了。这些业务代码,即使换门开发语言我也能轻松写出来。
aiqier
2015-10-23 15:26:23 +08:00
@geeklian 能够天生的支持静态类型检查,和用库去实现类型检查是两码事,类似说“ c 也能写出面相对象的代码”,那和 java 直接支持一样么?
shenqiu2015
2015-10-23 16:09:25 +08:00
java 那套严苛的规则是用来约束猪队友的,只有猪队友,才离了规则就不会走路吃饭
shenqiu2015
2015-10-23 16:12:05 +08:00
java 的静态类型检查有利于 IDE 智能感知,有利于加快编译运行速度。但是跟业务逻辑没有关系,没有了静态类型检查就不会写业务逻辑?这个说法不成立。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/230265

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX