List books in category Computers & Technology / Systems Architecture

  • Computer Organization and Design: The Hardware/Software Interface, Edition 4

    Computer Organization and Design: The Hardware/Software Interface, Edition 4
    David A. Patterson

    Computer Organization and Design, Fourth Edition, provides a new focus on the revolutionary change taking place in industry today: the switch from uniprocessor to multicore microprocessors. This new emphasis on parallelism is supported by updates reflecting the newest technologies with examples highlighting the latest processor designs, benchmarking standards, languages and tools. As with previous editions, a MIPS processor is the core used to present the fundamentals of hardware technologies, assembly language, computer arithmetic, pipelining, memory hierarchies and I/O. Along with its increased coverage of parallelism, this new edition offers new content on Flash memory and virtual machines as well as a new and important appendix written by industry experts covering the emergence and importance of the modern GPU (graphics processing unit), the highly parallel, highly multithreaded multiprocessor optimized for visual computing. This book contains a new exercise paradigm that allows instructors to reconfigure the 600 exercises included in the book to generate new exercises and solutions of their own. The companion CD provides a toolkit of simulators and compilers along with tutorials for using them as well as advanced content for further study and a search utility for finding content on the CD and in the printed text. This text is designed for professional digital system designers, programmers, application developers, and system software developers as well as undergraduate students in Computer Science, Computer Engineering and Electrical Engineering courses in Computer Organization, Computer Design.A new exercise paradigm allows instructors to reconfigure the 600 exercises included in the book to easily generate new exercises and solutions of their own. The companion CD provides a toolkit of simulators and compilers along with tutorials for using them, as well as advanced content for further study and a search utility for finding content on the CD and in the printed text. For the convenience of readers who have purchased an ebook edition or who may have misplaced the CD-ROM, all CD content is available as a download at

  • General-Purpose Graphics Processor Architectures

    General-Purpose Graphics Processor Architectures
    Tor M. Aamodt

    Originally developed to support video games, graphics processor units (GPUs) are now increasingly used for general-purpose (non-graphics) applications ranging from machine learning to mining of cryptographic currencies. GPUs can achieve improved performance and efficiency versus central processing units (CPUs) by dedicating a larger fraction of hardware resources to computation. In addition, their general-purpose programmability makes contemporary GPUs appealing to software developers in comparison to domain-specific accelerators. This book provides an introduction to those interested in studying the architecture of GPUs that support general-purpose computing. It collects together information currently only found among a wide range of disparate sources. The authors led development of the GPGPU-Sim simulator widely used in academic research on GPU architectures. The first chapter of this book describes the basic hardware structure of GPUs and provides a brief overview of their history. Chapter 2 provides a summary of GPU programming models relevant to the rest of the book. Chapter 3 explores the architecture of GPU compute cores. Chapter 4 explores the architecture of the GPU memory system. After describing the architecture of existing systems, Chapters \ref{ch03} and \ref{ch04} provide an overview of related research. Chapter 5 summarizes cross-cutting research impacting both the compute core and memory system. This book should provide a valuable resource for those wishing to understand the architecture of graphics processor units (GPUs) used for acceleration of general-purpose applications and to those who want to obtain an introduction to the rapidly growing body of research exploring how to improve the architecture of these GPUs.

  • The 8051/8052 Microcontroller: Architecture, Assembly Language, and Hardware Interfacing

    The 8051/8052 Microcontroller: Architecture, Assembly Language, and Hardware Interfacing
    Craig Steiner

    This book was written with the novice or intermediate 8052 developer in mind. Assuming no prior knowledge of the 8052, it takes the reader step-by-step through the architecture including discussions and explanations of concepts such as internal RAM, external RAM, Special Function Registers (SFRs), addressing modes, timers, serial I/O, and interrupts. This is followed by an in-depth section on assembly language which explains each instruction in the 8052 instruction set as well as related concepts such as assembly language syntax, expressions, assembly language directives, and how to implement 16-bit mathematical functions. The book continues with a thorough explanation of the 8052 hardware itself, reviewing the function of each pin on the microcontroller and follows this with the design and explanation of a fully functional single board computer-every section of the schematic design is explained in detail to provide the reader with a full understanding of how everything is connected, and why. The book closes with a section on hardware interfacing and software examples in which the reader will learn about the SBCMON monitor program for use on the single board computer, interfacing with a 4×4 keypad, communicating with a 16×2 LCD in direct-connect as well as memory-mapped fashion, utilizing an external serial EEPROM via the SPI protocol, and using the I2C communication standard to access an external real time clock. The book takes the reader with absolutely no knowledge of the 8052 and provides him with the information necessary to understand the architecture, design and build a functioning circuit based on the 8052, and write software to operate the 8052 in assembly language.

  • AWS System Administration: Best Practices for Sysadmins in the Amazon Cloud

    AWS System Administration: Best Practices for Sysadmins in the Amazon Cloud
    Mike Ryan

    With platforms designed for rapid adaptation and failure recovery such as Amazon Web Services, cloud computing is more like programming than traditional system administration. Tools for automatic scaling and instance replacement allow even small DevOps teams to manage massively scalable application infrastructures—if team members drop their old views of development and operations and start mastering automation.This comprehensive guide shows developers and system administrators how to configure and manage AWS services including EC2, CloudFormation, Elastic Load Balancing, S3, and Route 53. Sysadms will learn will learn to automate their favorite tools and processes; developers will pick up enough ops knowledge to build a robust and resilient AWS application infrastructure.Launch instances with EC2 or CloudFormationSecurely deploy and manage your applications with AWS toolsLearn to automate AWS configuration management with Python and PuppetDeploy applications with Auto Scaling and Elastic Load BalancingExplore approaches for deploying application and infrastructure updatesSave time on development and operations with reusable componentsLearn strategies for managing log files in AWS environmentsConfigure a cloud-aware DNS service with Route 53Use AWS CloudWatch to monitor your infrastructure and applications

  • Programmable Logic Controllers: Edition 6

    Programmable Logic Controllers: Edition 6
    William Bolton

    This textbook, now in its sixth edition, continues to be straightforward and easy-to-read, presenting the principles of PLCs while not tying itself to one manufacturer or another. Extensive examples and chapter ending problems utilize several popular PLCs, highlighting understanding of fundamentals that can be used regardless of manufacturer. This book will help you to understand the main design characteristics, internal architecture, and operating principles of PLCs, as well as Identify safety issues and methods for fault diagnosis, testing, and debugging. New to This edition: A new chapter 1 with a comparison of relay-controlled systems, microprocessor-controlled systems, and the programmable logic controller, a discussion of PLC hardware and architecture, examples from various PLC manufacturers, and coverage of security, the IEC programming standard, programming devices and manufacturer’s softwareMore detail of programming using Sequential Function ChartsExtended coverage of the sequencerMore Information on fault finding, including testing inputs and outputs with an illustration of how it is done with the PLC manufacturer’s softwareNew case studies A methodical introduction, with many illustrations, describing how to program PLCs, no matter the manufacturer, and how to use internal relays, timers, counters, shift registers, sequencers, and data-handling facilities Consideration of the standards given by IEC 1131-3 and the programming methods of ladder, functional block diagram, instruction list, structured text, and sequential function chartMany worked examples, multiple-choice questions, and problems are included, with answers to all multiple-choice questions and problems given at the end of the book

  • Hands-On Time Series Analysis with R: Perform time series analysis and forecasting using R

    Hands-On Time Series Analysis with R: Perform time series analysis and forecasting using R
    Rami Krispin

    Build efficient forecasting models using traditional time series models and machine learning algorithms.Key FeaturesPerform time series analysis and forecasting using R packages such as Forecast and h2oDevelop models and find patterns to create visualizations using the TSstudio and plotly packagesMaster statistics and implement time-series methods using examples mentionedBook DescriptionTime series analysis is the art of extracting meaningful insights from, and revealing patterns in, time series data using statistical and data visualization approaches. These insights and patterns can then be utilized to explore past events and forecast future values in the series.This book explores the basics of time series analysis with R and lays the foundations you need to build forecasting models. You will learn how to preprocess raw time series data and clean and manipulate data with packages such as stats, lubridate, xts, and zoo. You will analyze data and extract meaningful information from it using both descriptive statistics and rich data visualization tools in R such as the TSstudio, plotly, and ggplot2 packages. The later section of the book delves into traditional forecasting models such as time series linear regression, exponential smoothing (Holt, Holt-Winter, and more) and Auto-Regressive Integrated Moving Average (ARIMA) models with the stats and forecast packages. You'll also cover advanced time series regression models with machine learning algorithms such as Random Forest and Gradient Boosting Machine using the h2o package.By the end of this book, you will have the skills needed to explore your data, identify patterns, and build a forecasting model using various traditional and machine learning methods.What you will learnVisualize time series data and derive better insightsExplore auto-correlation and master statistical techniquesUse time series analysis tools from the stats, TSstudio, and forecast packagesExplore and identify seasonal and correlation patternsWork with different time series formats in RExplore time series models such as ARIMA, Holt-Winters, and moreEvaluate high-performance forecasting solutionsWho this book is forHands-On Time Series Analysis with R is ideal for data analysts, data scientists, and all R developers who are looking to perform time series analysis to predict outcomes effectively. A basic knowledge of statistics is required; some knowledge in R is expected, but not mandatory.

  • Seeking SRE: Conversations About Running Production Systems at Scale

    Seeking SRE: Conversations About Running Production Systems at Scale
    David N. Blank-Edelman

    Organizations big and small have started to realize just how crucial system and application reliability is to their business. They’ve also learned just how difficult it is to maintain that reliability while iterating at the speed demanded by the marketplace. Site Reliability Engineering (SRE) is a proven approach to this challenge.SRE is a large and rich topic to discuss. Google led the way with Site Reliability Engineering, the wildly successful O’Reilly book that described Google’s creation of the discipline and the implementation that’s allowed them to operate at a planetary scale. Inspired by that earlier work, this book explores a very different part of the SRE space. The more than two dozen chapters in Seeking SRE bring you into some of the important conversations going on in the SRE world right now.Listen as engineers and other leaders in the field discuss:Different ways of implementing SRE and SRE principles in a wide variety of settingsHow SRE relates to other approaches such as DevOpsSpecialties on the cutting edge that will soon be commonplace in SREBest practices and technologies that make practicing SRE easierThe important but rarely explored human side of SREDavid N. Blank-Edelman is the book’s curator and editor.

  • Hands-On Convolutional Neural Networks with TensorFlow: Solve computer vision problems with modeling in TensorFlow and Python

    Hands-On Convolutional Neural Networks with TensorFlow: Solve computer vision problems with modeling in TensorFlow and Python
    Iffat Zafar

    Learn how to apply TensorFlow to a wide range of deep learning and Machine Learning problems with this practical guide on training CNNs for image classification, image recognition, object detection and many computer vision challenges.Key FeaturesLearn the fundamentals of Convolutional Neural NetworksHarness Python and Tensorflow to train CNNsBuild scalable deep learning models that can process millions of itemsBook DescriptionConvolutional Neural Networks (CNN) are one of the most popular architectures used in computer vision apps. This book is an introduction to CNNs through solving real-world problems in deep learning while teaching you their implementation in popular Python library – TensorFlow. By the end of the book, you will be training CNNs in no time!We start with an overview of popular machine learning and deep learning models, and then get you set up with a TensorFlow development environment. This environment is the basis for implementing and training deep learning models in later chapters. Then, you will use Convolutional Neural Networks to work on problems such as image classification, object detection, and semantic segmentation.After that, you will use transfer learning to see how these models can solve other deep learning problems. You will also get a taste of implementing generative models such as autoencoders and generative adversarial networks.Later on, you will see useful tips on machine learning best practices and troubleshooting. Finally, you will learn how to apply your models on large datasets of millions of images. What you will learnTrain machine learning models with TensorFlowCreate systems that can evolve and scale during their life cycleUse CNNs in image recognition and classificationUse TensorFlow for building deep learning models Train popular deep learning modelsFine-tune a neural network to improve the quality of results with transfer learningBuild TensorFlow models that can scale to large datasets and systemsWho this book is forThis book is for Software Engineers, Data Scientists, or Machine Learning practitioners who want to use CNNs for solving real-world problems. Knowledge of basic machine learning concepts, linear algebra and Python will help.

  • Building Microservices: Designing Fine-Grained Systems

    Building Microservices: Designing Fine-Grained Systems
    Sam Newman

    Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You’ll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization’s goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures

  • Google Cloud Platform for Architects: Design and manage powerful cloud solutions

    Google Cloud Platform for Architects: Design and manage powerful cloud solutions
    Vitthal Srinivasan

    Get acquainted with GCP and manage robust, highly available, and dynamic solutions to drive business objectiveKey Features Identify the strengths, weaknesses and ideal use-cases for individual services offered on the Google Cloud Platform Make intelligent choices about which cloud technology works best for your use-case Leverage Google Cloud Platform to analyze and optimize technical and business processesBook DescriptionUsing a public cloud platform was considered risky a decade ago, and unconventional even just a few years ago. Today, however, use of the public cloud is completely mainstream – the norm, rather than the exception. Several leading technology firms, including Google, have built sophisticated cloud platforms, and are locked in a fierce competition for market share.The main goal of this book is to enable you to get the best out of the GCP, and to use it with confidence and competence. You will learn why cloud architectures take the forms that they do, and this will help you become a skilled high-level cloud architect. You will also learn how individual cloud services are configured and used, so that you are never intimidated at having to build it yourself. You will also learn the right way and the right situation in which to use the important GCP services.By the end of this book, you will be able to make the most out of Google Cloud Platform design.What you will learn Set up GCP account and utilize GCP services using the cloud shell, web console, and client APIs Harness the power of App Engine, Compute Engine, Containers on the Kubernetes Engine, and Cloud Functions Pick the right managed service for your data needs, choosing intelligently between Datastore, BigTable, and BigQuery Migrate existing Hadoop, Spark, and Pig workloads with minimal disruption to your existing data infrastructure, by using Dataproc intelligently Derive insights about the health, performance, and availability of cloud-powered applications with the help of monitoring, logging, and diagnostic tools in StackdriverWho this book is forIf you are a Cloud architect who is responsible to design and manage robust cloud solutions with Google Cloud Platform, then this book is for you. System engineers and Enterprise architects will also find this book useful. A basic understanding of distributed applications would be helpful, although not strictly necessary. Some working experience on other public cloud platforms would help too.

  • Hands-On Microservices with Rust: Build, test, and deploy scalable and reactive microservices with Rust 2018

    Hands-On Microservices with Rust: Build, test, and deploy scalable and reactive microservices with Rust 2018
    Denis Kolodin

    A comprehensive guide in developing and deploying high performance microservices with RustKey FeaturesStart your microservices journey and get a broader perspective on microservices development using RUST 2018,Build, deploy, and test microservices using AWSExplore advanced techniques for developing microservices such as actor model, Requests Routing, and threadsBook DescriptionMicroservice architecture is sweeping the world as the de facto pattern for building web-based applications. Rust is a language particularly well-suited for building microservices. It is a new system programming language that offers a practical and safe alternative to C.This book describes web development using the Rust programming language and will get you up and running with modern web frameworks and crates with examples of RESTful microservices creation. You will deep dive into Reactive programming, and asynchronous programming, and split your web application into a set of concurrent actors. The book provides several HTTP-handling examples with manageable memory allocations. You will walk through stateless high-performance microservices, which are ideally suitable for computation or caching tasks, and look at stateful microservices, which are filled with persistent data and database interactions. As we move along, you will learn how to use Rust macros to describe business or protocol entities of our application and compile them into native structs, which will be performed at full speed with the help of the server's CPU.Finally, you will be taken through examples of how to test and debug microservices and pack them into a tiny monolithic binary or put them into a container and deploy them to modern cloud platforms such as AWS.What you will learnGet acquainted with leveraging Rust web programmingGet to grips with various Rust crates, such as hyper, Tokio, and ActixExplore RESTful microservices with RustUnderstand how to pack Rust code to a container using DockerFamiliarize yourself with Reactive microservicesDeploy your microservices to modern cloud platforms such as AWSWho this book is forThis book is for developers who have basic knowledge of RUST, and want to learn how to build, test, scale, and manage RUST microservices. No prior experience of writing microservices in RUST is assumed.

  • Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications

    Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications
    Bilgin Ibryam

    The way developers design, build, and run software has changed significantly with the evolution of microservices and containers. These modern architectures use new primitives that require a different set of practices than most developers, tech leads, and architects are accustomed to. With this focused guide, Bilgin Ibryam and Roland Huß from Red Hat provide common reusable elements, patterns, principles, and practices for designing and implementing cloud-native applications on Kubernetes.Each pattern includes a description of the problem and a proposed solution with Kubernetes specifics. Many patterns are also backed by concrete code examples. This book is ideal for developers already familiar with basic Kubernetes concepts who want to learn common cloud native patterns.You’ll learn about the following pattern categories:Foundational patterns cover the core principles and practices for building container-based cloud-native applications.Behavioral patterns explore finer-grained concepts for managing various types of container and platform interactions.Structural patterns help you organize containers within a pod, the atom of the Kubernetes platform.Configuration patterns provide insight into how application configurations can be handled in Kubernetes.Advanced patterns covers more advanced topics such as extending the platform with operators.

  • Kubernetes: Up and Running: Dive into the Future of Infrastructure

    Kubernetes: Up and Running: Dive into the Future of Infrastructure
    Kelsey Hightower

    Legend has it that Google deploys over two billion application containers a week. How’s that possible? Google revealed the secret through a project called Kubernetes, an open source cluster orchestrator (based on its internal Borg system) that radically simplifies the task of building, deploying, and maintaining scalable distributed systems in the cloud. This practical guide shows you how Kubernetes and container technology can help you achieve new levels of velocity, agility, reliability, and efficiency.Authors Kelsey Hightower, Brendan Burns, and Joe Beda—who’ve worked on Kubernetes at Google and other organizatons—explain how this system fits into the lifecycle of a distributed application. You will learn how to use tools and APIs to automate scalable distributed systems, whether it is for online services, machine-learning applications, or a cluster of Raspberry Pi computers.Explore the distributed system challenges that Kubernetes addressesDive into containerized application development, using containers such as DockerCreate and run containers on Kubernetes, using the docker image format and container runtimeExplore specialized objects essential for running applications in productionReliably roll out new software versions without downtime or errorsGet examples of how to develop and deploy real-world applications in Kubernetes

  • Managing Information Technology

    Managing Information Technology
    Francisco Castillo

    There are two different, interdependent components of IT that are important to a CIO: strategy, which is long-term; and tactical and operational concerns, which are short-term. Based on this distinction and its repercussions, this book clearly separates strategy from day-to-day operations and projects from operations – the two most important functions of a CIO.It starts by discussing the ideal organization of an IT department and the rationale behind it, and then goes on to debate the most pressing need – managing operations. It also explains some best industry standards and their practical implementation, and discusses project management, again highlighting the differences between the methodologies used in projects and those used in operations. A special chapter is devoted to the cutover of projects into operations, a critical aspect seldom discussed in detail. Other chapters touch on the management of IT portfolios, project governance, as well as agile project methodology, how it differs from the waterfall methodology, and when it is convenient to apply each.Taking the fundamental principles of IT service management and best practices in project management, the book offers a single, seamless reference for IT managers and professionals. It is highly practical, explaining how to apply these principles based on the author’s extensive experience in industry.

  • Matplotlib 3.0 Cookbook: Over 150 recipes to create highly detailed interactive visualizations using Python

    Matplotlib 3.0 Cookbook: Over 150 recipes to create highly detailed interactive visualizations using Python
    Srinivasa Rao Poladi

    Build attractive, insightful, and powerful visualizations to gain quality insights from your dataKey FeaturesMaster Matplotlib for data visualizationCustomize basic plots to make and deploy figures in cloud environmentsExplore recipes to design various data visualizations from simple bar charts to advanced 3D plotsBook DescriptionMatplotlib provides a large library of customizable plots, along with a comprehensive set of backends. Matplotlib 3.0 Cookbook is your hands-on guide to exploring the world of Matplotlib, and covers the most effective plotting packages for Python 3.7. With the help of this cookbook, you'll be able to tackle any problem you might come across while designing attractive, insightful data visualizations. With the help of over 150 recipes, you'll learn how to develop plots related to business intelligence, data science, and engineering disciplines with highly detailed visualizations. Once you've familiarized yourself with the fundamentals, you'll move on to developing professional dashboards with a wide variety of graphs and sophisticated grid layouts in 2D and 3D. You'll annotate and add rich text to the plots, enabling the creation of a business storyline. In addition to this, you'll learn how to save figures and animations in various formats for downstream deployment, followed by extending the functionality offered by various internal and third-party toolkits, such as axisartist, axes_grid, Cartopy, and Seaborn. By the end of this book, you'll be able to create high-quality customized plots and deploy them on the web and on supported GUI applications such as Tkinter, Qt 5, and wxPython by implementing real-world use cases and examples.What you will learnDevelop simple to advanced data visualizations in Matplotlib Use the pyplot API to quickly develop and deploy different plots Use object-oriented APIs for maximum flexibility with the customization of figuresDevelop interactive plots with animation and widgets Use maps for geographical plotting Enrich your visualizations using embedded texts and mathematical expressionsEmbed Matplotlib plots into other GUIs used for developing applicationsUse toolkits such as axisartist, axes_grid1, and cartopy to extend the base functionality of MatplotlibWho this book is forThe Matplotlib 3.0 Cookbook is for you if you are a data analyst, data scientist, or Python developer looking for quick recipes for a multitude of visualizations. This book is also for those who want to build variations of interactive visualizations.

  • Hands-On Data Science for Marketing: Improve your marketing strategies with machine learning using Python and R

    Hands-On Data Science for Marketing: Improve your marketing strategies with machine learning using Python and R
    Yoon Hyup Hwang

    Optimize your marketing strategies through analytics and machine learningKey FeaturesUnderstand how data science drives successful marketing campaignsUse machine learning for better customer engagement, retention, and product recommendationsExtract insights from your data to optimize marketing strategies and increase profitabilityBook DescriptionRegardless of company size, the adoption of data science and machine learning for marketing has been rising in the industry. With this book, you will learn to implement data science techniques to understand the drivers behind the successes and failures of marketing campaigns. This book is a comprehensive guide to help you understand and predict customer behaviors and create more effectively targeted and personalized marketing strategies.This is a practical guide to performing simple-to-advanced tasks, to extract hidden insights from the data and use them to make smart business decisions. You will understand what drives sales and increases customer engagements for your products. You will learn to implement machine learning to forecast which customers are more likely to engage with the products and have high lifetime value. This book will also show you how to use machine learning techniques to understand different customer segments and recommend the right products for each customer. Apart from learning to gain insights into consumer behavior using exploratory analysis, you will also learn the concept of A/B testing and implement it using Python and R.By the end of this book, you will be experienced enough with various data science and machine learning techniques to run and manage successful marketing campaigns for your business.What you will learnLearn how to compute and visualize marketing KPIs in Python and RMaster what drives successful marketing campaigns with data scienceUse machine learning to predict customer engagement and lifetime valueMake product recommendations that customers are most likely to buyLearn how to use A/B testing for better marketing decision makingImplement machine learning to understand different customer segmentsWho this book is forIf you are a marketing professional, data scientist, engineer, or a student keen to learn how to apply data science to marketing, this book is what you need! It will be beneficial to have some basic knowledge of either Python or R to work through the examples. This book will also be beneficial for beginners as it covers basic-to-advanced data science concepts and applications in marketing with real-life examples.

  • Foundations for Architecting Data Solutions: Managing Successful Data Projects

    Foundations for Architecting Data Solutions: Managing Successful Data Projects
    Ted Malaska

    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 typesUse guidelines to evaluate and select data management solutionsReduce risk related to technology, your team, and vague requirementsExplore system interface design using APIs, REST, and pub/sub systemsChoose the right distributed storage system for your big data systemPlan and implement metadata collections for your data architectureUse data pipelines to ensure data integrity from source to final storageEvaluate the attributes of various engines for processing the data you collect

  • Docker: Up & Running: Shipping Reliable Containers in Production

    Docker: Up & Running: Shipping Reliable Containers in Production
    Karl Matthias

    Updated to cover Docker version 1.10 Docker is quickly changing the way that organizations are deploying software at scale. But understanding how Linux containers fit into your workflow—and getting the integration details right—are not trivial tasks. With 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.Two Lead Site Reliability Engineers at New Relic share much of what they have learned from using Docker in production since shortly after its initial release. Their goal is to help you reap the benefits of this technology while avoiding the many setbacks they experienced.Learn how Docker simplifies dependency management and deployment workflow for your applicationsStart working with Docker images, containers, and command line toolsUse practical techniques to deploy and test Docker-based Linux containers in productionDebug containers by understanding their composition and internal processesDeploy production containers at scale inside your data center or cloud environmentExplore advanced Docker topics, including deployment tools, networking, orchestration, security, and configuration

  • Programming Kubernetes: Developing Cloud-Native Applications

    Programming Kubernetes: Developing Cloud-Native Applications
    Michael Hausenblas

    If you’re looking to develop native applications in Kubernetes, this is your guide. Developers and AppOps administrators will learn how to build Kubernetes-native applications that interact directly with the API server to query or update the state of resources. AWS developer advocate Michael Hausenblas and Red Hat principal software engineer Stefan Schimanski explain the characteristics of these apps and show you how to program Kubernetes to build them.You’ll explore the basic building blocks of Kubernetes, including the client-go API library and custom resources. All you need to get started is a rudimentary understanding of development and system administration tools and practices, such as package management, the Go programming language, and Git.Walk through Kubernetes API basics and dive into the server’s inner structureExplore Kubernetes’s programming interface in Go, including Kubernetes API objectsLearn about custom resources—the central extension tools used in the Kubernetes ecosystemUse tags to control Kubernetes code generators for custom resourcesWrite custom controllers and operators and make them production readyExtend the Kubernetes API surface by implementing a custom API server

  • Hands-On Domain-Driven Design with .NET Core: Tackling complexity in the heart of software by putting DDD principles into practice

    Hands-On Domain-Driven Design with .NET Core: Tackling complexity in the heart of software by putting DDD principles into practice
    Alexey Zimarev

    Solve complex business problems by understanding users better, finding the right problem to solve, and building lean event-driven systems to give your customers what they really wantKey FeaturesApply DDD principles using modern tools such as EventStorming, Event Sourcing, and CQRSLearn how DDD applies directly to various architectural styles such as REST, reactive systems, and microservicesEmpower teams to work flexibly with improved services and decoupled interactionsBook DescriptionDevelopers across the world are rapidly adopting DDD principles to deliver powerful results when writing software that deals with complex business requirements. This book will guide you in involving business stakeholders when choosing the software you are planning to build for them. By figuring out the temporal nature of behavior-driven domain models, you will be able to build leaner, more agile, and modular systems.You’ll begin by uncovering domain complexity and learn how to capture the behavioral aspects of the domain language. You will then learn about EventStorming and advance to creating a new project in .NET Core 2.1; you’ll also and write some code to transfer your events from sticky notes to C#. The book will show you how to use aggregates to handle commands and produce events. As you progress, you’ll get to grips with Bounded Contexts, Context Map, Event Sourcing, and CQRS. After translating domain models into executable C# code, you will create a frontend for your application using Vue.js. In addition to this, you’ll learn how to refactor your code and cover event versioning and migration essentials.By the end of this DDD book, you will have gained the confidence to implement the DDD approach in your organization and be able to explore new techniques that complement what you’ve learned from the book.What you will learnDiscover and resolve domain complexity together with business stakeholdersAvoid common pitfalls when creating the domain modelStudy the concept of Bounded Context and aggregateDesign and build temporal models based on behavior and not only dataExplore benefits and drawbacks of Event SourcingGet acquainted with CQRS and to-the-point read models with projectionsPractice building one-way flow UI with Vue.jsUnderstand how a task-based UI conforms to DDD principlesWho this book is forThis book is for .NET developers who have an intermediate level understanding of C#, and for those who seek to deliver value, not just write code. Intermediate level of competence in JavaScript will be helpful to follow the UI chapters.

  • MySQL 8 Administrator’s Guide: Effective guide to administering high-performance MySQL 8 solutions

    MySQL 8 Administrator’s Guide: Effective guide to administering high-performance MySQL 8 solutions
    Chintan Mehta

    Step by step guide to monitor, manage, and secure your database engineKey FeaturesYour companion to master all the administration-related tasks in MySQL 8Ensure high performance and high availability of your MySQL solution using effective replication and backup techniquesA comprehensive guide to performing query optimization, security and a whole host of other administrative tasks in MySQL 8Book DescriptionMySQL is one of the most popular and widely used relational databases in the world today. The recently released version 8.0 brings along some major advancements in the way your MySQL solution can be administered. This handbook will be your companion to understand the newly introduced features in MySQL and how you can leverage them to design a high-performance MySQL solution for your organization.This book starts with a brief introduction to the newly introduced features in MySQL 8, followed by quickly jumping onto the crucial administration topics that you will find useful in your day to day work. Topics such as migrating to MySQL 8, MySQL benchmarking, achieving high performance by implementing the indexing techniques, and optimizing your queries are covered in this book. You will also learn how to perform replication, scale your MySQL solution and implement effective security techniques. A special section on the common and not so common troubleshooting techniques for effective MySQL administration is also covered in this book. By the end of this highly practical book, you will have all the knowledge you need to tackle any problem you might encounter while administering your MySQL solution.What you will learnUnderstanding different MySQL 8 data types based on type of contents and storage requirementsBest practices for optimal use of features in MySQL 8Explore globalization configuration and caching techniques to improve performanceCreate custom storage engine as per system requirementsLearn various ways of index implementation for flash memory storagesConfigure and implement replication along with approaches to use replication as solutionUnderstand how to make your MySQL 8 solution highly availableTroubleshoot common issues and identify error codes while using MySQL 8Who this book is forThis book is intended for MySQL administrators who are looking for a handy guide covering all the MySQL administration-related tasks. If you are a DBA looking to get started with MySQL administration, this book will also help you. Knowledge of the basic database concepts is required to get started with this book.

  • REST in Practice: Hypermedia and Systems Architecture

    REST in Practice: Hypermedia and Systems Architecture
    Jim Webber

    Why don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and enterprise-class applications?In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.Learn basic Web techniques for application integrationUse HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applicationsDiscover the Create, Read, Update, Delete (CRUD) pattern for manipulating resourcesBuild RESTful services that use hypermedia to model state transitions and describe business protocolsLearn how to make Web-based solutions secure and interoperableExtend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPubUnderstand how the Semantic Web will impact systems design

  • Raspberry Pi User Guide: Edition 3

    Raspberry Pi User Guide: Edition 3
    Eben Upton

    The “unofficial official” guide to the Raspberry Pi, complete with creator insight Raspberry Pi User Guide, 3rdEdition contains everything you need to know to get up and running with Raspberry Pi. This book is the go-to guide for Noobs who want to dive right in. This updated third edition covers the model B+ Raspberry Pi and its software, additional USB ports, and changes to the GPIO, including new information on Arduino and Minecraft on the Pi. You’ll find clear, step-by-step instruction for everything from software installation and configuration to customizing your Raspberry Pi with capability-expanding add-ons. Learn the basic Linux SysAdmin and flexible programming languages that allow you to make your Pi into whatever you want it to be. The Raspberry Pi was created by the UK Non-profit Raspberry Pi Foundation to help get kids interested in programming. Affordable, portable, and utterly adorable, the Pi exceeded all expectations, introducing millions of people to programming since its creation. The Raspberry Pi User Guide, 3rd Edition helps you and your Pi get acquainted, with clear instruction in easy to understand language. Install software, configure, and connect your Raspberry Pi to other devices Master basic Linux System Admin to better understand nomenclature and conventions Write basic productivity and multimedia programs in Scratch and Python Extend capabilities with add-ons like Gertboard, Arduino, and more The Raspberry Pi has become a full-fledged phenomenon, popular with tinkerers, hackers, experimenters, and inventors. If you want to get started but aren’t sure where to begin, Raspberry Pi User Guide, 3rd Edition contains everything you need.

  • Hands-On Design Patterns with Delphi: Build applications using idiomatic, extensible, and concurrent design patterns in Delphi

    Hands-On Design Patterns with Delphi: Build applications using idiomatic, extensible, and concurrent design patterns in Delphi
    Primož Gabrijelčič

    Get up to speed with creational, structural, behavioral and concurrent patterns in Delphi to write clear, concise and effective codeKey FeaturesDelve into the core patterns and components of Delphi in order to master your application's designBrush up on tricks, techniques, and best practices to solve common design and architectural challengesChoose the right patterns to improve your program’s efficiency and productivityBook DescriptionDesign patterns have proven to be the go-to solution for many common programming scenarios. This book focuses on design patterns applied to the Delphi language. The book will provide you with insights into the language and its capabilities of a runtime library.You'll start by exploring a variety of design patterns and understanding them through real-world examples. This will entail a short explanation of the concept of design patterns and the original set of the 'Gang of Four' patterns, which will help you in structuring your designs efficiently. Next, you'll cover the most important 'anti-patterns' (essentially bad software development practices) to aid you in steering clear of problems during programming. You'll then learn about the eight most important patterns for each creational, structural, and behavioral type. After this, you'll be introduced to the concept of 'concurrency' patterns, which are design patterns specifically related to multithreading and parallel computation. These will enable you to develop and improve an interface between items and harmonize shared memories within threads. Toward the concluding chapters, you'll explore design patterns specific to program design and other categories of patterns that do not fall under the 'design' umbrella.By the end of this book, you'll be able to address common design problems encountered while developing applications and feel confident while building scalable projects.What you will learnGain insights into the concept of design patternsStudy modern programming techniques with DelphiKeep up to date with the latest additions and program design techniques in DelphiGet to grips with various modern multithreading approachesDiscover creational, structural, behavioral, and concurrent patternsDetermine how to break a design problem down into its component partsWho this book is forHands-On Design Patterns with Delphi is aimed at beginner-level Delphi developers who want to build scalable and robust applications. Basic knowledge of Delphi is a must.

  • Site Reliability Engineering: How Google Runs Production Systems

    Site Reliability Engineering: How Google Runs Production Systems
    Niall Richard Murphy

    The overwhelming majority of a software system’s lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google’s Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You’ll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient—lessons directly applicable to your organization.This book is divided into four sections:Introduction—Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples—Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices—Understand the theory and practice of an SRE’s day-to-day work: building and operating large distributed computing systemsManagement—Explore Google's best practices for training, communication, and meetings that your organization can use

  • A Primer on Compression in the Memory Hierarchy

    A Primer on Compression in the Memory Hierarchy
    Somayeh Sardashti

    This synthesis lecture presents the current state-of-the-art in applying low-latency, lossless hardware compression algorithms to cache, memory, and the memory/cache link. There are many non-trivial challenges that must be addressed to make data compression work well in this context. First, since compressed data must be decompressed before it can be accessed, decompression latency ends up on the critical memory access path. This imposes a significant constraint on the choice of compression algorithms. Second, while conventional memory systems store fixed-size entities like data types, cache blocks, and memory pages, these entities will suddenly vary in size in a memory system that employs compression. Dealing with variable size entities in a memory system using compression has a significant impact on the way caches are organized and how to manage the resources in main memory. We systematically discuss solutions in the open literature to these problems. Chapter 2 provides the foundations of data compression by first introducing the fundamental concept of value locality. We then introduce a taxonomy of compression algorithms and show how previously proposed algorithms fit within that logical framework. Chapter 3 discusses the different ways that cache memory systems can employ compression, focusing on the trade-offs between latency, capacity, and complexity of alternative ways to compact compressed cache blocks. Chapter 4 discusses issues in applying data compression to main memory and Chapter 5 covers techniques for compressing data on the cache-to-memory links. This book should help a skilled memory system designer understand the fundamental challenges in applying compression to the memory hierarchy and introduce him/her to the state-of-the-art techniques in addressing them.

  • Nginx: From Beginner to Pro

    Nginx: From Beginner to Pro
    Rahul Soni

    Teaches you to start up Nginx and quickly take your expertise to a level where you can comfortably work with various aspects of the web server and make informed design decisions for your web farm. Nginx powers more than 40% of the top 1000 websites and is among the handful of web servers that can handle more than 10K simultaneous connections. It has some features which are simply unparalleled.Nginx: From Beginner to Pro teaches the Nginx server in a practical way. Frequently, it is found that web administrators struggle to fix the skill set gaps that happen due to a platform change. Migration from IIS & Apache becomes tedious at best. The book is targeted toward real-world administrators who would want to get up to speed as soon as possible and make good, informed design decisions. First you will set up Nginx and understand the architectural nuances. Then you will learn how to scale out, secure, monitor and troubleshoot the web server. Once you are fully comfortable with Nginx, you will start learning about migrating applications (or its part) from IIS or Apache web servers. Finally, you will learn to troubleshoot and maintain your Nginx professionally.Written by an author who has gone through the rough phase while moving from IIS/Apache to Nginx, this book is practical and filled with step-by-step instructions to make your time with Nginx as straightforward as possible. What You Will Learn Install and set up Nginx on CentOS, Ubuntu & Mac.Understand Nginx modules and compiling Nginx with appropriate modules.Learn about basic configuration and architecture along with hosting nuances.Load balance Nginx and use it as a highly available web platform.Monitor traffic and automate common administrative tasks.Use scripts to perform routine checks for health issues.Implement security and authentication in Nginx.Learn how and what to migrate from IIS & Apache web servers.Who This Book Is For Provides a crisp background of Nginx and then gears towards technical and practical topics. You need to know HTTP protocol, and have basic knowledge of Linux and networking concepts. The target audience is web administrators who would like to learn the finer nuances of Nginx, or map their existing skillset from IIS or Apache.

  • Computer Architecture: A Quantitative Approach, Edition 6

    Computer Architecture: A Quantitative Approach, Edition 6
    John L. Hennessy

    Computer Architecture: A Quantitative Approach, Sixth Edition has been considered essential reading by instructors, students and practitioners of computer design for over 20 years. The sixth edition of this classic textbook from Hennessy and Patterson, winners of the 2017 ACM A.M. Turing Award recognizing contributions of lasting and major technical importance to the computing field, is fully revised with the latest developments in processor and system architecture. The text now features examples from the RISC-V (RISC Five) instruction set architecture, a modern RISC instruction set developed and designed to be a free and openly adoptable standard. It also includes a new chapter on domain-specific architectures and an updated chapter on warehouse-scale computing that features the first public information on Google's newest WSC. True to its original mission of demystifying computer architecture, this edition continues the longstanding tradition of focusing on areas where the most exciting computing innovation is happening, while always keeping an emphasis on good engineering design.Winner of a 2019 Textbook Excellence Award (Texty) from the Textbook and Academic Authors AssociationIncludes a new chapter on domain-specific architectures, explaining how they are the only path forward for improved performance and energy efficiency given the end of Moore’s Law and Dennard scalingFeatures the first publication of several DSAs from industry Features extensive updates to the chapter on warehouse-scale computing, with the first public information on the newest Google WSC Offers updates to other chapters including new material dealing with the use of stacked DRAM; data on the performance of new NVIDIA Pascal GPU vs. new AVX-512 Intel Skylake CPU; and extensive additions to content covering multicore architecture and organizationIncludes "Putting It All Together" sections near the end of every chapter, providing real-world technology examples that demonstrate the principles covered in each chapter Includes review appendices in the printed text and additional reference appendices available online Includes updated and improved case studies and exercisesACM named John L. Hennessy and David A. Patterson, recipients of the 2017 ACM A.M. Turing Award for pioneering a systematic, quantitative approach to the design and evaluation of computer architectures with enduring impact on the microprocessor industry

  • SAS for Finance: Forecasting and data analysis techniques with real-world examples to build powerful financial models

    SAS for Finance: Forecasting and data analysis techniques with real-world examples to build powerful financial models
    Harish Gulati

    Leverage the analytical power of SAS to perform financial analysis efficientlyKey FeaturesLeverage the power of SAS to analyze financial data with easeFind hidden patterns in your data, predict future trends, and optimize risk managementLearn why leading banks and financial institutions rely on SAS for financial analysisBook DescriptionSAS is a groundbreaking tool for advanced predictive and statistical analytics used by top banks and financial corporations to establish insights from their financial data.SAS for Finance offers you the opportunity to leverage the power of SAS analytics in redefining your data. Packed with real-world examples from leading financial institutions, the author discusses statistical models using time series data to resolve business issues.This book shows you how to exploit the capabilities of this high-powered package to create clean, accurate financial models. You can easily assess the pros and cons of models to suit your unique business needs.By the end of this book, you will be able to leverage the true power of SAS to design and develop accurate analytical models to gain deeper insights into your financial data.What you will learnUnderstand time series data and its relevance in the financial industryBuild a time series forecasting model in SAS using advanced modeling theoriesDevelop models in SAS and infer using regression and Markov chainsForecast inflation by building an econometric model in SAS for your financial planningManage customer loyalty by creating a survival model in SAS using various groupingsUnderstand similarity analysis and clustering in SAS using time series dataWho this book is forFinancial data analysts and data scientists who want to use SAS to process and analyze financial data and find hidden patterns and trends from it will find this book useful. Prior exposure to SAS will be helpful but is not mandatory. Some basic understanding of the financial concepts is required.

  • Hands-On Neural Network Programming with C#: Add powerful neural network capabilities to your C# enterprise applications

    Hands-On Neural Network Programming with C#: Add powerful neural network capabilities to your C# enterprise applications
    Matt R. Cole

    Create and unleash the power of neural networks by implementing C# and .Net codeKey FeaturesGet a strong foundation of neural networks with access to various machine learning and deep learning librariesReal-world case studies illustrating various neural network techniques and architectures used by practitionersCutting-edge coverage of Deep Networks, optimization algorithms, convolutional networks, autoencoders and many moreBook DescriptionNeural networks have made a surprise comeback in the last few years and have brought tremendous innovation in the world of artificial intelligence. The goal of this book is to provide C# programmers with practical guidance in solving complex computational challenges using neural networks and C# libraries such as CNTK, and TensorFlowSharp. This book will take you on a step-by-step practical journey, covering everything from the mathematical and theoretical aspects of neural networks, to building your own deep neural networks into your applications with the C# and .NET frameworks.This book begins by giving you a quick refresher of neural networks. You will learn how to build a neural network from scratch using packages such as Encog, Aforge, and Accord. You will learn about various concepts and techniques, such as deep networks, perceptrons, optimization algorithms, convolutional networks, and autoencoders. You will learn ways to add intelligent features to your .NET apps, such as facial and motion detection, object detection and labeling, language understanding, knowledge, and intelligent search.Throughout this book, you will be working on interesting demonstrations that will make it easier to implement complex neural networks in your enterprise applications.What you will learnUnderstand perceptrons and how to implement them in C#Learn how to train and visualize a neural network using cognitive servicesPerform image recognition for detecting and labeling objects using C# and TensorFlowSharpDetect specific image characteristics such as a face using Accord.NetDemonstrate particle swarm optimization using a simple XOR problem and EncogTrain convolutional neural networks using ConvNetSharpFind optimal parameters for your neural network functions using numeric and heuristic optimization techniques.Who this book is forThis book is for Machine Learning Engineers, Data Scientists, Deep Learning Aspirants and Data Analysts who are now looking to move into advanced machine learning and deep learning with C#. Prior knowledge of machine learning and working experience with C# programming is required to take most out of this book

  • Terraform: Up and Running: Writing Infrastructure as Code

    Terraform: Up and Running: Writing Infrastructure as Code
    Yevgeniy Brikman

    Terraform has emerged as a key player in the DevOps world for defining, launching, and managing infrastructure as code (IAC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, and Azure. This hands-on book is the fastest way to get up and running with Terraform.Gruntwork co-founder Yevgeniy (Jim) Brikman walks you through dozens of code examples that demonstrate how to use Terraform’s simple, declarative programming language to deploy and manage infrastructure with just a few commands. Whether you’re a novice developer, aspiring DevOps engineer, or veteran sysadmin, this book will take you from Terraform basics to running a full tech stack capable of supporting a massive amount of traffic and a large team of developers.Compare Terraform to other IAC tools, such as Chef, Puppet, Ansible, and Salt StackUse Terraform to deploy server clusters, load balancers, and databasesLearn how Terraform manages the state of your infrastructure and how it impacts file layout, isolation, and lockingCreate reusable infrastructure with Terraform modulesTry out advanced Terraform syntax to implement loops, if-statements, and zero-downtime deploymentUse Terraform as a team, including best practices for writing, testing, and versioning Terraform code

  • Blockchain By Example: A developer s guide to creating decentralized applications using Bitcoin, Ethereum, and Hyperledger

    Blockchain By Example: A developer’s guide to creating decentralized applications using Bitcoin, Ethereum, and Hyperledger
    Bellaj Badr

    Implement decentralized blockchain applications to build scalable DappsKey FeaturesUnderstand the blockchain ecosystem and its terminologiesImplement smart contracts, wallets, and consensus protocolsDesign and develop decentralized applications using Bitcoin, Ethereum, and HyperledgerBook DescriptionThe Blockchain is a revolution promising a new world without middlemen. Technically, it is an immutable and tamper-proof distributed ledger of all transactions across a peer-to-peer network. With this book, you will get to grips with the blockchain ecosystem to build real-world projects.This book will walk you through the process of building multiple blockchain projects with different complexity levels and hurdles. Each project will teach you just enough about the field's leading technologies, Bitcoin, Ethereum, Quorum, and Hyperledger in order to be productive from the outset. As you make your way through the chapters, you will cover the major challenges that are associated with blockchain ecosystems such as scalability, integration, and distributed file management. In the concluding chapters, you’ll learn to build blockchain projects for business, run your ICO, and even create your own cryptocurrency. Blockchain by Example also covers a range of projects such as Bitcoin payment systems, supply chains on Hyperledger, and developing a Tontine Bank Every is using Ethereum.By the end of this book, you will not only be able to tackle common issues in the blockchain ecosystem, but also design and build reliable and scalable distributed systems.What you will learnGrasp decentralized technology fundamentals to master blockchain principlesBuild blockchain projects on Bitcoin, Ethereum, and HyperledgerCreate your currency and a payment application using BitcoinImplement decentralized apps and supply chain systems using HyperledgerWrite smart contracts, run your ICO, and build a Tontine decentralized app using EthereumImplement distributed file management with blockchainIntegrate blockchain into existing systems in your organizationWho this book is forIf you are keen on learning how to build your own blockchain decentralized applications from scratch, then this book is for you. It explains all the basic concepts required to develop intermediate projects and will teach you to implement the building blocks of a blockchain ecosystem.

  • Architectures and Frameworks for Developing and Applying Blockchain Technology

    Architectures and Frameworks for Developing and Applying Blockchain Technology
    Shi, Nansi

    The blockchain revolution has drastically impacted global economics and the strategic practices within different industries. Cryptocurrency specifically has forever changed the face of business and the implementation of business online. While innovative, people are still in the early stages of building and developing blockchain technology and its applications, and it is critical that researchers and practitioners obtain a better understanding of this global phenomenon. Architectures and Frameworks for Developing and Applying Blockchain Technology is an essential reference source that presents the technological foundation, recent research findings, developments, and critical issues associated with blockchain technology from both computer science and social science perspectives. Featuring topics such as artificial intelligence, digital economy, and network technology, this book is ideally designed for academics, researchers, industry leaders, IT consultants, engineers, programmers, practitioners, government officials, policymakers, and students.

  • Programming Massively Parallel Processors: A Hands-on Approach, Edition 2

    Programming Massively Parallel Processors: A Hands-on Approach, Edition 2
    David B. Kirk

    Programming Massively Parallel Processors: A Hands-on Approach, Second Edition, teaches students how to program massively parallel processors. It offers a detailed discussion of various techniques for constructing parallel programs. Case studies are used to demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. This guide shows both student and professional alike the basic concepts of parallel programming and GPU architecture. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in depth. This revised edition contains more parallel programming examples, commonly-used libraries such as Thrust, and explanations of the latest tools. It also provides new coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more; increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism; and two new case studies (on MRI reconstruction and molecular visualization) that explore the latest applications of CUDA and GPUs for scientific research and high-performance computing. This book should be a valuable resource for advanced students, software engineers, programmers, and hardware engineers.New coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and moreIncreased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelismTwo new case studies (on MRI reconstruction and molecular visualization) explore the latest applications of CUDA and GPUs for scientific research and high-performance computing

  • Distributed Systems: An Algorithmic Approach, Second Edition, Edition 2

    Distributed Systems: An Algorithmic Approach, Second Edition, Edition 2
    Sukumar Ghosh

    Distributed Systems: An Algorithmic Approach, Second Edition provides a balanced and straightforward treatment of the underlying theory and practical applications of distributed computing. As in the previous version, the language is kept as unobscured as possible—clarity is given priority over mathematical formalism. This easily digestible text: Features significant updates that mirror the phenomenal growth of distributed systems Explores new topics related to peer-to-peer and social networks Includes fresh exercises, examples, and case studies Supplying a solid understanding of the key principles of distributed computing and their relationship to real-world applications, Distributed Systems: An Algorithmic Approach, Second Edition makes both an ideal textbook and a handy professional reference.

  • Docker on Windows

    Docker on Windows
    Elton Stoneman

    Learn how to run new and old Windows applications in Docker containers.About This BookPackage traditional .NET Frameworks apps and new .NET Core apps as Docker images, and run them in containers for increased efficiency, portability, and securityDesign and implement distributed applications that run across connected containers, using enterprise-grade open source software from public Docker imagesBuild a full Continuous Deployment pipeline for a .NET Framework application, and deploy it to a highly-available Docker swarm running in the cloudWho This Book Is ForIf you want to modernize an old monolithic application without rewriting it, smooth the deployment to production, or move to DevOps or the cloud, then Docker is the enabler for you. This book gives you a solid grounding in Docker so you can confidently approach all of these scenarios.What You Will LearnComprehend key Docker concepts: images, containers, registries, and swarmsRun Docker on Windows 10, Windows Server 2016, and in the cloudDeploy and monitor distributed solutions across multiple Docker containersRun containers with high availability and fail-over with Docker SwarmMaster security in-depth with the Docker platform, making your apps more secureBuild a Continuous Deployment pipeline by running Jenkins in DockerDebug applications running in Docker containers using Visual StudioPlan the adoption of Docker in your own organizationIn DetailDocker is a platform for running server applications in lightweight units called containers. You can run Docker on Windows Server 2016 and Windows 10, and run your existing apps in containers to get significant improvements in efficiency, security, and portability.This book teaches you all you need to know about Docker on Windows, from 101 to deploying highly-available workloads in production. This book takes you on a Docker journey, starting with the key concepts and simple examples of how to run .NET Framework and .NET Core apps in Windows Docker containers. Then it moves on to more complex examples—using Docker to modernize the architecture and development of traditional ASP.NET and SQL Server apps.The examples show you how to break up monoliths into distributed apps and deploy them to a clustered environment in the cloud, using the exact same artifacts you use to run them locally. To help you move confidently to production, it then explains Docker security, and the management and support options.The book finishes with guidance on getting started with Docker in your own projects, together with some real-world case studies for Docker implementations, from small-scale on-premises apps to very large-scale apps running on Azure.Style and approachUsing a step-by-step approach, this book shows you how to use Docker on Windows. It includes practical examples and real-world technical and business scenarios that will help you effectively implement Docker in your environment.There are over 50 examples of Dockerized applications, using C# .NET projects as the source and packaging them into Docker images.

  • Managing Humans: Biting and Humorous Tales of a Software Engineering Manager, Edition 3

    Managing Humans: Biting and Humorous Tales of a Software Engineering Manager, Edition 3
    Michael Lopp

    Read hilarious stories with serious lessons that Michael Lopp extracts from his varied and sometimes bizarre experiences as a manager at Apple, Pinterest, Palantir, Netscape, Symantec, Slack, and Borland. Many of the stories first appeared in primitive form in Lopp’s perennially popular blog, Rands in Repose. The Third Edition of Managing Humans contains a whole new season of episodes from the ongoing saga of Lopp's adventures in Silicon Valley, together with classic episodes remastered for high fidelity and freshness.Whether you're an aspiring manager, a current manager, or just wondering what the heck a manager does all day, there is a story in this book that will speak to you—and help you survive and prosper amid the general craziness of dysfunctional bright people caught up in the chase of riches and power. Scattered in repose among these manic misfits are managers, an even stranger breed of people who, through a mystical organizational ritual, have been given power over the futures and the bank accounts of many others.Lopp's straight-from-the-hip style is unlike that of any other writer on management and leadership. He pulls no punches and tells stories he probably shouldn't. But they are magically instructive and yield Lopp’s trenchant insights on leadership that cut to the heart of the matter—whether it's dealing with your boss, handling a slacker, hiring top guns, or seeing a knotty project through to completion.Writing code is easy. Managing humans is not. You need a book to help you do it, and this is it.What You'll LearnLead engineersHandle conflictHire wellMotivate employeesManage your bossDiscover how to say noUnderstand different engineering personalitiesBuild effective teamsRun a meeting wellScale teamsWho This Book Is ForManagers and would-be managers staring at the role of a manager wondering why they would ever leave the safe world of bits and bytes for the messy world of managing humans. The book covers handling conflict, managing wildly differing personality types, infusing innovation into insane product schedules, and figuring out how to build a lasting and useful engineering culture.

  • Infrastructure as Code: Managing Servers in the Cloud

    Infrastructure as Code: Managing Servers in the Cloud
    Kief Morris

    Virtualization, cloud, containers, server automation, and software-defined networking are meant to simplify IT operations. But many organizations adopting these technologies have found that it only leads to a faster-growing sprawl of unmanageable systems. This is where infrastructure as code can help. With this practical guide, author Kief Morris of ThoughtWorks shows you how to effectively use principles, practices, and patterns pioneered through the DevOps movement to manage cloud age infrastructure.Ideal for system administrators, infrastructure engineers, team leads, and architects, this book demonstrates various tools, techniques, and patterns you can use to implement infrastructure as code. In three parts, you’ll learn about the platforms and tooling involved in creating and configuring infrastructure elements, patterns for using these tools, and practices for making infrastructure as code work in your environment.Examine the pitfalls that organizations fall into when adopting the new generation of infrastructure technologiesUnderstand the capabilities and service models of dynamic infrastructure platformsLearn about tools that provide, provision, and configure core infrastructure resourcesExplore services and tools for managing a dynamic infrastructureLearn specific patterns and practices for provisioning servers, building server templates, and updating running servers

  • Bayesian Analysis with Python: Introduction to statistical modeling and probabilistic programming using PyMC3 and ArviZ, 2nd Edition, Edition 2

    Bayesian Analysis with Python: Introduction to statistical modeling and probabilistic programming using PyMC3 and ArviZ, 2nd Edition, Edition 2
    Osvaldo Martin

    Bayesian modeling with PyMC3 and exploratory analysis of Bayesian models with ArviZ Key FeaturesA step-by-step guide to conduct Bayesian data analyses using PyMC3 and ArviZA modern, practical and computational approach to Bayesian statistical modelingA tutorial for Bayesian analysis and best practices with the help of sample problems and practice exercises.Book DescriptionThe second edition of Bayesian Analysis with Python is an introduction to the main concepts of applied Bayesian inference and its practical implementation in Python using PyMC3, a state-of-the-art probabilistic programming library, and ArviZ, a new library for exploratory analysis of Bayesian models.The main concepts of Bayesian statistics are covered using a practical and computational approach. Synthetic and real data sets are used to introduce several types of models, such as generalized linear models for regression and classification, mixture models, hierarchical models, and Gaussian processes, among others. By the end of the book, you will have a working knowledge of probabilistic modeling and you will be able to design and implement Bayesian models for your own data science problems. After reading the book you will be better prepared to delve into more advanced material or specialized statistical modeling if you need to.What you will learnBuild probabilistic models using the Python library PyMC3 Analyze probabilistic models with the help of ArviZ Acquire the skills required to sanity check models and modify them if necessary Understand the advantages and caveats of hierarchical modelsFind out how different models can be used to answer different data analysis questionsCompare models and choose between alternative onesDiscover how different models are unified from a probabilistic perspective Think probabilistically and benefit from the flexibility of the Bayesian frameworkWho this book is forIf you are a student, data scientist, researcher, or a developer looking to get started with Bayesian data analysis and probabilistic programming, this book is for you. The book is introductory so no previous statistical knowledge is required, although some experience in using Python and NumPy is expected.

  • Eleventh Hour CISSP®: Study Guide, Edition 3

    Eleventh Hour CISSP®: Study Guide, Edition 3
    Eric Conrad

    Eleventh Hour CISSP: Study Guide, Third Edition provides readers with a study guide on the most current version of the Certified Information Systems Security Professional exam. This book is streamlined to include only core certification information, and is presented for ease of last-minute studying. Main objectives of the exam are covered concisely with key concepts highlighted. The CISSP certification is the most prestigious, globally-recognized, vendor neutral exam for information security professionals. Over 100,000 professionals are certified worldwide, with many more joining their ranks. This new third edition is aligned to cover all of the material in the most current version of the exam’s Common Body of Knowledge. All domains are covered as completely and concisely as possible, giving users the best possible chance of acing the exam.Completely updated for the most current version of the exam’s Common Body of KnowledgeProvides the only guide you need for last-minute studyingAnswers the toughest questions and highlights core topicsStreamlined for maximum efficiency of study, making it ideal for professionals updating their certification or for those taking the test for the first time

  • Digital Electronics for Musicians

    Digital Electronics for Musicians
    Alexandros Drymonitis

    This is the perfect book for musicians who want to dive into the world of computer music and physical computing. This book is aimed at adventurous musicians who want to learn about music programming with Arduino, sensors, and Pure Data, and how to make new interfaces and even new instruments with that knowledge. You’ll learn the basics of the Pure Data and Arduino languages, how to incorporate sensors into your musical projects, and how to use embedded computers, like the Raspberry Pi, to create stand-alone projects. Along the way, you’ll learn how to create a variety of innovative musical projects, including an interactive bow for stringed instruments, a MIDI clavier synthesizer, an interactive drum set, a patch-bay matrix synthesizer, a guitar looper, and even a DIY theremin. If you are a musician or tinkerer who wants to explore the world of electronic and electroacoustic music and musical interfaces with Arduino, sensors, and Pure Data, Digital Electronics for Musicians is the book for you. What You Will LearnLearn the basics of the Pure Data and the Arduino languagesLearn more about the available sensors on the market, and how you can incorporate them into your musical projectsFocus on physical computing by combining Arduino and Pure Data, bringing the physical world to the world of the computersMake use of additional libraries that extend the capabilities of the ArduinoMake use of external objects in Pure Data that help achieve certain goals, depending on the projectLearn how a Pure Data patch functions and be able to modify other people's work that fits your needsLearn how the Arduino language works, enabling the modification of already existing code, according to your needsGet insight on the serial communication between the Arduino and Pure DataLearn how to approach various programming challenges in different waysWho This is For Musicians who want to explore the world of electronic and electroacoustic music and musical interfaces with Arduino, sensors, and Pure Data.

  • Learn T-SQL Querying: A guide to developing efficient and elegant T-SQL code

    Learn T-SQL Querying: A guide to developing efficient and elegant T-SQL code
    Pedro Lopes

    Troubleshoot query performance issues, identify anti-patterns in code, and write efficient T-SQL queriesKey FeaturesDiscover T-SQL functionalities and services that help you interact with relational databasesUnderstand the roles, tasks and responsibilities of a T-SQL developer Explore solutions for carrying out database querying tasks, database administration, and troubleshootingBook DescriptionTransact-SQL (T-SQL) is Microsoft's proprietary extension to the SQL language that is used with Microsoft SQL Server and Azure SQL Database. This book will be a useful guide to learning the art of writing efficient T-SQL code in modern SQL Server versions, as well as the Azure SQL Database.The book will get you started with query processing fundamentals to help you write powerful, performant T-SQL queries. You will then focus on query execution plans and learn how to leverage them for troubleshooting. In the later chapters, you will learn how to identify various T-SQL patterns and anti-patterns. This will help you analyze execution plans to gain insights into current performance, and determine whether or not a query is scalable. You will also learn to build diagnostic queries using dynamic management views (DMVs) and dynamic management functions (DMFs) to address various challenges in T-SQL execution. Next, you will study how to leverage the built-in tools of SQL Server to shorten the time taken to address query performance and scalability issues. In the concluding chapters, the book will guide you through implementing various features, such as Extended Events, Query Store, and Query Tuning Assistant using hands-on examples.By the end of this book, you will have the skills to determine query performance bottlenecks, avoid pitfalls, and discover the anti-patterns in use.Foreword by Conor Cunningham, Partner Architect – SQL Server and Azure SQL – MicrosoftWhat you will learnUse Query Store to understand and easily change query performanceRecognize and eliminate bottlenecks that lead to slow performanceDeploy quick fixes and long-term solutions to improve query performanceImplement best practices to minimize performance risk using T-SQLAchieve optimal performance by ensuring careful query and index designUse the latest performance optimization features in SQL Server 2017 and SQL Server 2019Protect query performance during upgrades to newer versions of SQL ServerWho this book is forThis book is for database administrators, database developers, data analysts, data scientists, and T-SQL practitioners who want to get started with writing T-SQL code and troubleshooting query performance issues, through the help of practical examples. Previous knowledge of T-SQL querying is not required to get started on this book.

  • Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners

    Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners
    Chris Dannen

    Learn 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 Solidity is accessible to technology professionals and enthusiasts of all levels. You’ll find exciting sample code that can move forward real world assets in both the academic and the corporate arenas. Find out now why this book is a powerful gateway for creative technologists of all types, from concept to deployment.What You’ll LearnSee how Ethereum (and other cryptocurrencies) workCompare distributed apps (dapps) to web appsWrite Ethereum smart contracts in Solidity Connect Ethereum smart contracts to your HTML/CSS/JavaScript web applicationsDeploy your own dapp, coin, and blockchainWork with basic and intermediate smart contractsWho This Book Is For Anyone who is curious about Ethereum or has some familiarity with computer science Product managers, CTOs, and experienced JavaScript programmers Experts will find the advanced sample projects in this book rewarding because of the power of Solidity

  • Computer Organization and Design MIPS Edition: The Hardware/Software Interface, Edition 5

    Computer Organization and Design MIPS Edition: The Hardware/Software Interface, Edition 5
    David A. Patterson

    Computer Organization and Design, Fifth Edition, is the latest update to the classic introduction to computer organization. The text now contains new examples and material highlighting the emergence of mobile computing and the cloud. It explores this generational change with updated content featuring tablet computers, cloud infrastructure, and the ARM (mobile computing devices) and x86 (cloud computing) architectures. The book uses a MIPS processor core to present the fundamentals of hardware technologies, assembly language, computer arithmetic, pipelining, memory hierarchies and I/O.Because an understanding of modern hardware is essential to achieving good performance and energy efficiency, this edition adds a new concrete example, Going Faster, used throughout the text to demonstrate extremely effective optimization techniques. There is also a new discussion of the Eight Great Ideas of computer architecture. Parallelism is examined in depth with examples and content highlighting parallel hardware and software topics. The book features the Intel Core i7, ARM Cortex-A8 and NVIDIA Fermi GPU as real-world examples, along with a full set of updated and improved exercises. This new edition is an ideal resource for professional digital system designers, programmers, application developers, and system software developers. It will also be of interest to undergraduate students in Computer Science, Computer Engineering and Electrical Engineering courses in Computer Organization, Computer Design, ranging from Sophomore required courses to Senior Electives. Winner of a 2014 Texty Award from the Text and Academic Authors AssociationIncludes new examples, exercises, and material highlighting the emergence of mobile computing and the cloudCovers parallelism in depth with examples and content highlighting parallel hardware and software topics Features the Intel Core i7, ARM Cortex-A8 and NVIDIA Fermi GPU as real-world examples throughout the book Adds a new concrete example, "Going Faster," to demonstrate how understanding hardware can inspire software optimizations that improve performance by 200 timesDiscusses and highlights the "Eight Great Ideas" of computer architecture: Performance via Parallelism; Performance via Pipelining; Performance via Prediction; Design for Moore's Law; Hierarchy of Memories; Abstraction to Simplify Design; Make the Common Case Fast; and Dependability via RedundancyIncludes a full set of updated and improved exercises

  • Hands-On Data Structures and Algorithms with Rust: Learn programming techniques to build effective, maintainable, and readable code in Rust 2018

    Hands-On Data Structures and Algorithms with Rust: Learn programming techniques to build effective, maintainable, and readable code in Rust 2018
    Claus Matzinger

    Design and implement professional level programs by exploring modern data structures and algorithms in Rust.Key FeaturesUse data structures such as arrays, stacks, trees, lists and graphs with real-world examplesLearn the functional and reactive implementations of the traditional data structuresExplore illustrations to present data structures and algorithms, as well as their analysis, in a clear, visual manner.Book DescriptionRust has come a long way and is now utilized in several contexts. Its key strengths are its software infrastructure and resource-constrained applications, including desktop applications, servers, and performance-critical applications, not forgetting its importance in systems' programming. This book will be your guide as it takes you through implementing classic data structures and algorithms in Rust, helping you to get up and running as a confident Rust programmer. The book begins with an introduction to Rust data structures and algorithms, while also covering essential language constructs. You will learn how to store data using linked lists, arrays, stacks, and queues. You will also learn how to implement sorting and searching algorithms. You will learn how to attain high performance by implementing algorithms to string data types and implement hash structures in algorithm design. The book will examine algorithm analysis, including Brute Force algorithms, Greedy algorithms, Divide and Conquer algorithms, Dynamic Programming, and Backtracking. By the end of the book, you will have learned how to build components that are easy to understand, debug, and use in different applications.What you will learnDesign and implement complex data structures in RustAnalyze, implement, and improve searching and sorting algorithms in RustCreate and use well-tested and reusable components with RustUnderstand the basics of multithreaded programming and advanced algorithm designBecome familiar with application profiling based on benchmarking and testingExplore the borrowing complexity of implementing algorithmsWho this book is forThis book is for developers seeking to use Rust solutions in a practical/professional setting; who wants to learn essential Data Structures and Algorithms in Rust. It is for developers with basic Rust language knowledge, some experience in other programming languages is required.

  • Learning Computer Architecture with Raspberry Pi

    Learning Computer Architecture with Raspberry Pi
    Eben Upton

    Use your Raspberry Pi to get smart about computing fundamentals In the 1980s, the tech revolution was kickstarted by a flood of relatively inexpensive, highly programmable computers like the Commodore. Now, a second revolution in computing is beginning with the Raspberry Pi. Learning Computer Architecture with the Raspberry Pi is the premier guide to understanding the components of the most exciting tech product available. Thanks to this book, every Raspberry Pi owner can understand how the computer works and how to access all of its hardware and software capabilities. Now, students, hackers, and casual users alike can discover how computers work with Learning Computer Architecture with the Raspberry Pi. This book explains what each and every hardware component does, how they relate to one another, and how they correspond to the components of other computing systems. You'll also learn how programming works and how the operating system relates to the Raspberry Pi's physical components. Co-authored by Eben Upton, one of the creators of the Raspberry Pi, this is a companion volume to the Raspberry Pi User Guide An affordable solution for learning about computer system design considerations and experimenting with low-level programming Understandable descriptions of the functions of memory storage, Ethernet, cameras, processors, and more Gain knowledge of computer design and operation in general by exploring the basic structure of the Raspberry Pi The Raspberry Pi was created to bring forth a new generation of computer scientists, developers, and architects who understand the inner workings of the computers that have become essential to our daily lives. Learning Computer Architecture with the Raspberry Pi is your gateway to the world of computer system design.

  • Computer Organization and Design RISC-V Edition: The Hardware Software Interface

    Computer Organization and Design RISC-V Edition: The Hardware Software Interface
    David A. Patterson

    The new RISC-V Edition of Computer Organization and Design features the RISC-V open source instruction set architecture, the first open source architecture designed to be used in modern computing environments such as cloud computing, mobile devices, and other embedded systems. With the post-PC era now upon us, Computer Organization and Design moves forward to explore this generational change with examples, exercises, and material highlighting the emergence of mobile computing and the Cloud. Updated content featuring tablet computers, Cloud infrastructure, and the x86 (cloud computing) and ARM (mobile computing devices) architectures is included. An online companion Web site provides advanced content for further study, appendices, glossary, references, and recommended reading.Features RISC-V, the first such architecture designed to be used in modern computing environments, such as cloud computing, mobile devices, and other embedded systemsIncludes relevant examples, exercises, and material highlighting the emergence of mobile computing and the cloud

  • CISSP Study Guide: Edition 3

    CISSP Study Guide: Edition 3
    Eric Conrad

    CISSP Study Guide, Third Edition provides readers with information on the CISSP certification, the most prestigious, globally-recognized, vendor-neutral exam for information security professionals. With over 100,000 professionals certified worldwide, and many more joining their ranks, this new third edition presents everything a reader needs to know on the newest version of the exam's Common Body of Knowledge. The eight domains are covered completely and as concisely as possible, allowing users to ace the exam. Each domain has its own chapter that includes a specially-designed pedagogy to help users pass the exam, including clearly-stated exam objectives, unique terms and definitions, exam warnings, "learning by example" modules, hands-on exercises, and chapter ending questions.Provides the most complete and effective study guide to prepare users for passing the CISSP exam, giving them exactly what they need to pass the testAuthored by Eric Conrad who has prepared hundreds of professionals for passing the CISSP exam through SANS, a popular and well-known organization for information security professionalsCovers all of the new information in the Common Body of Knowledge updated in January 2015, and also provides two exams, tiered end-of-chapter questions for a gradual learning curve, and a complete self-test appendix

  • Splunk 7 Essentials, Third Edition: Demystify machine data by leveraging datasets, building reports, and sharing powerful insights, 3rd Edition, Edition 3

    Splunk 7 Essentials, Third Edition: Demystify machine data by leveraging datasets, building reports, and sharing powerful insights, 3rd Edition, Edition 3
    J-P Contreras

    Transform machine data into powerful analytical intelligence using SplunkKey FeaturesAnalyze and visualize machine data to step into the world of Splunk!Leverage the exceptional analysis and visualization capabilities to make informed decisions for your businessThis easy-to-follow, practical book can be used by anyone – even if you have never managed data beforeBook DescriptionSplunk is a search, reporting, and analytics software platform for machine data, which has an ever-growing market adoption rate. More organizations than ever are adopting Splunk to make informed decisions in areas such as IT operations, information security, and the Internet of Things.The first two chapters of the book will get you started with a simple Splunkinstallation and set up of a sample machine data generator, called Eventgen.After this, you will learn to create various reports, dashboards, and alerts. You willalso explore Splunk's Pivot functionality to model data for business users. Youwill then have the opportunity to test-drive Splunk's powerful HTTP Event Collector. After covering the core Splunk functionality, you'll be provided with some real-world best practices for using Splunk, and information on how to build upon what you've learned in this book.Throughout the book, there will be additional comments and best practicerecommendations from a member of the SplunkTrust Community, called"Tips from the Fez". What you will learnInstall and configure Splunk for personal use Store event data in Splunk indexes, classify events into sources, and adddata fields Learn essential Splunk Search Processing Language commandsand best practices Create powerful real-time or user-input dashboards Be proactive by implementing alerts and scheduled reports Tips from the Fez: best practices using Splunk features and add-ons Understand security and deployment considerations for taking Splunk to an organizational levelWho this book is forThis book is for the beginners who want to get well versed in the services offered by Splunk 7. If you want to be a data/business analyst or want to be a system administrator, this book is what you want. No prior knowledge of Splunk is required.

  • A Practical Guide to SysML: The Systems Modeling Language, Edition 3

    A Practical Guide to SysML: The Systems Modeling Language, Edition 3
    Sanford Friedenthal

    A Practical Guide to SysML, Third Edition, fully updated for SysML version 1.4, provides a comprehensive and practical guide for modeling systems with SysML. With their unique perspective as leading contributors to the language, Friedenthal, Moore, and Steiner provide a full description of the language along with a quick reference guide and practical examples to help you use SysML. The book begins with guidance on the most commonly used features to help you get started quickly. Part 1 explains the benefits of a model-based approach, providing an overview of the language and how to apply SysML to model systems. Part 2 includes a comprehensive description of SysML that provides a detailed understanding that can serve as a foundation for modeling with SysML, and as a reference for practitioners. Part 3 includes methods for applying model-based systems engineering using SysML to specify and design systems, and how these methods can help manage complexity. Part 4 deals with topics related to transitioning MBSE practice into your organization, including integration of the system model with other engineering models, and strategies for adoption of MBSE.Learn how and why to deploy MBSE in your organization with an introduction to systems and model-based systems engineering Use SysML to describe systems with this general overview and a detailed description of the Systems Modeling Language Review practical examples of MBSE methodologies to understand their application to specifying and designing a systemIncludes comprehensive modeling notation tables as an appendix that can be used as a standalone reference

  • But How Do It Know?: The Basic Principles of Computers for Everyone

    But How Do It Know?: The Basic Principles of Computers for Everyone
    J. Clark Scott

    This book thoroughly explains how computers work. It starts by fully examining a NAND gate, then goes on to build every piece and part of a small, fully operational computer. The necessity and use of codes is presented in parallel with the apprioriate pieces of hardware. The book can be easily understood by anyone whether they have a technical background or not. It could be used as a textbook.

  • Hands-On Data Science with Anaconda: Utilize the right mix of tools to create high-performance data science applications

    Hands-On Data Science with Anaconda: Utilize the right mix of tools to create high-performance data science applications
    Yuxing Yan

    Develop, deploy, and streamline your data science projects with the most popular end-to-end platform, AnacondaKey Features-Use Anaconda to find solutions for clustering, classification, and linear regression-Analyze your data efficiently with the most powerful data science stack-Use the Anaconda cloud to store, share, and discover projects and librariesBook DescriptionAnaconda is an open source platform that brings together the best tools for data science professionals with more than 100 popular packages supporting Python, Scala, and R languages. Hands-On Data Science with Anaconda gets you started with Anaconda and demonstrates how you can use it to perform data science operations in the real world.The book begins with setting up the environment for Anaconda platform in order to make it accessible for tools and frameworks such as Jupyter, pandas, matplotlib, Python, R, Julia, and more. You’ll walk through package manager Conda, through which you can automatically manage all packages including cross-language dependencies, and work across Linux, macOS, and Windows. You’ll explore all the essentials of data science and linear algebra to perform data science tasks using packages such as SciPy, contrastive, scikit-learn, Rattle, and Rmixmod. Once you’re accustomed to all this, you’ll start with operations in data science such as cleaning, sorting, and data classification. You’ll move on to learning how to perform tasks such as clustering, regression, prediction, and building machine learning models and optimizing them. In addition to this, you’ll learn how to visualize data using the packages available for Julia, Python, and R.What you will learnPerform cleaning, sorting, classification, clustering, regression, and dataset modeling using AnacondaUse the package manager conda and discover, install, and use functionally efficient and scalable packagesGet comfortable with heterogeneous data exploration using multiple languages within a projectPerform distributed computing and use Anaconda Accelerate to optimize computational powersDiscover and share packages, notebooks, and environments, and use shared project drives on Anaconda CloudTackle advanced data prediction problemsWho this book is forHands-On Data Science with Anaconda is for you if you are a developer who is looking for the best tools in the market to perform data science. It’s also ideal for data analysts and data science professionals who want to improve the efficiency of their data science applications by using the best libraries in multiple languages. Basic programming knowledge with R or Python and introductory knowledge of linear algebra is expected.

  • Security Basics for Computer Architects

    Security Basics for Computer Architects
    Ruby B. Lee

    Design for security is an essential aspect of the design of future computers. However, security is not well understood by the computer architecture community. Many important security aspects have evolved over the last several decades in the cryptography, operating systems, and networking communities. This book attempts to introduce the computer architecture student, researcher, or practitioner to the basic concepts of security and threat-based design. Past work in different security communities can inform our thinking and provide a rich set of technologies for building architectural support for security into all future computers and embedded computing devices and appliances. I have tried to keep the book short, which means that many interesting topics and applications could not be included. What the book focuses on are the fundamental security concepts, across different security communities, that should be understood by any computer architect trying to design or evaluate security-aware computer architectures.

  • Release It!: Design and Deploy Production-Ready Software, Edition 2

    Release It!: Design and Deploy Production-Ready Software, Edition 2
    Michael T. Nygard

    A single dramatic software failure can cost a company millions of dollars – but can be avoided with simple changes to design and architecture. This new edition of the best-selling industry standard shows you how to create systems that run longer, with fewer failures, and recover better when bad things happen. New coverage includes DevOps, microservices, and cloud-native architecture. Stability antipatterns have grown to include systemic problems in large-scale systems. This is a must-have pragmatic guide to engineering for production systems. If 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 – particularly distributed systems – that stands up to the typhoon winds of a flash mob, a Slashdotting, or a link on Reddit. Take a hard look at software that failed the test and find ways to make sure your software survives. To skip the pain and get the experience…get this book.

  • Architecting Cloud Computing Solutions: Build cloud strategies that align technology and economics while effectively managing risk

    Architecting Cloud Computing Solutions: Build cloud strategies that align technology and economics while effectively managing risk
    Kevin L. Jackson

    Accelerating Business and Mission Success with Cloud Computing.Key FeaturesA step-by-step guide that will practically guide you through implementing Cloud computing services effectively and efficiently. Learn to choose the most ideal Cloud service model, and adopt appropriate Cloud design considerations for your organization.Leverage Cloud computing methodologies to successfully develop a cost-effective Cloud environment successfully. Book DescriptionCloud adoption is a core component of digital transformation. Scaling the IT environment, making it resilient, and reducing costs are what organizations want. Architecting Cloud Computing Solutions presents and explains critical Cloud solution design considerations and technology decisions required to choose and deploy the right Cloud service and deployment models, based on your business and technology service requirements.This book starts with the fundamentals of cloud computing and its architectural concepts. It then walks you through Cloud service models (IaaS, PaaS, and SaaS), deployment models (public, private, community, and hybrid) and implementation options (Enterprise, MSP, and CSP) to explain and describe the key considerations and challenges organizations face during cloud migration. Later, this book delves into how to leverage DevOps, Cloud-Native, and Serverless architectures in your Cloud environment and presents industry best practices for scaling your Cloud environment. Finally, this book addresses (in depth) managing essential cloud technology service components such as data storage, security controls, and disaster recovery. By the end of this book, you will have mastered all the design considerations and operational trades required to adopt Cloud services, no matter which cloud service provider you choose. What you will learn Manage changes in the digital transformation and cloud transition process Design and build architectures that support specific business cases Design, modify, and aggregate baseline cloud architectures Familiarize yourself with cloud application security and cloud computing security threats Design and architect small, medium, and large cloud computing solutionsWho this book is forIf you are an IT Administrator, Cloud Architect, or a Solution Architect keen to benefit from cloud adoption for your organization, then this book is for you.Small business owners, managers, or consultants will also find this book useful. No prior knowledge of Cloud computing is needed.

  • Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services

    Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services
    Brendan Burns

    Without established design patterns to guide them, developers have had to build distributed systems from scratch, and most of these systems are very unique indeed. Today, the increasing use of containers has paved the way for core distributed system patterns and reusable containerized components. This practical guide presents a collection of repeatable, generic patterns to help make the development of reliable distributed systems far more approachable and efficient.Author Brendan Burns—Director of Engineering at Microsoft Azure—demonstrates how you can adapt existing software design patterns for designing and building reliable distributed applications. Systems engineers and application developers will learn how these long-established patterns provide a common language and framework for dramatically increasing the quality of your system.Understand how patterns and reusable components enable the rapid development of reliable distributed systemsUse the side-car, adapter, and ambassador patterns to split your application into a group of containers on a single machineExplore loosely coupled multi-node distributed patterns for replication, scaling, and communication between the componentsLearn distributed system patterns for large-scale batch data processing covering work-queues, event-based processing, and coordinated workflows

  • Raspberry Pi :Raspberry Pi Guide On Python & Projects Programming In Easy Steps

    Raspberry Pi :Raspberry Pi Guide On Python & Projects Programming In Easy Steps
    Jason Scotts

    "Raspberry Pi Programming Guide" is a text that gives the reader a bit of insight into this form of technology. It is European based and is just making a debut in North America so many are curious about it and what exactly this technology can do. The aim that the author has with this text is to highlight the main functions of Raspberry Pi and how it can be beneficial to the consumer in the long run. The text is extremely informative and to the point and it is simple to read. The great thing about the book is that anyone, even someone who does not know much about this form of technology can understand the process. It is a great text to have in any household that has a keen interest in technology.

  • PMP® Examination Practice Questions: 400 Practice Questions and Answers to help you Pass, Edition 3

    PMP® Examination Practice Questions: 400 Practice Questions and Answers to help you Pass, Edition 3
    Sean Whitaker

    Study for the Project Management Professional (PMP®) Examination with this essential aid in your study program. It contains over 400 realistic multiple choice practice questions, answers, and explanations. PMP® Examination Practice Questions is organized into two useful parts. The first comprises all the questions, organized in chapters by topic, allowing you to simulate the actual test. The second part not only gives the answers, but also comments on the incorrect answers, providing additional insight and helping you formulate your test-taking strategy.What You'll LearnSee Q&As to over 400 realistic practice questions and answers Discover all the formulas needed to pass the examUse the first part to simulate testingUse the second part as a study guide to understand why an answer is correct or notWho This Book Is FordivThose with project management experience and some IT experience who are ready to study for and take the PMP exam.

  • Database Reliability Engineering: Designing and Operating Resilient Database Systems

    Database Reliability Engineering: Designing and Operating Resilient Database Systems
    Laine Campbell

    The infrastructure-as-code revolution in IT is also affecting database administration. With this practical book, developers, system administrators, and junior to mid-level DBAs will learn how the modern practice of site reliability engineering applies to the craft of database architecture and operations. Authors Laine Campbell and Charity Majors provide a framework for professionals looking to join the ranks of today’s database reliability engineers (DBRE).You’ll begin by exploring core operational concepts that DBREs need to master. Then you’ll examine a wide range of database persistence options, including how to implement key technologies to provide resilient, scalable, and performant data storage and retrieval. With a firm foundation in database reliability engineering, you’ll be ready to dive into the architecture and operations of any modern database.This book covers:Service-level requirements and risk managementBuilding and evolving an architecture for operational visibilityInfrastructure engineering and infrastructure managementHow to facilitate the release management processData storage, indexing, and replicationIdentifying datastore characteristics and best use casesDatastore architectural components and data-driven architectures