﻿1
00:00:01,110 --> 00:00:02,860
‫-: Dalam video ini,

2
00:00:02,860 --> 00:00:05,780
‫kita akan melakukan satu konfigurasi khusus Heroku terakhir

3
00:00:05,780 --> 00:00:08,047
‫yang menanggapi apa yang disebut "sinyal

4
00:00:08,047 --> 00:00:10,770
‫istilah sakit" yang dipancarkan Heroku dari waktu

5
00:00:10,770 --> 00:00:12,023
‫ke waktu.

6
00:00:13,670 --> 00:00:16,300
‫Jadi dyno Heroku, dan sekali

7
00:00:16,300 --> 00:00:19,460
‫lagi dyno hanyalah nama yang digunakan Heroku

8
00:00:19,460 --> 00:00:21,540
‫pada dasarnya untuk wadah

9
00:00:21,540 --> 00:00:23,230
‫tempat aplikasi Anda

10
00:00:23,230 --> 00:00:26,820
‫berjalan sehingga dyno ini restart setiap 24 jam

11
00:00:26,820 --> 00:00:29,930
‫untuk menjaga aplikasi Anda dalam keadaan sehat.

12
00:00:29,930 --> 00:00:32,930
‫Oke? Dan cara Heroku

13
00:00:32,930 --> 00:00:36,060
‫melakukan ini adalah dengan mengirimkan apa yang disebut

14
00:00:36,060 --> 00:00:38,577
‫"sinyal istilah sakit" ke aplikasi catatan kita,

15
00:00:38,577 --> 00:00:41,640
‫dan aplikasi tersebut pada dasarnya akan segera dimatikan.

16
00:00:41,640 --> 00:00:44,680
‫Baiklah? Sekarang, masalah dengan ini

17
00:00:44,680 --> 00:00:46,830
‫adalah bahwa shutdown bisa sangat mendadak.

18
00:00:46,830 --> 00:00:50,020
‫Jadi ini kemudian dapat meninggalkan permintaan yang saat

19
00:00:50,020 --> 00:00:51,930
‫ini sedang diproses pada

20
00:00:51,930 --> 00:00:53,730
‫dasarnya menggantung di

21
00:00:53,730 --> 00:00:55,789
‫udara, dan itu tidak ideal.

22
00:00:55,789 --> 00:00:58,830
‫Jadi pada dasarnya itulah yang terjadi juga

23
00:00:58,830 --> 00:01:01,623
‫ketika ada penolakan yang tidak tertangani.

24
00:01:02,850 --> 00:01:05,024
‫Jadi di sini di server kami,

25
00:01:05,024 --> 00:01:07,320
‫dot JS, ingat bagaimana kami sebenarnya dengan

26
00:01:07,320 --> 00:01:09,700
‫anggun mematikan server setiap kali ada penolakan

27
00:01:09,700 --> 00:01:12,690
‫yang tidak tertangani. Baiklah?

28
00:01:12,690 --> 00:01:13,990
‫Jadi sekarang kita

29
00:01:13,990 --> 00:01:16,240
‫sebenarnya akan melakukan sesuatu yang sangat mirip ketika

30
00:01:16,240 --> 00:01:20,310
‫kita menerima "sinyal istilah sakit". Baiklah? Jadi katakanlah proses

31
00:01:22,410 --> 00:01:23,690
‫titik pada

32
00:01:26,870 --> 00:01:29,660
‫istilah sakit, dan pada dasarnya, istilah sakit

33
00:01:29,660 --> 00:01:32,300
‫sebenarnya hanyalah sebuah peristiwa yang dapat

34
00:01:32,300 --> 00:01:35,160
‫dipancarkan dan yang diterima oleh aplikasi kita

35
00:01:35,160 --> 00:01:36,700
‫dan kemudian dapat ditanggapi.

36
00:01:36,700 --> 00:01:40,383
‫Jadi persis seperti penolakan yang tidak tertangani. Benar?

