IT学习方法

来源:互联网 发布:js模块化怎么做 编辑:程序博客网 时间:2024/05/22 16:53

    这段时间,对于下面的这些学习方法总是不能很好的去执行,要么会忘记,要么不理会,现在把他写出来,当自己忘记或者不理会的时候,给自己一个提醒。

1、请不要跑得太快, 否则你将错过沿途的风景。

  同样的,在我们编程过程中,这道理也是类似的。当我们为了看某本IT书籍的时候,急于把它看完,往往导致急躁的心里,沿途的风景也就错过了。我们要的是一个享受的过程,而不是一个结果。

    给自己定了个目标,在某个时间段内完成什么内容。这段时间就疯狂的去完成,心里想着如果这段时间完成不了,就得延迟,影响下一个阶段的任务。殊不知计划永远赶不上变化,某天朋友来找你,某天有什么事情要去办,这样往往耽搁了计划。

    没有必要给自己安排一连串的任务,因为任务是永远完不成的,这个任务完成还有下一个任务。永远都是死循环。在这种情况下,合理安排时间,允许延迟。放松心态的去完成,不要有急于求成的压力。在做某件事情的时候再也不会心里盘算着已经做了多少,还剩多少,什么时候才能早点完成

2、学习编程,语言只是一门工具,解决问题的方法,步骤才是最重要的。有了解决方法,求解问题的步骤就可以用各种语言来实现了。

3、编程解决问题的方法: 该模块的数学模式(数据结构)是什么?然后对该数学模型设计算法,也就是解决问题的步骤。

4、数据结构的学习: 细节不重要,重要的是解决问题的算法。

5、当要做某件事情的时候,请在心里问自己下面这些内容?

  (1)这方面知识有什么意义;

  (2)学习这方面的哪些知识;

  (3)多长时间可以搞定;

  (4)有问题如何解决;

  (5)时间如何安排;

  (6)知道自己在做些什么;

  (7)不要急着求结果,享受的是一个过程;

  (8)机遇是给有准备的人的,心里要有计划;

 6、开源项目的分析:

  (1)第一遍: 先了解整体功能,然后再进行模块分类。了解各个模块提供的接口有哪些;

  (2)第二遍: 针对某个功能,看代码;

  (3)第三编: 各个模块功能进行梳理;

7、开源项目的编译?

  对于一个大型的开源项目,往往没手头没有什么资料,而且都是英文的。不要说想看懂代码,就连编译都有问题。然而编译时最为基础的一步,这一步没有进行,阅读代码几乎是不可能的了。因此编译很关键。

  (1)不能着急,否则其它什么事情都不能做;

  (2)即便省了编译的几天时间,也干不了其它什么事情;

  (3)享受一个过程,而不是结果;

8、学习一门语言的过程

  (1)了解基本语法;

  (2)看别人写的程序(网上下载demo);

   (3)  自己编写代码;

  (4)公司里面进行项目开发;

9、学会整理资料

  在开发过程中,我们得把资料进行分类,项目类,demo类等,然后把代码备份,以便后来使用这些代码进行二次开发;

10、多写博客做笔记

  一年一次总结与规划,每月总结,每周至少一篇博客

11、 每天上博客园等了解下新闻,新的技术等业界信息

12、每天也了解些业界之外的信息(投资理财,金融,会记,人力资源管理,销售,网络推广等等)

13、经常关注牛人博客的动态

14、根据自己的了解,做出产品,或者接外包。

  只有对业界信息和非业界信息了解后,知道市场的需求,自己动手做出产品,增加收入来源;

15、多做项目,多看书,两者相结合

16、没有思路的时候,不能不动手实践。只要实践了,即便方案不对,这个时候再修改就很容易了

17、不能只看书,可以通过网络资源来学习(博客园,CSDN博客,论坛,51博客论坛,开源项目网站, qq群等)

18、不要刻意去记API的名字,只要知道要实现某个功能,有对应的API就可以了,用的时候再来查找

19、调试的方法

  对整个模块进行分类,然后对于每一类,都有哪些什么原因引发错误;

20、修改其它人写的程序Bug时,不要从头到尾的看懂某块的代码,而是根据可能出错的位置直接定位过去就可以了。 就像做英语的阅读理解,我们只需要知道答案在哪个位置,然后找出答案就可以了,而没有必要整篇文章都去理解,这反而很花时间,而且没什么效果。

21、移植开源项目也是这么一个过程, 把需要的模块移动过去,编译过程中看看缺少了哪些信息。然后把这些信息移植过去就可以了。没有必要把整个程序看懂后才挑选出必要的功能模块,然后移植过去,这往往是做不到的。移植别人写的代码,难免会造成代码换乱的局面。

22、软件开发注重的是思想,也就是拿到一个需要,分析如何去实现它,代码如何架构等等。这个时候并没有考虑到使用哪种编程语言,没有考虑到代码的细节,代码如何写。只是架构了一个实现的框架而已。(1)我们看到的公司的部门经理,架构师,技术总监等,以及CSDN,博客园里面的大牛,都有一个规律,就是他们懂的东西很多,知识面很广。他们真的懂这些东西吗???其实不一定,他们懂的还是软件的思想而已。 (2)我们在职场中,经常会考虑该做Ios, android, 还是C++呢?我们在选择方向的时候会很迷茫,其实我们只要有了软件的这种思想,还怕从事的是Ios,android还是C++吗?(3) 我们同时也会考虑,是做C++,android等应用开发,还是做图像处理之类的算法,或者底层驱动。从事的方向真的很多,我们会考虑做应用的有一个瓶颈,工资不会很多,例如android应用开发在厦门工资8000应该是一个地线了吧! 我们看到做图像算法等,工控算法的,或者底层驱动的,整体工资会高些。这个时候我们又迷茫了,该做应用呢,还是算法,或者底层驱动?当有这种想法的时候,我们还是得用软件开发的这种思想来看待这个问题。看看你的上司吧,他们并不做算法, 也不做驱动,也不写代码,但他们公司会低吗???因为有了这种思想,即便做应用开发,也会造就牛人。

23、很多时候我们在想:“软件行业这条路该怎么走”, “该怎们做才是正确的”。 其实我们并不是不知道如何做才是正确的,而是我们害怕,觉得困难。因为困难,我们就不想去行动了。不要觉得是遥不可及的事情。看看我们自己的薪水吧!刚看时工作的时候,只有3500, 会思考什么时候才能5k, 等到了5k就会考虑什么时候才有10k。 因此, 我们心中要有一个目标(比如架构师),然后不怕困难,花时间去实现它,一步一个脚印。

24、做好学习笔记。其实心里是很想做好笔记,每个章节做总结,每个项目做总结。当就是有这么一种心态,做笔记很花时间。如果把做笔记这花的时间省下来,可以做其他功能开发,或者可以看好些其他书籍。好记性不如烂笔头,殊不知做笔记是为了更好的总结,更好的记忆。现在花点时间来做笔记,将来只需要翻翻就可以了。相对来讲、这反而节省了很多时间。其实说到底,影响自己不去做笔记的本质就是自己的心态急,急于求成。不只有做笔记,看书籍的时候也在数着已经看了多少页,还有多少页没有看完,这样急功近利又有什么效果呢? 当你在百米冲刺的时候,你是第一时间冲到了终点,但同时你也错过了沿途的风景

25、不能空想一些不切实际的东西,太伤脑细胞了。不能空想着要是有马云的财富多好,整体开着大奔到处溜达; 也不能空想些要是自己是国防部长多好,带兵打仗,多拉风。不切实际的东西最好打住。

26、做为程序猿,不能只钻研领域内的知识,久而久之知识面就越来越窄。在钻研领域内的知识同时,也应该了解下投资理财、管理,市场方面的知识,也多关注下市场动态,it动态以及发展趋势。同时也别忘了多和家人朋友聊聊,可以晚上下班回来后找家人朋友电话、短信、qq、微信等方式聊天;逢年过节的时候可以打电话问候问候或者聚聚。

27、阅读代码能力

    阅读别人代码和修改别人代码的时候,不能想着自己全部看懂后,如果有需要自己也能够把这部分功能代码写下来。没有这个必要,如果会这样想,则会太注意细节了,想把所有代码看懂,不能整体宏观上进行把控,我们只需要大致了解这个功能模块做了什么,并能够拿来应用,在这个模块上叠加新功能就可以了。如果日后真的有必要自己写这个功能模块,也只需要思路就可以了。阅读某个模块代码时候,不是一来就钻到代码细节了,而是应该从宏观上把控这个模块实现哪个功能,为了实现这个功能分了哪些步骤,每个步骤是做什么用的。整体上把控住代码,知道有哪些步骤,再挑选自己认为有必要看的代码细看。细看过程可以通过临时返回观察结果,也可以把一部分代码注视掉观察结构,或者调试代码。

28、修改代码能力

    在阅读代码能力的基础上,可以定位到需要修改的那个模块,并做修改,因为模块很多,不能盲目的随便修改,而必须定位到存在问题的那个模块并做修改;也可以后面添加代码作为特殊处理;或者干脆推到重来,重新写代码。

29、不能只停留在理论学习上,应该多实践,而且是边学习边实践,而不是所有理论学习好了,才去实践。

    例如: 学习编程语言C/C++的时候,应该多实践,而且是边学习边实践,而不是把基本语法学得差不多才去实践;同样的如果安排你在原有基础上完成某个任务,并不是在原有代码全部看懂后才去动手写代码,而是边写边看。这样对某个模块才会更加熟悉。在接下来要学习的设计模式和Com组件过程中,也得注重边学边实践了,我们不再是学生偏向理论学习的年代了。

30、害怕心里与复杂问题分析能力

    大学毕业之前没有做个什么项目,拿到一个项目不知道如何入手,如何去做,总感觉很庞大,自己搞不定; 在找工作过程中,总会出现些比较复杂的算法面试题,往往自己无从下手,在碰到这些算法题的时候,往往会有种背代码的感觉,做过的还好,一碰到新的算法题又不会分析,不知如何入手了; 再开始接触图像处理算法的时候,也是感觉很茫然,对图像算法不了解,不知道学哪些方面的东西。综合来讲,就是自己有一种害怕的心里在捣鬼,觉得自己搞不定,很多东西不是不知道如何去做,而是害怕去做。一旦我们抛开害怕心里,静下心来,对复杂问题进行分析,所有问题都将迎刃而解。

31、抓住重点

    看书、看视频、看博客的过程,并不是从头到尾的看下来,而是自己看自己认为是重点的内容,其它的内容可看可不看,或者直接跳过。

32、灵活变通,不要一成不变。

33、主动出击,而不是被动反应

    老板找你谈话的时候、面试的时候、开周例会的时候、或者和朋友聊天的时候,不要它人问什么你就答什么,不能被动回应,而应该主动出击

34、往往做某件事的时候,稍有头绪就想放松,过段时间再来处理。这还是害怕心里造成的,害怕往下去。既然已经有头绪了,那有什么好害怕的,乘热打铁抓紧完成。

35、不要带着压力去做事情,而应该把它当成一种兴趣,一种享受,一种艺术。

    这样做起来才会轻松,不会那么累,也不会产生心急。因为把它当做了一种兴趣,因此碰到问题的时候,会千方百计的去解决。

36、正确对待工作与生活

    在生活的过程中,就好好享受,不要受工作影响,不能吃饭睡觉,走路都还想着工作上的事情。不要让工作占了大部分时间,工作是会了更好的生活。重点还是在于注重生活。晚上回到宿舍可以看些电影调节下。

37、程序猿,身体是革命的本钱

    得在饮食,休息,心情,工作上养好身体

    (1)饮食上: 每天早上喝豆浆、黑豆、一个鸡蛋; 中午和晚上吃不同的菜;每天1大瓶水;每天吃两个水果

    (2)休息上: 每天22:30入睡,06:30起床,保证8个小时的睡眠时间。中午午休半个小时

    (3)工作上:解决不了的先放着,不要影响生活,经常放松放松,不能吃饭睡觉,走路都还想着工作上的事情;也不能给自己安排太多的任务,不能太劳累,不能心急; 也不能长时间做某件事情,需要放松调节,或者白天晚上都在工作,连续好几天都是这样,心里想着不能放松,放松的时间可以做好多东西,殊不知放松是为了更好的工作。每天都这样劳累,猝死就不远了。

    (4)心情上: 保持良好的心态,经常心情舒畅。

38、很多时候看某本书籍的时候,看不怎么懂。这个时候可以通过写代码观察结果,加深理解。不能想着:"没有必要写代码观察结果或者全部看完再写代码,觉得写代码会花很长时间"。通过写出来,可以加深理解,后面的章节读起来就顺手了,不会觉得似懂非懂的感觉。不能心急,急于求成; 与此同时,看一本书不是追求速度,看完就可以了,而是要看懂; 看书看了一段时间后,会想着还有多少没有看完,同时也会想其余时间如何计划安排。没有必要这样,这个时候不能心急紧张,应该放松。

39、不管是工作上还是生活上,做任何事情都不能心急、紧张。应该放松心情,并且让兴趣驱动自己去做好,解决出现的各种问题。在面试、和别人交流、听力等过程中应该保持这样心态。

40、安排计划后,总是会多次重复的想着计划的内容,导致头脑发热,太累了。只需要计划一次就可以了,没有必要反反复复的想着计划的内容。如果会这样,可以做些其他的事情转移注意力。说到底还是心急、紧张在作祟,应该保持放松的心态。

41、以目标驱动为总体方向,在实现这个目标的过程中会总结出许多的方法,这些方法并不是孤立存在的,它们之间互相关联。同面向对象思想一样,各个对象肯定存在一定的协作关系而不是孤立存在。可以根据需要,总结出新方法并动态添加到学习方法列表中。

42、性格不能沉默,应该主动挑起话题。当刚碰面不知道该聊什么话题时,可以观察周围的情况,适应周围的情况,聊些周围的话题,在聊的过程中发挥应变能力。互动是双方的,一旦话题打开,自然而然有无尽的话题可以聊。

43、在生活和工作中,没有办法总结所有方法,只能碰到一个总结一个。因此,应该提高自己的应变能力,同时也应该提高自己的适应能力。

44、标题为"IT学习方法",指的是工作中的学习方法,实际上生活上这些方法同样适应。工作和生活是相互关联的。类似于数学中的相关关系思想。

45、学会举一反三,在解决数学物理题目的时候,解决了某道题目后,没有去举一反三,提炼这类型题目的解题方法;很多it的学习方法在生活中同样适合。因此要学举一反三,不能只局限在某一个方面,不能太注重某一个方面的细节。

46、不能太关注细节,应该宏观上把控。在给自己安排任务的时候,可以计划一周需要做什么,但不要某一天做什么,完成什么任务都要计划好。不能关注这些细节,只要一周能完成任务就行了,管它每天都做了些什么。

47、简化思想。这是数学中的一种化简思想,同样适合在生活和工作中。例如在阅读别人代码的时候,不是从头到尾把代码看下来,这个时候不能太关注代码细节,而是应该使用简化思想,看看这段代码是干什么用的就可以了。

48、不要时常进行关联性总结,加深记忆。很多小时候的事情,几乎都还记得。说到底还是自己经常会回忆,才记得如此清楚;看到某条新闻的时候,会停下来联想和这条新闻相关的内容并进行总结;碰到某个方法的时候,害怕忘记老是重复记忆好几遍。没有必要这样,有些东西看过了就好,没有必要老是重复记忆。

49、不要什么都计划好,按照计划来执行。例如:可以安排一周的任务,但不要每天的任务的安排进去;也不要想着早上晚上要做什么,花多长时间,更不要计划几点开始洗澡洗衣服,多长时间可以解决。没有必要计划这么多的细节。

50、认清工作与生活。从读书到工作,自己都在拼搏着,导致自己太劳累,用脑过渡。其实没有必要这样,降低脑力劳动,不要去想事情。同时放松,不要紧张心急就可以了。保持舒畅的心情。

51、事业,交友,生活是人生的三大部分。三部分同等重要,不能够只注重其中一个方面,比如侧重事业,否则容易成为这个方面的书呆子。生活中应该多家人聊天,同时也应该关注生活中的方方面面,而不应该只关注和事业相关的内容。

52、学习需要总结

     (1) 当天学习到的内容当天进行总结

     (2) 一周进行知识总结

     (3) 每月进行总结

     (4) 半年进行总结

     (5) 年度进行总结
     

53、给自己定位,树立目标

    大学期间,我很努力的学习着,整天忙忙碌碌,然而效果却难以恭维。说到底就是没有找到方向,整天无头苍蝇乱窜。这种是为了学习而学习,不是为了目的而学习,往往回头想的时候,都会发现前面几个阶段自己都做了些什?要么没做到,要么做得不好。在学习编程的时候,就为了学习而学习,停留在语法上,没有考虑过学习编程是为了解决一个什么问题。小时候想着将来要做些什么,但目的不明确或者太空洞,往往不能实现。工作一年了,每天就是上班下班,周而复始的做事情,忙忙碌碌的,但总感觉缺少了方向,缺少了目标。

    如果能够找到自己的方向,找到自己要实现的目标,然后为了实现这个目标,而分成各个阶段去实现,这样每天做起事情就有方向,有目标,再也不会忙忙碌碌了。 当然这个时候计划要详实,不能太空洞。否则还是忙忙碌碌无头苍蝇乱飞。例如: 可以给自己定义一个这样的目标,10年之后将要往哪个领域发展?是继续成为公司的核心人物(网络方面的架构师),还是自己开个IT公司,或者跳出来做点生意。这10年又可以细分,头两年赚钱取媳妇,再花5年时间在三线城市买套房,之后三年积累点财富,为今后做生意或者it创业做好物质基础。如果10年后想IT创业或者跳出来做点生意,这10年时间最好学点投资理财,管理,市场方面的知识;如果想继续成为公司核心人物,则在技术方面要逐渐提高。总之,需要有计划,准备,总结。机会是留给有准备人的,做个目标驱动型的程序猿。

    (1) 10年计划

    (2) 3年计划

    (3) 1年计划

    (4) 半年计划

    (5) 月计划

    (6) 周计划

    (7) 每日计划

    每天的任务就是为了实现各个阶段的目标,进而实现整个目标。这和软件工程中分而治之的思想是一样的道理。


      找准方向,沿着自己的方向前进,遇到问题解决问题,但别忘了回头望望!


0 0