IntelliJ IDEA
Conf 2024

Free virtual event

March 6 - 7, 2024

  • 11:00–18:00 UTC
  • 12:00–19:00 CET/CEST
  • 06:00–13:00 EST/EDT

Everyone is invited

IntelliJ IDEA Conf celebrates the developer community and its desire to learn and improve every day.

We invite you to join us for this free online conference and gain insights from industry leaders and experts.

Join us on March 6–7 for a free virtual event that you won’t want to miss.

Speakers

Dr. Venkat Subramaniam

Dr. Venkat Subramaniam

Founder of Agile Developer, Inc.
Andrey Sokolov

Andrey Sokolov

AI Assistant Core Team Lead at JetBrains
Trisha Gee

Trisha Gee

Developer Champion

Maxim Sobolevskiy

DataGrip Team Lead at JetBrains
Karl Heinz Marbaise

Karl Heinz Marbaise

Apache Maven Project Chairman
Josh Long

Josh Long

Spring Developer Advocate at Broadcom
Frank Greco

Frank Greco

Enterprise Architect and Java Champion
Yuriy Artamonov

Yuriy Artamonov

IntelliJ IDEA Product Lead at JetBrains
Graeme Rocher

Graeme Rocher

Creator of Grails Framework and Micronaut Framework, Architect at Oracle
Brian Vermeer

Brian Vermeer

Java Champion and Staff Developer Advocate at Snyk
Billy Korando

Billy Korando

Developer Advocate at Oracle
Kesha Williams

Kesha Williams

Cloud & AI Leader

Kenneth Kousen

Author and Java Champion

Hosts

Mala Gupta

Developer Advocate at JetBrains

Marco Behler

Developer Advocate at JetBrains

Marit van Dijk

Developer Advocate at JetBrains

Agenda – Day 1

March 6, Wed

  • 11:00–12:00 UTC
  • 12:00–13:00 CET/CEST
  • 06:00–07:00 EST/EDT

Dr. Venkat Subramaniam

Let’s Set the Records Straight

Records in Java provide several improvements over writing classes when working predominantly with data. However, we have to understand a few nuances to make good use of them. This presentation will start with a short refresher about records and then dive into details surrounding the construction and life cycle of Records. Knowing these will help you to make better use of Records and avoid surprises.

Records in Java provide several improvements over writing classes when working predominantly with data. However, we have to understand a few nuances to make good use of them. This presentation will start with a short refresher about records and then dive into details surrounding the construction and life cycle of Records. Knowing these will help you to make better use of Records and avoid surprises.

Let’s Set the Records Straight

Keynote
Core Java

Dr. Venkat Subramaniam

Records in Java provide several improvements over writing classes when working predominantly with data. However, we have to understand a few nuances to make good use of them. This presentation will start with a short refresher about records and then dive into details surrounding the construction and life cycle of Records. Knowing these will help you to make better use of Records and avoid surprises.

Records in Java provide several improvements over writing classes when working predominantly with data. However, we have to understand a few nuances to make good use of them. This presentation will start with a short refresher about records and then dive into details surrounding the construction and life cycle of Records. Knowing these will help you to make better use of Records and avoid surprises.

  • 12:00–13:00 UTC
  • 13:00–14:00 CET/CEST
  • 07:00–08:00 EST/EDT

Andrey Sokolov

AI Assistant: Don’t Code Alone

JetBrains AI Assistant provides AI-powered features to aid software development. It can explain code, answer questions about code fragments, provide code suggestions, generate documentation, commit messages, and much more.

During this session, we are going to use JetBrains AI Assistant in quasi-real-world development situations.

JetBrains AI Assistant provides AI-powered features to aid software development. It can explain code, answer questions about code fragments, provide code suggestions, generate documentation, commit messages, and much more.

During this session, we are going to use JetBrains AI Assistant in quasi-real-world development situations.

AI Assistant: Don’t Code Alone

AI

Andrey Sokolov

JetBrains AI Assistant provides AI-powered features to aid software development. It can explain code, answer questions about code fragments, provide code suggestions, generate documentation, commit messages, and much more.

During this session, we are going to use JetBrains AI Assistant in quasi-real-world development situations.

