שיעור 1 - מבוא והתיאוריה שמאחורי - סופי PDF

Summary

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

Full Transcript

Make You Fly ‫אהלן‪ ,‬שמי עוז‬ ‫אני עוסק באפיון ובניית מערכות לעסקים וארגונים‪,‬‬ ‫אוטומציות וייעול תהליכים דיגיטליים‪.‬‬ ‫אחד הדברים שאני אוהב לעשות זה לקחת נושא‬ ‫מסוים‪ ,‬לפרק אותו לגורמים‪ ,‬להבין איך כל חלק בו‬ ‫עובד ואז לחבר אותו ביחד למשהו קוהרנטי ו...

Make You Fly ‫אהלן‪ ,‬שמי עוז‬ ‫אני עוסק באפיון ובניית מערכות לעסקים וארגונים‪,‬‬ ‫אוטומציות וייעול תהליכים דיגיטליים‪.‬‬ ‫אחד הדברים שאני אוהב לעשות זה לקחת נושא‬ ‫מסוים‪ ,‬לפרק אותו לגורמים‪ ,‬להבין איך כל חלק בו‬ ‫עובד ואז לחבר אותו ביחד למשהו קוהרנטי וברור‬ ‫שאפשר להשתמש בו‪.‬‬ ‫אשמח לשמוע עליכם!‬ ‫זה מה שנעשה היום‬ ‫נניח את היסודות ללמידת אוטומציות ובניית מערכות‬ ‫‪04‬‬ ‫‪03‬‬ ‫‪02‬‬ ‫‪01‬‬ ‫לוגיקה‬ ‫התיאוריה שמאחורי‬ ‫המסע שלנו‬ ‫מבוא‬ ‫תנאים לולאות‬ ‫מאחורי הקלעים‪,‬‬ ‫סילבוס‪ ,‬מבנה‬ ‫מהי בכלל‬ ‫בניית אוטומציות‬ ‫בניית שפה משותפת‬ ‫השיעורים ופרויקט‬ ‫אוטומציה? מה‬ ‫חכמות‬ ‫ומונחי בסיס‬ ‫אישי‬ ‫נדרש מאנשי‬ ‫אוטומציה?‬ ‫מבוא‬ ‫מבוא | ‪01‬‬ ‫מה זה בכלל אוטומציה?‬ ‫אוטומציה עסקית היא תהליך של המרת פעולות ידניות לפעולות שקורות‬ ‫לבד‪ ,‬ללא מגע יד אדם באמצעות טכנולוגיה‪.‬‬ ‫במקום שנבצע פעולות חוזרות באופן ידני‪ ,‬המחשב מבצע אותן עבורנו על‬ ‫פי הנחיות שקיבל מראש‪.‬‬ ‫לדוגמה במקום לשלוח באופן ידני מייל לכל לקוח חדש שנרשם‪ ,‬המערכת‬ ‫שולחת בעצמה מייל ברגע ההרשמה‪.‬זו אוטומציה בסיסית שחוסכת זמן יקר‪.‬‬ ‫אוטומציה היא כמו לתת למחשב "מתכון" ‪ -‬סדרת הוראות שאומרות לו מה‬ ‫לעשות במקומנו‪.‬‬ ‫מבוא | ‪01‬‬ ‫למה צריך אוטומציה?‬ ‫שיפור‬ ‫סקיילביליות‬ ‫דיוק‬ ‫חיסכון‬ ‫חווית הלקוח‬ ‫וצמיחה‬ ‫ועקביות‬ ‫בזמן‬ ‫שירות‪/‬מוצר מהיר יותר‪,‬‬ ‫אוטומציה מאפשרת‬ ‫מחשב לא שוכח ולא‬ ‫פעולות שלוקחות שעות‬ ‫זמין ‪,24/7‬‬ ‫לעסק לגדול בלי להגדיל‬ ‫מתעייף‪ ,‬התוצאות‬ ‫בעבודה ידנית יכולות‬ ‫ללא טעויות אנוש‪.‬‬‫משמעותית את חיסכון בכסף‬ ‫תמיד עקביות‪.‬‬ ‫להתבצע בשניות‪.‬‬ ‫והגדלת רווח‬ ‫כוח האדם‪.‬‬ ‫פחות שעות כוח אדם‪,‬‬ ‫אפשרות לתת שירות‬ ‫ליותר קהל בפחות זמן‪,‬‬ ‫מוצר איכותי ויקר יותר‬ ‫מבוא | ‪01‬‬ ‫איך אוטומציה עובדת?‬ ‫לאוטומציה שלושה חלקים עיקריים‪:‬‬ ‫?מתי‬ ‫?איך‬ ‫‪Trigger‬‬ ‫?מה‬ ‫‪Logic‬‬ ‫גורם מפעיל‬ ‫הגירוי שמאותת למחשב‬ ‫‪Action‬‬ ‫חוקיות‬ ‫תנאים והחלטות‪,‬‬ ‫להתחיל את התהליך‪.‬‬ ‫יכול להיות תזמון מסויים‪,‬‬ ‫פעולה‬ ‫פיצולים לענפים שונים‪,‬‬ ‫פעולה ידנית של‬ ‫פעולה בודדת או מספר‬ ‫עיבוד של מידע‪.‬‬ ‫משתמש‪ ,‬שינוי מסויים‬ ‫פעולות משתנה‬ ‫במידע‪.‬‬ ‫שהתהליך מבצע בצורה‬ ‫אוטומטית‪.‬‬ ‫מבוא | ‪01‬‬ ‫לדוגמה‪:‬‬ ‫?מתי‬ ‫?איך‬ ‫‪Trigger‬‬ ‫?מה‬ ‫‪Logic‬‬ ‫לקוח ממלא טופס‬ ‫‪Action‬‬ ‫בדיקה האם הוא מעוניין‬ ‫התעניינות במוצר‬ ‫בהצעת מחיר‪ ,‬עיבוד‬ ‫הפקת הצעת המחיר‬ ‫הנתונים מהטופס לכדי‬ ‫עפ״י הנתונים‪ ,‬שליחה‬ ‫המוצר המתאים‬ ‫ללקוח‪ ,‬תיעוד ב‪CRM‬‬ ‫יש שאלה אחת שחסרה לנו‪...‬‬ ‫?למה‬ ‫האומנות האמיתית היא‬ ‫הבנת הצרכים העסקיים של‬ ‫הלקוח וחיבור התהליך המתאים‬ ‫וזה‬ ‫ההבדל בין אנשי‬ ‫אוטומציות טובים למצוינים‬ ‫אנחנו לא רוצים רק ללמוד אוטומציה‪,‬‬ ‫אנחנו רוצים ללמוד איך‪....‬‬ ‫!לחשוב אוטומציה‬ ‫מבוא | ‪01‬‬ ‫מערכות ניהול מידע‬ ‫לא נלמד רק על אוטומציות‪...‬‬ ‫מערכת ניהול מידע היא כמו "מוח דיגיטלי" לעסק‪.‬‬ ‫בדיוק כמו שהמוח שלנו מנהל את כל הפעולות בגוף;‬ ‫למה צריך‬ ‫זוכר מידע‪ ,‬מקבל החלטות ומתקשר עם איברים שונים‪.‬‬ ‫?מערכות מידע‬ ‫כך מערכת ניהול מרכזת את כל המידע והפעולות‬ ‫בעסק‪.‬‬ ‫מבוא | ‪01‬‬ ‫מערכות ניהול מידע‬ ‫דוגמאות למרכיבי מערכת ניהול‪:‬‬ ‫מי הלקוחות?‬ ‫איזה תשלומים התקבלו?‬ ‫מה המלאי במחסן?‬ ‫ומה ההיסטוריה שלהם?‬ ‫איזה פרוייקטים נשארו‬ ‫מי מהצוות אחראי על מה?‬ ‫מה סטטוס ההזמנות?‬ ‫פתוחים?‬ ‫במקום לנהל את העסק בעזרת אקסלים‪ ,‬וואטסאפ ופתקים‪ ,‬הכל נמצא במקום‬ ‫אחד מסודר‪ ,‬מאורגן‪ ,‬אמין ונגיש‪.‬‬ ‫הבנה של ‪ -‬״איך הדברים‬ ‫חשיבה ״מחוץ‬ ‫יכולת פתרון בעיות‬ ‫עובדים״שצוללים‬ ‫שניה לפני‬ ‫לקופסה״‬ ‫למידה עצמאית‬ ‫חשיבה תהליכית‬ ‫הקשבה והבנת צרכים‬ ‫מה נדרש‬ ‫מאנשי‬ ‫תחקור ומציאת בעיות‬ ‫דיוק‬ ‫?אוטומציה‬ ‫סבלנות‬ ‫הסתכלות על צמיחה‬ ‫יצירתיות‬ ‫קדימה‬ ‫עמידה בזמנים‬ ‫הבנת מבני נתונים‬ ‫מיומנויות טכניות‬ ‫מבוא | ‪01‬‬ ‫מה נדרש מאנשי אוטומציה?‬ ‫חשיבה תהליכית ומערכתית 🧠‬ ‫ ראייה של התמונה הגדולה לצד הבנת הפרטים‬ ‫הקטנים‬ ‫ הסתכלות הוליסטית על השלם המורכב מסך חלקיו‬ ‫ זיהוי דפוסים ויחסי גומלין בין חלקי המערכת השונים‬ ‫ היכולת לפרק תהליכים מורכבים לצעדים קטנים‬ ‫מיומנויות טכניות 🔧‬ ‫וברורים‬ ‫ הבנה בסיסית של עולם התוכנה והאינטרנט‬ ‫ הבנת מבני נתונים ולוגיקות‬ ‫ ארגז כלים רחב למימוש פתרונות טכנולוגיים‬ ‫ היכרות עם כלים שונים ומגוונים והתמקצעות במערכות‬ ‫ יכולת קריאה והבנה של דוקומנטציה טכנית‬ ‫מבוא | ‪01‬‬ ‫מה נדרש מאנשי אוטומציה?‬ ‫פתרון בעיות יצירתי 💡‬ ‫ חשיבה "מחוץ לקופסה"‬ ‫ יכולת לחקור ולמצוא פתרונות גם כשהדרך לא ברורה‬ ‫ גמישות מחשבתית ונכונות לבחון מספר פתרונות‬ ‫אפשריים‬ ‫ תחקור סיסטמי של בעיה ופירוקה לגורמים‬ ‫למידה ומיומנויות אישיות ✨‬ ‫ למידה עצמאית מתמדת של כלים וטכנולוגיות חדשות‬ ‫ חדשנות ויזמות ‪ -‬מציאת פתרונות חדשים לבעיות‬ ‫ יכולת הקשבה והבנת צרכים‬ ‫ תקשורת טובה עם לקוחות וצוות‬ ‫להיות אנשי אוטומציה‬ ‫זה קודם כל להבין אנשים ועסקים‪,‬‬ ‫"‬ ‫"‬ ‫ורק אחר כך טכנולוגיה‬ ‫אנחנו בעצם 'מתווכים'‬ ‫לוקחים את הצרכים העסקיים והופכים אותם לפתרונות‬ ‫טכנולוגיים‬ ‫המסע שלנו‬ ‫המסע שלנו | ‪02‬‬ ‫מבנה הקורס‬ ‫‪.1‬יסודות ותשתית 📚‬ ‫ מבוא לעולם האוטומציה והמערכות‬ ‫ תיאוריה ומושגי יסוד כגון‪API, HTTP, JSON :‬‬ ‫ לוגיקה בסיסית‪ ,‬תנאים‪ ,‬ולולאות‬ ‫ היכרות עם מערכת ‪Make‬‬ ‫‪.2‬אפיון ומערכות מידע 📋‬ ‫ אפיון וזיהוי צרכים עסקיים‬ ‫ עבודה עם תרשימי זרימה וכתיבת אפיון‬ ‫ בניית מערכות מידע ומבני נתונים‬ ‫ סוגי ישויות‪ ,‬שדות וקשרים‬ ‫המסע שלנו | ‪02‬‬ ‫מבנה הקורס‬ ‫‪.3‬צלילה למערכת‪⚙️ Make‬‬ ‫ שליטה במערכת מייק‬ ‫ אריכטקטורה נכונה של סנריו‬ ‫ מערכים‪ ,‬איטרציות ואגרגציות‬ ‫ פונקציות פנימיות במייק‬ ‫‪.4‬התמקצעות ופתרון בעיות 🎯‬ ‫ מבני נתונים מתקדמים ו‪Datastore‬‬ ‫ למידה עצמאית של מערכות וקריאת דוקומנטציה‬ ‫ עבודה עם ‪API‬‬ ‫ ‪ ,QA‬דיבוג ופתרון תקלות‬ ‫ דילוור‪ ,‬תיעוד פרוייקט ותחזוקה‬ ‫ שילוב‪ AI‬באוטומציות ועבודה עם צ׳אטבוטים‬ ‫המסע שלנו | ‪02‬‬ ‫שניה לפני שצוללים‬ ‫הפרויקט האישי‬ ‫לאורך הקורס כל אחד יבנה פרויקט אישי שילווה אותנו לאורך כל הקורס‬ ‫ויביא לידי ביטוי את הלמידה המעשית במהלך הקורס‬ ‫‪04‬‬ ‫‪03‬‬ ‫‪02‬‬ ‫‪01‬‬ ‫הגשת פרוייקט –‬ ‫הגשת אמצע –‬ ‫דיוק אפיון והתמקדות‪,‬‬ ‫בחירת נושא הפרויקט‬ ‫תיעוד‪ ,‬דילוור ומשובים‬ ‫הקמת המערכות‪,‬‬ ‫יצירת תכנית עבודה‬ ‫ואפיון צרכים‬ ‫דיוקים ודגשים‬ ‫המסע שלנו | ‪02‬‬ ‫שניה לפני שצוללים‬ ‫הפרויקט האישי‬ ‫בפרויקט מצופה מכם לעמוד בסטנדרט גבוה ‪ -‬פרויקט שהייתם מספקים ללקוח אמיתי‬ ‫ ‬ ‫בגאווה‪.‬‬ ‫הפרויקט צריך להיות משמעותי ‪ -‬עליכם לבחור פרויקט שיהיה מספיק מאתגר עבורכם ויגרום‬ ‫ ‬ ‫לכם קצת לצאת מאזור הנוחות‪.‬‬ ‫הפרויקט צריך לשלב עבודה עם מספר מערכות שונות‪.‬‬ ‫ ‬ ‫על מנת לחזק את שריר הלמידה העצמית ‪ -‬לפחות אחת מהמערכות תצטרך להיות מערכת‬ ‫ ‬ ‫שעוד לא התנסיתם בה‪.‬‬ ‫הפרויקט ישלב עבודה קבוצתית ‪ -‬תצטרכו למשב את חבריכם לקבוצה ולהיעזר בהם‪.‬‬ ‫ ‬ ‫במהלך הפרויקט תדרשו להדגים רמה מקצועית גבוהה ושימוש בכלים לבניה של אוטומציות‬ ‫ ‬ ‫מורכבות שנלמד בקורס‪.‬‬ ‫המסע שלנו | ‪02‬‬ ‫שניה לפני שצוללים‬ ‫דגשים לקורס מוצלח‬ ‫ההשתתפות בשיעורים חשובה‪ ,‬תשאלו שאלות כשהן עולות! זה הפידבק שאני מקבל מכם כדי‬ ‫ ‬ ‫לראות שהבנתם את החומר‪.‬‬ ‫הקורס הוא קורס מעשי‪ ,‬ללא תרגול ועבודה עצמית בין השיעורים לא תוכלו להפנים את‬ ‫ ‬ ‫החומר כמו שצריך‪.‬‬ ‫כשעולות שאלות במהלך התרגולים ‪ -‬תשאלו אותם בקבוצה‪ ,‬לא מומלץ לשמור בבטן ולא‬ ‫ ‬ ‫לחכות לשיעור‪.‬צרפו צילומי מסך או עדיף צילום לום קצר‪.‬‬ ‫הפרויקט הוא ההזדמנות שלכם להביא לידי ביטוי את הלמידה שלכם ולצבור ניסיון‪ ,‬התייחסו‬ ‫ ‬ ‫אליו ברצינות‪.‬‬ ‫!יאללה‬ ‫מוכנים להתחיל את הלמידה‬ ‫האמיתית?!‬ ‫התיאוריה שמאחורי‬ ‫התיאוריה שמאחורי | ‪03‬‬ ‫מה על הפרק?‬ ‫‪03‬‬ ‫‪02‬‬ ‫‪01‬‬ ‫פרוטוקול ‪HTTP‬‬ ‫מה זה ?‪API‬‬ ‫איך‬ ‫ו‪CRUD -‬‬ ‫עובד האינטרנט?‬ ‫‪06‬‬ ‫‪05‬‬ ‫‪04‬‬ ‫‪Code vs No-Code‬‬ ‫‪JSON‬‬ ‫סוגי נתונים‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬איך עובד האינטרנט?‬ ‫איך עובד האינטרנט?‬ ‫אנחנו חיים בעולם מחובר ‪ -‬עולם בו הכול נמצא באינטרנט‪.‬‬ ‫גם המערכות שאיתם אנחנו רגילים לעבוד הן מערכות ״ווביות״ ‪ -‬מבוססות אינטרנט‪.‬‬ ‫זה אומר שאנחנו לא צריכים להתקין את התוכנה אצלנו במחשב‪ ,‬אנחנו גולשים אליה מהדפדפן‬ ‫שלנו‪.‬‬ ‫ואנחנו יכולים לעשות את זה מכל מקום בעולם ומכל מכשיר והמידע שלנו נשמר ב״ענן״‪.‬‬ ‫מערכות לדוגמה‪:‬‬ ‫‪CRM - Pipedrive, Origami, Hubspot‬‬ ‫טפסים ‪Google Forms, Fillout -‬‬ ‫מסדי נתונים ‪Airtable, Google Sheets -‬‬ ‫הודעות ותקשורת ‪Gamil, Outlook, WhatsApp -‬‬ ‫ואפילו מערכות האוטומציה‪Zapier, Make...‬‬ ‫כולן מערכות אינטרנטיות והתקשורת בינן מתבצעת על גבי הרשת‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬איך עובד האינטרנט?‬ ‫אבל זה פשוט עובד‪ ,‬לא?‬ ‫למה צריך להבין איך זה‬ ‫?עובד‬ ‫שחשמלאי צריך להבין איך החשמל זורם כדי לחבר את כל מערכות החשמל בבניין‪.‬‬ ‫בדיוק כמו‬ ‫כך גם אנחנו כאנשי אוטומציה ‪ -‬אם נבין את הבסיס של האינטרנט נדע יותר טוב איך‬ ‫המערכות והאוטומציות שאנחנו בונים פועלות‪ ,‬איפה לחפש כשמשהו לא עובד ואיך להתמודד‬ ‫עם שגיאות ותקלות‪.‬‬ ‫הבנת הבסיס חוסכת זמן רב בהמשך ומייצרת אנשי אוטומציה מקצוענים וטובים יותר‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬איך עובד האינטרנט?‬ ‫בואו נדמיין מסעדה ‪ -‬עם סועדים‪ ,‬מטבח שמבשל מנות ומלצרים שמביאים את האוכל לסועדים‪.‬‬ ‫מלצרים‬ ‫מטבח‬ ‫סועדים‬ ‫ מקבל את‬ ‫מקבלים את‬ ‫ ‬ ‫ מזמינים את‬ ‫ההזמנות‬ ‫ההזמנות מהסועדים‬ ‫האוכל‬ ‫מהמלצרים‬ ‫מעבירים את‬ ‫ ‬ ‫ מקבלים את‬ ‫ מכין את האוכל‬ ‫ההזמנות מהמטבח‬ ‫האוכל‬ ‫לפי ההזמנות‬ ‫מביאים את האוכל‬ ‫ ‬ ‫ נהנים מהשירות‬ ‫שקיבל‬ ‫מהמטבח לסועדים‬ ‫ מוציא את המנות‬ ‫דואגים שהכול יגיע‬ ‫ ‬ ‫למלצרים‬ ‫למקום הנכון‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬איך עובד האינטרנט?‬ ‫איך זה קורה בפועל?‬ ‫פרוטוקול ‪Protocol -‬‬ ‫שרת ‪Server -‬‬ ‫לקוח ‪- Client‬‬ ‫‪.3‬השרת מקבל את‬ ‫‪.2‬הבקשה ״נוסעת״‬ ‫‪.1‬הדפדפן שולח‬ ‫הבקשה‪ ,‬מעבד‬ ‫דרך נתבי ושרתי‬ ‫בקשה ״היי‪ ,‬אני רוצה‬ ‫אותה ומכין את‬ ‫לראות את דף הבית של האינטרנט ומגיע על פי‬ ‫המידע המבוקש‬ ‫הכתובת שלה לשרת‬ ‫גוגל״‬ ‫ושולח אותו בחזרה‬ ‫של גוגל‬ ‫בתשובה‬ ‫‪.5‬הדפדפן מקבל את‬ ‫‪.4‬התשובה עושה את‬ ‫התשובה‪ ,‬מעבד אותה‬ ‫דרכה בחזרה ללקוח‬ ‫ומציג את האתר של‬ ‫דרך האינטרנט‬ ‫גוגל‬ ‫כל המסע המפרך והקסום הזה קורה באלפית השניה ועד כמה שניות‬ ‫בודדות (בבקשות מורכבות יותר או לשרתים מרוחקים)‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬איך עובד האינטרנט?‬ ‫עוד צעד חשוב שקורה בדרך‬ ‫פרוטוקול ‪Protocol -‬‬ ‫שרת ‪Server -‬‬ ‫לקוח ‪- Client‬‬ ‫מסד נתונים ‪Database‬‬ ‫‪-‬‬ ‫רוב המידע מאוחסן ומאורגן בתוך דאטאבייס‪,‬‬ ‫והשרת שולף את המידע הנחוץ מתוך‬ ‫הדאטאבייס‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬איך עובד האינטרנט?‬ ‫ואם נחזור רגע לדוגמה של המסעדה‪...‬‬ ‫מלצרים‬ ‫מטבח‬ ‫סועדים‬ ‫מחסן‬ ‫במחסן נמצאים הפרודוקטים והמוצרים מהם‬ ‫הטבחים במטבח מכינים את המנות‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬איך עובד האינטרנט?‬ ‫ממה מורכבת כתובת האינטרנט? ‪https://www.google.com/search?q=make.com‬‬ ‫הוספת דוגמה עם מספר פרמטריים משורשרים ולא רק אחד‬ ‫‪www.google.c‬‬ ‫‪//:https‬‬ ‫‪search/‬‬ ‫?‪q=make.com‬‬ ‫‪om‬‬ ‫איך להגיע?‬ ‫לאן להגיע?‬ ‫תתי כתובות‬ ‫מה מעבירים?‬ ‫ברכב‪ ,‬ברגל‬ ‫לאיזה בניין‪ ,‬מה הרחוב‬ ‫בתוך הבניין‪.‬‬ ‫‪Querry Parameters‬‬ ‫וכו׳‪..‬‬ ‫ומספר הבית‪.‬‬ ‫לאיזה קומה‬ ‫יכולים להיות משורשרים‬ ‫הפרוטוקול‬ ‫דומיין ‪ -‬שם מתחם‬ ‫או דירה?‬ ‫פה מגוון של נתונים‬ ‫שבשימוש‬ ‫שמדייקים את הבקשה‬ ‫הבנו את הבסיס של איך האינטרנט עובד‪,‬‬ ‫הגיע הזמן להבין‬ ‫איך מתקשרים עם‬ ‫‪.‬מערכות‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬מה זה ‪?API‬‬ ‫מה זה ‪?API‬‬ ‫‪Applicatio‬‬ ‫‪A‬‬ ‫‪n‬‬ ‫‪Programmin‬‬ ‫‪P‬‬ ‫‪g‬‬ ‫‪I‬‬ ‫‪Interface‬‬ ‫ובעברית‪ :‬ממשק תכנות יישומים‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬מה זה ‪?API‬‬ ‫אפשר לתקשר עם מערכת בשתי דרכים עיקריות‪:‬‬ ‫ממשק תכנות ‪API -‬‬ ‫ממשק משתמש ‪UI)G( -‬‬ ‫ממשק טקסטואלי‪/‬נכתב בקוד‬ ‫ ‬ ‫ממשק אינטרנטי ויזואלי‬ ‫ ‬ ‫מיועד למערכות (נכתב ע״י בני‬ ‫ ‬ ‫מיועד לבני אדם‬ ‫ ‬ ‫אדם)‬ ‫אינטואיטיבי ונוח לשימוש‬ ‫ ‬ ‫יעיל‪ ,‬גמיש ומאפשר ביצוע של‬ ‫ ‬ ‫דורש פעולה אנושית‬ ‫ ‬ ‫מגוון פעולות רחב גם באופן‬ ‫מוגבל למה שמוצג במסך‬ ‫ ‬ ‫מורכב‬ ‫יכול להיות אוטומטי לחלוטין‬ ‫ ‬ ‫(ללא פעולה אנושית)‬ ‫יכול להיות חשוף ליותר נתונים‬ ‫ ‬ ‫ממה שמוצג בממשק‬ ‫המשתמש‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬מה זה ‪?API‬‬ ‫איך זה נראה?‬ ‫ממשק תכנות ‪API -‬‬ ‫ממשק משתמש ‪UI)G( -‬‬ ‫משתמש נכנס לאתר החנות‬ ‫ ‬ ‫מחפש מוצר‪ ,‬מוסיף לסל‬ ‫ ‬ ‫ממלא את פרטי ההזמנה‬ ‫ ‬ ‫והמשלוח‬ ‫משלם בעזרת כרטיס אשראי‬ ‫ ‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬מה זה ‪?API‬‬ ‫איך עובד ‪?API‬‬ ‫בדיוק כמו שעובד האינטרנט‪ ,‬בצורה של בקשות ותשובות‪.‬‬ ‫בקשה‬ ‫שרת ‪2‬‬ ‫שרת ‪1‬‬ ‫תשובה‬ ‫ שולחים בקשה משרת (‪/‬מערכת‪/‬אפליקציה) אחד לשרת שני‪.‬‬ ‫ הבקשה נשלחת על פי פרוטוקול מוסכם ‪HTTP -‬‬ ‫ הבקשה מתקבלת בשרת‪ ,‬עוברת עיבוד והשרת מחזיר תשובה לשרת‬ ‫השולח‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬מה זה ‪?API‬‬ ‫‪REST API‬‬ ‫שקופית על ‪Rest API‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬פרוטוקול ‪ HTTP‬ו‪CRUD -‬‬ ‫פרוטוקול ‪HTTP‬‬ ‫פרוטוקול ‪))HTTP HyperText Transfer Protocol‬‬ ‫הוא הפרוטוקול שמאפשר תקשורת באינטרנט‪ ,‬זו ה"שפה" שבה‪:‬‬ ‫ דפדפנים מדברים עם אתרים‬ ‫ אפליקציות מדברות עם שרתים‬ ‫ מערכות מתקשרות זו עם זו‬ ‫כולל סט כללים מוסכם לכתיבת בקשות‪.‬‬ ‫כל תקשורת בפרוטוקול מורכבת מבקשה ותשובה‪.‬‬ ‫כיום מרבית המערכות משתמשות בפרוטוקול‪ HTTPS‬שעובר קידוד והצפנה בניגוד ל ‪HTTP‬‬ ‫ששולח מידע חשוף ולא מאובטח‪.‬‬ ‫כאשר המידע המוצפן מגיע ליעדו הוא עובר פענוח‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬פרוטוקול ‪ HTTP‬ו‪CRUD -‬‬ ‫ממה מורכבת בקשת ‪?HTTP‬‬ ‫כתובת |‬ ‫מתודה | ‪Method‬‬ ‫‪Endpoint‬‬ ‫לאן מיועדת הבקשה?‬ ‫ ‬ ‫סוג הפעולה‬ ‫ ‬ ‫לכל אנדפוינט דרישות‬ ‫ ‬ ‫(נפרט בהמשך על‬ ‫ ‬ ‫שונות ומבנה מוגדר‬ ‫הסוגים השונים)‬ ‫גוף הבקשה |‬ ‫כותרות |‬ ‫‪Body‬‬ ‫‪Headers‬‬ ‫המידע עצמו‬ ‫ ‬ ‫מידע כללי על הבקשה‬ ‫ ‬ ‫כאן ישלח המידע לביצוע‬ ‫ ‬ ‫לרוב יכילו אמצעי‬ ‫ ‬ ‫הפעולה שאנחנו רוצים‬ ‫הזדהות ואבטחה‬ ‫לעשות ב ‪- API‬‬ ‫סוג המידע הנשלח‬ ‫ ‬ ‫המידע צריך להיות במבנה‬ ‫ ‬ ‫מסוים על מנת שיתקבל‬ ‫בצורה תקינה‪ ,‬עבור זה יש‬ ‫דוקומנטציה‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬פרוטוקול ‪ HTTP‬ו‪CRUD -‬‬ ‫איך נראית תשובת ‪?HTTP‬‬ ‫ כל תשובת‪ API‬תגיע עם קוד סטטוס שמבטא את‬ ‫התוצאה של הבקשה (הצלחה או קוד שגיאה)‬ ‫ נקבל פרטים על התשובה כמו המזהה שלה‪ ,‬מתי‬ ‫התקבלה וכו׳‬ ‫ ונקבל בחזרה מידע מסוים כתגובה ובהתאם לבקשה‬ ‫שלנו‪.‬‬ ‫ במקרה של שגיאה ‪ -‬נקבל הודעת שגיאה‪.‬רמת הפירוט‬ ‫נפוצים‪:‬משתנה בין ‪ API‬שונים‪.‬‬ ‫קודי סטטוס‬ ‫בהודעות שגיאה‬ ‫‪ - 4XX‬שגיאת לקוח‪ - 5XX :‬שגיאת שרת‪:‬‬ ‫‪ - 2XX‬הצלחה‪:‬‬ ‫‪Server Error :500 Bad Request :400‬‬ ‫‪Success :200‬‬ ‫‪Service Unavailable :503 Unauthorized :401‬‬ ‫‪Created :201‬‬ ‫‪Not Found :404 No Content :204‬‬ ‫‪Rate Limit :429‬‬ ‫‪https://en.wikipedia.org/wiki/List_of_HTTP_status‬‬ ‫‪_codes‬‬ ‫לכל שפה יש חוקים וכללים וכך גם לשפות תכנות ופרוטוקולים שונים‪.‬‬ ‫הסינטקס הוא סט הכללים המגדיר איך לכתוב נכון את‬ ‫"‬ ‫הפקודות‪/‬בקשות‪/‬קטעי קוד‪.‬באיזה סימנים ניתן להשתמש ואיך‪ ,‬מה סדר‬ ‫המידע הנכון וכו׳‪.‬‬ ‫טעות קטנה ב ‪- Syntax‬תוביל לשגיאה של בקשה לא תקינה‪.‬‬ ‫"‬ ‫למזלנו ‪Make‬מטפל ברוב הסינטקס עבורנו ‪):‬‬ ‫טיפ קטן ‪Synt‬‬ ‫‪ax‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬פרוטוקול ‪ HTTP‬ו‪CRUD -‬‬ ‫סוגי מתודות ‪HTTP‬‬ ‫כל בקשת‪ HTTP‬תשתמש במתודה מסוימת המייצגת את סוג הבקשה או הפעולה‬ ‫הרצויה‪.‬‬ ‫אלו הן ארבעת המתודות העיקריות‪:‬‬ ‫‪POST‬‬ ‫‪GET‬‬ ‫יצירת מידע חדש‬ ‫קבלת מידע‬ ‫‪PUT‬‬ ‫‪DELETE‬‬ ‫עדכון מידע‬ ‫מחיקת מידע‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬פרוטוקול ‪ HTTP‬ו‪CRUD -‬‬ ‫‪CRUD‬‬ ‫‪ CRUD‬אלו ראשי התיבות של ארבעת הפעולות הבסיסיות שניתן לבצע על‬ ‫נתונים‪/‬מידע‪.‬‬ ‫הן בעצם מקבילות למתודות של ‪HTTP‬‬ ‫‪Create‬‬ ‫‪Read‬‬ ‫‪POST‬‬ ‫‪GET‬‬ ‫‪Update‬‬ ‫‪Delete‬‬ ‫‪PUT‬‬ ‫‪DELETE‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬פרוטוקול ‪ HTTP‬ו‪CRUD -‬‬ ‫‪CRUD‬‬ ‫כאנשי אוטומציה ומערכות אנחנו כל הזמן עובדים עם נתונים ומבצעים פעולות על‬ ‫נתונים‪.‬‬ ‫הנה כמה דוגמאות מעשיות‪:‬‬ ‫‪Google Drive‬‬ ‫‪CRM‬‬ ‫סוג הפעולה‬ ‫העלאת קובץ חדש‬ ‫יצירת לקוח חדש‬ ‫‪Create‬‬ ‫פתיחת‪/‬הורדת קובץ‬ ‫צפיה בפרטי לקוח‬ ‫‪Read‬‬ ‫עריכת קובץ‬ ‫עדכון פרטי לקוח‬ ‫‪Update‬‬ ‫מחיקת קובץ‬ ‫מחיקת לקוח‬ ‫‪Delete‬‬ ‫כל המערכות‪ ,‬גם המורכבות ביותר מבצעות את פעולות הנתונים הבסיסיות הללו באופן שוטף‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סיכום ביניים‬ ‫סיכום ביניים‬ ‫מה היתרונות של ‪ ?API‬או למה צריך אותו בכלל?‬ ‫ אוטומציה ‪ -‬אפשר לבצע פעולות ללא מגע יד אדם‪ ,24/27 ,‬תוך חיסכון בזמן ומשאבים‪.‬‬ ‫ יעילות ומהירות ‪ -‬אפשר לבצע פעולות מורכבות בשניות‪ ,‬עם חסכון במשאבי מחשוב (אין צורך‬ ‫בעיבוד גרפי)‪.‬‬ ‫ אמינות ‪ API -‬תמיד יתנהג באותה צורה באופן עקבי‪ ,‬מדויק וללא הפתעות‪.‬‬ ‫מורכבות ‪ -‬אפשר ליצר תהליכים מורכבים ופעולות שרצות על כמות גדולה של נתונים‪.‬‬ ‫ ‬ ‫אינטגרציה ‪ -‬מאפשר חיבור וסנכרון בין מערכות שונות והעברת מידע בזמן אמת‪.‬‬ ‫ ‬ ‫חסכון בפיתוח מיותר ‪ -‬אפשר להשתמש ב‪ Services -‬קיימים במקום לפתח מאפס‪.‬‬ ‫ ‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סיכום ביניים‬ ‫למה חשוב לנו להבין איך ‪API‬‬ ‫ עובד?‬ ‫יהיה לנו קל יותר לתכנן תהליכים נכון בצורה יעילה ומדויקת‪.‬‬ ‫נדע לפתור בעיות‪ ,‬להבין הודעות שגיאה‪ ,‬לתחקר ולהתחקות אחר הבעיות ולפתור אותן‪.‬‬ ‫ ‬ ‫נדע לבצע אופטימיזציה‪ ,‬לחסוך בפיתוח ובעלויות ולשפר ביצועים‪.‬‬ ‫ ‬ ‫והכי חשוב ‪ -‬אם נדע איך אוטומציה עובדת נוכל גם לחשוב אוטומציה‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫סוגי נתונים‬ ‫בכדי לפשט ולייצר סטנדרטיזציה נקבעו סוגי נתונים שונים‪.‬‬ ‫מחשב זו מכונה וכל דבר צריך להיות מאוד מוגדר‪ ,‬לכן המחשב מאחסן ומציג סוגים שונים של‬ ‫מידע כמו‪ :‬טקסט‪ ,‬מספרים תאריכים וכו׳ בצורות שונות‪.‬‬ ‫סוג המידע קובע?‬ ‫מה‬ ‫באיזה אופן המידע נשמר ומאוחסן במחשב‬ ‫‪.1‬‬ ‫אילו פעולות וחישובים ניתן לעשות עליו‬ ‫‪.2‬‬ ‫איך צריך לכתוב אותו (‪)Syntax‬‬ ‫‪.3‬‬ ‫איך המידע יוצג לנו‬ ‫‪.4‬‬ ‫חוסר תשומת לב לסוג המידע עלולה לגרור שגיאות באוטומציה מכיוון שהמידע לא מוגדר‬ ‫למחשב בצורה נכונה‪.‬‬ ‫ישנם מגוון סוגי מידע‪ ,‬אנחנו נעבור על העיקריים‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫"סטרינג" או מחרוזת ‪ -‬סוג מידע בסיסי ונפוץ ביותר‪.‬‬ ‫כל תו או רצף של תווים שנמצאים בתוך "מרכאות"‪.‬‬ ‫‪String‬‬ ‫יכול להופיע 'גם במרכאות בודדות'‪.‬‬ ‫מחרוזת יכולה להכיל כל תו‪ :‬אותיות (במגוון שפות)‪ ,‬מספרים‪,‬‬ ‫"‪"Text‬‬ ‫סימנים מיוחדים (&^‪ )...$%‬וכו׳‪.‬‬ ‫ישנם תווים מיוחדים המייצגים תווים שלא יכולים להיכלל במחרוזת‬ ‫כגון‪ - n\ :‬ירידת שורה‪.‬‬ ‫על מנת להשתמש בתו מרכאות מבלי ״לשבור״ את המחרוזת נדרש‬ ‫להשתמש באסקייפ‪”\ :‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫תווי מספר בלבד‪ ,‬נכתבים ללא מרכאות‪.‬‬ ‫‪ - Integer‬מספרים שלמים‪41- ,3 ,12 :‬‬ ‫‪Number‬‬ ‫יכול להיות גם מספר שלילי‪.‬‬ ‫‪ - Float‬מספרים עשרוניים‪0.1- ,3.14 ,2.5 :‬‬ ‫‪123‬‬ ‫על מספרים ניתן לבצע פעולות מתמטיות‪.‬‬ ‫מספר שנכתב בתוך מרכאות יחשב כמחרוזת ולא כמספר‪.‬‬ ‫שאלה ‪-‬‬ ‫מספר טלפון‪ ,‬צריך להיות מסוג מספר או מחרוזת?‬ ‫מחרוזת‪ ,‬מספר לא יכול להתחיל ב‪ 0‬ולא יכול להכיל תווים מיוחדים‬ ‫כמו ‪ ,+‬מקף באמצע המחרוזת או רווחים‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫יכול להכיל רק תאריך או רק שעה או את שניהם יחד‪.‬‬ ‫תאריך נכתב במרכאות כמו מחרוזת רגילה אך הפורמט בו הוא כתוב‬ ‫‪Date/‬‬ ‫מייחד אותו ממחרוזות אחרות‪.‬‬ ‫‪Time‬‬ ‫יש מגוון של פורמטים שונים של תאריכים‪ ,‬הנפוץ מהם כנראה הוא‬ ‫‪2023-01-01T09:30:00Z‬‬ ‫פורמט ‪ISO‬‬ ‫‪2023-01-01T09:30:00Z‬‬ ‫הפורמט מכיל את התאריך בתצורת‪ YYYY-MM-DD‬ולאחר מכן את‬ ‫השעה‪.‬‬ ‫הצורך העיקרי לבדל תאריכים כסוג מידע נפרד הוא כדי לבצע‬ ‫חישובים‪.‬‬ ‫הוספת‪/‬החסרת פרקי זמן‪ ,‬חישוב הפרשי זמנים ועוד‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫לערך בוליאני שתי אפשרויות בלבד ‪true / false -‬‬ ‫נכון או לא נכון‪ ,‬אמת או שקר‪.‬‬ ‫‪Bollean‬‬ ‫משמש לאחסון מידע של כן ולא‪ ,‬לדוגמה‪:‬‬ ‫‪true/talse‬‬ ‫שדה אישור לדיוור במייל במערכת ‪.CRM‬‬ ‫כמו כן משמש ביצירת תנאים ולוגיקות ולצורך החלת פילטרים‪.‬‬ ‫הוא ברור וחד משמעי‪ ,‬אין באמצע‪.‬זה רק אמת או שקר‪.‬‬ ‫נכתב ללא מרכאות ולרוב באותיות קטנות בלבד‪.‬‬ ‫ערך בוליאני בתוך מרכאות יחשב למחרוזת ולא יתפרש כערך‬ ‫בוליאני‪.‬‬ ‫באופן בינארי ערכים בוליאנים מייצגים בהתאמה ‪ 0‬ו‪1 -‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫מערך הינו רשימה של נתונים דומים בעלי מבנה זהה‪.‬‬ ‫מערך יורכב מרשימה של ערכים בעלי מאפיינים דומים‪.‬למשל מערך‬ ‫‪Array‬‬ ‫של מחרוזות‪ ,‬מערך של מספרים וכו׳‪...‬‬ ‫]"‪["Apple","Banana","Orange‬‬ ‫מערך נכתב בתוך סוגריים מרובעות [ ] ויש הפרדה של פסיק בין כל‬ ‫איבר במערך למעט האיבר האחרון‪.‬‬ ‫מערך יכול להכיל כמות דינמית של איברים‪.‬האיברים במערך‬ ‫ממוספרים על פי אינדקס ‪ -‬המיקום שלהם במערך‪.‬‬ ‫כאשר מספרו של האיבר הראשון הוא ‪ ,0‬השני הוא ‪ ,1‬השלישי ‪ 2‬וכן‬ ‫הלאה‪.‬‬ ‫ניתן לגשת אל או לחלץ איבר ספציפי מהמערך על ידי מספר‬ ‫האינדקס שלו‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫למה בכלל אנחנו צריכים מערכים?‬ ‫נניח שאנחנו רוצים לייצר באוטומציה דוח עסקאות חודשי עבור כל‬ ‫‪Array‬‬ ‫לקוח‪ ,‬אבל בכל חודש כמות העסקאות תשתנה‪.‬איך נוכל לבנות‬ ‫]"‪["Apple","Banana","Orange‬אוטומציה שתדע להתמודד עם כמות משתנה של עסקאות בכל‬ ‫חודש?‬ ‫בשביל זה יש לנו מערכים‪.‬האוטומציה שנבנה תרוץ על רשימה‬ ‫דינמית של עסקאות‪ ,‬כל העסקאות יהיו עם מבנה ומאפיינים דומים‬ ‫אבל מספר העסקאות ישתנה מחודש לחודש‪.‬‬ ‫בעצם מה שמערך נותן לנו זה דינמיות ויכולת לעבוד עם רשימות‬ ‫נתונים באורכים משתנים‪.‬בנוסף אפשר לבצע מגוון פונקציות‬ ‫מתקדמות על מערכים‪ ,‬כמו איחוד‪ ,‬פיצול‪ ,‬חלוקה‪ ,‬סינון ועוד‪...‬‬ ‫מערכים הם עוצמתיים‪ ,‬הבנה ושליטה בהם יכולה לתת ערך רב‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫״אוסף״ או אובייקט הוא אוסף של נתונים או תכונות המתייחסות‬ ‫לנושא‪/‬מושא ספציפי‪.‬‬ ‫‪Collectio‬‬ ‫אפשר להסתכל על אובייקט כמו על ״כרטיס ביקור״ שבו יש שם‪,‬‬ ‫‪n‬‬ ‫טלפון וכתובת‪.‬כך גם באובייקט יהיו מספר תכונות(‪)Properties‬‬ ‫}"‪{"Key": "Value‬‬ ‫המתארים משהו או מישהו‪.‬‬ ‫אובייקט נכתב בתוך סוגריים מסולסלים { }‬ ‫הוא מכיל צמדים של מפתחות וערכים ‪Keys & Values -‬‬ ‫כאשר המפתח הוא תמיד מחרוזת ללא רווחים (נהוג לכתוב באותיות‬ ‫קטנות) והערך הוא המידע עצמו‪.‬‬ ‫בכדי לגשת למידע מתוך המערך נשתמש במפתח שלו‪.‬‬ ‫אובייקט יכול להכיל כל סוג נתונים ‪ -‬כולל מערכים ואובייקטים‬ ‫פנימיים‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪ -‬סוגי נתונים‬ ‫אובייקט‬ ‫מערך‬ ‫אובייקט מורכב מצמדים של ‪ Key‬ו‪-‬‬ ‫ ‬ ‫מערך הוא רשימה של ערכים בעלי‬ ‫ ‬ ‫‪.Value‬‬ ‫תכונות דומות‪.‬‬ ‫כל צמד יהיה שונה ויכול להכיל סוגי‬ ‫ ‬ ‫מבנה האיברים וסוג הנתונים שלהם‬ ‫ ‬ ‫נתונים שונים‪.‬‬ ‫יהיו זהים‪.‬‬ ‫נכתב בתוך {סוגריים מסולסלות}‬ ‫ ‬ ‫‪vs‬‬ ‫נכתב בתוך [סוגריים מרובעות]‬ ‫ ‬ ‫ניתן לגשת לערכים על פי המפתח‬ ‫ ‬ ‫ניתן לגשת לאיברים על פי אינדקס ‪-‬‬ ‫ ‬ ‫שלהם‬ ‫מיקום האיבר במערך‬ ‫מכיל נתונים במבנה קבוע‬ ‫ ‬ ‫דינמי ‪ -‬מכיל כמות משתנה של‬ ‫ ‬ ‫איברים‬ ‫ סוגי נתונים‬- ‫ | התיאוריה שמאחורי‬03 ‫סיכום סוגי נתונים‬ Boolean Number String true/false 123 "Text" Collectio Date/ Array n Time }"Key": "Value"{ ["Apple","Banana","Orange"] 2023-01-01T09:30:00Z ‫‪ | 03‬התיאוריה שמאחורי ‪JSON -‬‬ ‫‪JSON‬‬ ‫‪ JSON‬הוא תקן של פורמט העברת מידע שמשתמש‬ ‫‪JS‬‬ ‫‪JavaScript‬‬ ‫בטקסט קריא לאדם כדי לאחסן ולהעביר מבני מידע‪.‬‬ ‫‪ JSON‬הוא פורמט נתונים נפוץ עם מגוון שימושים‬ ‫‪Objec‬‬ ‫בהעברת מידע‪ ,‬כולל בין השאר העברת מידע בין‬ ‫‪O‬‬ ‫‪t‬‬ ‫שרת ללקוח‪.‬‬ ‫‪Notatio‬‬ ‫‪N‬‬ ‫‪n‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪JSON -‬‬ ‫ה‪ - JSON‬בנוי באופן קל לקריאה ומשתמש בריווחים‬ ‫(‪ )whitespaces‬על מנת להקל על הקריאה‪.‬‬ ‫ישנם חוקים ברורים באיך לכתוב ‪JSON‬‬ ‫עברנו עליהם במסגרת סוגי הנתונים‪.‬‬ ‫מומלץ להשתמש בכלי ולידציה שעוזר לוודא שהג׳ייסון‬ ‫שלכם נכתב כראוי ולתקן שגיאות‪.‬‬ ‫‪https://www.json.org/json-he‬‬ ‫‪.html‬‬ ‫‪https://jsonformatter.curiousconcep‬‬ ‫‪t.com‬‬ ‫רגע‪ ,‬רגע! בשביל מה למדנו את כל‬ ‫זה?!‬ ‫ללא קוד‬ ‫שמתרחש‬ ‫אוטומציות את מה‬ ‫ללמוד‬ ‫‪ No-Code‬שיכירו ויבינו‬ ‫באנואוטומציה‬ ‫?לא‬ ‫מאמין שאנשי‬ ‫אני‬ ‫מאחורי הקלעים‪ ,‬יהיו אנשי אוטומציה מקצועיים ואיכותיים יותר‪.‬‬ ‫פעם כדי לבנות אוטומציה היינו צריכים לעשות את זה‬ ‫היום‪ ,‬אנחנו יכולים לעשות את זה אחרת‬ ‫‪ | 03‬התיאוריה שמאחורי ‪Code vs No-Code-‬‬ ‫מהפכת ה‪ No Code‬מנגישה ומפשטת את עולם הטכנולוגיה לכל אדם עם זיקה טכנולוגית‪.‬‬ ‫באופן מסורתי‪ ,‬היה נדרש ללמוד פיתוח במשך תקופה ארוכה ולרכוש ידע רב על מנת לפתח‬ ‫מערכות ואוטומציות‪.‬‬ ‫היום זמן הלמידה יכול להתקצר משמעותית והיכולת לייצר תהליכים מורכבים בצורה יעילה‬ ‫ומהירה ללא שימוש בקוד משנה לחלוטין את כללי המשחק‪.‬‬ ‫עבור אוטומציות פשוטות ובסיסיות‪ ,‬לפעמים כל מה שצריך כדי לבנות אותן זה שעה‪-‬שעתיים‬ ‫פנויות וכמה סרטונים ביוטיוב‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪Code vs No-Code-‬‬ ‫היתרונות‪:‬‬ ‫בפיתוח ללא קוד נעבוד בממשקים ויזואליים‪ ,‬אינטואיטיביים וקלים לשימוש‪.‬‬ ‫ ‬ ‫לא נדרש ידע טכני רב או רקע בפיתוח ‪ -‬נגישות גבוהה גם לחסרי נסיון‪.‬‬ ‫ ‬ ‫זמן הבניה של אוטומציות ומערכות מתקצר משמעותית בהשוואה לפיתוח מסורתי‪.‬‬ ‫ ‬ ‫ניתן לבנות תהליכים מורכבים בצורה יעילה ומדוייקת‪.‬‬ ‫ ‬ ‫עלויות הפיתוח והתחזוקה של תהליכים ללא קוד נגישה יותר‪.‬‬ ‫ ‬ ‫ארגונים רבים בוחרים להשתמש בפתרונות ללא קוד כי הם זולים יותר ומאפשרים פיתוח מהיר‬ ‫ ‬ ‫ומדויק ללא התפשרות על התאמה אישית ואמינות התהליך הדיגיטלי‪.‬‬ ‫‪ | 03‬התיאוריה שמאחורי ‪Code vs No-Code-‬‬ ‫בניגוד למה שלפעמים חושבים‪ ,‬פיתוח ‪ No-Code‬ברמה מקצועית דורש הרבה יותר מאשר רק‬ ‫"לחבר עיגולים"‪.‬כשמתקדמים לפרויקטים מורכבים‪ ,‬נדרשת רמת מיומנות גבוהה והבנה טכנית‬ ‫עמוקה‪.‬‬ ‫מומחי ‪ No-Code‬נדרשים לשלוט בעקרונות טכניים מתקדמים ששמורים בדרך כלל למפתחי‬ ‫תוכנה‪ ,‬אך חיוניים גם למומחי‪ No-Code‬מקצועיים‪.‬‬ ‫למשל‪:‬‬ ‫ ארכיטקטורת מערכות ומבני נתונים‪.‬‬ ‫ הבנת‪ API‬וקריאת דוקומנטציה‪.‬‬ ‫ ייעול תהליכים וניהול שגיאות‪.‬‬ ‫ יכולת שילוב פתרונות ‪.Low-Code‬‬ ‫בקורס זה‪ ,‬מטרתנו היא להכשיר אנשי אוטומציה ברמה המקצועית ביותר‪.‬נלמד לא רק את‬ ‫הכלים‪ ,‬אלא גם את העקרונות הטכניים העמוקים והחשיבה שמאחוריהם‪.‬‬ ‫זו הדרך להפוך ממשתמשי‪ No-Code‬למומחי אוטומציה אמיתיים‪.‬‬ ‫לוגיקה‬ ‫‪ | 04‬לוגיקה‬ ‫‪Action‬‬ ‫‪Logic‬‬ ‫‪Trigger‬‬ ‫זוכרים את שלושת חלקי‬ ‫האוטומציה?‬ ‫לוגיקה היא היכולת לחשוב בצורה מסודרת ולקבל החלטות על בסיס כללים ברורים‪.‬‬ ‫כמו שהמוח שלנו מקבל החלטות על בסיס מידע שמגיע אליו‪ ,‬כך האוטומציה צריכה "לחשוב" ולהחליט‬ ‫מה לעשות במצבים שונים‪.‬‬ ‫ אוטומציה היא לא רק "לעשות דברים אוטומטית"‬ ‫ אוטומציה היא היכולת לקבל החלטות חכמות באופן אוטומטי‬ ‫ בלי לוגיקה טובה‪ ,‬האוטומציה תהיה "טיפשה" ועלולה לעשות טעויות‬ ‫לדוגמה‪ ,‬כשאנחנו מקבלים לקוח חדש‪:‬‬ ‫‪ -‬האם זה לקוח עסקי או פרטי?‬ ‫‪ -‬האם הוא הגיע מקמפיין מסוים?‬ ‫האם הוא צריך הדרכה?‬ ‫‪-‬‬ ‫לפי התשובות ← נחליט על תהליך שונה‬ ‫‪ | 04‬לוגיקה‬ ‫תנאים‬ ‫על מנת לייצר לוגיקה נשתמש בתנאים‪.‬‬ ‫תנאי הוא משפט‪/‬בדיקה לוגית שהתוצאה שלו היא תמיד בוליאנית‪True / False :‬‬ ‫תוצאה של תנאי לא יכולה להיות באמצע וחייבת להיות מוחלטת‪.‬‬ ‫תנאי ‪IF‬בסיסי‪:‬‬ ‫‪(IF‬‬ ‫בדיקה לוגית‬ ‫‪IF True‬‬ ‫‪IF False‬‬ ‫)‬ ‫‪,‬‬ ‫‪,‬‬ ‫הגדרת התנאי‬ ‫התנאי עצמו ‪-‬‬ ‫מה יקרה אם‬ ‫מה יקרה אם‬ ‫האם ערך מסוים‬ ‫תוצאת הבדיקה‬ ‫תוצאת הבדיקה‬ ‫קיים או לא‪ ,‬האם‬ ‫היא ‪?True‬‬ ‫היא ‪?False‬‬ ‫שני ערכים שווים‬ ‫אחד לשני?‬ ‫האם ?‪Y < X‬‬ ‫יכולות להיות מגוון של בדיקות לוגיות והן משתנות לפי סוגי הנתונים שאנחנו בודקים‪.‬‬ ‫לדוגמה‪ :‬עם מספרים ניתן לבצע בדיקות מתמטיות ועם תאריכים ניתן לבצע בדיקות של השוואת וייחוס‬ ‫תאריכים‪.‬‬ ‫‪ | 04‬לוגיקה‬ ‫ב‪ Make-‬תנאים משמשים אותנו ביצירת ה‪ Flow-‬של התרחיש‪.‬ובעיקר בפילטרים וראוטרים‪.‬‬ ‫דוגמה לתנאי‪:‬‬ ‫‪Send a‬‬ ‫= ‪Client.Status‬‬ ‫‪Send: How‬‬ ‫‪(IF‬‬ ‫‪welcome‬‬ ‫‪?can we help‬‬ ‫)‬ ‫‪New‬‬ ‫‪,‬‬ ‫‪,‬‬ ‫‪message‬‬ ‫‪ | 04‬לוגיקה‬ ‫במקרים מסוימים נצטרך לבדוק יותר מתנאי אחד או לייצר תנאי מורכב ומסועף‪.‬‬ ‫עבור זה נוכל להשתמש בתנאי‪ And‬ו‪Or -‬‬ ‫‪Or‬‬ ‫‪And‬‬ ‫לפחות בדיקה‬ ‫כל הבדיקות‬ ‫לוגית אחת‬ ‫הלוגיות צריכות‬ ‫צריכה להסתיים‬ ‫להסתיים ב‪True-‬‬ ‫ב‪True -‬‬ ‫אפשר גם לשלב תנאי‪ And‬ו‪ Or -‬יחד‬ ‫בעזרת ‪Groups Condition‬‬ ‫‪ | 04‬לוגיקה‬ ‫לולאות‬ ‫לולאה היא דרך לחזור על פעולות דומות באופן אוטומטי מספר רב של פעמים‪.‬במקום ליצור‬ ‫סנריו נפרד לכל פעולה‪ ,‬הלולאה מאפשרת לנו להגדיר את הפעולה פעם אחת והיא תתבצע שוב‬ ‫ושוב לפי מה שנגדיר‪.‬‬ ‫למה אנחנו צריכים לולאות? 🤔‬ ‫דמיינו את התרחישים הבאים‪:‬‬ ‫ קיבלנו רשימה של ‪ 100‬לקוחות חדשים שצריך לשלוח להם מייל ברכה‬ ‫ יש לנו ‪ 50‬הזמנות שצריך לעדכן את הסטטוס שלהן במערכת‬ ‫ צריך לבדוק את המלאי של ‪ 1000‬מוצרים ולשלוח התראה אם משהו חסר‬ ‫עם לולאות‪:‬‬ ‫בלי לולאות‪ ,‬היינו צריכים‪:‬‬ ‫‪.1‬מגדירים את הפעולה פעם אחת‬ ‫ליצור מודול נפרד לכל פעולה‬ ‫‪.2‬המערכת מבצעת אותה אוטומטית‬ ‫או לחבר אינסוף מודולים בסנריו‬ ‫על כל הפריטים‬ ‫אחד ולתחזק סנריו ענק‬ ‫‪.3‬הסנריו נשאר פשוט ויעיל‬ ‫ומסורבל‪.‬‬ ‫‪ | 04‬לוגיקה‬ ‫יש שתי סוגי לולאות עיקריות‪:‬‬ ‫‪While Loop‬‬ ‫‪For Loop‬‬ ‫כל עוד ‪(....‬תנאי מתקיים)‬ ‫ ‬ ‫עבור כל‪(...‬פריט ברשימה)‬ ‫ ‬ ‫נשתמש כשלא יודעים בהתחלה כמה‬ ‫ ‬ ‫נשתמש כשיש רשימה ידועה‬ ‫ ‬ ‫פעמים נרצה לרוץ‬ ‫של פריטים‬ ‫כשממתינים לתנאי מסוים שיתקיים‬ ‫ ‬ ‫כשאנחנו יודעים בהתחלה‬ ‫ ‬ ‫כשרוצים לבצע פעולה עד ש‪..‬קורה‬ ‫ ‬ ‫כמה פעמים הלולאה צריכה‬ ‫משהו מסוים‬ ‫לרוץ‬ ‫חייב להיות תנאי יציאה ‪ -‬אחרת נגיע‬ ‫ ‬ ‫כשרוצים לעבור על כל‬ ‫ ‬ ‫ללולאה אינסופית‬ ‫האיברים במערך (איטרציה)‬ ‫לולאות עוזרות לייצר דינמיות באוטומציות ויעילות בעבודה עם מערכים‪.‬‬ ‫סיכום‬ ‫מה למדנו היום?‬ ‫מבוא‪ :‬מה זה בכלל אוטומציה?‬ ‫ למה צריך אוטומציה? ואיך היא עובדת?‬ ‫ מה נדרש מאנשי אוטומציה?‬ ‫ ללמוד לחשוב אוטומציה!‬ ‫מבנה הקורס והפרויקט‬ ‫התיאוריה שמאחורי‬ ‫‪.1‬הבסיס של האינטרנט‬ ‫‪ API.2‬מחבר בין מערכות‪HTTP‬‬ ‫‪.3‬מעביר את המידע‬ ‫‪ JSON.4‬מארגן את המידע לפי סוגי נתונים‬ ‫‪.5‬היתרונות בפיתוח ‪No-Code‬‬ ‫‪.6‬החשיבות של הבנת התיאוריה והבסיס‬ ‫לוגיקה‬ ‫ תנאים‪ :‬יצירת אוטומציות חכמות ‪ -‬מתי לעשות מה‬ ‫ לולאות‪ :‬איך לחזור על פעולות בצורה יעילה ודינמית‬ ‫ בשיעור הבא‪ :‬מתחילים לעבוד עם ‪🚀 !Make‬‬ ‫שיעורי בית ‪ -‬ניתוח סנריו 🔍‬ ‫קחו סנריו שכבר בניתם ב‪ Make-‬ונתחו אותו על פי המושגים‬ ‫איך מגישים את התרגיל?‬ ‫שלמדנו היום‪.‬‬ ‫צילום לום של עד ‪ 5‬דק׳ בו אתם ‪1.‬‬ ‫מה צריך לזהות ולתעד?‬ ‫מסבירים ומנתחים את הסנריו לפי‬ ‫‪.1‬זיהוי מבני מידע 📊‬ ‫‪.‬הדגשים שציינו‬ ‫ איפה יש מערכים? איפה יש אובייקטים?‬ ‫‪.2‬באופן כתוב ‪ 3 -‬הצעות קונקרטיות‬ ‫ אילו סוגי מידע קיימים? (טקסט‪ ,‬מספרים‪ ,‬תאריכים‪ ,‬בוליאן‬ ‫לשיפור הסנריו‬ ‫וכו׳‪)...‬‬ ‫מטרת התרגיל‪ :‬להתחיל לחשוב על‬ ‫‪.2‬זיהוי ‪⚡ CRUD‬‬ ‫האוטומציות שלנו בצורה מקצועית‬ ‫ אילו פעולות‪ CRUD‬מתבצעות בסנריו?‬ ‫יותר! 🎯‬ ‫‪.3‬זיהוי לוגיקה 🤔‬ ‫ איפה יש תנאים? איפה יש לולאות?‬ ‫ האם יש מקומות שהיה כדאי להוסיף או לשנות‬ ‫תנאים‪/‬לולאות?‬ ‫תודה‬ ‫רבה!‬ ‫איש רנדומלי‬ ‫שממש לא מבין באוטומציות‬

Use Quizgecko on...
Browser
Browser