阅读更多

31顶
1踩

研发管理

转载新闻 学习新技术的 10 个建议

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

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

1. 克服惯性



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

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

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

2. 关注大牛



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

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

3. 建立知识网



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

4. 多听多看



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

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

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

5. 行动起来



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

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

6. 写博客



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

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


7. 感受技术的脉搏



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

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

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

8. 参加聚会以及会议



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

9. 拥抱GitHub



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

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

10. 专注学习



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

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

学习一门交叉的技能

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

总结

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

英文原文:net.tutsplus / 编译:@玉面小飞鱼 / 译文链接:http://blog.jobbole.com/39602/
  • 大小: 20.9 KB
  • 大小: 21.9 KB
  • 大小: 18.2 KB
  • 大小: 18.3 KB
  • 大小: 14.5 KB
  • 大小: 12.3 KB
  • 大小: 16.7 KB
  • 大小: 15 KB
  • 大小: 15.4 KB
  • 大小: 14 KB
来自: 伯乐在线
31
1
评论 共 18 条 请登录后发表评论
18 楼 独立与自由 2014-05-06 16:31
很好,拜读了。
17 楼 jackie_yk 2013-10-09 13:01
方法有很多,这里说到的几种都可以做尝试尝试~
16 楼 hudepin 2013-05-21 10:22
讲的很不错,顶一个
15 楼 It_lvshun 2013-05-17 16:34
说的 很好 自己身上有很多不足 受教了
14 楼 thurchin 2013-05-17 16:31
感谢楼主分享
13 楼 308202251 2013-05-17 15:24
飘过, 感谢楼主分享。
12 楼 xiangxm 2013-05-17 13:01
hongjians 写道
讲的很好,拜读了!

11 楼 zy00pq 2013-05-16 11:31
10 楼 coffeesweet 2013-05-16 09:38
写的挺好,给朋友们推荐推荐。
9 楼 congty 2013-05-16 09:19
内容很好,图也很好!喜欢
8 楼 xchbs 2013-05-15 19:44
唉!现在懒惰了......
7 楼 liuluobo 2013-05-15 14:12
正在找这一类的文章呢,很好,谢谢.
6 楼 raozhengyong 2013-05-15 11:46
pingjing 写道
不错,算是迷茫的时候的明灯了

