1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [Musiikki soi] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 Hannah: Hei kaikki. 5 00:00:12,700 --> 00:00:15,866 Kiitos pojat niin paljon tulee ulos vuonna inhottavaa sää tietokilpailu yksi 6 00:00:15,866 --> 00:00:16,910 arvostelu istunto. 7 00:00:16,910 --> 00:00:20,020 Kuten te tiedätte, tietokilpailu yksi on tänä keskiviikkona. 8 00:00:20,020 --> 00:00:22,209 Joten aiomme mennä läpi joukko aiheita. 9 00:00:22,209 --> 00:00:24,000 DAVIN: Hei, voin sanoa jotain todella nopeasti? 10 00:00:24,000 --> 00:00:25,215 Hannah: Joo, Davin on menossa sanoa jotain todella nopeasti. 11 00:00:25,215 --> 00:00:25,780 DAVIN: Anteeksi. 12 00:00:25,780 --> 00:00:29,490 Vain todella nopeasti, jos sinulla on kysyttävää noin tietokilpailu, voit mennä verkossa. 13 00:00:29,490 --> 00:00:32,420 Siirry 2014 tietovisa yksi, noin tietokilpailu. 14 00:00:32,420 --> 00:00:34,680 Se sai logistiikka noin minne mennä, milloin mennä. 15 00:00:34,680 --> 00:00:38,100 Jos samanaikaisesti kirjoilla, olemme menossa on meikkiä tietokilpailu klo 5:30. 16 00:00:38,100 --> 00:00:40,350 Tai jos olet lähettänyt minulle ongelma, sinulla on jokin muu ongelma. 17 00:00:40,350 --> 00:00:42,640 Mutta puoli 6 on meikkiä aikaa keskiviikkona. 18 00:00:42,640 --> 00:00:44,540 Mutta jos sinulla on kysyttävää, yleisiä kysymyksiä, 19 00:00:44,540 --> 00:00:45,748 verkossa on kaikki logistiikka. 20 00:00:45,748 --> 00:00:47,690 Joten tarkista ensin. 21 00:00:47,690 --> 00:00:49,070 >> Hannah: Mahtavaa. 22 00:00:49,070 --> 00:00:53,030 Joten tässä iso lista aiheista että olemme menossa läpi tänään. 23 00:00:53,030 --> 00:00:57,390 Aion kattaa kaikki C tavaraa, joka on, että ensimmäinen sarake. 24 00:00:57,390 --> 00:01:00,710 Joten C kamaa, että me katettu jälkeen tietokilpailu nolla. 25 00:01:00,710 --> 00:01:05,459 Alkaen linkitetty lista, joka sisältää viitteitä. 26 00:01:05,459 --> 00:01:07,668 >> Okei, joten näimme tämän viime tarkastelun istunto, 27 00:01:07,668 --> 00:01:10,000 joten aion käydä läpi Tämä on hieman nopeammin. 28 00:01:10,000 --> 00:01:13,500 Vain nostamaan käden jos haluat minun hidastaa tai käsitellä jotain vielä. 29 00:01:13,500 --> 00:01:17,150 Mutta käytämme liittyvät luettelot, koska aloitimme C paneelit. 30 00:01:17,150 --> 00:01:20,920 Ja paneelit ovat suuria, mutta ongelma on heillä kiinteä koko. 31 00:01:20,920 --> 00:01:24,925 Liittyy luettelot avulla voimme luoda dynaamisesti kokoinen tietorakenteita. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> Ja meillä on perustoiminnot, lisätä, poistaa ja etsiä. 34 00:01:32,320 --> 00:01:36,780 Ja voimme tehdä insert Pahimmassa tapauksessa vakioaikavälein 35 00:01:36,780 --> 00:01:39,140 jos me vain laittaa se aivan alussa. 36 00:01:39,140 --> 00:01:45,220 Poistaa ja hakea, pahin tapauksessa iso oh n ajan. 37 00:01:45,220 --> 00:01:47,140 Joten jälleen, vain kääntää kautta nämä kuvat, 38 00:01:47,140 --> 00:01:50,860 Tiedän näimme nämä viime kerralla, mutta me haluavat seurata meidän linkitetty lista 39 00:01:50,860 --> 00:01:53,440 pitämällä kirjaa vetäjänä linkitetyn listan. 40 00:01:53,440 --> 00:01:55,580 Koska tiedämme, että jokainen meidän solmuja 41 00:01:55,580 --> 00:01:58,610 on juuri menossa osoittamaan seuraava solmu meidän linkitetty lista. 42 00:01:58,610 --> 00:02:00,460 >> Niin, että miten me seurata. 43 00:02:00,460 --> 00:02:02,910 Vaikka nämä eivät ole jatkuva kappaletta muistia, 44 00:02:02,910 --> 00:02:07,410 voimme löytää ne vain Seuraavat eri nuolet. 45 00:02:07,410 --> 00:02:09,800 Tässä on meidän rakenne varten linkitetyn listan solmu. 46 00:02:09,800 --> 00:02:11,440 Näimme tämän viimeisen kerran. 47 00:02:11,440 --> 00:02:13,080 Meillä on struct solmu. 48 00:02:13,080 --> 00:02:14,340 Ja se on kaksi ominaisuuksia. 49 00:02:14,340 --> 00:02:17,020 Numero yksi, todellinen arvon haluamme säilyttää. 50 00:02:17,020 --> 00:02:18,290 Tässä tapauksessa se on kokonaisluku. 51 00:02:18,290 --> 00:02:21,100 Se voisi olla merkkijono, se voisi olla char, mitä haluat. 52 00:02:21,100 --> 00:02:24,710 Ja sitten meillä on seurata seuraava solmu meidän linkitetty lista. 53 00:02:24,710 --> 00:02:29,797 Niin, että tulee olemaan osoittimen seuraavalle solmulle. 54 00:02:29,797 --> 00:02:31,880 Jos olit juuri tekemässä haku, kuten aiemmin sanoin, 55 00:02:31,880 --> 00:02:34,900 sinun täytyy seurata nuolia alas. 56 00:02:34,900 --> 00:02:40,720 Lisäys, voisitte seurata missä loput listasi on. 57 00:02:40,720 --> 00:02:44,150 Ja haluat ohjata pään osoittamaan uuden elementin, joka 58 00:02:44,150 --> 00:02:46,640 Tässä tapauksessa on yksi, ja sitten yksi tulee kohta 59 00:02:46,640 --> 00:02:49,480 loppuosaan linkitetyn listan. 60 00:02:49,480 --> 00:02:52,996 Joten jälleen, tiedän että tämä on pieni hieman toista tietokilpailu nolla. 61 00:02:52,996 --> 00:02:55,370 Joten meidän on oltava hyvin varovaisia noin järjestyksessä, jossa me 62 00:02:55,370 --> 00:03:00,390 tehdä näitä pointings joten emme kadottaa takana luettelon. 63 00:03:00,390 --> 00:03:04,122 OK, kysyttävää kanssa vain yksittäin liittyvät luettelot? 64 00:03:04,122 --> 00:03:06,060 Mahtavaa, OK, viileä. 65 00:03:06,060 --> 00:03:09,410 >> Joten nyt, aiomme mennä kiinni jotain vain hieman monimutkaisempi, 66 00:03:09,410 --> 00:03:10,920 kaksinkertaisesti liittyvät luettelot. 67 00:03:10,920 --> 00:03:13,680 Joten lisäksi pitää Seuraa seuraavaan solmuun, 68 00:03:13,680 --> 00:03:16,220 haluamme myös seurata edellisen solmun. 69 00:03:16,220 --> 00:03:19,580 Ja tämä antaa meille mahdollisuuden, jos olemme jossain vaiheessa meidän linkitetty lista, 70 00:03:19,580 --> 00:03:23,110 ei vain mene eteenpäin, mutta myös kerrata taaksepäin. 71 00:03:23,110 --> 00:03:25,220 Koska kuten näimme yksittäin linkitetty lista, 72 00:03:25,220 --> 00:03:27,980 jos olisimme jossain solmussa, ja yhtäkkiä, päätimme, 73 00:03:27,980 --> 00:03:30,160 Oikeastaan ​​haluan mennä solmu juuri ennen minua, 74 00:03:30,160 --> 00:03:32,034 sinun täytyy mennä Paluumatkalla päähän 75 00:03:32,034 --> 00:03:35,710 ja kerrata kautta kunnes löysit solmu etsit. 76 00:03:35,710 --> 00:03:37,680 >> Joten tämä tekee asioista hieman helpompaa kuin olemme 77 00:03:37,680 --> 00:03:39,670 yrittää kerrata kautta linkitetty lista. 78 00:03:39,670 --> 00:03:47,870 Mutta se vaatii meitä seurata yhden lisää osoitin, joten yksi solmu tähti. 79 00:03:47,870 --> 00:03:50,830 Okei, joten tässä tulee hauska osa. 80 00:03:50,830 --> 00:03:55,600 Aiomme harjoitella täytäntöönpanosta poistamaan kaksinkertaisesti liittyvät luettelot. 81 00:03:55,600 --> 00:03:58,660 Joten tämä on jotain, joka on täysin reilun pelin tietokilpailu. 82 00:03:58,660 --> 00:04:00,750 Se saapui ohi tietokilpailuja. 83 00:04:00,750 --> 00:04:04,220 Joten ehdottomasti olla valmis koodata hieman C. 84 00:04:04,220 --> 00:04:07,900 Älä unohda, että kaikki Tässä hauska PHP ja JavaScript, 85 00:04:07,900 --> 00:04:10,560 meillä on vielä muistaa tehdä C. Joten verestää että 86 00:04:10,560 --> 00:04:12,146 jos et tunne ruosteessa. 87 00:04:12,146 --> 00:04:14,580 >> Okei, katsotaanpa jos voimme tehdä tämän. 88 00:04:14,580 --> 00:04:16,312 OK, viileä. 89 00:04:16,312 --> 00:04:18,600 Joten aiomme kokeilla muokata aivan täällä, 90 00:04:18,600 --> 00:04:20,707 ja toivottavasti tämä menee suunnitellusti. 91 00:04:20,707 --> 00:04:23,915 Okei, ei kukaan halua antaa minulle ehdotus siitä, miten minun pitäisi aloittaa? 92 00:04:23,915 --> 00:04:27,030 Vain oletus olen päätöksenteossa on, että olen jo 93 00:04:27,030 --> 00:04:30,180 ovat määritelty rakenne, yksi Näytin viimeisellä sivulla, 94 00:04:30,180 --> 00:04:31,420 viimeisenä dian. 95 00:04:31,420 --> 00:04:39,250 Ja olen tallentamiseen esimies liittyy lista joissakin osoitin nimeltään lista. 96 00:04:39,250 --> 00:04:42,190 Onko kukaan halua minua alkoi? 97 00:04:42,190 --> 00:04:45,410 >> Yleisö: Voitko luoda uuden solmu soittaa listan läpi? 98 00:04:45,410 --> 00:04:46,410 >> Hannah: Mahtavaa, joten aiomme luoda 99 00:04:46,410 --> 00:04:47,951 uusi solmu ryömimään listan läpi. 100 00:04:47,951 --> 00:04:48,570 Pidän siitä. 101 00:04:48,570 --> 00:04:50,799 Otan vain kutsua sitä osoitin jos se on OK. 102 00:04:50,799 --> 00:04:52,340 Ja jos olisi se alunperin aloittaa? 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> Yleisö: Luultavasti johtaja luettelon. 105 00:04:59,840 --> 00:05:00,590 Hannah: Kaunis. 106 00:05:00,590 --> 00:05:03,670 Haluamme aloittaa kärjessä, joka Sanoin aiotaan varastoida luetteloon. 107 00:05:03,670 --> 00:05:04,170 Mahtavaa. 108 00:05:04,170 --> 00:05:05,220 Toistaiseksi niin hyvä. 109 00:05:05,220 --> 00:05:08,260 Ja nyt, meidän tavoitteenamme on kerrata läpi lista 110 00:05:08,260 --> 00:05:12,870 kunnes löydämme solmu arvo n että haluamme poistaa. 111 00:05:12,870 --> 00:05:13,540 OK? 112 00:05:13,540 --> 00:05:15,910 >> Joten nyt on osa, jossa haluamme kerrata kautta. 113 00:05:15,910 --> 00:05:19,488 Voiko joku ehdottaa tapa kerrata läpi? 114 00:05:19,488 --> 00:05:20,979 >> Yleisö: silmukka. 115 00:05:20,979 --> 00:05:21,840 >> Hannah: silmukka. 116 00:05:21,840 --> 00:05:22,620 Rakastan sitä. 117 00:05:22,620 --> 00:05:25,550 Erityisesti voimme yrittää samalla silmukka. 118 00:05:25,550 --> 00:05:30,919 OK, ja me tiedämme, että olemme saavuttaneet lopussa meidän luettelosta, kun mitä? 119 00:05:30,919 --> 00:05:32,210 Yleisö: Kun osoitin on null. 120 00:05:32,210 --> 00:05:33,418 Hannah: Kun osoitin on null. 121 00:05:33,418 --> 00:05:34,320 Kaunis, rakastan sitä. 122 00:05:34,320 --> 00:05:35,110 OK, viileä. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 Olen niin pahoillani, jos rajaava ahdin on eräänlainen putoamisen näytön. 125 00:05:43,190 --> 00:05:44,090 Toimme sen takaisin. 126 00:05:44,090 --> 00:05:46,610 OK, viileä. 127 00:05:46,610 --> 00:05:48,690 Mitä seuraavaksi? 128 00:05:48,690 --> 00:05:51,950 >> Tiedämme siis haluamme poistaa solmu, joka on arvo n. 129 00:05:51,950 --> 00:05:56,340 Joten löytää tapauksessa me itse löytää meidän solmu. 130 00:05:56,340 --> 00:05:57,840 Joten miten voin tarkistaa, että? 131 00:05:57,840 --> 00:06:02,210 Olin juuri sanoa, jos osoitin, ja sitten jos minä haluavat saada arvoa pois osoitin, 132 00:06:02,210 --> 00:06:08,940 En vain nuoli n, on yhtä suuri kuin n, parametri 133 00:06:08,940 --> 00:06:14,490 että annoimme tämän toiminnon, solmu, että haluamme todella poistaa. 134 00:06:14,490 --> 00:06:17,090 Kaikki kysymykset asti täällä? 135 00:06:17,090 --> 00:06:18,360 Selvä. 136 00:06:18,360 --> 00:06:24,140 OK, joten nyt katsotaanpa piirtää nopea kuva taululle, jotta visualisoida. 137 00:06:24,140 --> 00:06:30,710 >> Joten sanokaamme siellä meidän ihana solmu. 138 00:06:30,710 --> 00:06:34,480 Ja se on arvo, minä vain sanoa neljä. 139 00:06:34,480 --> 00:06:40,340 Ja se osoittaa seuraavaan solmu meidän linkitetty lista. 140 00:06:40,340 --> 00:06:42,220 Ja ei ole mitään ennen sitä. 141 00:06:42,220 --> 00:06:45,800 Joten meillä on edellinen osoittaa mitään. 142 00:06:45,800 --> 00:06:48,110 Tässä tapauksessa me osoittaa taaksepäin. 143 00:06:48,110 --> 00:06:50,960 OK, vain perustamalla minun linkitetyn listan tänne. 144 00:06:50,960 --> 00:06:53,630 Ja meillä on luettelo, joka muistuttaa Tämän rakenteen aluksi. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 Tulen piirtämään yksi enemmän Täydellisyyden vuoksi. 147 00:07:00,485 --> 00:07:04,209 148 00:07:04,209 --> 00:07:06,117 OK. 149 00:07:06,117 --> 00:07:07,480 Tulen kohta tätä eteenpäin. 150 00:07:07,480 --> 00:07:09,550 Ja minä kohta että yksi taaksepäin. 151 00:07:09,550 --> 00:07:10,360 Anteeksi. 152 00:07:10,360 --> 00:07:12,710 Joo, sai tämän taaksepäin. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 Tee se uudestaan. 155 00:07:16,967 --> 00:07:18,330 OK, siellä mennään. 156 00:07:18,330 --> 00:07:19,910 Okei, sain sen. 157 00:07:19,910 --> 00:07:21,780 OK, tässä on meidän kuva. 158 00:07:21,780 --> 00:07:24,860 >> OK, joten haluamme harkita kaksi tapausta. 159 00:07:24,860 --> 00:07:27,330 Ensimmäisessä tapauksessa on, jos solmu haluamme poistaa 160 00:07:27,330 --> 00:07:29,420 on aivan alussa listallamme. 161 00:07:29,420 --> 00:07:34,070 Ja sitten, toisessa tapauksessa, että haluamme harkita, jos se on muualla. 162 00:07:34,070 --> 00:07:37,660 Ymmärrän, että tämä täysin sotkuinen piirustus kaikella pyyhkimisen, 163 00:07:37,660 --> 00:07:40,400 mutta toivottavasti me yritämme tehdä tämän selväksi joidenkin koodia. 164 00:07:40,400 --> 00:07:45,450 >> OK, joten katsotaanpa kattaa tapauksessa jossa löysimme solmu, 165 00:07:45,450 --> 00:07:48,900 ja se on aivan alkaa meidän linkitetyn listan. 166 00:07:48,900 --> 00:07:50,810 Jokainen antaa minulle ehdotus täällä, mitä 167 00:07:50,810 --> 00:07:54,684 Minun pitäisi tehdä todella poistaa meidän solmu? 168 00:07:54,684 --> 00:07:55,970 Se on vähän hankala. 169 00:07:55,970 --> 00:07:56,470 OK? 170 00:07:56,470 --> 00:07:59,628 >> Yleisö: Sinun on otettava solmu, joka olisi ennen 171 00:07:59,628 --> 00:08:01,794 ja sen osoittamaan joka olisi sen jälkeen, 172 00:08:01,794 --> 00:08:03,004 ja ottaa solmun olisi sen jälkeen ja tehdä 173 00:08:03,004 --> 00:08:04,554 sen osoittamaan solmuun ennen kuin se. 174 00:08:04,554 --> 00:08:05,220 Hannah: Aivan. 175 00:08:05,220 --> 00:08:10,640 OK, joten näin on where-- meillä on kaksi tapausta. 176 00:08:10,640 --> 00:08:14,100 Meillä on tapaus, jossa solmu, että etsimme 177 00:08:14,100 --> 00:08:18,270 on edessä luettelon. 178 00:08:18,270 --> 00:08:23,110 OK, ja sitten siinä tapauksessa, että olet Kuvataan muuten, eikö? 179 00:08:23,110 --> 00:08:24,500 Se on jossain muualla luettelossa. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 Niin sanoit, meidän katsokaa solmu edellisen, 182 00:08:32,840 --> 00:08:36,500 ja tehdä edellisen solmun viittaavat seuraavaan solmuun. 183 00:08:36,500 --> 00:08:40,510 Joten sanokaamme olemme yrittävät ottaa viisi 184 00:08:40,510 --> 00:08:43,059 minun hyvin sotkuinen piirustus tänne. 185 00:08:43,059 --> 00:08:47,530 Haluamme varmistaa, että neljä viittaa nyt kuusi. 186 00:08:47,530 --> 00:08:49,590 Neljä seuraavaksi pistettä kuuteen. 187 00:08:49,590 --> 00:08:52,150 Ja kuusi edellinen pistettä neljään. 188 00:08:52,150 --> 00:08:53,960 Se on meidän tavoitteemme, eikö? 189 00:08:53,960 --> 00:08:56,150 Tämä on mitä mielestäni sinun juuri sanoi tuolla. 190 00:08:56,150 --> 00:08:58,450 >> OK, joten lähdetään, että ensimmäinen pala. 191 00:08:58,450 --> 00:09:02,300 Tehdään on edellinen osoitin edellinen. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 Joten neljä seuraavaksi tulee osoittaa, mitä? 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 Täsmälleen, tässä tapauksessa kuusi. 196 00:09:14,900 --> 00:09:18,470 Joten meidän pitäisi sanoa osoittimen vieressä. 197 00:09:18,470 --> 00:09:20,600 OK? 198 00:09:20,600 --> 00:09:21,150 Selvä. 199 00:09:21,150 --> 00:09:24,870 Joten päästä eroon tästä ruma kuva ja yrittää tehdä hieman mukavampi yksi. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 Meillä on lista pää täällä. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 Ja joka viittaa ensimmäiseen solmuun meidän linkitetty lista, joka sanoimme on neljä. 204 00:09:42,740 --> 00:09:45,620 Tässä on meidän toinen solmu, viisi. 205 00:09:45,620 --> 00:09:47,307 Ja kolmas solmu, kuusi. 206 00:09:47,307 --> 00:09:50,265 Yritän vain tehdä täsmälleen sama kuva, vain hieman puhtaammin. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 OK, joten neljä seuraava alunperin viittaa viiteen. 209 00:09:56,280 --> 00:09:58,620 Viisi seuraavaksi pistettä kuuteen. 210 00:09:58,620 --> 00:10:00,170 Kuusi edellinen pistettä viiteen. 211 00:10:00,170 --> 00:10:02,470 Ja viisi edellinen pistettä neljään. 212 00:10:02,470 --> 00:10:03,360 Niin paljon mukavampaa! 213 00:10:03,360 --> 00:10:04,530 OK, viileä. 214 00:10:04,530 --> 00:10:07,770 >> Joten nyt, mitä teimme juuri täällä, tämä rivi koodia, 215 00:10:07,770 --> 00:10:12,680 joka sanoo osoitin edellinen seuraava, niin mitä se tarkoittaa? 216 00:10:12,680 --> 00:10:17,540 Tämä tarkoittaa, että jos me tarkastelemme viisi, siirtyä edelliseen solmuun, 217 00:10:17,540 --> 00:10:21,970 ja se on seuraavaksi pitäisi nyt kohta viisi seuraava. 218 00:10:21,970 --> 00:10:27,840 Joten pohjimmiltaan, mitä se on tekemässä on, että on poistamatta tätä nuolta 219 00:10:27,840 --> 00:10:29,640 ja tehden hypätä suoraan yli viisi. 220 00:10:29,640 --> 00:10:31,360 Onko selvä? 221 00:10:31,360 --> 00:10:33,200 Tiedän, että voi olla hieman summittainen. 222 00:10:33,200 --> 00:10:34,480 Näen joitakin pää nyökkää. 223 00:10:34,480 --> 00:10:35,390 Se on hyvä. 224 00:10:35,390 --> 00:10:36,670 OK, viileä. 225 00:10:36,670 --> 00:10:39,590 Nyt, mitä on seuraava askel? 226 00:10:39,590 --> 00:10:42,060 >> Olen nollata seuraavaksi. 227 00:10:42,060 --> 00:10:45,297 Nyt joka muiden nuoli minun täytyy muuttaa? 228 00:10:45,297 --> 00:10:46,130 Tämä yksi täällä. 229 00:10:46,130 --> 00:10:47,560 Kuusi edellinen. 230 00:10:47,560 --> 00:10:50,620 Emme halua kuusi edellinen osoittamaan viiteen enää. 231 00:10:50,620 --> 00:10:54,580 Haluamme tuoda neljä. 232 00:10:54,580 --> 00:10:56,190 Tarkoittaako tämä kuva järkeä? 233 00:10:56,190 --> 00:10:58,370 Joten nyt voimme itse ottaa viisi. 234 00:10:58,370 --> 00:10:59,370 Joten saada, että pala. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 Mitä minun pitäisi tehdä ennen kuin nollata kuusi edellinen neljä? 237 00:11:11,180 --> 00:11:14,360 Onko ideoita siellä? 238 00:11:14,360 --> 00:11:17,369 >> Yleisö: Vapauta solmun välillä ne asettamalla se nollaksi? 239 00:11:17,369 --> 00:11:17,910 Hannah: Cool. 240 00:11:17,910 --> 00:11:21,100 Ehdottomasti, meidän lopullinen tavoite on olemaan vapauttaa solmuun. 241 00:11:21,100 --> 00:11:22,490 Joten voimme tehdä sen täällä. 242 00:11:22,490 --> 00:11:23,540 Ilmainen osoitin. 243 00:11:23,540 --> 00:11:24,810 Ehdottomasti. 244 00:11:24,810 --> 00:11:29,160 Mutta jo ennen sitä, Katsotaanpa just-- tavoitteemme oikea 245 00:11:29,160 --> 00:11:38,730 tässä asettaa osoitin seuraavaan edellinen yhtä osoitin edelliseen. 246 00:11:38,730 --> 00:11:40,760 Tiedän, että tämä on tulossa peitetty. 247 00:11:40,760 --> 00:11:45,440 OK, katsotaanpa take-- jäähtyä. 248 00:11:45,440 --> 00:11:46,990 Voivatko kaikki nähdä tämän bottom line? 249 00:11:46,990 --> 00:11:47,840 Vai onko se erittäin pieni? 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> Joten ennen toteutamme tämä linja täällä, haluamme 252 00:11:54,300 --> 00:11:58,375 varmistaa, että osoitin seuraava ei ole nolla. 253 00:11:58,375 --> 00:12:00,500 Koska jos osoitin seuraavaksi on null, millainen virhe 254 00:12:00,500 --> 00:12:02,727 saan kun yritän viite nollaosoittimen? 255 00:12:02,727 --> 00:12:03,560 Yleisö: Seg vika. 256 00:12:03,560 --> 00:12:05,660 Hannah: seg vika, kaunis. 257 00:12:05,660 --> 00:12:09,690 OK, joten jos se ei ole null, niin voimme palauttaa. 258 00:12:09,690 --> 00:12:14,420 Ja meillä on kuusi kohta uudelleen neljään. 259 00:12:14,420 --> 00:12:17,440 Kysymyksiä tähän saakka? 260 00:12:17,440 --> 00:12:17,940 Kyllä? 261 00:12:17,940 --> 00:12:19,814 >> Yleisö: teidän ensimmäinen jos ilmoitus, ethän 262 00:12:19,814 --> 00:12:23,817 tarkoittaa olla nuoli seuraava tai [äänetön]? 263 00:12:23,817 --> 00:12:25,150 Hannah: Tarkoitin osoitin nuoli n. 264 00:12:25,150 --> 00:12:30,270 Joten periaatteessa, mitä yritän tehdä on sanoa, nykyinen solmu, että olen 265 00:12:30,270 --> 00:12:34,100 iteroidessaan yli, nykyinen solmu, joka Etsin, olen tallentaminen osoitin. 266 00:12:34,100 --> 00:12:37,630 Ja haluan tietää osoittimen arvo, joka tässä tapauksessa on n. 267 00:12:37,630 --> 00:12:39,500 Ja haluan nähdä, on solmu Etsin 268 00:12:39,500 --> 00:12:42,790 solmun pyrin poistaa? 269 00:12:42,790 --> 00:12:47,657 Joten siksi olemme täällä osoitin n. 270 00:12:47,657 --> 00:12:49,857 >> Yleisö: Niin nuoli menossa N, asetat arvon 271 00:12:49,857 --> 00:12:52,058 ja tallentaa sen solmun nimeltä n? 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> Hannah: Joten se on kuin jos olen läpi tätä linkitetty lista 274 00:12:58,820 --> 00:13:00,310 ja osoittaa viisi. 275 00:13:00,310 --> 00:13:03,600 Jos haluan saada että arvoa, jos Haluan saada että määrä, 5, 276 00:13:03,600 --> 00:13:06,400 Minun täytyy tehdä osoitin nuoli n. 277 00:13:06,400 --> 00:13:06,900 Cool? 278 00:13:06,900 --> 00:13:07,900 Joo. 279 00:13:07,900 --> 00:13:11,200 >> Yleisö: on n muuttujan nimi? 280 00:13:11,200 --> 00:13:11,700 Hannah: Kyllä. 281 00:13:11,700 --> 00:13:14,870 Joten jos me flip takaisin yhteen liukumäki, n on nimi 282 00:13:14,870 --> 00:13:18,660 arvon sisällä solmu meidän linkitetty lista. 283 00:13:18,660 --> 00:13:21,510 Ja tiedän, että se voi saada hieman hieman sekava, koska meillä on myös 284 00:13:21,510 --> 00:13:24,680 vaativat asia että haluamme poistaa n. 285 00:13:24,680 --> 00:13:26,717 Niin, että jos se yksi rivi tulee. 286 00:13:26,717 --> 00:13:27,671 Joo? 287 00:13:27,671 --> 00:13:31,010 >> Yleisö: Mitä sinulla on [Äänetön], miten ne toimivat? 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 Osoitin [äänetön]? 290 00:13:35,780 --> 00:13:37,520 >> Hannah: Toki. 291 00:13:37,520 --> 00:13:40,027 Puhutko about-- mikä linja? 292 00:13:40,027 --> 00:13:41,526 Yleisö: Viimeinen rivi [kuultavissa]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> Hannah: Toki, OK. 295 00:13:45,250 --> 00:13:48,540 Joten katsokaamme kuvaa Jotta yrittää selittää tätä. 296 00:13:48,540 --> 00:13:51,030 Olen pahoillani, että kamera, kysymys oli 297 00:13:51,030 --> 00:13:54,580 voimme selittää osoitin arrow seuraava osoitin edelliseen. 298 00:13:54,580 --> 00:14:01,510 OK, joten sanokaamme me olemme viisi ja tavoitteenamme on poistaa viisi. 299 00:14:01,510 --> 00:14:07,240 Joten osoitin seuraavaksi, mikä näistä kolme solmua ei, jotka antavat meille? 300 00:14:07,240 --> 00:14:10,840 Tästä pääsemmekin kuudes solmuun, eikö? 301 00:14:10,840 --> 00:14:16,490 >> OK, joten nyt pyydämme kuuden aiemman. 302 00:14:16,490 --> 00:14:17,060 OK? 303 00:14:17,060 --> 00:14:20,210 Ja me nollaus tämä on yhtä suuri kuin neljä, 304 00:14:20,210 --> 00:14:23,214 joka sattui olemaan viisi edellinen. 305 00:14:23,214 --> 00:14:25,180 Tiedän, se on erittäin vaikea seurata. 306 00:14:25,180 --> 00:14:29,286 En todellakaan suosittele piirtää kuvia jos saat kysymyksen näin. 307 00:14:29,286 --> 00:14:30,242 Kyllä? 308 00:14:30,242 --> 00:14:32,617 >> Yleisö: Onko syy, että meillä ei ole [äänetön]? 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> Hannah: Aivan. 311 00:14:38,570 --> 00:14:44,800 Joten kysymys oli, miksi meidän ei tarvitse tarkistaa täällä? 312 00:14:44,800 --> 00:14:48,160 Miksi emme tarvitse tarkistaa, että osoitin edellinen ei ole yhtä nollaamaan? 313 00:14:48,160 --> 00:14:50,070 Ja se on koska olemme jo erotettu 314 00:14:50,070 --> 00:14:52,490 jos osoittimen aivan alussa. 315 00:14:52,490 --> 00:14:54,060 Erittäin hyvä kysymys. 316 00:14:54,060 --> 00:14:56,880 Mitään muuta tästä? 317 00:14:56,880 --> 00:14:57,380 OK, viileä. 318 00:14:57,380 --> 00:14:58,360 Joten sen loppuun asti. 319 00:14:58,360 --> 00:14:59,890 Olemme melkein perillä. 320 00:14:59,890 --> 00:15:01,310 >> Joten mitä jos se on kärjessä? 321 00:15:01,310 --> 00:15:03,360 Mitä jos sen sijaan yrittää poistaa viisi, 322 00:15:03,360 --> 00:15:06,240 me itse halusi poistaa neljä? 323 00:15:06,240 --> 00:15:07,270 Mitä minun täytyy tehdä? 324 00:15:07,270 --> 00:15:09,610 No, haluan palauttaa päähäni mitä? 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 Shout it out? 327 00:15:15,585 --> 00:15:16,710 YLEISÖ: yksi sen jälkeen. 328 00:15:16,710 --> 00:15:17,460 Hannah: Kaunis. 329 00:15:17,460 --> 00:15:26,430 OK, joten haluamme luettelo on osoittaa mihin tahansa meidän osoitin seuraavalle solmulle on. 330 00:15:26,430 --> 00:15:29,040 Hyvä. 331 00:15:29,040 --> 00:15:30,810 Ja aivan täydellisyys n tähden, olisimme 332 00:15:30,810 --> 00:15:35,590 haluat tarkistaa, että niin kauan kuin lista ei ole nolla, niin kauan kuin lista ei ole 333 00:15:35,590 --> 00:15:42,730 tyhjä, haluamme asettaa Meidän edellinen yhtä null. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 Kysymys tähän mennessä? 336 00:15:50,230 --> 00:15:53,205 Yksi askel pois from--? 337 00:15:53,205 --> 00:15:55,530 >> Yleisö: Olisiko jos Luettelo ei ole yhtä suuri kuin nollaamaan? 338 00:15:55,530 --> 00:15:56,950 >> Hannah: Kyllä, olet täysin oikeassa. 339 00:15:56,950 --> 00:15:58,130 Olen niin pahoillani. 340 00:15:58,130 --> 00:16:00,040 Ei luettelo ei ole yhtä suuri null. 341 00:16:00,040 --> 00:16:01,915 Mahtavaa. 342 00:16:01,915 --> 00:16:04,245 Yritetään saada tämä kaikki ruudulla. 343 00:16:04,245 --> 00:16:06,870 Se on tavallaan putoamisen. 344 00:16:06,870 --> 00:16:07,730 Anteeksi, kaverit. 345 00:16:07,730 --> 00:16:11,874 Ja viimeisenä mutta ei vähäisimpänä, kaikki meidän täytyy tehdä on palata. 346 00:16:11,874 --> 00:16:12,840 OK. 347 00:16:12,840 --> 00:16:15,400 Se oli paljon pullollaan todella nopeasti. 348 00:16:15,400 --> 00:16:16,800 Ota toinen näyttää tämän yli. 349 00:16:16,800 --> 00:16:18,216 Kerro minulle, jos sinulla on kysyttävää. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 Joo? 352 00:16:20,732 --> 00:16:26,940 >> Yleisö: Jos luettelo on pää, then-- odota, Nevermind. 353 00:16:26,940 --> 00:16:27,700 >> Hannah: OK, hyvä. 354 00:16:27,700 --> 00:16:30,987 Joten tämä on, jos lista on kärjessä, poistamme sen mitä me asetettu. 355 00:16:30,987 --> 00:16:31,486 Joo? 356 00:16:31,486 --> 00:16:33,777 >> Yleisö: Voitko selittää Ensimmäinen jos selvitys uudelleen? 357 00:16:33,777 --> 00:16:36,149 Jos osoitin n on yhtä suuri kuin n? 358 00:16:36,149 --> 00:16:36,690 Hannah: Toki. 359 00:16:36,690 --> 00:16:42,780 Joten meidän tavoitteena koko toiminto on poistaa solmu, jolla arvo n. 360 00:16:42,780 --> 00:16:47,460 Joten jos löydämme, kuten olemme iteroiden kautta listalle 361 00:16:47,460 --> 00:16:51,770 solmun arvo n, joka on yksi haluamme poistaa. 362 00:16:51,770 --> 00:16:57,286 Joten kaikki poistaminen tapahtuu sisällä että iso jos ilmoitus. 363 00:16:57,286 --> 00:16:58,593 Onko se järkevää? 364 00:16:58,593 --> 00:16:59,480 Cool. 365 00:16:59,480 --> 00:16:59,990 Joo? 366 00:16:59,990 --> 00:17:02,864 >> Yleisö: Ehkä et vain voi nähdä se, mutta ei sinun on myös linja 367 00:17:02,864 --> 00:17:06,024 selaamiseen lista? 368 00:17:06,024 --> 00:17:06,690 Hannah: Mahtavaa. 369 00:17:06,690 --> 00:17:10,896 Katsotaanpa asian esille vähän, ja me heittää että aivan pohjaan. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 Ehkä hallitus olis ollut hieman parempi idea. 372 00:17:15,490 --> 00:17:17,829 Joten miten voin siirtää osoitinta eteenpäin? 373 00:17:17,829 --> 00:17:20,184 >> Yleisö: Pointer yhtä kuin osoitin plus yksi. 374 00:17:20,184 --> 00:17:21,599 >> Hannah: Kaunis. 375 00:17:21,599 --> 00:17:25,050 Niin, että voimme jatkaa iteroimalla läpi. 376 00:17:25,050 --> 00:17:26,251 OK. 377 00:17:26,251 --> 00:17:27,750 Yleisö: Eikö siellä olla muuta? 378 00:17:27,750 --> 00:17:29,028 Hannah: Vielä kerran? 379 00:17:29,028 --> 00:17:32,444 Yleisö: Eikö siellä olla muu jälkeen iso vanha, jos 380 00:17:32,444 --> 00:17:35,519 lausuman [äänetön]? 381 00:17:35,519 --> 00:17:36,310 Hannah: Mikä osa? 382 00:17:36,310 --> 00:17:38,350 Olen pahoillani. 383 00:17:38,350 --> 00:17:41,800 >> Yleisö: läpikäynti, ei pitäisi siellä olla muuta? 384 00:17:41,800 --> 00:17:43,550 Hannah: Sinun on ehdottomasti voi olla muuta. 385 00:17:43,550 --> 00:17:46,930 Koska minulla on palautusoikeus siellä, et tarvitse muuta. 386 00:17:46,930 --> 00:17:48,760 Mutta joo, hyvä kysymys. 387 00:17:48,760 --> 00:17:50,170 OK, kyllä? 388 00:17:50,170 --> 00:17:52,878 Yleisö: Voimmeko ajatella osoittimen joka on menossa läpi lista 389 00:17:52,878 --> 00:17:56,610 kuten ottaen arvosta Jokaisen solmun luettelossa? 390 00:17:56,610 --> 00:18:00,650 Vai pitäisikö meidän ajatella sitä tavallaan ulkopuolinen luetteloon? 391 00:18:00,650 --> 00:18:02,350 >> Hannah: Jompikumpi on hieno, luulen. 392 00:18:02,350 --> 00:18:05,880 Tapa uskoisin, että se on Sanon, OK, olen osoitin. 393 00:18:05,880 --> 00:18:06,520 Ja tämä on minun. 394 00:18:06,520 --> 00:18:07,150 Tämä on minun kädessäni. 395 00:18:07,150 --> 00:18:09,960 Aion viitata eri asioita, jotka haluan kerrata kautta. 396 00:18:09,960 --> 00:18:12,270 Ensinnäkin, aion kohta johtajalle luettelon. 397 00:18:12,270 --> 00:18:14,144 Ja että kertoo minulle olen menossa kohta neljä. 398 00:18:14,144 --> 00:18:18,060 Ja niin minulle, että ulkoinen listalle Voin viitata kussakin näistä osista. 399 00:18:18,060 --> 00:18:19,520 Joten ajattelen itseäni osoitin. 400 00:18:19,520 --> 00:18:21,645 Yleisö: Eli kun poistat yksi niistä, 401 00:18:21,645 --> 00:18:23,404 poistat itsesi, niin sanotusti. 402 00:18:23,404 --> 00:18:24,070 Hannah: Aivan. 403 00:18:24,070 --> 00:18:25,920 Joten poistat asia olet osoittaa. 404 00:18:25,920 --> 00:18:28,340 Joten esimerkiksi, että näimme missä olemme 405 00:18:28,340 --> 00:18:31,670 yrittää poistaa viisi, kun minä osoitan viiteen, 406 00:18:31,670 --> 00:18:34,200 Haluan poistaa asia Olen osoittaa. 407 00:18:34,200 --> 00:18:35,870 Täsmälleen oikea. 408 00:18:35,870 --> 00:18:36,577 Kyllä? 409 00:18:36,577 --> 00:18:39,410 Yleisö: Olemmeko hoidettu Tapauksessa, jossa n ei ole luettelossa? 410 00:18:39,410 --> 00:18:40,460 Hannah: Jos n ei ole luettelossa? 411 00:18:40,460 --> 00:18:43,501 Kaikki tämä tulee tapahtumaan on olet menossa kerrata läpi ja toistaa 412 00:18:43,501 --> 00:18:47,616 kautta, ja sitten, olet menossa päästä osoitin on null, 413 00:18:47,616 --> 00:18:48,990 ja sitten aiot tehdä. 414 00:18:48,990 --> 00:18:50,812 >> Yleisö: Joten onko meillä palata mitään? 415 00:18:50,812 --> 00:18:51,520 Hannah: Voisimme. 416 00:18:51,520 --> 00:18:54,500 Tavalla, että jos se on määritetty tässä toiminto, minä vain sanoa, että se palaa 417 00:18:54,500 --> 00:18:55,770 mitätön riippumatta. 418 00:18:55,770 --> 00:18:58,360 Mutta sinulla voisi olla jotain kuten palaamassa kokonaisluku, 419 00:18:58,360 --> 00:19:00,920 ja on se palauttaa negatiivinen 1, jos se epäonnistuu. 420 00:19:00,920 --> 00:19:03,070 Jotain sellaista. 421 00:19:03,070 --> 00:19:04,494 Kysymyksiä with-- kyllä? 422 00:19:04,494 --> 00:19:05,410 Yleisö: [äänetön]? 423 00:19:05,410 --> 00:19:05,993 Hannah: Anteeksi? 424 00:19:05,993 --> 00:19:07,419 Yleisö: [äänetön]? 425 00:19:07,419 --> 00:19:07,960 Hannah: Toki. 426 00:19:07,960 --> 00:19:11,730 Niin, että actual-- kun olemme tehnyt kaiken tämän työn liikkuvien 427 00:19:11,730 --> 00:19:16,530 kaikki nämä nuolet ympäri, koko Tavoitteena oli päästä eroon solmun 428 00:19:16,530 --> 00:19:18,230 että etsimme. 429 00:19:18,230 --> 00:19:21,610 Joten tässä tapauksessa, vapauttaa osoitin, jos minä osoitan viiteen, 430 00:19:21,610 --> 00:19:24,670 se on kuin pyyhkien tämän keskellä solmu. 431 00:19:24,670 --> 00:19:27,250 Se ilmainen osoitin osa. 432 00:19:27,250 --> 00:19:29,090 Järkeä? 433 00:19:29,090 --> 00:19:31,390 >> Yleisö: Niin edes ajatellut et ole [äänetön]? 434 00:19:31,390 --> 00:19:36,060 >> Hannah: Joten me oletettu alussa meillä oli lista, joka oli already-- 435 00:19:36,060 --> 00:19:37,220 he olivat panneet tämän yhdessä. 436 00:19:37,220 --> 00:19:39,761 Joten jotta rakentaa tätä lista, he varmaan [kuultavissa]. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 Cool. 439 00:19:42,750 --> 00:19:44,490 Kaikki muu tämän? 440 00:19:44,490 --> 00:19:46,386 Kyllä? 441 00:19:46,386 --> 00:19:49,204 >> Yleisö: Mitä jos lista ei yhtä nolla linja? 442 00:19:49,204 --> 00:19:49,704 [Äänetön]? 443 00:19:49,704 --> 00:19:52,289 444 00:19:52,289 --> 00:19:53,080 Hannah: Täällä? 445 00:19:53,080 --> 00:19:53,840 Yleisö: Joo. 446 00:19:53,840 --> 00:19:57,370 Hannah: OK, kaikki olen tekemässä on olen vain varmista 447 00:19:57,370 --> 00:20:03,250 että ennen kuin yritän dereference listalle ennen kuin yrität käyttää edellisen, 448 00:20:03,250 --> 00:20:07,210 Haluan varmistaa, että se ei ole null joten en saa seg vika. 449 00:20:07,210 --> 00:20:08,400 Cool. 450 00:20:08,400 --> 00:20:10,820 >> OK, tiedän tämä oli varsin paljon saada läpi. 451 00:20:10,820 --> 00:20:14,950 Joten tämä dia tulee saatavilla sinulle. 452 00:20:14,950 --> 00:20:17,341 Joten voit mennä sen läpi tarkemmin. 453 00:20:17,341 --> 00:20:17,841 Kyllä? 454 00:20:17,841 --> 00:20:19,749 >> Yleisö: Miksi lista [äänetön]? 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 Hannah: Toki. 457 00:20:24,670 --> 00:20:27,390 Joten lista todella viittaa Tämän elementin täällä, 458 00:20:27,390 --> 00:20:29,200 ensimmäinen elementti listassa. 459 00:20:29,200 --> 00:20:30,748 Joten se ei voi olla edellinen. 460 00:20:30,748 --> 00:20:31,736 Kyllä? 461 00:20:31,736 --> 00:20:35,194 >> Yleisö: Onko osoitin kohtaan samaan osoitteeseen muistissa? 462 00:20:35,194 --> 00:20:38,404 Onko viittaavat samaan osoite muistiin solmu 463 00:20:38,404 --> 00:20:40,640 että se osoittaa? 464 00:20:40,640 --> 00:20:43,865 >> Hannah: Kyllä, se osoittaa Tämän solmun muistiin. 465 00:20:43,865 --> 00:20:47,190 >> Yleisö: Oikea, joten kun [äänetön]? 466 00:20:47,190 --> 00:20:50,580 >> Hannah: Tavallaan kyllä. 467 00:20:50,580 --> 00:20:51,280 OK. 468 00:20:51,280 --> 00:20:52,997 Okei, mennään yhdessä tämän. 469 00:20:52,997 --> 00:20:55,330 Ja jos sinulla on lisää kysymyksiä, jäämään lopussa, 470 00:20:55,330 --> 00:20:57,130 ja voimme käydä läpi uudelleen. 471 00:20:57,130 --> 00:20:58,120 OK, viileä. 472 00:20:58,120 --> 00:21:00,490 Nyt pääsemme eteenpäin hash taulukoita, yrittää, 473 00:21:00,490 --> 00:21:04,940 ja puita, jotka sait Super perehtynyt p-asettaa viisi, speller. 474 00:21:04,940 --> 00:21:11,020 >> Joten tiiviste on vain array yksittäin liittyvät luettelot 475 00:21:11,020 --> 00:21:14,050 tai kaksinkertaisesti sidottu luetteloiden tulossa pois siitä. 476 00:21:14,050 --> 00:21:16,380 Joten meillä on jonkinlainen assosiatiivisia array. 477 00:21:16,380 --> 00:21:21,280 Ja miten me tiedämme, mikä näistä taulukot kauhat päästä, 478 00:21:21,280 --> 00:21:24,137 käytämme hajautusfunktio. 479 00:21:24,137 --> 00:21:26,470 Joten tässä tapauksessa, voi kuka tahansa arvaa hajautusfunktio 480 00:21:26,470 --> 00:21:28,636 olisi vain perustuu joidenkin tulo- ja lähtö? 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> Yleisö: Kirje numero aakkoset. 483 00:21:33,194 --> 00:21:33,860 Hannah: Aivan. 484 00:21:33,860 --> 00:21:36,160 Se vain laittaa ne aakkosjärjestykseen. 485 00:21:36,160 --> 00:21:39,280 Kaikki, joka alkaa On otettu ensimmäinen ämpäri. 486 00:21:39,280 --> 00:21:43,340 Kaikkea kanssa B otetaan Toinen ämpäri, niin edelleen, ja niin edelleen. 487 00:21:43,340 --> 00:21:45,620 Mahtavaa, OK. 488 00:21:45,620 --> 00:21:48,980 Ja hash funktio on mitään toiminto, joka vie sana 489 00:21:48,980 --> 00:21:51,910 ja kertoo, mitä ämpäri se kuuluu. 490 00:21:51,910 --> 00:21:55,150 Joten mikä merkintä meidän array se kuuluu. 491 00:21:55,150 --> 00:21:58,080 >> Joten joka kerta Annan tiivistefunktiota sana, 492 00:21:58,080 --> 00:22:00,660 se pitäisi kertoa minulle saman sijoita joka ikinen kerta. 493 00:22:00,660 --> 00:22:03,270 Joten jos käytämme hajautusfunktio edellisestä dia 494 00:22:03,270 --> 00:22:05,950 missä olemme lajittelu ensimmäinen kirjain aakkoset, 495 00:22:05,950 --> 00:22:08,230 joka kerta Annan tiivistefunktiota "omena" 496 00:22:08,230 --> 00:22:10,180 se tulee aina antaa minulle takaisin 0. 497 00:22:10,180 --> 00:22:12,890 Joten jos minulla on omena laittaa minun tiiviste, 498 00:22:12,890 --> 00:22:17,700 jos annan "omena" minun hash funktio, sen pitäisi sanoa, mene laita se ämpäriin 0. 499 00:22:17,700 --> 00:22:19,980 Jos Etsin omena minun tiiviste 500 00:22:19,980 --> 00:22:24,340 ja sanon, jossa voimin omena live, pyydät hajautusfunktio. 501 00:22:24,340 --> 00:22:26,900 Ja se sanoo, mene koriin 0. 502 00:22:26,900 --> 00:22:29,150 Kaikki kunnossa? 503 00:22:29,150 --> 00:22:32,660 Kysymykset hash toimintoja? 504 00:22:32,660 --> 00:22:34,570 Mahtavaa. 505 00:22:34,570 --> 00:22:37,320 >> Tässä on hieman yksityiskohtainen selvitys 506 00:22:37,320 --> 00:22:39,570 mitä hajautusfunktiota voisi näyttää. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 Selvä. 509 00:22:42,960 --> 00:22:45,960 Nyt ongelma hash toiminnot on ihanteellinen maailmaan, 510 00:22:45,960 --> 00:22:48,870 meillä olisi vain yksi asia kussakin ämpäri. 511 00:22:48,870 --> 00:22:50,900 Mutta todellisuudessa, siellä ei vain yksi sana 512 00:22:50,900 --> 00:22:54,280 joka alkaa A. Ei ole vain yksi sana, joka alkaa B. Niin 513 00:22:54,280 --> 00:22:56,960 Tässä tapauksessa, jos me yhtäkkiä saada "marja" 514 00:22:56,960 --> 00:22:58,710 ja haluamme laittaa sen meidän tiiviste, 515 00:22:58,710 --> 00:23:03,640 ja näemme, oi, ei, banaani on jo olemassa, mitä me teemme? 516 00:23:03,640 --> 00:23:05,900 >> No, meillä on kaksi vaihtoehtoa. 517 00:23:05,900 --> 00:23:07,990 Ensimmäinen vaihtoehto on lineaarinen luotaa, joka 518 00:23:07,990 --> 00:23:11,100 tarkoittaa vain mennä etsimään seuraava tyhjä ämpäri. 519 00:23:11,100 --> 00:23:14,100 Mene etsimään seuraavaan tyhjä array merkintä. 520 00:23:14,100 --> 00:23:15,750 Ja vain laittaa "marja" siellä. 521 00:23:15,750 --> 00:23:18,880 Tiedän siis sen pitäisi mennä banaani ämpäri yksi. 522 00:23:18,880 --> 00:23:22,155 Mutta laita se ämpäriin kolme, koska kauha kolme on tyhjä. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 Toinen vaihtoehto on luultavasti mitä toteuttaa 525 00:23:26,680 --> 00:23:29,220 teidän p-sarja, jossa oli erillinen ketjutus. 526 00:23:29,220 --> 00:23:33,990 Joten jokainen oman kauhat, kukin oman matriisielementtiä, 527 00:23:33,990 --> 00:23:38,410 ei vain omistaa yksi sanoista, mutta todellisuudessa omistaa osoitin luettelon sanoista. 528 00:23:38,410 --> 00:23:41,880 Niin että jos sinulla on ollut banaani teidän tiiviste 529 00:23:41,880 --> 00:23:44,740 ja yhtäkkiä halusi lisätä marja, ei ole ongelma. 530 00:23:44,740 --> 00:23:51,110 Lisää vain marja loppuun, tai Alussa oman linkitetyn listan. 531 00:23:51,110 --> 00:23:54,040 OK, mahtava. 532 00:23:54,040 --> 00:23:58,490 Kysymykset hash taulukot ennen kuin lähdemme? 533 00:23:58,490 --> 00:23:59,850 >> Selvä. 534 00:23:59,850 --> 00:24:01,070 Puut ja yrittää. 535 00:24:01,070 --> 00:24:07,980 OK, joten tämä oli toinen vaihtoehto toteuttamiseksi sanakirja. 536 00:24:07,980 --> 00:24:09,100 Olisit voinut tehdä yrittää. 537 00:24:09,100 --> 00:24:13,420 Joten se erikoinen puu, joka käyttäytyy kuin monitasoinen tiiviste. 538 00:24:13,420 --> 00:24:16,862 Joten näet kuvan jossa on joukko, joka 539 00:24:16,862 --> 00:24:19,320 viittaa joukko paneelit että kohta kasan paneelit 540 00:24:19,320 --> 00:24:20,390 että kohta nippu paneelit. 541 00:24:20,390 --> 00:24:23,140 Ja näemme, mitä se näyttäisivät tulevaisuudessa liukumäki. 542 00:24:23,140 --> 00:24:26,070 Ja yleisemmin, puu on mikä tahansa tietorakennetta 543 00:24:26,070 --> 00:24:29,710 jossa tiedot on järjestetään joissakin hierarkiassa. 544 00:24:29,710 --> 00:24:32,610 Joten missä näimme meillä jonkinlainen käsitys 545 00:24:32,610 --> 00:24:36,130 huipputason, seuraavalle tasolle, seuraavalle tasolle, seuraavalle tasolle. 546 00:24:36,130 --> 00:24:39,690 Joten tämä on luultavasti kaikkein selvä joitakin konkreettisia esimerkkejä. 547 00:24:39,690 --> 00:24:40,880 Joten tässä meidän puu. 548 00:24:40,880 --> 00:24:42,970 Voit nähdä, että se on erityisesti tasot 549 00:24:42,970 --> 00:24:45,480 että aloitamme että juurisolmu yksi. 550 00:24:45,480 --> 00:24:47,640 Ja voimme mennä alas meidän puu. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> Binääripuu on tietyntyyppisen puu. 553 00:24:53,910 --> 00:24:56,770 Ja ainoa eritelmä varten binääripuu 554 00:24:56,770 --> 00:25:01,130 on se, että jokaisella solmulla on korkeintaan kaksi lehteä. 555 00:25:01,130 --> 00:25:03,960 Joten et aio nähdä mitään näistä solmuista on kolme tai neljä 556 00:25:03,960 --> 00:25:06,880 tai jokin muu määrä lehtiä. 557 00:25:06,880 --> 00:25:11,310 Ja sitten vielä tarkempi on binäärihakupuu 558 00:25:11,310 --> 00:25:18,010 jossa jokainen solmu vasemmalla solmu joutuu arvoa pienempi. 559 00:25:18,010 --> 00:25:21,180 Ja jokainen arvo oikeus tulee olemaan isompi. 560 00:25:21,180 --> 00:25:26,900 Joten jos näet 44 on meidän root, vasemmalle, 11, 22, ja 33 561 00:25:26,900 --> 00:25:28,940 ovat kaikki alle meidän root. 562 00:25:28,940 --> 00:25:33,890 Ja oikealla ovat kaikki numerot bigger-- 66, 55, ja 77. 563 00:25:33,890 --> 00:25:37,380 Ja tämä ominaisuus pätee kaikilla tasoilla puu. 564 00:25:37,380 --> 00:25:42,690 >> Joten kun menemme alas 22, 11, ja 33, on edelleen 11 565 00:25:42,690 --> 00:25:46,950 on pienempi kuin 22 ja 33 on suurempi kuin 22. 566 00:25:46,950 --> 00:25:50,160 Ja se helpottaa etsiä sillä jos etsit numero, 567 00:25:50,160 --> 00:25:53,877 tiedämme tarkalleen, mitkä haara seurata alas. 568 00:25:53,877 --> 00:25:56,210 Joten tämä pitäisi muistuttaa sinua hieman binäärihaku. 569 00:25:56,210 --> 00:25:56,967 Joo? 570 00:25:56,967 --> 00:25:58,835 >> Yleisö: Eli kun olet kuvataan binary, 571 00:25:58,835 --> 00:26:00,587 sanoit se on korkeintaan kaksi lehteä? 572 00:26:00,587 --> 00:26:01,170 HANNAH: Mm-hm. 573 00:26:01,170 --> 00:26:02,580 Yleisö: Voisiko se olla vähemmän? 574 00:26:02,580 --> 00:26:03,121 Hannah: Joo. 575 00:26:03,121 --> 00:26:06,720 Joten sanokaamme esimerkiksi sinulle ei ollut edes monia asioita 576 00:26:06,720 --> 00:26:11,791 ja et voisi täyttää kaikki lehtiä, se on hienoa, jos yksi on yksi. 577 00:26:11,791 --> 00:26:12,290 OK? 578 00:26:12,290 --> 00:26:12,789 Mahtavaa. 579 00:26:12,789 --> 00:26:15,930 Kaikki muut kysymykset puissa? 580 00:26:15,930 --> 00:26:16,670 OK. 581 00:26:16,670 --> 00:26:20,110 >> Takaisin meidän yrittää niin puhuin noin vähän aikaisemmin, 582 00:26:20,110 --> 00:26:23,900 miten meillä on nämä monitasoinen paneelit. 583 00:26:23,900 --> 00:26:26,280 Joten tässä tapauksessa, alamme huipulla. 584 00:26:26,280 --> 00:26:29,030 Ja voimme seurata mitään tiettyä sanaa alas. 585 00:26:29,030 --> 00:26:30,780 Joten sanokaamme halusimme etsiä Turing. 586 00:26:30,780 --> 00:26:34,380 Aloitamme klo T, seurata sitä alas array, joka sisältää U, 587 00:26:34,380 --> 00:26:37,350 ja seuraa sitä kunnes me päästä tämä pieni delta, joka 588 00:26:37,350 --> 00:26:39,060 kertoo meille, kyllä, olet löytänyt sanan. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 Clear yrittää? 591 00:26:44,120 --> 00:26:48,138 Mitään mennä sinne? 592 00:26:48,138 --> 00:26:48,908 Kyllä? 593 00:26:48,908 --> 00:26:51,866 Yleisö: Onko symboli delta täytyy miehittää tilaan kokeilla? 594 00:26:51,866 --> 00:26:54,532 Hannah: Joo, niin se ei välttämättä tarvitse olla edes delta. 595 00:26:54,532 --> 00:26:57,760 Mutta me tarvitsemme jonkin verran kertoa computer-- pahoillani, 596 00:26:57,760 --> 00:27:01,130 niin että me tiedämme, että TUR ei ole sana. 597 00:27:01,130 --> 00:27:04,180 Koska sanokaamme meillä ei ollut tämä käsite delta, tämä käsite 598 00:27:04,180 --> 00:27:09,850 onnittelut, olet löytänyt sanan, se menisi läpi ja kerrata T-U-R, 599 00:27:09,850 --> 00:27:11,300 ja sitten sanoa, mahtava, löysin sen! 600 00:27:11,300 --> 00:27:12,670 Sen on oltava sana. 601 00:27:12,670 --> 00:27:13,720 Mutta se ei todellakaan ole. 602 00:27:13,720 --> 00:27:15,310 Haluamme koko Turing olla sana. 603 00:27:15,310 --> 00:27:17,760 Joten meidän täytyy olla jotain pää, joka sanoo, onnittelut, 604 00:27:17,760 --> 00:27:19,051 olet löytänyt oikeutettu sana. 605 00:27:19,051 --> 00:27:21,680 Yleisö: Joten jos sinulla on ollut, kuten 26 kirjaimia, 606 00:27:21,680 --> 00:27:24,560 voisitteko oikeasti on 27 avaimet sinun kokeilla? 607 00:27:24,560 --> 00:27:26,010 >> Hannah: Mahtavaa, joo. 608 00:27:26,010 --> 00:27:28,210 Joten itse olen sitä mieltä, että tulee olemaan seuraavan dian. 609 00:27:28,210 --> 00:27:29,440 Ta-da! 610 00:27:29,440 --> 00:27:32,880 Jos, jos sinulla on solmu teidän yrittää, olet 611 00:27:32,880 --> 00:27:35,800 menossa on 27 lasta sijasta 26. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 Kysyttävää kanssa? 614 00:27:40,050 --> 00:27:40,550 Joo? 615 00:27:40,550 --> 00:27:44,569 Yleisö: Miksi yrittää ottaa niin paljon tilaa [kuultavissa] kuten mennä? 616 00:27:44,569 --> 00:27:47,629 Miksi se pitää [äänetön]? 617 00:27:47,629 --> 00:27:48,170 Hannah: Toki. 618 00:27:48,170 --> 00:27:48,790 Mennään takaisin. 619 00:27:48,790 --> 00:27:52,350 Kysymys on, miksi ovat yrittää niin paljon suurempi 620 00:27:52,350 --> 00:27:54,620 kuin jotain tiiviste. 621 00:27:54,620 --> 00:27:57,790 Joten kaikilla näillä tasoilla, vaikka he eivät tähän piirretty, 622 00:27:57,790 --> 00:28:01,250 sinulla on kaikki 26 merkkiä. 623 00:28:01,250 --> 00:28:04,420 Ja syy, että et voi sanoa, oh, mutta kuten on Turing, I 624 00:28:04,420 --> 00:28:07,570 ei tarvitse olla mitään näistä samat asiat tasolla U. No, 625 00:28:07,570 --> 00:28:11,390 jos yhtäkkiä halusi lisätä jotain, joka oli kuin T-H, 626 00:28:11,390 --> 00:28:14,800 sinun täytyy olla valmiudet lisäten, että sana. 627 00:28:14,800 --> 00:28:17,330 Joten jokainen kirjain, olet menossa on 628 00:28:17,330 --> 00:28:19,730 on nippu paneelit tulossa pois siitä. 629 00:28:19,730 --> 00:28:24,060 Voit siis nähdä, miten se saisin todella iso, todella nopeasti. 630 00:28:24,060 --> 00:28:26,560 Muita kysymyksiä? 631 00:28:26,560 --> 00:28:28,980 Selvä. 632 00:28:28,980 --> 00:28:29,832 Joo? 633 00:28:29,832 --> 00:28:33,210 >> Yleisö: Milloin yrittää nopeammin kuin hash taulukoita? 634 00:28:33,210 --> 00:28:36,280 >> Hannah: Milloin yrittää nopeammin kuin hash taulukoita? 635 00:28:36,280 --> 00:28:39,120 Joten jos sinulla on ollut todella huono tiivistefunktio. 636 00:28:39,120 --> 00:28:41,840 Joten sanokaamme olin kuin, tässä on hajautusfunktio. 637 00:28:41,840 --> 00:28:43,660 Ei ole väliä mitä sana annat minulle, olen aina 638 00:28:43,660 --> 00:28:47,740 aikoo laittaa sen array merkintä 0. 639 00:28:47,740 --> 00:28:52,000 Ja niin päädymme vain laskemisesta Kaikki yhdellä iso pitkä linkitetty lista. 640 00:28:52,000 --> 00:28:58,740 Ja niin hakuaika veisi pahimmillaan n jos se on aivan lopussa meidän luettelosta. 641 00:28:58,740 --> 00:29:03,150 Kanssa kokeilla, meidän on vain kerrata läpi kirjaimet sana. 642 00:29:03,150 --> 00:29:07,080 Joten vaikka lisäsimme nippu lisää sanoja meidän kokeilla, 643 00:29:07,080 --> 00:29:09,620 se ei vie meitä enää löytää yksittäistä sanaa. 644 00:29:09,620 --> 00:29:11,750 >> Kaikki meidän täytyy tehdä on, sillä Esimerkiksi tässä tapauksessa, 645 00:29:11,750 --> 00:29:17,170 sanotaanko etsimme zoom, olisimme vain kerrata yli 646 00:29:17,170 --> 00:29:19,840 Z-O-O-M, neljä kirjainta. 647 00:29:19,840 --> 00:29:22,250 Niin, että vain pituus sana zoom. 648 00:29:22,250 --> 00:29:25,400 Sillä ei ole väliä kuinka monta lisää sanoja laitamme tässä yrittää. 649 00:29:25,400 --> 00:29:30,225 Voimme aina se näissä neljässä vaiheessa. 650 00:29:30,225 --> 00:29:31,215 Mahtavaa. 651 00:29:31,215 --> 00:29:32,205 Kyllä? 652 00:29:32,205 --> 00:29:34,185 >> Yleisö: Niin [äänetön] on array, eikö? 653 00:29:34,185 --> 00:29:35,322 >> HANNAH: Mm-hm. 654 00:29:35,322 --> 00:29:37,155 Yleisö: Jos olet etsivät [äänetön] 655 00:29:37,155 --> 00:29:40,929 olisi sinun täytyy mennä läpi matriisisi löytää [äänetön]? 656 00:29:40,929 --> 00:29:41,470 Hannah: Toki. 657 00:29:41,470 --> 00:29:44,000 Yleisö: Eikö se vie enemmän aikaa? 658 00:29:44,000 --> 00:29:46,370 Hannah: Jos aion sanoa, että joukko on aina 659 00:29:46,370 --> 00:29:49,250 olemaan, B, C, D, E, F, G, blah blah blah, 660 00:29:49,250 --> 00:29:51,630 joten jos en aina tiedä sen samassa täsmälleen samassa järjestyksessä, 661 00:29:51,630 --> 00:29:53,880 jos en aina tiedä sen aakkosjärjestyksessä, 662 00:29:53,880 --> 00:29:57,860 Voin vain sanoa, O on numero niin ja niin aakkoset. 663 00:29:57,860 --> 00:29:59,620 Hyppää vain kyseiseen paikkaan. 664 00:29:59,620 --> 00:30:01,860 Koska muistan, jossa paneelit, voimme käyttää 665 00:30:01,860 --> 00:30:06,590 tahansa osa, joka array jatkuvassa aikaa, jos tiedämme, mistä me etsimme. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 Joo? 668 00:30:09,580 --> 00:30:12,005 >> Yleisö: Edellisenä liu'uta [äänetön] 27, 669 00:30:12,005 --> 00:30:14,430 mutta 26 ensimmäistä. 670 00:30:14,430 --> 00:30:15,400 >> Hannah: Anteeksi? 671 00:30:15,400 --> 00:30:18,800 >> Yleisö: Ei ole ensimmäinen yksi 0, joten eikö olisi 26? 672 00:30:18,800 --> 00:30:24,900 >> Hannah: Toki, niin kun sanomme 27, joka on aio antaa meille indeksit 0 kautta 26. 673 00:30:24,900 --> 00:30:28,220 Mutta jos todella luottaa ne pois, se tulee olemaan 27. 674 00:30:28,220 --> 00:30:30,007 Hyvä kysymys. 675 00:30:30,007 --> 00:30:30,590 Entä muuta? 676 00:30:30,590 --> 00:30:31,200 Joo? 677 00:30:31,200 --> 00:30:34,420 >> Yleisö: Niin yrittää hitaampi kuin hash taulukoita? 678 00:30:34,420 --> 00:30:37,920 >> Hannah: Yrittää tulevat olemaan, vuonna Teoriassa nopeampi kuin hash taulukoita 679 00:30:37,920 --> 00:30:39,760 mutta vievät enemmän muistia. 680 00:30:39,760 --> 00:30:40,534 Joo? 681 00:30:40,534 --> 00:30:41,450 Yleisö: [äänetön]? 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> Hannah: Olen pahoillani, en kuule sinua. 684 00:30:47,484 --> 00:30:48,400 Yleisö: [äänetön]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 0-25 antaa sinulle 26. 687 00:30:54,100 --> 00:30:56,958 >> Hannah: 0-25 olisi antaa sinulle 26, oikea. 688 00:30:56,958 --> 00:30:58,457 >> Yleisö: Ja sitten [kuultavissa]. 689 00:30:58,457 --> 00:30:59,040 Hannah: Oikea. 690 00:30:59,040 --> 00:31:04,760 Joten numero olemme täsmennetään on monia asioita meidän array. 691 00:31:04,760 --> 00:31:07,260 Joten jos meillä on 27, se on aio antaa meille 0 692 00:31:07,260 --> 00:31:10,620 kautta 26, joka antaa meille tilaa, tässä tapauksessa, 693 00:31:10,620 --> 00:31:12,770 En lukien heittomerkki. 694 00:31:12,770 --> 00:31:17,040 Joten olemme pääsemässä 0 kautta 25 ovat 26 ensimmäisen aakkosten, 695 00:31:17,040 --> 00:31:18,990 tai kaikki 26 aakkosten. 696 00:31:18,990 --> 00:31:21,190 Ja sitten, että viime asia, maahantulon 26, on 697 00:31:21,190 --> 00:31:24,598 olemaan tarkistaa merkki, tai delta. 698 00:31:24,598 --> 00:31:26,960 Entä muuta? 699 00:31:26,960 --> 00:31:29,130 Mahtavaa. 700 00:31:29,130 --> 00:31:30,020 Kadonnut my space. 701 00:31:30,020 --> 00:31:31,020 OK, viileä. 702 00:31:31,020 --> 00:31:33,240 >> Joten me jo tätä asiaa. 703 00:31:33,240 --> 00:31:37,430 Mutta iso kauppa pois välillä yrittää ja hash taulukoita 704 00:31:37,430 --> 00:31:39,720 on se, että yrittää tarjota, vuonna Teoriassa vakio etsiä 705 00:31:39,720 --> 00:31:42,890 kertaa, mutta käyttää paljon muistia. 706 00:31:42,890 --> 00:31:46,495 Okei, nyt meillä on hieman vähemmän monimutkaisia ​​rakenteita, 707 00:31:46,495 --> 00:31:49,640 ja me voidaan tehdä C, ja me siirtyä oikealle pitkin. 708 00:31:49,640 --> 00:31:51,930 >> Joten pinot, näimme tämän luento, jossa 709 00:31:51,930 --> 00:31:55,020 on jotain pino tarjottimia, joissa 710 00:31:55,020 --> 00:31:57,330 viimeinen asia laittaa pinoon on menossa 711 00:31:57,330 --> 00:31:59,500 olla ensimmäinen asia, otat pois. 712 00:31:59,500 --> 00:32:02,880 Niin, että mitä oikeastaan ​​määrittelee pino on, että viimeinen asia mitä laittaa 713 00:32:02,880 --> 00:32:06,080 tulee olemaan ensimmäinen asia otat pois. 714 00:32:06,080 --> 00:32:09,279 Ja terminologiaa, jota käytämme jos aiomme laittaa jotain, 715 00:32:09,279 --> 00:32:12,070 jos aiomme lisätä jotain meidän pino, kutsumme että työntämällä. 716 00:32:12,070 --> 00:32:14,970 Ja jos otamme jotain pois, me kutsumme sitä popping. 717 00:32:14,970 --> 00:32:17,080 Ja jos aiomme toteuttaa pinon, me 718 00:32:17,080 --> 00:32:20,660 täytyy olla varma seurata Sekä koon ja kapasiteetin. 719 00:32:20,660 --> 00:32:24,940 Joten kokonaismäärä elementtejä voimme Pidä ja nykyinen määrä elementtejä 720 00:32:24,940 --> 00:32:27,880 että käymme. 721 00:32:27,880 --> 00:32:29,885 >> Ja hyvin samalla, meillä on jonoja. 722 00:32:29,885 --> 00:32:34,510 Ja ainoa ero on sen sijaan pinoja, 723 00:32:34,510 --> 00:32:37,630 sanoimme viimeinen asia laitamme on ensimmäinen asia, otamme pois. 724 00:32:37,630 --> 00:32:40,940 Joten jonot, Ensimmäinen asia, laitamme 725 00:32:40,940 --> 00:32:43,129 tulee olemaan Ensimmäinen asia, otamme pois. 726 00:32:43,129 --> 00:32:45,420 Joten tämä on kuin jos olet todella riviin myymälä 727 00:32:45,420 --> 00:32:48,140 ja olet autetaan, sitten ensimmäinen henkilö linjassa 728 00:32:48,140 --> 00:32:50,880 pitäisi olla ensimmäinen henkilö auttaa. 729 00:32:50,880 --> 00:32:52,220 Niin että olisi jonossa. 730 00:32:52,220 --> 00:32:55,880 >> Joten meidän täytyy seurata koko, kapasiteetti, ja pää koska olemme 731 00:32:55,880 --> 00:33:01,130 vie kaikki pois edestä luettelon sijasta takaisin. 732 00:33:01,130 --> 00:33:03,480 Kysymyksiä tähän? 733 00:33:03,480 --> 00:33:06,330 Kaikki C kysymyksiä, joita vaivaa sinua? 734 00:33:06,330 --> 00:33:09,590 Tietorakenteet, mitään, että hauskaa? 735 00:33:09,590 --> 00:33:10,530 Okei, viileä. 736 00:33:10,530 --> 00:33:14,120 Joten minä se luovuttaa Alison kohteeseen hypätä hieman ohjelmointia. 737 00:33:14,120 --> 00:33:15,965 >> ALISON: Voi, näemme. 738 00:33:15,965 --> 00:33:17,370 Saa nähdä, miten hyvin teen täällä. 739 00:33:17,370 --> 00:33:21,410 OK, aion yrittää lentää kautta tätä kamaa, kaverit. 740 00:33:21,410 --> 00:33:24,540 Hannah meni hyvin vuonna syvyys kaikista hänelle asioita. 741 00:33:24,540 --> 00:33:26,900 Aion yrittää antaa olet nopea räjähdys yleiskatsaus 742 00:33:26,900 --> 00:33:31,290 jotta voimme saada Davin kaikki hauskaa JavaScript ja turvallisuus asioita 743 00:33:31,290 --> 00:33:33,380 että ehkä itse haluavat kuulla lisää. 744 00:33:33,380 --> 00:33:36,600 >> OK, kuten Hannah sanoi, jos sinulla on kysyttävää, 745 00:33:36,600 --> 00:33:39,170 Aion liian nopeasti, ota, haluaisin tietää. 746 00:33:39,170 --> 00:33:42,114 Vastaan ​​kysymyksiin tarvittaessa. 747 00:33:42,114 --> 00:33:45,280 Joten aloittaa, aiomme aloittaa todennäköisesti yksi ensimmäisistä asioista 748 00:33:45,280 --> 00:33:48,730 olet oppinut web ohjelmointi, käyttöoikeudet. 749 00:33:48,730 --> 00:33:52,720 Joten chmod, te olisi pitänyt mestareita tämä kaikki web 750 00:33:52,720 --> 00:33:54,870 ohjelmoinnin, että olet tehneet viime aikoina. 751 00:33:54,870 --> 00:33:57,320 Se on pohjimmiltaan vain komento joka muuttaa käyttöoikeudet 752 00:33:57,320 --> 00:34:00,779 tai käyttöoikeudet meidän tiedostojärjestelmä esineitä. 753 00:34:00,779 --> 00:34:02,570 Tietenkin, todella katso nämä, jos olet 754 00:34:02,570 --> 00:34:04,910 ottaa mitään ongelmia näillä aikana ongelma sarjaa, 755 00:34:04,910 --> 00:34:11,460 olet saattanut käyttää ls -l, joka on pitkä, saada näkymä sellainen kuin tämä, 756 00:34:11,460 --> 00:34:14,209 jossa voit itse nähdä kaikki tiedoston käyttöoikeuksia. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> Ja oikeastaan, me vain menossa läpi melko nopeasti vain melko 759 00:34:20,732 --> 00:34:21,940 paljon, mitä kukin näistä tarkoittaa. 760 00:34:21,940 --> 00:34:24,481 Joten olemme vrk täällä, joka vain sanoista hakemistoon. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 Ilmeisesti täällä, näemme rwx, joka on luettava, kirjoitettava ja suoritettavan. 763 00:34:31,739 --> 00:34:37,090 Nämä voivat myös olla edustettuna bittiä, joka me päästä seuraavalla sivulla. 764 00:34:37,090 --> 00:34:40,699 Joten jokainen kolmikko että näimme täällä, joten se on kolme kolmisoinnuista. 765 00:34:40,699 --> 00:34:48,120 Olemme rwx, r mitään X ja r mitään x tätä ensimmäistä tiedostoa. 766 00:34:48,120 --> 00:34:49,690 Se tämän yleisen rakenteen. 767 00:34:49,690 --> 00:34:50,940 >> Joten meillä on joitakin hakemistoon. 768 00:34:50,940 --> 00:34:53,999 Meillä on joitakin käyttäjäryhmä näitä oikeuksia. 769 00:34:53,999 --> 00:34:57,040 Jotkut ryhmä, jolla on nämä oikeudet, ja maailmassa, joka on lupa. 770 00:34:57,040 --> 00:34:59,420 Voit ajatella näiden kuin kolmikko. 771 00:34:59,420 --> 00:35:01,130 Voit ajatella näitä kolme bittiä. 772 00:35:01,130 --> 00:35:04,060 Joten he voivat pitää arvot minnekään 0 ylös 773 00:35:04,060 --> 00:35:07,350 7, minkä vuoksi joskus meillä oli et chmod 774 00:35:07,350 --> 00:35:17,510 600 sijasta chmod rw riippumatta. 775 00:35:17,510 --> 00:35:19,170 Pääsemme esimerkiksi siellä. 776 00:35:19,170 --> 00:35:24,260 Mutta pohjimmiltaan, voit ajatella Näiden joko juuri rwx, 777 00:35:24,260 --> 00:35:28,520 tai voit ajatella niitä joidenkin numero, jos tämä ensimmäinen täällä 778 00:35:28,520 --> 00:35:31,480 on numero väliltä 0 ja 7, tämä toinen 779 00:35:31,480 --> 00:35:33,970 on numero väliltä 0 ja 7, ja kolmas 780 00:35:33,970 --> 00:35:38,245 on numero väliltä 0 ja 7, OK? 781 00:35:38,245 --> 00:35:42,700 >> r: n arvo on 4 paino arvo on 2, ja x: 782 00:35:42,700 --> 00:35:49,230 arvo on 1, minkä vuoksi tämä lupa tässä olisi chmod 700. 783 00:35:49,230 --> 00:35:53,520 Koska tässä tapauksessa täällä, se sanoo me ovat ensimmäinen bitti siellä käännetään päälle. 784 00:35:53,520 --> 00:35:55,380 Joten meillä on 4 lukemista. 785 00:35:55,380 --> 00:35:58,730 Toinen bitti käännetään päälle W, joka on 2, joten nyt meillä on 6. 786 00:35:58,730 --> 00:36:02,070 Ja kolmas bitti käännetään päälle x, joka on 1, niin saamme seitsemän. 787 00:36:02,070 --> 00:36:04,820 Ja tietenkin, ryhmämme ja maailmamme ovat kukin 0. 788 00:36:04,820 --> 00:36:07,770 Joten tämä on myös vastaa chmod 700. 789 00:36:07,770 --> 00:36:12,081 Ja haluan ehdottomasti yrittää ymmärtää kartoitus näiden. 790 00:36:12,081 --> 00:36:14,080 En ole varma, jos se on keksiä tietokilpailu ennen, 791 00:36:14,080 --> 00:36:18,590 mutta se olisi kysymys, että voisin kysyä. 792 00:36:18,590 --> 00:36:22,110 >> Vain vähän menee vielä syvemmälle chmod täällä, täällä 793 00:36:22,110 --> 00:36:27,730 on hyvin yleinen rakenne chmod puhelun. 794 00:36:27,730 --> 00:36:29,500 Niin tietysti olemme chmod täällä. 795 00:36:29,500 --> 00:36:34,410 Viitteet, mitä tämä tarkoittaa on jotka annammeko nämä oikeudet 796 00:36:34,410 --> 00:36:36,570 tai jotka me otetaan nämä käyttöoikeudet pois. 797 00:36:36,570 --> 00:36:44,330 Joten meillä on täällä käyttöoikeudet, kuten olemme antaneet teille chmod plus x, 798 00:36:44,330 --> 00:36:45,440 kuten näemme pian. 799 00:36:45,440 --> 00:36:48,460 tarkoittaa vain antaa nämä erityiset käyttöoikeudet kaikille. 800 00:36:48,460 --> 00:36:49,600 Anna heille kaikille. 801 00:36:49,600 --> 00:36:55,370 Joten voi hyvinkin olla u plus x tai g plus x tai o plus x tai useampia 802 00:36:55,370 --> 00:36:55,870 viipymättä. 803 00:36:55,870 --> 00:36:59,280 Niin, että ensimmäinen osa on aina olemaan viittauksia. 804 00:36:59,280 --> 00:37:03,220 Ketä me antamalla näille oikeuksia, tai jotka me ottaa ne pois? 805 00:37:03,220 --> 00:37:04,850 >> Toinen on operaattori. 806 00:37:04,850 --> 00:37:07,350 Joten te kaverit ovat enimmäkseen käsitelty plus. 807 00:37:07,350 --> 00:37:12,140 Tämä antaa käyttöoikeudet kuka olet heille, 808 00:37:12,140 --> 00:37:14,840 katsoo miinus, loogisesti, poistaa ne. 809 00:37:14,840 --> 00:37:16,880 Joten ei mitään liian kauhea siellä. 810 00:37:16,880 --> 00:37:23,060 Ja sitten tilat on mitä puhuimme lukemisen, kirjoittamisen tai täytäntöönpanosta. 811 00:37:23,060 --> 00:37:29,070 Joten plus x tarkoittaa antaa suoritettavan käyttöoikeudet kaikille. 812 00:37:29,070 --> 00:37:33,430 Ja sitten, tietenkin, johon tietyn tiedoston tai hakemiston. 813 00:37:33,430 --> 00:37:33,980 OK? 814 00:37:33,980 --> 00:37:36,010 Jokainen hyvä chmod? 815 00:37:36,010 --> 00:37:37,850 Ei liian huono? 816 00:37:37,850 --> 00:37:42,417 >> OK, niin HTML, joku teistä ovat tarpeeksi vanha to-- MySpace ikä? 817 00:37:42,417 --> 00:37:44,750 Lähetin tämä minun osassa, ja kirjaimellisesti puoli ihmisiä 818 00:37:44,750 --> 00:37:45,790 katsoi minua kuin olisin ollut hullu. 819 00:37:45,790 --> 00:37:47,498 Ja olin kuin, kaverit, emme ole, että vanha. 820 00:37:47,498 --> 00:37:48,910 Tule. 821 00:37:48,910 --> 00:37:53,360 Joten Hypertext Markup Language, se on rehellisesti vain tapa, jolla voit 822 00:37:53,360 --> 00:37:57,990 näyttämään tiettyjä asioita internetissä. 823 00:37:57,990 --> 00:37:59,210 Joten se markup language. 824 00:37:59,210 --> 00:38:00,640 Se ei ole scripting kieli. 825 00:38:00,640 --> 00:38:02,160 Ei mitään logiikkaa siinä. 826 00:38:02,160 --> 00:38:05,710 Se on yksinkertaisesti muuttaa miten asiat näytetään. 827 00:38:05,710 --> 00:38:07,670 OK, niin se tärkeä eroa tehdä. 828 00:38:07,670 --> 00:38:12,030 Se käsitteli markup language, ei scripting kieli. 829 00:38:12,030 --> 00:38:15,100 >> Joten tässä meillä on HTML-tunnisteita. 830 00:38:15,100 --> 00:38:20,390 Tämän slide ovat luultavasti suurin osa ne, jotka sinun pitäisi olla perehtynyt 831 00:38:20,390 --> 00:38:22,390 ja todella mukava. 832 00:38:22,390 --> 00:38:25,700 Joten tietenkin, meillä on meidän HTML tag, joka 833 00:38:25,700 --> 00:38:29,930 nimeää, että kaikki Näiden kahden on HTML. 834 00:38:29,930 --> 00:38:33,070 Meillä on joitakin linkki, joka ilmeisesti antaa sinulle 835 00:38:33,070 --> 00:38:34,990 linkki ulkoiseen web-sivun. 836 00:38:34,990 --> 00:38:37,520 Jotkut otsikko, meidän pää täällä. 837 00:38:37,520 --> 00:38:40,020 Ja meillä on kehomme kanssa H1, joka on otsikon, 838 00:38:40,020 --> 00:38:42,260 niin se tekee se mukava ja rohkea ja isompi. 839 00:38:42,260 --> 00:38:46,040 Ja sitten meillä on joitakin p, joka on kohta. 840 00:38:46,040 --> 00:38:49,000 Sinun pitäisi varmaan tietää ja tuntee asiat 841 00:38:49,000 --> 00:38:54,030 kuten miten voit lisätä kuvan, ovat Onko muita otsikko luokat? 842 00:38:54,030 --> 00:38:57,240 Haluan ehdottomasti olla mukava div. 843 00:38:57,240 --> 00:39:00,840 Joten nämä ovat useimpien tagit että sinun pitäisi tuntea. 844 00:39:00,840 --> 00:39:04,370 Mutta tietenkin, kuten kaikki CS 50, luettelo ei ole tyhjentävä. 845 00:39:04,370 --> 00:39:08,200 Varmista siis verestää että. 846 00:39:08,200 --> 00:39:13,260 >> CSS, joten CSS, jos joku teistä katsella minun seminaari kaksi viikkoa sitten, 847 00:39:13,260 --> 00:39:16,250 on oikeastaan ​​vain tapa muotoilla sivun? 848 00:39:16,250 --> 00:39:18,950 OK, joten meillä on kuvauskieli. 849 00:39:18,950 --> 00:39:23,220 HTML-, joka huolehtii vain tekstin ja missä se voisi olla sivulla. 850 00:39:23,220 --> 00:39:25,760 Mutta CSS on oikeastaan ​​mikä tekee siitä melko. 851 00:39:25,760 --> 00:39:30,690 Voisit olla näitä HTML tiedostoja, mutta kun me puhumme myöhemmin, 852 00:39:30,690 --> 00:39:32,660 Olen melko varma, että se voisi olla seuraava dia, se 853 00:39:32,660 --> 00:39:35,620 on yleinen käytäntö, ja todella Käytännössä että me todella kannustaa, 854 00:39:35,620 --> 00:39:40,670 voit pitää ne erillään, kun me puhua MVC ja että koko paradigma. 855 00:39:40,670 --> 00:39:42,490 Se on todella mitä tämä ruokkii. 856 00:39:42,490 --> 00:39:46,110 >> Joten CSS on vain tapa tehdä asiat näyttävät aika. 857 00:39:46,110 --> 00:39:50,500 Asioita täällä, kuten kehon ja #title ja .info, 858 00:39:50,500 --> 00:39:54,340 näitä kutsutaan valitsimet ja mitä he tekevät on ne valita tiettyjä asioita 859 00:39:54,340 --> 00:39:59,260 sisällä HTML-tiedoston ja soveltaa mitä tahansa tyyliä, 860 00:39:59,260 --> 00:40:04,090 mikä tavallaan asioita, jotka haluat, tähän tiettyyn osa web 861 00:40:04,090 --> 00:40:04,590 sivu. 862 00:40:04,590 --> 00:40:08,820 Joten tässä, meillä on taustaväri ja väri 863 00:40:08,820 --> 00:40:12,450 ja kirjasinperheen olemuksen sovelletaan mitä on kehon. 864 00:40:12,450 --> 00:40:15,530 Joten jos me katsoimme takaisin tänne, se ei sovelleta otsikko. 865 00:40:15,530 --> 00:40:22,340 Se koskisi vain sitä, mikä on näissä kehon valitsimet, OK? 866 00:40:22,340 --> 00:40:25,250 >> Osastoa täällä, tämä on olemaan sama asia, 867 00:40:25,250 --> 00:40:28,410 tekstin väriä on sininen on vain menossa 868 00:40:28,410 --> 00:40:33,870 vaikuttamaan mitä on sisällä otsikko valitsimet. 869 00:40:33,870 --> 00:40:36,580 Sekä info täällä, teksti on vaaleanpunainen, 870 00:40:36,580 --> 00:40:38,600 mitä: n info, joka on täällä. 871 00:40:38,600 --> 00:40:40,860 Joten ainoa asia, joka olisi vaaleanpunainen tällä sivulla 872 00:40:40,860 --> 00:40:44,100 on päivämäärä, maanantai, 17 marraskuu 2014. 873 00:40:44,100 --> 00:40:48,770 OK, joten CSS on vain tapa vaikuttaa enemmän over-- kyllä? 874 00:40:48,770 --> 00:40:51,850 >> Yleisö: Miksi teillä on käyttää hash kanssa otsikko? 875 00:40:51,850 --> 00:40:55,170 >> Hannah: Seuraava dia, lupaan! 876 00:40:55,170 --> 00:40:56,810 Pääsemme sinne. 877 00:40:56,810 --> 00:40:59,830 Joten tästä syystä meidän on käytettävä hash. 878 00:40:59,830 --> 00:41:03,429 Joten valitsimet ottavat kolmeen muotoja, jotka me puhua te noin. 879 00:41:03,429 --> 00:41:05,595 En fyou haluavat oppia lisää, siellä on paljon siellä. 880 00:41:05,595 --> 00:41:07,540 On hienoa CSS asiakirjoja. 881 00:41:07,540 --> 00:41:12,680 Ei tunnistetta, joka on tehtävä vain normaalin tageja HTML. 882 00:41:12,680 --> 00:41:17,210 Joten h1, p, div, h2, tuollaiset asiat. 883 00:41:17,210 --> 00:41:20,320 Ja voimme vain nimi niille kuin on. 884 00:41:20,320 --> 00:41:22,650 Joten kuten näemme täällä elin, se on normaalia tag. 885 00:41:22,650 --> 00:41:26,660 Joten voimme vain laittaa kehoon me puhumme meidän CSS-tiedosto. 886 00:41:26,660 --> 00:41:29,730 >> Osaston, koko syy meillä on tämä hash on meillä mitä 887 00:41:29,730 --> 00:41:31,010 pidetään tunnus. 888 00:41:31,010 --> 00:41:35,400 Joten ID tulisi aina olla yksilöivä HTML-sivulla 889 00:41:35,400 --> 00:41:37,930 niin, että kun olet viitaten siihen, et 890 00:41:37,930 --> 00:41:41,990 tietää, että olet vain viittaavat yksi erityinen asia. 891 00:41:41,990 --> 00:41:46,270 Joten tässä tapauksessa täällä, meidän H1 täällä, CS 50 tarkastelun istunto, 892 00:41:46,270 --> 00:41:47,810 meillä id otsikko. 893 00:41:47,810 --> 00:41:54,280 Joten jotta vain viitata kyseiseen pala meidän HTML, teemme hash otsikko. 894 00:41:54,280 --> 00:41:58,080 Vain yleissopimus, tunnukset on nimetty kanssa hash eteensä. 895 00:41:58,080 --> 00:42:01,650 Samalla tavalla, näemme info tässä luokassa. 896 00:42:01,650 --> 00:42:06,070 Ja niin luokka CSS on nimetty piste luokka 897 00:42:06,070 --> 00:42:08,895 tai piste mitä se luokka on. 898 00:42:08,895 --> 00:42:10,850 Joten tässä tapauksessa täällä, se on info. 899 00:42:10,850 --> 00:42:13,090 >> Joten otan sen takaisin. 900 00:42:13,090 --> 00:42:16,200 Molemmat olisivat vaaleanpunainen meidän CSS täällä 901 00:42:16,200 --> 00:42:18,430 koska ne molemmat ovat luokan info. 902 00:42:18,430 --> 00:42:23,070 Ja meidän CSS-tiedosto, olemme nimenneet että mitään luokan info 903 00:42:23,070 --> 00:42:24,120 on vaaleanpunainen. 904 00:42:24,120 --> 00:42:25,968 Onko järkeä? 905 00:42:25,968 --> 00:42:27,435 Kyllä? 906 00:42:27,435 --> 00:42:30,731 >> Yleisö: Jos sinun pitäisi tehdä kaikki kehon valkoinen, 907 00:42:30,731 --> 00:42:32,814 ja sitten yrität tehdä jotain sisällä sininen, 908 00:42:32,814 --> 00:42:34,770 olisi, että aiheuttaa ongelmia? 909 00:42:34,770 --> 00:42:37,310 >> Hannah: Niin CSS on CSS. 910 00:42:37,310 --> 00:42:40,730 Joten mitä on kohti pohja etusijalla. 911 00:42:40,730 --> 00:42:44,080 Joten jos teet jotain kehon, ja teet kaiken valkoinen, 912 00:42:44,080 --> 00:42:49,300 ja sitten myöhemmin muutat otsikko tai muutat tekstin runko, 913 00:42:49,300 --> 00:42:50,560 se korvaa ne. 914 00:42:50,560 --> 00:42:55,360 Joten mitään kohti pohja etusijalla. 915 00:42:55,360 --> 00:42:56,730 Kyllä? 916 00:42:56,730 --> 00:42:59,627 >> Yleisö: Ja tunnukset ovat ainutlaatuisia, mutta luokissa voi olla? 917 00:42:59,627 --> 00:43:00,210 Hannah: Oikea. 918 00:43:00,210 --> 00:43:06,320 Joten tunnukset olisi ainutlaatuinen, ja luokat voivat viittaavat niin paljon kuin haluat. 919 00:43:06,320 --> 00:43:07,580 Muita kysymyksiä? 920 00:43:07,580 --> 00:43:09,800 Kyllä. 921 00:43:09,800 --> 00:43:11,210 >> Yleisö: [äänetön]. 922 00:43:11,210 --> 00:43:13,509 Olen miettinyt, onko joka tekee eron. 923 00:43:13,509 --> 00:43:15,217 Hannah: Olen pahoillani, mikä oli kysymys? 924 00:43:15,217 --> 00:43:18,960 Yleisö: On pieni "F" ja pääoma "F." 925 00:43:18,960 --> 00:43:21,440 Hannah: Joten ero pienten "f" ja pääoma "F" 926 00:43:21,440 --> 00:43:22,606 ei pitäisi tehdä eroa. 927 00:43:22,606 --> 00:43:26,330 Joten "f" on 15 joko tavalla. 928 00:43:26,330 --> 00:43:28,130 Cool, mitään muuta? 929 00:43:28,130 --> 00:43:29,930 Jokainen hyvä, CSS? 930 00:43:29,930 --> 00:43:30,850 Kyllä? 931 00:43:30,850 --> 00:43:31,790 >> Yleisö: Anteeksi. 932 00:43:31,790 --> 00:43:35,550 Voitko olla luokka ja tunnus? 933 00:43:35,550 --> 00:43:38,030 >> Hannah: Kyllä, voit. 934 00:43:38,030 --> 00:43:40,420 Asiat voivat olla sekä luokan ja tunnus. 935 00:43:40,420 --> 00:43:44,670 Ja suosittelen lämpimästi testaamalla nämä itse. 936 00:43:44,670 --> 00:43:50,480 CSS opit parhaiten juuri tekemällä jotain, hyvin yksinkertainen web-sivun, 937 00:43:50,480 --> 00:43:53,440 laadittaessa joitakin CSS, ja juuri nähdä, miten ne ovat vuorovaikutuksessa. 938 00:43:53,440 --> 00:43:56,970 Ja voit saada erittäin hyvä, intuitiivinen tunne kuinka se toimii. 939 00:43:56,970 --> 00:43:58,810 >> OK, jokainen hyvä CSS? 940 00:43:58,810 --> 00:44:01,280 Olet kaikki aikovat tehdä kaunis sivustot CSS nyt. 941 00:44:01,280 --> 00:44:05,460 OK, parhaita käytäntöjä, vain asioita pitää mielessä, asiat 942 00:44:05,460 --> 00:44:09,810 that-- siksi meidän telakka olet suunnittelija ja vaikka mitä. 943 00:44:09,810 --> 00:44:11,820 Joten sulje kaikki HTML tageja. 944 00:44:11,820 --> 00:44:14,840 Joten jos sinulla on avoin ja olisi lähellä elin. 945 00:44:14,840 --> 00:44:18,180 Jos sinulla on avoin kohta, olisi lähellä kohta. 946 00:44:18,180 --> 00:44:19,555 Tarkista sivusi vahvistaa. 947 00:44:19,555 --> 00:44:23,330 Teidän pitäisi olla hyvin tuttu Tämän p-asettaa seitsemän 948 00:44:23,330 --> 00:44:26,350 CS 50 talous kanssa W3 validator. 949 00:44:26,350 --> 00:44:28,340 Ja kuten aiemmin sanoin, yksi iso paradigmat 950 00:44:28,340 --> 00:44:33,780 erottelee tyyliäsi CSS teidän markup, joka on HTML. 951 00:44:33,780 --> 00:44:36,900 Ja sitten tietenkin, meillä on tämä suuri XKCD tänne. 952 00:44:36,900 --> 00:44:38,280 Jee, koomikko! 953 00:44:38,280 --> 00:44:41,340 >> OK, TCP / IP. 954 00:44:41,340 --> 00:44:44,650 Näiden ja HTTP, pohjimmiltaan he molemmat protokollat. 955 00:44:44,650 --> 00:44:46,810 Joten voi vain ajatella heistä kuin säännöt 956 00:44:46,810 --> 00:44:50,110 jotka ohjaavat miten asiat liikkua Internetissä. 957 00:44:50,110 --> 00:44:53,410 Joten siirrin protokollaa, tai Internet-protokolla, 958 00:44:53,410 --> 00:44:57,280 on vain tapa varmistaa että tietoja saa mihin se on menossa 959 00:44:57,280 --> 00:45:00,030 ja että me tiedämme, jos me koskaan puuttuvat tiedot. 960 00:45:00,030 --> 00:45:03,520 Joten jos te muistelen luento Pari viikkoa sitten David 961 00:45:03,520 --> 00:45:06,980 jossa meillä oli neljä kirjekuoria, ne olivat kaikki luetut kuin yksi neljästä, 962 00:45:06,980 --> 00:45:11,300 kaksi neljä, kolme ja neljä, neljä neljä, tämä on vain joukko sääntöjä. 963 00:45:11,300 --> 00:45:13,830 Sanoimme, OK, kun olemme lähettää useamman kuin yhden paketin, 964 00:45:13,830 --> 00:45:16,610 aiomme numeroon se, mitä numero on 965 00:45:16,610 --> 00:45:19,040 ja kuinka monta yhteensä että käyttäjän tulee saada. 966 00:45:19,040 --> 00:45:22,540 >> Ja tämä on vain kertoa kuka vastaanottaa tietoja siitä, onko ne 967 00:45:22,540 --> 00:45:26,120 ovat saaneet kaiken tai jos jotain eksynyt matkalla. 968 00:45:26,120 --> 00:45:28,840 Ja he tarvitsevat pyytää sitä uudelleen. 969 00:45:28,840 --> 00:45:31,140 Tämä on oikeastaan ​​vain joukko sääntöjä. 970 00:45:31,140 --> 00:45:33,650 Se, miten voit ajatella sitä, OK? 971 00:45:33,650 --> 00:45:37,700 Ja myös se määrittelee portin, joka te can-- Tiedän aikana luento, 972 00:45:37,700 --> 00:45:39,170 heillä oli koko luettelo satamista. 973 00:45:39,170 --> 00:45:41,630 Mutta meillä ei ole niitä täällä juuri nyt. 974 00:45:41,630 --> 00:45:45,290 >> Joten Hypertext Transfer Protocol on, jälleen, se on toinen protokolla. 975 00:45:45,290 --> 00:45:48,630 Joten se on toinen joukko sääntöjä jotka ohjaavat, tässä tapauksessa, 976 00:45:48,630 --> 00:45:51,130 miten hyperteksti siirretään. 977 00:45:51,130 --> 00:45:54,340 Joten se vain mahdollistaa selaimissa puhua web-palvelimia. 978 00:45:54,340 --> 00:45:56,910 Ja kuten sanoimme täällä, se on kuten ihmisen kättely. 979 00:45:56,910 --> 00:46:00,480 Se on vain tapa hallita miten web-palvelin on 980 00:46:00,480 --> 00:46:02,690 menossa vuorovaikutuksessa selaimen. 981 00:46:02,690 --> 00:46:05,660 Ja meillä on vain pari esimerkkiä. 982 00:46:05,660 --> 00:46:09,100 Meillä on joitakin pyyntöjä täällä jos GET on menetelmä. 983 00:46:09,100 --> 00:46:13,760 Meillä on HTTP 1.1, joka on protokollan versio meille. 984 00:46:13,760 --> 00:46:17,230 Ja sitten, isäntä, joka on mitä me itse yrittää käyttää. 985 00:46:17,230 --> 00:46:21,800 Ja sitten, kuten näette täällä, me saada vastaus tähän 200 986 00:46:21,800 --> 00:46:25,032 OK meidän HTTP vastauskoodilla. 987 00:46:25,032 --> 00:46:27,240 Meillä on iso lista aion vetää yhden sekunnin 988 00:46:27,240 --> 00:46:29,430 että te olisi tunnettava. 989 00:46:29,430 --> 00:46:35,750 Ja meillä on tämä sisältötyypin teksti / HTML, joka sanoo vain, millaista tietoa 990 00:46:35,750 --> 00:46:39,990 me vastaanotetaan palvelimelta, OK? 991 00:46:39,990 --> 00:46:44,230 Tämä kone ja tämän sisällön tyyppi ovat osa HTTP-otsikoita. 992 00:46:44,230 --> 00:46:49,610 Sinulla voi olla niin vähän tai niin vähän kuin tarpeen yhteydessä mitä 993 00:46:49,610 --> 00:46:50,580 olet tekemisissä. 994 00:46:50,580 --> 00:46:53,371 Joskus sinun on paljon tulevan tiedon palvelimelle. 995 00:46:53,371 --> 00:46:56,040 Ehkä he pyytävät paljon Tietojen käyttäjältä. 996 00:46:56,040 --> 00:46:57,600 Se vaihtelee riippuen yhteydessä. 997 00:46:57,600 --> 00:47:01,144 Jos tarkastellaan CS 50 Study, siellä on paljon enemmän siitä. 998 00:47:01,144 --> 00:47:03,060 Mutta meillä on paljon saada kautta, joten aion 999 00:47:03,060 --> 00:47:05,760 mennä oikealle eteenpäin, jos se on OK teidän kanssa? 1000 00:47:05,760 --> 00:47:07,960 Cool. 1001 00:47:07,960 --> 00:47:08,460 Pidä kiinni. 1002 00:47:08,460 --> 00:47:11,182 Olen varmasti on, että Koko lista of-- huh! 1003 00:47:11,182 --> 00:47:13,140 En tiedä miksi tämä on aina tänne. 1004 00:47:13,140 --> 00:47:15,660 Kuvittelin kirjaimellisesti muuttanut se kun olin sitting-- 1005 00:47:15,660 --> 00:47:16,540 >> DAVIN: Haluatko opettaa sitä? 1006 00:47:16,540 --> 00:47:17,420 Vai haluatko minua opettaa sitä? 1007 00:47:17,420 --> 00:47:20,010 >> Yleisö: Luulin voisimme vain näyttää niitä aloittaa. 1008 00:47:20,010 --> 00:47:22,210 Tarkoitan, voit mennä niitä edelleen, mutta olen 1009 00:47:22,210 --> 00:47:26,030 mielestä se järkevämpää, koska olen oli puhu vain HTTP statukset. 1010 00:47:26,030 --> 00:47:28,200 Joten tässä koko lista. 1011 00:47:28,200 --> 00:47:31,730 Luulen, mitä tulee tapahtumaan on Davin ei mene niihin myöhemmin. 1012 00:47:31,730 --> 00:47:35,330 Mutta on koko listan, esikatselu maku tulemaan. 1013 00:47:35,330 --> 00:47:41,640 OK, me aiomme blow-- tämä on menossa olla PHP pikakurssin kuin mikään muu. 1014 00:47:41,640 --> 00:47:44,874 >> Joten PHP, hyperteksti esikäsittelijään, se rekursiivinen Backronym, 1015 00:47:44,874 --> 00:47:46,540 mikä tarkoittaa, että se oli nimeltään jotain muuta. 1016 00:47:46,540 --> 00:47:49,050 Ja sitten he olivat kuin tämä ei oikeastaan ​​mitään järkeä. 1017 00:47:49,050 --> 00:47:52,210 Niin ne vain nimetty it-- ja se oli lyhenne, 1018 00:47:52,210 --> 00:47:54,840 joten ne vain tehnyt PHP hyperteksti esikäsittelijään, joka 1019 00:47:54,840 --> 00:47:55,980 vain ei ole mitään järkeä. 1020 00:47:55,980 --> 00:47:57,714 Fun tarina. 1021 00:47:57,714 --> 00:47:58,880 Se on ohjelmointikieli. 1022 00:47:58,880 --> 00:48:02,360 Niin paljon kuin Korostan, että HTML ei ole ohjelmointikieli, 1023 00:48:02,360 --> 00:48:05,350 se kuvauskieli, PHP on ohjelmointikieli. 1024 00:48:05,350 --> 00:48:07,422 Miten tiedät tämä on koska siellä on logiikka. 1025 00:48:07,422 --> 00:48:08,380 On conditionals. 1026 00:48:08,380 --> 00:48:12,750 Meillä on muuttujia, kun taas me ole yhtäkään näistä asioista HTML. 1027 00:48:12,750 --> 00:48:16,960 >> Okei, niin meillä on tämä pieni vähän täällä, että on kuin maku PHP. 1028 00:48:16,960 --> 00:48:20,510 Joten perusasiat, muuttujien nimien aloittaa dollarin merkki. 1029 00:48:20,510 --> 00:48:21,500 Monet ihmiset pitävät siitä. 1030 00:48:21,500 --> 00:48:22,371 Muistuttaa meitä rahaa. 1031 00:48:22,371 --> 00:48:22,995 Se kaikki loistava. 1032 00:48:22,995 --> 00:48:25,280 Me kaikki haluamme PHP. 1033 00:48:25,280 --> 00:48:28,020 Joten emme määritä muuttujan tyyppi enää. 1034 00:48:28,020 --> 00:48:29,995 Se määritetään suorituksen aikana. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 Tulkki on luvassa, oh, me vain ajaa läpi, 1037 00:48:35,890 --> 00:48:39,565 ja kontekstin mukaan, näemme, millaiset tyypit 1038 00:48:39,565 --> 00:48:41,560 Näiden muuttujien täytyy olla. 1039 00:48:41,560 --> 00:48:42,815 Ei ole päätehtävä. 1040 00:48:42,815 --> 00:48:43,690 Asiat vain ajaa. 1041 00:48:43,690 --> 00:48:47,851 Te kanssa tuonti omassa viime p-set, huomaat tämän. 1042 00:48:47,851 --> 00:48:49,350 Ei ollut todellakaan päätehtävä. 1043 00:48:49,350 --> 00:48:52,070 Sinä vain kirjoitti, mitä halusit tapahtua. 1044 00:48:52,070 --> 00:48:53,280 Ja se vain sellainen tapahtui. 1045 00:48:53,280 --> 00:48:56,760 Niin, että PHP sinulle. 1046 00:48:56,760 --> 00:48:59,180 >> Paneelit ovat hyvin samankaltaisia. 1047 00:48:59,180 --> 00:49:01,270 Meillä on vielä tätä kiinnike. 1048 00:49:01,270 --> 00:49:05,940 Täällä meillä on joitakin muuttuja nimeltään sov, ja se on yhtä suuri 1049 00:49:05,940 --> 00:49:08,540 to-- meillä normaali kiinnike merkintätapa. 1050 00:49:08,540 --> 00:49:10,630 Ja meillä on joitakin keskeisiä arvoa. 1051 00:49:10,630 --> 00:49:14,630 Ja suuri ero välillä C ja PHP paneelit 1052 00:49:14,630 --> 00:49:19,330 on se, että meillä voi olla tämän associate-- voimme liittää arvoja avaimia. 1053 00:49:19,330 --> 00:49:22,440 Joten sen sijaan vain ottaa ryhmän, joka on indeksoitu 1054 00:49:22,440 --> 00:49:26,630 useissa tai asema Kyseisen alkio taulukossa, 1055 00:49:26,630 --> 00:49:29,060 voimme todella yhdistää sen avaimen. 1056 00:49:29,060 --> 00:49:36,700 Jos voimme sanoa, OK, haluan tahansa arvo liittyy hedelmää. 1057 00:49:36,700 --> 00:49:39,280 Ja ehkä meillä on hedelmiä meni banaani. 1058 00:49:39,280 --> 00:49:41,760 Niin se olis palata banaani meille. 1059 00:49:41,760 --> 00:49:44,100 >> Mutta pohjimmiltaan, eniten voimakas asia tässä 1060 00:49:44,100 --> 00:49:47,960 on se, että jos te muistaa demo luento missä me pohjimmiltaan 1061 00:49:47,960 --> 00:49:53,050 rewrote aapinen PHP, ja se was-- lookup oli oikeastaan ​​vain haluavat, 1062 00:49:53,050 --> 00:49:55,007 tämä avain on olemassa? 1063 00:49:55,007 --> 00:49:56,590 Se on todella sellainen voima sen. 1064 00:49:56,590 --> 00:49:58,560 Sinun ei tarvitse kerrata kautta array. 1065 00:49:58,560 --> 00:50:00,311 Sinun ei tarvitse tietää mitä tilaa se on. 1066 00:50:00,311 --> 00:50:01,976 Se voisi olla lopussa tai alussa. 1067 00:50:01,976 --> 00:50:04,790 Niin kauan kuin tiedätte avain joka on liittynyt arvo, 1068 00:50:04,790 --> 00:50:09,740 PHP voi vain sylkeä, että arvo Oikea ulos sinua, OK? 1069 00:50:09,740 --> 00:50:12,960 >> Ja sitten meillä on myös vain juuri siksi me 1070 00:50:12,960 --> 00:50:16,750 voi olla avain arvopareja ei tarkoita, sinun täytyy. 1071 00:50:16,750 --> 00:50:19,180 Voit myös vain luoda normaali array kuin täällä, 1072 00:50:19,180 --> 00:50:21,540 alaosassa, jossa se on vain yksi, kaksi, kolme, neljä. 1073 00:50:21,540 --> 00:50:22,510 Nämä ovat meidän arvomme. 1074 00:50:22,510 --> 00:50:25,320 Ja itse asiassa, niiden avaimet ovat indeksejä. 1075 00:50:25,320 --> 00:50:26,830 Joten avain voisi olla nolla. 1076 00:50:26,830 --> 00:50:28,610 Avain kahdelle olisi yksi. 1077 00:50:28,610 --> 00:50:31,910 Niin edelleen ja niin edelleen, ellei te nimenomaan määrittää avaimen, 1078 00:50:31,910 --> 00:50:34,630 voisit olettaa, että arvo on vain heidän indeksi. 1079 00:50:34,630 --> 00:50:37,290 Onko järkeä kaikille? 1080 00:50:37,290 --> 00:50:38,070 Ei kysymyksiä? 1081 00:50:38,070 --> 00:50:38,930 Mahtavaa. 1082 00:50:38,930 --> 00:50:44,420 >> OK foreach on tapa kerrata läpi paneelit. 1083 00:50:44,420 --> 00:50:47,490 Joten meillä on jotain täällä, vain pääpiirteittäin. 1084 00:50:47,490 --> 00:50:51,020 Joten foreach, nimi meidän array, kuten mitä tahansa 1085 00:50:51,020 --> 00:50:53,930 haluat soittaa jokaiselle elementin, array, 1086 00:50:53,930 --> 00:50:57,270 ja voimme tehdä jotain että tekijä tai tämän arvon. 1087 00:50:57,270 --> 00:50:58,680 Joten meillä on esimerkki tästä. 1088 00:50:58,680 --> 00:51:05,770 Meillä on assosiatiivinen array nämä kaksi merkintää 1089 00:51:05,770 --> 00:51:10,080 baari liittyessä foo ja QUX olla mukana baz. 1090 00:51:10,080 --> 00:51:12,180 Joten avaimet ovat foo ja Baz. 1091 00:51:12,180 --> 00:51:13,650 Arvot ovat baari ja QUX. 1092 00:51:13,650 --> 00:51:18,560 Joten foreach, meillä on joukko täällä, koska keskeinen arvo pari. 1093 00:51:18,560 --> 00:51:21,560 Näin voimme käyttää sekä avain ja arvo. 1094 00:51:21,560 --> 00:51:23,680 Ehkä haluat vain arvo, jolloin 1095 00:51:23,680 --> 00:51:27,640 voisit tehdä kuten sov kuten $ arvo, ja sitten 1096 00:51:27,640 --> 00:51:30,640 ovat vain päästä arvo kun kerrata läpi. 1097 00:51:30,640 --> 00:51:32,600 Mutta ehkä joidenkin syystä haluat avaimen, 1098 00:51:32,600 --> 00:51:35,460 minkä vuoksi päätin Tässä esimerkissä sen sijaan. 1099 00:51:35,460 --> 00:51:40,240 Joten voit itse manipuloida avain ja arvo tässä tapauksessa. 1100 00:51:40,240 --> 00:51:41,070 OK? 1101 00:51:41,070 --> 00:51:41,905 Kysymys? 1102 00:51:41,905 --> 00:51:44,279 >> Yleisö: Jos halusi vain manipuloida avain, olisi 1103 00:51:44,279 --> 00:51:45,910 sinun täytyy tehdä foreach-- 1104 00:51:45,910 --> 00:51:47,360 >> ALISON: Oikea. 1105 00:51:47,360 --> 00:51:50,560 Joten jos halusi manipuloida vain avain, 1106 00:51:50,560 --> 00:51:53,680 voisitte vielä tämän syntaksi koska jos vain 1107 00:51:53,680 --> 00:51:56,930 on sov jotain, kuten yksi asia, se on 1108 00:51:56,930 --> 00:52:00,070 menossa olettaa haluat arvoa, ei avain. 1109 00:52:00,070 --> 00:52:06,780 Joten jos joskus on vain aivan kuten sov sillä, ehkä tämä on kuin $ elementti, 1110 00:52:06,780 --> 00:52:11,670 se tulee olettaa, että kysyt vain arvo kussakin pisteessä. 1111 00:52:11,670 --> 00:52:13,879 Jos nimenomaan haluat tehdä jotain näppäintä, 1112 00:52:13,879 --> 00:52:16,170 vaikka et aio tee mitään arvoa, 1113 00:52:16,170 --> 00:52:18,430 tarvitset tämän rakenteen että meillä on täällä 1114 00:52:18,430 --> 00:52:22,330 missä olet nimenomaisesti pyytävät sekä avain ja arvo. 1115 00:52:22,330 --> 00:52:24,170 Suuri kysymys. 1116 00:52:24,170 --> 00:52:25,940 Entä muuta? 1117 00:52:25,940 --> 00:52:27,490 Cool. 1118 00:52:27,490 --> 00:52:29,911 >> Okei, PHP ja HTML. 1119 00:52:29,911 --> 00:52:31,410 Voi, olemme takaisin p-asettaa seitsemän uudelleen. 1120 00:52:31,410 --> 00:52:35,380 Joten tämä näyttää hieman tutulta. 1121 00:52:35,380 --> 00:52:41,760 Joten tämä on joitakin yksinkertaisia ​​HTML muodossa että on joitakin tulo nimi hei. 1122 00:52:41,760 --> 00:52:43,820 Ja me näemme meillä menetelmä GET. 1123 00:52:43,820 --> 00:52:47,430 Ja jos me muistamme meidän p-sarja, kun tämä lomake lähetetään, 1124 00:52:47,430 --> 00:52:58,130 se lähettää array nimeltään $ _GET että on kaikki nämä tulot tai muuttujia 1125 00:52:58,130 --> 00:53:00,490 muoto, jonka pitäisi olla manipuloitu meidän PHP. 1126 00:53:00,490 --> 00:53:03,320 Joten tässä tapauksessa käyttäjä asettaisi heidän nimensä. 1127 00:53:03,320 --> 00:53:04,370 Ne väittävät sitä. 1128 00:53:04,370 --> 00:53:07,810 Ja me näemme, että saamme joitakin array täällä. 1129 00:53:07,810 --> 00:53:09,080 Meillä GET array. 1130 00:53:09,080 --> 00:53:11,510 Ja olemme päästä nimi. 1131 00:53:11,510 --> 00:53:15,070 >> Niin, että sanoo, OK, anna minulle arvoa, joka on liittynyt nimi, 1132 00:53:15,070 --> 00:53:16,550 nimi on tässä avainasemassa. 1133 00:53:16,550 --> 00:53:21,400 Ja joka kuvaa suoraan, mitä sanoimme meidän tulo nimi on. 1134 00:53:21,400 --> 00:53:28,960 Joten tämä oli antaa sinulle avain mitä tulee olemaan teidän array täällä. 1135 00:53:28,960 --> 00:53:31,220 Onko järkeä kaikille? 1136 00:53:31,220 --> 00:53:32,070 Kyllä? 1137 00:53:32,070 --> 00:53:36,240 >> Yleisö: Onko nimi GET viittaavat violettiin rivi [äänetön]? 1138 00:53:36,240 --> 00:53:37,740 >> ALISON: Se viittaa tämän tästä. 1139 00:53:37,740 --> 00:53:43,840 Joten tällä alalla täällä, se viittaa tähän nimi tähän. 1140 00:53:43,840 --> 00:53:47,800 Joten tämä olisi voitu nimetty kuten puhelinnumero, tai mitä tahansa. 1141 00:53:47,800 --> 00:53:51,790 Tämä nimi oikeastaan ​​kertoo, mitä soitat tällä alalla? 1142 00:53:51,790 --> 00:53:53,600 Miten aiotte viitata tällä alalla? 1143 00:53:53,600 --> 00:53:57,670 Ja tämä nimi on todella haluavat, olemme sanomalla tämä kenttä on nimeltään nimi. 1144 00:53:57,670 --> 00:53:59,224 Näin me aiomme käyttää sitä. 1145 00:53:59,224 --> 00:54:02,070 >> Yleisö: Eli onko se kuin, tulo nimi on sama kuin Bob, and-- 1146 00:54:02,070 --> 00:54:04,380 >> ALISON: Oikea, niin voit saisi Bob sinne. 1147 00:54:04,380 --> 00:54:06,090 Aivan. 1148 00:54:06,090 --> 00:54:07,800 Jokainen viileä? 1149 00:54:07,800 --> 00:54:10,990 Okei, joten GET vs. POST, nämä ovat pääasiassa kahdella tavalla 1150 00:54:10,990 --> 00:54:14,880 että ohitamme tiedot HTTP-pyynnön. 1151 00:54:14,880 --> 00:54:17,370 Te olisi pitänyt nähdä molemmat toivottavasti. 1152 00:54:17,370 --> 00:54:20,940 Joten GET, tiedot johdetaan URL. 1153 00:54:20,940 --> 00:54:23,490 Joten jos koskaan tehdä Google hakuja, YouTube, luultavasti 1154 00:54:23,490 --> 00:54:25,130 luultavasti huomata joitakin kysymysmerkki. 1155 00:54:25,130 --> 00:54:28,230 Ja sitten, kaikki sanat että olet vain laittaa sinne. 1156 00:54:28,230 --> 00:54:31,410 Ja POST kulkee data HTTP viestin runko. 1157 00:54:31,410 --> 00:54:36,922 Joten toisin GET, et sellaista harkita että tiedot on piilotettu käyttäjältä. 1158 00:54:36,922 --> 00:54:38,630 Mutta mitä todella tärkeää ymmärtää 1159 00:54:38,630 --> 00:54:44,040 on se, että tämä on edelleen aivan yhtä epävarma kuin GET. 1160 00:54:44,040 --> 00:54:48,780 Analogisesti tykkään käyttää on, jos sinulla on tilinumero 1161 00:54:48,780 --> 00:54:52,795 ja kirjoitat sen ulkopuolella kirjekuori, että ihan turvallinen. 1162 00:54:52,795 --> 00:54:55,920 Jos sinun pitäisi kirjoittaa se pala paperi ja laita se sisälle kirjekuoren, 1163 00:54:55,920 --> 00:54:58,850 se on silti todella turvaton, koska kaikki mitä sinun tarvitsee tehdä on avata, että jopa 1164 00:54:58,850 --> 00:55:03,480 ja tarkastella todellista sisältöä Viestin nähdä, että. 1165 00:55:03,480 --> 00:55:08,310 Joten tämä on "piilotettu", ja ihmiset haluavat mielestäni se on turvallista, mutta se todellakaan ole. 1166 00:55:08,310 --> 00:55:11,000 Ja olen varma, että Davin tulee päästä, että enemmän, ehkä. 1167 00:55:11,000 --> 00:55:12,850 Mutta se on tärkeä eroa tehdä 1168 00:55:12,850 --> 00:55:15,820 ja jotain todella hyvää ymmärtää. 1169 00:55:15,820 --> 00:55:19,220 >> OK, SQL, Structured Query Language. 1170 00:55:19,220 --> 00:55:22,220 Kaikki jutut, jotka olemme nähneet niin äskettäin! 1171 00:55:22,220 --> 00:55:25,400 Joten se on pohjimmiltaan vain suunniteltu, tietenkin, hallintaan tietoja. 1172 00:55:25,400 --> 00:55:30,560 Te oli paljon kokemusta tämä teidän taulukoita PHP MyAdmin. 1173 00:55:30,560 --> 00:55:34,100 Ja on neljä yhteistä kyselyt että haluamme te tietää. 1174 00:55:34,100 --> 00:55:37,304 Joten siellä on päivitys, lisää, Valitse ja poista. 1175 00:55:37,304 --> 00:55:38,970 Joten varmista, että tiedät ne todella hyvin. 1176 00:55:38,970 --> 00:55:40,960 Aiomme mennä niiden kautta todella nopeasti. 1177 00:55:40,960 --> 00:55:44,340 >> Joten päivittää, todella, kuten mitä luulisi se, 1178 00:55:44,340 --> 00:55:46,740 se vain päivittää tiedot tietokantaan. 1179 00:55:46,740 --> 00:55:48,750 Joten meillä on esimerkki tästä. 1180 00:55:48,750 --> 00:55:53,310 Tämä on yleinen rakenne päivityskyselyn. 1181 00:55:53,310 --> 00:55:56,150 Joten me päivittää taulukon että puhumme. 1182 00:55:56,150 --> 00:56:00,520 Haluamme asettaa tiettyjä arvot, tietyt sarakkeet 1183 00:56:00,520 --> 00:56:02,600 yhtä erityisiä arvoja. 1184 00:56:02,600 --> 00:56:07,500 Joten tämä vain päivittää taulukon, muuttuvat arvot kaikki rivit tässä tapauksessa. 1185 00:56:07,500 --> 00:56:13,690 Eli tässä yksi täällä, todellinen Meillä on esimerkiksi insert-- pahoillani. 1186 00:56:13,690 --> 00:56:17,630 Tämä dia edennyt ilman minua ymmärtämättä sitä. 1187 00:56:17,630 --> 00:56:22,230 >> Joten tämä päivitykset taulukon col1 yhdenvertaisen jotta VAL1 jossa talo on yhtä "Currier." 1188 00:56:22,230 --> 00:56:25,300 Mitä tämä tekee on se vain muuttuu, se vain 1189 00:56:25,300 --> 00:56:28,130 päivittää näitä arvoja tiettyihin paikkoihin. 1190 00:56:28,130 --> 00:56:32,300 Joten tässä ensimmäinen, se muuttuu nämä arvot kaikkea teidän pöytä, 1191 00:56:32,300 --> 00:56:32,860 OK? 1192 00:56:32,860 --> 00:56:35,820 Se tulee muuttamaan tätä sarake jokaisesta merkintä, 1193 00:56:35,820 --> 00:56:37,020 jokaista yhden rivin. 1194 00:56:37,020 --> 00:56:40,840 Mutta tämä, jos voisit ajattele sitä karsinnassa. 1195 00:56:40,840 --> 00:56:44,020 Niin se vain muuttuu se hyvin tiettyihin paikkoihin. 1196 00:56:44,020 --> 00:56:47,840 Joten p-asettaa seitsemän, kun ehkä päivitetty määrä rahaa 1197 00:56:47,840 --> 00:56:53,050 että käyttäjä oli luultavasti ollut Joissakin jossa tunnus on yhtä istuntotunnus, eikö? 1198 00:56:53,050 --> 00:56:55,280 >> Koska et halua Muuta määrä rahaa 1199 00:56:55,280 --> 00:56:57,630 jokaista henkilöä, joka käytti sivustosi. 1200 00:56:57,630 --> 00:57:00,480 Sinun halusi muuttaa sitä yhden tietylle henkilölle, että henkilö on 1201 00:57:00,480 --> 00:57:02,410 kuka oli käyttää sitä tuolloin. 1202 00:57:02,410 --> 00:57:04,320 Oikea? 1203 00:57:04,320 --> 00:57:07,510 OK, niin laita, lisää tietyt arvot taulukoita. 1204 00:57:07,510 --> 00:57:11,650 Tämä on kuin silloin, kun olet luodaan uusi käyttäjä. 1205 00:57:11,650 --> 00:57:14,240 Yleinen rakenne täällä on lisätä osaksi mitä tahansa taulukon 1206 00:57:14,240 --> 00:57:15,680 puhumme. 1207 00:57:15,680 --> 00:57:18,910 Arvot, että arvot, jotka me todella haluamme lisätä. 1208 00:57:18,910 --> 00:57:23,060 OK, niin näemme täällä, me ovat työnnä pöytä. 1209 00:57:23,060 --> 00:57:27,790 Tämä on erityinen palstoja niiden vastasi arvoja. 1210 00:57:27,790 --> 00:57:29,940 Joten tämä kertoo, insert uusi rivi, joka sisältää 1211 00:57:29,940 --> 00:57:33,660 arvot VAL1 ja VAL2 alle Näitä erityisiä sarakkeita. 1212 00:57:33,660 --> 00:57:39,240 >> Joten ehkä haluat vain täyttää pois puoli asioita tällä rivillä. 1213 00:57:39,240 --> 00:57:41,150 Sitähän tämä osa täällä voit tehdä. 1214 00:57:41,150 --> 00:57:43,280 Sen avulla voit todella mitkä osa. 1215 00:57:43,280 --> 00:57:44,244 Kyllä? 1216 00:57:44,244 --> 00:57:52,150 >> Yleisö: Voitko vain [äänetön] solujen rivin [äänetön]? 1217 00:57:52,150 --> 00:57:55,000 >> ALISON: Jos täyttää vain tiettyjä osia rivin, 1218 00:57:55,000 --> 00:57:57,480 Loput näiden solujen ovat vain tyhjiä. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 Niin kauan kuin he voivat olla tyhjä, se ei ole ongelma. 1221 00:58:05,660 --> 00:58:09,570 Jos yrität käyttää niitä, se on aio palata tyhjiä elementti. 1222 00:58:09,570 --> 00:58:13,850 Mutta on tärkeää tietää että tietyissä taulukoissa, 1223 00:58:13,850 --> 00:58:16,690 Heidän on voitava olla tyhjä. 1224 00:58:16,690 --> 00:58:18,890 Olet ehkä joutunut Ongelma aikana p-sarja 1225 00:58:18,890 --> 00:58:21,320 koska emme anna mitään teidän arvot on null. 1226 00:58:21,320 --> 00:58:26,110 Mutta voit määrittää Valinnainen arvo pöytään. 1227 00:58:26,110 --> 00:58:29,640 >> OK, valitse, joten tämä on vain tapa saada 1228 00:58:29,640 --> 00:58:33,790 erityisiä tietoja pöytä Joissakin tunniste, jonka haluat. 1229 00:58:33,790 --> 00:58:37,990 Joten valitse tähti pöytä, jossa col on yhtä jotain vain sitä, 1230 00:58:37,990 --> 00:58:43,820 anna minulle kaikki siihen liittyvät tiedot jos tämä erityinen sarake on totta. 1231 00:58:43,820 --> 00:58:49,020 Joten tähti tässä tapauksessa palauttaa koko rivi sinulle, OK? 1232 00:58:49,020 --> 00:58:54,880 >> Ja sitten, tässä tapauksessa valitse tähti taulukossa vain antaa sinulle koko pöydän. 1233 00:58:54,880 --> 00:58:58,940 Ja sitten, poista ilmeisesti, se vain poistaa rivin taulukosta. 1234 00:58:58,940 --> 00:59:01,320 Joten poistaa taulukosta, mitä taulukossa olemme 1235 00:59:01,320 --> 00:59:06,830 löytymistä, jossa tiettyjä tunniste tai jotkut ehto on tosi. 1236 00:59:06,830 --> 00:59:07,720 Kyllä? 1237 00:59:07,720 --> 00:59:08,700 >> Yleisö: Kysymys. 1238 00:59:08,700 --> 00:59:10,699 Miksi käytät kaksinkertainen lainauksia, ja onko sinulla 1239 00:59:10,699 --> 00:59:13,600 do lainausmerkkeihin tai yksittäinen lainauksia, se tee eroa? 1240 00:59:13,600 --> 00:59:18,235 >> ALISON: Lainausmerkkejä tai heittomerkkejä ei tee eroa SQL. 1241 00:59:18,235 --> 00:59:19,610 Luulin nähneeni toinen kysymys. 1242 00:59:19,610 --> 00:59:20,814 Kyllä? 1243 00:59:20,814 --> 00:59:25,070 >> Yleisö: Eikö se vaikuta, mitä saa pakeni kyselyn? 1244 00:59:25,070 --> 00:59:27,945 >> ALISON: Rob? 1245 00:59:27,945 --> 00:59:31,410 >> ROB: Mitä te tarkoitatte pakeni kyselyn? 1246 00:59:31,410 --> 00:59:36,870 >> Yleisö: Jos joku on yhdellä haulla muodossa of-- 1247 00:59:36,870 --> 00:59:39,862 >> ROB: Jos joku laita yksittäinen lainaus, 1248 00:59:39,862 --> 00:59:43,560 niin niin kauan kuin olet puhdistus syöte, niin sillä ei ole väliä. 1249 00:59:43,560 --> 00:59:46,205 Mutta jos käytät yhden lainaus ja olet väärin 1250 00:59:46,205 --> 00:59:47,914 pakenevat tuloa, niin kyllä, he tarvitsevat 1251 00:59:47,914 --> 00:59:51,079 laittaa heittomerkki, jotta voidaan rikkoa koodi. jos käytät lainausmerkkejä, 1252 00:59:51,079 --> 00:59:53,580 ne täytyy laittaa kaksinkertainen Lainaan murtaa koodi. 1253 00:59:53,580 --> 00:59:56,163 Mutta niin kauan kuin voit paeta asioita oikein, sillä ei ole väliä. 1254 00:59:56,163 --> 00:59:59,220 Se vain menee käännettäväksi oikea symboli muutenkin. 1255 00:59:59,220 --> 01:00:02,332 >> Yleisö: Mitä paeta tarkoittaa? 1256 01:00:02,332 --> 01:00:04,040 ALISON: No, kuten sanitoivan ja paeta. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 Tentti, että meillä on, suuri XKCD koominen, että ne vetää ylös, jos sinulla on, 1259 01:00:13,820 --> 01:00:15,629 oh-- 1260 01:00:15,629 --> 01:00:16,670 ROB: Se on viimeinen dia. 1261 01:00:16,670 --> 01:00:18,500 ALISON: Se on viimeinen dia, todella? 1262 01:00:18,500 --> 01:00:20,200 Oh my god. 1263 01:00:20,200 --> 01:00:21,780 Siellä mennään, täydellinen. 1264 01:00:21,780 --> 01:00:27,900 OK, joten periaatteessa voit pistää jotain tähän SQL-kysely 1265 01:00:27,900 --> 01:00:30,560 missä se taukoja koodin, tai David osoitti 1266 01:00:30,560 --> 01:00:38,460 luokassa, jos meillä on yksi quote 1 on 1, ja jos meidän koodia, 1267 01:00:38,460 --> 01:00:41,230 me vain kopioida suoraan, että, ja meillä päättyy heittomerkki, 1268 01:00:41,230 --> 01:00:44,740 mitä tapahtuu on saamme Joissakin lauseke 1269 01:00:44,740 --> 01:00:48,680 tosi, että tulee antaa jonkun tulla meidän tietokanta 1270 01:00:48,680 --> 01:00:51,720 ja saada tietoa, että me halua niitä saada. 1271 01:00:51,720 --> 01:00:54,240 Joten puhdistus tulot tarkoittaa vain varmista 1272 01:00:54,240 --> 01:00:57,680 että me pakenevat nämä merkkiä ja määrittämällä ne 1273 01:00:57,680 --> 01:01:01,720 koska merkkiä ei asioita että olisi sallittava 1274 01:01:01,720 --> 01:01:04,990 otettava kirjaimellisesti meidän SQL. 1275 01:01:04,990 --> 01:01:09,980 >> Joten iso asia, että sanoimme että te pitäisi käyttää 1276 01:01:09,980 --> 01:01:13,650 olivat HTML erityistä merkkiä, joka on jotain 1277 01:01:13,650 --> 01:01:15,730 että saatat haluta vilkaista. 1278 01:01:15,730 --> 01:01:17,240 OK, poista. 1279 01:01:17,240 --> 01:01:19,450 Datatyypit, tämä kaikki on verkossa. 1280 01:01:19,450 --> 01:01:23,510 Koska olemme 15 minuuttia jäljellä, olen vain mene läpi tämä. 1281 01:01:23,510 --> 01:01:28,500 PHP ja SQL, pohjimmiltaan tämä on vain meillä oli hakutoiminto, joka 1282 01:01:28,500 --> 01:01:31,520 auttoi suojaamaan Näiden hyökkäyksiä. 1283 01:01:31,520 --> 01:01:33,970 Joten kun käytät kysely, olimme varmista 1284 01:01:33,970 --> 01:01:36,560 että asiat puhtaita ja vaikka mitä. 1285 01:01:36,560 --> 01:01:41,070 >> MVC on vain suunnittelu paradigma, niin malli, näkymä, ohjain. 1286 01:01:41,070 --> 01:01:44,200 Se on vain tapa pitää asiat mukava ja hajosi samalla tavalla 1287 01:01:44,200 --> 01:01:47,100 että meillä on tapana tekijä ulos koodi toimintoja. 1288 01:01:47,100 --> 01:01:53,390 Tämä on vain web design kehys jonka avulla voit tehdä saman. 1289 01:01:53,390 --> 01:01:54,760 Aion ohittaa tämän. 1290 01:01:54,760 --> 01:01:58,530 >> Tämä on jotain, että olen Olisi erittäin mukava kanssa. 1291 01:01:58,530 --> 01:02:01,132 Se on erittäin pieni pöytä siellä. 1292 01:02:01,132 --> 01:02:03,090 Se antaa sinulle toiminto esimerkki mallin. 1293 01:02:03,090 --> 01:02:05,473 Olen juuri menossa läpi tämän, koska olen todella haluavat Davin pystyä puhumaan. 1294 01:02:05,473 --> 01:02:07,140 Jos sinulla on kysyttävää, ota rohkeasti. 1295 01:02:07,140 --> 01:02:07,931 Olen täällä sen jälkeen. 1296 01:02:07,931 --> 01:02:10,360 Tule juttelemaan. 1297 01:02:10,360 --> 01:02:13,380 Kanssa, että meillä on HTTP statukset. 1298 01:02:13,380 --> 01:02:16,270 Ja Davin n räjäyttää kautta 15 minuuttia. 1299 01:02:16,270 --> 01:02:17,560 Tämä tulee olemaan suuri. 1300 01:02:17,560 --> 01:02:18,893 >> DAVIN: OK. 1301 01:02:18,893 --> 01:02:20,312 Uh, mikrofoni? 1302 01:02:20,312 --> 01:02:22,210 Joo. 1303 01:02:22,210 --> 01:02:23,336 Anteeksi. 1304 01:02:23,336 --> 01:02:24,460 ALISON: tapa olla valmis. 1305 01:02:24,460 --> 01:02:25,335 DAVIN: Ei, olen valmis. 1306 01:02:25,335 --> 01:02:25,860 Olen valmis. 1307 01:02:25,860 --> 01:02:28,790 Tehdään tämä. 1308 01:02:28,790 --> 01:02:29,290 Se on valmis. 1309 01:02:29,290 --> 01:02:30,041 OK. 1310 01:02:30,041 --> 01:02:30,540 Anteeksi. 1311 01:02:30,540 --> 01:02:31,664 Kaadoin kahvia itselleni. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 En tiedä olenko enemmän järkyttynyt, että näytän typerältä, 1314 01:02:38,210 --> 01:02:40,600 tai että minulla ei ole kahvia enää. 1315 01:02:40,600 --> 01:02:44,480 Joka tapauksessa, vain nopea tiedotus noin arkki teillä. 1316 01:02:44,480 --> 01:02:47,994 Joten tämä levy teillä ei ole virkamies mitä on tietokilpailu. 1317 01:02:47,994 --> 01:02:49,660 Tämä on virallinen mitä on tietokilpailu. 1318 01:02:49,660 --> 01:02:52,520 Myös sivuilla kerromme teitä, OK, tämä tulee olemaan tietokilpailu. 1319 01:02:52,520 --> 01:02:55,020 Joten pikku lunttilappua sinulla on, ei ole virallinen. 1320 01:02:55,020 --> 01:02:56,690 Ja on virheitä sitä. 1321 01:02:56,690 --> 01:03:01,490 Joten ei kannata vain sokeasti käyttää sitä. 1322 01:03:01,490 --> 01:03:04,390 Niin joo, se siitä. 1323 01:03:04,390 --> 01:03:05,980 Joten päästä tämän todella nopeasti. 1324 01:03:05,980 --> 01:03:07,420 >> Joten HTTP tilat. 1325 01:03:07,420 --> 01:03:10,430 Mitä tapahtuu, kun sivusto, kaikki on kunnossa. 1326 01:03:10,430 --> 01:03:11,144 Kaikki on OK. 1327 01:03:11,144 --> 01:03:13,310 Kaikki tulee takaisin et miten haluat sen. 1328 01:03:13,310 --> 01:03:15,370 Saat 200 OK. 1329 01:03:15,370 --> 01:03:19,250 301, jossa olemme nähneet, että 301 ennen? 1330 01:03:19,250 --> 01:03:20,890 Odota, mikä hätänä? 1331 01:03:20,890 --> 01:03:23,250 Anteeksi. 1332 01:03:23,250 --> 01:03:24,980 Näimme i tina luento aikana turvallisuuteen. 1333 01:03:24,980 --> 01:03:30,690 Joten aikana turvallisuus, joten jos David kirjoitettu http ja yritti sitten mennä cs50.net, 1334 01:03:30,690 --> 01:03:31,940 te tulette näkemään 301 siirretty. 1335 01:03:31,940 --> 01:03:32,440 Miksi? 1336 01:03:32,440 --> 01:03:35,570 Koska se tulee suunnata automaattisesti meidän HTTPS. 1337 01:03:35,570 --> 01:03:38,649 >> Joten 301 muutti, vain se pohjimmiltaan uudelleenohjaus. 1338 01:03:38,649 --> 01:03:40,190 Ja voit ajatella sitä näin. 1339 01:03:40,190 --> 01:03:43,790 Mikä tahansa tilat, jotka alkavat 2: n, ne ovat kuin, OK, kaikki on OK. 1340 01:03:43,790 --> 01:03:46,530 Mikä tahansa tilat, jotka alkavat 3, nämä ovat uudelleenohjaus. 1341 01:03:46,530 --> 01:03:49,571 Tilat, jotka alkavat 4, että välineet siellä on jonkinlainen asiakkaan virhe. 1342 01:03:49,571 --> 01:03:52,440 Tilat, jotka alkavat 5, että jonkinlainen palvelimen virhe. 1343 01:03:52,440 --> 01:03:54,680 Joten sinulla sellainen hajottaa tilat niin. 1344 01:03:54,680 --> 01:03:59,120 Joten 304 ei ole muutettu, joten sinun server.c p-sarjaa, joten sanokaamme 1345 01:03:59,120 --> 01:04:00,600 ladattu cat.html. 1346 01:04:00,600 --> 01:04:03,360 Kaikki tulee takaisin, saat 200S, OK, suuri. 1347 01:04:03,360 --> 01:04:04,540 >> Sanotaan, että olet päivittänyt sitä. 1348 01:04:04,540 --> 01:04:07,310 No, sisällä että cat.html, sinulla on JPEG. 1349 01:04:07,310 --> 01:04:09,520 No, JPEG ei ole menossa uudelleen. 1350 01:04:09,520 --> 01:04:12,140 Et aio lähettää toiseen GET pyynnön palvelimelle, 1351 01:04:12,140 --> 01:04:13,980 ja sitten saada kaikki nämä tiedot takaisin. 1352 01:04:13,980 --> 01:04:17,560 Se tulee vain be-- että kuva on aiotaan välimuistissa koneeseen. 1353 01:04:17,560 --> 01:04:19,540 Ja niin, että kuva tulee olemaan 304. 1354 01:04:19,540 --> 01:04:20,720 Joten se ei ole muutettu. 1355 01:04:20,720 --> 01:04:24,600 Jos sulje pois, kirkas evästeet, ja päivitä sitten 1356 01:04:24,600 --> 01:04:27,490 ja yrittää ladata sivun uudelleen, olet menossa nähdä 200s. 1357 01:04:27,490 --> 01:04:28,910 Et aio nähdä, että 304. 1358 01:04:28,910 --> 01:04:32,340 >> 400, huono pyynnöstä, todellinen nopea, kuten jos 1359 01:04:32,340 --> 01:04:34,880 aikoivat lähettää JSON esine palvelimelle 1360 01:04:34,880 --> 01:04:38,090 ja JSON esine oli virheellinen, näet jotain. 1361 01:04:38,090 --> 01:04:39,000 403, kielletty. 1362 01:04:39,000 --> 01:04:40,330 Koska näet kielletty? 1363 01:04:40,330 --> 01:04:41,394 Luultavasti Luultavasti? 1364 01:04:41,394 --> 01:04:42,060 Yleisö: Chmod. 1365 01:04:42,060 --> 01:04:42,950 DAVIN: Chmod, joo. 1366 01:04:42,950 --> 01:04:44,730 Joten et ole asettanut käyttöoikeudet oikein. 1367 01:04:44,730 --> 01:04:45,577 404, ei löytynyt. 1368 01:04:45,577 --> 01:04:46,410 Se vain ei ole siellä. 1369 01:04:46,410 --> 01:04:48,670 Joten jos kirjoitat väärän URL. 1370 01:04:48,670 --> 01:04:53,500 500, sisäinen palvelin virhe, palvelin luultavasti ei ole määritetty oikein. 1371 01:04:53,500 --> 01:04:56,260 Jotain ei teidän loppua, mutta jotain palvelimen puolella. 1372 01:04:56,260 --> 01:04:57,240 Ja 503? 1373 01:04:57,240 --> 01:04:59,502 Monet ihmiset näkivät 503s viimeisen p-sarja. 1374 01:04:59,502 --> 01:05:00,460 Milloin se tapahtui? 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 Kuulin kuiskaa. 1377 01:05:05,660 --> 01:05:07,767 >> Yleisö: Kun Google päättää olet robotti. 1378 01:05:07,767 --> 01:05:10,350 DAVIN: Joo, kun Google päättää olet robotti, saat 503s. 1379 01:05:10,350 --> 01:05:11,560 Niin, että ylikuormitus. 1380 01:05:11,560 --> 01:05:14,620 Jos olet pyytänyt palvelimelta liikaa, se on yleensä väliaikainen. 1381 01:05:14,620 --> 01:05:15,560 Ja useimmat teistä huomannut sitä. 1382 01:05:15,560 --> 01:05:16,185 Joten näit 503. 1383 01:05:16,185 --> 01:05:19,282 Olet ehkä ottanut hieman tauko, sitten 503s meni pois, 1384 01:05:19,282 --> 01:05:20,490 ja kaikki oli kunnossa. 1385 01:05:20,490 --> 01:05:26,640 >> GABE: Real nopeasti, kun te olette päästä 500 luultavasti tämä viimeinen ongelma asettaa? 1386 01:05:26,640 --> 01:05:27,954 Kyllä? 1387 01:05:27,954 --> 01:05:30,906 >> Yleisö: Yleensä jos palvelin on tiedosto väärässä paikassa 1388 01:05:30,906 --> 01:05:34,650 tai [äänetön] niiden kone [äänetön]. 1389 01:05:34,650 --> 01:05:38,870 >> GABE: Joten se saattaa olla kokoonpano kysymys PHP palvelimella. 1390 01:05:38,870 --> 01:05:42,250 Mutta se voi olla vain jotain kuten puolipiste että unohdin. 1391 01:05:42,250 --> 01:05:44,130 Jos kirjoitat PHP, Joissakin virheellisen syntaksin 1392 01:05:44,130 --> 01:05:46,000 saattaa saada jotain tuollaista. 1393 01:05:46,000 --> 01:05:46,960 OK? 1394 01:05:46,960 --> 01:05:48,610 >> DAVIN: Cool. 1395 01:05:48,610 --> 01:05:51,180 Haluatko minun tehdä juuri asti AJAX? 1396 01:05:51,180 --> 01:05:52,950 >> GABE: [äänetön]. 1397 01:05:52,950 --> 01:05:53,450 DAVIN: OK. 1398 01:05:53,450 --> 01:05:54,230 Joten mitä DOM? 1399 01:05:54,230 --> 01:05:55,290 Mitä DOM seistä? 1400 01:05:55,290 --> 01:05:56,990 >> Yleisö: Document Object Model. 1401 01:05:56,990 --> 01:05:57,490 DAVIN: Nice. 1402 01:05:57,490 --> 01:06:00,775 Ja miksi me pidä siitä? 1403 01:06:00,775 --> 01:06:02,670 Mahtavaa. 1404 01:06:02,670 --> 01:06:06,651 Oikea, niin se vain antaa meille mahdollisuuden tutustua HTML, pääsyn sivuillemme hyvin nopeasti. 1405 01:06:06,651 --> 01:06:07,150 Miksi? 1406 01:06:07,150 --> 01:06:09,980 Koska olemme hoitoon meidän sivu, hoitoon meidän HTML-tunnisteet, 1407 01:06:09,980 --> 01:06:11,730 käsittelemällä kaikki sillä jos he esineitä. 1408 01:06:11,730 --> 01:06:13,710 Jos me kohdella heitä kuin he esineitä, niin mitä voimme tehdä? 1409 01:06:13,710 --> 01:06:15,210 No, voimme soittaa toimintoja niitä. 1410 01:06:15,210 --> 01:06:16,460 Ja tämä on tärkeää miksi? 1411 01:06:16,460 --> 01:06:19,200 No, koska me aiomme käyttää JavaScriptin päivittää HTML, 1412 01:06:19,200 --> 01:06:20,500 päivittää näitä esineitä. 1413 01:06:20,500 --> 01:06:23,869 Joten jos kohtelemme heitä kuin esineitä, voimme kutsua toimintoja niitä. 1414 01:06:23,869 --> 01:06:26,660 Aion päästä tähän pikku enemmän, kun menen JavaScript, 1415 01:06:26,660 --> 01:06:30,510 mutta te kaikki nähneet, kuten document.getElementById. 1416 01:06:30,510 --> 01:06:32,870 Joten asiakirja on elementti, saat elementti tunnus, 1417 01:06:32,870 --> 01:06:35,087 niin olet menossa katsomaan joillekin tunnus HTML tag. 1418 01:06:35,087 --> 01:06:36,920 Ja sitten, voit tehdä jotain muuta, että. 1419 01:06:36,920 --> 01:06:40,089 Esimerkiksi kuten document.body, voit liittää lapsi. 1420 01:06:40,089 --> 01:06:41,630 Joten aiot löytää asiakirjan. 1421 01:06:41,630 --> 01:06:42,340 Sinulla on asiakirja. 1422 01:06:42,340 --> 01:06:43,629 Olet menossa löytää ruumiin. 1423 01:06:43,629 --> 01:06:44,420 Löysit ruumiin. 1424 01:06:44,420 --> 01:06:46,545 Ja sitten, olet menossa soita jonkin toiminnon päälle. 1425 01:06:46,545 --> 01:06:50,312 Joten liittää lapsi, ja voit liittää joitakin HTML kiinni loppuun kehon sisällä. 1426 01:06:50,312 --> 01:06:52,520 Joten periaatteessa, olet vain käsittelemällä sitä kuin objekti. 1427 01:06:52,520 --> 01:06:54,515 Hoidatko HTML tageja kuten objekti. 1428 01:06:54,515 --> 01:06:57,071 Ja se on erittäin helppo ja nopea käydä niitä läpi. 1429 01:06:57,071 --> 01:06:59,070 Mutta se voi myös soittaa toimintoja niitä 1430 01:06:59,070 --> 01:07:04,410 joten voit käsitellä ja vaihtaa osia. 1431 01:07:04,410 --> 01:07:10,162 >> GABE: Koska tämä, miksi on Javascript tällainen kiva kieli vuorovaikutuksessa HTML? 1432 01:07:10,162 --> 01:07:12,870 Kertoimet ovat, kun ihmiset olivat valinneet kielen selaimen, 1433 01:07:12,870 --> 01:07:14,990 client side, JavaScript on todella mukava, 1434 01:07:14,990 --> 01:07:16,765 se on todella hyvä käsitellä esineitä. 1435 01:07:16,765 --> 01:07:20,620 Ja esineet ikään kuin objekteja, jotka näkyvät HTML, 1436 01:07:20,620 --> 01:07:23,940 joten se on erittäin helppo JavaScript tehdä sellaista käsittelyä. 1437 01:07:23,940 --> 01:07:24,440 DAVIN: Nice. 1438 01:07:24,440 --> 01:07:25,670 Joten tässä on vain esimerkki. 1439 01:07:25,670 --> 01:07:29,020 Joten mielestäni viime vuoden tietokilpailu, tai ehkä kaksi vuotta sitten, me 1440 01:07:29,020 --> 01:07:30,840 kysyi voit luoda puuhun. 1441 01:07:30,840 --> 01:07:32,660 Joten tämä on juuri sitä mitä tekisin. 1442 01:07:32,660 --> 01:07:34,255 Joten voit aloittaa kanssa asiakirjan. 1443 01:07:34,255 --> 01:07:36,130 Ja sitten et periaatteessa katsokaa tageja. 1444 01:07:36,130 --> 01:07:38,100 Joten jos katsot, me aloittaa HTML-tunnisteen. 1445 01:07:38,100 --> 01:07:41,660 Ja sitten, saat vihjeitä siitä, miten tehdä tämän perusteella sisennys. 1446 01:07:41,660 --> 01:07:43,870 Joten pää sellainen oksat pois. 1447 01:07:43,870 --> 01:07:46,242 Sisällä pää, meillä on toinen tag otsikko. 1448 01:07:46,242 --> 01:07:47,450 Niin, meillä on otsikkokoodin. 1449 01:07:47,450 --> 01:07:49,760 Ja sisällä että meillä on joitakin merkkijono. 1450 01:07:49,760 --> 01:07:52,210 Ja niin me edustamme merkkijono ympyrä. 1451 01:07:52,210 --> 01:07:54,010 Ja kaikki tagit ovat neliöitä. 1452 01:07:54,010 --> 01:07:56,270 >> Ja jos katsot, jos me ajatella tätä puuta, 1453 01:07:56,270 --> 01:07:58,730 ja sanotaan, että HTML on vanhempi, sitten pään ja vartalon 1454 01:07:58,730 --> 01:07:59,772 tulevat olemaan sisaruksia. 1455 01:07:59,772 --> 01:08:01,813 He molemmat olemaan lapset että vanhempi. 1456 01:08:01,813 --> 01:08:03,620 Joten koska he molemmat sisarukset, he 1457 01:08:03,620 --> 01:08:06,590 olemaan eräänlainen vieressä toisiamme puumallin. 1458 01:08:06,590 --> 01:08:08,590 Ja sitten, et periaatteessa tehdä täsmälleen sama asia. 1459 01:08:08,590 --> 01:08:13,512 Joten ei ole vaikeaa, mutta olemme pyytäneet kysymyksiin, kuten tämä ennen sen tietokilpailu. 1460 01:08:13,512 --> 01:08:15,220 GABE: Onko kukaan kysyttävää tähän mennessä? 1461 01:08:15,220 --> 01:08:16,357 Onko se hyvä? 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, OK, hyvää kamaa. 1465 01:08:21,600 --> 01:08:24,069 Joten JavaScript, mikä on Javascript? 1466 01:08:24,069 --> 01:08:28,370 No, JavaScript is-- se monimutkainen, mutta nämä 1467 01:08:28,370 --> 01:08:30,727 ovat joitakin kohokohtia että sinun pitäisi pitää mielessä. 1468 01:08:30,727 --> 01:08:31,810 Ensinnäkin, se on löyhästi kirjoitetut. 1469 01:08:31,810 --> 01:08:33,529 Mitä tämä tarkoittaa? 1470 01:08:33,529 --> 01:08:35,596 Joten PHP was-- joo, mitä kuuluu? 1471 01:08:35,596 --> 01:08:39,854 >> Yleisö: Sinun ei tarvitse erikseen valtion minkälainen muuttuja on. 1472 01:08:39,854 --> 01:08:40,479 DAVIN: Perfect. 1473 01:08:40,479 --> 01:08:43,270 Niin hän sanoi, et ei tarvitse nimenomaisesti muuttujan tyyppi. 1474 01:08:43,270 --> 01:08:44,160 Juuri oikea. 1475 01:08:44,160 --> 01:08:49,700 Joten C, jos olisin int i on yhtä kuin 50, sitten PHP, se on aivan kuin tämä, $ i, 1476 01:08:49,700 --> 01:08:50,550 on yhtä suuri kuin 50. 1477 01:08:50,550 --> 01:08:54,319 Sitten JavaScript, mitä puhelu on? 1478 01:08:54,319 --> 01:08:55,260 Var, eikö? 1479 01:08:55,260 --> 01:08:56,566 Se olisi kuin var i on yhtä kuin 50. 1480 01:08:56,566 --> 01:08:58,649 Mutta sinun ei tarvitse olla kuten, OK, tämä on int. 1481 01:08:58,649 --> 01:09:00,350 OK, tämä on merkkijono. 1482 01:09:00,350 --> 01:09:01,731 Ei tarvitse tehdä. 1483 01:09:01,731 --> 01:09:02,939 Se tulkitaan kieltä. 1484 01:09:02,939 --> 01:09:04,904 Mitä tämä tarkoittaa? 1485 01:09:04,904 --> 01:09:06,340 >> Yleisö: Ei käännetty. 1486 01:09:06,340 --> 01:09:10,470 >> DAVIN: Mitä ei koottu tarkoittaa? 1487 01:09:10,470 --> 01:09:11,392 Joo? 1488 01:09:11,392 --> 01:09:15,336 >> Yleisö: Sinulla ei ole uudelleen koodin 1489 01:09:15,336 --> 01:09:18,294 saada se valmiiksi tietokone käyttää sitä. 1490 01:09:18,294 --> 01:09:23,144 Se on juuri ottanut aikaan toteutus ja tietokone [äänetön]. 1491 01:09:23,144 --> 01:09:25,560 DAVIN: Joo, niin se tulee läpi tulkin. 1492 01:09:25,560 --> 01:09:26,750 Mutta olet aivan oikeassa. 1493 01:09:26,750 --> 01:09:28,319 Joten olet koskaan kokoamaan sitä, eikö? 1494 01:09:28,319 --> 01:09:30,399 Kun olit tekemässä teidän PHP ja JavaScript-koodia, 1495 01:09:30,399 --> 01:09:31,365 et koskaan soittanut käännöksen. 1496 01:09:31,365 --> 01:09:33,779 Et koskaan soittanut jotain tehdä tai mitään sellaista. 1497 01:09:33,779 --> 01:09:34,800 Tämä johtuu sitä tulkitaan. 1498 01:09:34,800 --> 01:09:37,319 Joten joka kerta se menee läpi selaimen, se menee läpi tulkin. 1499 01:09:37,319 --> 01:09:40,370 Ja että menee tulkitsemaan sitä vain reaaliajassa heti sinulle. 1500 01:09:40,370 --> 01:09:43,770 Mitkä ovat joitakin positiivisia ja negatiivisia ja ottaa tulkittu kieli 1501 01:09:43,770 --> 01:09:45,258 ja ottaa käännetty kieli? 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 Joten compiling-- joo, mitä kuuluu? 1504 01:09:50,540 --> 01:09:52,444 >> Yleisö: tulkittuna on hitaampaa. 1505 01:09:52,444 --> 01:09:53,319 DAVIN: Missä mielessä? 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> Yleisö: Kun olet koota, sinulla ei ole 1508 01:09:59,091 --> 01:10:04,400 tehdä mitään ylimääräisiä vaiheita suorittaa se, että tämä [kuultavissa]. 1509 01:10:04,400 --> 01:10:05,570 >> DAVIN: Oikea, täydellinen. 1510 01:10:05,570 --> 01:10:08,386 Joten mitä sanoit on pohjimmiltaan, että kääntämiseen, 1511 01:10:08,386 --> 01:10:10,760 kun käännät, sinulla on paljon alkuvaiheen kustannukset, eikö? 1512 01:10:10,760 --> 01:10:11,760 Olet menossa kääntää sen. 1513 01:10:11,760 --> 01:10:13,750 Mutta kun käännät sen, kääntäjä tulee optimoida. 1514 01:10:13,750 --> 01:10:14,840 Se tulee olemaan nopeaa. 1515 01:10:14,840 --> 01:10:16,170 Se tulee periaatteessa yhtä nopeasti kuin se voi olla. 1516 01:10:16,170 --> 01:10:18,830 Tulkkaukseen, et koskaan on, että etukäteen kustannuksia. 1517 01:10:18,830 --> 01:10:22,260 Pikemminkin se tulee olemaan hieman hitaampaa joka ikinen kerta kun sitä tulkitaan. 1518 01:10:22,260 --> 01:10:24,940 Ja olet menossa on tulkita sitä joka ikinen kerta. 1519 01:10:24,940 --> 01:10:27,114 Joten sen sijaan, että tämä yksi kulu, nyt olet 1520 01:10:27,114 --> 01:10:29,530 täytyy tulkita sitä aina sivu tekee. 1521 01:10:29,530 --> 01:10:31,890 >> Joten tulkit ovat hyviä, koska sinun ei tarvitse kääntää se, 1522 01:10:31,890 --> 01:10:33,980 mutta he huono, että jokainen ajoittaa sivu latautuu, se on 1523 01:10:33,980 --> 01:10:35,771 menossa on tulkita tämän JavaScript. 1524 01:10:35,771 --> 01:10:40,520 Ja se tulee ajaa hieman hitaammin kuin jos olisit kääntää sen. 1525 01:10:40,520 --> 01:10:43,044 Voit communicate-- oh, odota. 1526 01:10:43,044 --> 01:10:44,960 Käytetään manipuloida sisältöä ja ulkoasua. 1527 01:10:44,960 --> 01:10:46,043 Olemme juuri puhuneet siitä. 1528 01:10:46,043 --> 01:10:47,250 Se käyttää DOM. 1529 01:10:47,250 --> 01:10:49,930 AJAX, me päästä AJAX hieman. 1530 01:10:49,930 --> 01:10:51,520 Ja sitten, se on asiakkaan puolella. 1531 01:10:51,520 --> 01:10:53,110 Joten PHP on palvelimen puolella. 1532 01:10:53,110 --> 01:10:54,360 JavaScript on asiakkaan puolella. 1533 01:10:54,360 --> 01:10:57,780 Mitä positiivisia tähän? 1534 01:10:57,780 --> 01:10:58,280 Se sanoo. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 Se on nopeampi, eikö? 1537 01:11:02,780 --> 01:11:05,282 Koska sinulla ei ole to-- se on nopeampi. 1538 01:11:05,282 --> 01:11:07,490 Sinun ei tarvitse kommunikoida joidenkin muiden laitteeseen. 1539 01:11:07,490 --> 01:11:08,790 Jos olet juuri teidän asiakas, et ole koskaan 1540 01:11:08,790 --> 01:11:11,280 täytyy mennä ja nähdä, mitä palvelimelle 1541 01:11:11,280 --> 01:11:13,150 ja sitten raportoimaan tai jotain sellaista. 1542 01:11:13,150 --> 01:11:15,410 Joten asiakkaan puolella on taipumus olla hieman nopeammin. 1543 01:11:15,410 --> 01:11:17,910 >> GABE: Joo, mutta tämä ei tarkoita PHP on 1544 01:11:17,910 --> 01:11:20,440 nopeampi kuin JavaScript tai mitään vastaavaa. 1545 01:11:20,440 --> 01:11:23,270 Ne kulkevat tavallaan samassa nopeus, koska he molemmat 1546 01:11:23,270 --> 01:11:24,490 tulkita kielillä. 1547 01:11:24,490 --> 01:11:26,680 Asia, joka on hidas tässä pyynnöstä. 1548 01:11:26,680 --> 01:11:28,870 Joten olet todella menossa aina yli Brasiliaan 1549 01:11:28,870 --> 01:11:31,460 saada joitakin tietoja että asuu siellä. 1550 01:11:31,460 --> 01:11:34,590 Mutta PHP ja JavaScript, ne eräänlainen ajaa samalla nopeudella. 1551 01:11:34,590 --> 01:11:37,930 Se ei ole, että yksi on nopeammin kuin muut. 1552 01:11:37,930 --> 01:11:40,600 Tämä myös, temppu kysymys. 1553 01:11:40,600 --> 01:11:47,338 Joten JavaScript ei koskaan tule konekielelle, totta vai tarua? 1554 01:11:47,338 --> 01:11:48,590 >> Yleisö: False. 1555 01:11:48,590 --> 01:11:49,090 GABE: False. 1556 01:11:49,090 --> 01:11:51,298 Se on tullut kone koodia, koska kone koodi on 1557 01:11:51,298 --> 01:11:53,210 ainoa asia kone ymmärtää. 1558 01:11:53,210 --> 01:11:55,800 Vaikka se ei ole käännetty, se vielä tulee konekielelle 1559 01:11:55,800 --> 01:11:59,120 koska tulkki on vain ohjelma, joka menee rivi riviltä 1560 01:11:59,120 --> 01:12:02,170 ja muuntaa että rivi jotain tietokone ymmärtää. 1561 01:12:02,170 --> 01:12:02,825 OK? 1562 01:12:02,825 --> 01:12:03,325 Cool. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> DAVIN: Tässä on vain hyvin yksinkertainen Hei maailma JavaScript-ohjelman. 1565 01:12:12,890 --> 01:12:15,590 Joten en tiedä if-- olet nähnyt tämän. 1566 01:12:15,590 --> 01:12:17,630 Mutta sinun täytyy vain HTML täällä. 1567 01:12:17,630 --> 01:12:21,020 Ja sen sijaan todella toteuttavat JavaScript-koodit, 1568 01:12:21,020 --> 01:12:22,810 niin olisit normaalisti laittaa sen päähän. 1569 01:12:22,810 --> 01:12:24,030 Sinulla on koodit. 1570 01:12:24,030 --> 01:12:24,870 Voit pudota se sinne. 1571 01:12:24,870 --> 01:12:28,350 Kaikki me olemme tehneet täällä olemme sidoksissa in-- joten olemme sidoksissa JavaScript-tiedoston 1572 01:12:28,350 --> 01:12:29,137 näin. 1573 01:12:29,137 --> 01:12:30,470 Ja olet kaikki tehnyt tämän, eikö? 1574 01:12:30,470 --> 01:12:34,740 Joten kun käytit jQuery ja Underscore.js viimeisen p-sarja, 1575 01:12:34,740 --> 01:12:38,700 sinulla ei ole tonnia koodin ylös ohjelmatunnisteesi, jopa omassa päässäsi. 1576 01:12:38,700 --> 01:12:41,415 Voisit tehdä sen, mutta sen sijaan olet vain yhdistää sitä. 1577 01:12:41,415 --> 01:12:43,540 Ja olet liittämässä sitä aivan niin kuin sinä CSS. 1578 01:12:43,540 --> 01:12:50,186 Niin se vain on helpompi lukea niin koodi ei ole kuin 1000 riviä pitkä 1579 01:12:50,186 --> 01:12:52,310 tonnia toimintoja, jotka et ehkä käyttää. 1580 01:12:52,310 --> 01:12:53,518 >> Sen sijaan juuri linkittää sen. 1581 01:12:53,518 --> 01:12:55,050 Se compartmentalizes sitä. 1582 01:12:55,050 --> 01:13:00,110 Se on kuin kirjallisesti joitakin otsikkotiedoston, ja Sitten mukaan lukien otsikkotiedosto C. 1583 01:13:00,110 --> 01:13:01,620 Ajattele sitä aivan kuten tämä. 1584 01:13:01,620 --> 01:13:02,680 Mitä tällä tekee? 1585 01:13:02,680 --> 01:13:04,560 No, tämä on menossa ajaa. 1586 01:13:04,560 --> 01:13:05,410 Se tulee varoittaa. 1587 01:13:05,410 --> 01:13:08,020 Joten aiot saada vähän pop up nimeltään Hello World. 1588 01:13:08,020 --> 01:13:11,420 Nopea kysymys, vain järki tarkistaa, joten näet tässä kehossa, 1589 01:13:11,420 --> 01:13:13,160 sanoa elin, HTML täällä. 1590 01:13:13,160 --> 01:13:14,080 Mikä tulee ensin? 1591 01:13:14,080 --> 01:13:16,864 Näenkö elin, HTML täällä, tai näen hälytys ensimmäisen? 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> Yleisö: Alert. 1594 01:13:20,820 --> 01:13:21,470 >> DAVIN: Oikea. 1595 01:13:21,470 --> 01:13:22,110 Hän sanoo hälytys. 1596 01:13:22,110 --> 01:13:22,610 Miksi? 1597 01:13:22,610 --> 01:13:24,470 >> Yleisö: Koska te mennä ylhäältä alas. 1598 01:13:24,470 --> 01:13:25,600 >> DAVIN: Kyllä. 1599 01:13:25,600 --> 01:13:26,100 Perfect. 1600 01:13:26,100 --> 01:13:29,207 Niin hän sanoo, menet ylhäältä pohja, joka on täysin oikea. 1601 01:13:29,207 --> 01:13:30,790 Olet menossa ylhäältä alas. 1602 01:13:30,790 --> 01:13:34,790 Ja JavaScript, jQuery, sinulla on toiminto, joka on kuin onload, tai valmiina, 1603 01:13:34,790 --> 01:13:38,030 ja joka sanoo, OK, odota kaikki tämä HTML on ladattu. 1604 01:13:38,030 --> 01:13:39,580 Ja sitten, soita JavaScript. 1605 01:13:39,580 --> 01:13:42,190 Koska meillä ei ole, että täällä, Aivan ensimmäinen asia, joka tulee tapahtumaan 1606 01:13:42,190 --> 01:13:43,920 on se mene ylhäältä alas. 1607 01:13:43,920 --> 01:13:46,310 Se tulee lyödä että JS kutsua, se tulee varoittaa. 1608 01:13:46,310 --> 01:13:49,510 Tämän jälkeen valitset OK, että hälytys menee pois. 1609 01:13:49,510 --> 01:13:53,600 Sitten se tulee näyttämään voit kehon HTML täällä. 1610 01:13:53,600 --> 01:13:54,590 Nice. 1611 01:13:54,590 --> 01:14:00,880 >> OK, joten vain todella nopeasti, kirjoittaminen JavaScript on super nopea. 1612 01:14:00,880 --> 01:14:02,710 Jotta julistaa muuttuja, var nimi. 1613 01:14:02,710 --> 01:14:07,070 Joten C, sinulla on int i, sinulla on julistaa millainen tyyppi se on. 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 Olemme puhuneet tästä. 1617 01:14:09,630 --> 01:14:11,020 Okei, mennään. 1618 01:14:11,020 --> 01:14:12,510 >> Silmukat, sama asia. 1619 01:14:12,510 --> 01:14:14,230 Sama juttu. 1620 01:14:14,230 --> 01:14:18,165 Toiminto julkilausumat, joten aivan kuten olet nähnyt C. 1621 01:14:18,165 --> 01:14:21,290 Ainoa asia erilainen on niin kun saat muita ohjelmointikieliä, 1622 01:14:21,290 --> 01:14:24,780 kuten kun otat 51 seuraavan lukukauden ja teet kanssa OCaml, 1623 01:14:24,780 --> 01:14:26,690 voit käsitellä anonyymi toimintoja. 1624 01:14:26,690 --> 01:14:28,240 Niin, että mitä sinulla on täällä. 1625 01:14:28,240 --> 01:14:31,560 Joten haluat laittaa summa, jonkinlainen summa-arvon. 1626 01:14:31,560 --> 01:14:33,870 Mutta saatat vain tehdä sen kerran. 1627 01:14:33,870 --> 01:14:37,310 Joten et halua kutsua sitä toiminto summa, anna se toiminto ilmoituksen. 1628 01:14:37,310 --> 01:14:39,830 Sen sijaan voit vain käyttää sitä anonyyminä toiminto. 1629 01:14:39,830 --> 01:14:42,469 Ja olet nähnyt tätä paljon. 1630 01:14:42,469 --> 01:14:44,510 Näet esimerkki Tässä pari dioja. 1631 01:14:44,510 --> 01:14:45,597 Joo, näemme. 1632 01:14:45,597 --> 01:14:46,430 GABE: Hyvä kysymys. 1633 01:14:46,430 --> 01:14:50,660 Kun ehkä haluat käyttää anonyymi funktio täällä? 1634 01:14:50,660 --> 01:14:54,111 Periaatteessa kun haluat jotain, kuten tapauksessa tapahtua. 1635 01:14:54,111 --> 01:14:55,860 Joten kun hiiri on napsautetaan, esimerkiksi, 1636 01:14:55,860 --> 01:14:57,790 Haluatko joitakin toimintoa kutsutaan. 1637 01:14:57,790 --> 01:15:00,570 Joten ohitat tapahtuman käsittelijä, ohitat tapahtuman 1638 01:15:00,570 --> 01:15:02,870 sellainen, toiminto, joka Haluatko kutsua. 1639 01:15:02,870 --> 01:15:04,710 Ja mitä olet ohimennen on kuin lopussa 1640 01:15:04,710 --> 01:15:08,757 päivä, vain osoitin että opetusta, jotta toiminto. 1641 01:15:08,757 --> 01:15:11,090 Joten se ei ole kuin olet ohimennen koko koodin, aivan kuten 1642 01:15:11,090 --> 01:15:12,173 osoitin toiminto. 1643 01:15:12,173 --> 01:15:17,871 Ja sitten, kun joku napsauttaa hiiri, niin että toiminta saa kutsutaan. 1644 01:15:17,871 --> 01:15:22,340 >> DAVIN: Taulukot, joten voit on array ilmoitus. 1645 01:15:22,340 --> 01:15:23,990 Sitten joukko laittaa asioita. 1646 01:15:23,990 --> 01:15:25,769 Real nopea, mitä tämä tulostaa? 1647 01:15:25,769 --> 01:15:27,060 Mitä kolmas elementti on? 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> Yleisö: "JS". 1650 01:15:32,450 --> 01:15:33,940 >> DAVIN: Oikea, se olisi "JS". 1651 01:15:33,940 --> 01:15:35,760 Odota, mene takaisin. 1652 01:15:35,760 --> 01:15:37,100 Mikä on pituus? 1653 01:15:37,100 --> 01:15:38,117 >> Yleisö: Kolme. 1654 01:15:38,117 --> 01:15:38,950 DAVIN: Kolme, eikö? 1655 01:15:38,950 --> 01:15:40,210 Täsmälleen mitä luulet. 1656 01:15:40,210 --> 01:15:42,072 OK, nyt mennä. 1657 01:15:42,072 --> 01:15:43,530 Taulukot, voit lisätä asioita heille. 1658 01:15:43,530 --> 01:15:45,395 Joten voit mennä pidemmälle alkuperäisen rajoja. 1659 01:15:45,395 --> 01:15:46,740 Vain jotain pitää mielessä. 1660 01:15:46,740 --> 01:15:49,760 PHP, JavaScript, he hieman hieman enemmän anteeksi kannalta asioita 1661 01:15:49,760 --> 01:15:50,570 niin. 1662 01:15:50,570 --> 01:15:54,260 Esineet, kovasti structs C, hyvin paljon 1663 01:15:54,260 --> 01:15:56,590 kuten assosiatiiviset taulukot PHP. 1664 01:15:56,590 --> 01:15:58,720 Olette kaikki ollut kokemusta tästä. 1665 01:15:58,720 --> 01:16:01,880 Joten JSON, kun olet ohimennen JSON edestakaisin p-asetettu kahdeksan, 1666 01:16:01,880 --> 01:16:03,260 se on teidän esine. 1667 01:16:03,260 --> 01:16:06,290 >> Niin joo, esimerkiksi todellinen nopea esimerkki. 1668 01:16:06,290 --> 01:16:07,880 Tässä on esine. 1669 01:16:07,880 --> 01:16:12,700 Miten te viittaavat tähän esine, joten vain todella nopeasti, 1670 01:16:12,700 --> 01:16:18,630 sanokaamme halusin löytää ulos, OK, mikä on kurssin? 1671 01:16:18,630 --> 01:16:20,681 Ja niin objektin nimi tässä CS50. 1672 01:16:20,681 --> 01:16:23,180 Ja sitten jos olisin assosiatiivinen array, miten tekisin? 1673 01:16:23,180 --> 01:16:24,580 Tulen avaimella, eikö? 1674 01:16:24,580 --> 01:16:26,030 Joten minulla on nimi array. 1675 01:16:26,030 --> 01:16:30,160 Minulla on kiinnike, lainauksia, avain, end lainauksia, lopussa kiinnike, 1676 01:16:30,160 --> 01:16:33,610 ja että tulee viittaus, että elementti sisällä minun assosiatiivisia array. 1677 01:16:33,610 --> 01:16:37,646 Miten viitattu Tietenkin sisällä minun esine? 1678 01:16:37,646 --> 01:16:39,170 Tietääkö kukaan? 1679 01:16:39,170 --> 01:16:40,622 >> Yleisö: [äänetön]. 1680 01:16:40,622 --> 01:16:41,784 >> DAVIN: Mikä hätänä? 1681 01:16:41,784 --> 01:16:42,700 Yleisö: CS50.course. 1682 01:16:42,700 --> 01:16:43,510 DAVIN: Oikea, joo. 1683 01:16:43,510 --> 01:16:45,320 Niin CS50.course. 1684 01:16:45,320 --> 01:16:48,770 Joten miten te viite asiat sisällä JSON esine on pisteellä. 1685 01:16:48,770 --> 01:16:53,114 >> Yleisö: Voit myös käyttää array syntaksi. 1686 01:16:53,114 --> 01:16:54,050 >> DAVIN: OK, hieno. 1687 01:16:54,050 --> 01:16:57,544 >> GABE: Voit myös käyttää CS50 kiinnike, merkkijono, kuten lainausmerkkejä. 1688 01:16:57,544 --> 01:16:59,210 Yleisö: Minusta se on identtinen PHP. 1689 01:16:59,210 --> 01:17:00,293 GABE: Se on sama asia. 1690 01:17:00,293 --> 01:17:02,487 DAVIN: Hieno! 1691 01:17:02,487 --> 01:17:03,945 Mutta näet tämän muissa paikoissa. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 Joo, niin pitää käynnissä. 1694 01:17:10,480 --> 01:17:13,330 Tämä on, mitä juuri sanoin. 1695 01:17:13,330 --> 01:17:17,840 Joten osaksi JavaScript jQuery esimerkki. 1696 01:17:17,840 --> 01:17:19,440 Joten tämä on minun DOM, eikö? 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 Real nopea, joten minulla on pää, hello world, elin. 1699 01:17:25,410 --> 01:17:26,160 Minulla painiketta. 1700 01:17:26,160 --> 01:17:27,870 Siinä sanotaan "työntää minua", niin haluan viedä sitä. 1701 01:17:27,870 --> 01:17:29,745 Ja haluan tehdä jotain kun se napsautetaan. 1702 01:17:29,745 --> 01:17:31,220 Oikea, seuraavaksi. 1703 01:17:31,220 --> 01:17:34,630 >> Oikea, joten tämä on minun JavaScript. 1704 01:17:34,630 --> 01:17:37,790 Joten jQuery on vain helpompaa tapa kirjoittaa JavaScript. 1705 01:17:37,790 --> 01:17:40,920 Joten tämä, ja mitä aion näyttää ensi, tulee olemaan jQuery, 1706 01:17:40,920 --> 01:17:41,930 ovat samat. 1707 01:17:41,930 --> 01:17:43,990 Niin he tekevät samoja asioita. 1708 01:17:43,990 --> 01:17:45,974 Vain jQuery taipumus olla hieman helpompaa. 1709 01:17:45,974 --> 01:17:47,140 Ihmiset yleensä haluavat sitä enemmän. 1710 01:17:47,140 --> 01:17:48,390 Se on paljon toiminnallisuutta. 1711 01:17:48,390 --> 01:17:49,830 Joten ihmiset pyrkivät käyttämään jQuery. 1712 01:17:49,830 --> 01:17:53,270 Te kaikki käytetyt jQuery viimeisen p-sarja. 1713 01:17:53,270 --> 01:17:54,270 Joten mitä tämä tekee? 1714 01:17:54,270 --> 01:17:56,580 Miltä tämä JavaScript-- niin tämä on pelkkää JavaScript. 1715 01:17:56,580 --> 01:17:57,430 Mitä tämä tekee? 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 Mitä se aikoo tehdä? 1718 01:18:03,450 --> 01:18:04,890 >> Joten ensimmäinen, näet ikkunan onload. 1719 01:18:04,890 --> 01:18:05,390 Oikea? 1720 01:18:05,390 --> 01:18:06,640 Joten emme nähneet, että ennen. 1721 01:18:06,640 --> 01:18:09,380 Joten tämä on menossa odottaa kunnes koko ikkunan kuormia. 1722 01:18:09,380 --> 01:18:12,770 Joten se tulee odottaa HTML, kaikki kuvat kuorma 1723 01:18:12,770 --> 01:18:13,770 ennen kuin se tekee mitään. 1724 01:18:13,770 --> 01:18:16,050 Joten sanokaamme meidän DOM on ladattu. 1725 01:18:16,050 --> 01:18:17,270 Kaikki on siellä. 1726 01:18:17,270 --> 01:18:19,080 Sitten mitä tulee tapahtumaan? 1727 01:18:19,080 --> 01:18:19,922 Joo? 1728 01:18:19,922 --> 01:18:22,880 >> Yleisö: Button tulee. 1729 01:18:22,880 --> 01:18:25,201 >> DAVIN: painikkeen jo siellä. 1730 01:18:25,201 --> 01:18:26,700 Joo, niin painiketta n jo olemassa. 1731 01:18:26,700 --> 01:18:31,190 Mutta tämä on menossa sanoa, OK, jos painan nappia, 1732 01:18:31,190 --> 01:18:33,650 joten painikkeen jo siellä, kuin että HTML tag. 1733 01:18:33,650 --> 01:18:35,980 Odota, mene takaisin todella nopeasti. 1734 01:18:35,980 --> 01:18:39,470 Tämä tagi oikea täällä on olemaan painikkeen jo. 1735 01:18:39,470 --> 01:18:40,810 On jo painiketta. 1736 01:18:40,810 --> 01:18:44,120 Mutta sitten, JavaScript tag, täällä, 1737 01:18:44,120 --> 01:18:46,160 se sanoo, OK, haluan saada elementti tunnus, 1738 01:18:46,160 --> 01:18:50,300 joten hakupainikkeen sanoo vain, OK, haluan kartoittaa tämän muuttujan että painiketta. 1739 01:18:50,300 --> 01:18:53,120 Niin, että muuttuja on vain helpompi tapa käyttää tätä nappia. 1740 01:18:53,120 --> 01:18:57,300 Ja minä sanon, OK, jos painan että painike, joten jos painan että elementti, 1741 01:18:57,300 --> 01:18:59,560 ja tämä elementti viittaa painiketta, jos painan sitä, 1742 01:18:59,560 --> 01:19:00,875 sitten haluan soittaa toiminto. 1743 01:19:00,875 --> 01:19:03,500 Tässä on yksi niistä anonyymi toiminnot puhuimme. 1744 01:19:03,500 --> 01:19:04,840 >> Soita jokin funktio. 1745 01:19:04,840 --> 01:19:08,840 Inside että toiminto, pohjimmiltaan jotain olemme nähneet paljon, hälytys. 1746 01:19:08,840 --> 01:19:10,477 Klikkaat haku-painiketta. 1747 01:19:10,477 --> 01:19:12,060 Se tulee periaatteessa olla painike. 1748 01:19:12,060 --> 01:19:13,040 Klikkaat sitä. 1749 01:19:13,040 --> 01:19:14,040 Saat että hälytys. 1750 01:19:14,040 --> 01:19:14,850 X ulos. 1751 01:19:14,850 --> 01:19:15,754 Siinä kaikki. 1752 01:19:15,754 --> 01:19:16,254 Joo? 1753 01:19:16,254 --> 01:19:21,980 >> Yleisö: Joten jos laitat käsikirjoituksen [Äänetön], komentosarjatunnus HTML? 1754 01:19:21,980 --> 01:19:24,300 >> DAVIN: Voit laittaa skriptin tag suoraan päähän 1755 01:19:24,300 --> 01:19:30,667 koska sinulla on tämä onload. 1756 01:19:30,667 --> 01:19:32,000 Se on myös, että sinulla on napsautuksella. 1757 01:19:32,000 --> 01:19:34,166 Joten se tulee odottaa klikkaat jotain. 1758 01:19:34,166 --> 01:19:37,470 Mutta onload on vain oltava turvallisia, jotta että kaikki kuormat HTML 1759 01:19:37,470 --> 01:19:38,170 etukäteen. 1760 01:19:38,170 --> 01:19:39,247 Joo? 1761 01:19:39,247 --> 01:19:40,330 Haluatko sanoa jotain? 1762 01:19:40,330 --> 01:19:41,080 >> GABE: [äänetön]. 1763 01:19:41,080 --> 01:19:42,485 DAVIN: Joo. 1764 01:19:42,485 --> 01:19:45,426 >> Yleisö: Niin onload välttelee määritellään muuttuja hakupainikkeen 1765 01:19:45,426 --> 01:19:49,930 mukaan vain sanomalla document.getElementById hakupainikkeen dot [kuultavissa]. 1766 01:19:49,930 --> 01:19:52,320 >> DAVIN: Ehdottomasti, mutta sitten merkkijono vain saa valtava. 1767 01:19:52,320 --> 01:19:55,553 Aivan, joten tämä on vain helpottaa sinua, joo. 1768 01:19:55,553 --> 01:19:56,053 Kyllä? 1769 01:19:56,053 --> 01:19:57,886 >> Yleisö: Mistä me luoda window.onload? 1770 01:19:57,886 --> 01:19:58,951 Tai document.ready? 1771 01:19:58,951 --> 01:20:00,590 >> DAVIN: Kyllä, siellä on. 1772 01:20:00,590 --> 01:20:02,094 Kyllä, siellä on, olen tarkistanut. 1773 01:20:02,094 --> 01:20:03,710 >> GABE: Ei ne välitä. 1774 01:20:03,710 --> 01:20:06,970 >> DAVIN: OK, joten aion kertoa muutenkin. 1775 01:20:06,970 --> 01:20:11,005 Joten periaatteessa, vain yleisesti, niin window.onload odottaa kunnes DOM, kaikki 1776 01:20:11,005 --> 01:20:12,180 HTML, kuormat. 1777 01:20:12,180 --> 01:20:13,513 Se odottaa, kunnes kuvat latautuvat. 1778 01:20:13,513 --> 01:20:14,930 Se odottaa, kunnes kaikki kuormat. 1779 01:20:14,930 --> 01:20:18,410 document.ready, se vain odottaa kunnes DOM kuormia. 1780 01:20:18,410 --> 01:20:22,190 Kun HTML on siellä, kun teidän DOM on siellä, käynnistyy. 1781 01:20:22,190 --> 01:20:23,400 Se on ainoa ero. 1782 01:20:23,400 --> 01:20:24,700 >> GABE: Nopea järki tarkistaa täällä. 1783 01:20:24,700 --> 01:20:29,060 Joten tämä voidaan nähdä sellaista kuten koodirivin, eikö? 1784 01:20:29,060 --> 01:20:33,600 Koska se on window.onload yhtä suuri nippu tavaraa. 1785 01:20:33,600 --> 01:20:39,030 Kun JavaScript lukee tämän, totta vai vääriä, toiminnon saa suorittaa. 1786 01:20:39,030 --> 01:20:40,020 False. 1787 01:20:40,020 --> 01:20:40,920 OK? 1788 01:20:40,920 --> 01:20:44,470 Mitä täällä tapahtuu, olet vain ohimennen Tämän toiminnon anonyyminä toiminnot 1789 01:20:44,470 --> 01:20:45,300 ja window.onload. 1790 01:20:45,300 --> 01:20:48,480 Ja sitten kun se tulee todella saada teloitettiin? 1791 01:20:48,480 --> 01:20:49,600 Kun ikkuna kuormia. 1792 01:20:49,600 --> 01:20:50,420 Se tapahtuma. 1793 01:20:50,420 --> 01:20:52,460 Niin, että jus t asia olemme puhumme aikaisemmin, eikö? 1794 01:20:52,460 --> 01:20:54,580 Joten kun tapahtuma tapahtuu, toiminto tapahtuu. 1795 01:20:54,580 --> 01:20:55,746 Sama juttu onclick. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> DAVIN: OK, niin joku otti pois document.ready. 1798 01:21:03,130 --> 01:21:04,698 Mutta tämä tulee olemaan tarkka same-- 1799 01:21:04,698 --> 01:21:06,864 Yleisö: dollarin merkki, että on document.ready. 1800 01:21:06,864 --> 01:21:07,710 Se oikotie. 1801 01:21:07,710 --> 01:21:08,501 >> DAVIN: Voi, että on? 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 OK, joten tämä keino document.ready, pikakuvake. 1804 01:21:15,500 --> 01:21:19,660 Mutta tämä on sama kuin window.onload paitsi että pieni ero 1805 01:21:19,660 --> 01:21:20,680 Kerroin. 1806 01:21:20,680 --> 01:21:21,870 Ja tämä on jQuery. 1807 01:21:21,870 --> 01:21:25,190 Joten tämä on täsmälleen sama thing-- tämä on JavaScript. 1808 01:21:25,190 --> 01:21:29,500 Tämä on just-- jotkut ihmiset ajattelevat se koska enemmän kevyt, tyylikäs versio 1809 01:21:29,500 --> 01:21:32,370 että on paljon toiminnallisuutta että sinun todennäköisesti käyttää. 1810 01:21:32,370 --> 01:21:34,500 Joten tämä tekee täsmälleen sama asia. 1811 01:21:34,500 --> 01:21:37,110 >> Joten asioita eräänlainen huomauttaa. 1812 01:21:37,110 --> 01:21:40,364 Joten muista esimerkissä oli document.getElementById, 1813 01:21:40,364 --> 01:21:42,280 joten meillä oli pitkä merkkijono, joka tulee saada 1814 01:21:42,280 --> 01:21:44,290 elementti millä tahansa tunnus on. 1815 01:21:44,290 --> 01:21:46,470 Se on korvattava tällä puhelu täällä. 1816 01:21:46,470 --> 01:21:50,860 Niin näet dollarin merkki, sitten näet lainaus, hashtag. 1817 01:21:50,860 --> 01:21:52,370 Hashtag on aina valitsin. 1818 01:21:52,370 --> 01:21:54,730 Siinä sanotaan, OK, tämä on tekemistä tunnus. 1819 01:21:54,730 --> 01:21:56,120 Mikä valitsin luokassa? 1820 01:21:56,120 --> 01:21:57,190 >> Yleisö: Dot. 1821 01:21:57,190 --> 01:21:57,960 >> DAVIN: Dot, oikea. 1822 01:21:57,960 --> 01:22:01,950 Jos olet juuri menossa Valitse tunniste, mikä se on? 1823 01:22:01,950 --> 01:22:03,310 Se on vain tunniste, tarkalleen. 1824 01:22:03,310 --> 01:22:05,560 Ja voit käyttää että täällä, samoin. 1825 01:22:05,560 --> 01:22:08,560 >> GABE: Ja tag, tarkoitamme kuten div, tai esimerkiksi pään. 1826 01:22:08,560 --> 01:22:11,500 >> DAVIN: Tai elin tai p tai mitään sellaista, joo. 1827 01:22:11,500 --> 01:22:14,390 Joten tässä, OK, sen sijaan että hän document.getElementById, 1828 01:22:14,390 --> 01:22:16,500 tämä on vain täsmälleen sama asia. 1829 01:22:16,500 --> 01:22:17,990 Juuri jQuery, se on lyhyempi. 1830 01:22:17,990 --> 01:22:19,860 Joten se on yksinkertaisempi. 1831 01:22:19,860 --> 01:22:23,420 Niin, enää onclick, klikkaa. 1832 01:22:23,420 --> 01:22:26,320 jQuery toiminto, kutsuvat tätä toimintoa. 1833 01:22:26,320 --> 01:22:27,580 Alert on täsmälleen sama. 1834 01:22:27,580 --> 01:22:29,452 Joten se on hieman pienempiä tai vähän 1835 01:22:29,452 --> 01:22:32,410 lyhyempi, hieman bit-- ihmiset ajattelevat se on vähän helpompi kirjoittaa, 1836 01:22:32,410 --> 01:22:34,600 hieman helpompi ymmärtää. 1837 01:22:34,600 --> 01:22:35,640 Mutta tämä on jQuery. 1838 01:22:35,640 --> 01:22:37,887 Monet ihmiset saavat hieman hieman sekava ja huolissaan 1839 01:22:37,887 --> 01:22:40,220 ja he ajattelevat, OK, jQuery on erilainen kuin JavaScript. 1840 01:22:40,220 --> 01:22:42,136 Täytyy muistaa nämä kaksi eri asiaa. 1841 01:22:42,136 --> 01:22:42,740 Se ei ole. 1842 01:22:42,740 --> 01:22:45,315 Tarkoitan, se on erilainen syntaksi. 1843 01:22:45,315 --> 01:22:46,970 Mutta jQuery on JavaScript. 1844 01:22:46,970 --> 01:22:50,050 Se on vain näennäisesti parempi versio, joka 1845 01:22:50,050 --> 01:22:51,967 saattaa olla helpompi ymmärtää, että ihmiset käyttävät. 1846 01:22:51,967 --> 01:22:53,716 GABE: Joo, on rehellinen, että dollarin merkki 1847 01:22:53,716 --> 01:22:57,240 että näet jQuery, että vain nimeksi toiminto, jQuery määrittelee. 1848 01:22:57,240 --> 01:22:58,614 Sillä ei ole mitään erityistä. 1849 01:22:58,614 --> 01:23:03,140 Onko se vain nimi toiminto, aivan kuten voit määritellä dollarin merkki. 1850 01:23:03,140 --> 01:23:05,670 >> DAVIN: Joo, niin puhui tästä. 1851 01:23:05,670 --> 01:23:06,680 Joitakin hyödyllisiä asioita. 1852 01:23:06,680 --> 01:23:10,414 Odotin takaisin vanhoja tietokilpailuja. 1853 01:23:10,414 --> 01:23:13,080 Aiemmin pari tietokilpailuja, he ovat täytyi käyttää asioita, kuten tämä. 1854 01:23:13,080 --> 01:23:15,230 Niin document.ready, niin varmista, että kaikki n 1855 01:23:15,230 --> 01:23:17,410 ladattu ennen kuin aloitat tekemään asioita. 1856 01:23:17,410 --> 01:23:20,120 Valitse tunnus, tai valitse luokan, se oli juuri 1857 01:23:20,120 --> 01:23:24,020 olla lainaus täplittää luokan loppuun lainaus. 1858 01:23:24,020 --> 01:23:26,580 Lähetä, joten jos olet Lähettämällä lomakkeen ja puhelun 1859 01:23:26,580 --> 01:23:28,830 Tämän toiminnon jälkeen lomake väittää. 1860 01:23:28,830 --> 01:23:34,210 Arvo, joten sanokaamme jouduin muodossa jättämisestä, kuten käyttäjätunnus, sähköposti, 1861 01:23:34,210 --> 01:23:34,950 mitä tahansa. 1862 01:23:34,950 --> 01:23:36,010 Minulla oli tekstikenttään. 1863 01:23:36,010 --> 01:23:37,670 Joten olen kirjoittamalla tuohon tekstikenttään. 1864 01:23:37,670 --> 01:23:42,170 No, jos haluat saada arvoa pois, että tekstikenttään käytät piste val. 1865 01:23:42,170 --> 01:23:44,050 Ja sitten, tänne, dot HTML on sama 1866 01:23:44,050 --> 01:23:47,710 on kuin dokumentti piste getElementById dot innerHTML. 1867 01:23:47,710 --> 01:23:50,890 Niin että menee palata voit HTML kyseisestä tunnus. 1868 01:23:50,890 --> 01:23:55,080 Täällä voit vain käyttää joitakin ID tai mitä tahansa piste HTML. 1869 01:23:55,080 --> 01:23:56,930 Että saat HTML siitä elementti. 1870 01:23:56,930 --> 01:24:00,130 Jos halusi sitten muuttaa, että HTML, voit siirtää sen jotain. 1871 01:24:00,130 --> 01:24:05,600 Joten sinun olisi kuin piste HTML, ja sitten sisällä, lainauksia, uusia HTML tai jotain. 1872 01:24:05,600 --> 01:24:07,490 >> GABE: OK, niin AJAX. 1873 01:24:07,490 --> 01:24:10,347 Pidän todella ymmärtää AJAX todella hyvin. 1874 01:24:10,347 --> 01:24:12,430 Joten haluan sinun kaverit ymmärtää AJAX todella hyvin. 1875 01:24:12,430 --> 01:24:14,221 Koska jos et, olet aika paljon menossa 1876 01:24:14,221 --> 01:24:16,810 ymmärtää kaiken, on tekemistä HTTP, PHP, 1877 01:24:16,810 --> 01:24:21,080 JavaScript koska kaikki tulee yhdessä AJAX. 1878 01:24:21,080 --> 01:24:25,130 AJAX ei ole kieltä. 1879 01:24:25,130 --> 01:24:27,000 AJAX tekniikkaa. 1880 01:24:27,000 --> 01:24:31,690 Ja se käyttää paljon erilaisia ​​työkaluja. 1881 01:24:31,690 --> 01:24:35,090 AJAX sanoista asynkroninen JavaScript XML. 1882 01:24:35,090 --> 01:24:36,730 Joten menetelmä, kielen, tiedot. 1883 01:24:36,730 --> 01:24:40,610 >> Joten pääkieli, että käytämme AJAX laukaista kaikki 1884 01:24:40,610 --> 01:24:42,830 ja hoitaa kaiken myöhemmin on Javascript. 1885 01:24:42,830 --> 01:24:45,160 Siksi se koskee hyvin lähellä JavaScript. 1886 01:24:45,160 --> 01:24:49,810 Ja sitten asynkroninen on koska emme tee sitä 1887 01:24:49,810 --> 01:24:51,980 kaikki kerralla, kun olemme sivun lataamisen. 1888 01:24:51,980 --> 01:24:57,190 Tämä on asia, että voimme tehdä asioita tavallaan rinnakkain. 1889 01:24:57,190 --> 01:24:59,725 Perusajatuksena AJAX on, että haluat 1890 01:24:59,725 --> 01:25:02,170 sitä saada tiettyjä tietoja. 1891 01:25:02,170 --> 01:25:06,450 Esimerkiksi, kun kirjoitat uutta käyttäjänimen kun rekisteröidyt käyttäjätunnus, 1892 01:25:06,450 --> 01:25:08,520 minun käyttäjänimi on abc123. 1893 01:25:08,520 --> 01:25:11,671 Ja sitten, lopussa muodossa, sinun täytyy klikkaa Lähetä. 1894 01:25:11,671 --> 01:25:14,420 Ja se piti mennä palvelimelle, ja sitten tarkistaa, jos tietokantaan, 1895 01:25:14,420 --> 01:25:15,594 abc123 on jo siellä. 1896 01:25:15,594 --> 01:25:18,510 Ja jos se on jo olemassa, se sanoo, käyttäjätunnus on jo tietokannassa. 1897 01:25:18,510 --> 01:25:21,010 Ja he, sinun täytyy täyttää ulos koko lomake uudelleen. 1898 01:25:21,010 --> 01:25:23,110 Ja se oli todella, todella huono. 1899 01:25:23,110 --> 01:25:25,440 >> Ja sitten ihmiset sanovat, OK, miksi emme vain 1900 01:25:25,440 --> 01:25:29,560 tehdä pieni HTTP-pyynnön vain tarkistaa onko tämä käyttäjä on tietokanta 1901 01:25:29,560 --> 01:25:32,080 ennen kuin käyttäjä oli lähetä koko lomakkeen? 1902 01:25:32,080 --> 01:25:36,350 Niinpä esimerkiksi silloin, kun käyttäjä on lopettanut kirjoittamisen abc123, 1903 01:25:36,350 --> 01:25:39,660 mennään vain palvelimelle hieman bittinen ja vain saada tosi tai epätosi 1904 01:25:39,660 --> 01:25:43,080 palvelimelta, onko se kelvollinen käyttäjätunnus tai ei. 1905 01:25:43,080 --> 01:25:49,250 OK, joten se on yksi tärkeimmistä käyttää AJAX nykyään yhä. 1906 01:25:49,250 --> 01:25:52,130 >> DAVIN: Niin todella nopeasti, vuonna Ajax puhelun jQuery, 1907 01:25:52,130 --> 01:25:54,770 voisit merkiksi siitä, että haluavat sen olevan synkronoitu. 1908 01:25:54,770 --> 01:25:56,330 Sinun ei pitäisi tehdä tätä. 1909 01:25:56,330 --> 01:25:57,640 Mutta voit tehdä sen. 1910 01:25:57,640 --> 01:25:59,277 Ja jos teit sen, mitä tapahtuisi? 1911 01:25:59,277 --> 01:26:01,610 No, esimerkiksi, kun olet saada uutisia tai mitä tahansa, 1912 01:26:01,610 --> 01:26:05,464 selain on juuri menossa odottamaan asti, että koko puhelu on valmis 1913 01:26:05,464 --> 01:26:08,130 sen sijaan, että teet muut asiat oikein, kun napsautat sitä. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> GABE: Se ei ole ohi enää. 1916 01:26:17,115 --> 01:26:19,681 Oh my god. 1917 01:26:19,681 --> 01:26:20,180 Anteeksi! 1918 01:26:20,180 --> 01:26:22,810 1919 01:26:22,810 --> 01:26:23,601 Jep. 1920 01:26:23,601 --> 01:26:25,350 "Aiemmin asiakkaan tarpeen pyynnön 1921 01:26:25,350 --> 01:26:26,840 koko sisältö verkkosivuilla. " 1922 01:26:26,840 --> 01:26:28,210 Se mitä sanoin. 1923 01:26:28,210 --> 01:26:30,070 Se antaa meille mahdollisuuden lähettää ylimääräisiä GET tai POST 1924 01:26:30,070 --> 01:26:32,140 pyynnöt ilman ladata myös selaimen. 1925 01:26:32,140 --> 01:26:34,806 Joten lopussa päivä, olemme todella tehdä HTTP-pyyntöjä 1926 01:26:34,806 --> 01:26:35,740 täällä JavaScriptin avulla. 1927 01:26:35,740 --> 01:26:39,700 Koska ennen, me vain käyttää JavaScript muuttaa HTML että jo tuli. 1928 01:26:39,700 --> 01:26:43,110 Ja nyt, voimme käyttää sitä käyttöliittymä web-palvelimia samoin. 1929 01:26:43,110 --> 01:26:46,140 Miten tämä tapahtuu on meillä asiakas. 1930 01:26:46,140 --> 01:26:47,340 Davin on asiakas. 1931 01:26:47,340 --> 01:26:50,797 Ja hänellä on kaikki JavaScript käynnissä, koska HTML on tyhmä. 1932 01:26:50,797 --> 01:26:51,630 JavaScript on fiksu. 1933 01:26:51,630 --> 01:26:54,690 Joten Davin Davin on hänen älykäs osa ja hänen tyhmä osa. 1934 01:26:54,690 --> 01:26:57,590 Hän aikoo käyttää hänen fiksu osa nyt. 1935 01:26:57,590 --> 01:27:00,860 Hän aikoo käyttää JavaScript että pyyntö, esimerkiksi 1936 01:27:00,860 --> 01:27:04,340 onko abc123 on tietokannan kanssa tai ei. 1937 01:27:04,340 --> 01:27:08,450 >> Joten Davin, ota, juuri Lähetä minulle HTTP-pyynnön. 1938 01:27:08,450 --> 01:27:09,197 Kiitos. 1939 01:27:09,197 --> 01:27:10,530 Joten hän vain lähetti HTTP-pyynnön. 1940 01:27:10,530 --> 01:27:11,270 Näetkö tuon? 1941 01:27:11,270 --> 01:27:14,700 Ja tämä on vain samalla tavalla että kaikki HTTP-pyyntö lähetetään. 1942 01:27:14,700 --> 01:27:16,830 Selain, Google Chrome tai jotain, on 1943 01:27:16,830 --> 01:27:19,570 näkemään, että Davin n yrittää lähettää HTTP-pyynnön, 1944 01:27:19,570 --> 01:27:20,930 auta hm hieman. 1945 01:27:20,930 --> 01:27:23,950 Ja joka on menossa aina palvelimelle. 1946 01:27:23,950 --> 01:27:27,370 Nyt palvelin on menossa PHP täällä, tai millä tahansa muulla kielellä. 1947 01:27:27,370 --> 01:27:29,990 Aivan kuin normaali HTTP-pyynnön. 1948 01:27:29,990 --> 01:27:31,950 Se on aika paljon normaalia HTTP-pyynnön. 1949 01:27:31,950 --> 01:27:33,658 >> Ja sitten, palvelin aikoo sanoa, OK, 1950 01:27:33,658 --> 01:27:37,270 Davin haluaa minun tarkistaa, tämä abc123 on tietokannassa. 1951 01:27:37,270 --> 01:27:38,310 Puhu malliin. 1952 01:27:38,310 --> 01:27:41,310 Mallin mukaan se ei ole. abc123 on hyvä käyttäjätunnus. 1953 01:27:41,310 --> 01:27:47,940 Ja sitten, web-palvelin on menossa PHP tehdä jonkinlainen tiedoston. 1954 01:27:47,940 --> 01:27:52,280 Se voisi olla kirjaimellisesti vain tiedosto joka sisältää "yes", tai "ei, 1955 01:27:52,280 --> 01:27:53,315 tai jotain sellaista. 1956 01:27:53,315 --> 01:27:54,190 Se voisi olla minkä tahansa tiedoston. 1957 01:27:54,190 --> 01:27:57,080 >> Se voisi olla kuin aion Lähetä Davin kuvan ankka 1958 01:27:57,080 --> 01:28:01,200 jos se tietokantaan ja Lähetä kuva hamsteri 1959 01:28:01,200 --> 01:28:02,420 jos se ei ole tietokannassa. 1960 01:28:02,420 --> 01:28:04,294 Se olisi eräänlainen tyhmä, mutta se toimii. 1961 01:28:04,294 --> 01:28:07,030 OK, joten lähetän ankka Davin. 1962 01:28:07,030 --> 01:28:08,150 Davin sai ankka. 1963 01:28:08,150 --> 01:28:13,330 Ja nyt, kuka käsitellä ankka? 1964 01:28:13,330 --> 01:28:16,390 Davin älykäs osa taas, niin JavaScript, eikö? 1965 01:28:16,390 --> 01:28:18,620 JavaScript lähetetty pyynnöstä, ja JavaScript 1966 01:28:18,620 --> 01:28:22,300 on menossa vastaanottamaan pyynnön ja tulkita sitä jossain muodossa. 1967 01:28:22,300 --> 01:28:26,630 >> Ja tässä mielessä, se tulee sanovat, OK, jos ankka niin olen hyvä. 1968 01:28:26,630 --> 01:28:30,770 Jos hamsteri, niin aion sanoa, no, käyttäjätunnus on jo 1969 01:28:30,770 --> 01:28:31,970 on olemassa tietokannassa. 1970 01:28:31,970 --> 01:28:33,845 Mutta yleensä, et ole aikoo lähettää ankka. 1971 01:28:33,845 --> 01:28:36,740 Olet menossa lähettää jotain hieman fiksummin. 1972 01:28:36,740 --> 01:28:40,320 Ja mitä käytämme on XML. 1973 01:28:40,320 --> 01:28:42,690 Ja viime aikoina, käytämme JSON. 1974 01:28:42,690 --> 01:28:45,629 JSON on vain JavaScript Object merkintätapa, joka 1975 01:28:45,629 --> 01:28:47,670 on pohjimmiltaan saat Koko JavaScript olio. 1976 01:28:47,670 --> 01:28:50,820 Ja laitat sen tiedoston, aivan kuten että CS50 objekti että te nähnyt. 1977 01:28:50,820 --> 01:28:53,090 Voit laittaa sen tiedoston, ja lähetät sen yli Davin. 1978 01:28:53,090 --> 01:28:55,850 >> Joten tässä tapauksessa, haluaisin tehdä JavaScript olio 1979 01:28:55,850 --> 01:28:59,570 ja vain sanoa, käyttäjän on olemassa, kyllä. 1980 01:28:59,570 --> 01:29:01,630 Tai käyttäjä on olemassa, ei. 1981 01:29:01,630 --> 01:29:02,810 Ja lähettää sen takaisin hänelle. 1982 01:29:02,810 --> 01:29:03,830 Ja miksi JSON? 1983 01:29:03,830 --> 01:29:07,330 Koska henkilö kuka vastaanottaa tämä on 1984 01:29:07,330 --> 01:29:10,030 aio käyttää JavaScript käsitellä vastausta. 1985 01:29:10,030 --> 01:29:14,970 Ja JavaScript toimii niin hyvin, koska sitä kutsutaan JavaScript Object merkintätapa. 1986 01:29:14,970 --> 01:29:15,470 Oikea? 1987 01:29:15,470 --> 01:29:19,660 Joten hän voi vain soittaa toiminto ja saat tässä mukava objekti vastausta. 1988 01:29:19,660 --> 01:29:22,890 Ja sitten, hän aikoo tietää että käyttäjä on tietokannassa vai ei. 1989 01:29:22,890 --> 01:29:25,230 >> Niin näet, kaikki sen tulevan yhdessä web-palvelin, 1990 01:29:25,230 --> 01:29:28,450 ja sitten on yksi HTTP pyyntö ja yksi HTTP-vastaus ja kaiken. 1991 01:29:28,450 --> 01:29:30,600 Joten varmista, että te ymmärtää tämän AJAX puhelu 1992 01:29:30,600 --> 01:29:37,260 koska se auttaa sinua ymmärtämään kaikki käsitteiden puhumme. 1993 01:29:37,260 --> 01:29:40,260 >> Joten tässä esimerkki AJAX jQuery. 1994 01:29:40,260 --> 01:29:42,130 Ja tässä, teemme get JSON. 1995 01:29:42,130 --> 01:29:45,660 Joten emme yritä saada kuva kissa täällä, tai ankka. 1996 01:29:45,660 --> 01:29:48,110 Yritämme saada JSON-tiedoston. 1997 01:29:48,110 --> 01:29:51,184 Ja sitten me odottaa se tehdään, piste tehnyt. 1998 01:29:51,184 --> 01:29:52,850 Tämä tarkoittaa Odotan vastausta. 1999 01:29:52,850 --> 01:29:54,180 Se saattaa kestää hetken. 2000 01:29:54,180 --> 01:29:56,360 Sitten voit nähdä hieman lastaus. 2001 01:29:56,360 --> 01:29:59,340 Jos haluat tehdä sivuston. 2002 01:29:59,340 --> 01:30:01,440 Joten dot tehnyt, ja mitä sitten tapahtuu, kun se on tehty? 2003 01:30:01,440 --> 01:30:04,040 Voit kulkea anonyymi toiminto, aivan kuten näimme ennen. 2004 01:30:04,040 --> 01:30:07,800 Koska tehty on tapahtuma, juuri kuten hiiren tai mitä tahansa, 2005 01:30:07,800 --> 01:30:08,710 jQuery. 2006 01:30:08,710 --> 01:30:13,710 Joten ohitat tämän toiminnon kanssa datan, tekstin, tilan ja jqXHR. 2007 01:30:13,710 --> 01:30:15,790 Ja pohjimmiltaan, se on vain joitakin muuttujia 2008 01:30:15,790 --> 01:30:22,160 että voit käyttää myöhemmin olla tilan HTTP-pyynnön, 2009 01:30:22,160 --> 01:30:24,470 tiedot, jotka se on menossa lähettää takaisin sinulle. 2010 01:30:24,470 --> 01:30:28,740 Joten voit myöhemmin tulkita sitä ja tehdä jotain merkityksellistä sen kanssa. 2011 01:30:28,740 --> 01:30:30,240 Ja jos se ei onnistu, kun se voisi epäonnistua? 2012 01:30:30,240 --> 01:30:33,780 No, kun HTTP-pyynnön antaa te 500 tai jotain. 2013 01:30:33,780 --> 01:30:37,420 Sitten se tulee kertoa tila, millainen vika, joka oli, 2014 01:30:37,420 --> 01:30:38,420 ja kaikenlaisia ​​asioita. 2015 01:30:38,420 --> 01:30:40,630 Sinun täytyy varmistaa, käsitellä molemmissa tapauksissa, 2016 01:30:40,630 --> 01:30:42,770 muuten ohjelma sekoaa. 2017 01:30:42,770 --> 01:30:45,820 >> DAVIN: Niin joo, tämä on juuri mitä näit teidän viimeinen s-sarja. 2018 01:30:45,820 --> 01:30:49,720 Varsinainen AJAX puhelu on get JSON. 2019 01:30:49,720 --> 01:30:50,587 Se on puhelu. 2020 01:30:50,587 --> 01:30:52,920 Ja sitten, piste tehty on kuin se tarkistaa, jos se onnistuu. 2021 01:30:52,920 --> 01:30:55,620 Jos se onnistuu, haluat tehdä jotain tietoja. 2022 01:30:55,620 --> 01:30:59,290 Saat takaisin, että JSON-pyynnön tietoja. 2023 01:30:59,290 --> 01:31:00,600 Tämä on mitä saat takaisin. 2024 01:31:00,600 --> 01:31:04,470 Joten jos muistat p-sarja, monet teistä olivat kuin tiedot kiinnike i 2025 01:31:04,470 --> 01:31:06,302 tai mitä tahansa, piste linkki tai otsikko. 2026 01:31:06,302 --> 01:31:08,260 Riippumatta tulee takaisin siitä JSON riippumatta 2027 01:31:08,260 --> 01:31:11,020 kentät ovat kyseisessä JSON esine, se mitä saat takaisin. 2028 01:31:11,020 --> 01:31:12,394 Tiedot on mitä saat takaisin. 2029 01:31:12,394 --> 01:31:15,510 Tekstin tila, vain jotain, joka voit tietää mitä tapahtui. 2030 01:31:15,510 --> 01:31:20,570 Ja sitten, jqXHR, että vain jQuery XML HTTP-pyynnön. 2031 01:31:20,570 --> 01:31:21,990 Se on aivan kuin objekti. 2032 01:31:21,990 --> 01:31:23,932 Ja sitten ei, aivan kuten Gabe sanoi. 2033 01:31:23,932 --> 01:31:27,140 GABE: Meidän pikku esimerkki abc123 vain tarkistaa, jos se on tietokannassa 2034 01:31:27,140 --> 01:31:32,260 tai ei, tietoja olisi jotain tekisi, jos tiedot piste käyttäjätunnus olemassa, 2035 01:31:32,260 --> 01:31:37,720 joka on mitä PHP tuotettu te, jos tiedot piste käyttäjänimi on olemassa, niin 2036 01:31:37,720 --> 01:31:40,880 Aion varoittaa, käyttäjän nimi on jo olemassa. 2037 01:31:40,880 --> 01:31:44,300 Else, olen juuri menossa antaa käyttäjä jatka täyttämällä lomakkeen. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 OK, turvallisuus, viileä. 2040 01:31:50,820 --> 01:31:52,060 >> DAVIN: Haluatko minun? 2041 01:31:52,060 --> 01:31:54,500 >> GABE: Pidän tästä. 2042 01:31:54,500 --> 01:31:57,680 Joten jotain, joka näyttää tutulta. 2043 01:31:57,680 --> 01:31:59,750 Olemme melkein valmiita. 2044 01:31:59,750 --> 01:32:02,670 Joten tämä on vain esimerkki te näki luokassa. 2045 01:32:02,670 --> 01:32:04,860 Käytit argv1 täällä. 2046 01:32:04,860 --> 01:32:06,460 Se on kuin komentorivillä. 2047 01:32:06,460 --> 01:32:09,270 Ja me Mem kopioimalla osaksi puskurikokoa 12. 2048 01:32:09,270 --> 01:32:12,560 Mikä ongelma? 2049 01:32:12,560 --> 01:32:13,660 Puskurin ylivuoto! 2050 01:32:13,660 --> 01:32:15,400 Koska meillä on puskurikokoa 12. 2051 01:32:15,400 --> 01:32:18,400 argv1 voi olla kooltaan kaksi miljardia. 2052 01:32:18,400 --> 01:32:19,960 Emme tee mitään rajaa tarkkailun. 2053 01:32:19,960 --> 01:32:24,970 Joten voisimme kopioida paljon muistia. 2054 01:32:24,970 --> 01:32:28,630 Ja me olla erityisen paha tästä. 2055 01:32:28,630 --> 01:32:32,600 Mitä voisimme tehdä se hyvin, hyvin tarkoittaa tässä tapauksessa? 2056 01:32:32,600 --> 01:32:33,278 Kyllä? 2057 01:32:33,278 --> 01:32:36,528 Yleisö: Osa kaksi miljardia asiaa sisältää koodia, joka palauttaa 2058 01:32:36,528 --> 01:32:38,127 [Äänetön]. 2059 01:32:38,127 --> 01:32:38,710 GABE: Aivan. 2060 01:32:38,710 --> 01:32:41,110 Niin, että sellainen asia, että ihmiset käyttävät 2061 01:32:41,110 --> 01:32:43,344 karkaaminen iPhone, esimerkiksi. 2062 01:32:43,344 --> 01:32:44,260 Niin, että sellainen asia. 2063 01:32:44,260 --> 01:32:48,610 Koska voit vain tehdä laitteesta suorittaa koodia, josta pidät. 2064 01:32:48,610 --> 01:32:50,247 Fix, joten korjaus on helppoa. 2065 01:32:50,247 --> 01:32:51,330 Vain tarkistaa rajoja. 2066 01:32:51,330 --> 01:32:53,455 Voit tarkistaa null koska me aina tarkistaa null 2067 01:32:53,455 --> 01:32:54,940 kun olemme tekemisissä jousille. 2068 01:32:54,940 --> 01:32:57,840 Ja sitten, otat merkkijonon pituus ennen. 2069 01:32:57,840 --> 01:33:00,150 Ja jos merkkijono pituus on voimassa merkkijono 2070 01:33:00,150 --> 01:33:03,700 pituus, joka on sisällä 0 ja 12, sitten olemme hyviä. 2071 01:33:03,700 --> 01:33:07,144 >> DAVIN: Jos et tarkista null, todella nopeasti, mitä tapahtuu? 2072 01:33:07,144 --> 01:33:07,810 Se tulee Seg vika. 2073 01:33:07,810 --> 01:33:10,850 Miksi se tulee Seg vika? 2074 01:33:10,850 --> 01:33:12,510 Koska soitat strlen on null. 2075 01:33:12,510 --> 01:33:13,010 GABE: Joo. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 Totta vai tarua, käyttäen yhtä salasana on hyvä idea. 2078 01:33:19,630 --> 01:33:20,430 >> Yleisö: False. 2079 01:33:20,430 --> 01:33:21,150 >> GABE: False. 2080 01:33:21,150 --> 01:33:23,870 Käytä monia salasanoja, ja iso, pitkiä. 2081 01:33:23,870 --> 01:33:26,050 Lukko kuvakkeet turvallisuuden varmistamiseksi. 2082 01:33:26,050 --> 01:33:27,080 >> Yleisö: False. 2083 01:33:27,080 --> 01:33:27,749 >> GABE: False. 2084 01:33:27,749 --> 01:33:28,790 Se ei tarkoita mitään. 2085 01:33:28,790 --> 01:33:30,480 Se on vain kuvake. 2086 01:33:30,480 --> 01:33:32,824 SSL suojaa mies middle-hyökkäys. 2087 01:33:32,824 --> 01:33:33,490 Yleisö: False. 2088 01:33:33,490 --> 01:33:34,110 GABE: False. 2089 01:33:34,110 --> 01:33:35,355 OK, joten kaikki nämä ovat vääriä. 2090 01:33:35,355 --> 01:33:38,324 2091 01:33:38,324 --> 01:33:39,490 Nice. 2092 01:33:39,490 --> 01:33:40,220 [Äänetön] 2093 01:33:40,220 --> 01:33:42,500 Haluatko puhua tästä? 2094 01:33:42,500 --> 01:33:43,259 Sinun vuorosi. 2095 01:33:43,259 --> 01:33:45,050 DAVIN: Tyypit hyökkäyksiä, mies keskellä. 2096 01:33:45,050 --> 01:33:47,134 Mitä mies middle-hyökkäys? 2097 01:33:47,134 --> 01:33:48,050 Yleisö: [äänetön]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 DAVIN: Jos lähetät HTTP pyynnöstä, he voisivat tehdä tämän, eikö? 2100 01:33:54,020 --> 01:33:57,890 Mutta jos olet lähettää HTTPS, he luultavasti ei voi tehdä tätä. 2101 01:33:57,890 --> 01:33:59,952 On paljon pisteitä pitkin yhteys. 2102 01:33:59,952 --> 01:34:00,660 Sinulla on reitittimet. 2103 01:34:00,660 --> 01:34:01,746 Sinulla on DNS-palvelimet. 2104 01:34:01,746 --> 01:34:04,120 Jos joku pystyy fyysisesti mitä olet lähettää, 2105 01:34:04,120 --> 01:34:06,140 joten joku pystyy itse saada sinun, 2106 01:34:06,140 --> 01:34:08,840 asiakas ja palvelin, ja on nähdä, mitä aiot lähettää, 2107 01:34:08,840 --> 01:34:10,298 tämä on mies middle-hyökkäys. 2108 01:34:10,298 --> 01:34:14,287 Joten mitä yrität saada palvelin, tai sillä on mahdollisuus see-- huonompi, 2109 01:34:14,287 --> 01:34:16,620 saatat nähdä evästeet tai jotain. 2110 01:34:16,620 --> 01:34:19,290 >> Joten esimerkiksi, jos et käytä SSL, hän 2111 01:34:19,290 --> 01:34:21,900 ehkä nähdä sinun istuntoevästeitä. 2112 01:34:21,900 --> 01:34:25,460 Ja tätä kutsutaan istunnon kaappaamisen koska hän näkee tunnus evästeet, 2113 01:34:25,460 --> 01:34:28,317 ja sitten hän voi mennä, että verkkosivuilla ja olevinaan sinua. 2114 01:34:28,317 --> 01:34:31,150 Koska aivan kuten PHP, muistaa kun me kirjautunut sisään, mitä me teemme? 2115 01:34:31,150 --> 01:34:33,340 Asetimme istuntotunnus yhtä tunnus. 2116 01:34:33,340 --> 01:34:34,810 Joten, joka tunnistaa sinut. 2117 01:34:34,810 --> 01:34:38,300 Siksi näet oman salkun ja ei kaikki muutkin salkun. 2118 01:34:38,300 --> 01:34:42,320 >> No, jos olen voinut saada, että evästeen, niin voin kirjautua sivulla. 2119 01:34:42,320 --> 01:34:45,380 Ja sitten, voin vain nähdä kamaa ja alkaa ostaa ja myydä tavaraa. 2120 01:34:45,380 --> 01:34:46,800 Niin, että istunnon kaappaamisen. 2121 01:34:46,800 --> 01:34:50,810 Mutta sinun ei pitäisi voida to-- joten sinun voi käyttää mies middle-hyökkäys 2122 01:34:50,810 --> 01:34:52,290 vaikka he käyttävät SSL. 2123 01:34:52,290 --> 01:34:53,520 Mutta sinun ei pitäisi pystyä. 2124 01:34:53,520 --> 01:34:56,580 Jos he käyttävät SSL, et voi istunnon kaappaus. 2125 01:34:56,580 --> 01:34:58,927 Miksi? 2126 01:34:58,927 --> 01:35:01,135 Koska se kaikki salattu, oikeassa? jos se on salattu, 2127 01:35:01,135 --> 01:35:03,509 ja olen edelleen mies keskimmäinen, olen silti tietosi. 2128 01:35:03,509 --> 01:35:04,279 Se on hyvä. 2129 01:35:04,279 --> 01:35:05,070 Mutta se salattu. 2130 01:35:05,070 --> 01:35:07,750 Joten en voi käyttää sitä. 2131 01:35:07,750 --> 01:35:09,840 Niin, että kaksi. 2132 01:35:09,840 --> 01:35:11,544 >> Real nopea, cross site pyynnöstä väärennös. 2133 01:35:11,544 --> 01:35:13,960 Se on vain, jos siellä linkki ja tämä yhteys tekee jotain 2134 01:35:13,960 --> 01:35:14,890 että et usko sitä pitäisi tehdä. 2135 01:35:14,890 --> 01:35:18,150 Niinpä esimerkiksi, jos linkki oli menossa ostamaan varastoja tai myydä varastoja, 2136 01:35:18,150 --> 01:35:19,360 ja et tiennyt että. 2137 01:35:19,360 --> 01:35:22,040 Sinä napsautti linkkiä, lähetti pyynnön, ostaneet 2138 01:35:22,040 --> 01:35:24,240 tai myydä jotain, et tarkoita tehdä. 2139 01:35:24,240 --> 01:35:25,120 Se siitä. 2140 01:35:25,120 --> 01:35:30,720 >> Cross site scripting, joten tässä, olet ohimennen kautta muuttujan q, 2141 01:35:30,720 --> 01:35:33,510 sijaan kulkee jonkinlaisessa arvoa, ehkä q on kuin nimi. 2142 01:35:33,510 --> 01:35:36,560 Joten sen sijaan kulkee Q on yhtä Davin tai jotain, 2143 01:35:36,560 --> 01:35:38,740 jos et käytä HTML erityistä merkkiä, jos 2144 01:35:38,740 --> 01:35:43,100 ei paeta tätä varmista, että se on OK, sitten voisin kulkea sen sijaan, 2145 01:35:43,100 --> 01:35:46,910 sanotaanko täällä sanon Tulosta tai jotain, 2146 01:35:46,910 --> 01:35:51,070 Sitten voisin kulkea täällä komentosarjakutsun. 2147 01:35:51,070 --> 01:35:53,140 >> Niin, sen sijaan, juuri muuttuja, 2148 01:35:53,140 --> 01:35:54,960 Haluaisin suorita tämä kirjoitus puhelun. 2149 01:35:54,960 --> 01:35:57,065 Joten sisällä että kirjoitus soittaa, mitä se tekee? 2150 01:35:57,065 --> 01:36:00,190 Asiakirja piste sijainti, joka on menossa sijainnin muuttaminen asiakirjan. 2151 01:36:00,190 --> 01:36:02,290 Joten aion suunnata jonnekin muualle. 2152 01:36:02,290 --> 01:36:08,170 Sitä kutsutaan paha kaveri Tässä esimerkissä, erittäin hyvä. 2153 01:36:08,170 --> 01:36:10,536 Voisiko ajatella sanaa. 2154 01:36:10,536 --> 01:36:12,410 Ja sitten, mitä vielä pahempaa on, että aion 2155 01:36:12,410 --> 01:36:16,832 ja sitten asettaa evästeen, joka on noin muuttuja Minulla on tällä sivustolla. 2156 01:36:16,832 --> 01:36:19,040 Aion asettaa se sama Asiakirjan piste evästeen. 2157 01:36:19,040 --> 01:36:20,660 Siksi aion varastaa evästeen. 2158 01:36:20,660 --> 01:36:22,951 Ja aion suunnata joitakin tietoja verkkosivuilla 2159 01:36:22,951 --> 01:36:25,120 että sinun ei pitäisi päästä. 2160 01:36:25,120 --> 01:36:29,250 Ja tämä kaikki tapahtuu, koska olet ei pakenevat mitä olet nähnyt. 2161 01:36:29,250 --> 01:36:29,910 Joo? 2162 01:36:29,910 --> 01:36:32,160 >> Yleisö: Joten vain tehdä sen selväksi, se on 2163 01:36:32,160 --> 01:36:37,550 vulnerable.com että on altis tämän. 2164 01:36:37,550 --> 01:36:39,300 Niin, että linkki voi näkyä samalla sivulla. 2165 01:36:39,300 --> 01:36:42,200 Joku napsauttaa sitä, menee vulnerable.com. 2166 01:36:42,200 --> 01:36:43,700 Sinulla evästeen vulnerable.com. 2167 01:36:43,700 --> 01:36:46,670 Sanotaan Facebook on haavoittuva, joten facebook.com. 2168 01:36:46,670 --> 01:36:48,310 Sinulla on Facebook evästeen. 2169 01:36:48,310 --> 01:36:50,925 Mitä tämä tekee, olet menossa facebook.com, 2170 01:36:50,925 --> 01:36:53,990 se heti suuntaamalla voit badguy.com, 2171 01:36:53,990 --> 01:36:57,182 mutta myös oman evästeen tietoja. 2172 01:36:57,182 --> 01:36:59,310 Joten se on nopea uudelleenohjaus, mutta Facebook evästeen 2173 01:36:59,310 --> 01:37:02,572 mukana, että uudelleenohjaus, ja se, miten he [kuultavissa]. 2174 01:37:02,572 --> 01:37:04,280 GABE: Joo, siellä on joitakin hyvin ilkeyksiä 2175 01:37:04,280 --> 01:37:06,070 että ihmiset voivat tehdä, jos on tämä. 2176 01:37:06,070 --> 01:37:09,190 Esimerkiksi, jos Facebookissa sallittu jokainen muuttaa käyttäjätunnuksesi, 2177 01:37:09,190 --> 01:37:11,680 ja he eivät tee mitään järki tarkastuksia, joten voit 2178 01:37:11,680 --> 01:37:16,810 voisi lisätä JavaScript asia, että Muuttaa kuvan hamsteri. 2179 01:37:16,810 --> 01:37:22,590 Ja lisää saman JavaScript osaksi jokainen joka näkee sivusi. 2180 01:37:22,590 --> 01:37:26,400 Joten jokainen, joka näkee sivusi on sama asia käyttäjätunnus. 2181 01:37:26,400 --> 01:37:30,104 Ja koska se on virus, se leviää eksponentiaalisesti. 2182 01:37:30,104 --> 01:37:32,270 DAVIN: Me ohittaa viimeisen yksi, ja sitten olemme tehneet. 2183 01:37:32,270 --> 01:37:34,120 Joten tämä on vain yksi esimerkki. 2184 01:37:34,120 --> 01:37:36,120 Joten tämä on, ne eivät ole pakenevat heidän SQL pöytä. 2185 01:37:36,120 --> 01:37:37,090 Joten voit pudottaa sen. 2186 01:37:37,090 --> 01:37:38,805 Joten haluat paeta asioita. 2187 01:37:38,805 --> 01:37:44,010 Se oli edellisessä esimerkissä kanssa cross site scripting. 2188 01:37:44,010 --> 01:37:45,430 Valitettavasti me juoksimme hieman myöhässä. 2189 01:37:45,430 --> 01:37:46,870 Huomenna, sorry! 2190 01:37:46,870 --> 01:37:48,560 Huomenna meillä on virka. 2191 01:37:48,560 --> 01:37:50,870 Joten virka-ajan Cabbot 8:00-11:00. 2192 01:37:50,870 --> 01:37:55,240 Aukioloajat ovat tiukasti visailukysymysten. 2193 01:37:55,240 --> 01:37:56,587