This website uses cookies to ensure you get the best experience on our website. Learn more

Writing cleancode withmodern Java. Miro Cupak, Dnastack

x

Exploring reactive programming in Java by Miro Cupak

Subscribe to Devoxx on YouTube @
Like Devoxx on Facebook @
Follow Devoxx on Twitter @

When Java 8 was first introduced, it revolutionized the way Java applications were written by providing the core constructs for asynchronous programming and handling data streams. With Java 9, 10, and 11, these capabilities were extended to the level that allows us to write truly modern, reactive applications with the JDK.

In this live-coding session, we explore JDK 9-11 features enabling all the aspects of reactive programming - updates to the Stream and CompletableFuture APIs, Reactive Streams publish-subscribe framework, HTTP/2 client, and more.

Miro is a VP of Engineering at DNAstack, where he builds a leading genomics cloud platform. He is a Java enthusiast with expertise in distributed systems and middleware, passionate about genetics and making meaningful software. Miro is the creator of the largest search and discovery engine of human genetic data, and the author of a book on parallelization of genomic queries. In his spare time, he blogs and contributes to several open-source projects.
x

Miro Cupak - The Good, the Bad and the Ugly of Java API design

With Java being a technology that’s over 20 years old, its strict requirements on backward compatibility, and thus the difficulty of removing functionality, modern JDKs inevitably contain APIs that did not withstand the test of time, and for various reasons are now hard to use, or exhibit other signs of poor design.
As a result, in the last 2 years, we’ve seen several attempts at modernizing Java, and quite a few new APIs that provide nice and clean alternatives to their older counterparts. In this live-coding session, we explore a series of commonly used Java APIs which cause troubles for developers. Learning from their mistakes, we draw principles for clean API design, and see how these were applied to the new features in JDK 9, 10, 11, and 12. As part of this exploration, we focus on Collections, StackWalker, ProcessHandle, HTTP/2 client APIs, and more.
Come and find out how to make your code cleaner with the help of new features of modern JDKs, and figure out how to make your own APIs clean and pleasant to use by learning from Java’s mistakes!
x

Effective and Clean Java Code? Tips and Tricks from the Real World

Recorded at Jfokus 2017

Abstract


Speaker
Edson Yanaga, Red Hat
x

Kubernetes Native Spring apps on Quarkus by Georgios Andrianakis

Ever wondered how you could create truly micro microservices using your favorite Spring APIs?

Ever wondered how to leverage your Spring skills to build Serverless apps? Have you been left wanting to leverage the groundbreaking capabilities of GraalVM native images without to sacrifice your hard earned Spring knowledge?

This session will show you how Quarkus speaks Spring by live coding a Quarkus applications using some of the most popular Spring features which will then be converted to GraalVM native image and deployed and scaled up in milliseconds on Kubernetes and OpenShift.
x

A Dozen Cool Things You can Do with JVM Languages - Venkat Subramaniam

Languages offer a lot more than syntax and compilers. They often have supporting libraries and special facilities that set them apart from other languages. Some languages offer special compiler support for a particular construct, like tail call optimization, for example. Others provide interesting library support or capabilities. In this presentation we will dive into 12 cool things we can do with different languages on the JVM, things that are either impossible or hard to do in Java, but are quite easy and useful to realize in other popular languages on the JVM. If mixing these languages is an option on your projects, you’ll have dozen more reasons after this presentation.

Writing cleancode withmodern Java. Miro Cupak, Dnastack

The Good, the Bad and the Ugly of Java API design. Miro Cupak, Dnastack

Voxxed Athens - Miro Cupak - Clean Code with Java9

Voxxed Athens - Miro Cupak - Clean Code with Java9

Java 9 Episode 2 with Miro Cupak - Singapore Java User Group

Speaker: Miro Cupak

Miro Cupak is a popular speaker at JavaOne and will be visiting us in Singapore this week.
He is a senior software engineer at DNAstack, where he develops a leading genomics cloud platform. He is a Java enthusiast with expertise in distributed systems and middleware. In his spare time, he blogs and contributes to several open-source projects.

One of the more interesting features of the latest release of Java is undoubtedly JShell, Java’s Read-Eval-Print-Loop implementation, which makes exploration of new APIs faster and easier. The release, however, packs many other smaller and less-known features and APIs, which are often overlooked, but can have a huge impact on application development. In this live-demo session, we will use JShell to explore several smaller new and updated APIs in Java 9, including the convenience factory methods for collections, Stream API, Optional, CompletableFuture, Stackwalker, Process API, and HTTP/2 client.

