Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/joshlong-attic/2024-12-3-perth-workshop

a workshop for some nice folks in Perth, Australia
https://github.com/joshlong-attic/2024-12-3-perth-workshop

Last synced: 3 days ago
JSON representation

a workshop for some nice folks in Perth, Australia

Awesome Lists containing this project

README

        

# README

bit.ly/spring-tips-playlist
youtube.com/@coffeesoftware

## Basics
* which IDE? IntelliJ, VSCode, and Eclipse
* your choice of Java: GraalVM
* start.spring.io, an API, website, and an IDE wizard
* Devtools
* Docker Compose
* Testcontainers
* banner.txt

## Development Desk Check
* the Spring JavaFormat Plugin
* Python, `gofmt`, your favorite IDE, and
* the power of environment variables
* SDKMAN
* `.sdkman`
* direnv
* `.envrc`
* a good password manager for secrets

## Data Oriented Programming in Java 21+
* an example

## Beans
* dependency injection from first principles
* bean configuration
* XML
* stereotype annotations
* lifecycle
* BeanPostProcessor
* BeanFactoryPostProcessor
* auto configuration
* AOP
* Spring's event publisher
* configuration and the `Environment`
* configuration processor

## AOT & GraalVM
* installing GraalVM
* GraalVM native images
* basics
* AOT lifecycles

## Cloud Native Java (with Kubernetes)
* graceful shutdown
* `ConfigMap` and you
* Buildpacks and Docker support
* Actuator readiness and liveness probes

## Data
* `JdbcClient`
* SQL Initialization
* Flyway
* Spring Data JDBC

## Batch Processing
* Spring Batch
* load some data from a CSV file to a SQL database

## Scalability
* non-blocking IO
* virtual threads
* José Paumard's demo
* Cora Iberkleid's demo

## Web Programming
* clients: `RestTemplate`, `RestClient`, declarative interface clients
* REST
* controllers
* functional style
* GraphQL
* batches

## Architecting for Modularity
* Privacy
* Spring Modulith
* Externalized messages
* Testing

## Artificial Intelligence
* what's in a model?
* Spring AI
* `ChatClient`
* prompts
* advisors
* Retrieval Augmented Generation (RAG)

## Microservices
* centralized configuration
* API gateways
* reactive or not reactive
* event bus and refreshable configuration
* service registration and discovery

## Messaging and Integration
* "What do you mean by Event Driven?"
* Messaging Technologies like RabbitMQ or Apache Kafka
* Spring Integration
* files to events

## Kafka
* a look at Spring for Apache Kafka
* Spring Integration
* Spring Cloud Stream
* Spring Cloud Stream Kafka Streams

## Security
* adding form login to an application
* authentication
* authorization
* passkeys
* one time tokens
* OAuth
* the Spring Authorizatinm Server
* OAuth clients
* OAuth resource servers
* protecting messaging code

## Q&A
* I may not know, but I probably know who does know...