EBookClubs

Read Books & Download eBooks Full Online

EBookClubs

Read Books & Download eBooks Full Online

Book Easy Learning Data Structures   Algorithms ES6 Javascript

Download or read book Easy Learning Data Structures Algorithms ES6 Javascript written by Yang Hu and published by . This book was released on 2019-05-29 with total page 220 pages. Available in PDF, EPUB and Kindle. Book excerpt: Understand data structures and the associated algorithms, as well as the context in which they are used.Master existing JavaScript data structures such as array, set and map and learn how to implement new ones such as stacks, linked lists, trees and graphs.All concepts are explained in an easy way, followed by examples.You will gain an in-depth knowledge of how hash tables and set data structure functions, as well as how trees and hash maps This book is an accessible route deeper into JavaScript. Graphs being one of the most complex data structures you'll encounter.ECMAScript 6 (ES6). This book provides a highly practical look at ES6, This book takes a user-friendly approach to covering ES6 Javascript data structures. 1. Bubble Sorting Algorithm2. Select Sorting Algorithm3. Insert Sorting Algorithm4. Dichotomy Binary Search5. Unidirectional Linked List5.1 Create and Initialization5.2 Add Node5.3 Insert Node5.4 Delete Node6. Doubly Linked List6.1 Create and Initialization6.2 Add Node6.3 Insert Node6.4 Delete Node7. One-way Circular LinkedList7.1 Initialization and Traversal7.2 Insert Node7.3 Delete Node8. Two-way Circular LinkedList8.1 Initialization and Traversal8.2 Insert Node8.3 Delete Node9. Queue10. Stack11. Recursive Algorithm12. Two-way Merge Algorithm13. Quick Sort Algorithm14. Binary Search Tree14.1 Construct a binary search tree14.2 Binary search tree In-order traversal14.3 Binary search tree Pre-order traversal14.4 Binary search tree Post-order traversal14.5 Binary search tree Maximum and minimum14.6 Binary search tree Delete Node15. Binary Heap Sorting16. Hash Table17. Graph17.1 Undirected Graph and Depth-Frst Search17.2 Undirected Graph and Breadth-First Search17.3 Directed Graph and Depth-Frst Search17.4 Directed Graph and Breadth-First Search17.5 Directed Graph Topological Sorting

Book Easy Learning Data Structures and Algorithms JavaScript  2 Edition

Download or read book Easy Learning Data Structures and Algorithms JavaScript 2 Edition written by yang hu and published by Independently Published. This book was released on 2021-05-26 with total page 275 pages. Available in PDF, EPUB and Kindle. Book excerpt: Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for developing software. It can provide a complete solution that acts like reusable code. In this book, you will learn how to use various data structures while developing in the ES6 + JavaScript language as well as how to implement some of the most common algorithms used with such data structures. You will get to know arrays, lists, linkedlist together with real-world examples of your application. Then, you will learn how to create and use stacks and queues. In the following part of the book, the more complex data structures will be introduced, namely Trees and graphs, together with some algorithms for searching the shortest path in a graph. This book is rich in examples, with beautiful pictures and texts, and step by step explains the data structure and algorithms in a way that is easy to understand.

Book Easy Learning Data Structures   Algorithms Javascript

Download or read book Easy Learning Data Structures Algorithms Javascript written by Yang Hu and published by . This book was released on 2019-05-27 with total page 224 pages. Available in PDF, EPUB and Kindle. Book excerpt: Understand data structures and the associated algorithms, as well as the context in which they are used.Master existing JavaScript data structures such as array, set and map and learn how to implement new ones such as stacks, linked lists, trees and graphs.All concepts are explained in an easy way, followed by examples.You will gain an in-depth knowledge of how hash tables and set data structure functions, as well as how trees and hash maps This book is an accessible route deeper into JavaScript. Graphs being one of the most complex data structures you'll encounter.1. Bubble Sorting Algorithm2. Select Sorting Algorithm3. Insert Sorting Algorithm4. Dichotomy Binary Search5. Unidirectional Linked List5.1 Create and Initialization5.2 Add Node5.3 Insert Node5.4 Delete Node6. Doubly Linked List6.1 Create and Initialization6.2 Add Node6.3 Insert Node6.4 Delete Node7. One-way Circular LinkedList7.1 Initialization and Traversal7.2 Insert Node7.3 Delete Node8. Two-way Circular LinkedList8.1 Initialization and Traversal8.2 Insert Node8.3 Delete Node9. Queue10. Stack11. Recursive Algorithm12. Two-way Merge Algorithm13. Quick Sort Algorithm14. Binary Search Tree 14.1 Construct a binary search tree 14.2 Binary search tree In-order traversal 14.3 Binary search tree Pre-order traversal 14.4 Binary search tree Post-order traversal 14.5 Binary search tree Maximum and minimum 14.6 Binary search tree Delete Node15. Binary Heap Sorting16. Hash Table17. Graph 17.1 Undirected Graph and Depth-Frst Search 17.2 Undirected Graph and Breadth-First Search 17.3 Directed Graph and Depth-Frst Search 17.4 Directed Graph and Breadth-First Search 17.5 Directed Graph Topological Sorting

