Books


© Héla Ben Khalfallah, 2025. All rights reserved.

Crafting Clean Code with JavaScript and React

A Practical Guide to Sustainable Front-End Development – Héla Ben Khalfallah

In a fast-evolving digital world, writing clean, maintainable, and scalable code has never been more crucial. Crafting Clean Code with JavaScript and React provides a hands-on approach to mastering the art of front-end development while adhering to the best practices of software craftsmanship.

This book takes you on a journey through the principles of clean code, focusing on real-world challenges and practical solutions. From fundamental JavaScript concepts to advanced React patterns, you’ll learn how to create robust applications that stand the test of time.

About this book

Understand the guiding principles of “clean code” and how it applies to modern front-end development, accessibility (a11y), semantics, performance, and the Green Web. Highlighting key topics ranging from the foundations of JavaScript and HTML to popular frameworks like React, this book provides best practices to ensure code and applications are easier, more efficient and cost effective to run.

Using a web-based application as an example, you’ll begin by cleaning and improving its code base by dividing the JavaScript into smaller, reusable and composable functions without side effects. Then, you’ll improve the HTML code base by applying “Disability Driven Design” patterns, focusing on semantics before moving on to improving the architecture with a functional style (immutable, modular and composable).

Because the web today needs to be green with reduced loading time and energy consumption, you’ll apply some tips and tricks to improve code performance and see how to best monitor it in a continuous and scalable way.

What You’ll Learn

  • See how the JavaScript engine works and memory management.
  • Explore in greater detail key focus areas of accessibility and green computing
  • Make applications easier and more cost-effective to run
  • Look closely at clean and sustainable development using JavaScript and React

Who This Book Is For

Programmers, developers, engineers and product managers who are looking at cost-efficient ways to make their applications run more smoothly and efficiently.

Table of contents

  1. Getting Started: Presenting the Context
  2. Functional Programming: Blueprint for Pure Code
  3. SAGE(S)-Driven Design: An Inclusive and Eco-friendly Website
  4. HOFA: The Path Toward Clean Architecture
  5. MOME: Befriend User Execution Capabilities
  6. CRISP: Clean, Reliable, Integrated Software Process

Keywords

  • Accessibility
  • semantics
  • Clean Code
  • Functional Programming
  • green computing
  • JavaScript
  • Agile
  • Front-End Development
  • a11y
  • HTML
  • React

How does computer science work?

Answering 28 Key Questions Every Software Engineer Should Know – Héla Ben Khalfallah

“How Does Computer Science Work?” answers 28 essential questions every software engineer should know. From the foundations of HTTP and cryptography to advanced topics like AI, Web3, and quantum computing, this book demystifies the technologies shaping our world. With relatable analogies and real-world examples, it’s perfect for curious learners and experienced developers alike. Discover how core technologies work and gain a deeper understanding of the science behind modern computing.

About this book

“How Does Computer Science Work?” is a comprehensive guide that answers 28 essential questions every software engineer should know, providing insights into the core technologies that shape our digital world.

This book bridges the gap between curiosity and understanding, tackling topics like how browsers work, how cryptography secures data, and how machine learning learns. It dives deep into modern innovations such as AI, Web3, and quantum computing, all while maintaining an approachable and engaging tone.

Each chapter is designed to be self-contained, allowing you to explore topics in any order that piques your interest. Whether you’re a seasoned developer seeking to deepen your knowledge or a curious learner eager to unravel the “how” behind technology, this book is your ultimate resource.

By the end of this journey, you’ll have a profound understanding of how the technologies you rely on daily truly work—and a newfound appreciation for the elegance and complexity of computer science.

What You’ll Learn

  • Foundational Concepts: Master the building blocks of computer science, from algorithms and data structures to operating systems and networking protocols.
  • Essential Technologies: Dive deep into how key technologies work, including HTTP, cryptography, databases, and cloud computing.
  • Programming Insights: Explore the world of programming languages, compilers, and software development methodologies.
  • Cutting-Edge Fields: Gain an understanding of emerging areas like artificial intelligence, machine learning, quantum computing, and blockchain.
  • Practical Applications: Discover how computer science is applied in real-world scenarios like search engines, cybersecurity, big data analytics, and the Internet of Things.

Who This Book Is For

This book unlocks the essentials of computer science for a wide range of readers:

  • Future Software Engineers: Build a rock-solid foundation for a successful career in software development.
  • Computer Science Students: Gain practical insights and real-world context for your studies.
  • Self-Taught Programmers: Deepen your understanding and fill in knowledge gaps.
  • Experienced Developers: Refresh your knowledge and explore cutting-edge technologies.
  • Tech-Curious Minds: Discover how the digital world works, from algorithms to AI.

If you want to understand the “why” behind the “how” of software, this book is for you.

Table of contents

  1. How HTTP Works
  2. How Cryptography Works
  3. How Compilers Work
  4. How Interpreters Work
  5. How Garbage Collection Works
  6. How Virtual Machines (VMs) Work
  7. How Programming Languages Work
  8. How Browsers Work
  9. How Frontend Rendering Techniques Work
  10. How File Systems Work
  11. How Databases Work
  12. How Caching Works
  13. How Containerization Works
  14. How Cloud Platforms Work
  15. How Search Engines Work
  16. How Big Data Analytics Works
  17. How AI and Natural Language Processing (NLP) Work
  18. How Machine Learning Works
  19. How Neural Networks Learn
  20. How Web3 (Blockchain) Works
  21. How IoT (Internet of Things) Works
  22. How Embedded Systems Work
  23. How Gaming Engines Work
  24. How Quantum Computing Works
  25. How Cybersecurity Works
  26. How Load Balancers Work
  27. How Package Managers Work (PNPM)
  28. How Monorepo Managers Work

Keywords

  • Computer Science
  • Software Engineering
  • Programming
  • HTTP
  • Cryptography
  • Machine Learning
  • Artificial Intelligence (AI)
  • Web3
  • Quantum Computing
  • Databases
  • Virtual Machines (VMs)
  • Browsers
  • Cybersecurity
  • Containerization
  • Big Data
  • Neural Networks
  • Programming Languages
  • Caching
  • Cloud Computing
  • Internet of Things (IoT)

Advanced Data Structures Handbook: The JavaScript Edition

Simplifying Complexity for Real-World Applications – Héla Ben Khalfallah

Designed for JavaScript developers, this handbook dives into the practical implementation of advanced data structures such as B-Trees, Tries, and probabilistic models like Bloom Filters. Focused on real-world challenges, it explains how to handle large datasets, optimize caching, and implement efficient searches. With clear examples and technical depth, this book offers a realistic approach to applying advanced concepts in scalable and reliable systems.

About this book

“Advanced Data Structures Handbook: The JavaScript Edition” is a practical, accessible guide for JavaScript developers looking to master advanced data structures with real-world applications. Moving beyond basic arrays and hashmaps, this book introduces foundational concepts and provides step-by-step implementations of advanced structures such as B-Trees, Tries, and Red-Black Trees. It highlights their practical use in critical areas like file systems, caching, and database management.

Delving deeper, the book explores probabilistic data structures, including Bloom Filters and Count-Min Sketches, to demonstrate how these tools can efficiently manage large datasets with scalability in mind. Each chapter combines clear explanations with JavaScript-based code snippets and practical scenarios, empowering readers to understand the strengths of each structure and when to apply them—whether for prefix matching, optimizing memory usage, or approximate data analysis.

Whether you’re an aspiring developer or a seasoned engineer tackling complex challenges, this handbook equips you with the knowledge and tools to enhance your problem-solving skills and make informed decisions when working with advanced data structures.

What You’ll Learn

  • Master advanced data structures like B-Trees, Tries, AVL Trees, and Red-Black Trees.
  • Explore probabilistic models such as Bloom Filters and Count-Min Sketches.
  • Learn practical applications of data structures for scalability, caching, and efficient searches.
  • Implement high-performance systems handling large datasets with JavaScript.
  • Optimize algorithms using Big O notation and explore cache eviction strategies like LRU and LFU.
  • Build a hybrid file system application integrating advanced data structure concepts.

Who This Book Is For

  • JavaScript developers eager to move beyond basic arrays and hashmaps.
  • Software engineers tackling real-world challenges in performance and scalability.
  • Learners aiming to apply advanced concepts in system design, caching, and large-scale applications.
  • Aspiring programmers seeking hands-on implementation of data structures in JavaScript.
  • Experienced developers exploring efficient data handling for cloud, file systems, and database management.

Table of contents

  1. Chapter 1: Understanding the Importance of Big O Notation
  2. Chapter 2: The Limitations of Basic Data Structures
  3. Chapter 3: Tree and Related Data Structures
  4. Chapter 4: Cloud Data Structures
  5. Chapter 5: Cache Eviction Strategies
  6. Chapter 6: Hands-on Designing a File System Desktop Application

Keywords

  • Advanced Data Structures
  • JavaScript
  • B-Trees, Tries, Bloom Filters
  • Probabilistic Data Structures
  • Scalability
  • Efficient Searches
  • Caching Strategies
  • Big O Notation
  • Real-World Applications
  • File System Design
  • LRU and LFU Cache
  • Count-Min Sketch
  • Performance Optimization