daguanren 发布于 02月07, 2018

通用软件系统架构设计

一、高可用的软件系统设计原则

1、进行集群化设计,无单点故障,支持纵向和横向扩容

2、能够进行模块化拆分,系统之间可以通过服务化方式相互调用和组合

有时,研发为了配合产品团队,保障产品的快速开发上线和迭代,前期使用单机版架构开发和部署。这样做在前期业务量较少的时候是较为方便和节省时间的。但出来混,迟早是要还的。随着用户数和业务量的增长,单机版很快就达到瓶颈,这时再去重新设计整个软件架构,将单点拆分和模块拆分,相当于要推翻整个系统,重新开发,非常浪费时间。

阅读全文 »

daguanren 发布于 02月04, 2018

OAuth 2.0 介绍

一、OAuth 2.0 是什么?

OAuth 是一个授权的网络标准。我们经常会遇见和使用到它。比如我在码云页面登录时:

阅读全文 »

小艺 发布于 01月26, 2018

深入浅出理解比特币原理

一、比特币的背景

2008年9月,美国第4大投资银行雷曼兄弟由于投资失利,引发了全球金融海啸。为应对危机,各国政府采取量化宽松等措施,救助由于自身过失、陷入危机的大型金融机构。这些措施带来了广泛的质疑,人们对政府的信心开始动摇。

在此非常时刻,一位自称“中本村”的科学家提出了一种新型电子现金系统,不依赖于特定的中央发行机构,无需任何可信的第三方,使用遍布整个P2P网络节点的分布式数据库来记录货币的交易,并使用密码学的设计来确保货币流通各个环节安全性。这就是本文所要讲的比特币。

阅读全文 »

Jacob 发布于 01月22, 2018

十分钟从搭建环境到编写你的第一个Python程序


1 引言

1.1 Python是什么

Python的创始人为吉多·范罗苏姆。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果,完美结合了C和其他一些语言。[1]

著名的自由软件作者Eric Raymond在他的文章《如何成为一名黑客》中,将Python列为黑客应当学习的四种编程语言之一,并建议人们从Python开始学习编程。是的,对于那些从来没有学习过编程或者并非计算机专业的编程学习者而言,Python是最好的选择之一。

阅读全文 »