每天,都会有人在微博上私信我,问我关于学习和成长的问题。这种问题我一般都不会回复某个j,毕竟每个人的情况不一样,每个人对待事物的性格也不一样,我不能夸下海口的说,你看某本书几个月就能如何如何,我能做的多数时候只是鼓励鼓励,其次我也从不认为我已经成长到一个多高的境界上,让我去给别人做指导,我还是当之有愧的。下面就随网络通信小编一起来了解一下相关内容吧。
但是,有时候看到大家私信我的时候,确实是处于一种很痛苦或是需要帮助的状态上。
最近晚上有空,就想写写自己从第一次接触程序,到一路颠簸学到今天的一些故事和经验,希望对大家有所帮助。
学习的三个阶段
第一阶段:消费者阶段
我在快上高中的时候,开始接触的程序。那会儿家里有一本 Visual Basic 的书,30 多页左右,也是家里唯一一本计算机类书籍,是我哥学校发的一本课外书,他对计算机貌似没有什么兴趣,就一直堆在家里,直到无意中被我翻到。
书里的程序格外的简单,几行简单的英语代码,就能让计算机弹出一个对话框,当时看到简直神奇极了!跃跃欲试的在老妈店里的电脑上一步一步的敲下代码,弹出一个简单的对话框,那一瞬间,感觉像是推开了新世界的大门,从此一发不可收拾。
实践完 VB 后,又在小书摊,看到了一本 《黑客 X 档案》,看着各路高深的入侵,木马,盗号,试图努力学会这些技能,然后去跟朋友们炫耀,但一直都无法入门。因为需要太多计算机的基础知识了,不是写个弹框,或者计算器水平的人能搞定的。
那会儿家里也没有懂电脑的,也没有人可以问,又处在小城市,连个培训班都没有。
随即,开始漫漫买书求学路。
一旦开始买书,就进入了学习的第一个阶段:消费者阶段。当个消费者其实是个挺轻松的事情,对着书本照猫画虎,一会儿就能跑起来一个看着很有趣的程序。
那会儿,疯狂的买各种书,但是由于周围没有人指导,买了很多类似 21 天 xxx 系列的书,那会儿真的有这种书,我还抱有幻想⋯⋯觉得 21 天后我就⋯⋯
现在想想国内的图书市场简直恶劣到一定程度。很多高校,教师升职评比需要考察发表书籍情况,导致国内一大批烂书其实都是高校老师发出来的。我现在依然认为国内 95% 的技术类书籍是不值得买的,除了像侯杰老师这种文笔很好的技术人以外。
很多作者总是做不到『以读者能理解的顺序,而非自己认为的顺序』写文章,坑害了不少对计算机有兴趣的同学。我一直很崇拜侯杰老师的另一个原因是侯杰老师的书,总是能把你最想问的,如同庖丁解牛,深入浅出的解答出来。就如同 MFC 框架(很早前的一个 Windows SDK 框架,现在已经用的很少了),MFC 是很复杂的一个框架,所有初学的人,都会问一样的问题:"这玩意儿是怎么工作起来的?!",但所有国产的 Visual C++ 的书,都避而不答,让你照猫画虎的做,就能弹出一个窗体。当初国内只有 《深入浅出 MFC》一书,讲明白了背后的一切。
学完一些基础知识后,就进入了学习的第二个阶段 实践者阶段 阶段。所谓实践者,就是开始用自己所学,去开发程序,成为一名专业或非专业的码农,很多人的职业生涯,也就停留在了这个阶段,过上了小富即安的程序员的日子。
我从消费者阶段过度到实践者阶段大概用了三四年的时间,其实已经挺长的了。我一直都认为我是一只笨鸟,无意中起飞,却飞了很久的那种。
第二阶段:实践者阶段
我真正开始实践的,是在本科学校做的几个网站。
第一个是个学校的匿名聊天系统,就是所有人都可以登录学校的站点,然后会匿名匹配到一个异性,开始聊天,当时用的 ASP.NET 做的开发,配合 ajax + jquery,但由于当时技术太差,导致很多人聊着聊着就断线了,导致小产品不告而终。
第二个是给我们信息学院开发的一个官网,用的 PHP。在做这个网站的同时,我选修了一门叫《网络安全》的课程,这门课的老师叫陈路,我曾当着老师的面儿,夸下海口,我开发的官网,坚不可摧...(大概这个意思)陈老师知道了我做的网站,随即下达一个作业:“谁能攻陷我们的官网,一个漏洞加五分...”,后来,咳咳⋯网站数据没有了⋯⋯有个同学用一个很通用的扫描工具,在他也不知道发生了什么的情况下,工具把网站内容都删除了⋯⋯恩,我犯了个超低级的错误⋯⋯GET 请求可以删除数据,外加身份认证代码有误⋯⋯
幸好,查看 Apache 日志的时候,发现删除请求到来的前几分钟,Google 爬虫来过(那会儿 Google 还能用),随即马上去 Google 的缓存里找回了所有的数据。
后来陈路老师被学校批斗了一顿,批斗的罪名是『鼓励学生攻击校园网络』,我其实是极力跟学校执事说明这个错误是我犯的,陈老师做的并没有错,而且我到现在还是很喜欢陈老师这种教学方法,毕竟实践出真知。
可能现在陈老师在教《网络安全》课程的时候,会以“当年有个学生....”作为开头,有时候想想也挺有意思的。
再后来我花了很多实践学习 Web 安全相关的知识。写各种 Web 程序时,都会最大程度的考虑安全问题。
网站攻陷后没多久,Android 出来了,我买了第一部 Android 手机,然后自己照着官方文档开始学 Android,动力的源头,是我听说写 App 能赚钱。赚钱真是学技术的很强的动力,之前写网站零零星星的赚了六七千块钱,作为同学里的小土豪,我又把目光转到了刚出来没多久的 Android 上。
当时先定了一个目标,写一个图片类 App,打算叫『无尽画廊』。因为很喜欢 WeHeartIt(http://weheartit.com/) 这个小众文艺图片网站。随即计划利用正则解析图片地址,然后再把图片呈现在 App 上。那会儿 Java 和 Android 完全零基础。
自己在入门 Android 的时候真的超级拼。早上 6 点起床,然后开始悄悄下床(不能吵着舍友),打开电脑开始研究加开发。折腾到早上 7点半左右就和舍友一起去吃早饭,然后上课。中午回来也不午休,开发到快上课,晚上基本都会熬到 12 点左右。持续了 1 个月左右,终于从零基础到开发出一个粗糙的 1.0 版本,发到了国内的几个 App 市场。反馈不是很多,但是都挺积极,随即决定开发 2.0 版本,还加入了广告积分墙。就这样超拼的持续了 3 个月左右。现在网上能看到的基本都是 2.0 版本。我从这个 App 里,也赚到了一些广告费,大概几百块。但是因为广告服务商倒闭了⋯⋯钱到现在还没取出来⋯⋯心痛⋯⋯持续更新那个 App 到快毕业的时候,选择了保送到北师大。
暑假的时候去上海一家小公司去实习了,在实习的这家小公司,我做了一个到现在来看依然很屌的功能。现在来看是一个相当不错的 Growth Hacker 的一个案例(那会儿可没有增长黑客这个概念)。
实习所在的公司,是做类似小米盒子的东西。当时的盒子,最重要的当属内容,版权还处于蛮荒时代的时候,大家纷纷解析优酷、土豆这类的网站,以最少的成本,盗用优酷的带宽。简单点而来说,就是做视频聚合。视频聚合最麻烦的就是提取视频的真实文件地址,这样能为所有的创业公司免去版权纠纷,同时解决带宽费用问题。
我去那家公司实习的主要内容,就是用 Node 语言做视频地址解析,费劲功夫搞定了几乎所有的视频网站,各种黑科技都用上了,抓包,逆向,Headless Browser 等等。搞定所有网站后,也算勉强跟竞争对手站在同一起跑线。实习第二周的时候,已经有些没事儿干了,就在这会儿疯狂的想法出现了!
可能很多人还记得当年伟大的迅雷云播,解救了不知道多少个少男寂寞的夜。我们疯狂的想法就是要让我们的小盒子,能够流畅的播放用户从电脑上推送的任意种子文件,无需等待。在那会儿 TV 上,这种功能简直就是创举! |