Docker: Up & Running, 2nd Edition
Docker is rapidly changing the way organizations deploy software at scale. However, understanding how Linux containers fit into your workflow - and getting the integration details right - is not a trivial task. With the updated edition of this practical guide, you'll learn how to use Docker to package your applications with all of their dependencies and then test, ship, scale, and support your containers in production.
This edition includes significant updates to the examples and explanations that reflect the substantial changes that have occurred over the past couple of years. Sean Kane and Karl Matthias have added a complete chapter on Docker Compose, deeper coverage of Docker Swarm mode, introductions to both Kubernetes and AWS Fargate, examples on how to optimize your Docker images, and much more.
Learn how Docker simplifies dependency management and deployment workflow for your applications; Start working with Docker images, containers, and command line tools; Use practical ...
Programming iOS 12
If you're grounded in the basics of Swift, Xcode, and the Cocoa framework, this book provides a structured explanation of all essential real-world iOS app components. Through deep exploration and copious code examples, you'll learn how to create views, manipulate view controllers, and add features from iOS frameworks.
Create, arrange, draw, layer, and animate views that respond to touch; Use view controllers to manage multiple screens of interface; Master interface classes for scroll views, table views, text, popovers, split views, web views, and controls; Dive into frameworks for sound, video, maps, and sensors; Access user libraries: music, photos, contacts, and calendar; Explore additional topics, including files, networking, and threads.
Stay up-to-date on iOS 12 innovations, such as User Notification framework improvements, as well as changes in Xcode 10 and Swift 4.2. All example code is available on GitHub for you to download, study, and run.
Want to brush up on the bas ...
iOS 12 Programming Fundamentals with Swift
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 10 IDE, Cocoa Touch, and the latest version of Apple's acclaimed programming language, Swift 4.2. With this thoroughly updated guide, you'll learn the Swift language, understand Apple's Xcode development tools, and discover the Cocoa framework.
Explore Swift's object-oriented concepts; Become familiar with built-in Swift types; Dive deep into Swift objects, protocols, and generics; Tour the lifecycle of an Xcode project; Learn how nibs are loaded; Understand Cocoa's event-driven design; Communicate with C and Objective-C.
In this edition, catch up on the latest iOS programming features.
Self-synthesizing protocols; Conditional conformance; Dynamic member lookup; Multiple selection; Source control improvements; And more!
Once you master the fundamentals, you'll be ready to tackle the details of iOS app development with author Matt Neuburg's companion guide, Programming iOS 12. ...
iOS Swift Game Development Cookbook, 3rd Edition
Ready to create amazing games for iOS? With Apple's Swift programming language, it's never been easier. This updated cookbook provides detailed recipes for managing a wide range of common iOS game-development issues, ranging from architecture design to graphics to performance - all revised for the latest version of Swift.
You get simple, direct solutions to common problems found in iOS game programming. Need to figure out how to give objects physical motion, or want a refresher on gaming-related math problems? This book provides sample projects and straightforward answers. All you need to get started is some familiarity with iOS development and Swift.
Lay out your game's structure and organize its contents; Build your interface and customize menus with UIKit; Design your game to detect and respond to user input; Work with sound effects, music, and speech synthesis; Store and access data for later use with iCloud; Create and animate 2D graphics with SpriteKit; Simulate physics to ...
Learning Perl 6
If you're ready to get started with Perl 6, this is the book you want, whether you're a programmer, system administrator, or web hacker. Perl 6 is a new language - a modern reinvention of Perl suitable for almost any task, from short fixes to complete web applications. This hands-on tutorial gets you started.
Author brian d foy (Mastering Perl) provides a sophisticated introduction to this new programming language. Each chapter in this guide contains exercises to help you practice what you learn as you learn it. Other books may teach you to program in Perl 6, but this book will turn you into a Perl 6 programmer.
Numbers, strings, blocks, and positionals; Files and directories and input/output; Associatives, subroutines, classes, and roles; Junctions and sets; Regular expressions and built-in grammars; Concurrency features: Promises, supplies, and channels; Controlling external programs and other advanced features. ...
Why is GraphQL the most innovative technology for fetching data since Ajax? By providing a query language for your APIs and a runtime for fulfilling queries with your data, GraphQL presents a clear alternative to REST and ad hoc web service architectures. With this practical guide, Alex Banks and Eve Porcello deliver a clear learning path for frontend web developers, backend engineers, and project and product managers looking to get started with GraphQL.
You'll explore graph theory, the graph data structure, and GraphQL types before learning hands-on how to build a schema for a photo-sharing application. This book also introduces you to Apollo Client, a popular framework you can use to connect GraphQL to your user interface.
Explore graph theory and review popular graph examples in use today; Learn how GraphQL applies database querying methods to the internet; Create a schema for a PhotoShare application that serves as a roadmap and a contract between the frontend and backend tea ...
Think Complexity, 2nd Edition
Complexity science uses computation to explore the physical and social sciences. In Think Complexity, you'll use graphs, cellular automata, and agent-based models to study topics in physics, biology, and economics.
Whether you're an intermediate-level Python programmer or a student of computational modeling, you'll delve into examples of complex systems through a series of worked examples, exercises, case studies, and easy-to-understand explanations.
Work with NumPy arrays and SciPy methods, including basic signal processing and Fast Fourier Transform; Study abstract models of complex physical systems, including power laws, fractals and pink noise, and Turing machines; Get Jupyter notebooks filled with starter code and solutions to help you re-implement and extend original experiments in complexity; and models of computation like Turmites, Turing machines, and cellular automata; Explore the philosophy of science, including the nature of scientific laws, theory choice, and realism ...
The Site Reliability Workbook
In 2016, Google's Site Reliability Engineering book ignited an industry discussion on what it means to run production services today - and why reliability considerations are fundamental to service design. Now, Google engineers who worked on that bestseller introduce The Site Reliability Workbook, a hands-on companion that uses concrete examples to show you how to put SRE principles and practices to work in your environment.
This new workbook not only combines practical examples from Google's experiences, but also provides case studies from Google's Cloud Platform customers who underwent this journey. Evernote, The Home Depot, The New York Times, and other companies outline hard-won experiences of what worked for them and what didn't.
Dive into this workbook and learn how to flesh out your own SRE practice, no matter what size your company is.
How to run reliable services in environments you don't completely control - like cloud; Practical applications of how to create, monitor ...
Foundations for Architecting Data Solutions
While many companies ponder implementation details such as distributed processing engines and algorithms for data analysis, this practical book takes a much wider view of big data development, starting with initial planning and moving diligently toward execution. Authors Ted Malaska and Jonathan Seidman guide you through the major components necessary to start, architect, and develop successful big data projects.
Everyone from CIOs and COOs to lead architects and developers will explore a variety of big data architectures and applications, from massive data pipelines to web-scale applications. Each chapter addresses a piece of the software development life cycle and identifies patterns to maximize long-term success throughout the life of your project.
Start the planning process by considering the key data project types; Use guidelines to evaluate and select data management solutions; Reduce risk related to technology, your team, and vague requirements; Explore system interface de ...
Learning Kali Linux
With more than 600 security tools in its arsenal, the Kali Linux distribution can be overwhelming. Experienced and aspiring security professionals alike may find it challenging to select the most appropriate tool for conducting a given test. This practical book covers Kali's expansive security capabilities and helps you identify the tools you need to conduct a wide range of security tests and penetration tests. You'll also explore the vulnerabilities that make those tests necessary.
Author Ric Messier takes you through the foundations of Kali Linux and explains methods for conducting tests on networks, web applications, wireless security, password vulnerability, and more. You'll discover different techniques for extending Kali tools and creating your own toolset.
Learn tools for stress testing network stacks and applications; Perform network reconnaissance to determine what's available to attackers; Execute penetration tests using automated exploit tools such as Metasploit; Use c ...
Getting Started with Kudu
Fast data ingestion, serving, and analytics in the Hadoop ecosystem have forced developers and architects to choose solutions using the least common denominator - either fast analytics at the cost of slow data ingestion or fast data ingestion at the cost of slow analytics. There is an answer to this problem. With the Apache Kudu column-oriented data store, you can easily perform fast analytics on fast data. This practical guide shows you how.
Begun as an internal project at Cloudera, Kudu is an open source solution compatible with many data processing frameworks in the Hadoop environment. In this book, current and former solutions professionals from Cloudera provide use cases, examples, best practices, and sample code to help you get up to speed with Kudu.
Explore Kudu's high-level design, including how it spreads data across servers; Fully administer a Kudu cluster, enable security, and add or remove nodes; Learn Kudu's client-side APIs, including how to integrate Apache Impala, ...