لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 12/05/22 في كل الموقع
-
لقد قمت بعمل موقع يتكون من قناتين وهناك زر للقناة الاولى وزر للقناة الثانية عند الضغط على احد الازرار تظهر القناة المحدد وتختفي الأخرى لكن المشكلة هي المقطع المخفي يبقى شغال كيف يمكنني عمل destory للمقطع بالجافا سكريبت1 نقطة
-
السلام عليكم. عندي مشكل في تحديد العنصر الذي أريده. في المثال التالي عندما أضغط على زر like تتحول كافة العناصر إلى dislike وليس العنصر المحدد. مثلما تلاحظون كافة المنتجات dislike قمت باستعمال الدالة find و كن دون جدوى. function App() { const [toggleLike,setToggleLike] = useState(false) const handleClick = (id) => { data.find(item => item.id === id) console.log(data); setToggleLike(!toggleLike) } return ( <div className="App"> <Header/> <div className='main'> <Aside/> { <div className='products-section'> { data.map(product => ( <Product key = {product.id} id = {product.id} title = {product.title} img = {product.img} price = {product.price} handleClick = {()=>handleClick(product.id)} toggleLike = {toggleLike} /> )) } </div> } </div> </div> ); } function Product({id,img,title,price,handleClick,toggleLike}) { return ( <div className='card'> <div className='product-price'>{price} dt</div> <img src={img} className="card-img" alt=""/> <div className="card-body"> <h5 className="card-title">{title}</h5> <div className='cart-btns'> <button type="button" className="like-btn" onClick={handleClick}> { toggleLike ? <BsFillHandThumbsDownFill/> : <BsFillHandThumbsUpFill/> } </button> {/* <button type="button" className="like-btn"></button> */} <button type="button" className="add-to-cart-btn"><BsCartFill/></button> </div> </div> {/* <Rating /> */} </div> ) } شكرا على المساعدة.1 نقطة
-
مرحبا انا محمد عملت هذه ال to do list باستخدام html, css, js , axios , nodejs, express, mongodb, cors to_do_list_fullstack.rar1 نقطة
-
1 نقطة
-
مرحبا، في تطبيقات مشهورة مثل تطبيق Uber، يقوم ال system بإسناد الراكب إلى أقرب سائق، ثم إذا رفض السائق أو مر وقت معين، يقوم ال system بإسناد الراكب إلى سائق آخر، كيف يمكن عمل هذا الشيء باستخدام laravel framework ؟1 نقطة
-
كتطبيق عملي للوصف السابق يمكنك القيام بالتالي: عند تقديم طلب من طرف الراكب او العميل يتم االتالي. <?php ... class RideController extends controller { /** * حجز رحلة * * @return void */ public function book(){ // انشاء رحلة جديدة وسائق معين $ride = Ride::create([ 'user_id' => auth()->id() , 'driver_id' => 'RANDOM_DRIVER_ID']); // انشاءرحلة مجدولة ScheduledRide::create([ 'ride_id' => $ride->id ]); // تنبيه السائق عن رحلة جديدة event(new NotifyDriverByRideEvent($scheduledRides->ride)); } } لاحظ وجود انموذج بيانات Ride يعبر عن الرحلة التي قام المستخدم بحجزها. في ذات الوقت تم انشاء رحلة مجدولة تعبر عن مهمة جدولة الرحلة. ويتم تمثيل ذلك بانموذج ببيانات آخر هو ScheduledRide سنحتاج الآن جعل هاته الرحلات المجدولة مهام يتم تحميلها بشكل ديناميكي من طرف المجدول. ليمكن التحقق مثلا من ما ان كانت الرحلة قبلت من السائق خلال الخمس دقائق الماضية او هي معلقة. بملف app/Console/Kernel.php سنحتاج عرض كامل الرحلات المعلقة او المجدولة والتحقق مثلا من ما ان قام السائق بقبول الرحلة أو لا: /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { /* جلب كاملة الرحلات المجدولة */ $scheduledRides = ScheduledRide::all(); // المرور على كامل الرحلات المجدولة foreach ($scheduledRides as $scheduledRide) { $schedule->call(function() use($scheduledRide) { // التحقق من ما ان قبلت الرحلة من طرف السائق if($scheduledRide->ride->is_approved_by_driver){ // ان كانت الرحلة قد قبلت لن نحتاج ان تكون الرحلة مجدولة او معلقة فهي تامة $scheduledRide->delete(); }else{ // اما في غير ذلك // سنعدل الرحلة التي تمثل الرحلة المجدولة هاته ونسندها لسائق جديد $scheduledRide->ride->update(['driver_id' => 'NEW_DRIVER_ID']); // وبالطبع ننبه السائق الجديد ايضا event(new NotifyDriverByRideEvent($scheduledRide->ride)); // .. ولما لا اخبار السائق السابق بان الرحلة قد فاتته // او استعمال ذلك في حساب معدل ادائه في التطبيق } })->everyTenMinutes(); // ضع اي خيار تواتر يوافق حاجتك او حاجة العملاء } } طبعا الفكرة تحتاج تنظيما وتنظيفا اكثر، ولكن ستتجه بشكل او بآخر نحو ذات المفاهيم.1 نقطة
-
اريد اختبار وجود مادة ضمن database ام لا بناء على idمعين لا اعلم ان كان هذا الاختبار يعتبر صحيح لكن فقط المطلوب عملية testing ب ابسط الاشكال ليس لدي الخبرة الكافية في عملية testing1 نقطة
-
حاولت ولم ينجح للأسف، لو عندي تحليل لنظام بسيط يشمل الفكرة فقط ( يكون حققت المطلوب )1 نقطة
-
ما هي حالة الاستخدام التي تحاول اختبارها تحديدا؟ ما تحاول القيام به غير واضح اساسا.1 نقطة
-
هل يمكنك مساعدتي في ذلك x$ فيها كورس واحد ومع ذلك لا يقبل Object of class stdClass could not be converted to string1 نقطة
-
1 نقطة
-
للأسف انا دارس الموضوعين، ومن أكثر من مصدر، لكن مش قادر أتمكن أرسم تحليل صحيح لل life cycle الخاصة بشيء مثل هيك1 نقطة
-
لا، لا يقبل التابع assertDatabaseMissing ولا التابع assertDatabaseHas مصفوفة متعددة الابعاد Multi-dimensional، يجب تمرير مصفوفة ثنائية البعد بالخصائص والقيم المراد استبعادها او البحث عنها فقط.1 نقطة
-
شكرا لك اخي الكريم لو عدت الى الصورة المرفقة للمتحول $x هنا الاستعلام يعيد مصفوفة اكثر من عنصر $this->assertDatabaseHas('courses', ['Course_name' => $x]); هل يقبل عدة عناصر ؟عدة قيم1 نقطة
-
أظن أن معرفة بسيطة بجزئيتي جدولة المهام وطوابير الانتظار في لارافيل سيكون كافيا لتصور شيفرة كاملة عن العملية الموضحة اعلاه.1 نقطة
-
شكرا كتير، لكن الفكرة للأسف غير واضحة بشكل كامل عندما نأتي للناحية التقنية ممكن مصادر أكثر عن الموضوع، حتى ما أغلبك، أو يا ريت لو فيه كود لهذه العملية بحيث أقدر أفهم العملية من خلال الكود1 نقطة
-
1 نقطة
-
هي يمكنك مشاركة ملفات المشروع حتى استطيع الاطلاع على المشكلة بشكل افضل.1 نقطة
-
ما تحاول القيام به هنا غير واضح جيدا. اذ يفترض من تابع الاختبار ان يعبر عن حالة استخدام واضحة وجلية. فلا نقول: public function testUserProduct() بل نقول: public function test_user_can_create_a_product() أو: public function test_user_can_archive_a_product() أو ما الى ذلك (بالطبع لا اقصد طريقة الكتابة). بالنسبة لحالة الاختبار الأولى فأنت تحاول التأكد ان قاعدة البيانات لا تمتلك اي سجل في جدول supervisors يمتلك قيمة فارغة في عمود sup_id. لا مشكلة بذلك. أما بالنسبة لحالة الاستخدام الثانية، فأنت تقوم بتحديد كورس معين ثم تقوم بالتأكد من ان الكورس غير موجود .. فالعملية هنا غير منطقية أساسا، أظنك تحتاج اعادة صياغة حالة الاختبار. بما أنك تقوم باختبار قواعد البيانات، فيفضل استعمال اتصال قاعدة بيانات in-memory مثل اتصال sqlite وذلك عن طريق الغاء تعليق الاسطر التالية في ملف phpunit.xml: <env name="DB_CONNECTION" value="sqlite"/> <env name="DB_DATABASE" value=":memory:"/>1 نقطة
-
اعتقد ان المشروع الخاص بك لم يكتمل بعد، حيث ان الوضع (نهاري وليلي) يذهب عند إعادة تحميل الصفحة وعليك اعادة تعيينه. عند اضافة ملاحظة جديدة عليك اعادة تحميل الصفحة او تغيير الفلتر من all إلى active وبالعكس حتى يعمل. الفلتر Complated لا يعمل عندما لا تملك اي مهمات مكتملة، حيث تظهر كل المهمات الغير مكتملة في هذه الحالة وعندما تكون كل المهمات مكتملة لا يظهر اي شيء. عندما تكون كل العناصر مكتملة : عندما لا يكون هنالك اي عنصر مكتمل : اتمنى ان تصلح هذه المشاكل وتقوم برفعل الموقع على استضافة حقيقية مثل heroku1 نقطة
-
اريد فقط عمل اختبار بسيط على دالة معينة ل جمع عددين مثلا للتأكد من القيمة الاصلية مع القيمة المتوقعة1 نقطة
-
يمكنك معاملة هاته الدالة كميزة. واختبارها كحالة استخدام عن طريق اختبارات الميزة في لارافيل. لنقل ان الدالة الخاصة بك يتم الاشارة اليها عن طريق المسار: Route::get('/example/{byear}' , [MyController::class ,'countAge']) ستحتاج اول الأمر انشاء حالة اختبار Test case عن طريق تنفيذ: php artisan make:test CountAgeTest ستلاحظ انشاء ملف جديد بداخل مجلد tests/Feature الخاص بتطبيق لديك. محتوى الملف سيكون مشابها لـ: <?php namespace Tests\Feature; use PHPUnit\Framework\TestCase; class CountAgeTest extends TestCase { /** * A basic test example. * * @return void */ public function test_basic_test() { $this->assertTrue(true); } } في العادة يعبر الصنف CountAgeTest عن مجموع حالات الاستخدام التي تندرج تحت هذا الهدف وهو حساب العمر. فعلى سبيل المثال يتفرع عن هذا الهدف: حالة ان يتم تقديم سنة اكبر من الحالية (2040 مثلا)، كيف نتوقع ان يتم التعامل معها؟ حالة ان يتم تقديم عدد سالب. حالة ان يتم تقديم سلسلة نصية بدل عدد. حالة ان يتم تقديم عدد عشري عوض عدد صحيح موجب. كل هاته الحالات تسمى حالات استخدام تتبع عن الهدف الأساسي الذي هو حساب العمر. (قد يمثل Task او Goal في مخططات حالات الاستخدام ان كنت معتادا على العمل في فرق). فأنت سنحتاج نمذجة هاته الحالات ومن بينها الحالة التي وصفتها. لنأخذ الخاصة بك كمثال: في لارافيل يتم وصف حالات الاختبار كتوابع تبدأ اما ب test : <?php namespace Tests\Feature; use PHPUnit\Framework\TestCase; class CountAgeTest extends TestCase { /** * */ public function test_if_age_can_be_counted() { // } } او مميزة بتعليق @test ويسمى annotation: <?php namespace Tests\Feature; use PHPUnit\Framework\TestCase; class CountAgeTest extends TestCase { /** @test*/ public function age_can_be_counted() { // } } بنية حالة الاختبار تتبع غالبا نمطا مشابها: /** @test*/ public function age_can_be_counted() { # 1 - تحضير البيانات # 2 - القيام بال action والخروج بنتيجة # 3 - استعمال التوكيدات assertions للتأكد من حصول شيء معين } مثال: /** @test*/ public function age_can_be_counted() { # 1 - تحضير البيانات $exampleByear = 1960; $ageNow = 62; # 2 - القيام بال action والخروج بنتيجة $response = $this->get('/example/'.$exampleByear); # 3 - استعمال التوكيدات assertions للتأكد من حصول شيء معين $response->assertStatus(200); // التأكد من ان كود حالة الطلب يعبر عن طلب ناجح $this->assertEquals( $response->getContent(), $ageNow ) } لاحظ استعمال التوكيد assertStatus و assertEquals وهما تابعان يوفرهما لارافيل ضمن سلسلة من التوابع يمكن الاستفادة منها لاختبار نتائج مختلفة. أخيرا، لن تحتاج الا طباعة الأمر: php artisan test أو: vendor/bin/phpunit أو: phpunit لتشغيل الاختبارات، خرج الأمر هو ما سيعبر عن اما نجاح او فشل حالة الاختبار. مقدمة إلى التعامل مع الاختبارات في Laravel1 نقطة
-
السلام عليكم عندي مشكلتين مو عارف ايش الحل الاولى : اني لما احاول احط backGroundColor ما بيشتغل معي في bottomNavigatorBar الثانيه : اني لما احاول اكبس على اي item داخل ال items ما بيتغير ال currentindex او بمعنى واضح لا ينتقل الى العنصر الذي بجانبه (موضح في الصوره) وشكرا لكم...... اللون الاحمر المشكله الاولى اللون الاخضر المشكله الثانيه1 نقطة
-
يمكنك الاستعانة بمفهوم جدولة المهام Task scheduling و طوابير الانتظار Queue لتنفيذ او جدولة مهمة اسناد الراكب الى السائق المستهدف والتحقق من قبول ذلك. فيكون منطق العملية مشابها لـ: عند تقديم طلب من طرف الراكب او العميل يتم اضافة مهمة اسناد الراكب للسائق الى طابور انتظار يتم مباشرة التحقق من تنفيذ او قبول المهمة عن طريق ارفاق ما يسمى بخيار تواتر frequency option للمهمة المجدولة، اذ يتم التحقق من ما ان تمت المهمة المقصودة كل مدة n من الزمن. في حالة عدم قبول اسناد المهمة خلال المدة n يتم اعادة الاسناد الى سائق آخر وهكذا. بالطبع فإن هذا هو المنطق العام للعملية. يمكنك التوسع في الفكرة أكثر. جدولة المهام (Task scheduling) في Laravel1 نقطة
-
مرحبا كنت أعمل على sass بشكل طبيعي ثم بعد يومين ظهرت لي مشكلة و لم يعد يعمل : بعد طول انتظار من إدخال أمر التشغيل command prompt : sass --watch "C:\Users\hp\Desktop\Sass project\sass" تظهر لي الرسالة: <--- Last few GCs ---> [9080:000001EAA35BDC80] 286224 ms: Mark-sweep 4053.1 (4136.7) -> 4040.4 (4140.5) MB, 33616.7 / 0.0 ms (average mu = 0.275, current mu = 0.031) allocation failure; scavenge might not succeed [9080:000001EAA35BDC80] 313500 ms: Mark-sweep 4056.8 (4140.7) -> 4044.7 (4144.2) MB, 25487.2 / 0.0 ms (average mu = 0.185, current mu = 0.066) allocation failure; scavenge might not succeed <--- JS stacktrace ---> FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 1: 00007FF682FC1B7F node_api_throw_syntax_error+203775 2: 00007FF682F41556 v8::internal::wasm::WasmCode::safepoint_table_offset+63558 3: 00007FF682F428C2 v8::internal::wasm::WasmCode::safepoint_table_offset+68530 4: 00007FF6839E47F4 v8::Isolate::ReportExternalAllocationLimitReached+116 5: 00007FF6839CFB52 v8::Isolate::Exit+674 6: 00007FF683851BBC v8::internal::EmbedderStackStateScope::ExplicitScopeForTesting+124 7: 00007FF68384EDDB v8::internal::Heap::CollectGarbage+3963 8: 00007FF683865013 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath+2099 9: 00007FF6838658BD v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath+93 10: 00007FF6838750F3 v8::internal::Factory::NewFillerObject+851 11: 00007FF683566825 v8::internal::DateCache::Weekday+1349 12: 00007FF683A81E81 v8::internal::SetupIsolateDelegate::SetupHeap+558193 13: 00007FF683A07992 v8::internal::SetupIsolateDelegate::SetupHeap+57218 14: 00007FF603D53739 حاولت إصلاح المشكلة بالبحث في النت ووجدت عدة حلول كلها لم تفلح . أرجو الرد بكل الحلول المتوفرة و الجالات علماً أن نظام التشغيل عندي وندوز 10 . ولكم الشكر1 نقطة
-
ملحوظة: انا في دورة أساسيات HTML 1- ما الطريقة الصحيحة للإستفادة من الدرس هل يجب علي تقليد الكود المكتوب في كل درس أم أشاهد فقط وسيحين وقت تجربتها فيما بعد علي مشروع حقيقي 2- هل يجب أن أسجل كل شي في الدرس أم سيكون هناك ملخص في نهاية كل دورة1 نقطة
-
للاستفادة قصوى من محتوى كل درس يفضل التطبيق العملي مع ما يقوم به المدرب خلال هذا الدرس. وهذا حتى بالنسبة للمسارات النظرية من مثل مسارات الأساسيات، على أنه سيتم فيما بعد مماررسة كل هاته الأساسيات في المسارات التطبيقية اللاحقة أين سيكون من الواجب عليك الممارسة العملية سواء للاستفادة من محتوى الدورة او كشرط لاجتياز الامتحان والتحصل على الشهادة فيما بعد.1 نقطة
-
هل تقصد أنك تريد "تحديد دروس الفصل القادم التي لم يتم تنزيلها بعد الموافقة لمستوى الطالب"؟1 نقطة
-
المشكلة Reached heap limit Allocation failed - JavaScript heap out of memory تعني ان الذاكرة المخصصة ل node غير كافية للقيام بالعملية. جرب تنزيل نسخة احدث من node لأنه هنالك بعض العقبات في موضوع الذاكرة في النسخ القديمة. في حال لم يجدي ذلك نفعاً فتأكد من توفر رام "ذاكرة عشوائي" كافية للمشروع الخاص بك، فإن كان ليس هنالك مساحة كافية في الذاكرة العشوائية فيجب عليك زيادة الذاكرة العشوائي بتركيب رامات اضافية للحاسوب الخاص بك أو إغلاق كل التطبيقات التي تستخدم الرام "الذاكرة العشوائية" حتى تتوفر مساحة كافية للمشروع الخاص بك وقد يساعدك في ذلك استخدام برامج الـ ram cleaner.1 نقطة