WEBVTT

00:00.230 --> 00:01.100
All righty.

00:01.140 --> 00:06.780
So as I mentioned in the previous video this section is a big turning point and hopefully you're excited

00:06.780 --> 00:07.400
about it.

00:07.620 --> 00:08.790
I'm excited to teach it.

00:08.850 --> 00:16.080
We're going to go from what we've been doing for the last 12 13 ish hours of content basically working

00:16.080 --> 00:22.200
with my ask you all on its own querying a database and getting a result printed back to us immediately

00:22.260 --> 00:27.180
which is great but we're going to go from that to creating applications with my eyes.

00:27.180 --> 00:33.140
Q Well we're not going to you know learn how to create complex video games or crazy iOS apps.

00:33.150 --> 00:36.760
We're focusing mainly on web applications but the ideas are the same.

00:36.840 --> 00:43.160
I'm going to show you how you get an external language like javascript or ph or Ruby to talk to my ask

00:43.170 --> 00:43.570
you.

00:43.830 --> 00:45.950
And we'll build a couple of things with that.

00:46.000 --> 00:48.500
Now let's quickly review what we've done.

00:48.660 --> 00:52.510
Not the entire course but the way we've been working and talked about the merits of that.

00:52.740 --> 00:58.260
So we've been working with the CLIA mainly you know having a database of users or books or whatever

00:58.260 --> 01:06.270
it is and asking questions you know selecting sales data or orders data or customers and trying to figure

01:06.270 --> 01:10.740
things out like you know how much did we sell last week or what day of the week was our best selling

01:10.740 --> 01:13.270
day across the last two years.

01:13.290 --> 01:17.250
Those are really important and valid and just common uses of my.

01:17.320 --> 01:23.160
Q So there is this whole subset of creating applications that we're diving into now but there are tons

01:23.160 --> 01:29.370
and tons of jobs lots of people who when they work with my as well all that they do not to diminish

01:29.370 --> 01:34.590
it in any way because they can write some pretty complex queries but they're working with only my Escudo

01:35.010 --> 01:37.740
and they're opening up the Seelye or the writing as well.

01:37.730 --> 01:41.560
Files like we've seen and they're just saving and running those files.

01:41.790 --> 01:47.910
So they want to see OK you know what was my commission that I made in the last year calculating tax

01:48.360 --> 01:49.480
whatever information.

01:49.500 --> 01:54.870
You know some are summing a bunch of information in these tables or doing a complex joined to figure

01:54.870 --> 01:56.620
out which promotion work the best.

01:56.640 --> 02:00.360
Those are really important and common uses that people do all the time.

02:00.360 --> 02:05.180
So it's not just about building applications but we've seen that first part we've seen how to do that.

02:05.190 --> 02:06.210
We've worked with tables.

02:06.210 --> 02:10.850
We've been writing lots of selects inserts updates deletes all of that.

02:10.890 --> 02:14.030
Now we're going to see how we work with other languages.

02:14.790 --> 02:19.100
So now it's time for my as well plus any of these.

02:19.110 --> 02:19.980
Pick one.

02:20.070 --> 02:24.030
And the reason I'm even showing you this page is not to intimidate you not to make you think you need

02:24.030 --> 02:26.510
to know all of these you only need one.

02:26.790 --> 02:31.950
So depending on what you're doing there are strengths and disadvantages to certain languages.

02:32.460 --> 02:34.750
But really all of these will work.

02:34.770 --> 02:37.330
They all have ways of communicating with my as well.

02:37.560 --> 02:43.320
So if you're someone who is comfortable with language like if you grew up working with Java or you took

02:43.320 --> 02:47.650
a python class in college or whatever it is you can find ways.

02:47.670 --> 02:52.620
I'll I'll talk about what they are of connecting my ask you out and whatever language you're comfortable

02:52.620 --> 02:56.680
with the one we're going to work with is called node No.

02:57.060 --> 03:01.470
It's getting very very popular it's been pretty popular for the last couple of years.

03:01.500 --> 03:06.250
Very versatile language lots and lots of users great documentation out there.

03:06.290 --> 03:08.470
Now we could have also gone with Ph.

03:08.550 --> 03:15.120
So you may be wondering about that Ph.D. in my ask you historically have been a bit of an item a couple

