היי! היום נדבר על נתיב הצמיחה של מפתח Java ועל מה שהוא או היא חייבים לדעת כדי להיות מבוקש. בראיון, כל מפתח עשוי להגריל את המועמד לעבודה. לדוגמה, הם עשויים להתחיל לשאול שאלות על נושאים ספציפיים שהם נתקלו בהם בפרויקט הנוכחי שלהם. אבל לא לדעת הכל נורמלי. גם העובדה שאתה לא יכול לענות על כמה שאלות היא נורמלית. ככלל, כל מתכנת Java חייב להיות בעל הבנה בסיסית בפיתוח תוכנה. אז בואו נסתכל על מה שנחשב "בסיסי".
אתה צריך לשים את זה במקום הראשון, כדי שתוכל להבין מה זה 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 ראש ראשון" מאת לין ביילי.
GO TO FULL VERSION