JavaScript Brain Teasers

JavaScript Brain Teasers

Author: Faraz K. Kelhini

Publisher: Pragmatic Bookshelf

Published: 2024-03-15

Total Pages: 113

ISBN-13:

DOWNLOAD EBOOK

If you've ever felt the exhilaration of cracking a thorny problem or the joy of witnessing elegant code that challenges your mind, then this book is tailor-made for you. Prepare yourself to dive into a diverse array of mind-bending JavaScript brain teasers. Each puzzle is more than just a code exercise; it's a gateway to unlocking new insights and honing your abilities. As you work through the challenges, you'll learn to think pragmatically, optimize your code for efficiency, and avoid hidden pitfalls that can catch you off guard. What's more - the puzzle format will help you remember what you've learned! Over the years, JavaScript has gained a bit of a reputation for its quirky and unique characteristics. It's important for developers to be aware of these quirks to write more robust and predictable JavaScript code. In this book, we invite you on a journey designed to unveil the intricate nuances and peculiarities that define the language's essence. Learn how to simulate function overloading, embed hidden information within objects, develop self-contained functions capable of maintaining their own local state, generate number sequences using functional programming, handle exotic forms of IIFEs, and prevent loss of precision when dealing with large numbers. Grasp concepts like closures, hoisting, symbols, execution context, event queue, text normalization, and more, one puzzle at a time. Discover how to create your own custom objects that function as shortcuts, accurately calculate the length of emojis and Unicode characters, master the usage of the "this" keyword, leverage bitwise operators, and convert color names to hex notation for universal use across various platforms. Plus, steer clear of those usual traps and blunders that trip up JavaScript developers. Forget passive learning. With JavaScript Brain Teasers, you'll actively engage with code puzzles that require creative thinking and problem-solving, which help you memorize difficult concepts. What You Need: Certain code examples take advantage of recently introduced JavaScript features. Therefore, it's important to use a JavaScript environment that supports ECMAScript 2020 or a newer version. The simplest way to experiment with the examples is use your browser's console. Just make sure your browser is up-to-date.


A Common-Sense Guide to Data Structures and Algorithms in JavaScript, Volume 1

A Common-Sense Guide to Data Structures and Algorithms in JavaScript, Volume 1

Author: Jay Wengrow

Publisher: Pragmatic Bookshelf

Published: 2024-08-07

Total Pages: 734

ISBN-13:

DOWNLOAD EBOOK

If you thought data structures and algorithms were all just theory, you're missing out on what they can do for your JavaScript code. Learn to use Big O notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. Every chapter features practice exercises to give you the hands-on information you need to master data structures and algorithms for your day-to-day work. 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 today's web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. The JavaScript edition uses JavaScript exclusively for all code examples, exercises, and solutions. Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You'll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions. Use these techniques today to make your JavaScript code faster and more scalable. What You Need: Certain code examples take advantage of recently introduced JavaScript features. Therefore, it's important to use a JavaScript environment that supports ECMAScript 6+ or a newer version.


Effective Go Recipes

Effective Go Recipes

Author: Miki Tebeka

Publisher: Pragmatic Bookshelf

Published: 2024-04-04

Total Pages: 365

ISBN-13:

DOWNLOAD EBOOK

Programmers love Go because it is lightweight, easy to work with, and easy to read. Go gives you the benefits of dynamically typed languages (speed of development) while keeping the upsides of strongly typed languages (security and performance). Go is a simple language, but programming in Go is about more than just mastering syntax. There's an art to using Go effectively. Squeeze out the full use of advanced networking and multi-core power for which Go was designed. Save precious coding hours with recipes that help you manage objects, collect garbage, and safely use memory. Tackle Unicode, concurrency, and serialization with ease. All the clean, reusable solutions you need for a wide variety of problems common to Go development. Outfitted with these recipes, your next apps will be more polished and more maintainable than ever. Start out by tackling time and see how the Go time packager provides types that will do most of the heavy lifting for you. Next, work on recipes tailored to the nuances of processing text, like normalizing strings to avoid bugs. From there, whip up some functions on-the-fly and store functions in variables and data structures. Ever wondered why Go seems to be peppered with error handling? Working through the next recipes, you'll discover the benefits, which include more robust code. In the section on HTTP, you'll learn tricks like running multiple HTTP servers on the same port and setting timeouts. With concurrency recipes, you'll limit the number of goroutines to improve performance, give your code awareness of timeouts, and decide when to keep your code sequential instead of making it concurrent. Throughout the book, you'll make Go sizzle following simple recipes and tweaking them to fit your own apps. Using tools like strong typing and concurrency primitives, build a Go codebase that stays maintainable at scale. What You Need: You should know the Go language syntax and have some experience in programming.You will need a Go SDK, a Git client, and for some of the chapters, a C compiler.


