全栈工程师修炼指南 / 从全栈入门到技能实战
熊燚(四火)
Oracle首席软件工程师
  • 课程目录
  • 课程介绍
  • 开篇词 | 从成长角度看,为什么你应该成为全栈工程师?

    基于 Web 的全栈技术学习,充满必要性,无论你的远期目标是在哪个软件领域。

  • 学习路径 | 怎样成为一名优秀的全栈工程师?

    期待这个专栏能让你产生不一样的理解,收获独特的方法,在全栈技术的道路上迈上一个更高的台阶。

  • 导读 | 如何学习这个专栏?

    “全栈工程师修炼指南”到底是一个怎样的专栏?有哪些创新和学习技巧?

  • 01 | 网络互联的昨天、今天和明天:HTTP 协议的演化

    从 HTTP 身上,我们能否管中窥豹,一叶知秋,找到互联网成长和演进的影子?

  • 02 | 为HTTP穿上盔甲:HTTPS

    今天重点学习 SSL/TLS ,看看它是如何让 HTTP 传输变得安全可靠。

  • 03 | 换个角度解决问题:服务端推送技术

    这一讲介绍的几个服务端推送技术,都从一定程度上解决了 HTTP 传统方式 Pull 的弊端。

  • 04 | 工整与自由的风格之争:SOAP和REST

    它们来自两个不同的时代,却同时活跃于当今的互联网,并担当着重量级的角色,影响了一批新技术的诞生。

  • 05 | 权衡的艺术:漫谈Web API的设计

    结合之前所学,谈谈具体怎样设计 Web API 接口。

  • 06 | 特别放送:北美大厂如何招聘全栈工程师?

    了解大厂的做法,对于程序员的你来说,既能拓宽眼界,也能更好地清楚自己在市场上的定位。

  • 07 | 解耦是永恒的主题:MVC框架的发展

    对于基于 Web 的全栈工程师来说,MVC 是我们知识森林中心最茂密的一片区域。

  • 08 | MVC架构解析:模型(Model)篇

    模型就是当我们使用软件去解决真实世界中各种实际问题的时候,对那些我们关心的实际事物的抽象和简化。

  • 09 | MVC架构解析:视图(View)篇

    MVC架构中的视图是指将数据有目的、按规则呈现出来的组件。

  • 10 | MVC架构解析:控制器(Controller)篇

    控制器是 MVC 的大脑,它知道接下去该让谁去做什么事。

  • 11 | 剑走偏锋:面向切面编程

    使用 AOP 的方式,代码可以得到很大程度上的简化。

  • 12 | 唯有套路得人心:谈谈Java EE的那些模式

    这些模式,就是我们在搭建全栈架构、设计的工作过程中,不断总结和应用的“套路”。

  • 13 | 特别放送:选择比努力更重要

    结合作者经验,分享程序员该做出怎样的选择,来应对“技术太多学不过来”的问题。

  • 14 | 别有洞天:从后端到前端

    今天我们将迈入第三大基于 Web 的全栈技能领域——前端。

  • 15 | 重剑无锋,大巧不工:JavaScript面向对象

    这一讲我们将学习 JavaScript 面向对象的基本知识和技巧,提升代码层面的面向对象设计和编码能力。

  • 16 | 百花齐放,百家争鸣:前端MVC框架

    这部分发展很快,它们比后端MVC框架出现得更晚,但是社区普遍更活跃。

  • 17 | 不一样的体验:交互设计和页面布局

    这部分对于基于 Web 的全栈工程师来说,不只是技术栈特殊的一部分,还是一个能够给个人发展格局带来更多可能的部分。

  • 18 | 千言万语不及一幅画:谈谈数据可视化

    这一讲介绍数据可视化的基本概念和原理,以及几个常用的JavaScript用来实现数据可视化的库。

  • 19 | 打开潘多拉盒子:JavaScript异步编程

    深入异步编程,继续探讨其中的关键技术。

  • 20 | 特别放送:全栈团队的角色构成

    全栈团队并非指一群全栈工程师所组成的团队,而是说一个团队具备多方面、多层次的技能,联合协作去解决某一个具体领域的问题。

  • 21 | 赫赫有名的双刃剑:缓存(上)

    缓存使用好了,会是一把无比锋利的宝剑,特别对于性能的提升往往是立竿见影的。

  • 22 | 赫赫有名的双刃剑:缓存(下)

    这一讲会结合一些实际项目,谈一谈缓存的使用会有哪些问题,以及缓存框架的一些通用性的东西。

  • 23 | 知其然,知其所以然:数据的持久化和一致性

    数据的一致性不但是数据持久化的一个核心内容,也是学习的一个难点。

  • 24 | 尺有所短,寸有所长:CAP和数据存储技术选择

    CAP理论是分布式系统技术中一个必须要掌握的内容,也是在项目早期和设计阶段实实在在地影响技术选型和技术决策的内容。

  • 25 | 设计数据持久层(上):理论分析

    讲一讲最后面一层的数据持久层怎样设计,使整个设计层面上的体系变得完整。

  • 26 | 设计数据持久层(下):案例介绍

    介绍一些典型的系统,看看对于它们来说,该做出怎样的持久化设计和技术选型。

  • 27 | 特别放送:聊一聊代码审查

    在软件工程师日常的开发工作中,如果要挑出一项极其重要,却又很容易被忽视的工作,代码审查几乎是无可争议的第一。

  • 28 | Ops三部曲之一:配置管理

    这一讲介绍Ops中配置管理的一些常见的方式,以及一些配置文件常见的组织形式。

  • 29 | Ops三部曲之二:集群部署

    这一讲介绍负载分担下的集群和新代码部署的方式,以及服务端 Session 和客户端 Cookie 的原理,

  • 30 | Ops三部曲之三:测试和发布

    这一讲介绍持续集成和持续发布,以及Web全栈项目中常见的测试维度。

  • 31 | 防人之心不可无:网站安全问题窥视

    这一讲介绍一些常见的安全问题,并了解它们相应的解决办法,加强安全意识。

  • 32 | 和搜索引擎的对话:SEO的原理和基础

    这一讲从理解互联网搜索引擎的工作原理开始。

  • 33 | 特别放送:聊一聊程序员学英语

    对于进阶的工程师来说,英文能力是突破天花板的一个必选项。

  • 34 | 网站性能优化(上)

    这一讲介绍性能优化的基本知识,包括性能优化和软件设计的关系,性能指标和关注点,以及怎样去寻找性能瓶颈。

  • 35 | 网站性能优化(下)

    这一讲介绍网站性能优化的具体方法,从产品和架构、后端和持久层以及前端和网络层这样三个部分分别展开。

  • 36 | 全栈开发中的算法(上)

    和单纯地从数学角度去介绍算法不同,这一讲会结合几个全栈开发中实际、典型的问题场景,向你介绍几个相关的重要算法。

  • 37 | 全栈开发中的算法(下)

    这一讲继续讲解一些全栈开发中影响深远的算法,这次的归类是无损压缩算法。

  • 38 | 分页的那些事儿

    这一讲介绍一些典型的分页方法,带你理解分页的一些常见问题和它们的解决方式。

  • 39 | XML、JSON、YAML比较

    这一讲介绍 XML 和 JSON 的风格、schema 和路径表达式等,还有可读性至上的另一种数据交换语言 YAML。

  • 40 | 全栈衍化:让全栈意味着更多

    这一讲介绍 Web 全栈工程师在完成核心技术的修炼之后,可以考虑的下一步和进一步的发展方向。

  • 全栈回顾 | 成为更好的全栈工程师!

    送君千里,终须一别。我是四火,我们后会有期!

  • 好书荐读:小众书也有看头儿

    送你一份书单,希望对你有用。

  • 期末测试 | 对于全栈的内容,你掌握了多少呢?

    等你来挑战!

