IntelliJ IDEA Essentials


Book Description

This book is for developers who want to work smarter so they can focus their efforts on the details that will give them the advantage. This book is tailor-made for developers who want to move from NetBeans and Eclipse to experience the power and functionality of IntelliJ IDEA.




Learn IntelliJ IDEA


Book Description

IntelliJ IDEA (hereafter referred to as IntelliJ) is one of the most powerful and popular Integrated Development Environments (IDE) for Java. It was developed and is maintained by JetBrains, and is available in the community and ultimate edition. This feature-rich IDE enables rapid development and helps in improving code quality. This book starts with a basic introduction and slowly dives deep into the advanced features. This book is targeted at first-time learners, as well as moderate users of IntelliJ. Beginners will get a fair understanding of IntelliJ and its functioning, and others will be able to take their knowledge on this subject to the next level. This book requires that the readers have some preliminary knowledge of the software development process, along with Java programming language. In the later sections of this book, we will discuss integration with build tools, unit testing frameworks, debugger, profiling, version control system, and database. It is assumed that the required tools are installed and configured on the system and the reader is familiar with those tools.




Beginning IntelliJ IDEA


Book Description

Get started quickly with IntelliJ, from installation to configuration to working with the source code and more. This tutorial will show you how to leverage IntelliJ’s tools to develop clean, efficient Java applications. Author Ted Hagos will first walk you through buidling your first Java applications using IntelliJ. Then, he’ll show you how to analyze your application, top to bottom; using version control and tools that allow you expand your application for big data or data science applications and more. You'll also learn some of the IDE’s advanced features to fully maximize your application's capabilities. The last portion of the book focuses on application testing and deployment, and language- and framework- specific guidelines. After reading this book and working through its freely available source code, you'll be up to speed with this powerful IDE for today's Java development. What You Will Learn Use IntelliJ IDEA to build Java applications Set up your IDE and project Work with source code Extend your Java application to data science and other kinds of applications Test and deploy your application and much more Who This Book Is For Programmers new to IntelliJ IDEA who may have some prior exposure to Java programming.




97 Things Every Java Programmer Should Know


Book Description

If you want to push your Java skills to the next level, this book provides expert advice from Java leaders and practitioners. You’ll be encouraged to look at problems in new ways, take broader responsibility for your work, stretch yourself by learning new techniques, and become as good at the entire craft of development as you possibly can. Edited by Kevlin Henney and Trisha Gee, 97 Things Every Java Programmer Should Know reflects lifetimes of experience writing Java software and living with the process of software development. Great programmers share their collected wisdom to help you rethink Java practices, whether working with legacy code or incorporating changes since Java 8. A few of the 97 things you should know: "Behavior Is Easy, State Is Hard"—Edson Yanaga “Learn Java Idioms and Cache in Your Brain”—Jeanne Boyarsky “Java Programming from a JVM Performance Perspective”—Monica Beckwith "Garbage Collection Is Your Friend"—Holly K Cummins “Java's Unspeakable Types”—Ben Evans "The Rebirth of Java"—Sander Mak “Do You Know What Time It Is?”—Christin Gorman




Atomic Kotlin


Book Description

For both beginning and experienced programmers! From the author of the multi-award-winning Thinking in C++ and Thinking in Java together with a member of the Kotlin language team comes a book that breaks the concepts into small, easy-to-digest "atoms," along with exercises supported by hints and solutions directly inside IntelliJ IDEA! No programming background necessary. Summaries for experienced programmers. Easy steps via very small chapters ("atoms"). Free accompanying exercises/solutions within IntelliJ Idea. Gives you a strong Kotlin foundation. Kotlin is cleaner, more consistent and far more powerful than Java. Increase programming productivity with Kotlin's clear, concise syntax. Produce safer, more reliable programs. Kotlin easily interacts with Java. Effortlessly migrate by adding pieces of Kotlin to an existing Java project. Support for Windows, Mac and Linux. Free version of Intellij IDEA includes extensive Kotlin support. Book resources, live seminars, workshops and consulting available at AtomicKotlin.com.




Functional Programming in Java


Book Description

Intermediate level, for programmers fairly familiar with Java, but new to the functional style of programming and lambda expressions. Get ready to program in a whole new way. Functional Programming in Java will help you quickly get on top of the new, essential Java 8 language features and the functional style that will change and improve your code. This short, targeted book will help you make the paradigm shift from the old imperative way to a less error-prone, more elegant, and concise coding style that's also a breeze to parallelize. You'll explore the syntax and semantics of lambda expressions, method and constructor references, and functional interfaces. You'll design and write applications better using the new standards in Java 8 and the JDK. Lambda expressions are lightweight, highly concise anonymous methods backed by functional interfaces in Java 8. You can use them to leap forward into a whole new world of programming in Java. With functional programming capabilities, which have been around for decades in other languages, you can now write elegant, concise, less error-prone code using standard Java. This book will guide you though the paradigm change, offer the essential details about the new features, and show you how to transition from your old way of coding to an improved style. In this book you'll see popular design patterns, such as decorator, builder, and strategy, come to life to solve common design problems, but with little ceremony and effort. With these new capabilities in hand, Functional Programming in Java will help you pick up techniques to implement designs that were beyond easy reach in earlier versions of Java. You'll see how you can reap the benefits of tail call optimization, memoization, and effortless parallelization techniques. Java 8 will change the way you write applications. If you're eager to take advantage of the new features in the language, this is the book for you. What you need: Java 8 with support for lambda expressions and the JDK is required to make use of the concepts and the examples in this book.




