- 浏览: 932927 次
- 性别:
- 来自: 魔都
文章分类
- 全部博客 (745)
- MultiThread (19)
- My Plan (118)
- JavaBasic (61)
- MyInterview (104)
- InternetTechnique (5)
- ProjectConclusion (1)
- Maven (5)
- MogoDb (5)
- Hadoop (11)
- Memcached (6)
- TechniqueCollect (1)
- Ibaits (1)
- Android (34)
- ItLife (40)
- Tree (2)
- ProjectArchitect (7)
- Open Source (3)
- liunx (5)
- socket (8)
- Spring (27)
- DesginPattern (35)
- WebBasic (13)
- English (13)
- structs (1)
- structs2 (2)
- Oracle (17)
- Hibernate (2)
- JavaScript (4)
- Jdbc (1)
- Jvm (15)
- Ibatis (1)
- DataStructures (13)
- Https/Socket/Tcp/Ip (3)
- Linux (4)
- Webservice (7)
- Io (2)
- Svn (1)
- Css (1)
- Ajax (1)
- ExtJs (1)
- UML (2)
- DataBase (6)
- BankTechnique (3)
- SpringMvc (3)
- Nio (3)
- Load Balancing/Cluster (3)
- Tools (1)
- javaPerformanceOptimization (8)
- Lucene(SEO) (1)
- My Think (80)
- NodeJs (1)
- Quartz (1)
- Distributed-java (1)
- MySql (7)
- Project (4)
- junit (4)
- framework (1)
- enCache (1)
- git (2)
- SCJP (1)
- sd (1)
最新评论
-
lkjxshi:
你都这水平了还考这个证干嘛
SCJP 认证考试指南 -
钟逸华:
问的真多
百度java开发面试题(转) -
zuimeitulip:
觉得我就是这样的,从小阅读量就很少,导致现在的读的速度非常慢, ...
让读书成为一种习惯 -
DDT_123456:
我觉得你是不符合要求。问你hashmap的那个问题,你那样回答 ...
阿里面试2(转) -
jingjing0907:
刚刚写了很多读过此博客的感受,竟然没有发上去,以为我注册账号还 ...
让读书成为一种习惯
我们生活在一个振奋人心的时代。我们可以越来越方便廉价地获得大量学习资源。这些资源的传播载体由最初的教室被变成了博客,技术论坛等。坐拥如此众多的学习资源,我们没有任何理由不去好好利用。随之而来的问题便是如何在这知识的海洋中选择自己的前进方向。在这篇文章中,我将简要概括一些技术学习的建议,希望可以给你带来一些启发。
尽管我的建议主要涉及的是软件开发方面,但是这些原则在其他领域也同样适用。
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的每个角落学习知识的旅程。我希望上面讲的十点能够给你的学习旅程带来一些帮助或启发。
英文原文:net.tutsplus / 编译:@玉面小飞鱼 / 译文链接:http://blog.jobbole.com/39602/
尽管我的建议主要涉及的是软件开发方面,但是这些原则在其他领域也同样适用。
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的每个角落学习知识的旅程。我希望上面讲的十点能够给你的学习旅程带来一些帮助或启发。
英文原文:net.tutsplus / 编译:@玉面小飞鱼 / 译文链接:http://blog.jobbole.com/39602/
发表评论
-
浅析hibernate缓存机制
2014-01-05 14:05 953浅析hibernate缓存机制 hib ... -
2013总结与2014计划
2014-01-01 01:13 9862013总结与2014计划 1.2013年 1. ... -
成为一个明星程序员(转)
2013-12-31 19:43 690很多开发者会认为要想成为一个明星程序员所需要做的事情一定都是 ... -
学编程学到的几件事(转)
2013-12-24 20:16 597学编程学到的几件事 ... -
九句良言胜敲十年代码(转)
2013-12-01 20:25 367此刻,夜深人静,时间已超过凌晨零点,散仙还在读张龙老师的一篇博 ... -
张龙风中叶老师经历(转)
2013-11-06 21:11 1195http://blog.csdn.net/ricohzhan ... -
李嘉诚深圳演讲
2013-11-05 23:19 847为什么你一直没有成就? 因为你随波逐流,近墨者黑、不 ... -
毕业三年之际写给可能迷茫的你我(转)
2013-11-05 20:34 968http://liugang-ok.iteye.com/bl ... -
男人关心的东西,决定着他的层次
2013-10-05 21:25 979一、男人拥有自信和风度 男人到了二十几 ... -
提高工作效率的一些方法
2013-08-19 23:47 929最近明显感觉时间不够用,主要原因还是工作效率不高,找来一本关 ... -
迈向架构师的第一步(转)
2013-08-19 23:41 772有一个多月没有写blog,主要原因是受工作所累,公司由于组织 ... -
转载:程序员的出路在哪里
2013-08-13 22:59 803转载:程序员的出路在哪里 2013-5-11 05:18 阅读 ... -
14条建议,使你的IT职业生涯更上一层楼
2013-08-11 14:21 85614条建议,使你的IT职业生涯更上一层楼 http:/ ... -
技术人员如何去面试?
2013-08-10 20:34 834一、为什么跳槽和选择公司 1. 为什么跳槽 虽然 ... -
写给没什么经验的IT程序猿们
2013-08-09 21:24 825http://www.iteye.com/topic/11 ... -
[转]工作心态与习惯——致85后与90后的“比”一代
2013-08-09 02:30 724[转]工作心态与习惯——致85后与90后的“比”一代 ... -
怎样当一个企业舍不得的人
2013-07-23 18:57 785怎样当一个企业舍不得的人 项目发展到 ... -
程序员扩充人脉那些事儿
2013-07-21 11:22 881程序员扩充人脉那些 ... -
成为高效程序员的7个重要习惯
2013-07-11 21:27 1005作为软件工程师,你希 ... -
升职指南:走好五步棋
2013-07-05 21:57 762职场中能接任上司位置的人无疑是少数幸运儿,而绝大部分人的命运还 ...
相关推荐
提出了多媒体课程学习和教学的一点心得,并根据课堂教学和师生课后反馈,提出了其它新的建议。
新手如何学习java(java学习建议路线图).pdf
内容关键词: 打开文件, 读取数据, 写入数据, 关闭文件, 初学者指南, 学习建议, 实践技巧, 模块化编程 用途: 适用于编程初学者及希望提升C语言技能的开发者,帮助学习者通过具体实例理解C语言的文件操作过程...
Java学习路线图,专为新手定制的Java学习计划建议.pdf
【学习目标】 了解智能制造中的核心技术装备。 【重点】 了解新型生产加工技术。 【建议学时】2课时。; 在迈向工业4.0的进程中,工业生产中的制造设备也在逐步实现智能化的升级,其中也出现了类似增材制造、虚拟现实...
针对深度学习应用技术进行了研究性综述。详细阐述了RBM(受限玻尔兹曼机)逐层预训练后再用BP(反向传播)微调的深度学习贪婪层训练方法,对比分析了BP算法中三种梯度下降的方式,建议在线学习系统采用随机梯度下降...
此外,我们将我们的结果与从较早的综述研究中获得的结果进行了比较,例如,我们确定了2014年至2018年间研究中使用但从未使用过的几种新技术。 我们还为该领域的未来研究提出了一些建议。 我们的结果对于计划设计...
技术建议、管理建议的审查和处理 第一条 技术建议项目必须做到: 1.经过试验和应用,并有完整的原始记录,图纸资料和技术总结。 2.按照技术建议(现代化优秀管理)成果报表逐项填写,并经单位主管和受益单位签证。 ...
PLC技术
本章学习内容 win10简介 Win10系统特色 win10的基本操作 窗口的操作 认识文件和文件夹 文件的基本操作 文件夹的基本操作 设置桌面图标 计算机应用技术基础培训课件win10操作系统全文共41页,当前为第2页。...
本篇文章中作者提到了一个概念:强调原理不纠结细节,本人非常赞同,如果是在计算机相关领域达到了一定时间的技术知识、框架等广度和深度的积累,在探寻新的领域时,原理比技术实现似乎更为重要。所以本文中没有算法...
手动整理了1500多个及机器学习相关算法在实际应用中的项目,完全可以作为本科生当前较新的毕业设计题目选择方向。讲道理有些题,比如“用户评分的隐式成分信息的研究”这种题目取的就比较广泛,有点科学研究的味道,...
适用于Java Web开发、企业级应用开发、个人项目实践等多个领域。 四、使用建议 系统学习:按照资料提供的顺序进行系统学习,确保知识体系的完整性。 实践为王:在学习过程中注重实践操作,通过实际项目加深理解。 ...
二、学习建议 1、常见问题要弄懂 对于经常出现的问题,要及时解决。如果推脱,那么问题就越堆越多,不利于今后的学习。 2、有比较,才有鉴别 容易混淆的命令,要注意使自己弄清它们之间的区别。 3、养成良好习惯 ...
以下是一些建议,可以帮助您开始学习Python: 明确自己的学习目的:在开始学习之前,请确保您明确自己的学习目的。是为了入门编程还是为了深入研究某个领域?确定目标可以帮助您更有针对性地学习。 选择合适的学习...
学习Linux运维需要掌握一些基础知识和技能,以下是一些学习方法和建议:掌握Linux基础知识:首先,需要学习Linux的基本概念、命令行操作、文件系统、网络配置等基础知识。可以通过阅读书籍、观看视频教程、参加培训...
(最近,哈佛大学丘成桐先生领导的团队,大连理工大学罗钟铉教授、雷娜教授领导的团队应用几何...特别是中国科学技术大学的陈发来教授提出了和传统流形学习相比较的建议;和熊楚渝先生提出通用学习机的X-形式理论等等。