你好,请问你想加入我们AutoLeaders俱乐部吗?
你想加入哪个部门?按照所学技术的侧重点,我们俱乐部分为:控制组、算法组和全栈组
......
太好了,你说你希望加入全栈组吗!
自我介绍一下,我是2022届AL全栈组组长,柳生芽星。为了帮助每一届的全栈组新人更广泛、更深入地学习技术,我决定编写这个系列教程;本教程完全面向新手,使用尽量通俗、详尽的语言,让每位读者都能够理解相关知识点。
下面,让我来为你讲解一下,如何成为全栈组的一员吧!
第0章 目录
0.1 什么是全栈
0.2 AL全栈人所需的技术栈
0.2.1 前端基础 H5C3 & JS
0.2.2 前端框架 Vue
0.2.3 Python基础
0.2.4 后端框架 Flask
0.2.5 前后端交互 AJAX
0.2.6 Linux基础 (基于Ubuntu)
0.2.7 数据库 MySQL
0.3 组长寄语
很多现代项目开发,关键技术人员需要掌握多种技术,以减少沟通成本、解决人手不够资源紧张、问题闭环的问题。全栈工程师应运而生,他们是多面手,具备在各个层次上理解问题的意识,解决问题的能力。
全栈中的“栈”指的是“技术栈”,可以理解为一种解决问题的技术,例如,一位全栈工程师开发了一个医疗管理系统,他使用了html + css + javascript + jquery + spring + linux + mysql等等,这些技术就可以称为技术栈。没有一种技术是可以解决所有问题的,于是把能够解决不同问题的技术配合起来使用是十分重要的,全栈即是如此,掌握不同类型的技术,并利用它们解决问题。
概括地说,全栈 = 前端 + 后端。前端是一个项目“好看的皮囊”,是用户看到的精美页面。后端则是网站或应用的大脑,负责处理用户数据、逻辑和算法。
作为全栈工程师,要能够独立构建和部署一个完整的、可以工作的Web App。能够独立编写前端、后端代码。能够配置服务器,还能够设计数据库。一言蔽之,加入全栈组,你将学到网页开发、应用开发的相关知识。
在 AutoLeader 俱乐部,全栈组是非常重要的部门,几乎每一个项目都有全栈的参与。在我们俱乐部主打的物联网大赛中,全栈组成员负责解决参赛项目中网络部署的需求,可以为项目搭建线上交互平台,例如设计并实现一个后台管理的网站或App。
以 AutoLeaders 2022届获得华为杯大奖的项目:【IKnowISee智能AR眼镜】为例
控制组成员:搭建AR眼镜实体。对主控树莓派进行开发,实现对棱镜屏幕、摄像头等设备的控制
算法组成员:调用/编写机器视觉算法实现人脸识别,是“交友”、“会议”、“识万物”等功能的基础。调用/编写语言识别算法实现AR眼镜的语音控制。
全栈组成员:搭建在棱镜屏幕投影的页面。开发配合眼镜使用的手机端app。将项目部署到华为云服务器进行数据处理
到这里,可能你还是一头雾水,不明白加入全栈组要做些什么。那么,接下来我会将全栈组所会学习到的知识列出,让你直观地感受全栈的魅力。
我们将会学习3门语言,其中两门是“标记语言”,比较简单,它们是 HTML 和 CSS
还有一门稍有难度的网页脚本语言,叫作Javascript,它与 HTML 和 CSS 并称“前端三剑客”
当你熟练掌握 H5C3 和 JS 之后,你就可以布置一个精美的静态网页了
Vue是一个专注于视图层的渐进式前端框架,由于其由浅入深,且有官方中文文档,所以对初学者十分友好。本系列选择Vue框架进行教学。
后端语言的选择非常多,例如java、php、python、c# 等等,python是其中十分优秀的一员,我们要学会python的基本语法,掌握python的一些简单算法。打好编程语言基础,为后端框架 Flask 的学习做准备
Flask是一个轻量级的、高拓展性的python后端框架,其核心功能比较简单,但是它提供了大量的实用拓展包,大部分后端功能都是以拓展的形式实现的。
由于其轻量级的特点,这个后端框架是比较适合新手的,本系列选用它进行后端的教学
有了后端的加持,网页就能够执行一些业务逻辑
前后端的交互方式有很多,AJAX是目前使用最广泛的方式之一,它实现了异步请求和部分刷新,是前端与后端沟通的桥梁。无论是前端工程师还是后端工程师,都要熟练掌握 AJAX
Linux 系统是后端学习中非常重要的技术栈,它是世界上最流行的服务器操作系统,几乎所有大型后端项目都部署在 Linux 系统上
Ubuntu 是 Linux 的一个发行版,非常受国内 Linux 开发者的欢迎,有良好的社区支持。本系列选用 Ubutun 系统进行 Linux 基础的教学
数据库是后端系统重要的组成部分,几乎所有用户信息,都存放在服务器的数据库之中,在需要时,由后端程序进行调取,然后发送到前端。
主流的数据库五花八门,其中 MySQL 是当下十分常用、范围超广的数据库,本系列选用它来进行数据库的教学
全栈组学的内容多而杂,部分知识比较晦涩,容易滋生退缩情绪,这是正常的。不要担心零基础学不会,AutoLeaders俱乐部 一直欢迎零基础的同学加入。帮助零基础的成员顺利掌握这些知识,便是这个系列教程存在的目的。
人的精力是有限的,不可能精通所有的技术领域,但是可以广泛掌握整个问题域的相关技术栈,再深入掌握一个或多个领域技术,成为相关领域的专家。在学习过程中,前期积极,中期乏力的情况比较常见,导致部分组员停留在简单的前端知识。组长想说:在学习中期,由于没有彻底掌握一整条知识链,可能会遇到一些困扰,让你想要停下脚步,这是正常的。组长希望各位全栈组成员有坚持不懈的精神,对抗学习过程中遇到的畏难心理、懒惰心理。
最后,欢迎你加入AL全栈组,组长会尽自己所能帮助每位全栈组员掌握基本的开发知识。
下一篇 【第1章 Python环境的安装与配置】