作者: 一去、二三里
QQ 技术交流群: 242790253
个人微信: iwaleon(加我微信,邀请入 500 人微信群)
微信公众号: 高效程序员
《Qt 企业级开发》 是亮哥专门打造的一个 Qt 终极篇
专栏,主要面向企业级一站式开发
,包括:模块化开发、日志输出、打包发布、单元测试、自动化测试、内存检测、崩溃捕获等内容
。
该专栏除了拥有丰富的教程、示例源码之外,还拥有相应的『技术交流群』
,以快速帮助你实现 Qt 飞跃式突破。学完之后,你不但轻松掌握新技能,还能提升架构设计能力,最主要的是拿到高薪
。
CTK 插件框架
OSGI 技术是面向 Java 的动态模型系统。Java 圈子里有非常著名的一句话:OSGI - 架构师的天堂。换句话说,OSGI 能让软件开发变得更加容易!
值得庆幸的是,在 C++ 中也有类似的框架 - CTK Plugin Framework。它借鉴了 OSGI 的思想,并实现了几乎完整的 OSGI 框架 API!
在通往架构师的道路上,不仅需要了解面向组件(或服务)的设计和实现,更应当了解其背后的原理。本章节,我们将主要围绕 CTK,探索 模块化编程在 C++/Qt 中的实际应用,希望通过分享的知识,大家能够了解 OSGI 内部的工作机制,并能够基于 CTK 快速搭建 C++ 组件化框架。
- 初识 CTK
- 漫谈 CTK
- CTK Plugin Framework 基本原理
- 编译 CTK
- 使用 CTKWidgets
- Hello,CTK!
- 在程序中嵌入 CTK Plugin Framework
- CTK 插件元数据
- CTK 插件和服务
- CTK 插件之间的依赖
- CTK 事件管理机制(插件间通信)
- CTK 事件管理机制(sendEvent/postEvent)
- CTK 事件管理机制(signal/slot)
- CTK 服务工厂
- CTK 事件与监听
- CTK 服务追踪
- 访问 CTK 服务的最佳方式
- CTK 总结篇(FAQ)
日志记录
日志是一个优秀系统不可或缺的组成部分,利用它我们可以记录系统中所产生的所有行为。
对于很多人来说,日志的作用仅限于调试。其实不然,它在很多方面都非常有用:
- 日志是最好的的诊断工具
- 日志让我们有机会检测模块的瓶颈
- 日志有助于我们了解用户行为
在编写代码时,使用日志框架是一种很好的实践。即使像《代码整洁之道》这样的书籍,也建议学习像 Log4j 这样的框架进行日志记录。
本章节将主要围绕 Log4Qt,探索 C++ 中的日志框架。通过分享的知识,我们可以快速了解 Log4Qt 核心概念及分层架构,日志级别及工作机制,并能熟练使用 Log4j 的各个衍生品(Log4cpp、log4cplus、log4cxx、Log4Qt)。
- 一文详解 C++ 日志框架
- Log4Qt 基本介绍
- 获取 Log4Qt 中的 Logger
- 深入理解 rootLogger、logLogger、qtLogger
- 使用环境变量配置 Log4Qt
- 使用 QSettings 配置 Log4Qt
- 使用 log4qt.properties 配置 Log4Qt
- Log4Qt 初始化过程
- Log4Qt 日志级别
- Log4Qt 日志格式化(PatternLayout)
- Log4Qt 日志格式化(SimpleLayout)
- Log4Qt 日志格式化(TTCCLayout)
- Log4Qt 输出重定向(控制台)
- Log4Qt 输出重定向(滚动多个文件)
- 第 15 课:Log4Qt 输出重定向(以指定的频率滚动文件)
- 第 16 课:Log4Qt 输出重定向(数据库)
- 第 17 课:使用自己的 Logger
打包发布
只要开发软件,那么打包发布永远是一个离不开的话题。我相信,无论是谁,或多或少都会遇到一些问题:
- 打包工具 N 多个,到底该用哪一个?
- Linux 和 Windows 混为一谈,不知道如何针对各平台打包;
- 系统库、编译器特定的库、第三方库,傻傻分不清楚;
- 经常性遗漏某些动态库,使得程序无法正常启动;
- 无法确定程序使用了哪些插件,造成程序功能的缺失(例如:图片无法显示);
- …
~O(∩_∩)O 哈哈 ~不要忘了,还有程序员经常犯的小毛病,“我这里分明是好的,到你那里咋就不行了呢”!
没关系,现在再也不用担心了,这些常见的问题亮哥已经做了详细的总结。从依赖检测 -> 安装配置 -> 创建安装程序 -> 覆盖安装 -> 在线升级 -> 个性定制,实现一站式打包服务:
- 构建 Qt 安装程序
- 准备 Qt 安装包
- Qt IFW 安装配置
- Qt IFW 创建安装程序
- Qt IFW 覆盖安装
- Qt IFW 创建在线安装程序
- Qt IFW 实现自动升级
- Linux 下 Qt 打包发布
- 制作一款精美的 Qt IFW 安装程序
- 使用 linuxdeployqt 部署 Qt 程序