הבלוג של ינון פרק

טיפים קצרים וחדשות למתכנתים

גלגלי עזר

05/03/2018

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

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

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

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

דרוש כוכב

04/03/2018

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

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

מצד שני קיימת קבוצה לא קטנה של מתכנתים ״כוכבים״ והם יודעים את זה. יש לי חבר כזה שאחרי שעזב עבודה החליט לשבת בבית חצי שנה לנוח. כששאלתי אם הוא לא דואג שאחרי שיסיים את המנוחה יהיה לו קשה למצוא עבודה חדשה, הוא אמר שיהיה בסדר. ובאמת כשהחליט לחזור לעבוד הוא מצא מהר מאוד ובמשכורת מעולה. ולא, הוא לא עמד בדרישות המשרה שפורסמו (אם בכלל פורסמו).

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

מקווה שתהנו. ינון.

בואו נכתוב משחק איקס עיגול ב Elixir

25/02/2018

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

המשך קריאה

גם בריאקט: לא תמיד קל להגיד לילדים מה לעשות

שתי צורות של תקשורת בריאקט מאוד ברורות מהתיעוד: הראשונה היא העברת מידע מהורה לילד באמצעות Properties, והשניה היא שליחת פקודות מילד להורה באמצעות העברת Callback בתור Property. פוסט זה יעסוק בבעיה שלישית שפחות מדברים עליה: איך לשלוח פקודה מהורה לילד.

המשך קריאה

גיט: איך לבטל תיקון ישן אחרי שהבנת שזה לא היה רעיון טוב

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

המשך קריאה

סיור מהיר בשפת Ruby

21/01/2018

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

המשך קריאה

שאלות מראיונות עבודה: טיפוס מדרגות

14/01/2018

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

אבל אז במחשבה שניה נראה לי שלהבין ולדעת להיכנס לראש שלהם זה אולי לא כזה רע (גם אם לא יצירתי במיוחד) כמו שתראו בדוגמא הבאה.

המשך קריאה

צרות עם שינויים באוביקטים

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

המשך קריאה