1
00:00:03,980 --> 00:00:11,490
Добро пожаловать на серверную разработку с помощью NodeJS, Express и MongoDB.

2
00:00:11,490 --> 00:00:15,125
Это итоговый курс специализации.

3
00:00:15,125 --> 00:00:19,680
В этом курсе мы будем концентрироваться в основном на стороне сервера.

4
00:00:19,680 --> 00:00:24,425
Мы рассмотрим, как мы используем среду выполнения Node для

5
00:00:24,425 --> 00:00:30,555
разработки серверного уровня бизнес-логики с использованием JavaScript.

6
00:00:30,555 --> 00:00:34,515
Затем мы рассмотрим структуру Express, которая позволяет

7
00:00:34,515 --> 00:00:38,775
нам быстро разработать серверное приложение.

8
00:00:38,775 --> 00:00:41,555
Мы также рассмотрим MongoDB

9
00:00:41,555 --> 00:00:48,400
в качестве хранилища документов для наших постоянных данных в базе данных.

10
00:00:48,400 --> 00:00:51,625
Прежде чем приступить к этому курсу,

11
00:00:51,625 --> 00:00:57,490
позвольте мне подчеркнуть, что вы должны иметь очень хорошие рабочие знания JavaScript.

12
00:00:57,490 --> 00:01:03,005
Я ожидаю, что у вас достаточно глубокие знания версии

13
00:01:03,005 --> 00:01:09,770
JavaScript ES 5 и, по крайней мере, знакомы с ES 2015 плюс версия JavaScript,

14
00:01:09,770 --> 00:01:13,090
в частности, использование функций стрелок.

15
00:01:13,090 --> 00:01:20,170
Также желательно, чтобы вы завершили модуль Angular/React этой специализации.

16
00:01:20,170 --> 00:01:26,265
Чтобы у вас было понимание картины с точки зрения переднего плана,

17
00:01:26,265 --> 00:01:30,530
вы знаете, какие данные потребуются на интерфейсе,

18
00:01:30,530 --> 00:01:35,520
чтобы построить пользовательский интерфейс для нашего интерфейсного приложения.

19
00:01:35,520 --> 00:01:40,970
Это понимание поможет вам увидеть, как

20
00:01:40,970 --> 00:01:43,820
наше приложение Node and Express

21
00:01:43,820 --> 00:01:48,585
поддерживает доставку данных, необходимых интерфейсу.

22
00:01:48,585 --> 00:01:51,800
Также, как REST API,

23
00:01:51,800 --> 00:01:55,310
который разработан в этом курсе, будет полезен для поддержки

24
00:01:55,310 --> 00:02:00,484
интерфейса всего нашего приложения.

25
00:02:00,484 --> 00:02:03,150
Теперь, прежде чем мы приступим к этой истории,

26
00:02:03,150 --> 00:02:09,860
я хотел бы подчеркнуть, что веб-разработка и дизайн можно рассматривать с двух точек зрения.

27
00:02:09,860 --> 00:02:13,340
Во-первых, конечно, аспект

28
00:02:13,340 --> 00:02:18,295
дизайна и разработки, где мы рассматриваем UI/UX дизайн,

29
00:02:18,295 --> 00:02:21,190
визуальный дизайн, прототипирование, цвета,

30
00:02:21,190 --> 00:02:23,510
анимацию и графику и так далее.

31
00:02:23,510 --> 00:02:26,385
Это выходит за рамки данного курса.

32
00:02:26,385 --> 00:02:34,525
В этом курсе мы рассматриваем развитие хардкорных навыков для реального проектирования,

33
00:02:34,525 --> 00:02:42,340
развертывания и разработки своих публикаций, включая серверное приложение.

34
00:02:42,340 --> 00:02:44,360
В этом курсе мы концентрируемся на

35
00:02:44,360 --> 00:02:49,310
разработке на стороне сервера с использованием NodeJS, Express и MongoDB.

36
00:02:49,310 --> 00:02:53,030
Это картина, которую мы видели по курсам

37
00:02:53,030 --> 00:02:55,370
этой специализации, где я

38
00:02:55,370 --> 00:02:58,690
разграничиваю разницу между фронт-эндом и бэкэндом.

39
00:02:58,690 --> 00:03:01,600
Таким образом, в этом курсе мы движемся к бэкэнд,

40
00:03:01,600 --> 00:03:09,745
бизнес-логике и уровню доступа к данным всей картины полного стека.

41
00:03:09,745 --> 00:03:15,040
Итак, поняв, на чем концентрируется этот курс,

42
00:03:15,040 --> 00:03:18,745
давайте посмотрим на фактическую структуру этого курса.

43
00:03:18,745 --> 00:03:25,925
Этот курс сам охватывает модули NodeJS и Node, как описано ранее.

