لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 10/01/23 في كل الموقع
-
السلام عليكم لما عند تصفح صفحات معينه أجد هناك lag ف scroll او تعليق ما سبب ذلك2 نقاط
-
أنا رجعت من البداية أتعلم البرمجة وأنا سأبدأ في الخوارزميات وسمعت بانها صعبة فما هي نصاحكم وبما انكم مبرمجين فهل يمكنك اعطائي نصائح بناءً على خبرتكم في المجال كا اشياء يجب علي الا افعلها والا ستاخر بتعلم البرمجة واخذ وقتًا أطول2 نقاط
-
قمت بانشاء موقع ادارة مشاريع في دورة php باستخدام laravel و اريد رفع الموقع على الانترنت ليكون بشكل رسمي1 نقطة
-
3. Passing Props: Create a parent component called App that renders two child components: Header and Footer. Pass a prop called title with the value "My React App" to the Header component and a prop called copyright with the value "© 2023" to the Footer component. Display these props in their respective child components. من بعد أذن أصحاب الخبرة, ممكن اعرف خطوات الحل . يعني كيف لازم بلش بالتفكير لحل المشكلة. هلأ أنا بعدني عم اتعلم وجرب أمثلة من Chat GPT بس حبيت اعرف شو هيي الطريقة الأفضل للتفكير والبدأ بالحل. شكرا مسبقا.1 نقطة
-
هل هناك محاولات محدودة لااجراء الاختبار النهائي ؟ أم يمكنني المحاوله مره اخرى في اي وقت بمحاولات غير محدودة ؟1 نقطة
-
السلام عليكم. أريد تغيير كلمة المرور للمستخدم الحالي. قمت بالكود التالي const changePassword = async(req,res) => { const errors = validationResult(req) if (!errors.isEmpty()) { return res.status(400).json({errors: errors.array()}) } try { const { password, newPassword} = req.body; const current_user = await User.findById( req.user ) console.log(req.body) res.send(current_user) } catch (error) { console.log(error) res.status(500).send("Server Error"); } } هذه واجهة Postman تظهرلي رسالة الخطأ التالية node:internal/errors:491 ErrorCaptureStackTrace(err); ^ Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at new NodeError (node:internal/errors:400:5) at ServerResponse.setHeader (node:_http_outgoing:663:11) at ServerResponse.header (C:\Users\saadaoui\Desktop\chat-app\server\node_modules\express\lib\response.js:794:10) at ServerResponse.send (C:\Users\saadaoui\Desktop\chat-app\server\node_modules\express\lib\response.js:174:12) at ServerResponse.json (C:\Users\saadaoui\Desktop\chat-app\server\node_modules\express\lib\response.js:278:15) at ServerResponse.send (C:\Users\saadaoui\Desktop\chat-app\server\node_modules\express\lib\response.js:162:21) at changePassword (C:\Users\saadaoui\Desktop\chat-app\server\controllers\authCtr.js:129:9) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { code: 'ERR_HTTP_HEADERS_SENT' } الرجاء المساعدة في معالجة الخطأ. شكرا1 نقطة
-
الخطأERR_HTTP_HEADERS_SENT يعني أنك تحاول تعيين رؤوس استجابة تم إرسالها بالفعل إلى العميل. ويحدث ذلك إن قمت باستدعاء res.send() أو res.json() عدة مرات في نفس المعالج، أو قمت باستدعائه بعد إرسال الاستجابة بالفعل. ولديك المشكلة هي أنك تقوم باستدعاء res.send(current_user) بعد أن قمت بالفعل باستدعاء res.json({errors: errors.array()}). وذلك لأن دالة validationResult() تُرجع مصفوفة من أخطاء التحقق، وإن كانت هناك أية أخطاء، فأنت ترسل استجابة JSON بها تلك الأخطاء. ببساطة عليك نقل استدعاء res.send(current_user) خارج كتلة if (!errors.isEmpty()). سيضمن ذلك إرسال الاستجابة مرة واحدة فقط، بعد اجتياز جميع عمليات التحقق من الصحة. const changePassword = async(req,res) => { const errors = validationResult(req) if (!errors.isEmpty()) { return res.status(400).json({errors: errors.array()}) } try { const { password, newPassword} = req.body; const current_user = await User.findById( req.user ) console.log(req.body) // أرسل الاستجابة فقط إذا لم تكن هناك أخطاء في التحقق من الصحة res.send(current_user) } catch (error) { console.log(error) res.status(500).send("Server Error"); } }1 نقطة
-
أولاً قبل أي شئ يجب معرفة أنواع الأخطاء البرمجية حيث أن هذه المعلومات تجعلك تحل المشكلات التي تقابلك بأسرع وقت ممكن يمكنك الإطلاع على مقطع الفيديو التالي حيث يشرح بالتفصيل أنواع الأخطاء البرمجية ثانياً قم بتحليل المشكلة بدقة وتحديد ماهيتها وأسبابها المحتملة. حاول فهم المتطلبات والتوقعات والنتائج المتوقعة من البرنامج أو التطبيق الذي تقوم بتطويره.كما أن رسالة الخطأ التي تظهر لك تصف لك مكان الخطأ وما هو الخطأ بالتحديد وعند فهم هذه الرسالة فيعتبر تم الوصول للحل (باستثناء الأخطاء المنطقية تكون صعبة قليلاً) الخطوات السابقة تساعد في حل المشكلات بالإضتفة للخطوات التي شرحها مصطفى في التعليق السابق ولكن قد تحتاج إلى تعديل الخطوات بناءً على طبيعة المشكلة والتقنية المستخدمة. كما يمكن أن تتطلب المشكلة حلولًا إضافية أو تقنيات محددة.1 نقطة
-
أي مشكلة برمجية لا تبدأ حلها من خلال الكود، بل عليك التفكير في الطريقة المناسبة للحل من خلال الأدوات المتاحة لك والتي لديك علم بها حاليًا. وعند التفكير عليك تقسيم السؤال أو المشكلة إلى أجزاء صغيرة والعمل عليها لا النظر إلى المشكلة البرمجية ككل، فسيتجمد عقلك بتلك الطريقة ولن تصل إلى حل في بدايات تعلمك. ثم بعد التفكير إن لم تتوصل لحل مناسب عليك بالمراجعة عن الجزئية أو الإجزاء التي أنت بحاجة إليها من أجل حل السؤال سواء من خلال دورة أو من خلال مستند رسمي وهنا ليكن المستند الرسمي الخاص بـ React وفي حسوب يوجد شرح باللغة العربية: https://wiki.hsoub.com/React ثم بعد التفكير والمراجعة إن لم تتوصل لحل المناسب أو استقريت على الطريقة التي تنوي بها كتابة الكود، فعليك بالبحث عن كيفية تنفيذ ما تريده وذلك ستتعلمه مع مرور الوقت حيث ستتحسن لديك مهارة البحث والقدرة على البحث عن ما تريده بشكل صحيح وكتابة المصطلحات الصحيحة سواء بالعربية أو الإنجليزية وعليك التركيز على الإنجليزية. بالنسبة لخطوات حل سؤالك فهي كالتالي: أنشئ مشروع React جديد. أنشئ مكونين جديدين: Header و Footer. في مكون Header، مرر له prop يسمى title والذي يحتوي على القيمة "My React App". في مكون Footer، وهومكون يعرض حقوق النشر. مرر له prop يسمى copyright والذي يحتوي على القيمة "© 2023". في مكون App، وهو المكون الرئيسي للمشروع والذي يتم به عرض المكونات الأخرى وأيضًا تمرير props لها، وهو يعرض المكونين Header و Footer ويمرر المكون الرئيسي prop يسمى title إلى المكون Header و prop يسمى copyright إلى المكون Footer. وهناك بعض النقاط الهامة: Props غير قابلة للتغيير، مما يعني أنه لا يمكن تغييرها بمجرد تمريرها إلى مكون فرعي. Props غير قابلة للتغيير من منظور المكون الفرعي أي بداخل المكون الذي تم تمريرها إليه. يمكنك تمرير أي قيمة JavaScript من خلال props، بما في ذلك الكائنات والصفائف والوظائف. للوصول إلى props في مكون فرعي، يمكنك استخدام كائن props.1 نقطة
-
أرجو المزيد من التوضيح، هل تقصد عند تطوير مشروع أم عند تصفح موقع عادي على الإنترنت؟ علي أي حال هناك عدة أسباب محتملة: في حال كانت سرعة الإنترنت لديك بطيئة، فقد يؤدي ذلك إلى حدوث تأخير في تحميل المحتوى على الصفحة في حال كان يتم تطبيق تقنية Lazy loading، مما قد يتسبب في حدوث lag أثناء الـ scroll. الصفحة كبيرة جدًا، مما يستغرق تحميلها وقتًا أطول. الصفحة تحتوي على الكثير من المحتوى الثقيل، مثل الصور أو مقاطع الفيديو. إذا كان الخادم الذي يستضيف الصفحة يعاني من مشاكل، فقد يؤدي ذلك إلى حدوث lag في scroll. المتصفح الخاص بك قديمًا أو به مشاكل.1 نقطة
-
السلام عليكم ما هي بيئة عمل افرتاضية وما هيا اهميتها ؟1 نقطة
-
أنت تقصد بيئة العمل الافتراضية في بايثون وهي بيئة مستقلة تحتوي على نسخة من مفسر بايثون ومكتباتها، ونستخدمها لعزل مشاريع بايثون المختلفة عن بعضها البعض، مما يمنع حدوث تعارضات بين الحزم والبرمجيات المستخدمة في المشاريع المختلفة. تتمثل أهمية بيئة العمل الافتراضية في بايثون في الآتي: عزل كل مشروع بايثون عن المشاريع الأخرى، مما يمنع حدوث صراعات بين الحزم والبرمجيات المستخدمة في المشاريع المختلفة، فلو لدينا مشروعان يستخدمان نفس الحزمة، ولكن بإصدارات مختلفة، فقد يؤدي ذلك إلى حدوث خطأ عند تشغيل أحد المشروعين. الحفاظ على توافق المشاريع المختلفة مع بعضها البعض، ومع وجود مشروعان يستخدمان نفس الحزمة، ولكن بإصدارات مختلفة، فقد يحدث خطأ عند تشغيل المشروعين معًا. تُسهل بيئة العمل الافتراضية عملية إدارة المشاريع المختلفة من خلال إنشاء بيئة عمل افتراضية لكل مشروع، مما يسهل تثبيت الحزم والإعدادات المطلوبة للمشروع. وهناك venv و pipenv وهما أداتان تستخدمان لإنشاء بيئات عمل افتراضية في بايثون، وكلاهما يسمح لك بإنشاء بيئة مستقلة تحتوي على نسخة من مفسر بايثون ومكتباتها، وبالطبع هناك بعض الاختلافات الرئيسية بين الأداتين: venv (Python Virtual Environment): venv هي أداة قياسية مدمجة في Python (متوفرة في إصدار Python 3.3 وما بعدها) تُستخدم لإنشاء بيئات افتراضية. يتم إنشاء بيئة افتراضية باستخدام الأمر: python -m venv <اسم البيئة> وتفعيلها بواسطة تشغيل النص source <اسم البيئة>/bin/activate في أنظمة Linux/macOS أو venv\Scripts\activate في نظام Windows. pipenv pipenv أداة تُستخدم لإدارة بيئات مشروع Python وتثبيت المكتبات المطلوبة بشكل أكثر تطورًا. حيث تقوم pipenv بدمج مهام إنشاء بيئات افتراضية وإدارة ملفات الاعتماد (مثل Pipfile و Pipfile.lock) وتثبيت المكتبات باستخدام pip في واجهة واحدة. تثبيت وتحديث الحزم تلقائيًا من مستودعات PyPI. إنشاء ملف requirements.txt الذي يسرد جميع الحزم المثبتة في البيئة الافتراضية، ويمكن استخدام هذا الملف لتثبيت نفس البيئة الافتراضية على جهاز آخر. لإنشاء بيئة pipenv، يجب تثبيت pipenv أولاً باستخدام أمر pip التالي: pip install pipenv بعد تثبيت pipenv، تستطيع إنشاء بيئة جديدة باستخدام الأمر التالي: pipenv install وسيؤدي الأمر إلى إنشاء بيئة عمل افتراضية جديدة في مجلد جديد باسم .venv في الدليل الحالي. لتنشيط البيئة الجديدة، استخدام الأمر التالي: pipenv shell1 نقطة
-
أولا يجب شراء استضافة من إحدى الشركات التي تقدم خدمة الاستضافات ثانيا شراء اسم نطاق لموقعك (دومين) واسم النطاق هو عنوان موقعك على الإنترنت. بعد ذلك تقوم بتحميل موقعك إلى الاستضافة الخاص بك باستخدام أداة FTP أو أي أده أخرى وهذا المقال يمكنه مساعدتك:-1 نقطة
-
السلام عليكم. أقترح عليك حل وهو استخدام local state بدلا من localStorage وممكن استخدام state عند تسجيل الدخول وازالتها عند تسجيل الخروج. في الـ "App" المستخدم لإعداد مسارات التطبيق، استخدام الState لتحديد هل المستخدم قيد تسجيل الدخول أم لا، ثم استخدم هذه الحالة لعرض المكون المناسب على أساس حالة تسجيل الدخول. اليك الكود: import React, { useState } from 'react'; import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import Login from './Login'; import Chat from './Chat'; import Register from './Register'; function App() { const [isLoggedIn, setIsLoggedIn] = useState(!!JSON.parse(localStorage.getItem('user'))); const handleLogin = () => { setIsLoggedIn(true); } const handleLogout = () => { localStorage.removeItem('user'); setIsLoggedIn(false); } return ( <Router> <Routes> <Route path='/' element={isLoggedIn ? <Chat onLogout={handleLogout} /> : <Navigate to='/login' />} /> <Route path="/login" element={!isLoggedIn ? <Login onLogin={handleLogin} /> : <Navigate to='/' />} /> <Route path="/register" element={!isLoggedIn ? <Register /> : <Navigate to='/login' />} /> </Routes> </Router> ); } export default App;1 نقطة
-
السلام عليكم لكل من يريد البدء في تعلم نظام Gnu/Linux انصحه بشدة بهذا الموقعhttp://mjma3.com/ موقع عربي جميل جدا و هو موجه للمبتدئين في النظام,1 نقطة
-
تجربتي ليست طويلة جدا كتجربتك .. ولكن أعتقد 3 سنوات من الاستعمال اليومي مع توزيعات وواجهات متعددة كافية لتكوين رأي حول الموضوع كون البيئة (أو الواجهة) أهم من اسم التوزيعة هي أهم نقطة على الإطلاق وقلما يذكرها المتحزبون وأسعدني كثيراً التركيز عليها في المقال الموضوع الذي أغفلته هو أهمية مدير الملفات وإمكانياته وهو الذي دفعني لتغيير بيئة سطح المكتب عدة مرات ﻷستقر أخيراً على kde و dolphin مؤخراً بدأ يظهر تأثير الانتشار الواسع لابونتو ومشتقاته وأصبحت العديد من المنتجات البرمجية توفر نسخة deb قابلة للتنصيب المباشر عليها .. هذه ميزة عملية لهذه التوزيعات لم تذكرها أيضاً مقال جميل حقا .. جهدك مشكور1 نقطة