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

Mustafa Suleiman

الأعضاء
  • المساهمات

    9437
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    289

كل منشورات العضو Mustafa Suleiman

  1. الخطوة القادمة هي التطبيق على ما تعلمته من خلال إختيار تصميم موقع ينال إعجابك ثم محاولة تقليد ذلك التصميم، ولكن من تأتي بتلك التصميمات؟ ستجد هنا ما تبحث عنه: في البداية قم ببناء جزء صغير من الموقع باستخدام html و CSS وأنصحك بتنفيذ التحديات على موقع Frontend mentor . ثم بعد ذلك تدرج في الصعوبة نحو إنشاء موقع بالكامل، ثم تدرج في الصعوبة نحو إنشاء موقع متعدد الصفحات. يمكنك الإنتقال لمرحلة تعلم الـ JS بعد أن تصبح قادرًا على رؤية تصميم وقادر على تنفيذه أي أنك قادر على بناء موقع بالكامل باستخدام HTML و CSS على الأقل التصاميم المتوسطة في الصعوبة، أي بعد إنشاء تصميمين كاملين.
  2. بالتأكيد فمن خلال دورة تطوير التطبيقات باستخدام لغة Python يمكنك تعلم الآتي: بإنهائك لهذه الدورة ستصبح مطور بايثون محترف قادر على تطوير التطبيقات باستخدام لغة بايثون، وبناء مختلف تطبيقات الويب بإطار العمل جانغو وفلاسك. شاهد صفحة الدورة. ماذا ستتعلم في هذه الدورة؟ الأسس البرمجية السليمة عبر لغة Python التعامل مع مختلف صيغ الملفات مثل إكسل Excel وورد Word وخدمات المستندات السحابية استخراج البيانات من صفحات الويب Web Scraping وتحليلها أساسيات التعامل مع قواعد البيانات عبر بايثون، والتعامل مع البريد الإلكتروني لإرسال الرسائل أساسيات إطار العمل جانغو Django بناء تطبيق إدارة المهام باستخدام إطار العمل جانغو Django تطوير متجر إلكتروني متكامل باستخدام إطار العمل جانغو Django وربطه مع وسائل الدفع باي بال PayPal وسترايب Stripe أساسيات إطار العمل فلاسك Flask، وبناء مدونة بسيطة تطوير واجهة برمجية API اعتمادًا على نمط RESTful لمعالجة الصور لمن هذه الدورة؟ لمن لا يمتلك خبرة مسبقة في مجال البرمجة ويريد الدخول في هذا المجال الشيق لمن يمتلك خبرة بسيطة في البرمجة ويرغب في تطوير مهاراته ليصل إلى الاحترافيّة لمن يرغب باكتساب مهارات برمجية جديدة تساعده على تحسين دخله لمن يتقن لغة البرمجة Python ويريد تطوير مهاراته، وتعلم تقنيات جديدة فيها لمن يريد تعلم إطار عمل جانغو Django أو فلاسك Flask ويرغب بتطوير مواقع عملية مطلوبة في سوق العمل ويمكنك تعلم تطوير الويب باستخدام إطار عمل Django بلغة Python، خاصة إذا كان لديك فهم أساسي للغة Python. والبدء في تعلم Django بشكل تدريجي، والتركيز على التطبيقات البسيطة في البداية. على الجانب الآخر، يمكن أن تكون لغة الجافا سكريبت خيارًا جيدًا أيضًا لتعلم البرمجة الويب. يتم استخدام الجافا سكريبت على نطاق واسع في تطوير الويب بل هي لغة البرمجة الأساسية للويب، ويوفر إطار عمل React.js و Angular.js إمكانية بناء تطبيقات ويب قوية ومتقدمة. ويعتمد الخيار الذي يجب اختياره على احتياجاتك وأهدافك في التعلم. إذا كنت تفضل العمل مع Python أو لديك تجربة سابقة مع Python، فإن Django هو خيار جيد لتعلم تطوير الويب. وإذا كنت ترغب في التعلم بلغة الجافا سكريبت وبناء تطبيقات ويب متقدمة، فإن React.js أو Angular.js يمكن أن يكونا خيارات جيدة أيضًا. ولكن كنصيحة، الأفضل تعلم المطلوب في سوق العمل لديك أو على مواقع العمل الحر التي تريد العمل عليها، نظرة على متطلبات الوظائف أو المشاريع وستعرف ما هي اللغات والمهارات المطلوبة بالنسبة لمستوى Junior أو Entry Level. لذلك لا تتعلم ما تميل إليه بل تعلم ما هو مطلوب بسوق العمل، بعد ذلك باستطاعتك تعلم ما تريده لا مشكلة، وفي رأي قم بتعلم جافاسكريبت أولاً وإطار عمل خاص بها مثل Angular، أو يمكنك تعلم PHP و Laravel، وهناك دورات خاصة بهم في أكاديمية حسوب. وأنصحك بقراءة المقالات والنقاشات التالية:
  3. هل يمكنك توضيح السؤال، فالسؤال غير واضح، أرجو توفير الكود الذي به مشكلة وصورة لشرح المشكلة. وإذا كان السؤال خاص بدورة في أكاديمية حسوب أرجو طرح السؤال أسفل فيديو الدورة الخاص بالسؤال.
  4. أرجو أن أكون قد فهمت سؤالك بشكل صحيح، في البداية Godot هي منصة تطوير ألعاب مفتوحة المصدر تستخدم لتطوير الألعاب 2D و 3D ويمكن من خلالها عمل أزرار التحكم للعبة بسهولة. فيما يلي شرح بسيط لكيفية إنشاء أزرار التحكم في Godot: قم بإنشاء مشهد جديد (New Scene) وحدد النوع الذي تريد استخدامه، سواء 2D أو 3D. بعد ذلك، انتقل إلى قائمة Node واختر Control > Button لإنشاء زر جديد. بعد إنشاء الزر، قم بتعيين الخصائص اللازمة له، مثل النص الذي يظهر على الزر، وحجمه، والموقع الذي يظهر فيه الزر. ثم، يمكنك إضافة الأكواد اللازمة لكيفية عمل الزر من خلال قسم Script. يمكنك إضافة وظيفة تتحكم في حركة اللاعب أو تغيير الخلفية أو أي عملية أخرى تحتاج إليها في اللعبة. يمكنك إضافة المزيد من الأزرار حسب الحاجة، مثل زر للقفز أو زر للهجوم، وتحديد الوظائف المطلوبة لها. أخيرًا، قم بتعيين وظيفة لزر الخروج من اللعبة (Exit) لتتمكن من إنهاء اللعبة عند الضغط عليه.
  5. أولاً الأسئلة الخاصة بالإمتحانات لا يتم الإجابة عليها، ولكن يمكن إرشادك إلى طريقة الحل ومساعدتك. في السؤال لم يتم تحديد ما هي اللغة المراد تنفيذ المطلوب بها؟ علي أي حال، سأقوم بشرح طريقة الحل باستخدام C++ يمكن الحل بعدة طرق مختلفة، ولكن في الغالب يمكن تطبيق الحل التالي: 1- تعريف struct تحتوي على اسم العميل ورقم حسابه ورصيده. 2- إنشاء مصفوفة من الهيكل الذي تم تعريفه، وملئها ببيانات العملاء. 3- لطباعة أسماء العملاء الذين لديهم رصيد أقل من 200 دولار، يمكن استخدام حلقة for 4- لزيادة رصيد العملاء الذين لديهم أكثر من 1000 دولار، يمكن استخدام حلقة for أخرى وفحص رصيد كل عميل، وإذا كان رصيده أكثر من 1000 دولار ، فزيادة رصيده بـ $100 وطباعة الرصيد الجديد.
  6. أرجو مشاركة الكود الذي تعتقد أن به مشكلة من خلال الضغط على علامة <> في محرر النص هنا. ربما السبب المشكلة في اتصال الكود بالشخصية (المكعب) في اللعبة. يمكنك التأكد من أن الكود مرتبط بالشخصية بشكل صحيح، عن طريق التحقق من الأشياء التالية: 1- تأكد من أن المكعب المراد تحريكه لديه مكون "Rigidbody" مرتبط به في Unity، لأنه يسمح للشخصية بالتفاعل مع قوى الفيزياء في العالم الافتراضي. 2- تأكد من أن مكون "Collider" مرتبط بالشخصية، لأنه يمكنه التفاعل مع العناصر الأخرى في اللعبة. 3- تأكد من أن كود الحركة المذكور في السؤال مضاف إلى كائن يمثل الشخصية (المكعب) في Unity. 4- تأكد من أن الحركة المراد تطبيقها على الشخصية تم تحديدها بشكل صحيح في الكود، بحيث تتناسب مع اتجاه الحركة المراد تطبيقها. 5- تأكد من أن أي شروط أخرى قد تؤثر على الحركة (مثل تعليق أو إيقاف تشغيل الحركة) تم حلها. وإذا لم يعمل ذلك، فيمكنك مراجعة مستندات Unity. وأيضًا يمكنك مشاهدة المقال التالي:
  7. من الصعب تحديد سبب المشكلة بدون رؤية الكود أرجو مشاركة الكود الخاص بك والذي به المشكلة. وحاول تشغيل البرنامج في وضع التصحيح (Debugging mode) لمعرفة ما إذا كان هناك أي أخطاء في الكود. على أي حال، إليك طريقة لكتابة كود لتحريك الشخصية في اليونيتي باستخدام الفيجوال ستوديو، يمكن إتباع الخطوات التالية: 1- قم بفتح الفيجوال ستوديو وإنشاء مشروع جديد. 2- قم بإنشاء كائن الشخصية (GameObject) الذي تريد تحريكه. يمكنك القيام بذلك عن طريق النقر بزر الماوس الأيمن على الهيكلية (Hierarchy) واختيار "Create Empty" ثم إعطائه اسمًا مناسبًا. 3- ثم، يمكنك إضافة مكون الحركة (Movement Component) إلى الشخصية التي أنشأتها. للقيام بذلك، قم بالنقر بزر الماوس الأيمن على كائن الشخصية، واختر "Add Component"، ثم ابحث عن مكون الحركة (Movement Component) واضغط على إضافة (Add). 4- الآن، يمكنك كتابة الكود اللازم لتحريك الشخصية. هناك العديد من الأساليب المختلفة التي يمكن استخدامها لتحريك الشخصية، وسنقدم لك مثالًا بسيطًا: using UnityEngine; public class MoveObject : MonoBehaviour { public float speed = 5.0f; // سرعة الحركة // يتم استدعاء هذا الدالة في كل إطار للعبة void Update() { // حصول على محور الحركة الرأسي والأفقي float horizontalInput = Input.GetAxis("Horizontal"); float verticalInput = Input.GetAxis("Vertical"); // إنشاء Vector3 جديد لتحديد الاتجاه الذي يجب تحريك الشخصية عليه Vector3 movementDirection = new Vector3(horizontalInput, 0, verticalInput); // تحريك الشخصية باتجاه المحور المحدد وبسرعة تعادل السرعة التي تم تحديدها transform.position += movementDirection * speed * Time.deltaTime; } } 5- بعد الانتهاء من كتابة الكود، يمكن حفظه وتشغيل اللعبة للتحقق من تحريك الشخصية بشكل صحيح. الكود السابق يعمل على تحريك الشخصية (المكعب) عند الضغط على الأسهم بلوحة المفاتيح. يتم استدعاء الدالة "Update" في كل إطار للعبة، وتستخدم لجمع إدخالات اللاعب من لوحة المفاتيح وتحديد الاتجاه الذي يجب تحريك الشخصية عليه، ثم تقوم بتحريك الشخصية باتجاه المحور المحدد بناءً على الاتجاه الذي حدده اللاعب.
  8. في البداية يمكنك تجربة إنشاء نفس المشروع الذي كنت تعمل عليه في الدورة، والرجوع لبعض الفيديوهات لتذكر بعض المعلومات لا مشكلة، ولكن إذا كنت قد نسيت جزء كبير من المعلومات فأنصحك بالعودة من البداية وتشغيل دروس الدورة بسرعة 1.5 أو 2 تبعًا لما يناسبك. مع التوقف عند كل نقطة تجد نفسك لا تفهمها بشكل جيد، ثم قم بالتطبيق العملي عليها ولا تهمل تلك النقطة إطلاقًا. وبعد الوصول للنقطة التي توقفت عندها قبل الإنقطاع عن الدورة، يمكنك الرجوع للسرعة الطبيعية للدروس واستكمال الدورة بشكل طبيعي. ولتحقيق أقصى استفادة من الدورة، يجب التطبيق العملي فالتحسن يتم بالمعرفة ثم تطبيق تلك المعرفة لا تخزينها داخل عقلك فقط. ولا تنتقل للنقطة التالية في الدورة إلا بعد أن تكون قد فهمت الأقسام السابقة والحالية بشكل جيد وطبقت عليها، ويمكنك أيضًا تجربة التطبيق على تصاميم أخرى غير الموجودة في الدورة وستجد هنا نقاش جيد حول تلك النقطة.
  9. تم الإجابة على ذلك السؤال بشكل مفصل من قبل، أرجو منك قراءة النقاشات التالية: وبخصوص توافر فرص العمل، فكلامها مطلوب في سوق العمل، لكن قد تكون إحداهما مطلوبة بكثرة في سوق عمل معين فقم بتفقد الوظائف المعروضة في بلدك أو على مواقع العمل الحر التي تريد العمل عليها لترى ما هو المطلوب بكثرة، وستجد على LinkedIn وظائف في بلدك ولكن تفقد الوظائف التي تطلب مطورين بمستوى Junior أو Entry level. وأيضًا الأمر يعتمد على مهاراتك السابقة، فإذا كنت قد تعلمت لغة جافاسكريبت بالفعل، فأنصحك بتعلم React Native.
  10. هناك فخ يقع فيه الكثيرين ألا وهو الرغبة في الإنتقال للغة القادمة والإطار القادم والأداة القادمة بعد تعلمه الأساسيات، ولكن أنت بحاجة إلى أن تهدأ قليلاً وترسخ الأساسيات لديك لتقف على أرض صلبة. ما يجب فعله ولا أنصحك أبدًا بالإنتقال لتعلم إطار عمل مثل React، هو ضرورة بناء موقعين على الأقل بواسطة HTML, CSS, JS وذلك في حالة أنك قمت ببناء مشاريع بسيطة من قبل، فلا يمكن الإنتقال لمرحلة بناء موقع إلا عن طريق بناء مشاريع بسيطة مثل بناء جزء من موقع. ولا تشغل بالك بالتصميم الآن، يكفي فقط أن تتعلم ما هي أساسيات التصميم الجيد، ويمكنك الإعتماد على المصادر التالية: تصميم واجهة المستخدم UI ويمكنك الحصول على استلهام من تصميمات موجودة بالفعل وتقوم بتقليدها بشكل كامل بعد ذلك يمكنك التعديل على التصميم أي جزء من هنا وجزء من هنا وتنشأ تصميم كامل من تلك التصاميم، وهنا نقاش على المواقع التي توفر تلك التصاميم: وأيضًا يمكنك الإعتماد على مواقع مثل Frontend Mentor فهى توفر تصاميم وتحديات رائعة أنصحك بها بشدة.
  11. ما يحدث في كل من الأسطر 12 و 15: في السطر 12، يتم تحميل ملف البيانات باستخدام الدالة pd.read_csv() من مكتبة pandas. تم تحديد المسار الذي يوجد به ملف البيانات في هذا السطر: "C:/Users/karee/OneDrive/Desktop/liver.csv". يتم قراءة الملف باستخدام المحدد delimiter الذي هو الفاصل المستخدم بين الحقول في الملف، وهو ؛ في هذه الحالة. يتم تحديد ترميز الملف باستخدام encoding ، وهو "ISO-8859-1" في هذه الحالة. تم تحديد عدد الصفوف التي يجب قراءتها في ملف البيانات باستخدام متغير nRowsRead. إذا تم تعيين nRowsRead إلى None، فسيتم قراءة جميع الصفوف. في السطر 15، يتم عرض المخططات الخاصة بالبيانات باستخدام الدالة plot() من dataprep.eda library. ويتم تمرير dataframe المحمل في السطر 12 إلى الدالة. ثم عرض المخططات التي تظهر توزيع البيانات والارتباطات بين الأعمدة في البيانات. يتم استدعاء هذه الدالة مرتين في السطر 15، مرة لعرض المخططات الخاصة بعام 2021 ومرة أخرى لعرض المخططات الخاصة بعام 1988. وطباعة هذه المخططات في الإخراج الناتج من البرنامج باستخدام دالة print().
  12. يمكن عرض بيانات جدول المستخدم في صفحة أخرى في Laravel باستخدام العديد من الأساليب، ولكن أحد الأساليب الشائعة هي استخدام العرض (View) والتحكم (Controller). في المثال التالي، سنفترض أن اسم الجدول المستخدم هو "users" وأننا نريد عرض بيانات المستخدمين في صفحة أخرى باستخدام العرض والتحكم. 1- ابدأ بإنشاء التحكم: يمكنك استخدام الأمر "php artisan make:controller" لإنشاء تحكم جديد. يمكن تسمية التحكم "UserController" ووضعه في المسار "app/Http/Controllers". php artisan make:controller UserController 2- قم بإضافة الدالة "index" إلى التحكم: في الدالة "index"، قم بجلب بيانات المستخدمين من جدول "users" باستخدام نموذج "User" وتمريرها إلى العرض "users". <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index() { $users = User::all(); return view('users', compact('users')); } } 3- إنشاء العرض: قم بإنشاء عرض جديد باسم "users" ووضعه في المسار "resources/views". يمكن استخدام لغة العرض Blade للوصول إلى البيانات التي تم تمريرها من التحكم. <!-- resources/views/users.blade.php --> <!DOCTYPE html> <html> <head> <title>Users</title> </head> <body> <h1>Users</h1> <table> <thead> <tr> <th>Name</th> <th>Email</th> <th>Created At</th> <th>Updated At</th> </tr> </thead> <tbody> @foreach ($users as $user) <tr> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> <td>{{ $user->created_at }}</td> <td>{{ $user->updated_at }}</td> </tr> @endforeach </tbody> </table> </body> </html> 4- تعريف المسار: قم بتعريف المسار الذي سيتم استخدامه لعرض بيانات المستخدمين في ملف "web.php" في المسار "routes". <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\UserController; Route::get('/users', [UserController::class, 'index']); 5- اختبار الصفحة: الآن يمكنك اختبار صفحة عرض المستخدمين بالانتقال إلى المسار "/users" في متصفح الويب. يجب عرض جميع بيانات المستخدمين في الجدول.
  13. أرجو منك توضيح السؤال، ما المقصود بمدة محددة، تقصد المدة المفروض الإنتهاء من الكورس فيها؟ بخصوص الدورات نفسها فلا يوجد فترة زمنية محددة للإنتهاء منها، بل الأمر يعود إليك أنت والأفضل وضع جدول زمني يترواح مداه ما بين 6 أشهر وحتى سنة، فما لا يمكن قياسه لا يمكن إدارته والتحكم فيه وتحسينه، لذلك قم بتحديد وقت وإلتزم به. ومنعًا للتكرار، أنصحك بقراءة الإجابات على الأسئلة التالية، فقد تم الإجابة فيها عن كثير من الأسئلة التي قد تدور في بالك: ولنفترض أنك خلال فترة 6 شهور مثلاً قمت بالإنتهاء من الدورة، يمكنك بعدها التقدم إلى الإختبار والحصول على الشهادة، والشروط هي: إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا وللمزيد يمكنك قراءة التفاصيل هنا: الامتحان والحصول على الشهادة وبخصوص تفاصيل الإختبار، ستجد ما تحتاجه في النقاش التالي:
  14. من الخطأ في الصورة يظهر أن Codeception لا يستطيع العثور على ملف Bootstrap المطلوب لتشغيل الاختبارات الخاصة بك. يرجى التحقق من وجود الملف _bootstrap.php في المسار C:\Users\shahi\tests\Unit_bootstrap.php ، وتأكدي من أنه لم يتم تغيير اسمه أو نقله إلى مكان آخر. إذا كنت قد قمت بإعادة تثبيت Codeception و Bootstrap من جديد، فتأكدي من توفر جميع الإعدادات والتهيئات اللازمة لتشغيل اختباراتك بشكل صحيح. يمكنك أيضًا المحاولة بإعادة تثبيت مكونات Composer من جديد باستخدام الأمر "composer install"، ثم تشغيل اختباراتك مرة أخرى. ويمكن اتباع الخطوات التالية لإعادة تثبيت Codeception وإعداده بشكل صحيح: 1- تأكدي من إلغاء تثبيت Codeception القديم باستخدام الأمر التالي في سطر الأوامر: composer global remove "codeception/codeception" 2- تثبيت Codeception مرة أخرى باستخدام Composer باستخدام الأمر التالي: composer global require "codeception/codeception" --dev 3- تأكد من أن المسار العام لـ Composer قد تم إضافته إلى PATH. لتحقق من ذلك، يمكنك إدخال الأمر التالي في سطر الأوامر: composer global config bin-dir --absolute سيظهر هذا المسار في السطر الأول من النتيجة. 4- إنشاء مشروع Codeception جديد باستخدام الأمر التالي: codecept bootstrap 5- إنشاء ملفات اختبار جديدة باستخدام الأمر التالي: codecept generate:test unit Example 6- تحرير الملفات التي تم إنشاؤها لإضافة اختبارات الوحدات الخاصة بك. 7- تشغيل الاختبارات باستخدام الأمر التالي: codecept run unit وسوف يتم تنفيذ جميع اختبارات الوحدات الخاصة بك في هذا المشروع. يرجى التأكد من أن جميع الإعدادات والتهيئات الخاصة بك قد تم تحديدها بشكل صحيح في ملفات الاختبار الخاصة بك.
  15. إذا فهمت سؤالك بشكل صحيح، فأنت تحتاج إلى استخدام خدمات Google Play لتوفير الوصول إلى التطبيقات الأخرى المرتبطة بتطبيقك. يمكن استخدام API Client Library for Java التي توفرها Google Play Services لتطوير التطبيقات المرتبطة بحساب Google الخاص بالمستخدم. يتم تثبيت تطبيقات Google Play Services بشكل افتراضي على معظم الأجهزة التي تعمل بنظام Android. للبدء في استخدام خدمات Google Play، يمكنك الاطلاع على المصادر التالية: الدليل الرسمي لخدمات Google Play لتطوير تطبيقات Android مستندات خدمات Google Play للمطورين ويمكنك استخدام Google Sign-In للسماح للمستخدمين بتسجيل الدخول باستخدام حساب Google الخاص بهم والحصول على إذن للوصول إلى بياناتهم. ويمكن استخدام Google Drive API للوصول إلى ملفات المستخدمين والتحكم فيها. ويمكن استخدام Gmail API للوصول إلى رسائل البريد الإلكتروني الخاصة بالمستخدمين. مثال: ، سنستخدم Google Drive API للوصول إلى ملفات المستخدمين. نحتاج إلى توفير مفتاح API الخاص بتطبيقنا وتضمين Google Play Services في ملف build.gradle. الخطوة 1: تحميل مكتبة Google Play Services يتم تضمين Google Play Services في ملف build.gradle كالتالي: dependencies { compile 'com.google.android.gms:play-services-drive:11.8.0' } الخطوة 2: تسجيل الدخول باستخدام حساب Google نحتاج إلى استخدام Google Sign-In للسماح للمستخدمين بتسجيل الدخول باستخدام حساب Google الخاص بهم. يمكن استخدام التالي لتسجيل الدخول: GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .requestScopes(Drive.SCOPE_FILE) .build(); GoogleSignInClient mGoogleSignInClient = GoogleSignIn.getClient(this, gso); mGoogleSignInClient.signOut(); startActivityForResult(mGoogleSignInClient.getSignInIntent(), RC_SIGN_IN); الخطوة 3: الحصول على إذن للوصول إلى ملفات المستخدم بعد تسجيل الدخول، يتم الحصول على إذن للوصول إلى ملفات المستخدم باستخدام Google Drive API: private void requestDriveScope() { GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(this); if (account != null) { if (!GoogleSignIn.hasPermissions(account, Drive.SCOPE_FILE)) { GoogleSignIn.requestPermissions( this, RC_DRIVE_PERMS, account, Drive.SCOPE_FILE ); } else { // متابعة العمليات المرتبطة بالوصول إلى ملفات المستخدم accessDriveFiles(); } } } الخطوة 4: الوصول إلى ملفات المستخدم بعد الحصول على الإذن، يمكن الوصول إلى ملفات المستخدم باستخدام Google Drive API: private void accessDriveFiles() { DriveClient client = Drive.getDriveClient(this, GoogleSignIn.getLastSignedInAccount(this)); DriveResourceClient driveResourceClient = Drive.getDriveResourceClient(this, GoogleSignIn.getLastSignedInAccount(this)); Task<MetadataBuffer> queryTask = driveResourceClient.getRootFolder() .continueWithTask(task -> driveResourceClient.query ( new Query.Builder() .addFilter(Filters.eq(SearchableField.TITLE, "example_file.txt")) .build() )) .addOnSuccessListener(metadataBuffer -> { if (metadataBuffer.getCount() > 0) { Metadata metadata = metadataBuffer.get(0); DriveFile file = metadata.getDriveId().asDriveFile(); downloadFile(file, driveResourceClient); } else { Log.e(TAG, "File not found."); } }) .addOnFailureListener(e -> Log.e(TAG, "Error querying files.", e)); } private void downloadFile(DriveFile file, DriveResourceClient driveResourceClient) { driveResourceClient .openFile(file, DriveFile.MODE_READ_ONLY) .continueWithTask(task -> { DriveContents contents = task.getResult(); InputStream inputStream = contents.getInputStream(); // Use input stream to read the contents of the file contents.discard(driveResourceClient); return null; }) .addOnSuccessListener(aVoid -> Log.i(TAG, "File downloaded successfully.")) .addOnFailureListener(e -> Log.e(TAG, "Error downloading file.", e)); } الكود السابق يستخدم Google Drive API للوصول إلى ملفات المستخدم وتنزيلها. تبدأ الدالة بإنشاء عميل DriveClient وعميل DriveResourceClient باستخدام حساب Google الحالي. ثم تستخدم DriveResourceClient للبحث عن ملف محدد باستخدام اسم الملف. إذا تم العثور على الملف، يتم تنزيله باستخدام driveResourceClient.openFile. وأخيرا، يتم إعادة الدالة الرسومية discard لتنظيف المحتوى الذي تم تنزيله من الذاكرة. ربط التطبيق بتطبيق آخر أما إذا كنت تريد ربط تطبيقك بتطبيق آخر على نفس الجهاز الذي يعمل عليه تطبيقك، يمكنك استخدام Intent لإرسال الرسائل و IntentFilter لتلقيها. باستخدام هذه الطريقة ستتمكن من توجيه المستخدمين إلى تطبيق آخر يتطلبه تطبيقك للعمل، على سبيل المثال، يمكنك إنشاء زر في تطبيقك يقوم بتوجيه المستخدم إلى متجر التطبيقات الخاص بنظام التشغيل (مثل Google Play Store أو Apple App Store) لتثبيت التطبيق الآخر. في هذه الحالة، يجب عليك التحقق من وجود التطبيق الآخر على جهاز المستخدم قبل استخدامه. يمكنك استخدام مكتبات مثل PackageManager في Android أو UIApplication في iOS للتحقق من وجود التطبيق الآخر وتوجيه المستخدم إلى تحميله إذا لم يكن مثبتًا بعد.
  16. كما أشار لك Kais، الـ polling هي تقنية تستخدم عادة لتحديث الصفحة بشكل دوري من دون الحاجة لإعادة تحميلها بشكل كامل. بدلاً من ذلك، يتم استخدام الـ polling لإجراء طلبات متكررة للخادم للتحقق من وجود تحديثات جديدة. من خلال إرسال طلبات HTTP الخفية إلى الخادم باستخدام JavaScript. تتحقق الصفحة بانتظام للحصول على تحديثات جديدة، وإذا كان هناك تحديث جديد، يتم تحميله وعرضه على الصفحة دون الحاجة إلى تحديث الصفحة بالكامل. في Laravel، يمكنك استخدام تقنية الـ polling باستخدام Laravel Livewire وتحديد فترة زمنية محددة لتحديث مكون معين بشكل دوري. على سبيل المثال، إذا أردت تحديث عداد لعدد الدعوات الجديدة كل 5 ثوانٍ، يمكنك كتابة الكود التالي: في الـ view: <div wire:poll.5s> {{ $newInvitationsCount }} </div> في الكود السابق، تم استخدام دالة "wire:poll" في Laravel، والتي تعمل على تحديث جزء محدد من الصفحة بشكل دوري وفقًا للوقت المحدد. وبمجرد تحديد الوقت الذي يجب تحديثه، سيتم تحديث جزء من الصفحة بشكل مستمر بينما يواصل المستخدم التفاعل مع الصفحة. <div wire:poll.750ms> <p>يمكنك وضع أي محتوى تريده هنا، مثل عدد الإشعارات الجديدة، أيقونة الإشعارات، أو أي شيء آخر.</p> <p>مثال: تم تحديث الصفحة في {{ now() }}</p> </div> يتم تحديث الصفحة كل 750 ميلي ثانية باستخدام "wire:poll.750ms"، والتي تستخدم "Livewire"، وهي أداة في Laravel تتيح تحديث الصفحة بشكل فوري بدون إعادة تحميل الصفحة بالكامل. في الـ component: class NotificationsComponent extends Component { public $newInvitationsCount = 0; public function render() { $this->newInvitationsCount = // طلب لجلب عدد الدعوات الجديدة من الخادم return view('livewire.notifications-component'); } } هذا الكود سيقوم بتحديث قيمة $newInvitationsCount كل 5 ثوانٍ دون الحاجة إلى إعادة تحميل الصفحة بشكل كامل. يمكنك تعديل هذا الكود بحسب احتياجاتك ومتطلبات تطبيقك، على سبيل المثال، يمكنك تحديد فترة زمنية مختلفة لتحديث المكون، أو استخدام قيمة مختلفة للـ polling مثل 1000ms بدلاً من 5s.
  17. المدونة هي نوع من أنواع المواقع الإلكترونية التي تهدف إلى نشر المحتوى بشكل متكرر ومنتظم. وبشكل عام، يمكن اعتبار المدونة جزءًا من الموقع، حيث يمكن أن يحتوي الموقع على عدة صفحات بمحتوى مختلف وتحتوي إحدى تلك الصفحات على المدونة. يمكن إنشاء المدونة باستخدام خدمات مجانية مثل Blogger، والتي توفر مجموعة من الأدوات والخصائص لإدارة المدونة. و تعتبر الخدمات المجانية مثل Blogger أسهل وأسرع في الإعداد، ولكنها قد تقيّد بالتخصيص والتعديلات التي يمكن القيام بها على المدونة. بالنسبة لإخفاء اسم Blogger من رابط المدونة، يمكن القيام بذلك عن طريق شراء نطاق خاص للمدونة وربطه بالمدونة. سيكون العنوان الجديد للمدونة هو عنوان النطاق الجديد الذي تم شراؤه، ولن يظهر اسم Blogger في العنوان. ومن المهم الإشارة إلى أن شراء نطاق خاص يتطلب دفع تكلفة سنوية معينة. والأفضل هو إنشاء موقع باستخدام وورد بريس وشراء استضافة ودومين بتكلفة بسيطة إذا كان لديك بعض الخبرة، والبدء في كتابة المحتوى، ويتطلب الأمر فترة 6 شهور على الأقل أو سنة بمحتوى ذو جودة عالية لتظهر بعض النتائج لك. من ناحية السهولة في الاستخدام والإعداد، فإن Blogger يكون أكثر سهولة، حيث يمكن لأي شخص إنشاء مدونة في دقائق قليلة بدون أي معرفة فنية مسبقة. أما عن ووردبريس، فهو يتمتع بمرونة أكبر في التخصيص والتعديلات، حيث يوفر العديد من الإضافات والسمات والتصاميم الجاهزة التي تساعد على تحسين أداء الموقع. كما أن ووردبريس يتيح مزيدًا من السيطرة على محتوى الموقع وقدرته على الاستمرار في التوسع والتطور مع تطور احتياجات المستخدم. إذا كانت المدونة تحتاج إلى نشر المحتوى بشكل منتظم وبدون الحاجة إلى الكثير من التخصيص، فإن Blogger يكون الخيار الأمثل. وإذا كنت تبحث عن مزيد من المرونة والتخصيص وقدرة الموقع على التوسع في المستقبل، فإن ووردبريس يمكن أن يكون الخيار الأفضل.
  18. لتغيير الحالة الابتدائية للون، يمكنك إعطاء قيمة ابتدائية مختلفة للمتغير color عند تعريفه باستخدام الدالة useState. يمكنك أيضًا استخدام دالة useEffect لتحديث الحالة الابتدائية للون عندما يتم تغييره في القائمة. في الكود الخاص بك، يتم تحديد اللون الابتدائي للصفحة بواسطة الخاصية --main-color في CSS. لذلك، بدلاً من تغيير قيمة المتغير color فقط، يجب عليك أيضًا تغيير قيمة الخاصية --main-color في CSS. في الحالة الحالية، يتم تحديد قيمة الخاصية --main-color باستخدام المتغير color في الدالة handelColor. لتحديث قيمة الخاصية --main-color، يمكنك استخدام الكود التالي داخل الدالة handelColor: document.documentElement.style.setProperty('--main-color', colorr); يتم استخدام دالة setProperty لتحديث قيمة الخاصية --main-color إلى القيمة المحددة بواسطة المتغير colorr. بالنسبة لأفضل طريقة لتغيير الحالة الابتدائية للون، يمكنك تعريف قيمة ابتدائية للمتغير color عند تعريفه باستخدام useState. على سبيل المثال، يمكنك تحديد اللون الابتدائي للصفحة على النحو التالي: const [color, setDataColor] = useState('darkorange'); بهذه الطريقة، سيتم تعيين اللون الابتدائي إلى 'darkorange' عند تحميل الصفحة. يمكنك استخدام نفس الدالة handelColor لتحديث اللون عندما يتم تغييره في القائمة.
  19. لكون سؤال يتعلق بالإختبارات، سأرشدك لطريقة الحل فقط. يمكن حل هذا السؤال باستخدام الخطوات التالية: 1- تعريف المتغيرات: يجب تعريف المتغيرات التي تحتاج إليها الدالة والتي يتم استخدامها في المعادلة المذكورة في السؤال. في هذه الحالة، يجب تعريف AV, T, w, po. 2- إنشاء الدالة: يمكن إنشاء دالة في MATLAB تستخدم السلسلة الفورية لإنشاء الموجات المربعة. يجب تمرير الدالة بالعدد المناسب من الهارمونيات المراد رسمها. function y = square_wave(n) T = 2; w = 2*pi/T; po = pi/2; AV = 1; t = linspace(0,T,1000); y = 0; for i = 1:n y = y + AV/(2*i-1)*sin((2*i-1)*w*t + po); end end 3- إنشاء الرسوم البيانية: يمكن استخدام الأمر subplot في MATLAB لإنشاء الرسوم البيانية المطلوبة في نافذة واحدة. يجب استخدام الدالة المنشأة سابقاً لإنشاء الموجات المربعة وإضافتها إلى كل subplot بحيث تكون الرسوم البيانية المتعددة في نفس المخطط. وهنا توضيح لكل من الخطوات بشكل أكثر تفصيلاً: 1- تعريف المتغيرات: أول خطوة في الحل هي تعريف المتغيرات التي ستحتاج إليها الدالة التي ستنشئها. في هذه الحالة، يجب تعريف المتغيرات التالية: AV: القيمة القمية للجهد المربع الموجب. T: مدة الدورة للموجة المربعة. w: التردد الزاوي للموجة المربعة. po: المرحلة الزاوية للموجة المربعة. 2- إنشاء الدالة: بعد تعريف المتغيرات، يمكن إنشاء الدالة التي ستنشئ الموجات المربعة باستخدام السلسلة الفورية. يتم استخدام المعادلة المذكورة في السؤال لإنشاء الموجات المربعة، ويتم إضافة جميع الهارمونيات المطلوبة باستخدام حلقة for. في هذه الحالة، يمكن تسمية الدالة باسم "square_wave" وإعطائها المدخلات. بعد تحديد المتغيرات، يمكن كتابة الدالة التي ستقوم بإنشاء الموجات المربعة باستخدام السلسلة الفورية في MATLAB. يتم استخدام المعادلة المذكورة في السؤال لإنشاء الموجات المربعة، ويتم إضافة جميع الهارمونيات المطلوبة باستخدام حلقة for. في هذه الحالة، يمكن تسمية الدالة باسم "square_wave" وإعطائها المدخلات اللازمة لحساب الموجة المطلوبة. يمكن استخدام دالة subplot لإنشاء نافذة رسم واحدة مقسمة إلى 6 رسوم بيانية فرعية، حيث يمكن تخصيص كل رسم بياني فرعي لعرض الموجة المربعة المحسوبة لعدد مختلف من الهارمونيات. يمكن استخدام دالة plot لرسم الأمواج المربعة في كل رسم بياني فرعي.
  20. يمكن اختيار أي من المسارات التالية لتعلم البرمجة وتنفيذ تطبيقات سطح المكتب المتصلة بالإنترنت والتطبيقات التي تعمل على منصات المتصفح: تطوير تطبيقات الويب: يمكن تعلم لغات الويب الأساسية مثل HTML وCSS وJavaScript لبناء صفحات الويب الثابتة والمتحركة والتفاعلية واستخدام إطارات العمل مثل React أو Angular أو Vue.js لتطوير تطبيقات الويب المتقدمة. تطوير تطبيقات سطح المكتب: يمكن تعلم لغات البرمجة المتخصصة في تطوير تطبيقات سطح المكتب مثل C# وJava وPython واستخدام إطارات العمل المتاحة مثل .NET Framework أو JavaFX أو PyQt لتطوير تطبيقات سطح المكتب. تطوير تطبيقات الهجينة: يمكن تطوير تطبيقات الهجينة التي تعمل على كل من سطح المكتب والويب باستخدام الأدوات المتاحة مثل Electron وNW.js والتي تستخدم HTML وCSS وJavaScript لتطوير واجهة المستخدم والتواصل مع الخادم. وكما ذكر لك عدنان، الأفضل لك هي دورة تطوير التطبيقات باستخدام جافاسكربت ، فهى تفتح أمامك مجالات كثيرة منها تطوير مواقع الويب وتطبيقات الهواتف وبرامج سطح المكتب. فمن خلالها ستتعلم الآتي: الأسس البرمجية السليمة للغة JavaScript الإضافات الحديثة في نسخة ES6 من اللغة تطوير تطبيقات الخادم باستخدام بيئة Node.js أساسيات مكتبة React.js وبناء تطبيق ملاحظات باستخدامها أساسيات مكتبة React Native و Expo تطوير تطبيق جوال للوصل بين الأطباء والمرضى بالاعتماد على React Native التعرف على التطبيقات التي تتطلب اتصالًا مستمرًا بين المتصفح والخادم بناء تطبيق محادثة يشبه تطبيق WhatsApp إنشاء تطبيق أسئلة وأجوبة ونقاشات مع تصيير من جهة الخادم Server-side Rendering عبر إطار العمل Next.js بناء واجهات أمامية باستخدام React.js مع مكتبة Material-UI إنشاء تطبيقات سطح مكتب باستخدام JavaScript باستخدام إطار العمل Electron.js بناء تطبيق جوال لشبكة تواصل اجتماعي باستخدام إطار العمل Ionic ومكتبة React.js لمن هذه الدورة؟ لمن لا يمتلك خبرة مسبقة في مجال البرمجة ويريد الدخول في هذا المجال الشيق لمن يمتلك خبرة بسيطة في البرمجة ويرغب في تطوير مهاراته ليصل إلى الاحترافيّة لمن يرغب باكتساب مهارات برمجية جديدة تساعده على تحسين دخله لمن يرغب بتعلّم بيئة Node.js لبناء خدمات ويب حديثة وسريعة لمن يرغب تعلم تطوير تطبيقات ويب تفاعلية باستخدام مكتبة React.js لمن يرغب بتطوير تطبيقات جوال Android و iOS أصيلة باستخدام React Native لمن يرغب بتطوير تطبيقات جوال Android و iOS هجينة باستخدام Ionic و React.js لمن يرغب بتطوير تطبيقات تتطلب مزامنة فورية بين المتصفح والخادم مثل تطبيقات المحادثة لإنشاء تطبيقات سطح مكتب أساسية
  21. يمكنك رفع مشروع React الخاص بك إلى Netlify باتباع الخطوات التالية: تأكد من تنفيذ json server بنجاح و يتم استخدامه في المشروع. تحتاج إلى إنشاء ملف build من مشروع React الخاص بك. يمكنك القيام بذلك عن طريق تنفيذ الأمر "npm run build" في مشروعك. سينشئ هذا الأمر مجلدًا جديدًا يسمى "build" و يحتوي على جميع ملفات التطبيق النهائية. افتح حسابًا جديدًا في Netlify. يمكنك القيام بذلك عن طريق زيارة موقع Netlify و اختيار تسجيل الدخول ثم التسجيل للحصول على حساب جديد. بعد تسجيل الدخول، يجب عليك النقر على الزر "New site from Git" لإنشاء موقع جديد أو يمكنك رفع مجلد المشروع build مباشرًة بدون رفعه على GitHub ولكن ذلك أفضل. اختر موفر الخدمة الذي تستخدمه لإدارة مشروع React الخاص بك. ستظهر لك قائمة بالموفرين المدعومين. اختر الموفر الذي تريد استخدامه. تأكد من السماح لـ Netlify بالوصول إلى حسابك على موفر الخدمة. على سبيل المثال، إذا كنت تستخدم GitHub، فستحتاج إلى السماح لـ Netlify بالوصول إلى حساب GitHub الخاص بك. حدد مستودعك (repository) في القائمة المنسدلة. قم بتكوين إعدادات المشروع. يمكنك تحديد الفرع الذي تريد نشره وكذلك ملف البناء الذي أنشأته من خلال الأمر "npm run build" و هو ملف "build" في حالة استخدام create-react-app. بعد ذلك، يمكنك النقر على الزر "Deploy site" لنشر مشروع React الخاص بك على Netlify. بعد الانتهاء من النشر، سيتم توفير رابط URL لمشروعك على Netlify. يمكنك النقر عليه لعرض التطبيق الخاص بك.. كما يمكنك تخصيص اسم النطاق الخاص بتطبيقك على Netlify إذا كنت ترغب في ذلك. Continues Integration يمكنك أيضًا إدارة تطبيقك على Netlify باستخدام لوحة التحكم الخاصة بهم، حيث يمكنك عرض معلومات الاستخدام وإدارة تكوينات المشروع والتحكم في الإعدادات الأمنية. بالإضافة إلى ذلك، يمكنك تحديث التطبيق الخاص بك على Netlify عن طريق تحديث النسخة المرفوعة من التطبيق على GitHub. ولتحديث التطبيق الخاص بك على Netlify، يمكنك تحديث النسخة المرفوعة من التطبيق على GitHub. وفي حالة كان تطبيقك مرتبطًا بخدمة Continues Integration مثل Travis CI أو CircleCI، سيتم تنفيذ سلسلة من الأوامر الآلية لتحديث التطبيق بعد تحديث النسخة المرفوعة على GitHub. إذا كنت تستخدم Git كأداة لإدارة مشروعك، يمكنك استخدام أمر "git push" لتحديث النسخة المرفوعة على GitHub، ثم يتم تنفيذ عملية النشر الآلية على Netlify. بعد تحديث النسخة المرفوعة على GitHub، يمكنك الذهاب إلى لوحة التحكم الخاصة بتطبيقك على Netlify وتفحص عملية النشر للتأكد من نجاحها. وفي حالة وجود أي مشاكل، يمكنك العودة إلى النسخة السابقة من التطبيق المرفوع على GitHub.
  22. باستطاعتك استخدام خدمة Azure Backup من Microsoft Azure لتخزين نسخ احتياطية لقواعد البيانات SQL Server في السحابة. يمكنك تكوين Azure Backup للقيام بالنسخ الاحتياطي التلقائي لقواعد البيانات SQL Server وحفظها في خدمة تخزين Azure. علاوة على ذلك، يمكنك استخدام خاصية المزامنة Sync في خدمة التخزين Blob الخاصة بـ Azure لمزامنة النسخ الاحتياطية مع السيرفر المحلي. يمكنك استخدام Azure Blob Storage Sync لإنشاء مهمة مزامنة تلقائية بين حساب التخزين Blob الخاص بـ Azure والسيرفر المحلي، وبالتالي يتم مزامنة النسخ الاحتياطية تلقائيًا بعد أي تحديث على قاعدة البيانات في السيرفر المحلي. وتوفر Microsoft Azure خيارات متعددة للتخزين السحابي والنسخ الاحتياطي لقواعد البيانات، ويمكنك الاطلاع على المزيد من المعلومات والخدمات المتاحة على موقع Azure. خدمة Azure Backup من Microsoft Azure توفر تخزين النسخ الاحتياطية لقواعد البيانات SQL Server، ويمكن تكوينها لتلقيم قواعد البيانات بشكل تلقائي والنسخ الاحتياطي بشكل دوري. لتحقيق ذلك، يتعين عليك تنزيل وتثبيت Azure Backup Agent على الخادم الذي يستضيف قاعدة البيانات. بعد التثبيت، يمكنك تكوين الوكيل لتلقيم قواعد البيانات SQL Server والنسخ الاحتياطي بشكل دوري. تخزين Blob في Azure يمكن أن يستخدم كتخزين مرن للنسخ الاحتياطي. يمكنك إنشاء حساب تخزين Blob في Azure وتحميل نسخ النسخ الاحتياطية إلى حساب التخزين Blob هذا باستخدام أدوات التخزين المحلية أو أدوات النسخ الاحتياطي الخاصة بـ Azure. ولإنشاء مزامنة بين النسخ الاحتياطية المحلية والتخزين السحابي، يمكنك استخدام Azure Blob Storage Sync لإنشاء مهمة مزامنة تلقائية بين حساب تخزين Blob الخاص بـ Azure والسيرفر المحلي. يمكن لـ Azure Blob Storage Sync مزامنة النسخ الاحتياطية بشكل دوري، والتأكد من تحديث النسخ الاحتياطية المحلية والتخزين السحابي تلقائيًا. يمكن العثور على مزيد من المعلومات والتفاصيل حول خدمة Azure Backup وتخزين Blob في Azure، بالإضافة إلى تعليمات مفصلة حول كيفية تكوينها واستخدامها في مستندات Microsoft Azure. هناك منصات أخرى توفر خدمات تخزين سحابي للنسخ الاحتياطي لقواعد البيانات SQL Server، ومن بينها: Amazon Web Services (AWS): يوفر AWS خدمة Amazon S3 Glacier لتخزين النسخ الاحتياطية للبيانات، ويمكن استخدام خدمة Amazon Relational Database Service (RDS) لإدارة قواعد البيانات SQL Server. Google Cloud Platform: يوفر Google Cloud Storage لتخزين النسخ الاحتياطية للبيانات، ويمكن استخدام Google Cloud SQL لإدارة قواعد البيانات SQL Server. Backblaze: يوفر Backblaze B2 Cloud Storage لتخزين النسخ الاحتياطية للبيانات، ويمكن استخدامه مع أدوات النسخ الاحتياطي التي تدعم بروتوكول S3. DigitalOcean: يوفر DigitalOcean Spaces لتخزين النسخ الاحتياطية للبيانات، ويمكن استخدامه مع أدوات النسخ الاحتياطي التي تدعم بروتوكول S3. يتوفر لدى هذه الخدمات مزايا وخيارات مختلفة، ويجب اختيار الخدمة التي تناسب احتياجات العمل وميزانيته.
  23. أرجو منك توضيح المشكلة وتوفير صورة أو مجلد المشروع أو كود. علي أي حال، ربما تكون المشكلة أنك لم تقم باستيراد مكتبة Bootstrap في مشروعك. يمكنك استيراد مكتبة Bootstrap في مشروعك بالطريقة التالية: قم بتنزيل ملفات Bootstrap من الموقع الرسمي bootstrap.com. قم بفك الضغط عن الملفات التي تم تحميلها. قم بإنشاء مجلد في مشروعك واسمه "css" وضع ملف "bootstrap.min.css" داخل المجلد. قم بإنشاء مجلد آخر في مشروعك واسمه "js" وضع ملفات "jquery.min.js" و "bootstrap.min.js" داخل المجلد. قم بإضافة الرمز التالي في جزء الرأس (head) من ملف HTML الخاص بمشروعك: <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script> بعد ذلك، يمكنك استخدام الأساليب والمكونات المختلفة في Bootstrap في مشروعك. يمكنك الرجوع إلى توثيق Bootstrap لمزيد من التفاصيل والأمثلة على كيفية استخدامه. وأرجو منك قراءة الدليل التالي.
  24. الكود يقوم بتحليل بيانات ملف "liver.csv" الموجود في المسار "C:/Users/karee/OneDrive/Desktop/" باستخدام مكتبات باندا Pandas و نامباي Numpy و dataprep.eda. ويتم استيراد المكتبات المذكورة أعلاه ثم يتم تحميل الملف "liver.csv" في DataFrame باستخدام الأمر pd.read_csv. يتم تعيين متغير nRowsRead إلى None ، وهو يعني أنه سيتم قراءة جميع الصفوف في الملف csv. يتم تخزين العدد الكلي للصفوف والأعمدة في المتغير nRow و nCol على التوالي. ثم يتم طباعة عدد الصفوف والأعمدة باستخدام print (). يليه عرض الصفوف الأولى من البيانات باستخدام df.head (). ثم الاستدلال على وجود القيم الناقصة في DataFrame باستخدام df.isnull ().sum () وتقوم الدالة بإعطاء مجموع القيم الناقصة في كل عمود. أخيرًا طباعة بعض التحليلات البيانية على DataFrame باستخدام الدالة plot () من مكتبة dataprep.eda. و يتم تمرير المتغير df إلى الدالة plot () ثم تمرير السنة (1988) و (2021) كمتغيرات لتنفيذ بعض التحليلات. ولا يوجد مخرج (Output) من هذا الكود ، لذلك لا يتم طباعة أي شيء في الإخراج.
  25. باستطاعتك تثبيت التحديثات لنظام التشغيل في ويندوز باستخدام الخطوات التالية: من خلال شريط البحث بالأسفل في ويندوز 10 أو 11 قم بالبحث عن check for updates وستجد أيقونة سهمين بشكل دائري قم بالضغط عليها ثم اضغط على check for updates. سيبحث نظام التشغيل عن التحديثات المتاحة وسيقوم بتنزيلها وتثبيتها تلقائيًا. إذا تم العثور على تحديثات جديدة ، سيتم تنبيهك وسيتم طلب موافقتك على تنزيلها وتثبيتها. بعد التثبيت ، قد تحتاج إلى إعادة تشغيل النظام لتفعيل التحديثات الجديدة.
×
×
  • أضف...