我的前端学习之旅

正文

事实上我不是一个很喜欢回忆很久以前事情的人,因为我对于这些记性比较糟糕,就像javascript垃圾回收机制。所幸之前有写日志备份资料的习惯,从中一点点回忆曾经摸索的经历。因为感觉自己技术比较渣,但一直坚持学习,今年刚入大三也算完成自己大一制定的职业规划(现于某创业小公司作为前端开发)。

大一

其实高三之前我有过编程经历,不过一直没想到自己会走上web开发这条路。如果早知道如此,初中便跟随大神S学php或许现在还能有点沉淀。:)

大一刚进来就准备当学霸,没错,目标就是这么”伟大”。当初一头扎入学习的海洋。装了半年学霸后除了这个头衔能伴随我的大学生涯,我收获了:

1.知乎

2.时间管理

3.大量阅读技术类书籍以及编程思想相关的书。

4.Mooc(完整的跟完史记和中国历史人物秦始皇。玩票的跟完andriod开发)

5.Acm经历,后来觉得自己不适合于是逃票了。

因为大量的阅读,web这块我好像名词懂的很多。

也是这个阶段,我有了一种职业应该是网站开发这块的想法。

第一次接触前端项目

当初不知道名声是怎么传出去的,反正后来有个朋友介绍一个外包,一位艺术系老师需要一个产品展示站。事实上我当初水平很浅,但是初生牛犊不怕虎接了下来。这位艺术系老师自己设计网站,设计稿有了,整站用php做,上面说过大神S是初中开始学php的,因此对于整站开发我也有大概的思路,去图书馆借了几本书.然后就直接开做了,网站基于PHP+mysql.后来这位老师在开发期间请我去咖啡馆调试细节(人生第一次咖啡馆)。结束后还请吃了顿大餐。并付了报酬。这对我来说鼓舞很大。而且因为这个项目的缘故我开始对前端深入学习。

大一暑期实习

因为我奶奶的对我的关心,于是我被一名亲戚托关系送到一家公司实习,打杂。当时很惶恐,因为感觉自己什么也不懂。于是每天早晨公司都没开门的时候就到了。那家公司Boss人很棒,他给我指了学习的道路。那时候第一次听说有Bootstrap。第一次听说BackBone(但对于当时的我来说,那很难)。在公司其实没做什么产品,但是Boss给了我很大的触发,他让我负责一个项目的设计。这对于我来说受益无穷。不过当时公司的前端因为产假并不在,因此我没有接触到真正的前端应该是如何工作的。后来因为Boss让我学Node.js,没错,大一暑假我就知道了Node.js,当时如同天书一般。因此我逃避了。干满一个月我提出了结束。

现在想想当时内心是非常恐惧的,因为当时确实什么都不懂,一下子接触到Node.js这么高大上的东西,感觉自己无法掌握。

后来我自己琢磨着,悟出了一个道理,一家公司需要的是能干活的人,一旦你进入公司,你不可能从基础做起,你需要的是能产出产品的能力。

于是我开始发奋学习。

大二

大二我正式确定我的职业为前端,大多数前端都是野路子,我也是,因此我大量阅读,幸好当初还有个更加困难的东西-ACM在摧残我的自信,因此我学习基础的并没有多大问题。

后来在ACM群一位学姐邀请我去实习,闭关几个月的我感觉应该做些东西,因此在那家公司实习了几个月。后来因为一些原因,我感觉不到我的进步,于是我辞职了。这次不是逃避,而是看清了自己努力的方向。接着我学习了Ruby,学习了Rails。第一次知道社区,从社区中我看到了很多,学会了很多。还线下参加过活动。后来还开发了一个阅读分享的Web应用。从后台到前端一手包办。

不过那个阶段心性没定,还想着学ios,学swift。后来学了一个月,觉得非人哉,弃坑。

这个时候第二个转折点来了。

这个时候,不知道名声怎么传出去的,咦,好熟悉的感觉。

有人找我一起做外包。当时没啥事,就应下了。

期间各种学习各种磨合各种感想我都忘了。于是我们来说结果,第一个外包飞单了,第二个外包拿到了钱。

大二暑期

这是我人生的爆发期,我什么地方也没去就窝在家里学习。我定下了学习目标,按部就班。

我学的是Node.js和React。

学Node.js的时候顺便学了Express4.x,并写了几个项目。

学React的时候结合Node.js写了一个私人定制版咨询应用,现在我每天看的咨询都是它爬的。

还在github开通了博客,记录学习经验。这个期间我积累非常多的东西,明白了前段自动化流程,学了gulp。期间跟大神S聚餐,看到他在给一个开源翻译项目作审核。于是我在博客开了一个国外优质文章翻译系列,坚持了20多天,把积累的大部分给输出了。这个过程让我眼界大开。

