Source Code Exploration with Memcached: A beginner's guide to understanding and exploring open-source code (English Edition)
By Praveen Raj and Prashanth Raghu
()
About this ebook
Memcached is one of the largest commercially and non-commercially used caching systems in the IT world, with a relatively smaller codebase that enables developers to understand the basic skeletal of source code structures while enabling developers to hone their skills towards the development of high-quality production-grade, enterprise-ready open-source software. Most server-based technologies.
Open-source development skills enable developers to understand the intricacies of softwares, enabling robust decision-making while choosing technologies over trends and making mature decisions on a day-to-day development basis. This book is for all programming enthusiasts and is designed to be a Source code 101 level book, but it can help developers elevate to architect-level decision-making as well as architects to make solid software decisions while building the systems.
Related to Source Code Exploration with Memcached
Related ebooks
Oracle High Availability, Disaster Recovery, and Cloud Services: Explore RAC, Data Guard, and Cloud Technology Rating: 0 out of 5 stars0 ratingsPresent scenario of CPI (Maoist) and Police Administration in India Rating: 0 out of 5 stars0 ratingsThe Fascinating Journey Called Entrepreneurship Rating: 0 out of 5 stars0 ratingsLaunch Your Life To The Next Level Rating: 0 out of 5 stars0 ratingsGlimpses from Life & Times of Baba Bakhoran Dass Rating: 0 out of 5 stars0 ratingsA Strategic Plan for Effective Health Services Rating: 0 out of 5 stars0 ratingsBhaavatraya Prabhakaram Rating: 0 out of 5 stars0 ratingsKids Do What We Do Not What We Say Rating: 0 out of 5 stars0 ratingsForbidden Gorge: And Other Tales Rating: 0 out of 5 stars0 ratingsTelling Tales: For Rising Stars Rating: 0 out of 5 stars0 ratingsChurning out Success Formulae Rating: 0 out of 5 stars0 ratingsThe Sinister Silence Rating: 0 out of 5 stars0 ratingsCorona The Brighter Side Rating: 0 out of 5 stars0 ratingsYour Child is Your Parent Rating: 4 out of 5 stars4/5Size Does Matter: Grow Your Business, Thinking Big Rating: 0 out of 5 stars0 ratingsA Pinch of Hope in a Bowl of Life Rating: 0 out of 5 stars0 ratingsFast Track I.T. Journey: How to Move from Supplier to Partner Rating: 0 out of 5 stars0 ratingsYou Must Be Kidding Dr. Supratic Gupta Rating: 0 out of 5 stars0 ratingsCosmic Promise of Children Rating: 0 out of 5 stars0 ratingsDeveloping Applications with Azure Active Directory: Principles of Authentication and Authorization for Architects and Developers Rating: 0 out of 5 stars0 ratingsRaising Stars: The Challenges and Joys of Being a Bollywood Parent Rating: 0 out of 5 stars0 ratingsWho Breaks a Butterfly upon a Wheel? Rating: 0 out of 5 stars0 ratingsParvathi: Epic Characters of Puranas Rating: 5 out of 5 stars5/5Holistic Wellness Key (Aesthetic way of Leading a Fulfilled Life) Rating: 0 out of 5 stars0 ratingsVillage Diary of a Heretic Banker Rating: 0 out of 5 stars0 ratingsThe Portrait Of A Super Student: Sure ways to improve memory, concentration and personality Rating: 0 out of 5 stars0 ratingsHappy Departures Rating: 0 out of 5 stars0 ratingsThought Provoking: A Collection of Fifty-Four Thought Provoking Articles Rating: 0 out of 5 stars0 ratings
Programming For You
Python: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5HTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5Java for Beginners: A Crash Course to Learn Java Programming in 1 Week Rating: 5 out of 5 stars5/5SQL: For Beginners: Your Guide To Easily Learn SQL Programming in 7 Days Rating: 5 out of 5 stars5/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Learn SQL in 24 Hours Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Linux: Learn in 24 Hours Rating: 5 out of 5 stars5/5Pokemon Go: Guide + 20 Tips and Tricks You Must Read Hints, Tricks, Tips, Secrets, Android, iOS Rating: 5 out of 5 stars5/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsWeb Designer's Idea Book, Volume 4: Inspiration from the Best Web Design Trends, Themes and Styles Rating: 4 out of 5 stars4/5101 Amazing Nintendo NES Facts: Includes facts about the Famicom Rating: 4 out of 5 stars4/5OneNote: The Ultimate Guide on How to Use Microsoft OneNote for Getting Things Done Rating: 1 out of 5 stars1/5Learn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 0 out of 5 stars0 ratings
Reviews for Source Code Exploration with Memcached
0 ratings0 reviews
Book preview
Source Code Exploration with Memcached - Praveen Raj
Chapter 1
Source Code Explorations in Open-Source Systems
Introduction
Welcome to the navigation world, not the navigation done by sailors or the navigation control systems used in satellites, rockets, or other locomotive systems, but in the ocean of open-source code. While we are all sailors looking at the vast sea from the horizon, with numerous sailors operating both on the horizon and the high seas, the maps available to sail to the high seas are only a few. The ones operating there have not been able to create many maps for new sailors to start sailing on their routes.
This brings us to the problem at our hands: navigating open-source code and systems, which are large systems with millions of lines of code, in many cases undocumented, making the learning curve very steep for new enthusiasts to be able to learn and contribute to these systems.
The incentives to learn open-source systems being very high prompts many students and engineers to jump into the arena, often being derailed due to a lack of systematic documentation. This chapter covers the reasons to master, navigate and understand open source code systems and its benefits.
Memcached captures the common essence of most open-source systems and is concise for enthusiasts willing to begin exploring open-source systems. This chapter does emphasize common factors across systems. This book aims to help enthusiasts begin their journey with a small code base and still be able to understand the core aspects of open-source systems.
Structure
In this chapter, we will discuss the following topics:
Need to understand open-source code
Open-source systems commonly used around us
Commonalities of different systems
Common structure of open-source code systems
Event loops in network-based systems
Memory organization
Data structures
Benefits of understanding, contributing to and extending open-source systems
Open-source licensing
Objectives
After studying this chapter, you will develop the ability to recognize the importance of understanding open-source code. This involves appreciating why delving into the intricacies of such codebases is crucial. Furthermore, you will gain insights into the structural similarities that underlie different open-source codebases. This will be achieved through the use of illustrative examples that highlight common patterns across various projects. A clear understanding of the significance of documentation within open-source code systems will also be obtained. Additionally, you will acquire the skills necessary to effectively expand upon existing open-source code systems, facilitating their ongoing evolution. Lastly, you will attain a comprehensive comprehension of prevalent open-source system licenses and their far-reaching implications. This knowledge will encompass a deeper understanding of how licenses influence aspects like usage, distribution, contribution, and more.
Need to understand open-source code
Sea swimmers love to enjoy the sights under the sea from the shallower side, commonly referred to as snorkeling. Although this is enjoyable and appreciable, one needs to get to the bottom of the ocean to see the gems. Advanced use cases, performance studies, architecture decisions in high-scalability systems, bug evaluations, and so on require an in-depth understanding of the system being used. Understanding open-source code is one of the most sought-after skills in the industry today. Despite this, the number of professionals in this area has been limited and continues to be so due to a high entry barrier. It prevents easy onboarding for new contributors to start understanding and contributing. Despite that, the blame cannot be handed to the developers of these systems, as they spend a considerable amount of their free time helping developers around the world at almost no charge. While some open-source systems have enterprise versions or enterprise modules, the efforts are always praiseworthy.
Let us consider the case of an architect; designing a massively scalable system such as Facebook/Instagram needs the selection of a caching system. They are presented with options and are asked for their reasoning for selection. Common solutions would be to study the benchmarks and performance studies provided by individual organizations or other study groups. Although this could help, there could be biases or many points missing. The other approach could be the architect taking up the source codebase of the systems and analyzing the performance in key areas like connection limits, throughput, and so on. This not only helps them understand the system but also gives an in-depth picture of the usability of the system, which can later be used to configure the system as per the requirements of the use case. The team can also fork the main repository and create a version that suits their