【仅限 100 个名额 | 立省 ¥30】

拼团+口令「maimaimai」到手仅 ¥69,立省 ¥30,仅限 100 个名额

你将获得

  • 系统掌握Web全栈技能树;
  • 网络、前后端、持久化等核心技术解析;
  • 全栈开发的技术比较和选型;
  • 拓宽技术视野,培养全栈思维。

讲师介绍

熊燚,笔名四火,现于西雅图 Oracle 任首席软件工程师一职,负责研发云基础设施的分布式工作流引擎。曾先后任职于华为、亚马逊,做过多种类型的研发工作,从大小网站到高可用服务,从数据平台到可视化系统,他带领团队攻克过数个项目难关,在全栈之路上具有丰富的实战经验。

课程介绍

互联网的技术浪潮一波接着一波,下一个技术主角是谁,我们会因为什么被淘汰?很难预测。但全栈工程师却可以在这样的大环境下如鱼得水,具体点说,新技术出现时能快速上手做出惊艳原型,快速上线新产品,多角度思考解决方案等。

这是为什么?

  • 他们每天都在接触互联网最新的技术理念,距离产品最近,拥有全面的视野和深入研究的机会。

  • 他们在学习中可以获得快速反馈,擅长通过联结和类比的方式,将零散的知识逐渐形成体系。

  • 最重要的是,他们可以独立交付一套完整的产品,所有的团队都非常欢迎这样的人才。

那如何成为一名优秀的全栈工程师?有没有一条好的学习路径,一些高效的学习方法可以修炼全栈技能?面对日渐复杂的应用场景,五花八门的技术,我们又该如何去选择?

本课程将重点解决以上问题,聚焦基于 Web 的全栈技术,围绕“网络协议、MVC 架构、前端技术、持久层技术”等核心领域,梳理学习路径,对比剖析代表性技术,立足最佳实践、实战专题,带你全面掌握全栈技能。

特别说明

  • 语言:主要使用 Java 和 JavaScript。
  • 环境:通常情况下,请尽量使用 *nix(包括 Linux 和 MacOS) 而不是 Windows。
  • 工具:macOS 下的 Homebrew,Ubuntu 的 apt-get 等(更多工具文中附带网址)。

课程目录

适合人群

有初级开发基础的软件工程师即可阅读。软件开发零基础用户以及资深全栈工程师(10年以上)慎选。

特别放送

订阅须知