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

Mustafa Suleiman

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

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

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

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

    263

مقال تعليقات بواسطة Mustafa Suleiman

  1. بتاريخ On 22‏/4‏/2024 at 13:41 قال سليمان منيف:

    ما هي لغة البرمجة المستخدمة لأنشاء أنظمة تشغيل مثل ويندوز أو لينوكس؟

    في الويندوز، النواة Kernel تم تطويرها بواسطة لغة C بنسبة كبيرة وجزء منها مطور بواسطة Assembly.

    والنواة هي المسؤولة عن إدارة الموارد الأساسية مثل المعالج والذاكرة والأقراص الصلبة، وتتميز لغة C بسرعتها وكفاءتها، مما يجعلها مناسبة لهذه المهام.

    وعند الوصول للإجزاء القريبة من واجهة المستخدم ستجد أنه يتم استخدام لغة C++ أكثر ولغة C بشكل أقل.

    بينما لينكس ستجد أن النواة تم تطويرها بواسطة لغة C بنسبة كبيرة وجزء منها تم تطويره بواسطة  Assembly كما في الويندوز.

    بينما تطبيقات المستخدم ستجد أنه يتم استخدام بايثون وC++ بهم.

    • شكرًا 1
  2. بتاريخ On 26‏/1‏/2024 at 16:31 قال ثامر الخفاجي:

    السلام عليكم احتاج الى المساعدة لتصنيف النصوص العربي باستخدام الشبكات العصبية 

    الخطوة الأولى هي جمع مجموعة بيانات من النصوص العربية المُصنفة مُسبقًا إلى الفئات المُراد تصنيف النصوص إليها.

    وبعد جمع البيانات، يجب معالجتها مسبقًا لجعلها جاهزة للتدريب على الشبكات العصبية، والخطوات هي:

    •  إزالة الأحرف غير المهمة، مثل علامات الترقيم وعلامات الاقتباس.
    • تحويل الحروف إلى أحرف صغيرة.
    •  إزالة التكرارات.
    •  تجزئة النصوص إلى كلمات أو عبارات.
    • تحويل النصوص إلى تمثيل رقمي يمكن للشبكة العصبية فهمه باستخدام تقنيات مثل Word Embeddings (مثل Word2Vec أو FastText) لتحقيق ذلك.

    وتتوفر مكتبة Python NLTK لإزالة الأحرف غير المهمة وتحويل الحروف إلى أحرف صغيرة وإزالة التكرارات، وأيضًا مكتبة Arabic NLP.

    وستحتاج إلى استخدام مكتبة pandas للتعامل مع البيانات بشكل هيكلي.

    لتحويل النصوص إلى تمثيل رقمي باستخدام Embeddings، استخدم إما Keras أو TensorFlow، وتلك المكتبتين تعملان بشكل متكامل مع بعضهما البعض، حيث أن Keras تعتبر واجهة عالية المستوى لبناء الشبكات العصبية وتعتمد على TensorFlow كمحرك تنفيذ أساسي.

    بالنسبة لتدريب نماذج Word Embeddings، يتوفر مكتبة Gensim أو FastText. كلاهما يوفر وسائل فعالة لتدريب Embeddings للكلمات، حيث أن Gensim متخصصة في تدريب Word Embeddings وتوفير واجهات لعمليات مثل Word2Vec، في حين أن FastText تتيح تمثيل الكلمات بطريقة تأخذ في اعتبارها الهيكل الداخلي للكلمة نفسها.

    بالإضافة إلى استخدام مكتبات أخرى مثل scikit-learn للمساعدة في تقييم النموذج باستخدام مقاييس مثل الدقة والاستدلال الدائري.

    و hyperopt أو optuna لضبط الهايبرباراميترز.

    بعد تدريب النموذج، يمكنك استخدامه لتصنيف النصوص الجديدة باستخدام الوظيفة predict المتاحة في مكتبات الشبكات العصبية.

    والأمر مشابه لما جاء بالمقال هنا.

  3. بتاريخ On 25‏/1‏/2024 at 19:27 قال Sahar Kabel:

    السلام عليكم ورحمة الله

    كيف أضع الكلمة المفتاحية في URL

    شكرا لكم

    الأمر يتم برمجيًا، فمثلاً لو أردنا نشر مقالة بموقع نقوم بتعيين الـ slug باللغة الإنجليزية أو العربية ليحتوي على الكلمات المفتاحية لاحظي عنوان المقالة هنا:

    https://academy.hsoub.com/programming/general/أساسيات-عنوان-url-وأنواعه-r1435/

    ويتم حفظ ذلك العنوان في قاعدة البيانات.

    أم أنك تقصدين فعل ذلك من خلال ووردبريس؟

  4. بتاريخ 20 ساعة قال كمال صالح محمد:

    مازال نفس الخطاء استاذ

    عليك القيام بالتالي:

    1. إزالة علامات <?php المتداخلة أي الزائدة في الكود حيث نضعها في بداية كود php فقط ثم نغلق ذلك الجزء من خلال ?>
    2. استخدام PDO::fetchAll() لجلب جميع النتائج دفعة واحدة لتحسين الكفاءة.
    3. استبدال mysql_fetch_assoc() بـ foreach للتنقل عبر الصفوف المسترجعة.
    4. إغلاق الاتصال بنقل سطر connection = null خارج الحلقة لضمان الإغلاق الصحيح.
    5. التعامل مع الأخطاء بإضافة كتلة 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>
    • شكرًا 1
  5. بتاريخ 6 ساعة قال كمال صالح محمد:

    ماهو سبب ضهور الخطاء في الكود التالي:

    <!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>
        <header>
            <div>
                <img src="a.png" alt="نظام العقارات من كمال تجريبي">
            </div>
            <center>
                <div>
                    <button>نقاط البيع</button>
                    <button>أدارة المخزون</button>
                    <button>الإراضي</button>
                    <button>الشيكات</button>
                    <button>الأستاذ العام</button>
                    <button>إدارة النظام</button>
                </div>
            </center>
        </header>
    
        <?php
        $server = 'DESKTOP-PJDLJNR';
        $database = 'Legacy';
        $username = '';
        $password = '';
    
        $connection = new PDO("sqlsrv:Server=$server;Database=$database", $username, $password);
        if (!$connection) {
        die(print_r(sqlsrv_errors(), true));
        }
        $sql_query = 'SELECT * FROM Problemss';
        $statement = $connection->query($sql_query);
        ?>
    
        <table border="1" width="100%">
            <tr>
                <th>تم</th>
                <th>الحلول</th>
                <th>المشكلة</th>
                <th>م</th>
                <th>الرقم</th>
            </tr>
    
            
    
            <?php
            while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
            print_r($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>
            }
            $connection->close();
            ?>
        </table>
    </body>
    </html>

    الرجاء اجابة الحل   للضروووورة 

    ما هي رسالة الخطأ التي تظهر لك أرجو توضيحها؟

    • أعجبني 2
  6. بتاريخ 17 ساعة قال كمال صالح محمد:

    كيف استدعي البيانات من sql server

    أنت لم تذكر ما هي اللغة التي تريد تنفيذ الأمر بها، على أي حال سأستخدم PHP للتواصل مع SQL Server.

    أولاً تأكد من تثبيت الامتداد php_sqlsrv أو php_pdo_sqlsrv  للتعامل مع اتصالات SQL Server من PHP.

    ثم عليك الاتصال بقاعدة البيانات، وبالطبع استبدل بيانات قاعدة البيانات في الكود التالي للإتصال:

    <?php
    $server = 'اسم_الخادم';
    $database = 'اسم_قاعدة_البيانات';
    $username = 'اسم_المستخدم';
    $password = 'كلمة_المرور';
    
    $connection = new PDO("sqlsrv:Server=$server;Database=$database", $username, $password);
    if (!$connection) {
        die(print_r(sqlsrv_errors(), true));
    }
    ?>

    ثم كتابة الاستعلام SQL وتنفيذه

    <?php
    $sql_query = 'SELECT * FROM اسم_الجدول';
    $statement = $connection->query($sql_query);
    ?>

    بعد ذلك جلب البيانات:

    <?php
    while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
        print_r($row);
    }
    ?>

    ثم إغلاق الاتصال

    <?php
    $connection = null; // أو يمكنك استخدام $connection->close();
    ?>

     

    • أعجبني 2
  7. بتاريخ On 27‏/12‏/2023 at 13:37 قال رضوان حبيب:

    السلام عليكم

    ما هو الفرق بين الطريقتين project pages و user or organization pages

    هل الفرق فقط في صيغة رابط الموقع ام يوجد هناك فروقات اخرى

    شكرا لكم

     

    1- بخصوص Project Pages

    • يتم إنشاء Project Pages على مستوى المشروع (repository) الفردي، وكل مشروع يمكن أن يحتوي على صفحة ويب خاصة به.
    • عند استخدام Project Pages، يكون الرابط للموقع عبارة عن: https://username.github.io/repositoryname.
    • حيث أن username هو اسم المستخدم الخاص بك على GitHub، وrepositoryname هو اسم المستودع الذي تود نشره على github pages.
    • تستطيع استخدام Project Pages لنشر وثائق المشروع أو أي محتوى آخر مرتبط بالمشروع.

    2- أما User or Organization Pages

    • تُنشيء User or Organization Pages على مستوى المستخدم أو المنظمة بأكملها، وباستطاعتك إنشاء صفحة رئيسية لحساب المستخدم أو المنظمة.
    • ويكون الرابط للموقع عبارة عن: https://username.github.io p حيث تقوم بإنشاء المستودع باسم اسم المستخدم الخاص بك أو https://organizationname.github.io وهنا تقوم بإنشاء المستودع باسم المنظمة.
    • ذلك النوع من الصفحات نستخدمه لعرض معلومات عن المستخدم أو المنظمة أو أي محتوى ذي صلة.

    أي باختصار وبشكل بسيط:

    • في حال ترغب في إنشاء موقع ويب لمشروعك الخاص، مثل موقع ويب لتطبيقك أو موقعك الإلكتروني، استخدم project pages.
    • أما في حال ترغب في إنشاء موقع ويب شخصي أو موقع ويب لموقع منظمة تنتمي إليها، مثل موقع ويب للشركة التي تعمل بها، استخدم user or organization pages.

    ستجد تفصيل هنا:

    https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages

  8. بتاريخ الآن قال احمد قابل هاشم ألصميدعي:

    كيف اقوم بالاتصال بقاعدة البيانات من خلال الملف populateddb.js 

    ذلك موضح في المقال حيث ستجد عنوان الاتصال بقاعدة بيانات MongoDB وأسفله التالي:

    // استيراد وحدة‫ mongoose
    const mongoose = require("mongoose");
    
    // اضبط‫ `strictQuery: false` للاشتراك العام في الترشيح وفق الخاصيات غير المُدرَجة في المخطط
    // لأن هذا الخيار ‫يزيل تحذيرات Mongoose 7 الأولية.
    // اطّلع على‫ https://mongoosejs.com/docs/migrating_to_6.html#strictquery-is-removed-and-replaced-by-strict
    mongoose.set("strictQuery", false);
    
    // ‫حدّد عنوان URL لقاعدة البيانات للاتصال به
    const mongoDB = "mongodb://127.0.0.1/my_database";
    
    // انتظر حتى الاتصال بقاعدة البيانات، مع تسجيل خطأ إذا كانت هناك مشكلة
    main().catch((err) => console.log(err));
    async function main() {
      await mongoose.connect(mongoDB);
    }

     

  9. بتاريخ منذ ساعة مضت قال Toq Toq:

    طيب ال flowchart او الخوارزمية

    للبرمجة الديناميكية 

    خوارزمية البرمجة الديناميكية تتبع نمطاً مشابهاً في تصميمها، ويتم الأمر كالتالي:

    1. تحديد الهدف، مثل حل مسألة معقدة عن طريق تقسيمها إلى مسائل فرعية أبسط وحل كل مسألة فرعية مرة واحدة فقط.
    2. تقسيم المشكلة الكبيرة إلى مجموعة من المشاكل الفرعية الأصغر، وذلك بحيث يكون لديك تفاعلات تكرارية يمكن حفظ نتائجها.
    3. حددي الحالات الفرعية والفترات الفرعية التي يمكن تقسيم المشكلة إليها.
    4. حددي العلاقات التكرارية بين الفترات الفرعية وكيفية استفادتها من النتائج المحفوظة.
    5. قرّري كيفية تخزين النتائج المؤقتة بحيث يمكن إعادة استخدامها لتجنب حسابها مرارًا وتكرارًا.
    6. تحديد الحالة الأساسية أو الحالة الأولية التي تساعد في إيجاد الحل للمشكلة.
    7. استخدام النتائج المؤقتة المحفوظة لبناء الحل النهائي للمشكلة الكبيرة.
    8. تقييم التعقيد الزمني والمكاني للخوارزمية لضمان أدائها الجيد.
    9. في بعض الحالات، من الممكن تحسين الأداء عن طريق تحسين الذاكرة المستخدمة أو تحسين الخوارزمية نفسها.
    10. وفي النهاية نرسم flowchart أو خوارزمية توضح بشكل واضح تسلسل الخطوات والقرارات.

    وكمثال: لنفترض أن لدينا مشكلة حساب سلسلة فيبوناتشي بطريقة ديناميكية.

    الخوارزمية ستبدو كالتالي:

    • تحديد الهدف: حساب العدد في سلسلة فيبوناتشي بطريقة ديناميكية.
    • تقسيم المشكلة: تقسيم المشكلة إلى حالات فرعية: حساب العدد في السلسلة للفهرس n.
    • تحديد الحالات الفرعية: الحالة الفرعية هي حساب العدد في الفهرس n.
    • العلاقة التكرارية: F(n) = F(n-1) + F(n-2)
    • حفظ النتائج المؤقتة: استخدام مصفوفة لحفظ النتائج المؤقتة.
    • تحديد الحالة الأساسية: حالة أساسية: F(0) = 0, F(1) = 1
    • بناء الحل النهائي: استخدام العلاقة التكرارية لحساب F(n) باستخدام F(n-1) و F(n-2).
    • تحليل التعقيد الزمني والمكاني: تعقيد زمني: O(n) وتعقيد مكاني: O(n)
    • تحسين الأداء: بتحسين استخدام الذاكرة أو استخدام تقنيات محسنة.
    • رسم Flowchart: رسم خريطة تدفق توضح الخطوات المذكورة أعلاه بشكل مبسط وواضح.

     

  10. بتاريخ 1 ساعة قال Toq Toq:

    ما هو التعقيد الزمني والمكاني لخوارزمية البرمجة الديناميكية 

    لو سمحتم عندي بحث واحتاجه ضروري

    خوارزمية البرمجة الديناميكية هي نهج في حل المشكلات يقوم على تقسيم المشكلة إلى مجموعة من الفترات الفرعية الأصغر، ويتم حلها بشكل تدريجي، وتُحظ النتائج المؤقتة لحل هذه الفترات الفرعية، ويتم إعادة استخدامها لتجنب حساب النتائج نفسها مرارًا وتكرارًا، مما يقلل من التكرار ويساهم في تحسين الأداء.

    ونستطيع تقسيم خوارزميات البرمجة الديناميكية إلى نوعين رئيسيين:

    1- خوارزميات البرمجة الديناميكية المتسلسلة (Serial Dynamic Programming)

    وتقوم تلك الخوارزميات بحل المسألة عن طريق حل جميع المسائل الفرعية المتداخلة، واحدة تلو الأخرى، والتعقيد الزمني لها هو O(n^m)، حيث n هو حجم المسألة الأصلية، وm هو عدد المتغيرات في المسألة.

    2- خوارزميات البرمجة الديناميكية الموازي (Parallel Dynamic Programming)

    تعمل على حل المسائل الفرعية المتداخلة بشكل متزامن، والتعقيد الزمني هو O(n^log(n)).

    التعقيد الزمني (Time Complexity)

    الأمر يعتمد على الكود البرمجي الذي تم تنفيذه. 

    التحليل الزمني للخوارزمية:

    • يعتمد على العمق الزمني لكل خطوة في الخوارزمية.
    • يتم تحليل الخوارزمية بالنسبة لحجم المدخلات.
    • في البرمجة الديناميكية، يعتمد التحليل الزمني على عدد الفترات الفرعية وعلى حجم المدخلات في كل فترة فرعية.

    تعقيد زمني متوسط:

    أحيانًا تكون الخوارزمية تعقيد زمني أمامي (exponential) بالنسبة لبعض المدخلات، ولكن بفضل الحفظ الذكي للنتائج الفرعية، يكون التعقيد في بعض الحالات أفضل من الحلول الأخرى.

    التعقيد المكاني (Space Complexity):

     

    التعقيد المكاني لخوارزمية البرمجة الديناميكية يعتمد على حجم الجدول الذي يتم استخدامه لتخزين حلول المسائل الفرعية.

    وعامًة التعقيد المكاني لخوارزمية البرمجة الديناميكية هو O(n^m)، حيث n هو حجم المسألة الأصلية، وm هو عدد المتغيرات في المسألة.

    1- استهلاك الذاكرة:

    • يعتمد على كمية الذاكرة التي تستخدمها الخوارزمية.
    • تُحفظ نتائج الفترات الفرعية في جداول أو مصفوفات، وتستخدم لحساب النتيجة النهائية، وذلك قد يتطلب استهلاك ذاكرة إضافي.

    2- التحليل المكاني للهياكل البيانية:

    قد يتطلب الاستفادة من البرمجة الديناميكية تخزين هياكل بيانات إضافية مثل الجداول أو المصفوفات لحفظ النتائج المؤقتة.

    أمثلة:

    1- سلسلة فيبوناتشي باستخدام البرمجة الديناميكية:

    • التعقيد الزمني: O(n)
    • التعقيد المكاني: O(n)

    2- مسألة العد الجزئي:

    • التعقيد الزمني: O(nk)
    • التعقيد المكاني: O(nk)
  11. بتاريخ On 3‏/12‏/2023 at 19:42 قال Mohammed Alathwari:

    شكرا أخي ولكن لماذ طلب فيسبوك أن يكون رابط التوجيه يبدأ بــ https وانا استخدم خادم محلي ؟

    الأمر راجع لأسباب أمنية، حيث أن الاتصالات التي تتم عبر https تكون مشفرة، مما يحمي البيانات من التعرض للاختراق أو التلف.

    وحتى لو كنت تستخدم خادم محلي، فإن فيسبوك ما زالت تتطلب منك استخدام https. وذلك لأن فيسبوك لا تريد أن تتعرض بيانات المستخدمين للخطر، حتى لو كانت البيانات تتم بين تطبيقك وفيسبوك فقط.

    وعندما تستخدم فيسبوك لتسجيل الدخول عبر Socialite في Laravel، تحتاج إلى توفير عنوان URL صحيح لـ "توجيه التوجيه" (redirect URL)، وبالطبع يكون ذلك العنوان هو عنوان URL الفعلي لتطبيقك.

    مثل http://localhost:8000 أو http://127.0.0.1:8000. ومعظم الشبكات الاجتماعية، بما في ذلك فيسبوك، تتوقع أن يكون عنوان URL يبدأ بـ "https" عند التوجيه.

    ولحل المشكلة عليك إما استخدام خادم محلي يدعم https عن طريق تثبيت شهادة SSL على خادمك المحلي.

    أو الإعتماد على بروكسي (وكيل) https، والوكيل هو برنامج يعيد توجيه الاتصالات من http إلى https، مثل ngrok أو Localtunnel.

    وإليك الطريقة:

    قم بإضافة معلومات التطبيق الخاصة بك في ملف .env:

    FACEBOOK_CLIENT_ID=your-facebook-client-id
    FACEBOOK_CLIENT_SECRET=your-facebook-client-secret
    FACEBOOK_REDIRECT=http://localhost:8000/callback

    قم بتحديث ملف config/services.php لتكوين Socialite لاستخدام فيسبوك:

    // في مصفوفة 'providers'
    'facebook' => [
        'client_id' => env('FACEBOOK_CLIENT_ID'),
        'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
        'redirect' => env('FACEBOOK_REDIRECT'),
    ],

    في ملف routes/web.php، أضف مسارين للتوجيه:

    use Laravel\Socialite\Facades\Socialite;
    
    // مسار للتوجيه إلى فيسبوك
    Route::get('/redirect', function () {
        return Socialite::driver('facebook')->redirect();
    });
    
    // مسار للتوجيه عند العودة من فيسبوك
    Route::get('/callback', function () {
        $user = Socialite::driver('facebook')->user();
    
        // هنا يمكنك معالجة البيانات المستردة من فيسبوك
        dd($user);
    });

    وتستطيع تشغيل ngrok كالتالي:

    ngrok http 8000

    وستحصل على عنوان URL يشبه https://xxxxxxxx.ngrok.io، وتستطيع استخدام ذلك العنوان في إعدادات تطبيق Facebook على Socialite، وستحتاج إلى تحديث إعدادات التطبيق على موقع Facebook لتشير إلى العنوان URL الجديد الذي يوفره ngrok. 

    قم بتشغيل خادم Laravel:

    php artisan serve

    ثم افتح متصفح الويب وانتقل إلى http://localhost:8000/redirect، وسيتم توجيهك إلى صفحة تسجيل الدخول عبر فيسبوك، وبعد تسجيل الدخول بنجاح، ستعود إلى http://localhost:8000/callback مع البيانات المستردة من فيسبوك. 

  12. بتاريخ On 18‏/11‏/2023 at 13:13 قال رضوان حبيب:

    السلام عليكم

    لم ينشئ ملف عندما ضغطت على الامر git init 

    الرسالة لديك تخبرك أنه يوجد مستودع بالفعل في ذلك الموجود وتم إعادة إنشاؤه، حيث يتم إنشاء مجلد .git بشكل مخفي، عليك الضغط على التالي لإظهاره:

    Snag_73c38f.thumb.png.ca3c27982a2474f04352a3571025c4a8.png

  13. بتاريخ On 15‏/10‏/2023 at 15:35 قال Qor Qar:

    جربت ف دفتر جوبيتر 

    لما اكتب import اى حاجة مفيش

    جربت ف ارماكس  ومنفعش

    انا بجرب ع موبيل اندوريد

    حاول استخدام برنامج يوفر بيئة تطوير جيدة جيد مثل Pydroid 3 أو QPython ثم عليك أولاً تثبيت الحزمة التي تريد استخدامها ثم استيرادها، فمثلاً لو أردت استخدام مكتبة python-docx عليك تثبيت المكتبة كالتالي:

    pip install python-docx

    بعد ذلك استيرادها كالتالي:

    from docx import Document

    وتستطيع البحث على اليوتيوب عن كيفية استخدام jupyter.

     

  14. بتاريخ 16 ساعة قال Tarek Salama2:

    لو سمحت عاوز اانشأ برامج بلغة بايثون

    السؤال غير واضح، لكن علي أي حال عليك أولاً تعلم أساسيات بايثون وقد تم ذكر مصادر التعلم هنا:

    وبعد تعلم الأساسيات وإنشاء نماذج بسيطة، عليك تحديد ما الذي تري فعله بالضبط من خلال بايثون، هل تريد إنشاء برامج وواجهة مستخدم لها؟ يمكنك ذلك من خلال استخدام مكتبة TKinter وهنا شرح لها:

     

  15. بتاريخ On 13‏/10‏/2023 at 14:29 قال Qor Qar:

    كيف يقرا بايثون صورة او pdf منها

    فيه الصفحة نص و شكل هندسى

    مطبوع وليس صورة

    Pdf ممسوح ضوئيا

    الأمر معقد بعض الشيء ويتطلب خبرة ببايثون والمكتبات الخاصة بها، أولاً عليك استخراج الصور من ملف pdf من خلال مكتبة pdf2image بعد ذلك عليك استخدام OpenCV من أجل محاولة قراءة الأشكال في الصورة ثم استخدام مكتبة مثل pytesseract لتحويل النص في الصورة إلى نص قابل للتعديل ثم استخدام مكتبة  python-docx لإضافة الأشكال والنص إلى مستند.

    وبالطبع هناك طرق مختلفة، ومن الممكن الاستفادة من الذكاء الاصطناعي في قراءة تلك الملفات عبر API، يمكنك تجربة ذلك.

    وسيفيدك قراءة التالي:

     

  16. بتاريخ 16 دقائق مضت قال Eng Mohamed Eid:

    ممكن حل التمرين 1

    لحل تمرين 1 عليك بإتباع الخطوات التالية:

    1- إعداد مشروع Vue.js جديد، أو استخدم مشروع Vue.js موجود بالفعل.

    2- في ملف التطبيق الرئيسي، قم بتعريف المتغيرات التالية في كائن الـ "data":

    • operand1 و operand2: تستخدم لتخزين قيمة المعاملين.
    • operation: تستخدم لتخزين العملية الحسابية المحددة.
    • result: تستخدم لتخزين نتيجة العملية الحسابية.

    كمثال:

    data() {
      return {
        operand1: 0,
        operand2: 0,
        operation: 'addition',
        result: 0
      };
    }

    3- عليك بإنشاء واجهة المستخدم الخاصة بالتطبيق، حسب شكل التمرين أو الذي تريده أنت، وتستطيع استخدام عنصر <select> لاختيار العملية الحسابية وعناصر <input> لإدخال قيم المعاملين وعنصر <button> لتنفيذ العملية الحسابية.

    4- قم بتعريف أسلوب للتحقق من قسمة المعاملين على الصفر وعرض رسالة مناسبة للمستخدم، وبإمكانك الإعتماد على التوجيهات الشرطية مثل v-if و v-show في Vue.js لإظهار أو إخفاء رسالة الخطأ.

    5- تعريف الوظيفة التي تُطبق العملية الحسابية المحددة على المعاملين وتحسب النتيجة، وتتوفر التوجيهات الحسابية في Vue.js للقيام بذلك، مثلاً المثال، استخدم الكود التالي لتحقيق الجمع:

    methods: {
      calculate() {
        if (this.operation === 'addition') {
          this.result = this.operand1 + this.operand2;
        } else if (this.operation === 'subtraction') {
          this.result = this.operand1 - this.operand2;
        } else if (this.operation === 'multiplication') {
          this.result = this.operand1 * this.operand2;
        } else if (this.operation === 'division') {
          if (this.operand2 === 0) {
            this.result = 'Error: Division by zero!';
          } else {
            this.result = this.operand1 / this.operand2;
          }
        }
      }
    }

    حيث قمت بتعريف دالة calculate التي تقوم بفحص العملية الحسابية المحددة وتقوم بتطبيقها على المعاملين للحصول على النتيجة. في حالة القسمة،

    وقمت بإضافة فحص إضافي للتأكد من أن المعامل الثاني ليس صفرًا، وإلا فإنه سيتم عرض رسالة خطأ مناسبة للمستخدم.

    6- توصيل العناصر في واجهة المستخدم ببيانات التطبيق من خلال استخدام التوجيهات اللازمة في Vue.js.

    وتستطيع استخدام التوجيهة v-model لربط قيم المعاملين بحقول الإدخال والتوجيهة v-on:change للتحقق من تغيير العملية الحسابية.

    كمثال:

    <div>
      <input type="number" v-model="operand1">
      <select v-model="operation">
        <option value="addition">+</option>
        <option value="subtraction">-</option>
        <option value="multiplication">*</option>
        <option value="division">/</option>
      </select>
      <input type="number" v-model="operand2">
      <button @click="calculate">Calculate</button>
      <p>Result: {{ result }}</p>
    </div>

    قمت بربط حقل إدخال operand1 بالمتغير operand1 في البيانات، وكذلك حقل إدخال operand2 بالمتغير operand2.

    وأيضًا بربط عنصر select بالمتغير operation. وعند النقر على الزر "Calculate"، ستتم استدعاء وظيفة calculate لتنفيذ العملية الحسابية وحساب النتيجة، والتي ستظهر في العنصر <p>.

  17. بتاريخ 11 ساعة قال Iham Hatem:

    هنالك صفحة على الويب تبدأ من اليسار اريد تغييرها لتبدأ من اليمين باستخدام إضافة stylus ولم تنفع body{direction: rtl;} 

    تم الإجابة على سؤالك هنا عزيزي:

     

  18. بتاريخ 11 ساعة قال مرح الاسطل:

    مسا الخير

    بدي حل السؤال هادا ضرورياكتب برنامج يطلب من المستخدم ادخال مصفوفة ثنائية الابعاد من الاعداد الصحيحة ويعيد رقم الصف الذي يحتوي ع اكبر مجموع C#

     

    مرحبًا @مرح الاسطل

    تم الإجابة على سؤالك هنا أرجو متابعته:

     

  19. بتاريخ 10 ساعة قال صلاح قداري2:

    هل من السبيل للوصول لأمر يقوم بإنشاء متحكم مع العارض بلغات متعددة... مع استقبال API?

    نعم، باستطاعتك إنشاء متحكم مع العارض بلغات متعددة مع استقبال API في إطار العمل Laravel 5 باستخدام خاصية Localization.

    أولاً، يجب تفعيل Localization بواسطة تغيير قيمة locale في ملف التكوين config/app.php. يمكن تعيين locale إلى اللغة الافتراضية التي تريد استخدامها.

    ثم، يمكن إنشاء عارض لكل لغة تريد دعمها وتخزينه في المجلد resources/views، مثلاً resources/views/arabic و resources/views/english.

    من ثم، يمكن إنشاء متحكم وربطه بالعارض للغة المطلوبة باستخدام الدالة view() في الدالة المناسبة في المتحكم.

    بعد ذلك، يمكن استخدام API لاستقبال البيانات وإرجاعها باللغة المطلوبة باستخدام الدالة response() في المتحكم.

    على سبيل المثال، يمكن كتابة الكود التالي في المتحكم:

    public function show($id)
    {
        $post = Post::findOrFail($id);
        if (request()->wantsJson()) {
            return response()->json([
                'title' => $post->title,
                'body' => $post->body,
            ]);
        } else {
            return view('post.show')->with(['post' => $post]);
        }
    }

    هذا الكود يقوم بعرض مقال معين باستخدام العارض post.show إذا تم طلب عرض HTML، ويقوم بإرجاع JSON إذا تم طلب عرض API.

    يمكن أيضاً استخدام الخاصية Localization في روابط API باستخدام الدالة url() وإضافة قيمة locale إلى الرابط، مثلاً:

    $url = url('api/post/' . $id, ['locale' => 'ar']);

    هذا الرابط يحتوي على قيمة locale التي تدل على اللغة العربية.

×
×
  • أضف...