لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 10/28/24 في كل الموقع
-
السلام عليكم في دورة تطوير تطبيقات الويب باستخدام لغة PHP و في مشروع تطوير موقع إعلانات مبوبة كان يتضمن إنشاء مدونة بالموقع، لكنني لم استطع ايجاده2 نقاط
-
السلام عليكم هو اي الفرق مابين HAVING وبين WHERE في الSQL ؟2 نقاط
-
مشكلة في تحميل العناصر في Livewire مثل ماهو موضح في الصورة هذا الكود دالة لفتح create modal public function create() { $this->newElement($this->attribute); $this->committee_id = $this->committeeId; $this->dispatch('search_opend'); } TeamComponent @if ($isOpen) @include('dashboard.admin.tents.modals.tents') @endif team Modal <label class="form-label" for="wrapper_searchable">اسم اللجنة</label> <div wire:ignore class="wrapper_searchable"> <div class="form-control form_control_s"> <span>اسم اللجنة</span> <i class="uil uil-angle-down"></i> </div> <div class="content-searchable"> <div class="search-searchable"> <i class="uil uil-search"></i> <input spellcheck="false" type="text" placeholder="بحث"> </div> <ul class="options_searchable"></ul> </div> </div> @script <script> $wire.on('search_opend', (event) => { console.log("DOM fully loaded and parsed"); const wrapper_searchable = document.querySelector(".wrapper_searchable"); if (!wrapper_searchable) { console.error("Element .wrapper_searchable not found"); return; } const selectBtn = wrapper_searchable.querySelector(".form-control"), searchInp = wrapper_searchable.querySelector("input"), options_searchable = wrapper_searchable.querySelector(".options_searchable"); if (!selectBtn || !searchInp || !options_searchable) { console.error("One or more elements are not found"); return; } let countries = ["Yemen", "Bangladesh", "Belgium", "Bhutan", "Brazil", "Canada", "China", "Denmark", "Ethiopia", "Finland", "France", "Germany", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Italy", "Japan", "Malaysia", "Maldives", "Mexico", "Morocco", "Nepal", "Netherlands", "Nigeria", "Norway", "Pakistan", "Peru", "Russia", "Romania", "South Africa", "Spain", "Sri Lanka", "Sweden", "Switzerland", "Thailand", "Turkey", "Uganda", "Ukraine", "United States", "United Kingdom", "Vietnam" ]; function addCountry(selectedCountry) { options_searchable.innerHTML = ""; countries.forEach(country => { let isSelected = country == selectedCountry ? "selected" : ""; let li = `<li onclick="updateName(this)" class="${isSelected}">${country}</li>`; options_searchable.insertAdjacentHTML("beforeend", li); }); } addCountry(); function updateName(selectedLi) { searchInp.value = ""; addCountry(selectedLi.innerText); wrapper_searchable.classList.remove("active"); selectBtn.firstElementChild.innerText = selectedLi.innerText; } searchInp.addEventListener("keyup", () => { let arr = []; let searchWord = searchInp.value.toLowerCase(); arr = countries.filter(data => { return data.toLowerCase().startsWith(searchWord); }).map(data => { let isSelected = data == selectBtn.firstElementChild.innerText ? "selected" : ""; return `<li onclick="updateName(this)" class="${isSelected}">${data}</li>`; }).join(""); options_searchable.innerHTML = arr ? arr : `<p style="margin-top: 10px;">Oops! Country not found</p>`; }); selectBtn.addEventListener("click", () => wrapper_searchable.classList.toggle("active")); }); </script> @endscript2 نقاط
-
2 نقاط
-
1 نقطة
-
وعليكم السلام ورحمة الله وبركاته. الفرق الرئيسي بينهما هو في كيفية ترشيح النتائج و ترتيبهم في جملة إستعلام SQL. WHERE: تستخدم لتصفية الصفوف قبل تطبيق عمليات التجميع aggregation (مثل SUM، AVG، إلخ). يتم تطبيقها على كل صف في الجدول مباشرة. لا يمكن استخدامها لتصفية نتائج دوال التجميع أو الأعمدة التي تم إنشاءه في أمر SQL ، لأنها تعمل قبل عمليات التجميع حيث تعمل على الجدول مباشرة حيث تقوم SQL بجلب البيانات فقط التي تشابه الشرط في WHERE . يتم كتابتها قبل جملة GROUP BY . SELECT column1, column2 FROM table_name WHERE column1 > 100 GROUP BY column1 HAVING: يُستخدم لتصفية النتائج بعد تطبيق عمليات التجميع aggregation . يتم تطبيقها شروط على دوال التجميع أو أي عمود أخر. يتم كتابتها بعد جملة GROUP BY . SELECT column1, SUM(column2) FROM table_name GROUP BY column1 HAVING SUM(column2) > 100; تخيل مثلا أنه لدينا جدول للمنتجات ونحن نريد البحث عن المنتجات التي لها تصنيف إلكترونيات مثلا . هنا سنستحدم WHERE وهنا SQL ستقوم بالمرور على جميع الصفوف في الجدول و أي منتج له تصنيف إلكترونيات سيتم إختياره . تخيل بعد ذلك نحن نريد مثلا المنتج الذي من تصينيف إلكترونيات ومجموع مبيعاته مثلا 1000 . هنا سنستخدم HAVING و SQL ستقوم أولا بترشيح المنتجات بناء على التصنيف وستحتفظ بتلك النتائج كما في المثال السابق . بعد ذلك ستقوم SQL بالتجميع وبعد التجميع ستقوم بالترشيح بناء على شرط HAVING : SELECT product_name, SUM(sales) AS total_sales ,category FROM products WHERE category = 'إلكترونيات' GROUP BY product_name HAVING SUM(sales) >= 1000; إذا أولا SQL ستأتي بالنتائج من قاعدة البيانات التي لها category يسمى إلكترونيات بعد ذلك ستقوم بجمع المبيعات لجميع تلك الصفوف وبعد ذلك تقوم بعمل ترشيح ثاني بإستخدامHAVING وأخيرا تعيد النتائج النهائية.1 نقطة
-
WHERE تستخدم لتصفية البيانات قبل عمليات التجميع مثل COUNT SUM AVG وتطبّق مباشرة على الصفوف في الجدول وتعمل على ترشيح الصفوف التي يتم أخذها في الاعتبار قبل تنفيذ أي دالة تجميعية كما لا يمكن استخدام دوال التجميع مثل COUNT و SUM مع WHERE. SELECT name, age FROM employees WHERE age > 30; فمثلا هذا الاستعلام يقوم بإحضار كل الموظفين الذين أعمارهم أكبر من 30. في حين أنّ HAVING تستخدم لتصفية النتائج بعد تطبيق عمليات التجميع وتستخدم عادة مع GROUP BY لتصفية المجموعات بناء على شروط معينة تشمل دوال التجميع ويمكن استخدام دوال التجميع مع HAVING كالتالي: SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 5; فهذا الاستعلام يقوم بإحضار الأقسام التي تحتوي على أكثر من 5 موظفين فقط، بعد تجميع البيانات. أي باختصار نستخدم WHERE لتصفية البيانات قبل عمليات التجميع و HAVING لتصفية البيانات بعد عمليات التجميع وعادة مع GROUP BY. يمكنك الاطلاع على هذه الإجابات على نفس سؤالك من هنا:1 نقطة
-
من الـ back-end ففي الواجهة الأمامية، نرسل بيانات للواجهة الخلفية أو نستقبلها منها.1 نقطة
-
1 نقطة
-
السلام عليكم. إعتمدت على react-quill لإرسال بيانات إلى قاعدة البيانات كما يلي "use client"; import React, { SetStateAction, useState } from 'react'; import dynamic from 'next/dynamic'; import 'react-quill/dist/quill.snow.css'; import { useTranslations } from 'next-intl'; const QuillEditor = dynamic(() => import('react-quill'), { ssr: false }); type DescriptionProps = { description: string, setDescription: React.Dispatch<React.SetStateAction<string>> } const Description = ({description, setDescription}: DescriptionProps) => { const t = useTranslations('Add Task') // const [description, setDescription] = useState<string>(''); const quillModules = { toolbar: [ [{ header: [1, 2, 3, false] }], ['bold', 'italic', 'underline', 'strike', 'blockquote'], [{ list: 'ordered' }, { list: 'bullet' }], ['link', 'image'], [{ align: [] }], [{ color: [] }], ['code-block'], ['clean'], ], }; const quillFormats = [ 'header', 'bold', 'italic', 'underline', 'strike', 'blockquote', 'list', 'bullet', 'link', 'image', 'align', 'color', 'code-block', ]; const handleEditorChange = (content: SetStateAction<string>) => { setDescription(content); }; return ( <div className=" bg-gradient-to-br from-white to-gray-100 dark:from-gray-800 dark:to-gray-900"> <h2 className="text-gray-800 dark:text-gray-300 font-medium mb-2"> {t('task_description')} </h2> <QuillEditor value={description} onChange={handleEditorChange} modules={quillModules} formats={quillFormats} className="w-full bg-gray-50 dark:bg-gray-800 border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-4 focus:ring-indigo-400 focus:border-indigo-500 transition-all text-gray-900 dark:text-gray-100 text-xl" /> </div> ); }; export default Description; المشكل الذي أواجهه هو أنه عند عرض البيانات لايتم عرضها كما أرسلتها (ul - ol ...) الكود <p className="mb-6 text-gray-700 dark:text-gray-300 text-justify" dangerouslySetInnerHTML={{ __html: task.description }} > {/* {task.description} */} </p> شكرا1 نقطة
-
وعليكم السلام، أولا : قم بإضافة ql-editor للعنصر الذي تعرض فيه البيانات هكذا : <p className="mb-6 text-gray-700 dark:text-gray-300 text-justify ql-editor" dangerouslySetInnerHTML={{ __html: task.description }} /> ثانيا : تأكد من أن task.description يحتوي على HTML صالح وكامل , قم بطباعته في الكونسول و تحقق من النتيجة, هل يوجد أخطاء في وسوم ال html, إذا وجدتأخطاء فالمشكلة تكون ليست بالعرض و إنما بالحفظ ثالثا :إذا استمرت يمكنك أن ضيف تنسيقات بنفسك لتعرض المحتوى كما تريد , قم بإنشاء ملف css و ضع فيه التنسيقات التالية وعدلها كيف تشاء : .ql-editor { line-height: 1.6; font-size: 1rem; } .ql-editor h1 { font-size: 2em; font-weight: bold; } .ql-editor h2 { font-size: 1.75em; font-weight: bold; } .ql-editor h3 { font-size: 1.5em; font-weight: bold; } .ql-editor ol, .ql-editor ul { padding-left: 1.5rem; list-style-position: inside; } .ql-editor li { margin-bottom: 0.5rem; } .ql-editor blockquote { border-left: 4px solid #ccc; margin: 1.5em 0; padding-left: 1em; color: #555; font-style: italic; } .ql-editor a { color: #3490dc; text-decoration: underline; } .ql-editor .ql-align-center { text-align: center; } .ql-editor .ql-align-right { text-align: right; }1 نقطة
-
تخزين الصور في MongoDB ليست الطريقة الأفضل وهي ممكنة بالطبع من خلال تخزين الصور بواسطة base64. الأفضل بالنسبة لك هو تخزين الصور على وحدة التخزين وإدارة ذلك بواسطة multer ثم تخزين مسار الصور في قاعدة البيانات، وستحصلى على أفضل أداء في عرض الصور. وللعلم تستطيعي معالجة الصور أولاً بواسطة مكتبة Sharp باستخدامها كـ middleware لضغط الصور قبل تخزينها.1 نقطة
-
ذلك الرابط هو لمنشور لصفحة غوغل على لينكدإن إذا لم تستطع الوصول إليها يمكنك متابعة الموقع الرسمي لغوغل فهناك يتم نشر أي جديد بخصوص هذه التقديمات من هنا: رابط الموقع.1 نقطة
-
1 نقطة
-
إذا كان هدفك هو فهم كيفية عمل الكود على الأجهزة وكيفية تفاعل الأنظمة مع بعضها، فإن شهادات دعم تكنولوجيا المعلومات ستكون أكثر فائدة لك في هذه الحالة لذا يمكنك أيضا التفكير في الحصول على شهادات في نظم التشغيل والشبكات بشكل خاص، مثل شهادات CompTIA (A+ و Network+) أو Cisco (CCNA) لتطوير مهاراتك في هذا المجال بالتحديد. لكن الشهادات لا يجب أن تركز عليها في بداياتك في التعلم فالمهم هو أخذ المادة التعليمية والتعلم من خلال المشاريع لأنّ الشهادات يمكن أن تكون لها فائدة في معرض أعمالك لكن بدون خبرات ومعارف وتجارب فالشهادة قد لا يكون لها معنى كبيرا خصوصا وأنها قد تكون مكلفة في البداية. لذا حاول التركيز على التعلم وأخذ الدورات التعليمية أولا ثم يمكنك التفكير في الشهادات لتعزيز سيرتك الذاتية فيما بعد.1 نقطة
-
لا هذا ولا ذاكّ، ما تحتاجه هو دراسة دورة خاصة بعلوم الحاسوب مثل CS50 أو ما شابهها على كورسيرا، ابحث عن Computer Science. وتلك الدورات يتم بها شرح الأساسيات والأمور المتعلقة بعلوم الحاسوب، ومنها تستطيع بناء قاعدة معرفة جيدة لتأهيلك لتصبح مهندس برمجيات وليس مبرمج، وإمتلاك القدرة على تعلم أكثر من لغة برمجة.1 نقطة
-
أعتقد نعم يمكنك المشاركة فقد تم فتح باب التقديم للتدريب العملي في كل من أوروبا والشرق الأوسط وأفريقيا، حسب صفحة غوغل على منصة لينكدإن فتح باب التقديم MENA لكن يجب أن تكون طالبا في إحدى الجامعات في مجال تقني أو مجال قريب، وأن تكون لديك تجربة سابقة في البرمجة أو تطوير المواقع الإلكترونية أو الذكاء الاصطناعي.1 نقطة
-
ذلك برنامج تدريبي صيفي موجه للطلاب من منطقة الشرق الأوسط وشمال إفريقيا، وتستطيع المشاركة في البرنامج من مصر لا مشكلة، لكن بشروط: أن تكون طالبًا جامعيًا في مجال تقني أو ذي صلة. أن يكون لديك خبرة سابقة في مجال البرمجة أو تطوير الويب أو الذكاء الاصطناعي. أن تكون قادرًا على التواصل باللغة الإنجليزية بطلاقة. ويتم قبول الطلبات في وقت محدد من كل عام، واختيار المتدربين بناءًا على مؤهلاتهم وخبرتهم، ويوفر البرنامج فرصًا تدريبية في مختلف مجالات Google، مثل الهندسة والمنتجات والتسويق. وحاليًا التقديم لعام 2025 تم غلقه في 25 أكتوبر الماضي، حيث كان متاح بدءًا من 16 سبتمبر. تابع موقع opportunitiesforyouth لمعرفة متى يتم الإعلان.1 نقطة
-
في السنوات الأولى في كلية علوم الحاسوب يدرسون التحليل والجبر والمنطق ومفاهيم المشتقات والتكاملات، المجموعات العلاقات والدوال والرسوم البيانية، وأيضا توجد مقاييس أخرى كالإحصاء من خلال جمع البيانات وتحليلها والاحتمالات فهي مفيدة في تحليل البيانات والتعلم الآلي وحتى بعض الكليات تدرس مقياس الفيزياء. والعديد من الأمور الأخرى التي تدرّس والفائدة منها هي تطوير الفكر النقدي فالبرنامج الذي تمّ إعداده مسطّر كي يجعل من الطالب يتعلم التفكير المنطقي ويتعلّم أيضا حل المشكلات البرمجية. يمكنك تقصّي هذه المعارف من الكتب ومن الفيديوهات التي تشرحها فالمبرمج لا يحتاج كل الرياضيات فقط يحتاج ماهو أساسي لذلك.1 نقطة