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

Mustafa Suleiman

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

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

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

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

    303

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

  1. يجب التوضيح أن Bootstrap هو إطار عمل (Framework) لتصميم المواقع والتطبيقات الويب، أي يوفر مجموعة واسعة من الأدوات والمكونات التي تساعد في بناء وتنظيم الهيكلة الأساسية للموقع، ويحتوي على نظام الشبكة (Grid system) الذي يساعد في توزيع العناصر على الصفحة بشكل مرن ومتجاوب. وبالنسبة للأوامر المحددة مثل تغيير الهوامش والحواف والبادينج، فإن Bootstrap يوفر مجموعة من الفئات (Classes) التي يمكنك استخدامها لتحقيق التأثيرات المرغوبة، ومنها فئات البادينج (Padding classes) لإضافة الهوامش والبادينج بأحجام مختلفة، بما في ذلك القيم الكبيرة التي ذكرتها كالتالي: p-1 (لإضافة بادينج صغير) p-2 (لإضافة بادينج متوسط) p-3 (لإضافة بادينج كبير) p-4 (لإضافة بادينج أكبر) p-5 (أكبر بايدينج متوفر بقياس 3rem) بالإضافة إلى البادينج، Bootstrap يوفر أيضًا الفئات المماثلة لتطبيق تأثيرات الهوامش (Margins) على العناصر، وتستطيع استخدام الفئات المناسبة وتطبيقها على العنصر الذي تريد تعديل هوامشه أو الإزاحة. وفي حال أردت استخدام قيمة أكبر من p-5 من الأسهل استخدام كلاس مخصص لذلك وتنسيقه من خلال ملف CSS في مشروعك أي كالتالي: .custom-space { padding: 5rem; /* قيمة إزاحة كبيرة */ } وعند التوجه لصفحة الإزاحات spacing في المستند الرسمي لـ Bootstrap ستجد أنه يخبرك بالتالي: (You can add more sizes by adding entries to the $spacers Sass map variable.) ومعناه إمكانية إضافة مقاسات إضافية للبادينج (Padding) عن طريق إضافة إدخالات إلى متغير خريطة "Sass map" المسمى "$spacers". وقد وضح لك عمر كيفية فعل ذلك. وهناك العديد من الكلاسات والمكونات الجاهزة لتخصيص موقعك بواسطة Bootstrap ومن الأفضل تعلم الإطار، وأيضًا التعرف على الكلاسات المتاحة من خلال المستند الرسمي ولكنه باللغة الإنجليزية ويوجد شرح باللغة العربية لـ Bootstrap 4.5 في موسوعة حسوب. وأيضًا يوجد دروس ومقالات في أكاديمية حسوب عن إطار عمل Bootstrap ومنها:
  2. صحيح، تعني أنه يجب عليك تقديم نسخة جديدة من التطبيق تحتوي على أول عملية شراء داخل التطبيق، وإذا قمت بتفعيل Apple Pay أو أي نظام آخر للدفع داخل التطبيق، يتعين عليك إنشاء عملية الشراء داخل التطبيق الأولى وتحديدها في قسم "In-App Purchases and Subscriptions" على صفحة النسخة قبل تقديمها لفريق مراجعة التطبيقات في آبل. وبمجرد تحميل الملف الثنائي للتطبيق وتقديم عملية الشراء الأولى للمراجعة، تستطيع تقديم مزيد من عمليات الشراء داخل التطبيق من قسم "In-App Purchases" في الواجهة.
  3. الدورة ليس لها علاقة بالألعاب، إلا أنه يتم لغة سكراتش من خلال تطوير الألعاب من أجل جعل عملية التعلم ممتعة في البداية وتشجيعك على تعلم المزيد من أجل إنشاء لعبة أفضل. حيث أنك ستقوم بتعلم كيفية كتابة الخوارزمية ثم إنشاء مخطط التدفق والشفرة الزائفة، أي تعلم التفكير المنطقي قبل أن تتعلم كتابة الكود وهي المهارة الأهم، ثم التطبيق في النهاية من خلال إنشاء اللعبة على سكراتش، ولاحظ أننا لم نقم بإنشاء اللعبة مباشرًة وتلك هي الطريقة الصحيحة في تنفيذ المشاريع، عليك بالتفكير أولاً وتحديد الطريقة المناسبة ثم كتابة الكود هي أخر خطوة. وبعد ذلك ستتعلم أساسيات البرمجة من خلال جافاسكريبت وبايثون، ثم ستتعلم قواعد البيانات والبرمجة الكائنية وأمور أخرى أيضًا في علوم الحاسب. وأنصحك بالإطلاع على النقاش التالي:
  4. التنسيق الوحيد لعنصر header الذي يفرضه user agent stylesheet أي التنسيقات الإفتراضية من قبل محرك المتصفح هو التالي: header { display: block; } لكون العنصر من نوع block. وتستطيع معرفة ذلك من خلال تفقد العنصر من خلال أدوات المطور كالتالي:
  5. الأمر ليس كما تظنه مطلقًا حاليًا، فلا تقارن نفسك في بداية تعلم البرمجة بالذكاء الاصطناعي فسيتفوق عليك بالتأكيد، لكن قارن نفسك بعد الإنتهاء من المسار البرمجي الخاص بك وتنفيذ عدة مشاريع بمفردك لا مجرد محاكاة المدرب فقط بل عليك التنفيذ بمفردك مرة أخرى لكي تتعلم من أخطائك وتكتسب ثقة القدرة على إنشاء المشاريع ويتم تثبيت المعلومات التي اكتسبتها. ولا تخف من تجربة إنشاء مشروع مختلف بمفردك، حتى لو تكن تعلم كل شيء في بداية التنفيذ فمع البحث والتفكير وتقسيم المشكلة إلى أجزاء صغيرة سيتم تنفيذ المطلوب طالما أنك تعلم 70% من المعرفة اللازمة لتنفيذ المشروع، ولا تشغل بالك بجودة الكود في البداية المهم هو تنفيذ المطلوب فقط ثم الإهتمام بالجودة، أي تعلم الطريقة الصحيحة لكن لا تشغل بالك بتطبيقها في البداية. وركز على الأساسيات وبالأخص لغة البرمجة الأولى لك تعلم كيف يعمل الكود في الخلفية وكيف يتم قرائته وترجمته وطبيعة المحرك الخاص باللغة والأمر ليس بذلك التعقيد كما تتخيل. وبعد ذلك سترى الأمر على حقيقته، وهو أن الذكاء الاصطناعي غير قادر على تنفيذ مشاريع بل هو مجرد أداة مساعدة لك يتوقف حجم قدرته على معرفتك أنت وقدرتك على توجيهه وتصحيح الأخطاء له. وأرجو منك قراءة النقاش التالي فهو هام جدًا في بدايات تعلمك للبرمجة وإعتماد البعض على الذكاء الاصطناعي للتعلم ونسخ الأكواد منه:
  6. بالطبع هناك إختلاف، فكلية الذكاء الاصطناعي في كفر الشيخ كلية متخصصة وستقوم من البداية بدراسة المناهج التأهيلية الخاصة بمجال الذكاء الاصطناعي ثم التخصص في مجال الذكاء الاصطناعي وذلك على مدار 4 سنوات وهي فترة الجامعة. أما في حاسبات ومعلومات فستقوم بالتخصص في مجال الذكاء الاصطناعي من السنة الثالثة، وبالتالي لن تتعمق بشكل كبير في ذلك المجال. حيث أنك في كلية الذكاء الاصطناعي ستقوم بالتخصص في مجالات الذكاء الاصطناعي المختلفة والدراسة بشكل معمق ومتخصص أكثر خلال الـ 4 سنوات وليس سنتين فقط. وستجد أن هناك 4 أقسام في كلية الذكاء الاصطناعي وهم: الروبوتات والآلات الذكية – Robotics & Intelligent Machines تعلم الآلة واسترجاع المعلومات – Machine Learning & Information Retrieval تكنولوجيا أنظمة الشبكات المدمجة – Embedded Network Systems علوم البيانات – Data Science
  7. كلاهما مفاهيم مختلف، فقواعد البيانات عني مجموعة من البيانات المنظمة والمخزنة بطريقة مرتبة ومرتبطة. وتهدف إلى تخزين وإدارة البيانات بطريقة فعالة ومنظمة لتمكين استرجاع البيانات وتحليلها بشكل سهل وسريع، وتستخدم قواعد البيانات نظم إدارة قواعد البيانات (DBMS) للتحكم في البيانات والاستفادة منها. ونعتمد عليها في تطبيقات مختلفة مثل أنظمة إدارة المحتوى (CMS) وأنظمة إدارة علاقات العملاء (CRM) وأنظمة إدارة المستودعات (ERP) وغيرها. أما هياكل البيانات (Data Structures) تعني طرق تنظيم وتخزين البيانات في الذاكرة الحاسوبية. وتهدف إلى تحسين كفاءة الوصول والتلاعب بالبيانات وتوفير وقت الاستجابة واستخدام المساحة بشكل فعال، و تشمل مجموعة متنوعة من التراكيب مثل القوائم المرتبة والأشجار والمجموعات والمصفوفات والجداول وغيرها. ونستخدم هياكل البيانات في برمجة الحواسيب لتنظيم البيانات وتحقيق أداء فعال للخوارزميات والعمليات المختلفة.
  8. PSأنت لم تحدد الميزانية الخاصة بك، وأيضًأ لم تحدد ما هي المنصة الخاصة بموقعك هل هي ووردبربس أم برمجة خاصة؟ علي أي حال أمامك عدة خيارات، الأول هو والذي أفضله هو شراء VPS (سيرفر بمواصفات مرتفعة وبنظام ويندوز أو لينكس) من مزود خدمة مثل Linode وDigital ocean لكن ستحتاج إلى ضبط إعدادات السيرفر ودراية بكيفية التعامل مع الـ vps، أو تستطيع تعيين تلك المهمة للمبرمج الذي قام بتنفيذ المنصة التعليمية لك، وهناك خدمة ستجدها باسم Managed وتعني إدارة السيرفر الخاص بك من قبل فريق الدعم الفني. والأسهل هو الإشتراك في خدمة استضافة سحابية مثل cloudways والتي توفر لك إدارة كاملة للسيرفر الخاص بك سواء من خلال digital ocean أو AWS أو Google cloud. أما إذا كنت الميزانية منخفضة وتريد التجربة في البداية، فتستطيع الإعتماد على الاستضافات المشتركة shared hosting وأرشح لك fastcomet أو verpex ولديك أيضًا chemicloud. وكنصيحة تستطيع تفقد موقع hostadvice.com وستجد ترشيحات جيدة للإستضافات بأنواعها المختلفة وبناءًا على تقييمات عملاء سابقين.
  9. الغرض منه هو توفير الكود النهائي للمشروع بعد التعديلات والتحسينات النهائية، بحيث تتمكن من الرجوع إليه في حال أردت مقارنة الكود الخاص بك بالكود النهائي للمشروع. ففي بعض الأحيان ستواجه مشكلة معينة في مشروعك، ووقتها تستطيع الرجوع إلى مستودع المشروع وتفقد هل الإعدادات لديك صحيحة؟ هل الكود مماثل أو يؤدي نفس الغرض المطلوب تنفيذه؟ هل لدي خطأ في كتابة المسارات أو وضعت كود بالمكان الخطأ؟ وأيضًا هل إصدارات الحزم لديك مطابقة للتي في المستودع من أجل تجنب مشاكل تعارض في الإصدارات او تغير في طريقة الاستخدام مع تغير الإصدارات، وتستطيع نسخ إصدارات الحزم وتثبيتها في مشروعك. وفي بعض الأحيان ستحتاج إلى نسخ كود في حال لم تريد إعادة كتابة جزء معين من المشروع، أو في حال فقدت ملفات المشروع الخاص بك، فتستطيع نسخ الجزء الذي فقدته واستكمال الدورة. لكن بالطبع ذلك لا يعني أن تقوم بنسخ المشروع ولا تقوم بفهم الكود إعادة تنفيذ المشروع بمفردك مرة أخرى، حيث سيتم سؤالك عن كيفية تنفيذك للمشروع ومدى استيعابك للكود.
  10. سأوضح لك الخطوات اللازمة لذلك، وتستطيعي محاولة تنفيذ المطلوب وعرض الكود في حال واجهتك مشكلة. أولاً عليك إنشاء صفحة تسجيل الدخول (login.php) التي تحتوي على نموذج لإدخال اسم المستخدم وكلمة المرور. ثم بعد تقديم النموذج، قومي بالتحقق من صحة بيانات تسجيل الدخول في ملف PHP الخاص بمعالجة النموذج (process_login.php) باستخدام استعلام SQL للتحقق من وجود اسم المستخدم وكلمة المرور المقدمة في جدول المستخدمين. وإذا تم التحقق من صحة بيانات تسجيل الدخول بنجاح، عليك بجلب نوع المستخدم المتناسب من قاعدة البيانات باستخدام استعلام SQL وإنشاء جداول منفصلة لكل فئة من المستخدمين (أطباء، ممرضين، مرضى) وتخزين بياناتهم فيها. استنادًا إلى نوع المستخدم، تستطيعي توجيه المستخدم إلى صفحة مخصصة لكل فئة بالإعتماد على الدالة header() في PHP لإعادة توجيه المستخدم إلى الصفحة المطلوبة، على ومثلاً إذا كان المستخدم طبيبًا، فبإمكانك توجيهه إلى صفحة الأطباء (doctors.php). وفي صفحات الأطباء والممرضين والمرضى، يتم عرض البيانات المناسبة من قاعدة البيانات باستخدام استعلامات SQL المناسبة وجلب البيانات وعرضها في الصفحة وفقًا لتصميمك.
  11. في الوقت الحالي، دورات أكاديمية حسوب مدفوعة وهي غير مجانية لكون الدورة تم إعدادها بعناية واستغرقت الكثير من الوقت من قبل فريق عمل لإخراجها بجودة تستحق وتليق بمشتركي أكاديمية حسوب من خلال 416 فيديو لشرح أساسيات بايثون والتطبيق عليها ثم إطار العمل جانغو Django وFlask وتطوير تطبيقات أودو Odoo وأيضًا تحليل البيانات وأساسيات تعلم الآلة Machine Learning. في بعض الأوقات يوجد خصومات في المناسبات مثل شهر رمضان والجمعة البيضاء، وكوبونات في أوقات متفرقة من العام، تستطيع سؤال مركز المساعدة عن وجود خصومات حاليًا أم لا. وبخصوص لغة بايثون هناك دروس ومقالات في موسوعة حسوب وأكاديمية حسوب وأيضًا كتابة لتعلم بايثون: دروس بايثون في أكاديمية حسوب شرح لغة بايثون Python في موسوعة حسوب
  12. لا مشكلة في ذلك، وفي العمل يتعين عليك استخدام كل الأدوات التي من شأنها تسريع وتيرة عملك وتحقيق إنتاجية أفضل وتوفير الوقت للجزء المعقد من المشروع، بينما المهام المتكررة أو السهلة نستخدم أدوات مساعدة لتنفيذها، وإن لم تقم باستخدامها ستجد أن زملائك أفضل إنتاجية منك ومن الممكن أن يتم استبدالك. لكن في حال أنك ما زلت تتعلم البرمجة، فذلك من ِشأنه أن يضرك وتظن أنه يفيدك، عليك بكتابة الكود بيديك والتفكير طويلاً عن حلول والبحث واكتشاف المصادر والقراءة من هنا وهنا وتجميع آراء مختلفة، حتى لو كان الكود الخاص بك سيء لكنه يعمل وهو المطلوب في البداية لتكوين مهارة التفكير المنطقي لديك والقدرة على استخدام معرفتك البرمجية في حل المشاكل وتنفيذ المشاريع. ولكن باستخدام أدوات الذكاء الاصطناعي في بداية تعلمك، فاسمح لي بقول أنك ستصبح Code monkey حتى لو كنت تفهم الكود فأنت لم تفكر في حل المشكلة بل سيتم تدريب عقلك على الإتجاه مباشرًة للبحث عن حل جاهز ونسخه دون التمعن فيه كثيرًا بل قراءة الشرح ونسخ الكود فقط. عليك بترك ذلك كأخر ملاذ لك، والتفكير أولاً في حل للمشكلة وتقسيمها لأجزاء صغيرة ثم محاولة التطبيق، ثم البحث عن كيفية تنفيذ أمر أو حل لمشكلة ما، وهكذا لحين أن تصل لحل. وبعد أن تتمكن من تعلم البرمجة والتطبيق على أكثر من مشروع وإنهاء المسار البرمجي Roadmap للمجال الذي اخترته، هنا تستطيع الإعتماد على أدوات الذكاء الاصطناعي. فستصبح قادر على التفريق بين الصحيح والخطأ وتوجيه الذكاء الاصطناعي لتنفيذ ما تريد والتصحيح له أيضًا فهو يخطيء في أحيان كثيرة ويجب استخدامه بدراية. وستجد أن إنتاجيتك بمستوى مختلف، وأيضًا هناك copilot في vscode لكن مشكلته أنه غير مجاني. وببساطة نصيحتي إليك هي بالتركيز على الأساسيات ولغة البرمجة الأولى لك، حتى تصبح قادر على التحكم في أدوات الذكاء الاصطناعي وتوجيهها لا أن توجهك هي.
  13. أولاً كل المصفوفات هي قائمة list ولكن يختلف العمق بناءًا على وجود مصفوفات أخرى داخل القائمة. إذا كنت تقصد في لغة بايثون فالفرق كالتالي: 1- المصفوفات الأحادية (Unidimensional Arrays) تعرف أيضًا باسم قوائم (Lists). مكونة من مجموعة مرتبة من العناصر في صف واحد فقط. يتم الوصول إلى العناصر بواسطة مؤشر يشير إلى الموضع الذي تمثله العناصر في القائمة. مثال: my_list = [1, 2, 3, 4, 5] print(my_list[0]) # العنصر في الموضع الأول، الناتج: 1 print(my_list[2]) # العنصر في الموضع الثالث، الناتج: 3 مؤشر (index) يشير إلى الموضع الذي ترغب في الوصول إليه. 2- المصفوفات الثنائية (Bidimensional Arrays) تُعرف باسم المصفوفات ذات البُعدين (2D Arrays) أو الجداول (Tables). تتكون من صفوف وأعمدة، حيث تحتوي على مجموعة من العناصر المترابطة في صفوف وأعمدة. نستطيع أن نصل العناصر باستخدام مؤشرين يُحددان الموقع الذي تتواجد فيه العناصر في الجدول. مثال: my_table = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(my_table[0][0]) # العنصر في الموضع (0, 0)، الناتج: 1 print(my_table[1][2]) # العنصر في الموضع (1, 2)، الناتج: 6 نستخدم اثنين من المؤشرات، الأول يحدد الموضع في الصفوف (رقم الـ array) والثاني يحدد الموضع في الأعمدة (مكانه في الـ array). 3- المصفوفات الثلاثية (Tridimensional Arrays) يطلق عليها المصفوفات ذات الأبعاد الثلاث (3D Arrays). تتكون من مجموعة من العناصر المترابطة في صفوف وأعمدة وعمق. نصل إلى العناصر باستخدام ثلاثة مؤشرات تحدد الموقع الذي تتواجد فيه العناصر في المصفوفة الثلاثية. مثال: my_3d_array = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]] print(my_3d_array[0][0][0]) # العنصر في الموضع (0, 0, 0)، الناتج: 1 print(my_3d_array[1][0][1]) # العنصر في الموضع (1, 0, 1)، الناتج: 6 تستخدم ثلاثة مؤشرات، الأول يحدد الموضع في الصفوف، الثاني يحدد الموضع في الأعمدة، والثالث يحدد الموضع في العمق. بمعنى: my_3d_array[1] تشير إلى العنصر في المؤشر 1 في المصفوفة الثلاثية. هنا، أي المصفوفة: [[5, 6], [7, 8]] my_3d_array[1][0] تعني العنصر في المؤشر 0 في المصفوفة [[5, 6], [7, 8]] بمعنى المصفوفة: [5, 6] my_3d_array[1][0][1] وهنا نعني العنصر في المؤشر 1 في المصفوفة: [5, 6] أي أنه يشير إلى العنصر 6.
  14. قبل الإنتقال إلى دورة أخرى، عليك أولاً برؤية المسار الأول من الدورة حيث أن جميع المسارات الأولى متاحة لك بشكل مجاني، وتستطيع الوصول للدورات من خلال تبويب دوراتي. ويجب تحديد المسار الذي تريده قبل إختيار الدورة، وإذا كنت غير قادر على التحديد فتستطيع قراءة التالي: وقد يفيدك البدء بدورة علوم الحاسوب وأساسيات البرمجة من أجل إختيار المجال الذي تريده عن دراية وفهم. وأيضًا هل لديك الوقت الكافي للتعلم أم تريد الوظيفة في أقرب وحد، فإذا كنت تريد الوظيفة في اٌقرب وقت فعليك بتعلم المطلوب في سوق العمل وليس ما تريده، وقد تم إيضاح ذلك هنا: وبخصوص النصائح وعدد الساعات فأنصحك بالإطلاع على التالي فقد تم الإجابة بشكل وافي بخصوص ما تريده:
  15. أرجو منك طرح السؤال أسفل فيديو الدورة الخاص بالسؤال ليتم مساعدتك بشكل أفضل، وطرح الأسئلة العامة هنا.
  16. بالنسبة للمصطلحات الإنجليزية فهي قليلة ويتم الشرح بلغة عربية فصحى وتعريب ما أمكن من المصطلحات، ويجب أن تعلم أن لغة البرمجة هي اللغة الإنجليزية فأنت بحاجة إليها بلا شك فيما بعد حيث أن المستندات والشروحات المتقدمة باللغة الإنجليزية، وأيضًا عند البحث عن حل لمشكلة تواجهك ستجد أنها باللغة الإنجليزية، وتستطيع دراسة اللغة بجانب البرمجة من خلال قناة طليق أو ذي أمريكان إنجليش على اليوتيوب. وأنا أتحدث بعد الإنتهاء من الدورة، ولا تدع ذلك يحبطك لكن عليك معرفة ما أنت بحاجة إليه مجرد قدرة على القراءة والاستماع فقط في البداية، وتستطيع طرح الأسئلة هنا في أكاديمية حسوب أو حسوب I/O وسيتم الإجابة عليك ومساعدتك من قبل الجميع. وفي بداية أي دورة قد يبدوا الأمر ممل ولا يوجد الكثير من الكود، والسبب هو أنه يتم شرح الأساسيات والجانب النظري الخاص بها لكي يتم فهم الكود الذي سيتم كتابته، فحتى عند كتابة الكود ستحتاج إلى التفكير وفهم ما تريد تنفيذه قبل كتابة أي كود، ولا نهرع أبدًا لكتابة الكود بدون التفكير في الطريقة التي سنستخدمها أولاً والكود هو آخر خطوة. عليك بالإهتمام جيدًا بالأساسيات وطريقة عمل الكود وقواعد كتابته، وإذا وجدت أمر غير واضح لك تستطيع السؤال أسفل فيديو الدورة الخاص بالسؤال، وطرح الأسئلة العامة هنا في قسم أسئلة البرمجة. وبخصوص التنفيذ، فالأمر بحاجة إلى التدرج، أولاً عليك بتطبيق ما تعلمته على نماذج صغيرة من خلال إعادة تنفيذ ما شرحه المدرب بمفردك لا مجرد المشاهدة السلبية فقط، بل يجب الكتابة مع المدرب، وبعد الإنتهاء يجب إعادة التنفيذ مرة أخرى بمفردك، ولا مشكلة إذا وجدت أنك نسيت بعض الأشياء أو لم تتمكن من التنفيذ واحتجت إلى المراجعة، فذلك طبيعي وهو المطلوب من تلك الإعادة لتثبيت ما تعلمته.
  17. ستحتاج إلى إنشاء نموذج استمارة من خلال HTML ثم استخدام JS من أجل إرسال البيانات إلى الخادم سواء كان ذلك الخادم بلغة PHP أو JS في بيئة Node.js. وإليك مثال للنموذج وكود إرسال البيانات لخادم بلغة PHP: <center> <form id="myForm"> <br> <input id="email" type="email" name="email" placeholder="Enter email" required><br> <br> <input id="pass" type="password" name="password" placeholder="Enter Password" required><br> <br> <input id="button" type="submit" value="Submit"> </form> <script> document.getElementById("myForm").addEventListener("submit", async function(event) { event.preventDefault(); // يمنع إعادة تحميل الصفحة بعد النقر على زر الإرسال // احصل على قيمة الحقول const email = document.getElementById("email").value; const password = document.getElementById("pass").value; try { // قم بإرسال البيانات إلى الخادم باستخدام fetch و async/await const response = await fetch("send_email.php", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: `email=${encodeURIComponent(email)}&password=${encodeURIComponent(password)}` }); if (response.ok) { // تم إرسال البيانات بنجاح console.log("Data sent successfully"); // يمكنك إضافة رسالة تأكيد هنا } else { throw new Error("Failed to send data"); } } catch (error) { console.error(error); // يمكنك إضافة رسالة خطأ هنا } }); </script> </center> والآن، على الجانب الخادم (Server-Side)، عليك بإنشاء ملف PHP جديد يسمى "send_email.php" (أو أي اسم آخر تفضله)، ثم بوضع الكود التالي لمعالجة البيانات وإرسالها إلى البريد الإلكتروني: <?php if ($_SERVER["REQUEST_METHOD"] === "POST") { // استقبال البيانات من النموذج $email = $_POST["email"]; $password = $_POST["password"]; // تهيئة الرسالة البريدية $to = "your_email@example.com"; // البريد الإلكتروني الذي ستستلم عليه الرسالة $subject = "New Form Submission"; $message = "Email: " . $email . "\n" . "Password: " . $password; $headers = "From: your_email@example.com"; // البريد الإلكتروني الذي سيظهر في حقل المرسل // إرسال البريد الإلكتروني if (mail($to, $subject, $message, $headers)) { // تم إرسال البريد بنجاح echo "Email sent successfully"; } else { // حدث خطأ أثناء إرسال البريد echo "Failed to send email"; } } ?> مع استبدال "your_email@example.com" بعنوان البريد الإلكتروني الذي ترغب في استلام الرسائل عليه.
  18. قبل أي شيء، لكي لا تصاب بالإحباط، لا تتعلم ما تريده ولديك شغف به، بل تعلم المطلوب في سوق العمل الذي تريد العمل به. وعليك أن تسأل نفسك سؤال بسيط، أين أريد أن أعمل وأمامك 3 خيارات (مواقع العمل الحر العربية - مواقع العمل الحر الأجنبية - الشركات في سوق العمل المحلي أو عن بُعد في الدول العربية). وعلى مواقع العمل الحر العربية ستجد أن أغلب المطلوب هو PHP ولارافيل و وورد بريس وذلك أمر طبيعي وستجد أيضًا بعض الوظائف للـ .NET وأحيانًا وظائف لـ React لكن المراد هو النسبة الأكبر من الوظائف. أما مواقع العمل الحر الأجنبية فستجد أن جميع المجالات مطلوبة لكونه سوق عالمي، وبالطبع هناك نسبة كبيرة لـ PHP ولارافيل و ووردبريس. أما الشركات في السوق المحلي وفي الدول العريية فستجد أن أغلب المطلوب هو PHP ولارافيل و ووردبريس وأيضًأ .NET. وبخصوص الواجهة الأمامية فستجد أن Angular مطلوبة وخاصًة مع إطار .NET، وأيضًا ستجد بعض الوظائف تطلب React وبعضها يطلب Vue.js ومن وجهة نظري من الأفضل تعلم React لكونها مطلوبة بنسبة أكبر وستفتح لك الكثير من الإمكانيات. وأيضًا ستجد وظائف node.js في الواجهة الخلفية لكنها تتطلب خبرة سنة أو سنتين على الأقل، ونفس الأمر بالنسبة لمطوري React ستجد مطلوب خبرة سنة أو سنتين على الأقل، بينما لو أصبحت Full-stack فستجد فرصة بخبرة أقل. وهناك أمر هام يجب أن تنتبه إليه، 80% من الوظائف المعروضة هي للشركات والأعمال الصغيرة، لذلك ستجد أن PHP ولارافيل و ووردبريس مطلوبين بكثرة. وبالطبع Next.js مطلوبة لكن ستحتاج إلى خبرة سنة أو سنتين لكي يتم قبولك في سوق العمل سواء من خلال بناء المشاريع أو على العمل على مواقع العمل الحر عليك بإلقاء نظرة على مواقع التوظيف مثل LinkedIn ومواقع العمل الحر مثل مستقل وخمسات وبعيد، وستكتشف ما هو المطلوب والخبرة المطلوبة لكل مجال أو لغة أو إطار، وسيفيدك الإطلاع على التالي:
  19. أرفق مجلد المشروع لديك بعد ضغطه لتفقد المشكلة.
  20. ما يظهر هو أنه هناك خطأ "Syntaxerror: EOL while scanning string literal" أي خطأ في تنسيق سلسلة النص في ملف معين، وبالتالي لا يمكن تنفيذ الأمر بنجاح. وربما لديك تعارض في إصدارات الحزم، حاول تثبيت الحزم من خلال أمر: npm install --legacy-peer-deps وإذا استمرت المشكلة حاول تثبيت مكتبة node-gyp بأحدث إصدار، من خلال الأمر التالي: npm i node-gyp@latest ثم إعادة تثبيت الحزم من خلال الأمر السابق الذي أخبرتك به وأيضًا حاول استخدام إصدار 16 أو 18 من node.js.
  21. عليك أولاً بتفقد هل يوجد أخطاء في الكونسول لديك؟ وفي حال عدم وجود أخطاء، فقم بتنفيذ الأمر التالي: php artisan optimize:clear وهو أمر يشمل عمليات مسح ذاكرة التخزين المؤقتة المختلفة في Laravel من خلال أمر واحد فقط. وإذا كنت تستخدم Laravel Mix أو Webpack لتجميع ملفات الفرونت إند، فعليك بإعادة تجميعها بعد التعديل ببتشغيل الأمر المناسب لتجميع الملفات، مثل npm run dev أو npm run watch. وأيضًا إعادة تشغيل الخادم وتشغيل أمر php artisan serve.
  22. ما فهمته هو أنك تريدين عرض النتائج بحسب رقم الجلوس من ملف Excel في موقع الويب باستخدام JavaScript، ولفعل ذلك يلزم استخدام مكتبة تعامل مع ملفات Excel مثل xlsx أو exceljs. وإليك مثال: أولاً عليك تضمين مكتبة xlsx في صفحة HTML كالتالي: <script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script> ثم إنشاء واجهة مستخدم بسيطة لإدخال رقم الجلوس وزر البحث في ملف HTML أيضًا: <input type="text" id="seatNumber" placeholder="رقم الجلوس"> <button onclick="searchResult()">ابحث</button> وإضافة وظيفة searchResult() إلى النص البرمجي للصفحة للقيام بالبحث وعرض النتيجة: const searchResult = async () => { const seatNumber = document.getElementById('seatNumber').value; try { const response = await fetch('path/to/your/excel/file.xlsx'); const arrayBuffer = await response.arrayBuffer(); const data = new Uint8Array(arrayBuffer); const workbook = XLSX.read(data, { type: 'array' }); // قم بقراءة ورقة العمل الأولى const worksheet = workbook.Sheets[workbook.SheetNames[0]]; // حول البيانات إلى كائن JSON const jsonData = XLSX.utils.sheet_to_json(worksheet); // البحث عن رقم الجلوس const result = jsonData.find(row => row['رقم الجلوس'] === seatNumber); // عرض النتيجة if (result) { alert('تم العثور على الجلوس!'); console.log(result); } else { alert('لم يتم العثور على الجلوس!'); } } catch (error) { console.error(error); } }; ولكي يعمل السكريبت عليك بتضمينه بعد استيراد مكتبة XLSX كالتالي: <script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script> <script defer src="index.js"></script> وقمت باستخدام خاصية defer من أجل ضمان تشغيل السكريبت بعد تحميل عناصر HTML.
  23. لا مشكلة في الكتابة على مجلد Windows/Temp، فهو مخصص لكي تقوم التطبيقات بكتابة الملفات المؤقتة فيه، والملفات المؤقتة هي ملفات يتم إنشاؤها بواسطة التطبيقات وتستخدم لفترة قصيرة من الزمن، ثم يتم حذفها من قبل التطبيق أو من قبل نظام التشغيل. وإذا أردت تغيير مكان الملفات المؤقتة إذا كنت تستخدم لاراجون قم بفتح ملف php.ini الخاص بتكوين PHP، ثم ابحث عن سطر يحتوي على "upload_tmp_dir" في ملف php.ini وقم بإلغاء تعليقه عن طريق إزالة علامة التعليق "#" في بداية السطر. ثم تعيين قيمة "C:/laragon/tmp" لـ "upload_tmp_dir"، ويعني ذلك أن الملفات المؤقتة التي تم رفعها ستخزن في المجلد "C:/laragon/tmp".
×
×
  • أضف...