0:00:24
what is going on guys welcome back to
0:00:26
another session of buildbreaking fix
0:00:29
brought to you by the two of the royal
0:00:35
howard in tory you're right
0:00:37
doing good man how was your weekend
0:00:40
uh pretty productive and pretty
0:00:43
on as well how was yours oh nice yeah
0:00:46
busy busy weekend for sure like
0:00:49
doing a lot of stuff i have like
0:00:51
projects i have to work on and stuff
0:00:54
fantastic how they're going they're
0:00:56
going pretty good uh yeah it's going all
0:00:59
right you know everything just just
0:01:05
that's one of the perks of the software
0:01:07
development that it works when it wants
0:01:10
to and it will take time and it makes
0:01:19
yeah definitely a lot of patience for
0:01:22
fantastic so just go with the
0:01:25
acknowledgement for the country and then
0:01:28
we will get right into action so here
0:01:32
i begin today by acknowledging the
0:01:34
traditional custodians of the land on
0:01:36
which we gather today and pay my
0:01:38
respects to the elders past present and
0:01:41
future i extend their respect to
0:01:44
aboriginal and torres strait islander
0:01:49
fantastic now that is all done um so
0:01:53
just to give a brief recap um
0:01:56
we were working on getting the
0:01:58
connection id uh as in the user's
0:02:00
connection id in dynamodb when the
0:02:03
connector it appears with web sockets
0:02:12
sorry i was too in the zone i should
0:02:15
have welcomed the viewers first and then
0:02:26
viewers always always come first mate
0:02:29
so i agree you did the right thing there
0:02:34
yeah welcome to jesse really good to
0:02:36
have you and apologize for
0:02:40
one where i told you skeptic
0:02:44
tori taught me a lesson so thank you
0:02:50
yeah i worked on it um
0:02:54
night as in by myself and i managed to
0:03:00
yeah thank you nice job
0:03:06
thank you right yeah it took a while but
0:03:09
eventually we got there
0:03:13
right so i'll just share my screen as in
0:03:16
show you how it's working first of all
0:03:20
i really hope it works now oh yeah it
0:03:25
oh cool nice you know was it like this
0:03:32
chrome had to be updated
0:03:34
oh really that's it okay
0:03:36
that's cool that is all my friend okay
0:03:40
cool so i'm gonna just
0:03:43
go to the terminal and i upgraded my
0:03:47
terminal as well oh come on
0:03:49
we've just started
0:03:52
if you want to turn off on us that's not
0:03:58
this juicy up a bit
0:04:02
all right so i installed a new zish
0:04:14
oh i have i don't shed it
0:04:17
no you did it's just a little small on
0:04:20
actually how about now
0:04:22
make your yeah make it big uh okay yeah
0:04:27
it looks like you're missing some icons
0:04:31
that happened to me before
0:04:39
if i remember correctly you have to
0:04:44
or change your font
0:04:48
yeah you might have to change your
0:04:50
terminal font i think
0:04:52
or install a new font that supports the
0:04:58
i think i use fear
0:05:02
furious right right
0:05:04
code right i need to
0:05:07
have a look at that one as well
0:05:12
okay cool so i will just really quickly
0:05:16
demonstrate how it's working at the
0:05:20
and by the way i i also changed our
0:05:25
um account ideas and knowledge
0:05:31
so it's a lot easier
0:05:44
i will turn that off
0:05:54
oops okay never mind
0:05:59
it is definitely worth having it though
0:06:05
what seriously are
0:06:07
i definitely remember that i did this
0:06:26
okay cool that's fine
0:06:30
i don't know why this comes up but
0:06:32
when i sign in again it works perfectly
0:06:38
that's hard whatever
0:06:41
yeah let me turn on my information
0:06:46
if you go to your user
0:06:51
click on your user you'll be the second
0:06:54
option from the manage console
0:06:58
um so you could you go to your i am user
0:07:02
oh it's in i gotta do it and i am okay
0:07:07
all right so if we
0:07:10
wonder if it's i think there's a new
0:07:13
with the new uh console i think they
0:07:21
drop down and then you have like your
0:07:23
security credentials
0:07:25
cool oh yeah yeah doing it right now
0:07:28
oh i'm gonna point my phone at the
0:07:39
are you gonna do it now
0:07:42
yeah otherwise i'll forget yeah for sure
0:07:46
there we go it's done
0:07:51
all right so now we got that let's go to
0:07:59
so just for the you um
0:08:01
viewers to see that i'm not i'm not i'm
0:08:08
there we go that connection has been
0:08:10
established and now if you go to
0:08:15
the websockets table they should be
0:08:19
in total two connection ids one from the
0:08:22
yesterday and one from today
0:08:26
so there you go that's the second one
0:08:36
take over and do the
0:08:42
uh yeah sure let me
0:08:49
are there did you push those
0:08:52
changes yes yeah i didn't last night
0:09:00
yeah i just i i just don't want a single
0:09:06
so that's why it's always good for
0:09:09
multiple people in the team
0:09:14
what's happening and how does it happen
0:09:16
so if i can't turn up then you have that
0:09:20
knowledge and you can keep on continuing
0:09:33
i think i think the biggest hang up
0:09:37
for myself personally would be
0:09:39
working with the with the ammo file just
0:09:42
because i'm just i don't
0:09:45
i don't really it would take me forever
0:09:47
to figure out what to put in there and
0:09:49
you know what to put in there
0:09:53
okay from this step how did i know it
0:10:00
yeah so everything is learnable it's
0:10:07
yeah because it took me about two to
0:10:11
three days to get my head
0:10:14
what's working and how it's working
0:10:19
made it really easy
0:10:21
is when i was explaining the concept to
0:10:25
you guys as you finish card tech
0:10:30
explaining really helps and which is why
0:10:33
i would prefer if you do the disc
0:10:37
and i will still guide you
0:10:40
but you you would actually have some
0:10:44
okay sounds good um i
0:10:48
i'll share my screen
0:10:54
cue jesse just to let you know that um i
0:10:57
know you requested the background music
0:11:00
in the last stream
0:11:01
the reason why i can't put it on from my
0:11:05
end because i'm choosing a headset so
0:11:08
if i put on the music then only i would
0:11:21
which you can actually play this
0:11:25
music from background
0:11:33
um it's called the
0:11:41
yeah i don't have anything
0:11:48
does does the does the screen share not
0:11:53
the audio from the computer um so
0:11:57
i'm doing the headset
0:12:03
only the music will be able to come in
0:12:05
my headset you guys won't hear
0:12:08
it i see yeah i use
0:12:15
i don't have a mic yeah
0:12:19
that's um yeah we can look into that
0:12:21
next time i'm surprised like usually
0:12:25
usually there's a way to play like um
0:12:28
the audio from the computer
0:12:30
that you're seeing right track
0:12:34
i'm not the only thing i'm seeing is
0:12:36
being able to play a video file
0:12:50
what happens if i just go to youtube and
0:12:52
play music can you hear it
0:12:55
oh yeah you can right
0:12:57
worth of a try because
0:13:00
you can hear the video in my case
0:13:08
what is going on here where is there
0:13:14
just type in this search bar kind of um
0:13:18
coding songs whatever
0:13:21
coding song lullabies
0:13:26
whatever that was that was that cold
0:13:30
okay let me let me go back here
0:13:34
i don't i don't even know what youtube
0:13:36
means i think it's much easier if you
0:13:39
just type in this search well then
0:13:41
normally youtube as in just
0:13:49
and then you'll just come up with the
0:13:53
yeah just play any probably
0:13:56
just wanna check if we can hear it
0:14:05
you can the problem is
0:14:08
well it's okay i can still hear
0:14:12
oh why can't i hear it though
0:14:23
no one hears it because it's
0:14:26
my headset but you have your headset
0:14:35
is it too loud is that good
0:14:38
yeah yeah perfectly fine
0:14:40
right there is good
0:14:42
yeah yeah okay because otherwise it it
0:14:45
if it's too loud i can't really hear you
0:14:51
i'm gonna do worse now i'm one of those
0:14:53
lame people who can't like listen to
0:15:05
okay i'll run it again just in case all
0:15:10
know what the problem was
0:15:12
today yeah i do i definitely do
0:15:17
you know in the connection i do
0:15:22
we were playing that as an
0:15:24
object uh as a string object
0:15:27
yeah on that line oh yeah uh-huh yeah
0:15:30
that was a problem yeah
0:15:36
it's just like the wrong
0:15:37
plot wrong because
0:15:48
dog client then it doesn't accept in
0:15:56
oh this one the document oh yeah yeah
0:16:01
i'll check that out later
0:16:04
do that because um
0:16:06
you just as soon as i
0:16:09
i did a number of changes and
0:16:12
also i've had to include a lot of things
0:16:15
in this gmo file too
0:16:20
there were some problems in the ammo too
0:16:23
yeah yeah a lot of things
0:16:26
weren't there so that's just what
0:16:30
so it wasn't just the lambda no no no it
0:16:34
wasn't just the lambda but um the
0:16:40
roots and everything had to be there as
0:16:49
if you go to template
0:16:54
yeah see you know how i've entered uh
0:17:16
six um from the line 76
0:17:26
things there's a first i did the
0:17:33
configure the permissions as well
0:17:38
so you added all this
0:17:43
and then about to do the integration as
0:17:51
and then the function itself which was
0:17:54
um websocket connect and
0:17:57
that was basically already there but
0:18:01
just the two bits are about to add
0:18:05
which two bits oh these two bits so you
0:18:08
had this is that what you're saying
0:18:10
yeah uh because yeah okay and then you
0:18:14
to the connect route and the connect
0:18:16
integration what do what do those do
0:18:24
route it basically tells the websocket
0:18:29
api that this is the route that i want
0:18:37
which actually targets the into
0:18:42
wherever the integration
0:18:46
case we wanted to call the websocket
0:18:51
connect handler function and apparently
0:18:54
from what i understand we can't call
0:18:57
that directly from the root
0:19:01
we need to call that function through
0:19:08
interesting so is that is that what this
0:19:14
what is this do you know what this join
0:19:17
or it just joins these lines or what
0:19:20
it's a good idea to
0:19:22
google that because i did didn't
0:19:26
really pay any attention um all i did
0:19:30
was just check the overall concept and
0:19:33
basically typed in and it worked
0:19:43
yes but i don't know the
0:19:45
join as in keyword yeah i've seen that
0:19:48
before and i'm like
0:20:02
so here's how i actually got to the
0:20:06
point where i go there was a repo from
0:20:09
nws i literally just cloned it and ran
0:20:15
and that works perfectly
0:20:18
fine and these bits were included
0:20:24
complete our stack
0:20:28
so i said okay let's have a go now and
0:20:33
nice well that's great man
0:20:36
that's great good job
0:20:38
fantastic can i close this template
0:20:43
can i close the ammo file now why
0:20:46
oh we need it still we're gonna
0:20:51
dis connect functionality now oh
0:20:54
okay so not in the lambda yet gotcha
0:21:00
okay so we'll be coming back to the
0:21:02
disconnection lambda and bring the pain
0:21:07
bring the pain let's go
0:21:13
i would ask you to copy and paste it but
0:21:16
that's not what we gonna do because i i
0:21:18
actually just typed it no no no no no
0:21:22
no but basically we're
0:21:24
we're re recreating this okay yes
0:21:28
creating it so if you just want to
0:21:35
actually you know what i'm copy and
0:21:38
paste it it's fine
0:21:41
you can take a a lot longer
0:21:48
where do you where should i where should
0:21:49
i put it does it uh you can put uh
0:21:53
underneath this this as it
0:22:02
no no don't put below that
0:22:11
config lambda permissions which is
0:22:14
online this one 112.
0:22:19
where this finishes
0:22:21
where that finishes
0:22:23
oh check the keyword warrior out
0:22:26
right here above vpc yeah please
0:22:34
okay now we need to change the root key
0:22:38
to have a guess what
0:22:43
is it disconnect like that yeah
0:22:45
okay and then the operation name to
0:22:57
we don't want to change everything
0:23:00
yeah i don't know why it's highlighting
0:23:13
yes and on the top page you know it says
0:23:19
in line 1 21 yeah change that to be this
0:23:26
and then integration
0:23:28
we need this connect integration
0:23:32
disconnect integration yeah
0:23:38
basically wherever the
0:23:40
name is connect but
0:23:42
we're changing it in
0:23:51
okay what about down here in the
0:23:56
okay we need to create
0:24:00
function now so if you go to the section
0:24:05
should i just change this to disconnect
0:24:07
function handler though
0:24:08
first yes yeah okay
0:24:10
that's a good idea
0:24:13
all right go to go to where
0:24:16
go to the connection
0:24:20
connection function
0:24:33
where you were before um too fast
0:24:36
it's scary down it's scary
0:24:50
this one okay go up no no not that one
0:24:57
the one above this yeah
0:24:59
that one the websocket
0:25:04
how about if you type this one out don't
0:25:07
copy and paste it now
0:25:08
okay so make it make it below here
0:25:14
actually copy and paste don't worry uh
0:25:26
but you've got to remember some being
0:25:32
hey you know what if i'm at work and
0:25:33
that one's working and it's this doing
0:25:36
the same thing i'm copying and pasting
0:25:40
that's only if you understand what's
0:25:43
that's what i'm saying but if i'm saying
0:25:45
this one's working and i need the same
0:25:47
thing i'm going to copy and paste
0:25:48
because i don't want to make typos
0:25:51
of course of course my job at
0:25:53
debugging typos hopefully
0:25:56
yeah true that's absolutely right though
0:26:00
um so yeah just changed oh um the
0:26:04
handler has to be on disconnect oh it's
0:26:11
handle the functions
0:26:12
so this one's now websocket disconnect
0:26:16
yeah it's the on disconnect handler
0:26:20
is that the only everything else is good
0:26:22
right uh connection
0:26:27
okay yeah that would be all right go
0:26:30
down and we need to create
0:26:32
the permission for this as well
0:26:42
but just make sure you didn't change the
0:26:46
that was already there
0:26:54
oh you mean the order of it
0:27:00
do i find on their
0:27:02
websocket disconnected um
0:27:05
disconnect handler function
0:27:18
again there's only those two okay cool
0:27:21
yeah that's fine then
0:27:27
give it its its permissions
0:27:52
and the thing about doing it when you do
0:27:54
it with the hotkeys is like
0:27:56
you can you just get all the white space
0:27:59
which is important in this case right
0:28:03
because copying and pasting yeah you can
0:28:05
mess up the white space yeah
0:28:12
disconnect lambda permissions websocket
0:28:24
and then the function name is
0:28:27
this disconnect handler function are we
0:28:34
yeah it looks like it
0:28:36
it's so cool how it looks like i know
0:28:49
just go at the top and just make sure
0:28:53
all the as in the root the integration
0:28:56
and the function are there and they're
0:28:58
properly binded together
0:29:02
and then the disc connect root the
0:29:05
disconnect integration and the function
0:29:08
all right let's find that disconnect
0:29:10
root okay there it is
0:29:12
um oh just make sure they're all
0:29:14
together looks like they are
0:29:17
we start at the um okay how about um if
0:29:23
organize it a bit uh put
0:29:28
one space between the two
0:29:31
between the the two
0:29:35
like that no sorry
0:29:38
um do you know everything we need for
0:29:42
connect route integration
0:29:49
there were two two types of these now
0:29:51
connect and this connected internet
0:29:57
someone's calling me
0:30:00
um just baby me i need to pretend take
0:30:13
how's the music uh cute jesse
0:31:02
sorry about that no worries man
0:31:06
yeah everything good
0:31:09
okay so we did that
0:31:12
and now i'll let you
0:31:17
need to do on disconnect
0:31:23
uh uh did you you say you wanted to
0:31:25
organize this yaml first or something
0:31:30
actually yes but i don't think that's
0:31:32
as important as first completing the
0:31:34
whole functionality and then
0:31:41
um where's that on
0:31:44
connect so we're basically
0:31:48
gonna use this right
0:31:51
and then instead of put just delete
0:31:58
and i the one you guessed it yeah
0:32:03
all right can i just
0:32:05
see this now ripping this out man
0:32:12
copy and paste over all this i know
0:32:14
you're going i knew you were gonna do
0:32:16
that but yeah yeah cram well hey i'm
0:32:19
saving time i'm saving time all we need
0:32:21
is one little change here okay
0:32:24
tell me what's exactly happening
0:32:28
so i just want to make sure that
0:32:32
yeah sure so we're using we're taking
0:32:35
like before we're taking the
0:32:38
the um the connection id
0:32:41
and then basically
0:32:46
deleting that connection id from the
0:32:48
dynamodb table which the table websocket
0:32:53
that's it right perfect so whenever
0:32:55
somebody whenever a client like i don't
0:32:57
know closes their browser then
0:33:00
this should trigger this lambda
0:33:02
exactly you're smashing it
0:33:12
okay um oh let's change this though
0:33:16
yeah i was gonna say that
0:33:24
yeah that should work
0:33:29
sam build it and then deploy and see
0:33:33
how smoothly it works
0:33:35
oh oh yeah powershell good okay yeah i i
0:33:38
didn't get it i need to go and check out
0:33:40
see if i can update python or something
0:33:45
update python involved yeah i don't know
0:33:48
if uh something like to see how sam
0:33:51
build is like it's so slow
0:33:54
but i read i read that some other people
0:34:04
a thing is just in the windows because
0:34:08
mac is i'm no i'm not even kidding now
0:34:11
i'm i'm serious as in
0:34:15
i did this sam build at least 50 times
0:34:18
last night and we're just flying
0:34:22
so i'm not entirely sure if
0:34:24
as in there's a different version of
0:34:29
which is actually really
0:34:31
good optimized but not for windows i'm
0:34:35
not entirely sure about that have you
0:34:37
tried it on your own pc or you just i
0:34:41
i thought you had one for work
0:34:44
yeah but that's just for work i don't
0:34:52
yeah so i i think you're just spreading
0:34:54
misinformation that windows is slow
0:34:59
oh who knows or who knows
0:35:04
well here's the thing let's think about
0:35:06
like if i i could i could go and test
0:35:09
the same thing on an ec2 instance like a
0:35:14
yeah i can check i can check if it's
0:35:16
just my computer man but you know other
0:35:22
the few ones i saw with slow builds i
0:35:25
think they were also windows but i you
0:35:33
yeah probably uh have a look if you can
0:35:36
make any changes into sam as in the code
0:35:40
itself because i know a person when i
0:35:45
experiencing reading delays in
0:35:55
and it reduced basically half the time
0:36:12
still building i'm just checking out one
0:36:15
of these docks here
0:36:18
oh haven't you got a
0:36:30
for my from my computer
0:36:32
every gem yeah as in
0:36:35
windows dark theme
0:36:47
when i visit in github um it shows me
0:36:52
everything in black
0:36:56
as in everything in dark and that's
0:37:00
eyes friendly as well
0:37:02
they're saying this is not eyes friendly
0:37:12
i don't i don't mind but yeah i think
0:37:16
where's the dark theme do you know
0:37:19
do i have to change in the settings
0:37:23
okay whatever so i'll quickly google it
0:37:27
all right it's done building
0:37:43
good are we good i'll deploy this
0:37:53
oh there is no name okay no
0:37:57
it's just appropriate yeah
0:37:59
there we go deploy
0:38:06
um by the way if you go to your github
0:38:10
ah okay here we go
0:38:12
we can do this one first
0:38:33
it's doing its thing okay if you if you
0:38:39
and go to your profile
0:38:46
what's wrong with my appearance
0:38:48
no no no no your parents make it
0:38:54
your parents is pretty good to be honest
0:38:58
thank you there we go
0:39:01
dark high contrast dark default dark dim
0:39:05
delight oh that's burning your eyes
0:39:16
you need to play around with the stuff
0:39:19
it's too bad that they don't have a
0:39:22
there we go sync with system
0:39:30
because my system settings are dark
0:39:34
all right i see it's too bad they don't
0:39:36
have just like a toggle button though
0:39:43
oh look at those contribution map that
0:39:46
guy yeah that guy is a champ
0:39:49
that guy's a guru in everything look at
0:39:54
that guy doesn't have a life
0:40:00
yeah is that easier for you to read
0:40:04
well yes um the font is still a bit
0:40:11
yeah that's the font itself
0:40:16
hmm can you can you update that as well
0:40:23
i think i don't know how to do it but i
0:40:27
i'll have to find out just preferences
0:40:29
well i can just zoom in on the page
0:40:36
i better yeah that's much better
0:40:44
but uh yeah i don't know that was just
0:40:46
the project this is probably done
0:40:50
wow uh still going
0:40:58
almost set almost there
0:41:00
yeah take a drink you drink some there
0:41:01
you go drink some water
0:41:08
so uh if this works which it will of
0:41:13
because we never have problems
0:41:18
exactly everything works the first time
0:41:20
i i don't even know why the show is
0:41:23
called build break and fix it
0:41:32
so so what's what's next on the agenda
0:41:35
like after this part the next part would
0:41:39
wire this up to be called from the front
0:41:44
that's where i can actually be useful
0:41:55
there you go see you uploaded how many
0:41:58
files and you eventually press the
0:42:00
y to deploy the chainsaw
0:42:10
all right isn't it great if somebody's
0:42:12
watching you work and all this stuff is
0:42:14
just flashing on the screen there yeah
0:42:18
if they know nothing about anything in
0:42:20
programming they're like this guy's a
0:42:30
he knows his stuff man he knows his
0:42:37
there's a really funny docker file
0:42:46
let me see if somebody has a gif image
0:42:50
yeah it looks like this
0:42:56
so you run this docker container and
0:43:00
doing all this crazy stuff on the screen
0:43:03
which is literally doing nothing at all
0:43:07
and what yeah well the engineers who
0:43:09
like showed this in some workshop i
0:43:11
watched was like yeah sometimes because
0:43:13
it was it was a workshop on docker he's
0:43:16
like sometimes i just go on the plane
0:43:19
and just run this docker container
0:43:22
while i'm working on my laptop and just
0:43:28
yeah that's a pretty cool idea then yeah
0:43:37
wow he's a wizard yeah
0:43:42
all right this pie socket testing time
0:43:49
but first we need to get the euro i
0:43:52
don't know you said
0:44:01
i don't even know why we need cloud
0:44:04
because we don't have problems it
0:44:06
shouldn't even exist we shouldn't even
0:44:09
have permissions from
0:44:13
access it we don't need it at all isn't
0:44:18
just send you messages to tell you how
0:44:20
many how many users are using the
0:44:25
and just give your congratulations
0:44:27
basically yeah that's all
0:44:31
congratulatory text messages to your
0:44:43
to send your reminders
0:44:49
how many hundreds have been
0:44:51
increased since five seconds
0:44:58
i'm sorry is it the websocket one right
0:45:09
is making me want to sleep this one this
0:45:16
change it it's just still
0:45:18
you know what cute cute jesse likes it
0:45:21
i'm not changing it man unless there's
0:45:24
an audience who requests like different
0:45:29
i mean it is mellowing me out to be
0:45:36
that's cute you just taste isn't it
0:45:45
no no no no no we don't need to do that
0:45:48
that now let's disconnect
0:45:52
actually go to dynamodb
0:45:59
all the connection ids
0:46:04
because the reason why i want to do that
0:46:06
is because i want to check if
0:46:09
one id gets inserted and then on this
0:46:12
connect the same id guess um delete it
0:46:19
you don't know you can just
0:46:21
type in the dynamodb and it will come
0:46:26
your really smart story i like it
0:46:30
i wanted to save it to my my starred
0:46:44
how's work going zayn
0:46:58
kind of waste at all as it is
0:47:02
it's enhancing my time time management
0:47:06
that's really cool okay
0:47:08
yeah that means um
0:47:10
i mean that basically means you're doing
0:47:18
um i'm just hitting the
0:47:27
all right we got three connection ids in
0:47:29
there so i'll disconnect this right oh
0:47:38
i just want to make sure
0:47:42
deletes uh as in inserts and then
0:47:44
deletes this same one
0:47:47
yeah okay delete all these yeah
0:47:52
you want me to disconnect and reconnect
0:47:58
all right let's make sure this is this
0:48:02
okay oh i deleted successfully
0:48:12
go in the diamond db and check
0:48:22
yeah this moment of moment of truth
0:48:27
okay and we'll now go back
0:48:32
okay so that didn't work
0:48:42
our problem is um the
0:48:48
oh okay that makes sense man
0:48:55
i'm just kidding i'm just kidding by the
0:49:00
i'm sorry amazon i was kidding
0:49:11
the thing we don't use yeah
0:49:28
if anything i if i had to guess it's
0:49:31
it's not the lambda
0:49:33
like it's not on the disconnect lambda
0:49:35
it's probably just the yaml
0:49:40
find out don't worry um
0:49:42
okay click on the first one this one
0:49:46
yeah that's the api thing
0:49:55
no that's just today's okay don't worry
0:50:02
that's all right yeah because it's this
0:50:06
and that's showing all the 15. um
0:50:12
lambda it was some go to cloud formation
0:50:23
just typing this very come on come on
0:50:29
see look like that's how it was
0:50:32
it took like 10 extra keystrokes
0:50:38
imagine how many keystrokes would actual
0:50:40
coding take when you have to literally
0:50:43
code from scratch dude i just i just
0:50:46
open up my mic and i just do
0:50:50
voice to texture i like it
0:50:59
let's find out which lambda it was
0:51:02
uh it's the stack right now okay
0:51:13
okay we're going to check the
0:51:17
disconnect lambda yeah
0:51:54
view launching cloud watch
0:52:03
yep it's opened in a separate tab
0:52:08
all right let's see where we went wrong
0:52:10
or if it was even in lambda function
0:52:14
where the metrics come
0:52:16
on last modified nine minutes ago that's
0:52:20
when it was created right
0:52:23
let's see if it was invoked
0:52:26
that'd be a good starting point
0:52:31
i don't know what's taking so long
0:52:34
it's the ball is internet story
0:52:37
could be i'm not using my mobile data
0:52:38
which is generally a lot faster
0:52:47
law group does not exist
0:52:50
so it didn't even get triggered in the
0:52:56
did you even get triggered invocations
0:53:01
um do you want to go back
0:53:03
we will probably have
0:53:05
probably shoes here
0:53:09
so it got it got deployed
0:53:13
but it didn't get triggered
0:53:36
i think i know what the problem is
0:53:46
around the bottom yeah right at the
0:53:54
yeah i'm at the bottom
0:53:56
right at the bottom
0:53:58
as in right at the bottom
0:54:00
completely right out right here
0:54:03
as in completely as in towards the end
0:54:08
there's stuff yeah
0:54:15
you know where it says
0:54:25
it says connect root i think we need to
0:54:29
disconnect root as well
0:54:32
this deployment thing
0:54:35
underneath connect
0:54:36
route to add disconnect routes as well
0:54:42
i think that might have been the problem
0:54:45
but i'm not entirely sure yeah
0:54:50
do you mind if i just look at the uh
0:54:54
this doc real quick within their yaml
0:54:57
yeah for sure i think that's basically
0:55:04
that guy corrected me
0:55:09
your output blah blah blah
0:55:12
depends on oh well that's different then
0:55:23
they deployed this thing first i don't
0:55:33
disconnect route go down
0:55:36
oh here we go here you go here you go
0:55:38
here it goes yeah yeah i thought so yeah
0:55:46
how come the default the default route
0:55:49
doesn't matter though
0:55:54
would you mean that
0:55:56
he hasn't got that in the repo
0:55:59
well i mean here we have this like
0:56:04
in his case he has the whatever i'll
0:56:12
yeah you gotta build it right
0:56:18
for future if we do any code
0:56:21
code changes then we need to build it
0:56:24
but if we don't do any code changes then
0:56:26
just straight deploy it i mean i could
0:56:29
just run and hit run to the build folder
0:56:39
he's a wizard oh my god it worked like
0:56:42
that man that would be nice instead of
0:56:46
really bad build process on my computer
0:56:53
investory invests yeah so like here you
0:57:00
i know i i do need to get a better
0:57:05
but that's that i'm saving for when i go
0:57:09
yeah that makes sense so
0:57:12
this depends on like you have the
0:57:14
connect route and the disconnect route
0:57:17
why is the default route not here too i
0:57:20
guess this is what i'm saying
0:57:22
or your pc route whatever it's called
0:57:26
yeah um i think the d4 route isn't there
0:57:32
we don't plan to pass anything
0:57:39
web sockets so say for example if we
0:57:42
didn't want to test
0:57:49
error handling mechanism then we would
0:57:52
implemented default route
0:57:58
gotcha does that i think i guess yeah i
0:58:01
think i got you dude
0:58:06
so this depends on thing it tells it how
0:58:11
basically like deploy them and connect
0:58:20
i mean in in like any
0:58:25
how about if you can google this because
0:58:28
i learned this but i forgot
0:58:30
i learned it but i just like i haven't
0:58:34
i haven't been using this yeah that
0:58:36
makes sense though which is why it'd be
0:58:40
good for refresher
0:58:41
like i learned join i think i learned
0:58:44
ref and then i forgot don't use it yeah
0:58:49
they're just having so many
0:58:55
we can easily forget
0:58:57
well yeah i mean cloud formation is like
0:59:02
whole um declarative language that you
0:59:12
can just uh type in
0:59:24
that was what i was trying to articulate
0:59:29
for some reason but yeah
0:59:36
right right right so basically what
0:59:38
would happen is that
0:59:42
deployment is done then only it will
0:59:46
right right because if it doesn't
0:59:49
if it does it first then it just is like
0:59:54
not connected right because it has to it
0:59:56
has to do things in certain steps right
0:59:59
in order for it to work correctly
1:00:04
and also because roots are on
1:00:10
right it's zombie the other way around
1:00:13
the implant is only works yeah
1:00:16
gotcha yeah you can't like and like
1:00:18
because the lambda like the arn and all
1:00:21
this other jazz like
1:00:25
like the api gateway needs to be built
1:00:30
take the air in from the lambda
1:00:35
whatever i'm trying to say
1:00:37
and other stuff absolutely
1:00:40
absolutely you're just being agreeable
1:00:42
i'm not even making sense
1:00:45
no i get your point because
1:00:49
i guess what you're trying to say
1:00:54
if there are two surfaces
1:00:57
and one actually depends on the
1:01:05
has to deploy first and then the
1:01:11
because the first one is actually
1:01:12
dependent on the second one
1:01:14
yeah like you can't make
1:01:16
you can't make a web
1:01:20
without like having the api gateway
1:01:23
first right yeah absolutely so
1:01:28
just to point out i wasn't just
1:01:33
i knew what you were no i wasn't i
1:01:35
wasn't it wasn't actually a jab at you
1:01:39
as a jabba myself for now
1:01:45
that's actually a pretty pretty good
1:01:47
technique though i like it
1:01:49
like i don't know what i'm talking about
1:01:56
i really hope this works if it doesn't
1:01:59
we would have to come back to it
1:02:06
if i hit enter without hitting yes it's
1:02:21
geckdev was like where where are they
1:02:27
yesterday he texted me where are they
1:02:29
where are you guys and i'm like it's
1:02:36
i don't care get on
1:02:45
when i actually told him that uh stream
1:02:48
day off but i'm still working on the
1:02:53
he goes if you're working on those
1:02:55
websockets you should use the stream by
1:03:00
i need to focus and have a bit of a bit
1:03:07
which is kind of hard if you're if
1:03:09
you're streaming to be honest you do
1:03:12
well you know it's like work like you're
1:03:14
gonna work with other people you're
1:03:15
going to do other stuff but you also
1:03:17
need your own you need your own hours
1:03:30
yeah so the next step would be to and
1:03:33
then kind of wire up it and fire up
1:03:40
learning curve gotcha i got you on that
1:03:44
yeah yeah yeah come on
1:03:50
relying on you on the front end now
1:03:52
we can we can the lifesaver yeah i mean
1:03:56
we can we can probably
1:03:58
get the client thing hooked up pretty
1:04:00
quickly okay right i see it's not too
1:04:04
much code to be honest
1:04:07
it's basically what i copy and paste
1:04:15
that's like all you need to copy and
1:04:18
and then just like
1:04:20
i guess you're using vanilla javascript
1:04:24
you just need to like receive a message
1:04:26
and then just write some
1:04:28
on that mess on that uh on message like
1:04:32
event handler whatever you're gonna have
1:04:34
in there it's just like okay got the
1:04:36
message now just create
1:04:41
render this div to the screen
1:04:44
right right right i see in this spot
1:04:47
because um i guess the first step would
1:04:53
when we kind of load the board
1:04:57
it should automatically connect to the
1:05:00
websocket i think yeah that's it that's
1:05:06
i've not done that so yeah you'll just
1:05:10
like window or like on load event
1:05:13
on dom content and it'll just like fire
1:05:15
up the web socket on there
1:05:21
that's that actually sounds pretty easy
1:05:24
it's pretty easy like yeah it's not
1:05:26
going to be hard what's going to be hard
1:05:28
is is is the backhand
1:05:32
it is hard obviously
1:05:34
yeah because because that well i mean it
1:05:36
won't be too bad if that route is
1:05:38
working all you need to do is like
1:05:41
basically have messages pass through
1:05:45
but i think the tricky part is that the
1:05:47
messages need to go there and they need
1:05:50
interact with the database from the
1:05:52
table right for the actual
1:05:55
for the actual board and like delete
1:05:58
messages put messages
1:06:00
right yeah yeah yeah put cards delete
1:06:03
cards because now you're now you have
1:06:05
multiple clients doing it all at once so
1:06:11
it will only save everything when the
1:06:20
presses this save button so
1:06:23
everyone won't have ability to as in
1:06:27
interact with the database only the guy
1:06:32
only someone who created the board
1:06:35
so other people can't create cards they
1:06:38
they can click okay so
1:06:41
everyone can create a card um
1:06:45
they can okay they can
1:06:48
insert um they can
1:06:52
but they can't interact with the
1:06:58
so they can do everything on
1:07:01
this on this on the screen so say for
1:07:04
example there's 10 cards on the screen
1:07:12
when the user wants to save it only one
1:07:17
created the board he would have the
1:07:19
ability to save it the others
1:07:24
would only have the ability to see
1:07:28
on this on the screen that's all
1:07:32
so they can't they can't save cards
1:07:38
so they can't correct they can't create
1:07:40
cards or they just can create them but
1:07:42
they can't save them
1:07:46
create the cards on the screen
1:07:49
but they can't save it from the screen
1:07:52
to them okay database that's interesting
1:07:56
so the host or whatever you want to call
1:08:00
can like decide to save it or not
1:08:02
exactly gotcha okay so that's even so
1:08:06
then yeah all you kind of need to do is
1:08:08
just pass the board
1:08:11
like when you create a like a client
1:08:15
that's done already yeah i don't know
1:08:17
we'll get there yeah yeah all right so
1:08:20
let's test this function nelly and
1:08:39
first and check if i deleted it
1:08:42
okay cool all right
1:08:44
so connecting to all right that's
1:08:54
there that's the new one
1:09:21
i'm just checking if you're choosing the
1:09:23
right function to delete
1:09:31
yeah we are that's why i went to that
1:09:34
that repo and checked
1:09:38
um let's see if we invoked
1:10:05
this is the right one right
1:10:16
i think there must be some other other
1:10:30
who will come back what is going on
1:10:37
interesting he looks pretty tired
1:10:44
all right i'm gonna kill the music or
1:10:46
leave it while you do the intro outro
1:10:51
all right guys um been our reading good
1:10:54
progress we got on
1:11:01
work which was really good another step
1:11:03
closer to the good
1:11:10
tuning in we'll see you back here
1:11:14
with the full function attitude
1:11:25
there we go we said it all right guys
1:11:28
have a good night thank you thank you
1:11:30
everyone have a great night thanks cute