互联网资源极大丰富,各种电子书和视频多如牛毛,想起我上学那会儿资料贫瘠的状态,现在的同学可以说是非常幸福了, 但事物总有两面性,浩瀚的资料却带来了幸福的烦恼:如何进行选择。
比如这个问题:到底是看书好还是看视频好呢?
这个问题仁者见仁、智者见智:
有人觉得书细致而严谨,全面而详实,有人觉得看起来比较枯燥;
有人觉得视频有声音有图像,更加生动活波,但有人觉得视频很啰嗦,不能像读书那样快速推进。
我的观点是无论是读书还是看视频,都是一种手段, 关键是在学习过程中得有目标感。
对于学习一门具体的技术而言,学习前最好是先列举问题,多问几个问什么,然后再带着这些问题到书或者视频中去寻找答案,即有目的地去搜索,主动去学习。
比如打算学习redis,可能会有这样的问题:
为什么要有缓存?
缓存和应用程序是在一个进程内还是不同的进程?
缓存在本机还是网络上?
缓存里能放什么东西?
数据是什么格式?
缓存和数据库的一致性怎么保证?
如何实现高性能?
一个redis服务器满了怎么办?
一个redis服务器挂了怎么办?
......
我们带着这些疑问去学习,就会发现一本书,一个视频远远不够 -- 因为无法回答我们所有的疑问。
很有可能需要读好几本书,读很多文章,搜索很多东西,来回对比,才有可能解答这些疑问, 也有可能一些问题一直解答不了,突然有一天在编程或者讨论中被触动,这才打通了任督二脉。
还有一个好的实践是经常站在设计者的角度去思考这些问题,甚至自己去考虑实现方案, 然后和人家的实现对比,会有极大的收获。
用这种方式其实就是以我为主,不断丰富自己的知识结构,建立自己的知识大厦。
自己的知识大厦一旦建立起来,应对层出不穷的新技术就会轻松得多,因为真正颠覆性的、革命性的技术并不多,大部分新的工具和框架都是巧妙地充分地利用了现有技术,很好地解决了某一方面的问题。
当然,如果是新手,经验不足,一开始提不出那么多问题,或者提出的问题非常的笼统,没有指导性,怎么办?
那也没关系,罗马不是一天建成的,提不出问题,就要善于总结。
我们在读书、看视频的时候,要勤于思考和总结:这一章到底讲了什么东西,解决了什么问题? 能不能用自己的语言给描述一遍?
学习编程是有加速度的,自己的知识结构越丰富,就跑得越快。
做个比喻:就是努力把自己往上提,尽量从上往下俯视。
也许刚开始只能仰视,慢慢地平视,最后就是开启了上帝视角俯视了。
(完)
你看到的只是冰山一角, 更多精彩文章,请移步《2016文章精华》或者《2017文章精华》
码农翻身
用故事讲述技术