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

Adnane Kadri

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

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

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

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

    51

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

  1. أظن أن حتى مجال تطوير تطبيقات الويب هو الآخر يحظى بتطويرات تواكب كل هاته التطورات، خصوصا مع تقنيات مثل تطبيقات الويب التقدمية PWA وتطبيقات الويب على الخادم SSR وتطبيقات الصفحا الواحدة SPA والويب Assembly وغيرها من الأفكار التي مؤخرا ما داخلت المجال. أيضا المجالات التي ذكرتها لا تتعارض هي الأخرى مع مجال الويب، فقد يمكن أن يتم توظيفها في إنشاء تطبيقات ويب أكثر فعالية، فتكون قادرة على خدمة حالات استخدام أخرى. ويحدث هذا فعلا، فهنالك الكثير من تطبيقات الويب حاليا التي تعتمد على نماذج ذكاء صناعي مختلفة. كما أنه وبعكس المعتقد غالبا، الحاجة لتطبيقات الويب تزداد ولا تنقص. بخصوص الذكاء الصناعي، يمكن ببساطة أنه يقوم بأتمتة العمليات الروتينية التي تستهلك وقتا وجهدا مكررا غالبا، ولذلك فإن عملية تحليل المتطلبات ومحاولة تجريدها كمفاهيم برمجية تبقى عملية تحتاج ذكاءا أعلى وعقلا تحليليا، وقد لا يمكن التماس ذلك مع متطلبات المشاريع الاعتيادية البسيطة. ولكن سيكون ذلك باديا كلما ازداد تعقيد المشروع ومتطلباته.
  2. تتضمن الدورة بالفعل مسارات تختص ببعض الجزئيات التي ذكرتها، من مثل المسارين الأخيرين: أساسيات هندسة البرمجيات. الخوارزميات وبنى المعطيات. هذا وتبقى كامل المسارات الأخرى أيضا تصب في نفس المحتوى، فهي تمكن الدارس بها من الالمام بجزئيات مختلفة من علوم الحاسب وهندسة البرمجيات، من مثل نظم التشغيل وقواعد البيانات وأساسيات الويب وما نحو ذلك.
  3. grid و flexbox من الأساسيات أصلا، لأنك سوف تحتاج تصميم صفحات ويب وهيكلتها وفق أشكال معينة. ولذلك ستحتاج بطبيعة الحال، الإعتماد على مختلف مفاهيم css ولن يكفيك مفهوم أو اثنين.
  4. من الواضح أن نزع كابل الهارد دسك قد أثر على عمل الكمبيوتر. ولذلك تحقق من الكابل واتصاله، تأكد من أنه قد تم توصيله بشكل صحيح في منفذ الهارد دسك على اللوحة الأم. قد يكون هناك توصيل فقد أو غير جيد. حاول أيضا فحص مصدر الطاقة: تحقق من أن الهارد دسك يتلقى الطاقة الكافية. تأكد من أن كابل الطاقة موصول بشكل صحيح وأن مصدر الطاقة يعمل بشكل جيد. حاول أيضا: استخدام كابل آخر ومنفذ آخر: جرب استخدام كابل آخر ومنفذ آخر على اللوحة الأم إذا كان ذلك ممكنًا. قد يكون هناك مشكلة في الكابل أو المنفذ. فحص الهارد دسك على كمبيوتر آخر: إذا كنت تمتلك كمبيوتر آخر، جرب توصيل الهارد دسك عليه للتحقق مما إذا كان الهارد دسك نفسه في حالة جيدة. إذا عمل على الكمبيوتر الآخر، فقد تكون المشكلة في الكمبيوتر الأول. استخدام برنامج استعادة البيانات: إذا لم تتمكن من الوصول إلى البيانات على الهارد دسك، قد تحتاج إلى استخدام برنامج استعادة البيانات لاسترجاع الملفات. هناك العديد من البرامج المتاحة مثل "Recuva" و "TestDisk".
  5. تحدث مثل هاته المشكلة غالبا بسبب مشكلة في إلغاء تشيفر ملفات تعريف الارتباط عند كل تشغيل أو تهيئة لتطبيق لارافيل جديد. يقترح كحل لهاته المشكلة، ترميز encoding ملفات تعريف الارتباط قبل تشفيرها إلغاء تشفيرها. افتح الملف: app/Http/Middleware/EncryptCookies.php وأضف التابع التالي: <?php namespace App\Http\Middleware; use Illuminate\Cookie\Middleware\EncryptCookies as Middleware; class EncryptCookies extends Middleware { /** * Decrypt the given cookie and return the value. * * @param string $name * @param string|array $cookie * @return string|array */ protected function decryptCookie($name, $cookie) { return parent::decryptCookie($name, is_array($cookie) ? $cookie : urldecode($cookie)); } } أعد تشغيل التطبيق وانظر ما ان اختفت المشكلة.
  6. الأمر بسيط، انظر ل pseudo elements على أنها محددات عناصر تختلف عن العنصر المحدد، في حين أن pseudo classes هي محددات تختص بالعنصر الحالي. أمثلة: Pseudo elements: عنصر after يتموضع افتراضيا بعد العنصر عنصر before يتموضع افتراضيا قبل العنصر عنصر first letter هو عنصر أول حرف من السلسلة النصية المحتواة في العنصر Pseudo classes: العنصر عند تمرير مؤشر الفأرة hover عنصر الرابط عندما يكون فعالا active فنكتب في الأولى: div:after div:before div:first-letter ونكتب في الثانية: div:hover a:active
  7. هذا بسبب اختلاف المسافات البادئة في الشيفرة التي لديك وتلك لدى صاحب المثال المرفق، فالمسافات البادئة في بايثون مهمة وتحدد مختلف الكتل ومستواها، أصلح ذلك ليكون: num = 1 for i in range(0,4): for j in range(0, i +1): print(num, end = ' ') num+=1 print() وليس: num = 1 for i in range(0,4): for j in range(0, i +1): print(num, end = ' ') num+=1 print()
  8. لا أظن أن هنالك علاقة لـ edge بذلك، جربي فتح المشروع باستخدام chrome أو firefox، هل هنالك أي مشكلة بهما هما أيضا؟
  9. حسن، حاولي ارفاق ملفات المشروع لننظر فيها، لا يبدوا بالشيفرات أي مشكلة.
  10. طيب، حاولي فتح نافذة console والتقطي لنا صورة، لربما هنالك مشكلة ما.
  11. انتبهي إلى أن هنالك خطأ في كتابة write فأنت تكتبينها writw، أي بدل السياق: document.writw(a + b) نكتب: document.write(a + b)
  12. بجانب ما تفضل المدرب اسامة بشرحه، تعتبر Agile واحدة من أكثر الفلسفات والمناهج والمقاربات المعتمدة في تطوير المشاريع على وجه عام، ومشاريع المنتجات الرقمية على وجه خاص. فالمنهجية تتضمن بيانا يلخص مجموعة الفلسفات والأفكار التي تعتقدها تلخص عادة في بيان Agile أو Agile Manifesto، حيث يتضمن مجموعة من القيم يعطيها اعتبارا كبيرا على مجموعة أخرى وهي: الأفراد والتفاعلات على العمليات والأدوات: بمعنى أن الأدوات والعمليات مهمة، ولكن الأهم هو وجود أشخاص أكفاء يعملون معًا بفعالية. البرمجيات الفعالة على الوثائق الشاملة: بحيث تعتقد التوثيق الجيد يعد مفيدًا في مساعدة الأشخاص على فهم كيفية إنشاء البرنامج وكيفية استخدامه، ولكن النقطة الأساسية في التطوير هي إنشاء البرنامج، وليس التوثيق. تعاون العملاء على التفاوض على العقود: العقد مهم ولكنه ليس بديلاً عن العمل بشكل وثيق مع العملاء لاكتشاف ما يحتاجون إليه. الاستجابة للتغيرات على الالتزام بخطة: تعتبر خطة المشروع مهمة، ولكن يجب ألا تكون صارمة للغاية بحيث لا تتناسب مع التغيرات في التكنولوجيا أو البيئة. بجانب هذا، تتبنى الفلسفة مجموعة مبادئ تلخصها في 12 مبدأ تتبنى هاته التأويلات. يأتي Scrum هنا كإطار عمل لهاته الفلسفة، فهو يتبنى هاته الأفكار في مجموعة خطوات عملية تعتمدها فرق تطوير البرمجيات عادة للتعامل مع مشاريع المنتجات الرقمية. ولشدة شيوعها فإن الكثير من الشركات تطلب الإلمام بمبادئ وخطوات إطار العمل هذا للعمل في الفرق التي تديرها. هذا هو الموضوع باختصار.
  13. مرحبا محمد، هذا صحيح، ولكن التعليقات في الأكاديمية تخضع لرقابة دائمة من قبل المشرفين والمدربين، ولذلك فإن أي سلوك من مثل هذا سيؤدي بالطالب إلى حظره أو انتهاج سلوك معين معه. كما أنه من غير المبرر أن يقوم الطالب بذلك ويعرض نفسه لعواقب مثل هكذا فعل. كما أن التعديل على أي تعليق سيظهر مقترنا بالتاريخ المعدل عليه فيه بالإضافة إلى سبب التعديل إن أضافه. كما أن امكانية التعديل تتيح للطلبة مرونة أكثر، فقد يحدث أن يتوصل الطالب إلى حل أثناء عمل المدرب على مشلكته، هاهنا سوف لن يكون هنالك مدعى من مساعدة المشرف أو المدرب للطالب.
  14. 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 التي تتناول أغلب هاته الجزئيات.
  15. إن كانت الشيفرة المرفقة: $(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>
  16. لا أظن أن ذلك متاح، لا يمكن محو سؤال تم نشره في الأكاديمية. في حالة الحاجة، يمكنك بدل ذلك القيام بتعديله، ووضع بدل السؤال نقطة أو فاصلة وكتابة "حذف السؤال" مكان التبرير، سوف يمكن لأحد المشرفين آنذاك إخفاء سؤالك بشكل تام.
  17. استعمل محررات الأكواد للإحتفاظ بشيفرة معينة في ملف معين، قم أولا بإنشاء ملف معين. أعطه اسما وليكن index.html ولنضعه على سطح المكتب. قم بفتح الملف باستخدام vs code مثلا. قم بكتابة الشيفرة التي تريد حفظها. احفظ الملف باختيار save من القائمة file أو باستخدام اختصار لوحة المفاتيح ctrl + s. أغلق المحرر. سوف يمكنك مستقبلا العودة لهذا الملف واستعراض محتواه أو تعديله بنفس الطريقة باستخدام vs code.
  18. غرض التركيز على شيء واحد في البداية هو غالبا لضمان عدم التشتت بجانب ضمان استفادة قصوى مما يحاول الطالب تعلمه، ولذلك فإن التعرض للعديد من المصادر المختلفة بشأن معلومة ما أو التعرض لمادة علمية تختلف كليا عما يحاول تعلمه قد يؤدي به إلى عدم إلتقاط أي منهما، فبدل أن يزود جهوده لإكتساب معارف أكثر، سوف يجد نفسه لم يكتسب ولا واحدة فيهما. ولذلك، في البداية قد لا يكون ذلك ضروريا وقد يغلب ضره على نفعه، ولكن لا مشكلة في ذلك مع التقدم في المسارات وتحسن مستواك. فمع تقدمك، سوف تزداد قدرتك الاستيعابية ومقدرتك على التنظيم والفهم. وعليه، فإن واحدة من أفضل المقاربات غالبا لذلك هي تعلم مادة علمية ثانية بالتوازي مع مادة علمية أخرى بشرط أن يكون المتعلم قد تقدم في إحداهما. أيضا انظر للدافع من وراء ذلك، ما الذي يستعجلك للقيام بذلك؟ هل هو الوقت، الفضول أو أي شيء بالضبط؟ فإن لم يكن سببا واقعيا أو دافعا ملحا ما عليك إلا تجاهله، وتذكر أن طريق التعلم لا تقطع إلا واحدة واحدة، ولا يمكن بأي حال من الأحوال اختصار الطريق أو القفز للمرحلة الأخيرة مرة واحدة.
  19. جرب وضع الصورة كعنصر 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 الخاصة بالصورة لتظهر خلف العناصر. طبعا لا تنسى التخلص من الشيفرات الخاصة بالخلفية لكي يتم ذلك بصورة صحيحة.
  20. أظن أن المشكلة التي تحدث هي على مستوى العميل وليس على مستوى الخادم، لأن ما يحدث على مستوى الخادم منطقي وشيء عادي، ومتى ما تلقى الخادم معرفا صحيحا فهو سيقوم بحذف المستخدم وفق الشروط المقدمة. كما أن الخطأ يظهر على مستوى المتصفح، مما يعني أن الخادم لا دخل فيه. الخطأ يشير تحديد إلى مشكلة بقراءة الخاصية id_ من currentUser، والتي يبدوا أن هنالك مشكلة بتصريحها بداخل مكون رياكت. ابحث عن الأسطر الخاصة بها وانظر ما ان كنت تقوم بتصريحها على وجه صحيح. أيضا تأكد من ما ان كانت القيمة مساوية لـ null : const handleDelete = async () => { console.log(currentUser) /*const deleteProfile = await axios.delete(`/users/${currentUser._id}`); dispatch(logout()); navigate("/signin");*/ } في حال ما كان ذلك، أعد النظر في طريقة تصريحك لـ currentUser
  21. مثل هذا السؤال عام جدا، ولكن عموما، لتصميم تطبيق لنظام Android، يجب أن تتعلم البرمجة باستخدام لغة Java أو Kotlin، والاستفادة من Android Studio كبيئة تطوير متكاملة (IDE) لبناء التطبيقات. فيما يلي بعض الخطوات الأساسية الشائعة عادة للبدء في تصميم تطبيق Android: تعلم لغة البرمجة: تعلم أساسيات إحدى لغات البرمجة المدعومة في تطوير تطبيقات Android، وهي Java و Kotlin. تستطيع الاختيار بينهما بناءً على تفضيلاتك والمصادر المتاحة للتعلم. تثبيت Android Studio: حمل وقم بتثبيت بيئة تطوير Android Studio من الموقع الرسمي للأداة. ستجد العديد من الدروس عبر الإنترنت لمساعدتك في تثبيتها وإعدادها. دراسة أساسيات تطوير التطبيقات: تعلم أساسيات تطوير التطبيقات من خلال القراءة والمتابعة لدروس ومصادر تعليمية متاحة عبر الإنترنت. يمكنك البدء بتصميم وتطوير تطبيقات بسيطة وزيادة تعقيد المشاريع تدريجياً. تصميم واجهة المستخدم (UI): استخدم محرر واجهة المستخدم في Android Studio لتصميم واجهة المستخدم الخاصة بتطبيقك. يمكنك استخدام تخطيطات مسبقة، أو تصميم واجهة مخصصة. قد يكون من العملي أكثر أخذ نظر أعم عن مجال البرمجة ككل قبل الإنطلاق في تطوير تطبيقات الأندرويد، المقالة التالية تأخذك من الصفر عبر كل ذلك:
  22. بشكل عام؟ لا أظن ذلك، ولكنه سيقوم باستهلاك بعض موارد الحاسوب أثناء عملية التطوير، البناء والتشغيل. فبرنامج Expo يستخدم موارد الحاسوب مثل الذاكرة العشوائية (RAM) ووحدة المعالجة المركزية (CPU) لتشغيل الخدمات والمحاكاة المحلية أثناء تطوير التطبيق. قد يكون هناك تأثير على أداء الحاسوب إذا كانت الموارد محدودة. أيضا إذا قررت استخدام المحاكي لاختبار التطبيق على جهاز محاكي مثل Android Emulator أو iOS Simulator، فسيتطلب ذلك المزيد من الموارد مقارنةً بتشغيل تطبيقات عادية بطبيعة الحال. نفس الشيء بالنسبة لاستخدام موارد الشبكة، خلال تطوير التطبيق باستخدام Expo، قد تقوم بتحميل البيانات من الإنترنت أو التفاعل مع خوادم أخرى، وهذا قد يستهلك موارد الشبكة ويؤثر على استقرار الاتصال.
  23. عادة ما يتم خزنها في ملف env. على الخادم يكون الوصول إليها متاحا من قبل التطبيق فقط، وبوساطة حزم ومكاتب مثل dotenv سوف يكون من السهل إدارة هاته المفاتيح أو الوصول إليها من خلال تطبيقك. قد تتوفر بعض الاستضافات من مثل Heroku أو AWS على خدمات إدارة المفاتيح ضمن ميزات خطط استضافتها، وهي توفر تشفيرا وأمانا أعلى من السابق. بحيث يتم تصريحها ضمن استمارات ونماذج في الاستضافة ضمن نطاق التطبيق، وسيمكن الوصول إليها من قبل التطبيق بشكل عادي. أما بخصوص سؤالك عن طريقة قراءة المتغيرات، فلا حاجة لتغييرها أثناء عملية البناء والنشر (مثل توليد الإصدار النهائي من التطبيق)، يمكنك الاستمرار في اعتماد الطريقة مادام ملف متغيرات البيئة مؤمنا.
×
×
  • أضف...