1
00:00:03,980 --> 00:00:11,490
Chào mừng bạn đến với sự phát triển phía máy chủ với NodeJS, Express và MongoDB.

2
00:00:11,490 --> 00:00:15,125
Đây là khóa học cuối cùng của chuyên môn hóa.

3
00:00:15,125 --> 00:00:19,680
Trong khóa học này, chúng tôi sẽ tập trung chủ yếu vào phía máy chủ.

4
00:00:19,680 --> 00:00:24,425
Chúng ta sẽ xem xét cách chúng ta sử dụng Node runtime để

5
00:00:24,425 --> 00:00:30,555
phát triển lớp logic kinh doanh phía máy chủ sử dụng JavaScript.

6
00:00:30,555 --> 00:00:34,515
Sau đó, chúng ta sẽ xem xét Express framework cho

7
00:00:34,515 --> 00:00:38,775
phép chúng tôi nhanh chóng phát triển một ứng dụng phía máy chủ.

8
00:00:38,775 --> 00:00:41,555
Chúng tôi cũng sẽ xem MongoDB như là

9
00:00:41,555 --> 00:00:48,400
một lưu trữ tài liệu cho dữ liệu liên tục của chúng tôi trong cơ sở dữ liệu.

10
00:00:48,400 --> 00:00:51,625
Trước khi bạn bắt tay vào khóa học này,

11
00:00:51,625 --> 00:00:57,490
hãy để tôi nhấn mạnh rằng bạn nên có một kiến thức rất tốt về JavaScript.

12
00:00:57,490 --> 00:01:03,005
Tôi hy vọng rằng bạn có đủ kiến thức về phiên bản ES 5 của

13
00:01:03,005 --> 00:01:09,770
JavaScript và ít nhất là quen thuộc với ES 2015 cộng với phiên bản JavaScript,

14
00:01:09,770 --> 00:01:13,090
cụ thể là việc sử dụng các chức năng mũi tên.

15
00:01:13,090 --> 00:01:20,170
Cũng tốt hơn, bạn nên đã hoàn thành mô-đun Angular/React của chuyên môn hóa này.

16
00:01:20,170 --> 00:01:26,265
Vì vậy, bạn sẽ có một sự hiểu biết về hình ảnh từ góc nhìn phía trước,

17
00:01:26,265 --> 00:01:30,530
bạn biết loại dữ liệu sẽ được yêu cầu ở phía trước

18
00:01:30,530 --> 00:01:35,520
để xây dựng giao diện người dùng cho ứng dụng front-end của chúng tôi.

19
00:01:35,520 --> 00:01:40,970
Sự hiểu biết này giúp bạn có thể xem

20
00:01:40,970 --> 00:01:43,820
ứng dụng Node và Express của chúng tôi

21
00:01:43,820 --> 00:01:48,585
hỗ trợ việc cung cấp dữ liệu theo yêu cầu của front-end như thế nào.

22
00:01:48,585 --> 00:01:51,800
Ngoài ra như thế nào REST API,

23
00:01:51,800 --> 00:01:55,310
được phát triển trong khóa học này sẽ hữu ích để hỗ trợ

24
00:01:55,310 --> 00:02:00,484
front-end của toàn bộ ứng dụng của chúng tôi.

25
00:02:00,484 --> 00:02:03,150
Bây giờ, trước khi chúng ta bắt tay vào câu chuyện này,

26
00:02:03,150 --> 00:02:09,860
tôi sẽ nhấn mạnh rằng sự phát triển và thiết kế Web có thể được xem xét từ hai quan điểm.

27
00:02:09,860 --> 00:02:13,340
Đầu tiên tất nhiên, các khía cạnh thiết kế

28
00:02:13,340 --> 00:02:18,295
của thiết kế và phát triển nơi chúng ta đang xem xét thiết kế UI/UX,

29
00:02:18,295 --> 00:02:21,190
thiết kế trực quan, tạo mẫu, màu sắc,

30
00:02:21,190 --> 00:02:23,510
hoạt hình và đồ họa và như vậy.

31
00:02:23,510 --> 00:02:26,385
Điều này vượt quá phạm vi của khóa học này.

32
00:02:26,385 --> 00:02:34,525
Trong khóa học này, chúng tôi đang tìm kiếm phát triển kỹ năng hardcore cho thiết kế thực tế, triển

33
00:02:34,525 --> 00:02:42,340
khai và phát triển các ấn phẩm của họ bao gồm ứng dụng phía máy chủ.

34
00:02:42,340 --> 00:02:44,360
Trong khóa học này, chúng tôi đang tập trung vào

