Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00,880 --> 00:00:09,610
How is Node most often used, we can use it for scripts that do things on our computer.
2
00:00:10,000 --> 00:00:15,490
Our local machine, for example, to read and write files.
3
00:00:16,000 --> 00:00:28,180
But in the majority of cases, we use Node to create servers to build web and mobile applications that
4
00:00:28,390 --> 00:00:38,290
connect to databases, provide user data and things like videos, photos and other content.
5
00:00:38,980 --> 00:00:48,730
And our servers also provide security features like allowing users to log in in order to understand
6
00:00:48,970 --> 00:00:57,340
how we'll be applying what we learn in the next few videos, including when we apply in our final project.
7
00:00:57,760 --> 00:01:06,520
We need to get a bit of a lesson in backhands technology and how it compares to the front end.
8
00:01:07,240 --> 00:01:14,530
Now, if you're already familiar with working with backends from frontend development or working with
9
00:01:14,530 --> 00:01:21,550
backends in other runtimes and programming languages, this might be review, but we need to make sure
10
00:01:21,550 --> 00:01:28,540
we have our fundamentals in place when it comes to the web and even mobile.
11
00:01:29,050 --> 00:01:34,690
There's usually this idea of a client and a server.
12
00:01:35,290 --> 00:01:38,110
The front end and the back end.
13
00:01:38,620 --> 00:01:39,550
The front end.
14
00:01:39,550 --> 00:01:43,690
Here is your browser or mobile phone.
15
00:01:44,050 --> 00:01:47,290
It's what you see on the screen as a user.
16
00:01:48,040 --> 00:01:56,860
The backend is what happens behind the scenes where we tend to have things like security features,
17
00:01:57,070 --> 00:02:06,160
input validation and most of our business logic, especially if it's something like intellectual property
18
00:02:06,730 --> 00:02:13,540
that's core to our products and we want to be in full control over it.
19
00:02:13,930 --> 00:02:22,600
For example, business logic like how Google determines the ranking of websites when you search this
20
00:02:22,990 --> 00:02:32,140
top secret algorithm that's so important to how Google works and on the back end, we tend to talk to
21
00:02:32,410 --> 00:02:41,620
multiple different servers providing services that we then put together in some meaningful way for our
22
00:02:41,620 --> 00:02:42,370
application.
23
00:02:43,150 --> 00:02:45,070
Let's think about this from the top.
24
00:02:45,460 --> 00:02:49,270
What happens when I load a website like Google.com?
25
00:02:50,400 --> 00:02:52,350
I'm telling my browser here.
26
00:02:52,890 --> 00:03:01,620
Go find Google.com and it's going to go where Google has their servers for the front page of Google.
27
00:03:02,310 --> 00:03:12,060
And it's going to make what we call a request and say, Hey server, can you give me some data for whatever
28
00:03:12,060 --> 00:03:13,860
is on that page?
29
00:03:14,310 --> 00:03:18,840
It could be the Google logo, the header or the search bar.
30
00:03:20,030 --> 00:03:30,020
The server will then send back what we call a response and say, OK, here's the data that you need
31
00:03:30,020 --> 00:03:31,730
to display this page.
32
00:03:32,730 --> 00:03:43,380
This can include static files like HTML, which is the hypertext markup language used to lay the page
33
00:03:43,380 --> 00:03:48,120
out and, for example, separate the logo from the search bar.
34
00:03:48,870 --> 00:03:59,550
We might have JavaScript, which we use to perform actions on that page or CSC to provide the visual
35
00:03:59,550 --> 00:04:03,210
styling and appearance of that page.
36
00:04:04,110 --> 00:04:12,510
The language that these server uses to talk to the clients and the language that the client uses to
37
00:04:12,510 --> 00:04:23,430
send requests for data to the server is called FTP or the Hypertext Transfer Protocol.
38
00:04:24,700 --> 00:04:32,440
HDP is used to transfer these files from the server to the browser.
39
00:04:33,130 --> 00:04:44,320
And oftentimes we'll see HDP s, which is the secure version of this protocol, where all communication
40
00:04:44,320 --> 00:04:51,490
between the client and server is encrypted to help keep our data secure.
41
00:04:53,110 --> 00:05:03,490
In case someone tries to come between us in the browser and the server to snoop on what we're seeing.
42
00:05:04,210 --> 00:05:06,790
Spy on us and steal our data.
43
00:05:07,540 --> 00:05:18,100
Thankfully, most websites use the secure version of HTP by default now to make sure our data is secure
44
00:05:18,310 --> 00:05:24,220
when it's being transferred over the internet, so there's nothing suspicious going on here.
45
00:05:25,640 --> 00:05:26,270
All right.
46
00:05:26,690 --> 00:05:34,100
Let's say we load facebook.com instead, and we have a page that's more dynamic.
47
00:05:34,920 --> 00:05:38,640
We might ask the server, Hey, I just logged in.
48
00:05:39,060 --> 00:05:48,520
Can you give me the data for my user and the data for my friends and the server is going to say no problem?
49
00:05:48,540 --> 00:05:49,200
Here it is.
50
00:05:49,830 --> 00:05:58,260
But rather than sending that data in files that are static like we saw before, it could send the data
51
00:05:58,260 --> 00:06:01,140
back in a number of formats.
52
00:06:01,890 --> 00:06:09,210
The data could be JSON or XML, or even just plain text data.
53
00:06:11,150 --> 00:06:21,920
Where Jason is our JavaScript object format or JavaScript object notation using our curly braces and
54
00:06:21,920 --> 00:06:30,770
key value pairs, just like in JavaScript and an alternative format is XML, which looks a lot like
55
00:06:31,370 --> 00:06:35,030
HTML, where we use these pairs of tags.
56
00:06:35,420 --> 00:06:41,480
And for example, here in our correct version, a pair of tags can have some data.
57
00:06:42,850 --> 00:06:45,430
That's what the back end is for.
58
00:06:46,060 --> 00:06:55,360
It serves us the data that we need on the front end on the client side to show something useful to the
59
00:06:55,360 --> 00:06:55,840
user.
60
00:06:56,440 --> 00:06:58,780
So how are backhands made?
61
00:06:59,410 --> 00:07:03,700
We can use any language and runtime that you want.
62
00:07:04,420 --> 00:07:12,580
You can use node, but also Python or Ruby Java or the Go programming language.
63
00:07:13,090 --> 00:07:23,080
And when we write code in those languages to serve our data to the front end, we call our code backend
64
00:07:23,080 --> 00:07:23,530
code.
65
00:07:24,280 --> 00:07:30,850
Now you might be asking, why do we need the server to send us data at all?
66
00:07:31,630 --> 00:07:35,890
Why don't we just keep the data in the front end and do everything there?
67
00:07:36,670 --> 00:07:46,900
Well, on the server, we do things that we can't or shouldn't do on the browser, things like security,
68
00:07:47,140 --> 00:07:56,140
logging our users in and input validation where the client can send us data that we don't expect and
69
00:07:56,290 --> 00:08:00,130
we need to make sure that it matches our needs.
70
00:08:00,910 --> 00:08:10,870
This idea of a client server architecture that we just talked about is used by most of the web, and
71
00:08:11,050 --> 00:08:18,400
building out that server side is what most node applications are built to do.
72
00:08:18,880 --> 00:08:27,850
Our front end is almost always written in some form of HTML, CSS and JavaScript.
73
00:08:28,360 --> 00:08:38,680
But the backend can be in nearly any programming language node allows us developers the huge advantage
74
00:08:38,680 --> 00:08:47,650
of programming the backend and frontend in the same language, and it provides dozens of other benefits
75
00:08:47,830 --> 00:08:51,100
that we're going to be talking about throughout the course.
76
00:08:51,730 --> 00:08:53,560
So let's get to it.
77
00:08:53,980 --> 00:08:55,510
I'll see you in the next video.
8335
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.