The Joy of KotlinMaintaining poor legacy code, interpreting cryptic comments, and writing the same boilerplate over and over can suck the joy out of your life as a Java developer. Fear not! There's hope! Kotlin is an elegant JVM language with modern features and easy integration with Java. The Joy of Kotlin teaches you practical techniques to improve abstraction and design, to write comprehensible code, and to build maintainable bug-free applications.
Your programming language should be expressive, safe, flexible, and intuitive, and Kotlin checks all the boxes! This elegant JVM language integrates seamlessly with Java, and makes it a breeze to switch between OO and functional styles of programming. It's also fully supported by Google as a first-class Android language. Master the powerful techniques in this unique book, and you'll be able to take on new challenges with increased confidence and skill.
The Joy of Kotlin teaches you to write comprehensible, easy-to-maintain, safe programs with Kotlin ...
The Java Module SystemJava's much-awaited "Project Jigsaw" is finally here! Java 11 includes a built-in modularity framework, and The Java Module System is your guide to discovering it. In this new book, you'll learn how the module system improves reliability and maintainability, and how it can be used to reduce tight coupling of system components.
Packaging code into neat, well-defined units makes it easier to deliver safe and reliable applications. The Java Platform Module System is a language standard for creating these units. With modules, you can closely control how JARs interact and easily identify any missing dependencies at startup. This shift in design is so fundamental that starting with Java 9, all core Java APIs are distributed as modules, and libraries, frameworks, and applications will benefit from doing the same.
The Java Module System is your in-depth guide to creating and using Java modules. With detailed examples and easy-to-understand diagrams, you'll learn the anatomy of a modular ...
Learn RStudio IDEDiscover how to use the popular RStudio IDE as a professional tool that includes code refactoring support, debugging, and Git version control integration. This book gives you a tour of RStudio and shows you how it helps you do exploratory data analysis; build data visualizations with ggplot; and create custom R packages and web-based interactive visualizations with Shiny. In addition, you will cover common data analysis tasks including importing data from diverse sources such as SAS files, CSV files, and JSON. You will map out the features in RStudio so that you will be able to customize RStudio to fit your own style of coding.
Finally, you will see how to save a ton of time by adopting best practices and using packages to extend RStudio. Learn RStudio IDE is a quick, no-nonsense tutorial of RStudio that will give you a head start to develop the insights you need in your data science projects.
Quickly, effectively, and productively use RStudio IDE for building data science applic ...
Becoming the HackerBecoming the Hacker will teach you how to approach web penetration testing with an attacker's mindset. While testing web applications for performance is common, the ever-changing threat landscape makes security testing much more difficult for the defender.
There are many web application tools that claim to provide a complete survey and defense against potential threats, but they must be analyzed in line with the security needs of each web application or service. We must understand how an attacker approaches a web application and the implications of breaching its defenses.
Through the first part of the book, Adrian Pruteanu walks you through commonly encountered vulnerabilities and how to take advantage of them to achieve your goal. The latter part of the book shifts gears and puts the newly learned techniques into practice, going over scenarios where the target may be a popular content management system or a containerized application and its network.
Becoming the Hacker is a c ...
Data Science with Python and DaskDask is a native parallel analytics tool designed to integrate seamlessly with the libraries you're already using, including Pandas, NumPy, and Scikit-Learn. With Dask you can crunch and work with huge datasets, using the tools you already have. And Data Science with Python and Dask is your guide to using Dask for your data projects without changing the way you work!
An efficient data pipeline means everything for the success of a data science project. Dask is a flexible library for parallel computing in Python that makes it easy to build intuitive workflows for ingesting and analyzing large, distributed datasets. Dask provides dynamic task scheduling and parallel collections that extend the functionality of NumPy, Pandas, and Scikit-learn, enabling users to scale their code from a single laptop to a cluster of hundreds of machines with ease.
Data Science with Python and Dask teaches you to build scalable projects that can handle massive datasets. After meeting the Dask framework ...
Achieving DevOpsBen is stuck. A development lead with a strong vision for how the intersection of development and operations at his office can be improved, he can't help but feel overwhelmed and discouraged by common problems such as slow turnaround time, rushed and ineffective handover documentation, mounting technical debt, and a lagging QA process. What steps should Ben take to build the momentum needed to create positive changes within his company?
In this unique business novel by Dave Harrison and Knox Lively, two DevOps professionals with years of diverse experience in the industry, you follow Ben as he solves work frustrations in order to adopt Agile, DevOps, and microservices architectures for his organization. Achieving DevOps addresses the Now what? moment many DevOps professionals face on their journey. The story provides you with the knowledge you need to navigate the internal political waters, build management support, show measurable results, and bring DevOps successfully into your o ...
Interactive Object-Oriented Programming in Java, 2nd editionGain the fundamental concepts of object-oriented programming with examples in Java. This 2nd edition comes with detailed coverage and enhanced discussion on fundamental topics such as inheritance, polymorphism, abstract classes, interfaces, and packages. This edition also includes discussions on multithread programming, generic programming, database programming, and exception handling mechanisms in Java. Finally, you will get a quick overview of design patterns including the full implementation of some important patterns.
Interactive Object-Oriented Programming in Java begins with the fundamental concepts of object-oriented programming alongside Q&A sessions to further explore the topic. The book concludes with FAQs from all chapters. It also contains a section to test your skills in the language basics with examples to understand Java fundamentals including loops, arrays, and strings. You'll use the Eclipse IDE to demonstrate the code examples in the book.
After reading the bo ...
Spark in Action, 2nd EditionThe Spark distributed data processing platform provides an easy-to-implement tool for ingesting, streaming, and processing data from any source. In Spark in Action, 2nd Edition, you'll learn to take advantage of Spark's core features and incredible processing speed, with applications including real-time computation, delayed evaluation, and machine learning. Spark skills are a hot commodity in enterprises worldwide, and with Spark's powerful and flexible Java APIs, you can reap all the benefits without first learning Scala or Hadoop.
Analyzing enterprise data starts by reading, filtering, and merging files and streams from many sources. The Spark data processing engine handles this varied volume like a champ, delivering speeds 100 times faster than Hadoop systems. Thanks to SQL support, an intuitive interface, and a straightforward multilanguage API, you can use Spark without learning a complex new ecosystem.
Spark in Action, 2nd Edition, teaches you to create end-to-end analytics ...
2D Game Development: From Zero to HeroThis is a small project that aims to gather some knowledge about game development and make it available to everyone.
As well as being a source of knowledge this project aims to be a learning experience for everyone involved too, by gathering contributions from the community, teaching others how to make a game, teaching algorithms but also learning tips and tricks from people who are more experienced. ...
Modern Data Mining Algorithms in C++ and CUDA CDiscover a variety of data-mining algorithms that are useful for selecting small sets of important features from among unwieldy masses of candidates, or extracting useful features from measured variables.
As a serious data miner you will often be faced with thousands of candidate features for your prediction or classification application, with most of the features being of little or no value. You'll know that many of these features may be useful only in combination with certain other features while being practically worthless alone or in combination with most others. Some features may have enormous predictive power, but only within a small, specialized area of the feature space. The problems that plague modern data miners are endless. This book helps you solve this problem by presenting modern feature selection techniques and the code to implement them. Some of these techniques are: Forward selection component analysis; Local feature selection; Linking features and a target with a h ...