Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/joshlong-attic/2024-12-3-perth-workshop
- Owner: joshlong-attic
- License: apache-2.0
- Created: 2024-12-02T03:52:08.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2024-12-03T01:08:46.000Z (23 days ago)
- Last Synced: 2024-12-03T02:24:42.877Z (23 days ago)
- Language: Java
- Size: 168 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: security/misc/init_db.sh
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...