JavaRush /בלוג Java /Random-HE /10 ספריות Java המובילות לחסוך זמן

10 ספריות Java המובילות לחסוך זמן

פורסם בקבוצה
למי מיועד המאמר הזה: כמה דברים יעניינו מתחילים שלומדים את קווסט Java Syntax, אבל בעצם החומר המוצג יתאים יותר למי שכבר חצה את קו המשווה של הקורס (מבין את Java Collections ו- Java Multithreading quests) ומתחיל להתעניין בטכנולוגיות שחורגות ממסגרת Java Core. במהלך קיומה, ג'אווה רכשה כמות נכבדת של ספריות. אבל איך יודעים באילו כדאי להשתמש ובאילו לא? הפרדת החיטה מהמוץ היא קשה ביותר עבור מפתח עסוק. במאמר זה , מרטין פטסוב, מפתח Full Stack ב-Dreamix, מדבר על אהבתו לספריות קוד פתוח ומציע את אלו שהוא מוצא שימושי במיוחד. 10 ספריות Java המובילות לחיסכון בזמן - 1להיות או לא להיות, זו השאלה: האם זה יתברר כישועה או כישלון אותה ספריית ג'אווה... היה אמיץ! "סימנים" כבר היו שם ואני אעביר לכם את הניסיון שלהם. אל תטעה מהסטייה הפואטית שלי. יש באמת הרבה ספריות בג'אווה, והבנתן מאוד קשה. עם זאת, אני אוהב אותם מאוד. אפשר אפילו לקרוא לי "אוונגליסט ספרייה" ( ב"אוונגליסט" בתחום ה-IT אנחנו מתכוונים לא למהדר של הבשורה הקנונית, אלא מישהו שמקדם באופן מקצועי טכנולוגיה זו או אחרת. אל תבלבלו בינה לבין אנשי יחסי ציבור רגילים: לרוב , לאוונגליסט IT יש הבנה מעמיקה של הטכנולוגיה אותה הוא מקדם טכנולוגיה - הערת עורך ). ספריות הן חלק חשוב מאוד מהמערכת האקולוגית של הקוד הפתוח. סביבם צומחות קהילות גדולות המתפתחות ותומכות בהן. וזה נהדר. היתרון העיקרי של ספריות הוא שהן מאפשרות לנו להימנע מהמצאת הגלגל מחדש בכל פעם שאנו כותבים קוד. השתמש בספריות - קוד שכבר נכתב עבור משימות ספציפיות - לעתים קרובות ככל האפשר! תחסוך זמן. ברצינות, עדיף לבזבז את זה לבלות עם משפחה וחברים.

10 המובילים

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

1. ספריות סטנדרטיות של Java

כן, כן, לא חשבת! אנשים רבים מזלזלים, יתר על כן, הם אינם יודעים את מסת היכולות של ספריות הסטנדרטיות של Java, ואינם מודעים כיצד לנצל את הפוטנציאל שלהם בתכנות... או אפילו לא משתמשים בהן כלל. להלן תיאור קצר של כמה מהם:
  • java.lang . ספרייה זו מיובאת תמיד לכל יישום ג'אווה, מכיוון שהיא מכילה את כל מה שבלעדיו אתה לא יכול לתכנת ( מחרוזת , כפולה , ענום , מתמטיקה וכן הלאה).

  • ב- java.util תוכלו למצוא את כל האוספים ומבני הנתונים הזמינים ב-Java.

  • לאחר מכן, יש לנו java.io לקריאת קבצים, הפעלת זרמים, אובייקטים בכיתה Pipe וכן הלאה.

  • סביר להניח שכבר שמעתם על שלושת הראשונים. אבל לא כולם יודעים על java.nio , חלופה ל- java.io. ספרייה זו אחראית ל-I/O שאינו חוסם, ומאפשרת, כפי שניתן לנחש, שימוש אינטנסיבי ב-I/O.

  • java.net משמש לעבודה עם שקעים, יצירת חיבורים או יישומי רשת קצרים.

  • ב-Java יש לנו גם ספריות לעבודה עם GUI: javax.swing (הרחבה די מיושנת של ה- java.awt הישן עוד יותר ).

  • אנחנו יכולים אפילו לנגן מוזיקה וליצור קבצי MIDI באמצעות java.sound .

2. JHipster

JHipster היא פלטפורמה לפריסה, פיתוח ויצירת שרתי אינטרנט ניתנים להרחבה עם עומס גבוה ושימוש בטכנולוגיות המודרניות והאופנתיות ביותר כגון Spring, Spring-MicroServices, Netflix, Docker, Kubernetes, AngularJs, Liquibase, MongoDB, Cassandra, ElasticSearch.
10 ספריות Java המובילות לחיסכון בזמן - 2
בכנות, ה"היפסטר ג'אווה" הזה בהחלט הציל חודשים מחיי. אני בהחלט יכול לומר ש-JHipster הוא הפייבוריט האישי שלי ברשימה ותופס מקום מיוחד בלבי. כלי זה כמעט הכרחי ליצירת סקיצה של פרויקט שרת אינטרנט מבוזר. זה יכול ליצור קובץ פום עם תלות, להגדיר Elastic Search and Connection, כל מה שאתה צריך לעשות הוא להוסיף את ההיגיון העסקי של הארכיטקטורה. הספריות העיקריות והחשובות ביותר הכלולות בפרויקט שנוצר הן:
  • Spring Boot עוזר להאיץ ולפשט את פיתוח האפליקציות
  • Angular /AngularJS - מסגרת JavaScript
תוכל למצוא מידע נוסף על JHipster כאן .

3. מייבן

Maven הוא אחד משלושת הכלים הפופולריים ביותר לבניית פרויקטי Java. הוא אחראי על קומפילציה, יצירת קובצי jar (ארכיוני Java), יצירת הפצת תוכניות והפקת תיעוד.
10 ספריות Java המובילות לחיסכון בזמן - 3
כל פרויקט מודרני מורכב מקבצים שונים, מודולים, טכנולוגיות. בפשטות רבה, בניית פרויקט מכינה את הגרסה ה"עובדת" שלו, כלומר תוכנית שניתן להפעיל לביצוע. זה יכול להיעשות באופן ידני, בשורת הפקודה, או שאתה יכול לכתוב סקריפטים מיוחדים. עם זאת, הרבה יותר קל לעשות זאת באמצעות יישומים מיוחדים. הם נקראים "מערכות הרכבה אוטומטיות". Maven היא אחת משלוש תוכניות כאלה, השתיים האחרות הן Gradle ו-Ant. מערכות כאלה מקבלים את קוד המקור של הפרויקט כקלט, וכפלט הן מייצרות תוכנית שניתן להפעיל.
מבנה הפרויקט (תלות, תצורות, תיעוד) מתואר בקובץ pom.xml (POM - Project Object Model), שאמור להיות ממוקם בתיקיית השורש של הפרויקט. בכנות, מייבן הוא פשוט דבר נהדר, גם אם זה לא מאוד ברור בהתחלה. אם מעולם לא השתמשת ב-Maven בעבר, אתה מפסיד. למען האמת, אני אפילו לא מבין איך יישומי Enterprise נוצרו לפני Maven. אתה יכול לקרוא על Maven ברוסית כאן .

4. אפאצ'י קומונס

Apache Commons הוא למעשה פרויקט שלם המתמקד ביצירת ספריות Java. או "קבוצה גדולה של כלי עזר קטנים של Java" למטרות שונות. אגב, כלי השירות של Apache Commons הם הבסיס לכמה פרויקטים ידועים מאוד, למשל, Tomcat, Hibernate ואחרים. להלן רשימה קצרה של כמה מהספריות הנפוצות ביותר של Apache Commons:
10 ספריות Java המובילות לחיסכון בזמן - 4
  • Commons Math . ספריית המתמטיקה של Apache Commons, השם אומר הכל: היא מכילה רכיבים לפעולות וחישובים מתמטיים וסטטיסטיים מורכבים.

  • Commons CLI . מספק API לניתוח ארגומנטים של שורת הפקודה. בקושי שווה אפילו לחשוב על יצירת אפליקציה ללא יכולת להעביר פרמטרים ולשלוט בהתנהגות שלה!

  • Commons CSV . לא משנה מה תפתח, בשלב מסוים תצטרך להתמודד עם הצורך להשתמש בקבצי csv. כלומר, יהיה צורך לפתוח, לקרוא, לערוך, לשמור וליצור אותם. אני מציע להשתמש בפורמט RFC 4180 ממחלקת CSVFormat ובקידוד UTF-8 בעת שמירה/יצירת קבצים.

  • Commons I.O. משמש לפישוט פעולות I/O. לפחות תסתכל על ReversedLinesFileReader, זה שווה את זה!
