CodeGym /مدونة جافا /Random-AR /ما هي أنواع مهام جافا لديك؟
John Squirrels
مستوى
San Francisco

ما هي أنواع مهام جافا لديك؟

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

تدرب على بناء جملة اللغة

هذه هي أولى مهام برمجة Java للمبتدئين - الأساسية - بدءًا من "Hello, World" وحتى الحلقات والمصفوفات. لدى CodeGym الكثير منها: فهي مركزة بشكل خاص في المستويات الستة الأولى من مهمة Java Syntax . من غير المحتمل أن تحتاج إلى البحث عن المزيد منها في مكان آخر. لدينا بالتأكيد ما يكفي للسيطرة عليهم. علاوة على ذلك، عندما تقوم بأي مهمة أكثر صعوبة، فإنك تقوم تلقائيًا بمراجعة بناء الجملة. ولكن إذا وجدت نفسك فجأة في حاجة إليها، فإن أي كتاب جافا للمبتدئين يحتوي على مشاكل مماثلة. ولكن على عكس CodeGym، لن تحتوي دفاتر التمارين هذه على إمكانية التحقق الفوري من المهام.

تدرب على المجموعات

المجموعات هي أول موضوع "جاد" يواجهه المبرمجون المبتدئون في دراستهم. يتم أيضًا تمثيل مهام المبتدئين المخصصة لمجموعات Java بشكل جيد في CodeGym - في المستويين السابع والثامن من مهمة Java Syntax. هذا هو المكان الذي سيسمع فيه الطالب لأول مرة عن Java Collections Framework، وسيعمل قليلاً مع واجهات Set وList وMap مع بعض تطبيقاتها. ومع ذلك، في هذه المرحلة، لن تحصل إلا على مقدمة لهذه الأداة المفيدة ومهام Java البسيطة. ستدرس المجموعات بشكل أكثر شمولاً أثناء مهمة مجموعات Java . يمكنك أن ترى مدى أهمية هذا الموضوع - فقد تمت تسمية مهمة كاملة باسمه!

الممارسة مع الاستثناءات

توفر Java آلية خاصة للتعامل مع المواقف الاستثنائية، مما يؤدي إلى تبسيط عملية "اكتشاف" أخطاء التطبيق بشكل كبير. ولكن لتحقيق أقصى استفادة منها، تحتاج إلى معرفة كيفية عمل معالجة الاستثناءات في Java. لدى CodeGym الكثير من هذه المهام. ستواجههم أيضًا في المهمة الأولى — Java Syntax. ما هي أنواع مهام جافا لديك؟  - 2

تدرب على صب النوع

يمكن بالطبع تصنيف هذه المجموعة من المهام على أنها مهام أساسية في بناء الجملة. ومع ذلك، في رأينا المتواضع، غالبًا ما يقلل الأشخاص من تقدير مثل هذه المهام، ويتخبط فيها المبتدئون. ولهذا السبب قمنا بكسر القالب: نحن لا ندرس مهام تحويل النوع البدائي في البداية كما يفعل الآخرون في كثير من الأحيان. بدلًا من ذلك، سنتعامل معها لاحقًا - في نهاية مهمة Java Syntax. وبعد ذلك سوف نتعلم كيفية إلقاء الأنواع (الكائنات) غير البدائية عندما ندرس OOP في مهمة Java Core . لدى CodeGym ما يكفي من هذه المهام. لا تحتاج إلى مزيد من البحث.

تدرب مع OOP

OOP ليس الموضوع الأكثر صعوبة، ولكنه في غاية الأهمية. وهو يخفي الكثير من التفاصيل الدقيقة التي يحب القائمون على إجراء المقابلات استخدامها للقبض على المطورين المبتدئين. تحتوي دورة CodeGym على مهام برمجة عملية للمبتدئين لمساعدتك على فهم الفلسفة الموجهة للكائنات. ولكن لفهم OOP حقًا، نوصي بقراءة الأدبيات ذات الصلة (على سبيل المثال، "Core Java" لكاي هورستمان وغاري كورنيل، أو "التحليل والتصميم الموجه للكائنات" لماكلولين، أو كتب أخرى ) .

تدرب على تدفقات الإدخال/الإخراج

نبدأ في استخدام تدفقات الإدخال/الإخراج قبل وقت طويل من فهمها. هذه جافا، جندبتي الصغيرة! يعد شرح System.out، ناهيك عن System.in، أمرًا صعبًا وغير ضروري عند البدء لأول مرة. ولكن أثناء عملك في مهمة Java Core ، فإنك تعرف ما يكفي لفهم هذا الموضوع المربك إلى حد ما، ونحن لا نتحدث فقط عن الإدخال/الإخراج لوحدة التحكم، ولكن أيضًا العمل مع نظام الملفات. الشيء الرئيسي هو عدم تخطي هذه المهام (لدى CodeGym الكثير) والتعمق في النظرية باستمرار.

ألعاب التفكير

نعني بـ "المسابقات الذهنية" المهام ذات التعقيد المتزايد التي لا تتعلق بالمعرفة بقدر ما تتعلق بالقدرة على تطبيق ما تعرفه بطرق غير تقليدية. هذه مهام شائعة لمطور Java المبتدئ. الشركات مغرمة جدًا بطرح الأسئلة عليهم أثناء المقابلات، ولكن في العمل الحقيقي، لا يتم مواجهة مثل هذه المسابقات الذهنية كثيرًا. لذا فإن CodeGym لديه بعض منها، ولكن ليس كثيرًا (ستراها عادةً في الدروس التي يقدمها Captain Squirrels). ما هي أنواع مهام جافا لديك؟  - 3أين يمكنني العثور على المسابقات الذهنية؟

