שלום! היום נדבר על מסלול הפיתוח של מפתח 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 . כדי להבין טוב יותר מידע על אביב, בנוסף למאמרים והרצאות ביוטיוב, תוכלו לקרוא מספר ספרים. אהבתי מאוד את הספר "אביב בפעולה" של וול קרייג. למרבה הצער, ברוסית יש כעת רק את הגרסה השלישית, שנחשבת מיושנת. אני ממליץ לך לקרוא את גרסה 6 אם אתה יודע אנגלית היטב. ספר נהדר נוסף על אביב הוא "אביב 5 למקצוענים". קשה יותר ללמוד אותו ויותר דומה לתנ"ך אביב שעדיף לשמור אותו בהישג יד מאשר לקרוא מכסה לכריכה.
טכנולוגיה זו מפשטת מאוד את השימוש ב-Spring. שמתי את זה בסוף הרשימה מסיבה, כי זה מסתיר הרבה מתחת ל"ברדס" ולאדם שלא מכיר את האביב הרגיל, נקודות רבות אולי לא ברורות ולא מובנות. ראשית, כדי להבין טוב יותר כיצד פועלות מסגרות ה-Spring, כדאי להשתמש ב-Spring רגיל, ולאחר מכן בכל היתרונות הגבוהים יותר של השימוש ב-Spring Boot. אני גם ממליץ לך להכיר את ה-Spring Security ו-Spring AOP. אבל בניגוד לטכנולוגיות לעיל, אין צורך בידע מעמיק של שתי אלה כעת. טכנולוגיה זו אינה מיועדת למתחילים. במהלך ראיונות, זוטרים אינם נשאלים עליהם (למעט שאלה שטחית אחת). קרא באופן כללי מהן הטכנולוגיות הללו וכיצד הן פועלות. לאורך המאמר הזה הזכרתי שוב ושוב ספרי קריאה. מצד אחד, זה לא הכרחי. אתה יכול להיות מתכנת בלי לקרוא ספר אחד, לאחר שלמדת את כל מה שאתה צריך ממאמרים וסרטוני הדרכה. מצד שני, כרגע התחרות בשוק למפתחים מתחילים גבוהה, מה שמעלה את הרף לידע הראשוני הנדרש למתחילים. לכן, ככל שתדעו יותר, כך תוכלו להשיג את העבודה הראשונה שלכם מהר יותר על ידי הרשמת המראיין ברמת הידע שלכם. תודה לכולכם, ושג'אווה תהיה איתכם .
1. אלגוריתמים בסיסיים
הדבר הראשון שאתה צריך לקחת על עצמך כשאתה מתחיל ללמוד תכנות (זה חל לא רק על ג'אווה) הוא ניתוח של היסודות. למשל, אלגוריתמים. יש אינסוף כאלה, ואל תבזבז שנים שלמות בניסיון ללמוד כמה שיותר אלגוריתמים: רובם לא יועילו לך. את הידע המינימלי הנדרש ניתן לקבל מהספר " אלגוריתמי גידול ". זה יספיק כדי להתחיל את המסע, אבל אם תרצו, תוכלו ללמוד בעזרת הספר " מבנים ואלגוריתמים " או "אלגוריתמים בג'אווה" מאת רוברט סדג'וויק וקווין וויין. אני גם ממליץ לך לשפר את הידע שלך ביסודות מדעי המחשב. ניתן לעשות זאת ב-JavaRush באמצעות קורס CS50 .2. תחביר ג'אווה
לאחר לימוד יסודות האלגוריתמים, עלינו ללמוד תחביר Java. אחרי הכל, כולנו לומדים להיות מתכנתי Java כאן, לא? קורס JavaRush מושלם עבור זה. בתהליך של ביצוע משימות רבות, אתה תהיה שוטף בתחביר Java ותכתוב/קרא קוד Java בלי הרבה מחשבה, כאילו זו שפת האם שלך. JavaRush הוא תרגול, ובנוסף לזה, אתה צריך גם להסתכל על התיאוריה כדי להבין מה בדיוק אתה עושה. כדי לעשות זאת, אתה יכול לקרוא ספרים, למשל אחד מהבאים:- " ראש ג'אווה ";
- "Java for Dummies" מאת בארי בירד;
- "ג'אווה. מדריך למתחילים" הרברט שילדט.
- "הפילוסופיה של ג'אווה", ברוס אקל;
- "תכנות אפקטיבי", יהושע בלוך;
- "ג'אווה. המדריך השלם", הרברט שילדט.
3. דפוסי תכנות
דפוסי תכנות הם כמה דפוסים שניתן לחזור עליהם המייצגים פתרון לבעיה בהקשר שמתרחש לעתים קרובות. ביניהן יש תבניות בסיסיות ופשוטות שכל מתכנת שמכבד את עצמו צריך להכיר. כדי להבין נושא זה, השתמשו בספר " ראש בראש. תבניות עיצוב ." היא תסביר בבירור דפוסי תכנות בסיסיים. אבל הספר מדבר הרבה על Java , אז בזמן לימוד הספר אתה צריך לשלוט בשפת התכנות הזו. לצלילה עמוקה יותר לתוך דפוסים, אתה יכול גם לקרוא "טכניקות עיצוב ממוקדות אובייקט. Design Patterns” מ-Gancia of Four ( Gang of Four: צוות של מחברים הכולל את אריך גמא, ריצ'רד הלם, ראלף ג'ונסון, ג'ון וליסיידס - הערת העורך) . לאחר לימוד נושא זה, תתחיל לראות דפוסים כמעט בכל מקום בקוד שלך. שימו לב לכך, במיוחד לדפוסים שבהם נעשה שימוש באביב , מכיוון שזו שאלה פופולרית בראיונות.4. פרדיגמות תכנות. ניקיון קוד
מלבד דפוסי תכנות סטנדרטיים, ישנם עקרונות ופרדיגמות שונות שאתה צריך לדעת ( SOLID , GRASP ). כמו כן, יש לוודא שהקוד נקי וקריא. כל מה שאתה צריך לדעת בנושא זה נמצא בספר " קוד נקי " מאת רוברט מרטין או נסה את הספר "קוד מושלם" מאת סטיב מקונל.5.SQL
הצעד הבא שלנו הוא ללמוד את השפה של מסדי נתונים יחסיים - SQL . מסדי נתונים הם המקום שבו מאוחסן המידע (הנתונים) של יישום אינטרנט. מסד נתונים מורכב מטבלאות רבות (פנקס הכתובות בטלפון שלך הוא הדוגמה הפשוטה ביותר לטבלאות כאלה). אתה יכול לקרוא עוד על מסדי נתונים במאמר זה . עבור מפתחי Java, תחום האחריות הוא לא רק אפליקציית Java, אלא גם מסד הנתונים איתו הוא מקיים אינטראקציה והיכן הוא מאחסן נתונים. בבסיסי נתונים יחסיים (הנפוצים ביותר), כל האינטראקציה מתרחשת באמצעות שפה מיוחדת - Structured Query Language, או SQL. כדי להבין את הנושא הזה, זה יספיק לקרוא את אחד הספרים:- "לימוד SQL" מאת אלן בוולי;
- "SQL", כריס פיאילי;
- "Head First SQL" מאת לין ביילי.
GO TO FULL VERSION