Introducing Ethereum and SolidityLearn how to use Solidity and the Ethereum project - second only to Bitcoin in market capitalization. Blockchain protocols are taking the world by storm, and the Ethereum project, with its Turing-complete scripting language Solidity, has rapidly become a front-runner. This book presents the blockchain phenomenon in context; then situates Ethereum in a world pioneered by Bitcoin.
See why professionals and non-professionals alike are honing their skills in smart contract patterns and distributed application development. You'll review the fundamentals of programming and networking, alongside its introduction to the new discipline of crypto-economics. You'll then deploy smart contracts of your own, and learn how they can serve as a back-end for JavaScript and HTML applications on the Web.
Many Solidity tutorials out there today have the same flaw: they are written for "advanced" JavaScript developers who want to transfer their skills to a blockchain environment. Introducing Ethereum and ...
Low-Level ProgrammingLearn Intel 64 assembly language and architecture, become proficient in C, and understand how the programs are compiled and executed down to machine instructions, enabling you to write robust, high-performance code.
Low-Level Programming explains Intel 64 architecture as the result of von Neumann architecture evolution. The book teaches the latest version of the C language (C11) and assembly language from scratch. It covers the entire path from source code to program execution, including generation of ELF object files, and static and dynamic linking. Code examples and exercises are included along with the best code practices. Optimization capabilities and limits of modern compilers are examined, enabling you to balance between program readability and performance. The use of various performance-gain techniques is demonstrated, such as SSE instructions and pre-fetching. Relevant Computer Science topics such as models of computation and formal grammars are addressed, and their practi ...
Programming RustRust is a new systems programming language that combines the performance and low-level control of C and C++ with memory safety and thread safety. Rust's modern, flexible types ensure your program is free of null pointer dereferences, double frees, dangling pointers, and similar bugs, all at compile time, without runtime overhead. In multi-threaded code, Rust catches data races at compile time, making concurrency much easier to use.
Written by two experienced systems programmers, this book explains how Rust manages to bridge the gap between performance and safety, and how you can take advantage of it.
Topics include:How Rust represents values in memory (with diagrams);Complete explanations of ownership, moves, borrows, and lifetimes;Cargo, rustdoc, unit tests, and how to publish your code on crates.io, Rust's public package repository;High-level features like generic code, closures, collections, and iterators that make Rust productive and flexibl ...
Laravel: Up and RunningWhat sets Laravel apart from other PHP web frameworks? Speed and simplicity, for starters. This rapid application development framework and its vast ecosystem of tools let you quickly build new sites and applications with clean, readable code. With this practical guide, Matt Stauffer - a leading teacher and developer in the Laravel community - provides the definitive introduction to one of today's most popular web frameworks.
The book's high-level overview and concrete examples will help experienced PHP web developers get started with Laravel right away. By the time you reach the last page, you should feel comfortable writing an entire application in Laravel from scratch.
Dive into several features of this framework, including:Blade, Laravel's powerful, custom templating tool;Tools for gathering, validating, normalizing, and filtering user-provided data;Laravel's Eloquent ORM for working with the application's databases;The Illuminate request ob ...
Mastering Bitcoin, 2nd EditionJoin the technological revolution that's taking the financial world by storm. Mastering Bitcoin is your guide through the seemingly complex world of bitcoin, providing the knowledge you need to participate in the internet of money. Whether you're building the next killer app, investing in a startup, or simply curious about the technology, this revised and expanded second edition provides essential detail to get you started.
Bitcoin, the first successful decentralized digital currency, is still in its early stages and yet it's already spawned a multi-billion-dollar global economy open to anyone with the knowledge and passion to participate. Mastering Bitcoin provides the knowledge. You simply supply the passion.
The second edition includes:A broad introduction of bitcoin and its underlying blockchain—ideal for non-technical users, investors, and business executives;An explanation of the technical foundations of bitcoin and cryptographic currencies for developers ...
A Swift Kickstart, 2nd EditionThis is the perfect book for the experienced developer who wants to get serious about learning the Swift programming language. If you know at least one modern programming language, this book will teach you how to think and program in Swift. Swift's design is inspired by elements from object-oriented, functional, and generic programming.
As the language matures and improves, this book changes to reflect the latest best practices and coding style. This second edition to the best-selling Swift introduction has been updated to the latest Swift 4 release. It's never been easier to get started with Swift as this edition supports the new iOS Swift Playgrounds along with improved support for Xcode playgrounds. This means you can code along on a Mac or an iPad.
The book begins with an introduction to basic components of programming in Swift: functions, variables and constants, collections, and types from the Swift Standard Library. In the second part, create and use your own enumerations, ...
Swift StyleApple's Swift programming language has finally reached stability, and developers are demanding to know how to program the language properly. Swift Style guides you through the ins and outs of Swift programming best practices. This is the first best practices book for serious, professional Swift programmers and for programmers who want to shine their skills to be hired in this demanding market.
A style guide offers a consistent experience of well-crafted code that lets you focus on the code's underlying meaning, intent, and implementation. This book doesn't offer canonical answers on Swift coding style. It explores the areas of Swift where structure comes into play. Whether you're developing a personal style or a house style, there are always ways to enhance your code choices. You'll find here the ideas and principles to establish or enhance your own best style practices.
Begin with simple syntactical styling. Strengthen code bracing for easy readability. Style your closures for s ...
Functional Programming: A PragPub AnthologyFunctional programming is on the rise because it lets you write simpler, cleaner code, and its emphasis on immutability makes it ideal for maximizing the benefits of multiple cores and distributed solutions. So far nobody's invented the perfect functional language—each has its unique strengths. In Functional Programming: A PragPub Anthology, you'll investigate the philosophies, tools, and idioms of five different functional programming languages.
See how Swift, the development language for iOS, encourages you to build highly scalable apps using functional techniques like map and reduce. Discover how Scala allows you to transition gently but deeply into functional programming without losing the benefits of the JVM, while with Lisp-based Clojure, you can plunge fully into the functional style. Learn about advanced functional concepts in Haskell, a pure functional language making powerful use of the type system with type inference and type classes. And see how functional programming ...
Natural Language Processing with PyTorchNatural Language Processing (NLP) offers unbounded opportunities for solving interesting problems in artificial intelligence, making it the latest frontier for developing intelligent, deep learning-based applications. If you're a developer or researcher ready to dive deeper into this rapidly growing area of artificial intelligence, this practical book shows you how to use the PyTorch deep learning framework to implement recently discovered NLP techniques. To get started, all you need is a machine learning background and experience programming with Python.
Authors Delip Rao and Goku Mohandas provide you with a solid grounding in PyTorch, and deep learning algorithms, for building applications involving semantic representation of text. Each chapter includes several code examples and illustrations.Get extensive introductions to NLP, deep learning, and PyTorch;Understand traditional NLP methods, including NLTK, SpaCy, and gensim;Explore embeddings: high quality ...
Build Android-Based Smart ApplicationsBuild smart applications using cutting-edge technologies such as rules engines, code automation frameworks, and natural language processing (NLP). This book provides step-by-step instructions on how to port nine rules engines (CLIPS, JRuleEngine, DTRules, Zilonis, TermWare, Roolie, OpenRules, JxBRE, and JEOPS) to the Android platform. You'll learn how to use each rules engine to build a smart application with sample code snippets so that you can get started with programming smart applications immediately. Build Android-Based Smart Applications also describes porting issues with other popular rules engines (Drools, JLisa, Take, and Jess).
This book is a step-by-step guide on how to generate a working smart application from requirement specifications. It concludes by showing you how to generate a smart application from unstructured knowledge using the Stanford POS (Part of Speech) tagger NLP framework.Evaluate the available rules engines to see which rules engine is best to us ...