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

لوحة المتصدرين

  1. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      8

    • المساهمات

      13209


  2. عبدالباسط ابراهيم

    • نقاط

      2

    • المساهمات

      4894


  3. Hala Abdullah Asiri

    Hala Abdullah Asiri

    الأعضاء


    • نقاط

      2

    • المساهمات

      2


  4. Ali Ahmed6

    Ali Ahmed6

    الأعضاء


    • نقاط

      2

    • المساهمات

      85


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 10/24/23 في كل الموقع

  1. السلام عليكم تستخدم مكتبه TensorFlow في مجال الدكاء الاصطناعي فقط ام يوجد مكتبه تاني ؟
    1 نقطة
  2. هل بي انجازي هاذي الدوره استطيع بناء موقع بنفسي ؟ رودني هذا سؤال وانا انجزت 3مسارات بهاذي الدوره
    1 نقطة
  3. موقع تم انشاءه بلغه php وطلبوا مني ان اقوم بأنشاء له تطبيق جوال لنظام اندرويد و IOS فكرت بأن اقوم بأستخدام flutter فهل استطيع القيام بهذا وهل ستكون هناك صعوبات بالقيام بهذا . هل هناك مصادر او دروس لمعرفه كيف اقوم بهذه الخطوات
    1 نقطة
  4. انا طالبه وما عندي وقت فاضي كثير، ومعرف وقت الدوره هل لها وقت محدد ؟ مثلًا ادخلها صباح او ليل؟ ابغا اشترك بس معرف الوقت .
    1 نقطة
  5. الشهادة معتمدة من قبل أكاديمية حسوب، ويجب تفهم أمر معين وهي أن الدورات عبر المنصات التعليمية يتم إصدار شهادة معتمدة من قبل المنصة ويمكن التأكد من إصدار الشهادة من خلال الكود الموجود فيها وأ]ضًا الرابط الإلكتروني الخاص بها في أكاديمية حسوب. وهي ليست شهادة جامعية ليتم إعتمادها من قبل أي دولة، بل شهادة من منصة عربية شهيرة في الوطن العربي، ولكن شهادات أكاديمية حسوب ليست شهادات إكمال أو حضور الدورة، بل يتم تقديمها لمن قام بإنهاء المشاريع ورفعها على منصة GitHub وإجتياز الإختبار النظري ثم إجتياز الإختبار العملي من خلال مشروع يتم إخبارك بتنفيذه ويتم مراجعته ثم تحصلين على الشهادة في حال تم تنفيذه بشكل صحيح وبجودة جيدة. وعامًة الشركات لن تنظر إلى الشهادات بغض النظر عمن قام بإصدارها، بل تنظر إلى الخبرة ومعرض الأعمال أي مهاراتك ومدى استيعابك هو الإثبات الوحيد لجدارتك. وستجدي تفصيل أكثر هنا في قسم الأسئلة الشائعة في الأكاديمية: ماذا يعني شهادة معتمدة من أكاديمية حسوب؟
    1 نقطة
  6. الشهاده معتمده؟ومن اي جهه؟
    1 نقطة
  7. السلام عليكم انا بدأت تعلم تخصص front-end مباشرة بدون ان اتؤسس يعني لم احل مشاكل او اتعلم (data-structure and algorithm + oop ...) و الان عدت لاتؤسس صح هل مافعلته صحيح و مهم ؟
    1 نقطة
  8. الفرق الرئيسي بين require() و import هو أن require() هو جزء من نظام الوحدات CommonJS ، بينما import هو جزء من نظام الوحدات ECMAScript بدءًا من ES6. ,نظام الوحدات CommonJS هو نظام الوحدات الأصلي لـ Node.js ,يسمح لك بتحميل وحدات من ملفات JavaScript منفصلة. وإليك مثال على التصدير باستخدام CommonJS // file: my-module.js module.exports = { name: "My Module", version: "1.0.0", sayHello: function() { return "Hello, world!"; }, }; لاستخدام تلك الوحدة ، نستخدم require() على النحو التالي: // file: my-app.js const myModule = require("my-module"); console.log(myModule.name); // My Module console.log(myModule.version); // 1.0.0 console.log(myModule.sayHello()); // Hello, world! ويؤدي استخدام نظام الوحدات CommonJS إلى بعض التداعيات ، مثل: يجب أن تكون جميع وحدات CommonJS محملة في وقت البدء. يمكن أن يؤدي تحميل وحدات متعددة إلى زيادة استخدام الذاكرة. لا يمكن تحميل وحدات CommonJS ديناميكيًا. ECMAScript أما نظام الوحدات ECMAScript هو نظام الوحدات الأحدث لـ JavaScript ,يسمح لك بتحميل وحدات من ملفات JavaScript منفصلة ، ولكنه يوفر أيضًا بعض الميزات الإضافية ، مثل: تحميل وحدات ديناميكيًا تحميل وحدات حسب الحاجة تحميل وحدات بشكل متوازٍ مثال على التصدير باستخدام نظام ECMAScript // file: my-module.js export const name = "My Module"; export const version = "1.0.0"; export function sayHello() { return "Hello, world!"; } لاستخدام تلك الوحدة ، نستخدم import على النحو التالي: // file: my-app.js import { name, version, sayHello } from "my-module"; console.log(name); // My Module console.log(version); // 1.0.0 console.log(sayHello()); // Hello, world! هل نستخدم require في objects و import في الدوال؟ من الأفضل استخدام import بدلاً من require(). وذلك لأن import يقدم ميزات أكثر وأفضل من require(). ولا يزال من الممكن استخدام require() في بعض الحالات ، مثل: إذا كنت تضطر إلى العمل مع كود قديم يستخدم require(). إذا كنت بحاجة إلى تحميل وحدات ديناميكيًا.
    1 نقطة
  9. يمكنك استخدام الواجهة الخلفية التي تم إنشائها بالفعل بواسطة PHP كأساس لتطبيق الهاتف، لكن فلاتر ليس لها علاقة بـ PHP أي سيتعين عليك تعلم لغة Dart الخاصة بذلك الإطار وأيضًا تعلم الإطار نفسه من أجل برمجة الواجهة الأمامية للتطبيق. وستجدي هنا شرح بخصوص تلك النقطة:
    1 نقطة
  10. لا لا يوجد وقت محدد ويمكنك حضور الدورة في اي وقت تريدينه، حيث سيكون المحتوى الخاص بالدورة متوفر لديك بالكامل ويمكنك التحكم في وقت الدراسة بالشكل الذي يناسبك. وكذلك الامر لا يوجد وقت محدد للدورة والوقت الموجود في معلومات الدورة هو عدد الساعات المرئية المتوفرة ويمكنك مشاهدتها خلال مدة غير محدودة. بعد قول ذلك فالوقت المفضل للدراسة هو في الصباح الباكر وهذا هو الوقت الذي انصحك بالدراسة فيه.
    1 نقطة
  11. قمت بإنهاء دوره جافا سكريبت فمتى اقوم باستلام الشهاده وماهى افضل الخطوات بعد انهاء الدوره للحصول على عمل
    1 نقطة
  12. Webflow تعتبر أداة قوية وسهلة الاستخدام تسمح لك بإنشاء مواقع ويب جميلة وتفاعلية دون الحاجة إلى أي معرفة بلغات البرمجة. لذلك ببساطة تعلمها سيفيدك بدون أدنى شك حيث أن هناك بعض العملاء التي تريد عمل موقع بتكلفة منخفضة لذلك يكون Webflow خيار جيد لك ويوجد الكثير من التقنيات المشابهه ل Webflow ويمكنك البحث عن No-code website builder فيما يلي بعض الأسباب التي تجعلني أوصي بـ Webflow: لا يتطلب Webflow أي معرفة بلغات البرمجة. يمكنك إنشاء مواقع ويب باستخدام واجهة السحب والإفلات البديهية. يمكنك تخصيص مواقع الويب الخاصة بك بالكامل باستخدام CSS و JavaScript.
    1 نقطة
  13. هل هذا يعني اني استطيع استعمال require() عند استدعاء models والتي تستعمل الobject في بنيتها? و استعمال import عن استعمال modules او مكتبه لا تستعمل object في بنيتها?
    1 نقطة
  14. 1 نقطة
  15. ما هي المواقع التدريبية لإنشاء المواقع باستخدام لغة بايثون؟
    1 نقطة
  16. مرحبا مصطفى، هنيئا لك بإكمال الدورة، الخطوة التالية بعد الانتهاء من الدورة هي الإمتحان والحصول على الشهادة، ولهذا شروط هي: إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة رفع المشاريع على حسابك على GitHub بعد التأكد من استيفاء الشروط سوف تحتاج التواصل مع فريق الدعم من خلال مركز مساعدة أكاديمية حسوب ، سوف يتم اجراء محادثة صوتية معك ثم امتحانك ببساطة. اطلع أكثر على الامتحان والحصول على الشهادة.
    1 نقطة
  17. بالطبع أنت قادر على استخدام تنسيق النصوص (Formatting) في أي قيمة تُرجعها من دالة باستخدام توابع تنسيق السلاسل (String Formatting). وكمثال من خلال f-strings (formatted string literals) لتنسيق النصوص داخل العبارة التي ترجعها الدالة، حيث تبدأ السلسلة بحرف "f" قبل علامات الاقتباس، وتستطيع وضع متغيرات داخل السلسلة بين أقواس مربعة متعامدة. def greet(name): return f"Hello, {name}!" result = greet("Alice") print(result) # سيتم طباعة "Hello, Alice!" تستطيع أيضًا استخدام توابع تنسيق السلاسل مثل str.format() أو % لتنسيق النصوص داخل العبارة التي ترجعها الدالة كالتالي: def greet(name): return "Hello, {}!".format(name) result = greet("Bob") print(result) # سيتم طباعة "Hello, Bob!" أي أن الأمر حر بالنسبة لك، وتستطيع إرجاع أي قيمة تريدها.
    1 نقطة
  18. طيب هو انا اقدر استخدم الformating في الداله return ؟
    1 نقطة
  19. هل أنت مهتم بتطوير التطبيقات وتريد تعلم برمجة تطبيق احترافي لكنك لا تعلم كيف تبدأ وما هي الخطوات التي عليك اتباعها كي تطور تطبيقك بأفضل صورة ممكنة؟ هذا المقال يضعك في بداية الطريق ويوضح لك أنواع التطبيقات المختلفة وأبرز مميزاتها ويعرفك على لغات برمجة التطبيقات التي عليك تعلمها بأسلوب بسيط وسهل ما معنى برمجة تطبيق؟ تعني برمجة التطبيق القيام بمجموعة من العمليات والإجراءات الضرورية لكتابة برنامج يعمل على جهاز الحاسوب أو الجوال أو غيرها من الأجهزة القابلة للبرمجة ويؤدي مهمة معينة تفيد مستخدم هذا الجهاز. كي تتمكن من برمجة تطبيق ما يجب أن تضع في الحسبان عدة اعتبارات مثل تحديد نوع التطبيق الذي ستقوم بإنشائه والمنصة أو نظام التشغيل الذي سيعمل تطبيقك عليه والتقنيات التي سوف تستخدمها لتطوير التطبيق وطريقة نشر التطبيق وإتاحته للمستخدمين وغيرها من الأمور التي سنتطرق لشرحها في الفقرات التالية. أهمية برمجة التطبيقات في سوق العمل تأتي أهمية برمجة التطبيقات من أهمية التطبيقات نفسها والاعتماد الكبير عليها لأداء المهام المختلفة في العمل والحياة اليومية. فالأشخاص اليوم ينجزون معظم أعمالهم اليومية من تسوق ودفع وفواتير ولعب وتواصل مع الأصدقاء عبر تطبيقات على هواتفهم أو حواسيبهم، كما تعتمد شركات الأعمال اليوم التطبيقات بشكل أساسي للتسويق لعلامتها التجارية وتسيير أعمالها والتفاعل مع عملائها. لذا تعد برمجة التطبيقات من تخصصات البرمجة الأعلى أجرًا والأكثر طلبًا في سوق العمل، فمعظم الشركات اليوم تحتاج إلى مطورين لبرمجة تطبيقات خاصة بها أو تحسين التطبيقات الحالية وصيانتها والتأكد من أنها تعمل بشكل صحيح، كما أن تطوير التطبيقات يوفر لك فرصة العمل بشكل مستقل وتقديم خدماتك في مواقع العمل الحر العربية والعالمية، كما يمكنك كذلك تطوير تطبيقاتك الخاصة ورفعها على متاجر التطبيقات وتحقيق الربح منها. ما نوع التطبيق الذي يمكنك برمجته؟ قبل أن تبدأ ببرمجة أي تطبيق عليك تحديد نوع التطبيق الذي تنوي برمجته فأنواع التطبيقات كثيرة ومتنوعة وتختلف باختلاف أنواع الأجهزة التي ستعمل عليها وأنظمة التشغيل التي تتوافق معها، وتشمل الأنواع الرئيسية التالية: تطبيق الجوال Mobile App وهو عدة أنواع: تطبيق جوال أصيل Native Mobile App: هو تطبيق مصمم خصيصًا لنظام تشغيل الجوال الذي يعمل عليه، على سبيل المثال هناك تطبيقات جوال مخصصة لنظام أندرويد Android وأخرى مخصصة لنظام iOS ولا يمكنك استخدام تطبيق iOS أصيل على جهاز أندرويد أو العكس. تطبيق جوال هجين Hybrid Mobile App: هو تطبيق قادر على العمل على كافة أنواع المنصات والأجهزة ويبرمج من خلال تقنيات الويب HTML و CSS و JavaScript ثم يحول بتقنيات معينة ليتناسب كل منصة. تطبيق عابر للمنصات Cross-platform App: هو تطبيق قادر على العمل على كافة أنواع المنصات مثل التطبيق الهجين لكنه يبرمج باستخدام تقنيات وأطر عمل قابلة للتشغيل على أكثر من منصة. تطبيق ويب Web App: هو تطبيق يمكنه العمل على أي جهاز لأن الوصول إليه يتم من خلال متصفح الإنترنت، ولا داعي لتحميله على جهازك كي تستخدمه، لكن ليس بمقدوره الوصول إلى موارد الجهاز مثل الكاميرا أو الميكروفون أو جهات الاتصال. تطبيق سطح مكتب Desktop App: هو برنامج مصمم للعمل على أجهزة الحواسيب المكتبية والحواسيب المحمولة التي تعمل بأنظمة التشغيل ويندوز Windows أو ماك macOS أو لينكس Linux، ولا يحتاج عادة للاتصال بالإنترنت ليعمل كل ما عليك هو تثبيته من الموقع المخصص له وبعدها يمكنك تشغيله واستخدامه. بعد أن تعرفت على أنواع التطبيقات المختلفة وعرفت الفرق بينها وحددت نوع التطبيق الذي تريد برمجته قد تتساءل كيف يمكنني برمجة التطبيق الخاص بي، وما التقنيات التي علي تعلمها للقيام بذلك؟ في الفقرات التالية سنعرفك على أهم تقنيات برمجة كل نوع من أنواع التطبيقات. برمجة تطبيقات الجوال كما ذكرنا سابقًا عند برمجة تطبيقات الجوال ستكون أمام عدة خيارات ممكنة، الخيار الأول هو برمجة تطبيق جوال أصيل مخصص لمنصة محددة أو نظام تشغيل معين وهو يبرمج بلغات متوافقة مع هذا النظام، والخيار الثاني هو برمجة تطبيق جوال يعمل على عدة منصات بذات الوقت ويمكنك إنشاء هذا النوع من التطبيقات إما من خلال إنشاء تطبيق جوال هجين يعمل من داخل متصفح مضمن أو عارض ويب WebView موجود داخل تطبيق أصيل، أو من خلال إنشاء تطبيق جوال عابر للمنصات وهو تطبيق يبرمج باستخدام تقنيات وأطر عمل يمكنها أن تعمل على عدة منصات بذات الوقت مثل منصة زامارين Xamarin من مايكروسوفت أورياكت نيتف React Native أو فلاتر Flutter فهذه المنصات تمكنك من كتابة تطبيقات تعمل على أيّ نظام تشغيل بنفس الكود البرمجي. برمجة تطبيق جوال أصيل أبرز منصتين للهواتف المحمولة هما أندرويد Android من جوجل وآي أو إس iOS من آبل، لذا في حال قررت برمجة تطبيق أندرويد فعليك في هذه الحالة استخدام لغة برمجة معتمدة من قبل نظام التشغيل أندرويد مثل لغة جافا Java أو لغة كوتلن Kotlin، أما في حال قررت برمجة تطبيق iOS فعليك في هذه الحالة استخدام لغة مدعومة من قبل هذا النظام مثل لغة البرمجة Objective-C أو لغة سويفت Swift. برمجة تطبيق جوال متعدد المنصات يمكن برمجة تطبيقات جوال قادرة على العمل عبر الأنظمة الأساسية بلغات برمجة وتقنيات وأطر عمل مختلفة ومن أبرز هذه التقنيات نذكر: إطار عمل أيونيك Ionic وهو إطار عمل جافا سكريبت مخصص لبرمجة تطبيقات الجوال الهجينة. لغة درات Dart مع إطار عمل فلاتر Flutter لبرمجة تطبيقات جوال متعددة المنصات. إطار عمل ريآكت نيتف React Native وهو إطار عمل للغة جافا سكريبت لتطوير تطبيقات متوافقة مع كافة أنظمة التشغيل باستخدام نفس الكود البرمجي. برمجة تطبيق ويب يعمل تطبيق الويب عبر شبكة الإنترنت ومن أجل برمجة تطبيق ويب ينبغي عليك الاهتمام ببرمجة الواجهة الأمامية للتطبيق التي تتحكم بمظهره وتمثل كل ما تراه في هذا التطبيق من واجهات وأزرار وخطوط، وتهتم أيضًا ببرمجة الواجهة الخلفية للتطبيق التي تتحكم في كيفية عمله وتهتم بالتعامل مع قاعدة بياناته ومعالجتها وجلب البيانات المطلوبة منها. لكل واجهة من هذه الواجهات لغات وتقنيات خاصة بها ومن أبرز لغات البرمجة والتقنيات المستخدمة في برمجة تطبيقات الويب نذكر: لغات HTML و CSS وجافا سكريبت وهي اللغات الأساسية الثلاثة المستخدمة لتطوير الواجهات الأمامية لتطبيقات الويب. لغة PHP مع إطار عمل لارافيل Laravel لتطوير الواجهات الخلفية للويب. لغة جافا سكريبت JavaScript مع بيئة Node.js وأطر عملها المختلفة مثل أنجولار Angular و فيو جي إس Vue.js و Next.js لتطوير الواجهة الأمامية و إكسبرس Express لتطوير الواجهة الخلفية لتطبيقات الويب لغة بايثون Python مع إطار العمل جانغو Django أو فلاسك flask المخصصة لتطوير الواجهات الخلفية للويب. لغة روبي Ruby مع إطار عملها Ruby on Rails الذي يستخدم لإنشاء تطبيقات الويب بسهولة وسرعة. لغة جافا Java التي توفر العديد من التقنيات الفعالة لبرمجة تطبيقات الويب مثل Servlet و JSP التي تسمح بتطوير ونشر تطبيقات الويب على الخادم بسهولة وتوفر أطر عمل قوية مثل Spring و Spring Boot. برمجة تطبيق سطح مكتب تختلف التقنيات المستخدمة في تطبيقات سطح المكتب باختلاف نظام التشغيل المستهدف ومتطلبات التطبيق نفسه. تستخدم لغات البرمجة وأدوات التطوير الخاصة بكل نظام تشغيل لبناء تجربة مستخدم فعالة وممتعة على أجهزة الكمبيوتر الشخصية والحواسيب المحمولة. هناك العديد من لغات البرمجة والتقنيات المتخصصة التي تساعدك كمبرمج تطبيقات سطح مكتب نذكر منها: لغة C و C#‎ و C++‎ وهي لغات مناسبة من أجل إنشاء تطبيق سطح مكتب مخصص للعمل على أجهزة ويندوز. لغة Objective-C أو سويفت Swift وإطار العمل كاكاو Cocoa من أجل برمجة تطبيقات سطح مكتب لنظام تشغيل ماك Mac OS. لغة C و C++‎ لبرمجة تطبيقات سطح مكتب لنظام تشغيل لينكس. لغة البرمجة جافا Java لتطوير تطبيقات سطح مكتب متوافقة مع جميع المنصات وأنظمة التشغيل Windows أو Mac OS أو Linux دون الحاجة لتعديل الكود البرمجي للتطبيق. لغة بايثون Python لبرمجة تطبيقات سطح مكتب متعددة المنصات بمساعدة مكتبات مخصصة مثل PyQt وPySide و Tkinter لغة جافا سكريبت مع إطار عمل إلكترون Electron من أجل إنشاء تطبيقات سطح مكتب متوافقة مع كافة أنظمة التشغيل باستخدام كود برمجي واحد يستخدم HTML وCSS وجافا سكريبت JavaScript. إطار عمل Universal Windows Platform أو اختصارًا UWP من أجل إنشاء تطبيق سطح مكتب مخصص لنظام تشغيل ويندوز 10 و ويندوز 11 إطار عمل Windows Presentation Foundation أو اختصارًا WPF لتطوير تطبيقات سطح مكتب لنظام ويندوز باستخدام لغة ترميز التطبيق الموسعة XAML وهو متوافق مع إطار عمل دوت نت NET الذي يحتوي على العديد من المكتبات لتحسين وظائف التطبيق الخاص بك. يمكنك استخدام مكتبة واجهة المستخدم الرسومية GTK+‎ مع لغات برمجة مختلفة مثل سي C و Python و C++‎ وروبي لإنشاء واجهات تطبيقات سطح المكتب وهي متوافقة مع أنظمة التشغيل المختلفة. يمكنك استخدام نماذج WinForms لإنشاء واجهات لتطبيقات سطح مكتب تعمل على ويندوز بسهولة من خلال السحب والإفلات. ما هي خطوات برمجة تطبيق إذا أردت تطوير تطبيق ما مهما كان نوعه فعليك اتباع مجموعة من الخطوات أو المراحل قبل أن يصبح هذا التطبيق متاح للاستخدام، وفيما يلي أهم هذه المراحل: تحديد فكرة التطبيق تحديد نوع التطبيق تحديد التقنيات التي سيبرمج بها التطبيق تحديد الوظائف الرئيسية للتطبيق تصميم واجهة التطبيق برمجة واجهات التطبيق برمجة وظائف التطبيق اختبار التطبيق نشر التطبيق التحسين المستمر للتطبيق تسويق التطبيق لنناقش كل خطوة من هذه الخطوات بمزيد من التفصيل ونتعرف على أبرز المهام التي علينا القيام بها لإنجازها. 1. تحديد فكرة التطبيق أولى خطوات برمجة التطبيق الخاص هي وضع فكرة التطبيق وميزاته والهدف منه والفئة المستهدفة وتحديد المشكلة التي يحلها والميزة التنافسية التي سيوفرها عن غيره من التطبيقات المشابهة. وفي حال لم تكن صاحب الفكرة أو التطبيق الذي ستطوره فستحتاج عندها لأن تجري عدة نقاشات مع الجهة التي ستطور لها التطبيق لاستيضاح كافة هذه التفاصيل حوله. 2. تحديد نوع التطبيق في هذه الخطوة عليك تحديد نوع التطبيق المناسب لتحقيق الأهداف التي وضعتها في الخطوة السابقة، وتحدد نوع الجهاز ونظام التشغيل الذي سيعمل عليه التطبيق وغيرها من المتطلبات اللازمة لعمل التطبيق وبناء عليها يمكنك متابعة خطوات التطوير. 3. تحديد التقنيات التي سيبرمج بها التطبيق فكما وضحنا سابقًا لكل نوع تطبيقات تقنياته ولغات البرمجة الخاصة به، حدد كافة التقنيات التي ستحتاجها للبدء ببرمجة التطبيق والعمل على إعداد بيئة التطوير اللازمة للعمل. 4. تحديد الوظائف الرئيسية للتطبيق ابدأ بوضع قائمة بجميع الميزات والوظائف التي يحتاجها التطبيق للعمل وأولوية تنفيذها بناء على المتطلبات التي جمعتها في الخطوة الأولى، قد تحتاج هذه الوظائف للتعديل فيما بعد بسبب عدم وضوح المتطلبات أو وجود رؤية شاملة عن التطبيق في البداية. 5. تصميم واجهة التطبيق حان الآن وقت تصميم واجهات التطبيق وإطاراته الهيكلية Wireframes وتوضح من خلالها لمستخدمي هذا التطبيق مميزاته وطريقة عمله والوظائف التي يؤيدها بدقة، يمكنك في هذه المرحلة استخدام إحدى أدوات تصميم واجهات المستخدم مثل فيجما Figma، كما ينبغي أن تحرص على تصميم واجهات مستخدم مثالية ذات مظهر متسق وتحقق أفضل تجربة لمستخدمي التطبيق وتتبع أفضل النصائح لتصميم واجهة المستخدم. 6. برمجة واجهات التطبيق بعد تصميم الواجهات تبدأ مرحلة برمجة واجهات التطبيق أو ما يعرف ببرمجة الواجهات الأمامية للتطبيقات frontend وهي تشمل كل العناصر التي يراها المستخدمون ويتفاعلون معها من نصوص وأزرار وصور وما شابه. 7. برمجة وظائف التطبيق قد تسير هذه الخطوة بالتزامن مع الخطوة السابقة وفيها يتم البدء بتحقيق قائمة الوظائف والمميزات المطلوبة لعمل التطبيق وبرمجة واجهته الخلفية كما يتم ربط الواجهة الأمامية والخلفية مع بعضهما، الجدير بالذكر بأنك لست مضطرًا لتحقيق كل الوظائف بآن واحد بل يمكنك تنفيذ وظيفة معينة والتأكد من عملها بالشكل الصحيح قبل الانتقال لوظيفة أخرى، تحتاج في هذه المرحلة لربط. 8. اختبار التطبيق بعد الانتهاء من برمجة التطبيق عليك اختبار خلوه من الأخطاء وللاختبار نوعان: اختبار يدوي واختبار مؤتمت، يمكن إجراء الاختبار اليدوي عن طريق إتاحة التطبيق للتجريب من قبل عينة من الأشخاص الحقيقيين للحصول على ملاحظاتهم والتأكد من أن كل الميزات تعمل بالشكل المطلوب واختبار قابلية الاستخدام وأن واجهات التطبيق سهلة وتوفر تجربة مستخدم سهلة وأنه متوافق مع مختلف المنصات والشاشات وتصلح أي أخطاء ومشكلات مكتشفة قبل نشر تطبيقك، كما يمكنك أتمتة عملية الاختبار بالتحقق من صحة التطبيق ومعرفة ما إذا كان يعمل كما هو متوقع أم لا باستخدام أدوات اختبار آلية تسرع عملية الاختبار. 9. نشر التطبيق في هذه المرحلة يمكنك نشر التطبيق للمستخدمين، يمكنك نشر التطبيق الخاص على موقع خاص بك ثم توجيه المستخدمين لتنزيله وتثبيته من هناك كما يمكنك نشره على أحد متاجر التطبيقات الرسمية بحسب نوع التطبيق ففي حال كان تطبيقك عبارة عن تطبيق أندرويد سيتوجب عليك نشره على متجر Google Play وفي حال كان تطبيق iOS عليك نشره على متجر App Store وفي حال كان تطبيق سطح مكتب موجهًا لنظام تشغيل ويندوز عليك نشره في متجر مايكروسوفت Microsoft Store وفي حال كان تطبيق سطح مكتب لنظام ماك macOS عليك نشره في متجر آبل Apple Store …إلخ. الجدير بالذكر أن نشر التطبيق على أحد متاجر التطبيقات يحتاج لتوفير مجموعة من المعايير والشروط التي عليك الالتزام بها لقبول التطبيق لذا من الضروري أن تكون ملمًا بالشروط التي تفرضها هذه المنصات وتلتزم بها خلال برمجة التطبيق الخاص بك. 10. التحسين المستمر للتطبيق بعد نشر التطبيق الخاص بك وإتاحته للمستخدمين عليك مراقبة أدائه وتتبع مراجعات المستخدمين حوله وإجراء عمليات التكامل المستمر والنشر المستمر CI/CD وتطبيق الإصلاحات والتحسينات الضرورية عندما تستدعي الضرورة. 11.تسويق التطبيق من الضروري أن تسوق لتطبيقك بشكل صحيح لا سيما إن كنت تنوي الربح من التطبيق ووضع إعلانات بداخله لذا احرص على اتباع الاستراتيجيات التسويقية الفعالة التي من شأنها إيصال التطبيق للجمهور المستهدف. مصادر تعلم برمجة تطبيق بعد تحديد نوع التطبيق الذي ترغب بتطويره ستبدأ رحلة البحث عن المصادر التي يمكن أن تتعلم من خلالها برمجة تطبيق متكامل من الألف للياء، قد تفكر في اتباع مسار جامعي ودخول أحد الكليات التقنية لكن التعلم في هذه الحالة سيكون طويلًا ومشتتًا، أو يمكنك اللجوء للتعلم الذاتي واعتماد مصادر تعليمية تفضلها من دروس ومقالات وكتب ودورات عبر الإنترنت ومعسكرات تدريبية وغيرها وهنا ستجد الكثير من المصادر وقد تتشتت فيما بينها لا سيما إن لم تتمكن من وضع خطة تعلم واضحة ومدروسة والالتزام بها الأمر الذي قد يسبب لك الإحباط والفشل. لذا من الضروري أن تحدد أحد مصادر التعلم المنظمة والموثوقة وتلتزم بخطة تعلم واضحة وإذا كنت تبحث عن مصدر موثوق للتعلم باللغة العربية فقد وفرت لك أكاديمية حسوب العديد من مصادر التعلم لمعظم التقنيات التي تحتاجها لتتعلم برمجة التطبيقات من الصفر حتى الاحتراف وفي فقراتنا التالية نسلط الضوء على أبرز هذه المصادر: تعلم برمجة تطبيق ويب إذا قررت تعلم تطوير الويب أنصحك باتباع دورة تطوير تطبيقات الويب باستخدام لغة Ruby حيث ستتعلم في هذه الدورة برمجة العديد من تطبيقات الويب بلغة البرمجة روبي وإطار عملها الشهير ريلز Rails مثل برمجة تطبيق ويب لشبكة اجتماعية تشبه تويتر، وتطبيق ويب لمجتمع إلكتروني وغيرها من التطبيقات المعدة من قبل نخبة من المطورين المحترفين والتي تؤهلك لدخول سوق العمل بسرعة واحترافية. كما توفر الأكاديمية دورة تطوير تطبيقات الويب باستخدام لغة PHP وإطار عملها لارافل Laravel التي توفر لك أكثر من عشر مسارات شاملة ويمكنك من خلال اتباعها تطوير العديد من تطبيقات الويب الاحترافية مثل نظام إدارة محتوى ومتجر إلكتروني وغيرها من تطبيقات الويب المتنوعة التي تعزز سيرتك الذاتية وتساعدك في العثور على فرصة عمل مناسبة. وفي دورة دورة تطوير التطبيقات باستخدام لغة Python ستتعلم برمجة تطبيق ويب خطوة بخطوة باستخدام إطار العمل جانغو Django وتبرمج تطبيق لإدارة المهام ومتجر إلكتروني كامل المميزات. وفي حال رغبت بتطوير واجهات التطبيق الأمامية فقط أو رغبت في تعلم التطوير الكامل full-stack فيمكنك مطالعة دورة تطوير واجهات المستخدم ففيها تتعلم بناء واجهات لعدة تطبيقات باستخدام التقنيات الأساسية HTML و CSS وجافاسكربت JavaScript إلى جانب تقنيات حديثة وأطر عمل مثل بوتستراب Bootstrap 5 و Sass و Webpack وHugo التي تسرع عملك وتجعله أكثر احترافية. تعلم برمجة تطبيق أندرويد و iOS إذا كنت مهتمًا بتطوير تطبيقات الجوال يمكنك مطالعة دورة تطوير التطبيقات باستخدام لغة Python والتي ستتمكن من خلالها من تطوير تطبيق لإدارة المهام ومتجر إلكتروني متكامل وغيرها من التطبيقات باستخدام إطار العمل جانغو Django وفلاسك Flask وهما من أشهر أطر العمل المستخدمة في تطوير تطبيقات الويب. كما توفر دورة تطوير التطبيقات باستخدام جافا سكريبت عدة مسارات غنية بالمعلومات تعلمك خطوة بخطوة برمجة تطبيقات ويب متعددة المنصات تعمل على أجهزة أندرويد و iOS من بينها تطبيق جوال للوصفات باستخدام مكتبة رياكت React مع إطار عمل أيونيك Ionic وتطبيق محادثة شبيه بتطبيق واتس أب باستخدام إطار عمل React Native وغيرها من التطبيقات المختلفة. كما يمكنك الاستفادة من الدروس والمقالات المتعددة التي توفرها الأكاديمية والتي توفر شروحات متنوعة حول برمجة تطبيقات الجوال التي تناسب المبتدئين والمحترفين على حد سواء. تعلم برمجة تطبيق سطح مكتب لازالت تطبيقات سطح المكتب مطلوبة في سوق العمل لاسيما من قبل الشركات التي تهتم بخصوصية وحماية بياناتها، فإذا كنت مهتمًا ببرمجة هذا النوع من التطبيقات ستجد في أكاديمية حسوب دورة تطوير التطبيقات باستخدام لغة Python والتي ستتعلم من خلالها أساسيات تطوير تطبيقات سطح المكتب وتطبق ما تعلمته على تطوير تطبيق لإدارة المهام ومتجر إلكتروني متكامل باستخدام جانغو Django وهو إطارعمل قوي للغة بايثون يمكنك من تطوير مواقع ويب وتطبيقات ويب آمنة وسهلة الصيانة بسرعة كبيرة. كما ستجد في دورة تطوير التطبيقات باستخدام جافا سكريبت مسارًا متخصصًا في شرح برمجة تطبيق سطح مكتب باستخدام إطار عمل إلكترون Electron js بدءًا من بناء واجهات المستخدم وصولًا لنشر التطبيق. ليس هذا فحسب فأكاديمية حسوب توفر ضمن موقها الكثير من المقالات والدروس والكتب التعليمة التي تشرح لك الكثير من الأمور المتعلقة بتطوير التطبيقات سواء تطبيقات الويب أو تطبيقات الجوال أو تطبيقات سطح المكتب والتقنيات التي تحتاج لتعلمها والتي تفيدك سواء كنت مبرمج تطبيقات مبتدئ أو خبير. الخلاصة بهذا نكون وصلنا لنهاية مقالنا الذي شرحنا فيه كل ما يتعلق ببرمجة التطبيقات بأنواعها المختلفة سواء تطبيقات الجوال أو تطبيقات الويب أو تطبيقات سطح المكتب وشرحنا خطوات برمجتها وأهميتها في سوق العمل واللغات والتقنيات التي عليك اكتساب خبرة بها لتبدأ عملك كمبرمج تطبيقات وأفضل مصادر تعلمها. وتذكر أن تعلم برمجة تطبيق قد يكون تحديًا في البداية، ولكنه ليس أمرًا صعبًا إذا نظمت وقتك في التعلم وبذلك الوقت والجهد الكافيين لذلك، فإن كنت بالفعل مهتمًا ببرمجة التطبيقات ولديك فكرة تطبيق مميزة تود تحقيقها فابدأ من الآن في رحلة برمجة التطبيقات وحوّل فكرتك إلى واقع. وفي حال واجهتك أي مشكلة أو كان لديك أي تساؤل لا تتردد في مشاركتنا إياه في التعليقات أسفل المقال أو طرحه في القسم المخصص في صفحة الأسئلة والأجوبة الخاصة بالأكاديمية. اقرأ أيضًا دليلك الشامل إلى برمجة التطبيقات مدخل إلى تطوير البرمجيات Software Development كيف تصبح مبرمج تطبيقات محترف
    1 نقطة
  20. نصيحتي إليك هي ألا تشتت نفسك، طالما أنك بدأت مسار برمجي من الأفضل إنهاءه وإنشاء مشاريع ثم تعلم React أو Angular أو Vue.js وإنشاء مشاريع حقيقية أيضًا. بعد ذلك تستطيع العودة ودراسة الخوارزميات وهياكل البيانات وأنماط التصميم، ومن المفترض أنك ستقوم بدراسة الـ OOP من خلال جافاسكريبت أثناء دراستك لمسار الواجهة الأمامية، وإن لم تقم بالتعمق به خلال ذلك فعليك دراسة البرمجة الكائنية أيضًا. وللعلم تستطيع تأسيس نفسك من خلال أي لغة برمجة، لكن من حيث الأفضلية فلغة C++ أفضل وذلك لا يعني أن باقي اللغات سيئة بل يمكنك التعلم من خلال أي لغة، لكن من خلالها ستتعلم الأساسيات بدون تجريد وبشكل أقرب للنظام والعتاد، حيث أن اللغات الأخرى بها طبقات تجريد أي عمليات تحدث في الخلفية بدون علمك. ولكن تأسيسك من خلال C++ لا يعني أنك أصبحت ملم بلغة جافاسكريبت، بل عليك التعمق بها لأنها اللغة الأساسية لك كمطور واجهة أمامية أي عليك دراسة المفاهيم المتقدمة بعد دراسة الأساسيات في جافاسكريبت وليس الاكتفاء بالأساسيات فقط ونصيحتي هي التركيز على ذلك ثم الإنتقال لتعلم الخوارزميات وهياكل البيانات وأنماط التصميم.
    1 نقطة
  21. هناك فرق بين الأوامر `print` و `return`، وكلتاهما تستخدمان في سياقات مختلفة تماماً. أولاً بالنسبة ل`print` فهو أمر يستخدم لعرض قيمة معينة أي يطبع قيمة على برنامج الإخراج (عادةً سطر الأوامر)، ويستخدم للإشارة إلى نتيجة أو قيمة معينة لعرضها للمستخدم. عند استخدام `print`، يتم عرض القيمة المعطاة ومن ثم يستمر تنفيذ البرنامج على عكس return. أما بالنسبة ل`return` هو أمر يستخدم لإرجاع قيمة من دالة. عند استخدام `return` في دالة، تتوقف تنفيذ الدالة وتُرجع القيمة المحددة للمكان الذي تم استدعاء الدالة منه. يمكن استخدام قيمة العودة لتخزينها في متغير أو استخدامها في تعبيرات أخرى. مثال على استخدام print: def greet(name): print("مرحبًا", name) greet("أحمد") مثال على استخدام return لإرجاع قيمة: def add_numbers(a, b): sum = a + b return sum result = add_numbers(3, 5) print(result) بالنسبة لسؤالك الثاني، يمكن لـ `return` أن يرجع أي نوع من البيانات في Python،
    1 نقطة
  22. مرحبا اعمل على مشروع برمجي للدراسة فقط.. احتاج فيه الى استخدام اكثر من سيرفر مثل سيرفر لكميرات المراقبة وسيرفر لمعلومات خاصة وهكذا هل يوجد مواقع او افكار تدعم هذه الفكرة؟
    1 نقطة
  23. اذ لم تجدي طلبك على الانترنت، تستطيعي القيام بتكوين سيرفرات على جهازك ويتم ذلك بطريقتين: استخدام بيئات افتراضية vm على جهازك يمكن ذلك عبر تثبيت إي برنامج خاص بالبيئة الافتراضية مثل Oracle VM VirtualBox ثم بعد ذلك تفعيل سيرفر خاصة بالكاميرا وتخزين اللقطات ووضعها في database وسيرفر خاص بعملية التدريب وسيرفر خاص بعملية أطلاق النموذج إلى الويب عبر إي إطار عمل مثل flask django وتستطيعي تخصصين 1 cpu و 2 RAM لكل منها. استخدام docker وتفعيل نفس السيرفرات في الطريقة الأولى ولكن على شكل Containers كل منها يعتبر سيرفر ويأخذ فقط ما يحتاج من resourse عند الحاجة على عكس الطريقة الأولى التي يعتبر حجز الموارد ثابت ومنفصل عن إي vm أخرى، يمكنك التعرف على docker من خلال المقالة التالية
    1 نقطة
  24. يمكنك الإعتماد على مستودعات المشاريع الخاصة بالدورة وستجديها في المقدمة أو المدخل الخاص بكل مسار أو مشروع. في حال قمتي بتطبيق نفس المشروع تستطيعي نسخه واستخدامه كمشروع لك، أو نسخ ما قمتي بتنفيذه بالفعل ثم إكمال ما تبقى، ولكن عليك الإنتباه إلى أنه عند التقدم للإختبار سيتم إختبارك وقياس مدى استيعابك لما قمتي بتنفيذه. ولتجنب تكرار الأمر، أرجو منك رفع المشاريع الخاصة بك إلى GitHub.
    1 نقطة
  25. يبدو أن ما تُمرره من المتحكم SocialMediaController في التابع المسؤول عن عرض القائمة، عبارة عن قائمة فارغة، و هو ما يعيده التابع GetSocialMedias في الصنف SocialMediaDAO، بتطبيق الشرط: .Where(x => x.isDeleted == false) لا يوجد أي سجل في الجدول يحقق الشرط لأن السجلات تحمل NULL في العمود isDeleted. أعتقد أن المشكلة تتعلق بهذا الجزء، حاول تعديل الشرط بما يتناسب مع الحالة و انظر إن كان يحل المشكلة لديك.
    1 نقطة
  26. لا يتم شرح ذلك في دورة علوم الحاسوب، ومادة التصميم الرقمي المنطقي مادة متخصصة، حيث أنها تعتبر جزءًا مهمًا من مجال تصميم الأنظمة الرقمية والأشياء الذكية وتركز على تطبيق المنطق والرياضيات في تصميم وتطوير الأنظمة والدوائر الرقمية. وبعض المفاهيم الأساسية التي يمكن أن تساعدك في فهم هذه المادة هي: البوابات هي عناصر أساسية في التصميم الرقمي وتُستخدم لتنفيذ العمليات المنطقية، وتشمل البوابات الشهيرة بوابة AND وبوابة OR وبوابة NOT. منطق البوز (Boolean logic) يستخدم لتمثيل القيم المنطقية مثل صح وخطأ (1 و0)، ويتم استخدامه في التصميم الرقمي لاتخاذ قرارات مستندة إلى المنطق. تُستخدم الدوائر المنطقية لتنفيذ العمليات المنطقية على البيانات، وتشمل هذه الدوائر البوابات المنطقية المختلفة وتوصيلها معًا لبناء أنظمة أكبر. في التصميم الرقمي المنطقي يتم استخدام السجلات والتسلسلات لتخزين ومعالجة البيانات بشكل متسلسل. تُستخدم مخططات الدوائر لتمثيل تصميم الدوائر المنطقية بشكل رسومي وتساعد في فهم كيفية توصيل البوابات والعناصر لبناء الأنظمة. تعتبر الذاكرة والتخزين جزءًا هامًا من التصميم الرقمي حيث يتم استخدامها لتخزين واسترجاع البيانات. مشكلة السلم والترجمة وتلك المفاهيم تتعلق بتحويل المعلومات من تمثيل إلى آخر، مثل تحويل البيانات من تمثيل عددي إلى تمثيل بيني. وما يتم شرحه في دورة علوم الحاسوب هو التالي: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب
    1 نقطة
  27. طالما أنه مشروع جامعي فيمكنك تجربة Google Cloud حيث يوجد خطة تجربة مجانية بقيمة 300 دولار. أو يمكنك الاستفادة من باقة GitHub Student Developer Pack حيث ستحصلي على العديد من المزايا مجانًا لمدة سنة في حال أنك تدرسين بالجامعة ومن ضمن تلك المزايا: DigitalOcean: رصيد بقيمة 100 دولار لمدة عام (استضافة وذلك هو المهم هنا بالنسبة لسؤالك) JetBrains: اشتراك مجاني في جميع أدوات JetBrains IDEs لمدة 12 شهرًا Bitbucket: 5 مستودعات خاصة مجانية Namecheap: اسم نطاق مجاني لمدة عام واحد Canva Pro: اشتراك مجاني لمدة 3 أشهر Codecademy: اشتراك مجاني لمدة 12 شهرًا Pluralsight: اشتراك مجاني لمدة 6 أشهر و اكثر يمكنك قراءة الشروط والتقديم من هنا: https://education.github.com/discount_requests/application أما بخصوص الاستضافات المدفوعة فهناك التالي بأسعار مقبولة: Kamatera Vultr DigitalOcean UpCloud Hetzner
    1 نقطة
  28. كانت الحوسبة السحابيَّة إحدى التقنيات التي ظهرت في أواخر العقد الحالي وأخذت بالانتشار بسرعةٍ كبيرةٍ على المستوى العالمي بعد أن اقتصر استخدامها على مجالاتٍ وتقنياتٍ محدودةٍ؛ وفي المقابل، فإنَّ الحوسبة السحابيَّة باتت محطَّ جدلٍ ونقاشٍ واسعٍ بين الكثيرين، خصوصًا السحابة الهجينة (hybrid cloud) التي تجمع بين عدَّة أنواع من الحوسبة السحابيَّة، قد تنتهي بالحيرة أو عدم الثقة بهذه التقنيَّة. تجيب هذه المقالة على عددٍ من تلك الأسئلة الشائعة حول السحابة الهجينة لتزيل بعضًا من الغموض والالتباس. ما هي السحابة الهجينة؟ السحابة الهجينة هي أحد أنواع الحوسبة السحابيَّة وهي مزيجٌ من البنية التحتيَّة المتواجدة في موقع العمل (on-premise infrastructure)، والسحابة الخاصَّة (private cloud)، والسحابة العامَّة (public cloud). تجمع السحابة الهجينة الخدمات والمزايا التي يمكن أن تقدمها خدمات السحابة العامة والخاصة وتُنسِّق بينها رغم أنَّ كلَّ نوعٍ منهما له كيانه المنفصل والمختلف عن الآخر؛ يعتمد اختيار الخدمات السحابيَّة العامَّة والخاصَّة على عوامل عدَّة منها الأمن، والتكلفة، والمرونة. توفِّر السحابة الهجينة مزايا متطورة مثل التوسع الرأسي والتوسع الأفقي والتي تسمح بتوسعة البنية التحتية للتطبيق عند الحاجة مما يجعل السحابة الهجينة خيارًا رائجًا للخدمات متغيرة المتطلبات؛ التوسع الرأسي هو إمكانيَّة زيادة موارد الحوسبة (الذاكرة والمعالج) لنُسخ (instance) محدَّدة من أنظمة التشغيل، بينما التوسع العرضي هو تزويد نُسخ متعدِّدة بإعداداتٍ متشابهة ونشرها على عقدة (cluter). تُشكِّل البرمجيات مفتوحة المصدر الجزء الرئيسي من الحلول التي تستخدم السحابة الهجينة، مثل تطبيق «OpenStack» الذي صدر أوّل مرة في تشرين الأول من عام 2010 والذي ذاع صيته عالميًا؛ بعضٌ من الأدوات المُضمَّنة فيه توفِّر الخدمات الرئيسيَّة والأساسيَّة للحوسبة السحابيَّة مثل توفير خدمات الحوسبة والشبكات والتخزين وخدمات الاستيثاق (المكوِّن identity)؛ وبذلك تستطيع باستخدام هذا التطبيق إنشاء وإدارة ونشر سحابة هجينة مميزة وذات كفاءة عالية. مكونات السحابة الهجينة تتألف السحابة الهجينة من سحابة خاصَّة، وسحابة عامَّة، وشبكة داخلية تكون جميعها مُتصلة ومُدارة باستخدام أدوات النشر المؤتمتة(orchestration) وأدوات أتمتة المهام الأخرى وإدارة النظام (system management). مكونات السحابة العامَّة تتكون البنية التحتيَّة للسحابة العامة من: البينة التحتيَّة كخدمة (Infrastructure as a Service) اختصارًا (IaaS): هي توفير مصادر الحوسبة مثل التخزين، والشبكات، والجدر النارية، وخدمات منع التطفل (IPS) وغيرها من الموارد؛ تُدار هذه الخدمات عبر واجهة المستخدم الرسومية (GUI) أو واجهة سطر الأوامر (CLI). يستفيد المستخدمون من هذه الخدمات بالدفع حسب استخدامهم وبذلك يوفرون شراء ودفع كامل تكاليف إنشاء وإعداد بنية تحتيَّة مخصَّصة بهم. منصة عمل كخدمة (Platform as a Service) اختصارًا (PaaS): تسمح هذه الخدمة للمستخدمين بتشغيل التطبيقات والخوادم وفحصها وتطويرها وهذا يتضمن أنظمة التشغيل والتطبيقات الوسيطة (middleware) وخواديم الويب وقواعد البيانات وغيرها. تُعرَّف هذه الخدمات على شكل نماذج مُعدَّة مسبقًا وجاهزة للعمل والاستخدام من قبل المستخدمين وقابلة للنسخ والتكرار بسهولة ويسر بدلًا من ضبطها وتهيئتها للعمل على البنية التحتيَّة يدويًا. البرمجيات كخدمة (Software as a Service) اختصارًا (SaaS): وهي خدمةٌ تتيح توفير تطبيقات عبر الإنترنت التي يمكن أن يستفيد منها المستخدمون عبر دفع رسوم اشتراك أو إنشاء حساب يتضمن مستويات متعدِّدة يدفع عبره المستخدمون بقدر حاجتهم، أو تحت رخصة ما. المزايا التي توفِّرها البرمجيات كخدمة كثيرة منها الكلفة المنخفضة، تقليل عمليات صيانة وتحديث التطبيقات، عدم الحاجة لشراء عتاد أو تطبيقات جديدة أو ترقيته لاستمرار الدعم في ظل التطور التقني المتسارع. مكونات السحابة الخاصَّة تتكون بنيتها التحتيَّة من: بنية تحتيَّة كخدمة (IaaS) ومنصة عمل كخدمة (PaaS) خاصَّة: يتواجد هذان المكونان ضمن مراكز بيانات (data centers) منعزلة كما يدمجان مع سحابة عامَّة مما يتيح لهما استخدام البنية التحتية التي توفرها مراكز البيانات البعيدة؛ ويمكِّن ذلك أيضًا مالك السحابة الخاصَّة الاستفادة من البنية التحتيَّة للسحابة العامة لتوسيع التطبيقات واستخدام مواردها وشبكاتها ومساحات تخزينها ...إلخ. على نطاق عالمي. البرمجيات كخدمة (SaaS): يديرها ويتحكم بها مزودو السحابة العامة بشكل كامل؛ تبقى هذه الخدمة محصورة غالبًا ضمن السحابة العامة ولا تتشاركها مع السحابة الخاصة. أدوات النشر المؤتمتة وأدوات أتمتة المهام الأخرى تفيد هذه الأدوات في التخطيط والتنسيق بين نسخ السحابة العامَّة والخاصَّة؛ يجب أن تمتلك هذه الأدوات القدرة على تبسيط وتنظيم عمليات المعالجة وأتمتة المهام المتكررة. تكون مسؤوليَّة أداة الأتمتة المدمجة هي التوسع الرأسي والتوسع الأفقي تلقائيًّا عندما يصل استهلاك الموارد والخدمات إلى حدٍ معيّن، بالإضافة إلى محاولة الإصلاح الذاتي عند حدوث أي عطل مهما كان ضئيلًا أو عند التوقف عن العمل. أدوات إدارة النظام والإعدادات مهمة هذه الأدوات في السحابة الهجينة هي إدارة كاملة لدورات حياة (lifecycles) الأجهزة الافتراضيَّة الموجودة في مراكز بيانات السحابة العامَّة والخاصَّة مثل الأداة «Foreman»؛ تؤمِّن هذه الأدوات لمدراء الأنظمة القدرة على التحكم بالمستخدمين وأدوارهم، والنشر، والترقية، وبنسخ الأنظمة التي تعمل على السحابة ...إلخ. بالإضافة إلى تطبيق الترقيعات (patches)، وإصلاح الأخطاء، وإجراء التحسينات دوريًا. إن وجود الأداة «Puppet» ضمن «Foreman» يعطي مدراء الأنظمة القدرة على إدارة الإعدادات وتعريف كامل الوضع النهائي لجميع المضيفين المضبوطين لاستخدام هذه الخدمة. مزايا السحابة الهجينة تشكِّل السحابة الهجينة خيارًا ممتازًا لأغلبية المنظمات لما تحمله من مزايا رئيسية ومنها: قابلية التوسع: تتشارك نسخ السحابة العامَّة والسحابة الخاصَّة المدمجة في السحابة الهجينة مجموعةٌ من موارد الحوسبة لكل جهاز افتراضي موجود، أي أنَّ كلَّ نسخة (instance) قادرة على التوسع رأسيًا أو أفقيًا في أي وقت عند الحاجة لذلك. سرعة في الاستجابة: تكمن مرونة السحابة الهجينة في دعمها سرعة استجابة كبيرة للأجهزة الافتراضيَّة في السحابة العامَّة عندما تتجاوز موارد السحابة الخاصَّة حدَّها المسموح، ولهذه الخاصيَّة فائدة كبيرة عندما يصل الطلب على تطبيق ما إلى أعلى مستوياته مما يؤدي إلى ازدياد الحمل عليه بدرجات متفاوتة؛ من الأمثلة على ذلك زيادة الطلب على المتاجر الإلكترونيَّة للتسوق خلال مواسم العطل. الوثوقيَّة: يمكن للمنظَّمات اختيار مزوِّد السحابة العامَّة بما يناسب احتياجاتهم اعتمادًا على السعر، والكفاءة، والأمان، وسرعة نقل البيانات ...إلخ؛ أضف إلى ذلك أنَّ بإمكان المنظَّمات في السحابة الهجينة اختيار مكان تخزين البيانات الحسَّاسة إما ضمن نسخ السحابة الخاصَّة وإما عبر توسعة البنية التحتيَّة العامَّة الخاصة بها؛ يمكن أيضًا تخزين البيانات والخدمات بتوزيعها على مواقع متعدِّدة (كنسخٍ احتياطيَّةٍ) وذلك للتأكد من توافرها دومًا والقدرة على استعادتها عند حدوث كارثة ما. الإدارة: إنَّ إدارة الشبكات والتخزين والأجهزة الافتراضيَّة والبيانات قد يكون مضجرًا في بيئات السحابة غير المدمجة. أدوات النشر المؤتمتة التقليدية بسيطةٌ جدًا، بالموازنة مع الأدوات في السحابة الهجينة، وبالتالي فهي محدودة القدرة على اتخاذ القرار وأتمتة كامل المهام والعمليات؛ تطبيقات الإدارة الفعَّالة في السحابة الهجينة تستطيع أن تتتبع المكونات والمهام كلها وتحسينها بانتظام مهما زاد حجمها وعددها وهذا قد يقلل من التكاليف السنويَّة. الأمن: يعتبر الأمن والخصوصيَّة من أهمِّ الأمور الحرجة التي تشغل بال الجميع عند اختيار موقع تخزين البيانات والتطبيقات في السحابة. يجب على قسم تكنولوجيا المعلومات (IT) التحقق دومًا من مطابقة الشروط المطلوبة وسياسات النشر. يمكن في السحابة الهجينة تخزين البيانات المهمَّة في سحابة خاصَّة بينما تخزن البيانات الاعتياديَّة أو الأقل أهمية في السحابة العامَّة ويجدر بالذكر أنَّ الأمان فيها آخذٌ في التحسن والتطور بشكل دائم. السعر: يعتمد السعر في السحابة عادةً على حجم البنية التحتيَّة والخدمات المطلوبة؛ يستطيع المستخدمون في السحابة الهجينة الموازنة بين الكلفة المدفوعة والموارد الحاسوبيَّة (المعالج والذاكرة) والسعة التخزينيَّة وسرعة نقل البيانات والشبكات وعنوان IP العام ...إلخ. بما يحتاجون له. تُدفع الكلفة شهريًا أو سنويًا أو ساعيًّا ويمكن أن تحسب بالثانية وقد تكون قيمة ثابتة أو متغيرة (السعر حسب الاستخدام) وهكذا يمكن للمستخدمين اختيار مزود السحاب الذي يقدم أفضل سعر. ما هو موقع السحابة الهجينة هذه الأيام من بين الأنواع الأخرى هنالك طلب واسع ومتزايد على السحابة العامَّة كما أنَّ شركات كثيرة بدأت بنقل أنظمتها ومواردها إليها؛ مع ذلك، إنهم ما زالوا قلقين جدًا من فقدان السيطرة على بياناتهم وتطبيقاتهم أو من عمليات الاختراق والسرقة التي تتعرض لها البنية التحتيَّة العامَّة؛ يكمن الحل هنا في اللجوء إلى السحابة الهجينة التي تقلل من خطر حدوث مثل تلك المشكلات. أين سيكون موقع السحابة الهجينة بعد خمس سنوات من الآن؟ أتوقع أن تنتشر السحابة على المستوى العالمي في غضون بضع سنواتٍ، وستندر الحالات التي لا يعتمد فيها على خدمات السحاب؛ سأورد بعض النقاط التي أظن أننا سنراها مستقبلًا وهي: سيكون هنالك تعاونٌ متزايدٌ بين الشركات ومزودي السحابة العامَّة لتحسين درجة الأمن للحد من هجمات الاختراق والتطبيقات الخبيثة وتسرُّب البيانات وسرقتها ...إلخ. سنشاهد ازديادًا كبيرًا في أداء وسرعة النُسخ السحابيَّة. سيزداد ذكاء وتطور أدوات النشر المؤتمتة وأدوات أتمتة المهام الأخرى (مثل الأداة Ansible) وستعلب دورًا مهمًا في حل المشاكل المعقدة. سينتشر المفهوم "الدفع بحسب الاستخدام" بين جميع المستخدمين ويكون أكثر وضوحًا، وستتوفر أدواتٍ تمكِّن المستخدم من اختيار النُسخ بأفضل سعر أو تساعدهم على اختيار نسخة جديدة وحذف النسخة الحالية بشكل آمن حتى يحصل المستخدم على أرخص سعر متوافر. مالذي تتوقعه حول السحابة الهجينة خصوصًا والحوسبة السحابيَّة عمومًا خلال السنوات الخمس القادمة؟ شاركنا رأيك في التعليقات. ترجمة -وبتصرف- للمقال What you need to know about hybrid cloud لصاحبه Amit Das. حقوق الصورة البارزة محفوظة لـ Freepik
    1 نقطة
×
×
  • أضف...