Skip to content

🔥 Linux C/C++ Backend Learning Path: MySQL, Redis, OS, Network, 29 Projects, Interview Questions | Full Roadmap for Backend Engineers

License

Notifications You must be signed in to change notification settings

xiaokangcoding/follow-xiaokang-coding

Repository files navigation

小康编程技术文章集 🚀

专注于Linux C/C++后台服务器开发、计算机基础原理与项目实战分享

GitHub stars GitHub forks GitHub issues

📖 关于本仓库

这里汇集了小康编程公众号的所有技术文章,涵盖从入门到高级的完整学习路径。无论你是刚入门的新手,还是经验丰富的开发者,都能在这里找到有价值的内容。

📚 内容体系

🔧 Linux C/C++ 后台服务器开发

入门篇

  • Linux环境搭建与开发工具配置
  • C语言基础回顾与进阶
  • C++面向对象编程精讲
  • Makefile编写与项目构建
  • GDB调试技巧与实战

进阶篇

  • Linux系统编程(进程、线程、信号)
  • 网络编程基础(Socket、TCP/UDP)
  • 高性能网络编程(epoll、多路复用)
  • 多线程编程与同步机制
  • 内存管理与性能优化

高级篇

  • 高并发服务器架构设计
  • 分布式系统设计原理
  • 服务器性能调优实战
  • 容器化部署与运维
  • 微服务架构实践

💾 数据库技术

MySQL 深度解析

  • MySQL安装配置与基础操作
  • SQL语句优化技巧
  • 索引原理与设计实战
  • 事务处理与锁机制
  • 主从复制与高可用架构
  • 分库分表策略
  • 性能监控与调优

Redis 缓存实战

  • Redis数据结构深入理解
  • 缓存策略与设计模式
  • Redis集群搭建与管理
  • 持久化机制详解
  • Lua脚本编程
  • 分布式锁实现
  • 缓存雪崩、穿透、击穿解决方案

🏗️ 计算机基础原理

操作系统

  • 进程与线程管理
  • 内存管理机制
  • 虚拟内存原理
  • 文件系统设计
  • I/O模型深度剖析

计算机网络

  • TCP/IP协议栈详解
  • HTTP/HTTPS协议原理
  • 网络编程模型对比
  • 负载均衡技术
  • CDN加速原理

数据结构与算法

  • 常用数据结构实现
  • 算法复杂度分析
  • 排序算法详解
  • 查找算法优化
  • 动态规划经典问题

🌐 Go 后端开发(即将更新)

Go 语言基础

  • Go语言特性与环境搭建
  • 并发编程(Goroutine、Channel)
  • 包管理与模块化开发
  • 错误处理最佳实践

Web 开发框架

  • Gin框架深入实战
  • 数据库ORM使用技巧
  • 中间件开发与应用
  • RESTful API设计规范

微服务架构

  • 微服务设计原则
  • 服务发现与注册
  • 配置中心实现
  • 链路追踪与监控
  • 容器化与Kubernetes部署

🛠️ 项目实战

入门级项目(8个)

  • 端口扫描器:网络编程基础实战
  • 环形缓冲区:数据结构设计与实现
  • STL vector实现:C++容器底层原理
  • 简易Shell:系统编程综合练习
  • 命令行TODO工具:文件操作与用户交互
  • STL list实现:链表数据结构深度实践
  • CGI执行器:Web服务器扩展机制
  • 哈希表实现:散列算法与冲突处理

进阶级项目(10个)

  • LRU缓存:高效缓存算法实现
  • 线程池:多线程编程核心组件
  • 简易消息队列:进程间通信机制
  • 网络聊天室:Socket编程综合应用
  • HTTP服务器:完整的Web服务器实现
  • HTTP客户端库:网络请求封装与处理
  • Socket网络库:高性能网络编程框架
  • 多线程下载工具:并发编程实战
  • 数据库连接池:资源管理与优化
  • 智能指针shared_ptr实现:内存管理核心技术

高级项目(11个)

  • 内存泄漏检测器:系统级调试工具
  • 内存池:高性能内存管理系统
  • 状态机引擎:有限状态机设计模式
  • 高性能日志库:异步日志系统设计
  • 进程间通信库:多进程协作框架
  • 无锁队列:lock-free数据结构实现
  • 零拷贝文件传输:高效I/O操作优化
  • 定时任务调度器:时间轮算法应用
  • 文件监控系统:inotify机制深度应用
  • 限流器:流量控制算法实现
  • STL unordered_set/unordered_map:哈希容器完整实现

📁 文章目录结构

