学前注意事项
请阅读 学期注意事项>>
作业提交说明
请阅读 作业提交说明>>
一、Java基础入门(14天)
学习目标
掌握Java 基本数据结构、基本语法、 面向对象等,能够使用 Maven 构建简单应用。
这部分建议2周内过完
工具
Java 代码运行工具:
https://c.runoob.com/compile/10/
练习基本语法时可以先用这个工具
IDE(主力开发工具):
选择Intelij idea
下载地址: https://www.jetbrains.com/idea/
破解方法:http://www.dahouduan.com/2022/01/09/mian-fei-shi-yongintelij-idea-phpstorm-pycharm-gol/
使用教程: https://www.bilibili.com/video/BV1fh411y7R8?p=264
(P264-P272)
课程
文字课 https://www.liaoxuefeng.com/wiki/1252599548343744
视频课 https://www.bilibili.com/video/BV1fh411y7R8
文字课程划重点:
这块主要涉及,磁盘文件读写,先不看也可以, 后面项目中用到了回来看
先不看也可以, 后面项目中用到了回来看
正则这块后面做项目过程中如果用到了回来看下就行,先不学也可以
视频课重点:
编程语言基础 p1-p147
基本类型,循环判断 p156-p180
面向对象 p192-p251
包、封装、继承、多态 p273-p327
成员变量、接口、注解 p374-p437
异常处理 p444-p456
常用类 p460-p498
集合 p499-p547
泛型 p554-p568
多线程 p580-p597
文件操作(IO) p611-p641
网络相关 p662-p688
反射p711-p730( 可选)
重点掌握
- 掌握 Java 基本语法(判断, 循环等)及数据结构、面向对象、异常处理、注解、泛型、集合
- 学会使用 Maven 构建工具构建项目。
作业
完成作业一、二、三。
二、 WEB开发入门(Servlet)
了解什么是 Web 应用开发,掌握用传统的 Servlet web开发技术,能够开发一个简单的 Web 应用。
HTML +CSS (3天)
学习目标:
能够使用HTML、CSS编写简单的网页
学习资料:
文字课:
HTML5: https://www.w3cschool.cn/html/html-paragraphs.html
CSS:https://www.w3cschool.cn/css/
视频课: https://www.bilibili.com/video/BV1Y7411K7zz
(P1-P32)
重点掌握:
- HTML
- 掌握html,head,body,title
- a, p,img,h1-7,
- table,tr,td,ul,li 标签,
- form,input,select,option,button
- CSS
- 基本语法
- id 、class
- Background
- Font
- 文本样式, 链接样式
- 盒子模型
- 边框(Border)
- Margin,Padding
- Display
- Position定位
- Float
- 属性选择器
作业四
完成作业四
HTTP协议(0.5天)
为什么学?
HTTP协议是 WEB 开发中网络请求的基本协议,不论是手机客户端应用与服务端的交互(CS),还是浏览器与服务器的交互(BS)都是基于 HTTP 协议完成的。
学习目标:
了解域名, IP等术语,了解URL的概念,了解HTTP、请求头、响应头、响应码。
在后续项目开发中遇到不至于蒙掉。
学习资料:
https://www.liaoxuefeng.com/wiki/1016959663602400/1017804782304672
https://www.cnblogs.com/ranyonsue/p/5984001.html
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Overview(官方文档专业性较强)
重点掌握:
– http 三次握手
– http 协议和TCP 协议的关系
– http 协议请求头 ,响应头
– http 状态码
– htpp 请求方式 POST、GET、PUT、DELETE
Servlet(Tomcat,Servlet,JSP)(15天)
Tomcat 提供 HTTP 服务, 以及 Web 应用运行环境,Servlet 应用即运行于 Tomcat 之上的应用容器
JSP 即是动态网页技术,即支持在 HTML 中编写 JAVA 程序。
为什么学?
Servlet 是 Java Web 开发的基础, 后续的 SpringMVC,底层都是 Servlet
学习资料:
文字课:https://www.liaoxuefeng.com/wiki/1252599548343744/1255945497738400(课程中MVC框架部分,简单了解即可,不用深究,这部分其实是SpringMVC的底层原理,有兴趣的可以跟着看下)
视频课:
https://www.bilibili.com/video/BV1Y7411K7zz?p=99
(从P99开始 )
重点掌握:
1. Tomcat,Servlet,JSP 的概念及基本使用方法,能够开发简单的应用
2. 理解Session、Cookie的概念及使用
作业五
完成作业五
数据库 (Mysql)(7天)
为什么学?
在WEB开发中, 数据库是服务器端存储数据的主要服务。Mysql是最常用的数据库。
数据库是跟编程语言无关的, 不论你学Java、PHP、还是Go 都要用到数据库。
工具:
数据库管理客户端 Navicat 下载链接: https://pan.baidu.com/s/1_88OmaSxyiyt131Hhkr2oA 提取码: 0jg0
学习资料:
文字课:https://www.liaoxuefeng.com/wiki/1177760294764384
视频课:https://www.bilibili.com/video/BV1Vy4y1z7EX
Navicat使用:
– 教程:https://www.bilibili.com/video/BV1Ni4y1c7sG
重点掌握:
- Mysql 安装使用
- Navicat 的使用 (数据库管理客户端)
- 掌握数据库,表的概念,能够创建数据库,表
- Sql常用语句(数据库、表创建,主键、自增索引,数据增删改查, Join联表查询)
- 掌握 Mysql 事务
JDBC(7天)
为什么学?
JDBC,这块主要是理解JDBC是一个标准的数据库操作的接口, 有了JDBC,Java可以通过统一的接口操作各种数据库。后续要学习的 Mybatis 等底层都是基于JDBC 实现的
学习资料:
文字课:https://www.liaoxuefeng.com/wiki/1252599548343744/1305152088703009
视频课:https://www.bilibili.com/video/BV1eJ411c7rf
重点掌握:
- 学会通过 JDBC 连接以及操作数据库进行增删改查
作业六
完成作业六
三、WEB 开发基础(框架学习)
JavaScript + jQuery +Bootstrap(3天)
为什么学?
JavaScript
是网页上的编程语言,我们向后端发起请求(Ajax),控制页面HTML元素(增删改)都是通过JavaScript完成的。
jQuery
是一个 JavaScript 库,它简化我我们日常的开发,主要解决了浏览器之前的差异,简化了Dom操作,提供简洁的接口, 提高我们的开发效率。当我们做前后不分离的应用时一般都用要用到 jQuery
Bootstrap
相当于是带设计的 HTML+CSS 模板,里面有很多现成的设计好的组件,直接粘贴复制改改就能用。
学习资料:
JavaScript+jQuery文字课:
https://www.liaoxuefeng.com/wiki/1022910821149312/1023020895584256
JavaScript+jQuery视频课程:
https://www.bilibili.com/video/BV1Y7411K7zz
(P33-99)
Bootstrap4:
https://www.runoob.com/bootstrap4/bootstrap4-tutorial.html
Bootstrap4 快速过下就行, 用到什么过来查就行
重点掌握:
JavaScript:
– 基本语法、数据结构
– 常用字符串处理函数
– 循环,判断
– 函数
– 标准对象
– 面向对象
– 浏览器操作(Dom)
– jQuery
– 选择器
– Dom操作
– 事件处理
– Ajax
作业七
完成作业七
Vue +ElementUI(5天)
为什么学?
学了 Vue 就可以开发前后分离的单页应用了。
Vue 是一个前端开发框架, 主要用来开发单页应用(前后端分离)。
ElementUI 是一个基于 vue 开发的UI组件库,里面有很多现成的组件可以直接拿来用。
学习资料
Vue 快速入门:
https://www.bilibili.com/video/av76249419
Vue 视频教程:
https://www.bilibili.com/video/BV1dQ4y1A75e?p=38(p38-p67)
看完第一个视频再看第二个视频 ,有重复的可以跳过
也可以直接看第二个视频, 涉及到 ES6(EcmaScript6)的部分建议还是看下, 涉及到了一些新的JavaScript语法。
ElementUI 快速入门
https://element.eleme.cn/#/zh-CN/
重点掌握
- Nodejs + Npm + Webpack
- Vue
- 基本语法
- 理解双向绑定概念
- 模板语法
- v-if v-for
- 事件处理
- Vue 组件
- Vue 组件 prop
- Vue Router路由
- Vue 跨组件调用
- axios 请求
- vue-cli的使用
作业九
完成作业九
Spring(3天)
为什么学?
Spring 是 Java 项目开发的基本语法之上的基础,它是基础框架, 更高级的 SpringMVC,SpringBoot 框架都是基于他构建的。
Java 是一门面向对象编程语言,每个类一个文件, 那么如何将各种各样的类,有机组织起来,让我们更高效的完成任务,这就是Spring框架的作用, 它帮我搭建了基础设施,使得我们可以更专注与业务的开发而不用太关注底层的实现。
学习目标:
掌握如何用 Maven 构建一个 Spring 项目, 掌握如何配置使用 Spring 框架
理解 IOC,AOP 概念及使用方法。
学习资料:
文字课:https://www.liaoxuefeng.com/wiki/1252599548343744/1266263217140032
– IOC 容器
– 使用AOP
视频课:https://www.bilibili.com/video/BV1Vf4y127N5
(P1-P52)
SpringMVC(3天)
为什么学?
MVC 是一套设计模式,将视图、控制器、模型三者有机的结合在一起方便我们编写业务,SpringMVC 是基于 Spring 框架构建的,并且实现了MVC的设计模式,用于方便的开发快速开发 web 应用 。
MVC的理解: 点此查看
注意:
SpringBoot 对 SpringMVC 进行了简化,实际开发中一般会直接使用SpringBoot,学习 SpringMVC 重点是理解 SpringMVC 框架的原理,以方便更好的使用 SpringBoot 开发,所以这块可以考虑快速过一下,或者先学习 SpringBoot,等后面再回来详细 SpringMVC。
学习资料:
视频课:https://www.bilibili.com/video/BV1Ry4y1574R
文字课:https://www.liaoxuefeng.com/wiki/1252599548343744/1282383921807393
这部分尽量看视频, 文字课比较简单
如果看文字课,建议把 廖雪峰 web开发部分的 ”MVC“, ”MVC“高级课程部分看了,再看这部分
重点掌握:
- 理解MVC概念
- 使用 SpringMVC 框架安装配置使用方法
- SpringMVC 处理请求
- SpringMVC 中 Session 和 Cookie 使用方法
- SpringMVC 中请求重定向方法
- SpringMVC 集成模板引擎方法
SpringBoot2(7天)
学习目标:
能够使用SpringBoot 开发Web应用
MVC 即 Model-View-Controller,模型 – 视图 – 控制器。参考学习: https://www.ruanyifeng.com/blog/2007/11/mvc.html
学习资料:
视频课 1和2 选一个学习就行, 2讲的比较深,但是难度大,根据自己的情况选择即可。
视频课1:https://www.bilibili.com/video/BV15b4y1a7yG
这门课主要通过做一个简单的CURD项目来学习 Springboot,不用全看完,学到 P95即可,后面的 MongoDB,Elasticsearch 等其他实战视频做项目的过程中用到了过来学就行了。
注意课程中涉及 Mybatis,Mybatis-Plus 的整合, 这块可以先照做就行,下一课会详细学习。
视频课2:https://www.bilibili.com/video/BV19K4y1L7MT
重点掌握:
- 使用 SpringBoot 框架安装配置使用方法
- 能够使用 SpringBoot 完成应用开发
- SpringBoot 整合 Mybatis+Mybatis-Plus 框架
- 掌握 redis 的基本使用方法, 能够使用 SpringBoot 整合 redis
数据库框架(Mybatis,Mybatis-Plus)(3天)
为什么学?
在 Springboot2 的学习中已经涉及了 Mybatis 和 Mybatis-plus 的简单应用, 这一课将详细的学习Mybatis和Mybatis-plus
学习目标:
掌握 Mybatis 对数据库的常用操作方法, 事务处理方法。
掌握在 SpringBoot 中集成 Mybatis。
掌握 Mybatis-Plus 的使用。
掌握 Lombok 的使用。
课程:
视频课:
Mybatis https://www.bilibili.com/video/BV1mW411M737(p1-p50)
MybatisPlus https://www.bilibili.com/video/BV1Ds411E76Y(p1-p42)
文字课:https://www.liaoxuefeng.com/wiki/1252599548343744/1282383540125729
重点掌握:
- 理解 ORM 的概念
- 理解 JPA,Hibernate,Mybaits的区别
- 能够使用 Mybaits 进行增删改查
- MyBatis Plus 通用CURD 用法
- MyBatis Plus 条件构造器
作业十
完成作业十
Spring Security(3天)
为什么学?
Spring Security 是基于 Spring 实现的用于处理用户认证,用户权限相关业务的框架,使用Spring Security框架可以帮助我们快速实现这些常用的用户登录, 权限相关的业务逻辑。
学习目标:
掌握 Spring Security 的使用方法,能够为应用添加用户登录注册权限等功能。
学习资料:
视频教程: https://www.bilibili.com/video/BV1VE411h7aL
重点掌握:
– 理解 RBAC 的概念
– 理解 Oauth2.0 概念
– 理解 JWT 概念
– 能够使用Spring Security 完成用户认证授权等功能
作业十一
完成作业十一
四、项目实战(20天)
学习目标
掌握一个成熟项目的开发过程,将所学的技术串联到一起进行开发。
学习资料
学习资料:https://www.bilibili.com/video/BV1dQ4y1A75e
该项目中涉及到了微服务以及微服务框架Spring Cloud的知识, 不用担心,跟着学就可以了,课程讲的很详细
重点掌握
- 学习微服务项目,模块拆分技巧
- 理解微服务,分布式项目概念
- 复习 Vue 语法
- 复习前端 Webpack 打包
- 复习使用 Spring Security 进行登录注册的开发
- 学习单点登录的开发
作业十二(博客项目)
完成作业十二
五、WEB开发进阶(工程及工具)
代码规范(1天)
为什么学?
学会软件开发并不难,难的是做一个健壮可靠的软件工程,学习开发规范, 可以提升自己的代码质量,提升代码的可读性, 降低线上发生故障的概率,将线上风险在早期就规避掉
学习目标: 学习优秀的代码规范, 养成良好的编码习惯
学习资料: 链接: https://pan.baidu.com/s/1qIElT9ZXZw39ZCWBXEcmnQ 提取码: 46ec
学习方法: 作为手册,随时翻阅
重点掌握:
- 编程约规
- 异常日志
- 安全约规
- Mysql 数据库
- 工程结构
GIT(2天)
为什么学?
Git 是一个文件版本控制工具, 他可以解决我们日常开发代码的提交记录,文件的每个版本的修改记录, 可以回退到老的修改
Git的分支功能,可以解决大型项目开发中,多人协同开发的问题。
同时支持钩子,帮助我们以后可以实现持续集成部署(CI/CD)的效果, 比如当你push 代码到代码仓库中 ,你的服务器可以自动对你的Java项目进行打包、发布,用户就可以看到新的功能了。
学习目标: 掌握 Git 代码提交、分支使用、代码合并**
学习资料: https://www.liaoxuefeng.com/wiki/896043488029600
重点掌握:
- git add
- git commit
- git push
- git fetch
- git merge
- git checkout
- git checkout -b
- git remote
- git branch -a
Chrome 开发者工具(0.5天)
//Todo
为什么学?
WEB 开发过程中,我们经常需要查看网页结构,查看网页发送的所有请求,包括异步请求,以及查看服务器想浏览器发送的 Cookie等,使用Chrome开发者工具可以满足我们的需求。
学习目标: 掌握 Chrome 分析网页结结构、分析页面请求、查看Cookie
学习资料: https://www.bilibili.com/video/BV1Vx411W7eE
重点掌握:
- 分析网页Dom结构
- 分析网页请求,查看XHR请求
- 查看Cookie,LocalStorage
Postman(0.5天)
为什么学?
在一个大型项目中,会涉及到大量的接口,如何管理测试这些接口, Postman就可以帮助我们将这些接口管理起来。
另外如果我们做前后端分离应用,多数接口会对请求头、Cookie等就行用户认证和权限认证,在浏览器中测试这些接口会很不方便, Postman可以设置每个请求的请求头,包括Cookie,可以方便的模拟测试这些接口。
学习目标: 学会使用 Postman 调试接口
学习资料: https://www.cnblogs.com/ezrealli/p/10963696.html
Linux(3天)
为什么学?
我们本地开发一般用 Windows 或 Mac,但是应用开发完成,最终要运行到 Linux上, 熟悉 Linux 是 Java 程序员的基本功。
VIM 是线上修改配置等,最常用的编辑器
学习目标:
Centos7 是常用的Linux 操作系统
掌握 Centos7 常用操作, 学会使用 ssh 密码登录、ssh公钥登录
学习资料:
Centos7 :https://www.bilibili.com/video/BV1Sv411r7vd
VIM 入门: https://www.bilibili.com/video/BV1UQ4y1z7q5
重点掌握:
- 用户、用户组
- 文件系统、文件权限rwx
- 掌握命令
- 常用命令 cd、 ls、pwd、mkdir
- 重定向符 >> >
- 进程查看 ps aux
- 资源查看 top
- 文本处理 cat、tail、grep、
- 文本处理 sed、awk(可选)
- 磁盘io iostat(可选)
- 包管理 yum
- 网络查看 netstat -an
- 编辑器 vim
- vim 的三种模式
- 能够使用 vim 编辑配置
- sshd 使用公钥登录
Nginx(2天)
学习目标:能够使用 Nginx 部署自己的 Web 应用
学习资料:https://www.bilibili.com/video/BV1zJ411w7SV
重点掌握:
- server 指令
- listen
- index
- root
- location
- proxy_pass
- 开启gzip
作业十三
完成作业十三
六、就业准备(30天)
注意事项
- 学历、学校:二本,普通一本基本上没多大区别, 985/211 大厂更青睐
- 目标公司Level: 如果是二本或普通一本,先看自身实力,如果学的很好,基础扎实,项目经验多,可以尝试大厂,如果学的一般,不要太执著于去大厂,以先入行为目标。 当然即便是985/211 ,自己学的不行,也不要抱什么希望进大厂。
- 这阶段会涉及很多基础,偏底层原理的学习, 学习方法是大量的刷题和刷别人的面试时遇到的问题、相关知识点和概念,能够考80分就算成功, 所以刷到最后发现,每套题或者面经里的80% 你都会,就可以自信的去面试了。
- 操作系统
- 计算机网络
- 数据结构与算法
- Java 基础
简历模板及技巧
简历编写技巧及模板,参考 http://www.dahouduan.com/2022/03/07/resume-templates-and-writing-skills/
算法相关
刷题网站:
算法面试题汇总: https://leetcode-cn.com/leetbook/detail/top-interview-questions/
图解算法数据结构:https://leetcode-cn.com/leetbook/detail/illustration-of-algorithm/
参考书籍:
⭐《小灰的漫画算法》
⭐《剑指 Offer》
重点掌握:
– 时间复杂度,空间复杂度
– 评估算法的时间复杂度
– 掌握常见数据结构操作的时间复杂度,
– 了解常见的 O(1) O(N) O(NlogN)
刷题
https://www.nowcoder.com/tutorial/94/4206176d637541fa92c784a4f547e979
链接:https://pan.baidu.com/s/1M-atupjKR-TmEjaB6W_szw 提取码:6fbq 复制这段内容后打开百度网盘手机App,操作更方便哦
刷面经
校招:
https://www.nowcoder.com/discuss/experience?tagId=639&order=3&companyId=0&phaseId=1
实习:https://www.nowcoder.com/discuss/experience?tagId=639&order=3&companyId=0&phaseId=2
七、WEB开发进阶-2 (并发编程及开源服务)(可选)
- Java 并发编程
- 网络编程
- Netty
- 队列(简单了解,会用就行)
- Rabbitmq
- 搜索(简单了解, 会用就行)
- Elasticserch