
micro.npm i micro, בלי להתקין Express.package.json מגדירים סקריפט start שמפעיל את micro עם דגל האזנה (listen) לכתובת tcp://localhost:3001. הספרייה דורשת TCP, והיא מרימה את השירות על HTTP. מריצים עם npm start ולא עם node app.generatePassword שמקבלת request ו-response, בלי next, כי זה לא middleware, וחושפים אותה עם module.exports./12. לוקחים את request.url בלי התו הראשון (substring), והופכים למספר.isNaN), למשל abc, משתמשים באורך 10 ולא מפילים את השירות.Math.random כפול אורך המחרוזת, ומוסיפים את התו שבמקום הזה. בסוף מחזירים את הסיסמה.http://localhost:3001/5 מחזיר סיסמה אקראית באורך 5, ו-15 מחזיר סיסמה באורך 15. בכל רענון הסיסמה שונה. ערך לא חוקי או ללא מספר מחזירים סיסמה באורך 10.הטקסט המלא של הדקות הראשונות בהרצאה «יצירת מיקרוסרביס - Microservice בנוד NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז בואו נצלול ונבנה בעצמנו מייקרו סרוויס ורק לאחר מכן נשתמש בו. אז אם אנחנו רוצים שהמייקרו סרוויס שלנו יכיל בדיוק את מה שהכלנו בעבר עם ה-Restful Service נניח, אז כמובן שאנחנו צריכים את אקספרס בשביל להאזין לכל מיני ראוטים מסוימים.
אבל אם יש לנו משהו שהוא עוד יותר פשוט מזה, שעושה איזה פעולה לוגית חישובית נניח כלשהי, שיכול להיות שאנחנו נרצה להוציא אותה למיקרו סרוויס נפרד, כי אולי יש עליה לחץ או משהו כזה.
אז אנחנו לא באמת צריכים את כל אקספרס שהיא כמובן ספרייה מאוד גדולה. אנחנו יכולים להשתמש באיזושהי ספרייה שהיא הרבה יותר קטנה, שמותאמת לעולם המיקרו סרוויס והיא חושפת פעילות לוגית אחת שאנחנו בונים.
אז בואו נתקין אותה בלי שאנחנו מתקינים את אקספרס, התקנו פה את אקספרס ויש לנו את NPMi ונקרא לזה מייקרו. הספרייה נקראת מייקרו.
אנחנו מתקינים, יש לנו כאן בתוך הפאקד ג'ייסון את מייקרו. עכשיו, בשביל להפעיל את מייקרו אנחנו צריכים ללכת לסקריפט, אפשר להיפטר מהפקודה הזאת, ולכתוב פקודה שנקראת סטארט.
בשביל להפעיל את פקודת סטארט אנחנו לא רושמים כאן נוד אפ שמפעילה את אפ אנחנו רושמים npm start ואז מה שכתוב פה יופעל ומה אנחנו רוצים לכתוב פה אנחנו רוצים להפעיל את ספריית מייקרו ולתת לה listen כלומר דגל של על מה אנחנו מאזינים ואנחנו רוצים להאזין על localhost איזשהו פורט נניח 3001
אבל אנחנו לא רושמים htp אלא אנחנו רושמים tcp כשלהזכיר לכם זאת התשתית של htp אז מייקרו דורשת מאיתנו להגיד לה את אותה הכתובת על tcp והיא כבר תרים אותה על htp localhost פקודותיים ו port 3001 זאת אומרת שהמיקרו סרוויץ שאנחנו בונים זאת תהיה הכתובת שלו
וכאשר אנחנו מריצים את כל הסיפור הזה אנחנו צריכים פשוט לרשום npm start והוא יריץ לנו את הפקודה אז בואו נצלול ונבנה אותו. אנחנו בונים כאן איזושהי פונקציה ובוא נניח שהמייקרו סרוויץ שלנו ומייקרו סרוויץ שהתפקיד שלו זה לייצר סיסמה generate password זה מה שהוא יוצר איזושהי סיסמה רנדומלית כלשהי.
לפעמים אתה רוצה לייצר איזושהי סיסמה בכדי שישתמשו בה שהלקוח בעצם להמציא לו איזושהי סיסמה. אז יש לנו פונקציה מה שהיא צריכה לקבל זה request ו-Response, אין פה צורך ב-Next, זה לא Middleware, והיא תעשה את העבודה שלה ותג'נרט סיסמה רנדומלית.
אנחנו רוצים to module exports generate password. זה אנחנו חושפים החוצה. בואו נייצר סיסמה רנדומלית. ניקח את כל התווים שאנחנו רוצים.
נניח שיש לנו אותיות קטנות, אותיות גדולות וספרות. אז בואו ניקח את הסדרה של התווים, A, B, C, D, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z.
ואנחנו רוצים גם את אותו הדבר באותיות גדולות, W, X, Y, Z, ואת הספרות. Good. יש לנו פה את כל התווים.
עכשיו אנחנו רוצים את הסיסמה עצמה, אבל בואו נחשוב מה האורך שלה אז אנחנו יכולים להחליט שהאורך שלה אורך קבוע אבל בואו נעשה משהו כזה ב-request יש url url זה ה-url שגולשים אלינו זה בעצם ה-rout זה רק החלק של ה-rout אז אנחנו יכולים שישלחו לנו את האורך ב-rout נניח שזה הדוקומנטציה שאנחנו מחליטים לפרסם אז בואו ניקח length של הסיסמה