﻿1
00:00:01,450 --> 00:00:05,930
‫Video ini adalah salah satu video yang sangat menarik,

2
00:00:05,930 --> 00:00:08,970
‫karena sekarang kami akan membuat server

3
00:00:08,970 --> 00:00:13,750
‫web nyata pertama kami yang mampu menerima permintaan dan

4
00:00:13,750 --> 00:00:15,973
‫mengirim kembali tanggapan.

5
00:00:17,930 --> 00:00:22,930
‫Dan langkah pertama adalah memasukkan paket lain atau modul

6
00:00:22,950 --> 00:00:24,223
‫lain, dan

7
00:00:27,470 --> 00:00:29,533
‫yang ini disebut http.

8
00:00:33,530 --> 00:00:36,280
‫Jadi kita menggunakan fungsi

9
00:00:36,280 --> 00:00:41,280
‫require lagi, dan kemudian membutuhkan modul http bawaan,

10
00:00:41,380 --> 00:00:45,260
‫dan itulah yang memberi kita kemampuan

11
00:00:45,260 --> 00:00:48,423
‫jaringan seperti membangun server http.

12
00:00:50,264 --> 00:00:52,980
‫Sekarang, mari kita benar-benar mengomentari kode

13
00:00:52,980 --> 00:00:55,863
‫ini di sini sehingga tidak menghalangi kita.

14
00:00:59,980 --> 00:01:04,133
‫Jadi mari kita membuat semacam pembagi di sini.

15
00:01:07,520 --> 00:01:09,723
‫Jadi yang

16
00:01:12,730 --> 00:01:17,730
‫ini diajukan, dan yang ini untuk server.

17
00:01:18,030 --> 00:01:20,930
‫Dan sekarang, untuk membangun server kita, kita

18
00:01:20,930 --> 00:01:22,900
‫harus melakukan dua hal.

19
00:01:22,900 --> 00:01:24,980
‫Pertama, kami membuat server,

20
00:01:24,980 --> 00:01:27,820
‫dan kemudian kedua, kami memulai server

21
00:01:27,820 --> 00:01:31,033
‫sehingga kami benar-benar dapat mendengarkan permintaan yang masuk.

22
00:01:32,840 --> 00:01:37,680
‫Kami menggunakan modul http kami dan sama seperti sebelumnya kami menggunakan

23
00:01:37,680 --> 00:01:40,760
‫metode yang ada di objek itu.

24
00:01:40,760 --> 00:01:43,283
‫Jadi seperti yang kita lakukan dengan modul fs.

25
00:01:44,120 --> 00:01:46,530
‫Jadi, http. createServer dan

26
00:01:50,440 --> 00:01:54,000
‫create server akan menerima fungsi panggilan balik, yang

27
00:01:54,000 --> 00:01:56,130
‫akan diaktifkan setiap kali

28
00:01:56,130 --> 00:01:58,870
‫permintaan baru mengenai server kami.

29
00:01:58,870 --> 00:02:01,240
‫Dan fungsi panggilan balik ini

30
00:02:01,240 --> 00:02:05,080
‫mendapatkan akses ke dua variabel yang sangat penting dan mendasar.

31
00:02:05,080 --> 00:02:08,763
‫Ini adalah variabel permintaan, dan variabel respons.

32
00:02:09,850 --> 00:02:12,373
‫Dan sedikit lebih banyak tentang mereka dalam sedetik.

33
00:02:13,670 --> 00:02:15,293
‫Jadi, permintaan, dan

34
00:02:18,510 --> 00:02:20,630
‫tanggapan, Jadi yang ingin

35
00:02:20,630 --> 00:02:23,890
‫kami lakukan sekarang adalah mengirim kembali tanggapan ke

36
00:02:23,890 --> 00:02:26,420
‫klien dan kami melakukannya dengan res. yang merupakan objek ini di sini, objek respons ini, . akhir, dan kemudian 'Halo

37
00:02:26,420 --> 00:02:30,763
‫dari server! '. akhir, dan kemudian 'Halo dari server! '.

