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

لوحة المتصدرين

  1. Emad Saif

    Emad Saif

    الأعضاء


    • نقاط

      5

    • المساهمات

      205


  2. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      4

    • المساهمات

      6975


  3. Adnane Kadri

    Adnane Kadri

    الأعضاء


    • نقاط

      3

    • المساهمات

      5196


  4. سمير عبود

    سمير عبود

    الأعضاء


    • نقاط

      2

    • المساهمات

      3552


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 03/28/22 في كل الموقع

  1. هل يوجد ملفات بصيغه pdf لكل درس؟
    2 نقاط
  2. لدي تطبيق مبني بإستخدام جانغو Django ومن المفترض أن يرسل بريدًا إلكترونيًا. ولكن ليس لدي حاليًا خادم للبريد mail server (في بيئة التطوير localhost) خاص بي. أحتاج اختبر ميزة إرسال البريد الإلكتروني محليًا local. هل هناك أي طريقة يمكنني من خلالها إرسال رسائل البريد الإلكتروني وحفظها إلى ملف على سبيل المثال بدلًا من إستخدام mail server حقيقي؟
    2 نقاط
  3. لدي مصفوفة تحتوي على مصفوفات من الالمستخدمين بالشكل التالي: $user = array( 'first_name' => "user name", 'email' => "mail@gmail.com", 'age' => 34, ); في المصفوفة السابقة، أريد أن أحصل على آخر مفتاح key منهما (أي age). كيف أحصل على آخر مفتاح في المصفوفة في PHP؟
    2 نقاط
  4. يمكنك استعمال أحد توابع الكائن DateTime في PHP لعمل الفكرة، يجب أولا تمرير التاريخين الى الباني كالتالي: $first_date = new DateTime('2022-03-25 14:21:36'); $second_date = new DateTime('2022-03-26 10:15:48'); ثم سيمكن عن طريق التابع diff استخلاص الفرق بين التاريخين كالتالي: $difference = $first_date->diff($second_date); سيبدوا خرج النتيجة كائن DateInterval يبدوا كالتالي: object(DateInterval) public 'y' => int 0 public 'm' => int 0 public 'd' => int 20 public 'h' => int 6 public 'i' => int 56 public 's' => int 30 public 'invert' => int 0 public 'days' => int 20 واستخلاص الدقيقة من الخرج بشكل بسيط عن طريق قراءة الخاصية i: echo $difference->i; في حالة تجاوز الفرق لدقائق ستحتاج تحويل الساعات او الثواني او الايام الى دقائق هي الأخرى لحسابها ضمن الفرق. تعرف أكثر عن التعامل مع الوقت والتاريخ في PHP.
    2 نقاط
  5. تقوم بتحويل المُتغيرين من سلاسل نصية إلى كائنات DateTime ثم تستخدم التابع diff لحساب الفرق: <?php // Enter your code here, enjoy! $date1 = '2022-03-25 14:21:36'; $date2 = '2022-03-26 10:15:48'; $start_date = new DateTime($date1); $since_start = $start_date->diff(new DateTime($date2)); سيكون الناتج عبارة عن كائن من الصنف DateInterval من خلاله تستطيع الوصول لعدة خاصيات تُساعدك في تحويل الفرق إلى دقائق أو ساعات أو ثواني ... <?php $date1 = '2022-03-25 14:21:36'; $date2 = '2022-03-26 10:15:48'; $start_date = new DateTime($date1); $since_start = $start_date->diff(new DateTime($date2)); echo $since_start->days.' days total<br>'; echo $since_start->y.' years<br>'; echo $since_start->h.' hours<br>'; echo $since_start->i.' minutes<br>'; echo $since_start->s.' seconds<br>'; سيكون الخرج: 0 days total 0 years 19 hours 54 minutes 12 seconds لحساب الفرق بالدقائق فقط نُحول ناتج الأيام إلى دقائق و نُضيف له ناتج تحويل الساعات إلى دقائق و نضيف له الدقائق كما يلي: <?php $date1 = '2022-03-25 14:21:36'; $date2 = '2022-03-26 10:15:48'; $start_date = new DateTime($date1); $since_start = $start_date->diff(new DateTime($date2)); $minutes = $since_start->days * 24 * 60; $minutes += $since_start->h * 60; $minutes += $since_start->i; echo $minutes.' minutes'; // 1194 minutes أما إن كنت تستخدم مكتبة Carbon فهي تُوفر عدة توابع للتعامل مع التواريخ و الوقت من بينها حساب الفرق بأي وحدة ترغب: <?php $date1 = '2022-03-25 14:21:36'; $date2 = '2022-03-26 10:15:48'; $startTime = \Carbon\Carbon::parse($date1); $finishTime = \Carbon\Carbon::parse($date2); echo $finishTime->diffInHours($startTime) . "<br>"; // 19 echo $finishTime->diffInMinutes($startTime) . "<br>"; // 1194 echo $finishTime->diffInSeconds($startTime) . "<br>"; // 71652 echo $finishTime->diffInSeconds($startTime) . "<br>"; // 71652 $finishTime->diffForHumans($startTime); // 19 hours after $startTime->diffForHumans($finishTime); // 19 hours before \Carbon\Carbon::setLocale('ar'); $startTime->diffForHumans($finishTime); // قبل 19 ساعة
    2 نقاط
  6. السلام عليكم ورحمة الله وبركاته ما الفرق بين ال justify-content و aling-content و الرجاء شرح كل واحد منهما و الفرق بينهما و شكرا لكم
    1 نقطة
  7. 1 نقطة
  8. كما نعرف عند تعلم الرياكت نتيف...تحتاج معرفة ب Html-css.javascript وكذلك اطار العمل رياكت... سؤالي: ماهو المقابل لذلك في تعلم الدارت، هل ضروي معرفة ب html-css-js او ماهو المقابل لذلك في لغة الدارت؟ سوالي الثاني : هل ممكن الاعتماد على لغة الدارت بعمل تطبيقات ويب قوية، ام لازالت في هذا الجانب ضعيفة؟ السؤال الاخير: استخدام الفلاتر او الرياكت نتيف يكون فقط من ناحية واجهة المستخدم اي الفرونت اند.، اما بالنسبة للباك اند ممكن استخدام اي لغة اخرى..اليس كذلك؟
    1 نقطة
  9. أحسنت تماماً جميع النقاط سليمة. الموضوع اختياري حسب ما تحب الدخول به. Flutter تساعد في التصميم مثل CSS و كما تساعد في بناء التطبيقات لجميع المنصات Dart ليست مشهورة جداً في BackEnd فعي لغة جديدة نسبياً يمكنك تعلم جافاسكربت و Dart فهما قريبتين من بعضهم.
    1 نقطة
  10. عليك اعتبار أن لغة Dart هي لغة برمجة مستقلة بذاتها مثل لغة جافاسكربت، ولكل منها بيئة عمل خاصة بها. إن تصميم تطبيقات بلغة Dart يعتمد بشكل كبير على إطار عمل Flutter Framework فهي مسؤولة عن بناء الواجهات الأمامية للمستخدم في التطبيقات ولا يوجد مكتبة بنفس كفائة وميزات Flutter ل Dart. تطبيقات الويب عن طريق Dart بالنسبة للوجهات Front End تعتمد على Flutter أما ك BackEnd لها مكتبات خاصة لتعمل ك مخدم Server. مثلاً جافاسكربت تعتمد على بيئة NodeJS لتعمل مثل مخدم Server. إن كلاً من رياكت نتيف React Native ودارت فلاتر Dart Flutter هي تقنيات مخصصة لبناء واجهات المستخدم و تعمل فقط في جزء Front End ويمكنها العمل مع أي Back End حيث لا يوجد أي فرق، التطبيقات تتصل على المخدم حسب بروتوكول الويب HTTP وهي طريقة منفصلة عن منطق البرمجة، أي ما يربط بين الواجهة الأمامية والخلفية هي فقط البيانات التي تتم مناقلتها عبر الشبكة وتكون بتنسيق JSON أو XML والتي يمكن التعامل معها في كل من Front & Back End. جاءت React Native كتطوير لمكتبة React وهي تعتمد مباشرة على HTML - CSS في بناء المكونات و لغة جافاسكربت كلغة البرمجة لتحقيق المنطق اللازم في التطبيق. أما Dart تعمل مكان جافاسكربت وهي لغة البرمجة التي تعتمد عليها Flutter من ناحية التصميم (HTML - CSS). ولن تحتاج لتعمل HTML - CSS أبداً في حال دخولك مجال Flutter. Flutter تقوم على تصريف الشيفرة الخاصة بها لعدة منصات (أندرويد - IOS - windows وغيرها) ومنها web حيث يتم تحويل شيفرة DART لمثيلها من شيفرة JavaScript بالإضافة لتصبح المكونات HTML - CSS ليعرضها المتصفح. بداية Flutter كانت تعمل على android - ios ثم تمت إضافة الويب ويتم تطويها باستمرار لكن حاليا React أفضل في مجال الويب و فيها مكتبات للويب بشكل أكبر أي تتفوق في مجال الويب أكثر قليلاً أما في باقي المنصات Flutter أفضل. للدخول في تفاصيل أكثر المقارتة تصبح بين React Native Web vs. Flutter web.
    1 نقطة
  11. يرجى كتابة الاسئلة المتعلقة بالدروس أسفل الدرس الخاص بها , سوف تجد مربع التعليق أسفل التعليقات الموجودة أسفل الدرس , يمكنك طرح المشكلة او السؤال المتعلق بالمشكلة أسفل الدرس الخاص به , بالنسبة لاجابة سؤالك , للأسف لا يوجد ملف بصيغة pdf لكل درس , ولكن يوجد مرفقات للمسار ككل, تستطيع ايجاد المرفقات الخاصة بالمسار في أول درس من المسار , سوف تجد أسفل الدرس أزرار مثل "مرفقات المشروع" و "مستودع المشروع" , يمكنك الضغط عليهما وسوف تجد مرفات المسار , ولكن مرفقات المسار هي الناتج النهائي للمسار , فمثلا لو كان المسار عبارة عن تصميم موقع شركة فسوف تكون المرفقات هي ملفات الموقع بشكل كامل وجاهز , اذا كنت تريد مراجع للدورة فهي نفسها تعتبر مرجع لأنك سوف تحصل على وصول لمحتوياتها مدى الحياة , فكلما نسيت شيئا منها تستطيع الرجوع الى الدرس مرة أخرى , ثم انه يوجد في الأكاديمية مقالات عن مختلف التقنيات , ربما يمكنك ايجاد مقالات عن الموضوع الذي تريده , يمكنك الذهاب الى المقالات من هنا , وأيضا هناك موسوعة حسوب التي تحتوي على شروحات لمختلف التقنيات وسوف تساعدك كثيرا , أنصحك بالاعتماد عليها , يمكنك الذهاب اليها من هنا
    1 نقطة
  12. السلام عليكم.. اريد ان اخزن مصفوفة في mongoDB لكن عندما اضع log يتم ارجاع undefined .. ajax : $('#add-product').submit(function(e) { e.preventDefault() var proClassification = $('.selectpicker').val(); //returns ['جميع المنتجات', 'عروضنا'] console.log(proClassification) $.ajax({ type: 'POST', url: `${serverAddress}/product/add`, data: {proClassification:proClassification }, success: (res) => { alert('success'); }, error: (er) => { alert('err'); } }) }) mongoose modules : const mongoose = require('mongoose'); const productSchema = new mongoose.Schema({ proClassification:{ type:[String] }, }); module.exports = mongoose.model('Product', productSchema); controller: exports.addProduct = (req,res) => { const {proClassification} = req.body; const product = new Product ({ proClassification, }); product.save().then(product => { res.status(201).json(product); }).catch(error => { console.log(error) res.status(500).send(error); }); }
    1 نقطة
  13. السلام عليكم ورحمة الله وبركاته احينا ارى مثل هذا الكود @keyframes في ال cssو لا افهم ما معناه فما هو معناه
    1 نقطة
  14. إن طريقةاستقبال رد 201 تختلف عن 200 هل يمكنك تجريب رد حالة 200 أين تقرأ الرد ب undefined? serializearray ضرورية لأن اي شيء يتم تمثيله كسلسلة نصية لنستطيع وضعه في قاعدة البيانات، فهي لاتقبل تخزين كائنات برمجية مباشرة
    1 نقطة
  15. قمت بالتجربة بالفعل لكن المشكلة في server-side حيث انه لايقوم بتخزينها و انما يرد ب مصفوفة فارغة ..
    1 نقطة
  16. على الأغلب المشكلة في استخدام جيكويري، طالما أنه لدينا أكثر من عنصر، يتوجب المرور عليهم بحلقة ثم قراءة كل منهم. إما نستخدم حلقة each let proClassification = []; $.each($(".selectpicker"), function(){ proClassification.push($(this).val()); }); console.log(proClassification); أو map var proClassification = $('.selectpicker').map(function() { return $(this).attr('value'); }).toArray(); console.log(proClassification);
    1 نقطة
  17. عندما أقوم برفع ملف في مشروع لارافيل Laravel خاص يتم رفع الملف وتخزينه بدون مشكلة، ولكني أريد أن أسجل حجم الملف في قاعدة البيانات عند رفعه كذلك. أقوم بالوصول إلى الصورة (الملف المرفوع) من خلال الكود التالي: $image = $request->file('img'); كيف يمكنني الحصول على حجم الملف الكامل في لارافيل Laravel؟
    1 نقطة
  18. يمكنك ذلك أخي الكريم من خلال كتابة بيانات وهمية لجعل النظام يقوم بإختبار إرسال البريد الإلكتروني حيثُ يجب إضافة الأسطر التاليه في ملف settings.py host: EMAIL_HOST port: EMAIL_PORT username: EMAIL_HOST_USER password: EMAIL_HOST_PASSWORD use_tls: EMAIL_USE_TLS use_ssl: EMAIL_USE_SSL timeout: EMAIL_TIMEOUT ssl_keyfile: EMAIL_SSL_KEYFILE ssl_certfile: EMAIL_SSL_CERTFILE و ذلك بعد تعريف أن كافة القيم تساوي None من خلال الآتي في نفس الملف class backends.smtp.EmailBackend(host=None, port=None, username=None, password=None, use_tls=None, fail_silently=False, use_ssl=None, timeout=None, ssl_keyfile=None, ssl_certfile=None, **kwargs) كما يتعين عليك إضافة تعريف Email Back End في ملف settings.py EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' و إضافة السطر التالي إذا كنت تستخدم الـ console.log في عرض نتائج الإختبار EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' ثم إستخدام الكود التالي من أجل تعريف الإختبار في ملف الإختبار الخاص بك from django.core import mail connection = mail.get_connection() messages = get_notification_email() connection.send_messages(messages) ملحوظه : الأسطر التاليه يمكن تثبيتها و تعتبر إضافية في حال الحاجة إليها عند حدوث مشاكل في موجه الأوامر python -m pip install aiosmtpd python -m aiosmtpd -n -l localhost:8025
    1 نقطة
  19. كلاهما خاصيتان خاصتان بالصندوق المرن او ما يعرف ب flex box , اي لا يتم تطبيقهما الا اذا كانت الحاوية لديها الخاصية display:flex , أما بالنسبة للخاصية justify-content فهي تحدد كيفية توزيع المساحة بين عناصر الحاوية وحولها بشكل أفقي ,تأخذ العديد من القيم مثل start و center و end وغيرها,مثلا لو كان لدينا الكود التالي <div id="main"> <div style="background-color:green;">1</div> <div style="background-color:red;">2</div> <div style="background-color:blue;">3</div> </div> css #main { width: 400px; height: 100px; border: 1px solid #c3c3c3; display: flex; justify-content: start; } #main div { width: 50px; height: 50px; } سوف تكون النتيجة كالتالي نلاحظ أن العناصر عرضت في بداية الحاوية , ماذا لو قمنا بتغيير القيمة الى center كالتالي justify-content: center; سوف تكون النتيجة كالتالي نلاحظ أن العناصر جاءت في منتصف الحاوية , ربما قد فهمت ما وظيفة الخاصية , وبالفعل لو كانت القيمة end فسوف تعرض في نهاية الحاوية كالتالي لاحظ يتغير موضع العناصر بشكل أفقي , ولكن ماذا اذا أردنا تغييره بشكل عمودي؟ نستخدم الخاصية الأخرى وهي align-content فهي تحدد طريقة عرض العناصر بشكل عمودي , ولكن يجب أن نستخدم خاصية flex-wrap: wrap; معها للسماح للعناصر بالالتفاف والنزول الى اسفل , لها نفس القيم أيضا فمثلا لو كانت center يمكنك تجربة الأمر مع القيم الأخرى شكرا لك
    1 نقطة
  20. لدي متغيرين يحمل كلًا منهما تاربخ معين (في شكل نص string): $date1 = '2022-03-25 14:21:36'; $date2 = '2022-03-26 10:15:48'; كيف أحسب عدد الدقائق (أو الثواني) بين المتغيرين في PHP؟
    1 نقطة
  21. لدي مشروع مبني على إطار العمل لارافيل Laravel وهذا المشروع مربوط بالفعل بقاعدة بيانات MySQL وأريد ان أقوم بربطه بقاعدة بيانات أخرى في نفس الوقت (من نوع Postgres) للحصول على بعض البيانات. كيف أقوم بهذا الأمر؟ هل يوفر لارافيل Facade للتعامل مع مثل هذه الحالات؟ أم يجب أن أقوم بعمل سكريبت منفصل للإتصال بقاعدة البيانات وأعمل عليها يدويًا؟
    1 نقطة
  22. واحدة من المميزات التي يقدمها لارافيل هي في إمكانية استعماله لاتصالات قواعد بيانات مختلفة، ولن يكون ذلك الا بإعداد كل منها في ملفات الاعداد. لاحظ أن ملف config/database.php يتوفر على مصفوفة بالمفتاح connections تحمل هاته المصفوفة تعريفات مختلفة من بينها تلك الخاصة بـ mysql و pgsql: 'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ], 'pgsql' => [ 'driver' => 'pgsql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '5432'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'prefix_indexes' => true, 'schema' => 'public', 'sslmode' => 'prefer', ], كل نموذج Model من نماذج لارافيل يحتوي على الخاصية connection التي تكون مضبوطة على اتصال قواعد البيانات الافتراضي المعرف في ملف اعداد قواعد البيانات. يمكنك تخصيص تلك التي تعمل على اتصال قاعدة بيانات pgsql وتلك التي تعمل على اتصال mysql باسنادها كقيمة ل connection في ملف النموذج المستهدف: class Post extends Model{ protected $connection = 'pqsql'; .. } في ملف التهجير المرافق لهذا النموذج قم بضبط نفس الامر عن طريق استعمال التابع connection للواجهة Schema: Schema::connection('pqsql')->create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->timestamps(); }); بفرض أنك اتصالي قواعد البيانات اللذان لديك يعملان بشكل عادي، نفذ أمر التهجير php artisan migrate وستلاحظ أن كل قاعدة بيانات تهجر بها بيانات مختلفة.
    1 نقطة
  23. الدالة file_get_contents تقوم بإرجاع false إذا لم تتمكن من الحصول على أي محتوى من الرابط. ويمكنك إستخدام معامل التحكم بالخطأ @ مع جملة if بالشكل التالي: <?php $page = @file_get_contents('http://www.not-exists-on-web.com'); if ($page !== False) { // تم تحميل الصفحة بشكل سليم echo $page; } else { // فشلت عملية تحميل الصفحة echo "NOT loaded"; } لمزيد من المعلومات عن هذه الدالة، يمكنك زيارة موسوعة حسوب (الدالة file_get_contents()‎ في PHP).
    1 نقطة
  24. الكائن localStorage عبارة عن كائن JavaScript عادي، ويمكنك إستخدامه في أي موقع بدون أي مشكلة وبغض النظر عن إطار العمل الذي تستعمله. حاول أن تستعمل localStorage في الخطاف useEffect أو useState لكي لا يتم إستخدامه في كل عملية render للمكون component، بالشكل التالي: import React, { useState } from "react"; const MyInput = () => { const [value, setValue] = useState(localStorage.getItem("key") || ""); const onChange = (e) => { setValue(e.target.value); localStorage.setItem("key", e.target.value); }; return <input value={value} onChange={onChange} />; }; export default function App() { return ( <div className="App"> <MyInput /> </div> ); } في المثال السابق، يتم عمل input وأي شيء سوف يتم كتابته فيه سيتم تخزينه في localStorage مباشرة يمكنك الإطلاع على المزيد عن localStorage من خلال هذه المقالات:
    1 نقطة
  25. أختي الكريمة أنت لم تذكري اسم البرنامج الذي تستخدمينه، ولا اسم نظام التشغيل. بكل الأحوال سأفرض استخدامك لبرنامج Microsoft Word وهو الأكثر انتشارًا، على نظام ويندوز. تحتاجين نسخة 2007 وأحدث من البرنامج. يجب عليك أولًا تحميل هذا الملف BibWord وهو يحتوي على تنسيقات المراجع reference styles التي يمكنك استخدامها في برنامج مثل الوورد، ومن بينها تنسيق IEEE فكّي الضغط عن ملف zip الذي قمتي بتحميله، وستشاهدين مجموعة من الملفات (هذه هي التنسيقات المدعومة) أغلقي برنامج الأوفيس بشكل كامل الآن اتبعي المسار التالي Your Computer → Disk C: → Program Files → Microsoft Office → Office 12 → Bibliography → Style انسخي الملفات التي أخرجتيها من ملف zip وضعيها في مجلد Style الذي وصلنا إليه من المسار السابق شغلي برنامج الوورد، حصلتي على ما تريدين: للمزيد من التفاصيل أختي راجعي هذا الموضوع
    1 نقطة
×
×
  • أضف...