作者笔名常遇,15年加入腾讯,高级前端工程师。曾负责过QQ浏览器游戏平台、搜索平台等项目,曾在腾讯课堂直播Web前端安全课程。关注“全栈深入”微信公众号并回复 “全栈图谱” 下载高清全栈知识图谱压缩包。
如需转载本文请注明作者:常遇 及 来源:“全栈深入”微信公众号。
1、什么是全栈
全栈(Full-Stack)是指一种解决问题域全局性技术的能力模型。
很多现代项目开发,需要掌握多种技术,以减少沟通成本、解决人手不够资源紧张、问题闭环的问题。全栈对业务的价值很大,如对于整个业务的统筹、技术方案的判断选型、问题的定位解决等,全栈技术能力有重要影响。另外对于各种人才配套不是很齐全的创业公司,全栈能解决各种问题,独挡多面,节省成本,能在早期促进业务快速发展。
技术能力的发展有横向和纵向两种,横向像瑞士军刀,无所不能。而纵向像干将莫邪,技艺高超。而全栈是技术能力横向和纵向两个方向相互融合的结果。人的精力是有限的,不可能精通所有的技术领域,但是可以广泛掌握整个问题域相关技术栈,再深入掌握1个或多个领域技术,成为相关领域的专家。
全栈的定义
按照狭义(社区普遍认为)的观点,全栈 = 前端 / 终端 + 后端。
按照问题域的观点,全栈 = 硬件 + 操作系统(linux/windows/android/ios/..) + 浏览器/宿主环境 + 前端开发/终端开发 + 网络 + 后端开发(架构/算法) + 数据(SQL/NoSQL) + 测试 + 运维。
2、全栈技术图谱
2.1 浏览器
2.2 前端开发
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
2.3 终端开发 - Android
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
2.4 终端开发 - iOS
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
2.5 网络
(上面图片摘自《科来网络通讯协议图2019版》:http://www.colasoft.com.cn/download/protocols_map.php)
2.6 后端开发
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
2.7 数据库
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
2.8 DevOps
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。为了按时交付软件产品和服务,开发和运维工作必须紧密合作。
2.9 安全
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
2.10 大数据
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
2.11 云计算
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
2.12 人工智能
(图片摘自《程序员技能图谱》https://github.com/TeamStuQ/skill-map)
长按二维码或扫码关注“全栈深入”查看更多精彩内容!
关注公众号并回复 “全栈图谱” 下载高清全栈知识图谱压缩包。
如需转载请注明作者:常遇 及 来源:“全栈深入”微信公众号