0:00:26
what is going on guys welcome back
0:00:31
that was a pretty cool np story i like
0:00:35
that very spontaneous and very funny
0:00:41
no no you don't need to be sorry please
0:00:44
please my dog is under me get away from
0:00:49
he rolled in some duck poop earlier and
0:00:51
i have not had that
0:00:56
cool cool yeah i hope you can get a
0:00:59
chance straight out to the stream to
0:01:02
but yeah back to my intro
0:01:05
welcome back guys to another session of
0:01:08
buildbreaking facebook brought to you by
0:01:14
yes that is us and this time we are free
0:01:17
because we have our legendary
0:01:20
valuable member of this
0:01:23
stream team dinesh is back on after his
0:01:28
break so how was your break finish
0:01:31
hey good to be back saying um yeah it
0:01:33
was really good um yeah i was just
0:01:36
telling you earlier just
0:01:37
got to do a lot of the you know break
0:01:41
like road trips and hang out with family
0:01:43
and all of that so yeah i really enjoyed
0:01:48
fantastic man it's
0:01:50
always good to have a bit of time off uh
0:01:56
with who you love and what
0:01:59
you love doing so i'm
0:02:02
really happy you had the break and i'm
0:02:05
even happier than you
0:02:06
you're back thanks
0:02:10
yeah okay tori what's going on
0:02:13
tomorrow good to see you with dinesh
0:02:15
good to see you man hey good to see you
0:02:19
you could stay in the street
0:02:21
thanks um tomorrow i have an interview
0:02:28
mentally prepare for that tomorrow
0:02:31
but yeah spending most a day studying
0:02:42
does anyone here know how to say the
0:02:46
let's pray for tories
0:03:01
really hope that it goes really well and
0:03:04
i'm looking forward to hearing the
0:03:07
good news because yeah
0:03:10
yeah the the thing that makes me the
0:03:12
most anxious is is i just don't know
0:03:15
like tomorrow it's only 45 minutes but
0:03:22
the topic of what coding problems we
0:03:32
my experience is not
0:03:34
very if you solve the problem or not but
0:03:39
thought process as in how you actually
0:03:42
approach the problem
0:03:44
and how you deal with the problem it's
0:03:46
not necessarily okay here's the problem
0:03:49
you need to solve it
0:03:54
you're totally right on that and then
0:03:56
sometimes there's just
0:03:59
like my perspective is sometimes
0:04:02
there are problems where if if you
0:04:05
don't know the concept very well you're
0:04:08
just you're you're not even gonna
0:04:11
like you're not even gonna come close
0:04:13
but you're not even going to have like
0:04:17
like educated discussion basically about
0:04:21
because like we i mean
0:04:23
if it's like a data structure as an
0:04:25
algorithm type problem like some of
0:04:26
these algorithms like we take them for
0:04:32
you know scientists the universities
0:04:34
like develop these algorithms over like
0:04:36
maybe a couple decades or whatever and
0:04:38
then they're tested and refined and then
0:04:45
if i have to come up with
0:04:52
but yeah i mean i guess you know what
0:04:54
i'm saying before i keep
0:05:01
totally uh understand you and
0:05:04
yeah okay dev our precious t-ball is
0:05:09
yes i'm saying i was thinking it's good
0:05:11
to have um tori on the show instead of
0:05:15
it says yeah yeah okay guys
0:05:21
him being here as an additional layer of
0:05:26
and humor as well so which is fantastic
0:05:30
yeah yeah absolutely
0:05:37
finish again welcome back reading good
0:05:46
take you through as in what we have been
0:05:49
up to okay and hopefully you get the
0:05:53
grass but if you don't um feel free to
0:05:56
ask any questions as
0:05:59
as in as many questions as possible and
0:06:05
on to you as a practice of his interview
0:06:10
yeah yep sounds good
0:06:19
yeah okay dev um we
0:06:22
really have to work on that one and
0:06:24
that's in the pipeline
0:06:26
yeah okay cool so i'll share my screen
0:06:30
uh actually tori do you wanna
0:06:33
go through what we have done as in with
0:06:38
so far by sharing your screen
0:06:43
finish for it as in really a quick
0:06:54
let's add your screen on the stream and
0:07:00
over there move this here
0:07:04
are you familiar with uh websockets at
0:07:09
no i've got no idea
0:07:11
okay well we're screwed
0:07:28
i believe in you um so
0:07:35
i'm just gonna open a little
0:07:40
all right yeah this one's probably fine
0:07:53
come on come on google
0:08:02
come across this at like cuny but
0:08:04
perfect perfect then
0:08:06
overview would be good
0:08:10
well that works for you i think it's
0:08:14
my boss is like very uh very very um
0:08:18
sketchy at the moment so
0:08:19
english would be good
0:08:26
so you have your client right you got
0:08:28
the client the browser whatever
0:08:31
uh no i i can't speak bahasa gekkdev
0:08:35
it's it's shameful honestly
0:08:38
how long i've been here anyways um
0:08:44
just trying to light scrambler
0:08:52
so so web sockets are
0:08:56
a few use cases um like real-time
0:08:59
applications where
0:09:01
um especially in the case where you have
0:09:03
multiple users um so basically for the
0:09:07
kanban board we want to be able to have
0:09:09
multiple clients connected to the same
0:09:13
and then people are putting up notes and
0:09:16
and then everybody's
0:09:20
see those changes reflected in real time
0:09:26
yep so far so good okay so those are the
0:09:29
cli so those are our clients our users
0:09:31
and then basically the websocket
0:09:33
protocol allows us to connect to
0:09:37
our server which in this case is like a
0:09:41
architecture on aws
0:09:44
and api gateway has
0:09:47
what's called api gateway websockets
0:09:52
so that allows us to connect our
0:09:58
the the websocket on the server through
0:10:03
through the use of some um some lambdas
0:10:09
um kind of i won't say like baked in but
0:10:12
they're part of the
0:10:20
you can trigger those lambdas based on
0:10:24
messages you're sending to the websocket
0:10:28
essentially so then when for example
0:10:31
there's um a connection
0:10:37
triggers a lambda in our case in the
0:10:41
some a client will connect to
0:10:45
the websocket establishes the connection
0:10:47
that lambda it's like a connect lambda
0:10:50
which is like a reserved one but it's
0:10:51
not really important honestly um and
0:10:54
then and then that will like um
0:10:57
kick off that connect lambda handler and
0:11:00
that will in the future
0:11:05
a table in dynamodb
0:11:08
and then basically just keeping their
0:11:11
connection id pretty simple and it'll do
0:11:14
the same for all the users
0:11:17
so the point is now we know all the
0:11:19
users that are connected to our dynamodb
0:11:22
table through the websocket
0:11:24
okay and then whenever they send a
0:11:27
message which we haven't implemented yet
0:11:29
so a message would be like
0:11:32
board uh they saved a note to the board
0:11:35
then that would from the client
0:11:39
they would basically post the message
0:11:41
through the websocket protocol
0:11:45
and then dynamo and then that another
0:11:48
lambda would be triggered
0:11:50
then run some logic to basically like
0:11:54
get everybody whose uh connection id is
0:11:57
in the board and then send them back a
0:12:00
with the updated information which is
0:12:02
probably like hey here's a note and then
0:12:06
get that and then like basically like
0:12:08
run some javascript to just like create
0:12:11
create the note on the board and then
0:12:13
all this can happen in real time so it's
0:12:15
just like a different protocol that
0:12:17
stays open like in its
0:12:20
it's um bi-directional
0:12:24
i don't know if that's the correct term
0:12:26
basically it's a it's a it's an open
0:12:29
connection it doesn't close it just
0:12:30
sends like ping pong
0:12:33
throughout the life of the connection
0:12:36
um the client can send data and receive
0:12:39
data from the server
0:12:41
without any sort of
0:12:43
like basically requests well i shouldn't
0:12:45
say that but but like you know not like
0:12:48
get requests and then
0:12:50
like pulling and listening for a request
0:12:53
from the server it just like does that
0:12:59
okay that's pretty interesting i think i
0:13:00
get the like the high level overview
0:13:08
i don't know any questions about what i
0:13:12
i don't know i think i'm good yeah for
0:13:13
now okay yeah perhaps when we go through
0:13:16
it like a bit later
0:13:19
yeah guys that was a really good
0:13:23
story as in re uh at uh 15 000 feet
0:13:29
eye view which was really
0:13:32
interesting um so just to follow up on
0:13:36
tori's explain explanation basically how
0:13:39
he said you know that by uh
0:13:42
um websockets are by their
0:13:44
bi-directional and um
0:13:47
so that's the basically the difference
0:13:59
as in it sends the request
0:14:02
and then waits for the response back and
0:14:05
then when it and when it gets back then
0:14:08
it sends an other request and then
0:14:25
what websocket does is
0:14:29
it does uh an approval handshake
0:14:32
first so it would also
0:14:35
the client would also
0:14:41
approval and then if websocket approves
0:14:45
it would say okay fine i know you you
0:14:53
with me and that just happened once
0:14:56
after the handshake is done
0:15:02
the request and the responses are
0:15:10
yeah okay that makes sense that's very
0:15:13
yeah which is bi-directional
0:15:21
yeah thanks for that uh guys
0:15:27
a web socket url starts with
0:15:35
encrypted and more reliable one starts
0:15:38
with so anyone would usually use wss now
0:15:42
so instead of http it's a different
0:15:48
yes that's pretty close
0:15:54
yeah yeah it's his says
0:15:56
uh goddamn is asking can i repeat that
0:15:59
i'm pretty sure he's being he's he's
0:16:01
putting my leg now i'm pretty sure about
0:16:07
okay cool so um yeah uh tori do you want
0:16:15
do you wanna do it
0:16:19
continue focusing on as in that blank
0:16:23
line that we were getting from the
0:16:25
lambda response that we couldn't be able
0:16:30
we're just one step closer
0:16:43
have you worked with
0:16:47
before finishing in your uni
0:16:51
um yes at uni at uni we did um we made a
0:16:58
uh for one of the projects yeah why did
0:17:00
you lie to me then
0:17:02
no i i forgot ben like
0:17:05
you know like we just did it for a
0:17:08
you could practice too
0:17:11
you just wanted me to explain all that
0:17:16
i needed a refresher anyway so yeah
0:17:20
yeah it was good man never never forgive
0:17:26
zane do you have any changes to push
0:17:29
uh because i did a good poll i didn't i
0:17:31
don't have anything then probably not no
0:17:36
okay so we are wrong
0:17:44
probably no point running sam built
0:17:46
because the code hasn't been changed
0:17:49
okay um do you wanna uh and then test
0:17:53
the existing state of it by
0:17:56
getting the url or websocket and then
0:18:01
send a responsibility
0:18:04
yeah that would be the one i believe
0:18:09
i keep meaning to save the the websocket
0:18:12
endpoint where's my
0:18:15
hang on i might have the endpoint for
0:18:21
my password manager is not auto filling
0:18:42
your password manager
0:18:44
it is logged in i don't know why it's
0:18:51
take the euro from the password manager
0:18:56
in the address bar
0:18:59
it happens with me
0:19:01
yeah i i i think you're right i think
0:19:04
that is what it is
0:19:06
it's just like it doesn't recognize the
0:19:11
i'll fix that later well this should
0:19:14
do i have two factor on i don't remember
0:19:23
for anybody who's watching i definitely
0:19:25
have two factors in fact
0:19:28
in fact i'm going to put up the no one
0:19:29
hacks in inventory's account
0:19:34
actually just a breaking news um
0:19:38
tori is in the middle building a third
0:19:41
factor authentication as well
0:19:43
that's right that's right
0:19:46
maybe in maybe in all of our
0:19:53
uh sorry what did you want you want i'll
0:19:55
go grab the uh uh the cloud formation
0:20:00
yeah that should be fine as well
0:20:12
i don't know what's going on slow
0:20:21
but my video is okay yeah my video is
0:20:25
yeah that's it which pc is it
0:20:29
huh oh i just got a mac m1 today
0:20:35
that was i was so tired of all the
0:20:37
problems with my old windows laptop what
0:20:57
the speed can't possibly be the max ball
0:21:00
it must must be something else
0:21:05
yeah i think it must be just barley's
0:21:08
internet though isn't it yeah it's
0:21:10
probably been a whole little
0:21:16
we need stages and
0:21:20
what is what is up what is up load
0:21:24
okay oh it did my bad
0:21:33
let me post that and i'll post that in
0:21:35
the chat for you guys too
0:21:38
that would be nice we should just keep
0:21:41
track of this instead of doing it every
0:21:46
although it kind of is a tradition at
0:21:48
this point so yeah we should keep it
0:21:54
so if if you notice two um finesse
0:21:59
there's this connection url and honestly
0:22:02
i'm not completely certain what it does
0:22:05
but i think it's an end point that
0:22:12
messages in the like when you want to
0:22:14
send a message to other clients i think
0:22:17
in the lan inside of your lambda
0:22:20
i think i think behind the scenes it
0:22:22
posts to this end point but you won't
0:22:24
you won't write it but i'm not i'm not
0:22:26
100 certain on that so
0:22:31
but there is this other like connection
0:22:33
url but i haven't like um
0:22:36
read again what it what it was all about
0:22:39
all right let's go to pie sake yeah
0:22:44
oh it's still there nice
0:22:59
yeah and if you want to put um type up
0:23:04
does it need to be a
0:23:06
does it need to be a string
0:23:14
and then what do we write default
0:23:18
there's like this default
0:23:23
and then this action is basically like
0:23:26
when we connect we
0:23:30
by default i don't think you need you
0:23:33
don't need a action connect but you can
0:23:35
have this action send message action
0:23:39
default default is like the a special
0:23:41
one that just like
0:23:44
is like the fallback one i guess
0:23:47
and then when you do this it'll trigger
0:23:51
and then it says this is a message from
0:23:56
okay do you want to show him the
0:23:58
code as well yeah as in
0:24:01
why have we used the key action
0:24:04
specifically okay oh okay let's go
0:24:08
in the template right
0:24:17
you have no idea how long we spent
0:24:23
trying to debug a problem when it was
0:24:26
uh geckdev saved us and it was like we
0:24:29
were missing this this dollar sign
0:24:34
probably like five hours later i don't
0:24:40
um but yeah you have these routes
0:24:43
so we're creating these routes and then
0:24:49
one of the reserved one
0:24:55
oh wow okay i don't know there's another
0:24:57
one called connect
0:24:58
somewhere all right
0:25:09
okay there's um the
0:25:11
the connect one is
0:25:14
oh so it doesn't need a round
0:25:19
okay so there's uh another one that
0:25:25
yeah there's another one on connect and
0:25:29
but i guess in the template it's
0:25:36
this looks like gibberish to me
0:25:41
i don't speak ammo
0:25:43
right um do you want to maybe give me
0:25:46
access to your vs code as in through
0:25:50
live sharing and then i can walk
0:25:53
finish through a bit of the ammo as well
0:25:58
because i think it might be a lot easier
0:26:01
if you're doing that right right
0:26:08
okay i would all right so if you do
0:26:13
then i should get some kind of an email
0:26:17
yeah as soon as this goes away
0:26:20
invitation link copy to clipboard copy
0:26:30
okay there it is and then
0:26:34
is the price the private chat is private
0:26:42
not on the screen share
0:26:47
there there it's in the private chat
0:26:53
thank you i'll just
0:26:56
copy and paste that one oh i have zayn
0:27:04
um i think i need to
0:27:09
opening vs code yes i'll open this ps
0:27:15
open just share the terminal
0:27:20
i use it doesn't have permission to
0:27:26
really connect to the workspace ask the
0:27:29
host to provide access
0:27:32
can you give me access again
0:27:46
same thing that's weird
0:27:54
actually i'll just do it in the
0:28:02
actually hang on a minute
0:28:04
i'm going to try something
0:28:06
why is it not good
0:28:08
i'm going to join share
0:28:11
you can share with me
0:28:16
okay i'll just do it on the
0:28:20
forget opening your ps code
0:28:27
i always have trouble with the web
0:28:36
sign in my guitar apparently
0:28:40
why would it not work that's weird
0:28:49
yeah i don't know i just i always have
0:29:00
okay i am about to come in
0:29:07
didn't yeah i should be in and i would
0:29:11
be able to see your
0:29:20
john is zayn is joining yeah perfect so
0:29:30
you guys able to see it
0:29:37
there i'm i'm following you following
0:30:00
root as in to route the request to
0:30:05
over here so for us it would be test
0:30:09
and then i'm giving it a key
0:30:12
which is the root key and this key
0:30:18
is whatever you want to have over here
0:30:41
sorry can you open up your api get our
0:30:44
website api gateway
0:30:54
the routes okay so
0:30:57
keys i was talking about the finish fees
0:31:00
are the root keys so in this case we
0:31:04
connect disconnect and
0:31:10
um now if you want to go back to
0:31:19
this is where our rookie was
0:31:28
where we wanna trigger
0:31:41
in our case we want to trigger this
0:31:45
tesla lambda integration
0:31:49
which is over here
0:32:00
which means that we are
0:32:07
if it's the default one
0:32:12
we need to call this integration
0:32:15
and then upon this into integration we
0:32:19
call this function here
0:32:24
default lambda function
0:32:30
uh are you with me so far
0:32:49
we had the root key
0:32:58
and apparently we can't
0:33:07
that we want to trigger this
0:33:15
why from my knowledge i'm maybe wrong
0:33:18
but gag devotee may be able to correct
0:33:24
which is the reason why we need to
0:33:28
give it the target as the intel
0:33:37
this target it points
0:33:40
to this tesla lambda integration
0:33:45
which is defined over here
0:33:51
which in turn invokes
0:33:57
using the integration uri
0:34:01
yeah okay make sense
0:34:03
okay and then this function is of uh
0:34:22
basically this function is taking um in
0:34:27
the default handler at the moment
0:34:40
ignore this code for now
0:34:46
basically what we're telling
0:34:56
when our root key is
0:35:08
tori do you want to share your pi socket
0:35:18
you know how tori sends a request
0:35:25
which had a key value pair of action and
0:35:33
action is basically the key
0:35:38
do you want to go back to yamatori
0:35:44
which is basically on
0:35:49
sorry my bad i should
0:35:52
control him myself
0:35:55
so wherever we are doing on a route
0:35:59
selection expression
0:36:03
which basically tells the
0:36:09
um so it's aware that the client
0:36:15
gateway that i wanna
0:36:17
trigger this expression
0:36:23
yeah does that make sense so far yeah
0:36:25
it's starting to make sense starting to
0:36:27
become more clear overall
0:36:35
if it's action or test
0:36:57
why would we put here
0:37:00
we need to make sure that that is
0:37:02
actually present in our json request
0:37:09
okay and then the value of that key has
0:37:13
to be one of our lambdas
0:37:25
if it's the um if it's anything test
0:37:34
that corresponding lambda has to be
0:37:40
okay yeah yep it's making more sense
0:37:44
but it was the donkey part
0:37:46
yeah it's stuck that works for me man
0:37:50
yeah then made it a little clearer but
0:37:54
um so say if someone passed in something
0:38:01
corresponding to a lambda function as in
0:38:05
same battery phone
0:38:08
but we don't have a battery
0:38:13
then it would go into the
0:38:20
which will basically be
0:38:25
uh arrowhead links saying that okay
0:38:29
i don't know what you're talking about i
0:38:33
yeah okay that makes sense yeah
0:38:36
um so just wondering
0:38:39
how will we be using this exactly in our
0:38:44
okay so how we are
0:38:46
choosing this is we want to make sure
0:38:52
more two or more users can actually
0:38:54
interact with the boards simultaneously
0:39:01
okay makes sense yeah it's becoming
0:39:02
clearer for sure thanks for that guys
0:39:06
all right you ready to coat it up
0:39:18
that was just a bit of a context um so
0:39:23
working on so far is
0:39:26
i don't know if you might have any
0:39:30
um but i'll take you through the lambda
0:39:36
we will working on
0:39:39
this is the lambda
0:39:43
and this is basic all is
0:39:50
connecting to the web socket and
0:39:54
uh sending out the response
0:40:02
okay and right now it's back to this the
0:40:06
client who sent it because
0:40:08
uh this get socket context
0:40:12
takes in the event from the lambda event
0:40:18
inside the request context of the event
0:40:20
is the connection id which you need to
0:40:23
say who to send this message to
0:40:28
so these are the things that we want to
0:40:31
also keep track of in the future when we
0:40:33
store them in dynamodb to say all these
0:40:36
connection ids are these users
0:40:38
essentially who are in this table
0:40:43
like send all the messages broadcast all
0:40:46
the messages to these connection ids
0:40:55
is it making sense so far finish
0:41:01
now i'm a bit confused of the connection
0:41:02
i do think to be honest it's just like
0:41:04
it's just a unique like identifier to
0:41:07
say who's connected to the websocket oh
0:41:12
just think of it like id basically
0:41:17
okay i don't know if i'm over
0:41:19
simplifying that but that's that's the
0:41:20
way i'm thinking about it
0:41:23
my mental models are usually bad anyways
0:41:30
they're pretty good
0:41:33
essentially what i guess story means is
0:41:40
when you create a board
0:41:46
the person who's created the board is
0:41:55
click on the url to
0:41:59
what's going to happen at that stage
0:42:01
that when you open it
0:42:04
it will actually connect to the web
0:42:07
socket so it will go to the websocket
0:42:12
and then it will generate a connection
0:42:21
essentially telling that okay i've got
0:42:23
another user connected to
0:42:28
this board and this is his
0:42:36
does that make sense yep that's clear
0:42:42
essentially what that connection id will
0:42:45
be used for is whenever you make changes
0:42:56
free request to the
0:42:59
websocket server and
0:43:12
to all the connection
0:43:17
that are connected to the board at that
0:43:25
it's been confusing it's in a finish
0:43:38
okay and then he sends the
0:43:40
url to me and tori
0:43:44
and you okay okay so
0:43:46
you open up the url
0:43:50
and then you will receive the connection
0:43:53
idea because you have actually just
0:43:55
connected to the websocket as well
0:43:58
does it all make sense until now
0:44:09
added a note in the board
0:44:14
what's going to happen then is
0:44:28
screen because we are all connected to
0:44:34
while websocket and
0:44:40
show your change to all of us
0:44:45
all of our connection ids
0:44:48
will be present in the
0:44:53
yep okay makes sense
0:44:58
i really i really need to work on all my
0:45:02
explanation skills yeah that was good
0:45:06
yeah adding those names will like help
0:45:09
you know get caught okay
0:45:14
okay so there's a connection uh id
0:45:20
and sorry my bad wrong screen
0:45:30
yep cool so this is the connection
0:45:38
domain name is the
0:45:42
websockey url in this
0:45:44
case and the stage is obviously a prod
0:45:50
we're going the websocket
0:45:54
does it make sense
0:45:56
yeah yeah okay that's good and what
0:45:59
we're doing here is basically
0:46:07
string interpolation i think is
0:46:12
called yeah so all
0:46:16
we're doing is getting the value of
0:46:19
domain name and this stage and then
0:46:23
appending the stage to the domain name
0:46:30
yeah does that make sense
0:46:32
yeah yeah that makes sense
0:46:34
okay cool and then
0:46:36
we're just using the api
0:46:48
basically interacting with that
0:46:52
using opposed to post to connection
0:46:56
which essentially means that do
0:47:03
whatever's in this method after the uh
0:47:08
you've been connected to the websocket
0:47:14
yeah make sense that makes sense yeah
0:47:21
returning the connection id the endpoint
0:47:32
that was the whole logic for just
0:47:37
applying the method uh which actually
0:47:40
sends the message but the actual work is
0:47:46
so here what we're doing is just
0:47:49
basically ignore this
0:47:57
saving the return uh we're saving the
0:48:08
into this sand constant
0:48:13
waiting the send constant
0:48:18
and then just basically s string you
0:48:26
so it sends a promise
0:48:27
all right which is
0:48:31
and then it's just
0:48:32
um displaying what we did over there
0:48:36
do you want to go back to it to pass
0:48:43
so here we're just seeing that because
0:48:47
we've actually explicitly
0:48:50
and this is just for
0:48:56
want to call our default lambda
0:49:02
that actually triggered the response
0:49:06
but the bug that we would
0:49:09
be trying to fix is that it's setting
0:49:13
this blank line for no reason
0:49:21
or the one after do you want to
0:49:25
the next one right
0:49:31
so there shouldn't be anything after the
0:49:35
message this is the message from
0:49:40
yeah so this is basically pretty much we
0:49:43
are trying to highlight um fixed
0:49:49
all right that was a lot you guys have
0:49:50
done a lot since uh
0:49:52
trust trust me um it's
0:49:55
it was a big learning curve because
0:50:01
i haven't it was a nightmare
0:50:10
this was my first time um working with
0:50:16
websockets i've heard the name of it but
0:50:19
didn't even touch it before until now so
0:50:25
learning curve though
0:50:35
do you want to check
0:50:39
where the logical error might be
0:50:43
uh yeah i have no idea though right now
0:50:46
i mean i can't i i did a little research
0:50:50
i can't figure it out
0:50:53
the only thing i was the only thing i
0:50:55
was thinking is maybe
0:50:58
check the cloud watch logs and see if
0:51:00
there's anything funny there
0:51:04
what do you say about that
0:51:10
that'd be a good way for the first step
0:51:13
um but the thing is that you should have
0:51:20
you're the man of the stream
0:51:23
can i hold all the cards right now
0:51:34
uh tool do you guys use to test the
0:51:36
sockets by the way just
0:51:40
and there's the there's a command line
0:51:42
one zane found called wscat
0:51:45
that you can install through npm
0:51:49
like globally and whatever
0:51:54
make a tool story for ws doggy
0:52:00
instead of cat doggy
0:52:05
i'll just take the code and just change
0:52:07
the name yeah yeah
0:52:10
because there's no way i can build it
0:52:16
it's always worth a try tori
0:52:21
yeah maybe after i get my job
0:52:24
give it a shot yeah exactly
0:52:33
that would be the one yeah
0:52:37
is this the regular lambdas or is this
0:52:39
the this is it this is it this is the
0:52:42
api get where there's no lambda
0:52:50
10 okay it's still having the one from
0:52:54
yesterday the latest
0:52:56
but we need the one from
0:53:07
i think we should backtrack a bit
0:53:20
role of uh default will be just to send
0:53:38
maybe we can just focus on
0:53:42
when it's connected to the websocket we
0:53:46
can insert the done
0:53:48
the connection id in dynamodb
0:53:58
so what do you want me to do
0:54:02
so it's connecting that one there
0:54:06
we would have to go to our on connect
0:54:16
finish we have this
0:54:18
lambda which is just basically doing the
0:54:30
i'm gonna probably have to google this
0:54:33
surprised with me um
0:54:50
socket never to stream down and how to
0:54:54
this whole connection ids
0:55:00
announcing that's okay um
0:55:06
with lambda and dynamodb
0:55:09
that's exactly the one we want
0:55:21
on connect with lambda will actually
0:55:23
have the functionality
0:55:25
to insert the connection id in
0:55:44
and handle the subscription
0:56:22
so uh i was gonna shame my screen base
0:56:33
all right guys let's just um
0:56:36
keep your hair but um
0:56:38
have you got the overall idea of
0:56:43
what we have been up to and how far have
0:56:49
yeah yeah for sure it's good um
0:56:51
yeah towards the end i got a far better
0:56:53
understanding so yeah that's really good
0:56:55
thanks for that guys fantastic
0:57:01
yeah and um do you want to do the
0:57:06
yeah sure thing um
0:57:08
so today we uh it's an
0:57:12
basically gave me a rundown of what
0:57:14
they've been doing for the last uh few
0:57:16
weeks with the websockets so
0:57:19
um yeah got definitely got a bunny
0:57:20
understanding and i think they're trying
0:57:22
to work out uh and i guess i'll be
0:57:24
working on this as well um why the last
0:57:27
receive was showing um
0:57:30
but it shouldn't be so
0:57:32
um yeah if you want to see the solution
0:57:34
to that and more join us in the
0:57:37
in the upcoming streams are we still
0:57:43
the same intro same outro saying oh
0:57:52
that's our kind of a mantra now
0:57:56
all right join us tomorrow same time
0:58:00
that's the same place
0:58:05
catch you guys later guys have a good
0:58:07
night have a good night thank you
0:58:09
everybody thanks thank you