1 00:00:00,000 --> 00:00:05,616 2 00:00:05,616 --> 00:00:07,030 >> HANNAH BLUMBERG: Üdv mindenkinek. 3 00:00:07,030 --> 00:00:09,530 Megyünk az induláshoz Csak pár perccel korábban 4 00:00:09,530 --> 00:00:11,738 Mivel van egy csomó Az anyag átvészelni. 5 00:00:11,738 --> 00:00:12,790 Én vagyok Hannah. 6 00:00:12,790 --> 00:00:13,865 Én egy TF. 7 00:00:13,865 --> 00:00:16,239 Maria fog csatlakozni nekünk csak egy pár percre. 8 00:00:16,239 --> 00:00:17,560 Tanít ​​a rész előtt jobbra. 9 00:00:17,560 --> 00:00:19,351 Tanítok részén jogot után, így fogunk 10 00:00:19,351 --> 00:00:21,200 tartani, hogy a másfél óra. 11 00:00:21,200 --> 00:00:25,490 >> Tehát ahogy látni fogjátok fel ide, van elég Néhány témákról kell átjutni, 12 00:00:25,490 --> 00:00:27,200 így megyünk egy kicsit gyors. 13 00:00:27,200 --> 00:00:31,140 De ha bármikor mondunk valamit túl gyorsan, vagy nem érted, 14 00:00:31,140 --> 00:00:33,170 nyugodtan szakítsa meg a kérdéseket. 15 00:00:33,170 --> 00:00:36,610 Azt akarjuk, hogy képes legyen, hogy ez egy felülvizsgálati ülésén hasznos mindenkinek, 16 00:00:36,610 --> 00:00:37,973 amint lehet. 17 00:00:37,973 --> 00:00:38,920 Fantasztikus. 18 00:00:38,920 --> 00:00:41,650 >> Úgyhogy ugrani a néhány téma, hogy mi valójában 19 00:00:41,650 --> 00:00:46,980 Nagyon, nagyon röviden kiterjed a világ kvíz 0 a kvíz 0 felülvizsgálati ülésén. 20 00:00:46,980 --> 00:00:48,840 Így kezdődő láncolt listák. 21 00:00:48,840 --> 00:00:52,090 Szóval, csak győződjön meg róla, hogy néhány alapvető ismereteket láncolt listák 22 00:00:52,090 --> 00:00:55,110 és kényelmes csinál néhány alapvető műveleteket. 23 00:00:55,110 --> 00:00:58,560 >> Tehát csak, hogy vizsgálja felül, kapcsolt listák jobbak, mint tömbök 24 00:00:58,560 --> 00:01:01,020 mert dinamikusan növekszik. 25 00:01:01,020 --> 00:01:03,300 Tehát van, hogy óriási előny. 26 00:01:03,300 --> 00:01:06,031 Láttuk őket használni A hash táblák amikor 27 00:01:06,031 --> 00:01:08,280 Nem tudom pontosan, hogy hány dolgokat fogunk szeretnénk 28 00:01:08,280 --> 00:01:10,900 szúrni a adatszerkezet. 29 00:01:10,900 --> 00:01:15,700 Sajnos, van darab A listába egész memóriát, 30 00:01:15,700 --> 00:01:20,820 ezért nem feltétlenül lesz képes megtenni állandó idejű hozzáférést 31 00:01:20,820 --> 00:01:22,502 bármely eleme a láncolt lista. 32 00:01:22,502 --> 00:01:24,210 Annak érdekében, hogy megtalálják a Különösen elemünkkel 33 00:01:24,210 --> 00:01:26,510 Van iterációkhoz összes ahogy az elején. 34 00:01:26,510 --> 00:01:30,610 Tehát ne feledje, hogy a legtöbb alapvető műveletek omegája 1. 35 00:01:30,610 --> 00:01:32,130 Tehát betét csak megy, hogy 1. 36 00:01:32,130 --> 00:01:37,520 Törlés fog tartani n mióta mennem kell találni azt a listából. 37 00:01:37,520 --> 00:01:39,260 És keresési eltarthat, a legrosszabb esetben n. 38 00:01:39,260 --> 00:01:42,330 Nem tehetünk valamit, mint bináris keresés a láncolt lista 39 00:01:42,330 --> 00:01:45,101 Mivel nem tudjuk, csak véletlenszerűen ugrik a közepén. 40 00:01:45,101 --> 00:01:45,600 Hűvös. 41 00:01:45,600 --> 00:01:48,160 42 00:01:48,160 --> 00:01:48,960 Fantasztikus. 43 00:01:48,960 --> 00:01:50,270 >> Egy kis halom. 44 00:01:50,270 --> 00:01:53,980 Ez megint feljött a kvíz 0, így legyen szuper kényelmes vele. 45 00:01:53,980 --> 00:01:57,210 De halom, kérünk benneteket, emlékezni egy köteg tálcák. 46 00:01:57,210 --> 00:01:59,940 És ez lesz az első az, kitart. 47 00:01:59,940 --> 00:02:02,272 Tehát verem a dolgokat a köteget, majd 48 00:02:02,272 --> 00:02:04,980 ha igyekszünk, hogy valamit off-- ahogy mi hívjuk leugrás 49 00:02:04,980 --> 00:02:06,581 A stack-- jövünk le a tetejét. 50 00:02:06,581 --> 00:02:09,289 És ha azt akarjuk, hogy valamit a verem, hívjuk rámenős. 51 00:02:09,289 --> 00:02:13,170 Tehát ez mindig lesz felnövő alulról, mint egy köteg tálcák. 52 00:02:13,170 --> 00:02:14,540 Fantasztikus. 53 00:02:14,540 --> 00:02:17,607 >> Láttuk stack megvalósított Mindkét kapcsolódó listák és tömbök. 54 00:02:17,607 --> 00:02:19,440 Ha végrehajtási tömbökkel, azt szeretnénk, 55 00:02:19,440 --> 00:02:22,350 hogy győződjön meg arról, hogy nyomon követhesse mind a mérete és a kapacitást. 56 00:02:22,350 --> 00:02:27,540 Tehát méretű lesz az aktuális Számos dolog a verem, 57 00:02:27,540 --> 00:02:32,900 mivel kapacitás az az összes szám dolgokat lehet tárolni a verem. 58 00:02:32,900 --> 00:02:34,220 Hűvös. 59 00:02:34,220 --> 00:02:35,767 >> Nagyon hasonlóan, már a sorban állás. 60 00:02:35,767 --> 00:02:38,850 Ebben az esetben, ahelyett, gondolkodás egy köteg tálcák, gondolom, egy sorban. 61 00:02:38,850 --> 00:02:40,697 Ez lesz az első, first out. 62 00:02:40,697 --> 00:02:42,780 Tehát ha sorakozó valamit a boltban, 63 00:02:42,780 --> 00:02:46,920 reméljük, hogy a személy először vonalat fog segíteni az első. 64 00:02:46,920 --> 00:02:49,350 >> Ahelyett, hogy nyomja, és pop, mint mi a verem, 65 00:02:49,350 --> 00:02:52,000 mi csak azt Enqueue és dequeue. 66 00:02:52,000 --> 00:02:54,970 És újra, ha végrehajtja ezt egy sor, 67 00:02:54,970 --> 00:02:56,720 meg kell nyomon követni nem csak a méret 68 00:02:56,720 --> 00:03:02,390 és a kapacitás, hanem a fej, amely lesz az első a mi sorban. 69 00:03:02,390 --> 00:03:03,010 Hűvös. 70 00:03:03,010 --> 00:03:05,770 Bármilyen kérdése van ezzel? 71 00:03:05,770 --> 00:03:06,320 Fantasztikus. 72 00:03:06,320 --> 00:03:07,640 Mozgó végig. 73 00:03:07,640 --> 00:03:08,564 >> OK, hash táblák. 74 00:03:08,564 --> 00:03:10,605 Itt van, ahol kezd igazán érdekessé. 75 00:03:10,605 --> 00:03:14,150 Tehát egy hash tábla az egyik végrehajtása Egy asszociatív tömb. 76 00:03:14,150 --> 00:03:16,700 Tehát alapvetően mi történt A mi mindezt bemenet, 77 00:03:16,700 --> 00:03:18,750 és adunk el egy hash függvény, amely azt mondja, 78 00:03:18,750 --> 00:03:21,840 OK, ez az, ahol a hasítótábla tartozik. 79 00:03:21,840 --> 00:03:24,860 >> Tehát a legegyszerűbb hash függvény Láttuk, csak azt mondja, 80 00:03:24,860 --> 00:03:28,170 OK, tegyük fel akarjuk helyezni húrok a hasító táblázatban. 81 00:03:28,170 --> 00:03:30,870 És egy nagyon egyszerű ötlet Lehet azt mondani, OK, 82 00:03:30,870 --> 00:03:34,350 nézzük csak rendezni a első betű a szó. 83 00:03:34,350 --> 00:03:37,570 Tehát itt is látszik, veszünk banán, rakjuk át a hash függvény, 84 00:03:37,570 --> 00:03:40,190 és azt mondja, hé, hogy kell menni index 1. 85 00:03:40,190 --> 00:03:45,120 >> Tehát lényegében gondolni egy hash asztal, mint egy csomó különböző vödrök. 86 00:03:45,120 --> 00:03:49,880 És ezek mindegyike kanalak megy hogy tartsa a fejét egy láncolt lista. 87 00:03:49,880 --> 00:03:55,030 És abban a láncolt lista, ahol csak tudunk ténylegesen különböző adattartalommal. 88 00:03:55,030 --> 00:03:57,820 >> Tehát búvár egy kicsit egy hash függvény, itt 89 00:03:57,820 --> 00:03:59,870 A példa csak ismertetett, ahol már csak mondani, 90 00:03:59,870 --> 00:04:02,460 OK, hogy az első betű a szó, és mi vagyunk 91 00:04:02,460 --> 00:04:03,990 fog rendezni a vödörben. 92 00:04:03,990 --> 00:04:08,490 Tehát valószínűleg, nem lesz 26 vödrök, egy-egy betűt az ábécé. 93 00:04:08,490 --> 00:04:10,090 Miért nem ez a nagy hash függvény? 94 00:04:10,090 --> 00:04:13,461 Mi teszi ezt a nem ideális? 95 00:04:13,461 --> 00:04:13,960 Igen. 96 00:04:13,960 --> 00:04:15,790 >> Közönség: Fogsz hogy az ütközések. 97 00:04:15,790 --> 00:04:16,390 >> HANNAH BLUMBERG: Igen, pontosan. 98 00:04:16,390 --> 00:04:18,000 Te mész, hogy az ütközések. 99 00:04:18,000 --> 00:04:18,954 Szóval ez egy dolog. 100 00:04:18,954 --> 00:04:21,620 És fogunk beszélni, hogyan tudjuk erősít ütközések pillanatok alatt. 101 00:04:21,620 --> 00:04:23,980 Egy másik probléma ezzel a Különösen hash függvény 102 00:04:23,980 --> 00:04:25,980 az, hogy a különböző vödrök lesznek 103 00:04:25,980 --> 00:04:28,960 csinos drasztikusan különböző méretekben. 104 00:04:28,960 --> 00:04:33,840 >> Tudjuk, hogy van egy csomó több szót, kezdődik egy, mint X, 105 00:04:33,840 --> 00:04:38,980 így fogunk, hogy nagyon kiegyensúlyozatlan kanalak a hasító táblázatban. 106 00:04:38,980 --> 00:04:40,050 Hűvös. 107 00:04:40,050 --> 00:04:41,340 Szóval igen, térjünk vissza a lényeg az ütközések. 108 00:04:41,340 --> 00:04:42,900 Mit tegyünk, ha van egy ütközés? 109 00:04:42,900 --> 00:04:44,490 >> Van egy pár különböző lehetőségeket. 110 00:04:44,490 --> 00:04:47,600 Tehát egy, így feltételezem próbálunk hogy bogyó a mi hash tábla. 111 00:04:47,600 --> 00:04:50,370 És azt látjuk, ó, szeretnénk hogy betette index 1, 112 00:04:50,370 --> 00:04:52,070 de a banán már ott él. 113 00:04:52,070 --> 00:04:53,110 Mit fogunk csinálni? 114 00:04:53,110 --> 00:04:54,560 Van két fő lehetőséget. 115 00:04:54,560 --> 00:04:58,050 >> Számú azt mondhatjuk, OK, nincs helye az index 1, 116 00:04:58,050 --> 00:05:03,210 De tételezzük fel, nézz át amíg nem találunk egy másik nyitott helyre. 117 00:05:03,210 --> 00:05:08,490 Tehát azt fogjuk mondani, OK, Mondjuk a helyszínen 3. 118 00:05:08,490 --> 00:05:09,240 Ez az egyik lehetőség. 119 00:05:09,240 --> 00:05:11,470 Ezt hívják lineáris szondázás. 120 00:05:11,470 --> 00:05:15,500 >> És a második lehetőség azt mondja, OK, nos, Nézzük csak, hogy minden ilyen vödrök 121 00:05:15,500 --> 00:05:17,470 heads kapcsolt listák. 122 00:05:17,470 --> 00:05:21,910 És nem baj, ha több mint egy dolog egy vödör. 123 00:05:21,910 --> 00:05:23,820 Mi csak fog fűzze rá a front. 124 00:05:23,820 --> 00:05:26,032 Tehát itt láthatjuk, OK, amikor be bogyó, mi 125 00:05:26,032 --> 00:05:28,240 csak volt banán, egyfajta tolt át egy kicsit 126 00:05:28,240 --> 00:05:29,842 és dobott egy bogyó van. 127 00:05:29,842 --> 00:05:31,050 És ez is teljesen rendben. 128 00:05:31,050 --> 00:05:32,830 Ez az úgynevezett külön láncolás. 129 00:05:32,830 --> 00:05:38,100 Akkor gondolom, ennek a fajta, mint egy sor fejek láncolt listák. 130 00:05:38,100 --> 00:05:41,950 Bármilyen kérdésre hash asztalok, hash függvények? 131 00:05:41,950 --> 00:05:44,290 Fantasztikus. 132 00:05:44,290 --> 00:05:45,470 >> Fák és próbál. 133 00:05:45,470 --> 00:05:47,287 Tehát egy fa semmiféle Az adatstruktúra 134 00:05:47,287 --> 00:05:49,453 ahol van valami a hierarchia vagy valamilyen 135 00:05:49,453 --> 00:05:51,247 A rangsor a különböző tárgyakat. 136 00:05:51,247 --> 00:05:53,580 És ez lesz szuper világossá, ha egy példát. 137 00:05:53,580 --> 00:05:56,960 És láttuk próbálkozás mellett A hash táblák, az pset5-- 138 00:05:56,960 --> 00:06:00,700 ami megint teljesen tisztességes játék Ennek quiz-- a másik adat 139 00:06:00,700 --> 00:06:03,110 struktúrák, hogy mi lehet tárolni különböző dolog. 140 00:06:03,110 --> 00:06:06,782 Abban az esetben, szótár, tároltunk egy csomó szó. 141 00:06:06,782 --> 00:06:08,240 Szóval vessünk egy pillantást néhány fát. 142 00:06:08,240 --> 00:06:10,190 Szóval ez egy példa egy fa. 143 00:06:10,190 --> 00:06:13,105 Ez egy fajta struktúra, hogy hierarchikus felépítés, 144 00:06:13,105 --> 00:06:15,920 ahol láthatjuk, hogy Ez az 1 csomópont tetején 145 00:06:15,920 --> 00:06:20,750 van valamiféle rangot fenti 2. és 3. amelyek a fenti 4, 5, és 6 és 7, 146 00:06:20,750 --> 00:06:22,860 amelyek a fenti 8 és 9. 147 00:06:22,860 --> 00:06:25,210 Szóval ez minden, amit azalatt, hogy fa, így csak ilyen 148 00:06:25,210 --> 00:06:26,660 A kép ezt a fejedben. 149 00:06:26,660 --> 00:06:29,050 >> Most, hogy van egy pár speciálisabb fák. 150 00:06:29,050 --> 00:06:31,070 Tehát az egyik példa egy bináris fa. 151 00:06:31,070 --> 00:06:33,290 És egy bináris fa, megint csak lesz 152 00:06:33,290 --> 00:06:37,040 egy adatstruktúra valamilyen hierarchia, de az egyes csomópontok 153 00:06:37,040 --> 00:06:38,650 lehet, legfeljebb két gyermek. 154 00:06:38,650 --> 00:06:41,530 Ez az, ahol a szó bináris származik. 155 00:06:41,530 --> 00:06:43,410 Tehát ez egy példa egy bináris fa. 156 00:06:43,410 --> 00:06:45,720 Szóval ez egy kisebb kategóriát a fák. 157 00:06:45,720 --> 00:06:48,960 >> Most térjünk még speciálisabb és beszélni bináris trees-- bináris keresés 158 00:06:48,960 --> 00:06:51,310 fák, inkább. 159 00:06:51,310 --> 00:06:56,430 Tehát itt az ötlet nem csak azt teszi, minden csomópont, amelyeknek legfeljebb két gyermek, 160 00:06:56,430 --> 00:07:00,300 de a gyerekek a bal lesznek kisebbek 161 00:07:00,300 --> 00:07:03,450 és az összes gyermeket a jobbra, nagyobb lesz. 162 00:07:03,450 --> 00:07:05,890 Tehát hirdetmény csak a mi bináris fa, ott 163 00:07:05,890 --> 00:07:08,650 nincs kapcsolat a számokat. 164 00:07:08,650 --> 00:07:12,990 De mi a bináris keresés fa, azt látjuk, OK, itt 44. 165 00:07:12,990 --> 00:07:17,080 És minden szám balra 44 kisebb és mindent a jobb 166 00:07:17,080 --> 00:07:17,920 nagyobb. 167 00:07:17,920 --> 00:07:20,130 >> És hogy tartja minden szintjét a fa. 168 00:07:20,130 --> 00:07:24,810 Tehát itt, ez kisebb, mint 22 és ez az érték nagyobb, mint 22. 169 00:07:24,810 --> 00:07:26,390 És ez bináris kereső fa. 170 00:07:26,390 --> 00:07:28,900 Miért gondoljuk, hogy hívják bináris kereső fa? 171 00:07:28,900 --> 00:07:30,651 Milyen algoritmus nem is emlékeztet a? 172 00:07:30,651 --> 00:07:31,650 Közönség: bináris keresés. 173 00:07:31,650 --> 00:07:32,480 HANNAH BLUMBERG: bináris keresés. 174 00:07:32,480 --> 00:07:35,150 Mert ha keres egy adott számot a fán, 175 00:07:35,150 --> 00:07:38,800 minden pontján, akkor csak kopogtattak off fele a fa, ami nagyszerű. 176 00:07:38,800 --> 00:07:43,800 És így fog adni nekünk valamit hogy néz ki, mint a bináris keresés. 177 00:07:43,800 --> 00:07:45,870 Bármi kérdés? 178 00:07:45,870 --> 00:07:47,570 Rendben, jó. 179 00:07:47,570 --> 00:07:48,560 >> Rendben, megpróbálja. 180 00:07:48,560 --> 00:07:49,657 Mindenki kedvenc. 181 00:07:49,657 --> 00:07:51,990 Tehát ez a példa, hogy láttunk egy csomó osztályban. 182 00:07:51,990 --> 00:07:54,710 És ismét, ez is csak egy így tudjuk tárolni az adatokat. 183 00:07:54,710 --> 00:07:57,530 Abban az esetben, szótár, ismét, ez csak lesz szálakat. 184 00:07:57,530 --> 00:08:00,870 Szóval lássuk, mi ez valójában néz ki, mint egy valamivel alacsonyabb szinten. 185 00:08:00,870 --> 00:08:03,690 >> Szóval vessünk egy pillantást egy csomópont egy Trie. 186 00:08:03,690 --> 00:08:07,532 És azt látjuk, OK, ott lesz hogy egy logikai és egy csomópont, 187 00:08:07,532 --> 00:08:09,170 A mutató egy csomópontot. 188 00:08:09,170 --> 00:08:11,400 És azt látjuk, hogy a Logikai hívják is_word. 189 00:08:11,400 --> 00:08:13,490 Tehát lényegében ez lesz megfelelnek 190 00:08:13,490 --> 00:08:16,750 hogy ezek a kis háromszögek azt mondja, ha már ütött itt, 191 00:08:16,750 --> 00:08:19,100 megtalálta a szót. 192 00:08:19,100 --> 00:08:23,670 >> Tudjuk, hogy a "Turing" fölött Itt egy teljes szót, 193 00:08:23,670 --> 00:08:28,030 mivel csak T-U-R nem egy szó mert nem látjuk, hogy a kis delta. 194 00:08:28,030 --> 00:08:31,440 És az a kis delta, újra, megfelel ennek is_word, 195 00:08:31,440 --> 00:08:34,480 ez a logikai is_word. 196 00:08:34,480 --> 00:08:36,320 És akkor mi van egy sor gyerekeknek. 197 00:08:36,320 --> 00:08:39,860 Tehát minden szinten, akkor van egy adott csomóponthoz, 198 00:08:39,860 --> 00:08:42,470 és hogy csomópontokat egy tömb az egész ábécét. 199 00:08:42,470 --> 00:08:44,346 >> Így láthatja, újra, Ebben picture-- vagyok 200 00:08:44,346 --> 00:08:48,170 fog tartani ugrás vissza forth--, hogy a tömb tetején 201 00:08:48,170 --> 00:08:51,640 van egy csomó különböző csomópontok jön ki belőle. 202 00:08:51,640 --> 00:08:57,140 Ez 26, illetve 27 ha azt szeretné, felvenni egy extra karakter. 203 00:08:57,140 --> 00:09:01,320 És ez ad nekünk egy módon kell tárolni adatainkat 204 00:09:01,320 --> 00:09:04,450 oly módon, hogy lehet nézte hogy tudod nézni szuper gyors. 205 00:09:04,450 --> 00:09:06,650 Mi a keresési ideje egy Trie? 206 00:09:06,650 --> 00:09:07,970 >> Közönség: [hallható]. 207 00:09:07,970 --> 00:09:08,300 >> HANNAH BLUMBERG: Igen. 208 00:09:08,300 --> 00:09:09,550 Elméletileg ez az állandó idő. 209 00:09:09,550 --> 00:09:13,230 Ez csak akkor lesz a mérete A kívánt szót, hogy néz ki. 210 00:09:13,230 --> 00:09:15,950 Még ha hozzátesszük zillion több szót a Trie, 211 00:09:15,950 --> 00:09:18,160 ez nem fog minket tovább meghatározásához 212 00:09:18,160 --> 00:09:19,690 Ha egy adott szó a Trie. 213 00:09:19,690 --> 00:09:21,412 Szóval ez tényleg szép. 214 00:09:21,412 --> 00:09:23,697 >> Közönség: Csak úgy inicializálni a tömbben? 215 00:09:23,697 --> 00:09:24,780 Kihagyott egy pontot, vagy kettő. 216 00:09:24,780 --> 00:09:26,130 Lehet csak beszélni hogy egy pillanatra? 217 00:09:26,130 --> 00:09:26,680 >> HANNAH BLUMBERG: Persze, teljes mértékben. 218 00:09:26,680 --> 00:09:27,590 Jó kérdés. 219 00:09:27,590 --> 00:09:31,140 A kérdés az volt, mi Van egy tömb, ami 220 00:09:31,140 --> 00:09:34,180 megy, hogy node sztár szemben a csak csomópontot, nem igaz? 221 00:09:34,180 --> 00:09:35,180 Hűvös. 222 00:09:35,180 --> 00:09:37,990 Tehát itt, amit mondunk a mi tömb csak 223 00:09:37,990 --> 00:09:40,035 lesz mutatókat többi tömbben. 224 00:09:40,035 --> 00:09:42,910 Szóval ez essentially-- ez a fajta Olyan, mintha egy láncolt lista ezen a módon 225 00:09:42,910 --> 00:09:46,620 ahol minden egyes ilyen gyermekek csak pont a következő csomópontot. 226 00:09:46,620 --> 00:09:49,030 >> És az is, hogy mi valójában meghatározzák, hé, OK, 227 00:09:49,030 --> 00:09:52,320 mi már végigjárt egy egész szó, ez a szó a szótárban, 228 00:09:52,320 --> 00:09:54,476 mi csak ezt nézd is_word. 229 00:09:54,476 --> 00:09:55,100 Nagy kérdés. 230 00:09:55,100 --> 00:09:55,675 Igen. 231 00:09:55,675 --> 00:09:56,216 Közönség: OK. 232 00:09:56,216 --> 00:09:57,470 Tehát mi volt az áthidalási időt biztosít a Trie? 233 00:09:57,470 --> 00:09:58,386 >> HANNAH BLUMBERG: Persze. 234 00:09:58,386 --> 00:10:01,852 Tehát a futásidejű egy Trie számára keresési lesz állandó időt. 235 00:10:01,852 --> 00:10:04,310 Szóval ez csak lesz a betűk száma a szót. 236 00:10:04,310 --> 00:10:06,310 Ez nem függ a méret a szótárban 237 00:10:06,310 --> 00:10:09,510 vagy a mérete az adatok szerkezetét. 238 00:10:09,510 --> 00:10:12,170 Tehát itt egy kicsit egyszerűbb példa. 239 00:10:12,170 --> 00:10:15,430 >> Ebben az esetben, akkor láthatjuk, hogy a szó denevér a szótárban 240 00:10:15,430 --> 00:10:18,900 és van zoommal, de Nem kell valami, mint állatkertben. 241 00:10:18,900 --> 00:10:20,050 Hogyan tudnánk tenni állatkertben? 242 00:10:20,050 --> 00:10:24,276 Hogyan adjunk állatkertben a mi Szótár, hogy mi Trie? 243 00:10:24,276 --> 00:10:24,776 Igen. 244 00:10:24,776 --> 00:10:27,014 >> Közönség: Tedd is_word igaz az [hallhatatlan]. 245 00:10:27,014 --> 00:10:27,930 HANNAH BLUMBERG: Jó. 246 00:10:27,930 --> 00:10:31,731 Tehát azt mondanám, Z-O-O, és akkor lenne szeretné, hogy ellenőrizze le azt a dobozt is. 247 00:10:31,731 --> 00:10:32,230 Nagy. 248 00:10:32,230 --> 00:10:35,160 249 00:10:35,160 --> 00:10:37,930 Hasonlítsuk össze nagyon röviden megpróbálja versus hash táblák. 250 00:10:37,930 --> 00:10:39,770 Megpróbálja igazán nagy mert, ahogy mondta, 251 00:10:39,770 --> 00:10:41,610 az általuk nyújtott folyamatos idejű keresést. 252 00:10:41,610 --> 00:10:44,285 De a nagy hátránya is ők humongous. 253 00:10:44,285 --> 00:10:46,160 Tudod kap az értelemben, még néztem, 254 00:10:46,160 --> 00:10:48,454 hogy fog tartani Hatalmas mennyiségű memóriát. 255 00:10:48,454 --> 00:10:50,620 Tehát ők fognak sokkal nagyobb, mint hash táblák, 256 00:10:50,620 --> 00:10:52,270 de ők fognak adni nekünk sokkal gyorsabb keresést alkalommal. 257 00:10:52,270 --> 00:10:54,478 Szóval ez a fajta a kompromisszum, mi érdekli Önt, 258 00:10:54,478 --> 00:10:57,350 hogy ez a sebesség vagy a memória. 259 00:10:57,350 --> 00:11:02,251 Bármilyen kérdésre sem, hogy, minden a C adat struktúrákat. 260 00:11:02,251 --> 00:11:02,750 Gyönyörű. 261 00:11:02,750 --> 00:11:03,250 OKÉ. 262 00:11:03,250 --> 00:11:07,322 Fogunk lépni egy kicsit kis webfejlesztés Mária. 263 00:11:07,322 --> 00:11:08,280 MÁRIA ZLATKOVA: Szép. 264 00:11:08,280 --> 00:11:09,036 OKÉ. 265 00:11:09,036 --> 00:11:10,380 >> HANNAH BLUMBERG: Tudod használni a laptopot. 266 00:11:10,380 --> 00:11:11,255 >> MÁRIA ZLATKOVA: Szép. 267 00:11:11,255 --> 00:11:13,320 268 00:11:13,320 --> 00:11:14,912 Oké, rendben. 269 00:11:14,912 --> 00:11:17,120 Ahogy haladunk most web fejlődés, beszélgettünk egy kicsit 270 00:11:17,120 --> 00:11:20,680 a változó engedélyeket A fájlok és könyvtárak 271 00:11:20,680 --> 00:11:24,190 hogy így legyen hozzáférhető a többi felhasználó számára, hogy a világ, 272 00:11:24,190 --> 00:11:28,640 és így láthatjuk, hogy Alapvetően tudjuk közvetíteni számukra 273 00:11:28,640 --> 00:11:32,600 ha fejlesztjük a dolgok, mint honlapok hogy már többnyire csinál. 274 00:11:32,600 --> 00:11:36,400 >> Így láttuk a chmod parancsot, amely változást mód, alapvetően. 275 00:11:36,400 --> 00:11:39,300 Ez egy Linux parancs és megváltoztatja a hozzáférési jogosultságokat 276 00:11:39,300 --> 00:11:40,410 fájlrendszer-objektumok. 277 00:11:40,410 --> 00:11:43,370 És egy fájlrendszer objektum Csak egy könyvtár, egy fájlt, 278 00:11:43,370 --> 00:11:46,810 bármi, amit tudsz megváltoztatni a jogosultságokat. 279 00:11:46,810 --> 00:11:53,750 >> Tehát, hogy a jogosultságokat, beírjuk a ls, lista, -l. 280 00:11:53,750 --> 00:11:56,500 És ha beírjuk, hogy mi általában látni néhány engedélyekkel 281 00:11:56,500 --> 00:11:59,660 hogy néz ki, mint valami ebben a előtt egy könyvtár nevét. 282 00:11:59,660 --> 00:12:01,260 Szóval d utal könyvtárba. 283 00:12:01,260 --> 00:12:05,930 És akkor mi van három triádok, hogy alapvetően 284 00:12:05,930 --> 00:12:11,675 olvassa el a jogosultságokat vagy egy felhasználó, egy csoport, vagy a világ. 285 00:12:11,675 --> 00:12:16,490 >> A típusú engedélyeket, hogy mi lehet Van erre a három embercsoportok 286 00:12:16,490 --> 00:12:20,830 amelyek vagy r olvasási, w az levelet, és x-futtatás. 287 00:12:20,830 --> 00:12:23,650 És mi lehet azoknak a A csoport és a világ is. 288 00:12:23,650 --> 00:12:26,940 A trükkös dolog az, hogy néha ha beírjuk a chmod parancsot, 289 00:12:26,940 --> 00:12:32,960 mi lenne be is számot hogy állt három bit. 290 00:12:32,960 --> 00:12:36,990 Így lehet csinálni, mint 777 és hogy alapvetően 291 00:12:36,990 --> 00:12:40,450 utalt a hozzáadott érték minden ilyen triádok 292 00:12:40,450 --> 00:12:45,060 Mivel az R utal, hogy 4, w lenne lásd 2 és x utal az 1, 293 00:12:45,060 --> 00:12:50,020 így ha összeadódnak, minden egyes számhoz jött le, hogy a kumulatív száma 294 00:12:50,020 --> 00:12:52,750 halmozott értéke 0 és 7 között. 295 00:12:52,750 --> 00:12:55,150 Szóval mi is van 0 A semmilyen jogosultsággal nem rendelkeznek. 296 00:12:55,150 --> 00:12:58,200 És ez alapvetően nekünk Az engedélyeket a felhasználókra, 297 00:12:58,200 --> 00:13:00,450 A csoport, vagy a világ. 298 00:13:00,450 --> 00:13:02,620 Kapcsolatos kérdéseket a következő eddig? 299 00:13:02,620 --> 00:13:05,331 >> Közönség: Azt mondtad, olvasott, 4? 300 00:13:05,331 --> 00:13:06,164 MÁRIA ZLATKOVA: Igen. 301 00:13:06,164 --> 00:13:07,568 Közönség: [hallható]. 302 00:13:07,568 --> 00:13:08,504 HANNAH BLUMBERG: Ja. 303 00:13:08,504 --> 00:13:11,790 Közönség: És akkor hozzáadásával mindazoknak mások azt jelzi a számot. 304 00:13:11,790 --> 00:13:12,665 MÁRIA ZLATKOVA: Igen. 305 00:13:12,665 --> 00:13:14,970 Igen. 306 00:13:14,970 --> 00:13:17,810 Ezek nagy kérdések. 307 00:13:17,810 --> 00:13:20,490 Bájos. 308 00:13:20,490 --> 00:13:25,340 Következő, beugrott HTML és kicsit többet webfejlesztés. 309 00:13:25,340 --> 00:13:27,990 Szóval csak azt jelenti, HTML Hypertext Markup Language. 310 00:13:27,990 --> 00:13:30,460 És ez a jelölő nyelv, amely egy szabványos 311 00:13:30,460 --> 00:13:32,720 hogy ez létrehozásához használt weboldalakat. 312 00:13:32,720 --> 00:13:35,750 >> Úgy hívják jelölőnyelv mert nem fordítódnak. 313 00:13:35,750 --> 00:13:40,310 Nem azt mondja, hogy néhány kódot kell hajtható végre, vagy ilyesmi. 314 00:13:40,310 --> 00:13:44,800 Csak felvázolja és leírja, hogy a web 315 00:13:44,800 --> 00:13:46,840 oldalt kell létrehozni minden elemében 316 00:13:46,840 --> 00:13:48,460 és hogyan kell nézni, hogy a felhasználó. 317 00:13:48,460 --> 00:13:53,090 318 00:13:53,090 --> 00:13:57,110 >> Néhány HTML tag, hogy mi Odamentem a következők. 319 00:13:57,110 --> 00:14:00,500 Minden HTML dokumentumok kezdődött a DOCTYPE html. 320 00:14:00,500 --> 00:14:02,550 Aztán mindig a html tag. 321 00:14:02,550 --> 00:14:03,930 Van egy fej és test. 322 00:14:03,930 --> 00:14:07,890 És fontos, hogy HTML-ben ez a fajta beágyazott szerkezetben 323 00:14:07,890 --> 00:14:09,280 mert nagyon világos. 324 00:14:09,280 --> 00:14:13,200 És akkor nagyon világossá válik, amikor kell nyitni, és valóban közel címkéket. 325 00:14:13,200 --> 00:14:18,400 És mindig be kell zárnia címkék nyitottunk. 326 00:14:18,400 --> 00:14:23,170 >> És itt van néhány típusú A dolgok előtt, hogy mi akar. 327 00:14:23,170 --> 00:14:26,580 Tehát van, például, címmel CS50. 328 00:14:26,580 --> 00:14:31,980 És akkor mi valójában A link egy stíluslap 329 00:14:31,980 --> 00:14:34,030 amely meghatározza, hogyan formázza a honlapunkon. 330 00:14:34,030 --> 00:14:35,650 Azaz CSS. 331 00:14:35,650 --> 00:14:39,320 Fogunk menni rajta a következő pár diák is. 332 00:14:39,320 --> 00:14:42,580 >> A szervezetben, mi meg Egyes osztályok és azonosítók. 333 00:14:42,580 --> 00:14:45,860 És emlékeztetőül, ismét, Azonosítók egyediek és osztályok 334 00:14:45,860 --> 00:14:47,390 lehet rendelni több példány. 335 00:14:47,390 --> 00:14:52,110 És ez csak azt jelenti, hogy tudjuk használni osztályok és azonosítók 336 00:14:52,110 --> 00:14:55,860 a más structures-- igen, Például belül CSS fájlok vagy stílus 337 00:14:55,860 --> 00:15:00,940 sheets-- utalni egyes elemeinek és alapvetően azt mondják, hogy azt akarjuk, hogy stílus 338 00:15:00,940 --> 00:15:03,280 vagy néhány elem tervezése Néhány különleges módon. 339 00:15:03,280 --> 00:15:06,440 És utalunk rájuk az azonosítók és osztályok. 340 00:15:06,440 --> 00:15:09,870 És mi is utal különböző dolgokat címkéket, valamint, 341 00:15:09,870 --> 00:15:13,830 de azonosítók és osztályok csak nekünk néhány sokoldalúság és mi pontosan mi 342 00:15:13,830 --> 00:15:15,850 szeretnénk hivatkozni. 343 00:15:15,850 --> 00:15:19,620 >> Tehát csak egy példa. 344 00:15:19,620 --> 00:15:22,730 Mi lehet megint belül CSS fájlban, ahol 345 00:15:22,730 --> 00:15:25,770 szeretné meghatározni néhány style-- így a színek, betűtípusok, 346 00:15:25,770 --> 00:15:30,340 és ilyesmi hogy-- tudjuk határozza meg a stílust a szervezetben. 347 00:15:30,340 --> 00:15:32,640 Szóval, amely meghatározza, hogy az egész testet tag. 348 00:15:32,640 --> 00:15:36,160 De akkor mi is meghatározhatjuk, stílus egy #title. 349 00:15:36,160 --> 00:15:40,390 És ismét, a hashtag utal a Azonosítót és a dot utal az osztály. 350 00:15:40,390 --> 00:15:44,760 >> És akkor az .info, mi is beállíthatja néhány attribútum. 351 00:15:44,760 --> 00:15:49,750 Viszont mikor megyünk vissza, mi volt a mi osztály info néven, és mi ID címet. 352 00:15:49,750 --> 00:15:53,422 És azt látjuk, hogy utalunk által számukra #title és .info. 353 00:15:53,422 --> 00:15:55,380 Közönség: Mondhatjuk kettőskereszt [? elfogadja engem? ?] 354 00:15:55,380 --> 00:15:55,725 MÁRIA ZLATKOVA: Sajnáljuk? 355 00:15:55,725 --> 00:15:58,120 Közönség: Mondhatjuk kettőskereszt [? elfogadja engem? ?] 356 00:15:58,120 --> 00:16:01,400 MÁRIA ZLATKOVA: Hashtag azt jelenti, ID, így #title 357 00:16:01,400 --> 00:16:07,890 utal, hogy bármilyen elemet ezt azonosítóval, úgynevezett címet. 358 00:16:07,890 --> 00:16:10,735 És akkor a pont utal egy osztály. 359 00:16:10,735 --> 00:16:14,590 Tehát .info utal ez az elem mert az osztály info. 360 00:16:14,590 --> 00:16:15,090 Aha. 361 00:16:15,090 --> 00:16:17,905 >> Közönség: Miért megkülönbözteti őket a HTML? 362 00:16:17,905 --> 00:16:20,985 Miért mondod bizonyos dolgok Azonosítók és bizonyos dolgok osztály? 363 00:16:20,985 --> 00:16:22,610 MÁRIA ZLATKOVA: Ez csak legfeljebb you-- 364 00:16:22,610 --> 00:16:24,151 HANNAH BLUMBERG: ismételje meg a kérdést. 365 00:16:24,151 --> 00:16:25,370 MÁRIA ZLATKOVA: Ó, sajnálom. 366 00:16:25,370 --> 00:16:29,480 Miért tesz különbséget az egyes elemek mint azonosítók és egyéb kellékeket osztályok? 367 00:16:29,480 --> 00:16:34,760 Ez csak azért, mert ez Tényleg sokszor design választás. 368 00:16:34,760 --> 00:16:38,520 Ez ad egy csomó sokoldalúság, hogy 369 00:16:38,520 --> 00:16:43,250 tudja mondani akarok ebben a konkrét elem hogy ezt az azonosítót, mert szeretné 370 00:16:43,250 --> 00:16:45,300 hogy csinál egy csomó dolgot vele, és én csak 371 00:16:45,300 --> 00:16:50,010 szeretnénk definiálni stílus, bizonyos stílust vagy színes bármi azt az elemet. 372 00:16:50,010 --> 00:16:52,630 És a módja, hogy csak így ez egy azonosítót. 373 00:16:52,630 --> 00:16:55,060 >> És akkor, ha azt akarjuk, hogy egy pár különböző tételek 374 00:16:55,060 --> 00:16:58,940 rendelkező, hogy ahelyett, megy és beállítási their-- 375 00:16:58,940 --> 00:17:03,840 ahelyett, hogy azt tag, mert a tag lenne 376 00:17:03,840 --> 00:17:07,369 állítsa be a sejt az egész címke minden alkalommal, hogy a használt címkét, 377 00:17:07,369 --> 00:17:09,740 akkor meg egy osztályt, hogy több elem. 378 00:17:09,740 --> 00:17:15,109 És akkor csak elérni, hogy az osztály, és azt mondják Azt akarom, hogy stílus ebben az osztályban, hogy így. 379 00:17:15,109 --> 00:17:17,579 >> És ismét, az osztály lehet több különböző tételeket 380 00:17:17,579 --> 00:17:21,150 és az azonosító egyedinek kell lennie. 381 00:17:21,150 --> 00:17:21,849 Nagy kérdés. 382 00:17:21,849 --> 00:17:25,339 Más kérdés? 383 00:17:25,339 --> 00:17:26,220 OK, félelmetes. 384 00:17:26,220 --> 00:17:30,680 385 00:17:30,680 --> 00:17:35,330 Ez megint, hogy ezek a szelektor hivatkozik a CSS, a hashtag, 386 00:17:35,330 --> 00:17:40,031 dot, vagy anélkül semmit hozzárendeljük a stílus néhány tag, 387 00:17:40,031 --> 00:17:40,530 mint a test. 388 00:17:40,530 --> 00:17:43,500 389 00:17:43,500 --> 00:17:47,860 És itt van az általános szintaktikai hogy ez hogyan történik. 390 00:17:47,860 --> 00:17:52,830 391 00:17:52,830 --> 00:17:55,680 >> Megismételni néhány bevált gyakorlatok HTML és CSS, 392 00:17:55,680 --> 00:17:59,170 meg kell, újra, közel az összes A HTML címkéket, hogy nyitunk. 393 00:17:59,170 --> 00:18:03,950 És mi azt ajánljuk, hogy tenni a végleges projekt, 394 00:18:03,950 --> 00:18:10,560 valamint CS50 pénzügyminiszter, az, hogy arról, hogy minden HTML érvényesíti. 395 00:18:10,560 --> 00:18:12,920 És ez történik a W3-érvényesítő. 396 00:18:12,920 --> 00:18:16,940 >> És akkor mit tettünk és mi ajánljuk csinál 397 00:18:16,940 --> 00:18:19,790 elválasztja stílus, így CSS jelölő HTML. 398 00:18:19,790 --> 00:18:24,210 Tehát minden, ami kapcsolódik hogyan Ön az oldal fog vizuálisan nézni 399 00:18:24,210 --> 00:18:27,330 és hogyan fog módosítani kell kerüljön egy CSS dokumentumot. 400 00:18:27,330 --> 00:18:33,880 És akkor a jelölések mondván, hogy a dolgok vannak egymáshoz képest HTML, 401 00:18:33,880 --> 00:18:37,550 és hogy kell bemenni A HTML dokumentumokban. 402 00:18:37,550 --> 00:18:38,590 Bármi kérdés? 403 00:18:38,590 --> 00:18:39,226 MHM. 404 00:18:39,226 --> 00:18:42,628 >> Közönség: pontosan mi is folyik tovább a oldal érvényesítés 405 00:18:42,628 --> 00:18:47,945 amikor mi érvényesítésére HTML [hallhatatlan] létre? 406 00:18:47,945 --> 00:18:49,850 >> MÁRIA ZLATKOVA: Szóval what-- hiszed. 407 00:18:49,850 --> 00:18:53,020 Tehát pontosan mi is folyik folytassák az oldal érvényesítés 408 00:18:53,020 --> 00:18:55,570 és miért kell ezt csinálni? 409 00:18:55,570 --> 00:18:59,180 Alapvetően azt kell tennie, hogy mert egy csomó idő, a böngésző, 410 00:18:59,180 --> 00:19:01,390 ha nem zárja címkét vagy valami ilyesmi, 411 00:19:01,390 --> 00:19:05,680 A böngésző még mindig tart, hogy render egy oldalt, és lehet, hogy még mindig működik, 412 00:19:05,680 --> 00:19:10,840 de a legjobb gyakorlatot, hogy győződjön meg arról, hogy már megint zárva minden tag, 413 00:19:10,840 --> 00:19:13,190 hogy minden elem a módon, hogy legyen, 414 00:19:13,190 --> 00:19:18,470 és alapvetően, hogy ez a egyezmények, amelyek előre. 415 00:19:18,470 --> 00:19:21,970 >> Ez megint csak egy dolog, amit meg kell 416 00:19:21,970 --> 00:19:24,040 tanulni, hogy csinál, szemben, amelynek 417 00:19:24,040 --> 00:19:25,696 hanyagabb kódot, és ilyesmi. 418 00:19:25,696 --> 00:19:26,688 Igen. 419 00:19:26,688 --> 00:19:27,680 Oh Bocsánat. 420 00:19:27,680 --> 00:19:29,221 Azt hittem emelni a kezét. 421 00:19:29,221 --> 00:19:31,240 Közönség: Nem, én csak [hallható]. 422 00:19:31,240 --> 00:19:33,800 >> MÁRIA ZLATKOVA: OK. 423 00:19:33,800 --> 00:19:34,640 >> Közönség: Köszönöm. 424 00:19:34,640 --> 00:19:36,181 >> MÁRIA ZLATKOVA: Természetesen, köszönöm. 425 00:19:36,181 --> 00:19:41,680 Szóval megint folyik be, hogyan információ átvitelre 426 00:19:41,680 --> 00:19:44,630 és kommunikációs modellek adatot átvinni. 427 00:19:44,630 --> 00:19:45,730 TCP / IP. 428 00:19:45,730 --> 00:19:48,600 TCP csak azt jelenti Váltó Control Protocol és IP 429 00:19:48,600 --> 00:19:51,260 utal Internet Protocol. 430 00:19:51,260 --> 00:19:54,275 És ez csak utal vannak az adatok szállítani. 431 00:19:54,275 --> 00:19:59,470 432 00:19:59,470 --> 00:20:02,710 >> Ha van néhány adat, kell szállítani you-- így 433 00:20:02,710 --> 00:20:06,770 Ön kérheti az adott szerver. 434 00:20:06,770 --> 00:20:09,800 Például, amikor mi megpróbál hozzáférni cs50.net, 435 00:20:09,800 --> 00:20:12,420 teszünk egy kérést A CS50 szerver és mi 436 00:20:12,420 --> 00:20:14,720 látom, hogy azt akarjuk, hogy ezt a fajta információt. 437 00:20:14,720 --> 00:20:19,294 És akkor alapulnak ezt a protokollt mennyi ez az információ nem került sor, 438 00:20:19,294 --> 00:20:21,460 A szerver ad információt vissza hozzánk, az ügyfél. 439 00:20:21,460 --> 00:20:25,590 És akkor képesek vagyunk megtekintéséhez Az információt az oldal 440 00:20:25,590 --> 00:20:26,390 és akkor használd. 441 00:20:26,390 --> 00:20:29,300 442 00:20:29,300 --> 00:20:33,050 >> Így aztán Hypertext Transfer Protocol is csak egy protokollt, vagy állítsa 443 00:20:33,050 --> 00:20:37,470 egyezmények, amely meghatározza, hogyan A böngésző és a webszerver 444 00:20:37,470 --> 00:20:38,890 közölnie kell. 445 00:20:38,890 --> 00:20:43,730 És hogy ezt minden együtt, HTTP, ismét, 446 00:20:43,730 --> 00:20:50,960 Csak határozza meg, hogy ez a hipertext meghatározott A HTML, amit már dolgozom rajta, 447 00:20:50,960 --> 00:20:59,500 hogyan kell szállítani Önnek és hogyan, hogy az adatok, hogy Önnek kézbesített 448 00:20:59,500 --> 00:21:00,540 lesz az Ön számára. 449 00:21:00,540 --> 00:21:05,990 >> És ezért, ha a srácok emlékezni egy osztályt, volt egy csomó kéri 450 00:21:05,990 --> 00:21:08,970 és mi volt a sok szintaxis ezeket a kéréseket, hogy mi vagyunk 451 00:21:08,970 --> 00:21:10,250 megyek át most. 452 00:21:10,250 --> 00:21:13,270 Tehát újra, amikor küldjük a kéréssel, hogy a szerveren, 453 00:21:13,270 --> 00:21:15,920 definiálnunk kell egy pár dolgot. 454 00:21:15,920 --> 00:21:18,520 Tehát meg kell találni a típus A kérés, hogy mi a beállítást. 455 00:21:18,520 --> 00:21:22,180 És újra, meg kell, például GET egyik típusa a módszer 456 00:21:22,180 --> 00:21:25,290 hogy mi van a kérésünket. 457 00:21:25,290 --> 00:21:31,710 >> És akkor HTTP / 1.1 csak a protokoll, mi használ jelenleg. 458 00:21:31,710 --> 00:21:34,224 459 00:21:34,224 --> 00:21:36,890 A legtöbb időt, hogy fog a protokoll, mi használ. 460 00:21:36,890 --> 00:21:40,290 Tehát, ha van egy kérdés mint hogy a kvíz. 461 00:21:40,290 --> 00:21:43,120 Ez az egyezmények hogy van eddig. 462 00:21:43,120 --> 00:21:46,580 >> Backslash utal, miféle A dolgok mi kérő. 463 00:21:46,580 --> 00:21:52,810 Ezután, a mi fogadó jelentése például, ebben az esetben igyekszünk menni google.com. 464 00:21:52,810 --> 00:21:57,070 Tehát ez az érték a házigazda. 465 00:21:57,070 --> 00:21:59,330 Ez egy olyan típusú kérés hogy lehet küldeni. 466 00:21:59,330 --> 00:22:02,890 >> És akkor egyfajta válasz, amely kell küldeni, ismét alapján ez a protokoll, 467 00:22:02,890 --> 00:22:05,190 ismét, HTTP / 1.1. 468 00:22:05,190 --> 00:22:07,150 Szóval ez a HTTP verzió újra. 469 00:22:07,150 --> 00:22:09,730 200 OK csak a státusz kódot. 470 00:22:09,730 --> 00:22:12,860 És ez rendben van csak egy mondat alapul, hogy státusz kódot. 471 00:22:12,860 --> 00:22:15,520 >> És akkor a Content-Type utal, hogy a típus 472 00:22:15,520 --> 00:22:20,295 A visszaadott veled, hogy van az adott weboldal, amit kap 473 00:22:20,295 --> 00:22:22,570 és hogy a böngésző teheti utána. 474 00:22:22,570 --> 00:22:24,401 És ez text / html. 475 00:22:24,401 --> 00:22:26,660 >> Közönség: Mit 1.1 kifejezés? 476 00:22:26,660 --> 00:22:29,910 >> MÁRIA ZLATKOVA: Ez csak a változata of-- ó, mit 1,1 jelent? 477 00:22:29,910 --> 00:22:37,075 Ez csak a verzió, a HTTP változata egy protokoll, amely mi használ. 478 00:22:37,075 --> 00:22:37,700 Nagy kérdés. 479 00:22:37,700 --> 00:22:38,366 Más kérdés? 480 00:22:38,366 --> 00:22:41,222 481 00:22:41,222 --> 00:22:45,080 >> Közönség: Tudna összefoglalni Content-Type tényleg gyorsan? 482 00:22:45,080 --> 00:22:48,150 >> MÁRIA ZLATKOVA: Szóval, hogy az, amit a szerver. 483 00:22:48,150 --> 00:22:51,020 típusától information-- mi tartalom típus volt a kérdés. 484 00:22:51,020 --> 00:22:53,400 Szóval ez volt az a fajta információ, amit kap vissza 485 00:22:53,400 --> 00:22:58,200 a szerverről, hogy milyen típusú adatok, hogy a böngésző majd 486 00:22:58,200 --> 00:23:00,604 render, hogy az Ön által használt. 487 00:23:00,604 --> 00:23:03,020 Közönség: Ez az, amit ez a protokoll azt mondja, hogy nem? 488 00:23:03,020 --> 00:23:03,390 MÁRIA ZLATKOVA: Sajnáljuk? 489 00:23:03,390 --> 00:23:05,380 Közönség: Ez az, amit a protokoll mondani? 490 00:23:05,380 --> 00:23:05,915 MÁRIA ZLATKOVA: A protocol-- 491 00:23:05,915 --> 00:23:07,940 Közönség: --what a Content-Type van, vagy what-- 492 00:23:07,940 --> 00:23:12,040 MÁRIA ZLATKOVA: A protokoll alapú on-- mi a protokoll mondom? 493 00:23:12,040 --> 00:23:16,070 Ez csak az utat hogy ezt az információt 494 00:23:16,070 --> 00:23:18,610 te kaptad alapján arról, hogy milyen protokoll 495 00:23:18,610 --> 00:23:21,830 volt ez az információ van szállított vissza hozzád. 496 00:23:21,830 --> 00:23:23,500 Van ennek értelme fajta? 497 00:23:23,500 --> 00:23:28,320 498 00:23:28,320 --> 00:23:30,070 HANNAH BLUMBERG: Ön lehet gondolni protokoll 499 00:23:30,070 --> 00:23:33,300 mint egy-- Azt hiszem professzor Malan leírta 500 00:23:33,300 --> 00:23:36,910 osztályban, mint olyan, mint egy-- ez olyan, mint ami megegyezik az emberi kézfogás. 501 00:23:36,910 --> 00:23:44,930 Mondjuk, hé, én vagyok a kérelmet, és én tudja, hogyan kell kezelni a HTTP 1.1 változat. 502 00:23:44,930 --> 00:23:48,770 És akkor a szerver azt mondja, ó, OK, én-- és mindkettő létezik. 503 00:23:48,770 --> 00:23:51,337 Azt is tudom, hogyan kell kezelni a HTTP / 1.1. 504 00:23:51,337 --> 00:23:53,170 És fogok adni Ön vissza tartalmakat. 505 00:23:53,170 --> 00:23:56,230 Ebben az esetben, ez lesz hogy a text / html. 506 00:23:56,230 --> 00:23:58,480 Szóval ez a fajta csak egy módja közülük communicating-- 507 00:23:58,480 --> 00:24:00,480 >> MÁRIA ZLATKOVA: Ez csak megerősítve, hogy te 508 00:24:00,480 --> 00:24:03,290 mindkét alábbi ugyanaz protokoll és hogy mind 509 00:24:03,290 --> 00:24:06,620 Az ügyfél és a server-- így A böngésző és a server-- 510 00:24:06,620 --> 00:24:09,280 fajta tudhatod, mit veszel beszél, és 511 00:24:09,280 --> 00:24:12,557 Az egyezmény halad adatok. 512 00:24:12,557 --> 00:24:17,022 >> Közönség: Tehát a Content-Type part-- A Content-Type text / html-- ez 513 00:24:17,022 --> 00:24:18,521 egy külön része ugyanazt az üzenetet? 514 00:24:18,521 --> 00:24:20,509 Vagy ez része mondjuk, 200? 515 00:24:20,509 --> 00:24:22,010 Vajon 200 közölje velük, hogy vagy is-- 516 00:24:22,010 --> 00:24:23,770 >> MÁRIA ZLATKOVA: 200 azt mondja, minden ment az OK gombra. 517 00:24:23,770 --> 00:24:27,900 És akkor a tartalom típus egyfajta elkülönített részben ugyanazt az üzenetet, 518 00:24:27,900 --> 00:24:34,274 és azt mondja a dolog, hogy én visszaérkezett az ilyen típusú text / html. 519 00:24:34,274 --> 00:24:35,690 Ez csak így több információt. 520 00:24:35,690 --> 00:24:38,700 521 00:24:38,700 --> 00:24:39,995 Van valami hozzá? 522 00:24:39,995 --> 00:24:40,495 OKÉ. 523 00:24:40,495 --> 00:24:43,590 524 00:24:43,590 --> 00:24:46,530 >> Más kérdés ezzel kapcsolatban? 525 00:24:46,530 --> 00:24:48,370 Fantasztikus. 526 00:24:48,370 --> 00:24:54,070 Szóval néhány más HTTP állapotok tudnánk mellett 200 OK, 527 00:24:54,070 --> 00:24:59,500 is, hogy láttunk talán esetleg egy csomó olyan 403 és 404. 528 00:24:59,500 --> 00:25:05,190 Tehát 404, ha akarták hozzáférést valamit, ami nem létezik. 529 00:25:05,190 --> 00:25:10,460 Így például a CS50 Pénzügy psets, 530 00:25:10,460 --> 00:25:15,640 ha már renderelés quote.html és akkor nem volt, hogy a fájl, 531 00:25:15,640 --> 00:25:19,740 hanem meg kellett quote.php, hogy azt eredményezné, hogy 404 Not Found 532 00:25:19,740 --> 00:25:21,600 mert a fájl nem létezik. 533 00:25:21,600 --> 00:25:25,690 >> Egy 403 megtiltották, hogy utal, hogy a jogosultságokat. 534 00:25:25,690 --> 00:25:31,150 Tehát, ha néhány fájl nem olvasható a világban, akkor lehet, hogy egy 403 tért vissza. 535 00:25:31,150 --> 00:25:34,510 536 00:25:34,510 --> 00:25:37,810 Mások, hogy lehet, get-- 301, Véglegesen áthelyezve; 537 00:25:37,810 --> 00:25:41,300 302, talált; 304, Módosított; 400, Bad Request; 538 00:25:41,300 --> 00:25:47,330 majd Internal Server Error számára 500 és 503, szolgáltatás nem érhető el. 539 00:25:47,330 --> 00:25:48,140 Igen. 540 00:25:48,140 --> 00:25:51,490 >> Közönség: Will azt vártuk, memorizálni mindazokat állapotokat? 541 00:25:51,490 --> 00:25:53,739 MÁRIA ZLATKOVA: szerettem volna őket a puskát. 542 00:25:53,739 --> 00:25:55,146 [NEVETÉS] 543 00:25:55,146 --> 00:25:59,954 Közönség: vagyunk várhatóan tudom, hogy mi váltja ki mindegyiket? 544 00:25:59,954 --> 00:26:00,995 MÁRIA ZLATKOVA: Valóban? 545 00:26:00,995 --> 00:26:03,870 HANNAH BLUMBERG: Az is, hogy mi már fuss into-- így a kérdés was-- 546 00:26:03,870 --> 00:26:08,010 MÁRIA ZLATKOVA: Biztos, hogy várhatóan mit mindegyiknek státusz 547 00:26:08,010 --> 00:26:09,330 kódok ítélhetnek meg? 548 00:26:09,330 --> 00:26:13,240 Tehát az is, hogy már használt és berohant, azt mondanám, hogy igen. 549 00:26:13,240 --> 00:26:16,610 Így már biztosan látott 200 OK, és előadásokat azt psets. 550 00:26:16,610 --> 00:26:19,071 Láttuk 403, 404. 551 00:26:19,071 --> 00:26:20,550 Mert más is? 552 00:26:20,550 --> 00:26:22,690 >> HANNAH BLUMBERG: Én mondjuk 500 tűnik tisztességes játék. 553 00:26:22,690 --> 00:26:23,330 >> MÁRIA ZLATKOVA: 500, igen. 554 00:26:23,330 --> 00:26:24,246 >> HANNAH BLUMBERG: Igen. 555 00:26:24,246 --> 00:26:27,006 Csak egy általános értelemben vett A mi okozza őket. 556 00:26:27,006 --> 00:26:28,880 És azt is csak ezek neveket, akkor milyen 557 00:26:28,880 --> 00:26:32,890 mint hogy egy tanult hiszem, mint hogy valójában mi okozta. 558 00:26:32,890 --> 00:26:36,919 Például mozgassa tartósan, valószínűleg a fájlt áthelyezték véglegesen. 559 00:26:36,919 --> 00:26:39,328 >> Közönség: De egy korábbi vizsga, volt egy olyan 560 00:26:39,328 --> 00:26:41,050 hogyan várják tőlünk, hogy válaszoljak? 561 00:26:41,050 --> 00:26:42,883 >> HANNAH BLUMBERG: Ez Megérte nulla pont. 562 00:26:42,883 --> 00:26:45,870 A kérdés az 418 a teáskanna technikailag egy HTTP státusz, 563 00:26:45,870 --> 00:26:47,090 de megérte a nulla pont. 564 00:26:47,090 --> 00:26:48,320 Nyilvánvaló, hogy nem te vagy elvárható, hogy tudja őket. 565 00:26:48,320 --> 00:26:49,670 >> Közönség: Ez egy igazi? 566 00:26:49,670 --> 00:26:51,970 >> HANNAH BLUMBERG: Igazi egy, de ez nem jelent semmit. 567 00:26:51,970 --> 00:26:52,700 Ez csak egy vicc. 568 00:26:52,700 --> 00:26:55,480 569 00:26:55,480 --> 00:26:57,010 Internet emberek vicces. 570 00:26:57,010 --> 00:26:59,680 >> MÁRIA ZLATKOVA: Nagy kérdés, srácok. 571 00:26:59,680 --> 00:27:01,452 Más kérdés? 572 00:27:01,452 --> 00:27:04,891 >> Közönség: Mi a belső szerver hiba? 573 00:27:04,891 --> 00:27:06,640 MÁRIA ZLATKOVA: Belső server error csak 574 00:27:06,640 --> 00:27:10,050 azt jelenti, hogy már tud kommunikálni 575 00:27:10,050 --> 00:27:13,400 A szerver valamiért. 576 00:27:13,400 --> 00:27:15,400 Tehát ez nem feltétlenül valamit, hogy köze 577 00:27:15,400 --> 00:27:19,170 az ügyfél, vagy valami ilyesmi. 578 00:27:19,170 --> 00:27:22,170 Nem tudom, hogy bármilyen konkrét példát hogy eljutottunk addig több mint elmagyarázni, 579 00:27:22,170 --> 00:27:23,000 de igen. 580 00:27:23,000 --> 00:27:23,250 >> HANNAH BLUMBERG: Persze. 581 00:27:23,250 --> 00:27:25,625 Így például, mint mondjuk mondjuk dolgoztál mashup 582 00:27:25,625 --> 00:27:30,440 és a Google szerver lement néhány Ezért egy áramszünet, mondjuk. 583 00:27:30,440 --> 00:27:33,400 Ez lenne egy belső szerver hiba vagy valamilyen of-- kedvellek 584 00:27:33,400 --> 00:27:34,630 nem kapunk választ vissza. 585 00:27:34,630 --> 00:27:35,260 >> MÁRIA ZLATKOVA: Igen. 586 00:27:35,260 --> 00:27:37,050 Csak ha éppen tud kommunikálni 587 00:27:37,050 --> 00:27:40,299 A szerver valamiért, mert Az, hogy megy le, vagy valamilyen más okból. 588 00:27:40,299 --> 00:27:44,430 589 00:27:44,430 --> 00:27:47,690 Így beugrott a PHP. 590 00:27:47,690 --> 00:27:49,930 PHP, HTML eltérően, egy programozási nyelv. 591 00:27:49,930 --> 00:27:54,820 És elkezdtük használni, mert ez Nagyon hasznos webfejlesztés. 592 00:27:54,820 --> 00:27:56,940 >> Mi először használta a CS50 pénzügyminiszter. 593 00:27:56,940 --> 00:28:02,240 És alapvetően segít nekünk a együtt ez a jelölés, a tervezés, 594 00:28:02,240 --> 00:28:07,460 és hogyan is használják az információs megjelenítéséhez dolgokat egy weboldalon. 595 00:28:07,460 --> 00:28:11,870 Tehát a PHP maga jelenti PHP Hipertext feldolgozó, 596 00:28:11,870 --> 00:28:15,360 így ez egy rekurzív backnorym magától. 597 00:28:15,360 --> 00:28:22,330 És nyitó tag PHP mi a bal és jobb nyilak a kérdőjelek 598 00:28:22,330 --> 00:28:23,060 és php. 599 00:28:23,060 --> 00:28:25,890 >> Tehát már láttam egy csomó belőle. 600 00:28:25,890 --> 00:28:29,150 Most, mi csak fog menni fölött néhány alapvető dolgot róla. 601 00:28:29,150 --> 00:28:32,280 Összességében a PHP a változó kezdőbetűjét, dollár jel. 602 00:28:32,280 --> 00:28:35,660 Mi nem adja, ismét, változó írja többé. 603 00:28:35,660 --> 00:28:38,450 Csakúgy, mint tettük C, nem kell csinálni. 604 00:28:38,450 --> 00:28:41,670 605 00:28:41,670 --> 00:28:44,490 >> Tehetünk egy csomó különböző cucc változók. 606 00:28:44,490 --> 00:28:47,750 Mi lehet összerakni őket a összefűző őket 607 00:28:47,750 --> 00:28:52,900 A dot jelölést, amely nem tudtunk csinálni a C újra. 608 00:28:52,900 --> 00:28:57,490 Ismét van egy kicsit több sokoldalúságot PHP szempontjából változók. 609 00:28:57,490 --> 00:29:00,080 Ismét, nincs egy fő funkciója. 610 00:29:00,080 --> 00:29:03,370 >> És PHP értelmezett szemben összeállított, 611 00:29:03,370 --> 00:29:09,970 Hogy mennyire tudtuk, hogy a C-fájlokat, nem kell tennie, hogy a PHP. 612 00:29:09,970 --> 00:29:15,440 Hanem az is, hogy a nyelv működteti magát, akkor azt úgy értelmezzük. 613 00:29:15,440 --> 00:29:18,550 És majd lazán gépelt Csak azt jelenti, hogy 614 00:29:18,550 --> 00:29:22,490 Nem kell megadni egy változót típusa és a változó típusok 615 00:29:22,490 --> 00:29:25,415 érteni a futás során. 616 00:29:25,415 --> 00:29:29,185 >> Közönség: Hát mit jelenti dot összefűzés? 617 00:29:29,185 --> 00:29:30,060 MÁRIA ZLATKOVA: Persze. 618 00:29:30,060 --> 00:29:37,660 Ha azt akarjuk, hogy a dolgokat together-- így ha volt néhány változó, 619 00:29:37,660 --> 00:29:41,500 volt a 3-as és mi volt a másik változó, ami volt az értéke karakterlánc, 620 00:29:41,500 --> 00:29:45,920 tudnánk tenni a változókat azáltal, hogy egy pont között 621 00:29:45,920 --> 00:29:46,970 és összefűzése őket. 622 00:29:46,970 --> 00:29:52,670 Vagy tudnánk létrehozni egy nevű változó nevét 623 00:29:52,670 --> 00:29:56,900 és tedd össze összefűző két húr. 624 00:29:56,900 --> 00:30:00,680 >> Tehát, ha lenne egy húr kétágyas idézetek és rakjuk egy pont után, 625 00:30:00,680 --> 00:30:03,660 és akkor még egy húr, hogy hozna létre egy string összesen. 626 00:30:03,660 --> 00:30:05,242 >> Közönség: OK. 627 00:30:05,242 --> 00:30:06,450 MÁRIA Lettország: Volt, hogy törölje? 628 00:30:06,450 --> 00:30:07,099 Közönség: Igen. 629 00:30:07,099 --> 00:30:07,890 MÁRIA ZLATKOVA: OK. 630 00:30:07,890 --> 00:30:08,766 Igen. 631 00:30:08,766 --> 00:30:11,146 >> Közönség: Amikor azt mondod értelmezni, nem pedig össze, 632 00:30:11,146 --> 00:30:14,160 Miről beszél akkor nem kell lennie, mint specifikus, amikor 633 00:30:14,160 --> 00:30:15,906 jön a PHP Versus C? 634 00:30:15,906 --> 00:30:18,085 635 00:30:18,085 --> 00:30:20,710 MÁRIA ZLATKOVA: Amikor azt mondjuk, értelmezni, szemben összeállított, 636 00:30:20,710 --> 00:30:21,850 mit is jelent? 637 00:30:21,850 --> 00:30:26,220 Tehát ez azt jelenti, hogy nem kell futtatható fájlokat a PHP futtatására. 638 00:30:26,220 --> 00:30:29,870 Ez azt jelenti, hogy fut, mint megy. 639 00:30:29,870 --> 00:30:31,650 Ennek van értelme? 640 00:30:31,650 --> 00:30:32,495 Egy kicsit több. 641 00:30:32,495 --> 00:30:34,620 HANNAH BLUMBERG: Szóval lehet gondolni tolmács 642 00:30:34,620 --> 00:30:38,980 mint egy másik program, amely felelős megy soronként PHP-n keresztül 643 00:30:38,980 --> 00:30:42,745 és valóban futtatása, szemben összeállításában az egészet le bináris. 644 00:30:42,745 --> 00:30:46,050 Ez valójában nem jelent semmit hogyan egyedi kell lennünk. 645 00:30:46,050 --> 00:30:49,470 Továbbra is szükségünk van, hogy pontos, és nem elfelejtette a pontosvessző, és győződjön meg róla, 646 00:30:49,470 --> 00:30:51,470 Van a dollár jelet, és hasonló dolgok. 647 00:30:51,470 --> 00:30:52,240 Jó kérdés. 648 00:30:52,240 --> 00:30:53,115 >> MÁRIA ZLATKOVA: Igen. 649 00:30:53,115 --> 00:30:55,590 Tehát sorról sorra, mint szemben a C-fájlok, 650 00:30:55,590 --> 00:30:59,100 van, hogy az egész döntő mielőtt ténylegesen futtatni. 651 00:30:59,100 --> 00:31:00,360 Ez a fő különbség. 652 00:31:00,360 --> 00:31:02,655 De ismétlem, nem tudjuk Tényleg kevésbé pontos. 653 00:31:02,655 --> 00:31:08,760 654 00:31:08,760 --> 00:31:13,950 Tehát tömbök PHP képviseli valójában egy megrendelt térkép. 655 00:31:13,950 --> 00:31:17,550 >> Tehát tömbök társult értékek kulcsokat. 656 00:31:17,550 --> 00:31:23,350 A két módon, hogy állapítsa meg tömb, ennek alapján szintaxist, 657 00:31:23,350 --> 00:31:26,380 mi lehet explicit amikor azt mondja, hogy van egy tömbben 658 00:31:26,380 --> 00:31:31,010 és itt van ez a KEY1, hogy a térképeket ez ertek1, KEY2, hogy a térképeket value2. 659 00:31:31,010 --> 00:31:34,660 Vagy mi csak létrehozunk egy tömböt értékeket tartalmazó maga 660 00:31:34,660 --> 00:31:38,360 majd a gombok értetődő módon. 661 00:31:38,360 --> 00:31:40,000 Kapcsolatos kérdéseket a következő? 662 00:31:40,000 --> 00:31:42,500 >> Közönség: Mi lenne a kulcsokat lennie a második példában? 663 00:31:42,500 --> 00:31:47,100 664 00:31:47,100 --> 00:31:47,920 0, 1, 2, 3? 665 00:31:47,920 --> 00:31:50,650 666 00:31:50,650 --> 00:31:55,780 >> MÁRIA ZLATKOVA: Például, ez csak A kulcsokat ebben nem feltétlenül 667 00:31:55,780 --> 00:31:56,550 változtatni. 668 00:31:56,550 --> 00:32:01,720 Ők csak határozza meg, hogyan tudsz használja az értékeket belsejébe. 669 00:32:01,720 --> 00:32:08,660 Tehát, ha lenne egy foreach hurok a PHP, amely 670 00:32:08,660 --> 00:32:14,760 lehetővé teszi számunkra, hogy menjen végig az értékeket, mehetünk végig az értékeket, 671 00:32:14,760 --> 00:32:19,570 akkor is, ha kellett, vagy nem adta meg egy adott gomb a weboldalad 672 00:32:19,570 --> 00:32:20,820 előző szintaxis. 673 00:32:20,820 --> 00:32:23,460 >> Tehát még ezt a fajta A tömb, akkor még mindig 674 00:32:23,460 --> 00:32:26,260 Van egy foreach ciklus hogy megy keresztül minden 675 00:32:26,260 --> 00:32:31,240 Az értékek a kulcsot a tömbben. 676 00:32:31,240 --> 00:32:36,180 Szóval a szintaxis egy foreach hurok, kezdjük egy tömbben. 677 00:32:36,180 --> 00:32:38,720 678 00:32:38,720 --> 00:32:43,900 Ez a $ tomb változó a tényleges tömb hogy mi határozza meg az előző dia 679 00:32:43,900 --> 00:32:47,550 mint érték, szó szerint megy keresztül minden az értékek, 680 00:32:47,550 --> 00:32:50,122 az időjárás ellenére mi volt a kulcs, vagy sem. 681 00:32:50,122 --> 00:32:53,080 És akkor tehetünk valamit értékének belül a foreach ciklus. 682 00:32:53,080 --> 00:32:57,730 Tehát újra, ha volna egy tömböt mint ez itt created-- 683 00:32:57,730 --> 00:33:03,270 így már a kulcsot az ize és értéke bár, a legfontosabb BAZ és értékét qux-- 684 00:33:03,270 --> 00:33:09,730 mi lehet egy foreach ciklus, hogy megy keresztül tömb legfontosabb érték 685 00:33:09,730 --> 00:33:11,900 majd csinálni valamit A kulcs és / vagy értéke. 686 00:33:11,900 --> 00:33:15,980 De mi nem feltétlenül mindig Van, hogy egy foreach hurok, amely 687 00:33:15,980 --> 00:33:19,410 megy keresztül tömb kulcsa térképre értéket. 688 00:33:19,410 --> 00:33:26,060 Mi mehet át a foreach ciklus tömb értékét. 689 00:33:26,060 --> 00:33:28,990 >> HANNAH BLUMBERG: És azt hiszem, alábbiakra: volt a kérdés, hogy mi 690 00:33:28,990 --> 00:33:31,229 a közvetett mutató? 691 00:33:31,229 --> 00:33:31,895 Közönség: Kinda. 692 00:33:31,895 --> 00:33:32,240 MÁRIA ZLATKOVA: Oh. 693 00:33:32,240 --> 00:33:33,406 HANNAH BLUMBERG: Igen, igen. 694 00:33:33,406 --> 00:33:36,150 Tehát alapvetően, ha nem adja meg kulcsfontosságú, hogy lesz 01. 695 00:33:36,150 --> 00:33:37,140 >> MÁRIA ZLATKOVA: Igen. 696 00:33:37,140 --> 00:33:41,718 Csakúgy, mint a C, az nulla indexelt, ha nem adja meg a kulcsot. 697 00:33:41,718 --> 00:33:42,384 Közönség: Sajnálom. 698 00:33:42,384 --> 00:33:43,827 Tudna próbálja beszél egy kicsit hangosabban? 699 00:33:43,827 --> 00:33:45,270 Én magam egy kicsit Nehezen hallja mindent. 700 00:33:45,270 --> 00:33:46,478 >> MÁRIA ZLATKOVA: Annyira sajnálom. 701 00:33:46,478 --> 00:33:48,439 Ja persze. 702 00:33:48,439 --> 00:33:50,230 Szóval nem akarsz velem hogy át megint? 703 00:33:50,230 --> 00:33:51,680 Vagy this-- 704 00:33:51,680 --> 00:33:54,930 Közönség: Tehát az előző slide-- ha akkor csak menj vissza egy pillanatra. 705 00:33:54,930 --> 00:33:57,313 MÁRIA ZLATKOVA: Persze, sajnálom. 706 00:33:57,313 --> 00:33:59,237 Közönség: Tehát a második tömb itt nem 707 00:33:59,237 --> 00:34:04,135 Úgy tűnik, hogy egy értéket írjuk, fajta [? ok-okozati összefüggés. ?] 708 00:34:04,135 --> 00:34:05,343 MÁRIA ZLATKOVA: Jó, jó. 709 00:34:05,343 --> 00:34:07,608 Közönség: Tehát hogyan működik ez ha azt mondod, hogy minden vagy semmi. 710 00:34:07,608 --> 00:34:08,969 Számomra úgy néz ki, mint a Egy [? ize?] már. 711 00:34:08,969 --> 00:34:10,093 >> MÁRIA ZLATKOVA: Igen, igen. 712 00:34:10,093 --> 00:34:12,969 Tehát újra, ez egy elrendelte térképen ebben az értelemben 713 00:34:12,969 --> 00:34:15,639 hogy ott értendők, például, az indexek 714 00:34:15,639 --> 00:34:20,159 itt lehet érteni, mint a 0, 1, 2, 3. 715 00:34:20,159 --> 00:34:25,929 Ismét, ez amelyek ezeket indexek a mi egyenértékű 716 00:34:25,929 --> 00:34:28,980 annak, gombok leképezve értékeket. 717 00:34:28,980 --> 00:34:34,710 Tehát, ha mi a legfontosabb az volt 0-- sajnálom. 718 00:34:34,710 --> 00:34:36,524 >> HANNAH BLUMBERG: Nem, Van elér ide. 719 00:34:36,524 --> 00:34:36,929 Ez tényleg nagyon szép. 720 00:34:36,929 --> 00:34:37,460 >> MÁRIA ZLATKOVA: Ez nagyszerű. 721 00:34:37,460 --> 00:34:38,260 OKÉ. 722 00:34:38,260 --> 00:34:49,489 Tehát még egyszer: $ tomb 0 lenne A kulcs az 1-es érték. 723 00:34:49,489 --> 00:34:51,138 0 lenne a kulcs értéke 1. 724 00:34:51,138 --> 00:34:51,971 Közönség: Sajnálom. 725 00:34:51,971 --> 00:34:53,190 Ez láthatatlan. 726 00:34:53,190 --> 00:34:53,659 >> HANNAH BLUMBERG: Rendben, mindegy. 727 00:34:53,659 --> 00:34:54,980 Kréta rossz ötlet volt. 728 00:34:54,980 --> 00:34:58,030 Én vegye vissza. 729 00:34:58,030 --> 00:35:01,425 Akkor gondolom, a gombok 0-térképek az 1-es érték. 730 00:35:01,425 --> 00:35:02,300 MÁRIA ZLATKOVA: Igen. 731 00:35:02,300 --> 00:35:04,630 Tehát ez 0, ez 1, 2, 3. 732 00:35:04,630 --> 00:35:05,760 Ezek lehetnek a kulcsok. 733 00:35:05,760 --> 00:35:10,020 Akkor gondolom, ezek as-- igen. 734 00:35:10,020 --> 00:35:12,740 Tehát ahelyett, explicit kulcsok, ők 735 00:35:12,740 --> 00:35:17,180 fajta érteni Az indexek 0-nál kezdődik. 736 00:35:17,180 --> 00:35:21,630 737 00:35:21,630 --> 00:35:24,820 A kréta nem segített. 738 00:35:24,820 --> 00:35:25,722 Igen. 739 00:35:25,722 --> 00:35:30,914 >> Közönség: A foreach ciklus, ha azt akartuk, hogy megtekinthesse a értékként, 740 00:35:30,914 --> 00:35:33,245 ez csak automatikusan indexet 0? 741 00:35:33,245 --> 00:35:34,120 MÁRIA ZLATKOVA: Igen. 742 00:35:34,120 --> 00:35:35,745 Ez megy végig az értékeket. 743 00:35:35,745 --> 00:35:39,130 Közönség: [hallható], mint 0 vagy azt, hogy csak nem 0? 744 00:35:39,130 --> 00:35:43,710 >> MÁRIA ZLATKOVA: Meg kellett volna mondani, mint dollár jel, majd 745 00:35:43,710 --> 00:35:46,266 Néhány változó neve, értéke. 746 00:35:46,266 --> 00:35:47,182 Közönség: [hallható]. 747 00:35:47,182 --> 00:35:50,048 748 00:35:50,048 --> 00:35:50,964 MÁRIA ZLATKOVA: Sajnáljuk? 749 00:35:50,964 --> 00:35:52,839 Közönség: Bocs, én vagyok csak próbál emlékezni. 750 00:35:52,839 --> 00:35:57,190 Hogyan tennéd, ha meg tudod csinálni automatikusan indexelés csak 0? 751 00:35:57,190 --> 00:36:00,780 >> MÁRIA ZLATKOVA: Tehát hogyan tennéd ezt ha nem rendelkeztek konkrét kulcsneveket? 752 00:36:00,780 --> 00:36:01,710 >> Közönség: Igen. 753 00:36:01,710 --> 00:36:07,820 >> MÁRIA ZLATKOVA: akkor csak define-- csak azt mondom magának, mint néhány nevet. 754 00:36:07,820 --> 00:36:17,950 Tehát a psets, srácok talán emlékszem foreach $ row, mint $ sor, 755 00:36:17,950 --> 00:36:24,610 hoztunk létre magunkat, ezt mondván: $ row akarjuk, hogy menjen át sorban, mint $ sor. 756 00:36:24,610 --> 00:36:28,360 Annak ellenére, hogy nem volt ennek explicit $ sorok meghatározott, 757 00:36:28,360 --> 00:36:31,990 tudtunk csak megy, és azt mondják, ez lehet a kulcs, 758 00:36:31,990 --> 00:36:33,615 és csak megy végig az értékeket. 759 00:36:33,615 --> 00:36:37,295 760 00:36:37,295 --> 00:36:41,660 >> Közönség: Így van értéke egy új változó hozunk létre, hogy tárolja [hallhatatlan]? 761 00:36:41,660 --> 00:36:46,820 762 00:36:46,820 --> 00:36:49,990 >> MÁRIA ZLATKOVA: Tehát ez nem eredendően egy új változó. 763 00:36:49,990 --> 00:37:00,310 Ez egy változó, amely utal a belsejében a tömbben, hogy mindegyikre. 764 00:37:00,310 --> 00:37:02,060 HANNAH BLUMBERG: Ez az új változó nevét. 765 00:37:02,060 --> 00:37:04,018 MÁRIA ZLATKOVA: Igen, ez az új változó nevét, 766 00:37:04,018 --> 00:37:06,680 de ez nem inherently-- igen. 767 00:37:06,680 --> 00:37:08,950 Ez csak egy új változó hogy meg tudod csinálni ezt. 768 00:37:08,950 --> 00:37:12,680 Hogy mennyire nem csináltunk $ row, mint $ sorok, sorok 769 00:37:12,680 --> 00:37:17,980 volt az új változó nevét, hogy mi okozhat a mi foreach ciklus. 770 00:37:17,980 --> 00:37:22,065 Nem kell preexist előtt. 771 00:37:22,065 --> 00:37:25,777 >> Közönség: Tudna valaki átmegy a logika minden, a példa van? 772 00:37:25,777 --> 00:37:26,610 MÁRIA ZLATKOVA: Mhm. 773 00:37:26,610 --> 00:37:31,240 774 00:37:31,240 --> 00:37:32,080 Oh Bocsánat. 775 00:37:32,080 --> 00:37:33,780 Íme a példa. 776 00:37:33,780 --> 00:37:34,280 Persze. 777 00:37:34,280 --> 00:37:38,950 Tehát minden array-- így ez azt jelenti, megy ebben a tömbben 778 00:37:38,950 --> 00:37:43,930 kulcsfontosságú value-- hogy fog hogy min megy keresztül a tömb 779 00:37:43,930 --> 00:37:49,480 és az első menni, és kap ize, a kulcs ize és értékét bárban. 780 00:37:49,480 --> 00:37:51,570 És akkor a második iterációs a for ciklus, 781 00:37:51,570 --> 00:37:55,090 ez fog átmenni, és vegye A kulcs BAZ és értékét qux. 782 00:37:55,090 --> 00:38:00,512 És akkor meg tudod csinálni valamit egyikük vagy mindkettő. 783 00:38:00,512 --> 00:38:03,488 >> Közönség: Szóval az ötlet mögött amelynek sarkalatos pontja az értéket, 784 00:38:03,488 --> 00:38:07,470 Mit végén betekintés? 785 00:38:07,470 --> 00:38:10,680 >> MÁRIA ZLATKOVA: Mi az ötletet Az, hogy kulcsszerepe mutató érték? 786 00:38:10,680 --> 00:38:16,400 Ez is csak egy egyezményt, egy másik módja megy át a tömböt 787 00:38:16,400 --> 00:38:22,600 és hogy képes elérni sem a kulcs vagy érték, vagy mindkettő, és használja őket. 788 00:38:22,600 --> 00:38:27,100 >> Közönség: Mi a szerepe a elrendelheti a foreach fut? 789 00:38:27,100 --> 00:38:29,250 Tehát ha mi voltunk hozzá elemeket a tömb később, 790 00:38:29,250 --> 00:38:32,140 lenne azoknak az elsők hívják a foreach tömb, 791 00:38:32,140 --> 00:38:33,750 Vagy lenne később? 792 00:38:33,750 --> 00:38:37,770 >> MÁRIA ZLATKOVA: Tehát mi A rend, hogy a foreach 793 00:38:37,770 --> 00:38:39,210 hurok átmegy egy tömböt? 794 00:38:39,210 --> 00:38:42,220 Ez megy keresztül az első elem az utolsó elem, 795 00:38:42,220 --> 00:38:43,400 az utolsó hozzáadott elemet. 796 00:38:43,400 --> 00:38:48,020 Ha hozzá elemeket később, ők kell accessed-- első eleme lenne 797 00:38:48,020 --> 00:38:51,410 érhető el, mint az első elemek a tömb, 798 00:38:51,410 --> 00:38:57,620 és akkor mennék végig az összes Az elemek fajta egy ordered-- 799 00:38:57,620 --> 00:39:02,930 nem rendezett, hanem az is, hogy ők hoztak be a tömbben. 800 00:39:02,930 --> 00:39:06,855 >> Közönség: Tehát az új elemek adunk a későbbiekben? 801 00:39:06,855 --> 00:39:10,680 Tehát ők added-- lesznek a Utóbbiak a [? ismétlés. ?] 802 00:39:10,680 --> 00:39:14,280 >> MÁRIA ZLATKOVA: Új elemek can-- Alapvetően, ha új elemmel egészül ki, 803 00:39:14,280 --> 00:39:16,520 meg vannak hozzáadva, hogy a végén a tömb? 804 00:39:16,520 --> 00:39:17,632 >> Közönség: Igen. 805 00:39:17,632 --> 00:39:18,840 MÁRIA ZLATKOVA: Azt hiszem, igen. 806 00:39:18,840 --> 00:39:20,850 Igen. 807 00:39:20,850 --> 00:39:24,330 És majd a foreach ciklus, miután új elemeket 808 00:39:24,330 --> 00:39:26,790 és megy rajtuk keresztül, Az új elemek lenne 809 00:39:26,790 --> 00:39:30,930 legyen accessed-- az új elem, ha ez hozzáadott utolsó, akkor lehet hozzáférni az utolsó. 810 00:39:30,930 --> 00:39:34,416 >> Közönség: Lehet csak egy példát valami, ami [hallhatatlan] 811 00:39:34,416 --> 00:39:37,404 valami értékkel mint a [hallhatatlan] vagy értéke, 812 00:39:37,404 --> 00:39:38,910 mint azt, hogyan lenne formázni, hogy? 813 00:39:38,910 --> 00:39:39,785 >> MÁRIA ZLATKOVA: Persze. 814 00:39:39,785 --> 00:39:42,340 815 00:39:42,340 --> 00:39:46,410 Tudok adni egy példa, amit tennénk az érték? 816 00:39:46,410 --> 00:39:52,440 Tehát amit a srácok ismerős lehet az, hogy már ment keresztül egy tömböt 817 00:39:52,440 --> 00:39:55,380 és alapvetően nyomtatott egyes elemek, 818 00:39:55,380 --> 00:40:00,910 például, részeként egy rendezett lista vagy valami, ami. 819 00:40:00,910 --> 00:40:02,674 Van ennek értelme, vagy nem akarunk az alábbiakra: 820 00:40:02,674 --> 00:40:04,340 Közönség: Meg tudjuk nyomtatni ezeket az értékeket ki? 821 00:40:04,340 --> 00:40:13,220 MÁRIA ZLATKOVA: Igen, tudtuk nyomtatni majd lényegében $ ertek mert 822 00:40:13,220 --> 00:40:16,570 megadott érték, mi lenne nyomtatás értékét belsejébe. 823 00:40:16,570 --> 00:40:20,150 Tehát, ha mi voltunk az első iterációban belőle, és mi nyomtatott $ ertek, 824 00:40:20,150 --> 00:40:23,775 mi lenne, nyomtatás bárban. 825 00:40:23,775 --> 00:40:27,020 >> Közönség: Vannak olyan is ciklus a PHP vagy csak foreach hurok? 826 00:40:27,020 --> 00:40:30,430 >> MÁRIA ZLATKOVA: Van számára is ciklus a PHP. 827 00:40:30,430 --> 00:40:33,399 És azok logikája többnyire a ugyanaz, mint amit eddig használt. 828 00:40:33,399 --> 00:40:34,690 Közönség: Szóval értéke null. 829 00:40:34,690 --> 00:40:35,090 MÁRIA ZLATKOVA: Ez olyan, mint ugyanaz. 830 00:40:35,090 --> 00:40:35,590 Igen. 831 00:40:35,590 --> 00:40:37,747 Közönség: Én csak akartam kérdezni. 832 00:40:37,747 --> 00:40:39,695 Tehát, ha hirdessen tömb, akkor nem kell 833 00:40:39,695 --> 00:40:42,617 megmondani, hogy mekkora ez lesz lennie, ami azt jelenti, hogy ha csak 834 00:40:42,617 --> 00:40:44,417 hozzáadása és elvenni elemek [hallható]. 835 00:40:44,417 --> 00:40:45,250 MÁRIA ZLATKOVA: Ja. 836 00:40:45,250 --> 00:40:45,750 Aha. 837 00:40:45,750 --> 00:40:46,251 Pontosan. 838 00:40:46,251 --> 00:40:48,875 Amikor egy tömböt, amit Nem kell mondani, milyen méretű van, 839 00:40:48,875 --> 00:40:51,022 így tudjuk csak add elemek rá később is. 840 00:40:51,022 --> 00:40:55,075 841 00:40:55,075 --> 00:40:55,700 További kérdések? 842 00:40:55,700 --> 00:40:59,870 843 00:40:59,870 --> 00:41:05,950 Így hozza a PHP és HTML együtt, amit seen-- is, 844 00:41:05,950 --> 00:41:15,130 például, ebben a példában, van HTML formában, amely egy beviteli mező. 845 00:41:15,130 --> 00:41:18,830 >> És a beviteli mezőbe csak nevet és akkor van egy Submit gombra. 846 00:41:18,830 --> 00:41:26,040 És ha megnyomja a Küldés gombot, a mi hello.php fájlt, 847 00:41:26,040 --> 00:41:32,130 mert a módszer a forma kap, akkor érheti el mindent, ami a nevét 848 00:41:32,130 --> 00:41:40,360 Az e kapni globális változó, hogy is-- a szintaxis ez $ _GET. 849 00:41:40,360 --> 00:41:44,520 És akkor érheti el, amit a felhasználói belsejét, hogy formában név 850 00:41:44,520 --> 00:41:47,410 nevének megadásával az ezen a területen. 851 00:41:47,410 --> 00:41:51,480 852 00:41:51,480 --> 00:41:55,060 >> Más kérdés, vagy bármely kérdésre a konkrét példát? 853 00:41:55,060 --> 00:41:58,275 >> Közönség: Hol van a PHP? 854 00:41:58,275 --> 00:41:59,150 MÁRIA ZLATKOVA: Itt. 855 00:41:59,150 --> 00:42:01,150 Szóval ez a mi nyitó tag a PHP. 856 00:42:01,150 --> 00:42:01,530 >> Közönség: Ó, igen. 857 00:42:01,530 --> 00:42:02,363 >> MÁRIA ZLATKOVA: Igen. 858 00:42:02,363 --> 00:42:05,320 859 00:42:05,320 --> 00:42:09,609 >> HANNAH BLUMBERG: A = a rövidítés Ennek az a PHP és csak visszhang. 860 00:42:09,609 --> 00:42:10,150 Közönség: Ó. 861 00:42:10,150 --> 00:42:10,720 MÁRIA ZLATKOVA: Ja, bocs. 862 00:42:10,720 --> 00:42:12,040 Azt kellett volna, hogy világos. 863 00:42:12,040 --> 00:42:13,759 >> HANNAH BLUMBERG: Nyomtatás. 864 00:42:13,759 --> 00:42:16,800 MÁRIA ZLATKOVA: Ez csak a függvény amely lehetővé teszi számunkra, hogy nyomtassa valamit. 865 00:42:16,800 --> 00:42:19,795 866 00:42:19,795 --> 00:42:20,420 Nagy kérdés. 867 00:42:20,420 --> 00:42:24,140 868 00:42:24,140 --> 00:42:25,495 Szóval going-- igen. 869 00:42:25,495 --> 00:42:31,940 >> Közönség: Van-e lesz elég egy kis kézi kódolás PHP és HTML 870 00:42:31,940 --> 00:42:33,450 kvízkérdések 1? 871 00:42:33,450 --> 00:42:36,310 872 00:42:36,310 --> 00:42:38,810 MÁRIA ZLATKOVA: Nem lehet egy méltányos összeg értelmezése 873 00:42:38,810 --> 00:42:43,330 A PHP és a HTML, nem feltétlenül mint egy hatalmas mennyiségű kódolás, 874 00:42:43,330 --> 00:42:46,960 bár lehet, hogy levelet foreach ciklus, bár egy ciklusban. 875 00:42:46,960 --> 00:42:49,790 Bármilyen a hurkok, hogy mi fedezésére itt tisztességes játékot. 876 00:42:49,790 --> 00:42:51,889 És ez többnyire azt. 877 00:42:51,889 --> 00:42:53,430 HANNAH BLUMBERG: Én kész lenne. 878 00:42:53,430 --> 00:42:57,010 Ugyanígy kértük, hogy levelet csomó C függvények kvíz 0, 879 00:42:57,010 --> 00:42:59,766 Lennék kész a ugyanazon a PHP és a JavaScript. 880 00:42:59,766 --> 00:43:00,640 MÁRIA ZLATKOVA: Igen. 881 00:43:00,640 --> 00:43:03,210 HANNAH BLUMBERG: Azt mondanám, Egy little--, mint mi nem vagyunk 882 00:43:03,210 --> 00:43:06,251 megy, hogy ha írunk egy hatalmas HTML Oldal csak azért, mert ez egy kicsit 883 00:43:06,251 --> 00:43:08,240 unalmas, de lehet, hogy alkatrészeket. 884 00:43:08,240 --> 00:43:09,310 Ezt teljesen tisztességes játék. 885 00:43:09,310 --> 00:43:11,082 Mint a kis HTML oldal, teljesen tárgyilagos. 886 00:43:11,082 --> 00:43:11,623 Közönség: OK. 887 00:43:11,623 --> 00:43:13,814 Mit szólnál a JavaScript is? 888 00:43:13,814 --> 00:43:14,730 HANNAH BLUMBERG: Igen. 889 00:43:14,730 --> 00:43:15,250 JavaScript tisztességes játék. 890 00:43:15,250 --> 00:43:15,635 >> MÁRIA ZLATKOVA: Igen. 891 00:43:15,635 --> 00:43:16,801 Ez teljesen tisztességes játék. 892 00:43:16,801 --> 00:43:19,280 HANNAH BLUMBERG: Veszünk hogy, hogy, mint 10 perc alatt. 893 00:43:19,280 --> 00:43:23,750 >> MÁRIA ZLATKOVA: SQL, megint, Structured Query Language. 894 00:43:23,750 --> 00:43:28,651 Ez alapvetően lehetővé teszi számunkra, hogy kezelni adatok relációs adatbázis-kezelő 895 00:43:28,651 --> 00:43:29,150 rendszer. 896 00:43:29,150 --> 00:43:31,149 Hogy alapvetően csak azt jelenti, hogy van valahol 897 00:43:31,149 --> 00:43:37,980 tárolni néhány adat, amit érdemes használni egy weboldalon vagy valamilyen más formában. 898 00:43:37,980 --> 00:43:42,190 És akkor mi van lekérdezések kap információt adatbázisunkban, 899 00:43:42,190 --> 00:43:44,320 vagy beszúrni információ alapján. 900 00:43:44,320 --> 00:43:47,560 Sok a közös ones-- UPDATE, INSERT, select és delete. 901 00:43:47,560 --> 00:43:50,790 >> Tehát UPDATE, ez a szintaxis frissítésére adatok egy adatbázisban. 902 00:43:50,790 --> 00:43:53,330 903 00:43:53,330 --> 00:43:57,340 Frissítésével nevű táblába asztal, mondván SET, 904 00:43:57,340 --> 00:44:04,170 tudjuk meg néhány szereplő értékek sorok egyenlő valami mást. 905 00:44:04,170 --> 00:44:09,410 Így is megadhatja, néhány konkrét bejegyzéseket szeretnénk módosítani 906 00:44:09,410 --> 00:44:11,240 és hogy lehet ehhez, ahol. 907 00:44:11,240 --> 00:44:16,380 És tudjuk meg, hogy mi csak szeretnénk módosíthatja egyes sorokban, ahol a ház, 908 00:44:16,380 --> 00:44:19,830 ha lenne egy táblázatot a diákok és az összes diák volt ház, 909 00:44:19,830 --> 00:44:24,890 így csak módosítani néhány érték ha egy ház értéke Currier, 910 00:44:24,890 --> 00:44:25,430 például. 911 00:44:25,430 --> 00:44:29,120 912 00:44:29,120 --> 00:44:31,800 >> INSERT írhatjuk be bizonyos értékeket táblázatba. 913 00:44:31,800 --> 00:44:35,150 Tehát INSERT INTO asztal, majd az értékeket, 914 00:44:35,150 --> 00:44:39,080 majd zárójelben, csak megadjuk milyen értékeket beszúrni kívánt. 915 00:44:39,080 --> 00:44:43,220 Tehát INSERT INTO asztal, col1 és KOL2, az érték ért1 és ért2. 916 00:44:43,220 --> 00:44:48,930 Tehát ez szúr alapvetően egy új sort egy táblázat, amely tartalmazza a értékeket az 1. és 2. 917 00:44:48,930 --> 00:44:50,850 alatt az 1. és 2. oszlopból. 918 00:44:50,850 --> 00:44:54,760 >> És akkor mi lesz, hogy menjen át egy gyors példa arra, hogy ez úgy néz ki 919 00:44:54,760 --> 00:44:56,310 mint az adatbázisunkban egy kicsit. 920 00:44:56,310 --> 00:44:58,685 De ez az utolsó lekérdezés, hogy én hiszem, fogunk, hogy menjen át, 921 00:44:58,685 --> 00:45:01,450 SELECT, csak lehetővé teszi számunkra, válassza ki adatokat egy táblázat 922 00:45:01,450 --> 00:45:03,080 hogy esetleg használni utána. 923 00:45:03,080 --> 00:45:05,830 És ahogy mi ez azt Csak tegye el néhány változó. 924 00:45:05,830 --> 00:45:07,780 És akkor lehet esetleg újra használni. 925 00:45:07,780 --> 00:45:10,260 >> Tehát SELECT csillag azt jelenti, jelölje ki az összes. 926 00:45:10,260 --> 00:45:13,280 Ez csak egy rövidített kiválasztására minden. 927 00:45:13,280 --> 00:45:19,760 Táblázatból HOL, keresünk néhány konkrét feltételeket, 928 00:45:19,760 --> 00:45:22,290 Szóval, ha oszlop értéke valami, például. 929 00:45:22,290 --> 00:45:24,410 Ha csak azt akartam, hogy jelölje ki az összes táblázatból, 930 00:45:24,410 --> 00:45:28,400 ez csak kiválasztja az összes oszlopot és minden sort egy táblázatból. 931 00:45:28,400 --> 00:45:32,040 >> Majd törölje táblázatból HOL col egyenlő valamit, 932 00:45:32,040 --> 00:45:36,440 Ez csak néhány törli sort az asztalunkra 933 00:45:36,440 --> 00:45:38,860 ahol van néhány különleges feltételeket. 934 00:45:38,860 --> 00:45:41,870 Ebben az esetben a feltételek vannak oszlop egyenlő valamit. 935 00:45:41,870 --> 00:45:43,460 Szóval csak egy gyors példa erre. 936 00:45:43,460 --> 00:45:49,100 Ha megvan ez a táblázat itt, és mi helyezze egy asztalra, ezeket az értékeket, 937 00:45:49,100 --> 00:45:50,400 amely helyezzen be egy új sort. 938 00:45:50,400 --> 00:45:56,380 És ha lenne auto-növekmény, ez Csak növekmény mi azonosítót 0-1 2-re. 939 00:45:56,380 --> 00:46:00,010 >> Ha kiválasztottuk az összes diákoktól, hogy Csak visszatér minden területen és minden sort. 940 00:46:00,010 --> 00:46:02,430 Hol évre nagyobb vagy egyenlő, mint 2016- 941 00:46:02,430 --> 00:46:04,390 ami csak vissza Hannah és én. 942 00:46:04,390 --> 00:46:08,360 És akkor, ha csak a kijelölt év id év diákoktól 943 00:46:08,360 --> 00:46:11,710 hol van a ház Cabot House, amely lenne, ismét visszatér Hannah és én. 944 00:46:11,710 --> 00:46:14,430 >> Aztán ha törlik a diákok ahol név egyenlő Rob, 945 00:46:14,430 --> 00:46:16,760 hogy eltörölné az egész sort. 946 00:46:16,760 --> 00:46:19,696 És akkor, ha mi meg a nevet, UPDATE diákok 947 00:46:19,696 --> 00:46:21,570 SET név megegyezik Daven Ahol House egyenlő 948 00:46:21,570 --> 00:46:27,010 Cabot House, hogy fog menni azokat a sorokat, majd frissíti a nevet. 949 00:46:27,010 --> 00:46:31,470 >> Majd néhány SQL adattípusok CHAR, VARCHAR, INT, és úszó. 950 00:46:31,470 --> 00:46:32,760 Ezek a tisztességes játék. 951 00:46:32,760 --> 00:46:36,740 Mennék újra és győződjön meg róla, 952 00:46:36,740 --> 00:46:40,930 és azokat a puskát, mi minden karakterre 953 00:46:40,930 --> 00:46:44,140 óta használják, milyen Ön használta őket a psets, 954 00:46:44,140 --> 00:46:48,050 és győződjön meg róla, hogy ismeri és kényelmes kelljen választani 955 00:46:48,050 --> 00:46:51,450 A különböző adattípusok a PSET. 956 00:46:51,450 --> 00:46:51,950 Igen. 957 00:46:51,950 --> 00:46:54,300 >> Közönség: Mi volt az asztalnál tárolt? 958 00:46:54,300 --> 00:46:57,119 Ja, hol van ez a táblázat tárolt? 959 00:46:57,119 --> 00:46:59,160 MÁRIA ZLATKOVA: Nos, most, ez nem tárolja. 960 00:46:59,160 --> 00:47:00,700 Különben is, hol van ez a táblázat tárolt? 961 00:47:00,700 --> 00:47:04,503 De lehet tárolni egy SQL adatbázisba. 962 00:47:04,503 --> 00:47:07,330 >> Közönség: És hol van az SQL adatbázis? 963 00:47:07,330 --> 00:47:11,200 A számítógép, az online Valahol, a szerver? 964 00:47:11,200 --> 00:47:15,000 >> MÁRIA ZLATKOVA: Ez lehet egy számos különböző dolog. 965 00:47:15,000 --> 00:47:19,690 >> HANNAH BLUMBERG: Már összekapcsolható SQL táblák többnyire phpMyAdmin. 966 00:47:19,690 --> 00:47:22,060 Így lehet kérni a szerveren tárolni őket nekünk. 967 00:47:22,060 --> 00:47:23,830 Mi lehet tárolni őket a saját számítógépre. 968 00:47:23,830 --> 00:47:27,950 >> MÁRIA ZLATKOVA: Ez csak attól függ hogyan szeretné csináld magad. 969 00:47:27,950 --> 00:47:30,075 De mi már tárolása őket, mint Hannah említettük, 970 00:47:30,075 --> 00:47:31,755 A phpMyAdmin, ami az interneten. 971 00:47:31,755 --> 00:47:36,550 972 00:47:36,550 --> 00:47:39,280 És akkor hogyan használjuk PHP és SQL, tároljuk 973 00:47:39,280 --> 00:47:43,450 a néhány változót mi már kérdezett. 974 00:47:43,450 --> 00:47:48,370 >> Tehát, ha kiválasztjuk a történelemből ahol user_id megegyezik a session id, 975 00:47:48,370 --> 00:47:53,900 amely kijelöli az összes sorok az adott személy, aki 976 00:47:53,900 --> 00:47:58,327 bejelentkezett a történelem asztal és rendezheti sor. 977 00:47:58,327 --> 00:48:00,410 A hűvös dolog tudni, hogy CS50 lekérdezés funkció 978 00:48:00,410 --> 00:48:02,180 véd SQL injection tag. 979 00:48:02,180 --> 00:48:07,420 Ez csak azt jelenti, hogy biztosítja A bemeneti beírt helyes 980 00:48:07,420 --> 00:48:09,920 és hogy az a személy, aki belép a bemeneti 981 00:48:09,920 --> 00:48:15,100 nem próbál bemeneti néhány rosszindulatú kódot vagy csökken az asztalunkra 982 00:48:15,100 --> 00:48:17,305 vagy törölni mindent belsejében adatbázisunkban. 983 00:48:17,305 --> 00:48:20,060 984 00:48:20,060 --> 00:48:23,400 >> Egy gyors áttekintés a Az MVC modell 985 00:48:23,400 --> 00:48:27,360 ez csak egy módja a szervező és gondolkodás kódot. 986 00:48:27,360 --> 00:48:29,100 Ez megint egy tervezési paradigma. 987 00:48:29,100 --> 00:48:33,380 Ez azt jelenti, hogy can-- és ez jó gyakorlatok 988 00:48:33,380 --> 00:48:37,790 külön különböző részein a mi kódot, és mit 989 00:48:37,790 --> 00:48:40,530 ellenőrizzék a három paradigma. 990 00:48:40,530 --> 00:48:46,700 >> Tehát véleményünk szerint a leggyakrabban a sablonok, mi elrendezés, ahogyan 991 00:48:46,700 --> 00:48:48,260 hogy mi meg hogyan kódom. 992 00:48:48,260 --> 00:48:55,190 Ez többnyire a CSS fájlok és az út hogy mi határozza meg a design a mi kódot, 993 00:48:55,190 --> 00:48:55,710 alapvetően. 994 00:48:55,710 --> 00:48:59,280 A vezérlő többnyire mi mi már ennek a PHP fájlokat. 995 00:48:59,280 --> 00:49:03,030 Szóval megint dolgozik a információ, hogy mi van 996 00:49:03,030 --> 00:49:06,700 és meghatározza, hogy hogyan információt használjuk, 997 00:49:06,700 --> 00:49:10,660 majd halad az információkat vagy rá a néző vagy a modell. 998 00:49:10,660 --> 00:49:13,880 És a modell a módja, hogy már már használ már adatbázisunkban, 999 00:49:13,880 --> 00:49:17,510 Szóval, ha információink úgy kell tárolni, hogy van valahol 1000 00:49:17,510 --> 00:49:21,490 élni, és bármely, a kód, amely kapcsolódik az utat 1001 00:49:21,490 --> 00:49:25,410 hogy megkapjuk ezt az információt, vagy a módon, hogy frissíti az információkat. 1002 00:49:25,410 --> 00:49:28,940 1003 00:49:28,940 --> 00:49:33,200 >> Tehát az MVC modellt, HTTP kéréseket a web szerver. 1004 00:49:33,200 --> 00:49:36,220 Ezután a vezérlő értelmezi A kérelmet a felhasználó 1005 00:49:36,220 --> 00:49:38,260 majd érvényesíti a felhasználótól. 1006 00:49:38,260 --> 00:49:41,580 Ez nem kötelező, hogy van A vezérlő kommunikálni 1007 00:49:41,580 --> 00:49:44,000 egy modell, így valamit mint adatbázisunkban 1008 00:49:44,000 --> 00:49:47,500 vagy valamilyen más alkalmassága közvetíti információkat. 1009 00:49:47,500 --> 00:49:50,340 És végül, a vezérlő átadja az információt az nézetet 1010 00:49:50,340 --> 00:49:52,090 úgy, hogy lehet kiolvasztott és hogy képes 1011 00:49:52,090 --> 00:49:55,860 láthatóvá válnak az olyan személy, Az internethez való hozzáférésért oldalon. 1012 00:49:55,860 --> 00:49:58,440 1013 00:49:58,440 --> 00:50:01,340 >> Bármi kérdés? 1014 00:50:01,340 --> 00:50:01,840 Fantasztikus. 1015 00:50:01,840 --> 00:50:04,530 1016 00:50:04,530 --> 00:50:08,469 Tehát ismét a modell, funkcióját, újra, 1017 00:50:08,469 --> 00:50:11,260 perzisztens információk tárolására, kezeléséről és rendezéséről adatokat. 1018 00:50:11,260 --> 00:50:13,890 És amit láttunk, így messze van a MySQL adatbázis 1019 00:50:13,890 --> 00:50:16,200 és adatfájlokat használatára jogosult. 1020 00:50:16,200 --> 00:50:20,580 >> Nézd meg, jelennek meg információk a a felhasználó, a felhasználói felület, vagy a felhasználói felület. 1021 00:50:20,580 --> 00:50:22,350 És a példa erre a HTML. 1022 00:50:22,350 --> 00:50:23,950 És akkor talán van minimális PHP. 1023 00:50:23,950 --> 00:50:28,360 Tehát egy for ciklus végigmegy, hogy mint az adatok, amelyek kinyomtathatók 1024 00:50:28,360 --> 00:50:30,720 része a nézet, mint szemben a vezérlő. 1025 00:50:30,720 --> 00:50:35,660 És akkor sok a PHP fájlok esnek a vezérlő kategóriában. 1026 00:50:35,660 --> 00:50:38,410 Csak kezeli a felhasználói kérések és kap információt a modellből. 1027 00:50:38,410 --> 00:50:42,880 1028 00:50:42,880 --> 00:50:45,590 >> Beugrott a dokumentum Object Model, ez csak 1029 00:50:45,590 --> 00:50:47,700 utal, hogy ahogy a HTML Dokumentumok szerveznek. 1030 00:50:47,700 --> 00:50:51,600 És ők szerveztek egy fa szerkezet, hogy van egy hierarchia. 1031 00:50:51,600 --> 00:50:56,720 Tehát, ha van, hogy [hallhatatlan] képviselete a dokumentumot, 1032 00:50:56,720 --> 00:51:02,750 tudunk dolgozni a dokumentumot, mint a mi manipulálni tárgyakat alapvetően. 1033 00:51:02,750 --> 00:51:06,630 >> És, hogy ez egy kicsit világosabb, ha 1034 00:51:06,630 --> 00:51:10,540 van egy csomó mi különböző címkék reagálnak 1035 00:51:10,540 --> 00:51:12,590 a különböző útvonalakon a mi fán. 1036 00:51:12,590 --> 00:51:17,070 És akkor ebben a példában, mi Van a kiindulási dokumentum csomópontot. 1037 00:51:17,070 --> 00:51:20,010 Van, majd a HTML-csomópont hogy hasad fej és a test. 1038 00:51:20,010 --> 00:51:22,810 Fej címet, majd cím tartalmazza hello, világ. 1039 00:51:22,810 --> 00:51:24,860 És a testünk csak tartalmaz hello, világ is. 1040 00:51:24,860 --> 00:51:28,700 1041 00:51:28,700 --> 00:51:31,900 >> Így bármilyen kérdése van bármely dolgok, amiket eddig megtett? 1042 00:51:31,900 --> 00:51:35,891 És ha nem, Hannah lesz átvenni a JavaScript. 1043 00:51:35,891 --> 00:51:36,390 Fantasztikus. 1044 00:51:36,390 --> 00:51:37,473 >> HANNAH BLUMBERG: OK, hűvös. 1045 00:51:37,473 --> 00:51:40,980 Ha bármi jön fel a PHP vagy HTML, vagy a cucc Maria fedett, 1046 00:51:40,980 --> 00:51:42,700 mi mindig szünet. 1047 00:51:42,700 --> 00:51:46,430 Csinálunk jobban újra, annyira félelmetes. 1048 00:51:46,430 --> 00:51:48,770 És csak, hogy menjen vissza nagyon gyorsan, hogy ezt, 1049 00:51:48,770 --> 00:51:51,010 ha megnézi minden elmúlt év vizsga, ennek 1050 00:51:51,010 --> 00:51:54,120 feljön either-- itt Egyes HTML, hogy ez a rajz. 1051 00:51:54,120 --> 00:51:58,380 Vagy itt van ez a rajz, hogy néhány HTML, így biztosan gyakorolni ezt. 1052 00:51:58,380 --> 00:52:01,500 És akkor ez egy garantált kérdés, hogy lehet kapni jobb. 1053 00:52:01,500 --> 00:52:02,000 Hűvös. 1054 00:52:02,000 --> 00:52:04,510 Szóval beszéljünk JavaScript és hogyan ez egy kicsit 1055 00:52:04,510 --> 00:52:09,130 eltér nyelvek, mint a PHP és C, a két nyelv láttuk előre. 1056 00:52:09,130 --> 00:52:10,780 Tehát számú, ez lazán gépelt. 1057 00:52:10,780 --> 00:52:14,630 Azaz, mint a PHP, de ellentétben C. 1058 00:52:14,630 --> 00:52:15,890 >> Ez egy értelmezett nyelv. 1059 00:52:15,890 --> 00:52:19,870 Ismét, ez tetszik PHP, ellentétben C. És ez 1060 00:52:19,870 --> 00:52:24,630 fog engedje meg, hogy ez use-- működik igazán szépen weboldalakat. 1061 00:52:24,630 --> 00:52:28,350 Meg fog lehetővé teszi számunkra, hogy manipulálni A tartalom és hogyan néz ki 1062 00:52:28,350 --> 00:52:30,300 és mit csinál. 1063 00:52:30,300 --> 00:52:32,330 >> Fogunk látni egy kicsit Ajax. 1064 00:52:32,330 --> 00:52:36,140 Ez lehetővé teszi számunkra, hogy kommunikálni aszinkron különböző szerverek 1065 00:52:36,140 --> 00:52:37,950 és kap információt. 1066 00:52:37,950 --> 00:52:42,820 És ez az a dolog, ami igazán elválasztja a JavaScript PHP és C 1067 00:52:42,820 --> 00:52:45,590 az, hogy az ügyfél-oldali. 1068 00:52:45,590 --> 00:52:49,860 A PHP és C tipikusan szerver oldali. 1069 00:52:49,860 --> 00:52:51,960 >> A legtöbb és szinte teljes egészében mi 1070 00:52:51,960 --> 00:52:53,900 láttunk, legalábbis Ebben az osztályban a JavaScript 1071 00:52:53,900 --> 00:52:57,040 hat kliens oldali, ami azt jelenti, hogy a böngésző valójában 1072 00:52:57,040 --> 00:52:58,597 felelős fut. 1073 00:52:58,597 --> 00:53:01,180 És ez azt jelenti, hogy mi nem kell, hogy befolyásolja a szerver. 1074 00:53:01,180 --> 00:53:04,380 Tehát ez azt jelenti, hogy sokkal gyorsabb mert ez valójában csak ez Chrome, 1075 00:53:04,380 --> 00:53:10,420 ez a Safari, ez Firefox, amit használja ténylegesen fut a JavaScript. 1076 00:53:10,420 --> 00:53:12,290 >> Közönség: Mit jelent aszinkron jelent? 1077 00:53:12,290 --> 00:53:13,620 >> HANNAH BLUMBERG: Ah, milyen nem aszinkron jelent? 1078 00:53:13,620 --> 00:53:14,250 Nagy kérdés. 1079 00:53:14,250 --> 00:53:17,890 Aszinkron means-- Nos, a tartalom, amely 1080 00:53:17,890 --> 00:53:22,140 használjuk azt, OK, létrehoz egy weboldalt 1081 00:53:22,140 --> 00:53:23,860 és meg kell, hogy bizonyos információkat. 1082 00:53:23,860 --> 00:53:28,250 Tehát a példa a mashup, Néhány információ, hogy mi érdemes 1083 00:53:28,250 --> 00:53:30,580 a cikk címe. 1084 00:53:30,580 --> 00:53:33,330 Most could-- egy lehetőség is kell csinálni szinkron 1085 00:53:33,330 --> 00:53:37,940 és ez azt jelenti nézzük megállítani, megy kap a cikket, 1086 00:53:37,940 --> 00:53:41,275 kap a cikket vissza, majd render, de ez lenne a nagyon lassú. 1087 00:53:41,275 --> 00:53:44,150 Ez lenne a rossz felhasználói élményt mert akkor csak ül 1088 00:53:44,150 --> 00:53:46,630 ott vár valamit válaszolni. 1089 00:53:46,630 --> 00:53:50,020 >> Aszinkron jelenti fogunk tovább folyik a mi üzleti, 1090 00:53:50,020 --> 00:53:52,529 az oldal megjelenítését, valamint küldünk ki kérés 1091 00:53:52,529 --> 00:53:54,570 Ez a fajta a fog a háttérben történnek. 1092 00:53:54,570 --> 00:53:57,610 Azt hiszem, használja a példa Előadás a hívó Rob, és azt mondja, 1093 00:53:57,610 --> 00:53:59,980 Hé, megnézi ezt fel nekem, és kap vissza hozzám, 1094 00:53:59,980 --> 00:54:02,870 szemben a csak nekem várva a telefonon. 1095 00:54:02,870 --> 00:54:07,020 Tehát aszinkron jelent ez történik A háttérben tőlünk 1096 00:54:07,020 --> 00:54:08,676 párhuzamosan. 1097 00:54:08,676 --> 00:54:10,400 >> Nagy kérdés. 1098 00:54:10,400 --> 00:54:11,830 Akármi más? 1099 00:54:11,830 --> 00:54:12,330 Nagy. 1100 00:54:12,330 --> 00:54:15,020 Majd ugorj sokkal inkább aszinkron kérések Ajax. 1101 00:54:15,020 --> 00:54:18,287 >> Közönség: Vajon JavaScript-- hol van hogy esik a modell-nézet-vezérlő? 1102 00:54:18,287 --> 00:54:19,620 HANNAH BLUMBERG: Nagy kérdés. 1103 00:54:19,620 --> 00:54:23,320 Hol JavaScript bukása A modell-nézet-vezérlő? 1104 00:54:23,320 --> 00:54:23,930 Hm. 1105 00:54:23,930 --> 00:54:28,350 Azt hiszem, ez fall-- így általában nem 1106 00:54:28,350 --> 00:54:31,340 szeretném giccs azt, hogy paradigma, de azt hiszem, azt mondanám, 1107 00:54:31,340 --> 00:54:34,280 OK, így JavaScript valóban megy, hogy 1108 00:54:34,280 --> 00:54:37,587 számunkra, hogy adatokat gyűjtsön, értelmezni az adatokat, amik valójában 1109 00:54:37,587 --> 00:54:38,920 értelmes dolgokat az adatokat. 1110 00:54:38,920 --> 00:54:41,100 Ebben az értelemben, ez nagyon ellenőrző-szerű. 1111 00:54:41,100 --> 00:54:43,900 >> De ez is megy, hogy nekünk jelenítse meg és nyomtatási dolgokat. 1112 00:54:43,900 --> 00:54:47,021 Ebben az értelemben, ez nagyon nézet-szerű. 1113 00:54:47,021 --> 00:54:47,520 Igen. 1114 00:54:47,520 --> 00:54:51,710 Szóval ez olyan, mint a PHP- akkor, ha ezt a fajta egyaránt. 1115 00:54:51,710 --> 00:54:53,330 Jó kérdés. 1116 00:54:53,330 --> 00:54:55,209 Akármi más? 1117 00:54:55,209 --> 00:54:56,000 Rendben, félelmetes. 1118 00:54:56,000 --> 00:54:57,120 Mozgó végig. 1119 00:54:57,120 --> 00:54:59,110 >> Nézzük egy példát hogyan tudjuk használni 1120 00:54:59,110 --> 00:55:02,250 JavaScript az egyik a webes programok. 1121 00:55:02,250 --> 00:55:05,680 Úgyhogy úgy ezt index.html egy csomó HTML. 1122 00:55:05,680 --> 00:55:08,800 És a dolog, azt akarom, összpontosítani ez script tag. 1123 00:55:08,800 --> 00:55:13,280 És ez azt mondja, OK, szeretnék futtatni néhány JavaScript és itt van, ahol él. 1124 00:55:13,280 --> 00:55:15,400 Ez él hello.js. 1125 00:55:15,400 --> 00:55:21,120 >> És nagyon hasonlít CSS, tudtuk tedd JavaScript belül a HTML. 1126 00:55:21,120 --> 00:55:24,000 Miért lenne azt akarjuk, hogy külön ki? 1127 00:55:24,000 --> 00:55:24,500 Igen. 1128 00:55:24,500 --> 00:55:25,486 >> Közönség: Könnyebb átírni? 1129 00:55:25,486 --> 00:55:26,402 >> HANNAH BLUMBERG: Igen. 1130 00:55:26,402 --> 00:55:28,450 Könnyebb használni az egész különböző weboldalakat. 1131 00:55:28,450 --> 00:55:29,980 Úgy tartja a dolgokat tisztább. 1132 00:55:29,980 --> 00:55:32,090 Ez csak a helyes gyakorlatot. 1133 00:55:32,090 --> 00:55:32,590 Fantasztikus. 1134 00:55:32,590 --> 00:55:33,930 Jó válasz. 1135 00:55:33,930 --> 00:55:36,690 Így jó, így ez lesz hogy mi index.html. 1136 00:55:36,690 --> 00:55:39,430 És akkor itt lent van a apró JavaScript fájlt. 1137 00:55:39,430 --> 00:55:42,410 >> És azt mondja, éber Helló, világ. 1138 00:55:42,410 --> 00:55:46,040 Tehát mi történik, ha Az oldal renders-- 1139 00:55:46,040 --> 00:55:49,680 így ha elmész bármilyen honlapon ez is-- minden, ami történni fog 1140 00:55:49,680 --> 00:55:53,330 A ez fog mondani, OK, én vagyok fog futni ezen a JavaScript kódot. 1141 00:55:53,330 --> 00:55:56,370 És ez a JavaScript kódot Csak azt mondja figyelmeztető Helló, világ. 1142 00:55:56,370 --> 00:55:59,090 Így fogok, hogy ezt barátságos kis pop-up. 1143 00:55:59,090 --> 00:56:00,360 >> Hűvös? 1144 00:56:00,360 --> 00:56:04,746 Ez olyan, mint a legelső JavaScript programot, a Helló, világ. 1145 00:56:04,746 --> 00:56:07,690 1146 00:56:07,690 --> 00:56:12,190 Nézzünk egy kicsit arról, hogy mi A szintaxis a JavaScript néz ki. 1147 00:56:12,190 --> 00:56:16,330 És konkrétan, hadd hasonlítsa össze a C és a PHP, amit eddig láttam. 1148 00:56:16,330 --> 00:56:20,610 >> A JavaScript fogunk van var, a változó nevét, majd 1149 00:56:20,610 --> 00:56:21,690 annak aktuális értékét. 1150 00:56:21,690 --> 00:56:26,170 És mi nem adja meg a típusát, csak mint a PHP, de nagyon eltérően C. 1151 00:56:26,170 --> 00:56:28,850 Így például, ha akarnánk az érték tárolásához 50, 1152 00:56:28,850 --> 00:56:32,490 C, mi lett volna azt mondani, hé, C, szeretnék egy egész szám, 1153 00:56:32,490 --> 00:56:35,076 Megyek hívom i, és az értéke 50. 1154 00:56:35,076 --> 00:56:36,450 A PHP, ez egy kicsit könnyebb. 1155 00:56:36,450 --> 00:56:41,880 Azt mondjuk, hé, szeretnék egy változót az i értéke pedig 50. 1156 00:56:41,880 --> 00:56:45,890 Nagyon hasonlóan, JavaScript, mi mondom hé, szeretnék egy változó az i, 1157 00:56:45,890 --> 00:56:47,080 ennek értéke 50. 1158 00:56:47,080 --> 00:56:52,140 Minden további időpontban, amit használni Én, én nem kell írni var. 1159 00:56:52,140 --> 00:56:53,810 Ez csak azt onnantól kezdve. 1160 00:56:53,810 --> 00:56:58,660 Ugyanígy, C, ahol Egyszer azt mondjuk int i, csak használja azt. 1161 00:56:58,660 --> 00:57:00,340 Hűvös? 1162 00:57:00,340 --> 00:57:01,800 Minden rendben. 1163 00:57:01,800 --> 00:57:03,710 >> Áttérve a hurkok, Szerencsére, ezek szinte 1164 00:57:03,710 --> 00:57:06,720 nézd exactly-- Azt hiszem, pontosan ugyanaz, mint amit 1165 00:57:06,720 --> 00:57:09,799 hurkokat fog kinézni olyasmi, mint C, ahol a hurok 1166 00:57:09,799 --> 00:57:11,840 megy, hogy három parts-- egy kiindulási, 1167 00:57:11,840 --> 00:57:13,640 olyan állapot, és a frissítés. 1168 00:57:13,640 --> 00:57:15,340 A while ciklus, úgy néz ki, hogy pontosan ugyanaz. 1169 00:57:15,340 --> 00:57:16,390 Csak hogy ez egy állapot. 1170 00:57:16,390 --> 00:57:18,264 >> És a do while ciklus, ismét, pontosan ugyanaz. 1171 00:57:18,264 --> 00:57:20,190 Mi ad ez egy állapot. 1172 00:57:20,190 --> 00:57:24,510 Mondjuk akartam hajtogat over-- Tenni akartam valamit ötször. 1173 00:57:24,510 --> 00:57:27,840 A C-ben, megírhassuk Az init i értéke 0. 1174 00:57:27,840 --> 00:57:30,480 i kisebb, mint 5, i ++. 1175 00:57:30,480 --> 00:57:34,240 Egyetlen különbség, JavaScript, ahelyett, hogy int i értéke 0, 1176 00:57:34,240 --> 00:57:36,820 mondjuk var i értéke 0. 1177 00:57:36,820 --> 00:57:38,370 Gyönyörű. 1178 00:57:38,370 --> 00:57:41,320 Ez az egyetlen különbség. 1179 00:57:41,320 --> 00:57:43,200 Bármilyen kérdése van ezzel? 1180 00:57:43,200 --> 00:57:44,160 Igen. 1181 00:57:44,160 --> 00:57:48,480 >> Közönség: Tehát a PHP, ez ugyanaz dolog, kivéve, de mint egy változó? 1182 00:57:48,480 --> 00:57:49,564 Vagy az volt, hogy a var példa? 1183 00:57:49,564 --> 00:57:50,480 HANNAH BLUMBERG: Igen. 1184 00:57:50,480 --> 00:57:52,310 Tehát a PHP, ez lesz hogy egy dollár jel. 1185 00:57:52,310 --> 00:57:59,450 Szóval ez lesz a $ i értéke 0, $ i kevesebb, mint 5, $ i ++. 1186 00:57:59,450 --> 00:58:02,490 Nagy kérdés. 1187 00:58:02,490 --> 00:58:04,570 >> Most beszéljünk funkciót nyilatkozatok. 1188 00:58:04,570 --> 00:58:07,010 A C-ben, amikor nyilvánították funkciót, adtunk neki egy nevet 1189 00:58:07,010 --> 00:58:08,490 és adtunk neki néhány paraméter. 1190 00:58:08,490 --> 00:58:10,670 És az elején írtuk ezt a típust. 1191 00:58:10,670 --> 00:58:12,440 A JavaScript, minden, amit kell tennie, hogy levelet 1192 00:58:12,440 --> 00:58:15,080 function kulcsszó, hogy mondja, hé, JavaScript, 1193 00:58:15,080 --> 00:58:16,570 Én azon vagyok, hogy egy függvény definiálása. 1194 00:58:16,570 --> 00:58:18,520 >> Ebben az esetben, azt név összeget. 1195 00:58:18,520 --> 00:58:20,820 És ez két paramétert, x és y. 1196 00:58:20,820 --> 00:58:23,280 Figyeljük meg, hogy mi nem érdekel a típusú x és y. 1197 00:58:23,280 --> 00:58:26,280 És csakúgy, mint a C, van ez a kulcsszó vissza, 1198 00:58:26,280 --> 00:58:29,140 így nem tehetünk valamit mint a visszatérés az x és y. 1199 00:58:29,140 --> 00:58:32,540 >> És most egyszerre is írtam ezt az első funkciót, tudjuk használni összeget bárhol. 1200 00:58:32,540 --> 00:58:34,740 És ez teljesen rendben van. 1201 00:58:34,740 --> 00:58:37,530 Egy nagyon klassz dolog JavaScript, hogy nagyon eltérően C 1202 00:58:37,530 --> 00:58:40,770 az, hogy a funkciók kell kezelni, mint értékeket. 1203 00:58:40,770 --> 00:58:43,895 Így tudunk tenni valamit, mint itt ahol azt hiszem fedezni ezt up-- 1204 00:58:43,895 --> 00:58:46,400 Én fedezett fel a var összege part-- és mi csak azt mondta, 1205 00:58:46,400 --> 00:58:49,850 funkciót xy egyenlő visszatérő x plus y. 1206 00:58:49,850 --> 00:58:52,140 >> Ez az, amit neveznék egy névtelen függvényt. 1207 00:58:52,140 --> 00:58:53,920 Ez egy függvény név nélkül. 1208 00:58:53,920 --> 00:58:56,290 Mivel ez azt mondja funkció Összegezve, bla, bla, bla, 1209 00:58:56,290 --> 00:58:59,340 ez csak azt a funkciót. 1210 00:58:59,340 --> 00:59:02,020 De most bár én ez a névtelen függvényt, 1211 00:59:02,020 --> 00:59:03,630 ez a funkció tényleg csak egy értéket. 1212 00:59:03,630 --> 00:59:05,160 Mi lehet kezelni, mint egy értéket. 1213 00:59:05,160 --> 00:59:10,180 >> Így tudjuk menteni egy változóban azonos módon tudunk tárolni 50 változó. 1214 00:59:10,180 --> 00:59:13,870 Így elmondhatjuk, OK, szeretnék egy változó, úgy hívják összeget, 1215 00:59:13,870 --> 00:59:16,011 és ez a funkció. 1216 00:59:16,011 --> 00:59:18,760 Tehát ez a két dolog valójában fog csinálni pontosan ugyanaz a dolog, 1217 00:59:18,760 --> 00:59:21,576 de a szintaxis egy kicsit más, és egyfajta szórakozás veszi. 1218 00:59:21,576 --> 00:59:22,076 Igen. 1219 00:59:22,076 --> 00:59:25,548 >> Közönség: Szóval lehet hívni funkciót, hogy névtelen volt, mondván, 1220 00:59:25,548 --> 00:59:28,244 összeg zárójelben 2, 5? 1221 00:59:28,244 --> 00:59:29,160 HANNAH BLUMBERG: Igen. 1222 00:59:29,160 --> 00:59:32,280 Hívhatjuk ezt a névtelen funkció azonos módon. 1223 00:59:32,280 --> 00:59:33,350 Tennéd összege (2, 5) ;. 1224 00:59:33,350 --> 00:59:36,180 1225 00:59:36,180 --> 00:59:38,200 Ez lenne teljesen rendben. 1226 00:59:38,200 --> 00:59:41,575 >> Ha nem tettem var összeg eléri funkciót, ha én csak hagyni 1227 00:59:41,575 --> 00:59:45,480 this-- Tudom, hogy ez a kezem, de úgy, mintha én törölte this-- majd 1228 00:59:45,480 --> 00:59:46,964 Ennek a funkciónak a fajta csak elment. 1229 00:59:46,964 --> 00:59:49,630 Akkor ne használja újra, mert Önnek nincs nevét. 1230 00:59:49,630 --> 00:59:53,497 Nehéz valamire hivatkozhatnak nem tudod, mit kell hívni. 1231 00:59:53,497 --> 00:59:54,080 Jó kérdés. 1232 00:59:54,080 --> 00:59:54,580 Igen. 1233 00:59:54,580 --> 00:59:59,580 >> Közönség: Tud referencia összeg Más helyeken az x értéke plusz y? 1234 00:59:59,580 --> 01:00:01,940 >> HANNAH BLUMBERG: Tud hivatkozási összeget más helyeken 1235 01:00:01,940 --> 01:00:03,360 melynek értéke x plus y? 1236 01:00:03,360 --> 01:00:05,130 Nem vagyok teljesen biztos benne, mire gondol. 1237 01:00:05,130 --> 01:00:10,582 >> Közönség: Tehát a már félig anonim funkció összege egyenlő ezt 1238 01:00:10,582 --> 01:00:14,452 névtelen függvényt, így az összeg Most egy változó, hogy can-- 1239 01:00:14,452 --> 01:00:15,410 HANNAH BLUMBERG: Így van. 1240 01:00:15,410 --> 01:00:18,980 Tehát az összeg változó, de ez actually-- 1241 01:00:18,980 --> 01:00:23,770 így az összeg egy változó, amelynek érték a funkciót. 1242 01:00:23,770 --> 01:00:27,030 Tehát ez egy olyan funkció, ami elég Furcsa dolog, hogy tekerje a fejét 1243 01:00:27,030 --> 01:00:29,880 hiszen játszottunk az C és nem tudod, hogy a C. 1244 01:00:29,880 --> 01:00:32,679 De most már hívhatjuk összefoglalni a ugyanúgy nevezhetnénk az összeget itt. 1245 01:00:32,679 --> 01:00:33,220 Közönség: OK. 1246 01:00:33,220 --> 01:00:33,970 HANNAH BLUMBERG: Igen. 1247 01:00:33,970 --> 01:00:34,553 Jó kérdés. 1248 01:00:34,553 --> 01:00:35,438 Igen. 1249 01:00:35,438 --> 01:00:39,862 >> Közönség: Tehát nem használja a prototípusok PHP vagy JavaScript? 1250 01:00:39,862 --> 01:00:42,070 HANNAH BLUMBERG: Nem, Nem kell használni prototípusok, 1251 01:00:42,070 --> 01:00:43,880 különösen a JavaScript. 1252 01:00:43,880 --> 01:00:49,380 Tehát az egyik rossz gyakorlatot dolog, hogy én vagyok azt fogja mondani, hogy nem szabad csinálni 1253 01:00:49,380 --> 01:00:52,620 az, akkor nem kell írni var i = 50. 1254 01:00:52,620 --> 01:00:54,840 Lehet csak kezdeni ezzel i = 50. 1255 01:00:54,840 --> 01:00:57,490 És csak azt, hogy én egy globális változót. 1256 01:00:57,490 --> 01:01:00,550 >> Ez nagyon rossz gyakorlat Soha nem mondom explicity var i, 1257 01:01:00,550 --> 01:01:01,800 de ez valami, amit tehetünk. 1258 01:01:01,800 --> 01:01:03,591 A tolmács nem fog kiabálni veled. 1259 01:01:03,591 --> 01:01:05,920 JavaScript elég hasonlók, Azt csinálsz, amit akarsz. 1260 01:01:05,920 --> 01:01:09,301 1261 01:01:09,301 --> 01:01:09,800 Oh Bocsánat. 1262 01:01:09,800 --> 01:01:10,300 Van két. 1263 01:01:10,300 --> 01:01:12,150 A narancssárga nadrágot. 1264 01:01:12,150 --> 01:01:13,190 Előre. 1265 01:01:13,190 --> 01:01:14,390 >> Közönség: Nem, te menj először. 1266 01:01:14,390 --> 01:01:16,765 >> Közönség: Nem, én csak azt mondom Nekem nem volt a kezem. 1267 01:01:16,765 --> 01:01:20,248 1268 01:01:20,248 --> 01:01:20,748 OKÉ. 1269 01:01:20,748 --> 01:01:26,604 Tehát, ha úgy döntesz, hogy hívja hogy első alkalommal, most összefoglalni, 1270 01:01:26,604 --> 01:01:29,864 hívjuk ugyanúgy, x, y, mint minden egyes alkalommal? 1271 01:01:29,864 --> 01:01:30,780 HANNAH BLUMBERG: Igen. 1272 01:01:30,780 --> 01:01:32,572 Tehát ez a két alapvetően nem ugyanaz a dolog. 1273 01:01:32,572 --> 01:01:35,113 Közönség: És mi az előnye használatának egyik vagy a másik? 1274 01:01:35,113 --> 01:01:37,500 HANNAH BLUMBERG: Nincs előnye használatának egyik vagy a másik. 1275 01:01:37,500 --> 01:01:40,080 Csak azt akartam megmutatni, két különböző darab szintaxis. 1276 01:01:40,080 --> 01:01:42,770 Sokszor, ahol anonim funkciók van egy célja 1277 01:01:42,770 --> 01:01:48,220 az, ha az az érv, hogy egy másik funkciót kell egy funkció. 1278 01:01:48,220 --> 01:01:50,600 És látni fogjuk, hogy a Csak egy pillanat az Ajax. 1279 01:01:50,600 --> 01:01:53,577 >> Tehát, ha ez nem semmi értelme, tárolja a hátán a fejét. 1280 01:01:53,577 --> 01:01:55,660 Ez az, ahol egy névtelen funkció hasznos lehet 1281 01:01:55,660 --> 01:01:58,284 mert nem igazán érdemes így ez egy nevet, mert mi csak 1282 01:01:58,284 --> 01:01:59,443 fogja használni egyszerre. 1283 01:01:59,443 --> 01:02:00,370 Igen. 1284 01:02:00,370 --> 01:02:03,635 >> Közönség: Ha x és y változás később a, összegzi is változni? 1285 01:02:03,635 --> 01:02:06,510 HANNAH BLUMBERG: ha X és Y változás Később, összefoglalót is változni? 1286 01:02:06,510 --> 01:02:08,840 Tehát ez valójában azt úgy gondolja, valamit, ami, 1287 01:02:08,840 --> 01:02:12,260 újra, ez csak úgy érzi, nagyon különböző C. Ez nem egy érték. 1288 01:02:12,260 --> 01:02:13,620 Ez nem 5. 1289 01:02:13,620 --> 01:02:15,550 Ez csak a funkciót is. 1290 01:02:15,550 --> 01:02:19,110 Tehát amint adsz paraméterek, akkor lesz valóban értékének kiszámításához. 1291 01:02:19,110 --> 01:02:21,193 >> MÁRIA ZLATKOVA: És akkor akkor hívja a funkciót 1292 01:02:21,193 --> 01:02:23,272 és használni, hogy valamilyen értéket. 1293 01:02:23,272 --> 01:02:24,230 HANNAH BLUMBERG: Így van. 1294 01:02:24,230 --> 01:02:25,250 Pontosan. 1295 01:02:25,250 --> 01:02:25,863 Igen. 1296 01:02:25,863 --> 01:02:27,946 >> Közönség: Tehát, ha csak tárolja a változó, 1297 01:02:27,946 --> 01:02:31,430 mint a var x = összeg két values-- 1298 01:02:31,430 --> 01:02:32,420 >> HANNAH BLUMBERG: Igen. 1299 01:02:32,420 --> 01:02:35,320 Szóval lehet csak nem var összege egyenlő összeget két érték. 1300 01:02:35,320 --> 01:02:37,670 Igen. 1301 01:02:37,670 --> 01:02:38,680 Más kérdés? 1302 01:02:38,680 --> 01:02:39,642 Igen. 1303 01:02:39,642 --> 01:02:42,047 >> Közönség: De vajon, hogy megzavarja összeg és összege? 1304 01:02:42,047 --> 01:02:45,062 Mint ha hívja a változó összeget, azt a függvényt összeget? 1305 01:02:45,062 --> 01:02:45,895 HANNAH BLUMBERG: Mm. 1306 01:02:45,895 --> 01:02:46,395 Mm. 1307 01:02:46,395 --> 01:02:51,253 Ha volt valami mint, összeg eléri összege 2, 5? 1308 01:02:51,253 --> 01:02:53,170 >> Közönség: Igen. 1309 01:02:53,170 --> 01:02:56,465 >> HANNAH BLUMBERG: Úgy gondolom, hogy Ez felülírja a sum változó értéke. 1310 01:02:56,465 --> 01:02:59,290 Tehát egy másik érdekes dolog JavaScript 1311 01:02:59,290 --> 01:03:02,950 az, hogy egyetlen változó vehet egy csomó különböző típusú. 1312 01:03:02,950 --> 01:03:03,790 Rossz megoldás. 1313 01:03:03,790 --> 01:03:06,280 Nem kellene valamit csinálni mint amit az imént mondott. 1314 01:03:06,280 --> 01:03:10,240 >> De a C, ha be van állítva egyenlő egész szám, 1315 01:03:10,240 --> 01:03:13,570 tudjuk, hogy ez nem fog válni a húr. 1316 01:03:13,570 --> 01:03:15,670 Ez nem így van a JavaScript. 1317 01:03:15,670 --> 01:03:17,770 Igen, jó kérdés. 1318 01:03:17,770 --> 01:03:20,151 Akármi más? 1319 01:03:20,151 --> 01:03:20,650 Minden rendben. 1320 01:03:20,650 --> 01:03:21,850 Jól megy az idő. 1321 01:03:21,850 --> 01:03:23,050 Tartása megy. 1322 01:03:23,050 --> 01:03:25,200 Minden rendben. 1323 01:03:25,200 --> 01:03:27,780 >> Ha megnézzük egy tömböt JavaScript, itt 1324 01:03:27,780 --> 01:03:30,250 Egy gyors példa egy tömböt. 1325 01:03:30,250 --> 01:03:31,967 És tömbök dinamikusan növekszik. 1326 01:03:31,967 --> 01:03:33,675 Ezek nem rendelkeznek fix méretű ugyanúgy 1327 01:03:33,675 --> 01:03:37,990 hogy ők a C. tudjuk elérni a elemek csak a szögletes zárójelben. 1328 01:03:37,990 --> 01:03:41,720 >> Hogy néz ki, mint a PHP és a sok mint a C, ahol azt mondhatjuk, ebben az esetben, 1329 01:03:41,720 --> 01:03:48,360 ha akartam a szót JavaScript, megtenném nem arr szögletes zárójelben egy 0, 1, 2. 1330 01:03:48,360 --> 01:03:51,450 1331 01:03:51,450 --> 01:03:55,390 És akkor, ha eszébe jut a C amikor akarta, hogy a hossza a tömb, 1332 01:03:55,390 --> 01:03:56,820 ez nagyon idegesítő. 1333 01:03:56,820 --> 01:03:58,460 De a JavaScript, szuper könnyű. 1334 01:03:58,460 --> 01:03:59,910 Minden, amit csinálunk, .length. 1335 01:03:59,910 --> 01:04:01,120 Adja a hossza. 1336 01:04:01,120 --> 01:04:01,892 Ez az. 1337 01:04:01,892 --> 01:04:03,140 >> Közönség: Ez nagyon egyszerű. 1338 01:04:03,140 --> 01:04:05,306 >> HANNAH BLUMBERG: Igen, teszi az életed sokkal könnyebb. 1339 01:04:05,306 --> 01:04:08,950 1340 01:04:08,950 --> 01:04:11,560 OK, object-- nem volt ott. 1341 01:04:11,560 --> 01:04:15,480 Objektumok JavaScript érzést egy csomó, mint struktúrákat C-ben 1342 01:04:15,480 --> 01:04:18,280 és asszociatív tömbök a PHP. 1343 01:04:18,280 --> 01:04:20,270 Szóval mit láttunk Sok a JSON, amelyek 1344 01:04:20,270 --> 01:04:23,150 áll a JavaScript Object Notation. 1345 01:04:23,150 --> 01:04:25,550 És ez alapvetően egy módja A strukturálni adatok. 1346 01:04:25,550 --> 01:04:27,880 >> Nézzük egy példát, talán a legegyszerűbb. 1347 01:04:27,880 --> 01:04:32,540 Tehát itt egy példa egy objektum amely tárolja az osztály, CS50. 1348 01:04:32,540 --> 01:04:37,790 És amikor azt mondom, osztály, úgy értem persze, Nem általam elvártnál igen, a tanfolyam, CS50. 1349 01:04:37,790 --> 01:04:40,730 És látni fogod, hogy mindent az objektum 1350 01:04:40,730 --> 01:04:43,526 lesz benne a zárójelek segítségével. 1351 01:04:43,526 --> 01:04:48,260 >> És kezdjük társítani mezőnevek vagy gombokat a különböző értékeket. 1352 01:04:48,260 --> 01:04:52,920 Így meg lehet kezdeni, hogy milyen ez a fajta Olyan, mintha egy asszociatív tömb PHP. 1353 01:04:52,920 --> 01:04:57,450 Mi is így fogjuk bevonni a területen, vagy a gomb nevét, természetesen, a húr, 1354 01:04:57,450 --> 01:04:58,510 CS50. 1355 01:04:58,510 --> 01:04:59,940 >> Megyünk, hogy egy oktató. 1356 01:04:59,940 --> 01:05:00,940 Megyünk, hogy TFs. 1357 01:05:00,940 --> 01:05:05,240 Megyünk, hogy számos psets és megyünk, amit felvettünk. 1358 01:05:05,240 --> 01:05:10,720 És egy klassz dolog megjegyezni, az összes Ezeket a dolgokat különböző típusú, 1359 01:05:10,720 --> 01:05:12,020 és ez teljesen rendben van. 1360 01:05:12,020 --> 01:05:15,330 >> Ez rendben van egy objektum, sőt, ez valószínűleg várhatóan egy objektum 1361 01:05:15,330 --> 01:05:19,620 hogy egy kombinációs húrok és szám Logikai és tömbök 1362 01:05:19,620 --> 01:05:23,420 és bármi mást, amit lehet szeretnénk, hogy a belsejében a tárgyat. 1363 01:05:23,420 --> 01:05:28,570 És megjegyzem, hogy ezek lesznek A nevek vagy a kulcsokat, és aztán csak 1364 01:05:28,570 --> 01:05:30,300 állítsa egyenlő egy kis vastagbélben. 1365 01:05:30,300 --> 01:05:32,015 >> Közönség: Pontosan mit jelent a JSON jelent? 1366 01:05:32,015 --> 01:05:33,890 HANNAH BLUMBERG: Mit Pontosan nem JSON jelent? 1367 01:05:33,890 --> 01:05:36,470 JSON csak áll a JavaScript Object Notation. 1368 01:05:36,470 --> 01:05:38,430 Ez csak egy módja a formázás. 1369 01:05:38,430 --> 01:05:40,040 Igen. 1370 01:05:40,040 --> 01:05:41,800 Ez egy módja a formázás adataink. 1371 01:05:41,800 --> 01:05:43,620 >> A C-ben, ez struktúrákat. 1372 01:05:43,620 --> 01:05:45,800 A PHP-ban ez az asszociatív tömböket. 1373 01:05:45,800 --> 01:05:47,120 A JavaScript, van tárgyakat. 1374 01:05:47,120 --> 01:05:48,969 >> Közönség: Szóval CS50 egy tárgyat? 1375 01:05:48,969 --> 01:05:51,010 HANNAH BLUMBERG: CS50 van a tárgy ebben az esetben. 1376 01:05:51,010 --> 01:05:54,830 1377 01:05:54,830 --> 01:05:57,880 Most, hogyan is ténylegesen elérhető Azokon a területeken, vagy változtatni ezeken a területeken. 1378 01:05:57,880 --> 01:06:03,920 Tegyük fel például, úgy döntöttünk, hogy akartál eggyel kevesebb PSET ebben a félévben. 1379 01:06:03,920 --> 01:06:06,300 Ahelyett, hogy kilenc vagyunk Csak megy, hogy nyolc. 1380 01:06:06,300 --> 01:06:08,240 Hogyan tudnánk változtatni? 1381 01:06:08,240 --> 01:06:09,436 >> Ó, rossz irányba. 1382 01:06:09,436 --> 01:06:11,060 Két módon tudjuk csinálni. 1383 01:06:11,060 --> 01:06:13,490 Számú a dot jelölés és a kettes számú 1384 01:06:13,490 --> 01:06:15,750 ez a szögletes zárójel jelölést. 1385 01:06:15,750 --> 01:06:19,720 Így például, ha I akarta változtatni vagy hozzáférési 1386 01:06:19,720 --> 01:06:26,820 A psets területen a mi CS50 tárgy, én mit tennék a CS50.psets, 1387 01:06:26,820 --> 01:06:30,770 így a neve a tárgy dot A mező nevét vagy a kulcs. 1388 01:06:30,770 --> 01:06:37,120 >> Nagyon hasonlóan, ez pontosan egyenértékű csinálni CS50, majd 1389 01:06:37,120 --> 01:06:42,050 szögletes zárójelben, psets. 1390 01:06:42,050 --> 01:06:42,837 Hűvös? 1391 01:06:42,837 --> 01:06:44,298 Igen. 1392 01:06:44,298 --> 01:06:47,707 >> Közönség: Szóval az a JSON technikailag JavaScript még, 1393 01:06:47,707 --> 01:06:51,814 annak ellenére, hogy a psets vagyunk külön ki [hallhatatlan]? 1394 01:06:51,814 --> 01:06:52,730 HANNAH BLUMBERG: Persze. 1395 01:06:52,730 --> 01:06:56,290 Tehát a kérdés az, hogy JavaScript és a JSON megfelelője? 1396 01:06:56,290 --> 01:07:00,750 Tehát JSON jelölés, alapvetően az is, hogy írunk ki 1397 01:07:00,750 --> 01:07:02,700 egy tárgyat a JavaScript. 1398 01:07:02,700 --> 01:07:05,190 Tehát ők nem pontosan ugyanaz. 1399 01:07:05,190 --> 01:07:08,950 >> Azt mondanám, JavaScript, ott objektumok a JavaScript. 1400 01:07:08,950 --> 01:07:12,590 JSON veszi ezeket a tárgyakat, és nyomtatja ki őket, és megjeleníti őket 1401 01:07:12,590 --> 01:07:15,160 vagy tárolja őket egy szép módon. 1402 01:07:15,160 --> 01:07:18,110 Tehát JSON nem egy programozási nyelven az is, hogy a JavaScript van. 1403 01:07:18,110 --> 01:07:20,900 Ez csak a jelölés a tárgyakat a JavaScript. 1404 01:07:20,900 --> 01:07:21,400 Igen. 1405 01:07:21,400 --> 01:07:24,144 >> Közönség: Tehát pontosan [Hallhatatlan] befejezni? 1406 01:07:24,144 --> 01:07:25,060 HANNAH BLUMBERG: Persze. 1407 01:07:25,060 --> 01:07:27,727 Tehát ez valójában nem csinál semmit. 1408 01:07:27,727 --> 01:07:28,935 Ez csak egy módja annak, hogy hozzáférést. 1409 01:07:28,935 --> 01:07:31,393 Tehát mondjuk akartunk változtatni A problémás szettek 1410 01:07:31,393 --> 01:07:32,450 kilencről nyolcra. 1411 01:07:32,450 --> 01:07:34,383 Amit mi csinálunk valamit csinálni mint CS50.psets = 8 ;. 1412 01:07:34,383 --> 01:07:38,500 1413 01:07:38,500 --> 01:07:39,400 >> Igen, jó kérdés. 1414 01:07:39,400 --> 01:07:40,733 Ez csak, hogy mutassa meg szintaxis. 1415 01:07:40,733 --> 01:07:43,620 Valójában nem csinál semmit hasznos. 1416 01:07:43,620 --> 01:07:46,085 Bármi kérdés? 1417 01:07:46,085 --> 01:07:48,210 Mozgó végig. 1418 01:07:48,210 --> 01:07:51,960 >> Tehát nézzük meg egy gyors példa arra, hogy JavaScript működik, mert Mondtam, hogy 1419 01:07:51,960 --> 01:07:55,170 mindezeket a dolgokat, és hűvös lehetővé teszi számunkra, hogy módosítsa a weboldalakat. 1420 01:07:55,170 --> 01:07:56,970 Nézzük valóban látni működés közben. 1421 01:07:56,970 --> 01:07:59,850 Tehát vegyük például, ezt a HTML fájlt. 1422 01:07:59,850 --> 01:08:04,350 >> És a dolog, azt akarom, hogy összpontosítson a ebben a konkrét címke, amely egy gomb, 1423 01:08:04,350 --> 01:08:06,182 id search_button. 1424 01:08:06,182 --> 01:08:08,670 Ez csak az oldalon. 1425 01:08:08,670 --> 01:08:10,690 Tehát most lássuk, mi mi is valójában. 1426 01:08:10,690 --> 01:08:12,560 >> Nos, tegyük fel, ha rákattint a gombra, 1427 01:08:12,560 --> 01:08:16,010 azt szeretné, hogy egy alert-- rákattintott a gombra. 1428 01:08:16,010 --> 01:08:17,840 Lássuk, hogyan tudjuk csinálni. 1429 01:08:17,840 --> 01:08:23,869 Tehát window.onload-- ez nem olyasmi hogy láttad az osztályban, ezért 1430 01:08:23,869 --> 01:08:26,180 nem kell tudni, hogy ez a teszt. 1431 01:08:26,180 --> 01:08:33,660 De ez lényegében azt jelenti, OK, hívás Ezt a funkciót az ablak betölti. 1432 01:08:33,660 --> 01:08:35,080 >> Szóval ez csak egyfajta beállítási kódot. 1433 01:08:35,080 --> 01:08:36,390 Ne aggódj annyira, hogy. 1434 01:08:36,390 --> 01:08:39,170 Mi azt akarom, hogy összpontosítson van itt. 1435 01:08:39,170 --> 01:08:44,020 Azt mondjuk var searchButton egyenlő document.getElementById search_button. 1436 01:08:44,020 --> 01:08:46,450 >> Tehát ahogy sejteni lehet, Mi ez azt mondja, 1437 01:08:46,450 --> 01:08:50,920 OK, menj találja az elem ID search_button. 1438 01:08:50,920 --> 01:08:52,790 És most, hogy aktuális elem és én vagyok 1439 01:08:52,790 --> 01:08:56,279 majd tárolja változó searchButton. 1440 01:08:56,279 --> 01:09:00,651 És most már ténylegesen használni ezt az elemet és változtassa meg, vagy elérni annak értékeit, 1441 01:09:00,651 --> 01:09:01,359 hasonló dolgok. 1442 01:09:01,359 --> 01:09:04,649 Mi is valójában kezd vegyenek részt a weboldalon. 1443 01:09:04,649 --> 01:09:10,330 >> Tehát itt azt mondom, rendben, most, hogy van azt a gombot, amikor kattint, 1444 01:09:10,330 --> 01:09:12,859 hívja ezt a névtelen függvényt. 1445 01:09:12,859 --> 01:09:16,811 Szóval ez az, ahol anonim funkciókat is hasznosul. 1446 01:09:16,811 --> 01:09:18,060 És mit jelent a funkció hatása? 1447 01:09:18,060 --> 01:09:20,529 Nos, ez csak kéri ezt figyelmeztető funkció, és azt mondja, 1448 01:09:20,529 --> 01:09:22,910 rákattintott a Keresés gombra. 1449 01:09:22,910 --> 01:09:29,670 >> Szóval, mi fog történni, ha elmegyek bárhová Ezzel a HTML él és rákattintok a gombot, 1450 01:09:29,670 --> 01:09:33,729 Hozok egy díszes kis figyelmeztetés hogy azt mondja rákattintott a gombra. 1451 01:09:33,729 --> 01:09:40,710 Tehát a dolog, hogy összpontosítson here-- document.getElementById 1452 01:09:40,710 --> 01:09:44,960 jelentkeznek egy adott HTML elemet ami az adott azonosítót. 1453 01:09:44,960 --> 01:09:48,529 És most tudjuk meg mi történjen, amikor 1454 01:09:48,529 --> 01:09:50,702 hogy az adott elem kattint. 1455 01:09:50,702 --> 01:09:52,670 >> Közönség: Mi van, hogy az összes, hogy? 1456 01:09:52,670 --> 01:09:53,162 >> HANNAH BLUMBERG: Sajnáljuk? 1457 01:09:53,162 --> 01:09:55,130 >> Közönség: Muszáj fizikailag irányítószám alapján az? 1458 01:09:55,130 --> 01:09:56,340 >> HANNAH BLUMBERG: Muszáj fizikailag irányítószám alapján az? 1459 01:09:56,340 --> 01:09:56,839 Igen. 1460 01:09:56,839 --> 01:09:58,120 Hát nem ez a fajta idegesítő? 1461 01:09:58,120 --> 01:10:00,032 Ez egy csomó kód. 1462 01:10:00,032 --> 01:10:01,574 >> Közönség: Lehet importálni valamit. 1463 01:10:01,574 --> 01:10:02,532 HANNAH BLUMBERG: Így van. 1464 01:10:02,532 --> 01:10:03,610 Mi jönne valami. 1465 01:10:03,610 --> 01:10:08,140 És particular-- ó, ez mondja nekem kell tanítani részt. 1466 01:10:08,140 --> 01:10:11,061 Különösen, hadd használja a könyvtár jQuery, 1467 01:10:11,061 --> 01:10:13,060 mert ez tényleg Hosszú és nagyon bosszantó 1468 01:10:13,060 --> 01:10:16,860 és azt akarom, hogy képes legyen annak egyszerűsítése és ez rövidebb és könnyebb írni. 1469 01:10:16,860 --> 01:10:19,810 >> Tehát jQuery egy JavaScript könyvtár. 1470 01:10:19,810 --> 01:10:24,930 Tehát A JavaScript programozási nyelv; jQuery egy könyvtár. 1471 01:10:24,930 --> 01:10:27,190 És ez teszi egy csomó dolog könnyebb. 1472 01:10:27,190 --> 01:10:33,230 Lehetővé teszi a változó és megy át Egy HTML dokumentum sokkal könnyebb. 1473 01:10:33,230 --> 01:10:35,030 >> Lehetővé teszi kezelési események könnyebb. 1474 01:10:35,030 --> 01:10:37,580 Lehetővé teszi animáció könnyebb és ez teszi Ajax könnyebb. 1475 01:10:37,580 --> 01:10:40,140 Úgyhogy ugrik be két azok a dolgok most. 1476 01:10:40,140 --> 01:10:40,900 Elnézést. 1477 01:10:40,900 --> 01:10:42,620 Mielőtt teszünk, néhány alapvető szintaxis. 1478 01:10:42,620 --> 01:10:46,870 >> Ez az, amit a legtöbb hívások jQuery könyvtár kinézni. 1479 01:10:46,870 --> 01:10:50,520 Mi ezt dollár sign-- nincs kapcsolat jele, hogy a PHP, 1480 01:10:50,520 --> 01:10:56,030 Csak inconvenient-- a neve egy választó, dot, majd egy akció. 1481 01:10:56,030 --> 01:10:58,860 Tehát lássuk néhány konkrét példákat erre. 1482 01:10:58,860 --> 01:11:02,980 >> Tehát ez tulajdonképpen ugyanaz, kódot a rendezvény csúszda. 1483 01:11:02,980 --> 01:11:08,740 Tehát ez a hosszú, csúnya dolog lesz ez sokkal szebb, kisebb dolog. 1484 01:11:08,740 --> 01:11:10,370 Úgyhogy próbáljuk megtörni ezt le. 1485 01:11:10,370 --> 01:11:17,090 Ez azt mondja, OK, jQuery-- ezt dollár sign-- jQuery, találja meg az ablakot. 1486 01:11:17,090 --> 01:11:18,480 Szóval ez a választó. 1487 01:11:18,480 --> 01:11:21,800 >> Amikor betölti, hívja ezt a funkciót. 1488 01:11:21,800 --> 01:11:23,880 Szóval ez mindent benne. 1489 01:11:23,880 --> 01:11:24,380 OKÉ. 1490 01:11:24,380 --> 01:11:25,740 Eddig jó? 1491 01:11:25,740 --> 01:11:26,750 Minden rendben. 1492 01:11:26,750 --> 01:11:32,970 >> Most, jQuery, találja meg a dolog ID search_button. 1493 01:11:32,970 --> 01:11:36,090 És mit kattint, ezt a funkciót. 1494 01:11:36,090 --> 01:11:37,900 És akkor ez a függvény pontosan ugyanaz. 1495 01:11:37,900 --> 01:11:41,052 Csak nem egy kis figyelmeztetés, rákattintott a Keresés gombra. 1496 01:11:41,052 --> 01:11:42,650 >> Tehát ez nagyon szép. 1497 01:11:42,650 --> 01:11:46,260 Ez tényleg lecsapódik, és egyszerűsíti a kódot. 1498 01:11:46,260 --> 01:11:49,030 Honnan tudom, hogy ez ID search_button 1499 01:11:49,030 --> 01:11:50,960 és nem úgy, mint osztály search_button? 1500 01:11:50,960 --> 01:11:52,024 >> Közönség: Hashtag? 1501 01:11:52,024 --> 01:11:52,940 HANNAH BLUMBERG: Igen. 1502 01:11:52,940 --> 01:11:56,450 Ez a hash szimbólum, ez csak, mint a CSS. 1503 01:11:56,450 --> 01:12:00,080 Jól jegyezd meg, a CSS, amikor akart választani egy azonosító, 1504 01:12:00,080 --> 01:12:01,590 használtuk a font jel. 1505 01:12:01,590 --> 01:12:05,400 És ha azt akartuk, hogy válasszon valamit osztály, használjuk a pont. 1506 01:12:05,400 --> 01:12:06,870 Nagy. 1507 01:12:06,870 --> 01:12:08,230 Van értelme? 1508 01:12:08,230 --> 01:12:11,500 Tehát jQuery állítólag Csak életét megkönnyítették. 1509 01:12:11,500 --> 01:12:12,000 Igen. 1510 01:12:12,000 --> 01:12:15,660 >> Közönség: Szóval egy kicsit zavaros, hogy milyen a névtelen funkció. 1511 01:12:15,660 --> 01:12:19,027 Van elnevezni ezt anonymouse funkciót, működik? 1512 01:12:19,027 --> 01:12:20,594 Hogyan hívják? 1513 01:12:20,594 --> 01:12:21,510 HANNAH BLUMBERG: Persze. 1514 01:12:21,510 --> 01:12:25,812 Tehát a funkció csak egy kulcsszó, ami mondja, én vagyok arról, hogy meghatározzák a funkciót. 1515 01:12:25,812 --> 01:12:26,520 Közönség: Ó, oké. 1516 01:12:26,520 --> 01:12:27,353 HANNAH BLUMBERG: OK? 1517 01:12:27,353 --> 01:12:32,120 És akkor adja át, mint egy érv az alábbiakra: vessünk 1518 01:12:32,120 --> 01:12:37,040 E belső one-- a kattintási funkcióval. 1519 01:12:37,040 --> 01:12:39,420 Szóval igen, így a függvény, ez a névtelen függvényt, 1520 01:12:39,420 --> 01:12:40,910 válik tényleges érv. 1521 01:12:40,910 --> 01:12:43,632 Úgy emlékszem, a JavaScript, mi Kényeztesse funkcionál értékeket. 1522 01:12:43,632 --> 01:12:44,340 Közönség: Ó, oké. 1523 01:12:44,340 --> 01:12:45,256 HANNAH BLUMBERG: Igen. 1524 01:12:45,256 --> 01:12:46,035 Szeretem, hogy "ó". 1525 01:12:46,035 --> 01:12:47,490 Szép. 1526 01:12:47,490 --> 01:12:49,915 Más kérdés? 1527 01:12:49,915 --> 01:12:50,505 Idő? 1528 01:12:50,505 --> 01:12:51,380 MÁRIA ZLATKOVA: Jó. 1529 01:12:51,380 --> 01:12:52,760 Jó. 1530 01:12:52,760 --> 01:12:54,210 >> HANNAH BLUMBERG: Félelmetes. 1531 01:12:54,210 --> 01:12:55,720 Néhány gyors hasznos jQuery. 1532 01:12:55,720 --> 01:12:57,559 Nem fogok menni mindezeken keresztül a. 1533 01:12:57,559 --> 01:12:59,350 Ezek diák lesz akár on-line egy kicsit 1534 01:12:59,350 --> 01:13:02,040 Később, így ellenőrizheti ki egy kicsit később. 1535 01:13:02,040 --> 01:13:07,120 De alapvetően, az általános minta tart, ahol azt mondjuk, 1536 01:13:07,120 --> 01:13:11,510 OK, hé, jQuery, itt az én választó és akkor itt van egy akció. 1537 01:13:11,510 --> 01:13:15,940 És meg tudod csinálni a dolgokat, mint a hozzáférési érték egy formája, némelyikük a HTML, 1538 01:13:15,940 --> 01:13:19,195 kontroll mi történik, ha a felhasználó elküld egy űrlapot, ilyesmi. 1539 01:13:19,195 --> 01:13:20,106 Igen. 1540 01:13:20,106 --> 01:13:22,090 >> Közönség: Tehát a vizsga, akkor szükségünk lesz 1541 01:13:22,090 --> 01:13:25,066 tudni, hogy ma is sokat A jQuery dokumentációt. 1542 01:13:25,066 --> 01:13:31,018 Tehát tekintettel arra, hogy copy / paste a jQuery dokumentációt a puskát, 1543 01:13:31,018 --> 01:13:32,506 hol van az húzott vonal? 1544 01:13:32,506 --> 01:13:33,957 Mint hányat kell tudnunk? 1545 01:13:33,957 --> 01:13:35,290 HANNAH BLUMBERG: Nagy kérdés. 1546 01:13:35,290 --> 01:13:37,765 A kérdés az, Lényegében tekintve, hogy 1547 01:13:37,765 --> 01:13:41,330 nem tudja elérni a jQuery dokumentációt A vizsgálat során, hogy mennyi kéne 1548 01:13:41,330 --> 01:13:41,830 tud? 1549 01:13:41,830 --> 01:13:45,540 Azt nem várjuk el, hogy akár néhány véletlenszerű funkció 1550 01:13:45,540 --> 01:13:47,240 hogy azt várnánk, hogy a Google. 1551 01:13:47,240 --> 01:13:52,930 >> Dolgokat, amelyek a tisztességes játék tenném azt mondják, csak egyfajta általános szintaxis, 1552 01:13:52,930 --> 01:13:58,310 hogy képes kiválasztani azonosító és által class-- így hasonlóan a CSS. 1553 01:13:58,310 --> 01:14:01,876 És akkor a tényleges funkciók önállóan oldják meg, akkor valószínűleg azt mondja. 1554 01:14:01,876 --> 01:14:02,376 Igen. 1555 01:14:02,376 --> 01:14:05,591 >> Közönség: Tehát ha kiválaszt osztály azt jelentené dot. 1556 01:14:05,591 --> 01:14:06,840 HANNAH BLUMBERG: Igen, pontosan. 1557 01:14:06,840 --> 01:14:07,340 Jó. 1558 01:14:07,340 --> 01:14:10,461 Ha kiválaszt osztály, ez lesz hogy pont helyett a font jel. 1559 01:14:10,461 --> 01:14:10,960 Igen. 1560 01:14:10,960 --> 01:14:12,710 >> Közönség: Megtenné megy át a különbség 1561 01:14:12,710 --> 01:14:14,310 között kiválasztásával azonosító és osztályonként? 1562 01:14:14,310 --> 01:14:14,560 >> HANNAH BLUMBERG: Persze. 1563 01:14:14,560 --> 01:14:17,510 A különbség a kiválasztó ID és kiválasztja osztály. 1564 01:14:17,510 --> 01:14:20,685 Tehát, mint Maria mondta egy kicsit korábban, ott 1565 01:14:20,685 --> 01:14:26,280 csak egy HTML elem egy adott azonosítót, mivel osztály, 1566 01:14:26,280 --> 01:14:29,740 ez lehetővé teszi számunkra, hogy csoport egy rakás A különböző elemek együttesen, 1567 01:14:29,740 --> 01:14:34,300 így a dolgok, amelyek kapcsolódnak, de nem pontosan ugyanaz. 1568 01:14:34,300 --> 01:14:35,685 Ez azt megválaszolni a kérdést? 1569 01:14:35,685 --> 01:14:36,200 Fantasztikus. 1570 01:14:36,200 --> 01:14:37,194 Igen. 1571 01:14:37,194 --> 01:14:40,680 >> Közönség: Mi van, ha több dolgokat, amelyek ugyanabban az osztályban? 1572 01:14:40,680 --> 01:14:42,150 >> HANNAH BLUMBERG: Mi történik, ha több dolgot, hogy 1573 01:14:42,150 --> 01:14:43,280 ugyanazok osztály? 1574 01:14:43,280 --> 01:14:45,829 Így például, ha vagyunk Csak a tiszta JavaScript, 1575 01:14:45,829 --> 01:14:48,120 mi lenne ilyesmire document.getElementsByClass. 1576 01:14:48,120 --> 01:14:52,280 1577 01:14:52,280 --> 01:14:56,320 És akkor mi, hogy valójában nem a hozamok tömbjére. 1578 01:14:56,320 --> 01:14:59,517 >> És akkor sem végighaladni őket, vagy megtalálni, melyik akarsz. 1579 01:14:59,517 --> 01:15:01,350 Ez nem fog adni Ön egyetlen elem. 1580 01:15:01,350 --> 01:15:03,450 Meg fog adni tömbjére. 1581 01:15:03,450 --> 01:15:05,280 Nagy kérdés. 1582 01:15:05,280 --> 01:15:07,700 Akármi más? 1583 01:15:07,700 --> 01:15:09,520 Fantasztikus. 1584 01:15:09,520 --> 01:15:12,860 >> Tehát úgy gondolom, ha te vagy ismeri minden jQuery láttam a PSET, 1585 01:15:12,860 --> 01:15:15,600 akkor legyen jó menni. 1586 01:15:15,600 --> 01:15:16,325 Kérdés? 1587 01:15:16,325 --> 01:15:17,610 Ó, nem. 1588 01:15:17,610 --> 01:15:18,859 Én tényleg meg kell tanítani. 1589 01:15:18,859 --> 01:15:19,358 Lazuljon el. 1590 01:15:19,358 --> 01:15:20,035 Minden rendben lesz. 1591 01:15:20,035 --> 01:15:20,660 Ott leszek. 1592 01:15:20,660 --> 01:15:24,670 1593 01:15:24,670 --> 01:15:26,870 >> Beszéljünk Ajax. 1594 01:15:26,870 --> 01:15:31,350 Tehát Ajax lesz egy-- is, Kezdjük azzal, amit képvisel. 1595 01:15:31,350 --> 01:15:32,350 Ez egy mozaikszó. 1596 01:15:32,350 --> 01:15:35,855 Ez áll a aszinkron JavaScript és XML. 1597 01:15:35,855 --> 01:15:39,800 És XML alapvetően lesz [Hallhatatlan] egy típusú adataink. 1598 01:15:39,800 --> 01:15:42,100 De nem a ténylegesen felhasznált XML. 1599 01:15:42,100 --> 01:15:43,430 Ehelyett csak használja JSON. 1600 01:15:43,430 --> 01:15:48,350 >> Tehát alapvetően, ez valami data-- aszinkron, JavaScript, és az adatok, 1601 01:15:48,350 --> 01:15:50,040 Ebben az esetben, a JSON. 1602 01:15:50,040 --> 01:15:52,820 És a célunk, mint már említettük Egy kicsit korábban, 1603 01:15:52,820 --> 01:15:56,880 az, hogy képes arra, hogy egy kérés, hogy ezt a kérést nem 1604 01:15:56,880 --> 01:16:00,700 A dolog a háttérben, de továbbra is 1605 01:16:00,700 --> 01:16:02,550 Mindent megteszünk azért került szándékozó csinálni. 1606 01:16:02,550 --> 01:16:06,650 És akkor, amikor ez az információ kész, akkor majd beépítése. 1607 01:16:06,650 --> 01:16:08,470 >> Szóval lássuk, mi ez néznek ki. 1608 01:16:08,470 --> 01:16:11,210 És ez, ha kell Egy kicsit ismerős 1609 01:16:11,210 --> 01:16:13,680 re pset8, az imént fordult. 1610 01:16:13,680 --> 01:16:16,200 Tehát itt egy érvényes jQuery funkciót, hogy talán 1611 01:16:16,200 --> 01:16:18,250 szeretném tudni, about-- ezt dollár jel. 1612 01:16:18,250 --> 01:16:21,500 Tehát azt mondja, jQuery funkció, .getJson. 1613 01:16:21,500 --> 01:16:25,020 >> És mi ez a funkció nem az, hogy vesz egy URL-t és néhány parameters-- 1614 01:16:25,020 --> 01:16:28,000 ezért úgy gondolom, abban az esetben, A pset8, olyan volt, mint, 1615 01:16:28,000 --> 01:16:33,520 Az URL volt articles.php és a paraméterek volt menni = néhány irányítószámot. 1616 01:16:33,520 --> 01:16:41,580 És azt mondja, OK, be kérelmét, Ez az URL a megadott paramétereket. 1617 01:16:41,580 --> 01:16:43,480 És hogy épp. 1618 01:16:43,480 --> 01:16:47,730 >> Amikor befejeződik, akkor vagy megy, hogy sikeresen 1619 01:16:47,730 --> 01:16:49,370 vagy hogy fog sikerülni. 1620 01:16:49,370 --> 01:16:53,480 Tehát ez egyenértékű a hívás Rob és megkérem, hogy tegyen valamit. 1621 01:16:53,480 --> 01:17:00,260 És akkor, amikor azt kéri vissza, ő sem akartam mondani kész vagyok, vagy nem sikerült. 1622 01:17:00,260 --> 01:17:04,030 >> Tehát abban az esetben, ha te történik, azt mondod, OK, nem vagyok kész. 1623 01:17:04,030 --> 01:17:05,980 És akkor hívja ezt a funkciót. 1624 01:17:05,980 --> 01:17:08,915 Ebben az esetben, ez lesz a funkciója, amely során bizonyos információkat. 1625 01:17:08,915 --> 01:17:12,890 Az egyik, amit általában érdekel adatokat, Az adatok, hogy mi volt valójában visszatért 1626 01:17:12,890 --> 01:17:15,900 ennek eredményeként a hívó .getJSON. 1627 01:17:15,900 --> 01:17:17,470 >> És meg tudod csinálni valamit vele. 1628 01:17:17,470 --> 01:17:23,670 Tehát abban az esetben, pset8, mi jelenik meg a listában. 1629 01:17:23,670 --> 01:17:29,050 Fail lesz egy függvény hogy az úgynevezett amennyiben a kérelmet nem 1630 01:17:29,050 --> 01:17:30,450 bármilyen okból. 1631 01:17:30,450 --> 01:17:35,104 És abban az esetben pset8, mi csak console.log meg. 1632 01:17:35,104 --> 01:17:36,020 Bármilyen kérdésre, hogy? 1633 01:17:36,020 --> 01:17:36,300 Igen. 1634 01:17:36,300 --> 01:17:39,633 >> Közönség: Meg tudjuk csak használni a funkciót theta ahelyett, hogy a funkció, textStatus, jqHXR. 1635 01:17:39,633 --> 01:17:43,464 1636 01:17:43,464 --> 01:17:44,380 HANNAH BLUMBERG: Persze. 1637 01:17:44,380 --> 01:17:46,713 Szóval igen, azt hiszem, a PSET, láttunk funkciót adatokat. 1638 01:17:46,713 --> 01:17:48,700 Tehát csak the-- igen, az OK gombra. 1639 01:17:48,700 --> 01:17:50,510 Ez az, amit láttunk az PSET. 1640 01:17:50,510 --> 01:17:51,480 Ez teljesen rendben. 1641 01:17:51,480 --> 01:17:54,210 >> Ezek csak ha akart hogy húzza ki több információt, 1642 01:17:54,210 --> 01:17:57,190 Ezek azok a dolgok, is kaphat .getJSON. 1643 01:17:57,190 --> 01:17:59,040 Jó kérdés. 1644 01:17:59,040 --> 01:17:59,706 Akármi más? 1645 01:17:59,706 --> 01:18:00,206 Igen. 1646 01:18:00,206 --> 01:18:01,787 >> Közönség: Szóval .getJSON az Ajax? 1647 01:18:01,787 --> 01:18:02,620 HANNAH BLUMBERG: OK. 1648 01:18:02,620 --> 01:18:05,700 Tehát ez a fajta kutya elásva. 1649 01:18:05,700 --> 01:18:12,390 Ez egy jQuery funkció, amely lehetővé teszi , hogy nem az aszinkron hívásokat. 1650 01:18:12,390 --> 01:18:16,080 És ezek az aszinkron hívásokat, ez amit mi már utalva, mint az Ajax. 1651 01:18:16,080 --> 01:18:16,850 Igen. 1652 01:18:16,850 --> 01:18:20,185 Ami elvitt egy nagyon hosszú idő, hogy húzza szét, amikor diák voltam. 1653 01:18:20,185 --> 01:18:21,560 Közönség: Tudsz mondani, hogy újra? 1654 01:18:21,560 --> 01:18:22,476 HANNAH BLUMBERG: Igen. 1655 01:18:22,476 --> 01:18:23,630 Elmondhatom, hogy újra? 1656 01:18:23,630 --> 01:18:29,010 Ez .getJSON funkció, ez egy jQuery funkció. 1657 01:18:29,010 --> 01:18:31,970 És ez meg fog tenni aszinkron hívást. 1658 01:18:31,970 --> 01:18:35,700 És ezek az aszinkron hívásokat, most már lett utalva e mint Ajax. 1659 01:18:35,700 --> 01:18:39,610 1660 01:18:39,610 --> 01:18:41,872 >> Más kérdés? 1661 01:18:41,872 --> 01:18:43,330 Már csak pár perc van hátra. 1662 01:18:43,330 --> 01:18:45,080 És Maria lesz lezárja a biztonsági 1663 01:18:45,080 --> 01:18:47,464 majd megyünk hogy csak a kész. 1664 01:18:47,464 --> 01:18:48,630 MÁRIA ZLATKOVA: Félelmetes, OK. 1665 01:18:48,630 --> 01:18:54,030 Szóval ez is-- Csak egy pár másodperc, hogy nézd át ezt. 1666 01:18:54,030 --> 01:18:56,750 És ez nem valami igazán nagyszerű. 1667 01:18:56,750 --> 01:18:59,430 És lehet, hogy valaki mondja meg, miért? 1668 01:18:59,430 --> 01:19:05,650 Mi folyik itt ize és májusban tudott potenciálisan eredményezheti valami rossz, 1669 01:19:05,650 --> 01:19:06,770 és hogy ez mit hívják? 1670 01:19:06,770 --> 01:19:07,270 Igen. 1671 01:19:07,270 --> 01:19:10,391 Közönség: Ha az érvet, hogy az telt több mint 12 karakter, 1672 01:19:10,391 --> 01:19:11,454 ez túlfolyhat. 1673 01:19:11,454 --> 01:19:12,370 MÁRIA ZLATKOVA: Így van. 1674 01:19:12,370 --> 01:19:14,180 Tökéletes. 1675 01:19:14,180 --> 01:19:15,384 Hogy hívják? 1676 01:19:15,384 --> 01:19:16,300 Csak azt nem említette. 1677 01:19:16,300 --> 01:19:16,840 >> Közönség: Puffertúlcsordulás. 1678 01:19:16,840 --> 01:19:18,381 >> MÁRIA ZLATKOVA: Ja, a puffer-túlcsordulás. 1679 01:19:18,381 --> 01:19:21,230 Tehát ez olyan dolog, amit hivatkoznak, mint puffer túlcsordulás. 1680 01:19:21,230 --> 01:19:25,500 És azt látjuk, hogy belül is az ize, amit meghatározott a puffert, c, 1681 01:19:25,500 --> 01:19:27,240 , amelynek mérete 12. 1682 01:19:27,240 --> 01:19:32,680 Azonban a fő, mi nem ellenőrizze semmilyen módon egyáltalán 1683 01:19:32,680 --> 01:19:36,480 hogy a argv1-- úgy, hogy volt a második érv. 1684 01:19:36,480 --> 01:19:39,630 Mi nem ellenőrzi, hogy a mérete helyénvaló. 1685 01:19:39,630 --> 01:19:43,380 >> Tehát ha volt egy különösen rosszindulatú felhasználó 1686 01:19:43,380 --> 01:19:47,170 aki hozott néhány érvet, hogy volt hosszabb, mint a 12, majd a potenciálisan 1687 01:19:47,170 --> 01:19:50,850 túl a hogy érv, volt néhány olyan kód 1688 01:19:50,850 --> 01:19:55,570 hogy ő próbál tenni valamit a rossz azzal; akkor ez, hogy mi fog történni, 1689 01:19:55,570 --> 01:19:59,310 felülírja a visszatérés címét, az ize funkció, 1690 01:19:59,310 --> 01:20:04,370 hogy a függvény, ha visszatért végre, hogy a kódot. 1691 01:20:04,370 --> 01:20:07,540 És akkor rossz dolgok történnek. 1692 01:20:07,540 --> 01:20:09,850 Van ennek értelme mindenkinek? 1693 01:20:09,850 --> 01:20:12,424 >> És hogyan lehet ez ellen védekezni? 1694 01:20:12,424 --> 01:20:13,090 Bármilyen javaslat? 1695 01:20:13,090 --> 01:20:16,480 1696 01:20:16,480 --> 01:20:21,890 Alapvetően belsejét potenciálisan ize, hogyan 1697 01:20:21,890 --> 01:20:28,294 tudjuk ellenőrizni, hogy győződjön meg arról, hogy ez nem történhet meg? 1698 01:20:28,294 --> 01:20:33,879 >> Közönség: Ha a 12-es méretű túllépése, akkor többletforrásokat memória? 1699 01:20:33,879 --> 01:20:37,170 MÁRIA ZLATKOVA: a javaslat arra, kiosztani további memória mérete meghaladta. 1700 01:20:37,170 --> 01:20:39,800 Igazából mi tehetünk valamit a sokkal egyszerűbb, mint hogy is. 1701 01:20:39,800 --> 01:20:44,870 Mi csak kap a húr hossza Az az érv, hogy a bevitt, 1702 01:20:44,870 --> 01:20:48,590 ellenőrizze, hogy kevesebb, vagy egyenlő, mint 12-- 1703 01:20:48,590 --> 01:20:50,790 amely a mi azt akarjuk, hogy azért, mert nem akarjuk, 1704 01:20:50,790 --> 01:20:52,373 hogy haladják meg a puffer. 1705 01:20:52,373 --> 01:20:55,690 És aztán, ha nem, akkor dolgozhat az érvelés. 1706 01:20:55,690 --> 01:21:00,296 Aztán ha mégis, akkor valóban szeretné hogy YELLO potenciálisan a felhasználó. 1707 01:21:00,296 --> 01:21:01,670 De ez hogyan is kellene csinálni. 1708 01:21:01,670 --> 01:21:02,443 Igen. 1709 01:21:02,443 --> 01:21:04,360 >> KÖZÖNSÉG: Meg tudná magyarázza memcpy tényleg gyorsan? 1710 01:21:04,360 --> 01:21:05,443 MÁRIA ZLATKOVA: Ó, sajnálom. 1711 01:21:05,443 --> 01:21:06,040 Igen. 1712 01:21:06,040 --> 01:21:11,290 Memcpy vesz bármit is-- sajnálom, OK. 1713 01:21:11,290 --> 01:21:15,850 Memcpy vesz mindent, ami bar, bármi jut 1714 01:21:15,850 --> 01:21:18,050 ra ize, mint a parancssori argumentum. 1715 01:21:18,050 --> 01:21:19,440 Szóval ez fog tartani argv1. 1716 01:21:19,440 --> 01:21:21,420 Argv1 hívják bár itt. 1717 01:21:21,420 --> 01:21:24,453 Szóval ez fog tartani bár és ez meg fog másolja be c. 1718 01:21:24,453 --> 01:21:25,402 >> Közönség: OK. 1719 01:21:25,402 --> 01:21:28,360 MÁRIA ZLATKOVA: És ez lesz copy-- a harmadik érv csak utal 1720 01:21:28,360 --> 01:21:30,601 hogy mennyibe fog másolni c. 1721 01:21:30,601 --> 01:21:31,142 Közönség: Ah. 1722 01:21:31,142 --> 01:21:33,030 Szóval ez az ember a másolás az egészet akkor. 1723 01:21:33,030 --> 01:21:34,310 >> MÁRIA ZLATKOVA: Igen, ez másolás az egészet. 1724 01:21:34,310 --> 01:21:34,810 Igen. 1725 01:21:34,810 --> 01:21:38,400 1726 01:21:38,400 --> 01:21:41,910 Először is, győződjön meg róla, a bár nem egyenlő null, mert ez egy mutató. 1727 01:21:41,910 --> 01:21:44,680 Akkor megkapjuk a húr hossza bar. 1728 01:21:44,680 --> 01:21:47,530 Gondoskodunk róla, hogy ez az kevesebb vagy egyenlő, mint 12. 1729 01:21:47,530 --> 01:21:50,070 És akkor, mert már gondoskodott arról, mi is valójában 1730 01:21:50,070 --> 01:21:53,122 memcpy és győződjön meg róla, hogy ez rendben van. 1731 01:21:53,122 --> 01:21:53,705 Bármi kérdés? 1732 01:21:53,705 --> 01:21:56,280 1733 01:21:56,280 --> 01:21:58,690 Nagy. 1734 01:21:58,690 --> 01:22:00,400 Van két igaz vagy hamis kérdések. 1735 01:22:00,400 --> 01:22:05,470 Tud valaki mondani rögtön, Ha ezek igazak vagy hamisak? 1736 01:22:05,470 --> 01:22:07,460 Igen, ez igaz. 1737 01:22:07,460 --> 01:22:07,960 Pontosan. 1738 01:22:07,960 --> 01:22:09,330 Mindkettő hamis. 1739 01:22:09,330 --> 01:22:12,682 Tehát használ egy jelszót Soha nem igazán jó ötlet 1740 01:22:12,682 --> 01:22:14,890 mert ha valaki tudja, a jelszavát, akkor csak 1741 01:22:14,890 --> 01:22:16,260 hozzáférhet a másik számlára. 1742 01:22:16,260 --> 01:22:19,260 És akkor ikonok nem csinál semmit biztonsága érdekében. 1743 01:22:19,260 --> 01:22:24,900 Meg kell általában úgy néz ki a HTTPS ahelyett, hogy a HTTP és az URL. 1744 01:22:24,900 --> 01:22:28,560 >> És néhány más típusú támadások, amit már említettem, 1745 01:22:28,560 --> 01:22:31,390 Dávid már említett előadás, SQL injection támadások. 1746 01:22:31,390 --> 01:22:37,310 Már láttuk, hogy ha nem-- a CS50 lekérdezés funkció gondoskodik arról, hogy az SQL 1747 01:22:37,310 --> 01:22:39,530 injection támadások nem fordulhat elő. 1748 01:22:39,530 --> 01:22:42,640 De ha nem használ CS50, idézet, idézet vége ", a lekérdezés," 1749 01:22:42,640 --> 01:22:46,830 mi lett volna, hogy megbizonyosodjon arról, hogy a felhasználói nem éppenséggel egy SQL 1750 01:22:46,830 --> 01:22:49,670 Kérdés, hogy fog okozni az összes asztalunknál kell dobni 1751 01:22:49,670 --> 01:22:54,070 vagy valami rossz történhet adatbázisunkban. 1752 01:22:54,070 --> 01:22:56,790 >> Session eltérítéssel Egy másik típusú támadás 1753 01:22:56,790 --> 01:23:05,940 ami történik, ha néhány rossz személy használ néhány áldozat ülésen 1754 01:23:05,940 --> 01:23:08,740 ID elérni a bejelentkezési adatokat. 1755 01:23:08,740 --> 01:23:13,620 Tehát egy nagyon triviális példa, hogy mint ha van egy nyilvános számítógépet, 1756 01:23:13,620 --> 01:23:21,120 akkor az rossz ember bejelentkezik majd ezek a cookie-kat mentett. 1757 01:23:21,120 --> 01:23:23,380 És cookie-k nem változik ülésén. 1758 01:23:23,380 --> 01:23:27,620 >> Akkor mi az áldozat menni majd jelentkezzen be a honlap. 1759 01:23:27,620 --> 01:23:30,290 A cookie-k nem változnak egy bizonyos munkamenet. 1760 01:23:30,290 --> 01:23:33,060 És akkor az áldozat bejelentkezik A honlap, majd a levelek. 1761 01:23:33,060 --> 01:23:36,190 És akkor az a személy, aki megy vissza Ezután továbbra is használhatja a session ID- 1762 01:23:36,190 --> 01:23:37,430 hozzáférnek az információt. 1763 01:23:37,430 --> 01:23:40,050 Szóval ez egy példa arra, hogyan, ami történhet. 1764 01:23:40,050 --> 01:23:45,570 >> És akkor én nem aggódnék túl sokat a konkrét vagy bármi 1765 01:23:45,570 --> 01:23:49,270 ilyesmi, hogy okozhat ez, de mivel valami ötlete, mi 1766 01:23:49,270 --> 01:23:51,400 a változók részt vesz ebben vannak. 1767 01:23:51,400 --> 01:23:53,897 És akkor manipulálni fejléc adatok egy másik típusa a támadás 1768 01:23:53,897 --> 01:23:55,230 amely Dávid beszélt. 1769 01:23:55,230 --> 01:23:59,730 És ez csak utal mi történhet, ha 1770 01:23:59,730 --> 01:24:04,300 A válasz, a HTTP válasz belsejében a fejléc 1771 01:24:04,300 --> 01:24:05,720 nincs megtisztítva megfelelően. 1772 01:24:05,720 --> 01:24:14,340 >> És bármely fields-- például ha valaki felülírja az egyik fejléc 1773 01:24:14,340 --> 01:24:18,860 értékeket tartalmaz mást, mint mit kell contain-- és ténylegesen 1774 01:24:18,860 --> 01:24:22,720 tartalmaznak, például egy 200 OK státusz kódot, akkor 1775 01:24:22,720 --> 01:24:26,890 esetleg nem rosszindulatú dolgokat, amikor nem kéne. 1776 01:24:26,890 --> 01:24:30,815 De én nem aggódnék túl sokat az egyedi kódot 1777 01:24:30,815 --> 01:24:34,110 hogy okozhat ez, csak egyfajta megértés 1778 01:24:34,110 --> 01:24:37,290 magas szintű ilyesmi. 1779 01:24:37,290 --> 01:24:39,570 >> Azt hiszem, ez az összes hogy meg kell fedezni. 1780 01:24:39,570 --> 01:24:40,090 Elképesztő. 1781 01:24:40,090 --> 01:24:43,310 Bárki bármilyen kérdése van bármely A dolgok, hogy mi vonatkozik? 1782 01:24:43,310 --> 01:24:44,213 Igen. 1783 01:24:44,213 --> 01:24:48,077 >> Közönség: Tehát az egyik fajta több logisztikai kérdés. 1784 01:24:48,077 --> 01:24:53,400 A tartalmi főleg A dolgok után, kvíz 1? 1785 01:24:53,400 --> 01:24:55,730 >> MÁRIA ZLATKOVA: Tehát kérdés az, hogy a tartalmat 1786 01:24:55,730 --> 01:24:59,720 főként a dolgokat, miután kvíz 1? 1787 01:24:59,720 --> 01:25:06,070 Tehát a hangsúly a után Quiz 1, azzal a kivétellel, 1788 01:25:06,070 --> 01:25:10,914 hogy meg kell összpontosítani a dolgokat pset5 és sok a adatstruktúrák 1789 01:25:10,914 --> 01:25:11,580 hogy mi vonatkozik. 1790 01:25:11,580 --> 01:25:14,300 És nem mondhatjuk, hogy mi lehet figyelmen kívül hagyni valamit, mielőtt 1791 01:25:14,300 --> 01:25:17,120 hogy azért, mert épül azt is. 1792 01:25:17,120 --> 01:25:21,845 >> Szóval összpontosítani, hogy plusz pset5 anyag mint többek között láncolt listák, vermek, 1793 01:25:21,845 --> 01:25:23,720 sorok, és mindent hogy Hannah odament. 1794 01:25:23,720 --> 01:25:24,050 >> HANNAH BLUMBERG: Így van. 1795 01:25:24,050 --> 01:25:27,450 Ja, átmentünk a C cucc a kezdet kezdetén nagyon gyorsan. 1796 01:25:27,450 --> 01:25:29,090 De győződj meg róla, hogy vizsgálja felül ezt. 1797 01:25:29,090 --> 01:25:32,700 Menjen vissza, és nézni a kvíz 0 kritika. 1798 01:25:32,700 --> 01:25:36,110 >> Még néhány logisztikai jegyzetek, Csak míg nekünk a figyelmet. 1799 01:25:36,110 --> 01:25:39,100 Mi lesz, hogy munkaidőben Mindkét hétfőn és kedden este. 1800 01:25:39,100 --> 01:25:41,540 Ők lesznek az MD 119. 1801 01:25:41,540 --> 01:25:44,220 Ez mind a honlapon, így ha nem hallom, nem gond. 1802 01:25:44,220 --> 01:25:45,266 >> MÁRIA ZLATKOVA: 8:30 11:00 között. 1803 01:25:45,266 --> 01:25:46,260 >> HANNAH BLUMBERG: Igen, 8:30-11:00. 1804 01:25:46,260 --> 01:25:46,910 Mi is ott leszünk. 1805 01:25:46,910 --> 01:25:48,368 Mi is ott leszünk, hogy válaszoljon a kérdésekre. 1806 01:25:48,368 --> 01:25:49,480 Elég hideg és szórakoztató. 1807 01:25:49,480 --> 01:25:53,240 Srácok kérheti bármilyen kérdése hogy van a kvíz 1. 1808 01:25:53,240 --> 01:25:55,740 És kvíz 1 van Szerda, így a jó szerencsét. 1809 01:25:55,740 --> 01:25:59,770 Ha bármilyen kérdése van, talán Gyere beszélgetni velünk itt egy-egy. 1810 01:25:59,770 --> 01:26:00,880 Hűvös. 1811 01:26:00,880 --> 01:26:01,630 Nagyon köszönöm. 1812 01:26:01,630 --> 01:26:02,880 >> MÁRIA ZLATKOVA: Nagyon köszönöm, srácok. 1813 01:26:02,880 --> 01:26:03,480 >> Közönség: Hurrá. 1814 01:26:03,480 --> 01:26:05,930 >> [TAPS] 1815 01:26:05,930 --> 01:26:07,530