1
00:00:00,000 --> 00:00:04,614
[MUSIC]

2
00:00:04,614 --> 00:00:10,618
الآن بعد أن لدينا فهم وحدات العقدة، دعونا نفعل أول تمرين

3
00:00:10,618 --> 00:00:17,080
لدينا لزيادة فهمنا لوحدات العقدة مع مثال في هذا التمرين.

4
00:00:17,080 --> 00:00:22,730
لذلك للبدء، دعونا نذهب إلى موقع مناسب على جهاز الكمبيوتر الخاص بنا.

5
00:00:22,730 --> 00:00:25,600
حتى هنا، أنا في مجلد الوثائق كورسيرا،

6
00:00:25,600 --> 00:00:30,740
حيث لدي الملفات من جميع الدورات السابقة.

7
00:00:30,740 --> 00:00:35,680
لذلك سأقوم بإنشاء مجلد جديد هنا، يدعى NodeJS

8
00:00:35,680 --> 00:00:42,020
وهذا المجلد هو المكان الذي سأقوم بتخزين جميع التعليمات البرمجية المتعلقة بدورة NodeJS.

9
00:00:42,020 --> 00:00:44,370
حتى الذهاب إلى مجلد NodeJS،

10
00:00:44,370 --> 00:00:48,845
دعونا إنشاء مجلد فرعي هنا، اسمه عقدة أمثلة.

11
00:00:53,410 --> 00:00:54,590
وفي هذا المجلد،

12
00:00:54,590 --> 00:01:00,470
سنقوم بإنشاء الملفات المتعلقة بهذا التمرين.

13
00:01:01,880 --> 00:01:07,018
افتح نافذة طرفية أو نافذة أوامر،

14
00:01:07,018 --> 00:01:13,442
ثم انتقل إلى مجلد أمثلة العقدة في الموجه،

15
00:01:13,442 --> 00:01:17,681
ثم في الموجه، اكتب npm init

16
00:01:17,681 --> 00:01:22,837
لتهيئة هذا المجلد كتطبيق عقدة.

17
00:01:22,837 --> 00:01:27,757
لذا اكتب npm init ثم سيأتي ببعض

18
00:01:27,757 --> 00:01:33,050
القيم الافتراضية القياسية لبعض المعلومات التي

19
00:01:33,050 --> 00:01:38,120
سيتم تخزينها في ملف باسم package.json.

20
00:01:38,120 --> 00:01:45,251
لذلك بالنسبة للاسم، دعنا نكتب أمثلة العقدة،

21
00:01:45,251 --> 00:01:52,383
والإصدار هو 1.1.0، والوصف،

22
00:01:52,383 --> 00:01:58,639
سأكتب ببساطة أمثلة عقدة بسيطة.

23
00:02:00,565 --> 00:02:05,200
ونقطة الإدخال هي القيمة الافتراضية index.js.

24
00:02:05,200 --> 00:02:09,210
بالنسبة لأمر الاختبار، اتركه على هذا النحو ومستودع Git في الوقت الحالي،

25
00:02:09,210 --> 00:02:10,890
سنتركه على هذا النحو.

26
00:02:10,890 --> 00:02:14,790
وبالنسبة للمؤلف، فقط املأ اسمك.

27
00:02:17,430 --> 00:02:22,610
والباقي، ثم npm init سوف تظهر

28
00:02:22,610 --> 00:02:27,510
القيمة الافتراضية التي سيتم إعدادها في ملف package.json.

29
00:02:27,510 --> 00:02:31,960
لذلك كما تعلمنا، ملف package.json هو ملف البيان

30
00:02:31,960 --> 00:02:36,210
لتطبيق عقدة، وبمجرد إكمال هذا، ستلاحظ أنه

31
00:02:36,210 --> 00:02:41,500
يتم إنشاء ملف package.json في مجلد أمثلة العقدة هذا.

32
00:02:41,500 --> 00:02:46,980
دعونا نفتح هذا المشروع في محرر من اختيارنا.

