您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
如何成为全栈开发人员?
工程师,数据库,语言如何成为全栈开发人员?
发布时间:2020-12-06加入收藏来源:互联网点击:
如何成为全栈开发人员?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
首先要知道全栈工程师究竟是干嘛的!!!
全栈工程师(full stack developer):就是要从一个产品设计伊始,提供包括一开始的页面设计,ui设计,前端开发,后端服务开发,数据库表开发,移动端开发,运维,技术支持的工程师!
换句话说就是一个人干完所有人的活!
一个合格的全栈工程师需要哪些能力呢?以JAVA为例:
首先,全局统筹的能力:你不仅要在项目开始之前,构建好一整个项目的结构,设计合理的连接方式,比如前后端分离,使用时下最流行的node.js和spring boot做前后端分离,提供前端页面(使用vue.js还是react)和后端服务,你要想好使用什么数据库,比如oracle(收费,性能好),mysql(免费,性能好),redis(免费,内存型数据库,key value),数据库是采用主从复制,读写分离还是分库分表,消息中间件选择,工作流引擎选择,规则引擎选择,等等!!!
最重要的你需要画出总流程图,组件流程图,工作流流程图等等!
其次,化零为整的能力:
ui设计:注意设计模式的选择>主题细节,分栏浏览,form,canvas,图表等的选择和合理布局
前端:使用前端框架,选用vue.js.react.angurlar等等最火的框架,搭建在node.js作为前后端分离,注意前端对于空对象,空组件,空数组等的判断,对于弹框,页面跳转,文件上传下载,时间控件等的支持!
后端:采用26种设计模式,在满足6种设计原则的情况下合理开发!选择合理的框架如spring boot作为restful风格的服务提供,如consul!采用分布式避免功能耦合,采用ons消息中间件用于消息传递,保证数据不丢失,使用事务,锁保证数据安全,日志打印保证查找问题快速,数据库连接中间件如druid,容器如mybatis,幂等性等判断!
数据库:基于成本和性能选择适合的数据库,如mysql,基于性能选择nosql数据库如mongodb,redis,基于数据安全性使用逻辑删除,数据多重保存!主从分离中间件或者基于aop自行实现,分库分表使用mycat
运维:熟悉linux指令,比如文件操作,权限授予,内容修改(vim),查找日志,定位问题,至少熟悉shell等一种脚本,用于应用打包,重启,日志分析等!掌握jenkins,保证持续集成的进行!掌握数据库主从复制等配置,掌握项目版本(svn)控制,私服(nexus)搭建maven等等!
测试:单元测试,集成测试,流程测试,数据测试,自动化测试,体验测试,功能测试!等等!!!代码评审(sonar),冲突解决等!
最后:产品迭代,持续支持,完善项目的能力:项目不是做完就完了,还有更多的业务修改,bug完善,直至一款完美的产品诞生!
等你这些全部掌握精通了,你去任何一家公司都是架构师级别的存在!
我是谢逅,旨在技术普及,让科技变得普通!
回答于 2019-09-11 08:43:50
成为一个全栈程序员这个问题能提出来,说明楼主正在学习程序的路上.
首先全栈程序员的定义,粗略的可以理解为能独立开发一个完整地项目,从系统架构设计及环境搭建到前后端开发,再到程序部署及优化
刚好在下,服务端开发出身,因公司需要转到大前端,做web及app开发,可以很害臊的称为全栈开发人员
想称为全栈程序员,我想应该是具备如下
1.对编程有浓厚的兴趣(编程简单,编成难,学习一门语言不难,但是学通一门开发语言,或许需要整个职业生涯,全栈需要掌握的太多,需要有兴趣做基础)
2.服务器操作,软件部署及运维(window/linux)
3.服务器端编程(php,java,asp.net,python有很多,至少掌握一门,当然建议根据项目需要,那种开发语言合适用哪种)
4 前端开发(现在前端五花八门,说点最基础的html,css,js当然现在还包括小程序和app等)
个人经验,如果先学服务端开发语言,在学习前端开发相对简单一些,当然现在因为nodejs的原因,前端开发人员变成全栈也不是很难
不管怎么学,坚持最重要,技术迭代速度太快,坚持学习保持竞争力
回答于 2019-09-11 08:43:50
随着互联网行业的不断发展,开发团队的角色分工越来越细,虽然明确的角色能够更加专注于某个领域,但是对于大量的基础开发任务来说,全栈工程师往往更实用,现在不少科技公司对于全栈工程师也比较认可,这从一定程度上也促使不少程序员向全栈方向发展。
要想成为全栈开发人员,至少需要具备以下的知识结构:
第一:扎实的计算机基础知识。计算机基础知识的掌握情况对于全栈工程师来说是比较重要的,这些基础知识包括操作系统、计算机组成原理、计算机网络、数据库、算法设计、数据结构、电子电路、编译原理等内容,掌握这些计算机基础知识是学习能力和研发能力的重要保障。
第二:掌握多种编程语言。目前比较流行的编程语言有几十种,每种编程语言都有其特定的应用场景,虽然有的语言也可以从事全栈开发,比如Python全栈开发、Java全栈开发等,但是要想应对不同的开发场景,往往需要全栈工程师掌握不同的编程语言。对于全栈程序员来说,通过工作岗位经验的不断积累往往能够接触到不同的编程语言,从而逐渐走上全栈开发的道路。
第三:掌握多种开发场景。开发场景往往与应用场景、开发周期、团队配置等因素有直接的关系,另外也与开发平台有较强的关联性,比如大数据开发往往需要使用Hadoop、Spark等平台,对于全栈程序员来说,需要具备在不同开发环境下进行开发的能力。从这个角度来看,全栈程序员往往需要大量项目经验的积累。
全栈开发人员需要具备丰富的知识结构,同时具有较强的学习能力和开发能力,所以要想成为一个全栈程序员,一定要不断积累工作经验并经常总结。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
上一篇:大家对《斗罗大陆4》怎么看?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |