Publisher: Packt Publishing
Founded in 2004 in Birmingham, UK, Packt's mission is to help the world put software to work in new ways, through the delivery of effective learning and information services to IT professionals. Working towards that vision, we have published over 6,500 books and videos so far, providing IT professionals with the actionable knowledge they need to get the job done - whether that's specific learning on an emerging technology or optimizing key skills in more established tools. As part of our mission, we have also awarded over $1,000,000 through our Open Source Project Royalty scheme, helping numerous projects become household names along the way.
977
Ebook

Understanding Software. Max Kanat-Alexander on simplicity, coding, and how to suck less as a programmer

Max Kanat-Alexander

In Understanding Software, Max Kanat-Alexander, Technical Lead for Code Health at Google, shows you how to bring simplicity back to computer programming. Max explains to you why programmers suck, and how to suck less as a programmer. There’s just too much complex stuff in the world. Complex stuff can’t be used, and it breaks too easily. Complexity is stupid. Simplicity is smart.Understanding Software covers many areas of programming, from how to write simple code to profound insights into programming, and then how to suck less at what you do! You'll discover the problems with software complexity, the root of its causes, and how to use simplicity to create great software. You'll examine debugging like you've never done before, and how to get a handle on being happy while working in teams.Max brings a selection of carefully crafted essays, thoughts, and advice about working and succeeding in the software industry, from his legendary blog Code Simplicity. Max has crafted forty-three essays which have the power to help you avoid complexity and embrace simplicity, so you can be a happier and more successful developer.Max's technical knowledge, insight, and kindness, has earned him code guru status, and his ideas will inspire you and help refresh your approach to the challenges of being a developer.

978
Ebook

Mastering Java EE Development with WildFly. Create Enterprise-grade Java applications with WildFly

Luca Stancapiano

Packed with rich assets and APIs, Wildfly 10 allows you to create state-of-the-art Java applications. This book will help you take your understanding of Java EE to the next level by creating distributed Java applications using Wildfly.The book begins by showing how to get started with a native installation of WildFly and it ends with a cloud installation. After setting up the development environment, you will implement and work with different WildFly features, such as implementing JavaServer Pages. You will also learn how you can use clustering so that your apps can handle a high volume of data traffic. You will also work with enterprise JavaBeans, solve issues related to failover, and implement Java Message Service integration. Moving ahead, you will be working with Java Naming and Directory Interface, Java Transaction API, and use ActiveMQ for message relay and message querying. This book will also show you how you can use your existing backend JavaScript code in your application.By the end of the book, you’ll have gained the knowledge to implement the latest Wildfly features in your Java applications.

979
Ebook

From Voices to Results - Voice of Customer Questions, Tools and Analysis. Proven techniques for understanding and engaging with your customers

Robert Coppenhaver

Voice of Customer (VoC) is one of the most popular forms of market research that combines both quantitative and qualitative methods. This book is about developing a deeper knowledge of your customers and understanding their articulated and unarticulated needs. Doing so requires engaging with customers in a meaningful and substantive way – something that is becoming more and more important with the rise of the increasingly connected world.This book gives you a framework to understand what products and features your customers need, or will need in the future. It provides the tools to conduct a VoC program and suggests how to take the customer input and turn it into successful products. This book also explains how to position and price your products in the market, and demonstrates ROI to the management team to get your product development funded.By the end of this book, you will have a thorough understanding of the relevant stages of a VoC project. It will show you how to devise an effective plan, direct the project to their objectives, and then how to collect the voice of the customer, with examples and templates for interviewing and surveying them.

980
Ebook

Architecting the Industrial Internet. The architect's guide to designing Industrial Internet solutions

Robert Stackowiak, Shyam Varan Nath, Carla Romano