33
00:02:46,980 --> 00:02:53,350
لذلك سأقوم بفتح رمز Visual Studio الخاص بي في هذا المجلد.

34
00:02:53,350 --> 00:02:58,600
عند رمز Visual Studio الخاص بي، يتم فتحه في هذا المجلد.

35
00:02:58,600 --> 00:03:05,100
سأذهب إلى البرامج النصية هنا وقم بإعداد برنامج نصي هنا يقول «ابدأ»

36
00:03:06,500 --> 00:03:10,599
وسأقول «مؤشر العقدة».

37
00:03:11,830 --> 00:03:16,460
ثم قم بحفظ التغييرات على ملف package.json.

38
00:03:16,460 --> 00:03:22,595
التالي أنا ذاهب إلى إنشاء مجلد هنا وتسميته باسم index.js

39
00:03:22,595 --> 00:03:28,267
وكما أدركت أن الرئيسي هنا يتم إعطاء ملف index.js،

40
00:03:28,267 --> 00:03:33,470
بحيث يبدأ ملف لتطبيق عقدة بلدي.

41
00:03:33,470 --> 00:03:38,600
لذلك في ملف index.js، سأقوم بإنشاء مثال بسيط

42
00:03:38,600 --> 00:03:43,760
لتوضيح الميزات المختلفة للعقدة وكيف سنقوم ببناء وحدات العقدة.

43
00:03:43,760 --> 00:03:49,410
لذا هنا، سنقوم ببناء مثال يقوم بتقييم

44
00:03:49,410 --> 00:03:51,960
المنطقة ومحيط المستطيل.

45
00:03:51,960 --> 00:03:56,280
مثال بسيط للغاية أنه يساعدنا على توضيح

46
00:03:56,280 --> 00:03:59,480
الجوانب المختلفة حول وحدات العقدة والعقدة.

47
00:03:59,480 --> 00:04:05,336
وبالتالي فإن الحصول على نوع البدء، فار مستقيمة.

48
00:04:05,336 --> 00:04:10,787
ونحن في طريقنا إلى إنشاء كائن جافا سكريبت هنا،

49
00:04:10,787 --> 00:04:17,930
وهذا هو اثنين من الخصائص، محيط، وهو وظيفة.

50
00:04:17,930 --> 00:04:26,040
وكما ترون، أنا باستخدام وظيفة السهم لتحديد هذه الوظيفة هنا.

51
00:04:26,040 --> 00:04:32,100
لذلك تدعم العقدة في الإصدار الحالي ES 6 أو ES 2015.

52
00:04:32,100 --> 00:04:36,251
وهذا هو السبب في أنني ذاهب لاستخدام دعم وظيفة السهم

53
00:04:36,251 --> 00:04:41,210
المتوفرة في ES 2015 لتحديد هذه الوظيفة هنا.

54
00:04:41,210 --> 00:04:46,720
وإذا كنت قد أخذت الدورات السابقة حيث نستخدم تنورة الوقت،

55
00:04:46,720 --> 00:04:48,800
وهذا سيكون مألوفا تماما بالنسبة لك.

56
00:04:50,340 --> 00:04:57,560
الآن مع العقدة، لدينا خيار استخدام جافا سكريبت أو تيبسكريبت.

57
00:04:57,560 --> 00:05:02,350
الآن وثائق العقدة

58
00:05:02,350 --> 00:05:07,865
وأيضا التعبير عن أننا سوف نرى في وقت لاحق، كل استخدام جافا سكريبت القياسية.

59
00:05:07,865 --> 00:05:13,465
لذلك لقد تخلف عن استخدام جافا سكريبت القياسية في هذه الدورة أو

60
00:05:13,465 --> 00:05:16,505
جافا سكريبت ES2015 في هذه الدورة.

61
00:05:16,505 --> 00:05:18,585
إذا كنت تفضل استخدام TypeScript،

62
00:05:18,585 --> 00:05:24,620
فيمكنك إعداد أمثلة العقدة الخاصة بك لكتابة التطبيق الخاص بك في TypeScript.

