1
00:00:00,360 --> 00:00:01,320
歡迎回來。

2
00:00:01,680 --> 00:00:05,790
所以這個視頻代表了這一類的一個相當大的里程碑。

3
00:00:05,790 --> 00:00:11,580
我們從純粹的前端技術轉移到我們的背部和Web開發的第一口味。

4
00:00:11,580 --> 00:00:13,940
因此，我們將繼續利用我們已經學到的一切。

5
00:00:13,950 --> 00:00:20,880
這是G-郵件綜援JavaScript，但我們要學習一些新的技術，幫助我們充分的Web應用程序。

6
00:00:20,880 --> 00:00:25,300
當然，在我們開始編寫一些代碼，我們有我們需要照顧一些其他的東西。

7
00:00:25,410 --> 00:00:27,840
我們將通過回顧互聯網如何工作的開始。

8
00:00:27,840 --> 00:00:38,580
然後，我們要談的靜態與動態網站及前端配合和那裡回來，三天打魚兩天主要是我們將在深入討論更多關於具體的背部和技術，我們將一起工作。

9
00:00:39,030 --> 00:00:43,660
行，所以讓我們開始的互聯網是如何工作的60秒版本。

10
00:00:43,980 --> 00:00:50,790
當我們去歐洲我這裡來點com斜杠課程有幕後所發生的幾件事情。

11
00:00:50,790 --> 00:00:56,130
的第一件事是，我們的計算機需要弄清楚IP地址的請求發送到。

12
00:00:56,490 --> 00:01:04,840
因此，需要我們您R-OH你讀出進來它得到這對你我服務器的唯一定位正確的IP地址。

13
00:01:05,130 --> 00:01:10,050
然後，一旦我們有IP地址和新時代TTP請求被發送。

14
00:01:10,290 --> 00:01:14,910
這樣一個請求被發送到該IP地址和它不只是一個空白請求。

15
00:01:14,910 --> 00:01:16,800
它有一堆的信息。

16
00:01:16,800 --> 00:01:20,830
我們將討論更多是在一個視頻這一要求的具體細節。

17
00:01:21,090 --> 00:01:27,910
但短版本是，它有類似的東西你自己的IP地址，你在那個類型的請求發送的時間。

18
00:01:27,990 --> 00:01:31,920
而最重要的是你問的具體頁面。

19
00:01:31,950 --> 00:01:34,710
因此，在這種情況下，我們要求該課程的頁面。

20
00:01:34,830 --> 00:01:43,010
所以這是在發送我旁邊獲取請求的請求編碼，並計算出該怎麼做。

21
00:01:43,140 --> 00:01:44,810
然後將它與一些響應。

22
00:01:45,030 --> 00:01:52,230
所以，如果我們要求斜線課程和Tomy服務器將弄清楚什麼需要去課程頁面上。

23
00:01:52,230 --> 00:02:13,580
所以，我認為它進入數據庫，並抓住了一堆課程和圖像編譯他們到了一些成功，一些JavaScript這樣一個長HTL文件，那麼它的最終送回我到我的電腦有HTP響應，然後它會到瀏覽器的工作就是來渲染頁面。

24
00:02:13,860 --> 00:02:19,880
因此，這是實際的內容看起來像之前我們的瀏覽器需要照顧它什麼，使得它為我們人類。

25
00:02:20,010 --> 00:02:24,880
這是計算機所看到的在JavaScript只是HMO成功。

26
00:02:25,050 --> 00:02:42,600
總結這一切，當我去到一個URL和我打輸入的​​情況是我們需要找到該域的IP地址，然後我們發送HTP請求，要求一個特定頁面，該IP地址，然後服務器第一件事收到該請求。

27
00:02:42,750 --> 00:02:45,310
它的數字出來做什麼做什麼用回應。

28
00:02:45,570 --> 00:02:51,300
然後它響應回來H.M. SS在JavaScript。