03:15.810 --> 03:19.880
that are up or were spotted together all the time in the next video.

03:19.890 --> 03:22.030
I will talk a bit about Ph.

03:22.110 --> 03:27.180
It's totally optional but I didn't want to bog down in this video with it but there are a lot of opinions

03:27.180 --> 03:27.770
out there.

03:27.960 --> 03:29.900
I'll give you a 10 second preview.

03:30.090 --> 03:32.130
A lot of people think ph is dying.

03:32.130 --> 03:35.060
It's certainly in decline compared to where it used to be.

03:35.060 --> 03:37.530
It used to be the king of programming languages on the web.

03:37.530 --> 03:41.120
Now there are lots of competitors and people are leaving BHP.

03:41.130 --> 03:42.750
That doesn't mean that it's a bad language.

03:42.750 --> 03:44.030
There are problems with it.

03:44.040 --> 03:46.080
This is you know my opinion as well.

03:46.080 --> 03:50.180
There are problems that other languages have been able to solve better.

03:50.360 --> 03:52.700
However there's a big user base out there.

03:52.860 --> 03:57.150
Yes it's not growing as fast every year but there are still millions of people using it.

03:57.180 --> 04:00.260
So do not shy away from THP if you're comfortable with it.

04:00.270 --> 04:03.540
If you want to use it there's lots of examples out there.

04:03.810 --> 04:08.550
But I didn't want to make this course just another ph in my ask you of course there are dozens.

04:08.580 --> 04:13.560
They're getting dated but there are dozens of them even on you to me lots of my s q on ph.

04:13.560 --> 04:18.750
P So I chose node and we'll talk more about why in this optional video coming up.

04:18.750 --> 04:25.710
Basically javascript is the most popular programming language for the Web right now and node uses Javascript

04:25.710 --> 04:29.010
syntax and just generally node is a great choice.

04:29.110 --> 04:33.660
I could have gone with any of these although I probably wouldn't have done any of the C languages but

04:33.660 --> 04:36.670
Ruby or Python would have been equally good choices.

04:36.780 --> 04:40.590
However I went with Knode because honestly that's what people want to learn right now.

04:40.740 --> 04:43.050
And it's what a lot of the jobs out there are for.

04:43.360 --> 04:45.430
OK so that I'll say about that for now.

04:45.840 --> 04:48.150
Like I said any of these will work.

04:48.150 --> 04:50.900
The next thing I want to talk about is how do they work.

04:50.910 --> 04:51.630
What do they do.

04:51.630 --> 04:55.820
So we pick a language we're working with node but then what.

04:56.080 --> 04:59.850
What's the point of you know using a program programming language.

05:00.170 --> 05:01.250
How does it talk to my s.

05:01.250 --> 05:04.450
Q Well through external code and what kinds of things would you do.

05:04.880 --> 05:07.140
So here's a little diagram.

05:07.250 --> 05:09.470
Imagine that there's a web application.

05:09.770 --> 05:19.190
My computer when I go to this is hypothetical Amazon.com I hit enter a request is made and I labeled

05:19.190 --> 05:20.360
this has no J.

05:20.480 --> 05:22.840
Amazon does have some node in their stack.

05:22.900 --> 05:25.580
But this could be any language so that doesn't matter.

05:25.730 --> 05:29.730
But I send a request Hey Amazon can you give me your home page.

05:29.750 --> 05:32.570
Can you give me my personal profile page.

05:32.570 --> 05:34.070
I want to update my e-mail address.

05:34.070 --> 05:34.930
How about that.

05:35.330 --> 05:40.670
And then the code whatever it's written in is going to talk to my as well.

05:40.910 --> 05:48.200
So when you say hey may I ask you this user with the user with the e-mail of Coles at gmail dot com

05:48.560 --> 05:50.410
is trying to get his profile page.

05:50.600 --> 05:54.740
I want to select all information related to you or you know.

05:54.780 --> 06:00.590
So like everything from users where e-mail is Kolta Gee Medcom that query is run.

06:00.650 --> 06:04.420
So from node or whatever this is here to my as well.

06:04.570 --> 06:09.620
And the result comes back and it could be I'm sorry there's no users table I don't know what the heck

