软件开发个人理解和组队需求

学习说明

前端开发入门

前端,首先要学习的是前端三件套,也就是 HTML、CSS、JavaScript。
HTML 是网页的骨架,CSS 是网页的样式,JavaScript 是网页的交互。

这里推荐以下的课程,来学习前端三件套3 小时前端入门教程(HTML+CSS+JS)
前端三件套不要花费太长的时间,作为一个基础知识的铺垫,我们只需要知道核心就行,那些所有的前端三件套拓展的东西,前期不需要深入学习,后面的学习会接触很多的,也会慢慢把基础打牢固,后面开发的时候,需要什么,我们就去搜什么就行了。

学完前端三件套之后,就可以开始学习 Vue 了。
其实呢,Vue 和 React 都是前端框架,具体我们为什么要用前端框架,请看前端技术的十八年风雨(2006-2024),为什么我推荐看这个视频呢?因为它能帮助我们快速了解过去的十多年,前端是如何发展的,以及未来的技术趋势是什么,找到我们的一个定位,知道自己写的代码的来源很重要。
(补充:现在的前端行情,React/next 用的其实也是比较多的)

回到上面,我推荐学完前端三件套后就去学习 Vue,Vue 是什么,你们自己去搜,我不说,但是你们不能不知道,这个开发团队的目标是让大家都成为有较高技术水平的软件开发工程师,同时大家一起学习,共同进步。请不要把弱者的心态带入到这里,你既然自己决定要学好计算机,在你迷茫的时候有人给你指路了,我希望大家都认真对待。至于我的建议合理不合理,建议你们对计算机技术以及互联网行业有了较为清晰的认知以后再来评判。

Vue 的官网是这个,请注意,Vue 主要是两个版本,Vue2 与 Vue3。近三年,大量开发团队正在转用 Vue3 做开发,所以我建议大家直接学习 Vue3.

Vue3 这个课程时长大概 14 个小时,也不多。我建议大家从头到尾看完,这个课程主要就是讲 Vue3,中间会穿插 Vue2,不过没关系,那只是帮助学习 Vue2 的人过度用的,大家正常听就行了,如果有不会的,应该怎么办?如果你有不会的,首先要考虑的是去浏览器直接搜你的问题,然后查看搜索引擎给你的答案并参考学习,之后,如果还是不会,可以去问 AI(问 AI 和搜索浏览器都差不多,大家都用用)。然后去看官方文档。我知道对大部分人来讲,没有看官方文档的习惯,这是一个极其不好的习惯,你要用的东西,出了问题肯定首先去找原作者吧。所以,慢慢的,大家一定要养成一个看官方文档的习惯,尤其是英文文档,我知道,英文文档肯定大家更看不下去。这个我也理解,英文文档,大家可以用翻译器,遇到关键的内容的时候切换为英文原版,认真读。如果说你确实意志坚定,那你可以锻炼直接看英文原文文档的能力。

刚才说了一下 Vue3 课程和遇到问题的解决方案,请记住,求助他人永远是你靠后的选择。

然后学完了 Vue3 学什么?学完 Vue3 之后,去学 Nuxt 框架,我们最终会使用这个框架进行开发,同时前端你还要学习一些流行的第三方库,我这里略微排序一下,其实不分明确的先后:

1.HTTP 网络请求、RESTful API、Axios 库、原生 fetch API
2.typescript 语言
3.Pinia 状态管理库
4.Nuxt UI 组件库 5.待补充

当你学到这个地方的时候,恭喜你,你的前端技术已经很强了,但是,你还需要学习更多的东西不断巩固前端技术,对于个人开发者或全栈工程师而言,学到这里差不多完满了,你已经具备了独自设计前端网页,独自解决问题,独自部署的能力,如果有其他需要,你也能很快的上手,不会像之前那么吃力了。

上面就是前端要学习的内容了,但是呢,为了团队开发,你还要学一些东西,这个等下我会详细说明。

后端开发入门

后端开发,也是很有讲究的,后端开发相比于前端开发来讲,非常自由,你可以自由的选择你喜欢的编程语言,你喜欢的框架进行开发,自由度非常的高。

首先,是 Web 开发用的最广泛的 Java 语言,我来讲一下如何学习 Java 以及它的框架。

C#开发

受到大家的认可,但是我了解不多,可以尝试

Java 语言和 Springboot 框架入门

对于 Java 这门语言的入门,我的建议是,如果你在学习 Java 之前,有学过 C 语言,C++语言或其他语言的话,那么,你不用去专门地从头学习 Java,只需要看看 Java 教程视频的前两节,先学一下环境的配置和 Hello world 的编写,就可以直接去看文档了,视频的 Java 基础部分可以直接跳过。
文档的推荐如下: 1.廖雪峰的个人博客——Java 教程 2.菜鸟教程——Java 教程

