יום רביעי, 19 בדצמבר 2018

נושאים ללימוד

מה תפקידו של package-lock.json?
מה בדיוק מבצע האופרטור "..." וכיצד מבצעים deep clone?

יום שני, 3 בדצמבר 2018

rxjs

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

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

ניתן ליצור Observable באמצעות Observable.create וניתן גם באמצעות operators כגון:
from - אופרטור שמקבל מערך ומחזיר Observable שמוציא את ערכי המערך אחד אחרי השני. ניתן גם לספק לאופרטור אובייקט promise והוא יהפוך אותו ל Observable. ניתן גם לספק מחרוזת ונקבל Observable שמחזיר כל תו בנפרד.

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

timer - מוציא ערכים 0,1,2,3 וכו' בקצב קבוע כאשר הערך הראשון יוצא אחרי המתנה מסוימת. הפונקציה מקבלת שני פרמטרים של זמן ב ms . הפרמטר הראשון מגדיר לאחר כמה זמן להתחיל להוציא ערכים והשני מגדיר כל כמה זמן יצאו הערכים בהמשך. 

כדי להפעיל את ה Observable נדרש להרשם אליו באמצעות subscribe. לכל נרשם (observer) מורץ עותק נפרד של observable. למרות שהשם עשוי להטעות, לא מדובר ברישום כגון pub/sub. קיימת אופציה כזו שנקראת subject ונדון בה בהמשך.

בעת הרישום ל observable יש לספק (לא חובה) שלוש פונקציות. אחת לכל ערך אפשרי שחוזר מ observable. הפונקציה הראשונה תופעל כאשר observable מחזיר ערך באמצעות next. הפונקציה השנייה תופעל כאשר observable מחזיר ערך של שגיאה. הפוקנציה השלישית תוחזר כאשר ה observable מסיים את תפקידו על ידי פקודת complete.

כאשר ה Observer מעונין להפסיק להאזין ל Observable הוא מבצע פעולת unsubscribe.

בבניית ה Observable ניתן לשלב פעולות נוספות בין ה output של ה Observable למידע שמתקבל ב Observer. פעולות אלו נקראות operators ומאפשרות למשל לעקוב אחר כל תשובה (על ידי פעולת scan), להגביל החזרה של ערכים לקצב מסוים על ידי throttleTime, השהיית התשובה על ידי delay, להחזיר רק ערכים ייחודיים על ידי distinct וכו'. 

Subject הוא סוג של Observable שמאפשר הפצה של מידע למספר observers. בניגוד ל Observable רגיל, רישום ל subject אינו מייצר מופע חדש של ה Observable אלא הצטרפות למופע קיים. ה subject מנהל פנימית את רשימת ה observers שמאזינים לו.

יום שישי, 12 באפריל 2013

יסודות ה Linux

הי,

יניב מזרחי אסף למסמך רקע על ההיסטוריה של מ"ה Linux, פקודות שימושיות ופירוט לגבי רכיבי המערכת (file system, וכו').

ניתן למצוא את המסמך במאמרי האורח בקישור הבא.


המסמך מופיע במאמרי האורח בבלוג.

לשימושכם.

יום ראשון, 31 במרץ 2013

פקודות שימושיות בפלטפורמת נתבי Juniper


הי,

גדי אסף למסמך פקודות שימושיות בנתבי Juniper - ראה קישור.

המסמך מופיע במאמרי האורח בבלוג.

לשימושכם.

יום ראשון, 3 במרץ 2013

SDN & Network Virtualization

שלום,

לאחרונה התחלתי לעסוק בנושא SDN ורשתות וירטואליות (שני נושאים שונים עם חפיפה מסוימת).

מסכם את ההערות והתובנות למסמך (בתהליך בנייה).

לשימושכם.

יום שני, 28 בינואר 2013

NAT

הי,

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

המסמך מופיע במאמרי האורח בבלוג.

לשימושכם.

BFD

הי,

BFD הינו מנגנון המאפשר זיהוי מהיר של כשלים ב Data Plan ודיווח מיידי ל Control Plan לטובת עדכון טבלאות ניתוב וכו'.

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

המסמך נכתב על ידי גדי בלכמן ומופיע במאמרי האורח בבלוג.

להלן קישור ישיר למסמך.

לשימושכם.

יום חמישי, 17 בינואר 2013

שיקולים בבחירת מנגנון RP

מספר שיקולים בבחירת מנגנון ה RP בתכנון רשת Multicast:
  • פשטות - לדעתי BSR פשוט יותר להבנה, מימוש וטיפול בתקלה.
  • זמן שיקום - BSR משתקם (בחירת RP חדש) בברירת מחדל תוך מספר דקות מרגע נפילת ה RP. זכור לי ערך של 150 שניות.
    בנוסף, אם BSR נפל ואין כרגע RP בכלל, ניתן לעבור ל dense mode fallback לעומת anycast שאם שני ה RP-ים נפלו אז אין fallback.
  • תקינה - auto rp פרוטוקול קנייני של סיסקו. BSR ו MSDP הינם תקנים.
  • גמישות לשינויים - ב-BSR אני לא צריך להגדיר את ה-RP בכל שאר הנתבים, הם לומדים בצורה דינאמית כאשר ב-anycast זה נדרש. במקרה ואני צריך לשנות את כתובת ה-RP, זה יוצר סירבול סתמי וסוג של שלב מעבר בו יש שני RP-ים שונים ברשת.
  • גמישות בניתוב המידע - ב-BSR נבחר להיות נתב אחד שמשמש כ-RP עבור קבוצה מסוימת או חלק מהקבוצות וברשת גדולה בה לא בוצע מעבר ל-source tree כל העומס נופל על אותו ה-RP. ב-anycast אפשר לחלק את העומס על פי קירבה של ה-receiver ל-RP וכך לייצר סוג של LB .
אשמח לשמוע שיקולים נוספים.

תודה לגדי שיזם פוסט זה ותרם מנסיונו.

דרך אגב, המידע הוכנס למסמך Multicast, מוזמנים לעיין שם בסוגיה זו ואחרות.

יום חמישי, 10 בינואר 2013

איך עובד RSPAN?

לאחרונה גדי חקר קצת את נושא ה RSPAN והגיע לתובנות מענייניות.
התובנות שולבו במסמך הקיים בנושא Session Monitor בחלק של RSPAN.

לשימושכם.

תודה לגדי על השיתוף.

יום שני, 17 בדצמבר 2012

מאמרי אורח

שלום לכולם,

בעקבות רעיון של גדי בלכמן נפתח מדור חדש בבלוג - מאמרי אורח.

מדובר במאמרים שכל אחד מכם יכול לכתוב / כתב ולשתף עם הקהילה.

המאמר הראשון הינו פרי עטו של גדי ועוסק בשיטות מיתוג בנתבי סיסקו.

כל המעונין, מוזמן לשלוח אלי קישור למסמך שכתב ובע"ה נעלה אותו לבלוג.

רצוי לשתף בפורמט של Google Docs כיוון שמאפשר שינויים בעתיד ללא עדכון הקישור וזמין לקריאה גם בפלטפורמות ניידות.

ושוב - תודה לגדי על היוזמה! מקווים לראות מאמרים נוספים בקרוב...