The Industrial Internet or the IIoT has gained a lot of traction. Many leading companies are driving this revolution by connecting smart edge devices to cloud-based analysis platforms and solving their business challenges in new ways. To ensure a smooth integration of such machines and devices, sound architecture strategies based on accepted principles, best practices, and lessons learned must be applied.This book begins by providing a bird's eye view of what the IIoT is and how the industrial revolution has evolved into embracing this technology. It then describes architectural approaches for success, gathering business requirements, and mapping requirements into functional solutions. In a later chapter, many other potential use cases are introduced including those in manufacturing and specific examples in predictive maintenance, asset tracking and handling, and environmental impact and abatement. The book concludes by exploring evolving technologies that will impact IIoT architecture in the future and discusses possible societal implications of the Industrial Internet and perceptions regarding these projects.By the end of this book, you will be better equipped to embrace the benefits of the burgeoning IIoT.

981
Ebook

Raspberry Pi 3 Projects for Java Programmers. Get the most out of your Raspberry Pi 3 with Java

John Sirach, Rajdeep Chandra, Pradeeka Seneviratne

Raspberry Pi is a small, low cost and yet very powerful development platform. It is used to interact with attached electronics by the use of it's GPIO pins for multiple use cases, mainly Home Automation and Robotics. Our book is a project-based guide that will show you how to utilize the Raspberry Pi's GPIO with Java and how you can leverage this utilization with your knowledge of Java. You will start with installing and setting up the necessary hardware to create a seamless development platform. You will then straightaway start by building a project that will utilize light for presence detection. Next, you will program the application, capable of handling real time data using MQTT and utilize RPC to publish data to adafruit.io. Further, you will build a wireless robot on top of the zuma chassis with the Raspberry Pi as the main controller. Lastly, you will end the book with advanced projects that will help you to create a multi-purpose IoT controller along with building a security camera that will perform image capture and recognize faces with the help of notifications.By the end of the book, you will be able to build your own real world usable projects not limited to Home Automation, IoT and/or Robotics utilizing logic, user and web interfaces.

982
Ebook

Hands-On Dark Web Analysis. Learn what goes on in the Dark Web, and how to work with it

Sion Retzkin

The overall world wide web is divided into three main areas - the Surface Web, the Deep Web, and the Dark Web. The Deep Web and Dark Web are the two areas which are not accessible through standard search engines or browsers. It becomes extremely important for security professionals to have control over these areas to analyze the security of your organization.This book will initially introduce you to the concept of the Deep Web and the Dark Web and their significance in the security sector. Then we will deep dive into installing operating systems and Tor Browser for privacy, security and anonymity while accessing them. During the course of the book, we will also share some best practices which will be useful in using the tools for best effect.By the end of this book, you will have hands-on experience working with the Deep Web and the Dark Web for security analysis

983
Ebook

Rust High Performance. Learn to skyrocket the performance of your Rust applications

Iban Eguia Moraza

This book teaches you how to optimize the performance of your Rust code so that it is at the same level as languages such as C/C++. You'll understand and fi x common pitfalls, learn how to improve your productivity by using metaprogramming, and speed up your code. You will master the features of the language, which will make you stand out, and use them to greatly improve the efficiency of your algorithms. The book begins with an introduction to help you identify bottlenecks when programming in Rust. We highlight common performance pitfalls, along with strategies to detect and resolve these issues early. We move on to mastering Rust's type system, which will enable us to optimize both performance and safety at compile time. You will learn how to effectively manage memory in Rust, mastering the borrow checker. We move on to measuring performance and you will see how this affects the way you write code. Moving forward, you will perform metaprogramming in Rust to boost the performance of your code and your productivity. Finally, you will learn parallel programming in Rust, which enables efficient and faster execution by using multithreading and asynchronous programming.

984
Ebook

Learning Elasticsearch. Structured and unstructured data using distributed real-time search and analytics

Abhishek Andhavarapu

Elasticsearch is a modern, fast, distributed, scalable, fault tolerant, and open source search and analytics engine. You can use Elasticsearch for small or large applications with billions of documents. It is built to scale horizontally and can handle both structured and unstructured data. Packed with easy-to- follow examples, this book will ensure you will have a firm understanding of the basics of Elasticsearch and know how to utilize its capabilities efficiently.You will install and set up Elasticsearch and Kibana, and handle documents using the Distributed Document Store. You will see how to query, search, and index your data, and perform aggregation-based analytics with ease. You will see how to use Kibana to explore and visualize your data. Further on, you will learn to handle document relationships, work with geospatial data, and much more, with this easy-to-follow guide. Finally, you will see how you can set up and scale your Elasticsearch clusters in production environments.