5 楼 dk-deathknight 2013-05-15 11:08
对知识的渴望,是我人生的意义!感谢总结!
4 楼 pingjing 2013-05-15 11:08
不错,算是迷茫的时候的明灯了
3 楼 king607267 2013-05-15 10:33
文章还是很好的
2 楼 king607267 2013-05-15 10:32
的确有时是因为懒惰的惯性,就都不想动了,比如刚才评论的时候发现自己没有登录,就有点懒得登录评论了,呵呵。
1 楼 hongjians 2013-05-15 10:10
讲的很好,拜读了!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 一个适合做页面 “加载中” 效果的插件 jquery-loading

    一个适合做页面 “加载中” 效果的插件 jquery-loading 非常简单实用!!

  • mysql在jsp中分页显示_在JSP页面中实现检索数据的分页显示_MySQL

    下面将通过一些例程来说明实现JSP页面翻页技术的实现。首先,在JSP中,通过JAVA servlet 来检索数据,而用JSP来调用结果来显示。因而,此技术可分为两个部分(依赖关系):1. 在服务器端的servlet 中的实现要点:& 将查询条件保存到session中,取session中的查询条件& 设置Statement对象的MaxRows(确定一页显示多少行数据)& 顺序...

  • Jsp+Mysql实现简单分页

    Jsp+Mysql实现简单分页 Mysql分页 Mysql实现分页使用的是limit关键字,SQL查询语句”select * from student limit start ,size;",其中start表示索引开始(Mysql数据库索引默认从0开始),size表示要得到的数据条数,而不是索引结束。这里是每次从Jsp页面发送页码和页面大小交给Servlet处理然后从数据库查询数据封装到request中,然后交给Jsp进行渲染处理。 以下是数据库表"student"结构 DBUtill工具类 这里主要用

  • java 翻页例子_JAVA/JSP学习系列之八(改写MySQL翻页例子)

    JAVA/JSP学习系列之八(改写MySQL翻页例子)2021-01-21 18:52:29718一、前言其实,改写后的JDBC Data-Source是运行在Servlet中的,通过JNDI去查找数据源。我用Orion试的,将本站《JAVA/JSP学习系列之六(MySQL翻页例子) 》 简单改写了一下。二、配置(1)JDBC需要将用到的JDBC驱动Copy到[ORION]/lib目录下(2)da...

  • Ajax全局加载框(Loading效果)的配置

    在Ajax进行后台数据请求的过程中,我们有时候会希望用户能知道页面后台还在做一些事情,这时候就需要给用户一个非常明确的提示,也就是我们所谓的进度条 实现原理: Jquery可以对ajax进行全局的设置,实现类似于C#...

  • JS实现页面加载完毕之前loading提示效果

    引用:... 做成js调用:   base-loading.js代码       /******************************************* * * 创建人:Quber(qubernet@163.co...

  • html 页面跳转 加载效果,用window.location.href做页面跳转,怎么在新页面加载完全之前实现loading效果?...

    用window.location.href做页面跳转,怎么在新页面加载完全之前实现loading效果?如果是我的话,我会这样做:1、可以在window.location.href跳转的页面里面本身加loading效果。2、如果没变法修改window.location.href...

  • html载入页面动效,HTML+CSS实现页面加载(loading)动画效果

    大家在浏览页面时有没有遇到页面正在loading(加载)的情况,那作为一个前端开发人员,你知道如何用CSS3和HTML制作页面加载动画效果吗?这篇文章就和大家分享一个超级简单实用的CSS3 圆圈加载(loading)动画效果的代码...

  • 简单实用的JS实现页面加载完毕之前loading提示效果(兼容性较强的loading载入代码)

    简单实用的JS实现页面加载完毕之前loading提示效果 做成js调用: 一、JS代码: //获取浏览器页面可见高度和宽度 var _PageHeight = document.documentElement.clientHeight, _PageWidth = document....

  • js页面加载实现loading提示效果

    由于页面在加载过程中请求了很多资源,导致打开过慢,且页面无提示,对用户不友好,测试人员希望增加loading效果。 参考如下步骤可行。 实际项目展示动态loading图有自有的方法,不便贴代码,以下用展示简单语句...

  • 记页面加载之前的loading效果

    最近做H5页面,内嵌到安卓端的APP内,需求是要在页面所有数据请求完毕之前显示loading图标提示用户等待,因为在手机端的网速很大程度上是不确定的,loading等待在用户体验度上确实比较友好。 话不多说,结合代码...

  • html载入页面动效,如何用html和CSS实现页面加载loading动画效果

    在浏览网站时经常会遇到页面“正在加载,请稍后”的情况,此时页面会出现一个圆圈一直在转动,直到加载完成。正在学习html和CSS的小...实现页面加载loading动画效果需要用到很多CSS中的属性,比如:animation动画,...

  • 漂亮实用的页面loading(加载)封装代码

    要做一个异步登录,打算给用户做一点提示,所以就网上找了点代码,自己修改新增了一些,做了一个html+css+js的功能封装,以备未来直接使用。 html <!-- 缓冲提示条 --> 正在登陆 <div class=rect1></div...

  • 前端页面加载Loading动画

    在vue中,可以直接写在index.html的id为app的div里面,因为后面vue加载完成后,会替换掉里面的元素。

  • angularjs loading拦截器.请求,跳转页面等loading效果

    同样还可以制作很多好玩的东西,今天来写一个loading案例,请求http或者跳转渲染页面时,会有一定的等待时间,可能一两秒,也可能是十几秒,在等待的过程中,用户是不知道的,所以我们要给用户一个直观的等待效果,让用户知道...

  • 网页加载缓慢时,两种方法实现loading效果

    当页面加载速度很慢的时候,页面就会出现白屏的状况,如果没有使用loading来和用户进行交互,用户并不知道应用到底是出现什么问题(卡死、出错或者在加载)页面加载所需要时间越长,那么可能损失的用户量就会多。...

  • 页面loading效果插件 for z-blog.rar

    左上角有个绿色的“正在载入……” 一直觉得这个loading是个华而不实的东西,今天看到一篇文章写可以增加页面停留时间,看来确实可以改善用户体验。 在zblog上做这个效果相当简单

  • vue跳转页面增加等待_vue-router懒加载时添加loading效果

    于是乎,就百度看了前人的各种解决方案,个人觉得以下链接中的方案还是很好的,代码简洁,效果也很满意,不需要每个页面做相对应的操作只需要在router.js文件中添加几行代码即可。唯一的缺点就是在Android运行没问题...

  • React_lazy使用-组件加载前loading做优雅降级

    React.lazy懒加载组件

  • vue项目中,设置页面局部loading加载效果(element)

    直接引用element的loading,默认的是...// loading框设置局部刷新,且所有请求完成后关闭loading框 let loading let needLoadingRequestCount = 0 // 声明一个对象用于存储请求个数 function startLoading (targetdq) .

Global site tag (gtag.js) - Google Analytics