اذهب إلى المحتوى

Mustafa Suleiman

الأعضاء
  • المساهمات

    13209
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    365

كل منشورات العضو Mustafa Suleiman

  1. الكود سليم ولا يوجد به مشكلة، ما الخطأ الذي يظهر لك في المحرر؟ #include <iostream> using namespace std; int main() { string name; int age; cout << "Please enter your name: " << endl; cin >> name; cout << "Please enter your age: " << endl; cin >> age; return 0; }
  2. ستحتاج إلى استخدام مكتبة مثل OpenCV لالتقاط صورة باستخدام كاميرا الهاتف، ثم استخدام تقنيات معالجة الصور مثل OCR (التعرف الضوئي على الحروف) لاستخراج النص من الصورة وتتوفر مكتبة Tesseract OCR لتحقيق ذلك. ثم مكتبة مثل openpyxl لكتابة المعلومات في ملف Excel.
  3. استخدم cors في الواجهة الخلفية من خلال: npm install cors ثم: import cors from 'cors'; ثم: const app = express(); app.use(cors()); سيظهر لك مشكلة أخرى وهي "confirmPassword\" is not allowed حاول حلها.
  4. حاول إعادة إنشاء قاعدة البيانات من خلال الأمر: php artisan migrate:fresh --seed ثم إنشاء مستخدم جديد والتجربة مرة أخرى.
  5. تأكد من كتابة بيانات قاعدة البيانات بشكل صحيح في ملف .env: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE= // Your Database Name DB_USERNAME= // Yout Database Username DB_PASSWORD= // Your Database Password وفي حال عدم وجود username قم بكتابة root. ثم تنفيذ الأمر التالي: php artisan optimize:clear وتأكد من أن سيرفر MySQL أو أيًا كان مثل Postgres يعمل بشكل سليم.
  6. قم بحذف الاستيراد التالي من ملف index.js: import { container } from 'webpack';
  7. الأمر بسيط، يمكنك تثبيت الحزم بشكل عالمي Global أي تصبح متاحة لأي مشروع تقوم بإنشاؤه من خلال الأمر التالي: pip install pandas أو يمكنك إنشاء بيئة إفتراضية وتثبيت الحزم بها بحيث تصبح خاصة بالمشروع الذي تعمل عليه فقط.
  8. عليك إختيار العنصر الصحيح الخاص بالـ navbar أي الذي يحوي الـ navbar: div.container-fluid.p-0 > div.row { position: sticky; top: 0; z-index: 10; opacity: .9; } ومن الأفضل تعيين كلاس خاص له لإختياره بشكل أسهل وتجنب مشاكل فيما بعد.
  9. بالطبع يمكن ذلك، والطريقة تختلف من لغة لأخرى، وأحد الأساليب الشائعة هي استخدام التضمين (composition) أو الوراثة (inheritance) في جافا مثلا: class MainObject { // خصائص الكائن الرئيسي } class SubObject { // خصائص الكائن الفرعي } class ContainerObject { MainObject mainObject; SubObject subObject; public ContainerObject(MainObject mainObject, SubObject subObject) { this.mainObject = mainObject; this.subObject = subObject; } } فهنا يحتوي ContainerObject على كائن من النوع MainObject وآخر من النوع SubObject، وتستطيع توسيع ذلك المفهوم وتعقيد العلاقات كما تريد. وفي جافاسكريبت كالتالي: // تعريف كائن أول let object1 = { property1: "Value 1", method1: function() { console.log("Method 1"); } }; // تعريف كائن آخر let object2 = { property2: "Value 2", method2: function() { console.log("Method 2"); }, embeddedObject: object1 // وضع كائن داخل كائن آخر }; // الوصول إلى الخصائص والأساليب في الكائن الفرعي console.log(object2.property2); // سيطبع: Value 2 object2.method1(); // سيطبع: Method 1 وأيضًا من الممكن الإعتماد على الوراثة بواسطة الـprototype في جافاسكريبت لتحقيق تنظيم هرمي للكائنات، وذلك يشمل وضع كائن داخل كائن آخر، أو استخدام مفاهيم مثل الـclass في ECMAScript 6 لتحقيق هيكلة أكثر تنظيمًا للكائنات.
  10. أرجو التعليق أسفل فيديو الدرس لمساعدتك بشكل أفضل وطرح الأسئلة العامة هنا في قسم أسئلة البرمجة. والملف الصحيح هو " الملفات الإبتدائية" أما الملف الآخر فهو المشروع النهائي بشكل مكتمل يمكنك الإطلاع عليه بعد تثبيت الحزم. والمشكلة هي أنه يتم استخدام إصدار 4 من مكتبة react-scripts في ذلك المشروع، وذلك الإصدار غير متوافق مع إصدار 18 أو أعلى من Node.js، لذا عليك تثبيت إصدار 5 من خلال الأمر التالي: npm i react-scripts@latest
  11. أنت تقصد علم البيانات Data science؟ باختصار، هو مجال الذي يهتم بدراسة الطرق التي يمكن من خلالها جمع وتخزين ومعالجة ونقل المعلومات، ويشمل ذلك الاهتمام بالنظريات والتقنيات التي تساهم في تحسين كفاءة هذه العمليات، ويتنوع نطاق علم المعلومات ويشمل مجالات مثل علم الحاسوب، وهندسة البرمجيات، ونظم المعلومات، والتعلم الآلي، والذكاء الاصطناعي. وستجد تفصيل هنا: أما الحوسبة الكمومية هي فرع من علم المعلومات يستخدم مفاهيم ميكانيكا الكم لتحسين أداء معالجة المعلومات، وتعتمد حوسبة الكم على استخدام البتات الكمية بدلاً من البتات التقليدية، من أجل القيام بعمليات متعددة في وقت واحد، مما يتيح حلاً فعالاً لمشاكل صعبة بشكل تفوق على الحواسيب التقليدية في بعض الحالات. مجالات الحوسبة الكمومية: الأمان الكمومي، حيث تستخدم مبادئ الكم لتحقيق أمان فائق في عمليات الاتصالات وتبادل المعلومات. التحليل الكمومي، لتحليل البيانات بشكل فعال، مثل في مجال التحليل الكمومي للبيانات الكبيرة. المحاكاة الكمومية للأنظمة والظواهر التي يصعب محاكاتها بواسطة الحواسيب التقليدية. تصميم الأدوية والمواد لتحليل وتصميم جزيئات دقيقة تستخدم في مجال الكيمياء وتصميم الأدوية. دراسة كيف يمكن تحسين بنية البرامج باستخدام مفاهيم الحوسبة الكمومية. استكشاف كيف يمكن استخدام ميزات الحوسبة الكمومية في تطوير نماذج ذكاء اصطناعي أفضل. ولا يوجد دورة متخصصة في ذلك في أكاديمية حسوب، لكن يوجد دورة بايثون وهي أساسية لمجال علم البيانات، وبها سيتم شرح تطبيقات عملية للتعامل مع البيانات بواسطة بايثون.
  12. تستطيع بناء موقع يعرض خدمات تلك الشركات والتسويق لها في المكان المناسب سواء من خلال تهيئة SEO للموقع، أو عمل إعلانات على المنصات التي يتواجد عليها فئة العملاء الذين تستهدفهم بخدماتك. ويمكنك إنشاء حساب على مواقع العمل الحر، ثم التقديم على عروض والتعريف بالخدمات التي يمكنك توفيرها لكن بشرط وجود سابقة أعمال، فيجب وجود إثبات لما تقدمه ومعاينة للجودة. أما إن كنت تقصد فتح شركة على أرض الواقع فذاك أمرك مختلف، حيث يجب استخراج سجل ضريبي للشركة. وبخصوص إدارة الفريق والمشاريع يمكنك استخدام أدوات مثل منصة "أنا" أو Trello وغيرهم.
  13. بالطبع، هناك وحدة التخزين المؤقتة التي تسمى "buffer" أو باستخدام مكتبة ctypes التي تتيح لك التفاعل مع المكتبات المكتوبة بلغة C. باستخدام buffer: # حجز مساحة في الذاكرة باستخدام buffer buffer_size = 1024 # يمكنك تحديد حجم الذاكرة الذي ترغب في حجزه buffer = bytearray(buffer_size) # الآن يمكنك القيام بالعمليات على الذاكرة المحجوزة # مثال: تغيير قيمة البايت الأول في الذاكرة إلى 42 buffer[0] = 42 باستخدام الدالة ctypes. import ctypes # تعريف البيانات التي سنخزنها في المكان الذي سنحجزه class DataStruct(ctypes.Structure): _fields_ = [("value", ctypes.c_int)] # حجز مكان في الذاكرة بحجم البيانات التي نريد تخزينها memory_block = ctypes.create_string_buffer(ctypes.sizeof(DataStruct)) # إنشاء كائن من البيانات data = DataStruct() data.value = 42 # نسخ البيانات إلى المكان الذي حجزناه في الذاكرة ctypes.memmove(memory_block, ctypes.byref(data), ctypes.sizeof(data)) # الآن يمكنك الوصول إلى المكان في الذاكرة واستخدام البيانات loaded_data = DataStruct() ctypes.memmove(ctypes.byref(loaded_data), memory_block, ctypes.sizeof(loaded_data)) print("قيمة المكان في الذاكرة:", loaded_data.value)
  14. لا يوجد مشكلة لديك الكود يعمل بشكل سليم Connected، حيث تم الإتصال والحصول على الرسالة Message received ثم قطع الإتصال Disconnected. لكن المشكلة هي أنه لم يتم الحصول على الرسالة التي أرسلتها أنت وهي hello websocket، وذلك بسبب أن السيرفر wss://ws.ifelse.io/ لا يقوم بإعادة الرسالة. يمكنك تجاهل ذلك حاليًا أو إنشاء حساب في piehost.com ثم ستحصل على رابط تستطيع استخدام كسيرفر وسيقوم بإعادة الرسالة. وأرجو منك التعليق أسفل الدرس المتعلق بالسؤال في الدورة وليس هنا حيث نطرح الأسئلة العامة هنا في قسم أسئلة البرمجة.
  15. النوع الأساسي للتشفير هنا هو التشفير المتناظر، حيث يستخدم مفتاح واحد لتشفير البيانات وفك تشفيرها، وتستخدم دالة bolt_decrypt() لفك تشفير البيانات، والتي تتطلب مفتاحًا كوسيط. ويشير الرمز ##!!!## إلى أن البيانات مشفرة باستخدام خوارزمية AES-256-GCM، وتلك الخوارزمية هي خوارزمية تشفير متناظرة قوية، وهي تستخدم على نطاق واسع في التطبيقات المختلفة. أي كالتالي: إنشاء مفتاح تشفير عشوائي يبلغ طول 256 بت. تشفير كود PHP باستخدام المفتاح العشوائي. تخزين المفتاح المشفر في ملف أو في قاعدة بيانات. ويتم الأمر بواسطة php_bolt وهي إضافة تستطيع استخدامها في لغة PHP: bolt_encrypt(): تشفير البيانات باستخدام AES-256-GCM. bolt_decrypt(): فك تشفير البيانات المشفرة باستخدام AES-256-GCM.
  16. لا تشتت نفسك في البداية، وبشكل مختصر، نعم من الأفضل تعلم الأساسيات من خلال تعلم لغة برمجة قوية ومنخفضة المستوى نسبيًا مثل C++، لكن الأمر صعب على البعض في البداية لذا من المستحسن تعلم البرمجة من خلال لغة أسهل مثل بايثون وجافاسكريبت وPHP، ثم إنهاء المسار البرمجي الذي اخترته مثل مجال الواجهة الأمامية أو Full-stack. ثم تستطيع العودة وتقوية مهاراتك البرمجية من خلال C++، لكن بعد التعمق في اللغة البرمجية الأولى لك ولتكن جافاسكريبت وتنفيذ مشاريع من خلالها، ثم تعلم React أو Angualr.js أو Vue ثم تنفيذ مشاريع من خلالهم. بعد ذلك يمكنك الإلتفات إلى C++ والخوارزميات وأنماط التصيم وخلافه. ودائمًا عليك تفقد ما الوقت المتاح لك، هل لديك وقت كافي أم تريد دخول سوق العمل في أسرع فترة ممكنة بدون الإخلال بمهاراتك وعملية التعلم؟ وهي لا تقل عن 6 شهور إلى سنة وبرأي هي سنة.
  17. ابحث عن Python Quizzes وستجد النتائج التي تبحث عنها لكن بالإنجليزية. أما إذا أردت اختبارات باللغة العربية فستجد ذلك هنا: أيضًا ابحث عن اختبارات بايثون باللغة العربية على جوجل.
  18. الأمر له علاقة بسوق العمل أكثر من أفضلية لغة على لغة أو إطار على إطار، إذا أردت دخول سوق العمل كمطور Full-stack فعليك تعلم .NET، أما إذا كان لديك الوقت لتعلم ما تريد فتعلم بايثون. لكن دائمًا وازن بين الوقت المتاح لك وبين المطلوب في سوق العمل من خلال تفقد الوظائف المعروضة والخبرة المطلوبة.
  19. عليك القيام بالتالي: إزالة علامات <?php المتداخلة أي الزائدة في الكود حيث نضعها في بداية كود php فقط ثم نغلق ذلك الجزء من خلال ?> استخدام PDO::fetchAll() لجلب جميع النتائج دفعة واحدة لتحسين الكفاءة. استبدال mysql_fetch_assoc() بـ foreach للتنقل عبر الصفوف المسترجعة. إغلاق الاتصال بنقل سطر connection = null خارج الحلقة لضمان الإغلاق الصحيح. التعامل مع الأخطاء بإضافة كتلة try...catch وتمكين التعامل مع الأخطاء باستخدام PDO::ATTR_ERRMODE. الكود بعد التعديل: <!DOCTYPE html> <html lang="ar"> <head> <link rel="icon" href="https://c0.klipartz.com/pngpicture/573/614/gratis-png-ng%C5%A9-hanh-s%C6%A1n-distrito-casa-apartamento-inmobiliaria-volta-redonda-venta-de-logotipos-de-bienes-raices.png" /> <title>موقع العقارات</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@300&display=swap" rel="stylesheet"> <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" media="screen" href="home.css"> </head> <body> <?php $server = 'DESKTOP-PJDLJNR'; $database = 'Legacy'; $username = ''; $password = ''; try { $connection = new PDO("sqlsrv:Server=$server;Database=$database", $username, $password); $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Enable error handling $sql_query = 'SELECT * FROM Problemss'; $statement = $connection->query($sql_query); $result = $statement->fetchAll(PDO::FETCH_ASSOC); // Fetch all results } catch (PDOException $e) { die("Connection failed: " . $e->getMessage()); } ?> <table border="1" width="100%"> <tr> <th>تم</th> <th>الحلول</th> <th>المشكلة</th> <th>م</th> <th>الرقم</th> </tr> <?php foreach ($result as $row) { ?> <tr> <td><?php echo $row['تم'] ?></td> <td><?php echo $row['الحلول'] ?></td> <td><?php echo $row['المشكلة'] ?></td> <td><?php echo $row['م'] ?></td> <td><?php echo $row['الرقم'] ?></td> </tr> <?php } ?> </table> </body> </html>
  20. في تبويب Replace في خانة find قم بكتابة التالي: \(*\) ثم اضغط على more واختر use wildcards ثم اضغط على format واختر التنسيق الذي تريد تطبيقه كما تم شرحه بالمقال، ثم قم بالضغط على Replace أو Replace All لتغيير كل النتائج. نفس الأمر تستطيع تنفيذه في حال كانت الأقواس مربعة [] كالتالي: \[*\]
  21. من الأفضل طرح السؤال الذي تحاول حله على leetcode
  22. من المفترض أن يعمل معك الكود التالي بدون مشكلة: var addTwoNumbers = function(l1, l2) { l11 = Number(l1.join('')); l22 = Number(l2.join('')); ar = l11 + l22; console.log(ar) var myarr = String(ar).split("").reverse().map((ar) => { return Number(ar) }) return myarr }; addTwoNumbers([2,4,6], [3,5,6])
  23. الأمر طبيعي، على ما أظن أنك تحاول تمرير رقمين للدالة كالتالي: addTwoNumbers(3, 5) ولن تعمل ميثود join على الأرقام بل تعمل على المصفوفات فقط، كالتالي: const elements = ['Fire', 'Air', 'Water']; console.log(elements.join()); // Expected output: "Fire,Air,Water" console.log(elements.join('')); // Expected output: "FireAirWater" console.log(elements.join('-')); // Expected output: "Fire-Air-Water"
  24. الجزء الثاني من حلقة for هو للشرط الذي سيتم الإعتماد عليه لتكرار الحلقة، وفي الكود الأول لديك: for (i = 0; i =100; i++) ذلك يعني أنك وضعت شرط أن i تساوي 100 وبالتالي لن يتم زيادة i بل ستبقى ثابتة 100 دائمًا ولن يتم زيادتها وسيتم تنفيذ الكود بداخل الحلقة للأبد أي أنت كتبت loop لا نهائية وستؤدي إلى توقف المتصفح عن العمل بسبب إمتلاء الرامات. أي لا يوجد شرط لتوقف الحلقة. بينما في الكود الثاني: for (i = 0; i<100; i++) وضعت شرط تتوقف عنده الدالة، وسيتم زيادة قيمة i بناءًا على قيمة ذلك الشرط، لأنك لم تحدد قيمة ثابتة لـ i في الجزء الخاص بالشرط كما فعلت سابقًا بل حددت أنه طالما i أصغر من 100 قم بزيادة قيمة i بواحد.
×
×
  • أضف...