985
Ebook

Learning Pentaho Data Integration 8 CE. An end-to-end guide to exploring, transforming, and integrating your data across multiple sources - Third Edition

María Carina Roldán

Pentaho Data Integration(PDI) is an intuitive and graphical environment packed with drag-and-drop design and powerful Extract-Tranform-Load (ETL) capabilities. This book shows and explains the new interactive features of Spoon, the revamped look and feel, and the newest features of the tool including transformations and jobs Executors and the invaluable Metadata Injection capability.We begin with the installation of PDI software and then move on to cover all the key PDI concepts. Each of the chapter introduces new features, enabling you to gradually get practicing with the tool. First, you will learn to do all kind of data manipulation and work with simple plain files. Then, the book teaches you how you can work with relational databases inside PDI. Moreover, you will be given a primer on data warehouse concepts and you will learn how to load data in a data warehouse. During the course of this book, you will be familiarized with its intuitive, graphical and drag-and-drop design environment.By the end of this book, you will learn everything you need to know in order to meet your data manipulation requirements. Besides, your will be given best practices and advises for designing and deploying your projects.

986
Ebook

Modern C++: Efficient and Scalable Application Development. Leverage the modern features of C++ to overcome difficulties in various stages of application development

Richard Grimes, Marius Bancila

C++ is one of the most widely used programming languages. It is fast, flexible, and used to solve many programming problems.This Learning Path gives you an in-depth and hands-on experience of working with C++, using the latest recipes and understanding most recent developments. You will explore C++ programming constructs by learning about language structures, functions, and classes, which will help you identify the execution flow through code. You will also understand the importance of the C++ standard library as well as memory allocation for writing better and faster programs.Modern C++: Efficient and Scalable Application Development deals with the challenges faced with advanced C++ programming. You will work through advanced topics such as multithreading, networking, concurrency, lambda expressions, and many more recipes.By the end of this Learning Path, you will have all the skills to become a master C++ programmer.This Learning Path includes content from the following Packt products:• Beginning C++ Programming by Richard Grimes• Modern C++ Programming Cookbook by Marius Bancila• The Modern C++ Challenge by Marius Bancila

987
Ebook

Kali Linux Intrusion and Exploitation Cookbook. Powerful recipes to detect vulnerabilities and perform security assessments

Dhruv Shah, Ishan Girdhar

With the increasing threats of breaches and attacks on critical infrastructure, system administrators and architects can use Kali Linux 2.0 to ensure their infrastructure is secure by finding out known vulnerabilities and safeguarding their infrastructure against unknown vulnerabilities.This practical cookbook-style guide contains chapters carefully structured in three phases – information gathering, vulnerability assessment, and penetration testing for the web, and wired and wireless networks. It's an ideal reference guide if you’re looking for a solution to a specific problem or learning how to use a tool. We provide hands-on examples of powerful tools/scripts designed for exploitation.In the final section, we cover various tools you can use during testing, and we help you create in-depth reports to impress management. We provide system engineers with steps to reproduce issues and fix them.

988
Ebook

Building Business Websites with Squarespace 7. Master the Squarespace platform to build professional websites that boost your businesses - Second Edition

Tiffanie Miko Coffey

Squarespace is a web-based tool that allows non-technical people to create and manage professional-looking websites quickly, without needing to write any code. It empowers business owners to take total control of their own websites, without needing to pay someone to design or maintain it.This book covers much more than just how to use Squarespace. It covers all aspects of creating a successful business website, from developing your brand identity, to writing and structuring content to match your target audience's needs, and dozens of other other valuable tips that will help your website shine. Most importantly, you'll learn the correct steps to follow in order to ensure your project is smooth and stress-free.The book starts by helping you plan your website project and gather all the raw materials you'll need. Next, you'll set up your account and become familiar with the terminology and tools that you'll be using. Once you've learned the basics of how the Squarespace interface, templates, and different page types operate, you will create the framework of your website, ready for you to insert content and functionality. Then, once all the core elements are in place, you'll apply the aesthetic fine-tuning needed to bring your website in line with your brand. After the aesthetics have been honed and all functions tested, you will launch your website and drive traffic to it, monitor it, and improve it.