35
00:02:44,360 --> 00:02:49,310
việc phát triển phía máy chủ sử dụng NodeJS, Express và MongoDB.

36
00:02:49,310 --> 00:02:53,030
Đây là một bức tranh mà chúng tôi đã nhìn thấy trong các khóa học của

37
00:02:53,030 --> 00:02:55,370
chuyên môn này, nơi tôi

38
00:02:55,370 --> 00:02:58,690
mô tả sự khác biệt giữa front-end và backend.

39
00:02:58,690 --> 00:03:01,600
Vì vậy, trong khóa học này chúng tôi đang di chuyển về phía phụ trợ,

40
00:03:01,600 --> 00:03:09,745
logic kinh doanh và lớp truy cập dữ liệu của toàn bộ bức tranh ngăn xếp này.

41
00:03:09,745 --> 00:03:15,040
Vì vậy, khi hiểu được khóa học này đang tập trung vào những gì,

42
00:03:15,040 --> 00:03:18,745
chúng ta hãy nhìn vào cấu trúc thực tế của khóa học này.

43
00:03:18,745 --> 00:03:25,925
Khóa học này bao gồm các module NodeJS và Node như đã giải thích trước đó.

44
00:03:25,925 --> 00:03:31,775
Chúng ta cũng sẽ xem xét khuôn khổ Express để phát triển các ứng dụng phía máy chủ,

45
00:03:31,775 --> 00:03:35,100
một lần nữa dựa trên NodeJS.

46
00:03:35,100 --> 00:03:41,790
Chúng ta sẽ xem MongoDB như là lớp liên tục trong toàn bộ ngăn xếp đầy đủ của chúng tôi,

47
00:03:41,790 --> 00:03:48,375
và chúng ta sẽ xem xét cách MongoDB hỗ trợ việc lưu trữ dữ liệu dưới dạng tài liệu.

48
00:03:48,375 --> 00:03:52,430
Chúng tôi cũng sẽ xem xét phụ trợ như một dịch vụ và xem xét

49
00:03:52,430 --> 00:03:56,490
một vài ví dụ về các phụ trợ được đóng gói sẵn

50
00:03:56,490 --> 00:04:04,730
sẽ cho phép chúng tôi nhanh chóng thiết lập phía máy chủ cho toàn bộ câu chuyện chồng đầy đủ của chúng tôi.

51
00:04:04,730 --> 00:04:12,455
Có nói rằng, chúng ta hãy xem xét một cách ngắn gọn về cấu trúc của bốn mô-đun trong khóa học này.

52
00:04:12,455 --> 00:04:17,560
Mỗi mô-đun tương ứng với một tuần làm việc cho khóa học này.

53
00:04:17,560 --> 00:04:19,005
Trong mô-đun đầu tiên,

54
00:04:19,005 --> 00:04:22,830
chúng ta sẽ xem xét hình ảnh lớn của phát triển web stack đầy đủ.

55
00:04:22,830 --> 00:04:25,435
Sau đó, trong trường hợp bạn không biết Git,

56
00:04:25,435 --> 00:04:28,385
tôi sẽ cung cấp cho bạn một giới thiệu nhanh về Git.

57
00:04:28,385 --> 00:04:29,750
Nếu bạn đã biết Git,

58
00:04:29,750 --> 00:04:35,380
bạn có thể bỏ qua điều này và sau đó tiếp tục giới thiệu Node.js và NPM.

59
00:04:35,380 --> 00:04:38,900
Nơi chúng ta sẽ xem xét mục đích của Node.js và làm thế nào

60
00:04:38,900 --> 00:04:43,460
thời gian chạy này giúp chúng ta phát triển các ứng dụng phía máy chủ.

61
00:04:43,460 --> 00:04:48,525
Sau đó, chúng ta sẽ xem xét các mô-đun nút và làm thế nào chúng được cấu trúc và làm thế nào chúng hữu ích,

62
00:04:48,525 --> 00:04:50,680
các loại mô-đun nút khác nhau.

63
00:04:50,680 --> 00:04:56,630
Sau đó, điều này sẽ đưa chúng ta vào để thực sự kiểm tra nút và làm thế nào chúng ta có thể giàn giáo ra

64
00:04:56,630 --> 00:05:03,270
một phía máy chủ rất đơn giản bằng cách sử dụng mô-đun lõi HTTP của nút.

65
00:05:03,270 --> 00:05:06,949
Sau đó, chúng ta sẽ tiếp tục kiểm tra khuôn khổ thể hiện