├── 00-Linux-Basics/               # Linux基础入门
│   ├── Linux 常用命令大全(2篇)/
│   ├── Linux三剑客(3篇)/
│   └── Shell脚本/
├── 01-Linux-CPP-Backend/          # Linux C/C++后台开发
│   ├── 入门篇/
│   │   ├── C语言基础回顾/
│   │   ├── C++面向对象编程/
│   │   ├── Makefile与项目构建/
│   │   └── GDB调试技巧/
│   ├── 进阶篇/
│   │   ├── Linux系统编程/
│   │   ├── 网络编程基础/
│   │   ├── 多线程编程/
│   │   └── 内存管理优化/
│   └── 高级篇/
│       ├── 高并发服务器架构/
│       ├── 性能调优实战/
│       ├── 分布式系统设计/
│       └── 容器化部署/
├── 02-Database/                   # 数据库技术
│   ├── MySQL/
│   │   ├── 基础操作与SQL优化/
│   │   ├── 索引原理与设计/
│   │   ├── 事务与锁机制/
│   │   ├── 主从复制/
│   │   └── 分库分表/
│   └── Redis/
│       ├── 数据结构与应用/
│       ├── 缓存策略设计/
│       ├── 集群搭建/
│       ├── 持久化机制/
│       └── 分布式锁/
├── 03-Computer-Fundamentals/      # 计算机基础原理
│   ├── 操作系统/
│   │   ├── 进程与线程/
│   │   ├── 内存管理/
│   │   ├── 文件系统/
│   │   └── I/O模型/
│   ├── 计算机网络/
│   │   ├── TCP-IP协议栈/
│   │   ├── HTTP-HTTPS协议/
│   │   ├── 网络编程模型/
│   │   └── 负载均衡/
│   └── 数据结构与算法/
│       ├── 基础数据结构/
│       ├── 排序与查找算法/
│       ├── 动态规划/
│       └── 算法复杂度分析/
├── 04-Go-Backend/                 # Go后端开发
│   ├── Go基础/
│   │   ├── 语言特性/
│   │   ├── 并发编程/
│   │   ├── 包管理/
│   │   └── 错误处理/
│   ├── Web框架/
│   │   ├── Gin框架实战/
│   │   ├── 数据库ORM/
│   │   ├── 中间件开发/
│   │   └── API设计/
│   └── 微服务/
│       ├── 微服务架构/
│       ├── 服务发现/
│       ├── 配置中心/
│       └── 链路追踪/
└── 05-Projects/                   # 项目实战
    ├── 入门级项目(8个)/
    │   ├── 端口扫描器/
    │   ├── 环形缓冲区/
    │   ├── STL-vector实现/
    │   ├── 简易Shell/
    │   ├── TODO工具/
    │   └── ... (更多项目)
    ├── 进阶级项目(10个)/
    │   ├── LRU缓存/
    │   ├── 线程池/
    │   ├── HTTP服务器/
    │   ├── 网络聊天室/
    │   ├── 数据库连接池/
    │   └── ... (更多项目)
    └── 高级项目(11个)/
        ├── 内存泄漏检测器/
        ├── 高性能日志库/
        ├── 无锁队列/
        ├── 内存池/
        ├── 状态机引擎/
        └── ... (更多项目)

注意:目前还在补充和优化中,后续会及时更新至 github 上.

🤝 反馈与建议

欢迎大家提出宝贵意见和建议,一起完善这个技术知识库!

  • 📝 提交Issue:发现错误或有改进建议请提交Issue
  • 💬 技术讨论:可以在Issue中发起技术讨论
  • 📧 私信反馈:也可以通过公众号私信反馈问题
  • 点赞支持:觉得内容有用请给个Star支持

📞 联系方式

🔔 关注公众号:跟着小康编程

小康编程公众号二维码

扫码关注公众号,获取最新技术文章

公众号每周更新3-5篇高质量技术文章,涵盖Linux C/C++开发、数据库优化、系统设计等核心技术点。还有独家项目实战教程和面试经验分享!

💬 加入技术交流群

个人微信二维码

扫码添加个人微信,备注:加群

🌟 群内福利

  • 💡 技术问题实时解答
  • 📚 独家学习资料分享
  • 🎯 面试经验交流
  • 🚀 项目合作机会
  • 📈 职业发展建议

添加微信时请备注:加群,通过验证后会邀请您加入技术交流群


⭐ 如果这个仓库对你有帮助,请点个Star支持一下!你的支持是我持续分享的动力!

Happy Coding! 🎉

About

🔥 Linux C/C++ Backend Learning Path: MySQL, Redis, OS, Network, 29 Projects, Interview Questions | Full Roadmap for Backend Engineers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •