JavaRush /בלוג Java /Random-HE /שינה עבור בובות. ביקורת על הספר "Java Persistence API and...

שינה עבור בובות. ביקורת על הספר "Java Persistence API and Hibernate"

פורסם בקבוצה
זה לא סוד שרוב הספרות הטכנית בעולם כתובה באנגלית. ופיתוח Java אינו יוצא דופן כאן - חלק ניכר מהחומרים או שאינם זמינים ברוסית כלל, או מתורגמים בצורה כזו שעדיף ללמוד באמצעות Google translate. זה יהיה משמח על אחת כמה וכמה עבור קהילת Java דוברת הרוסית כולה שהספר המפורסם ביותר בנושא זה, "Java Persistence API with Hibernate", תורגם לרוסית לפני כחצי שנה.
שינה עבור בובות.  ביקורת ספרים
אם אתה רוצה להיות מפתח Java - יום אחד תצטרך ללמוד להשתמש ב-Hibernate . כמובן שיש חריגים לכל כלל, הכל תלוי בפרויקט הספציפי וכו'. אבל אם תסתכל על הקריירה שלך בטווח הארוך, בעבודה אמיתית בהחלט תתקל בספרייה הזו. ללא הגזמה, הספר המוצג במאמר יכול להיקרא יסודי: הוא המדריך הראשי למצב Hibernate בין כל מה שנכתב על הטכנולוגיה הזו. זה מוסבר די בקלות, כי בין מחבריו נמנים מייסד פרויקט Hibernate, Gavin King, וכריסטיאן באואר, חבר בצוות הפיתוח של Hibarnate. לי אישית זה מיד פעל כסוג של ערב לאיכות: מי טוב בחטט בטכנולוגיה אם לא יוצריה :) מצד שני, לא תמיד מומחה טוב או אפילו יוצר של א. הטכנולוגיה יכולה לכתוב ספר חינוכי קל להבנה. מה שיגידו, למיומנות אישית וליכולת ללמד אין כמעט קורלציה זו עם זו. דוגמה לכך היא "אמנות התכנות" האגדי מאת Knuth או "שפת התכנות C++" מבית היוצר שלה Bjarne Stroustrup. ואם אי אפשר להכחיש את רמת הידע הגבוהה ביותר של המחברים, הרי שספריהם, בלשון המעטה, קשים לקריאה. למרבה המזל, יוצרי Hibernate ומחברי הספר הזה יצרו מוצר די מובן מנקודת מבטו של מתכנת מתחיל. למי הספר הזה מיועד: כמו רוב הספרים הדומים, התקציר אומר שהוא "עבור כולם", כולל אלה שלומדים שינה מאפס. למעשה, עדיין עדיף שתהיה הכנה מוקדמת כלשהי בצורה של טכנולוגיות קשורות. להלן רשימה של דברים שיהפכו את חייך להרבה יותר קלים בעת קריאת הספר הזה.
  1. אם אתה לא יודע מה זה מסדי נתונים יחסיים, אתה לא יכול ליצור טבלה או לכתוב אפילו שאילתת SELECT פשוטה וכו'. - עדיף להתחיל עם זה. אגב, זה יהיה שימושי עבור אלה שמתכננים להשתתף בהתמחות JavaRush. התחל עם SQL, מצב שינה מאוחר יותר. למרבה המזל, Head-First מעולה נכתב ב-SQL (לטעמי, אחד ה-HeadFirsts הטובים בסדרה כולה).

  2. JDBC . הטכנולוגיה רחוקה מלהיות חדשה, אבל מפתחים מנוסים רבים עדיין מעדיפים אותה על Hibernate.

  3. לאחר מכן, יהיה נחמד לקרוא (לפחות באופן שטחי) על מהו ORM ומדוע הוא נחוץ . הרי Hibernate הוא קודם כל ORM, כלומר, דבר שהופך אובייקטי Java לרשומות מסד נתונים (ולהיפך).

    לדוגמה, יש לך מחלקת משתמש, מחלקה אוטומטית, ולכל משתמש יש רשימה של המכוניות שלו List<Auto> מכוניות.

    איך להקליט את כל זה במסד נתונים כדי שהחיבורים בין המשתמשים למכונות שלהם ישמרו? אחרי הכל, יש רק משתמש אחד, אבל יכול להיות לו הרבה מכונות:/ איך נוכל למחוק אוטומטית את כל המכונות של המשתמש מהמסד אם מחקנו את המשתמש בעצמו (כלומר, אוסרים על מסד הנתונים לאחסן מכונות "יתומות")? Hibernate פשוט יודע איך :)

  4. בנוסף, ל-Java יש יישום משלה של מודל ה-ORM - Java Persistence API , או פשוט JPA. גם זה נדון בספר, אבל עדיף לדפדף בו קודם. אתה לא צריך לקרוא טונות של ספרות בנושא: אם אתה יודע מה זה POJO, ישות, ואילו דרישות חלות על ישות, זה יהיה די טוב.

  5. אם אינך מכיר את פורמט ה-XML , זה הזמן להכיר אותו לפני קריאת ספר זה. לעתים קרובות מאוד, קובצי התצורה של Hibernate (כמו גם Spring) נכתבים בפורמט XML, ואם זה מפחיד אותך, יהיה קשה יותר לקרוא את הספר.

  6. אם אתה מכיר דפוסי עיצוב (לפחות ממשימות JavaRush), אז אתה יכול לקרוא על דפוס ה-DAO ומדוע הוא נחוץ. DAO קל מאוד ליישום באמצעות Hibernate. אגב, משתתפי ההתמחות ייצרו "דאוס" בעת כתיבת משימת מבחן (וגם על הפרויקט עצמו). ובעבודה אמיתית, יצירתם היא משימה שגרתית, אז זה לא יהיה מיותר.

היכרות מוקדמת עם כל האמור לעיל תפשט מאוד את הלימודים (ובעבודה זה, כמו שאומרים, חובה). לסיכום - קצת IMHO על היתרונות והחסרונות של הספר. יתרונות:
  • תרגום די טוב מאנגלית . אני לא חושב שכדאי לכתוב בנפרד על חשיבות הנקודה הזו. כמובן שהמקור תמיד יהיה טוב יותר, ואם אתה יודע אנגלית ברמה מספקת, עדיף לקרוא אותו. עם זאת, למי שעדיין לא נוח באנגלית, אבל לא רוצה להפסיק ללמוד בגלל זה, זו אופציה מצוינת.

  • כיסוי רחב מאוד של נושאים . כמעט כל ה"פנים" של הספרייה מתוארים. על משהו בפרטי פרטים, על משהו במשורה יותר. אבל בסך הכל, התברר שהסיקור היה הגון למדי.

  • שפה פשוטה ומובנת .

מבין המינוסים, אני יכול רק להדגיש דוגמאות. לדעתי, הם יכולים להיות פשוטים ותמציתיים יותר. ובהתחשב בכמות המידע החדש שנפל על הקורא, זה עשוי להיות קשה למתחילים אפילו רק לקמפל ולגרום לכל העניין לעבוד. שלא לדבר על להבין מה קורה בקוד. אני אישית יכול להמליץ ​​לך שלא לטרוח לשבט דוגמאות מ-GitHub ולהקליד אותן בעצמך. ותבין את זה, וההבנה שלך תהיה הרבה יותר טובה. יתרה מכך, לאחר קריאת הפרק הבא, העלה ויישם משימה כלשהי בעצמך. זה יהיה הרבה יותר פרודוקטיבי, גם אם המשימה פשוטה מאוד. האם כדאי לקנות את הספר? בהחלט כן. יתרה מכך, תפוצת הנייר שלו היא רק 200 עותקים :) בהתבסס על החומרים של הספר הזה, די בקלות כתבתי את המאמר הראשון שלי על הברהבר. והנהלת JavaRush, לדעתי, בהחלט צריכה להוסיף אותו לרשימת הפרסים לתחרות שלהם :) תודה על תשומת הלב, ובהצלחה בלימודים!
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION