Vocabulary技术名词解释 - yangboz/iStoryBook GitHub Wiki
技术名词解释,仅供参考。
Spring-boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
RESTful API
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。
Swagger UI
现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景。例如我目前的工作,移动端交由了另一团队开发,不同开发小组之间就需要以规范和文档作为标准和协作基础。良好的文档可以让开发事半功倍,而作为又懒又要效率又能交代的码农,当然最希望一切自动化,或用小聪明来找到最适合的工具。
Swagger-UI简单而一目了然。它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具。项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,swagger-ui在这方面更是能提供很大帮助。
Swagger-UI更倾向于在线测试接口和数据,但其核心是一个javascript插件,只要稍作修改,便能按需求定制出不同格式的说明文档,在github上更是基于它集成到各种语言环境,分支众多。
BlockChain
区块链(Blockchain)是由节点参与的分布式数据库系统,它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger)。它是比特币的一个重要概念,完整比特币区块链的副本,记录了其代币(token)的每一笔交易。通过这些信息,我们可以找到每一个地址,在历史上任何一点所拥有的价值。
PoW
PoW,全称Proof of Work,即工作量证明,又称挖矿。大部分公有链或虚拟货币,如比特币、以太坊,均基于PoW算法,来实现其共识机制。即根据挖矿贡献的有效工作,来决定货币的分配。
PoA
PoS
纯权益证明(PoS)机制和混合权益证明机制加密货币目前正处于上升的趋势之中。以最著名的纯POS机制的加密货币Nxt为例,目前Nxt已经有几十个分叉版本(其中一些非常有前景);Ethereum团队也在探索混合PoS/PoW机制挖矿原理,还有很多PoS型加密货币。与此同时,在概念方面也存在很多忧虑,没有足够好的正式形式说明。比如,有名的最为不幸的 “无风险”(Nothing at Stake)攻击至今仍然没有很好的描述和说明。可怕的是不论权益证明好的方面还是不好的方面,目前其背后都没有形成良好的模型和形式化的描述。
Cocos2D-X
https://www.zhihu.com/question/31112808
Ionic
ionic[1.3] 是一个专注于用WEB开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。绑定了AngularJS和Sass。这个框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。
HyperLedger
Hyperledger 项目是来自 Linux 基金会的一个新的协作项目。技术社区将于很快开始该项目的开发。
Hyperledger 项目目的是通过标注和定位重要特性以及缺失需求来创建一个推进 blockchain 技术的协作项目。依此作为分布式分类帐跨行业的开放标准,可以改变全球商业交易的方式进行。
Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间可以链接。
Kubernetes
Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的开源版本,是产线实践经验的最佳表现[G1] 。如Urs Hölzle所说,无论是公有云还是私有云甚至混合云,Kubernetes将作为一个为任何应用,任何环境的容器管理框架无处不在。正因为如此, 目前受到各大巨头及初创公司的青睐,
AI/DeepLearning/Tensorflow
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。
Multi-tenancy
多租户(multi-tenancy)是单一软件程序为多个客户服务的架构。一位客户就称作一位租户。租户能够自定义该应用程序的某些部分,如用户界面(UI)的颜色或业务规则(business rule),但是他们不能自定义应用程序的代码。
由于软件开发和维修所需的费用都被分担了,多租户(multi-tenancy)非常省钱。它可以和单租户对比,单租户是指每个用户各自拥有自己的软件实例并有权更改密码的架构。在多租户架构中,供应商只需要升级一次。而单租户架构中,供应商为了升级必须接触多个软件实例。
在云计算(cloud computing)中,由于利用了虚拟化(virtualization)、远程访问(remote access)两种新的服务模式,多租户(multi-tenancy)架构的意义有所扩展。例如,软件即服务(SaaS)供应商可以在一个数据中心实例中管理一个应用程序实例并向多个客户提供网络访问。在这样的情况下,每个客户的数据都是孤立的,其它租户无法看到。
Jenkins
Jenkins持续集成(CI/CD)是一种软件开发实践。用于帮助团队成员频繁、快速的集成,测试他们的工作成果,以尽快发现集成错误。 更频繁、更早的集成意味着更早的发现问题。通过持续集成,及时发现和解决代码故障,提高代码质量,减少故障处理成本等等。
微处理架构
微处理架构——处理复杂事物,许多公司,比如Amazon、eBay和NetFlix,通过采用微处理结构模式解决了上述问题。其思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相连接的微服务。
一个微服务一般完成某个特定的功能,比如围棋棋谱管理、围棋玩家管理等等。每一个微服务都是微型六角形应用,都有自己的业务逻辑和适配器。一些微服务还会发布API给其它微服务和应用客户端使用。其它微服务完成一个Web UI,运行时,每一个实例可能是一个云VM或者是Docker容器。