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

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

  1. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      7

    • المساهمات

      6975


  2. فارس الغامدي6

    فارس الغامدي6

    الأعضاء


    • نقاط

      4

    • المساهمات

      14


  3. Adnane Kadri

    Adnane Kadri

    الأعضاء


    • نقاط

      3

    • المساهمات

      5196


  4. سامح أشرف

    سامح أشرف

    الأعضاء


    • نقاط

      2

    • المساهمات

      2934


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

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

  1. لدي صنف class يحتوي على بعض التوابع methods، ولدي أيضًا دالة تُعيد اسم أحد هذه التوابع كـنص String، على النحو التالي: class Person { getAll() { // ... } } function methodName() { // ... return "getAll"; } const firstUser = new Person(); كيف يمكنني إستخدام ناتج الدالة methodName لإستدعاء تابع موجود في الصنف Person في JavaScript؟
    2 نقاط
  2. 2 نقاط
  3. لدي قاعدة بيانات ببرنامج الاكسيل واريد عمل مشروع باستخدام laravel 7 فكيف احولها إلى sql ومن ثم اربطها بلارافيل
    1 نقطة
  4. أريد أخذ النص المدخل في input و وضعه في div داخل صفحة html عند الضغط على button بواسطة JavaScript ماذا يمكنني التعديل على هذا الكود للقيام بهذا العمل ؟ const btn=document.getElementById('tweetbtn') btn.document.getElementById('tweetbtn').addEventListener("onclick", createTweet()) function createTweet(){ var inputVal = document.getElementById("tweet-text").Value; document.getElementById('tweettext').innerHTML =inputVal; document.getElementById('feed-tweet1').style.display= 'block'; }
    1 نقطة
  5. اريد ان اكتب دالة اضع بها رقم عشوائي مثلا(10)ثم يقوم بمضاعفة الرقم الى الالف باستخدام كود جافا سكربت <p id="f3"></p> <button onclick="f3()">masseg</button> <script> var num = prompt("ادخل الرقم"); let i = 1; while (i <= 1000) { text += num * i + " "; i++; } document.getElementById("f3").innerHTML = text; </script>
    1 نقطة
  6. انا طالب في كليه نظم ومعلومات وحابب المجال جدا جدا ونفسي اتعلمو بس متلغبط ومش عارف ابدا ازاي ياريت حد يقولي ابدا ازاي واسهل طريقه اتعلم بيها وافضل مجال في البرمجه
    1 نقطة
  7. كيف اقوم بكتابة دالة تقوم باستقبال مبلغ المبيعات ثم يتم تحديد وحساب الخصم على المبلغ بحيث تكون النتايج على الشاشة المبلغ: الخصم: الصافي بعد المبيعات: معدل الخصم: 5% اذا كانت المبيعات بين 500 و1000 ريال , 10% اذا كانت المبيعات بين 1000و 2000 , 15% اذا كانت المبيعات زائدة عن 2000 ريال <h1>ادخل المبلغ</h1> <input type="text" name="times" id="x"> <button onclick="dis"()>ارسال</button> <script> function dis(){ var i=0 var x=document.getElementById('x').value; if(x>2000) { i=15; } else if(x>=1000) { i=10; } else if(x>=500) { i=5; } para = document.createElement('p') para = innertext="المبلغ" +x+ "الخصم" +i+ "%" + "الصافي بعد الخصم" +(x(x(i/100))); document.body.appendChild(para); } </script>
    1 نقطة
  8. <h1>ادخل المبلغ</h1> <input type="text" name="times" id="x"> <button onclick="dis"()>ارسال</button> <script> function dis(){ var i=0 var x=document.getElementById('x').value; if(x>2000) { i=15; } else if(x>=1000) { i=10; } else if(x>=500) { i=5; } para = document.createElement('p') para = innertext="المبلغ" +x+ "الخصم" +i+ "%" + "الصافي بعد الخصم" +(x(x(i/100))); document.body.appendChild(para); } </script> هذا الكود الي عملته
    1 نقطة
  9. كيف اقوم بكتابة دالة تستقبل قيمتين (اسم,عدد مرات طباعة الاسم) ثم يقوم بكتابة الاسم الذي كتبناه بعدد المرات المعطاة <p id="f2"></p> <button onclick="f2" () >masseg</button> <script> var no1 = parseInt(prompt("ادخل الاسم")); var no2 = parseInt(prompt("ادخل عدد التكرار ")); let text = "" let i = 1; do { text += no1 +i; i++; } while (i < 7); document.getElementById("f1").innerHTML = text; </script> كتبت الكود وارجو التعديل عليه
    1 نقطة
  10. تصحيح أخطاء، لا داع لتحويل لرقم عند قراءة الاسم، فهو سلسلة نصية بشكل افتراضي نستخدم اسم واضح للمتغير قمت بتعديل القيمة 7 ب الرقم المدخل من المستخدم <p id="f2"></p> <button onclick="f2()">masseg</button> <script> var name = prompt("ادخل الاسم"); var numberCount = parseInt(prompt("ادخل عدد التكرار ")); let text = "" let i = 1; do { text += name + i; i++; } while (i <= numberCount); document.getElementById("f2").innerHTML = text; </script> حتى تستدعي الدالة يتوجب تضمين السكربت ضمنها ليتم تنفيذها عند النقر على الزر لاحظ الشيفرة <p id="f2"></p> <button onclick="f2()">masseg</button> <script> function f2(){ var name = prompt("ادخل الاسم"); var numberCount = parseInt(prompt("ادخل عدد التكرار ")); let text = "" let i = 1; do { text += name + i; i++; } while (i <= numberCount); document.getElementById("f2").innerHTML = text; } </script> ولإضافة سكر جديد نضيف الوسم br لنهاية السطر text += name + i + '</br>';
    1 نقطة
  11. لا يوجد في الأمر حيلة، يمكنك مباشرة وضع ملف الاكسل عن طريق سحبه ووضعه في المنطقة المشار اليها في التطبيق المرفق sqlizer
    1 نقطة
  12. للتحويل من احد صيغ Excel الى صيغة SQL يمكنك استعمال احد البرامج او تطبيقات الويب التي تختصر هذا الأمر من مثل sqlizer ، قومي اولا بتصدير الملف بأحد الصيغ المدعومة (xls , csv , xslx) ثم ارفقي الملف. ثانيا، لإستعمال الخرج بصيغة SQL في تطبيق لارافيل تأكدي من انشاء ملف تهجير ليحوي صيغة تهجير هذا الملف عن طريق طباعة الأمر: php artisan make:migration import_sql_file_migration يستعمل هذا الملف التابع unprepared من الواجهة DB كـ: \DB::unprepared( file_get_contents( "path/to/filename.sql" ) ); حيث يشير path/to/filename.sql الى مسار الملف. في حالة ما كان ملف قواعد البيانات كبيرا يمكنك تعديل المفتاح memory_limit لزيادة الحد من استهلاك الذاكرة. سيتطلب منك أخيرا تنفيذ امر التهجير: php artisan migrate:fresh يمكنك ايضا بعد تصدير ملف sql تضمينه فقط في phpMyAdmin واعداد laravel للعمل مع قاعدة البيانات المضمن فيها.
    1 نقطة
  13. يوجد أكثر من طريقة للقيام بهذا الأمر، وأسهل طريقة هي إستخدام طريقة الأقواس للوصول إلى التابع، كما يلي: firstUser["getAll"]; // access the method firstUser["getAll"](); // call the method وبالتالي يمكننا إستخدام ما يرجعه التابع methodName مكان النص في المثال السابق: firstUser[methodName()]; // access the method firstUser[methodName()](); // call the method أيضًا توجد طريقة أخرى عبر إستخدام الدالة eval: eval("firstUser." + methodName() + "()"); لكن لا يُفضل إستخدام هذه الطريقة لأنها قد تؤدي إلى وجود ثغرة XSS والتي تسمح للمهاجم بتنفيذ أكواد JavaScript ضارة بالمستخدم بغرض سرقة البيانات أو التخريب بشكل عام.
    1 نقطة
  14. أريد المساعدة في عمل برنامج يعمل على اظهار الاحرف التأليه من الكلمات المدخلة للبرنامج؟ Words= [a,e,i,o,u] Test = "I have study python language" ------
    1 نقطة
  15. سوف أساعدك في عمل البرنامج، لدينا سلسلة نصية تحوي على كلمات بينهم فراغات، ونريد اختبار شرط لكل كلمة هل تحتوى على أحد الحرفو الصوتية أم لا. لذلك: فصل السلسلة النصية إلى قائمة فيها كل عنصر عبارة عن كلمة يمكنك استخدام دالة split اضغط للتوجة لموسوعة حسوب >>> ' 1 2 3 '.split() ['1', '2', '3'] اختبار وجود أحد الأحرف الصوتية من مصفوفة الأحرف في الكلمة الحالية يمكن استعمال حلقات متداخلة # حلقة على الكلمات for word in words_list: # حلقة على الأحرف الصوتية for vowle in letters_list: if vowle in word: # اختبار print(word) break; // لكي يتم الطباعة مرة واحدة words_list ناشئة عن تطبيق slpit على النص test - و letters_list هي الأحرف الصوتية حاول عمل البرنامج وسوف نصلح الأخطاء إن وجدت
    1 نقطة
  16. يظهر لي هذا الخطا عند عمل علاقه many to many في لارافيل وهذه الاكواد اللتى قمت بكتابتها في المشروع create_projects_doctors.php في ملف ال migrations public function up() { Schema::create('projects_doctors', function (Blueprint $table) { $table->id(); $table->foreignId('doctors_id'); $table->foreignId('projects_id'); $table->timestamps(); $table->foreign('doctors_id') ->references('id') ->on('doctors') ->onDelete('cascade'); $table->foreign('projects_id') ->references('id') ->on('projects') ->onDelete('cascade'); // $table->unique(['doctors_id', 'projects_id']); }); } //Models doctors// public function projects() { return $this->belongsToMany(project::class, 'projects_doctors'); } //Models Project// public function doctors() { return $this->belongsToMany(doctors::class, 'projects_doctors'); } //DoctorsController public function index() { $doctors = doctors::find(1); $doctors->projects; dd($doctors); return view('doctors.index', compact(['doctors'])); }
    1 نقطة
  17. حاول تعديل علاقة الربط بين النماذج مع الجدول الوسيط //Models doctors// public function projects() { return $this->belongsToMany(project::class, 'projects_doctors', 'projects_id', 'doctors_id'); } //Models Project// public function doctors() { return $this->belongsToMany(doctors::class, 'projects_doctors', 'doctors_id', 'projects_id'); } بهذه الطريقة نحدد أسماء الحقول يدوياُ لتجنب الخطأ السابق. تعديل: إضافة اقتباس مفرد لأسماء الحول لتعامل كسلسلة نصية (خطأ كتابة)
    1 نقطة
  18. حين تنفيذ هذا الإستعلام SELECT order_id, thread_id, color_select FROM order_threads WHERE order_id = 42 تظهر النتيجة كالتالي إلى الان مفيش مشكلة الان اريد ربط بعض الجداول ببعضها لجلب بعض البيانات و المفتاح الرئيسي هو حقل و الذي يحتوي على اسماء الألوان و مطلوب عمل علاقة بينه و بين جدول إسمه patron_colors يحتوي على حقل اسمه color_name من المفترض انه يحتوي على نفس الداتا الموجودة في حقل color_select بجدول order_threads و كان الاستعلام كالتالي SELECT order_threads.thread_id, order_threads.order_id, order_threads.color_select, thread.name, patron_colors.color_name AS color_name, patron_colors.id, patron_colors.color_count FROM order_threads JOIN thread ON order_threads.thread_id = thread.id LEFT OUTER JOIN patron_colors ON patron_colors.color_name = order_threads.color_select WHERE order_threads.order_id = '42'; و النتيجة كانت كالتالي مع العلم ان الداتا في الحقلين دول واحدة بالحرف
    1 نقطة
  19. يمكنك عمل سكربت PHP يقرأ البيانات سطر سطر حسب id ضمن حلقة، و يجلب القيم ثم يعمل لها trim أي يحذف الفراغات الزائدة أي يعمل update لها وتأكد من عمل trim أيضاً عند حشر أي نوع بيانات لجداول قاعدة البيانات لتجاهل المشكلة. يمكن تطبيق trim خلال الشطر أيضاً لكنه يقلل الأداء أنه لا داع له لأنها سوف تتنفذ بشكل مكرر TRIM(patron_colors.color_name) = TRIM(order_threads.color_select) من الأفضل الربط بين الجداول عن طريق الرقم و ليس السلسل النصية لأنه أسرع و أدق
    1 نقطة
  20. انا اكتشفت المشكلة و هي فعلا غريبة جدا يا استاذ وائل الاستعلام لا ينفذ لانه في الجدول ده مثلا ( اصفر) في التاني (اصفر+مسافة) طبعا انا هعالجها ان شاء الله في الباك اند بس السؤال الان ازاي اخليه يتجاهل المسافه (space) عشان يطلع ناتج الاستعلام صح ، لان الداتا ضخمة جدا و صعب تعديلها كل وحدة على حدة
    1 نقطة
  21. حسب الخطأ، ربما يوجد اختلاف باسم العمود والسبب حالة الجمع أي حرف S projects_id ^ project_id أرجو تجريب عمل الحقول بدون S Schema::create('projects_doctors', function (Blueprint $table) { $table->id(); $table->foreignId('doctor_id'); $table->foreignId('project_id'); $table->timestamps(); $table->foreign('doctor_id') ->references('id') ->on('doctors') ->onDelete('cascade'); $table->foreign('project_id') ->references('id') ->on('projects') ->onDelete('cascade'); // $table->unique(['doctors_id', 'projects_id']); });
    1 نقطة
  22. إن علاقة الربط LEFT OUTER JOIN تجلب البيانات من طرف العلاقة الأيسر هل يمكنك عمل الاستعلام التالي للتأكد من جلبه للبيانات SELECT order_threads.thread_id, order_threads.order_id, order_threads.color_select, patron_colors.color_name AS color_name, patron_colors.id, patron_colors.color_count FROM order_threads JOIN patron_colors ON patron_colors.color_name = order_threads.color_select patron_colors
    1 نقطة
  23. لم تكن لغة PHP تدعم فكرة الأصناف المجهولة Anonymous classes في الماضي ولكن بداية من الإصدار 7 تم إضافة هذا المصطلح إلى اللغة وأصبح بإمكانك أن تقوم بهذا الأمر بشكل بسيط من خلال إستخدام الكلمة المفتاحية new و عمل صنف class بدون اسم على النحو التالي: new class { public function log($msg) { echo $msg; } } ويمكن تخزين الصنف في متغير أيضًا: <?php class Foo {} $child = new class extends Foo {}; var_dump($child instanceof Foo); // true تكون الأصناف المجهولة Anonymous classes مفيدة عندما يلزم إنشاء كائنات بسيطة لمرة واحدة وبشكل سريع.
    1 نقطة
  24. الغرض الأول من المولدات هو في كونها طريقة فعالة للتحكم في تنفيذ وتعليق شيفرة برمجية داخلها. بجانب انها لا تستهلك ذاكرة. لنقل اننا نحتاج أن نعالج منطقا معينا على أربع مستويات: function myFunc() { console.log('lvl 1 starts here') // lvl 1 code ============================ console.log('lvl 2 starts here') // lvl 2 code ============================ console.log('lvl 3 starts here') // lvl 3 code ============================ console.log('lvl 4 starts here') // lvl 4 code ============================ } استدعاء الوظيفة myFunc سيقوم بتنفيذ كامل منطق المستويات الأربع دفعة واحدة. الآن لو أردنا ان يمتلك كل مستوى خرجا معينا يمكن التعامل معه على نطاق خاص به، فإنه من الصعب تحقيقه عن طريق المنطق العادي لاحظ: function myFunc() { // تعليمات المستوى الأول ============================ return 'result after proccessed at level 1'; // =========== سيتم تجاهل كل التالي // تعليمات المستوى الثاني ============================ return 'result after proccessed at level 2'; // تعليمات المستوى الثالث ============================ return 'result after proccessed at level 3'; // تعليمات المستوى الرابع ============================ return 'result after proccessed at level 4'; } لأننا لن نصل من الأساس الى اي من المستويات الأخرى لأن return ستقوم بإيقاف تنفيذ التعليمات البرمجية عند اول مستوى وفقط. الحل هنا، هو في استعمال المولدات Generators، فبعد ان نعالج المعطيات على المستوى الاول يمكننا الاستفادة من عائد (نسميه نتيجة المولد Generator result) يميزه. وبدون الحاجة الى اعادة استدعاء فإنه سيمكنناعن طريق طلب المستوى التالي متى احتجنا المرور الى المستوى الثاني وهكذا. لاحظ المثال: function * myFunc() { // تعليمات المستوى الأول ============================ yield 'result after proccessed at level 1'; // =========== لن يتم تجاهل كل التالي // تعليمات المستوى الثاني ============================ yield 'result after proccessed at level 2'; // تعليمات المستوى الثالث ============================ yield 'result after proccessed at level 3'; // تعليمات المستوى الرابع ============================ yield 'result after proccessed at level 4'; } لاحظ أنه يتم تمييز دوال المولدات في جافاسكربت عن طريق النجمة وعائد المولد عن طريق الكلمة yield. لاحظ التطبيق العملي لها: var myGen = myFunc(); console.log(myGen.next().value) console.log(myGen.next().value) console.log(myGen.next().value) console.log(myGen.next().value) النتيجة: "result after proccessed at level 1" "result after proccessed at level 2" "result after proccessed at level 3" "result after proccessed at level 4" فالمولد هنا يحتفظ بالمستوى الذي هو عليه كل مرة نطلب فيها مستوى جديدا. الشيء الآخر المميز في المولدات هو في كونها كائنات قابلة للتكرار iterable فعلى سبيل المثال يمكنك عن طريقها انشاء تكرار لا متناهي دون ان يتوقف مفسر الشيفرة البرمجية عن العمل: function * infLoop() { let i = 0; while(true) yield i; } var inf = infLoop(); console.log(inf.next().value) console.log(inf.next().value) الآن لو احتجت استدعاء infLoop مليون مرة فستحافظ كل مرة على نطاقها الخاص الذي تستدعى ضمنه مرة واحدة.
    1 نقطة
×
×
  • أضف...