מי שחובב תכנות פונקציונאלי (Functional Programming), מכיר את המושג pure function, שמשמעותו פונקציה המספקת את התנאים הבאים: א) תמיד להחזיר את אותו הפלט ביחס לקלטת שהיא מקבלת, ו- ב) לא להכיל שום side effect בתוך הפונקציה עצמה, כמו: שינוי משתנה מחוץ לסקופ שלה, Input/Output, או כל דבר אחר שלא קשור לפלט של הפונקציה.
קצת אחרי בועת הדוט קום, החלה מלחמת אופל בין SOAP ל- REST, שמטרתן הייתה לקבוע סטנדרט לבנייה ותקשורת בין “Web Services”, כלומר לקבוע איך בונים מערכות המתקשרות ביניהן דרך האינטרנט הגדול. בקרב הזה REST ניצח, לפחות לעת עתה.
את המושג REST, שנקרא Representational State Transfer טבע לראשונה רוי פילדינג, כמה שנים אחרי שמייקרוסופט שיחררה את הפרוטוקול שלה: SOAP.
איך שורדים עם רק 4 מיליארד כתובות IP לכל האינטרנט? NAT!
כשאנחנו משתמשים באינטרנט אנחנו זקוקים לכתובת IP. כמו דואר רגיל, יש צורך בנמען ומוען- גם למחשב ששולח בקשה וגם לשרת שאליו היא נשלחת צריכה להיות כתובת IP כדי שידעו איך לתקשר ביניהם.
איך מתמודדים עם עומס על השרת(ים) כיום? אחת התשובות- Load Balancer.
הרעיון של Load Balancer בעצם נהפך להכרח אצל הרבה חברות עקב הפריצה הענקית של המשתמשים באינטרנט. פעם עוד היה אפשר להרים את המחשב של אמא בתור שרת בסיסי בסלון כמו צוקרברג, אבל מהר מאוד זה הפסיק להיות לו כפתרון לגיטימי.
כולנו נתקלנו בפרסומות ואינסוף חסויות לשירותי VPN מכל מיני סיבות- אבטחה, פרטיות או סתם בשביל לצפות בנטפליקס אמריקה. אבל איך בדיוק VPN עובד?
בעבר, VPN (או Virtual Private Network – רשת פרטית וירטואלית) היה בשימוש בעיקר בקרב עסקים, בדגש על חברות גדולות, בכדי לאפשר לעובדים לגשת לרשת המאובטחת במשרד מהבית באמצעות חיבור מאובטח.
אם נשאל את דוד בוב, זה כנראה יהיה עד 100…
קשה באמת להגדיר כמה ארוכה פונקציה צריכה להיות, וכנראה שאי אפשר לנקב במספר ממשי (כל מספר שננקב כנראה יהיה שרירותיׂ), אבל אפשר להתווכח שלפונקציות קצרות יש מספר יתרונות בולטים שקשה להתעלם מהם.
מה זה כל האסקים, UTFים וכל קידודים האלה?
נתחיל מהאב הקדמון- קוד מורס האגדי. קוד מורס הומצא כשיטה להעביר הודעה דרך אמצעים אלקטרונים ולתרגם את הצלילים המועברים לאותיות. את ההודעה בונים בעזרת תקשורת בינארית(בתוספת של רווח בין הצלילים)- נקודה או קו. כך למשל את ההודעה “SOS” שכולנו מכירים, אפשר לקרוא בקוד מורס כ- “… - - - …”, ואם נשמע את הצליל של ההודעה הזאת, הוא יהיה מאוד מוכר לכולנו מאיפשהוא (כי טחנו את הצליל בכל מקום בסרטים הישנים).
Asymmetric encryption & public/private puke
בעידן של היום, כשהפרטיות והאבטחה שלנו ברשת רק הולכות ונשחקות, כדאי להיזכר בחשיבות של ההצפנה- מהיסודות של אינטרנט פתוח, חופשי ומאובטח. ובגזרה הזו הצפנה אסימטרית היא השיטה הכי נפוצה וכנראה שהכי חשובה, אבל עד כמה אתם יודעים איך היא עובדת?
בשביל ללמוד רקורסיה, צריך ללמוד רקורסיה! או איך ללמוד רקורסיה the intuitive way 🙂.
פונקציה רקורסיבית היא פונקציה שקוראת לעצמה בתוך עצמה (ושכולם כבר הפנימו כנראה). אבל עדיין יש אלמנטים עמומים שמבלבלים אנשים ברקורסיה (ובצדק).
הדבר הראשון שמבלבל אנשים הוא איך קוראים לפונקציה בתוך עצמה, כשלא סיימנו עדיין את הפונקציה.
פרוטוקול ה-DNS, או בשמו המלא Domain Name System, הוא פרוטקול שכולנו משתמשים בו כל הזמן והופך את האינטרט לנגיש לכולם. למרות זאת, הוא לא זוכה למספיק יחס.
ה-DNS הוא למעשה ספר הטלפונים של האינטרנט. כשאנחנו מנסים להיכנס לויקיפדיה לדוגמה, אנחנו מזינים לשורת הכתובת בדפדפן כתובת שנוחה לבני אדם- wikipedia.