Thank you to all the developers from all around the world for joining us for this last-minute #Virtual adventure. Java2Days and its co-event CodeMonsters get together to create an exciting community event featured with sessions, workshops, discussions led by industry’s top experts as well as social events where developers can meet and learn from their peers.
Java Byte code is OS independent, which means that your application's startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast.
In this presentation, I'll go into more detail what Class Data Sharing is and the differences between the OpenJDK and OpenJ9 versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory.
Every time you switch from keyboard to mouse and back it takes several seconds. Nowadays IDEs provide possibility to avoid using mouse in almost every main function. I’d like to show you how to write code in IntelliJ with limiting mouse usage to minimum. Also, you will see how easily you can use IntelliJ to learn most of shortcuts just by coding.
Good news, everyone! Helidon got a jet engine! Now Helidon is packed with modern, high-tech, James Bond-level features and it flies like a rocket! Also, thanks to a nicely crafted fitness plan, the weight has been reduced and concentration increased - resulting in less RAM consumption and faster waking. Come to my live coding session to learn about all of the new features added in Helidon 2.2.0 such as GraalVM native image support in Helidon MP, MicroProfile Reactive Streams and Reactive Stream Operators, Helidon DB Client and HTTP Client in Helidon SE. I will also be demonstrating the new command line tool and live-reloading feature which will nitro-boost your development process. And there will be some new announcements!
Which are the most future proof languages for 2021?
Review of most popular languages in 2020:
- Most used languages: Python, JavaScript, Java, C#
- Less often used languages: C++, PHP, TypeScript, Swift, Kotlin, Scala, Ruby, Visual Basic
- Specialized languages: Rust, Go, R, C, Objective-C, Dart, Perl
- Outside the standings (because they're not programming languages): SQL, HTML, CSS, XML, JSON
Language popularity indexes:
- Most sought after languages according to LinkedIn Jobs Worldwide?
- Languages with the most code written in GitHub?
- PYPL: language popularity based on Google Trends
- TIOBE: language popularity according to global search enginges
- Most discussed languages in StackOverflow?
- Why all these popularity indexes are unreal and skewed?
For beginners: which language should I start with?
- Why the actual language doesn't matter much?
- Which languages are most sough after in Bulgaria (according to LinkedIn Jobs Bulgaria)?
Summary: which languages to learn during 2021 and why?
Do you think that security is a responsibility only from security specialist? In this session, you will find why security is involved across different roles - especially developers - and how you can start developing more secure applications regardless of the programming language.
This session is a fast-paced tour of all things Java and Azure at the modern Microsoft of today. We will first talk about the why, how and what of Java and Microsoft. We will then dive right into the broad range of tools, services and APIs that Microsoft offers around Azure for Java developers. We will show a small but representative demo of a Java application most developers would feel familiar with running well on Azure. Lastly, we will discuss the road map for what Java developers can expect from Microsoft in the future. This session is as much about sharing what Microsoft offers today as it is about listening to what the Java community wants to see from Microsoft tomorrow.
How easy is it to write and maintain integration tests when your system under test interacts with databases, message stores, and other external systems? It can be quite challenging, can’t it? For example, the lack of control over the setup of databases can increase the cost of integration testing. Sometimes we take the route of using an in-memory database instead of the one we employ in the production environment, making the tests less effective. With Docker containers, you can simplify this to some extent by running the setup before invoking your tests. Imagine if you get to control the database environment right from within the test code. TestContainers bring in this convenience.
TestContainers is a tool that you can invoke from your test code. It provides lightweight, throwaway instances of common databases, web browsers(Selenium tests), or anything else that can run in a Docker container. In this presentation, I walk you through how TestContainers is the most effective way to take advantage of Docker containers for integration testing. I present through several use-cases and demonstrate how TestContainers simplifies integration testing.
High Technical excellence is key for our Agile teams in order to succeed. It’s nothing new, but often we face projects with so many issues, poor quality and technical debt that to be agile becomes impossible.
As Leaders we coach, mentor, and teach Agility, but how can we incorporate the Agile mindset and principles in the main activity - the Software engineering itself?
In this session, we will explain and will tell stories from the practice about the relationship between our mindset and our code.
Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn't be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we'd still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better.
Spring Framework 5 is here ! It introduces the Spring developer to a growing world of support for reactive programming across the Spring portfolio, starting with a new Netty-based web runtime, component model and module called Spring WebFlux, and then continuing to Spring Data Kay, Spring Security 5.0, Spring Boot 2.0 and Spring Cloud Finchley. Sure, it sounds like a lot, but don't worry! Join me, your guide, Spring developer advocate Josh Long, and we'll explore the wacky, wonderful world of Reactive Spring together.
While a microservices architecture is more scalable than a monolith, it has a direct hit on performance.
To cope with that, one performance improvement is to set up a cache. It can be configured for database access, for REST calls or just to store session state across a cluster of server nodes. In this demo-based talk, I’ll show how Hazelcast In-Memory Data Grid can help you in each one of those areas and how to configure it. Hint: it’s much easier than one would expect.
Cloud-Native has become a big buzzword around the world, a term that is practically used by everyone at all times. But what does it mean? What are the advantages it brings to your application and your day as a software developer or architect? What's new in the Java world, and what are the steps to follow for a native cloud application? This presentation is a step-by-step guide that will practically guide you through implementing Cloud computing services effectively and efficiently.
Topics:
- Cloud Native Concepts
- Anatomy of Cloud Native Systems
- Cloud Native Patterns
- The Twelve-Factor App
- Java specifications
This fast-paced, demo-driven, entirely slide free session will show you the many ways of effectively deploying a Jakarta EE application to Azure. We will start by deploying a local Jakarta EE application to basic IaaS on Azure. We will then deploy the same application to an entirely managed Azure PaaS. Finally we will deploy the application to Azure using Docker and Kubernetes. We will discuss the trade-offs of each approach on the way, offering guidelines for which approach might be best for your application on the cloud. At the end of the session, you will have all the demos on GitHub so you can explore them on your own.
Machine learning is becoming a must for many business domains and applications. H2O is a best-of-breed, open source, distributed machine learning library written in Java. The presentation shows how to create and train different type of supervised and unsupervised machine learning models easily using H2O Flow web interface - including Deep Learning Neural Networks, Automatic Machine Learning AutoML), Distributed Random Forest (DRF), Generalized Linear Model (GLM), Gradient Boosting Machine (GBM), XGBoost, Principal Component Analysis (PCA), Generalized Low Rank Models (GLRM), Word2Vec among the many. The session finishes with a demo showing how to incorporate some of the trained models in a real-time streaming web service implemented using Spring 5 Web Flux and Spring Boot.
This webinar will focus on how the brain works and how we can take advantage of that in our day-to-day work life. We will cover different scientific aspects of Psychology and Neuroscience, which we can relate and use in regular activities like running a retrospective, for example.
In this code-only session we will take a look at different elasticsearch clients including Java REST, Spring Elasticsearch and Spring Data elasticsearch.