1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [Muzikos grojimo] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 HANNAH: Sveiki, visi. 5 00:00:12,700 --> 00:00:15,866 Ačiū vaikinai tiek daug išeina į šlykštų oras už viktorina vieną 6 00:00:15,866 --> 00:00:16,910 peržiūrėti sesiją. 7 00:00:16,910 --> 00:00:20,020 Kaip jūs žinote, viktorina viena yra šį trečiadienį. 8 00:00:20,020 --> 00:00:22,209 Taigi mes ketiname eiti per temomis krūva. 9 00:00:22,209 --> 00:00:24,000 DAVIN: Ei, aš galiu pasakyti kažkas realaus greitai? 10 00:00:24,000 --> 00:00:25,215 HANNAH: Taip, Davin vyksta kažką pasakyti nekilnojamojo greitai. 11 00:00:25,215 --> 00:00:25,780 DAVIN: Atsiprašau. 12 00:00:25,780 --> 00:00:29,490 Tiesiog nekilnojamojo greitai, jei turite klausimų apie viktorinos, galite prisijungti prie interneto. 13 00:00:29,490 --> 00:00:32,420 Eiti iki 2014 viktorina vieną, apie viktorinoje. 14 00:00:32,420 --> 00:00:34,680 Jis gavo logistikos apie kur eiti, kada eiti. 15 00:00:34,680 --> 00:00:38,100 Jei tuo pačiu metu mokosi, mes ketinate turėti makiažas viktorinoje 5:30. 16 00:00:38,100 --> 00:00:40,350 Arba, jei atsiuntė man klausimas, jūs turite kokį kitą klausimą. 17 00:00:40,350 --> 00:00:42,640 Tačiau 5:30 yra makiažo laikas trečiadienį. 18 00:00:42,640 --> 00:00:44,540 Tačiau, jei turite klausimų, bendri klausimai, 19 00:00:44,540 --> 00:00:45,748 Prisijungė turi visas logistikos. 20 00:00:45,748 --> 00:00:47,690 Taigi patikrinti ten pirmas. 21 00:00:47,690 --> 00:00:49,070 >> HANNAH: Nuostabus. 22 00:00:49,070 --> 00:00:53,030 Taigi čia didelis sąrašas pranešimus kad mes ketiname eiti per šiandien. 23 00:00:53,030 --> 00:00:57,390 Aš ruošiuosi apima visus C daiktų, kurie yra tai, kad pirmoji kolonėlė. 24 00:00:57,390 --> 00:01:00,710 Taigi C stuff, kad mes kuriems po viktorinos nulio. 25 00:01:00,710 --> 00:01:05,459 Pradedant susietą sąrašą kuri apima patarimų. 26 00:01:05,459 --> 00:01:07,668 >> Gerai, kad mes matėme tai paskutiniame peržiūros sesijos 27 00:01:07,668 --> 00:01:10,000 todėl aš ruošiuosi eiti per tai šiek tiek greičiau. 28 00:01:10,000 --> 00:01:13,500 Tiesiog pakelti savo ranką, jei norite mane sulėtinti arba toliau spręsti kažką. 29 00:01:13,500 --> 00:01:17,150 Bet mes naudoti susietus sąrašus, nes mes pradėjome C matricos. 30 00:01:17,150 --> 00:01:20,920 Ir matricos yra puikus, tačiau problema yra jie turi fiksuotą dydį. 31 00:01:20,920 --> 00:01:24,925 Susiję sąrašai leidžia mums sukurti dinamiškai dydžio duomenų struktūras. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> Ir mes turime pagrindines operacijas, įterpti, ištrinti, ir ieškoti. 34 00:01:32,320 --> 00:01:36,780 Ir mes galime padaryti įdėklą blogiausiu atveju pastovus laikas 35 00:01:36,780 --> 00:01:39,140 jei mes tiesiog padėkite jį pačioje pradžioje. 36 00:01:39,140 --> 00:01:45,220 Ištrinti ir ieškoti, kas blogiausia atveju didelis oh n metu. 37 00:01:45,220 --> 00:01:47,140 Taigi dar kartą, tiesiog apversti per šias nuotraukas, 38 00:01:47,140 --> 00:01:50,860 Aš žinau, mes matėme šias paskutinį kartą, bet mes nori sekti mūsų susijusi sąrašą 39 00:01:50,860 --> 00:01:53,440 iki sekti ir vadovas mūsų susijusi sąrašą. 40 00:01:53,440 --> 00:01:55,580 Nes mes žinome, kad kiekvienas iš mūsų mazgų 41 00:01:55,580 --> 00:01:58,610 yra tik ketina atkreipti dėmesį į Kitas mazgas mūsų susijusi sąrašą. 42 00:01:58,610 --> 00:02:00,460 >> Štai kaip mes sekti. 43 00:02:00,460 --> 00:02:02,910 Nors tai nėra nuolat gabalai atminties, 44 00:02:02,910 --> 00:02:07,410 mes galime rasti juos tiesiog po skirtingas rodykles. 45 00:02:07,410 --> 00:02:09,800 Čia yra mūsų struktūra už susietą sąrašą mazgas. 46 00:02:09,800 --> 00:02:11,440 Mes matėme tai paskutinį kartą. 47 00:02:11,440 --> 00:02:13,080 Mes turime struct mazgas. 48 00:02:13,080 --> 00:02:14,340 Ir ji turi dvi savybes. 49 00:02:14,340 --> 00:02:17,020 Numeris vienas, faktinis vertė norime išsaugoti. 50 00:02:17,020 --> 00:02:18,290 Šiuo atveju, tai sveikasis skaičius. 51 00:02:18,290 --> 00:02:21,100 Tai gali būti eilutę, ji galėtų būti char, ką tik norite. 52 00:02:21,100 --> 00:02:24,710 Ir tada, mes turime sekti Kitas mazgas mūsų susijusi sąrašą. 53 00:02:24,710 --> 00:02:29,797 Taigi, kad tai bus rodyklę į kitą mazgą. 54 00:02:29,797 --> 00:02:31,880 Jei buvo tiesiog daro paieška, kaip minėjau anksčiau, 55 00:02:31,880 --> 00:02:34,900 jūs turite sekti savo strėles žemyn. 56 00:02:34,900 --> 00:02:40,720 Įterpimas, jums sekti kur savo sąrašą poilsio. 57 00:02:40,720 --> 00:02:44,150 Ir jūs norite nukreipti galvą atkreipti dėmesį į mūsų naują elementą, kuris 58 00:02:44,150 --> 00:02:46,640 šiuo atveju yra vienas, ir tada vienas bus taškas 59 00:02:46,640 --> 00:02:49,480 į susietą sąrašo likusią dalį. 60 00:02:49,480 --> 00:02:52,996 Taigi dar kartą, aš žinau, tai yra tiek tiek iš viktorina nulio pakartoti. 61 00:02:52,996 --> 00:02:55,370 Taigi, mes turime būti labai atsargūs, apie tvarką, kuria mes 62 00:02:55,370 --> 00:03:00,390 padaryti šias pointings todėl mes ne prarasti sekti sąrašo gale. 63 00:03:00,390 --> 00:03:04,122 Gerai, bet su klausimai tik atskirai susijęs sąrašus? 64 00:03:04,122 --> 00:03:06,060 Nuostabus, gerai, gerai. 65 00:03:06,060 --> 00:03:09,410 >> Taigi dabar mes ketiname eiti į kažką tik šiek tiek daugiau sudėtinga, 66 00:03:09,410 --> 00:03:10,920 dvigubai susijęs sąrašus. 67 00:03:10,920 --> 00:03:13,680 Taigi, be to, siekiant išlaikyti kūrinys kitą mazgą, 68 00:03:13,680 --> 00:03:16,220 mes taip pat norime sekti ankstesnių mazge. 69 00:03:16,220 --> 00:03:19,580 Ir tai leidžia mums, jei mes tam tikru mūsų susijusi sąrašo punktą, 70 00:03:19,580 --> 00:03:23,110 ne tik eiti į priekį, tačiau taip pat pakartoti atgal. 71 00:03:23,110 --> 00:03:25,220 Kadangi, kaip matėme atskirai susijęs sąrašas 72 00:03:25,220 --> 00:03:27,980 jei mes kada nors mazgas, ir visi staiga, mes nusprendėme 73 00:03:27,980 --> 00:03:30,160 Tiesą sakant, aš noriu eiti į mazgas tiesiai prieš mane, 74 00:03:30,160 --> 00:03:32,034 jūs turite pereiti visą kelias atgal į galvą 75 00:03:32,034 --> 00:03:35,710 ir pakartoti per kol jums rasti mazgas jūs ieškote. 76 00:03:35,710 --> 00:03:37,680 >> Taigi, tai daro ką šiek tiek lengviau, nes mes 77 00:03:37,680 --> 00:03:39,670 bando pakartoti per mūsų susijusi sąrašą. 78 00:03:39,670 --> 00:03:47,870 Bet tai verčia mus sekti vieną daugiau žymeklis, todėl vienas mazgas žvaigždė. 79 00:03:47,870 --> 00:03:50,830 Gerai, kad čia ateina įdomus dalis. 80 00:03:50,830 --> 00:03:55,600 Mes ketiname praktika įgyvendinimo nuimti dvigubai susijusių sąrašus. 81 00:03:55,600 --> 00:03:58,660 Taigi, tai yra kažkas, kad yra visiškai teisingas žaidimas viktorinoje. 82 00:03:58,660 --> 00:04:00,750 Tai parodė praeities viktorinos. 83 00:04:00,750 --> 00:04:04,220 Taigi tikrai bus parengta kodo truputį C 84 00:04:04,220 --> 00:04:07,900 Nepamirškite, kad su visais tai smagu PHP Javaskriptą, 85 00:04:07,900 --> 00:04:10,560 mes vis dar turime prisiminti daryti C. Taigi atsigaivinti, kad 86 00:04:10,560 --> 00:04:12,146 Jei jaučiatės aprūdijęs. 87 00:04:12,146 --> 00:04:14,580 >> Gerai, pažiūrėkime, ar mes galime tai padaryti. 88 00:04:14,580 --> 00:04:16,312 Gerai, gerai. 89 00:04:16,312 --> 00:04:18,600 Taigi mes ketiname pabandyti redaguoti teisę čia 90 00:04:18,600 --> 00:04:20,707 ir tikiuosi, tai eina kaip planuota. 91 00:04:20,707 --> 00:04:23,915 Viskas gerai, kas nors nori man duoti pasiūlymas, kaip turėčiau pradėti? 92 00:04:23,915 --> 00:04:27,030 Tik prielaida, aš priėmimas yra tai, kad aš jau 93 00:04:27,030 --> 00:04:30,180 jau struktūra apibrėžta, vienas parodžiau paskutiniame puslapyje, 94 00:04:30,180 --> 00:04:31,420 paskutinę skaidrę. 95 00:04:31,420 --> 00:04:39,250 Ir aš laikyti mano susijęs galvos sąrašas kai žymeklis vadinamas sąrašą. 96 00:04:39,250 --> 00:04:42,190 Ar kas nors nori get me prasidėjo? 97 00:04:42,190 --> 00:04:45,410 >> AUDITORIJA: Ar jums sukurti naują mazgas skambinti per sąrašą? 98 00:04:45,410 --> 00:04:46,410 >> HANNAH: Nuostabus, todėl mes ketiname sukurti 99 00:04:46,410 --> 00:04:47,951 Naujas mazgas nuskaityti per sąrašą. 100 00:04:47,951 --> 00:04:48,570 Man patinka, kad. 101 00:04:48,570 --> 00:04:50,799 Aš tiesiog vadina jį žymiklį, jei tai gerai. 102 00:04:50,799 --> 00:04:52,340 Ir kur ji turėtų iš pradžių pradėti? 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> AUDITORIJA: Tikriausiai ne Sąrašo vadovas. 105 00:04:59,840 --> 00:05:00,590 HANNAH: Gražus. 106 00:05:00,590 --> 00:05:03,670 Mes norime, kad prasideda galvos, kuris Sakiau bus saugomi sąrašą. 107 00:05:03,670 --> 00:05:04,170 Nuostabus. 108 00:05:04,170 --> 00:05:05,220 Iki šiol, taip gerai. 109 00:05:05,220 --> 00:05:08,260 Ir dabar, mūsų tikslas yra pakartoti per sąrašą 110 00:05:08,260 --> 00:05:12,870 kol randame mazgas su vertė n, kad mes norime ištrinti. 111 00:05:12,870 --> 00:05:13,540 Gerai? 112 00:05:13,540 --> 00:05:15,910 >> Taigi dabar yra dalis, kur mes norime pakartoti per. 113 00:05:15,910 --> 00:05:19,488 Ar kas nors pasiūlyti būdas pakartoti per? 114 00:05:19,488 --> 00:05:20,979 >> AUDITORIJA: kilpa. 115 00:05:20,979 --> 00:05:21,840 >> HANNAH: kilpa. 116 00:05:21,840 --> 00:05:22,620 Aš myliu jį. 117 00:05:22,620 --> 00:05:25,550 Tiksliau sakant, mes galime pabandyti while cikle. 118 00:05:25,550 --> 00:05:30,919 Gerai, mes žinome, kad pasiekėte mūsų sąrašą, kai ką pabaiga? 119 00:05:30,919 --> 00:05:32,210 AUDITORIJA: Kai žymeklis yra niekinis. 120 00:05:32,210 --> 00:05:33,418 HANNAH: Kai žymeklis yra niekinis. 121 00:05:33,418 --> 00:05:34,320 Gražus, aš myliu ją. 122 00:05:34,320 --> 00:05:35,110 Gerai, gerai. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 Taigi atsiprašau, jei mano ribojantis petnešomis yra rūšies nukristi ekrano. 125 00:05:43,190 --> 00:05:44,090 Mes atnešė jį atgal. 126 00:05:44,090 --> 00:05:46,610 Gerai, gerai. 127 00:05:46,610 --> 00:05:48,690 Kas toliau? 128 00:05:48,690 --> 00:05:51,950 >> Taigi mes žinome, mes norime ištrinti mazgas, kuris turi vertę n. 129 00:05:51,950 --> 00:05:56,340 Taigi tegul rasti atveju, kai mes iš tikrųjų rasite mūsų mazgas. 130 00:05:56,340 --> 00:05:57,840 Taigi, kaip man patikrinti, kad? 131 00:05:57,840 --> 00:06:02,210 Norėčiau tik pasakyti, jei žymeklis, tada, jei aš norite gauti naudos iš rodyklė, 132 00:06:02,210 --> 00:06:08,940 Aš tiesiog arrow n lygus n, parametras 133 00:06:08,940 --> 00:06:14,490 kad mes davė šią funkciją, mazgas, kad mes norime, kad iš tikrųjų pašalinti. 134 00:06:14,490 --> 00:06:17,090 Bet iki tol, kol čia klausimų? 135 00:06:17,090 --> 00:06:18,360 Gerai. 136 00:06:18,360 --> 00:06:24,140 Gerai, kad dabar galime padaryti greitai paveikslėlį ant lentos, siekiant vizualizuoti tai. 137 00:06:24,140 --> 00:06:30,710 >> Taigi tarkime, kad mūsų mielas mazgas. 138 00:06:30,710 --> 00:06:34,480 Ir tai turi vertę, aš tiesiog pasakyti keturi. 139 00:06:34,480 --> 00:06:40,340 Ir ji pažymi, kad šalia mazgas mūsų susijusi sąrašą. 140 00:06:40,340 --> 00:06:42,220 Ir ten nieko prieš jį. 141 00:06:42,220 --> 00:06:45,800 Taigi, mes turime Ankstesnis nukreipta į nieką. 142 00:06:45,800 --> 00:06:48,110 Šiuo atveju, mes nukreiptos atgal. 143 00:06:48,110 --> 00:06:50,960 Gerai, tiesiog steigiant mano susiję sąrašą čia. 144 00:06:50,960 --> 00:06:53,630 Ir mes turime sąrašą, kuris rodo šios struktūros prasideda. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 Aš atkreipti viena daugiau išsamumo. 147 00:07:00,485 --> 00:07:04,209 148 00:07:04,209 --> 00:07:06,117 Gerai. 149 00:07:06,117 --> 00:07:07,480 Aš atkreipti šiuo klausimu. 150 00:07:07,480 --> 00:07:09,550 Ir aš mintį, kad vienas atgal. 151 00:07:09,550 --> 00:07:10,360 Oi, atsiprašau. 152 00:07:10,360 --> 00:07:12,710 Taip, turiu tai atgal. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 Ar jį dar kartą. 155 00:07:16,967 --> 00:07:18,330 Gerai, kad mes einame. 156 00:07:18,330 --> 00:07:19,910 Gerai, gavo jį. 157 00:07:19,910 --> 00:07:21,780 Gerai, štai mūsų nuotrauką. 158 00:07:21,780 --> 00:07:24,860 >> Gerai, kad mes norime apsvarstyti dvi bylas. 159 00:07:24,860 --> 00:07:27,330 Pirmasis atvejis yra, jei mazgas norime ištrinti 160 00:07:27,330 --> 00:07:29,420 yra pačiame pradžios mūsų sąraše. 161 00:07:29,420 --> 00:07:34,070 Ir tada, antras atvejis, kad mes norime apsvarstyti, yra, jei jis niekur kitur. 162 00:07:34,070 --> 00:07:37,660 Aš suprantu, kad tai visiškai nepatogus brėžinys su visais mano trynimas 163 00:07:37,660 --> 00:07:40,400 bet tikiuosi mes bandysime tai aiškiai su tam tikru kodu. 164 00:07:40,400 --> 00:07:45,450 >> Gerai, kad galime padengti bylą kur mes rasti mūsų mazgas, 165 00:07:45,450 --> 00:07:48,900 ir tai ne labai pradėti mūsų susijusi sąrašą. 166 00:07:48,900 --> 00:07:50,810 Kiekvienas man pasiūlymas čia, ką 167 00:07:50,810 --> 00:07:54,684 Turėčiau daryti, kad iš tikrųjų pašalinti mūsų mazgas? 168 00:07:54,684 --> 00:07:55,970 Tai šiek tiek sudėtinga. 169 00:07:55,970 --> 00:07:56,470 Gerai? 170 00:07:56,470 --> 00:07:59,628 >> Auditorija: Jūs turite imtis mazgas, kad būtų prieš jį 171 00:07:59,628 --> 00:08:01,794 ir kad ji rodo, kad vienas, kad būtų po to, 172 00:08:01,794 --> 00:08:03,004 ir imtis mazgas, kad būtų po juo ir padaryti 173 00:08:03,004 --> 00:08:04,554 tai rodo, kad prieš jį mazgas. 174 00:08:04,554 --> 00:08:05,220 HANNAH: Būtent. 175 00:08:05,220 --> 00:08:10,640 Gerai, kad tai yra atvejis where-- turime dvi bylas. 176 00:08:10,640 --> 00:08:14,100 Mes turime atvejį, kai mazgas, kad mes ieškome 177 00:08:14,100 --> 00:08:18,270 yra iš sąrašo priekyje. 178 00:08:18,270 --> 00:08:23,110 Gerai, tada tokiu atveju, kad jums aprašyta kitaip, tiesa? 179 00:08:23,110 --> 00:08:24,500 Tai kažkur kitur sąraše. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 Taigi jūs sakėte, turime pažvelgti į mazgą ankstesnės, 182 00:08:32,840 --> 00:08:36,500 ir padaryti ankstesnę mazgas atkreipti dėmesį į kitą mazgą. 183 00:08:36,500 --> 00:08:40,510 Taigi tarkime, mes bando imti penkias 184 00:08:40,510 --> 00:08:43,059 mano labai nepatogus piešimo čia. 185 00:08:43,059 --> 00:08:47,530 Mes norime įsitikinti, kad keturių dabar nurodo iki šešių. 186 00:08:47,530 --> 00:08:49,590 Keturi Next taškai iki šešių. 187 00:08:49,590 --> 00:08:52,150 Ir šešios ankstesnės taškai iki keturių. 188 00:08:52,150 --> 00:08:53,960 Tai mūsų tikslas čia, tiesa? 189 00:08:53,960 --> 00:08:56,150 Tai yra tai, ką aš manau, jums tik pasakė ten. 190 00:08:56,150 --> 00:08:58,450 >> Gerai, kad galime gauti, kad pirmasis gabalas. 191 00:08:58,450 --> 00:09:02,300 Darom turi Ankstesnis Ankstesnis žymeklis. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 Taigi keturi artimiausi turėtų atkreipti dėmesį į tai, ką? 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 Būtent šiuo atveju, šeši. 196 00:09:14,900 --> 00:09:18,470 Taigi, mes turime pasakyti žymeklį šalia. 197 00:09:18,470 --> 00:09:20,600 Gerai? 198 00:09:20,600 --> 00:09:21,150 Gerai. 199 00:09:21,150 --> 00:09:24,870 Taigi galime atsikratyti šio negraži paveikslėlį ir bandyti atkreipti šiek tiek gražiau vieną. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 Mes turime sąrašą galvą čia. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 Ir kad nurodo į pirmąjį mazgo mūsų susiję sąrašą, kuris sakėme yra keturi. 204 00:09:42,740 --> 00:09:45,620 Štai mūsų antrasis mazgas, penki. 205 00:09:45,620 --> 00:09:47,307 Ir trečiasis mūsų mazgas, šeši. 206 00:09:47,307 --> 00:09:50,265 Tiesiog bando atkreipti patį nuotrauka, tik šiek tiek daugiau švariai. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 Gerai, kad keturi artimiausi pradžių nurodo iki penkių. 209 00:09:56,280 --> 00:09:58,620 Penki Next taškai iki šešių. 210 00:09:58,620 --> 00:10:00,170 Šeši ankstesnį taškai iki penkių. 211 00:10:00,170 --> 00:10:02,470 Ir penkių ankstesnį taškai iki keturių. 212 00:10:02,470 --> 00:10:03,360 Tiek daug gražiau! 213 00:10:03,360 --> 00:10:04,530 Gerai, gerai. 214 00:10:04,530 --> 00:10:07,770 >> Taigi, dabar, ką mes padarėme tik čia, šį kodo linija, 215 00:10:07,770 --> 00:10:12,680 kuris sako žymeklis Ankstesnis Kitas, todėl, ką tai reiškia? 216 00:10:12,680 --> 00:10:17,540 Tai reiškia, kad, jei mes ieškome penkių, eikite į ankstesnį mazgas, 217 00:10:17,540 --> 00:10:21,970 ir tai šalia turi dabar taškas penki artimiausi. 218 00:10:21,970 --> 00:10:27,840 Taigi, iš esmės, ką tai daro yra tai, kad manimi ištrinti šį rodyklę 219 00:10:27,840 --> 00:10:29,640 ir todėl iš karto pereiti per penkių. 220 00:10:29,640 --> 00:10:31,360 Ar tai aišku? 221 00:10:31,360 --> 00:10:33,200 Žinau, kad gali būti šiek tiek paviršutiniškas. 222 00:10:33,200 --> 00:10:34,480 Matau kai galvos linkteli. 223 00:10:34,480 --> 00:10:35,390 Tai gerai. 224 00:10:35,390 --> 00:10:36,670 Gerai, gerai. 225 00:10:36,670 --> 00:10:39,590 Dabar, kas kitas žingsnis? 226 00:10:39,590 --> 00:10:42,060 >> Aš iš naujo į kitą. 227 00:10:42,060 --> 00:10:45,297 Dabar, kuri kita rodyklė man reikia keistis? 228 00:10:45,297 --> 00:10:46,130 Tai vienas čia. 229 00:10:46,130 --> 00:10:47,560 Šeši ankstesnį. 230 00:10:47,560 --> 00:10:50,620 Mes norime šešių ankstesnį nėra atkreipti dėmesį į penkių nebėra. 231 00:10:50,620 --> 00:10:54,580 Mes norime, kad ji rodo, kad keturi. 232 00:10:54,580 --> 00:10:56,190 Ar tai nuotrauka prasmės? 233 00:10:56,190 --> 00:10:58,370 Taigi dabar mes iš tikrųjų gali imtis penki iš. 234 00:10:58,370 --> 00:10:59,370 Taigi galime gauti, kad gabalas. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 Ką turėčiau daryti, prieš Pirmąjį naujo šešių ankstesnį iki keturių? 237 00:11:11,180 --> 00:11:14,360 Any ideas ten? 238 00:11:14,360 --> 00:11:17,369 >> AUDITORIJA: nemokamai tarp mazgas juos nustatant, kad jis niekinis? 239 00:11:17,369 --> 00:11:17,910 HANNAH: cool. 240 00:11:17,910 --> 00:11:21,100 Tikrai, mūsų galutinis tikslas yra bus išlaisvinti mazgas. 241 00:11:21,100 --> 00:11:22,490 Taigi, mes galime padaryti, kad čia. 242 00:11:22,490 --> 00:11:23,540 Nemokama žymeklis. 243 00:11:23,540 --> 00:11:24,810 Absoliučiai. 244 00:11:24,810 --> 00:11:29,160 Bet net ir prieš tai, tegul just-- Mūsų tikslas teisę 245 00:11:29,160 --> 00:11:38,730 čia yra nustatyti žymeklį šalia Ankstesnis lygus žymiklį ankstesnę. 246 00:11:38,730 --> 00:11:40,760 Aš žinau, tai yra gauti uždengtas. 247 00:11:40,760 --> 00:11:45,440 Gerai, tegul take-- kietas. 248 00:11:45,440 --> 00:11:46,990 Ar kiekvienas pamatyti šį bottom line? 249 00:11:46,990 --> 00:11:47,840 Ar tai super maža? 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> Taigi, kol mes vykdyti ši eilutė čia, mes norime 252 00:11:54,300 --> 00:11:58,375 įsitikinti, kad žymeklis šalia nėra lygus nuliui. 253 00:11:58,375 --> 00:12:00,500 Nes jei žymeklis yra šalia niekinis, kokios klaidos 254 00:12:00,500 --> 00:12:02,727 aš gausiu, kai bandau nuoroda null žymeklį? 255 00:12:02,727 --> 00:12:03,560 AUDITORIJA: Sekundes kaltė. 256 00:12:03,560 --> 00:12:05,660 HANNAH: seg kaltės, gražus. 257 00:12:05,660 --> 00:12:09,690 Gerai, kad, jei tai ne niekinis, tada mes galime iš naujo. 258 00:12:09,690 --> 00:12:14,420 Ir mes turime šešis tašką vėl iki keturių. 259 00:12:14,420 --> 00:12:17,440 Klausimai Iki šio taško? 260 00:12:17,440 --> 00:12:17,940 Taip? 261 00:12:17,940 --> 00:12:19,814 >> AUDITORIJA: jūsų pirmas jei pareiškimą, tu 262 00:12:19,814 --> 00:12:23,817 reiškia, kad rodyklę Kitas, arba [nesigirdi]? 263 00:12:23,817 --> 00:12:25,150 HANNAH: Aš norėjau žymeklis rodyklės n. 264 00:12:25,150 --> 00:12:30,270 Taigi, iš esmės, ką aš bandau padaryti yra pasakyti, esamą mazgą, kad aš 265 00:12:30,270 --> 00:12:34,100 Iteracja daugiau, dabartinė mazgas, kad Žiūriu, aš saugojimo rodyklė. 266 00:12:34,100 --> 00:12:37,630 Ir aš noriu žinoti, žymeklis s vertė, kuri šiuo atveju yra n. 267 00:12:37,630 --> 00:12:39,500 Ir aš noriu pamatyti, yra mazgas Aš ieškau 268 00:12:39,500 --> 00:12:42,790 už mazgo aš siekiant ištrinti? 269 00:12:42,790 --> 00:12:47,657 Štai kodėl mes turime čia žymiklį n. 270 00:12:47,657 --> 00:12:49,857 >> AUDITORIJA: Taigi rodyklė vyksta n, galite nustatyti vertę 271 00:12:49,857 --> 00:12:52,058 ir laikyti jį į mazgą, vadinamo n? 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> HANNAH: Taigi tai kaip, jei aš esu išgyvena šį susijusi sąrašą 274 00:12:58,820 --> 00:13:00,310 ir nukreipta į penkių. 275 00:13:00,310 --> 00:13:03,600 Jei aš noriu gauti tą vertę, jei Noriu gauti šį numerį, 5, 276 00:13:03,600 --> 00:13:06,400 Turiu padaryti rodyklė rodyklės n. 277 00:13:06,400 --> 00:13:06,900 Cool? 278 00:13:06,900 --> 00:13:07,900 Taip. 279 00:13:07,900 --> 00:13:11,200 >> AUDITORIJA: Ar n kintamojo vardą? 280 00:13:11,200 --> 00:13:11,700 HANNAH: Taip. 281 00:13:11,700 --> 00:13:14,870 Taigi, jei mes apversti atgal vieną skaidrių, n yra pavadinimas 282 00:13:14,870 --> 00:13:18,660 iš viduje vertė mazgas mūsų susijusi sąrašą. 283 00:13:18,660 --> 00:13:21,510 Ir aš žinau, jis gali gauti šiek tiek šiek tiek klaidina, nes mes taip pat 284 00:13:21,510 --> 00:13:24,680 skambinate dalykas kad mes norime ištrinti n. 285 00:13:24,680 --> 00:13:26,717 Štai jeigu tai viena eilutė ateina iš. 286 00:13:26,717 --> 00:13:27,671 Taip? 287 00:13:27,671 --> 00:13:31,010 >> AUDITORIJA: Ką jūs turite [Nesigirdi], kaip jie dirba? 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 Rodyklė [nesigirdi]? 290 00:13:35,780 --> 00:13:37,520 >> HANNAH: Žinoma. 291 00:13:37,520 --> 00:13:40,027 Ar tu kalbi about-- kuri linija? 292 00:13:40,027 --> 00:13:41,526 AUDITORIJA: paskutinė eilutė [nesigirdi]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> HANNAH: Žinoma, Gerai. 295 00:13:45,250 --> 00:13:48,540 Taigi pažvelkime pavaizduoto paveikslėlyje Siekiant pabandyti tai paaiškinti. 296 00:13:48,540 --> 00:13:51,030 Aš atsiprašau, už kamera, klausimas buvo 297 00:13:51,030 --> 00:13:54,580 galime paaiškinti žymeklį rodyklę rodyklę ankstesnę. 298 00:13:54,580 --> 00:14:01,510 Gerai, kad tarkim mes penkių ir mūsų tikslas yra ištrinti penki. 299 00:14:01,510 --> 00:14:07,240 Taigi žymiklį šalia, kuris iš jų trys mazgai ar tai mums duoda? 300 00:14:07,240 --> 00:14:10,840 Tai duoda mums į šeštąjį mazgas, tiesa? 301 00:14:10,840 --> 00:14:16,490 >> Gerai, kad dabar mes klausia už šešių ankstesnį. 302 00:14:16,490 --> 00:14:17,060 Gerai? 303 00:14:17,060 --> 00:14:20,210 Ir mes iš naujo tai būtų lygi keturių, 304 00:14:20,210 --> 00:14:23,214 kuris nutiko penki ankstesnį. 305 00:14:23,214 --> 00:14:25,180 Aš žinau, tai super sunku sekti. 306 00:14:25,180 --> 00:14:29,286 Aš tikrai rekomenduojame jums piešti jei jums patinka šis klausimas. 307 00:14:29,286 --> 00:14:30,242 Taip? 308 00:14:30,242 --> 00:14:32,617 >> AUDITORIJA: Ar todėl, kad mes neturime [nesigirdi]? 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> HANNAH: Būtent. 311 00:14:38,570 --> 00:14:44,800 Taigi klausimas buvo, kodėl mes ne reikia patikrinti čia? 312 00:14:44,800 --> 00:14:48,160 Kodėl mums reikia patikrinti, žymeklis Ankstesnis nėra lygus nuliui? 313 00:14:48,160 --> 00:14:50,070 Ir tai todėl, kad mes jau atskirta 314 00:14:50,070 --> 00:14:52,490 atveju, jei žymeklis s pačioje pradžioje. 315 00:14:52,490 --> 00:14:54,060 Labai geras klausimas. 316 00:14:54,060 --> 00:14:56,880 Kitoks apie tai? 317 00:14:56,880 --> 00:14:57,380 Gerai, gerai. 318 00:14:57,380 --> 00:14:58,360 Taigi leiskite baigti jį. 319 00:14:58,360 --> 00:14:59,890 Mes beveik ten. 320 00:14:59,890 --> 00:15:01,310 >> Taigi, kas, jei jis yra bent galvos? 321 00:15:01,310 --> 00:15:03,360 Ką daryti, jei vietoj bando ištrinti penki, 322 00:15:03,360 --> 00:15:06,240 mes iš tikrųjų norėjo išbraukti keturi? 323 00:15:06,240 --> 00:15:07,270 Ką turiu daryti? 324 00:15:07,270 --> 00:15:09,610 Na, aš noriu naujo mano galva, ką? 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 Shout jį? 327 00:15:15,585 --> 00:15:16,710 AUDITORIJA: vienas po juo. 328 00:15:16,710 --> 00:15:17,460 HANNAH: Gražus. 329 00:15:17,460 --> 00:15:26,430 Gerai, kad mes norime sąrašą turi būti nukreipta kad ir kokia mūsų žymeklis šalia mazgas. 330 00:15:26,430 --> 00:15:29,040 Geras. 331 00:15:29,040 --> 00:15:30,810 Ir tik išsamumo aisiais dėlei, mes 332 00:15:30,810 --> 00:15:35,590 norite patikrinti, kad tol, kol mūsų sąraše yra ne nulis, tol, kol mūsų sąrašas nėra 333 00:15:35,590 --> 00:15:42,730 tuščias, tada mes norime nustatyti mūsų ankstesnę lygus null. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 Klausimų iki šiol? 336 00:15:50,230 --> 00:15:53,205 Vienas žingsnis toli from--? 337 00:15:53,205 --> 00:15:55,530 >> AUDITORIJA: Ar tai būtų, jei sąrašas nėra lygus nuliui? 338 00:15:55,530 --> 00:15:56,950 >> HANNAH: Taip, jūs esate visiškai teisus. 339 00:15:56,950 --> 00:15:58,130 Aš taip atsiprašau. 340 00:15:58,130 --> 00:16:00,040 Sąrašas nėra lygus nuliui. 341 00:16:00,040 --> 00:16:01,915 Nuostabus. 342 00:16:01,915 --> 00:16:04,245 Bandymas suderinti visa tai ekrane. 343 00:16:04,245 --> 00:16:06,870 Jis rūšies nukristi. 344 00:16:06,870 --> 00:16:07,730 Atsiprašome, vaikinai. 345 00:16:07,730 --> 00:16:11,874 Ir paskutinis, bet ne mažiau visiems mes turime padaryti, tai grąža. 346 00:16:11,874 --> 00:16:12,840 Gerai. 347 00:16:12,840 --> 00:16:15,400 Tai buvo daug sugrūsti iš tiesų greitai. 348 00:16:15,400 --> 00:16:16,800 Paimkite antrą pažvelgti šį perėmimą. 349 00:16:16,800 --> 00:16:18,216 Pasakykite man, jei turite kokių nors klausimų. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 Taip? 352 00:16:20,732 --> 00:16:26,940 >> AUDITORIJA: Jei sąrašas yra vadovas, then-- laukti, nevermind. 353 00:16:26,940 --> 00:16:27,700 >> HANNAH: Gerai, gerai. 354 00:16:27,700 --> 00:16:30,987 Taigi, tai yra, jei sąrašas yra ne galvos, mes jį pašalinti, kad ką mes įdėta. 355 00:16:30,987 --> 00:16:31,486 Taip? 356 00:16:31,486 --> 00:16:33,777 >> AUDITORIJA: Ar galite paaiškinti Pirmasis, jei pareiškimas dar kartą? 357 00:16:33,777 --> 00:16:36,149 Jei iki n žymeklis lygus n? 358 00:16:36,149 --> 00:16:36,690 HANNAH: Žinoma. 359 00:16:36,690 --> 00:16:42,780 Taigi, mūsų tikslas visą šį funkcija ištrinti mazgas, kuris turi vertę n. 360 00:16:42,780 --> 00:16:47,460 Taigi, jei mes pastebėjome, kaip mes Iteracja per mūsų sąrašą, 361 00:16:47,460 --> 00:16:51,770 mazgas su vert n, tai viena norime ištrinti. 362 00:16:51,770 --> 00:16:57,286 Taigi visi trinama atsitinka viduje, kad didelis, jei ataskaitoje. 363 00:16:57,286 --> 00:16:58,593 Ar tai prasminga? 364 00:16:58,593 --> 00:16:59,480 Nemokama. 365 00:16:59,480 --> 00:16:59,990 Taip? 366 00:16:59,990 --> 00:17:02,864 >> AUDITORIJA: Gal jūs tiesiog negali matyti tai, bet ne jums taip pat reikia linija 367 00:17:02,864 --> 00:17:06,024 už slinkdami į sąrašą? 368 00:17:06,024 --> 00:17:06,690 HANNAH: Nuostabus. 369 00:17:06,690 --> 00:17:10,896 Leiskite atnešti tai padaryti šiek tiek, ir mes mesti, kad apačioje dešinėje. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 Gal lenta tai jau buvo šiek tiek geresnė idėja. 372 00:17:15,490 --> 00:17:17,829 Taigi, kaip man perkelti žymiklį į priekį? 373 00:17:17,829 --> 00:17:20,184 >> AUDITORIJA: pointer lygus žymeklį plius vienas. 374 00:17:20,184 --> 00:17:21,599 >> HANNAH: Gražus. 375 00:17:21,599 --> 00:17:25,050 Taigi, kad leidžia mums toliau Iteracja per. 376 00:17:25,050 --> 00:17:26,251 Gerai. 377 00:17:26,251 --> 00:17:27,750 AUDITORIJA: Ar ne ten būti kitur? 378 00:17:27,750 --> 00:17:29,028 HANNAH: Vienas daugiau laiko? 379 00:17:29,028 --> 00:17:32,444 AUDITORIJA: Ar ne ten būti po seno, jei kitur 380 00:17:32,444 --> 00:17:35,519 pareiškimas [nesigirdi]? 381 00:17:35,519 --> 00:17:36,310 HANNAH: Kuris? 382 00:17:36,310 --> 00:17:38,350 Aš atsiprašau. 383 00:17:38,350 --> 00:17:41,800 >> AUDITORIJA: Sankryþos, neturėtų ten būti kitur? 384 00:17:41,800 --> 00:17:43,550 HANNAH: Jūs visiškai galėtų turėti kitur. 385 00:17:43,550 --> 00:17:46,930 Kadangi turiu grįžti teisę ten, jūs nereikia kitur. 386 00:17:46,930 --> 00:17:48,760 Bet taip, geras klausimas. 387 00:17:48,760 --> 00:17:50,170 Gerai, taip? 388 00:17:50,170 --> 00:17:52,878 AUDITORIJA: Ar mes galvojame apie rodyklė kad juda per sąrašą 389 00:17:52,878 --> 00:17:56,610 pat atsižvelgiant į vertės iš kiekvienos sąrašo mazgas? 390 00:17:56,610 --> 00:18:00,650 Arba mes turėtume galvoti apie tai, kaip rūšiuoti išorės į sąrašą? 391 00:18:00,650 --> 00:18:02,350 >> HANNAH: Bet viena yra gerai, manau. 392 00:18:02,350 --> 00:18:05,880 Kaip aš įsivaizduoju yra Sakau, gerai, aš esu žymeklis. 393 00:18:05,880 --> 00:18:06,520 Ir tai mane. 394 00:18:06,520 --> 00:18:07,150 Tai mano ranka. 395 00:18:07,150 --> 00:18:09,960 Aš ruošiuosi atkreipti dėmesį į skirtingas dalykų, kad aš noriu pakartoti per. 396 00:18:09,960 --> 00:18:12,270 Pirma, aš ruošiuosi atkreipti į sąrašą galvutėje. 397 00:18:12,270 --> 00:18:14,144 Ir tai man sako, aš tikiu, ketina atkreipti dėmesį į keturių. 398 00:18:14,144 --> 00:18:18,060 Ir taip me, būdamas išorės į sąrašą, I gali nurodyti, kad kiekvienas iš šių elementų. 399 00:18:18,060 --> 00:18:19,520 Taigi, manau, apie save kaip žymeklį. 400 00:18:19,520 --> 00:18:21,645 AUDITORIJA: Taigi, kai jūs ištrinti vienas iš šių elementų, 401 00:18:21,645 --> 00:18:23,404 ištrinsite save, taip sakant. 402 00:18:23,404 --> 00:18:24,070 HANNAH: Būtent. 403 00:18:24,070 --> 00:18:25,920 Taigi jūs ištrinti dalykas jūs nukreipta į. 404 00:18:25,920 --> 00:18:28,340 Taigi, kad, pavyzdžiui, matėme, kur mes esame 405 00:18:28,340 --> 00:18:31,670 bando ištrinti penki, kai aš nukreipta į penkių, 406 00:18:31,670 --> 00:18:34,200 Noriu ištrinti dalykas aš nukreipta į. 407 00:18:34,200 --> 00:18:35,870 Visiškai teisus. 408 00:18:35,870 --> 00:18:36,577 Taip? 409 00:18:36,577 --> 00:18:39,410 AUDITORIJA: Ar mes pasirūpinta tuo atveju, kai n yra nėra sąraše? 410 00:18:39,410 --> 00:18:40,460 HANNAH: Jei n yra nėra sąraše? 411 00:18:40,460 --> 00:18:43,501 Visa tai nutiks yra jums ketina pakartoti per ir kartoti 412 00:18:43,501 --> 00:18:47,616 per, tada jūs ketinate gauti žymiklį negaliojimo, 413 00:18:47,616 --> 00:18:48,990 ir tada jūs ketinate būti padaryta. 414 00:18:48,990 --> 00:18:50,812 >> AUDITORIJA: Taigi mes turime grįžti nieko? 415 00:18:50,812 --> 00:18:51,520 HANNAH: Galėtume. 416 00:18:51,520 --> 00:18:54,500 Taip, kad jei tai apibrėžta funkcija, aš tiesiog pasakyti, kad jis grįžta 417 00:18:54,500 --> 00:18:55,770 negalioja nepriklausomai. 418 00:18:55,770 --> 00:18:58,360 Tačiau galite turėti kažką pavyzdžiui, grįžta sveikasis skaičius, 419 00:18:58,360 --> 00:19:00,920 ir jį grąžinti neigiamas 1, jei tai nepavyksta. 420 00:19:00,920 --> 00:19:03,070 Kažkas panašaus, kad. 421 00:19:03,070 --> 00:19:04,494 Klausimai with-- taip? 422 00:19:04,494 --> 00:19:05,410 Auditorija: [nesigirdi]? 423 00:19:05,410 --> 00:19:05,993 HANNAH: Atsiprašome? 424 00:19:05,993 --> 00:19:07,419 Auditorija: [nesigirdi]? 425 00:19:07,419 --> 00:19:07,960 HANNAH: Žinoma. 426 00:19:07,960 --> 00:19:11,730 Štai actual-- kai mes padaryti visa tai juda darbai 427 00:19:11,730 --> 00:19:16,530 visi šie rodyklės aplink, mūsų visa tikslas buvo atsikratyti mazgas 428 00:19:16,530 --> 00:19:18,230 kad mes ieškome. 429 00:19:18,230 --> 00:19:21,610 Taigi, šiuo atveju, išlaisvinant žymeklis, jei aš nukreipta į penkių, 430 00:19:21,610 --> 00:19:24,670 tai kaip ištrinti šį vidurinį mazgą. 431 00:19:24,670 --> 00:19:27,250 Štai nemokama žymeklis dalis. 432 00:19:27,250 --> 00:19:29,090 Tai prasminga? 433 00:19:29,090 --> 00:19:31,390 >> AUDITORIJA: Taigi net minties tu negali [nesigirdi]? 434 00:19:31,390 --> 00:19:36,060 >> HANNAH: Taigi mes prielaidą, pradžioje mes turėjome šiek sąrašą, kuris buvo already-- 435 00:19:36,060 --> 00:19:37,220 jie įdėti tai kartu. 436 00:19:37,220 --> 00:19:39,761 Taigi, siekiant statyti ši sąrašas, jie must've [nesigirdi]. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 Nemokama. 439 00:19:42,750 --> 00:19:44,490 Kitoks su tai? 440 00:19:44,490 --> 00:19:46,386 Taip? 441 00:19:46,386 --> 00:19:49,204 >> AUDITORIJA: Ką daryti, jei sąrašas nėra lygi null liniją? 442 00:19:49,204 --> 00:19:49,704 [Nesigirdi]? 443 00:19:49,704 --> 00:19:52,289 444 00:19:52,289 --> 00:19:53,080 HANNAH: čia? 445 00:19:53,080 --> 00:19:53,840 AUDITORIJA: Taip. 446 00:19:53,840 --> 00:19:57,370 HANNAH: Gerai, viskas, ką aš darau yra aš tiesiog įsitikinkite, 447 00:19:57,370 --> 00:20:03,250 kad prieš bandau dereference sąrašą prieš bandau prisijungti prie ankstesnio, 448 00:20:03,250 --> 00:20:07,210 Noriu įsitikinti, kad tai ne niekinis, kad aš ne gauti SEG gedimą. 449 00:20:07,210 --> 00:20:08,400 Nemokama. 450 00:20:08,400 --> 00:20:10,820 >> Gerai, aš žinau, tai buvo gana daug gauti per. 451 00:20:10,820 --> 00:20:14,950 Taigi ši skaidrė bus prieinami jums. 452 00:20:14,950 --> 00:20:17,341 Taigi galite eiti per jį išsamiau. 453 00:20:17,341 --> 00:20:17,841 Taip? 454 00:20:17,841 --> 00:20:19,749 >> AUDITORIJA: Kodėl sąrašas [nesigirdi]? 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 HANNAH: Žinoma. 457 00:20:24,670 --> 00:20:27,390 Taigi sąrašas tikrai atkreipia dėmesį į Šis elementas čia, 458 00:20:27,390 --> 00:20:29,200 pirmasis elementas į sąrašą. 459 00:20:29,200 --> 00:20:30,748 Taigi jis negali turėti ankstesnę. 460 00:20:30,748 --> 00:20:31,736 Taip? 461 00:20:31,736 --> 00:20:35,194 >> AUDITORIJA: Ar rodyklė tašką į tą patį adresą atmintyje? 462 00:20:35,194 --> 00:20:38,404 Ar tai rodo, kad pats adresas atmintyje kaip mazgas 463 00:20:38,404 --> 00:20:40,640 kad ji nukreipta į? 464 00:20:40,640 --> 00:20:43,865 >> HANNAH: Taip, jis nurodo prie šio mazgo atmintį. 465 00:20:43,865 --> 00:20:47,190 >> AUDITORIJA: Teisė, todėl kai [nesigirdi]? 466 00:20:47,190 --> 00:20:50,580 >> HANNAH: Tam tikra prasme, taip. 467 00:20:50,580 --> 00:20:51,280 Gerai. 468 00:20:51,280 --> 00:20:52,997 Gerai, pereikime kartu su tai. 469 00:20:52,997 --> 00:20:55,330 O jei turite daugiau klausimų, klijuoti aplink pabaigoje 470 00:20:55,330 --> 00:20:57,130 ir mes galime eiti per jį dar kartą. 471 00:20:57,130 --> 00:20:58,120 Gerai, gerai. 472 00:20:58,120 --> 00:21:00,490 Dabar, mes turime judėti į priekį maišos lentelės, kartų, 473 00:21:00,490 --> 00:21:04,940 ir medžiai, kurie turite super susipažinęs su P-nustatyti penki, Speller. 474 00:21:04,940 --> 00:21:11,020 >> Taigi maišos lentelė yra tik masyvas su atskirai susijusių sąrašus 475 00:21:11,020 --> 00:21:14,050 arba dvigubai susijęs sąrašus atskilimas jį. 476 00:21:14,050 --> 00:21:16,380 Taigi, mes turime kokią nors nuo masyvą. 477 00:21:16,380 --> 00:21:21,280 Ir kaip mes žinome, kurie iš jų masyvai kibirai patekti į, 478 00:21:21,280 --> 00:21:24,137 mes naudojame maišos funkciją. 479 00:21:24,137 --> 00:21:26,470 Taigi šiuo atveju, gali kas nors Atspėkite, kas maišos funkcija 480 00:21:26,470 --> 00:21:28,636 būtų pagrįstas tik kai iš įvesties ir išvesties? 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> AUDITORIJA: Laiškas skaičius abėcėlės. 483 00:21:33,194 --> 00:21:33,860 HANNAH: Būtent. 484 00:21:33,860 --> 00:21:36,160 Jis tiesiog iškelia juos abėcėlės tvarka. 485 00:21:36,160 --> 00:21:39,280 Viskas, kas prasideda Yra įdėti į pirmojo segmento. 486 00:21:39,280 --> 00:21:43,340 Viskas su B yra įdėti į Antrasis kibiras, tt, ir taip toliau. 487 00:21:43,340 --> 00:21:45,620 Nuostabus, Gerai. 488 00:21:45,620 --> 00:21:48,980 Ir maišos funkcija yra bet funkcija, kuri trunka žodis 489 00:21:48,980 --> 00:21:51,910 ir jums pasakys, ką kaušas ji priklauso iš. 490 00:21:51,910 --> 00:21:55,150 Taigi, kuris įrašas mūsų masyvas ji priklauso iš. 491 00:21:55,150 --> 00:21:58,080 >> Taigi kiekvieną kartą aš duodu maišos funkcija žodį 492 00:21:58,080 --> 00:22:00,660 ji turėtų pasakyti pats vieta kiekvieną kartą. 493 00:22:00,660 --> 00:22:03,270 Taigi, jei mes naudojame maišos funkcija nuo ankstesnės skaidrės 494 00:22:03,270 --> 00:22:05,950 kur mes rūšiavimas pagal pirmoji raidė abėcėlės, 495 00:22:05,950 --> 00:22:08,230 kiekvieną kartą aš atiduosiu savąjį maišos funkcija "obuolys" 496 00:22:08,230 --> 00:22:10,180 jis visada turi mane atgal 0. 497 00:22:10,180 --> 00:22:12,890 Taigi, jei aš turiu obuolių įdėti į mano maišos lentelė, 498 00:22:12,890 --> 00:22:17,700 jei duosiu "obuolys" mano maišos funkcija, ji turėtų pasakyti, eikite įdėti jį į kibirą 0. 499 00:22:17,700 --> 00:22:19,980 Jei aš ieškau obuolys mano maišos lentelė 500 00:22:19,980 --> 00:22:24,340 ir sakau, kur galybė obuolių gyvi, jūs paprašykite savo maišos funkciją. 501 00:22:24,340 --> 00:22:26,900 Ir ji sako, eikite į kaušas 0. 502 00:22:26,900 --> 00:22:29,150 Viskas gerai? 503 00:22:29,150 --> 00:22:32,660 Klausimai su maišos funkcijos? 504 00:22:32,660 --> 00:22:34,570 Nuostabus. 505 00:22:34,570 --> 00:22:37,320 >> Čia yra šiek tiek daugiau Išsamus pasiūlymo paaiškinimas 506 00:22:37,320 --> 00:22:39,570 kas maišos funkcija gali atrodyti. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 Gerai. 509 00:22:42,960 --> 00:22:45,960 Dabar, su maišos problema funkcijos yra idealiame pasaulyje, 510 00:22:45,960 --> 00:22:48,870 mes turime tik vieną dalykas kiekviename segmente. 511 00:22:48,870 --> 00:22:50,900 Bet iš tikrųjų, yra ne tik vienas žodis 512 00:22:50,900 --> 00:22:54,280 kad prasideda A. Čia nėra tik vienas žodis, kuris prasideda B. So 513 00:22:54,280 --> 00:22:56,960 šiuo atveju, jei mes staiga gauti "uogų" 514 00:22:56,960 --> 00:22:58,710 ir mes norime jį į mūsų maišos lentelė, 515 00:22:58,710 --> 00:23:03,640 ir matome, oi, ne, bananų yra jau ten, ką mes darysim? 516 00:23:03,640 --> 00:23:05,900 >> Na, mes turime dvi galimybes. 517 00:23:05,900 --> 00:23:07,990 Pirmasis variantas yra linijinis zondavimo, kuris 518 00:23:07,990 --> 00:23:11,100 tiesiog reiškia, eiti ieškoti Kitas tuščias kibiras. 519 00:23:11,100 --> 00:23:14,100 Eiti rasti kitą tuščią masyvo įrašą. 520 00:23:14,100 --> 00:23:15,750 Ir tiesiog įdėti "uogų" ten. 521 00:23:15,750 --> 00:23:18,880 Taigi, aš žinau, tai turėtų eiti su bananu ir kibirą viename. 522 00:23:18,880 --> 00:23:22,155 Bet tiesiog įdėti jį į kibirą trijų, nes kibirą trys yra tuščias. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 Kitas variantas yra turbūt ką įgyvendinti 525 00:23:26,680 --> 00:23:29,220 savo p-rinkinys, kur jums turėjo atskirą Grupavimo. 526 00:23:29,220 --> 00:23:33,990 Taigi kiekvienas iš jūsų kibirai, kiekvienas iš jūsų masyvo elementų, 527 00:23:33,990 --> 00:23:38,410 ne tik turi vieną žodžius, bet iš tikrųjų turi žymiklį į žodžių sąrašą. 528 00:23:38,410 --> 00:23:41,880 Taigi, kad jei jūs turėjote bananų jūsų maišos lentelė 529 00:23:41,880 --> 00:23:44,740 ir staiga norėjo pridėti uogų, jokių problemų. 530 00:23:44,740 --> 00:23:51,110 Tiesiog pridėkite uogų prie pabaigos, arba pradžioje, jūsų susietą sąrašą. 531 00:23:51,110 --> 00:23:54,040 Gerai, nuostabus. 532 00:23:54,040 --> 00:23:58,490 Klausimai su maišos stalai, kol mes eiti? 533 00:23:58,490 --> 00:23:59,850 >> Gerai. 534 00:23:59,850 --> 00:24:01,070 Medžiai ir bando. 535 00:24:01,070 --> 00:24:07,980 Gerai, kad tai buvo dar vienas variantas įgyvendinimo žodyną. 536 00:24:07,980 --> 00:24:09,100 Galima turite pabandyti. 537 00:24:09,100 --> 00:24:13,420 Taigi tai specialios rūšies medžio, elgiasi kaip kelių lygių maišos lentelę. 538 00:24:13,420 --> 00:24:16,862 Taigi jūs pamatysite paveikslėlį kur jūs turite masyvą, kad 539 00:24:16,862 --> 00:24:19,320 nurodoma ir matricos krūva kad taškas dėl matricos krūva 540 00:24:19,320 --> 00:24:20,390 kad taškas dėl matricos krūva. 541 00:24:20,390 --> 00:24:23,140 Ir mes pamatyti, ką tai atrodys ateityje skaidrės. 542 00:24:23,140 --> 00:24:26,070 Ir apskritai, medis yra bet koks duomenų struktūra 543 00:24:26,070 --> 00:24:29,710 , kurioje duomenys yra organizuojamas kai hierarchijoje. 544 00:24:29,710 --> 00:24:32,610 Taigi, kur mes matėme mes turime kai suprasti rūšiuoti 545 00:24:32,610 --> 00:24:36,130 iš viršaus lygiu kitą lygį, Kitas lygis, kitą lygį. 546 00:24:36,130 --> 00:24:39,690 Taigi tai turbūt aišku, su kai kuriais konkrečiais pavyzdžiais. 547 00:24:39,690 --> 00:24:40,880 Taigi čia mūsų medis. 548 00:24:40,880 --> 00:24:42,970 Galite matyti, kad juo turi kritinį lygį 549 00:24:42,970 --> 00:24:45,480 kad mes pradėti su tuo šakninis mazgas, vienas. 550 00:24:45,480 --> 00:24:47,640 Ir mes galime eiti per mūsų medžio. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> Dvejetainis medis tikros rūšies medžio. 553 00:24:53,910 --> 00:24:56,770 Ir tik specifikacija už dvejetainis medis 554 00:24:56,770 --> 00:25:01,130 yra tai, kad kiekvienas mazgas turi ne daugiau kaip du lapus. 555 00:25:01,130 --> 00:25:03,960 Taigi jūs nesiruošia pamatyti bet Šių mazgų turi tris ar keturis 556 00:25:03,960 --> 00:25:06,880 arba kai kurie kiti lapų skaičius. 557 00:25:06,880 --> 00:25:11,310 Ir tada net daugiau specifinių yra dvejetainis paieškos medis 558 00:25:11,310 --> 00:25:18,010 kur kiekvienas mazgas į kairę mazgas teks vertė mažesnė. 559 00:25:18,010 --> 00:25:21,180 Ir kas vertė teisė bus didesni. 560 00:25:21,180 --> 00:25:26,900 Taigi, jei jūs matote 44 yra mūsų šaknys, į kairę, 11, 22, ir 33 561 00:25:26,900 --> 00:25:28,940 visi mažiau nei mūsų šaknis. 562 00:25:28,940 --> 00:25:33,890 Ir dešinėje pusėje, yra visi numeriai bigger-- 66, 55, ir 77. 563 00:25:33,890 --> 00:25:37,380 Ir dėl šio objekto pasakytina kiekviename medžio lygiu. 564 00:25:37,380 --> 00:25:42,690 >> Taigi, kai mes einame žemyn 22, 11, ir 33, dar 11 565 00:25:42,690 --> 00:25:46,950 yra mažesnis nei 22, ir 33 yra didesnis nei 22. 566 00:25:46,950 --> 00:25:50,160 Ir tai leidžia lengviau ieškoti nes jei mes ieškome skaičių, 567 00:25:50,160 --> 00:25:53,877 mes žinome, kurie tiksliai filialas sekti žemyn. 568 00:25:53,877 --> 00:25:56,210 Taigi tai turėtų priminti jums Šiek tiek dvejetainis paieškos. 569 00:25:56,210 --> 00:25:56,967 Taip? 570 00:25:56,967 --> 00:25:58,835 >> AUDITORIJA: Taigi, kai esate aprašant dvejetainis, 571 00:25:58,835 --> 00:26:00,587 Jums sakė, kad tai yra ne daugiau kaip du lapus? 572 00:26:00,587 --> 00:26:01,170 HANNAH: MM-hm. 573 00:26:01,170 --> 00:26:02,580 AUDITORIJA: Ar tai turi mažiau? 574 00:26:02,580 --> 00:26:03,121 HANNAH: Taip. 575 00:26:03,121 --> 00:26:06,720 Taigi tarkime, pavyzdžiui, jūs neturėjo lyginį ko 576 00:26:06,720 --> 00:26:11,791 ir tu negali užpildyti visus savo lapai, tai gerai, jei vienas turi vieną. 577 00:26:11,791 --> 00:26:12,290 Gerai? 578 00:26:12,290 --> 00:26:12,789 Nuostabus. 579 00:26:12,789 --> 00:26:15,930 Visi kiti klausimai medžių? 580 00:26:15,930 --> 00:26:16,670 Gerai. 581 00:26:16,670 --> 00:26:20,110 >> Atgal į mūsų bando kaip aš kalbėjau apie šiek tiek anksčiau, 582 00:26:20,110 --> 00:26:23,900 kaip mes turime šiuos kelių lygių matricos. 583 00:26:23,900 --> 00:26:26,280 Taigi, šiuo atveju, mes pradėti viršuje. 584 00:26:26,280 --> 00:26:29,030 Ir mes galime stebėti bet kokį tikrą žodį žemyn. 585 00:26:29,030 --> 00:26:30,780 Taigi tarkime, mes norėjome ieškoti Turingas. 586 00:26:30,780 --> 00:26:34,380 Mes prasideda T, atlikite jį žemyn į masyvą, kuriame U, 587 00:26:34,380 --> 00:26:37,350 ir sekti jį žemyn, kol mes pasiekti šį mažai deltą, kuri 588 00:26:37,350 --> 00:26:39,060 pasakoja, taip, jums rasti žodį. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 Išvalyti bando? 591 00:26:44,120 --> 00:26:48,138 Viskas eiti ten? 592 00:26:48,138 --> 00:26:48,908 Taip? 593 00:26:48,908 --> 00:26:51,866 AUDITORIJA: Ar Delta simbolį turi užimti erdvę per pabandyti? 594 00:26:51,866 --> 00:26:54,532 HANNAH: Taip, taip, tai nėra nebūtinai net reikia, kad būtų delta. 595 00:26:54,532 --> 00:26:57,760 Bet mums reikia šiek tiek kelią Parašykite computer-- Atsiprašome, 596 00:26:57,760 --> 00:27:01,130 taip, kad mes žinome, kad TUR nėra žodis. 597 00:27:01,130 --> 00:27:04,180 Nes tarkim mes neturėjome šis iš delta koncepcija, ši koncepcija 598 00:27:04,180 --> 00:27:09,850 sveikinimas, galite rasti žodį, būtų pereiti ir pakartoti T-U-R, 599 00:27:09,850 --> 00:27:11,300 ir tada pasakyti, nuostabus, aš ją radau! 600 00:27:11,300 --> 00:27:12,670 Jis turi būti žodis. 601 00:27:12,670 --> 00:27:13,720 Bet tai tikrai ne. 602 00:27:13,720 --> 00:27:15,310 Mes norime, kad visa Tiuringo būti žodis. 603 00:27:15,310 --> 00:27:17,760 Taigi mes turime kažką pabaigos, kad sako, sveikinimai, 604 00:27:17,760 --> 00:27:19,051 radote teisėtą žodį. 605 00:27:19,051 --> 00:27:21,680 AUDITORIJA: Taigi, jei jūs turėjote, kaip 26 raidės abėcėlės, 606 00:27:21,680 --> 00:27:24,560 jūs iš tikrųjų turi 27 klavišai Jūsų pabandyti? 607 00:27:24,560 --> 00:27:26,010 >> HANNAH: Nuostabus, taip. 608 00:27:26,010 --> 00:27:28,210 Taigi iš tiesų, manau, kad bus ant kito šliaužiklio. 609 00:27:28,210 --> 00:27:29,440 Ta-da! 610 00:27:29,440 --> 00:27:32,880 Kur, jei turite mazgas jūsų pabandyti, jūs 611 00:27:32,880 --> 00:27:35,800 teks 27 vaikus, o ne 26. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 Bet kokie sutapimai su kad klausimai? 614 00:27:40,050 --> 00:27:40,550 Taip? 615 00:27:40,550 --> 00:27:44,569 AUDITORIJA: Kodėl bando imtis, kad daug vietos [nesigirdi], kaip jūs einate? 616 00:27:44,569 --> 00:27:47,629 Kodėl jis laikomas [nesigirdi]? 617 00:27:47,629 --> 00:27:48,170 HANNAH: Žinoma. 618 00:27:48,170 --> 00:27:48,790 Grįžkime. 619 00:27:48,790 --> 00:27:52,350 Kyla klausimas, kodėl yra bando tiek daug didesnis 620 00:27:52,350 --> 00:27:54,620 nei kažką panašaus maišos lentelę. 621 00:27:54,620 --> 00:27:57,790 Taigi, kiekvienai iš šių lygmenų, net jei jie nėra čia išdarinėtos, 622 00:27:57,790 --> 00:28:01,250 jūs turite turėti visus 26 simbolių. 623 00:28:01,250 --> 00:28:04,420 Ir todėl, kad jūs galite ne sako, oi, bet kaip už Turingas, aš 624 00:28:04,420 --> 00:28:07,570 nereikia turėti bet kurią iš tų, tie patys dalykai dėl U. Na lygio, 625 00:28:07,570 --> 00:28:11,390 jei staiga jūs norėjote pridėti kažkas, kad buvo kaip T-H, 626 00:28:11,390 --> 00:28:14,800 jums reikia turėti galimybė pridėti šį žodį. 627 00:28:14,800 --> 00:28:17,330 Taigi už kiekvieną laišką, jūs ketinate turėti 628 00:28:17,330 --> 00:28:19,730 turėti krūva masyvai atskilimas jį. 629 00:28:19,730 --> 00:28:24,060 Taigi jūs galite pamatyti, kaip jis nori gauti tikrai didelis, tikrai greitai. 630 00:28:24,060 --> 00:28:26,560 Visi kiti klausimai? 631 00:28:26,560 --> 00:28:28,980 Gerai. 632 00:28:28,980 --> 00:28:29,832 Taip? 633 00:28:29,832 --> 00:28:33,210 >> AUDITORIJA: Kada bando greičiau nei maišos lentelėmis? 634 00:28:33,210 --> 00:28:36,280 >> HANNAH: Kada bando greičiau nei maišos lentelėmis? 635 00:28:36,280 --> 00:28:39,120 Taigi, jei jums teko tikrai blogai maišos funkcija. 636 00:28:39,120 --> 00:28:41,840 Taigi leiskite pasakyti, kad aš buvo, pavyzdžiui, čia yra jūsų maišos funkcija. 637 00:28:41,840 --> 00:28:43,660 Nesvarbu, koks žodis galite duoti man, aš visada 638 00:28:43,660 --> 00:28:47,740 ketina įdėti jį į masyvą įrašą 0. 639 00:28:47,740 --> 00:28:52,000 Ir taip mes galų gale su vos išleidimą viskas viename dideliame seniai susijęs sąrašą. 640 00:28:52,000 --> 00:28:58,740 Ir taip peržvalgos laiko užtruktų blogiausiu N, jei tai pačioje pabaigoje mūsų sąrašą. 641 00:28:58,740 --> 00:29:03,150 Su pabandyti, mes tiesiog turime pakartoti per žodžio raides. 642 00:29:03,150 --> 00:29:07,080 Taigi, net jei mes pridėjome krūva daugiau žodžių mūsų pabandyti, 643 00:29:07,080 --> 00:29:09,620 ji nebūtų priimti mus ilgiau rasti tam tikrą žodį. 644 00:29:09,620 --> 00:29:11,750 >> Visi mes turime padaryti, yra, pavyzdys, šiuo atveju, 645 00:29:11,750 --> 00:29:17,170 tarkim mes ieškome priartinimu, mes tiesiog turime pakartoti per 646 00:29:17,170 --> 00:29:19,840 Z-O-O-M, keturios raidės. 647 00:29:19,840 --> 00:29:22,250 Taigi, kad tik ilgis žodis priartinimu. 648 00:29:22,250 --> 00:29:25,400 Nesvarbu, kiek daugiau žodžių mes įdėti į šį pabandyti. 649 00:29:25,400 --> 00:29:30,225 Mes visada galite jį gauti tose keturiais etapais. 650 00:29:30,225 --> 00:29:31,215 Nuostabus. 651 00:29:31,215 --> 00:29:32,205 Taip? 652 00:29:32,205 --> 00:29:34,185 >> AUDITORIJA: Taigi [nesigirdi] yra masyvas, tiesa? 653 00:29:34,185 --> 00:29:35,322 >> HANNAH: MM-hm. 654 00:29:35,322 --> 00:29:37,155 AUDITORIJA: Jei esate ieško [nesigirdi] 655 00:29:37,155 --> 00:29:40,929 Jūs turite pereiti per Jūsų masyvas rasti [nesigirdi]? 656 00:29:40,929 --> 00:29:41,470 HANNAH: Žinoma. 657 00:29:41,470 --> 00:29:44,000 AUDITORIJA: Ar ne tai, kad daugiau laiko? 658 00:29:44,000 --> 00:29:46,370 HANNAH: Jei aš ruošiuosi pasakyti, kad mano masyvas yra visada 659 00:29:46,370 --> 00:29:49,250 bus A, B, C, D, E, F, G, bla bla bla, 660 00:29:49,250 --> 00:29:51,630 Taigi, jei aš visada žinau, tai toje pačioje tiksliai tam, 661 00:29:51,630 --> 00:29:53,880 jei aš visada žinau, tai abėcėlės tvarka, 662 00:29:53,880 --> 00:29:57,860 Galiu tik pasakyti, O yra skaičius taip ir taip abėcėlėje. 663 00:29:57,860 --> 00:29:59,620 Tiesiog šokinėti į tą vietą. 664 00:29:59,620 --> 00:30:01,860 Nes prisimenu, su matricos, mes galime prieiti prie 665 00:30:01,860 --> 00:30:06,590 bet tos masyvo konstanta elementas laikas, jei mes žinome, kur mes ieškome. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 Taip? 668 00:30:09,580 --> 00:30:12,005 >> AUDITORIJA: Ant Ankstesnis skaidrių [nesigirdi] 27, 669 00:30:12,005 --> 00:30:14,430 tačiau 26 pirmą vieną. 670 00:30:14,430 --> 00:30:15,400 >> HANNAH: Atsiprašome? 671 00:30:15,400 --> 00:30:18,800 >> AUDITORIJA: Ar ne pirmą kartą vienas 0, todėl nebūtų tai būtų 26? 672 00:30:18,800 --> 00:30:24,900 >> HANNAH: Žinoma, todėl, kai mes sakome, 27, tai ketina suteikti mums indeksai 0 per 26. 673 00:30:24,900 --> 00:30:28,220 Bet jei jūs iš tikrųjų skaičiuoti tiems iš, tai bus 27. 674 00:30:28,220 --> 00:30:30,007 Geras klausimas. 675 00:30:30,007 --> 00:30:30,590 Kitoks? 676 00:30:30,590 --> 00:30:31,200 Taip? 677 00:30:31,200 --> 00:30:34,420 >> AUDITORIJA: Taigi yra bando lėčiau nei maišos lentelėmis? 678 00:30:34,420 --> 00:30:37,920 >> HANNAH: Bandymas ketinate būti, kad teorija, greičiau nei maišos lentelės 679 00:30:37,920 --> 00:30:39,760 bet užima daugiau atminties. 680 00:30:39,760 --> 00:30:40,534 Taip? 681 00:30:40,534 --> 00:30:41,450 Auditorija: [nesigirdi]? 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> HANNAH: aš atsiprašau, aš ne išgirsti jus. 684 00:30:47,484 --> 00:30:48,400 Auditorija: [nesigirdi]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 0-25 suteikia jums 26. 687 00:30:54,100 --> 00:30:56,958 >> HANNAH: nuo 0 iki 25-oji jums 26, į dešinę. 688 00:30:56,958 --> 00:30:58,457 >> AUDITORIJA: Ir tada [nesigirdi]. 689 00:30:58,457 --> 00:30:59,040 HANNAH: Teisė. 690 00:30:59,040 --> 00:31:04,760 Taigi skaičius mes nurodant yra dalykų mūsų masyvas skaičius. 691 00:31:04,760 --> 00:31:07,260 Taigi, jei mes turime 27, tai ketina duoti mums 0 692 00:31:07,260 --> 00:31:10,620 per 26, kuri duos mums kambarys, šiuo atveju, 693 00:31:10,620 --> 00:31:12,770 Nesu įskaitant kabutes. 694 00:31:12,770 --> 00:31:17,040 Taigi mes vis 0 per 25 yra pirmieji 26 abėcėlės raidės, 695 00:31:17,040 --> 00:31:18,990 ar visos 26 abėcėlės raidės. 696 00:31:18,990 --> 00:31:21,190 Ir tada, kad paskutinis dalykas, atvykstant 26, yra 697 00:31:21,190 --> 00:31:24,598 bus patikrinimas ženklas arba delta. 698 00:31:24,598 --> 00:31:26,960 Kitoks? 699 00:31:26,960 --> 00:31:29,130 Nuostabus. 700 00:31:29,130 --> 00:31:30,020 Pamiršote savo erdvę. 701 00:31:30,020 --> 00:31:31,020 Gerai, gerai. 702 00:31:31,020 --> 00:31:33,240 >> Taigi, mes jau palietė ši. 703 00:31:33,240 --> 00:31:37,430 Tačiau didelis kompromisą tarp bando ir maišos lentelės 704 00:31:37,430 --> 00:31:39,720 yra tai, kad bando numatyti, kad teorija, nuolatinis ieškoti 705 00:31:39,720 --> 00:31:42,890 kartų, tačiau naudoja visai daug atminties. 706 00:31:42,890 --> 00:31:46,495 Gerai, dabar mes turime šiek tiek mažiau sudėtingas struktūras, 707 00:31:46,495 --> 00:31:49,640 ir mes bus padaryti su C, ir mes judėti į dešinę kartu. 708 00:31:49,640 --> 00:31:51,930 >> Taigi kaminai, mes matėme tai į paskaitą, kur jūs 709 00:31:51,930 --> 00:31:55,020 turi kažką panašaus kamino padėklai kur 710 00:31:55,020 --> 00:31:57,330 Paskutinis dalykas, kurį jūs įtraukėte ant kamino vyksta 711 00:31:57,330 --> 00:31:59,500 būti pirmas dalykas, kurį kilimo. 712 00:31:59,500 --> 00:32:02,880 Taigi tai, kas iš tikrųjų apibrėžia steką yra tai, kad paskutinis dalykas, kurį įdėti į 713 00:32:02,880 --> 00:32:06,080 bus pirmas dalykas, kurį jūs kilimo. 714 00:32:06,080 --> 00:32:09,279 Ir terminologija, kad mes naudojame jei mes ketiname daryti kažką, 715 00:32:09,279 --> 00:32:12,070 jei mes ketiname pridėti kažką mūsų kamino, mes vadiname, kad stumti. 716 00:32:12,070 --> 00:32:14,970 Ir jei mes kažką išjungti, mes jį vadiname Popping. 717 00:32:14,970 --> 00:32:17,080 Ir jei mes ketiname įgyvendinti krūvą, mes 718 00:32:17,080 --> 00:32:20,660 reikia būtinai sekti tiek dydis ir talpa. 719 00:32:20,660 --> 00:32:24,940 Taigi, bendras skaičius elementų galime laikyti ir dabartinis skaičius elementų 720 00:32:24,940 --> 00:32:27,880 kad mes laikome. 721 00:32:27,880 --> 00:32:29,885 >> Ir labai panašiai, mes turime eiles. 722 00:32:29,885 --> 00:32:34,510 Ir vienintelis skirtumas yra vietoj su kaminai, 723 00:32:34,510 --> 00:32:37,630 sakėme paskutinis dalykas, mes įdėti yra pirmas dalykas, kurį mes kilimo. 724 00:32:37,630 --> 00:32:40,940 Taigi su eilėse, Pirmas dalykas, mes įdėti 725 00:32:40,940 --> 00:32:43,129 bus Pirmas dalykas, kurį mes imti. 726 00:32:43,129 --> 00:32:45,420 Taigi tai yra, pavyzdžiui, jei esate iš tikrųjų rikiuojasi parduotuvėje 727 00:32:45,420 --> 00:32:48,140 ir jūs padedama, Tada pirmasis asmuo atitinka 728 00:32:48,140 --> 00:32:50,880 turėtų būti pirmasis asmuo, turi būti padėjo. 729 00:32:50,880 --> 00:32:52,220 Taigi, kad būtų eilė. 730 00:32:52,220 --> 00:32:55,880 >> Taigi, mes turime sekti dydis, pajėgumas, ir galvos, nes mes esame 731 00:32:55,880 --> 00:33:01,130 ketina imtis visiems išjungti priekio iš vietoj nugaros sąrašą. 732 00:33:01,130 --> 00:33:03,480 Klausimai apie tai? 733 00:33:03,480 --> 00:33:06,330 Bet C klausimai, kurie jums trukdo? 734 00:33:06,330 --> 00:33:09,590 Duomenų struktūros, bet to fun stuff? 735 00:33:09,590 --> 00:33:10,530 Gerai, gerai. 736 00:33:10,530 --> 00:33:14,120 Taigi aš jį perduoti Alison į peršokti į šiek tiek daugiau programavimą. 737 00:33:14,120 --> 00:33:15,965 >> ALISON: O, mes pamatysime. 738 00:33:15,965 --> 00:33:17,370 Pamatysime, kaip gerai aš čia. 739 00:33:17,370 --> 00:33:21,410 Gerai, aš ruošiuosi pabandyti ir skristi per šią medžiagą, vaikinai. 740 00:33:21,410 --> 00:33:24,540 Ona išėjo labai į gylis apie visus savo daiktus. 741 00:33:24,540 --> 00:33:26,900 Aš ruošiuosi pabandyti duoti Jūs greitai sprogimo apžvalga 742 00:33:26,900 --> 00:33:31,290 kad galėtume gauti Davin su visais įdomus JavaScript ir saugumo dalykai 743 00:33:31,290 --> 00:33:33,380 kad galbūt jūs iš tikrųjų nori išgirsti daugiau apie. 744 00:33:33,380 --> 00:33:36,600 >> Gerai, kaip sakė Ona, jei jūs turite kokių nors klausimų, 745 00:33:36,600 --> 00:33:39,170 Aš einu per greitai, prašome leiskite man žinoti. 746 00:33:39,170 --> 00:33:42,114 Aš atsakyti į klausimus, kaip reikia. 747 00:33:42,114 --> 00:33:45,280 Taigi, norint pradėti, mes ketiname pradėti turbūt vienas iš pirmųjų dalykų, 748 00:33:45,280 --> 00:33:48,730 Jūs išmoko internete programavimas, teises. 749 00:33:48,730 --> 00:33:52,720 Taigi CHMOD, vaikinai turėtų buvote meistrai tai su visa web 750 00:33:52,720 --> 00:33:54,870 programavimo, kad jūs darė pastaruoju metu. 751 00:33:54,870 --> 00:33:57,320 Tai iš esmės yra tik komanda kad keičia leidimus 752 00:33:57,320 --> 00:34:00,779 arba prieigos teises mūsų failų sistemos objektus. 753 00:34:00,779 --> 00:34:02,570 Žinoma, kad iš tikrųjų pamatyti tai, jei esate 754 00:34:02,570 --> 00:34:04,910 turintys bet problemų su jų per jūsų problema rinkinių, 755 00:34:04,910 --> 00:34:11,460 jums gali tekti naudoti ls -l, kuris yra ilgas, gauti vaizdas lyg tai, 756 00:34:11,460 --> 00:34:14,209 kur jūs iš tikrųjų pamatyti visus priežastys, dėl kurių bylos leidimus. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> Ir tikrai, mes tik ketina eiti per gana greitai tik gana 759 00:34:20,732 --> 00:34:21,940 daug ką kiekvienas iš jų reiškia. 760 00:34:21,940 --> 00:34:24,481 Taigi mes dienas čia, o tiesiog stovi kataloge. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 Akivaizdu čia matome rwx, kuris yra skaitoma, rašomus ir vykdomąjį. 763 00:34:31,739 --> 00:34:37,090 Tai taip pat gali būti atstovaujama kaip bitai, kuri mes gauti į kitą puslapį. 764 00:34:37,090 --> 00:34:40,699 Taigi kiekvienas triada, kad mes matėme čia, todėl tris triadas. 765 00:34:40,699 --> 00:34:48,120 Mes rwx r nieko Rx ir nieko x šiam pirmą failą. 766 00:34:48,120 --> 00:34:49,690 Tai ši bendroji struktūra. 767 00:34:49,690 --> 00:34:50,940 >> Taigi, mes turime tam tikrą katalogą. 768 00:34:50,940 --> 00:34:53,999 Mes turime vartotojų grupę šių leidimų. 769 00:34:53,999 --> 00:34:57,040 Kai grupė, kuri turi šiuos leidimus, ir pasaulis, kuris turi leidimą. 770 00:34:57,040 --> 00:34:59,420 Jūs galite galvoti apie tai, kaip triados. 771 00:34:59,420 --> 00:35:01,130 Jūs galite galvoti apie tai, kaip trys bitai. 772 00:35:01,130 --> 00:35:04,060 Taigi jie gali turėti reikšmes bet nuo 0 iki 773 00:35:04,060 --> 00:35:07,350 iki 7, kuris yra, kodėl kartais mes turėjome jūs chmod 774 00:35:07,350 --> 00:35:17,510 600 vietoj CHMOD RW whatever. 775 00:35:17,510 --> 00:35:19,170 Mes patekti į pavyzdyje. 776 00:35:19,170 --> 00:35:24,260 Bet iš esmės, jūs galite galvoti iš jų, kaip arba ką tik rwx, 777 00:35:24,260 --> 00:35:28,520 arba galite galvoti apie juos kaip kai kurie skaičius, jei tai pirmasis čia 778 00:35:28,520 --> 00:35:31,480 žymi tarp skaičių 0 ir 7, šis antrasis vienas 779 00:35:31,480 --> 00:35:33,970 žymi tarp skaičių 0 ir 7, ir trečiasis 780 00:35:33,970 --> 00:35:38,245 žymi skaičių tarp 0 ir 7 skaičių, OK? 781 00:35:38,245 --> 00:35:42,700 >> r turi reikšmę būti 4. w turi reikšmę iš 2, ir X 782 00:35:42,700 --> 00:35:49,230 turi reikšmę 1, kuris yra, kodėl šis Leidimas čia būtų chmod 700. 783 00:35:49,230 --> 00:35:53,520 Kadangi šiuo atveju čia, tai sako, kad mes buvo pirmą kartą tiek ten yra apversta ant. 784 00:35:53,520 --> 00:35:55,380 Taigi, mes turime 4 skaitymo. 785 00:35:55,380 --> 00:35:58,730 Antra tiek yra apversta ant w, kuris yra 2, todėl dabar turime 6. 786 00:35:58,730 --> 00:36:02,070 Ir trečia tiek yra apversta ant X, kuris yra 1, todėl mes gauti septynių. 787 00:36:02,070 --> 00:36:04,820 Ir, žinoma, mūsų grupė ir mūsų pasaulis yra kiekvieno 0. 788 00:36:04,820 --> 00:36:07,770 Taigi, tai taip pat yra ekvivalentas chmod 700. 789 00:36:07,770 --> 00:36:12,081 Ir aš tikrai pabandyti suprasti skirtumą tarp tų žemėlapių. 790 00:36:12,081 --> 00:36:14,080 Aš nesu įsitikinęs, jei jis turi sugalvoti viktorinoje anksčiau, 791 00:36:14,080 --> 00:36:18,590 tačiau tai būtų klausimas, kad galėčiau paklausti. 792 00:36:18,590 --> 00:36:22,110 >> Tiesiog truputį vyksta net toliau į CHMOD čia čia 793 00:36:22,110 --> 00:36:27,730 yra labai bendro pobūdžio struktūra yra chmod skambutį. 794 00:36:27,730 --> 00:36:29,500 Taigi žinoma, mes chmod čia. 795 00:36:29,500 --> 00:36:34,410 Nuorodos, ką tai reiškia, kad yra Kas mes esame suteikiant šias teises į 796 00:36:34,410 --> 00:36:36,570 arba kurie mums imtis šių Permissions atstumu nuo. 797 00:36:36,570 --> 00:36:44,330 Taigi, mes turime čia, teises, kaip mes jau davė jums chmod pliuso x, 798 00:36:44,330 --> 00:36:45,440 kaip matysime vėliau. 799 00:36:45,440 --> 00:36:48,460 tiesiog reiškia duoti tai konkretus leidimus visiems. 800 00:36:48,460 --> 00:36:49,600 Duok jiems visiems. 801 00:36:49,600 --> 00:36:55,370 Taigi jums gali labai gerai būti u plius x arba g plius x arba o plius x arba kelių 802 00:36:55,370 --> 00:36:55,870 jos. 803 00:36:55,870 --> 00:36:59,280 Taigi, kad pirmoji dalis yra visada bus nuorodos. 804 00:36:59,280 --> 00:37:03,220 Kas mes suteikiant šias teises, arba kurie mes juos vartoti nuo? 805 00:37:03,220 --> 00:37:04,850 >> Antrasis yra operatorius. 806 00:37:04,850 --> 00:37:07,350 Taigi jūs, vaikinai dažniausiai nagrinėjami plius. 807 00:37:07,350 --> 00:37:12,140 Tai suteikia teises į kas esate suteikiant jiems, 808 00:37:12,140 --> 00:37:14,840 o minusas, logiškai, pašalina juos. 809 00:37:14,840 --> 00:37:16,880 Taigi nieko per daug baisu ten. 810 00:37:16,880 --> 00:37:23,060 Ir tada režimai yra tai, ką mes kalbėjome apie skaitymo, rašymo, arba vykdyti. 811 00:37:23,060 --> 00:37:29,070 Taigi plius X reiškia duoti vykdomąjį leidimus visiems. 812 00:37:29,070 --> 00:37:33,430 Ir tada, žinoma, dėl kurių konkretus failo ar katalogo. 813 00:37:33,430 --> 00:37:33,980 Gerai? 814 00:37:33,980 --> 00:37:36,010 Kiekvienas geras chmod? 815 00:37:36,010 --> 00:37:37,850 Ne per blogai? 816 00:37:37,850 --> 00:37:42,417 >> Gerai, kad HTML, kas nors iš jūsų yra pakankamai suaugę to-- MySpace amžius? 817 00:37:42,417 --> 00:37:44,750 Aš pasiunčiau tai mano skyriuje, ir tiesiog pusė žmonių 818 00:37:44,750 --> 00:37:45,790 pažvelgė į mane, kaip aš buvo pamišęs. 819 00:37:45,790 --> 00:37:47,498 Ir man buvo kaip, vaikinai, mes ne, kad senas. 820 00:37:47,498 --> 00:37:48,910 Nagi. 821 00:37:48,910 --> 00:37:53,360 Taigi hiperteksto kalba, tai sąžiningai tik už jus būdas 822 00:37:53,360 --> 00:37:57,990 rodyti tam tikrus dalykus internete. 823 00:37:57,990 --> 00:37:59,210 Taigi, tai žymėjimo kalba. 824 00:37:59,210 --> 00:38:00,640 Tai ne skriptų kalba. 825 00:38:00,640 --> 00:38:02,160 Nėra jame logika. 826 00:38:02,160 --> 00:38:05,710 Ji yra tiesiog pakeisti būdas kažkas yra rodomas. 827 00:38:05,710 --> 00:38:07,670 Gerai, kad yra svarbu, atskirti padaryti. 828 00:38:07,670 --> 00:38:12,030 Tai laikoma kalbą, nėra skriptų kalba. 829 00:38:12,030 --> 00:38:15,100 >> Taigi čia mes turime HTML žymes. 830 00:38:15,100 --> 00:38:20,390 Šiame skaidrės tikriausiai dauguma tie, kurie jums turėtų būti susipažinę su 831 00:38:20,390 --> 00:38:22,390 ir tikrai patogu. 832 00:38:22,390 --> 00:38:25,700 Taigi akivaizdu, kad turime Mūsų HTML tegus, kuris 833 00:38:25,700 --> 00:38:29,930 nurodo, kad viskas Tarp šių dviejų bus HTML. 834 00:38:29,930 --> 00:38:33,070 Mes turime ryšį, kuris akivaizdžiai duos jums 835 00:38:33,070 --> 00:38:34,990 Nuoroda į išorinio interneto puslapyje. 836 00:38:34,990 --> 00:38:37,520 Kai pavadinimas, kaip mūsų galva čia. 837 00:38:37,520 --> 00:38:40,020 Ir mes turime kūną h1, kuris yra galva, 838 00:38:40,020 --> 00:38:42,260 todėl bus padaryti jį gražus ir drąsus ir didesni. 839 00:38:42,260 --> 00:38:46,040 Ir tada, mes turime kai p, kuris yra dalis. 840 00:38:46,040 --> 00:38:49,000 Jūs tikriausiai turėtų žinoti ir būti susipažinęs su dalykų 841 00:38:49,000 --> 00:38:54,030 pavyzdžiui, kaip jūs įtraukėte vaizdą, yra yra kitų antraštės klasės? 842 00:38:54,030 --> 00:38:57,240 Aš neabejotinai būtų patogu su div. 843 00:38:57,240 --> 00:39:00,840 Taigi jie turi žymų dauguma kad jums turėtų būti susipažinę su. 844 00:39:00,840 --> 00:39:04,370 Bet, žinoma, kaip ir viskas CS 50, sąrašas nėra baigtinis. 845 00:39:04,370 --> 00:39:08,200 Todėl įsitikinkite, kad jums atsigaivinti kad. 846 00:39:08,200 --> 00:39:13,260 >> CSS, todėl CSS, jei kas nors iš jūsų žiūrėti mano seminaras iš prieš dvi savaites, 847 00:39:13,260 --> 00:39:16,250 yra tikrai tik būdas stiliaus savo tinklalapį? 848 00:39:16,250 --> 00:39:18,950 Gerai, kad mes turime tam tikrą žymėjimo kalbą. 849 00:39:18,950 --> 00:39:23,220 HTML, kuri rūpinasi tik tekstą ir kur ji gali būti ant puslapio. 850 00:39:23,220 --> 00:39:25,760 Bet CSS yra tikrai tai, ką daro tai gana. 851 00:39:25,760 --> 00:39:30,690 Jūs galite turėti juos savo HTML failai, bet mes kalbame apie vėliau 852 00:39:30,690 --> 00:39:32,660 Aš esu gana įsitikinęs, ji gali būti šalia skaidrių, tai 853 00:39:32,660 --> 00:39:35,620 yra įprasta praktika, ir iš tikrųjų praktika, kad mes tikrai skatina, 854 00:39:35,620 --> 00:39:40,670 jums išlaikyti juos atskirti, kai mes kalbėti apie MVC ir kad visa paradigma. 855 00:39:40,670 --> 00:39:42,490 Tai tikrai, kas tai atiduria. 856 00:39:42,490 --> 00:39:46,110 >> Taigi CSS yra tiesiog būdas kad viskas atrodo gana. 857 00:39:46,110 --> 00:39:50,500 Dalykų, čia, kaip kūno ir #title ir .info, 858 00:39:50,500 --> 00:39:54,340 jie vadinami selektoriai ir ką jie yra jie pasirinkti konkrečius dalykus 859 00:39:54,340 --> 00:39:59,260 per savo HTML failą ir taikyti nepriklausomai nuo stiliaus, 860 00:39:59,260 --> 00:40:04,090 kokia rūšiuoti dalykų, kad jūs norite, kad šiuo konkrečiu elementu savo interneto 861 00:40:04,090 --> 00:40:04,590 puslapis. 862 00:40:04,590 --> 00:40:08,820 Taigi čia mes turime fono spalva ir spalva 863 00:40:08,820 --> 00:40:12,450 ir šrifto šeimos, kad manimi yra taikomos nepriklausomai yra organizme. 864 00:40:12,450 --> 00:40:15,530 Taigi, jei mes pažvelgė atgal čia ją nebūtų taikomos pavadinimą. 865 00:40:15,530 --> 00:40:22,340 Jis būtų taikomas tik tai, kas yra Šiose kūno selektoriai, gerai? 866 00:40:22,340 --> 00:40:25,250 >> Su pavadinimu čia, tai bus tas pats, 867 00:40:25,250 --> 00:40:28,410 teksto spalva yra mėlyna tik ketina 868 00:40:28,410 --> 00:40:33,870 paveikti tai, kas per Pavadinimo selektoriai. 869 00:40:33,870 --> 00:40:36,580 O taip pat informacijos čia, tekstas bus rožinė, 870 00:40:36,580 --> 00:40:38,600 kokia info, kuris yra čia. 871 00:40:38,600 --> 00:40:40,860 Taigi vienintelis dalykas, kuris būtų rožinė Šiame puslapyje 872 00:40:40,860 --> 00:40:44,100 yra data, pirmadienis, lapkritis 17, 2014. 873 00:40:44,100 --> 00:40:48,770 Gerai, kad CSS yra tiesiog būdas labiau kontroliuoti over-- taip? 874 00:40:48,770 --> 00:40:51,850 >> AUDITORIJA: Kodėl jūs turite naudoti maišos su pavadinimu? 875 00:40:51,850 --> 00:40:55,170 >> HANNAH: Kita skaidrė, žada! 876 00:40:55,170 --> 00:40:56,810 Mes ten. 877 00:40:56,810 --> 00:40:59,830 Taigi tai, kodėl mes turime naudoti maišos. 878 00:40:59,830 --> 00:41:03,429 Taigi selektoriai imtis trijų pagrindinių formos, kad mes su jumis pasikalbėti vaikinai apie tai. 879 00:41:03,429 --> 00:41:05,595 Aš fyou norite sužinoti daugiau, ten yra daug ten. 880 00:41:05,595 --> 00:41:07,540 Yra puikus CSS dokumentai. 881 00:41:07,540 --> 00:41:12,680 Yra žyma, pavadinimas, kuris turi daryti tik su savo įprastą žymeles HTML. 882 00:41:12,680 --> 00:41:17,210 Taigi h1, P, div, H2, tie dalykų rūšių. 883 00:41:17,210 --> 00:41:20,320 Ir mes galime tik pavadinimas tiems, kaip yra. 884 00:41:20,320 --> 00:41:22,650 Taigi, kaip matome čia kūno, tai normalu žymė. 885 00:41:22,650 --> 00:41:26,660 Taigi, mes galime tiesiog įdėti kūną, kai mes kalbame mūsų CSS faile. 886 00:41:26,660 --> 00:41:29,730 >> Su pavadinimu, visai priežasties mes turi tai maišos yra mes turime tai, kas 887 00:41:29,730 --> 00:41:31,010 laikoma ID. 888 00:41:31,010 --> 00:41:35,400 Taigi ID visada turėtų būti unikalus savo HTML puslapį 889 00:41:35,400 --> 00:41:37,930 kad, kai esate nuoroda į tai, jūs 890 00:41:37,930 --> 00:41:41,990 žinau, kad jūs tik nuoroda vienam konkrečiam dalykas. 891 00:41:41,990 --> 00:41:46,270 Taigi, šiuo atveju čia, su mūsų h1 čia CS 50 peržiūros sesija, 892 00:41:46,270 --> 00:41:47,810 mes turime teisę į nuosavybę, ID. 893 00:41:47,810 --> 00:41:54,280 Taigi, siekiant tik nuoroda į, kad gabalas mūsų HTML, mes maišos titulą. 894 00:41:54,280 --> 00:41:58,080 Tiesiog pagal susitarimą ID yra paskirta su priešais juos maišos. 895 00:41:58,080 --> 00:42:01,650 Tuo pačiu būdu, matome, informacijos čia yra klasė. 896 00:42:01,650 --> 00:42:06,070 Ir taip klasę su CSS yra paskirta dot klasės 897 00:42:06,070 --> 00:42:08,895 arba dot ką, kad klasė yra. 898 00:42:08,895 --> 00:42:10,850 Taigi šiuo atveju čia, tai informacijos. 899 00:42:10,850 --> 00:42:13,090 >> Taigi aš jį atgal. 900 00:42:13,090 --> 00:42:16,200 Abu šie būtų rožinė mūsų CSS čia 901 00:42:16,200 --> 00:42:18,430 nes jie abu turi informacijos klasės. 902 00:42:18,430 --> 00:42:23,070 Ir mūsų CSS failą, mes paskirta kad nieko su info klasės 903 00:42:23,070 --> 00:42:24,120 turi būti rausva. 904 00:42:24,120 --> 00:42:25,968 Ar tai prasminga? 905 00:42:25,968 --> 00:42:27,435 Taip? 906 00:42:27,435 --> 00:42:30,731 >> AUDITORIJA: Jei buvo padaryti viskas Kūno balta, 907 00:42:30,731 --> 00:42:32,814 ir tada pabandyti padaryti kažkas viduje mėlyna, 908 00:42:32,814 --> 00:42:34,770 būtų, kad sukelti problemų? 909 00:42:34,770 --> 00:42:37,310 >> HANNAH: Taigi CSS pakopinių stilių. 910 00:42:37,310 --> 00:42:40,730 Taigi kas yra link dugnas bus viršesnės. 911 00:42:40,730 --> 00:42:44,080 Taigi, jei jūs ką nors su kūnu, ir jums padaryti visa balta, 912 00:42:44,080 --> 00:42:49,300 ir tada vėliau galite pakeisti pavadinimą ar jums pakeisti tekstą per kūną, 913 00:42:49,300 --> 00:42:50,560 jis perrašo, kad. 914 00:42:50,560 --> 00:42:55,360 Taigi nieko link dugnas bus viršesnės. 915 00:42:55,360 --> 00:42:56,730 Taip? 916 00:42:56,730 --> 00:42:59,627 >> Auditorija: Ir ID yra unikalus, bet klasės gali būti daugiau? 917 00:42:59,627 --> 00:43:00,210 HANNAH: Teisė. 918 00:43:00,210 --> 00:43:06,320 Taigi ID turi būti unikalus ir klases gali vadina daugelio dalykų, kaip jūs norite. 919 00:43:06,320 --> 00:43:07,580 Visi kiti klausimai? 920 00:43:07,580 --> 00:43:09,800 Taip. 921 00:43:09,800 --> 00:43:11,210 >> Auditorija: [nesigirdi]. 922 00:43:11,210 --> 00:43:13,509 Man įdomu, ar kad daro skirtumą. 923 00:43:13,509 --> 00:43:15,217 HANNAH: Aš atsiprašau, kas buvo klausimas? 924 00:43:15,217 --> 00:43:18,960 AUDITORIJA: Yra mažas "F" ir kapitalas "F." 925 00:43:18,960 --> 00:43:21,440 HANNAH: Taigi skirtumas tarp mažo "F" ir sostinės "F" 926 00:43:21,440 --> 00:43:22,606 neturėtų padaryti skirtumą. 927 00:43:22,606 --> 00:43:26,330 Taigi "F" bus 15 Bet kuriuo atveju. 928 00:43:26,330 --> 00:43:28,130 Šaunu, dar ką nors? 929 00:43:28,130 --> 00:43:29,930 Kiekvienas geras, CSS? 930 00:43:29,930 --> 00:43:30,850 Taip? 931 00:43:30,850 --> 00:43:31,790 >> AUDITORIJA: Atsiprašau. 932 00:43:31,790 --> 00:43:35,550 Ar turite klasę ir ID? 933 00:43:35,550 --> 00:43:38,030 >> HANNAH: Taip, galite. 934 00:43:38,030 --> 00:43:40,420 Ką gali turėti tiek klasę ir ID. 935 00:43:40,420 --> 00:43:44,670 Ir aš labai rekomenduoju išbandyti tai savo. 936 00:43:44,670 --> 00:43:50,480 CSS jums geriausia mokytis tik darant kažkas, labai paprastas interneto puslapis, 937 00:43:50,480 --> 00:43:53,440 rengiant kai CSS, ir tik pamatyti, kaip jie sąveikauja. 938 00:43:53,440 --> 00:43:56,970 Ir gausite labai gera, intuityvus jausmas už, kaip ji veikia. 939 00:43:56,970 --> 00:43:58,810 >> Gerai, visi gerai su CSS? 940 00:43:58,810 --> 00:44:01,280 Jūs visi ketina padaryti gražūs svetainės su CSS dabar. 941 00:44:01,280 --> 00:44:05,460 Gerai, geriausia praktika, tik dalykų, kuriuos reikia turėti omenyje, daiktai 942 00:44:05,460 --> 00:44:09,810 that-- tai kodėl mes dokas Jūs dizainerio ir Papuošalą. 943 00:44:09,810 --> 00:44:11,820 Taigi uždaryti visus savo HTML žymes. 944 00:44:11,820 --> 00:44:14,840 Taigi, jei turite atvirą kūną, turėtų būti arti kūno. 945 00:44:14,840 --> 00:44:18,180 Jei turite atvirą dalį, turėtų būti artimas dalis. 946 00:44:18,180 --> 00:44:19,555 Patikrinkite, jūsų puslapis patvirtina. 947 00:44:19,555 --> 00:44:23,330 Vaikinai turėtų būti labai gerai susipažinęs su šia iš p-septynis 948 00:44:23,330 --> 00:44:26,350 su AP 50 finansus su W3 tvirtintojas. 949 00:44:26,350 --> 00:44:28,340 Ir kaip minėjau anksčiau, vienas iš mūsų didžiųjų paradigmų 950 00:44:28,340 --> 00:44:33,780 yra atskirti savo stilių su CSS iš savo antkainį, kuris yra HTML. 951 00:44:33,780 --> 00:44:36,900 Ir tada, žinoma, mes turime tai puikus XKCD žemyn čia. 952 00:44:36,900 --> 00:44:38,280 Yay, Comic Relief! 953 00:44:38,280 --> 00:44:41,340 >> Gerai, TCP / IP. 954 00:44:41,340 --> 00:44:44,650 Tarp jų ir HTTP, Iš esmės jie abu protokolai. 955 00:44:44,650 --> 00:44:46,810 Taigi jums gali tiesiog manau, iš jų kaip taisyklių rinkinys 956 00:44:46,810 --> 00:44:50,110 kad reglamentuoja, kaip viskas pereiti per internetą. 957 00:44:50,110 --> 00:44:53,410 Taigi perdavimo kontrolė protokolas, arba interneto protokolą, 958 00:44:53,410 --> 00:44:57,280 yra tik būdas įsitikinti, kad kad duomenys gauna kur ji vyksta 959 00:44:57,280 --> 00:45:00,030 ir kad mes žinome, jeigu mes niekada trūkstamus duomenis. 960 00:45:00,030 --> 00:45:03,520 Taigi, jei jūs manote atgal į paskaitą prieš porą savaičių su Dovydo 961 00:45:03,520 --> 00:45:06,980 kur mes turėjome keturis vokus, jie visi buvo sunumeruoti, kaip vienas iš keturių, 962 00:45:06,980 --> 00:45:11,300 du iš keturių, trys iš keturių, keturi iš keturi, tai tik taisyklių rinkinys. 963 00:45:11,300 --> 00:45:13,830 Mes sakėme, gerai, kai mes siųsti daugiau nei vieną paketą, 964 00:45:13,830 --> 00:45:16,610 mes ketiname sunumeruoti tai, ką numeris yra 965 00:45:16,610 --> 00:45:19,040 ir kiek iš viso, kad vartotojas turėtų gauti. 966 00:45:19,040 --> 00:45:22,540 >> Ir tai tik sakau, kas gauna duomenis, ar jie 967 00:45:22,540 --> 00:45:26,120 Dotarłeś viską arba jei kažkas pasiklydo pakeliui. 968 00:45:26,120 --> 00:45:28,840 Ir jie turi paprašyti jį dar kartą. 969 00:45:28,840 --> 00:45:31,140 Tai tikrai tik taisyklių rinkinys. 970 00:45:31,140 --> 00:45:33,650 Štai kaip jūs galite galvoti apie tai, gerai? 971 00:45:33,650 --> 00:45:37,700 Taip pat, ji nurodo uostą, kuris vaikinai can-- Žinau paskaitos metu 972 00:45:37,700 --> 00:45:39,170 jie turėjo visą sąrašą uostus. 973 00:45:39,170 --> 00:45:41,630 Bet mes neturime juos čia dabar. 974 00:45:41,630 --> 00:45:45,290 >> Taigi hiperteksto perdavimo protokolas yra, vėlgi, tai dar vienas protokolas. 975 00:45:45,290 --> 00:45:48,630 Taigi, tai dar vienas taisyklių rinkinys kad valdyti, šiuo atveju, 976 00:45:48,630 --> 00:45:51,130 kaip hiperteksto perkeliama. 977 00:45:51,130 --> 00:45:54,340 Taigi jis tiesiog leidžia naršyklių kalbėti interneto serverių. 978 00:45:54,340 --> 00:45:56,910 Ir kaip mes sakėme, čia tai kaip žmogaus Patvirtinimas ryšio. 979 00:45:56,910 --> 00:46:00,480 Tai tiesiog būdas valdyti kaip žiniatinklio serveris yra 980 00:46:00,480 --> 00:46:02,690 ketina bendrauti su savo naršyklėje. 981 00:46:02,690 --> 00:46:05,660 Ir mes turime tik keletą pavyzdžių. 982 00:46:05,660 --> 00:46:09,100 Mes turime keletą prašymų čia kur GET yra metodas. 983 00:46:09,100 --> 00:46:13,760 Mes turime HTTP 1.1, kuri yra protokolo versiją už mus. 984 00:46:13,760 --> 00:46:17,230 Ir tada, priimančiosios, kuri yra tai, ką mes iš tikrųjų bando prieiti. 985 00:46:17,230 --> 00:46:21,800 Ir tada, kaip matote čia, mes kažkiek šio 200 atsakymą 986 00:46:21,800 --> 00:46:25,032 Gerai, kaip mūsų HTTP atsakymo kodas. 987 00:46:25,032 --> 00:46:27,240 Mes turime didelį sąrašą aš ruošiuosi atsigriebti per vieną sekundę 988 00:46:27,240 --> 00:46:29,430 kad vaikinai turėtų būti susipažinę su. 989 00:46:29,430 --> 00:46:35,750 Ir mes turime šį Turinio tipas text / html, kuri tiesiog sako, kokio tipo duomenis 990 00:46:35,750 --> 00:46:39,990 mes gauti iš serverio, gerai? 991 00:46:39,990 --> 00:46:44,230 Šis kompiuteris, o tai turinio tipas yra dalis HTTP antraščių. 992 00:46:44,230 --> 00:46:49,610 Jūs galite turėti keletą ar kiek būtina kontekste, kas 993 00:46:49,610 --> 00:46:50,580 jūs susiduriame su. 994 00:46:50,580 --> 00:46:53,371 Kartais jūs turite daug informacija iš jūsų serveryje. 995 00:46:53,371 --> 00:46:56,040 Gal jie prašo daug informacijos iš naudotojo. 996 00:46:56,040 --> 00:46:57,600 Ji kinta priklausomai nuo konteksto. 997 00:46:57,600 --> 00:47:01,144 Jei pažvelgti į CS 50 studijų, ten daug daugiau apie tai. 998 00:47:01,144 --> 00:47:03,060 Bet mes turime daug gauti per, todėl aš ruošiuosi 999 00:47:03,060 --> 00:47:05,760 eiti tiesiai pirmyn, jei kad viskas OK su jumis vaikinai? 1000 00:47:05,760 --> 00:47:07,960 Nemokama. 1001 00:47:07,960 --> 00:47:08,460 Prašome palaukti. 1002 00:47:08,460 --> 00:47:11,182 Aš tikrai turi, kad Visą sąrašą of-- huh! 1003 00:47:11,182 --> 00:47:13,140 Aš nežinau, kodėl tai visi per čia taip. 1004 00:47:13,140 --> 00:47:15,660 Aš maniau, kad aš tiesiog persikėlė ją, o aš buvau sitting-- 1005 00:47:15,660 --> 00:47:16,540 >> DAVIN: Ar norite išmokyti jį? 1006 00:47:16,540 --> 00:47:17,420 Arba jūs norite mane mokyti? 1007 00:47:17,420 --> 00:47:20,010 >> AUDITORIJA: aš maniau, mes galėtų tiesiog parodyti juos pradėti. 1008 00:47:20,010 --> 00:47:22,210 Aš turiu galvoje, jūs galite pereiti į juos toliau, bet aš 1009 00:47:22,210 --> 00:47:26,030 maniau jis padarė daugiau prasmės, nes I buvo tik kalbame apie HTTP statuso. 1010 00:47:26,030 --> 00:47:28,200 Taigi čia Visą sąrašą. 1011 00:47:28,200 --> 00:47:31,730 Manau, kas nutiks yra Davin ketina eiti į juos vėliau. 1012 00:47:31,730 --> 00:47:35,330 Bet ten visa sąrašas Peržiūrėti skonio ateiti. 1013 00:47:35,330 --> 00:47:41,640 Gerai, mes ketiname blow-- tai vyksta būti PHP avarijos metu, kaip niekas kitas. 1014 00:47:41,640 --> 00:47:44,874 >> Taigi PHP Hypertext Preprocessor, tai grįžtamojo Backronym, 1015 00:47:44,874 --> 00:47:46,540 tai reiškia, kad buvo pavadintas ką nors kita. 1016 00:47:46,540 --> 00:47:49,050 Ir tada jie buvo kaip, šis nėra prasmės. 1017 00:47:49,050 --> 00:47:52,210 Taigi jie tiesiog pavadino it-- ir tai buvo akronimas, 1018 00:47:52,210 --> 00:47:54,840 kad jie tiesiog tapo PHP hiperteksto pirminio apdorojimo, kuris 1019 00:47:54,840 --> 00:47:55,980 tiesiog neturi prasmės. 1020 00:47:55,980 --> 00:47:57,714 Pramogos istorija. 1021 00:47:57,714 --> 00:47:58,880 Tai programavimo kalba. 1022 00:47:58,880 --> 00:48:02,360 Taigi tiek, kiek noriu pabrėžti, kad HTML nėra programavimo kalba, 1023 00:48:02,360 --> 00:48:05,350 tai žymėjimo kalba, PHP yra programavimo kalba. 1024 00:48:05,350 --> 00:48:07,422 Kaip jūs žinote, tai yra nes yra logika. 1025 00:48:07,422 --> 00:48:08,380 Yra Conditionals. 1026 00:48:08,380 --> 00:48:12,750 Mes turime kintamuosius, o mes nė vienas iš tų dalykų, į HTML. 1027 00:48:12,750 --> 00:48:16,960 >> Gerai, tada mes turime tai tiek tiek, kad čia tarsi PHP skonį. 1028 00:48:16,960 --> 00:48:20,510 Taigi pagrindai, kintamųjų vardai pradėti su dolerio ženklu. 1029 00:48:20,510 --> 00:48:21,500 Daug žmonių tai patinka. 1030 00:48:21,500 --> 00:48:22,371 Primena mums pinigus. 1031 00:48:22,371 --> 00:48:22,995 Tai viskas puiku. 1032 00:48:22,995 --> 00:48:25,280 Mes visi norime PHP. 1033 00:48:25,280 --> 00:48:28,020 Taigi, mes nenurodysite Kintamojo tipas nebėra. 1034 00:48:28,020 --> 00:48:29,995 Jis yra nustatomas vykdymo metu. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 Vertėjas bus kaip, oi, mes tiesiog paleisti per, 1037 00:48:35,890 --> 00:48:39,565 ir, atsižvelgiant į aplinkybes, matysime, kokių tipų tipų 1038 00:48:39,565 --> 00:48:41,560 Šie kintamieji turi turėti. 1039 00:48:41,560 --> 00:48:42,815 Nėra pagrindinė funkcija. 1040 00:48:42,815 --> 00:48:43,690 Viskas bus tiesiog paleisti. 1041 00:48:43,690 --> 00:48:47,851 Jūs vaikinai su savo importo jūsų paskutinis p nustatyta, pastebėsite tai. 1042 00:48:47,851 --> 00:48:49,350 Nebuvo tikrai pagrindinė funkcija. 1043 00:48:49,350 --> 00:48:52,070 Jūs tiesiog rašė, ką jūs norėjote, kad taip atsitiktų. 1044 00:48:52,070 --> 00:48:53,280 Ir tai tiesiog rūšies atsitiko. 1045 00:48:53,280 --> 00:48:56,760 Taigi, kad PHP už jus. 1046 00:48:56,760 --> 00:48:59,180 >> Masyvai yra labai panašūs. 1047 00:48:59,180 --> 00:49:01,270 Mes vis dar turime šį laikiklį. 1048 00:49:01,270 --> 00:49:05,940 Čia mes turime šiek tiek kintamasis vadinamas aranžuotė, ir tai yra lygus 1049 00:49:05,940 --> 00:49:08,540 to-- mes turime normalu laikiklis žymėjimas. 1050 00:49:08,540 --> 00:49:10,630 Ir mes turime tam tikrą svarbiausią reikšmę. 1051 00:49:10,630 --> 00:49:14,630 Ir didelis skirtumas tarp C ir PHP masyvų 1052 00:49:14,630 --> 00:49:19,330 yra tai, kad mes galime turėti šį associate-- mes galime susieti vertybes raktus. 1053 00:49:19,330 --> 00:49:22,440 Taigi vietoj tiesiog masyvas, kuris yra indeksuojamas 1054 00:49:22,440 --> 00:49:26,630 pagal skaičių arba pozicijos tos į masyvo elementą, 1055 00:49:26,630 --> 00:49:29,060 mes iš tikrųjų galime susieti jį su raktu. 1056 00:49:29,060 --> 00:49:36,700 Kur mes galime pasakyti, gerai, aš noriu kokia vertė yra susijęs su vaisių. 1057 00:49:36,700 --> 00:49:39,280 O gal mes turime vaisių nuvyko į bananų. 1058 00:49:39,280 --> 00:49:41,760 Taigi reikia grįžti bananą į mus. 1059 00:49:41,760 --> 00:49:44,100 >> Bet iš esmės, dauguma galingas dalykas, apie tai 1060 00:49:44,100 --> 00:49:47,960 yra tai, kad, jei jus vaikinai prisiminti demo paskaitą, kur mes iš esmės 1061 00:49:47,960 --> 00:49:53,050 perrašytas Speller PHP, ir tai was-- peržvalgos buvo tikrai tik patinka, 1062 00:49:53,050 --> 00:49:55,007 Ar tai raktas egzistuoja? 1063 00:49:55,007 --> 00:49:56,590 Tai tikrai natūra iš jo valdžią. 1064 00:49:56,590 --> 00:49:58,560 Jūs neturite reikia pakartoti per savo masyvo. 1065 00:49:58,560 --> 00:50:00,311 Jums nereikia žinoti Kokia vieta jis yra. 1066 00:50:00,311 --> 00:50:01,976 Tai gali būti pabaigoje, arba pradžioje. 1067 00:50:01,976 --> 00:50:04,790 Tol, kol jūs žinote, raktą Štai susijęs su verte, 1068 00:50:04,790 --> 00:50:09,740 PHP gali tik spjaudyti tą vertę atgal į tave, gerai? 1069 00:50:09,740 --> 00:50:12,960 >> Ir tada, mes taip pat tik ką tik, nes mes 1070 00:50:12,960 --> 00:50:16,750 gali turėti rakto poros nereiškia, kad jūs turite. 1071 00:50:16,750 --> 00:50:19,180 Taip pat galite tiesiog sukurti normalus masyvas, kaip čia 1072 00:50:19,180 --> 00:50:21,540 apačioje, kur jis tik vienas, du, tris, keturis. 1073 00:50:21,540 --> 00:50:22,510 Tai yra mūsų vertybės. 1074 00:50:22,510 --> 00:50:25,320 Ir iš tikrųjų, jų raktai yra indeksai. 1075 00:50:25,320 --> 00:50:26,830 Taigi vienas raktas būtų lygi nuliui. 1076 00:50:26,830 --> 00:50:28,610 Du raktas būtų vienas. 1077 00:50:28,610 --> 00:50:31,910 Taigi, toliau ir taip toliau, nebent Jūs aiškiai priskirti raktą, 1078 00:50:31,910 --> 00:50:34,630 galima daryti prielaidą, kad vertės yra tik jų indeksas. 1079 00:50:34,630 --> 00:50:37,290 Ar tai prasminga visiems? 1080 00:50:37,290 --> 00:50:38,070 Nėra klausimų? 1081 00:50:38,070 --> 00:50:38,930 Nuostabus. 1082 00:50:38,930 --> 00:50:44,420 >> Gerai, foreach yra būdas pakartoti per savo matricos. 1083 00:50:44,420 --> 00:50:47,490 Taigi, mes turime kažką čia tik bendra struktūra. 1084 00:50:47,490 --> 00:50:51,020 Taigi foreach, ir vardas mūsų masyvas, kaip kokia 1085 00:50:51,020 --> 00:50:53,930 norite skambinti vieni elementas jūsų masyvas, 1086 00:50:53,930 --> 00:50:57,270 ir mes galime padaryti kažką kad elementas arba tos vertės. 1087 00:50:57,270 --> 00:50:58,680 Taigi, mes turime pavyzdį čia. 1088 00:50:58,680 --> 00:51:05,770 Mes turime Association masyvas su šių dviejų įrašų 1089 00:51:05,770 --> 00:51:10,080 su baru yra susijęs su foo ir qux yra susijęs su Baz. 1090 00:51:10,080 --> 00:51:12,180 Taigi raktai foo ir bazių. 1091 00:51:12,180 --> 00:51:13,650 Vertybės yra baras ir qux. 1092 00:51:13,650 --> 00:51:18,560 Taigi foreach, mes turime įvairių čia kaip rakto porą. 1093 00:51:18,560 --> 00:51:21,560 Tai leidžia mums naudotis tiek klavišą ir vertę. 1094 00:51:21,560 --> 00:51:23,680 Gal jūs tiesiog norite vertė, tokiu atveju 1095 00:51:23,680 --> 00:51:27,640 galima tiesiog patinka ARR kaip $ vertės, ir tada 1096 00:51:27,640 --> 00:51:30,640 yra tik patekti į vertę kaip jums pakartoti per. 1097 00:51:30,640 --> 00:51:32,600 O gal, kai priežastis, norite raktą, 1098 00:51:32,600 --> 00:51:35,460 kuris yra, kodėl aš pasirinkau šis pavyzdys vietoj. 1099 00:51:35,460 --> 00:51:40,240 Taigi jūs iš tikrųjų galite manipuliuoti raktas ir vertė ir šiuo atveju. 1100 00:51:40,240 --> 00:51:41,070 Gerai? 1101 00:51:41,070 --> 00:51:41,905 Klausimas? 1102 00:51:41,905 --> 00:51:44,279 >> AUDITORIJA: Jei nori tiesiog manipuliuoti raktą, būtų 1103 00:51:44,279 --> 00:51:45,910 jūs turite padaryti foreach-- 1104 00:51:45,910 --> 00:51:47,360 >> ALISON: Teisė. 1105 00:51:47,360 --> 00:51:50,560 Taigi, jei norite manipuliuoti tik raktą, 1106 00:51:50,560 --> 00:51:53,680 jūs vis dar reikia tai sintaksė, nes jei jūs tiesiog 1107 00:51:53,680 --> 00:51:56,930 turi Arr kaip kažkas, kaip vienas dalykas, tai 1108 00:51:56,930 --> 00:52:00,070 ketina prisiimti norite reikšmės, o ne raktas. 1109 00:52:00,070 --> 00:52:06,780 Taigi, jei jūs kada nors tiesiog kaip aranž kaip, gal tai kaip $ elementas, 1110 00:52:06,780 --> 00:52:11,670 jis ketina daryti prielaidą, kad esate klausia tik už kiekviename taške vertę. 1111 00:52:11,670 --> 00:52:13,879 Jei atvirai noriu kažką daryti su raktu, 1112 00:52:13,879 --> 00:52:16,170 net jei jūs nesiruošia nieko daryti su verte, 1113 00:52:16,170 --> 00:52:18,430 Jums reikia šio struktūra kad mes turime čia 1114 00:52:18,430 --> 00:52:22,330 kur jūs aiškiai klausia tiek raktu ir vertę. 1115 00:52:22,330 --> 00:52:24,170 Didelis klausimas. 1116 00:52:24,170 --> 00:52:25,940 Kitoks? 1117 00:52:25,940 --> 00:52:27,490 Nemokama. 1118 00:52:27,490 --> 00:52:29,911 >> Gerai, PHP ir HTML. 1119 00:52:29,911 --> 00:52:31,410 Oi, mes grįžome į p-septynis dar kartą. 1120 00:52:31,410 --> 00:52:35,380 Taigi tai turėtų atrodyti mažai pažįstamas. 1121 00:52:35,380 --> 00:52:41,760 Taigi tai yra paprastas HTML forma kad turi įvesties pavadinimą labas. 1122 00:52:41,760 --> 00:52:43,820 Ir mes matome mes turime metodą GET. 1123 00:52:43,820 --> 00:52:47,430 Ir jei mes prisimename iš mūsų p-rinkinys, pateikus šią formą, 1124 00:52:47,430 --> 00:52:58,130 ji siunčia masyvą vadinamas $ _GET, kad turi visų šių įėjimų ar kintamųjų iš 1125 00:52:58,130 --> 00:53:00,490 forma, kuri turėtų būti manipuliuoti mūsų PHP. 1126 00:53:00,490 --> 00:53:03,320 Taigi, šiuo atveju, vartotojas būtų įdėti savo vardą. 1127 00:53:03,320 --> 00:53:04,370 Jie teikia jį. 1128 00:53:04,370 --> 00:53:07,810 Ir mes matome, kad mes kažkiek masyvas čia. 1129 00:53:07,810 --> 00:53:09,080 Mes turime GET masyvo. 1130 00:53:09,080 --> 00:53:11,510 Ir mes gauti vardą. 1131 00:53:11,510 --> 00:53:15,070 >> Taigi, kad sako, gerai, duok man vertė, kuri manimi susijęs su vardu, 1132 00:53:15,070 --> 00:53:16,550 pavadinimas yra raktas čia. 1133 00:53:16,550 --> 00:53:21,400 Ir, kad žemėlapiai tiesiai į ką sakėme mūsų indėlis vardas. 1134 00:53:21,400 --> 00:53:28,960 Taigi tai buvo duoti jums į raktą, ką bus jūsų masyvas čia. 1135 00:53:28,960 --> 00:53:31,220 Ar tai prasminga visiems? 1136 00:53:31,220 --> 00:53:32,070 Taip? 1137 00:53:32,070 --> 00:53:36,240 >> AUDITORIJA: Ar pavadinimas GET skaitykite į purpurine linija [nesigirdi]? 1138 00:53:36,240 --> 00:53:37,740 >> ALISON: Tai reiškia, kad tai čia. 1139 00:53:37,740 --> 00:53:43,840 Taigi šis laukas čia, ji nurodo šiuo pavadinimu čia. 1140 00:53:43,840 --> 00:53:47,800 Taigi tai buvo galima pavadinti kaip telefono numeris, ar whatever. 1141 00:53:47,800 --> 00:53:51,790 Šis pavadinimas iš tikrųjų sako, ką jūs skambinate šį lauką? 1142 00:53:51,790 --> 00:53:53,600 Kaip jūs ketinate nuoroda į šį lauką? 1143 00:53:53,600 --> 00:53:57,670 Ir šis pavadinimas iš tikrųjų patinka, mes sakydamas šį lauką vadinamas vardas. 1144 00:53:57,670 --> 00:53:59,224 Štai kaip mes ketiname jį pasiekti. 1145 00:53:59,224 --> 00:54:02,070 >> AUDITORIJA: Taigi tai patinka, įvesties pavadinimą lygus Bob, and-- 1146 00:54:02,070 --> 00:54:04,380 >> ALISON: Teisė, tada jūs gaus Bob ten. 1147 00:54:04,380 --> 00:54:06,090 Būtent. 1148 00:54:06,090 --> 00:54:07,800 Kiekvienas kietas? 1149 00:54:07,800 --> 00:54:10,990 Gerai, kad gauti palyginti POST, Šitie yra du pagrindiniai būdai 1150 00:54:10,990 --> 00:54:14,880 kad mes pereiname duomenis HTTP prašymu. 1151 00:54:14,880 --> 00:54:17,370 Vaikinai turėjo matyti abu tikiuosi. 1152 00:54:17,370 --> 00:54:20,940 Taigi su GET, informacija yra perduodama per URL. 1153 00:54:20,940 --> 00:54:23,490 Taigi, jei jūs kada nors padaryti "Google" paieškos, "YouTube", jums 1154 00:54:23,490 --> 00:54:25,130 tikriausiai pastebėsite, kai klaustuką. 1155 00:54:25,130 --> 00:54:28,230 Ir tada, visi žodžiai kad jūs tiesiog įdėti ten. 1156 00:54:28,230 --> 00:54:31,410 Ir po eina duomenis HTTP pranešimų kūno. 1157 00:54:31,410 --> 00:54:36,922 Taigi, priešingai nei GET, jūs rūšies apsvarstyti kad duomenys yra paslėpta nuo naudotojo. 1158 00:54:36,922 --> 00:54:38,630 Bet kas iš tikrųjų svarbu suprasti, 1159 00:54:38,630 --> 00:54:44,040 yra tai, kad tai yra vis dar kaip nesaugus pat gauti. 1160 00:54:44,040 --> 00:54:48,780 Analogija man patinka naudoti tai, jei jūs turite savo banko sąskaitos numerį 1161 00:54:48,780 --> 00:54:52,795 ir rašote jį į išorę paketas, tai gana nesaugus. 1162 00:54:52,795 --> 00:54:55,920 Jei buvo rašyti nuo gabalo popieriaus ir įdėti jį viduje voką, 1163 00:54:55,920 --> 00:54:58,850 tai dar tikrai nesaugu, nes viskas, ką turite padaryti, tai atidaryti, kad iki 1164 00:54:58,850 --> 00:55:03,480 ir pažvelgti į faktinį turinį Pranešimo pamatyti, kad. 1165 00:55:03,480 --> 00:55:08,310 Taigi tai yra "paslėptas", ir žmonės mėgsta manau, kad tai saugus, bet tai tikrai ne. 1166 00:55:08,310 --> 00:55:11,000 Ir aš tikiu, kad bus Davin patekti į, kad daugiau, gal. 1167 00:55:11,000 --> 00:55:12,850 Bet tai svarbu skirtumas, kad 1168 00:55:12,850 --> 00:55:15,820 ir kažkas tikrai gera suprasti. 1169 00:55:15,820 --> 00:55:19,220 >> Gerai, SQL, Structured Query Language. 1170 00:55:19,220 --> 00:55:22,220 Viskas stuff, kad mes matėme, kad neseniai! 1171 00:55:22,220 --> 00:55:25,400 Taigi tai iš esmės tik suprojektuoti, Akivaizdu, kad duomenų valdymą. 1172 00:55:25,400 --> 00:55:30,560 Vaikinai turėjo daug patirties su tai jūsų lenteles su PHP MyAdmin. 1173 00:55:30,560 --> 00:55:34,100 Ir ten yra keturi bendri užklausos kad mes norime, kad jūs vaikinai žinoti. 1174 00:55:34,100 --> 00:55:37,304 Taigi ten atnaujinimas, įterpti, pasirinkti ir ištrinti. 1175 00:55:37,304 --> 00:55:38,970 Todėl įsitikinkite, kad žinote, tie tikrai gerai. 1176 00:55:38,970 --> 00:55:40,960 Mes ketiname eiti per juos tikrai greitai. 1177 00:55:40,960 --> 00:55:44,340 >> Taigi atnaujinti, tikrai, kaip tai, ką jūs manote, ji, 1178 00:55:44,340 --> 00:55:46,740 jis tiesiog atnaujina duomenis savo duomenų bazę. 1179 00:55:46,740 --> 00:55:48,750 Taigi, mes turime tam tikrą pavyzdį čia. 1180 00:55:48,750 --> 00:55:53,310 Tai yra bendra struktūra atnaujinimas užklausą. 1181 00:55:53,310 --> 00:55:56,150 Taigi, mes atnaujinti lentelę kad mes kalbame apie. 1182 00:55:56,150 --> 00:56:00,520 Ir mes norime nustatyti tam tikras vertybės, tam tikri stulpeliai 1183 00:56:00,520 --> 00:56:02,600 lygus konkrečias vertes. 1184 00:56:02,600 --> 00:56:07,500 Taigi, tai tik atnaujina lentelę, keičiant vertės visų šiuo atveju eilučių. 1185 00:56:07,500 --> 00:56:13,690 Taigi šis žemyn čia tikrasis Pavyzdžiui, mes turime insert-- atsiprašau. 1186 00:56:13,690 --> 00:56:17,630 Tai skaidrių pažangios be manęs nesuvokdami. 1187 00:56:17,630 --> 00:56:22,230 >> Taigi, tai atnaujinimai lentelė col1 lygus į VAL1 kur namas yra lygus "Kurier". 1188 00:56:22,230 --> 00:56:25,300 Kas tai vienas daro, yra jis tik pakeičia, tai tik 1189 00:56:25,300 --> 00:56:28,130 atnaujina šias vertybes konkrečiose vietose. 1190 00:56:28,130 --> 00:56:32,300 Taigi šiuo pirmuoju, jis keičia jų vertės viskas jūsų stalo, 1191 00:56:32,300 --> 00:56:32,860 Gerai? 1192 00:56:32,860 --> 00:56:35,820 Ji ketina tai pakeisti stulpelis už kiekvieną įrašą, 1193 00:56:35,820 --> 00:56:37,020 už kiekvieną eilutę. 1194 00:56:37,020 --> 00:56:40,840 Bet tai kur tu gali galvoti apie tai, kaip skiriamasis. 1195 00:56:40,840 --> 00:56:44,020 Taigi tai tik ketina keisti tai labai konkrečių vietų. 1196 00:56:44,020 --> 00:56:47,840 Taigi p nustatytas septynių, kai jums gal atnaujino pinigų sumą 1197 00:56:47,840 --> 00:56:53,050 kad savo vartotojo turėjo, tikriausiai turėjo kai kur ID lygus sesijos ID, tiesa? 1198 00:56:53,050 --> 00:56:55,280 >> Kadangi jūs nenorėjo keisti pinigų sumą 1199 00:56:55,280 --> 00:56:57,630 kiekvienam asmeniui, kuris buvo naudojant jūsų svetainę. 1200 00:56:57,630 --> 00:57:00,480 Jūs norėjote jį pakeisti vieną konkretus asmuo, tas asmuo yra 1201 00:57:00,480 --> 00:57:02,410 kas buvo naudojant jį tuo metu. 1202 00:57:02,410 --> 00:57:04,320 Teisė? 1203 00:57:04,320 --> 00:57:07,510 Gerai, kad įterpti, įdėklas tam tikros vertybės į lenteles. 1204 00:57:07,510 --> 00:57:11,650 Tai kaip tada, kai esate sukurti naują vartotoją. 1205 00:57:11,650 --> 00:57:14,240 Bendra struktūra čia yra įterpti į bet kokio stalo 1206 00:57:14,240 --> 00:57:15,680 mes kalbame apie. 1207 00:57:15,680 --> 00:57:18,910 Vertybės, kuri yra vertybės, mes iš tikrųjų norite įterpti. 1208 00:57:18,910 --> 00:57:23,060 Gerai, kad mes matome čia, mes buvo įterpti į lentelę. 1209 00:57:23,060 --> 00:57:27,790 Tai specialūs stulpeliai su jų atitiko vertybės. 1210 00:57:27,790 --> 00:57:29,940 Taigi, tai sako, įterpti nauja eilutė, kurių sudėtyje yra 1211 00:57:29,940 --> 00:57:33,660 vertės VAL1 ir VAL2 pagal šios konkrečios stulpeliai. 1212 00:57:33,660 --> 00:57:39,240 >> Taigi gal jūs tik norite užpildyti iš puse šioje eilėje dalykų. 1213 00:57:39,240 --> 00:57:41,150 Štai ką ši dalis čia leidžia jums padaryti. 1214 00:57:41,150 --> 00:57:43,280 Jis leidžia jums iš tikrųjų nustatyti, kokia dalis. 1215 00:57:43,280 --> 00:57:44,244 Taip? 1216 00:57:44,244 --> 00:57:52,150 >> AUDITORIJA: Ar jūs tik [nesigirdi] ląstelių eilės [nesigirdi]? 1217 00:57:52,150 --> 00:57:55,000 >> ALISON: Jei tik užpildyti tam tikras savo eilės, 1218 00:57:55,000 --> 00:57:57,480 tų ląstelių poilsio tik tuščias. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 Tol, kol jūs leidžiate jiems tuščias, tai ne problema. 1221 00:58:05,660 --> 00:58:09,570 Jei bandote prieiti prie jų, tai ketina grįžti šiek tiek tuščias elementas. 1222 00:58:09,570 --> 00:58:13,850 Tačiau ji yra svarbu žinoti kad tam tikrais lenteles, 1223 00:58:13,850 --> 00:58:16,690 jie turi būti leidžiama, kad niekinis. 1224 00:58:16,690 --> 00:58:18,890 Jūs galite paleisti į problema per savo p-rinkinys 1225 00:58:18,890 --> 00:58:21,320 nes mes ne leisti bet iš jūsų vertybės yra niekinis. 1226 00:58:21,320 --> 00:58:26,110 Bet jūs galite nurodyti neprivaloma vertė jūsų stalo. 1227 00:58:26,110 --> 00:58:29,640 >> Gerai, pasirinkite, kad tai yra tiesiog gauti būdas 1228 00:58:29,640 --> 00:58:33,790 specialių duomenų iš lentelė kai identifikatorius, kad jūs norite. 1229 00:58:33,790 --> 00:58:37,990 Taigi pasirinkite žvaigždė iš stalo, kur sp lygus kažkas tiesiog reiškia, 1230 00:58:37,990 --> 00:58:43,820 man visus duomenis, susijusius kur ši konkreti stulpelis yra tiesa. 1231 00:58:43,820 --> 00:58:49,020 Taigi, šiuo atveju žvaigždė grąžinti visą eilutę jums, gerai? 1232 00:58:49,020 --> 00:58:54,880 >> Ir tada, šiuo atveju, pasirinkite žvaigždę nuo stalo tiesiog suteikia jums visą lentelę. 1233 00:58:54,880 --> 00:58:58,940 Ir tada, ištrinti be abejo, tai tik ištrina eilutę iš lentelės. 1234 00:58:58,940 --> 00:59:01,320 Taigi ištrinti iš lentelės, kokia lentelė mes 1235 00:59:01,320 --> 00:59:06,830 nuorodos, jei kai konkretus identifikatorius arba kai sąlyga yra teisinga. 1236 00:59:06,830 --> 00:59:07,720 Taip? 1237 00:59:07,720 --> 00:59:08,700 >> AUDITORIJA: Klausimas Nr. 1238 00:59:08,700 --> 00:59:10,699 Kodėl jūs naudojate dvigubai citatos, ar jums 1239 00:59:10,699 --> 00:59:13,600 padaryti kabutes ar vieno citatos, tai padaryti skirtumą? 1240 00:59:13,600 --> 00:59:18,235 >> ALISON: kabutes ar Viengubomis kabutėmis nereiškia, kad SQL skirtumą. 1241 00:59:18,235 --> 00:59:19,610 Aš maniau, kad aš pamačiau kitą klausimą. 1242 00:59:19,610 --> 00:59:20,814 Taip? 1243 00:59:20,814 --> 00:59:25,070 >> AUDITORIJA: Ar ne tai paveiks ką gauna pabėgo iš užklausai? 1244 00:59:25,070 --> 00:59:27,945 >> ALISON: Rob? 1245 00:59:27,945 --> 00:59:31,410 >> ROB: Ką reiškia pabėgo iš užklausai? 1246 00:59:31,410 --> 00:59:36,870 >> AUDITORIJA: Jei kas nors turi vieno užklausos formą of-- 1247 00:59:36,870 --> 00:59:39,862 >> ROB: Jei kas nors buvo įdėti vieną citatą iš, 1248 00:59:39,862 --> 00:59:43,560 tada taip ilgai, kaip jūs valyti jūsų indėlis, tai nesvarbu. 1249 00:59:43,560 --> 00:59:46,205 Bet jei jūs naudojate vieną citata ir esate neteisingai 1250 00:59:46,205 --> 00:59:47,914 pabėgti savo įėjimai, tada taip, jie turi 1251 00:59:47,914 --> 00:59:51,079 įdėti vieną citatą siekiant išsivaduoti Jūsų kodas. jei jūs naudojate kabutes, 1252 00:59:51,079 --> 00:59:53,580 jiems reikia įdėti dvigubai pacituoti nutraukti savo kodą. 1253 00:59:53,580 --> 00:59:56,163 Bet kaip ilgai, kaip jūs pabėgti dalykus teisingai, tai nesvarbu. 1254 00:59:56,163 --> 00:59:59,220 Tai tiesiog bus verčiamas į teisingą simbolį vistiek. 1255 00:59:59,220 --> 01:00:02,332 >> AUDITORIJA: Ką pabėgti reiškia? 1256 01:00:02,332 --> 01:00:04,040 ALISON: Na, kaip dezinfekavimas ir pabėgti. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 Egzaminą, kad mes turime, puikus XKCD Komiksai kad jie atsigriebti, kur jūs turite, 1259 01:00:13,820 --> 01:00:15,629 oh-- 1260 01:00:15,629 --> 01:00:16,670 ROB: Tai paskutinė skaidrė. 1261 01:00:16,670 --> 01:00:18,500 ALISON: Tai paskutinė skaidrė, tikrai? 1262 01:00:18,500 --> 01:00:20,200 O Dieve. 1263 01:00:20,200 --> 01:00:21,780 Čia mes eiti, tobula. 1264 01:00:21,780 --> 01:00:27,900 Gerai, kad iš esmės, galite švirkšti kažkas į šią SQL užklausa 1265 01:00:27,900 --> 01:00:30,560 kur ji sugenda tavo kodas, arba kaip Davidas parodė 1266 01:00:30,560 --> 01:00:38,460 klasėje, jei mes turime kai vieno citata 1 lygus 1, ir jei mūsų kodu 1267 01:00:38,460 --> 01:00:41,230 mes tiesiog tiesiogiai nukopijuoti, kad ir turime baigiasi vieną pasiūlymą, 1268 01:00:41,230 --> 01:00:44,740 kas atsitinka, yra gausime kai išraiška, 1269 01:00:44,740 --> 01:00:48,680 įvertina, kad tiesa, kad bus tegul kas nors patekti į mūsų duomenų bazę 1270 01:00:48,680 --> 01:00:51,720 ir gauti duomenis, kad mes nenorite, kad jie gauti. 1271 01:00:51,720 --> 01:00:54,240 Taigi valyti įėjimus tiesiog reiškia, įsitikinkite, 1272 01:00:54,240 --> 01:00:57,680 kad mes pabėgti tai simbolių ir juos paskiriant 1273 01:00:57,680 --> 01:01:01,720 kaip simbolių, o ne dalykų kad turėtų būti leidžiama 1274 01:01:01,720 --> 01:01:04,990 būti suprantami tiesiogine prasme kaip mūsų SQL. 1275 01:01:04,990 --> 01:01:09,980 >> Taigi didelis dalykas, kad mes sakėme kad vaikinai turėtų būti naudojant 1276 01:01:09,980 --> 01:01:13,650 buvo HTML specialių simbolių, kuri yra kažkas 1277 01:01:13,650 --> 01:01:15,730 kad jūs galbūt norėsite pažvelgti. 1278 01:01:15,730 --> 01:01:17,240 Gerai, ištrinti. 1279 01:01:17,240 --> 01:01:19,450 Duomenų tipai, tai visi bus internete. 1280 01:01:19,450 --> 01:01:23,510 Kadangi mes 15 minučių į kairę, aš tik ketina eiti tiesiai per tai. 1281 01:01:23,510 --> 01:01:28,500 PHP ir SQL, iš esmės tai yra tik mes turėjome užklausos funkcija, 1282 01:01:28,500 --> 01:01:31,520 padėjo apsisaugoti nuo šie kenkėjiškų atakų. 1283 01:01:31,520 --> 01:01:33,970 Taigi, jei jūs naudojate užklausą, mes įsitikinkite, 1284 01:01:33,970 --> 01:01:36,560 kad viskas buvo dezinfekuotas ir Papuošalą. 1285 01:01:36,560 --> 01:01:41,070 >> MVC yra tik dizaino paradigma, taip modelis, peržiūrėti, valdytojas. 1286 01:01:41,070 --> 01:01:44,200 Tai tiesiog būdas išlaikyti dalykų gražus ir padalinti taip pat 1287 01:01:44,200 --> 01:01:47,100 kad mes linkę veiksnys iš kodą į funkcijas. 1288 01:01:47,100 --> 01:01:53,390 Tai tik web dizainas sistema kuri leidžia jums padaryti tą patį. 1289 01:01:53,390 --> 01:01:54,760 Aš ruošiuosi praleisti tai. 1290 01:01:54,760 --> 01:01:58,530 >> Tai yra kažkas, kad aš Būtų super patogūs su. 1291 01:01:58,530 --> 01:02:01,132 Tai labai mažai stalo ten. 1292 01:02:01,132 --> 01:02:03,090 Jis suteikia jums funkcija pavyzdys modelio. 1293 01:02:03,090 --> 01:02:05,473 Aš tiesiog išgyvena tai, nes aš tikrai norite Davin galės pasikalbėti. 1294 01:02:05,473 --> 01:02:07,140 Jei turite kokių nors klausimų, nedvejodami. 1295 01:02:07,140 --> 01:02:07,931 Aš būsiu čia po. 1296 01:02:07,931 --> 01:02:10,360 Tiesiog ateiti pasikalbėti su manimi. 1297 01:02:10,360 --> 01:02:13,380 Su tuo, turime HTTP būsenos. 1298 01:02:13,380 --> 01:02:16,270 Ir Davin ketina smūgis per tai per 15 minučių. 1299 01:02:16,270 --> 01:02:17,560 Tai bus puikus. 1300 01:02:17,560 --> 01:02:18,893 >> DAVIN: Gerai. 1301 01:02:18,893 --> 01:02:20,312 Uh, jūsų mikrofono? 1302 01:02:20,312 --> 01:02:22,210 Taip. 1303 01:02:22,210 --> 01:02:23,336 Atsiprašau. 1304 01:02:23,336 --> 01:02:24,460 ALISON: Kelias būti parengta. 1305 01:02:24,460 --> 01:02:25,335 DAVIN: Ne, aš pasiruošęs. 1306 01:02:25,335 --> 01:02:25,860 Aš pasiruošęs. 1307 01:02:25,860 --> 01:02:28,790 Leiskite tai padaryti. 1308 01:02:28,790 --> 01:02:29,290 Tai paruošta. 1309 01:02:29,290 --> 01:02:30,041 Gerai. 1310 01:02:30,041 --> 01:02:30,540 Atsiprašau. 1311 01:02:30,540 --> 01:02:31,664 Aš išsiliejo kava save. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 Aš nežinau, jei aš daugiau nusiminusi, kad man atrodo kvailas, 1314 01:02:38,210 --> 01:02:40,600 arba kad aš neturiu kavos nebėra. 1315 01:02:40,600 --> 01:02:44,480 Bet kokiu atveju, tiesiog greitai skelbimas apie lape jus vaikinai. 1316 01:02:44,480 --> 01:02:47,994 Taigi, šis lapas jums vaikinai nėra Oficialus kas ant viktorina. 1317 01:02:47,994 --> 01:02:49,660 Tai oficiali, kas ant viktorina. 1318 01:02:49,660 --> 01:02:52,520 Be to, svetainėje, mes pasakyti Jūs, Gerai, tai bus viktorinoje. 1319 01:02:52,520 --> 01:02:55,020 Taigi, šiek tiek apgauti lape turite, o ne pareigūnas. 1320 01:02:55,020 --> 01:02:56,690 Ir ten yra klaidų ant jo. 1321 01:02:56,690 --> 01:03:01,490 Taigi geriausia ne tik aklai jį naudoti. 1322 01:03:01,490 --> 01:03:04,390 Taigi, taip, tai, kad. 1323 01:03:04,390 --> 01:03:05,980 Taigi galime gauti į šią realią greitai. 1324 01:03:05,980 --> 01:03:07,420 >> Taigi HTTP būsenos. 1325 01:03:07,420 --> 01:03:10,430 Taigi, kas atsitinka, kai svetainė, viskas gerai. 1326 01:03:10,430 --> 01:03:11,144 Viskas gerai. 1327 01:03:11,144 --> 01:03:13,310 Viskas grįžta į Jūs, kaip jūs norite. 1328 01:03:13,310 --> 01:03:15,370 Jūs gausite 200 OK. 1329 01:03:15,370 --> 01:03:19,250 301, kur matėme, kad 301 anksčiau? 1330 01:03:19,250 --> 01:03:20,890 Palaukite, ką yra? 1331 01:03:20,890 --> 01:03:23,250 Atsiprašau. 1332 01:03:23,250 --> 01:03:24,980 Matėme i alavo paskaitą saugumo. 1333 01:03:24,980 --> 01:03:30,690 Taigi saugumo metu, todėl, jei Davidas įvedėte HTTP ir tada bandė eiti į cs50.net, 1334 01:03:30,690 --> 01:03:31,940 jūs ketinate pamatyti 301 perkeltas. 1335 01:03:31,940 --> 01:03:32,440 Kodėl? 1336 01:03:32,440 --> 01:03:35,570 Nes ji ketina nukreipti automatiškai mūsų HTTPS. 1337 01:03:35,570 --> 01:03:38,649 >> Taigi 301 persikėlė, tiesiog tai iš esmės nukreipimas. 1338 01:03:38,649 --> 01:03:40,190 Ir jūs galite galvoti apie tai, kaip šis. 1339 01:03:40,190 --> 01:03:43,790 Bet iš būsenų, kurios prasideda su 2-aisiais, tie, kurie patinka, gerai, viskas OK. 1340 01:03:43,790 --> 01:03:46,530 Bet iš būsenų, kurios prasideda su 3, tai yra nukreipimas. 1341 01:03:46,530 --> 01:03:49,571 Statusai, kad pradėti su 4, tai reiškia, ten kai kliento klaidų rūšies. 1342 01:03:49,571 --> 01:03:52,440 Statusai, kad pradėti su 5, tai kai serverio klaida natūra. 1343 01:03:52,440 --> 01:03:54,680 Taigi jūs rūšies lūžti panašūs, kad statusai. 1344 01:03:54,680 --> 01:03:59,120 Taigi 304 ne nepakeitė, todėl jūsų server.c p-komplektai, todėl tarkim jus 1345 01:03:59,120 --> 01:04:00,600 pakrautas cat.html. 1346 01:04:00,600 --> 01:04:03,360 Viskas grįžta, jums 200S, Gerai, puiku. 1347 01:04:03,360 --> 01:04:04,540 >> Tarkime, jūs atnaujinamas ją. 1348 01:04:04,540 --> 01:04:07,310 Na, viduje, kad cat.html, turite JPEG. 1349 01:04:07,310 --> 01:04:09,520 Na, JPEG nėra ketinate gauti naujo. 1350 01:04:09,520 --> 01:04:12,140 Jūs esate nesiruošia rašyti kitą GET užklausą į serverį, 1351 01:04:12,140 --> 01:04:13,980 ir tada gauti visą šią informaciją atgal. 1352 01:04:13,980 --> 01:04:17,560 Jis ketina tik be-- kad vaizdas yra bus išsaugota Jūsų kompiuteryje. 1353 01:04:17,560 --> 01:04:19,540 Ir taip, kad vaizdas bus 304. 1354 01:04:19,540 --> 01:04:20,720 Taigi jis nebuvo pakeistas. 1355 01:04:20,720 --> 01:04:24,600 Jei tada uždaryti, aišku, sausainiai, ir tada atnaujinti 1356 01:04:24,600 --> 01:04:27,490 ir pabandyti įkelti šį puslapį vėl, jūs ketinate pamatyti 200S. 1357 01:04:27,490 --> 01:04:28,910 Jūs esate nesiruošia matyti, kad 304. 1358 01:04:28,910 --> 01:04:32,340 >> 400, blogai prašymas, nekilnojamojo greitai, pavyzdžiui, jei jums 1359 01:04:32,340 --> 01:04:34,880 einasi siųsti JSON į serverį 1360 01:04:34,880 --> 01:04:38,090 ir jūsų JSON buvo neteisingas, pamatysite kažką panašaus, kad. 1361 01:04:38,090 --> 01:04:39,000 403, draudžiama. 1362 01:04:39,000 --> 01:04:40,330 Kada jūs matote draudžiama? 1363 01:04:40,330 --> 01:04:41,394 Tikriausiai Turbūt? 1364 01:04:41,394 --> 01:04:42,060 AUDITORIJA: Chmod. 1365 01:04:42,060 --> 01:04:42,950 DAVIN: Chmod, taip. 1366 01:04:42,950 --> 01:04:44,730 Taigi jūs turite nenustatytas Permissions teisingai. 1367 01:04:44,730 --> 01:04:45,577 404, nerastas. 1368 01:04:45,577 --> 01:04:46,410 Tai tiesiog nėra. 1369 01:04:46,410 --> 01:04:48,670 Taigi, jei įvesite neteisingą URL. 1370 01:04:48,670 --> 01:04:53,500 500, vidinė serverio klaida, serveris tikriausiai nebuvo tinkamai sukonfigūruotas. 1371 01:04:53,500 --> 01:04:56,260 Kažkas ne savo tikslu, bet kažkas serverio pusėje. 1372 01:04:56,260 --> 01:04:57,240 Ir 503? 1373 01:04:57,240 --> 01:04:59,502 Daug žmonių matė 503s per pastarąjį p-rinkinys. 1374 01:04:59,502 --> 01:05:00,460 Kada, kad taip atsitiktų? 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 Girdėjau šnabžda. 1377 01:05:05,660 --> 01:05:07,767 >> AUDITORIJA: Kai "Google" nusprendžia esate robotas. 1378 01:05:07,767 --> 01:05:10,350 DAVIN: Taip, kai "Google" nusprendžia Jūs esate robotas, gausite 503s. 1379 01:05:10,350 --> 01:05:11,560 Taigi, kad perkrovos. 1380 01:05:11,560 --> 01:05:14,620 Jei jūs paprašė iš serverio per daug, tai dažniausiai yra laikinas. 1381 01:05:14,620 --> 01:05:15,560 Ir dauguma iš jūsų pastebėjo. 1382 01:05:15,560 --> 01:05:16,185 Taigi, kad matėte 503. 1383 01:05:16,185 --> 01:05:19,282 Galbūt ėmėsi šiek tiek pertrauka, tada 503s nuėjo 1384 01:05:19,282 --> 01:05:20,490 ir viskas buvo gerai. 1385 01:05:20,490 --> 01:05:26,640 >> Gabe: Nekilnojamojo greitai, kai jūs vaikinai gauti 500 tikriausiai tai paskutinis problema nustatyti? 1386 01:05:26,640 --> 01:05:27,954 Taip? 1387 01:05:27,954 --> 01:05:30,906 >> AUDITORIJA: Paprastai, jei serveris failą netinkamas 1388 01:05:30,906 --> 01:05:34,650 arba [nesigirdi] savo mašinos [nesigirdi]. 1389 01:05:34,650 --> 01:05:38,870 >> Gabe: Taigi jis gali būti konfigūracija klausimas jūsų PHP jūsų serveryje. 1390 01:05:38,870 --> 01:05:42,250 Tačiau tai gali būti tik kažkas kaip kabliataškis, kad jūsų pamiršau. 1391 01:05:42,250 --> 01:05:44,130 Jei įvedate PHP, kai neteisingai sintaksė 1392 01:05:44,130 --> 01:05:46,000 gali jums ką nors panašaus. 1393 01:05:46,000 --> 01:05:46,960 Gerai? 1394 01:05:46,960 --> 01:05:48,610 >> DAVIN: cool. 1395 01:05:48,610 --> 01:05:51,180 Ar jūs norite man daryti tik iki AJAX? 1396 01:05:51,180 --> 01:05:52,950 >> Gabe: [nesigirdi]. 1397 01:05:52,950 --> 01:05:53,450 DAVIN: Gerai. 1398 01:05:53,450 --> 01:05:54,230 Taigi, kas yra DOM? 1399 01:05:54,230 --> 01:05:55,290 Ką DOM stovėti? 1400 01:05:55,290 --> 01:05:56,990 >> AUDITORIJA: Dokumento objektinis modelis. 1401 01:05:56,990 --> 01:05:57,490 DAVIN: Nicos. 1402 01:05:57,490 --> 01:06:00,775 Ir kodėl mums patinka tai? 1403 01:06:00,775 --> 01:06:02,670 Nuostabus. 1404 01:06:02,670 --> 01:06:06,651 Teisė, todėl tik leidžia mums naudotis HTML, naudotis mūsų puslapyje labai greitai. 1405 01:06:06,651 --> 01:06:07,150 Kodėl? 1406 01:06:07,150 --> 01:06:09,980 Kadangi mes elgiamės su savo puslapis, gydant mūsų HTML žymes 1407 01:06:09,980 --> 01:06:11,730 gydant viskas tarsi jie objektus. 1408 01:06:11,730 --> 01:06:13,710 Jei mes gydyti juos kaip jie objektus, tada ką mes galime padaryti? 1409 01:06:13,710 --> 01:06:15,210 Na, mes galime skambinti funkcijas ant jų. 1410 01:06:15,210 --> 01:06:16,460 Ir tai yra svarbu, kodėl? 1411 01:06:16,460 --> 01:06:19,200 Na, nes mes ketiname naudoti JavaScript atnaujinti savo HTML, 1412 01:06:19,200 --> 01:06:20,500 atnaujinti šiuos objektus. 1413 01:06:20,500 --> 01:06:23,869 Taigi, jei mes elgiamės juos kaip objektus, mes galime tada skambinti funkcijas ant jų. 1414 01:06:23,869 --> 01:06:26,660 Aš ruošiuosi gauti į tai šiek tiek daugiau, kai aš einu į "JavaScript", 1415 01:06:26,660 --> 01:06:30,510 bet jūs visi matė, kaip document.getElementById. 1416 01:06:30,510 --> 01:06:32,870 Taigi dokumentas yra jūsų elementas, gauti elementą ID 1417 01:06:32,870 --> 01:06:35,087 todėl jūs ketinate ieškoti dėl tam tikrų į HTML tegus ID. 1418 01:06:35,087 --> 01:06:36,920 Ir tada jūs galite padaryti kažkas, kad. 1419 01:06:36,920 --> 01:06:40,089 Pavyzdžiui, kaip document.body, galite pridėti vaiką. 1420 01:06:40,089 --> 01:06:41,630 Taigi, jūs ketinate rasti dokumentą. 1421 01:06:41,630 --> 01:06:42,340 Jūs turite dokumentą. 1422 01:06:42,340 --> 01:06:43,629 Jūs ketinate rasti kūną. 1423 01:06:43,629 --> 01:06:44,420 Jūs rado kūną. 1424 01:06:44,420 --> 01:06:46,545 Ir tada, jūs ketinate skambinti tam tikrą funkciją ant jo. 1425 01:06:46,545 --> 01:06:50,312 Taigi pridėti vaiką, ir jūs galite pridėti kai ant viduje jūsų kūno pabaigoje HTML. 1426 01:06:50,312 --> 01:06:52,520 Taigi, iš esmės, jūs tik gydyti jį kaip objektas. 1427 01:06:52,520 --> 01:06:54,515 Jūs gydant HTML žymės kaip objekto. 1428 01:06:54,515 --> 01:06:57,071 Ir tai labai lengva ir greitai eiti per juos. 1429 01:06:57,071 --> 01:06:59,070 Tačiau ji taip pat leidžia jums skambinti funkcijas jų 1430 01:06:59,070 --> 01:07:04,410 todėl jūs galite manipuliuoti ir keisti elementus. 1431 01:07:04,410 --> 01:07:10,162 >> Gabe: Atsižvelgiant į tai, kodėl yra JavaScript, pavyzdžiui gražus kalba bendrauti su HTML? 1432 01:07:10,162 --> 01:07:12,870 Šansai yra, kai žmonės buvo pasirinkti už naršyklėje kalba, 1433 01:07:12,870 --> 01:07:14,990 už kliento pusėje JavaScript yra tikrai gražus, 1434 01:07:14,990 --> 01:07:16,765 tai tikrai gerai tvarkymo objektus. 1435 01:07:16,765 --> 01:07:20,620 Ir objektai yra lyg objektai, kurie atrodo į HTML, 1436 01:07:20,620 --> 01:07:23,940 todėl labai lengva JavaScript daryti, kad tvarkymo natūra. 1437 01:07:23,940 --> 01:07:24,440 DAVIN: Nicos. 1438 01:07:24,440 --> 01:07:25,670 Taigi čia tik pavyzdys. 1439 01:07:25,670 --> 01:07:29,020 Taigi manau, kad nuo praėjusių metų viktorinos, gal prieš dvejus metus, mes 1440 01:07:29,020 --> 01:07:30,840 paprašė sukurti medį. 1441 01:07:30,840 --> 01:07:32,660 Taigi, tai yra būtent tai, ką norite daryti. 1442 01:07:32,660 --> 01:07:34,255 Taigi jūs pradedate su dokumentu. 1443 01:07:34,255 --> 01:07:36,130 Ir tada jūs iš esmės tiesiog pažvelgti į žymes. 1444 01:07:36,130 --> 01:07:38,100 Taigi, jei jums atrodo, mes pradėti HTML tegus. 1445 01:07:38,100 --> 01:07:41,660 Ir tada, gausite užuominų apie tai, kaip tai padaryti pagrįstas įdubimas. 1446 01:07:41,660 --> 01:07:43,870 Taigi vadovas rūšies atsišakoja. 1447 01:07:43,870 --> 01:07:46,242 Viduje galvos, mes turime kitas tag pavadinimą. 1448 01:07:46,242 --> 01:07:47,450 Taigi, mes turime žymės pavadinimą. 1449 01:07:47,450 --> 01:07:49,760 Ir viduje, kad mes turime tam tikrą eilutę. 1450 01:07:49,760 --> 01:07:52,210 Ir taip mes atstovaujame ratu eilutė. 1451 01:07:52,210 --> 01:07:54,010 Ir visi žymės aikštėse. 1452 01:07:54,010 --> 01:07:56,270 >> Ir jei jums atrodo, jei mes galvoti apie tai, kaip medis, 1453 01:07:56,270 --> 01:07:58,730 ir tarkime, kad HTML tėvų, tada galva ir kūnas 1454 01:07:58,730 --> 01:07:59,772 ketinate būti broliai ir seserys. 1455 01:07:59,772 --> 01:08:01,813 Jie abu bus vaikai iš tėvų. 1456 01:08:01,813 --> 01:08:03,620 Taigi dėl to, kad jie abu broliai ir seserys, jie 1457 01:08:03,620 --> 01:08:06,590 bus rūšies šalia viena su kita mūsų medžio modelį. 1458 01:08:06,590 --> 01:08:08,590 Ir tada, jūs iš esmės padaryti tą patį dalyką. 1459 01:08:08,590 --> 01:08:13,512 Taigi nėra sunku, tačiau mes paprašėme klausimai, kaip tai prieš į viktorinos. 1460 01:08:13,512 --> 01:08:15,220 Gabe: Ar kas nors turite klausimų iki šiol? 1461 01:08:15,220 --> 01:08:16,357 Ar tai gerai? 1462 01:08:16,357 --> 01:08:16,856 DAVIN: cool. 1463 01:08:16,856 --> 01:08:19,630 1464 01:08:19,630 --> 01:08:21,600 JavaScript Gerai, gerų dalykų. 1465 01:08:21,600 --> 01:08:24,069 Taigi Javaskriptą, kas dingo JavaScript? 1466 01:08:24,069 --> 01:08:28,370 Na, "JavaScript" is-- tai sudėtinga, tačiau tai 1467 01:08:28,370 --> 01:08:30,727 keletas akcentų kad jums reikia turėti omenyje. 1468 01:08:30,727 --> 01:08:31,810 Pirma, ji laisvai įvedėte. 1469 01:08:31,810 --> 01:08:33,529 Ką tai reiškia? 1470 01:08:33,529 --> 01:08:35,596 Taigi PHP was-- Taip, kas atsitiko? 1471 01:08:35,596 --> 01:08:39,854 >> Auditorija: Jūs neturite aiškiai Valstybė, kokio tipo kintamasis yra. 1472 01:08:39,854 --> 01:08:40,479 DAVIN: Puikiai. 1473 01:08:40,479 --> 01:08:43,270 Taigi jis pasakė, kad tu neturi aiškiai nurodyti kintamojo tipą. 1474 01:08:43,270 --> 01:08:44,160 Būtent dešinėje. 1475 01:08:44,160 --> 01:08:49,700 Taigi C, jei aš turėjo int i lygus 50, tada PHP, tai tik, kaip šis, $ i, 1476 01:08:49,700 --> 01:08:50,550 lygi 50. 1477 01:08:50,550 --> 01:08:54,319 Tada JavaScript, ką kvietimas būti? 1478 01:08:54,319 --> 01:08:55,260 Var, tiesa? 1479 01:08:55,260 --> 01:08:56,566 Tai būčiau kaip var i lygus 50. 1480 01:08:56,566 --> 01:08:58,649 Bet jūs neturite būti kaip, OK, tai yra tarpinis junginys. 1481 01:08:58,649 --> 01:09:00,350 Gerai, tai yra eilutė. 1482 01:09:00,350 --> 01:09:01,731 Nereikia daryti. 1483 01:09:01,731 --> 01:09:02,939 Tai aiškinama kalba. 1484 01:09:02,939 --> 01:09:04,904 Taigi, ką tai reiškia? 1485 01:09:04,904 --> 01:09:06,340 >> AUDITORIJA: nerenkami. 1486 01:09:06,340 --> 01:09:10,470 >> DAVIN: Ką nerenkami reiškia? 1487 01:09:10,470 --> 01:09:11,392 Taip? 1488 01:09:11,392 --> 01:09:15,336 >> Auditorija: Jūs neturite restruktūrizuoti kodą 1489 01:09:15,336 --> 01:09:18,294 ją gauti pasirengusi Kompiuteris paleisti jį. 1490 01:09:18,294 --> 01:09:23,144 Tai tiesiog imtis laiko vykdymo ir kompiuteris [nesigirdi]. 1491 01:09:23,144 --> 01:09:25,560 DAVIN: Taip, taip, jis ketina perduoti per vertėją. 1492 01:09:25,560 --> 01:09:26,750 Bet jūs esate visiškai teisus. 1493 01:09:26,750 --> 01:09:28,319 Taigi jūs niekada rinkti ją, tiesa? 1494 01:09:28,319 --> 01:09:30,399 Kai jūs darote savo PHP ir JavaScript kodą, 1495 01:09:30,399 --> 01:09:31,365 jūs niekada vadinamas kompiliuoti. 1496 01:09:31,365 --> 01:09:33,779 Jūs niekada vadinamas kažką panašaus padaryti ar ko nors panašaus, kad. 1497 01:09:33,779 --> 01:09:34,800 Tai todėl, kad ji aiškinama. 1498 01:09:34,800 --> 01:09:37,319 Taigi kiekvieną kartą, kai jis eina per naršyklę, jis eina per vertėją. 1499 01:09:37,319 --> 01:09:40,370 Ir tai vyksta ją interpretuoti tik realiu laiku iš karto už jus. 1500 01:09:40,370 --> 01:09:43,770 Taigi, kas yra keletas teigiamų ir neigiamų kad turintys aiškinama kalbą 1501 01:09:43,770 --> 01:09:45,258 ir turintys rengiami kalbą? 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 Taigi compiling-- Taip, kas atsitiko? 1504 01:09:50,540 --> 01:09:52,444 >> AUDITORIJA: Aiškinama yra lėtesnis. 1505 01:09:52,444 --> 01:09:53,319 DAVIN: Kokia prasme? 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> AUDITORIJA: Po kaupia, jūs neturite 1508 01:09:59,091 --> 01:10:04,400 padaryti jokių papildomų veiksmų, kad būtų įvykdyti tai, kadangi šis [nesigirdi]. 1509 01:10:04,400 --> 01:10:05,570 >> DAVIN: Teisė, tobula. 1510 01:10:05,570 --> 01:10:08,386 Taigi, ką jūs sakėte, yra Iš esmės, kad kaupimas, 1511 01:10:08,386 --> 01:10:10,760 kai jūs rinkti, jūs turite daug išankstinių išlaidų, tiesa? 1512 01:10:10,760 --> 01:10:11,760 Jūs ketinate rinkti ją. 1513 01:10:11,760 --> 01:10:13,750 Bet po to, kai surinkti jį, kompiliatorius ketina optimizuoti. 1514 01:10:13,750 --> 01:10:14,840 Tai bus greitai. 1515 01:10:14,840 --> 01:10:16,170 Ji ketina iš esmės būti taip greitai, kaip jis gali būti. 1516 01:10:16,170 --> 01:10:18,830 Su žodžiu, jūs niekada turėti, kad išankstinių išlaidų. 1517 01:10:18,830 --> 01:10:22,260 Atvirkščiai, jis bus šiek tiek lėtesnis kiekvieną kartą, kai jūs ją interpretuoti. 1518 01:10:22,260 --> 01:10:24,940 Ir jūs ketinate turi interpretuoti kiekvieną kartą. 1519 01:10:24,940 --> 01:10:27,114 Taigi vietoj to, ši vieną kartą kaina, o dabar esate 1520 01:10:27,114 --> 01:10:29,530 teks ją interpretuoti kiekvieną kartą, puslapis tampa. 1521 01:10:29,530 --> 01:10:31,890 >> Taigi vertėjai yra gerai, nes Jūs neturite kaupia jį, 1522 01:10:31,890 --> 01:10:33,980 bet jie blogai, kad kiekvienas kartą, kai puslapis įkeliamas, tai 1523 01:10:33,980 --> 01:10:35,771 teks interpretuoti šį JavaScript. 1524 01:10:35,771 --> 01:10:40,520 Ir jis ketina paleisti šiek tiek lėčiau nei jei buvo sudaryti ją. 1525 01:10:40,520 --> 01:10:43,044 Leidžia communicate-- Oi, palauk. 1526 01:10:43,044 --> 01:10:44,960 Naudojamas manipuliuoti turinys ir išvaizda. 1527 01:10:44,960 --> 01:10:46,043 Mes tiesiog kalbėjomės apie tai. 1528 01:10:46,043 --> 01:10:47,250 Jis naudoja DOM. 1529 01:10:47,250 --> 01:10:49,930 AJAX, mes patekti į Ajax truputį. 1530 01:10:49,930 --> 01:10:51,520 Ir tada, tai kliento pusėje. 1531 01:10:51,520 --> 01:10:53,110 Taigi PHP yra serverio pusėje. 1532 01:10:53,110 --> 01:10:54,360 JavaScript yra kliento pusėje. 1533 01:10:54,360 --> 01:10:57,780 Kas yra teigiami, kad? 1534 01:10:57,780 --> 01:10:58,280 Jis sako. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 Tai greičiau, tiesa? 1537 01:11:02,780 --> 01:11:05,282 Kadangi jūs neturite to-- tai greičiau. 1538 01:11:05,282 --> 01:11:07,490 Jūs neturite bendrauti su kitu įrenginiu. 1539 01:11:07,490 --> 01:11:08,790 Jei esate tik nuo jūsų klientas, jūs niekada 1540 01:11:08,790 --> 01:11:11,280 teks eiti ir pamatyti, kas serveryje 1541 01:11:11,280 --> 01:11:13,150 ir tada ataskaitą ar kažkas panašaus. 1542 01:11:13,150 --> 01:11:15,410 Taigi kliento pusėje linkęs būti šiek tiek greičiau. 1543 01:11:15,410 --> 01:11:17,910 >> Gabe: Taip, bet tai nereiškia, PHP 1544 01:11:17,910 --> 01:11:20,440 greičiau nei JavaScript ar kas nors panašaus. 1545 01:11:20,440 --> 01:11:23,270 Jie paleisti rūšies in pats greitis, nes jie abu 1546 01:11:23,270 --> 01:11:24,490 aiškinami kalbomis. 1547 01:11:24,490 --> 01:11:26,680 Dalykas, kad lėtas čia yra prašymas. 1548 01:11:26,680 --> 01:11:28,870 Taigi jūs iš tikrųjų vyksta visi perkelti į Braziliją būdas 1549 01:11:28,870 --> 01:11:31,460 gauti tam tikrą informaciją kad ten gyvena. 1550 01:11:31,460 --> 01:11:34,590 Bet PHP ir "JavaScript", jie rūšies paleisti tuo pačiu greičiu. 1551 01:11:34,590 --> 01:11:37,930 Tai nereiškia, kad vienas yra greičiau nei kitos. 1552 01:11:37,930 --> 01:11:40,600 Tai, taip pat, triukas klausimas. 1553 01:11:40,600 --> 01:11:47,338 Taigi JavaScript niekada tampa Mašina kodas, true arba false? 1554 01:11:47,338 --> 01:11:48,590 >> AUDITORIJA: Neteisingų. 1555 01:11:48,590 --> 01:11:49,090 Gabe: Neteisingų. 1556 01:11:49,090 --> 01:11:51,298 Ji turi tapti mašina kodas, nes mašina kodas 1557 01:11:51,298 --> 01:11:53,210 Vienintelis dalykas, mašina supranta. 1558 01:11:53,210 --> 01:11:55,800 Nors jis nebuvo parengta, ji vis dar tampa mašina kodas 1559 01:11:55,800 --> 01:11:59,120 nes vertėjas yra tik programa, kuri eina po eilutę 1560 01:11:59,120 --> 01:12:02,170 ir paverčia tą liniją į kažkas kompiuteris supranta. 1561 01:12:02,170 --> 01:12:02,825 Gerai? 1562 01:12:02,825 --> 01:12:03,325 Nemokama. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> DAVIN: Čia yra tiesiog labai paprastas hello world "JavaScript" programą. 1565 01:12:12,890 --> 01:12:15,590 Taigi, aš nežinau if-- matėte tai. 1566 01:12:15,590 --> 01:12:17,630 Tačiau jums tereikia HTML čia. 1567 01:12:17,630 --> 01:12:21,020 Ir vietoj tikrųjų išleisti JavaScript scenarijus žymeles, 1568 01:12:21,020 --> 01:12:22,810 taip paprastai norite įdėti jį į galvą. 1569 01:12:22,810 --> 01:12:24,030 Jūs turite scenarijų žymes. 1570 01:12:24,030 --> 01:12:24,870 Jūs upuść jį ten. 1571 01:12:24,870 --> 01:12:28,350 Visi mes padarėme čia mes susiję in-- todėl mes susieti JavaScript failą 1572 01:12:28,350 --> 01:12:29,137 kaip šis. 1573 01:12:29,137 --> 01:12:30,470 Ir jūs visi tai padarėte, tiesa? 1574 01:12:30,470 --> 01:12:34,740 Taigi, kai jūs naudojate JQuery ir underscore.js per pastarąjį p-rinkinys, 1575 01:12:34,740 --> 01:12:38,700 Jūs neturite tonų kodas Aukštyn Jūsų scenarijus žymės, iki jūsų galvos. 1576 01:12:38,700 --> 01:12:41,415 Jūs galite tai padaryti, bet vietoj to jūs tiesiog susiejimas jį. 1577 01:12:41,415 --> 01:12:43,540 Ir jūs susiejimas jį Tiesiog kaip jūs darote su CSS. 1578 01:12:43,540 --> 01:12:50,186 Taigi jis tiesiog lengviau perskaityti, kad Jūsų kodas nemėgsta 1000 linijos ilgio 1579 01:12:50,186 --> 01:12:52,310 tonų funkcijas, Jums gali būti naudoti. 1580 01:12:52,310 --> 01:12:53,518 >> Vietoj to, jūs tiesiog susieti jį. 1581 01:12:53,518 --> 01:12:55,050 Tai compartmentalizes ją. 1582 01:12:55,050 --> 01:13:00,110 Tai kaip rašyti kai antraštės failą, tada taip, kad antraštės failo C 1583 01:13:00,110 --> 01:13:01,620 Pagalvokite apie tai, kaip šis. 1584 01:13:01,620 --> 01:13:02,680 Taigi, ką tai padaryti? 1585 01:13:02,680 --> 01:13:04,560 Na, tai ketina paleisti. 1586 01:13:04,560 --> 01:13:05,410 Ji ketina įspėti. 1587 01:13:05,410 --> 01:13:08,020 Taigi, jūs ketinate gauti šiek tiek pop-up vadinamas Hello world. 1588 01:13:08,020 --> 01:13:11,420 Greita klausimas, tiesiog normalumas patikrinti, todėl jūs pamatyti čia organizme, 1589 01:13:11,420 --> 01:13:13,160 sako kūno, HTML čia. 1590 01:13:13,160 --> 01:13:14,080 Kas ateina pirmas? 1591 01:13:14,080 --> 01:13:16,864 Ar aš matau kūno, HTML čia arba nematau perspėjimą pirmas? 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> AUDITORIJA: Alert ". 1594 01:13:20,820 --> 01:13:21,470 >> DAVIN: Teisė. 1595 01:13:21,470 --> 01:13:22,110 Jis sako, kad perspėjimas. 1596 01:13:22,110 --> 01:13:22,610 Kodėl? 1597 01:13:22,610 --> 01:13:24,470 >> AUDITORIJA: Kadangi jus eiti iš viršaus į apačią. 1598 01:13:24,470 --> 01:13:25,600 >> DAVIN: Taip. 1599 01:13:25,600 --> 01:13:26,100 Puikiai. 1600 01:13:26,100 --> 01:13:29,207 Taigi jis sako, jūs einate iš viršaus apačios, kuri yra absoliučiai teisinga. 1601 01:13:29,207 --> 01:13:30,790 Jūs ketinate eiti iš viršaus į apačią. 1602 01:13:30,790 --> 01:13:34,790 Ir JavaScript, jQuery, turite funkcija, kuri tarsi įkėlimo arba pasirengęs, 1603 01:13:34,790 --> 01:13:38,030 ir kad sako, gerai, palaukite, kol visą šį HTML yra įkeltas. 1604 01:13:38,030 --> 01:13:39,580 Ir tada, skambinkite "JavaScript". 1605 01:13:39,580 --> 01:13:42,190 Kadangi mes neturime, kad čia, Pats pirmas dalykas, kad nutiks 1606 01:13:42,190 --> 01:13:43,920 yra jis ketina pereiti nuo viršaus iki apačios. 1607 01:13:43,920 --> 01:13:46,310 Jis ketina hit, kad JS skambinti, jis ketina įspėti. 1608 01:13:46,310 --> 01:13:49,510 Po to jūs spustelėkite Gerai, kad perspėjimas nueina. 1609 01:13:49,510 --> 01:13:53,600 Tada jis ketina parodyti Jūs kūno HTML čia. 1610 01:13:53,600 --> 01:13:54,590 Nicos. 1611 01:13:54,590 --> 01:14:00,880 >> Gerai, kad tik nekilnojamojo greitai, rašymas JavaScript yra super greitas. 1612 01:14:00,880 --> 01:14:02,710 Norint deklaruoti kintamasis, var vardas. 1613 01:14:02,710 --> 01:14:07,070 Taigi C, turite int i, turite deklaruoti, kokios rūšies ji yra. 1614 01:14:07,070 --> 01:14:08,040 PHP $. 1615 01:14:08,040 --> 01:14:08,755 JavaScript var. 1616 01:14:08,755 --> 01:14:09,630 Mes kalbėjome apie tai. 1617 01:14:09,630 --> 01:14:11,020 Gerai, eikime. 1618 01:14:11,020 --> 01:14:12,510 >> Loops, tas pats dalykas. 1619 01:14:12,510 --> 01:14:14,230 Tas pats dalykas. 1620 01:14:14,230 --> 01:14:18,165 Funkcija deklaracijos, todėl kaip jūs matėte C 1621 01:14:18,165 --> 01:14:21,290 Vienintelis dalykas, skiriasi, todėl, kai jums kitų programavimo kalbų, 1622 01:14:21,290 --> 01:14:24,780 pavyzdžiui, kai jūs imtis 51 kitą semestrą ir jūs darote su OCaml, 1623 01:14:24,780 --> 01:14:26,690 galite elgtis su anoniminiais funkcijas. 1624 01:14:26,690 --> 01:14:28,240 Taigi tai yra būtent tai, ką turime čia. 1625 01:14:28,240 --> 01:14:31,560 Taigi jūs norite įdėti į sumą, kai suma vertę natūra. 1626 01:14:31,560 --> 01:14:33,870 Tačiau galite tai daryti tik vieną kartą. 1627 01:14:33,870 --> 01:14:37,310 Taigi jūs nenorite jį vadiname funkcija suma, suteikti jai funkcija deklaraciją. 1628 01:14:37,310 --> 01:14:39,830 Vietoj to, jūs tiesiog naudoti jį anoniminio funkcija. 1629 01:14:39,830 --> 01:14:42,469 Ir jūs matėte tai daug. 1630 01:14:42,469 --> 01:14:44,510 Jūs pamatysite pavyzdžiu tai pora skaidres. 1631 01:14:44,510 --> 01:14:45,597 Taip, mes pamatysime. 1632 01:14:45,597 --> 01:14:46,430 Gabe: Geras klausimas. 1633 01:14:46,430 --> 01:14:50,660 Kai gali norite naudoti Anoniminis funkcija čia? 1634 01:14:50,660 --> 01:14:54,111 Iš esmės, kai norite ką nors, kaip įvykio, kad taip atsitiktų. 1635 01:14:54,111 --> 01:14:55,860 Taigi, kai pelė yra paspausti, pavyzdžiui, 1636 01:14:55,860 --> 01:14:57,790 norite kai funkcija turi būti vadinamas. 1637 01:14:57,790 --> 01:15:00,570 Taigi jums perduoti į renginį prižiūrėtojas, pereisite į renginį, 1638 01:15:00,570 --> 01:15:02,870 rūšies, funkcija, kuri norite būti vadinamas. 1639 01:15:02,870 --> 01:15:04,710 Ir ką jūs artimųjų yra kaip, pabaigoje 1640 01:15:04,710 --> 01:15:08,757 dienos, tiesiog žymiklį į šis nurodymas, kad funkcijos. 1641 01:15:08,757 --> 01:15:11,090 Taigi tai ne kaip jūs artimųjų Visas kodas, kaip 1642 01:15:11,090 --> 01:15:12,173 rodyklę į funkciją. 1643 01:15:12,173 --> 01:15:17,871 Ir tada, kai kas nors paspaudžia pelė, tai funkcija pasireiškia vadinamas. 1644 01:15:17,871 --> 01:15:22,340 >> Davin: masyvai, todėl jums turi masyvo deklaraciją. 1645 01:15:22,340 --> 01:15:23,990 Tada masyvo įdėti dalykų. 1646 01:15:23,990 --> 01:15:25,769 Nekilnojamasis greitai, kas tai atsispausdinti? 1647 01:15:25,769 --> 01:15:27,060 Ką Trečiasis elementas būti? 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> Auditorija: "JS". 1650 01:15:32,450 --> 01:15:33,940 >> DAVIN: Teisė, tai būtų "JS". 1651 01:15:33,940 --> 01:15:35,760 Palaukite, grįžti atgal. 1652 01:15:35,760 --> 01:15:37,100 Kas yra ilgis? 1653 01:15:37,100 --> 01:15:38,117 >> AUDITORIJA: Trys. 1654 01:15:38,117 --> 01:15:38,950 DAVIN: Trys, tiesa? 1655 01:15:38,950 --> 01:15:40,210 Būtent, ką galvojate. 1656 01:15:40,210 --> 01:15:42,072 Gerai, dabar eiti. 1657 01:15:42,072 --> 01:15:43,530 Masyvai, galite įdėti ką su jais. 1658 01:15:43,530 --> 01:15:45,395 Taigi jūs galite daugiau nei jų pradiniai ribų. 1659 01:15:45,395 --> 01:15:46,740 Tiesiog kažkas nepamiršti. 1660 01:15:46,740 --> 01:15:49,760 PHP, JavaScript, kad jie šiek tiek šiek tiek daugiau atlaidus, kalbant apie dalykus, 1661 01:15:49,760 --> 01:15:50,570 patinka. 1662 01:15:50,570 --> 01:15:54,260 Objektai, labai panašiai kaip structs C, labai 1663 01:15:54,260 --> 01:15:56,590 kaip asociacijų masyvai PHP. 1664 01:15:56,590 --> 01:15:58,720 Jūs visi turėjo patirties su tai. 1665 01:15:58,720 --> 01:16:01,880 Taigi JSON, kai jūs einančios JSON į priekį ir atgal p-nustatyti aštuoni, 1666 01:16:01,880 --> 01:16:03,260 kad jūsų objektas. 1667 01:16:03,260 --> 01:16:06,290 >> Taigi, taip, pavyzdžiui, nekilnojamojo greitai pavyzdys. 1668 01:16:06,290 --> 01:16:07,880 Čia yra objektas. 1669 01:16:07,880 --> 01:16:12,700 Kaip jums nuoroda tai objektas, todėl tik nekilnojamojo greitai, 1670 01:16:12,700 --> 01:16:18,630 tarkim aš norėjau rasti iš, Gerai, kas yra žinoma? 1671 01:16:18,630 --> 01:16:20,681 Ir taip Objekto pavadinimas čia yra CS50. 1672 01:16:20,681 --> 01:16:23,180 Ir tada, jei aš turėjo Association masyvas, kaip man tai padaryti? 1673 01:16:23,180 --> 01:16:24,580 Aš būsiu naudojant raktą, tiesa? 1674 01:16:24,580 --> 01:16:26,030 Taigi turiu masyvo vardą. 1675 01:16:26,030 --> 01:16:30,160 Turiu laikiklis, citatos, raktą, galutiniams citatos, pabaiga laikiklis, 1676 01:16:30,160 --> 01:16:33,610 ir, kad bus nuoroda, kad elementas viduje mano masyvą. 1677 01:16:33,610 --> 01:16:37,646 Kaip man nuorodos Žinoma viduje mano objektą? 1678 01:16:37,646 --> 01:16:39,170 Žinote? 1679 01:16:39,170 --> 01:16:40,622 >> Auditorija: [nesigirdi]. 1680 01:16:40,622 --> 01:16:41,784 >> DAVIN: Kas naujo? 1681 01:16:41,784 --> 01:16:42,700 AUDITORIJA: CS50.course. 1682 01:16:42,700 --> 01:16:43,510 DAVIN: Teisė, taip. 1683 01:16:43,510 --> 01:16:45,320 Taigi CS50.course. 1684 01:16:45,320 --> 01:16:48,770 Taigi, kaip jums nuoroda dalykus viduje JSON yra su tašku. 1685 01:16:48,770 --> 01:16:53,114 >> Auditorija: Jūs taip pat galite naudoti masyvo sintaksė. 1686 01:16:53,114 --> 01:16:54,050 >> DAVIN: Gerai, gerai. 1687 01:16:54,050 --> 01:16:57,544 >> Gabe: Taip pat galite naudoti CS50 laikiklį, eilutė, kaip ir kabutėse. 1688 01:16:57,544 --> 01:16:59,210 AUDITORIJA: manau, kad tai identiškas PHP. 1689 01:16:59,210 --> 01:17:00,293 Gabe: Tai tas pats. 1690 01:17:00,293 --> 01:17:02,487 DAVIN: Bauda! 1691 01:17:02,487 --> 01:17:03,945 Bet jūs pamatysite šį kitas vietas. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 Taip, taip, nesustoti. 1694 01:17:10,480 --> 01:17:13,330 Tai yra tai, ką aš ką tik pasakė. 1695 01:17:13,330 --> 01:17:17,840 Taigi į "JavaScript jQuery pavyzdį. 1696 01:17:17,840 --> 01:17:19,440 Taigi tai yra mano DOM, tiesa? 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 Nekilnojamasis greitai, todėl turiu vadovas, hello world, kūno. 1699 01:17:25,410 --> 01:17:26,160 Turiu mygtuką. 1700 01:17:26,160 --> 01:17:27,870 Jis sako: "stumti mane", todėl noriu stumti jį. 1701 01:17:27,870 --> 01:17:29,745 Ir aš noriu kažką daryti kai jis paspaudžia. 1702 01:17:29,745 --> 01:17:31,220 Teisė, šalia. 1703 01:17:31,220 --> 01:17:34,630 >> Teisė, todėl tai yra mano "JavaScript". 1704 01:17:34,630 --> 01:17:37,790 Taigi JQuery yra tik lengviau būdas rašyti "JavaScript". 1705 01:17:37,790 --> 01:17:40,920 Taigi, tai, ir tai, ką aš ketinu parodyti kitą kartą, bus JQuery, 1706 01:17:40,920 --> 01:17:41,930 yra identiški. 1707 01:17:41,930 --> 01:17:43,990 Taigi jie darys tuos pačius dalykus. 1708 01:17:43,990 --> 01:17:45,974 Tiesiog JQuery yra linkęs būti šiek tiek lengviau. 1709 01:17:45,974 --> 01:17:47,140 Žmonės linkę patinka daugiau. 1710 01:17:47,140 --> 01:17:48,390 Jis turi daug funkcionalumo. 1711 01:17:48,390 --> 01:17:49,830 Taigi žmonės linkę naudoti JQuery. 1712 01:17:49,830 --> 01:17:53,270 Jūs visi naudoti JQuery paskutiniame p-rinkinys. 1713 01:17:53,270 --> 01:17:54,270 Taigi, ką tai darys? 1714 01:17:54,270 --> 01:17:56,580 Ką šis JavaScript-- taip tai tiesiog JavaScript. 1715 01:17:56,580 --> 01:17:57,430 Ką tai padaryti? 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 Ką jis daro? 1718 01:18:03,450 --> 01:18:04,890 >> Taigi, pirmiausia, pamatysite langą įkėlimo. 1719 01:18:04,890 --> 01:18:05,390 Teisė? 1720 01:18:05,390 --> 01:18:06,640 Taigi, mes nemačiau, kad prieš. 1721 01:18:06,640 --> 01:18:09,380 Taigi tai vyksta palaukti kol visas langų krovinį. 1722 01:18:09,380 --> 01:18:12,770 Taigi jis ketina palaukti, kol HTML, visi vaizdai apkrova 1723 01:18:12,770 --> 01:18:13,770 Prieš ji nieko. 1724 01:18:13,770 --> 01:18:16,050 Taigi tarkime, mūsų DOM yra įkeltas. 1725 01:18:16,050 --> 01:18:17,270 Viskas ten. 1726 01:18:17,270 --> 01:18:19,080 Tada, kas nutiks? 1727 01:18:19,080 --> 01:18:19,922 Taip? 1728 01:18:19,922 --> 01:18:22,880 >> Pasirodo mygtukas: auditorijai. 1729 01:18:22,880 --> 01:18:25,201 >> DAVIN: mygtukas yra jau ten. 1730 01:18:25,201 --> 01:18:26,700 Taip, taip, mygtuko jau ten. 1731 01:18:26,700 --> 01:18:31,190 Bet tai ketinate pasakyti, Gerai, jei aš spustelėkite mygtuką, 1732 01:18:31,190 --> 01:18:33,650 taip mygtuką Jau ten, kaip kad HTML tegus. 1733 01:18:33,650 --> 01:18:35,980 Palaukite, grįžti nekilnojamojo greitai. 1734 01:18:35,980 --> 01:18:39,470 Ši žyma teisė čia yra bus mygtuką jau. 1735 01:18:39,470 --> 01:18:40,810 Yra jau mygtuką. 1736 01:18:40,810 --> 01:18:44,120 Bet tada, JavaScript žymeles, čia, 1737 01:18:44,120 --> 01:18:46,160 ji sako, gerai, aš noriu gauti elementą ID 1738 01:18:46,160 --> 01:18:50,300 taip paieška mygtuką tiesiog sako, gerai, aš noriu į žemėlapį šį kintamąjį į tą mygtuką. 1739 01:18:50,300 --> 01:18:53,120 Taigi, kad kintamasis yra tik paprasčiausias būdas pasiekti, kad "mygtuką. 1740 01:18:53,120 --> 01:18:57,300 Ir aš sakau, gerai, jei aš spustelėkite, kad mygtuką, todėl, jei aš spustelėkite tą elementą, 1741 01:18:57,300 --> 01:18:59,560 ir šis elementas reiškia mygtuką, jei aš spustelėkite jį, 1742 01:18:59,560 --> 01:19:00,875 tada aš noriu paskambinti funkciją. 1743 01:19:00,875 --> 01:19:03,500 Čia yra vienas iš tų, anoniminė funkcijos mes kalbame apie. 1744 01:19:03,500 --> 01:19:04,840 >> Tiesiog skambinti tam tikrą funkciją. 1745 01:19:04,840 --> 01:19:08,840 Viduje šią funkciją, iš esmės ką mes matėme daug, perspėjimą. 1746 01:19:08,840 --> 01:19:10,477 Paspaudus paieškos mygtuką. 1747 01:19:10,477 --> 01:19:12,060 Ji ketina iš esmės turi mygtuką. 1748 01:19:12,060 --> 01:19:13,040 Jūs jį spustelėkite. 1749 01:19:13,040 --> 01:19:14,040 Jūs gausite šį perspėjimą. 1750 01:19:14,040 --> 01:19:14,850 X dėmesį. 1751 01:19:14,850 --> 01:19:15,754 Štai ir viskas. 1752 01:19:15,754 --> 01:19:16,254 Taip? 1753 01:19:16,254 --> 01:19:21,980 >> AUDITORIJA: Taigi, jei jūs įtraukėte scenarijų [Nesigirdi], scenarijų tegus savo HTML? 1754 01:19:21,980 --> 01:19:24,300 >> DAVIN: Jūs galite įdėti scenarijų Tag tiesiai į galvą 1755 01:19:24,300 --> 01:19:30,667 nes jūs turite šį įkėlimo. 1756 01:19:30,667 --> 01:19:32,000 Taip pat, kad jūs turite spragtelėjimą. 1757 01:19:32,000 --> 01:19:34,166 Taigi jis ketina palaukti, kol Paspaudus kažko. 1758 01:19:34,166 --> 01:19:37,470 Bet įkėlimo yra tiesiog būti saugūs, kad kad viskas įkelia į savo HTML 1759 01:19:37,470 --> 01:19:38,170 iš anksto. 1760 01:19:38,170 --> 01:19:39,247 Taip? 1761 01:19:39,247 --> 01:19:40,330 Jūs norite kažką pasakyti? 1762 01:19:40,330 --> 01:19:41,080 >> Gabe: [nesigirdi]. 1763 01:19:41,080 --> 01:19:42,485 DAVIN: Taip. 1764 01:19:42,485 --> 01:19:45,426 >> AUDITORIJA: Taigi įkėlimo vengia apibrėžti kintamąjį paieškos mygtuką 1765 01:19:45,426 --> 01:19:49,930 tiesiog sakydamas document.getElementById Paieška mygtuką taškas [nesigirdi]. 1766 01:19:49,930 --> 01:19:52,320 >> DAVIN: Tikrai, bet tada Jūsų eilutė tiesiog gauna milžiniškas. 1767 01:19:52,320 --> 01:19:55,553 Būtent, todėl tai yra tik Kad būtų lengviau jums, taip. 1768 01:19:55,553 --> 01:19:56,053 Taip? 1769 01:19:56,053 --> 01:19:57,886 >> AUDITORIJA: kur mes sukurti window.onload? 1770 01:19:57,886 --> 01:19:58,951 Arba document.ready? 1771 01:19:58,951 --> 01:20:00,590 >> DAVIN: Taip, yra. 1772 01:20:00,590 --> 01:20:02,094 Taip, ten yra, aš patikrinti. 1773 01:20:02,094 --> 01:20:03,710 >> Gabe: Ne jiems rūpi. 1774 01:20:03,710 --> 01:20:06,970 >> DAVIN: Gerai, kad aš ruošiuosi papasakoti vistiek. 1775 01:20:06,970 --> 01:20:11,005 Taigi, iš esmės, tiesiog apskritai, taip, window.onload laukia, kol jūsų DOM, visi 1776 01:20:11,005 --> 01:20:12,180 HTML, siuntos. 1777 01:20:12,180 --> 01:20:13,513 Ji laukia, kol jūsų vaizdai apkrovos. 1778 01:20:13,513 --> 01:20:14,930 Ji laukia, kol viskas krovinį. 1779 01:20:14,930 --> 01:20:18,410 document.ready, jis tiesiog laukia, kol jūsų DOM krovinį. 1780 01:20:18,410 --> 01:20:22,190 Kai HTML visi ten, kai Jūsų DOM yra, pradeda veikti. 1781 01:20:22,190 --> 01:20:23,400 Štai vienintelis skirtumas. 1782 01:20:23,400 --> 01:20:24,700 >> Gabe: Greita normalumas patikrinti čia. 1783 01:20:24,700 --> 01:20:29,060 Taigi, tai gali būti vertinama rūšies kaip kodo eilutę, tiesa? 1784 01:20:29,060 --> 01:20:33,600 Nes tai window.onload lygus daiktų krūva. 1785 01:20:33,600 --> 01:20:39,030 Kai JavaScript skaito šią, tiesa ar klaidinga, funkcija paleidžiama vykdyti. 1786 01:20:39,030 --> 01:20:40,020 Neteisingų. 1787 01:20:40,020 --> 01:20:40,920 Gerai? 1788 01:20:40,920 --> 01:20:44,470 Kas atsitinka, čia jūs tiesiog artimųjų Ši funkcija taip anonimiškai funkcijas 1789 01:20:44,470 --> 01:20:45,300 į window.onload. 1790 01:20:45,300 --> 01:20:48,480 Ir tada, kai tai vyksta faktiškai gauti įvykdytas? 1791 01:20:48,480 --> 01:20:49,600 Kai langas krovinius. 1792 01:20:49,600 --> 01:20:50,420 Štai įvykis. 1793 01:20:50,420 --> 01:20:52,460 Taigi, kad jus t dalykas, mes esame kalbame apie anksčiau, tiesa? 1794 01:20:52,460 --> 01:20:54,580 Taigi, kai įvykis atsitinka, funkcija atsitiks. 1795 01:20:54,580 --> 01:20:55,746 Tas pats su onclick. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> DAVIN: Gerai, kad kažkas paėmė toli document.ready. 1798 01:21:03,130 --> 01:21:04,698 Bet tai bus tiksli same-- 1799 01:21:04,698 --> 01:21:06,864 AUDITORIJA: dolerio ženklas, , kad yra document.ready. 1800 01:21:06,864 --> 01:21:07,710 Štai nuoroda. 1801 01:21:07,710 --> 01:21:08,501 >> DAVIN: O, kad yra? 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 Gerai, kad tai reiškia, document.ready, nuoroda. 1804 01:21:15,500 --> 01:21:19,660 Tačiau tai yra toks pat, kaip window.onload išskyrus, kad mažai skirtumo 1805 01:21:19,660 --> 01:21:20,680 Sakiau apie tai. 1806 01:21:20,680 --> 01:21:21,870 Ir tai yra JQuery. 1807 01:21:21,870 --> 01:21:25,190 Taigi, tai yra lygiai toks pats thing-- tai yra JavaScript. 1808 01:21:25,190 --> 01:21:29,500 Tai just-- kai kurie žmonės galvoja apie tai kaip daugiau šviesos svorio, aptakus versija 1809 01:21:29,500 --> 01:21:32,370 kad turi daug funkcijų kad jūs tikriausiai naudojate. 1810 01:21:32,370 --> 01:21:34,500 Taigi, tai daro tą patį dalyką. 1811 01:21:34,500 --> 01:21:37,110 >> Taigi dalykų rūšies atkreipti dėmesį. 1812 01:21:37,110 --> 01:21:40,364 Taigi, iš kitos, pavyzdžiui, mes turėjo document.getElementById, 1813 01:21:40,364 --> 01:21:42,280 todėl mes turėjome tai ilgai eilutė, ketina gauti 1814 01:21:42,280 --> 01:21:44,290 bet kokiomis ID ji elementas. 1815 01:21:44,290 --> 01:21:46,470 Štai pakeičiami šio kvietimo čia. 1816 01:21:46,470 --> 01:21:50,860 Taigi, kaip matote, dolerio ženklas, tada pamatysite pasiūlymą, hashtag. 1817 01:21:50,860 --> 01:21:52,370 Hashtag visada selektorius. 1818 01:21:52,370 --> 01:21:54,730 Ji sako, gerai, tai turi daryti su ID. 1819 01:21:54,730 --> 01:21:56,120 Kokia klasės selektorių? 1820 01:21:56,120 --> 01:21:57,190 >> AUDITORIJA: Dot. 1821 01:21:57,190 --> 01:21:57,960 >> DAVIN: Dot, tiesa. 1822 01:21:57,960 --> 01:22:01,950 Jei jūs tik ketina pasirinkti žymą, kas tai yra? 1823 01:22:01,950 --> 01:22:03,310 Tai tiesiog žymeles, tiksliai. 1824 01:22:03,310 --> 01:22:05,560 Ir tu gali naudoti, kad čia taip pat. 1825 01:22:05,560 --> 01:22:08,560 >> Gabe: Ir žymeles, mes suprantame, kaip div, pavyzdžiui, arba galvos. 1826 01:22:08,560 --> 01:22:11,500 >> DAVIN: ar įstaiga arba p, arba nieko panašaus, kad taip. 1827 01:22:11,500 --> 01:22:14,390 Taigi čia, GERAI, o ne pasakyti, document.getElementById, 1828 01:22:14,390 --> 01:22:16,500 tai tik patį dalykas. 1829 01:22:16,500 --> 01:22:17,990 Tiesiog jQuery, tai trumpesnis. 1830 01:22:17,990 --> 01:22:19,860 Taigi tai paprastesnis. 1831 01:22:19,860 --> 01:22:23,420 Taigi, ne daugiau onclick, tiesiog spustelėkite. 1832 01:22:23,420 --> 01:22:26,320 JQuery funkcija vadiname funkciją. 1833 01:22:26,320 --> 01:22:27,580 Įspėjimo yra lygiai toks pats. 1834 01:22:27,580 --> 01:22:29,452 Taigi tai šiek tiek mažesnis arba šiek tiek 1835 01:22:29,452 --> 01:22:32,410 trumpesnis, šiek tiek bit-- žmonės galvoja, tai šiek tiek lengviau rašyti, 1836 01:22:32,410 --> 01:22:34,600 šiek tiek lengviau suprasti. 1837 01:22:34,600 --> 01:22:35,640 Bet tai JQuery. 1838 01:22:35,640 --> 01:22:37,887 Daug žmonių gauti šiek tiek tiek supainioti ir neramu 1839 01:22:37,887 --> 01:22:40,220 ir jie galvoja, gerai, JQuery yra kitoks nei "JavaScript". 1840 01:22:40,220 --> 01:22:42,136 Turiu prisiminti tai du skirtingi dalykai. 1841 01:22:42,136 --> 01:22:42,740 Tai ne. 1842 01:22:42,740 --> 01:22:45,315 Aš turiu galvoje, tai skiriasi sintaksė. 1843 01:22:45,315 --> 01:22:46,970 Bet JQuery yra JavaScript. 1844 01:22:46,970 --> 01:22:50,050 Tai tiesiog pažiūros geriau versija, kad 1845 01:22:50,050 --> 01:22:51,967 gali būti lengviau suprasti, kad žmonės naudoja. 1846 01:22:51,967 --> 01:22:53,716 Gabe: Taip, bus Tiesą sakant, kad dolerio ženklas 1847 01:22:53,716 --> 01:22:57,240 kad matote jQuery, tai tik Pavadinimas funkcija, kad JQuery apibrėžia. 1848 01:22:57,240 --> 01:22:58,614 Tai neturi nieko ypatingo. 1849 01:22:58,614 --> 01:23:03,140 Ar tai tik pavadinimas funkcija, tiesiog, kaip jūs galėtų apibrėžti dolerio ženklas. 1850 01:23:03,140 --> 01:23:05,670 >> DAVIN: Taip, taip, kalbėjau apie tai. 1851 01:23:05,670 --> 01:23:06,680 Keletas naudingų dalykų. 1852 01:23:06,680 --> 01:23:10,414 Buvau Prisiminus senus viktorinos. 1853 01:23:10,414 --> 01:23:13,080 Per pastaruosius porą viktorinos, jie jau teko naudoti tokius dalykus. 1854 01:23:13,080 --> 01:23:15,230 Taigi document.ready, todėl įsitikinkite, kad viskas 1855 01:23:15,230 --> 01:23:17,410 pakrautas prieš pradėdami daryti dalykus. 1856 01:23:17,410 --> 01:23:20,120 Pasirinkite adresą, arba pasirinkite klasė, tai reikia tik 1857 01:23:20,120 --> 01:23:24,020 būti citata dot kai klasę, Baigti citatą. 1858 01:23:24,020 --> 01:23:26,580 Pateikti, todėl, jei esate pateikdamas formą ir skambinti 1859 01:23:26,580 --> 01:23:28,830 ši funkcija po forma pateikia. 1860 01:23:28,830 --> 01:23:34,210 Vertė, todėl tarkim turėjau formą pateikimas, pavyzdžiui, vartotojo vardą, elektroninio pašto, 1861 01:23:34,210 --> 01:23:34,950 nesvarbu. 1862 01:23:34,950 --> 01:23:36,010 Turėjau teksto laukelį. 1863 01:23:36,010 --> 01:23:37,670 Taigi aš rašyti į tą teksto lauką. 1864 01:23:37,670 --> 01:23:42,170 Na, jei norite gauti vertę iš tos teksto laukelyje galite naudoti dot val. 1865 01:23:42,170 --> 01:23:44,050 Ir tada, žemyn čia dot HTML yra tas pats, 1866 01:23:44,050 --> 01:23:47,710 yra kaip dokumentas tašku getElementById taškas innerHTML. 1867 01:23:47,710 --> 01:23:50,890 Taigi, kad ketina grįžti Jums nuo to ID HTML. 1868 01:23:50,890 --> 01:23:55,080 Čia jūs tiesiog naudoti kai ID numeris ar kas dot HTML. 1869 01:23:55,080 --> 01:23:56,930 Tai gausite iš šio elemento HTML. 1870 01:23:56,930 --> 01:24:00,130 Jei nori tada pakeisti, kad HTML, galite perduoti jį kažką. 1871 01:24:00,130 --> 01:24:05,600 Taigi jūs norite būti panašūs dot HTML, tada viduje, citatos, naujos HTML ar kažką. 1872 01:24:05,600 --> 01:24:07,490 >> Gabe: Gerai, kad AJAX. 1873 01:24:07,490 --> 01:24:10,347 Aš tikrai norėčiau suprasti AJAX tikrai gerai. 1874 01:24:10,347 --> 01:24:12,430 Taigi aš noriu jums vaikinai į suprasti AJAX tikrai gerai. 1875 01:24:12,430 --> 01:24:14,221 Nes jei jūs darote, jūs gana daug vyksta 1876 01:24:14,221 --> 01:24:16,810 suprasti viską, kad turi daryti su HTTP, PHP 1877 01:24:16,810 --> 01:24:21,080 JavaScript, nes visa tai ateina kartu AJAX. 1878 01:24:21,080 --> 01:24:25,130 AJAX nėra kalbos. 1879 01:24:25,130 --> 01:24:27,000 AJAX yra technika. 1880 01:24:27,000 --> 01:24:31,690 Ir ji naudoja daug įvairių įrankių. 1881 01:24:31,690 --> 01:24:35,090 AJAX stendai Asinchroninis JavaScript XML. 1882 01:24:35,090 --> 01:24:36,730 Taigi, būdas, kalba, duomenys. 1883 01:24:36,730 --> 01:24:40,610 >> Taigi pagrindinės kalbos, kad mes naudojame AJAX sukelti viską 1884 01:24:40,610 --> 01:24:42,830 ir tvarkyti viską vėliau yra JavaScript. 1885 01:24:42,830 --> 01:24:45,160 Štai kodėl jis yra susijęs labai arti JavaScript. 1886 01:24:45,160 --> 01:24:49,810 Ir tada asinchroninis yra nes mes neturime daryti 1887 01:24:49,810 --> 01:24:51,980 visus iš karto, kai mes pakrovimo puslapį. 1888 01:24:51,980 --> 01:24:57,190 Tai dalykas, kad mes galime daryti tai, ko rūšies lygiagrečiai. 1889 01:24:57,190 --> 01:24:59,725 Pagrindinė idėja AJAX yra ta, kad jūs norite 1890 01:24:59,725 --> 01:25:02,170 tai kažkiek konkrečią informaciją. 1891 01:25:02,170 --> 01:25:06,450 Pavyzdžiui, kai įvedate naują vartotojo vardas, kai jūs užsiregistruosite vartotojo vardą, 1892 01:25:06,450 --> 01:25:08,520 mano vartotojo vardas abc123. 1893 01:25:08,520 --> 01:25:11,671 Ir tada, bent iš pabaigoje forma, jūs turite paspausti "Siųsti". 1894 01:25:11,671 --> 01:25:14,420 Ir tai turėjo eiti į serverį, ir tada patikrinti, ar duomenų bazėje, 1895 01:25:14,420 --> 01:25:15,594 abc123 jau yra. 1896 01:25:15,594 --> 01:25:18,510 O jei jis jau ten, jis sako, vartotojo vardas jau yra duomenų bazėje. 1897 01:25:18,510 --> 01:25:21,010 Ir jie, jūs turite užpildyti iš viso forma dar kartą. 1898 01:25:21,010 --> 01:25:23,110 Ir tai buvo tikrai, tikrai blogai. 1899 01:25:23,110 --> 01:25:25,440 >> Ir tada žmonės sako, Gerai, tai kodėl mes negalime tiesiog 1900 01:25:25,440 --> 01:25:29,560 padaryti mažą HTTP užklausa tiesiog patikrinti pamatyti, jei šis vartotojas yra duomenų bazėje, 1901 01:25:29,560 --> 01:25:32,080 kol vartotojas turėjo pateikti visą formą? 1902 01:25:32,080 --> 01:25:36,350 Taigi, pavyzdžiui, kai vartotojas baigia rašyti ABC123, 1903 01:25:36,350 --> 01:25:39,660 tegul tiesiog eiti į serverį mažai tiek ir tiesiog gauti true arba false 1904 01:25:39,660 --> 01:25:43,080 iš serverio norėdami pamatyti, jei tai galioja vartotojo vardas ar ne. 1905 01:25:43,080 --> 01:25:49,250 Gerai, taip, kad vienas iš pagrindinis naudoja AJAX šiandien dar. 1906 01:25:49,250 --> 01:25:52,130 >> DAVIN: Taigi nekilnojamojo greitai, ir Ajax skambutis JQuery, 1907 01:25:52,130 --> 01:25:54,770 Jums gali reikšti, kad jūs noriu, kad ji būtų sinchroninis. 1908 01:25:54,770 --> 01:25:56,330 Jūs neturėtumėte daryti. 1909 01:25:56,330 --> 01:25:57,640 Bet jūs galite tai padaryti. 1910 01:25:57,640 --> 01:25:59,277 Ir jei tu, kad kas nutiktų? 1911 01:25:59,277 --> 01:26:01,610 Na, pavyzdžiui, kai esate gauti naujienas ar kas, 1912 01:26:01,610 --> 01:26:05,464 Jūsų naršyklė yra tik ketina laukti kol ta visa skambutis baigtas 1913 01:26:05,464 --> 01:26:08,130 vietoj leidžia jums padaryti kitą viskas iš karto po spustelėkite ją. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> Gabe: Tai ne artimųjų nebėra. 1916 01:26:17,115 --> 01:26:19,681 O Dieve. 1917 01:26:19,681 --> 01:26:20,180 Atsiprašau! 1918 01:26:20,180 --> 01:26:22,810 1919 01:26:22,810 --> 01:26:23,601 Yup. 1920 01:26:23,601 --> 01:26:25,350 "Anksčiau, kliento reikia prašymu 1921 01:26:25,350 --> 01:26:26,840 Visas turinys svetainėje. " 1922 01:26:26,840 --> 01:26:28,210 Štai ką aš sakiau. 1923 01:26:28,210 --> 01:26:30,070 Jis leidžia mums siųsti Papildomas GET arba POST 1924 01:26:30,070 --> 01:26:32,140 prašymai nereikės perkrauti mūsų naršyklę. 1925 01:26:32,140 --> 01:26:34,806 Tad dienos pabaigoje, mes iš tikrųjų padaryti HTTP užklausas 1926 01:26:34,806 --> 01:26:35,740 čia naudodamas "JavaScript". 1927 01:26:35,740 --> 01:26:39,700 Nes anksčiau, mes naudojome tik JavaScript keisti HTML, kad jau atėjo. 1928 01:26:39,700 --> 01:26:43,110 Ir dabar, mes galime jį naudoti sąsaja su interneto serverių, taip pat. 1929 01:26:43,110 --> 01:26:46,140 Būdas tai atsitinka yra mes turime klientą. 1930 01:26:46,140 --> 01:26:47,340 Davin yra klientas. 1931 01:26:47,340 --> 01:26:50,797 Ir jis turi visą JavaScript veikia, nes HTML yra kvailas. 1932 01:26:50,797 --> 01:26:51,630 JavaScript yra protingas. 1933 01:26:51,630 --> 01:26:54,690 Taigi Davin Davin turi jo protingas dalis ir jo kvailas dalis. 1934 01:26:54,690 --> 01:26:57,590 Jis ketina naudoti savo sumanaus dalis dabar. 1935 01:26:57,590 --> 01:27:00,860 Jis ketina naudoti "JavaScript" į prašymą, pavyzdžiui, 1936 01:27:00,860 --> 01:27:04,340 ar abc123 yra duomenų bazė, ar ne. 1937 01:27:04,340 --> 01:27:08,450 >> Taigi Davin, prašome tiesiog siųsti man HTTP užklausą. 1938 01:27:08,450 --> 01:27:09,197 Ačiū. 1939 01:27:09,197 --> 01:27:10,530 Taigi jis tiesiog atsiuntė HTTP užklausą. 1940 01:27:10,530 --> 01:27:11,270 Jūs matote, kad? 1941 01:27:11,270 --> 01:27:14,700 Ir tai tik pati būdas kad bet HTTP užklausa yra siunčiama. 1942 01:27:14,700 --> 01:27:16,830 Naršyklė, "Google" "Chrome" ar kažkas yra 1943 01:27:16,830 --> 01:27:19,570 ketiname pamatyti, kad Davin s bando siųsti HTTP užklausą, 1944 01:27:19,570 --> 01:27:20,930 ketina padėti hm truputį. 1945 01:27:20,930 --> 01:27:23,950 Ir tai vyksta eiti visi būdas serveryje. 1946 01:27:23,950 --> 01:27:27,370 Dabar serveris teks PHP čia arba bet kokia kita kalba. 1947 01:27:27,370 --> 01:27:29,990 Tiesiog patinka normalus HTTP užklausa. 1948 01:27:29,990 --> 01:27:31,950 Tai gana daug normalus HTTP užklausa. 1949 01:27:31,950 --> 01:27:33,658 >> Ir tada, serveris ketina pasakyti, gerai, 1950 01:27:33,658 --> 01:27:37,270 Davin nori mane patikrinti, ar tai abc123 yra duomenų bazėje. 1951 01:27:37,270 --> 01:27:38,310 Pasikalbėkite su modeliu. 1952 01:27:38,310 --> 01:27:41,310 Modelis sako, kad ne. abc123 yra gera vartotojo vardas. 1953 01:27:41,310 --> 01:27:47,940 Ir tada, žiniatinklio serveris ketina naudoti PHP teikti tam tikrą failą formą. 1954 01:27:47,940 --> 01:27:52,280 Tai gali būti tiesiog tik failą kad yra "taip" į jį, arba "ne", 1955 01:27:52,280 --> 01:27:53,315 ar kažkas panašaus. 1956 01:27:53,315 --> 01:27:54,190 Tai gali būti bet koks failas. 1957 01:27:54,190 --> 01:27:57,080 >> Tai galėtų būti, kaip aš ruošiuosi siųsti Davin iš antis paveikslėlį 1958 01:27:57,080 --> 01:28:01,200 jei jis į duomenų bazę ir nusiųsti žiurkėno vaizdą 1959 01:28:01,200 --> 01:28:02,420 jei ji nėra duomenų bazėje. 1960 01:28:02,420 --> 01:28:04,294 Tai būtų rūšies kvailas, bet jis veiks. 1961 01:28:04,294 --> 01:28:07,030 Gerai, kad aš siunčiu antis į Davin. 1962 01:28:07,030 --> 01:28:08,150 Davin gavo antis. 1963 01:28:08,150 --> 01:28:13,330 Ir dabar, kas vyksta tvarkyti antis? 1964 01:28:13,330 --> 01:28:16,390 Davin pažangaus dalis vėl taip Javaskriptą, tiesa? 1965 01:28:16,390 --> 01:28:18,620 JavaScript išsiųsti prašymas, ir "JavaScript" 1966 01:28:18,620 --> 01:28:22,300 ketina gauti prašymą ir interpretuoti ją tam tikra forma. 1967 01:28:22,300 --> 01:28:26,630 >> Ir šia prasme, ji ketina sako, gerai, jei antis tada aš gerai. 1968 01:28:26,630 --> 01:28:30,770 Jei žiurkėno, tada aš ruošiuosi pasakyti, ne, vartotojo vardas jau 1969 01:28:30,770 --> 01:28:31,970 egzistuoja į duomenų bazę. 1970 01:28:31,970 --> 01:28:33,845 Tačiau paprastai, jūs ne ketina siųsti antis. 1971 01:28:33,845 --> 01:28:36,740 Jūs ketinate siųsti kažkas šiek tiek protingesni. 1972 01:28:36,740 --> 01:28:40,320 Ir ką mes naudojame XML. 1973 01:28:40,320 --> 01:28:42,690 Ir visai neseniai, mes naudojame JSON. 1974 01:28:42,690 --> 01:28:45,629 JSON yra tik Javaskriptą Objektas Žymėjimas, kuris 1975 01:28:45,629 --> 01:28:47,670 iš esmės jūs gaunate Visa JavaScript objektas. 1976 01:28:47,670 --> 01:28:50,820 Ir jūs įdėti jį į failą, tiesiog patinka kad CS50 objektas, vaikinai pamatė. 1977 01:28:50,820 --> 01:28:53,090 Jūs įdėti jį į failą, siųsti jį į Davin. 1978 01:28:53,090 --> 01:28:55,850 >> Taigi šiuo atveju, aš norėčiau padaryti JavaScript objektą 1979 01:28:55,850 --> 01:28:59,570 ir tiesiog pasakyti, vartotojo egzistuoja, taip. 1980 01:28:59,570 --> 01:29:01,630 Arba vartotojas egzistuoja, nėra. 1981 01:29:01,630 --> 01:29:02,810 Ir siųsti jį atgal į jį. 1982 01:29:02,810 --> 01:29:03,830 Ir kodėl JSON? 1983 01:29:03,830 --> 01:29:07,330 Kadangi asmens kas gauna tai 1984 01:29:07,330 --> 01:29:10,030 ketinate naudoti JavaScript tvarkyti atsakymą. 1985 01:29:10,030 --> 01:29:14,970 Ir Javaskriptą veikia taip gerai, nes tai vadinama "JavaScript" Objekto žymėjimas. 1986 01:29:14,970 --> 01:29:15,470 Teisė? 1987 01:29:15,470 --> 01:29:19,660 Taigi jis gali tiesiog paskambinti funkciją ir gauti tai gražus daiktas iš atsakymo. 1988 01:29:19,660 --> 01:29:22,890 Ir tada, jis ketina išsiaiškinti, ar kad vartotojas yra duomenų bazėje, ar ne. 1989 01:29:22,890 --> 01:29:25,230 >> Taigi, kaip matote, visa tai ateina kartu į interneto serverį, 1990 01:29:25,230 --> 01:29:28,450 ir ten vienas HTTP prašymu ir vienas atsakymo HTTP ir viskas. 1991 01:29:28,450 --> 01:29:30,600 Todėl įsitikinkite, kad vaikinai suprasti šią AJAX skambutį 1992 01:29:30,600 --> 01:29:37,260 nes jis padeda jums suprasti visus sąvokų mes kalbame apie. 1993 01:29:37,260 --> 01:29:40,260 >> Taigi čia pavyzdys AJAX su JQuery. 1994 01:29:40,260 --> 01:29:42,130 Ir čia mes darome su get JSON. 1995 01:29:42,130 --> 01:29:45,660 Taigi mes ne bando gauti vaizdas katės čia arba antis. 1996 01:29:45,660 --> 01:29:48,110 Mes stengiamės gauti JSON failą. 1997 01:29:48,110 --> 01:29:51,184 Ir tada mes laukti, kol tai daroma, taškas padaryta. 1998 01:29:51,184 --> 01:29:52,850 Tai reiškia, kad aš laukia atsakymo. 1999 01:29:52,850 --> 01:29:54,180 Tai gali šiek tiek užtrukti. 2000 01:29:54,180 --> 01:29:56,360 Tada pamatysite mažai apkrovai. 2001 01:29:56,360 --> 01:29:59,340 Jei norite padaryti, kad jūsų svetainėje. 2002 01:29:59,340 --> 01:30:01,440 Taigi, dot padaryta, ir tada, kas atsitinka, kai tai daroma? 2003 01:30:01,440 --> 01:30:04,040 Jūs pereiti į anoniminė funkcija, kaip matėme anksčiau. 2004 01:30:04,040 --> 01:30:07,800 Kadangi padaryti yra įvykis, tik kaip ir spustelėjus pele ar kas, 2005 01:30:07,800 --> 01:30:08,710 JQuery. 2006 01:30:08,710 --> 01:30:13,710 Taigi jūs praeiti šią funkciją su duomenų, teksto, statusas, ir jqXHR. 2007 01:30:13,710 --> 01:30:15,790 Ir iš esmės, tai tik keletas kintamųjų 2008 01:30:15,790 --> 01:30:22,160 kad galite naudoti vėliau turėti HTTP prašymu statusas, 2009 01:30:22,160 --> 01:30:24,470 duomenų, kad ji vyksta siųsti su Jumis. 2010 01:30:24,470 --> 01:30:28,740 Taigi galite vėliau ją interpretuoti ir daryti kažką prasmingo su juo. 2011 01:30:28,740 --> 01:30:30,240 Ir jei tai nepavyksta, kai jis galėtų žlugti? 2012 01:30:30,240 --> 01:30:33,780 Na, kai HTTP užklausa suteikia Jums 500 ar kažkas panašaus. 2013 01:30:33,780 --> 01:30:37,420 Tada jis ketina pasakyti jums statusas, kokios nesėkmės, kurios buvo, 2014 01:30:37,420 --> 01:30:38,420 ir visi dalykų rūšių. 2015 01:30:38,420 --> 01:30:40,630 Jūs turite įsitikinti, tvarkyti Abiem atvejais 2016 01:30:40,630 --> 01:30:42,770 kitaip programa eina iš proto. 2017 01:30:42,770 --> 01:30:45,820 >> DAVIN: Taigi, taip, tai yra būtent tai, ką matė savo paskutinę p-rinkinys. 2018 01:30:45,820 --> 01:30:49,720 Tikrasis AJAX skambutis yra get JSON. 2019 01:30:49,720 --> 01:30:50,587 Tai yra kvietimas. 2020 01:30:50,587 --> 01:30:52,920 Ir tada, taškas padaryti yra tarsi ji patikrina, ar tai sėkmingas. 2021 01:30:52,920 --> 01:30:55,620 Jei jis yra sėkmingas, norite kažką daryti su duomenimis. 2022 01:30:55,620 --> 01:30:59,290 Jūs gaunate atgal nuo JSON duomenų prašančios. 2023 01:30:59,290 --> 01:31:00,600 Tai yra tai, ką jūs gaunate atgal. 2024 01:31:00,600 --> 01:31:04,470 Taigi, jei jūs prisimenate iš savo p-rinkinys, iš jūsų daug buvo kaip duomenų laikiklio i 2025 01:31:04,470 --> 01:31:06,302 ar kas, taškas nuorodą ar pavadinimą. 2026 01:31:06,302 --> 01:31:08,260 Nepriklausomai ateina atgal nuo tos JSON, nepriklausomai nuo 2027 01:31:08,260 --> 01:31:11,020 laukai yra toje JSON, kad tai, ką jūs gaunate atgal. 2028 01:31:11,020 --> 01:31:12,394 Duomenys yra tai, ką jūs gaunate atgal. 2029 01:31:12,394 --> 01:31:15,510 Tekstas statusas, tiesiog kažkas, kad leidžia jums žinoti, kas atsitiko. 2030 01:31:15,510 --> 01:31:20,570 Ir tada, jqXHR, tai tik JQuery XML HTTP užklausa. 2031 01:31:20,570 --> 01:31:21,990 Štai kaip objektas. 2032 01:31:21,990 --> 01:31:23,932 Ir tada nepavyks, kaip ir sakė Gabe. 2033 01:31:23,932 --> 01:31:27,140 Gabe: Mūsų mažai pavyzdys abc123 tik patikrinti, jei tai duomenų bazėje 2034 01:31:27,140 --> 01:31:32,260 ar ne, duomenys būtų kažkas jums darytumėte, jei egzistuoja duomenų taškas vartotojo vardas, 2035 01:31:32,260 --> 01:31:37,720 o tai, ką jūsų PHP sugeneruotas Jums, jei duomenų taškas vartotojo vardas egzistuoja, tada 2036 01:31:37,720 --> 01:31:40,880 Aš ruošiuosi įspėti, vartotojo vardas jau egzistuoja. 2037 01:31:40,880 --> 01:31:44,300 Kita, aš tik ketina leisti vartotojas tęsti užpildę formą. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 Gerai, saugumo, kietas. 2040 01:31:50,820 --> 01:31:52,060 >> DAVIN: Nori mane? 2041 01:31:52,060 --> 01:31:54,500 >> Gabe: Man patinka šis. 2042 01:31:54,500 --> 01:31:57,680 Taigi kažkas, kad atrodo pažįstamas. 2043 01:31:57,680 --> 01:31:59,750 Mes beveik baigėme. 2044 01:31:59,750 --> 01:32:02,670 Taigi tai yra tik pavyzdys vaikinai pamatė klasėje. 2045 01:32:02,670 --> 01:32:04,860 Jūs naudojote argv1 čia. 2046 01:32:04,860 --> 01:32:06,460 Štai kaip komandinės eilutės argumentas. 2047 01:32:06,460 --> 01:32:09,270 Ir mes MEM kopijavimas, kad į keletą 12 dydžio buferio. 2048 01:32:09,270 --> 01:32:12,560 Kas problema čia? 2049 01:32:12,560 --> 01:32:13,660 Buferio! 2050 01:32:13,660 --> 01:32:15,400 Kadangi mes turime 12 dydžio buferį. 2051 01:32:15,400 --> 01:32:18,400 argv1 gali turėti du milijardai dydį. 2052 01:32:18,400 --> 01:32:19,960 Mes nedarome jokio kontūro patikrą. 2053 01:32:19,960 --> 01:32:24,970 Taigi, mes galime kopijuoti daug atminties. 2054 01:32:24,970 --> 01:32:28,630 Ir mes ypač blogas apie tai. 2055 01:32:28,630 --> 01:32:32,600 Ką galėtume padaryti, kad tai labai, labai reiškia šiuo atveju? 2056 01:32:32,600 --> 01:32:33,278 Taip? 2057 01:32:33,278 --> 01:32:36,528 AUDITORIJA: Dalis dviejų milijardų dalykų yra vykdomąjį kodą, kuris grąžina 2058 01:32:36,528 --> 01:32:38,127 [Nesigirdi]. 2059 01:32:38,127 --> 01:32:38,710 Gabe: Būtent. 2060 01:32:38,710 --> 01:32:41,110 Štai natūra dalykas, kad žmonės naudoja 2061 01:32:41,110 --> 01:32:43,344 Jailbreak iPhone, pavyzdžiui. 2062 01:32:43,344 --> 01:32:44,260 Taigi, kad rūšies dalykas. 2063 01:32:44,260 --> 01:32:48,610 Kadangi jūs galite tiesiog padaryti įrenginį vykdyti bet kokį kodą, kad jums patinka. 2064 01:32:48,610 --> 01:32:50,247 Nustatyti, kad nustatyti yra paprasta. 2065 01:32:50,247 --> 01:32:51,330 Tiesiog įsitikinkite, kad yra ribos. 2066 01:32:51,330 --> 01:32:53,455 Jūs patikrinti null nes mes visada patikrinkite null 2067 01:32:53,455 --> 01:32:54,940 kai mes susiduriame su stygos. 2068 01:32:54,940 --> 01:32:57,840 Ir tada, jūs imtis eilutės ilgis anksčiau. 2069 01:32:57,840 --> 01:33:00,150 Ir jei eilutę ilgis galioja eilutė 2070 01:33:00,150 --> 01:33:03,700 ilgis, kuris yra per 0 ir 12, tada mes gerai. 2071 01:33:03,700 --> 01:33:07,144 >> DAVIN: Jei neturite patikrinti niekinis, nekilnojamojo greitai, kas atsitiks? 2072 01:33:07,144 --> 01:33:07,810 Tai bus SEG gedimą. 2073 01:33:07,810 --> 01:33:10,850 Kodėl ji SEG kaltės? 2074 01:33:10,850 --> 01:33:12,510 Kadangi jūs skambinate strlen apie null. 2075 01:33:12,510 --> 01:33:13,010 Gabe: Taip. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 Tiesa ar melas, naudojant vieną slaptažodis gera idėja. 2078 01:33:19,630 --> 01:33:20,430 >> AUDITORIJA: Neteisingų. 2079 01:33:20,430 --> 01:33:21,150 >> Gabe: Neteisingų. 2080 01:33:21,150 --> 01:33:23,870 Naudokite daug slaptažodžius ir didelis, ilgus. 2081 01:33:23,870 --> 01:33:26,050 Spynos piktogramos užtikrinti saugumą. 2082 01:33:26,050 --> 01:33:27,080 >> AUDITORIJA: Neteisingų. 2083 01:33:27,080 --> 01:33:27,749 >> Gabe: Neteisingų. 2084 01:33:27,749 --> 01:33:28,790 Tai nieko nereiškia. 2085 01:33:28,790 --> 01:33:30,480 Tai tiesiog piktogramą. 2086 01:33:30,480 --> 01:33:32,824 SSL apsaugo nuo vyras viduryje ataka. 2087 01:33:32,824 --> 01:33:33,490 AUDITORIJA: Neteisingų. 2088 01:33:33,490 --> 01:33:34,110 Gabe: Neteisingų. 2089 01:33:34,110 --> 01:33:35,355 Gerai, kad visi tie, yra klaidinga. 2090 01:33:35,355 --> 01:33:38,324 2091 01:33:38,324 --> 01:33:39,490 Nicos. 2092 01:33:39,490 --> 01:33:40,220 [Nesigirdi] 2093 01:33:40,220 --> 01:33:42,500 Norite apie tai kalbėti? 2094 01:33:42,500 --> 01:33:43,259 Jūsų eilė. 2095 01:33:43,259 --> 01:33:45,050 Davin: tipai išpuolių, vyras viduryje. 2096 01:33:45,050 --> 01:33:47,134 Kas vyras viduryje ataka? 2097 01:33:47,134 --> 01:33:48,050 Auditorija: [nesigirdi]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 DAVIN: Jei siųsti HTTP prašymas, jie gali tai padaryti, tiesa? 2100 01:33:54,020 --> 01:33:57,890 Bet jei jūs siunčiate HTTPS, jie tikriausiai nebus galima tai padaryti. 2101 01:33:57,890 --> 01:33:59,952 Yra daug taškų palei savo ryšį. 2102 01:33:59,952 --> 01:34:00,660 Jūs turite maršrutizatorių. 2103 01:34:00,660 --> 01:34:01,746 Jūs turite DNS serverius. 2104 01:34:01,746 --> 01:34:04,120 Jei kas nors galėtų fiziškai pamatyti, ką jūs siunčiate, 2105 01:34:04,120 --> 01:34:06,140 taip kas nors galėtų faktiškai gauti tarp jūsų, 2106 01:34:06,140 --> 01:34:08,840 klientas, ir serveris, ir yra galės pamatyti, ką jūs siunčiate, 2107 01:34:08,840 --> 01:34:10,298 tai yra žmogus viduryje priepuolis. 2108 01:34:10,298 --> 01:34:14,287 Taigi, norint pamatyti, ką jūs bandote gauti iš serveris, arba gali see-- blogiau, 2109 01:34:14,287 --> 01:34:16,620 Jums gali būti galėtų pamatyti sausainiai ar kažką panašaus, kad. 2110 01:34:16,620 --> 01:34:19,290 >> Taigi, pavyzdžiui, jei Jūs neprisijungęs naudojant SSL, jis 2111 01:34:19,290 --> 01:34:21,900 galėtų matyti jūsų ID slapukus. 2112 01:34:21,900 --> 01:34:25,460 Ir tai vadinama sesijos vogimą nes jis mato savo ID slapukus, 2113 01:34:25,460 --> 01:34:28,317 ir tada jis galėtų eiti, kad svetainė ir apsimesti jumis. 2114 01:34:28,317 --> 01:34:31,150 Nes tik norėčiau PHP, nepamirškite kai mes prisijungęs, ką mes galime padaryti? 2115 01:34:31,150 --> 01:34:33,340 Mes nustatėme sesijos ID, lygią ID. 2116 01:34:33,340 --> 01:34:34,810 Taigi, kuris identifikuoja jus. 2117 01:34:34,810 --> 01:34:38,300 Štai kodėl jūs galite pamatyti savo portfelį o ne visi kiti portfelį. 2118 01:34:38,300 --> 01:34:42,320 >> Na, jei aš galėtų gauti tą slapuką, tada aš galiu prisijungti į šį puslapį. 2119 01:34:42,320 --> 01:34:45,380 Ir tada, aš tiesiog negaliu matyti savo stuff ir pradėti pirkti ir parduoti stuff. 2120 01:34:45,380 --> 01:34:46,800 Taigi, kad sesijos vogimą. 2121 01:34:46,800 --> 01:34:50,810 Bet jūs turite būti negali to-- todėl jūs gali naudoti žmogus viduryje priepuolio 2122 01:34:50,810 --> 01:34:52,290 net jei jie naudoja SSL. 2123 01:34:52,290 --> 01:34:53,520 Bet jūs turite būti negali. 2124 01:34:53,520 --> 01:34:56,580 Jei jie naudoja SSL, galite ne sesijos svetimą. 2125 01:34:56,580 --> 01:34:58,927 Kodėl? 2126 01:34:58,927 --> 01:35:01,135 Kadangi visa tai užkoduota, tiesa? jei ji užkoduota, 2127 01:35:01,135 --> 01:35:03,509 ir aš vis dar žmogus viduryje, aš vis dar gauti savo duomenis. 2128 01:35:03,509 --> 01:35:04,279 Tai gerai. 2129 01:35:04,279 --> 01:35:05,070 Bet tai šifruojamas. 2130 01:35:05,070 --> 01:35:07,750 Taigi, aš tikrai negali naudoti jį. 2131 01:35:07,750 --> 01:35:09,840 Taigi, kad du. 2132 01:35:09,840 --> 01:35:11,544 >> Nekilnojamasis greitai, kryžius svetainė prašymas klastotė. 2133 01:35:11,544 --> 01:35:13,960 Tai tiesiog, jei yra ryšys ir kad ryšys daro kažką 2134 01:35:13,960 --> 01:35:14,890 kad jūs nemanau, kad tai turėtų daryti. 2135 01:35:14,890 --> 01:35:18,150 Taigi, pavyzdžiui, jei ryšys buvo ketinate pirkti akcijas ar parduoti atsargas, 2136 01:35:18,150 --> 01:35:19,360 ir jūs nežinote, kad. 2137 01:35:19,360 --> 01:35:22,040 Jūs paspaudėte nuorodą, išsiuntė prašymą, nusipirkau 2138 01:35:22,040 --> 01:35:24,240 arba parduoti kažką, kad Jūs nereiškė daryti. 2139 01:35:24,240 --> 01:35:25,120 Štai, kad. 2140 01:35:25,120 --> 01:35:30,720 >> Cross Site Scripting, todėl čia jūs einančios per kintamojo q, 2141 01:35:30,720 --> 01:35:33,510 vietoj einančios kažkokia vertės, o gal q yra kaip pavadinimas. 2142 01:35:33,510 --> 01:35:36,560 Taigi vietoj pravažiuojančių Q yra lygus Davin ar kažkas panašaus, 2143 01:35:36,560 --> 01:35:38,740 jei nenorite naudoti HTML specialieji simboliai, jei jūs 2144 01:35:38,740 --> 01:35:43,100 neišvengtų tai įsitikinkite, kad jis Gerai, tada aš galėčiau pereiti į vietoj to, 2145 01:35:43,100 --> 01:35:46,910 tarkim čia aš sakau Spausdinti ar kažkas panašaus, 2146 01:35:46,910 --> 01:35:51,070 tada galėčiau perduoti čia scenarijų skambutį. 2147 01:35:51,070 --> 01:35:53,140 >> Taip, tada, vietoj to, tiesiog gauti kintamąjį, 2148 01:35:53,140 --> 01:35:54,960 Tada norėčiau vykdyti šį scenarijų skambutį. 2149 01:35:54,960 --> 01:35:57,065 Taigi viduje, kad scenarijų skambinti, ką jis daro? 2150 01:35:57,065 --> 01:36:00,190 Dokumento taškų vieta, kad ketina pakeisti dokumento buvimo vietą. 2151 01:36:00,190 --> 01:36:02,290 Taigi, aš ruošiuosi nukreipti kažkur kitur. 2152 01:36:02,290 --> 01:36:08,170 Tai vadinama bloga vaikinas šis pavyzdys, labai gerai. 2153 01:36:08,170 --> 01:36:10,536 Nepavyko galvoti žodį. 2154 01:36:10,536 --> 01:36:12,410 Ir tada, kas dar Blogiau yra tai, kad aš ruošiuosi 2155 01:36:12,410 --> 01:36:16,832 tada nustatytą slapuko, kuris yra šiek tiek kintamasis turiu šioje svetainėje. 2156 01:36:16,832 --> 01:36:19,040 Aš ruošiuosi nustatyti, kad jis lygus į dokumentą dot slapuką. 2157 01:36:19,040 --> 01:36:20,660 Todėl aš ruošiuosi pavogti jūsų slapuką. 2158 01:36:20,660 --> 01:36:22,951 Ir aš ruošiuosi nukreipti kai į svetainę informacija 2159 01:36:22,951 --> 01:36:25,120 kad jums nereikėtų būti pasiekti. 2160 01:36:25,120 --> 01:36:29,250 Ir visa tai vyksta, nes jūs esate ne pabėgti, ką mačiau. 2161 01:36:29,250 --> 01:36:29,910 Taip? 2162 01:36:29,910 --> 01:36:32,160 >> AUDITORIJA: Taigi tik padaryti, kad aišku, tai 2163 01:36:32,160 --> 01:36:37,550 vulnerable.com kad yra pažeidžiami tai. 2164 01:36:37,550 --> 01:36:39,300 Taigi, kad ryšys gali atsirasti bet kurią puslapyje. 2165 01:36:39,300 --> 01:36:42,200 Kažkas paspaudžia ant jo, eina į vulnerable.com. 2166 01:36:42,200 --> 01:36:43,700 Turite slapuką į vulnerable.com. 2167 01:36:43,700 --> 01:36:46,670 Tarkime, "Facebook" yra pažeidžiami, todėl facebook.com. 2168 01:36:46,670 --> 01:36:48,310 Jūs turite savo "Facebook" slapuką. 2169 01:36:48,310 --> 01:36:50,925 Kas tai daro, jūs ketina facebook.com, 2170 01:36:50,925 --> 01:36:53,990 jis iš karto nukreipti jums badguy.com, 2171 01:36:53,990 --> 01:36:57,182 bet įskaitant savo slapuko informaciją. 2172 01:36:57,182 --> 01:36:59,310 Taigi, tai greitai peradresavimas, bet jūsų "Facebook" Slapukas 2173 01:36:59,310 --> 01:37:02,572 yra įtraukta į to peradresavimo, ir tai, kaip jie [nesigirdi]. 2174 01:37:02,572 --> 01:37:04,280 Gabe: Taip, ten keletas labai vidutiniai dalykai 2175 01:37:04,280 --> 01:37:06,070 kad žmonės gali padaryti, jei yra tai. 2176 01:37:06,070 --> 01:37:09,190 Pavyzdžiui, jei Facebook leidžiama visi pakeisti savo vartotojo vardą, 2177 01:37:09,190 --> 01:37:11,680 ir jie nepadarė bet normalumas patikrinimai, todėl jums 2178 01:37:11,680 --> 01:37:16,810 gali įterpti JavaScript dalykas, kad keičia savo įvaizdį į žiurkėno. 2179 01:37:16,810 --> 01:37:22,590 Ir tai įterpia tą patį JavaScript į visiems, kurie peržiūri jūsų puslapį. 2180 01:37:22,590 --> 01:37:26,400 Taigi visi, kurie views savo puslapį turi tą patį vartotojo vardą. 2181 01:37:26,400 --> 01:37:30,104 Ir todėl, kad tai virusas, ji plinta eksponentiškai. 2182 01:37:30,104 --> 01:37:32,270 DAVIN: Mes praleisti paskutinis viena, ir tada mes baigsite. 2183 01:37:32,270 --> 01:37:34,120 Taigi tai yra tik dar vienas pavyzdys. 2184 01:37:34,120 --> 01:37:36,120 Taigi tai, kad jie nėra pabėgti savo SQL lentelę. 2185 01:37:36,120 --> 01:37:37,090 Taigi galite paleisti jį. 2186 01:37:37,090 --> 01:37:38,805 Taigi jūs norite pabėgti dalykų. 2187 01:37:38,805 --> 01:37:44,010 Tai buvo ankstesnio pavyzdys su Cross Site scenarijus. 2188 01:37:44,010 --> 01:37:45,430 Atsiprašome nubėgome truputį vėlu. 2189 01:37:45,430 --> 01:37:46,870 Rytoj, atsiprašau! 2190 01:37:46,870 --> 01:37:48,560 Rytoj, mes turime darbo valandomis. 2191 01:37:48,560 --> 01:37:50,870 Taigi biuro valandas Cabbot 8:00-11:00. 2192 01:37:50,870 --> 01:37:55,240 Raštinės valandos griežtai viktorinų klausimus. 2193 01:37:55,240 --> 01:37:56,587