29
00:02:51,300 --> 00:02:56,510
我想討論的下一件事情是靜態的，動態網頁的區別。

30
00:02:56,610 --> 00:03:00,960
我們談到了這一點也是在有關互聯網是如何工作的早期的影片之一。

31
00:03:00,960 --> 00:03:05,730
我想要做一個快速回顧一下，因為它是為我們即將有後端的討論非常重要。

32
00:03:06,330 --> 00:03:22,530
因此，有兩種不同類型的網站靜態頁面和動態頁面動態網頁都被服務器端所在的服務器一起拉動或構建一個網頁之前它送回作為響應編譯網站。

33
00:03:22,530 --> 00:03:25,610
到目前為止我們寫的一切都已經是靜態的。

34
00:03:25,650 --> 00:03:31,330
因此，即使是這樣，它似乎並不像它的靜態的，因為有動態內容。

35
00:03:31,350 --> 00:03:35,000
我們得到隨機顏色每一次，這是一個遊戲。

36
00:03:35,010 --> 00:03:48,030
它似乎並不如我在關於這一主題的早期視頻使用的餐廳網頁例如靜態，但它仍然是靜態的，因為它是相同的HMOÇSS在JavaScript。

37
00:03:48,060 --> 00:03:49,160
每一次。

38
00:03:49,440 --> 00:03:58,530
是的，它看起來不一樣，因為我們有一些隨機的顏色，但它的每一個我們在瀏覽器上的動態網站開放時間相同的基本部分。

39
00:03:58,560 --> 00:04:04,620
我們可以有不同的JavaScript或不同的C SS互不相隊的正每次送回來。

40
00:04:04,980 --> 00:04:11,580
所以，我們去的時候是這樣reddit的，例如，我刷新頁面，我可以在這裡得到不同的內容。

41
00:04:11,820 --> 00:04:19,330
事實上，我做每一次你清新的頁面，你得到新的內容，因此有說的東西編譯數據庫。

42
00:04:19,380 --> 00:04:28,020
有一些代碼檢查，如果你登錄，如果你在隨後登錄它不會告訴你一種形式在這裡，但它會告訴你一個註銷按鈕。

43
00:04:28,320 --> 00:04:34,360
如果你沒有在它記錄你展示一種形式，這表明你登錄或註冊按鈕。

44
00:04:35,370 --> 00:04:44,430
所以，這個網頁是沒有確切的相同的H克間L C SS在JavaScript中，每一次發回給我的服務器是否確實決定要送回去。

45
00:04:44,430 --> 00:04:53,540
在將其發送給我與本網站前建一個網頁它的每一次完全相同的內容。

46
00:04:56,320 --> 00:04:59,260
好讓我們更專注一點後端現在。

47
00:04:59,350 --> 00:05:09,800
所以該圖是一個通用的棧和堆是所使用指所有該特定web應用程序使用的技術的術語。

48
00:05:09,820 --> 00:05:17,770
所以H.T.梅爾基奧爾說，在JavaScript中總是幾乎都是一摞時下的大花式Web應用程序的一部分。

49
00:05:17,770 --> 00:05:21,310
從技術上講，我們可以有一個沒有任何成功的網站。

50
00:05:21,340 --> 00:05:22,690
這純粹是可怕的。

51
00:05:22,780 --> 00:05:28,420
我們可以有一個沒有任何客戶端的JavaScript，以及一個網站，它只是不會是非常互動。

52
00:05:28,540 --> 00:05:46,050
但是，我們仍然可以做一個非常好的網站就像我們與原來的攝影組合網站只是每個團隊以利沙我們，但正如我提到的所有具備HDMI elsea說，大多數Web應用程序和JavaScript的被發回後端所做的是在這裡我們看到了很多變種。

53
00:05:46,270 --> 00:05:57,720
因此，有我們可以編寫服務器端代碼不同的語言，我們可以寫或背部，並使用Ruby或Python或斯卡拉或Java或JavaScript或THP。

