الإجابة: Node.js هي بيئة تشغيل مبنية على محرك JavaScript V8 الخاص بمتصفح Chrome والذي يسمح للمطورين بتشغيل تعليمات JavaScript البرمجية على جانب الخادم. إنه مصمم لبناء تطبيقات شبكة قابلة للتطوير ويدعم البنية غير المحظورة والمبنية على الأحداث.
الإجابة: JavaScript هي لغة برمجة تعمل في المتصفح.
Node.js هي بيئة تشغيل تسمح بتشغيل JavaScript على جانب الخادم.
الإجابة: البرمجة المبنية على الأحداث هي نموذج برمجة حيث يتم تحديد تدفق البرنامج من خلال أحداث مثل إجراءات المستخدم أو مخرجات المستشعر أو الرسائل من البرامج الأخرى. في Node.js، تعد البرمجة المبنية على الأحداث أمرًا أساسيًا للتعامل مع العمليات غير المتزامنة باستخدام بواعث الأحداث والمستمعين.
الإجابة: تقوم Process.nextTick() بجدولة رد اتصال ليتم تنفيذه بعد اكتمال العملية الحالية، ولكن قبل استمرار حلقة الحدث.
يقوم setImmediate() بجدولة رد اتصال ليتم وضعه في حلقة الحدث بعد أحداث الإدخال/الإخراج.
الإجابة: يستخدم Node.js نموذج إدخال/إخراج أحادي الترابط وغير محظور مع بنية تعتمد على الأحداث. إنه يعزز عمليات الاسترجاعات والوعود وعدم المزامنة/الانتظار للتعامل مع العمليات غير المتزامنة، مما يضمن أن الخادم يمكنه معالجة العديد من الطلبات بشكل متزامن دون حظر الخيط الرئيسي.
الإجابة: التدفقات هي كائنات في Node.js تتيح لك قراءة البيانات أو كتابتها في أجزاء. يتم استخدامها للتعامل مع كميات كبيرة من البيانات عن طريق معالجتها في أجزاء أصغر يمكن التحكم فيها، مما يقلل من استخدام الذاكرة. هناك أربعة أنواع من التدفقات:
قابلة للقراءة (على سبيل المثال، fs.createReadStream())
قابل للكتابة (على سبيل المثال، fs.createWriteStream())
دوبلكس (قابل للقراءة والكتابة)
التحويل (نوع من الدفق المزدوج حيث يكون الإخراج عبارة عن تحويل للإدخال)
الإجابة: تم حظر الكود المتزامن؛ ينتظر اكتمال كل عملية قبل الانتقال إلى العملية التالية.
الكود غير المتزامن غير محظور؛ فهو يسمح للبرنامج بمواصلة التنفيذ دون انتظار اكتمال العملية (يتم التعامل معها عبر عمليات الاسترجاعات أو الوعود أو عدم المزامنة/الانتظار).
الإجابة: وظائف البرامج الوسيطة في Express.js هي وظائف يتم تنفيذها أثناء دورة الاستجابة للطلب. يمكنهم تعديل الطلب أو الاستجابة أو تنفيذ بعض المنطق قبل تمرير التحكم إلى وظيفة البرنامج الوسيط التالية. تشمل الأنواع الشائعة ما يلي:
البرمجيات الوسيطة على مستوى التطبيق: منضمة إلى مثيل Express()
البرامج الوسيطة على مستوى جهاز التوجيه: منضمة إلى مثيل Express.Router()
البرامج الوسيطة لمعالجة الأخطاء
*الإجابة: * حلقة الحدث مسؤولة عن معالجة عمليات الاسترجاعات غير المتزامنة في Node.js. فهو يراقب بشكل مستمر مكدس الاستدعاءات وقائمة انتظار المهام وعمليات الإدخال/الإخراج. عندما يكون مكدس الاستدعاءات فارغًا، فإنه يعالج المهام من قائمة انتظار الأحداث، مما يضمن عدم حظر الإدخال/الإخراج عن طريق تأجيل العمليات الثقيلة.
الإجابة: تسمح وحدة المجموعة لـ Node.js بإنشاء عمليات فرعية (عاملة) تشترك في نفس منفذ الخادم. يساعد هذا في موازنة التحميل والاستفادة الكاملة من الأنظمة متعددة النواة عن طريق تشغيل مثيلات متعددة من Node.js للتعامل مع المزيد من الطلبات في وقت واحد.
الإجابة: require() هي جزء من نظام وحدة CommonJS وهي متزامنة. يتم استخدامه لتحميل الوحدات في إصدارات Node.js قبل ES6.
يعد الاستيراد جزءًا من نظام الوحدة ES6، ويعمل مع نظام الوحدة الأصلي لـ JavaScript، مما يتيح دعم اهتزاز الأشجار والتحليل الثابت. يتم استخدامه في الإصدارات الأحدث من Node.js مع وحدات ECMAScript.
الجواب: يمكن معالجة الأخطاء بعدة طرق:
استخدام ردود الاتصال بنمط الخطأ الأول (رد الاتصال (خطأ، نتيجة))
استخدام الوعود مع .catch() للوعود المرفوضة
استخدام المحاولة...التقاط الكتل باستخدام غير متزامن/انتظار
استخدام البرامج الوسيطة في Express.js لمعالجة الأخطاء
الإجابة: package.json هو ملف بيان في مشروع Node.js يحتوي على بيانات تعريف حول المشروع وتبعياته. فهو يحدد اسم المشروع، والإصدار، ونقطة الإدخال الرئيسية، والبرامج النصية، والتبعيات، وتبعيات التطوير، والتكوينات الأخرى.
*الإجابة: * يقرأ fs.readFile() الملف بأكمله في الذاكرة ثم ينفذ رد الاتصال بمحتويات الملف.
يقرأ fs.createReadStream() الملف على أجزاء، مما يجعله أكثر كفاءة في استخدام الذاكرة للملفات الكبيرة حيث يقوم بتدفق البيانات بدلاً من تحميلها كلها مرة واحدة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3