Event Page:

Produced by Engineers.SG
Recorded by: Michael Cheng

Help us caption & translate this video!

GeeCON 2018: Miro Cupak - Clean code with Java 9

One of the most talked about features of the latest release of Java is arguably JShell, Java’s Read-Eval-Print-Loop implementation. However, there is a whole set of smaller features allowing developers to produce cleaner code faster. In this session, we'll use JShell to demonstrate how Java 9 allows us to write cleaner code by exploring features like factory methods for collections, extended streams, updates to Optional, try with effectively final resources, private methods, process management API, stackwalker, and more.
x

Java OOP: Clean Code 2 - 25.04.2020

Clean code best practices in the world of OOP programming.

2019-06 Local Variable Type Inference - Miro Cupak

Local variable type inference is without a doubt the biggest language feature in Java from the last couple of years. Although seemingly simple at first sight, the feature comes with a series of restrictions making its usage rather tricky at times.

In this live-coding session, we explore subtleties and boundaries of the usage of “var” by going over 40 code snippets and asking: Will it compile? Come and test your intuition and knowledge of local variable type inference, and learn how to use it well in practice!

About the Speaker

Miro is a Co-founder and VP Engineering at DNAstack, where he builds a leading genomics cloud platform. He is a Java enthusiast with expertise in distributed systems and middleware, passionate about genetics and making meaningful software. In his spare time, he blogs and contributes to several open-source projects.

DevTO #77: Talk #1: How we built a global search engine for genetic data

2018-04-30


Miro Cupak |

The sensitive nature of genetic data causes a major concern in genetics - a lot of life-saving information, despite having been collected, is inaccessible. Data discovery is believed to be the key to new breakthroughs.

Miro is a senior software engineer at DNAstack, where he develops a leading genomics cloud platform. He is a Java enthusiast with expertise in distributed systems and middleware, the creator of the largest search and discovery engine of human genetic data, and the author of a book on parallelization of genomic queries. In his spare time, he blogs and contributes to several open-source projects.

GeeCON Prague 2018: Miro Cupak - Pushing boundaries of types with modern Java

Improved compiler’s ability to infer types of local variables based on the surrounding context is undoubtedly the biggest language feature in Java 10, further extended in Java 11, which affects all Java developers. When used correctly, it can lead to better developer experience by reducing the ceremony associated with writing Java, thus creating cleaner code. In this live-coding session, we will explain how type inference in Java works, and examine its limitations on more than a dozen of examples. We push the limits of type inference by putting it in situations involving generic and anonymous classes, and show how the feature can not only make your code more readable, but surprisingly also change its semantics. We will conclude by providing a set of best practices and guidelines for using type inference in a way that creates clean code. Target audience: expert

Reactive Programming in Java with @mirocupak

When Java 8 was first introduced, it revolutionized the way Java applications were written by providing the core constructs for asynchronous programming and handling data streams. With Java 9, 10, and 11, these capabilities were extended to the level that allows us to write truly modern, reactive applications with the JDK.

Miro Cupak explores JDK 9-11 features enabling all the aspects of reactive programming - updates to the Stream and CompletableFuture APIs and more

Full presentation:
his blog
x

java word problems

LongestRun: Problem 19
The method would return the value 3 because 17 appears three times in row consecutively.

Java Refactor Huge Method into Smaller methods with the Extract feature

Keep you methods small and testable!
Refactor often and use the Extract-feature.



Enjoy! :-)
Thank you for commenting and asking questions.

Library sign up referral link:


Get 25 % discount on your Minecraft servers at Shockbyte.com by using this referral link:


Checkout or buy the Introduction to Algorithms book at Amazon:


The code is located here:

Follow me on twitter:

Support me on Patreon:


As an Amazon Associate I earn from qualifying purchases.
Check out the stuff that I like (always updated):

[DevFest Toulouse 2018] Exploring reactive programming in Java - Miro Cupak

Exploring reactive programming in Java

Miro Cupak

DevFest Toulouse 2018
Jeudi 08 novembre 2018
Centre de Congrès Pierre Baudis



Merci à nos sponsors pour leur soutien !

Soyez sponsors pour la prochaine édition : contact@devfesttoulouse.fr

Testing your messaging application. Jakub Pilimon, Marcin Grzejszchak, Pivotal

Centralized Logging Patterns. Philipp Krenn, Elastic

Shares

x

Check Also

x

Menu