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

هشام رزق الله

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

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

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

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

    31

أجوبة بواسطة هشام رزق الله

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

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

  3. لو كنت تجيد استخدام dropdownlist والتعامل مع قواعد البيانات فلا مشكلة من استعمالها، ولن تحدث مشاكل معك.

    أنصحك أيضا بالإطلاع على التغييرات الجديدة في html5 على التقويم والتاريخ بصفحة عامة مثل Input type date.

     

  4. يمكنك أن تستعمل الطريقتين المذكورتين أعلاه هي عن طريق دوال strcmp و compare أو يمكنك المقارنة بين السلاسل النصية يدويا مثل المثال التالي:

    #include <stdio.h>
    
    int main() {
    	char m[] = "Hichem";
    	char m2[] = "Karim";
    	if (m == m2) {
    		printf("They are the same!\n");
    	} else {
    		printf("No\n");
    	}
    	return 0;
    }

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

  5. يتميز الدريم ويفر والفرونت بيج بالعديد من المميزات التي تميزها عن المحررات العادية مثل نوتباد بلس بلس لأنها محررات تساعد في كتابة الشيفرات البرمجية (كتب بدلا عند العديد من الأسطر البرمجية) أضف إلى أنها من نوع WYSIWYG أي أنك ستتمكن من رؤية الشكل النهائي مباشرة في وقت إنشاءك للصفحة/موقع.

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

    • أعجبني 1
  6. يمكنك الاستمرار في البحث بموقع مستقل، فيوجد العديد من الأشخاص الذين يبحثون عن مصممي ومطوري التطبيقات، أما لو أردت بيع التطبيقات فيمكنك استخدام موقع SellMyApp الذي يساعدك على بيع الشيفرة البرمجية لتطبيقك أو يمكنك استخدام موقع appbusisnessbroker  الذي يعمل منذ أكثر من عشرة سنوات.

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

    • أعجبني 1
  7. تأكد من الشركة الموفرة للسيرفر ففي بعض الأحيان تكون هنالك مشكلة من الشركة، وتأكد أيضا من أنه لا يوجد برنامج معين يمنع ftp مثل جدار ناري أو ما شابه كما أنصحك بالتأكد من خيارات الاستضافة التي اخترتها لربما أوقفت ftp بطريقة ما.

    لا يمكنني أن أحدد المشكلة بالضبط ما لم أرى الخادم بنفسي لكن هذه هي بعض الأسباب.

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

  9. إن Mobile Vision API يوفر لك إطار عمل للبحث عن الأشياء داخل الصور والفيديوهات، فهذا الإطار يحتوي على خوارزميات لكشف ووصف الاشياء المرئية في الصور أو في لقطات الفيديو، وفي الوقت الحالي يحتوي هذا المشروع على كاشفات للوجوه والرموز الشريطية (الباركود) و النصوص والتي يمكنها العمل مجتمعة أو منفصلة.

    للمزيد من المعلومات أنصحك بالإطلاع على التوثيق الرسمي.

  10. يمكنك استخدام دالة fillOval والتي ستُمكنك من رسم شكل بيضوي داخل مستطيل وعندما يكون الطول والعرض مساويين للقطر فإنك ستحصل على دائرة.

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

    public void drawCenteredCircle(Graphics2D g, int x, int y, int r) {
      x = x-(r/2);
      y = y-(r/2);
      g.fillOval(x,y,r,r);
    }

     

    • أعجبني 1
  11. هذا مثال بسيط لإدخال 10 بيانات للطلبة ومن ثم عرضهم بالترتيب:

    #include <iostream>
    using namespace std;
    
    struct student
    {
        char name[50];
        int roll;
        float marks;
    } s[10];
    
    int main()
    {
        cout << "Enter information of students: " << endl;
    
        // storing information
        for(int i = 0; i < 10; ++i)
        {
            s[i].roll = i+1;
            cout << "For roll number" << s[i].roll << "," << endl;
    
            cout << "Enter name: ";
            cin >> s[i].name;
    
            cout << "Enter marks: ";
            cin >> s[i].marks;
    
            cout << endl;
        }
    
        cout << "Displaying Information: " << endl;
    
        // Displaying information
        for(int i = 0; i < 10; ++i)
        {
            cout << "\nRoll number: " << i+1 << endl;
            cout << "Name: " << s[i].name << endl;
            cout << "Marks: " << s[i].marks << endl;
        }
    
        return 0;
    }

    هذا هو المبدأ العام لإنشاء البرنامج حيث ستستخدم هياكل البيانات struct لحفظ واستخدام أسماء الطلبة ويمكنك تغيير عدد الطلبة - والذي هو في حالتنا 10 - إلى العدد الذي تريده.

    لاحظ أننا استخدامنا حلقة التكرار for لكل من الإدخال والعرض.

     

    المصدر

  12. هل غيّرت ملفات أوبن كارت؟ يمتلك أوبن كارد مجلد مؤقت لرفع الملفات، لكن إذا حدثت مشكلة لهذا المجلد كحذفه أو نقله أو تغيير صلاحياته فإن أوبن كارت سيعرض هذه الرسالة عند رفع الملفات.

    لإصلاح هذا المشكل تأكد من صلاحيات المجلدات وتأكد أيضا من المسار الصحيح لمجلد رفع الملفات المؤقتة في ملف إعدادت php.

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

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

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

    نعم يمكنك إنشاء ألعاب مشابهة بإستخدام محركات الألعاب مثل UNITY3D أو CONSTRUCT2 أو غيرها...

  15. لا أستطيع إعطاءك الحل بالضبط لأنني لست على إطلاع بالشيفرة البرمجية التي كتبتها، لكن يمكنك في العادة التخلص من مشاكل إعادة تحديث الصفحة عن طريق كتابة شيفرة برمجية صغيرة بلغة AJAX.

    إليك المثال التالي:

    سنكتب مثلا شيفرة php معينة حيث سيتم تحديث الصفحة بعد تنفيذها:

    // do some check here to determine whether or not to refresh the page.
    echo 'refresh';

    وإليك شيفرة jQuery/Ajax التالية لتنفيذ المطلوب:

    $.ajax({
      url: 'http://example.com/refresh.php',
      success: function(data) {
        if (data == "refresh"){
          window.location.reload(); // This is not jQuery but simple plain ol' JS
        }
      }
    });

     

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

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

    • أعجبني 1
  17. إن استرجاع كلمة مرور قاعدة بيانات mysql لن تكون مشكلة في حالة معرفتك كلمة المرور للمستخدم الجذر في خادومك/حاسوبك، الخطوة الأولى ستكون إيقاف mysql ثم إعادة تشغيله من دون الجداول التي تحفظ كلمات المرور كالتالي:

    mysqld_safe --skip-grant-tables 

    بعد ذلك قم بالإتصال بـ MySQL دون كلمة مرور كالتالي:

    mysql --user=root mysql

    وفي النهاية ضع كلمة مرور جديدة للحساب:

    update user set Password=PASSWORD('new-password') where user='root';
    flush privileges;
    exit;

     

  18. الطريقة سهلة، ضع في خاصية Text النص الذي تريده وفي خاصية LinkArea جزء النص الذي تريد تحويله لرابط، تأخذ هذه الخاصية خيارين، الخيار الأول هو رقم بداية النص ثم عدد الحروف.

    يمكنك فعل ذلك عن طريق الشيفرة البرمجية كالتالي:

    LinkLabel1.LinkArea = New LinkArea(0, 16)

    ثم في حدث LinkClicked استدعي تابع show لفتح نافذة أخرى في المشروع وحوّل خاصية LinkVisited إلى true:

    Protected Sub LinkLabel1_LinkClicked(ByVal Sender As System.Object, _
       ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _
       Handles LinkLabel1.LinkClicked
       ' Show another form.
       Dim f2 As New Form()
       f2.Show
       LinkLabel1.LinkVisited = True
    End Sub

    المصدر

  19. يعتبر الذكاء الاصطناعي من أصعب أنواع البرمجة لما فيه من تعقيد وبرمجة، لذلك ستجد بعض الصعوبة في إيجاد مراجع وكتب والتي ستكون باللغات الأجنبية لا العربية (المحتوى العربي ضعيف في هذه المواضيع).

    سيساعدك هذا الموقع على بعض الخوارزميات والأفكار للعبة وسيعطيك طرق مفيدة في البرمجة.

     

    كما يمكنك قراءة  هذا الكتيب الصغير الذي سيشرح الخوارزميات وطرق البرمجة باختصار.

    يمكنك أيضا الإطلاع على ألعاب شطرنج مفتوحة المصدر لتتعلم منها.

  20. يوجد العديد من الفرق، يمكنك استجار شخص/فريق من خلال موقع مستقل.

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

    • أعجبني 1
  21. أمن المعلومات بحر كبير جدا ولا يمكنك تعلمه بشكل كامل، لكن يمكنك أن تتقدم وأن تتعلم الكثير فيه بقدر جهد ومثابرتك.

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

    وبعد أن تتعلم متطلبات اختصاصك يمكنك البدأ في تعلمه، ابدأ بالتعلم من مصدر واحد ومن ثم انتقل إلى مصدر آخر، ولا تقم بتنزيل العديد من الدورات والفيديوات بدون فائدة.

    حاول أن تبدأ بالتعلم من دورة شهيرة أو ماشابه لكي لا تضيّع وقتك.

  22. توجد العديد من الطرق لمعرفة وسيط مصفوفة، فتوجد الطريقة الإعتيادية والسهلة والتي هي عن طريق حلقة التكرار for والدوران حول جميع عناصر المصفوفة وحساب المجموع وقسمته على عدد العناصر في المصفوفة.

    لكن توجد طرق اخرى أسرع يمكنك استخدامها في لغة روبي وهذه أسرع طريقتين - حسب علمي - :

    arr = [1, 2, 3, 4]
    arr.inject{ |sum, el| sum + el }.to_f / arr.size
    => 2.5

    في الطريقة السابقة استخدمنا to_f لنتجنب مشاكل قسمة عدد طبيعي.

    الطريقة الثانية:

    arr = [1, 2, 3, 4]
    arr.inject(0.0) { |sum, el| sum + el } / arr.size
    => 2.5

     

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

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

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