C++ Web开发:从基础到部署
C++ Web开发:从基础到部署
简介:
与刻板印象相反,C++ 不仅仅是系统编程和游戏引擎。现代 C++17/20 标准、强大的库(Boost.Asio、Crow、Drogon、Pistache)以及成熟的构建工具(CMake、Conan)使 C++ 成为高负载 Web 服务、API 网关和微服务的绝佳选择。本书是中文互联网上第一本完整的实践指南,将引导您从环境搭建到 C++ Web 应用的生产环境部署。
本书内容
- HTTP 与网络编程基础 — 客户端-服务器架构、协议、套接字、基于 Boost.Asio 的异步 I/O。
- 框架与库 — Crow、Drogon、Pistache、oatpp 的概览与比较;根据任务进行选择。
- REST API 与 JSON — 端点设计、通过 nlohmann/json 和 Boost.JSON 进行序列化/反序列化。
- 数据库 — 通过 libpqxx 操作 PostgreSQL、通过 sqlite_orm 操作 SQLite、连接池。
- WebSockets 与实时通信 — 聊天、通知、数据流。
- 安全性 — 防范 SQL 注入、XSS、CORS、基于 C++ 的 JWT 认证。
- 测试 — 单元测试(Google Test)、集成测试、使用 wrk 进行压力测试。
- 构建与 CI/CD — CMake + Conan、Docker 容器化、部署到 VPS、Kubernetes。
本书适合谁
本书面向 具有 1 年以上经验的 C++ 开发者,希望扩展 Web 开发技能。您已经了解语法、模板、STL 和 CMake — 在这里,您将学习如何将它们应用于创建生产级 Web 服务。本书也适用于其他语言(Java、Go、Python)的后端开发者,希望学习 C++ 以构建高负载组件。
阅读后您将学到并能做到什么
- 从零开始用 C++ 设计和实现 RESTful API。
- 搭建一个每秒处理数千请求的异步 Web 服务器。
- 将 PostgreSQL 和 Redis 集成到您的应用中。
- 通过 JWT 和 OAuth2 实现认证。
- 编写测试并在 GitHub Actions 中配置自动构建。
- 将应用打包成 Docker 镜像并部署到远程服务器。
每一章都包含实用的代码示例,可直接编译和运行。所有项目均可在 GitHub 仓库中找到。在本书结束时,您将创建一个完整的任务管理微服务(Task Manager API),支持 WebSockets、缓存和授权。
不要畏惧挑战 — 作者循序渐进地揭示了所有细节,从 HTTP 库的选择到性能优化和监控。本书将成为您进入 C++ Web 开发世界的可靠指南。