37
00:01:41,430 --> 00:01:43,293
‫Sekarang di sini kita tidak memiliki

38
00:01:46,210 --> 00:01:47,760
‫kesalahan, jadi mari kita benar-benar

39
00:01:48,720 --> 00:01:50,250
‫melakukan log konsol di

40
00:01:52,130 --> 00:01:53,713
‫sini juga istilah sakit diterima.

41
00:01:56,200 --> 00:01:57,280
‫Mematikan

42
00:01:58,690 --> 00:02:00,520
‫dengan anggun.

43
00:02:00,520 --> 00:02:02,820
‫Dan mari tambahkan beberapa emoji di

44
00:02:02,820 --> 00:02:05,400
‫sini hanya untuk membuatnya menonjol di konsol kami di

45
00:02:05,400 --> 00:02:07,823
‫antara semua log yang kami miliki di sana.

46
00:02:09,580 --> 00:02:11,980
‫Baiklah, dan sekarang mari

47
00:02:11,980 --> 00:02:14,700
‫kita lakukan graceful shut down, yang

48
00:02:14,700 --> 00:02:17,173
‫pada dasarnya hanya untuk menutup server.

49
00:02:21,650 --> 00:02:25,270
‫Jadi ini pada dasarnya akan menutup server, tetapi sebelum

50
00:02:25,270 --> 00:02:27,150
‫itu masih menangani semua permintaan

51
00:02:27,150 --> 00:02:29,300
‫yang tertunda. Dan

52
00:02:29,300 --> 00:02:31,800
‫itulah yang kami inginkan,

53
00:02:31,800 --> 00:02:35,820
‫alih-alih penyelesaian aplikasi yang sangat mendadak, bukan?

54
00:02:35,820 --> 00:02:38,310
‫Kemudian, setelah selesai, mari kita kunci

55
00:02:38,310 --> 00:02:39,193
‫ke konsol.

56
00:02:40,810 --> 00:02:42,133
‫Jadi konsol

57
00:02:43,580 --> 00:02:46,010
‫dot log, sekali lagi mari tambahkan

58
00:02:47,260 --> 00:02:50,063
‫emoji yang bagus di sini prosesnya dihentikan.

59
00:02:50,950 --> 00:02:53,740
‫Oke. Dan dalam hal

60
00:02:53,740 --> 00:02:56,654
‫ini disini kita tidak menggunakan proses dot exit,

61
00:02:56,654 --> 00:02:59,940
‫karena istilah sakit itu sendiri akan menyebabkan aplikasi mati.

62
00:02:59,940 --> 00:03:01,970
‫Kita tidak perlu melakukannya secara manual seperti

63
00:03:01,970 --> 00:03:05,100
‫yang kita lakukan di sini. Baiklah?

64
00:03:05,100 --> 00:03:07,990
‫Jadi pada dasarnya, istilah sakit adalah sinyal yang

65
00:03:07,990 --> 00:03:09,720
‫digunakan untuk membuat program

66
00:03:09,720 --> 00:03:12,430
‫benar-benar berhenti berjalan. Jadi ini seperti

67
00:03:12,430 --> 00:03:17,430
‫cara yang sangat sopan untuk meminta program dihentikan. Oke?

68
00:03:17,900 --> 00:03:21,510
‫Jadi sekali lagi, kita perlu menerapkan ini mendengarkan acara

69
00:03:21,510 --> 00:03:23,560
‫ini di sini, karena Heroku

70
00:03:23,560 --> 00:03:25,530
‫setiap 24 jam akan

71
00:03:25,530 --> 00:03:28,140
‫mematikan aplikasi kita dengan mengirimkan sinyal ini,

72
00:03:28,140 --> 00:03:30,470
‫atau acara ini, ke aplikasi kita.

73
00:03:30,470 --> 00:03:32,720
‫Jadi, kami menutup proses dengan anggun,

74
00:03:32,720 --> 00:03:34,882
‫dengan menggunakan server dot close,