Book JavaScript Data Structures and Algorithms

Download or read book JavaScript Data Structures and Algorithms written by Sammie Bae and published by Apress. This book was released on 2019-01-23 with total page 362 pages. Available in PDF, EPUB and Kindle. Book excerpt: Explore data structures and algorithm concepts and their relation to everyday JavaScript development. A basic understanding of these ideas is essential to any JavaScript developer wishing to analyze and build great software solutions. You'll discover how to implement data structures such as hash tables, linked lists, stacks, queues, trees, and graphs. You'll also learn how a URL shortener, such as bit.ly, is developed and what is happening to the data as a PDF is uploaded to a webpage. This book covers the practical applications of data structures and algorithms to encryption, searching, sorting, and pattern matching. It is crucial for JavaScript developers to understand how data structures work and how to design algorithms. This book and the accompanying code provide that essential foundation for doing so. With JavaScript Data Structures and Algorithms you can start developing your knowledge and applying it to your JavaScript projects today. What You'll Learn Review core data structure fundamentals: arrays, linked-lists, trees, heaps, graphs, and hash-tableReview core algorithm fundamentals: search, sort, recursion, breadth/depth first search, dynamic programming, bitwise operators Examine how the core data structure and algorithms knowledge fits into context of JavaScript explained using prototypical inheritance and native JavaScript objects/data types Take a high-level look at commonly used design patterns in JavaScript Who This Book Is For Existing web developers and software engineers seeking to develop or revisit their fundamental data structures knowledge; beginners and students studying JavaScript independently or via a course or coding bootcamp.

Book Algorithms JavaScript

    Book Details:
  • Author : Yang Hu
  • Publisher : Independently Published
  • Release : 2020-07-19
  • ISBN :
  • Pages : 238 pages

Download or read book Algorithms JavaScript written by Yang Hu and published by Independently Published. This book was released on 2020-07-19 with total page 238 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book is rich in examples, with beautiful pictures and texts, and explains the data structure and algorithms in a way that is easy to understand. It is designed to help programmers better use the energy of algorithms in daily projects.1. Classic reference book in the field of algorithms: reflects the core knowledge system of algorithms2. Comprehensive content: Comprehensive discussion of sorting, linked list, search, hash, graph and tree algorithms and data structures, covering the algorithms commonly used by every programmer3. The new JavaScript implementation code, using a modular programming style, gives the actual code of the algorithm.Simple is the beginning of wisdom. From the essence of practice, this book to briefly explain the concept and vividly cultivate programming interest, you will learn it easy, fast and well

Book Learning JavaScript Data Structures and Algorithms

Download or read book Learning JavaScript Data Structures and Algorithms written by Loiane Groner and published by Packt Publishing Ltd. This book was released on 2018-04-30 with total page 419 pages. Available in PDF, EPUB and Kindle. Book excerpt: A data structure is a particular way of organizing data in a computer to utilize resources efficiently. Data structures and algorithms are the base of every solution to any programming problem. With this book, you will learn to write complex and powerful code using the latest ES 8 features.

Book Easy Learning Design Patterns JavaScript  2 Edition

