2014记录+闲扯+总结-2015计划
之前写了一篇2013总结-2014计划 http://www.cnblogs.com/Bond/p/3498264.html 草草地谈了一下2013做的一些项目,以及自己的一些感想,还列出了2014的一下计划。可以计划完全没赶上变化,最大的变化就是我转了前端,脱离了微软阵营。电脑手机也都准备全部使用Apple的,因为我是一名前端还是做移动端的(很多前端都是mac党,移动端必须iphone才给力)。
匆匆的那年-2013
那年我刚毕业、那年我还在成都、那年我还在做NET、那年女朋友还没毕业、那年就是去年2013年,现在我已经毕业一年多、北漂到了帝都、转做了前端、女朋友也毕业了,一切都发生了很大的变化,2014即将过去,闲来写写总结,再次计划一下2015。
匆匆的那年-2014
2014年年初女朋友只身一人到帝都实习,我非常不放心,本想一起前往,但是担心她去北京不适应就想回成都,所以就等她去北京适应后确定不回成都,我再从成都辞职然后去帝都和她会合。之前也想劝她不去北漂,北漂不易,北漂我们要放弃成都的所有朋友,可否选择留在成都,不去北漂,可是没能阻止她,毕竟她要去的那个公司还是不错滴,我也就支持她的选择。事情的发展还算顺利,她一人到北京去公司实习,自己坐飞机去,打的到住的地方,公司免费提供住宿,去公司也遇到一些好心人的帮助,在北京一切都顺利。她去北京一个月之后基本稳定了,于是我就准备辞职,在成都和同事关系处得很不错,公司也有技术大牛大家一起共事一起交流,自己成长特别大。为了女朋友,必须要离职,领导极力挽留,甚至提出说给我女朋友在成都找个好工作,叫她回来,叫我不要走!!!也许她只是说说而已,再说我肯定不能领这个情!!!我的理由他们拒绝不了。提了离职申请,就帮着招人接受手里的项目,主管和我一起去面试选人,面试了N个人,勉强找到了一个合适的人来接手我的工作,让我感觉到找人好难,找一个技术好点的更难。公司事情处理完了,就处理成都的东西,在成都大学四年,工作一年多,五年多还是有很多东西。把以毕业时舍不得卖的书全都卖了,把一些带不走的用品都送给以前的基友,把爱车挂网上卖了,把很多舍不得丢的东西全都丢了,然后把棉被衣服全部邮寄到北京(PS:我选了邮政,选德邦物流好点),一些东西寄回老家,自己带了两大行李箱做火车到了北京,女朋友来北京西站接的我。一起坐地铁回家,那是我第一次来北京,第一次做地铁,倒了好几次地铁,最后坐13号线,感觉好奇,是在路上的,还能看到外面(PS:成都的地铁都在地下)。下了地铁,女朋友帮忙推着行李箱回她住的地方。她公司提供的宿舍环境很一般,她自己就出来租房子住。刚开始也没什么钱,就租了个很一般的房子,是和别人合租的。房东把套二隔断成了套三,我们住的那间刚好是客厅,另外两个是一男一女,还好他们人都不错,除了不爱干净其他都好。
回到女朋友住的地方,她一打开房门,我都看呆了、里面一个过道,右边是进门是厕所,紧接着是厨房,左边就是我们住的卧室见图,整个房间只有六七十平米。结构如下图:
厕所的灯必须一直开着,不然里面过道就是完全看不到,所以厕所的灯都是24小时着的。女朋友进去打开房门,我在一看,更是有点受不了。之前开过视频看过房间,但是真正看到的时候我还是惊讶了,太小了,房子还是和别人合租的,1400一月,还那么小!想想我在成都那个时候1500租个120平米的套三,三个人住,我一人住一个带独立卫生间的主卧,几十平米,感觉是多么的幸福。来帝都后……房建除了衣柜、床、一个小柜子,剩下的空间中间放一张小桌子,我们两个坐下吃饭都很挤,可想空间有好小!帝都就是帝都!!房价就是不一般贵,住的地方不是一般的小。1400在成都都可以租个不错的套二了,现在涨了点价,但是1500租个八九十平不错的套二是没问题的。房间很小,住两个人很挤,飘窗只能容下一个人在那里上网,另外一个人必须在床上,我们两个人蜗居在一个小房间里。放好行李,整理好房建,我们住在一起为了节约房租,我也正式开启了我的北漂之旅。
从成都辞职后就立马来到了帝都,来帝都后没急于找工作,而是先负责在家里收快递。之前女朋友一个人来北京基本都在外面吃饭,厨房用品,很多电器都没买,厨房没有天然气只能自己买电磁炉。开始一周我就负责买东西收快递,并且在家里学习。看2013年的总结就清楚,我已经把一半的精力放到了前端,一半的精力放在net,因为那个时候我们已经意识到了做net不是长久之路,看不到希望,所以自己就逐渐往前端走,自己也很喜欢做前端。在帝都开始还是准备找net的工作,准备工作很多也放在net上,家里待了一周,第二周就开始改简历,投递简历,并且筛选公司去面试。面试了好几家公司之后,让我深深地意思到net确实不行,决心转做前端,修改简历,再也不找net相关的工作。
为什么放弃NET转做前端
第一net让我看不到未来,第二我喜欢前端,前端有基础还行。我的园龄虽然只有2年7个月,但是我在大学很早的时候都已经上博客园了,博客和微博都关注很多net界的大神。也经常看到博客园上很多发:"net何去何从","为什么做net没有java值钱"、"为什么net都不受大公司爱戴"之类的文章。我深有感触!最主要是发现很多人都放弃net最后做了java,很多大公司也都转用java,最直接就是各大招聘网站上15K+的职位NET少得可怜,可是java、php、前端、C、C++一大堆,不管怎么说各种招聘网站的数据就是最具有说服力的。当你做了很多年net之后,你要换个工作,你发现,可供你选择的职位好少,可供你选择的大公司好少。说多了都是泪啊,很多人还一直死咬着net不放,极力的去抨击别人,说net怎么怎么地好,哎!net是好,c#语法很先进,java语言很戳,可是你做net就是很难拿高薪,这是铁的事实,因为不是人人都是老赵!博文不发到首页,看到的人不要喷我,这只是我个人感想。在帝都面试了好几家net的公司,发现只有几家能够开得起价的(这个价不高就是10K+),可能我面的公司的原因吧,帝都应该还是有很多土豪公司用net,只是我没遇到,反正各大招聘网站上的数据很少,而且要求很高,作为才毕业不到一年的人家直接简历都不收我的,我面的公司都不是业界出名的公司。我再搜索前端,薪资不断高出一截,而且要求反倒低很多,基本上国内知名公司都招前端。在成都的工作时候我基本上承担了全部前端的工作,自己也喜欢前端,对前端还是有一定的认识,基础还是不错。所以决定一心做前端,找前端的工作。其实我也做过java,熟悉的就是struts2框架,用java做过一个比较大的网站(五人开发四个月),当时还是我带队,2013总结有说到。不过java其他的都不熟悉,不敢直接转向java。其实还是没信心找java的工作,我对自己前端还是有信心的。
决心做前端,就找前端的工作了。有朋友推荐腾讯,新浪之类,简历给了可是没回应。不过这里还是感谢极力给我内推的朋友,感谢你,我的好基友。没回应是我预料之中事情,因为之前自己不是专业做前端的,而且简历上也没有太多和前端相关的作品,前一家公司也是不知名的公司,想要让人家认可我是很难的,其实基本上就不可能。但是基友认可我相信我,是因为我们很熟,平时经常交流技术,不用看我的简历,也知道我几斤几两。因为之前的公司完全无亮点,简历作品也无亮点,看我2013的总结就知道我们的经验了,内推这条路我基本不考虑。 自己只能踏踏实实走简历投递这条路,希望能够找到认可我的公司。我虽然不会切图,但是我学过ps、flash、maya、3dmax(不要问我什么专业,我不告诉你,^_^)。虽没专业做过前端,但是对js这门语言的了解,还是不错的,看了几遍《高级程序设计第三版》,《dom编程艺术》从成都到北京的时候,基友还送我一本《Javascript设计模式》,还看了很多很多前端相关的博客文章,自己也收藏了一大堆,也关注了一大堆业界牛人。曾经一直画大量精力去研究前端相关的东西,感觉自己基础还行。CSS在大学的时候写过一两个项目,看过两本书,有点基础,不过CSS代码还是写的不咋地。很多公司一看我没做过前端,对我就完全不认可。不过最后还是找到了认可我的公司,他不担心我不会切图,不担心我没用过神马框架之类的。
前端现在又有很多方向,当前很多公司都有移动端经验的要求,而且将来移动端又是一个趋势,PC端基本做烂了。我比较喜欢新的东西,喜欢没做过的,自己没用过的,这才有挑战,才有新鲜感。所以后来我选择了去做移动端,选择了一个移动端的职位,去公司也是属于无线组,专做无线先关的业务,自己就踏上了移动前端这条路。关于移动端坑实在太多,我就不扯了,一时半会扯不完,一切都是经验的积累做多了就知道了,坑踩多了就好了,轮子多造点。还有几点很重要:一定要对自己高要求,争取把程序做到最好,能够优化的一定要做优化,能有更好的实现方式一定用更好的,不管代价再大都要去做,这样你才会有提升,如果仅仅满足于需求的实现你将没啥长进,或者说长进很慢,一定要对自己高要求。
关于面试:技术细节很重要,大公司面试扣的就是细节,聊的就是细节,不太关心你用过什么框架之类的,所以语言基本功很重要,JS功底一定要扎实。我没啥CSS工地,人家也就问了我基本的,感觉应该还过得去,CSS多看CSS权威指南,好好去领悟。
2014的事情也说了一大堆了,该扯的也扯了一堆。说说自己做移动端的感想吧,也算是做个总结
刚开始做前端,移动端,我连切图都不怎么会!自己就在网上找了一些教程学习。然后再熟悉下ps的快捷键,不想把时间浪费到切图上,能够用快捷键操作的一定用快捷键,把切图的相关操作做都熟悉一下。我想说:切图其实还是有技术含量的,很多前端切图效率很低。
到公司第一个任务就是做一个推广页,页面要求适配PC和移动端。移动端在安卓和ios各有要求,公司有相关app,分别有安卓和ios版本。我们的要求是在公司安卓app(我司的)、安卓浏览器、安卓微信、ios浏览器、ios微信、ios app(我司的)都应该有不同的展现形式。页面就是一个页面,只是一个页面要做上面说的所有设配的适配,总共7组组合分别做不同的控制。我刚开是做就有这么多要求,挑战可想而知!过程比较傲曲折,不过最终在老大的指导下最终顺利完成开发测试上线。
说一下公司的团队:无线组加上小组老大总共四个人,其他前端属于pc组,pc组有自己的leader,我们小组老大有着多年的移动端经验,所以不会直接向他请教。代码版本管理我们使用git,前端有专门的发布系统。git开始我用命令行,pc组也是用命令,结果我们老大喜欢source tree,我也就用了source tree。不过现在决定换用命令行,因为老大已经离职了%>_<%!!!(原因稍后再说)! 我们后端是没有前端的权限的,每次开发我们只需要给他们分支名和demo地址即可,我们也没权限改后端的代码。每次做完demo直接给后端我们本机的demo地址,我们自己本机模拟数据,自己本机搭建一个环境,可以选择php+Apache,也可以php+nginx。其实前后的怎么配合各个公司都不大一样,不过对于我们做过后端的人来说这些都不是问题。我本机环境先用php+nginx后来换成php+Apache,以前做过java和net对服务端还是比较熟悉,不过搭建环境的时候还是折腾了下,各种配置,稍有不慎就不对。 后端看到的都是我们的demo地址,然后根据demo套页面,转换成JSP页面,这样往往后端后把页面套错,经常出现莫名其妙的情况,所以我们就申请了后端的权限,必要时自己去改jsp页面。对于前端发布系统我就不多说了,这个也难得扯。以前在成都一家小公司,来这个公司。感觉公司这些东西都挺高级的,用上git,再也不是svn、tfs了。前端也有专门的发布系统,项目上线后代码的压缩合并系统直接帮我们做,而且把前后端的职责彻底分开。公司的产品、测试、研发、设计、前端、安卓、IOS这些都是专门部门或者小组 。公司在业内还是算个半知名的互联网公司,开始我还是非常喜欢公司滴,不过现在貌似公司要夸了,形势很不乐观。所以我们老大都走了,我们被划到PC组,结果PC组的老大也要走了!!公司还裁了很多人,让我们不满一年的新人情何以堪!!
最开始做了几个活动页,都是要求多设备适配的,自己看他们以前做的页面,并且经常翻看各个大神发的博文,自己摸索着尽量把页面做到最好,老大也偶尔指导下我们,不懂也可以主动问他(他个人性格吧,一般不主动和我们交流),自己经常查看和学习淘宝、小米京东、等大公司的H5页面,看他们如何做适配的。不断地摸索、学习、积累移动端的相关经验。后来我跟了一个项目组,直到现在也一再在做这个项目相关的业务,该项目是做微信公众账号开发的,也就是我们做的页面基本上只在微信里跑。
经过了半年的摸爬滚打,熟悉了GIT、熟悉了Grunt、熟悉了LESS、熟悉了移动端页面各种适配(每次对iphone4s这种小手机做特殊处理,真是泪啊,还要针对不同分辨率做适配,都用rem或em)、各种CSS3的兼容性问题(一般上caniuse.com 这个网站上查询相关兼容性问题),各种js的在手机端的坑,特别讨厌小米低端机和三星低端机以及s4这个高端货,最喜欢IPhone,不过IPhone还是有各种坑滴。基本上能用CSS3 实现的效果都用CSS3,尽量不用图片。CSS3的动画,特效、选择器用起来就是爽;工作中还用到了canvas绘图做一些图表展现,对canvas有了一定解。工作的时候自己也造了很多轮子,很多东西都自己去实现经量不用任何框架或者库。有时为了最求更好的实现方式,花几倍的正常的时间去做,每次这样都觉得很值,因为那种感觉就是好。移动端高分屏适配裁切几种分辨率的图片1X 2X 3X,用CSS3 media 来控制加载,图片压缩(https://tinypng.com/),有工具,不过那个网站压缩率更高。对于移动端的优化和设备适配基本上可以发好几篇博客来说,我就不想扯了,在google上一搜一大堆。
针对用户体验上的优化总是要付出一定的代价,我所在项目的产品基本上没有什么交互意识,给我的都是原型图和设计稿,具体怎么交互还得我自己定,这个给了我很大的发挥空间。每次我想用最好(个人感觉用户体验最好的)的方式去实现,如果产品说怎么更好,这个方式是更优的用户体验,我一定会经最大努力去实现。很多都具有挑战性,做出来还是有成就感的。我们不能仅仅满足于简单地把功能实现就OK了,这个太没意思,太没追求了,对于自己技术长进不利,还是那句话对自己高要求。
大半年的积累
多设备适配的页面,PC、平板、移动(推广页、活动页)
微信公众账号相关的开发
熟练使用CSS3动画、特效、选择器、盒子模型、布局、media query,了解各种设备的兼容性
用上了less,看了bootstrap的less,参建了很多,现在基本上算是用熟了。
js用上了zepto放弃了jquery,不过大多时候自己查看zepto的实现,套用它的实现,自己用原生的写,能不用它就不会用它,自己写的插件全部都是原生js,不依赖任何库
用上了高大上的canvas,业务有需求,自己就学习canvas api,api简单,难的是各种数学公式和算法以及绘图的很多技巧
用上了grunt,grunt没什么高级的,研究研究就能用,其他的FIS,gulp也都是看了看没用
也做了Hybird应用,其实就是在我司app嵌套了我们的h5页面,有客户端开发人员打包进去,开页面就是开webview、一些接口调用原生app,没啥高级的,最好需要话心思。
抽空看看了JQuery的源码,曾经一直在看,只是没找到感觉,现在基本上找到感觉了,对jqeury的data callback Deferred ajax 事件都大致清楚了,其他的以及最复杂的sizzle没有看
zepto和backbone的源码就简单多了,只要你基础好,再加上你就愿意就研究,一定能看懂大部分。看源码是吸取它们的精髓,设计思路和相关实现技巧。接下来继续研究jqeury或者MVVM的实现
SPA工作中也有遇到,为了更好的体验我自己把页面设计成spa了,整个应用比较简单,不过还是体验了一把SPA。过度动画,视图切换、路由自己都弄了一下,感觉不错。
关于性能优化,这个可以扯的就太多了,基本上做到做心中无招胜有招就好(很多优化形成一种意识,而不是每次都要刻意去寻找可优化的点)。
大公司喜欢提前后端分离,前端工程化、工业化、自动化等相关的东西,由于我司原因没能用上比较遗憾,希望以后有机会能够接触。
今年自己买了一些书,公司也有很多书,自己买了《图解CSS3》《Javascript框架设计》《CSS权威指南》《响应式web设计》《DOM编程艺术》以前还买了几本书,这些书都看了几遍,最值得细细品味的书就是《Javascript高级程序设计第三版》《CSS权威指南》。公司有很多书籍,都是各种指南,参考书一类的,还有关于angular backbone相关的书记没多看,毕竟都是讲框架使用的,干货不多。自己也下载了一大堆的js相关的书籍。什么js语言精髓,悟透Javascript,Javascript权威指南,Javascript王者归来、编写高性能的Javascript、大话设计模式、大话数据结构、…………,有空的时候看看,在地铁上的时候就看在慕课网 上下载的视频 关于canvas svg html5 hybird的。推荐D2值得看看。github随时保持活跃,把自己业务中能够分离出来的组件都放上去。现在也放了,不过目录较深,都是给自己看的。
nodejs以前还用了下,今年没花精力去研究,但各大公司貌似都对nodejs都很有兴趣,用到的时候再研究下。
最后总结2014年发的几件大事:女朋友来帝都工作,我也辞职来帝都、转做前端、做移动端、女朋友毕业了、公司发展不行了大量裁员、老大也走了、年终发不发还是个事(这是个大事)。
展望2015
学好技术、原生JS,DOM
扩大交友圈子
准备换个好的公司踏踏实实工作和学习(现在的公司已经彻底不行了)
研究MVVM很早都用过了,一直没去研究内部实现细节,来年好好研读一番;继续研究JQuery看那神一样的代码和设计思想。
把握更多的js技术细节
CSS技术更上一层楼
研读zepto、fastclick、underscore、backbone等等……基本上看过大概,没有很仔细地去研读,自己积累也不够,看着累啊!
SVG这个东西来明年一定好好研究研究
Canvas也是,好好研究研究
前后端分离,前端工程化
买好书,多看书,技术无关的书也多看看,涨点情商。
经常锻炼,骑车是丢了,有机会买辆山地或者公路自行车骑车上班。不过尽量每周去打羽毛球,把羽毛球技术练好,除了体力其他都有待练习;有空去滑滑雪,爬山之类的。
周末和女朋友到处去吃去玩
学好我的摄影技术,买了单反,可是技术还没练好;
和女朋友出国旅游。
攒钱,为以后买房结婚做准备。
多参加各种程序员的会议,去涨涨见识,多接触圈内的大牛们;继续关注着前端的最新动向(其实一直关注着那些大牛们就知道了)。
在github上发布自己的一些东西
有空多写写随笔,记录学习过程
本文地址http://www.cnblogs.com/Bond/p/4183170.html
感概颇多,先扯到这里,以后再慢慢补上……