لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 07/19/23 في كل الموقع
-
السلام عليكم، تعلمت في دورة علوم الحاسوب أساسيات الجافاسكريبت، وأنا أعلم أن الدورة كذلك فيما بعد على لغة بايثون، السؤال هو أنني عندما أنتهي من الدورة، هل يجدر بي أن أكمل في مسار الجافاسكريبت وابدأ في تعلم الفرونت اند، أم ان أركز على الأساسيات اكثر وأكمل في لغة شاملة أكثر كبايثون أو ++C، مع العلم أنني في السنة الأولى في الجامعة وقد تعلمت بالفعل اساسيات لغة C من خلالها ومن خلال CS50، اسأل هذا السؤال لأنني اشعر بالتشتت مع وجود عدة مصادر وعدة مواضيع مهمة، وشكراً مقدماً3 نقاط
-
السلام عليكم اريد تمارين عن الfunction لمبتدأ و متوسط وصعب3 نقاط
-
1 نقطة
-
يمكنك أيضا الاعتماد على مواقع الاختبارات والتحديثات لتحديد المجال، اللغة ودرجة الصعوبة لفلترة اختبارات ذات مستوى سهل، صعب ومتوسط في الدوال في جافاسكربت. نذكر مثلا: freecodecamp codecademy exercism leetcode codewars hackerrank1 نقطة
-
هذه بعض التمارين المشهورة عن التوابع و التي يجب عليك معرفتها: مبتدئ اكتب تابع يقوم بحساب عدد مرات تكرار حرف ما في سلسلة نصية. اكتب تابع يأخذ مصفوفة و يعيد مجموع عناصرها. اكتب تابع يقوم بطباعة قواسم عدد معطى. متوسط اكتب تابع يقوم بالتحقق فيما إذا كانت سلسلة نصية متناظرة. اكتب تابع يقوم بالتحقق فيما إذا كان عدد ما أولي أم لا. صعب اكتب تابع يقوم بحساب جذر عدد مدخل.1 نقطة
-
بالتأكيد، إليك بعض التمارين عن الدوال للمبتدئين والمتوسطين والمتقدمين:- للمبتدئين اكتب دالة تأخذ رقمًا كإدخال وتعيد ضعفه كإخراج. اكتب دالة تأخذ رقمًا كإدخال وتعيد عدد الأيام في الشهر الذي يمثله الرقم. اكتب دالة تأخذ رقمًا كإدخال وتعيد عدد الأرقام الزوجية في الرقم. للمتوسطين اكتب دالة تأخذ رقمين كإدخال وتعيد أكبرهما. اكتب دالة تأخذ ثلاثة أرقام كإدخال وتعيد المتوسط الحسابي لهم. اكتب دالة تأخذ قائمة من الأرقام كإدخال وتعيد أكبر عدد في القائمة. للمتقدمين اكتب دالة تأخذ قائمة من الأرقام كإدخال وتعيد قائمة من مربعات الأرقام. اكتب دالة تأخذ قائمة من الأرقام كإدخال وتعيد قائمة من الأعداد الصحيحة التي تقسم جميع الأرقام في القائمة. اكتب دالة تأخذ قائمة من الكلمات كإدخال وتعيد قائمة من الكلمات التي تحتوي على خمسة أحرف على الأقل.1 نقطة
-
1 نقطة
-
القوائم والصفوف هما مصطلحان يتم استخدامهما في سياق مختلف، وهما غالبًا ما يُشار إليهما في عدة مجالات. دعنا نوضح الاختلافات بينهما: 1. القوائم (Lists): القوائم هي هياكل بيانات تحتوي على مجموعة من العناصر التي يتم تنظيمها في ترتيب معين. يمكن أن تكون العناصر في القوائم متنوعة، مثل أعداد صحيحة، نصوص، كائنات، إلخ. تكون القوائم غالبًا متغيرة الحجم، مما يعني أنه يمكن إضافة وحذف العناصر منها بحرية. عادةً ما يكون لكل عنصر في القائمة موضع محدد يُعرف باسم "فهرس" أو "اندكس" (index) يبدأ عادة من الصفر. القوائم تستخدم بشكل واسع في برمجة الحاسوب والعديد من التطبيقات. مثال على قائمة من الأرقام: [1, 3, 5, 7, 9] 2. الصفوف (Rows): الصفوف عادة ما تكون مرادفة للأفقية، وهي مصطلح يُستخدم بشكل أساسي في الجداول وقواعد البيانات. تُمثل الصفوف السجلات الفردية في الجدول، وتحتوي على مجموعة من البيانات المتعلقة بمدخل واحد في الجدول. وبما أن الجداول تكون ثنائية الأبعاد، فتحتوي على صفوف وأعمدة، حيث يمثل كل صف سجلًا فرديًا ويحتوي على بيانات مرتبطة بهذا السجل. مثال على جدول يحتوي على صفوف: | الاسم | العمر | المدينة | |--------|---- |----------- | | أحمد | 30 | القاهرة | | محمد | 25 | الرياض | | ليلى | 28 | دبي | لتوضيح الاختلاف، يمكن القول أن القائمة هي مجموعة من العناصر المرتبة بشكل خطي، في حين أن الصفوف تشير عادةً إلى السجلات الموجودة في جدول ثنائي الأبعاد.1 نقطة
-
1 نقطة
-
اود الاستفسار عن كيفية وضع attribution عند استخدام محتوى مثل الخطوط والأيقونات والصور التي تستخدم license وهل علي عندما اقوم باستخدام jquery ان اقوم بوضع attribution معين ام يمكنني استخدام الرابط من Google hosted libraries فقط1 نقطة
-
السؤال الصحيح هو، هل لديك الوقت الكافي؟ عليك بتحديد الوقت المتاح لك ثم التخطيط على أساسه، وأيضًا تحديد الدورات بناءًا على الهدف والمجال الذي تنوي التخصص به، فلو أردت التأسيس في مجال البرمجة بشكل جيد ولديك الوقت الكافي، فعليك بتعلم C++ أولاً لكن البعض قد يجدها صعبة ويصاب بالإحباط بدون داعي، ولذلك ستجد أغلب دورات أساسيات البرمجة تقوم بتدريس لغة بايثون لكونها لغة قوية وشائعة الاستخدام ومطلوبة وسهلة، أي أن الأمر راجع لك وتستطيع التجربة والحكم ولا مشكلة في ذلك أبدًا لكن بشرط المحاولة. وقد ذكرت أنك درست CS50 ولن تحتاج إلى أكثر من ذلك حاليًا في البداية، عليك فقط بإختيار لغة البرمجة الأولى لك والتمسك بها والتعمق فيها من خلال تنفيذ المشاريع بعد دراسة الأساسيات والتطبيق عليها، وإذا أردت دراسة جافاسكريبت كلغة برمجة أولى فلا مشكلة في ذلك، لكن الصحيح هو C أو C++ ثم بايثون ثم جافاسكريبت رغم أني أفضل C++ ثم بايثون ثم جافاسكريبت، هل أنا تعلمت بتلك الطريقة؟ لا، الوقت لدي كان محدود، لذلك تعلمت أساسيات البرمجة من خلال بايثون لقلة الوقت لدي ولسهولة تعلم بايثون، ثم انتقلت إلى الواجهة الأمامية وتعمقت في جافاسكريبت، ثم تعلمت إطار خاص بالواجهة الأمامية وهو React ثم تعلمت الواجهة الخلفية من خلال node.js وذلك خلال فترة 6 أشهر وبمعدل 10 ساعات يوميًا وربما أكثر، فالأمر ليس بالهين أبدًا. وإذا أردت نصيحة واحدة فقط، ركز على الأساسيات ما استطعت وبشدة ثم طبق عليها بأكثر من مشروع حتى تشعر أنك استوعبتها تمامًا وأصبح الأمر سهل من خلال التكرار. وأنت لديك الوقت كما أظن، فتعلم بالطريقة الصحيحة كما أشرت لك، ثم انتقل للغة الخاصة بالمجال الذي تنوي التخصص به.1 نقطة
-
وعليكم السلام تهانينا على اجتياز دورة علوم الحاسوب وتعلم أساسيات الجافاسكريبت. لديك خيارات متعددة بالفعل للمتابعة بعد ذلك، وهذا يعتمد على اهتماماتك وأهدافك المستقبلية. ولكن في النهاية القرار يعود لك فيما تريد تعلمه والإستمرار به ، وإذا كنت مهتمًا بتطوير تطبيقات الويب وتصميم واجهات المستخدم، فإن تعلم الجافاسكريبت وتكنولوجيا الويب سيكون خيارًا جيدًا. يمكنك التركيز على إطارات عمل مثل React.js أو Angular.js وتعلم مفاهيم الفرونت إند الأكثر تقدماً. أو إذا كنت تفضل التعلم العميق للبرمجة والعمل على مشاريع أكثر تعقيدًا، فقد تفضل التركيز على الأساسيات العامة مثل الهياكل البيانية والخوارزميات ومفاهيم البرمجة المتقدمة في لغة مثل بايثون أو C++. ستمكنك هذه المعرفة من تطوير تطبيقات سطح المكتب أو البرمجة الخلفية والعمل في مجالات مختلفة مثل الذكاء الاصطناعي وتطوير الألعاب. يمكنك أيضًا مزج الاهتمامات والتعلم بشكل متوازي. يمكنك متابعة تعلم جافاسكريبت وتطوير مهارات الفرونت إند بالتزامن مع التعمق في لغة مثل بايثون أو C++. هذا سيعطيك منظورًا شاملاً ومرونة في اختياراتك المستقبلية. الأمر الأكثر أهمية هو اختيار ما يشعرك بالراحة والاستمتاع أثناء التعلم. قد تكون من المفيد تحديد أهداف واضحة لنفسك والعمل على تحقيقها خلال رحلتك التعليمية. بغض النظر عن الخيار الذي تختاره، فإن الممارسة وبناء المشاريع العملية ستكون أيضًا أساسية لتطوير مهاراتك.1 نقطة
-
يعتبر الجافاسكريبت والبايثون و ++C جميعها لغات برمجة قوية وشائعة الاستخدام، ولكل منها استخداماتها الخاصة. الجافاسكريبت هي لغة برمجة متعددة الاستخدامات تستخدم بشكل رئيسي في تطوير الويب الأمامي (front-end)، بينما يمكن استخدام البايثون و ++C في مجالات متنوعة مثل تطوير البرمجيات والذكاء الإصطناعي وعلوم البيانات. في نهاية المطاف، يعتمد اختيارك على اهتماماتك وأهدافك المهنية. فإذا كنت مهتمًا بتطوير الويب، فقد يكون من المفيد الاستمرار في تعلم الجافاسكريبت والانتقال إلى تطوير الويب الأمامي. إذا كنت مهتمًا بمجالات أخرى مثل علوم البيانات أو الذكاء الإصطناعي، فقد يكون من المفيد التركيز على تعلم لغة مثل البايثون أو ++C. لاحظ أنه لا يوجد خيار خاطئ هنا - فالتعلم المستمر هو جزء مهم من مهنة علوم الحاسوب، وسوف تحتاج إلى التعلم المستمر والتحديث المستمر لمهاراتك. لذلك، اختر المسار الذي يثير اهتمامك والذي تشعر بالحماس للعمل فيه.1 نقطة
-
أنت تتحدث عن بايثون وبها تُعرف كل من القوائم والصفوف باسم «المجموعات» وبالطبع هناك بعض الاختلافات الرئيسية: القوائم هي بنية بيانات قابلة للتغيير، مما يعني أنه باستطاعتك إضافة عناصر إليها أو حذفها أو تعديلها دون الحاجة إلى إنشاء قائمة جديدة، وتُستخدم القوائم لتخزين البيانات التي لا تحتاج إلى أن تكون مرتبة، مثل قائمة المهام أو قائمة التسوق. الصفوف هي بنية بيانات غير قابلة للتغيير، مما يعني أنه لا يمكنك إضافة عناصر إليها أو حذفها أو تعديلها دون إنشاء صف جديد، وتُستخدم الصفوف عادةً لتخزين البيانات التي تحتاج إلى أن تكون مرتبة، مثل قائمة الطلاب في الفصل الدراسي أو قائمة المنتجات في متجر. متى تستخدم القائمة؟ عندما تحتاج إلى بنية بيانات قابلة للتغيير يمكن أن تحتوي على عناصر من أنواع مختلفة، أي مثل استخدام قائمة لتخزين قائمة المهام أو قائمة التسوق أو قائمة الطلاب في الفصل الدراسي أو قائمة المنتجات في متجر. متى تستخدم الصف؟ في حال أنك تحتاج إلى بنية بيانات غير قابلة للتغيير يمكن أن تحتوي على عناصر من نوع واحد فقط، مثلاً صف لتخزين قائمة الطلاب في الفصل الدراسي أو قائمة المنتجات في متجر. وإليك بعض الأمثلة: # هذا مثال على قائمة تحتوي على أسماء الطلاب في الفصل الدراسي: students = ["John", "Mary", "Peter", "Susan"] # هذا مثال على صف يحتوي على علامات الطلاب في الفصل الدراسي: grades = [90, 80, 70, 60] # هذا مثال على كيفية إضافة عنصر إلى قائمة: students.append("Alice") # هذا مثال على كيفية حذف عنصر من قائمة: students.remove("Mary") # هذا مثال على كيفية تعديل عنصر في قائمة: students[0] = "Jane" # هذا مثال على كيفية إنشاء صف جديد من قائمة: grades_2 = list(grades)1 نقطة
-
ارجو ان يكون بإمكانك توضيح كيفية وضع ال attribution لكل من Google fonts و font awesome icons اي مقالة ؟1 نقطة
-
كل منهما مفهوم مختلف تماماً عن الآخر. الصفوف تستعمل لتمثيل شيء ما، مثلاً صف سيارة يستعمل لتمثيل سيارة بحيث نضع صفات السيارة على شكل متغيرات ضمن هذا الصف و ما يمكن للسيارة القيام به (الوظائف التي يمكنها القيام بها أو أي شيء يمكنها القيام به) على شكل توابع ضمن هذا الصف. بالتالي الصف هو جزء مما يدعى OOP (Object Orietned Programming) و الذي يرتكز على تمثيل مختلف الكيانات في البرنامج على شكل أغراض، ستتعلم لاحقاً عنه. بينما القوائم هي عبارة عن مجموعة من القيم المخزنة بشكل متسلسل، مثلاً يمكن أن يكون لدينا قائمة علامات الطالب في مجموعة مواد، أو قائمة من الطلاب و غيرها الكثير. و بالتالي كما نلاحظ فإن القوائم هي أحد أنواع هياكل البيانات، بينما الصف هو مفهوم.1 نقطة
-
الأمر بسيط، فكر بالأمر من ناحية مدلوله اللغوي وستجده بسيطا. Set: يُعد Set هو عبارة عن هيكل بيانات يسمح بتخزين مجموعة من القيم المميزة (فريدة) بدون تكرار. يمكن للعناصر في Set أن تكون من أي نوع من أنواع البيانات مثل الأرقام والسلاسل والأشياء الأخرى. يتيح لنا طرقًا لإضافة عناصر جديدة وإزالة العناصر الحالية والبحث عن عناصر معينة. مثال: // إنشاء مجموعة Set const mySet = new Set(); // إضافة عناصر إلى المجموعة mySet.add(10); mySet.add('Hello'); mySet.add({ name: 'John', age: 25 }); // الحصول على عدد العناصر في المجموعة console.log(mySet.size); // الناتج: 3 // التحقق مما إذا كانت المجموعة تحتوي على عنصر معين console.log(mySet.has('Hello')); // الناتج: true // إزالة عنصر من المجموعة mySet.delete(10); // تحويل Set إلى مصفوفة const myArray = [...mySet]; console.log(myArray); // الناتج: ['Hello', { name: 'John', age: 25 }] WeakSet: هو نوع خاص من Set المرجع فيه ضعيف Weak، يعني هذا أن أن العناصر في WeakSet قابلة للتدمير إذا لم يتم الاحتفاظ بها بشكل آخر ككائن في البرنامج / التطبيق. كما أن العناصر في WeakSet من نوع الكائنات فقط. مثال: // إنشاء مجموعة WeakSet const myWeakSet = new WeakSet(); // إنشاء كائنين لاستخدامهما كمفاتيح في WeakSet const key1 = { id: 1 }; const key2 = { id: 2 }; // إضافة الكائنات إلى المجموعة myWeakSet.add(key1); myWeakSet.add(key2); // الكائنات في myWeakSet تكون مرتبطة فقط بمجموعة الضعيف وليس لديها تأثير على جمع القمامة // التحقق مما إذا كان الكائن موجودًا في المجموعة console.log(myWeakSet.has(key1)); // الناتج: true // إزالة الكائن من المجموعة (لا يمكن القيام بهذا بشكل مباشر) // يمكنك إعادة تعيين المتغير الذي يحمل الكائن (مفتاح) ليصبح `null` لتمكين جمع القمامة key1 = null; // تحويل WeakSet إلى مصفوفة غير ممكن بسبب طبيعة WeakSet وعدم وجود إشارة ثابتة للكائنات الداخلة فيه وهذا بخصوص الأطقم أو Sets. الخرائط Maps تمتلك نفس المضمون غير أن القيم فيها تخزن كزوج قيمة - مفتاح، اذ يمكن استخدام أي نوع من البيانات كمفتاح أو قيمة. قد يكون من الأفضل الاستزادة بالاطلاع على المقالة التالية:1 نقطة
-
من الطبيعي أن يستغرق الأمر وقتًا طويلاً للتعلم، خاصة في المراحل الأولى. كلما تدربت أكثر، كلما أصبح الأمر أسهل. استمر في المحاولة فيما يلي بعض النصائح التي قد تساعدك على تعلم جافا سكريبت بشكل أسرع: قسّم المشكلات الكبيرة إلى مشاكل أصغر وأكثر قابلية للإدارة. ابحث عن أمثلة على الكود على الإنترنت. اسأل الأصدقاء أو الزملاء أو أعضاء المنتديات للحصول على المساعدة. لا تيأس! تعلم البرمجة يتطلب وقتًا وجهدًا، لكن الأمر يستحق ذلك في النهاية. وأنصحك بشدة قراءة الإجابات التالية ستفيدك بلا شك1 نقطة
-
لغة جافاسكريبت هي لغة خاصة بالواجهة الأمامية في المقام الأول وليست خاصة بالواجهة الخلفية على وجه الخصوص، لكونها لغة تعمل في المتصفح، لكن من خلال بيئة عمل node.js تستطيع استخدامها في الواجهة الخلفية. وبالطبع ستواجه صعوبة في البداية وخصوصًا أول شهر أو شهرين حسوب مستواك في البرمجة، وعليك بالتركيز على تعلم وإتقان لغة برمجة واحدة في البداية، والتركيز على الأساسيات بشدة ثم التطبيق عليها بأكثر من مشروع وزد مستوى الصعوبة تدريجيًا. وبخصوص المسألة البرمجية فحلها بأبسط شكل هو كالتالي: function getEvenNumbers(numbers) { return numbers.filter(number => number % 2 === 0); } حيث تستقبل الدالة مصفوفة من الأرقام كمدخل وتقوم بإرجاع مصفوفة جديدة تحتوي فقط على الأعداد الزوجية، وتستخدم الدالة filter لتصفية المصفوفة الأصلية بناءًا على شرط التحقق من أن العدد يمكن قسمته على 2 بدون باقي، مما يعني أن العدد زوجي أي كالتالي: function getEvenNumbers(numbers) { return numbers.filter(number => number % 2 === 0); } const numbers = [1, 2, 3, 4, 5, 6]; const evenNumbers = getEvenNumbers(numbers); console.log(evenNumbers); // ستقوم بطباعة [2, 4, 6] في وحدة التحكم مقالات ودروس جافاسكريبت في أكاديمية حسوب1 نقطة