أهلاً! سنتحدث اليوم عن مسار نمو مطور Java وما يجب أن يعرفه ليكون مطلوبًا. في المقابلة، قد يقوم أي مطور باستجواب المرشح للوظيفة. على سبيل المثال، قد يبدأون في طرح أسئلة حول موضوعات محددة واجهوها في مشروعهم الحالي. لكن عدم معرفة كل شيء أمر طبيعي. حقيقة عدم قدرتك على الإجابة على بعض الأسئلة أمر طبيعي أيضًا. كقاعدة عامة، يجب أن يكون لدى كل مبرمج جافا فهم أساسي لتطوير البرمجيات. لذلك دعونا نلقي نظرة على ما يعتبر "أساسيا".
يجب أن تضع هذا في المقام الأول حتى تتمكن من فهم ما هو Spring - كل ما يتعلق بحاويات Spring والفاصوليا وDI وIoC وما إلى ذلك. لفهم فلسفة استخدام الربيع، إذا جاز التعبير. ستعتمد دراستك الإضافية لأطر الربيع على هذه القاعدة. ربما يتعين عليك إنشاء تطبيقك الصغير الذي يمكنك من خلاله دمج جميع التقنيات التي تعلمتها حديثًا تدريجيًا.
لقد ذكرنا سابقًا JDBC كتقنية لإنشاء اتصال بقاعدة البيانات. بشكل عام، لم يعد من الممكن العثور على الاستخدام "العاري" للتكنولوجيا في المشاريع، لذلك قد تستنتج أن تعلم JDBC ليس ضروريًا. وهذا ليس الموقف الصحيح تماما. من خلال استكشاف الاستخدام المجرد (المباشر) لـ JDBC، يمكنك رؤية التكنولوجيا على مستوى أدنى وفهم مشاكلها وعيوبها. ثم عندما تبدأ في تعلم Spring JDBC، ستدرك بالضبط ما الذي يقوم هذا الإطار بتحسينه وتحسينه وإخفائه.
على غرار الوضع مع JDBC المجرد، يستفيد إطار العمل هذا من تقنية موجودة، في هذه الحالة، السبات. إذا كنت تفكر في استخدام السبات بدون Spring، فسوف تدرك بالتأكيد الفوائد التي يقدمها Spring Hibernate.
تحدثنا سابقًا عن JPA وذكرنا أنها مجرد مواصفات، على الرغم من أن لها تطبيقات مختلفة. من بين هذه التطبيقات، يعتبر Hibernate الأقرب إلى المثالية. يمتلك Spring تطبيق JPA المثالي الخاص به والذي يستخدم السبات تحت الغطاء. إنه أقرب ما يكون إلى مواصفات JPA المثالية. يطلق عليه Spring JPA. باختصار، فإنه يبسط إلى حد كبير الوصول إلى قاعدة البيانات. لا يمكنك تعلم JPA إلا دون تعلم JDBC أو Hibernate أو Spring JDBC أو Spring Hibernate. ولكن إذا اتبعت هذا النهج، فإن معرفتك بكيفية الاتصال بقاعدة البيانات ستكون سطحية للغاية.
تتيح هذه التقنية عرض واجهة الويب الخاصة بتطبيقنا للمستخدمين وتسهيل الاتصال بين الواجهة وبقية التطبيق. يمكن أيضًا استخدام التقنية بدون العرض عندما يكون لديك تطبيق مسؤول عن التعامل مع العرض وأنت تتفاعل مع التطبيق باستخدام تقنية RESTful .
من أجل استيعاب المعلومات بشكل أفضل حول الربيع، بالإضافة إلى المقالات والمحاضرات على اليوتيوب، يمكنك قراءة العديد من الكتب. لقد أحببت حقًا كتاب "الربيع في العمل" للكاتب كريج وولز. أنصحك بقراءة الإصدار السادس إذا كنت تعرف اللغة الإنجليزية جيدًا. كتاب عظيم آخر عن الربيع هو "الربيع الخامس للمحترفين". إنها أكثر كثافة. أشبه بمرجع يكون الاحتفاظ به في متناول اليد أكثر قيمة من قراءة الغلاف للغلاف.
هذه التكنولوجيا تبسط إلى حد كبير استخدام الربيع. لم أضعه في نهاية القائمة لمجرد نزوة. في الواقع، إنه يخفي الكثير تحت غطاء المحرك، وبالنسبة لشخص غير مطلع على ربيع الفانيليا، قد تكون العديد من النقاط غير واضحة أو غير مفهومة. أولاً، لفهم أفضل لكيفية عمل أطر عمل Spring، يجب عليك استخدام Spring العادي، ثم الحصول على جميع المزايا الأعلى لاستخدام Spring Boot. أوصي أيضًا بالتعرف على Spring Security و Spring AOP. ولكن على عكس التقنيات المذكورة أعلاه، ليست هناك حاجة إلى معرفة عميقة بهذين الاثنين حتى الآن. هذه التكنولوجيا ليست للمبتدئين. في المقابلات، لن يتم سؤال المطورين المبتدئين عنهم (باستثناء سؤال سطحي واحد، ربما). اقرأ نظرة عامة على ماهية هذه التقنيات والمبادئ الكامنة وراء عملها. في هذه المقالة، ذكرت مرارا وتكرارا قراءة الكتب. من ناحية، هذا ليس إلزاميا. يمكنك أن تصبح مبرمجًا دون قراءة كتاب واحد، واكتساب كل المعرفة المطلوبة من المقالات عبر الإنترنت ومقاطع الفيديو التدريبية. من ناحية أخرى، في سوق العمل، ترتفع المنافسة بين المطورين المبتدئين في الوقت الحالي، مما يرفع مستوى ما يحتاج المبتدئ إلى معرفته. لذلك، كلما زادت معرفتك، كلما تمكنت من العثور على وظيفتك الأولى بشكل أسرع من خلال إقناع الشخص الذي يجري معك المقابلة بمستوى معرفتك. شكرا للجميع، وقد تكون جافا معك.
1. الخوارزميات الأساسية
أول شيء يجب معالجته عند البدء في تعلم البرمجة (وليس فقط Java) هو فهم الأساسيات. على سبيل المثال، الخوارزميات. هناك عدد لا حصر له منها، ويجب ألا تقضي سنوات كاملة من حياتك في محاولة تعلم أكبر عدد ممكن من الخوارزميات: فمعظمها لن يكون مفيدًا لك. يمكنك الحصول على الحد الأدنى اللازم من المعرفة من كتاب "Grokking Algorithms". هذا يكفي للبدء، ولكن إذا أردت، يمكنك التعلم من كتاب "الهياكل والخوارزميات" أو "الخوارزميات في جافا" لروبرت سيدجويك وكيفن واين. أوصي أيضًا بتحسين معرفتك بأساسيات علوم الكمبيوتر. يمكن القيام بذلك من خلال دورة Harvard CS50.2. بناء جملة جافا
بعد تعلم أساسيات الخوارزميات، نحتاج إلى تعلم بناء جملة Java. بعد كل شيء، نحن جميعًا ندرس لنصبح مبرمجي جافا هنا، أليس كذلك؟ دورة CodeGym مثالية لهذا الغرض. أثناء قيامك بمهام لا تعد ولا تحصى، سوف تضع يديك على بناء جملة Java وبعد ذلك، دون الكثير من التردد، ستكتب/تقرأ كود Java كما لو كانت لغتك الأم. CodeGym عبارة عن ممارسة، ولكن أبعد من ذلك، تحتاج أيضًا إلى إلقاء نظرة على النظرية لفهم ما تفعله. للقيام بذلك، يمكنك قراءة الكتب. على سبيل المثال، أحد الإجراءات التالية:- "رأس جافا الأول"،
- "Java for Dummies" بقلم باري بيرد؛
- "جافا: دليل المبتدئين" بقلم هربرت شيلدت.
- "التفكير في جافا"، بروس إيكل؛
- "جافا الفعالة" بقلم جوشوا بلوخ؛
- "جافا: المرجع الكامل" بقلم هربرت شيلدت.
3. أنماط التصميم
أنماط التصميم هي أنماط معينة قابلة للتكرار تحل المشكلات في السياقات التي تتم مواجهتها بشكل متكرر. وهي تتضمن أنماطًا أساسية وبسيطة يجب أن يعرفها كل مبرمج يحترم نفسه. لفهم هذا الموضوع، احصل على كتاب "أنماط تصميم الرأس الأول". ويشرح أنماط التصميم الأساسية بطريقة يسهل الوصول إليها. لكن الكتاب يتحدث كثيرًا عن Java، لذلك عندما تستهلك هذا الكتاب ستحتاج أيضًا إلى إتقان لغة البرمجة هذه. للتعمق أكثر في الأنماط، يمكنك أيضًا قراءة "أنماط التصميم: عناصر البرامج الموجهة للكائنات القابلة لإعادة الاستخدام" من مجموعة الأربعة ( ملاحظة المحرر: عصابة الأربعة هي فريق من المؤلفين يضم إريك جاما وريتشارد هيلم ورالف جونسون، جون فليسيدس. ). بمجرد الانتهاء من دراسة هذا الموضوع، ستبدأ في رؤية الأنماط في كل مكان تقريبًا في التعليمات البرمجية الخاصة بك. انتبه لهذا، خاصة الأنماط المستخدمة في الربيع، حيث أن هذا سؤال شائع في المقابلة.4. نماذج البرمجة. نظافة الكود
إلى جانب أنماط التصميم القياسية، هناك العديد من المبادئ والنماذج التي يجب أن تكون على دراية بها ( SOLID ، GRASP ). تحتاج أيضًا إلى الحفاظ على التعليمات البرمجية الخاصة بك نظيفة وقابلة للقراءة. لمعرفة كل شيء، تحتاج إلى معرفته حول هذا الموضوع، راجع Clean Code بقلم Robert Martin، أو راجع "Code Complete" بقلم Steve McConnell.5. إس كيو إل
خطوتنا التالية هي دراسة لغة قواعد البيانات العلائقية - SQL . قواعد البيانات هي المكان الذي يتم فيه تخزين المعلومات (البيانات) التي يستخدمها تطبيق الويب. تتكون قاعدة البيانات من عدة جداول (دفتر العناوين الموجود على هاتفك هو مثال بسيط). مطورو Java مسؤولون ليس فقط عن تطبيق Java، ولكن أيضًا عن قاعدة البيانات التي يتفاعل معها ومكان تخزين بياناته. في قواعد البيانات العلائقية (وهي النوع الأكثر شيوعًا)، تتم جميع التفاعلات من خلال لغة خاصة تسمى لغة الاستعلام الهيكلية، أو SQL. لفهم هذا الموضوع، كل ما عليك فعله هو قراءة أحد هذه الكتب:- "تعلم SQL" بقلم آلان بوليو؛
- "SQL" بقلم كريس فيهيلي؛
- "Head First SQL" بقلم لين بيجلي.
GO TO FULL VERSION