38
00:02:32,690 --> 00:02:33,547
‫Jadi itulah respon yang akan kita kirimkan kembali.

39
00:02:33,547 --> 00:02:36,850
‫Jadi sekali lagi,

40
00:02:37,780 --> 00:02:42,740
‫setiap kali permintaan baru mengenai server kami, fungsi panggilan balik ini di sini

41
00:02:42,740 --> 00:02:46,720
‫akan dipanggil, dan fungsi panggilan balik akan memiliki akses ke

42
00:02:46,720 --> 00:02:49,910
‫objek permintaan yang menampung semua jenis hal seperti

43
00:02:49,910 --> 00:02:51,998
‫url permintaan, dan banyak hal lainnya.

44
00:02:51,998 --> 00:02:55,780
‫Di sisi lain, objek respons di

45
00:02:55,780 --> 00:03:00,680
‫sini memberi kita banyak alat pada dasarnya untuk

46
00:03:00,680 --> 00:03:03,340
‫menangani respons, jadi untuk

47
00:03:03,340 --> 00:03:05,880
‫mengirimkan respons.

48
00:03:05,880 --> 00:03:07,820
‫Yang paling sederhana adalah. akhir, dan ini berakhir di

49
00:03:07,820 --> 00:03:10,860
‫sini, penamaan metode ini akan sedikit lebih

50
00:03:10,860 --> 00:03:14,200
‫masuk akal nanti.

51
00:03:14,200 --> 00:03:18,200
‫Untuk saat ini, ketahuilah bahwa ini adalah cara paling sederhana untuk mengirim kembali

52
00:03:18,200 --> 00:03:21,060
‫respons yang sangat, sangat sederhana dalam kasus ini.

53
00:03:21,060 --> 00:03:24,270
‫Jadi hanya itu yang harus kami

54
00:03:24,270 --> 00:03:28,493
‫lakukan untuk mengirim kembali respons teks biasa ketika

55
00:03:29,630 --> 00:03:31,840
‫permintaan tertentu masuk.

56
00:03:31,840 --> 00:03:34,810
‫Sekarang, jika Anda agak bingung tentang semua istilah

57
00:03:34,810 --> 00:03:36,863
‫ini, seperti permintaan masuk,

58
00:03:37,730 --> 00:03:41,060
‫atau mengirim tanggapan, atau bahkan tentang mengapa kami benar-benar

59
00:03:41,060 --> 00:03:44,950
‫memiliki permintaan dan tanggapan di sini di server kami, maka jangan

60
00:03:44,950 --> 00:03:48,220
‫khawatir, karena kami memiliki seluruh kuliah yang akan datang.

61
00:03:48,220 --> 00:03:51,450
‫up tentang bagaimana web bekerja di mana kita akan

62
00:03:51,450 --> 00:03:54,000
‫berbicara semua tentang model client-server, dan

63
00:03:54,000 --> 00:03:56,660
‫benar-benar bagaimana aplikasi jaringan bekerja secara umum.

64
00:03:56,660 --> 00:04:00,430
‫Sekali lagi, di bagian ini fokus utama

65
00:04:00,430 --> 00:04:04,260
‫saya adalah menunjukkan kepada Anda semua hal dan

66
00:04:04,260 --> 00:04:06,880
‫benar-benar membuatnya bekerja, dan kemudian

67
00:04:06,880 --> 00:04:09,330
‫teorinya akan menyusul nanti.

68
00:04:09,330 --> 00:04:11,260
‫Jadi itulah filosofi yang saya gunakan

69
00:04:11,260 --> 00:04:13,793
‫di semua kursus saya yang lain, dan itu

70
00:04:14,950 --> 00:04:16,610
‫bekerja dengan sangat baik, jadi

71
00:04:16,610 --> 00:04:20,450
‫saya percaya itu adalah hal yang baik untuk melakukannya di sini juga.

72
00:04:20,450 --> 00:04:22,410
‫Bagaimanapun, membuat server adalah