75
00:03:34,882 --> 00:03:37,760
‫yang memungkinkan semua permintaan yang tertunda untuk tetap

76
00:03:37,760 --> 00:03:41,090
‫diproses hingga akhir. Oke?

77
00:03:41,090 --> 00:03:43,390
‫Jadi, sekarang mari kita uji ini.

78
00:03:43,390 --> 00:03:45,190
‫Jadi apa yang perlu kita

79
00:03:45,190 --> 00:03:47,890
‫lakukan pertama adalah tentu saja melakukan semua modifikasi

80
00:03:47,890 --> 00:03:50,000
‫ini ke repositori git kita dan

81
00:03:50,000 --> 00:03:51,690
‫Anda melihat bahwa sekarang

82
00:03:51,690 --> 00:03:53,670
‫kita memiliki tiga file yang dimodifikasi.

83
00:03:53,670 --> 00:03:56,530
‫Jadi kami memodifikasi server dalam kuliah ini,

84
00:03:56,530 --> 00:03:59,340
‫dan pengontrol alt di app dot JS

85
00:03:59,340 --> 00:04:01,923
‫di kuliah terakhir. Benar?

86
00:04:02,980 --> 00:04:06,050
‫Jadi, mari tambahkan semuanya ke staging area

87
00:04:06,050 --> 00:04:08,850
‫git add all, dan kemudian komit perubahan

88
00:04:09,860 --> 00:04:12,163
‫ini ke repo kita.

89
00:04:14,600 --> 00:04:19,390
‫Jadi edit, Heroku, config.

90
00:04:19,390 --> 00:04:20,683
‫Mari kita menyebutnya begitu.

91
00:04:21,800 --> 00:04:24,240
‫Baiklah. Dan sekarang ingat

92
00:04:24,240 --> 00:04:26,890
‫bagaimana kita pada dasarnya menerapkan ulang aplikasi.

93
00:04:26,890 --> 00:04:28,980
‫Nah, itu sangat mudah.

94
00:04:28,980 --> 00:04:33,133
‫Git mendorong cabang master addendum Heroku.

95
00:04:34,730 --> 00:04:37,260
‫Oke, jadi ini pada dasarnya

96
00:04:37,260 --> 00:04:40,300
‫akan mengirim semua modifikasi ke cabang ini

97
00:04:40,300 --> 00:04:42,830
‫dan kemudian akan membangun

98
00:04:42,830 --> 00:04:47,170
‫kembali aplikasi di Heroku dan, tentu saja, meluncurkannya kembali juga.

99
00:04:47,170 --> 00:04:49,350
‫Jadi, Anda melihat bahwa ia

100
00:04:49,350 --> 00:04:51,900
‫melakukan semua proses ini seperti saat

101
00:04:51,900 --> 00:04:54,490
‫kami pertama kali menerapkan aplikasi lagi setiap

102
00:04:54,490 --> 00:04:57,120
‫kali kami menerapkan aplikasi di lain waktu.

103
00:04:57,120 --> 00:05:00,712
‫Dan sekarang sudah selesai. Jadi, untuk menguji apa yang baru

104
00:05:00,712 --> 00:05:04,070
‫saja kita lakukan di sini, pada dasarnya mari kita mulai ulang

105
00:05:04,070 --> 00:05:06,390
‫aplikasi secara manual. Dan itu

106
00:05:06,390 --> 00:05:08,663
‫juga akan mengirim istilah sakit

107
00:05:08,663 --> 00:05:12,320
‫ke aplikasi dan harus memicu apa pun yang terjadi

108
00:05:12,320 --> 00:05:14,980
‫di sini Oke? Jadi mari kita

109
00:05:14,980 --> 00:05:18,520
‫mulai dengan melihat semua dynos kami, jadi itu adalah sesuatu

110
00:05:18,520 --> 00:05:21,510
‫yang belum kami lakukan, jadi itulah Heroku PS