06:09.620 --> 06:10.830
you're talking about node.

06:11.000 --> 06:11.590
Or it could be.

06:11.600 --> 06:16.220
OK here's that five items in that row about cold.

06:16.500 --> 06:17.970
And then that comes back.

06:18.410 --> 06:20.060
So that's kind of this two way street.

06:20.150 --> 06:26.660
And then whatever the programming language is here is then going to compile whatever sent to me.

06:26.660 --> 06:28.270
So the Amazon homepage.

06:28.510 --> 06:34.380
So it's going to take all those results and it's going to build a web page for me and send it back.

06:34.390 --> 06:36.640
Now this is not a course in web development.

06:36.710 --> 06:41.450
I have another video where we talk about what this course is and isn't and how I'm going to go about

06:41.450 --> 06:47.370
covering things like H.M.S. assess I'm going to cover them but not a ton of detail because that would

06:47.370 --> 06:48.110
could take hours.

06:48.110 --> 06:50.540
I have a 45 hour course on that content.

06:50.540 --> 06:53.770
So this is really more focused on the my ass.

06:53.780 --> 06:57.060
Q Well part of things which make sense it's in my ask you of course.

06:57.330 --> 07:01.010
Okay so with that said oh I missed the last arrow.

07:01.250 --> 07:03.490
Something is sent back to a computer.

07:03.560 --> 07:05.810
So it's this cycle where there's kind of three entities.

07:05.810 --> 07:08.850
There's a device over here my computer.

07:08.990 --> 07:12.520
It could be an iPhone or Android phone could be.

07:13.010 --> 07:13.480
I don't know.

07:13.520 --> 07:15.020
It could be a smoke detector.

07:15.020 --> 07:21.550
It could be a nest camera if you have ever seen cameras or any like web based security camera.

07:21.740 --> 07:22.190
They don't.

07:22.190 --> 07:26.360
I'm not saying they work with node in my as well but there's some database somewhere storing information

07:26.390 --> 07:32.870
and there's some app somewhere running that is listening that's getting video sent back or updates from

07:32.870 --> 07:34.110
a smoke alarm.

07:35.430 --> 07:39.990
Or could be a virtual reality headset it could be anything really any sort of device another computer

07:39.990 --> 07:42.100
or a phone or something else.

07:42.100 --> 07:43.530
And then this here.

07:43.570 --> 07:44.850
Like I said doesn't have to be node.

07:44.860 --> 07:45.990
That's what we're working with.

07:46.210 --> 07:51.240
But you could easily replace that with another language THP or Ruby.

07:51.310 --> 07:55.270
And then yes you could have a different database but that's what this course is about.

07:55.300 --> 08:01.810
But you could have a virtual reality headset that's working with Ruby although that's a great game development

08:01.810 --> 08:02.360
environment.

08:02.400 --> 08:08.380
Maybe you're working with unity and you're writing Java or something but then you're working with another

08:08.380 --> 08:08.830
database.

08:08.830 --> 08:09.770
It could be anything.

08:09.850 --> 08:12.690
Mangu D-B postgresql or my ask.

08:12.730 --> 08:14.840
Well the core idea is the same.

08:14.970 --> 08:15.260
OK.

08:15.280 --> 08:17.300
So there's a lot of talking.

08:17.380 --> 08:22.720
Like I said there's an optional video coming up about THP versus node and other languages.

08:22.720 --> 08:26.130
It's mainly my opinions but there is some interesting data to take a look at.

08:26.350 --> 08:31.060
If you're curious about how I came to the conclusion I came to spend a lot of time thinking about how

08:31.060 --> 08:38.080
to teach this and what I'd like to do is add kind of alternate versions of what we're going to build

08:38.080 --> 08:44.050
here and build a ruby version so you can see it and then build a Ph version and build a Java version

08:44.050 --> 08:45.760
so you can compare it.

08:46.030 --> 08:47.650
But that will come later.

08:47.650 --> 08:51.390
This is you know I made a decision and it's an informed decision and I'll explain why.

08:51.430 --> 08:52.870
If you're curious the next video.

08:53.080 --> 08:58.450
And then after that or you can skip right to the next video which is going to be introducing the project

08:58.450 --> 08:59.110
we're going to build.