63
00:05:24,620 --> 00:05:28,740
ولكن بعد ذلك سيكون عليك تحويل هذا الرمز إلى JavaScript

64
00:05:28,740 --> 00:05:31,090
بحيث يمكن تشغيله باستخدام Node.

65
00:05:31,090 --> 00:05:34,150
لذلك يجب عليك إعداد بنية تحتية إضافية حتى

66
00:05:34,150 --> 00:05:36,640
تتمكن من استخدام TypeScript.

67
00:05:36,640 --> 00:05:40,630
في هذه الدورة، سأستخدم جافا سكريبت كلغة افتراضية

68
00:05:40,630 --> 00:05:41,960
لبقية الدورة.

69
00:05:41,960 --> 00:05:46,790
وأنا لن أذهب إلى Typescript استخدامه في هذه الدورة

70
00:05:46,790 --> 00:05:51,210
عندما تبدأ العقد دعم Typescript أصلاً،

71
00:05:51,210 --> 00:05:55,220
ثم من المنطقي الانتقال إلى Typescript [غير مسموع].

72
00:05:55,220 --> 00:05:57,550
ولكن إذا كنت مهتمًا بـ Typescript،

73
00:05:57,550 --> 00:06:01,770
فقد لاحظت أنه تم نشر العديد من مقالات المدونة بواسطة

74
00:06:01,770 --> 00:06:07,400
أشخاص مختلفين توضح كيفية إعداد تطبيق Node الخاص بك لاستخدام Typescript.

75
00:06:07,400 --> 00:06:11,420
بعد أن قلت ذلك، دعونا نعود إلى ملف index.js ومن

76
00:06:11,420 --> 00:06:13,030
ثم الاستمرار في مثالنا.

77
00:06:13,030 --> 00:06:20,340
لذلك أنا إعداد محيط هنا ومن ثم أيضا وظيفة المنطقة هنا.

78
00:06:20,340 --> 00:06:22,460
مرة أخرى، أخذ قيمتين، x

79
00:06:22,460 --> 00:06:26,650
و y، والتي تمثل طول وعرض المستطيل.

80
00:06:26,650 --> 00:06:31,830
المعلمتان، والمنطقة محسوبة على أنها x مرة y.

81
00:06:31,830 --> 00:06:36,150
لذا من الرياضيات في مدرستك الابتدائية،

82
00:06:36,150 --> 00:06:40,670
أنت تعرف كيف تحسب محيط ومساحة المستطيل.

83
00:06:40,670 --> 00:06:45,120
حتى هنا، لقد قمت بإعداد كائن جافا سكريبت هذا هنا

84
00:06:45,120 --> 00:06:50,690
ثم اسمحوا لي أن تحديد وظيفة هنا باسم SolveRect

85
00:06:50,690 --> 00:06:54,166
، والتي تأخذ قيمتين، (ل

86
00:06:54,166 --> 00:06:58,180
، ب)، كمعلمتين، طول ورصيف المستطيل.

87
00:06:58,180 --> 00:07:03,409
وسوف تستخدم هذا الكائن جافا سكريبت التي قمت بتعريفها

88
00:07:03,409 --> 00:07:09,750
في وقت سابق من أجل حساب محيط ومساحة انه المستطيل.

89
00:07:09,750 --> 00:07:12,762
حتى داخل هنا،

90
00:07:12,762 --> 00:07:17,710
اسمحوا لي أن أفعل console.log

91
00:07:17,710 --> 00:07:25,035
وأقول حل للمستطيل مع l يساوي

92
00:07:28,483 --> 00:07:30,827
هذا هو فقط لراحتنا.

93
00:07:40,010 --> 00:07:45,335
بحيث سيتم طباعة هذه المعلومات على المحطة هناك

94
00:07:45,335 --> 00:07:50,944
وهكذا في هذا console.log، أنا فقط طباعة القيم l و b، حتى

95
00:07:50,944 --> 00:07:58,130
أعرف للمستطيل الذي نقوم بحساب الطول والاتساع.

96
00:07:58,130 --> 00:08:03,118
الآن، أنا ذاهب للتحقق للتأكد من

97
00:08:03,118 --> 00:08:07,870
طول وعرض ليست أقل من أو يساوي الصفر.

98
00:08:07,870 --> 00:08:13,340
إذا كانت أقل من أو تساوي الصفر، فليس من المنطقي حساب

99
00:08:13,340 --> 00:08:19,790
المحيط والمساحة للمستطيل.

100
00:08:19,790 --> 00:08:27,957
لذلك سأقول console.log هنا،

101
00:08:27,957 --> 00:08:33,790
لذلك أود أن أقول

102
00:08:33,790 --> 00:08:39,040
أبعاد المستطيل يجب أن تكون

103
00:08:39,040 --> 00:08:44,008
أكبر من الصفر.

104
00:08:58,175 --> 00:09:04,030
وبهذه الطريقة، نقوم بطباعة هذه القيم على الشاشة إذا كان الطول

105
00:09:04,030 --> 00:09:07,640
والاتساع أقل من أو يساوي الصفر.

106
00:09:07,640 --> 00:09:11,533
خلاف ذلك، فمن المنطقي لحساب محيط

107
00:09:11,533 --> 00:09:13,370
ومساحة المستطيل.

108
00:09:13,370 --> 00:09:16,944
لذلك سنقول آخر

109
00:09:16,944 --> 00:09:22,428
console.log («منطقة

110
00:09:22,428 --> 00:09:27,679
المستطيل هي»).

111
00:09:55,345 --> 00:09:57,416
وبالمثل، سنقوم بحساب,

112
00:10:10,161 --> 00:10:12,217
محيط المستطيل.

113
00:10:21,787 --> 00:10:22,562
هنا.

114
00:10:24,130 --> 00:10:27,602
لذلك داخل هذه الوظيفة، نقوم بحساب

115
00:10:27,602 --> 00:10:31,210
المنطقة ومحيط المستطيل وتطهيره.

116
00:10:31,210 --> 00:10:36,058
الآن، من الواضح أننا بحاجة إلى استدعاء هذه الوظيفة باستخدام قيم مختلفة

117
00:10:36,058 --> 00:10:39,230
للطول والاتساع ونرى ما يطبع.

118
00:10:39,230 --> 00:10:45,196
حتى الحق أدناه هنا، وأنا ذاهب إلى القول سولفريكت ومن

119
00:10:45,196 --> 00:10:48,150
ثم مجرد استخدام بعض القيم هنا.

120
00:10:48,150 --> 00:10:54,533
لذا سأقول 2، 4، و 3، 5

121
00:10:58,375 --> 00:11:04,771
ودعونا نقول 0، 5 ونرى ما يحدث.

122
00:11:04,771 --> 00:11:11,957
و 3, 5

123
00:11:11,957 --> 00:11:16,099
لذلك أربعة خيارات مختلفة من المعلمات هنا

124
00:11:16,099 --> 00:11:21,130
لتوضيح كيفية عمل هذا التطبيق.

125
00:11:21,130 --> 00:11:24,640
لذلك مع هذا، دعونا حفظ التغييرات.

126
00:11:24,640 --> 00:11:30,590
الآن العودة إلى المحطة، في موجه، اكتب npm start

127
00:11:30,590 --> 00:11:36,530
وسترى أنه يطبع مساحة المحيط

128
00:11:36,530 --> 00:11:39,980
للمستطيلات المختلفة التي حددناها هناك.

129
00:11:39,980 --> 00:11:44,000
لذلك نحن نقول حل للمستطيل مع l يساوي اثنين

130
00:11:44,000 --> 00:11:48,890
وب يساوي أربعة، ومساحة محيط لهذا المستطيل.

131
00:11:48,890 --> 00:11:53,190
وبالنسبة للثاني، وبالنسبة للثالث، كما ترون،

132
00:11:54,380 --> 00:11:58,870
يجب أن تكون أبعادك أكبر من الصفر وبالنسبة

133
00:11:58,870 --> 00:12:02,450
للرابع أيضًا، فهي تطبع نفس القيمة.

134
00:12:02,450 --> 00:12:07,010
الآن من الواضح، أنني لاحظت أنني سأحتاج إلى مساحة هناك، لذلك سأقوم فقط

135
00:12:07,010 --> 00:12:12,731
بتصحيح الشفرة لإضافة هذه المساحة الإضافية هناك.

136
00:12:12,731 --> 00:12:18,540
لذلك مع هذا، رأينا كيف يمكننا كتابة تطبيق عقدة بسيطة

137
00:12:18,540 --> 00:12:24,260
لحساب محيط ومساحة المستطيل.

138
00:12:24,260 --> 00:12:27,780
من الواضح الآن أنك تريد أن تكون قادرًا على إعداد مستودع Git،

139
00:12:27,780 --> 00:12:31,930
حيث يمكنك تخزين كل هذا الرمز.

140
00:12:31,930 --> 00:12:39,110
لذلك في نوع الموجه git init لتهيئة مستودع Git

141
00:12:39,110 --> 00:12:45,195
ثم يمكنك التحقق من حالة مستودع Git

142
00:12:45,195 --> 00:12:48,655
وتلاحظ أنه تم إنشاء ملفين حديثًا.

143
00:12:48,655 --> 00:12:52,651
لذلك دعونا نضيف الملفين إلى مستودع Git الخاص بنا،

144
00:12:52,651 --> 00:12:56,535
وعند هذه النقطة،

145
00:12:56,535 --> 00:13:00,505
والتحقق من حالة git، ترى أنه تم إيداع الملفين.

146
00:13:00,505 --> 00:13:06,611
لذلك دعونا نفعل جيت ارتكاب كسر

147
00:13:06,611 --> 00:13:13,710
الرسالة بسيطة عقدة مثال.

148
00:13:13,710 --> 00:13:18,970
في الجزء الثاني من هذا التمرين، سنقوم الآن

149
00:13:20,130 --> 00:13:24,330
بإنشاء وحدة نمطية للعقدة في هذا المثال.

150
00:13:24,330 --> 00:13:29,191
لذلك في المحرر، في المحرر،

151
00:13:29,191 --> 00:13:34,610
قم بإنشاء ملف باسم rectangle.js.

152
00:13:34,610 --> 00:13:38,130
وداخل هذا الملف، سنقوم بإنشاء وحدة عقدة.

153
00:13:38,130 --> 00:13:43,100
لذلك نحن ذاهبون لاستخدام

154
00:13:43,100 --> 00:13:47,892
كائن الصادرات من أجل تصدير

155
00:13:47,892 --> 00:13:52,517
القيمتين من هذه الوحدة العقدة.

156
00:13:52,517 --> 00:13:59,063
لذلك كما تعلمت، يصبح كل ملف في تطبيق عقدة وحدة العقدة الخاصة به.

157
00:13:59,063 --> 00:14:02,264
لذا من داخل وحدة العقدة المستطيلة هذه،

158
00:14:02,264 --> 00:14:05,909
سأقوم بتصدير قيمتين، المحيط،

159
00:14:09,841 --> 00:14:15,544
والمنطقة.

160
00:14:15,544 --> 00:14:22,080
الآن أنا «M الذهاب إلى ملف index.js ثم ببساطة نسخ هذه القيمة.

161
00:14:24,610 --> 00:14:29,558
وهذا ما سنستخدمه كتصدير

162
00:14:29,558 --> 00:14:33,820
للمحيط هنا وبالمثل

163
00:14:33,820 --> 00:14:38,495
للمنطقة سأقوم بنسخ هذا من

164
00:14:38,495 --> 00:14:44,340
ملف js الفهرس ثم استخدم ذلك للمنطقة.

