[Powered by Google Translate] [וואַלקטהראָוגה פּראָבלעם באַשטעטיק 7] [זאַמילאַ טשאַן] [האַרוואַרד אוניווערסיטעט] [דאס איז קס50] [CS50.TV] העלא אַלעמען, און באַגריסן צו וואַלקטהראָוגה 7, קס50 פינאַנסע. איצט מיר זענען אַפישאַלי געטאן מיט אַלע פון ​​די פּסעץ אין קס50, און מיר רע נאָר לינקס מיט איינער מער וואָס איז געגאנגען צו זייַן אַ שפּאַס ימפּלאַמענטיישאַן פון אַ וועבזייַטל ווו ניצערס קענען קלאָץ אין צו קס50 פינאַנסע און קויפן און פאַרקויפן סטאַקס. הייַנט, מיר זענען געגאנגען צו האָבן אַ ביסל מכשירים בייַ אונדזער באַזייַטיקונג. מיר רע געגאנגען צו זייַן גערעדט וועגן פּערמישאַנז. ווען איר האָבן אַ וועב טעקע, איר ניטאָ געגאנגען צו ווילן צו לאָזן ניצערס צו ויספירן זיכער טעקעס אָבער אויך נאָר לייענען אנדערע אָנעס, אַזוי מיר וועט קוקן אין פּערמישאַנז און ווי איר קענען שטעלן יענע. דעמאָלט מיר רע געגאנגען צו קוקן אין פפּ, HTML, און סקל קאָד. ערשטער, פּערמישאַנז. ווען איר ניטאָ אין דער וואָקזאַל אין אַ זיכער וועגווייַזער, דעמאָלט וואָס איר ווילן צו טאָן איז איר ווילן צו לויפן די טשמאָד באַפֿעל. אַז ס נאכגעגאנגען דורך אָדער אותיות אָדער נומערן קאָראַספּאַנדינג צו וואָס איר בייסיקלי ווילן די וועלט צו זען, איר זיך צו זען, אאז"ו ו פֿאַר בייַשפּיל, ווען איר האָט אַ טעקע, דעמאָלט איר ווילן אַז טעקע צו זייַן עקסעקוטאַבלע דורך אַלעמען וואָס זעט עס, אַזוי וואָס איר וואָלט טאָן איז איר קען לויפן די באַפֿעל טשמאָד אַ + X און דעריבער די נאָמען פון דיין טעקע. ווען איר האָט אַ טעקע אַזאַ ווי קסס טעקעס אָדער בילד טעקעס - ווי דזשפּעגס און ביטמאַפּס, זאכן ווי אַז, אָדער קיין דזשאַוואַסקריפּט קאָד - איר ווילן אַז צו זייַן ליינעוודיק דורך אַלעמען, אַזוי דעמאָלט וואָס איר טאָן איז איר קען נוצן די וויילדקאַרד - וואָס איז אַן אַסטעריסק - צו בייסיקלי אָנווייַזן אין דער קסס טעקע - אַלץ אין אַז טעקע -  איך בין געגאנגען צו זאָגן אַז וואָס ס 'געגאנגען צו זייַן ליינעוודיק דורך אַלעמען. מיט פּערמישאַנז, ווען מיר נוצן די אותיות, מיר קענען אויך נוצן נומערן אַנשטאָט. אַזוי, איר זען אַז לעסאָף ווען איר ווילן עפּעס צו זייַן עקסעקוטאַבלע - אַז ס רעפּריזענטיד דורך די נומער 1 - עפּעס צו זייַן ליינעוודיק איז די נומער 4 און דעמאָלט - ווריטאַבלע איז נומער 2 - און אַזוי יסענשאַלי ווען איר ווילן אַ קאָמבינאַציע פון ​​יענע, דעמאָלט איר לייגן זיי. אויב איר ווילן עפּעס צו זייַן ליינעוודיק, ווריטאַבלע, און עקסעקוטאַבלע, דעמאָלט איר וואָלט לייגן אַרויף 4, 2, און 1 און וואָס וואָלט געבן איר 7, דעריבער ווען איר האָט אַ טעקע איר ווילן אַז צו זייַן עקסעקוטאַבלע דורך אַלעמען - ווי ווויל ווי ליינעוודיק און ווריטאַבלע - דעמאָלט איר מאַכן אַז 7, 1, 1. וואָס וואָלט זייַן 7 פֿאַר איר, דעמאָלט 1 פֿאַר די אנדערע מענטשן. ווען איר האָבן די ספּעק, עס וועט פאקטיש ספּעציפיצירן וואָס פאָלדערס און וואָס טעקעס דאַרפֿן צו זייַן טשמאָד-עד ספּאַסיפיקלי. פֿאַר בייַשפּיל, ווען איר האָט פאָלדערס - יענע זענען 7-1-1 - ווען איר האָט בילדער, אָדער HTML, קסס, דזשאַוואַסקריפּט, דעמאָלט יענע זענען געגאנגען צו זייַן 6, 0, 4 - אָדער 6, 4, 4 - און דעמאָלט פפּ טעקעס זענען געגאנגען צו זייַן 6, 0, 0. דער געדאַנק הינטער וואָס איז אַז ניצערס זאָל נישט פאקטיש זען דיין פפּ קאָד, אָבער נאָר זייַן ביכולת צו זען די רעזולטאַט. גרויס! מאָווינג אין פפּ. פשוט, ווען איר ווילן אַ פפּ טעקע, דער טעקע סאַפיקס איז. פפּ. איר קענען אויך מישן HTML מיט פפּ קאָד. אויב איר האָבן אַ HTML טעקע, פֿאַר בייַשפּיל, דעמאָלט איר קענען ינקלאָוז עס מיט די לינקס ווינקל, פֿראַגע צייכן, פפּ - שטעלן דיין פפּ קאָד - און דעמאָלט נאָענט אַז מיט אן אנדער פֿראַגע צייכן און אַ רעכט ווינקל. וועריאַבאַלז אין פפּ ביסט אַ פּלאַץ גרינגער צו האַנדלען מיט ווי וועריאַבאַלז אין סי קיין בייַטעוודיק נאָר סטאַרץ מיט אַ דאָלאַר צייכן אין פראָנט פון אים, און זיי ניטאָ וויקלי טייפּט. אַז מיטל אַז איר טאָן ניט דאַרפֿן צו זאָרג וועגן באַשטעטיקן עפּעס גלייַך צו אַ שטריקל אָדער אַ ינטעגער. איר קענען נאָר פשוט זאָגן, דאָס איז מיין נאָמען פון די בייַטעוודיק און דאַן דעם איז זייַן ווערט, אַזוי עס ס געגאנגען צו זייַן גרינגער צו האַנדלען מיט דאָרט. אן אנדער זאַך איז אַז פפּ אַלאַוז איר צו נוצן אַססאָסיאַטיווע ערייז. איר קענען נאָר פשוט דעפינירן אַ מענגע ווי איר וואָלט אין C דורך זאגן, דאָללאַר צייכן-דעם נאָמען פון דיין מענגע-יקוואַלז, און דעמאָלט אין קוואַדראַט בראַקאַץ האָבן בייסיקלי נאָר די רשימה פון וואַלועס פון אַלע די יסודות אין די מענגע. אבער, אין פפּ וואָס איר קענען אויך טאָן איז ספּעציפיצירן בייסיקלי דער - עס ס מין פון ווי אַ האַש פונקציאָנירן. איר קענען ספּעציפיצירן די אינדעקס - וואָס איר ניטאָ געגאנגען צו רופן עס - און דעמאָלט אַז קאָראַספּאַנדז צו אַ ווערט. אויב איר פאקטיש פאָרן אין אַ = 1, B = 2, C = 3, דעמאָלט דיין מענגע בייַ אינדעקס אַ וואָלט געבן איר 1. דאס פּסעט וועט וואַרעם איר אַרויף מיט עטלעכע פפּ אין אַ אָפּטיילונג פון שאלות, און דעמאָלט מיר ונטערטוקנ זיך אין קס50 פינאַנסע. מיר האָבן אַ פּאָר פון - מיר האָבן עטלעכע פאַנגקשאַנאַליטי, בייסיקלי, צו מאַכשער אין דעם וועבזייַטל. מיר ווילן צו לאָזן ניצערס צו רעגיסטרירן אין אונדזער וועבזייַטל מיט אַ באַניצער נאָמען און אַ פּאַראָל. מיר ווילן צו לאָזן זיי צו קוקן אַרויף אַ ציטירן, און דעמאָלט מיר וואָלט דרוקן אויס דעם נאָמען פון וואָס ציטירן ווי געזונט ווי די קראַנט פּרייַז וואָס עס ס בייַ. מיר ווילן צו לאָזן זיי צו זען אַ פּאָרטפעל פון אַלע פון ​​די שאַרעס אַז זיי האָבן געקויפט אַזוי ווייַט. מיר אויך ווילן צו לאָזן זיי צו קויפן סטאַקס ווי געזונט ווי פאַרקויפן זיי. און דעמאָלט לעסאָף, מיר ווילן צו לאָזן זיי צו זען די געשיכטע פון אַלע פון ​​די טראַנזאַקשאַנז אַז זיי ווע געמאכט. דעמאָלט, לעסאָף, נאָך איר 'ווע ימפּלאַמענטאַד אַלע פון ​​וואָס, דעמאָלט איר ניטאָ פֿרייַ צו מאַכשער איינער עקסטרע שטריך. מיר וועט גיין אין יענע. יענע קענען זייַן אָדער אַלאַוינג ניצערס צו באַקומען עקסטרע געלט דורך דאַפּאַזיטינג עקסטרע געלט, אָדער איר קען לאָזן זיי צו טוישן זייער פּאַראָל, אָדער עפּעס ווי אַז, Email זיי אַ קאַבאָלע ווען זיי קויפן אָדער פאַרקויפן אַ לאַגער. עס ס אַ לימיטעד רשימה פון פֿעיִקייטן וואָס איר קען מאַכשער זיך, אַזוי אַז ס 'די לעצטע איינער דאָרט. זינט דעם איז אַ וועבזייַטל, איר גייז אויך האָבן אַ פּלאַץ פון פֿרייַהייט צו קאַסטאַמייז עס. מיר טאָן צושטעלן עטלעכע קסס קאָד, אָבער איר ניטאָ באשטימט פֿרייַ צו טוויק עס, מאַכן עס קוקן ניסער, אָבער אַנדערלייינג עס איז אַ גרונט פאַנגקשאַנאַליטי אַזוי שטענדיק אָפּשיקן צו די ספּעק וועגן וואָס איר פאקטיש דאַרפֿן צו אַרייַננעמען דאָרט. ווייַטערדיק די ספּעק, מיר רע געגאנגען צו זייַן ניצן די אַפּפּליאַנסע ווי אויך אַ סערווער. עס ס געגאנגען צו זייַן האָסטינג אונדזער וועבזייַטל פֿאַר אונדז, אויף זייַן היגע סערווער. אויב איר נאָכפאָלגן די ינסטראַקשאַנז און אַנזיפּ די פּסעט 7 פאַרשפּרייטונג קאָד אין דיין ווירטואַל באַלעבאָס / היגע באַלעבאָס טעקע,  דעמאָלט איר קענען נאָר באַזוכן הטטפּ://לאָקאַלהאָסט/ אין גוגל קראָום אין די אַפּפּליאַנסע, און דאַן איר וואָלט דערגרייכן די קאָד אין וואָס איר ווע געשריבן פּסעט 7. פּסעט 7 קומט מיט אַ בינטל פון פאַרשפּרייטונג קאָד, און אַלעווייַ וויוו - דורך אַלע פון ​​די פּסעץ פאר דעם - צוגעוווינט אונדז צו לייענען דורך פאַרשפּרייטונג קאָד, פארשטאנד וואָס פאַנגקשאַנז זענען שוין צוגעשטעלט, און ווי מיר זאל זייַן ביכולת צו נוצן יענע און די אנדערע פאַנגקשאַנז אַז מיר רע געגאנגען צו זייַן ימפּלאַמענינג. אין דעם פאַל, מיר האָבן 3 פאָלדערס. מיר האָבן אַ HTML טעקע, אַ כולל טעקע, און אַ טעמפּלאַטעס טעקע. וואָס מיר רע געגאנגען צו זייַן טאן מיט דעם פּסעט איז מין פון סעפּערייטינג די טראכטן - די פּראָגראַממינג טראכטן - פון די פפּ קאָד מיט די פאַקטיש וויסואַל אַספּעקט. מיר וועט האָבן איין פפּ טעקע וואָס טוט אַלע פון ​​די טראכטן, לייענט אין די דאַטאַבאַסע, פּרינץ אויס זאכן, האט אויב סטייטמאַנץ - זאכן ווי אַז - און דעמאָלט וואָס וועט פאָרן דאַטן אין אונדזער מוסטער טעקע - אָדער טעמפּלאַטע.פפּ טעקע. וואָס וואָס וועט טאָן איז לייענען די דאַטן און דעמאָלט עס וועט דרוקן עס אויס. מיר קענען מייַכל טעמפּלאַטעס ווי "שטום" אין אַז מיר טאָן ניט טאַקע ווילן זיי צו זייַן טאן אַ פּלאַץ פון אַרבעט אין קאַלקיאַלייטינג זאכן. מיר וועלן אונדזער קאַנטראָולערז צו טאָן וואָס. א קליין ביסל אויף וואָס - לאָזן ס נעמען אַ קוק בייַ עטלעכע פון ​​די פאַרשפּרייטונג קאָד. דאָ מיר האָבן אונדזער ינדעקס.הטמל טעקע, און עס ס שיין ליידיק. יסענשאַלי וואָס עס טוט - עס זאגט, געזונט, איך בין געגאנגען צו דאַרפן די קאָנפיגוראַטיאָנ.פפּ טעקע. מיר טאָן ניט זען אַז רעכט דאָרט, אָבער עס ס בייסיקלי פאַך די קאָנפיגוראַטיאָנ.פפּ טעקע, און עקסאַקיוטינג אַז. נאָך עס טוט וואָס, עס ס געגאנגען צו ופפירן דער פּאָרטפעל. רענדערינג איז אַ פֿונקציע, אַזוי ווען מיר ניטאָ אין אַ קאָנטראָללער, מיר וועט רופן ופפירן, מיר וועט געבן עס דער טעקע און דעריבער די דאַטן וואָס מיר רע גייט פארביי אין, אַזוי אַז עס וועט רופן אין פּאָרטפאָליאָ.פפּ--מין פון פאָרן אין וואָס דאַטע אַזוי אַז פּאָרטפעל קענען האַנדלען מיט וואָס. און איצט, דאָ, מיר האָבן אונדזער לאָגינ.פפּ פאָרעם.  דאס איז די קאָנטראָללער אַז בייסיקלי נעמט קעיר פון די לאָגינג ין דאָ, עס טשעקס אויב אַ פאָרעם איז דערלאנגט צו דעם טעקע און דילז מיט וואַלאַדייטינג די סאַבמישאַן. מיר וועט קוקן אין דעם אַנטשולדיקן פונקציאָנירן. ווען מיר ווילן צו דרוקן אויס אַ טעות אָנזאָג, מיר נוצן אַנטשולדיקן און וואָס וועט רידערעקט די באַניצער צו אַ ספּעציפיש בלאַט וואָס וועט דרוקן אויס די ספּעציפיש טעות אָנזאָג אַז מיר אָנווייַזן. ממשיך אויף, עס וועט אָנפֿרעג די דאַטאַבאַסע - וויל באַקומען אין מער פון וואָס שפּעטער. דעמאָלט איר זען אַז אַראָפּ דאָ אויב אַ פאָרעם איז נישט דערלאנגט, דאַן עס רענדערז אַ פאָרעם. אַז מיטל אַז עס גייט צו לאָגינ_פאָרמ.פפּ, אַזוי לאָזן ס קוק אין וואָס. לאָגינ.פפּ איז פאקטיש ווו מיר זען דעם HTML דילינג מיט די פאַקטיש וויסואַל אַספּעקט. דאָ מיר האָבן אַ אַרייַנשרייַב קוויטל פֿאַר דער באַניצער נאָמען, אַ אַרייַנשרייַב פֿאַר די פּאַראָל, ווי געזונט ווי אַ פאָרלייגן קנעפּל. אַז ס 'פאקטיש ווו די וויסואַל אַספּעקט און די HTML פאָרעם איז געגאנגען צו זייַן געהאלטן. דאָ, עס זאגט אַז עס ס געגאנגען צו זייַן דערלאנגט דורך אַ זיכער אופֿן, גערופן פּאָסטן. מיר וועט באַקומען אין די דיפעראַנסיז צווישן מעטהאָדס - פּאָסטן קעגן באַקומען, דאָרט ס אויך עפּעס גערופן שטעלן - מיר וועט באַקומען אין יענע מעטהאָדס שפּעטער, אָבער פֿאַר דעם אינטערעס פון דעם פּסעט, איך וואָלט העכסט מוטיקן אייך צו נוצן פּאָסטן. מיר וויסן אַז בייסיקלי אַמאָל דעם פאָרעם איז דערלאנגט - פון לאָגינ_פאָרמ.פפּ-- דעמאָלט עס וועט גיין צו די קאַמף - לאָגינ.פפּ-- בייסיקלי פאָרן אין אַלע יענע פּאַראַמעטערס פון יענע פארמען אין לאָגינ.פפּ. די רעזולטאַטן פון אַז פאָרעם זענען קאַנטיינד ין דעם פּאָסטן אַססאָסיאַטיווע מענגע. די ינדעקסיז פון די פאַרשידענע עלעמענטן אין די פּאָסטן מענגע ביסט פּונקט וואָס איר ספּעציפיצירן דאָ. איר זאָגן אַז דער נאָמען פון דעם אַרייַנשרייַב איז נאמען. דער נאָמען פון דעם איינער איז פּאַראָל. סימילאַרלי, איר זען די נאמען ווי דער אינדעקס פון דער אַססאָסיאַטיווע מענגע דאָרט. אויב מיר גיין צו די כולל טעקע, מיר האָבן דעם פאַנגקשאַנז טעקע וואָס איז געגאנגען צו זייַן זייער נוצלעך. אַלע פון ​​די פאַנגקשאַנז זענען ימפּלאַמענטאַד פֿאַר איר. איר טאָן ניט דאַרפֿן צו ספּאַסיפיקלי מאַכשער קיין פון די זיך, אָבער זיי ניטאָ געגאנגען צו גאַנץ נוצלעך. מיר האָבן אַנטשולדיקן, וואָס ווי איך געזאגט פריער, וועט בייסיקלי דרוקן אויס אַ טעות אָנזאָג פֿאַר איר אויף אַ ספּעציפיש בלאַט - אַפּאָלאָגי.פפּ. דעמאָלט מיר האָבן דאַמפּ, אַזוי אויב איר נאָר רופן דאַמפּ און דעמאָלט פאָרן אין די בייַטעוודיק, דעמאָלט עס וועט ברענגען איר צו אַ בלאַט וואָס וועט אַרויסווייַזן אַז בייַטעוודיק פֿאַר איר. דעמאָלט מיר האָבן לאָגאָוט, וואָס וועט בייסיקלי סוף אַ זיכער באַניצער ס סעסיע. לאָאָקופּ איז געגאנגען צו זייַן נוצלעך. זינט מיר רע דילינג מיט קוואָטעס און סטאַקס, מיר רע געגאנגען צו זייַן קענען - און עס ס יסענשאַלי פאַקטיש צייַט. מיר דאַרפֿן צו וויסן וואָס יענע לאַגער וואַלועס ביסט, אַזוי מיר האָבן די לאָאָקופּ פֿונקציע וואָס דילז מיט יאַהאָאָ ס דאַקיומענטיישאַן פון סטאַקס. אַמאָל איר קוק אַרויף אַ זיכער סימבאָל פון אַ לאַגער, עס וועט צוריקקומען צו איר די לאַגער סימבאָל ווי געזונט ווי די נאָמען און די קראַנט פּרייַז פון וואָס לאַגער. אַז ס די לאָאָקופּ פונקציאָנירן. דעמאָלט מיר רע דילינג מיט מיסקל, אַזוי מיר רע געגאנגען צו זייַן פעלן צו ויספירן זיכער קוויריז אויף אונדזער סקל דאַטאַבאַסע. מיר האָבן אָנפֿרעג צו האַנדלען - צו מין פון אַבסטראַקט עטלעכע פון ​​וואָס אויס. מיר רע געגאנגען צו זייַן גייט פארביי אין די גאנצע שטריקל פון אונדזער סקל אָנפֿרעג - און אַלע פון ​​די וועריאַבאַלז אַז גיין אין עס - און וואָס דאָס טוט איז פאקטיש ויספירן אַז פֿאַר אונדז. אַנשטאָט פון בעת ​​צו שרייַבן אַלע פון ​​דעם אויס יעדער צייַט אַז איר ווילן צו אָנפֿרעג - דורך געטינג אַלע פון ​​די רעזולטאַטן פון אַז אָנפֿרעג - דעמאָלט איר קענען נאָר רופן די אָנפֿרעג פונקציאָנירן, און עס וועט צוריקקומען צו איר - דיפּענדינג אויף וואָס איר ניטאָ ניצן פֿאַר דיין אָנפֿרעג - מיסטאָמע אַ רודערן פון אַלע פון ​​די רעזולטאַטן וואָס גלייַכן די אָנפֿרעג אָדער ענלעך. מער אויף אַז שפּעטער כאָטש. צום סוף, מיר האָבן רידערעקט וואָס, ווי די נאָמען סאַגדזשעס, רעדירעקץ איר צו אַ אַנדערש בלאַט. און דעמאָלט מיר האָבן ופפירן, וואָס מיר רע געגאנגען צו זייַן פאַך אַ פּאָר פון מאל. ווען איר ניטאָ אין אַ קאָנטראָללער, איר רופן ופפירן אין דער מוסטער בלאַט און דעמאָלט פאָרן אין די וואַלועס אַז דער מוסטער וועט דעמאָלט האַנדלען מיט. יענע וואַלועס זענען מיסטאָמע געגאנגען צו זייַן דילינג מיט דעם טיפּ פון רעזולטאַט אַז איר ווילן צו זייַן געוויזן אויף דיין מוסטער בלאַט. אָוקיי. יענע זענען די פאַנגקשאַנז, און עס איז אַ פּלאַץ מער צו דעם פאַרשפּרייטונג קאָד. איך מוטיקן אייך צו גיין דורך דעם און ויספאָרשן עס זיך. אויך, דער ספּעק וועט מיסטאָמע גיין איר דורך עטלעכע אנדערע עלעמענטן פון דער פאַרשפּרייטונג קאָד. דאָ איז אַ קיצער פון די פאַנגקשאַנז געפונען אין פונקטיאָנס.פפּ. אָוקיי. דער ערשטער אַרבעט איז צו לאָזן ניצערס צו רעגיסטרירן אויף דעם וועבזייַטל. רעכט איצט, עס איז אַ לאָגין פאָרעם אויף דעם וועבזייַטל, און איר זענען צוגעשטעלט מיט אַ ביסל ניצערס מיט פּאַסווערדז. איר קענען נוצן יענע וסערנאַמעס און קלאָץ אין, אָבער איר ווילן צו לאָזן מענטשן צו מאַכן זייער אייגן וסערנאַמעס און לייגן זיך צו דעם וועבזייַטל. דער אויסלייג פֿאַר רעגיסטראַציע איז שיין ענלעך צו די לאָגין פאָרעם, אַחוץ די נאמען איז נישט פאַר - שאַפֿן, און דער באַניצער אויך דאַרף צו צושטעלן אַ נייַ פּאַראָל, און דעמאָלט טיפּיקלי מיר האָבן אַ פּאַראָל באַשטעטיקונג. אַמאָל דער באַניצער ינפּוץ אַלע פון ​​וואָס אינפֿאָרמאַציע, מיר וועלן צו שטעלן זיי צו אונדזער דאַטאַבאַסע פון ​​ניצערס. מיר רע געגאנגען צו האָבן אַ דאַטאַבאַסע - אַ סקל דאַטאַבאַסע - אַז מיר רע געגאנגען צו דערמאָנען. אין וואָס דאַטאַבאַסע, מיר וועט האָבן אַ טיש מיט אַלע פון ​​די ניצערס מיט זייער נאמען, זייער פּאַראָל, און אויך ווי פיל געלט זיי האָבן. אין רעגיסטרירן, מיר ווילן צו לאָזן זיי צו אַרייַן אַז אינפֿאָרמאַציע. מיר ווילן צו אַרויסווייַזן אַז פאָרעם. מיר וועלן צו מאַכן זיכער אַז זייער פּאַראָל - אַז זיי אריין איינער, און דעריבער אויך אַז די פּאַסווערדז גלייַכן ווען זיי אַרייַן עס צוויי מאָל. נאָך אַלע פון ​​וואָס איז געשען - אַסומינג אַז יענע ערראָרס זענען אָפּגעשטעלט - דעמאָלט מיר וועלן צו לייגן יענע ניצערס צו אונדזער דאַטאַבאַסע. צום סוף, אַמאָל איר ווע רעגיסטרירט, עס ס שיין באַקוועם אויב איר טאָן ניט דאַרפֿן צו קלאָץ אין ווידער אַמאָל איר ווע רעגיסטרירט, אַזוי מיר רע געגאנגען צו קלאָץ זיי אין צו דעם וועבזייַטל אויב זיי ווע רעגיסטרירט אין הצלחה. דער ערשטער אַרבעט איז צו אַרויסווייַזן די פאָרעם, און דאָס איז פאקטיש געגאנגען צו זייַן - דאָס גאנצע רעגיסטראַציע פּראָצעס איז געגאנגען צו זייַן מאַדאַלד שיין ענג נאָך לאָגין חוץ אַנשטאָט פון לאָגינ.פפּ איר זאל האָבן רעגיסטער.פפּ. אַנשטאָט פון לאָגינ_פאָרמ.פפּ--וואָס איז דער מוסטער - איר וועט האָבן רעגיסטרירן פאָרעם. איר וועט וועלן צו לייגן איינער מער פעלד - אַ פּאַראָל באַשטעטיקונג פעלד - אַנשטאָט פון נאָר די איין נאמען, און דער איין פּאַראָל. ווייַטער, מיר ווילן צו קאָנטראָלירן צי די פּאַסווערדז גלייַכן אָדער זענען ליידיק. מיר האָבן די קאָנטראָללער - רעגיסטער.פפּ--וואָס איז געגאנגען צו נעמען קעיר פון טאן די טשעקס. ווען אַ פאָרעם איז דערלאנגט דורך דעם פּאָסטן אופֿן, דעריבער אַלע פון ​​יענע וועריאַבאַלז זענען קאַנטיינד ין דער פּאָסטן מענגע. איר ווילן צו מאַכן זיכער אַז די פּאָסטן מענגע ווערט בייַ אינדעקס פּאַראָל שוועבעלעך די באַשטעטיקונג עלעמענט. איר ווילן צו מאַכן זיכער אַז זיי זענען נישט ליידיק, און איר ווילן צו מאַכן זיכער אַז זיי ניטאָ די זעלבע. איינער באַקוועם זאַך וועגן פפּ איז אַז מיר טאָן ניט דאַרפֿן צו נוצן שטריקל פאַרגלייַכן ענימאָר. מיר קענען נוצן די יקוואַלז-יקוואַלז אָפּעראַטאָר  צו קאָנטראָלירן צי סטרינגס זענען גלייַך צו איינער דעם אנדערן. פֿאַר טעות האַנדלינג, איר וועט וועלן צו אַנטשולדיקן. צו אַנטשולדיקן, איר פשוט רופן די פֿונקציע  און דעמאָלט ספּעציפיצירן אַ טיפּ פון אָנזאָג אַז איר ווילן צו רעזולטאַט. איר דעמאָלט וועלן צו לייגן די באַניצער צו די דאַטאַבאַסע. אַרויף ביז איצט, אַלע מיר ווע שוין טאן איז נאָר דילינג לאָוקאַלי מיט די רעזולטאַטן פון די פאָרעם. איצט, מיר פאקטיש וועלן צו שטעלן זיי צו אונדזער דאַטאַבאַסע. פֿאַר דעם, מיר ערשטער ווילן צו מאַכן זיכער אַז די נאמען איז ניט ליידיק. פֿאַרשטיין אַז אויף אַ וועבזייַטל, איר קענען ניט האָבן קייפל ניצערס מיט די זעלבע נאמען, אַזוי איר וועט וועלן צו מאַכן זיכער אַז ווען איר אַרייַנלייגן עפּעס אין דיין דאַטאַבאַסע - אַרייַנלייגן אַ נייַ באַניצער - דעמאָלט איר טאָן ניט באַקומען אַ צונויפשטויס צווישן אַ פאַר-שאַפֿן נאמען און דער נאמען וואָס אַ באַניצער איז טריינג צו פאָרלייגן. פֿאַר דעם, אַמאָל איר ויספירן אַ אָנפֿרעג - ינסערטינג אַ זיכער באַניצער מיט זייער פּאַראָל און אַן ערשט סומע פון ​​געלט - אַמאָל איר רופן אַז אָנפֿרעג, דעמאָלט מיסקל וועט פאקטיש צוריקקומען פאַלש אויב עס פיילז. די סטרוקטור פון ניצערס איז אַזאַ, אז די נאמען איז אַ יינציק ווערט, אַזוי איר קענען נישט האָבן מער ווי איין. ווען איר פּרובירן און אַרייַנלייגן אַ נייַ רודערן מיט אַ נאמען אַז שוין יגזיסץ, אַז ס 'געגאנגען צו צוריקקומען פאַלש - ווי אַ בוליאַן-ווערט פאַלש. א טריקי זאַך דאָ איז וואָס איר וועט וועלן צו טשעק אויב די רעזולטאַט איז דער רעזולטאַט פון דיין אָנפֿרעג. אויב עס פיילז, דעמאָלט איר וועט וועלן צו טשעק מיט די דרייַיק-יקוואַלז אָפּעראַטאָר. אַז ס 'פאקטיש געגאנגען צו קאָנטראָלירן צי עס איז אַ דורכפאַל אָדער נישט, וועראַז, אין נאָר אַ פּשוט יקוואַלז-יקוואַלז, עס וואָלט זייַן אמת אויב די רודערן איז געווען ליידיק. דער רעזולטאַט פון אַ דורכפאַל אויב עס איז אַ צונויפשטויס צווישן וסערנאַמעס איז די פאַקטיש פאַלש ווערט. דאָ איז ווי איר וואָלט אַרייַנלייגן אין אַ דאַטאַבאַסע. דאָ איז די אָנפֿרעג אַז איר וואָלט לויפן שטרענג אין סקל. איין זאַך איז אַז איר קענען פאקטיש גיין צו די וועבזייַטל אַז מאַנידזשיז דיין סקל דאַטאַבאַסע און שפּילן אַרום דאָרט דורך קומט מאַניואַלי אָדער וואַלועס אָדער ראָוז. עס וועט רעזולטאַט וואָס די סקל רעזולטאַט איז. איר קענען אויך לויפן סקל קאַמאַנדז ין דיין דאַטאַבאַסע  און דאַן זען וואָס די סינטאַקס זאל זייַן, און דעמאָלט איבערזעצן אַז אין די אָנפֿרעג פֿונקציע וואָס מיר האָבן אין פּסעט 7, וואָס איז געגאנגען צו זייַן זייער ענלעך צו די קוויריז אַז איר פאקטיש לויפן. אויב איך געוואלט צו אַרייַנלייגן אַ נייַ רודערן אין מיין ניצערס טיש, דעמאָלט איך וואָלט ספּעציפיצירן אַרייַנלייגן אין ניצערס, וואָס איז די נאָמען פון מיין טיש. דעמאָלט איך וואָלט ספּעציפיצירן דער זייַל נעמען. דעמאָלט איך וואָלט צושטעלן די וואַלועס צוזאמען מיט מיין פּאַראָל. פּאַסווערדז אין אונדזער ניצערס טיש זענען נישט סטאָרד ווי נאָר די שטריקל. זיי זענען סטאָרד ווי די ענקריפּטיד ווערסיע, אַזוי איר וועט ווילן צו לויפן די פֿונקציע קריפּט אויף די פאַקטיש פּאַראָל, און וואָס וועט געבן איר די ריכטיק טיפּ פון סטאָרידזש פֿאַר די ניצערס מענגע. פליסנדיק דאָס וועט אַרייַנלייגן אַ נייַ רודערן אין דיין ניצערס טיש. צו האַנדלען מיט די אָנפֿרעג פונקציאָנירן, איידער אין C מיר געניצט די פּראָצענט צייכן ווי אַ פּלאַסעהאָלדער. סימילאַרלי, דער זעלביקער באַגריף פון אַ פּלאַסעהאָלדער אַפּלייז דאָ. מיט אָנפֿרעג, איר ספּעציפיצירן די גאנצע אָנפֿרעג, אַחוץ ווען איר ניטאָ דילינג מיט וועריאַבאַלז ווי דיין אַרייַנשרייַב אין די אָנפֿרעג, דעריבער אַנשטאָט פון פאקטיש פּאַטינג זיי ין - ווי ווען מיר האט פּרינטף סטייטמאַנץ אין סי מיר וואָלט שטעלן די שטריקל און דעריבער האָבן אַ פּלאַסעהאָלדער דאָרט, און דעמאָלט נאָך יעדער קאָמע, ספּעציפיצירן וואָס בייַטעוודיק מיר געהאט. דאָ, מיר רע געגאנגען צו נוצן די פֿראַגע צייכן צייכן ווי אונדזער פּלאַסעהאָלדער און דעמאָלט פאָרן אין יעדער בייַטעוודיק, ריספּעקטיוולי אין סדר, פֿאַר די פּלאַסעהאָלדערס - ווו יענע וועריאַבאַלז זאָל גיין. אַזוי דאָ, דער ערשטער קשיא צייכן וואָלט זייַן ריפּלייסט דורך די פאַקטיש נאמען דעריבער די רגע קשיא צייכן דורך די פּאַראָל. דעמאָלט לעסאָף, אַמאָל איר ווע רעגיסטרירט זיי און צוגעגעבן זיי צו די דאַטאַבאַסע, דעמאָלט איר ווילן צו קלאָץ זיי אין די וועבזייַטל. מיר האָבן מין פון אַ סופּער-גלאבאלע בייַטעוודיק גערופן סעסיע. סעסיע נעמט אַ זיכער שייַן, און אַז שייַן קאָראַספּאַנדז צו דער באַניצער אַז ס דערווייַל לאָגד ין וואָס איר וועט וועלן צו טאָן איז געפֿינען וואָס זייער באַניצער שייַן איז און דעמאָלט באַשטימט אַז סעסיע שייַן ווי אַז באַזונדער באַניצער ס שייַן. א פֿונקציע וואָס איר וועט וועלן צו נוצן דאָ איז אַ סקל באַפֿעל וואָס וועט צוריקקריגן די לעצטע ינסערטאַד שייַן נומער פון דיין טיש. דעמאָלט ראָוז וועט רופן - יטל רופן די שייַן - יטל באַשטימען אַ נאָמען צו די נומער וואָס עס קערט. עס וועט רופן אַז שייַן. איצט מיר ווע פאַרטיק רעגיסטרירן, און מיר קענען מאַך אויף צו ציטירן. ציטירן אַלאַוז אַ באַניצער צו אַרייַנשרייַב די נאָמען פון אַ זיכער לאַגער, און דעמאָלט עס וועט צוריקקומען די מידות פון וואָס לאַגער. וואָס איר וועט וועלן צו טאָן דאָ איז האָבן אַ קאָנטראָללער און עטלעכע טעמפּלאַטעס. אין דעם פאַל, מיר רע געגאנגען צו האָבן אַ קאָנטראָללער וואָס איז געגאנגען צו טאָן אַלע פון ​​די טראכטן פֿאַר אונדז. עס ס געגאנגען צו קוקן אַרויף די סימבאָל און דעמאָלט פאָרן אין וואַלועס צו די טעמפּלאַטעס וואָס וועט דרוקן אויס. מיר רע געגאנגען צו האָבן 2 טעמפּלאַטעס דאָ. מיר רע געגאנגען צו האָבן 1 מוסטער וואָס גיט די פאָרעם אין וואָס ניצערס זענען געגאנגען צו אַרייַנשרייַב די נאָמען פון די לאַגער - דער נאָמען פון דעם שער. דעמאָלט מיר רע אויך געגאנגען צו ווילן אן אנדער מוסטער וואָס דיספּלייז יענע וואַלועס. איר קענען קוקן אין לאָגין פֿאַר אַ בייַשפּיל פון ווי איר וואָלט האָבן אַ פאָרעם וואָס אַקסעפּץ אַרייַנשרייַב, אַחוץ אין דאָ, מיר נאָר ווילן 1 פעלד. מיר טאָן ניט ווילן אַ נאמען און אַ פּאַראָל פעלד. מיר נאָר ווילן 1 טעקסט פעלד וואָס אַלאַוז די באַניצער צו אַרייַנשרייַב די נאָמען פון אַ זיכער לאַגער. דעמאָלט איר ווילן צו שיקן אַז דאַטן - אַמאָל איר האָבן געקוקט אַרויף אַז לאַגער - צו קוואָטע_פאָרמ.פפּ. לאָאָקופּ וועט צוריקקומען דער סימבאָל פון אַ לאַגער, די נאָמען, און אַ פּרייַז. יענע זענען קאַנטיינד ין אַ אַססאָסיאַטיווע מענגע. קוק אַרויף די לאָאָקופּ פונקציאָנירן ין די פונקטיאָנס.פפּ פֿאַר מער אינפֿאָרמאַציע אויף די צוריקקומען טייפּס פון יענע. גרויס! אַזוי דעמאָלט לעסאָף, איר וועט וועלן צו אַרויסווייַזן די לאַגער אינפֿאָרמאַציע. איר וועט וועלן צו מיסטאָמע אַרויסווייַזן - יול ווילן צו צוטריט יענע וועריאַבאַלז. אַמאָל איר האָבן די פּרייַז אין אַ בייַטעוודיק - ווי געזונט ווי די נאָמען און די סימבאָל - דעמאָלט איר וועט וועלן צו אַרויסווייַזן יענע אין דיין מוסטער בלאַט. אַז מוסטער בלאַט קען זייַן גערופן שאָוו_קוואָטע.פפּ אָדער עפּעס. דיין קוואָטע.פפּ בלאַט וואָלט ופפירן ווייַזן ציטירן און דעמאָלט פאָרן אין אַלע פון ​​יענע וואַלועס. דעמאָלט אין דיין פפּ בלאַט, איר פאקטיש דרוקן אויס יענע וואַלועס צו די HTML אַספּעקט פון דער בלאַט. איר נאָר נוצן די דרוקן פונקציאָנירן און פאָרן אין די פּרייַז. עס זענען 2 וועגן - איר קענען אָדער קאַנקאַטאַנייט עס מיט דער פּינטעלע אָפּעראַטאָר, אָדער נוצן אַ פּלאַסעהאָלדער. די ניצערס יווענטשאַוואַלי זענען געגאנגען צו זייַן בייינג און סעלינג סטאַקס. מיר ווילן צו לאָזן זיי עטלעכע וועג פון געזען אַלע פון ​​די סטאַקס, אז זיי דערווייַל האָבן. מיר רע געגאנגען צו רופן אַז זייער פּאָרטפעל. פּאָרטפעל וואָלט, מאַשמאָעס פֿאַר יעדער באַניצער, אַנטהאַלטן אַ בינטל פון ראָוז ליסטינג דער טיפּ פון שער אַז זיי האָבן און דעמאָלט ווי פילע פון ​​יענע זיי האָבן. אונדזער שאַפֿן טיש - רעכט איצט מיר האָבן אַ ניצערס טיש אין אונדזער דאַטאַבאַסע. אַז כּולל אַ באַניצער ס נאמען ווי געזונט ווי זייער פּאַראָל און ווי פיל געלט זיי האָבן. עס ס קיין פאַקטיש וועג פון סטאָרינג אַלע פון ​​זייער סטאַקס ין אַז. עס ס ניט ווי מיר קענען אַרייַנלייגן נייַ שפאלטן פֿאַר יעדער לאַגער. וואָס וואָלט זייַן אַ זייער, זייער לאַנג רודערן ווייַל מיר האָבן אַ ינפאַנאַט קוואַנטיטי פון טיפן פון סטאַקס אַז זיי געקענט האָבן. אַזוי, אַנשטאָט וואָס מיר וועט טאָן איז ין דער זעלביקער דאַטאַבאַסע, מיר וועט האָבן אַ ניצערס טיש, אָבער דעמאָלט מיר וועט אויך האָבן אַ פּאָרטפעל טיש. דער פּאָרטפעל טיש וועט זייַן באשטימט לינגקט צו די ניצערס טיש, אָבער אַנשטאָט די פּאָרטפעל טיש סטרוקטור וועט האָבן די לאַגער אינפֿאָרמאַציע, ווי פילע שאַרעס פון וואָס לאַגער דער באַניצער האט, ווי געזונט ווי אַ באַניצער ס באַזונדער שייַן נומער. איר האָבן די ניצערס טיש וואָס האט אַ שייַן ווי געזונט ווי די נאמען, די האַש - וואָס איז די פּאַראָל, די ענקריפּטיד Password - און דעריבער די סומע פון ​​געלט זיי האָבן. די שייַן נומער וואָלט זייַן לינגקט צו די שייַן נומער פון דער פּאָרטפעל. דער פּאָרטפעל וואָלט נאָר האָבן דעם סימבאָל פון דעם לאַגער ווי געזונט ווי די שאַרעס - די נומער פון שאַרעס פון וואָס לאַגער אַז דער באַניצער האט. אין וואָס פּאָרטפעל טיש איר וואָלט האָבן בייסיקלי אַלע שאַרעס באזעסענע דורך אַלע פון ​​די ניצערס אויף דיין פּלאַץ. שפּעטער אויף, צו ספּעציפיצירן בלויז אַ זיכער באַניצער ס שאַרעס - נאָר זייער פּאָרטפעל - איר וואָלט צוריקקריגן דעם וואַלועס פון דיין פּאָרטפעל ס טיש אַזאַ וואָס די שייַן נומער איז ספּעציפיש צו אַז באַניצער. ווען איר אַרויסווייַזן די פּאָרטפעל, איר וועט וועלן צו באַריכט יעדער פון די סטאַקס אין אַ באַניצער ס פּאָרטפעל. איר וועט וועלן צו באַריכט די נומער פון שאַרעס און די קראַנט ווערט פון יענע שאַרעס. אַז קראַנט ווערט פון יענע שאַרעס איז נישט סטאָרד אין דער פּאָרטפעל טיש ווייַל אַז ס 'געגאנגען צו זייַן אַפּדייטינג - בייַ מינימום - יעדער טאָג דורך יאַהאָאָ. צו באַקומען וואָס אינפֿאָרמאַציע, איר קענען נישט דערמאָנען אַז פון דיין סקל אָנפֿרעג. וואָס פונקציאָנירן גיט אַז צו אונדז? וואָס פונקציאָנירן וועט באַקומען דעם פּרייַז? אַז ס לאָאָקופּ, אַזוי ניצן לאָאָקופּ אויף אַ באַזונדער סימבאָל וועט געבן איר אַ פּלאַץ פון אינפֿאָרמאַציע. עס וועט געבן איר 3 ברעקלעך פון אינפֿאָרמאַציע - די נאָמען, דער סימבאָל, ווי געזונט ווי די פּרייַז. אַמאָל איר לאָאָקופּ אַ זיכער סימבאָל, דעמאָלט איר קענען באַקומען דעם פּרייַז, און דאַן איר קענען נוצן די פּרייַז צו זייַן געוויזן אין דיין פּאָרטפעל. דער פּאָרטפעל זאָל אויך אַרויסווייַזן דעם באַניצער 'ס קראַנט געלט וואָג. אַז פעלד איז סטאָרד ין דיין ניצערס טיש. אַזוי דעמאָלט רימעמבערינג ווי מיר רע בייסיקלי ווייל צו - מיר רע ווייל אַנדערש טייפּס פון פפּ טעקעס. מיר רע געגאנגען צו האָבן אַ קאָנטראָללער וואָס בייסיקלי טוט אַלע די טראכטן פֿאַר איר. און דעמאָלט מיר האָבן אַ מוסטער אין וואָס די מוסטער דילז מיט אָוטפּוטטינג דאַטן. איר האָבן צו טראַכטן פון וואָס וועריאַבאַלז די קאָנטראָללער וועט דאַרפֿן צו נעמען ין אויב מיר רע דילינג מיט אַ פּאָרטפעל וואָס אַוטפּוץ יעדער נאָמען, סימבאָל, און שער נומער, ווי ווויל ווי קראַנט פּרייַז פון אַ לאַגער, דעמאָלט איר וועט ווילן צו געפֿינען עטלעכע וועג פון בייסיקלי גייט פארביי אין - איר קענען פאָרן אין אַ מענגע פון ​​וואַלועס וואָס גלייַכן וואָס. זאל ס גיין אין אַ בייַשפּיל פון ווי איר זאל צוריקקריגן אַלע פון ​​די סטאַקס אָונד דורך אַ באַזונדער באַניצער. דאס איז נישט דילינג - נאָך - מיט די פּרייַז פון די לאַגער. וואָס דאָס וואָלט טאָן איז לויפן אַ אָנפֿרעג. עס וואָלט קריגן די סימבאָל ווי געזונט ווי די שאַרעס פון - איך בין פאַך דעם טיש, אָבער אין דעם פאַל וואָס וואָלט עס זייַן? וואָס ס די נאָמען פון די טיש וואָס מיר רע דילינג מיט וואָס האט סימבאָל און שאַרעס פֿאַר אַ באַזונדער באַניצער? עס ס אָדער ניצערס אָדער פּאָרטפעל. פּאָרטפעל. וואָס דאָס וואָלט טאָן איז אָנפֿרעג פּאָרטפעל פֿאַר די סימבאָלס און שאַרעס פֿאַר אַ באַזונדער באַניצער. דאָ, איך זאָגן, (אויסקלייַבן סימבאָל, שאַרעס פֿון טבל - אָבער אַנשטאָט פון טיש, איר ניטאָ געגאנגען צו פאַרבייַטן אַז מיט פּאָרטפעל. 'וואו' איז בייסיקלי מיין צושטאַנד. איך בין געזאגט איך נאָר ווילן צו באַקומען יענע אַססאָסיאַטיווע ערייז אַז שטימען  צו דעם פאלגענדע צושטאַנד - שייַן יקוואַלז.  דעמאָלט איך בין פּאַטינג אַ פּלאַסעהאָלדער עס און דעמאָלט סעסיע שייַן. וואָס דאָס וואָלט טאָן איז זאָגן פֿאַר יעדער רודערן אין ראָוז. דאס איז אַ ציכטיק וועג אַנשטאָט פון פאקטיש ווייל צו שטעלן אַרויף אַ פֿאַר שלייף אַז יטעראַטעס איבער אַלע פון ​​די ינדעקסיז, דעמאָלט אין פפּ איר קענען האָבן אַ פֿאַר-יעדער שלייף. אויב איר האָבן אַ געגעבן מענגע, דעמאָלט איר קענען זאָגן איך בין געגאנגען צו רופן יעדער סאַקסעסיוו עלעמענט - איך בין געגאנגען צו רופן יעדער עלעמענט דעם נאָמען. אַזוי, פֿאַר יעדער איינער פון די יסודות, איך בין געגאנגען צו רופן זיי דאָס, דעמאָלט איך קענען טאָן דעם. אין דעם פֿאַר יעדער, איר האָבן ראָוז ווי דיין פאַקטיש מענגע, און יעדער רודערן איר ניטאָ געגאנגען צו רופן רודערן. יעדער מאָל עס עקסאַקיוץ דעם גוף, עס וועט גיין אַרויף און עס וועט דערהייַנטיקן רודערן צו דער ווייַטער עלעמענט אין ראָוז. איצט, אין טערמינען פון בייינג סטאַקס, וואָס מיר ווילן צו טאָן איז באַקומען די לאַגער אַז דער באַניצער וויל צו קויפן און די סומע פון ​​שאַרעס אַז דער באַניצער וויל צו קויפן, און דאַן - אויב זיי ווילן - לייגן אַז לאַגער צו זייער פּאָרטפעל. דאָך, אויב זיי ניטאָ בייינג עפּעס, דעמאָלט אַז ס 'געגאנגען צו פאַרקלענערן די סומע פון ​​געלט זיי האָבן, אַזוי אַז ס 'געגאנגען צו פאַרקלענערן זייער געלט. מיר רע געגאנגען צו זייַן דילינג מיט אַפּדייטינג דער פּאָרטפעל ווי געזונט ווי די ניצערס טיש, וואָס כּולל די געלט. אבער ערשטער, איר דאַרפֿן צו באַקומען די פאַקטיש לאַגער און סומע פון ​​שאַרעס אַז דער באַניצער וויל. פֿאַר וואָס, איר וועט דאַרפֿן אַ HTML פאָרעם וואָס וועט פרעגן פֿאַר די סימבאָל פון די לאַגער אַז איר ווילן צו קויפן ווי געזונט ווי די נומער פון שאַרעס. דעמאָלט איר וועט וועלן צו לייגן. איר וועט וועלן צו אויסקלייַבן זיכער וואַלועס. מיר ווע ניטאָ דורך דעם אַ קליין ביסל שוין, אָבער ווען איר ניטאָ טריינג צו קריגן זיכער ראָוז - צוריקקריגן זיכער ראָוז פון די סקל טיש, דאָס איז די פאלגענדע סינטאַקס. איר האָבן אויסקלייַבן, און דעריבער אויב איר ספּעציפיצירן אַ שטערן, וואָס וועט בייסיקלי צוריקקומען די גאנצע, גאַנץ רודערן פֿאַר איר. דעמאָלט ווידער, איר האָבן די צושטאַנד ווו, און דאַן איר ספּעציפיצירן - איך נאָר ווילן די נאמען צו זייַן גלייַך צו פּאָסט-אין, אַזוי עס וועט נאָר צוריקקריגן דעם רודערן אין ניצערס אַז קאָראַספּאַנדז צו פּאָסט-אין. ווען אַ באַניצער וויל צו לייגן אַ טיילן צו אַ פּאָרטפעל, איר דאַרפֿן צו טשעק פֿאַר אַ ביסל ערראָרס. איר ווילן צו מאַכן זיכער אַז דער באַניצער קענען פאקטיש פאַרגינענ די לאַגער, אַזוי איר וועט וועלן צו קאָנטראָלירן זייער געלט. פריער, מיר געניצט שטערן צו צוריקקריגן אַ גאַנץ רודערן פון אַ סקל טיש. אבער דאָ, מיר קענען פאקטיש פּונקט ספּעציפיצירן אַז איך נאָר ווילן 1 ווערט - איך נאָר ווילן געלט. אַזוי דאָ, עס וואָלט צוריקקומען די געלט פֿאַר די באַניצער מיט שייַן נומער 1. אויב אַ באַניצער האט שוין געקויפט אַ זיכער לאַגער אָבער דעמאָלט בייז מער פון וואָס לאַגער, דעמאָלט אין דיין פּאָרטפעל - איר טאָן ניט ווילן אַ באַזונדער שורה, אן אנדער רודערן אַז כּולל אַז נייַ מאַסע - מאַטן. איר פאקטיש ווילן צו דערהייַנטיקן די סומע. אַלע אַז ס טשאַנגינג טאַקע איז די סומע פון ​​שאַרעס אַז אַז באַניצער אָונז. אויב איר נוצן די אַרייַנלייגן אין אָנפֿרעג - אַזוי עס ס נאָר אַרייַנלייגן אין דיין פּאָרטפעל אַלע פון ​​די וואַלועס - דער באַניצער ס שייַן נומער ווי געזונט ווי דער סימבאָל פון די לאַגער אַז זיי ניטאָ בייינג און די שאַרעס, דעמאָלט איר וועט אויך ווילן צו ספּעציפיצירן, געזונט, אויב איך לויפן אין אַ דופּליקאַט שליסל - אין דעם פאַל, די דופּליקאַט שליסל איז ניט בלויז דער באַניצער ס שייַן אָבער אויך די לאַגער סימבאָל - ווייַל איר קענען נאָר האָבן - אונדזער האַנאָכע איז אַז איר קענען נאָר האָבן 1 רודערן  אַז קאָראַספּאַנדז צו 1 ספּעציפיש סימבאָל. אַזוי, אויף די דופּליקאַט שליסל - אויב איר לויפן אין אַ צונויפשטויס דאָרט - איר ניטאָ נאָר געגאנגען צו דערהייַנטיקן שאַרעס צו זייַן נייַ ווערט. שאַרעס יקוואַלז וועלכער מיר האבן פריער פּלוס די נומער פון שאַרעס אַז דער באַניצער איז בייינג. איצט אַז מיר ווע דערהייַנטיקט דער פּאָרטפעל טיש, מיר וועט ווילן צו דערהייַנטיקן די באַניצער ס געלט. אַז ס אין די ניצערס טיש, אַזוי מיר רע געגאנגען צו זייַן סאַבטראַקטינג אַ געוויסע סומע פון ​​געלט. מאַשמאָעס, עס ס געגאנגען צו זייַן געלט יקוואַלז געלט מינוס - און דעמאָלט אַ געוויסע סומע. צו דערהייַנטיקן די געלט, איר וואָלט - אויב איך געוואלט צו נעמען אַוועק געלט פון פּאָסט-אין, דאַן איך וואָלט לויפן דעם אָנפֿרעג - 'דערהייַנטיקן ניצערס' און דעריבער שטעלן די געלט זייַל צו געלט - איך וואָלט באַזייַטיקן 9999 דאָללאַרס נאָר אויב די נאמען איז גלייַך צו פּאָסט-אין. אבער, אין דעם פאַל, מיר טאָן נישט וועלן צו אַראָפּרעכענען 9999 ספּאַסיפיקלי. מיר ווילן צו ספּעציפיצירן, געזונט, מיר ווילן צו אַראָפּרעכענען די קראַנט פּרייַז פון די לאַגער געמערט דורך די נומער פון שאַרעס אַז זיי ניטאָ בייינג. איצט מיר ווע ערלויבט זיי צו זען אַלע פון ​​די סטאַקס, אז זיי האָבן, ווי ווויל ווי קויפן מער סטאַקס. מיר האָבן אויך פריער ערלויבט זיי צו קוקן אַרויף די קראַנט פּרייַז פון אַ לאַגער. דאָ מיר ווילן צו לאָזן זיי צו פאַרקויפן זיי. ערשטער מיר ווילן צו אַרויסווייַזן בייסיקלי - מיר ווילן צו לאָזן זיי צו זען אַלע פון ​​די סטאַקס, אז זיי האָבן, אַזוי דאָ מיר ווילן צו אַרויסווייַזן אַלע פון ​​די ראָוז פון דער פּאָרטפעל. אויב זיי קלייַבן צו פאַרקויפן אַ זיכער לאַגער, דעמאָלט מיר רע געגאנגען צו יבערנעמען אַז זיי ווילן צו פאַרקויפן אַלע פון ​​אים. זיי זענען נישט נאָר געגאנגען צו פאַרקויפן 50% פון זייער שאַרעס, זיי ניטאָ געגאנגען צו פאַרקויפן 100% פון אים. מיר קענען נאָר אויסמעקן די גאנצע רודערן פון פּאָרטפעל. מיר קענען אויסמעקן די געגעבן באַניצער ס שאַרעס פון דער זיכער סימבאָל. עס ס דעם סינטאַקס פֿאַר וואָס. דעמאָלט מיר ווילן צו דערהייַנטיקן די געלט. מיר רע געגאנגען צו זייַן אַדינג אין די געלט גלייַך צו דער סומע פון ​​שאַרעס זיי זענען סעלינג געמערט דורך די קראַנט פּרייַז פון די לאַגער - נישט די פּרייַז בייַ וואָס זיי געקויפט עס, אָבער אלא די פּרייַז בייַ וואָס זיי זענען - די קראַנט פּרייַז ווען זיי זענען סעלינג עס. צו דערמאָנען דעם קראַנט פּרייַז פון אַ לאַגער, איר וועט וועלן צו נוצן לאָאָקופּ, וואָס וועט געבן איר די פּרייַז פון אַ לאַגער בייַ די קראַנט צייַט. איצט מיר זענען לינקס מיט געשיכטע, וואָס איר ווילן צו לאָזן אַ באַניצער צו האַלטן שפּור פון אַלע פון ​​זייער טראַנזאַקשאַנז - וויל צו זען ווען זיי פארקויפט עפּעס, ווען זיי געקויפט אַ לאַגער. מיר ווילן צו ספּעציפיצירן די צייַט אין וואָס זיי האבן אַז ווי געזונט ווי ווי פילע זיי געקויפט און וואָס לאַגער עס איז געווען. צי מיר האָבן קיין קראַנט, שאַפֿן סטרוקטור וואָס ספּעסאַפייז וואָס? נו, מיר האָבן פּאָרטפעל וואָס דיספּלייז די נומער סטאַקס אַז אַ באַניצער האט פֿאַר אַ געגעבן שער. אבער מיר רע סטראַקטשערינג פּאָרטפעל אין דער וועג וואָס עס דערהייַנטיקונגען ווען מיר קויפן קייפל, וועראַז געשיכטע זאָל - אויב איר קויפן עפּל, 10 שאַרעס פון אים, און דעמאָלט שפּעטער אויף פאַרקויפן 5, דעמאָלט איר וואָלט ווילן צו זען יענע סעפּעראַטלי ווי באַזונדער אַקשאַנז, באַזונדער ראָוז. וועראַז אַז אַקציע צו וויזשוואַלייז אַז אין אונדזער פּאָרטפעל טיש וואָלט נאָר זייַן אַ דערהייַנטיקן צו אַז באַזונדער רודערן,  אַזוי מיר רע מיסטאָמע געגאנגען צו ווילן אנדערן טיש. אין אונדזער דאַטאַבאַסע, מיר האָבן אונדזער ניצערס טיש, מיר האָבן אונדזער פּאָרטפעל טיש, און איצט מיר וועט מיסטאָמע ווילן אַ געשיכטע טיש. אַז געשיכטע טיש קענען האַלטן שפּור פון די קראַנט טאָג, ווי געזונט ווי די באַזונדער לאַגער סימבאָל, ווי געזונט ווי ווי פילע שאַרעס, און דעמאָלט וואָס קאַמף עס איז - צי איר זענען בייינג יענע שאַרעס אָדער צי איר זענען סעלינג זיי. צו האַנדלען מיט טאָג, דאָרט זענען אַ פּאָר פון וועגן וואָס איר קענען טאָן דעם. פפּ האט אַ וועג פון בעכעסקעם שפּור פון טאָג, וואָס איר קענען קוקן אַרויף זיך. אין סקל איר קענען אויך נוצן אָדער איצט אָדער קראַנט טימעסטאַמפּ. אַז ס אַרויף צו איר. נאָר מאַכן זיכער אַז יעדער מאָל אַ באַניצער בייז אָדער סעלז, איר וועט זייַן אַפּדייטינג זייער געלט אין די ניצערס טיש, איר וועט זייַן אַפּדייטינג די ראָוז אין די פּאָרטפאָוליאָוז טיש, דעמאָלט איר וועט אויך זייַן אַפּדייטינג די געשיכטע, אַזוי עס זענען געגאנגען צו זייַן 3 באַזונדער סקל קוויריז אַז איר וועט זייַן פאַך דאָרט. מיר האָבן אַ בינטל פון פאַנגקשאַנאַליטי איצט. נאָר אַ פּאָר פון רימיינדערז אַז אין דיין אינדעקס טעקע, איר וועט וועלן צו לינק צו בייַ מינדסטער אייער - אָבער איר וועט וועלן צו לאָזן אַ באַניצער צו לינק צו דעם בוי.פפּ בלאַט. אַז ס 'געגאנגען צו לאָזן אַ באַניצער - בוי.פפּ איז די קאָנטראָללער, אַזוי אַז ס' געגאנגען צו אָדער שיקן איר צו - אַז ס 'געגאנגען צו שיקן איר צו דעם פאָרעם וואָס אַלאַוז איר צו קוקן דאס אַרויף. מיר האָבן געשיכטע. מיר האָבן לאָגינג אויס, געטינג אַ ציטירן און דעמאָלט סעלינג. יענע זענען בייַ מינימום וואָס איר ווילן צו ווייַזן. אין טערמינען פון דער פּאָרטפעל, דער פּאָרטפעל איז פאקטיש געוויזן אין די אינדעקס בלאַט. אויב מיר גיין צו אינדעקס, דאָ מיר זען אַז עס רענדערז פּאָרטפאָליאָ.פפּ און פּאַסיז אין די אַססאָסיאַטיווע מענגע - בייסיקלי די טיטל יקוואַלז פּאָרטפעל. אַזוי, דאָס איז די קאָנטראָללער. אויב מיר גיין צו די מוסטער פון פּאָרטפאָליאָ.פפּ, דעריבער אַלע עס האט איז - דיספּלייז בייסיקלי אַ בילד וואָס זאגט, אָה, דאָס פּלאַץ איז אונטער קאַנסטראַקשאַן. שפּעטער אויף, אַמאָל איר פאָרן אין - יול זייַן גייט פארביי אין בייסיקלי מער ספּעציפיש אינפֿאָרמאַציע. אַנשטאָט פון נאָר די טיטל, איר וועט מיסטאָמע זייַן גייט פארביי אין מער זאכן. אַמאָל איר האָבן יענע וואַלועס, דעמאָלט פּאָרטפאָליאָ.פפּ קענען האַנדלען מיט יענע וואַלועס און דרוקן זיי אויס אין קיין סאָרט פון סדר. אַמאָל איר ווע ימפּלאַמענטאַד אַלע פון ​​יענע, איר אויך דאַרפֿן צו מאַכשער 1 מער שטריך. דאס קענען אָדער זייַן אַלאַוינג אַ באַניצער צו טוישן זייער פּאַראָל, צו באַשטעטיק זייער פּאַראָל אויב זיי ווע פארגעסן עס - אַזוי פֿאַר די Password באַשטעטיק, דעמאָלט איר וועט מיסטאָמע אויך ווילן צו רעדאַגירן רעגיסטרירן אַזוי אַז עס אַלאַוז זיי צו ספּעציפיצירן אַ בליצפּאָסט, אַזוי אויב זיי פאַרגעסן זייער פּאַראָל, דעריבער זיי קענען באַקומען וואָס. זיי קענען מיסטאָמע אַרייַן אין זייער נאמען, און דעמאָלט אַן Email וועט זייַן געשיקט צו זיי מיט אַ לינק צו זייַן ביכולת צו באַשטעטיק זייער פּאַראָל. איר קענען האָבן עפּעס וואָס אַלאַוז ניצערס צו באַקומען ריסיץ יעדער מאָל זיי קויפן אָדער פאַרקויפן עפּעס, און דעמאָלט לעסאָף, לאָזן זיי צו לייגן געלט צו זייער וועבזייַטל. נאָר צו גיין צוריק אין די באַגריף פון קאַנטראָולערז און טעמפּלאַטעס אַ קליין ביסל. איר וועט האָבן עפּעס ווי אַ - אַזוי איר וועט האָבן אַ קאָנטראָללער דאָ. רעכט איצט, מיר רע קוקן בייַ די לאָגינ.פפּ בייַשפּיל. ווען מיר האָבן אַ קאָנטראָללער, בייסיקלי עס ס געגאנגען צו נעמען 2 קאַסעס. ווען מיר האָבן קאַנטראָולערז, מיר ניטאָ אין דעם שטיק אַז מיר רע אויך מין פון דילינג מיט ווען מיר האָבן פארמען ווי געזונט. די קאָנטראָללער וועט בייסיקלי האָבן באַזונדער אַקשאַנז - איינער אויב אַ פאָרעם האט שוין געווען דערלאנגט, און דעמאָלט צוויי אויב דער באַניצער איז קומענדיק צו אַז בלאַט פֿאַר די ערשטער מאָל און נאָך דאַרף צו אַרייַנשרייַב אַז פאָרעם. איך בין געגאנגען צו שפּרינגען צו אַז פאַל ערשטער איידער געגאנגען אַרויף צו דער ערשטער פאַל פון בעת ​​דער פאָרעם ין דאָ מיר זאָגן, אויב די פאָרעם האט שוין דערלאנגט מיט די אופֿן פּאָסטן - טאָן ניט זאָרג וועגן וואָס אַ ביסל. צי ניט זאָרג וועגן אַז אויך פיל אָבער פֿאַרשטיין אַז בייסיקלי דעם פֿונקציע דילז מיט צי אַ פאָרעם האט שוין דערלאנגט אָדער נישט. דאס צושטאַנד איז אמת אויב אַ באַניצער האט דערלאנגט די פאָרעם. אויב נישט, דעמאָלט מיר רע געגאנגען צו ווילן צו רופן ופפירן לאָגינ_פאָרמ.פפּ, און דאַן פאָרן אין די טיטל. דעם טיטל איז נאָר בייסיקלי געגאנגען צו דערשייַנען אין די כעדער. וואָס דאָס טוט איז בייסיקלי זאגט, אָוקיי - געזונט, אויב אַ באַניצער גייט צו לאָגינ.פפּ און האט ניט פאקטיש לאָגד אין, דעמאָלט איך ווילן צו שיקן זיי צו די בלאַט וואָס האט אַז פאָרעם וואָס אַלאַוז זיי צו אַרייַנשרייַב די נאמען און די פּאַראָל. דעמאָלט איך גיין צו לאָגינ_פאָרם, און דעמאָלט וואָס האט די פאַקטיש פאָרעם. דעמאָלט, אַמאָל דער באַניצער סאַבמיץ אַז פאָרעם, זיי ניטאָ געגאנגען צו פאָרלייגן עס צו לאָגינ.פפּ מיט דעם אופֿן פּאָסטן. דעמאָלט איך בין פאקטיש געגאנגען צו אַרייַן דעם אָפּטיילונג פון מיין אויב-אַנדערש שלייף. דעמאָלט עס ס אין דאָ אַז מיר האַנדלען מיט די וואַלועס אריין אין די פאָרעם. עס ס דאָ אַז מיר האַנדלען מיט יענע. דעמאָלט אַמאָל איר האַנדלען מיט יענע וואַלועס - אויב איר ניטאָ דילינג מיט - זאָגן מיר רע דילינג מיט די קוואָטע.פפּ בלאַט ווו עמעצער קענען אַרייַנשרייַב אַ לאַגער אַז זיי ווילן צו קוק אַרויף, און דעמאָלט זען אַז אַרויסווייַזן - אַז ס מין פון ענלעך דאָ. דאָ מיר האָבן אַ לאָגין פאָרעם - יוד מיסטאָמע האָבן אַ ציטירן פאָרעם - אָבער דעמאָלט אַמאָל דער באַניצער האט פאקטיש דערלאנגט אַז אינפֿאָרמאַציע, דעמאָלט איר וועט וועלן די קאָנטראָללער צו פאָרן אין אן אנדער מוסטער וואָס וועט ווייַזן זיי אַז פאַקטיש אינפֿאָרמאַציע. אַזוי דעמאָלט רעכט אַרום דאָ, דעריבער איר וועט מיסטאָמע - אַרום דער סוף פון דיין צושטאַנד דאָ - די אויב דער אופֿן יקוואַלז פּאָסטן - דעמאָלט איר וועט מיסטאָמע ווילן צו ופפירן אנדערן בלאַט - די ווייַזן ציטירן - וואָס סענדז איר צו אַז בלאַט - שאָוו_קוואָטע.פפּ-- און דעמאָלט אין אַז טעקע וועט דערמאָנען יענע וואַלועס. טוט וואָס מאַכן זינען? מיר האָבן אַ קאָנטראָללער אַז בייסיקלי דילז מיט די 2 פאלן - צי איר ווע אריין אַ פאָרעם אין אָדער נישט. אויב איר האָט ניט אריין אַ פאָרעם, דעמאָלט עס וועט רידערעקט איר צו אַז פאָרעם, וואָס וועט דעמאָלט שטעלן איר צוריק צו אַז בלאַט. דעמאָלט, אַמאָל איר האָבן אינפֿאָרמאַציע אין די קאָנטראָללער, אַז גוף וועט האַנדלען מיט וואָס אינפֿאָרמאַציע ווי נייטיק - אָדער קוקן אַרויף וואַלועס פֿאַר די לאַגער, און דעמאָלט אַמאָל עס ס געקוקט אַרויף יענע וואַלועס און האט זיי אין אַ נייסלי פאָרמאַטטעד מענגע, דעריבער קענען פאָרן אַז מענגע אין דער מוסטער בלאַט  אַז דילז מיט אָוטפּוטטינג אַז אינפֿאָרמאַציע. ווידער, זינט עס ס וועב, עס ס געגאנגען צו זייַן שפּאַס. מיר רע אַרויס פון C אַזוי מיר רע נישט לימיטעד צו די אַסקי און אַז וואָקזאַל רעזולטאַט, אַזוי האָבן שפּאַס מיט דעם. איר קענען מאַכן עס ווי וויסואַל ווי איר ווילן. איר קענען לאָזן ניצערס צו אַרייַנשרייַב מיליאַנז פון דאָללאַרס אין אַ צייַט, אָדער שיעור זיי און זייַן טאַקע מיינען און לאָזן זיי נאָר צו אַרייַן 1 פּעני אין אַ צייַט אָדער עפּעס ווי אַז. באשטימט זייַן זיכער צו האָבן שפּאַס מיט דעם. פפּ קאָד איז אַ ביסל סימפּלער אין אַז עס ס אַ ביסל גרינגער צו מאַפּע אויס דיין פּסעודאָקאָדע אין די פאַקטיש ימפּלאַמענטיישאַן. אַזוי, באשטימט האָבן שפּאַס מיט דעם ווייַל עס איז פאקטיש אונדזער לעצטע שטיק אין קס50. מיט וואָס, דאָס איז געווען וואַלקטהראָוגה 7. אַמאָל איר ניטאָ פאַרטיק וואַטשינג די וואַלקטהראָוגה און פאַרטיק דיין פּסעט, דעריבער די זענען אויך פּסעץ, און איצט מיר זענען אויף צו די לעצט פּראָדוקט - נאָך מיר באַקומען דורך ויספרעג 1. דעמאָלט אַלעווייַ איר קענען נוצן די מכשירים אַז איר ווע געלערנט פון די פּסעץ - ניט בלויז די סינטאַקס, אָבער מער די אַבסטראַקט געדאנק פון ווי צו נעמען אַ זיכער - ווי, איך ווילן צו טאָן דאָס און דעמאָלט פאקטיש ימפּלאַמענינג אַז. וויסן ווי צו געראַנגל דורך סינטאַקס און פאַרשפּרייטונג קאָד. לייענען אנדערע מענטשן ס קאָד, און דעמאָלט ינטערפּרעטינג וואָס ניצן פאַר-שאַפֿן פאַנגקשאַנז. אַזוי, גוט גליק מיט די לעצטע פּסעט. עס ס געווען אַ פאַרגעניגן צו פירן די וואַלקטהראָוגהס. איך האָפֿן זיי ווע שוין נוציק פֿאַר איר. דאס זענען וואַלקטהראָוגהס, און דאַנק זייער פיל. [CS50.TV]