73
00:04:22,410 --> 00:04:24,390
‫bagian pertama, dan sekarang bagian

74
00:04:24,390 --> 00:04:28,100
‫kedua adalah benar-benar mendengarkan permintaan yang masuk dari klien.

75
00:04:28,100 --> 00:04:30,800
‫Sekarang, untuk melakukan itu kita sebenarnya perlu

76
00:04:30,800 --> 00:04:33,633
‫menyimpan hasil createServer ini di sini ke variabel baru.

77
00:04:34,880 --> 00:04:39,690
‫Jadi, kita biasa menyebutnya server, jadi server adalah

78
00:04:39,690 --> 00:04:44,203
‫hasil dari metode createServer ini di sini.

79
00:04:45,620 --> 00:04:47,803
‫Jadi itu akan membuat server,

80
00:04:49,840 --> 00:04:54,840
‫dan sekarang kita menggunakan server itu dan di sana kita dapat memanggil mendengarkan.

81
00:04:55,720 --> 00:04:59,580
‫Listen menerima beberapa parameter yang pertama adalah

82
00:05:00,730 --> 00:05:03,620
‫port, dan biasanya port

83
00:05:03,620 --> 00:05:07,250
‫yang kita gunakan di Note misalnya 8000.

84
00:05:07,250 --> 00:05:10,060
‫Tetapi Anda akan melihat angka lain

85
00:05:10,060 --> 00:05:13,660
‫seperti 3000, atau 80, atau sesuatu seperti itu.

86
00:05:13,660 --> 00:05:16,270
‫Dan jika Anda bertanya-tanya apa port

87
00:05:16,270 --> 00:05:19,850
‫sebenarnya, itu tidak terlalu penting, tetapi yang perlu Anda

88
00:05:19,850 --> 00:05:22,890
‫ketahui adalah pada dasarnya itu adalah sub-alamat pada

89
00:05:22,890 --> 00:05:24,870
‫host tertentu, dan host

90
00:05:24,870 --> 00:05:27,250
‫adalah apa yang kita tentukan selanjutnya.

91
00:05:27,250 --> 00:05:30,540
‫Kami sebenarnya tidak perlu menentukannya dan kemudian kami

92
00:05:30,540 --> 00:05:33,453
‫akan default ke host lokal, tetapi kami

93
00:05:34,400 --> 00:05:36,410
‫sebenarnya dapat menentukannya

94
00:05:36,410 --> 00:05:39,000
‫juga ke host lokal secara eksplisit.

95
00:05:39,000 --> 00:05:42,140
‫Jadi, host lokal biasanya memiliki alamat ini sebagai default,

96
00:05:42,140 --> 00:05:44,680
‫dan host lokal berarti komputer saat ini.

97
00:05:44,680 --> 00:05:49,680
‫Jadi komputer tempat program sedang berjalan.

98
00:05:50,190 --> 00:05:53,390
‫Dan sekali lagi, ini

99
00:05:53,390 --> 00:05:57,920
‫adalah alamat IP standar untuk host lokal tersebut.

100
00:05:57,920 --> 00:06:00,680
‫Jadi yang ini di sini akan mulai mendengarkan permintaan yang masuk.

101
00:06:00,680 --> 00:06:02,133
‫Jadi pada dasarnya memulai server.

102
00:06:03,420 --> 00:06:07,830
‫Dan sebagai argumen opsional, kami juga dapat meneruskan

103
00:06:07,830 --> 00:06:10,233
‫fungsi panggilan balik,

104
00:06:11,095 --> 00:06:13,550
‫yang akan dijalankan segera

105
00:06:13,550 --> 00:06:16,360
‫setelah server benar-benar mulai mendengarkan.

106
00:06:16,360 --> 00:06:19,110
‫Jadi di sini, cukup biasa untuk menampilkan pesan

107
00:06:19,110 --> 00:06:20,893
‫bahwa server telah dimulai.

