-
المساهمات
6975 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
218
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Wael Aljamal
-
نعم تحديث الملف في السيرفؤ هو الحل و ليس تحديث البرنامج كل يوم. خدمات open VPN متغيرة و ليست ثابتة، فوجود حل على مستوى التكبيق غير موجود على الأغلب. تابع البحث لربما تجد خدمة توفر مصارد online لجلب مبف التهيئة يتم ربطها بحساب شخصي و محدثة من قبل المزود بشكل دائم
- 7 اجابة
-
- 1
-
إذاً الأفضل هو تحميل الملف إلى التطبيق بشكل ديناميكي، يكون لديك استضافة مرفوع عليها الملف، يقوم التطبيق عند التشغيل بالاتصال و تحميل ملف الإعداد ثم استخدامه لضبط الاتصال. بهذه الحالة لا تحتاج لتحديث التطبيق نفسه، بل عليك تحديث ملف الإعداد من الاستضافة وهذا أمر سهل يمكنك القيام به بشكل يومي لبضع دقائق مثلاً، وبهذه الطريقة تتخلص من تحديد مدة صلاحية الملف نفسه. يمكنك في موضع متقدم أن تقوم بكتابة سكربت يعمل على تحديث الملف في الاستضافة بشكل آلي وهذا يسهل عليك الأمور. بتطبيق الخطوة السابقة ستتمكن من استخدام خدمة vpngate
- 7 اجابة
-
- 2
-
بالنسبة لدورة جافاسكربت و مسار React و React Native يوجد تطبيق عملي يعمل على Class Component و تطبيق على Functional Component مع العلم أن كلاهما مازال مستخدماً للآن في المشاريع حول العالم، و عملية تحديث مشاريع الشركات تأخذ وقتاً عند الانتقال بين إصدارات لغات البرمجة التي تعمل عليها، فعلى الأغلب ستواجه خلال عملك برامج قديمة و مكتبات قديمة و هذه ليست مشكلة محصورة بتطوير مكتبات تستخدم في دورة تعليم البرمجة، وعليك دوماً الوضع في الحسبان حدوث مثل هذه التغيرات في أي مكتبة أو إطار عمل لانها أمور تحدث باستمرار و عدم توافق بعض المكتبات أو عدم دعمها لنظام تشغيل ما هو أمر يحصل وموجود و المدربين موجودون لتقديم الحلول و سد الثغرات التي من الممكن أن تحدث بسبب تعديلات لغات البرمجة و إصدارات المكتبات التي من الممكن أن تصبح غير متوافقة. ويوجد اعتبار خاص للتقنيات التي تكون Cross Platform حيث من الممكن أن تجد مكتبة لم يقم مطورها بكتابتها لتعمل على جميع المنصات أي ربما تعمل فقط على أندرويد !! و عليك هنا البحث عن مكتبة بديلة أو استخدام مجموعة مكتبات كل منها يدعم مجموعة منصات ليعمل مشروعك بنفس الكفاءة على جميع المنصات (الكلام عن المكتبات الخارجية اي الطرف الثالث التي غالبا ما تجد فيها هكذا مشاكل) أي مشكلة دعم المكتبات موجودة في React Native و Flutter و غيرها.
-
هل يمكنك مشاركة بنية قاعدة البيانات و الجداول لديك؟ أعتقد أنك تستخدم لارافل إليكوينت Laravel Elequent عليك دمج الجدولين في استعلام join لجلب البيانات .. لاحظ المثال التالي: نحدد جدول الاستعلام الرئيسي (مستخدمين) ندمجه من ال contacts أي جهات الاتصال حسب رقم المستخدم ندمج ما سبق مع الطبيات orders حسب رقم المستخدم أيضاً ثم نطبق الاستعلام select // تضمين الصنف use Illuminate\Support\Facades\DB; // مثال من التوثيق $users = DB::table('users') ->join('contacts', 'users.id', '=', 'contacts.user_id') ->join('orders', 'users.id', '=', 'orders.user_id') ->select('users.*', 'contacts.phone', 'orders.price') ->get();
- 7 اجابة
-
- 2
-
هل يمكنك إرفاق شيفرة HTML التي تقوم بعرض هذا المحتوى؟ مثلا ربما القالب يستخدم font awsome فنقوم بتبديل الأصناف classes مثلاً، الشيفرة التالية تعرض سهم مزدوج لليمين فعند عكس جهة القالب، يفترض أن نبدل الأيقونات <i class="fas fa-angle-double-right"></i> والأيسر سيكون: <i class="fas fa-angle-double-left"></i> ويمكن تعديل dir اتجاه العنصر الحاوي لهم بوضع اتجاه محدد <div dir="rtl"> <i class="fas fa-angle-double-right"></i> نص للتجريب <i class="fas fa-angle-double-left"></i> </div> عليك التأكد من مصدر الأيقونة و تنفيذ نفس المنطق، أيقونة فونت أوسم للسهم المزدوج الأيسر هنا كمثال
- 3 اجابة
-
- 2
-
يمكنك محاولة كتابة البرنامج و ثم إرفاق البرنامج إن احتوى على خطأ لنساعدك، ولكن ال نحل الواجبات
- 2 اجابة
-
- 1
-
في بداية البرنامج، و بدل رقم 3 نكون قد ادخلنا عدد الطلاب، برنامجك صحيح، تابع.
- 9 اجابة
-
- 1
-
تمام غالبا ما تختلف الصور عن الإصدار الحقيقي توقعت منك إرفاق صورة من كاميرا لامشكلة المهم الزر موجود لديك
- 6 اجابة
-
- 1
-
هل يمكنك إرفاق صورة للوحة المفاتيح لديك؟
- 6 اجابة
-
- 1
-
يمكن تحديد عدد الطلاب قبل الدخول في الحلقة cout << "Enter number of students: "; cin >> number_of_students; for (i = 0; i < number_of_students; i++) ... نص المسألة غير موجود أرجو إعادة إضافته مع ذلك أتذكر أنه لا يحوي تفاصيل
- 9 اجابة
-
- 2
-
النموذج نحدد أن يقبل مصفوفة مصفوفة سلاسل نصية حيث أن الصورة تخزن ك Base64 avatar: [ { type: String } ] ^ ^ وتمرر للدالة أسماء الحقول التي لديك upload.fields ( [ { name: 'avatar', maxCount:1 }, ^^^^^^^ اسم الحقل { name: 'gallery', maxCount: 8 } ^^^^^^^ اسم الحقل ] ) كل شيء يتم التعامل معه كمصفوفة هذا شرح إضافي للشيفرة التي قدمها سامح
- 4 اجابة
-
- 1
-
يمكن أن تكون هنالك أكثر من سبب للمشكلة، تضارب في عمل مكتبات تصميم الواجهات مثل مكتبتي swing + awt ممكن سببه استدعاء للتهيئة أكتر من مرة مثلا initialize إيقاف قبول تعديل قيمة الحقل بمنع التعديل بتمرير false للدالة setEditable حاولي تعليق action listener فقد يوجد شيفرة تقوم بتغريف الحقول أو حذفها أو عدم قبول المدخلات. تم في الشيفرة وضع setEditable(false) مرتين في 2551 و 2723 أرجو السماح بالتعديل بتمرير true أو تعليق السطر //
- 1 جواب
-
- 1
-
أحسنت البرنامج سليم، يمكنك اختبار كل حالة على حدى و التأكد من القيم الناتجة الملاحظة: حسب نص السؤال، يوجد عدد غير محدد من المدخلات أي ليس فقط 3 و يوجد حالة عندما يكون عدد الأخوة أكبر من 2 يتم وضع الحسم 15% أي ليس مقتصر على 2 ممكن، عليك التاكد من العدد الإجمالي للطلاب..
- 9 اجابة
-
- 2
-
أرجو نسخ الشيفرة ووضعها مع السؤال ليس صورة
- 9 اجابة
-
- 2
-
يجب أن تحاول بنفسك ثم نستطيع مساعدتك في حل الأخطاء التي تعترضك
- 9 اجابة
-
- 2
-
إن الدالة order_by تقبل تمرير أكثر من وسيط بالترتيب الذي نريد عمل ترتيب النتائج عليه، فيكون أول وسيط هو عدد الإعجابات و الثاني هو تاريخ تاريخ الإنشاء ليصبح الاستعلام User.query.order_by( User.likes.desc(), User.date_created.desc() ).limit(10).all() كما يمكن استعمال الدوال _and و _or مثلا: # تضمين from sqlalchemy import and_, or_ #الاستعلام User.query.order_by( and_(User.likes.desc(), User.date_created.desc()) ^^^ ^^^^^ ).all() وحل آخر هو تمرير عبارة الترتريب كنص للاستعلام عن طريق دالة text كالتالي: from sqlalchemy.sql import text User.query.order_by( text("likes desc, date_created desc") ).limit(10).all()
- 1 جواب
-
- 2
-
هذه المشكلة بسبب إعداد DNS على الأغلب حيث لم يتم تحديثها، حاول إعادة تشغيل مخدم DNS لديك DNS service أو أن DNS Domain غير محدد بشكل صحيح.
- 2 اجابة
-
- 2
-
هل يمكنك إضافة جزء الكود مكات تعريف myString و كيف تقوم باستدعاء getStringFromJson حاول myString = new String (stringValue); ربما سبب المشكلة هو عمل تخزين مؤقت caching يحفظ القيمة السابقة لناتج الاتصال ولا يعمل تحديث. بعد استلام الطلبية ضع في الدالة في أول سطر منها التعليمة التالية requestQueue.getCache().clear(); لنحذف ذاكرة التخزين المؤقت من Volley @Med Foud
- 5 اجابة
-
- 1
-
ضمن إعدادات المشروع يتم استخدام forge كمستخدم user ضمن قاعدة البيانات لتنفيذ الاستعلامات (مثل بناء قاعدة البيانات أو تعديلها أو عمليات التهجير) ربما هذا المستخدم غير موجود لديك في قاعدة البيانات المحلية، ولكي تستخدم مستخدم له صلاحيات، يمكن استعمال المستخدم الجذر root لعمل اللازم في مرحلة التطوير لديك. وهذا يتطلب تعديل إعدادات الاتصال بقاعدة البيانات في المشروع (اسم المستخدم و كلمة السر الخاصة به بقاعدة البيانات) أو توجه لمدير قاعدة البيانات لديك وقم بإنشاء مستخدم جديد لقاعدة البيانات الخاصة بالمشروع باسم forge واعطه صلاحيات كاملة لتستطيع عمل استعلامات من خلاله. قد تجد اسم المستخدم في ملفات المشروع لديك في الملف config/database.php 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), // اسم قاعدة البيانات 'username' => env('DB_USERNAME', 'forge'), // هنا ضع root 'password' => env('DB_PASSWORD', ''), // اتركها فارغة 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], ثم نفذ الأمر php artisan config:cache
- 1 جواب
-
- 3