الخوارزميات وهياكل البيانات

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

تعدد الخيوط

يمكن لأي شخص أن يكتب "مرحبا بالعالم!" برنامج. ولكن ماذا عن استخدام Java Thread API لعرض العبارة الشهيرة من سلسلة رسائل منفصلة؟ أو ماذا عن عرض "Hello, World!" خمس مرات من خمس خيوط مختلفة دون الخلط بين الخيوط؟ سيكون تعدد مؤشرات الترابط هو أفضل "اختبار لقوتك" أثناء دراستك لـ Java Core. تم تخصيص مهمة CodeGym بأكملها، والتي تسمى Java Multithreading ، لهذا الموضوع، وهو ليس بالأمر السهل على الإطلاق. يحتوي على عدد كبير من المهام للسماح للطلاب بالشعور "بألم وجمال" المعالجة المتوازية. عادةً ما تحتوي المشاريع "الحقيقية" الأولى للطلاب على مستوى معين من مؤشرات الترابط المتعددة. على سبيل المثال، الألعاب البسيطة. ما هي أنواع مهام جافا لديك؟  - 4

تدرب على تعدد الخيوط

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

تدرب مع الأدوية الجنيسة

التعميم هو جوهر الأتمتة، لذا فهو إلى حد ما جوهر البرمجة. وعليه، لا يمكننا تجاهل موضوع الأدوية الجنيسة في جافا. لدى CodeGym مهام برمجة تتضمن أدوية عامة (أساسًا في مهمة Java Collections، بدءًا من المستوى 5). أين يمكنني العثور على تمارين ومواد مفيدة حول الأدوية الجنيسة؟

تدرب على أنماط التصميم

في مرحلة ما (ثلثي الطريق خلال دورة CodeGym)، يجب على المبرمجين المبتدئين البدء في النظر إلى القواعد لتحقيق مستوى جيد في البرمجة. نحن نتحدث عن تنسيق التعليمات البرمجية المناسب (أبسط) وأنماط التصميم (أكثر صعوبة). لدى CodeGym مهام لهذا الغرض. ستحتاج إلى المزيد ويمكنك العثور عليها في " Head First Design Patterns " بقلم إليزابيث فريمان وكاثي سييرا. أو يمكنك التفكير في كيفية تطبيق أنماط التصميم على المهام التي تم حلها مسبقًا.

وحدة التجارب

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

تدرب على التعبيرات العادية

هذا موضوع بسيط لا يفهمه أي مبتدئ تقريبًا، لأنه غير مألوف وهم كسالى. من المفيد حقًا قضاء بضعة أيام في دراسة الموضوع، والوصول إلى الجزء السفلي من "التعبير العادي"، والحصول على ميزة على أولئك الذين لم يفعلوا ذلك. وهذا مفيد أيضًا لأن التعبيرات العادية لا تعتمد على اللغة تقريبًا: إذا تعلمتها مرة واحدة، فستتمكن من استخدامها في كل مكان. ليس لدى CodeGym أي مهام مخصصة للتعبيرات العادية، على الرغم من أنه يمكن حل بعضها بمساعدتهم. فيما يلي موارد إضافية لفهم هذا الموضوع:
  • regex101.com — موقع ويب يمكنك من خلاله التحقق من التعبيرات العادية عبر الإنترنت
  • كتاب مايك فيتزجيرالد "تقديم التعبيرات العادية" - كتاب تمهيدي موجز وبسيط.
ما هي أنواع مهام جافا لديك؟  - 5

تدرب على الأسئلة الخادعة حول Java

تتضمن هذه الفئة مهام صعبة لا ترتبط عادةً بشكل مباشر بأعمال البرمجة الحقيقية. يتم مواجهتها بشكل رئيسي أثناء المقابلات، حيث يتم استخدامها لفهم عمق فهم/معرفة المرشح لتكنولوجيا معينة أو لاختبار اهتمامه بالتفاصيل. إذا كنت بحاجة إلى مهام مثل هذه، فابحث عن "أسئلة مقابلة Java" أو شيء مشابه على Google. من المحتمل أن تجد مجموعة من مجموعات المشكلات، بالإضافة إلى الأسئلة والأجوبة في جميع أنواع المنتديات. من الجيد أن نفهمها، ولكن هل من المفيد قضاء الكثير من الوقت عليها؟ في مقال لمجلة InformIT، أشار كاي هورستمان ذات مرة إلى نقطة جيدة حول مثل هذه المهام. ولإعادة صياغة أفكاره بإيجاز، هناك مهام في العالم الحقيقي وهناك عالم موازٍ من "أسئلة المقابلة".

تدرب على تعبيرات لامدا

ظهر دعم تعبيرات لامدا في Java 8، لكن لم يتم استخدامها بحماس من قبل جميع المبرمجين. ومع ذلك، يتضمن مفهوم "مهام مطوري Java المبتدئين" اليوم عمليات باستخدام تعبيرات Lamda، لذلك نوصي بالتعرف عليها .

ممارسة العمل مع الشبكات

التسلسل إلى JSON وRMI وHttpUrlConnection والمقابس... هذه ليست موضوعات برمجة للمبتدئين تمامًا. إنها تتطلب مهارات قوية وتمثل جسرًا لمشاريعك الخاصة والتدريب الداخلي والتوظيف. تحتوي المستويات المتقدمة لـ CodeGym (مهمة Java Collections) على الكثير من التمارين لمساعدتك على إتقان هذه الاستراتيجيات والتقنيات، ولكن كل شيء سيصبح أكثر وضوحًا عند إكمال التدريب عبر الإنترنت.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION