מדריך העולם האמיתי
כשהכשרתי את החברים שלי להיות מתכנתים, שמתי לב לדבר מעניין. אנשים שכבר עבדו איפשהו למדו בשמחה רבה. וככל שהיה להם יותר ניסיון ב-IT, כך הם למדו בשקידה רבה יותר. לאלה, שהיו סטודנטים, לפעמים פשוט לא היה אכפת. לאחר שדיברתי עם אנשים עובדים והסטודנטים שמתי לב, שסטודנטים מאמינים ב"תעסוקה קסומה" שמחכה להם מיד לאחר סיום הלימודים. עכשיו, למי שעדיין לא נפטר ממשקפיים בצבע ורדרד – הנה מדריך העולם האמיתי. לכולנו יש את הצרכים שלנו. הצורך במשפחה, חברים, בית, עבודה, תחביב... אבל אני רוצה לדבר על אחד הצרכים הכי חשובים שתמיד על הלהבה: להיות עבודה טובה וחיים טובים . לרוב האנשים יש צורך זה. וכולם מנסים לספק את זה כמעט כל יום באמצעות עבודה, מקצוע וקריירה. נראה שהכל הגיוני להשיג מטרה זו באמצעות התפתחות מקצועית ואישית. מי מאיתנו לא רוצה להפוך למומחה בעל ערך רב, איש מקצוע בינלאומי: תהילה, כבוד, הכנסה גבוהה, אפשרויות נהדרות - נשמע נהדר. ומהי תוכנית הפעולה של כל המיליונים והמיליארדים האלה של עובדים עתידיים באיכות גבוהה? לעתים קרובות, התוכנית הזו נראית כך: לסיים את הלימודים, להתכונן להשכלה הגבוהה, להיכנס לאוניברסיטה או למכללה, ללמוד, לסיים לימודים, למצוא עבודה טובה, לעבוד, לעשות קריירה מהממת ולעזוב בפרישה ראויה. התוכנית הזאת רק נראית נכונה, אבל היא לא. ההבדל בין התוכנית הנכונה והלא נכונה הוא זה: התוכנית הנכונה מביאה אותך למטרות שלך, התוכנית הלא נכונה לא. התוכנית שתיארתי בעבר משאירה כל כך הרבה דברים מהחיים האמיתיים, שאני אפילו לא יודע איך לקרוא לזה: פרימיטיבי, פג או פשוט שגוי. מה לא לוקחת בחשבון "תוכנית ההצלחה" הנפוצה בעולם?תַחֲרוּת
1 המנצח לוקח הכל
5% מהמומחים הטובים ביותר מקבלים 50% מכל הכסף. 20% מהמומחים הטובים ביותר מקבלים 80% מכל הכסף. יש חברות שמחפשות עובד טוב יותר ואחרות - זול יותר. הסוג הראשון לא מפחד לשלם יותר מדי, כי הם רוצים לקבל את המומחה הטוב ביותר עבור הכסף שיש להם. הסוג השני רוצה לשלם את הכסף הכי נמוך עבור אותה איכות מינימלית שתספיק. אתה מתחיל את הקריירה/דרך המקצועית שלך בנקודה השמאלית של התרשים. אבל עדיף להיות בחלק הכי נכון שלו. דרך ארוכה בשבילך. אתה צריך להגיע לחצי הימני שלו כמה שיותר מהר. מומחה מהחלק הימני של התרשים שונה ממומחה מהחלק השמאלי לפי כמות הניסיון, לפיכך, לפי ניסיון איכותי. בעוד אתה בחצי השמאלי, מספר המומחים כמוך בשוק העבודה עולה על הביקוש. וזה אומר שזה שוק של קונים (מעסיק). ואתה צריך להתחרות עם אחרים כמוך על המשרה הפנויה הכי גרועה. אבל ברגע שמקבלים מספיק ניסיון, ועוברים לחצי הימני, חוקי המשחק מתחילים להשתנות. הביקוש מתחיל לעלות על ההצעה והמשכורות מתחילות לגדול. 5 שנות ניסיון טוב יכולות להכפיל את המשכורת שלך ב-10. אז, תחשוב, הסתכל מסביב, ולמד. אבל עדיף אפילו להיות ב-5% מהמומחים הטובים ביותר. כאן המשכורת שלך תהיה מוגבלת רק בכסף שיש ללקוחות/מעסיקים שלך. הם רוצים להעסיק את הטובים ביותר - תנו להם לשלם הכי הרבה. ממש כמו במכירה פומבית. אדם חכם וחרוץ מצליח להיכנס ל-20% מהמומחים הטובים ביותר ב-5 שנים. ובמשך 5 השנים הבאות הוא מקבל 5% מהמומחים הטובים ביותר. אבל, בהחלט, הוא צריך לעבוד על החינוך העצמי שלו ולהחליף עבודה לעתים קרובות. לפעמים יותר מדי עבודה. אין צורך לעבוד שעות רבות (ארוכות). המומחה הטוב ביותר לא עושה יותר עבודה, הוא עושה את זה טוב יותר. יותר טוב מכל אחד. לכן לא ניתן להחליף אותו בעשרה עובדים פחות מוכשרים. אם בבחירות לנשיאות קיבלת 48% קולות, והמעמיד השני קיבל 47%, עדיין לא קיבלת את תמיכת הרוב, לא התגברת על המתחרה בפעמיים. אתה מתגבר עליו באחד, אחוז אחד בלבד! אבל אתה תהפוך לנשיא ותקבל הכל, והוא לא יישאר אף אחד ולא יקבל כלום.2 Looser לא מקבל כלום
אם כבר נכנסתם למכללה, אתם בוודאי מכירים את המצב שנכנסים רק 200 איש, בעוד שיש 2,000 כאלה שפונים. במהלך התחרות עם 10 אנשים שמגישים מועמדות למקום אחד, מ-1,000 איש רק 100 אנשים יהפכו לסטודנטים, 900 אחרים לא יקבלו כלום. מה לדעתך יקרה כשתסיים את הלימודים ותתחיל לחפש עבודה? התחרות תגדל באופן דרמטי! נניח שהשנה אחד בוגר הפקולטה למשפטים בברלין. עוד נניח שיש רק 10 מכללות בברלין שמייצרות מדי שנה 1000 עורכי דין ביחד. בשוק יש שני משרות פנויות בשכר של 80,000$ לשנה, 8 משרות פנויות בשכר של 40,000$ ושלושים משרות פנויות בארגונים ממלכתיים בשכר של 20,000$ לשנה. כשל 1: 1000 "עורכי דין" ורק 40 משרות פנויות. כלומר, רק 40 מתוך 1000 עורכי דין יגיעו לעבודה בהתאם למקצועם ו-960 אנשים אחרים, שבילו 5 שנים במכללה, ילכו לעבוד כ"מנהלי מכירות". כישלון 2: אתה אחד מ-40 הסטודנטים הטובים ביותר למשפטים, מה הסיכויים שלך לקבל את העבודה? הרבה פחות מ-100%, למעשה יש "רשת אולד-בוי", מקצועות תורשתיים, קבלת עבודה באמצעות קשרים טובים וכו'. רוב 40 המשרות הפנויות הללו יאוכלסו על ידי בנים, אחייניות ונכדים של מנהלים בכירים בחברות אלו. כישלון 3: אתה הסטודנט המסיימים הטוב ביותר של השנה, אבל עדיין אין לך את הניסיון המעשי האמיתי. בשוק יש כבר מומחים עם ניסיון של 3-5 שנים שיגישו מועמדות גם למשרות פנויות טובות. הם צמחו מניסיון, מוניטין וקיבלו קשרים. אז, אולי, תצטרך להתחיל מלמטה. כישלון 4: תצטרכו לעבוד בעבודות "ללא תשלום" למען הניסיון כ-3 שנים, ובמקביל תצטרכו לעבוד על השכלה עצמית ורק אז תוכלו להתחרות על משרות פנויות טובות עם פוטנציאל, ניסיון עתידי יקר ושכר גבוה. זה בדיוק השלב שהיית צריך לעבור בקולג'. אבל אם למדת במכללה רגילה, כעת תצטרך לעשות הכל בעצמך.3 אין לך כלום
כל מה שיש לך זה הדיפלומה שלך, אבל ברוב המקרים בעיני המעסיק העתידי שלך זה לא שווה את הנייר שעליו הודפס. ברוב המקרים המעסיקים יודעים את "הערך האמיתי" של התעודה שלך והשימוש המיקרוסקופי בה בהשוואה לניסיון אמיתי. יש לך השכלה גבוהה? מי לא? הרבה אנשים עם השכלה גבוהה בחוץ. זה לא מבטיח כלום. זה בדיוק כמו תעודת "אני לא טיפש", לא יותר מזה. יש יותר שימוש ברישיון הנהיגה שלך. מכללות אינן מספקות כישורים סופר מודרניים. בדרך כלל אתה לומד באותה שנה של עבודה אמיתית, כמו שאתה לומד בארבע שנים בקולג'. אלו החיים, בין אם תרצו או לא.רמה 3
1 דייגו מדבר על תוכנית פשוטה ביותר
היי, דייגו! היי, אמיגו! - פרופסור שיבח אותי לאחרונה. הוא שמח שאני מתקדם בזכות ההרצאות שלו. כן, זה בדיוק לו להודות. זה מצחיק בטירוף! יש לי משהו מעניין בשבילך. אני אגיד לך איך לכתוב תוכנית פשוטה. זה קל מאוד. תוכנית מינימלית מורכבת ממחלקה אחת ומכילה שיטה אחת main(). ככה זה נראה. - כבר ראיתי את זה בעבר, אז זה ברור. - אבל אף אחד לא רוצה תוכניות פשוטות. ככל שהתוכנית פותרת משימה מורכבת יותר, כך היא מדהימה יותר. לכן, תוכניות המורכבות מאלפי שיעורים הן פרקטיקה מקובלת. - תוכנית רגילה נכתבת בדרך כלל על ידי צוות של 10 אנשים למשך 2-3 שנים. אז מה זה הגדול? - ובכן, התוכנית שיותר מ-100 מפתחים עובדים עליה יותר מ-5 שנים. - יותר מ-500 שנות אדם? וואו! - אתה מתערב! ו-Java היא אחת משפות התכנות הטובות ביותר לפתרון משימות גדולות ועצומות. - אני אפילו לא מעז לשאול מהי משימה ענקית. - עדיף שלא. - למתכנתים לא לקח הרבה זמן להבין שקל ללכת לאיבוד באלפי שיעורים. אז הם המציאו כלים מיוחדים שמאיצים את תהליך כתיבת התוכניות בהרבה פעמים. לכן, ככל שהתוכנית שתכתוב גדולה יותר, כך התועלת גדולה יותר. - אתה אומר שהמתכנתים יצרו תוכנה לכתיבת תוכניות? - אתה צודק. קודם כל, תוכנית היא כלי לאוטומציה של כמה פעולות שגרתיות. ואם אתה כותב קוד במשך שנים, אז יש לך המון פעולות כאלה. - תוכניות לפיתוח תוכניות נקראות IDE (Integrated Development Environment). - היום תכיר אחד מהם. – אבל לא רק אחד מהם – הטוב שבהם! שמו הוא Intellij IDEA . זה יהיה חבר שלך לשנים רבות. זה כמו אח גדול שתמיד ייתן טיפ ויעזור. - אני מאוד מסוקרן! - ובכן, אם אתה לא מתכוון לכתוב תוכנית ב-Microsoft Word, אז אתה צריך סביבת פיתוח מדהימה, נכון? אנחנו הרובוטים מעדיפים את Intellij IDEA Community Edition . הורד והתקן את הגרסה האחרונה שלו.טיפ 1
כיצד למצוא את Intellij IDEA בגוגלטיפ 2
דף הורדה של Intellij IDEAטיפ 3
קישור לקובץ התקנהטיפ 4
טיפ 1
כיצד למצוא Java JDK בגוגלטיפ 2
דף הורדה של JDK 7טיפ 3
- לחץ על "קבל את הסכם הרישיון"
- בחר "jdk-7u75-windows-x64.exe" אם יש לך Windows x64
- בחר "jdk-7u75-windows-i586.exe" אם יש לך Windows x32
- אם יש לך לינוקס - אתה יודע מה לעשות :)
טיפ 4
2 קים
היי, אמיגו! איך הולך לך? היי, קים. - הכל מצויין. היום התקנתי JDK ו-Intellij IDEA בעצת דייגו. אני מנסה להבין איך להשתמש בהם. - אני אעזור לך. אני חושב שאני יודע דרך טובה יותר ללמד אותך איך להגיש יישומים. תמונה שווה אלף מילים. הנה סרטון בשבילך:יצירת פרויקט מאפס |
---|
1 הפעל את Intellij IDEA |
2 צור פרויקט חדש |
3 בחר סוג פרויקט |
4 לאחרונה התקנו את JDK. כעת עליך להוסיף את ההתייחסות שלו לפרויקט. |
5 בחר את הספרייה שבה מותקן JDK |
6 ודא שהפרויקט JDK מצוין |
7 כאן אתה יכול לציין תבנית המבוססת על כך Intellij IDEA יוצר פרויקט. אל תבחר שום דבר עכשיו. |
8 ציין שם פרויקט |
9 זהו, הפרויקט נוצר. כעת תוכל ליצור שיעורים בתיקיית src |
יצירת תוכנית פשוטה |
---|
1 לחץ לחיצה ימנית על תיקיית src וצור חבילה חדשה |
2 ציין את שם החבילה עבור השיעורים העתידיים שלנו |
3 כעת צור מחלקה חדשה עבור הקוד שלנו. לחץ לחיצה ימנית על שם החבילה: |
4 הקלד שם של המחלקה החדשה. פתרון, למשל |
5 Intellij IDEA יצרה עבורך תבנית כיתה. אתה יכול להתחיל לכתוב קוד עכשיו. |
6 ראשית, צור את השיטה הראשית |
7 עכשיו הצג הודעה - זה מגניב להיות מתכנת! |
8 לחץ לחיצה ימנית על קוד התוכנית כדי להפעיל את התוכנית |
9 תהנה מתוכנית העבודה |
3 אלי
- לפני זמן רב מחשבים היו מסוגלים להציג רק טקסט. התוכניות הציגו את הנתונים שהוקלדו מהמקלדת. מצב פעולה זה נקרא "עבודה בקונסולה" או פשוט "קונסולה". ממשק חלונות הוא אחת החלופות לקונסולה. זה כאשר התוכנית מקיימת אינטראקציה עם המשתמש דרך חלון / חלונות. מכיוון שאתה לומד רק לתכנת, אז נתחיל עם הקונסולה. - לא אכפת לי. - הטקסט מוצג בקונסולה (מסך) שורה אחר שורה. כדי למנוע שגיאות הטקסט מוקלד על המקלדת ומשוכפל על המסך. זה נראה כאילו משתמש ותוכנית כותבים טקסט על המסך לפי תור. - אתה יכול להציג את הטקסט באמצעות System.out.print() . פונקציה זו מציגה את הטקסט שורה אחר שורה. System.out.println() מציג את הטקסט ומזיז את הסמן לשורה הבאה. - כדאי להוסיף רווחים כדי למנוע מילים להיצמד, למשל: - Gotcha. - לפיכך, אתה יכול להציג כל דבר בכלל: ניתן להמיר את כל אובייקטי Java למחרוזת . כל המחלקות ב-Java עוברות בירושה ממחלקת Object, שיש לה שיטת toString(). ניתן לקרוא לו כאשר יש להמיר את האובייקט למחרוזת. - אני מפעיל את הקוד הזה, אבל התוכנית מציגה "Cat is com.codegym.lesson3.Cat@1fb8ee3". מה המשמעות של הטקסט הזה? - שיטה סטנדרטית toString() של המחלקה Object מחזירה מחרוזת המורכבת משם מחלקה וכתובת זיכרון של אובייקט (בתווים הקסדצימליים) - Humph, ומה התועלת בשיטה כזו? - אתה יכול לכתוב יישום משלך של שיטת toString() בכיתה שלך. כאשר אתה קורא לשיטה זו או JVM הופך את האובייקט שלך למחרוזת, הקוד שלך ישמש (יופעל). - באמת? טוב בסדר.4 חוליו
היי, אמיגו. להלן כמה משימות בנושא תצוגה עבורך:משימות | |
---|---|
1 | תאריך לידה כתוב תוכנית המציגה את תאריך הלידה שלך באופן הבא: 1 במאי 2012 |
2 | השם שלי כתוב תוכנית שמציגה את שמך על 5 שורות. כל שורה צריכה להכיל 10 מילים (השם שלך) מופרדות ברווח. |
3 | דייגו הוא המורה האהוב עליי כתוב תוכנית שמציגה את הטקסט «דייגו הוא המורה האהוב עליי» פעם אחת. |
4 | המכפלה של 10 מספרים כתוב תוכנית שמציגה את המכפלה של מספרים מ-1 עד 10. רמז: זה שלושה מיליון וקצת יותר |
5 | סכום של 10 מספרים כתוב תוכנית המציגה את סכום המספרים מ-1 עד 10 בשורות: 1 1+2=3 1+2+3=6 1+2+3+4=10 … פלט לדוגמה: 1 3 6 10 … |
5 Elly, שרשרת מחרוזת ולא מחרוזת
- אני רוצה לספר לך איך לחבר מחרוזות. הדבקה או חיבור של מיתרים זה לזה ידועים גם בשם "שרשור". מי שאוהב חתולים יכול לזכור את זה בקלות: Con-Cat-e-Nation. אני צוחק. - העיקרון של חיבור מיתרים הוא פשוט. אם "נוסיף" מחרוזת ועוד משהו, אז המשהו הזה הופך למחרוזת על ידי קריאה נסתרת של השיטה toString (). - מה אמרת? - בסדר. אני אעשה את זה פשוט: המספר יומר למחרוזת, כמו גם החתול, אם נוסיף מחרוזת למספר ולחתול. דוגמאות:6 דייגו
- היי חבר. הנה כמה משימות להיום. כדי להקשות, ניתן להעביר רק משתנים לשיטה print/println. - האם זה אפשרי? - סמן את דבריי, אמיגו, בלתי אפשרי הוא כלום עבורנו, הרובוטים. אנחנו יכולים להתכופף ללא כיפוף.משימות | |
---|---|
1 | עצור מבט האזנה כתוב תוכנית המציגה את כל השילובים האפשריים של המילים "עצור", "הבט", "הקשב". רמז: יש 6 גרסאות. הצג כל שילוב בשורה חדשה. אל תפריד בין מילים. דוגמה: LookListenStop ListenStopLook ... |
2 | לוח הכפל כתוב תוכנית המציגה את לוח הכפל 10 על 10 באופן הבא: 1 2 3 … 2 4 6 … 3 6 9 … … |
3 | שבעה צבעי הקשת כתוב תוכנית המציגה שבעה צבעי הקשת. שני קווים חייבים להיות בעלי שלושה צבעים. לשלישי יש רק צבע אחד. הפרד את הצבעים בקווים לפי רווחים. |
4 | דמות בריחה קראו על דמות בריחה ב-Java בחומר נוסף להרצאה. כתוב תוכנית שמציגה את שתי המחרוזות הבאות: זה נתיב Windows: "C:\Program Files\Java\jdk1.7.0\bin" זו מחרוזת Java: \"C:\\Program Files\\Java\\jdk1.7.0\\ פַּח\" |
5 | לימוד יפנית כתוב תוכנית שמציגה 日本語 |
7 אלי, קלט מקלדת
- אמיגו, הגיע הזמן: עכשיו אני אספר לך על קלט המקלדת. - השתמשנו ב-System.out כדי להציג נתונים. ועכשיו נשתמש ב- System.in כדי להזין את הנתונים. - זה נשמע קל. - אבל ל-System.in יש חיסרון אחד. זה מאפשר לך לקרוא קודי תווים מהמקלדת בלבד. כדי לפתור את הבעיה ולקרוא נתחים גדולים של נתונים בכל פעם, נשתמש במבנה מורכב יותר: - האם זה ברור? - אה... צלול כמו בוץ. - עדיף להשתמש באובייקט BufferedReader כאשר אתה צריך לקרוא שורה מהמקלדת . עליך להעביר אל BufferedReader את האובייקט System.in . ו-BufferedReader יקרא נתונים ממנו. - אבל System.in ו- BufferedReader אינם תואמים זה לזה. עלינו להשתמש באובייקט InputStreamReader כמתאם. - די הבנתי. ומה זה מחלקת ה-Scanner הזו? - לפעמים נוח להשתמש ב-Scanner, אבל בעיקר זה לא עוזר הרבה. עדיף להשתמש BufferedReader ו-InputStreamReader . זה עתה הראיתי את כיתת סורק כדי שתדע שהוא קיים. אנחנו לא הולכים להשתמש בו. - בסדר, אבל אני לא בטוח אם אני מבין את הנושא הזה לגמרי.8 דייגו
היי, אמיגו. אתה מסתדר מצוין. עכשיו אתה מוכן לצוות רציני! הנה משימה חדשה: כתוב תוכנית שקוראת כמה נתונים מהמקלדת ומציגה טקסט המכיל את הנתונים האלה:משימות | |
---|---|
1 | איך לכבוש את העולם כתוב תוכנית שקוראת מהמקלדת שם ומספר ומציגה את הטקסט: «שם» יכבוש את העולם בעוד «מספר» שנים. בוההה! (רצף נתוני הקלט חשוב.) דוגמה: ג'ו יכבוש את העולם בעוד 8 שנים. בוההה! |
2 | שכר בעוד 5 שנים כתוב תוכנית שקוראת מהמקלדת שם ושני מספרים. התוכנית צריכה להציג את הטקסט: «שם» זוכה ל-«number1» בשנים «number2». דוגמה: ניק מרוויח $150,000 ב-5 שנים. |
3 | צניעות מעטרת אדם כתוב תוכנית שקוראת מהמקלדת שם ומציגה את הטקסט: «שם» מרוויח $15,000 לחודש. האו-האו! דוגמה: טים מרוויח $15,000 לחודש. האו-האו! |
4 | לָתֵת חָסוּת! יש לזה צליל גאה! כתוב תוכנית שקוראת מהמקלדת שני שמות ומציגה את הטקסט: «name1» בחסות «name2», והיא הפכה לזמרת מפורסמת. דוגמה: ניק נתן חסות להלן, והיא הפכה לזמרת מפורסמת. |
5 | אהבה טהורה כתוב תוכנית שקוראת מהמקלדת שלושה שמות ומציגה את הטקסט: «name1» + «name2» + «name3» = אהבה טהורה, הו, כן! ימין! דוגמה: ג'ו + אווה + אנג'ליקה = אהבה טהורה, הו, כן! ימין! |
GO TO FULL VERSION