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

Adnane Kadri

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

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

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

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

    52

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

  1. تظهر مثل هاته التحذيرات بخصوص اهمال ميزات او وظائف عند استعمال نسخة أقدم من اصدار لارافيل أو اثناء عدم توافقها مع بيئة التشغيل، ولذلك فإنك ستحتاج في الغالب: تحديث اعتماديات composer بما يوافق بيئة التشغيل استعمال اصدار اكثر توافقا من PHP مع مشروعك قم بفتح ملف composer.json وتحقق من اصدارات PHP المطلوبة. وفي الغالب، ستحتاج تحديث مشروع لارافيل لديك إلى نسخ أحدث لتلافي ما قد تحدثه هاته التحذيرات مستقبلا، استعن بأدلة التحديث في توثيقات نسخ لارافيل المختلفة وقم بذلك. قد يمكنك الاستفادة من هاذين السؤالين:
  2. بالنسبة لموضوع تراخيص الجافاسكربت فهذا يعتمد بدرجة أولى على طريقة استعمالك لها أو اي اطار عمل أو مكتبة عليها، فأساس الجافسكربت أو JS CORE يتم تعليقه بالترخيص GNU اختصارا عن General Public License أو GNU / GPL وهو عبارة عن ترخيص برمجيات مجاني يسمح لمستخدميه بتشغيل البرنامج ونسخه وتوزيعه وتعديله طالما أنهم يصدرون أي تعديلات يقومون بإجرائها بموجب نفس الترخيص. بالإضافة إلى هذا النوع، هناك تراخيص أخرى مفتوحة المصدر تُستخدم بشكل شائع لمكتبات وأطر عمل JavaScript ، بما في ذلك ترخيص MIT المشهور. اذ توفر هذه التراخيص بشكل عام صلاحيات ومتطلبات مشابهة مثل GNU GPL، ولكن بشروط محددة مختلفة. فيما يخص سؤالك عن تعلم جافاسكربت دون CSS/HTML فبالطبع يمكن، ولكن أظن أن تعلمهما يسهل تعلم الجافاسكربت ويبسط مفاهيم كثيرة فيها، فهما يبعدانها عن الجانب التجريدي لها. ويعطيانها تفاعلية أكثر تسهل في استيعاب مفاهيم لها او تطبيقها. هذا بجانب احتواء جافاسكربت على تطبيقات واجهة برمجية للتعامل مع المتصفحات ووثائق الويب، الأمر الذي يستدعي تعلمهما لإستدراك هاته الجزئية.
  3. سيمكنك بالطبع ايجاد الكثير من الكتب مثل ما اشار المدرب عمر في تعليق سابق، ولكن عيب طريقة التعلم عن طريق الكتب هو في: افتقار الكتب الى الجانب التطبيقي او صعوبة تضمينه او شرحه. تأخذ الكتب مدة طويلة للتأليف قد تتجاوز المدة التي يتم فيها تحديث المادة العلمية أصلا. تفتقر الكتب الى الجانب التفاعلي، وهو الجانب الذي يسهل تعلم واستيعاب اي مفاهيم تجريدية. تفصيل المعلومات في الكتب وصعوبة تمييز الأهم فالمهم فالأقل أهمية. المادة العلمية المتواجدة في الكتب تعتبر أفضل في تناول مفاهيم أقرب للجانب التنظيري مثل الكتب التي تتناول مواضيع مثل هياكل البيانات وقواعد الشيفرة النظيفة وخصائص جودة البرمجيات. رغم هذا، إلا أنه لا يمنع من وجود كتب جيدة الى ممتازة لتعلم HTML أو CSS. تفحص قسم كتب البرمجة في الأكاديمية.
  4. تأكد أنك تقوم باستيراد وتضمين هذا المكون على نحو صحيح، في مكون App الأب مثلا يفترض أن يكون كـ: import React from 'react'; import FichAxois from './path/to/FicheAxois.jsx'; export function App(props) { return ( <div className='App'> <FichAxois /> </div> ); } يرجى الاشارة ايضا ان كانت تظهر أي اخطاء في نافذة الطرفية console
  5. سؤالك غير واضح، هلا قمت بارفاق صورة كاملة عن المشكلة او نص رسالة المشكلة حتى يمكن معاينتها؟
  6. مرحبا ليث، من الطبيعي والعادي جدا الاحساس بمثل هكذا شعور تجاه مادة علمية بحجم جافاسكربت، فهذا راجع لطبيعتها وطبيعة المجال بدرجة اولى. ولكن ان احسست ان استيعابك لدروس الاساسيات غير مكتمل فسيمكنك اعادة مشاهدتها مع التركيز اكثر، او للاستزادة قراءة اشكالات الطلبة واسئلتهم في قسم تعليقات الطلبة اسفل كل فيديو. ثم ان العمل في مسارات اكثر تقدما مثل مسار تعلم React هو الآخر سيزيد من ترسيخ هاته المعلومات ومن استيعابها على نحو اعمق. ولكن في البداية، سيجب عليك هضم الاساسيات جيدا.
  7. PHP حساسة بشأن حالة الأحرف، أظنك تقصد الاشارة للصنف User بالاسم المكافئ الكامل App\Models\User. حاول تنفيذ الامر: App\Models\User::find(1) عوض الأمر السابق. (انتبه لحالة الأحرف، فـ user ليس هو User) طبعا فإن هذا يقتضي تواجد الصنف المشار اليه في المسار app\Models بفضاء الاسم App\Models. تأكد من ذلك.
  8. يمكنك اضافة الخاصية 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>
  9. هذا الكلام غير دقيق، قد يحدث أن تكون هنالك بعض استعلامات SQL التي تأخذ وقتا في التنفيذ أطول من أخرى، ولكن عموما يمكن تنقيح أي استعلام وضبطه وتسريعه. الأمر الذي يعتبر من تفضيلات الاستخدام ومن ضوابط الشيفرة النظيفة.
  10. يمكن القيام بعملية حسابية بسيطة لمعرفة متوسط التقييمات، فيكون المعدل كالتالي: مجموع التقييمات على العدد الإجمالي للتقييمات. فإن كان هنالك 500 تقييم لعملاء مختلفين كل تقييم هو ما بين 1 و 10 فإن المعدل يكون: مجموعها مقسوم على 500 قد يمكن كخطوة إضافية تدوير العدد إلى الوحدة لضبط التقييم كعدد صحيح. تتواجد توابع مثل floor أو ceil في عديد من لغات البرمجة لمثل هذا الأخير.
  11. لا تظهر رسالة الخطأ كاملة، هلا قمت فضلا بالتقاط صورة كاملة؟
  12. لقد تفحصت مجلد الملفات الخاص بك، لا يظهر ان هنالك أي مشكلة سوى أن 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 والحظي ان العملية تتم بشكل عادي.
  13. يستبعد أن تكون المشكلة بسبب تثبيت او اعداد codeception كإطار عمل للإختبار، يحتمل أن تم بالفعل اعداد بيئة اختبارية مع حزمة اختبارات وحدة لا يزال يتم تسجيلها واستدعاءها بوساطة bootstrap.php_ كاقتراح، جربي حذف مجلد test ككل، وأعيدي تثبيت واعداد اطار codeception وانشئي اختبار وحدة جديد بإستخدام الأمر: php vendor/bin/codecept init Unit في حالة التعذر، يرجى ارفاق ملفات المشروع للنظر فيها.
  14. الموقع اختصارا عن موقع الويب بمفهومه البسيط هو تجميعة من صفحات الويب والمحتوى متعلقة ببعضها البعض يتم تعريفها ضمن نطاق domain واحد وتخزن في خادم Server واحد على الأقل. أما المدونة فهي موقع من نوع خاص يضم تجميعة من التدوينات أو المقالات مفهرسة، مرتبة أو مفلترة وفق نمط ما وتتحدث عن تخصص موضوعي او مجموعة مواضيع. ولا يمكن بطبيعة الحال المفاضلة ما بينهما واعتبار احدهما أفضل من الآخر، فلا مجال للمقارنة أساسا. ويمكن اخفاء اسم Blogger من نطاق المدونة عن طريق اشتراء نطاق جديد واستعماله بدل الذي يتم اعتباره بشكل افتراضي عند انشاء مدونة عن طريق بلوقر.
  15. يحتمل ان يكون ذلك بسبب اختلاف نسخة بوتستراب التي تستعملها عن السياق المستعملة، اذ يجب الاشارة أن بوتستراب 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>
  16. قد تكون دورة تطوير التطبيقات باستخدام جافاسكربت مناسبة لك، فهي تتضمن مسارا كاملا يتناول واحد من أشهر أطر عملها في تطبيقات سطح المكتب هو Electron js. اذ يمكنك تنفيذ أكواد جافاسكربت عادية في بناء تطبيقات سطح مكتب بفعالية وآداء عاليين. هذا بجانب امكانية الاستفادة من تعلم الجافاسكربت في مجالات أخرى كتطوير الويب. مثلما يمكنك الاستفادة من سلسلة المقالات المنشورة بخصوص تطوير تطبيقات سطح المكتب في قسم مقالات البرمجة.
  17. بالطبع يمكن، تتواجد متاجر المنتجات الرقمية الجاهزة لهذا الغرض أساسا، فهي تكفل للبائع حقه وتضمن له التسويق لمنتجاته وعرضها على مئات من العملاء المحتملين وللمشتري تجربة وضمان حقوق. يمكنك إنشاء منتجات ذات جودة عالية وبيع نسخ شخصية او تجارية منها بأسعار معتبرة مرات متكررة. تعرف على متجر بيكاليكا التابع لشركة حسوب: https://picalica.com/
  18. يقتضي هذا العمل على نظام تحكم في النسخ git واستعمال آداة مثل github في ذلك، فكامل أعضاء الفريق سيقومون بالعمل على ذات المشروع بتوازِِ، وفي نفس الوقت سيقوم مدير أو قائد الفريق باستقبال التغييرات من كامل العاملين على المشروع ومزجها في مشروع نهائي يقوم أعضاء الفريق بسحبه والعمل عليه كل مرة، وهكذا.. يمكنك الاستزادة بالقراءة أكثر من هنا https://academy.hsoub.com/programming/workflow/git/
  19. يعني هذا حدوث خطأ ما بالخادم او احد ملفاته، تأكد من تفعيل وضع التصحيح لاستعراض نص الخطأ بشكل كامل. من ملف env. قم بتعديل السطر التالي: APP_DEBUG=false ليصبح: APP_DEBUG=true وتمعن في نص المشكلة او ما تحاول ان تشير اليه. يتواجد بالمسار: app\http\providers
  20. بمكان ما في ملف العرض المعني تقومين باستدعاء التابع getTranslations وتعطينه سلسلة نصية كمعامل ثان عوض مصفوفة، أظنك تقصدين استعمال التابع getTranslation وليس getTranslations. ابحثي عن موضع الخطأ وأصلحيه.
  21. حزمة laravel-translatble من spatie تقوم أصلا بإعادة الترجمة الموافقة للغة المفعلة الحالية عن طريق قراءة المفتاح بشكل مباشر: $product->name; ولا حاجة لاستعمال مفتاح اللغة الحالية في ذلك. يمكنك على كل حال استعمال التابع getTranslation لقراءة الترجمة الموافقة للغة معينة: $product->getTranslation('name', 'en'); أما عن السياق الذي تستخدمينه في جلب الترجمات أو وضعها فهو سياق لا يختص بالحزمة التي تستعملينها، فالتوابع الموصوفة موجودة في حزمة laravel-translatable من Astrotomic في حين أن السياق المطلوب هو ذلك الخاص ب laravel-translatble من spatie. والتوابع الموصوفة في الأولى تختلف عن دلالة استخدامها في الثانية وهو ما ينتج المشكلة التي تحدث معك بطبيعة الحال. تعرفي على الفروقات ما بينهما عن طريق توثيقاتهما الرسمية: Astrotomic / laravel-translatable spatie/laravel-translatable
  22. بجانب ما اقترحه المدربون يمكنك اعادة التوجيه الى رابط الوجهة الحالية عن طريق: window.location.href = window.location.pathname + window.location.search + window.location.hash; Document.location
  23. انتبه الى أنك لا تقوم اساسا بتضمين بوتستراب في المشروع، سيعطل هذا بطبيعة الحال أي وظيفية يقدمها هذا الأخير. قم باستدعاء ملف جافاسكربت الخاص ببوتستراب عن طريق cdn: <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"></script> </body> او عن طريق تثبيتها عن طريق مدير الحزم npm: npm i bootstrap ثم في ملف index.js: import 'bootstrap' تأكد فقط من اعادة تحزيم ملفات المشروع عن طريق تنفيذ npm run build
  24. جرب فتح VS code كمسؤول أولا، وقم بالموافقة على مربع الحوار الذي يظهر بخصوص تحديث VS code. يفترض أن يتم التحديث بعد ذلك بشكل عادي. في حالة التعذر جرب التوصل الى ملف سجل الخطأ مفصلا مثلما يوصف بالمسار: C:\Users\pc\AppData\Locale\Temp\vscode-inno-updater-1677959981.log حاول استخلاص المشكلة وحلها أو قم بارفاق نص رسالة الخطأ.
  25. يمكنك وضع تطبيق لارافيل لديك في مجلد فرعي عن مجلد public_html في خادم الاستضافة، ومن ثم ضبط السابقة mm كسابقة لكامل المسارات المشتعبة عن المسار الرئيسي، بهاته الطريقة سيمكنك المحافظة على نفس الوظيفية. في ملف RouteServiceProvider اضف السطر التالي: ->prefix('mm') الى: Route::middleware('web') ->group(base_path('routes/web.php')); ليصبح: Route::middleware('web') ->prefix('mm') ->group(base_path('routes/web.php')); التوجيه (Routing) في Laravel
×
×
  • أضف...