פיתוח ב-JavaScript - קורס 39,500 רובל. ממרכז הדרכה IBS, הדרכה 40 שעות, תאריך 26 בנובמבר 2023.
Miscellanea / / November 28, 2023
נושאים מכוסים:
1. שפת JavaScript:
גרסאות ויישומי JavaScript;
תחומי יישום של JavaScript (פיתוח דפדפן, שרת, מובייל);
סוגי נתונים: מחרוזת, מספר, בוליאנית (המושג אמת ושווא);
מפעילים, עדיפות מפעיל;
הצהרת משתנים: var, const, let;
לולאות: בעוד, עבור, עבור … פנימה, עבור … של;
עבודה עם מספרים ומיתרים;
ערכים אפסים ובלתי מוגדרים: הבדלים ומטרות היישום;
עבודה עם הקונסולה;
חריגים ב-JavaScript.
2. JSON, אובייקטים ומערכים:
פורמט JSON, דוגמאות;
JSON.parse ו-stringify;
אובייקטים, עבודה עם המחלקה Object;
יצירת אובייקטים (באמצעות {} המילולי, האופרטור החדש, שיטת היצירה);
ירושה אב טיפוסית, הפניה __פרוטו__;
גטרים וקובעים;
האופרטור in and hasOwnProperty, המושג של מאפיינים רבים;
שיטת toString(), קורא ועקוף את השיטה;
שיטת valueOf(), קריאה ועקיפה של השיטה;
יצירת מערכים: ליטרלים ומערך חדש();
שינוי אוטומטי של אורך המערך;
קבלת והגדרת אורך המערך, קיצוץ המערך;
שימוש בשיטות join() ו-concat();
שימוש בשיטת המיון, הגדרת סדר המיון של המערך;
שימוש בשיטות הפרוסה והחבור;
שימוש בשיטות push, pop, shift, unshift: יצירת מחסנית או תור.
3. עבודה עם תאריכים ומיתרים:
שימוש בבנאי () Date החדש;
הבנת ייצוג המחשב של תאריך כזמן עם Epoch;
שימוש ב-getTime() ו-setTime();
ייצוג מחרוזת ניתוח של תאריכים;
אפשרויות ליצירת מחרוזות ב-JS: שימוש במירכאות בודדות וכפולות;
אינטרפולציה של מחרוזת (מחרוזת באגרות);
בריחה של תווים מיוחדים במחרוזת;
שרשור מחרוזת, המרה לאותיות גדולות וקטנות;
מציאת מחרוזת משנה באמצעות indexOf() ו-lastIndexOf();
בחירת תת-מחרוזת באמצעות substring() ו-substr()
שימוש בשיטות כולל, endsWith, startsWith.
4. שימוש ב-JavaScript בדפדפן: דגם DOM:
ניהול חלון הדפדפן, המסמך, האירועים והסטיילינג (סגנונות CSS);
חפץ החלון ושימושיו;
חיבור קוד JavaScript לדף HTML;
סדר ביצוע התסריטים בדף;
מטמון סקריפטים, שרתי CDN, טעינה מחדש כפויה של JavaScript;
עבודה עם קישורים, חיבור JavaScript לקישורים;
אירוע ההעמסה והשימוש בו;
התקפות XSS באתר;
עבודה עם ה-DOM: באמצעות window, document, childNodes;
מניפולציה של מסמך באמצעות ה-DOM: יצירה, מחיקה, הזזת אלמנטים;
שימוש ב-getElementById(), getElementsByTagName(), getElementsByClassName() כדי למצוא אלמנטים בדף;
עבודה עם שיטות ומאפיינים של HTMLDocument ו-HTMLElement.
5. עבודה עם אירועים בדפדפן:
הרעיון של תכנות אירועים;
מטפלים ומאזינים באירועים;
חיבור מטפלים באמצעות addEventListener();
מאפיינים ושיטות של מחלקת האירוע;
הפצת אירועים למעלה (בעבוע) ולמטה (לכידה);
עצור את ההתפשטות;
אירועי חלונות;
אירועי עכבר ומקלדת, מאפייני אירועים מיוחדים;
טופס אירועים;
6. עבודה עם CSS וניהול סגנונות:
תקן CSS, מאפייני CSS בסיסיים;
סגנונות כלליים וסגנונות של אלמנטים בודדים;
סגנונות מדורגים;
בוררי CSS;
שינוי CSS עם JavaScript;
ריפוד: שוליים, ריפוד, גבול;
שליטה בנראות של אלמנטים: נראות ותצוגה;
מיקום האלמנטים: מוחלט, קבוע, יחסי, הגדרה למעלה ושמאל;
יחידות מדידה px, pt ואחרות;
הצפה של אלמנטים ושליטה באמצעות מאפיין הגלישה;
ניהול שכבות מסמכים: מאפיין zIndex;
אנימציה, תנועה של אלמנטים;
עבודה עם מחלקות, הגדרת className;
עבודה עם שקיפות ומעברים;
שיטת querySelectorAll().
7. עבודה עם מודולים ב-JavaScript, מנהל חבילות NPM, בונה Webpack:
סיבות לשימוש במודולים;
ייצוא ממודול;
ייבוא ממודול;
ייצוא מחדש;
עבודה עם NPM, קובץ package.json;
תיקיית node_modules, הורדת חבילות באמצעות NPM;
התקנה גלובלית ומקומית של חבילות;
שימוש ב-webpack לבניית פרויקט;
מטעני CSS ו-TypeScript;
תצורה webpack.config.js;
יצירת צרור, דחיסה;
תוספי webpack;
שימוש במערכות מודולריות ישנות - CommonJS ו-AMD;
שימוש ב-CommonsChunkPlugin, נקודות כניסה מרובות;
מודולי HMR הניתנים להחלפה חמה.
8. שיעורים וירושה ב-JavaScript:
ירושת אב טיפוס, הפניה __פרוטו__;
אב טיפוס של אובייקט;
שימוש ב-instanceof;
שיעור מילות מפתח, יצירת שיעורים;
מילת מפתח סופר;
שימוש בשיטת Object.assign();
שימוש בשיטת Object.defineProperty();
גטרים וקובעים;
אופרטור מרווח לעבודה עם אובייקטים ומערכים;
הרס מערך ואובייקט.
9. תכנות פונקציונלי ב-JavaScript:
מתפקד כמשתנים;
טיעוני מערך;
מחלקת פונקציות, שיטות call() ו-apply();
שיטת bind(), הגדרת זה וכמה מהפרמטרים באמצעות bind;
סגירות ב-JavaScript;
עטילת ערכים באמצעות סגירות;
יצירת פונקציה באמצעות הבנאי Function: בניית מחרוזת;
פונקציות חץ, דוגמאות ליישום שלהן;
מניפולציה של מערך פונקציונלי: find, findIndex, filter;
דוגמאות לשימוש במפה/פילטר/צמצום לעיבוד נתונים במערך.
10. אי-שינוי, בדיקה, דפוס MVC:
מושג הבלתי משתנה, יתרונותיו;
שיטות ניתנות לשינוי ובלתי ניתנות לשינוי לשינוי אובייקטים ומערכים;
הרעיון והיתרונות של DOM וירטואלי;
בדיקת פונקציות בלתי ניתנות לשינוי, באמצעות Jest;
שינון, יתרונותיו;
טעויות והמלצות בסיסיות בעת שימוש בתכנות פונקציונלי;
דפוס MVC, יצירת ממשק משתמש;
סקירה כללית של הספריות העיקריות לפיתוח ממשק: Angular, React, Vue.
11. אסינכרון ב-JavaScript. הבטחות:
הרעיון והכורח של אסינכרוניה;
עבודה עם setTimeout, setInterval, clearTimeout;
פונקציות התקשרות חוזרת (התקשרות חוזרת);
מאבד את זה כשעובדים עם פונקציית התקשרות חוזרת. פתרונות (שימוש ב-bind, פונקציות חצים וכו');
מושג הבטחות, החזרת הבטחה מפונקציה אסינכרונית;
שיטת Promise.all(), היישום שלה;
תחביר אסינכרון/ממתין, מקרי שימוש, מגבלות;
טיפול במצבי חירום: דחיית הבטחה, טיפול חריג עבור שיחות אסינכרוניות.
12. עבודה מול השרת. פרוטוקול HTTP. שירותי REST:
פרוטוקול HTTP;
כותרות ושיטות HTTP (GET, POST, PUT, DELETE, אחרים), העברת נתונים;
שרתי HTTP (סקירה כללית);
קודי תגובה של שרת HTTP;
שימוש בטפסים להגשת נתונים;
העברת נתונים לשרת באמצעות AJAX;
ארכיטקטורת REST: יתרונות ותכונות;
הטמעת CRUD (פעולות יצירה/קריאה/עדכון/מחיקה) בעבודה עם REST;
שימוש בפונקציה fetch() כדי לקבל ולשלוח נתונים;
תיעוד שירותי REST באמצעות Swagger;
מושג HATEOAS, יישום;
13. ספריית AXIOS. פרוטוקול WebSocket:
השוואה בין ספריית Axios ברמה גבוהה והשימוש ב-fetch();
בקשות GET ו-POST ב-Axios;
שימוש ב-async/wait עם Axios;
טיפול בשגיאות בעת שימוש ב-Axios;
ביטול בקשה באמצעות Axios;
פרוטוקול WebSocket;
דוגמאות לשימוש ב-WebSocket, השוואה עם HTTP;
אנימציית HTML;
הערה
חומרי הקורס מוצגים באנגלית.