前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端这条路怎么走,作为一名后端er,说说我的见解

前端这条路怎么走,作为一名后端er,说说我的见解

作者头像
风间影月
发布2018-04-04 16:40:42
7260
发布2018-04-04 16:40:42
举报
文章被收录于专栏:BeJavaGodBeJavaGod

近期都游荡在各大群里看大家的讨论,经常看到关于程序员生涯的一些讨论,颇有感触,最近的国庆的确过得有些堕落,都没怎么更新,仔细相信还是应该分享点经验给大家的!想必大家都经历过面试,这是进入一家公司的必要门槛,面试官总会问“你的职业规划是什么”,那么你怎么回答? 技术经理,项目经理,架构师,有时候这些回到不是你想到的,而是你身边的人说多了,就脱口而出。

我们为何需要职业规划,我在之前的文章中有说过,我们程序员不可能写一辈子代码,我们不是在美国,在美国你就算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

最后要说的,不忘初心!持之以恒!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BeJavaGod 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档