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

Adnane Kadri

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

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

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

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

    51

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

  1. لا أظن أن هنالك علاقة لـ edge بذلك، جربي فتح المشروع باستخدام chrome أو firefox، هل هنالك أي مشكلة بهما هما أيضا؟
  2. حسن، حاولي ارفاق ملفات المشروع لننظر فيها، لا يبدوا بالشيفرات أي مشكلة.
  3. طيب، حاولي فتح نافذة console والتقطي لنا صورة، لربما هنالك مشكلة ما.
  4. انتبهي إلى أن هنالك خطأ في كتابة write فأنت تكتبينها writw، أي بدل السياق: document.writw(a + b) نكتب: document.write(a + b)
  5. بجانب ما تفضل المدرب اسامة بشرحه، تعتبر Agile واحدة من أكثر الفلسفات والمناهج والمقاربات المعتمدة في تطوير المشاريع على وجه عام، ومشاريع المنتجات الرقمية على وجه خاص. فالمنهجية تتضمن بيانا يلخص مجموعة الفلسفات والأفكار التي تعتقدها تلخص عادة في بيان Agile أو Agile Manifesto، حيث يتضمن مجموعة من القيم يعطيها اعتبارا كبيرا على مجموعة أخرى وهي: الأفراد والتفاعلات على العمليات والأدوات: بمعنى أن الأدوات والعمليات مهمة، ولكن الأهم هو وجود أشخاص أكفاء يعملون معًا بفعالية. البرمجيات الفعالة على الوثائق الشاملة: بحيث تعتقد التوثيق الجيد يعد مفيدًا في مساعدة الأشخاص على فهم كيفية إنشاء البرنامج وكيفية استخدامه، ولكن النقطة الأساسية في التطوير هي إنشاء البرنامج، وليس التوثيق. تعاون العملاء على التفاوض على العقود: العقد مهم ولكنه ليس بديلاً عن العمل بشكل وثيق مع العملاء لاكتشاف ما يحتاجون إليه. الاستجابة للتغيرات على الالتزام بخطة: تعتبر خطة المشروع مهمة، ولكن يجب ألا تكون صارمة للغاية بحيث لا تتناسب مع التغيرات في التكنولوجيا أو البيئة. بجانب هذا، تتبنى الفلسفة مجموعة مبادئ تلخصها في 12 مبدأ تتبنى هاته التأويلات. يأتي Scrum هنا كإطار عمل لهاته الفلسفة، فهو يتبنى هاته الأفكار في مجموعة خطوات عملية تعتمدها فرق تطوير البرمجيات عادة للتعامل مع مشاريع المنتجات الرقمية. ولشدة شيوعها فإن الكثير من الشركات تطلب الإلمام بمبادئ وخطوات إطار العمل هذا للعمل في الفرق التي تديرها. هذا هو الموضوع باختصار.
  6. مرحبا محمد، هذا صحيح، ولكن التعليقات في الأكاديمية تخضع لرقابة دائمة من قبل المشرفين والمدربين، ولذلك فإن أي سلوك من مثل هذا سيؤدي بالطالب إلى حظره أو انتهاج سلوك معين معه. كما أنه من غير المبرر أن يقوم الطالب بذلك ويعرض نفسه لعواقب مثل هكذا فعل. كما أن التعديل على أي تعليق سيظهر مقترنا بالتاريخ المعدل عليه فيه بالإضافة إلى سبب التعديل إن أضافه. كما أن امكانية التعديل تتيح للطلبة مرونة أكثر، فقد يحدث أن يتوصل الطالب إلى حل أثناء عمل المدرب على مشلكته، هاهنا سوف لن يكون هنالك مدعى من مساعدة المشرف أو المدرب للطالب.
  7. MERN هي واحدة من التجميعات الأكثر طلبا وشيوعا هاته الأيام، ومسار التعلم فيها واضح ولا يتطلب منك إلا الإلمام بالأربع جزئيات المكونة لهذا الاسم: MongoDB وذلك للتعامل مع قواعد البيانات وهياكلها. ExpressJS للتعامل مع الخوادم والتوجيه وتطوير الباك أند ReactJS للتعامل مع الواجهة الأمامية وما يشملها NodeJS وذلك كبيئة جافاسكربت يمكنها الإشتغال خارج المتصفحات فيما يلي بعض الخطوات العامة للخوض في ذلك: تعلم الأساسيات: تعلم كل الأساسيات من جافاسكربت، HTML و CSS. قم بالخوض في Node.js وتعلمه: Node.js هو بيئة تشغيل JavaScript على الخادم. يعتبر تعلم Node.js أمرًا ضروريًا إذا كنت ترغب في تطوير الجزء الخلفي باستخدام JavaScript. تعلم Express.js: Express.js هو إطار عمل (framework) لتطوير تطبيقات الويب باستخدام Node.js. إذا كنت مبتدئًا في تطوير الخادم باستخدام JavaScript، يمكن أن يكون Express.js خيارًا رائعًا حيث يسهل عليك بناء تطبيقات ويب بسرعة. تعلم قواعد البيانات: يجب عليك أن تكون على دراية بكيفية التفاعل مع قواعد البيانات إذا كنت ترغب في تطوير تطبيقات ديناميكية. قد تكون مهتما بالإطلاع على دورة تطوير التطبيقات باستخدام لغة JavaScript التي تتناول أغلب هاته الجزئيات.
  8. إن كانت الشيفرة المرفقة: $(function () { var currentDate = new Date(); $('#currentYear').text(currentDate.getFullYear()); }) موضوعة بملف script.js فإنك ستحتاجين وضع سطر تضمين هذا الملف أسفل سطر تضمين جيكويري لأنه يقتضيها بالفعل: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script> <script src="js/script.js"></script>
  9. لا أظن أن ذلك متاح، لا يمكن محو سؤال تم نشره في الأكاديمية. في حالة الحاجة، يمكنك بدل ذلك القيام بتعديله، ووضع بدل السؤال نقطة أو فاصلة وكتابة "حذف السؤال" مكان التبرير، سوف يمكن لأحد المشرفين آنذاك إخفاء سؤالك بشكل تام.
  10. استعمل محررات الأكواد للإحتفاظ بشيفرة معينة في ملف معين، قم أولا بإنشاء ملف معين. أعطه اسما وليكن index.html ولنضعه على سطح المكتب. قم بفتح الملف باستخدام vs code مثلا. قم بكتابة الشيفرة التي تريد حفظها. احفظ الملف باختيار save من القائمة file أو باستخدام اختصار لوحة المفاتيح ctrl + s. أغلق المحرر. سوف يمكنك مستقبلا العودة لهذا الملف واستعراض محتواه أو تعديله بنفس الطريقة باستخدام vs code.
  11. غرض التركيز على شيء واحد في البداية هو غالبا لضمان عدم التشتت بجانب ضمان استفادة قصوى مما يحاول الطالب تعلمه، ولذلك فإن التعرض للعديد من المصادر المختلفة بشأن معلومة ما أو التعرض لمادة علمية تختلف كليا عما يحاول تعلمه قد يؤدي به إلى عدم إلتقاط أي منهما، فبدل أن يزود جهوده لإكتساب معارف أكثر، سوف يجد نفسه لم يكتسب ولا واحدة فيهما. ولذلك، في البداية قد لا يكون ذلك ضروريا وقد يغلب ضره على نفعه، ولكن لا مشكلة في ذلك مع التقدم في المسارات وتحسن مستواك. فمع تقدمك، سوف تزداد قدرتك الاستيعابية ومقدرتك على التنظيم والفهم. وعليه، فإن واحدة من أفضل المقاربات غالبا لذلك هي تعلم مادة علمية ثانية بالتوازي مع مادة علمية أخرى بشرط أن يكون المتعلم قد تقدم في إحداهما. أيضا انظر للدافع من وراء ذلك، ما الذي يستعجلك للقيام بذلك؟ هل هو الوقت، الفضول أو أي شيء بالضبط؟ فإن لم يكن سببا واقعيا أو دافعا ملحا ما عليك إلا تجاهله، وتذكر أن طريق التعلم لا تقطع إلا واحدة واحدة، ولا يمكن بأي حال من الأحوال اختصار الطريق أو القفز للمرحلة الأخيرة مرة واحدة.
  12. جرب وضع الصورة كعنصر img يحتل عرضا كاملا من الشاشة خلف باقي العناصر بدل وصفها كخلفية لعنصر home. فيكون: <div class="home"> <img src="path/to/image" class="bg-img" /> ثم لنعطها التنسيقات التالية: .home{ position: relative; } .bg-img{ postion: absolute; top:0; right:0; width: 100%; } قد يحل هذا مشكلتك، وفي حالة عدم اشتغال القواعد بصورة صحيحة حاول التحكم في z-index الخاصة بالصورة لتظهر خلف العناصر. طبعا لا تنسى التخلص من الشيفرات الخاصة بالخلفية لكي يتم ذلك بصورة صحيحة.
  13. أظن أن المشكلة التي تحدث هي على مستوى العميل وليس على مستوى الخادم، لأن ما يحدث على مستوى الخادم منطقي وشيء عادي، ومتى ما تلقى الخادم معرفا صحيحا فهو سيقوم بحذف المستخدم وفق الشروط المقدمة. كما أن الخطأ يظهر على مستوى المتصفح، مما يعني أن الخادم لا دخل فيه. الخطأ يشير تحديد إلى مشكلة بقراءة الخاصية id_ من currentUser، والتي يبدوا أن هنالك مشكلة بتصريحها بداخل مكون رياكت. ابحث عن الأسطر الخاصة بها وانظر ما ان كنت تقوم بتصريحها على وجه صحيح. أيضا تأكد من ما ان كانت القيمة مساوية لـ null : const handleDelete = async () => { console.log(currentUser) /*const deleteProfile = await axios.delete(`/users/${currentUser._id}`); dispatch(logout()); navigate("/signin");*/ } في حال ما كان ذلك، أعد النظر في طريقة تصريحك لـ currentUser
  14. مثل هذا السؤال عام جدا، ولكن عموما، لتصميم تطبيق لنظام Android، يجب أن تتعلم البرمجة باستخدام لغة Java أو Kotlin، والاستفادة من Android Studio كبيئة تطوير متكاملة (IDE) لبناء التطبيقات. فيما يلي بعض الخطوات الأساسية الشائعة عادة للبدء في تصميم تطبيق Android: تعلم لغة البرمجة: تعلم أساسيات إحدى لغات البرمجة المدعومة في تطوير تطبيقات Android، وهي Java و Kotlin. تستطيع الاختيار بينهما بناءً على تفضيلاتك والمصادر المتاحة للتعلم. تثبيت Android Studio: حمل وقم بتثبيت بيئة تطوير Android Studio من الموقع الرسمي للأداة. ستجد العديد من الدروس عبر الإنترنت لمساعدتك في تثبيتها وإعدادها. دراسة أساسيات تطوير التطبيقات: تعلم أساسيات تطوير التطبيقات من خلال القراءة والمتابعة لدروس ومصادر تعليمية متاحة عبر الإنترنت. يمكنك البدء بتصميم وتطوير تطبيقات بسيطة وزيادة تعقيد المشاريع تدريجياً. تصميم واجهة المستخدم (UI): استخدم محرر واجهة المستخدم في Android Studio لتصميم واجهة المستخدم الخاصة بتطبيقك. يمكنك استخدام تخطيطات مسبقة، أو تصميم واجهة مخصصة. قد يكون من العملي أكثر أخذ نظر أعم عن مجال البرمجة ككل قبل الإنطلاق في تطوير تطبيقات الأندرويد، المقالة التالية تأخذك من الصفر عبر كل ذلك:
  15. بشكل عام؟ لا أظن ذلك، ولكنه سيقوم باستهلاك بعض موارد الحاسوب أثناء عملية التطوير، البناء والتشغيل. فبرنامج Expo يستخدم موارد الحاسوب مثل الذاكرة العشوائية (RAM) ووحدة المعالجة المركزية (CPU) لتشغيل الخدمات والمحاكاة المحلية أثناء تطوير التطبيق. قد يكون هناك تأثير على أداء الحاسوب إذا كانت الموارد محدودة. أيضا إذا قررت استخدام المحاكي لاختبار التطبيق على جهاز محاكي مثل Android Emulator أو iOS Simulator، فسيتطلب ذلك المزيد من الموارد مقارنةً بتشغيل تطبيقات عادية بطبيعة الحال. نفس الشيء بالنسبة لاستخدام موارد الشبكة، خلال تطوير التطبيق باستخدام Expo، قد تقوم بتحميل البيانات من الإنترنت أو التفاعل مع خوادم أخرى، وهذا قد يستهلك موارد الشبكة ويؤثر على استقرار الاتصال.
  16. عادة ما يتم خزنها في ملف env. على الخادم يكون الوصول إليها متاحا من قبل التطبيق فقط، وبوساطة حزم ومكاتب مثل dotenv سوف يكون من السهل إدارة هاته المفاتيح أو الوصول إليها من خلال تطبيقك. قد تتوفر بعض الاستضافات من مثل Heroku أو AWS على خدمات إدارة المفاتيح ضمن ميزات خطط استضافتها، وهي توفر تشفيرا وأمانا أعلى من السابق. بحيث يتم تصريحها ضمن استمارات ونماذج في الاستضافة ضمن نطاق التطبيق، وسيمكن الوصول إليها من قبل التطبيق بشكل عادي. أما بخصوص سؤالك عن طريقة قراءة المتغيرات، فلا حاجة لتغييرها أثناء عملية البناء والنشر (مثل توليد الإصدار النهائي من التطبيق)، يمكنك الاستمرار في اعتماد الطريقة مادام ملف متغيرات البيئة مؤمنا.
  17. هل تقومين بتصفح مشروعك بإستخدام pretty url أم بإستخدام رابط عادي ؟ http://localhost:8000/ عموما، جربي التعديل على قيمة APP_URL من ملف env. APP_URL=http://localhost:8000/ أو: APP_URL=http://bookstore.test/ في حالة ما كنت تقومين بإستخدام pretty url هل حل ذلك المشكلة لديك؟
  18. لم أواجه أي مشكلة والتنسيقات تظهر لدي بشكل عادي. هل هنالك صفحة معينة تظهر فيها المشكلة؟ قد يكون ذلك بسبب الكاش، تأكدي من محو كاش ملفات العرض خصوصا: php artisan view:clear أيضا تأكدي ما ان كانت توجد هنالك مشاكل تظهر في console بخصوص تطبيق التنسيقات.
  19. وعليكم السلام، عند اختيار استضافة لمشروعك على Django، هناك عدة عوامل يجب أن تنظر فيها لتحديد الخيار الأنسب لك. من بين الخيارات التي ذكرتها (Digital Ocean و Hostinger). وهما حقيقة واحدتان من أحسن الاستضافات على الساحة حاليا. فيما يلي مقارنة بسيطة ما بينهما: من حيث الأداء والسرعة: Digital Ocean معروفة بأدائها الجيد وإمكانية تخصيص الموارد وفقًا لاحتياجاتك. Hostinger أيضًا تقدم خيارات متعددة للخوادم وتوفير السرعة بحسب خطة الاشتراك. من الأمان: كلاهما على قدر عال من الأمان. من حيث السعر: يجب أن تتوافق ميزانيتك مع تكاليف الاستضافة. Hostinger عادة تقدم خيارات اقتصادية مقارنةً بـ Digital Ocean. من حيث سهولة الاستخدام: رغم أنها أقرب للتجربة الشخصية إلا أني أعد هوستنجر أسهل من حيث إدارة الموارد والملفات. من حيث الدعم الفني: هوستنجر لها دعم نشط، وعادة ما يتم الرد في خلال دقائق فقط. نفس الشيء بالنسبة لدجتل اوشن. في الأخير، كنت لأختار Digital ocean لتطبيق Django كونها استضافة يمكن تخصيص الموارد فيها بحسب الاحتياجات. هذا ويمكن إعداد استضافة مخصصة كاملة لها، الأمر الذي يجعل من الأفضل الأخذ بها.
  20. مرحبا رباب، ان كان السؤال يخص درسا من دروس الدورات، فينصح بوضع تعليق في قسم تعليقات الطلبة للمتابعة معك خلال الدرس. بخصوص مشكلتك، يرجح أن تكون هنالك مشكلة أساسا بحقن سطر تضمين ملفات css في ملف النسق layout الذي يستعمله ملف العرض الذي يعرض هاته الصفحة، يبدوا أنك تستعملين لارافيل، افتحي ملف app.blade.php واضيفي السطر التالي: @vite(['resources/css/app.css']) أيضا تأكدي من احتواء ملف app.css على التنسيقات اللازمة. تنسيقات tailwindcss مثلا: @tailwind base; @tailwind components; @tailwind utilities;
  21. يبدوا أن الـ overlay الخاص ببوتسراب يظهر فوق عنصر البطاقة، عموما، قد تكون هاته المشكلة بسبب خطأ في توصيف هيكلة عنصر modal الخاص ببوتستراب ولذلك تأكد من ذلك. في حالة التعذر، قد تحتاج تجاوز خاصية z-index الخاصة بالعنصر المعني لإظهارها فوق الجميع: myModal.in{ z-index: 999999; }
  22. من الصعب تشخيص المشكلة من ملف الجافاسكربت وحده، ولكن يرجح إلى أن هنالك مشكلة بتوصيف العنصر بالمعرف المناسب، فجافاسكربت لا تتعرف على أي عنصر يمتلك آي دي بالقيمة: serviceRequestForm تأكد من وجود عنصر استمارة form يمتلك هذا المعرف على نحو: <form id="serviceRequestForm" .. اعرف أكثر عن addEventListener:
  23. وعليكم السلام، نعم، إذا كنت تخطط لتشغيل تطبيق Nuxt.js SSR (Server-Side Rendering) على خادم Ubuntu، فإنه من المستحسن تثبيت خادم وكيل عكسي يمكنه التعامل مع طلبات المستخدمين وتوجيهها إلى تطبيقك الذي يعمل على الخادم. وسيكون nginx خيارا جيدا نعم. فيما يلي تكوين nginx الخاص بتطبيق Nuxtjs المستعمل عادة: server { listen 80; server_name domain_name.test; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } استبدل domain_name.test بدومينك الكامل. طبعا لا تنسى تشغيل npm run start لخادم node الخاص بالتطبيق، فـ nginx ستقوم بإرسال الطلبات إليه وتحويلها إلى العميل كخادم وكيل، لتدعم فكرة التصيير على الخادم server side rendering بهاته المقاربة. بالنسبة لشهادة الأمان SSL، فإن تثبيت شهادة SSL يعتبر أمرًا جيدًا ومهمًا لتأمين اتصالات موقعك. لك كامل الحرية في ذلك، ولكنه شيء منصوح به بطبيعة الحال.
×
×
  • أضف...