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

سمير عبود

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

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

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

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

    34

مقال تعليقات بواسطة سمير عبود

  1. بتاريخ On 6‏/1‏/2024 at 19:35 قال كمال صالح محمد:

    هاذا هو الخطاء استاذي

    أكواد PHP لا تُنفذ على المتصفح و إنما تحتاج إلى خادم، هل لديك برنامج يوفر لك خادم محلي مثبت على جهازك ؟ مثل XAMPP أو WAMP أو Laragon و غيره. تحتاج إلى تثبيت أحد هذه البرامج على جهازك حتى تستطيع تنفيذ أكواد PHP.

    يُمكنك البدأ من خلال هذه المقالة:

  2. بتاريخ 3 ساعة قال Ahmed Saber14:

    هل تعلم البرمجة يحتاج مستوي عالي في الرياضيات والرياضيات المتقدمة ؟

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

    أنصحك بالإطلاع على هذا المقال للتعرف على مجالات البرمجة:

    و هذا المقال أيضاً:

    يوجد في أسفل كل مقالات روابط لمقالات مُشتركة ستُفيدك.

  3. بتاريخ On 2/27/2022 at 10:30 قال Smaily:

    في الارتباطات ثنائية 
     

    a = Author.first b = a.books.first
    a.first_name == b.writer.first_name # => true
    a.first_name = 'David'
    a.first_name == b.writer.first_name # => false

    لماذا النتيجة الأخيرة كانت false

    في هذا المثال لم يُعرّف Active Record الارتباطات ثنائية الاتجاه تلقائيا لأنها احتوت على: class_name و foreign_key و بالتالي في هذه الحالة لن يُحمل Active Record نُسخة واحدة من الكائن Author أي أن:

    a = Author.first
    b = a.books.first
    a.first_name == b.writer.first_name # => true
    a.first_name = 'David'
    a.first_name == b.writer.first_name # => false

    a و b.writer هنا ليسا نفس الكائن. حيث أن Active Record قام بتحميل نُسختين في البداية كانت قيمة الخاصية first_name مُتساوية في كلتا النُسختين، أما بعد تغيير القيمة للكائن a أصبح هناك إختلاف لذلك المُقارنة أعطت false.

    وقد ذكر المقال أنه حتى نُساعد Active Record على التعرف على الارتباط ثنائي الاتجاه ليقوم بتحميل نُسخة واحدة من الكائن نستخدم الخيار inverse_of و بالتالي في المثال الأخير:

    class Author < ApplicationRecord
      has_many :books, inverse_of: 'writer'
    end
     
    class Book < ApplicationRecord
      belongs_to :writer, class_name: 'Author', foreign_key: 'author_id'
    end
    
    a = Author.first
    b = a.books.first
    a.first_name == b.writer.first_name # => true
    a.first_name = 'David'
    a.first_name == b.writer.first_name # => true

    هنا أعطت المُقارنة true حتى بعد تغيير القيمة first_name لـِ a لأن Active Record تعرفت على الإرتباط ثنائي الإتجاه و أن a و b.writer هما نفس الكائن.

  4. بتاريخ 20 ساعات قال Soft Root:

    موضوع جميل جدا ، جزاك الله خيرا على ما قدمت ،
    لكن عندي سؤال : ألا وهو كيفية استدعاء Custom Arabic Font في javafx ؟

    يتم الأمر بإستخدام لغة css تقوم بإنشاء ملف تنسيقات و تضيف له الخط عن طريق الخاصية font-face:

    @font-face {
        font-family: 'Cairo';
        src: url('fonts/Cairo-Regular.ttf');
    }

    ثم تقوم بتطبيقه على العناصر التي تريد:

    .label {
        -fx-font-family: 'Cairo';
        -fx-font-size: 50;
    }
    
    .button .text {
        -fx-font-family: 'Cairo';
    }

    بعد ذلك تستدعي و تُطبق التنسيقات على ال scene:

    scene.getStylesheets().add(getClass().getResource("resources/style.css").toExternalForm());

    المثال موجود على مستودع github من خلال هذا الرابط: JavaFx Font Test Application و هذه النتيجة استخدمت خط Cairo:

    javafx-font-test.thumb.JPG.651483d0c1be1e8b54daae5c8049fab9.JPG

    • أعجبني 1
  5. بتاريخ On 25/10/2020 at 20:28 قال mansour_tech:

    سلام عليكم ، هل اقدر ارفع تطبيقي على استظافة https://www.000webhost.com/

    مرحباً منصور،

    نعم بإمكانك نشر تطبيقك بالإستعانة بإستضافة 000webhost فهي تُوفر خطة مجانية بموقع واحد فقط و 300MB مساحة تخزين، بإمكانك إتباع أحد الشروحات على موقع يوتيوب و ستتمكن من نشر التطبيق بكل سهولة.

    بالتوفيق.

  6. بتاريخ On 09/01/2018 at 12:22 قال سيد حسن الموسوي:

    السلام عليكم..

     

    هل من الممكن استخدام Heroku في نفس الوقت استخدم ال localhost ؟

    مرحباً سيد حسن الموسوي،

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

    بالتوفيق.

  7. بتاريخ On 10/06/2020 at 07:56 قال Sami Remili:

    result = f"{month} has {days} days."

    مامعنى  "f"  في هذي الدالة بارك الله فيكم 

    مرحباً @Sami Remili 
    يُمكننا بإستخدام f-string عمل تنسيق أو سلسلة نصية بالإعتماد على قيمة مُتغيرات ثانية أو عمليات و هي إختصار ل format string و يُمكن من خلال المعقوفات {} الحصول على قيم مُتغيرات او عمليات حسابية لتكوين سلسلة نصية مُعينة.
    و إذا ما أخذنا المثال الذي أدرجته فإنه سيم إستخدام قيم المُتغيرات month و days لتكوين سلسلة نصية إذا كانت قيمة month هي June و قيمة days هي 30 سيكون المُتغير result يحتوي على القيمة:

    June has 30 days.

    و هذا مثال آخر:

    print(f"The sum of 1 + 2 is { 1+2 }") 

    سيُعطي النتيجة:

    The sum of 1 + 2 is 3

    بالتوفيق.

    • أعجبني 1
  8. بتاريخ On 07/01/2021 at 19:17 قال عبدالله ابوالخير:

    السلام عليكم شرح ممتاز لكن سؤال كيف بيتم حفظ هذه الاجراءت لان عندما يتم التعديل من هذه الاداه لا يتم الحفظ 

    مرحباً @عبدالله ابوالخير 

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

    هناك طرق ثانية يُتيحها المُتصفح ك workspaces و هذه الخاصية تسمح بإستخدام المُتصفح كIde أي سنتمكن من خلالها التعديل على الملفات مُباشرة في المتصفح لإستعمال هذه الخاصية نفتح أدوات المُطور ثم نتوجه إلى sources ثم Filesystem و بعدها نضغط بالزر الأيمن و نختار Add Folder to Workspace بعدها تختار مُجلد مشروعك بعدها ستظهر لك رسالة من المتصفح من خيارين للسماح او عدم السماح له للتعديل على الملفات بعد الضغط على زر السماح ستتمكن من التعديل على الملفات مُباشرةً :

    workspace.thumb.png.b69cdd58c091232f2bd026fba93527fa.png

     هناك طريقة أخرى تُسمى Local Overrides و لإستعمالها تتبع الخطوات التالية:

    1. فتح أدوات المُطور
    2. إنتقل إلى Source
    3. إنتقل إلى تبويب Overrides
    4. إضغط على Select Folder For Overrides
    5. حدد مُجلد المشروع الذي تريد حفظ التغييرات فيه.
    6. في الأعلى سيطلب من المتصفح صلاحية قراءة و التعديل على الملفات إضغط على زر السماح
    7. قم بالتعديلات التي تريد

    override.thumb.gif.df03b2f9c84c84d3ddcbfd52088200f3.gif

    بالتوفيق.

    • شكرًا 1
×
×
  • أضف...