108
00:06:22,060 --> 00:06:27,060
‫Jadi katakanlah mendengarkan permintaan pada port 8000.

109
00:06:27,470 --> 00:06:30,350
‫Dan sekarang yang harus kita lakukan adalah benar-benar

110
00:06:30,350 --> 00:06:33,947
‫pergi ke url ini di komputer kita pada port 8000.

111
00:06:40,037 --> 00:06:42,830
‫Nah sebelum kita bisa melakukan

112
00:06:42,830 --> 00:06:47,320
‫itu tentunya kita harus menjalankan aplikasi Note, jadi

113
00:06:47,320 --> 00:06:48,860
‫note index. js, dan di sini kita memiliki kunci kita.

114
00:06:48,860 --> 00:06:51,930
‫Jadi mendengarkan permintaan pada port 8000.

115
00:06:51,930 --> 00:06:56,560
‫Dan Anda melihat

116
00:06:56,560 --> 00:06:59,803
‫bahwa aplikasi terus berjalan, jadi sebelum

117
00:07:00,680 --> 00:07:03,590
‫aplikasi selalu langsung berhenti, aplikasi melakukan

118
00:07:03,590 --> 00:07:06,090
‫tugasnya, lalu keluar dari aplikasi.

119
00:07:06,090 --> 00:07:08,270
‫Saat ini tidak melakukan itu.

120
00:07:08,270 --> 00:07:10,500
‫Itu karena sesuatu yang disebut

121
00:07:10,500 --> 00:07:12,890
‫loop peristiwa yang akan kita bicarakan

122
00:07:12,890 --> 00:07:15,770
‫nanti di bagian lain dari kursus ini.

123
00:07:15,770 --> 00:07:17,920
‫Namun, apa pun alasan teknisnya,

124
00:07:17,920 --> 00:07:20,270
‫jelas bahwa aplikasi tidak dapat langsung

125
00:07:20,270 --> 00:07:23,740
‫keluar, karena kami tidak dapat menerima permintaan baru apa pun.

126
00:07:23,740 --> 00:07:27,600
‫Jadi ketika kita memulai server, Note tidak bisa

127
00:07:27,600 --> 00:07:31,513
‫begitu saja keluar dari proses jadi keluar dari

128
00:07:32,550 --> 00:07:34,290
‫program, karena

129
00:07:34,290 --> 00:07:37,410
‫tujuan keseluruhannya adalah menunggu permintaan masuk.

130
00:07:37,410 --> 00:07:40,790
‫Jadi inilah yang akan saya tunjukkan selanjutnya.

131
00:07:40,790 --> 00:07:43,523
‫Untuk saat ini, mari kita buka saja alamat IP pada port 8000.

132
00:07:46,050 --> 00:07:48,650
‫Dan untuk itu kami menggunakan titik dua, dan kemudian nomor port.

133
00:07:48,650 --> 00:07:53,650
‫Jadi, ini adalah host, yang merupakan host lokal,

134
00:07:55,450 --> 00:07:59,850
‫titik dua, dan kemudian nomor port.

135
00:07:59,850 --> 00:08:02,860
‫Tekan enter, dan ini dia.

136
00:08:02,860 --> 00:08:05,083
‫Jadi, halo dari server!

137
00:08:06,090 --> 00:08:08,340
‫Dan ya, itu benar-benar berfungsi.

138
00:08:08,340 --> 00:08:11,320
‫Anda memiliki server web nyata yang berjalan di

139
00:08:11,320 --> 00:08:13,370
‫komputer Anda menggunakan NoteJS, selamat.

140
00:08:13,370 --> 00:08:17,350
‫Jadi mari kita kembali ke sini dan, sekali lagi menganalisis apa yang terjadi di sini.

141
00:08:17,350 --> 00:08:20,880
‫Kami membuat server kami, menggunakan createServer

142
00:08:20,880 --> 00:08:25,880
‫dan meneruskan fungsi panggilan balik yang dijalankan setiap kali

