CoffeeJUG events
CoffeeJUG: "Spring Security: Deep dive into basics"
CoffeeJUG: Spring Security: Deep dive into basics
Spring Security is often considered one of the most challenging parts of the Spring Framework. This talk addresses its core concepts, providing you with the foundational knowledge needed to confidently tackle any Spring Security setup. Whether you're new to Spring Security or looking to strengthen your knowledge, this session will give you the clarity and confidence to handle security setups effectively.
Ihor Polataiko
CoffeeJUG "Certification Programs for Ukrainians: Unlock Your Future with Free Training Opportunities"
CoffeeJug: December'12
This presentation introduces the Tech Bridge Program, a collaborative initiative with the UK Government and Ukraine Ministry of Digital Transformation, offering free training and certification in Oracle technologies to Ukrainians in Ukraine and abroad (UK, Poland, Czechia). Through Oracle University, participants can build foundational skills in Java SE, Oracle Cloud Infrastructure, AI, Data Management, and other technologies. Attendees will learn how to activate their free subscription, navigate the program’s learning paths, and prepare for certification—gaining new skills to grow their careers in tech.
Olga Gupalo
CoffeeJUG "Enter the Brave New World of Generative AI"
CoffeeJug: November'24
With ChatGPT taking center stage since the beginning of 2023, developers who have not had a chance to work with any forms of Artificial Intelligence or Machine Learning systems may find themselves either intrigued by the “maze” of new terminologies, or some may be eager to learn more, while perhaps a smaller group may not actually want to get themselves into a territory that’s unknown to them. The truth is that, whether we like it or not, we have all been “thrust” into this new era of computing. Instead of procrastinating, let’s start by learning about Generative AI specifically with this presentation. We will go over the history and evolution of AI and ML, then look at how it has evolved to where it is today. We will touch upon as many new concepts that have popped up in the last 6-9 months, which include: Generative AI (GenAI), ChatGPT, Large Language Models (LLMs), Natural Language Processing (NLP), Vector DB, and the growing importance of Vector Search, as well as Multi-Agentic workflows. We will discuss the benefits of this new wave of technology as well as the challenges that it brings to the industry and the marketplace.
Mary Grygleski
CoffeeJUG "What can go wrong in a distributed system - experience from the field"
CoffeeJug: October'24
Building an in-memory real-time distributed data platform is a challenge and a passion that we have at Hazelcast. To create such a platform we used raw Java, our own RPC and concurrency stack, distributed primitives, replication and Raft-based consensus protocol. In this talk, on the example of our issues, we will discuss what you should care about while building a distributed system: what replication options you have, how messages reordering could resurrect the dead node, how harmful the retries can be, and finally, how one slow node can bring down the entire cluster even with the Raft consensus protocol.
Andrii Rodionov
CoffeeJUG "JDK 23: Released and Ready – What’s Inside?"
CoffeeJug: September'24
Join us for a quick dive into the most exciting features of the newly released JDK 23! In this session, we’ll explore the key updates that matter most to Java developers, including enhancements to pattern matching, streamlined bytecode manipulation with the new Class-File API, and improved documentation with Markdown Comments.
We'll also look at the next stage for several preview features, such as structured concurrency, implicitly declared classes, and flexible constructor bodies, giving you insight into what’s coming down the line and how you can start experimenting with these powerful new tools today.
Get up to speed with these changes and learn how they can enhance your Java projects. Perfect for developers who want a fast, focused overview of what’s new in JDK 23!
Oleh Melnyk
CoffeeJUG "Quarkus: enjoying the process, appreciating the outcome"
CoffeeJug: August'24
Quarkus: enjoying the process, appreciating the outcome
Quarkus was designed to significantly improve not only the performance characteristics of services developed in Java but also the developer experience. It’s important to enjoy the process and appreciate the outcome of it when it comes to software development. In this talk we’ll look into what it’s like to develop Java applications with Quarkus and how they end up being so fast and tiny in memory footprint.
Alexey Loubyansky
CoffeeJUG "Secure by Design: Building Secure approach into Software Development"
CoffeeJug: May'24
Join us for an enlightening event , where we delve into effective security integration throughout the software development lifecycle. Learn about advanced security testing techniques and the principles of continuous security to ensure robust, resilient software. This presentation will equip you with the strategies and tools needed for building inherently secure applicationsJoin us for an enlightening event , where we delve into effective security integration throughout the software development lifecycle. Learn about advanced security testing techniques and the principles of continuous security to ensure robust, resilient software. This presentation will equip you with the strategies and tools needed for building inherently secure applications
Ihor Didyk
CoffeeJUG "A Healthy diet for your Java application"
CoffeeJug: April'24
1. Have you ever faced OutOfMemoryError? Was it in your CI or during the local run? Maybe you faced it as a user while playing your favorite video game or using online banking to pay your bills.
That’s annoying, isn’t it? Every time we give the application more and more memory, it seems never enough…
In Sonar we know how important it is to use memory efficiently. As our tools are often a part of your ci jobs, we care how much you spend on the infrastructure and try to minimize the cost.
So in this session, I will try to share some tips for investigating, fixing, and preventing potential memory leaks and reducing the memory footprint. In simple words, I will show how you can help your applications eat memory « healthier ».
2. You've probably heard about Static Code Analysis tools provided by SonarSource, but have you ever thought about what's under the hood of these analyzers?
In this short presentation, I will try to explain a little bit about what I do for my job every day. We will implement a simple static analysis rule for Kotlin, learn the constraints, debug, and discover how various language features can influence the results.
This talk will be useful if you want to understand some basic static analysis concepts or even implement some rules by yourself. This will also be useful if you want to learn better about the limitations of static analysis, and how to deal with the reported issues.
Marharyta Nedzelska
CoffeeJUG "Working with technical improvements. Reasons. Methods. Estimation"
CoffeeJug: February'24
This talk is dedicated to technical improvements implementation.
Sometimes people have a lot of ideas how to improve or optimize at the project, but not always decide even to promote their ideas.
First of all implementing all ideas is a challenge for proactive beginners who wants to do a lot and has no understanding why it is not possible to do all of that now.
But it can't be said that it is not a challenge for more experienced people. It's easier for them to start implementing something but not every trial is successful. I believe that everyone knows situations when teams committed to implement technical improvement but didn't meet the deadline.
So this talk will be a kind of sharing my experience and observations regarding working with technical improvements.
The first section will cover the general info regarding technical improvements, their importance, factors that influences on length of the period to promote an idea.
Then one section will be dedicated to methods and algorithms of how to start and finish with implementation.
And the third section will be about the most difficult part - how to estimate technical improvements in real time.
Polina Serhiienko
CoffeeJUG "Evolving your APIs, a step-by-step approach"
CoffeeJug: January'24
When you publish your first HTTP API, you’re more focused on short-term issues than planning for the future. However, chances are you’ll be successful, and you’ll “hit the wall”. How do you evolve your API without breaking the contract with your existing users? In this talk, I’ll first show you some tips and tricks to achieve that: moving your endpoints, deprecating them, monitoring who’s using them, and letting users know about the new endpoints. The talk is demo-based, and I’ll use the Apache APISIX project for it.
Nicolas Fränkel
CoffeeJUG "Harry Potter & Apache Iceberg Table Format. The magic of Apache Iceberg"
CoffeeJug: December'23
In the presentation we will: explore table formats, Hive format issues, Apache Iceberg concepts and architecture, real-time coding demo, quality control.
After the presentation, you will have an understanding of Apache Iceberg's key role in modernizing data warehouses. A live-coding will provide a hands-on understanding of Iceberg's functionality.
Taras Fedorov
CoffeeJUG "Ways to Level Up Your Java Application with GraalVM"
CoffeeJug: November'23
In first presentation I will describe the ways in which the GraalVM and other Oracle teams streamline our documentation including: AI tools, processes, shortcuts, and software; the different ways that we present information, increase developers’ productivity, and structure information. I will also discuss the public platforms that we use to spread knowledge and prepare more Oracle-certified Java developers!
In second presentation, I will focus on the top things you can do with GraalVM to take the performance of your Java application to the next level. You will see how easy it is to apply GraalVM Maven plugin to compile a Spring Boot application ahead-of-time, containerise it, and, lastly, how to use GitHub Actions to automate the build of a native executable as part of a CI/CD pipeline.
Olga Gupalo
CoffeeJUG "Good News, Everyone! Java 21: served up and ready to go!"
CoffeeJug: September'23
Let's talk about the latest version of Java, JDK 21! It's the next Long-Term Support (LTS) release after JDK 17. In this update, there are 15 exciting changes called JEPs that we're going to explore.
One of the standout features is the finalization of virtual threads, which is a significant step forward for concurrency in Java. Another cool completed addition is pattern matching for records and switch statements, making our code more concise and readable.
The Java collections framework also gets extended with new features, which will make working with data even more convenient. But that's not all! JDK 21 introduces some fresh and interesting concepts like string templates, unnamed variables, and simplified main methods, which will simplify our coding experience.
Oleh Melnyk
CoffeeJUG "Copilot is my Copilot: Pair programming with an AI"
CoffeeJug: August'23
Copilot is my Copilot: Pair programming with an AI
What if you could develop better apps faster? What if you had a pair programming partner who could help you write cleaner code, catch bugs, and even write some code and tests for you, whenever you wanted or needed to do so?
GitHub Copilot is an Artificial Intelligence (AI) code completion tool that can help you write better code faster. It's not a replacement for your hard-won expertise, but it can provide timely assistance. Copilot offers code and test suggestions without judgement, letting you evaluate and consider - then use or discard - logic for inclusion that complements your existing code and style choices. Why overflow your stack when you can use a trained professional?
Come to this session to learn -- from a software developer and licensed pilot -- how to level up your development process using Copilot!
Mark Heckler
CoffeeJUG "Event Streaming in the Cloud Native World with Apache Pulsar"
CoffeeJug: June'23
Event Streaming in the Cloud Native World with Apache Pulsar
The world is moving at an unprecedented pace and much of it has been powered by the innovations in software and systems. While event handling, messaging, and processing are not necessarily brand new concepts, the recent emergence in hardware such as virtualizations, multi-core processors, and so on, are in fact pushing the envelope in software design and development, elevating it to higher levels of capabilities never seen before. In the case of streaming which very often leverages on the underlying messaging mechanism(s) to bring distributed messaging to higher forms of purposes, such as IoT/IIoT applications, AI/ML data pipelines, or even eCommerce recommendations, event streaming platform has indeed become the “glue” in enabling data to flow through disparate systems in the pipeline and in a very dynamic fashion.
Mary Grygleski
CoffeeJUG with Oleh Melnyk
CoffeeJug: March'23
* The anniversary release of Java 20 just in springtime - non-LTS but noteworthy.
* Make monolithic apps great again with Spring Modulith
Spring Modulith is a new, experimental Spring project that supports developers in expressing these logical application modules in code and in building well-structured, domain-aligned Spring Boot applications.
Oleh Melnyk
CoffeeJUG with Andrii Rodionov
CoffeeJug: December'22
Implementing Raft protocol with project Loom
We are living in an age of distributed systems. And one of the most challenging problems there is the consensus problem.
Raft is a consensus protocol that is used in many systems like etcd and Kubernetes, Consul, Kafka, Hazelcast etc. This protocol is based on asynchronous communication between nodes in a cluster (with leader election, log replication, tolerating node failures, timeouts etc.), so we need some useful mechanisms and language features to effectively implement protocol behaviour.
During the talk, we will briefly discuss the basics of the Raft protocol, and then in code, we will see how parts of it can be implemented using the promising Loom project.
Andrii Rodionov
CoffeeJUG with Taras Boychuk
CoffeeJug: July'22
Why StackOverflow is fast food for learning, and how to learn effectively?
Most developers misuse StackOverflow which kind of solves the problem in the long term. But such fast food harms the formation of deep understanding and strong skills. Therefore, in the long term, such devs progress very slowly... To solve this problem, you need to limit fast food and learn how to organize effective learning.
Taras Boychuk
CoffeeJUG with Andrii Rodionov
CoffeeJug: January'22
GraalVM Native Image Deep Dive
Cloud, microservices, serverless - these buzzwords bring GraalVM Native image to the top as a new form of Java apps distribution. It allows your apps to have fast startup time, quick scaling and not to depend on JRE. But most of the frameworks, libraries, and even Java platform itself doesn't fit well into Native image model. Who is to blame and what to do?
During this Deep dive talk we will discuss GraalVM Native image compilation steps, how they contradict with traditional development practices, and what you should consider to make your application ready for GraalVM Native image.
Andrii Rodionov
CoffeeJUG with Rafael Benevides
CoffeeJug: December'21
Tracing Cloud-Native applications: From stacktrace to Opentracing
We, developers, were used to debug applications on thread at a time. However, with the advent of microservices architectures, what used to be a single stack trace in a single machine became many stack traces spread among computers. Come to this session to see how to perform a distributed tracing in your application using Jaeger with Opentracing.
Rafael Benevides
CoffeeJUG with Konstantine Slisenka
CoffeeJug: December'21
How we built serverless application on AWS
In this talk I’m going to show how we implemented a serverless application on AWS using lambda functions, CloudFront, API Gateway, and other services. I will present the application architecture and explain design decisions. I will also focus on security and high availability aspects.
Konstantine Slisenka
CoffeeJUG with Yuriy Nakonechnyy & Ihor Banadiga
CoffeeJug: October'21
Software Architecture Basics
- Design patterns, frameworks, libraries, tech stacks, data storages and software architecture
- What is important and what is not in each software project?
- What are non-functional requirements and how they impact software architecture?
Yuriy Nakonechnyy
CoffeeJUG with Billy Korando
CoffeeJug: September'21
To Java 17 and Beyond!
The next version of Java, 17, will be releasing soon and will mark a major point of change in the Java community as many organizations migrate to the latest Java runtime. So what has changed in Java if you are still primarily writing in Java 11? Or even Java 8? In this presentation we will look at some of the key changes that have been added to Java post-8. The large changes; the Module System and Records, quality of life improvements; var, text blocks, pattern matching, and the many performance and runtime improvements. We will finish the presentation with a brief look ahead to some of the changes that will be coming to Java in the near future and why Java’s future is bright.
Billy Korando
CoffeeJUG with Oleh Melnyk
CoffeeJug: September'21
Hey, do you need some features? Stay cool with modern Java!
The first talk includes brief introduction of the current state of java evolution and what 2021 brought for java developers so far. Also I will cover the most interesting features of Java 16. The second talk is about the features of Java 17 - the next LTS release since Java 11. Also, we will take a step forward to find out what is already prepared for Java 18. To summarize - is it worth to do update and migrate our applications to use modern and cool version of JDK?
Oleh Melnyk
CoffeeJUG with Ostap Kovalchuk
CoffeeJug: August'21
TDD in a nutshell
We'll talk about my experience and challenges with TDD, some TDD philosophy and hopefully cover one of the testing approaches with live coding. We'll cover two more testing approaches + talk about the cons and pros of TDD. Summary and Q/A.
Ostap Kovalchuk
CoffeeJUG "Tracing Issues in Your Application"
CoffeeJug: July'21
Tracing Issues in Your Application
Imagine that you’re receiving a support ticket that your application is not working fine. You read the attached stack trace and now it’s time to solve the mystery - what did the user do that led to throwing of this exception? Is it possible to find all the logs from all the applications that correspond to this user’s business operation? What if the user is complaining that the system is slow? How can you decide which concrete operation is the culprit? Is there any way to visualize the latency? Let’s answer these questions by taking a deep dive into application observability using distributed tracing, metrics, and correlated logs via Spring Cloud Sleuth, Tanzu Observability, OpenZipkin, OpenTelemetry, and more! The presentation will consist of some theory but there’ll also be live coding and demos.
Marcin Grzejszczak
CoffeeJUG "Replicating production on your laptop using the magic of containers"
CoffeeJug: June'21
Replicating production on your laptop using the magic of containers
Containers are an amazing technology that are revolutionising how we deploy and create applications. Docker and Kubernetes are helping developers and organisations realise the magical potential that container technology and orchestration offer. Enter MicroShed and the Testcontainers framework enabling local test automation that leverages that magical portability containers offer. In this session we'll explore how Testcontainers can help you run and test with true-to-production environments in development with minimal re-writing of your test code.
Grace Jansen
CoffeeJUG with Ivan Verhun & Roman Kniazevych
CoffeeJug: June'21
Compile-time annotation processing in Java
Every Java developer knows about the power of annotations and libraries like Lombok. However not everyone understands how this "magic" works, and how can we leverage it besides using third-party libraries. This talk reveals the back-stage of compile-time annotation processing.
Ivan Verhun
CoffeeJUG "M3 and Prometheus: Monitoring at scale for everyone"
CoffeeJug: June'21
M3 and Prometheus: Monitoring at scale for everyone
For the past few years, Prometheus has solved many people’s monitoring needs, and it’s exceptional at what it does. Prometheus has exploded in popularity, and now many wish to store more metrics at longer retention and establish a single pane of glass on top of Prometheus for their monitoring needs across regions. M3, first developed at Uber, is an open-source metrics platform that you can deploy and run using Kubernetes and Helm that integrates with Prometheus. It can store petabytes of metrics data with replication for high availability in a cost-efficient manner, with compaction-averse time series storage, and an index that can efficiently index and run dimension-based regexp queries on billions of metrics.
Łukasz Szczęsny
CoffeeJUG "Spring Boot Omakase: A fast-paced "chef’s choice" dive into fun & useful topics!"
CoffeeJug: April'21
Spring Boot Omakase: A fast-paced "chef’s choice" dive into fun & useful topics!
Spring Boot has revolutionized the Java space and continues to do so, evolving constantly to increase developers' superpowers and advance the state of production-grade software development.
Presenting a dynamic technology before vastly different audiences often limits what can be proposed & presented. Let’s fix that!
This session is an omakase, a "chef’s choice" of key points and the latest/coolest capabilities for developers in the Spring Boot ecosystem. Known by French chefs as m’étonner ("Astonish me!"), the goal is to combine useful patterns and new possibilities in one fast-paced live-coding adventure from which everyone leaves with something tasty to chew on. Come for the apps, stay for dessert, leave satisfied & excited for the next "course" of production software!
Mark Heckler
CoffeeJUG "Demystifying Garbage Collection in Java"
CoffeeJug: April'21
Demystifying Garbage Collection in Java
This talk is meant to demystify how garbage collection (GC) works in a Java runtime. After laying out the basics I’ll explain how each GC algorithm work and how they can be implemented in a real world JVM (e.g. OpenJ9, Hotspot). How are these algorithms put together to make up a good GC configuration, and how one can better select a configuration/policy for their application? These are some of the questions that I will be addressing during this talk. I will do so by tying these algorithms to OpenJ9 GC policies and compare them to other policies such as G1, ZGC and Shenandoah. Different programs have different behaviours; by using the more appropriate policy for your application, it can improve its performance considerably. Lastly, I will conclude the talk by mentioning one advanced feature of OpenJ9 GC called double mapping arraylets, which is a way to improve memory management of large arrays in region based GCs. By the end of the talk you will have a better understanding on how the JVM manages its memory and be able to choose the more appropriate GC policy for your application. The talk is target for anyone who’s interested in JVMs (not advanced knowledge required)
Igor Braga
CoffeeJUG "Java Green threads to Loom project"
CoffeeJug: January'21
From Java Green threads to Loom project
25 years ago Java has started from the Green threads - a pseudo-concurrency paradigm. Java thread became a real native OS thread, after the appearance of the multi-core CPUs. Also, the paradigm has shifted to Thread pools with the usage of different Executors. But what is happening now, when even smartphones have several cores? The paradigm has shifted again to virtual threads (coroutines). Go has goroutines, Kotlin and Python - coroutines, and Java will have the project Loom.
In this talk we will review Java threads history, will understand coroutines usage, and will look to the future of Java virtual threads API.
Loom project in code
We will try to launch several examples with virtual threads using Loom Early Access Build
Andrii Rodionov
CoffeeJug: Knowledge is Coming
Kotlin for the back-end. Does the fancy code bring much value?
How much value does Kotlin bring on top of Java on the back-end? Does it provide just a slight improvement, a decent improvement, or a completely new experience? We'll have a live coding session so you can get a chance to feel what is Kotlin. And then we'll discuss a couple of points of view based on the research on this topic. So you will be able to be more accurate when you need to compare Kotlin and Java.
Better software is not a matter of technology, it is a matter of people
Why do we ever want new languages and technologies? For the sake of improvements, you'd say. What do we want to improve? A software we build. And the way we build it as well. So we improve it by getting better technologies? Great software has been build by great people not by great technologies. The same as being a talented engineer doesn't mean to know a proper language. Since it's not about technology, it's about people.
Taras Boychuk
CoffeeJug: Rocktober
gRPC became more and more popular. It has a set of advantages over REST. However, support of gRPC in the browsers is not mature enough. It would be great to have gRPC for interservice communication but REST for client-to-service communication. Do we have to implement our API twice? Short answer: No.
Serge Bishyr
CoffeeJug: Back to School
Tech serves the business. Not business serves tech, such an IoC. What the main metrics for tech from a business perspective? Obviously answers popping in head: "Great performance, high reliability, scalability, etc". But does it really matters if you cannot get the app, cause it's still in development? NO. The main metric in constantly changing worlds is: "When I can use it to sell for customers, also known as Time to market?". So what is this talk about? As engineers we responsible to select the best technologies that fit the business needs. Needless to say that existing tech solution is complex and becoming more complex for multiple reasons. With apptronic.net/core we found the way to cut the edges and simplify the current approach to develop apps using Kotlin Multiplatform dramatically decreasing the time to market for mobile solutions. Want to know more? Join the talk.
Andriy Makovskyi
CoffeeJug: Spy Session
Hacking OAuth: Pitfalls and Remedies
OAuth 2.0 is the most widely used standard for secure authorization on the Internet for modern Web and Mobile apps. There are a lot of pitfalls that can lead to an insecure app.
In this talk, Micah gives a brief overview of OAuth and its mechanics. Then he leads you through a number of risks and remedies to best secure your applications. This isn’t just theory, but the practical application of certain risks and how to configure OAuth and write your code to mitigate those risks.
Micah Silverman
CoffeeJug: Summer Waterfall
The Evolution From Monolith to Microservices to Serverless and Beyond
If you are a developer or an architect, the odds are that you grew up building systems that are now commonly known as monoliths. In the last few years, we've seen a significant evolutionary shift to systems composed of microservices. Today we are witnessing the birth of serverless. The rate of evolutionary change is accelerating. But what is changing, and what remains the same? In this talk, we will look at the evolution from the monolith to serverless seeking to extract the variables and the constants. We will also look at the progression from serverless to an inevitable future of frictionless computing.
Hugh McKee
CoffeeJug: Java Anniversary
Java Modules (aka JPMS) for day-to-day Java developers
Java 14 has been released recently and a feature introduced in Java 9 stills a mystery for many Java developers. JPMS is a change to the Java libraries, language, and runtime. This means that it affects the whole stack that developers code with day-to-day, and as such JPMS could have a big impact. For compatibility reasons, most existing code can ignore JPMS. However, have you wondered what you as a developer can benefited from using Java Modules in your application? Come to this session and learn how to use Java Modules, and what are the benefits to you.
Rafael Benevides
CoffeeJUG: The Very First Online
CoffeeJug: The very first Online
About the talk "Machine Learning: The Bare Math Behind Libraries"
During this presentation, speakers will answer how much you’ll need to invest in superhero costume to be as popular as Superman. We will generate a unique logo that will stand against the ever-popular Batman and create new superhero teams. We shall achieve it using linear regression and neural networks.
Machine learning is one of the hottest buzzwords in technology today as well as one of the most innovative fields in computer science – yet people use libraries as black boxes without basic knowledge of the field. In this session, we will strip them to bare math, so next time you use a machine learning library, you’ll have a deeper understanding of what lies underneath.
Łukasz Gebel
CoffeeJUG: In Test We Trust
CoffeeJug: In Test We Trust
Performance testing is done right (ENG)
Everybody says that they do performance testing. But do you do it right? Are you sure that the interpretation of the numbers, or even the number themselves, has really something to do with the truth? In this talk, we will identify some of the common bad practices and mistakes while doing performance testing. We will try to answer questions like: * What is the difference between latency and throughput testing and what to be careful about? * Am I using the right number of stressors during the test? * How to compare two performance results? * How do I prevent performance regression from happening? * ... and more.
Jiri Holusa
CoffeeJUG: Search for Holy GraalVM
CoffeeJug: Search for Holy GraalVM
Intro to GraalVM and Native Images
In this talk, we'll briefly go through key concepts of GraalVM and then focus on the native image overview. We'll talk about the best use cases for GraalVM native images and how to make sure it's the right solution for your project, where to get started, what are some helpful configuration options, and how to build native images within popular Java microservice frameworks for real-world projects.
Alina Yurenko
CoffeeJUG: Hazelcast's Carol
CoffeeJug: Hazelcast's Carols
Where is my cache? Architectural patterns for caching microservices
Everybody needs caching! However, where exactly to place it in your system? Inside your application or as a layer in front of it? Inside or outside the container? In the era of Cloud Native and Microservices these questions get even more complicated. In this session I'll present different architectural patterns for distributed caching: Embedded, Client-Server, (Kubernetes) Sidecar, and Reverse HTTP Proxy Caching. During this talk you'll learn: - What are the design options for including the caching layer - How to apply caching layer in Istio (and Service Mesh in general) - How to use distributed HTTP caching without updating your microservices - Common pitfalls when setting up caching for your system
Rafał Leszko
CoffeeJUG: Reactive Fall Foliage
CoffeeJug: Reactive Fall Foliage
Reactive for the Impatient (A Gentle Intro)
This talk presents to the audience a few of the major Java-based reactive frameworks and toolkits in the market today, such as RxJava, Spring Reactor, Akka, and Vert,x. It will start by going over the basic tenets of reactive systems, and some examples of the problems that these systems aim to solve. It will discuss the 2 most commonly used Java frameworks for implementing reactive coding - RxJava and Spring Reactor, and will show some code samples.
Mary Grygleski
CoffeeJUG: October Fest
Two talks by Sebastian Daschner, Lead Java Developer Advocate @ IBM
Modern Enterprise Java from the ground up
Enterprise Java has come a long way. Let’s not focus on the old, darker days, but modern approaches on how to do enterprise applications. Where do we start? What technologies, tools, and approaches are a good choice for our applications and what allows us to effectively implement business logic and to deliver value to our users?
Seven Principles of Productive Software Developers
When working as a software developer, as well as in any other job, it’s important to be productive and to get things done. You want to focus on what adds value, increase your development speed, and cut out as many of the cumbersome, boring and repetitive tasks as possible.
Sebastian Daschner
CoffeeJug: This City Needs a Hero
Stay Secured & Up to Date - the motto of the August meetup. Remote Freelance Software Gardener from Poland Piotr Przybyl and two talks:
1. Passwords: do you keep them safe?
2. Java. Migrating to 11 in the real app
At the first talk we'll consider meaning that keeping passwords in a [web] application is a boring and trivial task: some hashing, maybe some salt, et voilà! However, storing passwords and other sensitive data might not be as simple as it seems. You'll see a bunch of examples of what to do and what not to do based on a freelance's experience. Come and see if you're not sitting on a bomb.
The second talk it's real experience how managed to migrate two real Java server apps to Java 11. Why it was done, what and how was done, what wasn't required. Some hints for you.
Serge Bishyr
CoffeeJug: Stay Secured & Up to Date
Stay Secured & Up to Date - the motto of the August meetup. Remote Freelance Software Gardener from Poland Piotr Przybyl and two talks:
1. Passwords: do you keep them safe?
2. Java. Migrating to 11 in the real app
At the first talk we'll consider meaning that keeping passwords in a [web] application is a boring and trivial task: some hashing, maybe some salt, et voilà! However, storing passwords and other sensitive data might not be as simple as it seems. You'll see a bunch of examples of what to do and what not to do based on a freelance's experience. Come and see if you're not sitting on a bomb.
The second talk it's real experience how managed to migrate two real Java server apps to Java 11. Why it was done, what and how was done, what wasn't required. Some hints for you.
Piotr Przybył
CoffeeJug: Summer Holiday
The first speaker at our meetup was Grzegorz Piwowarek from Poland, Lead Software Engineer at Casumo with two talks. The first one: Fantastic Frameworks and How to Avoid Them. In this session, we’ll have a look at the cons of adopting invasive frameworks and how we can minimize the problems they cause.
And the second: Purely Dysfunctional Data Structures. Where we'll explore what the concept of Persistent Data Structures is, how are they implemented, and how much blood, sweat, and tears need to be done on the other side to make the experience of working with immutable data structures at least a bit efficient.
Grzegorz Piwowarek