JetBrains AI Assistant provides AI-powered features to aid software development. It can explain code, answer questions about code fragments, provide code suggestions, generate documentation, commit messages, and much more.

During this session, we are going to use JetBrains AI Assistant in quasi-real-world development situations.

  • 13:00–14:00 UTC
  • 14:00–15:00 CET/CEST
  • 08:00–09:00 EST/EDT

Trisha Gee

Developer Productivity With IntelliJ IDEA

Developer productivity is a hot topic right now, but what does it mean? Is it all just about squeezing more lines of code out of us poor, overworked developers? Or could it, in fact, lead to developer joy?

In this session, Trisha will show some of her favorite IntelliJ IDEA tips for improving her own productivity. She'll use these examples to talk about what productivity is, what it is not, and why it's even more important to us as developers than it is to the organizations that pay our salaries. And it's of course important to them, too!

Attendees will gain a deeper understanding of how IntelliJ IDEA helps them to be effective, productive, and happy. Trisha wants you to look at your toolchain and ask yourself, “Does this enable me to be creative and happy?”

Developer productivity is a hot topic right now, but what does it mean? Is it all just about squeezing more lines of code out of us poor, overworked developers? Or could it, in fact, lead to developer joy?

In this session, Trisha will show some of her favorite IntelliJ IDEA tips for improving her own productivity. She'll use these examples to talk about what productivity is, what it is not, and why it's even more important to us as developers than it is to the organizations that pay our salaries. And it's of course important to them, too!

Attendees will gain a deeper understanding of how IntelliJ IDEA helps them to be effective, productive, and happy. Trisha wants you to look at your toolchain and ask yourself, “Does this enable me to be creative and happy?”

Developer Productivity With IntelliJ IDEA

IntelliJ IDEA Tips

Trisha Gee

Developer productivity is a hot topic right now, but what does it mean? Is it all just about squeezing more lines of code out of us poor, overworked developers? Or could it, in fact, lead to developer joy?

In this session, Trisha will show some of her favorite IntelliJ IDEA tips for improving her own productivity. She'll use these examples to talk about what productivity is, what it is not, and why it's even more important to us as developers than it is to the organizations that pay our salaries. And it's of course important to them, too!

Attendees will gain a deeper understanding of how IntelliJ IDEA helps them to be effective, productive, and happy. Trisha wants you to look at your toolchain and ask yourself, “Does this enable me to be creative and happy?”

Developer productivity is a hot topic right now, but what does it mean? Is it all just about squeezing more lines of code out of us poor, overworked developers? Or could it, in fact, lead to developer joy?

In this session, Trisha will show some of her favorite IntelliJ IDEA tips for improving her own productivity. She'll use these examples to talk about what productivity is, what it is not, and why it's even more important to us as developers than it is to the organizations that pay our salaries. And it's of course important to them, too!

Attendees will gain a deeper understanding of how IntelliJ IDEA helps them to be effective, productive, and happy. Trisha wants you to look at your toolchain and ask yourself, “Does this enable me to be creative and happy?”

  • 14:00–15:00 UTC
  • 15:00–16:00 CET/CEST
  • 09:00–10:00 EST/EDT

Maxim Sobolevskiy

Working With Databases in IntelliJ IDEA

In this demo session we’ll show you how to write SQL queries and work with data in IntelliJ IDEA, from writing simple queries to more advanced tasks with the help of embedded database management functionality.

What we’ll cover:

  • Creating a simple query: various types of code completion, code snippets, expanding wildcards, and working with subqueries.
  • Using the data editor: editable result sets, bulk submit, multiple submit, transposing data, and comparing data.
  • Data import/export: import from CSV files, export to JSON or UPDATES/INSERTS, and export to other databases.
  • Navigation: searching for database objects, data, SQL code, files, settings, and more.
  • Other features: user parameters, the diff tool, and query history.

In this demo session we’ll show you how to write SQL queries and work with data in IntelliJ IDEA, from writing simple queries to more advanced tasks with the help of embedded database management functionality.

What we’ll cover:

  • Creating a simple query: various types of code completion, code snippets, expanding wildcards, and working with subqueries.
  • Using the data editor: editable result sets, bulk submit, multiple submit, transposing data, and comparing data.
  • Data import/export: import from CSV files, export to JSON or UPDATES/INSERTS, and export to other databases.
  • Navigation: searching for database objects, data, SQL code, files, settings, and more.
  • Other features: user parameters, the diff tool, and query history.

Working With Databases in IntelliJ IDEA

IntelliJ IDEA
Database Support

Maxim Sobolevskiy

In this demo session we’ll show you how to write SQL queries and work with data in IntelliJ IDEA, from writing simple queries to more advanced tasks with the help of embedded database management functionality.

What we’ll cover:

  • Creating a simple query: various types of code completion, code snippets, expanding wildcards, and working with subqueries.
  • Using the data editor: editable result sets, bulk submit, multiple submit, transposing data, and comparing data.
  • Data import/export: import from CSV files, export to JSON or UPDATES/INSERTS, and export to other databases.
  • Navigation: searching for database objects, data, SQL code, files, settings, and more.
  • Other features: user parameters, the diff tool, and query history.

In this demo session we’ll show you how to write SQL queries and work with data in IntelliJ IDEA, from writing simple queries to more advanced tasks with the help of embedded database management functionality.

What we’ll cover:

  • Creating a simple query: various types of code completion, code snippets, expanding wildcards, and working with subqueries.
  • Using the data editor: editable result sets, bulk submit, multiple submit, transposing data, and comparing data.
  • Data import/export: import from CSV files, export to JSON or UPDATES/INSERTS, and export to other databases.
  • Navigation: searching for database objects, data, SQL code, files, settings, and more.
  • Other features: user parameters, the diff tool, and query history.
  • 15:00–16:00 UTC
  • 16:00–17:00 CET/CEST
  • 10:00–11:00 EST/EDT

Karl Heinz Marbaise

The Current State of Apache Maven 4

While Apache Maven version 4.0.0 is currently in alpha stage, there is also a Maven 3.9.X release.

In this talk, we’ll look at the different improvements of Maven 4.0.0 and the possibilities they offer. Using examples, like consumer vs. build pom, BOM's, improvement of the reactor behavior, especially for multi-module builds, and more, Karl Heinz will demonstrate the improvements and customizations that have been made so far in Apache Maven 4.0.0 and its advantages compared to Maven 3.X. He’ll also discuss topics that could potentially break backwards compatibility.

Finally, we’ll look at the structure of the Apache Maven project and see the different areas of the project.

While Apache Maven version 4.0.0 is currently in alpha stage, there is also a Maven 3.9.X release.

In this talk, we’ll look at the different improvements of Maven 4.0.0 and the possibilities they offer. Using examples, like consumer vs. build pom, BOM's, improvement of the reactor behavior, especially for multi-module builds, and more, Karl Heinz will demonstrate the improvements and customizations that have been made so far in Apache Maven 4.0.0 and its advantages compared to Maven 3.X. He’ll also discuss topics that could potentially break backwards compatibility.

Finally, we’ll look at the structure of the Apache Maven project and see the different areas of the project.

The Current State of Apache Maven 4

Apache Maven 4

Karl Heinz Marbaise

While Apache Maven version 4.0.0 is currently in alpha stage, there is also a Maven 3.9.X release.

In this talk, we’ll look at the different improvements of Maven 4.0.0 and the possibilities they offer. Using examples, like consumer vs. build pom, BOM's, improvement of the reactor behavior, especially for multi-module builds, and more, Karl Heinz will demonstrate the improvements and customizations that have been made so far in Apache Maven 4.0.0 and its advantages compared to Maven 3.X. He’ll also discuss topics that could potentially break backwards compatibility.

Finally, we’ll look at the structure of the Apache Maven project and see the different areas of the project.

While Apache Maven version 4.0.0 is currently in alpha stage, there is also a Maven 3.9.X release.

In this talk, we’ll look at the different improvements of Maven 4.0.0 and the possibilities they offer. Using examples, like consumer vs. build pom, BOM's, improvement of the reactor behavior, especially for multi-module builds, and more, Karl Heinz will demonstrate the improvements and customizations that have been made so far in Apache Maven 4.0.0 and its advantages compared to Maven 3.X. He’ll also discuss topics that could potentially break backwards compatibility.

Finally, we’ll look at the structure of the Apache Maven project and see the different areas of the project.

  • 16:00–17:00 UTC
  • 17:00–18:00 CET/CEST
  • 11:00–12:00 EST/EDT

Josh Long

Bootiful Spring Boot 3.x

Spring Framework 6+ and Spring Boot 3+ are here, which means new baselines and possibilities. Spring Framework implies a Java 17 and Jakarta EE baseline and offers new support for building GraalVM-native images and a compile-time component model in the new Spring AOT engine. It also features a new observability layer, declarative HTTP and RSocket clients, preliminary Project Loom and CRaC support, ProblemDetail support, and much more. Developer productivity is second to none, with first-class support for Testcontainers, Docker Compose, and live reloads. Spring makes idiomatic use of the latest Kotlin features like coroutines and extension functions.

Join me, Spring Developer Advocate Josh Long (@starbuxman), and we’ll explore next-gen Spring together.

Spring Framework 6+ and Spring Boot 3+ are here, which means new baselines and possibilities. Spring Framework implies a Java 17 and Jakarta EE baseline and offers new support for building GraalVM-native images and a compile-time component model in the new Spring AOT engine. It also features a new observability layer, declarative HTTP and RSocket clients, preliminary Project Loom and CRaC support, ProblemDetail support, and much more. Developer productivity is second to none, with first-class support for Testcontainers, Docker Compose, and live reloads. Spring makes idiomatic use of the latest Kotlin features like coroutines and extension functions.

Join me, Spring Developer Advocate Josh Long (@starbuxman), and we’ll explore next-gen Spring together.

Bootiful Spring Boot 3.x

Spring Boot

Josh Long

Spring Framework 6+ and Spring Boot 3+ are here, which means new baselines and possibilities. Spring Framework implies a Java 17 and Jakarta EE baseline and offers new support for building GraalVM-native images and a compile-time component model in the new Spring AOT engine. It also features a new observability layer, declarative HTTP and RSocket clients, preliminary Project Loom and CRaC support, ProblemDetail support, and much more. Developer productivity is second to none, with first-class support for Testcontainers, Docker Compose, and live reloads. Spring makes idiomatic use of the latest Kotlin features like coroutines and extension functions.

Join me, Spring Developer Advocate Josh Long (@starbuxman), and we’ll explore next-gen Spring together.

Spring Framework 6+ and Spring Boot 3+ are here, which means new baselines and possibilities. Spring Framework implies a Java 17 and Jakarta EE baseline and offers new support for building GraalVM-native images and a compile-time component model in the new Spring AOT engine. It also features a new observability layer, declarative HTTP and RSocket clients, preliminary Project Loom and CRaC support, ProblemDetail support, and much more. Developer productivity is second to none, with first-class support for Testcontainers, Docker Compose, and live reloads. Spring makes idiomatic use of the latest Kotlin features like coroutines and extension functions.

Join me, Spring Developer Advocate Josh Long (@starbuxman), and we’ll explore next-gen Spring together.

  • 17:00–18:00 UTC
  • 18:00–19:00 CET/CEST
  • 12:00–13:00 EST/EDT

Frank Greco

Building Your Own Private GenAI Chatbot With Java Tools – A Step-by-Step Adventure

In today's software development world, several machine learning (ML) tools empower developers to craft private chatbots that cater to various needs. These chatbots harness the capabilities of large language models (LLMs) trained on confidential document sets on your local machine or enterprise data repositories. They enable you to engage with these document sets, from summarizing emails and meeting notes to gauging sentiment, extracting dates and names from websites, pre-screening resumes, and performing many other tasks.

But most of these systems are Python-based. While Python is a formidable stream-of-consciousness programming language for ML, many software developers operate within the Java ecosystem, especially within large organizations prioritizing Java for robust and reliable production deployments. This presentation focuses on Java-centric tools to construct tuned assistant systems.

In today's software development world, several machine learning (ML) tools empower developers to craft private chatbots that cater to various needs. These chatbots harness the capabilities of large language models (LLMs) trained on confidential document sets on your local machine or enterprise data repositories. They enable you to engage with these document sets, from summarizing emails and meeting notes to gauging sentiment, extracting dates and names from websites, pre-screening resumes, and performing many other tasks.

But most of these systems are Python-based. While Python is a formidable stream-of-consciousness programming language for ML, many software developers operate within the Java ecosystem, especially within large organizations prioritizing Java for robust and reliable production deployments. This presentation focuses on Java-centric tools to construct tuned assistant systems.

Building Your Own Private GenAI Chatbot With Java Tools – A Step-by-Step Adventure

Java
AI

Frank Greco

In today's software development world, several machine learning (ML) tools empower developers to craft private chatbots that cater to various needs. These chatbots harness the capabilities of large language models (LLMs) trained on confidential document sets on your local machine or enterprise data repositories. They enable you to engage with these document sets, from summarizing emails and meeting notes to gauging sentiment, extracting dates and names from websites, pre-screening resumes, and performing many other tasks.

But most of these systems are Python-based. While Python is a formidable stream-of-consciousness programming language for ML, many software developers operate within the Java ecosystem, especially within large organizations prioritizing Java for robust and reliable production deployments. This presentation focuses on Java-centric tools to construct tuned assistant systems.

In today's software development world, several machine learning (ML) tools empower developers to craft private chatbots that cater to various needs. These chatbots harness the capabilities of large language models (LLMs) trained on confidential document sets on your local machine or enterprise data repositories. They enable you to engage with these document sets, from summarizing emails and meeting notes to gauging sentiment, extracting dates and names from websites, pre-screening resumes, and performing many other tasks.

But most of these systems are Python-based. While Python is a formidable stream-of-consciousness programming language for ML, many software developers operate within the Java ecosystem, especially within large organizations prioritizing Java for robust and reliable production deployments. This presentation focuses on Java-centric tools to construct tuned assistant systems.

Agenda – Day 2

March 7, Thu

  • 11:00–12:00 UTC
  • 12:00–13:00 CET/CEST
  • 06:00–07:00 EST/EDT

Yuriy Artamonov

How IntelliJ IDEA Performance Improved: Past, Present, and Future

IntelliJ IDEA doesn't stand still – it improves with every release. Not only are new features added, but the performance of the IDE also gets better. This is especially important since projects are constantly growing, with more files, more libraries, bigger repositories, and more applications every day.

This session is a quick recap of the most important changes that improved the performance of IntelliJ IDEA, including completion, highlighting, startup, and indexing. Join this session to learn more about how your favorite IDE has improved and what happens behind the scenes of IDE development.

IntelliJ IDEA doesn't stand still – it improves with every release. Not only are new features added, but the performance of the IDE also gets better. This is especially important since projects are constantly growing, with more files, more libraries, bigger repositories, and more applications every day.

This session is a quick recap of the most important changes that improved the performance of IntelliJ IDEA, including completion, highlighting, startup, and indexing. Join this session to learn more about how your favorite IDE has improved and what happens behind the scenes of IDE development.

How IntelliJ IDEA Performance Improved: Past, Present, and Future

Keynote
IntelliJ IDEA
IDE Performance

Yuriy Artamonov

IntelliJ IDEA doesn't stand still – it improves with every release. Not only are new features added, but the performance of the IDE also gets better. This is especially important since projects are constantly growing, with more files, more libraries, bigger repositories, and more applications every day.

This session is a quick recap of the most important changes that improved the performance of IntelliJ IDEA, including completion, highlighting, startup, and indexing. Join this session to learn more about how your favorite IDE has improved and what happens behind the scenes of IDE development.

IntelliJ IDEA doesn't stand still – it improves with every release. Not only are new features added, but the performance of the IDE also gets better. This is especially important since projects are constantly growing, with more files, more libraries, bigger repositories, and more applications every day.

This session is a quick recap of the most important changes that improved the performance of IntelliJ IDEA, including completion, highlighting, startup, and indexing. Join this session to learn more about how your favorite IDE has improved and what happens behind the scenes of IDE development.

  • 12:00–13:00 UTC
  • 13:00–14:00 CET/CEST
  • 07:00–08:00 EST/EDT

Graeme Rocher

Building and Testing Applications With Micronaut and Testcontainers in IntelliJ IDEA

In this talk, Micronaut creator Graeme Rocher will demonstrate how you can build high-quality, easily testable applications with Micronaut in IntelliJ IDEA.

Taking advantage of Testcontainers to improve the integration testing experience, the talk will demonstrate how to make the most of the features offered by IntelliJ IDEA to build applications efficiently.

In this talk, Micronaut creator Graeme Rocher will demonstrate how you can build high-quality, easily testable applications with Micronaut in IntelliJ IDEA.

Taking advantage of Testcontainers to improve the integration testing experience, the talk will demonstrate how to make the most of the features offered by IntelliJ IDEA to build applications efficiently.

Building and Testing Applications With Micronaut and Testcontainers in IntelliJ IDEA

Micronaut
Testcontainers

Graeme Rocher

In this talk, Micronaut creator Graeme Rocher will demonstrate how you can build high-quality, easily testable applications with Micronaut in IntelliJ IDEA.

Taking advantage of Testcontainers to improve the integration testing experience, the talk will demonstrate how to make the most of the features offered by IntelliJ IDEA to build applications efficiently.

In this talk, Micronaut creator Graeme Rocher will demonstrate how you can build high-quality, easily testable applications with Micronaut in IntelliJ IDEA.

Taking advantage of Testcontainers to improve the integration testing experience, the talk will demonstrate how to make the most of the features offered by IntelliJ IDEA to build applications efficiently.

  • 13:00–14:00 UTC
  • 14:00–15:00 CET/CEST
  • 08:00–09:00 EST/EDT

Sebastian Aigner

Back to the Stdlib: Making the Most of Kotlin’s Standard Library by Sebastian Aigner

The best functions and classes are the ones you already have with you. Sebastian Aigner will take you on a journey through the features you get out of the box with Kotlin. From string manipulation to collection modification, the Kotlin standard library gives you powerful tools for many common programming tasks that can make you a more efficient and expressive developer. See what gems you haven’t uncovered yet, extend your Kotlin vocabulary, and gain an even stronger grasp of Kotlin’s built-in classes and functions. Whether you’re new to Kotlin or have years of experience, you’ll discover something new!

The best functions and classes are the ones you already have with you. Sebastian Aigner will take you on a journey through the features you get out of the box with Kotlin. From string manipulation to collection modification, the Kotlin standard library gives you powerful tools for many common programming tasks that can make you a more efficient and expressive developer. See what gems you haven’t uncovered yet, extend your Kotlin vocabulary, and gain an even stronger grasp of Kotlin’s built-in classes and functions. Whether you’re new to Kotlin or have years of experience, you’ll discover something new!

Back to the Stdlib: Making the Most of Kotlin’s Standard Library by Sebastian Aigner

Kotlin

Sebastian Aigner

The best functions and classes are the ones you already have with you. Sebastian Aigner will take you on a journey through the features you get out of the box with Kotlin. From string manipulation to collection modification, the Kotlin standard library gives you powerful tools for many common programming tasks that can make you a more efficient and expressive developer. See what gems you haven’t uncovered yet, extend your Kotlin vocabulary, and gain an even stronger grasp of Kotlin’s built-in classes and functions. Whether you’re new to Kotlin or have years of experience, you’ll discover something new!

The best functions and classes are the ones you already have with you. Sebastian Aigner will take you on a journey through the features you get out of the box with Kotlin. From string manipulation to collection modification, the Kotlin standard library gives you powerful tools for many common programming tasks that can make you a more efficient and expressive developer. See what gems you haven’t uncovered yet, extend your Kotlin vocabulary, and gain an even stronger grasp of Kotlin’s built-in classes and functions. Whether you’re new to Kotlin or have years of experience, you’ll discover something new!

  • 14:00–15:00 UTC
  • 15:00–16:00 CET/CEST
  • 09:00–10:00 EST/EDT

Brian Vermeer

Don't Get Burned! Secure Coding Essentials to Protect Your Application

As a developer, you understand the importance of writing code that is functional, scalable, and maintainable. But how about secure code?

Even the most seasoned developers can make common security mistakes that leave code vulnerable to attack. In this session, we'll explore the most common, and sometimes little-known, security pitfalls and provide practical tips for avoiding them. We'll cover everything from input validation errors and injection to file overwrites and arbitrary code execution. We'll show real-world examples of insecure code and demonstrate how attackers exploit these vulnerabilities, and then show you how to fix these code constructions. By understanding how these mistakes are exploited, you'll be better equipped to write secure, bulletproof code that can withstand attacks.

