background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Download "Spring Office Hours: Episode 27 - SpringOne Essentials Recap"

input logo icon
Video tags
|

Video tags

spring
office
hours:
episode
27
springone
essentials
recap
Subtitles
|

Subtitles

subtitles menu arrow
  • ruRussian
Download
00:00:02
[Music]
00:00:11
thank you
00:00:18
[Music]
00:00:41
thank you
00:00:44
foreign
00:00:47
[Music]
00:01:10
[Music]
00:01:19
[Music]
00:01:24
[Music]
00:01:33
foreign
00:01:36
[Music]
00:01:56
good morning good afternoon good evening
00:01:59
and welcome to another episode of Spring
00:02:01
Office hours I'm your host Dan Vega
00:02:03
alongside me as always my good friend
00:02:06
DeSean Carter Deshawn how are you doing
00:02:08
I'm good how are you like it's cold in
00:02:11
Minnesota it's very cold in Cleveland I
00:02:14
tweeted out earlier I'm glad I still
00:02:16
have the Intel based MacBook as a laptop
00:02:18
eater yep it does heat you up very well
00:02:21
and I'm wearing my viewcomp Florida
00:02:23
shirt to remember the good old Florida
00:02:26
Sun
00:02:27
um I also tweeted out hey I'm not above
00:02:30
if you want to send me free swag I will
00:02:32
wear it on the show so I'm not above
00:02:34
that can we bought hello hello welcome
00:02:37
to this show
00:02:39
cool so I would say I haven't seen you
00:02:42
in a while but I have I saw you last
00:02:44
week Chris yes it feels like just
00:02:47
yesterday Greg's in the house
00:02:50
yeah yeah we're gonna talk about uh last
00:02:53
week we're gonna get into spring one
00:02:55
Essentials this was the online
00:02:58
experience in place of the uh spring one
00:03:02
event that unfortunately had to get
00:03:03
canceled in December but last week was
00:03:06
awesome spring one Essentials was
00:03:08
awesome there was so much there were so
00:03:10
many announcements there's so many great
00:03:12
presentations it was great to be back
00:03:14
around people again in an office with a
00:03:17
color coordinated bookshelf and games
00:03:21
um so yeah it was really great to be in
00:03:23
San Francisco and we'll kind of talk
00:03:24
through that today
00:03:26
it was great it was definitely an event
00:03:30
uh thousands of attendees uh I still
00:03:34
kind of feel some of the momentum from
00:03:37
last week online uh lots of great
00:03:40
questions lots of great content was
00:03:42
delivered uh and yeah it was it was
00:03:46
refreshing it I felt like I got upgraded
00:03:48
during spring one Essentials last week
00:03:51
for sure all right um as always please
00:03:54
get your questions in doesn't have to be
00:03:57
related to Spring one Essentials uh ask
00:03:59
your questions we'll see if we can't
00:04:01
answer them
00:04:02
uh we did a lot of that last week you
00:04:04
know anytime I think any time we're
00:04:06
around people we get we get questions
00:04:08
thrown at us which is good
00:04:10
um kind of builds uh builds up our our
00:04:13
vast knowledge of of different uh
00:04:15
customers and uh different questions we
00:04:18
get asked so please get those questions
00:04:20
in we'll see if we can't get them
00:04:21
answered and it's your questions it's
00:04:23
that feedback your questions are what
00:04:26
help us understand hey maybe we're not
00:04:28
documenting something right uh maybe
00:04:30
we're missing something
00:04:31
read need the feedback so your questions
00:04:34
help us understand where our community
00:04:36
is and how we can help we are Advocates
00:04:39
we want to advocate for you exactly
00:04:42
so what I'm going to do is share my
00:04:44
screen we're going to go through a whole
00:04:45
bunch of stuff uh before you do that I
00:04:47
want to do one quick thing yeah uh I did
00:04:49
send out stickers I'm sending stickers
00:04:51
out all over the world if you would like
00:04:54
a spring office hours sticker all you've
00:04:58
got to do is email us stickers at
00:05:03
springofficehours.io
00:05:09
and send me your I need your address uh
00:05:13
we're in the US so it might take a while
00:05:15
for some of you but send us your full
00:05:17
address that's it that's all you have to
00:05:18
do email us stickers at Spring Office
00:05:21
hours dot IO
00:05:24
uh with your address and we will send
00:05:26
you stickers so I've sent out some
00:05:28
stickers so expect them soon for those
00:05:31
of you that have asked
00:05:33
oh we do got a question maybe we can
00:05:35
jump on that before we get into some of
00:05:38
today's
00:05:39
items what's the best way to upgrade to
00:05:43
the latest version of spring Cloud
00:05:45
spring boot do you want to start
00:05:47
yeah so I don't know about spring Cloud
00:05:49
I don't have any specifics on that I can
00:05:52
talk more about spring boot there is a
00:05:55
really good migration guide I think we
00:05:58
should probably have this on hand to
00:06:00
just keep it on because we get this
00:06:01
asked a lot but there is a spring boot 3
00:06:04
migration guide we'll see if we can't
00:06:05
get that added to the show notes and
00:06:08
this walks you through all the things
00:06:10
that you want to look out for as you
00:06:11
upgrade to springboots 3.0 the biggest
00:06:15
thing is maybe not trying to jump from
00:06:18
say like two or two one or two four all
00:06:21
the way to three try and get yourself up
00:06:23
to 2.7 and on Java 17 make sure you're
00:06:27
good there then make the move to 3.0 and
00:06:30
Baseline at Java 17 and Jakarta ee 9 and
00:06:34
10. and all the good stuff there there
00:06:37
are also some suggestions if you're
00:06:38
using like Security in your application
00:06:40
there are changes in Spring Security Six
00:06:44
that have a lot of features not a lot a
00:06:47
few features that have been deprecated
00:06:48
so you want to make those changes as
00:06:50
well again that migration guide's the
00:06:52
best place to start because it has a
00:06:54
whole document of like these are the
00:06:56
things you need to look out for
00:06:58
as far as spring Cloud I don't know the
00:06:59
answer that again so spring cloud is is
00:07:02
such a big portfolio of things right
00:07:06
um you know it just depends what you're
00:07:08
using and what you're trying to upgrade
00:07:10
to I don't think I don't know of
00:07:12
anything off the top of my head that
00:07:14
would stand out to me going oh make sure
00:07:16
you look out for that so
00:07:18
I have seen
00:07:20
many many examples of what this
00:07:25
community is doing migrating on blog
00:07:29
posts so lots of examples maybe I should
00:07:32
add those to the show notes where
00:07:33
community members have said I was
00:07:36
upgrading from this version to this
00:07:38
here's the steps I took here's what I
00:07:40
ran into so there's lots of evidence out
00:07:43
on the blogs out in the internet for
00:07:46
what people have done so I can tell that
00:07:48
a lot of people are excited about this
00:07:49
migration to Spring boot 3. yep
00:07:54
cool all right no other questions I'm
00:07:57
going to share my screen here I have a
00:08:00
very important announcement to make
00:08:03
today is our good friend Josh Long's
00:08:06
birthday so he gets birthday balloons
00:08:08
happy birthday happy birthday
00:08:12
so happy birthday to Josh I don't think
00:08:15
Josh really needs an introduction
00:08:17
um he is our friend he is our co-worker
00:08:19
he is the longest standing spring
00:08:22
developer advocate in the world that is
00:08:25
the title I think
00:08:26
um so Josh's birthday so if you get a
00:08:28
chance go out on Twitter wish him a
00:08:29
happy birthday he also I won't say this
00:08:32
is a new one because there was uh videos
00:08:34
from a few years ago he has resurrected
00:08:37
this YouTube channel and he is doing
00:08:40
some focus on this uh so if you want to
00:08:43
go ahead and subscribe to this channel
00:08:45
coffee and software with Josh long he by
00:08:48
the way did not ask me to plug this I am
00:08:50
plugging this on my own because it's his
00:08:52
birthday this is your birthday present
00:08:53
Josh
00:08:54
and it's going to be good content for
00:08:57
sure absolutely
00:09:00
so that's Josh happy birthday another
00:09:03
calendar I don't know why Josh Long's
00:09:05
birthday is not on the release calendar
00:09:06
but it should be
00:09:08
uh so one thing we like to do is take a
00:09:10
look at the release calendar if you
00:09:12
don't know about it calendar.spring.io
00:09:14
kind of keeps you up to date with
00:09:16
everything that's going on in the spring
00:09:18
ecosystem not just spring framework and
00:09:20
spring boot all of the other projects
00:09:22
and there are a lot there's a lot to
00:09:24
keep up with so this is a really good
00:09:26
place to start
00:09:27
so today is Tuesday the 31st
00:09:31
um not much happening this week so sts4
00:09:34
uh dot 17.2 release we weren't here last
00:09:38
week a couple things got released last
00:09:40
week as well
00:09:41
um integration for AWS spring Cloud
00:09:44
stream binder AWS
00:09:46
and then the previous week was uh
00:09:48
Tuesday the 17th we were here springboot
00:09:52
3.0.2 did get released on that 19th
00:09:55
there so that is the latest version if
00:09:58
you go over to start.spring.io whole
00:10:00
bunch of fixes and patches are in there
00:10:02
that pulls in that spring framework
00:10:05
6.0.4 so really great place to go ahead
00:10:09
and start if you want to keep up with
00:10:10
what's happening in the spring ecosystem
00:10:13
uh we have another question out here is
00:10:15
spring modulus for monolithic or can I
00:10:19
apply it to microservices
00:10:21
how do you feel about that one
00:10:24
um I don't I'm not very familiar with
00:10:27
the project okay well I'll jump on it
00:10:29
I've I know I know who's behind it and I
00:10:33
know the general premise of it but so
00:10:36
the idea uh is a long-standing argument
00:10:39
like hey do I need microservices if I'm
00:10:42
starting today uh and I kind of know
00:10:44
what my app should look like and maybe
00:10:45
it's just me uh I'm the only one doing
00:10:48
development uh let's call it an
00:10:50
experiment
00:10:52
I shouldn't make a bunch of projects I
00:10:55
shouldn't have multiple repositories uh
00:10:57
it'll be faster if I put things into one
00:10:59
repository I keep all of my thoughts
00:11:01
together what the spring modulus is
00:11:04
going to do is that it puts in place
00:11:06
some guard rails so that when it is time
00:11:10
to split it out you're adding members to
00:11:12
your team it's time to split that out
00:11:13
into microservices and get the value of
00:11:16
being able to release things separately
00:11:18
on that path to production
00:11:20
it puts in place those guard rails to
00:11:23
make it so that you can pull apart
00:11:26
your mono or yeah monolith you can split
00:11:29
that out easily into microservices at
00:11:32
some later date that's the main thing so
00:11:34
it prevents you from doing uh calls
00:11:38
across packages uh where it'll make it
00:11:41
difficult you'll limit the uh
00:11:44
interdependencies it'll limit the
00:11:46
coupling between those Services those uh
00:11:49
modulus modules
00:11:52
cool I I think you know something else
00:11:54
to remember on that subject too is
00:11:57
um you know as far as distributed
00:12:00
architectures go it's kind of become
00:12:02
synonymous with microservices and
00:12:04
microservices are just a type of
00:12:07
distributed architecture there there are
00:12:09
many other patterns and ways to
00:12:11
accomplish a distributed architecture
00:12:13
that aren't micro services so you know
00:12:16
one example I hear a lot of people say
00:12:18
is like I don't want a database per
00:12:21
service and okay that's fine you don't
00:12:23
need one like there there are ways to
00:12:25
distribute your application without
00:12:27
having separate databases for each one
00:12:29
now microsurface says have become very
00:12:31
popular because they do solve a real
00:12:34
problem and there are ways to solve that
00:12:36
problem but there are other Solutions
00:12:38
too so take a look at those do some
00:12:41
reading on on distributed architecture
00:12:43
in general let us know
00:12:45
yes hashtag Spring Office hours uh on
00:12:49
your social Spring Office hours let us
00:12:52
know how are what does your deployment
00:12:54
look like uh big or small we want to
00:12:57
hear it all let us know what it looks
00:13:00
like in your neck of the woods
00:13:02
absolutely
00:13:04
all right we
00:13:06
have a lot to get to
00:13:08
along here
00:13:10
I have a new newsletter that came out
00:13:12
Monday really just talking about spring
00:13:14
one Essentials I don't know why this is
00:13:16
so big but it is Big
00:13:19
um but I thought I would share it
00:13:20
because there are some pictures in here
00:13:21
if you weren't in San Francisco again
00:13:23
DeSean and I were in San Francisco last
00:13:25
week we were at the VMware offices in
00:13:28
San Fran this is not the headquarters
00:13:30
the headquarters are in Palo Alto but
00:13:32
there's a really awesome office in San
00:13:34
Francisco and so we got a chance to hang
00:13:35
out there for a little bit so there's
00:13:37
kind of the front desk I talked about
00:13:39
the spring one Essentials we're going to
00:13:41
go through some of this stuff today
00:13:44
when we got there early on Tuesday
00:13:46
Morning the balloons were being
00:13:48
delivered so DeSean and I carried up the
00:13:50
balloons and that was a lot of fun so
00:13:52
DeSean quick wittingly snapped this
00:13:55
picture and he if you can't tell from
00:13:58
pictures because the first time I met
00:14:00
Tashan I was like wow you are a tall
00:14:02
person desean's a big tall guy and he's
00:14:04
able to stick his arms out 20 feet in
00:14:07
front of you and get a good good wide
00:14:09
picture there so thanks for the quick
00:14:11
witty picture taking there DeShawn
00:14:13
because that one was awesome
00:14:15
absolutely this was a snack bar that we
00:14:19
had in the office for that day for the
00:14:22
day of the the spring one Essentials and
00:14:25
look at that I'm just like wow I wish
00:14:27
that was back here I can talk about the
00:14:30
uh these green things over here yeah
00:14:32
those ones do you still have these in
00:14:34
your possession
00:14:35
you warned me uh so there were some
00:14:39
leftovers they were in a bag I was
00:14:40
walking I was like man those are so good
00:14:43
and I took the bag I took the bag I took
00:14:45
the whole bag he's not lying the whole
00:14:46
bag I left I took it to my hotel and I
00:14:49
ate too much
00:14:50
I said deshaan you may not want to take
00:14:52
those that's going to hurt it it did it
00:14:56
messed me up real bad I just couldn't
00:14:58
stop eating them they were so delicious
00:14:59
and they were spring colors so it was
00:15:01
great yeah it was great I had a little I
00:15:03
had a few gummy bears and and these
00:15:05
chocolates so
00:15:07
that was awesome
00:15:09
um
00:15:10
I also
00:15:13
um here's the bookshelf from the office
00:15:15
I love a good color coordinated
00:15:17
bookshelf it just makes my OCD happy
00:15:20
really and that picture
00:15:22
that picture
00:15:24
yeah open the door to some other awesome
00:15:26
conversations
00:15:28
yeah
00:15:29
um yeah
00:15:32
just randomly tweeted something out and
00:15:35
uh some people in the office are like oh
00:15:37
we didn't know you guys were here and we
00:15:39
got to talk to some folks in the office
00:15:40
so that was really cool
00:15:43
um
00:15:44
I think that's all I want to talk about
00:15:47
there
00:15:49
um cool so a little bit more into spring
00:15:52
one Essentials so some things were
00:15:54
announced one of the things was the new
00:15:57
spring Academy
00:16:00
um so there's a blog post I'll go ahead
00:16:02
and see if we can get this added to the
00:16:04
show notes or you can head over to
00:16:06
tanzu.vmware.com
00:16:08
on the blog and this just kind of talks
00:16:11
through what the spring Academy is there
00:16:14
is
00:16:15
um a website spring.academy learn from
00:16:17
experts build like a boss love that so
00:16:22
this is an on-demand education developed
00:16:24
and curated by the world's foremost
00:16:26
experts in Spring
00:16:28
and I don't think you can think of
00:16:30
anyone who knows spring as much as this
00:16:33
guy right here you can see him right on
00:16:34
the front page uh real world real world
00:16:37
training from the best in the community
00:16:39
so
00:16:40
this is a chance to go through here
00:16:41
there is a free account so you can
00:16:44
create your own free account if you want
00:16:45
you get on on-demand access to spring
00:16:48
training you get to go through some like
00:16:51
real world projects there's also a pro
00:16:54
account I do not get a commission on
00:16:56
this but if you want to throw our name
00:16:57
in please do
00:16:59
spring Academy Pro for 2.99 a year the
00:17:03
important thing to note here is that you
00:17:05
get a spring certified professional exam
00:17:08
voucher and for those of you who have
00:17:10
done the spring certification in the
00:17:13
past
00:17:14
our problem your eyes are probably
00:17:16
lighting up right now because this used
00:17:19
to cost a lot more to go through
00:17:22
um I don't know the particulars on what
00:17:23
it cost I remember they were pretty high
00:17:25
but to go through and get trained and
00:17:28
get a certification was a lot more than
00:17:30
299
00:17:31
so this is a huge bargain you get the
00:17:34
certification exam voucher and all of
00:17:37
the lessons and pro courses uh so
00:17:40
definitely worth checking out I've seen
00:17:41
a lot of the curriculum for at least two
00:17:44
of the courses so really great content
00:17:47
here and just hats off to the entire
00:17:49
team behind putting spring Academy
00:17:52
together
00:17:54
a couple questions no like I signed up
00:17:57
for spring Academy I'm always trying to
00:17:59
learn it looks like a great resource
00:18:01
there's tons of content available for
00:18:03
free uh I haven't not started yet I'll
00:18:06
be honest uh because last week I
00:18:08
admitted I hadn't used all of the new
00:18:11
uh features in Spring data redis so I
00:18:15
spent a lot of time since last week
00:18:16
working with that but as soon as I'm
00:18:19
done wrapping up this project I'm going
00:18:20
to jump feet first into my spring
00:18:23
Academy there's a couple of questions I
00:18:26
want to hear from Dan it says I really
00:18:28
like spring boot statistics slash
00:18:30
grafana Labs can you talk open Telemetry
00:18:33
this keeps on coming up during our show
00:18:36
the spring actuator the spring boot
00:18:40
actuator was a big big deal for me in my
00:18:44
career having those metrics available
00:18:46
having insight into what's really
00:18:47
happening inside of my application made
00:18:49
a big difference in my career
00:18:52
and I get it like this is going to
00:18:55
continue to move forward Dan we have
00:18:57
talked about this quite a few times on
00:18:58
the show we've had uh Jonathan on the
00:19:01
show you might want to go and check out
00:19:03
his episode uh on tanzu.tv or
00:19:06
springofficehours.io you'll get to the
00:19:08
same place go check out that episode but
00:19:10
I definitely think this is one of those
00:19:12
topics that we could literally talk
00:19:14
about it every week it should probably
00:19:16
be a part of every single one of our
00:19:18
demos So yeah thank you stay tuned we'll
00:19:21
have more around spring Boot grafana and
00:19:24
open Telemetry real soon
00:19:26
yeah I would say I do have a little bit
00:19:29
of an observation demo in my springboot
00:19:31
3 uh what's new in Spring boot 3
00:19:34
tutorial that's on YouTube so you can
00:19:35
check that out there are chapters you
00:19:37
don't have to watch the whole thing if
00:19:38
you don't want to so jump into that
00:19:40
again the
00:19:42
changes in Spring framework six and
00:19:44
spring boot 3 are around observability
00:19:46
are really just the beginning this is a
00:19:49
story that's going to continue as we
00:19:52
keep progressing uh with the spring
00:19:54
framework but it's already there and
00:19:57
there are ways to collect a lot of
00:19:59
metrics right out of the box and use
00:20:01
something like grafana to you know
00:20:03
create your dashboards and collect that
00:20:05
information so yeah I agree we need more
00:20:09
we need more tutorials and information
00:20:12
about it because right now just the docs
00:20:15
are there there's not a lot of other
00:20:17
examples of like I as you know as a
00:20:20
learner I need to be told why first so
00:20:22
why why do I care about this stuff and
00:20:25
like what are some practical examples of
00:20:27
when I should be using this so I think
00:20:30
that's where we could we could
00:20:32
contribute all right I had a couple more
00:20:34
Dan Vega loved your videos on Spring
00:20:36
Security I love new revamp and your
00:20:38
videos help me understand quite a lot
00:20:40
awesome thanks James appreciate that
00:20:42
thank you for that feedback also uh a
00:20:45
newbie question it's a great question is
00:20:46
it possible to deploy spring boot app
00:20:48
locally on my local machine for my own
00:20:50
use to not pay for services like Heroku
00:20:52
or other paid Services yes and I highly
00:20:55
recommend you start on your laptop that
00:20:59
is not a new question that's one of the
00:21:01
big values of serene boot it kind of
00:21:03
gives you all that all the minerals you
00:21:05
need everything that you need to run
00:21:06
your application on your laptop up and
00:21:09
that's where you should start is on your
00:21:11
laptop or what about a Raspberry Pi I
00:21:13
know you're a raspberry
00:21:16
490 92 92 raspberry pies uh I'm I'm
00:21:21
debating I have a bunch of Raspberry Pi
00:21:23
uh zeros the first version that do not
00:21:26
run uh 64-bit so I can't deploy spring
00:21:31
boot native to those so I think I'm
00:21:34
actually going to give away it's about
00:21:36
25 of them uh these first version of the
00:21:40
Raspberry Pi is zero a0w and uh yeah and
00:21:45
I've also I've I heard through the
00:21:47
grapevine that the team over at graul VM
00:21:49
are are our friends over at girl VM have
00:21:53
announced that they have support for
00:21:55
risk V
00:21:58
native image support for risk B which is
00:22:01
just another architecture in that in my
00:22:04
head that same bucket for my raspberry
00:22:06
pies I can go out and buy these fifty
00:22:08
dollars thirty dollar single board
00:22:10
computers and I can deploy
00:22:12
potentially spring Boots Spring native I
00:22:14
haven't done it yet but I have some in
00:22:16
the in the in the mail on the way and
00:22:18
I'm excited to explore that real soon as
00:22:21
well like how how easy is it and how
00:22:25
exciting is it that I have these little
00:22:26
devices that I could put all over and
00:22:28
yeah and I can deploy spring boot my
00:22:31
favorite framework I can deploy it to
00:22:33
these little devices yeah when we were
00:22:34
in San Francisco we went to a computer
00:22:36
shop next next to the same next to the
00:22:39
VMware offices Sean was like you got any
00:22:41
you got any raspberry pies you got any
00:22:43
yeah he was ready to get them all so
00:22:46
well I I'll be honest I've got I've got
00:22:48
some that are unopened I think I have
00:22:50
three more still that are unopened uh
00:22:52
and I was kind of I was gonna wait and
00:22:54
do something special on a stream or
00:22:55
something uh but it's awesome I've got
00:22:57
something well let me know when you do
00:22:59
that because I'd love to check that out
00:23:00
because I I'm one of those people who
00:23:02
bought one of those books on like things
00:23:04
to do with the Raspberry Pi and never
00:23:06
bought a Raspberry Pi and never like
00:23:08
tinkered with it and it's been one of
00:23:10
those things on my long long list of
00:23:12
things I'd like I'm going to tell you a
00:23:14
little secret
00:23:16
one of the abstracts that I've put
00:23:18
together I'm really excited to present
00:23:19
oh is hot dog or not hot dog with spring
00:23:24
boot
00:23:26
I I saw the title for that abstract
00:23:29
because you sent it to me yesterday I
00:23:32
honestly didn't have a chance to read
00:23:33
the description but I feel like I need
00:23:36
to read the description now because I'm
00:23:38
not quite sure where that's going so
00:23:39
image recognition
00:23:42
oh
00:23:48
the example you know that that Target
00:23:52
architecture that Target implementation
00:23:53
is is well suited and validated on a
00:23:58
Raspberry Pi zero two w a 15 computer is
00:24:01
going to be able to run hot dog or not
00:24:03
hot dogs
00:24:06
so that was great okay cool
00:24:09
um let me go back here
00:24:13
so I appreciate you being here thank you
00:24:15
for joining us again
00:24:17
awesome
00:24:19
so we talked about spring Academy
00:24:21
um the next actually I'm going to bring
00:24:23
up this first
00:24:24
so the golden path to Spring one so
00:24:27
again Springfield Essentials spring one
00:24:30
was Essentials was the replacement for
00:24:32
spring one that was gonna happen in
00:24:35
December
00:24:36
there were a lot more sessions that were
00:24:39
going to take place in December than
00:24:41
what we are able to get to on the spring
00:24:43
one Essentials virtual conference and I
00:24:47
see we're streaming here
00:24:49
um so what we did is we reached out to a
00:24:52
lot of those speakers and said hey we
00:24:53
are creating this golden path to Spring
00:24:56
one we want to go ahead and highlight
00:24:59
your talk that you was accepted that we
00:25:01
were going to highlight in San Francisco
00:25:04
we'd love for you to come on and do that
00:25:06
for us so we did that so we created
00:25:10
um this golden path to Spring one every
00:25:13
single Tuesday and Thursday there's
00:25:16
going to be a new talk that you can go
00:25:19
ahead and check out so
00:25:22
um we have some we had one today that
00:25:24
already took place
00:25:25
um we have again every Tuesday and
00:25:27
Thursday and as you start to go down
00:25:29
this list you'll see some really amazing
00:25:31
speakers our friend Thomas Vitale Matt
00:25:35
Rabel Marco
00:25:36
Aaron and Dan Oleg I mean just so many
00:25:39
great speakers so many different talks
00:25:41
that I'm really interested in checking
00:25:43
out myself
00:25:44
and you and I are actually going to be
00:25:47
hosts of some of these shows so somebody
00:25:50
will host the each of these episodes and
00:25:53
then the speaker will go in to their
00:25:55
presentation so yeah I'm excited about
00:25:57
this this is really great to see every
00:26:00
Tuesday and Thursday 2 p.m Eastern
00:26:04
check this page out to get a list of all
00:26:06
of those shows Thursday I'm hosting my
00:26:09
first one on Thursday nice
00:26:11
it takes two to salsa
00:26:14
it's gonna be awesome I love it I saw
00:26:17
that title
00:26:19
all right
00:26:20
um
00:26:21
can you think of anything else that you
00:26:23
want to kind of talk about when it comes
00:26:25
to Spring one Essentials besides what I
00:26:27
have on screen here no it's just
00:26:29
the golden path it's really from now all
00:26:33
the way up until spring one we're gonna
00:26:35
have content that is new from from the
00:26:38
best of the best out in the community
00:26:40
they're bringing it to share it was just
00:26:42
there's so much
00:26:44
there's so much good stuff happening in
00:26:46
our community that yeah we couldn't not
00:26:48
share it so I'm excited to see how this
00:26:50
works out
00:26:52
every week upgraded
00:26:54
cool
00:26:56
um why am I not seeing oh there we are
00:27:00
cool all right so another thing that we
00:27:03
announced was the state of spring 2022
00:27:08
um this is the third year I believe
00:27:10
we've done this this is a survey that we
00:27:13
go out and Survey spring developers and
00:27:16
it gives us gives you a chance to share
00:27:18
your experiences with us
00:27:21
um this year's survey explored important
00:27:23
Trends while focusing on areas for
00:27:26
intent for potential improvements so we
00:27:28
get feedback from the community we want
00:27:30
to hear from them we want to hear from
00:27:32
you and and take that feedback and it
00:27:34
helps drive you know the next
00:27:36
Generations of spring framework so what
00:27:39
I thought we'd do is you can go get this
00:27:41
yourself you can just put in your email
00:27:43
address and you can get this but we're
00:27:45
going to do is just kind of go through
00:27:46
this and see if anything sticks out to
00:27:49
us see if anything is interesting and
00:27:51
maybe have a little discussion around it
00:27:53
sound good
00:27:55
that sounds like a great idea you know
00:27:57
Simon definitely watched the spring one
00:27:59
Essentials he's filling Us in with some
00:28:00
of the announcements uh around gemfire
00:28:02
and also rabbitmq uh I'm a big fan of
00:28:05
tap tap 1.4 got announced uh the
00:28:08
rabbitmq as a service got announced lots
00:28:11
of really really interesting stuff and I
00:28:12
also enjoyed the actual like customer
00:28:15
presentations as well a lot of really
00:28:17
good content
00:28:18
yeah I'll point out in my newsletter
00:28:20
here there is a link
00:28:21
um our colleague Rita has a really good
00:28:24
Roundup here I don't know why I didn't
00:28:26
show this before but basically if you
00:28:28
want to get a Roundup of all the
00:28:29
announcements that happened like the
00:28:31
gemfire like rabbitmq as a service which
00:28:34
is really great uh this particular blog
00:28:37
post on the tanzu.vmware.com blog is
00:28:40
really good and kind of puts all those
00:28:42
things into one place
00:28:44
foreign
00:28:45
so state of spring 2022 let's go through
00:28:49
this
00:28:51
um so the introduction just kind of goes
00:28:53
through what it is it's divided into
00:28:54
four sections modern architectures new
00:28:57
tech gaining ground upgrade and flourish
00:28:59
and springing up to speed uh there's
00:29:03
some information about kind of
00:29:05
um just an overview of what this report
00:29:08
has included
00:29:09
there's some demographics
00:29:11
[Music]
00:29:12
um
00:29:13
so from a region standpoint so our 2022
00:29:17
survey reached a total of 1500 qualified
00:29:21
individuals wide range of roles regions
00:29:24
and jobs so we see half of it almost
00:29:26
half was from Europe
00:29:28
that's really great to see
00:29:32
um years of spring boot experience more
00:29:34
than five years of experience kind of
00:29:36
dominated this survey
00:29:38
and then all kinds of you know here's
00:29:41
the demographics for the survey
00:29:43
so here's what we get to
00:29:45
um modern architectures in full flower
00:29:48
the shift to Modern architectures and
00:29:51
apis continues with Technologies like
00:29:54
open API graphqls gaining momentum
00:29:56
that's great to see so using mostly
00:29:59
modern architectures in 2021 was kind of
00:30:03
close to 50 percent we see that kind of
00:30:06
shifting a little bit even more so that
00:30:09
trend is only going to continue to climb
00:30:13
I think
00:30:15
I wonder why it's not going faster uh I
00:30:18
do get to hear customers and I do get to
00:30:21
hear things not just from the screen
00:30:23
developers but also from operations and
00:30:27
uh I think everybody understands where
00:30:30
things are headed I think everybody's
00:30:33
not everybody I think a lot of us have
00:30:34
seen the value of things like kubernetes
00:30:38
things like multi-cloud and I think that
00:30:42
it's finally starting to loosen up
00:30:45
uh so just just a feeling that I've got
00:30:48
at the beginning of the year is that
00:30:49
this is definitely true and I think it
00:30:51
the adoption curve here is going to
00:30:53
increase quite a bit in 2023. yeah this
00:30:57
year it doesn't really surprise me that
00:30:59
it's moving at this pace because I've
00:31:02
worked in enough
00:31:03
um Fortune 100 companies to know that it
00:31:06
just it takes a Village to move things
00:31:09
in larger companies so
00:31:12
um it is what it is but yeah it's nice
00:31:13
to see that number going up that's a
00:31:16
good sign
00:31:17
foreign
00:31:18
we talked about modular monoliths
00:31:22
monologular monolith was a question that
00:31:24
we added to an architectural style for
00:31:26
2022 the idea of a monolithic modular
00:31:29
system has regained popularity so as we
00:31:33
can see here
00:31:34
um microservices are continuing to
00:31:37
dominate up in the upper right hand
00:31:38
corner here you can kind of see the
00:31:40
legend the darker green is 2021
00:31:44
lighter green is 2022 so pretty much
00:31:47
stay the same microsource gets talked
00:31:49
about a lot modular monoliths a lot of
00:31:53
people are starting to talk about that
00:31:55
reactive kind of staying the same
00:31:57
serverless we can see has jumped up so a
00:32:00
nice five percent increase there in
00:32:01
serverless which I'm a big fan of glad
00:32:05
to see that is kind of catchy momentum
00:32:07
and especially in the Java space Java
00:32:10
and Spring right like Java has never
00:32:11
been like hey this is the first choice
00:32:14
for serverless workloads or scale to
00:32:17
zero um and with all the different
00:32:20
technologies that are coming out around
00:32:22
it some of the different platforms it's
00:32:25
making serverless a really great choice
00:32:28
not only in the Java space but in the
00:32:30
spring spring space so yeah I feel like
00:32:34
the
00:32:35
conversation around serverless is going
00:32:37
to change a little when
00:32:39
up until recently when I heard
00:32:42
serverless I thought of lambdas and
00:32:46
functions I thought of definitely the
00:32:49
scale to zero aspect however
00:32:53
with spring boot 3 and what we're able
00:32:56
to do and what we've I think we've shown
00:32:58
it here in Spring Office hours
00:33:00
I can deliver a lot of those things
00:33:03
without the Lambda part I can deliver my
00:33:07
applications my MVC apps my Eventing
00:33:10
apps I can deliver those things still
00:33:12
has scale to zero even though they don't
00:33:13
check the Lambda function box so I think
00:33:17
that there's maybe some opportunity for
00:33:20
that serverless
00:33:22
definition to evolve
00:33:26
yeah and there are just some exciting
00:33:29
things happening in the community um one
00:33:32
of the things I've touched on before is
00:33:35
uh AWS Lambda snapstart which you know
00:33:38
one of the the drawbacks to using kind
00:33:40
of Java on a servos function is the cold
00:33:44
start time that the time it takes to
00:33:46
kind of start up the execution
00:33:48
environment the runtime everything
00:33:51
they have made improvements on the AWS
00:33:53
side there so that's great to see and
00:33:58
spring you know spring Cloud function is
00:34:01
really great it's if you haven't had a
00:34:02
chance to play with it you can write
00:34:05
your serverless functions using the
00:34:08
spring Pro programming Paradigm that
00:34:10
you're used to and their platform
00:34:13
agnostic so I if if you're if one of
00:34:15
these functions are going to AWS and
00:34:18
maybe you have other workloads that are
00:34:20
on Google cloud or Azure you can kind of
00:34:24
export them that way as well so check
00:34:26
out spring Cloud function if you haven't
00:34:27
had a chance to play with that yet we
00:34:29
haven't done that in a while I was doing
00:34:30
that at the beginning of 2022 quite a
00:34:33
bit this hey let me take a function a
00:34:36
spring Cloud function run it on Azure
00:34:38
run it on AWS around gcp run on key
00:34:41
native it maybe it's time to Circle and
00:34:43
bring that one back I think that'd be a
00:34:45
good idea yeah that'd be great I have a
00:34:47
ton of stuff around a ton of con ton of
00:34:49
content around serverless in Spring and
00:34:51
in Java in general so yeah that'd be fun
00:34:54
cool
00:34:58
um let's talk about the use cases of Spring
00:35:01
so apis Remain the top spring use case
00:35:04
so being able to expose apis remained
00:35:07
the dominant use case in 2022 exposing
00:35:11
apis to internal com customers or
00:35:14
consumers has been study growth since
00:35:17
this survey began so if we look over to
00:35:20
the right exposing apis to internal
00:35:23
customers we can see that has continued
00:35:26
to rise and now at 86 so that is a a lot
00:35:30
of what people are doing I know you know
00:35:32
my previous position that is exactly
00:35:34
what we're doing tons and tons of
00:35:36
services throughout an organization and
00:35:38
they each got to talk to each other and
00:35:40
they would talk to each other via rest
00:35:42
or event-driven architecture so pretty
00:35:45
good to see
00:35:47
also uh graphql down there getting a
00:35:50
little love 24 you know I'm a big fan of
00:35:53
graphql so nice to see that on the rise
00:35:56
and based on the attendance at some of
00:35:59
my talks lately and the questions I've
00:36:02
been getting about it I think that
00:36:03
number is only going to rise so I'm
00:36:05
excited for graphql in 2023. I'm happy
00:36:08
to see soap still on there I was just
00:36:10
thinking the other day that that idea of
00:36:12
hey I've released this API and this is
00:36:16
exactly how you consume it and you can
00:36:18
generate your client from this it's like
00:36:21
there's a lot of power there so I don't
00:36:24
want to dismiss it I'm happy to see that
00:36:25
it's still uh hanging around because
00:36:28
there's still a lot of value in
00:36:31
those types of services again I wouldn't
00:36:33
want to write a client that has to talk
00:36:36
to soap but if it just works out of the
00:36:39
box and as I said earlier I know lots of
00:36:42
companies who just takes a little bit of
00:36:44
time to move forward so it's still super
00:36:47
powerful I'm
00:36:48
I'm pretty sure that we can still
00:36:50
generate soap based apps out of our
00:36:54
spring initializer although I haven't I
00:36:56
know I also the web service stuff Greg
00:36:59
works on and I'm pretty sure is kind of
00:37:01
the lead for some of that web service
00:37:02
stuff so I think that might be worth
00:37:05
cracking open again because
00:37:08
yeah I'm just saying yeah that's good
00:37:10
stuff
00:37:12
all right
00:37:13
oh look at there look at there I know
00:37:15
it's an outdated topic but it would be
00:37:16
great if you guys can cover calling soap
00:37:18
services with string boot what's the
00:37:20
best way to do it Etc like
00:37:21
we're speaking the same language I am so
00:37:23
happy to hear that I have somebody else
00:37:25
there's another uh question hey Dan how
00:37:29
do you feel about Kiko is that a good
00:37:31
idea key cloak
00:37:32
so it's been a while since I've used key
00:37:35
cloak probably a good five years so I
00:37:39
don't know that I'm the best person to
00:37:40
answer that question
00:37:43
um if if it's still being actively
00:37:46
maintained and it's still being used yes
00:37:49
it's a great idea um there's also
00:37:51
another product you can use from the
00:37:54
spring team um there is a spring
00:37:55
authorization server which just hit 1.0
00:37:58
so that's something else you could look
00:38:00
at as well I'm pretty sure you can use
00:38:02
them together as well uh yeah stay tuned
00:38:06
I am
00:38:07
I'm going to be pulling in key cloak
00:38:09
into another effort so yeah stay tuned
00:38:12
we'll have some are you familiar with uh
00:38:14
where key cloak is right now is that it
00:38:17
is still being maintained it is still
00:38:18
talked about a lot you know just my
00:38:20
perception from the community uh so yeah
00:38:23
yeah I think it's still a safe safe bet
00:38:26
cool uh also hey this one's a good one
00:38:29
jpa native query not working with golf
00:38:31
VM please fix it I would love to see
00:38:34
what you've got
00:38:36
we can help send us a link send us some
00:38:39
information give us a a gift and let's
00:38:42
see what we can do to help
00:38:44
yeah I wonder what's not working with
00:38:47
that
00:38:48
[Music]
00:38:50
should be pretty easy to check out
00:38:53
um but yeah yeah well I know that it's
00:38:56
not like completely broken I think this
00:38:58
is going to be one of those edge cases
00:38:59
because yeah I think we've demonstrated
00:39:01
the GPU native query working with call
00:39:03
VM right so we're happy to help cool
00:39:07
all right I'm gonna go on
00:39:09
um spring projects fruitful for
00:39:12
developers uh an important goal of the
00:39:14
spring team is to deliver modern apps
00:39:16
quickly
00:39:18
almost half of the stakeholders reported
00:39:20
that they will be using more spring
00:39:22
modules in the coming years
00:39:24
an increase in eight points for 2022 the
00:39:27
top three spring projects remain Spring
00:39:30
Security spring data and spring web MVC
00:39:34
so not surprising there those are the
00:39:37
three I kind of reach for all the time
00:39:39
so spring spring web security and data
00:39:44
um notable gainers spring Kafka spring
00:39:47
batch and spring web flux
00:39:51
so cool yeah
00:39:52
that is cool
00:39:55
uh another question red shock where
00:39:58
should I put my API calls logic is it
00:40:01
service layer or something else
00:40:05
yeah so
00:40:07
um it as always it depends
00:40:11
um what logic is what logic are you
00:40:15
talking about so
00:40:18
you know if I'm talking to a database
00:40:21
and we have like a data tier you know
00:40:23
that could be in a repository I write a
00:40:25
lot of applications where I don't need a
00:40:26
service layer and I'm just talking to a
00:40:28
repository that talks through a database
00:40:30
I know so many people create examples
00:40:32
out there have examples of like
00:40:35
complicated architectures where you have
00:40:37
interfaces and services and that
00:40:39
delegates to a reposit it doesn't need
00:40:41
to be that complicated
00:40:43
um if I'm talking to a database I use a
00:40:44
repository
00:40:45
if I have business logic that pertains
00:40:48
to that application then it would be
00:40:50
yeah service layer it works great that's
00:40:53
that's exactly what that's for
00:40:56
um how you split up that business logic
00:40:59
and where in the service layer kind of
00:41:01
what level it's in depends on what it is
00:41:04
and then you know it may delegate to
00:41:08
some other project for some business
00:41:10
logic but yeah service layer is a good
00:41:12
good place to start
00:41:14
I think that one of the things that
00:41:16
we've learned and we've heard multiple
00:41:18
times here
00:41:19
is that
00:41:21
it depends on how you're testing a lot
00:41:23
of times don't forget about how you want
00:41:26
to split up your application in order to
00:41:28
have it properly tested and get that
00:41:31
coverage so there's more than just like
00:41:33
hey where should it be which pattern
00:41:35
should it follow the what matters more
00:41:38
with those patterns that we're following
00:41:40
is how you're testing them
00:41:43
right we can throw it all into one box
00:41:45
and that's okay
00:41:47
but when you split it out you can test
00:41:49
things uh individually and if you're
00:41:52
into testing you should check out code
00:41:55
another show on tanzu TV uh Mario gray
00:41:58
has been doing a lot of really really
00:42:00
interesting stuff over there check that
00:42:02
out
00:42:03
yeah that's that's a great point I was
00:42:05
gonna as soon as I got done talking I
00:42:06
thought about that as well so I'm not a
00:42:08
I I'm not against tdd I just don't do
00:42:10
tdd a lot I end up writing tests for
00:42:13
code that I've already written which
00:42:15
again is a no sacrilege to some people
00:42:17
but that's just how that's how I get
00:42:19
down I guess but one thing that I do
00:42:22
love about testing is it usually points
00:42:24
out problems with my code so I always I
00:42:27
like to get something to work first like
00:42:29
it doesn't need to be this beautiful
00:42:31
architecture architected code for it to
00:42:34
work I like to like solve the problem
00:42:36
first let me get it working okay I think
00:42:39
I have what what I think is a viable
00:42:41
solution I'm gonna write some tests for
00:42:43
this because as soon as I start writing
00:42:45
tests that usually like there's start to
00:42:47
be code smells in my testicle oh maybe I
00:42:50
shouldn't you know this is this one
00:42:52
service class is doing way too much
00:42:54
that's a code smell for me that you know
00:42:57
we're violating the single
00:42:58
responsibility principle like that is
00:43:00
not there's too much going on there so
00:43:02
when I when I start to write tests it
00:43:03
kind of gives me an idea of okay maybe I
00:43:05
could uh refactor this a different way
00:43:08
so get it to work first then you know if
00:43:12
however you write your tests your tests
00:43:15
can usually lead to some of those
00:43:17
answers
00:43:18
one of the things that I found in my
00:43:21
career is that
00:43:22
if I'm grabbing there's a bug uh and I'm
00:43:27
looking at somebody else's code I always
00:43:30
do tdd first so hey Dan you've given me
00:43:34
this ticket and there's an issue in the
00:43:37
member service
00:43:38
and the issue is this the first thing
00:43:41
that I do is create a test that
00:43:44
validates that bug
00:43:46
then I start working on the fix and I
00:43:49
know that it's fixed when that test goes
00:43:52
green
00:43:53
and then then you ask the original
00:43:55
developer why wasn't there a test for
00:43:57
this scenario yes I wasn't I wasn't
00:43:59
going to go there I was saying that
00:44:01
pattern of I've been there I I don't
00:44:03
write tests all the time for sure but
00:44:06
I'll also say
00:44:08
pairing with Mario
00:44:10
while he's doing the tdd makes it easier
00:44:14
so I I've done a few sessions with Mario
00:44:16
and then when I go and I'm doing my own
00:44:18
thing I've I found myself writing tests
00:44:22
first I find myself making these changes
00:44:25
on my new projects I'm automatically
00:44:27
including the spring rest docs I'm
00:44:29
automatically including test containers
00:44:31
because I've found these patterns that
00:44:33
are just so valuable that I can't
00:44:35
imagine not putting it in right away
00:44:38
because I know I'm going to do it and I
00:44:40
know it speeds me up and gives me more
00:44:41
confidence yep
00:44:43
that's a really good point so I know a
00:44:46
lot of times I'm sure everybody has done
00:44:48
this at one point you may be writing
00:44:49
some code you're in a block of code you
00:44:51
may write some comment there that says
00:44:54
to do right let's validate that this
00:44:57
particular use case works so instead of
00:45:00
writing that comment in the code just go
00:45:02
write a test for that right away let it
00:45:04
fail that's fine but you have your
00:45:06
documentation for later that says oh
00:45:08
yeah I need to go ahead and check for
00:45:10
that use case now I can write a test to
00:45:12
make sure that use case passes right
00:45:16
thank you another question do you have
00:45:18
an alternative for akka actor with
00:45:21
Native spring boot
00:45:24
I don't know what act is so
00:45:27
uh
00:45:29
I I have a lot of
00:45:33
uh this conversation I've had a lot of
00:45:35
this conversation in the past but I
00:45:37
think I need more information to
00:45:39
understand your use case uh the actor
00:45:42
pattern can be used in a lot of places
00:45:43
and yes we have ways of doing that with
00:45:47
spring but yeah tell us more tell us
00:45:50
more
00:45:52
good questions bring your questions
00:45:54
remember uh if you leave here and you
00:45:57
still have questions answered that's on
00:45:58
you bring your questions we'll get to
00:46:00
them if we don't get to them during the
00:46:01
show we're going to make sure that we at
00:46:03
least see them so we can get to them
00:46:05
offline and then we'll share them as
00:46:06
content
00:46:08
all right
00:46:12
spring team keeps a close eye and
00:46:14
upcoming
00:46:15
up and coming Innovations more than 54
00:46:18
of surveyed this year like the fact that
00:46:21
new modules are consistently being added
00:46:23
to keep up to date with the latest
00:46:25
technology so that's really great to see
00:46:29
project Loom and growl VM jump to the
00:46:32
top of the new tech people plan to use
00:46:35
each selected by Thirty thirty percent
00:46:38
so
00:46:40
grovium loom project Gloom those are two
00:46:44
big things that everyone is very
00:46:45
interested in we talked about both of
00:46:49
those last week in San Francisco so
00:46:51
that's really exciting that this is this
00:46:54
is exactly what people are looking for
00:46:56
so we'll keep talking about that
00:46:58
um we you know I talked a little bit
00:47:00
more about Loom last week we'll
00:47:02
hopefully get to some more more of that
00:47:05
as the year goes on
00:47:07
um and as we March towards Spring
00:47:09
framework 6.1 hopefully Loom will be out
00:47:13
of preview in uh the next version of
00:47:16
whatever
00:47:17
it's hard to keep up with versions of
00:47:19
job now
00:47:20
um the next one's 20 so I think 21 it
00:47:23
may go it may go out of preview so we'll
00:47:26
see
00:47:27
uh but yeah good to see that
00:47:29
I have a question welcome to the show uh
00:47:32
what do I have to watch out when I go
00:47:34
production product directive with a
00:47:36
spring boot application in a Docker
00:47:38
container what do I have to look out for
00:47:40
um
00:47:41
not a whole lot if you use the maven
00:47:45
spring boot plugin
00:47:47
you're getting the best of the best
00:47:48
you're getting the best practices from
00:47:51
the rest of the community we've been
00:47:53
doing this for a while the whole build
00:47:56
Pack story has just moved into that
00:47:58
plug-in so yeah I highly recommend
00:48:01
checking out the maven spring boot
00:48:03
plugin which is going to use the
00:48:04
paquetto build packs out of the box and
00:48:07
then you've got all the support and all
00:48:09
of the uh that expertise bundled right
00:48:12
into your containers
00:48:14
yep when it comes to Containers we have
00:48:16
a simple rule around here at Spring
00:48:18
Office office hours and that is friends
00:48:20
don't let friends write Docker files
00:48:23
they just don't do it
00:48:25
don't let your friends write their own
00:48:27
Docker files yep
00:48:29
yeah another question resource server
00:48:32
and oauth client how do we use these in
00:48:34
microservices it's so easy it's so easy
00:48:38
it's easy uh I want to show that
00:48:42
I would I would crack open my IDE and
00:48:45
show that right now uh but I want to
00:48:48
finish going through this and what I'm
00:48:50
going to do is I'm going to say hey
00:48:51
let's next time let's show this off or
00:48:54
in an upcoming show we gotta show this
00:48:56
off we got to do a few more demos but in
00:48:59
the meantime I'm pretty sure Dan's got a
00:49:01
good example on his website on his
00:49:04
YouTube of this exact same thing yeah I
00:49:07
I don't know so when you when you say
00:49:10
that are in microservices it's like what
00:49:12
what are you trying to do because if
00:49:15
you're trying to have a bunch of
00:49:16
different clients authenticate with one
00:49:19
thing right that's where we're going to
00:49:21
start talking about spring authorization
00:49:23
server so you have one central place
00:49:25
where all the authentication is done you
00:49:27
don't want to rewrite that logic X
00:49:30
number of times right and each of those
00:49:32
clients register with that authorization
00:49:34
server so the microservice one
00:49:37
microservice two and three all say hey
00:49:40
I'm someone who's going to authenticate
00:49:42
with you authorization server and so
00:49:45
that's how that happens
00:49:47
um so I would say if you haven't had a
00:49:49
chance to check out the documentation on
00:49:51
that start there with spring
00:49:53
authorization server that should get you
00:49:55
up and running pretty quickly
00:49:58
yes
00:50:02
let's see why you don't care about
00:50:05
explaining spring ABC with template
00:50:07
engine like time Leaf is it still useful
00:50:10
that is a great question I was actually
00:50:12
on Twitch last night with somebody in
00:50:17
Korea where I assumed they were in Korea
00:50:19
that because it was I was using Korean
00:50:21
to do the translation but they were
00:50:23
still using uh time Leaf time Leaf is
00:50:25
still amazing it's still very widely
00:50:29
used it's still super powerful uh so
00:50:33
yeah if that's what if you are running
00:50:35
into something if there's something that
00:50:36
you'd like to see around uh time Leaf
00:50:39
around what you're doing with time
00:50:40
before you'd like to see some of the the
00:50:41
patterns that we see out in the
00:50:43
community
00:50:44
let us know happy to share more on time
00:50:46
Leaf it is super powerful I'll be honest
00:50:49
lately I'm clicking the the vodden
00:50:51
button
00:50:52
uh I click the one button and I have a
00:50:54
lot of it taken care of for me uh but
00:50:56
time Leaf is where I've been for the
00:50:58
last uh
00:51:00
seven years I think is it's kind of been
00:51:02
my default and it's only recently
00:51:04
switched to one
00:51:06
yeah so I think it really depends on
00:51:08
what type of applications you're you're
00:51:10
trying to build right so a lot of the
00:51:12
demos I build are API driven so whether
00:51:14
I'm using rest or graphql I'm not really
00:51:17
using a front end or a templating engine
00:51:21
on the spring side
00:51:23
those apis are developed in Spring boot
00:51:26
they are consumed via other clients so
00:51:29
those clients could be a mobile
00:51:31
application in iOS or Android they could
00:51:34
be a front-end application written in
00:51:37
JavaScript so they're you know I think
00:51:40
another thing that gives way to this is
00:51:42
just the rise and popularity of the
00:51:44
different Frameworks out there whether
00:51:46
it's react angular views felt you know
00:51:49
and insert any framework here those are
00:51:52
really great to use these days
00:51:54
um and so that you know that is usually
00:51:56
what I reach for so if I have an API in
00:51:59
Spring boot I may develop a front end
00:52:01
and something like view that talks to
00:52:03
that API so nothing wrong with using
00:52:06
time Leaf I think that just teams
00:52:09
already doing front-end development may
00:52:11
not have uh developers on staff who use
00:52:15
time leave they may have front-end
00:52:17
Engineers that work in these different
00:52:19
component-based libraries and it's like
00:52:21
all right let's build our front ends
00:52:23
separate so that we can deploy them
00:52:25
separately because again that that's a
00:52:28
you know one of those trade-offs itself
00:52:30
like hey I want to constantly deploy my
00:52:32
front end without having to restart my
00:52:34
back end it's really just depends what
00:52:36
you're building nothing wrong with time
00:52:38
Leaf but in the world that we live in
00:52:40
today
00:52:41
um as you saw from the state of the
00:52:44
spring survey you know most people are
00:52:46
using spring boot to to build apis and
00:52:48
that API is being consumed by some other
00:52:50
client
00:52:52
I definitely have uh I think I have some
00:52:55
example repositories
00:52:56
one of the patterns I like to do with
00:52:58
time Leaf is I like to take a uh uh
00:53:01
bootstrap theme and just grab that
00:53:05
bootstrap theme and then I'm using time
00:53:07
Leaf to fill in the blanks and that is a
00:53:10
super fast super powerful way of getting
00:53:12
that uh reactive is that what they call
00:53:14
it in the front end uh the interactive
00:53:18
interactive the resizable all the good
00:53:21
stuff uh I don't know the word I'm
00:53:23
thinking of but yeah that's a pattern
00:53:25
that I've used quite a bit so don't be
00:53:27
afraid to use time Leaf don't be afraid
00:53:30
to grab it uh it'll work uh what's a
00:53:33
best practice around Docker files we've
00:53:36
said it already
00:53:37
don't write your own Docker file
00:53:39
don't write your own dock about use
00:53:41
maven's screen boot build image every
00:53:43
time every time in that not just for
00:53:45
spring
00:53:47
find a bill pack don't write your own
00:53:50
Docker balls I'm not saying that's just
00:53:52
for Java I'm saying that across the
00:53:54
board
00:53:55
don't write doc files don't do it don't
00:53:57
let your friends do it use a bill pack
00:53:59
you have I mean your time is valuable
00:54:02
you could be doing much better things
00:54:03
with your time than writing build pack
00:54:05
or but writing Docker fonts
00:54:09
no hey this is it don't apologize yeah
00:54:12
we're here for you we are at your
00:54:15
service
00:54:16
for if one person shows up to the show
00:54:18
or if a thousand people show up at the
00:54:19
show we are here at your service that is
00:54:22
yeah that's the whole goal of this show
00:54:25
uh as much as I like to learn from Dan
00:54:27
uh we're both here to support you the
00:54:31
community and if we don't have the
00:54:32
answers we've got slack we know how to
00:54:34
get it yep
00:54:37
why spring remains less efficient than
00:54:39
corkus can see spring grayer I'm not
00:54:43
sure I I believe that
00:54:46
um but again we could take a look with
00:54:49
spring framework six and spring boot
00:54:51
three uh I don't think that this can be
00:54:54
said anymore and I would love to educate
00:54:56
you on this uh there's but there's a lot
00:54:59
it really depends on the use case
00:55:01
Etc but it's worth exploring it's worth
00:55:03
exploring for sure I don't think that
00:55:05
there this is the case anymore though
00:55:09
uh more questions thank you James Hayes
00:55:12
what build packs do you recommend what
00:55:14
do I recommend I recommend uh paquetto
00:55:18
jumping into that paquero ecosystem they
00:55:20
have a ton and the people there are
00:55:24
great the community around there is
00:55:25
great uh I'm actively trying to uh
00:55:28
support and Upstream some of the work
00:55:29
I've done around buildbacks into the
00:55:32
paqueto ecosystem as well so that's
00:55:34
that's where my heart's at do you have
00:55:36
any others
00:55:37
Dan nope that's it paquetto
00:55:41
fix our socket streams I don't
00:55:44
understand I need more information that
00:55:46
doesn't help me I know that there's a
00:55:47
few issues open tell me which one that
00:55:49
you're interested in go add
00:55:52
information that you have around those
00:55:53
issues in GitHub and let us know because
00:55:58
we are also doing a lot of exploring and
00:56:00
Mario my good friend Mario gray also has
00:56:03
a lot of great content around using our
00:56:05
soccer streams not just for you know
00:56:07
message driven event driven things but
00:56:09
combining uh
00:56:12
functions and that function to function
00:56:14
uh combination to get really extreme
00:56:18
outputs with Native images using our
00:56:21
Saga streams let us know what else you'd
00:56:24
like you know what we have been seeing
00:56:26
it but we need to get Mario on the show
00:56:28
to talk to us he's a busy busy person
00:56:31
yeah I might have to just show up at his
00:56:34
house and and make it you know we were
00:56:37
in San Francisco last week we probably
00:56:39
could have done that he was in Nebraska
00:56:40
oh that's right
00:56:42
we went to San Francisco he was in Omaha
00:56:45
can you explain test containers why
00:56:46
should I use test containers I would
00:56:48
love to explain test containers
00:56:50
uh Thursday Thursday test containers
00:56:53
live you should check that out I'm gonna
00:56:56
be there I'm going to walk through using
00:56:58
test containers Whispering boot in more
00:57:01
than one way how do you use test
00:57:03
containers as part of your regular
00:57:04
integration yes how to use test
00:57:06
containers to validate and test your
00:57:09
native images
00:57:11
the idea is that the implementation of
00:57:15
the database we've I've done in the past
00:57:18
a lot of things to where hey I want to
00:57:21
validate that my persistence here Works
00:57:24
some of the things I've done is maybe
00:57:26
I've used H2 or an in-memory database
00:57:29
during my unit test and then I switched
00:57:31
to some other version of a database down
00:57:34
the road
00:57:35
that can cause problems so the idea with
00:57:38
test containers is you can use the exact
00:57:40
same implementation the exact same API
00:57:42
for your unit tests that you might use
00:57:44
in production and what it does is it
00:57:46
simply pulls up a Docker image it
00:57:48
deploys a Docker image from scratch or
00:57:51
you can initialize it and you can run
00:57:52
your test against the actual database
00:57:53
that you're going to be running in
00:57:55
production that's an example
00:57:57
yeah and it runs it extremely fast which
00:58:00
I think is what blew me away because I'm
00:58:02
like well I don't do I really want to be
00:58:04
spinning up a Docker container and then
00:58:06
executing these tests runs really fast
00:58:08
or I wouldn't have I wouldn't have used
00:58:10
it so that I think that that was really
00:58:13
impressive to me
00:58:15
is job now Jakarta
00:58:17
Java ee is now Jakarta ee so big
00:58:21
difference
00:58:22
um Java e e stands for Enterprise
00:58:26
um Enterprise Edition I think yeah I
00:58:29
think I just did a video on this so I
00:58:31
should know that but Java ee Enterprise
00:58:33
Edition was really for building
00:58:35
Enterprise applications in Java
00:58:38
that was stagnant for a while Oracle uh
00:58:42
governed Java ee had ownership of it was
00:58:46
stagnant for a while the eclipse come
00:58:48
Foundation came along and said hey we'd
00:58:50
really like to uh take ownership of that
00:58:53
project we'd like to kind of you know
00:58:55
evolve some of the apis in that project
00:58:58
Oracle said great you can do it with One
00:59:01
requirement you need to rename all the
00:59:03
packages from java X something to
00:59:06
Jakarta or to anything but they ended up
00:59:10
with Jakarta so that is a great question
00:59:14
um so good answer spring boot three and
00:59:16
spring framework six now use Jakarta ee
00:59:19
9 and 10. so yes if you are updating
00:59:22
from springboot 2.7 to springboat 3 you
00:59:26
need to rename those packages your ID
00:59:28
can do it for you IntelliJ has a nice
00:59:30
little feature that says hey rename all
00:59:32
of the Java ee packages to Jakarta e
00:59:36
so not a huge change for you but as as a
00:59:39
framework you know for the framework
00:59:40
itself it was a pretty big change we had
00:59:42
a lot to go through to get that to work
00:59:44
but it's nice now we are on the newer
00:59:46
versions of Jakarta and we get to see an
00:59:49
evolution of those apis as we move
00:59:51
forward
00:59:52
how do I know how many users at once can
00:59:55
my basic spring API application handle
00:59:57
before another containers created that's
00:59:58
a great question that is a great
01:00:00
question that can be answered by using
01:00:02
the actuator by making your code
01:00:05
observable you can Expose and you can
01:00:08
see and you can watch in real time
01:00:10
what's happening you've got to
01:00:12
understand your application
01:00:13
on you have a chance to learn before it
01:00:16
goes to production how your application
01:00:17
is going to behave
01:00:19
and with this approach you can figure
01:00:22
that out every application is different
01:00:24
my Hello World app could probably
01:00:26
support uh 10 000 users in the single
01:00:28
container because I've compiled it
01:00:30
natively if your application is making
01:00:33
uh thousands of blocking calls to
01:00:36
multiple backends it's going to behave
01:00:38
different so it really depends on an app
01:00:40
to app basis but that's why we've
01:00:42
provided the observability and the
01:00:45
spring actuator so you can get real-time
01:00:47
insights into what's happening with your
01:00:49
spring boot app
01:00:52
why can't our socket be a little simpler
01:00:54
to put in place be like websock I'm not
01:00:57
sure what you're running into and I
01:00:59
really want to know more so I'm going to
01:01:01
ask you to reach out DM me on Twitter or
01:01:06
on LinkedIn directly I want to work with
01:01:08
you to figure out what's going on uh
01:01:10
because I'm a big fan of our socket I
01:01:12
think it's a great little protocol and I
01:01:15
want you to be excited about it as well
01:01:17
James says for testing I borrow the
01:01:19
strategy used by laravel of having
01:01:21
factories for entities that's that's a
01:01:23
great idea that's an absolute great idea
01:01:27
oops let's see here how do you generate
01:01:29
Docker file if not manually
01:01:31
spring boot build image you don't need
01:01:34
the docker file use the build pack the
01:01:36
build pack has all the guts inside of it
01:01:38
you can have multiple versions and it's
01:01:41
configurable so you're not just taking a
01:01:44
simple Docker file Maybe for One build
01:01:46
you want to attach an agent for app
01:01:49
Dynamics or uh for other you can do that
01:01:53
all within a consistent guard rail
01:01:56
that's got support from the community so
01:01:59
don't write a dock file if you see a
01:02:01
Docker file in your repository do not
01:02:04
touch it somebody else created it
01:02:07
somebody else has got to maintain it
01:02:08
don't touch it don't use the docker ball
01:02:10
don't let your friends use a Docker file
01:02:12
use build packs
01:02:13
how does potato compare to using build
01:02:15
packs on cloud Foundry are they
01:02:16
compatible that is a great question the
01:02:18
cloud boundary build packs are not
01:02:20
compatible with the cloud native
01:02:22
buildbacks but the idea that the
01:02:26
architecture the idea is the same is
01:02:28
that you're letting some platform build
01:02:31
the images that are actually going to be
01:02:32
ran on your platform in your kubernetes
01:02:36
or in your Docker or wherever this the
01:02:39
paquetto build packs can be used inside
01:02:41
of cloud Foundry they can be deployed as
01:02:44
Docker images they can be used on
01:02:45
kubernetes they can be used on a Docker
01:02:48
that can be used Standalone but that's
01:02:50
not the case for the cloud Foundry
01:02:52
buildbacks the vaquetto cloud native
01:02:54
build packs are the evolution of this
01:02:57
build pack pattern and it is a it comes
01:03:00
from a joint venture of the team over at
01:03:03
Heroku and pivotal tanzu formerly
01:03:06
pivotal where they're taking the
01:03:08
standard and they made it available so
01:03:09
that we could have this concept of build
01:03:11
packs that could run anywhere or the
01:03:13
images that could run anywhere
01:03:16
let's see spring now uses Jakarta
01:03:19
Imports yep
01:03:21
uh how can you please explain about new
01:03:23
observability API with micrometer how is
01:03:26
it different from just using locks oh
01:03:27
there's so much Oren I'm going to point
01:03:30
you just because we're running out of
01:03:32
time I'm going to point you to episode
01:03:34
it was a 14 with Jonathan Ivanov you
01:03:37
gotta go watch that episode of Spring
01:03:39
Office hours uh but then you come back
01:03:41
we've we've had a couple questions
01:03:43
earlier in today's show around
01:03:44
observability we have some stuff to show
01:03:46
you but I want you to watch that episode
01:03:48
first and then come back and join us
01:03:50
yeah and I think so again just uh at a
01:03:53
high level observability is not just
01:03:55
logs right
01:03:57
um it's about metrics logging and
01:03:59
distributed tracing so at least those
01:04:02
three things kind of fit into that
01:04:03
observability bucket and each one of
01:04:06
those answers a question a different way
01:04:08
right like how when why those types of
01:04:11
things so check out that episode there's
01:04:13
some great information in there
01:04:15
all right
01:04:16
thank you I use Loom
01:04:18
excuse me with spring boot 3 native on
01:04:21
production for small project and it
01:04:22
works great I saved 60 resources I'm so
01:04:25
happy that is amazing that is amazing I
01:04:28
would love to hear more if if you could
01:04:31
share any of it uh that would be
01:04:32
wonderful we want to hear your story let
01:04:34
us know what's going on so that we can
01:04:36
tell the world uh how what's a good path
01:04:39
it might not be the best path but this
01:04:40
is the path that we can go forward it's
01:04:41
working for you like I think everybody
01:04:43
in here uh if you go to your boss or or
01:04:46
your wife and you said hey I'm saving a
01:04:48
six percent I'm saving six percent I
01:04:51
think you're gonna get a pet on the back
01:04:52
so yeah let's let everybody do that and
01:04:54
so yeah if you're running you know
01:04:56
workloads on something like spring MVC
01:04:58
Loom is gonna Loom is gonna be pretty
01:05:00
big so we're looking forward to that
01:05:03
awesome uh do you know if I can test
01:05:05
Java virtual threads on cloud Foundry
01:05:08
using Cloud Foundry buildbacks or do I
01:05:11
need to create my own Docker image that
01:05:13
is a really good question around yeah
01:05:17
let's unpack that because there's a lot
01:05:20
of things in there so let's back up to
01:05:22
just virtual threads right virtual
01:05:24
threads is what we've been talking about
01:05:25
with project Loom they are new in Java
01:05:28
19 they are preview so this isn't even a
01:05:31
release yet this is still a preview
01:05:33
feature so to enable it you have to do
01:05:35
the dash dash enable Dash preview when
01:05:39
you're running your application so with
01:05:40
that said there is a blog post on the
01:05:43
spring IO blog that you can read through
01:05:45
of how you can use Virtual threads in a
01:05:49
spring boot 3 project and so again if
01:05:51
you're using something like spring NBC
01:05:53
and you're doing blocking operations I'm
01:05:56
calling out to a database I'm calling
01:05:58
out to read a file you know doing some
01:06:01
input output anything that is blocked
01:06:03
talking project Loom and virtual threads
01:06:06
are going to help you out a lot we saw
01:06:08
sixty percent of the number thrown
01:06:09
around and it's going to help out a lot
01:06:11
in those particular use cases so uh the
01:06:15
suggestion here is I think someone said
01:06:17
they were running a small project on it
01:06:19
go test this out this is a preview this
01:06:21
is not final yet
01:06:23
take a sample app that you have go ahead
01:06:25
and run it on a server somewhere in
01:06:27
preview mode for a small subset of
01:06:29
traffic and and test it out but in those
01:06:32
kind of scenarios for those type of
01:06:34
workloads it's going to be awesome now
01:06:37
on cloud Foundry using built you know
01:06:40
those I you know I don't know that's a
01:06:42
whole nother a whole nother stack on top
01:06:44
of that but if we just bring it back to
01:06:46
Virtual threads spring boot 3 you know
01:06:48
spring MVC app yes you're going to see
01:06:52
um performance improvements there
01:06:54
yeah so you you've got options if that
01:06:57
build pack uh a Java 19 buildback is
01:07:00
available uh for cloud Foundry then you
01:07:02
could probably go forward with it
01:07:04
otherwise you have you have another
01:07:06
option of doing the docker image I'll be
01:07:08
honest I haven't taken a Java 19
01:07:10
compatible build pack to Cloud Foundry
01:07:13
uh so I'm putting it on my list come
01:07:16
back join us next week come back and I
01:07:18
will have an answer for you uh and maybe
01:07:20
even a demo oh Alexander says Hey to
01:07:24
Sean sorry for spam no worries I've
01:07:25
missed you on Twitter regarding specific
01:07:27
soap use case that I have to integrate
01:07:29
with a legacy service let's go let's go
01:07:32
we're gonna we're gonna connect we're
01:07:33
gonna do this let's go
01:07:36
thank you for asking it'd be my pleasure
01:07:38
to sit down and work with you on
01:07:40
something like that now that you've
01:07:42
mentioned time Leaf is it better to have
01:07:43
translation oh
01:07:45
I think you mean like language
01:07:46
translation in time leaf with its files
01:07:48
or in the front end CD with beautify do
01:07:52
you have any opinions on that because I
01:07:53
do I don't
01:07:55
um I would probably put it on the back
01:07:58
end but
01:07:59
because well so now I guess I do have an
01:08:02
opinion so I probably put on the back
01:08:03
end because
01:08:05
what if you have a second client that
01:08:06
starts talking to it now you have it all
01:08:08
centralized in one place that
01:08:10
translation happens there instead of on
01:08:12
the client
01:08:13
yep uh also
01:08:15
that the translations I I've done that
01:08:18
in the past the idea of hey I need to
01:08:20
translate this into maybe 47 different
01:08:23
languages
01:08:24
that process needs to happen somewhere
01:08:27
so that the back end process the way
01:08:30
that I can ingest that into time lease
01:08:32
as those translation those uh different
01:08:35
Locale versions of the properties that
01:08:37
I'm going to be Translating that is a
01:08:39
simple process I know that process so I
01:08:42
know what that path to production looks
01:08:43
like so I have no reason to disrupt that
01:08:46
versus having those translations because
01:08:49
then if in order to do that on the front
01:08:50
end I've got to send all the translation
01:08:52
data to every client
01:08:54
right you can't do a translation if they
01:08:55
don't have the data or they're going to
01:08:56
have to make calls for that translation
01:08:58
to the back end which again you could do
01:09:00
it on the back end so I have a strong
01:09:01
opinion about that I would much rather
01:09:03
it be done on the back end for those
01:09:05
reasons
01:09:06
uh Hey sleep that burns you stumble upon
01:09:09
this this is we we try to do this weekly
01:09:13
uh we might even be doing it more than
01:09:15
weekly in the future but yes this is a
01:09:17
Regular Show today is episode 27. uh
01:09:20
follow us uh on VMware tanzo on tanzu TV
01:09:24
Spring Office hours dot IO uh that will
01:09:27
forward you okay you'll get to where you
01:09:29
need to go Spring Office hours dot IO
01:09:32
James thanks we're happy that you're
01:09:34
here
01:09:36
thanks for joining everybody thanks for
01:09:37
joining
01:09:39
yeah if you have any more questions get
01:09:40
them in I think what we'll do is we'll
01:09:42
save kind of the second half of that
01:09:43
state of spring survey we can always
01:09:46
touch on that there's so much cool stuff
01:09:48
to talk about there yes for sure so
01:09:51
cool
01:09:53
um hashtag Spring Office hours on your
01:09:56
places we are paying attention uh I'm
01:09:58
writing Bots I will share those two like
01:10:01
we are writing we want to help you out
01:10:03
as much as possible you don't have to
01:10:05
wait and bring your questions here we
01:10:07
have a spring community on Twitter uh we
01:10:10
have the getter Community we have stack
01:10:12
Overflow we're Where You Are
01:10:15
we're in those places we're on LinkedIn
01:10:17
we're in the youth the LinkedIn group uh
01:10:19
we are in those places where you are
01:10:22
#spring office hours let us know uh
01:10:25
otherwise bring your questions here
01:10:26
we're happy to to help
01:10:29
cool I see one more question let me just
01:10:31
pull that up can I still use sleuth or
01:10:34
should I migrate to micrometer so yeah
01:10:37
if you're in Spring boot 3 as you're
01:10:39
moving forward you're going to want to
01:10:40
move to micrometer uh if you're doing
01:10:43
distributed chasing you had to bring in
01:10:44
Spring Cloud sleuth before you don't
01:10:47
have to do that in Springwood series
01:10:48
dependency uh it's kind of rolled up
01:10:51
into that same API so I would move to
01:10:53
that
01:10:55
definitely move to Spring boot three
01:10:58
thank you appreciate you
01:11:01
thank you guys always a pleasure
01:11:03
pleasure is ours thank you guys thanks
01:11:06
James thanks for answering all my
01:11:09
questions
01:11:13
love it thank you for sharing yep
01:11:16
uh he's a certification in Spring worth
01:11:19
it um so worth the effort so I think that's
01:11:22
really a question you need to ask
01:11:24
yourself
01:11:25
um you know certifications in general
01:11:27
are they worth it is
01:11:30
is it something that you're
01:11:33
um work is requiring if it is then
01:11:35
obviously it's worth it if it's
01:11:37
something that you're seeing out in the
01:11:39
job market as you're looking for a new
01:11:41
job and you see it a lot then it becomes
01:11:43
worth it who are you like if you're Dan
01:11:45
Dan doesn't need a certificate I I can
01:11:48
use one I'm thinking I'm thinking about
01:11:50
maybe I should invest and and go ahead
01:11:52
and go down that path because
01:11:54
I would like to know more yeah I think
01:11:56
it's an individual basis but that's
01:11:59
something for you I I definitely think
01:12:01
it's worth it for some people so that uh
01:12:02
that that would um that actually brings
01:12:05
up something else so I think if it's if
01:12:08
it's going to drive you to learn more
01:12:10
then then I think it's well worth it so
01:12:13
why do why do we read books why do we
01:12:15
take courses because we want to learn
01:12:17
from someone else we want an incentive
01:12:20
to learn as well if I don't have a book
01:12:22
in front of me I really how am I going
01:12:24
to learn I need something to kind of
01:12:25
drive me to like learn a particular
01:12:27
subject so if you're using something
01:12:29
like spring Academy there's courses
01:12:31
that's going to give you motivation to
01:12:34
go through those courses learn more
01:12:36
about spring we can all use you know
01:12:39
learn more about a particular subject so
01:12:42
you get to learn more about spring and
01:12:43
the end goal is hey you get certified
01:12:45
whether that certification does anything
01:12:48
for you later I don't think is the the
01:12:50
end-all question right it's the process
01:12:53
of getting there the you know we Deshawn
01:12:55
and I run a lot
01:12:57
you know we may run a race later this
01:12:59
year we may run a half marathon or
01:13:00
something like that the half marathon is
01:13:03
great it's a huge goal but getting there
01:13:06
is really what it's all about all the
01:13:09
time that it takes like months of
01:13:10
preparation getting all those runs in
01:13:13
those practices in that's that's what
01:13:17
it's really about right the the end goal
01:13:19
of getting you know going through a half
01:13:21
marathon that's fun but everything
01:13:23
leading up to it uh is really what it's
01:13:25
about so I would say yes long long
01:13:29
answer short yes because you're going to
01:13:31
learn something new and you're going to
01:13:32
feel proud about yourself that you got
01:13:34
through it so
01:13:35
James I have never used graphql or the
01:13:38
pointers when to use graphql versus rest
01:13:40
James I'm going to go ahead and say it
01:13:42
because Dan won't go check out Dan's
01:13:45
YouTube videos uh his talks around
01:13:48
spring for graphql uh have been the most
01:13:51
popular
01:13:53
topic uh in 2022 of all the work that
01:13:56
we've done all the conferences I've been
01:13:57
to that
01:13:59
that conversation that topic has been
01:14:01
the most popular one
01:14:03
thanks I appreciate that
01:14:06
um yeah so I think um from us when to
01:14:09
use it yeah I mean it's it's a
01:14:11
technology like others that you always
01:14:13
have to say you know when should I be
01:14:15
using this um I do have some talks on it
01:14:17
real short of it is you know if you have
01:14:20
a bunch of different clients talking to
01:14:23
one particular API and and when I say
01:14:26
clients I mean hey we have a bunch of
01:14:27
mobile apps here and we have a bunch of
01:14:29
different maybe micro front ends over
01:14:31
here we have an iot application over
01:14:34
here all these clients talking to a
01:14:36
single rest API right you you start to
01:14:39
retrofit your rest API to meet all of
01:14:43
those client needs so I instead of just
01:14:46
crud you know methods that are returning
01:14:49
a list of widgets right now I'm writing
01:14:52
all these different methods to format
01:14:55
the data the exact way that each of
01:14:57
these specific clients are asking for it
01:15:00
if you get into that business
01:15:02
um that's not great because now you have
01:15:04
all these different methods out there
01:15:06
more code means more maintenance right
01:15:09
now you're writing code and you're
01:15:10
introducing new bugs the the best bug
01:15:14
free code that you that you have in your
01:15:16
system is the code that you don't write
01:15:18
so
01:15:19
um I you know I think from that
01:15:21
standpoint if you have a lot of clients
01:15:23
requesting information in a different
01:15:25
way graphql makes a lot of sense because
01:15:27
you have just a single endpoint and
01:15:29
you're putting that onus back on the
01:15:30
client saying hey you go ahead and tell
01:15:33
me exactly what data you want and I will
01:15:35
kind of retrieve it on the back end for
01:15:37
you
01:15:39
this has been a great great episode
01:15:41
thank you everybody for joining yeah
01:15:45
spring is coming
01:15:47
the journey is the destination
01:15:51
spring in Spring is coming spring is
01:15:53
coming
01:15:54
uh it is February 1st tomorrow I'm you
01:15:58
can't tell you how excited I am I look
01:16:00
forward to March 17th somewhere what is
01:16:02
it 19 somewhere around there when the
01:16:04
clocks move forward and just stays light
01:16:06
out longer I cannot wait because that
01:16:09
means I get to get outside and start
01:16:10
running again I hate running in Coldplay
01:16:13
yes I'm excited spring is coming uh
01:16:16
spring in Spring is coming so
01:16:18
thank you everyone thank you uh
01:16:21
hopefully we'll be back next week on
01:16:23
Tuesday 3 30 Eastern Standard Time
01:16:26
Spring Office hours we'll see you there
01:16:28
thanks again for joining us thanks
01:16:30
everybody
01:16:32
bye

Description:

Join Dan Vega and DaShaun Carter as they explore what’s new in the world of Spring. This is your chance to stay connected to what’s happening with the Spring Framework, related projects, and the community. During this live show, Dan and DaShaun will review the current news, demo a Spring related project they find interesting and answer any questions you might have.

Preparing download options

popular icon
Popular
hd icon
HD video
audio icon
Only sound
total icon
All
* — If the video is playing in a new tab, go to it, then right-click on the video and select "Save video as..."
** — Link intended for online playback in specialized players

Questions about downloading video

mobile menu iconHow can I download "Spring Office Hours: Episode 27 - SpringOne Essentials Recap" video?mobile menu icon

  • http://unidownloader.com/ website is the best way to download a video or a separate audio track if you want to do without installing programs and extensions.

  • The UDL Helper extension is a convenient button that is seamlessly integrated into YouTube, Instagram and OK.ru sites for fast content download.

  • UDL Client program (for Windows) is the most powerful solution that supports more than 900 websites, social networks and video hosting sites, as well as any video quality that is available in the source.

  • UDL Lite is a really convenient way to access a website from your mobile device. With its help, you can easily download videos directly to your smartphone.

mobile menu iconWhich format of "Spring Office Hours: Episode 27 - SpringOne Essentials Recap" video should I choose?mobile menu icon

  • The best quality formats are FullHD (1080p), 2K (1440p), 4K (2160p) and 8K (4320p). The higher the resolution of your screen, the higher the video quality should be. However, there are other factors to consider: download speed, amount of free space, and device performance during playback.