אתה יכול לקרוא על Apache Commons (באנגלית) כאן .

5. גויאבה

Guava היא קבוצה של ספריות ליבה של Google עבור Java. האם הם מכילים סוגי אוספים חדשים (כגון ריבוי מפות ורב-ערכות), אוספים בלתי ניתנים לשינוי, ספריית גרפים, סוגים פונקציונליים? כלי עזר עבור מקבילות, I/O, hashing, עיבוד מחרוזות ועוד. כל הכלים הללו משמשים מומחי גוגל בעבודתם, וזו כבר המלצה טובה.
10 ספריות Java המובילות לחיסכון בזמן - 5
במידה מסוימת, גויאבה היא אלטרנטיבה לאפצ'י קומונס. למעשה, אנחנו יכולים לדבר על גויאבה הרבה זמן (הקפד לשים לב לזה!), אבל כאן אזכיר רק דבר שימושי אחד מהספרייה הזו. אולי כבר נתקלתם באתגר של ארגון האוספים שלכם או השוואת התכנים בתוכם? מה לגבי מיון והשוואה מתקדמים בין עמודות מרובות עם מספר תנאים? רכיב ComparisonChain משמש ליישום מיון מתקדם ומורכב לאוספים. תוכלו לקרוא על גויאבה (באנגלית) כאן .

6. google-gson

ספריית google-gson שימושית להמרת אובייקטי Java ל-JSON ולהיפך. זה שימושי במיוחד בעת פיתוח יישומים ניידים ויצירת/שימוש בממשקי REST API, או בכל פעם שאתה צריך להמיר אובייקט Java לייצוג ה-JSON שלו ולהיפך.
10 ספריות Java המובילות לחיסכון בזמן - 6
תלמד על JSON (סימון אובייקטים ב-JavaScript), Guava, Apache Commons ודברים מעניינים אחרים מהמסע של Java Collections .
אתה יכול לקרוא על google-gson (באנגלית) כאן .

7. Hibernate-ORM

Hibernate היא ספרייה שנועדה לפתור בעיות של מיפוי יחסי אובייקט (ORM). Hibernate ORM משמש לאחסון נתונים במסדי נתונים יחסיים. זה מספק דרך פשוטה ומופשטת יותר למפתחים לעשות זאת. הוא משתמש ב-JDBC ביישום שלו. Hibernate הוא גם יישום של מפרט JPA.
10 ספריות Java המובילות לחיסכון בזמן - 7
אתה יכול לקרוא על Hibernate ORM (באנגלית) כאן .

8. מוקיטו

אל תתנו לשם מוקיטו להטעות אתכם. לא מדובר על קוקטייל, אלא על ספרייה לחפצים מדומים. אובייקטים מדומים הם אובייקטים המחקים את ההתנהגות של אובייקט אמיתי לפי סכמה נתונה כלשהי. לדוגמה, עבור בדיקת יחידות, אובייקטים "מזוייפים" כאלה יכולים לדמות התנהגות של אובייקטים עסקיים. ובכן, ספריית המדומה של Mockito מגבירה את הנוחות של יצירה ושימוש באובייקטים מדומים.
10 ספריות Java המובילות לחיסכון בזמן - 8
אתה יכול למצוא מידע על Mockito כאן .

9. JUnit

JUnit היא מסגרת ג'אווה חינמית ליצירת בדיקות יחידה (המכונה בדיקות יחידה). ספרייה זו היא אחת הפופולריות ביותר, כמעט כולם משתמשים בה. אנו ממליצים לך להתמודד עם זה מהר ככל האפשר, מכיוון שלעתים קרובות מפתחי Java חדשים וחניכי Java נאלצים "לכסות את הקוד בבדיקות." ואני חייב לומר, זו רחוקה מלהיות ההתחלה הגרועה ביותר לקריירה.
10 ספריות Java המובילות לחיסכון בזמן - 9
מידע נוסף על ג'וניט כאן .

10.Log4j ו-Slf4j

שתי המסגרות הללו נועדו להסתיר את היישום של פעולות שגרתיות לרישום אירועים מסוימים המתרחשים בזמן שאפליקציות Java פועלות. Slf4j הוא הפשטה עבור מסגרות רישום אחרות (אותה Log4j).
10 ספריות Java המובילות לחיסכון בזמן - 10
מידע נוסף על Log4j ו- Slf4j .
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION