היי! היום נדבר על נתיב הצמיחה של מפתח Java ועל מה שהוא או היא חייבים לדעת כדי להיות מבוקש.
בראיון, כל מפתח עשוי להגריל את המועמד לעבודה. לדוגמה, הם עשויים להתחיל לשאול שאלות על נושאים ספציפיים שהם נתקלו בהם בפרויקט הנוכחי שלהם. אבל לא לדעת הכל נורמלי. גם העובדה שאתה לא יכול לענות על כמה שאלות היא נורמלית. ככלל, כל מתכנת Java חייב להיות בעל הבנה בסיסית בפיתוח תוכנה. אז בואו נסתכל על מה שנחשב "בסיסי".
אני גם ממליץ בחום לחפש שאלות מראיונות Java. זה יעזור לך להבין מה בדיוק אתה צריך ללמוד ולאילו שאלות להתכונן.
MySQL הוא הרבה יותר פשוט, אבל ל-PostgreSQL יש יכולות הרבה יותר רחבות. מספיק להכיר לפחות אחד מהם כדי להתחיל. אתה יכול ללמוד יישומי מסד נתונים אם אתה משתמש בכישורי הגוגל שלך - מצא מאמרים ומדריכים רלוונטיים ב-YouTube. תצטרך לטפח את היכולת שלך ליצור שאילתות חיפוש נכונות עבור השאלות שאתה צריך לענות עליהן. אחרי הכל, מתכנת הוא מישהו עם חגורה שחורה בגוגל.
בנוסף למאמרים הרבים על Git שתוכלו למצוא באינטרנט, ליוטיוב יש די והותר סרטונים שיעזרו לכם לשלוט בטכנולוגיה הזו, צעד אחר צעד. בהתחלה, עדיף להשתמש ב-Git משורת הפקודה ולא במימוש GUI כלשהו, כי תאלץ לעשות הכל באמצעות פקודות. בראיונות, אנשים אוהבים לעתים קרובות לשאול על כמה פקודות Git, אז אני ממליץ לך לכתוב אותן ולשמור איפשהו קרוב. אני גם ממליץ לך לרשום הערות, לעקוב אחר הנקודות החשובות ביותר על מנת לעבור עליהן לפני הראיון ולרענן את הזיכרון.
הכרת המסגרת הזו חשובה כעת כמו הכרת תחביר Java. אפשר לומר שלאביב יש אח, כלומר Java EE. אבל Java EE מיושן ואינו בשימוש עוד בפרויקטים חדשים. הרוב המכריע של מפתחי Java הם כעת מפתחי Java-Spring, כך שהכרת כמה טכנולוגיות Spring בסיסיות היא חובה. אביב הוא לא רק מסגרת, אלא מסגרת שלמה של מסגרות:
וזו רק תת-קבוצה של המסגרות שאביב מספק. למתחילים, לדעת רק כמה מהם זה מספיק טוב:
אתה צריך לשים את זה במקום הראשון, כדי שתוכל להבין מה זה Spring - הכל על מיכלי Spring, שעועית, DI, IoC וכן הלאה. להבין את עצם הפילוסופיה של השימוש באביב, כביכול. המשך הלימוד שלך במסגרות אביב יתבסס על הבסיס הזה. אולי כדאי ליצור אפליקציה קטנה משלך שבה תוכל לשלב בהדרגה את כל הטכנולוגיות החדשות שנלמדו.
קודם לכן הזכרנו את JDBC כטכנולוגיה ליצירת חיבור למסד נתונים. באופן כללי, כבר לא ניתן למצוא שימוש "עירום" בטכנולוגיה בפרויקטים, כך שאתה עשוי להסיק שאין צורך בלימוד JDBC. זו לא בדיוק הגישה הנכונה. על ידי חקירת שימוש עירום (ישיר) ב-JDBC, אתה יכול לראות את הטכנולוגיה ברמה נמוכה יותר ולהבין את הבעיות והחסרונות שלה. ואז כשתתחיל ללמוד Spring JDBC, תבין מה בדיוק המסגרת הזו משפרת, מייעלת ומסתירה.
בדומה למצב עם JDBC עירום, המסגרת הזו ממנפת טכנולוגיה קיימת, במקרה זה, Hibernate. אם אתה שוקל להשתמש ב-Hibernate ללא Spring, אתה בהחלט מבין את היתרונות ש-Spring Hibernate מציע.
קודם לכן דיברנו על JPA והזכרנו שזה רק מפרט, אם כי יש לו יישומים שונים. בין ההטמעות הללו, Hibernate מגיע הכי קרוב לאידיאל. ל-Spring יש יישום JPA אידיאלי משלו המשתמש ב-Hibernate מתחת למכסה המנוע. זה קרוב ככל האפשר לאידיאל של מפרט ה-JPA. זה נקרא Spring JPA. במילה אחת, זה מפשט מאוד את הגישה למסד הנתונים. אתה יכול ללמוד JPA רק בלי ללמוד JDBC, Hibernate, Spring JDBC או Spring Hibernate. אבל אם תנקוט בגישה הזו, הידע שלך כיצד להתחבר למסד נתונים יהיה מאוד שטחי.
טכנולוגיה זו מאפשרת להציג את ממשק האינטרנט של האפליקציה שלנו למשתמשים ולהקל על התקשורת בין הממשק לשאר האפליקציה. ניתן להשתמש בטכנולוגיה גם ללא תצוגה כאשר יש לך אפליקציה שאחראית על הטיפול בתצוגה ואתה מקיים אינטראקציה עם האפליקציה באמצעות טכנולוגיית RESTful .
על מנת לספוג טוב יותר מידע על אביב, בנוסף למאמרים והרצאות ביוטיוב, תוכלו לקרוא מספר ספרים. אהבתי מאוד את הספר "אביב בפעולה" מאת קרייג ווללס. אני ממליץ לך לקרוא את הגרסה השישית, אם אתה יודע אנגלית היטב. ספר נהדר נוסף על אביב הוא "אביב 5 למקצוענים". זה יותר צפוף. יותר כמו רפרנס שיותר חשוב להחזיק בהישג יד מאשר לקרוא כריכה לכריכה.
טכנולוגיה זו מפשטת מאוד את השימוש ב-Spring. לא שמתי את זה בסוף הרשימה בגחמה. ואכן, הוא מסתתר הרבה מתחת למכסה המנוע, ולמי שלא מכיר את קפיץ הוניל, נקודות רבות עשויות להיות לא ברורות או לא מובנות. ראשית, כדי להבין טוב יותר כיצד פועלות מסגרות Spring, עליך להשתמש ב-Spring רגיל, ולאחר מכן להפיק את כל היתרונות הגבוהים יותר של השימוש ב-Spring Boot. אני ממליץ לך גם להכיר את Spring Security ו-Spring AOP. אבל בניגוד לטכנולוגיות שלמעלה, עדיין אין צורך בידע עמוק של שתי אלה. טכנולוגיה זו אינה מיועדת למתחילים. בראיונות, מפתחים זוטרים לא ישאלו עליהם (למעט שאלה שטחית אחת, אולי). קרא סקירה כללית של מהן הטכנולוגיות הללו והעקרונות מאחורי עבודתן. במאמר זה הזכרתי שוב ושוב ספרי קריאה. מצד אחד, זה לא חובה. אתה יכול להפוך למתכנת מבלי לקרוא ספר אחד, לצבור את כל הידע הנדרש ממאמרים מקוונים וסרטוני הדרכה. מצד שני, בשוק העבודה התחרות בין מפתחים מתחילים גבוהה כיום, מה שמעלה את הרף למה שמתחיל צריך לדעת. לכן, ככל שתדע יותר, כך תמצא מהר יותר את העבודה הראשונה שלך על ידי הרשמת המראיין ברמת הידע שלך. תודה לכולם, ושג'אווה תהיה איתך.

