万本电子书0元读

万本电子书0元读

NGINX Cookbook
NGINX Cookbook
Tim Butler
¥80.65
A practical book on real-world NGINX deployments to get you up and running quickly. About This Book ? Be the first to immerse yourself in the NGINX 1.9x web server and explore the plethora of advanced features. ? Master the skills of load balancing TCP-based applications and implementing HTTP/2. ? A recipe-based approach book that provides you with up-to-date information on NGINX, allowing you to implement specific use cases immediately. Who This Book Is For This book is aimed at smaller-to-medium developers, who are just getting started with NGINX. It assumes they already understand the basics of how a web server works and how basic networking works. What You Will Learn ? Practical, real-world examples and recipes on how to use NGINX ? Common CMS deployments such as WordPress, Joomla and more ? NGINX configurations for frameworks such as Ruby on Rails, Django and more ? Detailed SSL recipes, including HTTP/2 ? Real world rewrite examples ? Basic web and TCP load balancing configuration ? Bandwidth management and connection limiting ? Detailed NGINX deployment scen+BO377arios with Docker ? Performance tuning and monitoring of your NGINX deployments ? OpenResty deployment guides ? Advanced deployments with NGINX Plus features In Detail NGINX Cookbook covers the basics of configuring NGINX as a web server for use with common web frameworks such as WordPress and Ruby on Rails, through to utilization as a reverse proxy. Designed as a go-to reference guide, this book will give you practical answers based on real-world deployments to get you up and running quickly. Recipes have also been provided for multiple SSL configurations, different logging scenarios, practical rewrites, and multiple load balancing scenarios. Advanced topics include covering bandwidth management, Docker container usage, performance tuning, OpenResty, and the NGINX Plus commercial features. By the time you've read this book, you will be able to adapt and use a wide variety of NGINX implementations to solve any problems you have. Style and approach With practical, real-world examples and recipes on how to use NGINX, this go-to book will remain valid for many years. Included are detailed recipes that solve very specific and sometimes complicated user scenarios with NGINX. Readers will think "Ah, so that's how you do it!" after reading a chapter/sub-chapter. Each scenario in the book is thoroughly tested and validated, especially, when it comes to direct cut and paste code scenarios, where possible, we made test code available so that the reader can instantly see the system in action
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.
Continuous Integration, Delivery, and Deployment
Continuous Integration, Delivery, and Deployment
Sander Rossel
¥80.65
Getting started with the processes and the tools to continuously deliver high-quality software About This Book ? Incorporate popular development practices to prevent messy code ? Automate your build, integration, release, and deployment processes with Jenkins, Git, and Gulp―and learn how continuous integration (CI) can save you time and money ? Gain an end-to-end overview of Continuous Integration using different languages (JavaScript and C#) and tools (Gulp and Jenkins) Who This Book Is For This book is for developers who want to understand and implement Continuous Integration and Delivery in their daily work. A basic knowledge of at least JavaScript and HTML/CSS is required. Knowing C# and SQL will come in handy. Most programmers who have programmed in a (compiled) C-like language will be able to follow along. What You Will Learn ? Get to know all the aspects of Continuous Integration, Deployment, and Delivery ? Find out how Git can be used in a CI environment ? Set up browser tests using Karma and Selenium and unit tests using Jasmine ? Use Node.js, npm, and Gulp to automate tasks such as linting, testing, and minification ? Explore different Jenkins jobs to integrate with Node.js and C# projects ? Perform Continuous Delivery and Deployment using Jenkins ? Test and deliver a web API In Detail The challenge faced by many teams while implementing Continuous Deployment is that it requires the use of many tools and processes that all work together. Learning and implementing all these tools (correctly) takes a lot of time and effort, leading people to wonder whether it's really worth it. This book sets up a project to show you the different steps, processes, and tools in Continuous Deployment and the actual problems they solve. We start by introducing Continuous Integration (CI), deployment, and delivery as well as providing an overview of the tools used in CI. You'll then create a web app and see how Git can be used in a CI environment. Moving on, you'll explore unit testing using Jasmine and browser testing using Karma and Selenium for your app. You'll also find out how to automate tasks using Gulp and Jenkins. Next, you'll get acquainted with database integration for different platforms, such as MongoDB and PostgreSQL. Finally, you'll set up different Jenkins jobs to integrate with Node.js and C# projects, and Jenkins pipelines to make branching easier. By the end of the book, you'll have implemented Continuous Delivery and deployment from scratch. Style and approach This practical book takes a step-by-step approach to explaining all the concepts of Continuous Integration and delivery, and how it can help you deliver a high-quality product.
Mastering C++ Programming
Mastering C++ Programming
Jeganathan Swaminathan
¥90.46
Take your C++ coding to the next level by leveraging the latest features and advanced techniques to building high performing, reliable applications. About This Book ? Get acquainted with the latest features in C++ 17 ? Take advantage of the myriad of features and possibilities that C++ offers to build real-world applications ? Write clear and expressive code in C++, and get insights into how to keep your code error-free Who This Book Is For This book is for experienced C++ developers. If you are a novice C++ developer, then it’s highly recommended that you get a solid understanding of the C++ language before reading this book What You Will Learn ? Write modular C++ applications in terms of the existing and newly introduced features ? Identify code-smells, clean up, and refactor legacy C++ applications ? Leverage the possibilities provided by Cucumber and Google Test/Mock to automate test cases ? Test frameworks with C++ ? Get acquainted with the new C++17 features ? Develop GUI applications in C++ ? Build portable cross-platform applications using standard C++ features In Detail C++ has come a long way and has now been adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications. The C++ 17 release will change the way developers write code, and this book will help you master your developing skills with C++. With real-world, practical examples explaining each concept, the book will begin by introducing you to the latest features in C++ 17. It encourages clean code practices in C++ in general, and demonstrates the GUI app-development options in C++. You’ll get tips on avoiding memory leaks using smart-pointers. Next, you’ll see how multi-threaded programming can help you achieve concurrency in your applications. Moving on, you’ll get an in-depth understanding of the C++ Standard Template Library. We show you the concepts of implementing TDD and BDD in your C++ programs, and explore template-based generic programming, giving you the expertise to build powerful applications. Finally, we’ll round up with debugging techniques and best practices.By the end of the book, you’ll have an in-depth understanding of the language and its various facets. Style and approach This straightforward guide will help you level up your skills in C++ programming, be it for enterprise software or for low-latency applications like games. Filled with real-world, practical examples, this book will take you gradually up the steep learning curve that is C++.
Learning Spark SQL
Learning Spark SQL
Aurobindo Sarkar
¥99.18
Design, implement, and deliver successful streaming applications, machine learning pipelines and graph applications using Spark SQL API About This Book ? Learn about the design and implementation of streaming applications, machine learning pipelines, deep learning, and large-scale graph processing applications using Spark SQL APIs and Scala. ? Learn data exploration, data munging, and how to process structured and semi-structured data using real-world datasets and gain hands-on exposure to the issues and challenges of working with noisy and "dirty" real-world data. ? Understand design considerations for scalability and performance in web-scale Spark application architectures. Who This Book Is For If you are a developer, engineer, or an architect and want to learn how to use Apache Spark in a web-scale project, then this is the book for you. It is assumed that you have prior knowledge of SQL querying. A basic programming knowledge with Scala, Java, R, or Python is all you need to get started with this book. What You Will Learn ? Familiarize yourself with Spark SQL programming, including working with DataFrame/Dataset API and SQL ? Perform a series of hands-on exercises with different types of data sources, including CSV, JSON, Avro, MySQL, and MongoDB ? Perform data quality checks, data visualization, and basic statistical analysis tasks ? Perform data munging tasks on publically available datasets ? Learn how to use Spark SQL and Apache Kafka to build streaming applications ? Learn key performance-tuning tips and tricks in Spark SQL applications ? Learn key architectural components and patterns in large-scale Spark SQL applications In Detail In the past year, Apache Spark has been increasingly adopted for the development of distributed applications. Spark SQL APIs provide an optimized interface that helps developers build such applications quickly and easily. However, designing web-scale production applications using Spark SQL APIs can be a complex task. Hence, understanding the design and implementation best practices before you start your project will help you avoid these problems. This book gives an insight into the engineering practices used to design and build real-world, Spark-based applications. The book's hands-on examples will give you the required confidence to work on any future projects you encounter in Spark SQL. It starts by familiarizing you with data exploration and data munging tasks using Spark SQL and Scala. Extensive code examples will help you understand the methods used to implement typical use-cases for various types of applications. You will get a walkthrough of the key concepts and terms that are common to streaming, machine learning, and graph applications. You will also learn key performance-tuning details including Cost Based Optimization (Spark 2.2) in Spark SQL applications. Finally, you will move on to learning how such systems are architected and deployed for a successful delivery of your project. Style and approach This book is a hands-on guide to designing, building, and deploying Spark SQL-centric production applications at scale.
Windows 10 for Enterprise Administrators
Windows 10 for Enterprise Administrators
Jeff Stokes;Manuel Singer;Richard Diver
¥80.65
Learn the art of configuring, deploying, managing and securing Windows 10 for your enterprise. About This Book ? Enhance your enterprise administration skills to manage Windows 10 Redstone 3 ? Get acquainted with configuring Azure Active Directory for enabling cloud-based services and Remote Server Admin Tools for managing Windows Server ? Provide enterprise-level security with ease using the built-in data loss prevention of Windows 10 Who This Book Is For If you are a system administrator who has been given the responsibility of administering and managing Windows 10 Redstone 3, then this book is for you. If you have deployed and managed previous versions of Windows, it would be an added advantage. What You Will Learn ? Understand the remote access capabilities ? Use third-party tools to deploy Windows 10 ? Customize image and user Interface experience ? Implement assigned access rights ? Configure remote administration ? Manage Windows 10 security ? Work with Azure AD and Intune management In Detail Microsoft’s launch of Windows 10 is a step toward satisfying the enterprise administrator’s needs for management and user experience customization. This book provides the enterprise administrator with the knowledge needed to fully utilize the advanced feature set of Windows 10 Enterprise. This practical guide shows Windows 10 from an administrator's point of view. You'll focus on areas such as installation and configuration techniques based on your enterprise requirements, various deployment scenarios and management strategies, and setting up and managing admin and other user accounts. You’ll see how to configure Remote Server Administration Tools to remotely manage Windows Server and Azure Active Directory. Lastly, you will learn modern Mobile Device Management for effective BYOD and how to enable enhanced data protection, system hardening, and enterprise-level security with the new Windows 10 in order to prevent data breaches and impede attacks. By the end of this book, you will know the key technologies and capabilities in Windows 10 and will confidently be able to manage and deploy these features in your organization. Style and approach This step-by-step guide will show you how to configure, deploy, manage, and secure the all new Windows 10 Redstone 3 for your enterprise.
Kali Linux Cookbook - Second Edition
Kali Linux Cookbook - Second Edition
Corey P. Schultz;Bob Perciaccante
¥80.65
Over 80 recipes to effectively test your network and boost your career in security About This Book ? Learn how to scan networks to find vulnerable computers and servers ? Hack into devices to control them, steal their data, and make them yours ? Target wireless networks, databases, and web servers, and password cracking to make the most of Kali Linux Who This Book Is For If you are looking to expand your career into penetration testing, you will need a good understanding of Kali Linux and the variety of tools it includes. This book will work as a perfect guide for anyone who wants to have a practical approach in leveraging penetration testing mechanisms using Kali Linux What You Will Learn ? Acquire the key skills of ethical hacking to perform penetration testing ? Learn how to perform network reconnaissance ? Discover vulnerabilities in hosts ? Attack vulnerabilities to take control of workstations and servers ? Understand password cracking to bypass security ? Learn how to hack into wireless networks ? Attack web and database servers to exfiltrate data ? Obfuscate your command and control connections to avoid firewall and IPS detection In Detail Kali Linux is a Linux distribution designed for penetration testing and security auditing. It is the successor to BackTrack, the world’s most popular penetration testing distribution. Kali Linux is the most widely used platform and toolkit for penetration testing. Security is currently the hottest field in technology with a projected need for millions of security professionals. This book focuses on enhancing your knowledge in Kali Linux for security by expanding your skills with toolkits and frameworks that can increase your value as a security professional. Kali Linux Cookbook, Second Edition starts by helping you install Kali Linux on different options available. You will also be able to understand the lab architecture and install a Windows host for use in the lab. Next, you will understand the concept of vulnerability analysis and look at the different types of exploits. The book will introduce you to the concept and psychology of Social Engineering and password cracking. You will then be able to use these skills to expand the scope of any breaches you create. Finally, the book will guide you in exploiting specific technologies and gaining access to other systems in the environment. By the end of this book, you will have gained the core knowledge and concepts of the penetration testing process. Style and approach This book teaches you everything you need to know about Kali Linux from the perspective of a penetration tester. It is filled with powerful recipes and practical examples that will help you gain in-depth knowledge of Kali Linux.
Drupal 8 Blueprints
Drupal 8 Blueprints
Alex Burrows
¥71.93
A project-based guide that will show you how to create 7 professional Drupal sites About This Book ? Create and design your own customized website effortlessly and efficiently ? This up-to-date guide on Drupal 8 will show you how you can leverage the latest Drupal 8 features ? This hands-on guide will turn you into a professional grade Drupal 8 developer through 7 unique and engaging web sites Who This Book Is For This book is ideal for web developers who are looking to create professional web applications using Drupal 8. You should have some previous experience with Drupal and must have a basic knowledge of web application development in general. If you are looking to create fluent professional websites that will take you to the next level, then this book is for you. What You Will Learn ? Find out how to use the Drupal 8 core functionality to build great websites ? Discover how to better manage content using custom blocks and views ? Display content in multiple ways, taking advantage of display modes ? Using the new TWIG theme engine for Drupal ? Easily manage and filter content ? Understanding best practices for building great Drupal sites ? Move beyond Drupal to build headless websites using RESTful services and JavaScript frameworks In Detail Drupal is an open source content management framework that can be used for developing websites and simplifying online management of content for users. This book is a must-have for web developers who are looking to create professional-grade websites using Drupal 8. While building 7 different Drupal websites, we will focus on implementing the out of the box features that come with Drupal 8 and see how we can make some complex sites with minimal custom code. Focusing completely on Drupal 8, this book will help you leverage the new Drupal 8 features such as creating a different types and layouts of content using configuration to build in core with its built-in web services facilities, and effortless authoring using the new CKEditor with an effortless and efficient industry standard approach. The book starts with getting started with the development environment of Drupal. Each chapter will start with a brief overview of the site to be built and the required features. Then, we will proceed to create customized modules and themes and integrate third-party plugins. Lastly, you will learn about "headless" Drupal that uses RESTful services that would help you to display content outside of Drupal By the end of the book, you will be able to implement the knowledge gained to build your own custom websites using Drupal 8. Style and approach This unique, project-based resource on Drupal 8 website development will show you how to leverage Drupal 8’s features to create customized, professional-grade applications efficiently and effectively.
Learning Network Forensics
Learning Network Forensics
Samir Datt
¥90.46
Identify and safeguard your network against both internal and external threats, hackers, and malware attacksAbout This BookLay your hands on physical and virtual evidence to understand the sort of crime committed by capturing and analyzing network trafficConnect the dots by understanding web proxies, firewalls, and routers to close in on your suspectA hands-on guide to help you solve your case with malware forensic methods and network behaviorsWho This Book Is ForIf you are a network administrator, system administrator, information security, or forensics professional and wish to learn network forensic to track the intrusions through network-based evidence, then this book is for you. Basic knowledge of Linux and networking concepts is expected.What You Will LearnUnderstand Internetworking, sources of network-based evidence and other basic technical fundamentals, including the tools that will be used throughout the bookAcquire evidence using traffic acquisition software and know how to manage and handle the evidencePerform packet analysis by capturing and collecting data, along with content analysisLocate wireless devices, as well as capturing and analyzing wireless traffic data packetsImplement protocol analysis and content matching; acquire evidence from NIDS/NIPSAct upon the data and evidence gathered by being able to connect the dots and draw links between various eventsApply logging and interfaces, along with analyzing web proxies and understanding encrypted web trafficUse IOCs (Indicators of Compromise) and build real-world forensic solutions, dealing with malwareIn DetailWe live in a highly networked world. Every digital device—phone, tablet, or computer is connected to each other, in one way or another. In this new age of connected networks, there is network crime. Network forensics is the brave new frontier of digital investigation and information security professionals to extend their abilities to catch miscreants on the network.The book starts with an introduction to the world of network forensics and investigations. You will begin by getting an understanding of how to gather both physical and virtual evidence, intercepting and analyzing network data, wireless data packets, investigating intrusions, and so on. You will further explore the technology, tools, and investigating methods using malware forensics, network tunneling, and behaviors. By the end of the book, you will gain a complete understanding of how to successfully close a case.Style and approachAn easy-to-follow book filled with real-world case studies and applications. Each topic is explained along with all the practical tools and software needed, allowing the reader to use a completely hands-on approach.
Mastering Concurrency Programming with Java 8
Mastering Concurrency Programming with Java 8
Javier Fernández González
¥99.18
Master the principles and techniques of multithreaded programming with the Java 8 Concurrency APIAbout This BookImplement concurrent applications using the Java 8 Concurrency API and its new componentsImprove the performance of your applications or process more data at the same time, taking advantage of all of your resources.Construct real-world examples related to machine learning, data mining, image processing, and client/server environmentsWho This Book Is ForIf you are a competent Java developer with a good understanding of concurrency but have no knowledge of how to effectively implement concurrent programs or use streams to make processes more efficient, then this book is for you.What You Will LearnDesign concurrent applications by converting a sequential algorithm into a concurrent oneDiscover how to avoid all the possible problems you can get in concurrent algorithmsUse the Executor framework to manage concurrent tasks without creating threadsExtend and modify Executors to adapt their behavior to your needsSolve problems using the divide and conquer technique and the Fork/Join frameworkProcess massive data sets with parallel streams and Map/Reduce implementationControl data-race conditions using concurrent data structures and synchronization mechanismsTest and monitor concurrent applicationsIn DetailConcurrency programming allows several large tasks to be divided into smaller sub-tasks, which are further processed as individual tasks that run in parallel. All the sub-tasks are combined together once the required results are achieved; they are then merged to get the final output. The whole process is very complex. This process goes from the design of concurrent algorithms to the testing phase where concurrent applications need extra attention. Java includes a comprehensive API with a lot of ready-to-use components to implement powerful concurrency applications in an easy way, but with a high flexibility to adapt these components to your needs.The book starts with a full de*ion of design principles of concurrent applications and how to parallelize a sequential algorithm. We'll show you how to use all the components of the Java Concurrency API from basics to the most advanced techniques to implement them in powerful concurrency applications in Java.You will be using real-world examples of complex algorithms related to machine learning, data mining, natural language processing, image processing in client / server environments. Next, you will learn how to use the most important components of the Java 8 Concurrency API: the Executor framework to execute multiple tasks in your applications, the phaser class to implement concurrent tasks divided into phases, and the Fork/Join framework to implement concurrent tasks that can be split into smaller problems (using the divide and conquer technique). Toward the end, we will cover the new inclusions in Java 8 API, the Map and Reduce model, and the Map and Collect model. The book will also teach you about the data structures and synchronization utilities to avoid data-race conditions and other critical problems. Finally, the book ends with a detailed de*ion of the tools and techniques that you can use to test a Java concurrent application.Style and approach A complete guide implementing real-world examples with algorithms related to machine learning, data mining, and natural language processing in client/server environments. All the examples are explained in a step-by-step approach.
Hadoop Real-World Solutions Cookbook - Second Edition
Hadoop Real-World Solutions Cookbook - Second Edition
Tanmay Deshpande
¥99.18
Over 90 hands-on recipes to help you learn and master the intricacies of Apache Hadoop 2.X, YARN, Hive, Pig, Oozie, Flume, Sqoop, Apache Spark, and Mahout About This Book Implement outstanding Machine Learning use cases on your own analytics models and processes. Solutions to common problems when working with the Hadoop ecosystem. Step-by-step implementation of end-to-end big data use cases. Who This Book Is For Readers who have a basic knowledge of big data systems and want to advance their knowledge with hands-on recipes. What You Will Learn Installing and maintaining Hadoop 2.X cluster and its ecosystem. Write advanced Map Reduce programs and understand design patterns. Advanced Data Analysis using the Hive, Pig, and Map Reduce programs. Import and export data from various sources using Sqoop and Flume. Data storage in various file formats such as Text, Sequential, Parquet, ORC, and RC Files. Machine learning principles with libraries such as Mahout Batch and Stream data processing using Apache Spark In Detail Big data is the current requirement. Most organizations produce huge amount of data every day. With the arrival of Hadoop-like tools, it has become easier for everyone to solve big data problems with great efficiency and at minimal cost. Grasping Machine Learning techniques will help you greatly in building predictive models and using this data to make the right decisions for your organization. Hadoop Real World Solutions Cookbook gives readers insights into learning and mastering big data via recipes. The book not only clarifies most big data tools in the market but also provides best practices for using them. The book provides recipes that are based on the latest versions of Apache Hadoop 2.X, YARN, Hive, Pig, Sqoop, Flume, Apache Spark, Mahout and many more such ecosystem tools. This real-world-solution cookbook is packed with handy recipes you can apply to your own everyday issues. Each chapter provides in-depth recipes that can be referenced easily. This book provides detailed practices on the latest technologies such as YARN and Apache Spark. Readers will be able to consider themselves as big data experts on completion of this book. This guide is an invaluable tutorial if you are planning to implement a big data warehouse for your business. Style and approach An easy-to-follow guide that walks you through world of big data. Each tool in the Hadoop ecosystem is explained in detail and the recipes are placed in such a manner that readers can implement them sequentially. Plenty of reference links are provided for advanced reading.
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.