Conferences & Events
GR8Conf Agenda
GR8Conf is approaching fast. Three days awesome conference, mixed with workshops, at the IT-University of Copenhagen from May 27th to 29th, 2019.
I will be talking about Micronaut and Grails 4 and hope to see you there.
๐Voucher code: Subscribe ;-)
๐
Deadline: 30th April
๐ฃ35% OFF
If you are working within the Groovy Ecosystem, Micronaut or Devops, GR8Conf is a great conference to get yourself or your team the training and inspiration you need.
Micronaut
Micronaut Security Deep Dive
I am teaching this week a Micronaut security workshop filled with lab exercises, join me and learn all about Micronaut's security features.
๐
Wed, Apr 24, 9:00am to 12:00pm
๐
Thu, Apr 25, 9:00am to 12:00pm
๐Online
๐จโ๐ซYours truly
๐ต: 100 USD
The following topics are covered in this workshop:
- Security installation
- Access authenticated user
- Define security: @Secured, Intercept URL Map
- Session-based authentication
- Basic authentication
- LDAP authentication
- Database authentication
- JSON web token (JWT) validation, generation etc.
- JWKS
- Security events
- Token propagation.
- Oauth2
- authorization code flow
- password grant flows
- integration with third-party Oauth2 providers: Auth0, Okta, Keycloack, AWS Cognito
โบ Live Deployment of a Micronaut Application On Oracle Cloud
You may have heard of gamers, streaming their game performance on twitch. @recursivecodes is going to do a live a stream of a Micronaut app deployment on Oracle Cloud. ๐ ๐ปโโ๏ธ
๐
Monday, Apr 22
โฐ 6:00 PM GMT+2
โณ1 hour
You've built your first Micronaut application, so now it's time to deploy it to the cloud! We'll start with a basic VM deployment including the networking configuration to make the app web accessible. Then we'll look at deploying the application to Docker.
A common mistake with the use of @Value
The @Value
annotation receives a String value which is a mix of static content and placeholder expressions. This can lead to confusion if you attempt to do the following: @Value("my.url") String url;
Fortunately, Micronaut has a solution for it. The solution is in the form of
io.micronaut.context.annotation.Property
annotation
Java
Guide To Java 8 Optional
Just read it, if only to understand the difference between orElseGet
and orElse
:
Notice that when using
orElseGet
to retrieve the wrapped value, the getMyDefault API is not even invoked since the contained value is present. However, when usingorElse
, whether the wrapped value is present or not, the default object is created. So in this case, we have just created one redundant object that is never used.
DevOps
GitOps-style continuous delivery with Cloud Build
I am working on a project at OCI which uses Cloud Build and Google Kubernetes engine to create a continuous delivery pipeline. I am involved in the pieces which we are writing with Micronaut.
We are using a strategy almost identical as the one described in this tutorial:
In this tutorial, you create a CI/CD pipeline that automatically builds a container image from committed code, stores the image in Container Registry, updates a Kubernetes manifest in a Git repository, and deploys the application to Google Kubernetes Engine using that manifest.
Web frameworks
How Fast is Spring?
I wonder what triggered @david_syer to write a blog post about Spring performance. ๐
Whatever the future brings, I think we can be certain that Spring will stay as lightweight as possible, and continue to improve performance, in terms of startup time, memory usage and also runtime CPU usage. The most promising lines of attack at present are the functional bean registrations, and probably some automated way to generate those from @Configuration, plus the work we are doing with the Graal team at Oracle to make GraalVM more generally usable for Spring Boot application
Comment
Apologies for the lack of newsletter in the past weeks. Hopefully, things can get back to weekly pace soon. Let me recap:
In this issue a little bit of Micronaut and this week's agenda.
Sergio del Amo