66
00:05:06,949 --> 00:05:12,775
và tìm hiểu làm thế nào để giàn giáo ra một ứng dụng phía máy chủ.

67
00:05:12,775 --> 00:05:18,545
Sau đó, điều này sẽ đưa bạn đến nhiệm vụ đầu tiên của khóa học này.

68
00:05:18,545 --> 00:05:22,340
Mô-đun thứ hai chủ yếu tập trung vào

69
00:05:22,340 --> 00:05:26,570
mặt lưu trữ dữ liệu của câu chuyện, đặc biệt là MongoDB.

70
00:05:26,570 --> 00:05:30,800
Chúng ta sẽ nhanh chóng xem xét cách chúng ta có thể sử dụng máy phát nhanh để

71
00:05:30,800 --> 00:05:36,010
nhanh chóng giàn giáo ra một máy chủ dựa trên REST API.

72
00:05:36,010 --> 00:05:38,670
Sau đó, chúng ta sẽ tiếp tục kiểm tra MongoDB,

73
00:05:38,670 --> 00:05:41,900
hiểu MongoDB là gì và làm thế nào nó hỗ trợ

74
00:05:41,900 --> 00:05:45,415
truy xuất lưu trữ và thao tác dữ liệu.

75
00:05:45,415 --> 00:05:51,780
Chúng ta sẽ xem xét cách MongoDB có thể được truy cập từ ứng dụng nút của chúng tôi.

76
00:05:51,780 --> 00:05:56,090
Điều này là cần thiết bởi vì từ trong ứng dụng thể hiện của

77
00:05:56,090 --> 00:06:02,165
chúng tôi, chúng tôi sẽ truy cập vào MongoDB để lưu trữ và truy xuất dữ liệu.

78
00:06:02,165 --> 00:06:06,530
Sau đó, chúng ta sẽ xem xét mô hình dữ liệu đối tượng Mongoose,

79
00:06:06,530 --> 00:06:10,430
và hiểu làm thế nào Mongoose cho phép chúng ta định nghĩa lược đồ

80
00:06:10,430 --> 00:06:15,170
và mô hình để cấu trúc các ứng dụng của chúng ta.

81
00:06:15,170 --> 00:06:22,120
Sau đó, chúng ta sẽ xem xét làm thế nào chúng ta sẽ giàn giáo ra một máy chủ REST API hoàn chỉnh với

82
00:06:22,120 --> 00:06:25,280
Express và cũng có thể tương tác với

83
00:06:25,280 --> 00:06:29,270
máy chủ MongoDB từ ứng dụng express của chúng tôi.

84
00:06:29,270 --> 00:06:33,735
Điều này sẽ đưa bạn đến tất cả các bài tập thứ hai trong khóa học này.

85
00:06:33,735 --> 00:06:38,555
Mô-đun thứ ba tập trung chủ yếu vào xác thực người dùng.

86
00:06:38,555 --> 00:06:42,830
Làm thế nào chúng tôi có thể cho phép người dùng đăng ký bản thân,

87
00:06:42,830 --> 00:06:46,850
xác thực bản thân và sau đó hạn chế quyền truy cập vào các hoạt động nhất định để

88
00:06:46,850 --> 00:06:50,990
chỉ người dùng đã đăng ký hoặc xác thực hoặc xem

89
00:06:50,990 --> 00:06:54,950
các loại người dùng khác nhau có thể thực hiện các loại

90
00:06:54,950 --> 00:06:59,875
hoạt động khác nhau ở phía máy chủ thông qua phía máy khách đó ứng dụng.

91
00:06:59,875 --> 00:07:03,140
Chúng tôi sẽ xem xét xác thực cơ bản là

92
00:07:03,140 --> 00:07:06,910
một cách rất đơn giản để xác thực phía khách hàng của bạn.

93
00:07:06,910 --> 00:07:13,325
Chúng tôi sẽ tiếp tục xem xét cookie và cách cookie có thể được sử dụng để xác thực người dùng.

94
00:07:13,325 --> 00:07:19,690
Sau đó, cũng xem lại phiên Express dựa trên cookie đã ký.

95
00:07:19,690 --> 00:07:23,945
Chúng tôi cũng sẽ xem xét xác thực người dùng với mô-đun hộ chiếu.

96
00:07:23,945 --> 00:07:27,260
Mô-đun hộ chiếu củng cố và cung cấp

97
00:07:27,260 --> 00:07:33,695
một cách toàn diện để cung cấp nhiều cách khác nhau để thực hiện xác thực người dùng.

