万本电子书0元读

万本电子书0元读

Spring 5 Design Patterns
Spring 5 Design Patterns
Dinesh Rajput
¥80.65
Learn various design patterns and best practices in Spring 5 and use them to solve common design problems. About This Book ? Explore best practices for designing an application ? Manage your code easily with Spring's Dependency Injection pattern ? Understand the benefits that the right design patterns can offer your toolkit Who This Book Is For This book is for developers who would like to use design patterns to address common problems while designing an app using the Spring Framework and Reactive Programming approach. A basic knowledge of the Spring Framework and Java is assumed. What You Will Learn ? Develop applications using dependency injection patterns ? Learn best practices to design enterprise applications ? Explore Aspect-Oriented Programming relating to transactions, security, and caching. ? Build web applications using traditional Spring MVC patterns ? Learn to configure Spring using XML, annotations, and Java. ? Implement caching to improve application performance. ? Understand concurrency and handle multiple connections inside a web server. ? Utilizing Reactive Programming Pattern to build Reactive web applications. In Detail Design patterns help speed up the development process by offering well tested and proven solutions to common problems. These patterns coupled with the Spring framework offer tremendous improvements in the development process. The book begins with an overview of Spring Framework 5.0 and design patterns. You will understand the Dependency Injection pattern, which is the main principle behind the decoupling process that Spring performs, thus making it easier to manage your code. You will learn how GoF patterns can be used in Application Design. You will then learn to use Proxy patterns in Aspect Oriented Programming and remoting. Moving on, you will understand the JDBC template patterns and their use in abstracting database access. Then, you will be introduced to MVC patterns to build Reactive web applications. Finally, you will move on to more advanced topics such as Reactive streams and Concurrency. At the end of this book, you will be well equipped to develop efficient enterprise applications using Spring 5 with common design patterns Style and approach The book takes a pragmatic approach, showing various design patterns and best-practice considerations, including the Reactive programming approach with the Spring 5 Framework and ways to solve common development and design problems for enterprise applications.
Architecting Modern Java EE Applications
Architecting Modern Java EE Applications
Sebastian Daschner
¥90.46
Find out how to craft effective, business-oriented Java EE 8 applications that target customer’s demands in the age of Cloud platforms and container technology. About This Book ? Understand the principles of modern Java EE and how to realize effective architectures ? Gain knowledge of how to design enterprise software in the age of automation, Continuous Delivery and Cloud platforms ? Learn about the reasoning and motivations behind state-of-the-art enterprise Java technology, that focuses on business Who This Book Is For This book is for experienced Java EE developers who are aspiring to become the architects of enterprise-grade applications, or software architects who would like to leverage Java EE to create effective blueprints of applications. What You Will Learn ? What enterprise software engineers should focus on ? Implement applications, packages, and components in a modern way ? Design and structure application architectures ? Discover how to realize technical and cross-cutting aspects ? Get to grips with containers and container orchestration technology ? Realize zero-dependency, 12-factor, and Cloud-native applications ? Implement automated, fast, reliable, and maintainable software tests ? Discover distributed system architectures and their requirements In Detail Java EE 8 brings with it a load of features, mainly targeting newer architectures such as microservices, modernized security APIs, and cloud deployments. This book will teach you to design and develop modern, business-oriented applications using Java EE 8. It shows how to structure systems and applications, and how design patterns and Domain Driven Design aspects are realized in the age of Java EE 8. You will learn about the concepts and principles behind Java EE applications, and how to effect communication, persistence, technical and cross-cutting concerns, and asynchronous behavior. This book covers Continuous Delivery, DevOps, infrastructure-as-code, containers, container orchestration technologies, such as Docker and Kubernetes, and why and especially how Java EE fits into this world. It also covers the requirements behind containerized, zero-dependency applications and how modern Java EE application servers support these approaches. You will also learn about automated, fast, and reliable software tests, in different test levels, scopes, and test technologies. This book covers the prerequisites and challenges of distributed systems that lead to microservice, shared-nothing architectures. The challenges and solutions of consistency versus scalability will further lead us to event sourcing, event-driven architectures, and the CQRS principle. This book also includes the nuts and bolts of application performance as well as how to realize resilience, logging, monitoring and tracing in a modern enterprise world. Last but not least the demands of securing enterprise systems are covered. By the end, you will understand the ins and outs of Java EE so that you can make critical design decisions that not only live up to, but also surpass your clients' expectations. Style and approach This book focuses on solving business problems and meeting customer demands in the enterprise world. It covers how to create enterprise applications with reasonable technology choices, free of cargo-cult and over-engineering. The aspects shown in this book not only demonstrate how to realize a certain solution, but also explain its motivations and reasoning.
Augmented Reality for Developers
Augmented Reality for Developers
Jonathan Linowes;Krystian Babilinski
¥90.46
Build exciting AR applications on mobile and wearable devices with Unity 3D, Vuforia, ARToolKit, Microsoft Mixed Reality HoloLens, Apple ARKit, and Google ARCore About This Book ? Create unique AR applications from scratch, from beginning to end, with step-by-step tutorials ? Use Unity 3D to efficiently create AR apps for Android, iOS, and Windows platforms ? Use Vuforia, ARTookKit, Windows Mixed Reality, and Apple ARKit to build AR projects for a variety of markets ? Learn best practices in AR user experience, software design patterns, and 3D graphics Who This Book Is For The ideal target audience for this book is developers who have some experience in mobile development, either Android or iOS. Some broad web development experience would also be beneficial. What You Will Learn ? Build Augmented Reality applications through a step-by-step, tutorial-style project approach ? Use the Unity 3D game engine with the Vuforia AR platform, open source ARToolKit, Microsoft's Mixed Reality Toolkit, Apple ARKit, and Google ARCore, via the C# programming language ? Implement practical demo applications of AR including education, games, business marketing, and industrial training ? Employ a variety of AR recognition modes, including target images, markers, objects, and spatial mapping ? Target a variety of AR devices including phones, tablets, and wearable smartglasses, for Android, iOS, and Windows HoloLens ? Develop expertise with Unity 3D graphics, UIs, physics, and event systems ? Explore and utilize AR best practices and software design patterns In Detail Augmented Reality brings with it a set of challenges that are unseen and unheard of for traditional web and mobile developers. This book is your gateway to Augmented Reality development—not a theoretical showpiece for your bookshelf, but a handbook you will keep by your desk while coding and architecting your first AR app and for years to come. The book opens with an introduction to Augmented Reality, including markets, technologies, and development tools. You will begin by setting up your development machine for Android, iOS, and Windows development, learning the basics of using Unity and the Vuforia AR platform as well as the open source ARToolKit and Microsoft Mixed Reality Toolkit. You will also receive an introduction to Apple's ARKit and Google's ARCore! You will then focus on building AR applications, exploring a variety of recognition targeting methods. You will go through multiple complete projects illustrating key market sectors including business marketing, education, industrial training, and gaming. By the end of the book, you will have gained the necessary knowledge to make quality content appropriate for a range of AR devices, platforms, and intended uses. Style and approach This book adopts a practical, step-by-step, tutorial-style approach. The design principles and methodology will be explained by creating different modules of the AR app.
Mastering Linux Kernel Development
Mastering Linux Kernel Development
Raghu Bharadwaj
¥90.46
Explore Implementation of core kernel subsystems About This Book ? Master the design, components, and structures of core kernel subsystems ? Explore kernel programming interfaces and related algorithms under the hood ? Completely updated material for the 4.12.10 kernel Who This Book Is For If you are a kernel programmer with a knowledge of kernel APIs and are looking to build a comprehensive understanding, and eager to explore the implementation, of kernel subsystems, this book is for you. It sets out to unravel the underlying details of kernel APIs and data structures, piercing through the complex kernel layers and gives you the edge you need to take your skills to the next level. What You Will Learn ? Comprehend processes and fles—the core abstraction mechanisms of the Linux kernel that promote effective simplification and dynamism ? Decipher process scheduling and understand effective capacity utilization under general and real-time dispositions ? Simplify and learn more about process communication techniques through signals and IPC mechanisms ? Capture the rudiments of memory by grasping the key concepts and principles of physical and virtual memory management ? Take a sharp and precise look at all the key aspects of interrupt management and the clock subsystem ? Understand concurrent execution on SMP platforms through kernel synchronization and locking techniques In Detail Mastering Linux Kernel Development looks at the Linux kernel, its internal arrangement and design, and various core subsystems, helping you to gain significant understanding of this open source marvel. You will look at how the Linux kernel, which possesses a kind of collective intelligence thanks to its scores of contributors, remains so elegant owing to its great design. This book also looks at all the key kernel code, core data structures, functions, and macros, giving you a comprehensive foundation of the implementation details of the kernel’s core services and mechanisms. You will also look at the Linux kernel as well-designed software, which gives us insights into software design in general that are easily scalable yet fundamentally strong and safe. By the end of this book, you will have considerable understanding of and appreciation for the Linux kernel. Style and approach Each chapter begins with the basic conceptual know-how for a subsystem and extends into the details of its implementation. We use appropriate code excerpts of critical routines and data structures for subsystems.
Learning Ceph - Second Edition
Learning Ceph - Second Edition
Anthony D'Atri,Vaibhav Bhembre,Karan Singh
¥90.46
Implement and manage your software-defined, massively scalable storage system About This Book ? Explore Ceph's architecture in order to achieve scalability and high availability ? Learn to utilize Ceph efficiently with the help of practical examples ? Successfully implement Ceph clusters to scale-out storage solutions along with outstanding data protection Who This Book Is For A basic knowledge of GNU/Linux, and storage systems, and server components is assumed. If you have no experience of software-defined storage solutions and Ceph, but are eager to learn about them, this is the book for you. What You Will Learn ? The limitations of existing systems and why you should use Ceph as a storage solution ? Familiarity with Ceph's architecture, components, and services ? Instant deployment and testing of Ceph within a Vagrant and VirtualBox environment ? Ceph operations including maintenance, monitoring, and troubleshooting ? Storage provisioning of Ceph's block, object, and filesystem services ? Integrate Ceph with OpenStack ? Advanced topics including erasure coding, CRUSH maps, and performance tuning ? Best practices for your Ceph clusters In Detail Learning Ceph, Second Edition will give you all the skills you need to plan, deploy, and effectively manage your Ceph cluster. You will begin with the first module, where you will be introduced to Ceph use cases, its architecture, and core projects. In the next module, you will learn to set up a test cluster, using Ceph clusters and hardware selection. After you have learned to use Ceph clusters, the next module will teach you how to monitor cluster health, improve performance, and troubleshoot any issues that arise. In the last module, you will learn to integrate Ceph with other tools such as OpenStack, Glance, Manila, Swift, and Cinder. By the end of the book you will have learned to use Ceph effectively for your data storage requirements. Style and approach This step-by-step guide, including use cases and examples, not only helps you to easily use Ceph but also demonstrates how you can use it to solve any of your server or drive storage issues.
Kali Linux - An Ethical Hacker's Cookbook
Kali Linux - An Ethical Hacker's Cookbook
Himanshu Sharma
¥80.65
Over 120 recipes to perform advanced penetration testing with Kali Linux About This Book ? Practical recipes to conduct effective penetration testing using the powerful Kali Linux ? Leverage tools like Metasploit, Wireshark, Nmap, and many more to detect vulnerabilities with ease ? Confidently perform networking and application attacks using task-oriented recipes Who This Book Is For This book is aimed at IT security professionals, pentesters, and security analysts who have basic knowledge of Kali Linux and want to conduct advanced penetration testing techniques. What You Will Learn ? Installing, setting up and customizing Kali for pentesting on multiple platforms ? Pentesting routers and embedded devices ? Bug hunting 2017 ? Pwning and escalating through corporate network ? Buffer over?ows 101 ? Auditing wireless networks ? Fiddling around with software-defned radio ? Hacking on the run with NetHunter ? Writing good quality reports In Detail With the current rate of hacking, it is very important to pentest your environment in order to ensure advanced-level security. This book is packed with practical recipes that will quickly get you started with Kali Linux (version 2016.2) according to your needs, and move on to core functionalities. This book will start with the installation and configuration of Kali Linux so that you can perform your tests. You will learn how to plan attack strategies and perform web application exploitation using tools such as Burp, and Jexboss. You will also learn how to perform network exploitation using Metasploit, Sparta, and Wireshark. Next, you will perform wireless and password attacks using tools such as Patator, John the Ripper, and airo*-ng. Lastly, you will learn how to create an optimum quality pentest report! By the end of this book, you will know how to conduct advanced penetration testing thanks to the book’s crisp and task-oriented recipes. Style and approach This is a recipe-based book that allows you to venture into some of the most cutting-edge practices and techniques to perform penetration testing with Kali Linux.
Jupyter for Data Science
Jupyter for Data Science
Dan Toomey
¥71.93
Your one-stop guide to building an efficient data science pipeline using Jupyter About This Book ? Get the most out of your Jupyter notebook to complete the trickiest of tasks in Data Science ? Learn all the tasks in the data science pipeline—from data acquisition to visualization—and implement them using Jupyter ? Get ahead of the curve by mastering all the applications of Jupyter for data science with this unique and intuitive guide Who This Book Is For This book targets students and professionals who wish to master the use of Jupyter to perform a variety of data science tasks. Some programming experience with R or Python, and some basic understanding of Jupyter, is all you need to get started with this book. What You Will Learn ? Understand why Jupyter notebooks are a perfect fit for your data science tasks ? Perform scientific computing and data analysis tasks with Jupyter ? Interpret and explore different kinds of data visually with charts, histograms, and more ? Extend SQL's capabilities with Jupyter notebooks ? Combine the power of R and Python 3 with Jupyter to create dynamic notebooks ? Create interactive dashboards and dynamic presentations ? Master the best coding practices and deploy your Jupyter notebooks efficiently In Detail Jupyter Notebook is a web-based environment that enables interactive computing in notebook documents. It allows you to create documents that contain live code, equations, and visualizations. This book is a comprehensive guide to getting started with data science using the popular Jupyter notebook. If you are familiar with Jupyter notebook and want to learn how to use its capabilities to perform various data science tasks, this is the book for you! From data exploration to visualization, this book will take you through every step of the way in implementing an effective data science pipeline using Jupyter. You will also see how you can utilize Jupyter's features to share your documents and codes with your colleagues. The book also explains how Python 3, R, and Julia can be integrated with Jupyter for various data science tasks. By the end of this book, you will comfortably leverage the power of Jupyter to perform various tasks in data science successfully. Style and approach This book is a perfect blend of concepts and practical examples, written in a way that is very easy to understand and implement. It follows a logical flow where you will be able to build on your understanding of the different Jupyter features with every chapter.
Linux Device Drivers Development
Linux Device Drivers Development
John Madieu
¥80.65
Learn to develop customized device drivers for your embedded Linux system About This Book ? Learn to develop customized Linux device drivers ? Learn the core concepts of device drivers such as memory management, kernel caching, advanced IRQ management, and so on. ? Practical experience on the embedded side of Linux Who This Book Is For This book will help anyone who wants to get started with developing their own Linux device drivers for embedded systems. Embedded Linux users will benefit highly from this book. This book covers all about device driver development, from char drivers to network device drivers to memory management. What You Will Learn ? Use kernel facilities to develop powerful drivers ? Develop drivers for widely used I2C and SPI devices and use the regmap API ? Write and support devicetree from within your drivers ? Program advanced drivers for network and frame buffer devices ? Delve into the Linux irqdomain API and write interrupt controller drivers ? Enhance your skills with regulator and PWM frameworks ? Develop measurement system drivers with IIO framework ? Get the best from memory management and the DMA subsystem ? Access and manage GPIO subsystems and develop GPIO controller drivers In Detail Linux kernel is a complex, portable, modular and widely used piece of software, running on around 80% of servers and embedded systems in more than half of devices throughout the World. Device drivers play a critical role in how well a Linux system performs. As Linux has turned out to be one of the most popular operating systems used, the interest in developing proprietary device drivers is also increasing steadily. This book will initially help you understand the basics of drivers as well as prepare for the long journey through the Linux Kernel. This book then covers drivers development based on various Linux subsystems such as memory management, PWM, RTC, IIO, IRQ management, and so on. The book also offers a practical approach on direct memory access and network device drivers. By the end of this book, you will be comfortable with the concept of device driver development and will be in a position to write any device driver from scratch using the latest kernel version (v4.13 at the time of writing this book). Style and approach A set of engaging examples to develop Linux device drivers
GeoServer Beginner's Guide - Second Edition
GeoServer Beginner's Guide - Second Edition
Stefano Iacovella
¥90.46
This step-by-step guide will teach you how to use GeoServer to build custom and interactive maps using your data. About This Book ? Exploit the power of GeoServer to provide agile, flexible, and low -cost community projects ? Share real-time maps quickly ? Boost your map server's performance using the power and flexibility of GeoServer Who This Book Is For If you are a web developer with knowledge of server side *ing, have experience in installing applications on the server, and want to go beyond Google Maps by offering dynamically built maps on your site with your latest geospatial data stored in MySQL, PostGIS, MySQL, or Oracle, this is the book for you. What You Will Learn ? Install GeoServer quickly ? Access dynamic real-time geospatial data that you can easily integrate into your own web-based application ? Create custom styles for lines, points, and polygons for great-looking maps ? Command GeoServer remotely using REST ? Tune your GeoServer instance for performance ? Move GeoServer into production ? Learn advanced topics to extend GeoServer's capabilities In Detail GeoServer is an opensource server written in Java that allows users to share, process, and edit geospatial data. This book will guide you through the new features and improvements of GeoServer and will help you get started with it. GeoServer Beginner's Guide gives you the impetus to build custom maps using your data without the need for costly commercial software licenses and restrictions. Even if you do not have prior GIS knowledge, you will be able to make interactive maps after reading this book. You will install GeoServer, access your data from a database, and apply style points, lines, polygons, and labels to impress site visitors with real-time maps. Then you follow a step-by-step guide that installs GeoServer in minutes. You will explore the web-based administrative interface to connect to backend data stores such as PostGIS, and Oracle. Going ahead, you can display your data on web-based interactive maps, use style lines, points, polygons, and embed images to visualize this data for your web visitors. You will walk away from this book with a working application ready for production. After reading GeoServer Beginner's Guide, you will be able to build beautiful custom maps on your website using your geospatial data. Style and approach Step-by-step instructions are included and the needs of a beginner are totally satisfied by the book. The book consists of plenty of examples with accompanying screenshots and code for an easy learning curve.
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.
Learning Android Game Development
Learning Android Game Development
Nikhil Malankar
¥63.21
Learn the art of making Android games and turn your game development dreams into reality About This Book ? Leverage the latest features of Android N to create real-world 2D games ? Architect a 2D game from scratch and level up your Android game development skill ? Transition from developing simple 2D games to 3D games using basic Java code Who This Book Is For If you are a mobile developer who has basic Java programming knowledge, then this book is ideal for you. Previous Android development experience is not needed; however, basic mobile development knowledge is essential. What You Will Learn ? Understand the nuts and bolts of developing highly interactive and interesting games for Android N ? Link the interface to the code used in games through simple methods ? Interact with the images on the screen and also learn to animate them ? Set and save the game state and save high scores, hit points, and so on for your games ? Get a grasp of various collision techniques and implement the bounding box technique ? Convert your 2D games to 3D games using Android N ? Get an understanding of the process of UI creation using Android Studio In Detail In this book, we’ll start with installing Android studio and its components, and setting it up ready for Android N. We teach you how to take inputs from users, create images and interact with them, and work with sprites to create animations. You’ll then explore the various collision detection methods and use sprites to create an explosion. Moving on, you’ll go through the process of UI creation and see how to create buttons as well as display the score and other parameters on screen. By the end of the book, you will have a working example and an understanding of a 2D platform game like Super Mario and know how to convert your 2D games to 3D games. Style and approach This easy-to-understand guide follows a step-by-step approach to building games, and contains plenty of graphical examples for you to follow and grasp quickly, giving you the chance to implement the concepts practically.
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.
Mastering PostgreSQL 9.6
Mastering PostgreSQL 9.6
Hans-Jurgen Schonig
¥99.18
Master the capabilities of PostgreSQL 9.6 to efficiently manage and maintain your database About This Book ? Your one-stop guide to mastering the advanced concepts in PostgreSQL with ease ? Master query optimization, replication, and high availability with PostgreSQL ? Extend the functionalities of PostgreSQL to suit your organizational needs with minimum effort Who This Book Is For If you are a PostgreSQL data architect or an administrator who wants to understand how to implement advanced functionalities and master complex administrative tasks with PostgreSQL, then this book is perfect for you. Prior experience of administrating a PostgreSQL database and a working knowledge of SQL is required to make the best use of this book. What You Will Learn ? Get to grips with the advanced features of PostgreSQL 9.6 and handle advanced SQL ? Make use of the indexing features in PostgreSQL and fine-tune the performance of your queries ? Work with the stored procedures and manage backup and recovery ? Master the replication and failover techniques ? Troubleshoot your PostgreSQL instance for solutions to the common and not-so-common problems ? Learn how to migrate your database from MySQL and Oracle to PostgreSQL without any hassle In Detail PostgreSQL is an open source database used for handling large datasets (Big Data) and as a JSON document database. It also has applications in the software and web domains. This book will enable you to build better PostgreSQL applications and administer databases more efficiently. We begin by explaining the advanced database design concepts in PostgreSQL 9.6, along with indexing and query optimization. You will also see how to work with event triggers and perform concurrent transactions and table partitioning, along with exploring SQL and server tuning. We will walk you through implementing advanced administrative tasks such as server maintenance and monitoring, replication, recovery and high availability, and much more. You will understand the common and not-so-common troubleshooting problems and how you can overcome them. By the end of this book, you will have an expert-level command of the advanced database functionalities and will be able to implement advanced administrative tasks with PostgreSQL. Style and Approach This book is a comprehensive guide covering all the concepts you need to master PostgreSQL. Packed with hands-on examples, tips and tricks, even the most advanced concepts are explained in a very easy-to-follow manner. Every chapter in the book does not only focus on how each task is performed, but also why.
DevOps Bootcamp
DevOps Bootcamp
Mitesh Soni
¥71.93
Sharpen your DevOps knowledge with DevOps Bootcamp About This Book ? Improve your organization's performance to ensure smooth production of software and services. ? Learn how Continuous Integration and Continuous Delivery practices can be utilized to cultivate the DevOps culture. ? A fast-paced guide filled with illustrations and best practices to help you consistently ship quality software. Who This Book Is For The book is aimed at IT Developers and Operations—administrators who want to quickly learn and implement the DevOps culture in their organization. What You Will Learn ? Static Code Analysis using SOnarqube ? Configure a Maven-based JEE Web Application ? Perform Continuous Integration using Jenkins and VSTS ? Install and configure Docker ? Converge a Chef node using a Chef workstation ? Accomplish Continuous Delivery in Microsoft Azure VM and Microsoft Azure App Services (Azure Web Apps) using Jenkins ? Perform Load Testing using Apache JMeter ? Build and Release Automation using Visual Studio Team Services ? Monitor Cloud-based resources In Detail DevOps Bootcamp delivers practical learning modules in manageable chunks. Each chunk is delivered in a day, and each day is a productive one. Each day builds your competency in DevOps. You will be able to take the task you learn every day and apply it to cultivate the DevOps culture. Each chapter presents core concepts and key takeaways about a topic in DevOps and provides a series of hands-on exercises. You will not only learn the importance of basic concepts or practices of DevOps but also how to use different tools to automate application lifecycle management. We will start off by building the foundation of the DevOps concepts. On day two, we will perform Continuous Integration using Jenkins and VSTS both by configuring Maven-based JEE Web Application?. We will also integrate Jenkins and Sonar qube for Static Code Analysis. Further, on day three, we will focus on Docker containers where we will install and configure Docker and also create a Tomcat Container to deploy our Java based web application. On day four, we will create and configure the environment for application deployment in AWS and Microsoft Azure Cloud for which we will use Infrastructure as a Service and Open Source Configuration Management tool Chef. For day five, our focus would be on Continuous Delivery. We will automate application deployment in Docker container using Jenkins Plugin, AWS EC2 using Script, AWS Elastic Beanstalk using Jenkins Plugin, Microsoft Azure VM using *, and Microsoft Azure App Services Using Jenkins. We will also configure Continuous Delivery using VSTS. We will then learn the concept of Automated Testing on day six using Apache JMeter and URL-based tests in VSTS. Further, on day seven, we will explore various ways to automate application lifecycle management using orchestration. We will see how Pipeline can be created in Jenkins and VSTS, so the moment Continuous? Integration is completed successfully, Continuous Delivery will start and application will be deployed. On the final day, our focus would be on Security access to Jenkins and Monitoring of CI resources, and cloud-based resources in AWS and Microsoft Azure Platform as a Service. Style and Approach This book is all about fast and intensive learning. This means we don’t waste time in helping readers get started. The new content is basically about filling in with highly-effective examples to build new things, solving problems in newer and unseen ways, and solving real-world examples.
Working with Linux – Quick Hacks for the Command Line
Working with Linux – Quick Hacks for the Command Line
Petru Ișfan,Bogdan Vaida
¥71.93
Say goodbye to unproductive Linux habits and switch to the express lane About This Book ? Improve your terminal and command-line productivity by using powerful tools ? Sharpen your existing command-line skills and achieve complex tasks faster ? Save time and money by creating customized commands that automate day-to-day tasks Who This Book Is For This book is for system administrators and developers who know the basics of Linux and want to brush up and sharpen their skills. Prior experience with Linux shell is required. What You Will Learn ? Optimize the power of Guake by integrating it with ClipIt ? Deep dive into the workings of the console editor—Vim ? Explore the advanced concepts and best practices of shell *ing ? Edit large amounts of data quickly using Sed ? Use pipes and subshells to create customized commands ? Get to know how you can speed up the software development and make the terminal a handy companion In Detail Websites, online services, databases, and pretty much every other computer that offers public services runs on Linux. From small servers to clusters, Linux is anywhere and everywhere. With such a broad usage, the demand for Linux specialists is ever growing. For the engineers out there, this means being able to develop, interconnect, and maintain Linux environments. This book will help you increase your terminal productivity by using Terminator, Guake and other tools. It will start by installing Ubuntu and will explore tools and techniques that will help you to achieve more work with less effort. Next, it will then focus on Terminator, the ultimate terminal, and vim, one of the most intelligent console editors. Futhermore, the readers will see how they can increase their command line productivity by using sed, find, tmux, network, autoenv. The readers will also see how they can edit files without leaving the terminal and use the screen space efficiently and copy-paste like a pro. Towards the end, we focus on network settings, Git hacks, and creating portable environments for development and production using Docker. Through this book, you will improve your terminal productivity by seeing how to use different tools. Style and Approach This book takes a step-by-step approach using examples that show you how to automate tasks using terminal commands. You’ll work through easy-to-follow instructions so you learn to use the various Linux commands and tools such as Terminator, Guake, and others.
Wordpress Web Application Development - Third Edition
Wordpress Web Application Development - Third Edition
Rakhitha Nimesh Ratnayake
¥90.46
Learn in easy stages how to rapidly build leading-edge web applications from scratch. About This Book ? Develop powerful web applications rapidly with WordPress ? Explore the significant features and improvements introduced in WordPress 4.7 by learning the numerous tips and techniques in this book. ? Unleash the power of REST API endpoints to make your interaction with websites new and innovative. Who This Book Is For This book is targeted at WordPress developers and designers who want to develop quality web applications within a limited time frame and maximize their profits. A prior knowledge of basic web development and design is assumed. What You Will Learn ? Develop extendable plugins with the use of WordPress features in core modules ? Develop pluggable modules to extend the core features of WordPress as independent modules ? Manage permissions for a wide range of content types in web applications based on different user types ? Follow WordPress coding standards to develop reusable and maintainable code ? Build and customize themes beyond conventional web layouts ? Explore the power of core database tables and understand the limitations when designing database tables for large applications ? Integrate open source modules into WordPress applications to keep up with the latest open source technologies ? Customize the WordPress admin section and themes to create the look and feel of a typical web application In Detail WordPress is one of the most rapidly expanding markets on the Web. Learning how to build complex and scalable web applications will give you the ability and knowledge to step into the future of WordPress. WordPress 4.7 introduces some exciting new improvements and several bug fixes, which further improve the entire development process.This book is a practical, scenario-based guide to expanding the power of the WordPress core modules to develop modular and maintainable real-world applications from scratch. This book consistently emphasizes adapting WordPress features into web applications. It will walk you through the advanced usages of existing features such as access controlling; database handling; custom post types; pluggable plugins; content restrictions; routing; translation; caching; and many more, while you build the backend of a forum management application. This book begins by explaining how to plan the development of a web application using WordPress' core features. Once the core features are explained, you will learn how to build an application by extending them through custom plugin development. Finally, you will explore advanced non-functional features and application integration. After reading this book, you will have the ability to develop powerful web applications rapidly within limited time frames. Style and approach An extensive, practical guide that explains how to adapt WordPress features, both conventional and trending, for web applications.
Mastering the C++17 STL
Mastering the C++17 STL
Arthur O'Dwyer
¥80.65
This book breaks down the C++ STL, teaching you how to extract its gems and apply them to your programming. About This Book ? Boost your productivity as a C++ developer with the latest features of C++17 ? Develop high-quality, fast, and portable applications with the varied features of the STL ? Migrate from older versions (C++11, C++14) to C++17 Who This Book Is For This book is for developers who would like to master the C++ STL and make full use of its components. Prior C++ knowledge is assumed. What You Will Learn ? Make your own iterator types, allocators, and thread pools. ? Master every standard container and every standard algorithm. ? Improve your code by replacing new/delete with smart pointers. ? Understand the difference between monomorphic algorithms, polymorphic algorithms, and generic algorithms. ? Learn the meaning and applications of vocabulary type, product type and sum type. In Detail Modern C++ has come a long way since 2011. The latest update, C++17, has just been ratified and several implementations are on the way. This book is your guide to the C++ standard library, including the very latest C++17 features. The book starts by exploring the C++ Standard Template Library in depth. You will learn the key differences between classical polymorphism and generic programming, the foundation of the STL. You will also learn how to use the various algorithms and containers in the STL to suit your programming needs. The next module delves into the tools of modern C++. Here you will learn about algebraic types such as std::optional, vocabulary types such as std::function, smart pointers, and synchronization primitives such as std::atomic and std::mutex. In the final module, you will learn about C++'s support for regular expressions and file I/O. By the end of the book you will be proficient in using the C++17 standard library to implement real programs, and you'll have gained a solid understanding of the library's own internals. Style and approach This book takes a concise but comprehensive approach to explaining and applying the C++ STL, one feature at a time.
Practical Time Series Analysis
Practical Time Series Analysis
Dr. Avishek Pal;Dr. PKS Prakash
¥80.65
Step by Step guide filled with real world practical examples. About This Book ? Get your first experience with data analysis with one of the most powerful types of analysis—time-series. ? Find patterns in your data and predict the future pattern based on historical data. ? Learn the statistics, theory, and implementation of Time-series methods using this example-rich guide Who This Book Is For This book is for anyone who wants to analyze data over time and/or frequency. A statistical background is necessary to quickly learn the analysis methods. What You Will Learn ? Understand the basic concepts of Time Series Analysis and appreciate its importance for the success of a data science project ? Develop an understanding of loading, exploring, and visualizing time-series data ? Explore auto-correlation and gain knowledge of statistical techniques to deal with non-stationarity time series ? Take advantage of exponential smoothing to tackle noise in time series data ? Learn how to use auto-regressive models to make predictions using time-series data ? Build predictive models on time series using techniques based on auto-regressive moving averages ? Discover recent advancements in deep learning to build accurate forecasting models for time series ? Gain familiarity with the basics of Python as a powerful yet simple to write programming language In Detail Time Series Analysis allows us to analyze data which is generated over a period of time and has sequential interdependencies between the observations. This book describes special mathematical tricks and techniques which are geared towards exploring the internal structures of time series data and generating powerful de*ive and predictive insights. Also, the book is full of real-life examples of time series and their analyses using cutting-edge solutions developed in Python. The book starts with de*ive analysis to create insightful visualizations of internal structures such as trend, seasonality and autocorrelation. Next, the statistical methods of dealing with autocorrelation and non-stationary time series are described. This is followed by exponential smoothing to produce meaningful insights from noisy time series data. At this point, we shift focus towards predictive analysis and introduce autoregressive models such as ARMA and ARIMA for time series forecasting. Later, powerful deep learning methods are presented, to develop accurate forecasting models for complex time series, and under the availability of little domain knowledge. All the topics are illustrated with real-life problem scenarios and their solutions by best-practice implementations in Python. The book concludes with the Appendix, with a brief discussion of programming and solving data science problems using Python. Style and approach This book takes the readers from the basic to advance level of Time series analysis in a very practical and real world use cases.
Practical Real-time Data Processing and Analytics
Practical Real-time Data Processing and Analytics
Shilpi Saxena;Saurabh Gupta
¥90.46
A practical guide to help you tackle different real-time data processing and analytics problems using the best tools for each scenario About This Book ? Learn about the various challenges in real-time data processing and use the right tools to overcome them ? This book covers popular tools and frameworks such as Spark, Flink, and Apache Storm to solve all your distributed processing problems ? A practical guide filled with examples, tips, and tricks to help you perform efficient Big Data processing in real-time Who This Book Is For If you are a Java developer who would like to be equipped with all the tools required to devise an end-to-end practical solution on real-time data streaming, then this book is for you. Basic knowledge of real-time processing would be helpful, and knowing the fundamentals of Maven, Shell, and Eclipse would be great. What You Will Learn ? Get an introduction to the established real-time stack ? Understand the key integration of all the components ? Get a thorough understanding of the basic building blocks for real-time solution designing ? Garnish the search and visualization aspects for your real-time solution ? Get conceptually and practically acquainted with real-time analytics ? Be well equipped to apply the knowledge and create your own solutions In Detail With the rise of Big Data, there is an increasing need to process large amounts of data continuously, with a shorter turnaround time. Real-time data processing involves continuous input, processing and output of data, with the condition that the time required for processing is as short as possible. This book covers the majority of the existing and evolving open source technology stack for real-time processing and analytics. You will get to know about all the real-time solution aspects, from the source to the presentation to persistence. Through this practical book, you’ll be equipped with a clear understanding of how to solve challenges on your own. We’ll cover topics such as how to set up components, basic executions, integrations, advanced use cases, alerts, and monitoring. You’ll be exposed to the popular tools used in real-time processing today such as Apache Spark, Apache Flink, and Storm. Finally, you will put your knowledge to practical use by implementing all of the techniques in the form of a practical, real-world use case. By the end of this book, you will have a solid understanding of all the aspects of real-time data processing and analytics, and will know how to deploy the solutions in production environments in the best possible manner. Style and Approach In this practical guide to real-time analytics, each chapter begins with a basic high-level concept of the topic, followed by a practical, hands-on implementation of each concept, where you can see the working and execution of it. The book is written in a DIY style, with plenty of practical use cases, well-explained code examples, and relevant screenshots and diagrams.
Mastering Immutable.js
Mastering Immutable.js
Adam Boduch
¥71.93
This book shows JavaScript developers how to build highly dependable JavaScript projects using the Immutable.js framework. About This Book ? Master the Immutable.js JavaScript framework ? Build predictable and dependable applications using immutability ? Control how data flows through your application ? Control the effects of data flow in your user interface using Node.js Who This Book Is For This book is for JavaScript developers, from intermediate level and beyond, who need to create dependable JavaScript projects, using the Immutable.js JavaScript framework. What You Will Learn ? Learn how Immutable.js can improve the dependability of your JavaScript code ? Discover how to create Immutable data, and work with persistent changes ? See how to combine and filter collections, and find items ? Learn how to work with sequences and side effects ? Sort collections, maps, and sets ? Get to know tricks to avoid processing chains ? Compare and move between lists, sets, and maps ? Work with Immutable patterns and Immutable architecture In Detail Immutable.js is a JavaScript library that will improve the robustness and dependability of your larger JavaScript projects. All aspects of the Immutable.js framework are covered in this book, and common JavaScript situations are examined in a hands-on way so that you gain practical experience using Immutable.js that you can apply across your own JavaScript projects. The key to building robust JavaScript applications using immutability is to control how data flows through your application, and how the side-effects of these flows are managed. Many problems that are difficult to pinpoint in large codebases stem from data that’s been mutated where it shouldn’t have been. With immutable data, you rule out an entire class of bugs. Mastering Immutable.js takes a practical, hands-on approach throughout, and shows you the ins and outs of the Immutable.js framework so that you can confidently build successful and dependable JavaScript projects. Style and Approach Adam Boduch covers all the key concepts and benefits of immutability, and then presents you with hands-on practical experience on implementing immutability in your JavaScript projects.