• 回答数

    3

  • 浏览数

    94

装饰小板凳
首页 > 考试培训 > php全栈工程师培训

3个回答 默认排序
  • 默认排序
  • 按时间排序

密果儿Fiona

已采纳

为了在这个牛逼的市场里获得成功,我们这些开发者――通常都是完美主义者――应经常把“如果你想做正确的事”当做自己的座右铭,并经常质问自己。这会强迫我们自己集中精力在一处,而且必须学习所有东西,所以做一个全栈工程师往往要学会以下技能,济南IT培训优就业的小编整理发布:

1、服务管理/运维

一个开发者必须了解基础的服务器管理知识。包括当不限于以下知识:

通过终端或其他没有用户界面的环境来远程连接服务器

会写基本的shell脚本

服务器上的用户和群组管理

管理像Apache和Nginx这样的服务器程序来提供应用

防火墙管理和权限管理

安装和更新软件

除了这些基础技能,开发者必须懂得怎样去创建一个好的、健康的、分离的开发环境,在 Docker 或者像 Vagrant 这样的虚拟机环境中。如果上面所有的技术你都不熟悉,那我必须给你推荐一本超棒的书,点这里购买。

开发者必须对版本控制系统非常熟练,为了让开发有靠谱的生产备份和可分享、可协同的代码库,这些代码库能够根据时间来跟踪代码变化。现在已经没有开发者的工作流是完全离开版本控制的了。我们有一个非常棒的关于版本控制的视频教程,点这里购买。

2、云

和实际管理或者虚拟服务器不同,一个开发者也许要知道云主机平台,比如Heroku, Google Cloud, Azure, AWS等等。

有一点必须说明的是,平台和工具更多的是为了炒作而不是其实用性。尽管有很多平台和工具的实用性并不如宣传的那么好,但是了解这些大家都在谈论的服务,从长远来看会很有用――客户可能会随时要求更换服务提供商。幸运的是,我们拥有这些云主机部署权威指南。

3、后端

在后端,除了要懂选择什么语言以外,比如 PHP 和众多的框架 and CMSes,一个全栈开发者必须熟悉:

Web服务器,比如Nginx和Apache,和运维紧密相关

不幸的是,NodeJS 已经可以将 JS、CSS 和其他资源文件编译成静态可以方便缓存的文件了。幸运的是,也有办法避免学习 NodeJS,用PHP也是可以的

像Composer这样的PHP()包管理工具在现代化的开发环境中已经离不开了

好的API 设计,自从大部分新型网页都基于 API 而且仅仅为前端服务(下面会详细描述)

ElasticSearch (introduction here)这样的搜索引擎对于网站性能的提高是非常重要的

cronjobs 和后端的工作,使用Gearman 或者 Crunz 这类的库

了解缓存,Varnish, Redis 等牛B的工具可以分片存储数据,这样可以将一个项目部署的多个主机上

4、数据库

数据库是一个单独的部分,因为除了很好地掌握我们基本上不会有结构变化的关系数据库(MySQL或者PostgreSQL)的数据模式之外,一个全栈工程师应该对非关系型数据库有所了解,如MongoDB, Redis,或Cassandra ,更不用说像Neo4j这样的图形数据库了。

不幸的是,这些都是服务器上的东西,都在全栈工程师的控制下。也有几个类似 Mong 的远程解决方案,像RestDB或者Google-owned Firebase等。

5、前端

想知道一个正常的前端知识图谱是怎么样的,可以在JavaScript 版块看这篇绝世好文。但是作为一个全栈工程师,你需要了解

NodeJS and NPM

Yarn

预处理器和编译器(如Babel),用来编译 Typescript, ES6, LESS, SCSS, SaSS

构建工具,如 Grunt 和 Gulp

框架,如 VueJS、React、Angular

模块打包工具,如 Webpack、Browserify、Rollup

6、设计

在设计方面,全栈开发者需要了解怎样在一个产品变成真正可用的 HTML 、CSS 代码之前,画一个原型图。然后就可以去用 JS 写交互、后端也可以用假数据来模拟生产环境。只有这个关键的原型图完成,用户体验设计和接口设计就绪,真正的开发才能开始。这本身就是一项艰巨的任务,需要一套特殊的工具:

Photoshop和Illustrator 或者一些开源的工具比如Gimp/Inkscape。访问Design channel来了解更多这样的工具。

一个牛的、快速的编辑器,比如Atom或Sublime Text(这儿有十种好用的sublime插件)