大家可以看这两个教程学习 Java 语言的一些语法上什么的特色,然后你差不多就会了 Java,记住,每个地方不要学太深,太死,差不多就可以了,其实,你可以在你的学习路线的任何一个地方扎根,比如 Java 前面的 C/C++,可以未来一直搞这个,Java 本体,也可以未来一直搞这个。为什么不要学太深呢,因为你会发现,很多东西你是用不上的,可能 5 年 10 年用不上一次,把基础的学会了,后面用到的时候再去立马搜,这样才是最好的,对整体的发展都很好。

现在呢,我就认为你的 Java 基础差不多了,那些语句,面向对象,package,class 什么的我就认为你已经掌握了。接下来,可以着手开始学习 Springboot 框架了。

Springboot 框架和 Java Web 关系很密切,Springboot 框架是非常常用的后端 Web 框架,这一阶段的学习,springboot 只是其中关键的一部分,除了它,还有很多内容也需要学习。我这里直接把视频放到这AI+JavaWeb 开发入门。这个视频,就是我去年这个时候入门 Java 的时候死磕的视频,也是很有用的一套视频,你可以从中学到非常多的东西,当然,这个视频里的学习任务是非常繁重的(也包括了部分前端,Docker,Linux 运维),如果你有时间并且感兴趣,我建议把视频都看完。实际上,在企业开发中,后端岗位要做的工作量更大,竞争压力也最大,要求的技术也很多(注意,是多,不是难,这个文档里面的所有课程都不是难的)。

学完了 Springboot 框架,你可以去了解一些 java web 开发一些好用的第三方库,自己去看看有没有喜欢的,java 也是调用第三方库的的重灾区,很多代码,我们不用自己去写,有前辈帮我们完成过,所以当你需要某些需求的时候,可以去直接调用第三方库。
对,除了 Springboot,你还要学习 Maven,Gradle,Spring Cloud,Mybatis(和数据库对接),CRUD 操作等等(这些很多内容再上面的视频中有,在学习视频内容的基础上,进一步学习)

差不多这个时候,你就对 Java 语言和后端框架有了深入的理解,后面的开发也能熟练的融入了。

Python 语言和 Django 框架入门

对于 Python 语言,我学习的并不多,也对 Django 这个框架掌握的不多。不过,大同小异,如果你打算用 python 开发后端,我建议你优先考虑可以换一个语言,除非你确实喜欢 python 的简洁和方便,那当我没说。

Python 语言的学习也没有什么难的,如果说你有编程的基础,那么就去看 Python 环境部署的视频,学会了之后可以直接去看文档,照着文档做,看视频也可以,系统化的学习肯定又是是非常大的,所以根据大家喜好来。

差不多掌握了 Python 基础后,就可以去学习 Django 框架了,我其实不太清楚这一块有什么好的教程,如果你打算学习,请自己去搜寻适合自己的视频课程,我这里还是按照惯例,放一个时间适中的视频课程Python Django 网站开发培训

然后到这里,你可以去多了解了解第三方库,去看看别人的项目,学习别人项目的经验,因为做项目,不可能只用 Django,肯定还会用到各种各样的第三方库,看看哪些常用,我们也可以使用!

Node.js 语言和 Express 框架入门

这一块我掌握的就更少了,我估计用这个写后端的也不多,大家如果确实有这个需求,那自己去查找相关资料进行学习
两个框架,ExpressNext.js

C++语言和 oatpp 或 drogon 框架入门

C++语言,是很复杂的,但是性能高。实际的企业开发,C++做后端的例子并不是很多,但是并不代表没有这样的需求,我个人不是很推荐用 C++去做中大规模的后端服务器,如果你确实很喜欢 C++,或者是打算拿后端开发锻炼自己的 C++工程开发能力的话,那么可以尝试选择 C++开发后端程序,使用 oatpp 框架或 drogon 框架,后者的 star 数更多。

我简单讲一下 C++如何进行工程开发,首先你需要一个管理第三方库的框架,最常见的就是 CMake,xmake 等等,xmake 感觉时长还不是特别大,但是体验确实比 CMake 要好。我想说的是,你要搞 C++工程开发,是比较复杂的东西,如果你在这里有特别的需求,疑问,可以单独找我聊,我之前也打算走 C++这条路,包括现在也想把 C++搞好,所以在这里我还是有一定经验的,可以为你答疑解惑。

哈哈哈,讲个笑话,我想去 b 站搜 C++工程开发的教程,发现很难搜到优质的。那么好,我们伟大的 C++程序员都是大佬,大家都更加习惯于看官方文档而不是视频教程()
根据自己需要学习文档吧!多和社区里的人交流。

Rust 语言和 actix 框架入门