98
00:07:33,695 --> 00:07:41,125
Đặc biệt, chúng tôi sẽ tập trung vào việc xác thực địa phương sử dụng hộ chiếu trước.

99
00:07:41,125 --> 00:07:48,260
Chúng ta sẽ xem xét dân số mongoose và làm thế nào chúng ta có thể bao gồm các phần của

100
00:07:48,260 --> 00:07:52,400
một tài liệu vào một tài liệu khác và sau đó tự động điền

101
00:07:52,400 --> 00:07:56,780
thông tin này vào một tài liệu trước khi gửi nó cho người dùng.

102
00:07:56,780 --> 00:08:02,515
Điều này sẽ đưa bạn lên đến nhiệm vụ thứ ba trong khóa học này.

103
00:08:02,515 --> 00:08:09,470
Mô-đun cuối cùng tập trung vào việc hoàn thành với sự hiểu biết về cách

104
00:08:09,470 --> 00:08:16,240
chúng tôi phát triển một ứng dụng phía máy chủ và cũng nhanh chóng xem xét phụ trợ như một dịch vụ.

105
00:08:16,240 --> 00:08:22,925
Vì vậy, trong mô-đun này, chúng ta sẽ xem xét giao tiếp an toàn bằng HTTPS.

106
00:08:22,925 --> 00:08:26,600
Tôi sẽ xem xét ngắn gọn về mật mã và bảo mật

107
00:08:26,600 --> 00:08:30,965
trong bối cảnh của việc thiết lập một máy chủ HTTPS hữu ích như thế nào.

108
00:08:30,965 --> 00:08:36,220
Chúng ta sẽ xem xét cách chúng ta có thể tải lên các tập tin bằng cách sử dụng một mô-đun Node.

109
00:08:36,220 --> 00:08:40,715
Chúng ta cũng sẽ xem xét việc chia sẻ hoặc chi phí tài nguyên xuyên nguồn gốc.

110
00:08:40,715 --> 00:08:44,370
Nó là gì vậy? Tại sao chúng ta nên nhận thức được điều đó?

111
00:08:44,370 --> 00:08:49,425
Làm thế nào chúng tôi có thể thiết lập máy chủ nhanh của chúng tôi để hỗ trợ chi phí?

112
00:08:49,425 --> 00:08:53,390
Sau đó, chúng ta sẽ xem xét

113
00:08:53,390 --> 00:08:59,240
xác thực OAuth và bên thứ ba và cách chúng ta có thể sử dụng OAuth để thực hiện xác thực người dùng.

114
00:08:59,240 --> 00:09:05,440
Đặc biệt, chúng tôi sẽ xem xét một ví dụ về việc sử dụng Facebook để xác thực người dùng của chúng tôi.

115
00:09:05,440 --> 00:09:09,135
Cuối cùng, xem xét phụ trợ như một dịch vụ.

116
00:09:09,135 --> 00:09:13,705
Điều đó sẽ đưa bạn đến tất cả các nhiệm vụ cuối cùng trong khóa học này.

117
00:09:13,705 --> 00:09:20,555
Tôi hy vọng bạn có rất nhiều niềm vui khi trải qua các module khác nhau trong khóa học này và phát triển

118
00:09:20,555 --> 00:09:28,735
một sự hiểu biết mạnh mẽ về phát triển phía máy chủ sử dụng Node, Express và MongoDB.

119
00:09:28,735 --> 00:09:31,415
Tất nhiên, chúng tôi sẽ đề cập đến

120
00:09:31,415 --> 00:09:35,875
một mức độ hợp lý để chúng tôi có thể nhanh chóng bắt đầu và chạy,

121
00:09:35,875 --> 00:09:40,280
nhưng có nhiều vấn đề mà bạn có thể học ngoài khóa học này.

122
00:09:40,280 --> 00:09:45,785
Vì vậy, tôi rất khuyến khích bạn tiếp tục tìm hiểu thêm về

123
00:09:45,785 --> 00:09:50,330
cả sự phát triển phía máy chủ cũng như sự phát triển phía trước mà bạn đã

124
00:09:50,330 --> 00:09:54,960
thấy trong các khóa học trước đó của chuyên môn hóa này.

125
00:09:54,960 --> 00:09:57,920
Chúc các bạn may mắn khi hoàn thành khóa học này,

126
00:09:57,920 --> 00:10:00,650
và tôi hy vọng các bạn sẽ tận hưởng cuộc hành trình của mình qua

127
00:10:00,650 --> 00:10:04,880
các chủ đề khác nhau mà chúng tôi đề cập trong khóa học này.