44
00:03:25,925 --> 00:03:31,775
Мы также рассмотрим структуру Express для разработки серверных приложений,

45
00:03:31,775 --> 00:03:35,100
опять же на основе NodeJS.

46
00:03:35,100 --> 00:03:41,790
Мы рассмотрим MongoDB как постоянный слой во всем нашем полном стеке,

47
00:03:41,790 --> 00:03:48,375
и мы посмотрим, как MongoDB поддерживает хранение данных в виде документов.

48
00:03:48,375 --> 00:03:52,430
Мы также рассмотрим бэкэнд как сервис и рассмотрим

49
00:03:52,430 --> 00:03:56,490
несколько примеров предварительно упакованных бэкендов

50
00:03:56,490 --> 00:04:04,730
, которые позволят нам быстро настроить серверную часть для всей нашей истории стека.

51
00:04:04,730 --> 00:04:12,455
Сказав это, давайте вкратце рассмотрим структуру четырех модулей в этом курсе.

52
00:04:12,455 --> 00:04:17,560
Каждый модуль соответствует одной неделе работы по этому курсу.

53
00:04:17,560 --> 00:04:19,005
В первом модуле

54
00:04:19,005 --> 00:04:22,830
мы рассмотрим картину полного стека веб-разработки.

55
00:04:22,830 --> 00:04:25,435
Тогда, если вы не знаете Git,

56
00:04:25,435 --> 00:04:28,385
я дам вам краткое введение в Git.

57
00:04:28,385 --> 00:04:29,750
Если вы уже знаете Git,

58
00:04:29,750 --> 00:04:35,380
вы можете пропустить это, а затем перейти к введению в Node.js и NPM.

59
00:04:35,380 --> 00:04:38,900
Где мы рассмотрим цель Node.js и как

60
00:04:38,900 --> 00:04:43,460
эта среда выполнения помогает нам разрабатывать серверные приложения.

61
00:04:43,460 --> 00:04:48,525
Затем мы рассмотрим модули узлов и как они структурированы и как они полезны,

62
00:04:48,525 --> 00:04:50,680
различные виды модулей узлов.

63
00:04:50,680 --> 00:04:56,630
Затем это приведет нас к фактическому изучению узла и как мы можем

64
00:04:56,630 --> 00:05:03,270
эшаффолтировать очень простую серверную сторону, используя основной модуль HTTP узла.

65
00:05:03,270 --> 00:05:06,949
Затем мы перейдем к изучению экспресс

66
00:05:06,949 --> 00:05:12,775
фреймворка и научимся выстраивать серверное приложение.

67
00:05:12,775 --> 00:05:18,545
Тогда это приведет вас к самому первому заданию этого курса.

68
00:05:18,545 --> 00:05:22,340
Второй модуль в первую очередь концентрируется

69
00:05:22,340 --> 00:05:26,570
на стороне хранения данных истории, в частности MongoDB.

70
00:05:26,570 --> 00:05:30,800
Мы быстро посмотрим, как мы можем использовать экспресс-генератор, чтобы

71
00:05:30,800 --> 00:05:36,010
быстро выйти из сервера на основе REST API.

72
00:05:36,010 --> 00:05:38,670
Затем мы перейдем к изучению MongoDB,

73
00:05:38,670 --> 00:05:41,900
поймем, что такое MongoDB и как он поддерживает

74
00:05:41,900 --> 00:05:45,415
извлечение и манипулирование данными.

75
00:05:45,415 --> 00:05:51,780
Мы рассмотрим, как MongoDB можно получить доступ из нашего приложения узла.

76
00:05:51,780 --> 00:05:56,090
Это важно, потому что из нашего экспресс-приложения,

77
00:05:56,090 --> 00:06:02,165
мы будем получать доступ к MongoDB для того, чтобы хранить и извлекать данные.

78
00:06:02,165 --> 00:06:06,530
Затем мы рассмотрим модель объектных данных Mongoose,

79
00:06:06,530 --> 00:06:10,430
и понять, как Mongoose позволяет нам определить схему

80
00:06:10,430 --> 00:06:15,170
и модель для структурирования наших приложений.

81
00:06:15,170 --> 00:06:22,120
Затем мы посмотрим, как мы будем эшаффолд из полного REST API сервера с

82
00:06:22,120 --> 00:06:25,280
Express, а также возможность взаимодействовать с

83
00:06:25,280 --> 00:06:29,270
сервером MongoDB из нашего экспресс-приложения.

84
00:06:29,270 --> 00:06:33,735
Это должно привести вас ко второму заданию в этом курсе.

85
00:06:33,735 --> 00:06:38,555
Третий модуль концентрируется в основном на аутентификации пользователей.

86
00:06:38,555 --> 00:06:42,830
Как мы можем разрешить пользователям регистрироваться,

87
00:06:42,830 --> 00:06:46,850
аутентифицировать себя, а затем ограничить доступ к определенным операциям