165
00:14:44,340 --> 00:14:49,498
حتى الآن، لدينا وحدة عقدة بسيطة جاهزة، والتي يتم تصدير قيمتين،

166
00:14:49,498 --> 00:14:53,222
محيط والمنطقة من هذا الملف rectangle.js.

167
00:14:53,222 --> 00:14:57,583
لذلك كما تعلمنا في المحاضرة، وحدات العقدة [غير مسموع]،

168
00:14:57,583 --> 00:15:02,273
والآن بمجرد إنشاء وحدة عقدة، تحتاج إلى

169
00:15:02,273 --> 00:15:05,970
إدخال وحدة العقدة هذه في ملف آخر حيث تريد الاستفادة منه.

170
00:15:05,970 --> 00:15:09,771
حتى العودة إلى ملف index.js.

171
00:15:09,771 --> 00:15:17,372
الآن أنا ذاهب لاستبدال هذا الشيء كله عن طريق

172
00:15:17,372 --> 00:15:22,870
الطلب وألاحظ أن وحدة العقدة هذه في نفس

173
00:15:22,870 --> 00:15:27,250
المجلد مثل المشروع الحالي.

174
00:15:27,250 --> 00:15:31,560
لذلك أود أن أقول تتطلب المستطيل وهذا كل شيء.

175
00:15:31,560 --> 00:15:33,900
لذا فقد اكتملت تغييراتي الآن.

176
00:15:33,900 --> 00:15:39,550
لذلك هذا الملف index.js معين هو الذهاب لاستيراد

177
00:15:39,550 --> 00:15:45,190
وحدة عقدة المستطيل التي قمنا بإنشائه للتو، ومن ثم الاستفادة منه داخل التعليمات البرمجية لدينا هنا.

178
00:15:45,190 --> 00:15:46,750
لذلك دعونا حفظ التغييرات

179
00:15:46,750 --> 00:15:51,780
ومن ثم نلقي نظرة على طلبنا مرة أخرى، في موجه المحطة الطرفية.

180
00:15:51,780 --> 00:15:56,160
الذهاب إلى المحطة، في موجه، اكتب npm start.

181
00:15:58,200 --> 00:16:02,100
ستلاحظ أن هناك

182
00:16:02,100 --> 00:16:07,310
نسخة معدلة من هذا التطبيق تنتج بالضبط نفس النتائج كما كان من قبل.

183
00:16:07,310 --> 00:16:12,229
مع هذا، نتعلم كيف يمكنك إنشاء

184
00:16:12,229 --> 00:16:14,699
وحدة عقدة بسيطة في تطبيقنا.

185
00:16:14,699 --> 00:16:19,781
الآن التحقق من حالة git، سترى أن لديك ملفين،

186
00:16:19,781 --> 00:16:25,370
أحدهما تم تعديله، آخر تمت إضافته للتو.

187
00:16:25,370 --> 00:16:30,050
لذلك دعونا نضيف هذا إلى مستودع Git الخاص بنا

188
00:16:30,050 --> 00:16:34,088
ثم نقوم بتنفيذ git مع الرسالة،

189
00:16:34,088 --> 00:16:40,360
وحدة عقدة بسيطة.

190
00:16:42,160 --> 00:16:47,823
وتحقق من سجل git

191
00:16:47,823 --> 00:16:52,455
وستلاحظ أن لدينا التزامين

192
00:16:52,455 --> 00:16:56,987
التزمنا بمستودع Git الخاص بنا هناك.

193
00:16:56,987 --> 00:16:59,468
مع هذا، نكمل هذا التمرين.

194
00:16:59,468 --> 00:17:03,000
في هذا التمرين، رأينا كيف يمكننا كتابة تطبيق عقدة بسيطة.

195
00:17:03,000 --> 00:17:06,612
وأيضا كيف يمكننا كتابة وحدة عقدة بسيطة

196
00:17:06,612 --> 00:17:10,419
واستخدامها مع ملف آخر في تطبيق عقدة لدينا.

197
00:17:10,419 --> 00:17:16,469
[ موسيقى]