143
00:08:27,220 --> 00:08:30,980
‫permintaan baru mengenai server, dan kemudian kami

144
00:08:30,980 --> 00:08:33,260
‫mulai mendengarkan permintaan

145
00:08:33,260 --> 00:08:36,620
‫masuk pada IP host lokal,

146
00:08:36,620 --> 00:08:39,820
‫dan kemudian pada port 8000.

147
00:08:39,820 --> 00:08:43,577
‫Setelah kami menjalankan semua ini, kami benar-benar melakukan permintaan

148
00:08:43,577 --> 00:08:45,440
‫dengan menekan url itu.

149
00:08:46,700 --> 00:08:50,840
‫Jadi pada dasarnya dengan menekan Host lokal pada port 8000.

150
00:08:50,840 --> 00:08:52,840
‫Jadi, di bawah

151
00:08:52,840 --> 00:08:56,620
‫kap NoteJS, sebuah peristiwa dipicu yang

152
00:08:56,620 --> 00:09:01,460
‫merupakan sesuatu yang, sekali lagi, akan kita bicarakan nanti.

153
00:09:01,460 --> 00:09:03,230
‫Tetapi yang penting di sini adalah bahwa

154
00:09:03,230 --> 00:09:05,260
‫acara ini kemudian membuatnya sehingga fungsi panggilan balik ini dipanggil.

155
00:09:05,260 --> 00:09:08,320
‫Dan akhirnya sebagai hasil

156
00:09:08,320 --> 00:09:12,633
‫dari itu, kami kemudian mendapatkan kembali string ini.

157
00:09:14,060 --> 00:09:17,070
‫Hanya untuk penasaran, mari kita

158
00:09:17,070 --> 00:09:19,463
‫lihat objek permintaannya.

159
00:09:22,590 --> 00:09:26,030
‫Kami perlu menutup server dan memulainya

160
00:09:26,030 --> 00:09:29,633
‫lagi karena kami melakukan beberapa perubahan pada kode.

161
00:09:32,760 --> 00:09:37,340
‫Dan perhatikan bagaimana kali ini saya benar-benar menggunakan kontrol C

162
00:09:37,340 --> 00:09:39,340
‫untuk keluar dari aplikasi.

163
00:09:40,550 --> 00:09:44,530
‫Jadi ingatlah bahwa pada awalnya ketika kita menggunakan

164
00:09:44,530 --> 00:09:47,090
‫riak, saya menggunakan kontrol D

165
00:09:47,090 --> 00:09:49,430
‫untuk keluar darinya.

166
00:09:49,430 --> 00:09:51,100
‫Tapi sekarang ketika kita

167
00:09:51,100 --> 00:09:54,033
‫menjalankan program Note seperti ini Kita perlu menggunakan

168
00:09:55,270 --> 00:09:58,700
‫kontrol C pada dasarnya untuk keluar dari program itu.

169
00:09:58,700 --> 00:10:02,060
‫Itu sebabnya di sini saya menggunakan kontrol C dan

170
00:10:02,060 --> 00:10:03,253
‫sepanjang sisa

171
00:10:05,420 --> 00:10:08,200
‫kursus ketika saya ingin menyelesaikan program saya

172
00:10:08,200 --> 00:10:10,102
‫akan selalu menggunakan kontrol C.

173
00:10:10,102 --> 00:10:12,300
‫Jadi, itu kontrol dan bukan perintah C, lagi.

174
00:10:12,300 --> 00:10:15,090
‫Bahkan di Mac Anda perlu menggunakan kontrol C.

175
00:10:15,090 --> 00:10:18,500
‫Mari kita lakukan ini lagi, kita mendapatkan respons yang sama,

176
00:10:18,500 --> 00:10:21,373
‫tetapi sekarang kita harus memiliki sesuatu di konsol.

177
00:10:23,810 --> 00:10:27,920
‫Jadi ini adalah objek permintaan, dan seperti yang saya

178
00:10:27,920 --> 00:10:30,990
‫sebutkan, ada banyak hal di sini.

