CPP-Roadmap
CPP 23 届学习路线
前言
\(  ̄▽ ̄ )/
欢迎大家升入大学!
大学是发掘自己兴趣的绝佳时机
这是我们CPP团队为大家提供的学习路线
希望能为正在探索自己兴趣所在的各位提供一点帮助
当然,我们也非常欢迎有兴趣有能力同学加入我们CPP团队!
文章太长无法定位到方向学习内容?可以把页面稍微向下滑一下,然后右下角会弹出索引的按钮,点击就可以看辣。
前端
准备工作
VSCode下载: https://code.visualstudio.com/ (官网)
VSCode 相关插件:
- Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code (汉化包,搜索 Chinese 即可)
- Live Server (提供浏览器实时页面预览)
- HTML Boilerplate (提供 HTML 标签快捷代码块)
- Auto Close Tag (提供 HTML 标签自动闭合)
- HTML CSS Support (提供 CSS 智能链接感知)
- iconfont-preview (字体图标预览)
插件可以在安装完 vscode 以后点击左侧 这个按钮来搜索与安装插件。
在线文档: https://developer.mozilla.org/zh-CN/ (有不懂的知识可以在这里搜索)
大一上学期
HTML, CSS: https://www.bilibili.com/video/BV14J4114768/ 看到 P297 即可
CSS 部分抽空学习以下内容:
flex 布局:
- https://www.bilibili.com/video/BV14J4114768/ (P417 - P426)
JS: https://www.bilibili.com/video/BV1Sy4y1C7ha/ 看到 P386 即可(jQuery 做了解即可)
现在蓝桥杯有前端组方向,可以去报名玩玩!
大一上学期-寒假
HTML、CSS:
transform 相关:
- https://www.bilibili.com/video/BV14J4114768/ (P357 - P388)
移动端网站开发(可选,包含 Less 学习):
-
https://www.bilibili.com/video/BV14J4114768/ (P391 - P454)
Less - CSS 预处理器:
-
https://www.bilibili.com/video/BV14J4114768/ (P450 - P452)
Git 与 GitHub/Gitee - 代码托管 & 全球最大的同性交友网站:
快速上手: https://zhuanlan.zhihu.com/p/625189086
推荐搭配 VSCode 图形界面使用,推荐 VSCode 插件:GitGraph
、gitignore
这里可以尝试把自己的代码上传到 Github / Gitee 上面、假如上不去记得开个梯子
ES6 - 助你减少重复代码量的语法糖:
https://blog.csdn.net/ttttsuki/article/details/117885061
Promise - 单线程阻塞的解决方法:
讲解视频: https://www.bilibili.com/video/BV1GA411x7z1/
axios 与 fetch - 实现网络请求:
axios: 尚硅谷课程
理解工作原理后要懂得如何在实践中发挥作用
fetch: MDN
fetch 可能在平时做小玩具的时候会经常用,axios 则是在大型项目会用
你也可以通过 fetch 实现 axios 类似功能。
Nodejs - 认识 js 的独立运行时引擎与工程化环境:
https://www.bilibili.com/video/BV1gM411W7ex/ (看到P94)
你还需要在这里了解一下 esm
与 commonjs
的区别,可以自己去百度
pnpm
:一个比 npm、yarn 更好的选择:
https://www.pnpm.cn/ (推荐,团队项目采用的包管理器均为 pnpm)
此时你可以利用 nodejs 做各种有趣的事情了,包括但不限于制作 QQ 机器人、当一个后端(doge)、自己部署学习通签到脚本、当全栈工程师、进行机器学习模型训练…
如果可以的话可以提前开始看看 Vuejs
。
额外扩展:
- Koa - 一个 Web 网络框架,可以用它来写后端:
- http://koajs.com.cn/
- Nestjs - 也是一个 Web 网络框架,不过适合更大型的项目,且更像 java 写后端:
- https://nest.nodejs.cn/
- Typescript - 附带图灵完备逻辑并提供 ide 类型检查的工具:
- https://www.bilibili.com/video/BV1Xy4y1v7S2/
大一下学期
Vue.js - 你瓷器国前端人均的技术栈:
官网文档: https://cn.vuejs.org/
VSCode 插件:Vue Language Features (Volar)
、Vue 3 Snippets
圈子生态:
- Vue devtools:开发者工具,可以直接百度怎么安装
- Vuejs 路由:https://router.vuejs.org/zh/
- Pinia 全局状态解决方案:https://pinia.vuejs.org/zh/
- Element-UI:https://element-plus.gitee.io/zh-CN/
推荐看文档学习,如果觉得文档学习难度大可以去 b 站找适合自己的视频或看这个尚硅谷的: https://www.bilibili.com/video/BV1zq4y1p7ga/
脚手架推荐使用 Vite,文档: https://vitejs.cn/vite3-cn/ (当你开始使用 vue-cli 的时候就去用 Vite 吧,开发体验会好很多)
Vuejs 需要在 5 月前学完,因为 5 月后会有中软杯考核
后台管理模板 - 快速解决中软杯普通需求与项目工程化入门:
https://fantastic-admin.gitee.io/
需要使用 Vue3
+ Vue Router
+ Element-Plus
+ Pinia
你可以在这个项目中学习到代码格式化相关的内容:ESlint + StyleLint
大一下学期 - 暑假
Vite - 下一代前端工程化的工具:
官方文档: https://vitejs.cn/vite3-cn/
假如只想要做浅层了解那就只需要懂得怎么创建项目即可,深入了解可以试试编写 vite 插件供自己的项目使用 / 了解 Vite 社区插件
其次是一些开箱即用的功能可能要提前了解: https://vitejs.cn/vite3-cn/guide/features.html (CSS,支持 module 导入;静态资源支持 glob 导入)
releas-it & cz-cli - 提交规范化与项目 Changelog 生成(工程化必备):
这部分均为自行阅读 Github Readme 学习,不需要花太多时间
提交 cli: https://github.com/commitizen/cz-cli (帮助生成 git 提交信息)
release: https://github.com/release-it/release-it (生成 release 版本号 + 生成 Changelog)
Typescript - 附带图灵完备逻辑并提供 ide 类型检查的工具:
视频: https://www.bilibili.com/video/BV1Xy4y1v7S2/
类型体操: https://zhuanlan.zhihu.com/p/452657140
小测试:使用了类型体操实现类型 NumCollect<Min, Max>
他可以返回一个类型集合,举例: NumCollect<2, 40> = 2 | 3 | ... | 40
Tailwind - 原子化 CSS 解决方案
安装向导: https://www.tailwindcss.cn/docs/guides/vite
该部分会使用就行,推荐 VSCode 扩展:Tailwind CSS IntelliSense
、TailwindCSS Kit
React - 给了你什么但是似乎又啥都没给你的可高度贴合工程但是工期很长的 UI 框架(推荐):
使用 Vite 创建脚手架会方便很多,且你可以知道 React 的组件是什么样的,如何引入与导出
当然文档中也推荐使用 Next.js
创建项目,不过文档最新内容都在英文官网,假如你觉得使用难度大还是可以继续用 vite 的
nextjs 英文官网:https://nextjs.org/docs/ 中文官网:https://www.nextjs.cn/ (内容可能存在滞后性)
推荐跟着文档学习: https://react.docschina.org/
b 站的视频大多都是讲解 class 组件,这种声明组件形式官方已经不推荐了。有不懂的随时要向学长提问
前端的学习路线多为自由探索的拓展内容,实际考核内容只是一小部分,大家可以从头开始慢慢来,积极尝试,兴趣总会带你走的更远的!
后端
第一阶段
开发语言的选择:java、c++、go。 团队主要以java为主(但是其他语言也是平等对待的,只要你喜欢就好),以下是java学习路线:
推荐视频
- 尚硅谷(讲得相对细)
尚硅谷Java零基础全套视频教程(宋红康2023版,java入门自学必备)
- 黑马程序员(速成且内容相对有趣易懂)
上部:黑马程序员Java零基础视频教程_上部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题
下部:黑马程序员Java零基础视频教程_下部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)
- 韩顺平(最细但是最长)
反射章节觉得难度大的也可以先跳过,后续再进行学习
学习的时候尽量自己也跟着敲一遍,不要追求倍速,要打好基础
可以养成写博客,用markdown做笔记等好习惯
注:
- 尽量学会debug,对后续学习来说是个强有力的辅助工具。
- 遇到问题时优先利用网络资源寻找解决方案(养成寻找问题的良好习惯),实在无法解决可以在群上问师兄师姐。
- 一轮考核中需要使用到面向对象的知识,正常来说学完面向对象的知识可以基本达到一轮考核的要求,往后的知识可以去完善(例子:学生管理系统)。
- 打好基础,刷好算法。
第二阶段
①mysql数据库学习
- 尚硅谷(推荐):
MySQL数据库教程天花板,mysql安装到mysql高级,强!硬!_哔哩哔哩_bilibili 看到p73即可,其余后续再进行学习
- 黑马程序员:
黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括 看到p57即可,其余后续再进行学习
②jdbc学习
- 尚硅谷:
尚硅谷JDBC核心技术视频教程(康师傅带你一站式搞定jdbc)_哔哩哔哩_bilibili
▲ jdbc课程用mysql5.7比较老,mysql8.0配置有点改变的,大家留意一下
jdbc(mysql8.0)配置文件
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbcstudy(你要连接的数据库)?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC
username=root
password=123456
③javaweb学习
- 尚硅谷(速成)
尚硅谷丨2022版JavaWeb教程(全新技术栈,全程实战)_哔哩哔哩_bilibili
- 黑马程序员(非常全面但是长)
黑马程序员JavaWeb全套基础教程,java web从入门到项目实战(IDEA版javaweb)
第三阶段
开始学习开发框架:ssm..【尚硅谷新版SSM框架全套视频教程,Spring6+SpringBoot3最新SSM企业级开发】
移动端
第一阶段:学习java语言基础部分
目标:不用把java的全部内容学完,只需要学到IO流、继承及线程,剩下的可以在以后慢慢学习。当然,如果你时间充裕也是可以往后面学下去的。(在能保证能够跟上考核进度的情况下哦)
前言:每个视频/书籍/老师对不同的人适用性因人而异,所以每个课程都可以去试听一下,挑选一个自己喜欢的。 学习资料: (1)BiliBili
-
https://www.bilibili.com/video/BV1Kb411W75N?p=1 尚硅谷的,讲的挺细(每个视频不会太长,适合挤出来的时间学习)
-
https://www.bilibili.com/video/BV1Rx411876f?p=171 这个视频是有分版本的,大家可以从P160开始看2020版本的,前面的是老版本
-
https://www.bilibili.com/video/BV17F411T7Ao/?share_source=copy_web&vd_source=56a1ec76c6205637796b40dc16e64602 黑马程序员,很有名的培训机构了,挺多师兄都是看这个入门的 (首推)
-
基础: https://www.bilibili.com/video/BV1FZ4y1H7rh/?spm_id_from=333.999.0.0 马士兵java,赵珊珊老师讲的,里面会有笔记可以方便复习
进阶: https://www.bilibili.com/video/BV1cb4y1X7kz/?spm_id_from=333.999.0.0&vd_source=f91d20db1b8e03246f9eed618294062a
(2)书籍:《零基础学Java》
第二阶段:学习Android开发的基础
如果能在大一第一个学期开始学习Android那你已经领先很多人了,只要继续努力一定能进入团队。 目标: ①能够熟练配置安卓的开发环境以及使用Android Studio,(如果已经安装了idea的同学可以使用idea来进行安卓开发)。 ②熟悉布局的编写绘制、Android四大组件和网络编程,并能够借此开发一些功能简单的app如简易计算器、文件管理器、音乐播放器等。
③学习安卓程序文件的命名规范
④学习MVP或者MVVM架构设计模型。
学习资料: (1)BiliBili
-
关注UP主程序员拉大锯 他的Android开发基础课程讲解的非常通俗易懂,知识分块也很合理不容易搞混,他同时也发布了一些项目视频以及安卓拓展知识点技巧视频讲解,有能力的同学也可以去了解了解。(可能会比较旧,因为安卓的更新换代相较于其他会更快)
-
子林安卓开发 (首推) https://www.bilibili.com/video/BV17X4y157p8/?share_source=copy_web&vd_source=56a1ec76c6205637796b40dc16e64602 个人开发者清华大佬录制的教程,讲的很通透是一位宝藏up主。缺点是教程比较基础,更新太慢。但是对零基础的同学完全够用。
-
享学课堂-比较专业 适合有点基础的同学 https://www.bilibili.com/video/BV1j44y1K7JQ/?share_source=copy_web&vd_source=56a1ec76c6205637796b40dc16e64602 建议是2和3混搭起来学习,学完了子林的教程再去看享学课堂。
(2)菜鸟教程网:讲解的非常详细,每一步都有解释 https://www.runoob.com/w3cnote/android-tutorial-intro.html
(3)书籍: 《第一行代码》第二版—郭霖 虽然有点老,有些知识点过时了。但是讲解的挺全面的,很适合小白。(这本书在图书馆内也有,可以看看,里面每个知识点后面都会有一些关于Android的一些应用。) Ps:记住是第二版哦,第二版才是用java开发,而最新的第三版是用kotlin开发的,不适合入门学习。 (图书馆内也还有一些其他的有关于Android的书籍,可以适当参考参考)
(4)还有其他教程网站例如尚硅谷、慕课等都有Android开发入门教程。
UI
什么是UI
视频介绍: 1/100 |揭秘!UI设计师上班都干点啥
大家通过观看这个视频应该对于UI及UI设计师的职能、工作内容等有了一定的认识,对需要学习的内容及未来发展应该有了一个大致的了解。如果你喜欢UI设计,你应该庆幸能在大一就开始了这方面的学习,相信未来的你一定会感谢你如今的选择。相信大家选择一个方向学习,也是希望能在未来进入好的公司企业相关部门工作,拿到满意的薪资。那么下面简单放几个类似腾讯等互联网企业UI设计师职位要求(不同公司以及同一公司不同岗位的 UI 设计师的职能会有少许差异,但是核心内容是大致一样的,大家未来如果定好目标可以按职责需求进行深度学习)
工作职责:
1、可以配合或者承担大屏端产品的视觉设计。包括按照已有规范和风格完成相关页面以及切图标注等。
2.对大屏端交互和产品有基本的理解和思考。可以承担简单的交互原型图设计。
3.有手绘基础,可以通过手绘闸述设计,可以手绘简单的页面原型和设计方向。
4、可以配合完成运营端设计,包括常规推荐位和H5专题活动等。
职位要求:
1、有一定的视觉设计或UI设计的理论和实践基础。
2、善于交流、具备标准化团队协作流程思维及合作精神,能承受一定的工作压力。
3、有较好的沟通能力,能阐述自己的设计理念和想法。
4、有积极的学习态度和责任心,要持续跟踪和推动自己的任务和项目。
5、有较为稳定的工作时间,实习期间要求每周五天全天到岗。
职位描述
标签:交互设计 视觉设计 客户端 移动端 UI 海外(港澳台)
岗位职责:
1、负责海外产品的设计工作,包括WEB、IOS、Android、POS端,制定设计标准及规范;
2、理解B端/C端产品目标用户群特征差异和使用场景,定义整体视觉风格;
3、负责项目的设计评审、品质把控、能够主动推动设计创新,总结设计方法论;
4、分析海外产品市场设计趋势,研究目标用户审美倾向并优化现有产品;
5、积极完成临时交办的其他任务。
希望:
1、5年以上互联网工作经验,做过组长经历优先;
2、良好的沟通表达、团队合作、综合协调能力,具备产品设计规划能力;
3、优秀的视觉表现能力,重视细节,责任感强。
是不是看起来挺复杂的,不过没关系,我们有时间有精力,什么是都是点滴积累才能完成的,既然有了方向,那么就要为之奋斗,C++团队UI设计方向就此拉开了一轮学习的帷幕,在学习一段时间后会对大家进行一次考核,第一次考核不会很难,主要是大家要培养持之以恒学习精神,端正态度,期待一个不平凡的你!
我们学什么:
一轮学习:(最基础软件学习+简单规范)
①推荐书籍:《视界·无界 2.0》,非常好的 UI 入门书籍;
②主要学习软件:PS,AI(软件最好下2020版的,如果还没下载好的可以在方向群上下载,届时会发百度云资源到群上面)
PS: A01课 基本概述-第一次进入PS的世界_哔哩哔哩_bilibili
AI: AI教程(illustrator零基础入门50集)从入门到入土,听说是江湖中传闻的熊猫版AI_哔哩哔哩_bilibili
注意:
① 一轮学习 PS 和 AI,到时候都要考核嘚,PS 学习至从第一集 A01~A28 +B03-01(视频制作、3D、动效等制作的教程暂时不需要观看,目前暂时不会用到,以后需要用到会有更高效的软件可以学习;AI 全部观看学习。)
② 简单了解:iOS 和 Android 设计规范。一轮先进行简单了解并记忆,后面需要深度学习。(可以看一下谷歌规范:Meterial Design,蚂蚁设计系统:Ant Design等,这些都是一些优秀的设计系统,了解一下这些设计规范是怎么样的,对你日后作品的输出会有不少帮助)
③软件的学习配合一些练习会事半功倍噢!
CV
入门
先掌握python,python是做视觉以及深度学习的基础,有编程语言基础的同学上手会很快,每学完一个板块可以尝试去做相关习题。数据处理涉及到numpy库和pandas库,这两个最好与python数据处理学习同步进行。一开始入门基本上是跟着视频、教程来把基础打好,在学完一定知识点后去找相应的试题进行巩固练习,到了后期的知识点就比较零散了,这个时候就是要多看别人做的开源项目,学着自己去做项目,整体化发展。(还有就是高等数学以及线性代数一定要学好)
总体学习路线
Python→OpenCV→了解深度学习理论知识→pytorch(深度学习框架)
实用工具推荐
- 学习网站:GitHub、CSDN、知乎、百度、掘金、B站…
- 浏览器:谷歌浏览器(正版)、 edg浏览器(善用特色功能)
- 开发类软件:pycharm或者Visual Studio Code(官网下载,pycharm专业版通过学生认证可以免费用)
- 笔记软件:OneNote、印象笔记、语雀(笔记非常重要,视觉的学习内容很多,一定要养成记笔记的习惯)
- 刷题网站:洛谷、力扣…
Python基础
①Python学习教程(计算机视觉、数据处理的基础,需重点掌握): 黑马程序员python教程,8天python从入门到精通,学python看这套就够了
②计算机视觉方向技术栈介绍(学了python的同学可以先了解一下计算机视觉): 深度学习第3课:计算机视觉研究方向与应用(图像分类、目标检测、图像分割、目标识别、目标跟踪、图像质量分析、图像降噪与修复、图像增强、图像去模糊、图像超分辨、图)_哔哩哔哩_bilibili
数据处理库numpy、pandas
人工智能必备:Python数据分析】AI博士半天就教会我大学一直没学会的利用Python进行数据分析!
算法理论(不作考核,可先跳过)
算法模型学习是机器学习的内容,当然计算机视觉也需要算法模型,但当前阶段可以先跳过,有用到对应模型或者时间充沛的同学可以回来看。往后的深度学习以及数据处理方向都会用到各种各样的算法模型。
OpenCV
工具推荐:Matlab、Pycharm。 用matlab和python都可以做OpenCV的项目,看个人选择,当然两个都掌握是最好的。
①Matlab: (1)Matlab基础教程:Matlab入门教程01_哔哩哔哩_bilibili
(2)Matlab图像处理:MATLAB图像处理教程_哔哩哔哩_bilibili
②Pycharm:2022B站最好的OpenCV课程推荐】OpenCV从入门到实战
③OpenCV计算机视觉精选100题(搭配python代码,这部分建议有一定视觉基础的同学再开始尝试做题 gzr2017/ImageProcessing100Wen: 「画像処理100本ノック」中文版本!为图像处理初学者设计的 100 个问题。 (github.com)
深度学习
深度学习的知识比较难,需要花多时间去啃,建议结合书籍去学习。二轮考核会考察对深度学习理论知识的掌握程度。
(双语字幕) 2023公认最全的【吴恩达深度学习】教程!deeplearning.ai
不会还有人没听【2022】最新 李宏毅大佬的深度学习与机器学习吧???
pytorch
后续也可以根据个人需求选择其他框架学习