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

Adnane Kadri

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

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

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

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

    51

آخر يوم ربح فيه Adnane Kadri هو فبراير 2

Adnane Kadri حاصل على أكثر محتوى إعجابًا!

المعلومات الشخصية

  • النبذة الشخصية
    مطور ويب شامل ومدرب معتمد في أكاديمية حسوب، ملم بالعديد من التقنيات ومهتم بمساعدة الطلبة في التعامل مع مشاكلهم البرمجية وبالاجابة على تساؤلاتهم واستفساراتهم في مجال تطوير تطبيقات الويب.

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات Adnane Kadri

عضو نشيط

عضو نشيط (3/3)

2.6k

السمعة بالموقع

203

إجابات الأسئلة

  1. التوثيقات بشكل عام مهمة وضرورية لفهم آلية عمل وسير أي لغة وأي إطار عمل بحيث توضح كيفية التعامل معها أو الاستفادة منها، وذلك بشكل أشمل. وكذلك: توضيح الوظائف والميزات احتواءها على أمثلة واقعية. احتواءها على توجيهات وتفضيلات الاستخدام. تحتوي شرحا للتوافق والاعتماديات ومتطلبات التشغيل. فيما يتعلق بمكتبة مثل NumPy، ليس من الضروري أن تعرف كل شيء عنها. ومع ذلك، من المفيد أن تكون قادرا على فهم الأساسيات وكيفية استخدام الوظائف الرئيسية التي تحتاجها في مشروعك. سيساعدك الاطلاع على التوثيق في فهم كيفية استخدام NumPy بشكل أكبر وأكثر فعالية، ولكن لا تحتاج إلى معرفة كل جزء من التفاصيل بطبيعة الحال، فالتوثيق رغم ذلك يبقى مرجعا يسهل العودة إليه للاستفادة منه ومما يشرحه.
  2. يمكنك الاستماع للحدث beforeunload للقيام بأي أكشن قبل مغادرة المستخدم الصفحة، قبل ذلك ستحتاج تعطيل السلوك الافتراضي لهذا الحدث، ثم القيام بذلك بشكل مخصص. إليك مثالا: window.addEventListener('beforeunload', function (e) { e.preventDefault(); e.returnValue = ''; return ''; }); function confirmExit() { return confirm("اذا غادرت الصفحة لن يتم حفظ البيانات. هل ترغب في المغادرة؟"); } أو نحوه: <body onbeforeunload="return confirmExit()"> الأحداث المتعلقة بدورة حياة صفحة HTML وكيفية التحكم بها عبر جافاسكربت
  3. لا، على الرغم من أن Python مدعومة بشكل طبيعي في macOS ويمكن تشغيل البرامج التي تستخدم Python على أجهزة Mac، إلا أن لغة Python لا تستخدم على نطاق واسع في تطوير تطبيقات iOS لأجهزة iPhone وiPad أو تطبيقات macOS لأجهزة Mac وغيرها من منتجات Apple. هنالك لغات برمجة أخرى مثل Swift و Objective-C تستخدم على نطاق أوسع لتطوير تطبيقات iOS و macOS. في حين أن بايثون غالبًا ما يستخدم في تطبيقات الخادم وتطوير الويب وتطبيقات الذكاء الصناعي، ولكنه يمكن استخدامه في بعض التطبيقات المحمولة باستخدام إطار عمل مثل Kivy أو PyObjC.
  4. يمكنك استعمال المحددات الزائفة الأخرى أيضا، ونذكر: ::selection ::first-letter ::first-line ::marker بجانب أنه يمكنك القيام بالعملية بشكل قياسي، ضف العنصر ضمن هيكلة HTML وليكن div آخر أو غيره، ثم قم بتنسيقه باستخدام CSS بشكل عادي. سوف يعطيك ذاك تحكما أكبر في الهيكلة وفي الكود.
  5. لا يبدوا بالشيفرة أي مشكلة. يرجح أن تكون المشكلة بسبب إعدادات الأمان في المتصفح أو في الخادم. فهذا السلوك يحدث عندما يتم فتح موقع عبر HTTPS وتتم محاولة الوصول إلى API الحافظة (navigator.clipboard.writeText) عبر HTTP. جرب الوصول إلى الموقع باستخدام HTTPS وانظر ما ان حلت المشكلة.
  6. قم بفحص مدخلات المستخدم عن طريق الاستمارة ثم قم بتنفيذ استعلام قاعدة بيانات لجلب ذلك العدد ثم قم بتنفيذ عملية الطرح ببساطة. اليك مثالا: <form action="{{ route('form.submit') }}" method="POST"> @csrf @method('POST') <input type="number" name="number" /> <button type="submit">submit</button> </form> ثم قم بتعريف المسار المعني: Route::post('/form/submit', function(Request $request){ $number = $request->number; $storedNumber = MyModel::first()->my_number; $result = (int) $number - $storedNumber; // بقية الكود })->name('form.submit'); قد تحتاج كخطوة اضافية فحص ادخال العدد والتأكد من أنه عدد بالفعل. Route::post('/form/submit', function(Request $request){ $request->validate(['number' => 'integer']); $number = $request->number; $storedNumber = MyModel::first()->my_number; $result = (int) $number - $storedNumber; // بقية الكود })->name('form.submit');
  7. بجانب ما اقترح مصطفى يمكنك أيضا التعديل على قيمة متغير الحالة notes - خصوصا وأنها قيم اختبارية: const [notes, setNotes] = useState([ { id: 1, text: "test", date: (new Date()).toLocaleString(), }, { id: 2, text: "test", date: (new Date()).toLocaleString(), }, { id: 3, text: "test", date: (new Date()).toLocaleString(), }, ])
  8. انتبه إلى أن هنالك خطأ في التعرف على عنصر Modal المرافق، إذ يتم تصريحه كـ: <div class="card modal fade" id="Model" في حين يتم ارفاقه للخاصية data-bs-modal كـ: <div class="text" data-bs-toggle="modal" data-bs-target="#Modal"> تأكد من جعلهما مماثلين حتى يمكن التعرف عليها. أيضا لا تنسى مراجعة هيكل عنصر model في نفسه، لا يبدوا أنه يتم توصيفه بشكل صحيح. ان كانت المشكلة تتعلق بدورة ما، يقترح نشر السؤال في قسم تعليقات الطلبة المرافق للدرس وسيتم المتابعة معك هنالك.
  9. مراحل هندسة البرمجيات والتي يختصر لها بـ SDLC اختصارا عن Software Development Life Cycle غالبا ما تتبع منهجا موحدا وهو كالتالي: البحث والتخطيط Planning & Analaysis: ويتم فيه هاته المرحلة تحليل متطلبات العميل وفهمها وتحديد مختلف احتياجات المشروع من تجهيزات بشرية ومادية وكذلك بناء مخططات حالات الاستخدام وقصص المستخدمين وما الى ذلك .. التصميم Design: في هاته المرحلة يتم بناء مختلف واجهات الاستخدام وتخريجها كتصميم UI/UX .. التطوير Development: يتم تسليم مختلف التصاميم والمخططات لفرق التطوير للعمل على التطبيق وبناءه ويشمل ذاك تطوير الواجهات الأمامية والخلفية. الاختبار Testing: يتم تقديم ناتج المرحلة السابقة لفرق الاختبار لاختبار مختلف حالات الاستخدام التي تم تحديدها في المرحلة الأولى، ويتم التأكد من استيفاءها للغرض إما بشكل مؤتمت Automated أو بشكل يدوي من وجهة نظر المستخدم النهائي end user perspective .. النشر والتكامل Deployment & Integegration: يتم هاهنا نشر التطبيق والتأكد من تكامله مع مختلف البيئات المستهدفة التي سينشط فيها. الصيانة والمتابعة Maintenance: بعد نشر التطبيق يتم متابعته بشكل دائم لصيانة أي أعطال أو التخلص من أي مشاكل .. وقد يتم تقديم بعض هاته المراحل أو دمجها في بعض الأساليب البرمجية من مثل أسلوب TDD أين يتم دمج مرحلة الاختبار مع التطوير أو BDD أو غيرها .. وكل ذاك بحسب مرونة المشروع أو بحسب النهج المستخدم مثل نهج Agile..
  10. تأكد من أن الصفحة التي تعرض الملف تقوم بعرضه لكي تعمل خاصية download بصورة صحيحة. إليك مثالا: download.php: <?php $file = "http://example.com/". $_GET['file']; header("Content-Description: File Transfer"); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"". basename($file) ."\""); readfile ($file); exit(); ?> فيكون الرابط: echo '<p><a href="http://example.com/download.php?file='.$filename.'" target="_blank" download>اضغط هنا للتحميل ملف النسخ الأحتياطي</a></p></h3>';
  11. أظن أن مثل هاته الفكرة موجودة بالفعل في مفاهيم مثل شجرة دوم الافتراضية Virtual DOM وما تقوم به مكتبات وأطر الجافاسكربت الحديثة بالفعل، فهي تقوم بتصيير محتوى HTML وهيكلته وضبط تنسيقاته من خلال تنفيذ أكواد جافاسكربت على المتصفح. ولذلك فهي ليست بالفكرة الجديدة. انتبه أيضا الى عيوب هاته الفكرة من حيث أن ناتج تصيير العناصر لن يتم أرشفته على محركات البحث، فمحركات البحث لن تستطيع الوصول لمحتوى جافاسكربت، فهو محتوى يتم عرضه بعد فتح الصفحة وليس عند طلب المورد من الخادم. أيضا انتبه إلى هدفك وما القيمة التي ستقدمها من خلال القيام بهاته الفكرة، ولما يجب عليك ذلك بدل كتابة شيفرة HTML و CSS قياسية. تأكد من أن أهدافك تتطلب هاته الفكرة.
  12. للنظر ما ان كنت جاهزا لامتحان الدورة وأخذ الشهادة أو لا تأكد من أنك تستوفي شروط الامتحان، والتي هي: إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتج رفع المشاريع على حسابك على GitHub وفي حال ما كان ذلك، يمكنك التقدم الى الامتحان وطلب ذلك، يمكنك الإطلاع تفاصيل أكثر من هنا: الامتحان والحصول على الشهادة
  13. أغلبية مصطلحات البرمجة وهندسة الحاسوب تحمل مفاهيم دلالية تعبر عما تعنيه بالضبط، فكلمة Entity تترجم لكيان في حين أن كلمة Object تترجم لكائن، ولذلك فإن Entity في قواعد البيانات عادة ما يمثل شيئا محددا في العالم الحقيقي مثل شخص، مكان، حدث، أو شيء آخر قابل للتخزين في قاعدة البيانات. ويمكن أن يتكون هذا الكيان من عدة متغيرات أو أعمدة (Columns) تمثل السمات (Attributes) أو الخصائص التي تميز هذا الكيان عن غيره. أما بالنسبة لـ Object في لغات البرمجة فيُعرف عادةً كتجسيم لكيان يمثل شيئًا معينًا أو كائنًا في البرنامج. بحيث يتكون هذا الكائن من البيانات (الخصائص) والسلوك (الطرق أو الوظائف) التي تعبر عنه. وتتمثل وظيفته في تحقيق الوظائف المحددة التي يتوقعها المبرمج أو المستخدم من البرنامج. كما يمكن أن تتفاعل هاته الكائنات مع بعضها البعض أو مع مكونات النظام الأخرى لتحقيق أهداف محددة. هاته هي الفكرة باختصار.
  14. بما أنك قد تقدمت في المشروع فمن الصعب تطبيق ذلك وإلا سيكون ذلك بجهد كبير، ولكن مبدئيا، يمكنك العناية أكثر بالأكواد واستخدام short open tags وعزل خرج HTML كملفات عروض views في مجلد منفصل،
  15. لتسهيل عملية فصل الأكواد HTML عن الـ PHP في مشروعك، استخدم مفهوم الـ Templating. بحيث يتيح لك الـ Templating فصل أكواد HTML وPHP بشكل أكبر ويساعدك في تطبيق مبدأ فصل المهام seperating of concerns والذي هو مبدأ مهم من مبادئ علوم الحاسب، قد يمكنك أيضا توزيع المشروع ضمن معمارية مشهورة مثل MVC لفصل مهام التطبيق وجعل التطبيق يتواصل مع بعضه داخليا بشكل أكبر وأكثر فعالية، قد يمكنك ايضا الاستفادة مما تقدمه أطر عمل من مثل Laravel لاستخدام محركات القوالب الخاصة بها، مثل blade في Laravel. كما يمكنك استعمال محرك قوالب منفصل مثل Smarty لمشروع native PHP. اقرأ عنه أكثر من هنا.
×
×
  • أضف...