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

لوحة المتصدرين

  1. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      6

    • المساهمات

      13217


  2. Mohammed Hendawy

    Mohammed Hendawy

    الأعضاء


    • نقاط

      5

    • المساهمات

      11


  3. Osama Kha

    Osama Kha

    الأعضاء


    • نقاط

      3

    • المساهمات

      90


  4. Kais Hasan

    Kais Hasan

    الأعضاء


    • نقاط

      2

    • المساهمات

      2365


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 04/18/23 في كل الموقع

  1. مرحبا من يعمل كمطور واجهة أمامية للويب؟ لقد تعلمت جيدا لغة جافاسكربت و css و انشأت موقع الكتروني بهما فقط, و تعلمت أساسيات sass , Jquery, bootstrap, github, cmd. لكن عند البحث عن وظيفة أصاب بالإحباط بسبب كم المهارات المطلوبة كفرونت إند، الغالبية العظمى يطلبون احتراف React أو vue, و غيرها من المهارات. يعني حتى لو تعلمتها مع صعوبتها، أحتاج إلى وقت كبير لإحترافها كلها. كنت أفكر كثيرا بالتسجيل في دورة هنا ومتأكد أنني سأستفيد كزيادة في المعلومات و الخبرة، لكن لا أعلم إن كان هذا يكفي للحصول على عمل, فمسار الدورة (Fontend) في حسوب ليس فيها React ولا Vue و كثير من المهارات التي يطلبونها غير موجودة في المسار هنا. من يستطيع أن يفيدني ؟ شكرا
    2 نقاط
  2. امتي برمجه التطبيقات بلغه جافا اسكربيت تكون مهدده في ظل وجود التطوير والذكاء الاصطناعي زي front end كمان ٥ سنوات هيقل الطلب ايهما افضل برمجه التطبيقات بلغه بايثون ام جافا سكريبت
    2 نقاط
  3. يوجد لدي حقل في الداتابيز مخزن على الشكل التالي {"en" :"value1," ar":value} احتاج استرجاع وعرض القيم في حال كانت اللغة انكليزية يعرض value1 والا يعرض value حسب اللغة يعرض القيمة
    2 نقاط
  4. السلام عليكم متي يتم ارسال الشهادة ؟
    2 نقاط
  5. السلام عليكم ساحاول ان اشرح موقفي واتمنى ان احصل على نصائحكم انا عمري 18 بعي شهر ونصف وانهي سنة ما قبل البكلوريا وادخل في سنة البكلوريا وانا محتار هل ادرس البرمجة بفترة الشهر والنصف هل ادرس برمجة في سنة البكلوريا ام اركز على البكلوريا لاحصل على تعليم جامعي افضل مع العلم لدي خيارات اذا حصلت على درجة بكلوريا مرتفعة قد استطيع الدراسة في الخارج واحصل على تعليم جامعي افضل حيث ان الدراسة في بلدي سيئه لابعد الحدود واذا كانت قليلة استطيع دراسة علوم الحاسوب في بلدي انا محتار جدا
    2 نقاط
  6. لو قدامي فرصه ادخل ذكاء اصطناعي ولا حاسبات ومعلومات رغم إني بحب اكتب الكود وكده فتره الجيش هتاثر عليا لو انا عايز التحق بشركه وانا طالب ازي اطور من مستوايا في الجيش واحتفظ بالعملاء بتوعي
    1 نقطة
  7. السلام عليكم اشكركم على قبول التسجيل في منصتكم اريد مساعدتكم في لغة البايتون ,في مرحلة جلب البانات من قاعدة البانات لم تظهر واعطتني اخطاء حاولت حلها لكنها استعصت علي لاني انا متوسط المعرفة بالبرمجة في الملف تجد صورة للمشكل وشكرا
    1 نقطة
  8. ما تخبر به منطقي . قد يكون البحث عن وظيفة في مجال الفرونت إند قاسيًا جداً، لأن هذا المجال يتطور بسرعة كبيرة ويتطلب من المتخصصين تعلم تقنيات وأدوات جديدة باستمرار. كما بالنسبة ل دورة تطوير واجهات المستخدم نعم لا يوجد بها شرح إطارات React و Vueولكن دورة تطوير التطبيقات باستخدام JavaScript يوجد بها شرح React بالنسبة للحصول على عمل، فإن الأهم هو إظهار قدرتك على تصميم وتطوير مواقع ويب بشكل جيد. إذا كان لديك مشروع يمكن عرضه للعملاء أو المشاركة في المجتمعات التقنية، فهذا يمكن أن يساعد في جذب اهتمام الأشخاص الذين يبحثون عن المبرمجين الماهرين.ولا تستلم للأي كلام ممكن أن يسبب لك الإحباط ، وحاول توسيع معرفتك ببطء وثبات. ابحث عن الموارد التعليمية المجانية على الإنترنت وابدأ في تطوير مشاريع خاصة بك. الجهد المتواصل سيؤدي في نهاية المطاف إلى تحقيق أهدافك.
    1 نقطة
  9. السلام عليكم ورحمة الله وبركاته.. تم التسجيل في عرض رمضان دورة بسعر دورتين ولم احصل الا على دورة واحدة. ارغب دورة جافا سكريبت معها.. تم الدخول في الحساب ولم اجد الا دورة واحدة. شكرا
    1 نقطة
  10. عادي اخاطر وآجل سنه من الكليه واشتغل فيها واجيب حق دوره اكاديميه حسوب المبرمجين عملين زي المهندسين كترو علي الساحه يعني ممكن اتعلم واطور من نفسي وملقيش شغل
    1 نقطة
  11. بالرغم من أن React وEmotion وNext.js وStoryblok تعتبر تقنيات وأدوات تطوير وإدارة المواقع الشائعة والمفضلة لإنشاء مثل تلك المواقع، إلا أن استخدام بايثون أيضًا ممكن بالطبع. وستحتاج استخدام إطار عمل Django، الذي يتميز بكونه سهل الاستخدام وقوي وشامل لإنشاء تطبيقات الويب. وبعد تثبيت Django، تستطيع استخدام المكتبات الإضافية لإنشاء ميزات مثل معالجة الدفعات (Stripe) وإدارة العلاقات مع العملاء (Salesforce و HubSpot) وتضمين معلومات سياحية (TripAdvisor API و Amadeus و Sabre و Travelport). بالإضافة إلى ذلك، بالإمكان استخدام مكتبات Python الأخرى لإنشاء ميزات مثل معالجة الصور وإدارة البريد الإلكتروني والبحث عن المواقع السياحية.
    1 نقطة
  12. صديقي هل يمكننا انشاء مثل هذا الموقع باستخدام بايثون وما هي المكتبات التي نحتاجها
    1 نقطة
  13. ان كانت الحقول لديك يتم تصريح أسماءها بـ title و details و img_path فيجب بطبيعة الحال التحقق منها باعتبار هاته الاسماء، فبدل ان يكون: $request->validate([ 'Ads_Title' => 'required', 'Ads_Details' => 'required', 'Ads_Img_Path' => 'required' ]) يجب ان يكون: $request->validate([ 'title' => 'required', 'details' => 'required', 'img_path' => 'required' ]) وإلا فإنه يجب عليك تصريح الاسماء المتحقق منها في توليد الحقول: {! Form::text('Ads_Title' ,null, ['placeholder' => 'english title']) !}
    1 نقطة
  14. إنها قرار صعب لا يمكنني اتخاذه بالنيابة عنك، ولكن من الأفضل أن تتبع شغفك واهتماماتك في البرمجة وتطوير مهاراتك في هذا المجال. إذا كنت تحب كتابة الأكواد، فمثلاً يمكنك العمل على تعلم لغة البرمجة الخاصة بتطوير الذكاء الاصطناعي مثل Python. في النهاية، القرار هو لك ويجب عليك اتخاذه بناءً على ما تراه الأفضل لمستقبلك الوظيفي. بشكل عام أغلب الشركات لا توظف الطلاب و تطلب شهادة الجيش, لذلك يفضل أن تنهي فترة الجيش في أقرب فرصة, وقتها سوف يكون باستطاعتك العمل في أي شركة (بما انك لديك شهادة الجيش). بالنسبة لسؤالك عن كيفية تطوير مستواك في الجيش فالشئ الوحيد الذي يمكنك فعله هو أن تعمل علي تطوير مهارات البرمجة في الإجازات من خلال التطبيق علي ما تعرفه (حتي لا تنسي) وتعلم تقنيات جديدة. وبالنسبة لعملائك فسوف يكون من الصعب جداً متابعتهم وأنت في فترة الجيش, لذلك يفضل أن تخبر عملائك أنك سوف تنقطع عن العمل في هذه المدة, وعندما تنتهي فترة الجيش يمكنك التواصل معهم مجددا والبدء في العمل.
    1 نقطة
  15. بالإضافة إلى ما ذكره مصطفى، يجب عليك أن تعلم أن الذكاء الصنعي ليس عبارة عن كتابة كود فقط، فهو علم معقد يعتمد على الرياضيات و خاصة الاحتمالات و الإحصاء و الجبر الخطي. لا يمكنك أن تعمل على مشروع حقيقي في الذكاء الصنعي ما لم تكن على معرفة جيدة بهذه الأمور حتى يمكنك فهم آلية عمل الخوارزميات في الذكاء الصنعي، و حتى تستطيع حل المشكلات المعقدة التي تواجهك أثناء ذلك. قد يمكنك العمل على مشاريع بسيطة أو استعمال آنظمة ذكاء جاهزة و لكن ما قمت بالتحدث عنه هو ضروري عندما تريد تطوير ذلك بنفسك. كما أن العمل في مجال الذكاء الصنعي أصعب، حيث أن المتطلبات أكبر و من النادر أن يجد أحد عمل في شركة و هو طالب، حتى أن الكثير من الشركات تتطلب أن يكون لديك شهادة ماستر أيضاً و ليس فقط بكالوريس.
    1 نقطة
  16. لا تفعل ذلك أبدًا، التزم بالجامعة عزيزي، وأنهي فترة الأربع سنوات بخير، ولا تشغل بالك أبدًا بعدد المبرمجين، فالجميع يرزقون والله تكفل بذلك، فاشغل نفسك بالإجتهاد ولا تنظر أبدًا إلى الآخرين. ذلك فخ يقع فيه الكثيرين، ففي البدايات يريد عقد عمل وسيارة وحساب بنكي، قبل أن يتعلم البرمجة، فلا تكن أنت منهم. وسوق العمل بحاجة إلى مبرمجين محترفين بحق، حيث أن المشاريع تبحث عن مبرمجين ولا تجد من يقوم بها، بسبب سوء مستوى أغلب المبرمجين في عالمنا العربي وإتجاه المحترفين للعمل في الخارج في الدول الأجنبية. لذلك تحلى بالصبر ولا تستعجل ولا تنظر لحصاد الآخرين، فقد قاموا بالإجتهاد لسنوات وتلك هي فترة الحصاد لهم. قم بالدراسة بجانب الكلية ولا تعتمد عليها أبدًا في أن تصبح مبرمج، بل اتخذها عامل مساعد واستفد بتلك الفترة في تحفيذك وكون علاقات وحاول التدرب في الشركات بعد الإنتهاء من تعلم لغة أو مسار تدريبي.
    1 نقطة
  17. التخصص في مجال الذكاء الاصطناعي أم دراسة البرمجة في كلية حاسبات ومعلومات كلا المجالين ستحتاج فيهما إلى كتابة الكود، ومجال الذكاء الاصطناعي أشد تعقيدًا، وأيضًا فرص العمل متوفرة في الخارج وليس في أغلب الدول العربية، لذلك إذا كنت مستعد للسفر إلى الخارج فقم بالتخصص في مجال الـ Ai. حيث أنه مجال واعد وله مستقبل في السنوات القادمة، فأغلب الشركات الآن تتجه إلى استخدام الـ Ai بمختلف أشكاله، وتتسابق في إطلاق الأدوات والمنصات الخاصة بها التي تستخدم الذكاء الاصطناعي. وإذا كنت تفضل العمل في السوق المحلي أو الدول العربية، فأنصحك بدراسة البرمجة في كلية علوم الحاسب. أي الأمر يتوقف على ظروفك الشخصية والمادية والوقت المتوفر لك. فترة الخدمة العسكرية وتأثيرها على الوظيفة الأمر شر لابد منه، ولا أنصحك أبدًا بالتهرب من الخدمة العسكرية، قم بتأدية الخدمة لمدة سنة وخلال تلك السنة عليك بدراسة البرمجة والتطبيق في فترة الأجازات إذا استطعت. وهون عليك الأمر، فالجميع مر بتلك الفترة، وأعرف البعض قد عمل بشركات وهو طالب لكن بمستوى يستحق التوظيف حيث أنه قد كان درس البرمجة لمدة عام أو عامين وقام بمشاريع، لذلك في السنة الثالثة قام بالعمل في شركة. ثم دخل الجيش وعاد للعمل مرة أخرى بعد الإنتهاء من الخدمة. أي لا مشكلة في العمل لكونك طالب، لكن يجب توافر المهارات المطلوبة ومعرض أعمال به 3 مشاريع حقيقية على الأقل لتتمكن من الحصول على وظيفة، أو يمكنك العمل على مواقع العمل الحر كمستقل. لكن بعض الشركات الكبيرة تتطلب أن تكون قد أديت الخدمة وحصلت على الشهادة الجامعية لذلك ليس جميع الشركات توظف طلاب. تطوير مستواك في البرمجة والحفاظ على العملاء أولاً، من الصعب الحفاظ على العملاء في حالة تأدية الخدمة العسكرية، إلا إذا وافق العميل بذلك، وأثناء فترة الإجازات يمكنك العمل على المشروع الخاص به. أي أنك لست حر نفسك أثناء فترة الخدمة العسكرية، لذلك لا تلتزم وتعطي كلمة بنسبة 100%. أما بالنسبة لتطوير مستواك، فهناك حلان إما القراءة من خلال الكتب في المجال الخاص بك أو اللغات التي اخترتها وتعمل بها، أو مشاهدة دورات وكورسات على الهاتف المحمول أثناء أوقات فراغك في الخدمة إذا تم السماح بالهاتف والأغلب يستطيع أخذ هاتفه معه بشكل ودي. فإذا كنت في بداية تعلم البرمجة، فهناك الكثير مما يمكن تعلمه، عليك بتحديد مسار Roadmap ورؤية ما الذي تحتاج إلى تعلمه أو زيادة مستواك به.
    1 نقطة
  18. أنت في سن صغير، ولا تستعجل أبدًا، بل امشي بخطى ثابتة، فذلك أفضل لك وسيحميك من التخبط والتشتت. في أي بلد داخل عالمنا، الشهادة الجامعية مهمة جدًا، وفي عالمنا العربي أشد أهمية، لذلك ركز على الشهادة أولاً والتخرج بدرجة مرتفعة قد تفتح لك أبواب خير كثيرة مغلقة. بعد ذلك، ستمتلك كل الوقت في العالم لتعلم البرمجة، ولا أحد سيمنعك من ذلك، لكن هناك أمور مقيدة بوقت مثل الجامعة، حيث يجب الإلتزام بالدراسة في وقتها، وإلا ستتأخر في الدراسة والبرمجة معًا. ولا تكتفي بالشهادة الجامعية، فعليك بالدراسة خارجها أيضًا وزيادة مهاراتك بما يتناسب مع سوق العمل، فالشهادة الجامعية في أغلب البلدان العربية لن تؤهلك لسوق العمل، وسيتوجب عليك أنت التعلم واكتساب الخبرة. وبالطبع من قام بالدراسة بشكل أكاديمي في كلية علوم الحاسب، وقام بتعلم البرمجة جنبًا إلى جنب مع الكلية، فسيتفوق على المبرمجين الآخرين خارج الكلية ولكن ليس جميعهم، فالمواد متاحة للجميع على الإنترنت، والذي يتفوق هو الذي يجتهد أكثر. لكن هي شهادة ضمان على أنك درست علوم الحاسب وتم إختبارك على مدار 4 سنوات، ودرست قواعد بيانات، خوارزميات، هياكل بيانات، ولغات برمجة قوية مثل جافا و C++ وعلوم أخرى. وأيضًا ستحيط نفسك بأشخاص لهم نفس الهدف في كلية علوم الحاسب وستكون صداقات وعلاقات معهم، وذلك سيدفعك أنت أيضًا إلى تحقيق نفس الهدف بنسبة كبيرة، وهو أمر هام جدًا يفتقده الكثير خارج جامعة حاسبات ومعلومات. وأنصحك بقراءة النقاش التالي:
    1 نقطة
  19. متي يقضي الذكاء الاصطناعي علي المبرمجين تطوير الويب ازي تطور نفسي في مجال front end
    1 نقطة
  20. البرمجة مهارة مفيدة ومطلوبة في عالمنا المتغير. لكن لا تنسى أن دراستك الأكاديمية أيضا مهمة لتحقيق أهدافك وطموحاتك. لذلك، أنصحك بالتوازن بين الخيارين اللذين ذكرتهما: دراسة البرمجة ودراسة المواد الأخرى. في هذه الفترة التي تسبق سنة البكلوريا، يمكنك أن تستغل وقت فراغك لتعلم أساسيات البرمجة، مثل لغات البرمجة والخوارزميات والبيانات. هناك العديد من المصادر المجانية على الإنترنت التي تساعدك على ذلك، مثل موقع كورسيرا أو يوداسيتي. لكن لا تجعل هذا يؤثر على دراستك للمواد الأخرى، فهي تحضرك لامتحان البكلوريا الذي يحدد مستقبلك. بعد البكلوريا، يمكنك أن تقرر ما هو أفضل لك بحسب درجتك وإمكاناتك. إذا كانت درجتك مرتفعة، فقد تفتح لك فرصة للدراسة في الخارج، حيث ستجد جامعات ذات مستوى عالٍ في علوم الحاسوب والبرمجة. إذا كانت درجتك قليلة، فلا تقلق، فهناك خيارات أخرى في بلدك أو في دول مجاورة. لا تستسلم لفكرة أن الدراسة في بلدك سيئة لابعد الحدود، فهناك دائما استثناءات وفرص للتطور. أهم شيء هو أن تحافظ على شغفك بالبرمجة وأن تستمر في تعلمها وتطبيقها. فالبرمجة ليست مجرد دراسة نظرية، بل هي عملية تحتاج إلى ممارسة وتجربة. كلما زادت خبرتك في البرمجة، كلما ازدادت قدراتك وثقتك بنفسك. ولا تنسى أن تستفيد من شبكات التواصل الاجتماعي والانضمام إلى مجتمعات البرمجة التي تساعدك على التعلم والتحسين والحصول على فرص عمل. من وجهة نظري أن تعلم البرمجة ذاتياً أفضل بكثير من تعلمها في الجامعات العربي (ولكن هناك استثناءات بالطبع). وهذه بعض النقاشات التي تتكلم حول إمكانية تعلم البرمجة ذاتياً وما الفرق بين هذه الطريقة وبين التعليم الجامعي. استفسار ... الفرق بين تعلم البرمجة في الجامعة والانترنت - حسوب I/O (hsoub.com) هل من الممكن ان ينجح شخص في احتراف البرمجة دون اي تعليم جامعي او دعم معنوي معتمدا فقط ع الانترنت ؟؟ - حسوب I/O (hsoub.com) ايهما افضل دراسه مهندس برمجيات او اتعلم البرمجه من الدورات والكتب والاطلاع - حسوب I/O (hsoub.com)
    1 نقطة
  21. إن البرمجة ليست متوقفة على تعلم لغة برمجة، فلكي تصبح مبرمج جيد يجب أن يكون لديك أساس في علوم الحاسوب بمختلف أقسامه. كما أن الخوارزميات و بنى المعطيات مهمة جداً و قواعد البيانات و غيرها الكثير من الأمور التي يمكن فهمها بشكل أفضل في مؤسسة أكاديمية مثل الجامعة. بالطبع عليك اختيار الجامعة الصحيحة التي لديها برامج تناسب أهدافك، يمكنك دائماً الاطلاع على ذلك على موقع الجامعة فأغلب الجامعات الجيدة توفر ذلك. أنصحك أيضاً بالتركيز حالياً على البكلوريا، هذه فرصة واحدة لا تعاد، على عكس البرمجة التي يمكنك تعلمها متى شئت.
    1 نقطة
  22. يمكن تعلم البرمجة بشكل حر (في المنزل) أو بشكل أكاديمي(في الجامعة)، وكلاهما له ميزاته وعيوبه. في حالة التعلم الحر، يمكن للشخص تحديد الوقت والمكان والطريقة التي يريدها لتعلم البرمجة، كما يمكنه التركيز على المجالات التي يريد تطويرها، ولكن هذا يتطلب الانضباط الذاتي والتحفيز الذاتي لتحقيق الأهداف المرجوة (وهذا قد يكون صعباً بالنسبة لبعض الاشخاص). بالنسبة للتعلم الأكاديمي، فإنه يوفر بنية محددة وأساليب تدريس مختلفة، وقد يساعد في تحديد المجالات التي يجب التركيز عليها، كما يوفر شهادات معترف بها في سوق العمل. هل هنالك فرق في الدخل بين الطريقتين ؟ لا يوجد فرق كبير في الدخل بين الطريقتين، حيث أن الأهم هو مستوى المعرفة والخبرة في مجال البرمجة، وسوق البرمجة اصبح سوق عالمي، فيمكنك العمل مع شركات عالمية من اي مكان من العالم وليس كلها تحتاج لشهادات أكاديمية بل يهتمون بالخبرة بشكل اكبر بكثير. أي الطريقتين مضمون اكثر ؟ بشكل عام، فإن التعلم الأكاديمي هو الأفضل من ناحية المضمون، حيث أنه يوفر بنية محددة وأساليب تدريس مختلفة، كما أنه يساعد في تحديد المجالات التي يجب التركيز عليها، كما يوفر شهادات معترف بها في سوق العمل، وهو اسهل من ناحية الالتزام بالتعلم والتعرف على اصدقاء من نفس المجال. نصيحتي لك ركز على البكلوريا واحصل على تعليم جامعي افضل، ويمكنك العودة للتعلم الحر للبرمجة بعد الحصول على الشهادة الثانوية، فبذلك تجمع بين التعلم الاكاديمي في الجامعة والتعلم الحر للمواضيع التي تريد التخصص.
    1 نقطة
  23. هل يوجد احد لدية خبر في ربط wso2 identity server مع core.net
    1 نقطة
  24. تم عمل جميع الخطوات المذكورة لكن بقية رسائل الخطأ الافتراضية بالاضافة الى عند اعادة ادخال البيانات بالشكل الصحيح لايقوم ب اضافة المحتوى بل تظهر رسائل الخطأ نسفها هل الطريقة صحيحة لم يتغير اي شيء عن سابقه
    1 نقطة
  25. أفضل إختيار بالنسبة لك هو الإستفادة من هذا العرض في شراء دورة " تطوير واجهات المستخدم" حيث ستتعلم كيف تبني واجهات مواقع حقيقية، الأمر الذي سيؤهلّك للعمل كمطوّر واجهات محترف ويضعك على الطريق الصحيح في مشوارك المهني. وتصبح frontend web developer محترف وبعد الحصول على الدورة السابقة أفضل دورة مناسبة بالنسبة لك هو إختيار الدورة " تطوير التطبيقات باستخدام لغة JavaScript " ولكن لماذا أفضل هذه الدورة عن غيرها ؟ لأن هذه الدورة ستقوم بتعليمك بشكل أكثر تعمقاً ال javascript التي تحتاجها في frontend بكثرة ثم أساسيات مكتبة React.js المطلوبة في السوق حالياً ثم تعلم أساسيات بيئة Node.jsلتطوير النظم الخلفية بشرح مفصّل وعملي. والعديد من التقنيات الأخرى تعلم Full-Stack يوفر العديد من الفوائد للمطورين، بما في ذلك: اكتساب مهارات متعددة: يتيح لك تعلم Full-Stack اكتساب مهارات في مجالات متعددة من تطوير البرمجيات، بما في ذلك الواجهة الأمامية والخلفية وقواعد البيانات. هذا يسمح لك بالتحكم بكل جوانب التطبيق وتطويره بالكامل بنفسك. فهم كامل للتطبيق: عندما تعرف كيفية بناء التطبيق من الجانب الأمامي والخلفي وقواعد البيانات، فإن ذلك يساعدك على فهم كامل لكيفية عمل التطبيق والتفاعل بين مكوناته. هذا يسمح لك بتقديم تحسينات وإجراء تغييرات بسهولة وبسرعة. زيادة الفرص الوظيفية: يوفر التعلم Full-Stack فرصاً وظيفية أكبر، حيث يمكنك العمل في مجالات مختلفة والعمل في شركات صغيرة وكبيرة. كما أنه يزيد من فرص العمل كمستقل والعمل على مشاريعك الخاصة.
    1 نقطة
  26. باستطاعتك استخدام ميزة الـ Validation المتوفرة في Laravel لتحقق من صحة الحقول وتعيين رسائل الخطأ المناسبة لكل حقل بشكل منظم. من خلال استخدام ملف التحقق (validation) الموجود في المسار app/Http/Requests لتحديد قواعد التحقق لكل حقل، ثم استخدام هذا الملف لتحقق من صحة الحقول وعرض رسائل الخطأ الخاصة بكل حقل. فمثلاً، إذا كان لديك حقل "name" في نموذج التسجيل، فيمكنك إنشاء ملف التحقق التالي: namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class RegisterRequest extends FormRequest { public function rules() { return [ 'name' => 'required|min:3|max:255', 'email' => 'required|email|unique:users', 'password' => 'required|confirmed|min:6', ]; } public function messages() { return [ 'name.required' => 'يجب أن تدخل اسمك.', 'name.min' => 'يجب أن يحتوي الاسم على 3 أحرف على الأقل.', 'name.max' => 'يجب أن يحتوي الاسم على 255 حرفًا كحد أقصى.', 'email.required' => 'يجب أن تدخل عنوان بريدك الإلكتروني.', 'email.email' => 'يجب أن يكون عنوان بريدك الإلكتروني صالحًا.', 'email.unique' => 'عنوان البريد الإلكتروني هذا مستخدم بالفعل.', 'password.required' => 'يجب أن تدخل كلمة مرور.', 'password.min' => 'يجب أن تحتوي كلمة المرور على 6 أحرف على الأقل.', 'password.confirmed' => 'تأكيد كلمة المرور غير متطابق.', ]; } } و في المثال، تم تعريف قواعد التحقق لحقول الاسم والبريد الإلكتروني وكلمة المرور، وتم تعريف رسائل الخطأ الخاصة بكل حقل. ثم يمكنك استخدام ملف التحقق في نموذج التسجيل الخاص بك كالتالي: public function register(Request $request) { $validatedData = $request->validate([ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ]); // اكمل هنا بالكود الذي تريده } بعد ذلك، عليك باستخدام خاصية "error message bag" في Laravel لعرض رسائل الخطأ وتعليقها على حقول الإدخال المحددة. وفي حالة عدم مرور عملية التحقق بنجاح، يتم إنشاء "error message bag" تحتوي على جميع رسائل الخطأ المتعلقة بالحقول الفارغة أو غير الصالحة، وباستطاعتك استخدام هذا الملف لعرض رسالة الخطأ المناسبة لكل حقل إدخال بشكل فردي. كمثال، استخدم الكود التالي في ملف نموذج التسجيل: @if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <div class="form-group"> <label for="name">Name</label> <input type="text" class="form-control" id="name" name="name" placeholder="Enter your name"> @error('name') <div class="alert alert-danger">{{ $message }}</div> @enderror </div> <div class="form-group"> <label for="email">Email</label> <input type="email" class="form-control" id="email" name="email" placeholder="Enter your email"> @error('email') <div class="alert alert-danger">{{ $message }}</div> @enderror </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" id="password" name="password" placeholder="Enter your password"> @error('password') <div class="alert alert-danger">{{ $message }}</div> @enderror </div> هنا، يتم عرض رسالة الخطأ الشاملة في الجزء العلوي من النموذج باستخدام دالة $errors->any()، وتعرض رسالة الخطأ الفردية لكل حقل إدخال بشكل منفصل باستخدام @error('field_name') و $message، حيث يتم استبدال 'field_name' بالاسم الحقيقي لحقل الإدخال المحدد.
    1 نقطة
  27. مثلما أشار الزملاء فإن عملية التحقق من الادخالات على واجهة المستخدم وجهة العميل يحسن من تجربة الاستخدام بشكل عام، ويقلل من الطلبيات الفاشلة على الخادم وبدل احباطها كل مرة لسبب ما يتم ذلك دون اعادة تحديث الصفحة. ولذلك، فإنه لا يمكن فرض مقارنة بينهما وتفضيل أحدهما عن الآخر، فالمستحسن أن يكون كلاهما موجودا لتلافي حدوث اي مشكلة بمعالجة الادخالات سواءا على مستوى الواجهة الخلفية او على مستوى قاعدة البيانات، وتحسينا لتجربة استخدام المستخدم. وفي لارافيل على وجه الخصوص، وفي جزئية التحقق من البيانات على مستوى الخادم يفضل استعمال نماذج التحقق من الطلب Form Request validation لفصل منطق التحقق وتطبيق مبدأ فصل المهام، فبدل كتابة شيفرتك على نحو: /** * تخزين منشور جديد */ public function store(Request $request) { // جلب البيانات المتحقق منها $validated = $request->validate([ 'title' => 'required|min:8', 'content' => 'required|min:10' ]); // تخزين المنشور .. return redirect('/posts'); } يمكن كتابته وفق: /** * تخزين منشور جديد */ public function store(StorePostRequest $request) { // جلب البيانات المتحقق منها $validated = $request->validated(); // تخزين المنشور .. return redirect('/posts'); } اذ يكون الصنف StorePostRequest صنفا منفصلا تماما يحوي منطق التحقق على نحو: <?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class StorePostRequest extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'title' => 'required|min:8', 'content' => 'required|min:10' ]; } }
    1 نقطة
  28. عملية التحقق من صحة البيانات (Validation) يمكن أن تتم من جهتين: Front-end: باستخدام JavaScript وقبل إرسال البيانات إلى السيرفر. هذا الخيار يوفر على السيرفر تلقي بيانات خاطئة ومعالجتها. لكن لا يمنع من إمكانية تجاوز عملية التحقق بسهولة. Back-end: باستخدام Laravel Validation وبعد إرسال البيانات إلى السيرفر. هذا الخيار يضمن تلقي السيرفر لبيانات صحيحة فقط. لكن يؤدي إلى زيادة عدد الطلبات لأن بعضها قد تحتوي على بيانات خاطئة. الحل الأمثل هو استخدام Validation من الجهتين: على مستوى الـFront-end لتوفير بعض المعالجة وعدم إرسال بيانات ظاهرة الخطأ. على مستوى الـBack-end كضمانة أخيرة ولمنع أي محاولات للتجاوز. بهذه الطريقة نضمن تلقي السيرفر لبيانات صحيحة معظم الوقت، مع الأخذ بعين الاعتبار إمكانية وجود بعض البيانات الخاطئة والتي سيتم التعامل معها على مستوى السيرفر. أمثلة على الشرح السابق على مستوى الـFront-end: نقوم بتحديد قواعد التحقق من صحة الحقل مثل: طول الحقل ونوع البيانات وما إلى ذلك. نكتب دالة JavaScript تسمى مثلا validateForm() تقوم بالتحقق من جميع الحقول عند إرسال النموذج. إذا وجدت خطأ في أحد الحقول، نعرض رسالة خطأ للمستخدم ونمنع إرسال النموذج. إذا كانت كل البيانات صحيحة، نسمح بإرسال النموذج. على مستوى الـBack-end: نستخدم طريقة validate() في Laravel لتعريف قواعد التحقق لكل حقل. مثل: $this->validate($request, [ 'name' => 'required|max:50', 'email' => 'required|email|unique:users' ]); إذا كانت البيانات المرسلة من النموذج غير صحيحة، ستقوم طريقة validate() بإظهار رسالة خطأ وإعادة توجيه المستخدم إلى الصفحة السابقة.إذا كانت البيانات صحيحة، يتم قبول النموذج ومعالجة البيانات. هذه هي عملية التحقق من صحة البيانات بشكل أساسي. يمكن لـLaravel أيضا أن تقوم بالتحقق من صحة بيانات أكثر تعقيدا مثل توافق كلمة المرور أو تحقق من صيغة البريد الإلكتروني وغيرها.
    1 نقطة
  29. في Laravel، تستطيع استخدام validation للتحقق من صحة الحقول في الجانب الخادم (backend) قبل عملية الإدخال لقاعدة البيانات، وهذا يساعد على تجنب إدخال البيانات غير الصحيحة أو غير المكتملة وتحسين جودة البيانات التي تدخل إلى قاعدة البيانات. ومن الجيد استخدام ال validation في Laravel بدلاً من JavaScript في ال front end لعدة أسباب: يتم التحقق من صحة الحقول في الجانب الخادم بعد تقديم النموذج، وهذا يعني أنه يمكن التحقق من صحة البيانات بغض النظر عن المتصفح الذي يتم استخدامه. يسمح Laravel بإنشاء validation rules متعددة ومتقدمة لتحديد صحة البيانات بالطريقة التي تريدها. يمكن استخدام validation للتحقق من أي بيانات يتم إدخالها، بغض النظر عن نوع الحقل أو البيانات التي يتم إدخالها. تستخدم Laravel validation بشكل واسع في المشاريع الكبيرة والمعقدة، ويمكن أن يتم توسيعها وتخصيصها بسهولة. وإذا كان لديك تطبيق معقد وكبير، فمن المستحسن استخدام validation في Laravel للتحقق من صحة البيانات، حيث يمكنك تحديد validation rules لكل حقل بسهولة. وبالتالي، يمكن تجنب أخطاء إدخال البيانات غير الصحيحة وتحسين جودة البيانات التي تدخل إلى قاعدة البيانات. إليك مثال بسيط على كيفية استخدام Laravel validation في النماذج: حيث سننشئ نموذجًا لإنشاء مستخدم جديد ونستخدم validation rules المدمجة للتحقق من صحة الحقول. 1- يتم تعريف ال validation rules داخل حاوية validate() المستخدمة في الدالة store() في الكونترولر: public function store(Request $request) { $validatedData = $request->validate([ 'name' => 'required|max:255', 'email' => 'required|email|unique:users,email|max:255', 'password' => 'required|min:6|max:255', ]); // إنشاء مستخدم جديد باستخدام البيانات الموثقة $user = User::create($validatedData); return redirect('/users')->with('success', 'تم إنشاء المستخدم بنجاح.'); } 2- في الكود السابق، قمت بتحديد الحقول المراد التحقق منها وتعيين قواعد التحقق المطلوبة بين القوسين المربعين، كما يتم إرجاع البيانات الموثقة بواسطة الدالة validate(). 3- يتم إنشاء المستخدم باستخدام البيانات الموثقة وإرجاع رسالة نجاح إلى صفحة عرض المستخدمين.
    1 نقطة
  30. مرحبًا محمود، بعد إنهائك للدورة وإجرائك للامتحان مرتين لم تستجب إلى إرشادات المدربين الذين نصحوك كيف تنجز المشاريع وكيف تتعلم بطريقة صحيحة... نلتزم في أكاديمية حسوب بما نعد طلابنا به، لذا أعدنا لك المبلغ الذي دفعته، ونرجو لك كل التوفيق في رحلتك القادمة.
    1 نقطة
  31. يُعرَّف البرنامج بأنّه سلسلة من التعليمات التي يستطيع الحاسب تنفيذها لأداء مهمّةٍ ما. تبدو فكرةٍ بسيطةٍ للغاية، لكن حتى يتمكن الحاسب من الاستفادة من التعليمات، يجب أن تكون هذه التعليمات مكتوبةً بصيغةٍ يستطيع الحاسب استخدامها. هذا يحتّم استخدام لغات البرمجة لكتابة هذه البرامج. تختلف لغات البرمجة عن اللغات البشرية العادية بكونها واضحةً كليًّا، وهي حازمةٌ للغاية فيما هو مسموح أو غير مسموح في البرنامج. تدعى القواعد التي تُحدد ما هو مسموح بصياغة اللغة (Syntax). تُوصّف قواعد الصياغة المفردات الأساسية للغة وكيفيّة بناء البرامج باستخدام أشياء كالحلقات والأفرع والبرامج الفرعية. يُعرّف البرنامج صحيح الصياغة بأنّه البرنامج الذي يمكن تصريفه أو ترجمته بنجاحٍ؛ تُرفض البرامج التي تحتوي على أخطاء صياغة (ولعلّ هذا يترافق مع رسالة خطأ مفيدة تساعدك في حل المشكلة). لذا، لكي تكون مُبرمجًا ناجحًا، عليك أن تكتسب معرفة مُفصّلة بصياغة لغة البرمجة التي ستستخدمها. بيد أنّ الصياغة هي مجرّد جانب من الأمر. ليس كافيًا أن تكتب برنامجًا يعمل، أنت تريد برنامجًا يعمل، ويقدّم نتيجة صحيحة. بكلمات أخرى، يجب أن يكون "معنى" البرنامج سليمًا. يُشار إلى معنى البرنامج بمصطلح "الدلالة اللفظيّة" (Semantics). بكلمات أدق، تُحدّد الدلالةُ اللفظية للغة البرمجة مجموعة القواعد التي تحدد معنى البرنامج المكتوب بتلك اللغة. يُعرّف البرنامج صحيح الدلالة بأنه البرنامج الذي يقوم بما تريد له أن يقوم به. أبعد من ذلك، يمكن للبرنامج أن يكون صحيح الصياغة والدّلالة إلا أنّ هذا لا ينفي كونه برنامجًا سيئًا. إذ أنّ استخدام اللغة على نحو صحيح لا يكافئ استخدامها على نحو مفيد. على سبيل المثال، يمتاز البرنامج الجيد بأسلوب كتابةٍ، أي أنّه يُكتب بطريقةٍ تجعل من السهل قراءته وفهمه عبر اتباع أعرافٍ معروفةٍ لدى المبرمجين الآخرين. كما أنّ البرنامج الجيّد يمتاز بتصميم شامل مفهوم للقرّاء البشريين. لا يكترث الحاسب لأمور كهذه البتة، إلّا أنها بالغة الأهمية لقارئ بشري. يُشار عادةً إلى الجوانب هذه من البرمجة بمصطلح التأويل أو التداوليات (pragmatics). (سنستخدم التعبير الأكثر شيوعًا "أسلوب" [style].) عندما نتطرّق لميزة جديدة في اللغة، سنشرح الصياغة والدلالة وبعضًا من تداوليات تلك الميزة. عليك أوّلًا أن تحفظ الصياغة، وهذا الجانب السهل من الموضوع. ثمّ عليك فهم الدلالة عبر متابعة الأمثلة المطروحة، والتأكد من أنك تدرك كيفيّة عملها، والأفضل من ذلك أن تكتب برامج قصيرةً بنفسك لاختبارك فهمك. وعليك أن تحاول إدراك واستيعاب التداوليات، ونعني تعلّم كيفية استخدام ميزة اللغة على نحوٍ سليمٍ وذلك بأسلوبٍ يُكسبك احترام باقي المبرمجين. لا شكّ أنّ كونك معتادًا على جميع الميزات الفردية للغة لا يعني أنّك أصبحت مُبرمجًا. لا زال عليك تعلّم كيفية بناء برامج معقدة لحل مسائل بعينها. وستحتاج في هذا الأمر إلى الخبرة والذوق. ستجد في هذا الكتاب تلميحات حول تطوير البرمجيات. نبدأ رحلتنا في اكتشاف جافا بمسألة أضحت عُرفًا في بدايات كهذه: كتابةُ برنامج يعرض الرسالة "مرحبًا أيها العالم!". قد تبدو مسألة هامشيّة، لكن قدرتك على جعل الحاسب يقوم بذلك هي خطوةٌ أولى كبيرة في تعلم لغة برمجة جديدة (خاصةً إذا ما كانت لغتك الأولى)، وهي تعنى فهمك للعملية الأساسيّة التالية: جلب نص البرنامج إلى الحاسب. تصريف البرنامج، ومن ثمّ تنفيذ البرنامج المُصرّف. سيتطلب الأمر في الغالب عدّة محاولات لتتمكن من القيام بذلك في المرة الأولى. لن نتعمّق في تفاصيل كيفية القيام بكلّ من تلك الخطوات هنا، الأمر يتعلق بجهاز حاسبك وبيئة برمجة جافا التي تستخدمها. انظر القسم 2.6 لمعلومات حول إنشاء وتنفيذ برامج جافا في بيئات برمجة معينة. لكن بشكلٍ عام، ستكتب البرنامج باستخدام محرر نصوص ما وتحفظ البرنامج في ملف. ثم ستستخدم أمرًا في محاولةٍ لتصريف الملف، فإمّا أن تحصل على رسالة مفادها أنّ البرنامج يحتوي على أخطاء صياغة، أو تحصل على نسخةٍ مُصرّفة إلى شيفرة جافا الثّمانيّة، وليس إلى لغة الآلة. أخيرًا، يمكنك تنفيذ البرنامج المصرف عبر استخدام الأمر المناسب. في الواقع، ستستخدم من أجل لغة جافا مُفسرًا لتنفيذ شيفرة جافا الثمانية. قد تؤتمت بيئة البرمجة التي اخترتها بعضًا من الخطوات عوضًا عنك. على سبيل المثال، عادةً ما تتمّ خطوة التصريف أوتوماتيكيًا لكن كن متأكدًا أن الخطوات الثلاث نفسها تجري دومًا وراء الكواليس. إليك برنامج جافا يعرض الرسالة "مرحبًا أيها العالم!". لا عليك إن لم تفهم كل ما يجري هنا الآن، حيث لن نتطرق لبعض مفاهيمه حتى بضع فصول من الآن. /** برنامج لعرض الرسالة * ‫ التالية "مرحبًا أيها العالم!" */ public class HelloWorld { public static void main(String[] args) { System.out.println("!‏مرحبًا أيها العالم"); } } // HelloWorld نهاية الصنف الأمر الذي يعرض الرسالة في الحقيقة هو: System.out.println("!مرحبًا أيها العالم"); الأمر السّابق مثالٌ عن تعليمة استدعاء برنامج فرعيّ إذ تستخدم "برنامجًا فرعيًّا مُدمجًا" (built-in subroutine) يُدعى System.out.println لأداء العمل الحقيقيّ. تذكّر أنّ البرنامج الفرعيّ يتألّف من تعليمات لأداء مهمةٍ ما وقد جُمّعت معًا ومُنحت اسمًا. يمكن استخدام هذا الاسم لاستدعاء البرنامج الفرعيّ متى ما احتجنا أداء تلك المهمة. البرنامج الفرعي المدمج هو برنامجٌ فرعيّ مُعرّف مسبقًا كجزء من اللغة وبذلك يكون متاحًا للاستخدام افتراضيًّا في أي برنامج. عندما تُنفّذ هذا البرنامج، تُعرض الرسالة "مرحبًا أيها العالم" (بدون علامتي الاقتباس اللاتينية) على الخرج القياسي. مع الأسف لا أستطيع شرح معنى الخرج القياسي بالضبط. يُفترض أن تعمل جافا على العديد من المنصات المختلفة، ويعني الخرج القياسي أمرًا مختلفًا على كلّ منها. على أيّة حال، يمكنك أن تتوقع ظهور الرسالة في مكان ملائم أو غير ملائم. (إن كنت تستخدم واجهة أوامر سطرية، كتلك الموجودة في أدوات تطوير جافا التي تقدّمها شركة أوراكل، فعندما تكتب الأمر لإخبار الحاسب بتنفيذ البرنامج سيطبع الحاسب خرج البرنامج – الرسالة "مرحبًا أيها العالم!"- على السطر التالي. بيد أنّه في بيئة تطوير متكاملة مثل Eclipse، قد يظهر الخرج في واحدةٍ من نوافذ البيئة.) لا بدّ أنك تشعر بالفضول حيال ما تبقى من أشياء في البرنامج أعلاه. يتألف جزء منه من تعليقاتٍ (comments). يتجاهل الحاسب كليًّا جميع التعليقات في البرنامج، وتقتصر أهميّة وجودها على القراء البشريين فقط. هذا لا يعني أنّها غير مهمّة. يُفترض أن يستطيع الناس كما الحواسيب قراءة البرامج، وقد يكون البرنامج بدون التعليقات صعب الفهم عليهم. يوجد نوعان من التعليقات في جافا. يبدأ النوع الأول بالشريطتين // ويمتد حتى نهاية السطر. يوجد تعليق من هذا الشكل في السطر الأخير من البرنامج أعلاه. يتجاهل الحاسب الشريطتين // وكل ما يليهما على السطر نفسه. من جهة أخرى، يبدأ النوع الثاني من التعليقات بشريطة ونجمة /* وينتهي بشريطة ونجمة */ ويمكن أن يمتد ليشمل عدة أسطر. تُمثل الأسطر الثلاث الأولى من البرنامج مثالًا عن هذا النوع من التعليقات. (للتعليق الذي يبدأ بشريطة ونجمتين /**، كالمذكور أعلاه، معنى خاص؛ حيث أنه تعليق خاص بتوثيق جافا Javadoc ويمكن استخدامه لتوليد توثيق للبرنامج. انظر القسم الفرعي 4.6.5). كل ما عدا ذلك في البرنامج تفرضه قواعد صياغة جافا. تتمُّ البرمجة كاملةً في جافا ضمن "أصناف". ينصّ السطر الأول في البرنامج أعلاه (دون التعليق) أنّ هذا الصنف يدعى HelloWorld. إضافةً لكونه اسم الصنف، يُمثّل الاسم "HelloWorld" اسم البرنامج أيضًا. ليس كل برنامجٍ صنفًا. لتحديد البرنامج، يجب أن يتضمن الصنف برنامجًا فرعيًّا يدعى main وذلك بتعريفٍ يأخذ الشكل الآتي: public static void main(String[] args) { **تعليمات** } عندما تطلب من مُفسّر جافا أن ينفّذ البرنامج، يستدعي المُفسّر البرنامج الفرعيّ main()‎، وبذلك تُنفّذ التعليمات التي يحتويها. تُؤلّف هذه التعليمات النص البرمجيّ الذي يخبر الحاسب بالضبط بما سيقوم به عند تنفيذ البرنامج. يستطيع البرنامج main()‎ استدعاء برامج فرعيّة أخرى مُعرّفة في الصنف نفسه أو حتى في أصنافٍ أخرى، لكن البرنامج main()‎ هو من يحدّد كيفية وترتيب استخدام البرامج الفرعيّة الأخرى. تعني الكلمة public في السطر الأول من التابع ‎main‎‎()‎ أنّ هذا البرنامج (routine) يمكن استدعاؤه من خارج البرنامج. هذا الأمر بالغُ الأهميّة إذ أنّ البرنامج main()‎ يُستدعى من قبل مُفسّر جافا الذي هو أحيانًا خارجيّ بالنسبة للبرنامج نفسه. ما تبقى من السطر الأول من البرنامج أصعب من أن يُفسّر في الوقت الحالي، فكر بالأمر الآن على أنّه مجرّد صياغة ضرورية. البرنامج الفرعيّ هو مجموعةٌ من الأوامر التي تملي ما يجب القيام به، ويتألف في جافا من سلسلة من التعليمات المحاطة بقوسين من الشكل { }. استخدمنا هنا الكلمة «تعليمات» (statements) نيابةً عن التعليمات الفعلية في الحيز المخصص لها ضمن البرنامج. سنستخدم الترجمة العربية في الشيفرات باستمرار في هذا الكتاب للإشارة إلى حيّز ينوب عنه وصفه وتحتاج لكتابته فعلًا عندما تقوم بالبرمجة. كما أشرنا أعلاه، لا يتواجد البرنامج الفرعي بمفرده بل يكون جزءًا من "صنف". يُعرف البرنامج من خلال صنفٍ عام يأخذ الشكل التالي: تصريحات حزم اختيارية استيراد حزم اختيارية public class اسم البرنامج { تصريحات اختيارية لمتغيرات وبرامج فرعية public static void main(String[] args) { تعليمات برمجية } تصريحات اختيارية لمتغيرات وبرامج فرعية } يتعلق أول سطرَين باستخدام الحزم (packages). تُعرّف الحزمة بأنها مجموعة من الأصناف وستتعلم المزيد عنها في القسم 2.4 إلّا أنّ أمثلتنا في بادئ الأمر لن تستخدمها. يُمثل اسم البرنامج في السطر الذي يبدأ بالكلمات المفتاحية public class اسم البرنامج واسم الصنف في آنٍ معًا. تذكر أن استخدامنا لكلمة اسم البرنامج هو نيابةً عن الاسم الفعلي. إن كان اسم الصنف HelloWorld، عند ذلك يجب حفظ الصنف في ملفٍّ يحمل الاسم HelloWorld.java. عند تصريف هذا الملف، يتولد ملف جديد يحمل الاسم HelloWorld.class. يحتوي ملف الصنف هذا على ترجمة البرنامج إلى شيفرة جافا الثمانيّة والتي يمكن تنفيذها باستخدام مفسر جافا. يُدعى الملف HelloWorld.java بالشيفرة المصدرية (source code) للبرنامج. تحتاج لتنفيذ البرنامج إلى ملف class المُصرّف فقط وليس الشيفرة المصدرية. لا أهمية لتنسيق هيئة البرنامج على الصفحة كاستخدام الأسطر الفارغة والمسافات البادئة فهي ليست جزءًا من صياغة أو دلالة اللغة. لا يأبه الحاسب لهيئة البرنامج ولن يتغيّر شيءٌ حتى لو كتبت برنامجك على سطرٍ واحد. بيد أنّ هيئة البرنامج وتنسيق كتابته مهمّ للقراء البشريين، وهنالك ضوابط تنسيق محددة يتبعها معظم المبرمجين. لاحظ أيضًا أنه وفقًا لتوصيف الصياغة أعلاه، يمكن أن يحتوي البرنامج على برامج فرعية أخرى إلى جانب البرنامج الفرعيّ main()‎ إضافةٍ إلى ما يدعى بتصريح المتغيرات. ستتعلم المزيد عن كل هذا لاحقًا في الفصل 4. ترجمة -بتصرّف- للقسم Section 2.1 The Basic Java Application من فصل Chapter 2: Programming in the Small I: Names and Things من كتاب Introduction to Programming Using Java.
    1 نقطة
×
×
  • أضف...