1. אלגוריתמים בסיסיים
הדבר הראשון שצריך להתמודד איתו כשמתחילים ללמוד תכנות (לא רק ג'אווה) הוא להבין את היסודות. למשל, אלגוריתמים. יש אינסוף מהם, ולא כדאי להרוג שנים שלמות מחייך בניסיון ללמוד כמה שיותר אלגוריתמים: רובם לא יועילו לך. אתה יכול לקבל את המינימום הדרוש של ידע מהספר "אלגוריתמים של גרוקינג". זה מספיק כדי להתחיל, אבל אם תרצו, תוכלו ללמוד מהספר "מבנים ואלגוריתמים" או "אלגוריתמים בג'אווה" מאת רוברט סדג'וויק וקווין וויין. אני גם ממליץ לך לשפר את הידע שלך ביסודות מדעי המחשב. ניתן לעשות זאת עם קורס הרווארד CS50.2. תחביר ג'אווה
לאחר לימוד היסודות של אלגוריתמים, עלינו ללמוד תחביר Java. אחרי הכל, כולנו לומדים להיות מתכנתי ג'אווה כאן, נכון? קורס CodeGym מושלם עבור זה. כאשר תבצעו אינספור משימות, תשימו ידכם על תחביר ג'אווה ואז, בלי הרבה היסוס, תכתבו/תקראו קוד ג'אווה כאילו הוא שפת האם שלכם. CodeGym הוא תרגול, אבל מעבר לזה, אתה צריך גם להסתכל על התיאוריה כדי להבין מה אתה עושה. כדי לעשות זאת, אתה יכול לקרוא ספרים. לדוגמה, אחד מהבאים:- "ראש ג'אווה",
- "Java for Dummies" מאת בארי בירד;
- "Java: A Beginner's Guide" מאת הרברט שילדט.
- "חושבים בג'אווה", ברוס אקל;
- "ג'אווה יעילה" מאת יהושע בלוך;
- "Java: The Complete Reference" מאת הרברט שילדט.

3. עיצוב דפוסים
דפוסי עיצוב הם דפוסים מסוימים שניתן לחזור עליהם הפותרים בעיות בהקשרים שנתקלים בהם לעתים קרובות. הם כוללים דפוסים בסיסיים ופשוטים שכל מתכנת שמכבד את עצמו צריך להכיר. כדי להבין את הנושא הזה, קח את הספר "דפוסי עיצוב ראש ראשון". הוא מסביר את דפוסי העיצוב הבסיסיים בצורה נגישה. אבל הספר מדבר הרבה על ג'אווה, כך שכשתצרוך את הספר הזה תצטרך גם שליטה בשפת התכנות הזו. לצלילה עמוקה יותר לתוך דפוסים, אתה יכול גם לקרוא את "דפוסי עיצוב: אלמנטים של תוכנה מוכוונת עצמים לשימוש חוזר" מתוך כנופיית הארבעה ( הערת העורך: כנופיית הארבעה היא צוות מחברים הכולל את אריך גמא, ריצ'רד הלם, ראלף ג'ונסון, ג'ון וליסידס. ). לאחר שלמדת את הנושא הזה, תתחיל לראות דפוסים כמעט בכל מקום בקוד שלך. שימו לב לכך, במיוחד לדפוסים בהם נעשה שימוש באביב, מכיוון שזוהי שאלת ראיון פופולרית.4. פרדיגמות תכנות. ניקיון קוד
מלבד דפוסי העיצוב הסטנדרטיים, ישנם עקרונות ופרדיגמות שונות שכדאי להכיר ( SOLID , GRASP ). אתה גם צריך לשמור על הקוד שלך נקי וקריא. לכל דבר, אתה צריך לדעת על הנושא הזה, ראה קוד נקי מאת רוברט מרטין, או בדוק את "קוד מלא" מאת סטיב מקונל.5. SQL
הצעד הבא שלנו הוא ללמוד שפה עבור מסדי נתונים יחסיים - SQL . מאגרי מידע הם המקום שבו מאוחסן המידע (הנתונים) המשמשים יישום אינטרנט. מסד נתונים מורכב ממספר טבלאות (פנקס הכתובות בטלפון שלך הוא דוגמה פשוטה). מפתחי Java אחראים לא רק על אפליקציית Java, אלא גם על מסד הנתונים שהוא מקיים איתו אינטראקציה והיכן הוא מאחסן את הנתונים שלו. במסדי נתונים יחסיים (שהם הסוג הנפוץ ביותר), כל האינטראקציה מתרחשת באמצעות שפה מיוחדת הנקראת Structured Query Language, או SQL. כדי להבין את הנושא הזה, כל מה שאתה צריך לעשות הוא לקרוא את אחד מהספרים הבאים:- "לימוד SQL" מאת אלן בוליו;
- "SQL" מאת כריס פהילי;
- "SQL ראש ראשון" מאת לין ביילי.
6. MySQL/PostgreSQL
לאחר לימוד שפת SQL, עליך להכיר יישום מסד נתונים ספציפי. בהתאם למסד הנתונים, פקודות מסוימות עשויות להשתנות באופן דרמטי. ויש הבדלים בולטים למדי ביכולות מסד הנתונים. מסדי הנתונים היחסיים הנפוצים ביותר הם MySQL ו- PostgreSQL .
7. Maven/Gradle
אתה צריך ללמוד את המסגרת של Gradle או Maven . הם מיועדים לבניית פרויקטים, ועבורכם, Java מיועדת כעת לא רק למשימות הכוללות כמה שיעורים, אלא גם שפה לכתיבת יישומים מלאים. עליכם להבין כיצד בונים פרויקט, מהם שלבי הבנייה, כיצד לטעון את הספריות החיצוניות הדרושות בקוד של צד שלישי ועוד ועוד. למרות העובדה ש- Gradle חדש ותמציתי יותר, משתמשים ב-Maven ברוב המקרים. לכן, שימו לב במיוחד למחזור החיים של Maven build.8. גיט
Git היא מערכת בקרת גרסאות מבוזרת. טכנולוגיה זו מאפשרת למפתחים לשתף פעולה באפליקציה אחת מבלי להפריע זה לזה. כמובן, יש מערכות אחרות לבקרת גרסאות. לדוגמה, Subversion . אבל Git נמצא בשימוש הנפוץ ביותר, ואתה צריך להיות מסוגל לעבוד איתו.
9. JDBC
טכנולוגיה זו מחברת את אפליקציית Java שלך ומסד נתונים יחסי. עבור היסודות, אני ממליץ לקרוא כל מדריך של JDBC. יש שפע של מאמרים שמסבירים את JDBC ומספקים דוגמאות בסיסיות, למרות שאף אחד כבר לא משתמש ישירות ב-JDBC עירום.10. JPA. שינה
JPA היא דרך ליצור חיבור בין יישום Java למסד נתונים, בדיוק כמו JDBC. אך יחד עם זאת, JPA היא טכנולוגיה ברמה גבוהה יותר ולכן קלה יותר לשימוש. אבל JPA הוא רק מפרט, לא יישום. זה צריך יישום קונקרטי. רבים מהם קיימים, אבל הקרוב ביותר לאידיאלים של ה-JPA, הפופולרי והמפותח ביותר הוא Hibernate. אתה תתקל בטכנולוגיה הזו יותר מפעם אחת בקריירת פיתוח התוכנה שלך. לכן, בנוסף להיכרות עם הטכנולוגיה הזו על ידי קריאת מאמרים, אולי כדאי לחשוב על קריאת ספר, למשל, "Java Persistence API".11. אביב
כשאתה הופך למפתח Java, Spring היא כבר לא רק מילה בשבילך.

- ליבת אביב
אתה צריך לשים את זה במקום הראשון, כדי שתוכל להבין מה זה Spring - הכל על מיכלי Spring, שעועית, DI, IoC וכן הלאה. להבין את עצם הפילוסופיה של השימוש באביב, כביכול. המשך הלימוד שלך במסגרות אביב יתבסס על הבסיס הזה. אולי כדאי ליצור אפליקציה קטנה משלך שבה תוכל לשלב בהדרגה את כל הטכנולוגיות החדשות שנלמדו.
- אביב JDBC
קודם לכן הזכרנו את JDBC כטכנולוגיה ליצירת חיבור למסד נתונים. באופן כללי, כבר לא ניתן למצוא שימוש "עירום" בטכנולוגיה בפרויקטים, כך שאתה עשוי להסיק שאין צורך בלימוד JDBC. זו לא בדיוק הגישה הנכונה. על ידי חקירת שימוש עירום (ישיר) ב-JDBC, אתה יכול לראות את הטכנולוגיה ברמה נמוכה יותר ולהבין את הבעיות והחסרונות שלה. ואז כשתתחיל ללמוד Spring JDBC, תבין מה בדיוק המסגרת הזו משפרת, מייעלת ומסתירה.
- שינה אביבית
בדומה למצב עם JDBC עירום, המסגרת הזו ממנפת טכנולוגיה קיימת, במקרה זה, Hibernate. אם אתה שוקל להשתמש ב-Hibernate ללא Spring, אתה בהחלט מבין את היתרונות ש-Spring Hibernate מציע.
- אביב JPA
קודם לכן דיברנו על JPA והזכרנו שזה רק מפרט, אם כי יש לו יישומים שונים. בין ההטמעות הללו, Hibernate מגיע הכי קרוב לאידיאל. ל-Spring יש יישום JPA אידיאלי משלו המשתמש ב-Hibernate מתחת למכסה המנוע. זה קרוב ככל האפשר לאידיאל של מפרט ה-JPA. זה נקרא Spring JPA. במילה אחת, זה מפשט מאוד את הגישה למסד הנתונים. אתה יכול ללמוד JPA רק בלי ללמוד JDBC, Hibernate, Spring JDBC או Spring Hibernate. אבל אם תנקוט בגישה הזו, הידע שלך כיצד להתחבר למסד נתונים יהיה מאוד שטחי.
- אביב MVC
טכנולוגיה זו מאפשרת להציג את ממשק האינטרנט של האפליקציה שלנו למשתמשים ולהקל על התקשורת בין הממשק לשאר האפליקציה. ניתן להשתמש בטכנולוגיה גם ללא תצוגה כאשר יש לך אפליקציה שאחראית על הטיפול בתצוגה ואתה מקיים אינטראקציה עם האפליקציה באמצעות טכנולוגיית RESTful .
על מנת לספוג טוב יותר מידע על אביב, בנוסף למאמרים והרצאות ביוטיוב, תוכלו לקרוא מספר ספרים. אהבתי מאוד את הספר "אביב בפעולה" מאת קרייג ווללס. אני ממליץ לך לקרוא את הגרסה השישית, אם אתה יודע אנגלית היטב. ספר נהדר נוסף על אביב הוא "אביב 5 למקצוענים". זה יותר צפוף. יותר כמו רפרנס שיותר חשוב להחזיק בהישג יד מאשר לקרוא כריכה לכריכה.
GO TO FULL VERSION