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

Mustafa Suleiman

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

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

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

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

    305

أجوبة بواسطة Mustafa Suleiman

  1. بتاريخ منذ ساعة مضت قال احمد قايد:

     

    هذا ما يظهر لي عند محاولتي للدخول على الدعم 

    اما الدورات احيانا لا يفتح معي 

    أرجو منك استخدام متصفح آخر لم تقم بتسجيل الدخول منه وتفقد هل تتمكن من تفقد الدورات؟

    وفي حال كانت المشكلة من المتصفح حاول إعادة تعيين التطبيق من خلال التوجه للتطبيقات من إعدادات الهاتف ثم البحث عن تطبيق جوجل كروم ثم عرض بيانات التخزين للتطبيق وحذف الـ Data أو البيانات.

    في حال استمرت المشكلة حاول إعادة تشغيل الراوتر الخاص بك ولكن اتركه لمدة 10 دقائق ثم أعد التشغيل مرة أخرى لتغيير الـ IP العام.

    • أعجبني 1
  2. بتاريخ 3 ساعة قال Kiro Nagy:

    هل فيه طرق أخري لاستخلاص التقنيات المعمول بها ألموقع 

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

    أيضًا يوجد إضافة أخرى استخدمها باسم whatruns  تخبرك بإصدارات اللغات والسيرفرات المستخدمة بالإضافة إلى مميزات wappalyzer لكن ليس بنفس قوة اكتشافات للمكتبات والإطارات المستخدمة، استخدم كلاهما وستحصل على معلومات جيدة.

    • أعجبني 1
  3. الأسئلة الإختبارية لا يتم الإجابة عليها بشكل مباشر، عليك رسم  مخطط نشاط وهو مشابه لخرائط التدفق flow charts،  لنظام ترقية ونقل الموظفين ويمكنك الرسم من خلال الأدوات التالية:

    • Microsoft Visio
    • Lucidchart
    • Draw.io

    مع الأخذ في الإعتبار النقاط التالية:

    بداية العام:

    • يقوم المدير بتفعيل نظام الترقية.
    • يُخطر النظام الموظف بإدخال الأهداف.

    وضع الأهداف:

    • يقوم الموظف بإدخال أهدافه للعام.
    • يقوم المدير بإدخال التوقعات للموظف.

    مراجعة الأهداف:

    • يقوم المدير بمراجعة الأهداف.
    • إذا كانت الأهداف مرضية، يقوم المدير بتأكيدها.
    • إذا كانت الأهداف غير مرضية، يقوم المدير بإبلاغ الموظف بتحديثها.

    إدخال الإنجازات:

    • يقوم الموظف بإدخال إنجازاته في العام الحالي.

    كتابة المراجعة:

    • يقوم المدير بكتابة مراجعة للموظف.

    تقييم الأداء:

    • يدخل المدير نسبة تقييم الأداء (0-100%).

    التحقق من أهلية الترقية:

    • إذا كان التقييم >= 80% ولم يتلق الموظف ترقية في السنوات الثلاث الماضية، فيمكنه التقدم للترقية.
    • إذا كان التقييم = 100% وكان الموظف قد تلقى ترقية في السنوات الثلاث الماضية، فيمكنه التقدم للترقية.

    تقديم طلب الترقية (اختياري):

    • إذا اختار الموظف التقدم للترقية، يقوم بإرسال طلب الترقية إلى المدير.

    التحقق من توصية الفصل:

    • إذا كان التقييم < 50%، يوصي المدير بالفصل.

    قرار المدير العام:

    • يوافق المدير العام أو يرفض طلب الترقية.

    إبلاغ الموظف بالقرار:

    • يتم إبلاغ الموظف بالقرار.

    الممرات البديلة:

    • انسحاب الموظف من الطلب، حيث يمكن للموظف سحب طلب الترقية في أي وقت قبل موافقة المدير العام.
    • تستمر حلقة المراجعة حتى تصبح الأهداف مرضية.
  4. ما المقصود بصفحة ويب؟ فكلاهما موقع ويب، ونعم تستطيع التربح منها من خلال عرض منتج وتسويقه أو تقديم خدمة من خلال تلك الصفحة (الموقع) سواء كانت تلك الخدمة مدفوعة أو مجانية ولكن مع عرض إعلانات.

     

  5. أرجو طرح السؤال أسفل فيديو الدورة لمساعدتك بشكل أفضل. 

    عليك أولاً تثبيت bootstrap من خلال npm.

    وعندم استخدام Laravel Mix، يتم تحزيم Bootstrap عن طريق ملفات SCSS لاحظ التالي:

    mix.js('resources/js/app.js', 'public/js')
        .sass('resources/sass/app.scss', 'public/css')
        .browserSync('myprojects.test');

    لاحظ تحزيم ملف app.scss، والذي نستورد به ملفات bootstrap.

    وفي vite أنت بحاجة إلى تكوين الإعدادات المناسبة لتحزيم ملف app.scss، لذلك سنقوم بالتالي، نتوجه إلى ملف vite.config.js وكتابة التالي:

    import { defineConfig } from "vite";
    import laravel from "laravel-vite-plugin";
    import path from 'path';
    
    export default defineConfig({
        plugins: [
            laravel({
                input: ["resources/sass/app.scss", "resources/js/app.js"],
                refresh: true,
            }),
        ],
        resolve: {
            alias: {
                "~bootstrap": path.resolve(__dirname, "node_modules/bootstrap"),
            },
        },
    });

    لاحظ أنني أضفت كائن resolve لكي نقوم بتعريف مسار مجلد bootstrap أي نقوم بتعريف ~bootstrap عندم نقوم بكتابتها في ملف app.scss بدلاً من كتابة المسار الكامل وقمنا بتعريف المسار في vite.config.js.

    واستردت أيضًا وحدة path في السطر import path from 'path' وهي خاصة بـ Node.js من أجل تعريف المسار بواسطة path.resolve.

    ونتأكد من استيراد بوتستراب في  app.scss كالتالي:

    @import "~bootstrap/scss/bootstrap";

    بعد ذلك نتوجه للملف الرئيسي لديك وهو layout.blade.php  أو app.blade أيًا كان، ونقوم بتضمين ملفات التنسيقات وملفات جافاسكريبت في عنصر head كالتالي:

        @vite(['resources/sass/app.scss', 'resources/js/app.js'])

    ونحذف أي استيرادات خاصة ببوتستراب وpopper من خلال CDN في نفس الملف مثل الكود التالي:

    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js" integrity="sha384-BBtl+eGJRgqQAUMxJ7pMwbEyER4l1g+O15P+16Ep7Q9Q+zqX6gSbd85u4mG4QzX+" crossorigin="anonymous"></script>

    أيضًا حذف أي استيراد لملفات تنسيقات لا نريده في ذلك الملف مثل السطر التالي نقوم بحذفه:

        <link rel="stylesheet" href="../../css/app.css">

    بعد ذلك نستورد ملفات جافاسكريبت الخاصة ببوتستراب، وأين نفعل ذلك؟ إما في ملف app.js في مجلد js أو ملف bootstrap.js في نفس المجلد.

    وسأقوم بالاستيراد في ملف bootstrap، حيث سأقوم باستيراد ملف bootstrap.bundle.js والذي يتضمن كود جافاسكريبت الخاص ببوتستراب وأيضًا مكتبة popper، بكتابة السطر التالي:

    import 'bootstrap/dist/js/bootstrap.bundle';

    ولا تنسى تشغيل أمر npm run dev.

    بتاريخ 39 دقائق مضت قال Programmer Programmers:

    ولدي سؤال آخر هل يمكن استيراد ملفات CSS الخاصة ببوتستراب بدلاً من SASS؟

    بالطبع تستطيع، في ملف app.css في مجلد css لديك في المشروع، قم بإضافة التالي:

    @import "bootstrap/dist/css/bootstrap.min.css";

    بعد ذلك يجب تحديد اسم المجلد والملف الذي تريد تحزيمه في vite لذلك سنقوم بتعديل المسار في vite.config.js ليصبح:

    import { defineConfig } from "vite";
    import laravel from "laravel-vite-plugin";
    
    export default defineConfig({
        plugins: [
            laravel({
                input: ["resources/css/app.css", "resources/js/app.js"],
                refresh: true,
            }),
        ]
    });

    ثم في الملف الرئيسي في مشروعك ضع:

        @vite(['resources/css/app.css', 'resources/js/app.js'])

    والفكرة من استخدام SASS بدلاً من CSS هو أنك تستطيع التعديل على تنسيقات بوتستراب بتنسيقات خاصة بك أي التعديل على كود المكتبة.

  6. بتاريخ 2 دقائق مضت قال Najmat Alfada:

    مرحبا ، اريد ان اسأل هل من القانوني أن أبيع كتاب pdf للتعلم لغة معينة و أنا من قام بكتابته و تصميمه رغم عدم امتلاكي لشهادة ؟

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

    أي الفكرة من شراء الكتاب هو أن يقدم إفادة للقاريء وليس مجرد حبر على ورق، سواء نقل خبرات أو شرح تعلم أمرًا ما بشكل مفصل وسهل، أو تجميع لخبرات أشخاص آخرين في كتاب أو معلومات في مكانِ واحد.

    • شكرًا 1
  7. تفقد إصدار بايثون الذي تستخدمه، ثم استخدام إصدار Pillow متوافق معه وستجد قائمة بالتوافقية هنا:

    وتستطيع تثبيت إصدار معين من خلال الأمر التالي أو تعديل ملف requirements.txt:

    pip install pillow==8.0.0

    أو يمكنك خفض إصدار بايثون downgrade في الاستضافة.

    وإن استمرت المشكلة حاول حل الأمر من خلال التالي:

    pip install --upgrade pip setuptools wheel

    ثم حاول التثبيت مجددًا.

    في حال استمرت المشكلة حاول تنفيذ التالي:

    sudo apt-get install python3-dev python3-pip

    وإن استمرت حاول التالي:

    pip install --only-binary Pillow Pillow

     

  8. الحزمة هي package java.awt.geom وتحتوي على class Point2D، وتلك هي الفئة الأساسية لجميع الكائنات التي تخزن إحداثيات ثنائية الأبعاد.

    وتوفر الفئة مجموعة من الأساليب لمعالجة نقاط ثنائية الأبعاد، مثل حساب المسافة بين نقطتين وتحديد ما إذا كانت النقطة داخل شكل هندسي.

    باستطاعتك أيضًا استخدام الفئة javafx.geometry.Point2D لتمثيل نقاط ثنائية الأبعاد، وتلك الفئة متشابهة مع الفئة java.awt.geom.Point2D، ولكنها توفر بعض الميزات الإضافية، مثل دعم تنسيقات النقاط المعقدة.

    وإليك مثال على استعمال الفئة java.awt.geom.Point2D:

    import java.awt.geom.Point2D;
    
    public class Point2DExample {
    
        public static void main(String[] args) {
            Point2D point1 = new Point2D.Double(10, 20);
            Point2D point2 = new Point2D.Double(30, 40);
    
            System.out.println("Distance between points: " + point1.distance(point2));
    
            if (point1.contains(point2)) {
                System.out.println("Point 2 is inside point 1");
            } else {
                System.out.println("Point 2 is not inside point 1");
            }
        }
    }
  9. أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل.

    ويجب تفعيل مترجم بايثون في منفذ الأوامر وذلك يعرف باسم REPL لأي لغة برمجة،  من أجل التمكن من ترجمة الأكواد التي ستكتبيها بعد ذلك في منفذ الأوامر (ألشاشة السوداء)، فحاليًا دالة input() لا معنى لها أو حتى أي كود بايثون، ولتفعيل مترجم بايثون نكتب التالي في منفذ الأوامر:

    python
    
    أو 
    
    py

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

  10. من أجل تقليل التكلفة، يمكنك تعلم لغة جافاسكريبت، واستخدام الإطارات المختلفة الخاصة بها، فالسطح المكتب يوجد إطار electrone.js الذي يمكنك من تطوير تطبيقات لسطح المكتب.

    وللهواتف يوجد إطار React Native الذي يمكنك من إنشاء تطبيق لمنصة أندرويد وiOS.

    وبالطبع للواجهة الخلفية Back-End والتعامل مع قواعد البيانات ستستخدم Node.js.

    أيضًا إذا أردت إنشاء موقع على الويب تستطيع ذلك من خلال React.js.

    وهناك خيار آخر وهو تعلم لغة C#، ثم استخدام إطار .NET واستخدامه لإنشاء برنامج سطح المكتب وتطبيقات الهاتف.

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

    الشهادة لن تفيدك بشيء سوى دليل على أنك أتممت الدورة بالفعل وليس مجرد مشاهدة فقط واستخدامها في بناء حسابك على مواقع التوظيف مثل LinkedIn، لكن عليك أن تسأل نفسك هل حققت استفادة بالفعل واستوعبت ما تم شرحه؟

    • شكرًا 1
  12. عليك إنشاء بيئة إفتراضية من أجل أن تتمكن من تثبيت الحزم التي تريدها، من خلال لوحة التحكم cPanel  اختر Setup Python App ثم اتبع الخطوات اللازمة والمشروحة هنا:

    بعد ذلك ستجد أمر عليك نسخه ثم تنفيذه في التيرمنال من أجل تفعيل البيئة الإفتراضية وتتمكن من تثبيت الحزم:

     

    new_application_python.thumb.png.c7d18e77883e5589f0e30c20e09d6d0a.png

    ابحث على اليوتيوب عن  Deploy Django Application In CPANEL

  13. بتاريخ الآن قال محمد مسلماني2:

    بنك بايونير مش راضي يقبل السحب من باي بال بحاول الاقي بنوك تانية متاحة اونلاين

    بنك بايونير مش راضي يقبل السحب من باي بال بحاول الاقي بنوك تانية متاحة اونلاين

    عليك استخدام بنك يدعم ذلك في بايونير وهو بنك  Community Federal Savings Bank  وستجد شرح لذلك هنا في تعليق سابق، لكن يجب التنويه أن بايونير بنك إسرائيلي.

    إذا أردت بديل يوجد حاليًا بنك Elevate ابحث على اليوتيوب عن شرح له وستجد.

  14. بتاريخ 21 دقائق مضت قال محمد مسلماني2:

    هو بنك EVOLVE BANK AND TRUST موجود. في اي برنامج؟

    هو بنك مستقل بذاته، ويوجد تطبيق له على الأندرويد، وهو بنك أمريكي، ويقدم خدماته داخل أمريكا، لذلك لن تتمكن من فتح حساب خارج أمريكا.

  15. أرجو طرح السؤال أسفل الدرس في التعليقات لمساعدتك بشكل أفضل، وطرح الأسئلة العامة هنا.

    أولاً هنا num = 1 يتم تعيين قيمة بداية الأرقام إلى 1.

    الكود يعمل على طباعة سلسلة من الأرقام، من خلال حلقة مزدوجة ، مع حلقة خارجية بمتغير i وحلقة داخلية بمتغير j.

    تُستخدم الحلقة الخارجية لتعداد الأرقام من 0 إلى 3 لأن الدالة range تعيد كائن مجال يحتوي على أعداد صحيحة ما بين نقطة النهاية والبداية مع فصلها بمسافة عدديّة، أي 0 إلى 4 يعني الأرقام التالية:

    [0, 1, 2, 3]

     وتُستخدم الحلقة الداخلية لطباعة الأرقام من 0 إلى قيمة i  ونعتمد على دالة range أيضًا.

    أي أن for j in range(0, i+1):: تكرر i+1 مرة لكل صف، والمتغير j يتغير من 0 إلى i.

     

    ثم في print(num, end=' ') يقوم بطباعة الرقم الحالي (num) مع إضافة فراغ بعد الرقم، ومن ثم يزيد قيمة num بواحد.

    و print() تقوم بطباعة سطر جديد بعد اكتمال الصف الحالي.

    وإليك الكود مع تعليقات توضح طريقة عمله:

    num = 1  # تعيين قيمة بداية الأرقام
    
    # الحلقة الخارجية تكرر 4 مرات لإنشاء 4 صفوف
    for i in range(0, 4):
        # الحلقة الداخلية تكرر i+1 مرة لكل صف
        for j in range(0, i+1):
            # طباعة الرقم الحالي ومن ثم زيادة قيمة num بواحد
            print(num, end=' ')
            num += 1
        # طباعة سطر جديد بعد اكتمال الصف الحالي
        print()

     

  16. نكتب في جوجل examples أو demo بجانب اسم المكتبة مثلاً مكتبة Scipy نكتب Scipy exmaples.

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

    وأيضًا بعض المكتبات لديها أمثلة في المستند الرسمي الخاص بها، مثلاً Scikitborn لديها التالي:

    ابحثي عن اسم المكتبة وبجانبها docs أي Scikitborn docs.

  17. continue هو عبارة تستخدم في لغات البرمجة لتخطي باقي الكود في الحلقة (loop) الحالية والانتقال إلى التكرار التالي من الحلقة.

    وإليك مثال لتوضيح الأمر:

    const person = {
      name: 'mahmoud',
      age: 30,
      sayHello: function() {
        console.log('Hello!');
      },
      city: 'New York'
    };
    
    for (const key in person) {
      // تجاوز التكرار إذا كانت القيمة هي وظيفة
      if (typeof person[key] === 'function') {
        continue;
      }
    
      // هنا يتم تنفيذ الشيفرة التي تأتي بعد continue إذا لم تكن القيمة وظيفة
      console.log(key + ': ' + person[key]);
    }

     

  18. تقصد على منصل مستقل أو ما المقصود؟

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

    أما إذا كان خاص بمواقع التوظيف مثل LinkedIn، فعليك كتابة سيرة ذاتية جيدة ثم إرفاقها عند التقدم لتلك الوظائف سواء من خلال البريد المذكور في وصف الوظيفة أو من خلال رفعها وإرسالها من خلال الموقع إن كان ذلك متوفر.

     

  19. باستخدام دالة iloc كالتالي:

    import pandas as pd
    
    # فتح ملف إكسل
    df = pd.read_excel("example.xlsx")
    
    # تحديد الخلية التي تريد نسخها
    cell = df.iloc[1, 2]
    
    # حفظ قيمة الخلية في متغير
    value = cell.item()
    
    # طباعة قيمة الخلية
    print(value)

    وآلية عمل cell = df.iloc[1, 2] هي أنه يقوم بتحديد الخلية الموجودة في الصف الأول والعمود الثالث من DataFrame df.

    وdf.iloc هو مؤشر يُستخدم لتحديد البيانات في DataFrame اعتمادًأ على موقعها العددي، حيث أن 1 يشير إلى الصف الأول و 2 يشير إلى العمود الثالث.

    • أعجبني 1
  20. من الأفضل ذكر المزيد من التفاصيل، هل تقصد بالتدريب على Zoom، أنه يتم حجز الدورة عند التسجيل ويتم إجراء مقابلات زووم بعد ذلك؟ أي مجرد دفع تكلفة الإشتراك ثم يتم إرسال رابط للمحاضرات في أوقات محددة؟

    عامًة ستحتاج إلى برمجة مخصصة يمكنك تعيين أحد المستقلين على منصة مستقل، وستحتاج إلى استخدام  Zoom API من أجل التضمين في ووردبريس، وأيضًا يوجد بعض الإضافات لووردبريس تفقد هل مميزاتها تتوافق مع ما تريده أم لا:

  21. ستحتاج إلى القطع التالية:

    1. مستشعر ,هو الجزء الذي سيقرأ البيانات الموجودة على البطاقة، وستحتاج إلى مستشعر يستخدم تقنية RFID أو NFC.
    2. وحدة التحكم وهي الجزء الذي سيعالج البيانات التي تم قراءتها من المستشعر، وأنت بحاجة إلى وحدة تحكم لديها القدرة على التواصل مع شبكة Wi-Fi أو Ethernet.
    3. ثم كتابة برنامج يدعم تقنية RFID أو NFC، سواء من خلال لغة بايثون أو جافا أو C++.

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

    • أعجبني 1
×
×
  • أضف...