[Powered by Google Translate] [וואָך 7] [דוד י מאַלאַן - האַרוואַרד אוניווערסיטעט] [דאס איז קס50. - CS50.TV] אַלע רעכט. באַגריסן צוריק. דאס איז קס50, און דאָס איז די אָנהייב פון וואָך 7. א פּאָר פון קליין מודעות: פּסעט5 איז איצט אין פּראָגרעס, אָדער באַלד וועט זייַן, און לאָזן מיר זאָגן, גאַנץ האָנעסטלי, דאָס טוט טענד צו זייַן צווישן די מער טשאַלאַנדזשינג פון דעם קורס ס פּראָבלעם שטעלט, אַזוי לאָזן מיר דערמאָנען דעם איצט אַזוי אַז דעם וואָך מער ווי אלץ איר טאָן נישט וואַרטן ביז, זאָגן, מיטוואך נאַכט אָדער דאנערשטאג נאַכט צו ונטערטוקנ זיך ין דאס איז באשטימט אַ טשיקאַווע פּסעט. מיר טראַכטן עס ס שפּאַס. אויב איר פאקטיש באַקומען עס גאָר ריכטיק און קענען דעריבער אַרויסרופן די אַזוי-גערופן גרויס באָרד, איר וועט האָבן אַ געלעגנהייט צו גלייַכן וויץ מיט עטלעכע פון ​​די קורס ס שטעקן און עטלעכע פון ​​דיין קלאַסמייץ. וואָס די גרויס באָרד איז איז אַמאָל איר האָבן דיין רעגע-טשעקער ארבעטן, איר וועט זייַן ביכולת צו גיין צו cs50.net נאָך פליסנדיק אַ באַפֿעל, ריין אַפּט אין, און דאַן די סומע פון ​​צייַט און די סומע פון ​​באַראַן און מער אַז איר האָט געניצט אין דיין ימפּלאַמענטיישאַן וועט זייַן יגזיבאַטאַד דאָ אויף דעם קורס ס היים בלאַט. איר וועט באַמערקן אַז אַ גאַנץ בינטל פון די פאָלקס דאָ זענען ליסטעד ווי שטעקן זינט איבער די אָפּרוטעג דער שטעקן געדאַנק עס וואָלט זייַן שפּאַס צו פּרובירן צו אַוטדו יעדער אנדערע. אַזוי פאַרשטיין אַז דער ציל דאָ איז נישט צו אַוטדו דער שטעקן. אפילו איך בין בלויז דאָ אין נומער 13. ריין אַפּט אין, אָבער עס ס אַ געלעגנהייט צו זען נאָר ווי קליין באַראַן און ווי ווייניק קפּו סעקונדעס איר קענען נוצן וויס-אַ-וויס עטלעכע פון ​​דיין קלאַסמייץ. און איך וועט אַרייַנלאָזן אַז קעווין מיכאל שמיד, דערווייַל אין נומער 1 שטעלע ווי איינער פון די טפס, דאָס איז אַ ימפּלאַמענטיישאַן וואָס מיר רופן ניט מעגלעך געגעבן אַז ער ס ניצן כּמעט 0 באַראַן און כּמעט 0 סעקונדעס פֿאַר לאָודינג. אַזוי מיר וועט נעמען קעיר פון קעווין אָפפלינע. [געלעכטער] עס זענען זיכער סקילז אַז קעווין איז פּאַטינג צו די פּרובירן דאָ. איינער פון די זאכן מיר געדאַנק מיר 'ד טאָן אויך איז איצט קס50קס איז אַ וואָך אין פּראָגרעס, און איר גייז זענען ווי פיל אַ טייל פון דעם עקספּערימענט ווי יענע סטודענטן זענען. מיר ווע געבעטן זיי ווי טייל פון זייער פּסעט0, וואָס איז געווען סימילאַרלי צו פאָרלייגן אַ סקראַטטש פּרויעקט פון אינטערעס צו זיי - אַ שפּיל, אַ ינטעראַקטיוו שטיק פון קונסט, אַן אַנאַמיישאַן, אָדער די ווי - אַ 1 - צו 2-מינוט ווידעא, אויב זיי וואָלט ווי, זאגן העלא צו די וועלט און וואס זיי פאקטיש זענען. איך געדאַנק איך 'ד טיילן מיט איר נאָר אַ פּאָר פון די ווידיאס וואָס האָבן שוין דערלאנגט אַזוי ווייַט ווייַל פֿאַר אונדז אויף די שטעקן בייַ מינדסטער עס טאַקע האט שוין יקסייטינג און ינספּייערינג צו זען די פאָלקס פון אַלע איבער די וועלט - לענדער אַלע איבער די וועלט - טונינג אין, פון אַלע זאכן, צו אַ קאָמפּיוטער וויסנשאַפֿט קורס אויף די אינטערנעט, צי עס ס ווייַל זיי ווילן צו פאָרזעצן זייער אייגן שטודיום, זיי ווילן צו נעמען זייער קאַרעערס אין אַ נייַ ריכטונג, זיי ווילן צו פּלאָמבירן אין גאַפּס אין זייער אייגן וויסן, אַזוי עטלעכע פון ​​די זעלבע סיבות אַז איר גייז טאָמער האָבן שוין דאָ. אַזוי איך געבן איר 1 אַזאַ תּלמיד דאָ. איר געקענט כאַפּן דעם באַנד נאָר אַ קליין ביסל. דאָ איז איינער פון אונדזער תּלמיד ס 1-מינוט סאַבמישאַנז. העלא, וועלט. איך בין אַ תּלמיד פון אינדוסטריעלע ינזשעניעריע דאָ אין מאַלאַגאַ, ספּאַין. איך בין יקסייטאַד וועגן דעם אָנליין קורס ווייַל איך ליבע קאָמפּיוטער וויסנשאַפֿט, איך טאַקע טאָן, און איך באמת אָפּשאַצן וואָס איך באַקומען צו ויספאָרשן עס. און די פאַקט אַז איך קענען לערנען די זעלבע אַלע פון ​​איר גייז טאָן אָבער אַנשטאָט פון זייַענדיק אין האַרוואַרד איך בין אין מאַלאַגאַ, ווי אָסאַם איז וואָס? נו, איך בין פערנאַנדאָ, און דאָס איז קס50. זען איר גייז. [געלעכטער] אן אנדער קלעמערל מיר דער הויפּט ווי, איר וועט געפֿינען אַז דעם דזשענטלמען ס ענגליש איז נישט אַזוי שטאַרק. עס קוקט ווי ער האט עס מאַשין איבערגעזעצט, אַזוי די איבערזעצונגען זיך ביסט אַ ביסל ימפּערפיקט, אָבער דאָס איז געווען איינער פון אונדזער פאַוואָריטעס אַזוי ווייַט ווי געזונט. [♪ ♪] העלא, וועלט. [גערעדט אין יאַפּאַניש] [איך האָבן צו באַגריסן אין יאַפּאַניש ווייַל מיין ענגליש איז זייער אַנרילייאַבאַל.] [איך האָבן איבערגעגעבן דעם אָנזאָג צו איר פון די שטאָט פון גיפו, יאַפּאַן.] [איך קענען זייַן אַ תּלמיד פֿאַר די ערשטער מאָל אין 20 יאר, ווי קענען זייַן געזען.] [איך בין זייער דאַנקבאַר צו האַרוואַרד אוניווערסיטעט וואס געגעבן מיר דעם געלעגנהייט און עדקס.] [גאָלף איז אַ גיטאַרע, און מיין באַליבט זאַך פליסנדיק.] [געלעכטער] [♪ ♪] [פארוואס טאָן איר טראַכטן איך איז געווען טריינג צו באַדינער אַ קס50קס.] [האַרוואַרד אוניווערסיטעט, עס איז מיין לאָנגינג.] [ספּעציעל אויב איך בין ווייַט בייַזייַן געלעבט אין יאַפּאַן.] [איך געוואלט צו פּרובירן תיכף אַווער פון דער עקזיסטענץ פון אַזאַ עדקס ווען.] [צי נישט איר טראַכטן אַזוי איר טאָן ניט שייַכות צו דער עלטער פון לערנען אויך] [קס50 איז מיין לאָנגינג. מייַן נאָמען איז קאַזו, און דאָס איז קס50.] [♪ ♪] [אַפּלאָדיסמענטן און טשירינג] אן אנדער באַליבט פון ונדזערער איז געווען דעם סאַבמישאַן דאָ פון עמעצער. [♪ ♪] [מאַלאַן] גוגל עס אויב איר ניטאָ אַנפאַמיליער מיט דעם מעמע. און דעמאָלט לאַסטלי, אַ פּאָר פון אנדערע אַז גאַט אַרייַנגעשיקט אַז טאָמער געווינען די טייַער אַוואָרד. [סטודענטן] אַוווו! >> [מאַלאַן] מיר וועט האָבן צו הערן. דאס איז קורץ, אַזוי הערן ענג. [ווייַבלעך רעדנער] וואָס ס אייער נאָמען? >> לוי. [ווייַבלעך רעדנער] וואָס ס דעם? >> [גיגאַלז] קס50. [געלעכטער] [מאַלאַן] ער האט 2 נעמט, כאָטש. דאָ מיר גיין, די לעצטע. מייַן נאָמען איז לוי, און דאָס איז קס50. [געלעכטער] דאס דעמאָלט איז קס50קס. דאנק איר צו אַלע פון ​​יענע פון ​​איר בשעת פאלגענדע צוזאמען בייַ היים וואס האָבן שוין פּאַרטאַקינג אַזוי ווייַט. הייַנט מיר פאַרענדיקן אונדזער דיסקוסיע פון ​​דאַטן סטראַקטשערז, בייַ מינדסטער עטלעכע פון ​​די מערסט פונדאַמענטאַל, און דעמאָלט מיר פאָרזעצן אונדזער שמועס וועגן HTML און וועב פּראָגראַממינג. טאקע, מיר ווע פארבראכט די פאַרגאַנגענהייַט עטלעכע 7 וואָכן קוקן בייַ די פאַנדאַמענאַלז פון פּראָגראַממינג - אַלגערידאַמז, דאַטן סטראַקטשערז, און די ווי - און C, ווי איר זאלט ​​האָבן איבערגעלעבט אַזוי ווייַט, איז ניט דאַווקע די מערסט צוטריטלעך פון שפּראַכן מיט וואָס צו מאַכשער עטלעכע פון ​​יענע געדאנקען. און אַזוי סטאַרטינג דעם וואָך און ווייַטער וואָך און דעריבער די פאלגענדע, מיר וועט ענדלעך זייַן ביכולת צו יבערגאַנג פון C, וואָס איז בכלל באקאנט ווי אַ פערלי נידעריק-מדרגה שפּראַך, צו דאס העכער מדרגה, צווישן זיי פפּ, דזשאַוואַסקריפּט, און די ווי, וואָס מיר וועט זען ציען אויף דער זעלביקער לעקציעס אַז מיר ווע געלערנט איבער די פאַרגאַנגענהייַט ביסל וואָכן, אָבער איר וועט געפֿינען וואָס דיקלערינג זאכן ווי ערייז און האַש טישן און שאַרף און סאָרטינג ווערן אַזוי פיל גרינגער ווייַל די שפּראַכן זיך מיר וועט אָנהייבן ניצן וועט ווערן מער שטאַרק. אבער ערשטער, אַ אַפּלאַקיישאַן פון ביימער. עס ס זייער פּראָסט די טעג צו דאַרפֿן צו קאָמפּרעס אינפֿאָרמאַציע. אין וואָס קאָנטעקסט וואָלט איר ווילן צו קאָמפּרעס עטלעכע מין פון דיגיטאַל אינפֿאָרמאַציע? יאָ. >> [תּלמיד] ווען איר דאַרפֿן צו שיקן עס איבער די וועב. יאָ, ווען איר ווילן צו שיקן עפּעס איבער די וועב. אויב איר ווילן צו אָפּלאָדירן אַ גרויס טעקע, עס ס ידעאַל אויב עמעצער אויף די אנדערע סוף האט קאַמפּרעסט אַז טעקע ניצן אַ פאַרשלעסלען פֿאָרמאַט אָדער עפּעס ווי אַז אַזוי אַז איר ניטאָ שיקט ווייניקערע ביטן ווי זאל אַנדערש זייַן טראַנסמיטטעד. אַזוי ווי טאָן איר קאָמפּרעס אינפֿאָרמאַציע? עס אַלע בוילז אַראָפּ צו ניצן ווייניקערע ביטן ווי זענען פארלאנגט דורך פעליקייַט. אבער דאָס איז מין פון אַ טשיקאַווע זאַך ווייַל טראַכטן צוריק צו וואָכן 0 און 1 ווען מיר גערעדט וועגן אַסקי און ביינערי און מיר גערעדט וועגן אַסקי אין באַזונדער ווי ניצן 8 ביטן צו פאָרשטעלן אותיות פון דעם אלפאבעט אַזוי אַז דער בריוו א איז רעפּריזענטיד דורך 65, לאָווערקאַסע אַ איז דער נומער 97, און אָבער איר פאָרשטעלן די 65 אָדער 97, איר ניטאָ ניצן 7 אָדער 8 ביטן. אבער די כאַפּן איז אַז עס זענען עטלעכע אותיות אין די ענגליש אלפאבעט וואָס זענען נישט ווי פאָלקס ווי אנדערע. ז איז ניט אַלע וואָס פאָלקס, ק איז ניט אַלע וואָס פאָלקס, אָבער א און E ביסט סופּער פאָלקס. און נאָך פֿאַר אַלע פון ​​די אותיות, דורך פעליקייַט די וועלט ניצט די זעלבע נומער פון ביטן, נאָר 8. אַזוי וואָלט נישט עס האָבן שוין סמאַרטער אויב אַנשטאָט פון ניצן 8 ביטן פֿאַר יעדער בריוו, אַפֿילו די מערסט זעלטן געניצט ווי ק און ז, וואָס אויב מיר געניצט ווייניקערע ביטן פֿאַר א און E און ד און די רובֿ פאָלקס אותיות און געוויינט מער ביטן פֿאַר די ווייניקער פאָלקס אותיות, דער געדאַנק זייַענדיק לאָזן ס אַפּטאַמייז פֿאַר דער פּראָסט פאַל, וואָס איז אַ טעמע אין קאָמפּיוטער וויסנשאַפֿט פון טריינג צו אַפּטאַמייז וואָס ס געגאנגען צו פּאַסירן די מערסט און פאַרברענגען אַ ביסל מער צייַט, אַ ביסל מער פּלאַץ אויף די זאכן וואָס, יאָ, זאל פּאַסירן אָבער נישט דאַווקע ווי אָפט. אַזוי לאָזן ס נעמען אַ בייַשפּיל. רעכן אַז מיר ווילן צו ענקאָוד אינפֿאָרמאַציע פערלי יפישאַנטלי. איר זאל האָבן דערוואַקסן אַרויף געוואוסט אַ ביסל עפּעס וועגן מאָרס קאָד, און שאַנסן זענען איר האט נישט וויסן די פאַקטיש קאָד, אָבער איר זאל צוריקרופן אַז עס ס בייַ מינדסטער דעם סעריע פון ​​דאַץ און דאַשיז. דאס איז אַ פערלי עפעקטיוו קאָודינג, און באַמערקן אַז די רובֿ פאָלקס בריוו - פֿאַר בייַשפּיל, E - ניצט די שאָרטיסט פון ביפּס. מאָרס קאָד איז אַלע וועגן ביפּ-ביפּ-ביפּ-ביפּ-ביפּ-ביפּ און האלטן טאָנעס אָדער פֿאַר קורץ פּיריאַדז פון צייַט אָדער לאַנג פּיריאַדז פון צייַט. E, ווי דינאָוטאַד דורך די פּינטעלע, איז אַ סופּער קורץ ביפּ, נאָר ביפּ, און וואָס וואָלט פאָרשטעלן י דורך קאַנטראַסט, ה וואָלט זייַן אַ מער ביפּ, ווי ביפּ [פּראַלאָנגז געזונט], און וואָס וואָלט פאָרשטעלן טי אבער אַז ס 'נאָך שיין קורץ ווייַל, דורך קאַנטראַסט, אויב איר קוק בייַ ז, צו אויסדריקן ז איר וואָלט גיין ביפּ, ביפּ [מער געזונט], ביפּ, ביפּ [קירצער געזונט]. אַזוי עס ס מער ווייַל עס ס ווייניקער פּראָסט. אבער די גאַטשאַ דאָ איז אַז מאָרס קאָד איז אַ ביסל פלאָד אין אַז עס ס ניט מיד דעקאָדאַבלע. פֿאַר בייַשפּיל, רעכן אַז איר הערן אויף עטלעכע סוף פון די דראָט ביפּ [קורץ], ביפּ [לאַנג]. וואָס אָנזאָג האט איך נאָר באַקומען? א פּינטעלע און אַ לאָך. וואָס טוט וואָס פאָרשטעלן? [תּלמיד] יי >> [מאַלאַן] אפֿשר. עס קען אויך זייַן E נאכגעגאנגען דורך טי אין אנדערע ווערטער, מאָרס קאָד, כאָטש עס לעוועראַגעס דעם פּרינציפּ פון אָפּטימיזינג די ווינקל פאַל, עס טוט ניט לייַען זיך צו באַלדיק דעקאָדאַביליטי. וואָס איז, דער מענטש וואס איז געהער אָדער באקומען די דאַץ און דאַשיז האט צו עפעס רעכענען אויס ווו די ברייקס זענען צווישן אותיות, ווייַל אויב איר טאָן ניט וויסן ווו יענע ברייקס זענען, איר זאל צעטומלען א פֿאַר עט אָדער וויצע ווערסאַ. אַזוי וואָס זאל איר טאָן? אין מאָרס קאָד איר קען נאָר פּויזע צווישן יעדער פון די אותיות. אבער פּאָזינג איז מין פון טאָמבאַנק צו די גאנצע פונט פון ספּידינג זאכן אַרויף. אַזוי וואָס אויב אַנשטאָט מיר געקומען אַרויף מיט אַ קאָד ווו עס איז געווען ניט דעם שלעכט סיטואַציע ווו E איז אַ פּרעפיקס, פֿאַר בייַשפּיל, פון א - אין אנדערע ווערטער, אויב מיר קען מאַכן זיכער אַז די פּאַטערנז ביסט נאָך קליין פֿאַר די פאָלקס אותיות לאַנג פֿאַר די ווייניקער פאָלקס אותיות, אָבער דאָרט ס ניט מעגלעך צעמישונג? א מענטש דורך דעם נאָמען פון הופפמאַן יאָרן צוריק ינווענטאַד דעם סכעמע גערופן הופפמאַן קאָודינג אַז פאקטיש לעוועראַגעס איינער פון די דאַטן סטראַקטשערז מיר ווע פארבראכט אַ ביסל פון מאָל גערעדט וועגן דעם פאַרגאַנגענהייַט וואָך, אַז פון ביימער, ביינערי ביימער ספּאַסיפיקלי - אַ ביינערי בוים טייַטש אַז עס האט ניט מער ווי 2 קינדער. עס האט אפֿשר אַ לינק קינד, אפֿשר אַ רעכט קינד, און אַז ס עס. אַזוי רעכן נאָר פֿאַר די צוליב פון דיסקוסיע וואָס עמעצער וויל צו שיקן אַ אָנזאָג וואָס קוקט ווי דעם. עס ס פאַרענדיקן ומזין אָבער עס ס פארפאסט פון ווי, בס, קס, דס, און עס. און אויב איר פאקטיש ציילן אַרויף אַלע פון ​​די ווי, בס, קס, דס, און עס און דעמאָלט טיילן דורך די גאַנץ נומער פון אותיות, דאָס ביסל טשאַרט דאָ זאגט אַז 45% פון די אותיות זענען עס, 20% זענען ווי, 10% בס, און אַזוי אַרויס. אַזוי אין אנדערע ווערטער, יבערנעמען אַז די ציטירטן שטריקל דאָרט איז נאָר עטלעכע אָנזאָג אַז איר ווילן צו שיקן. עס כאַפּאַנז צו זייַן ומזין נאָר אַזוי מיר קענען נוצן ווי ווייניק אותיות ווי מעגלעך, אָבער עס ס 'טאַקע די פאַל וואָס E בלייבט די מערסט פאָלקס, און ב, און C ביסט דער מינדסטער פאָלקס, בייַ מינדסטער פון די 5 אותיות פון דעם אלפאבעט. אַזוי ווי קענען מיר גיין וועגן קומען אַרויף מיט אַ קאָדירונג, אַ ביינערי סיסטעם, אַ מוסטער פון 0ס און 1ס פֿאַר יעדער פון די אותיות אין אַזאַ אַ וועג אַז E איז אַ קליין מוסטער און אפֿשר בייטן און C זענען אַ ביסל מער פּאַטערנז, ווידער, די געדאַנק זייַענדיק אַז מיר ווילן צו נוצן ווייניקערע ביטן רובֿ פון די צייַט און מער ביטן נאָר אַמאָל אין אַ בשעת. לויט צו הופפמאַן קאָודינג, איר קענען שאַפֿן אַ וואַלד פון ביימער. עס ס סאָרט פון אַ געשיכטע שורה דאָ אַז ינוואַלווז ביימער און אויך די פּראָצעס פון בנין זיי אַרויף. זאל ס נעמען. איך פאָרשלאָגן אַז איר אָנהייבן מיט דעם וואַלד, אַזוי צו רעדן, פון 5 ביימער, יעדער פון וואָס איז אַ שיין נאַריש בוים. דער בוים איז פארפאסט פון נאָר אַ איין נאָדע, ווי רעפּריזענטיד דאָ דורך אַ קרייַז. אַזוי יעדער פון די זאכן זאל זייַן אַ C סטרוקט און ין פון די C סטרוקט זאל זייַן אַ לאָזנ שווימען רעפּריזענטינג די אָפטקייַט ציילן און דעריבער אפֿשר אַ טשאַר רעפּריזענטינג די בריוו. אַזוי טראַכטן פון די נאָודז ווי נאָר קיין אַלט C סטרוקט אָבער, פֿאַר איצט, העכער מדרגה. דאס איז אַ וואַלד פון 5 ביימער, יעדער פון וואס נאָר האָבן אַ איין נאָדע. וואָס הופפמאַן פארגעלייגט איז אַז מיר אָנהייבן צו פאַרבינדן יענע ביימער וואָס האָבן די קלענסטער אָפטקייַט קאַונץ אין אַ ביסל ביגער ביימער דורך קאַנעקטינג זיי מיט אַ נייַ וואָרצל נאָדע. אַזוי צווישן די אותיות דאָ, באַמערקן אַז פֿאַר קאַנוויניאַנס איך ווע אויסגעשטעלט זיי פון לינקס צו רעכט, כאָטש אַז ס ניט שטרענג נייטיק, און באַמערקן אַז דער קלענסטער נאָודז זענען דערווייַל 10% און 10%. אַזוי הופפמאַן פארגעלייגט אַז מיר צונויפגיסן יענע 2 קלענסטער נאָודז אין אַ נייַ בוים דורך ינטראָודוסינג אַ נייַ פאָטער נאָדע און דאַן געבן וואָס פאָטער אַ לינקס קינד און אַ רעכט קינד ווו בייטן איז אַרביטרעראַלי די לינקס און C איז אַרביטרעראַלי די רעכט. און דעמאָלט הופפמאַן ווייַטער פארגעלייגט אַז לאָזן ס איצט נאָר טראַכטן פון די לינקס קינד אין איינער פון די ביימער שטענדיק ווי זייַענדיק רעפּריזענטיד דורך 0 און די רעכט קינד שטענדיק ווי זייַענדיק רעפּריזענטיד דורך די נומער 1. עס טוט נישט ענין אויב איר פליפּ זיי אַזוי לאַנג ווי איר ניטאָ קאָנסיסטענט. אַזוי איצט מיר האָבן 4 ביימער אין דעם וואַלד. און איך זאָגן 4 ווייַל איצט דעם בוים אויף די לינקס - און עס ס 'נישט אַזוי פיל אַ בוים אין די געפיל אַז עס וואקסט דעם וועג, עס ס 'מער ווי אַ משפּחה בוים ווו איצט די 0.2 איז סאָרט פון דעם פאָטער פון די 2 קינדער - באַמערקן אַז אין אַז פאָטער מיר ווע ציען 0.2. מיר ווע צוגעגעבן די אָפטקייַט קאַונץ פון די 2 קינדער און געגעבן די נייַ נאָדע די גאַנץ סאַכאַקל. אַזוי איצט מיר נאָר איבערחזרן דעם פּראָצעס. געפֿינען די 2 קלענסטער נאָודז און דעמאָלט פאַרבינדן זיי אין אַ נייַ בוים און דעמאָלט איבערחזרן דעם פּראָצעס ווייַטער. רעכט איצט מיר האָבן אַ ביסל קאַנדאַדייץ, 20%, 15%, און אן אנדער 20%. אין דעם פאַל מיר האָבן צו ברעכן די בונד. מיר קענען טאָן עס אַרביטרעראַלי. מיר זאָל נאָר טאָן עס קאַנסיסטאַנטלי. אין דעם פאַל איך וועט אַרביטרעראַלי גיין מיט די איין אויף די לינקס, און איך איצט צונויפגיסן די 20%, און דעם 15% צו געבן מיר אַ נייַ פאָטער גערופן 35%, וועמענס לינקס קינד איז 0, וועמענס רעכט קינד איז 1, און איצט מיר האָבן נאָר 3 ביימער אין די וואַלד. איר קענען טאָמער זען ווו דאָס איז געגאנגען. אויב מיר איבערחזרן דעם אַ פּאָר מער מאל, מיר רע געגאנגען צו האָבן נאָר 1 ביגער בוים, אַלע פון ​​וועמענס עדזשאַז זענען מיטן נאָמען מיט 0ס און 1ס. זאל ס טאָן עס ווידער. 35% איז אַז בוים ס וואָרצל. 20% און 45%, אַזוי מיר רע געגאנגען צו צונויפגיסן דעם 35% און 20%. איצט מיר האָבן דעם בוים דאָ. מיר לייגן יענע צוזאַמען, מיר האָבן 55%. איצט דאָרט ס נאָר 2 ביימער אין די וואַלד. מיר טאָן דעם 1 לעצט צייַט, און אַלעווייַ מאַטאַמאַטיקלי אַלע די פריקוואַנסיז לייגן אַרויף ווייַל זיי זאָל זינט מיר קאַמפּיוטיד זיי פון דעם באַקומען-גיין צו לייגן אַרויף צו 100%. און איצט מיר האָבן 1 בוים. אַזוי דאָס איז אַ הופפמאַן קאָודינג בוים. עס מין פון גענומען אַ בשעת צו באַקומען דאָרט ווערבאַלי, אָבער דער פאַקט איז מיט אַ פֿאַר שלייף אָדער מיט אַ רעקורסיווע פונקציאָנירן איר קען בויען דעם זאַך אַרויף שיין שנעל. אַזוי איצט מיר האָבן 1 נייַ נאָדע, און אַלע פון ​​די ינער נאָודז האָבן שוין מאַללאָק'ד, מאַשמאָעס, צוזאמען דעם וועג. אַזוי איצט בייַ דער שפּיץ פון דעם בוים מיר האָבן 100%, אָבער איצט באַמערקן מיר האָבן אַ דרך פון דעם נייַ גרויס-גרויס-גרויס-גראַמפּעראַנט צו אַלע פון ​​די גרויס-גרויס-גרויס-אייניקלעך אַלע די וועג בייַ די דנאָ, צו אַלע פון ​​די בלעטער. וואָס מיר רע געגאנגען צו טאָן איצט איז פאָרשלאָגן אַז אין סדר צו פאָרשטעלן די בריוו E, מיר וועלן פשוט נוצן די נומער 1. פארוואס? ווייַל אויב מיר דורך דעם בוים פון די לעצט וואָרצל אַראָפּ צו דער בלאַט באקאנט ווי E, מיר נאָכגיין נאָר 1 ברעג, די רעכט ברעג, און אַז ס מיטן נאָמען פון קורס אין שפּיץ רעכט 1. אַזוי די ימפּלאַקיישאַן דאָ פֿאַר הופפמאַן איז געווען אַז E ס קאָדירונג אין ביינערי וועט נאָר זייַן 1. און אַז ס 'שיין פאַרשילטן עפעקטיוו. קענען ניט טאַקע באַקומען קיין קלענערער ווי אַז. דורך קאַנטראַסט, א איז געגאנגען צו זייַן רעפּריזענטיד, אויב איר נאָכפאָלגן די לאָגיק, דורך וואָס מוסטער פון ביטן אַנשטאָט? 01. אַזוי צו באַקומען צו א, מיר אָנהייבן בייַ די וואָרצל און מיר גיין לינקס און דעמאָלט מיר גיין רעכט, וואָס מיטל מיר נאכגעגאנגען אַ 0 און דעמאָלט אַ 1. אַזוי מיר וועלן פאָרשטעלן די בריוו א מיט דעם מוסטער 0 און 1. און איצט באַמערקן מיר שוין האָבן אַ פאַרמאָג פון באַלדיק דעקאָדאַביליטי אַז מיר האבן ניט האָבן אין מאָרס קאָד. אפילו כאָטש ביידע פון ​​די פּאַטערנז זענען שיין קורץ - E איז 1 ביסל, א איז 2 ביטן - באַמערקן אַז זיי קענען נישט ווערן צעמישט איינער אָדער די אנדערע, ווייַל אויב איר זען אַ 1 עס ס גאַט צו זייַן אַ E, אויב איר זען אַ 0 דעמאָלט אַ 1 עס ס 'דאָך גאַט צו זייַן אַ יי סימילאַרלי, וואָס ס ד? 001. וואָס איז C? 0001. און וואָס איז בייטן? 0000. און ווידער, ווייַל אַלע פון ​​די אותיות מיר זאָרגן וועגן זענען בייַ דער בלעטער און קיינער פון זיי זענען מין פון מידאַלמען אין די דרך פון וואָרצל צו בלאַט, דאָרט ס קיין ריזיקירן פון קאָנפלאַטינג 2 אותיות 'אַנדערש ענקאָדינגס ווייַל אַלע פון ​​די ביסל פּאַטערנז זענען דיטערמאַניסטיק. 0000 וועט שטענדיק זייַן בי עס ס קיין נאָדע ערגעץ אין צווישן אַז איר זאל צעטומלען 1 בריוו פֿאַר די אנדערע. אַזוי וואָס ס די ימפּלאַקיישאַן דאָ? די מערסט פאָלקס בריוו - אין דעם פאַל E - האט גאַטאַן די שאָרטיסט קאָדירונג, א האט גאַטאַן דער ווייַטער שאָרטיסט קאָדירונג, און ב, און C, וואָס מיר שוין געוואוסט פון דעם באַקומען-גיין זענען מין פון דער מינדסטער פאָלקס בייַ 10% אָפטקייַט יעדער, זיי האָבן גאַטאַן די לאָנגעסט קאָדירונג. און אַזוי וואָס דעם מיטל איצט איז אַז אויב איר ווילן צו שיקן אַ אָנזאָג אַז ס קאַמפּרעסט איבער די אינטערנעט אָדער אין אַ Email אָדער די ווי, אלא ווי ניצן נאָרמאַל אַסקי, איר קענען שיקן אַ הופפמאַן קאָדעד אָנזאָג ווערביי אויב איר ווילן צו שיקן דעם בריוו E, איר שיקן נאָר אַ איין ביסל. אויב איר ווילן צו שיקן אַ א, איר שיקן 2 ביטן, 01, אַנשטאָט פון שיקן 8 ביטן נאכגעגאנגען דורך אן אנדער 8 ביטן נאכגעגאנגען דורך אן אנדער 8 ביטן און אַזוי אַרויס. אבער עס איז אַ גאַטשאַ דאָ. עס ס נישט גענוג צו נאָר בויען דעם בוים און דעמאָלט אָנהייב שיקן פון אַליס צו באָב די קירצער ביסל מוסטער, שטריקל פון אַסקי, ווייַל אַליס אויך האט צו מיטטיילן באָב פון וואָס אויב באָב איז געגאנגען צו זייַן ביכולת צו לייענען איר קאַמפּרעסט אָנזאָג? [ינאָדאַבאַל תּלמיד ענטפער] >> וואָס ס וואָס? [ינאָדאַבאַל תּלמיד ענטפער] >> פון וואָס די בוים איז. אָדער אַפֿילו מער ספּאַסיפיקלי, וואָס יענע ענקאָדינגס ביסט, ספּעציעל זינט בעשאַס דעם געשיכטע מיר געמאכט אַ משפט רופן בייַ איין פונט. געדענקען אַז מיר האבן צו קלייַבן אַרביטרעראַלי צווישן די 2 פאַרשידענע 20% נאָודז? אַזוי עס ס 'נישט דער פאַל אַז באָב, די באַקומער, קענען נאָר רעקאָנסטרוירן דעם בוים אויף זייַן אייגן ווייַל אפֿשר ער וועט שאַפֿן די בוים אלץ אַזוי אַ ביסל דיפערענטלי פון אַליס. דערצו, באָב טוט נישט אַפֿילו וויסן וואָס דער אָריגינעל אָנזאָג איז ווייַל דער בלויז זאַך אַליס איז שיקט אים, פון קורס, איז די קאַמפּרעסט אָנזאָג. אַזוי די כאַפּן מיט קאַמפּרעשאַן ווי דעם איז וואָס, יאָ, אַליס קענען ראַטעווען אַ גאַנץ פּלאַץ פון ביטן דורך שיקן 1 פֿאַר E און 01 פֿאַר א און אַזוי אַרויס, אָבער זי אויך האט צו מיטטיילן באָב וואָס די מאַפּינג איז צווישן אותיות און ביטן ווייַל זיי קענען נישט קלאר פאַרלאָזנ אויף נאָר אַסקי ענימאָר אויב מיר ניטאָ ניט ניצן אַסקי. אַזוי זי קענען אָדער שיקן אים די בוים עפעס - שרייַבן עס אַראָפּ, קראָם עס ווי ביינערי דאַטן אָדער עפּעס ווי אַז - אָדער נאָר שיקן אים אַ ביסל אָפּנאַרן בויגן, אַ עקססעל טעקע, וואָס ווייזט די מאַפּפּינגס. אַזוי די יפעקטיוונאַס פון קאַמפּרעשאַן טאַקע אַסומז אַז די אַרטיקלען וואָס איר ניטאָ שיקן ביסט שיין גרויס, אין מינדסטער מיטל-סייזד, ווייַל אויב איר ניטאָ שיקט אַ סופּער קורץ אָנזאָג, אויב איר נאָר ווילן צו שיקן דעם אָנזאָג שלעכט, וואָס כאַפּאַנז צו זייַן אַ וואָרט מיר קענען רעגע דאָ, ב-א-ד, איר ניטאָ מיסטאָמע געגאנגען צו נוצן ווייניקערע ביטן, אָבער די כאַפּן איז אויב איר אויך האָבן צו מיטטיילן באָב וואָס דער בוים איז אָדער וואָס יענע ענקאָדינגס זענען, איר ניטאָ געגאנגען צו מיסטאָמע אַוטוויי אַלע פון ​​די סייווינגז פון בעת ​​קאַמפּרעסט זאכן צו אָנהייבן מיט. אַזוי עס קענען פאקטיש זייַן די פאַל אַז אויב איר פּרובירן קאַמפּרעסינג אַפֿילו מיט עפּעס ווי פאַרשלעסלען אָדער טעקע פֿאָרמאַטירונגען איר זאל זייַן באַקאַנט מיט - שיין קליין טעקעס, אַפֿילו ליידיק טעקעס - מאל יענע טעקעס זאל באַקומען ביגער און ניט קלענערער. אבער ריאַליסטיקלי, אַז כאַפּאַנז בלויז פֿאַר קליין טעקע סיזעס, אַזוי עס ס ניט געגאנגען צו מאַכן אַ גיגאבייט טעקע זייַן 2 גיגאבייט; מיר רע טאַקע גערעדט ביטעס אָדער נאָר אַ פּאָר קילאבייט. עטלעכע מגילה ווי פאַרשלעסלען ביסט קלוג גענוג צו פאַרשטיין אַז, "איר רע געגאנגען צו פאַרברענגען מער ביטן קאַמפּרעסינג דעם." "זאל מיר ניט אַרן קאַמפּרעסינג עס פֿאַר איר אין אַלע". אַזוי דאָס איז נאָר 1 וועג דעמאָלט פון קאַמפּרעסינג טעקסט פֿאָרמאַט. מיר קען מאַכשער עפּעס ווי דעם אין סי פֿאַר בייַשפּיל, דאָ איז ווי מיר זאל פאָרשטעלן אַ נאָדע אין דעם בוים ווו מיר האָבן אַ טשאַר פֿאַר די סימבאָל, אַ פלאָוטינג ווערט פֿאַר די אָפטקייַט, און ווי מיר ווע געזען מיט אונדזער אנדערע דאַטן סטראַקטשערז, 2 פּוינטערז, 1 צו די לינקס קינד, 1 צו די רעכט, אָדער פון וואָס קענען זייַן נאַל, אָבער אויב נישט, עס רעפערס צו אַ לינקס קינד און אַ רעכט קינד. אַזוי דעם דעמאָלט איז הופפמאַן קאָודינג, און עס ס 1 וועג אַז איר קענען גיין וועגן קאַמפּרעסינג אינפֿאָרמאַציע, און עס ס אַוואַדע איינער פון די מערסט גרינג צו מאַכשער אין דעם קאָנטעקסט פון, זאָגן, לעצטע וואָך ס דאַטן סטראַקטשערז, כאָטש אַפֿילו מער סאַפיסטאַקייטיד אַלגערידאַמז עקסיסטירן וואָס קענען טאָן אַפֿילו מער סאַפיסטאַקייטיד מיוטיישאַנז פון דיין דאַטן. קיין שאלות דעמאָלט אויף ביימער, ביינערי ביימער, אָדער קאַמפּרעשאַן פון טעקסט? [תּלמיד] איז דאָרט עטלעכע צוויידייַטיקייַט, ווי אויב [ינאָדאַבאַל] שפּאַלטן אין 01, דעמאָלט 011 וואָלט זייַן אַמביגיואַס, רעכט? [ינאָדאַבאַל] >> גוט קשיא. צוויידייַטיקייַט. זאל מיר סאַמערייז דורך ריפערינג צו דעם בילד דאָ. ווייַל די אותיות איר זענט קאַמפּרעסינג, די רעפּראַזאַנטיישאַנז פון, דורך דעפֿיניציע פון ​​דעם אַלגערידאַם שטענדיק בלייַבן די בלעטער, איר וועט קיינמאָל אַקסאַדענאַלי נוצן די זעלבע מוסטער פון ביטן פֿאַר דעם פּרעפיקס פון קייפל אותיות. אַזוי אין אנדערע ווערטער, איר ניטאָ זארגן וועגן, עס סאָונדס ווי, אַ צוויידייַטיקייַט ערייזינג ווערביי 001 זאל זייַן דער אָנהייב פון בייטן אָדער די אָנהייב פון C אָדער עפּעס ווי אַז. אבער וואָס קענען ניט זייַן דער פאַל ווייַל באַמערקן אַז אַלע פון ​​די אותיות פון דעם אלפאבעט מיר רע קאָדירונג ביסט אין די בלעטער. די צוויידייַטיקייַט קענען נאָר אויפשטיין, ווי אין דעם פאַל פון מאָרס קאָד, אויב, פֿאַר בייַשפּיל, C געווען ערגעץ צוזאמען די דרך פון די וואָרצל צו בי [תּלמיד] רעכט. אַזוי אין אַז פאַל, זאָגן א האט 2 בלעטער. >> זאָגן א האט - זאָגן אַז ווידער. [תּלמיד] זאָגן א האט 2 בלעטער, ף און ג, און דעמאָלט ג - >> אָוקיי. אבער עס קענען נישט. א זיך קען נישט האָבן בלעטער ף און ג ווייַל יענע אותיות ף און ג וואָלט זיך זייַן בלעטער ערגעץ צו די לינקס פון בייטן אָדער די רעכט פון י אַזוי דורך דעפֿיניציע, זיי מוזן זייַן בלעטער. אַנדערש, איר ניטאָ פּונקט רעכט, מיר ווע ניט סאַלווד די פּראָבלעם אַז מאָרס קאָד פנימער. גוט קשיא. אנדערע שאלות? אַלע רעכט. דעם געדאנק פון ביטן, עס טורנס אויס מיר ווע האט מאַכט אַלע צוזאמען אַז מיר ווע נישט פאקטיש געניצט ווען עס געקומען צו מאַניפּיאַלייטינג די 0ס און 1ס. מיר געפרעגט וועגן דעם אויף איינער פון די ערליאַסט פּראָבלעם שטעלט, ניימלי, ווי טאָן איר גיין וועגן קאַנווערטינג ופּפּערקאַסע צו לאָווערקאַסע אָדער וויצע ווערסאַ? אָדער מער קאַנקריטלי, איינער פון יענע ערשטער פּסעץ געבעטן ווי פילע ביטן טאָן איר פאקטיש האָבן צו פליפּ אין סדר צו טוישן א צו לאָווערקאַסע אַ אָדער וויצע ווערסאַ? דאָ ס אַ שנעל דערמאָנונג פון וואָס 65 און 97 קוקן ווי אין ביינערי. און אַפֿילו אויב וואָס קשיא האט סאָרט פון פיידאַד אין דיין זכּרון, איר קענען זען ווידער דאָ אַז ווי פילע ביטן דאַרפֿן צו זייַן פליפּט צו טוישן הויפּטשטאָט א צו לאָווערקאַסע אַ? נאָר 1. זיי נאָר אַנדערש אין 1 אָרט, די דריט ביסל פון די לינקס. וועראַז א האט אַ 010, ביסל אַ האט אַ 011. אַזוי עפעס מיר דאַרפֿן צו נאָר זייַן ביכולת צו פליפּ אַז ביסל, און מיר קענען דעריבער קאַפּאַטאַלייז אָדער לאָווערקאַסע אותיות. מיר ווע געטאן דעם אין די פאַרגאַנגענהייַט דורך פאקטיש ניצן אויב טנאָים און קאָנטראָלירונג אויב דער בריוו איז צווישן הויפּטשטאָט א און קאַפּיטאַל ז, דעמאָלט אַוטפּוץ ווי א - "אַ" + 26 אָדער עפּעס ווי אַז. איר מיסטאָמע האט אַ אַריטמעטיק טוישן צו די אותיות פון דעם אלפאבעט. אבער וואָס אויב מיר קען נאָר פליפּ אַז איין ביסל? ווי קען איר גיין וועגן גענומען 1 ביטע ס ווערט פון ביטן, אַזוי 8 ביטן ווי 01,000,001 און 01,100,001? אויב איר האט יענע פּאַטערנז פון ביטן, ווי קענען מיר גיין וועגן טשאַנגינג נאָר 1 פון זיי? וואָס אויב מיר באַקענען אין געל דאָ דעם אנדערע מוסטער פון ביטן? אויב איך מאַכן די גאנצע געל שטריקל 0ס אַחוץ פֿאַר די 1 ביסל וואָס איך ווילן צו טוישן און דעמאָלט איך פאָרשטעלן אַ נייַ אָפּעראַטאָר באקאנט ווי אַ ביטוויסע אָפּעראַטאָר - ביטוויסע אין די געפיל אַז עס אַפּערייץ אויף יחיד ביטן, נישט אויף אַ גאנצע ביטע אָדער 4 ביטעס אַלע אין אַמאָל. דאס ווערטיקאַל באַר דאָרט אין געל סאַגדזשעס אַז וואָס אויב מיר נעמען די פאַרטרעטונג פון הויפּטשטאָט א און ביטוויסע "אָדער" עס מיט דער געל סיקוואַנס פון ביטן? אין אנדערע ווערטער, טראַכטן צוריק צו אונדזער דיסקוסיע פון ​​בוליאַן אויסדרוקן אין סקראַטטש און דעמאָלט אין סי טאן אַ בוליאַן אָדער מיטל אַז צו זייַן אמת, אָדער דער ערשטער זאַך האט צו זייַן אמת אָדער די רגע זאַך האט צו זייַן אמת אָדער זיי ביידע האָבן צו זייַן אמת, און דעריבער די ריזאַלטינג רעזולטאַט איז זיך אמת. אין דעם פאַל דאָ, וואָס טאָן מיר באַקומען אויב מיר נעמען 0 "אָדער" עד מיט 0? פאַלש אָדער פאַלש? עס ס נאָך פאַלש, אַזוי די לאָווערקאַסע אַ בלייבט ווי דערוואַרט. וואָס אויב אַנשטאָט מיר טאָן 1 אָדער 0? דאס איצט בלייבט 1, אָבער באַמערקן וואָס ס וועגן צו פּאַסירן דאָ. אויב מיר אָנהייבן מיט הויפּטשטאָט א און מיר פאָרזעצן צו "אָדער" זייַן יחיד ביטן ווי מיר רע טאן דאָ, 0 אָדער די געל 1 גיט אונדז וואָס אַראָפּ דאָ? דאס גיט אונדז 1. אין פאַקט, רעכן מיר האט ניט וויסן וואָס די ופּפּערקאַסע ווערסיע פון ​​ביסל אַ פאקטיש איז געווען. זאל ס גיין טאָן דעם. זאל מיר באַוועגן דעם צוריק איבער דאָ. זאל ס טאָן דעם ווידער. 0 אָדער 0 גיט מיר 0. 1 אָדער 0 גיט מיר 1. 0 אָדער 1 גיט מיר 1. 0 אָדער 0 גיט מיר 0. דער ווייַטער איינער איז 0, דער ווייַטער איינער איז 0, דער ווייַטער איינער איז 0. 1 אָדער 0 גיט מיר 1. און אַזוי אַפֿילו אויב מיר האבן נישט וויסן אין שטייַגן וואָס לאָווערקאַסע אַ איז געווען, פשוט דורך "אָדער" ינג א מיט דעם מוסטער פון ביטן אַז מיר ווע דערלאנגט דאָ אין געל, איר קענען לאָווערקאַסע אַ קאַפּיטאַל א דורך פליפּינג אַז ביסל. מיר געניצט דעם אויסדרוק וואָכן צוריק: פליפּינג אַ ביסל. ווי טאָן איר פאקטיש טאָן אַז פּראָגראַממאַטיקאַללי? איר נוצן וואָס ס בכלל גערופן אַ מאַסקע, אַ סיקוואַנס פון ביטן, אַז אין דעם פאַל נאָר אַזוי כאַפּאַנז צו קוקן ווי דעם נומער דאָ, און דאַן איר "אָדער" עס צוזאַמען ניצן דעם נייַ C אָפּעראַטאָר, ניט | |, איר נוצן אַ איין | און איר וואָלט פאקטיש באַקומען דעם ענטפער דאָ ווייַל וואָס? דאס איז די 1ס אָרט, 2ס אָרט, 4ס, 8ס, 16s, 32s. אַזוי עס טורנס אויס אַז אויב איר נעמען אַ קאַפּיטאַל בריוו א און ביטוויסע "אָדער" עס מיט דער ינטעגער 32, ווייַל די ינטעגער 32 ווען איר קוק בייַ אים ווי ביטן קוקט ווי דעם, אַז מיטל איר קענען פליפּ די ביסל וואָס איר פאקטיש ווילן. און סימילאַרלי - און מיר וועט קוקן אין קאָד אין נאָר אַ מאָמענט - רעכן מיר וועלן צו גיין די אנדערע ריכטונג. ווי טאָן איר גיין פון לאָווערקאַסע אַ צו הויפּטשטאָט א? וואָס ביסל דאַרף צו טוישן? עס ס די זעלבע איינער. מיר ווילן צו טוישן וואָס דריט ביסל פון אַ 1 צו אַ 0. און ווי זאל מיר גיין וועגן טאן דעם? ווי טאָן מיר דרייַ אַוועק אַ ביסל? מיט וואָס מוסטער פון ביטן קען מיר דרייַ אַוועק אַ ביסל? וואָס אויב מיר סאָרט פון יבערקערן די מאַסקע? וועראַז איידער מיר געמאכט די גאנצע געל מאַסקע 0ס אַחוץ פֿאַר די 1 ביסל מיר געוואלט צו ווענדן אויף, וואָס אויב דאָס צייַט מיר מאַכן די גאנצע מאַסקע 1ס אַחוץ פֿאַר די ביסל וואָס מיר ווילן צו קער אַוועק און דאַן נוצן וואָס אָפּעראַטאָר? וואָס אויב מיר "און" דאס? זאל ס נעמען אַ קוק. אויב מיר איצט פליפּ צו דעם, רעכן אַז ווידער איך מאַכן אַ מאַסקע אַז ס אַלע 1ס אַחוץ פֿאַר די 1 ביסל וואָס איך ווילן צו קער אַוועק און דעמאָלט אלא ווי "אָדער" די ווייַס נומערן אַרויף שפּיץ מיט די געל נומערן אַראָפּ דאָ, וואָס אויב איך אַנשטאָט "און" זיי צוזאַמען? עס ס גערופן אַ ביטוויסע און. לאַדזשיקלי, עס ס די זעלבע זאַך ווי אַ בוליאַן און. דאס גיט מיר 0 & 1 איז 0. אַזוי פאַלש און אמת איז פאַלש. אמת, און אמת איז אמת. און דאָ איז די מאַגיש: אמת און פאַלש איז איצט פאַלש, אַזוי מיר ווע פארקערט אַוועק אַז ביסל. און איצט די מנוחה פון די געשיכטע איז עפּעס סטרייטפאָרווערד. ווייַל די מנוחה פון די מאַסקע איז 1ס, עס טוט נישט ענין וואָס די נומערן זענען אין ווייַס. ווען איר "און" עפּעס מיט אמת, איר ניטאָ ניט געגאנגען צו טוישן זייַן ווערט. אויב עס איז אמת, עס וועט בלייַבן אמת. אויב עס איז פאַלש, עס וועט בלייַבן פאַלש. אבער די מאַגיש כאַפּאַנז ווען איר נעמען עפּעס וואָס איז געווען אמת און איר דעמאָלט "און" עס מיט פאַלש. דאס האט דער ווירקונג פון אויסגעדרייט אַוועק אַז ביסל. אַזוי אַ קליין קריפּטיק דאָרט. זאל ס 'פאקטיש קוק אין עטלעכע קאָד, וואָס זאל פאקטיש קוקן אַפֿילו מער קריפּטיק, אָבער לאָזן ס נעמען אַ קוק דאָ בייַ טאָלאָווער. אויב איך קוק בייַ טאָלאָווער, געגאנגען פון הויפּטשטאָט א צו לאָווערקאַסע אַ, לאָזן ס זען ווי מיר זאל מאַכשער דעם פּראָגראַם. דאָ ס הויפּט, און עס ס נישט גענומען קיין באַפֿעלן-שורה טענות. איך בין דיקלערינג אַ כאַראַקטער C פֿאַר די בריוו וואָס דער באַניצער איז געגאנגען צו טיפּ ין איך דעמאָלט נוצן אַ באַקאַנט טאָן בשעת שלייף צו נאָר מאַכן זיכער אַז דער באַניצער באשטימט גיט מיר אַ קאַפּיטאַל א אָדער בייטן אָדער סי .. ז, אַזוי זיי געבן מיר עפּעס צווישן א און ז און איצט וואָס בין איך טאן דאָ? איך בין "אָדער" ינג דעם מיט 0קס20, אָבער אַז ס 'פאקטיש די זעלבע ווי - און מיר וועט קומען צוריק צו דעם אין אַ מאָמענט - 32. אַזוי ווידער, 32 איז דעם מוסטער פון ביטן דאָ. פארוואס טאָן מיר וויסן דעם? נאָר טראַכטן צוריק צו וואָך 0. דאס איז די 1ס אָרט, 2ס אָרט, 4ס, 8ס, 16s, 32s אָרט. אַזוי דעם געל נומער כאַפּאַנז צו זייַן 32. איך קענען דעריבער נעמען אַ בריוו ווי די טשאַר דאָ, ביטוויסע "אָדער" עס מיט ממש די נומער 32, און וואָס טאָן איך באַקומען צוריק? די לאָווערקאַסע ווערסיע פון ​​וואָס טשאַר. א מאָמענט צוריק, כאָטש, איך אויסגעדריקט דעם אין אַ אַנדערש באַזע נאָוטיישאַן. וואָס האט דאָס פאָרשטעלן? >> [תּלמיד] העקסאַדעסימאַל. [מאַלאַן] דאס כאַפּאַנז צו פאָרשטעלן העקסאַדעסימאַל. מיר האָבן נישט גערעדט וועגן העקסאַדעסימאַל אַלע אַז פיל, אָבער עס ס 'פאקטיש באַקוועם אין פאלן ווי דעם. אפילו כאָטש עס קוקט מער קאָמפּליצירט און אַפֿילו כאָטש עס קוקט ווי 20 און נישט 32, עס טורנס אויס אַז העקסאַדעסימאַל איז פאקטיש סופּער באַקוועם נאָוטיישאַן ווייַל אין העקסאַדעסימאַל יעדער ציפֿער נאָך די 0קס - און דעם מיטל גאָרנישט; דאָס איז נאָר מענטש קאַנווענשאַן וואָס זאגט דאָ קומט אַ העקסאַדעסימאַל נומער - יעדער פון די דידזשאַץ, די 2 און דעריבער די 0, זיך קענען זייַן רעפּריזענטיד מיט פּונקט 4 ביטן. אַזוי אויב מיר טאָן דעם, לאָזן מיר עפענען זיך אַ טעקסט רעדאַקטאָר דאָ - טשודנע אַוטאָקאָמפּלעטע - אויב מיר טאָן אַ ביסל טעקסט רעדאַקטאָר דאָ, די נומער 0קס20 מיטל דאָ איז 4 ביטן, דאָ ס אנדערן 4 ביטן. זאל ס טאָן די ריגהטמאָסט 4 ביטן ערשטער. 0 ווען רעפּריזענטיד מיט 4 ביטן איז וואָס? יבער גרינג. נאָר אַלע 0ס. אַזוי 4 ביטן ווי 0ס. ווי טאָן איר פאָרשטעלן 2? עס ס שוין אַ בשעת זינט מיר האבן דעם, אָבער עס ס '0100. אַזוי דאָס איז די 1ס אָרט, דאָס איז די 2ס אָרט, און דאַן עס טוט נישט ענין וואָס די אנדערע ערטער זענען. אין אנדערע ווערטער, אין העקסאַדעסימאַל איר זאל זאָגן 0קס20, אָבער אויב איר דעמאָלט טראַכטן וועגן וואָס איז די 2 און ווי איז עס רעפּריזענטיד אין ביינערי, וואָס איז די 0 און ווי איז עס רעפּריזענטיד אין ביינערי, די ענטפֿערס צו יענע שאלות זענען דעם און דעם, ריספּעקטיוולי. אַזוי 0קס20 כאַפּאַנז צו פאָרשטעלן דעם מוסטער פון 8 ביטן, וואָס איז דווקא די מאַסקע וואָס מיר געוואלט. אַזוי דאָס איז פֿאַר די מאָמענט נאָר אַן אינטעלעקטואַל געניטונג, אָבער דער פאַקט איז אין קאָד עס ס טיפּיקלי מער פּראָסט צו שרייַבן קאַנסטאַנץ ווי דעם אין העקסאַדעסימאַל ווייַל דעמאָלט די פּראָגראַמיסט קענען לעפיערעך לייכט, אַפֿילו אויב עס ריקווייערז עטלעכע פּאַפּיר און בלייַער, רעכענען אויס וואָס אַז מוסטער פון ביטן איז ווייַל איר קענען ניט נאָר עקספּרעסס 0ס און 1ס טיפּיקלי אין קאָד. איר קענען ניט גיין 00,010 און אַזוי אַרויס. איר האָבן צו קלייַבן דעצימאַל אָדער העקסאַדעסימאַל אָדער אָקטאַל אָדער אנדערע נאָוטיישאַנז. רובֿ מענטשן טענד צו קלייַבן העקסאַדעסימאַל פשוט אַזוי אַז יעדער ציפֿער רעפּראַזענץ 4 ביטן און איר קענען טאָן דעם שנעל מאַט. און איך וועט כוואַליע מיין האַנט בייַ טאָופּפּער, וואָס איז כּמעט די זעלבע; עס קוקט כּמעט יידעניקאַל. טאָופּפּער כאַפּאַנז צו נוצן נישט די אָדער אָפּעראַטאָר אָבער אלא דעם באָכער און דף. וואָס טוט דף פאָרשטעלן? דף? ווער עס יז? >> [תּלמיד] 255. 255? ניט 255. וואָס וואָלט זייַן פף. מיר וועט לאָזן דעם איין ווי אַ קליין געניטונג. אבער אויב איר גיין פון 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 און דעמאָלט וואָס קומט נאָך 9? מיר רע מין פון אויס פון דעצימאַל דידזשאַץ, אָבער אין העקסאַדעסימאַל וואָס קומט נאָך 9? [תּלמיד] אַ. >> אזוי אַ, ב, C, ד. איר קענען רעכענען אויס פון דאָרט וואָס מוסטער פון ביטן די פאקטיש רעפּראַזענץ. און אויב מיר טאָן די מאַט, מיר וועט זען אַז די מאַסקע איר סוף אַרויף געטינג צוריק איז יידעניקאַל צו דעם. דאס איז F, אַלע 1ס, און דאָס איז די. אַזוי דף רעפּראַזענץ אַז מאַסקע. אַלע רעכט. און לאַסטלי, נישט צו מאַכן דאס געזונט סופּער, סופּער טעכניש, אָבער רעכן מיר געוואלט צו שרייַבן אַ פּראָגראַם וואָס טוט דאָס. זאל מיר גיין פאָרויס און מאַכן ביינערי, וואָס איז אַ פּראָגראַם אין אַ טעקע גערופן בינאַרי.ק. און איצט לאָזן מיר לויפן ביינערי און געבן מיר אַ ניט-נעגאַטיוו ינטעגער. זאל ס אָנהייבן גרינג און דרוקן אין 0. דאס איצט איז אַ פּראָגראַם וואָס פּרינץ אויס אַ ינטעגער אין זייַן ביינערי פאַרטרעטונג. אַזוי אויב איך שפּילן דעם שפּיל ווידער און דרוקן אין נאָר 1, איך זאָל באַקומען אַ 32-ביסל פאַרטרעטונג פון 1. אויב איך טאָן דעם ווידער מיט 2, איך זאָל באַקומען וואָס. אויב איך טאָן 7, איך זאָל באַקומען אַ ביסל 1ס אין די סוף און אַזוי אַרויס. עס טורנס אויס איך דערמאָנען דעם ווייַל מיט ביטוויסע אַפּעריישאַנז איר קענען פאקטיש טאָן 1 אנדערע זאַך ווי גוט. איר קענען מאַכן די מאַסקס דינאַמיקאַללי. נעמען אַ קוק אין דעם 1 לעצט בייַשפּיל ינוואַלווינג ביטוויסע אַפּעריישאַנז. דאָ איז דער ערשטער טייל פון דעם קאָד, פּינטלעך דער באַניצער פֿאַר אַ נומער, און עס ינסיס אַז איר געבן מיר אַ ניט-נעגאַטיוו ינטעגער. אַזוי אַז ס סאָרט פון אַלט שולע שטאָפּן. אבער דאָ איז עפּעס אַז ס מין פון טשיקאַווע. ווי טאָן איך גיין וועגן דרוקן אַ נומער אין ביינערי? איך ערשטער יטעראַטע פון ​​וואָס צו וואָס? וואָס ס די גרייס פון אַ ינט טיפּיקלי, בייַ מינדסטער אין די אַפּפּליאַנסע? >> [תּלמיד] 4. עס ס 4. אַזוי 4 * 8 איז 32-1 איז 31. אַזוי אויב איך בין סטאַרטינג צו ציילן פון 31, אַז רעפּראַזענץ, עס טורנס אויס, נאָר קאַנסעפּטשואַלי, דעם 31 ביסל אָדער די העכסטע סדר ביסל, וואָס איז דעם באָכער איבער דאָ, וועראַז דעם איז געגאנגען צו זייַן ביסל 0. אַזוי דאָס איז ביסל 01 ... ביסל 31. אַזוי וואָס איז דאָס קאָד טאן? נאָטיץ דאָס פֿאַר שלייף, אַפֿילו כאָטש עס קוקט קריפּטיק, איז נאָר יטעראַטינג פון 31 אַראָפּ צו 0. אַז ס עס. אַזוי די טשיקאַווע טייל איצט מוזן זייַן אין די 5 שורות דאָ. נאָטיץ אַז אין דעם שורה איך בין דיקלערינג אַ בייַטעוודיק גערופן מאַסקע צו זייַן קאָנסיסטענט מיט אונדזער געשיכטע פון ​​די געל נומערן. און דעמאָלט וואָס איז דאָס טאן? דאס איז אן אנדער ביטוויסע אָפּעראַטאָר מיר ווע ניט געזען פריער, רובֿ מסתּמא. עס ס די לינקס יבעררוק אָפּעראַטאָר. דאס אָפּעראַטאָר טוט דאָס. דאָ איז דער נומער 1, און אויב איר טאָן איך לינקס שיפט, לינקס שיפט, וואָס טאָן איר טראַכטן וואָס האט די ווירקונג פון טאן צו אַז יחיד 1? ממש שיפטינג עס איבער. אַזוי אויב דער נומער 1 איז וואָס איר האָבן אויף די לינקס און איר אָנהייב דורך יניטיאַליזינג איך צו 31, וואָס איז אַז געגאנגען צו טאָן? עס ס געגאנגען צו נעמען דעם נומער 1 און יבעררוק עס 31 ערטער איבער דאָ. און ווייַל דאָרט ס 'דאָך קיין אנדערע דידזשאַץ הינטער אים, יענע וועלן דורך פעליקייַט זייַן ריפּלייסט מיט 0ס. אַזוי איר וועט אָנהייבן אויס מיט די נומער 1, וואָס פון קורס קוקט ווי דעם - און לאָזן מיר ציען עס איבער דאָ אין די צענטער. און דעמאָלט ווי איר שיפט זאכן צו די לינקס, דעם באָכער יסענשאַלי גייט דעם וועג. אבער ווי באַלד ווי איר טאָן אַז, אַ 0 געץ אָנגעפילט ין אויב איר שיפט עס אַ צווייט מאָל, עס גייט דעם וועג און אן אנדער 0 געץ אָנגעפילט ין איר שיפט עס ווידער און דעמאָלט אן אנדער 0 געץ אָנגעפילט ין אַזוי אויב איר טאָן דעם זאַך פון 1 << איך 31 ערטער, איר סוף אַרויף געטינג אַ מאַסקע וואָס איז 32 אותיות לאַנג, די לעפטמאָסט איינער פון וואָס איז אַ 1, אַלע פון ​​די מנוחה פון וואָס זענען אַ 0. און עס טורנס אויס, ווי אַ באַזונדער, שיפטינג אַ נומער צו די לינקס ווי דעם אויך קאָוינסידענאַלי, און מאל קאַנוויניאַנטלי, האט דער ווירקונג פון טאן וואָס צו אַז נומער? >> [תּלמיד] דאָובלינג עס. דאַבלינג עס ווייַל יעדער פון די שפאלטן - די 1ס אָרט, 2ס אָרט, 4ס אָרט, 8ס אָרט, 16s אָרט - דער אַלע דאַבלינג ווי איר גיין צו די לינקס. אָדער אלא, ווען איר שיפט די 1ס איר ניטאָ געגאנגען צו סוף אַרויף דאַבלינג די ווערט פון די נומער. איר קענען סוף אַרויף טאן טשיקאַווע טראַנספערמיישאַנז פון דידזשאַץ דורך שיפטינג אַלץ איבער אין דעם וועג דורך כוחות פון 2. אַזוי ווי טוט דאָס אַרבעט? דאס דאַן גיט מיר אַ מאַסקע אַז ס אַלע 0ס חוץ פֿאַר אַ 1 אין דווקא דעם אָרט איך ווילן עס, און דאַן דעם אויסדרוק, וואָס איז סטאָלען פון טאָופּפּער.ק, איז פשוט זאגן נעמען די נומער N אַז דער באַניצער טייפּט אין, "און" עס מיט וואָס מאַסקע, און וואָס זענען איר געגאנגען צו באַקומען? איר רע געגאנגען צו באַקומען אַ 1 אויב דאָרט ס אַ 1 אין אַז מאַסקט אָרט, אָדער איר 'רע געגאנגען צו באַקומען אַ 0 אויב דאָרט ס נישט. און אַזוי אַלע דעם פּראָגראַם טוט יפעקטיוולי איז עס האט אַ שלייף, און עס קריייץ אַ מאַסקע מיט אַ 1 איבער דאָ, דעמאָלט אַ 1 איבער דאָ, דעמאָלט אַ 1 איבער דאָ, און עס ניצט דעם ביטוויסע און קונץ צו זאָגן איז עס אַ 1 ביסל אין דעם באַניצער 'ס אַרייַנשרייַב דאָ? איז עס אַ 1 ביסל אין דעם באַניצער 'ס אַרייַנשרייַב דאָ? און אויב אַזוי, ממש דרוקן 1, אַנדערש דרוק 0. מיר רע טאן דאָס מיט ינץ נאָר ווייַל אַז ס וואָס מיר רע טאן 32 ביטן אַנשטאָט פון 8, אָבער וואָס מיר ווע באַקענענ דעריבער איז דאָס ביטוויסע און, דעם ביטוויסע אָדער, און דעם לינקס יבעררוק אָפּעראַטאָר, וואָס זענען נישט אָפֿט טעראַבלי נוציק, אָבער עס טורנס אויס זיי קענען זייַן. אין פאַקט, אויב איר געווען צו פאָרשטעלן עפּעס ווי אַ מענגע פון ​​באָאָלעאַנס נאָר צו פאָרשטעלן אמת אָדער פאַלש, רעכן איר געוואלט צו האַלטן שפּור פון צי אָדער נישט אַ צימער פול פון 300 סטודענטן איז פאָרשטעלן, איר קען דערקלערן אַ מענגע פון ​​נומער 300 פון טיפּ באָאָל אַזוי אַז איר באַקומען 300 באָאָלס, און איר קענען שטעלן יעדער צו אמת אויב עמעצער איז דאָ און פאַלש אַנדערש. פארוואס איז אַז פאַרטרעטונג אין וואָס דאַטע סטרוקטור באַטלאָניש? וואָס ס 'שלעכט וועגן דעם פּלאַן פון וואָס דאַטן סטרוקטור, אַ מענגע פון ​​300 באָאָלס? וואָס איז אַ באָאָל אין פאַקט ונטער דער קאַפּטער? דאס אויך איז עפּעס וואָס זאל נישט זייַן באַקאַנט. עס טורנס אויס עס איז ניט באָאָל. געדענקען מיר סאָרט פון באשאפן אַז מיט די קס50.ה טעקע, וואָס זיך כולל נאָרמאַל באָאָל. C איז מין פון שטום, כאָטש, ווען עס קומט צו באָאָל. עס ניצט 8 ביטן צו פאָרשטעלן יעדער באָאָל, וואָס איז גאָר ווייסטפאַל ווייַל דאָך, ווי פילע ביטן טאָן איר דאַרפֿן צו פאָרשטעלן אַ באָאָל? נאָר 1. אַזוי עס טורנס אויס אַז אויב איר איצט האָבן די פיייקייַט מיט ביטוויסע אָפּערייטערז צו מאַניפּולירן יחיד ביטן אַפֿילו אין אַ טשאַר, אַפֿילו אין אַ איין ביטע, עס טורנס אויס איר קען פאַרקלענערן די זכּרון פארלאנגט צו פאָרשטעלן עפּעס נאַריש ווי אַז באַדינגונג סטיילד דאַטן סטרוקטור דורך אַ פאַקטאָר פון 8. אַנשטאָט פון ניצן 8 ביטן צו פאָרשטעלן אמת אָדער פאַלש, איר קען ממש נוצן 1 דורך ניצן אַ איין ביטע פֿאַר יעדער 8 סטודענטן אין דער קלאַס און טאַגלינג 0-1 יחיד ביטן דורך ניצן די מינים פון נידעריק-מדרגה טריקס. אַז טאַקע שטעלן אַ סוף צו די ענערגיע. זענען דאָרט קיין פראגעס וועגן ביטוויסע אַפּעריישאַנז? יאָ. >> [תּלמיד] איז עס אַ ויסשליסיק אָדער אָפּעראַטאָר? יא. עס איז אַ ויסשליסיק אָדער אָפּעראַטאָר וואָס קוקט ווי דעם, ^, די מער סימבאָל, וואָס מיטל נאָר דער ערשטער זאַך אָדער די רגע זאַך קענען זייַן אַ 1 פֿאַר די רעזולטאַט צו זייַן אַ 1. עס איז אויך אַ ניט, ~, וואָס וועט לאָזן איר צו יבערקערן אַ 0 צו אַ 1 אָדער וויצע ווערסאַ ווי געזונט. און דאָרט ס אויך אַ רעכט יבעררוק אָפּעראַטאָר, >>, וואָס איז די פאַרקערט פון דער איינער מיר געזען. אַלע רעכט. זאל ס נעמען דאס איצט צו אַ העכער מדרגה. מיר אנגעהויבן דורך גערעדט וועגן טעקסט און דעמאָלט קאַמפּרעסינג עס און רעפּריזענטינג די טעקסט מיט ווייניקערע נומערן פון ביטן; מיר גערעדט אַ ביסל וועגן ווי מיר קענען איצט אָנהייבן מאַניפּיאַלייטינג זאכן אויף אַ ביטוויסע מדרגה. זאל ס איצט פארגרעסער צוריק אַרויף 10,000 פֿיס צו פאַרטרעטונג פון מער קאָמפּליצירט זאכן ווי גראַפיקס. דאָ מיר האָבן אַ פאָן פון דייַטשלאַנד, דאָ מיר האָבן איין פון פֿראַנקרייַך. דאס זאל זייַן רעפּריזענטיד אין טעקע פֿאָרמאַטירונגען איר זאל וויסן - גיפס, פֿאַר בייַשפּיל. אויב איר ווע אלץ געזען אַ בילד אויף די וועב אַז ענדס אין. גיף, דאָס איז אַ גראַפיקס ינטערטשאַנגע פֿאָרמאַט. די 2 פלאַגס דאָ סאָרט פון לייַען זיך צו קאַמפּרעשאַן פֿאַר וואָס טאָמער קלאָר ווי דער טאָג סיבה? >> [ינאָדאַבאַל תּלמיד ענטפער] עס ס אַ פּלאַץ פון יבערכאַזערונג, רעכט? אין סדר צו שיקן דייַטשלאַנד ס פאָן, טראַכטן פון דעם ווי זייַענדיק אַ בילד אויף דער עקראַן צוריק אין דיין סקראַטטש טעג. איר זאל צוריקרופן אַז דאָרט ס יחיד בילדצעלן אָדער דאַץ אַז קאַמפּאָוז אַ בילד. עס ס אַ גאנצע רודערן פון שוואַרץ דאַץ און אנדערן גאַנץ רודערן פון שוואַרץ דאַץ. עס ס אַ בינטל פון ראָוז פון שוואַרץ דאַץ אַז מיר קען זען אויב מיר טאַקע זומד אין, פיל ווי ווען מיר זומד אין אויף ראָב ס פּנים אין פאָטאָשאָפּ. ווי באַלד ווי מיר גאַט דיפּער און דיפּער און דיפּער אין די בילד, איר אנגעהויבן געזען די פּיקסעלאַטיאָן, אַלע פון ​​די סקווערז אַז פארפאסט זייַן אויג אין אַז פאַל. זעלביקער האַנדלען דאָ. אויב מיר זומד אין גאַנץ אַ ביסל, איר וואָלט זען יחיד דאַץ. נו, דאָס איז מין פון אַ וויסט פון ביטן. אויב 1/3 פון די פאָן איז שוואַרץ און 1/3 פון די פאָן איז געל און אַזוי אַרויס, וואָס קענען נישט מיר עפעס קאָמפּרעס דעם פאָן? און אַפֿילו די פראנצויזיש פאָן קען זייַן קאַמפּרעסט אַפֿילו כאָטש דער מוסטער איז אַ קליין ביסל אַנדערש. עס טורנס אויס די גיף טעקע פֿאָרמאַט איז אַ לאָססלעסס קאַמפּרעשאַן פֿאָרמאַט, וואָס מיטל איר קענען נעמען אַ בילד ווי דער דייַטש פאָן דאָ, איר קענען וואַרפן אַוועק אַ פּלאַץ פון זייַן ביטן אָן סאַקראַפייסינג קוואַליטעט. דאס איז אין קאַנטראַסט צו עפּעס ווי דזשפּעגס, מיט וואָס רובֿ פון אונדז זענען מיסטאָמע מער באַקאַנט. פאַסעבאָאָק פאָטאָס און פליקקר פאָטאָס און דער ווי ביסט כּמעט שטענדיק געהאלפן ווי דזשפּעגס ווען זיי ניטאָ ופּלאָאַדעד, אָבער דזשפּעגס איז אַ לאָססי - לאָססי - פֿאָרמאַט ווערביי איר טאָן וואַרפן אַוועק ביטן אָבער איר אויך וואַרפן אַוועק קוואַליטעט. און אַזוי אויב איר קאָמפּרעס פאָטאָס מיט פאָטאָשאָפּ אָדער צופֿעליקער זיי צו פאַסעבאָאָק אָדער נעמען זיי אויף אַ טאַקע פאַרקאַקט טעלעפאָנירן, איר וויסן אַז דער בילד סטאַרץ צו באַקומען זייער ספּלאָטטשי און פּיקסעלאַטעד, און אַז ס ווייַל עס ס זייַענדיק קאַמפּרעסט דורך דעם קאָמפּיוטער אָדער טעלעפאָנירן דורך ממש פארווארפן ינפאָרמאַטיאָן אַוועק. אבער גיף איז אַמייזינג אין וואָס עס קענען נוצן ווייניקערע ביטן ווי עס זאל דורך פעליקייַט אָן לוזינג קיין אינפֿאָרמאַציע. און עס יסענשאַלי טוט אַזוי ווי גייט. אלא ווי קראָם אין אַ טעקע ווי אַ במפּ וואָלט אַ רגב דרייַיק פֿאַר שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ, שוואַרץ און אַזוי אַרויס, אלא, די גיף פֿאָרמאַט איז געגאנגען צו זאָגן, "שווארצע," און דעמאָלט, "איבערחזרן דעם 100 מאל", אָדער עפּעס ווי אַז. "שווארצע, איבערחזרן דעם 100 מאל, שוואַרץ, איבערחזרן דעם 100 מאל ..." "געל, איבערחזרן דעם 100 מאל." און אַזוי עס געדענקט, יסענשאַלי, די לעפטמאָסט פּיקסעל און דעמאָלט ענקאָדעס עפעס דער געדאנק פון ריפּיטינג אַז פּיקסעל ווידער און ווידער. אַזוי גיפס קענען דעריבער קאָמפּרעס זיך אָן לוזינג קיין אינפֿאָרמאַציע. אבער אויב איר האט צו טרעפן, אויב וואָס איז די אַלגערידאַם אַז גיפס נוצן, וואָס פון די פלאַגס, אַפֿילו כאָטש זיי קוקן יידעניקאַל אין גרייס, איז געגאנגען צו זייַן קלענערער ווען געהאלפן אויף דיסק ווי אַ גיף? >> [תּלמיד] דייַטשלאַנד. דייַטשלאַנד איז געגאנגען צו זייַן קלענערער? פארוואס? [תּלמיד] ווייַל איר איבערחזרן עס פילע, פילע מאל כאָריזאַנטאַלי און דאַן איר איבערחזרן אן אנדער צייַט. >> עקסאַקטלי. ווייַל די מענטשן וואס ינווענטאַד גיף נאָר מין פון אַרביטרעראַלי באַשלאָסן אַז די יבערכאַזערונג וועט זייַן ליווערידזשד כאָריזאַנטאַלי און ניט לאַטעראַללי. עס ס אַ פּלאַץ מער יבערכאַזערונג לאַטעראַללי דאָ אין די דייַטש פאָן ווי אין די פראנצויזיש פאָן. אַזוי אויב מיר פאקטיש עפענען זיך אַ טעקע אויף מיין שווער פאָר וואָס האט די גיפס, איר קענען פאקטיש זען אַז דער דייַטש פאָן דאָ איז 2 קילאבייט און די פראנצויזיש איינער איז 4 קילאבייט. עס כאַפּאַנז צו זייַן אַ צופאַל אַז איינער איז צוויי מאָל די אנדערע, אָבער עס ס אין פאַקט די פאַל אַז די פראנצויזיש פאָן איז פיל גרעסערע. אפילו כאָטש מיר רע גערעדט דאָ וועגן גראַפיקס, די זעלבע געדאנקען קענען צולייגן צו ניט דאס ווי פלאַגס אָבער בילדער וואָס זענען אַ ביסל מער קאָמפּליצירט. אויב איר נעמען אַ בילד פון אַן עפּל, שורלי דאָרט ס אַ פּלאַץ פון דיופּלאַקיישאַן דאָרט, אַזוי מיר קען עפעס געדענקען אַז די פעליקייַט הינטערגרונט איז בלוי און נישט, ווי די רעכט-האַנט בילד סאַגדזשעס, האָבן צו געדענקען די קאָליר פון יעדער איין פּיקסעל אין דעם בילד. אַזוי מיר קענען וואַרפן ביטן אַוועק דאָרט אָן לוזינג אינפֿאָרמאַציע. די עפּל נאָך קוקט נאָר די זעלבע. אין דעם בייַשפּיל דאָ, איר זאל זען וואָס כאַפּאַנז אין אַ פֿילם. דאס פאָרשטעלן אַלט שולע פילם רילז ווערביי אין די שפּיץ בילד דאָרט איר האָבן אַ רוו דרייווינג פאַרגאַנגענהייַט אַ הויז און אַ בוים. און ווי אַז פון דרייווז פאַרגאַנגענהייַט פון לינקס צו רעכט, וואָס ס 'דאָך נישט טשאַנגינג? די הויז איז נישט געגאנגען ערגעץ, און דער בוים איז נישט געגאנגען ערגעץ. דער בלויז זאַך אַז ס מאָווינג איז די וואן אין דעם פאַל. אַזוי ווי הינטערגרונט ונטשאַנגעד סאַגדזשעס, וואָס איר קענען טאָן אין קינאָ איז סימילאַרלי נאָר וואַרפן אַוועק אינפֿאָרמאַציע אַז טוט נישט טוישן אין צווישן ראָמען. דאס איז בכלל באקאנט ווי ינטערפראַמע קאַמפּרעשאַן ווערביי אויב דאָס ראַם קוקט כּמעט יידעניקאַל צו דעם איינער, לאָזן ס ניט אַרן סטאָרינג אויף דיסק קיין פון די יידעניקאַל ינפאָרמאַטיאָן אויף די ינטערמידייט ראָמען, לאָזן ס נאָר נוצן שליסל ראָמען אַמאָל אין אַ בשעת אַז פאקטיש קראָם אַז אינפֿאָרמאַציע רעדונדאַנטלי נאָר ווי אַ קליין מייושעוודיקייַט טשעק. דורך קאַנטראַסט, אן אנדער צוגאַנג צו קאַמפּרעסינג ווידעא איז אין דעם רגע און נידעריקער בייַשפּיל דאָ, ווו אלא ווי קראָם 30 ראָמען, וואָס טוט נישט איר נאָר קראָם 15 ראָמען אַ רגע אַנשטאָט? אלא ווי דער פֿילם מין פון פלאָוינג ביוטאַפלי, בישליימעס, עס זאל קוקן ווי עס ס סטאַטערינג אַ קליין ביסל, אַ קליין אַלט שולע, אָבער די נעץ ווירקונג וועט זייַן צו נוצן ווייַט ווייניקערע ביטן ווי זאל אַנדערש זייַן נייטיק. אַזוי ווו טוט דעם דעריבער לאָזן אונדז? וואָס איז געווען אַ ביסל פון אַ באַזונדער אויף ווו אַנדערש איר קענען גיין מיט קאַמפּרעשאַן. פֿאַר מער אויף וואָס, נעמען אַ סאָרט ווי קס175 דאָ. דאָ ס אן אנדער בייַשפּיל ין ווידעא. אויב דער בי איז דער בלויז זאַך מאָווינג, איר קענען טאַקע וואַרפן אַוועק אינפֿאָרמאַציע אין יענע מיטן ראָמען ווייַל די בלום און הימל און בלעטער זענען נישט טשאַנגינג. אבער לאָזן ס איצט באַטראַכטן 1 לעצטע זאַך. אין דער ווייַטער 5 מינוט מיר לאָזן C הינטער אויף אייביק אין לעקציע? יא. ניט אין די פּסעץ, כאָטש. לעצטע געשיכטע וועגן C און דעמאָלט מיר באַקומען צו זייער סעקסי שטאָפּן ינוואַלווינג HTML און וועב און ווו-כו. אַלע רעכט. דאָ מיר גיין. אַז ס די מאָוטאַוויישאַן. עס טורנס אויס אַלע דעם צייַט ווען מיר האָבן שוין שרייבן מגילה מיר לויפן קלאַנג. און קלאַנג, מיר ווע האט זינט דער ערשטער וואָך שיין פיל, נעמט מקור קאָד און קאַנווערץ עס אין כייפעץ קאָד. עס נעמט C און קאַנווערץ עס אין 0ס און 1ס. איך ווע מין פון שוין ליגן צו איר פֿאַר אַ ביסל וואָכן ווייַל עס ס נישט גאַנץ ווי פּשוט ווי אַז. עס ס אַ פּלאַץ מער געגאנגען אויף ונטער דער קאַפּטער ווען איר לויפן אַ פּראָגראַם ווי קלאַנג. אין פאַקט, די פּראָצעס פון קאַמפּיילינג אַ פּראָגראַם קען טאַקע זייַן סאַמערייזד, ווי איר זאל צוריקרופן פון ראָב ס ווידעא אויף קאַמפּיילערז, אין די 4 טריט: פאַר-פּראַסעסינג, קאַמפּיילינג זיך, אַסעמבאַלינג, און פֿאַרבינדונג. אבער מיר אין קלאַס און רובֿ מענטשן אין די וועלט טיפּיקלי סאַמערייז אַלע פון ​​די טריט ווי נאָר "קאַמפּיילינג." אבער אויב מיר אָנהייבן מיט מקור קאָד ווי דעם, צוריקרופן דעם איז טאָמער די סימפּלאַסט C פּראָגראַם מיר ווע געשריבן אַזוי ווייַט, צוריקרופן אַז ווען צונויפגעשטעלט עס ענדס אַרויף קוקן ווי דעם. אבער דאָרט ס 'פאקטיש אַ ינטערמידייט שריט, און יענע טריט זענען ווי גייט. ערשטער דאָרט ס דעם זאַך בייַ די זייער שפּיץ פון דעם און רובֿ פון אונדזער מגילה, # אַרייַננעמען <סטדיאָ.ה> וואָס טוט # אַרייַננעמען טאָן פֿאַר אונדז? עס שיין פיל קאפיעס און פּאַסטעס די אינהאַלט פון סטדיאָ.ה אין מיין טעקע אַזוי אַז וואָס? פארוואס טאָן איך זאָרגן וועגן דעם אינהאַלט פון סטדיאָ.ה? וואָס ס אין עס פון אינטערעס? פּרינטף ס דערקלערונג, זייַן פּראָוטאַטייפּ, אַזוי אַז דער קאַמפּיילער דעמאָלט ווייסט וואָס איך מיינען ווען איך דערמאָנען דעם פֿונקציע פּרינטף. אַזוי שריט 1 אין קאַמפּיילינג איז פאַר - פּראַסעסינג, ווערביי אַ פּראָגראַם ווי קלאַנג אָדער עטלעכע העלפּער פּראָגראַם וואָס קלאַנג קומט מיט לייענט דיין קאָד שפּיץ צו דנאָ, לינקס צו רעכט, און קיין צייַט עס זעט אַ # סימבאָל נאכגעגאנגען דורך אַ קיווערד ווי אַרייַננעמען, עס פּערפאָרמז אַז אָפּעראַציע, קאַפּיינג און פּאַסטינג אין דעם פאַל סטדיאָ.ה אין דיין טעקע. אַז ס שריט 1. דעמאָלט איר האָבן אַ פיל ביגער C טעקע ווייַל פון דעם ריזיק קאָפּיע, פּאַפּ אַרבעט אַז ס נאָר געטראפן. שריט 2 איצט איז קאַמפּיילינג. אבער עס טורנס אויס קאַמפּיילינג נעמט מקור קאָד וואָס קוקט ווי דעם און טורנס עס אין עפּעס וואָס קוקט ווי דעם, וואָס פֿאַר יענע באַקאַנט איז גערופן? >> [תּלמיד] אַסעמבלי. >> אַסעמבלי שפּראַך. דאס איז פאקטיש עפּעס אויב איר נעמען קס61 איר וועט ונטערטוקנ זיך אין אין מער דעטאַל. דאס איז נאָר וועגן ווי נאָענט ווי איר קענען באַקומען צו שרייבן 0ס און 1ס זיך אָבער שרייבן זאכן אין אַזאַ אַ וועג וואָס נאָך מאכט בייַ מינדסטער אַ קליין ביסל פון זינען. די ביסט מאַשין ינסטראַקשאַנז, און אויב מיר מעגילע אַראָפּ צו דער הויפּט פֿונקציע דאָ, באַמערקן אַז דאָרט איז דאָס שטופּן לימעד, מאַך לימעד, אַראָפּרעכענען לימעד, רופן לימעד, און אַזוי אַרויס. ווען איר הערן אַז דיין קאָמפּיוטער האט ינטעל ין, איר האָבן אַ ינטעל קפּו אין דיין מעק אָדער פּיסי, וואָס טוט וואָס מיינען? א קפּו קומט געבויט דורך קאָמפּאַניעס ווי ינטעל פארשטאנד זיכער ינסטראַקשאַנז. זיי האָבן קיין געדאַנק וואָס פאַנגקשאַנז ווי ויסבייַטן זענען אָדער הויפּט זענען פּער סיי, אָבער זיי טאָן וויסן וואָס זייער נידעריק-מדרגה ינסטראַקשאַנז ווי לייגן, אַראָפּרעכענען, שטופּן, מאַך, רופן, און אַזוי אַרויס זענען. אַזוי ווען איר צונויפנעמען C קאָד אין פֿאַרזאַמלונג שפּראַך, דיין זייער באַניצער פרייַנדלעך-קוקן קאָד איז קאָנווערטעד אין עפּעס וואָס קוקט ווי דעם, אַז ממש באוועגט ביטעס אָדער 4 ביטעס אַרום אין אַזאַ קליין וניץ אין און אויס פון די קפּו. אבער לעסאָף, ווען קלאַנג איז גרייט צו נעמען דעם פאַרטרעטונג פון דיין פּראָגראַם אין 0ס און 1ס, דעמאָלט דער שריט גערופן אַסעמבאַלינג כאַפּאַנז, און דעם ווידער אַלע כאַפּאַנז אין די פּינטלען פון אַן אויג ווען פליסנדיק קלאַנג. מיר אָנהייבן דאָ, עס אַוטפּוץ אַ טעקע ווי דעם, און דאַן עס קאַנווערץ עס צו די 0ס און 1ס. און אויב איר ווילן צו גיין צוריק אין עטלעכע פונט און פאקטיש זען דעם אין קאַמף, אויב איך גיין אין העללאָ1.ק--דאָס איז איינער פון די זייער ערשטער מגילה מיר געקוקט בייַ - נאָרמאַלי מיר וואָלט צונויפנעמען דעם מיט קלאַנג העללאָ1.ק און דאָס וואָלט געבן אונדז אַ.אָוט. אויב דורך קאַנטראַסט איר אַנשטאָט געבן עס דער-ד פאָן, וואָס איר וועט באַקומען איז העללאָ1.ס און איר וועט פאקטיש זען די פֿאַרזאַמלונג שפּראַך. איך בין טאן דעם פֿאַר אַ זייער קורץ פּראָגראַם, אָבער אויב איר גיין צוריק פֿאַר סקראַמבלע אָדער רעקאָווער אָדער קיין פּראָגראַם איר ווע געשריבן און נאָר אויס פון נייַגעריקייַט ווילן צו זען וואָס עס פאקטיש קוקט ווי, וואָס ס 'פאקטיש זייַענדיק פאסטעכער אין די קפּו, איר קענען נוצן אַז-ד פאָן מיט קלאַנג. אבער דעמאָלט לאַסטלי, דאָרט ס נאָך 1 גאַטשאַ. דאָ זענען די 0ס און 1ס אַז פאָרשטעלן מיין ימפּלאַמענטיישאַן פון העלא, וועלט. אבער איך געניצט עמעצער אַנדערש ס פונקציאָנירן אין מיין פּראָגראַם. אַזוי אַפֿילו כאָטש דער פּראָצעס האט שוין איך נעמען העללאָ.ק, עס געץ צונויפגעשטעלט אין פֿאַרזאַמלונג קאָד, און דאַן עס געץ פארזאמלט אין 0ס און 1ס, דער בלויז 0ס און 1ס וואָס זענען אָוטפּוטטעד בייַ דעם פונט אין צייַט זענען די אָנעס אַז רעזולטאַט פון מיין קאָד. אבער דער מענטש וואס געשריבן פּרינטף, זיי צונויפגעשטעלט זייער קאָד 20 יאר צוריק און עס ס איצט אינסטאַלירן ערגעץ אויף די אַפּפּליאַנסע, אַזוי מיר עפעס האָבן צו צונויפגיסן זייַן אָדער איר 0ס און 1ס מיט מיין 0ס און 1ס, און וואָס ברענגט אונדז צו די 4 און לעצט שריט פון קאַמפּיילינג, באקאנט ווי פֿאַרבינדונג. אַזוי אויף די לינקס-האַנט זייַט מיר האָבן די פּינטלעך זעלבע בילד ווי איידער: העללאָ.ק ווערט פֿאַרזאַמלונג קאָד ווערט 0ס און 1ס. אבער צוריקרופן אַז איך געניצט דעם נאָרמאַל איך / אָ ביבליאָטעק אין מיין קאָד, און אַז מיטל ערגעץ אויף די קאָמפּיוטער דאָרט ס אַ טעקע גערופן סטדיאָ.ק אָדער בייַ מינדסטער די צונויפגעשטעלט ווערסיע דערפון ווייַל עמעצער עטלעכע יאר צוריק צונויפגעשטעלט סטדיאָ.ק אין פֿאַרזאַמלונג קאָד און דאַן אַ גאַנץ בינטל פון 0ס און 1ס. דאס איז וואָס ס 'באקאנט ווי אַ סטאַטיק אָדער אַ דינאַמיש ביבליאָטעק. עס ס עטלעכע טעקע זיצן ערגעץ אין די אַפּפּליאַנסע. אבער לאַסטלי, איך האָבן צו נעמען מיין 0ס און 1ס און אַז מענטש ס 0ס און 1ס און עפעס לינק זיי צוזאַמען, ממש פאַרבינדן יענע 0ס און 1ס אין אַ איין טעקע גערופן אַ.אָוט אָדער העללאָ1 אָדער וועלכער איך גערופן מיין פּראָגראַם אַזוי אַז די סוף רעזולטאַט האט אַלע פון ​​די 1ס און 0ס וואָס זאָל קאַמפּאָוז מיין פּראָגראַם. אַזוי אַלע דעם מאָל דעם זמאַן ווען איר ווע שוין ניצן קלאַנג און אַפֿילו מער לעצטנס פליסנדיק מאַכן אין סדר צו לויפן קלאַנג, אַלע פון ​​די טריט האָבן שוין געשעעניש סאָרט פון ינסטאַנטאַניאַסלי אָבער זייער דיליבראַטלי. און אַזוי אויב איר פאָרזעצן אויף אין קאָמפּיוטער וויסנשאַפֿט, ניימלי קס61, דאָס איז די שיכטע אַז איר וועט פאָרזעצן צו שאָלעכץ צוריק אַוועק דאָרט גערעדט וועגן עפעקטיווקייַט, זיכערהייַט ימפּלאַקיישאַנז, און די ווי פון די נידעריקער מדרגה פרטים. אבער מיט וואָס, מיר רע וועגן צו לאָזן C הינטער. זאל ס גיין פאָרויס און נעמען אונדזער 5-מינוט ברעכן איצט, און ווען מיר קומען צוריק: די אינטערנעט. אַלע רעכט. מיר זענען צוריק. איצט מיר אָנהייבן אונדזער קוק נישט נאָר בייַ HTML ווייַל, ווי איר וועט זען, HTML זיך איז פאקטיש שיין פּשוט אָבער טאַקע בייַ וועב פּראָגראַממינג מער בכלל, נעטוואָרקינג מער בכלל, און ווי אַלע פון ​​די טעקנאַלאַדזשיז קומען צוזאַמען צו לאָזן אונדז צו שאַפֿן פיל מער סאַפיסטאַקייטיד מגילה אַטאַפּ די אינטערנעט ווי אַזוי ווייַט מיר ווע שוין קענען צו אין די שוואַרץ און ווייַס פֿענצטער. טאקע, בייַ דעם פונט אין די זמאַן אַפֿילו כאָטש מיר וועלן פאַרברענגען לעפיערעך ווייניקער צייַט אויף פפּ, HTML, קסס, דזשאַוואַסקריפּט, סקל און מער, רובֿ סטודענטן טאָן סוף אַרויף טאן לעצט פראיעקטן וואָס זענען וועב-באזירט ווייַל ווי איר וועט זען, די הינטערגרונט איר איצט האָבן אין C איז זייער פיל אָנווענדלעך צו די העכער מדרגה שפּראַכן. און ווי איר אָנהייבן טראכטן וועגן דיין לעצט פּרויעקט, וואָס, פיל ווי פּראָבלעם באַשטעטיק 0 ווו איר זענען ענקערידזשד צו טאָן רובֿ עפּעס פון אינטערעס צו איר אין סקראַטטש, די לעצט פּרויעקט איז דיין געלעגנהייט צו נעמען דיין נופאַונד וויסן און סאַווי מיט C אָדער פפּ אָדער דזשאַוואַסקריפּט אָדער די ווי אויס פֿאַר אַ ומדריי און מאַכן דיין זייער אייגן שטיק פון סאָפטווער פֿאַר די וועלט צו זען. און צו זוימען איר מיט געדאנקען, וויסן אַז איר קענען קאָפּ דאָ, projects.cs50.net. יעדער יאָר מיר ווענדנ געדאנקען פון פיייקייַט און שטעקן און תּלמיד גרופּעס אויף קאַמפּאַס נאָר צו פאָרלייגן זייער געדאנקען פֿאַר טשיקאַווע זאכן וואָס קען זייַן סאַלווד ניצן קאָמפּיוטערס, ניצן וועבסיטעס, ניצן סאָפטווער. אַזוי אויב איר ניטאָ סטראַגאַלינג צו קומען אַרויף מיט אַ געדאַנק פון דיין אייגן, דורך אַלע מיטל מעגילע דורך די געדאנקען דאָרט פון דעם יאָר און לעצטע. עס איז בישליימעס אָוקיי צו מאַכנ אַ פּרויעקט וואָס האט שוין טאַקאַלד פריער. מיר האָבן געזען פילע אַפּפּס פֿאַר געזען די סטאַטוס פון וועש אויף קאַמפּאַס, פילע אַפּפּס פֿאַר נאַוואַגייטינג די דיינינג זאַל מעניו, פילע אַפּפּס פֿאַר נאַוואַגייטינג די קורס קאַטאַלאָג און די ווי. און טאַקע, אין אַ צוקונפֿט לעקציע און אין צוקונפֿט סעמינאַרס, מיר וועלן באַקענען איר צו עטלעכע עפנטלעך פאַראַנען אַפּיס, ביידע קאמערשעל בנימצא ווי ווויל ווי דאָ פאַראַנען פון קס50 אויף קאַמפּאַס אַזוי אַז איר האָבן צוטריט צו דאַטן און קענען דעמאָלט טאָן טשיקאַווע זאכן מיט אים. אַזוי מער אויף לעצט פראיעקטן אין אַ ביסל טעג ווען מיר מעלדונג די באַשרייַבונג, אָבער פֿאַר איצט, וויסן אַז איר קענען אַרבעט סאָלאָ אָדער מיט 1 אָדער 2 פריינט אויף רובֿ קיין פּרויעקט פון אינטערעס צו איר. די אינטערנעט. איר גיין פאָרויס און ציען אויס דיין לאַפּטאַפּ, איר גיין צו facebook.com פֿאַר דער ערשטער צייַט, נישט ווייל לאָגד אין לעצטנס, און שלאָגן אַרייַן. וואָס פּונקט כאַפּאַנז? ווען איר שלאָגן אַרייַן אויף דיין קאָמפּיוטער, אַ גאַנץ בינטל פון טריט אָנהייב סאָרט פון מאַדזשיקאַלי געשעעניש. אַזוי איר דאָ אויף די לינקס, וועב סערווער ווי פאַסעבאָאָק איז דאָ אויף די רעכט, און עפעס איר ניטאָ ניצן דעם שפּראַך גערופן הטטפּ, היפּערטעקסט טראַנספער פּראָטאָקאָל. הטטפּ איז נישט אַ פּראָגראַממינג שפּראַך. עס ס מער פון אַ פּראָטאָקאָל. עס איז אַ גאַנג פון קאַנווענשאַנז אַז וועב בראַוזערז און וועב סערווערס נוצן ווען ינטערקאָממוניקאַטינג. און וואָס דעם מיטל איז ווי גייט. פיל ווי אין די פאַקטיש וועלט, מיר האָבן די קאַנווענשאַנז ווו אויב איר טרעפן עטלעכע מענטש פֿאַר דער ערשטער צייַט, אויב איר טאָן ניט מיינונג הומאָרינג מיר דאָ, איך זאל קומען זיך צו איר, זאָגן, "הי, מיין נאָמען איז דוד." >> הי, דוד. מייַן נאָמען איז סאַמי. "הי, דוד. מייַן נאָמען איז סאַמי." אַזוי איצט מיר האָבן נאָר פאַרקנאַסט אין דעם סאָרט פון נאַריש מענטש פּראָטאָקאָל ווו איך האָבן ינישיייטיד דער פּראָטאָקאָל, סאַמי האט אפגערופן, מיר ווע אויפגעטרייסלט הענט, און די מאַסע - מאַטן איז גאַנץ. הטטפּ איז זייער ענלעך אין גייסט. ווען דיין וועב בלעטערער ריקוועס www.facebook.com, וואָס אייער בלעטערער איז טאַקע טאן איז יקסטענדינג זייַן האַנט, אַזוי צו רעדן, צו די סערווער און עס ס שיקט עס אַ אָנזאָג. און אַז אָנזאָג איז טיפּיקלי עפּעס ווי באַקומען - וואָס טאָן איר ווילן צו באַקומען? - באַקומען מיר די היים בלאַט, וואָס איז טיפּיקלי דינאָוטאַד דורך אַ איין צעהאַקן אין די סוף פון אַ URL. און פּונקט אַזוי איר וויסן וואָס שפּראַך איך בין גערעדט, איך דעם בלעטערער בין געגאנגען צו זאָגן איר אַז איך בין גערעדט הטטפּ ווערסיע 1.1, און אויך פֿאַר גוט מאָס איך בין געגאנגען צו זאָגן איר אַז די באַלעבאָס אַז איך ווילן די היים בלאַט פון איז facebook.com. טיפּיקלי, אַ וועב בלעטערער, ​​אַנבינאָונסט צו איר דער מענטש, סענדז דעם אָנזאָג אַריבער די אינטערנעט ווען איר פשוט טיפּ www.facebook.com, אַרייַן, אין אייער בלעטערער. און וואָס טוט פאַסעבאָאָק ריספּאַנד מיט? עס ריספּאַנדז מיט עטלעכע ענלעך-קוקן קריפּטיק פרטים אָבער אויך פיל מער. זאל מיר גיין פאָרויס צו פאַסעבאָאָק ס היים בלאַט דאָ. דאס איז די פאַרשטעלן אַז רובֿ פון אונדז מיסטאָמע קיינמאָל זען אויב איר בלייַבן לאָגד אין אַלע פון ​​די צייַט, אָבער דאָס איז טאַקע זייער היים בלאַט. אויב מיר טאָן דאָס אין קראָום, באַמערקן אַז איר קענען ציען אַרויף די ביסל קאָנטעקסט מעניוז. ניצן קראָום, צי אויף מעק אַס, פֿענצטער, לינוקס, אָדער די ווי, אויב איר קאָנטראָל גיט אָדער לינקס גיט, איר קענען טיפּיקלי ציען אַרויף אַ מעניו וואָס קוקט ווי דעם, ווו אַ ביסל אָפּציעס דערוואַרטן, איינער פון וואָס איז View Page מקור. איר קענען אויך טיפּיקלי באַקומען צו די זאכן דורך געגאנגען צו דער View מעניו און פּאָקינג אַרום. פֿאַר בייַשפּיל, דאָ אונטער View, דעוועלאָפּער איז די זעלבע זאַך. איך בין געגאנגען צו גיין פאָרויס און קוק בייַ View Page מקור. וואָס איר וועט זען איז די HTML אַז מארק האט געשריבן צו פאָרשטעלן facebook.com. עס ס אַ גאַנץ באַלאַגאַן דאָ, אָבער מיר וועט זען אַז דאָס מאכט אַ ביסל מער געפיל פאר לאַנג. אבער עס זענען עטלעכע פּאַטערנז דאָ. זאל מיר מעגילע אַראָפּ צו שטאָפּן ווי דעם. דאס איז שווער פֿאַר אַ מענטש צו לייענען, אָבער באַמערקן אַז דאָרט ס דעם מוסטער פון אַנגגאַלד בראַקאַץ מיט טערמינען ווי אָפּציע, טערמינען ווי ווערט, עטלעכע ציטירטן סטרינגס. דאס איז ווו ווען איר געחתמעט אַרויף פֿאַר די זייער ערשטער מאָל ספּעסאַפייד וואָס דיין געבורט יאָר איז. וואָס פאַלן-אַראָפּ מעניו פון געבורט יאר איז עפעס encoded דאָ אין דעם שפּראַך גערופן HTML, כייפּערטעקסט מאַרקאַפּ שפּראַך. אין אנדערע ווערטער, ווען אייער בלעטערער ריקוועס אַ וועב בלאַט, עס רעדט דעם קאַנווענשאַן גערופן הטטפּ. אבער וואָס טוט facebook.com ריספּאַנד צו אַז בעטן מיט? עס ריספּאַנדז מיט עטלעכע פון ​​די קריפּטיק אַרטיקלען, ווי מיר וועט זען אין אַ מאָמענט. אבער רובֿ פון זייַן ענטפער איז אין די פאָרעם פון HTML, כייפּערטעקסט מאַרקאַפּ שפּראַך. אַז ס די פאַקטיש שפּראַך אין וואָס אַ וועב בלאַט איז געשריבן. און וואָס אַ וועב בלעטערער טאַקע טוט דעמאָלט איז, אויף קאַבאָלע פון ​​עפּעס וואָס קוקט ווי דעם, לייענט עס שפּיץ צו דנאָ, לינקס צו רעכט, און קיין צייַט עס זעט איינער פון די אַנגגאַלד בראַקאַץ נאכגעגאנגען דורך אַ קיווערד ווי אָפּציע, עס דיספּלייז אַז מאַרקאַפּ שפּראַך אין דער צונעמען וועג. אין דעם פאַל עס וואָלט אַרויסווייַזן אַ קאַפּ-אַראָפּ מעניו פון יאָרן. אבער ווידער, דאָס איז אַ גאַנץ באַלאַגאַן צו קוקן בייַ. דאס איז נישט ווייַל פאַסעבאָאָק דעוועלאָפּערס באַשייַמפּערלעך 0 פֿאַר 5 פֿאַר נוסח, פֿאַר בייַשפּיל. דאס איז ווייַל רובֿ פון די קאָד וואָס זיי שרייַבן איז אין פאַקט געשריבן ביוטאַפלי, געזונט קאַמענטאַד, נייסלי ינדענטעד, און די ווי, אָבער פון קורס מאשינען, קאָמפּיוטערס, בראַוזערז טאַקע טאָן ניט געבן אַ פאַרשילטן צי דיין קאָד איז געזונט סטיילד. און אין פאַקט, עס ס גאָר ווייסטפאַל צו שלאָגן די קוויטל שליסל אַלע יענע מאל און צו שטעלן באַמערקונגען אַלע איבער דיין קאָד און צו קלייַבן טאַקע דיסקריפּטיוו בייַטעוודיק נעמען ווייַל אויב דער בלעטערער טוט נישט זאָרגן, אַלע איר ניטאָ טאן אין דעם סוף פון דעם טאָג איז ווייסטינג ביטעס. אַזוי עס טורנס אויס וואָס רובֿ וועבסיטעס טאָן איז אַפֿילו כאָטש דער מקור קאָד פֿאַר facebook.com, פֿאַר cs50.net און אַלע פון ​​די אנדערע וועבסיטעס אויף די אינטערנעט זענען טיפּיקלי גוט געשריבן און געזונט קאַמענטאַד און נייסלי ינדענטעד און די ווי, טיפּיקלי איידער דער וועבזייַטל איז שטעלן אַנטו די אינטערנעט, די קאָד איז מיניפיעד, ווערביי די HTML און די קסס - עפּעס אַנדערש מיר וועט באַלד זען - די דזשאַוואַסקריפּט קאָד מיר וועט באַלד זען איז קאַמפּרעסט ווערביי לאַנג בייַטעוודיק נעמען ווערן רענטגענ און י און ז, און אַלע פון ​​וואָס ווהיטעספּאַסע וואָס מאכט אַלץ קוקן אַזוי ליינעוודיק איז אַלע ארלנגעווארפן אַוועק, ווייַל אויב איר טראַכטן וועגן אים דעם וועג, פאַסעבאָאָק געץ אַ ביליאָן בלאַט היץ אַ טאָג - עפּעס משוגע ווי אַז - אַזוי וואָס אויב אַ פּראָגראַמיסט נאָר צו זייַן אַנאַל שלאָגן דעם אָרט באַר 1 עקסטרע צייַט נאָר צו ינדענט עטלעכע שורה פון קאָד אלץ אַזוי פיל מער? וואָס ס די ימפּלאַקיישאַן אויב פאַסעבאָאָק ייַנגעמאַכץ אַז ווהיטעספּאַסע אין אַלע פון ​​די ביטעס זיי שיקן צוריק צו מענטשן אויף דער אינטערנעט? היטטינג די פּלאַץ באַר אַמאָל גיט איר אַן עקסטרע ביטע אין דיין טעקע. און אויב אַ ביליאָן מענטשן דעמאָלט גיינ ווייַטער צו אָפּלאָדירן די היים בלאַט וואָס טאָג, ווי פיל מער דאַטן האָבן איר טראַנסמיטטעד איבער די אינטערנעט? א גיגאבייט פֿאַר קיין גוט סיבה. און געגעבן, פֿאַר אַ פּלאַץ פון וועבסיטעס דעם איז נישט אַזאַ אַ סקאַלאַבלע אַרויסגעבן, אָבער פֿאַר פאַסעבאָאָק, פֿאַר גוגל, פֿאַר עטלעכע פון ​​די מערסט פאָלקס וועבסיטעס דאָרט ס גרויס ינסעניוו פאַנאַנשאַלי צו מאַכן דיין קאָד קוקן ווי אַ באַלאַגאַן אַזוי אַז איר ניטאָ ניצן ווי ווייניק ביטעס ווי מעגלעך אין דערצו צו דעמאָלט קאַמפּרעסינג עס ניצן עפּעס ווי פאַרשלעסלען, אַ אַלגערידאַם גערופן גזיפּ אַז דער בלעטערער טוט פֿאַר איר אויטאָמאַטיש. אבער דאָס איז שרעקלעך. מיר וועט קיינמאָל לערנען עפּעס וועגן אנדערע מענטשן ס וועבסיטעס און ווי צו פּלאַן וועב בלעטער אויב מיר האָבן צו קוקן בייַ אים ווי דעם. אַזוי צומ גליק, בראַוזערז ווי קראָום און הייסט און פירעפאָקס די טעג טיפּיקלי קומען מיט געבויט-אין דעוועלאָפּער מכשירים. אין פאַקט, אויב איך גיין אַראָפּ דאָ צו ינספּעקט עלעמענט אָדער אויב איך גיין צו View, דעוועלאָפּער, און גיין צו דעוועלאָפּער מכשירים בפירוש, דעם פֿענצטער אין דער דנאָ פון מיין פאַרשטעלן איצט פּאַפּס אַרויף. עס ס אַ ביסל ינטימידייטינג בייַ ערשטער ווייַל דאָרט ס אַ פּלאַץ פון אַנפאַמיליער טאַבס דאָ, אָבער אויב איך דרוק אויף עלעמענץ אַלע די וועג בייַ די דנאָ לינקס, קראָום איז דאָך שיין קלוג. עס ווייסט ווי צו טייַטשן אַלע פון ​​דעם קאָד. און אַזוי וואָס קראָום טוט איז עס קלינז אַרויף אַלע פון ​​פאַסעבאָאָק ס HTML. אפילו כאָטש דאָרט ס נישט ווהיטעספּאַסע דאָרט, דאָרט ס נישט ינדענטיישאַן דאָרט, איצט באַמערקן אַז איך קענען נעמען צו נאַוויגירן דעם וועב בלאַט אַלע די מער היעראַרטשיקאַללי. עס טורנס אויס אַז יעדער וועב בלאַט געשריבן אין אַ שפּראַך גערופן הטמל5 זאָל אָנהייבן מיט דעם, דעם דאָקטיפּע דערקלערונג, אַזוי צו רעדן: עס ס מין פון ליכט און גרוי דאָרט, אָבער אַז ס די זייער ערשטער שורה פון קאָד אין דעם טעקע, און אַז נאָר דערציילט דעם בלעטערער ", היי, דאָ קומט עטלעכע הטמל5. דאָ קומט אַ וועב בלאַט". דער ערשטער עפענען קאַנטיקער ווייַטער אַז כאַפּאַנז צו זייַן דעם זאַך, אַ עפענען קאַנטיקער HTML קוויטל, און דעריבער אויב איך ונטערטוקנ זיך אין דיפּער - די אַראָוז זענען גאָר מינינגלאַס; זיי זענען נאָר פֿאַר פּרעזענטירונג ס צוליב, זיי זענען נישט פאקטיש אין די טעקע - באַמערקן אַז ין פון פאַסעבאָאָק ס HTML קוויטל, עפּעס וואָס סטאַרץ מיט אַ עפענען קאַנטיקער און דעמאָלט האט אַ וואָרט איז גערופן אַ קוויטל. אַזוי ין די HTML קוויטל איז משמעות אַ קאָפּ קוויטל און אַ גוף קוויטל. ין פון די קאָפּ פאַרבינדן איצט איז אַ גאנצע באַלאַגאַן פֿאַר פאַסעבאָאָק ווייַל זיי האָבן אַ פּלאַץ פון מעטאַדאַטאַ און אנדערע זאכן פֿאַר פֿאַרקויף און גאַנצע. אבער אויב מיר מעגילע אַראָפּ, אַראָפּ, אַראָפּ, אַראָפּ, לאָזן ס זען ווו עס איז. דאָ עס איז. דאס איינער איז אין מינדסטער עפּעס באַקאַנט. דער טיטל פון פאַסעבאָאָק ס היים בלאַט, אויב איר אלץ קוקן אין די קוויטל אין דיין טיטל באַר, איז באַגריסונג צו פאַסעבאָאָק - קלאָץ אין, צייכן אַרויף אָדער לערן מער. אַז ס וואָס איר וואָלט זען אין קראָום ס טיטל באַר, און אַז ס ווי עס ס רעפּריזענטיד אין קאָד. אויב מיר איגנאָרירן אַלץ אַנדערש אין די קאָפּ, רובֿ פון די גאַץ פון אַ וועב בלאַט זענען אין דעם גוף, און עס טורנס אויס אַז פאַסעבאָאָק ס קאָד איז געגאנגען צו קוקן מער קאָמפּליצירט ווי רובֿ זאכן מיר וועט שרייַבן טכילעס נאָר ווייַל עס ס 'שוין געבויט אַרויף איבער די יאָרן, אָבער דאָרט ס אַ גאנצע פּלאַץ פון שריפט טאַגס, דזשאַוואַסקריפּט קאָד, וואָס מאכט דעם וועבזייַטל זייער ינטעראַקטיוו: געזען סטאַטוס דערהייַנטיקונגען ינסטאַנטאַניאַסלי ניצן שפּראַכן ווי דזשאַוואַסקריפּט. עס ס 'עפּעס גערופן אַ דיוו, וואָס איז אַ טייל פון אַ בלאַט. אבער איידער מיר באַקומען צו אַז דעטאַל, לאָזן ס פּרובירן צו פארגרעסער אויס און קוק בייַ אַ סימפּלער ווערסיע פון ​​פאַסעבאָאָק 1,0, אַזוי צו רעדן. דאָ איז די העלא, וועלט פון וועב בלעטער. עס האט אַז דאָקטיפּע דערקלערונג אין דעם זייער שפּיץ וואָס איז אַ ביסל אַנדערש פון אַלץ אַנדערש. גאָרנישט אַנדערש מיר שרייַבן אין אַ וועב בלאַט איז געגאנגען צו אָנהייבן מיט פֿאַר דרייסט. ווידער, די דערציילונג איז דער זעלביקער: העלא, קאָמע, אָנהייבן מאכן דעם דרייסט, דעמאָלט וועלט געץ געדרוקט אין דרייסט, און דעם מיטל האַלטן דרוקן דעם אין דרייסט. זאל מיר גיין פאָרויס און ראַטעווען מיין טעקע, גיין צוריק צו קראָום, איך וועט פארגרעסער אין נאָר אַזוי מיר קענען זען עס בעסער, און רילאָוד, און איר וועט זען אַז וועלט איז איצט אין דרייסט. די וועב איז אַלע וועגן כייפּערלינגקס, אַזוי לאָזן ס גיין פאָרויס און טאָן דעם: מיין באַליבט וועבזייַטל איז, לאָזן ס זאָגן, youtube.com. היט, רילאָוד. אָוקיי. עס ס אַ פּאָר פּראָבלעמס איצט חוץ די הידעאָוסנעסס פון די וועבזייַטל. 1, איך בין שיין זיכער איך שלאָגן אַרייַן דאָ. און איך האבן. איך ניט נאָר שלאָגן אַרייַן, איך אויך ינדענטעד, פּראַקטיסינג וואָס מיר ווע שוין מבשר וועגן נוסח, אָבער מיין איז רעכט ווייַטער צו וועלט. אַזוי וואָס איז דאָס? בראַוזערז נאָר טאָן וואָס איר זאָגן זיי צו טאָן. איך האב נישט דערציילט דעם בלעטערער ", ברעכן שורות דאָ. ינסערט פּאַראַגראַף ברעכן דאָ." אַזוי דער בלעטערער, ​​עס טוט נישט ענין אויב איך שלאָגן צוריק 30 מאל, עס ס נאָך געגאנגען צו שטעלן מיין רעכט ווייַטער צו וועלט. וואָס איך טאַקע האָבן צו טאָן דאָ איז זאָגן עפּעס ווי <בר/>, אַרייַנלייגן אַ שורה ברעכן. און פאקטיש, אַ שורה ברעכן איז מין פון אַ טשודנע זאַך ווייַל איר קענען ניט טאַקע אָנהייבן מאָווינג צו אן אנדער ליניע, דעמאָלט טאָן עפּעס, און דעריבער האַלטן מאָווינג צו אַ נייע שורה. עס ס מין פון אַן אַטאָמישע אָפּעראַציע. איר אָדער טאָן אים אָדער איר טאָן ניט. איר שלאָגן אַרייַן אָדער איר טאָן ניט. אַזוי בר איז אַ קליין ביסל פון אַ אַנדערש קוויטל, און אַזוי איך דאַרפֿן צו סאָרט פון ביידע עפענען און נאָענט עס אַלע אין אַמאָל. די סינטאַקס פֿאַר וואָס איז דאָס. טעקניקלי, איר קען טאָן עפּעס ווי דעם אין עטלעכע ווערסיעס פון HTML, אָבער דאָס איז נאָר נאַריש ווייַל דאָרט ס קיין סיבה צו אָנהייב און האַלטן עפּעס אויב איר קענען אַנשטאָט טאָן עס אַלע אין אַמאָל. פאַרשטיין אַז הטמל5 טוט ניט שטרענג דאַרפן דעם צעהאַקן, אַזוי איר וועט זען טעקסטבוקס און אָנליין רעסורסן אַז טאָן ניט האָבן עס, אָבער פֿאַר גוט מאָס לאָזן ס פיר די סימעטריע אַז מיר ווע געזען אַזוי ווייַט. דאס מיטל אַז די קוויטל איז ביידע געעפנט און פֿאַרמאַכט. אַזוי איצט לאָזן מיר ראַטעווען מיין טעקע, גיין צוריק דאָ. אָוקיי, אַזוי עס ס סטאַרטינג צו קוקן בעסער, חוץ די וועב איך וויסן איז מין פון קליקקאַבלע, און נאָך יאָוטובע דאָ טוט נישט ויסקומען צו פירן צו עפּעס. אַז ס ווייַל אַפֿילו כאָטש עס קוקט ווי אַ לינק, דעם בלעטערער טוט ניט וויסן אַז פּער סיי, אַזוי איך האב צו זאָגן דעם בלעטערער אַז דאָס איז אַ לינק. די וועג צו טאָן דאָס איז צו נוצן אַ אַנקער קוויטל: <אַ הרעף פֿאַר היפּער דערמאָנען, וואָס איז די אַלט שולע וועג פון זאגן אַ לינק, = "Http://www.youtube.com"> און לאָזן מיר באַוועגן דעם צו אַ נייע שורה נאָר אַזוי עס ס אַ ביסל מער ליינעוודיק, און איך וועט ייַנשרומפּן די שריפֿט גרייס. בין איך געטאן נאָך? נומ עס ס געגאנגען צו זייַן דעם דייקאַטאַמי. דאס קוויטל, דעם אַנקער קוויטל, טוט טאַקע נעמען אַ אַטראַביוט, וואָס מאַדאַפייז זייַן נאַטור, און דעם ווערט פון וואָס אַטראַביוט איז משמעות יאָוטובע ס URL. אבער באַמערקן די דייקאַטאַמי איז אַז נאָר ווייַל אַז ס די URL איר ניטאָ געגאנגען צו, וואָס טוט נישט מיינען אַז האט צו זייַן די וואָרט וואָס איר ניטאָ אַנדערליינינג און מאכן אַ לינק. אלא, וואָס קענען זייַן עפּעס ווי דעם. אַזוי איך האב צו זאָגן האַלטן מאכן דעם וואָרט אַ כייפּערלינגק דורך ניצן די נאָענט אַנקער קוויטל. נאָטיץ איך בין ניט טאן דעם. 1, דעם וואָלט נאָר זייַן אַ וויסט פון אַלעמען ס צייַט און עס ס ניט נייטיק. צו נאָענט אַ קוויטל, איר נאָר דערמאָנען דעם נאָמען פון דעם קוויטל ווידער. איר טאָן ניט דערמאָנען קיין פון די אַטראַביוץ. אַזוי לאָזן ס היט וואָס, גיין צוריק. אָוקיי, וווואַלאַ, איצט עס ס בלוי און היפּערלינקעד. אויב איך גיט עס, איך פאקטיש טאָן גיין צו יאָוטובע. אַזוי אַפֿילו כאָטש מיין וועב בלאַט איז נישט אויף די אינטערנעט, עס איז בייַ מינדסטער HTML, און אויב מיר לאָזן די אינטערנעט כאַפּן זיך, מיר וואָלט פאקטיש סוף אַרויף דאָ אין youtube.com. און איך קענען גיין צוריק און דאָ ס מיין וועב בלאַט. אבער באַמערקן דעם. אויב איר ווע אלץ גאַטאַן ספּאַם אָדער אַ פישינג באַפאַלן, איצט איר האָבן די פיייקייַט נאָך נאָר 5 מינוט צו טאָן די זעלבע. מיר קענען גיין דאָ און טאָן עפּעס ווי www.badguy.com אָדער וועלכער די סכעמאַטיש וועבזייַטל איז, און דאַן איר קענען זאָגן באַשטעטיקן אייער פּייַפּאַל חשבון. [געלעכטער] און איצט דעם איז געגאנגען צו גיין צו badguy.com, וואָס איך בין נישט געגאנגען צו גיט אויף ווייַל איך האָבן קיין געדאַנק ווו וואָס פירט. [געלעכטער] אבער מיר איצט האָבן די פיייקייַט צו פאקטיש סוף אַרויף דאָרט. אַזוי מיר רע טאַקע נאָר סטאַרטינג צו קראַצן די ייבערפלאַך. מיר ניטאָ ניט פּראָגראַממינג פּער סיי; מיר רע שרייבן מאַרקאַפּ שפּראַך. אבער ווי באַלד ווי מיר קייַלעכיק אויס אונדזער וואָקאַבולאַרי אין HTML, מיר וועט פאָרשטעלן פפּ, אַ פאַקטיש פּראָגראַממינג שפּראַך וואָס וועט לאָזן אונדז צו דזשענערייט HTML אויטאָמאַטיש, דזשענערייט קסס אויטאָמאַטיש, אַזוי אַז מיר קענען נעמען אויף מיטוואך צו מאַכשער, זאָגן, אונדזער אייגן זוכן מאָטאָר און מער. אבער מער אויף אַז אין אַ פּאָר פון טעג. מיר וועט זען איר דעמאָלט. [CS50.TV]