لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 05/31/23 in أجوبة
-
اريد ان استشيركم في حاسوب وجدته وأريد شراءه، نوع الحاسوب DELL والجيل السابع Cor i7 ، ورام 8GB ،وبه تطش ومكتوب touch 10 point تقريبا ، ولكن الويندوز الاصلي له 7 وحاليا هو ويندوز 10pro ، وشاشته صغيرة نوعا ما ، هل هو ممتاز للبرمجة وخيار جيد للبدء ؟؟ وجزاكم الله خيراً.3 نقاط
-
برنامج بايثون لطباعة الشكل ادناه * * * * * * * * * * * * * * *2 نقاط
-
السلام عليكم. أن أسمع على يوتيوب أناس يقولون أنه لازم أن أتعلم جميع مجالات البرمجة مثل تطوير المواقع، تطوير التطبيقات IOS و Android يعني Native، تطوير تطبيقات سطح المكتب لنظام MacOS و Windows و Linux. و الله أسمع هذا يعني لو وجدت عمل يحتاج IOS فأنت تشتغل IOS، و لو يحتاج ويب تشتغل ويب و هكذا. أنا أسمع هذا الكلام، يعني أنت تكون شخص يعرف كيف يفعل كل شيء. هل هذا الكلام صحيح؟ أيضاً أسمع أنه يجب تعلم لغة C و بعدها ++C حتى أتأسس بشكل صحيح و أتعلم كيف أفكر، أنا آسف جداً لأنني أطلت في الكلام و لكنني أحتاج أن أفهم و شكراً جداً.1 نقطة
-
السلام عليكم انا الحمد الله اتعلمت اساسيات البرمجه وكمان اتعلمت لغة python واتعلمت لغة SOL بالاضافه الهياكل البيانات والخورزميات وكمان حلت مشاكل برمجه كتير ومازلت حتي الانا وبعد كد بتدأ تعلم مجال Machine Learning ماذا تنصحوني ؟ يعني كيف اطور نفيسه في مجال تعليم الاله المجال صعب اوي ؟ هل المجال فيه ابداع ام مجرد تنفيد خورزميات فقط؟ وكيف انا اصمم الخورزميات بنفيسه؟1 نقطة
-
السلام عليكم انا حاليا كل ما اسمع فيديوهات المدربين بكون فاهم كويس جدا , لكن لما اجرب احل لوحدي مش بعرف لازم ارجع تاني للفيديو عشان احل هل طبيعي كده في الاول ولا المشكله فيا انا1 نقطة
-
كيف يا أ.قيس اتابع الابحاث والحاجات الجديد ؟ وسوال كمان لوسمحت هو انا الازم اتعلم نظام لنيكس ؟1 نقطة
-
1 نقطة
-
و عليكم السلام، يجب عليك أن تكون على اطلاع جيد بالرياضيات، خاصة الجبر الخطي و الاحتمال و التحليل. يمكنك الإطلاع على المحاضرات من جامعات عالمية مثل MIT لهذه المواد، بالطبع هي باللغة الانكليزية. بعد ذلك دائماً حاول تطبيق ما تعلمته، قم ببناء تطبيق يستعمل الذكاء الصنعي لوحدك، عندها ستواجد مشاكل و ستتعلم كيف تحلها، بالطبع تحتاج إلى أن تكون على إطلاع بما سبق و ذكرته حيث أن أغلب المشاكل التي تواجهك في هذا المجال ليست مشاكل برمجية و إنما مشاكل منطقية غالباً ما يكون سببها متعلق بالرياضيات، مثلاً اخترت توزع احتمالي غير منطقي للمسألة التي تحاول حلها، أو هناك مشاكل في المشتقات و الكثير من المشاكل الأخرى. المجال ليس سهل بالطبع فهو جديد و الأبحاث فيه تظهر كل يوم فعليك أن تكون على إطلاع دائم على كل ما هو جديد. المجال فيه إبداع بالطبع، ليس مجرد تطبيق خوارزميات، حتى في حال اخترت أن تقوم بالتطبيق فقط بدون البحث العلمي، فإنه عليك أن تكون على مستوى جيد من الفهم حتى تستطيع حل المشاكل التي تواجهك. تصميم خوارزميات ذكاء صنعي بنفسك ليس بالموضوع السهل أبداً، عليك في البداية أن تصبح جيد في المجال و تصبح قادر على بناء التطبيقات المعروفة، من ثم عليك القيام بقراءة الكثير من الأوراق البحثية حتى تصبح على إطلاع على كل ما هو جديد، بعد ذلك يمكنك البدء في عملية البحث لتطوير خوارزميات جديدة، كما أنا الأمر في الغالب يتطلب وجود تجهيزات لتدريب النماذج التي تريد تطويرها، بالطبع يمكنك الاشتراك بالخدمات التي تقدمها الكثير من الشركات من سيرفرات تدريب، و لكن الأمر مكلف جداً، و من الجيد إذا كان بإمكانك إكمال دراستك في جامعة تقدم هذه الأمور، كما أن وجود أحد يوجهك هو أمر ضروري لذلك أنصحك بالدراسة الأكاديمية في جامعة من أجل هكذا مجال.1 نقطة
-
من الطبيعي أن تشعر بمثل هذا الشعور عندما تحاول حل التمارين بمفردك بعد مشاهدة الفيديوهات. عند مشاهدتك للمدربين في الفيديوهات، فإنهم يشرحون ويوضحون الخطوات بشكل مباشر ومفصل، مما يجعلك تشعر بالفهم الجيد. لكن عندما تحاول حل التمارين لوحدك، قد تواجه تحديات تتعلق بتطبيق الأفكار والمفاهيم التي تعلمتها. قد يكون السبب في عدم قدرتك على حلها بشكل مستقل هو عدم الاستراتيجية الصحيحة في التفكير، لكن لا تقلق إذا كنت بحاجة للعودة للفيديوهات أثناء حل التمارين في البداية، فهذا أمر شائع. مع ممارسة مستمرة وتدريب، ستكتسب المزيد من الثقة والمهارة في حل المسائل بمفردك. استمر في التعلم والتدريب وسترى تحسنًا تدريجيًا في قدراتك لحل المشكلات التي تواجهك.1 نقطة
-
في البداية ذلك أمر طبيعي جدًا، لكن عليك بمعرفة الطريقة الصحيحة، وهي مشاهدة 4 فيديوهات مثلاً لو كانت صغيرة ثم التطبيق عليها، أم لو كان الفيديو كبير فعليك بمشاهدة نصفه ثم التطبيق بمفردك ثم إكمال الفيديو، ثم إعادة التطبيق مرة أخرى من البداية بمفردك. والأمر يبدوا ممل ولديك إحساس يدفعك لضرورة الإنتهاء من الدورة، لكن لا تستمع له فأنت من ستعاني، والوقت الذي تظن أنك تهدره هو من سيجنبك العودة بشكل متكرر للدراسة من جديد. أنت بحاجة إلى التكرار والتكرار هنا لا أقصد مشاهدة الفيديو أكثر من مرة، بل مرتين كافية جدًا ثم التطبيق أكثر من مرة لو احتجت إلى ذلك حتى تفهم الكود الذي تكتبه وعليك بالتغيير قليلاً أو إنشاء مشروع مختلف بنفس الفكرة مثلاً وهكذا لتجبر نفسك على التعلم وعلى تجربة أشياء جديدة ولا تخف من ذلك الجميع مر بنفس التجربة، الفارق هو من يجتهد ويصبر بشكل أكبر ولمدة أطول، لذلك تجد القليل يتحمل تجربة تعلم البرمجة. ولا مشكلة بالعودة كل فترة للمراجعة وتثبيت ما قمت بدراسته سواء بمشاهدة الفيديو أو كتابة الكود، فالتعلم عملية تكرارية على فترات متباعدة، وأنت لسة آلة بل بحاجة إلى المراجعة على فترات متباعدة والأهم هو كتابة الكود. وأنصحك بقراءة النقاشات التالية:1 نقطة
-
لا يمكن أن تتعلم جميع مجالات البرمجة: البرمجة هي مجال واسع جداً ويشمل العديد من المجالات مثل تطوير المواقع، تطوير التطبيقات المحمولة، تطوير تطبيقات سطح المكتب، وغيرها الكثير. يتم تطوير هذه التطبيقات باستخدام لغات البرمجة المختلفة وتقنيات البرمجة المختلفة. إذا كنت تحاول تعلم كل شيء، فستجد صعوبة في تحقيق التخصص والتميز في مجال محدد. التخصص في مجالين على الأكثر: يفضل المطورون التخصص في مجال واحد أو اثنين على الأكثر، لأن هذا يسمح لهم بتحقيق التميز في هذا المجال وتطوير مهاراتهم بشكل أفضل. وبالتالي، يمكنهم التركيز على تعلم لغات البرمجة والتقنيات التي تناسب هذا المجال بدلاً من إنفاق الوقت والجهد في تعلم كل شيء. تعلم اللغات المناسبة لكل مجال: كل مجال يتطلب لغات البرمجة وتقنيات مختلفة. على سبيل المثال، لتطوير تطبيقات iOS، يجب أن تتعلم لغة Swift و Objective-C، في حين أن تطوير تطبيقات Android يتطلب تعلم لغة Kotlin و Java. ولتطوير تطبيقات سطح المكتب، يجب تعلملغات مثل C++ و Java و Python وغيرها. لذلك، يجب عليك تحديد المجال الذي تريد العمل فيه وتعلم اللغات والتقنيات المناسبة لهذا المجال. بالنسبة لتعلم لغة C و C++: يمكن أن يكون مفيداً في بعض المجالات مثل تطوير البرمجيات المنخفضة المستوى وتطبيقات الألعاب والتطبيقات المتقدمة. ومع ذلك، فإنه ليس من الضروري تعلم هذه اللغات لتصبح مطوراً ناجحاً في جميع المجالات. يمكنك تحديد المجال الذي تريد العمل به وتعلم اللغات والتقنيات المناسبة لهذا المجال. ونصيحة بعد تحديد المجال الذي تريد العمل به وتعلم اللغات والتقنيات المناسبة، يجب عليك العمل على تطوير مهاراتك وخبرتك في هذا المجال. يمكنك البدء بتطوير مشاريع صغيرة والعمل على تطبيق ما تعلمته وتحسينه بشكل مستمر بدلاً من التنقل بين المجالات.1 نقطة
-
هذا الكلام غير صحيح بالمرة، عليك أولاً بتحديد المجال الذي تريد العمل به بناءًا على المطلوب في سوق العمل لديك أي تستطيع العمل به بخبرة سنة أو مستوى Fresh، ولديك مثلاً مجال تطوير الويب أو تطبيقات الهاتف أو .NET فإذا اخترت مجال الويب فدائمًا ما أن تصبح Full-stack في البداية وذلك سيتيح لك الكثير من الفرص ثم التخصص في الواجهة الخلفية أو الأمامية بعد سنتين إلى ثلاث من الخبرة العملية. وإذا كان لديك الوقت، فأنصحك بتعلم أساسيات البرمجة عن طريق C++ ثم تعلم أساسيات بايثون بشكل سريع، ثم دراسة المسار الخاص بالمجال الذي اخترته. وإذا كان مستواك في علوم الحاسب ضعيف نسبيًا، فأنصحك بتعلم الأساسيات من خلال بايثون. وقد تم النقاش بالتفصيل عن سؤالك في النقاشات التالية:1 نقطة
-
1 نقطة
-
يحدث هذا الخطأ على سبيل المثال عند تشغيل الأمر `php artisan migrate` الذي يقوم بتنفيذ عمليات التهجير (migrations) في Laravel وإنشاء جداول قاعدة البيانات المحددة في الملفات الموجودة في المجلد `database/migrations`. بالنسبة لحل هذا الخطأ، يمكن مراجعة اسم الجدول المحدد في الملفات migration والتأكد مما إذا كان هناك جدول بنفس الاسم موجود في قاعدة البيانات بالفعل. وفيحدث هذا الخطأ، يمكن حذف الجدول الحالي إذا كان غير مهم أو إعادة تسمية الملف migration لتغيير اسم الجدول المحدد فيه. وبالطبع يجب تأكيد الأمر عند إنشاء جدول جديد في قاعدة البيانات للتأكد من عدم وجود جدول بنفس الاسم موجود بالفعل. ويمكن أيضاً استخدام الأمر php artisan migrate:fresh بدلاً من php artisan migrate لحذف جميع الجداول الحالية في قاعدة البيانات وإنشاء جداول جديدة من جديد، ولكن يجب الانتباه إلى أن هذا الأمر سيؤدي إلى فقد جميع البيانات الموجودة في الجداول الحالية. ويمكن أيضاً استخدام أمر php artisan migrate:refresh الذي يقوم بحذف جميع الجداول الحالية في قاعدة البيانات وإعادة إنشائها من جديد، وذلك بدلاً من استخدام `php artisan migrate:fresh` الذي يقوم بإسقاط جميع الجداول وإعادة إنشائها من جديد، مما يؤدي بالضرورة إلى فقد جميع البيانات الموجودة في الجداول الحالية. ويمكن استخدام الأمر `php artisan migrate:refresh` على سبيل المثال في حالة تعديلات على بنية الجداول أو إضافة حقول جديدة، ويمكن أن يساعد على تحديث الجداول بشكل أكثر فعالية. ويجب الانتباه إلى أن استخدام هذا الأمر سيؤدي إلى فقد جميع البيانات الموجودة في الجداول الحالية كذلك.1 نقطة
-
عند الرغبة بتحويل قيمة كائن إلى قيمة بدائية نستخدم الدالة public xxx xxxValue() كما الكود أدناه : public class Main { public static void main(String[] args) { // Integer f = 12; long g = f.longValue(); System.out.print (g); } } عند تشغيل الكود في برنامج intellij سنحصل على النتيجة : E:\SETUP\jdk\bin\java.exe "-javaagent:P:\SETUP\jetbrain\intellij\IntelliJ IDEA Community Edition 2023.1.2\lib\idea_rt.jar=54249:P:\SETUP\jetbrain\intellij\IntelliJ IDEA Community Edition 2023.1.2\bin" -Dfile.encoding=UTF-8 -classpath P:\untitled\out\production\untitled Main 12 Process finished with exit code 0 ويمكننا استخدام الكود التالي بدون استخدام هذه الدالة : public class Main { public static void main(String[] args) { // Integer f = 12; long g = f; System.out.print (g); } } وسنحصل على نفس النتيجة, إذاً لماذا توجد هذه الدالة؟ وأي الطريقتين هي الأسرع؟1 نقطة
-
السلام عليكم ، أنا لم أفهم ماهو الفرق بين let و var و بالتحديد لم أفهم ماهي القيمة الإبتدائية التي تعطى للvar1 نقطة
-
الخطأ يعني أن الجدول 'posts' موجود بالفعل في قاعدة البيانات ولا يمكن إنشاؤه مرة أخرى، وذلك أمر طبيعي يحدث عندما تحاول تشغيل عملية إنشاء جدول عن طريق التهجير والجدول بالفعل موجود في قاعدة البيانات. لذلك الأمر الصحيح هو التالي: php artisan migrate:fresh --seed فهو يستخدم في Laravel لإعادة إنشاء وتحديث قاعدة البيانات بالجداول والبيانات الأولية، و يتكون من عدة أجزاء: "php artisan": يشير إلى تشغيل أمر Laravel عبر واجهة سطر الأوامر. "migrate:fresh": يعني أنه سيتم إعادة إنشاء كل الجداول في قاعدة البيانات، ويتم حذف جميع الجداول الموجودة في قاعدة البيانات وإعادة إنشائها بناءًا على ملفات الترحيل (migrations) الموجودة في مشروع Laravel. "--seed": يشير إلى أنه سيتم تشغيل ملفات بزر البيانات الأولية (seeds) بعد إعادة إنشاء الجداول، وملفات البزر تستخدم لإضافة بيانات افتراضية أو تجريبية إلى قاعدة البيانات بعد إعادة إنشاء الجداول.1 نقطة
-
دالة xxxValue() في جافا تستخدم لتحويل قيمة كائن من النوع xxx إلى قيمة بدائية من النوع المناسب، حيث xxx هو نوع الكائن الأصلي. مثلاً، في الكود الخاص بك، f.longValue() يقوم بتحويل قيمة الكائن f من النوع Integer إلى قيمة بدائية من النوع long. والدالة xxxValue() توجد في العديد من أنواع الكائنات في جافا، مثل Integer, Double, Float, Long, Boolean, وغيرها، وتستخدم للتحويل بين هذه الأنواع المختلفة. أما بالنسبة للاختلاف بين استخدام الدالة xxxValue() وعدم استخدامها في الحالة التي ذكرتها، في حالة قام الكود بالتحويل المباشر مثل long g = f;، يتم تنفيذ عملية التحويل ضمن عملية التجاوز الضمني (implicit casting)، والتي تتم بشكل تلقائي من قبل جافا، وذلك لأن الكائن f من النوع Integer يمكن تحويله بشكل ضمني إلى long. بالنسبة لأيهما أسرع، فلا يوجد اختلاف كبير في الأداء بين الطريقتين، فتتم عملية التحويل في حالة استخدام الدالة xxxValue() ضمن الدالة نفسها، بينما تتم عملية التحويل بشكل ضمني في حالة استخدام عملية التجاوز الضمني. عمومًا، الفرق في الأداء بين الطريقتين غير ملحوظ وغالبًا لا يؤثر على أداء البرنامج.1 نقطة
-
1 نقطة
-
في حالتك هذه لا فرق، حيث أنك تقوم بتخزين متغير ذو سعة أقل في متغير ذو سعة أكبر. في حالات أخرى مثلاً عندما تريد تخزين float في long فعليك القيام بما يدعى التحويل casting، و هو تحويل القيمة من float إلى long. و عندها تكون هذه الدالة مفيدة لذلك. فائدة أخرى، هي أنك تقوم بشكل واضح بتحديد أنك تريد التحويل، حيث أن من يقرأ الكود الثاني قد يعتقد أنك عن طريق الخطأ قمت بذلك، بينما في حال استعملت الطريقة فمن الواضح أنك تريد هذا التحويل.1 نقطة
-
حاول القيام بالتعديلات التالية عليك بتعديل الدالة app.get() للحصول على البيانات المحدثة من Google Sheet، باستخدم googleSheets.spreadsheets.values.get للحصول على الصفوف المحدثة بدلاً من الصفوف الكاملة، وتستطيع استخدام علامة الوقت (timestamp) لتتبع آخر تحديث للبيانات. app.get('/', async (req, res) => { try { // كود الاستدعاء والتحقق من المصادقة والترخيص لخدمة Google Sheets API هنا const spreadsheetsId = "19Z6XyZSTDvGt1VwL17znI8GoRUvTP0OMwckHujP312E"; const range = "Sheet1!A:E"; // تعديل نطاق البيانات حسب الاحتياج const getRows = await googleSheets.spreadsheets.values.get({ auth: auth, spreadsheetId: spreadsheetsId, range: range, }); const updatedData = getRows.data.values; // قم بتحديث البيانات في قاعدة بيانات MongoDB هنا // يمكنك استخدام مكتبة Mongoose لتحديث البيانات في موديل User for (const data of updatedData) { const user = { userName: data[0], // تأكد من تعديل الفهرس بناءً على هيكلة البيانات في جوجل شيت // قم بتحديث المزيد من الحقول إذا لزم الأمر وفقًا لهيكل البيانات في جوجل شيت }; await User.findOneAndUpdate({ userName: user.userName }, user, { upsert: true, // إضافة السجل إذا لم يكن موجودًا }); } res.send(); } catch (error) { console.log(error); res.status(500).send(); } }); وتأكد من تعديل المدى (range) لتناسب هيكلة البيانات في Google Sheet، وفي الكود السابق، استخدمت "Sheet1!A:E" كمثال، حيث يتم افتراض وجود 5 حقول (من A إلى E) في كل صف. وفي حلقة for، قم بتحويل البيانات المستلمة من Google Sheet إلى كائنات user واستخدم findOneAndUpdate لتحديث السجلات الموجودة في قاعدة البيانات أو إضافة سجل جديد إذا كان غير موجود (upsert: true).1 نقطة
-
ألف مبروك يا منتصر، وسنك صغير ما شاء الله عليك صراحة، واصل إجتهاد وهتحقق أكتر بكتير إن شاء الله، وركز إنك تتعلم الأساسيات كويس ومتستعجلش إنت لسة صغير وحاول تشتغل على مشاريع بعد الأساسيات ومتركزش أوي على تعلم إطارات العمل والمكتبات وتتجاهل الأساسيات. لأنها هي اللي هتخليك تتعلم وتستخدم أي لغة وإطار عمل أو مكتبة بسهولة بعد كدة، وتتعلم أسرع. حاول بناء مشروع كبير باللغات الأساسية التي تعلمتها، مثل تنفيذ تطبيق SPA باستخدام HTML, CSS, JS فقط وستتعلم الكثير من ذلك.1 نقطة