111
00:05:23,340 --> 00:05:25,220
‫dan jadi Anda lihat bahwa

112
00:05:25,220 --> 00:05:30,010
‫kami memiliki dyno web gratis ini. Oke?

113
00:05:30,010 --> 00:05:32,560
‫Yang berjalan, atau pada dasarnya yang

114
00:05:32,560 --> 00:05:35,390
‫dimulai dengan menggunakan perintah mulai MPM, seperti

115
00:05:35,390 --> 00:05:38,300
‫yang saya sebutkan di salah satu video sebelumnya.

116
00:05:38,300 --> 00:05:41,530
‫Oke, jadi sekarang yang bisa

117
00:05:41,530 --> 00:05:46,530
‫kita lakukan untuk me-restart Heroku PS sangat sederhana dan restart.

118
00:05:49,890 --> 00:05:52,850
‫Jadi menurut saya kurang tepat.

119
00:05:52,850 --> 00:05:56,340
‫Sekarang seharusnya, dan itu sudah selesai.

120
00:05:56,340 --> 00:05:59,360
‫Jadi, mari kita lihat sekarang

121
00:05:59,360 --> 00:06:04,150
‫di log yang merupakan heroku log dash dash tail.

122
00:06:06,940 --> 00:06:10,410
‫Baiklah, jadi dan ini

123
00:06:10,410 --> 00:06:11,420
‫dia.

124
00:06:11,420 --> 00:06:15,260
‫Berasal dari aplikasi kami, kami melihat istilah sakit diterima dan

125
00:06:15,260 --> 00:06:17,533
‫kemudian memproses kunci yang dihentikan.

126
00:06:18,370 --> 00:06:19,940
‫Baiklah, dan Anda melihatnya

127
00:06:19,940 --> 00:06:22,170
‫kemudian setelah itu, memulai proses dengan

128
00:06:22,170 --> 00:06:23,723
‫perintah NPM start.

129
00:06:24,980 --> 00:06:27,250
‫Baiklah, dan itu adalah server

130
00:06:27,250 --> 00:06:30,020
‫catatan dot JS seperti yang kami tentukan,

131
00:06:30,020 --> 00:06:34,120
‫dan sekarang aplikasi berjalan pada port 57 dua enam tujuh.

132
00:06:34,120 --> 00:06:36,310
‫Jadi ingat bagaimana saya katakan sebelumnya bahwa

133
00:06:36,310 --> 00:06:37,650
‫pada dasarnya Heroku menjalankan

134
00:06:37,650 --> 00:06:40,930
‫aplikasi mereka pada port acak. Dan jadi ini adalah

135
00:06:40,930 --> 00:06:43,790
‫itu. Baiklah? Besar!

136
00:06:43,790 --> 00:06:46,850
‫Jadi mari kita keluar dari ini, bersihkan

137
00:06:46,850 --> 00:06:49,040
‫ini, dan dengan itu,

138
00:06:49,040 --> 00:06:52,720
‫kita benar-benar menyelesaikan semua konfigurasi Heroku di aplikasi kita.

139
00:06:52,720 --> 00:06:56,140
‫Fantastis. Sekarang hanya tinggal dua

140
00:06:56,140 --> 00:06:57,890
‫hal lagi yaitu mengimplementasikan

141
00:06:57,890 --> 00:07:01,129
‫sesuatu yang disebut CORS, atau Cross Origin

142
00:07:01,129 --> 00:07:04,330
‫Resource Sharing, dan juga menyelesaikan pembayaran Stripe

143
00:07:04,330 --> 00:07:07,470
‫menggunakan webhook. Jadi ingat bagaimana

144
00:07:07,470 --> 00:07:09,890
‫saya berjanji untuk menerapkannya nanti, dan

145
00:07:09,890 --> 00:07:12,990
‫kami akan melakukannya selama dua kuliah berikutnya.

146
00:07:12,990 --> 00:07:16,073
‫Baiklah? Jadi sampai jumpa saat itu juga.

