كيفاش نولي Développeur Java باهي ؟ 🤔

الJava ام الدنيا على عكس ما يتخيله برشة وخيان هي لغة برمجة ساهلة برشة.. واضحة وحتى les notions المعقدة فيها كيف تركز فيها تلقاها حلوة..

قبل ما تبدى ادڨدڨ في الكود.. لازمك bagage باهي في الalgorithmique.. الحاجة اللي تفرق بين Développeur باهي وخايب هي طريقة التفكير متاعو في حل اي مشكل.. التمشي باش تفكك المشكلة وطريقة تقديم الحل لازمها شوية خدمة.. برشة كتب خوارزميات توجدت باش تعطي بعض الحلول لبرشة مسائل معروفة.. كيما problème de voyageur de commerce وحتى ابسط مثلا كيفاه تلوج على élément في وسط Tableau.. نعرف اللي برشة منكم توة يحبوا يتعدوا direct للكود وماشي في بالهم تضييع وقت الalgorithme.. وبرشة زادة يقلك اللي نعرفوا يزي المهم خليني نبدى نكودي وتو بعد نرجعلوا.. عيب يا لولو.. من المستحسن تعمل تعمق باهي في الalgorithmique وبعد ارمي روحك في احضان الكود موش هارب.. علاش هذا الكل؟ على خاطر ببساطة الناس اللي كتبت الجافا ام الدنيا حضروا برشة des fonctions اللي يطبقوا فيها برشة des algorithmes معروفين.. كيف تبدى انت تعرفهم اكيد باش تعرف كيفاه ووين باش تستعملهم وهاذي تتسمى efficacité وهي من اكبر نقاط القوة متاع مبرمج كاسح.. كيما يقول Jérôme “زايد باش نعاودوا نخترعوا العجلة”.. استعمال الموجود هو اكبر ركائز الopen source والdéveloppement logiciel.. وهنا يجي concept اخر بين الخوارزميات والكود وهو الdesign pattern.. وهو عبارة على recette متاع ممارسة معينة.. مثلا في الطبخ يقلك كي تحل خميرة في ماء سخون زيدها سكر باش تتحل اكثر وخير.. de même في البرمجة يقلك كان تحب تعمل code générique تنجم تستعمل القالب Décorateur.. القوالب هاذم موش برشة هما 23 وبداو يزدوا من وقت اللي جتنا الCloud.. بالرغم اللي هما موش برشة، للأسف برشة مبرمجين ما يعرفهمش وحنى كان يعرفهم ما يستعملهمش.. والنتيجة حتمية.. ما اتبعش الrecette الماكلة فما risque تجي موش باهية.. الكود اصعب من الماكلة على خاطر الfinalité متاع الماكلة هي الtoilette 😁 اما ااكود ماشي للproduction.. وحتى كان نهار لقيتوا production تشبه للcuvette راو 99 بالمائة من الDéveloppeuret اللي يخرجوا في كود زبالة.. 😂

توة نتعدوا لأم الدنيا.. باش تتعلم الجافا فما برشة مراحل لكنهم حلوين.. من الاول تتعلم الsyntaxe وانواع les objets الموجودين وبعد les boucles و les iterations مرورا بالles conditions.. الاشكال موش شنية باش نتعلم في الجافا.. لكن كيفاه نتعلم؟ الاجابة هاذي تجاوب عليها بسؤال ساهل.. تحب تقرى كتاب فيه 1000 صفحة ؟ والا تتفرج في فيديو طولو 37 ساعة؟ تنجم تقرى وحدك والا لازمك حد معاك ؟ 😁 ايه ؟ اش قلت؟ في كل الحالات انت اللي يلزمك تفهم كيفاه تقبل المعلومة وبناء عليها تبدى.. الاحسن والمفيد هو الكتاب.. على خاطر ديما الcontenu اكثر وديما الجملة قدام عينيك تنجم تعاود تقراها الف مرة.. الفيديوات اكيد باهية خاصة للناس اللي ماخيش صحبة مع الكتب وتقلق فيسع من برشة كتيبة في écran موش حتى ورقة.. بالنسبة لاختيار الكتاب المناسب واللي الفيديو التحفون باش نحاول نحط شوية اقتراحات في اخر الpost..

بعد ما تتعلم اللغة لازم تبدى تتعلم حاجات avancé شوية عالاساسيات كيما Java Enterprise اللي ولا اسمها Jakarta EE.. ماو قلنا لازم نستعملوا الموجود.. لازم شوية les frameworks خاصة الSpring ومشتقاته..

اكيد راكم سمعتوا بالDevOps.. الbase متاعها انو الdéveloppeur يعمل ضربات infrastructure.. هذاكا علاش الDéveloppeur توة اللي مايفهمش Docker و Kubernetes ماينجمش يعيش belgdé في الmarché..

اه اي.. تذكرت حاجة مهمة قبل ما نختم.. الcertification لازمة والا لا؟ مثلا certification basique تقلك اللي انت تعرف les fondamentaux متاع لغة البرمجة.. اما مستحيل تقلك اذا تعرف تخمم والا لا.. انا شخصيا ننصح انك تخدم شوية des projets وحدك وتحطهم في Github وتخليه كreference متاعك.. خير وأقل فلوس.. بالعكس كيف تعمل Github تنجم تحط فيه des mini projets تستعملdes patrerns وتزيد framework.. تولي référence خير من certification..

شوية كتب ننصحكم بيها

== Algorithmes et Patterns ==

  • Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne
  • Head First Design Patterns

== Java SE ==

  • Sun Certified Programmer for Java 6 Study Guide
  • Head First Java, 2nd Edition
  • Java The Complete Reference, 11th Edition
  • Effective Java 3rd Edition

== Spring ==

  • Hibernate Quickly
  • Spring Boot in Action

== Java EE ==

  • Java EE 6 and GlassFish 3
  • Java EE 8 Application Development

== Microservices ==

  • Building Microservices by Sam Newman
  • Playing with Java Microservices on Kubernetes and OpenShift

== Docker & Kubernetes ==

  • Docker in Practice, 2nd Edition
  • Kubernetes in action

== Testing & Agilité & More ==

  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Effective Unit Testing: A guide for Java developers
  • Java Concurrency in Practice
  • Domain-Driven Design: Tackling Complexity in the Heart of Software

بالتوفيق للناس الكل..