前端这条路怎么走,作为一名后端er,说说我的见解
近期都游荡在各大群里看大家的讨论,经常看到关于程序员生涯的一些讨论,颇有感触,最近的国庆的确过得有些堕落,都没怎么更新,仔细相信还是应该分享点经验给大家的!想必大家都经历过面试,这是进入一家公司的必要门槛,面试官总会问“你的职业规划是什么”,那么你怎么回答? 技术经理,项目经理,架构师,有时候这些回到不是你想到的,而是你身边的人说多了,就脱口而出。
我们为何需要职业规划,我在之前的文章中有说过,我们程序员不可能写一辈子代码,我们不是在美国,在美国你就算50多少,60多少也能很有底气的写代码,但是似乎在中国,你干到40岁还在写代码,也许会被人瞧不起。见过很多30岁不到的程序员,会因为这样而困惑,但是人生必经年轻,很多事情值得努力
每次有人说迷茫了,大多的原因就是自己到了瓶颈,不知道该如何突破,不论你是FEer还是BEer,都会这样,技术这个东西只能慢慢去摸索,去查阅国外文档,看源码, java或者js,都一样,这个时候你付出的努力也许是别人的10倍,小编我在一个QQ群中,成员大多都是刚毕业的,或者还在学校的,极少数有个一点工作经验,那些人,很努力,对技术充满热情,整个国庆,没有一天是停下来的,都在讨论问题,有时候夜间出来嘘嘘都能看到手机qq群里还在讨论着,每个人都有过这样的热情,当初的我也是一样
好吧,好吧,今天我们不谈后端,聊聊改如何提升自己的前端技能
初级前端:
倘若你只是想学好JS的一些简单技能,那么预解析、作用域、作用域链、|| &&、原始类型、引用类型、闭包、for循环、多重for循环、递归、原型链、继承等等,这些使用原始javascript来写的代码,必须会,曾经我写过纯js代码,不用任何的框架,这样,非常锻炼人,而且纯js在未来非常持续,据说微信小程序就是如此
这些技能必须学会!静下心来慢慢写,慢慢实现,慢慢去了解,比如你用一个礼拜的时间弄懂“this”这个用来干嘛的,不要问我为何要用7天,7天的时间理解this很正常,你可以多些很多代码来了解他,去查阅相关资料,this,在任何面试中,我是必问的,这些你不学,永远入不了门。好好打好js基础,这个才是最重要的
高级前端:
回调函数,绑定,js面向对象,封装、异步ajax、学习算法、设计模式等。这条路非常长,不是一口气吃成胖子,对于这个,没有捷径,只能通过自己的努力去学,去做。最后你在去看一些框架的源码,比如backbone,angularJS等等
技能拓展:
如今的前后端调用,不仅仅是HTML与后端,也有手机端,所以,了解HTTP的协议是必须的,还需要了解一定的后端技能,比如nodejs(这个算是前端了)、php、python、java等等、只需要了解就行,当然你如果要做全栈,可以都学,只有时间充足。
HTTP,restful,设计模式,算法,这些在如今互联网开发中都会用到,而且是通用的,不论是手机端还是HTML与后端交互,比如一个图片上传,同样一个接口可以同时被js,android还有ios调用。
小编我没在这里没有提到各种JS框架,因为小编我也不太会,我仅仅只会的jquery,backbone而已,当然我没有说哪个重要哪个不重要,搞懂了,其实都一样,都通的,比如后端开发人员精通了struts后,再学习springmvc后那就简单的一比,因为大部分框架的核心都是差不多的,学会思想,学会如何运用即可。
另外,作为一名前端,要关注新技术,移动互联网发展如火如荼,甚至几天就能出一个js框架,你可以不会,但是需要关注,可以去国外相关网站订阅一些有用的资料,每天会以邮件的形式发给你,虽然是全英文的,但是也值得一看。
像CSS/CSS3, HTML/HTML5这个我就不多说了,玩前端是必须会的,浏览器兼容啦,响应式布局啦,等等
下面这段引用我远在美国的王组原话:
不论你是前端还是后端,总会有一些问题是你需要考虑的,比方说:
不管开发平台,开发语言,框架如何变化选择;不管你是选择JAVA/Servlet, Ruby/Rails, Python/Django, NodeJS/Express, 你都会面对一些任何平台,任何语言,任何开发都会面对的问题。
0. Logging system怎么做,什么样的信息需要被log,用什么工具去分析log。
0. 分布式下的application session 如何管理,store in memory or db? session sticky or non sticky?
0. Services层的粒度如何划分,现在流行的microservices粒度划分到最小,那么service与service之间的通信怎么做
0. 通信问题又牵涉出最基本的IO,blocking IO, non-blocking IO, asynchronous IO.
0. 一套完整的业务流程可能要经过多个services, 这就牵涉到跨服务的事物问题,如何保证事务的一致性,强一致?最终一致?
0. DB 要如何部署才能应对高并发,高性能,还要保证容错,可扩展。如何应对多数据源,如果做到多数据源对sevices透明化。
0. RDMBS OR NON-SQL?
0. DB cache怎么做,热点数据缓存还是全部数据缓存,缓存服务器会不会成为性能瓶颈,分布式缓存策略如何做,如何保证可扩展性?
0. 大型网站自然也需要引入search。
0. 大数据时代如何对这些数据做挖掘,做用户个性化定制
0. 人工智能?Machine Leanring?
前端技术,高性能个人电脑的出现,多终端的普及,给前端技术也带来了很大的发展和挑战
0. 优化优化再优化,节省用户资源,尤其是手机端要减少通信交互
0. MVC,AngularJS, Backbone
0. jQuery? 有人说过时了,不会用最新的React不是合格的前端工程师?
0. SASS, LESS,BEM,连CSS都要面向对象了。
0. 各种UI plugin.
0. 一次性页面render VS 多点AJAX 互动。
0. SEO
最后要说的,不忘初心!持之以恒!
前端这条路怎么走,作为一名后端er,说说我的见解的更多相关文章
- JDK8之后,在java语言这条路怎么走?
前言 自2017年9月以来,Oracle按照免费的开源许可证(类似于Linux的许可证)提供JDK版本 .从Java SE 11(2018年9月,LTS)开始,Oracle不仅为开源许可下的所有用户免 ...
- 为什么我会选择走 Java 这条路?
阅读本文大概需要 2.8 分钟. 作者:黄小斜 文章来源:微信公众号[程序员江湖] 最近有一些小伙伴问我,为什么当初选择走Java这条路,为什么不做C++.前端之类的方向呢,另外还有一些声音:研究 ...
- 为什么我会选择走 Java 这条路?
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点 ...
- IT这条路,适合什么人走。
今天 ,到图书馆Study,呼,不知道为撒,看到那么多新书,那么多新技术(也不能说是新技术,就是自己没有学习过的技术),特别兴奋,学习的疲劳顿时间就没了,感觉什么都想学,都想据为己有,但是...... ...
- [项目实施失败讨论Case] “凭心而论,在这家公司很敬业的工作了3年多,老板最后给我下的评语,大家都看看吧,千万别和我走同一条路!”(摘自csdn)
[Case] “凭心而论,在这家公司很敬业的工作了3年多,老板最后给我下的评语,大家都看看吧,千万别和我走同一条路!”(摘自csdn) 原文:http://community.csdn.net/Exp ...
- 发发牢骚,觉得走c#这条路,不该太浮躁。
发发牢骚,觉得走c#这条路,不该太浮躁.校园招聘结束了,腾讯,华为,百度,完美时空,网易,阿里,让我觉得.NET很受歧视.清一色的C/C++,JAVA,只有网易有一点.Net的,但是都是非核心的运维工 ...
- Sea.js创始人玉伯的前端开发之路
在Web应用程序的用户体验越来越被重视的今天,前端开发的地位也上升到了前所未有的高度,而随之而来的也有更多的挑战. 为了将前端开发者繁重的工作变得简单,框架应运而生.国内也不乏一些非常优秀的前端开发框 ...
- 我的web前端修炼之路从此开始
看过一篇文章,上面说过要想学习一门新技术,从什么时候开始都是不晚的.但对于一名大四的学生,只会一点简单的网页架构,只懂得HTML,CSS,JavaScript简单的一点皮毛,却怎么也说不过去.但也是这 ...
- 【开源专访】Sea.js创始人玉伯的前端开发之路
摘要:玉伯,淘宝前端类库 KISSY.前端模块化开发框架SeaJS.前端基础类库Arale的创始人.本期[开源专访]我们邀请玉伯来为我们分享一些关于前端框架.前端开发的那些事,以及前端大牛是如何炼成的 ...
随机推荐
- Ext.store.load callback
var paramsReceivable = {}; paramsReceivable.querytext = Ext.getCmp('hiddquerytext').g ...
- Snort - manual 笔记(四)
1.7 Basic Output Snort可以做很多任务, 并且在任务完成后输出很多有用的统计信息. 一些不用说明就可以看懂, 其他的总结在这里, 不过只是一些基本的 1.7.1 Timing St ...
- ArcGis 001270 : 合并数据失败
描述 工具无法将服务所需的数据和资源打包. 如果用于发布 GIS 资源的路径或要向服务器复制的数据的路径大小超出了操作系统的限制,则当您向 ArcGIS 服务器复制数据时会发生此错误. 此路径包括过渡 ...
- Android http 的使用
1.okHttp https://github.com/square/okhttp 2.okhttp-utils https://github.com/hongyangAndroid/ok ...
- 项目管理之道--纪我的新书《PMP项目管理认证学习指南(第4版)》出版并预祝大卖!
新年伊始,我最新的项目管理书籍——<PMP项目管理认证学习指南(第4版)>也出版了,真是新年新气象啊!翻译英文书籍是一件任重道远的工作,除了要具备扎实的基本功,熟悉相关的领域外,还需要细致 ...
- 使用git的分支功能实现定制功能摘取与组合的想法
前言,这个想法应该是git比较通用的做法,只是我还没用过,所以把自己的想法记录在这里,督促自己以后按这个方式执行. 我们公司现在面临一个问题, 就是客户的定制需求很多,很杂,其中坑爹需求很多. 我还没 ...
- ORACLE 10升级到10.2.0.5 Patch Set遇到的内核参数检测失败问题
在测试ORACLE 10.2.0.4升级到10.2.0.5 Patch Set的过程中,遇到一个内核参数检查失败的问题,具体错误信息如下所示 实验环境: 操作系统:Oracle Linux Ser ...
- C#语言基础——特殊集合
特殊集合一.stack集合栈:stack,先进后出,一个一个赋值,一个一个取值,按顺序,且没有索引属性和方法:.count 取集合内元素的个数.push() 将元素一个一个推入集合中.pop() 将元 ...
- Javascript之旅——终点站:困惑的settimeout
有时候结局不是很美好,但起码这也算是一种结局,这个系列的最后一篇settimeout,这是一个让人困惑的函数,也是我一直在吐槽JS的 原因,我们看不到JS的源代码,setimeout同样也是,从始到终 ...
- 优化SQLServer——表和分区索引(二)
简介 之前一篇简单的介绍了语法和一些基本的概念,隔了一段时间,觉得有必要细致的通过实例来总结一下这部分内容.如之前所说,分区就是讲大型的对象(表)分成更小的块来管理,基本单位是行.这也就产生了 ...