רקורסיה קטנה ומטריפה
כמו הצמח של סימור, גם רקורסיות יכולות לנגוס בכם אם לא תהיו זהירים. אבל בשונה מפרח טורף לרקורסיה יש גם יתרונות, כמו למשל בדוגמא הבאה בה המחשב יעזור לנו לפתור חידוני 24.
טיפים קצרים וחדשות למתכנתים
כמו הצמח של סימור, גם רקורסיות יכולות לנגוס בכם אם לא תהיו זהירים. אבל בשונה מפרח טורף לרקורסיה יש גם יתרונות, כמו למשל בדוגמא הבאה בה המחשב יעזור לנו לפתור חידוני 24.
מתכנתי JavaScript כבר אמורים להכיר את אופרטור ה Template Literal, הוא סימן \
` המאפשר פענוח משתנים בתוך מחרוזת. מעטים יודעים שאפשר לבנות שפה שלמה על אופרטור זה באמצעות פיצ'ר שנקרא Tagged Template Literals.
מדי פעם אנו נתקלים בבעיות שנראות ממש פשוטות אבל אז כשמנסים לכתוב את הקוד בתוך האילוצים של הפריימוורק הדברים הופכים מורכבים. כך למשל עבור חישוב מזהה ייחודי ותלוי מסלול לאלמנטים בריאקט, כפי שנראה בדוגמא בפוסט.
דרך טובה להבין איך מנגנון מסוים עובד היא לבנות אותו, ובמיוחד נכון הדבר כשמדובר במנגנון מאוד בסיסי בהרבה ספריות מודרניות היום. בפוסט היום נדבר על ניווט בין דפים ביישומי Single Page Application ונבנה מימוש פשוט למנגנון זה.
אחת הסיבות בגללן פרויקטי Web הופכים קשים לתחזוקה היא הגלובליות של CSS. ברגע שפרויקט נהיה מספיק גדול הוא מגיע לרגע הזה שאין לך מושג מה הולך לקרות כשתשנה הגדרת CSS, ולכן מתכנתים רק מוסיפים ומוסיפים עוד קלאסים. CSS Modules הוא רעיון שאמור להקל על תחזוקה של קוד CSS דרך פיצולו למודולים שכל אחד מהם בעל תחום השפעה מוגדר ומופרד.
אחד הרעיונות הראשונים שלמדנו בתכנות JavaScript היה שפקודות מתבצעות פקודה אחר פקודה לפי הסדר. בהיעדר Threads לא ייתכן שבאמצע ביצוע פונקציה נעבור לבצע קוד מפונקציה אחרת. לפחות עד שהגיעו async ו await לדפדפנים שלכם.
בשנה האחרונה אני שומע פחות אנשים מתלהבים מטכנולוגיות Front End. כלומר אנחנו עדיין מדברים על זה אבל במקום לספר כמה מדליק שאפשר לעשות שיחות וידאו מתוך אתר אנחנו מתלבטים איזה פריימוורק יאפשר תחזוקה קלה יותר של הקוד. כמה רעיונות למה זה קורה.
בפרויקט שאני עובד עליו רצינו לאפשר למשתמשים לבחור צבע רקע לעצמם, אבל בלי לקלקל יותר מדי את הקריאות של הטקסט שיצא, גם אם הם מפשלים ממש. עם קצת משחקי צבעים מסתבר שאפשר לחשב לכל צבע (כמעט) צבע טקסט שיראה עליו בסדר. כדי להשאיר את הקוד קצר כל הדוגמאות בפוסט משתמשות ב tinycolor כדי לשחק עם הצבעים.
בארכיטקטורת Micro Services מערכות שונות צריכות להעביר מידע אחת לשניה על פעולות של המשתמש. היעזרות במשתמשים עצמם בתור דוורים שמעבירים את המידע בין המערכות חוסך סיבוכים בצד השרת, אבל כולל אתגרים משלו. הנה כמה מהם.
התמיכה ב Fetch API כבר נכנסה לרוב הדפדפנים אז נראה שזה זמן טוב להכיר ואולי אף להתחיל להשתמש בו. המנגנון מספק את אותן יכולות של XMLHttpRequest אבל בתחביר מעט שונה ובלי התחילית המבלבלת XML. הנה 3 דוגמאות שיהיה לכם עם מה לעבוד.