Beyond git add/commit/push

Session abstract

There’s no doubt that Git is the most used tool for managing our source code nowadays. Its distributed nature makes it ideal for teamwork and collaboration, but most developers use only the basic commands. Attend this session to discover how you can be more productive and organized when using Git by selecting the right workflow and using more-advanced commands.

more >>

Full-Stack Reactive Java with Project Reactor and Spring Boot 2

Session abstract

Reactive programming offers Java developers a way to build message-driven, elastic, resilient, responsive services–but where to begin? The Reactive Streams initiative provides the guide, and Project Reactor the tools, to fully realize reactive capabilities end-to-end. Whether from a Spring MVC or functional perspective, Reactor empowers you to spin up fully reactive Spring Boot 2 applicationsfast. This session shows how to Integrate easily with existing Spring-stack technologies Transition from blocking to reactive applications and systems Define your API in an imperative style and functionally Leverage powerful new testing mechanisms to make code better and life easierThe presenter will code all examples live in real time.

more >>

TDD: From Java to Go and Back Again

Session abstract

TDD is one of the most popular techniques for shipping quality software with confidence. The Java ecosystem is well known for its tools diversity and innovation in this space. At the same time, we lean toward a polyglot approach, trying to use other languages that better fit a given problem space. This is where Go attracts Java developers. But can we comfortably test-drive our Go code by using techniques known from Java? Most importantly: after we get familiar with Go, can our Java code get even better? In this session, you can learn more about best-of-breed testing techniques you can use right away in your Go or Java projects and being productive instantly when switching between those worlds (as Red Hat has been doing over the last two years).

more >>

Introducing Mockito 3

Session abstract

Mockito 3 will make your tests cleaner and easier to debug. The next major version, 3.0, is scheduled for release during Oracle Code One 2018. The key feature in this release is that it enabling “strict stubbing” by default. This session takes a deep dive into why it is important for your tests. Get ready to migrate to the next major version of the Mockito framework. Last year at JavaOne, this session’s speaker described the evolution of the Mockito library since he created it 10 years earlier. He received great feedback from attendees about what needs further elaboration. Get ready for live coding and full immersion into how Mockito 3.0 keeps your tests clean.

more >>

Keynote: The Future of Java Is Today

Session abstract

As one of the most pervasive technologies of our lifetime, Java continues to innovate the application world around us. Through continued modernization Java offers developers a contemporary language and platform to create the next generation of rich, scalable, and secure enterprise applications. And as the technology landscape changes around us, often at an ever-increasing pace, Java is primed to offer developers continued uniqueness to address new opportunities. In this keynote hear from recognized members of the Oracle Java Team and industry luminaries about how Oracle is continuing to steward ongoing Java technology enhancements. Learn what’s new in Java, see recent additions to the language and platform, and get a look ahead at enhancements that are in development that will continue to improve developer productivity.

more >>

Reactive APIs of Java 9

Session abstract

Reactive programming is no longer an esoteric idea. Many libraries and tools have started providing excellent support for this programming style–so much so that Java 9 has embraced this idea by including it in the specification. This presentation takes a dive into what reactive programming looks like from the Java specification point of view. You’ll witness the creation of a small working example that illustrates the API and learn how to make use of it.

more >>

Type Inference: Friend or Foe

Session abstract

Java 10 has local variable type inference, but type inference is not really new in Java. Is type inference good or bad? Are there challenges and limitations to using it? When is a good time to use type inference? This presentation includes details of Java 10 type inference but certainly goes beyond them. It steps back and discusses type inference from the programmer’s point of view and works through the benefits and caveats. At the end of the session, you will be able to decide when to use it and when to avoid it.

more >>

Microservices for the Masses with Spring Boot, Angular, and JHipster

Session abstract

Microservices are all the rage and are being deployed by many Java hipsters. If you’re working with a large team that needs different release cycles for product components, microservices can be a blessing. If you’re working at your VW restoration shop and running its online store with your own software, having five services to manage and deploy can be a real pain. Share your knowledge of and experiences with microservices in this informative and code-heavy session. You’ll learn how to use JHipster (a Yeoman generator) to create Angular + Spring Boot apps on separate instances with a unified front end. You’ll also learn about options for securing your API gateway and individual applications with JWT and OAuth.

more >>

Securing Serverless--By Breaking In

Session abstract

Serverless rocks the security boat. Ad hoc servers we don’t manage rid us of certain security concerns, whereas the proliferation of cheap microservices raises others. In this session, you’ll experience these security concerns live as a vulnerable serverless application is broken into and multiple weaknesses are exploited. You’ll leave the session with a better understanding of the mistakes you can make, their implications, and how you can avoid them.

more >>