لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 10/29/22 في كل الموقع
-
2 نقاط
-
السلام عليكم لو اردت تعلم Freamwark Vue Js ما المتطلبات اللى يجب ان امتلكها حتى ابدا وتكون الامور ميسره في فهم ال Vue Js وهل يجب ان اتعلم مثلا Angular, React ام يمكن ان اعتمد عليها بشكل كامل في بناع اي موقع او مشروع وشكرا لكم2 نقاط
-
1 نقطة
-
شكرا لك عندي سؤال بالنسبه للJs فهي لغه كبيرة جدا ومعقدة ولا تنتهي وتحتوى على مكتبات كثيييييرة جدا ليست مثل لغه برمجه PHP مثلا يمكن فهمها ببساطه والتعمق فيها ... السؤال هنا هل يجب ان اتعمق كثيير في JS ام اتعلم الاساسيات وابدا في تعلم vue.js1 نقطة
-
إطارات العمل والمكتبات مثل React.js و Vue.js و Angular.js تساعد مطور الواجهات الأمامية Frontend Developer في إنشاء تطبيقات ذات الصفحة الواحدة Single Page Application (SPA)، وهي نوع من المواقع التي تعرض صفحة معينة للمستخدم، وعندما يقوم المستخدم بالضغط على رابط ما للذهاب إلى صفحة أخرى -في نفس الموقع- فإن الكود يقوم فقط بتغير محتوى الصفحة وجلب البيانات -إن وُجدت- باستخدام API على سبيل المثال، وبالتالي يكون تحميل الصفحات بهذه الطريقة أسرع بكثير من تحميل كل صفحة على حدى من البداية في كل مرة يذهب المستخدم إلى صفحة أخرى. بالتأكيد مثل هذه التقنية تستعمل JavaScript بالكامل، لذلك يجب أن يكون لديك معرفة جيدة بهذه اللغة لكي تتمكن من تعمل أحد إطارات العمل المذكورة سابقًا، وتحتاج إلى HTML و CSS بالتأكيد لتكوين صفحات الموقع بالشكل الذي تريده. ليس عليك تعمل أي شيء غير هذه اللغات، ويمكنك اختيار أي إطار عمل من React.js و Vue.js و Angular.js وليس عليك تعلمهم جميعًا، حاول اختيار أحدهم وركز على تعلم الأساسيات جيدًا وحاول بناء مشاريع مختلفة للتطبيق، وبعد تعلم الأساسيات والتطبيق بشكل جيد سيكون في مقدورك تعلم أي مكتبة أو إطار عمل يستعمل نفس تقنية SPA بسهولة كبيرة. البرمجيات التي تساعدك في إنشاء مواقع من نوع SPA لا تقتصر على React.js و Vue.js و Angular.js فقط، ولكن يوجد غيرها الكثير مثل svelte.js و Ember.js و Preact (نسخة مصغرة من React) و backbone.js (أقدم هذه المكتبات)، حتى أنك يمكنك أن تقوم بنفس المهمة (إنشاء تطبيقات من نوع SPA) باستخدام jQuery أو JavaScript وحدها، ولكن هذه البرمجيات متخصصة وتساعدك في الكثير من المهام وتوفر عليك الكثير من الوقت والعمل غير الضروري. تعلم Vue.js في البداية خطوة جيدة نظرًا لبساطته وسهولته مقارنة بباقي المكتبات. ستجد في الأكاديمية هنا قسم يشرح Vue.js بشكل مفصل في شكل سلسلة مقالات: مقدمة إلى vue.js، وفي المستقبل يمكنك تعلم React بدون مشكلة (لديه أكبر مجتمع من المطورين بالنسبة للمكتبات الأخرى) وستجد أيضًا عدد أكبر من المقالات التي تشرحه من الصفر من هنا.1 نقطة
-
1 نقطة
-
السبب في الخطأ أنك تضع عملية جمع بين المؤقت والقيمة المراد إدخالها للطريقة hello. أي أنك لا تقوم بتعريف الوسيط name ومنه سيعتبره undefined، تقوم بحل المشكلة بالطريقة التي ذكرت في التعليق السابق. أو بإمكانك كتابة: setTimeout(() => hello("Youssef"), 3000)1 نقطة
-
1 نقطة
-
لاحظ أنك تضع + بعد رقم 3000, أرجو منك تغييره ليكون , كالتالي setTimeout(hello,3000 , 'sss') ^^^1 نقطة
-
ماهي خصائص ووظائف ال background ؟ وjustify وtransform؟ وهل يوجد تطبيق يدعم الصور في الهاتف يمكن الكتابه فيه؟1 نقطة
-
يكفي أن تعلم أساسيات ال html, css, js و أهم شيء طبعاً ال js بينهم حيث يجب أن يكون لديك معرفة جيدة فيها. ليس من الضروري تعلم framework أخرى حيث أنها كافية للعمل الذي تريده، و يمكنك الاعتماد عليها بشكل كامل، بعض المهمات طبعاً أسهل ب framework من أخرى كما أنك كمبرمج قد تفضل العمل بواحدة على أخرى، لذلك نصيحتي قم بتعلم واحدة ثم يمكنك بعدها إذا أحببت أن تتعلم البقية بسرعة، و تكمل عملك بالتي تفضلها أكثر. أي مثلاً أحدهم يريدك أن تقوم بتصميم واجهة رأيت أنك قد تجد من الأسهل تصميمها في vue تقوم بتصميمها بال vue أو رأيت react أفضل فتبنيها بال react. و لكن أي من هذه ال frameworks كافي لوحده لبناء الواجهة التي تريد.1 نقطة
-
السلام عليكم، عندما قمت برفع الملفات الخاصة بالموقع وحل كل المشاكل التي ظهرت لي عندما ادخل على الرابط الخاص به ظهرت لي بنهاية الامر صفحة بيضاء لا تحتوي أي شيء، لا اعرف لماذا هذه المشكلة وكيف استطيع اظهار الموقع!؟1 نقطة
-
سأقوم بشرح الآلية العامة لكل خوارزمية و سيصبح من السهل عليك كتابتها بعد ذلك، و في حال واجهت مشاكل بعدها يمكنك السؤال مجدداً. في الشروحات التالية سأفرض أن الترتيب تصاعدي و ذلك لتجنب ذكر الحالتين في كل مرة، حيث أن نفس الآلية يمكن تطبيقها في التنازلي طبعاً. بالإضافة أنني سأعتبر عدد العناصر n. الفرز الفقاعي في هذا النوع من الفرز نعتمد على عملية التبديل، حيث نقوم بالمرور على العناصر و مقارنة كل عنصر بالعنصر الذي يليه و في حال كان العنصر الحالي أكبر من الذي يليه نقوم بالتبديل بينهما. الآن أهم فكرة في هذه الخوارزمية هو تحديد كم مرة نحتاج لتكرار العملية السابقة، إذا فكرنا في الأمر قليلاً، في أول تكرار يمكننا ضمان أن أكبر عنصر سيصل إلى النهاية، و ذلك ﻷنه دائماً سيكون أكبر من الذي يليه، و بالتالي في كل تكرار نحن متأكدون أن عنصر واحد على الأقل سيصل إلى وجهته. بعد وصولنا إلى الاستنتاج السابق قد يخطر ببالنا أننا نحتاج إلى n تكرار و لكن ليس تماماً، حيث أنه في حال وضعنا n-1 عنصر في مكانه الصحيح فتلقائياً سيكون العنصر المتبقي في مكانه الصحيح، و بالتالي نحتاج n-1 تكرار لا أكثر. الفرز بالاختيار في هذا الفرز يتم في كل مرة البحث عن أصغر عنصر متبقي و وضعه في مكانه الصحيح مباشرة. كيف يمكن ذلك؟ ببساطة في كل مرة نبحث عن أصغر عنصر متبقي و نضعه في المكان الذي يوافق رقم التكرار، أي في حال كنا في التكرار الأول نبحث في كافة العناصر و عندما نجد العنصر، نقوم بالتبديل بينه و بين العنصر الموجود في الموقع الأول. في التكرار الثاني نقوم بالبحث بدءاً من العنصر الثاني و عندما نجد أصغر عنصر نقوم بالتبديل بينه و بين العنصر الثاني و هكذا من أجل جميع التكرارات. الفرز بالإقحام في هذا النوع من الفرز نقوم بتنفيذ عملية معينة من أجل عنصر و لمرة واحدة و هي القيام بإيجاد موقع العنصر بالنسبة لمجموعة العناصر حتى الآن. لشرح الفكرة السابقة بشكل تفصيلي، تخيل أن لديك مصفوفة ما، في البداية يكون لديك أول عنصر و بالتالي يمكنك تركه مكانه لأنه لا يوجد غيره، الآن بفرض أننا أصبحنا في العنصر i فإننا نعلم أن كافة العناصر التي تسبقنا مرتبة و بالتالي ببساطة يمكننا الرجوع و التبديل دائماً حتى الوصول إلى الموقع الصحيح، سأعطيك مثال على ذلك كون هذه الخوارزمية فكرتها أصعب بقليل. //لنفرض لدي المصفوفة التالية a = [4, 3, 5, 1] //أول عنصر دائماً يبقى في مكانه //الآن من أجل العنصر الثاني نريد وضعه في مكانه //نقوم بالمقارنة بينه و بين الذي يسبقه فنرى أنه أصغر فنقوم بالتبديل a = [3, 4, 5, 1] //الآن لا يوجد عناصر تسبقه فنتوقف //لاحظ هنا نحن في كل خطوة نضمن أن المصفوفة التي تسبقني مرتبة //و هذا ما يسمح بالقيام بعملية البحث عن الموقع الصحيح عبر التبديل //الآن من أجل الرقم 5 نرى أنه ليس أصغر من الذي يسبقه فنتركه مكانه //ننتقل إلى الرقم الأخير، نرى أنه أصغر من 5 فنبدل a = [3, 4, 1, 5] //أيضاً هو أصغر من فنبدل a = [3, 1, 4, 5] //كما أنه أصغر من 3 فنبدل a = [1, 3, 4, 5] //لا يوجد عناصر متبقية فنتوقف1 نقطة
-
الفرز الفقاعي هو أبسط خوارزمية الفرز التي تعمل عن طريق التبديل المتكرر للعناصر المجاورة إذا كانت بالترتيب الخاطئ. هذه الخوارزمية ليست مناسبة لمجموعات البيانات الكبيرة حيث أن متوسط تعقيدها الزمني وأسوأها مرتفع للغاية. // C++ program for implementation // of Bubble sort #include <bits/stdc++.h> using namespace std; // وظيفة لتنفيذ فرز الفقاعة void bubbleSort(int arr[], int n) { int i, j; for (i = 0; i < n - 1; i++) for (j = 0; j < n - i - 1; j++) if (arr[j] > arr[j + 1]) swap(arr[j], arr[j + 1]); } // وظيفة لطباعة مجموعة void printArray(int arr[], int size) { int i; for (i = 0; i < size; i++) cout << arr[i] << " "; cout << endl; } // ------- main -------------- int main() { int arr[] = { 5, 1, 4, 2, 8}; int N = sizeof(arr) / sizeof(arr[0]); bubbleSort(arr, N); cout << "الفرز : \n"; printArray(arr, N); return 0; } تقوم خوارزمية فرز التحديد بفرز المصفوفة عن طريق إيجاد الحد الأدنى للعنصر بشكل متكرر (مع مراعاة الترتيب التصاعدي) من الجزء غير الفرز ووضعه في البداية. #include <bits/stdc++.h> using namespace std; // وظيفة المبادلة void swap(int *xp, int *yp) { int temp = *xp; *xp = *yp; *yp = temp; } void selectionSort(int arr[], int n) { int i, j, min_idx; // حد الانتقال واحدًا تلو الآخر لـ // لم يتم فرزها subarray for (i = 0; i < n-1; i++) { // ابحث عن الحد الأدنى للعنصر في // مجموعة غير مرتبة min_idx = i; for (j = i+1; j < n; j++) if (arr[j] < arr[min_idx]) min_idx = j; // قم بتبديل الحد الأدنى الموجود للعنصر // مع العنصر الأول if(min_idx!=i) swap(&arr[min_idx], &arr[i]); } } void printArray(int arr[], int size) { int i; for (i=0; i < size; i++) cout << arr[i] << " "; cout << endl; } // برنامج التشغيل لاختبار الوظائف المذكورة أعلاه int main() { int arr[] = {64, 25, 12, 22, 11}; int n = sizeof(arr)/sizeof(arr[0]); selectionSort(arr, n); cout << "العناصر المفروزة: \n"; printArray(arr, n); return 0; }1 نقطة