Essential Cryptography for JavaScript Developers

Essential Cryptography for JavaScript Developers

Author: Alessandro Segala

Publisher: Packt Publishing Ltd

Published: 2022-02-28

Total Pages: 220

ISBN-13: 1801076316

DOWNLOAD EBOOK

Discover how to take advantage of common cryptographic operations to build safer apps that respect users' privacy with the help of examples in JavaScript for Node.js and browsers Key FeaturesUnderstand how to implement common cryptographic operations in your code with practical examplesLearn about picking modern safe algorithms, which libraries you should rely on, and how to use them correctlyBuild modern and secure applications that respect your users' privacy with cryptographyBook Description If you're a software developer, this book will give you an introduction to cryptography, helping you understand how to make the most of it for your applications. The book contains extensive code samples in JavaScript, both for Node.js and for frontend apps running in a web browser, although the core concepts can be used by developers working with any programming language and framework. With a purely hands-on approach that is focused on sharing actionable knowledge, you'll learn about the common categories of cryptographic operations that you can leverage in all apps you're developing, including hashing, encryption with symmetric, asymmetric and hybrid ciphers, and digital signatures. You'll learn when to use these operations and how to choose and implement the most popular algorithms to perform them, including SHA-2, Argon2, AES, ChaCha20-Poly1305, RSA, and Elliptic Curve Cryptography. Later, you'll learn how to deal with password and key management. All code in this book is written in JavaScript and designed to run in Node.js or as part of frontend apps for web browsers. By the end of this book, you'll be able to build solutions that leverage cryptography to protect user privacy, offer better security against an expanding and more complex threat landscape, help meet data protection requirements, and unlock new opportunities. What you will learnWrite JavaScript code that uses cryptography running within a Node.js environment for the server-side or in frontend applications for web browsersUse modern, safe hashing functions for calculating digests and key derivation, including SHA-2 and Argon2Practice encrypting messages and files with a symmetric key using AES and ChaCha20-Poly1305Use asymmetric and hybrid encryption, leveraging RSA and Elliptic Curve Cryptography with ECDH and ECIESCalculate and verify digital signatures using RSA and ECDSA/EdDSAManage passwords and encryption keys safelyWho this book is for This cryptography book is an introductory guide for software developers who don't necessarily have a background in cryptography but are interested in learning how to integrate it in their solutions, correctly and safely. You'll need to have at least intermediate-level knowledge of building apps with JavaScript and familiarity with Node.js to make the most of this book.


High Performance PostgreSQL for Rails

High Performance PostgreSQL for Rails

Author: Andrew Atkinson

Publisher: Pragmatic Bookshelf

Published: 2024-06-17

Total Pages: 667

ISBN-13:

DOWNLOAD EBOOK

