Skip to content
Knight.zhou edited this page Nov 16, 2017 · 16 revisions

技术名词解释,仅供参考。

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

Jenkins

Jenkins持续集成(CI/CD)是一种软件开发实践。用于帮助团队成员频繁、快速的集成,测试他们的工作成果,以尽快发现集成错误。 更频繁、更早的集成意味着更早的发现问题。通过持续集成,及时发现和解决代码故障,提高代码质量,减少故障处理成本等等。

MediaWiki

MediaWiki是由PHP开发的免费开源的维基程序,运行于PHP+mySQL环境。他是专为维基百科开发的wiki程序,目前除维基媒体基金会的项目外,也被广泛的应用在其他网站中。MediaWiki适合建立大型的百科网站,也有很多网站利用MediaWiki建立知识库系统,例如著名的Blog程序WordPress的官方网站的知识库体系就是基于MediaWiki搭建的。

Piwik

Piwik是一个PHP和MySQL的开放源代码的Web统计软件. 它给你一些关于你的网站的实用统计报告,比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等…

MediaGoblin

MediaGoblin是一个免费软件媒体发布平台,任何人都可以运行。(MediaGoblin is a free software media publishing platform that anyone can run. )

Netlify

Write frontend code. Push it. Netlify handle the rest. (https://www.netlify.com/)

Jupyter

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 前端展现基于浏览器,可以远程使用(服务器上安装使用jupyter notebook)

OpenModelica

OpenModelica是一个开源的基于Modelica语言的建模和仿真环境,用于工业界和学术界研究。长期由非赢利组织 Open Source Modelica Consortium (OSMC) 开发.

GitLab

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

Nexus

Nexus 是Maven/Docker仓库管理器,用来搭建本地的仓库服务或仓库代理服务器。在代理远程仓库的同时维护本地仓库,以节省带宽和时间。

Phabricator

Phabricator is a suite of open source tools for peer code review, task management, and project communication.

cAdvisor

cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers.

ResourceSpace

ResourceSpace is an open source Digital Asset Management system originally developed by UK company Montala Limited. Montala continues to manage the project in addition to providing commercial hosting, support and development services relating to the software. ResourceSpace has been released under a BSD-style license. It requires PHP, MySQL, and optionally utilities such as FFmpeg and ImageMagick that provide image processing capabilities. It works with most web server software such as Apache. It requires shell level access for features like thumbnailing.

ELK

ELK套件(ELK stack)是指ElasticSearch、Logstash和Kibana三件套。这三个软件可以组成一套日志分析和监控工具。

Service Mesh

Kubernetes

DC/OS

微处理架构——处理复杂事物

许多公司,比如Amazon、eBay和NetFlix,通过采用微处理结构模式解决了上述问题。其思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相连接的微服务。

一个微服务一般完成某个特定的功能,比如围棋棋谱管理、围棋玩家管理等等。每一个微服务都是微型六角形应用,都有自己的业务逻辑和适配器。一些微服务还会发布API给其它微服务和应用客户端使用。其它微服务完成一个Web UI,运行时,每一个实例可能是一个云VM或者是Docker容器。

ms-services

Clone this wiki locally