好多同学反馈说想要我带着实战一个C++项目,我想了好久,最终决定做一个埋点相关的客户端SDK。
整个埋点SDK功能不多,代码量不大,但麻雀虽小五脏俱全,整个项目会涉及到很多C++相关的知识点:
C、C++
C++ 新特性
线程池
定时器
Windows 注册表操作
数据库操作
文件系统相关操作
时间相关操作
日志系统
Json
加解密
HTTP、HTTPS网络请求
网络通信协议的设计
一个大型项目涉及到的技术点,咱这个项目应该多数都会用到。对于学习进阶C++、提升项目经验,都非常有帮助。是什么
该专栏创作了如下内容
##【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......
##【C++埋点SDK实战】7-上报协议设计
大家好,我是程序喵。在上一节中,我主要介绍了日志模块的实现,不知道大家有没有看…这一节我会主要介绍如何设计埋点上报的网络协议。