Java['dʒɑːvə]
当前软件开发行业应用最广、就业量***的编程语言,在各类编程语言排行榜长期位列***。是企业软件开发的***语言,也是Android系统的开发语言。
Java吸取了C++语言的众多优点,是极好的面向对象编程语言,程序员可以很优雅的思维方式编写强大负责的软件程序。
Maven['mevn]
一种项目对象模型,可以通过一小段描述信息来管理项目的各种依赖之间的关系,是一个项目管理工具软件。
Git[ɡɪt]/SVN
Git是一个开源的分布式版本控制系统,可以有效、高速地实现从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Svn功能与Git类似,但Git应用更广泛。
JSP/Servlet['sɜvlet]
JSP全名为Java Server Pages,中文名叫java服务器页面,它可以在web页面的html文件中利用JSP标记插入Java程序代码,变成.jsp文件。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
Java Servlet是JSP的技术基础,大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。
Spring[sprɪŋ]
一个Java的服务端程序开发框架,它使开发逻辑和业务逻辑更加清晰,利用这个框架可以开发各类企业级服务端程序。
SpringMVC
基于Spring之上,遵循MVC(模型-视图-控制器)设计原则的前端web开发框架,它是基于Servlet技术实现的。
SprintBoot/SpringCloud
比SpringMVC更加简单,更加专注于后端微服务开发的后端框架。
SpringCloud是全局微服务的整合与管理,可以看做是对多个SpringBoot微服务的管理。
微服务就是一小组服务功能集合。中大型软件功能众多,往往需要拆分成很多小功能模块进行开发,每个小模块可以单独运行,就叫做微服务。
JDBC/MyBatis[mai'beitis]
JDBC,Java DataBase Connectivity即Java和数据库的连通工具。通过这个标准可以方便的控制和操作数据库。
MyBatis也是一个用来操作数据库的数据持久层框架,但它比JDBC更简单更好用,行业应用也越来越广泛。
SSM (SSM 框架集)
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
JavaScript['dʒɑvə,skrɪpt]
网页编程脚本语言,主要用来实现网页动态效果和各种功能和业务逻辑。JavaScript是开发者使用最广泛的语音,没有之一。JavaScript和Java的关系类似雷锋和雷锋塔的关系,半毛钱都没。Java学不好对于JavaScript没有任何影响。
Html5
HyperText Markup Language,网页开发最主要的编程语言,简单好学功能强大。Html5是***版本,2014年发布。
CSS3
Cascading Style Sheets,层叠样式表,用来给网页元素设定各种样式,美化页面。CSS3是***版本,2001年制定。
jQuery[dʒe'kwɪərɪ]
Javascript的一个框架,就是别人把很多网页常用功能写好了打包在一起成为jQuery给大家用。jQuery能够操作页面制作动画,以及更多厉害的功能。jQuery曾经是网页开发的必选工具,但近几年随着Vue、react、angular的兴起,jQuery已经不那么流行了。
Bootstrap['bʊt'stræp]
JS框架,提供了很多现成的网页元素,可以很快让网页变得美观大方。
MySQL[mai'si:kjuːel]
SQL,结构性查询语言Structured Query Language,Mysql目前行业最常用的关系型数据库,用来存储各种数据,可以很方便的查询搜索。
结构性数据一般是指类似Excel表格的数据。
NoSQL/Redis[re'dis]/MongoDB['mɒŋgəʊ'di'bi]
NoSQL是非关系型数据库,和MySQL不同。非关系型数据库在互联网时代尤其是大数据云计算时代越来越重要,可以应对更多样的数据存储需要。最常见的非关系型数据库有Redis、MongoDB和Memcache。同时这些数据库也经常被用来大幅度提高后端软件的运行效率。很好的结合各种数据库使用,可以使软件程序性能提高成百上千倍。
数据可视化
数据可视化,是关于数据视觉表现形式的科学技术研究,即如何用图表来展示复杂的数据关系和数据结构,通过表达、建模以及动画的显示,对数据加以可视化解释。
数据可视化技术已经成为大数据技术的重要组成部分,优秀的图表和数据关系可以为开发者、项目管理者和企业高层提供决策辅助支持。
Nginx[n'dʒeninks]/Apache[əˈpætʃɪ] /Tomcat['tɑmkæt]
这三个都是常用的网络服务器软件,为网站提供http服务,让用户能够访问到服务器上的网页文件。目前Nginx使用最为广泛,其他两个的使用在逐渐下降。
Hadoop[ha'du:p]
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
分布式系统是指运行在网络上台计算机之上的软件和系统,与我们熟悉的windows只运行在单个计算机上不同。
HDFS/MapReduce[mæp rɪ'dʊs]
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
Linux[ˈlɪnəks]/Unix['jʊnɪks]
Unix,初名UNiplexed Information and Computing Service,诞生于1970年贝尔实验室,是一个强大的操作系统。类Unix系统是指类似Unix的系统,包括我们熟悉的Android、iOS、苹果电脑系统MacOS、Ubuntu等都是类Unix系统。Android就是基于Linux的。常见的Linux有用于普通电脑的Ubuntu和适合做服务器的CentOS。
HDFS
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统。它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。
MapReduce[mæp rɪ'dʊs]
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。
并行运算指一次执行多个指令的算法,经常是指在分布式系统上多台计算机多个CPU同时并发执行计算。
Hive[haɪv]
Hive是基于Hadoop的一个数据仓库工具,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
HBase[eɪtʃ beɪs]
HBase是一个分布式的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
结构化数据一般是指类似Excel表这样的结构,比如word文档、图片、视频就是非结构的。
Storm[stɔːm]
Storm用于在分布式系统上实现实时处理消息并更新数据库,也可以用于对数据流做连续查询,一边计算,一遍把结果输出给用户。
Hadoop主要是处理一批数据,对时效性要求不高,需要处理就提交一个工作任务,而Storm时效性更高,比如实时录音录像、数据更新等。
Storm核心组件
Storm核心组件有主节点、从节点、进程、线程、协调服务等。
数据流模型
指大数据开发技术中数据流处理相关的规范和设计模式。
Scala[ˈskɑːlə]
Scala是一门多范式的编程语言,一种类似java的编程语言,运行在Java环境之上,和Java互联互通,集多种语言优势于一身。
Scala是大数据技术的常用语言之一,主要用于Spark相关开发。
Spark[spɑːk]
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是,Spark更加快速,能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark Core[kɔr]
Spark核心技术,基于弹性分布式数据库RDD技术,这是Spark数据读取、变换、输出的关键。
Spark SQL
Spark SQL是Spark用于处理结构化数据的模块,能够适应SQL语句操作数据库。
Spark Streaming['striːmɪŋ]
Spark Streaming是用来接收和处理数据流的工具,可以对数据流进行计算。
Spark MLlib[em ɛl lɪb]
MLlib,机器学习库Machine Learnig lib,是Spark对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器。Spark的设计初衷就符合很多机器学习算法的特点。