54
00:05:57,820 --> 00:05:59,500
有這麼多的選擇在那裡。

55
00:05:59,530 --> 00:06:01,930
還有那裡各種不同的數據庫。

56
00:06:01,930 --> 00:06:07,760
後危機時代和續集在我以及和蒙戈而且有這麼多的選擇。

57
00:06:07,810 --> 00:06:16,110
所以說，棧指的是什麼特別的選擇，開發商都做了什麼確切的，他們使用的技術。

58
00:06:16,180 --> 00:06:19,200
這對於開發者一個非常普遍的問題要問對方。

59
00:06:19,450 --> 00:06:25,010
什麼是你的籌碼在該公司或者是你在這個特定項目使用的是什麼協議棧。

60
00:06:25,030 --> 00:06:28,290
所以這裡的reddit的棧的現實生活中的例子。

61
00:06:28,510 --> 00:06:32,830
因此，這些都是一些reddit的在其網站上使用的技術。

62
00:06:33,160 --> 00:06:37,010
因此，網站使用的是所謂的燒瓶框架，用Python寫的。

63
00:06:37,410 --> 00:06:42,610
它的建成引擎X服務器上，它使用後記作為其數據庫。

64
00:06:42,610 --> 00:06:48,250
實際上，有一個網站專門分享不同的公司叫做疊棧的份額。

65
00:06:48,460 --> 00:06:55,470
所以，我把它開在這裡，這是紋理的reddit的頁面，我們可以看到他們使用的所有不同的技術。

66
00:06:55,660 --> 00:06:59,270
和遺傳學的Python後GRESSE Amazon S3的。

67
00:06:59,410 --> 00:07:02,590
它會告訴你下面一點關於他們的用途。

68
00:07:02,590 --> 00:07:04,980
不要被多少圖標有不堪重負。

69
00:07:05,110 --> 00:07:09,530
有多少名和所有這些不同類別和所有這些不同的術語。

70
00:07:09,790 --> 00:07:11,100
這不是這裡的重點。

71
00:07:11,340 --> 00:07:15,910
所有我想告訴你的是，不同的網站使用不同的技術。

72
00:07:15,910 --> 00:07:20,190
所以，讓我們點擊棧，我們可以看看其他一些公司的堆棧。

73
00:07:20,290 --> 00:07:33,130
例如空氣B和B可以看出，FBN B使用使用我的ESKY以及大量的JavaScript的Java軌和Ruby。

74
00:07:33,520 --> 00:07:35,720
他們用一大堆不同的技術。

75
00:07:35,770 --> 00:07:38,500
因此，讓我們回到我們的幻燈片在這裡。

76
00:07:38,500 --> 00:07:45,650
我想提出的另一件事是，這個藍線就在這裡表示後端和前端之間的邊界。

77
00:07:46,000 --> 00:07:51,490
因此，我們討論了如何動態網站是由在後端服務器構成。

78
00:07:51,490 --> 00:07:57,050
所以這裡這個右圖的這部分就是網站的動態部分的用武之地。

79
00:07:57,250 --> 00:08:13,130
因此，這是所有紅色用Python編寫的邏輯那就是計算出，如果一個用戶登錄，如果我們需要顯示一個表單什麼新增加進入頁面放什麼圖像，如果我們需要有一個標誌和案例鎖定按鈕或登出按鈕。

80
00:08:13,240 --> 00:08:23,600
所有這一切都在後面，並在圖的這一部分完成的，然後將其發送回ħ添L Cšš和Javascript。

81
00:08:23,680 --> 00:08:26,170
因此，這裡的是我們要成為學習的堆棧。

82
00:08:26,380 --> 00:08:27,800
我們將使用節點j。

83
00:08:27,870 --> 00:08:28,440
是。

84
00:08:28,450 --> 00:08:33,120
所以我們仍然可以編寫JavaScript，但我們會在後台進行寫它。

