万本电子书0元读

万本电子书0元读

Optimizing Citrix? XenDesktop? for High Performance
Optimizing Citrix? XenDesktop? for High Performance
Craig Thomas Ellrod
¥90.46
Successfully deploy XenDesktop sites for a high performance Virtual Desktop Infrastructure (VDI) About This Book Size the VDI environment so the administrator has breathing room to design and build their XenDesktop systems efficiently Use desktop virtualization tools to provide users fast, convenient access to their Windows Desktops Understand the key pinch points in the resource layers such as; the Client layer, Network Layer, Access Layer, Control Layer, Services Layer and Resources Layer Who This Book Is For Citrix XenDesktop High Performance is written for administrators who would like to deploy Citrix XenDesktop in their enterprises with the aim of providing high efficiency. Basic familiarity with Citrix XenDesktop is assumed. What You Will Learn Understand key concepts, terminology, and system requirements Discover how components work in regards to virtualization and performance Identify architectural resource layers and components Explore the hypervisor virtualization software that runs on top of the hardware and learn how to tune it for maximum performance Analyze client hardware and software, including thin clients and mobile devices In Detail Citrix XenDesktop is a suite of desktop virtualization tools designed to provide users with fast and convenient access to their Windows desktops and applications through any device. Virtual desktops mean that rather than setting up hundreds or thousands of individual computers in an enterprise, companies can instead opt to create servers with large amounts of memory, disk, and processing resources, and use virtualization to offer these resources to end users. The result of this is that users are provided with an experience that appears to be identical to having an individual desktop PC. Each user has some disk space, processor time, and memory allocated to them, as though it is present on their own physical machine, when in reality, the resources are physically present on a centralized server. This book starts by answering the basic questions you need to ask when considering XenDesktop, followed by methods of how you can properly size your server infrastructure for XenDesktop. You’ll discover how to optimize the virtual machines used in XenDesktop, how to optimize your network for XenDesktop, and how to optimize the hypervisor and the cloud. You’ll also learn how to monitor XenDesktop to maximize performance. By the end of the book, you will be able to plan, design, build, and deploy high performance XenDesktop Virtualization systems in enterprises. You will also know how to monitor and maintain your systems to ensure smooth operation. Style and approach This book is an all-inclusive guide that uncovers hidden and previously unpublished performance improvement areas for any XenDesktop site.
Scala Functional Programming Patterns
Scala Functional Programming Patterns
Atul S.Khot
¥90.46
Grok and perform effective functional programming in Scala About This Book Understand functional programming patterns by comparing them with the traditional object-oriented design patterns Write robust, safer, and better code using the declarative programming paradigm An illustrative guide for programmers to create functional programming patterns with Scala Who This Book Is For If you have done Java programming before and have a basic knowledge of Scala and its syntax, then this book is an ideal choice to help you to understand the context, the traditional design pattern applicable, and the Scala way. Having previous knowledge of design patterns will help, though it is not strictly necessary. What You Will Learn Get to know about functional programming and the value Scala's FP idioms bring to the table Solve day-to-day programming problems using functional programming idioms Cut down the boiler-plate and express patterns simply and elegantly using Scala's concise syntax Tame system complexity by reducing the moving parts Write easier to reason about concurrent code using the actor paradigm and the Akka library Apply recursive thinking and understand how to create solutions without mutation Reuse existing code to compose new behavior Combine the object-oriented and functional programming approaches for effective programming using Scala In Detail Scala is used to construct elegant class hierarchies for maximum code reuse and extensibility and to implement their behavior using higher-order functions. Its functional programming (FP) features are a boon to help you design “easy to reason about” systems to control the growing software complexities. Knowing how and where to apply the many Scala techniques is challenging. Looking at Scala best practices in the context of what you already know helps you grasp these concepts quickly, and helps you see where and why to use them. This book begins with the rationale behind patterns to help you understand where and why each pattern is applied. You will discover what tail recursion brings to your table and will get an understanding of how to create solutions without mutations. We then explain the concept of memorization and infinite sequences for on-demand computation. Further, the book takes you through Scala’s stackable traits and dependency injection, a popular technique to produce loosely-coupled software systems. You will also explore how to currying favors to your code and how to simplify it by de-construction via pattern matching. We also show you how to do pipeline transformations using higher order functions such as the pipes and filters pattern. Then we guide you through the increasing importance of concurrent programming and the pitfalls of traditional code concurrency. Lastly, the book takes a paradigm shift to show you the different techniques that functional programming brings to your plate. This book is an invaluable source to help you understand and perform functional programming and solve common programming problems using Scala’s programming patterns. Style and approach This is a hands-on guide to Scala's game-changing features for programming. It is filled with many code examples and figures that illustrate various Scala idioms and best practices.
Troubleshooting Citrix XenApp?
Troubleshooting Citrix XenApp?
Dragos Madarasan
¥63.21
Identify and resolve key Citrix XenAppissues using trusted troubleshooting and monitoring techniques About This BookUnderstand the key troubleshooting methodologies when working with XenApp 7.5 version and aboveUncover effective tips and techniques to solve real-world XenAppinfrastructure problemsThis is a fast-paced guide to developing key troubleshooting and problem resolution skills you can put to use in a Citrix environmentWho This Book Is ForThis book is for Citrix Administrators or Citrix Engineers who are currently managing Citrix XenAppin a production environment and want to learn how to troubleshoot XenAppissues in the shortest possible time. It is assumed that you have a basic understanding of XenApp’s components and how to implement and manage a XenAppinfrastructure.What You Will LearnGet to know about troubleshooting methodologies and perform a root cause analysis of the problemUnderstand the individual components and interactions required for a successful XenApp environmentsIdentify and troubleshoot issues around the core Citrix componentsIdentify XenAppcomponents and their roles and learn how they interact with the communication channelsGain tips and tricks to optimize Citrix deploymentsMonitor and optimize the XenAppenvironmentIn DetailCitrix XenAppis an application virtualization product from Citrix. It allows users to connect to their corporate applications from various computer systems and even mobile devices. XenApphas grown into a complex software with ever-expanding infrastructures in place. Together with tight integrations with other systems such as Terminal Services, Active Directory, and other third-party authentication services, troubleshooting XenApphas become more complicated.This book teaches you how to approach troubleshooting complex issues with XenAppdeployments and understand the problem, find a fix or workaround, determine the root cause, and apply corrective steps wherever applicable. The book progresses to give you an idea about the many supportive components that play an important role in XenApp’s application delivery model and should be considered while troubleshooting XenAppissues. It also shows you standard troubleshooting processes so that you can resolve complex XenAppissues in a mission critical environment.By the end of this book, you will see how and where to use supportive components that help minimize XenAppissues. Also, we’ll explain various tools that can be useful when monitoring and optimizing entire application and desktop delivery model.Style and approachThis is an easy-to-follow, fast-paced, example-oriented guide with a brief explanation on various troubleshooting methodologies to walk you through a host of real-life problems.
Learning iOS UI Development
Learning iOS UI Development
Yari D'areglia
¥54.49
Implement complex iOS user interfaces with ease using Swift About This Book Build compelling user interfaces that users will enjoy using the iOS UIKit frameworkMake your iOS apps easily recognizable and familiar with the UIKit frameworkUse this comprehensive, step-by-step guide to create a complete custom layoutWho This Book Is ForThis easy-to-follow guide is perfect for beginner-level iOS developers who want to become proficient in user interface development. It would also be useful for experienced iOS developers who need a complete overview of this broad topic all in one place, without having to consult various sources.What You Will LearnUnderstand the basic requirements to work with iOS user interfacesGet to know about the UI tools, frameworks, and built-in componentsPlot dynamic layout structures using Auto LayoutShape and implement adaptive user interfaces for different screen sizesDraw and animate your user interfaces using the CALayer and UIKit animationsIntercept and handle user touches to create user interface interactivity Create and depict totally custom controls Design with iOS through Core Graphics In Detail Through this comprehensive one-stop guide, you’ll get to grips with the entire UIKit framework and in a flash, you’ll be creating modern user interfaces for your iOS devices using Swift. Starting with an overview of the iOS drawing system and the available tools, you will then learn how to use these technologies to create adaptable layouts and custom elements for your applications. Next, you’ll be introduced to other topics such as animation and code-drawing with Core Graphics, which will give you all the knowledge you need to create astonishing user interfaces. By the end of this book, you will have a solid foundation in iOS user interface development and will have gained valuable insights on the process of building firm and complex UIs. Style and approach This concise yet information-packed guide is full of step-by-step instructions and screenshots of real-life examples, delivered in a direct manner, to get you creating modern user interfaces for your iOS devices using SWIFT in no time.
Python Unlocked
Python Unlocked
Arun Tigeraniya
¥71.93
Become more fluent in Python—learn strategies and techniques for smart and high-performance Python programming About This Book Write smarter, bug-free, high performance code with minimal effort Uncover the best tools and options available to Python developers today Deploy decorators, design patters, and various optimization techniques to use Python 3.5 effectively Who This Book Is For If you are a Python developer and you think that you don’t know everything about the language yet, then this is the book for you. We will unlock the mysteries and re-introduce you to the hidden features of Python to write efficient programs, making optimal use of the language. What You Will Learn Manipulate object creation processes for instances, classes, and functions Use the best possible language constructs to write data structures with super speed and maintainability Make efficient use of design patterns to decrease development time and make your code more maintainable Write better test cases with an improved understanding of the testing framework of Python and unittests, and discover how to develop new functionalities in it Write fully-optimized code with the Python language by profiling, compiling C modules, and more Unlock asynchronous programming to build efficient and scalable applications In Detail Python is a versatile programming language that can be used for a wide range of technical tasks—computation, statistics, data analysis, game development, and more. Though Python is easy to learn, it’s range of features means there are many aspects of it that even experienced Python developers don’t know about. Even if you’re confident with the basics, its logic and syntax, by digging deeper you can work much more effectively with Python – and get more from the language. Python Unlocked walks you through the most effective techniques and best practices for high performance Python programming - showing you how to make the most of the Python language. You’ll get to know objects and functions inside and out, and will learn how to use them to your advantage in your programming projects. You will also find out how to work with a range of design patterns including abstract factory, singleton, strategy pattern, all of which will help make programming with Python much more efficient. Finally, as the process of writing a program is never complete without testing it, you will learn to test threaded applications and run parallel tests. If you want the edge when it comes to Python, use this book to unlock the secrets of smarter Python programming. Style and approach This is book had been created to help you to “unlock” the best ways to tackle the challenges and performance bottlenecks that many Python developers face today. The keys are supported with program examples to help you understand the concepts better and see them in action.
Learning Linux Shell Scripting
Learning Linux Shell Scripting
Ganesh Sanjiv Naik
¥90.46
Unleash the power of shell *s to solve real-world problems by breaking through the practice of writing tedious code About This Book Learn how to efficiently and effectively build shell *s and develop advanced applications with this handy book Develop high quality and efficient solutions by writing professional and real-world *s, and debug *s by checking and shell tracing A step-by-step tutorial to automate routine tasks by developing *s from a basic level to very advanced functionality Who This Book Is For This book is ideal for those who are proficient at working with Linux and who want to learn about shell *ing to improve their efficiency and practical skills. By the end of this book, you will be able to confidently use your own shell *s in the real world. What You Will Learn Familiarize yourself with the various text filtering tools available in Linux Combine the fundamental text and file processing commands to process data and automate repetitive tasks Understand expressions and variables and how to use them practically Automate decision-making and save a lot of time and effort of revisiting code Get to grips with advanced functionality such as using traps and signals and using dialogs to develop screens Start up a system and customize a Linux system Take an in-depth look at regular expressions and pattern matching to understand the capabilities of *ing In Detail Linux is the one of the most powerful and universally adopted OSes. Shell is a program that gives the user direct interaction with the operating system. Scripts are collections of commands that are stored in a file. The shell can read this file and act on the commands as if they were typed on the keyboard. Shell *ing is used to automate day-to-day administration, and for testing or product development tasks.This book covers Bash, GNU Bourne Again SHell, preparing you to work in the exciting world of Linux shell *ing. We start with an introduction to the Shell environment and explain basic commands used in Shell. Next we move on to check, kill, and control the execution of processes in Linux OS. Further, we teach you about the filter tools available in Linux and explain standard output and standard errors devices.Then we will ensure you understand Shell’s interpretation of commands and get a firmer grasp so you use them in practice. Next, you’ll experience some real-world essentials such as debugging and perform Shell arithmetic fluently. Then you’ll take a step ahead and learn new and advanced topics in Shell *ing, such as starting up a system and customizing a Linux system. Finally, you’ll get to understand the capabilities of *ing and learn about Grep, Stream Editor, and Awk.Style and approach This practical book will go from the very basics of shell *ing to complex, customized automation. The idea behind this book is to be as practical as possible and give you the look and feel of what real-world *ing is like.
Getting Started with hapi.js
Getting Started with hapi.js
John Brett
¥54.49
Build well-structured, testable applications and APIs using hapi.js About This Book With the help of this book, you will improve your productivity as a developer and that of your team by focusing on business logic utilizing the structure that Hapi.js provides You will be introduced to a real-world problem and we’ll demonstrate how to use the tools Hapi provides to resolve it This is the only book with a learn-by-example approach Who This Book Is For If you are a JavaScript developer with or without Node.js experience and would like to learn to build applications, APIs, and web servers with the best-in-class framework hapi.js, this book is perfect for you. What You Will Learn Increase your productivity by taking advantage of the out-of-the-box features hapi.js provides Build secure API servers Create websites and applications using your favorite templating language Leverage hapi.js plugins to better structure your codebase Simplify your security workflows with the built-in authentication and authorization functionality of hapi.js Ensure application reliability with testing and code coverage Reduce code complexity using reusable validation logic with joi Gather insight into your application performance via logging Start the journey to building robust production-ready applications In Detail This book will introduce hapi.js and walk you through the creation of your first working application using the out-of-the-box features hapi.js provides. Packed with real-world problems and examples, this book introduces some of the basic concepts of hapi.js and Node.js and takes you through the typical journey you'll face when developing an application. Starting with easier concepts such as routing requests, building APIs serving JSON, using templates to build websites and applications, and connecting databases, we then move on to more complex problems such as authentication, model validation, caching, and techniques for structuring your codebase to scale gracefully. You will also develop skills to ensure your application's reliability through testing, code coverage, and logging. By the end of this book, you'll be equipped with all the skills you need to build your first fully featured application. This book will be invaluable if you are investigating Node.js frameworks or planning on using hapi.js in your next project. Style and approach This book takes a step-by-step approach to building an application or web server using hapi.js though examples.
App Inventor 2 Essentials
App Inventor 2 Essentials
Felicia Kamriani
¥54.49
A step-by-step introductory guide to mobile app development with App Inventor 2 About This Book Get an introduction to the functionalities of App Inventor 2 and use it to unleash your creativity Learn to navigate the App Inventor platform, develop basic coding skills and become familiar with a blocks based programming language Build your very first mobile app and feel proud of your accomplishment Follow tutorials to expand your app development skills Who This Book Is For App Inventor 2 Essentials is for anyone who wants to learn to make mobile apps for Android devices – no prior coding experience is necessary. What You Will Learn Perform technical setup and navigate the App Inventor platform Utilize the interactive development environment by pairing a mobile device with a computer using Wi-Fi or USB Build three apps: a game, an event app and a raffle app Create the user interface of the app in the Designer and program the code in the Blocks Editor Integrate basic computer science principles along with more complex elements such fusion tables and lists Test and troubleshoot your applications Publish your apps on Google Play Store to reach a wide audience Unleash your creativity for further app development In Detail App Inventor 2 will take you on a journey of mobile app development. We begin by introducing you to the functionalities of App Inventor and giving you an idea about the types of apps you can develop using it. We walk you through the technical set up so you can take advantage of the interactive development environment (live testing). You will get hands-on, practical experience building three different apps using tutorials. Along the way, you will learn computer science principles as well as tips to help you prepare for the creative process of building an app from scratch. By the end of the journey, you will learn how to package an app and deploy it to app markets. App Inventor 2 Essentials prepares you to amass a resource of skills, knowledge and experience to become a mobile app developer Style and approach Every topic in this book is explained in step-by-step and easy-to-follow fashion, accompanied with screenshots of the interface that will make it easier for you to understand the processes.
Mastering Git
Mastering Git
Jakub Narębski
¥90.46
Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as “user-unfriendly”. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the book, the tutorials provide detailed de*ions of various areas of usage: from archaeology, through managing your own work, to working with other developers. This book also helps augment your understanding to examine and explore project history, create and manage your contributions, set up repositories and branches for collaboration in centralized and distributed version control, integrate work from other developers, customize and extend Git, and recover from repository errors. By exploring advanced Git practices, you will attain a deeper understanding of Git’s behavior, allowing you to customize and extend existing recipes and write your own. Style and approach Step-by-step instructions and useful information make this book the ultimate guide to understanding and mastering Git. This book will show road to mastery example by example, while explaining mental model of Git. The Introduction section covers the 'Essentials' just for refreshing the basics. The main highlight is that the concepts are based on HOW the technology/framework works and not just practical 'WHAT to do'.
RSpec Essentials
RSpec Essentials
Mani Tadayon
¥71.93
Develop testable, modular, and maintainable Ruby software for the real world using RSpec About This Book Explore the concept of testability and how to implement tests that deliver the most value Maximize the quality of your Ruby code through a wide variety of tests Master the real-world tradeoffs of testing through detailed examples supported by in-depth discussion Who This Book Is For This book is aimed at the software engineer who wants to make their code more reliable and their development process easier. It is also aimed at test engineers who need to automate the testing of complex systems. Knowledge of Ruby is helpful, but even someone new to the language should find it easy to follow the code and tests. What You Will Learn Identify a unit of software for the purposes of testing Manage test states with hooks, fixtures, and mocks Handle external web services in tests using various techniques Configure RSpec flexibly and cleanly using support code and environment variables Interact with rich web apps in tests using Capybara Build the right feature with behavior-driven development Customize matchers and failure messages Verify correct development and production environments In Detail This book will teach you how to use RSpec to write high-value tests for real-world code. We start with the key concepts of the unit and testability, followed by hands-on exploration of key features. From the beginning, we learn how to integrate tests into the overall development process to help create high-quality code, avoiding the dangers of testing for its own sake. We build up sample applications and their corresponding tests step by step, from simple beginnings to more sophisticated versions that include databases and external web services. We devote three chapters to web applications with rich JavaScript user interfaces, building one from the ground up using behavior-driven development (BDD) and test-driven development (TDD). The code examples are detailed enough to be realistic while simple enough to be easily understood. Testing concepts, development methodologies, and engineering tradeoffs are discussed in detail as they arise. This approach is designed to foster the reader’s ability to make well-informed decisions on their own. Style and approach This comprehensive tutorial is packed with real-world examples of testing with RSpec. The most important features of RSpec are introduced in the early chapters and are used in examples of growing complexity in the following chapters. Concepts and methodologies are discussed in detail.
Multithreading with C# Cookbook - Second Edition
Multithreading with C# Cookbook - Second Edition
Eugene Agafonov
¥90.46
Over 70 recipes to get you writing powerful and efficient multithreaded, asynchronous, and parallel programs in C# 6.0 About This Book Rewritten and updated to take advantage of the latest C# 6 features Learn about multithreaded, asynchronous, and parallel programming through hands-on, code-first examples Use these recipes to build fast, scalable, and reliable applications in C# Who This Book Is For This book is aimed at those who are new to multithreaded programming, and who are looking for a quick and easy way to get started. It is assumed that you have some experience in C# and .NET already, and you should also be familiar with basic computer science terminology and basic algorithms and data structures. What You Will Learn Use C# 6.0 asynchronous language features Work with raw threads, synchronize threads, and coordinate their work Develop your own asynchronous API with Task Parallel Library Work effectively with a thread pool Scale up your server application with I/O threads Parallelize your LINQ queries with PLINQ Use common concurrent collections Apply different parallel programming patterns Use Reactive Extensions to run asynchronous operations and manage their options In Detail Multi-core processors are synonymous with computing speed and power in today’s world, which is why multithreading has become a key concern for C# developers. Multithreaded code helps you create effective, scalable, and responsive applications. This is an easy-to-follow guide that will show you difficult programming problems in context. You will learn how to solve them with practical, hands-on, recipes. With these recipes, you’ll be able to start creating your own scalable and reliable multithreaded applications. Starting from learning what a thread is, we guide you through the basics and then move on to more advanced concepts such as task parallel libraries, C# asynchronous functions, and much more. Rewritten to the latest C# specification, C# 6, and updated with new and modern recipes to help you make the most of the hardware you have available, this book will help you push the boundaries of what you thought possible in C#. Style and approach This is an easy-to-follow guide full of hands-on examples of real-world multithreading tasks. Each topic is explained and placed in context, and for the more inquisitive, there are also more in-depth details of the concepts used.
Practical Time Series Analysis
Practical Time Series Analysis
Dr. Avishek Pal;Dr. PKS Prakash
¥80.65
Step by Step guide filled with real world practical examples. About This Book ? Get your first experience with data analysis with one of the most powerful types of analysis—time-series. ? Find patterns in your data and predict the future pattern based on historical data. ? Learn the statistics, theory, and implementation of Time-series methods using this example-rich guide Who This Book Is For This book is for anyone who wants to analyze data over time and/or frequency. A statistical background is necessary to quickly learn the analysis methods. What You Will Learn ? Understand the basic concepts of Time Series Analysis and appreciate its importance for the success of a data science project ? Develop an understanding of loading, exploring, and visualizing time-series data ? Explore auto-correlation and gain knowledge of statistical techniques to deal with non-stationarity time series ? Take advantage of exponential smoothing to tackle noise in time series data ? Learn how to use auto-regressive models to make predictions using time-series data ? Build predictive models on time series using techniques based on auto-regressive moving averages ? Discover recent advancements in deep learning to build accurate forecasting models for time series ? Gain familiarity with the basics of Python as a powerful yet simple to write programming language In Detail Time Series Analysis allows us to analyze data which is generated over a period of time and has sequential interdependencies between the observations. This book describes special mathematical tricks and techniques which are geared towards exploring the internal structures of time series data and generating powerful de*ive and predictive insights. Also, the book is full of real-life examples of time series and their analyses using cutting-edge solutions developed in Python. The book starts with de*ive analysis to create insightful visualizations of internal structures such as trend, seasonality and autocorrelation. Next, the statistical methods of dealing with autocorrelation and non-stationary time series are described. This is followed by exponential smoothing to produce meaningful insights from noisy time series data. At this point, we shift focus towards predictive analysis and introduce autoregressive models such as ARMA and ARIMA for time series forecasting. Later, powerful deep learning methods are presented, to develop accurate forecasting models for complex time series, and under the availability of little domain knowledge. All the topics are illustrated with real-life problem scenarios and their solutions by best-practice implementations in Python. The book concludes with the Appendix, with a brief discussion of programming and solving data science problems using Python. Style and approach This book takes the readers from the basic to advance level of Time series analysis in a very practical and real world use cases.
Implementing Modern DevOps
Implementing Modern DevOps
David Gonzalez
¥71.93
Help your organization join the DevOps revolution About This Book ? Helps you skill up your DevOps knowledge without a strong set of prerequisites ? Deliver continuously improved software by showcasing the most advanced tools and techniques ? Acquire a deeper insight into implementing DevOps in your organization and deliver results from day 1 Who This Book Is For This book is written for engineers and companies that want to learn the minimum set of required technologies and processes to be successful in the DevOps world. This book also targets system administrators, developers, and IT professionals who would like to employ DevOps techniques and best practices to manage IT infrastructures or would like to acquire the necessary skills needed to work in DevOps teams. What You Will Learn ? Master development best practices. ? Understand how the Agile Delivery Methodology helps you ensure accuracy and quality. ? Analyze branching strategies such as branch creation, merging, and synchronization. ? Learn to automate builds to deploy and deliver code faster and more often ? Explore testing frameworks and how to automate testing ? Learn to put specific metrics in place to measure ROI of DevOps and monitor logs and events in a system In Detail This book follows a unique approach to modern DevOps using cutting-edge tools and technologies such as Ansible, Kubernetes, and Google Cloud Platform. This book starts by explaining the organizational alignment that has to happen in every company that wants to implement DevOps in order to be effective, and the use of cloud datacenters in combination with the most advanced DevOps tools to get the best out of a small team of skilled engineers. It also delves into how to use Kubernetes to run your applications in Google Cloud Platform, minimizing the friction and hassle of maintaining a cluster but ensuring its high availability. By the end of this book, you will be able to realign teams in your company and create a Continuous Delivery pipeline with Kubernetes and Docker. With strong monitoring in place, you will also be able to react to adverse events in your system, minimizing downtime and improving the overall up-time and stability of your system. Style and approach This book takes a step-by-step practical approach to the implementation of DevOps. This book will teach you how to enable IT organizations to deliver faster and smarter through a unique approach using Code-Build-Test-Release-Configure-Monitor (CBTRCM).
Spring 5 Design Patterns
Spring 5 Design Patterns
Dinesh Rajput
¥80.65
Learn various design patterns and best practices in Spring 5 and use them to solve common design problems. About This Book ? Explore best practices for designing an application ? Manage your code easily with Spring's Dependency Injection pattern ? Understand the benefits that the right design patterns can offer your toolkit Who This Book Is For This book is for developers who would like to use design patterns to address common problems while designing an app using the Spring Framework and Reactive Programming approach. A basic knowledge of the Spring Framework and Java is assumed. What You Will Learn ? Develop applications using dependency injection patterns ? Learn best practices to design enterprise applications ? Explore Aspect-Oriented Programming relating to transactions, security, and caching. ? Build web applications using traditional Spring MVC patterns ? Learn to configure Spring using XML, annotations, and Java. ? Implement caching to improve application performance. ? Understand concurrency and handle multiple connections inside a web server. ? Utilizing Reactive Programming Pattern to build Reactive web applications. In Detail Design patterns help speed up the development process by offering well tested and proven solutions to common problems. These patterns coupled with the Spring framework offer tremendous improvements in the development process. The book begins with an overview of Spring Framework 5.0 and design patterns. You will understand the Dependency Injection pattern, which is the main principle behind the decoupling process that Spring performs, thus making it easier to manage your code. You will learn how GoF patterns can be used in Application Design. You will then learn to use Proxy patterns in Aspect Oriented Programming and remoting. Moving on, you will understand the JDBC template patterns and their use in abstracting database access. Then, you will be introduced to MVC patterns to build Reactive web applications. Finally, you will move on to more advanced topics such as Reactive streams and Concurrency. At the end of this book, you will be well equipped to develop efficient enterprise applications using Spring 5 with common design patterns Style and approach The book takes a pragmatic approach, showing various design patterns and best-practice considerations, including the Reactive programming approach with the Spring 5 Framework and ways to solve common development and design problems for enterprise applications.
Architecting Modern Java EE Applications
Architecting Modern Java EE Applications
Sebastian Daschner
¥90.46
Find out how to craft effective, business-oriented Java EE 8 applications that target customer’s demands in the age of Cloud platforms and container technology. About This Book ? Understand the principles of modern Java EE and how to realize effective architectures ? Gain knowledge of how to design enterprise software in the age of automation, Continuous Delivery and Cloud platforms ? Learn about the reasoning and motivations behind state-of-the-art enterprise Java technology, that focuses on business Who This Book Is For This book is for experienced Java EE developers who are aspiring to become the architects of enterprise-grade applications, or software architects who would like to leverage Java EE to create effective blueprints of applications. What You Will Learn ? What enterprise software engineers should focus on ? Implement applications, packages, and components in a modern way ? Design and structure application architectures ? Discover how to realize technical and cross-cutting aspects ? Get to grips with containers and container orchestration technology ? Realize zero-dependency, 12-factor, and Cloud-native applications ? Implement automated, fast, reliable, and maintainable software tests ? Discover distributed system architectures and their requirements In Detail Java EE 8 brings with it a load of features, mainly targeting newer architectures such as microservices, modernized security APIs, and cloud deployments. This book will teach you to design and develop modern, business-oriented applications using Java EE 8. It shows how to structure systems and applications, and how design patterns and Domain Driven Design aspects are realized in the age of Java EE 8. You will learn about the concepts and principles behind Java EE applications, and how to effect communication, persistence, technical and cross-cutting concerns, and asynchronous behavior. This book covers Continuous Delivery, DevOps, infrastructure-as-code, containers, container orchestration technologies, such as Docker and Kubernetes, and why and especially how Java EE fits into this world. It also covers the requirements behind containerized, zero-dependency applications and how modern Java EE application servers support these approaches. You will also learn about automated, fast, and reliable software tests, in different test levels, scopes, and test technologies. This book covers the prerequisites and challenges of distributed systems that lead to microservice, shared-nothing architectures. The challenges and solutions of consistency versus scalability will further lead us to event sourcing, event-driven architectures, and the CQRS principle. This book also includes the nuts and bolts of application performance as well as how to realize resilience, logging, monitoring and tracing in a modern enterprise world. Last but not least the demands of securing enterprise systems are covered. By the end, you will understand the ins and outs of Java EE so that you can make critical design decisions that not only live up to, but also surpass your clients' expectations. Style and approach This book focuses on solving business problems and meeting customer demands in the enterprise world. It covers how to create enterprise applications with reasonable technology choices, free of cargo-cult and over-engineering. The aspects shown in this book not only demonstrate how to realize a certain solution, but also explain its motivations and reasoning.
Augmented Reality for Developers
Augmented Reality for Developers
Jonathan Linowes;Krystian Babilinski
¥90.46
Build exciting AR applications on mobile and wearable devices with Unity 3D, Vuforia, ARToolKit, Microsoft Mixed Reality HoloLens, Apple ARKit, and Google ARCore About This Book ? Create unique AR applications from scratch, from beginning to end, with step-by-step tutorials ? Use Unity 3D to efficiently create AR apps for Android, iOS, and Windows platforms ? Use Vuforia, ARTookKit, Windows Mixed Reality, and Apple ARKit to build AR projects for a variety of markets ? Learn best practices in AR user experience, software design patterns, and 3D graphics Who This Book Is For The ideal target audience for this book is developers who have some experience in mobile development, either Android or iOS. Some broad web development experience would also be beneficial. What You Will Learn ? Build Augmented Reality applications through a step-by-step, tutorial-style project approach ? Use the Unity 3D game engine with the Vuforia AR platform, open source ARToolKit, Microsoft's Mixed Reality Toolkit, Apple ARKit, and Google ARCore, via the C# programming language ? Implement practical demo applications of AR including education, games, business marketing, and industrial training ? Employ a variety of AR recognition modes, including target images, markers, objects, and spatial mapping ? Target a variety of AR devices including phones, tablets, and wearable smartglasses, for Android, iOS, and Windows HoloLens ? Develop expertise with Unity 3D graphics, UIs, physics, and event systems ? Explore and utilize AR best practices and software design patterns In Detail Augmented Reality brings with it a set of challenges that are unseen and unheard of for traditional web and mobile developers. This book is your gateway to Augmented Reality development—not a theoretical showpiece for your bookshelf, but a handbook you will keep by your desk while coding and architecting your first AR app and for years to come. The book opens with an introduction to Augmented Reality, including markets, technologies, and development tools. You will begin by setting up your development machine for Android, iOS, and Windows development, learning the basics of using Unity and the Vuforia AR platform as well as the open source ARToolKit and Microsoft Mixed Reality Toolkit. You will also receive an introduction to Apple's ARKit and Google's ARCore! You will then focus on building AR applications, exploring a variety of recognition targeting methods. You will go through multiple complete projects illustrating key market sectors including business marketing, education, industrial training, and gaming. By the end of the book, you will have gained the necessary knowledge to make quality content appropriate for a range of AR devices, platforms, and intended uses. Style and approach This book adopts a practical, step-by-step, tutorial-style approach. The design principles and methodology will be explained by creating different modules of the AR app.
Mastering Linux Kernel Development
Mastering Linux Kernel Development
Raghu Bharadwaj
¥90.46
Explore Implementation of core kernel subsystems About This Book ? Master the design, components, and structures of core kernel subsystems ? Explore kernel programming interfaces and related algorithms under the hood ? Completely updated material for the 4.12.10 kernel Who This Book Is For If you are a kernel programmer with a knowledge of kernel APIs and are looking to build a comprehensive understanding, and eager to explore the implementation, of kernel subsystems, this book is for you. It sets out to unravel the underlying details of kernel APIs and data structures, piercing through the complex kernel layers and gives you the edge you need to take your skills to the next level. What You Will Learn ? Comprehend processes and fles—the core abstraction mechanisms of the Linux kernel that promote effective simplification and dynamism ? Decipher process scheduling and understand effective capacity utilization under general and real-time dispositions ? Simplify and learn more about process communication techniques through signals and IPC mechanisms ? Capture the rudiments of memory by grasping the key concepts and principles of physical and virtual memory management ? Take a sharp and precise look at all the key aspects of interrupt management and the clock subsystem ? Understand concurrent execution on SMP platforms through kernel synchronization and locking techniques In Detail Mastering Linux Kernel Development looks at the Linux kernel, its internal arrangement and design, and various core subsystems, helping you to gain significant understanding of this open source marvel. You will look at how the Linux kernel, which possesses a kind of collective intelligence thanks to its scores of contributors, remains so elegant owing to its great design. This book also looks at all the key kernel code, core data structures, functions, and macros, giving you a comprehensive foundation of the implementation details of the kernel’s core services and mechanisms. You will also look at the Linux kernel as well-designed software, which gives us insights into software design in general that are easily scalable yet fundamentally strong and safe. By the end of this book, you will have considerable understanding of and appreciation for the Linux kernel. Style and approach Each chapter begins with the basic conceptual know-how for a subsystem and extends into the details of its implementation. We use appropriate code excerpts of critical routines and data structures for subsystems.
Learning Ceph - Second Edition
Learning Ceph - Second Edition
Anthony D'Atri,Vaibhav Bhembre,Karan Singh
¥90.46
Implement and manage your software-defined, massively scalable storage system About This Book ? Explore Ceph's architecture in order to achieve scalability and high availability ? Learn to utilize Ceph efficiently with the help of practical examples ? Successfully implement Ceph clusters to scale-out storage solutions along with outstanding data protection Who This Book Is For A basic knowledge of GNU/Linux, and storage systems, and server components is assumed. If you have no experience of software-defined storage solutions and Ceph, but are eager to learn about them, this is the book for you. What You Will Learn ? The limitations of existing systems and why you should use Ceph as a storage solution ? Familiarity with Ceph's architecture, components, and services ? Instant deployment and testing of Ceph within a Vagrant and VirtualBox environment ? Ceph operations including maintenance, monitoring, and troubleshooting ? Storage provisioning of Ceph's block, object, and filesystem services ? Integrate Ceph with OpenStack ? Advanced topics including erasure coding, CRUSH maps, and performance tuning ? Best practices for your Ceph clusters In Detail Learning Ceph, Second Edition will give you all the skills you need to plan, deploy, and effectively manage your Ceph cluster. You will begin with the first module, where you will be introduced to Ceph use cases, its architecture, and core projects. In the next module, you will learn to set up a test cluster, using Ceph clusters and hardware selection. After you have learned to use Ceph clusters, the next module will teach you how to monitor cluster health, improve performance, and troubleshoot any issues that arise. In the last module, you will learn to integrate Ceph with other tools such as OpenStack, Glance, Manila, Swift, and Cinder. By the end of the book you will have learned to use Ceph effectively for your data storage requirements. Style and approach This step-by-step guide, including use cases and examples, not only helps you to easily use Ceph but also demonstrates how you can use it to solve any of your server or drive storage issues.
Kali Linux - An Ethical Hacker's Cookbook
Kali Linux - An Ethical Hacker's Cookbook
Himanshu Sharma
¥80.65
Over 120 recipes to perform advanced penetration testing with Kali Linux About This Book ? Practical recipes to conduct effective penetration testing using the powerful Kali Linux ? Leverage tools like Metasploit, Wireshark, Nmap, and many more to detect vulnerabilities with ease ? Confidently perform networking and application attacks using task-oriented recipes Who This Book Is For This book is aimed at IT security professionals, pentesters, and security analysts who have basic knowledge of Kali Linux and want to conduct advanced penetration testing techniques. What You Will Learn ? Installing, setting up and customizing Kali for pentesting on multiple platforms ? Pentesting routers and embedded devices ? Bug hunting 2017 ? Pwning and escalating through corporate network ? Buffer over?ows 101 ? Auditing wireless networks ? Fiddling around with software-defned radio ? Hacking on the run with NetHunter ? Writing good quality reports In Detail With the current rate of hacking, it is very important to pentest your environment in order to ensure advanced-level security. This book is packed with practical recipes that will quickly get you started with Kali Linux (version 2016.2) according to your needs, and move on to core functionalities. This book will start with the installation and configuration of Kali Linux so that you can perform your tests. You will learn how to plan attack strategies and perform web application exploitation using tools such as Burp, and Jexboss. You will also learn how to perform network exploitation using Metasploit, Sparta, and Wireshark. Next, you will perform wireless and password attacks using tools such as Patator, John the Ripper, and airo*-ng. Lastly, you will learn how to create an optimum quality pentest report! By the end of this book, you will know how to conduct advanced penetration testing thanks to the book’s crisp and task-oriented recipes. Style and approach This is a recipe-based book that allows you to venture into some of the most cutting-edge practices and techniques to perform penetration testing with Kali Linux.
Jupyter for Data Science
Jupyter for Data Science
Dan Toomey
¥71.93
Your one-stop guide to building an efficient data science pipeline using Jupyter About This Book ? Get the most out of your Jupyter notebook to complete the trickiest of tasks in Data Science ? Learn all the tasks in the data science pipeline—from data acquisition to visualization—and implement them using Jupyter ? Get ahead of the curve by mastering all the applications of Jupyter for data science with this unique and intuitive guide Who This Book Is For This book targets students and professionals who wish to master the use of Jupyter to perform a variety of data science tasks. Some programming experience with R or Python, and some basic understanding of Jupyter, is all you need to get started with this book. What You Will Learn ? Understand why Jupyter notebooks are a perfect fit for your data science tasks ? Perform scientific computing and data analysis tasks with Jupyter ? Interpret and explore different kinds of data visually with charts, histograms, and more ? Extend SQL's capabilities with Jupyter notebooks ? Combine the power of R and Python 3 with Jupyter to create dynamic notebooks ? Create interactive dashboards and dynamic presentations ? Master the best coding practices and deploy your Jupyter notebooks efficiently In Detail Jupyter Notebook is a web-based environment that enables interactive computing in notebook documents. It allows you to create documents that contain live code, equations, and visualizations. This book is a comprehensive guide to getting started with data science using the popular Jupyter notebook. If you are familiar with Jupyter notebook and want to learn how to use its capabilities to perform various data science tasks, this is the book for you! From data exploration to visualization, this book will take you through every step of the way in implementing an effective data science pipeline using Jupyter. You will also see how you can utilize Jupyter's features to share your documents and codes with your colleagues. The book also explains how Python 3, R, and Julia can be integrated with Jupyter for various data science tasks. By the end of this book, you will comfortably leverage the power of Jupyter to perform various tasks in data science successfully. Style and approach This book is a perfect blend of concepts and practical examples, written in a way that is very easy to understand and implement. It follows a logical flow where you will be able to build on your understanding of the different Jupyter features with every chapter.
Linux Device Drivers Development
Linux Device Drivers Development
John Madieu
¥80.65
Learn to develop customized device drivers for your embedded Linux system About This Book ? Learn to develop customized Linux device drivers ? Learn the core concepts of device drivers such as memory management, kernel caching, advanced IRQ management, and so on. ? Practical experience on the embedded side of Linux Who This Book Is For This book will help anyone who wants to get started with developing their own Linux device drivers for embedded systems. Embedded Linux users will benefit highly from this book. This book covers all about device driver development, from char drivers to network device drivers to memory management. What You Will Learn ? Use kernel facilities to develop powerful drivers ? Develop drivers for widely used I2C and SPI devices and use the regmap API ? Write and support devicetree from within your drivers ? Program advanced drivers for network and frame buffer devices ? Delve into the Linux irqdomain API and write interrupt controller drivers ? Enhance your skills with regulator and PWM frameworks ? Develop measurement system drivers with IIO framework ? Get the best from memory management and the DMA subsystem ? Access and manage GPIO subsystems and develop GPIO controller drivers In Detail Linux kernel is a complex, portable, modular and widely used piece of software, running on around 80% of servers and embedded systems in more than half of devices throughout the World. Device drivers play a critical role in how well a Linux system performs. As Linux has turned out to be one of the most popular operating systems used, the interest in developing proprietary device drivers is also increasing steadily. This book will initially help you understand the basics of drivers as well as prepare for the long journey through the Linux Kernel. This book then covers drivers development based on various Linux subsystems such as memory management, PWM, RTC, IIO, IRQ management, and so on. The book also offers a practical approach on direct memory access and network device drivers. By the end of this book, you will be comfortable with the concept of device driver development and will be in a position to write any device driver from scratch using the latest kernel version (v4.13 at the time of writing this book). Style and approach A set of engaging examples to develop Linux device drivers