专业词汇解释(一)
红黑树:红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。
红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。
它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。
----------------------------------------------------------------------
Choerodon:Choerodon 猪齿鱼是一个开源企业服务平台,是基于 Kubernetes 的容器编排和管理能力,整合 DevOps 工具链、微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理,并提供 IoT、支付、数据、智能洞察、企业应用市场等业务组件,来帮助企业聚焦于业务,加速数字化转型。
Choerodon 使用 Kubernetes 来管理和部署服务。
同时,Choerodon 使用 Spring Cloud 作为微服务分布式系统,并且 Choerodon 还使用 Spring Boot 进行了通用性模块的封装,例如组织管理、用户管理、权限管理等;前端使用 React 作为开发组件。
关键特性说明:
知识管理
根据需求自定义wiki,提供方便的项目协作和强大的内容管理,集中式管理产品相关内容。
敏捷管理
通过故事地图、用户故事来管理用户故事和发布计划,通过迭代来管理冲刺,最后通过看板来可视化冲刺的执行,让需求、计划、执行一目了然,使整个软件开发流程管理规范化。
应用管理
方便地进行应用创建,灵活的版本控制,同时将开发的应用发布至应用市场,并部署应用市场中的项目。
开发流水线
借助 Gitlab CI 作为持续集成工具,提供持续集成的流水线,简化应用开发、缩短应用生命周期,快速迭代。
测试管理
通过测试用例管理、测试循环、测试分析有效的提高软件测试的效率和质量,提高测试灵活性和可视化水平。
部署流水线
方便地管理各种使用开发部署的应用服务和资源,包括应用启停、状态监控,以及应用对应的版本控制、容器管理等。
运营管理
提供一整套完整的运营管理工具,在软件交付生产的各个环节建立数据收集和度量,监控主要包含开发类指标、服务器日志、应用系统日志和微服务调用链等信息;同时,提供各种分析报告,帮助用户优化 IT 资源配置。
微服务开发
基于 Spring Cloud 的微服务应用开发框架,方便快捷的构建应用服务,简化开发,提高IT系统对业务的支撑能力。
----------------------------------------------------------------------
BPMN2.0 :业务流程建模与标注,包括这些图元如何组合成一个业务流程图(Business Process Diagram);讨论BPMN的各种的用途,包括以何种精度来影响一个流程图中的模型;BPMN作为一个标准的价值,以及BPMN未来发展的远景。
----------------------------------------------------------------------
token:
1.无状态、可扩展
2.支持移动设备
3.跨程序调用
4.安全
基于Token的验证原理
基于Token的身份验证是无状态的,我们不将用户信息存在服务器或Session中。
这种概念解决了在服务端存储信息时的许多问题
NoSession意味着你的程序可以根据需要去增减机器,而不用去担心用户是否登录。
基于Token的身份验证的过程如下:
1.用户通过用户名和密码发送请求。
2.程序验证。
3.程序返回一个签名的token 给客户端。
4.客户端储存token,并且每次用于每次发送请求。
5.服务端验证token并返回数据。
每一次请求都需要token。token应该在HTTP的头部发送从而保证了Http请求无状态。我们同样通过设置服务器属性Access-Control-Allow-Origin:* ,让服务器能接受到来自所有域的请求。需要主要的是,在ACAO头部标明(designating)*时,不得带有像HTTP认证,客户端SSL证书和cookies的证书。
----------------------------------------------------------------------
Kubernetes:Kubernetes 是一个开源平台,用于跨主机群集自动部署,扩展和操作应用程序容器,提供以容器为中心的基础架构。
----------------------------------------------------------------------
React:React 是一个用于构建用户界面的 JAVASCRIPT 库。
----------------------------------------------------------------------
PyMySQL:PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
----------------------------------------------------------------------
Node.js:Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js 不是一个 JavaScript 框架,不同于CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能与 jQuery、ExtJS 相提并论。Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
----------------------------------------------------------------------
Dashboard:dashboard是商业智能仪表盘(business intelligence dashboard,BI dashboard)的简称,它是一般商业智能都拥有的实现数据可视化的模块,是向企业展示度量信息和关键业务指标(KPI)现状的数据虚拟化工具。
----------------------------------------------------------------------
Docker :Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
----------------------------------------------------------------------
Harbor:Harbor 是一个企业级的 Docker Registry,可以实现 images 的私有存储和日志统计权限控制等功能,并支持创建多项目。
----------------------------------------------------------------------
Kafka:Kafka 是由 Apache 软件基金会开发的一个开源流处理平台,由 Scala 和 Java 编写。Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
----------------------------------------------------------------------
Phpmyadmin:phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
----------------------------------------------------------------------
SonarQube:SonarQube 作为自动化代码检查工具。SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量搜索。通过插件形式,可以支持包括 java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy 等等二十几种编程语言的代码质量管理与检测。
----------------------------------------------------------------------
Selenium:Selenium 是一套完整的 web 应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。
----------------------------------------------------------------------
CheckStyle:CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。
----------------------------------------------------------------------
SourceForge:SourceForge.net,又称SF.net,是开源软件开发者进行开发管理的集中式场所。 SourceForge.net由VA Software提供主机,并运行SourceForge软件。大量开源项目在此落户(截至2009年2月,超过23万的软件项目已经登记使用超过200万注册用户的服务,使SourceForge.net开放源码的工具和网络应用的最大集合),包括维基百科使用的MediaWiki,但也包含很多停止开发和一人开发的项目。
SourceForge 是全球最大开源软件开发平台和仓库,网站建立的宗旨,就是为开源软件提供一个存储、协作和发布的平台。SourceForge 上拥有大量非常优秀的开源软件,事实上,这些软件完全可以代替一些商业软件。
----------------------------------------------------------------------
Eslint:ESLint 是一个语法规则和代码风格的检查工具,可以用来保证写出语法正确、风格统一的代码。
----------------------------------------------------------------------
lodash函数工具包:它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,其中部分是目前ECMAScript尚未制订的规范,但同时被业界所认可的辅助函数。
----------------------------------------------------------------------
Zipkin:Zipkin 为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。
----------------------------------------------------------------------
Grafana:Grafana 是一个开箱即用的可视化工具,具有功能齐全的度量仪表盘和图形编辑器,有灵活丰富的图形化选项,可以混合多种风格,支持多个数据源特点。
----------------------------------------------------------------------
Promethues:Promethues 是由 SoundCloud 开发的开源监控报警系统和时序列数据库(TSDB)。
----------------------------------------------------------------------
Micrometer:Micrometer 是一个监控指标的度量类库。
----------------------------------------------------------------------