لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 11/13/23 in أجوبة
-
سلام عليكم ما هي خطوات او مسار او مراحل تعلم برمجه الطائرات بدون طيار؟ و شكراً جزيلاً2 نقاط
-
السلام عليكم ، هل المتصفح يقوم بفسير ملف جافاسكربت أولا ثم ملف html ثم ملف css؟2 نقاط
-
السلام عليكم. أريد تغيير لون زر الإعجاب عند النقر. إذا كان المعجبين الحاليين بالعنصر يحتوي معرف المستخدم يقع تغيير اللون للأحمر. عند النقر في المرة الثانية يقع حذف المستخدم من قائمة المعجبين و يعود اللون لحاله الأول. في الكود التالي توصلت إلى تحديد عدد المعجبين لكن أواجه مشكل في تغيير اللون عند الإعجاب. الكود /** * HandleLike An Image */ const handleLikeImage = async (id) => { if (!user) { navigate("/login"); return; } await axios .put(`/api/images/like/${id}`, like, { headers: { "Content-Type": "application/json", "x-auth-token": user.data.token, }, }) .then((res) => { setLike(res.data); setNumLikes(res.data.likes.length); handleLikedColor() // setKey(id) }) .catch((err) => { setError(err.response.data.msg); setTimeout(() => { setError(null); }, 1500); }); }; ******************** /** * Handle Change Icon Color */ const handleLikedColor = (id) => { const isLiked = likes.filter((item) => item.user === userId); if (isLiked.length > 0) { setLikedColor(true); } else { setLikedColor(false) } }; useEffect(() => { handleLikedColor(); }, [likes, userId]); ****** <div className="menu-like"> <div className={likedColor ? "like isLike" : "like"} onClick={() => { handleLikeImage(imageId); // console.log(key) }} > <i className="fa-regular fa-thumbs-up"></i> </div> {numLikes === 0 ? "" : <div className="dislike">{numLikes}</div>} </div> شكرا على المساعدة2 نقاط
-
1 نقطة
-
طيب هل تنصح ب لغة php واطار العمل laravel البعض يقول انه سهل تعلمه وسريع الإنتاجية وبالنسبة للعمل في نفس الوقت للمجموعات نحن سوف نقوم بتحليل المشروع بالكامل وتوزيع المهام لكل مجموعه بس هل نركز على أسماء المتغيرات او الدوال يكون نفس الأسماء لكي لا يكون هناك أخطاء في الربط و كذا او انه عادي ما في مشكلة حتى لو اختلفت الأسماء انتظر ردك تحياتي لك اخي1 نقطة
-
السلام عليكم ورحمة الله وبركاته كيف حالكم اتمنى ان تكونوا بخير حال لا ادري ما المشكلة موقع كاسبر يحجب موقع ووردبريس عملت هذا الموقع لشركة وقالوا ان نظام الحماية كاسبر رفض الموقع وعمل له بلوك فحصت الموقع الموقع نظيف في كل المتصفحات الاخرى الا بكاسبر فقط فيه مشكلة لا ادري ما المشكلة هذا رابط الموقع تم فحص الموقع بتوتال فايروس واخرج ان هناك خطا في كاسبر https://maalemengineering.com/1 نقطة
-
(Separating Digits in an Integer) Write a program that inputs one five-digit number, sep- arates the number into its individual digits and prints the digits separated from one another by three spaces each. [Hint: Use combinations of integer division and the remainder operation.] For exam- ple, if the user types in 42139, the program should print 4 2 1 39 الحل عن طريق برنامج ال c1 نقطة
-
ستجد أن الكثيرين يتجهون لتعلم React مباشرًة فور الإنتهاء من جافاسكريبت، لكن تلك وصفة سريعة لتصبح مستخدم للتقنية وليس ملم باللغة أي ستتمكن من بناء واجهة أمامية بالفعل لكن مستواك في اللغة نفسه لن يخدمك عندما تحدث لك مشاكل أو عندما تريد تحسين الكود أو استخدام مزايا في جافاسكريبت نفسها، وربما لن تتمكن من التفرقة بين كود React وكود جافاسكريبت أي هل تلك ميزة في جافاسكريبت أم React؟ وستجد تفصيل هنا ذكرته من قبل:1 نقطة
-
لا يبدو ان المشكلة من المنطق ولكن يبدو انها من الـ likes أو من الربط مع الـ api. هل يمكنك تجريب اضافة الكود التالي واخباري بالنتيجة التي تحصل عليها عند اضافة لايك وعند حذفه ؟! const handleLikedColor = (id) => { const isLiked = likes.filter((item) => item.user === userId); console.log({ "isLiked.length > 0": isLiked.length > 0, likes, userId, isLiked }); if (isLiked.length > 0) { setLikedColor(true); } else { setLikedColor(false) } }; إن كان بإمكانك مشاركة كامل مجلد المشروح حتى استطيع التجريب ومساعدتك بشكل افضل.1 نقطة
-
تفضل import React, { useState, useEffect } from "react"; import './views.css' import { Link, useNavigate, useParams } from 'react-router-dom'; import moment from 'moment' import axios from "axios"; import Alert from "../alert/Alert"; import defaultUser from "../../assets/photaty/avatar-profile.png" function ImageCard(props) { const navigate = useNavigate(); const [error, setError] = useState(""); const [like, setLike] = useState([]); const { photo, title, author, createdAt, avatar, imageId, likes, edit_remove, handleRemove, userId, } = props; const user = JSON.parse(localStorage.getItem("user")); const imgSrc = photo && require(`../../assets/images/${photo}`); const avatarSrc = avatar ? require(`../../assets/profile/${avatar}`) : defaultUser; const [numLikes, setNumLikes] = useState(likes?.length); const [likedColor, setLikedColor] = useState(false); const [key, setKey] = useState(null); /** * HandleLike An Image */ const handleLikeImage = async (id) => { if (!user) { navigate("/login"); return; } await axios .put(`/api/images/like/${id}`, like, { headers: { "Content-Type": "application/json", "x-auth-token": user.data.token, }, }) .then((res) => { setLike(res.data); setNumLikes(res.data.likes.length); handleLikedColor() // setKey(id) }) .catch((err) => { setError(err.response.data.msg); setTimeout(() => { setError(null); }, 1500); }); }; // console.log(likes) /** * Handle Change Icon Color */ const handleLikedColor = (id) => { const isLiked = likes.filter((item) => item.user === userId); if (isLiked.length > 0) { setLikedColor(true); } else { setLikedColor(false) } }; useEffect(() => { handleLikedColor(); }, [likes, userId]); return ( <div className="menu"> {edit_remove ? ( <> <div className="delete change" onClick={() => handleRemove(imageId)}> <i className="fa-solid fa-trash"></i> </div> <div className="edit change"> <Link to={`/edit-photo/${imageId}`}> <i className="fa-solid fa-pen-to-square"></i> </Link> </div> </> ) : ( "" )} <div className="menu-img"> <img src={imgSrc} alt={`${title}`} className="img" /> <span className="read-more"> <Link to={`/${imageId}`}> <i className="fa-regular fa-square-plus"></i> </Link> </span> </div> <div className="menu-description"> <img src={avatarSrc} alt="avatar" className="avatar" /> <div className="menu-info"> <h3 className="title">{title}</h3> <p className="date"> created by: <span>{author}</span> at: <span>{moment(createdAt).format("DD-MM-YYYY")}</span> </p> </div> </div> <div className="menu-like"> <div className={likedColor ? "like isLike" : "like"} onClick={() => { handleLikeImage(imageId); // console.log(key) }} > <i className="fa-regular fa-thumbs-up"></i> </div> {numLikes === 0 ? "" : <div className="dislike">{numLikes}</div>} </div> </div> ); } export default ImageCard لدي أربع عناصر. في الأولين لم ينجح الكود. أما في البقية فقد نجح الكود.1 نقطة
-
يبدو من الكود الذي شاركته ان المنطق صحيح، ولكن هل يمكنك طباعة الـ isLiked في الوظيفة handleLikedColor فقد تكون المشكلة من هنا (likes لا يتم تحديثها). هل يمكنك مشاركة كامل الكود حتى استطيع مساعدتك بشكل افضل؟!1 نقطة
-
أنت تقوم بفحص إذا كان المستخدم قد قام بالإعجاب بالصورة أم لا، وتقوم بتحديث اللون بناءًا على ذلك، لذا هناك بعض الأمور من الأفضل القيام بها لتحسين الكود كالتالي: 1- إضافة متغير محلي لتتبع حالة اللون بدلاً من استخدام likedColor كحالة عامة، وسيساعد ذلك في تجنب المشاكل المحتملة مع تحديث حالة اللون بشكل صحيح. // داخل الكومبوننت const [buttonColor, setButtonColor] = useState(false); // ... const handleLikedColor = () => { const isLiked = likes.filter((item) => item.user === userId); setButtonColor(isLiked.length > 0); }; useEffect(() => { handleLikedColor(); }, [likes, userId]); 2- حاول تحديث لون الزر في مكان واحد فقط، في داخل handleLikeImage بدلاً من استدعاء handleLikedColor بشكل منفصل. const handleLikeImage = async (id) => { // ... await axios .put(`/api/images/like/${id}`, like, { headers: { "Content-Type": "application/json", "x-auth-token": user.data.token, }, }) .then((res) => { setLike(res.data); setNumLikes(res.data.likes.length); setButtonColor(res.data.likes.some((item) => item.user === userId)); }) .catch((err) => { // ... }); }; 3- استخدم الحالة المحلية (buttonColor) مباشرة في الرندر بدلاً من likedColor. <div className="menu-like"> <div className={buttonColor ? "like isLike" : "like"} onClick={() => { handleLikeImage(imageId); }} > <i className="fa-regular fa-thumbs-up"></i> </div> {numLikes === 0 ? "" : <div className="dislike">{numLikes}</div>} </div>1 نقطة
-
احسنت الله يجزاك خير لو بغيت اضافةشرط اخرى على عمود name_mogrr حيث يحدد خيار اسم التخصص لكي يستعبد التخصص الاخرى المشابهه لنفس المواد1 نقطة
-
الأمر يتطلب فهمًا عميقًا للعديد من المفاهيم، بما في ذلك البرمجة، والهندسة الكهربائية، والهندسة الميكانيكية، ونظم التحكم، وإليك الخطوات: اختر لغة برمجة، مثل Python أو C++ وتعلم الأساسيات ومفاهيم البرمجة. اكتساب فهم جيد حول هياكل البيانات والخوارزميات. دراسة الدوائر الكهربائية ومكونات الإلكترونيات. فهم كيفية عمل المتحكمات المدمجة (Microcontrollers)، والاستشعارات (Sensors). دراسة هياكل الطائرات بدون طيار وكيفية تصميمها. التعرف على مفاهيم الديناميكا والاستاتيكا والمواد الهندسية. دراسة نظم التحكم والتحكم الأوتوماتيكي. تعلم حول PID controllers وغيرها من تقنيات التحكم. دراسة أساسيات الاتصالات اللاسلكية وبروتوكولات الاتصال. فهم كيفية التحكم ونقل البيانات بين الطائرة والأجهزة الأخرى. اختيار منصة تطوير مثل Arduino أو Raspberry Pi لبدء تجربة البرمجة والتحكم. استخدام برامج محاكاة لتجربة واختبار البرمجيات بدون تحليق فعلي. دراسة اللوائح المحلية والدولية المتعلقة بطيران الطائرات بدون طيار. بالطبع الخطوات السابقة على إفتراض أنك ستقوم بالأمر بمفردك، لكن بالطبع في الشركات المطورة للطيارات بدون طيار هناك فريق عمل ويتم تقسيم المهام بشكل متخصص. ما العلوم (و التخصصات) التي يحتاجها فريق معين لتطوير طائرة بدون طيار ؟1 نقطة
-
يُمكن استغلال تقنية الواقع الافتراضي في مجال البرمجة والعمل الحر بعدة طرق. يمكن للمبرمجين والمطورين استخدام بيئات الواقع الافتراضي لتجربة تفاعل مباشر مع تطبيقاتهم ومشاريعهم. يتيح هذا لهم فحص واختبار الأكواد بشكل أكثر واقعية وفعالية. بالإضافة إلى ذلك، يمكن استخدام الواقع الافتراضي لإجراء اجتماعات عمل عن بُعد بشكل أكثر تفاعلية، مما يساهم في تعزيز التعاون وتحسين فهم الفريق للمشاريع المشتركة.1 نقطة
-
بالفعل تستطيعي استغلال الواقع الافتراضي لبناء تطبيقات بالواقع الافتراضي في العمل الحر، خلال عملي على موقع مستقل وهو موقع خاص بالفريلانس قابلت أحد المشاريع التي يريد فيها الزبون استخدام الواقع الافتراضي ليستطيع المستخدمين تجربة ومشاهدة المجوهرات وكذلك شراءها وهذا الامر يوفر شيئان مهمان هو الامان لن يتم لمس المجوهرات الاصلية وكذلك سهولة الوصول إلى المجوهرات من خلال التطبيق وتجربتها وشراءها أونلاين، يوجد إيضا مشروع أخر كذلك خاص ببيع الاثاث نفس الفكرة تماما، لذلك يوجد العديد من الافكار في الواقع الافتراضي التي تستطيعين استغلالها في العمل الحر1 نقطة
-
ما يريده في المسألة حسب الصورة التالية والتي هي نص المسألة هو أنه يريد أطول substring ولكن بدون أن تكون الحروف مكررة لذلك في المثال الأول الجواب هو abc لأنه لو قلت abca أو cabc أو abcbb كلها سلاسل أطول ولكن يوجد فيها حرف مكرر أما المثال الثاني فهو فقط الحرف b لأنه لو كان الجواب "bb" فهنا يوجد حرف مكرر وهو b في المثال الثالث اطول substring هو wke لأن pwwke اطول ولكن يوجد حرف مكرر كذلك wkew اطول لكن يوجد حرف مكرر هو w وكذلك يعطيك ملاحظة مهمة هو أن pwke هي سلسلة جزئية وليست substring حيث أن substring هو جزء من السلسلة الاصلية ولا يوجد فيها انقطاع أما السلسلة الجزئية نستطيع اقتطاع ما نشاء من الاحرف من اي مكان من السلسلة الاصلية وتجميعها وعندها تسمى سلسلة جزئية هذه الملاحظة في السطر الأخير تعطيك بداية الحل1 نقطة
-
بالإضافة للتعليق السابق أريد توضيح أن القرار ببناء تطبيق باستخدام PHP مع مفاهيم (OOP) (MVC) دون اللجوء إلى إطار العمل مثل Laravel هو خطوة جيدة. إليك بعض الفوائد التي يمكن أن تستفيد منها من هذه الخطوة: بناء تطبيق من البداية يمكن أن يمنحك فهمًا أفضل لكيفية عمل الأمور على المستوى الأساسي، بدون الاعتماد على ميزات مثل تلك المقدمة في Laravel. تعلم OOP وMVC يعزز مهارات التصميم البرمجي ويساعدك في بناء تطبيقات قائمة على هيكلية قوية. عندما تقرر في المستقبل استخدام إطار عمل مثل Laravel، ستكون لديك فهم أفضل لدوره وللأدوات والميزات التي يقدمها. بمجرد أن تكون قد فهمت الأساسيات، ستجد أن الانتقال إلى Laravel (أو أي إطار عمل آخر) سيكون أسهل، وستستفيد من ميزاته القوية والتي تسرع عملية تطوير التطبيقات.1 نقطة
-
المسألة هي إيجاد أطول substring متكرر في سلسلة، حيث أن الsubstring المتكرر هو substring يظهر مرتين أو أكثر في السلسلة. وفي المثال "abcabcbb"، فإن الsubstring المتكرر الأطول هو "abc"، حيث أنه يظهر مرتين في السلسلة. وفي المثال "bbbbb"، فإن الsubstring المتكرر الأطول هو "b"، حيث أنه يظهر مرتين في السلسلة. بينما في "wpwwkew"، فإن الsubstring المتكرر الأطول هو "wke"، حيث أنه يظهر مرتين في السلسلة. والطريقة التي تعمل بها المسألة هي كما يلي: نقوم بإنشاء مصفوفة لحفظ عدد مرات ظهور كل حرف في السلسلة. نقوم بإنشاء قائمة تحتوي على جميع الsubstrings المتكررة في السلسلة. نقوم بفحص كل substring في القائمة، ونقارن طوله مع طول أطول substring متكرر تم العثور عليه حتى الآن. إذا كان طول الsubstring أكبر من طول أطول substring متكرر تم العثور عليه حتى الآن، فإننا نقوم بتعيينه كأطول substring متكرر. في المثال "wpwwkew"، فإن الـ substrings المتكررة هي: "w" "ww" "wke" من بين تلك الـ substrings، فإن "wke" هو الأطول، حيث أنه بطول 3 أحرف.1 نقطة
-
يجب عليك توفير رابط المشكلة لنفهم اكثر لكن في رأيي و حسب فهمي للأمثلة التي طرحتها فإن حل المشكلة هو اكبر substring من دون ان يتكرر الحرف فيه. في المثال الاول الامر واضح اكبر substring هو abc نفس الشيء في المثال الثاني لاننا لا نحتسب تكرار الحروف. اما في المثال الأخير فيوجد اثنين substrigs يوجد wp و wke و بما ان الثاني اطول من الأول فالحل هو wke.1 نقطة
-
webpack في الاصل هو مجمع ملفات او بشكل ادق مجمع وحدات module bundler تقوم بتجميع عدد من ملفات الجافاسكربت، الـ HTML والcss لتجعلها في ملف واحد، وبهذا المنطق تتيح الكثير من الميزات الأخرى على سبيل: امكانية تقسيم الشيفرات وتجزئتها. استخدام المحملات لتحميل وتفسير انواع معينة من الملفات مثل sass. فصل بيئة التطوير عن بيئة الانتاج. وغيرها الكثير.. عيب هاته الطريقة انها قد تأخذ الكثير من الوقت أثناء عملية التطوير. لنقل مثلا أنك تستخدم 2000 وحدة نمطية في تطبيق كبير لديك. الآن عملية بناء او تجميع او تحزيم هاته الوحدات قد ياخذ وقتا طويلا جدا بادئ الأمر. ثم ستكون عملية الاستماع الى التغييرات هي الأخرى بطيئة (رغم التخزين المؤقت) لأن ويب باك تقوم كل مرة بإعادة تجميع كامل الملفات واخراجها في ملف واحد كل مرة ولا تستثني الملفات الغير معدلة، هذا بجانب تشغيل كامل المحملات والوحدات الاخرى. ويتم تقديم laravel-mix كآداة توفر واجهة تطبيقات برمجية للعمل بـ webpack بشكل أكثر فعالية في تطبيقات لارافيل لذات الغرض السابق. يأتي Vite هنا لتقديم حل استثنائي لتحسين تجربة التطوير وتسريعها، فالفكرة الاساسية منه هو تحويل وتقديم جزء من شيفرة التطبيق الخاص بك عندما يطلب المتصفح ذلك وفقط. فعند بداية عملية التطوير سيقوم Vite بتقسيم وحدات جافاسكربت الخاصة بك الى فئتين: dependency modules أو وحدات التبعية، وهي الوحدات التي يتم تحميلها وطلبها من node_modules. يتم ذلك عن طريق مجمع يدعى esbuild هو مكتوب بلغة Go ويعد اسرع بـ 10 الى 100 مرة من ويب باك. application modules او وحدات التطبيق، وهي الوحدات التي تشتغل عليها او بالأحرى هي ملفات تطبيقك. ويبباك تقوم بتجميع كل ما ينتمي لكليهما واخراجهما في ملف واحد كل مرة تطلبه. يدعى هذا بـ bundler-based workflow او سير العمل القائم على التحزيم. Vite تقوم فقط بتجميع وحدات التبعية الخاصة بك، في حين ان وحدات التطبيق تقدم فقط حينما يتم طلبها او في لحظة ما تكون مستعملة من طرف صفحة ما او مكون ما. تسمي Vite هذا بـ vite ESM-based dev build أو سير العمل القائم على وحدات ES. بمعنى أنه قادر على معالجة التطوير الخاص بك بشكل أسرع كثيرا من Webpack. وقد لا تلحظ هذا مع تطبيقات عادية، ولكن ستزداد الحاجة الى تجميع اسرع مع ازدياد حاجيات التطبيق وتوسعه. وبما أنه يخدم مفهوم التوسع scalability أكثر من ويب باك فإن لارافيل ضمته إليها هذا الاسبوع فقط ليزيد من حظ وقدرة لارافيل في بناء تطبيقات بأحجام عملاقة، بجانب المحافظة على تجربة تطوير جيدة الى ممتازة. يتفائل الكثير من المطورون باستعمال لارافيل له، ويرون أنه الجيل الجديد من ادوات بناء جافاسكربت بخدمته لمفهوم الوحدات في المتصفح، وهو مفهوم لم يكن شائعا قبله. وكتجربة شخصية، عملت بـ Vite في تطبيق واجهة أمامية بـ VueJS وكانت تجربة التطوير رائعة مقارنة بالتطبيقات التي اعتمدت على ويب باك فيها. وبما أن Vite مقدم من مطوري VueJS أنفسهم فأظن أنه سيكون هنالك تقارب أكثر بين VueJS و Laravel في المستقبل.1 نقطة