并且我养成了屯学习资源和每天学习的好习惯。

暑假两个月,脱胎换骨。

大三

开学初直接跟暑假谈好的公司,于是真正成为了一名前端工程师。

于是我完成了大一的职业规划之旅,并开始我大三的职业规划之旅。

我的学习经验

曾经为了回报知乎,我做了一个前端技能树的网站,结合自己的学习经验我谈几点:

初学者:

1.学会翻墙
2.学会自己搜索资源(更全的学习曲线知乎现在都有很多大牛总结了)
3.学会坚持

初学者Js路线:

 第一步果然还是w3school。
    
    http://www.w3school.com.cn/js/index.asp
    这个,刷的又快,半天能解决,然后有一点概念你就能写最基础的js。
    
    第二步
    
    根据自己的学习能力分为看书或者视频,但是!没有人能从视频中把js学的很好,顶多就是会用!
    
    因此看视频能掌握很高深的内容只是一个自我心理欺骗而已。所有的知识除了书本就是网上大牛的文章或者回答。
    
    这一步的书我推荐Head First系列的Javascript系列,我认为对于新手而言,没有什么比直接上手制作一个小项目更有成就感更加有效果了。
    在这一步中可以去看慕课网的一些基础视频。
    
    第三步
    
    学习一些常用框架和库,推荐Jquery上手,然后可以接触其他框架,并不需要强迫学习,不过还是建议用用看。比如BackBone。
    
    第四步 
    学习一些Mvvm的框架或者库,比如React,Vue.js,Avalon。
    
    基础
    
    不懂就百度,百度不到就google,不会google就去学翻墙,不会翻墙就学会买买买。这么简单的事情不需要说第三遍。
    
    国外的内容超级多有质量的文章。还有多订阅一些国内的前端优质内容。这年头,咨询是王道。
        
    还有开发工具的使用一个是sublime2/3,一个是国内开发的Hbuilder.至于其他Atom什么的我没怎么用就不说了。
    
    善于自己去学习这是非常重要的。

初学者Css路线:

 第一步果然还是w3school。
    
    http://www.w3school.com.cn/css3/index.asp
    这个,刷的又快,半天能解决,然后有一点概念你就能写最基础的css3。
    =-=你会发现这边的说辞和javascript一样一样的,毕竟最简单的就是刷概念。
    
    第二步
    
    根据自己的学习能力分为看书或者看文档。
    
    所有的知识除了书本就是网上大牛的文章或者回答。
    
    这一步的书我推荐Head First系列的css3系列或者Html系列,我认为对于新手而言,没有什么比直接上手制作一个小项目更有成就感更加有效果了。
    在这一步中可以去看慕课网的一些基础视频。
    然后就是去大漠的站学习
    http://www.w3cplus.com/
    
    想提高自己,看不懂一些含义?
    张鑫旭的博客你刷几遍就行了。
    http://www.zhangxinxu.com/wordpress/
    
    第三步
    
    学习一些常用框架,推荐Bootstrap上手,然后可以接触其他框架,并不需要强迫学习,不过还是建议用用看。    
    
    第四步 
    去codepen.io把popular的你挑喜欢的看一遍,自己尝试一遍。但是,codepen可能需要翻墙,还有些效果需要js这类。还有些css代码是sass来写的。所以还需要自己多提高然后再去尝试这些难的。
    
    关于Sass
    请自己查资料学习,快的一天就能上手。主要是编译问题,可以看我博客前端环境的搭建。
    
      
    
    PS:
    正式开发中或者自己小项目中,你可能没有设计稿这类,可以去
    http://themeforest.net/购买Admin后台模板来尝试自己的小项目。
    

关于书籍推荐,首先我个人认为书是死的,你能从什么书中学到一些东西,那么这本书就是好书。然后看书的时候你必须做笔记,必须做笔记,必须做笔记。嗯,重要的事情说三遍。

javascript:

	JavaScript DOM编程艺术
	JavaScript Dom高级程序设计
	JavaScript高级程序设计(第3版)
	精通JavaScript
	ppk谈JavaScript
	锋利的jQuery
	高性能JavaScript
	JavaScript语言精粹
	JavaScript权威指南
	编写可维护的JavaScript
	Effective Javascript
	JavaScript设计(和下面的是两本书哦)
	JavaScript设计模式

css:
   CSS权威指南 (第3版)
   精通CSS
   Css禅意花园
   图解CSS3:核心技术与案例实践 (大漠的书,必看。可以当成字典。)

总结

现在我每天依旧坚持学习刷咨询刷优秀博客,不管每天上班还是上课,我都会抽时间看书而且写博客。

我现在觉得写博客是提升水平的最好途径。因为你只有输出才会有积累。

初学者最好建立自己的技术博客,当你学到一定程度时你会发现自己走过的路有多美。

Table of Contents