הלינקיה סיכום 2019
הוצאתי היום את הגיליון האחרון של 2019 בניוזלטר שלי. למי שלא יודע הניוזלטר נקרא הלינקיה, הוא יוצא פעם בחודש ומרכז פוסטים מוצלחים שמצאתי באינטרנט ויצאו בחודש האחרון.
אז עם כל אווירת הסוף שנה הזאת חשבתי שיהיה נחמד להיזכר בלינקים מעניינים במיוחד מהגיליונות שנשלחו השנה למקרה שפספסתם:
1. מודול מרכזי ב npm הושחת
בעיות האבטחה של npm ליוו אותנו כל השנה וכנראה ימשיכו ללוות אותנו עוד הרבה זמן. האקר זדוני שולח מייל למתחזק (העייף) של פרויקט קוד פתוח פופולרי ומציע לעזור. מפה לשם קוד שגונב ביטקוינים מגיע למיליוני משתמשים במודול. פרטים בסקירה המצוינת של רן בר-זיק בקישור. אגב המקרה הזה הצית דיון מעניין אחר בגיטהאב בשאלה כמה אחריות צריכה להיות למתחזקים של פרויקטי קוד פתוח. בלי קשר לתוצאות הדיון כדאי לזכור את המקרה הזה בפעם הבאה שאתם מריצים npm install.
2. שמונה רעיונות למערכות שאתם יכולים להתחיל לבנות היום
פיתוח מערכת מאפס ייתן לכם היכרות עם כל הצדדים של תהליך הפיתוח וטעימה מהכאב של החלטות שגויות וההשלכות שלהן. אם תעשו עבודה טובה ותשקיעו גם בהמשך פיתוח ושיווק שלה, תוכלו אחרי שנה של עבודה גם להתחיל לקצור את הפירות. ובכל מקרה ההנאה מהדרך מובטחת. בפוסט תמצאו 8 רעיונות שאתם יכולים לקחת ולהתחיל לפתח כבר היום כחוויה לימודית או כבסיס לעסק בתור מפתחי תוכנה עצמאיים.
כל הרעיונות כאן עדיין רלוונטים גם בכניסה ל 2020.
לינק: https://www.tocode.co.il/blog/2019-01-eight-ideas
3. למה אתם לא מצליחים לכתוב CSS
"שני מאפייני CSS נכנסו לבר. כסא-בר במקום אחר לגמרי נפל". הבדיחה הזאת אולי מספרת את כל הסיפור של CSS. בגלל שאנחנו די גרועים בלשנן אוספי חוקים גדולים, ובגלל שבכל מקום שתרצו ללמוד CSS ילמדו אתכם בדיוק את אוספי החוקים האלה, כל ה CSS שאנחנו כותבים נראה כמו קסם. פקונדו קורדיני מתכנן לשנות את זה ורוצה ללמד אתכם את העקרונות הבסיסיים של CSS שאחרי שתכירו אותם תוכלו לחסוך לעצמכם 99% מאי ההבנות בעבודה עם CSS.
לינק: https://blog.logrocket.com/the-only-reason-your-css-fails-8e4388d562af/
4. המדריך המקיף של דן אברמוב ל useEffect
אולי ה Hook שנותן את השינוי הכי גדול הוא useEffect. הוא מחליף 3 פונקציות מחזור-חיים שונות ועוקף די הרבה הסתבכויות שהיו לאנשים בגירסת הקלאסים. המאמר של דן אברמוב מתאר לעומק את useEffect ואת השיקולים שהביאו ליצירתו. יש גם בתרגום לסינית ופורטוגזית אם אתם בעניין.
לינק: https://overreacted.io/a-complete-guide-to-useeffect/
5. שנה עם ספקטר
מפתחי V8 מסכמים שנה של מאבק בבאג אבטחת המידע הגדול ביותר שהתגלה אי פעם. אין חדשות טובות.
לינק: https://v8.dev/blog/spectre
6. העולם עדיין מריץ Java8
גם לכם יש לפעמים את התחושה שכולם עובדים על המערכות הכי מגניבות ורק אתם עדיין תקועים עם Java ישן? אז הנה מסתבר שאתם לא לבד ושרוב מתכנתי העולם עדיין עובדים ב Java8 (ושיש הרבה מאוד מתכנתים שעדיין כותבים מערכות ב Angular.JS או C++11). בכל מקרה מוזמנים להיכנס לפוסט כדי לקבל כמה חיזוקים או לפחות לא להרגיש לבד. אני יודע שלי זה קצת עזר להרגיש טוב יותר.
לינק: https://veekaybee.github.io/2019/05/10/java8/
7. מדריך ויזואלי ל NumPy
בספריית מערכים כמו NumPy הרבה יותר קל להבין מה כל פונקציה עושה כשרואים את המערכים והפעולות עליהם ולא רק כשקוראים את ההסבר. לכן ג'יי אלאמאר כתב לנו מדריך ויזואלי ל NumPy שמחבר בין המטריצות לדברים שהן מייצגות.
לינק: https://jalammar.github.io/visual-numpy/
8. תרגול הבטחות ב JavaScript
חושבים שאתם יודעים מה זה Promise, מה עושה async ו await ואיך לשלב את כל זה לתוכנית אחת? בין אם אתם כבר יודעים את הנושא ורוצים לתרגל או שמרגישים שכל העסק הזה של Promises זה סינית, אני ממליץ על דף התרגול שבקישור כהזדמנות לסגור אחת ולתמיד את הפער הזה.
לינק: https://www.tocode.co.il/blog/2019-07-js-promises-exercise
9. אחד עשר משחקים שילמדו את הילדים שלכם לכתוב קוד
ילדים לא תמיד מתעניינים בקוד כמו שאנחנו מתעניינים בו, ואם תתנו להם להתחיל מלקרוא על אלגוריתמים ומבני נתונים ייתכן ותרתיעו אותם טיפה. במקום זה הנה 11 משחקים שיעזרו להם ללמוד לתכנת בלי שהם שמים לב שהם לומדים.
לינק: https://www.kidtocode.com/the-11-best-coding-games-for-kids-to-learn-programming/
10. השיפורים שהכי אהבתי ב Python 3.8
החודש יצא פייתון 3.8 עם פיצ'ר אחד שחיכיתי לו הרבה זמן (אופרטור סוס הים, שעורר דיון סוער בתגובות) ועוד כמה פיצ'רים קטנים יותר שגם ישפרו לנו את החיים כל אחד בדרכו.
לינק: https://www.tocode.co.il/blog/2019-10-python38
11. מימוש רשימה מקושרת בגישה פונקציונאלית
התחלתי ללמוד ברצינות תכנות פונקציונאלי ואחד המנגנונים החדשים שפגשתי נקרא Zipper - מנגנון למימוש רשימה מקושרת בגישה פונקציונאלית. אז כתבתי על זה פוסט שמסביר למה בכלל צריך רשימה מקושרת, איך זיפר עובד ודוגמת קוד בקלוז'ר.
לינק: https://www.tocode.co.il/blog/2019-11-functional-linked-list