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

Adnane Kadri

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

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

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

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

    52

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

  1. نص "#!/usr/bin/php" الذي يظهر في أعلى الصفحة غالبًا ما يكون نتيجة لعدم تشغيل السيرفر بشكل صحيح أو استخدام نسخة PHP غير صحيحة. ولذلك تأكد من مطابقة نسخة PHP المستعملة للنسخة المطلوبة من قبل التطبيق. في حال استمرار المشكلة، افتح ملف index.php وقم في أوله بحقن السطر التالي: <?php @ob_end_clean(); if(ini_get('output_buffering')) ob_start(); وانظر ما ان اختفت المشكلة.
  2. لا توجد طريقة مباشرة لذلك، ولكن ستحتاج القيام بذلك بشكل يدوي بالفعل. Ionic يستخدم HTML و CSS لبناء واجهة المستخدم، وReact Native يستخدم JSX و CSS-in-JS (مثل Styled Components) لبناء واجهة المستخدم. إليك بعض الخطوات التي يمكن أن تساعدك في هذا الاتجاه: قم بتحليل التطبيق الحالي في Ionic وحدد المكونات والتصميمات التي تريد نقلها إلى React Native. قم بإعادة إنشاء المكونات باستخدام React Native components بدلاً من Ionic components. أعد إنشاء التصميم باستخدام CSS-in-JS أو Styled Components في React Native. قم بإعادة استخدام الخدمات والمنطق الخاصة بك إذا كانت مكتوبة باستخدام JavaScript/TypeScript. يمكنك استخدام Android Studio لبناء واختبار تطبيق React Native الخاص بك على منصة Android. قم بتجربة التطبيق على محاكي Android Studio أو على جهاز Android فعلي. بعد أن يعمل التطبيق بنجاح على Android، يمكنك التوسع لدعم منصة iOS باستخدام Xcode. طبعا فإن مثل هاته الخطوة تحتاج إلماما بكل الأدوات التي يجب عليك الاشتغال بها.
  3. لتصبح مطورا لمنصات Apple، مثل iOS (لأجهزة iPhone و iPad) و macOS (لأجهزة Mac)، يمكنك اتباع التالي: قم بتعلم البرمجة: لتطوير تطبيقات iOS، يمكنك تعلم لغة Swift واستخدام بيئة تطوير Xcode. لتطوير تطبيقات macOS، يمكنك أيضًا استخدام Swift مع Xcode أو تعلم لغة Objective-C. قم باستكشاف موارد Apple للمطورين: فهي تقدم موارد غنية للمطورين على موقعها الرسمي. مثل برامج تعليمية وتوثيقات رسمية وما إلى ذلك. قم بالانضمام إلى برنامج المطورين: إذ سيكون لديك وصول إلى موارد إضافية وإمكانية تحميل إصدارات التجريبية من نظام التشغيل (iOS/macOS) لتطوير تطبيقاتك. قم ببناء تطبيقات تجريبية لتطبيق المفاهيم والمهارات التي اكتسبتها. بعد تطوير تطبيقك، يمكنك تقديمه إلى متجر التطبيقات الخاص بـ Apple ليتمكن المستخدمون من تنزيله. عن مميزات الوظيفة: فرصة الوصول إلى جمهور كبير من مستخدمي الأجهزة الذكية والحواسيب الشخصية. الوصول إلى مصادر تطوير غنية من Apple، بما في ذلك WWDC والموارد الرسمية. إمكانية تحقيق أرباح من تطبيقاتهم من خلال متجر التطبيقات.
  4. ما تقصده هو عنوان ايميل احترافي، مثل: contact@hadi.dev ومثل هاته العناوين لا تعطى بشكل مجاني، ولكن ترفق ضمن حساب ايميل عند شراء الدومين أو عند شراء خطة استضافة تشمل الحصول على دومين وحسابات إيميل مرفقة له. ولذلك ستحتاج لكل من: اختيار مزود خدمة نطاق (Domain Provider) مثل نيمشيب أو هوستنجر البحث عن نطاق متاح شراء النطاق تكوين إعدادات DNS استخدام بريد مخصص من لوحة تحكم مزود الخدمة
  5. يمكنك البحث عن بعض الدورات المتخصصة في يوتيوب والتي تكون بشكل مرئي. مثال: Django crash course من Traversy Media Python Django 7 Hour Course من Traversy Media Python Django Web Framework - Full Course for Beginners من freeCodeCamp ايضا، يمكنك البحث عن الكورسات التي يتم عرضها بشكل مجاني على منصات الكورسات من مثل Coursera و Udemy. أيضا يمكنك الاستفادة من المحتوى المكتوب المنشور على أكاديمية حسوب هنا.
  6. أظن أن قوقل لا تقوم بتوفير ذلك بصورة مباشرة أو بوساطة Embed ، ولذلك وفكرة قم فقط بحقن رابط تشعبي يشر إلى صفحة التقييم وأعطه بعض التنسيقات اللازمة: <a href="https://play.google.com/store/apps/details?id=com.example.package_name" target="_blank"> قيم التطبيق على جوجل </a>
  7. وعليكم السلام، الاحتفاظ بالملفات والمشاريع مطلوب في المسارات التطبيقية وليس في المسارات النظرية أو تلك التي يغلب عليها الشرح النظري وطرح الأمثلة. ولذلك لا تقلق، لا يزال بإمكانك اجتياز الامتحان. قم بتقديم ما لخصته من دروس على أنها نتاج الشروحات النظرية وسيكون ذلك كافيا. أيضا لا يزال أمامك بعض المسارات الأخرى: الخورازميات وبنى المعطيات أنماط التصميم أساسيات هندسة البرمجيات قم بالاحتفاظ بما ينتج عنها من مشاريع عملية وقم بتقديمها هي الأخرى حين التقدم للامتحان. وفي حال ما طلبت منك التمارين الأخرى، قم بشرح وضعيتك لفريق الامتحان وسيكونون متفهمين لذلك.
  8. إليك بعض التوجيهات العامة التي تساعدك في حل الواجب: استخدام مفهوم range: في Python، range(start, stop) قم بإنشاء تسلسل من الأعداد من start حتى stop-1. يمكنك استخدام هذه الميزة لتوليد مجموعة من الأعداد بين A و B. استخدام دورة تكرار (for): استخدم دورة for للانتقال عبر الأعداد في المجموعة التي تم إنشاؤها باستخدام range. في كل تكرار، قم بجمع العدد الحالي إلى المجموع الكلي. تحديد نقاط البداية والنهاية بشكل صحيح: تأكد من تضمين العددين A و B في الجمع. استخدام متغير لتخزين الناتج: قم بإنشاء متغير لتخزين المجموع النهائي وقم بتحديثه في كل دورة. طباعة النتيجة: بمجرد الانتهاء من حساب المجموع، قم بطباعة النتيجة.
  9. الإجابة على مثل هكذا سؤال تعتمد على عدة عوامل بما في ذلك خلفية المطور، والمشروع الذي يعمل عليه، والأدوات التي يستخدمها وما إلى ذلك، فخبرة الشخص بمجال العمل تحدد سرعة عمله وجودته، وقد يقوم مطور ويب خبير بالعمل بإنتاجية أكبر من مطور جوال مبتدئ، بل وحتى من مطور ويب مبتدئ في نفس مجاله وعلى نفس المشروع. كما أن هذا يعتمد أيضا على نوع المشروع، فبعض المشاريع تكون أكثر تعقيدا على بعض المنصات مقارنة بأخرى، مثل التعامل مع أحداث الاستشعار واللمس والسحب في الهاتف. أو يحدث أن نجد بعض حالات الاستخدام التي يسهل تطبيقها على الويب، في حين أنها تحتاج تخصيصا أكبر لجعلها تعمل على الهاتف. هنالك أيضا بعض الأدوات واللغات الملائمة للمشروع يمكن أن يساعد على زيادة الكفاءة. من مثل Flutter وReact Native تسمح لك ببناء تطبيق واحد يعمل على نظامي التشغيل iOS و Android، مما يقلل من الوقت اللازم لتطوير التطبيق. في الملخص، لا يوجد جواب واحد يناسب الجميع. يفضل عليك تقييم متطلبات مشروعك الخاص ومهاراتك الحالية لاتخاذ القرار الأمثل.
  10. العد يبدأ من الصفر لكل من الصفوف والأعمدة. لذا، الصف الأول يمثله الرقم 0، والعمود الأول يمثله الرقم 0 وهكذا ..
  11. يمكنك استخدام قوس مربعي فارغ لتحديد الصفوف الكل (:) واختيار الأعمدة المطلوبة. على سبيل المثال، إذا كنت تريد اختيار العمودين 2 و 3 وتجاهل العمود 4 وتحتاج العمود 5، يمكنك القيام بذلك كما يلي: selected_columns = df.iloc[3:, [2, 3, 5]] سيشتمل هذا على الصفوف من الصف 3 وما بعدها، والأعمدة 2 و 3 و 5.
  12. الجزء df.iloc[3:, 2:4] يستخدم لتحديد جزء معين من DataFrame باستخدام تقديم الصفوف والأعمدة المحددة. فـ: 3:: يعني ابتداءً من الصف رقم 3 وحتى نهاية الصفوف. هذا يتجاوز الصفوف الثلاثة الأولى (التي قد تحتوي على عناوين الأعمدة أو معلومات غير ضرورية). 2:4: يعني ابتداءً من العمود رقم 2 وحتى العمود رقم 3. وهكذا يتم اختيار العمودين الثاني والثالث مع تجاوز أول ثلاث صفوف في كل منها.
  13. الكود الذي كتبته لإنشاء DataFrame يبدو صحيحا بشكل عام، ولكن إليك طريقة أفضل لتحديد الأعمدة وإعطائها أسماء: # اختيار الأعمدة المحددة من DataFrame الأصلي selected_columns = df.iloc[3:, 2:4] # تحديد أسماء الأعمدة column_names = ['الأول', 'الثاني'] # إنشاء DataFrame df1 = pd.DataFrame(selected_columns.values, columns=column_names) بهذه الطريقة، سيتم تحديد الأعمدة 2 و 3 من DataFrame الأصلي (iloc[3:, 2:4]) وتخزينها في المتحول selected_columns. ثم تحديد أسماء الأعمدة وأخيرًا إنشاء DataFrame جديد باستخدام هذه الأعمدة وأسمائها.
  14. مبدئيا، لا فرق بينهما غير أن كلاهما طريقتان لهيكلة المشروع والتطبيق. على أن الطريقة الأولى أفضل (وضع المكونات في App.js)، وذلك لأن App هاهنا يعتبر مكونا جذرا تتفرع عنه باقي المكونات والصفحات بما في ذلك مكونات القالب العام مثل Header و Footer. ثم سيكون من السهل حقن هذا المكون داخل العنصر الجذر Root Element الذي يقوم تطبيق رياكت باستهدافه وانشاء التطبيق عليه. ميزة أخرى يمكن الاستفادة منها، وهي قابلية التطبيق للتوسع. ولنقل مثلا أننا قمنا بإطلاق إصدار ثان من التطبيق. آنذاك سوف لن يكون علينا إلا استبدال المكون الجذر App في صفحة index.js بالمكون الجذر الجديد الذي يحوي التطبيق الجديد دون استبدال أي مكونات فرعية أخرى. ملف index.js أيضا يعتبر ملفا رئيسيا يقوم باحتواء كامل عناصر التطبيق وملفاته ولواحقه ومكتباته، ويقوم بتهيئتها وتجهيزها للإستعمال المباشر. في حين أن App لا يعدو أن يكون مجرد مكون لا يفترض أن يتم فيه تهيئة أو تضمين أي ملفات خارجية، إلا في سياق يخصه.
  15. الشيفرة عبارة عن هيكلة HTML باستخدام وسوم HTML العادية وقواعد CSS العادية. بالنسبة للجزء الذي يخص عرض حاوية المحتوى، فهو مجرد تنسيق لها في حالتين: لما تكون القائمة الجانبية مفتوحة، يعطى لها هامش جانبي بقيمة 250 بكسل لأن القائمة تكون مفتوحة في هذا المكان. لما تكون القائمة معلقة، يعطى لها هامش جانبي بقيمة 0 بكسل لأن القائمة مغلقة ولا داعي لسحب المحتوى بـ 250 بكسل.
  16. لبناء قائمة جانبية قم أولا بتوصيف الهيكلة اللازمة: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="styles.css"> <title>Sidebar Example</title> </head> <body class="side-opened"> <div class="sidebar"> <div class="logo"> // </div> <ul class="nav-list"> <li><a href="#">رابط</a></li> <li><a href="#">رابط</a></li> <li><a href="#">رابط</a></li> <li><a href="#">رابط</a></li> </ul> </div> <div class="content"> <!-- المحتوى الرئيسي هنا --> </div> </body> </html> ثم أعط العناصر الموصوفة التنسيقات اللازمة: body { margin: 0; } .sidebar { height: 100vh; width: 250px; background-color: #333; position: fixed; left: 0; top: 0; overflow-x: hidden; padding-top: 20px; } .nav-list { list-style-type: none; padding: 0; } .nav-list li { padding: 10px; text-align: center; } .nav-list a { text-decoration: none; color: white; font-size: 18px; display: block; } .content { padding: 16px; } body.side-opened .content{ margin-left: 250px; } انتبه إلى أن العنصر content. يتم سحبه بـ 250 بكسل لما يكون الكلاس side-opened مسندا إلى عنصر body، ولذلك سيمكنك القيام بتبديل هذا الكلاس على عنصر body لفتح وإغلاق القائمة الجانبية. يمكن أن تسند هاته الوظيفة لزر معين.
  17. كلتا الطريقتان تمتلكان غرضا معينا، ولا يمكن الاستغناء بواحدة عن الأخرى ولكن في أغلب الحالات يتم التعامل مع تنسيقات css كملف خارجي بدل وضعها ضمن وسمي style في ملف html. ، وهذا لأن ذلك قد يحجز الكثير من حجم الملف إلى أن يكون التوسع في الملف والكتابة فيه متعذرا أو صعبا. ولذلك عموما، قم بفصل الملفين، إلا في حالات نادرة منها مثلا: أن تكون التنسيقات المضافة قليلة ولا تحجز حجما كبيرا من مساحة الملف أو طوله. أن تكون التنسيقات المضافة ديناميكية، كأن يتم توليدها من قبل لغة واجهة خلفية أو إطار عمل ما.
  18. لا يتم امتحان الطلبة في كل درس، ولكن في نهاية الدورة فقط .. ولاجتياز امتحان الدورة شروط، هي: أن يكون الطالب قد أتم على الأقل أربعة مسارات تعليمية. أن يكون قد التزم بالتطبيق العملي مع المدرب واحتفظ بمشاريعه. أن يقوم برفع مشاريعه على غيتهب لمشاركتها مع فريق الاختبار. ويتم ذلك وفق مراحل: يقوم الطالب بالتواصل مع الادارة ليخبرهم برغبته في اجتياز الامتحان، أين يتم التحقق من شروطه أيضا. يتم إجراء مكالمة صوتية لمدة 30 دقيقة مع الطالب يتم فيها سؤاله بعض الاسئلة الشفهية عن ما تعلمه في الدورة. يتم تحديد مشروع تخرج للطالب يقوم بتنفيذه في مدة يحددها له فريق الامتحان. تتم مراجعة المشروع من قبل الفريق، ويتم تسليم الطالب الشهادة أو توجيهه لتدارك النقص. يمكنك القراءة أكثر عن الامتحان هنا.
  19. مرحبا شهد، نعم، يوجد ذلك في موسوعة ويكي حسوب التابعة لحسوب في قسم بايثون > الدوال، والذي يمكنك الوصول إليه من خلال الرابط: هنا. أيضا، يمكنك الاستفادة من المحتوى النصي المكتوب على الأكاديمية في قسم بايثون : هنا. كما يمكنك تصفح أسئلة وأجوبة البرمجة المتعلقة بلغة بايثون في قسم الاسئلة والأجوبة من هنا.
  20. لا للأسف، لا يمكن استعادة ملفات Local Storage بعد حذفها. فهو مكان تخزين محلي في المتصفح الذي يستخدم لتخزين البيانات بشكل دائم على جهاز المستخدم. تعتمد إمكانية استعادة الملفات على وجود نسخ احتياطية أو إجراءات أمان خاصة، والتي في العادة لا تكون متاحة للمستخدمين على مستوى المتصفح. أما وبشكل مباشر، فلا يمكن ذلك للأسف.
  21. يمكنك استعمال واحدة من مكتبات الأيقونات على سبيل Font Awesome، وطريقة استعمالها هي كالتالي: قم بتضمين الملفات المصدرية للمكتبة قبل إغلاق وسم head: <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> . قم بإستعمال الأيقونات مباشرة، يرفق كل عنصر i بكلاس معين: <i class="fa fa-home" /> . يمكنك الاستزادة بالإطلاع على توثيق المكتبة للتوصل إلى المزيد من الأيقونات.
  22. تأكدي من حفظ الملف وتحديث الصفحة.
  23. انتبه إلى أن هنالك خطأ في قراءة الخاصية value من على عنصر الإدخال في: var first = document.getElementById("name").Value إذ أنك تكتبها بحرف V كبيرة، أصلح السياق ليكون: var first = document.getElementById("name").value وأعد المحاولة.
×
×
  • أضف...