التخطي إلى المحتوى الرئيسي

جافاسكريبت JavaScript - الحلقة الأولى

 لنتحدث قليلاً عن هذه اللغة، ربما لا يوافقني البعض فيما سوف أقول، لكن هذه اللغة هي قصة كفاح مثيرة للاعجاب، لقد تنامى أمرها بعد أن استخف بها المبرمجون، ثم سخروا منها ثم انتصرت..وفرضت نفسها اليوم كعامل صعب يقال في أمره "كل ما يمكن عمله بجافا سكريبت سيتم عمله بجافا سكريبت في النهاية".

ربما لن يوافقني suckless في هذا الكلام، لكن من يهتم لأمرهم؟..هم جماعة من المتصوفة وأفكارهم لن تناسب عملاءنا على أي حال (ولو راقت لي!).

قصة جافاسكريبت

في بداياتها، سنة 1995، أضافت نيتسكيب محرك جافا سكريبت الأول على متصفحها، ومنذ ذلك الحين، قطعت جافاسكريبت طريقا طويلاً من التطور بل واستبعاد خصومها، وأصبح لها العديد من محركات التشغيل، أشهرها بلا منازع هو محرك V8 مفتوح المصدر المطور بواسطة جوجل، والمستخدم في متصفح كروم، كما هو مستخدم كجزء من محرك node.js, deno.js

فماذا يعمل المحرك؟

حسناً، هكذا يعمل كود جافاسكريبت على جهازك (طريقة محرك V8):

  1. يدخل الكود بصورته النصية إلى المحرك
  2. يقرأ المحرك Parsing الكود سريعا
  3. ينشئ المحرك شجرة تجريدية بالأوامر
  4. يتم تحسين الكود وتحويله إلى لغة الآلة compiling

بالطبع تتفاوت طرق العمل من محرك لآخر، لقراءة المزيد راجع مصدر الصورة.

هذه الاستقلالية التي تتسم بها اللغة مكنتها في النهاية من أن تتحول من لغة لا تؤخذ مأخذ الجد، إلى لغة مناسبة لكل الأغراض، بل وتتسرب إلى مالا يخطر على بالك من مجالات.

إليك مثلاً، مشروع انشاء حواسيب افتراضية بلغة جافا سكريبت..

سأعود لاحقاً لنكمل ما بدأناه، مع جافاسكريبت.

تعليقات

المشاركات الشائعة من هذه المدونة

ادارة كلمات سر المستخدمين

  إذا كنت تقوم ببرمجة موقع يحتاج إلى عمل حسابات للمستخدمين، فيجب أن تقوم بتأمين كلمات السر الخاصة بهم إلى أقصى حد ممكن، ومن ذلك طريقة حفظها في قاعدة البيانات، فرغم كل اجراءاتك الأمنية، يجب أن تفترض احتمال تسرب قاعدة البيانات، وفي حال تسربت قاعدة البيانات، لا يجب أن يتمكن المخترق من معرفة كلمات السر الخاصة بالمستخدمين..كيف يمكن ذلك؟ باختصار، لا يجب أن تقوم بتخزين أية كلمات سر في أي مكان في موقعك، ما سوف تختزنه في جدول المستخدمين هو قيمة الهاش، مضافا إليها ما يتعارف عليه بالملح salt ، وهي قيمة عشوائية تدمج بكلمة السر قبل التشفير، قيم الهاش وخوارزمياتها تختلف، في حال تخزين كلمات السر، أنصحك باستخدام خوارزمية بطيئة مثل bcrypt مع عمل سياسة لقبول كلمات السر بحيث لا تقل عن 8 حروف ولا تزيد عن 100 حرف. لكن ماهو الهاش؟ الهاش هو عملية غير عكسية، يشكل ما يشبه البصمة لأي بيانات مدخلة، بالتالي، إذا حصل الهاكر على الهاش فلا يوجد أي طريقة ليعكس عملية الهاش نفسها ويصل للباسوورد، تماماً كما لا يمكنني التعرف على صورة وجهك من خلال بصمة اصبعك. طيب ماذا يفعل الهاكر عند حصوله على الهاش؟ هناك العديد من ال...

هجمات التصيّد - الهندسة الاجتماعية

تعد هجمات التصيّد phishing هي واحدة من أشهر طرق وأساليب استخراج كلمات السر من الضحايا، وهي احدى أساليب الهندسة الاجتماعية، والتي يقصد بها خداع المستخدم للحصول منه على معلومات حساسة يقدمها طواعية إلى المخترقين. تعد هجمات التصيد من اﻷساليب الشائعة في عالم الاختراق ، تؤثر على العديد من اﻷفراد والشركات على مختلف المستويات، وهي تتم في الغالب بواسطة رسائل بريد إليكتروني تهدف لخداع المستخدم، فمثلاً قد تصلك رسالة من منصة التواصل الاجتماعي الخاصة بك تطلب منك اجراءاً عاجلاً، أو تخبرك أن ثم طلب اضافة من فتاة جميلة ينتظرك (مثلاً)، لقبول طلب الاضافة اضغط هنا. في حال استخدامك للرابط في الرسالة التي تبدو أصلية تماماً، وسيقودك الرابط إلى موقع شبيه بمنصة التواصل الاجتماعي الخاصة بك تماماً تطلب منك تسجيل الدخول، إلا أنه في الحقيقة موقع يخص المخترق، وستصله فوراً بياناتك التي سلمتها له طواعية. كيف تحمي نفسك من سرقة بياناتك؟ هناك العديد مما يمكن فعله هنا، لكن اﻷهم على الاطلاق هو: اليقظة والحذر الحس السليم وتقييم المواقف والفكر النقدي سلاحك هنا، تذكّر دائماً أنه ﻻ يوجد اجراء مستعجل إلى حد أن يمنعني من التف...

جدران النار - خطوط الدفاع

جدران النار Firewalls هي واحدة من أهم مواردك للدفاع عن الشبكة، هي الحراسة الخاصة على بوابتك للإنترنت. تأتي جدران النار بصور وأشكال مختلفة، فمن حيث طبيعتها، قد تكون أجهزة متخصصة appliances، أو برامج مختصة ، تماماً كمضاد الفيروسات. لكل من هذين النوعين مميزاته وعيوبه، فالأجهزة المختصة يمكنها أن تفرض القواعد العامة على مؤسسة كاملة مبقية التحكم في أيدي مديري الشبكة، كذلك تكون هذه الأجهزة محسنة لتقوم فقط بفلترة حزم البيانات الداخلة إلى الشبكة مما يقلل من امكانية تعطيلها بسبب ثغرات مختلفة بواسطة المخترقين، كما هناك في كثير منها، العديد من التقنيات الذكية الأحدث التي تتبنى تقنيات تعلم الآلة لتتمكن من ملاحظة أي سلوك غير مألوف (أو عدواني، ربما) على الشبكة الخاصة بك، والاستجابة الفورية.. كذلك، فهي قادرة إلى حد بعيد على حماية الأجهزة الذكية وانترنت الأشياء من عبث المخترقين، ربما لا تستطيع وضع برنامج جدار ناري على تلفزيونك الذكي وكاميرا المراقبة الأبوية في منزلك، لكنك تستطيع حماية بيئتك المنزلية من خلال جدار ناري على مصدر الانترنت. أما البرامج فهي في الغالب تستخدم لحماية جهاز بعينه، أو نقطة واحدة ...