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

Hassan Hedr

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

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

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

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

    38

كل منشورات العضو Hassan Hedr

  1. راجع هدفك الأساسي من التعلم، هل أحببت تعلم البرمجة لبناء المواقع والتطبيقات، أم للحصول على عمل ودخل إضافي، أم مجرد فضول وحب لاكتشاف شيء جديد، وعلى هذا الأساس ضع أهداف جديدة يمكنك تحقيقها تخدم هدفك الأساسي ستشعر حينها بالتقدم والإنجاز وتستعيد شغفك للاستمرار حتى تحقيق الهدف الرئيس، نظم وقتك وخذ فترة من الراحة واهتم بصحتك الجسدية والنفسية، كل تلك العوامل قد تؤثر على شغفك بالاستمرار بشكل عام، يمكنك الاستفادة من المقالات التالية أيضًا:
  2. لتخديم ملفات مشروع laravel يجب وجود خادم ويب يعمل سواء كان الخادم المحلي الخاص بـ PHP والذي يُستخدم عند تنفيذ الأمر php artisan serve، أو وجود خادم آخر على الجهاز مثل WAMPP، مهمة خادم الويب تحويل الطلبات المتوجهة إليه والتي تطلب الموقع إلى أمر PHP لتنفيذ ملفات إطار عمل Laravel وإرجاع نتيجة التنفيذ لتلك الملفات، حتى ولو كان الموقع لا يستخدم PHP ويستخدم فقط ملفات ثابتة يجب وجود خادم ويب يستطيع تخديم تلك الملفات للعميل عند ورود طلب HTTP إليه، يمكنك الاستفادة من المقال التالي للتعرف على طريقة تخديم المواقع من خلال خادم الويب:
  3. تأكدي أن المسار الحالي ضمن سطر الأوامر هو نفسه مسار مجلد المشروع، الأوامر يجب أن تنفذ داخل مجلد المشروع تمامًا وليس خارجه
  4. تأكد أن ملف php.ini الذي تعدل عليه يقع ضمن مسار php الظاهر عند تنفيذ الأمر where php، وتأكد أيضًا من إغلاق الخادم الذي تحاول تصحيح المشاكل به وإعادة تشغيله من جديد، وأخيرًا ضمن VS Code تأكد من تشغيل مهمة "Listen for Xdebug" وتعيين نقاط توقف Break Points ضمن الشيفرة لديك يتم تنفيذها فعلًا عند إرسال طلب ما
  5. أولًا يجب تثبيت مكتبة express بتنفيذ الأمر التالي داخل مجلد المشروع: npm install express بعدها وضمن الملف الأساسي للمشروع مثلًا index.js نستورد المكتبة وننشئ منها تطبيقًا كالتالي: const express = require('express') const app = express() نعرف بعد ذلك المسارات التي يُخدّمها التطبيق، يكون ذلك حسب الغرض من المشروع ووظيفته، مثلًا نعرف المسار الجذر "/" بالطريقة GET، حيث هنا سيتم معالجة كل الطلبات الواردة إلى هذا المسار والتي تحوي تلك الطريقة فقط كالتالي: app.get('/', (req, res) => { res.send('Hello World!') }) في حال كان يحوي تطبيقك مسارات أخرى فيجب تعريفها هنا أيضًا باستخدام أحد التوابع التالية بحسب طريقة كل مسار: app.get('...', (req, res) => { //.. }) app.post('...', (req, res) => { //.. }) app.put('...', (req, res) => { //.. }) app.patch('...', (req, res) => { //.. }) app.delete('...', (req, res) => { //.. }) وأخيرًا تعيين المنفذ للتطبيق ليستمع ويتلقى طلبات HTTP عبره كالتالي: const port = 80; // رقم المنفذ للتطبيق app.listen(port, () => { console.log(`Server listening on port ${port}`) }) الخطوة الأخيرة هي تشغيل التطبيق باستخدام Node.js كالتالي ضمن سطر الأوامر: node index.js يمكنك الاستفادة من قراءة المقالات التالية:
  6. إذًا بالتأكيد لا أخطاء لديك لا في الشيفرة ولا في الاتصال بقاعدة البيانات ولا في البيانات التي تحاول تحديثها، حاول البحث ضمن المشكلات الأبسط مثل أنك قد تكون تختبر نسخة قديمة من الشيفرة على الخادم، أو أن الشيفرة الجديدة لا يتم حفظها بعد التحديث، أو أنك تتصل مع خادم مختلف عن الذي تحاول معاينته، جرب مثلًا تنفيذ استعلام التحديث يدويًا ضمن PHPMyAdmin على الخادم وليس عن طريق التطبيق وعاين النتيجة
  7. في حال كان هناك مدة زمنية محددة لكوبون الخصم سينتهي بعدها إن لم تستخدمه، تأكد من ذلك بمراسلة مركز المساعدة وستحصل على كافة التفاصيل المتعلقة بذلك
  8. حاول تنفيذ الاستعلام كالتالي: mysql_query($sql)or die("Query failed: " . mysql_error()); وفي حال ظهور خطأ من التنفيذ سيشرح بالتفصيل المشكلة، أما في حال لم يظهر خطأ فالاستعلام نُفذ بشكل صحيح، ويجب التحقق إما من البيانات التي تحاول تعديلها أن تكون موجودة بنفس المعرف وتحقق الشرط، أو بعمل تحديث لصفحة أداة معاينة قاعدة البيانات مثل PHPMyAdmin فقد تكون التعديلات تمت ولكن الصفحة تُظهر بيانات قديمة، وإذا كنت تعاين البيانات من التطبيق الذي تطوره نفسه تأكد حينها من استعلام جلب تلك البيانات وعرضها أنها تتم من نفس الجدول الذي تحاول تحديث بياناته
  9. كوبون الخصم يطبق على عملية الشراء، في حال لم تتم عملية الشراء فالكوبون لم يتم الاستفادة منه بعد ويبقى صالحًا، يمكن بعد حل مشكلة الدفع تطبيق الكوبون وإتمام العملية للحصول على الحسم، للتأكد أكثر والحصول على تفاصيل بهذا الشأن يمكن مراسلة مركز المساعدة وسيتم مساعدتك في أقرب وقت
  10. البيانات قد تكون مختلفة لذا شرط الاستعلام التالي لا يتحقق: UPDATE estshara SET E='$FF', image='$image' WHERE id='$id_up' ^^^^^^^^^^^^^^^^^ تأكد من مطابقة هذا الشرط للبيانات في قاعدة البيانات على الخادم، وتأكد أيضًا من وجود صلاحية للمستخدم username$ لتعديل البيانات قد تكون تلك هي المشكلة أيضًا
  11. في حال أنك تتحقق من الأخطاء ضمن ملف db.php ولا يظهر لك أي أخطاء عند التنفيذ، وهناك استعلامات تُنفّذ بشكل سليم، فالمشكلة هي من البيانات الموجودة في قاعدة البيانات لا تطابق شرط الاستعلام، تأكد من وجود سجل ضمن الجدول "estshara" لديه معرّف مساوي للقيمة "id_up" المرسلة ضمن طلب POST لتلاحظ التغييرات في البيانات
  12. هل يمكنك إرفاق محتوى ملف db.php أيضًا لتضح الشيفرة المستخدمة بالكامل لنستطيع المساعدة
  13. المخططات مهما كان نوعها هي وسيلة توضيح وليست خطوة من العمل، عندما تحتاج لتوضيح العلاقات بين الأصناف أو التخطيط لها لاستخدامها في المشروع يمكنك الاستفادة من مخطط UML لشرح ذلك، بعض الجهات والشركات تعتمد طريقة النمذجة تلك كخطوة من العمل نفسه وذلك ليس بالضرورة بل هو مجرد طريقة عمل، مخططات ERD تشرح العلاقات بين المكونات دون تفاصيل، أنصحك باستخدام تلك المخططات كأداة إيضاح ومساعدة عند الحاجة لها فقط، ولا تعتبرها مرجعًا أو خطوة ضرورية، يمكنك الاستفادة أيضًا من قراءة المقال التالي:
  14. يجب إرفاق رسالة الخطأ التي تظهر لك، أو شرح المشكلة بالتفصيل لنتمكن من المساعدة
  15. بحسب عمر الطفل ومستواه الحالي يمكن أن يبدأ التعلم من الآن وسيكون له الأفضلية عن أقرانه، في حال كان مبتدئًا أو ضعيف في الأساسيات يجب البدء بتمكينها أولًا، أفضل وأبسط لغة لذلك حاليًا هي سكراتش، فهي بسيطة وتركز على الأساسيات، يمكنه البدء بقراءة وتطبيق سلسلة المقالات التالية: بعدها يجب تمكين نفسه في أساسيات اللغة التي يحبها مثل بايثون، يمكن أن يستفيد من قراءة الكتاب التالي: أن يعتاد على القراءة والبحث هو أساس لتعلم البرمجة، يمكن بعد تحسن مستواه التسجيل في دورة الأكاديمية الخاصة بالتطوير بلغة بايثون، يمكنك التواصل مع مركز المساعدة للسؤال عن تفاصيل التسجيل لمن هم دون ال 18 سنة
  16. يمكنك التواصل مع مركز المساعدة وشرح المشكلة بالتفصيل مع إرفاق صور لها إن أمكن، وسيرشدونك في حال كان هناك مشكلة، ويمكنك الاطلاع بنفسك على صفحات الدليل التالية قد تساعدك في حل المشكلة: كيف أشترك بالدورات كيفية استخدام الكوبون للحصول على الدورات استخدام بطاقة الهدية
  17. حاول تنفيذ مشاريع مشابهة للتي تعلمتها ضمن الدورة، ستواجه مشاكل ونواحي جديدة بالتأكيد وهذا أمر طبيعي، عليك الاعتماد على نفسك الآن ما أمكن، والبحث عن المشاكل التي تواجهها وحلها على الإنترنت والرجوع للتوثيقات الرسمية للمكتبات وأطر العمل التي تستخدمها، والمراجع مثل موسوعة حسوب، والسؤال في حال لم تصل إلى حل سواء في الأسئلة العامة هنا أو ضمن التعليقات في الأسئلة المتعلقة بالدروس، الأمر طبيعي وكل مبرمج في بداية دراسته سيشعر بذلك، التدريب العملي والتطبيق سيزيد من مهاراتك، في فحص الشهادة النهائي للدورة سيطلب منك تنفيذ مشروع في سياق ما تعلمته، هدفه اختبار فهمك ومهاراتك وقدرتك على البحث وحل المشاكل، يمكنك الاستفادة من قراءة فقرة نصائح لتعلم البرمجة من المقال التالي:
  18. فكر بالقيمة المضافة لعملك المنجز سواء لك أو لصاحب المشروع، ملئ الاستبيانات بهوية وهمية أو حقيقية مقابل رأي زائف والقليل من الربح لن يضيف لك على المدى البعيد، هناك الكثير من المهارات التي يمكنك أن تستثمر وقتك بها وتعود عليك بالفائدة ولصاحب المشروع، هناك الكثير من الأعمال والمهارات المطلوبة، مثل الترجمة والتصميم والبرمجة وتقريبًا كل المهارات التي يمكنها أن تساهم في مشروع ما، حدد المجال الذي تفضله أو لديك شغف به، واستثمر فترة من وقتك في التعلم المستمر وتطوير الذات، بعد ذلك ستستغل هذه المهارة وتقدم الأعمال مقابل المال، الأمر الذي سيعود عليك بالفائدة على المدى الطوير لأن كل عمل تنجزه سيضاف إلى معرض أعمالك ويتيح لك فرصًا أكبر مستقبلًا، على عكس وظيفة ملئ الاستبيانات، قارن بين مترجم يعمل منذ سنة ومالئ استبيانات يعمل منذ سنة أيضًا، أيهما تطورت مهاراته وزادت فرصه وحتى ربحه، أنصحك بقراءة كتاب "طريقك إلى العمل الحر عبر الإنترنت" وكتاب "دليل المستقل والعامل عن بعد" فهي ستوضح لك الطريق بالكامل، بدءًا من المجالات التي يمكنك العمل فيها، إلى طريقة التسويق لنفسك واستلام المشاريع والتربح منها:
  19. بحسب أي دورة تقصد، إذا كنت مسجلًا في دورات التطبيقات والنظم الخلفية المتوفرة مثل دورة بايثون أو PHP أو جافاسكريبت، في نهايتها ستكون قادرًا على بناء مختلف التطبيقات مهما كانت، ستطبق المهارات التي تعلمتها في المشاريع الحقيقية لتنفيذ ما تريد، ومعظم هذه الدورات يوجد بها مسارات مخصصة ستطبق فيها مشروع تطوير متجر إلكتروني، مثل: دورة تطوير التطبيقات باستخدام لغة Python دورة تطوير تطبيقات الويب باستخدام لغة PHP يمكنك أيضًا الاستفادة من المقال التالي لتكون نظرة عامة عن المجالات المختلفة في تطوير الويب، ووظائف كل منها واختيار الدورة المناسبة لك:
  20. حاول تبديل ترميز الخرج إلى UTF8 قبل طباعة الرسالة بتنفيذ التعليمة التالية: Console.OutputEncoding = System.Text.Encoding.UTF8; طرفية cmd لا تدعم الأحرف العربية لذا سيظهر لك علامات استفهام بدلًا من تلك الأحرف، حتى لو وجدت حلًا لإظهار الأحرف بالعربية ستظهر منفصلة غير متصلة، وجهتها من اليسار إلى اليمين، الأفضل عند طباعة الخرج إلى الطرفية استخدام عبارات إنكليزية
  21. يجب التعرف أولًا على مجالات تطوير الويب وما هي الأجزاء المكونة للموقع الإلكتروني، وهي عمومًا الواجهات الأمامية وهي صفحات الموقع التي يتعامل معها المستخدم وكل ما يتعلق بها من هيكلية وتنسيق، يمكن لمطور الواجهات الأمامية تطوير مواقع الويب الساكنة، كمواقع التعريف الشخصي ومعارض الأعمال ومواقع التعريف بالشركات، وتسمى أيضًا بالمواقع الثابتة، والقسم الثاني لها وهو النظم الخلفية، وهي برامج تعالج طلبات زوار الموقع أو أي الطلبات مرسلة إليها وتحدث البيانات وتولد المحتوى، باستخدامها يمكن بناء مواقع ويب ديناميكية ذات محتوى وبيانات متغيرة، في أكاديمية حسوب يوجد دورة متخصصة لتطوير واجهات المستخدم، ودورات لبناء التطبيقات من نظم خلفية وغيرها ضمن عدة لغات مثل دورة تطوير تطبيقات الويب باستخدام لغة PHP أو دورة تطوير التطبيقات باستخدام لغة JavaScript، قبل الاختيار أنصحك بقراءة المقال التالي فهو يشرح بالتفصيل كل تلك النواحي ويذكر الدورات المقدمة من أكاديمية حسوب التي تقابلها، بعدها يمكنك تحديد الدورة التي ترغبين بالتسجيل بها:
  22. يمكنك إنشاء جهاز افتراضي وتخصيص جزء من مساحة الأقراص لديك لتخزين البيانات ضمن ذلك الجهاز، ويمكنك تثبيت أي نظام تشغيل ترغب عليه، لكن عادة ما تستخدم الأجهزة الافتراضية للتجربة أو للاختبار للعمل على نظام تشغيل ما وليس لاستخدامه كنظام تشغيل أساسي، لأن تجربة الاستخدام قد تكون سيئة حيث تضطر لتشغيل برنامج البيئة الافتراضية بعد إقلاعك ضمن النظام الأساسي ثم تشغيل الجهاز الافترضي ضمنه حتى تتمكن من العملي عليه، يمكنك إذا أردت ذلك الاستفادة من المقال التالي: في حال كنت تنوي استخدام لينكس كنظام أساسي يمكنك تخصيص جزء من الأقراص لديك وتثبيت النظام عليها كنظام ثانوي على نفس الجهاز، بحيث يمكنك اختيار الإقلاع مباشرةً إلى نظام التشغيل الذي ترغب عند إقلاع الجهاز، يمكنك الاستفادة من المقال التالي لمعرفة طريقة ذلك في حال كنت تستخدم نظام ويندوز: والمقال التالي لتعلم كيفية تثبيت نظام أوبنتو بشكل مشابه:
  23. بعد اجتيازك للامتحان والنجاح به وحصولك على الشهادة يكون أصبح لديك خبرة عملية في مجال الدورة التي اجتزتها وأصبح بإمكانك تنفيذ المشاريع الحقيقية في سوق العمل، تقدم لك الأكاديمية الإرشاد والتوجيه أثناء فترة بحثك عن عمل من نصائح في تعديل سيرتك الذاتية وتحسينها وكذلك طرق لتحسين ملفك الشخصي في مواقع العمل الحر ما يزيد من فرص حصولك على المشاريع وتنفيذها وبدء العمل، وفي حال طبقت تلك الملاحظات والتزمت بها وهي في الغالب مزايا يجب أن يمتلكها كل عامل حر أو مبرمج يود الحصول على وظيفة وبعد 6 أشهر إذا لم تحصل على عمل أو وظيفة كافي ليغطي مصاريف الدورة سيتم إعادة ما دفعته من تكاليف الدورة، إذا كنت تجد في نفسك الشغف وحب التعلم وتطوير الذات وتحب مجال البرمجة لا تهتم لتلك الأمور، فالبدء بالتعلم والاجتهاد ثم البحث عن فرص العمل وتقديم أعمال متقنة يؤدي حتمًا للدخولك في سوق العمل، والذي تقدمه أكاديمية حسوب ليس سوى تشجيع لك على ذلك في حال كنت متشككًا من قدراتك، يمكنك الاطلاع على ميزات دورات الأكاديمية لمعرفة المزيد بالتوفيق لك في تعلمك
  24. سياسة الخصوصية هي تصريح رسمي من موقعك للمستخدمين يوضح فيها طريقة استخدام بياناتهم ويلزمك ذلك قانونيًا، أي توضح كيف ستستخدم بيانات المستخدمين ومع من ستشاركها وما هي الحالات التي تسمح لك بمشاركة تلك البيانات الشروط والأحكام هي كاتفاق بينك وبين مستخدم الموقع، توضح فيه ما لك وما عليك، مثلًا تفرض شروط على المستخدم بعدم إساءة استخدام خدمتك أو استخدامها لأغراض غير قانونية الغرض من تلك التصريحات قانوني، الجهة التي تطلب منك وجود تلك التصريحات ضمن موقعك هدفها مراجعتها والتأكد أن شروط استخدامك توافق شروط الأفراد الذين يرغبون بالتعامل معهم، يمكنك إما استشارة محامٍ مختص ولديك خبرة بتلك التفاصيل، أو الدخول إلى تلك الصفحات على المواقع الأخرى التي تشبه خدمة موقعك، وستلاحظ نمطًا متكررا من الشروط يفرضها جميع تلك المواقع يمكنك الاستفادة منها لكتابة شيء مشابه، مثلًا موقع أكاديمية حسوب يحوي صفحة لبيان الخصوصية، وصفحة لإرشادات الاستخدام يمكنك الاستفادة أيضًا من أجوبة الأسئلة التالية:
  25. إطار عمل لارافل يقدم توابع يمكن استخدامها للتعامل مع طلبات HTTP القادمة إلى الخادم، لذا بداية يجب فهم بروتوكول HTTP وأن الطلبات فيه تحوي على طرق Methods تعبر كل منها عن نية معينة يريدها المرسل، وفي تطبيقك تستجيب لكل نوع من تلك الطرق على حدى، وذلك عبر تسجيل تابع يعالج الطلب القادم من ذلك النوع، والطرق هي التالي: Route::get('/', function(){ // GET طلب من نوع }); Route::post('/', function(){ // POST طلب من نوع }); Route::put('/', function(){ // PUT طلب من نوع }); Route::patch('/', function(){ // PATCH طلب من نوع }); Route::delete('/', function(){ // DELETE طلب من نوع }); Route::options('/', function(){ // OPTIONS طلب من نوع }); Route::head('/', function(){ // HEAD طلب من نوع }); يمكنك الرجوع إلى توثيق التوجيه (Routing) في Laravel، والاستفادة من قراءة المقالات التالية لفهم HTTP أكثر:
×
×
  • أضف...