回顾
立夏,广州。今晚回来的路上,在学校的草坪上发现许多萤火虫,眨着眨着,点缀这个初夏的静夜。上次见到这番画像的时候,已经是一年前的事了。时钟转得飞快,眨眼自己也到了毕业的季节,总想要装一下文艺。无奈毕业设计甚是郁闷,苦如鸡肋。三心两意之下,便关注起了微博上前端圈子里的面试之争。其实之前也有诸如价值之争等话题,但这次的话题引起的涟漪更像是一石起十浪。大牛们的话语都很有意思,观点也是百家争鸣,看得我这个菜鸟也思考良多。
加之又到了实习校招的季节,看着那些熟悉的题目,想想自己这一年来在前端开发这条道路上,又收获了些什么?于是写下这段文字,权当总结,亦作抛砖引玉,希望自己的经验能帮到他人。
懵懂初开
去年三四月份的那段时间,正是实习求职的时候。当时真真切切的就是一枚前端菜鸟,知道前端是啥,想往前端发展。于是拿着几个CSS属性就当令箭,一头扎进面试堆中。甚至连如何清除浮动,为什么要清除浮动都没有弄清楚,又如CSS选择器的权重,基本CSS Hack也是云里雾里。于是挂彩多次,回头恶补了一番CSS基础知识,首先从CSS最基础的属性开始,一步步来,记忆最深刻的还数选择器权重,然后到定位,浮动布局的学习。这段时间特意去背了经典的三栏圣杯布局,淘宝的双飞翼布局,当然这都是临急抱佛脚的节奏,就是知其然,不知其所以然。但也是迈出的第一步,起码知其然了,在这个阶段,就像winter大大说到的position属性,我也了解到其中三大属性的表现。于是我基本能混过笔试这一关了。
浅略皮毛
能过了笔试,自然就到了各种面试的阶段。这个时候主要就开始学习javascript了,一开始的时候也都真是无知者无畏的姿态,知道那么几个基本语法,基本类型就以为不过云云,与之前写的C#差不多嘛。其实当时让我写个右下角的缓动弹窗都能捉急不已。其实我的学习路线也和笔试题面试题保持一致,那就是问到什么不懂,就去学什么。那段时间就开始了解一些JS的基本功,诸如DOM操作,数组的运用,自然还去背了yahoo的14条和看了34条前端性能优化的建议等等。同上一部分提到的,也是知其表面的状态。现在明白当时为啥一路碰壁了,那就是没有纵云梯也想攻城池。
这提到的两个阶段,我之前也写了相关的文章来记录自己的捉急之处,有兴趣可以去翻翻。
开始入门
其实这个Title想用知耻后勇的,但想想,仅是知耻,这个勇还真是谈不上,于是还是用开始入门这个更朴实。过了实习校招高峰期,奋而开始恶补。其实当时自己犯了大跃进的错误,就是总想一口吃一个大胖子,打算三两天就能突飞猛进。很盲目地囤积了一堆JS相关的书籍,从红宝石书到犀牛书,从蝴蝶到猫头鹰,加上图灵那一堆蓝皮书。反正是与js相关的都先搞回来再说。于是囫囵吞枣,效果适得其反。都是东扒一把,西倒一犁,形成不了自己的知识体系。很多不是那个阶段自己能懂的东西都硬着头皮搞,搞到很难堪。但这段日子,也让我粗略了解到前端JS的整体脉络,为以后做下了准备。这里记忆最深刻的是什么是闭包?当时还特意去打印了博客园汤姆大叔的一系列JS教程,陈皓的那篇闭包文章,还有犀牛书里的那段介绍。结果愣是搞了一个星期还是似懂非懂的状态,真是令人捉急啊。虽然现在也不敢肯定自己真的懂了闭包,但起码我是明白了该如何去使用。
在经过一段时间的恶补之后,算是有点基础知识了,于是各种自虐,就是去找各色各样的笔试面试题来做,试试自己的斤两。但结果总是不如人意,俗称自己打脸!但也积累了不少知识。
略知一二
秋天到了,大雁南飞了,小学语文书都喜欢这样写。去年秋天,也就是校招开始的时候,自然我就开尽引擎,各种冲笔试面试。之前的准备,可以让我过了各种笔试阶段,但很多时候都会在面试的时候挂掉。那时总是觉得莫名其妙,为啥总是会挂掉呢。后来明白,应该对各种知识更深一步的理解了,就是开始尝试刨根,然后散叶。于是混迹于各种著名的前端论坛,UED,大客之流的,看看人家是怎么说怎么写的。我读了一丝的那些年一起清除过的浮动,有点明白了overflow:hidden;和clear:both的不同之处,通过W3help大概了解了BFC和hasLayout是怎么一回事,在zxx的博客里隐约明白了float和absolute的奇妙之处。
在js方面,也尝试阅读一些国外的PDF,了解一些更深入的东西。像Javascript Pattern和Javascript Design Pattern等,尝试写一下单例,工厂,观察者,订阅这些所谓的模式,看看人家所讲的所谓深拷贝和类式继承。虽然是依葫芦画瓢,但也让我体会到了JS的神奇之处。自然HTML5和CSS3也是我的囫囵吞枣范围之内,看了CSS3实用指南,起码知道了animation是怎么写的。不知天高地厚地去参加完一个codeJam回来之后,对Nodejs和websocket之流也想玩一下。在大学最后一个暑假里,自己是最高产的。在实习的同时,用笨拙的代码也写了一个Node
Express加MongoDB驱动的小小站,和子杰那家伙也尝试了中兴的比赛,就是一个PhoneGap的H5 RSS阅读器。遭遇PhoneGap各种不给力之后,尝试一下AppCan,也鼓捣出一个半烂尾的H5应用出来,居然也可以拿到新浪微博的应用尾巴。确实鼓舞了我自己的士气。
努力学习
在一次面试之后,我也开始接触一些前端MVC相关的知识,诸如Backbone和Angular。也了解一下模块化的RequreJS和SeaJS。这个阶段的心态开始端正了,发现自己真心是一个小菜鸟,太多东西需要学了。也明白自己的水平处于哪个阶段,需要学习些什么了。没了以前那种狂买书狂看书的盲目,而是有选择的细看每一本书,完整地读了一遍第六版的犀牛书。深知自己的代码功底实在是太弱了,直到现在也是,写出来的代码毫无美感可言。于是开始模仿一下github上别人的代码,学习写一下OO的JS。说到这个OO,突然想起当时自己还浮躁地过了一遍数据结构,然后各种基本的排序算法用于面试。发现其实那根本不是我的范畴,于是渐作罢,只理解一些简单的思想。
层叠之美
原谅我抄了一丝那篇博文的词语。层叠之美,正是CSS的奇幻之处。很庆幸现在的组长嘉玮给了我一个舞台,让我可以发挥。十月底入职之后,发现自己的CSS功底其实还真是很薄弱的,以前掌握的纯粹的是为了笔试面试,一到实战就各种暴露了。之前一直在学JS,忽视了CSS的深入。这个阶段就更多的是页面重构的工作。记得当时面试,背了PNG,JPG和GIF的区别和用处,在实际切图中才发现,自己之前多么的二逼。所以说绝知此事要躬行,很多之前背下的前端优化理论,在工作中终于可以一一体会了。从入职时候PS都不懂几个操作的菜鸟,到现在熟练的运用PS切图输出,自己也逐渐明白该如何对图片质量进行控制。组长的指导也让我明白,很多理论看上去很美,其实归根到底还是需要根据业务环境进行权衡。不是说那些大大们鼓吹什么,就应该怎么。然后经过IE6到IE9的洗礼,自己对兼容性的处理水平也提高了不少。从一开始会犯下忘记CSS
RESET,到现在的可以比较淡定地处理IE6的奇葩臭虫,感觉到CSS真是不可小觑。比较遗憾的是,自己遇到问题的时候,没有很及时地总结出工作环境中遇到的IE8以下BUG List,导致现在回头看,总是觉得缺少些什么的感觉。
在这期间,自己也尝试了AngularJS的实战开发,后端搭配的是PHP。后端很瘦,就是一些DB的CRUD,然后respone一段JSON,主要的逻辑操作都在Angular的Controller。这个尝试让我明白到自己对项目代码的整体把握还是处于小白阶段,那就是需求一多,整个代码就像一坨屎。我该是时候在代码耦合,代码重构上下一些功夫了。 然后还大概学习了那本HTTP权威指南,对HTTP请求的有了所谓原理性上的认识。
继续前进
作为一枚前端,我要学的东西实在是还有太多了,特别是V2EX里潜水多了,容易自卑(笑~)。从HTML和CSS上,如何更好的语义化,如何写出优秀的HTML结构,如何做到更好的响应式设计,如何做到更好的维护性和拓展性等等,真是十只手指都数不完。在JS方面,怎样才能达到更优的页面性能,怎样才是更合理的DOM操作是当下业务要面对的问题,而很火的诸如JSHint,Grunt,PhantomJS等等都是需要保持与时俱进的了解。像公司后端主要使用的Python也是自己很感兴趣的方向,也需要慢慢学习。
总的来说,经过这一年的学习和工作,让我变化最大的就是知道自己的水平处于前端开发里的哪个层面,然后对于各种信息流也懂得加上自己的思维判断而非当初的盲目。前端这一行,水很深,要努力更要谦虚,要自我鼓舞不要妄自菲薄,加油!
分享到:
相关推荐
MSTR BI前端开发是关于MicroStrategy商务智能工具在前端报表和分析应用开发方面的知识。MicroStrategy是一套商务智能(BI)软件,主要用于企业级报表、数据分析、报表生成、数据挖掘和监控等业务智能服务。在MSTR BI...
另外,WebVR、WebGL等技术让前端开发进入三维和虚拟现实领域。同时,随着服务端渲染和同构应用的流行,前端和后端的界限将更加模糊。 曹刘阳在讲座中提出的修炼之路可能包括持续学习新技术,提升代码质量和可维护性...
Mac 下常用前端开发软件环境安装 本文将指导用户在 Mac 环境下安装常用的前端开发软件环境,包括 Sublime Text、Java SDK、Tomcat 和 Navicat 等。 Sublime Text 安装 Sublime Text 是一个功能强大且灵活的代码...
这本书旨在为那些想要进入或已经从事前端开发的人提供专业学习资料和工具资源,同时也适合管理层、CTO、教师和招聘者了解前端开发的实践现状。内容涵盖Web技术基础(HTML、CSS、DOM和JavaScript)以及基于这些技术的...
### Web前端开发经典面试题详解 #### CSS选择器的理解 1. **问题**: 下面有关CSS选择器的说法错误的是? - **选项**: - A. `.intro`---选择class="intro"的所有元素。 - B. `#firstname`---选择id="firstname...
前端开发中,命名规范对于代码的可读性和可维护性至关重要。前端结构组织与文件命名规范要求同一项目中的代码组织结构清晰,同类型文件归类到相同的文件夹中,文件命名规则须统一并且要有意义。HTML命名规范要求HTML...
"WEB前端开发十日谈" 本文对WEB前端开发进行了深入的探讨,涵盖了前端开发的定义、价值体现、岗位边界、技术发展历程、职业发展道路等多方面的问题,并对前端工程师的价值和定位进行了分析。 首先,本文对WEB前端...
然而,仅靠自学进入前端开发可能会遇到挑战,如缺乏系统性的学习和实践经验,这可能影响到项目的进展。企业内部的不规范开发习惯,如代码管理混乱,也可能阻碍前端技术的健康发展。因此,专业的培训和对W3C标准、...
在本资源"CSS前端开发技术视频8.zip"中,我们聚焦于前端开发中的核心技能——CSS(Cascading Style Sheets)的深入学习。这是一系列视频教程的第八集,旨在帮助开发者提升对CSS的理解和应用能力。以下是本集视频可能...
vim-config, 出色的前端开发vim配置 web开发的 Vim配置 特性只有一个文件,你不需要运行任何安装脚本。与Git集成。grep/ack集成。自动语法和codestyle检查。智能自动完成。Tweeks,便于导航。Fragment 。完全文档化...
本文将从 Python 在前端开发的实践、开发困惑、前端技术演进、单页面应用模型、前端框架等方面对 Python 在前端开发的技术点进行详细的解读。 一、Python 在前端开发的实践 Python 可以用来开发前端应用,例如使用...
《GhostPig:前端开发的全能伙伴》 在数字化时代,前端开发扮演着至关重要的角色,为用户提供了丰富多彩的交互体验。在这个领域中,各种开源库层出不穷,它们为开发者提供了便利,提高了效率。今天,我们要深入探讨...
【标题】中的“尚硅谷前端入门html+css零基础教程”指的是一个由...总的来说,这个教程为想要进入前端开发领域的学习者提供了一个全面且实用的学习路径,通过理论学习和实战演练,帮助他们建立起坚实的前端开发基础。
总的来说,这份“百度、淘宝、网易、搜狐前端开发面试题集锦”涵盖了前端开发的全方位知识,对于想要进入这些大公司的开发者来说,是极有价值的参考资料。通过深入学习并理解其中的题目,不仅可以提升技术水平,也有...
### 前端开发者指南2017 #### 前端开发者是什么? ...对于希望进入或已经在前端开发领域工作的专业人士来说,这本指南提供了丰富的资源和支持,帮助他们跟上技术的发展步伐,不断提升自己的技能。
JavaScript是前端开发中不可或缺的一部分,尤其在创建动态和交互式用户体验方面发挥着重要作用。这个"1500个前端开发常用JavaScript特效.rar"压缩包显然包含了大量的JavaScript代码示例,旨在帮助开发者提升他们的...
接下来,进入前端开发的学习。nc cloud ncc的前端开发涉及到HTML、CSS、JavaScript等基础技术,以及React、Vue等流行的前端框架。你将学习如何使用这些技术创建用户界面,理解组件化开发思想,以及如何进行状态管理...
前端开发是指创建和优化用户在网站或应用程序上直接体验到的内容和功能,它主要涉及Web前端开发,即网页的设计与制作。随着互联网技术的发展,网页制作逐渐演变为Web前端开发。在早期的Web1.0时代,网页主要是静态的...
在前端开发过程中,调试是必不可少的一个环节,尤其是在面临兼容性问题时,如处理IE浏览器的兼容性问题。本文将详细讲解如何在Internet Explorer(IE)中进行JavaScript(JS)的调试,通过图解的方式帮助开发者直观...
该课程面向零基础学员至具备一定基础的开发者,通过系统化、模块化的教学方式,帮助学员全面掌握前端开发的各项技能,从而成为前端高级架构师。 #### 二、课程结构与内容概览 课程分为十一大专题进行系统讲解,...