Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...
Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...
| رقم الخبر | عنوان الخبر | التفاصيل |
|---|---|---|
| 28,819 | شراكة استراتيجية بين هكبه و فيزا لإصدار بطاقات مسبقة الدفع في دول مجلس التعاون |
أعلنت شركة هكبه السعودية، المتخصصة في الادخار الإدخار المالي البديل والادخار التعاوني، عن توقيع اتفاقية شراكة استراتيجية مع شركة فيزا العالمية، الرائدة في مجال المدفوعات، تربطهما عدة سنوات وتتيح اصدار الأولى لبطاقات فيزا مسبقة الدفع إلى عملائها في المملكة العربية السعودية ودول مجلس التعاون الخليجي. تقدم هكبه حل لتحديث الادخار المالي عبر منصتها الذكية عبر رقمنة مجموعات الادخار “الجمعيات المالية”، بهدف إنشاء وإدارة والانضمام للجمعيات والدفع مباشرة داخل التطبيق وبشكل بسيط وقانوني، وبتصريح من مؤسسة النقد العربي السعودي ضمن البيئة التجريبية للتقنية المالية. وبهذه المناسبة، قال الأستاذ نايف أبوصيده، المؤسس لشركة هكبه: “نفخر بالشراكة مع فيزا، وستعمل هكبه مع فيزا معًا لتسريع حلول الدفع الآمن والمريح وحلول الادخار المالي البديل، إذ لم يكن هناك وقت أفضل للشراكة من الآن بالنظر إلى فرص النمو في المملكة العربية السعودية -والمقدرة بنحو 6 مليار دولار سنويًا- من أجل الدفع قدمًا بالجهود المبذولة من قبل الجهات الحكومية المختلفة نحو المدفوعات الرقمية، وزيادة المدخرات المالية للأفراد، وتقديم حلول ادخارية افضل للفئات الغير مخدومة، وتتماشى هذه الشراكة مع رؤية المملكة 2030 وسوف تنعكس نتائجها إيجابًا على تحقيق أهداف التنمية المستدامة للأمم المتحدة وبرنامج تطوير القطاع المالي. ونطمح لتمكين عملاؤنا من الحصول على تجربة ادخار ومدفوعات أفضل، وتشجيع المزيد من الادخار المالي في المملكة ومنطقة الشرق الأوسط وشمال أفريقيا.” بدوره، عبر الأستاذ علي بيلون، مدير عام شركة فيزا في المملكة، عن سعادته بالشراكة بالقول: “يسر فيزا الدخول في شراكة مع هكبه لإطلاق حلول دفع رقمية من شأنها أن تجعل إنفاق المدخرات أكثر ملائمة وأمانًا لعملائها في السعودية ودول مجلس التعاون الخليجي. ونتطلع بشدة إلى إطلاق منتج فيزا مسبق الدفع مع هكبه ويسعدنا أن نواصل دعمنا لتعزيز التجارة الرقمية وجهود برنامج تطوير القطاع المالي في تحقيق أهداف رؤية المملكة 2030 للشمول المالي في المملكة العربية السعودية.” التدوينة شراكة استراتيجية بين هكبه و فيزا لإصدار بطاقات مسبقة الدفع في دول مجلس التعاون ظهرت أولاً على عالم التقنية. |
| 28,812 | ميزات أمان بـAmazon Echo يمكن تفعيلها لتأمين منزلك عن بعد |
تطورت المساعدات الصوتية بشكل كبير خلال الفترة الأخيرة، حيث لم تعد تقتصر على إخبارك بالوقت، أو حالة الطقس، أو الإجابة عن أسئلة عشوائية، بل يمكن أن يساعدك المساعد الصوتي (أليكسا) Alexa الآن في طهي الطعام، وممارسة التمارين الرياضية، ولكن أكثر مهارات ألكيسا إثارة للإعجاب تدور حول المنزل الذكي وتأمينه. إذا كان لديك أحد مكبرات الصوت المنزلية الذكية التي تدعم المساعد الصوتي أليكسا، مثل: Amazon Echo، أو Echo Plus، أو Echo Input، فإنها تستطيع أن تساعدك في مراقبة منزلك أثناء غيابك عنه، على سبيل المثال أثناء السفر لقضاء الإجازة الصيفية، أو زيارة أحد أفراد العائلة لبضعة أيام. يدعم المساعد الصوتي ألكيسا العديد من ميزات الأمان المُضمنة للمساعدة في حماية منزلك، مثل: ميزة (Alexa Guard) التي يمكنها اكتشاف اقتحام شخص ما لمنزلك وتنبيهك، وغير ذلك الكثير. إليك 3 ميزات أمان في Amazon Echo تساعد في حماية منزلك وكيفية استخدامها: 1- ميزة Alexa Guard:تُعتبر ميزة (Alexa Guard) من أهم ميزات الأمان في أجهزة (Amazon Echo) حيث تستخدم تقنية ذكية لاكتشاف أي أصوات غير عادية أثناء خلو المنزل من أصحابه، فإذا اكتشفت أليكسا صوت شخص ما يحاول اقتحام المنزل عبر الباب أو عبر النافذة، فسوف ترسل لك إشعارات فورية عبر الهاتف. إذا قمت بتشغيل ميزة (Alexa Guard) وتلقيت إشعارًا من أليكسا بشأن إنذار أو كسر زجاج، فيمكنك التأكد من ذلك على الفور باستخدام جهاز Echo الخاص بك. وللقيام بذلك عن بُعد، يمكنك اتباع الخطوات التالية: إذا كنت ستغادر منزلك لفترة طويلة من الوقت، فإن تشغيل إضاءة المنزل وإيقافها بشكل دوري سيوحي بوجود أشخاص في المنزل، ويمكن القيام بذلك عن بُعد باستخدام جهاز (Amazon Echo) الخاص بك، ولكن ستحتاج إلى استخدام مصباح ذكي متوافق حتى تعمل هذه الميزة. |
| 28,811 | فيسبوك: حملة تأثير روسية استهدفت ناخبي اليسار بأميركا وبريطانيا |
قالت شركة "فيسبوك"، الأربعاء، إن عملية تأثير روسية تم تقديمها على أنها مصدر أخبار مستقل لاستهداف الناخبين من تيار اليسار في الولايات المتحدة وبريطانيا، شملت تجنيد صحافيين مستقلين للكتابة عن السياسات الداخلية. وقالت "فيسبوك" إن العملية، التي ركز جزء منها على السياسات الأميركية والتوترات العرقية في الفترة التي تسبق انتخابات الرئاسة في الثالث من نوفمبر، تمحورت حول منظمة إعلامية وهمية باسم "بيانات سلام" أو (بيس داتا). وقالت الشركة إن الموقع أدار 13 حسابا على "فيسبوك" وصفحتين تم إنشاؤهم في مايو، ووقفهم يوم الاثنين، لاستخدامهم هويات مزيفة وأشكالا أخرى من "السلوك التنسيقي الزائف". وقالت "فيسبوك" إن تحقيقها "وجد روابط لأفراد على صلة بنشاط سابق لوكالة أبحاث الإنترنت الروسية"، وهي شركة مقرها في سان بطرسبرغ، يقول مسؤولون بالاستخبارات الأميركية إنها كانت محورية في الجهود الروسية للتأثير على الانتخابات الرئاسية لعام 2016. وقالت "تويتر"، إنها أوقفت أيضا 5 حسابات في إطار العملية التي قد "تتعلق بشكل وثيق بأطراف حكومية روسية". ونفت روسيا سابقا مزاعم أميركية بمحاولة التأثير على الانتخابات، وقالت إنها لا تتدخل في السياسات الداخلية للدول الأخرى. |
| 28,810 | 5 أسئلة يجب الإجابة عنها قبل اختيار تطبيقات التعلم للأطفال |
مع اقتراب العام الدراسي الجديد وعدم رفع القيود المتعلقة بجائحة فيروس كورونا في معظم دول العالم، فمن المتوقع أن يستخدم معظم الطلاب منصات التعلم عن بُعد أو التطبيقات التعليمية للدراسة، ولكن قبل تنزيل مثل هذه التطبيقات يجب على الآباء إلقاء نظرة فاحصة على هذه المنصات والتطبيقات، والبحث عن إجابات للخمسة أسئلة التالية عند تقييم منصة التعلم عبر الإنترنت أو تطبيقات التعلم الموجهة للأطفال خاصةً أولئك الذين تتراوح أعمارهم بين 3 و 10 سنوات. إليك 5 أسئلة يجب الإجابة عليها قبل اختيار تطبيقات التعلم الموجهة للأطفال: 1- هل يحتوي التطبيق على إعلانات أو عمليات شراء داخلية؟قد يبدو تطبيق تعلم الرياضيات المجاني الذي يستخدمه طفلك جذابًا للغاية، ولكن الشركة التي طورته ستحتاج إلى تحقيق بعض الأرباح بالتأكيد، وغالبًا ما يكون ذلك من خلال الإعلانات أو عمليات الشراء داخل التطبيق، وبعض هذه الإعلانات قد لا تكون مناسبة للأطفال. بينما قد تكون عمليات الشراء داخل التطبيق عند إحراز تقدم في اللعبة أو التطبيق مكلفة وتقلل من تركيز الطفل أثناء التعلم، لذا قبل تثبيت التطبيق في جهاز الطفل يجب عليك التأكد من أن التطبيق لا يحتوي على إعلانات أو يتطلب عمليات شراء متعددة للتقدم أو فتح المستويات قد تكون مكلفة ويقوم بها الطفل دون علمك. 2- هل يوفر التطبيق طرقا إبداعية للتعلم؟تتيح بعض تطبيقات التعلم للأطفال تجميع أحجية أو معرفة الحروف، وهي أنشطة يمكن للأطفال القيام بها بدون استخدام جهاز إلكتروني، ومن ثم يجب أن يتيح التطبيق طرقًا أكثر إبداعية للتعلم حتى لا يقوم الطفل بتمضية الكثير من الوقت في استخدام الجهاز بدون سبب. يرغب بعض الأطفال بالتعلم عن طريق النظر إلى العناصر، بينما البعض الآخر يرغبون في لمس الأشياء وتحريكها للتعلم، لذا يجب على الآباء مراعاة كيف يتعلم أطفالهم عند اختيار التطبيق أو منصة التعلم المناسبة لهم، حيث تخدم بعض منصات أو تطبيقات التعلم طريقة واحدة من طرق التعلم، أو يستخدمون تسلسلًا معينًا قد يكون صعبًا على فهم الطفل. 4- هل يركز التطبيق أكثر على اللعب؟تُركز بعض التطبيقات التعليمية على المكافآت وليس التعلم، فبدلاً من التحفيز لإتقان مفهوم الرياضيات، يركز التطبيق على أنه يجب على الطفل تحقيق مستوى أعلى للوصول إلى المكافأة، مما يجعله يركز أكثر على كيفية الوصول إلى المستوى التالي بدلًا من التعلم. 5- هل يقدم التطبيق وعودًا غير منطقية؟تقدم الكثير من تطبيقات التعلم وعودًا كبيرة حول الكيفية التي ستساعد بها طفلك على التعلم، ولكن يجب أن تثير مثل هذه الوعود بعض من الشك للآباء ما لم يتم دعمها من خلال البحث العلمي الذي يوفره مختصين في مجال التطبيقات الموجهة للأطفال. |
| 28,809 | Kids Space.. من غوغل لجعل أجهزة أندرويد مناسبة للأطفال |
أعلنت شركة غوغل، الاثنين، عن إطلاق Google Kids Space، وهو وضع جديد للأطفال في بعض الحواسيب اللوحية العاملة بنظام التشغيل أندرويد، ويمتاز الوضع بأنه يوفر تطبيقات، وكتبًا، ومقاطع فيديو يمكن للأطفال استكشافها والتعلم منها والاستمتاع بها. وقالت عملاقة التقنية الأميركية في تدوينة: "أخبرنا الآباء أنهم يتصارعون باستمرار مع دور التقنية في حياة أطفالهم، وهذا ينطبق خاصةً على العديد من العائلات التي تقضي وقتًا أطول في المنزل". وأضافت: "لكن الأطفال هم مستكشفون بالفطرة وعندما يتمكنون من الوصول إلى محتوى رائع، فقد تكون تجربة سحرية – يمكنهم القراءة عن الديناصورات المفضلة لديهم، ومشاهدة مقاطع فيديو عن كيفية تحضير الطعام أو اكتشاف هوايات جديدة". وأشارت غوغل إلى أنها أنشأت ميزة (رابط الأسرة) Family Link ودمجتها في منتجاتها الأساسية لمنح الآباء الأدوات التي يحتاجون إليها لاستمرار المشاركة، والمساعدة في إدارة تجارب أطفالهم عبر الإنترنت، وذلك بدءًا من تعيين حدود وقت الشاشة إلى عوامل تصفية أمان المحتوى وعناصر التحكم في الخصوصية وغير ذلك. وأضافت الشركة: "لكننا سمعنا أن الآباء يريدون أكثر من مجرد الرقابة الأبوية؛ فمع وجود الكثير من المحتوى، فهم يحتاجون أيضًا إلى المساعدة في العثور على الأشياء التي تثري أطفالهم وتجذبهم. وللمساعدة في تلبية هذا الطلب، اتخذنا الخطوة الأولى بإطلاق علامة تبويب جديدة للأطفال في متجر Google Play تساعد الآباء في العثور بسهولة على التطبيقات ’التي يوافق عليها المعلم’ واختيارها لأطفالهم". وأطلقت الشركة Google Kids Space، وهو وضع جديد للأطفال على أجهزة لوحية مختارة عاملة بنظام أندرويد يتميز بتطبيقات، وكتب، ومقاطع فيديو يمكن للأطفال استكشافها، وتعلمها، والاستمتاع بها. وسيكون Kids Space متاحًا عالميًا على بعض أجهزة شركة لينوفو اللوحية، ومن ذلك: حاسوب (لينوفو سمارت تاب إم10 إتش دي) Lenovo Smart Tab M10 HD الذي أُعلن عنه اليوم أيضًا، وسيصل الوضع إلى المزيد من أجهزة أندرويد اللوحية قريبًا. وأوضحت غوغل أن Kids Space صُمم بحيث يكون الطفل في قلب التجربة، وصُمم لهم ليصبحوا مستكشفين للأشياء التي يحبونها. ومن خلال اختيار اهتماماتهم، سيرى الأطفال محتوى جديدًا وجذابًا للقراءة واللعب والإنشاء. ويمكن للأطفال حتى تخصيص تجربتهم من خلال إنشاء شخصيتهم الخاصة. وقالت الشركة: إنها عملت مع كبار الناشرين لإتاحة كتب الأطفال الشهيرة مجانًا، والآن يوجد أكثر من 400 كتاب مجاني في الولايات المتحدة وحدها. وفي علامتي التبويب (شاهد) Watch و(اصنع) Make، يمكن للأطفال مشاهدة مقاطع فيديو إبداعية وممتعة من (يوتيوب كيدز) YouTube Kids تشجع الأنشطة خارج الشاشة. |
| 28,808 | تسريب مزايا وصور آيفون 12 الجديد.. والإطلاق قد يتأجل |
تخطط شركة آبل لإطلاق أربعة طرازات جديدة من هواتف آيفون التي تعمل بالجيل الخامس من التكنولوجيا الخلوية في أكتوبر، وفقًا لتقرير بلومبيرغ اليوم الثلاثاء بحسب مطلعة على الأمر. وبحسب ما هو معلن حتى الآن فإن أبل لإطلاق هاتفها الجديد آيفون 12 في سبتمبر الجاري، من خلال حدث افتراضي عبر الفيديو تدعو إليه مختلف الصحفيين ومحبي التكنولوجيا. ورفض المتحدث باسم شركة آبل التعليق على أنباء تأجيل عملية الإطلاق حينما اتصلت به وكالة بلومبيرغ. وكما هو معتاد من أبل، من المتوقع أن تطلق الشركة منتجات أخرى جديدة، مثل AirTags وهي عبارة عن رقاقة أو شريحة تساعد المستخدمين في العثور على الأشياء المفقودة باستخدام تطبيق Find My، مثل سلسلة المفاتيح. ومن المتوقع إطلاق Apple Watch 6 Series الجديدة. وبحسب التسريبات فإن أيفون برو ماكس الجديد، سيتمتع بشاشة أكبر، بحجم 6.7 بوصة وبوضوح أدق للشاشة. كما من المتوقع أن تقوم أبل بترقية شاحن iPhone 12 من 18 وات إلى 20 وات ما يزيد من سرعة الشحن، ولكن سيتم "بيعه بشكل منفصل" لإبقاء أسعار بيع الهاتف منخفضة نسبيا. وستضيف Apple أجهزة مودم 5G جديدة باهظة الثمن إلى iPhone 12. ويقال إن iPHONE PRO 12 و iPHONE pRO 12mAX جاهزان الآن للتوصيل للعملاء مع شاشات 120 هرتز. ولكن لم تتمكن Apple من الوصول إلى شاشات LTPO الجديدة من Samsung حيث فضلت الشركة الكورية تخصيص هذه التقنية حصريا لجهاز 20 Galaxy NotE الذي كان واحداً من خمسة أجهزة جديدة تم الكشف عنها الشهر الماضي من سامسونغ - إلى جانب جهاز لوحي محدث، وساعة ذكية، وسماعات أذن لاسلكية، وهاتف ذكي قابل للطي. يأتي أحدث هاتف ذكي من سامسونج في نسختين - جهاز Galaxy Note 20 بحجم 6.7 بوصة، وسعر 1000 دولار، وNOTE 20 ULTRA بشاشة بحجم 6.9 بوصة، وسعر يبدأ من 1300دولار. أيضاً يتمتع Note 20 بأسرع معالج في سلسلة Galaxy ويتميز بما تسميه Samsung أفضل شاشاتها حتى الآن كما أنه يعمل بتقنية 5G. وتقول سامسونغ إن Note 20 مزود أيضاً بـخاصية "المشاركة القريبة" - وهي نسخة Android من AirDrop الموجودة على هواتف Apple - والذي يسمح للمستخدمين بتبادل الملفات عن طريق توجيه الهواتف إلى بعضها البعض، وميزة أخرى تسمى DeX للاتصال لاسلكيًا بأجهزة التلفزيون الذكية. |
| 28,807 | باحث: "آبل" وافقت بالخطأ على برامج ضارة متخفية |
وافقت شركة "آبل" عن طريق الخطأ على برامج ضارة شائعة متخفية في شكل تحديث لبرنامج (Adobe Flash Player) للعمل على نظام (macOS) الخاص بحواسبها. وتتبع الشركة عادةً قواعد صارمة لمنع وصول البرامج الضارة إلى متجر تطبيقاتها. وأطلقت "آبل" في العام الماضي منهجاً هو الأصعب حتى الآن في هذا السياق، حيث طالبت المطورين بإرسال تطبيقاتهم مسبقاً لإجراء فحوصات أمنية عليها قبل الموافقة على تشغيلها على ملايين أجهزة (Mac). وتفحص العملية، التي تسميها "آبل" بـ"التوثيق"، التطبيق بحثاً عن مشكلات الأمان والمحتوى الضار. وإذا تمت الموافقة على التطبيق، يسمح "برنامج الفحص الأمني" المدمج في جهاز "ماك" بتشغيل التطبيق، بينما يتم رفض التطبيقات التي لا تجتاز اختبار "التوثيق" فيتم حظر تشغيلها. لكن باحثين أمنيين أكدوا مؤخراً أنهم اكتشفوا أول برنامج ضار يعمل في (macOS) وقد تم توثيقه عن غير قصد من قبل شركة "آبل". واكتشف بيتر دانتيني الذي يعمل مع باتريك واردل، وهو باحث مشهور في مجال أمان نظام "ماك"، سلسلة برمجيات خبيثة متنكرة في صورة برنامج تثبيت "أدوبي فلاش" (Adobe Flash). وتُعد هذه البرمجيات شائعة وموجودة منذ سنوات، ومعظمها يشغل تعليمات برمجية غير موثقة تحظرها أجهزة "ماك" فور فتحها. لكن دانتيني وواردل وجدا أن أحد مثبتات "فلاش" الخبيثة لديه تعليمات برمجية موثقة بواسطة "آبل"، ويعمل على أجهزة "ماك". وأكد واردل أن شركة "آبل" قد وافقت على التعليمات البرمجية المستخدمة بواسطة برنامج (Shlayer) الضار الشهير، الذي قالت شركة الأمن "كاسبرسكي"، إنه التهديد الأكثر شيوعاً الذي واجهته أجهزة "ماك" في عام 2019. ويُعد (Shlayer) بمثابة نوع من البرامج الإعلانية التي تعترض حركة المرور المشفرة على الانترنت، حتى من المواقع التي تدعم (HTTPS) ، ويستبدل مواقع الانترنت ونتائج البحث بإعلاناته الخاصة، مما يسمح له بجني أموال إعلانات احتيالية. وقال واردل: "على حد علمي فإن هذه هي المرة الأولى التي توثق فيها شركة "آبل" برمجيات خبيثة عن طريق الخطأ بعد ظهور عملية التوثيق الجديدة الخاصة بها" في 2019. وأضاف: ""هذا يعني أن شركة "آبل" لم تكتشف التعليمات البرمجية الخبيثة عند إرسالها ووافقت على تشغيلها على أجهزة "ماك"، حتى على الإصدار التجريبي غير المطروح من (macOS Big Sur)، المتوقع إصداره في وقت لاحق من هذا العام". من جهته، قال متحدث باسم شركة "آبل" في بيان: "تتغير البرامج الضارة باستمرار، ويساعدنا نظام التوثيق في منع البرامج الضارة من العمل على جهاز "ماك"، ويسمح لنا بالاستجابة بسرعة عند اكتشافها". وأضاف أنه تم إبطال البرنامج الضار وتعطيل حساب مطوره والشهادات المرتبطة به، شاكراً "الباحثين على مساعدتهم في الحفاظ على أمان مستخدمينا". |
| 28,806 | الفصل الأول: مفهوم التصريف Compilation في لغات البرمجة |
اللغات المصرفة (Compiled) واللغات المفسرة (Interpreted)
تندرج لغات البرمجة تحت صنفين اثنين: إما مُصرَّفة (compiled) أو مُفسَّرة (interpreted)، فيعني المصطلح لغة مُصرَّفة (compiled) ترجمة البرامج إلى لغة الآلة (machine language) لينفذها العتاد (hardware)، أما مصطلح لغة مُفسَّرة (interpreted) فيعني وجود برنامج يدعى «المفسِّر» (interpreter) يقرأ البرامج وينفذها مباشرةً وآنيًا . تُعَد لغة البرمجة C على سبيل المثال لغة مُصرَّفة (compiled) عادًة، بينما تُعَد لغة Python لغة مُفسَّرة (interpreted)، لكنّ التمييز بين المصطلحين غير واضح دائمًا حيث: أولًا يمكن للغات البرمجة المُفسَّرة أن تكون مُصرَّفة والعكس صحيح، فلغة C مثلًا هي لغة مصرَّفة ولكن يوجد مفسِرات لها تجعلها لغة مفسَّرةً أيضًا والأمر مماثل للغة Python المفسَّرة التي يمكن أن تكون مصرَّفة أيضًا. ثانيًا توجد لغات برمجة، جافا (Java) مثلًا، تستخدم نهجًا هجينًا (hybrid approach) يجمع بين التصريف والتفسير، حيث يبدأ هذا النهج بترجمة البرنامج إلى لغة وسيطة (intermediate language) عبر مصرِّف ثم تنفيذ البرنامج عبر مُفسِّر. تَستخدم لغة Java لغةً وسيطةً (intermediate language) تُدعى جافا بايتكود Java bytecode شبيهة بلغة الآلة، لكنها تُنفَّذ باستخدام مُفسِّر برمجيات يدعى بآلة جافا الافتراضية (Java virtual machine وتختصر إلى JVM). وسم لغة البرمجة بكونها لغة مفسَّرة أو مصرَّفة لا يكسبها خاصية جوهرية، على كل حال توجد اختلافات عامة بين اللغتين المُصرَّفة والمُفسَّرة. الأنواع الساكنة (Static Types)تدعم العديد من اللغات المُفسَّرة الأنواع الديناميكية (Dynamic Types)، وتقتصر اللغات المُصرَّفة على الأنواع الساكنة (Static Types). فيمكن في اللغات ساكنة النوع معرفة أنواع المتغيرات بمجرّد قراءة شيفرة البرنامج أي تكون أنواع المتغيرات محدَّدة قبل تنفيذ البرنامج، بينما تكون أنواع المتغيرات في اللغات التي توصف بأنها ديناميكية النوع غير معروفة قبل التنفيذ وتحدد وقت تنفيذ البرنامج. ويشير مصطلح ساكن (Static) إلى الأشياء التي تحدث في وقت التصريف (Compile time) (أي عند تصريف شيفرة البرنامج إلى شيفرة التنفيذ)، بينما يشير مصطلح Dynamic إلى الأشياء التي تحدث في وقت التشغيل (run time) (أي عندما يُشغَّل البرنامج). يمكن كتابة الدالة التالية في لغة Python على سبيل المثال: def add(x, y): return x + yلا يمكن معرفة نوع المتغيرين y وx بمجرد قراءة الشيفرة السابقة حيث لا يحدَّد نوعهما حتى وقت تنفيذ البرنامج، لذلك يمكن استدعاء هذه الدالة عدة مرات بتمرير قيمة بنوع مختلف إليها في كل مرة، وستعمل عملًا صحيحًا ما دام نوع القيمة المُمرَّرة إليها مناسبًا لتطبيق عملية الجمع عليها، وإلا سترمي الدالة اعتراضًا (exception) أو خطأً وقت التشغيل. يمكن كتابة نفس الدالة السابقة في لغة البرمجة C كما يلي: int add(int x, int y) { return x + y; }يتضمّن السطر الأول من الدالة تصريحًا واضحًا وصريحًا بنوعي القيمتين التي يجب تمريرهما إلى الدالة ونوع القيمة التي تعيدها الدالة أيضًا، حيث يُصرَّح عن y وx كأعداد صحيحة (integers)، وهذا يعني أنه يمكن التحقق في وقت التصريف (compiled time) فيما إذا كان مسموحًا استخدام عامل الجمع مع النوع integer أم لا (إنه مسموح حقًا)، ويُصرَّح عن القيمة المُعادة كعدد صحيح (integer) أيضًا. وعندما تُستدعى الدالة السابقة في مكان آخر من البرنامج يستطيع المصرِّف (compiler) باستخدام التصريحات أن يتحقق من صحة نوع الوسطاء (arguments) الممررة للدالة، ومن صحة نوع القيمة التي تعيدها الدالة أيضًا. يحدث التحقق في اللغات المصرَّفة قبل بدء تنفيذ البرنامج لذلك يمكن إيجاد الأخطاء باكرًا، ويمكن إيجاد الأخطاء أيضًا في أجزاء البرنامج التي لم تُشغَّل على الإطلاق وهو الشيء الأهم. علاوًة على ذلك لا يتوجب على هذا التحقق أن يحدث في وقت التشغيل (runtime)، وهذا هو أحد الأسباب التي تجعل تنفيذ اللغات المُصرَّفة أسرع من اللغات المُفسَّرة عمومًا. يحافظ التصريح عن الأنواع في وقت التصريف (compile time) على مساحة الذاكرة في اللغات ساكنة النوع أيضًا، بينما تُخزَّن أسماء المتغيرات في الذاكرة عند تنفيذ البرنامج في اللغات ديناميكية النوع التي لا تحوي تصريحات واضحة لأنواعها وتكون أسماء هذه المتغيرات قابلة للوصول من قبل البرنامج. توجد دالة مبنيّة مسبقًا في لغة Python هي locals، تعيد هذه الدالة قاموسًا (dictionary) يتضمن أسماء المتغيرات وقيمها. ستجد تاليًا مثالًا عن مفسِّر Python: >>> x = 5 >>> print locals() {'x': 5, '__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, '__package__': None}يبيّن المثال السابق أنه يُخزَّن اسم المتغير في الذاكرة عند تنفيذ البرنامج (مع بعض القيم الأخرى التي تُعَد جزءًا من بيئة وقت التشغيل الافتراضية). بينما تتواجد أسماء المتغيرات في اللغات المُصرَّفة في الذاكرة في وقت التصريف (compile time) ولا تتواجد في وقت التشغيل (runtime). حيث يختار المصرّف موقعًا في الذاكرة لكل متغير ويسجل هذه المواقع كجزء من البرنامج المُصرَّف (سنتطرّق إلى مزيد من التفاصيل عن ذلك لاحقًا). يدعى موقع المتغير في الذاكرة عنوانًا (address) حيث تُخزَّن قيمة كل متغير في عنوانه، ولا تُخزَّن أسماء المتغيرات في الذاكرة على الإطلاق في وقت التشغيل (ولكن هذا شيء اختياري للمصرف فيمكن أن يضيف المصرِّف (compiler) أسماء المتغيرات إلى الذاكرة في وقت التشغيل بهدف تنقيح الأخطاء (debugging)، أي لمعرفة أماكن تواجد الأخطاء في البرنامج). عملية التصريف (The compilation process)يجب أن يفهم المبرمج فهمًا تامًا ما يحدث خلال عملية التصريف (compilation)، فإذا فُهِمت هذه العملية جيدًا سيساعد ذلك في تفسير رسائل الخطأ وتنقيح الأخطاء في الشيفرة وأيضًا في تجنُّب الزلات الشائعة. للتصريف خطوات هي:
ينفذ المصرف كل خطوات التصريف ويولّد ملفًا تنفيذيًا (executable file) عند تشغيل الأداة gcc. المثال التالي هو شيفرة بلغة C: #include <stdio.h> int main() { printf("Hello World\n"); }إذا حُفِظت الشيفرة السابقة في ملف اسمه hello.c فيمكن تصريفها ثم تشغيلها كما يلي: $ gcc hello.c $ ./a.outتخزّن الأداة gcc الشيفرة القابلة للتنفيذ (executable code) في ملف يدعى افتراضيًا a.out (والذي يعني في الأصل خرج مُجمَّع (assembler output)). ينفذ السطر الثاني الملف التنفيذي، حيث تخبر البادئة ./ الصدفة (shell) لتبحث عن الملف التنفيذي في المجلّد (directory) الحالي. من الأفضل استخدام الراية -o لتوفير اسم أفضل للملف التنفيذي، حيث يُعطى الملف التنفيذي الناتج بعد عملية التصريف اسمًا افتراضيًا (a.out) بدون استخدام الراية -o، ولكن يُعطى اسمًا محددًا باستخدام الراية -o كما يلي: $ gcc hello.c -o hello $ ./hello التعليمات المُصرَّفة (Object code)تخبر الراية -c الأداة gcc بأن تصرِّف البرنامج وتولّد شيفرة الآلة (machine code) فقط، بدون أن تربط (link) البرنامج أو تولّد الملف التنفيذي. $ gcc hello.c -cالنتيجة هي توليد ملف يُدعى hello.o، حيث يرمز حرف o إلى object code وهو البرنامج المُصرّف. والتعليمات المُصرَّفة (object code) غير قابلة للتنفيذ لكن يمكن ربطها بملف تنفيذي. يقرأ الأمر nm في UNIX ملف التعليمات المُصرَّفة (object file) ويولّد معلومات عن الأسماء التي يُعرِّفها ويستخدمها الملف، فمثلًا: $ nm hello.o 0000000000000000 T main U putsيشير الخرج السابق إلى أن hello.o يحدد اسم التابع الرئيسي main ويستخدم دالة تدعى puts، والتي تشير إلى (put string). وتطّبق gcc تحسينًا (optimization) عن طريق استبدال printf (وهي دالة كبيرة ومعقدة) بالدالة puts البسيطة نسبيًا. يمكن التحكم بمقدار التحسين الذي تقوم به gcc مع الراية -O، حيث تقوم gcc بإجراء تحسينات قليلة جدًا افتراضيًا مما يجعل تنقيح الأخطاء (debugging) أسهل. بينما يفعّل الخيار -O1 التحسينات الأكثر شيوعًا وأمانًا، وإذا استخدمنا مستويات أعلى (أي O2 وما بعده) فستفعِّل تحسينات إضافية، ولكنها تستغرق وقت تصريف أكبر. لا ينبغي أن يغير التحسين من سلوك البرنامج من الناحية النظرية بخلاف تسريعه، ولكن إذا كان البرنامج يحتوي خللًا دقيقًا (subtle bug) فيمكن أن تحمي عملية التحسين أثره أو تزيل عملية التحسين هذا الخلل. إيقاف التحسين فكرة جيدة أثناء مرحلة التطوير عادةً، وبمجرد أن يعمل البرنامج ويجتاز الاختبارات المناسبة يمكن تفعيل التحسين والتأكد من أن الاختبارات ما زالت ناجحة. الشيفرة التجميعية (Assembly code)تتشابه الرايتان -S و-c، حيث أن الراية -S تخبر الأداة gcc بأن تصرف البرنامج وتولد الشيفرة التجميعية (assembly code), والتي هي بالأساس نموذج قابل للقراءة تستطيع شيفرة الآلة (machine code) قراءته. $ gcc hello.c -Sينتج ملف يدعى hello.s والذي يبدو كالتالي .file "hello.c" .section .rodata .LC0: .string "Hello World" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movl $.LC0, %edi call puts movl $0, %eax popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size main, .-main .ident "GCC: (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3" .section .note.GNU-stack,"",@progbitsتُضبَط gcc عادةً لتولد الشيفرة للآلة التي تعمل عليها، ففي حالتي، يقول المؤلف، وُلِّدت شيفرة لغة آلة لمعمارية x86 للمعالجات والتي يمكن تنفيذها على شريحة واسعة من معالجات Intel ومعالجات AMD وغيرهما وفي حال استهداف معمارية مختلفة، فستولد شيفرة أخرى مختلفة عن تلك التي تراها الآن. المعالجة المسبقة (Preprocessing)يمكن استخدام الراية -E لتشغيل المعالج المُسبق (preprocessor) فقط بدون الخطوات الأخرى من عملية التصريف: $ gcc hello.c -Eسينتج خرج من المعالج المسبق فقط. يحتوي المثال السابق تلقائيًا على الشيفرة المُضمَّنة (included code) المبنية مسبقًا والمتعلقة بالمكتبة stdio.h المذكورة في بداية البرنامج، وبالتالي يتضمن كل الملفات المُضمَّنة المتعلقة بتلك المكتبة، وكل الملفات الفرعية التابعة للملفات السابقة والملفات الموجودة في الملفات الفرعية أيضًا وهكذا. فعلى حاسوبي، يقول المؤلف، وصل العدد الإجمالي للشيفرة الإجمالية المضمنة إلى 800 سطر، ونظرًا أن كل برنامج C يتضمّن ملف الترويسات stdio.h تقريبًا، لذلك تُضمَّن تلك الأسطر في كل برنامج مكتوب بلغة C. وتتضمّن العديد من برامج C المكتبة stdlib.h أيضًا، وبالتالي ينتج أكثر من 1800 سطر إضافي من الشيفرة يجب تصريفها جميعًا. فهم الأخطاء (Understanding errors)أصبح فهم رسائل الخطأ أسهل بعد معرفة خطوات عملية التصريف، فمثلًا عند وجود خطأ في الموجّه #include ستصل رسالة من المعالج المسبق هي: hello.c:1:20: fatal error: stdioo.h: No such file or directory compilation terminated.أما عند وجود خطأ صياغي (syntax error) متعلق بلغة البرمجة، ستصل رسالة من المُصرِّف (compiler) هي: hello.c: In function 'main': hello.c:6:1: error: expected ';' before '}' tokenعند استخدام دالة غير معرَّفة في المكتبات القياسية ستصل رسالة من الرابط (linker) هي: /tmp/cc7iAUbN.o: In function `main': hello.c:(.text+0xf): undefined reference to `printff' collect2: error: ld returned 1 exit statusld هو اسم رابط UNIX ويشير إلى تحميل (loading)، حيث أن التحميل هو خطوة أخرى من عملية التصريف ترتبط ارتباطًا وثيقًا بخطوة الربط (linking). تجري لغة C تحققًا سريعًا جدًا ضمن وقت التشغيل بمجرد بدء البرنامج، لذلك من المحتمل أن ترى بعضًا من أخطاء وقت التشغيل (runtime errors) فقط وليس جميعها، مثل خطأ القسمة على صفر (divide by zero)، أو تطبيق عملية عدد عشري غير مسموحة وبالتالي الحصول على اعتراض عدد عشري (Floating point exception)، أو الحصول على خطأ تجزئة (Segmentation fault) عند محاولة قراءة أو كتابة موقع غير صحيح في الذاكرة. ترجمة -وبتصرّف- للفصل Compilation من كتاب Think OS A Brief Introduction to Operating Systems |
| 28,805 | الإنترنت وما بعده وعلاقته بجافا |
يمكن وصل الحواسيب مع بعضها البعض في شبكات (networks). يستطيع الحاسب على الشبكة أن يتواصل مع الحواسيب الأخرى على نفس الشبكة عبر تبادل البيانات والملفات أو إرسال واستقبال الرسائل. يمكن حتى للحواسيب على شبكة ما أن تتعاون معًا في إجراء حسابات ضخمة. في يومنا هذا، تتصل ملايين الحواسيب في أنحاء العالم بشبكة عملاقة واحدة تدعى الإنترنت (Internet). تتصل حواسيب جديدة إلى الإنترنت في كل يوم، عبر اتصالات لاسلكية واتصالات فيزيائية باستخدام تقنيات مختلفة مثل خط المشترك الرقمي (DSL)، مودمات الكابل التلفزيوني (Cable modems) والإيثرنت (Ethernet). هناك بروتوكولات مُفصّلة للتواصل عبر الإنترنت. يُعرّف البروتوكول ببساطة على أنه توصيف مُفصل لكيفية إجراء الاتصالات. لكي يتسنى لحاسوبين التواصل معًا أصلًا، عليهما استخدام نفس البروتوكولات. البرتوكولان الأساسيّان على شبكة الإنترنت هما بروتوكول الإنترنت IP (مختصر للعبارة Internet Protocol) والذي يوّصف كيفية نقل البيانات فيزيائيًّا من حاسب إلى آخر، وبروتوكول التحكم بالنقل TCP (مختصر للعبارة Transmission Control Protocol) والذي يضمن أنّ البيانات المرسلة باستخدام IP استُقبلت كاملةّ وخاليةً من الأخطاء. يُؤمِّن هذان البروتوكولان، واللذان يشار لهما معًا بالمصطلح TCP/IP، أساس التواصل هذا. تستخدم البروتوكولات الأخرى TCP/IP لإرسال أنواع مختلفةٍ من المعلومات مثل صفحات الويب، البريد الإلكتروني، وملفات البيانات. تجري جميع عمليات الاتصال على شبكة الإنترنت على هيئة رُزم (packets). تتألف الرزمة من بعض البيانات المُرسلة من حاسب إلى آخر، مضافًا إليها معلومات العنونة التي تشير إلى الموضع من شبكة الإنترنت الذي يفترض أن تذهب تلك البيانات إليه. فكّر بالرزمة وكأنها ظرف بريدي يحمل العنوان ويحتوي رسالة بداخله. (تمثل الرسالة البيانات المراد إرسالها.) تتضمن الرزمة أيضًا عنوان استجابة (return address) أي عنوان المرسل. يمكن للرزمة أن تحمل كمية محدودة من البيانات فقط، ويجب تقسيم الرسائل الأطول إلى عدة رزم يتم إرسالها عندئذ على الشبكة بشكلٍ فرديّ وإعادة تجميعها عند وصولها إلى وجهتها. يمتلك كل حاسبٍ على شبكة الإنترنت عنوان IP (أي IP address). هذا العنوان هو رقمٌ يُميّز هذا الحاسب على نحوٍ فريد عن جميع الحواسيب الأخرى على شبكة الإنترنت. (في الحقيقة، ادعاء التّفرّد هذا غير حقيقيّ كليًّا، لكن الفكرة الأساسيّة صحيحة، أما الحقيقة الكاملة فمعقّدة بعض الشيء.) يستخدم عنوان IP لعنونة الرزم. يمكن للحاسب إرسال البيانات إلى حاسب آخر على شبكة الإنترنت فقط إذا ما كان يعرف عنوان IP لذاك الأخير. نظرًا لأنّ الناس يُفضّلون استخدام الأسماء عوضًا عن الأرقام، لذا تُميّز معظم الحواسب أيضًا بأسماء تدعى أسماء النطاق (domain names). على سبيل المثال، يمتلك الحاسب الرئيسي لقسم الرياضيات في جامعة هوبارت وويليام سميث اسم النطاق math.hws.edu. (تُستخدم أسماء النطاق للسهولة فقط، ما زال حاسبك يحتاج لمعرفة عنوان IP قبل أن يستطيع التواصل. هناك حواسيب على شبكة الإنترنت مهمّتها ترجمة أسماء النطاق إلى عناوين IP. عندما تستخدم اسم نطاق، يحتاج حاسوبك إلى إرسال رسالة إلى خادم أسماء النطاق للبحث عن عنوان IP الموافق. بعدئذٍ، يستخدم حاسبك عنوان IP بدلًا من اسم النطاق، للتواصل مع الحاسب الآخر.) يُؤمِّن الإنترنت عددًا من الخدمات للحواسيب المتصلة به (وبالطبع لمستخدمي تلك الحواسيب). تستخدم هذه الخدمات TCP/IP لإرسال أنواع مختلفة من البيانات عبر الإنترنت. من أكثر تلك الخدمات شيوعًا، الرسائل الفورية، مشاركة الملفات، البريد الإلكتروني والشبكة العنكبوتية العالمية. لكل خدمة بروتوكولاتها الخاصة التي تستخدمها للتحكم بنقل البيانات عبر الشبكة. لكلّ خدمةٍ أيضًا ما يشبه واجهة مستخدم تسمح للمستخدم بمعاينة، وإرسال، واستقبال البيانات من خلال الخدمة. على سبيل المثال، تستخدم خدمة البريد الإلكتروني بروتوكولًا يعرف باسم بروتوكول نقل البريد البسيط (Simple Mail Transfer Protocol ويختصر إلى SMTP) لنقل رسائل البريد الإلكتروني من حاسبٍ إلى آخر. تستخدم بروتوكولات أخرى، مثل POP و IMAP، لجلب الرسائل من حساب البريد الإلكتروني ليتسنى للمستلم قراءتها. بيد أنّ الشخص الذي يستخدم البريد الإلكتروني لا يحتاج لفهم أو حتى معرفة وجود هذه البروتوكولات. وتقوم، عوضًا عن ذلك، برامج الحاسب باستخدام هذه البروتوكولات وراء الكواليس لإرسال واستقبال رسائل البريد الإلكتروني. تؤمن هذه البرامج للمستخدم واجهة مستخدم سهلة الاستخدام تخفي خلفها بروتوكولات الشبكة. تكاد الشبكة العنكبوتية العالمية تكون أكثر خدمات الشبكة تشويقًا، إذ تسمح لك بطلب صفحات من المعلومات المُخزَّنَة على حواسيب في جميع أرجاء الإنترنت. يمكن أن تحتوي صفحة الويب على روابط لصفحات أخرى على الحاسب نفسه الذي حصلت منه على الصفحة أو على حواسيب أخرى في أي مكان من العالم. يُطلق على الحاسب الذي يخزن صفحات المعلومات هذه باسم مخدِّم أو خادم ويب (web server). يُمثّل نوعٌ من البرنامج يدعى بمتصفحات الويب (web browser) واجهة المستخدم لخدمة الويب هذه. نذكر من أكثر متصفحات الويب شعبية: Microsoft Edge، و Internet Explorer، وفايرفوكس، وكروم، وسفاري. تستخدم متصفح الويب لطلب صفحةٍ من المعلومات. يرسل المتصفح طلبًا لتلك الصفحة إلى الحاسب الذي يختزنها، وعند استلام ردّ من ذاك الحاسب، يعرض متصفح الويب الصفحة لك في هيئة مُنسّقة ومرّتبة. متصفح الويب هو مجرد واجهة مستخدم للويب. يستخدم متصفح الويب وراء الكواليس بروتوكولًا يدعى بروتوكول نقل النصوص الفائقة HTTP (اختصارًا للعبارة HyperText Transfer Protocol) لإرسال طلب كل صفحة واستقبال الاستجابة من خادم الويب. ليس هذا فحسب، قد تفكر الآن، هل لكل هذا علاقةٌ بجافا؟ في الحقيقة، جافا مترافقة بقوة مع شبكة الإنترنت والشبكة العنكبوتية العالمية. كان من أكبر نقاط قوة جافا في بداية صدورها هو قدرتها على كتابة البريمجات (applets). البريمج هو برنامج صغير يُرسل عبر شبكة الإنترنت ويُنفّذ على صفحة ويب. منحت البريمجات لصفحات الويب القدرة على أداء مهام معقدة وإجراء تفاعلات معقدة مع المستخدم. مع الأسف، فقد عانت البريمجات من العديد من المشاكل ومن ثم توقف استخدامها وظهرت الآن خيارات أخرى لتنفيذ البرامج على صفحات الويب. رغم أنّ البريمجات تُمثّل جانبًا واحدًا من علاقة جافا بالإنترنت. يمكن استخدام جافا لكتابة تطبيقات معقدة مستقلة لا تعتمد على متصفح ويب. الكثير من هذه التطبيقات مرتبطة بالشبكة. على سبيل المثال، تستخدم الكثير من أكبر وأعقد مواقع الويب برمجيات خادم ويب مكتوبةً بلغة جافا. تتضمن الجافا دعمًا ممتازًا لبروتوكولات الشبكة، كما أنّ استقلالها عن المنصة يسمح بكتابة برامج شبكية تعمل على أنواع مختلفة كثيرة من الحواسيب. ستتعلم المزيد حول دعم جافا للشبكة لاحقًا من هذه السلسلة. لا يُمثل دعم جافا للشبكة ميزتها الوحيدة. إلّا أنّ الكثير من لغات البرمجة الجيدة اندثرت بعد اختراعها بفترة وجيزة. تحلّت جافا بالحظ الوفير لتستغل شعبية الإنترنت الكثيفة والمتزايدة. مع نضوج جافا، وصلت تطبيقاتها لمستوً يتعدى شبكة الإنترنت بكثير. تأتي النسخة المعيارية من جافا بدعم مسبق للكثير من التقنيات، كالتشفير، وضغط البيانات، ومعالجة الصوت، والرسوميات ثلاثية الأبعاد. كما كتب المبرمجون مكتبات جافا لتؤمن مقدرات إضافية. يمكن تطوير أنظمة معقدة عالية الأداء باستخدام جافا. على سبيل المثال، هادوب (Hadoop)، وهو نظام لمعالجة البيانات على نطاق واسع، مكتوب بلغة جافا. تستخدم كل من ياهو، وفيسبوك والكثير من مواقع الويب الأخرى نظام Hadoop لمعالجة كميات البيانات الضخمة التي يولدوها مستخدمو تلك المنصات. أبعد من ذلك، لا يقتصر استخدام جافا على الحواسيب التقليدية. يمكن استخدام جافا لكتابة برامج للهواتف الذكية (ولكن ليس لهواتف iPhone). حيث أنّ جافا هي لغة التطوير الأساسية للأجهزة التي تعمل بنظام آندرويد. (يستخدم نظام آندرويد نسخة شركة غوغل من جافا ولا يستخدم نفس مكونات واجهة المستخدم الرسومية كما في جافا المعيارية.) كما أن جافا هي لغة البرمجة المستخدمة في قارئ الكتب الإلكترونية Amazon Kindle وفي الميزات التفاعلية على أقراص الفيديو Blu-Ray. في وقتنا هذا، تحتل جافة مرتبةً متقدمة بين أكثر لغات البرمجة شعبية وأوسعها استخدامًا. إنّها خيار جيد تقريبًا في أي مشروع برمجي يُقصد له العمل على أكثر من نوع من أجهزة الحواسيب كما أنها خيار منطقي حتى في حالة البرامج التي ستعمل على جهاز واحد. من المرجّح أنّها ما تزال لغة البرمجة الأكثر تدريسًا في الكليّات والجامعات. إنّها مشابهة لحد كبير للكثير من لغات البرمجة الشائعة، مثل C++ و JavaScript، و Python لدرجة أنّ معرفتك بك ستمنحك بداية جيدة لتعلم هذه اللغات أيضًا. عمومًا، فإنّ تعلّم جافا هو نقطة انطلاق رائعة على طريقك لتصبح مبرمجًا خبيرًا. نأمل أنك ستستمتع بهذه الرحلة. ترجمة وبتصرف للفصل The Internet and Beyond من كتاب Introduction to Programming Using Java |
| 28,745 | دليل أجهزة التعليم عن بُعد في عصر «كورونا» |
أقلام رصاص وأوراق وأقلام تلوين... لا، لن تكون هذه المتطلبات الأساسية للعام الدراسي المقبل؛ بل جهاز الكومبيوتر. بعد الارتباك الذي حصل نتيجة تسبب فيروس «كورونا» في إقفال المدارس في الربيع الماضي، وضع كثير من المدارس الأميركية خطة تعليم تعتمد بشكل رئيسي على «اللابتوبات» والأجهزة اللوحية لتطبيقها في الخريف المقبل. وقد كشفت شركة «فيوتشر سورس» المتخصصة في التحليلات الصناعية، أن المدارس الأميركية ابتاعت العام الماضي حوالي 30 مليون «لابتوب» وجهاز لوحي، بينما ابتاع أولياء الأمور 2.2 مليون جهاز من الفئتين. التعليم الإلكتروني |