179
00:10:30,990 --> 00:10:35,060
‫Anda melihatnya?

180
00:10:35,060 --> 00:10:38,580
‫Semua ini, bahkan tidak muat di konsol.

181
00:10:38,580 --> 00:10:39,910
‫Saya pikir

182
00:10:39,910 --> 00:10:44,910
‫saya bahkan tidak bisa menunjukkan semua data keren yang ada di sana.

183
00:10:47,366 --> 00:10:49,610
‫Sebenarnya di sini kami memiliki beberapa header, jadi kami memiliki host

184
00:10:51,865 --> 00:10:53,633
‫dan di sini kami memiliki beberapa ...

185
00:10:56,670 --> 00:10:59,590
‫Sekali lagi, jadi kami

186
00:10:59,590 --> 00:11:04,590
‫memiliki beberapa header http, yang menurut saya akan

187
00:11:04,680 --> 00:11:07,900
‫kita bicarakan di video berikutnya.

188
00:11:07,900 --> 00:11:09,870
‫Bagaimanapun, yang penting di sini adalah

189
00:11:09,870 --> 00:11:11,763
‫kita benar-benar mendapatkan akses ke

190
00:11:13,970 --> 00:11:17,430
‫semua jenis barang ketika kita menangani permintaan dan mengirimkan tanggapan.

191
00:11:17,430 --> 00:11:20,800
‫Tidak masalah di sini, mari kita

192
00:11:20,800 --> 00:11:25,033
‫singkirkan ini, simpan, lalu hentikan ini, dan mulai lagi.

193
00:11:26,470 --> 00:11:29,193
‫Dan sekarang untuk menyelesaikan video ini,

194
00:11:30,670 --> 00:11:35,320
‫saya ingin menunjukkan kepada Anda apa yang sebenarnya akan kita

195
00:11:35,320 --> 00:11:37,890
‫bangun dalam beberapa kuliah

196
00:11:37,890 --> 00:11:40,470
‫berikutnya sampai akhir bagian ini.

197
00:11:40,470 --> 00:11:42,280
‫Jadi ini adalah aplikasi kecil yang menyenangkan yang disebut node farm.

198
00:11:43,150 --> 00:11:45,870
‫Kami memiliki beberapa produk di sini,

199
00:11:45,870 --> 00:11:50,870
‫dan kami membuat semua ini di sini menggunakan template html yang sangat

200
00:11:52,592 --> 00:11:56,240
‫sederhana, dan Anda kemudian dapat mengklik tautan dan

201
00:11:56,240 --> 00:11:57,940
‫pada dasarnya akan

202
00:11:57,940 --> 00:12:00,747
‫membawa Anda ke halaman detail untuk produk

203
00:12:00,747 --> 00:12:03,310
‫ini, dalam hal ini alpukat.

204
00:12:03,310 --> 00:12:06,670
‫Ini memiliki banyak data di sini, sebuah

205
00:12:06,670 --> 00:12:10,500
‫tombol yang tidak melakukan apa-apa, dan kemudian kita

206
00:12:10,500 --> 00:12:13,030
‫dapat kembali ke halaman tersebut.

207
00:12:13,030 --> 00:12:15,860
‫Jadi, alpukat, lalu kita punya keju

208
00:12:15,860 --> 00:12:18,023
‫misalnya, dan tentu saja

209
00:12:18,870 --> 00:12:22,180
‫ada data yang berbeda untuk masing-masing produk ini.

210
00:12:22,180 --> 00:12:24,550
‫Jadi ini memiliki desain

211
00:12:24,550 --> 00:12:28,273
‫segar yang bagus dan gila untuk membuatnya sedikit

212
00:12:28,273 --> 00:12:33,273
‫menonjol, dan ya, saya pikir ini adalah proyek kecil yang menyenangkan.

213
00:12:33,540 --> 00:12:36,900
‫Dan kita akan mulai membangunnya,

214
00:12:36,900 --> 00:12:40,100
‫tepat di video berikutnya.