Download or read book Easy Learning Design Patterns JavaScript 2 Edition written by yang hu and published by . This book was released on 2021-05-21 with total page 211 pages. Available in PDF, EPUB and Kindle. Book excerpt: Master the application design using the core design patterns and features of ES6+JavaScript. the design pattern is an elected solution for solving software design problems. This book takes you through important design patterns and explains them with real-world examples. You will get to grips with low-level details and concepts that show you how to write JavaScript code. This book will help you learn the core concepts of design patterns and the way they can be used to resolve Web Development design problems. and take your skills to the next level with reactive and functional patterns that help you build resilient, scalable, and robust web applications. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like ES6+JavaScript.The book is divided into 2 parts: 1. The first part vividly explains the concept of each design pattern through life 2. The second part applies design patterns to real project examples

Book Data Structures   Algorithms Using JavaScript

Download or read book Data Structures Algorithms Using JavaScript written by Hemant Jain and published by . This book was released on 2019-06 with total page 492 pages. Available in PDF, EPUB and Kindle. Book excerpt: Data Structures & Algorithms books by Hemant Jain is a series of books about the usage of Data Structures and Algorithms in computer programming. The book is easy to follow and is written for interview preparation point of view. In these books, the examples are solved in various languages like Go, C, C++, Java, C#, Python, VB, JavaScript and PHP. GitHub Repositories for these books. https: //github.com/Hemant-Jain-Author Book's Composition This book introduces you to the world of data structures and algorithms. Data structures defines the way in which data is arranged in memory for fast and efficient access while algorithms are a set of instruction to solve problems by manipulating these data structures. Designing an efficient algorithm is a very important skill that all software companies, e.g. Microsoft, Google, Facebook etc. pursues. Most of the interviews for these companies are focused on knowledge of data-structures and algorithms. They look for how candidates use concepts of data structures and algorithms to solve complex problems efficiently. Apart from knowing, a programming language you also need to have good command of these key computer fundamentals to not only qualify the interview but also excel in you jobs as a software engineer. This book assumes that you are a C language developer. You are not an expert in C language, but you are well familiar with concepts of classes, functions, arrays, pointers and recursion. At the start of this book, we will be looking into Complexity Analysis followed by the various data structures and their algorithms. We will be looking into a Linked-List, Stack, Queue, Trees, Heap, Hash-Table and Graphs. We will also be looking into Sorting, Searching techniques. In last few chapters, we will be looking into various algorithmic techniques. Such as, Brute-Force algorithms, Greedy algorithms, Divide and Conquer algorithms, Dynamic Programming, Reduction and Backtracking. . Table of Contents Chapter 0: How to use this book. Chapter 1: Algorithms Analysis Chapter 2: Approach to solve algorithm design problems Chapter 3: Abstract Data Type & C# Collections Chapter 4: Searching Chapter 5: Sorting Chapter 6: Linked List Chapter 7: Stack Chapter 8: Queue Chapter 9: Tree Chapter 10: Priority Queue Chapter 11: Hash-Table Chapter 12: Graphs Chapter 13: String Algorithms Chapter 14: Algorithm Design Techniques Chapter 15: Brute Force Algorithm Chapter 16: Greedy Algorithm Chapter 17: Divide & Conquer Chapter 18: Dynamic Programming Chapter 19: Backtracking Chapter 20: Complexity Theory

Book Easy Learning JavaScript  4 Edition

Download or read book Easy Learning JavaScript 4 Edition written by yang hu and published by Independently Published. This book was released on 2021-05-14 with total page 216 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book brings New ES6+ JavaScript to life and quirky, full-color illustrations keep things on the lighter side. you'll learn how to organize Object Oriented Programming and reuse your code with class and method, draw shapes, images and patterns with JavaScript and Create games, animations, and graphic with Canvas etc. You'll learn useful techniques for essentials. In just a short time, you can learn how to use HTML, Cascading Style Sheets (CSS), and JavaScript together to design, and develop. Using a straightforward, step-by-step approach, each lesson in this book builds on the previous ones, enabling you to learn the essentials from the ground up. Clear instructions and practical, hands-on examples show you how to use HTML and CSS interact with JavaScript. this book teaches main JavaScript skills and step-by-step guidance to know coding. By the end of the book you can create own Web application and games.

Book Learning JavaScript Data Structures and Algorithms   Second Edition

