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

ياسر مسكين

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

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

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

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

    3

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

  1. في هذه الحالة يمكنك للتحكم في عرض واختفاء الـ<select> الثاني بناء على التحديد الأول كما يمكنك تحديد الخيار الصحيح في الـ<select> الثاني بناء على القيمة المخزنة في قاعدة البيانات وهذا من خلال استخدام كود جافا سكريبت كما موضح هنا: <!-- الـselect الأول --> <select name="Cn" id="Cn" onchange="showSelect(this)"> <option value="">الجننس</option> <option value="انثى" <?php echo ($row['Cn'] == 'انثى') ? 'selected' : ''; ?>>انثى</option> <option value="ذكر" <?php echo ($row['Cn'] == 'ذكر') ? 'selected' : ''; ?>>ذكر</option> </select> <!-- الـselect الثاني --> <select id="na" name="nah" style="display: <?php echo ($row['Cn'] == 'انثى') ? 'block' : 'none'; ?>;" value="<?php echo $row['nah']; ?>"> <option value="">نوع المركز</option> <option value="المركز الاول" <?php echo ($row['nah'] == 'المركز الاول') ? 'selected' : ''; ?>>المركز الاول</option> <option value="المركز الثاني" <?php echo ($row['nah'] == 'المركز الثاني') ? 'selected' : ''; ?>>المركز الثاني</option> </select> <!-- JavaScript للتحكم في العرض --> <script> function showSelect(selectElement) { var naSelect = document.getElementById('na'); if (selectElement.value === 'انثى') { naSelect.style.display = 'block'; } else { naSelect.style.display = 'none'; } } </script> فهنا عند تغيير القيمة في الـ<select> الأول (Cn)، يقوم التابع showSelect بالتحقق مما إذا كان الخيار المحدد هو "انثى" فإذا كان كذلك يتم عرض الـ<select> الثاني (na) أما إذا لم يكن كذلك، يتم إخفاؤه. كما يتم تعيين display للـ<select> الثاني استنادا إلى القيمة المخزنة في قاعدة البيانات عند تحميل الصفحة، بحيث إذا كانت القيمة المخزنة هي "انثى"، يتم عرض الـ<select> الثاني بشكل افتراضي.
  2. لاحظ أنك ستجد أسفل فيديو كل درس في نهاية الصفحة صندوقا للتعليقات، أرجو منك طرح الأسئلة المتعلقة بالدورات هناك وليس هنا في قسم الأسئلة البرمجية،وهذا لنساعدك بالشكل المناسب.
  3. لاحظ أنك ستجد أسفل فيديو كل درس في نهاية الصفحة صندوقا للتعليقات، أرجو منك طرح الأسئلة المتعلقة بالدورات هناك وليس هنا في قسم الأسئلة البرمجية،وهذا لنساعدك بالشكل المناسب.
  4. الأمر في الحقيقة يختلف من شخص إلى آخر، وكلّ على حسب ظروفه فإذا كنت ترى نفسك قادرا على تخصيص وقت من 3 إلى 5 ساعات يوميا للتعلمّ فهذا أمر جيد، بالنسبة لطريقة دراسة الدورات فتختلف أيضا، والأهم هو الاستمرارية، الصبر، وتطبيق المفاهيم التي تكتسبها مع المدربين، ثم عمل المشاريع بنفسك دون الرجوع إلى الدروس، كما أن العديد من النصائح والطرق ستجدها موضحة بشكل جيد من قبل العديد من المدربين خلال سياق النقاش حول هذه الأسئلة أدناه، يمكنك الاطلاع عليها وتصفحها واكتساب الخبرات التي تم مناقشتها سابقا:
  5. لاحظ أنك ستجد أسفل فيديو كل درس في نهاية الصفحة صندوقا للتعليقات، هناك يمكنك وضع تعليقك أو إرفاق أي صور للأخطاء أو مجلدات لديك كما الصورة:
  6. لاحظ أنك ستجد أسفل فيديو كل درس في نهاية الصفحة صندوقا للتعليقات، أرجو منك طرح الأسئلة المتعلقة بالدورات هناك وليس هنا في قسم الأسئلة البرمجية،وهذا لنساعدك بالشكل المناسب.
  7. توجد العديد من الإضافات والامتدادات التي يمكن تثبيتها ولكني أنصح بتثبيت الأشهر منها ومع مرور الوقت ستكتشف إضافات أخرى مفيدة، يمكنك الاطلاع على أشهرها من خلال هذا الرابط: توجد العديد منها مثلا نذكر: HTML CSS Support: لتحسين تجربة كتابة HTML وCSS عبر اقتراحات وAutocomplete. CSS Peek: لرؤية تعريفات CSS مباشرة من HTML. Live Server: لتشغيل خادم محلي وعرض تغييرات HTML/CSS/JS مباشرة. JavaScript (ES6) code snippets: لتحسين إنتاجية كتابة كود JavaScript. ESLint: لضمان التزام كود JavaScript بمعايير الكتابة من خلال الفحص التلقائي. PHP Intelephense: لتوفير تكامل كامل مع PHP بما في ذلك التلميحات، والأخطاء، والتحذيرات. PHP Server: لتشغيل خادم PHP محلي لمعاينة صفحات PHP. PHP Debug: لتصحيح أخطاء PHP باستخدام Xdebug. Prettier - Code formatter: لتنسيق الكود بشكل تلقائي. Bracket Pair Colorizer: لتمييز الأقواس المتطابقة بألوان مختلفة. Path Intellisense: لاقتراح المسارات أثناء كتابة الكود. كما يمكنك تثبيتها من خلال الذهاب إلى أيقونة Extensions على الجانب الأيسر من VS Code (أو بالضغط على Ctrl + Shift + X) ثم البحث عن الإضافة التي تحتاجها في شريط البحث وبعدها الضغط على Install لتثبيتها. يمكنك استخدام امتداد Live Server لتشغيل الخادم المحلي ومعاينة HTML وCSS وJavaScript. لكن إذا كان لديك PHP، فاستخدم PHP Server أو XAMPP لتشغيل خادم PHP من خلال وضع مشروعك في مجلد htdocs لتتمكن من تشغيله عبر localhost.
  8. يمكنك معرفة لمحة عن محتوى الدورة من خلال هذا الرابط هنا: دورة جافا سكريبت. بالطبع يوجد شروحات من الألف إلى الياء بخصوص التسجيل، إنشاء الحساب، باستخدام NodeJs ضمن مسار مخصص به، يمكنك تصفح هذه المقالة التي توضح محتويات دراسة هذا المجال وتطوير الويب باستخدام جافا سكريبت.
  9. توقيت إنهاء الدورة يختلف من شخص إلى آخر، فهنالك من ينهيها مبكرا، وهنالك من يستغرق منه الأمر بعض الوقت، لكن الأهم هو أن يتم دراسة محتوى الدورة وليس تجاوزه، أي أن تحاول الفهم قدر المستطاع صحيح قد تواجه بعض التحديات في البداية لكن هذا الأمر طبيعي، وكلما كنت تطبّق المفاهيم التي تدرسها ستجد نفسك تتقدّم شيئا فشيئا نحو الانتهاء من الدورة وأنت مستفيد من محتواها. موعد المشروع النهائي والعديد من الاستفسارات حوله يمكنك تصفح هذه المصادر: أو يمكنك تصفح هذه المقالة الغنية عن التعريف: https://support.academy.hsoub.com/exams. أو مراسلة مركز مساعدة أكاديمية حسوب للاستفسار عن كل صغيرة وكبيرة حول الاختبار.
  10. ستجد في أسفل فيديو الدرس في الأسفل تماما صندوق تعليقات مخصص لطرح الأسئلة المتعلقة بالدورات، أرجو طرح الأسئلة هناك وليس هنا في قسم الأسئلة البرمجية حيث نطرح هنا فقط الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بالشكل المناسب.
  11. لاحظ أنك ستجد أسفل فيديو كل درس في نهاية الصفحة صندوقا للتعليقات، أرجو منك طرح الأسئلة المتعلقة بالدورات هناك وليس هنا في قسم الأسئلة البرمجية،وهذا لنساعدك بالشكل المناسب.
  12. لاحظ أنك ستجد أسفل فيديو كل درس في نهاية الصفحة صندوقا للتعليقات، أرجو منك طرح الأسئلة المتعلقة بالدورات هناك وليس هنا في قسم الأسئلة البرمجية،وهذا لنساعدك بالشكل المناسب.
  13. يمرّ المبرمج بعدة مراحل وخطوات أساسية للوصول إلى برمجة نفس التصميم الموجود في Adobe Xd، بداية بتصدير الأصول كالصور، الأيقونات، والخطوط المستخدمة في التصميم ويمكنه كذلك تصدير الأصول كصور PNG أو SVG أو استخدام ميزات CSS و HTML المدمجة في XD للحصول على بعض العناصر القابلة للاستخدام مباشرة. ثم إنشاء هيكل المشروع من خلال إنشاء مشروع جديد باستخدام الأدوات المناسبة فإذا كان يعمل على موقع ويب مثلا، يمكنه البدء بإنشاء ملفات HTML و CSS و JavaScript وهكذا. أما لو كنت تستخدم Figma فيمكنك الاستفادة من ميزة Dev Mode وإضافة Figma for VS Code يمكنك الاطلاع أكثر من هنا:
  14. ستجد في أسفل فيديو الدرس في الأسفل تماما صندوق تعليقات مخصص لطرح الأسئلة المتعلقة بالدورات، أرجو طرح الأسئلة هناك وليس هنا في قسم الأسئلة البرمجية حيث نطرح هنا فقط الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بالشكل المناسب.
  15. بداية htmx هو إطار عمل واعد يقدم طريقة جديدة ومبتكرة لإنشاء تطبيقات ويب ديناميكية، من مميزاته أنه يركز على تبسيط عملية تحديث DOM، مما يجعله خيارا جذابا للمطورين الذين يرغبون في تجنب تعقيدات JavaScript التقليدية ولكنه ليس بالإطار الذي يمكن أن يستبدل أو يعوض أطر عمل كرياكت أو أطر عمل جافا سكريبت المختلفة. فمن ناحية تحليلية يمكن أن نعدّ هذه النقاط: يوفر htmx طريقة سهلة لإنشاء تطبيقات ويب ديناميكية دون الحاجة إلى كتابة الكثير من JavaScript لكن حتى مع استخدام htmx، ستحتاج إلى فهم أسس JavaScript و HTML و CSS. فـ htmx هو أداة تساعدك على بناء التطبيقات بشكل أسرع وأسهل، لكنه لا يغني عن فهمك للويب. من ناحية التركيز على HTML فإن htmx هو خيار ممتاز ويقدم أداء جيدا مقارنة بالعديد من الإطارات الأخرى لكن ومقارنة بالإطارات الشائعة مثل React و Vue، فإن نظام htmx البيئي أصغر، مما يعني أنك قد تجد موارد أقل لمساعدتك في حل المشكلات وقد لا يكون كافيا لتطبيقات معقدة خاصة إذا كنت تخطط لإنشاء تطبيقات ويب كبيرة ومعقدة، فقد تحتاج إلى استخدام إطار عمل أكثر قوة. فبما أنك ترغب في التخصص في الباك إند فأنصحك بالتركيز على تعلم لغة برمجة قوية مثل Node.js، بالإضافة إلى قاعدة بيانات مثل PostgreSQL أو MongoDB كما أن فهم مفاهيم مثل الأمان والتصميم المعماري للتطبيقات سيكون مفيدا للغاية لتحصيل هذا المسار.
  16. ستجد في أسفل فيديو الدرس في الأسفل تماما صندوق تعليقات مخصص لطرح الأسئلة المتعلقة بالدورات، أرجو طرح الأسئلة هناك وليس هنا في قسم الأسئلة البرمجية حيث نطرح هنا فقط الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بالشكل المناسب.
  17. بصراحة مجال البرمجة من المجالات التي على الأغلب يكون الحافز القوي للاستمرار فيها هو حبّ التعلم والرغبة في البرمجة، وليس الحصول على عمل، فأغلب من يفكّر في الحصول على العمل والحصول على الأموال لا يُكمل المسار ولا يصل لتحقيق مبتغاه. لذا نصيحتي هي أن تركز على التعلم، والوظيفة والراتب المرتفع سيكون تحصيل حاصل بالنسبة لك بإذن الله في حال كان تعلمك ممتازا وصرت خبيرا في مجال محدّد إضافة إلى الشهادة الجامعية. لا أقول لك أنّ من يفكر في الحصول على عمل هو مخطئ، بالعكس قد يكون ذلك حافزا للبدء لكن المشكل كلها في الاستمرارية فيما بعد. أكاديمية حسوب توفّر العديد من الدورات ولها آلية معينة في تقديم الشهادات بعد تحصيل الطالب لما تعلّمه ويتم اختباره في مكالمة صوتية لاختبار ما تعلّمه، وبعد الحصول على الشهادة سيتم التكفل به من خلال تهيئة البروفيل الخاص به ونبذته التعريفية ويتم تكوينه كي يستطيع التقدّم للعمل ضمن شركات مرموقة. فبما أنك قد أنهيت السنة الثانية من تعليمك، فمن المؤكد أنك قد أخذت المفاهيم الأساسية للبرمجة والآن يمكنك اختيار أيّ مجال يعتبر حلما لك أو هدفا ترغب في الوصول إليه: الذكاء الصناعي تطوير التطبيقات باستخدام بايثون تطوير التطبيقات باستخدام جافا سكريبت تطوير واجهات المستخدم. كل هاته الدورات تعتبر مجالات واسعة ومتعمقة في حدّ ذاتها، لذا فعلى المبرمج أن يختار مجالا يمكن أن يبدع فيه ويتخصّص فيه، فالمستقبل اليوم للتخصص، التشتت الذي تواجهه، مررنا به في السابق، الأمر لا يحتاج الكثير من اللفّ والدوران بقدر ما يحتاج القليل من المنطق، فيمكنك التفكير في الوظائف التي يمكنك العمل بها من خلال هذه المجالات، والأكيد أنّ لكلّ فرد منّا حلما أو وظيفة هي الأقرب إلى قلبه. أما إن كنت تنظر إلى المجالات المطلوبة كثيرا، فكلها اليوم تعتبر مجالات مهمة، لكن يمكنك اختيار مجال تتخصص فيه، ثم لاحقا يمكنك التوسع نحو مجالات أخرى، فاليوم توجد تطبيقات ويب وموبايل يتم دمج الذكاء الاصطناعي فيها، ويتم الاستعانة بمطوري واجهات المستخدم للتصميم وتجربة المستخدم والعديد من الأمور. لذا فاختيار الدورة المناسبة ليس بالأمر الصعب، فقط فكر في الوظيفة التي ترغب في تقلّدها، ثم انطلق نحو رحلة التعلم. كما أنّ اختيار أي دورة وشراءها، سيتيح لك الوصول إلى المسارات الأولى من كل الدورات الموجودة في الأكاديمية، ويمكنك الاستفسار أكثر من خلال التواصل مع مركز المساعدة لأكاديمية حسوب.
  18. حاليا، هذا الأمر لا يوجد على الأكاديمية، لكن توجد عدة بدائل يمكن أن تفيدك للتحصيل الجيد أثناء متابعة الدورات، ففضلا عن المحتوى المرئي والمشاريع والمستودعات الخاصة بالمشاريع فستجد ثلة من المدربين المتاحين في أغلب الأوقات، سيرافقونك في أي مشكلة تواجهها في أي درس استصعب عليك فهمه. كما يمكنك الاستفادة من محتوى موسوعة حسوب التي تعجّ بالدروس والشروحات التفصيلية من هنا: موسوعة حسوب. كما توجد قناة أكاديمية حسوب على اليوتيوب أين يتم وضع فيها سلاسل من الشروحات ويتم تحديثها دوريا أيضا، من هنا: قناة الأكاديمية على اليوتيوب.
  19. أرجو إرفاق ملف ال index.html الخاص بك لتصفحه، للتأكد من كيفية كتابتك للرابط فعادة ما يكون هذا الخطأ ناجما عن خطأ إملائي.
  20. رسالة الخطأ تشير إلى فشل في إنشاء ملف keystore في المسار المحدد التالي: "/storage/emulated/0/AppProjects/release_key.jks" لذا فالمشكلة يبدو أنها تكمن في المسار، بدلا من استخدام المسار الافتراضي، جرب تحديد مسار مختلف يكون أكثر قابلية للوصول، مثل مجلد التنزيلات يمكن ذلك من خلال الذهاب إلى شاشة "Create keystore" والتعديل على حقل "Keystore file:" مثلا: "/storage/emulated/0/Download/my_keystore.jks" ثم أكمل بقية المعلومات المطلوبة كما هو موضح في الصورة وانقر على زر "CREATE KEYSTORE" مرة أخرى. هذا التغيير في المسار قد يحل المشكلة لأنه يستخدم مجلد (التنزيلات) وعادة ما يكون متاحا للتطبيقات للكتابة فيه كما يتجنب أي قيود محتملة على الكتابة في مجلد المشروع الأصلي. إذا نجحت هذه الطريقة، يمكنك استخدام ملف keystore الجديد لتوقيع تطبيقك وإعداده للنشر أما إذا استمرت المشكلة حتى بعد تغيير المسار، فقد تكون هناك حاجة لمراجعة إعدادات الأمان على جهازك أو استخدام جهاز كمبيوتر لإنشاء ملف keystore ونقله إلى هاتفك.
  21. عمل ممتاز، لكن من المحتمل أن يواجه الكود بعض التحديات في البداية، حيث إن عمليات التشغيل التلقائي للمواقع تتطلب خبرة وفهما عميقا لكيفية تفاعل المواقع مع المستخدمين فبرمجة بوت يقوم بعمليات شراء تلقائية من مواقع الويب تتطلب معرفة تقنية عميقة وتفاصيل دقيقة لذلك، ينصح بأن تبدأ بتجربة الكود كبرنامج مستقل قبل أن تضيفه إلى بوت تلغرام. يمكنك الاطلاع أكثر من هنا:
  22. لتفادي هذا الأمر يجب استخدام خادم بريد موثوق به بحيث يكون معدّا بشكل صحيح وأفضل الطرق من خلال إعداد سجلات 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 لتقييم رسائل البريد الإلكتروني الخاصة بك ومعرفة الأسباب التي قد تؤدي إلى تصنيفها كبريد غير مرغوب فيه.
  23. بناء على الشيفرة خاصتك، ففي ملف 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، أرجو تصحيح الأخطاء التالية مع إرفاق صورة للخطأ الذي تواجهه في حالة استمرار المشكلة.
  24. وعليكم السلام، بعد الانتهاء من الدورة بطبيعة الحال، يمكنك أن تبحث عن عمل من خلال مواقع العمل الحر المختلفة مثل مستقل وخمسات، يمكنك بناء سيرة ذاتية قوية كما يمكنك الحصول على كما ستحصل على شهادة مقدمة من الأكاديمية تفيد بأنك أتممت الدورة وأنهيت كل مشاريعها، بالإضافة إلى وصول مدى الحياة لمحتوى الدورة حتى بعد عمل مختلف التحديثات، لكن للحصول عليها سيتوجب عليك التواصل مع مركز مساعدة حسوب لحجز موعد للاختبار وبعد اجتيازك له ونجاحك فيه يمكنك الحصول على الشهادة وستحصل أيضا على إرشادات من مختصين في كيفية تجهيز سيرة ذاتية CV وبناء صفحتك الشخصية على مختلف مواقع العمل الحر.
  25. نعم فال Feature Extraction يعتبر من أهم الأجزاء في بناء نماذج تعلم الآلة،كونه يحسّن أداء النموذج فعبر اختيار الميزات المناسبة يمكن أن يزيد من دقة النموذج وكفاءته كما أنه يقلل من تعقيد النموذج باختيار الميزات الأكثر أهمية فيمكن تقليل أبعاد البيانات وتبسيط النموذج. كما أنه يساعد في فهم البيانات فلو تبحث قليلا ستجد أنه يوفر نظرة ثاقبة حول العوامل الأكثر تأثيرا في المشكلة بحذ ذاتها وفيما يتعلق بكون استخراج الميزات إبداعا وتفكيرا خارج الصندوق، فهذا صحيح إلى حد كبير لكونه يتطلب فهما عميقا للمشكلة والبيانات التي يعمل عليها، فغالبا ما يحتاج إلى تجربة أفكار جديدة ومبتكرة لتمثيل البيانات ويمكن أن يشمل دمج معرفة المجال مع تقنيات تحليل البيانات. كما أنه ليس الوحيد فهناك أيضا تقنيات آلية لاستخراج الميزات، مثل تحليل المكونات الرئيسية (PCA) والشبكات العصبية العميقة، والتي يمكن أن تكون فعالة في بعض الحالات.
×
×
  • أضف...