前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cpp后台学习计划与记录

Cpp后台学习计划与记录

作者头像
yifei_
发布2022-11-14 14:22:17
5290
发布2022-11-14 14:22:17
举报
文章被收录于专栏:yifei的专栏

Cpp后台需要学习的知识多而杂,务必要制定一个切实可行的学习计划。

Cpp后台书籍&项目

技术栈思维导图

后台开发技术栈
后台开发技术栈

Cpp

  • 《C++ primer》 √
  • 《Effective C++》 √   第一遍:43-47,49-52未读。
  • 《Effective STL》
  • 《STL源码剖析》-
  • 《深度探索C++对象模型》
  • 《More Effective C++》

Linux环境&相关工具

  • 《鸟哥的Linux私房菜I》-
  • GCC/GDB -
  • Make/CMake
  • Git -

算法与数据结构

  • LeetCode Top100 Liked Questions -
  • LeetCode -
  • 《挑战程序设计竞赛》 -

系统编程

  • 《深入理解计算机操作系统》 -
  • 《Unix/Linux编程实践教程》 √
  • 《Linux/UNIX系统编程手册(上册)》 √
  • 《Linux/UNIX系统编程手册(下册)》 √
  • 《UNIX环境高级编程》

网络编程

  • 《TCP/IP详解 卷1:协议》
  • 《TCP/IP详解 卷2:实现》
  • 《UNIX网络编程 卷1:套接字联网API》-
  • 《UNIX网络编程 卷2:进程间通信》
  • 《Linux多线程服务器端编程:使用muduo C++网络库》-

Linux内核

  • 《计算机操作系统(汤小丹汤子瀛版)》√
  • 《Linux内核设计与实现》

源码阅读

  • Tinyhttpd √
  • Webbench √
  • leveldb
  • muduo
  • Redis
  • nginx
  • UNIX v6

项目实践

  • C++线程池 √
  • C++内存池 √
  • 代理程序
  • ftp服务器
  • 网络库
  • 即时通讯软件
  • 消息队列
  • k-v数据库

笔试面试

  • 牛客网面经 -
  • 牛客笔试题
  • 《剑指offer》 √
  • 《编程之美》

其他

  • 《后台开发:核心技术与应用实践》 -   本书可以用来当做一个知识图谱,具体知识还需要去看相应书籍来学习。
  • 《Redis设计与实现》
  • 《深入理解Nginx》

要点与注意事项

  • 基础知识是最根本的,也是最基本的。这些书一定要过一遍,并且有些书要读不止一遍。
  • 每一阶段的学习一定要多总结!多总结!可以总结到博客里,不然很快就会忘记。

学习计划与记录

思维导图对应markdown

本图参考《后台开发:核心技术与应用实践》

代码语言:javascript
复制
# 后台开发
## 常用类库
### JSON
* 掌握JSON的结构
* JSON相关库的使用
* JSON的用途
### Protobuff
* 了解Protobuff的特点
* 能熟练使用Protobuff
* 了解Protobuff的用途
## HTTP协议
### HTTP协议
* HTTP协议结构
* HTTP的原理
### CGI
* 掌握CGI的环境变量
* 熟练掌握GET和POST参数的使用
### FASTCGI
* 了解FASTCGI是什么
## 进程通信
### 多线程
* 了解多线程的使用、属性
* 了解进程同步问题
* 了解多线程重入问题
### 进程
* 掌握进程的创建与结束
* 掌握僵尸进程和守护进程
* 熟练使用daemon函数
### 进程间通信
* 掌握管道、共享内存和信号量的使用
* 了解消息队列
* 掌握ipcs工具的使用
## 网络通信
### TCP协议
* 深入了解TCP协议和状态流转图
* 掌握超时重传、滑动窗口、与用塞控制机制
* 熟练使用网络编程api
* 了解TCP协议选项
* 了解网络字节序和主机序的区别
* 可以轻松地写出一个客户端和服务器端
### 网络IO模型
* 了解网络IO模型
* 知道select\poll\epoll的使用方法和原理
* 了解select\poll\epoll的区别
### 网络分析工具
* 熟练使用ping\tcpdump\netstat\lsof四款工具
## 编译调试
### 编译与链接
* 了解编译与链接过程中都发生了什么
### Makefile的编写
* 能熟练地编写Makefile
### 目标文件
* 了解ELF文件类型
* 了解两种视图下ELF文件的内容
* 了解处理目标文件相关工具
### 调试工具
* 熟练使用strace\gdb调试程序
* 熟练使用top\ps\valgrind工具分析进程
## 编程语言
### 语法
* 熟练掌握函数、数组指针、引用、结构体、预处理等语法知识
### 面向对象
* 类与对象
    * 掌握类的封装性
    * 掌握构造函数、析构函数、静态数据成员
    * 掌握类模板
    * 会计算对象的存储空间
* 类的继承与派生
    * 熟练使用类的继承与派生
    * 了解派生类的访问属性
* 类的多态
    * 熟练使用类的多态和虚函数
    * 能使用单例模式
    * 掌握纯虚函数的用法
### STL的使用
* 掌握string\vector\map\set\的使用和原理
* 使用时需注意的细节

欢迎与我分享你的看法。 转载请注明出处:http://taowusheng.cn/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Cpp后台书籍&项目
    • 技术栈思维导图
      • Cpp
        • Linux环境&相关工具
          • 算法与数据结构
            • 系统编程
              • 网络编程
                • Linux内核
                  • 源码阅读
                    • 项目实践
                      • 笔试面试
                        • 其他
                          • 要点与注意事项
                          • 学习计划与记录
                            • 思维导图对应markdown
                            相关产品与服务
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档