Download or read book Learning JavaScript Data Structures and Algorithms Second Edition written by Loiane Groner and published by Packt Publishing. This book was released on 2016-06-23 with total page 314 pages. Available in PDF, EPUB and Kindle. Book excerpt: Hone your skills by learning classic data structures and algorithms in JavaScriptAbout This Book- Understand common data structures and the associated algorithms, as well as the context in which they are used.- Master existing JavaScript data structures such as array, set and map and learn how to implement new ones such as stacks, linked lists, trees and graphs.- All concepts are explained in an easy way, followed by examples.Who This Book Is ForIf you are a student of Computer Science or are at the start of your technology career and want to explore JavaScript's optimum ability, this book is for you. You need a basic knowledge of JavaScript and programming logic to start having fun with algorithms.What You Will Learn- Declare, initialize, add, and remove items from arrays, stacks, and queues- Get the knack of using algorithms such as DFS (Depth-first Search) and BFS (Breadth-First Search) for the most complex data structures- Harness the power of creating linked lists, doubly linked lists, and circular linked lists- Store unique elements with hash tables, dictionaries, and sets- Use binary trees and binary search trees- Sort data structures using a range of algorithms such as bubble sort, insertion sort, and quick sortIn DetailThis book begins by covering basics of the JavaScript language and introducing ECMAScript 7, before gradually moving on to the current implementations of ECMAScript 6. You will gain an in-depth knowledge of how hash tables and set data structure functions, as well as how trees and hash maps can be used to search files in a HD or represent a database. This book is an accessible route deeper into JavaScript. Graphs being one of the most complex data structures you'll encounter, we'll also give you a better understanding of why and how graphs are largely used in GPS navigation systems in social networks.Toward the end of the book, you'll discover how all the theories presented by this book can be applied in real-world solutions while working on your own computer networks and Facebook searches.Style and approachThis book gets straight to the point, providing you with examples of how a data structure or algorithm can be used and giving you real-world applications of the algorithm in JavaScript. With real-world use cases associated with each data structure, the book explains which data structure should be used to achieve the desired results in the real world.

Book Learning JavaScript Data Structures and Algorithms

Download or read book Learning JavaScript Data Structures and Algorithms written by Loiane Groner and published by Packt Publishing Ltd. This book was released on 2016-06-23 with total page 307 pages. Available in PDF, EPUB and Kindle. Book excerpt: Hone your skills by learning classic data structures and algorithms in JavaScript About This Book Understand common data structures and the associated algorithms, as well as the context in which they are used. Master existing JavaScript data structures such as array, set and map and learn how to implement new ones such as stacks, linked lists, trees and graphs. All concepts are explained in an easy way, followed by examples. Who This Book Is For If you are a student of Computer Science or are at the start of your technology career and want to explore JavaScript's optimum ability, this book is for you. You need a basic knowledge of JavaScript and programming logic to start having fun with algorithms. What You Will Learn Declare, initialize, add, and remove items from arrays, stacks, and queues Get the knack of using algorithms such as DFS (Depth-first Search) and BFS (Breadth-First Search) for the most complex data structures Harness the power of creating linked lists, doubly linked lists, and circular linked lists Store unique elements with hash tables, dictionaries, and sets Use binary trees and binary search trees Sort data structures using a range of algorithms such as bubble sort, insertion sort, and quick sort In Detail This book begins by covering basics of the JavaScript language and introducing ECMAScript 7, before gradually moving on to the current implementations of ECMAScript 6. You will gain an in-depth knowledge of how hash tables and set data structure functions, as well as how trees and hash maps can be used to search files in a HD or represent a database. This book is an accessible route deeper into JavaScript. Graphs being one of the most complex data structures you'll encounter, we'll also give you a better understanding of why and how graphs are largely used in GPS navigation systems in social networks. Toward the end of the book, you'll discover how all the theories presented by this book can be applied in real-world solutions while working on your own computer networks and Facebook searches. Style and approach This book gets straight to the point, providing you with examples of how a data structure or algorithm can be used and giving you real-world applications of the algorithm in JavaScript. With real-world use cases associated with each data structure, the book explains which data structure should be used to achieve the desired results in the real world.

Book Hands On Data Structures and Algorithms with JavaScript

