第一篇:好程序员大数据培训-大数据用到哪些技术?
好程序员大数据培训-大数据用到哪些技术
大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算、高并发处理、高可用处理、集群、实时性计算等,汇集了当前IT领域热门流行的IT技术。
想要学好大数据需掌握以下技术:
1.Java编程技术
Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,是大数据工程师最喜欢的编程工具,因此,想学好大数据,掌握Java基础是必不可少的!
2.Linux命令
对于大数据开发通常是在Linux环境下进行的,相比Linux操作系统,Windows操作系统是封闭的操作系统,开源的大数据软件很受限制,因此,想从事大数据开发相关工作,还需掌握Linux基础操作命令。
3.Hadoop
Hadoop是大数据开发的重要框架,其核心是HDFS和MapReduce,HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算,因此,需要重点掌握,除此之外,还需要掌握Hadoop集群、Hadoop集群管理、YARN以及Hadoop高级管理等相关技术与操作!
4.Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,十分适合数据仓库的统计分析。对于Hive需掌握其安装、应用及高级操作等。
5.Avro与Protobuf
Avro与Protobuf均是数据序列化系统,可以提供丰富的数据结构类型,十分适合做数据存储,还可进行不同语言之间相互通信的数据交换格式,学习大数据,需掌握其具体用法。
6.ZooKeeper
ZooKeeper是Hadoop和Hbase的重要组件,是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组件服务等,在大数据开发中要掌握ZooKeeper的常用命令及功能的实现方法。
7.HBase
HBase是一个分布式的、面向列的开源数据库,它不同于一般的关系数据库,更适合于非结构化数据存储的数据库,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,大数据开发需掌握HBase基础知识、应用、架构以及高级用法等。
8.phoenix
phoenix是用Java编写的基于JDBC API操作HBase的开源SQL引擎,其具有动态列、散列加载、查询服务器、追踪、事务、用户自定义函数、二级索引、命名空间映射、数据收集、行时间戳列、分页查询、跳跃查询、视图以及多租户的特性,大数据开发需掌握其原理和使用方法。
9.Redis
Redis是一个key-value存储系统,其出现很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便,大数据开发需掌握Redis的安装、配置及相关使用方法。
10.Flume
Flume是一款高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。大数据开发需掌握其安装、配置以及相关使用方法。
11.SSM
SSM框架是由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架。大数据开发需分别掌握Spring、SpringMVC、MyBatis三种框架的同时,再使用SSM进行整合操作。
12.Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,其在大数据开发应用上的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。大数据开发需掌握Kafka架构原理及各组件的作用和使用方法及相关功能的实现!
13.Scala
Scala是一门多范式的编程语言,大数据开发重要框架Spark是采用Scala语言设计的,想要学好Spark框架,拥有Scala基础是必不可少的,因此,大数据开发需掌握Scala编程基础知识!
14.Spark
Spark是专为大规模数据处理而设计的快速通用的计算引擎,其提供了一个全面、统一的框架用于管理各种不同性质的数据集和数据源的大数据处理的需求,大数据开发需掌握Spark基础、SparkJob、Spark RDD、spark job部署与资源分配、Spark shuffle、Spark内存管理、Spark广播变量、Spark SQL、Spark Streaming以及Spark ML等相关知识。
15.Azkaban
Azkaban是一个批量工作流任务调度器,可用于在一个工作流内以一个特定的顺序运行一组工作和流程,可以利用Azkaban来完成大数据的任务调度,大数据开发需掌握Azkaban的相关配置及语法规则。
16.Python与数据分析
Python是面向对象的编程语言,拥有丰富的库,使用简单,应用广泛,在大数据领域也有所应用,主要可用于数据采集、数据分析以及数据可视化等,因此,大数据开发需学习一定的Python知识。
好程序员特训营自2014年成立至今,一直立志培养高薪,高能,高职的程序员人才,截至目前,好程序员学员就业均薪1万5以上,学员薪资最高达到2万9千元。现开设大数据、Html5、JavaEE、Python等高端精品课程,坚持100%全程面授;这里将是你通向软件开发工程师的新起点。
只有完整的学完以上技术,才能算得上大数据开发人才,真正从事大数据开发相关工作,工作才更有底气,升职加薪不成问题!
第二篇:数据加密技术(定稿)
我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。在信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也可以用来对他们构成威胁,造成破坏。在竞争激烈的大公司中,工业间谍经常会获取对方的情报。因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改。数据加密与解密从宏观上讲是
非常简单的,很容易理解。加密与解密的一些方法是非常直接的,很容易掌握,可以很方便的对机密数据进行加密和解密。
一:数据加密方法好范文版权所有
在传统上,我们有几种方法来加密数据流。所有这些方法都可以用软件很容易的实现,但是当我们只知道密文的时候,是不容易破译这些加密算法的(当同时有原文和密文时,破译加密算法虽然也不是很容易,但已经是可能的了)。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优点。例如,大家都知道的,它既压缩数据又加密数据。又如,的一些软件包总是包含一些加密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用户的密码。所有这些加密算法都要有高效的加密和解密能力。
幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,系列就有一个指令‘’在硬件级来完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛的使用。
对这种“置换表”方式的一个改进就是使用个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变的更加困难,因为黑客必须正确的做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译。比如,我们可以对所有的偶数位置的数据使用表,对所有的奇数位置使用表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切的知道用了两张表。
与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个中,再在中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难,几乎有些不可能了。例如,有这样一个词,变换起字母的顺序,可以变为,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。
但是,还有一种更好的加密算法,只有计算机可以做,就是字字节循环移位和操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难!而且,更进一步的是,如果再使用操作,按位做异或操作,就就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用数列。对数列所产生的数做模运算(例如模),得到一个结果,然后循环移位这个结果的次数,将使破译次密码变的几乎不可能!但是,使用数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。
在一些情况下,我们想能够知道数据是否已经被篡改了或被破坏了,这时就需要产生一些校验码,并且把这些校验码插入到数据流中。这样做对数据的防伪与程序本身都是有好处的。但是感染计算机程序的病毒才不会在意这些数据或程序是否加过密,是否有数字签名。所以,加密程序在每次到内存要开始执行时,都要检查一下本身是否被病毒感染,对与需要加、解密的文件都要做这种检查!很自然,这样一种方法体制应该保密的,因为病毒程序的编写者将会利用这些来破坏别人的程序或数据。因此,在一些反病毒或杀病毒软件中一定要使用加密技术。
循环冗余校验是一种典型的校验数据的方法。对于每一个数据块,它使用位循环移位和操作来产生一个位或位的校验和,这使得丢失一位或两个位的错误一定会导致校验和出错。这种方式很久以来就应用于文件的传输,例如。这是方法已经成为标准,而且有详细的文档。但是,基于标准算法的一种修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的。
二.基于公钥的加密算法
一个好的加密算法的重要特点之一是具有这种能力:可以指定一个密码或密钥,并用它来加密明文,不同的密码或密钥产生不同的密文。这又分为两种方式:对称密钥算法和非对称密钥算法。所谓对称密钥算法就是加密解密都使用相同的密钥,非对称密钥算法就是加密解密使用不同的密钥。非常著名的公钥加密以及加密方法都是非对称加密算法。加密密钥,即公钥,与解密密钥,即私钥,是非常的不同的。从数学理论上讲,几乎没有真正不可逆的算法存在。例如,对于一个输入‘’执行一个操作得到
结果‘’那么我们可以基于‘’,做一个相对应的操作,导出输入‘’。在一些情况下,对于每一种操作,我们可以得到一个确定的值,或者该操作没有定义(比如,除数为)。对于一个没有定义的操作来讲,基于加密算法,可以成功地防止把一个公钥变换成为私钥。因此,要想破译非对称加密算法,找到那个唯一的密钥,唯一的方法只能是反复的试验,而这需要大量的处理时间。
加密算法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。加密算法本身也是很慢的,这使得使用算法加密大量的数据变的有些不可行。这就使得一些现实中加密算法都基于加密算法。算法以及大多数基于算法的加密方法使用公钥来加密一个对称加密算法的密钥,然后再利用一个快速的对称加密算法来加密数据。这个对称算法的密钥是随机产生的,是保密的,因此,得到这个密钥的唯一方法就是使用私钥来解密。
我们举一个例子:假定现在要加密一些数据使用密钥‘’。利用公钥,使用算法加密这个密钥‘’,并把它放在要加密的数据的前面(可能后面跟着一个分割符或文件长度,以区分数据和密钥),然后,使用对称加密算法加密正文,使用的密钥就是‘’。当对方收到时,解密程序找到加密过的密钥,并利用私钥解密出来,然后再确定出数据的开始位置,利用密钥‘’来解密数据。这样就使得一个可靠的经过高效加密的数据安全地传输和解密。
一些简单的基于算法的加密算法可在下面的站点找到:
三.一个崭新的多步加密算法
现在又出现了一种新的加密算法,据说是几乎不可能被破译的。这个算法在年月日才正式公布的。下面详细的介绍这个算法
使用一系列的数字(比如说位密钥),来产生一个可重复的但高度随机化的伪随机的数字的序列。一次使用个表项,使用随机数序列来产生密码转表,如下所示:
把个随机数放在一个距阵中,然后对他们进行排序,使用这样一种方式(我们要记住最初的位置)使用最初的位置来产生一个表,随意排序的表,表中的数字在到之间。如果不是很明白如何来做,就可以不管它。但是,下面也提供了一些原码(在下面)是我们明白是如何来做的。现在,产生了一个具体的字节的表。让这个随机数产生器接着来产生这个表中的其余的数,好范文版权所有以至于每个表是不同的。下一步,使用技术来产生解码表。基本上说,如果映射到,那么一定可以映射到,所以(是一个在到之间的数)。在一个循环中赋值,使用一个字节的解码表它对应于我们刚才在上一步产生的字节的加密表。
使用这个方法,已经可以产生这样的一个表,表的顺序是随机,所以产生这个字节的随机数使用的是二次伪随机使用了两个额外的位的密码现在,已经有了两张转换表,基本的加密解密是如下这样工作的。前一个字节密文是这个字节的表的索引。或者,为了提高加密效果,可以使用多余位的值,甚至使用校验和或者算法来产生索引字节。假定这个表是的数组将会是下面的样子
变量是加密后的数据,是前一个加密数据(或着是前面几个加密数据的一个函数值)。很自然的,第一个数据需要一个“种子”,这个“种子”是我们必须记住的。如果使用的表,这样做将会增加密文的长度。或者,可以使用你产生出随机数序列所用的密码,也可能是它的校验和。顺便提及的是曾作过这样一个测试使用个字节来产生表的索引以位的密钥作为这个字节的初始的种子。然后,在产生出这些随机数的表之后,就可以用来加密数据,速度达到每秒钟个字节。一定要保证在加密与解密时都使用加密的值作为表的索引,而且这两次一定要匹配
加密时所产生的伪随机序列是很随意的,可以设计成想要的任何序列。没有关于这个随机序列的详细的信息,解密密文是不现实的。例如:一些码的序列,如“可能被转化成一些随机的没有任何意义的乱码,每一个字节都依赖于其前一个字节的密文,而不是实际的值。对于任一个单个的字符的这种变换来说,隐藏了加密数据的有效的真正的长度。
如果确实不理解如何来产生一个随机数序列,就考虑数列,使用个双字(位)的数作为产生随机数的种子,再加上第三个双字来做操作。这个算法产生了一系列的随机数。算法如下:
如果想产生一系列的随机数字,比如说,在和列表中所有的随机数之间的一些数,就可以使用下面的方法:
××××
××××
××××
××
一
变量中的值应该是一个排过序的唯一的一系列的整数的数组,整数的值的范围均在到之间。这样一个数组是非常有用的,例如:对一个字节对字节的转换表,就可以很容易并且非常可靠的来产生一个短的密钥(经常作为一些随机数的种子)。这样一个表还有其他的用处,比如说:来产生一个随机的字符,计算机游戏中一个物体的随机的位置等等。上面的例子就其本身而言并没有构成一个加密算法,只是加密算法一个组成部分。
作为一个测试,开发了一个应用程序来测试上面所描述的加密算法。程序本身都经过了几次的优化和修改,来提高随机数的真正的随机性和防止会产生一些短的可重复的用于加密的随机数。用这个程序来加密一个文件,破解这个文件可能会需要非常巨大的时间以至于在现实上是不可能的。
四.结论:
由于在现实生活中,我们要确保一些敏感的数据只能被有相应权限的人看到,要确保信息在传输的过程中不会被篡改,截取,这就需要很多的安全系统大量的应用于政府、大公司以及个人系统。数据加密是肯定可以被破解的,但我们所想要的是一个特定时期的安全,也就是说,密文的破解应该是足够的困难,在现实上是不可能的,尤其是短时间内。
《数据加密技术》
第三篇:大数据:不是技术难题
90%以上的企业可以用他们90%的现有需求和技术、工具来解决现在的大数据问题。企业并不是缺乏解决这些大数据难题的工具、技术甚至人才.他们真正面临的问题是,如何在公司建立一个和大数据相匹配的文化与流程。
虽然眼下十分火热,然而“大数据”概念并没有明确的范畴,时大数据的定义只是相衬于当前可用的技术和资源而言的,因此,某一个企业或行业所认为的大数据,可能衬于另一个企业或行业就不再是大数据,时于大的电子商务企业,它们眼中的大数据要比小厂商眼里的大数据“大”得多;同时,大数据也会特续地演进,现在被我们认为庞大和恐饰的数据在10年之后只是小事一桩,但那时候将会有那个时代的新数据源。然而,面衬这些源源不断出现的“大数据”,哪些事情是希望从中发掘机会的企业需要注意的?
新数据源是核心
欧博思分析师认为大数据的三个“V”特征,即Volume(规模),Variety(种类),和Velocity(高速度),这些只是大数据的第二位要素。大数据真正重要的“V”是Value(价值)。那么是什么带来了大数据的价值?
答案是新的数据源。
过去,获取网络浏览数据的技术门槛和成本都很高,而现在获取这些数据已经很容易,企业可以通过了解消费者浏览数据中展示的偏好以及未来购买倾向,来给他们推出最合适的折扣优惠。这都是新数据源的力量,这才是大数据的价值核心。
但在客户的沟通实践中,常常发现:大多数时候,人们都将精力投注在如何在“大数据”时代优化处理模型,或者升级技术装备以希求能提升分析的效果。
但是真正能提升分析效果的方式,是搜集并加入完全崭新的信息源。一旦新的、和从前不同的数据源出现并且能够被收集,你最好将自己的注意力转到这些新的数据上去一一比起你将精力放在模型优化上,新的数据源将能带来更大的收获。因此,在大数据时代,建议 就是,将你的精力放到不断寻求祈的数据源上吧。如今很多企业都会有很多新的数据源,如果正确使用的话,它们会带给企业非常有竞争力的优势。
小步快跑式
对大数据的另一个误解是,“大数据其实就是一个技术问题”。
事实上90%以上的企业可以用他们90%的现有需求和技术、工具来解决现在的大数据问题。企业并不是缺乏解决这些大数据难题的工具、技术甚至人才,他们真正面临的问题是,如何在公司建立一个和大数据相匹配的文化与流程,是缺乏对技术做投资的公司文化,他们的挑战是做出一个商业案例来证明技术升级是有价值的。
为了促进公司文化的转变,更建议一种“小步快跑”的运作方式,即在处理新数据源的过程中,企业内部的分析专家们应该积极寻找代价小、见效快的方法,不断向企业展示一些有价值的东西,来让人们保持对新数据源处理过程的兴趣。一个跨部门的大数据团队一定不能在组建一年之后,还对外宣称他们“正在试图搞明白”,要不时地迸发出想法,不管这一想法多么微小,然后迅速采取行动。
另外一个建议是,建立类似“创新中心”这样的地方,就是公司内部拿出少量的预算、人力资源、技术资源来做一些有一定未知风险的小实验,以小预算做试点,便于企业快速出击。
总的来说,大数据将为企业提供更多视角和洞察,通过和其他企业数据的结合,消费者洞察无论从数量还是质量上都会有指数级增长,因此最重要的一点,是大数据策略必须和其他数据结合形成整体数据战略,而不是独立的战略。
第四篇:2018什么IT技术最热门?Java大数据培训怎么样?
2018什么IT技术最热门?Java大数据培训怎么样?
你是否思考过学一门技术呢?那么你了解过当下最热门的技术有哪些吗?当下又是什么技术最热门呢?要学技术自然就得学当下最热门的,虽然竞争会大点,但是架不住发展前景好。今天就跟广州兄弟连小编一起来关注下,2018什么技术最热门?Java大数据。
国庆节快到了,此次国庆节有8天假,想必大部分朋友即使是离家很远的朋友都打算回家吧,比如你打算给一年难得见几面的父母买个礼物,那么你到网上搜索下,国庆节送父母什么礼物好,就会接受到很多的推荐,里面包含对各个年龄阶段父母礼物的推荐。
你觉得这是运用到了什么样的IT技术呢?没错就是当下最热门的Java大数据技术,你平常也一定发现过,不管你网上搜索什么,都会有相应的答案回复你,全世界多少亿人口,每个人都有不同的问题要查,那么多的海量数量累积在一起,你是如何找出你想要的答案的呢?
就是Java大数据的存在帮助我们可以最快找到自己想要的答案,Java大数据的存在能够帮助企业获得更先进的工具、更顺畅的部署和新的商业机会,当下智能化要求越来越高的时代,企业要想展翅高飞,离不开Java大数据技术的支持,Java大数据基础能够帮助企业实现数字化转型目标。
我们可以看到企业谁的Java大数据技术应用的越好,谁就更能在市场上获得先机,知道消费者想要的是什么,Java大数据技术是每个企业在长久辉煌发展中的法宝,Java大数据越发的火爆,但是我国市场上的Java大数据人才状况却是供不应求。
来吧,让我们携手打造一场专属于你的Java大数据学习盛宴。学Java大数据,就选广州兄弟连。
广州兄弟连:http://gz.itxdl.cn/
第五篇:好程序员培训纪实 我的大数据高端班求学实录
好程序员培训纪实
我的大数据高端班求学实录
简单直接,先为大家送上入学好程序员大数据高端班一个月以来的培训纪实。
第一周是学习了Java的入门知识,包括环境搭建,基础语法讲解,局部变量和全局变量,函数及函数的重载,数组和两种排序和两种查找。
第二周是主要内容是面向对象的编程思想,static,final关键字,继承(继承的创建与重写),接口,多态,内部类(简单了解),异常(包括异常的处理和自定义异常),设计模式(单例,模板)还有字符串和字符串的功能。
第三周,第四周开始学包装类,Date类,Math类等各种类,接着是集合,泛型,这里容易混淆。线程创建,多线程的同步问题,线程间的通信,单生产者单消费者,多生产者多消费者,最后是I/O流,这里分类较多,需要多花时间在这里。
接下来着重记录下最近所学的知识点,StringBuffer的方法
1.增加StringBuffer str =new StringBuffer(“hello”);str1=str.append(“world”);
2.插入str1.insert(6,“123”)// “hello 123 world” 3.删除StringBuffer str1=new StringBuffer(“hello”);System.out.println(str1.deleteCharAt(1));//hllo 4.Date date=new Date();long time=date.getTime();//把当前时间转换为long类型
Date b=new Date(time);//把long类型的time转换为Date类型
SimpleDateFormat gs=new SimpleDateFormat(“yyyy-MM-dd”);Date date=gs.parse(“1999-01-01”);//把字符串转化为Date类型
String riqi=gs.format(date);//把Date转化字符串 5.Arrays的工具类 import java.util.Arrays;BinarySearch()二分查找用法 Arrays.BinarySearch(a,3);Arrays.sort(a);数组排序;
Arrays.toString();//这个方法是是用来将数组转换成String类型输出的,入参的可以是long,float,double,int,boolean,byte,object型的数组。Fill();给定数组 为其填充内容int a[]=new int[8];Arrays.fill(a,1,5,8);//[0, 8, 8, 8, 8, 0, 0, 0]。
6.成员内部类,可以使用外部类的属性和方法,也可以修改外部类的属性。内部类的class文件名,外部类名$内部类名.class。内部类创建对象,外部类,内部类,对象名=外部类对象.new 内部类构造方法();静态内部类不能使用外部非静态成员。静态内部类只能使用外部类中的静态成员;
7.字符串和int类型的转化。String str=“123”;int a=Integer.parseInt(str);int b=Integer.valueOf(Str);//这两个基本一样;String str=Integer.toString(a);以上面是我们这段时间所学的知识点,最后还想和大家总结一些我的经验。每接触一下新的内容,先熟悉基本语法,大概掌握到80%左右,就可以直接上手撸代码了,多练习和多撸才是最重要的。其次在编写一个程序之前,不要一开始就直接写代码,可以先自己分析一下这个程序的框架,做个区分,然后分模块,分步骤完成。可能在写的过程中会遇到一些语法,用法模糊的问题,这是最好一口气写完,无法写的模块,步骤先空着。再去对照答案去看自己不会的那部分,这里最好比对一下我们的思路和答案的思路的不同点,优缺点。最好有时间的话,最好再重新撸一遍。这样真正掌握这个东西,这时候求精不求量。还有一点是大家学习都很用功,白天到黑夜,累的时候就好好休息,休息好了再重新学习,一直处于疲惫状态浪费了时间,效果也不好。五楼上面有按摩椅,累的时候去按一按,很舒爽。