Node.js

Node.js

Š•Ø•Ł ❤


#كبسولة_برمجه (Nodejs) ❤️❤️ ماهو ال Nodejs ناس كتير من المطورين بتسمع في الفتره الاخيره عن nodejs واخد اهتمام من معظم المبرمجين في مجال web development وكمان اعطي تقل كبيييير جدا لل JavaScript هتقولي اييييه ياااعم المبالغه دي ! طب تعالي نفهم ليه قولت كدا من المعروف بلغة ال JavaScript هي لغة الClient Side بمعنى انها لغة تعمل بجانب المستخدم وليس في السيرفر ولكن بعد تطوير المهندس Ryan Dahl لل Node الذي يعمل بمحرك جوجلل V8 والعديد من الlibraries الاخرى اصبح الامر اكثر تعقيدا عن الاول و تحول Node في السيرفر كمثل الPHP بمعنى اخر الNode.js اصبح بيئة عمل Functionality حركية و ديناميكية بشكل تام بإمكانك التعامل مع قواعد البيانات وما الى ذلك من خلاله بكل سهوله. -------------------------------------------- #استخدام_Node يستخدم ال Nodejs لبرمجة تطبيقات الويب بالتحديد و المواقع بشكل عام يعتمد في عمله على ال events او حدث (حاجه انت عايز تعملها في الموقع ) لذلك اي شي بيتم على السيرفر يقوم بإطلاق non-blocking event كل كونكشن جديد fires event ومعلومات مرسله من فورم fires event وطلب بيانات من قاعدة البيانات من قبل المستخدم fires event وهكذا يعني ان الموقع او التطبيق لا يمكن ان يتاخر بتنفيذ مناسبة event حتى لو دخل علي ال website (الموقع) او استخدمه آلاف المستخدمين في نفس الوقت لان بيئة عمل ال Node js برمج ليكون Non-Blocking بذلك الأوامر يتم تنفيذها بالتوازي بخلاف الPHP اللي هي لغة block until completion اي ان الاوامر لايتم تنفيذها الا بتنفيذ ما سبق من اوامر وهذا هو الفرق الاكبر مابين PHP & Node.js وهذا هو سبب تميز node وسبب السرعه الرهيبه في تنفيذ الاوامر. -------------------------------------------- #مميزات Node.js من مميزات Node.js سرعة الآداة مع المحافظة على الفاعلية فسرعتها في إرسال الرسائل البريدية هي 10 أضعاف سرعة PHP مع عدد أقل من العمليات الغير ناجحة من مميزاتها أيضا أنك تستدعي المكتبات التي تعمل عليها في الوقت الذي تريد وهوالأمر الذي يفضي إلى أفضل استغلال للموارد. سرعة Node.js هي نتيجة لسرعة المحرك الذي تستخدمه الذي يعتبر نواتها وتقوم Node.js بمعالجة النص المصدري سطر كود بسطر كود من خلال خيط واحد على عكس ما يحدث في PHP مثلا المعنى أنه لو زار 1000 شخص موقع بيعمل على Node.js فسيتم خدمتهم بالتتالي المشكله أنه لو أضطر شخص ما لإنتظار عملية ما مدة دقيقة فيجب على الكل الانتظار حتى تنتهي تلك العملية إلا أنه يكمن تفادي هذا من خلال بنية الجافاسكربت التي تمكن من استدعاء دالة ما (أو مع صياغتها) عند الانتهاء من عملية ما والمرور للعملية الموالية ككل تمكن Node.js من بناء تطبيقات كبيرة، أحيانا بسهولة، إلا أن بنية الجافاسكريبت الشاذة تجعل الأمر محبط يجدر بالذكر أن Node.js تعمل على نواة معالج واحدة، كما أن يجب تنشيط الملف بعد برمجته ليتحول إلى Thread (هبقا اتكلم عنه بالتفصيييل بس ادام شويا) مستعد للرد على أي طلب داخل الوب في النهاية يمكن القول أن Node.js ليست تلك الوسيلة بعد التي يمكنها التعامل مع مختلف المتطلبات وهذا من أسباب سرعتها إلا أنه لا يمكن لوم أحد على ذلك ما دامت لم تتجاوز الإصدار 1.0 بعد إلا أنها يمكنها تقديم حلول سحرية للأنشطة التي تتطلب تبادل بيانات بين مختلف الزوار في الوقت الحقيقي (Real-Time). -------------------------------------------- قواعد بياناات مع Nodejs ماهي قاعدة بيانات MongoDB في السابق كان الحديث حول قواعدةالبيانات المعروفه و المتوارد بين المبرمجين من web developers إلى الـ software developers على مختلف المنصات windows, OSX, Linux و الحديث كان يدور حول نوع واحد فقط وهو RDBMS Relational database management system مثل MS SQL Server, IBM DB2, Oracle, MySQL, and Microsoft Access التي تعتمد في حفظ البيانات داخل جداول ولكن في الآونة الأخيرة و بعد صدور عدد من JS Frameworks و ارتفاع عدد مستخدمي لغة الجافاسكربت بدأت شركة 10GEN في العمل على قاعدة بيانات من نوع مختلف تماما عما سبق ذكرة وهي NoSQL تحت اسم MongoDB اي قاعدة بيانات لا توجد بها علاقة بين الجداول وتعتمد في حفظ البيانات كمستندات BOSN ويعد هذا النوع الأشهر بين عائلة الـNoSQL وهنا ننوه بأن جميع ما تعرفه عن الـSQL Databases قد يتغير فبالتاكيد لن يكون هناك كوريز بالطريقة التي اعتدت العمل عليها. ال MongoDB هي نظام لقواعد البيانات من فئة ما يُسمى NoSQL أو بوصف أدق Non-Relational Database Management System والتي تستخدم ملفات BSON و هي اختصار لــ Binary JSON. كذلك MongoDB تعتبر Schema-less إذ لا تلتزم بـــ schema معين لذا قد يختلف محتوى الملفات من حين لآخر. يُعتبر Mongo أيضا نظام scalable حيث يُمكنه التأقلم مع آلاف الطلبات في آن واحد دون أن يؤثر ذلك على سرعة الأداء. كما هو الحال في MySQL الدي يتكون من Table كدلك MongoDB يتكون من collections والدي يحتوي بدوره على documents بحيت يتعلق حجم collection بعدد documents الموجودة بداخلها. يمكننا القول على ان من اهم الاختلافات بين mongo و MySQL هو أن بنية الملف لا تلتزم بقواعد معينة حيث نجد أن مكونات الــ rows هي نفسها في الجدول الواحد إذ يجب أن تخضع لقواعد الــ schema الذي تم تعريفه أما الــ mongo فلا يعتمد أي مخطط و بالتالي يُمكن لبنية الملف أن تتغير من وقت لأخر داخل نفس collection.


ملاحظة: المقالة مأخوذة من صفحة المطور islam diab على الفيسبوك

انضمو الينا:

https://t.me/joinchat/AAAAAFYOHCBJ_m1EJ9s-sw


Report Page