MeCoder הכניסה לעולם התכנות


לימודי פרונט-אנד למתקדמים

Frontend Masters logo

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

אעצור ואבהיר שההמלצה הבאה שלי היא לשלבים קצת יותר מתקדמים, והם לבטח לא מתאימים למי שזה עתה התחיל ללמוד לתכנת. אבל אם אתם חושבים שכבר בניתם יסודות טובים של HTML ו-CSS, ומרגישים בבית עם Javascript, אז זה בהחלט האתר שיעזור לכם לקחת את היכולות שלכם לרמה הבאה.

מה שמייחד את האתר הזה הוא שילוב של תכנים יחסית מתקדמים בעולם הפרונט-אנד ביחד עם מרצים מהשורה הראשונה, ביניהם ניתן למצוא את Kyle Simpson מהקורס שלעיל, את Douglas Crockford שהמציא את ה-JSON ונחשב לאחד המרצים והכותבים החזקים ביותר בתחום, את Kent Dodds שמוביל את כל נושא הקוד הפתוח ב-paypal ועוד רבים טובים.

אז מה למדתי שם?

תחילה אציין את הקורס האחרון שעשיתי, כי לדעתי הוא החשוב ביותר - Four Semesters of Computer Science in 5 Hours.
מהשם של הקורס אתם עשויים להתבלבל ולחשוב שהקורס הזה שווה ערך לתואר במדעי המחשב, אז זהו שלא…
לפני כעשור עשיתי תואר בכלכלה, במהלכו למדתי לא מעט קורסים שונים, רובם בנושאי כלכלה וחלקם בנושאים אחרים. אמנם למדתי כל מיני דברים שונים, אך בפועל רק מעט מהנושאים הללו הם באמת שימושיים בעבודה ככלכלן. נכון, אני לא כלכלן במקצועי אבל זה ידוע שלחלק ניכר מהתיאוריות שלמדנו אין להם שום ערך תעסוקתי. אני חושב שאני יכול לסכם את התואר לשלושה-ארבעה נושאים חשובים באמת, אשר היתה להם השפעה על הדרך בה אני חושב, הדרך בה אני מנתח דברים.
זהו הבסיס לגישה בה נוקט הקורס האמור. הוא מנסה להנגיש אותנו לאותו מספר מצומצם של נושאים אשר יש להם השפעה על הדרך בה אנו חושבים כשאנו מתמודדים עם בעיות תכנותיות, ואנו מתמודדים עם כאלו כל הזמן.
כמובן שגם הקורס הזה, כמו מרבית הקורסים עליהם אני ממליץ, מלווה בתרגול. אך הפעם התרגולים עשויים להיות קשים מהרגיל, זאת משום שברוב הקורסים אתם מתרגלים את מה שהרגע לימדו אתכם, על מנת להטמיע את הידע שהועבר. אך בקורס זה התרגול מתרכז בעיקר בנסיון לפתור בעיות תוך הכוונה של המרצה. זהו תרגול מעולה לדפוסי החשיבה שלנו, ואני חושב שיש לו השפעה הרבה יותר רחבה על הדרך בה אנו ניגשים לבעיות קוד ולפתרונן.

Webpack 2 Deep Dive

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

API Design in node.js

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

React Native

אז אם הפלגתי למקומות זרים כמו עולם צד השרת בקורס הקודם, אז עכשיו אני עובר למובייל. בשלב המחשבות על מעבר עבודה (המאמר על כך בקרוב), החלטתי ללמוד לכתוב אפליקציות מובייל. לא רק שהדבר מתבצע באמצעות שפת Javascript (אני מרגיש שכתבתי את המילה הזאת כבר איזה עשרים פעם במאמר הזה), הוא גם מתבצע באמצעות ה-Framework שאני כל כך אוהב ומכיר היטב - React.js. יש משפט שאומר ״תלמד מישהו web והוא ידע ליצור אתרי אינטרנט. תלמד אותו React והוא ידע ליצור אתרי אינטרנט, אפליקציות מובייל, אפליקציות מציאות מדומה ועוד״. וכך למדתי לבנות אפליקציות באמצעות אותה הלוגיקה בה אני משתמש כשאני בונה אתרי אינטרנט מורכבים. אמנם זה לא זהה, אבל רב המשותף על השונה.

אחרון אחרון חביב הינו הקורס שאני מגדיר כחובה לכל מי שרוצה לצמוח בעולם ה-Javascript! אני כמובן מדבר על Advanced Javascript על ידי האחד והיחיד Kyle Simpson. כבר תיארתי את הקורס הזה במאמר איך ללמוד תכנות לבד, ולכן אקצר ואומר שהוא יגרום לכם להבין הרבה יותר טוב איך Javascript עובד, וישפר לכם משמעותית את איכות הקוד שאתם כותבים. נושאים כגון hoisting, this, scope, design patterns ועוד הם מרכיבים משמעותיים בקורס. לא לפספס!!!

דבר אחרון, ניסיתי לארגן הנחה כלשהי מאתר זה, בדומה לזו שהשגתי לאתר Udemy, אך הם לא ״זורמים״… אבל אני לא מתייאש, אמשיך לנסות, אך גם קצת לחץ מצידכם יכול לעזור. לכן אני מבקש שלאחר שאתם עושים שם מנוי, תכתבו להם שהגעתם דרך הבלוג mecoder.co.il. אני מקווה שהפירגון מהצד שלנו יוביל לפירגון מהצד שלהם :-)

תהנו!