寒假有58天,但过得飞快。不知不觉又要上学了,又将开启新的学习进程。
寒假的一开始,我初步了解了git,又在小胜的指导下知道了markdown格式,gitChina、github不能直接在页面显示记事本、word文档之类的,但可以显示md格式的文本。于是,我学习了如何使用gitChina和github等代码托管工具进行代码托管,并且在小胜的带领下,用gitChina来托管我们需求文档。
同时我又开始学习设计模式,一开始看的是《大话设计模式》,但总觉得对一些设计模式还是不太理解,于是又去找了《Head first设计模式》来看,我发现这类深入浅出的书籍真的很适合入门。里面有大量生活中的例子,还提到了很多设计模式在java中的应用,感觉学习的过程比较轻松愉快。画类图、用代码实现设计模式是必不可少的,而且我发现一定要定期的总结,比如比较两种设计模式之间的区别和联系,联想这种设计模式可以用在哪里等等。我记得,我在STC学习口语的时候,那里的师姐就说,学习口语是输入和输出的过程。其实学习任何东西都是。看书、记笔记是输入,用代码实现、总结是输出。之前我的学习局限于输入,或者只涉及到一部分的输出,所以没有形成对于这门知识的抽象理解。就像面向对象中的原则之一,要面向抽象编程,而非面向实现编程一样,之前的我学习一门知识,只是面向实现,纠结于细枝末节,没有从宏观思考这门知识的作用,没有面向抽象。
之后我又学习了spring框架,我这才明白为什么师兄建议我学了设计模式以后再学习spring.Spring是用动态代理模式实现的,如果没有学习设计模式,我想我会一头雾水,搞不清楚状况,学起来也会很困难。
一开始我是通过看马士兵的spring视频以及结合文档来学习的,后来我发现,原来spring除了有IOC、AOP等方面的支持,还包含一个基于事务的测试框架,在测试完毕后会进行回滚,不会破坏数据库现场。于是我又在网上搜了一些demo,再结合文档来学习。
后来又学习了spring的mvc框架,发现其实用spring mvc进行开发要比struts2效率要高,而且开销也相对较低(因为struts2要管理一个值栈)。
在学习spring的期间,稍微了解了bootstrap框架。到今天为止,maven学习进行中。。。。
在学习的过程中,我认为自己有几点不足:
1.时间管理上有些问题,一天只能专注于一门知识的学习。例如我在学习设计模式的时候,本来打算学习一些其他的东西,但却发现在学习其他的时候,总有种学不下去的感觉,心里总是想着“不如还是把XXX先学好吧”,但是可能长时间学习同一门知识,学习效率又不高,于是可能学习速度上稍微比较慢。
2.长期使用视频进行学习,一旦使用书籍或者文档进行学习,速度明显比较慢。使用视频学习可以快速入门,但长期来看我觉得不利于独立思考,也不利于阅读能力和理解能力的提高。我觉得应该在利用视频学习之后,再通过看文档来学习,并且逐步摆脱对视频的依赖,同时平时应该广泛阅读书籍,有意识地提高自己的阅读速度以及理解能力。
3.有时候比较懒散,这个跟时间管理也会有点关系,以后我将会慢慢地调整自己的计划,学习怎样进行高效的时间管理,更好地利用时间,在该学习的时间高效地学习,该休息的时候好好休息。