Hands-On System Design: Learn System Design, Scaling Applications, Software Development Design Patterns with Real Use-Cases (English Edition)

· BPB Publications
Libro electrónico
220
Páginas

Acerca de este libro electrónico

The ultimate guide to ace your system designing interviews. 

 

KEY FEATURES  

● Provides step-by-step solutions to real-world problems related to system design and development.

● Includes detailed explanations of each OOPs idea and design pattern, along with code snippets in the C++ style.

● Contains illustrations and demonstrations that describe the technologies enabling modern scalable systems.

 

DESCRIPTION 

Scaling software application is the focus of this book, which takes the reader on an in-depth journey. You'll have a better understanding of how to create a scalable, enterprise-level application after reading this guide.


The book discusses system design principles, computer networks, major networking protocols, strategies for scaling data access, and various architectural styles for creating the system. A thorough examination of various technologies such as Cache Memory, CDN, Load Balancers, and Messaging Queues are conducted and their implementation. The book also demonstrates how you can use these combinations of technologies in the best way to build a scalable enterprise-level system. The examination of several architectural styles for system design assists you in choosing the best path for architecting your system. Additionally, the book explores object-oriented programming concepts and design patterns that facilitate the creation of clean, maintainable code. The reader will develop an intuitive knowledge of numerous tools and approaches for creating a scalable system by using several actual system design examples.


This book can tackle any system design problem you may meet in your current position or interviews. You'll learn how to design a system from scratch, and the examples in the book will help you to improve your skills.

 

WHAT YOU WILL LEARN

● Acquaint yourself with the fundamentals of computer networks and major networking protocols.

● Gain an understanding of various technologies to develop a distributed scalable application.

● Develop the capacity to approach any system design problem with a unique perspective.

● Gain insight into programming design patterns and object-oriented principles.

● Investigate several methods for expanding data access.

● Discover many architectural styles for system design.


WHO THIS BOOK IS FOR

The book is intended for software developers, system design engineers, aspiring system architects, IT professionals and students who want to learn how to construct a scalable application or prepare for system design interviews. Basic knowledge of programming and computer architecture is recommended but not demanded to grasp the book.

 

TABLE OF CONTENTS

1. Fundamentals of System Design Principles

2. Networking Basics

3. Scaling Databases

4. System Architecture

5. Introduction to Object Oriented Programming

6. Design Patterns

7. Object Oriented Design Methodology

8. Approaching System design problems

9. Designing a key-value store

10. Designing a video streaming website

11. Designing a website like Twitter

12. Designing a card authentication system

13. Designing an Image Hosting Application



Acerca del autor

Harsh Kumar Ramchandani completed his Bachelor of Engineering in Computer Science from NSIT, Delhi (Delhi University) in 2015. Harsh has 6+ years of experience in Software Development. He has worked on various areas like designing scalable distributed applications, Compiler Development, Android Application Development and Performance Optimization.

Califica este libro electrónico

Cuéntanos lo que piensas.

Información de lectura

Smartphones y tablets
Instala la app de Google Play Libros para Android y iPad/iPhone. Como se sincroniza de manera automática con tu cuenta, te permite leer en línea o sin conexión en cualquier lugar.
Laptops y computadoras
Para escuchar audiolibros adquiridos en Google Play, usa el navegador web de tu computadora.
Lectores electrónicos y otros dispositivos
Para leer en dispositivos de tinta electrónica, como los lectores de libros electrónicos Kobo, deberás descargar un archivo y transferirlo a tu dispositivo. Sigue las instrucciones detalladas que aparecen en el Centro de ayuda para transferir los archivos a lectores de libros electrónicos compatibles.