Refactoring


Book Description

Refactoring is gaining momentum amongst the object oriented programming community. It can transform the internal dynamics of applications and has the capacity to transform bad code into good code. This book offers an introduction to refactoring.




Beginning JavaFX


Book Description

The open source JavaFX platform offers a Java-based approach to rich Internet application (RIA) development—an alternative to Adobe Flash/Flex and Microsoft Silverlight. At over 100 million downloads, JavaFX is poised to be a significant player. Written by a JavaFX engineer and developer, this book is one of the first on the JavaFX platform to give you the following: The fundamentals of JavaFX scripting on desktop and mobile platforms Examples of RIAs using JavaFX Graphics Media and animation using JavaFX See how JavaFX gives you dynamic Java effects in your RIA development.




Frank Kane's Taming Big Data with Apache Spark and Python


Book Description

Frank Kane's hands-on Spark training course, based on his bestselling Taming Big Data with Apache Spark and Python video, now available in a book. Understand and analyze large data sets using Spark on a single system or on a cluster. About This Book Understand how Spark can be distributed across computing clusters Develop and run Spark jobs efficiently using Python A hands-on tutorial by Frank Kane with over 15 real-world examples teaching you Big Data processing with Spark Who This Book Is For If you are a data scientist or data analyst who wants to learn Big Data processing using Apache Spark and Python, this book is for you. If you have some programming experience in Python, and want to learn how to process large amounts of data using Apache Spark, Frank Kane's Taming Big Data with Apache Spark and Python will also help you. What You Will Learn Find out how you can identify Big Data problems as Spark problems Install and run Apache Spark on your computer or on a cluster Analyze large data sets across many CPUs using Spark's Resilient Distributed Datasets Implement machine learning on Spark using the MLlib library Process continuous streams of data in real time using the Spark streaming module Perform complex network analysis using Spark's GraphX library Use Amazon's Elastic MapReduce service to run your Spark jobs on a cluster In Detail Frank Kane's Taming Big Data with Apache Spark and Python is your companion to learning Apache Spark in a hands-on manner. Frank will start you off by teaching you how to set up Spark on a single system or on a cluster, and you'll soon move on to analyzing large data sets using Spark RDD, and developing and running effective Spark jobs quickly using Python. Apache Spark has emerged as the next big thing in the Big Data domain – quickly rising from an ascending technology to an established superstar in just a matter of years. Spark allows you to quickly extract actionable insights from large amounts of data, on a real-time basis, making it an essential tool in many modern businesses. Frank has packed this book with over 15 interactive, fun-filled examples relevant to the real world, and he will empower you to understand the Spark ecosystem and implement production-grade real-time Spark projects with ease. Style and approach Frank Kane's Taming Big Data with Apache Spark and Python is a hands-on tutorial with over 15 real-world examples carefully explained by Frank in a step-by-step manner. The examples vary in complexity, and you can move through them at your own pace.




Mastering Kotlin


Book Description

Explore popular language features, Java to Kotlin interoperability, advanced topics, and practical applications by building a variety of sample projects Key Features Understand and leverage the syntax, tools, and patterns by writing code in Kotlin Explore practical topics such as Java interop, concurrency with coroutines, and functional programming Discover how to use Kotlin for build targets like Android, iOS, JavaScript, and backend service Book Description Using Kotlin without taking advantage of its power and interoperability is like owning a sports car and never taking it out of the garage. While documentation and introductory resources can help you learn the basics of Kotlin, the fact that it's a new language means that there are limited learning resources and code bases available in comparison to Java and other established languages. This Kotlin book will show you how to leverage software designs and concepts that have made Java the most dominant enterprise programming language. You'll understand how Kotlin is a modern approach to object-oriented programming (OOP). This book will take you through the vast array of features that Kotlin provides over other languages. These features include seamless interoperability with Java, efficient syntax, built-in functional programming constructs, and support for creating your own DSL. Finally, you will gain an understanding of implementing practical design patterns and best practices to help you master the Kotlin language. By the end of the book, you'll have obtained an advanced understanding of Kotlin in order to be able to build production-grade applications. What you will learn Model data using interfaces, classes, and data classes Grapple with practical interoperability challenges and solutions with Java Build parallel apps using concurrency solutions such as coroutines Explore functional, reactive, and imperative programming to build flexible apps Discover how to build your own domain-specific language Embrace functional programming using the standard library and Arrow Delve into the use of Kotlin for frontend JavaScript development Build server-side services using Kotlin and Ktor Who this book is for If you're a Kotlin developer looking to further their skills or a professional Java developer looking for better or professional resources in order to make a switch to Kotlin, this book is for you. Familiarity with Kotlin programming will assist with understanding key concepts covered in the book.