Technical Notes - LinDong123a/2017-2018-computing-thinking 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上更是基于它集成到各种语言环境,分支众多。

MQTT

轻量级的 machine-to-machine 通信协议。 publish/subscribe模式。 基于TCP/IP。 支持QoS。 适合于低带宽、不可靠连接、嵌入式设备、CPU内存资源紧张。 是一种比较不错的Android消息推送方案。 FacebookMessenger采用了MQTT。 MQTT有可能成为物联网的重要协议。

Ionic

ionic[1.3] 是一个专注于用WEB开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。绑定了AngularJS和Sass。这个框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。

Mongo

MongoDB[2.7] 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案,它的特点是高性能、易部署、易使用,存储数据非常方便。

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)供应商可以在一个数据中心实例中管理一个应用程序实例并向多个客户提供网络访问。在这样的情况下,每个客户的数据都是孤立的,其它租户无法看到。