`

[转] 学习新技术的 10 个建议

 
阅读更多


转自:
http://www.iteye.com/news/27742

我们生活在一个振奋人心的时代。我们可以越来越方便廉价地获得大量学习资源。这些资源的传播载体由最初的教室被变成了博客,技术论坛等。坐拥如此众多的学习资源,我们没有任何理由不去好好利用。随之而来的问题便是如何在这知识的海洋中选择自己的前进方向。在这篇文章中,我将简要概括一些技术学习的建议,希望可以给你带来一些启发。

尽管我的建议主要涉及的是软件开发方面,但是这些原则在其他领域也同样适用。

1. 克服惯性




万事开头难,克服惯性是学习新技术的第一步。举个日常生活中惯性存在的简单例子,当我们看电视的时候会因为遥控器不在身边而懒得换台。幸运的是有很多的小技巧可以调动我们的积极性,帮助我们克服惯性。

对于我来说,微任务是一个很好用的小技巧。与其被手头的任务吓到,不如将任务细分为一个个具体的微任务,然后挑选其中的一个开始做起。就“拿到遥控器”这个例子来说,首先扭动你的脚趾,向前伸出,然后推动整个人离开沙发。下一步,身体滑到地上,用脚拿到遥控器,然后起身。通过完成一个个的微任务,你会发现自己克服了惯性,并且这项任务不再显得难以完成。这个方法可以被应用到学习新技能的过程中。

关键就是将大块任务细分为微任务。

2. 关注大牛




学习新技能的第一步是明确要学什么。它可以是任何你有激情去学,并且想深入学习的一些东西。这种原始的学习欲望非常重要,这种欲望可以在你的学习低潮期给你提供动力。

你想学的或许是一门新的编程语言、应用框架或者是新的工具,一旦你确定了想要的是什么,就立刻去收集相应的优秀群体所做的一些优质的工作成果。这些可以从YouTube、Vimeo、HackerNews、各种博客,甚至是你的微博好友那里获取。关注别人做了些什么可以给你强大的信心,让你觉得 “You can do it, too!”

3. 建立知识网




当你对自己要学习的东西建立了信心之后,接下来要做的就是做一块海绵,然后开始疯狂地吸收知识。从Google搜索关键词“beginner tutorials”开始吧,搜索一些跟你要学习的知识相关的入门教程。如你所知,Nettuts+上面有成千上百的各种教程供你选择,StackOverflow上面也有很多学习资源。此外,Quora也是一些不错的选择。通过浏览这些网上的资源之后,如果想要集中精力学习某一方面,这时就需要阅读一些相关的书籍了,个人推荐在Amazon上面寻找一些评分较高的专业书籍来提高自己。

4. 多听多看




随着你对技术的深入挖掘,你可能会想利用更多其他形式的学习资料,比如podcasts,screencasts等等。我的建议是多用 iTunesU,这上面有很多很专业的知识可以让你对于特定的领域进行深入的探索。

目前,有很多的网站都有提供在线教育服务,你可以在下面几个网站上找到自己需要的教程:

Udemy
CodeCademy
CodeSchool
此外,你也可以看一些免费的会议视频材料,比如YouTube上面的Google IO,以及Confreaks!

5. 行动起来




现在你已经看了一波又一波的教程以及视频资料,并且对于想学的技术已经有了一个相当深入的了解,接下来做些什么呢?没错,是时候理论联系实际了,实践是检验真理的唯一标准。

用你所掌握的技术做一个个人的小项目,设计一些简单的功能并且实现他们。毫无疑问,你会遇到很多的绊脚石,当遇到它们的时候,在StackOverflow或者Google上面搜索之,解决之。你已经踏上一条成为某一领域专家的旅程,遇到的困难挫折越多,你会变得越睿智。有句老话说得好,“专家是犯错最多的人”,这意味着他们尝试了很多疯狂的事情来探索这门技术的极限,最后,对于这门技术是如何运作的就可以知根知底。拥有这种洞察力之后,他们便可以随心所欲的运用这项技术去按照自己的意愿完成想做的事情(当然,是做好的事情)。

6. 写博客




在你进行你的探险之旅的时候,实时记录下你的成长以及犯下的错误大有裨益。在技术领域,博客是最简单易得并且受欢迎的表达载体。当你准备落笔的时候,你会强迫自己整理思路,并且对积累下来的零散的知识片段进行结构梳理。说不定,通过互联网的分享,你的经历和分享会给别人的成长带来帮助。

如果你想走的更远(比如想像Nettuts+上面的职业作者一样),你也可以制作属于自己的screencasts。总的来说,写博客能够提升你的个人沟通能力,这与你学到的技术同样重要。


7. 感受技术的脉搏




社交网络已经广泛应用于人们的日常交流以及发现新鲜事物。Twitter和Facebook是信息的主要来源,与此同时,有很多的网站提供更专注的资讯,如前面提到过的Quora网站,这上面有很多涉及面很广的一些话题供人们评论。在这上面可以找到很多知名大牛的建议以及观点。

浏览StackOverflow上面的众多话题是一个很有意思的过程,你可以看到他人如何探索某种技术的极限。事实上,在人们利用技术做一些疯狂的甚至是荒诞的事情的时候,技术也随之不断的成熟起来。

因此,如果你想要感受到技术的脉搏,并且想确认它是否值得学下去,在StackOverflow上面试着搜索一些话题,看看这个讨论社区的广度与深度。最值得看的是投票最多以及热门话题。你也可以尝试在GitHub上面进行搜索。

8. 参加聚会以及会议




尽管社交网络很棒,但是没有任何事物可以取代面对面的交流。在你住的附近参加一些小组聚会,在这里你可以找到志同道合的伙伴。你可以知道他人在做的一些有趣的项目,同时也可以在他人的帮助下解决一些自己遇到的难题!同样的,技术会议对于分享经验以及增长技术大有帮助!

9. 拥抱GitHub




GitHub是全世界开源项目的标志性“建筑物”。它是知识以及优质代码的宝库。当你对某项技术自我感觉良好的时候,下一步便是在GitHub中浏览寻找有趣的项目。阅读开源代码,尽可能多的阅读。这样做的话,你能够学到很多东西,比如说:

如何管理规模较大的项目
项目中应用的有趣的库
代码规范以及代码全局设计
文档风格
测试规范
解决诡异问题的方法,以及发现项目中有问题的地方
所有的这些知识都在等待着你去挖掘。有趣的是,这些知识的通过一个简单的标签就可以得到,那就是“好奇心”。

10. 专注学习




如果你担心上述的学习过程太迟缓,那么你也可以尝试一下快速学习模式。你或许听说过“24小时学会某某某”,但是这种方式不是我所推荐的。我认为更合理的是用几周的时间去学习。你可以尝试一下类似“七周学会七种语言”或者是“七周学会七种数据库”等学习方法。尽管这些讲的是语言以及数据库方面的学习,但是你在学习其他技术的时候也可以运用这种思维。

有一个不太相同的学习风格是“困难学习模式”,这种观点的前提是没有人可以真正掌握一门技术,除非每天都练习。所以,想要成为专家,你就需要不停地进行练习。异曲同工的是你可以查看Katas 和 Koans,他鼓励的使用你学的知识来解决问题。这些可以让你更好地入门以及接受那些陌生的概念,勇敢走出自己的舒适区,开始学习新知识!

学习一门交叉的技能

编程是一项左脑的运动,它利用的是大脑的分析能力,一步一步地寻找解决问题的方法。为了发挥右脑的功能,你可以尝试从事一些创造性的活动,比如说画画、3D建模、折纸、乐器甚至是制作家庭相册等。事实上,编程同样需要大量的创造力。或许你曾经遇到过类似的事情,你在睡梦中找到了问题的解决方案。这是因为你的右脑处理问题的方式很不同,它可以从各种地方获得信息。敏捷开发权威人士Andy Hunt就这个话题写了一本书《程序员的思维修炼》。如果你想点燃你的每一个神经元,建议你开始学习一门交叉的技能。

总结

掌握一门新技术振奋人心,这是一项影响你思维的新的体验。但是首先,你必须克服你的惯性,一旦你做到了,你便开启了从web的每个角落学习知识的旅程。我希望上面讲的十点能够给你的学习旅程带来一些帮助或启发。
分享到:
评论

相关推荐

    YD∕T 3169-2016 互联网新技术新业务信息安全评估指南.rar

    通过阅读《YDT 3169-2016 互联网新技术新业务信息安全评估指南.pdf》,我们可以深入学习这些方面的具体操作和实践建议,这对于从事互联网行业的专业人士来说是不可或缺的参考资料。遵循这个标准,企业可以构建更加...

    新技术学习总结.pdf

    总结而言,《新技术学习总结》不仅指出了信息技术在教育领域的应用和教师专业发展的重要性,还通过具体培训案例分享了教师在学习新技术过程中的体验和收获。这为其他教育工作者提供了一个借鉴和学习的平台,也提醒...

    关于学习多媒体技术课程的一点建议

    提出了多媒体课程学习和教学的一点心得,并根据课堂教学和师生课后反馈,提出了其它新的建议。

    C++学习的一些建议

    4. **持续跟进新技术**:C++标准不断演进,如C++11、C++14等版本引入了许多新特性。及时跟进这些变化对于保持竞争力非常重要。 5. **参与社区交流**:加入相关的技术社区或论坛,参与讨论可以帮助解决学习过程中遇到...

    技术工程师必看十条建议

    比如可以通过学习新技术、考取相关证书等方式来提升自己的竞争力。 ### 9. 自我驱动学习 - **重要性**:培养自我驱动学习的能力可以帮助工程师更快地成长。 - **实践方法**:设定个人学习目标,并定期检查进度。...

    研究报告--新时代新技术新教育 互联网+与教育变革.pdf

    人工智能(AI)将辅助教学,提供个性化的学习建议和评估,帮助每个学生找到最适合自己的学习路径。同时,教育将更加注重培养学生的创新思维和跨文化交际能力,以适应全球化和数字化的社会需求。 总结: “新时代新...

    嵌入式系统的知识体系、学习误区及学习建议_files

    4. 不断更新:关注行业动态,适时学习新技术,保持与时俱进。 最后,文件“嵌入式系统的知识体系、学习误区及学习建议_files”可能包含更详细的教程、案例分析或专家建议,建议你打开文件进一步学习,以便深入理解...

    50条C++学习建议

    - **建议**:始终保持求知欲,不断学习新技术。 #### 20. 掌握C++标准 - **解释**:熟悉C++的标准库和语言规范对于编写高质量代码至关重要。 - **建议**:阅读《The Standard C++ Bible》等标准文档。 #### 21. ...

    前端开发学习建议

    ### 前端开发学习建议 #### 一、学习路径规划 前端开发是现代网站建设和应用开发中的一个重要组成部分。为了成为一名合格的前端开发者,合理的学习路径尤为重要。 1. **HTML与CSS基础**:HTML(HyperText Markup ...

    学习C++应该看的书&学习C++的50个建议

    下面将结合"学习C++应该看的书&学习C++的50个建议"这一主题,以及提供的文件名,为你揭示一些关键的知识点和建议。 首先,对于初学者来说,选择一本好的入门书籍是奠定基础的关键。《学习C++应该看的书.txt》可能...

    学习分析技术综述.docx

    学习分析技术的内涵主要包括以下几个方面: 1. 数据收集:这是学习分析的基础,涉及从各种学习平台、社交媒体、在线课程、移动应用等来源收集大量的学习数据,如学生的学习时间、活动参与度、作业完成情况、在线...

    学习分析技术研究与应用现状述评.pdf

    总的来说,学习分析技术为教育提供了新的视角和工具,有助于实现精准教学和个性化学习。然而,要充分发挥其潜力,不仅需要深化理论研究,还要解决实践中遇到的各种问题,以促进教育信息化的健康发展。国内在学习分析...

    50条重要的C++学习建议(绝对值得一读)

    40.既然决定了学 C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的:这条建议强调了学习 C++需要坚持不懈,因为程序设计技术是一种跨语言的能力。 41.就让 C++语言的...

    STM32学习方法建议

    3. **定期复习巩固**:学习新知识的同时也要定期复习旧知识,确保所学内容得以巩固。 #### 五、进阶学习方向 掌握了基础之后,可以进一步探索STM32的高级特性。 1. **深入理解内部结构**:深入了解STM32的内部...

    新技术应用实施方案-中铁.rar

    这个名为“新技术应用实施方案-中铁.rar”的压缩包文件,包含了一份详细的新技术实施指南,主要针对中铁这样的大型铁路建设企业。教育标签表明这份文档可能被用作教育或培训材料,帮助工程技术人员理解和掌握最新的...

    Java学习路线图,专为新手定制的Java学习计划建议.pdf

    Java学习路线图是为初学者量身打造的学习计划建议,旨在帮助新手顺利掌握Java技术。在当今的IT行业,Java作为一门应用广泛的编程语言,它的学习路线自然包含了多个方面。学习Java不仅需要掌握基础语法和结构,还需要...

    学习c++的50条建议

    C++是一门不断发展的语言,保持学习态度,适应新的编程趋势和技术是成功的关键。 ### 9. 社区与资源 加入C++社区,利用在线资源如论坛、博客和视频教程,可以获取最新的技术动态和解决遇到的问题。 ### 10. 自我...

    舍弃浮躁C++学习建议

    知识点1:把C++当成一门新的语言学习 初学者常犯的错误是认为C++和C语言类似,可以直接套用C语言的经验来学习C++。但实际上,C++是一门独立的语言,需要从头开始学习。初学者应当抛弃过去的经验和习惯,重新开始...

    开发动态网站的建议,绝对的有用

    总之,开发动态网站需要掌握一系列关键技术,包括后端的ASP.NET和前端的HTML、CSS、JavaScript等,同时还需要不断学习新的技术和框架,以适应不断变化的市场需求。通过不断地实践和积累经验,你将能够胜任大多数动态...

    谈技术人员发展方向及嵌入式学习

    在这个领域,技术人员需要不断地研究新技术、解决实际问题,并不断升级自己的技术栈。这一路线的特点是稳定性和专业性,但同时也要求技术人员具有较强的学习能力和适应变化的能力。 销售人员则是一个面向市场的角色...

Global site tag (gtag.js) - Google Analytics