989
Ebook

Go Web Scraping Quick Start Guide. Implement the power of Go to scrape and crawl data from the web

Vincent Smith

Web scraping is the process of extracting information from the web using various tools that perform scraping and crawling. Go is emerging as the language of choice for scraping using a variety of libraries. This book will quickly explain to you, how to scrape data data from various websites using Go libraries such as Colly and Goquery.The book starts with an introduction to the use cases of building a web scraper and the main features of the Go programming language, along with setting up a Go environment. It then moves on to HTTP requests and responses and talks about how Go handles them. You will also learn about a number of basic web scraping etiquettes.You will be taught how to navigate through a website, using a breadth-first and then a depth-first search, as well as find and follow links. You will get to know about the ways to track history in order to avoid loops and to protect your web scraper using proxies.Finally the book will cover the Go concurrency model, and how to run scrapers in parallel, along with large-scale distributed web scraping.

990
Ebook

Machine Learning Fundamentals. Use Python and scikit-learn to get up and running with the hottest developments in machine learning

Hyatt Saleh

As machine learning algorithms become popular, new tools that optimize these algorithms are also developed. Machine Learning Fundamentals explains you how to use the syntax of scikit-learn. You'll study the difference between supervised and unsupervised models, as well as the importance of choosing the appropriate algorithm for each dataset. You'll apply unsupervised clustering algorithms over real-world datasets, to discover patterns and profiles, and explore the process to solve an unsupervised machine learning problem.The focus of the book then shifts to supervised learning algorithms. You'll learn to implement different supervised algorithms and develop neural network structures using the scikit-learn package. You'll also learn how to perform coherent result analysis to improve the performance of the algorithm by tuning hyperparameters.By the end of this book, you will have gain all the skills required to start programming machine learning algorithms.

991
Ebook

UX Design for Mobile. Design apps that deliver impressive mobile experiences

Pablo Perea, Pau Giner

User experience (UX) design provides techniques to analyze the real needs of your users and respond to them with products that are delightful to use. This requires you to think differently compared to traditional development processes, but also to act differently. In this book, you will be introduced to a pragmatic approach to exploring and creating mobile app solutions, reducing risks and saving time during their construction. This book will show you a working process to quickly iterate product ideas with low and high fidelity prototypes, based on professional tools from different software brands. You will be able to quickly test your ideas early in the process with the most adequate prototyping approach. You will understand the pros and cons of each approach, when you should use each of them, and what you can learn in each step of the testing process. You will also explore basic testing approaches and some more advanced techniques to connect and learn from your users. Each chapter will focus on one of the general steps needed to design a successful product according to the organization goals and the user needs. To achieve this, the book will provide detailed hands-on pragmatic techniques to design innovative and easy to use products. You will learn how to test your ideas in the early steps of the design process, picking up the best ideas that truly work with your users, rethinking those that need further refinement, and discarding those that don’t work properly in tests made with real users.By the end of the book, you will learn how to start exploring and testing your design ideas, regardless the size of the design budget.

992
Ebook

Machine Learning for Developers. Uplift your regular applications with the power of statistics, analytics, and machine learning

Rodolfo Bonnin

Most of us have heard about the term Machine Learning, but surprisingly the question frequently asked by developers across the globe is, “How do I get started in Machine Learning?”. One reason could be attributed to the vastness of the subject area because people often get overwhelmed by the abstractness of ML and terms such as regression, supervised learning, probability density function, and so on. This book is a systematic guide teaching you how to implement various Machine Learning techniques and their day-to-day application and development. You will start with the very basics of data and mathematical models in easy-to-follow language that you are familiar with; you will feel at home while implementing the examples. The book will introduce you to various libraries and frameworks used in the world of Machine Learning, and then, without wasting any time, you will get to the point and implement Regression, Clustering, classification, Neural networks, and more with fun examples. As you get to grips with the techniques, you’ll learn to implement those concepts to solve real-world scenarios for ML applications such as image analysis, Natural Language processing, and anomaly detections of time series data. By the end of the book, you will have learned various ML techniques to develop more efficient and intelligent applications.