万本电子书0元读

万本电子书0元读

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.
Implementing Azure Solutions
Implementing Azure Solutions
Florian Klaffenbach,Jan-Henrik Damaschke,Oliver Michalski
¥90.46
A practical guide that enhances your skills in implementing Azure solutions for your organization About This Book ? Confidently configure, deploy, and manage cloud services and virtual machines ? Implement a highly-secured environment and respond to threats with increased visibility ? This comprehensive guide is packed with exciting practical scenarios that enable you to implement Azure solutions with ease Who This Book Is For This book is for IT architects, system and network admins, and DevOps engineers who are aware of Azure solutions and want to implement them for their organization. What You Will Learn ? Implement virtual networks, network gateways, Site-to-Site VPN, ExpressRoute, routing, and network devices ? Understand the working of different storage accounts in Azure ? Plan, deploy, and secure virtual machines ? Deploy and manage Azure Containers ? Get familiar with some common Azure usage scenarios In Detail Microsoft Azure has numerous effective solutions that shape the future of any business. However, the major challenge that architects and administrators face are implementing these solutions appropriately. Our book focuses on various implementation scenarios that will help overcome the challenge of implementing Azure’s solutions in a very efficient manner and will also help you to prepare for Microsoft Architect exam. You will not only learn how to secure a newly deployed Azure Active Directory but also get to know how Azure Active Directory Synchronization could be implemented. To maintain an isolated and secure environment so that you can run your virtual machines and applications, you will implement Azure networking services. Also to manage, access, and secure your confidential data, you will implement storage solutions. Toward the end, you will explore tips and tricks to secure your environment. By the end, you will be able to implement Azure solutions such as networking, storage, and cloud effectively. Style and approach This step-by-step guide focuses on implementing various Azure solutions for your organization. The motive is to provide a comprehensive exposure and ensure they can implement these solutions with ease.
Akka Cookbook
Akka Cookbook
Héctor Veiga Ortiz,Piyush Mishra
¥90.46
Learn how to use the Akka framework to build effective applications in Scala About This Book ? Covers a discussion on Lagom—the newest launched Akka framework that is built to create complex microservices easily ? The recipe approach of the book allows the reader to know important and independent concepts of Scala and Akka in a seamless manner ? Provides a comprehensive understanding of the Akka actor model and implementing it to create reactive web applications Who This Book Is For If you are a Scala developer who wants to build scalable and concurrent applications, then this book is for you. Basic knowledge of Akka will help you take advantage of this book. What You Will Learn ? Control an actor using the ContolAware mailbox ? Test a fault-tolerant application using the Akka test kit ? Create a parallel application using futures and agents ? Package and deploy Akka application inside Docker ? Deploy remote actors programmatically on different nodes ? Integrate Streams with Akka actors ? Install Lagom and create a Lagom project In Detail Akka is an open source toolkit that simplifies the construction of distributed and concurrent applications on the JVM. This book will teach you how to develop reactive applications in Scala using the Akka framework. This book will show you how to build concurrent, scalable, and reactive applications in Akka. You will see how to create high performance applications, extend applications, build microservices with Lagom, and more. We will explore Akka's actor model and show you how to incorporate concurrency into your applications. The book puts a special emphasis on performance improvement and how to make an application available for users. We also make a special mention of message routing and construction. By the end of this book, you will be able to create a high-performing Scala application using the Akka framework. Style and approach This highly practical recipe-based approach will allow you to build scalable, robust, and reactive applications using the Akka framework.
Expert Delphi
Expert Delphi
Paweł Głowacki
¥90.46
Become a developer superhero and build stunning cross-platform apps with Delphi About This Book ? A one-stop guide on Delphi to help you build cross-platform apps ? This book covers important concepts such as the FireMonkey library, shows you how to interact with the Internet of Things, and enables you to integrate with Cloud services ? The code is explained in detail with observations on how to create native apps for Ios and Android with a single code base Who This Book Is For If you want to create stunning applications for mobile, desktop, the cloud, and the Internet of Things, then this book is for you. This book is for developers who would like to build native cross-platform apps with a single codebase for iOS and Android. A basic knowledge of Delphi is assumed, although we do cover a primer on the language. What You Will Learn ? Understand the basics of Delphi and the FireMonkey application platform as well as the specifics of Android and iOS platforms ? Complete complex apps quickly with access to platform features and APIs using a single, easy-to-maintain code base ? Work with local data sources, including embedded SQL databases, REST servers, and Backend-as-a-Service providers ? Take full advantage of mobile hardware capabilities by working with sensors and Internet of Things gadgets and devices ? Integrate with cloud services and data using REST APIs and scalable multi-tier frameworks for outstanding multi-user and social experience ? Architect and deploy powerful mobile back-end services and get super-productive by leveraging Delphi IDE agile functionality ? Get to know the best practices for writing a high-quality, reliable, and maintainable codebase in the Delphi Object Pascal language In Detail Delphi is the most powerful Object Pascal IDE and component library for cross-platform native app development. It enables building natively compiled, blazingly fast apps for all major platforms including Android, iOS, Windows, Mac, and Linux. If you want to build server-side applications, create web services, and have clear GUIs for your project, then this book is for you. The book begins with a basic primer on Delphi helping you get accustomed to the IDE and the Object Pascal language and will then quickly move on to advanced-level concepts. Through this book, we’ll help you understand the architecture of applications and will teach you the important concepts of the FireMonkey library, show you how to build server-side services, and enable you to interact with the Internet of Things. Towards the end, you will learn to integrate your app with various web services and deploy them. By the end of the book, you will be able to build powerful, cross-platform, native apps for iOS and Android with a single code base. Style and approach This book will help you build cross-platform mobile apps with Delphi using a step-by-step approach.
Learning pandas - Second Edition
Learning pandas - Second Edition
Michael Heydt
¥90.46
Get to grips with pandas—a versatile and high-performance Python library for data manipulation, analysis, and discovery About This Book ? Get comfortable using pandas and Python as an effective data exploration and analysis tool ? Explore pandas through a framework of data analysis, with an explanation of how pandas is well suited for the various stages in a data analysis process ? A comprehensive guide to pandas with many of clear and practical examples to help you get up and using pandas Who This Book Is For This book is ideal for data scientists, data analysts, Python programmers who want to plunge into data analysis using pandas, and anyone with a curiosity about analyzing data. Some knowledge of statistics and programming will be helpful to get the most out of this book but not strictly required. Prior exposure to pandas is also not required. What You Will Learn ? Understand how data analysts and scientists think about of the processes of gathering and understanding data ? Learn how pandas can be used to support the end-to-end process of data analysis ? Use pandas Series and DataFrame objects to represent single and multivariate data ? Slicing and dicing data with pandas, as well as combining, grouping, and aggregating data from multiple sources ? How to access data from external sources such as files, databases, and web services ? Represent and manipulate time-series data and the many of the intricacies involved with this type of data ? How to visualize statistical information ? How to use pandas to solve several common data representation and analysis problems within finance In Detail You will learn how to use pandas to perform data analysis in Python. You will start with an overview of data analysis and iteratively progress from modeling data, to accessing data from remote sources, performing numeric and statistical analysis, through indexing and performing aggregate analysis, and finally to visualizing statistical data and applying pandas to finance. With the knowledge you gain from this book, you will quickly learn pandas and how it can empower you in the exciting world of data manipulation, analysis and science. Style and approach ? Step-by-step instruction on using pandas within an end-to-end framework of performing data analysis ? Practical demonstration of using Python and pandas using interactive and incremental examples
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.
Learning Pentaho Data Integration 8 CE - Third Edition
Learning Pentaho Data Integration 8 CE - Third Edition
María Carina Roldán
¥90.46
Get up and running with the Pentaho Data Integration tool using this hands-on, easy-to-read guide About This Book ? Manipulate your data by exploring, transforming, validating, and integrating it using Pentaho Data Integration 8 CE ? A comprehensive guide exploring the features of Pentaho Data Integration 8 CE ? Connect to any database engine, explore the databases, and perform all kind of operations on relational databases Who This Book Is For This book is a must-have for software developers, business intelligence analysts, IT students, or anyone involved or interested in developing ETL solutions. If you plan on using Pentaho Data Integration for doing any data manipulation task, this book will help you as well. This book is also a good starting point for data warehouse designers, architects, or anyone who is responsible for data warehouse projects and needs to load data into them. What You Will Learn ? Explore the features and capabilities of Pentaho Data Integration 8 Community Edition ? Install and get started with PDI ? Learn the ins and outs of Spoon, the graphical designer tool ? Learn to get data from all kind of data sources, such as plain files, Excel spreadsheets, databases, and XML files ? Use Pentaho Data Integration to perform CRUD (create, read, update, and delete) operations on relationaldatabases ? Populate a data mart with Pentaho Data Integration ? Use Pentaho Data Integration to organize files and folders, run daily processes, deal with errors, and more In Detail Pentaho Data Integration(PDI) is an intuitive and graphical environment packed with drag-and-drop design and powerful Extract-Tranform-Load (ETL) capabilities. This book shows and explains the new interactive features of Spoon, the revamped look and feel, and the newest features of the tool including transformations and jobs Executors and the invaluable Metadata Injection capability. We begin with the installation of PDI software and then move on to cover all the key PDI concepts. Each of the chapter introduces new features, enabling you to gradually get practicing with the tool. First, you will learn to do all kind of data manipulation and work with simple plain files. Then, the book teaches you how you can work with relational databases inside PDI. Moreover, you will be given a primer on data warehouse concepts and you will learn how to load data in a data warehouse. During the course of this book, you will be familiarized with its intuitive, graphical and drag-and-drop design environment. By the end of this book, you will learn everything you need to know in order to meet your data manipulation requirements. Besides, your will be given best practices and advises for designing and deploying your projects. Style and approach Step by step guide filled with practical, real world scenarios and examples.
Architectural Patterns
Architectural Patterns
Pethuru Raj,Anupama Raman,Harihara Subramanian
¥90.46
Learn the importance of architectural and design patterns in producing and sustaining next-generation IT and business-critical applications with this guide. About This Book ? Use patterns to tackle communication, integration, application structure, and more ? Implement modern design patterns such as microservices to build resilient and highly available applications ? Choose between the MVP, MVC, and MVVM patterns depending on the application being built Who This Book Is For This book will empower and enrich IT architects (such as enterprise architects, software product architects, and solution and system architects), technical consultants, evangelists, and experts. What You Will Learn ? Understand how several architectural and design patterns work to systematically develop multitier web, mobile, embedded, and cloud applications ? Learn object-oriented and component-based software engineering principles and patterns ? Explore the frameworks corresponding to various architectural patterns ? Implement domain-driven, test-driven, and behavior-driven methodologies ? Deploy key platforms and tools effectively to enable EA design and solutioning ? Implement various patterns designed for the cloud paradigm In Detail Enterprise Architecture (EA) is typically an aggregate of the business, application, data, and infrastructure architectures of any forward-looking enterprise. Due to constant changes and rising complexities in the business and technology landscapes, producing sophisticated architectures is on the rise. Architectural patterns are gaining a lot of attention these days. The book is divided in three modules. You'll learn about the patterns associated with object-oriented, component-based, client-server, and cloud architectures. The second module covers Enterprise Application Integration (EAI) patterns and how they are architected using various tools and patterns. You will come across patterns for Service-Oriented Architecture (SOA), Event-Driven Architecture (EDA), Resource-Oriented Architecture (ROA), big data analytics architecture, and Microservices Architecture (MSA). The final module talks about advanced topics such as Docker containers, high performance, and reliable application architectures. The key takeaways include understanding what architectures are, why they're used, and how and where architecture, design, and integration patterns are being leveraged to build better and bigger systems. Style and Approach This book adopts a hands-on approach with real-world examples and use cases.
Mastering VMware vSphere 6.5
Mastering VMware vSphere 6.5
Andrea Mauro,Paolo Valsecchi,Karel Novak
¥90.46
Deliver great business value by adopting the virtualization platform VMware vSphere 6.5, from the design to the deployment About This Book ? This new edition is based on vSphere 6.5 and has described new features in different areas, including management, security, scalability, availability and so on. ? Design, deploy and manage VMware datacenters ? Implement monitoring and security of VMware workloads with ease. Who This Book Is For If you are an administrator, infrastructure engineer, IT architect, or an IT consultant and analyst who has basic knowledge of VMware vSphere and now wants to master it, then this book is for you. What You Will Learn ? Get a deep understanding of vSphere 6.5 functionalities ? Design and plan a virtualization environment based on vSphere 6.5 ? Manage and administer a vSphere 6.5 environment and resources ? Get tips for the VCP6-DCV and VCIX6-DCV exams (along with use of the vSphere 6 documentation) ? Implement different migration techniques to move your workload across different environments. ? Save your configuration, data and workload from your virtual infrastructure. In Detail VMware vSphere 6.5 provides a powerful, flexible and secure foundation for next-generation applications which helps you create an effective digital transformation. This book will be based on VMware vSphere 6.5 which empowers you to virtualize any complex application with ease. You’ll begin by getting an overview of all the products, solutions and features of the vSphere 6.5 suite, comparing the evolutions with the previous releases. Next ,you’ll design and plan a virtualization infrastructure to drive planning and performance analysis. Following this , you will be proceeding with workflow and installation of components. New network trends are also covered which will help you in optimally designing the vSphere environment. You will also learn the practices and procedures involved in configuring and managing virtual machines in a vSphere infrastructure. With vSphere 6.5, you’ll make use of significantly more powerful capabilities for patching, upgrading, and managing the configuration of the virtual environment. Next we’ll focus on specific availability and resiliency solutions in vSphere. Towards the end of the book you will get information on how to save your configuration, data and workload from your virtual infrastructure. By the end of the book you’ll learn about VMware vSphere 6.5 right from design to deployment and management. Style and Approach This book acts as a reference guide providing real-world scenarios and a possible baseline for each virtualization project based on VMware vSphere.
Computer Vision with OpenCV 3 and Qt5
Computer Vision with OpenCV 3 and Qt5
Amin Ahmadi Tazehkandi
¥90.46
Blend the power of Qt with OpenCV to build cross-platform computer vision applications About This Book ? Start creating robust applications with the power of OpenCV and Qt combined ? Learn from scratch how to develop cross-platform computer vision applications ? Accentuate your OpenCV applications by developing them with Qt Who This Book Is For This book is for readers interested in building computer vision applications. Intermediate knowledge of C++ programming is expected. Even though no knowledge of Qt5 and OpenCV 3 is assumed, if you’re familiar with these frameworks, you’ll benefit. What You Will Learn ? Get an introduction to Qt IDE and SDK ? Be introduced to OpenCV and see how to communicate between OpenCV and Qt ? Understand how to create UI using Qt Widgets ? Know to develop cross-platform applications using OpenCV 3 and Qt 5 ? Explore the multithreaded application development features of Qt5 ? Improve OpenCV 3 application development using Qt5 ? Build, test, and deploy Qt and OpenCV apps, either dynamically or statically ? See Computer Vision technologies such as filtering and transformation of images, detecting and matching objects, template matching, object tracking, video and motion analysis, and much more ? Be introduced to QML and Qt Quick for iOS and Android application development In Detail Developers have been using OpenCV library to develop computer vision applications for a long time. However, they now need a more effective tool to get the job done and in a much better and modern way. Qt is one of the major frameworks available for this task at the moment. This book will teach you to develop applications with the combination of OpenCV 3 and Qt5. This book will teach you to create cross-platform computer vision applications. We’ll begin by introducing Qt, its IDE, and its SDK. Next you’ll learn how to use the OpenCV API to integrate both tools, and see how to configure Qt to use OpenCV. You’ll go on to build a full-fledged computer vision application throughout the book. Later, you’ll create a stunning UI application using the Qt widgets technology, where you’ll display the images after they are processed in an efficient way. At the end of the book, you’ll learn how to convert OpenCV Mat to Qt QImage. You’ll also see how to efficiently process images to filter them, transform them, detect or track objects as well as analyze video. You’ll become better at developing OpenCV applications. Style and approach This book will help you understand and create cross-platform and multithreaded computer vision applications with the help of OpenCV 3 and Qt5, using a plugin-based and modular application development approach.
Functional Kotlin
Functional Kotlin
Mario Arias,Rivu Chakraborty
¥90.46
Learn how to apply Functional Programming with Kotlin to real-life projects with popular libraries like Arrow. About This Book ? Focus on the functional aspects of Kotlin and identify the advantages that functional programming brings to the table and the associated coding benefits, ? Implement common functional programming design patterns and techniques. ? Learn to combine OOP and Reactive Programming with Functional Programming and how RxKotlin and funkTionale can help you implementing Functional Programming in Kotlin Who This Book Is For Kotlin developers who have no functional programming experience, will benefit from this book. What You Will Learn ? Learn the Concepts of Functional Programming with Kotlin ? Discover the Coroutines in Kotlin ? Uncover Using funkTionale plugin ? Learn Monads, Functiors and Applicatives ? Combine Functional Programming with OOP and Reactive Programming ? Uncover Using Monads with funkTionale ? Discover Stream Processing In Detail Functional programming makes your application faster, improves performance, and increases your productivity. Kotlin supports many of the popular and advanced functional features of functional languages. This book will cover the A-Z of functional programming in Kotlin. This book bridges the language gap for Kotlin developers by showing you how to create and consume functional constructs in Kotlin. We also bridge the domain gap by showing how functional constructs can be applied in business scenarios. We’ll take you through lambdas, pattern matching, immutability, and help you develop a deep understanding of the concepts and practices of functional programming. If you want learn to address problems using Recursion, Koltin has support for it as well. You’ll also learn how to use the funKtionale library to perform currying and lazy programming and more. Finally, you’ll learn functional design patterns and techniques that will make you a better programmer.By the end of the book, you will be more confident in your functional programming skills and will be able to apply them while programming in Kotlin. Style and approach Loaded with numerous code examples and real life projects, this book helps you dive deep into Functional Programming with Kotlin as well as applying it with help of Functional Programming Plugins like funkTionale and RxKotlin.
Practical Test-Driven Development using C# 7
Practical Test-Driven Development using C# 7
John Callaway,Clayton Hunt
¥90.46
Develop applications for the real world with a thorough software testing approach About This Book ? Develop a thorough understanding of TDD and how it can help you develop simpler applications with no defects using C# and JavaScript ? Adapt to the mindset of writing tests before code by incorporating business goals, code manageability, and other factors ? Make all your software units and modules pass tests by analyzing failed tests and refactoring code as and when required Who This Book Is For This book is for software developers with a basic knowledge of Test Driven Development (TDD) who want a thorough understanding of how TDD can benefit them and the applications they produce. The examples in this book are in C#, and you will need a basic understanding of C# to work through these examples. What You Will Learn ? The core concepts of TDD ? Testing in action with a real-world case study in C# and JavaScript using React ? Writing proper Unit Tests and testable code for your application ? Using different types of test double such as stubs, spies, and mocks ? Growing an application guided by tests ? Exploring new developments on a green-field application ? Mitigating the problems associated with writing tests for legacy applications ? Modifying a legacy application to make it testable In Detail Test-Driven Development (TDD) is a methodology that helps you to write as little as code as possible to satisfy software requirements, and ensures that what you've written does what it's supposed to do. If you're looking for a practical resource on Test-Driven Development this is the book for you. You've found a practical end-to-end guide that will help you implement Test-Driven Techniques for your software development projects. You will learn from industry standard patterns and practices, and shift from a conventional approach to a modern and efficient software testing approach in C# and JavaScript. This book starts with the basics of TDD and the components of a simple unit test. Then we look at setting up the testing framework so that you can easily run your tests in your development environment. You will then see the importance of defining and testing boundaries, abstracting away third-party code (including the .NET Framework), and working with different types of test double such as spies, mocks, and fakes. Moving on, you will learn how to think like a TDD developer when it comes to application development. Next, you'll focus on writing tests for new/changing requirements and covering newly discovered bugs, along with how to test JavaScript applications and perform integration testing. You’ll also learn how to identify code that is inherently un-testable, and identify some of the major problems with legacy applications that weren’t written with testability in mind. By the end of the book, you’ll have all the TDD skills you'll need and you’ll be able to re-enter the world as a TDD expert! Style and approach A practical step-by-step approach with real-world case studies.
MySQL 8 Cookbook
MySQL 8 Cookbook
Karthik Appigatla
¥90.46
Design and administer enterprise-grade MySQL 8 solutions About This Book ? Store, retrieve, and manipulate your data using the latest MySQL 8 features ? Practical recipes on effective administration in MySQL, with a focus on security, performance tuning, troubleshooting, and more ? Contains tips, tricks, and best practices for designing, developing, and administering your MySQL 8 database solution without any hassle Who This Book Is For If you are a MySQL developer or administrator looking for quick, handy solutions to solve the most common and not-so-common problems in MySQL, this book is for you. MySQL DBAs looking to get up-to-speed with the latest MySQL 8 development and administration features will also find this book very useful. Prior knowledge of Linux and RDBMS is desirable. What You Will Learn ? Install and configure your MySQL 8 instance without any hassle ? Get to grips with new features of MySQL 8 like CTE, Window functions and many more ? Perform backup tasks, recover data and set up various replication topologies for your database ? Maximize performance by using new features of MySQL 8 like descending indexes, controlling query optimizer and resource groups ? Learn how to use general table space to suit the SaaS or multi-tenant applications ? Analyze slow queries using performance schema, sys schema and third party tools ? Manage and monitor your MySQL instance and implement efficient performance-tuning tasks In Detail MySQL is one of the most popular and widely used relational databases in the World today. The recently released MySQL 8 version promises to be better and more efficient than ever before. This book contains everything you need to know to be the go-to person in your organization when it comes to MySQL. Starting with a quick installation and configuration of your MySQL instance, the book quickly jumps into the querying aspects of MySQL. It shows you the newest improvements in MySQL 8 and gives you hands-on experience in managing high-transaction and real-time datasets. If you've already worked with MySQL before and are looking to migrate your application to MySQL 8, this book will also show you how to do that. The book also contains recipes on efficient MySQL administration, with tips on effective user management, data recovery, security, database monitoring, performance tuning, troubleshooting, and more. With quick solutions to common and not-so-common problems you might encounter while working with MySQL 8, the book contains practical tips and tricks to give you the edge over others in designing, developing, and administering your database effectively. Style and approach This book takes a recipe-based approach to tackling the pain points of SQL developers. It is a comprehensive book full of solutions to common problems faced by SQL administrators and developers alike.
Java EE 8 High Performance
Java EE 8 High Performance
Romain Manni-Bucau
¥90.46
Get more control of your applications performances in development and production and know how to meet your Service Level Agreement on critical microservices. About This Book ? Learn how to write a JavaEE application with performance constraints (Service Level Agreement—SLA) leveraging the platform ? Learn how to identify bottlenecks and hotspots in your application to fix them ? Ensure that you are able to continuously control your performance in production and during development Who This Book Is For If you're a Java developer looking to improve the performance of your code or simply wanting to take your skills up to the next level, then this book is perfect for you. What You Will Learn ? Identify performance bottlenecks in an application ? Locate application hotspots using performance tools ? Understand the work done under the hood by EE containers and its impact on performance ? Identify common patterns to integrate with Java EE applications ? Implement transparent caching on your applications ? Extract more information from your applications using Java EE without modifying existing code ? Ensure constant performance and eliminate regression In Detail The ease with which we write applications has been increasing, but with this comes the need to address their performance. A balancing act between easily implementing complex applications and keeping their performance optimal is a present-day need. In this book, we explore how to achieve this crucial balance while developing and deploying applications with Java EE 8. The book starts by analyzing various Java EE specifications to identify those potentially affecting performance adversely. Then, we move on to monitoring techniques that enable us to identify performance bottlenecks and optimize performance metrics. Next, we look at techniques that help us achieve high performance: memory optimization, concurrency, multi-threading, scaling, and caching. We also look at fault tolerance solutions and the importance of logging. Lastly, you will learn to benchmark your application and also implement solutions for continuous performance evaluation. By the end of the book, you will have gained insights into various techniques and solutions that will help create high-performance applications in the Java EE 8 environment. Style and approach This book will cover vital concepts implemented through a sample application built throughout the book. This will enable you to apply these concepts to suit your software requirements.
Web Penetration Testing with Kali Linux - Third Edition
Web Penetration Testing with Kali Linux - Third Edition
Gilberto Najera-Gutierrez,Juned Ahmed Ansari
¥90.46
Build your defense against web attacks with Kali Linux, including command injection flaws, crypto implementation layers, and web application security holes About This Book ? Know how to set up your lab with Kali Linux ? Discover the core concepts of web penetration testing ? Get the tools and techniques you need with Kali Linux Who This Book Is For Since this book sets out to cover a large number of tools and security fields, it can work as an introduction to practical security skills for beginners in security. In addition, web programmers and also system administrators would benefit from this rigorous introduction to web penetration testing. Basic system administration skills are necessary, and the ability to read code is a must. What You Will Learn ? Learn how to set up your lab with Kali Linux ? Understand the core concepts of web penetration testing ? Get to know the tools and techniques you need to use with Kali Linux ? Identify the difference between hacking a web application and network hacking ? Expose vulnerabilities present in web servers and their applications using server-side attacks ? Understand the different techniques used to identify the flavor of web applications ? See standard attacks such as exploiting cross-site request forgery and cross-site *ing flaws ? Get an overview of the art of client-side attacks ? Explore automated attacks such as fuzzing web applications In Detail Web Penetration Testing with Kali Linux - Third Edition shows you how to set up a lab, helps you understand the nature and mechanics of attacking websites, and explains classical attacks in great depth. This edition is heavily updated for the latest Kali Linux changes and the most recent attacks. Kali Linux shines when it comes to client-side attacks and fuzzing in particular. From the start of the book, you'll be given a thorough grounding in the concepts of hacking and penetration testing, and you'll see the tools used in Kali Linux that relate to web application hacking. You'll gain a deep understanding of classicalSQL, command-injection flaws, and the many ways to exploit these flaws. Web penetration testing also needs a general overview of client-side attacks, which is rounded out by a long discussion of *ing and input validation flaws. There is also an important chapter on cryptographic implementation flaws, where we discuss the most recent problems with cryptographic layers in the networking stack. The importance of these attacks cannot be overstated, and defending against them is relevant to most internet users and, of course, penetration testers. At the end of the book, you'll use an automated technique called fuzzing to identify flaws in a web application. Finally, you'll gain an understanding of web application vulnerabilities and the ways they can be exploited using the tools in Kali Linux. Style and approach This step-by-step guide covers each topic with detailed practical examples. Every concept is explained with the help of illustrations using the tools available in Kali Linux.
Odoo 11 Development Cookbook - Second Edition
Odoo 11 Development Cookbook - Second Edition
Holger Brunn,Alexandre Fayolle
¥90.46
Create fast and efficient server-side applications using the latest features of Odoo v11 About This Book ? Get the most up-to-date guide on Odoo 11 to create custom and reusable modules ? Interconnect your application with other systems by implementing web APIs ? Understand the mechanisms powering the Odoo framework to build robust enterprises Who This Book Is For If you're a Python developer and want to develop highly efficient business applications with the latest Odoo framework (or if you just want a hands on problem solution book for all your Odoo Development related issues), this book is for you! Some experience with the JavaScript programming language and web development is required to get the most out of this book. What You Will Learn ? Install and manage Odoo environments and instances ? Use models to define your application's data structures ? Add business logic to your applications ? Add automated tests and learn how to debug Odoo apps ? Learn about the access security model and internationalization features ? Customize websites built with Odoo, by writing your own templates and providing new snippets for use in the website builder ? Extend the web client with new widgets and make RPC calls to the server In Detail Odoo is a full-featured open source ERP with a focus on extensibility. The flexibility and sustainability of open source are also a key selling point of Odoo. It is built on a powerful framework for rapid application development, both for back-end applications and front-end websites. Version 11 offers better usability and speed: a new design (as compared to the current Odoo Enterprise version) and a mobile interface. The book starts by covering Odoo installation and administration and Odoo Server deployment. It then delves into the implementation of Odoo modules, the different inheritance models available in Odoo. You will then learn how to define access rules for your data; how to make your application available in different languages; how to expose your data models to end users on the back end and on the front end; and how to create beautiful PDF versions of your data. By the end of the book, you will have a thorough knowledge of Odoo and will be able to build effective applications by applying Odoo development best practices Style and Approach This recipe-based practical guide presents each topic with step-by-step instructions on how you can create fast and efficient server-side applications using the latest features of Odoo v11
Bayesian Analysis with Python
Bayesian Analysis with Python
Osvaldo Martin
¥90.46
Unleash the power and flexibility of the Bayesian framework About This Book Simplify the Bayes process for solving complex statistical problems using Python; Tutorial guide that will take the you through the journey of Bayesian analysis with the help of sample problems and practice exercises; Learn how and when to use Bayesian analysis in your applications with this guide. Who This Book Is For Students, researchers and data scientists who wish to learn Bayesian data analysis with Python and implement probabilistic models in their day to day projects. Programming experience with Python is essential. No previous statistical knowledge is assumed. What You Will Learn Understand the essentials Bayesian concepts from a practical point of view Learn how to build probabilistic models using the Python library PyMC3 Acquire the skills to sanity-check your models and modify them if necessary Add structure to your models and get the advantages of hierarchical models Find out how different models can be used to answer different data analysis questions When in doubt, learn to choose between alternative models. Predict continuous target outcomes using regression analysis or assign classes using logistic and softmax regression. Learn how to think probabilistically and unleash the power and flexibility of the Bayesian framework In Detail The purpose of this book is to teach the main concepts of Bayesian data analysis. We will learn how to effectively use PyMC3, a Python library for probabilistic programming, to perform Bayesian parameter estimation, to check models and validate them. This book begins presenting the key concepts of the Bayesian framework and the main advantages of this approach from a practical point of view. Moving on, we will explore the power and flexibility of generalized linear models and how to adapt them to a wide array of problems, including regression and classification. We will also look into mixture models and clustering data, and we will finish with advanced topics like non-parametrics models and Gaussian processes. With the help of Python and PyMC3 you will learn to implement, check and expand Bayesian models to solve data analysis problems. Style and approach Bayes algorithms are widely used in statistics, machine learning, artificial intelligence, and data mining. This will be a practical guide allowing the readers to use Bayesian methods for statistical modelling and analysis using Python.
Infrastructure as Code (IAC) Cookbook
Infrastructure as Code (IAC) Cookbook
Stephane Jourdan
¥90.46
Over 90 practical, actionable recipes to automate, test, and manage your infrastructure quickly and effectively About This Book Bring down your delivery timeline from days to hours by treating your server configurations and VMs as code, just like you would with software code. Take your existing knowledge and skill set with your existing tools (Puppet, Chef, or Docker) to the next level and solve IT infrastructure challenges. Use practical recipes to use code to provision and deploy servers and applications and have greater control of your infrastructure. Who This Book Is For This book is for DevOps engineers and developers working in cross-functional teams or operations and would now switch to IAC to manage complex infrastructures. What You Will Learn Provision local and remote development environments with Vagrant Automate production infrastructures with Terraform, Ansible and Cloud-init on AWS, OpenStack, Google Cloud, Digital Ocean, and more Manage and test automated systems using Chef and Puppet Build, ship, and debug optimized Docker containers Explore the best practices to automate and test everything from cloud infrastructures to operating system configuration In Detail Infrastructure as Code (IAC) is a key aspect of the DevOps movement, and this book will show you how to transform the way you work with your infrastructure—by treating it as software. This book is dedicated to helping you discover the essentials of infrastructure automation and its related practices; the over 90 organized practical solutions will demonstrate how to work with some of the very best tools and cloud solutions. You will learn how to deploy repeatable infrastructures and services on AWS, OpenStack, Google Cloud, and Digital Ocean. You will see both Ansible and Terraform in action, manipulate the best bits from cloud-init to easily bootstrap instances, and simulate consistent environments locally or remotely using Vagrant. You will discover how to automate and test a range of system tasks using Chef or Puppet. You will also build, test, and debug various Docker containers having developers’ interests in mind. This book will help you to use the right tools, techniques, and approaches to deliver working solutions for today’s modern infrastructure challenges. Style and approach This is a recipe-based book that allows you to venture into some of the most cutting-edge practices and techniques about IAC and solve immediate problems when trying to implement them.
Mastering Elasticsearch 5.x - Third Edition
Mastering Elasticsearch 5.x - Third Edition
Bharvi Dixit
¥90.46
Master the intricacies of Elasticsearch 5 and use it to create flexible and scalable search solutions About This Book Master the searching, indexing, and aggregation features in ElasticSearch Improve users’ search experience with Elasticsearch’s functionalities and develop your own Elasticsearch plugins A comprehensive, step-by-step guide to master the intricacies of ElasticSearch with ease Who This Book Is For If you have some prior working experience with Elasticsearch and want to take your knowledge to the next level, this book will be the perfect resource for you.If you are a developer who wants to implement scalable search solutions with Elasticsearch, this book will also help you. Some basic knowledge of the query DSL and data indexing is required to make the best use of this book. What You Will Learn Understand Apache Lucene and Elasticsearch 5’s design and architecture Use and configure the new and improved default text scoring mechanism in Apache Lucene 6 Know how to overcome the pitfalls while handling relational data in Elasticsearch Learn about choosing the right queries according to the use cases and master the *ing module including new default *ing language, painlessly Explore the right way of scaling production clusters to improve the performance of Elasticsearch Master the searching, indexing, and aggregation features in Elasticsearch Develop your own Elasticsearch plugins to extend the functionalities of Elasticsearch In Detail Elasticsearch is a modern, fast, distributed, scalable, fault tolerant, and open source search and analytics engine. Elasticsearch leverages the capabilities of Apache Lucene, and provides a new level of control over how you can index and search even huge sets of data. This book will give you a brief recap of the basics and also introduce you to the new features of Elasticsearch 5. We will guide you through the intermediate and advanced functionalities of Elasticsearch, such as querying, indexing, searching, and modifying data. We’ll also explore advanced concepts, including aggregation, index control, sharding, replication, and clustering. We’ll show you the modules of monitoring and administration available in Elasticsearch, and will also cover backup and recovery. You will get an understanding of how you can scale your Elasticsearch cluster to contextualize it and improve its performance. We’ll also show you how you can create your own analysis plugin in Elasticsearch. By the end of the book, you will have all the knowledge necessary to master Elasticsearch and put it to efficient use. Style and approach This comprehensive guide covers intermediate and advanced concepts in Elasticsearch as well as their implementation. An easy-to-follow approach means you’ll be able to master even advanced querying, searching, and administration tasks with ease.
Go Design Patterns
Go Design Patterns
Mario Castro Contreras
¥90.46
Learn idiomatic, efficient, clean, and extensible Go design and concurrency patterns by using TDD About This Book A highly practical guide filled with numerous examples unleashing the power of design patterns with Go. Discover an introduction of the CSP concurrency model by explaining GoRoutines and channels. Get a full explanation, including comprehensive text and examples, of all known GoF design patterns in Go. Who This Book Is For The target audience is both beginner- and advanced-level developers in the Go programming language. No knowledge of design patterns is expected. What You Will Learn All basic syntax and tools needed to start coding in Go Encapsulate the creation of complex objects in an idiomatic way in Go Create unique instances that cannot be duplicated within a program Understand the importance of object encapsulation to provide clarity and maintainability Prepare cost-effective actions so that different parts of the program aren’t affected by expensive tasks Deal with channels and GoRoutines within the Go context to build concurrent application in Go in an idiomatic way In Detail Go is a multi-paradigm programming language that has built-in facilities to create concurrent applications. Design patterns allow developers to efficiently address common problems faced during developing applications. Go Design Patterns will provide readers with a reference point to software design patterns and CSP concurrency design patterns to help them build applications in a more idiomatic, robust, and convenient way in Go. The book starts with a brief introduction to Go programming essentials and quickly moves on to explain the idea behind the creation of design patterns and how they appeared in the 90’s as a common "language" between developers to solve common tasks in object-oriented programming languages. You will then learn how to apply the 23 Gang of Four (GoF) design patterns in Go and also learn about CSP concurrency patterns, the "killer feature" in Go that has helped Google develop software to maintain thousands of servers. With all of this the book will enable you to understand and apply design patterns in an idiomatic way that will produce concise, readable, and maintainable software. Style and approach This book will teach widely used design patterns and best practices with Go in a step-by-step manner. The code will have detailed examples, to allow programmers to apply design patterns in their day-to-day coding.