لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 04/09/23 in أجوبة
-
السلام عليكم حابب اخفي مقطع صوتي رفعته في الموقع حابب اخفيه لكن يفضل شغال شكرا لكم2 نقاط
-
هل يمكن للغة بايثون سحب داتا مواقع التواصل الاجتماعي مث انستغرام ةفيسبوك وما هي المكتبات اللزمة لذلك وهل يمكن لبايثون ارسال رسائل جماعية تسويقية عبر تلغرام او عمل منشن عبر انستغرام مثلا وهكذا2 نقاط
-
هل اتمامي لكورس PHP وكورس الواجهات يعني انه يمكنني مناداة نفسي ب full stack developer?2 نقاط
-
1 نقطة
-
في حال قام الشخص الأول قد دفع 88512 والشخص الثاني قد دفع 121105، فإن مجموع المبلغ الذي تم جمعه هو 88512 + 121105 = 209617. وإذا تم توزيع مبلغ 26000 من الأرباح، فسيتم توزيع هذا المبلغ بنسبة الاشتراك الأصلي لكل شخص. مما يعني لحساب نسبة كل شخص، يجب جمع إجمالي المبلغ الذي دفعه الشخص الأول والشخص الثاني، ثم حساب نسبة كل شخص من هذا المجموع. لذلك: نسبة الشخص الأول = (88512 / 209617) * 100% = 42.24% نسبة الشخص الثاني = (121105 / 209617) * 100% = 57.76% ثم يمكن حساب المبلغ الذي يجب توزيعه على كل شخص بناءً على نسبته في المجموع الكلي، وذلك باستخدام العلاقة: أرباح الشخص الأول = 26000 * 42.24% = 10994.4 أرباح الشخص الثاني = 26000 * 57.76% = 15005.6 وبالتالي، يجب توزيع مبلغ 10994.4 على الشخص الأول ومبلغ 15005.6 على الشخص الثاني.1 نقطة
-
اقوم بتصميم موقع لجهة معينة هل يوجد اداة تساعدني في اختبار شيفرات html css js انها مكتوبة بشكل سليم. بالاضافة الى ذلك هل يوجد اداة تقوم بإضافة الميديا المناسبة لكود css لجعل الموقع مناسب على جميع الشاشات ام يجب مراعاة ذلك عند تصميم الموقع من البداية1 نقطة
-
1 نقطة
-
اريد عندما يكتب المستخدم طلب معين مثلا تلاوة سورة الفاتحه يتم جلب الرابط وتشغيله في واجهه موقع مثلا باستخدام flask هل هناك مثال او كود لتنفيذ هذا المشروع البسيط1 نقطة
-
الأسئلة الخاصة بالإختبارات أو المشاريع لا يتم توفير إجابة لها ولكن يمكن شرح طريقة الحل وإرشادك للخطوات. ويتطلب السؤال كتابة برنامج يقبل 3 إدخالات، الأولى منها حرف يمثل عملية حسابية، والإدخالين الآخرين هما عددين صحيحين. يتم تحديد العملية الحسابية المطلوبة استنادًا إلى الحرف المدخل، وتشمل العمليات الحسابية الخمسة التالية ورموزها: الجمع: + الطرح: - الضرب: * القسمة: / باقي القسمة: % وحسب الحرف المدخل، يجب تنفيذ العملية المناسبة على العددين المدخلين. يضمن السؤال أن العدد الثاني لن يكون أبدًا صفرًا في حالة القسمة وباقي القسمة. إذا كان الحرف أي رمز آخر غير الرموز المذكورة، يجب على البرنامج إخراج "Invalid operator" بين علامتي اقتباس. على سبيل المثال، إذا كان المدخل هو + 1 31، سيكون الإخراج 32، وإذا كان المدخل هو * 12 12، سيكون الإخراج 144. ةيمكن حل السؤال باستخدام لغة C عن طريق إتباع الخطوات التالية: 1- تعريف المتغيرات التي سيتم استخدامها في البرنامج، وهي: متغير من نوع char لتخزين العملية الحسابية المدخلة متغيران من نوع int لتخزين العددين المدخلين متغير من نوع int لتخزين نتيجة العملية الحسابية 2- استخدام دالة scanf لاستلام الإدخالات من المستخدم وتخزينها في المتغيرات المناسبة. 3-استخدام جملة switch-case للتحقق من قيمة المتغير الحرفي المدخل وتنفيذ العملية الحسابية المناسبة بناءً على القيمة المدخلة. يمكن استخدام الخيار الافتراضي لإخراج رسالة خطأ إذا كانت العملية الحسابية المدخلة غير صحيحة. 4- إخراج النتيجة عن طريق استخدام دالة printf. 5- إعادة قيمة 0 في نهاية البرنامج للإشارة إلى نجاح تنفيذ البرنامج. وستجد هنا مقالات ودروس حول لغة C1 نقطة
-
يتم توجيه المستخدم إلى الرابط الخارجي بعد النقر مرتين لأنه يتم استخدام الحالة الجديدة "validMessage" التي تعيد قيمة "true" عندما يكون لا يوجد أي رسائل خطأ في التحقق من الصحة. وبعد ذلك، يتم تأجيل فتح الرابط الخارجي لمدة 1.5 ثانية باستخدام setTimeout(). بالتالي، عند النقر على زر الإرسال، يتم التحقق من صحة البيانات المدخلة في الحقول، وإذا كانت جميع الحقول صالحة، يتم تعيين القيمة "true" لـ validMessage، ويتم فتح الرابط الخارجي بعد مرور 1.5 ثانية. إذا لم يكن هناك أي رسائل خطأ وتم النقر مرة أخرى، سيتم توجيه المستخدم مرة أخرى إلى الرابط الخارجي. يمكن تعديل الكود لتوجيه المستخدم مباشرةً إلى الرابط الخارجي عند النقر على زر الإرسال في حالة كانت جميع الحقول صالحة، دون الحاجة إلى النقر مرتين. يمكن فعل ذلك بتحرير الدالة handleClick كما يلي: const handleClick = (e) => { e.preventDefault(); formValidation() if (validate.length === 0) { window.open("https://github.com/Saadaoui-Forkan/react-forms/tree/main/responsive_form", '_self'); } } تم تعديل الشرط في الدالة handleClick من if (validMessage) إلى if (validate.length === 0) ، حيث تم استخدام المتغير validate الذي يحتوي على الأخطاء المحتملة المكتشفة من قبل formValidation. وعلاوة على ذلك، تم تحرير setTimeout() من الكود حيث لم يعد هناك حاجة لهذا المؤخر الزمني. وبمجرد تحقق صحة الحقول وعدم وجود رسائل خطأ في المتغير validate، سيتم توجيه المستخدم مباشرة إلى الرابط الخارجي. في حالة كان هناك أي رسائل خطأ، لن يتم توجيه المستخدم إلى الرابط الخارجي.1 نقطة
-
يحدث مثل هذا السلوك لأن النقرة الأولى يتم فيها تحديث حالة المتغير validMessage الى true كون البيانات صحيحة وبشكل متزامن يتم التحقق من قيمة المتغير validMessage التي هي أصلا false ولا يتم تنفيذ عبارة الشرط أصلا لهذا الأخير. ففي النقرة الثانية تكون قيمة validMessage هي قيمة بوليانية صحيحة ويتم التوجيه بشكل طبيعي. ولتوكيد هاته الجزئية، جرب في الضغطة الأولى ان تكون البيانات صحيحة، ثم قبل الضغطة الثانية اجعل البيانات غير صحيحة ولا تطابق المنطق المتحقق منه في دالة formValidation. ورغم ذلك سيتم التوجيه الى الصفحة الموصوفة. لتلافي مثل هاته المشكلة، ستحتاج التوجيه اما من داخل دالة التحقق او استعمال عائد الدالة في شرط التوجيه، أمثلة صحيحة: const formValidation = () => { const validate = [] if (!user_regex.test(values.username)) { validate.push("Username should be 3-10 characters and shouldn't include ni special character ni numbers ni spaces!") } if (!email_regex.test(values.email)) { validate.push('Invalid email: The email should be like aaa@aa.aa') } if (!password_regex.test(values.password)) { validate.push("Password should be 8-20 characters and include at least 1 letter, 1 number and 1 special character!") } setValidate(validate) if (validate.length === 0) { setValidMessage(true) } return validMessage; } const handleClick = (e) => { e.preventDefault(); const isValid = formValidation() if (isValid) { setTimeout(() => window.open("https://github.com/Saadaoui-Forkan/react-forms/tree/main/responsive_form", '_self'), 1500) } } أو: const formValidation = () => { const validate = [] if (!user_regex.test(values.username)) { validate.push("Username should be 3-10 characters and shouldn't include ni special character ni numbers ni spaces!") } if (!email_regex.test(values.email)) { validate.push('Invalid email: The email should be like aaa@aa.aa') } if (!password_regex.test(values.password)) { validate.push("Password should be 8-20 characters and include at least 1 letter, 1 number and 1 special character!") } setValidate(validate) if (validate.length === 0) { setValidMessage(true) } if (validMessage) { setTimeout(() => window.open("https://github.com/Saadaoui-Forkan/react-forms/tree/main/responsive_form", '_self'), 1500) } } const handleClick = (e) => { e.preventDefault(); formValidation() } وكل منهما صحيح.1 نقطة
-
WebSocket هو بروتوكول الاتصال الذي يوفر اتصالاً ثنائي الاتجاه بين العميل والخادم عبر TCP. يظل WebSocket مفتوحاً طوال الوقت، لذا فهو يسمح بنقل البيانات في الوقت الفعلي (real time). عندما يقوم العملاء بإرسال الطلب إلى الخادم، فإنه لا يغلق الاتصال عند تلقي الاستجابة، بل يستمر وينتظر العميل أو الخادم لإنهاء الطلب. ميزاته: يساعد WebSocket في الاتصال في الوقت الفعلي بين العميل وخادم الويب. يساعد هذا البروتوكول في التحول إلى cross-platform في عالم ال real-time بين الخادم والعميل. يتيح أيضاً للأعمال التجارية في جميع أنحاء العالم الحصول على تطبيق ويب في الوقت الفعلي لتعزيز وزيادة الجدوى. الميزة الرئيسية أنه يعتمد على اتصال HTTP حيث أنه يوفر اتصال مزدوج الاتجاه. إليك مخطط له: لماذا نحتاجه: يوفر اتصالًا ثنائي الاتجاه ، مما يساعد في استمرار الاتصال الذي تم إنشاؤه بين العميل وخادم الويب. كما أنه يفي بالمعايير ويوفر الدقة والكفاءة في أحداث التدفق (من وإلى) مع زمن انتقال ضئيل negligible latency. WebSocket يزيل الحمل ويقلل من التعقيد. يجعل الاتصال في الوقت الفعلي سهل وفعال. Socket.IO هي مكتبة تتيح الاتصال في الوقت الفعلي مع نمط اتصال full-duplex بين العميل وخوادم الويب. ويستخدم بروتوكول WebSocket لتوفير الواجهة. وكلاً من WebSocket vs Socket.io هما مكتبات تعتمد على الأحداث (مقادة بال event). من جانب العميل: هي المكتبة التي تعمل داخل المتصفح. من جانب الخادم: مكتبة Node.js. ميزاته: يساعد في البث إلى مآخذ متعددة في وقت واحد ويتعامل مع الاتصال بشفافية. يعمل على جميع المنصات أو الخادم أو الجهاز ، مما يضمن المساواة والموثوقية والسرعة. يقوم تلقائياً بترقية المتطلبات إلى WebSocket إذا لزم الأمر. هو بروتوكول نقل مخصص في الوقت الفعلي. تنفيذه يكون فوق البروتوكولات الأخرى يتطلب استخدام كلا المكتبتين من جانب العميل بالإضافة إلى مكتبة من جانب الخادم. يعمل IO على الأحداث القائمة على العمل "work-based events". هناك بعض الأحداث المحجوزة التي يمكن الوصول إليها باستخدام Socket على جانب الخادم مثل Connect و message و Disconnect و Ping و Reconnect. هناك بعض الأحداث المحجوزة القائمة على العميل مثل الاتصال وخطأ الاتصال ومهلة الاتصال وإعادة الاتصال وما إلى ذلك. لماذا نحتاجه: يتعامل مع مستوى الدعم المتنوع "various support level" والتناقضات "inconsistencies" من المتصفح. تتعامل مع التدهورات الناتجة من استخدام البدائل التقنية لتوفر اتصال full-duplex في الوقت الفعلي. بعض المقارنة بينهم: WebSocket هو البروتوكول الذي تم إنشاؤه عبر اتصال TCP. بينما Socket هي مكتبة تعمل مع WebSocket. WebSocket يوفر الاتصال عبر TCP ، بينما Socket.io هي مكتبة لتجريد اتصالات WebSocket. لا يحتوي WebSocket على خيارات fallback، بينما يدعمها Socket.io. WebSocket هي التقنية ، بينما Socket.io هي مكتبة لـ WebSocket. WebSocket لايدعم ال broadcasting بينما Socket يدعمها. Proxy و load balancer غير مدعومين في WebSocket. بينما مدعومين في socket. Socket يوفر الاتصال القائم على الحدث بين المتصفح والخادم. بينما WebSocket يوفر اتصال مزدوج الاتجاه لاتصالات TCP.1 نقطة
-
كما تم الشرح في التعليقات السابقة فإنه كلاهما يقومان تمكن من فتح جلسة اتصال تفاعلية ثنائية الاتجاه بين متصفح المستخدم والخادم. ، يمكنك إرسال رسائل إلى خادم وتلقي ردود مدفوعة بالأحداث دون الحاجة إلى إرسال الطلب من المتصفح وتعتبر socketIo مكتبة تم بناؤها على ال Websockets ويمكنك ملاحظة الفروقات بينهما في المقارنة التالية socketIo لديه اتصال ذاتي auto connection لديه غرف rooms لديه بروتوكول اتصال مصمم مسبقا لديه دعم جيد لتسجيل الدخول لديه دعم للمتصفحات القديمة في حالة لا تدعم Websockets لديها مجتمع كبير لأنها مكتبة (لا يمكن أن يكون لديك مجتمع لـ HTTP أو Webockets هي مجرد بروتوكولات) وبالطبع لأنها مكتبة لا تحتاج لتصميم وتنفيذ جميع المهما بنفسك فبالتأكيد توفر لك هذه المهما الأساسية أما بالنسبة ل Websockets لديك التحكم الكامل ، من خلال البناء من الصفر ، هذا يمكن أن يكون جيداً أو سيئاً. عليك تصميم البنية الخاصة بك ليس لديك اتصال ذاتي auto connection ، يمكنك تنفيذها بنفسك إذا كنت تريد ذلك. ليس لديه دعم احتياطي fallback للمتصفحات القديمة1 نقطة
-
حتى تفهم الفرق بينهما يجب أن نتكلم عن المشاكل التي يقومان بحلها, قبل وجود الwebsockets كان للحصول على بيانات يقوم العميل بإرسال طلب ويقوم الخادم بإرسال رد, ومن ثم ينغلق الإتصال بينهما , حسناً في حالة إن أردنا الحصول على بيانات حية (real time data) لم يكن ذلك سهلاً, فكان يجب عليك أن تقوم بإرسال طلب كل فترة زمنية قصيرة للحصول على أحدث البيانات setInterval(function(){ fetch(url) .then(res=>data=res.data) },1000) كالمثال في الأعلى, يقوم العميل بإرسال طلب كل ثانية بغرض التأكد من أن البيانات التي لديه هي أحدث بيانات لدى السيرفر, ولكن تلك الطريقة لم تكن جيدة بشكل كبير حيث أن تكلفة إرسال ومعالجة الطلب والرد كل ثانية مجهد بالنسبة لكلاً من الخادم والعميل وهنا تم إنشاء الwebsocket وهى بإختصار عبارة عن طبقة من الإتصال مبنية فوق بروتوكول http2 فكرتها أن يقوم العميل بإرسال طلب الإتصال حتى يتم فتح إتصال بينه وبين الخادم ومن ثم يكون كلاً من الخادم والعميل قادرين على إرسال وإستقبال الرسائل في اي وقت دون الحاجة لإنشاء طلب جديد كل مرةٍ . إذا ما هى الsocket.io? هي مكتبة يتم إستخدامها للتعامل مع البيانات الحية , تم بناؤها فوق الwebsocket ولها مميزات عديدة عن إستخدامك الwebsocket ,فمثﻻً بعض المتصفحات القديمة لا تدعم إستخدام الwebsocket في هذه الحالة تقوم الsocket.io بإستخدام الطريقة التقليدية للتعامل مع البيانات الحية , أيضا تقوم بإعادة الإتصال في حالة إنقطاعه بشكل تلقائى, على عكس الwebsocket لم تكن تقوم بإعادته تلقائياً بل كان يجب عليك أن تقوم بتلك المهمة بنفسك1 نقطة
-
websockets هي طريقة اتصال غير متزامن (asynchronous communication) من Client إلى Server , يتم الاتصال عبر منفذ TCP واحد عبر برتوكول WS يتم استخدامه من قبل Client و Server حيث يمكن Client و Server إرسال الرسائل إلى بعضهما في نفس الوقت. في هذا لمثال توضح طريقة الاتصال بين Client و Server // Create a socket instance var socket = new WebSocket('ws://localhost:8080'); // Open the socket socket.onopen = function(event) { // Send an initial message socket.send('I am the client and I\'m listening!'); // Listen for messages socket.onmessage = function(event) { console.log('Client received a message',event); }; // Listen for socket closes socket.onclose = function(event) { console.log('Client notified socket has closed',event); }; // To close the socket.... //socket.close() }; socket.io هي واجهة برمجة تطبيقات websockets ، تستخدم لتحديد إذا كان سيتم إنشاء اتصال باستخدام websockets ، أيضا يمكنه إنشاء واجهة برمجة التطبيقات Node.js في المثال يوضح كيف يتم إنشاء socket // Create SocketIO instance, connect var socket = new io.Socket('localhost',{ port: 8080 }); socket.connect(); // Add a connect listener socket.on('connect',function() { console.log('Client has connected to the server!'); }); // Add a connect listener socket.on('message',function(data) { console.log('Received a message from the server!',data); }); // Add a disconnect listener socket.on('disconnect',function() { console.log('The client has disconnected!'); }); // Sends a message to the server via sockets function sendMessageToServer(message) { socket.send(message); } من مزايا استخدام socket.io لديه اتصال تلقائي (autoconnect) لديه بروتوكول اتصال مصمم مسبقًا يتكامل مع خدمات مثل redis1 نقطة