Download or read book Hands On Data Structures and Algorithms with JavaScript written by Kashyap Mukkamala and published by Packt Publishing Ltd. This book was released on 2018-01-30 with total page 325 pages. Available in PDF, EPUB and Kindle. Book excerpt: Data structures and algorithms are the fundamental building blocks of computer programming. They are critical to any problem, provide a complete solution, and act like reusable code. Using appropriate data structures and having a good understanding of algorithm analysis are key in JavaScript to solving crises and ensuring your application is ...

Book Easy Learning Data Structures   Algorithms C

Download or read book Easy Learning Data Structures Algorithms C written by Yang Hu and published by Independently Published. This book was released on 2019-06-29 with total page 240 pages. Available in PDF, EPUB and Kindle. Book excerpt: Data Structures and Algorithms C# Practice, It is designed to be easy to read and understand although the topic itself is complicated. Algorithms are the procedures that software programs use to manipulate data structures. Besides clear and simple example programs, The programs demonstrate in graphical form what data structures look like and how they operate. 1. Linear Table Definition2. Linear Table Append3. Linear Table Delete4. Linear Table Search5. Bubble Sorting Algorithm6. Select Sorting Algorithm7. Insert Sorting Algorithm8. Dichotomy Binary Search9. Unidirectional Linked List10. Doubly Linked List11. One-way Circular LinkedList12. Two-way Circular LinkedList13. Queue14. Stack15. Recursive Algorithm16. Two-way Merge Algorithm17. Quick Sort Algorithm18. Binary Search Tree18.1 Construct a binary search tree18.2 Binary search tree In-order traversal18.3 Binary search tree Pre-order traversal18.4 Binary search tree Post-order traversal18.5 Binary search tree Maximum and minimum18.6 Binary search tree Delete Node19. Binary Heap Sorting20. Hash Table21. Graph21.1 Undirected Graph and Depth-Frst Search21.2 Undirected Graph and Breadth-First Search21.3 Directed Graph and Depth-Frst Search21.4 Directed Graph and Breadth-First Search21.5 Directed Graph Topological Sortin

Book Understanding ECMAScript 6

Download or read book Understanding ECMAScript 6 written by Nicholas C. Zakas and published by No Starch Press. This book was released on 2016-08-16 with total page 353 pages. Available in PDF, EPUB and Kindle. Book excerpt: ECMAScript 6 represents the biggest update to the core of JavaScript in the history of the language. In Understanding ECMAScript 6, expert developer Nicholas C. Zakas provides a complete guide to the object types, syntax, and other exciting changes that ECMAScript 6 brings to JavaScript. Every chapter is packed with example code that works in any JavaScript environment so you’ll be able to see new features in action. You’ll learn: –How ECMAScript 6 class syntax relates to more familiar JavaScript concepts –What makes iterators and generators useful –How arrow functions differ from regular functions –Ways to store data with sets, maps, and more –The power of inheritance –How to improve asynchronous programming with promises –How modules change the way you organize code Whether you’re a web developer or a Node.js developer, you’ll find Understanding ECMAScript 6 indispensable on your journey from ECMAScript 5 to ECMAScript 6.

Book Learning JavaScript Design Patterns

Download or read book Learning JavaScript Design Patterns written by Addy Osmani and published by "O'Reilly Media, Inc.". This book was released on 2012-07-08 with total page 247 pages. Available in PDF, EPUB and Kindle. Book excerpt: With Learning JavaScript Design Patterns, you’ll learn how to write beautiful, structured, and maintainable JavaScript by applying classical and modern design patterns to the language. If you want to keep your code efficient, more manageable, and up-to-date with the latest best practices, this book is for you. Explore many popular design patterns, including Modules, Observers, Facades, and Mediators. Learn how modern architectural patterns—such as MVC, MVP, and MVVM—are useful from the perspective of a modern web application developer. This book also walks experienced JavaScript developers through modern module formats, how to namespace code effectively, and other essential topics. Learn the structure of design patterns and how they are written Understand different pattern categories, including creational, structural, and behavioral Walk through more than 20 classical and modern design patterns in JavaScript Use several options for writing modular code—including the Module pattern, Asyncronous Module Definition (AMD), and CommonJS Discover design patterns implemented in the jQuery library Learn popular design patterns for writing maintainable jQuery plug-ins "This book should be in every JavaScript developer’s hands. It’s the go-to book on JavaScript patterns that will be read and referenced many times in the future."—Andrée Hansson, Lead Front-End Developer, presis!

