PracticU

מיקרוסרביס שמשתמש במיקרוסרביס אחר

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › מיקרוסרביס שמשתמש במיקרוסרביס אחר
מילון מושגים:
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.
POST - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או לעדכן משאב, למשל שליחת טופס.
PUT - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או להחליף משאב קיים במלואו.
Promise - אובייקט ב-JavaScript שמייצג תוצאה עתידית של פעולה אסינכרונית, שתושלם בהצלחה או תיכשל.
אסינכרוני - אופן פעולה שבו פעולה ארוכה רצה ברקע והתוכנית ממשיכה בלי להמתין לה, ומטופלת כשתסתיים.
URL - הכתובת שמזהה משאב באינטרנט, למשל דף אתר, וכוללת פרוטוקול, שם מארח ונתיב.
npm - מנהל החבילות של Node.js, המשמש להתקנה ולניהול ספריות JavaScript בפרויקט.
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.

מיקרוסרביס שמשתמש במיקרוסרביס אחר
מיקרוסרביס יכול להשתמש במיקרוסרביס אחר. כאן בונים שירות שני שמבקש סיסמאות מהשירות הראשון ומחזיר רק סיסמה חזקה.
השלבים העיקריים
1. להשאיר את הראשון רץ: המיקרוסרביס שמייצר סיסמה ממשיך לרוץ בפורט 3001, והשני יאזין בפורט 3002.
2. פרויקט חדש: מתקינים micro, מעתיקים את סקריפט ה-start מההרצאה הקודמת ומחליפים את הפורט.
3. Axios לקריאות: מתקינים axios, ספרייה שמאפשרת לבצע get, post, put, patch ו-delete ומחזירה Promise. הפונקציה מוגדרת async כדי להשתמש ב-await.
4. חילוץ האורך: אותו קוד מההרצאה הקודמת שולף את אורך הסיסמה מה-URL, עם 10 כברירת מחדל.
5. קריאה לשירות הראשון: בלולאת do...while קוראים ל-await axios.get עם הכתובת של המיקרוסרביס הראשון ואת האורך. הסיסמה נמצאת ב-result.data, כי ב-result יש גם נתונים אחרים ש-Axios מחזירה.
6. בדיקת חוזק: אם isStrongPassword מחזירה false, מבקשים סיסמה חדשה עד שמתקבלת חזקה.
7. הגדרת סיסמה חזקה: סיסמה שמכילה אות קטנה, אות גדולה וספרה. רצים על התווים ומסמנים smallLetter, capitalLetter ו-digit, ורק אם שלושתם true הסיסמה חזקה.
8. חשיפה והרצה: חושפים את הפונקציה generateStrongPassword עם module.exports ומריצים npm start.
9. בדיקה: גם אורך 3 מחזיר סיסמה עם אות קטנה, גדולה וספרה, וכך גם אורך 5, וללא אורך מקבלים 10 תווים.
טעויות נפוצות
בגרסה הראשונה הלולאה לא הסתיימה כי לא הוחזרה הסיסמה מהפונקציה. אחרי ה-return הכל עבד.
עכשיו יש מיקרוסרביס שמשתמש במיקרוסרביס אחר, וההרצאה הבאה מראה שאפליקציית Node.js רגילה יכולה להשתמש בו גם.
השיעור הבא בקורס: שימוש במיקרוסרביס בנוד NodeJS

פרקי ההרצאה: מיקרוסרביס שמשתמש במיקרוסרביס אחר

  1. 00:00

    רשת של Microservices

  2. 00:46

    פרויקט חדש עם micro בפורט אחר

  3. 01:26

    התקנת axios לקריאות HTTP

  4. 02:26

    פונקציה async עם axios

  5. 03:02

    שירות ליצירת סיסמה חזקה

  6. 03:50

    קריאה ל-Microservice הראשון

  7. 04:36

    פורטים 3001 ו-3002 ו-result.data

תמלול ההרצאה: מיקרוסרביס שמשתמש במיקרוסרביס אחר