mobile menu iconWhy does my computer freeze when loading a "Spring Office Hours: Episode 27 - SpringOne Essentials Recap" video?mobile menu icon

  • The browser/computer should not freeze completely! If this happens, please report it with a link to the video. Sometimes videos cannot be downloaded directly in a suitable format, so we have added the ability to convert the file to the desired format. In some cases, this process may actively use computer resources.

mobile menu iconHow can I download "Spring Office Hours: Episode 27 - SpringOne Essentials Recap" video to my phone?mobile menu icon

  • You can download a video to your smartphone using the website or the PWA application UDL Lite. It is also possible to send a download link via QR code using the UDL Helper extension.

mobile menu iconHow can I download an audio track (music) to MP3 "Spring Office Hours: Episode 27 - SpringOne Essentials Recap"?mobile menu icon

  • The most convenient way is to use the UDL Client program, which supports converting video to MP3 format. In some cases, MP3 can also be downloaded through the UDL Helper extension.

mobile menu iconHow can I save a frame from a video "Spring Office Hours: Episode 27 - SpringOne Essentials Recap"?mobile menu icon

  • This feature is available in the UDL Helper extension. Make sure that "Show the video snapshot button" is checked in the settings. A camera icon should appear in the lower right corner of the player to the left of the "Settings" icon. When you click on it, the current frame from the video will be saved to your computer in JPEG format.

mobile menu iconWhat's the price of all this stuff?mobile menu icon

  • It costs nothing. Our services are absolutely free for all users. There are no PRO subscriptions, no restrictions on the number or maximum length of downloaded videos.