Eloquent JavaScript, 3rd EditionJavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.
This much anticipated and thoroughly revised third edition of Eloquent JavaScript dives deep into the JavaScript language to show you how to write beautiful, effective code. It has been updated to reflect the current state of JavaScript and web browsers and includes brand-new material on features like class notation, arrow functions, iterators, async functions, template strings, and block scope. A host of new exercises have also been added to test your skills and keep you on track.
As with previous editions, Haverbeke continues to teach through extensive examples and immerses you in code from the start, while exercises and full-chapter projects give you hands-on experience with wr ...
Raspbian OS Programming with the Raspberry PiMaster the command line and Raspbian Linux as well as the physical connections of the Pi. With this book you'll develop skills applicable to other real world applications in both hardware and software development all while working on simple and fun IoT projects that you can do yourself.
You'll learn to build programs on the top of Raspbian OS in Raspberry Pi boards. Start by using Raspbian shells to develop programs.Then follow projects and samples step-by-step to get new experiences in Raspbian OS development. You'll also learn the Wolfram Language and Mathematica, Scratch, IoT programs and IoT middleware, Node-RED, Interactive Data Visualization with Jupyter Notebook, and more.
There are many features in Raspbian OS and on Raspberry Pi boards perfect for building an IoT program to suite various scenarios. The GPIO pins on your Raspberry Pi allow it to scale further to accomplish all kinds of projects and tasks. Raspbian OS Programming with the Raspberry Pi is your pathway to e ...
Learn Blockchain Programming with JavaScriptLearn Blockchain Programming with JavaScript begins by giving you a clear understanding of what a blockchain technology is. You'll then set up an environment to build your very own blockchain and learn to add various functionalities to it. By adding functionalities to your blockchain such as the ability to mine new blocks, create transactions, and secure your blockchain through a Proof of Work you will gain an in-depth understanding of how blockchain technology functions.
As you make your way through the chapters, you'll learn how to build an API server to interact with your blockchain and how to host your blockchain on a decentralized network. You'll also build a consensus algorithm and use it to verify data and keep the entire blockchain network synchronized. In the concluding chapters, you'll finish building your blockchain prototype and gain a thorough understanding of why blockchain technology is so secure and valuable.
By the end of this book, you'll understand how decentra ...
Expert TwistedExplore Twisted, the Python-based event-driven networking engine, and review several of its most popular application projects. It is written by community leaders who have contributed to many of the projects covered, and share their hard-won insights and experience.
Expert Twisted starts with an introduction to event-driven programming, explaining it in the context of what makes Twisted unique. It shows how Twisted's design emphasizes testability as a solution to common challenges of reliability, debugging, and start-to-finish causality that are inherent in event-driven programming. It also explains asynchronous programming, and the importance of functions, deferreds, and coroutines. It then uses two popular applications, treq and klein, to demonstrate calling and writing Web APIs with Twisted.
The second part of the book dives into Twisted projects, in each case explaining how the project fits into the Twisted ecosystem and what it does, and offers several examples to bring reade ...
Building Telegram BotsLearn about bot programming, using all the latest and greatest programming languages, including Python, Go, and Clojure, so you can feel at ease writing your Telegram bot in a way that suits you.
This book shows how you can use bots for just about everything: they connect, they respond, they enhance your job search chances, they do technical research for you, they remind you about your last train, they tell the difference between a horse and a zebra, they can tell jokes, and they can cheer you up in the middle of the night.
Bots used to be hard to set up and enhance, but with the help of Building Telegram Bots you'll see how the Telegram platform is now making bot creation easier than ever. You will begin by writing a simple bot at the start and then gradually build upon it. The simple yet effective Telegram Bot API makes it very easy to develop bots in a number of programming languages. Languages featured in the book include Node.js, Java, Rust, and Elixir.
This book encourag ...
Functional Programming in C++Functional Programming in C++ teaches developers the practical side of functional programming and the tools that C++ provides to develop software in the functional style. This in-depth guide is full of useful diagrams that help you understand FP concepts and begin to think functionally.
Well-written code is easier to test and reuse, simpler to parallelize, and less error prone. Mastering the functional style of programming can help you tackle the demands of modern apps and will lead to simpler expression of complex program logic, graceful error handling, and elegant concurrency. C++ supports FP with templates, lambdas, and other core language features, along with many parts of the STL.
Functional Programming in C++ helps you unleash the functional side of your brain, as you gain a powerful new perspective on C++ coding. You'll discover dozens of examples, diagrams, and illustrations that break down the functional concepts you can apply in C++, including lazy evaluation, function ...
Beginning Programming Using Retro ComputingLearn programming using the Commodore 16/Plus 4 system. Following this book, you and your children will not only learn BASIC programming, but also have fun emulating a retro Commodore system. There are many ways to bring the fun of learning to program in the 1980s back to life. For example, downloading the VICE emulator to a Raspberry Pi allows for the classic "turn on and program" experience and also provides some retro computing project fun. Many parents learned programming in this same way and can have fun helping their children follow the same path.
You can also use this book as an opportunity to dust off your computing skills or learn programming concepts for the first time on a system that's easy, approachable, and fun with a nostalgic twist.
Commodore computers were the most sold computing devices before the iPhone. Nowadays, the Commodore system can be run using freely available emulation on modern computers. This book uses VICE, which is available for PC, Mac, Linux, as ...
Vertically Integrated ArchitecturesUnderstand how and why the separation between layers and tiers in service-oriented architectures holds software developers back from being truly productive, and how you can remedy that problem.
Strong processes and development tools can help developers write more complex software, but large amounts of code can still be directly deduced from the underlying database model, hampering developer productivity. In a world with a shortage of developers, this is bad news. More code also increases maintenance costs and the risk of bugs, meaning less time is spent improving the quality of systems.
You will learn that by making relationships first-class citizens within an item/relationship model, you can develop an extremely compact query language, inspired by natural language. You will also learn how this model can serve as both a database schema and an object model upon which to build business logic. Implicit services free you from writing code for standard read/write operations, while s ...
Get Programming with Node.jsGet Programming with Node.js Get Programming with Node.js teaches you to write server-side code in JavaScript using Node.js. In 37 fast-paced, fun, and practical lessons, you'll discover how to extend your existing JavaScript skills to write back-end code for your web applications.
Node.js delivers the speed and reliability you need for ecommerce, social media, and gaming applications. It comes with thousands of prebuilt packages to help you get started immediately. If you want to use JavaScript on the server, Node.js is your choice.
Get Programming with Node.js teaches you to build web servers using JavaScript and Node. In this engaging tutorial, you'll work through eight complete projects, from writing the code for your first web server to adding live chat to a web app. Your hands will stay on the keyboard as you explore the most important aspects of the Node development process, including security, database management, authenticating user accounts, and deploying to production. ...
Developing Games on the Raspberry PiLearn to set up a Pi-based game development environment, and then develop a game with Lua, a popular scripting language used in major game frameworks like Unreal Engine (BioShock Infinite), CryEngine (Far Cry series), Diesel (Payday: The Heist), Silent Storm Engine (Heroes of Might and Magic V) and many others. More importantly, learn how to dig deeper into programming languages to find and understand new functions, frameworks, and languages to utilize in your games.
You'll start by learning your way around the Raspberry Pi. Then you'll quickly dive into learning game development with an industry-standard and scalable language. After reading this book, you'll have the ability to write your own games on a Raspberry Pi, and deliver those games to Linux, Mac, Windows, iOS, and Android. And you'll learn how to publish your games to popular marketplaces for those desktop and mobile platforms.
Whether you're new to programming or whether you've already published to markets like Itch.io ...