הטקסט המלא של הדקות הראשונות בהרצאה «מיקרוסרביס שמשתמש במיקרוסרביס אחר» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:03

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

  2. 00:35

    רוצים. הנה סיסמה בגודל 5. רגע, סיסמה בגודל 5. וכעת אני הולך ל-visual studio נוסף, ריק לגמרי. הדבר הראשון שאני מתקין NPMI זה את מיקרו, Go וכמובן אנחנו צריכים לגשת ולעדכן כאן את הסקריפטס.

  3. 01:06

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

  4. 01:19

    כעת אנחנו יכולים לחזור ולבנות אותו. עכשיו, איך ממייקרו סרוויס אחד אנחנו ניגשים למייקרו סרוויס אחר? אנחנו צריכים פה איזושהי ספרייה שמאפשרת ב-Node.js לבצע מעין גלישת אג'אקס לספרייה אחרת.

  5. 01:36

    הספרייה הכי נוחה לשימוש, בואו נתקין אותה, זה access. access מאפשרת לנו לבצע כל גלישה שאנחנו רוצים. מה כתבתי שם? npm i access, למה הוא לא נותן לי?

  6. 01:54

    בואו ננסה עוד פעם, לא נותן. זה מוזר. בואו נבצע סגירה, נריץ את זה מחדש. יש לנו פה את access, הצליח.

  7. 02:15

    לא יודע מה הייתה הבעיה, אבל יש לנו כרגע את אקשס והיא מאפשרת לבצע כל גלישה שאנחנו רוצים מבחינת ה-Restful Service. Get, Post, Put, Patch, Delete, בצורה פשוטה.

  8. 02:30

    היא מחזירה פרומיסים, אז מאוד קל להשתמש איתה, תכף אתם תראו. אז מה שאנחנו רוצים זה קודם כל את אקשס. וייר, אקשס, גוד.

  9. 02:42

    ואנחנו רוצים לבנות פונקציה. כמובן שאם אנחנו רוצים לבצע קנייה לפונקציה שמחזירה פרומיס עם המילה await אז נגדיר את הפונקציה שלנו כ-async ובואו נחשוב רגע מה מיקרו סרוויס הזה יעשה הרי מיקרו סרוויס בסופו של דבר עושה פעולה וגם הוא צריך להחזיר איזה תשובה אז בוא נניח שאנחנו רוצים לא לייצר סיסמה בלבד אלא סיסמה חזקה אנחנו

  10. 03:13

    רוצים לייצר סיסמה שהיא strong password מה שנקרא אז הנה יש לנו generate strong password שמקבלת request, response וגם כאן יש לנו את אותו הקוד ששולף את האורך של הסיסמה.

  11. 03:39

    בואו נחזור בחזרה לפה וניקח את קטע הקוד הזה שרק שולף את הגודל של הסיסמה הדרוש ומה שאנחנו רוצים לעשות זה, יש לנו פה משתנה פסוורד ו-Do while. קודם כל אנחנו רוצים, אנחנו רוצים result לגשת ל-Await access to get the value from the microservice.

  12. 04:21

    לאן אנחנו רוצים לגלוש? בדיוק למיקרו סרוויס הזה. בואו נעתיק, נדביק ונשרשר את ה-length. שה-length יכול להכיל מספר כלשהו, אם אין לנו אז את המספר 10 כדיפולט ושימו לב שהמייקרוסרוויס הראשון שבנינו רץ על 3001 המייקרוסרוויס הזה ירוץ על 3002. כעת אנחנו מקבלים את

  13. 04:48

    הריזולט בחזרה היאקשס מחזירה פרומיס שלפנו ממנו את התוצאה והסיסמה עצמה נמצאת בריזולט נקודה דאטה אוקיי ריזולט זה לא התשובה שמוחזרת ריזולט דאטה זאת התשובה שמוחזרת כי בריזולט יש כל מיני דברים ש-access מחזירה לנו.

  14. 05:11

    ומה שאנחנו רוצים לבצע זה לבדוק האם הסיסמה

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: יצירת מיקרוסרביס - Microservice בנוד NodeJS

ההרצאה הבאה: שימוש במיקרוסרביס בנוד NodeJS

הרצאות קשורות מקורסים אחרים

  • פריצה למחשב של מישהו אחר דרך האינטרנט - חלק 1
  • מעקב אחר הליבה של וונדוס - Kernel - SilkETW

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React