Whether you're a junior developer just starting out or a seasoned pro looking to brush up on your skills, this session is a must-attend for anyone concerned with the security of their applications. Let’s start writing secure code and learn how to avoid security mistakes!

As a developer, you understand the importance of writing code that is functional, scalable, and maintainable. But how about secure code?

Even the most seasoned developers can make common security mistakes that leave code vulnerable to attack. In this session, we'll explore the most common, and sometimes little-known, security pitfalls and provide practical tips for avoiding them. We'll cover everything from input validation errors and injection to file overwrites and arbitrary code execution. We'll show real-world examples of insecure code and demonstrate how attackers exploit these vulnerabilities, and then show you how to fix these code constructions. By understanding how these mistakes are exploited, you'll be better equipped to write secure, bulletproof code that can withstand attacks.

Whether you're a junior developer just starting out or a seasoned pro looking to brush up on your skills, this session is a must-attend for anyone concerned with the security of their applications. Let’s start writing secure code and learn how to avoid security mistakes!

Don't Get Burned! Secure Coding Essentials to Protect Your Application

Code Security

Brian Vermeer

As a developer, you understand the importance of writing code that is functional, scalable, and maintainable. But how about secure code?

Even the most seasoned developers can make common security mistakes that leave code vulnerable to attack. In this session, we'll explore the most common, and sometimes little-known, security pitfalls and provide practical tips for avoiding them. We'll cover everything from input validation errors and injection to file overwrites and arbitrary code execution. We'll show real-world examples of insecure code and demonstrate how attackers exploit these vulnerabilities, and then show you how to fix these code constructions. By understanding how these mistakes are exploited, you'll be better equipped to write secure, bulletproof code that can withstand attacks.

Whether you're a junior developer just starting out or a seasoned pro looking to brush up on your skills, this session is a must-attend for anyone concerned with the security of their applications. Let’s start writing secure code and learn how to avoid security mistakes!

As a developer, you understand the importance of writing code that is functional, scalable, and maintainable. But how about secure code?

Even the most seasoned developers can make common security mistakes that leave code vulnerable to attack. In this session, we'll explore the most common, and sometimes little-known, security pitfalls and provide practical tips for avoiding them. We'll cover everything from input validation errors and injection to file overwrites and arbitrary code execution. We'll show real-world examples of insecure code and demonstrate how attackers exploit these vulnerabilities, and then show you how to fix these code constructions. By understanding how these mistakes are exploited, you'll be better equipped to write secure, bulletproof code that can withstand attacks.

Whether you're a junior developer just starting out or a seasoned pro looking to brush up on your skills, this session is a must-attend for anyone concerned with the security of their applications. Let’s start writing secure code and learn how to avoid security mistakes!

  • 15:00–16:00 UTC
  • 16:00–17:00 CET/CEST
  • 10:00–11:00 EST/EDT

Billy Korando

To Java 22 and Beyond!

Java 21 has come and gone, but the Java release train continues with Java 22!

In this presentation, we will look at the key changes coming in Java 22 and beyond, focusing on how Java is continuing to improve the developer experience and becoming faster, leaner, and safer.

To help contextualize what is happening in Java, we will cover the changes in recent releases, including virtual threads, pattern matching, records, Generational ZGC, and more. We will also explore how each of these changes are being built upon with successful Java releases and where Java is going in the future.

Java 21 has come and gone, but the Java release train continues with Java 22!

In this presentation, we will look at the key changes coming in Java 22 and beyond, focusing on how Java is continuing to improve the developer experience and becoming faster, leaner, and safer.

To help contextualize what is happening in Java, we will cover the changes in recent releases, including virtual threads, pattern matching, records, Generational ZGC, and more. We will also explore how each of these changes are being built upon with successful Java releases and where Java is going in the future.

To Java 22 and Beyond!

Java 22

Billy Korando

Java 21 has come and gone, but the Java release train continues with Java 22!

In this presentation, we will look at the key changes coming in Java 22 and beyond, focusing on how Java is continuing to improve the developer experience and becoming faster, leaner, and safer.

To help contextualize what is happening in Java, we will cover the changes in recent releases, including virtual threads, pattern matching, records, Generational ZGC, and more. We will also explore how each of these changes are being built upon with successful Java releases and where Java is going in the future.

Java 21 has come and gone, but the Java release train continues with Java 22!

