CodeGym /בלוג Java /Random-HE /כיצד Java עוזרת לנהל שדה תעופה וכיצד אתה יכול לעזור לשפר ...
John Squirrels
רָמָה
San Francisco

כיצד Java עוזרת לנהל שדה תעופה וכיצד אתה יכול לעזור לשפר את החיים במאה ה-21

פורסם בקבוצה
כיצד Java עוזרת לנהל שדה תעופה וכיצד אתה יכול לעזור לשפר את החיים במאה ה-21 - 1
אם אי פעם נסעתם במטוס, יש סיכוי לא רע שאיפשהו ברקע התהליכים העסקיים שאיפשרו את המסע שלכם נתמכו או מופעלים על ידי מערכת כלשהי שמריצה תוכנית שנכתבה ב-Java. ייתכן שזו הייתה טיסה פנימית קצרה - כמו טיסה מסידני לבריסביין, אטלנטה למיאמי או סאו פאולו לריו דה ז'נרו - או שבעצם הייתה זו טיסה בינלאומית - אולי מלונדון לניו יורק, ממונטווידאו לסנטיאגו דה צ'ילה או ממוסקבה למומבאי. כך או כך, סביר מאוד להניח שמערכת כלשהי שהייתה חלק מהפעלת הנסיעה שלך כנוסע פעלה בג'אווה. ייתכן שכבר הייתה זו אפליקציית האינטרנט שאפשרה לך לחפש טיסה מתאימה ולרכוש כרטיס באינטרנט. איך בעצם עובד חיפוש כזה? בעיקרון, התוכנית המעבדת את הבקשה שלך משתמשת במבני נתונים ואלגוריתמים שונים ומתקשרת עם מערכות אחרות כמו שרתי אינטרנט, שרתי יישומים ומערכות מסד נתונים כדי לחלץ את המידע שאתה מחפש. תלוי כמה רחוק כבר התקדמת במסע שלך ב-CodeGym, סביר להניח שנתקלת בבסיס של פעולות חיפוש כאלה. אני בטוח ש"האיזומורפים שהוזמנו מכאוס ליניארי של כוכב הלכת" יתנו לך תובנה לגבי כמה מטכניקות המיון שלהם. אם עדיין לא נתקלתם בהם, אז שימו לב היטב כשתגיעו למשימה "מספרים עולים" בשיעור 11 ברמה 6. כאן פחות או יותר הכל מתחיל. כעת נחזור למסע שלך כנוסע ולמערכות השונות המתקשרות ברקע על מנת לוודא שתהיה לך חווית נסיעה חלקה. ברגע שתאריך הטיסה שלכם יגיע ואתם ממש הולכים לשדה התעופה, מערכות נוספות ילוו את הטיול שלכם. זה מתחיל במערכת תצוגת מידע הטיסה שאולי תסתכל עליה בחלק מהמסכים הגדולים בטרמינל - או אולי באפליקציה בטלפון שלך. זה למשל יעזור לך לגלות לאיזה דלפק צ'ק-אין אתה צריך ללכת. דלפק הצ'ק-אין עצמו עשוי להיות מופעל על ידי אדם או יכול להיות רק צ'ק-אין בשירות עצמי. כך או כך תפעל תוכנית - אולי כתובה בג'אווה - שבודקת את פרטי הטיסה שלך והאם יש לך כרטיס מתאים או לא. בשלב הבא כנראה תמסור את המזוודות שלך - או לצוות בדלפק הצ'ק-אין או לדלפק להורדת מזוודות בשירות עצמי. ונחשו מה - בשני המקרים תוכנית אחרת תבדוק את פרטי הטיסה שלכם והכרטיס שלכם, ותוודא שאתם לא חורגים ממספר המטען המותר ולא ממגבלת משקל הכבודה. ואיך בעצם מערכות הצ'ק אין והורדת המזוודות יודעות את כל המידע הרלוונטי על פרטי הטיסה שלכם? זו שאלה טובה. בקצרה, התוכניות יתקשרו עם מסד הנתונים התפעולי המרכזי של נמל התעופה (מה שנקרא AODB) כדי לבדוק את פרטי הטיסה מצד אחד, ועם מערכת המידע של חברת התעופה כדי לבדוק את פרטי הנוסע הספציפיים שלך מצד שני. לפני שתעלו על המטוס מערכות נוספות תקשרו ביניהן ברקע על מנת לוודא שהמזוודות שלכם נכנסות למטוס הנכון, שלמטוס יש אוכל, משקאות וחטיפים, שהרכב התדלוק מספק את המטען הנכון. כמות הדלק למטוס הנכון בזמן הנכון וכי לצוות הטיסה יש את כל מידע הטיסה הדרוש. ועכשיו כשאתה בעצם על המטוס, ייתכן שמערכת הבידור במטוס כתובה בג'אווה. אבל גם אם לא, עדיין יש עוד תוכניות ומערכות שמקיימות אינטראקציה אחת עם השניה ובודקות למשל עם בקרת התעבורה האווירית האם המטוס יכול לצאת בזמן שנקבע, וכך להיות מסודר להמראה בזמן. , או אם ייתכנו כניסות או יציאות מאוחרות שיש להמתין להן. מערכת אחרת למשל בודקת את תנאי מזג האוויר, ותשלח התראה במקרה שיש תנאי מזג אוויר חמורים לפנינו המחייבים לדחות את מועד ההמראה בפועל - אולי בכמה דקות בלבד, אולי בעוד יותר. בסך הכל, יש הרבה מערכות המקיימות אינטראקציה וחלק לא קטן מהן כתובות ב-Java. זו הייתה רק סקירה בסיסית מאוד של האופן שבו מערכות IT שונות מאפשרות לנו לטוס מעיר לעיר או ממדינה למדינה, וכך להיות מסוגלים לעבוד, לבקר חברים או פשוט לבלות חופשה במקומות שונים ברחבי העולם. די מפואר, נכון?! ;-) ישנן מערכות רבות המקיימות אינטראקציה וחלק לא מבוטל מהן כתובות ב-Java. זו הייתה רק סקירה בסיסית מאוד של האופן שבו מערכות IT שונות מאפשרות לנו לטוס מעיר לעיר או ממדינה למדינה, וכך להיות מסוגלים לעבוד, לבקר חברים או פשוט לבלות חופשה במקומות שונים ברחבי העולם. די מפואר, נכון?! ;-) ישנן מערכות רבות המקיימות אינטראקציה וחלק לא מבוטל מהן כתובות ב-Java. זו הייתה רק סקירה בסיסית מאוד של האופן שבו מערכות IT שונות מאפשרות לנו לטוס מעיר לעיר או ממדינה למדינה, וכך להיות מסוגלים לעבוד, לבקר חברים או פשוט לבלות חופשה במקומות שונים ברחבי העולם. די מפואר, נכון?! ;-) התרומה שלך ואתה - כמפתח ג'אווה בפתח - יכול לתרום לפשט ולשפר תחומים שונים בחיינו עם קוד יפהפה שפותר בעיות בעולם האמיתי. אם אתה חושב שכל התוכניות הדרושות כבר נכתבו, אז תחשוב שוב. מספר השיפורים האפשריים באמצעות מערכות טובות הוא די אינסופי. ומספר תוכניות ה-Java הקיימות שכבר יש צורך לתחזק, להתאים ולהתאים לדרישות חדשות הוא די משמעותי גם כן. כדוגמה נוספת, רק תחשוב על מגזר הבריאות. מדענים במדינה אחת עשויים לעבוד יחד עם מדענים במדינות אחרות במטרה למצוא תרופה למחלה. חילופי הנתונים מתאפשרים באמצעות רשתות ותוכניות, כך שניתן להשתמש בממצאים במדינה אחת גם במדינות אחרות מיד. הודות לסוג זה של שיתוף פעולה אפשריים שיפורים טובים ומהירים יותר. ולמען האמת, בואו נסתכל על דוגמה נוספת. שמעתם על המונח IoT? IoT מייצג את "האינטרנט של הדברים" והוא עוד תחום גדול בו מכשירים חכמים שונים המריצים תוכניות קטנות - שרבות מהן כתובות בג'אווה - מחוברים זה לזה ומאפשרים אורח חיים נוח מאוד. דוגמה ספציפית אחת יכולה להיות סביבת בית חכם, שבה אתה יכול לשלוט במערכת החימום שלך בבית באמצעות אפליקציה בטלפון שלך. כך תוכלו להדליק את החימום בביתכם בדיוק בזמן לפני שאתם חוזרים בפועל, ולכן אתם מגיעים למקום נעים. יש הרבה הרבה יותר תרחישים ביחס ל-IoT - וג'אווה בהחלט היא גם מאפשרת אחת גדולה גם כאן. לסיכום... ...יש די והותר תרחישים שבהם מערכות תקשורת טובות ואלגוריתמים מכוונים יכולים לתמוך בתחומים שונים בחיי היומיום שלנו. אני מקווה שהטיול הקטן הזה אל עולם הג'אווה בשדה תעופה וההשקפה הקצרה על מקומות לתוכניות ג'אווה בתחומים שונים של החיים המודרניים יתנו לך דחיפה נוספת של מוטיבציה למצוא באמת את הכונן כדי להיות מסוגל להמשיך בדרכך להפוך למתכנת מיומן ומוכר. ;-) :-) עבודת צוות ותחום עבודה מתגמל רק עוד דבר אחד לפני שאתחיל לספר לך קצת יותר על עצמי ועל הניסיון שלי עם CodeGym - מגזר ה-IT באופן כללי יכול להיות מאוד מתגמל כשאתה עובד יחד עם צוות טוב וחברי הצוות תומכים זה בזה. זה למעשה גם אחד הדברים המגניבים באמת בעבודה ב-IT בכלל - ובעבודה כמתכנת באופן ספציפי. אנחנו לא מתחרים, אבל אנחנו תומכים אחד בשני ולומדים אחד מהשני כדי להתקדם לגמרי. אני ממש אוהב את הנקודה הזו. :-) ויש מקום להרבה אנשי מקצוע מיומנים. למעשה, כרגע נראה שלא סביר שאי פעם יהיה יותר היצע של אנשי מקצוע טובים ממה שיש לו ביקוש. אני עצמי עובד כמומחה IT בסביבת שדות התעופה, תחזוקה והתאמה אישית של אפליקציות, הטמעת פתרונות תוכנה חדשים לשיפור תהליכים עסקיים ושילוב מערכות. בנוסף למיומנויות ה-Java הבסיסיות שתוכלו לצבור ב-CodeGym, עליכם גם לוודא שרכשתם ידע ומיומנויות בעבודה עם מסדי נתונים - במיוחד מסדי נתונים יחסיים כגון Oracle, Postgres או MySQL. יתר על כן, תצטרך גם להיות מסוגל לעבוד עם מסגרות כמו Spring ו-Hibernate, שנמצאות בשימוש נפוץ בסביבת היישומים הארגוניים. והשגת ידע זה תהיה הרבה יותר קלה לאחר שתקבע את הבסיס שלך כראוי על ידי מעבר קורס CodeGym. החוויות שלי עם CodeGym אני חושב שאתה למעשה די בר מזל שנתקלת ב-CodeGym. אני עצמי עברתי את כל ארבעת הקווסטים - Java Syntax, Java Core, Java Multithreading ו-Java Collections. השלמתי כל משימה בודדת, מה שהופך סה"כ 1307 משימות - החל מצבירת חומר אפל עם משימות קלות כגון הקלדת קוד, הדפסת טקסט על שורה או צפייה בסרטון מעניין - ולאחר מכן המשכתי לפתרון בעיות די מאתגרות , הסתכלות טובה על ריבוי השרשורים ולבסוף ליישם את הידע הבסיסי שנרכש מ-20 הרמות הראשונות יחד עם הידע המיוחד שניתן ברמות הגבוהות יותר כדי לכתוב כמה מיני-פרויקטים מגניבים בעולם האמיתי. הייתי אומר שרוב המשימות היו מעניינות ובעלות ערך, כאשר הדגשים האישיים שלי היו "כתיבת אפליקציית צ'אט ב-Java" ו-"תבנית העיצוב של MVC" מהמסע Multithreading, "מנתח יומן Java" והמשימות בנושא XML ו JSON כמו גם חיבורי שקעים מהקווסט של Collections, ומשחק Snake מ-Games Quest. פתרון המשימות הללו באמת יספק לך ידע ומיומנויות לגבי איך להמציא פתרונות שתצטרך להמציא על בסיס קבוע כמתכנת. רישום וחילופי נתונים באמצעות XML ו-JSON למשל באמצעות חיבורי שקע הם גם נושאים רלוונטיים ביותר כמעט בכל תחום של שילוב מערכות ונמצאים בשימוש נרחב בתחום ה-IT של נמל התעופה. זה מסע לעבור את כל ארבעת המשימות, זה עשוי להיות ארוך ומאתגר לפעמים, אבל זה יהיה לגמרי שווה את זה. אתה יכול לקרוא עוד עשרה ספרים על תכנות, אתה יכול לצפות בעוד עשרה מדריכים על תכנות, אבל שום דבר לא יחליף אותך בעצם ביצוע משימות רלוונטיות ומעשיות בעצמך. אתה צריך לקרוא קוד, אתה צריך לכתוב קוד, אתה צריך ליצור פתרונות בעצמך, אתה צריך להבין את הקוד של אנשים אחרים ואתה צריך לנפות באגים, לנפות באגים. ספרים ומדריכים טובים כדי לתמוך במסע שלך, אבל שום דבר לא יכול להחליף את הניסיון המעשי שאתה צריך לרכוש. ולא הרבה יגרום לך להיות בטוח ומרוצה יותר עם עצמך מאשר שעברת את התהליך הזה. זה לא קל בהתחלה, אבל זה יהיה קל יותר ויותר עם הזמן. סיום המסע של Java Syntax הוא באמת אבן הדרך הראשונה. ואם תמשיכו בזה ותגיעו עד לרמה 20 - ולכן תשלמו גם את קווסט ה-Java Core - תהיו מוכנים לכיף ממש טוב עם המיני-פרוייקטים. אני מקווה שתצליחו לעמוד בשני הקווסטים הראשונים, אם תצליחו, אני בטוח שתוכלו ליהנות מהמיני-פרוייקטים בדיוק כמוני. בדרך לשם, זה עשוי לעזור לך להפוך את האמירה הבאה לחלק מהחשיבה והעשייה שלך - היא - "אם זה יהיה, זה תלוי בי!" אמור את זה מותר - "אם זה יהיה, זה תלוי בי!" כן זה זה. אתה אחראי ואתה יכול ללמוד איך לתכנת, לא משנה אם זה לתחביב, לבית ספר או לקריירה מקצועית. וכן, לפעמים אולי תרצה לבעוט ב"תחת" של מערכת האימות, אבל זה טוב כי זה אומר שאתה מעורב, ואני יכול להבטיח שזה ישתלם לך. כן, היו כמה פעמים שבהן הייתי בטוח במאה אחוז שהקוד שלי עובד כמו שצריך, אבל האימות עדיין לא נתן לי לעבור. זה לא יקרה לעתים קרובות מדי, אבל אם תגיע למצב הזה, פשוט נסה וריאציות שונות ואל תהסס לנצל את קטע העזרה הזמין. ייתכן שתמצא רמז חשוב כי ייתכן שמישהו אחר נתקל בבעיה דומה, או שמישהו יכול לתת לך רמז לבעיה הספציפית שלך... :-) ואולי הרשה לעצמך להאריך מעט את ציר הזמן שלך - נניח שלוש עד שש חודשים לעבור את קורס CodeGym וללמוד כמה יסודות מסד נתונים ו-SQL יחד עם זה, ועוד חודש עד שלושה חודשים כדי ללמוד על Spring ו-Hibernate. כלומר, בסופו של דבר הכל תלוי בך, אבל אני פשוט רוצה להדגיש שאסור לך להפעיל על עצמך יותר מדי לחץ מבחינת ציר הזמן. זה פשוט לוקח זמן לצבור ידע ומיומנויות אמיתיות, אבל הדבר הטוב הוא שאתה בדרך הנכונה, ושהתוכן של קורס CodeGym באמת חותך למרדף. אין כאן בזבוז זמן והשיעורים והרמות באמת נבנו אחד על השני בצורה טובה מאוד. פשוט התחילו את המסע, היו עקביים ומתמידים – ותצליחו. ;-) עוד דבר אחד בסדר, בסדר, לפני שאסיים את העניינים, אני רוצה לענות על שאלה נוספת שאולי יש לך גם. האם ניתן להשוות את קורס CodeGym ליחידת לימוד רגילה במכללה או באוניברסיטה בתכנות? הייתי אומר, כן זה יכול. זה למעשה מכסה יותר מרוב יחידות התכנות המבואות ואפילו מכסה הרבה נושאים מתקדמים, כמו ריבוי הליכי שרשור, בניית ממשקי משתמש גרפיים, כתיבת שיעורי אוסף משלך, תקשורת שקעים ואפילו דפוסי עיצוב כמו MVC, Factory או Command. מלבד התוכן המקיף והמובנה, היתרון הגדול הוא ללא ספק כמות המשימות הרלוונטיות שתוכלו לתרגל ולחדד את כישורי התכנות שלכם. אימות המשימה המיידי, המשוב מהמנטור והעזרה מהקהילה ממש קשה לנצח. מצד שני, אם יתמזל מזלך ללמוד בקורס באוניברסיטה עם פרופסור פנטסטי שבעצמו מיומן ובעל הרבה חוויות מעשיות, ובנוסף מסוגל באמת לעורר השראה בתלמידיו ומי שמספק להם עולם מעשי, אמיתי משימות, ובנוסף לזה יש לך גם כמה עמיתים די טובים וחדורים מוטיבציה, אז יהיה קשה לנצח את חווית האוני. אבל למען האמת, הסיכויים לקבל קורס uni פנטסטי כזה לא כל כך גבוהים, וגם אם אתה אחד מברי המזל שיש להם קורס כזה, ההשקעה ב uni כנראה תהיה הרבה יותר גבוהה, וסביר להניח שעדיין תהיה אין מערך משימות טוב יותר וגם לא מערכת אימות טובה יותר... :-) חוויות לימוד בינלאומיות וכן, אני בעצמי דווקא למדתי באוניברסיטה, למדתי באוסטרליה ובגרמניה. היו לי כמה קורסים ממש טובים ובעלי ערך עם פרופסורים טובים וגם היו לי מספר קורסים שלא היו יותר מבזבוז זמן - אז אני מאמין שזה הוגן לומר שראיתי את שני הצדדים. ולא רק למדתי יחד עם כלכלנים, מדענים ומהנדסים, אלא גם החלפתי חוויות עם סטודנטים בינלאומיים רבים, בין אם הם מצ'ילה, ברזיל, צרפת, ספרד, ארה"ב, אירלנד, אנגליה, אינדונזיה, וייטנאם, הולנד , שוויץ, שוודיה, דנמרק, סין, רוסיה או קנדה - רק כדי להזכיר כמה. ולמרות שיש הבדלים מסוימים באופן מתן ההוראה במדינות שונות, שיטות ההוראה באופן כללי די דומות. בכל אופן, הבעיה הגדולה ביותר ברוב התחומים היא העובדה שלעיתים קרובות לסטודנטים אין מיומנויות מעשיות אמיתיות שיאפשרו להם להתפרנס בנוחות. אנא וודאו שמה שלא תעשו, אתם באמת לא רק שואפים וצורכים תיאוריה כלשהי, אלא למעשה מיישמים את מה שאתם לומדים. אחרת, הפרשים לא יבואו להציל... ;-) :-) עד כאן כמה רמזים מהצד שלי. למרבה המזל אתה כאן עכשיו, ו-CodeGym פחות או יותר הרכיב קורס שיספק לך את הידע והכישורים הדרושים כדי ללמוד תכנות ואם תרצה בכך - להפוך למפתחי Java, והקהילה כולה כאן תתמוך בך - יחד עם קפטן סנאים, דייגו, אלי, קים, רישי, בילאבו, חוליו סיאסטה וכמובן פרופסור נודלס - אבל אתה זה שבאמת צריך ללכת בהליכה. אני מאחל לך את כל הטוב שבעולם בכל כיוון בו תבחר ללכת ומקווה שתמצא את הדרך המתאימה לך. וזכור - אם זה יהיה, זה תלוי בך. עם זאת, כל הכוח של CodeGym עומד לרשותך. ;-) :-) לחיים סב נ.ב.: אם יש לך עוד משהו שעדיין יש לך שאלות לגביו, אתה מוזמן ליצור איתי קשר.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION