每天,都会有人在微博上私信我,问我关于学习和成长的问题。这种问题我一般都不会回复某个j,毕竟每个人的情况不一样,每个人对待事物的性格也不一样,我不能夸下海口的说,你看某本书几个月就能如何如何,我能做的多数时候只是鼓励鼓励,其次我也从不认为我已经成长到一个多高的境界上,让我去给别人做指导,我还是当之有愧的。

但是,有时候看到大家私信我的时候,确实是处于一种很痛苦或是需要帮助的状态上。 最近晚上有空,就想写写自己从第一次接触程序,到一路颠簸学到今天的一些故事和经验,希望对大家有所帮助。

学习的三个阶段

第一阶段:消费者阶段

我在快上高中的时候,开始接触的程序。那会儿家里有一本 Visual Basic 的书,30 多页左右,也是家里唯一一本计算机类书籍,是我哥学校发的一本课外书,他对计算机貌似没有什么兴趣,就一直堆在家里,直到无意中被我翻到。

书里的程序格外的简单,几行简单的英语代码,就能让计算机弹出一个对话框,当时看到简直神奇极了!跃跃欲试的在老妈店里的电脑上一步一步的敲下代码,弹出一个简单的对话框,那一瞬间,感觉像是推开了新世界的大门,从此一发不可收拾。 实践完 VB 后,又在小书摊,看到了一本 《黑客 X 档案》,看着各路高深的入侵,木马,盗号,试图努力学会这些技能,然后去跟朋友们炫耀,但一直都无法入门。因为需要太多计算机的基础知识了,不是写个弹框,或者计算器水平的人能搞定的。

那会儿家里也没有懂电脑的,也没有人可以问,又处在小城市,连个培训班都没有。

随即,开始漫漫买书求学路。

一旦开始买书,就进入了学习的第一个阶段:消费者阶段。当个消费者其实是个挺轻松的事情,对着书本照猫画虎,一会儿就能跑起来一个看着很有趣的程序。

那会儿,疯狂的买各种书,但是由于周围没有人指导,买了很多类似 21 天 xxx 系列的书,那会儿真的有这种书,我还抱有幻想⋯⋯觉得 21 天后我就⋯⋯

现在想想国内的图书市场简直恶劣到一定程度。很多高校,教师升职评比需要考察发表书籍情况,导致国内一大批烂书其实都是高校老师发出来的。我现在依然认为国内 95% 的技术类书籍是不值得买的,除了像侯杰老师这种文笔很好的技术人以外。

很多作者总是做不到『以读者能理解的顺序,而非自己认为的顺序』写文章,坑害了不少对计算机有兴趣的同学。我一直很崇拜侯杰老师的另一个原因是侯杰老师的书,总是能把你最想问的,如同庖丁解牛,深入浅出的解答出来。就如同 MFC 框架(很早前的一个 Windows SDK 框架,现在已经用的很少了),MFC 是很复杂的一个框架,所有初学的人,都会问一样的问题:"这玩意儿是怎么工作起来的?!",但所有国产的 Visual C++ 的书,都避而不答,让你照猫画虎的做,就能弹出一个窗体。当初国内只有 《深入浅出 MFC》一书,讲明白了背后的一切。

学完一些基础知识后,就进入了学习的第二个阶段 实践者阶段 阶段。所谓实践者,就是开始用自己所学,去开发程序,成为一名专业或非专业的码农,很多人的职业生涯,也就停留在了这个阶段,过上了小富即安的程序员的日子。

我从消费者阶段过度到实践者阶段大概用了三四年的时间,其实已经挺长的了。我一直都认为我是一只笨鸟,无意中起飞,却飞了很久的那种。

第二阶段:实践者阶段

我真正开始实践的,是在本科学校做的几个网站。

第一个是个学校的匿名聊天系统,就是所有人都可以登录学校的站点,然后会匿名匹配到一个异性,开始聊天,当时用的 Asp.net 做的开发,配合 ajax + jquery,但由于当时技术太差,导致很多人聊着聊着就断线了,导致小产品不告而终。

第二个是给我们信息学院开发的一个官网,用的 PHP。在做这个网站的同时,我选修了一门叫《网络安全》的课程,这门课的老师叫陈路,我曾当着老师的面儿,夸下海口,我开发的官网,坚不可摧...(大概这个意思

分享一些自己的学习过程和学习方法(来自daimajia)的更多相关文章

  1. 分享一个彻底冻结对象的函数——来自阮一峰老师的《ECMAScript 6 入门》

    var constantize = (obj) => { Object.freeze(obj); Object.keys(obj).forEach( (key, i) => { if ( ...

  2. PHP语言入门的学习方法十要素

    对于PHP程序设计语言来说.每个人的学习方式不同,写这篇文章的目的是分享一下自己的学习过程,仅供参考,不要一味的用别人的学习方法,找对自己有用的学习方式.经常在某些论坛和QQ群里看到一些朋友会问“怎样 ...

  3. 【腾讯Bugly干货分享】QQ电话适配iOS10 Callkit框架

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58009392302e4725036142fc Dev Club 是一个交流移动 ...

  4. 分享一个漂亮按钮插件FancyButtons

    一转眼,2018年的第10天就这样过去了.回看17年,曾经做了些啥都忘记了,就像每一天写日志时的样子(双手放在键盘上,怒着嘴,抬着头,望着天花板), 然后突然记得好像好久没有写随笔了(@_@).自从配 ...

  5. uni-app 微信小程序全局分享

    实际使用中,经常需要小程序分享到好友或者朋友圈,一般而言是一个个页面去设置. 官网分享介绍:https://uniapp.dcloud.io/api/plugins/share?id=onsharea ...

  6. 无线安全专题_攻击篇--MAC泛洪攻击

    上一篇讲解了无线安全专题_攻击篇--干扰通信,没在首页待多长时间就被拿下了,看来之后不能只是讲解攻击实战,还要进行技术原理和防御方法的讲解.本篇讲解的是局域网内的MAC泛洪攻击,这种攻击方式主要目的是 ...

  7. 循序渐进看Java web日志跟踪(1)-Tomcat 日志追踪与配置

    日志,是软件运行过程中,对各类操作中重要信息的记录. 日志跟踪,不管对于怎么样的项目来说,都是非常重要的一部分,它关系到项目后期的维护和排错,起着举足轻重的作用.项目开发过程中,对日志的记录规则,也将 ...

  8. ReactJS入门:展示数据

    由于公司开发需要,博主利用闲暇的时间对ReactJS的基础知识进行了一些粗浅的认识和了解.博主对ReactJS的学习主要来自官网(http://reactjs.cn/react/docs/thinki ...

  9. Tomcat的简单归纳总结

    2017年08月09日 12:39:23 大道之简 阅读数:1072    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/HcJsJqJSSM/ar ...

随机推荐

  1. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  2. 【趣味分享】C#实现回味童年的24点算法游戏

    一.24点游戏玩法规则效果展示 1.初始化界面 2.开始游戏界面 3.游戏超时界面 4.查看答案界面 5.答对界面 6.答错界面 7.计算表达式的验证界面 8.一副牌算完开始新一副牌界面 到这里24点 ...

  3. JSON总结(二)——google-gson

    gson是一个google的开源项目,支持多种JSON方法,这里主要讲解如何使用gson将json转换成javaBean. maven坐标 <dependency> <groupId ...

  4. 【特种兵系列】String中的==和equals()

    1. 小样示例 public static void main(String[] args) { String a = "a" + "b" + 123; Str ...

  5. PHP数组的基础知识

  6. Android DEX 基础

    转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/5736305.html本文出自[赵彦军的博客] 1.什么是dex? 简单说就是优化后的android版.exe ...

  7. 为什么ReactiveCocoa中推荐使用RACSignal来做信号处理而不是RACSubject

    原文解释在这里http://cocoadocs.org/docsets/ReactiveCocoa/0.6.0/ 在标题Creating hot subscribables 底下 先贴原文: The ...

  8. 使用rsync同步目录

    本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...

  9. [Erlang 0127] Term sharing in Erlang/OTP 上篇

    之前,在 [Erlang 0126] 我们读过的Erlang论文 提到过下面这篇论文: On Preserving Term Sharing in the Erlang Virtual Machine ...

  10. Node.js 教程 04 - 模块系统

    前言: Node.js的模块系统类似于C/C++的文件引用,可以声明对象,也可以定义类 创建对象. 大家这么理解,就简单了. 定义: 为了让Node.js的文件可以相互调用,Node.js提供了一个简 ...