boarzVideosClipsStatistics

🎬Tough questions

🎦
Featured in#️⃣EP 198 - Verify Passcode Saving Information to DynamoDB with NodeJs
AllClipsEpisodesHas Blog PostZainThaneshKartikTorey
🎬
Krunchmaster Kartik
Build, Break & Fix
ZainboarKartikboar
🎬
Killing it
Special Edition: We don't stop until we get our code working
ZainboarKartikboar
🎬
Schooling in brown countries
Build,Break & Fix // Weekend two hour special
ZainboarKartikboar
🎬
Unprofessional Kartik
Build,Break & Fix // Weekend two hour special
ZainboarKartikboar
🎬
Brain Refresh
Build, Break & Fix // Setting a blog using Hugo and AWS Amplify
ZainboarKartikboar
🎬
Finger driven architecture
Build, Break & Fix // Working out Software design
ZainboarKartikboar
🎬
Fast food driven architecture
Build, Break & Fix // Working out Software design
ZainboarKartikboar
🎬
Can't be ashamed if there's never a first version
Build, Break & Fix
ZainboarKartikboar
🎬
Not a uni student
Build, Break & Fix
ZainboarKartikboar
🎬
Can't work, deploying
30 mins of deployment 😠 || 30 mins of coding 🥲
ZainboarKartikboar
🎬
Two points of contact
Today's Broadcast
ZainboarKartikboar
🎬
CORS exclusive lovin'
Today's Broadcast
ZainboarKartikboar
🎬
Sensible policy
Today's Stream
ZainboarKartikboar
🎬
Shoes in mouth
Today's Stream
ZainboarKartikboar
🎬
The code always wins
Buidl Break Fix
ZainboarKartikboar
🎬
Chicken curry in the brown way
Buidl Break Fix
ZainboarKartikboar
🎬
Finger memory practice
Build Break Fix
ZainboarKartikboar
🎬
See you later Kartik
Build Break Fix
ZainboarKartikboar
🎬
Keep your code looking sexy
Today's Broadcast
ZainboarKartikboar
🎬
Echo chamber Zain
Today's Broadcast
ZainboarKartikboar
🎬
And Kartik never got a job again...
Today's Broadcast
ZainboarKartikboar
🎬
Pilot? What even iz dat kind of fing
Today's Broascast
ZainboarKartikboar
🎬
Fish and Chips
Build - Break - Fix
ZainboarKartikboar
🎬
Backup career
Build - Break - Fix
ZainboarKartikboar
🎬
Professional background? Wat even iz dat?
Today's Broadcast
ZainboarKartikboar
🎬
Private mentorship group
Today's Broadcast
ZainboarKartikboar
🎬
Actually good job advice from Zain
Today's Stream
ZainboarKartikboar
🎬
What a classic!
Today's Stream
ZainboarKartikboar
🎬
Uber driver in training
Today's Stream
ZainboarKartikboar
🎬
Viewer burn
Today's Broadcast
ZainboarKartikboar
🎬
Time for a nap
Today's Broadcast
ZainboarKartikboar
🎬
A sniffer of a line
Today's Broadcast
ZainboarKartikboar
🎬
Slow Zain
Today's Broadcast
ZainboarKartikboar
🎬
No single point of failure
Today's Broadcast
ZainboarKartikboar
🎬
Gambling on bad logic
Today's Broadcast
ZainboarKartikboar
🎬
Estimated Time of New-Careers
Today's Broadcast
ZainboarKartikboar
🎬
Fake Nod
Today's Broadcast
ZainboarKartikboar
🎬
Investing in 'the brand'
NEW SETUP!!
ZainboarKartikboar
🎬
Hitting a brick
NEW SETUP!!
ZainboarKartikboar
🎬
Master of the green screen
NEW SETUP!!
ZainboarKartikboar
🎬
Logiclesstech
NEW SETUP!!
ZainboarKartikboar
🎬
Get him to the greenscreen
Today's Stream
ZainboarKartikboar
🎬
Change the digit to a number
Today's Stream
ZainboarKartikboar
🎬
The benefits of pair programming
Today's Broadcast
ZainboarKartikboar
🎬
Xs, the healthy choice
Today's Stream
ZainboarKartikboar
🎬
Xs vs mother
Today's Stream
ZainboarKartikboar
🎬
The beginning of the end of productivity
Today's Stream
ZainboarKartikboar
🎬
Unprofessional Zain
Today's Stream
ZainboarKartikboar
🎬
Blazing fast
Today's Stream
ZainboarKartikboar
🎬
Premature celebratory dance
Today's Stream
ZainboarKartikboar
🎬
Timeline slippage
Today's Stream
ZainboarKartikboar
🎬
Speed coding
Today's Stream
ZainboarKartikboar
🎬
Sorry I dont know that voice
Today's Broadcast
ZainboarKartikboar
🎬
Definition of done
Today's Broadcast
ZainboarKartikboar
🎬
Amway bites
Today's Broadcast
ZainboarKartikboar
🎬
A cool stream
Today's Broadcast
ZainboarKartikboar
🎬
Spooky Kartik
Today's Broadcast
ZainboarKartikboar
🎬
Water physics 101
Today's Stream
ZainboarKartikboar
🎬
Scrum master Zain
Today's Stream
ZainboarKartikboar
🎬
Zain applying his scrum master skills
Today's Stream
ZainboarKartikboar
🎬
Zain the blunderer
Today's Stream
ZainboarKartikboar
🎬
Healthier than other traditional drinks
Today's Stream
ZainboarKartikboar
🎬
Real headscratcha
Today's Stream
ZainboarKartikboar
🎬
Bracket blues
Today's Stream
ZainboarKartikboar
🎬
If statements are not good practice
Today's Stream
ZainboarKartikboar
🎬
Kappa Quality Code
Today's Stream
ZainboarKartikboar
🎬
Exciting switch statements
Today's Stream
ZainboarKartikboar
🎬
Switched-on hat
Today's Broadcast
ZainboarKartikboar
🎬
Functions, one of the big coding challenges
Today's Broadcast
ZainboarKartikboar
🎬
Break fast
Today's Broadcast
ZainboarKartikboar
🎬
Blood and breath pumping up
Today's Broadcast
ZainboarKartikboar
🎬
Wrong since day 1
Today's Broadcast
ZainboarKartikboar
🎬
Electronic waves
test
ZainboarKartikboar
🎬
RAWR coders
test
ZainboarKartikboar
🎬
Transit in Japawn
test
ZainboarKartikboar
🎬
Xs sponsorship
test
ZainboarKartikboar
🎬
Lame roars
test
ZainboarKartikboar
🎬
Setting up a suppository in Diagon Alley
test
ZainboarKartikboar
🎬
Background Diagon Alley
test
ZainboarKartikboar
🎬
Half speed zain
test
ZainboarKartikboar
🎬
One second penetration
test
ZainboarKartikboar
🎬
Top loading switches
test
ZainboarKartikboar
🎬
Making it rain with CodeBuild
test
ZainboarKartikboar
🎬
What is a sea cable?
Today's Stream
ZainboarKartikboarToreyboar
🎬
If statements are bad practice
Today's Broadcast
ZainboarKartikboar
🎬
Tomato fan
Today's Broadcast
ZainboarKartikboar
🎬
Strong intro
Today's Stream
ZainboarKartikboar
🎬
Impossible URL
Today's Stream
ZainboarKartikboar
🎬
Clever devs
Today's Stream
ZainboarKartikboar
🎬
Always CORS related problems
Today's Stream
ZainboarKartikboar
🎬
CORS headscratcha
Today's Stream
ZainboarKartikboar
🎬
Torres Strait Icelander people
Today's Stream
ZainboarKartikboarThaneshboar
🎬
Icelander or Islander?
Today's Stream
ZainboarKartikboarThaneshboar
🎬
Best Practices
101/200 Episodes
ZainboarThaneshboar
🎬
ROAR coders
105/200
ZainboarThaneshboar
🎬
Diagon Alley? What is that kind of fing?
112/200
ZainboarKartikboar
🎬
C.O.D.I.N.G
113/200
Zainboar
🎬
What's testing
115/200
ZainboarThaneshboar
🎬
CORS coders
115/200
ZainboarThaneshboar
🎬
Complimenting the wrong person
Today's Stream
ZainboarThaneshboar
🎬
Alt+F4 Zain
Today's Stream
ZainboarThaneshboar
🎬
Fixing and failing
Today's Stream
ZainboarThaneshboar
🎬
Brown is always better than white
AWS Websocket + DyanmoDb + Lambda
ZainboarThaneshboar
🎬
Wild street dogs
Today's Stream
ZainboarToreyboar
🎬
The more you know
How to Host Web App Using AWS S3, CloudFront and Route53
ZainboarThaneshboar
🎬
Inactive brain
How To Host Web App In AWS S3 with Custom Domain Using Route 53
ZainboarThaneshboar
🎬
No electricity in Bali
Today's Stream
ZainboarToreyboar
🎬
Francesco
Today's Stream
ZainboarToreyboar
🎬
Indian givers
Compare Hashed Passwords Using Bcryptjs
ZainboarToreyboar
🎬
Cold coffee, cold tea
Today's Stream
ZainboarToreyboar
▶️
Tough questions
Verify Passcode Saving Information to DynamoDB with NodeJs
ZainboarThaneshboar
🎬
Tandoor? Wat even iz dat kind of fing
Today's Stream
ZainboarThaneshboar
🎬
This is why you don't click ops
Today's Stream
ZainboarToreyboar
🎬
Bish Bash Bosh
Get Board Columns from Frontend to Backend NodeJS
ZainboarThaneshboarToreyboar
🎬
Zip first developer
Today's Stream
ZainboarThaneshboar
🎬
Busted again
Today's Stream
Zainboar
🎬
Torey the stinker
Beta Testing Fixes Part 2
ZainboarToreyboar
🎬
Torcoders which are roarers
Beta Testing Fixes Part 3
ZainboarThaneshboar
🎬
Delusional Zain
Beta Testing Fixes Part 3
ZainboarThaneshboar
🎬
Hey guys, torey here
Beta Testing Fixes Part 3
ZainboarThaneshboar
🎬
Zain's going platinum
Today's Stream
ZainboarThaneshboar
🎬
Doggy dog
Today's Stream
ZainboarThaneshboar
🎬
Fartik
How To Test Prevention XSS Attack
ZainboarKartikboar
🎬
Second Favourite
Today's Stream
Zainboar
🎬
Disco Zain
Today's Stream
Zainboar
🎬
Keyboard allergies
Hook Up AWS Websocket
Zainboar
🎬
As you been poopin?
Hook Up Board Columns to Websockets Nodejs + AWS Websockets
Zainboar

Subtitles

0:00:03
[Music]
0:00:19
[Music]
0:00:24
what is going on guys welcome back to
0:00:26
another session of buildbreaking
0:00:29
brought to you by
0:00:30
yours amazing raw coders and today we
0:00:34
have flash how we finish finish
0:00:37
hey thanks for the introduction
0:00:39
yeah feeling good as always
0:00:45
yeah i love you background by the way
0:00:49
you're softly dreamed up now
0:00:53
fantastic
0:00:55
yeah
0:00:56
all right and here we have the geezers
0:00:59
i get them welcome good to have you as
0:01:02
always
0:01:04
all right
0:01:05
cool and let's
0:01:07
do the acknowledgement uh first and
0:01:10
foremost and then we can get cracking
0:01:12
all right so
0:01:14
here goes
0:01:15
i begin today by acknowledging the
0:01:17
traditional custodians of the land on
0:01:19
which we gather today and pay my
0:01:22
respects to the elders past present and
0:01:24
future i extend their respect to
0:01:27
aboriginal and torres strait islander
0:01:29
people here today
0:01:32
fantastic so that was smoothly done uh
0:01:36
yes okay i
0:01:38
will be uh updating in the near future
0:01:42
um didn't really get a chance to do that
0:01:44
um
0:01:45
so far
0:01:48
yeah so
0:01:50
how's your day been finished
0:01:52
uh
0:01:53
yeah pretty good zen what slides is he
0:01:55
talking about just wondering
0:01:57
oh so um
0:02:00
he he proposed a really good idea as in
0:02:03
to
0:02:04
include the aboriginals in uh
0:02:08
aboriginals or bali as well
0:02:11
oh okay
0:02:13
and then
0:02:14
wherever
0:02:15
the stream goes um
0:02:18
the
0:02:20
aboriginals of that
0:02:23
then we all pay respects to
0:02:25
[Music]
0:02:29
so that's where he was coming from
0:02:33
nice okay that makes
0:02:35
yeah perfect
0:02:37
i'll just close this because that will
0:02:40
reduce a bit for background noise
0:02:43
all right hey tory good to have you mate
0:02:46
as always
0:02:48
as
0:02:48
you viewer
0:02:50
today
0:02:54
all right
0:02:55
um so
0:02:57
i
0:02:58
so what we did today
0:03:00
was um
0:03:02
we basically got
0:03:05
the
0:03:06
save happening uh
0:03:09
but when the user enters the passcode
0:03:13
but um at that moment it was only for
0:03:17
the sake of the ui so the functionality
0:03:21
wasn't implemented but now uh i guess
0:03:25
what we need
0:03:27
me and tori were going
0:03:29
through implementing the functionality
0:03:32
so it actually compares the passcode
0:03:37
whenever a user presses save
0:03:41
so
0:03:42
that
0:03:43
the reason why
0:03:44
we wanted to do it is because we only
0:03:48
want to allow admin to
0:03:51
save nor all the users that have access
0:03:54
to the board
0:03:56
as in
0:03:57
on that session
0:04:00
okay okay
0:04:02
does that make sense
0:04:04
uh briefly but yeah it's all right like
0:04:07
once we get into it um i think um yeah
0:04:11
so
0:04:12
um
0:04:14
yeah so i'll probably give you an
0:04:16
example say i've created a board
0:04:21
and
0:04:22
i've entered my password while actually
0:04:25
creating it all right and then i give
0:04:28
you you the url to access it and we both
0:04:32
get connected to websocket
0:04:35
all right
0:04:36
and say you want to save the board as a
0:04:41
user only but
0:04:43
i am the admin
0:04:46
so if you press
0:04:48
save it it would
0:04:51
obviously ask you for the passcode
0:04:54
but you wouldn't know the passcode
0:04:58
yes yeah
0:05:00
yes make sense i haven't shared the
0:05:02
passcode that i've created so if you
0:05:06
want to save the board um
0:05:09
then what's gonna happen is that
0:05:12
you won't
0:05:13
be able to even though if you try to
0:05:16
save it
0:05:17
enter random passcodes
0:05:20
it won't work because it would
0:05:22
go in the db
0:05:24
verify the passcode and just return
0:05:27
false and it won't allow you huge sample
0:05:30
because i know the passcode and if i
0:05:34
want to save it i'll enter the passcode
0:05:36
it will return true and i will be able
0:05:38
to save it
0:05:40
yeah yeah that makes sense um
0:05:42
that's that's what we've been working on
0:05:45
yeah all the while right
0:05:47
yeah yeah
0:05:49
so
0:05:50
one gag that says
0:05:53
why not just allow all users to change
0:05:56
board like scrum letters but oh so
0:06:00
i should probably rephrase
0:06:03
then get that uh i think what you mean
0:06:06
it just on this on the screen so
0:06:09
by adding everyone would be able to add
0:06:13
notes and
0:06:15
uh everything which would be fantastic
0:06:18
but it will the passcode will only apply
0:06:22
if you want to save to the database
0:06:27
if that makes sense
0:06:28
and he will go have a go
0:06:31
and watch
0:06:32
you
0:06:39
without a password
0:06:44
well in maybe
0:06:46
it may be stupid from this one you
0:06:49
choose which user's perspective but if
0:06:51
you see who's gonna handle the cost of
0:06:55
saving
0:06:56
the uh that they attended
0:06:59
dynamo db he will be really impressed
0:07:01
with
0:07:02
with this quick
0:07:04
idea that yeah i don't want to let
0:07:07
everyone just say it will cost me
0:07:13
yeah true true cost um
0:07:16
a bit too expensive i guess to get
0:07:18
everyone to save yeah um
0:07:21
because every right would cost
0:07:25
yeah
0:07:26
let's remove that feature why
0:07:29
no no
0:07:30
why would we want to remove that feature
0:07:33
i think yeah
0:07:35
i know
0:07:36
it's been sarcastic
0:07:38
yeah
0:07:40
you get like 400k
0:07:42
free execution seconds
0:07:49
so
0:07:50
when you say 400k does that mean the
0:07:53
size of an object
0:07:55
or four hundred thousand free
0:07:57
execution seconds
0:08:01
and dynamo
0:08:03
is free up to 25 pre-provision rights
0:08:06
because if you know that's not going to
0:08:07
be enough to
0:08:11
[Music]
0:08:22
[Music]
0:08:36
um yeah
0:08:38
it has been a while not gonna lie
0:08:41
um but
0:08:43
yes um so we can allow everyone
0:08:47
we can
0:08:48
allow everyone to just say but then you
0:08:52
you would have to be a subscription
0:08:54
based model where the admin pays a
0:08:58
monthly sub and then we just
0:09:02
give him everything yeah go nuts
0:09:04
but at the moment because um
0:09:09
it's all on raw coders personal account
0:09:14
um
0:09:16
and we are not all rich at all so we
0:09:20
need to
0:09:21
these these kind of boundaries for
0:09:25
for a bit
0:09:28
it's insane's credit card
0:09:30
yeah
0:09:31
tell me about that they're calling me
0:09:34
pretty much every day now
0:09:39
like you said there's a free tear and
0:09:41
that's permanent
0:09:44
we're gonna go faster
0:09:49
of course we will go faster definitely
0:09:53
yeah all right
0:09:55
anyway um let's get into um some action
0:09:59
and i'll
0:10:00
show you how far we have been up to if i
0:10:04
can obviously
0:10:05
shame my screen still
0:10:09
i was having that issue the other day as
0:10:10
well um
0:10:12
saying so
0:10:14
yeah i can't seem to share my screen
0:10:15
either
0:10:17
the browser can't access your screen
0:10:20
hang on
0:10:21
you might be due to the
0:10:29
uh skill t thing that we
0:10:33
need to act on
0:10:35
security and privacy
0:10:40
um
0:10:41
screw recording
0:10:54
oh
0:10:55
oh interesting
0:11:00
okay i might need to go
0:11:04
out and then come back in because it's
0:11:06
asking me to quit and reopen all right
0:11:09
truly cool i'll be back
0:11:12
right very soon
0:11:47
um
0:12:08
and if this is full code is
0:12:10
no limits and api gateway could have it
0:12:23
there um go
0:12:25
so i'm gonna
0:12:26
try and share my screen now and
0:12:28
hopefully it works
0:12:33
yay it works it's working nice cool
0:12:37
all right cool
0:12:39
so
0:12:40
i think
0:12:42
we
0:12:44
were on a backhand
0:12:46
refactoring some code with tory
0:12:48
i'll just open that one
0:12:52
you got more functionality
0:13:02
[Laughter]
0:13:09
yeah it was gonna get more functionality
0:13:12
so
0:13:13
what we basically planned
0:13:15
to do
0:13:16
finesse is
0:13:18
we wanted to make this function a global
0:13:22
one
0:13:23
so
0:13:24
wherever we need to use this we can just
0:13:26
call the function instead
0:13:30
oh okay perfect
0:13:32
okay
0:13:33
make sense does that make sense
0:13:36
cool so for example we need a hair so
0:13:40
we're just
0:13:41
calling you here
0:13:44
can't stress our boy
0:13:47
okay
0:13:54
oh that's
0:13:55
yes and don't worry about it
0:13:58
okay so when pressing save
0:14:02
which would be on the
0:14:07
post and patch notes
0:14:12
and
0:14:14
you got the
0:14:15
idea right
0:14:17
yeah what we want to do
0:14:19
um
0:14:22
yeah yeah i get the idea now yeah
0:14:25
not
0:14:27
create a note for a specific board now
0:14:29
don't need that
0:14:32
board notes
0:14:43
[Music]
0:14:56
so
0:15:09
um
0:15:13
so basically what's gonna happen
0:15:16
that
0:15:19
actually let's start with the first one
0:15:21
so
0:15:22
when we save
0:15:26
when we press save
0:15:29
can you possibly have a look at the
0:15:31
front end as in when we press a which
0:15:35
method with what um endpoint is being
0:15:38
called
0:15:40
okay yeah
0:15:42
please
0:16:13
okay
0:16:15
so that would be
0:16:17
oh i forgot to play
0:16:21
something music
0:16:24
yeah
0:16:27
all right i guess it's my turn today to
0:16:29
play it and then choose a letter
0:16:35
and i'll choose
0:16:38
do you want to do the count for me
0:16:41
uh three
0:16:42
two and
0:16:44
one okay
0:16:46
let me see um
0:16:50
and
0:16:52
yeah and yeah
0:16:54
[Music]
0:17:08
yeah it's good
0:17:13
all right so
0:17:16
at
0:17:24
just can't help
0:17:42
okay
0:17:44
so
0:17:44
did you manage to find out
0:17:47
um
0:17:49
still having a little i think
0:17:54
this is the one that um
0:17:57
that tori and i worked on right the
0:17:59
other day
0:18:29
jump board
0:18:43
[Music]
0:18:52
okay so
0:18:53
that would be post patch notes unsafe
0:18:58
um
0:19:00
and that would be
0:19:02
um
0:19:20
[Music]
0:19:21
for which end point is according
0:19:26
actually
0:19:27
we don't even need
0:19:29
that
0:19:32
we can
0:19:34
just do a check here
0:19:39
here basically play as in add a function
0:19:46
and do a search
0:19:50
what do
0:19:52
so i want to do
0:19:54
like
0:19:55
if
0:19:56
if the passcode
0:20:00
gets
0:20:01
verified and the result is true
0:20:04
then called this function otherwise
0:20:08
uh
0:20:08
[Music]
0:20:10
tell the user we can't help him
0:20:15
okay
0:20:20
so
0:20:21
how would it be
0:20:23
we need to call um
0:20:26
uh the request
0:20:35
[Music]
0:20:45
okay
0:20:50
now there you go so we need something
0:20:52
like
0:20:53
this
0:21:07
[Music]
0:21:12
basically get
0:21:15
yeah this one you get the results for us
0:21:19
[Music]
0:21:25
yeah so
0:21:27
results
0:21:32
i think um yeah tori was saying the
0:21:34
other day that
0:21:37
to handle it in the back end makes
0:21:40
it's probably more secure
0:21:43
yes um that's exactly what we're doing
0:21:46
here we are handling in the back end
0:21:49
so if you see
0:21:52
over here
0:21:55
we are handling it
0:22:03
okay so we oh
0:22:05
we want to call this method
0:22:16
i know
0:22:19
close press save
0:22:22
yeah
0:22:23
we probably want to call this method
0:22:24
from the front end and if this results
0:22:28
true
0:22:31
then
0:22:32
we go on that other one
0:22:35
[Music]
0:22:42
oh
0:22:43
actually what we can do is put this
0:22:46
method into postpants save
0:22:56
in the notes one
0:22:59
which would be
0:23:03
oh wow
0:23:05
okay i got this i bought this
0:23:11
see should you know how we call in
0:23:15
post
0:23:16
patch
0:23:17
on safe
0:23:20
here wanna click off the button
0:23:25
yes
0:23:26
i know yeah
0:23:30
and if that's calling that
0:23:33
patch note
0:23:34
or post note
0:23:39
oh yeah
0:23:41
so
0:23:42
basically
0:23:43
what we can do is
0:23:45
because this is calling the
0:23:53
do you have to know the new code
0:23:56
say oh
0:23:59
um new code off
0:24:01
the one that
0:24:03
tori and i worked on on monday
0:24:08
on which branch was that
0:24:12
prompt pin code unsafe
0:24:15
no i wouldn't have that this is
0:24:20
the code
0:24:22
so
0:24:23
[Music]
0:24:24
did i don't know if um tori informed you
0:24:27
on monday yesterday or not but
0:24:30
basically we were thinking that um
0:24:33
instead of having this functionality
0:24:35
like um
0:24:37
where we are doing inserted and not
0:24:39
inserted
0:24:40
we would just send all the notes
0:24:43
every time the user click save
0:24:47
so basically it would be
0:24:49
yeah
0:24:51
yeah
0:24:53
if you told me about that as in rather
0:24:56
than
0:24:57
sending i know
0:24:59
each time
0:25:01
you just play all
0:25:03
the notes and and send them all in one
0:25:06
go
0:25:07
[Music]
0:25:08
yeah
0:25:09
he told me about that
0:25:12
so here he brought up like the
0:25:15
the code for it already um so that's the
0:25:18
one that's on the new branch
0:25:20
all right
0:25:22
oh okay cool so in that case
0:25:40
okay
0:25:41
[Music]
0:25:50
oh wow okay
0:25:52
i wasn't expecting this
0:26:05
uh
0:26:33
yeah it's too hard
0:26:44
because i've done this change
0:26:56
this is jquery
0:26:57
jquery
0:27:04
disregard this as well probably
0:27:07
you might not work but
0:27:22
okay so which was the code
0:27:25
populate board notes map is there
0:27:31
a prompt pin code unsafe i'll just put
0:27:34
it on the chat
0:27:36
oh no um the code not the branch
0:27:40
[Music]
0:27:42
uh the code is in pause patch not
0:27:44
something
0:27:48
[Music]
0:27:51
okay
0:27:53
go to definition
0:27:55
yeah it's just this one
0:27:58
no it's right there
0:28:02
so here basically what we're doing is
0:28:06
doing everything
0:28:09
in one go
0:28:17
okay
0:28:18
note
0:28:23
[Music]
0:28:29
board notes
0:28:31
password
0:28:33
okay
0:28:48
uh
0:28:49
no because the back end is not it's not
0:28:52
set up for it yet
0:28:53
yeah i was gonna say that
0:28:58
uh
0:29:00
wow so okay now we're doing refactoring
0:29:05
yeah
0:29:07
wow
0:29:09
this is the only concern i've gone now
0:29:12
is a this might delay the project
0:29:15
okay
0:29:20
[Music]
0:29:26
so that would mean that we would have to
0:29:28
change the
0:29:30
how notice semi at the moment the entire
0:29:33
functionality in the back end
0:29:38
um
0:29:43
am i right we have to refactor a little
0:29:45
bit yeah i guess so yeah yeah that's
0:29:47
true
0:29:50
all right
0:29:59
[Music]
0:30:05
nothing needs to be done it's perfect
0:30:08
yeah let's go live in three two one we
0:30:12
and we're live
0:30:17
bugs
0:30:18
bugs come back
0:30:20
in this in the speed of 500
0:30:25
case per second
0:30:29
um okay anyway uh
0:30:31
this is fetching the url board id and
0:30:34
the note okay
0:30:37
so
0:30:39
what id in the note
0:30:42
board
0:30:45
id
0:30:48
board id ah
0:30:51
so we would have to
0:30:52
make
0:30:54
a separate request
0:31:00
[Music]
0:31:04
oh no
0:31:05
it's here
0:31:06
create another specific board we can
0:31:08
just alter this one
0:31:13
board id
0:31:17
string
0:31:18
[Music]
0:31:20
yeah and then note
0:31:23
yeah here we go
0:31:24
we can alter
0:31:26
this
0:31:27
function that already exists
0:31:29
which is
0:31:31
over here
0:31:37
so
0:31:38
the
0:31:39
board is here and then this is the input
0:31:42
node
0:31:44
yeah you can just alter this
0:31:49
uh just
0:31:50
you reckon
0:31:53
but i didn't know
0:32:02
yeah yeah we can we can and then just
0:32:04
yeah
0:32:06
like for it to accept um
0:32:10
the other other stuff that we're giving
0:32:13
advising it the passcode and the board
0:32:15
name
0:32:20
so if board id
0:32:22
is in is annoying the parent then this
0:32:25
one import id is
0:32:27
then we need this one
0:32:30
and what whether the params
0:32:34
uh passcode
0:32:37
passcode and board name isn't it
0:32:40
we wouldn't really need
0:32:43
board
0:32:44
name
0:32:46
just a password isn't it
0:32:49
um
0:32:54
in order to save we have to make sure
0:32:57
that the passcode is valid
0:33:01
yes and
0:33:02
and in order to save the board we need
0:33:05
to make sure that we have the board id
0:33:07
which would come from the
0:33:10
board
0:33:12
as in from the params
0:33:18
i'm just trying to think because we
0:33:22
might need the board name
0:33:26
um
0:33:27
[Music]
0:33:29
i mean it doesn't hurt right to add the
0:33:32
board name anyways
0:33:39
if you add it as another
0:33:44
all right
0:33:46
let's just add that
0:33:49
um
0:33:50
this one okay we would have to do that
0:33:55
[Music]
0:34:18
object how is the params being passed
0:34:22
um how's the uh
0:34:25
pass code spell test
0:34:33
capital p and then
0:34:37
okay
0:34:38
so
0:34:40
this comes from the
0:34:42
params board name passcode okay we have
0:34:44
called them both
0:34:46
so now what we want to do is no data
0:34:50
single note
0:34:53
this is where the
0:34:55
thing
0:34:55
needs to
0:34:57
change a bit
0:35:06
um
0:35:08
so
0:35:12
let me check how is the
0:35:15
how is
0:35:17
the board actually coming uh how is the
0:35:20
notes actually coming from this
0:35:24
post
0:35:28
notes uh where's this
0:35:32
this one is here okay
0:35:34
get bored no it's alright again it's i
0:35:37
want to check
0:35:39
how is the
0:35:42
notes array
0:35:45
looking
0:35:46
because then we can just simply
0:35:48
take those
0:35:50
properties of that ray
0:35:52
and
0:35:56
no not the properties of the already um
0:36:00
actual indexes where the
0:36:03
where the notes are
0:36:07
okay
0:36:12
not quite
0:36:14
yeah i'll
0:36:15
show you a bit
0:36:21
more
0:36:31
um
0:36:41
[Music]
0:36:50
all right cool so if we
0:36:53
say
0:36:55
create a board
0:36:58
i'm going to show you that
0:37:00
gonna work
0:37:11
um okay cool
0:37:13
put it in
0:37:14
so we
0:37:28
okay
0:37:32
now we want to do we need to we want to
0:37:35
check
0:37:38
how is spraying
0:37:41
one
0:37:44
oh well yes okay
0:37:50
submit
0:37:57
okay cool
0:37:59
so how is this being done
0:38:02
is you know why i place
0:38:06
consortium log over there
0:38:09
[Music]
0:38:11
it was because i wanted to check which
0:38:14
um as in the array
0:38:17
properties or the
0:38:20
indexes
0:38:22
we want to
0:38:24
tell it that the data in the back end
0:38:27
that the
0:38:28
data is contained in that part
0:38:31
so for example
0:38:34
we would do it in
0:38:37
in
0:38:43
see this is one note this is the second
0:38:45
note this is the third fourth
0:38:48
yeah
0:38:49
okay so these are all the notes
0:38:52
and this is the array
0:38:55
oh okay so we can basically just send
0:38:58
the entire array that's all
0:39:01
yeah yeah that's what i'm
0:39:03
thinking as well um
0:39:08
okay
0:39:09
interesting
0:39:12
so in here basically
0:39:15
what we're gonna do is
0:39:21
no data we won't probably need this
0:39:23
anymore
0:39:27
and this one for now is no valid so
0:39:31
we're not even checking if
0:39:33
uh
0:39:39
then now this means that we need to do
0:39:43
all of this for all the notes in one go
0:39:51
[Music]
0:39:55
do you know what me
0:39:57
um
0:39:59
just give me a sec to think about it um
0:40:05
so
0:40:06
essentially as in
0:40:09
sorry is kind of my habit now to them
0:40:12
think out loud oh okay fair enough that
0:40:14
means that yeah i'm thinking while i'm
0:40:17
talking as well or i'm talking while i'm
0:40:19
thinking
0:40:20
so
0:40:22
jeff feel free to ignore me but i'm just
0:40:25
thinking
0:40:27
out loud that's all yeah we'll go do it
0:40:30
so
0:40:32
from what i can see basically is because
0:40:36
this until now was being done
0:40:40
on a note level
0:40:42
which means the individual notes
0:40:45
so you will
0:40:46
go and check whether the
0:40:49
note
0:40:50
has
0:40:51
the topic
0:40:53
and i'm i mean the data and then check
0:40:56
if it's a valid note so it's doing all
0:40:59
of this per note
0:41:03
but now that we have got
0:41:08
but now that
0:41:10
we are getting all the
0:41:12
all the notes in one go
0:41:15
we would basically have to go through
0:41:18
each one
0:41:21
all together
0:41:22
so in one go
0:41:25
is that making sense
0:41:27
or yeah yeah yeah yeah i understand
0:41:31
because that that only handles one one
0:41:34
note right and now we have the list so
0:41:36
we have to handle the whole list at one
0:41:38
goal yes yes precisely
0:41:42
okay this
0:41:44
will be a fun ride
0:41:48
so
0:41:49
[Music]
0:41:51
well i'm thinking that
0:41:53
this whole code has to be reflected
0:41:58
well not refactored but
0:42:00
changed to incorporate
0:42:07
one
0:42:09
um i was just thinking could we use the
0:42:13
um
0:42:14
sort of like a map or something you know
0:42:17
um
0:42:19
or just you know a 4e 4h is maybe
0:42:23
maybe not ideal but maybe a map or
0:42:25
something like that to
0:42:27
just go through the notes
0:42:29
and then create
0:42:32
yes
0:42:34
it's easier said than done to be honest
0:42:38
okay
0:42:40
yeah
0:42:41
as in that's basically exactly what
0:42:43
we're going to do as you use a map which
0:42:46
goes through each
0:42:48
each note
0:42:50
and does it
0:42:53
in one go
0:42:55
but i'm just as in kind of thinking in
0:42:57
my head
0:42:58
as in thinking
0:43:00
loud
0:43:01
how are we
0:43:02
gonna do it in one go
0:43:10
so say for example
0:43:14
we do a map here
0:43:18
and
0:43:19
i'll just write some pseudo code
0:43:25
um by the way feel free to interrupt
0:43:29
me of course something just say because
0:43:33
yeah i'm just
0:43:34
thinking
0:43:35
out loud all the time
0:43:37
yeah very not all good um
0:43:41
um so
0:43:43
we're
0:43:44
gonna use
0:43:46
map
0:43:47
and
0:43:49
that was gonna happen
0:43:52
is we will be going through
0:43:58
each item
0:44:00
in the
0:44:01
array
0:44:13
and then
0:44:15
using the map
0:44:21
we will basically do something along
0:44:23
this these
0:44:25
lines
0:44:26
so
0:44:27
um
0:44:29
board id
0:44:32
no
0:44:32
so we don't have to do anything with the
0:44:35
board id that is fine
0:44:40
we need to start from here so if
0:44:45
per board id
0:44:48
no
0:44:59
so we're checking if the
0:45:04
oh no no no no no no no
0:45:07
so in this if we do it in this way then
0:45:10
that would mean that we won't be able to
0:45:13
validate each node's
0:45:16
data
0:45:18
is valid
0:45:23
all we would
0:45:26
data and
0:45:28
where's the data text oh okay we can
0:45:30
basically do that so we will basically
0:45:33
do that we would access data and text
0:45:37
so we would do data
0:45:40
and then text
0:45:42
if that's
0:45:46
equaled um
0:45:48
if that's
0:45:50
valid
0:45:52
ah my cap is gone
0:45:56
this is my kind of coding as
0:46:06
forget it
0:46:09
so data okay so first of all we would
0:46:13
have to make sure that um
0:46:16
the text in the
0:46:18
notes is valid
0:46:21
so in that way we can possibly do as in
0:46:24
is
0:46:25
valid
0:46:27
this
0:46:34
and then if it's
0:46:36
um
0:46:38
so you're gonna say something finished
0:46:45
i was just thinking like um
0:46:48
so since we have all this this code
0:46:50
already right um
0:46:53
basically can't we like use the map
0:46:57
and then
0:46:58
um
0:47:00
like
0:47:02
you know have it
0:47:04
uh treat
0:47:05
the
0:47:06
when it's going through each of the
0:47:08
notes have it treated as no data and
0:47:10
then it can we can essentially use this
0:47:12
whole thing
0:47:14
without changing anything
0:47:16
really
0:47:17
so
0:47:19
i get what you say like yeah i get what
0:47:21
you're trying to do here but what if we
0:47:23
just
0:47:24
um
0:47:25
essentially the same thing but we just
0:47:28
um
0:47:29
like name the variable
0:47:31
node data and then it would use this
0:47:33
existing code already right
0:47:36
so basically what you're
0:47:39
trying to say is that we can just
0:47:44
basically do a map and then
0:47:48
do a map based on each note and then
0:47:53
when it comes to doing certain things
0:47:55
for each note
0:47:57
we just point it to all this code in
0:48:01
kind of a function or something like
0:48:03
that
0:48:03
yeah is that interesting exactly yeah
0:48:07
um
0:48:09
so
0:48:10
like um
0:48:11
i don't know if this worked yet but you
0:48:13
know maybe
0:48:14
you would have the
0:48:15
like
0:48:17
like kind of what you're doing right now
0:48:19
but um
0:48:21
like
0:48:22
what's it called
0:48:23
the
0:48:24
instead of x it would be like no data
0:48:26
and then
0:48:28
um open bracket and then
0:48:30
the close bracket at the end of the at
0:48:33
the end of everything that we've done
0:48:34
here
0:48:36
so
0:48:37
um the only thing with that is that
0:48:42
there are multiple data there
0:48:46
per object
0:48:49
yeah yeah i understand
0:48:51
yeah that by what i mean it's like
0:48:54
because that right now can handle a
0:48:56
single note right
0:48:58
that code that we hit the backend called
0:49:01
yeah so
0:49:02
basically what if we had like the
0:49:06
because it can handle a single note
0:49:08
can't we just like
0:49:10
uh make it so that uh
0:49:13
when if you're using the map then it
0:49:17
basically is trading each each of the
0:49:21
the notes separately you know what i
0:49:22
mean
0:49:26
yeah
0:49:27
yeah i know exactly what you're talking
0:49:29
about now
0:49:31
let us see
0:49:33
how we can do that um
0:49:47
basically what you mean
0:49:51
is
0:49:53
yeah
0:49:56
so we can enclose
0:49:59
that entire thing into
0:50:01
into a function
0:50:03
and then just basically
0:50:06
on
0:50:07
the array itself
0:50:10
we can call the function
0:50:12
with the map
0:50:14
yeah yeah or just make it a callback as
0:50:16
well i either one i think would be okay
0:50:20
like a arrow function i mean or call
0:50:22
back i don't know what's it called but
0:50:25
like yeah
0:50:26
okay um so this would be
0:50:30
so we already have the array coming
0:50:33
through
0:50:35
the
0:50:37
uh we didn't get the notes
0:50:40
i just wanna check something
0:50:45
we didn't get the notes interesting
0:50:49
so how is the notes coming
0:50:58
create a new function for that as well
0:51:00
i'll say like because
0:51:03
um
0:51:03
[Music]
0:51:05
like just looking at the
0:51:08
the front end you know we might need to
0:51:10
use that function again some other time
0:51:12
so
0:51:13
if we create a new one specifically for
0:51:16
not maybe that's a better
0:51:19
way to go about it not sure
0:51:24
um
0:51:25
so
0:51:27
i'm maybe
0:51:29
going step by step but you're looking at
0:51:33
the future picture as well just bear
0:51:36
with me um
0:51:39
so
0:51:40
what we mean to say
0:51:43
is that
0:51:45
we're gonna
0:51:46
enclose
0:51:48
this whole
0:51:49
as in
0:51:51
this whole part
0:51:55
in a function
0:52:00
and
0:52:01
then we will just call the function on
0:52:04
the map
0:52:05
yeah yeah yeah
0:52:07
yeah yeah that's essentially what was
0:52:10
what wasn't gonna do but yeah
0:52:13
uh it's good
0:52:15
you picked up on thinking i'll be loud
0:52:17
as well
0:52:18
that's great
0:52:22
um so if we forget this
0:52:27
actually
0:52:28
i don't really wanna
0:52:39
but they also the other thing i was
0:52:41
going to say then is um
0:52:43
in the front end code right there's
0:52:46
we're using that um that other function
0:52:49
a couple of times
0:52:51
yeah
0:52:52
uh
0:52:54
i think
0:52:55
i don't know if you're using it exactly
0:52:57
but yeah it's definitely
0:53:00
referencing we might reference that
0:53:02
that particular backend function so i
0:53:04
was thinking
0:53:05
um
0:53:07
in this code why not if we
0:53:10
create um one
0:53:12
specifically from taking in notes and
0:53:14
then keep this existing
0:53:16
functionality as it is as well so
0:53:20
um we can do it later but i'm just
0:53:22
thinking about um
0:53:24
if we do that as well because um you
0:53:26
know we might want to save a single note
0:53:29
um
0:53:31
in the future and then we could just use
0:53:34
this function instead of
0:53:36
um
0:53:37
yeah you get what i mean
0:53:40
yes i understand completely what you
0:53:43
mean it and that's exactly what i was
0:53:44
gonna do
0:53:46
oh okay okay yeah yes yeah okay okay
0:53:48
yeah
0:53:49
yeah
0:53:50
but it's really good to see how you also
0:53:54
actually try to think out loud as well
0:53:56
which is great
0:54:03
oh where was that
0:54:05
okay save
0:54:08
um
0:54:26
okay and then we can do one with
0:54:30
um
0:54:31
the note itself
0:54:40
oh
0:54:54
actually
0:54:55
these ones
0:54:57
okay
0:55:07
oh okay
0:55:09
we are basically degressed from our
0:55:11
original thing
0:55:13
yeah no
0:55:16
[Music]
0:55:18
okay
0:55:20
we'll come back to this
0:55:30
[Music]
0:55:38
[Music]
0:55:46
all right
0:55:48
and then we don't need this one at the
0:55:51
moment don't need this one
0:55:58
dory says
0:56:03
10 steps back what's that
0:56:09
the key is they has
0:56:12
it has happened
0:56:14
stab which establishes
0:56:16
forward because all of our progress
0:56:17
isn't it
0:56:30
um
0:56:32
okay
0:56:33
so
0:56:34
leave this as it is
0:56:37
and then we can just
0:56:44
no
0:56:45
patch
0:56:48
guess report okay cool
0:56:51
say here we go we have gold this to work
0:56:54
with
0:57:09
save all notes okay cool now what we
0:57:13
need to do is basically we're gonna call
0:57:16
the save on notes
0:57:28
over here
0:57:42
actually oh
0:57:44
i'm gonna have to amend this
0:57:47
whole function meditating
0:57:49
onto the melody now
0:57:52
to be
0:57:52
honest
0:57:54
um
0:57:55
save
0:57:57
one
0:57:58
note
0:58:01
[Music]
0:58:03
so if basically it would be
0:58:07
oh no no no no
0:58:09
step one step step yeah
0:58:13
okay so cool save one note okay cool so
0:58:16
now um we have
0:58:19
the board ids there
0:58:22
and we probably have to pass all these
0:58:25
in the function
0:58:27
actually not the board id but
0:58:30
the
0:58:33
do we need to pass the board id
0:58:37
right
0:58:40
um
0:58:41
[Music]
0:58:42
oh that's a good question
0:58:45
um
0:58:46
probably not
0:58:47
oh yes
0:58:50
yeah fair enough
0:58:53
that's fine
0:58:55
so we'll need to pass the board id board
0:58:58
name and the passcode in that function
0:59:01
we probably don't need the passcode
0:59:04
or do are we saving the
0:59:07
no we're not saving the past good we
0:59:11
just have to as in
0:59:13
we will compare
0:59:15
the passcode before calling this
0:59:18
function
0:59:19
okay
0:59:22
does that make sense
0:59:24
yeah yeah that makes sense
0:59:28
we need the board name as well
0:59:30
what's the heart
0:59:35
okay
0:59:39
[Music]
0:59:44
save one more city but never used okay
0:59:47
fine i'll use you here
0:59:50
to get rid of the squiggly lines
1:00:07
[Music]
1:00:11
oh okay now mine
1:00:14
i need to
1:00:16
declare it at the top
1:00:20
before it's
1:00:23
first
1:00:28
okay
1:00:31
all right so
1:00:33
this is the
1:00:34
oh wow the time it's gone
1:00:38
right beyond
1:00:40
i'd actually carry on but of course some
1:00:42
other things i need to get done as well
1:00:45
yeah yep
1:00:56
finish
1:00:59
what did we learn today to have fun um
1:01:04
too many things to remember
1:01:10
[Music]
1:01:12
i guess um
1:01:14
yeah how to
1:01:16
top three
1:01:18
top three i'll just go with the top one
1:01:20
i
1:01:22
think uh thinking out loud
1:01:25
and um
1:01:27
i'll give another one
1:01:28
the
1:01:29
uh
1:01:31
yeah just i guess the the idea of
1:01:34
mapping
1:01:35
uh to a function so
1:01:37
mapping the radio function i think we've
1:01:39
done that before but you know it's good
1:01:41
to good to recap anyways
1:01:44
fantastic that was pretty good
1:01:47
all right
1:01:48
do you want to do the honors
1:01:51
uh yeah sure thing so
1:01:53
in today's episode
1:01:55
um
1:01:56
we
1:01:58
basically we want to save
1:01:59
all the notes uh
1:02:02
at the same time
1:02:03
to the back end uh
1:02:05
tori and i got started on that uh by
1:02:07
writing
1:02:08
in the front end the other day and now
1:02:11
we're just working on the back end code
1:02:13
um
1:02:14
i think yeah pretty close overall we're
1:02:16
just gonna add the map
1:02:18
function to um to save all the nodes at
1:02:21
once which yeah which should do the
1:02:23
trick and
1:02:24
i think they'll be done and we'll be
1:02:27
on our way to launching so
1:02:30
yeah
1:02:31
um on the way to launching by internal
1:02:34
testing first
1:02:35
internal testing class yes of course
1:02:39
cool um so
1:02:41
yeah thanks for joining us everyone and
1:02:45
yeah we'll catch you next time fantastic
1:02:50
same place and
1:02:53
a different task
1:02:56
actually it was the same task isn't it
1:02:59
same time
1:03:00
yeah
1:03:02
all right guys have a good night and
1:03:04
thanks for joining
1:03:06
good night guys