All language subtitles for 1. Backend Web Development Explained

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French Download
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 0 1 00:00:00,220 --> 00:00:00,580 All right. 1 2 00:00:00,630 --> 00:00:06,810 So now that we've looked at a lot of the technologies that are used in front end web development, and we've 2 3 00:00:06,810 --> 00:00:14,640 designed and developed web sites using HTML, CSS, Javascript, Bootstrap, jQuery, in order to become a 3 4 00:00:14,640 --> 00:00:18,880 full stack web developer, we now have to learn about the back end. 4 5 00:00:19,260 --> 00:00:21,560 Now what exactly is a full stack developer? 5 6 00:00:21,570 --> 00:00:27,890 Because this is a term that's brandished about a lot and especially in the context of development jobs. 6 7 00:00:28,080 --> 00:00:35,790 So, according to Linked In, these are the hottest jobs for 2018, and squarely on that list is a full stack 7 8 00:00:35,790 --> 00:00:36,710 developer. 8 9 00:00:36,900 --> 00:00:39,820 So what exactly is a full stack developer? 9 10 00:00:40,170 --> 00:00:45,920 Well, a full stack basically is just front end development plus back end development. 10 11 00:00:45,960 --> 00:00:51,690 And once you're familiar with both, then it's this flexibility of working with the front and back end 11 12 00:00:52,110 --> 00:00:55,510 that makes you so much more desirable as a developer. 12 13 00:00:55,560 --> 00:01:01,830 Up till now we've only been interacting with front end technologies. We’ve learnt about HTML, CSS 13 14 00:01:01,950 --> 00:01:08,610 and Javascript, as well as jQuery and Bootstrap, which all enable us to design our web site and also 14 15 00:01:08,640 --> 00:01:13,040 allow for user interaction on the client side, in the browser for example. 15 16 00:01:13,230 --> 00:01:18,930 But now we're going to look at the back end. We’re going to learn about Node.js and other technologies 16 17 00:01:19,230 --> 00:01:25,940 that enable us to interact with databases or have business logic on a server and a whole lot more. 17 18 00:01:26,400 --> 00:01:33,090 Now what exactly is the back end anyways? For some of you out there who are a bit more immature like myself, 18 19 00:01:33,090 --> 00:01:35,730 don’t worry, it's not something that's rude. 19 20 00:01:35,730 --> 00:01:42,270 Instead it consists of things such as a server which will serve up your files your HTML, your 20 21 00:01:42,270 --> 00:01:49,440 CSS and your Javascript, a database which can store your user data such as their log ins and passwords, 21 22 00:01:50,130 --> 00:01:51,830 as well as your applications. 22 23 00:01:51,870 --> 00:01:54,310 So this is where you create your business logic, 23 24 00:01:54,330 --> 00:01:57,290 you determine how your web applications work, 24 25 00:01:57,300 --> 00:02:03,830 for example things such as calculating flight prices, or making payments, that sort of stuff. 25 26 00:02:03,870 --> 00:02:07,710 So let's look at a real life example. Let’s take a look at the Eventbrite 26 27 00:02:07,710 --> 00:02:09,900 web application. 27 28 00:02:10,150 --> 00:02:14,770 And it's a web application because it doesn't just display information, 28 29 00:02:14,790 --> 00:02:22,200 it also has functionality on the back end that enables it to do something concrete, such as find events 29 30 00:02:22,260 --> 00:02:24,290 or allow you to book events. 30 31 00:02:24,480 --> 00:02:29,760 So let's say we've gone to Eventbrite and we look at all the events that are happening today, and I 31 32 00:02:29,760 --> 00:02:32,910 find something that is the Hogarth beer and music festival. 32 33 00:02:32,940 --> 00:02:35,010 Well, that sounds right up my alley. 33 34 00:02:35,010 --> 00:02:39,290 So let's go ahead and register and book a ticket. 34 35 00:02:39,300 --> 00:02:42,520 So here I enter my name and I buy a ticket. 35 36 00:02:43,140 --> 00:02:49,770 Well now, that information that consists of my name, how many tickets I bought, and my registration details 36 37 00:02:49,770 --> 00:02:54,270 such as my e-mail, gets saved on the web site's databases. 37 38 00:02:54,540 --> 00:03:00,510 And for simplicity's sake you can just imagine these databases as these giant Excel spreadsheets living 38 39 00:03:00,510 --> 00:03:06,880 somewhere. And all of my data that I enter gets saved onto these spreadsheets. 39 40 00:03:06,930 --> 00:03:13,190 And that means that when I come back at a later date, I'm able to log back on to Eventbrite, and it 40 41 00:03:13,190 --> 00:03:15,990 will be able to retrieve from its database 41 42 00:03:15,990 --> 00:03:18,910 all of the data that is associated with my account. 42 43 00:03:19,140 --> 00:03:25,710 So, for example, it could retrieve my ticket to the Hogarth beer and music festival. Now a really great 43 44 00:03:25,710 --> 00:03:30,660 analogy for a full stack web application, it's kind of like a restaurant. 44 45 00:03:30,660 --> 00:03:32,060 So there is a front of house. 45 46 00:03:32,070 --> 00:03:36,450 This is the main restaurant where your clients will sit down and have dinner. 46 47 00:03:36,750 --> 00:03:41,280 But then there's also the kitchen, right, which is where the cooking is mostly happening. 47 48 00:03:41,400 --> 00:03:46,530 And finally there's also the larder, which is where you store all of your ingredients and everything 48 49 00:03:46,530 --> 00:03:49,050 you need to make the food. 49 50 00:03:49,260 --> 00:03:54,320 In this analogy our front of house restaurant is basically the client side. 50 51 00:03:54,330 --> 00:03:56,750 This is what the user sees in the browser. 51 52 00:03:57,000 --> 00:04:02,310 They're able to interact with the web site using Javascript and they're able to see the information 52 53 00:04:02,310 --> 00:04:05,620 that's being displayed using HTML and CSS. 53 54 00:04:05,790 --> 00:04:13,320 Now, a little bit further back on the back end, we've got the kitchen, and this is analogous to our server. 54 55 00:04:13,350 --> 00:04:18,150 This is basically the place where all of our dishes get served from. 55 56 00:04:18,150 --> 00:04:25,110 So, when a restaurant goer ask for a Philly steak, then that order gets sent to the server, and the server 56 57 00:04:25,140 --> 00:04:29,910 should send back what it is that the client wanted, which is the actual steak. 57 58 00:04:30,240 --> 00:04:34,820 And finally the larder where all the ingredients are stored is of course the database. 58 59 00:04:34,830 --> 00:04:39,410 This is where all of our user data, our event data, our ticket data, 59 60 00:04:39,540 --> 00:04:43,440 all of the data that makes our web site work is stored. 60 61 00:04:43,470 --> 00:04:48,720 So this is where the divide between the front end and the back end happens. It’s between the front of 61 62 00:04:48,720 --> 00:04:52,320 the house and the restaurant, and the kitchens and larder. 62 63 00:04:52,380 --> 00:04:57,360 Now, just as with restaurants, you don't actually have to create everything in the kitchens, 63 64 00:04:57,390 --> 00:04:57,910 right? 64 65 00:04:57,930 --> 00:05:03,450 You could have a restaurant where you make all of the dishes in front of the client, and you just do 65 66 00:05:03,450 --> 00:05:08,850 it on their table. You bring all of the ingredients there and you make it right there for them. 66 67 00:05:08,850 --> 00:05:15,540 Now the downsides in this case is that, firstly, your secret recipe that's been passed down over generations 67 68 00:05:15,600 --> 00:05:18,790 from your great grandma to your grandma to your mother to your self, 68 69 00:05:18,930 --> 00:05:21,580 well that's kind of exposed, right? 69 70 00:05:21,600 --> 00:05:24,430 Anybody would be able to see what it is that you're doing, 70 71 00:05:24,540 --> 00:05:26,140 and they would be able to replicate it. 71 72 00:05:26,310 --> 00:05:29,350 And this is the same for the business logic of your web site. 72 73 00:05:29,520 --> 00:05:35,910 If you had something that you wanted to keep secret such as your API keys or how you implement your 73 74 00:05:35,910 --> 00:05:41,590 particular application, then you don't want that to be visible every time somebody loads up a web site, right? 74 75 00:05:41,670 --> 00:05:48,660 And the other problem is that it can be really really time consuming to make the dish in front 75 76 00:05:48,720 --> 00:05:53,280 of the client in the restaurant, because you would have to bring all of the ingredients, 76 77 00:05:53,300 --> 00:06:00,660 you would have to make it one by one in small batches, and in web sites that translates to a long loading 77 78 00:06:00,660 --> 00:06:01,380 time. 78 79 00:06:01,380 --> 00:06:08,250 So if you are transporting a lot of code over to the browser where it has to be executed on the browser, 79 80 00:06:08,450 --> 00:06:12,520 that usually takes a lot longer than if it was done on the back end. 80 81 00:06:12,570 --> 00:06:19,140 So the alternative is we take our ingredients from our database, so our server interacts with the database, 81 82 00:06:19,560 --> 00:06:25,040 then we execute some code on our server and we create the application or the dish, 82 83 00:06:25,050 --> 00:06:28,820 in this case, which then gets served to the client side. 83 84 00:06:28,860 --> 00:06:31,950 So that means we don't have to transport any of the ingredients, 84 85 00:06:31,950 --> 00:06:37,740 we don't have to transport a lot of code, which will vastly speed up your web site, and also keep your 85 86 00:06:37,740 --> 00:06:40,390 business logic hidden. On the back 86 87 00:06:40,390 --> 00:06:46,980 end there's a lot of technologies that are commonly used for this purpose, and these include PHP, Ruby, 87 88 00:06:46,980 --> 00:06:51,040 Java, Node.js, amongst many many others. 88 89 00:06:51,110 --> 00:06:57,840 Now, in addition, there are frameworks, such as CakePHP or Ruby on Rails or Spring, Express, and these are 89 90 00:06:57,840 --> 00:07:03,060 things that will speed up development using the particular back end technology you chose. 90 91 00:07:03,060 --> 00:07:08,610 So a common one you would have heard is maybe Ruby and Ruby on Rails, and the main job of these frameworks 91 92 00:07:08,700 --> 00:07:13,450 is to simply reduce the amount of repetitive stuff that a developer has to do, 92 93 00:07:13,680 --> 00:07:18,930 and just like how you don't want to write the email boilerplate code out every single time you create 93 94 00:07:18,960 --> 00:07:20,380 an additional page, 94 95 00:07:20,380 --> 00:07:26,280 then in the same way a lot of these frameworks such as Ruby on Rails or Express, they make a developer's 95 96 00:07:26,280 --> 00:07:32,430 life much much easier by cutting down some of the grunt work and saving you a lot of time. In the coming 96 97 00:07:32,430 --> 00:07:36,490 lessons we’re going to be delving deep into a lot of this kind of stuff, 97 98 00:07:36,600 --> 00:07:41,220 and we're going to be learning about Node.js as well as the most common framework that's used with it, 98 99 00:07:41,250 --> 00:07:46,930 which is Express. And the best part of all is that we don't have to learn a brand new programming language 99 100 00:07:46,930 --> 00:07:50,540 to do it, because Node.js runs on Javascript. 100 101 00:07:50,760 --> 00:07:56,310 And this is why Node.js is one of the most popular back end languages currently, because it runs on 101 102 00:07:56,310 --> 00:07:57,500 Javascript. 102 103 00:07:57,930 --> 00:08:02,100 So for all of that and more on Node.js, I'll see you on the next lesson. 12022

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.