85
00:08:33,280 --> 00:08:40,090
我們將使用一個名為快遞框架，我們也將使用滿谷DBI作為我們的數據庫。

86
00:08:40,370 --> 00:08:46,490
然後，當然，我們還必須H T M L（C S）S和的Javascript就像我們一直在使用，在過去數單位。

87
00:08:46,720 --> 00:08:58,950
所以現在在過程中這一點，你可以考慮自己的前端開發人員或培訓的前端開發者，我們已經介紹你需要知道開始做網站的前端一切。

88
00:08:58,960 --> 00:09:14,510
現在我們要開始談論在web開發中回來，一旦我們把那兩個一起走向課程結束的地方使用Express A.J.編寫服務器端代碼作為蒙戈D-B，我們有用戶登錄，但我們還編寫客戶端或前端的JavaScript。

89
00:09:14,510 --> 00:09:16,170
^ h蒂姆·L和C SS。

90
00:09:16,390 --> 00:09:19,090
這就是我們稱之為完整的堆棧的Web開發。

91
00:09:19,270 --> 00:09:26,380
術語全棧網絡開發是指在堆疊的後端和前端的所有部分編寫代碼。

92
00:09:26,710 --> 00:09:30,990
下面是一些我們可以在籃下實現該功能的示​​意圖。

93
00:09:31,210 --> 00:09:51,420
這是使用書籤交易作為例子再次，你可以看到我們有像檢查功能，如果用戶註冊了一個用戶登錄添加一個新的崗位，以數據庫中創建一個新的評論從數據庫中刪除排序後和排名的帖子創建一個新的子reddit的用戶添加到通訊，並保存在數據庫中。

94
00:09:51,760 --> 00:10:00,270
當然，最重要的是弄清楚每個團隊將會看到在JavaScript評估送回，然後發回給用戶。

95
00:10:00,460 --> 00:10:10,730
穿越這個藍線在這裡我們現在要的前端，H.M.S.刺客和Javascript發回給我，然後我看到在我的瀏覽器。

96
00:10:11,020 --> 00:10:17,260
我這裡多了一個圖，它也談到了前端與後端但它的格式略有不同。

97
00:10:17,560 --> 00:10:24,070
此圖前端與背面之間以及在幾頁加載的過程中的事件序列。

98
00:10:24,370 --> 00:10:29,410
因此，在前端，如果我去閱讀它點com和刷新。

99
00:10:29,680 --> 00:10:34,790
我送了reddit的網頁請求，那麼去閱讀它。

100
00:10:34,960 --> 00:10:39,340
這要求它使他們的服務器和服務器看到我所要求的主頁。

101
00:10:39,370 --> 00:10:52,040
因此，有，抓住從數據庫中最高職位，使所有的時間LNC SS和JavaScript，我在這裡看到的，然後發送一個回給我，我在我的瀏覽器，然後查看一些服務器端邏輯。

102
00:10:52,780 --> 00:11:02,370
下一步，我可以輸入一些東西在搜索框內輸入喜歡狗，我會做，現在這裡鍵入的狗，然後回車。

103
00:11:02,710 --> 00:11:10,320
而當我打進入一個新的請求被發送回服務器reddit的這個時候說，我在尋找的狗。

104
00:11:10,570 --> 00:11:25,930
所以服務器有一定的邏輯把我的搜索詞的狗，它會找出所有術語數據庫相匹配的職位，然後讓我有些新時代的男性在JavaScript狗的搜索結果頁進行評估，然後將它發送一個回給我。

105
00:11:26,620 --> 00:11:32,700
然後我的瀏覽器呈現它，我看到這一點，顯然是一個非常非常簡化的版本。

106
00:11:32,810 --> 00:11:39,660
還有很多更幕後發生的事情和Reddit實際上會創建自己的應用程序非常類似閱讀的版本。

107
00:11:39,820 --> 00:11:46,630
一旦我們了解Express和知道J.S.和蒙戈DB，我們會作出一個完整的堆棧的應用程序。
