C++埋点SDK项目实战

专栏介绍

好多同学反馈说想要我带着实战一个C++项目,我想了好久,最终决定做一个埋点相关的客户端SDK。

整个埋点SDK功能不多,代码量不大,但麻雀虽小五脏俱全,整个项目会涉及到很多C++相关的知识点:

  1. C、C++
  2. C++ 新特性
  3. 线程池
  4. 定时器
  5. Windows 注册表操作
  6. 数据库操作
  7. 文件系统相关操作
  8. 时间相关操作
  9. 日志系统
  10. Json
  11. 加解密
  12. HTTP、HTTPS网络请求
  13. 网络通信协议的设计

一个大型项目涉及到的技术点,咱这个项目应该多数都会用到。对于学习进阶C++、提升项目经验,都非常有帮助。

【C++埋点SDK实战】加餐-如何在简历中体现这个项目

之前在埋点项目答疑群中,收到读者反馈,希望我能出一期文章,介绍如何在简历中描述这个项目。

所以,本文来了。

对于任何项目的介绍,我建议大家都尽量使用STAR......

【C++埋点SDK实战】15-结束语

大家好,我是程序喵。

在之前的章节中,我已经详细介绍了整个C++埋点项目。本节主要是为了给这个项目画上一个句号。

通过这个项目,我介绍了许多与......

【C++埋点SDK实战】14-整体功能组装

大家好,我是程序喵。

在前面的章节中,我向大家详细介绍了项目中各个子模块的实现,包括公共信息获取模块、多线程模块、上报模块、数据库模块、加解密模块以及三方库等模块。

【C++埋点SDK实战】加餐-spdlog源码分析

源码地址:github.com/gabime/spdlog

架构如图,其实也不只是spdlog,几乎所有的Log模块都是这样的架构:

【C++埋点SDK实战】13-公共信息获取

大家好,我是程序喵。

上一章节中,我介绍了项目中上报模块的实现,本节我们来点轻松的,介绍下如何获取公共信息。

为什么要获取公共信息?

【C++埋点SDK实战】12-上报模块实现

大家好,我是程序喵。

在前面几期中,我已经介绍过如何发起http通信,如何实现加解密功能,如何进行多线程开发,这一期,我会把这些能力整合到一起,完成整个上报模块。

【C++埋点SDK实战】11-多线程开发

大家好,我是程序喵。

本节我主要向大家介绍埋点项目中的多线程模块。

估计正常做C++多线程开发,大多数朋友都是这样写代码:

std::t......## 【C++埋点SDK实战】10-加解密实现 大家好,我是程序喵。

前面我介绍过数据库的作用,会在上报前先把数据按一定格式存储到数据库中,用于持久化,防止信息丢失,而且也提到过,存储内容一定要是加密过的数据,防止数......

【C++埋点SDK实战】9-如何发起http请求

大家好,我是程序喵。

前面我们设计了上报的协议,并且确定使用http协议做埋点的网络上报。

HTTP请求是基于TCP协议的,它涉及以下几个主要......

【C++埋点SDK实战】8-数据库设计与使用

大家好,我是程序喵。

上一节介绍了上报协议的设计,这一节我会主要介绍埋点项目中,数据库的结构设计与使用。

提到数据库,大家肯定会想到MySQL、Postgr......

去【 小报童 】查看专栏详情