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

ياسر مسكين

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

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

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

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

    2

كل منشورات العضو ياسر مسكين

  1. أرجو إرفاق ملف ال index.html الخاص بك لتصفحه، للتأكد من كيفية كتابتك للرابط فعادة ما يكون هذا الخطأ ناجما عن خطأ إملائي.
  2. رسالة الخطأ تشير إلى فشل في إنشاء ملف keystore في المسار المحدد التالي: "/storage/emulated/0/AppProjects/release_key.jks" لذا فالمشكلة يبدو أنها تكمن في المسار، بدلا من استخدام المسار الافتراضي، جرب تحديد مسار مختلف يكون أكثر قابلية للوصول، مثل مجلد التنزيلات يمكن ذلك من خلال الذهاب إلى شاشة "Create keystore" والتعديل على حقل "Keystore file:" مثلا: "/storage/emulated/0/Download/my_keystore.jks" ثم أكمل بقية المعلومات المطلوبة كما هو موضح في الصورة وانقر على زر "CREATE KEYSTORE" مرة أخرى. هذا التغيير في المسار قد يحل المشكلة لأنه يستخدم مجلد (التنزيلات) وعادة ما يكون متاحا للتطبيقات للكتابة فيه كما يتجنب أي قيود محتملة على الكتابة في مجلد المشروع الأصلي. إذا نجحت هذه الطريقة، يمكنك استخدام ملف keystore الجديد لتوقيع تطبيقك وإعداده للنشر أما إذا استمرت المشكلة حتى بعد تغيير المسار، فقد تكون هناك حاجة لمراجعة إعدادات الأمان على جهازك أو استخدام جهاز كمبيوتر لإنشاء ملف keystore ونقله إلى هاتفك.
  3. عمل ممتاز، لكن من المحتمل أن يواجه الكود بعض التحديات في البداية، حيث إن عمليات التشغيل التلقائي للمواقع تتطلب خبرة وفهما عميقا لكيفية تفاعل المواقع مع المستخدمين فبرمجة بوت يقوم بعمليات شراء تلقائية من مواقع الويب تتطلب معرفة تقنية عميقة وتفاصيل دقيقة لذلك، ينصح بأن تبدأ بتجربة الكود كبرنامج مستقل قبل أن تضيفه إلى بوت تلغرام. يمكنك الاطلاع أكثر من هنا:
  4. لتفادي هذا الأمر يجب استخدام خادم بريد موثوق به بحيث يكون معدّا بشكل صحيح وأفضل الطرق من خلال إعداد سجلات SPF و DKIM و DMARC ففائدتها هي كالتالي: SPF: يساعد في التحقق من أن الخادم المُرسل مصرح له بإرسال البريد. DKIM: يضيف توقيعا رقميا للتحقق من صحة الرسائل. DMARC: يحدد كيفية التعامل مع الرسائل التي تفشل في اختبارات SPF أو DKIM. فتكوين سجلات DNS بشكل صحيح ضروري لمصادقة بريدك الإلكتروني يمكنك التسجيل في SPF (Sender Policy Framework) وDKIM (DomainKeys Identified Mail) وDMARC (Domain-based Message Authentication, Reporting, and Conformance) كي تساعد في تحسين مصداقية بريدك الإلكتروني. كما يجب أن تتجنب العناوين النصية العشوائية، وأن تقلل من الروابط. كما أنصح باختبار البريد الإلكتروني يمكنك استخدام أدوات مثل Mail Tester لتقييم رسائل البريد الإلكتروني الخاصة بك ومعرفة الأسباب التي قد تؤدي إلى تصنيفها كبريد غير مرغوب فيه.
  5. بناء على الشيفرة خاصتك، ففي ملف generateToken.js، تقوم بتعيين اسم الـ cookie كـ 'token' هنا: response.cookies.set('token', token, { }); لكن في ملف protect.js، تحاول الحصول على الـ cookie باسم 'jwt': const token = cookieStore.get('jwt')?.value; لذا يجب أن يكون اسم الـ cookie متطابقاً في كلا الموضعين. كما أني لا أرى أنك قمت باستيراد مكتبة jsonwebtoken في ملف protect.js لذا يجب إضافة هذا الاستيراد: import jwt from 'jsonwebtoken'; أما فيما يخص كيفية التعامل مع الـ response في ملف generateToken.js ففي الدالة setTokenCookie، تستخدم response.cookies.set، لكن في Next.js 14، يجب استخدام cookies() من next/headers كالتالي: import { cookies } from 'next/headers'; const setTokenCookie = (token) => { cookies().set('token', token, { httpOnly: true, secure: process.env.NODE_ENV !== 'development', sameSite: 'strict', maxAge: 60*60*24 }); } أما في ملف login/route.js، يجب تعديل كيفية استخدام setTokenCookie إلى: if (user) { const token = generateToken(user._id); setTokenCookie(token); return NextResponse.json({ user: user.email }, { status: 200 }); } else { return new NextResponse("Failed to create user", { status: 500 }); } واحرص على أن تكون قمت بتعريف ال JWT_SECRET في ملف .env، أرجو تصحيح الأخطاء التالية مع إرفاق صورة للخطأ الذي تواجهه في حالة استمرار المشكلة.
  6. وعليكم السلام، بعد الانتهاء من الدورة بطبيعة الحال، يمكنك أن تبحث عن عمل من خلال مواقع العمل الحر المختلفة مثل مستقل وخمسات، يمكنك بناء سيرة ذاتية قوية كما يمكنك الحصول على كما ستحصل على شهادة مقدمة من الأكاديمية تفيد بأنك أتممت الدورة وأنهيت كل مشاريعها، بالإضافة إلى وصول مدى الحياة لمحتوى الدورة حتى بعد عمل مختلف التحديثات، لكن للحصول عليها سيتوجب عليك التواصل مع مركز مساعدة حسوب لحجز موعد للاختبار وبعد اجتيازك له ونجاحك فيه يمكنك الحصول على الشهادة وستحصل أيضا على إرشادات من مختصين في كيفية تجهيز سيرة ذاتية CV وبناء صفحتك الشخصية على مختلف مواقع العمل الحر.
  7. نعم فال Feature Extraction يعتبر من أهم الأجزاء في بناء نماذج تعلم الآلة،كونه يحسّن أداء النموذج فعبر اختيار الميزات المناسبة يمكن أن يزيد من دقة النموذج وكفاءته كما أنه يقلل من تعقيد النموذج باختيار الميزات الأكثر أهمية فيمكن تقليل أبعاد البيانات وتبسيط النموذج. كما أنه يساعد في فهم البيانات فلو تبحث قليلا ستجد أنه يوفر نظرة ثاقبة حول العوامل الأكثر تأثيرا في المشكلة بحذ ذاتها وفيما يتعلق بكون استخراج الميزات إبداعا وتفكيرا خارج الصندوق، فهذا صحيح إلى حد كبير لكونه يتطلب فهما عميقا للمشكلة والبيانات التي يعمل عليها، فغالبا ما يحتاج إلى تجربة أفكار جديدة ومبتكرة لتمثيل البيانات ويمكن أن يشمل دمج معرفة المجال مع تقنيات تحليل البيانات. كما أنه ليس الوحيد فهناك أيضا تقنيات آلية لاستخراج الميزات، مثل تحليل المكونات الرئيسية (PCA) والشبكات العصبية العميقة، والتي يمكن أن تكون فعالة في بعض الحالات.
  8. وعليكم السلام، في الحقيقة FastAPI، Django، و Flask هي كلها إطارات عمل لبناء تطبيقات الويب باستخدام لغة بايثون، ولكن لكل منها نقاط قوة وضعف تجعلها مناسبة لمشاريع مختلفة ولكن لا يوجد إطار عمل "أفضل" بشكل مطلق، فالاختيار يعتمد على متطلبات المشروع الخاص بك من خلال فهم نقاط القوة والضعف لكل إطار، يمكنك حينها اتخاذ القرار الصحيح. فمثلا Django يعتبر مثاليا للمشاريع الكبيرة والمعقدة التي تتطلب بنية قوية وتنظيما جيدا، فهو الخيار الأمثل لتطوير مواقع ويب كاملة الميزات مثل مواقع التجارة الإلكترونية أو الشبكات الاجتماعية. أما إطار العمل الأنسب لعرض نماذج الذكاء الاصطناعي فهو FastAPI ويعتبر الخيار الأفضل حاليا لعرض نماذج الذكاء الاصطناعي بفضل الأداء العالي الذي يقدمه فهو مهم جدا لتقديم استجابات سريعة من النموذج كما يتم تفضيله لسهولة بناء ال APIs عليه فيمكن لـ FastAPI توليد وثائق API تلقائيا مما يسهل دمج النموذج مع واجهة المستخدم بالاضافة إلى التكامل مع أدوات الذكاء الاصطناعي كونه يدعم العديد من أدوات الذكاء الاصطناعي مثل TensorFlow و PyTorch. كما أن نماذج اللغة الطبيعية لا "تتعلم" فلغات البرمجة بالمعنى التقليدي هي مدربة على كميات هائلة من النصوص، ويمكنها توليد نصوص تشبه النصوص التي تدرب عليهاـ هذا يعني أنه يمكنها توليد أكواد HTML, CSS, و JavaScript، ولكن هذا الكود قد لا يكون دائما صحيحا أو فعالا.
  9. لا شكّ أنه يوجد فرق بين تطوير المواقع والتطبيقات وتصميمها، فتصميم المواقع يركز على المظهر الخارجي والتجربة المرئية للموقع، كما يشمل تخطيط الصفحات، اختيار الألوان، الخطوط، وتصميم واجهة المستخدم (UI) ويهتم بتحسين تجربة المستخدم (UX) وسهولة الاستخدام. أما تطوير المواقع (Web Development) والتطبيقات وغيرها فيتعلق ببناء وبرمجة الموقع فعليا من خلال كتابة الأكواد باستخدام لغات مثل HTML, CSS, JavaScript, PHP, Python وإنشاء الوظائف والميزات التفاعلية للموقع ويشمل تطوير الواجهة الأمامية (Front-end) والخلفية (Back-end) للموقع. وبناء أي برنامج (سواء ويب أو موبايل أو ذكاء اصطناعي) يتضمن كلا من التصميم والتطوير، ولكن بمفهوم أوسع: التصميم هنا يشمل تخطيط هيكل البرنامج وواجهته وتجربة المستخدم. التطوير يشمل تنفيذ هذا التصميم من خلال البرمجة الفعلية. أما علاقة تصميم البرمجيات (Software Design) وهندسة البرمجيات (Software Architecture) بهذا الأمر فإن تصميم البرمجيات يركز على تصميم المكونات الداخلية للبرنامج وكيفية تفاعلها كما يشمل تصميم الخوارزميات وهياكل البيانات والوحدات البرمجية أما هندسة البرمجيات فتهتم بالهيكل العام للنظام على مستوى أعلى من خلال تحديد الأنماط والتقنيات المستخدمة في بناء البرنامج وتضع الأساس لكيفية تنظيم وتفاعل مختلف أجزاء البرنامج. باختصار، تصميم وتطوير المواقع هما جزء من العملية الأكبر لتصميم وهندسة البرمجيات، حيث تطبق مبادئ التصميم والهندسة على نطاق أوسع يشمل جميع أنواع البرامج.
  10. يمكنني شرح الكيفية والطريقة لمساعدتك للوصول لحل لما تريده. أولا نبدأ بتهيئة قاعدة البيانات خاصتنا، ففي حالة لم تكن لديك قم بإنشاء قاعدة بيانات جديدة (مثلا باسم school) ثم أنشئ جدول للطلبة فليكن students وليحتوي على الأعمدة اللازمة مثل id, name, email الخاص بكل طالب. الخطوة التالية هي إنشاء صفحة عرض بيانات الطلبة، تنشئ ملف PHP جديد وليكن students.php وفي هذا الملف، احرص على أن يكون هناك اتصال بقاعدة البيانات واسترجاع لبيانات الطلبة ويمكن استخدام قالب HTML بسيط لعرض البيانات في جدول ولا تنسى إضافة زر للانتقال إلى صفحة إضافة طالب جديد. هنا يجب إنشاء ملف PHP جديد لمعالجة هذه النقطة وليكن مثلا add_student.php في هذا الملف، أنشئ نموذج HTML يتيح للمستخدمين إدخال اسم الطالب والبريد الإلكتروني وحدد ليتم إرساله إلى ملف PHP آخر لمعالجة البيانات insert_student.php. ولو تلاحظ هنا فستجد أن كل ملف مترابط مع الآخر، فالآن سنحتاج لانشاء ملف آخر لمعالجة بيانات النموذج لتسمّيه مثلا insert_student.php في هذا الملف، احصل على بيانات الطالب من النموذج، واتصل بقاعدة البيانات، وأدخل البيانات في جدول الطلبة وبعد إدخالك للبيانات، يمكنك إعادة توجيه المستخدم إلى صفحة عرض البيانات أو عرض رسالة تأكيد. والأمر المهم هو أن يكون هنالك ترابط بين الصفحات ولضمان ذلك يجب إضافة الروابط اللازمة بين الصفحات والتأكد من أن زر "إضافة طالب جديد" في صفحة عرض بيانات الطلبة ينقل المستخدم إلى صفحة إضافة طالب جديد وأن نموذج إضافة طالب جديد يرسل البيانات إلى ملف المعالجة وهكذا.
  11. FastAPI يمكن اعتباره إطار عمل حديث وقوي لبناء تطبيقات الويب باستخدام لغة بايثون، أين يتميز بسرعته العالية وسهولة استخدامه، مما يجعله مناسبا للمطورين المبتدئين والمحترفين على حد سواء فهو يقوم بتبسيط عملية إنشاء واجهات برمجة التطبيقات (APIs) من خلال توفير ميزات مثل التوثيق التلقائي والتحقق من صحة البيانات بشكل تلقائي، كما أنه يدعم التطوير السريع وتساعد في بناء تطبيقات آمنة وقابلة للتوسع. وباختصار، FastAPI يجعل من السهل على المطورين إنشاء خدمات ويب قوية وفعالة بأقل جهد يمكن تصوره. من خصائصه أيضا أنه يستخدم نظام التحقق من أنواع البيانات لضمان سلامتها، ولهذا نراه يدعم مصادقة OAuth2 وJWT بشكل مدمج، أيضا هو غير متزامن، ولتبسيط المفهوم يمكن القول بأنه يدعم البرمجة غير المتزامنة باستخدام كل من async/await وآخر نقطة وهو أن هذا الإطار يتوافق مع معايير الويب ك OpenAPI (Swagger) وJSON Schema.
  12. يوجد أكثر من طريقة لرفع المشاريع على github لكن أولا يجب أن تقوم بإنشاء حساب على موقع غيتهاب من هنا: github.com بعد ذلك تقوم بتسجيل الدخول وستجد في الشريط العلوي علامة + تقوم بالضغط عليها وستظهر لك قائمة تختار منها إنشاء مستودع جديد: الأمر بسيط وسيكون سهلا في حالة اتباعك لهذه الخطوات الموضحة في هذه المقالة:
  13. وعليكم السلام، سأشرح لك كيفية استخدام هذه الواجهة لإعداد تطبيق Node.js الخاص بك لنبدأ بكل خانة على حدى: Node.js version: لاحظ أنه قد تم تحديد الإصدار 10.24.1 تلقائيا وهذا جيد إذا كان متوافقا مع مشروعك. Application mode: وهنا قد تم تعيينه على "Development" وهذا مناسب لأنك في مرحلة تطوير المشروع. Application root: هنا يجب عليك إدخال المسار الفعلي لمجلد مشروعك، بما أنّ اسم المجلد "app"، فقد يكون المسار مثل "/home/username/app" أو "C:\Users\username\app" حسب نظام التشغيل لذا قم بملئه على حسب ما لديك. Application startup file: هنا يجب تحديد الملف الرئيسي للتطبيق، عادة ما يكون "app.js" أو "index.js". Environment variables: يمكنك إضافة أي متغيرات بيئية ضرورية لمشروعك هنا. والغرض من المتغيرات البيئية هو أنها تستخدم لتخزين معلومات حساسة مثل كلمات المرور ومفاتيح API وتساعد في تكوين التطبيق لبيئات مختلفة ك (التطوير، الاختبار، الإنتاج) وتسمح بتغيير سلوك التطبيق دون تعديل الكود وهذه أمثلة عنها: PORT: لتحديد المنفذ الذي سيعمل عليه التطبيق. DATABASE_URL: لتخزين رابط قاعدة البيانات. API_KEY: لتخزين مفاتيح API لخدمات خارجية. NODE_ENV: لتحديد بيئة التشغيل (development, production). بعدها قم بالضغط على CREATE ليتم إنشاء تطبيقك.
  14. اختبار T هو اختبار يستخدم لمقارنة متوسطين لمعرفة إذا كان الفرق بينهما ذو دلالة إحصائية بالتأكيد هناك أنواع مختلفة منه، مثل اختبار العينات المستقلة (لمجموعتين مختلفتين) واختبار العينات المتزاوجة (لنفس المجموعة في أوقات مختلفة). أما ANOVA، أو تحليل التباين الأحادي، يستخدم لمقارنة متوسطات ثلاث مجموعات أو أكثر لتحديد ما إذا كان هناك فرق ذو دلالة إحصائية بينها. يمكن أن يكون ANOVA أحادي الاتجاه (لمتغير مستقل واحد) أو ثنائي الاتجاه (لمتغيرين مستقلين) أدعوك لقراءة هذه المقالة أين يستفيض كاتبها في شرح هذا المفهوم من هنا:
  15. عروض العطلة الصيفية في أكاديمية حسوب هي متاحة لجميع مشتركي أكاديمية حسوب، بحيث يمكن الحصول على دورتين بسعر دورة واحدة وعادة ما تكون في شهر جويلية وتستمر لغاية الفاتح من شهر سبتمبر، يمكنك التواصل أكثر مع الدعم وسيفيدونك بأي شيء في هذا الجانب من هنا: مركز الدعم لأكاديمية حسوب.
  16. بالطبع، يمكنك تعديل النظام ليسمح فقط لثلاثة أشخاص محددين بالدخول. وبخصوص قاعدة البيانات، نعم، ستضيف جدولا جديدا في نفس قاعدة البيانات الموجودة لديك.
  17. يمكن عمل ذلك، لكن في البداية نحتاج أولا إلى إنشاء جدول في قاعدة البيانات لتخزين معلومات المستخدمين بحيث يحتوي على معرّف فريد، اسم المستخدم وكلمة المرور المشفرة إضافة إلى صفحة تسجيل الدخول (login.php) وتحتوي على نموذج لإدخال اسم المستخدم وكلمة المرور وعند إرسال النموذج، يتم التحقق من صحة البيانات مقابل قاعدة البيانات فإذا كانت صحيحة، يتم إنشاء جلسة للمستخدم وتوجيهه إلى الصفحة المطلوبة. ولحماية الصفحات (admin.php، updata.php، Info.php)، نضيف كود التحقق من وجود جلسة مستخدم نشطة فإذا لم تكن موجودة، يتم إعادة توجيه المستخدم إلى صفحة تسجيل الدخول. وعند تسجيل الخروج نضيف صفحة لتسجيل الخروج تقوم بإنهاء الجلسة وإعادة توجيه المستخدم إلى صفحة تسجيل الدخول ولإضافة مستخدمين جدد نضيف نموذجا لإنشاء مستخدمين جدد، مع تشفير كلمة المرور قبل تخزينها في قاعدة البيانات. وهذه محاكاة لكيفية تطبيق ذلك، نضيف الكود التالي إلى ملف connect.php لإنشاء جدول المستخدمين: $sql = "CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL )"; $conn->query($sql); ثم ننشئ ملف login.php بهذا الشكل: <?php session_start(); require_once 'connect.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $username = $_POST['username']; $password = $_POST['password']; $stmt = $conn->prepare("SELECT id, username, password FROM users WHERE username = ?"); $stmt->bind_param("s", $username); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows == 1) { $user = $result->fetch_assoc(); if (password_verify($password, $user['password'])) { $_SESSION['user_id'] = $user['id']; $_SESSION['username'] = $user['username']; header("Location: admin.php"); exit(); } else { $error = "كلمة المرور غير صحيحة"; } } else { $error = "اسم المستخدم غير موجود"; } } ?> <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>تسجيل الدخول</title> </head> <body> <h2>تسجيل الدخول</h2> <?php if (isset($error)) echo "<p style='color: red;'>$error</p>"; ?> <form method="POST"> <label for="username">اسم المستخدم:</label> <input type="text" id="username" name="username" required><br> <label for="password">كلمة المرور:</label> <input type="password" id="password" name="password" required><br> <input type="submit" value="تسجيل الدخول"> </form> </body> </html> وللحماية، يجب تعديل كل من الملفات admin.php، updata.php، و Info.php بإضافة كود التحقق التالي في بداية كل ملف: <?php session_start(); if (!isset($_SESSION['user_id'])) { header("Location: login.php"); exit(); } ?> ونهاية الجلسة ستكون بهذا الشكل: <?php session_start(); session_destroy(); header("Location: login.php"); exit(); ?> وبهذه الطريقة، سيكون لدينا تسجيل دخول آمن مع تشفير لكلمات المرور باستخدام password_hash() ويتم التحقق من تسجيل الدخول في الصفحات المحمية، ويتم تخزين معلومات المستخدم في الجلسة بعد تسجيل الدخول بنجاح.
  18. مرحبا يوسف، بما أن استفسارك متعلق بتوقيت الامتحان، وكيية سيرورته، فأنصحك بالتواصل مع مركز المساعدة وسيقومون بحلّ مشكلتك بالشكل المناسب، أتمنى إرفاق أي استفسار متعلق بهذا الجانب مباشرة في مركز المساعدة وليس هنا في قسم أسئلة البرمجة العامة.
  19. أرجو توضيح طبيعة الخطأ الذي تواجهه، وفي حالة ما كان متعلقا بدرس ضمن الدورات فلاحظ أنك ستجد أسفل فيديو الدرس في نهاية الصفحة صندوقا للتعليقات، أرجو منك طرح الأسئلة المتعلقة بالدورات هناك.
  20. بما أنك تستخدم التقنيات التي ذكرتها، فإن أيّ قاعدة من قواعد البيانات التي ذكرتها يمكن استخدامها لكن تتداخل مسألة الخبرة هنا، لذا أنصح دائما بالبدء بتعلم MySQL، فهو خيار ممتاز للمبتدئين وللتطبيقات البسيطة وصولا لتلك المتوسطة الحجم، ونظرا لسهولة التعلم والاستخدام والأداء الجيد والتوافق الواسع يمكن بعد ذلك تجربة PostgreSQL، فهو مناسب للتطبيقات المعقدة التي تتطلب ميزات متقدمة مثل الحفاظ على سلامة البيانات على مستوى السجل والأمان القوي كما أن فيها ميزة قابلية التوسع. استخدام Sequelize كطبقة تجريد يوفر سهولة الاستخدام مع JavaScript، وإمكانية إعادة الاستخدام عبر قواعد البيانات المختلفة، وتوحيد واجهة برمجة التطبيقات (API). ستجد من هنا المزيد من المعلومات التي ستفيدك إن شاء الله:
  21. نعم، يمكنك تخطي مسار أنماط التصميم مؤقتا والانتقال إلى مسار أساسيات هندسة البرمجيات، ثم العودة إلى أنماط التصميم في وقت لاحق فليست هناك حاجة لإكمال مسار أنماط التصميم قبل البدء في مسار أساسيات هندسة البرمجيات أو احترام الترتيب، حيث يمكن دراسة كل منهما بشكل مستقل. لكن احرص على العودة إليه لاحقا، فهو من أهم المفاهيم البرمجية ويوجد ترابط مهم بين أنماط التصميم وهندسة البرمجيات لا يمكن الاستغناء عنهما.
  22. حفظ الدوال بشكل كامل ليس ضروريا إذا كنت تفهمين كيفية عملها وكيفية استخدامها بشكل صحيح فالأهم هو أن تكوني قادرة على معرفة متى وأين وكيفية استخدام الدالة في سياق معين فالفهم العميق لكيفية عمل الدوال يمكن أن يكون أكثر قيمة من الحفظ الصرف، أما بالنسبة لاستعمال غوغل في الاختبار فهو حتما أمر ممنوع ولا أنصح به.
  23. تعلم الأساسيات أولا يعد أمرا أساسيا ففهم الأساسيات في HTML وCSS يمثل خطوة أولى مهمة، لهذا ينبغي أن تمتلك فكرة واضحة عن كيفية كتابة هيكل صفحة الويب باستخدام HTML وكيفية تنسيقها باستخدام CSS ثم يمكنك البدء بالتعمق في المواضيع الأساسية مثل "أساسيات لغة HTML" و"العنصر الجذر في لغة HTML". ويعدّ التعلم من خلال المشاريع أحد أفضل الطرق لفهم دروس البرمجة بشكل أعمق وعند العمل على مشاريع حقيقية، ستتعلم كيفية استخدام العناصر التقسيمية، كيفية إدراج المحتوى النصي، التعامل مع الوسائط المتعددة، وبناء النماذج بطريقة تفاعلية وفعالة. يمكنك أيضا الاستفادة من الموسوعة أو المراجع الأخرى عندما تحتاج إلى مساعدة في فهم موضوع معين أو لتعلم شيء جديد في مشروعك، مثل إضافة وسائط متعددة أو تنفيذ سكربتات معينة والعودة إليها وقت الحاجة من هنا: لغة HTML .
  24. لتحقيق شرط عرض بيانات مختلفة بناء على اختيار المتقدم للجنس في حقل select، يمكنك اتباع خطوات بسيطة: أولا، أنشئ نموذج HTML يحتوي على حقل select يتيح للمستخدم اختيار الجنس وزر إرسال لإرسال البيانات إلى ملف بامتداد PHP. وعند إرسال النموذج، يتم استقبال البيانات فيه ومعالجتها؛ حيث يتم تعيين قيمة مختلفة لحقل معين بناء على اختيار الجنس كما تريد أنت (مثلا، 10 إذا كان الجنس "ذكر" و5 إذا كان الجنس "أنثى"). بعد ذلك، يتم إدخال هذه البيانات في قاعدة البيانات. أخيرا، ولعرض البيانات، يمكنك استرجاعها من قاعدة البيانات وعرضها في جدول HTML بحيث تظهر الجنس والقيمة المحددة لكل سجل، تعمدت عدم وضع الأكواد وشرح الخطوات لك لتجربها بنفسك، فالبرمجة تحتاج منا للممارسة والتجربة ويمكنك مشاركة أكوادك وشيفراتك وفي حالة ما واجهتك أي أخطاء، صعوبات أو مشاكل سنساعدك لحلها والمضي قدما.
  25. يجب أن تعرف أنه إذا ما تم زيارة الرابط من قبل، فسيظهر باللون البنفسجي لأن هذا هو اللون المحدد للحالة :visited وهذا السلوك طبيعي ومنطقي في CSS فإذا كنت تريد التأكد من رؤية اللون الأحمر، يمكنك مسح سجل المتصفح للتأكد من أن الرابط لم يتم زيارته من قبل. يمكنك القيام بذلك عن طريق الذهاب إلى إعدادات المتصفح ومسح سجل التصفح. أما في حالة ما إذا كنت ترغب في اختبار الألوان دون الحاجة إلى مسح السجل، يمكنك تغيير الرابط إلى رابط مختلف لم يتم زيارته من قبل، أو يمكنك تعديل الـ CSS لجعل لون الحالة العادية والحالة المزارة متشابهين للتأكد من أن الرابط يظهر باللون الذي تريده.
×
×
  • أضف...