您的位置 首页 汽车

「代码家」的学习进程和学习经历共享

每天,都会有人在微博上私信我,问我关于学习和成长的问题。这种问题我一般都不会回复某个j,毕竟每个人的情况不一样,每个人对待事物的性格也不一样,我不能夸下海口的说,你看某本书几个月就能如何如何,我能

  每天,都会有人在微博上私信我,问我关于学习和生长的问题。这种问题我一般都不会回复某个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 上,这种功用几乎便是壮举!

  主意出来后,我抗下大旗,开端用代码模仿迅雷云播的全套流程。开发的进程十分困难,得从不同渠道的迅雷上抓包,寻觅蛛丝马迹。优先从 Web 端模仿登陆和提交种子文件,这些都相对简略一些,最难的是怎样提取到视频的实在地址。花了大约一周时刻攻陷了悉数的流程,然后公司买了 10 几个迅雷会员,又和各路 BT 网站开端协作,敞开了声势赫赫的用户增加之旅。详细增加了多少新用户,其实我心里没稀有,可是看见周围的小朋友,每天都在加服务器,优化 Socket 连接数,我猜那一周得新增了5-10万用户,更为壮丽的是每到夜里,悉数的迅雷账号里就瞬间塞满各种不行描绘的日本电影,悉数清空后,又被瞬间塞满。以至于后来,实习到第十七八天的时分,我的老板和 CTO 喊我曩昔,直接送了我 20 万期权,那感觉也是蛮爽的。后来微博上,这个功用也是火了一阵子,不过很快就挂了,原因是有用户在微博上 at 了小米电视和迅雷,让他们跟咱们学着点儿⋯⋯然后,不超越半小时⋯⋯服务就挂掉了⋯⋯不过挂掉没几天我就去帝都预备研讨生报名了。

  还有一件很爽的事,便是我上了研讨生后的半年里,那家公司一向给我支付着薪酬⋯⋯每个月轻轻松松就有几千块钱零花钱⋯⋯再后来的后来,那家公司关闭了⋯⋯

  快从上海实习完毕的时分(实习一个月),我又知道了少楠,加入了 AT!组织。AT! 组织是一个共享优质原创动画的小团队,从此我从一枚野生开发正式晋升为一枚正规军。少楠是一枚十分优异的产品司理兼设计师,跟着他学到了许多产品的常识和团队协作的技巧,也让我终究真的开宣布了近百万用户的 App。AT!组织到现在都是我爱的组织,咱们尽管从事不同工作,但就跟亲人相同。每次集会都是一年一度最嗨皮的日子,都是我阅历过最真挚的谈天。从后来做了 AnimeTaste 再到 EverMemo,我榜首感觉到团队的重要性,榜首次才智到优异的设计师和 iOS 开发者。

  以上的许多阅历也为自己创业埋下了许多伏笔。这些都是我的实践者阶段,绵长的三四年。

  第三阶段:发明者阶段

  实践者阶段之后,自己开端测验发明。也是我以为学习的第三个阶段 — 发明者阶段,这个阶段是没有完毕节点,就一向这么存在着。

  我大致是研讨生一年级的时分开端摸到发明者阶段的门梁,大三的时分触摸的 GitHub,感觉是我学程序来,翻开的第二个世界的大门(榜首个,算是那个 VB 程序的弹框)。触摸到 GitHub 让我榜首次开端学习和研讨脚本言语( Python,Node,PhantomJS 等等),榜首次开端触摸实在的生产东西(相似 Less,Sass 等等),GitHub 几乎是求学者的宝库,你会很等待明日的 Trending 榜单上会是什么新东西冒了出来。

  那会儿在研讨生阶段,每个月有了公司发的几千块钱,也开端下手了人生榜首台 iPhone,一台土豪金版的 iPhone5s,买 App 太贵便折腾起了越狱(现在都是买 App 了)。装了一款越狱后的 Store(我忘了叫什么了),那个 Store,鄙人载一个 App 的时分,有个超美丽的进展条,我每次都会仔细的的盯着那个进展条,一边看,一边感叹,一边也暗许自己也要在 Android 上完成一套,这也是我开端榜首次开发自定义组件的初衷,也是 NumberProgressBar 诞生的开端原因。

  啃下榜首个自定义组件,对许多人来说都是很苦楚的,我也相同,那会儿的 Android 组件少的不幸,不断的看文档,看源码,读他人的代码,企图搞清楚更多更底层的东西,不断的测验运转,折腾了一周左右(每天超越 10 小时投入),总算做出来了,照本宣科的写好文档,做好测验,小心谨慎的发布到 GitHub,然后宣布到其时为数不多的 GitHub Android 共享社群里。

  再到后来的几个月,又连续写了一些其他的库,发到 GitHub 上,其实我底子没想到会有那么多人去 Star,或许跟下手比较早有关,恩。

  发明者阶段,便是尽力发明那些没有的,源自你脑际里的东西,而不是他人组织给你的。尽力做到让更多的人用到,可所以一个 App,可所以一个协助人们进步功率的 Chrome 插件,也可所以一个简略的组件。发明是最应战你对一个工作的酷爱程度的。

  我历来不对立重复发明轮子。每一个轮子即使有一些小的改进,都是习惯天然法则,优胜劣汰的。

  就我身边而言,我最崇拜的发明者是尤小右,将一个小的 Framework,一点点的做大,再到做出世界影响力,真是个不得了的作业,也是许多技术人朝思暮想的作业。

  总而言之:假如你遽然觉得自己这几年一向处在一个很安稳的状况中,觉得自己没有提高,那你得想想是不是我卡在了某个阶段,一向无法打破,你是否需求做些什么,打破到下一阶段去。随后的文章我也总结了一些误区和打破办法。

  被误以为的学习

  当年,有一本书刊特别盛行,叫《故事会》。《故事会》后来隐姓埋名了,在我眼里,替代《故事会》的是知乎。对,便是那个知乎。

  我其实一向很对立一个论调:“上知乎,学常识”。醒醒吧。知乎显着便是现代版的故事会好吗?!我不否定知乎存在有价值的常识,但,底子不值得你花那么多时刻,去发现那少的不幸的常识。去读书吧。用最体系的逻辑,去学会一项技术,哪怕你去《硅谷百年史》里去读那些振奋人心的仙童半导体的故事,也比你不断的知乎看着水的一笔的帖子要强的多。现在,最可怕的是咱们在知乎上消费着废物,却仍然觉得自己在吃着奶酪,学习的进程都是伴随着考虑和苦楚的,假如你边笑边学习,那你真的得醒醒了。

  方针和鼓励很重要

  我在大三下半学期被保研后,开端了另一个小项目,一个叫“小熊词典”的 App,原因是由于在学英语的时分,悉数词典类 App 想要获取最全的词语解说都需求联网,流量耗费大不说,电量是最大问题,自习一早上电量就没了。所以,自己想动手写一个词典 App,主打离线词库和快速查询。

  但终究的时分,小项目胎死腹中。说实话,整个 App,现已开发到 95% 了,抓取了十分多有名的词库的数据,而且收拾成了标准格局。但项目终究仍是抛弃了。即使今日来看这个词典仍然很帅!(最丰厚的词库和最快的查询速度)

  现在想想,开端一个人开发的时分,每次想到一个很帅的功用,就决议加进来,项目进展遥遥无期。彻底没有项目办理的思路,也没有意识到这样会很快拖垮我的膂力,消磨掉自己的毅力和热心。

  关于许多初学者来说,总是抱着书学,其实也是相同的成果,你无法取得任何的反应和鼓励,以至于觉得一件作业越做越难。学习的进程,最好能定一个简略的方针,比方:“我即使现在什么都不会,我就要做个小游戏出来,这个游戏应该是这样的一个玩儿法,blablabla。”,做出来后,快些去找用户,可所以你的朋友,也可所以你的爸爸妈妈,最好是那些不吝惜赞许的朋友们,让他们无形之中给你一些动力。

  你永久无法一步抵达完美

  我知道的朋友中,他们都有各种八怪七喇的主意亟待完成,但终究,以信誓旦旦开端 Side projects,终究却都隐姓埋名了,这是不无原因的。由于许多的开发者在刚开端的时分,缺少明晰的计划,却想一步登顶完美的地步。这是很可怕的主意。就比如,我一个很少爬山的人,却在榜首次的时分,就决议登顶珠峰,成果天然可想而知。在实践自己主意的时分,最好能考虑以最低本钱去展现你主意的中心部分,而非一个大而全的计划。

  从最小本钱的主意中心,一步步的去验证自己的主意,去搜集反应,调整战略。终究抵达一个正确的方针。

  赶在爱好消失之前,去学习新知

  不得不供认懒散是人的共性,当你看到其他朋友做出来很帅的小游戏的时分,你是否也有几分钟激动的想要去学习游戏制造。不要等!快去买两本书捉住学起来,哪怕你知道你这个热心的预兆很快会平息,但请不要抛弃任何发现新大陆的时机,在学习激动消失之前,去入个门先。

  我每次跟人相互共享初高中生计的时分,我总是能想起来我初中时分的一位语文教师,微胖,性情和蔼。她在一次自在温习预备期末考试的时分给我说: “你温习,不要限制在课本上,你背会 24 节气都是很有含义的,想看什么书,就去看,不要等,不要忧虑自己学不会。”

  这话对我学习新东西影响特别深,现在我底子上想学习什么东西,立马去学,即使或许一周后泄气了,抛弃了,可是历来不会置疑学这些琐细常识的含义。

  我学过吉他,写过毛笔字,写过 Delphi,用 Sketch 画过 icon,用 Blender 画过 3D 保龄球,写过 Unity 小游戏⋯⋯ 许多我都没坚持下来,但给我带来的最大改动便是我不会惧怕去承受新事物,考虑问题的时分总是能把许多场景考虑到。也能渐渐的找到自己独爱做的那件作业,更清楚的定位自己。

  所以,当你遽然对某件作业有爱好的时分,捉住那几分钟,那几天,赶忙去学点新东西。

  究竟,点总是会串成线的。

  少看他人写的文章,多看优异的代码

  我做 Gank 以来,许多开发者都投稿过,以至于现在后台还挤压着 2000 多个投稿没有处理。看过这么一圈然后,我开端不建议去看他人写的技术类文章。看他人的文章,你看到的是他想讲给你的,而这些或许仅仅他在自己的项目里用到的,而不是一个客观全面的视点。时刻一长,以至于你只知道这个东西的一两种用法,更可怕的是你或许现已对考虑损失爱好,总想走捷径,或许这样前期学习作用显著,可是后期会很快抵达瓶颈。我想假如你常常读各种言语的官方文档,总是会有 “啊哈!这样都可以,我曾经都不知道还有这种办法存在。” 的感叹,但你看他人的文章,却很罕见这种感觉。

  至于建议看优异的代码,其实是期望学习一个技术细节,是伴随着考虑的。其实,点评某一种计划好与欠好,是没有含义的。只需多堆集其他人处理同一问题的办法,才干鄙人一次做决议计划的时分,找到合适当时场景的最优解,许多时分,也能举一反三,给处理其他问题供给思路。

  渐渐削减对二手常识的依靠

  技术提高这个进程,其实是你对二手常识削减依靠的进程。二手常识是什么?便是那些通过他人翻译,总结的文章。一开端入门,咱们看到的都是二手常识(也或许是三手,四手的常识),但,想要提高自己的才能,逼迫自己多去看些更官方的文档,体系化去学习。这个进程是很耗费膂力和脑力的,但多坚持,必定会有显着改进的。

  保藏的含义不大,保藏也不能改动什么

  许多人看到不错的文章,总要 @我的形象笔记⋯⋯ 我之前也会这么干,常常把一些不错的文章,存到 Pocket 或许 Readability 里,但,真的回忆去看那些文章的时机太少了,而保藏这些文章给我带来不少压力。有的文章,我仅仅粗浅的读了读,脑子里总是得记取有时刻了再去读完剩余部分,正如大大都人相同,再也不会去读了。一朝一夕,延迟症也就变得理所应当。

  有或许你会说假如哪天用到呢?其实我觉得再 Google 一次就好啦,或许会找到比这篇文章更好的。就这样。

  现在,看到一篇不错的文章,首先从标题估测下内容,再扫一眼,假如跟我猜想的八九不离十,我底子就关掉了。假如有跟我的估测截然不同,我必定会一口气读完,而不是保藏起来今后再读。

  之所以我说保藏什么也改动不了,是由于读他人的东西,考虑的进程是他人的。尽力去削减从他人文章里阅览学习的频率,多去读一手材料然后自己总结。

  培育一些对产品的感觉

  你有没有在 PM 说了要完成某个作用或许功用的时分,你站出来对立,说这样并不合理。假如你有过,那么我想你也是一个有抱负的开发者,而不是一个“码农”。聪明人喜爱跟聪明人协作,咱们一开口就相互理解了。没有人是天然生成聪明的,仅仅看的多了,想的多了,就显得聪明晰。

  看些什么呢?看看一个优异的 App 早上的冷启动是怎样做的,看看 Apple Store 或许 Google Play 上最近有没有什么别致的 App 呈现,看看 Tech Crunch 上最近又有什么天马行空的项目融到了钱。

  想些什么呢?想想一个产品功用的存在有没有含义,他的下个阶段又会怎样开展,想想某段案牍是否会下降产品某个功用的转换率,想想某个动画作用是否是很恼人的存在,假如你可以对微信加一个功用,减一个功用,你又会作何挑选。

  每个人都应该有个 idea list

  我在西安读大学那会儿开端,就有一个小簿本,记载着忽然冲入自己脑际的一些靠谱或是离谱小主意。上面会写着相似:

  做个 Every big moment,用手机记载自己的每个值得纪念的瞬间,然后打印成相册发给我或许放在网上作为自己的 Profile。

  狗狗出门便便,主人清扫很不便利,有没有更好的计划?

  程序一旦溃散,直接发送操作记载和仓库信息到 Dashboard,而不要让测验人员尽力重现,写个 SDK,建立一套服务,必定会很好用。

  许多的 Bug 追寻服务,为什么不在过错仓库周围,展现出来这个 Bug 的处理计划,哪怕是一个 StackOverflow 的链接也好,这样我就不用去自己查找了。

  那个小本上记载了自己好多做产品的主意,有不少,后来市面上都出来了相应的产品。也有一些现在看来很可笑,有的主意今日再翻看的时分,仍然会激动的想要组团队去完成。

  Idea list 总是能激起你去发明的愿望,有空,就去不断的记载自己的 Idea list 吧。

  别的,不要把自己的 idea 作为一个隐秘,多和人去评论自己的主意,在不断的否定和必定中,完善自己的主意,idea 是不值钱的,只需完成它才是有价值的。

  争取去更优异的当地

  这句话或许咱们都懂,但我的领会却比咱们都深入。

  我在西安一个叫西北大学的当地读的大学,是一个一般的 211。计算机专业客观来说比较一般,在来北京师范大学读研讨生之前,我乃至没传闻过 ACM。

  Python、Ruby、Node 这种编程言语在咱们的计算机系,底子连影子都没有,所以正统的计算机技术点底子都是 C,C++ 这样,这并没有什么错⋯⋯ 但路子就变窄了许多,学长结业去个腾讯、阿里,现已能被咱们推上神坛。

  本科校园大二会给计算机系开一门日语课。为什么会给计算机系开日语课呢?由于许多外包来自日本。这个逻辑我一向都承受不能。这都什么时代了,咱们早都不需求用外包支撑我国的 IT 工业了。

  校园给学生的定位更多是一个校园展现就业率的棋子,你会什么不重要啦,只需你终究有个作业就好了,不要拖累了校园的名声。

  来师大后,感触到了史无前例的改动。校园全体的气氛适当自在,许多教师们,都是各自范畴的专家,你问一个问题,他们能给你引导出许多有意思的点。一朝一夕,你也会被这些感染到。有时分,我也会想,今后安稳下来之后,要不要去申请个美国名校读一读。

  结束

  现在能想到的一些学习的技巧和圈套,大致都列了出来。都是我个人的一些学习的阅历,假如对你有协助,想必也是极好的,假如你觉得我写的有不合理的当地也欢迎指出。坚持着去施行提及的一些办法,必定会对你的日子和工作带来改动。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/114906.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部