» «
בלוקצ'יין
איך הבלוקצ'יין פועל?



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

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

מורכב מדי? - בפשטות נסביר שהבלוקצ’יין הוא מאגר נתונים מאובטח ומבוזר (כלומר מפוזר ומחולק), שפועל ללא גורם מרכזי או מפקח. המאגר הזה, של הבלוקצ’יין, נמצא בו זמנית על המון מחשבים, שכל הזמן עוברים סינכרון ומעודכנים בפעולות חדשות שנעשו, כלומר בעסקאות שנסגרו.

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

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

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


כך הבלוקצ'יין פועל (בעברית):

https://youtu.be/DSAtE0dh-PY


ויטליק בוטרין, מפתח מטבע האת'ריום, מסביר מהו (מתורגם):

https://youtu.be/2B4urKQl6dM


וכך הבלוקצ'יין עובד:

https://youtu.be/lD9KAnkZUjU
חוק מור
מהו חוק מור?



את "חוק מוּר" (Moore's law) ניסח בשנת 1965 גורדון מור, ממייסדי חברת אינטל, מאבות תעשיית השבבים העולמית ומראשוני עולם הסטארטאפים של ימינו.

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

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

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

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

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

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


הנה חוק מור:

http://youtu.be/YqKtVX5D-bw


וסיפורו של חוק מור (עברית):

https://youtu.be/ehPlLYR51zY


אחרי 50 שנה - סוף עידן חוק מור (עברית):

https://youtu.be/nT6h1YjbS_8


ומדענית שמנסה להסביר בפשטות מה הבעיה כיום עם חוק מור:

http://youtu.be/bLSMn0cNWAw
זיכרון מחשב
למה המחשב צריך זיכרון?



זיכרון מחשב (Computer memory) הוא רכיב שאוגר מידע ומאפשר שליפה שלו, לפי הצורך.

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

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

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


כך עובד זכרון המחשב (מתורגם):

https://youtu.be/p3q5zWCw8J4


תפקיד הזיכרון במחשב:

http://youtu.be/c8a_4OpWIWQ


וקצת על המידות והכמויות של הזיכרון במחשב:

https://youtu.be/lo2McnYcTTQ
זיכרון מחשב
מהם סוגי הזיכרון במחשב?



הזיכרון הממוחשב (Computer memory) מאפשר לקודד, לאחסן ולשלוף מידע ממחשב או ממאגר זיכרון ממוחשב. מדובר באחד המרכיבים החשובים במיחשוב המודרני ובין הזיכרונות הממוחשבים, יש מגוון של יחידות לאיחסון של מידע.

בין זיכרונות המחשב (Computer memory) יש כמה סוגים שונים של זיכרונות:

ה-ROM (קיצור של Read Only Memory) הוא זיכרון לקריאה בלבד. המידע שנשמר בו נצרב בדרך כלל על ידי היצרן מראש, מה שאומר שניתן לגשת למידע זה, אך רק לקרוא אותו, מבלי לשמור אליו מידע חדש, שונה או מעודכן יותר.

ה-RAM, קיצור של Random Access Memory (זיכרון לגישה אקראית), הוא זיכרון שתלוי באספקת חשמל, מה שאומר שכשמכבים את המחשב וזרם החשמל מתנתק ממנו, יימחק מה-RAM כל המידע שאוחסן עליו.

כמובן שיש במחשבים גם כוננים קשיחים, (ראו באאוריקה בתגית "כונן קשיח"), המיועדים לאיחסון לטווח ארוך ובכמויות מידע גדולות, גם עם כיבוי החשמל או ניתוק מהמחשב.


כך משתלבים הזיכרונות השונים בפעולת המחשב (מתורגם):

https://youtu.be/AkFi90lZmXA


כך עובד זכרון המחשב (מתורגם):

https://youtu.be/p3q5zWCw8J4


ותפקיד ה-RAM במחשב:

http://youtu.be/c8a_4OpWIWQ

הנדסת מחשבים

כונן קשיח
כיצד פועלים הכוננים הקשיחים?



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

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

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


כך פועל הכונן הקשיח המכני (מתורגם):

https://youtu.be/wteUW2sL7bc


אנימציה שמראה זאת היטב:

https://youtu.be/n6uPALWAyxc


הסבר טוב וישן על הכונן הקשיח המכני (מתורגם):

https://youtu.be/5EclNHZ1Emg


ראו כמה מהר הוא עובד על פעולות כמו מחיקת תיקיה, העתקה והדבקה ועוד:

https://youtu.be/9eMWG3fwiEU


עוד הסבר:

https://youtu.be/kdmLvl1n82U


כונני ה-SSD החדשים, ללא חלקים נעים, מה שהופך אותם מהירים ויציבים פי כמה (עברית):

https://youtu.be/dX-1QKCvVRI


כונני ה-HDD שמשלבים את הטוב שבשני הסוגים - המהירות של SSD והנפח של ה-HD:

https://youtu.be/hV7UBa-wDGc


והכונן של העתיד שאולי יהיה מורכב מ... דנ"א של חיידקים!

https://youtu.be/_O-kLA3uEyA
דיסק קשיח
מה ההבדל בין הדיסק הקשיח ל-RAM?



דיסק קשיח (Hard disk) המשמש לשמירת נתונים מאפשר שמירת כמות גדולה של נתונים. הוא נבדל מהזיכרון הרגיל, הזיכרון הפעיל של המחשב, שנקרא RAM. זאת מכיוון שהנתונים בזיכרון הפעיל של המחשב, ה-RAM, נשכחים בעת שמכבים את המחשב, בכונן הקשיח, לעומתו, הנתונים יישמרו גם כשמכבים את המחשב.

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

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

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


הנה הכונן הקשיח ודרך הפעולה שלו (מתורגם):

http://youtu.be/5EclNHZ1Emg


סרטון מעולה על פעולת הכונן הקשיח (מתורגם):

https://youtu.be/wteUW2sL7bc


כונן חיצוני חדיש שמתחבר למחשב בכבל או מהרשת האלחוטית:

http://youtu.be/6qVU2eWvmg8
רשת CDN
איך מקלה רשת CDN על גולשי האינטרנט?



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

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

מה שמאפשר את הרצף הזה של הסרטונים מיוטיוב, או טעינה ופעולה מהירה של אתרים בינלאומיים כמו פייסבוק, גוגל וכדומה, הן רשתות CDN, קיצור של Content Delivery Network, או בעברית "רשת הפצת תוכן".

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

על פי השיטה, מועתקים כל הזמן האתר, או חלק מהתכנים הכבדים שבו, אל שרתים המפוזרים ברחבי העולם. על כל אחד מהם נוצר עותק מקוון הנקרא מטמון (Cache). כשגולש צופה בוידאו או רוצה לשחק במשחק מחשב מקוון, מורה מערכת ה-CDN לשרת שקרוב אליו גיאוגרפית להזרים את התוכן משם. התוכן מוזרם אוטומטית מהשרת הקרוב אל הגולש. כך הופכים זמני הגישה והטעינה של אתר כזה למהירים מאד.

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


כך פועלת רשת CDN ברשת האינטרנט:

https://youtu.be/841kyd_mfH0


כך אמזון משווקת את רשת ה-CDN שלה:

https://youtu.be/AT-nHW3_SVI


הסבר בעל פה על רשתות CDN:

http://youtu.be/nle1q0qSYmA


יש יתרונות רבים לרשת CDN כזו:

http://youtu.be/7cgSVAaLYec


ורשת ה-CDN אמורה להיות זולה ויעילה יותר ממרכזי נתונים שיוקמו לבד:

http://youtu.be/tNGTOenxDp8
ננו מנועים
מהם ננו-מנועים?



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

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

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


הנה הגדלה פי 1000, שבה רואים מוטות ננו, מנועים זעירים בפעילות בתאי הילה במעבדה:

http://youtu.be/qa_QFFopTms


ומנועי-ננו זעירים בצורת מוטות קטנים וצהובים - בהגדלה של פי 500:

https://www.youtube.com/watch?v=tvvwI3Z-p7U


מרכז נתונים
מהו מרכז נתונים, דאטה סנטר או חוות שרתים?



מרכז נתונים (Data center), המכונה בשפה המקצועית פשוט "דאטה סנטר", הוא אתר המשמש לאיחסון נתונים דיגיטליים, כלומר ממוחשבים, ניהול והפצה שלהם. לעתים הוא נקרא גם "חוות שרתים".

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

בזמנו התפרסמה תכנית להקמת 36 מגדלים עם 360,000 שרתים שיהיו ביחד מרכז הנתונים הגדול בעולם.

הספקיות הגדולות של הענן הציבורי, כולל אמזון עם AWS, מיקרוסופט עם Azure וגוגל עם Google Cloud, השתלטו בשנים האחרונות על שוק הדטה סנטרים. נכון ל-2021 הן חולשות במשותף על מעל 50% מהדטה סנטרים הגדולים בעולם.

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

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


הנה מרכז הנתונים המאובטח של ישראל (בעברית):

https://youtu.be/Sbl49N61fWY


זה של חברת גוגל שתכננה אותו במהלך השנים:

https://youtu.be/eCSt5kerv1k


על מרכז הנתונים הגדול ביותר בעולם המתוכנן באירופה:

https://youtu.be/4e97g7_qSxA


ומרכז הנתונים של חברת פייסבוק:

https://youtu.be/4A_A-CmrqpQ


בואו להתרשם בעצמכם:

https://youtu.be/zDAYZU4A3w0?qr=yes
מה זה פינטק?



פינטק (Fintech) הוא שילוב של פיננסים (כסף) וטכנולוגיה, או בקיצור - טכנולוגיה פיננסית. תחום הפינטק הוא מהתחומים הצומחים והמבטיחים בעולם ההייטק של ימינו.

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

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

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

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


הנה עולם הפינטק:

https://youtu.be/zsMDKGJOJS0


מצגת וידאו של עולם הפינטק:

https://youtu.be/efJXoyugPvM


בלנדר - מיזם להלוואות חברתיות (עברית):

https://youtu.be/Z0kQ3kA16os


מיזם הלוואות לעסקים קטנים:

https://youtu.be/WAVs25E5Nnc


וזו הסיבה שהבנקים עדיין לא נפגעו מהמהפכה הדיגיטלית (עברית):

https://youtu.be/T-MbZdBegDA
מהו תכנות מונחה עצמים?



תכנות מונחה עצמים (Object Oriented Programming) מחקה את החשיבה האנושית. אנו כבני האדם נוטים לסווג את כל מה שבו בקטגוריות. כל עצם בעולם נמצא בקטגוריות מסוימות, שחוסכות לנו את הצורך לציין פרטים שמשותפים לקטגוריות הללו. אם נתאר מכונית מדגם מסוים, נוכל לתאר רק את מה שייחודי לה, כי תכונות כמו מנוע, או 4 גלגלים, ברורות מעצם זה שהיא משתייכת לקטגוריית המכוניות.

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

שפות כמו ++C ו-TypeScript הציעו הרחבות מבוססות אובייקטים לשפות כמו C ו-JavaScript, מה שהפך את ההגירה אליהן קלה יחסית, מהשפות חפרוצדורליות, חסרות האובייקטים.

בתכנות מבוסס אובייקטים, שבראשי תיבות קוראים לו OOP, מקבצים את כל המשתנים והפונקציות של עניין מסוים אל תוך מחלקה (class).

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


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

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

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

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

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


#עקרונות
הפשטה של הנתונים (Data Abstraction) - המתכנת מתרכז במאפיינים הרלוונטיים של העצם.

כימוס (Encapsulation)- הסתרה של פרטי המימוש מהמשתמש בעצם.

מודולריות (Modularity) - מפרידים עצמים ליחידות נושא.

היררכיה, או הורשה (Inheritance) - מגדירים יחסים היררכיים בין העצמים ואובייקט יורש תכונות מהמחלקה שלו.

טיפוסיות חזקה (Strong Typing) - מניעה של בלבול או ערבוב בין טיפוסי עצמים שונים זה מזה.


#האובייקט
בשיטת ה-Object Oriented Programming כל דבר הוא אובייקט.
בתכנות מונחה עצמים מגדירים מחלקות (Classes). לאחר הגדרת מחלקה אפשר לייצר מופעים שלה, שנקראים אובייקטים (Objects).

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

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


#הגדרות
אם תכנות מונחה עצמים מתמקד בפיתוח של עצמים וביצירת פעולות ביניהם, אז כדאי שנגדיר כמה דברים:

עצם (Object) הוא מעין קפסולת קוד שבתוכה אנו מכניסים שילוב של מידע ופעולות. לרוב זו תהיה מחלקה (Class).

המידע במחלקה ייקרא "תכונות" (Attributes). התכונות שיוצגו הן רק אלה שרלוונטיות לפיתוח או לאפליקציה המסוימת שעליה אנו עובדים.

הפעולות באובייקט שנראות כמו פונקציות ייקראו "שיטות" או "מתודות" (methods). השיטות או המתודות הללו מתארות את מה שאובייקט במחלקה מסוגל לעשות.

ההודעות (Messages) הן מה שמניע את הפעולות. כי השיטות הן בגדר פוטנציאל ובלי הודעה לא תופעל שום שיטה.


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

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


#סיכום
בתכנות מבוסס עצמים יש תבניות שמתארות סוג של יישות, כמו בחיים עם ישויות כמו מכוניות, בני אדם וכדומה. התבניות הללו נקראות "מחלקות" (Class). תחת ה-Class כהגדרה מרכזית, עם ריכוז של מאפיינים (שהם בעצם משתנים) ומתודות (שהן פעולות שניתן לעשות במחלקה), כל אובייקט שיווצר תחת המחלקה ישאב אותם ממנה.

עוד על המחלקה בתגית "מחלקות".


הנה הסבר התכנות מונחה העצמים (עברית):

https://youtu.be/l6M3qp5Ykus


הסבר לילדים:

https://youtu.be/X3cFiJnxUBY


ההבדל בין תכנות פרוצדורלי של פעם לתכנות מונחה עצמים (מתורגם):

https://youtu.be/OEfSFrk_KEI


4 עמודי התכנות מונחה העצמים:

https://youtu.be/pTB0EiLXUC8


ויסודות התכנות מונחה העצמים עם הדגמות בשפת פייתון (עברית):

https://youtu.be/odRYxQLGb2U?long=yes
איך פועל חיישן טביעת אצבע?



חיישן ביומטרי לזיהוי טביעת האצבע (Fingerprint sensor) הוא רק אחת מהטכנולוגיות בתחום של טכנולוגיות הזיהוי הביומטרי. טכנולוגיות אלה הפכו מאד נפוצות בשנים האחרונות באבטחה וזיהוי, בתחומים שונים.

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

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

הראשונה להשתמש בחיישני טביעת-אצבע הייתה חברת Apple. החברה חשפה את האייפון 5S עם סורק טביעות האצבע הראשון וכינתה אותו TouchID. במהרה יצאו חיישנים מתחרים למכשירים של יצרנים מתחרים רבים. בשנת 2019 המתחרה הגדולה סמסונג הייתה הראשונה להשתמש בחיישן אצבע תלת מימד שמוטמע על המסך עצמו.

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

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

אבל איך פועל החיישן הביומטרי לטביעת אצבע?

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

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


הנה חיישן טביעות אצבע של האייפון:

https://youtu.be/jaKS9zFOMDY


כך עובד החיישן הביומטרי לזיהוי טביעת האצבע:

https://youtu.be/CLdrbn8XYIw


חיישן טביעות האצבע של מכשיר סמארטפון Galaxy S5:

https://youtu.be/dKVdJ9U8sm4


וכך גורמים לחיישן זיהוי טביעת אצבע Touch ID של מכשירי אייפון לזהות אותך:

https://youtu.be/MXYTD8UJaJo
מהי השיטה הבינארית?



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

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

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

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


הנה השיטה הבינארית (מתורגם):

https://youtu.be/wgbV6DLVezo


סרטון על הדרך להמרה של מספר עשרוני לבסיס הבינארי (עברית):

http://youtu.be/2pr8mkRZIfg


היום כבר מנסים להתקדם ממנה לשיטת החישוב הבאה (עברית):

https://youtu.be/tWBEaaTuz3A


ותכנית לימודית על הבסיס הבינארי (עברית):

https://youtu.be/aKZYHUmYG_M?long=yes
מהם המחשבים הביולוגיים הזעירים?



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

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

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

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

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


הנה טריליוני המחשבים הננו-ביולוגיים שישוטטו בתאים שבגופנו, יזהו מחלות מתהוות וירפאו אותנו עוד לפני שנרגיש בהן (עברית):

https://youtu.be/jE_mX1CnQlU


המחשב הביולוגי שכבר הצליחו לפתח:

https://youtu.be/IQ545ZniAOw


וסרט תיעודי על המחשוב הביולוגי של העתיד:

https://youtu.be/00vBqYDBW5s?long=yes
מהו האינטרנט של הדברים?



"אינטרנט של הדברים" (Internet of Things), או באנגלית מקוצרת IOT, הוא מושג חדשני של פיתוח מוצרים ותקשורת אינטרנט שמיועדת למוצרים וחפצים, כדי שיוכלו לתקשר דרך רשת האינטרנט, להקל על חיינו ולשפר את הבריאות האישית. שבבים וחיישנים מיוחדים מאפשרים למכשירים כאלה לאגור מידע ולשדר אותו דרך האינטרנט.

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

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

ישנן דוגמאות שונות כיצד יוכלו דברים לתקשר דרך האינטרנט לטובת בני-אנוש. הנה כמה מהן:

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

התראות חירום - תארו לעצמכם שהשעון שלנו יזהה שנפגענו בתאונה ויזמין טיפול רפואי באופן אוטומטי?

בית מנהל את עצמו - תארו לעצמכם מערכת תאורה ומיזוג שפועלות לאורך שעות היממה, על פי מזג האוויר ולוחות הזמנים שלנו? חשבו על החיסכון בחשמל, על הנוחות בכניסה לבית ממוזג בקיץ או מחומם בחורף.. על הקפה המתחמם עוד לפני שהתעוררנו.. (ראו באאוריקה בתגית "הבית החכם").

מכונית מנווטת - האם לא יהיה נפלא שהרכב יידע לשאוב מידע על פקקי תנועה מהרשת ולבחור את המסלול הנכון, כדי שנגיע במהירות ליעד? ובכן, הוא כבר כאן (ראו באאוריקה בתגית "מכונית ללא נהג").


הנה הסבר על האינטרנט של הדברים (עברית):

https://youtu.be/cbHRh9f-PLs


סרטון אנימציה על אינטרנט הדברים:

http://youtu.be/Q3ur8wzzhBU


הדרך בה ישנה התחום המתפתח במהירות את העולם (עברית):

https://youtu.be/po6fhinuwmo


על האינטרנט של הדברים:

http://youtu.be/LVlT4sX6uVs


איכות החיים והיעילות של "האינטרנט של הדברים":

http://youtu.be/nDBup8KLEtk


והאפשרויות של ניסוח שפת תקשורת בין חפצים שתסייע להם לתקשר:

http://youtu.be/nEVatZruJ7k
מה זה ביג דאטה?



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

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

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

אגב, בניגוד למחשבה שרק מחשבי-על הם שמעבדים את המידע לתחום הביג דאטה (קראו באאוריקה בתגית "ווטסון"), ישנן כיום מערכות שמטפלות בעיבוד נתונים כאלה, גם במחשבים רגילים.


הנה עולם הביג דאטה:

https://youtu.be/RrhDqByPxwY


והסבר על הביג דאטה (מתורגם):

http://youtu.be/j-0cUmUyb-Y?t=14s
מהו המחשב הקוונטי?



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

כיום משתמשים במדעי המחשב במודל התיאורטי של "מכונת טיורינג" (ראו בתגית "מכונת טיורינג"). מודל זה מתבסס על העיקרון הבינארי, כשהביטים נמצאים במצבי 0 או 1.

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

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

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


הנה המחשב הקוונטי (עברית):

http://youtu.be/_T1ArF3sVVA


הסבר פשוט של המושג מחשב קוונטי (עברית):

http://youtu.be/UhNbnYsIGso


סרטון אנימציה שמסביר את הקוונטום מחשוב:

https://youtu.be/T2DXrs0OpHU


הסבר מקיף למחשב קוונטי:

http://youtu.be/g_IaVepNDT4


וסקירה מקיפה של עולם המחשבים הקוונטיים ויכולותיהם (מתורגם):

https://youtu.be/JhHMJCUmq28?long=yes


אֵאוּרִיקַה - האנציקלופדיה של הסקרנות!

העולם הוא צבעוני ומופלא, אאוריקה כאן בשביל שתגלו אותו...

אלפי נושאים, תמונות וסרטונים, מפתיעים, מסקרנים וממוקדים.

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

בואו לגלות, לחקור, ולקבל השראה!

אֵאוּרִיקַה - האנציקלופדיה של הסקרנות!

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