Practical C++ Backend Programming" is a comprehensive walkthrough that provides readers with the necessary tools and knowledge to become proficient C++ backend developers. With a strong focus on real-world application and practical implementation, this book takes readers on a journey through the multifaceted landscape of backend development, making it an essential resource for any aspiring or current backend developer. Starting with the basics, the book introduces C++, providing a solid foundation in the language, its structure, and core concepts with regards to backend programming. From there, readers dive into the more complex elements of backend development. Through our engaging sections, use-cases and sample examples, readers are introduced to advanced topics such as concurrent programming, exploring threading and multiprocessing to handle intensive computational tasks, thus laying the groundwork for scalable applications. This book offers an in-depth look into APIs, specifically gRPC, along with caching strategies, and database management, using MongoDB as a NoSQL database of choice. All the while, readers will learn to implement these technologies in a practical context, building a blog application from scratch, thereby bridging the gap between theory and practical implementation. An entire section is dedicated to securing applications, wherein the book teaches authentication, authorization, and database security, and demonstrates how to implement these measures in the blog application. Another utmost important part of this book is to cover testing strategies, teaching the reader how to employ Google Test (gtest) to create robust and fail-proof backend solutions. Finally, the journey culminates in a step-by-step walkthrough to deploying applications on AWS, ensuring the reader is equipped with the necessary skills to take their applications live. Key Learnings Detailed overview of C++ programming, catering to both beginners and experienced coders. Practical exploration of concurrent programming for scalable and efficient application design. Comprehensive understanding of API usage, specifically using the gRPC framework. Deep dive into MongoDB for effective NoSQL database management and operations. Thorough walkthrough to implementing caching strategies for performance optimization. Strategic use of Nginx for handling web server needs including load balancing. Hands-on guide to implementing security measures for databases, APIs, and web servers. Instruction on employing Google Test for robust application testing and debugging. Step-by-step guidance for deploying applications on AWS, ensuring real-world readiness. Practical application of concepts via building and refining a blog application. Table of Content Introduction to Backend Development C++ Refresher and Essentials Deep Dive into Algorithms Mastering Version Control - Git and GitHub Managing Database Operations with MongoDB Crafting Rest APIs with gRPC Dealing with Client-side and Server-side Caching Managing Web Servers with Nginx Testing Your C++ Backend Securing Your C++ Backend Deploying Your Application Audience This book is appropriate for readers with some background in C++ and nothing about back-end development. It's great for those just getting their feet wet in back-end, as well as seasoned pros looking to hone their craft and learn something new. Whether you're a student, or professional this book will teach you everything you need to know to master the art of C++ back-end development.
Author(s): Justin Barbara
Publisher: Gitforgits
Year: 2023
Language: English
Pages: 317
Practical C++ Backend Programming
Chapter 1: Introduction to Backend Development
Chapter 2: C++ Refresher and Essentials
Chapter 3: Deep Dive into Algorithms
Chapter 4: Mastering Version Control - Git and GitHub
Chapter 5: Managing Database Operations with MongoDB
Chapter 6: Crafting REST APIs with gRPC
Chapter 7: Dealing with Client-Side and Server-Side Caching
Chapter 8: Managing Web Servers with Nginx
Chapter 9: Testing Your C++ Backend
Chapter 10: Securing Your C++ Backend
Chapter 11: Deploying Your Application