Book Simplifying JavaScript

    Book Details:
  • Author : Joe Morgan
  • Publisher : Pragmatic Bookshelf
  • Release : 2018-04-17
  • ISBN : 1680506056
  • Pages : 333 pages

Download or read book Simplifying JavaScript written by Joe Morgan and published by Pragmatic Bookshelf. This book was released on 2018-04-17 with total page 333 pages. Available in PDF, EPUB and Kindle. Book excerpt: The best modern JavaScript is simple, readable, and predictable. Learn to write modern JavaScript not by memorizing a list of new syntax, but with practical examples of how syntax changes can make code more expressive. Starting from variable declarations that communicate intention clearly, see how modern principles can improve all parts of code. Incorporate ideas with curried functions, array methods, classes, and more to create code that does more with less while yielding fewer bugs. It's time to write JavaScript code that's clean and exprssive. Modern JavaScript is simpler and more predictable and readable than ever. Discover how to write better code with clear examples using principles that show how updated syntax can make code better with fewer bugs. Starting from the ground up, learn new syntax (or how to reuse older syntax) to transform code from clunky bug-susceptible scripts to clear and elegant programs that are easy to read and easy to extend. Create a foundation for readable code with simple variable declarations that reduce side effects and subtle bugs. Select collections with clear goals instead of defaulting to objects or arrays. See how to simplify iterations from complex loops to single line array methods. Master techniques for writing flexible and solid code ranging from high-order functions, to reusableclasses, to patterns for architecting large applications creating applications that will last while through rounds of refactoring and changing requirements. The best part is there's no need to read this book straight through. Jump around and incorporate new functionality at will. Most importantly, understand not just what the new syntax is, but when and how to use it. Start writing better code from the first page. What You Need: For the best experience, have the latest version of Node installed (at least version 7). You can test most examples in the console of Chrome or other modern web browser. If you'd like to run the tests, you'll also need to install the latest version of Node Package Manager (npm).

Book Hands on Machine Learning with JavaScript

Download or read book Hands on Machine Learning with JavaScript written by Burak Kanber and published by Packt Publishing Ltd. This book was released on 2018-05-29 with total page 343 pages. Available in PDF, EPUB and Kindle. Book excerpt: A definitive guide to creating an intelligent web application with the best of machine learning and JavaScript Key Features Solve complex computational problems in browser with JavaScript Teach your browser how to learn from rules using the power of machine learning Understand discoveries on web interface and API in machine learning Book Description In over 20 years of existence, JavaScript has been pushing beyond the boundaries of web evolution with proven existence on servers, embedded devices, Smart TVs, IoT, Smart Cars, and more. Today, with the added advantage of machine learning research and support for JS libraries, JavaScript makes your browsers smarter than ever with the ability to learn patterns and reproduce them to become a part of innovative products and applications. Hands-on Machine Learning with JavaScript presents various avenues of machine learning in a practical and objective way, and helps implement them using the JavaScript language. Predicting behaviors, analyzing feelings, grouping data, and building neural models are some of the skills you will build from this book. You will learn how to train your machine learning models and work with different kinds of data. During this journey, you will come across use cases such as face detection, spam filtering, recommendation systems, character recognition, and more. Moreover, you will learn how to work with deep neural networks and guide your applications to gain insights from data. By the end of this book, you'll have gained hands-on knowledge on evaluating and implementing the right model, along with choosing from different JS libraries, such as NaturalNode, brain, harthur, classifier, and many more to design smarter applications. What you will learn Get an overview of state-of-the-art machine learning Understand the pre-processing of data handling, cleaning, and preparation Learn Mining and Pattern Extraction with JavaScript Build your own model for classification, clustering, and prediction Identify the most appropriate model for each type of problem Apply machine learning techniques to real-world applications Learn how JavaScript can be a powerful language for machine learning Who this book is for This book is for you if you are a JavaScript developer who wants to implement machine learning to make applications smarter, gain insightful information from the data, and enter the field of machine learning without switching to another language. Working knowledge of JavaScript language is expected to get the most out of the book.