اذهب إلى المحتوى

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. اليوم
  3. أجل كما قلت لي أولا شكرا على كلامك ففي بعض المشاكل أجلس بالساعات وأسأل هنا وهناك وأبحث وحتى أستخدم الذكاء الاصطناعي ولكن لا يساعدني دائما بل يزيد المشاكل فعندما أستسلم أسأل أحد المدربين وأحيانا أخرى أتكاسل قليلا عن البحث وأسأل المدربين شكرا على كلامك الطيب وأيضا لا أكذب ولكن أصبحت أكثر للأحطاء التي تأتي إلي وأفهم أين المشكلة فهذا شيئ جيد ويساعدني كثيرا وفي أحد المشاكل التي واجهتني من البحث استطعت حل مشكلة في جهازي مما أدت إلى مساعدتي في لغات البرمجة وهي مشكلة الpath موضوع يطال شرحه ولكن عرفت ما هو الحل أيها المدربون شكرا لكم جدا على مساعدتكم لي ومن الدربين الذين يعرفونني مشاكل القوية والثقيلة والصعبة جدا فأشكركم وبشدة على جهدكم لمساعدتي 😅
  4. بالطبع لا، قد أديت ما عليك، هناك أخطاء بحاجة إلى خبرة مكتسبة تتأتى من التعلم من الأخطاء بمرور الوقت وتطور المستوى من خلال تنفيذ المشاريع والممارسة العملية والتعرض لأفكار وأخطاء مختلفة، لذا في البداية أنت بحاجة إلى من يرشدك لتوفير الوقت عليك وتوجيهك للطريق الصحيح. ليس المطلوب منك حل جميع المشاكل، بل المطلوب هو بذل جهدك ومحاولة اكتشاف ما المشكلة وفهم السبب، وإن تعذر ذلك عليك بالسؤال فمن لا يسأل لا يصل وتلك خصلة ليست جيدة فالسؤال بعد أن إتمام جانبك من المجهود هو الصحيح. المقال التالي سيفيدك:
  5. وعليكم السلام ورحمة الله وبركاته . نعم صحيح إن الأخطاء هى ما ستعلمك أكثر من أى شئ . حيث في بداية مسيرتى وبداية التعلم حينما كنت أقع في خطأ ما فإنى أقوم بالبحث عنه وحينما أجد الإجابة فإنها تظل في ذاكرتى ومن الصعب أن أخطا نفس الخطأ مرة أخرى أو إذا تكرر معى فسأستطيع حله بسهوله . ولكن توجد بعض الأخطاءالتي من المستحيل أن تستطيع حلها بنفسك فبعد المحاولات الكثيرة التى من الممكن أن تستمر لأيام ستجد أنك لم تستطع حلها فهنا لا بئس في سؤال أى شخص أو حتى نحن المدربون هنا سعداء بحل أى مشكلة تواجه أى طالب. لذلك فإن هذا ليس تقصيرا منك بل هذا هو المسار الصحيح للتعلم حاول حل الأخطاء نفسك أولا وإذا وجدت صعوبة فلا تتردد في السؤال وحاول فهم لما حدثت المشكلة وفهم الحل الخاص بها . حيث إذا لم تقم بالمحاولة بنفسك فستستهل الأمور و إذا واجهتك أى مشكلة فلن تستطيع حلها حيث أول شئ ستقوم به هو سؤال أى شخص ولن تحاول حتى فهم الخطأ و الحل .
  6. السلام عليكم! سمعت كثيرا عن موضوع تعلم البرمجة والأخطاء وسمعت عن أنه إذا واجهتك مشكلة قم بالبحث بنفسك وما إلى ذلك فهل بأنني أسأل المدربين بارك الله فيهم هل هذا تقصير مني وفي نفس الوقت بعض المشاكل أبحث عنها بكقرة وعنما أستسلم أسأل المدرب
  7. السلام عليكوم ورحمة الله و بركاته لوسمحتم محتاج كيفية استخدام محرك قوالب smarty و تسريع الموقع به بحيث في جذر الموقع مجلد template و بداخلة مجلدات القوالب و في لوحة التحكم يوجد صفحة تعرض جميع القوالب على شكل جدول في كل صف خاص بالقالب يوجد زر "تركيب القالب" ارجو عمل مثال للفهم و التطوير حسب المراد و جزاكم الله خير.
  8. تعلم الآلة يعد مجالًا واسعًا ومعقدًا، ولكنه بالطبع أكثر سهولة عند البدء بالمفاهيم الأساسية وتتقدم بشكل تدريجي، وبما أنك تدرس حاليًا الـ Regression الانحدار، فتلك نقطة جيدة للبدء. وتتوفر العديد من المكتبات والأدوات مثل Scikit-Learn، TensorFlow، و PyTorch التي تسهل عملية بناء نماذج تعلم الآلة، فتلك المكتبات توفر واجهات برمجية سهلة الاستخدام وأدوات جاهزة للانحدار، التصنيف، التجميع، وغيرها. المجال الذي اخترته ليس بالسهل فهو بحاجة إلى وقت أطول وصبر كذلك، لذا عليك البدء بالأساسيات ثم التدرج ولا تنتظر نتائج سريعة، لذا مفتاح النجاح هو الاستمرار والصبر. فلا تنظر للأمر بصورته الكلية فتحبط، بل حاول تخطي جزء جزء لتصل، فمع تقدمك في تعلم الآلة ومحاولتك لحل مشكلات أكثر تعقيدًا، فإن تعقيد الكود يزيد بشكل كبير، وسيتطلب منك ذلك القيام بالعديد من المهام الإضافية، مثل: معالجة البيانات Preprocessing وتشمل تنظيف البيانات، معالجة القيم الناقصة، تحويل البيانات النصية إلى رقمية، وغيرها، وذلك أمرًا مرهقًا ويستغرق وقتًا طويلًا. هندسة الميزات Feature Engineering من خلال إنشاء ميزات جديدة من البيانات الحالية بشكل إبداعي لزيادة دقة النموذج، وتلك العملية تتطلب تفكيرًا إبداعيًا وفهمًا عميقًا للبيانات.
  9. السلام عليكم انا هنا بتكلم فقط علي مجال تعلم الاله مش تعلم العميق الان انا بتدرس مجال تعلم الاله لسه في اول حاجه وهي الRegression فا هل مجال تعليم الاله سهل من حيث بناء الكود ؟
  10. هل إصدار Gradle المستخدم في مشروعك متوافق مع إصدار Android Gradle Plugin (AGP) المذكور في الخطأ (7.3.0)، عليك العثور على ملف gradle-wrapper.properties وتحققي من تعيين إصدار Gradle بشكل صحيح. distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.0-all.zip أيضًا هل مشروع Unity تم تصديره بشكل صحيح كـ Android Library، عليك القيام بذلك من خلال الذهاب إلى File > Build Settings وتحديد Android كمنصة الهدف، ثم التأكد من تمكين خيار Export Project إذا كان موجودًا. وفي مشروع Flutter، تأكدي من أن لديك إعدادات Gradle الصحيحة لاستيراد مشروع Unity، من خلال فتح ملف settings.gradle في مشروع Flutter وتأكد من إضافة مشروع Unity بشكل صحيح. include ':app' include ':unityLibrary' project(':unityLibrary').projectDir = new File('../UnityExport/unityLibrary') ثم افتحي ملف build.gradle لمشروع Flutter وإضافة تبعية مشروع Unity بشكل صحيح. dependencies { implementation project(':unityLibrary') } ثم تفقد هل إعدادات Kotlin متوافقة مع إصدارات الأدوات الأخرى، توجهي إلى ملف build.gradle وتفقدي هل تم إضافة الإعدادات الصحيحة. buildscript { ext.kotlin_version = '1.5.31' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } بعد تطبيق جميع التعديلات، قومي بإعادة مزامنة المشروع من خلال Android Studio أو استخدام أمر flutter pub get لإعادة جلب الحزم والتبعيات.
  11. تسمح لك الإدارة المرئيّة للمشاريع برؤية حجم العمل والمهامّ معروضةً في صورة مرئيّة. وييسّر هذا تبسيط الجهود تبسيط الجهود بين أفراد الفريق، والبقاء على المسار، وتفادي حالات عنق الزّجاجة المحتملة. وعادةً ما يتمّ ذلك على شكل جدول مخطّط للمشروع، أو رزنامة، أو ألواح كانبان Kanban boards. تختلف الطّريقة الّتي يعالج بها كلّ منا المعلومات، لكنّنا نشترك في أنّ رسم العمل بصورة مرئية في عقولنا أمر مهمّ لنا جميعًا. والإدارة المرئيّة هنا للمشاريع هي طريقة لإدارة هذه المشاريع، حيث تجمع تقنيات إدارة المهام التّقليديّة، وأدوات التّقرير، والتّواصل بالجانب المرئيّ لعملك. ماهية الإدارة المرئية للمشاريع الإدارة المرئيّة للمشاريع هي طريقة تتظّم بها العمل وتديره في قوالب مرئيّة مثل المخطّطات الزّمنيّة، وألواح كانبان Kanban boards، والرّزنامات. توظّف طرائق الإدارة المرئيّة هذه نفس الجوانب الّتي تغطّيها نظيراتها غير المرئيّة، مثل المهامّ، وآجال التّسليم، وأفراد الفريق، ولكن بطريقة تجعلها أسهل رؤيةً واستعمالًا، وتتبّعًا. لذا إذا كنت ترسل في السابق قائمة مهامّ إلى فردٍ في الفريق، فإنّك في الإدارة المرئيّة قد تضيفه إلى مخطّط زمني مرئيّ مع إرفاق مهامّه إلى اسمه. فوائد استعمال الإدارة المرئية للمشاريع توفّر الإدارة المرئيّة للمشاريع في لمحة واحدة رؤيةً عميقةً لما يعمل عليه كلّ فرد من الفرق، ومتى يجب تسليم مخرجات المشروع، وما هي معالم الإنجاز، وأكثر. وهي بهذا تُعَد نمط إدارة أعمال أكثر تفاعليّةً يسهّل التّعاون. هناك العديد من الأسباب الّتي تدفع إلى التحوّل إلى الإدارة المرئيّة أو على الأقلّ دمجها في إدارة مشاريعك، نذكر منها: تحصيل رؤية أسرع: يمكنك بسرعة وسهولة الإلمام بالمعلومات حين تكون وضعيّة المشروع ومقاييسه ومهامّه كلّها في مكان واحد. تقليل حالات عنق الزّجاجة: يمكن لأعضاء الفريق وأصحاب المصلحة الحصول على المعلومات الّتي يحتاجونها، في الوقت المناسب، ممّا يخفّض من حالات عنق الزّجاجة. متابعة دورة حياة المشروع: بدءًا من تعيين مهامّ المشروع، مرورًا بالتّواصل عبر أدوات التّواصل، وانتهاءً بالتّقارير؛ يمكنك استعمال أنواع مختلفة من طرائق الإدارة المرئيّة للمشاريع من البداية إلى النّهاية. تنسيق عمل الفريق: التّمكين للتّعاون بين الأقسام المختلفة بجمع كلّ أجزاء العمل في مكان واحد واضح للعيان. تسهيل الاطّلاع على العمل: إعطاء القادة وأصحاب المصلحة التّنفيذيّين اطّلاعًا عميقًا على عمل فريقك دون الحاجة إلى إضجارهم بالتّفاصيل. التعرّف على معيقات العمل المحتملة باكرًا: تصوّر تبعيّات المشروع، ومعالمه الإنجازيّة، ومعيقاته حتّى تتمكّن من معالجة المشاكل قبل حدوثها. ثلاث طرائق لتصور تقدم المشروع هناك ثلاث طرائق شهيرة لإنشاء أداتك الخاصّة في الإدارة المرئيّة للمشروع: المخطّطات الزّمنية Timelines: أو مخطّطات غانت Gantt charts. ألواح كانبان Kanban boards. رزنامات المشروع Project calendars لكلّ واحدة من هذه الطّرائق حسناتها وعيوبها، لذا يعتمد اختيار أيّها أنسب لك على نوع المشروع الّذي تخطّط له، وكيفيّة استخدامك لها. وبغضّ النّظر عن أيِّها اخترت، فإنّها جميعًا تعمل بامتياز ضمن برمجيّة إدارة مشاريع (برنامج حاسوب). واعتمادًا على البرمجيّة الّتي تستعملها، يمكنك تخصيص أيّ من تلك الطّرائق تخصيصًا شاملًا، وإضافة الأتمتة، واستخدام المزايا البديهيّة مثل السّحب والإفلات drag and drop. وفيما يلي نشرح كيفيّة عمل كلّ طريقة، وأنواع المشاريع الّتي تناسبها. 1. المخططات الزمنية يمكنك إعطاء خطّة مشروعك صورةً مرئيّةً بإنشاء مخطّط زمني أو مخطّط غانت للجدول الزّمني لمشروعك. ويمكنك عبر إدارة المخطّط الزّمني تنظيم تفاصيل المشروع في مخطّط أعمدة بيانيّة لإظهار متى يجب إنهاء كلّ مهمّة أو مُخرج في مشروع، وكم سيستغرق كلّ منها. حالات استخدام المخططات يمكنك استخدام والاستفادة من المخطّطات في المشاريع المحدودة بوقت، والّتي تحتاج التزام مهامّها بآجال تسليم نهائيّة، وذلك لأنّ المخطّطات تظهر لك متى يجب بدء المهمّة، وكم من الوقت ستستغرق. وبتجميعك لكلّ شيء في مخطّط زمنيّ فإنّك تسهّل على نفسك توزيع الموارد، وتعيين أعضاء الفريق على الخطوات المختلفة، وتصوّر المهامّ الاعتماديّة (المهامّ المعتمدة على إنهاء أخرى). يمكنك باستعمال إدارة المخطّطات الزّمنية إنشاء خطّة مشروع تظهر كيف تتفاعل كلّ جوانب المشروع مع بعض، ويساعدك هذا في إجراء التّغييرات اللاّزمة لمنع المشاكل من الحدوث. وهذه المخطّطات ممتازة في حالات: إدارة الحملات. إطلاق المنتجات. تخطيط التّظاهرات. حالات عدم استخدام المخططات تُعَد المخطّطات الزّمنيّة كما أسلفنا مفيدةً عندما يكون لكلّ مهمّة تاريخ بداية وتاريخ نهاية معروفان، أمّا إن لم تكن تلك التّواريخ معروفةً فليس هنالك ما تصوّره مرئيًّا، لذا عندما تخطّط لمشروع تكثر فيه المهامّ اليوميّة، أو المهامّ الّتي آجالها النّهائيّة مرنة كما هو الحال في إدارة مشاريع آجايل، فإنّ من الأفيد تصوّر عملك في رزنامة مشروع، أو لوحة كانبان. مثال مخطط زمني لنفترض أنّك تخطّط لإطلاق منتج، وتحتاج قصد تحقيق أهدافك بنجاح إلى العمل كفريق ديناميكيّ متعدّد الوظائف. عندها تجمع فريقك من أقسام المنتج، والهندسة، والتسويق، والمبيعات، والدعم الفنّيّ لإنجاح إطلاق المنتج؛ وبما أنّك تعمل مع الكثير من أصحاب المصلحة، فإنّ المشروع سيكون معقّدًا لا محالة. يعطي المخطّط الزّمني صورةً مرئيّةً للجميع حول تقدّم المشروع، وخارطة طريقه ليكون الجميع في مسار واحد. ويمكنك نتيجةً لذلك تنسيق إدارة الموارد، وتوقّع أوقات الوصول إلى المعالم الإنجازيّة، ورؤية المهامّ الاعتماديّة لفكّها قبل وقوعها، ورؤية تواريخ البداية والنّهاية جميعها في مكان واحد. وبهذه الطّريقة يملك لكلّ فرد في فريق المشروع رؤيةً واضحةً لخطّة الإطلاق، وما هو مطلوب لإنجاحه من البداية إلى النّهاية. بعد أن تحضّر مخطّطا زمنيًّا لمشروعك، لا تنسَ مشاركته مع زملائك وأصحاب المصلحة، وتحديث التّفاصيل عند كلّ تغيير. وذلك أنّ مشاركة مصدر حقيقة واحد مع الجميع يعطي كلّ فرد رؤية واقعيّة محدّثة على عمل الفريق. 2. ألواح كانبان Kanban boards ألواح كانبان هي نظام مرئيّ لتنظيم المشاريع تعطي فيه كلّ جزء تنفيذيّ من العمل بطاقة. ترتّب هذه البطاقات في أعمدة يمثّل كلّ منها مرحلة من المشروع، أو مرحلة من عمليّة، أو المعنيّ بالمهمّة، أو أولويّتها، أو أشياء أخرى بما يناسب عمل فريقك. وكلّما تقدّم العمل على المهمّة أو المُخرَج تحرّك بطاقتها من عمود إلى عمود آخر يناسب وضعها الجديد ليتمكّن من رؤيته الجميع. حالات استعمال ألواح كانبان يناسب نظام ألواح كانبان المشاريع الّتي تنقسم إلى مراحل. سواءً كانت تلك المراحل بسيطةً وتتدرّج من "مهمّة للتّنفيذ"، إلى "مهمّة قيد التّنفيذ"، وتنتهي بـ "مهمّة منتهية"؛ أو كانت أكثر تعقيدًا. المهمّ في الأمر أن تكون المراحل متدرّجة، بحيث تنتقل المهمّة بينها من واحدة إلى التّالية، لذا فإنّ ألواح كانبان ممتازة لفرق آجايل الّتي تعمل في دورات تطوير أو ما يعرف بالسبرنت sprint لأنّها توفّر رؤيةً واضحةً لتقدّم العمل. ومن أمثلة ذلك: تتبّع الأخطاء bug tracking. تخطيط دورة التطوير. جلسات دورات التطوير الاسترجاعيّة. اجتماعات أجايل اليوميّة المختصرة. إدارة إنتاج الويب. طلبات العمل. ألواح سكرام scrum boards. مثال مشروع ألواح كانبان تدفّق العمل في تتبّع الأخطاء مثال عن مشروع يمكن إدارته باستخدام ألواح كانبان لأنّ كلّ مهمّة فيه تحتاج إلى المرور بعدّة مراحل قبل أن تعدّ منتهية. فعندما تحصل مثلا على مهمّة لخطأ جديد، فإنّه يحتاج أوّلا إلى إعطائه رقم تعريف، وتدوينه في في سجلّ الأعمال التّراكميّة، ثمّ يجري العمل عليه، وأخيرًا الانتهاء منه. فتجهّز لوحة كانبان بالأعمدة الممثّلة لما يلي: أخطاء جديدة (من سجلّ أعمالك التّراكميّة). جاهزة للعمل عليها. في طور العمل. في ضمان الجودة. منتهية ولكلّ خطأ جديد يبلَّغ عنه، يمكن لفريقك بسهولة إنشاء بطاقة جديدة ثمّ نقلها من عمود إلى الآخر بتقدّم العمل، منشئين بفعالية قائمة مهام لكلّ مرحلة مع تحديثها دوريًّا. غالبًا ما تُصنع ألواح كانبان من ألواح فعليّة مع بطاقات لاصقة، ولكن بإمكانك إنشاؤها افتراضيًّا على الإنترنت عبر وسائل مثل: أنا و Hygger و Asana و Trello. ويعطيك هذا إمكانيات كثيرة، مثل تخصيص المجالات، والأوصاف، والملفات؛ مع إضافة المتعاونين على كلّ بطاقة لتتمكّن بسهولة من جمع معلومات إضافيّة حول المشروع تساعد بها فريقك على العمل معًا لتحقيق النّجاح. 3. رزنامة المشروع تعمل المخطّطات الزّمنيّة وألواح كانبان بامتياز في الكثير من المشاريع، ولكنّك أحيانًا لا تحتاج إلى أكثر من رزنامة تقليديّة. رغم بساطة الرّزنامات وسلاستها إلا أنّها قد تكون مثاليّةً في التّخطيط لبعض المشاريع. حالات استعمال رزنامة المشروع تختلف الرزنامة عن سابقتيها بتميّزها في التّخطيط للمشاريع الّتي بها مهامّ كثيرة مع آجال نهائيّة مختلفة، وذلك أنّ معرفة متى عليك تحقيق معلم إنجاز، أو تسليم أحد الأصول في أسبوع معيّن، أو شهر، أو سنة يمكنه مساعدتك على التخطيط المسبق لتنفيذ المطلوب في وقته المناسب. وتساعدك رزنامة المشروع تحديدًا في إدارة: رزنامة التّحرير. رزنامة محتوى التواصل الاجتماعي. حالات عدم استعمال رزنامة المشروع تساعدك رزنامة المشروع على التّخطيط المسبق للأسبوع أو الشّهر أو الرّبع أو حتّى السّنة، ولكنّها أقلّ فائدةً عند كثرة المهامّ اليوميّة. وفي تلك الحالة الّتي تستدعي الانهماك في العمل الّذي يقوم به فريقك كلّ يوم فإنّ لوحة كانبان أو حتّى قائمة مهامّ قد تكون أنسب لك ولفريقك. مثال رزنامة مشروع إذا كنت تخطّط لمشروع فإنّ الرّزنامة تمنحك صورة مرئيّة للعمل المستحقّ خلال الأيّام والأسابيع القادمة. وتتجلّى فائدة الرّزنامة عندما يشمل المشروع الكثير من الفرق وأصحاب المصلحة المختلفين. إذا امتلكت مثلًا رزنامةً تحريريّةً شاملة، فإنّ كلّ من في الشّركة يعرف المحتوى المخطّط والمنشور، ومتى تنشر مواضيع بعينها. وبهذا يمكن لفريق المبيعات إرسال المقالات المعنيّة إلى العملاء المحتملين، وللمديرين توزيع الأصول على فرقهم، ولفريق التّحرير معرفة من يعمل على كلّ موضوع. يمكنك باستخدام أدوات إدارة المشاريع المرئيّة (مثل أنا المقدمة من شركة حسوب، وAsana وTrello وغيرها) إنشاء قائمة مهام المشروع، وجدولة المواعيد النّهائيّة، ويمكنك تحريك المهام في الرزنامة عند الحاجة إلى تغيير الأجل النّهائيّ أو إضافة ملفات إلى المشروع للمزيد من التّعاون. الصور المرئية للمعلومات يُعَد تصوّر المعلومات جانبًا مهمًّا آخر من إدارة المشروع البصريّة. لأنّك متى احتجت لكتابة التّقارير أو إرسال عروض حال، فإنّ عرضها في نمط تصوّري أكثر فاعليّة. على سبيل المثال، يمكنك إرسال تقرير نصّيّ إذا كنت تتابع إطلاق موقع إلكتروني: "أنهينا 70% من المهامّ المستهدفة." أو يمكنك إظهار تلك المعلومات في نمط بصريّ كما يلي: لكلّ من الطّريقتين استعمالاتها بالطّبع، ولكنّ أصحاب المصلحة صاروا يفضّلون البيانات البصريّة أكثر لأنّها أسهل فهمًا، وأسرع مشاركةً. أفضل أداة إدارة مرئية للمشاريع لا يمكن القول بأنّ هناك أداة أفضل من جميع منافساتها، بل هناك الأداة الأفضل بالنّسبة لك ولحجم العمل الحاليّ. استعمالك المخطّطات الزّمنية، وألواح كانبان، والرّزنامة كلّها طرائق ممتازة في تصوّر كلّ الخطوات في مشروعك لتتمكّن من رؤية الصّورة الأكبر دون المخاطرة بتجاوز أيّة تفاصيل. ترجمة -وبتصرّف- للمقال ‎.3 types of visual project management: Timelines, calendars, and boards (with examples) اقرأ أيضًا ما هي إدارة المشاريع؟ دليلك الشامل إلى عرض برمجيات إدارة المشاريع أساسيات إطار الإدارة الاستثنائية للمشاريع XPM دليل المبتدئين لمنهجية أجايل Agile مقارنة بين مدير المنتج ومدير المشروع
  12. بالفعل هناك عالم من التقنيات والمفاهيم التي تقع خلف الكود كما أنه هناك الكثير من الشركات ولكن كما أخبرك عمر في التعليق السابق فإن التقنيات والمهاارات التي ذكرتها هي مجالات منفصله ومع ذلك كـ Full Stack Web Developer، تعلم هذه المهارات بشكل بسيط يضيف قيمة كبيرة لمهاراتك ويجعلك أكثر كفاءة واستقلالية في العمل على المشاريع . لذلك لا يفترض أن تتعلم هذه المجالات بشكل متعمق كمطور مواقع ولكن يفضل لو تتعلم بعض الأشياء البسيطة أو فكره عامة عن المجال وبالنسبة لما يجب تعلمه فهو ما تحتاجه بالفعل مثل تعلم عن أنواع السيرفرات المختلفة (مشتركة، خاصة، VPS) وفهم مزايا وعيوب كل نوع. معرفة شركات استضافة الموثوقة، تأخذ بعين الاعتبار سرعة الاتصال، موثوقية الخدمة، ودعم العملاء. يفضل تعلم أساسيات إدارة السيرفر، مثل تثبيت البرامج، تحديثات الأمان، وإدارة ملفات الموقع. تعلم أساسيات أمن الموقع وبالنسبة لتعلم المفاهيم والتقنيات السابقة لا تحتاج لدورة معينة إنما عند تقف عن مفهوم ما قم بالبحث عنه وقراءة المقالات وبعدها ستعرف ما يجب عليك تعلمه أو المصادر يفضل الإطلاع على المقالات الموجودة بالرابط التالي https://academy.hsoub.com/devops/general/
  13. مرحبا @Rafika Cha. إذا كن السؤال خاص بدرس من دروس الدورة فأرجوا مستقبلا أن يتم وضعه أسفل الدرس فى التعليقات حيث هنا هو القسم الخاص بالأسئلة العامة وحتى نستطيع مساعدتك بشكل أفضل . بالنسبة للسؤال الأول فإن المتغيرات variables تستخدم لحفظ بيانات بداخلها حتي يتم إستخدامها بعد ذلك في الكود . والمثال المرفق bored = ' '.join غير واضح قليلا حيث هنا لم يتم تعريف دالة بل هنا إستخدمنا الدالة join وهى دالة built in في بايثون حيث تستخدم تلك الدالة لدمج عناصر قائمة ما في سلسلة نصية واحدة مع وضع فاصل بينهما . names = ["Ahmed", "Mohamed", "ALI"] x = " ".join(names) print(x) # Ahmed Mohamed ALI كما في المثال السابق يوجد لدينا قائمة تحتوى على أسماء ونحن نريد وضع جميع تلك الأسماء في سلسلة نصية وطباعتها و قد قمنا بفصلهم بمسافة أى سيتم طباعة كل إسم وبعده مسافة وإذا أردنا مثلا فصلهم بأى شئ نقوم فقط بكتابته بين "" هكذا مثلا ",".join(names) وهنا إستخدما المتغير x لنقوم بحفظ تلك السلسلة النصيه فيه . أما بالنسبة لحلقات التكرار for و while فيتم إستخدامهم لتكرار جزء من الكود عدد من المرات . فمثلا كما في المثال السابق لو أردنا طباعة جميع عناصر القائمة ولكن كل إسم في سطر فنستيطع عمل ذلك بإستخدام حلقات التكرار . names = ["Ahmed", "Mohamed", "ALI"] for i in range(len(names)): print(i, names[i]) فهنا في المثال السابق قنا بإستخدام حلقة التكرار for لطباعة الأسماء التي بداخل القائمة . وهنا إستخدمنا المتغير i ليحتوى على رقم التكرار الحالي : ففي أول مرة سيتم التكرار فيها ستجدين أن ال i تساوى 0 و في المرة الثانية 1 وهكذا في كل مرة سيتم زيادة i و ذلك حتى نستطيع طباعة عناصر المصفوفة بالترتيب الخاص بها . names = ["Ahmed", "Mohamed", "ALI"] i = 0 while i < len(names): print(i, names[i]) i+=1 والمثال هذا أيضا يقوم بعمل نفس الكود السابق ولكنه بإستخدام حلقة while وهنا قمنا أولا بتعريف متغير i و أعطينا له قيمة 0 و ثم قمنا بإستخدام while و كتبنا شرط أن i لا يجب أن يكون أكبر من طول القائمة والآن بداخل حلقة التكرار نقوم بطباعة العنصر الحالي في القائمة ومن ثم زيادة ال i برقم 1 حتي نستطيع الوصول للعنصر التالي في القائمة . ويمكنك قراءة الدرسين التاليين في موسوعة حسوب لشرح أفضل لحلقات التكرار : for في بايثون while في بايثون
  14. could you explain me how valuebles work because I've seen you using to defiend functions like(bored = ' '.join) and also could you explain me how loops like for and while because I didn't understand how you use 'i' with them
  15. هذي التقري بي الخط عندي مشكله في تثبيت الموستواعات رجعى الرسيلى الي ارسلته وجوبني عليه وشكران abduo@abduo-B460MDS3HV2:~$ sudo ubdat [sudo] password for abduo: sudo: ubdat: command not found abduo@abduo-B460MDS3HV2:~$ sudo apt update E: Type 'This' is not known on line 3 in source list /etc/apt/sources.list E: تعذرت قراءة قائمة المصادر. abduo@abduo-B460MDS3HV2:~$ sudo apt install build-essential E: Type 'This' is not known on line 3 in source list /etc/apt/sources.list E: تعذرت قراءة قائمة المصادر. abduo@abduo-B460MDS3HV2:~$ sudo apt install linux-headers-$(uname -r) E: Type 'This' is not known on line 3 in source list /etc/apt/sources.list E: تعذرت قراءة قائمة المصادر. abduo@abduo-B460MDS3HV2:~$ cd /path/to/your/file bash: cd: /path/to/your/file: No such file or directory abduo@abduo-B460MDS3HV2:~$ chmod +x VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle chmod: cannot access 'VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle': No such file or directory abduo@abduo-B460MDS3HV2:~$ sudo ./VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle sudo: ./VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle: command not found abduo@abduo-B460MDS3HV2:~$ sudo apt update E: Type 'This' is not known on line 3 in source list /etc/apt/sources.list E: تعذرت قراءة قائمة المصادر. abduo@abduo-B460MDS3HV2:~$ sudo apt install p7zip-full E: Type 'This' is not known on line 3 in source list /etc/apt/sources.list E: تعذرت قراءة قائمة المصادر. abduo@abduo-B460MDS3HV2:~$ sudo apt install unetbootin E: Type 'This' is not known on line 3 in source list /etc/apt/sources.list E: تعذرت قراءة قائمة المصادر. abduo@abduo-B460MDS3HV2:~$ عندي مركز البرمجه مهى شغل
  16. أحيانًا يوجد كوبونات خصم متوفرة أرجو التحدث لمركز المساعدة والسؤال عن ما إن كانت متوفرة أم لا. وأرجو قراءة التعليق التالي:
  17. البارحة
  18. الفارق الأساسي هو كيفية التعامل مع حالة التحميل loading state. tفي الكود الأول، تقوم بالتحقق من حالة التحميل loading ولكنك لم تقم بإرجاع الـLoader كجزء من الـJSX، أي الكود داخل الشرط if (loading) لا يعتبر جزءًا من النتيجة المرجعة من الدالة Books. بينما في الكود الثاني، تقوم باستخدام تعبير ثلاثي للتحقق من حالة التحميل loading، وإن كانت الحالة loading، يتم إرجاع الـLoader كجزء من الـJSX، وإذا لم تكن الحالة loading يتم عرض الكتب. لذا الكود الثاني يعيد الـLoader كجزء من النتيجة المرجعة من الدالة Books، بينما الكود الأول لا يعيد أي شيء في حالة التحميل، مما يعني أن العنصر Oval لن يتم عرضه. إذن في الكود الأول عليك تعديل الجزء الخاص بحالة التحميل ليعيد الـLoader كجزء من النتيجة المرجعة من الدالة Books: if (loading) { return ( <Oval height={120} width={120} color="rgb(247, 96, 14)" wrapperStyle={{ height: "70vh", display: "flex", alignItems: "center", justifyContent: "center", }} wrapperClass="" visible={true} ariaLabel="oval-loading" secondaryColor="#E2E2E2" strokeWidth={3} strokeWidthSecondary={3} /> ); } من أجل عرض الـLoader عندما تكون الحالة loading هي true.
  19. في الكود الأول، يقوم الشرط if (loading) بفحص حالة التحميل، ولكن لا يقوم بإرجاع أي مكون React ليتم عرضه في واجهة المستخدم. هذا يعني أن Oval لا يتم عرضه فعليًا. في الكود الثاني، يتم استخدام التعبير الشرطي loading ? ... : ... داخل return لإرجاع الـOval مباشرة عندما تكون حالة التحميل true. وبالتالي، يتم عرض الـLoader Component بشكل صحيح عند تحميل البيانات. يمعني اخر الكود الثاني يعمل بشكل صحيح لأن الشرط الذي يتحقق من حالة التحميل (loading) يوجد داخل التعبير الشرطي في دالة return، مما يسمح بعرض الـLoader Component مباشرة. بينما في الكود الأول، الشرط if (loading) لا يعيد أي مكون للواجهة، وبالتالي لا يتم عرض الـLoader Component.
  20. السلام عليكم. أقدم طريقتين من كتابة الكود. الكود الأول: import React, { useEffect } from 'react' import { useDispatch, useSelector } from 'react-redux' import { fetchBooks } from '../../redux/apiCalls/bookApiCall' import { Oval } from "react-loader-spinner"; function Books({ currentPage }) { const dispatch = useDispatch() const {books, loading} = useSelector(state => state.book) useEffect(() => { dispatch(fetchBooks(currentPage)) }, [dispatch, currentPage]) if (loading) { <Oval height={120} width={120} color="rgb(247, 96, 14)" wrapperStyle={{ height: "70vh", display: "flex", alignItems: "center", justifyContent: "center", }} wrapperClass="" visible={true} ariaLabel="oval-loading" secondaryColor="#E2E2E2" strokeWidth={3} strokeWidthSecondary={3} /> } return ( <div className='books'> <h1 className='books-title'>Explore Books</h1> <div className="books-container"> { books.data?.map((book, index) => ( <div className="books-card" key={index}> <img src={book?.image.url} className='books-card-img' alt=''/> <div className="over"> <h2 className="over-title">{book?.title}</h2> <h3 className="over-auth">{book?.author}</h3> <button className="over-btn">SHOW BOOK</button> </div> </div> )) } </div> </div> ) } export default Books الكود الثاني: import React, { useEffect } from 'react' import { useDispatch, useSelector } from 'react-redux' import { fetchBooks } from '../../redux/apiCalls/bookApiCall' import { Oval } from "react-loader-spinner"; function Books({ currentPage }) { const dispatch = useDispatch() const {books, loading} = useSelector(state => state.book) useEffect(() => { dispatch(fetchBooks(currentPage)) }, [dispatch, currentPage]) return ( <div className='books'> <h1 className='books-title'>Explore Books</h1> <div className="books-container"> { loading ? (<Oval height={120} width={120} color="rgb(247, 96, 14)" wrapperStyle={{ height: "70vh", display: "flex", alignItems: "center", justifyContent: "center", }} wrapperClass="" visible={true} ariaLabel="oval-loading" secondaryColor="#E2E2E2" strokeWidth={3} strokeWidthSecondary={3} /> ) : (books.data?.map((book, index) => ( <div className="books-card" key={index}> <img src={book?.image.url} className='books-card-img' alt=''/> <div className="over"> <h2 className="over-title">{book?.title}</h2> <h3 className="over-auth">{book?.author}</h3> <button className="over-btn">SHOW BOOK</button> </div> </div> ))) } </div> </div> ) } export default Books الكود الثاني يعمل بشكل جيد حيث يتم إستدعاء Loader Component إلى حين جلب البيانات من الخادم. بينما الكود الأول لم يفعل. شخصيا أعتقد أنه لا فرق بينهما. لكن لماذا فعل الكود الثاني ولم يفعل الكود الأول. شكرا.
  21. يمكنك الاستعانة بمواقع الإلهام التي تقدم ضمن معروضاتها القوالب المجانية. نذكر مثلا: siteinspire webdesign-inspiration templatemonster freewebsitetemplates free-css wix dribbble
  22. السلام عليكم ، أنا باك إند مبتدئ لازلت أتعلم و أريد موقع يوفر لي templetes جاهزة مجانية لأنني لا أعرف html, css ولا أعرف كيف أصمم موقع
  23. لحل مشكلة الربط بين Unity و Flutter المذكورة نقوم بالتحقق من ملف settings.gradle ونتأكد من أن settings.gradle في جذر المشروع يحتوي على الإدخال الصحيح لمشروع unityLibrary هكذا: include ':app', ':unityLibrary' project(':unityLibrary').projectDir = file('../UnityExport/unityLibrary') ثم نقوم بتحديث build.gradle الخاص بمشروع Unity من خلال فتح ملف build.gradle الخاص بمشروع unityLibrary والتأكد من أن التكوينات متوافقة مع مشروع Flutter: configurations.maybeCreate("default") configurations.default.setExtendsFrom(configurations.implementation) // Ensure these dependencies are set correctly dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.tools.build:gradle:7.3.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } ولا تنس أيضا تحديث gradle.properties من خلال التأكد من أن ملف gradle.properties يحتوي على الإعدادات اللازمة التالية: android.useAndroidX=true android.enableJetifier=true ولتنفيذ أوامر Gradle التالية، في سطر الأوامر داخل مجلد مشروع Flutter، ننفذ الأوامر التالية لتنظيف وإعادة بناء المشروع: flutter pub get cd android ./gradlew clean ./gradlew build ويجب التحقق من إصدار Android Gradle Plugin (AGP) في ملفات build.gradle متوافق مع الإصدار المستخدم في Unity فإذا كنت تستخدم AGP 7.3.0، تأكد من أن التكوينات الأخرى متوافقة مع هذا الإصدار.
  24. لقد غيّرت الحوسبة السحابية كثيرًا في طريقة عمل الشركات والمستخدمين، ولا يسعنا اليوم تجاهل أثرها، فمعظم البرامج التي نستعملها باتت توجد على السحابة، وبفضلها أصبحت الشركات الناشئة قادرة على تطوير برمجياتها ونشرها بدون شراء خوادم مرتفعة الثمن وتجهيز مراكز بيانات قياسية لتشغيلها، بل وأصبح المطورون المستقلون قادرين على إطلاق تطبيقاتهم الخاصة عبر الإنترنت بأقل التكاليف، والحالة مشابهة للباحثين، فقد مكنتهم الحوسبة السحابية من مشاركة البيانات وتحليلها على نطاق واسع كان في الماضي حكرًا على المشاريع كبيرة التمويل، وحتى المستخدم العادي استفاد منها فقد وضعت في متناوله مساحات تخزين كبيرة تتجاوز بكثير قدرات حاسوبه الشخصي لتخزين الوسائط الرقمية ومشاركتها. فما هي السحابة بالضبط؟ كيف تقدم خدماتها للمشتركين؟ وما هي فوائدها؟ وما المخاطر التي تنطوي عليها؟ وكيف تستخدمها لمشروعك الخاص؟ سنجيبك في الفقرات التالية على كل هذه التساؤلات. ما هي الحوسبة السحابية؟ الحوسبة السحابية Cloud Computing هي توفير الموارد الحاسوبية للمستخدم بصيغة خدمة، وتبقى ملكية هذه الموارد لمزود الخدمة السحابية، وهو المسؤول عن إدارتها، قد تتضمن أي شيء تحتاجه بدءً من التطبيقات المستندة إلى المتصفح وهي تطبيقات تعمل مباشرة من خلال متصفح الويب دون الحاجة إلى تثبيت أي برامج إضافية على الجهاز مثل يوتيوب وسبوتيفاي، ومنصات الطرف الثالث المخصصة لتخزين الصور والوسائط الرقمية الأخرى، مثل: أيكلاود ودروبوكس، ووصولًا إلى خوادم الطرف الثالث التي تستخدم لدعم البنية التحتية للأعمال أو المشاريع البحثية أو الشخصية. قبل انتشار الحوسبة السحابية كان كل من يرغب باستخدام الموارد الحاسوبية يذهب لشراء التجهيزات والبرمجيات التي يحتاجها، ويتولى مهمة تشغيلها وصيانتها بنفسه أو يوظف تقنيين مؤهلين لأداء المهمة، أما اليوم مع التوفر الواسع للتطبيقات وخدمات التخزين والأجهزة الافتراضية المستندة إلى السحابة، أصبح بإمكان الأفراد والشركات تحصيل إمكانات هائلة من الموارد حسب طلبهم عبر الإنترنت. وقد وفر عليهم هذا الانتقال من الموارد المحلية إلى الموارد الموزعة تكاليف شراء البرمجيات والتجهيزات، وتشغيلها، وصيانتها. ترافق ذلك مع ظهور نمط جديد من الأعمال المعتمدة كليًّا على السحابة، وتغيرت مهام تقنية المعلومات في الشركات، وتحولت الكثير من النشاطات اليومية إلى عمليات حاسوبية. ولم يقتصر تأثيرها على الأعمال فقط بل امتدّ للأفراد أيضًا، فيمكنهم اليوم عقد اجتماعات افتراضية عبر الإنترنت أو استخدام المنصات التعاونية للعمل على المشاريع المشتركة، بالإضافة إلى إمكانية الوصول للمحتوى الترفيهي والتعليمي حسب الطلب، ولا ننسَى تقنيات المنازل الذكية التي تتيح التحكم بالأجهزة المنزلية عن بعد، والتطبيقات الذكية التي تسمح لنا بطلب سيارة أجرة أو إجراء حجز فندقي من منازلنا بمنتهى السهولة عبر هواتفنا المحمولة. تعريف الحوسبة السحابية نورد فيما يلي تعريف الحوسبة السحابية حسب المعهد الوطني للمعايير والتكنولوجيا (NIST)، وهو وكالة غير تنظيمية تتبع لوزارة التجارة الأمريكية وتشجع على الابتكار: يحدد NIST خمس خصائص رئيسية للحوسبة السحابية: الخدمة الذاتية حسب الطلب: لا يستلزم الوصول إلى الموارد السحابية أو توفيرها أي تفاعل بشري مع مزود الخدمة، إذ يصل المشترك مباشرةً إلى الخدمات السحابية بمجرد التسجيل SignUp. وتستطيع المؤسسات أيضًا إنشاء آليات خاصة تمنح بواسطتها موظفيها أو عملائها أو شركائها صلاحيات الوصول إلى خدماتها السحابية الداخلية وفق قواعد تحددها مسبقًا، وبطريقة سهلة بدون الاستعانة بخدمات تقنية المعلومات. الوصول الشبكي واسع النطاق: يستطيع المستخدمون الوصول إلى الخدمات والموارد السحابية من أي جهاز وفي أي موقع متصل بالشبكة بشرط امتلاكهم أذونات الوصول. تجميع الموارد: موارد مزود الخدمة السحابة مشتركة بين عدة مشتركين، مع ضمان الاستقلالية والخصوصية وحجب بيانات كل مشترك عن الآخرين. المرونة السريعة: يمكن للمشترك زيادة موارد الحوسبة السحابية المحجوزة لصالحه أو تخفيضها أو تعديلها حسب احتياجات عمله بسرعة ومرونة، على عكس التجهيزات والبرامج الموجودة لديه محليًّا في منزله أو شركته. قياس الخدمة: توفر الحوسبة السحابية أدوات خاصة لقياس نسب استخدام الموارد السحابية، ويدفع المشتركون مقابل الموارد التي استخدموها فقط في كل دورة فوترة. تساعد هذه الخصائص الشركات على الانتقال إلى الحوسبة السحابية، وتوفر لهم فوائد عديدة سنعرضها في متن المقال، أما فقرتنا التالية فسنتناول تاريخ الحوسبة السحابية. تاريخ الحوسبة السحابية ترجع جذور الحوسبة السحابية إلى خمسينيات القرن العشرين، عندما كانت الشركات والجامعات تؤجر حواسيبها المركزية للمستخدمين لأوقات عمل محددة، فقد كانت الحواسيب حينها غالية الثمن وكبيرة الحجم لدرجة لا تسمح للأفراد العاديين باقتنائها، فاستئجار العمل عليها كان سبيلهم الوحيد لاستخدامها. لاحقًا مع بداية الستينيات، بدأ علماء الحاسوب أمثال جون مكارثي John McCarthy من جامعة ستانفورد، وجي سي آر ليكليدر J.C.R Licklider من وكالة مشاريع الأبحاث المتقدمة التابعة لوزارة الدفاع الأمريكية (ARPA)، باقتراح أفكار مهدت للحوسبة السحابية كما نعرفها اليوم، مثل: تصور مفهوم الحوسبة بهيئة مرفق عام أو منفعة عامة يمكن للناس الوصول إليها بواسطة شبكة من الحواسيب المنتشرة حول العالم. وبالرغم من هذه الأفكار المبكرة لم تصبح الحوسبة السحابية حقيقة ملموسة ومفهومًا واسع الانتشار حتى العقد الأول من القرن الحادي والعشرين، فقد شهدت هذه الفترة إطلاق أشهر الخدمات السحابية العالمية، مثل: Amazon’s Elastic Compute وخدمة التخزين البسيطة S3 في العام 2006، و Heroku في 2007، و Google Cloud Platform في 2008، ومنصة Alibaba Cloud في 2009، و Windows Azure في 2010 المعروفة حاليًّا بمنصة Microsoft Azure، وأخيرًا SmartCloud من شركة IBM و DigitalOcean في العام 2011. ساعدت هذه الخدمات أصحاب الأعمال على ضبط نفقاتهم المالية، عبر تهجير البنى التقنية من مقرات شركاتهم إلى المنصات السحابية، وأيضًا أفادت المطورين المستقلين وفرق التطوير الصغيرة، فوفرت لهم الموارد الحاسوبية اللازمة لتطوير تطبيقاتهم ونشرها. انتشرت في هذه الفترة التطبيقات القائمة على السحابة، والمعروفة باسم البرمجيات بصيغة خدمة SaaS، التي نناقشها بالتفصيل في فقراتنا القادمة، وتزامن انتشارها مع تراجع أعداد البرمجيات المستضافة محليًا على خوادم الشركات، وأيضًا البرمجيات التي يتعين على المستخدمين تثبيتها على أجهزتهم قبل استثمارها وصيانتها على الدوام. خلاصة القول: أن SaaS سهلت توافر التطبيقات، وساهمت في انتشارها عبر السماح للمستخدمين بالوصول إليها من مجموعة متنوعة من الأجهزة وحسب الطلب. تتنوع التطبيقات القائمة على السحابة، فبعضها يعود للشركات نفسها التي تمتلك المنصات السحابية، مثل: تطبيقات جوجل (أي جيميل وجوجل درايف ومستندات جوجل)، وتطبيق مايكروسوفت 365 النسخة السحابية من Microsoft Office Suite، وبعضها الآخر مملوك لشركات أخرى استثمرت خدمات مزودي الخدمات السحابية ووائمت تطبيقاتها الموجودة مسبقًا معها، مثل تطبيق Adobe Creative Cloud. وظهرت أيضًا موجة من التطبيقات السحابية الخالصة المعتمدة على SaaS، أبرزها: منصة Spotify في 2008، وخدمة استضافة الملفات Dropbox التي انطلقت في 2009، ومنصة زووم لاتصالات الفيديو في العام 2012، و Slack للتواصل الاجتماعي في 2013. أصبحت البنية التقنية القائمة على السحابة خيارًا مفضلًا لكثير من الشركات، وعلى ما يبدو أن انتشارها أخذٌ بالازدياد أكثر فأكثر. نماذج الحوسبة السحابية تُقَدَّم الخدمات السحابية للمشتركين بنماذج متعددة كلٌ حسب احتياجات عمله، ولكل نموذم مستوى معين من الدعم والمرونة. البنية التحتية بصيغة خدمة IaaS البنية التحتية بصيغة خدمة Infrastructure as a Service واختصارها Iaas، هي تقديم مكونات البنية التحتية للمشترك حسب الطلب، مثل: نظم التشغيل والشبكات ومساحات التخزين وغيرها، يمثل هذا النموذج المكافئ الافتراضي للخوادم المادية، لأنه يغني المشترك عن شرائها وصيانتها، ويقدم له المرونة في توسيع الموارد حسب حاجته والدفع لقائها. يناسب Iaas الشركات الراغبة باستثمار الحوسبة السحابية، ولديها مهندسين ومديري نظم أكفاء وقادرين على تثبيت نظم التشغيل، وأدوات التطوير، وكافة مكونات البنية التحتية الأخرى، مع إعدادها وإدارتها، ويستخدمه أيضًا المطورون والباحثون وغيرهم من الراغبين بتخصيص البنية التحتية للحوسبة السحابية كما يريدون. تدعم خدمات IaaS كامل احتياجات البنية التحتية بسبب مرونتها العالية، بدءًا من البنية التحتية لحوسبة الشركة، وصولًا إلى استضافة الويب، وتحليل البيانات الضخمة. النظام الأساسي بصيغة خدمة PaaS النظام الأساسي بصيغة خدمة Platform as a Service واختصارها Paas، يعمل مزود الخدمة هنا على تثبيت البنية التحتية الأساسية، مثل: نظام التشغيل، والبرامج الأساسية الأخرى، ويكون مسؤولًا عن إعدادها وصيانتها، وهو ما يؤمن للمستخدمين بيئةً معيارية مستقرة الأداء، ومختبرة جيدًا، تتيح لهم التركيز على تطوير تطبيقاتهم ونشرها، لذا فمطورو البرمجيات وفرق التطوير التعاونية هم أكثر من يستخدم خدمات PaaS فهي تخفف عنهم عبء إعداد البيئة الحاسوبية للتطوير، وصيانتها فيما بعد، بالإضافة لكونها تناسب طبيعة العمل الموزع، وتسهل التعاون بينهم. إذًا PaaS خيارٌ مثالي لكل مطور لا يحتاج بالضرورة إلى تخصيص البنية التحتية لبيئته الحاسوبية بنفسه، أو يفضل تركيز اهتمامه على تطوير التطبيق بدلًا من تنفيذ مهام DevOps وإدارة النظام. البرمجيات بصيغة خدمة SaaS البرمجيات بصيغة خدمة Software as a Service واختصارها SaaS، هي تطبيقات قائمة على السحابة cloud-based، يصلها المستخدمون عبر الإنترنت، ولا يحتاجون لتثبيتها على أجهزتهم ولا إلى صيانتها، والأمثلة كثيرة نحو: مستندات جوجل، و GitHub، و Slack، و Adobe Creative Cloud وغيرها. تحظى خدمات SaaS بشعبية كبيرة بين الشركات والمستخدمين عمومًا لعدة أسباب أبرزها: سهولة الاعتماد عليها، وتبنيها نهجًا جديدًا للعمل، وإمكانية الوصول إليها من أي جهاز، وتوفيرها إصدارات أو باقات متنوعة تناسب جميع الفئات، مثل: المجانية، والمميزة Premium، والخاصة بالمؤسسات Enterprise. تتشابه SaaS مع PaaS بأنها تعفي المشترك من المسؤوليات الخاصة بالبنية التحتية للتطبيق فلا يتاح له التفاعل مع الواجهة إلّا التي يستخدمها. البيئات السحابية تستند الخدمات السحابية إلى موارد حاسوبية عامة أو خاصة، ولكل منها أغراض محددة: السحابة العامة تشير السحابة العامة Public Cloud إلى الخدمات السحابية التي يقدمها مزود خدمة تجاري للأفراد والشركات، مثل: الأجهزة الافتراضية أو مساحات التخزين أو التطبيقات، والتي تكون مواردها أو بنيتها التحتية مستضافة بالكامل في مقر المزود، ويصل إليها المشتركون عبر الإنترنت. لا تُعدّ هذه الخدمات مناسبة دائمًا للمؤسسات التي تشترط مستوى عالي من الأمان، مثل: مؤسسات الرعاية الصحية أو المؤسسات المالية، فقد لا تتوافق مع لوائحها المتعلقة بخصوصية بيانات العملاء. السحابة الخاصة يُقصد بالسحابة الخاصة Private Cloud الخدمات السحابية التي تملكها وتديرها المؤسسة التي تستخدمها، وتكون متاحة حصرًا لموظفيها وعملائها. توفر السحابة الخاصة للمؤسسة إمكانات تحكم عالية ببيئتها الحاسوبية والبيانات المخزنة عليها، وموازنةً بالسحابة العامة فهي تقدم مستويات أمان أعلى إذ يصل إليها المستخدمون عبر شبكات خاصة، وتشرف المؤسسة بنفسها على أمان السحابة، وهذا يجعلها الخيار الأفضل للمؤسسات عالية التنظيم، مثل المؤسسات الحكومية والمالية. يقدم بعض مزودي الخدمة السحابية العامة خدماتهم بهيئة تطبيقات يستطيع المشترك تثبيتها على سحابته الخاصة، وبذلك تحتفظ المؤسسات ببنيتها التحتية وبياناتها في مقر عملها، وتحقق معايير الأمان، وتستفيد بالوقت نفسه من أحدث ميزات السحابة العامة. يفيدك الاطلاع على المقال 7 تدابير أمنية لحماية خواديمك بصفته دليلًا مبدئيًا تستند إليه في تأمين خوادمك الخاصة. السحابة الهجينة والسحابة المتعددة تستخدم العديد من المؤسسات بيئة سحابية هجينة Hybrid Cloud تجمع بين السحابة العامة والخاصة، وتحقق التوازن بين حاجتها للاعتماد على مزود سحابة عامة في بعض الجوانب، وضرورة التزامها باللوائح التي تنظم عملها. أما السحابة المتعددة Multicloud فيقصد بها اعتماد المؤسسة على أكثر من مزود سحابي عام لتأمين احتياجاتها، على سبيل المثال: الاشتراك بالخدمات السحابية لأمازون وديجتال أوشن بالوقت نفسه. فوائد الحوسبة السحابية تقدم الحوسبة السحابية فوائد جمّة للأفراد أصحاب الأعمال والمطورين والمؤسسات المختلفة، تختلف باختلاف أهدافهم وطبيعة نشاطاتهم. للأعمال والقطاعات المختلفة تحتاج أي مؤسسة مهما كان نشاطها إلى موارد حاسوبية من تجهيزات وبرمجيات لتتمكن من أداء أعمالها الحاسوبية، وقبل انتشار الحوسبة السحابية، كانت معظم الشركات والمؤسسات تشتري هذه الموارد من تجهيزات وبرامج وتهتم بتشغيلها وصيانتها، أما اليوم مع توفر الحوسبة السحابية على نطاق واسع اعتمدت عليها معظم المؤسسات في تخزين بياناتها وتوفير برمجيات عملها سواء التجارية أو المؤسساتية، بالإضافة لاستخدامها في نشر تطبيقاتها وخدماتها الإلكترونية للعملاء عبر الإنترنت. تتخصص بعض الخدمات السحابية بمجالٍ معين، مثل: الرعاية الصحية أو التعليم أو غيره، فتجد مثلًا خدمات سحابية مصممة خصصيًا لتخزين بيانات المرضى ومشاركتها أو للتواصل معهم، وخدمات أخرى مناسبة للأوساط الأكاديمية يعتمدها المعلمون والباحثون، نحو: تطبيقات التدريس، والبحث المستندة إلى السحابة. ومع ذلك يوجد أيضًا عدد كبير من الأدوات السحابية العامة التي لا تنحصر فائدتها لصناعة معينة أو قطاع محدد، مثل: تطبيقات الإنتاجية، والمراسلة، وإدارة النفقات، ومؤتمرات الفيديو، وإدارة المشاريع، والنشرات الإخبارية، والاستطلاعات، وإدارة علاقات العملاء، وخدمات إدارة الهوية، وجدولة المهام والقائمة تطول. يُظهر هذا النمو المتسارع لتطبيقات الأعمال والبنى التحتية القائمة على السحابة، أن الحوسبة السحابية أكثر من تقنية غيرت إستراتيجية تقنية المعلومات للأعمال المختلفة: بل أنها أيضًا عملٌ مزدهر في حد ذاته. تتعدد المزايا التي توفرها التقنيات السحابية للشركات، ولعل أبرزها تخفيض تكاليف تجهيز البنية التحتية التقنية للشركة داخل مقرها، وتخفيض نفقات تشغيلها وصيانتها، بسبب الاستعاضة عنها بالموارد الحاسوبية المستأجرة على السحابة، والتي يمكن توسيعها بسرعة ومرونة حسب رغبة الشركة، والدفع لقاء ما تستهلك منها فقط، أضف إلى ذلك مساهمة الخدمات السحابية في تعزيز التعاون داخل الشركة، ومشاركة البيانات بين الموظفين في الزمن الحقيقي، ورفع كفاءة عمليات تقنية المعلومات الداخلية، فتسرع مثلًا وصول الموظفين إلى الخدمة عند الطلب دون المرور بسلسلة طويلة من الإجراءات والموافقات التقنية. للمطورين المستقلين جعلت الحوسبة السحابية الموارد -التي كانت سابقًا حكرًا على الشركات والمؤسسات الكبيرة- في متناول المطورين المستقلين حسب الطلب عبر الإنترنت، وبتكاليف بسيطة نسبةً إلى تكاليفها السابقة، فيمكنهم الآن إنجاز عمليات نشر البرمجيات واختبارها بسرعة ويُسر باستخدام التطبيقات السحابية، وبالإضافة إلى ذلك سهلت هذه التطبيقات مثل GitHub مشاركة الشيفرات البرمجية بين المطورين، والتعاون على مشاريع مفتوحة المصدر. كما أتاحت المنصات التعليمية السحابية دورات برمجة تفاعلية ووسّعت خيارات التَعلُّم أمام المطورين، ومكنتهم من تعلم البرمجة بمرونة في الوقت الذي يناسبهم. ساهمت هذه الموارد الحاسوبية والتعليمية القائمة على السحابة بتخفيف العوائق التي تحول دون تعلُّم المطورين المهارات البرمجية التي يحتاجونها، ونشرهم التطبيقات عبر إلى السحابة. فبوجودها لم يعد تلقي التدريب الرسمي، ووجود الشركة الداعمة، ورأس المال الكبير شروطًا إلزامية ليخوض الأفراد تجربة إنشاء التطبيقات ونشرها، بل ولينافسوا اللاعبين الأساسيين في هذا المجال. للباحثين برزت الحاجة إلى الحوسبة السحابية في مشاريع البحث العلمي مثل: الفلك والفيزياء وعلم الوراثة والذكاء الاصطناعي، ومع تزايد اعتماد هذه البحوث على أساليب التعلم الآلي الذي يجمع ويحلل كميات كبيرة من البيانات الضخمة التي تستوجب موارد حاسوبية عالية الأداء تتجاوز مواصفات أي حاسوب يملكه باحث فردي أو توفره جامعة. وهنا يأتي دور الخدمات السحابية فهي تسمح للباحثين بالوصول إلى الموارد الحاسوبية التي يتطلبها عملهم والدفع لقائها فقط، بالإضافة إلى تسهيل التعاون مع شركاء البحث في الزمن الحقيقي وأينما كانوا حول العالم. ولولا الخدمات السحابية المتوفرة للمستخدمين اليوم كانت غالبية بحوث التعلم الآلي الأكاديميةمقتصرة على قلة من الأفراد المتاح لهم الوصول إلى موارد حاسوبية عالية المواصفات. للمعلمين والطلاب أمنت الحوسبة السحابية للطلاب أدواتٍ وفرصًا متعددة لاستكمال تحصيلهم العلمي، وتطبيق مهاراتهم التقنية عمليًّا في أثناء تعلمهم. فهناك العديد من المنصات السحابية التي تتيح مشاركة البيانات والشيفرات البرمجية، وتدريسها، والتعاون عليها، مثل: GitHub، و Jupyter Notebooks، وهو ما يساعد الطلاب على صقل مهاراتهم والتدّرب العملي عليها عبر الدراسة، والنشر، والمساهمة في المشاريع مفتوحة المصدر والمشاريع البحثية المتعلقة بمجال دراستهم أو طموحاتهم المهنية. ويستطيع الطلاب أيضًا، مثل المطورين المستقلين، الاستفادة من موارد الحوسبة السحابية، ونشر شيفراتهم البرمجية والتطبيقات التي عملوا عليها للعموم لتلقي الآراء، وفهم المتطلبات والاحتياجات الحقيقية للعملاء وسوق العمل. كما تساعد الحوسبة السحابية الطلاب والباحثين والمعلمين على دعم البنية التحتية الأكاديمية الخاصة بالمؤسسات العلمية التي ينتمون إليها، وزيادة مستوى التحكم في بيئاتها الحاسوبية، فيحددون مثلًا الأدوات والتطبيقات التي يفضلون استخدامها، ويخصصون وظائفها المختلفة حسب شروطهم، أو يضعون قيودًا على عمليات جمع البيانات أو غير ذلك. وفي هذا الإطار ظهرت مجموعة من المنصات المخصصة للقطاع الأكاديمي، والتي حلت بالتدريج مكان العروض السحابية الموجهة للأكاديميين، على سبيل المثال لا الحصر: منصة voyant التي توفر وظائف التحليل النصي للمستندات بدون برمجة، و منصة The HathiTrust التي تتيح الوصول إلى مجموعة كبيرة من المجلدات العلمية الإلكترونية في مختلف المجالات، بالإضافة إلى منصات Reclaim Hosting، و Commons in a Box، و Humanities Commons، و Manifold المتضمنة مجموعة مهمة من الأدوات التعليمية، والشبكية، والأدوات المساعدة على نشر البحوث المصممة خصيصًا لدعم الأكاديميين. للبنية التحتية المجتمعية يفضل بعض الأفراد والمجتمعات في الشركات أو فرق العمل تثبيت برنامجهم السحابي وإدارته بأنفسهم، لعدة أسباب منها: تلبية احتياجات مجتمعهم وقيمه التي يلتزم بها، وتخصيص وظائف البرنامج بالكيفية التي يريدونها، وحماية بيانات المستخدمين، والتحكم أكثر ببيئتهم الحاسوبية. ويوجد العديد من البرمجيات مفتوحة المصدر التي تؤمن طلبهم، على الرغم من كونها تتطلب جهدًا أكبر في الإدارة والتحكم، إلّا أنها تُعدّ بدائل مقبولة لخدمات SaaS التجارية، ومنصات التواصل الاجتماعي التجارية التي تحدّ غالبًا إمكانات التحكم والخصوصية وإدارة البيئة الحاسوبية الممنوحة للمستخدمين، وتفضلها بعض المجتمعات على خدمات SaaS بسبب مخاوفهم من طريقة تعامل المنصات الشهيرة والشركات التجارية مع البيانات الشخصية للمستخدمين، نذكر لك بعضًا من هذه المنصات مفتوحة المصدر على سبيل المثال لا الحصر: أداة التواصل الاجتماعي Mastodon، وبرنامج مؤتمرات الفيديو Jitsi، ومحرر النصوص التعاوني Etherpad، وأداة الدردشة Rocket Chat. المخاطر، والتكاليف، والأخلاقيات في الحوسبة السحابية وسط كل الفوائد التي تقدمها الحوسبة السحابية للمستخدمين، يوجد بعض الاعتبارات التي ينبغي أخذها بالحسبان عند الاعتماد على أي خدمة سحابية، أهمها: المخاطر المحتملة، والتكاليف، والمعايير الأخلاقية. ويختلف أثرها على المستخدمين باختلاف طبيعة عملهم على السحابة، فبعضها يؤثر على جميع المستخدمين سواء كانوا أفرادًا أم شركات، وبعضها الآخر يملك تأثيرًا أكبر على الشركات والمؤسسات التي تخزن بيانات عملائها على السحابة. اعتبارات تهم جميع مستخدمي السحابة الأمان: الموارد السحابية معرضة للثغرات الأمنية أكثر من مراكز البيانات التقليدية الموجودة داخل مقرات الشركات، لأن مرونتها في الوصول إلى قطاعات واسعة من المستخدمين تفرض عليها استعمال أدوات، مثل: واجهات برمجة التطبيقات APIs، وبيانات المصادقة القائمة على السحابة، والخدمات عند الطلب، التي قد تسهل حصول المخترقين على وصول غير مصرح به للموارد السحابية. لذا ننصحك عند اختيار خدمتك السحابية بتحري تدابير الحماية التي يعتمدها مزود الخدمة لحماية بيانات مشتركيه من السرقة والهجمات الأخرى، وبالاطلاع على أفضل الممارسات التي يتبعها المستخدمون عادةً لحماية بياناتهم على السحابة، وأيضًا على خدمات الحماية الإضافية التي يمكنهم استخدامها. يمكنك مراجعة مقال ما هو الأمن السيبراني وما أهميته؟. فقدان البيانات: تتعرض البيانات المخزنة على السحابة لخطر الفقدان، مثلها مثل البيانات المخزنة على الأجهزة المملوكة أو المُدارة من المستخدم، وذلك بسبب الكوارث أو الأعطال أو الأخطاء البرمجية أو أخطاء المستخدم أو غيرها من الحالات الطارئة. لذا احرص على تفحص خدمات النسخ الاحتياطي التي يوفر لك المزود السحابي، وفيما إذا كانت أوتوماتيكية أم يدوية، مجانية أم مدفوعة، وانظر أيضًا إذا كان باستطاعتك تشغيل النسخ الاحتياطي بنفسك. التمسك بالبيانات: يفضل بعض مستخدمي الخدمات السحابية التأكد من حذف بياناتهم الشخصية التي قدموها لمزود الخدمة في أثناء اشتراكهم، ويصعب عليهم التأكد من حذفها، فهذه العملية طويلة ومعقدة وتاكد تكون مستحيلة. فإذا كنت أحد هؤلاء وتفكر بحذف بياناتك لاحقًا، حاول التعرّف أكثر على سياسات مزود الخدمة بخصوص حذف بيانات المستخدمين قبل منحه حق الوصول لبياناتك الشخصية. التكاليف: توفر الحوسبة السحابية على المستخدمين تكاليف امتلاك الموارد نفسها محليًا هذا أمرٌ لا ريب فيه، لكن فواتير استخدامها قد ترتفع مع زيادة الاستهلاك، لذا ننصحك عند الاشتراك بأي خدمة سحابية بتفقد كافة تفاصيل الفوترة، وفهم طرق احتسابها، وآليات قياس الخدمات والاستهلاك، ويمكنك أيضًا الاستفادة من خصائص توفيرية، مثل: تثبيت حدود قصوى للاستهلاك لا يسمح لك بتخطيها، أو تلقي إشعارات عند تجاوزك حد معين من الباقة. التقيُّد بمزود معين: مستخدمو الخدمات السحابية المملوكة أو مغلقة المصدر هم الفئة الأكثر عرضة لخطر التقيُّد بمزود خدمة معين، فيصعب أو يستحيل عليهم تغيره فيما بعد، فقد نظموا جميع عملياتهم الحاسوبية لتتلائم مع نظامه المغلق. يساعدك استخدام المنصات السحابية مفتوحة المصدر في تخفيف هذه المخاطر، فتُسهّل عليك المعايير المفتوحة التي تعتمدها ترحيل عملياتك من مزود خدمة سحابية إلى آخر. لكن في جميع الأحوال، تُعدّ عمليات ترحيل الأنظمة من أدق العمليات التقنية التي ينبغي لمستخدمي الحوسبة السحابية إدراك حساسيتها وحاجتها لقدر كبير من العمل والتخطيط والخبرة. استخدام المزود لبياناتك: يستخدم بعض مزودي الخدمات السحابية بيانات عملائهم، لأغراض متعددة، مثل: فهم سلوكهم وطريقة تفاعلهم مع المنتجات السحابية، وبيع الإعلانات أو تخصيصها لاستهداف شرائح معينة منهم، وتدريب خوارزميات التعلم الآلي، وقد يبيعونها لجهات خارجية أو غير ذلك. لذا إذا كنت متخوفًا من كيفية استخدام المزود السحابي لبياناتك الشخصية أو بيانات شركتك أو مؤسستك، تأكد من سياسات مزود الخدمة فيما يتعلق بطرق استخدامه للبيانات قبل الاشتراك بخدماته. القيم الأخلاقية للمزود: يتمتع بعض مزودي الخدمات السحابية بتأثير وسلطة لا يستهان بها على القضايا العالمية، لذا يسعى الكثير من مستخدمي السحابة عند اختيارهم للمزود إلى معرفة القيم التي يدعمها ومواقفه الأخلاقية من مسائل مثل: جمع بيانات المستخدمين، والإعلانات، وخطاب الكراهية، والبيئة، وتقديم المعلومات المضللة، والعمالة… إلخ. فقدان التحكم الكامل: موارد الحوسبة السحابية في نهاية الأمر هي موارد طرف ثالث لذا يستحيل على المشترك التحكم بها تحكمًا كاملًا، والحصول على رؤية شاملة لكل جوانبها، يوّلد هذا النقص لدى المستخدم السحابي مخاوف تقنية، ومخاوف أخرى تتعلق بالثقة وآلية استخدام البيانات الشخصية، فهو يشعر دائمًا أن خللًا ما قد يحدث دون أن يتحوط له. يتعامل المستخدمون عادةً مع هذه المخاوف بعدة طرق، أبرزها: استخدام أدوات المراقبة والتحليل ليبقوا على اطلاعٍ دائم بمدى جاهزية بنيتهم التحتية، ويكونوا على استعداد للاستجابة العاجلة لأي طارئ، بالإضافة إلى اهتمامهم بمعرفة سياسات مزود الخدمة حول استخدام بيانات العملاء. اعتبارات إضافية تهم الشركات والمؤسسات القوانين الناظمة: تخضع بعض القطاعات، مثل: الصحة والمالية والتعليم، إلى قوانين صارمة تحدد شروط تعاملهم مع بيانات العملاء لجهة تخزينها واستخدامها، وقد يمنع بعضها تخزين بياناتهم في الخدمات السحابية العامة، لذا تلجأ الجهات التابعة لهذه القطاعات إلى استخدام نماذج سحابية هجينة وحلول تقنية خاصة للامتثال لهذه الضوابط، وإلى جانب القوانين الخاصة بكل قطاع توجد أيضًا لوائح تنظيمية تتعلق بحماية بيانات العملاء في بعض المناطق حول العالم، فيتعين عليهم أيضًا الامتثال لقوانين البلد الذي يقطن فيه عملائهم، فعلى سبيل المثال يلتزم مزودو الخدمات السحابية بالنظام الأوروبي العام لحماية البيانات (GDPR) عند تعاملهم مع عملاء من الاتحاد الأوروبي. التعقيد: تهجير الموارد الحاسوبية للمؤسسة إلى البيئة السحابية عملية حساسة ومعقدة للغاية، وتتطلب تخطيطًا دقيقًا، وحوكمة إدارية، وإشرافًا مستمرًا لتجنب مشكلات عدم التوافق، ومخاطر فقدان البيانات، وزيادة التكاليف غير المدروسة. خلاصة القول: تساعد الحوسبة السحابية المؤسسات على خفض تكاليف تجهيز بنيتها التحتية، لكنها بالمقابل تحتاج خبراء تقنيين للتخطيط للبنية التحتية وإدارتها وتوجيهها بالاتجاه الصحيح. الملخص تؤمن التقنيات السحابية فرصًا كبيرة للشركات والمطورين المستقلين والباحثين والمعلمين والطلاب. لكن استفادتك الحقيقية من ميزاتها وعروضها تتطلب منك فهمًا جيدًا لأنواع الخدمات السحابية، ونماذج تقديمها، وفوائدها، ومخاطرها، لتختر منها ما يناسب طبيعة عملك، وميزانيتك، وخصوصية بياناتك. ترجمة -وبتصرف- للمقال A General Introduction to Cloud Computing لصاحبته Erin Glass. اقرأ أيضًا المقال السابق: مقدمة إلى الخوادم السحابية مفهوم السحابة Cloud تعلم الحوسبة السحابيّة: المتطلبات الأساسيّة، وكيف تصبح مهندس حوسبة سحابيّة كل ما تود معرفته عن السحابة الهجينة Hybrid Cloud
  25. هذا الخطاء كيف ممكن حلة FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'. > Could not resolve project :unityLibrary. Required by: project :app > No matching configuration of project :unityLibrary was found. The consumer was configured to find an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.3.0', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm' but: - None of the consumable configurations have attributes. FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'. > Could not resolve project :unityLibrary. Required by: project :app > No matching configuration of project :unityLibrary was found. The consumer was configured to find an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.3.0', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm' but: - None of the consumable configurations have attributes.
  1. عرض المزيد
×
×
  • أضف...