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

Adnane Kadri

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

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

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

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

    51

كل منشورات العضو Adnane Kadri

  1. يعد استعمال مكتبة jQuery عمليا جدا في كثير من الحالات التي نحتاج فيها اختصار الوقت أو التعامل مع تفاعليات بسيطة الى عادية بشكل مكرر او غزير في صفحات الويب أين يكون استعمال vanilla Javascript أكثر استهلاكا للوقت أو الموارد. ولكن بشكل عام، لا ينصح باستعمالها ان كان استعمالها في المشروع غير كثير، فطلب ملفها قد يأخذ بضع الوقت الذي يمكن استغلاله في طلب موارد أقل حجما وتقوم بتفس الشيء. فإن كنت تستطيع كتابة شيفراتك بشكل مخصص للتعامل مثلا مع فتح نافذة منبثقة أو اغلاق قائمة جانبية أو ما إلى ذلك. أما ان كنت تستعمل جزئيات أخرى منها مثل كائن طلبيات ال Ajax وما إلى ذلك فسيكون الاعتماد عليها خيارا جيدا. وبشأن الفرق بين تضمينها باستخدام رابط cdn او بطلبها كمورد خاص من الخادم الخاص بك فإن الطريقة الأولى هي الأفضل غالبا، وهذا لأن توزيع الموارد باستخدام cdn يعد أفضل من الطلبيات العادية من جهة، ومن جهة أخرى فإن أغلب متصفحات الويب خزنت بشكل مؤقت (في الكاش) محتوى ملف jquery عن طريق cdn في أثناء تصفحها أحد المواقع التي تستعمل مكتبة jQuery فهي مورد متكرر نسبيا بالنسبة لمتصفحات الويب وقد لا تعاود الطلب اساسا وهو الامر الذي سيسرع بطبيعة الحال من اداء الموقع.
  2. اختيار موفق، ومن وجهة نظر شخصية أرى أن أي دورة من دورات الأكاديمية تتكامل بشكل تلقائي مع دورة علوم الحاسوب، لأن هاته الأخيرة تتفرع عنها باقي العلوم والتخصصات. والادراك بالأعم ومن ثم الأخص سيزيد من استيعابك ويعمق ادراكاتك للمفاهيم البرمجية ككل. فضلا عن أنه قد يعطيك مرونة في التبديل بين اللغات أو أطر العمل أو الأدوات لأنك تتعلم الجوهر والأساس. ومثلما أسلف المدرب أسامة، فإنها موجهة أيضا لأولئك الذي لا يمتلكون أدنى خبرة أو معرفة بالمجال ككل. فهي ستقوم بشرح أساسيات علوم الحاسب وأنظمة التشغيل وبنى المعطيات والخوارزميات وما الى ذلك. ومن جهة مقابلة، ستعطيك دورة تطوير واجهات المستخدم حظوظا أكبر في سوق العمل مستقبلا. فأنت ستتعلم تطوير الويب الشامل بفرعيه وبإسهاب وتفصيل واحترافية، وهو الأمر الذي سيزيد من قيمتك وخبرتك. وباختصار، ان كنت لا تأتي من خلفية تقنية (تخصص علوم حاسوب مثلا) فالأحسن دورة علوم الحاسوب. أما ان كنت تملك بالفعل بعض التوطئات في علوم الحاسب فستكون دورة تطوير واجهات المستخدم أفضل لك. وفي كلتا الحالتين، ابدأ في الدورة الأخرى قبل دورة تطوير التطبيقات باستخدام PHP للاستفادة من محتوى الدورة أقصى استفادة.
  3. يختلف سياق شيفرة التحقق من تسجيل الدخول وتوجيه المستخدم لصفحته الشخصية حسب لغة البرمجة التي تستخدمها ونوع قاعدة البيانات التي تستخدمها لتخزين بيانات المستخدمين ومعلومات تسجيل الدخول الخاصة بهم وما الى ذلك. ففي PHP مثلا سيكون الكود مشابها لـ: <?php session_start(); // بدء جلسة لتخزين معلومات تسجيل الدخول if(isset($_POST['login'])){ // التحقق من الضغط على زر تسجيل الدخول // اتصال بقاعدة البيانات والتحقق من تطابق بيانات تسجيل الدخول $username = $_POST['username']; $password = $_POST['password']; $query = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = mysqli_query($conn, $query); if(mysqli_num_rows($result) == 1){ // التحقق من توافق بيانات تسجيل الدخول $_SESSION['username'] = $username; // تخزين اسم المستخدم في الجلسة header('Location: profile.php'); // توجيه المستخدم لصفحته الشخصية } else{ echo "خطأ في اسم المستخدم أو كلمة المرور!"; } } ?> وهذا كعينة، سيمكن بالطبع تخصيص الشيفرة وفق ما لديك. انتبه ايضا الى أن المتغير conn الذي يتم استعماله في تنفيذ استعلام MySql هو متغير يفترض ان يعبر عن كائن الاتصال بقاعدة البيانات، يتم عادة تخزين هذا المتغير بملف منفصل يخص الاتصال بقاعدة البيانات واعداده.
  4. من وجهة نظر شخصية، إذا كان هدفك العمل في مجال تطوير البرمجيات بغض النظر عن التخصص فإن تعلم بايثون سيكون مفيداً لك، سواءا في اكتساب نظرة عامة عن المجال او التخصص لاحقا في مجال معينة، لأنها تقريبا لغة تنشط في أغلب مجالات تطوير البرمجيات. أما إذا كنت تريد الاستمرار في تعلم علوم الحاسوب، فيمكنك استكمال الدورة الحالية ومواصلة تعلمها. ولكن إذا كنت تريد تعلم لغة برمجة واحدة فقط لتبدأ العمل فيها، فبايثون هي اختيار جيد للبدء مثلما أشرت. كما أنه من المهم أن تضع خطة تعلم محددة، بحيث تقسم وقتك بين العمل والتعلم والحياة الزوجية. فعلى سبيل المثال لا الحصر، قم بتحديد أهدافك وتحديد وقت معين لتحقيقها، ومن ثم تعلم الجزئيات التي تحتاجها لتحقيق هذه الأهداف. وبشكل عام، فإن تعلم البرمجة يتطلب الصبر والمثابرة، ولكنه يمكن أن يكون مجزياً جداً عندما تتمكن من إنشاء تطبيقات ومواقع وحلول برمجية تلبي احتياجات المستخدمين في المستقبل وفي مسار عملك لاحقا. قد يكون من المفيد جدا الاطلاع على نقاشات على الأكاديمية بهذا الخصوص فهي غزيرة بهذا المحتوى. استعمل بعض الكلمات المفتاحية للبحث عن مواضيع مشابهة مثل: "العمل" أو "التنسيق بين الحياة والبرمجة" .. الخ
  5. بجانب ما اقترح المدربون، يمكنك نمذجة جزئيات هاته الفكرة الى جدولين بقاعدة البيانات: أولهما هو جدول المستخدمين وليحمل الحقول: اسم المستخدم - عنوان بريده الالكتروني - كلمة مروره. ثانيهما هو جدول الأدوار وليحمل الحقول: اسم الدور (طبيب - ممرض .. الخ), يجب أن يميز كل مستخدم يسجل في النظام بدور معين، ولذلك سنحتاج اضافة حقل يميز صفا من جدول الأدوار في جدول المستخدمين. وليكن الحقل او العمود role_id سيمكن بعد ذلك استعمال هاته البيانات في: فحص دور المستخدم المسجل دخوله تصيير الصفحات او التعامل مع التوجيه بشكل شرطي بناءا على هذا الدور فإن كان مثلا المستخدم A طبيبا وقد طلب صفحة البروفايل الشخصي تعرض صفحة doctor-profile.php مثلا وان كان المستخدم B ممرض وقد طلب صفحة البروفايل الشخصي تعرض صفحة nurse-profile.php وهكذا. بالطبع فإن هذا هو التوصيف الأبسط للعملية، قد يمكنك التعامل مع ذلك بشكل أكثر خصوصية، على سبيل اضافة اذونات وصلاحيات مختلفة أو ادارتها هي الأخرى. قد يسهل عليك التعلم والعمل على اطار عمل مثل PHP ذلك، خصوصا مع الكم الهائل للحزم والمكتبات الجاهزة التي تسهل التعامل مع مثل هكذا جزئيات.
  6. تظهر مثل هاته التحذيرات بخصوص اهمال ميزات او وظائف عند استعمال نسخة أقدم من اصدار لارافيل أو اثناء عدم توافقها مع بيئة التشغيل، ولذلك فإنك ستحتاج في الغالب: تحديث اعتماديات composer بما يوافق بيئة التشغيل استعمال اصدار اكثر توافقا من PHP مع مشروعك قم بفتح ملف composer.json وتحقق من اصدارات PHP المطلوبة. وفي الغالب، ستحتاج تحديث مشروع لارافيل لديك إلى نسخ أحدث لتلافي ما قد تحدثه هاته التحذيرات مستقبلا، استعن بأدلة التحديث في توثيقات نسخ لارافيل المختلفة وقم بذلك. قد يمكنك الاستفادة من هاذين السؤالين:
  7. بالنسبة لموضوع تراخيص الجافاسكربت فهذا يعتمد بدرجة أولى على طريقة استعمالك لها أو اي اطار عمل أو مكتبة عليها، فأساس الجافسكربت أو JS CORE يتم تعليقه بالترخيص GNU اختصارا عن General Public License أو GNU / GPL وهو عبارة عن ترخيص برمجيات مجاني يسمح لمستخدميه بتشغيل البرنامج ونسخه وتوزيعه وتعديله طالما أنهم يصدرون أي تعديلات يقومون بإجرائها بموجب نفس الترخيص. بالإضافة إلى هذا النوع، هناك تراخيص أخرى مفتوحة المصدر تُستخدم بشكل شائع لمكتبات وأطر عمل JavaScript ، بما في ذلك ترخيص MIT المشهور. اذ توفر هذه التراخيص بشكل عام صلاحيات ومتطلبات مشابهة مثل GNU GPL، ولكن بشروط محددة مختلفة. فيما يخص سؤالك عن تعلم جافاسكربت دون CSS/HTML فبالطبع يمكن، ولكن أظن أن تعلمهما يسهل تعلم الجافاسكربت ويبسط مفاهيم كثيرة فيها، فهما يبعدانها عن الجانب التجريدي لها. ويعطيانها تفاعلية أكثر تسهل في استيعاب مفاهيم لها او تطبيقها. هذا بجانب احتواء جافاسكربت على تطبيقات واجهة برمجية للتعامل مع المتصفحات ووثائق الويب، الأمر الذي يستدعي تعلمهما لإستدراك هاته الجزئية.
  8. سيمكنك بالطبع ايجاد الكثير من الكتب مثل ما اشار المدرب عمر في تعليق سابق، ولكن عيب طريقة التعلم عن طريق الكتب هو في: افتقار الكتب الى الجانب التطبيقي او صعوبة تضمينه او شرحه. تأخذ الكتب مدة طويلة للتأليف قد تتجاوز المدة التي يتم فيها تحديث المادة العلمية أصلا. تفتقر الكتب الى الجانب التفاعلي، وهو الجانب الذي يسهل تعلم واستيعاب اي مفاهيم تجريدية. تفصيل المعلومات في الكتب وصعوبة تمييز الأهم فالمهم فالأقل أهمية. المادة العلمية المتواجدة في الكتب تعتبر أفضل في تناول مفاهيم أقرب للجانب التنظيري مثل الكتب التي تتناول مواضيع مثل هياكل البيانات وقواعد الشيفرة النظيفة وخصائص جودة البرمجيات. رغم هذا، إلا أنه لا يمنع من وجود كتب جيدة الى ممتازة لتعلم HTML أو CSS. تفحص قسم كتب البرمجة في الأكاديمية.
  9. تأكد أنك تقوم باستيراد وتضمين هذا المكون على نحو صحيح، في مكون App الأب مثلا يفترض أن يكون كـ: import React from 'react'; import FichAxois from './path/to/FicheAxois.jsx'; export function App(props) { return ( <div className='App'> <FichAxois /> </div> ); } يرجى الاشارة ايضا ان كانت تظهر أي اخطاء في نافذة الطرفية console
  10. سؤالك غير واضح، هلا قمت بارفاق صورة كاملة عن المشكلة او نص رسالة المشكلة حتى يمكن معاينتها؟
  11. مرحبا ليث، من الطبيعي والعادي جدا الاحساس بمثل هكذا شعور تجاه مادة علمية بحجم جافاسكربت، فهذا راجع لطبيعتها وطبيعة المجال بدرجة اولى. ولكن ان احسست ان استيعابك لدروس الاساسيات غير مكتمل فسيمكنك اعادة مشاهدتها مع التركيز اكثر، او للاستزادة قراءة اشكالات الطلبة واسئلتهم في قسم تعليقات الطلبة اسفل كل فيديو. ثم ان العمل في مسارات اكثر تقدما مثل مسار تعلم React هو الآخر سيزيد من ترسيخ هاته المعلومات ومن استيعابها على نحو اعمق. ولكن في البداية، سيجب عليك هضم الاساسيات جيدا.
  12. PHP حساسة بشأن حالة الأحرف، أظنك تقصد الاشارة للصنف User بالاسم المكافئ الكامل App\Models\User. حاول تنفيذ الامر: App\Models\User::find(1) عوض الأمر السابق. (انتبه لحالة الأحرف، فـ user ليس هو User) طبعا فإن هذا يقتضي تواجد الصنف المشار اليه في المسار app\Models بفضاء الاسم App\Models. تأكد من ذلك.
  13. يمكنك اضافة الخاصية selected بشكل شرطي تتحقق فيه اولا من ما ان كانت القيمة المسندة لخيار ما هي نفسها الكائنة في الطلب. يمكن ايضا القيام بالأمر عن طريق المرور على عناصر مصفوفة عناصرها هي الخيارات: <select id="class"> <% var options = [ "One", "Two", "Three", "Four", "Five"]; for ( var i = 0; i < options.length; i++ ) { var selected = ( obj.class == i ) ? "selected" : ""; %><option value="<%=options[ i ] %>" <%=selected %>><%=i %></option><% } %> </select>
  14. هذا الكلام غير دقيق، قد يحدث أن تكون هنالك بعض استعلامات SQL التي تأخذ وقتا في التنفيذ أطول من أخرى، ولكن عموما يمكن تنقيح أي استعلام وضبطه وتسريعه. الأمر الذي يعتبر من تفضيلات الاستخدام ومن ضوابط الشيفرة النظيفة.
  15. يمكن القيام بعملية حسابية بسيطة لمعرفة متوسط التقييمات، فيكون المعدل كالتالي: مجموع التقييمات على العدد الإجمالي للتقييمات. فإن كان هنالك 500 تقييم لعملاء مختلفين كل تقييم هو ما بين 1 و 10 فإن المعدل يكون: مجموعها مقسوم على 500 قد يمكن كخطوة إضافية تدوير العدد إلى الوحدة لضبط التقييم كعدد صحيح. تتواجد توابع مثل floor أو ceil في عديد من لغات البرمجة لمثل هذا الأخير.
  16. لا تظهر رسالة الخطأ كاملة، هلا قمت فضلا بالتقاط صورة كاملة؟
  17. لقد تفحصت مجلد الملفات الخاص بك، لا يظهر ان هنالك أي مشكلة سوى أن codeception سيحتاج اعادة تهيئة وفقط، اتبعي الخطوات التالية: قومي بتثبيت codeception من المجلد العينة الذي قمتي بتنزيله: composer require "codeception/codeception" --dev قومي بتوليد وحدات codeception وملف اعداده codeception.yml: php vendor/bin/codecept bootstrap انتبهي ايضا الى انه تم توليد مجلد tests. بجانب أنه يتم انشاء عينة عن اختبار REST API و اختبار قبول Acceptance test و آخر خاص باختبار وحدة Unit test وملفات اعداد كل منهم. قومي بتنفيذ اختباراتك: php vendor/bin/codecept run --steps والحظي ان العملية تتم بشكل عادي.
  18. يستبعد أن تكون المشكلة بسبب تثبيت او اعداد codeception كإطار عمل للإختبار، يحتمل أن تم بالفعل اعداد بيئة اختبارية مع حزمة اختبارات وحدة لا يزال يتم تسجيلها واستدعاءها بوساطة bootstrap.php_ كاقتراح، جربي حذف مجلد test ككل، وأعيدي تثبيت واعداد اطار codeception وانشئي اختبار وحدة جديد بإستخدام الأمر: php vendor/bin/codecept init Unit في حالة التعذر، يرجى ارفاق ملفات المشروع للنظر فيها.
  19. الموقع اختصارا عن موقع الويب بمفهومه البسيط هو تجميعة من صفحات الويب والمحتوى متعلقة ببعضها البعض يتم تعريفها ضمن نطاق domain واحد وتخزن في خادم Server واحد على الأقل. أما المدونة فهي موقع من نوع خاص يضم تجميعة من التدوينات أو المقالات مفهرسة، مرتبة أو مفلترة وفق نمط ما وتتحدث عن تخصص موضوعي او مجموعة مواضيع. ولا يمكن بطبيعة الحال المفاضلة ما بينهما واعتبار احدهما أفضل من الآخر، فلا مجال للمقارنة أساسا. ويمكن اخفاء اسم Blogger من نطاق المدونة عن طريق اشتراء نطاق جديد واستعماله بدل الذي يتم اعتباره بشكل افتراضي عند انشاء مدونة عن طريق بلوقر.
  20. يحتمل ان يكون ذلك بسبب اختلاف نسخة بوتستراب التي تستعملها عن السياق المستعملة، اذ يجب الاشارة أن بوتستراب 5 تعتمد تعريف الخاصية data-bs-dismiss للإشارة إلى العنصر أو النافذة المعنية في حين أن نسخ أقدم من بوتستراب تعتمد تعريف الخاصية data-dismiss دون المفتاح bs. انتبه الى ذلك في وصف سياق صحيح. سياق بوتستراب 5: <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">اخفاء</button> سياق بوتستراب 4: <button type="button" class="btn btn-secondary" data-dismiss="modal">اخفاء</button>
  21. قد تكون دورة تطوير التطبيقات باستخدام جافاسكربت مناسبة لك، فهي تتضمن مسارا كاملا يتناول واحد من أشهر أطر عملها في تطبيقات سطح المكتب هو Electron js. اذ يمكنك تنفيذ أكواد جافاسكربت عادية في بناء تطبيقات سطح مكتب بفعالية وآداء عاليين. هذا بجانب امكانية الاستفادة من تعلم الجافاسكربت في مجالات أخرى كتطوير الويب. مثلما يمكنك الاستفادة من سلسلة المقالات المنشورة بخصوص تطوير تطبيقات سطح المكتب في قسم مقالات البرمجة.
  22. بالطبع يمكن، تتواجد متاجر المنتجات الرقمية الجاهزة لهذا الغرض أساسا، فهي تكفل للبائع حقه وتضمن له التسويق لمنتجاته وعرضها على مئات من العملاء المحتملين وللمشتري تجربة وضمان حقوق. يمكنك إنشاء منتجات ذات جودة عالية وبيع نسخ شخصية او تجارية منها بأسعار معتبرة مرات متكررة. تعرف على متجر بيكاليكا التابع لشركة حسوب: https://picalica.com/
  23. يقتضي هذا العمل على نظام تحكم في النسخ git واستعمال آداة مثل github في ذلك، فكامل أعضاء الفريق سيقومون بالعمل على ذات المشروع بتوازِِ، وفي نفس الوقت سيقوم مدير أو قائد الفريق باستقبال التغييرات من كامل العاملين على المشروع ومزجها في مشروع نهائي يقوم أعضاء الفريق بسحبه والعمل عليه كل مرة، وهكذا.. يمكنك الاستزادة بالقراءة أكثر من هنا https://academy.hsoub.com/programming/workflow/git/
  24. يعني هذا حدوث خطأ ما بالخادم او احد ملفاته، تأكد من تفعيل وضع التصحيح لاستعراض نص الخطأ بشكل كامل. من ملف env. قم بتعديل السطر التالي: APP_DEBUG=false ليصبح: APP_DEBUG=true وتمعن في نص المشكلة او ما تحاول ان تشير اليه. يتواجد بالمسار: app\http\providers
  25. بمكان ما في ملف العرض المعني تقومين باستدعاء التابع getTranslations وتعطينه سلسلة نصية كمعامل ثان عوض مصفوفة، أظنك تقصدين استعمال التابع getTranslation وليس getTranslations. ابحثي عن موضع الخطأ وأصلحيه.
×
×
  • أضف...