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

بلال زيادة

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

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

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

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

    30

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

  1. إجابة بلال زيادة سؤال في عرض الأرقام 1-30 في حقل من نوع select في Laravel كانت الإجابة المقبولة   
    الكود الخاص بك به مشكلة صغيرة وهي يجب وضع كل قيمة من while  في وسم option كما في الشكل التالي 
    <div class="form-group col-md-6"> <label for="inputState">نسخة البطاقة</label> <select id="inputState" type='text' class="form-control"> <option selected>...أختر</option> @php $num =1; while($num <= 30){ echo '<option>'; echo $num++; echo '</option>'; } @endphp </select> </div>  
  2. إجابة بلال زيادة سؤال في هل إدخال بيانات من نوع select في أي فورم يلزم كتابة name لكل حقل كانت الإجابة المقبولة   
    لا , يحب عليك فقط كتابة اسم الحقل بهذا الشكل 
    <div class="form-group"> <label for="inputState">كيف تعرفت علي أوتيل</label> <select id="inputState" type='text' class="form-control" name='how_know_us'> <option selected>...أختر</option> <option value="google">جوجل</option> <option value="facebook" >فيس بوك</option> </select> </div> لاحظ بجانب وسم select نكتب اسم الحقل بداخل خاصية name , وفي وسم option نكتب قيمة هذا الحقل بداخل خاصية value و عند إرسال القيمة يتم أخذ القيمة المختارة . 
  3. إجابة بلال زيادة سؤال في شرح التوجية routing resource كانت الإجابة المقبولة   
    الأمر ببساطة يتم بهذا الشكل , 
    route('photos.index'); لاحظ كتبنا اسم مسار التوجيه و هو photos ثم نقطة ثم اسم الدالة وهي index التي بداخل المتحكم , فمثلا لو أردنا التوجه لصفحة أنشاء صورة فكل ما علينا هو 
    route('photos.create'); أما لو أردنا استخدام دالة show, update, 
    route('photos.update', $id); route('photos.update', 1); والأمر كذلك بداخل ملف العرض 
    {{ route('photos.update', $id) }}  
  4. إجابة بلال زيادة سؤال في مساعدة بشأن تخطيط جدول في HTML كانت الإجابة المقبولة   
    هل يمكنك إرفاق إلى أين وصلتي في كتابة الكود لكي نستطيع مساعدتك بشكلٍ أفضل ؟
  5. إجابة بلال زيادة سؤال في بناء لعبة على منصة android و iOS كانت الإجابة المقبولة   
    يمكنك توظيف مستقل يعمل على برمجة هذه اللعبة حسب الأفكار التي تريدها من خلال منصة مستقل و منصة مستقل هي منصة تجمع بين المستقلين و أصحاب المشاريع بحيث يستطيع أصحاب المشاريع من توظيف مستقلين قادرين على تنفيذ أفكارهم و مشاريعهم بكفاءة و احترافية عالية , لذلك يمكنك الاشتراك في موقع مستقل من هنا  , ومن ثم يمكنك إضافة مشروع مع كامل الخصائص التي تريدها في اللعبة كاملاً , و من ثم تنتظر عروض المستقلين و تختار أفضل مستقل قد قدم عرض مناسب لك و يمكنك الاطلاع على الملفات الشخصية لكل مستقل قدم عرض على مشروعك و من ثم تختار المستقل الأمثل لتنفيذ مشروعك.
  6. إجابة بلال زيادة سؤال في مشكلة ارسال البيانات للقاعدة في الإستضافات المجانية كانت الإجابة المقبولة   
    المشكلة هذه خاصة بالاستضافات المجانية , فأغلبها تحدث بها هذه المشكلة , الأفضل اللجوء إلى استضافة مدفوعة. 
  7. إجابة بلال زيادة سؤال في مشكلة عند محاولة جمع عناصر المصفوفة في لغة javascirpt كانت الإجابة المقبولة   
    هناك عدة مشاكل و هي أولاً يجب إزالة = من السطر التالي 
    for (let i = 0; i < cart.length; i++) { بحيث متغير i  أصغر من عدد عناصر المصفوفة , ومن ثم يجب جمع عناصر المصفوفة , بحيث يجب إضافة اسم المصفوفة المخزنة بها الأعداد كما في السطر التالي 
    total += cart[i]; فيكون كامل الكود هو 
    const cart = [1,3,4,5,6]; let total = 0; for (let i = 0; i < cart.length; i++) { total += cart[i]; } console.log(total); والنتيجة سوف تكون عدد 
    19  
  8. إجابة بلال زيادة سؤال في الانتقال بين الصفحات في Flutter كانت الإجابة المقبولة   
    يجب عليك وضع زر عودة في leading أو actions في appbar ثم تعطيه أمر عند الضغط بأن يعود إلى صفحة A بهذا الشكل 
    appBar: AppBar( actions: [ IconButton( icon: Icon(Icons.back), onPressed: () { Navigator.pushNamed(context, '/a'); }, ), ], ),  
  9. إجابة بلال زيادة سؤال في ما هي افضل دوره في اكاديمية حسوب كانت الإجابة المقبولة   
    لا يمكن تحديد أي دورة , فكل الدورات قد تؤهلك إلى الانطلاق في مجال العمل الحر , لذلك هذا الأمر يرجع لك في تحديد أي مسار تريد الانطلاق به سواء , برمجة و تصميم مواقع الويب أو برمجة تطبيقات موبايل, ثم تختار أي دورة تريد الاشتراك بها , ففي مجال برمجة وتصميم مواقع الويب يمكنك الاطلاع على هذه الدورات 
    https://academy.hsoub.com/learn/front-end-web-development/
    https://academy.hsoub.com/learn/javascript-application-development/
    https://academy.hsoub.com/learn/php-web-application-development/ 
    و في مجال برمجة تطبيقات الموبايل يمكنك الاطلاع على هذه الدورة 
    https://academy.hsoub.com/learn/hybrid-mobile-application-development/ , مع العلم أن دورة 
    تطوير التطبيقات باستخدام لغة JavaScript يوجد بها أقسام لبرمجة تطبيقات للموبايل باستخدام لغة react native , وبعد الانتهاء من الدورة التي اشتركت فيها , يمكنك الانتقال إلى مجال العمل الحر و كسب الأموال من خلال عملك في هذا المجال.
  10. إجابة بلال زيادة سؤال في ظهور الصوره قبل انتهاء الاتصال flutter كانت الإجابة المقبولة   
    ما تفعله خاطئ, يجب عليك إظهار صورة التحميل , أو صورة التي تدل على أن البيانات يتم جلبها في FutureBuilder , بحيث تتحقق من وصول البيانات باستخدام snapshot.hasData بهذه الطريقة 
    return snapshot.hasData ? _build(context,snapshot.data) : Container(); بحيث إذا لا توجد بيانات يمكنك تغيير Container إلى الصورة التي تستخدمها أو إلى 
    CircularProgressIndicator() فتكون FutureBuilder بهذا الشكل كاملاً 
    child: FutureBuilder( future: future, builder: (BuildContext context, AsyncSnapshot snapshot) { switch (snapshot.connectionState) { case ConnectionState.none: return Center( child: Text('No Connection'), ); break; case ConnectionState.waiting: case ConnectionState.active: return CircularProgressIndicator(); break; case ConnectionState.done: if (snapshot.hasError) { print(snapshot.error); print("Dashboard Error"); } return snapshot.hasData ? _build(context, snapshot.data) : CircularProgressIndicator(); break; } return Container(); }, ),  
  11. إجابة بلال زيادة سؤال في أخطاء ANR وتصحيح الأخطاء flutter كانت الإجابة المقبولة   
    يمكنك تجاهل هذا الأمر , ولا داعي لأي إجراء , وإلى الأن لا يوجد حل لهذا الإشعار , ولا يكون هناك أي مشكلة بتطبيقك.
  12. إجابة بلال زيادة سؤال في كيف يمكن قراءة بيانات من ملف JSON في node.js كانت الإجابة المقبولة   
    سيكون امتداد الملف هو 
    .json بحيث فلنفترض أن لدينا ملف اسمه constant.json و به المعلومات التالية 
    { "data": [ { "id" : 1, "name": "Jakets", }, { "id" : 2, "name": "Sports", }, ] } فيمكننا الوصول إلى الملف و قراءة محتوياته باستخدام node js باستخدام دالة readFileSync بهذه الطريقة 
    const fs = require('fs'); let file = fs.readFileSync('constant.json'); let data = JSON.parse(file); console.log(data); ايضا يمكننا قراءة الملف و جلب محتوياته باستخدام دالة readFile بهذا الشكل 
    const fs = require('fs'); fs.readFileSync('constant.json', (err, file) => { if(err) throw err; let data = JSON.parse(file); console.log(data); });  
  13. إجابة بلال زيادة سؤال في شرح دالة strpos و كيفية استخدامها في php كانت الإجابة المقبولة   
    تبحث الدالة strpos()‎ عن أول ظهور لمحارف معينة في سلسلة نصية ثم تعيد ترتيب موقعها في تلك السلسلة. و تركيب هذه الدالة 
    int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) حيث المتغير
    $haystack هي السلسلة النصية التي ستبحث عنها. و المتغير 
    $needle مجموعة المحارف التي ستبحث الدالة عنها. إن لم تكن تلك المحارف سلسلة نصية، فستحول إلى عدد صحيح وتعامل على أنها قيمة ترتيبية للمحارف. و متغير 
    $offset معامل اختياري وهو قيمة إزاحة المؤشر من بداية السلسلة النصية والذي يبدأ عنده البحث. إن كانت قيمة هذا المعامل سالبة، فسيبدأ البحث بعد إزاحة المؤشر من نهاية السلسلة النصية والذي سيبدأ عند البحث.
    ومن الأمثلة على هذه الدالة 
    <?php $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); // لاحظ أنَّنا استعملنا المعامل ===. لن يجدي استعمال المعامل == نفعًا إذ لن يعمل كما //.هو الأول أي 0 'a' هو متوقع له لأنَّ موقع المحرف الذي نبحث عنه if ($pos === false) { echo "The string '$findme' was not found in the string '$mystring'"; } else { echo "The string '$findme' was found in the string '$mystring'"; echo " and exists at position $pos"; } ?> حيث يمكنك الرجوع إلى شرح هذه الدالة على موقع ويكي حسوب من هنا .
  14. إجابة بلال زيادة سؤال في ظهور الصفحة فارغة عند كتابة أكواد html كانت الإجابة المقبولة   
    لاحظ أنه لم تقم بحفظ الملف , ولو أردت التأكد من ذلك سوف تلاحظ أنه يوجد نقطة بيضاء بجانب اسم الملف و هو page.html فعليك حفظ الملف بعد الأنتهاء من كتابة الأكواد عن طريق الضغط على قائمة file ثم save أو بالضغط على لوحة المفاتيح على الزرين ctrl + s  او من خلال فائمة file يمكنك تعليم خيار auto save , هل لو سمحت قمت بحفظ الملف و تجربة فتحه مرة أخرى و أخباري بالنتيجة.
  15. إجابة بلال زيادة سؤال في مشكلة عدم ظهور تطبيقي في جوجل بلاي كانت الإجابة المقبولة   
    لا يظهر التطبيق بسرعة كبيرة على المتجر يجب الأنتظار كم يوم حتى يظهر , ايضا عند البحث عن باسم التطبيق و اسم المطور يكون قد ظهور لأنك بحثت باسمه أو باسم مطوره ولكن في حالة وجود تطبيقات مشابهة و تكون أقدم من تطبيقك فسوف تظهر قبل تطبيقك و يكون تطبيقك في الصفحات التالية , ايضا حاول الاهتمام بوصف التطبيق و اسمه و محاولة تمييزه بكلمات دليلة تدل عليه مما تساعد في تقدمه في نتائج البحث الأولى. ولكن لا تقلق سوف يظهر تطبيقك مع مرور الوقت في الصفحات الأولى بعد الزيارات و التحميلات التي سوف تتم عليه. 
  16. إجابة بلال زيادة سؤال في حذف او تعديل محتوى في القاعدة بعد مرور وقت محدد كانت الإجابة المقبولة   
    حاول حذف الساعات و الدقائق و الثواني من الدالة date و قم بتجربة الأمر مرة أخرى.
    <?php if ( date("Y-m-d")==$row['end_time'] ) : ?>  
  17. إجابة بلال زيادة سؤال في جلب عدد المتصلين في الموقع كانت الإجابة المقبولة   
    يمكنك إضافة TIME_TO_SEC إلى الأستعلام الخاص بك بحيث تقوم هذه الدالة بتحويل قيمة الوقت إلى ثواني , بهذا الشكل 
    "SELECT COUNT(*) FROM users u WHERE TIME_TO_SEC() <= 18000" ثم بداخل أقواس هذه الدالة نقوم بطرح الوقت الحالي مع اخر وقت تم تخزينه في الحقل last_login_date عن طريق  الدالة TIMEDIFF بهذا الشكل 
    "SELECT COUNT(*) FROM users u WHERE TIME_TO_SEC(TIMEDIFF(NOW(), u.last_login_date)) <= 18000" لاحظ الوقت الحالي نعبر عنه بِ
    NOW()  
  18. إجابة بلال زيادة سؤال في ربط جدولين داخل قاعدة البيانات باستخدام php كانت الإجابة المقبولة   
    يمكنك فعل ذلك من خلال استخدام inner join  بهذه الطريقة 
    $con = mysqli_connect("localhost", "root", "123123", "database"); mysqli_query($con, "SELECT n.*, u.* FROM notification n inner join user u on n.user_id=u.id"); فلاحظ أننا قمنا بوضع مفتاح يعبر عن كل جدول فحرف n يعبر عن جدول notification و حرف u يعبر عن جدول user  ثم قمنا بجلب كل من الحقول من كلا الجدولين باستخدام * ثم قمنا ربط الجدولين باستخدام inner join  كما في المثال السابق . ايضا يمكنك ربط أكثر من جدول بهذه الطريقة من خلال استخدام inner join كذلك 
    mysqli_query($con, "SELECT n.*, u.*, c.title FROM notification n inner join user u on n.user_id=u.id inner join chat c on c.user_id=u.id"); هل يمكنك إرفاق الكود الخاص بك لنساعدك في ربط الجداول ؟ 
  19. إجابة بلال زيادة سؤال في ماذا تعرف عن ملف init.js ? كانت الإجابة المقبولة   
    صحيح , الملف مكتوب باستخدام مكتبة جيكويري, لذلك تم وضعه بعد سطر استدعاء مكتبة جيكويري و معنى كلمة init.js ربما هي اختصار لكلمة initialize أي ملف البداية و لكن هذا لا يهم يمكن تسمية الملف بأي اسم تريده . ووظيفة الملف هو التعامل مع أحداث النقر على الأزرار و حدث الرجوع لإعلى إذا كان سكرول الصفحة أسفل و الكثير من الأحداث ويتم قراءة الملف بعد تحميل الصفحة حتى تكون العنصر قد حُملت بشكلٍ كامل .
    لم أفهم ما تقصد أنه كان يستخدم ك command line و لكن الأن ظهرت عدة تقنيات مثل Webpack بحيث توفر عملية تجميع ملفات css أو js و استدعاء الملف في حالة استخدامه فقط. , هل ربما تقصد هذه التقنية ؟  
  20. إجابة بلال زيادة سؤال في كيفية التحقق من اخطاء flutter كانت الإجابة المقبولة   
    يمكنك استخدام خاصية Crashlytics بحيث هذه الميزة تساعدك على جمع التحليلات و التفاصيل حول الأعطال و الأخطاء التي تحدث في تطبيقك. و يمكنك استخدام حزمة 
    flutter_crashlytics يمكنك من خلال موقع pub.dev من هنا الإطلاع على هذه الحزمة , ايضا هناك تعمل بنفس الفكرة و منها موقع sentry.io و يقدم خدمة تتبع الأخطاء في التطبيق الخاص بك ايضا عن طريق حزمة 
    sentry_flutter من هنا , بحيث أيضا تقدم لك سجلاً كامل بكل الأخطاء و المشاكل التي تواجه المستخدمين عند استخدام تطبيقك.
  21. إجابة بلال زيادة سؤال في تصفير حقل بداخل قاعدة البيانات كل ساعة باستخدام php كانت الإجابة المقبولة   
    هناك استعلام يتم إنشاء حدث من خلال كل وقت معين في قاعدة البيانات و هذا الاستعلام هو 
    CREATE EVENT و يمكنك إنشاء حدث كل وقت معين , كل ساعة أو كل دقيقة أو كل ثانية فيمكنك فعل التالي 
    CREATE EVENT `eventName` ON SCHEDULE EVERY 12 HOUR ON COMPLETION NOT PRESERVE ENABLE DO UPDATE users SET tasks_pro = 0 فلاحظ أنه قمنا بإنشاء حدث يتكرر كل 12 ساعة و اسم هذا الحدث هو eventName , ويقوم بعمل reset لحل tasks_pro و يرجع قيمته 0 , ويمكنك تحويل الحدث إلى العمل بالدقائق فيمكنك تغيير كلمة Hour إلى MINUTE فيصبح الحدث 
    CREATE EVENT `eventName` ON SCHEDULE EVERY 12 MINUTE ON COMPLETION NOT PRESERVE ENABLE DO UPDATE users SET tasks_pro = 0  
  22. إجابة بلال زيادة سؤال في كيف اعمل ملف كونفج بإستخدام array كانت الإجابة المقبولة   
    يمكنك فعل ذلك عن طريق وضع array تحوي كامل المصفوفات التي بداخلها فمثلاً يمكنك فعل التالي 
    $config = array( 'db' => array( 'host' => 'localhost', 'username' => 'root', 'password' => 'password', 'database' => 'database', ), ); لاحظ أنه تم إنشاء أول مصوفوفة و كل index في هذه المصفوفة يحتوي على مصفوفة أخرى , ايضا يمكنك تعريف index أخرى بهذا الشكل 
    $config = array( 'db' => array( 'host' => 'localhost', 'username' => 'root', 'password' => 'password', 'database' => 'database', ), 'settings' => array( 'name' => 'admin', 'password' => '123123123', ), ); ويمكنك الوصول إلى أي قيمة عن طريق المفتاح الخاص به , فيمكن أن نجلب قيمة host بهذا الشكل 
    echo $config['db']['host']; وكذلك قيمة username 
    echo $config['db']['username']; أو حتى يمكن جلب قيمة name 
    echo $config['settings']['name'];  
  23. إجابة بلال زيادة سؤال في مشكلة استعراض مشاريع واجهات المستخدم بعد رفعها على رابط github كانت الإجابة المقبولة   
    ربما يكون هناك خلل في مسار جلب ملف التنسيقات , يجب التأكد من ذلك عن طريق فتح الموقع و الضغط على الزر الأيمن للماوس و اختيار عرض مصدر الصفحة و محاولة تتبع مسار ملف التنسيقات هل هو صحيح أم لا , ايضا تأكدي من اسم ملف التنسيقات و هل قمتي بكتابته بشكلٍ صحيح أو لا 
  24. إجابة بلال زيادة سؤال في تحديد المسافة بين موقعين باستخدام php كانت الإجابة المقبولة   
    ربما استطيع مساعدتك في برمجة دالة تحدد المسافة , فلنقم بصنع دالة وليكن اسمها getDistance
    function getDistance(){ } و لنمرر لها المتغيرات الأتية و هي 
    $lat1, $lon1, $lat2, $lon2, $radius بحيث 
    $lat1, $lon1 هي أحداثيات الموقع الخاص بك و 
    $lat2, $lon2 هي أحداثيات الموقع الذي تريد جلب المسافة بينك وبينه و 
    $radius هو نصف قطر بين كل أحداثيين فتكون الدالة بهذا الشكل 
    function getDistance( $lat1, $lon1, $lat2, $lon2, $radius ) { } ثم نقوم بجلب الزاوية باستخدام متغير 
    $radius $angle = $radius / 180; ثم نقسم كل أحداثية على هذه الزاوية 
    $lat1 /= $angle; $lon1 /= $angle; $lat2 /= $angle; $lon2 /= $angle; ثم نستخدم rad2deg لتحويل الرقم الدائري إلى رقم مكافئ بالدرجات ثم نمرر لها دالة acos لجيب تمام القوسي للرقم  ثم نمرر المتغيرات الأربعة داخل دالة sin لإرجاع جيب الرقم بهذا الشكل 
    return rad2deg( acos( sin( deg2rad( $lat1 ) ) * sin( deg2rad( $lat2 ) ) + cos( deg2rad( $lat1 ) ) * cos( deg2rad( $lat2 ) ) * cos( deg2rad( $lon1 - $lon2 ) ) ) ) * $angle; ثم نضرب الرقم الناتج بالزاوية حتى نحصل على المسافة فتكون الدالة بهذا الشكل 
    function getDistance( $lat1, $lon1, $lat2, $lon2, $radius ) { $angle = $radius / 180; $lat1 /= $angle; $lon1 /= $angle; $lat2 /= $angle; $lon2 /= $angle; return rad2deg( acos( sin( deg2rad( $lat1 ) ) * sin( deg2rad( $lat2 ) ) + cos( deg2rad( $lat1 ) ) * cos( deg2rad( $lat2 ) ) * cos( deg2rad( $lon1 - $lon2 ) ) ) ) * $angle; } يرجى تطبيق الحل و أخباري بالنتيجة , فهذا الحل ربما يفيدك و أتمنى أن أكون أجبت على سؤالك بشكلٍ جيد, الأمر قد يكون معقد نوعاً ما و لكن بعد مراجعة الدوال المستخدمة ستوضح لك الأمور كاملة بإذن الله 
  25. إجابة بلال زيادة سؤال في أريد تحويل الثواني إلى فورمات الساعة كانت الإجابة المقبولة   
    ربما تقصد أنه لديك وقت ما يكون بصيغة timestamp بهذا الشكل 
    86400 لاحظ ان الرقم السابق هو عدد الثواني في 24 ساعة ,فيمكنك برمجة دالة تقوم بهذا الأمر , لأن الدالة ستسمح لك باستخدامها في أي مكان في مشروعك فنقوم بإنشاء دالة وليكن اسمها secondsToString بهذا الشكل 
    function secondsToString( $seconds ){ } لاحظ أننا مررنا لها رقم الثواني , الأن يمكننا الاستفادة من رقم الثواني هذا في تحويله إلى  ثواني و دقائق و ساعات , نقوم باستخدام دالة intval لنحصل على القيمة الصحيحة للرقم 
    $seconds = intval( $seconds ); ثم نقوم باستخراج الساعة عن طريق تمرير عدد الثواني مقسوم على 3600 و هو عدد الثواني في الساعة الواحدة 
    $h = floor( $seconds / 3600 ); ثم نقوم باستخراج عدد الدقائق من خلال جلب باقي قسمة الثواني على 3600 ثم قسمة الرقم الناتج على 60
    $m = floor( $seconds % 3600 / 60 ); ثم عدد الثواني من خلال جلب باقي قسمة الثواني على 60 
    $s = floor( $seconds % 60 ); ثم نقوم بإرجاع القيم هذه من خلال دالة return  و نضع بين المتغيرات النص ":" بهذه الطريقة 
    return $h.":".( $m < 10 ? "0" : "" ).$m.":".( $s < 10 ? "0" : "" ).$s; فسيكون الناتج بهذا الشكل 
    23:59:59 فتكون كامل الدالة 
    function secondsToString( $seconds ){ $seconds = intval( $seconds ); $h = floor( $seconds / 3600 ); $m = floor( $seconds % 3600 / 60 ); $s = floor( $seconds % 60 ); return $h.":".( $m < 10 ? "0" : "" ).$m.":".( $s < 10 ? "0" : "" ).$s; }  
×
×
  • أضف...