
C++后端编程
文章平均质量分 90
akluse
失业老程序员求打赏买包子
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 11 部署应用程序
本章我们将探索部署这一激动人心的领域——这是开发流程的最后一步,经过精心设计和严格测试的应用程序将在此阶段面向用户开放。编译是将开发人员编写的源代码翻译成机器码的过程。接下来,每次推送代码变更时,AWS 将自动构建您的 Docker 镜像,并使用新版本应用程序更新您的 Elastic Beanstalk 环境。请记住,成功部署只是应用开发旅程中的一个里程碑,真正的考验始于用户在实际环境中开始使用你的应用。本书从基础知识出发,逐步深入复杂概念的结构设计,确保了扎实的根基,从而能够开发出健壮且安全的应用程序。原创 2025-07-06 09:26:43 · 929 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 10 保护你的 C++后端安全
我们探讨了多种保护 Nginx 服务器安全的方法,包括配置 HTTPS 实现加密通信、添加 HTTP 安全头部防御常见 Web 攻击、实施速率限制防范暴力破解和 DoS 攻击、隐藏 Nginx 版本号避免暴露潜在漏洞,以及使用 Web 应用防火墙(WAF)来抵御各类基于 Web 的威胁。接下来的章节重点介绍了 gRPC 安全,我们研究了多种认证和访问控制方法,包括基于令牌的认证、基于角色的访问控制以及用于加密通信的 SSL/TLS 协议。通过阻止未经授权的访问,防火墙能有效保护服务器及其存储的数据。原创 2025-07-06 09:26:05 · 1030 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 9 测试你的 C++后端
我们深入探讨了在 C++环境中安装和使用 Google Test 的具体细节,包括编写测试以防止数据丢失的过程,以及与 MongoDB 和 gRPC 进行集成测试的方法。通过实际实现测试用例并运行的过程,我们理解了使用 Google Test 更实用的方面,并亲身体验了该工具的健壮性和多功能性。从单个组件的测试到不同模块间交互点的测试,再到完整功能流程的测试,每个测试层级都提供独特的价值,共同提升软件应用的整体质量。因此,必须投入时间和资源来为正在开发的软件项目制定全面的测试策略并构建相应的测试基础设施。原创 2025-07-06 09:25:14 · 1133 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 8 使用 NGINX 管理 Web 服务器
这是本章讨论的最后一个主题。这能实现对流量更精细的控制,从而提供更强的安全性、负载均衡能力,以及动态添加、移除或升级服务器的灵活性。我们还熟悉了使用 Nginx 管理高流量和 HTTPS 连接的技巧,这揭示了该服务器在仅消耗少量内存的情况下,仍能出色地处理大量并发连接的能力。可靠的 Web 服务器能够有效管理不断增长的负载,确保即使在其用户数量增加的情况下,应用程序仍能保持可访问性并高效运行。这意味着 Nginx 会将客户端请求转发至能够处理这些请求的实际服务器(您的应用程序),然后将响应回传给客户端。原创 2025-07-06 09:24:34 · 752 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 7 处理客户端与服务器端缓存
在此过程中,我们还发现了使用缓存时可能遇到的潜在陷阱和常见问题,包括缓存失效、缓存雪崩和一致性问题。存在多种不同的缓存淘汰策略,但在本次讨论中,我们将重点介绍三种最常用的策略:最近最少使用(LRU)、最不经常使用(LFU)和随机替换(RR)。这个实践练习生动展示了缓存插入、缓存检索和缓存淘汰的核心概念,并演示了从简单的生存时间(TTL)方法到更复杂的透写与回写等多种实现策略。例如,在一个博客应用中缓存最近访问的博客文章时,当缓存空间不足时,LRU 策略会要求我们丢弃最长时间未被访问的文章。原创 2025-07-06 09:24:07 · 975 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 6 使用 gRPC 构建 REST API
随着时间的推移,出现了多种不同类型的应用程序编程接口(API),每种都具有独特的优势。这样做是为了圆满结束本章内容。涉及内容包括解决.proto 文件的编译错误、修复客户端与服务器之间的通信问题、修正服务定义相关的错误、克服性能瓶颈、处理 gRPC 调用时出现的问题等。我们逐步演示了在现有 C++环境中安装 gRPC 的过程,探讨了创建服务定义的流程,并通过示例应用程序实践了这些定义。随后,我们更深入地研究了 REST API,探讨了其无状态的客户端-服务器通信模式如何使其成为全栈开发领域最受欢迎的选择。原创 2025-07-06 09:23:32 · 462 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 5 使用 MongoDB 管理数据库操作
应用程序的具体需求应指导数据库的选择,可以是传统的 SQL 数据库(如 MySQL 或 PostgreSQL),也可以是 NoSQL 数据库(如 MongoDB 或 Cassandra)。与 SQL 数据库不同,MongoDB 是无模式的。这意味着同一集合中的文档不需要具有相同的字段集,并且字段的数据类型在集合内的不同文档间可以有所不同。开发者可以通过单键查询、范围查询、文本搜索、图处理以及通过实时聚合实现的地理空间查询等多种方式,构建能够灵活查询分析数据的应用程序,提供强大的数据访问与分析能力。原创 2025-07-06 09:23:12 · 998 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 4 精通版本控制——Git 与 GitHub
最后,我们学习了 Git 的高级用法,包括标签管理、暂存修改和版本回退,这些命令为我们管理代码提供了更强大的灵活性和控制力。我们了解到,像 Git 这样的版本控制系统提供了追踪变更、与其他开发者协作以及管理代码不同版本的结构化方法,这些对于后端系统等大规模复杂开发项目都至关重要。Git stash 是 Git 中一个强大的命令,它允许您暂时保存对工作目录所做的更改,而这些更改您目前还不想提交。它会将您修改过的已跟踪文件、暂存的变更保存到一个未完成更改的堆栈中,您可以随时重新应用这些更改。原创 2025-07-06 09:22:28 · 1737 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 3 深入解析算法
迭代则是逐步解决问题的方法,通常从最简单的子问题开始,逐步推进到主要问题,并在每个阶段保存进度。递归和迭代是基本的问题解决技术,而动态规划则是一种通过将大问题分解为更小、更易处理的子问题来优化解决方案的高阶方法。通过将复杂问题分解为更小、更易处理的子问题并重用先前开发的解决方案,动态编程有可能显著提高后端系统的性能和可扩展性。对于每个小于等于当前金额的硬币,函数将对应的 dp 值更新为其当前值与 dp[i - coins[j]] + 1 中的较小值,后者表示使用当前硬币面额构成该零钱金额所需的最少硬币数。原创 2025-07-05 09:43:40 · 790 阅读 · 0 评论 -
C++后端编程 构建高性能后端的数据库、API 与 Web 服务器 2 C++复习与要点
例如,如果创建了一个名为'ref_to_a'的'a'的引用,那么对'ref_to_a'所做的任何修改也会改变'a'。随着我们进入这段探索之旅的第二部分,我们将重点关注 C++在后端编程方面的强大能力,以及它在创建可靠、值得信赖的后端软件应用方面的优势。虽然 C++通常不被视为网页开发的首选语言,但由于其速度、可扩展性和灵活性,它实际上是一个极其强大的工具,能够为网络应用程序奠定坚实的基础。随着学习的深入,我们将探索更高级的主题,包括多线程、网络编程和数据库操作,届时 C++的强大功能将真正得以展现。原创 2025-07-05 09:43:14 · 946 阅读 · 0 评论 -
C++后端编程构建高性能后端的数据库、API 与 Web 服务器 1 后端开发入门
C++20 引入的概念、范围、协程、模块和格式化库,以及 C++23 新增的网络库、执行器、协程算法改进和反射机制,为开发者提供了更强大、更高效且更友好的编程语言。接着,为了让你做好使用 C++进行实际后端开发的准备,我们详细讲解了 C++环境的配置流程,包括安装必要的 C++编译器、集成开发环境(IDE)和库文件。这些框架,如 Python 的 Django、Ruby 的 Rails 和 Node.js 的 Express,提供了预先编写好的代码片段来处理常见的后端职责。本书最后一章讨论了部署流程。原创 2025-07-05 09:42:32 · 757 阅读 · 0 评论