像Subtlepatterns的背景选择器和颜色选择器能够搭配一些颜色

CSS的栅格系统

上面所说的前端所需要了解的所有知识和 JS 数据模拟

将原型图发表到网上供大家浏览并给于反馈,Ngrok就非常好用

7、日志系统

为了高效监控应用的健康度,全栈开发者必须能够追踪错误,找到错误日志然后从中提取出有用的信息。全栈开发者也需要从日志中预测一些趋势,比如 CPU 或者 I/O 占用率的上涨,以防应用不知道什么时候就挂了。这部分和运维也有一些关系,但是需要一些特别的技能:

推荐一篇非常棒的ELK stack的文章,这会帮助你了解做日志系统所需要的知识。里面包括了查找日志的ElasticSearch ,收集日志的Logstash,把日志用非常棒的图表展现出来的的Kibana,甚至还有提供解决方案的。

8、移动端

最后,我们该说说移动端了。随着iOS和安卓上的的webview变得越来越高效,还有 PWA(渐进式web应用)的到来,native 应用正在变得黯淡,因为他们开发起来实在是太复杂了。所以一个全栈工程师必须了解 PWA 或者 React Native,或者像NativeScript, Tabris, Cordova, Phonegap或者其他webview来让客户端应用调用 API跑起来。

php全栈工程师培训

266 评论(8)

黑糖miko

全栈开发人员是一名工程师,可以处理数据库,服务器,系统工程和客户端的所有工作。根据项目,客户需要的可能是移动堆栈,Web堆栈或本机应用程序堆栈。

281 评论(13)

馋死宝宝啦

1.什么是全栈开发人员?

简而言之,全栈开发人员是一种掌握各种技能并使用这些技能独立完成产品的人。

全栈开发人员是一名工程师,可以处理数据库,服务器,系统工程和客户端的所有工作。根据项目,客户需要的可能是移动堆栈,Web堆栈或本机应用程序堆栈。

事实上,“全栈”是指完成项目所需的一系列技术的集合。“堆栈”指的是子模块的集合。这些软件子模块或组件结合在一起,实现既定功能,而无需其他模块。

成为一个全栈工程师需要掌握哪些技术?

合格的全栈工程师应具备构建应用程序所涉及的所有方面的功能知识和功能。

1)编程语言

你需要精通多种编程语言,例如JAVA,PHP,C#,Python,Ruby,Perl等。因为大多数核心业务流程都需要用这些语言编写。可能并非都需要。但您还必须掌握语言语法,并且非常熟悉如何基于一种或多种语言对项目进行结构,设计,实现和测试。例如,如果选择JAVA,那么您需要掌握面向对象的设计和开发,设计模式,基于J2EE的开发组件等。

2)使用开发框架和第三方库

流行的开发语言通常伴随着一个良好的开发框架,如JAVA Spring,MyBatis,Hibernate,Python Django,PHP thinkphp,yin,nodeJs express等。

3)前端技术

在当今的项目和产品开发中,前端技术变得越来越重要。除产品功能外,用户体验也是测试产品成功率的标准之一。所有这些都取决于前端技术的实现,需要掌握一些基本的前端技术,如HTML5,CSS3,JavaScript,并进一步研究前端框架或第三方库,如JQuery,LESS, SASS,AngularJS或REACT。

4)数据库和缓存

任何产品或项目都需要数据库来存储数据。作为一个完整的堆栈开发人员,您还需要至少有一个或两个数据库,并知道如何与数据库进行交互。目前,流行的数据库是MySQL,MongoDB,Redis,Oracle,SQLServer等。作为文档类型的数据库,MongoDB在Internet产品中得到了更广泛的应用。对于较大的项目,Ialso建议使用MySQL或商业Oracle作为后端数据库。而内存数据库(如Redis)可用于缓存以提高系统性能。

5)基本设计能力

关于完整堆栈开发人员的大多数文章或讨论很少与设计要求相关。但我认为设计技巧非常重要,基本原型设计,UI设计,UX设计的原理和技巧也需要了解。

6)自我要求也是成为完整堆栈开发人员的重要因素:

1.全球思维

2.良好的沟通技巧

3.创造力

4.好奇心

5.时间管理技巧

总之,全栈工程师绝不是一夜之间完成的。你需要做的是奠定技术基础,加强核心技能,并不断学习更多挑战。

另外附:成长路线图:

218 评论(10)

相关问答