Kafka: The Definitive GuideEvery enterprise application creates data, whether it's log messages, metrics, user activity, outgoing messages, or something else. And how to move all of this data becomes nearly as important as the data itself. If you're an application architect, developer, or production engineer new to Apache Kafka, this practical guide shows you how to use this open source streaming platform to handle real-time data feeds.
Engineers from Confluent and LinkedIn who are responsible for developing Kafka explain how to deploy production Kafka clusters, write reliable event-driven microservices, and build scalable stream-processing applications with this platform. Through detailed examples, you'll learn Kafka's design principles, reliability guarantees, key APIs, and architecture details, including the replication protocol, the controller, and the storage layer.Understand publish-subscribe messaging and how it fits in the big data ecosystem;Explore Kafka producers and consumers for wri ...
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 ...
Learning Node, 2nd EditionTake your web development skills from browser to server with Node - and learn how to write fast, highly scalable network applications on this JavaScript-based platform. Updated for the latest Node Long Term Support (LTS) and Node Current (6.0) releases, this hands-on edition helps you master Node's core fundamentals and gain experience with several built-in and contributed modules.
Get up to speed on Node's event-driven, asynchronous I/O model for developing data-intensive applications that are frequently accessed but computationally simple. If you're comfortable working with JavaScript, this book provides many programming and deployment examples to help you take advantage of server-side development with Node.Explore the frameworks and functionality for full-stack Node development;Dive into Node's module system and package management support;Test your application or module code on the fly with Node's REPL console;Use core Node modules to build web ...
Identity and Data Security for Web DevelopmentDevelopers, designers, engineers, and creators can no longer afford to pass responsibility for identity and data security onto others. Web developers who don't understand how to obscure data in transmission, for instance, can open security flaws on a site without realizing it. With this practical guide, you'll learn how and why everyone working on a system needs to ensure that users and data are protected.
Authors Jonathan LeBlanc and Tim Messerschmidt provide a deep dive into the concepts, technology, and programming methodologies necessary to build a secure interface for data and identity - without compromising usability. You'll learn how to plug holes in existing systems, protect against viable attack vectors, and work in environments that sometimes are naturally insecure.Understand the state of web and application security today;Design security password encryption, and combat password attack vectors;Create digital fingerprints to identify users through ...
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 ...
Design It!Great software comes from great designers. Learn the essential software architecture fundamentals every programmer needs to know. With hands-on examples in every chapter, tips and advice from respected architects, practical scenarios, and dozens of architectural design activities, Design It! shows you how to lead your team as a software architect to create excellent software.
Uncover the big ideas behind software architecture and learn practical methods for designing software systems big and small. Gain a framework for thinking about design, enabling you to plan, lead, design, implement, and evaluate software architectures. Collaborate with your team, stakeholders, and other architects. Dig for architecturally significant requirements and write detailed quality attribute scenarios. Explore design alternatives, balance trade-offs, manage risks, and choose technologies based on their architectural impact. Make the architecture real for everyone with powerful sketches, engaging stories ...
Release It! 2nd EditionIf you're a software developer, and you don't want to get alerts every night for the rest of your life, help is here. With a combination of case studies about huge losses - lost revenue, lost reputation, lost time, lost opportunity - and practical, down-to-earth advice that was all gained through painful experience, this book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. Eighty percent of project life-cycle cost is in production, yet few books address this topic.
This updated edition deals with the production of today's systems - larger, more complex, and heavily virtualized - and includes information on chaos engineering, the discipline of applying randomness and deliberate stress to reveal systematic problems. Build systems that survive the real world, avoid downtime, implement zero-downtime upgrades and continuous delivery, and make cloud-native applications resilient. Examine ways to architect, design, and build software - parti ...
The Cucumber Book, 2nd EditionExpress your customers wild ideas as a set of clear, executable specifications that everyone on the team can read. Feed those examples into Cucumber and let it guide your development. Build just the right code to keep your customers happy. You can use Cucumber to test almost any system or any platform.
Get started by using the core features of Cucumber and working with Cucumber's Gherkin DSL to describe - in plain language - the behavior your customers want from the system. Then write Ruby code that interprets those plain-language specifications and checks them against your application. Next, consolidate the knowledge you've gained with a worked example, where you'll learn more advanced Cucumber techniques, test asynchronous systems, and test systems that use a database. Recipes highlight some of the most difficult and commonly seen situations the authors have helped teams solve. With these patterns and techniques, test Ajax-heavy web applications with Capybara and Selenium, REST we ...
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 ...