# BackDev **Repository Path**: li-jue0417/cPPstudy ## Basic Information - **Project Name**: BackDev - **Description**: 学习内容的积累和笔记 - **Primary Language**: C++ - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-07-01 - **Last Updated**: 2023-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, Java, Cpp ## README # 后台开发工程师 ## 1 语言学习(C/C++) ### 1.1 配置信息 - windows环境开发 - VStudio - vscode >[Vscode配置C++教程](https://blog.csdn.net/qq_29339467/article/details/104096661) > >配置的时候请一定要看好每句代码后面给的注释 - clion > [Clion](https://www.jetbrains.com/zh-cn/clion/) > > 使用clion==要会Cmake== - Linux环境开发 - vim - vscode ### 1.2 相关学习资料 #### 1.2.1 C++ [C++文字笔记](./lang/c++) [推荐课程](https://www.bilibili.com/video/BV1et411b73Z?p=18&spm_id_from=pageDriver)(课程比较基础,可以2倍速过。之后需要自己看书巩固一下) #### 1.2.2 C [c+文字笔记](./lang/c) [课程推荐](https://www.bilibili.com/video/BV18p4y167Md?spm_id_from=333.999.0.0) #### 1.2.3 Cmake和Makefile [Cmake相关解释](https://blog.csdn.net/Torres_10/article/details/80371425) [makefile经典教程](https://blog.csdn.net/ruglcc/article/details/7814546/) #### 1.2.4 包管理工具 - vcpkg - 自己学一下管理程序空间/手工装载库 ## 2 设计模式 [设计模式笔记](./lang/c++/10.设计模式.md) 视频推荐: [C++设计模式](https://www.aliyundrive.com/s/iZfVeP3KQBJ ) ## 3 推荐书籍 - C++ Primer - C++标准库 - STL源码解析 - Effictive C++ - APUE - UNP [书单](./Books) ## 4 实现项目 - 井字棋[OXgame](./project/oxgame) - [贪吃蛇](./project/snack) - [自己的STL库](./project/my-stl) - [web网络服务器](./project/WebServer) - 网络库 - 自写操作系统 - [流媒体广播](./project/streaming_media) ## 5 Linux学习 ### 5.1前期准备 * [安装虚拟机和ubuntu(linux)系统](https://blog.csdn.net/weixin_41938578/article/details/107027710) * 安装过程中会涉及到vim的用法 - windows远程连接linux - 推荐工具xftp和xshell ### 5.2linux工具 #### 5.2.1 Vim [vim学习视频](https://www.bilibili.com/video/BV1fV41187Zr?p=10&spm_id_from=pageDriver) [vim自己做的笔记](./Tools/1.Vim用法.md) #### 5.2.2 GCC,GDB [aboutGCC](./system/GCCCommand.md) 熟悉docker,k8s的日常操作 ### 5.3 linux命令 [linuxComand](./system/LinuxCommand.md) [推荐课程](https://www.bilibili.com/video/BV1Sv411r7vd?spm_id_from=333.999.0.0) ### 5.4 操作系统 [Linux系统编程](./system/LinuxSystemPro.md) - 网络 - 并发 - 进程 - 线程 熟悉一些基本的LinuxC++调试命令,如ldd等 [window上使用vscode+remotessh开发](https://blog.csdn.net/zhaxun/article/details/120568402) [配置conda环境](https://blog.csdn.net/qq_40843888/article/details/124352963) ## 6 算法和数据结构 [算法学习](./Algo) ## 7 数据库 [数据库原理](https://www.bilibili.com/video/BV1ra4y1t7xY?p=12&spm_id_from=pageDriver) [笔记](./database) 数据库进阶(正在学习中...) ## 8 脚本语言 - linux环境下 就是shell和[python](https://gitee.com/li-jue0417/cv_related/tree/master/Python-study) 脚本语言学习:[学习笔记](./lang/shellscripts) 既想要效率,又想要方便简洁->尝试一下Python 链接C++ - Pybind11 - Google的SWIG ## 9 第二语言选择 java或者go 其实到了这里,建议去学习一下go和java的web开发,这样会对互联网的服务调用以及业务了解一些。 C++/C + go + python + shell脚本 基本是大厂基础架构必备的技术栈 另外还有就是需要熟悉各个领域的开发知识。 比如人工智能,需要熟悉深度学习框架tf和pytorch,cuda编程,tensorrt的基本使用,还有就是数据相关在硬件上怎么跑的流程 机器学习平台基本分为三层:顶层的调用,中间层处理,还有最底层的网络传输