88
00:06:46,850 --> 00:06:50,990
только зарегистрированным или аутентифицированным пользователям или посмотреть на

89
00:06:50,990 --> 00:06:54,950
разные категории пользователей, которые могут выполнять различные

90
00:06:54,950 --> 00:06:59,875
операции на стороне сервера через эту сторону клиента приложение.

91
00:06:59,875 --> 00:07:03,140
Мы рассмотрим обычную аутентификацию, которая

92
00:07:03,140 --> 00:07:06,910
является очень простым способом аутентификации вашей клиентской стороны.

93
00:07:06,910 --> 00:07:13,325
Мы перейдем к просмотру файлов cookie и того, как файлы cookie могут использоваться для аутентификации пользователей.

94
00:07:13,325 --> 00:07:19,690
Затем также посмотрите на экспресс-сеансы снова на основе подписанных файлов cookie.

95
00:07:19,690 --> 00:07:23,945
Мы также рассмотрим аутентификацию пользователя с помощью модуля паспорта.

96
00:07:23,945 --> 00:07:27,260
Паспортный модуль консолидирует и

97
00:07:27,260 --> 00:07:33,695
предоставляет комплексный способ предоставления различных способов аутентификации пользователей.

98
00:07:33,695 --> 00:07:41,125
В частности, мы сосредоточимся на местной аутентификации с использованием паспорта.

99
00:07:41,125 --> 00:07:48,260
Мы рассмотрим популяцию мангуста и как мы можем включить части

100
00:07:48,260 --> 00:07:52,400
одного документа в другой документ, а затем автоматически заполнить

101
00:07:52,400 --> 00:07:56,780
эту информацию в документ, прежде чем доставить его пользователю.

102
00:07:56,780 --> 00:08:02,515
Это позволит вам пройти весь путь до третьего задания в этом курсе.

103
00:08:02,515 --> 00:08:09,470
Окончательный модуль концентрируется на завершении понимания того, как

104
00:08:09,470 --> 00:08:16,240
мы разрабатываем серверное приложение, а также быстро просматриваем бэкэнд как сервис.

105
00:08:16,240 --> 00:08:22,925
Итак, в этом модуле мы рассмотрим безопасную связь с использованием HTTPS.

106
00:08:22,925 --> 00:08:26,600
Я кратко остановлюсь на криптографии и безопасности

107
00:08:26,600 --> 00:08:30,965
в контексте того, как полезно настроить HTTPS-сервер.

108
00:08:30,965 --> 00:08:36,220
Мы рассмотрим, как мы можем загружать файлы с помощью модуля Node.

109
00:08:36,220 --> 00:08:40,715
Мы также рассмотрим совместное использование ресурсов разных источников или расходы.

110
00:08:40,715 --> 00:08:44,370
Что это такое? Почему мы должны об этом знать?

111
00:08:44,370 --> 00:08:49,425
Как мы можем настроить наш экспресс-сервер для поддержки расходов?

112
00:08:49,425 --> 00:08:53,390
Затем мы рассмотрим

113
00:08:53,390 --> 00:08:59,240
проверку подлинности OAuth и третьей стороны, а также то, как мы можем использовать OAuth для аутентификации пользователей.

114
00:08:59,240 --> 00:09:05,440
В частности, мы рассмотрим пример использования Facebook для аутентификации наших пользователей.

115
00:09:05,440 --> 00:09:09,135
Наконец, обзор бэкэнд как сервис.

116
00:09:09,135 --> 00:09:13,705
Это должно привести вас к окончательному заданию в этом курсе.

117
00:09:13,705 --> 00:09:20,555
Я надеюсь, что у вас есть много удовольствия, проходя через различные модули в этом курсе и развивая

118
00:09:20,555 --> 00:09:28,735
сильное понимание разработки на стороне сервера с помощью Node, Express и MongoDB.

119
00:09:28,735 --> 00:09:31,415
Конечно, мы будем покрывать в

120
00:09:31,415 --> 00:09:35,875
разумной степени, чтобы мы могли быстро начать работу и работать,

121
00:09:35,875 --> 00:09:40,280
но есть больше проблем, которые вы можете изучить за пределами этого курса.

122
00:09:40,280 --> 00:09:45,785
Поэтому я настоятельно призываю вас продолжить изучение

123
00:09:45,785 --> 00:09:50,330
как серверной разработки, так и фронт-энд-разработки, которые вы

124
00:09:50,330 --> 00:09:54,960
видели на предыдущих курсах этой специализации.

125
00:09:54,960 --> 00:09:57,920
Желаю вам удачи в завершении этого курса,

126
00:09:57,920 --> 00:10:00,650
и я надеюсь, вам понравится ваше путешествие

127
00:10:00,650 --> 00:10:04,880
по различным темам, которые мы рассматриваем в этом курсе.