Functional programming has arrived in Java language and it has plans to stay. In this talk I will introduce Apache Aries Component DSL, a proof of concept functional library that aims to ease the way in which we can interact with OSGi in a composable and safe way.
There is a current trend in the IoT domain to redefine the role of the IoT Gateway - once a simple communication relay with some application specific processing - into a generic purpose edge device supporting diverse device protocols, multiple applications, a variety of cloud connections, and sometimes even multi-tenant situations. In fact, recent low-cost hardware based on multi-core ARM and Intel SoCs (such as the Raspberry Pi 3, the Odroid-C2, or the UP board) seems to have the required capabilities.
Are you tired of null pointer exceptions, unwanted side effects, SQL injections, broken regular expressions, concurrency errors, mistaken equality tests, and other runtime errors that appear during testing or in the field? Do you wonder why every production code base needs its own implementation of money and currency types, physical units, or string processing? Aren’t all these simply indicators for missing features in Java’s typesystem? Turns out they are. And even better: Annotation processing to the rescue - there is a standardized way to fix it!
Writing code only comes second when talking about the developer work. The main and first task is reading and debugging. For that purpose, the Eclipse Java development tools are wonderful. Its most powerful tools are often unknown though. This talk will help you unleash this power and help you debug your Java code like a pro. The talk will also cover the new debugging features coming with Eclipse 4.8 (code name Oxygen, released last June). So, even if you're an experienced Java programmer, you will learn some tips and tricks.
Writing good code is the most important task of software development and this does not complete without debugging and fixing bugs. The Eclipse Java IDE provides many debugging tools and views for users to debug effectively and efficiently. Eclipse users spend a lot of time in debugging code and every new debugging feature in Eclipse helps the users to be productive in fixing bugs. Debugging in Eclipse Platform and JDT is continuously evolving to provide tooling which can help users debug complex scenarios and spend less time in routine tasks.
The core underlying technology driving most of the Eclipse Ecosystem is Java SE. Yet Java SE is often misunderstood, even by the most savy and experienced of developers. This talk will start by disambiguating the various JVM, JRE and JDK implementations available, and outline how OpenJDK plays a key part in Java SE evolution. We'll review some common packaging, technical and licensing FAQs for the various builds available. Finally, we'll overview the history and evolution that got us to where we are now -- Java SE: Current Status.
Writing good tests is as important as writing good code for mastering high-quality software development. The JUnit framework is one of the most valuable skills a developer can learn to achieve that. JUnit 4.0 was first released over a decade ago after the introduction of annotations in Java 5. The world of Java and testing has evolved a lot since then. To take advantage of the new features like lambda expressions in Java 8 and to support the advanced testing needs, JUnit 5 is emerging as the next generation test framework and is expected to be released during Q3 2017.
This session is geared towards an audience interested in blockchain technology that would like learn more with a hands-on approach.
First, some background on basic concepts as peer-to-peer networks, mining and distributed consens is provided. Then, smart contracts and the Solidity language are introduced and demonstrated using a local/private blockchain.