Build faster, more reliable Rails apps by taking the best advanced PostgreSQL and Active Record capabilities, and using them to solve your application scale and growth challenges. Gain the skills needed to comfortably work with multi-terabyte databases, and with complex Active Record, SQL, and specialized Indexes. Develop your skills with PostgreSQL on your laptop, then take them into production, while keeping everything in sync. Make slow queries fast, perform any schema or data migration without errors, use scaling techniques like read/write splitting, partitioning, and sharding, to meet demanding workload requirements from Internet scale consumer apps to enterprise SaaS. Deepen your firsthand knowledge of high-scale PostgreSQL databases and Ruby on Rails applications with dozens of practical and hands-on exercises. Unlock the mysteries surrounding complex Active Record. Make any schema or data migration change confidently, without downtime. Grow your experience with modern and exclusive PostgreSQL features like SQL Merge, Returning, and Exclusion constraints. Put advanced capabilities like Full Text Search and Publish Subscribe mechanisms built into PostgreSQL to work in your Rails apps. Improve the quality of the data in your database, using the advanced and extensible system of types and constraints to reduce and eliminate application bugs. Tackle complex topics like how to improve query performance using specialized indexes. Discover how to effectively use built-in database functions and write your own, administer replication, and make the most of partitioning and foreign data wrappers. Use more than 40 well-supported open source tools to extend and enhance PostgreSQL and Ruby on Rails. Gain invaluable insights into database administration by conducting advanced optimizations - including high-impact database maintenance - all while solving real-world operational challenges. Take your new skills into production today and then take your PostgreSQL and Rails applications to a whole new level of reliability and performance. What You Need: A computer running macOS, Linux, or Windows and WSL2 PostgreSQL version 16, installed by package manager, compiled, or running with Docker An Internet connection


Rust Brain Teasers

Rust Brain Teasers

Author: Herbert Wolverson

Publisher: Pragmatic Bookshelf

Published: 2022-02-25

Total Pages: 137

ISBN-13: 1680509551

DOWNLOAD EBOOK

The Rust programming language is consistent and does its best to avoid surprising the programmer. Like all languages, though, Rust still has its quirks. But these quirks present a teaching opportunity. In this book, you'll work through a series of brain teasers that will challenge your understanding of Rust. By understanding the gaps in your knowledge, you can become better at what you do and avoid mistakes. Many of the teasers in this book come from the author's own experience creating software. Others derive from commonly asked questions in the Rust community. Regardless of their origin, these brain teasers are fun, and let's face it: who doesn't love a good puzzle, right? What better way to exercise your brain and increase your Rust programming knowledge than with a collection of dynamic brain teasers? As you read through each of these puzzles and try to work out the answers, you'll not only learn about Rust's unique quirks and peculiarities, you'll also have loads of fun along the way. Dive right in and get started with example code and sample problems that cover numbers and text, shadowing and memory, and everything in between. Try to figure out why a particular program won't compile, why it produces unexpected output, or why it panics and terminates with an error message. Once you've run the code and read the answer, it's time to get to the heart of the matter with a detailed explanation. Learn why a program produced the result it did, and discover how similar issues might affect the code you write in your own programs, even in production. Sourced from engaging discussions within the Rust community, real-world problems, and even reader feedback, these challenges will certainly surprise, enlighten, and entertain you. Are you ready to experience Rust like never before? Then sharpen your brain and get ready for a challenge! What You Need: This book assumes you have some knowledge of the Rust programming language. To work through the brain teasers in this book, you'll need a working Rust environment on any platform. You can install Rust by visiting https://rustup.rs/. You'll also need a text editor or Rust-friendly IDE.


Python Brain Teasers

Python Brain Teasers

Author: Miki Tebeka

Publisher: Pragmatic Bookshelf

Published: 2021-08-25

Total Pages: 105

ISBN-13: 1680509071

DOWNLOAD EBOOK

We geeks love puzzles and solving them. The Python programming language is a simple one, but like all other languages it has quirks. This book uses those quirks as teaching opportunities via 30 simple Python programs that challenge your understanding of Python. The teasers will help you avoid mistakes, see gaps in your knowledge, and become better at what you do. Use these teasers to impress your co-workers or just to pass the time in those boring meetings. Teasers are fun! At the beginning of each chapter I'll show you a short Python program and will ask you to guess the output. The possible answers can be: Syntax errorExceptionHangSome output (e.g. `[1 2 3]`) Here's how to approach the puzzles. Read through the code. Before moving on to the answer and the explanation, go ahead and guess the output. After guessing the output, run the code and see the output yourself. Finally proceed to read the solution and the explanation. The puzzles are short enough to solve on a coffee break, so carry them with you, have fun, and share them with co-workers. People who make mistakes during the learning process learn better than people who don't. If you use this approach at work when fixing bugs, you'll find you enjoy bug hunting more and become a better developer after each bug you fix. Many of these puzzles are from the author's lessons learned (and others) of shipping bugs to production. He often uses the puzzles as quizzes during conferences and meetups, and they tend to create a buzz of excitement. What You Need: You need to know Python at some level and have experience programming with it.NOTE: The book uses Python version 3.8.2 to run the code; the output _could_ change in future versions.You will need a working Python environment, you can download it from "python.org":https://www.python.org/downloads/.You will probably want a good IDE for python, two of the most popular ones are "Visual Studio Code":https://code.visualstudio.com/ and "PyCharm":https://www.jetbrains.com/pycharm/.


Pandas Brain Teasers

Pandas Brain Teasers

Author: Miki Tebeka

Publisher: Pragmatic Bookshelf

Published: 2021-08-30

Total Pages: 97

ISBN-13: 1680509101

DOWNLOAD EBOOK

This book contains 25 short programs that will challenge your understanding of Pandas. Like any big project, the Pandas developers had to make some design decisions that at times seem surprising. This book uses those quirks as a teaching opportunity. By understanding the gaps in your knowledge, you'll become better at what you do. Some of the teasers are from the author's experience shipping bugs to production, and some from others doing the same. Teasers and puzzles are fun, and learning how to solve them can teach you to avoid programming mistakes and maybe even impress your colleagues and future employers. Working with data is central to nearly everything we do, from disease contact tracing and analyzing health records to smart meters that track utility consumption behavior. With the power of Python's pandas library, you can process and analyze this data in a highly efficient and simple-to-understand way. And with 25 brain teasers designed to turn this technology's quirks into a teaching opportunity, you'll be honing your data science skills while having fun at the same time. Following a simple format, you'll challenge yourself and your understanding of pandas. Read a short Python program that uses pandas, try to guess the output, run the code yourself, and then go to the next page for an explanation of the solution. From common pitfalls and hidden gotchas to unexpected twists and turns, you'll deepen your understanding of pandas, learn to write more efficient code, and reduce the number of bugs in the software you develop. You may even impress your colleagues and your employers, both present and future. Learn the tricks of the trade with Python's pandas, in one of the most fun and creative ways around. What You Need: To run the code you'll need Python version 3.8 or upper and Pandas version 1.0 or upper installed. We use Python version 3.8.3 and Pandas version 1.0.5; the output might change in future versions.


TypeScript Cookbook

TypeScript Cookbook

Author: Stefan Baumgartner

Publisher: "O'Reilly Media, Inc."

Published: 2023-08-08

Total Pages: 403

ISBN-13: 1098136616

DOWNLOAD EBOOK

TypeScript is one of the most important tools for JavaScript developers. Still, even experienced developers wonder why the TypeScript compiler is throwing squiggly red lines at them. Enter TypeScript Cookbook. With this practical guide, author Stefan Baumgartner provides senior engineers with solutions for everyday TypeScript problems. If you're conversant with TypeScript as well as JavaScript basics, this book provides actionable recipes to help you tackle a wide array of issues. From setting up complex project structures to developing advanced helper types, each self-contained recipe guides you through the problem and discusses why and how a solution works. The ideal companion for your ongoing TypeScript journey, this cookbook helps you: Dive into the inner workings of the TypeScript type system Integrate TypeScript into a variety of projects Craft advanced type definitions that allow for flexible scenarios Create useful helper types that function across projects Ensure readability along with type safety Create robust APIs for helper types and their coworkers Strongly type function signatures that rely on string types Work around limitations of the standard library Integrate TypeScript into advanced React projects


JavaScript Bible

JavaScript Bible

Author: Danny Goodman

Publisher: John Wiley & Sons

Published: 2007-07-02

Total Pages: 1203

ISBN-13: 0470146230

DOWNLOAD EBOOK

Make your Web pages stand out above the noise with JavaScript and the expert instruction in this much-anticipated update to the bestselling JavaScript Bible. With renowned JavaScript expert Danny Goodman at your side, you’ll get a thorough grounding in JavaScript basics, see how it fits with current Web browsers, and find all the soup-to-nuts detail you’ll need. Whether you’re a veteran programmer or just starting out, this is the JavaScript book Web developers turn to again and again. Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.