In this presentation, we will look at the key changes coming in Java 22 and beyond, focusing on how Java is continuing to improve the developer experience and becoming faster, leaner, and safer.

To help contextualize what is happening in Java, we will cover the changes in recent releases, including virtual threads, pattern matching, records, Generational ZGC, and more. We will also explore how each of these changes are being built upon with successful Java releases and where Java is going in the future.

  • 16:00–17:00 UTC
  • 17:00–18:00 CET/CEST
  • 11:00–12:00 EST/EDT

Kesha Williams

Building Intelligent Applications With the ChatGPT API

Join this conference talk to dive into the world of building intelligent applications using the ChatGPT API. Learn how to integrate the API into your Java projects, leverage its conversational capabilities, and create innovative applications that can understand, respond, and engage with users in natural language. Unleash the power of AI-driven interactions and take your applications to the next level.

Join this conference talk to dive into the world of building intelligent applications using the ChatGPT API. Learn how to integrate the API into your Java projects, leverage its conversational capabilities, and create innovative applications that can understand, respond, and engage with users in natural language. Unleash the power of AI-driven interactions and take your applications to the next level.

Building Intelligent Applications With the ChatGPT API

Java
AI

Kesha Williams

Join this conference talk to dive into the world of building intelligent applications using the ChatGPT API. Learn how to integrate the API into your Java projects, leverage its conversational capabilities, and create innovative applications that can understand, respond, and engage with users in natural language. Unleash the power of AI-driven interactions and take your applications to the next level.

Join this conference talk to dive into the world of building intelligent applications using the ChatGPT API. Learn how to integrate the API into your Java projects, leverage its conversational capabilities, and create innovative applications that can understand, respond, and engage with users in natural language. Unleash the power of AI-driven interactions and take your applications to the next level.

  • 17:00–18:00 UTC
  • 18:00–19:00 CET/CEST
  • 12:00–13:00 EST/EDT

Kenneth Kousen

Mastering Java Testing With JUnit, Mockito, and AssertJ in IntelliJ IDEA

This presentation shows you how to use JUnit, Mockito, and AssertJ within IntelliJ IDEA, making Java testing a more powerful and efficient process. See how IntelliJ IDEA's seamless integration with these libraries enhances test creation and execution. The session will also demonstrate the use of Mockito for effective mocking in unit tests and AssertJ for expressive assertions, showcasing their integration in IntelliJ IDEA. Through practical examples and live demonstrations, attendees will learn how to leverage these tools to develop more robust, maintainable Java applications.

This presentation shows you how to use JUnit, Mockito, and AssertJ within IntelliJ IDEA, making Java testing a more powerful and efficient process. See how IntelliJ IDEA's seamless integration with these libraries enhances test creation and execution. The session will also demonstrate the use of Mockito for effective mocking in unit tests and AssertJ for expressive assertions, showcasing their integration in IntelliJ IDEA. Through practical examples and live demonstrations, attendees will learn how to leverage these tools to develop more robust, maintainable Java applications.

Mastering Java Testing With JUnit, Mockito, and AssertJ in IntelliJ IDEA

Testing
JUnit
Mockito
AssertJ

Kenneth Kousen

This presentation shows you how to use JUnit, Mockito, and AssertJ within IntelliJ IDEA, making Java testing a more powerful and efficient process. See how IntelliJ IDEA's seamless integration with these libraries enhances test creation and execution. The session will also demonstrate the use of Mockito for effective mocking in unit tests and AssertJ for expressive assertions, showcasing their integration in IntelliJ IDEA. Through practical examples and live demonstrations, attendees will learn how to leverage these tools to develop more robust, maintainable Java applications.

This presentation shows you how to use JUnit, Mockito, and AssertJ within IntelliJ IDEA, making Java testing a more powerful and efficient process. See how IntelliJ IDEA's seamless integration with these libraries enhances test creation and execution. The session will also demonstrate the use of Mockito for effective mocking in unit tests and AssertJ for expressive assertions, showcasing their integration in IntelliJ IDEA. Through practical examples and live demonstrations, attendees will learn how to leverage these tools to develop more robust, maintainable Java applications.

Let us know if you can make it!

By submitting this form, I agree to the Code of Conduct.

FAQ