来自:峰瑞资本(微信号:freesvc)
文章做者:代码家(微信 ID:daimajia_share)
软件早已吞噬整个世界,程序员是关键角色。过去 40 年中,许多伟大的公司都由程序员缔造,好比比尔·盖茨、拉里·埃里森、马克·扎克伯格、伊隆·马斯克。jquery
一本哥哥不太关心的 Visual Basic 课外书,代码家如获至宝,他接触了简单的代码,这让他进入到一个全新的世界。从那以后,代码家一直享受着用代码解决问题过程当中产生的精神愉悦,并成长为一名专家级程序员。用行话说,黑客。如今,代码家是 Github 上的开源大牛+红人,拥有 12.8k 的 followers。程序员
这篇文章里,代码家分享了本身如何从第一天接触程序,一路学习、实践、创造的故事。他还总结了技术学习过程当中的误区和突破方法。ajax
代码家,GitHub 开源及技术分享爱好者,开发过多个流行 App,也参与过多个技术社区的构建。编程
天天,都会有人在微博上私信问我关于学习和成长方面的问题。我通常不会轻易回复这类问题,毕竟每一个人的状况都不同:性格各异,对待事物的方式也不尽相同。我不能夸下海口说:“你看某本书,几个月就能如何如何”,我最多可以作的只是鼓励支持他们。其次,我也从不认为本身已经到了一个很高的境界上。让我去给别人作指导,当之有愧。缓存
可是每次看到你们的私信,我发现不少人确实在学习上处在一种很痛苦、急需帮助的状态。最近我有时间,就想写写本身从第一次接触程序,一路颠簸学习到今天的故事和经验,但愿对你们有所帮助。安全
如下为学习的 3 个阶段:服务器
/ 01 /微信
第一阶段:消费者阶段网络
我在快上高中的时候,开始接触的程序。那会儿家里有一本 Visual Basic 的书,30 多页左右,也是家里惟一一本计算机类书籍。那是我哥学校发的一本课外书,他对计算机貌似没有什么兴趣,就一直堆在家里,无心中被我翻到。框架
▲ Visual Basic 是我进入程序世界的启蒙。
书里的程序格外简单,几行简单的英语代码,就能让计算机弹出一个对话框。当时我看到这样的内容,感受简直神奇极了!我按照书里面的提示,尝试在老妈店里的电脑上一步一步敲下代码。当电脑弹出一个简单的对话框的那一瞬间,我感受像是推开了新世界的大门,今后一发不可收拾。
实践完 VB 后,我又在小书摊发现一本《黑客 X 档案》。我特别佩服书里面各路黑客高深的入侵、木马、盗号,我努力学会那些技能,而后去跟朋友们炫耀,但一直都没法入门。由于这里面须要太多计算机的基础知识了,不是写个弹框,或者通常计算器水平的人能搞定的。
那会儿家里也没有人懂电脑,又处在小城市,连个电脑培训班都没有。
随即,我开始漫漫买书求学路。
一旦开始买书,就进入了学习的第一个阶段:消费者阶段。当个消费者实际上是个挺轻松的事情,对着书本照猫画虎,一下子就能跑起来一个看着颇有趣的程序。那会儿,我疯狂地买各类书,可是因为周围没有人指导,买了不少相似 21 天xxx 系列的书,那会儿真的有这种书,我还抱有幻想,真的以为 21 天后我就……
我如今回想起来,国内的图书市场简直恶劣到必定程度。不少高校,教师升职评比须要考察发表书籍状况,致使国内一大批烂书其实都是高校老师发出来的。我如今依然认为,国内 95% 的技术类书籍是不值得买的,除了像侯俊杰老师这种文笔很好的技术人之外。
不少技术做者老是作不到 “以读者能理解的顺序,而非本身认为的顺序” 写文章,坑害了很多对计算机有兴趣的同窗。我一直很崇拜侯俊杰老师的另外一个缘由是他写的书,老是能把你最想了解的内容,如同庖丁解牛、深刻浅出地解答出来。就拿 MFC 框架(MFC 是很早前的一个 Windows SDK 框架,如今用的不多了)来讲,这是很复杂的一个框架。全部初学的人,都会问同样的问题:"这玩意儿是怎么工做起来的?!",但全部国产的关于 Visual C++ 的书,都避而不答,让你照猫画虎,就能弹出一个窗体。当初国内只有侯俊杰老师写的《深刻浅出 MFC》一书,讲明白了 MFC 框架背后的一切。
▲ 虽然年代久远,但不少程序员对这本书颇有感情。
学完一些基础知识后,就进入了学习的第二个阶段实践者阶段阶段。所谓实践者,就是开始用本身所学,去开发程序,成为一名专业或非专业的码农。不少人的职业生涯,也就停留在了这个阶段,过上了小富即安的程序员的日子。
我从消费者阶段过渡到实践者阶段,大概用了三四年的时间,其实已经挺长的了。我一直都认为我是一只笨鸟,无心中起飞,却飞了好久的那种。
/ 02 /
第二阶段:实践者阶段
我真正开始实践,是在本科学校作的几个网站。
第一个作的是学校的匿名聊天系统,就是全部人均可以登陆学校的站点,而后会经过匿名的方式,匹配一个异性,两人就能够开始聊天。当时用的 Asp.net 作的开发,配合 ajax + jquery,但因为当时技术太差,致使不少人聊着聊着就断线了,这个小产品不了了之。
第二个是用 PHP 给咱们信息学院开发一个官网。在作这个网站的同时,我选修了一门叫《网络安全》的课程,教这门课的老师叫陈路。我曾当着老师的面儿,夸下海口:“我开发的官网,坚如盘石……” 陈老师知道了我作的网站,随即布置一个做业:"哪一个学生能攻陷咱们的官网,一个漏洞加五分。" 结果后来,有个同窗用一个很通用的扫描工具,在他本身其实也不知道发生了什么的状况下,那个工具把网站内容都删除了……我在建设网站的时候犯了个超低级的错误:GET 请求能够删除数据,外加身份认证代码有误。
幸亏,查看 Apache 日志的时候,我发现删除请求到来的前几分钟,Google 爬虫来过(那会儿Google 还能用),随即立刻去 Google 的缓存里找回了全部的数据。
▲ Tips: 爬虫系统是找回数据的一个办法。
后来陈路老师被学校批斗了一顿,批斗的罪名是 “鼓励学生攻击校园网络”,我当时极力跟学校说明这个错误是我犯的,陈老师作的并无错。我到如今仍是很喜欢陈老师这种教学方法,毕竟实践出真知。
可能如今陈老师在教《网络安全》课程的时候,会以 "当年有个学生...." 做为开头,有时候想一想也挺有意思的。
后来我花了不少时间学习与 Web 安全相关的知识。在写各类 Web 程序时,我都会最大程度地考虑安全问题。
▲ 此次经历强化了个人网络安全意识。
学校网站被攻陷后没多久,Android 出来了,我买了第一部 Android 手机,而后本身照着官方文档开始学习 Android 系统。我学习动力的源头,是我据说写 App 能赚钱。赚钱真的是学技术的很强的动力,我以前写网站零零星星地赚了六七千块钱,当时是同窗里的小土豪。学会网站代码以后,我又把目光转到了刚出来没多久的 Android 上。
我当时设定了一个目标,写一个图片类 App,打算叫 “无尽画廊”,由于很喜欢 WeHeartIt 这个小众文艺图片网站。我计划利用正则解析图片地址,而后再把网站里的图片呈如今 App 上。我那会儿在 Java 和 Android 方面彻底零基础。
我在入门学习 Android 的时候真的超级拼。早上 6 点起来,悄悄下床(不能吵着舍友),打开电脑开始研究加开发,折腾到早上 7 点半左右,和舍友一块儿去吃早饭,而后上课。中午回来也不午休,到快上课还在开发,晚上基本都会熬到 12 点左右。持续了 1 个月左右,我终于从零基础到开发出一个粗糙的 1.0 版本,发布到了国内的几个 App 市场。反馈不是不少,但都挺正向的。我决定继续开发 2.0 版本,还加入了广告积分墙的功能。我就这样超拼的持续了 3 个月左右。如今网上能看到的这个应用基本都是 2.0 版本。我从这个 App 里,也赚到了一些广告费,大概几百块。可是由于广告服务商倒闭了,钱到如今还没取出来,心痛……
▲ 为了写一个图片类的 App,我正式入门安卓。
持续更新那个 App 到快毕业的时候,我选择了保送到北师大。
大学毕业后的暑假,我去上海一家小公司实习,在这家小公司,我作了一个到如今来看依然很牛的功能。如今来看这是一个至关不错的 Growth Hacker 的案例(那会儿可没有增加黑客这个概念)。
实习所在的公司,作的是相似小米盒子的产品。当时作这一类盒子产品,最重要的当属内容,当时内容版权还处于蛮荒时代,你们纷纷解析优酷,土豆这类的网站,以最少的成本,盗用这些网站的带宽。简单点儿来讲,就是作视频聚合。视频聚合最麻烦的就是提取视频的真实文件地址,这种功能能为全部的创业公司免去版权纠纷,同时解决带宽费用问题。
我去那家公司实习的主要内容,就是用 Node 语言作视频地址解析。我费尽功夫搞定了几乎全部的视频网站,各类黑科技都用上了:抓包、逆向、Headless Browser 等等。搞定全部网站后,勉强算是跟竞争对手站在同一块儿跑线。实习第二周的时候,已经有些没事儿干了,就在这会儿,咱们公司有一个疯狂的想法出现了!
▲ 简单来讲,Growth Hacking 是在产品层面利用各类技术上的最佳实践,来驱动用户的增加。
可能不少人还记得当年伟大的迅雷云播,解救了不知道多少位寂寞的少男。咱们当时特别疯狂的想法就是要让咱们的小盒子,可以流畅地播放用户从电脑上推送的任意种子文件,无需等待。在当时这种功能简直就是创举!
我抗下大旗,开始用代码模拟迅雷云播的全套流程。开发的过程十分艰难,得从不一样平台的迅雷上抓包,寻找蛛丝马迹。优先从 Web 端模拟登录和提交种子文件,这些都相对容易一些,最难的是如何提取到视频的真实地址。我花了大概一周时间,攻陷了全部的流程,而后公司买了 10 几个迅雷会员,又和各路 BT 网站开始合做,开启了浩浩荡荡的用户增加之旅。具体增加了多少新用户,其实我内心没有数,可是看见旁边的小朋友,天天都在加服务器,优化 Socket 链接数,我猜那一周得新增了 5 - 10 万用户,更为壮观的是,每到夜里,全部的迅雷帐号里就瞬间塞满各类不可描述的日本电影,所有清空后,又被瞬间塞满。以致于后来,实习到第十七八天的时候,个人老板和 CTO 喊我过去,直接送了我 20 万期权,那感受也是蛮爽的。后来微博上,这个功能也是火了一阵子,不过很快就挂了,原由是有用户在微博上 @了小米电视和迅雷,让他们跟咱们学着点儿⋯⋯而后,不超过半小时⋯⋯服务就挂掉了⋯⋯不过挂掉没几天我就去帝都准备研究生报名了。
还有一件很爽的事,就是我上了研究生后的半年里,那家公司一直给我支付着工资⋯⋯每月轻轻松松就有几千块钱零花钱⋯⋯再后来的后来,那家公司倒闭了⋯⋯
▲ 加入 AnimeTaste。
在上海实习快结束的时候,我认识了少楠,加入了 AT!(AnimeTaste),一个分享优质原创动画的小团队。我也由于这一段经历,从一枚野生开发正式晋升为一枚正规军,开发出了近百万用户量级的 App。少楠是一位很是优秀的产品经理兼设计师,我跟着他学到了不少产品知识和团队协做的技巧。AT!(AnimeTaste)组织到如今都是我爱的组织,你们虽然从事不一样行业,但就跟亲人同样。每次聚会都是一年一度最嗨皮的日子,都是我经历过最真诚的聊天。从 AnimeTaste 再到 EverMemo(第三方印象笔记应用),我愈来愈感受到了团队的重要性,见识到了优秀的设计师和 iOS 开发者。
这漫长的三四年都是个人实践者阶段。以上的诸多经历,也为我本身创业埋下了不少伏笔。
/ 03 /
第三阶段:创造者阶段
实践者阶段以后,我开始尝试创造,进入学习的第三个阶段——创造者阶段,这个阶段对我来讲没有结束节点,就一直这么存在着。
我大体是在研究生一年级的时候,摸到创造者阶段的门梁。大三的时候接触的 GitHub,感受是我学程序来,打开的第二个世界的大门(第一个,算是那个 VB 程序的弹框)。接触到 GitHub 以后,让我第一次开始学习和研究脚本语言( Python,Node,PhantomJS 等等),也是我第一次开始接触真正的生产工具(相似 Less,Sass 等等)。
我那会儿在研究生阶段,每月有了公司发的几千块钱,也入手了人生第一台 iPhone:一台土豪金版的 iPhone5s。买 App 太贵便折腾起了越狱(如今都是买 App 了)。装了一款越狱后的 AppStore,在那个 Store 里面,在下载一个 App 的时候,有个超漂亮的进度条,我每次都会认真地盯着那个进度条,一边看,一边感叹,一边也暗许本身也要在Android 上实现这一套。这也是我开始第一次开发自定义组件的初衷,也是 NumberProgressBar(实现带数字进度的Android 进度控件) 诞生的最初缘由。
啃下第一个自定义组件,对不少学习编程的人来讲都是很痛苦的,我也同样。那会儿的 Android 组件少的可怜,我试图搞清楚更多更底层的东西,须要不断地看文档,看源码,读别人的代码,不断地尝试运行……天天超过 10 小时投入,折腾了一周左右,终于作出来了。照猫画虎式地写好文档,作好测试,当心翼翼地发布到 GitHub,而后发表到当时 GitHub Android 的分享社群里。地址在这里:https://plus.google.com/+daimajia/posts/d6DJhLhLn1c
▲ GitHub 简直是求学者的宝库,你会很期待明天的 Trending 榜单上会有什么新东西冒了出来。
再到后来的几个月,又陆续写了一些其余的库,发到 GitHub 上,其实我根本没想到会有那么多人去 Star,可能跟我 “下手” 比较早有关。
在创造者阶段,要努力创造那些没有的,源自你脑海里的东西,而不是别人安排给你的。努力作到开发的东西让更多的人用到,能够是一个 App,也能够是一个帮助人们提升效率的 Chrome 插件,还能够是一个简单的组件。创造,最可以挑战你对一个行业的热爱程度。
我历来不反对重复发明轮子。每个新的轮子即使有一些小的改进,都是适应天然法则,优胜劣汰的。
就我身边人而言,我最崇拜的创造者是尤小右。他把一个小的 Framework,一点点地作大,再到作出国际影响力,真是个不得了的事情,也是不少技术人求之不得的事情。
/ 04 /
编程学习中的误区和突破方法
总而言之,若是你忽然意识到本身这几年一直处在一个很稳定的状态中,没有提高,那你得想一想本身是否是卡在了某个阶段,一直没法突破。想一想本身该作些什么,才能突破到下一阶段去?我总结了一些在学习编程过程当中存在的误区和突破方法。
曾经有一本书刊特别流行,叫《故事会》,后来销声匿迹了。在我眼里,取代《故事会》的是知乎。
我其实一直很反对一个论调:“上知乎,学知识”。醒醒吧。知乎明显就是现代版的故事会好吗?!
我不否定知乎存在有价值的知识,但根本不值得你花那么多时间,去发现那些少的可怜的知识。去读书吧!用最系统的逻辑,去学会一项技能,哪怕你去读《硅谷百年史》里那些振奋人心的关于仙童半导体的故事,也比你不断地在知乎上看不少水贴要强的多。而如今,最可怕的是你们在知乎上消费着垃圾,却依然以为本身在吃着奶酪。学习的过程都是伴随着思考和痛苦的,若是你边笑边学习,那你真的得醒醒了。
▲ 值得拥有的每每都来之不易。
我在大三下半学期被保研以后,开始研发了一个叫小熊词典的 App,原由是由于我在学英语的时候,当时全部词典类 App 想要获取最全的词语解释都须要联网,除了消耗流量消耗以外,电量是最大问题,自习一早上词典就没电了。因此,我想本身动手写一个词典 App,主打离线词库和快速查询这两项功能。
但最后的时候,小项目胎死腹中。说实话,当时整个 App 已经开发到 95% 了,抓取了很是多有名的词库的数据,而且整理成了规范格式,但我到最后仍是放弃了这个项目。即使今天来看,这个词典依然很酷,算得上有最丰富的词库和最快的查询速度。
如今想一想,当初一我的开发那个项目的时候,每次想到一个很酷的功能,就决定加进来,致使整个项目的进度遥遥无期。我当时彻底没有项目管理的概念,也没有意识到任意添加功能会很快拖垮个人体力,消磨掉本身的意志和热情。
对于不少初学者来讲,若是老是抱着书学,你没法得到任何的反馈和激励,以致于以为事情越作越难。在学习的过程里,最好能给本身定一个简单的目标,好比:“我即使如今什么都不会,我就要作个小游戏出来,这个游戏应该是这样的一个玩儿法……” 作出来后,快速去找一些用户,最好是那些不吝惜赞美的朋友们,也能够是你的父母,让他们给你一些动力。
我认识的朋友中,他们大多都有各类稀奇古怪的想法想要来实现,信誓旦旦开始 Side projects,但最后,不少都销声匿迹了。致使这些想法没可以落地的的关键在于,不少开发者在刚开始的时候,缺少清晰的计划,就想达到一步登顶的完美境地,这实际上是很可怕的想法。就比如,一个不多爬山的人,却在第一次爬山的时候,就决定登顶珠峰,结果可想而知。在实践本身想法的时候,最好去考虑怎样以最低成原本展示你想法的核心部分,而非去作一个大而全的方案。
以最小成原本实现核心想法,一步步地去验证本身的想法,收集反馈,调整策略。最终抵达到正确的目的地。
▲ 开发程序如同爬山,须要切实可行的计划,不能急于求成,
不得不认可,懒惰是人的共性。当你看到别的朋友作出来很酷的小游戏的时候,你是否也有几分钟冲动,想要去学习游戏制做?不要等!快去买两本书抓紧学起来,哪怕你知道你这个热情的苗头很快会熄灭,但请不要放弃任何发现新大陆的机会,在学习冲动消失以前,先去入个门。
我每次跟人分享学习经历的时候,我老是能想起来我初中时候的一位语文老师,微胖,性格和善。
她在一次期末考试以前跟我说:“你在复习的时候,不要局限在课本上。你背会 24 节气都是颇有意义的,想看什么书就去看,不要等,不要担忧本身学不会。”
她的话对我学习新东西影响特别深,如今我基本上是想学习什么东西,就立马去学,即使可能一周后气馁了、放弃了,可是历来不会怀疑学这些知识的意义。
我学过吉他,写过毛笔字,写过 Delphi,用 Sketch 画过 icon,用 Blender 画过 3D 保龄球,写过 Unity 小游戏……不少我都没坚持下来,但它们给我带来的最大改变就是我不会害怕去接受新事物,思考问题的时候老是能考虑得很周全。我也在这个过程当中慢慢地找到本身最爱作的那件事情,更清楚地定位本身。
因此,当你突然对某件事情有兴趣的时候,抓住那几分钟、那几天,赶忙去学点新东西。
毕竟,点老是会串成线的。
▲ How often do you try new things?
我作 Gank 以来,不少开发者都来投稿,以致于如今后台还挤压着 2000 多个投稿没有处理。看过这么一圈然后,我开始不主张去看别人写的技术类文章。看别人的文章,你看到的是他想讲给你的,而这些可能只是他在本身的项目里用到的,并非一个客观全面的角度。可能用这样的方式,前期学习效果显著,可是会很快进入瓶颈期。可能会致使你只知道某个东西的一两种用法,甚至会让你对思考丧失兴趣,总想走捷径。若是你常常读各类语言的官方文档,老是会有 “啊哈!这样均可以,我之前都不知道还有这种方法存在。” 的感叹,但你看别人的文章,却很会少有这种感受。
我主张看优秀的代码,实际上是但愿伴随着思考学习一些技术细节。其实,评价某一种方案好与很差,是没有意义的。只有多积累其余人解决同一问题的方法,才能在下一次作决策的时候,找到适合当前场景的最优解,举一反三,给其余问题提供解决思路。
技术提高的过程,其实就是你减小对二手知识依赖的过程。二手知识是什么?就是那些通过别人翻译、总结的文章。一开始入门的时候,你们看到的都是二手知识(也多是三手,四手的知识),但若是想要提高本身的能力,就必须强迫本身多去看些更官方专业的文档,进行体系化的学习。这个过程是很消耗体力和脑力的,但多坚持,必定会有明显的改善效果。
不少人在网上看到不错的文章,总要 @本身的印象笔记。我以前也会这么干,常常把一些不错的文章,存到 Pocket 或者 Readability 里。但真的回顾去看那些文章的机会太少了,并且收藏这些文章还会给我带来很多压力。我只是浅显地读了读收藏里的部分文章,老是对本身说有时间了再去读完剩下的部分,其实很难抽空再找时间去读。长此以往,拖延症也就变得理所应当。
有可能你会说,万一哪天用到呢?其实我以为再 Google 一次就好啦,可能会找到比这篇文章更好的。嗯,就是这样。
如今,我看到一篇不错的文章,首先从标题推测下内容,再扫一眼正文,若是跟我猜想的八九不离十,我基本就关掉连接了。若是内容跟个人推测截然不同,我必定会一口气读完,而不是收藏起来之后再读。我之因此说收藏什么也改变不了,是由于你在读别人的东西,那里面的思考的过程是别人的。
▲ 努力减小从别人总结的文章里学习的频率,多去读一手资料,而后本身作总结。
你有没有在 PM 说完要实现某个效果或者功能的时候,站出来反对,说:“这样并不合理。” 若是你有过,那么我想你也是一个有理想的开发者,而不是一个 “码农”。聪明人喜欢跟聪明人合做,你们一开口就互相明白了。没有人是天生聪明的,只是看的多了,想的多了,就显得聪明了。
看些什么呢?看看一个优秀的 App 早期是怎么作冷启动的,看看 Apple Store 或者 Google Play 上最近有没有什么新奇的 App 出现,看看 TechCrunch 上最近又有什么天马行空的项目融到了钱。
▲ 观察一个优秀 App 的冷启动过程,会逐渐培养本身对产品的感受。
想些什么呢?想一想一个产品功能的存在有没有意义,他的下个阶段又会怎么发展,想一想某段文案是否会下降产品某个功能的转换率,想一想某个动画效果是不是很恼人的存在,若是你能够对微信加一个功能,减一个功能,你又会做何选择?
我在西安读大学那会儿开始,就有一个小本子,里面记录着忽然冲入本身脑海的一些或靠谱或离谱的小想法。上面会写着相似:
作个 Every big moment,用手机记录本身的每一个值得记念的瞬间,而后打印成相册发给我或者放在网上当作本身的 Profile。
狗狗出门便便,主人打扫很不方便,有没有更好的方案?
程序一旦崩溃,直接发送操做记录和堆栈信息到 Dashboard,而不要让测试人员努力重现,写个 SDK,搭建一套服务,必定会很好用。
不少的 Bug 追踪服务,为何不在错误堆栈旁边,展现出来这个 Bug 的解决方案,哪怕是一个StackOverflow 的连接也好,这样我就不用去本身搜索了。
那个小本上记录了本身好多关于产品的想法,其中有很多想法,后来市面上都出来了相应的产品。有一些如今看来很好笑,但有的想法今天再翻看的时候,我仍然有想要组团队去实现这个功能的冲动。
▲ Idea List 老是能激发你去创造的欲望,有空,就去不断的记录本身的 Idea List 吧。
另外,不要把本身的 Idea 当作一个秘密。多和人去讨论本身的想法,在不断地否定和确定中,完善本身的想法,Idea 是不值钱的,只有实现它才是有价值的。
这句话可能你们都懂,但个人体会可能比你们都深入。
我在西安一个叫西北大学的地方读的大学,是一个普通的 211。客观来讲,学校里的计算机专业比较通常,在到北京师范大学读研究生以前,我甚至没据说过 ACM。
Python、Ruby、Node 这种编程语言在咱们的计算机系,根本连影子都没有,传统的计算机技能点基本都是 C,C++ 这类。这并无什么错,但若是只掌握这些,路子就变窄了不少,学长毕业去个腾讯、阿里,已经能被你们推上神坛。
▲ 更优秀的地方会为你呈现更多的可能性。
本科学校大二会给计算机系开一门日语课。为何会给计算机系开日语课呢?由于不少软件公司的外包业务来自日本。这个逻辑我一直都不能接受,这都什么年代了,咱们早都不须要用外包支撑我国的 IT 产业了。
学校给学生的定位更可能是一个学校展现就业率的棋子:你会什么不重要,只要你最后有个工做就行了,不要拖累了学校的名声。
来到北师大后,我感觉到了史无前例的转变。学校总体的气氛至关自由,不少老师都是某些细分领域的专家,你问一个问题,他们能给你引导出不少有意思的点。长此以往,你也会被这些感染到。有的时候,我也会想,之后要不要去申请个美国名校读一读,继续深造。
/ 05 /
写在最后
我把目前能想到的一些编程开发上的学习的技巧和陷阱,大体都列了出来。这都是我我的的一些学习的经验,若是对你有帮助,想必也是极好的,也欢迎你指出以为我写的有不合理的地方。但愿实践我说起的一些方法,会对你的生活和职业带来改变。
转载自:http://mp.weixin.qq.com/s?__biz=MzI1MTA3Mzk4Mg==&mid=2651019951&idx=1&sn=98d743206ca71c6670bf9d9b64d91c6e&chksm=f20f7e7ec578f76825e87bb6669b2aed3c2e96bbd962d3f109e38defb3ca49091cd471a00e84&scene=0#rd