咳咳,说到这里我可就不困了,Rust 语言是面向未来的语言,我断定未来发展肯定不差,不多废话了,看这个视频代表未来的 Rust 发展的怎么样,等其他视频。我想对这门语言的评价,大家的说法肯定不一致,不过我们学习 Rust 肯定不是只拿来做 web 后端,计算机广大领域大有可为,拿后端开发入手练门,也是挺不错的选择了。

如果你要学习 Rust 语言和 actix 框架,请看:Rust 编程语言入门教程(Rust 语言/Rust 权威指南配套),以及Rust 圣经,顺便,我的博客也记录了很多的 Rust 学习日记,大家也可以参考Rust 学习日记(~~我想应该没人会看我的博客的~~)

actix 框架请看一位不知名大佬的文档:Actix Web 中文文档

好了,别在 b 站上找了,这种不是特别热门的语言,很难找到教程的,或许我们可以自己发教程视频,还是推荐一个 5 年前的参考参考吧RUST web 框架 actix 教程

Golang 语言入门

这门语言我没有深入学习,只入了个门,我想说,Golang 也是一个先进的语言,大家可以去看一下80%哲学的践行者 ——“够用就行”的 Go 语言
深入学习 Echo,Wire,Gin,GORM,SQLC 这些内容

欢迎大家也学习 Golang 语言,这样我们就多了一位 Go 语言大佬!

C 语言 Web 开发

请自动跳过,这里不欢迎你

其他语言后端开发

根据自己的兴趣选择吧,估计也没人会用其他的语言写后端了吧。~~大概~~

服务器运维

恭喜你,你准备踏入计算机领域非常~~轻松~~的一个领域,注意哦,我们搞运维的,不需要写太多代码哦。
服务器运维,我这里只列举一部分吧,比如 Nginx 网络服务器搭建与维护,数据库服务器搭建与维护,Docker 容器化,Kubenutes 集群(这个要学的内容非常多),代理服务器搭建与维护……

如果你不是专门为了以后找工作搞服务器运维,那么请不要单纯只学习这一个东西,建议找个别的方向也走一走,计算机运维也是很重要的一门工作,如果你想要选择这个,那很好,我们也需要专业的运维工程师。

那么需要学习什么呢?
1.Linux 操作系统
2.Linux 操作系统上的东西 3.计算机网络、计算机组成原理、408……(其实这个东西,其他的方向也要学,只不过对运维来说比较重要)

这里我也不是特别的专业,不过好在我们有专业的学长,可以为我们答疑解惑,也欢迎大家选择这个方向进行学习。

尚硅谷 Nginx 教程(亿级流量 nginx 架构设计)
Linux 学习
请注意,我们未来 Ubuntu/Debian 系列 将成为主流,如果没有特别情况,不要再去学 CentOS 了。
如果你喜欢 Archlinux,那我大力推荐 Archlinux,前提是你喜欢 Linux,而不是仅仅作为工作。Archlinux 是技术佬的选择,会玩的话,比 Windows 爽很多倍!
请注意,学习 Linux,请多看技术文档,多从互联网上搜索资料

数据库开发

现在,没有什么特别的需求,选择这个的话,经典的 Mysql 数据库等着你。不过我们未来的项目将全量采用 PostgreSQL 数据库,请重点学习这个。
为什么 PostgreSQL 能超越 MySQL,有哪些优势?登顶最受欢迎的数据库
PostgreSQL 能存万物!这还是你认识的数据库吗?
不过呢,不建议上来就学 PostgreSQL,因为我没搜到什么好的教程,直接学 PostgreSQL 的,还是先从 MySQL 入手吧,这俩基础都是 SQL
一小时 MySQL 教程
黑马程序员 MySQL 数据库入门到精通,从 mysql 安装到 mysql 高级、mysql 优化全囊括
PostgreSQL 12.2 手册
多余的就不多说了,自己去学就行了

Docker 容器化和 Kubernetes 集群

慢慢学吧,这一块我也不懂
40 分钟的 Docker 实战攻略,一期视频精通 Docker
【GeekHour】30 分钟 Docker 入门教程
【狂神说 Java】Docker 最新超详细版教程通俗易懂

所有人都要学习的内容

1.Git 与 Github给傻子的 Git 教程
2.API 是什么【软件科普】API 是什么?有什么用?
3.HTTP 是什么HTTP 是什么? 4.软件开发是什么?大型企业软件开发是什么样子的? - Web Dev Cody

好的,差不多这些就是我目前推荐的软件开发可以选择的内容了,进入团队开发,你必须至少掌握其中 1 个方向的内容,并至少熟悉 3 个方向的内容,并要求对所有方向都有一个简单的理解,明白是个什么东西,软件开发整体上,各个部门都是负责什么工作。掌握了这些,那么恭喜你,你的月薪来到了 1W+,成长为了一名合格的软件开发工程师

阅读剩余
THE END