1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [Mūzikas atskaņošanai] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 HANNAH: Hi, visiem. 5 00:00:12,700 --> 00:00:15,866 Paldies jums puiši tik daudz, lai nāk ārā ir pretīgi laika Quiz vienu 6 00:00:15,866 --> 00:00:16,910 pārskatīt sesiju. 7 00:00:16,910 --> 00:00:20,020 Kā jūs guys zināt, viktorīnas viens ir šo trešdien. 8 00:00:20,020 --> 00:00:22,209 Tātad, mēs esam gatavojas iet caur ķekars tēmām. 9 00:00:22,209 --> 00:00:24,000 Davin: Hei, es varu teikt kaut kas ļoti ātri? 10 00:00:24,000 --> 00:00:25,215 HANNAH: Jā, Davin notiek pateikt kaut ko reālu ātri. 11 00:00:25,215 --> 00:00:25,780 Davin: Sorry. 12 00:00:25,780 --> 00:00:29,490 Tikai ļoti ātri, ja jums ir jautājumi par viktorīnu, jūs varat doties tiešsaistē. 13 00:00:29,490 --> 00:00:32,420 Iet 2014. viktorīna vienu, par viktorīnas. 14 00:00:32,420 --> 00:00:34,680 Tas ir ieguvuši loģistiku aptuveni kur iet, kad iet. 15 00:00:34,680 --> 00:00:38,100 Ja jūs vienlaikus uzņemti, mēs esam nāksies grima viktorīna 5:30. 16 00:00:38,100 --> 00:00:40,350 Vai, ja jūs man atsūtīja jautājumu, Jums ir kāda cita jautājuma. 17 00:00:40,350 --> 00:00:42,640 Bet 05:30 ir make-up laiks trešdien. 18 00:00:42,640 --> 00:00:44,540 Bet, ja jums ir jautājumi, vispārīgi jautājumi, 19 00:00:44,540 --> 00:00:45,748 online ir visas loģistiku. 20 00:00:45,748 --> 00:00:47,690 Lai pārbaudītu tur pirmais. 21 00:00:47,690 --> 00:00:49,070 >> HANNAH: Awesome. 22 00:00:49,070 --> 00:00:53,030 Tātad, šeit ir liels saraksts ar tēmām ka mēs ejam, lai iet līdz šodienai. 23 00:00:53,030 --> 00:00:57,390 Es esmu gatavojas, lai segtu visas ar C sīkumi, kas ir tas, ka pirmais kolonna. 24 00:00:57,390 --> 00:01:00,710 Tātad C sīkumi, ka mēs uz kurām pēc viktorīnas nulles. 25 00:01:00,710 --> 00:01:05,459 Sākot ar saistītajā sarakstā kas ietver norādes. 26 00:01:05,459 --> 00:01:07,668 >> Labi, tāpēc mēs redzējām šo pēdējā pārskatīšanas sesijā 27 00:01:07,668 --> 00:01:10,000 tāpēc es esmu gatavojas iet cauri tas ir mazliet ātrāk. 28 00:01:10,000 --> 00:01:13,500 Vienkārši paceliet roku, ja jūs vēlaties, lai es palēnināt vai vērsties kaut ko tālāk. 29 00:01:13,500 --> 00:01:17,150 Bet mēs izmantojam saistītas sarakstus, jo mēs sākām C ar masīviem. 30 00:01:17,150 --> 00:01:20,920 Un masīvi ir liels, bet Problēma ir tā, tie ir fiksēts izmērs. 31 00:01:20,920 --> 00:01:24,925 Saistītās sarakstus ļauj mums, lai radītu dinamiski izmēra datu struktūras. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> Un mums ir mūsu galvenās darbības, ievietot, dzēst, un meklēt. 34 00:01:32,320 --> 00:01:36,780 Un mēs varam darīt ieliktni sliktākajā gadījumā nemainīgs laiks 35 00:01:36,780 --> 00:01:39,140 ja mēs vienkārši ielieciet to pašā sākumā. 36 00:01:39,140 --> 00:01:45,220 Dzēst un meklēt, sliktākajā gadījums liels oh n laika. 37 00:01:45,220 --> 00:01:47,140 Tātad vēlreiz, tikai uzsist caur šiem attēliem, 38 00:01:47,140 --> 00:01:50,860 Es zinu, ka mēs redzējām šos pēdējo reizi, bet mēs vēlas sekot mūsu saistīts saraksts 39 00:01:50,860 --> 00:01:53,440 ar sekotu vadītājs mūsu saistīts saraksts. 40 00:01:53,440 --> 00:01:55,580 Jo mēs zinām, ka katrs no mūsu mezgliem 41 00:01:55,580 --> 00:01:58,610 ir tikai gatavojas, lai norādītu uz Nākamais mezgls mūsu saistīts sarakstā. 42 00:01:58,610 --> 00:02:00,460 >> Tātad, tas ir, kā mēs izsekot. 43 00:02:00,460 --> 00:02:02,910 Pat ja tie nav nepārtraukti gabali atmiņu, 44 00:02:02,910 --> 00:02:07,410 mēs varam atrast tos, tikai pēc dažādu bultiņām. 45 00:02:07,410 --> 00:02:09,800 Te ir mūsu struktūra par saistīts saraksts mezglā. 46 00:02:09,800 --> 00:02:11,440 Mēs redzējām šo pēdējo reizi. 47 00:02:11,440 --> 00:02:13,080 Mums ir mūsu struct mezglā. 48 00:02:13,080 --> 00:02:14,340 Un tam ir divas īpašības. 49 00:02:14,340 --> 00:02:17,020 Numur viens, faktisko vērtību mēs gribam saglabāt. 50 00:02:17,020 --> 00:02:18,290 Šajā gadījumā, tas ir skaitlis. 51 00:02:18,290 --> 00:02:21,100 Tas varētu būt virkne, tas varētu būt char, ko jūs vēlaties. 52 00:02:21,100 --> 00:02:24,710 Un tad mums ir sekot nākamais mezglu mūsu saistīts sarakstā. 53 00:02:24,710 --> 00:02:29,797 Tāpēc, ka ir būs kursoru uz nākamo mezglu. 54 00:02:29,797 --> 00:02:31,880 Ja tu būtu tikai darot meklēšanu, kā es teicu iepriekš, 55 00:02:31,880 --> 00:02:34,900 jūs ir sekot jūsu bultiņām uz leju. 56 00:02:34,900 --> 00:02:40,720 Ievietošanas, jūs varētu sekot līdzi no tā, kur pārējā jūsu saraksts ir. 57 00:02:40,720 --> 00:02:44,150 Un jūs vēlaties, lai novirzīt galvu norādīt uz mūsu jauno elementu, kas 58 00:02:44,150 --> 00:02:46,640 šajā gadījumā, ir viens, un tad viens būs punkts 59 00:02:46,640 --> 00:02:49,480 atlikušajam saistītajā sarakstā. 60 00:02:49,480 --> 00:02:52,996 Tātad vēlreiz, es zinu, tas ir maz mazliet atkārtot no viktorīnas nulles. 61 00:02:52,996 --> 00:02:55,370 Tāpēc mums ir jābūt ļoti uzmanīgiem par kārtību, kādā mēs 62 00:02:55,370 --> 00:03:00,390 darīt šo pointings tāpēc mums nav pazaudēt aizmugurē saraksta. 63 00:03:00,390 --> 00:03:04,122 OK, kādi jautājumi ar tikai atsevišķi saistīts sarakstus? 64 00:03:04,122 --> 00:03:06,060 Awesome, OK, atdzesē. 65 00:03:06,060 --> 00:03:09,410 >> Tāpēc tagad, mēs gatavojamies iet uz kaut ko tikai nedaudz sarežģītāka, 66 00:03:09,410 --> 00:03:10,920 divkārt saistītas sarakstus. 67 00:03:10,920 --> 00:03:13,680 Tātad papildus saglabājot izsekot nākamo mezglu, 68 00:03:13,680 --> 00:03:16,220 Mēs arī vēlamies, lai sekotu iepriekšējā mezglā. 69 00:03:16,220 --> 00:03:19,580 Un tas ļauj mums, ja mēs esam kādā brīdī mūsu saistīts sarakstā, 70 00:03:19,580 --> 00:03:23,110 ne tikai iet uz priekšu, bet arī atkārtot atpakaļ. 71 00:03:23,110 --> 00:03:25,220 Jo, kā mēs redzējām atsevišķi saistīts saraksts, 72 00:03:25,220 --> 00:03:27,980 ja mēs būtu kādā mezglā, un visi pēkšņi, mēs nolēmām, 73 00:03:27,980 --> 00:03:30,160 patiesībā, es gribu iet uz mezglu tieši pirms manis, 74 00:03:30,160 --> 00:03:32,034 jūs ir iet visiem ceļu atpakaļ uz galvas 75 00:03:32,034 --> 00:03:35,710 un atkārtot, izmantojot līdz brīdim, kad atrasts mezgla jūs meklējat. 76 00:03:35,710 --> 00:03:37,680 >> Tāpēc tas padara lietas nedaudz vieglāk, jo mēs esam 77 00:03:37,680 --> 00:03:39,670 mēģinot atkārtot caur mūsu saistīts saraksts. 78 00:03:39,670 --> 00:03:47,870 Bet tas liek mums sekot viens vairāk rādītājs, tāpēc vēl viens mezgls zvaigzne. 79 00:03:47,870 --> 00:03:50,830 Labi, tāpēc šeit nāk fun daļa. 80 00:03:50,830 --> 00:03:55,600 Mēs ejam, lai praksē īstenotu noņemt, lai divkārt saistītas sarakstiem. 81 00:03:55,600 --> 00:03:58,660 Tātad tas ir kaut kas ir pilnīgi godīga spēle viktorīnas. 82 00:03:58,660 --> 00:04:00,750 Tā atnāca uz pagātnes viktorīnas. 83 00:04:00,750 --> 00:04:04,220 Tāpēc noteikti jāsagatavo kodēt mazliet C 84 00:04:04,220 --> 00:04:07,900 Neaizmirstiet, ka ar visiem Šis jautri PHP un JavaScript, 85 00:04:07,900 --> 00:04:10,560 mums vēl ir jāatceras darīt C. ​​Tātad atsvaidzināt ka 86 00:04:10,560 --> 00:04:12,146 Ja jūs sajūta sarūsējis. 87 00:04:12,146 --> 00:04:14,580 >> Labi, pieņemsim redzēt, ja mēs varam izdarīt. 88 00:04:14,580 --> 00:04:16,312 OK, atdzesē. 89 00:04:16,312 --> 00:04:18,600 Tātad mēs ejam izmēģināt rediģēt tiesības šeit, 90 00:04:18,600 --> 00:04:20,707 un cerams, ka tas notiek, kā plānots. 91 00:04:20,707 --> 00:04:23,915 Visas tiesības, vai kāds grib man dot ieteikums par to, kā man vajadzētu sākt? 92 00:04:23,915 --> 00:04:27,030 Tikai pieņēmums es esmu pieņemšanas ir tas, ka man jau 93 00:04:27,030 --> 00:04:30,180 ir struktūra noteikta, man parādīja pēdējā lappusē, 94 00:04:30,180 --> 00:04:31,420 uz pēdējā slaida. 95 00:04:31,420 --> 00:04:39,250 Un es esmu uzglabājot galvu mana saistīta saraksts kādā rādītājs sauc sarakstu. 96 00:04:39,250 --> 00:04:42,190 Vai kāds vēlas saņemt mani sākās? 97 00:04:42,190 --> 00:04:45,410 >> Mērķauditorija: Vai jūs varat izveidot jaunu mezgla zvanīt pa sarakstu? 98 00:04:45,410 --> 00:04:46,410 >> HANNAH: satriecošs, tāpēc mēs ejam, lai radītu 99 00:04:46,410 --> 00:04:47,951 jaunu mezglu rāpot cauri sarakstam. 100 00:04:47,951 --> 00:04:48,570 Man patīk, ka. 101 00:04:48,570 --> 00:04:50,799 Es ņemšu tikai aicinu to rādītājs, ja tas ir OK. 102 00:04:50,799 --> 00:04:52,340 Un kur tas sākotnēji sākt? 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> AUDITORIJA: Iespējams at galva no saraksta. 105 00:04:59,840 --> 00:05:00,590 HANNAH: Beautiful. 106 00:05:00,590 --> 00:05:03,670 Mēs vēlamies, lai sāktu pie galvas, kas Es teicu tiks saglabāti sarakstā. 107 00:05:03,670 --> 00:05:04,170 Awesome. 108 00:05:04,170 --> 00:05:05,220 Līdz šim tik labi. 109 00:05:05,220 --> 00:05:08,260 Un tagad, mūsu mērķis ir atkārtot cauri sarakstam 110 00:05:08,260 --> 00:05:12,870 kamēr mēs atrodam mezglu ar vērtība, n, ka mēs vēlamies, lai izdzēstu. 111 00:05:12,870 --> 00:05:13,540 OK? 112 00:05:13,540 --> 00:05:15,910 >> Tāpēc tagad ir daļa, kur mēs vēlamies atkārtot, izmantojot. 113 00:05:15,910 --> 00:05:19,488 Var kāds ieteikt veids, kā atkārtot, izmantojot? 114 00:05:19,488 --> 00:05:20,979 >> Mērķauditorija: cilpa. 115 00:05:20,979 --> 00:05:21,840 >> HANNAH: cilpa. 116 00:05:21,840 --> 00:05:22,620 Es mīlu to. 117 00:05:22,620 --> 00:05:25,550 Konkrēti, mēs varam mēģināt, kamēr cilpa. 118 00:05:25,550 --> 00:05:30,919 OK, un mēs zinām, ka mēs esam sasnieguši beigas mūsu saraksta, ja ko? 119 00:05:30,919 --> 00:05:32,210 Mērķauditorija: Kad rādītājs ir nulle. 120 00:05:32,210 --> 00:05:33,418 HANNAH: Kad rādītājs ir nulle. 121 00:05:33,418 --> 00:05:34,320 Skaisti, es mīlu to. 122 00:05:34,320 --> 00:05:35,110 OK, atdzesē. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 Tik žēl, ja mans iesiešana brace ir veida kritiena ārpus ekrāna. 125 00:05:43,190 --> 00:05:44,090 Mēs atnesa atpakaļ. 126 00:05:44,090 --> 00:05:46,610 OK, atdzesē. 127 00:05:46,610 --> 00:05:48,690 Kas tālāk? 128 00:05:48,690 --> 00:05:51,950 >> Tātad mēs zinām, mēs vēlamies, lai izdzēstu mezglu, kas ir vērtība n. 129 00:05:51,950 --> 00:05:56,340 Tātad, pieņemsim atrast lietas kur mēs faktiski atrast mūsu mezglā. 130 00:05:56,340 --> 00:05:57,840 Tātad, kā es varētu pārbaudīt, vai? 131 00:05:57,840 --> 00:06:02,210 Es gribētu tikai teikt, ja rādītājs, un tad, ja es vēlas iegūt vērtību no rādītāja, 132 00:06:02,210 --> 00:06:08,940 Man vienkārši arrow n, vienāds n, parametru 133 00:06:08,940 --> 00:06:14,490 ka mums deva šo funkciju, mezgls, ka mēs gribam, lai faktiski dzēst. 134 00:06:14,490 --> 00:06:17,090 Visus jautājumus, līdz šeit? 135 00:06:17,090 --> 00:06:18,360 Labi. 136 00:06:18,360 --> 00:06:24,140 Labi, tāpēc tagad pieņemsim izdarīt ātri attēlu uz kuģa, lai vizualizēt to. 137 00:06:24,140 --> 00:06:30,710 >> So teiksim tur ir mūsu skaisto mezglā. 138 00:06:30,710 --> 00:06:34,480 Un tas ir vērtība, es ņemšu tikai teikt četri. 139 00:06:34,480 --> 00:06:40,340 Un tas norāda uz nākamo mezglu mūsu saistīts sarakstā. 140 00:06:40,340 --> 00:06:42,220 Un tur nekas pirms tā. 141 00:06:42,220 --> 00:06:45,800 Tāpēc mums ir mūsu iepriekšējā norādot uz neko. 142 00:06:45,800 --> 00:06:48,110 Šajā gadījumā, mēs norādām atpakaļ. 143 00:06:48,110 --> 00:06:50,960 OK, tikai izveidojot manu saistīts saraksts nekā šeit. 144 00:06:50,960 --> 00:06:53,630 Un mums ir saraksts, kas norāda savu struktūru, lai sāktu ar. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 Es izdarīt viens vairāk pabeigtības labad. 147 00:07:00,485 --> 00:07:04,209 148 00:07:04,209 --> 00:07:06,117 OK. 149 00:07:06,117 --> 00:07:07,480 Es norādīt šo jautājumu. 150 00:07:07,480 --> 00:07:09,550 Un es atzīmēt, ka viens atpakaļ. 151 00:07:09,550 --> 00:07:10,360 Ups, sorry. 152 00:07:10,360 --> 00:07:12,710 Jā, dabūju šo atpakaļ. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 Darīt to vēlreiz. 155 00:07:16,967 --> 00:07:18,330 OK, tur mēs ejam. 156 00:07:18,330 --> 00:07:19,910 Labi, got to. 157 00:07:19,910 --> 00:07:21,780 Labi, šeit ir mūsu attēlu. 158 00:07:21,780 --> 00:07:24,860 >> Labi, tāpēc mēs vēlamies izskatīt divas lietas. 159 00:07:24,860 --> 00:07:27,330 Pirmais gadījums ir, ja mezglu mēs vēlamies izdzēst 160 00:07:27,330 --> 00:07:29,420 ir pašā sākumā mūsu sarakstā. 161 00:07:29,420 --> 00:07:34,070 Un tad, otrais gadījums, ka mēs gribam apsvērt, ir, ja tas ir citur. 162 00:07:34,070 --> 00:07:37,660 Es saprotu, ka tas pilnīgi netīrs zīmējums ar visu manu dzēšanu, 163 00:07:37,660 --> 00:07:40,400 bet, cerams, mēs cenšamies darīt zināmu ar kādu kodu. 164 00:07:40,400 --> 00:07:45,450 >> Labi, tāpēc pieņemsim uz gadījumiem kur mēs atradām mūsu mezglā, 165 00:07:45,450 --> 00:07:48,900 un tas ir pie ļoti sākumu mūsu saistīts saraksts. 166 00:07:48,900 --> 00:07:50,810 Kāds man ieteikums šeit par to, kas 167 00:07:50,810 --> 00:07:54,684 Man vajadzētu darīt, lai faktiski likvidētu mūsu mezglu? 168 00:07:54,684 --> 00:07:55,970 Tas ir nedaudz grūts. 169 00:07:55,970 --> 00:07:56,470 OK? 170 00:07:56,470 --> 00:07:59,628 >> Mērķauditorija: Jums ir jāņem mezgls, kas varētu būt pirms tā 171 00:07:59,628 --> 00:08:01,794 un dara to norāda uz viens, kas varētu būt pēc tam, 172 00:08:01,794 --> 00:08:03,004 un veikt mezglu, ka būtu pēc tam, un padarīt 173 00:08:03,004 --> 00:08:04,554 tas norāda uz mezglu pirms tā. 174 00:08:04,554 --> 00:08:05,220 HANNAH: Tieši tā. 175 00:08:05,220 --> 00:08:10,640 Labi, tāpēc šis ir gadījums where-- mums ir divas lietas. 176 00:08:10,640 --> 00:08:14,100 Mums ir gadījumu, kad to mezgls, ka mēs meklējam 177 00:08:14,100 --> 00:08:18,270 ir priekšējā no saraksta. 178 00:08:18,270 --> 00:08:23,110 OK, un tad lieta, kas jums aprakstīts citādi, vai ne? 179 00:08:23,110 --> 00:08:24,500 Tas ir kaut kur citur sarakstā. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 Tātad jūs teicāt, mums ir nepieciešams, lai apskatīt mezglā iepriekšējā, 182 00:08:32,840 --> 00:08:36,500 un padarīt iepriekšējo mezglu norāda uz nākamo mezglu. 183 00:08:36,500 --> 00:08:40,510 So teiksim, mēs esam mēģina izņemt piecus 184 00:08:40,510 --> 00:08:43,059 manā ļoti netīrs zīmējumu nekā šeit. 185 00:08:43,059 --> 00:08:47,530 Mēs vēlamies, lai pārliecinātos, ka četrām tagad norāda uz sešiem. 186 00:08:47,530 --> 00:08:49,590 Četri Nākamās punkti līdz sešiem. 187 00:08:49,590 --> 00:08:52,150 Un sešas iepriekšējie norāda uz četriem. 188 00:08:52,150 --> 00:08:53,960 Tas ir mūsu mērķis šeit, vai ne? 189 00:08:53,960 --> 00:08:56,150 Tas ir tas, ko es domāju, ka jūs tikko teica tur. 190 00:08:56,150 --> 00:08:58,450 >> Labi, tāpēc pieņemsim iegūt šo pirmo gabalu. 191 00:08:58,450 --> 00:09:02,300 Darīsim ir iepriekšējais rādītājs iepriekšējā. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 Tātad četri s blakus vajadzētu norādīt uz ko? 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 Tieši tā, šajā gadījumā, seši. 196 00:09:14,900 --> 00:09:18,470 Tātad mums vajadzētu teikt rādītāju, nākamo. 197 00:09:18,470 --> 00:09:20,600 OK? 198 00:09:20,600 --> 00:09:21,150 Labi. 199 00:09:21,150 --> 00:09:24,870 Tātad pieņemsim atbrīvoties no šīs neglīts attēlu un mēģināt izdarīt nedaudz nicer vienu. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 Mums ir mūsu saraksta galva šeit. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 Un tas norāda uz pirmo mezglu mūsu saistīts saraksts, kas mēs teicām, ir četri. 204 00:09:42,740 --> 00:09:45,620 Lūk, mūsu otrais mezglā, pieci. 205 00:09:45,620 --> 00:09:47,307 Un mūsu trešais mezglā, seši. 206 00:09:47,307 --> 00:09:50,265 Tikai mēģina izdarīt tieši tādu pašu attēlu, tikai nedaudz vairāk tīri. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 Labi, tāpēc četri nākamais sākotnēji norāda uz pieciem. 209 00:09:56,280 --> 00:09:58,620 Pieci Nākamās punkti līdz sešiem. 210 00:09:58,620 --> 00:10:00,170 Seši iepriekšējie punkti līdz pieciem. 211 00:10:00,170 --> 00:10:02,470 Un piecas iepriekšējie norāda uz četriem. 212 00:10:02,470 --> 00:10:03,360 Tik daudz patīkamāku! 213 00:10:03,360 --> 00:10:04,530 OK, atdzesē. 214 00:10:04,530 --> 00:10:07,770 >> Tāpēc tagad, ko mēs darījām tikko šeit, šī līnija kods, 215 00:10:07,770 --> 00:10:12,680 kas saka rādītājs iepriekšējā Nākamais, lai ko tas nozīmē? 216 00:10:12,680 --> 00:10:17,540 Tas nozīmē, ja mēs meklējam pieci, dodieties uz iepriekšējo mezglu, 217 00:10:17,540 --> 00:10:21,970 un tas ir nākamais tagad norāda uz pieciem nākamo. 218 00:10:21,970 --> 00:10:27,840 Tātad būtībā, ko tas dara ir tas, ka ir dzēšot šīs bultiņas 219 00:10:27,840 --> 00:10:29,640 un padarot to izlaist tiesības pār pieci. 220 00:10:29,640 --> 00:10:31,360 Vai tas ir skaidrs? 221 00:10:31,360 --> 00:10:33,200 Es zinu, ka var būt mazliet paviršs. 222 00:10:33,200 --> 00:10:34,480 Es redzu kādu galvu pamāj. 223 00:10:34,480 --> 00:10:35,390 Tas ir labi. 224 00:10:35,390 --> 00:10:36,670 OK, atdzesē. 225 00:10:36,670 --> 00:10:39,590 Tagad, kas ir nākamais solis? 226 00:10:39,590 --> 00:10:42,060 >> Esmu reset nākamo. 227 00:10:42,060 --> 00:10:45,297 Tagad, kas cita arrow man ir nepieciešams, lai mainītu? 228 00:10:45,297 --> 00:10:46,130 Tas viens tepat. 229 00:10:46,130 --> 00:10:47,560 Seši iepriekšējo. 230 00:10:47,560 --> 00:10:50,620 Mēs nevēlamies sešas iepriekšējos norādīt uz pieciem vairs. 231 00:10:50,620 --> 00:10:54,580 Mēs vēlamies, lai tā norāda uz četrām. 232 00:10:54,580 --> 00:10:56,190 Vai tas picture jēga? 233 00:10:56,190 --> 00:10:58,370 Tāpēc tagad mēs varam faktiski veikt piecas out. 234 00:10:58,370 --> 00:10:59,370 Tātad, pieņemsim iegūt šo gabalu. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 Ko man vajadzētu darīt pirms I reset seši iepriekšējām līdz četriem? 237 00:11:11,180 --> 00:11:14,360 Jebkuras idejas tur? 238 00:11:14,360 --> 00:11:17,369 >> Mērķauditorija: Atbrīvojiet mezglu starp tos nosakot to null? 239 00:11:17,369 --> 00:11:17,910 HANNAH: Cool. 240 00:11:17,910 --> 00:11:21,100 Noteikti, mūsu gala mērķis ir būs, lai atbrīvotu mezglu. 241 00:11:21,100 --> 00:11:22,490 Tātad, mēs varam darīt, ka tieši šeit. 242 00:11:22,490 --> 00:11:23,540 Bezmaksas rādītājs. 243 00:11:23,540 --> 00:11:24,810 Absolūti. 244 00:11:24,810 --> 00:11:29,160 Bet vēl pirms tam, pieņemsim just-- Mūsu mērķis tiesības 245 00:11:29,160 --> 00:11:38,730 šeit ir noteikt rādītāju nākamo iepriekšējā vienāds ar rādītāju iepriekšējā. 246 00:11:38,730 --> 00:11:40,760 Es zinu, tas kļūst uz augšu. 247 00:11:40,760 --> 00:11:45,440 Labi, pieņemsim take-- atdzist. 248 00:11:45,440 --> 00:11:46,990 Var ikviens redzēt šo apakšējā līnija? 249 00:11:46,990 --> 00:11:47,840 Vai tas ir super niecīga? 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> Tātad, pirms mēs izpildīt šī līnija šeit, mēs gribam 252 00:11:54,300 --> 00:11:58,375 lai pārliecinātos, ka rādītājs nākamais nav null. 253 00:11:58,375 --> 00:12:00,500 Jo, ja rādītājs nākamais null, kāda veida kļūda 254 00:12:00,500 --> 00:12:02,727 es saņemšu, kad es cenšos atsauce null rādītājs? 255 00:12:02,727 --> 00:12:03,560 Mērķauditorija: Seg vaina. 256 00:12:03,560 --> 00:12:05,660 HANNAH: seg vaina, skaisti. 257 00:12:05,660 --> 00:12:09,690 Labi, tāpēc, ja tas nav null, tad mēs varam reset. 258 00:12:09,690 --> 00:12:14,420 Un mums ir sešu punktu atkal četri. 259 00:12:14,420 --> 00:12:17,440 Jautājumi Līdz šim punktam? 260 00:12:17,440 --> 00:12:17,940 Jā? 261 00:12:17,940 --> 00:12:19,814 >> Mērķauditorija: savā pirmajā ja paziņojumu, did you 262 00:12:19,814 --> 00:12:23,817 nozīmē ir uz bultiņas Nākamais, vai [dzirdams]? 263 00:12:23,817 --> 00:12:25,150 HANNAH: Es gribēju rādītājs bultiņas n. 264 00:12:25,150 --> 00:12:30,270 Vārdu sakot, tas, ko es cenšos darīt ir teikt, pašreizējo mezglu, ka es esmu 265 00:12:30,270 --> 00:12:34,100 atkārtojot vairāk, pašreizējais mezgls, ka Es skatos, es esmu glabājot rādītājs. 266 00:12:34,100 --> 00:12:37,630 Un es gribu zināt rādītājs s vērtība, kas šajā gadījumā ir n. 267 00:12:37,630 --> 00:12:39,500 Un es gribu redzēt, ir mezglu Es meklēju 268 00:12:39,500 --> 00:12:42,790 mezglā es esmu ar mērķi dzēst? 269 00:12:42,790 --> 00:12:47,657 Tātad, tas ir iemesls, kāpēc mēs esam šeit Pointer n. 270 00:12:47,657 --> 00:12:49,857 >> Mērķauditorija: Tātad arrow iet līdz n, jūs nosakāt vērtību 271 00:12:49,857 --> 00:12:52,058 un uzglabāt to mezglu sauc n? 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> HANNAH: Tātad, tas ir tāpat, ja es esmu iet caur šo saistīts saraksts 274 00:12:58,820 --> 00:13:00,310 un norāda uz pieciem. 275 00:13:00,310 --> 00:13:03,600 Ja es gribu, lai iegūtu šo vērtību, ja Es vēlos saņemt šo numuru, 5, 276 00:13:03,600 --> 00:13:06,400 Man ir jādara rādītāju bultiņas n. 277 00:13:06,400 --> 00:13:06,900 Cool? 278 00:13:06,900 --> 00:13:07,900 Yeah. 279 00:13:07,900 --> 00:13:11,200 >> Mērķauditorija: ir n nosaukumu mainīgo? 280 00:13:11,200 --> 00:13:11,700 HANNAH: Jā. 281 00:13:11,700 --> 00:13:14,870 Tātad, ja mēs uzsist pa vienam slide, n ir nosaukums 282 00:13:14,870 --> 00:13:18,660 no vērtības iekšpusē mezglu mūsu saistīts sarakstā. 283 00:13:18,660 --> 00:13:21,510 Un es zinu, tā var iegūt mazliet mazliet mulsinoši, jo mēs arī 284 00:13:21,510 --> 00:13:24,680 aicinām lieta ka mēs vēlamies, lai izdzēstu n. 285 00:13:24,680 --> 00:13:26,717 Tātad, tas ir, ja tas viena rinda nāk no. 286 00:13:26,717 --> 00:13:27,671 Yeah? 287 00:13:27,671 --> 00:13:31,010 >> Mērķauditorija: Kas jums ir [Dzirdams], kā viņi strādā? 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 Rādītājs [dzirdams]? 290 00:13:35,780 --> 00:13:37,520 >> HANNAH: Protams. 291 00:13:37,520 --> 00:13:40,027 Vai jūs runājat about-- kura līnija? 292 00:13:40,027 --> 00:13:41,526 Mērķauditorija: Pēdējā rindā [nedzirdama]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> HANNAH: Protams, OK. 295 00:13:45,250 --> 00:13:48,540 Tātad, pieņemsim apskatīt attēlu Lai mēģinātu izskaidrot šo. 296 00:13:48,540 --> 00:13:51,030 Es atvainojos, par kamera, jautājums bija 297 00:13:51,030 --> 00:13:54,580 mēs varam izskaidrot rādītājs arrow nākamais rādītājs iepriekšējā. 298 00:13:54,580 --> 00:14:01,510 Labi, tāpēc pieņemsim, ka mēs esam pie pieciem un mūsu mērķis ir izdzēst pieci. 299 00:14:01,510 --> 00:14:07,240 Tātad Pointer nākamais, kurš no šiem trīs mezgliem tas, kas mums dod? 300 00:14:07,240 --> 00:14:10,840 Tas mūs noved pie sesto mezglu, vai ne? 301 00:14:10,840 --> 00:14:16,490 >> Labi, tāpēc tagad mēs esam jautā par sešu iepriekšējo. 302 00:14:16,490 --> 00:14:17,060 OK? 303 00:14:17,060 --> 00:14:20,210 Un mēs esam atiestatīšanas šo ir vienāds ar četri, 304 00:14:20,210 --> 00:14:23,214 kas gadījās būt pieci iepriekšējo. 305 00:14:23,214 --> 00:14:25,180 Es zinu, tas ir super grūti izsekot. 306 00:14:25,180 --> 00:14:29,286 Es tiešām ieteiktu jums zīmēt attēlus Ja jums ir jautājums, kā šis. 307 00:14:29,286 --> 00:14:30,242 Jā? 308 00:14:30,242 --> 00:14:32,617 >> Mērķauditorija: Vai iemesls tam, ka mums nav [dzirdams]? 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> HANNAH: Tieši tā. 311 00:14:38,570 --> 00:14:44,800 Tātad jautājums bija, kāpēc mums nav nepieciešams pārbaudīt šeit? 312 00:14:44,800 --> 00:14:48,160 Kāpēc nav mums ir nepieciešams, lai pārbaudītu, rādītājs iepriekšējais nav vienāds null? 313 00:14:48,160 --> 00:14:50,070 Un tas ir tāpēc, ka mēs esam jau nodalīt 314 00:14:50,070 --> 00:14:52,490 gadījumā, ja rādītājs s pašā sākumā. 315 00:14:52,490 --> 00:14:54,060 Ļoti labs jautājums. 316 00:14:54,060 --> 00:14:56,880 Kaut kas cits par šo? 317 00:14:56,880 --> 00:14:57,380 OK, atdzesē. 318 00:14:57,380 --> 00:14:58,360 Tātad, pieņemsim pabeigt to uz augšu. 319 00:14:58,360 --> 00:14:59,890 Mēs esam gandrīz tur. 320 00:14:59,890 --> 00:15:01,310 >> Tātad, ko tad, ja tas ir pie galvas? 321 00:15:01,310 --> 00:15:03,360 Ko darīt, ja tā vietā, mēģinot dzēst pieci, 322 00:15:03,360 --> 00:15:06,240 mēs faktiski gribēja svītrot četras? 323 00:15:06,240 --> 00:15:07,270 Kas man būtu jādara? 324 00:15:07,270 --> 00:15:09,610 Nu, es gribu, lai atjaunotu manu galvu uz ko? 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 Bļāviens to ārā? 327 00:15:15,585 --> 00:15:16,710 Mērķauditorija: viens pēc tā. 328 00:15:16,710 --> 00:15:17,460 HANNAH: Beautiful. 329 00:15:17,460 --> 00:15:26,430 Labi, tāpēc mēs vēlamies saraksts tiks norādot lai kāds mūsu rādītājs nākamais mezglu. 330 00:15:26,430 --> 00:15:29,040 Labs. 331 00:15:29,040 --> 00:15:30,810 Un tikai pilnīguma gados sake, mēs to darītu 332 00:15:30,810 --> 00:15:35,590 vēlaties, lai pārbaudītu, ka tik ilgi, kamēr mūsu sarakstā nav nulle, tik ilgi, kamēr mūsu saraksts nav 333 00:15:35,590 --> 00:15:42,730 tukšs, tad mēs gribam, lai uzstādītu Mūsu iepriekšējā vienāds ar null. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 Jautājums tik tālu? 336 00:15:50,230 --> 00:15:53,205 Viens solis prom from--? 337 00:15:53,205 --> 00:15:55,530 >> Mērķauditorija: Vai tas būtu, ja saraksts nav vienāds null? 338 00:15:55,530 --> 00:15:56,950 >> HANNAH: Jā, jūs esat pilnīgi taisnība. 339 00:15:56,950 --> 00:15:58,130 Es esmu tik žēl. 340 00:15:58,130 --> 00:16:00,040 Ir saraksts nav vienāds null. 341 00:16:00,040 --> 00:16:01,915 Awesome. 342 00:16:01,915 --> 00:16:04,245 Cenšas panākt to visu uz ekrāna. 343 00:16:04,245 --> 00:16:06,870 Tas ir sava veida nokrist. 344 00:16:06,870 --> 00:16:07,730 Atvainojiet, puiši. 345 00:16:07,730 --> 00:16:11,874 Un pēdējais, bet ne mazāk, visi mums ir jādara, ir atgriešanās. 346 00:16:11,874 --> 00:16:12,840 OK. 347 00:16:12,840 --> 00:16:15,400 Tas bija daudz pieblīvēts patiešām ātri. 348 00:16:15,400 --> 00:16:16,800 Veikt otru meklēt šo pārvērtībām. 349 00:16:16,800 --> 00:16:18,216 Pasakiet man, ja jums ir kādi jautājumi. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 Yeah? 352 00:16:20,732 --> 00:16:26,940 >> Mērķauditorija: Ja saraksts ir galva, then-- pagaidiet, nevermind. 353 00:16:26,940 --> 00:16:27,700 >> HANNAH: Labi, labi. 354 00:16:27,700 --> 00:16:30,987 Tātad, tas ir, ja saraksts ir pie galvas, mēs noņemam to visu, mēs ievietota. 355 00:16:30,987 --> 00:16:31,486 Yeah? 356 00:16:31,486 --> 00:16:33,777 >> Mērķauditorija: Vai jūs varat paskaidrot Pirmais, ja paziņojums vēlreiz? 357 00:16:33,777 --> 00:16:36,149 Ja rādītājs uz n ir vienāds ar n? 358 00:16:36,149 --> 00:16:36,690 HANNAH: Protams. 359 00:16:36,690 --> 00:16:42,780 Tātad mūsu mērķis visa šī funkcija ir izdzēst mezglu, kas ir vērtība n. 360 00:16:42,780 --> 00:16:47,460 Tātad, ja mēs atrast, jo mēs esam atkārtojot caur mūsu sarakstā, 361 00:16:47,460 --> 00:16:51,770 mezglu ar vērtību n, kas ir viens mēs vēlamies izdzēst. 362 00:16:51,770 --> 00:16:57,286 Tātad visi dzēšanu notiek iekšpusē, ka liels, ja paziņojumā. 363 00:16:57,286 --> 00:16:58,593 Vai tas ir jēga? 364 00:16:58,593 --> 00:16:59,480 Cool. 365 00:16:59,480 --> 00:16:59,990 Yeah? 366 00:16:59,990 --> 00:17:02,864 >> Mērķauditorija: Varbūt jūs vienkārši nevarat redzēt tas, bet nav nepieciešams arī līnija 367 00:17:02,864 --> 00:17:06,024 par ritinot sarakstu? 368 00:17:06,024 --> 00:17:06,690 HANNAH: Awesome. 369 00:17:06,690 --> 00:17:10,896 Pieņemsim celt šo up mazliet, un mēs mest šīs tiesības apakšā. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 Varbūt valde būtu esam bijusi nedaudz labāka ideja. 372 00:17:15,490 --> 00:17:17,829 Tātad, kā es varētu pārcelties rādītāju uz priekšu? 373 00:17:17,829 --> 00:17:20,184 >> AUDITORIJA: Pointer vienāds rādītāju plus viens. 374 00:17:20,184 --> 00:17:21,599 >> HANNAH: Beautiful. 375 00:17:21,599 --> 00:17:25,050 Tāpēc, ka ļauj mums turpināt atkārtojot cauri. 376 00:17:25,050 --> 00:17:26,251 OK. 377 00:17:26,251 --> 00:17:27,750 Mērķauditorija: Vai nav tur būt cits? 378 00:17:27,750 --> 00:17:29,028 HANNAH: Vēl vienu reizi? 379 00:17:29,028 --> 00:17:32,444 Mērķauditorija: Vai nav tur būt cits pēc liels veco, ja 380 00:17:32,444 --> 00:17:35,519 paziņojums [dzirdams]? 381 00:17:35,519 --> 00:17:36,310 HANNAH: Kura daļa? 382 00:17:36,310 --> 00:17:38,350 Es atvainojos. 383 00:17:38,350 --> 00:17:41,800 >> Mērķauditorija: šķērsošana, nedrīkst pastāvēt par cits? 384 00:17:41,800 --> 00:17:43,550 HANNAH: Jūs absolūti varētu būt cits. 385 00:17:43,550 --> 00:17:46,930 Jo man ir atgriešanās tiesības tur, jums nav nepieciešams cits. 386 00:17:46,930 --> 00:17:48,760 Bet jā, labs jautājums. 387 00:17:48,760 --> 00:17:50,170 OK, jā? 388 00:17:50,170 --> 00:17:52,878 Mērķauditorija: Vai mēs domājam par rādītāju kas virzās cauri sarakstam 389 00:17:52,878 --> 00:17:56,610 kā ņemot par vērtību par katru mezglu sarakstā? 390 00:17:56,610 --> 00:18:00,650 Vai mums vajadzētu domāt par to, kā veida ārēja saraksta? 391 00:18:00,650 --> 00:18:02,350 >> HANNAH: Vai nu viens ir labi, es domāju. 392 00:18:02,350 --> 00:18:05,880 Veids, kā es iedomāties, tā ir Es saku, OK, es esmu rādītājs. 393 00:18:05,880 --> 00:18:06,520 Un tas ir man. 394 00:18:06,520 --> 00:18:07,150 Šī ir mana roka. 395 00:18:07,150 --> 00:18:09,960 Es esmu gatavojas, lai norādītu uz atšķirīgu lietas, ko es gribu atkārtot, izmantojot. 396 00:18:09,960 --> 00:18:12,270 Pirmkārt, es esmu gatavojas uzsvērt pie galvas sarakstā. 397 00:18:12,270 --> 00:18:14,144 Un tas man es esmu stāsta gatavojas norāda uz četrām. 398 00:18:14,144 --> 00:18:18,060 Un tā man, kas ir ārējs sarakstam, Es varu norādīt uz katru no šiem elementiem. 399 00:18:18,060 --> 00:18:19,520 Tāpēc es domāju par sevi kā rādītājs. 400 00:18:19,520 --> 00:18:21,645 Mērķauditorija: Tātad, kad jūs izdzēst viens no šiem elementiem, 401 00:18:21,645 --> 00:18:23,404 izdzēst sevi, lai runāt. 402 00:18:23,404 --> 00:18:24,070 HANNAH: Tieši tā. 403 00:18:24,070 --> 00:18:25,920 Tātad jūs dzēst lieta jūs norādot uz. 404 00:18:25,920 --> 00:18:28,340 Tātad, šajā piemērā, ka mēs redzējām, kur mēs esam 405 00:18:28,340 --> 00:18:31,670 mēģinot dzēst pieci, kad es esmu norādot uz pieciem, 406 00:18:31,670 --> 00:18:34,200 Es gribu, lai izdzēstu lieta, ko es esmu liecinot. 407 00:18:34,200 --> 00:18:35,870 Tieši labi. 408 00:18:35,870 --> 00:18:36,577 Jā? 409 00:18:36,577 --> 00:18:39,410 Mērķauditorija: Vai esam rūpēsies gadījums, kur n nav sarakstā? 410 00:18:39,410 --> 00:18:40,460 HANNAH: ja n nav sarakstā? 411 00:18:40,460 --> 00:18:43,501 Viss, kas notiks, ir jūs esat gatavojas atkārtot, izmantojot un atkārtot 412 00:18:43,501 --> 00:18:47,616 cauri, un tad, jūs gatavojas lai nokļūtu rādītāju nav uzskatāmi null, 413 00:18:47,616 --> 00:18:48,990 un tad jūs gatavojas darīt. 414 00:18:48,990 --> 00:18:50,812 >> Mērķauditorija: Tātad mums ir lai atgrieztos kaut ko? 415 00:18:50,812 --> 00:18:51,520 HANNAH: Mēs varētu. 416 00:18:51,520 --> 00:18:54,500 Tā, ka ja tā ir definēta šī funkcija, es tikai saku, ka tas atgriež 417 00:18:54,500 --> 00:18:55,770 anulēta neatkarīgi. 418 00:18:55,770 --> 00:18:58,360 Bet jūs varētu būt kaut kas piemēram, atgriežoties vesels skaitlis, 419 00:18:58,360 --> 00:19:00,920 un ir atdeve negatīvs 1, ja tas neizdodas. 420 00:19:00,920 --> 00:19:03,070 Kaut kā tā. 421 00:19:03,070 --> 00:19:04,494 Jautājumi with-- jā? 422 00:19:04,494 --> 00:19:05,410 Mērķauditorija: [dzirdams]? 423 00:19:05,410 --> 00:19:05,993 HANNAH: Sorry? 424 00:19:05,993 --> 00:19:07,419 Mērķauditorija: [dzirdams]? 425 00:19:07,419 --> 00:19:07,960 HANNAH: Protams. 426 00:19:07,960 --> 00:19:11,730 Tā ka ir actual-- reiz mēs esam darīts viss šis darbs pārvietojas 427 00:19:11,730 --> 00:19:16,530 visas šīs bultas apkārt, mūsu visa mērķis bija atbrīvoties no mezgla 428 00:19:16,530 --> 00:19:18,230 ka mēs meklējam. 429 00:19:18,230 --> 00:19:21,610 Tātad šajā gadījumā, atbrīvojot rādītājs, ja es esmu norādot uz pieciem, 430 00:19:21,610 --> 00:19:24,670 tas ir tāpat kā dzēšot šo vidū mezglā. 431 00:19:24,670 --> 00:19:27,250 Tas ir bezmaksas rādītājs daļa. 432 00:19:27,250 --> 00:19:29,090 Ka jēga? 433 00:19:29,090 --> 00:19:31,390 >> Mērķauditorija: Tātad, pat doma jums nav [dzirdams]? 434 00:19:31,390 --> 00:19:36,060 >> HANNAH: Tātad mēs pieņēmām, ka sākumā mums bija daži saraksts, kas bija already-- 435 00:19:36,060 --> 00:19:37,220 viņi bija likts kopā. 436 00:19:37,220 --> 00:19:39,761 Tātad, lai veidotu šo sarakstu, viņi must've [nedzirdama]. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 Cool. 439 00:19:42,750 --> 00:19:44,490 Kaut kas cits ar šo? 440 00:19:44,490 --> 00:19:46,386 Jā? 441 00:19:46,386 --> 00:19:49,204 >> Mērķauditorija: Ko darīt, ja saraksts nav vienāds nulles līniju? 442 00:19:49,204 --> 00:19:49,704 [Dzirdams]? 443 00:19:49,704 --> 00:19:52,289 444 00:19:52,289 --> 00:19:53,080 HANNAH: Tepat? 445 00:19:53,080 --> 00:19:53,840 AUDITORIJA: Jā. 446 00:19:53,840 --> 00:19:57,370 HANNAH: Labi, viss, ko es daru ir Es esmu tikai pārliecinoties 447 00:19:57,370 --> 00:20:03,250 ka pirms es cenšos dereference sarakstam, pirms mēģinu piekļūt iepriekšējā, 448 00:20:03,250 --> 00:20:07,210 Es gribu, lai pārliecinātos, ka tas nav null tāpēc man nav saņemt SEG vaina. 449 00:20:07,210 --> 00:20:08,400 Cool. 450 00:20:08,400 --> 00:20:10,820 >> Labi, es zinu, tas bija diezgan daudz tikt cauri. 451 00:20:10,820 --> 00:20:14,950 Tātad šī slaidu būs jums pieejama. 452 00:20:14,950 --> 00:20:17,341 Tātad jūs varat iet caur to sīkāk. 453 00:20:17,341 --> 00:20:17,841 Jā? 454 00:20:17,841 --> 00:20:19,749 >> Mērķauditorija: Kāpēc sarakstā [dzirdams]? 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 HANNAH: Protams. 457 00:20:24,670 --> 00:20:27,390 Tik saraksts tiešām norāda uz šis elements tieši šeit, 458 00:20:27,390 --> 00:20:29,200 pirmais elements sarakstā. 459 00:20:29,200 --> 00:20:30,748 Tātad tas nevar būt iepriekšējais. 460 00:20:30,748 --> 00:20:31,736 Jā? 461 00:20:31,736 --> 00:20:35,194 >> Mērķauditorija: Vai rādītāja punktu uz to pašu adresi atmiņas? 462 00:20:35,194 --> 00:20:38,404 Vai tas norāda uz pašu adrese atmiņā kā mezglā 463 00:20:38,404 --> 00:20:40,640 ka tas norāda uz? 464 00:20:40,640 --> 00:20:43,865 >> HANNAH: Jā, tas norāda šim mezglu atmiņā. 465 00:20:43,865 --> 00:20:47,190 >> Mērķauditorija: Pareizi, tāpēc kad jūs [dzirdams]? 466 00:20:47,190 --> 00:20:50,580 >> HANNAH: Savā ziņā, jā. 467 00:20:50,580 --> 00:20:51,280 OK. 468 00:20:51,280 --> 00:20:52,997 Labi, pieņemsim pārvietoties kopā ar to. 469 00:20:52,997 --> 00:20:55,330 Un, ja jums ir vairāk jautājumi, stick ap beigās, 470 00:20:55,330 --> 00:20:57,130 un mēs varam iet caur to vēlreiz. 471 00:20:57,130 --> 00:20:58,120 OK, atdzesē. 472 00:20:58,120 --> 00:21:00,490 Tagad, mēs pāriet hash galdi, neveiksmīgiem mēģinājumiem 473 00:21:00,490 --> 00:21:04,940 un koki, kas jums super pazīstami ne p-komplekts pieci, Speller. 474 00:21:04,940 --> 00:21:11,020 >> Tātad hash tabula ir tikai masīvs ar atsevišķi saistītas sarakstiem 475 00:21:11,020 --> 00:21:14,050 vai divkārt saistītas sarakstus, kas nāk nost no tā. 476 00:21:14,050 --> 00:21:16,380 Tātad mums ir sava veida asociatīvas masīvs. 477 00:21:16,380 --> 00:21:21,280 Un kā mēs zinām, kurš no šiem bloki spaiņi nokļūt, 478 00:21:21,280 --> 00:21:24,137 mēs izmantojam jaucējfunkciju. 479 00:21:24,137 --> 00:21:26,470 Tātad šajā gadījumā, var ikviens uzmini jaucējfunkciju 480 00:21:26,470 --> 00:21:28,636 būtu tikai pamatojoties uz kādu no ieejas un izejas? 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> Mērķauditorija: vēstule numurs alfabēta. 483 00:21:33,194 --> 00:21:33,860 HANNAH: Tieši tā. 484 00:21:33,860 --> 00:21:36,160 Tas tikai liek tos alfabētiskā secībā. 485 00:21:36,160 --> 00:21:39,280 Viss, kas sākas ar Tiek likts uz pirmo spaini. 486 00:21:39,280 --> 00:21:43,340 Viss ar B nodošanas otrkārt spainis, tā tālāk, un tā tālāk. 487 00:21:43,340 --> 00:21:45,620 Awesome, OK. 488 00:21:45,620 --> 00:21:48,980 Un hash funkcija ir jebkura funkcija, kas notiek ar vārdu 489 00:21:48,980 --> 00:21:51,910 un jums pateiks, ko spainis tas pieder. 490 00:21:51,910 --> 00:21:55,150 Tātad, kas ierakstu mūsu masīvs tā pieder. 491 00:21:55,150 --> 00:21:58,080 >> Tātad, katru reizi, kad es dodu manu hash funkcija vārdu, 492 00:21:58,080 --> 00:22:00,660 tas būtu man pateikt pats vieta katru reizi. 493 00:22:00,660 --> 00:22:03,270 Tātad, ja mēs izmantojam jaucējfunkciju No iepriekšējo slaidu 494 00:22:03,270 --> 00:22:05,950 kur mēs esam šķirošana pēc pirmais burts no alfabēta, 495 00:22:05,950 --> 00:22:08,230 katru reizi, kad es dodu manu hash funkcija "ābols" 496 00:22:08,230 --> 00:22:10,180 tas vienmēr būtu jāsniedz mani atpakaļ 0. 497 00:22:10,180 --> 00:22:12,890 Tātad, ja man ir ābols likt manā hash tabulu, 498 00:22:12,890 --> 00:22:17,700 ja man dotu "ābols" manai hash funkciju, būtu teikt, jāiet ielieciet to spainī 0. 499 00:22:17,700 --> 00:22:19,980 Ja es esmu meklē ābolu manā hash tabulas 500 00:22:19,980 --> 00:22:24,340 un es saku, kur varenība ābolu dzīvot, jūs lūgt jūsu hash funkciju. 501 00:22:24,340 --> 00:22:26,900 Un tā saka, dodieties uz spainis 0. 502 00:22:26,900 --> 00:22:29,150 Labi? 503 00:22:29,150 --> 00:22:32,660 Jautājumi ar hash funkcijām? 504 00:22:32,660 --> 00:22:34,570 Awesome. 505 00:22:34,570 --> 00:22:37,320 >> Te ir nedaudz detalizētu paskaidrojumu 506 00:22:37,320 --> 00:22:39,570 par to hash funkcija varētu izskatīties. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 Labi. 509 00:22:42,960 --> 00:22:45,960 Tagad, problēma ar hash funkcijas ir ideālā pasaulē, 510 00:22:45,960 --> 00:22:48,870 mums būtu tikai viens lieta katrā spainī. 511 00:22:48,870 --> 00:22:50,900 Bet patiesībā, tur ir ne tikai viens vārds 512 00:22:50,900 --> 00:22:54,280 kas sākas ar A. Tur nav tikai viens vārds, kas sākas ar B. So 513 00:22:54,280 --> 00:22:56,960 Šajā gadījumā, ja mēs pēkšņi saņemt "ogu" 514 00:22:56,960 --> 00:22:58,710 un mēs vēlamies, lai to mūsu hash tabulu, 515 00:22:58,710 --> 00:23:03,640 un mēs redzam, ak, nē, banānu ir jau tur, ko mēs gonna darīt? 516 00:23:03,640 --> 00:23:05,900 >> Nu, mums ir divas iespējas. 517 00:23:05,900 --> 00:23:07,990 Pirmais variants ir lineāra zondēšana, kas 518 00:23:07,990 --> 00:23:11,100 tikai nozīmē iet atrast nākamais tukšs spainis. 519 00:23:11,100 --> 00:23:14,100 Iet atrast nākamo tukšo masīvs ierakstu. 520 00:23:14,100 --> 00:23:15,750 Un tikai nodot "ogu" tur. 521 00:23:15,750 --> 00:23:18,880 Tāpēc es zinu, tas ir paredzēts, lai iet ar banānu spainis vienā. 522 00:23:18,880 --> 00:23:22,155 Bet tikai likt to spainī trīs, jo spainis trīs ir tukšs. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 Vēl viena iespēja ir iespējams ko jūs īstenot 525 00:23:26,680 --> 00:23:29,220 Jūsu p-kopumu, kur jums bija atsevišķa Ķēžu rādītāju. 526 00:23:29,220 --> 00:23:33,990 Tātad katra jūsu spaiņi, katru no jūsu masīva elementiem, 527 00:23:33,990 --> 00:23:38,410 ne tikai tur vienu vārdu, bet patiesībā tur rādītāju uz vārdu saraksts. 528 00:23:38,410 --> 00:23:41,880 Tā ka, ja jums bija banānu savā hash tabulas 529 00:23:41,880 --> 00:23:44,740 un tu pēkšņi gribēja pievienot ogu, nekādu problēmu. 530 00:23:44,740 --> 00:23:51,110 Vienkārši pievienot ogu uz līdz galam, vai uz sākums, jūsu saistīts saraksts. 531 00:23:51,110 --> 00:23:54,040 OK, awesome. 532 00:23:54,040 --> 00:23:58,490 Jautājumi ar hash galdi, pirms mēs ejam tālāk? 533 00:23:58,490 --> 00:23:59,850 >> Labi. 534 00:23:59,850 --> 00:24:01,070 Koki un mēģina. 535 00:24:01,070 --> 00:24:07,980 Labi, tā tas bija vēl viena iespēja īstenošanai vārdnīcu. 536 00:24:07,980 --> 00:24:09,100 Jūs varētu būt veicis izmēģināt. 537 00:24:09,100 --> 00:24:13,420 Tātad, tas ir īpaša veida koku, kas uzvedas kā daudzlīmeņu hash tabulu. 538 00:24:13,420 --> 00:24:16,862 Tātad jūs redzēsiet attēlu kur jums ir masīvs, ka 539 00:24:16,862 --> 00:24:19,320 norāda uz ķekars bloki kas norāda uz ķekars bloki 540 00:24:19,320 --> 00:24:20,390 kas norāda uz ķekars masīvi. 541 00:24:20,390 --> 00:24:23,140 Un mēs redzēsim, ko tieši tas izskatās par turpmāko slaidu. 542 00:24:23,140 --> 00:24:26,070 Un vispār, koks ir tikai jebkuru datu struktūra 543 00:24:26,070 --> 00:24:29,710 kurā dati ir organizēts kādā hierarhijā. 544 00:24:29,710 --> 00:24:32,610 Tātad, ja mēs redzējām mums daži no izpratnes veida 545 00:24:32,610 --> 00:24:36,130 no augstākā līmeņa, nākamais līmenis, nākamais līmenis, nākamais līmenis. 546 00:24:36,130 --> 00:24:39,690 Tātad tas, iespējams, ir skaidrs, ar dažiem konkrētiem piemēriem. 547 00:24:39,690 --> 00:24:40,880 Tātad, šeit ir mūsu koks. 548 00:24:40,880 --> 00:24:42,970 Jūs varat redzēt, ka tas ir īpašas līmeņi 549 00:24:42,970 --> 00:24:45,480 ka mēs sākam ar šo saknes mezgla, viens. 550 00:24:45,480 --> 00:24:47,640 Un mēs varam iet uz leju, caur mūsu koku. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> Binārs koks ir īpaša veida koka. 553 00:24:53,910 --> 00:24:56,770 Un vienīgais specifikācija par bināro koku 554 00:24:56,770 --> 00:25:01,130 ir tas, ka katrs mezgls ir ne vairāk kā divām lapām. 555 00:25:01,130 --> 00:25:03,960 Tātad jūs neesat gatavojas redzēt kādu no šiem mezgliem ir trīs vai četras 556 00:25:03,960 --> 00:25:06,880 vai kādu citu skaitu lapām. 557 00:25:06,880 --> 00:25:11,310 Un tad vēl konkrētāks ir bināro meklēšanas koku 558 00:25:11,310 --> 00:25:18,010 kur katrs mezgls pa kreisi mezglu nāksies vērtība mazāka. 559 00:25:18,010 --> 00:25:21,180 Un katru vērtība tiesības būs lielāks. 560 00:25:21,180 --> 00:25:26,900 Tātad, ja jūs redzat 44. ir mūsu saknes, pa kreisi, 11, 22, un 33 561 00:25:26,900 --> 00:25:28,940 atrodas mazāk nekā mūsu saknes. 562 00:25:28,940 --> 00:25:33,890 Un labajā pusē, ir visi numuri bigger-- 66, 55, un 77. 563 00:25:33,890 --> 00:25:37,380 Un šis īpašums sakāms visos līmeņos no koka. 564 00:25:37,380 --> 00:25:42,690 >> Tātad, kad mēs ejam uz leju, lai 22, 11, un 33, vēl 11 565 00:25:42,690 --> 00:25:46,950 ir mazāks par 22 un 33 ir lielāks nekā 22. 566 00:25:46,950 --> 00:25:50,160 Un tas padara to vieglāk meklēt jo, ja mēs meklējam numuru, 567 00:25:50,160 --> 00:25:53,877 mēs zinām, tieši kuri filiāle sekot leju. 568 00:25:53,877 --> 00:25:56,210 Tātad tas būtu jums atgādināt par mazliet bināro meklēšanu. 569 00:25:56,210 --> 00:25:56,967 Yeah? 570 00:25:56,967 --> 00:25:58,835 >> Mērķauditorija: Tātad, ja jūs esat aprakstot bināro, 571 00:25:58,835 --> 00:26:00,587 jūs teicāt, tas ir ne vairāk kā divas lapām? 572 00:26:00,587 --> 00:26:01,170 HANNAH: Mm-hm. 573 00:26:01,170 --> 00:26:02,580 Mērķauditorija: Vai tas ir mazāk? 574 00:26:02,580 --> 00:26:03,121 HANNAH: Jā. 575 00:26:03,121 --> 00:26:06,720 So teiksim, piemēram, jūs nebija pat vairākas lietas 576 00:26:06,720 --> 00:26:11,791 un jūs nevar aizbērt visas jūsu lapas, tas ir labi, ja viens ir viens. 577 00:26:11,791 --> 00:26:12,290 OK? 578 00:26:12,290 --> 00:26:12,789 Awesome. 579 00:26:12,789 --> 00:26:15,930 Jebkādi citi jautājumi, par kokiem? 580 00:26:15,930 --> 00:26:16,670 OK. 581 00:26:16,670 --> 00:26:20,110 >> Atpakaļ uz mūsu mēģinājumiem, kā es runāju par mazliet agrāk, 582 00:26:20,110 --> 00:26:23,900 cik mums ir šie daudzlīmeņu bloki. 583 00:26:23,900 --> 00:26:26,280 Tātad, šajā gadījumā, mēs sākas augšpusē. 584 00:26:26,280 --> 00:26:29,030 Un mēs varam sekot kādu konkrētu vārdu leju. 585 00:26:29,030 --> 00:26:30,780 So teiksim, mēs vēlējāmies meklēt Turing. 586 00:26:30,780 --> 00:26:34,380 Sākam T, sekojiet to uz leju masīvs, kas satur U, 587 00:26:34,380 --> 00:26:37,350 un sekot to uz leju, līdz mēs sasniegtu šo mazo deltu, kas 588 00:26:37,350 --> 00:26:39,060 stāsta mums, jā, jums atrast vārdu. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 Skaidrs mēģina? 591 00:26:44,120 --> 00:26:48,138 Kaut kas iet tur? 592 00:26:48,138 --> 00:26:48,908 Jā? 593 00:26:48,908 --> 00:26:51,866 Mērķauditorija: Vai simbols delta ir aizņem vietu robežās mēģināt? 594 00:26:51,866 --> 00:26:54,532 HANNAH: Jā, tā tas nav obligāti pat jābūt delta. 595 00:26:54,532 --> 00:26:57,760 Bet mums ir nepieciešams zināms ceļu pastāstīt mūsu computer-- sorry, 596 00:26:57,760 --> 00:27:01,130 tā, ka mēs zinām, ka TUR nav vārds. 597 00:27:01,130 --> 00:27:04,180 Jo teiksim mums nebija šis jēdziens delta, šis jēdziens 598 00:27:04,180 --> 00:27:09,850 par apsveikumiem, jūs atrast vārdu, tas iet cauri, un atkārtot, T-U-R, 599 00:27:09,850 --> 00:27:11,300 un tad saka, awesome, es to atradu! 600 00:27:11,300 --> 00:27:12,670 Tai jābūt vārds. 601 00:27:12,670 --> 00:27:13,720 Bet tas tiešām nav. 602 00:27:13,720 --> 00:27:15,310 Mēs vēlamies visa Turing būt vārdu. 603 00:27:15,310 --> 00:27:17,760 Tātad mums ir jābūt kaut ko galā, kas saka, apsveicu, 604 00:27:17,760 --> 00:27:19,051 esat atradis likumīgu vārdu. 605 00:27:19,051 --> 00:27:21,680 Mērķauditorija: Tātad, ja jums bija, piemēram, 26 burti alfabēta, 606 00:27:21,680 --> 00:27:24,560 tu tiešām ir 27 taustiņi jūsu mēģināt? 607 00:27:24,560 --> 00:27:26,010 >> HANNAH: Awesome, jā. 608 00:27:26,010 --> 00:27:28,210 Tik tiešām, es domāju, ka tiks uz nākamo slaidu. 609 00:27:28,210 --> 00:27:29,440 Ta-da! 610 00:27:29,440 --> 00:27:32,880 Kur, ja Jums ir mezglu jūsu izmēģināt, tu esi 611 00:27:32,880 --> 00:27:35,800 nāksies 27 bērni, nevis 26. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 Visus jautājumus ar šo? 614 00:27:40,050 --> 00:27:40,550 Yeah? 615 00:27:40,550 --> 00:27:44,569 Mērķauditorija: Kāpēc mēģina aizņem tik daudz vietas [dzirdams], kā jums iet? 616 00:27:44,569 --> 00:27:47,629 Kāpēc tas ir uzskatāms par [nedzirdama]? 617 00:27:47,629 --> 00:27:48,170 HANNAH: Protams. 618 00:27:48,170 --> 00:27:48,790 Iesim atpakaļ. 619 00:27:48,790 --> 00:27:52,350 Jautājums ir, kāpēc ir mēģina tik daudz lielāks 620 00:27:52,350 --> 00:27:54,620 kā kaut ko līdzīgu hash tabulu. 621 00:27:54,620 --> 00:27:57,790 Tātad, katrs no šiem līmeņiem, pat tad, ja viņi nav sagatavoti šeit, 622 00:27:57,790 --> 00:28:01,250 jums ir visas 26 rakstzīmes. 623 00:28:01,250 --> 00:28:04,420 Un iemesls, ka jūs nevarat saka, oh, bet, piemēram, par Turing, es 624 00:28:04,420 --> 00:28:07,570 nav nepieciešams, lai ir kāds no tiem, pašas lietas, par līmeni U. Well, 625 00:28:07,570 --> 00:28:11,390 ja pēkšņi jūs vēlētos pievienot kaut kas bija, piemēram, T-H, 626 00:28:11,390 --> 00:28:14,800 jūs nepieciešams, lai būtu spēja piebilstot, ka vārdu. 627 00:28:14,800 --> 00:28:17,330 Tātad, par katru burtu, Jums nāksies 628 00:28:17,330 --> 00:28:19,730 lai ir ķekars bloki, kas nāk nost no tā. 629 00:28:19,730 --> 00:28:24,060 Tātad jūs varat redzēt, kā tas gribētu saņemt tiešām liels, ļoti ātri. 630 00:28:24,060 --> 00:28:26,560 Jebkādi citi jautājumi? 631 00:28:26,560 --> 00:28:28,980 Labi. 632 00:28:28,980 --> 00:28:29,832 Yeah? 633 00:28:29,832 --> 00:28:33,210 >> Mērķauditorija: Kad ir mēģina ātrāk nekā hash tabulas? 634 00:28:33,210 --> 00:28:36,280 >> HANNAH: Kad ir mēģina ātrāk nekā hash tabulas? 635 00:28:36,280 --> 00:28:39,120 Tātad, ja jums bija patiešām slikti hash funkciju. 636 00:28:39,120 --> 00:28:41,840 Tāpēc pieņemsim, ka man bija, piemēram, šeit ir jūsu hash funkciju. 637 00:28:41,840 --> 00:28:43,660 Nav svarīgi, ko vārds tu dod man, es esmu vienmēr 638 00:28:43,660 --> 00:28:47,740 gatavojas nodot to masīvā ierakstu 0. 639 00:28:47,740 --> 00:28:52,000 Un tā mēs galu galā ar tikai liekot viss vienā lielā ilgi saistīts sarakstā. 640 00:28:52,000 --> 00:28:58,740 Un tā lookup laiks būtu nepieciešams, bet sliktākajā n ja tas ir pašās beigās mūsu sarakstā. 641 00:28:58,740 --> 00:29:03,150 Ar izmēģināt, mums vienkārši ir atkārtot pa burtiem vārdu. 642 00:29:03,150 --> 00:29:07,080 Tātad, pat tad, ja mēs pievienot ķekars vairāk vārdi mūsu mēģināt, 643 00:29:07,080 --> 00:29:09,620 tas nebūtu mūs vairs atrast konkrētu vārdu. 644 00:29:09,620 --> 00:29:11,750 >> Viss, kas mums jādara, ir, lai piemērs, šajā gadījumā, 645 00:29:11,750 --> 00:29:17,170 pieņemsim, ka mēs meklējam zoom, mums vienkārši ir atkārtot pār 646 00:29:17,170 --> 00:29:19,840 Z-O-O-M, četri burti. 647 00:29:19,840 --> 00:29:22,250 Tātad tas ir tikai garums vārdu tālummaiņu. 648 00:29:22,250 --> 00:29:25,400 Tas nav svarīgi, cik daudz Vairāk vārdus mēs ieliekam šajā mēģināt. 649 00:29:25,400 --> 00:29:30,225 Mēs vienmēr varam iegūt šajos četros posmos. 650 00:29:30,225 --> 00:29:31,215 Awesome. 651 00:29:31,215 --> 00:29:32,205 Jā? 652 00:29:32,205 --> 00:29:34,185 >> Mērķauditorija: Tātad [nedzirdama] ir masīvs, labi? 653 00:29:34,185 --> 00:29:35,322 >> HANNAH: Mm-hm. 654 00:29:35,322 --> 00:29:37,155 Mērķauditorija: Ja tu esi meklē [nedzirdama] 655 00:29:37,155 --> 00:29:40,929 tu būtu jāiet cauri Jūsu masīvs atrast [nedzirdama]? 656 00:29:40,929 --> 00:29:41,470 HANNAH: Protams. 657 00:29:41,470 --> 00:29:44,000 Mērķauditorija: Vai nav, ka nepieciešams vairāk laika? 658 00:29:44,000 --> 00:29:46,370 HANNAH: Ja es esmu gatavojas teikt, ka mana masīvs vienmēr 659 00:29:46,370 --> 00:29:49,250 būs A, B, C, D, E, F, G, blah blah blah, 660 00:29:49,250 --> 00:29:51,630 tāpēc, ja es vienmēr zinu, tas ir tādā pašā precīzu secībā, 661 00:29:51,630 --> 00:29:53,880 ja es vienmēr zinu, tas ir alfabētiskā secībā, 662 00:29:53,880 --> 00:29:57,860 Es varu tikai teikt O ir numur tik un tā ar alfabētu. 663 00:29:57,860 --> 00:29:59,620 Vienkārši lēkt uz šo vietu. 664 00:29:59,620 --> 00:30:01,860 Jo atceros, ar bloki, mēs varam piekļūt 665 00:30:01,860 --> 00:30:06,590 kāds no šī masīva konstante elements laiku, ja mēs zinām, kur mēs meklējam. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 Yeah? 668 00:30:09,580 --> 00:30:12,005 >> Mērķauditorija: On iepriekšējais slide [nedzirdama] 27, 669 00:30:12,005 --> 00:30:14,430 bet 26 par pirmo. 670 00:30:14,430 --> 00:30:15,400 >> HANNAH: Sorry? 671 00:30:15,400 --> 00:30:18,800 >> Mērķauditorija: Vai nav pirmais viens 0, tāpēc tas nebūtu 26? 672 00:30:18,800 --> 00:30:24,900 >> HANNAH: Protams, tad, kad mēs sakām, 27, kas ir gatavojas sniegt mums indeksiem no 0 līdz 26. 673 00:30:24,900 --> 00:30:28,220 Bet, ja jūs tiešām rēķināties tiem ārā, tas būs 27. 674 00:30:28,220 --> 00:30:30,007 Labs jautājums. 675 00:30:30,007 --> 00:30:30,590 Kaut kas cits? 676 00:30:30,590 --> 00:30:31,200 Yeah? 677 00:30:31,200 --> 00:30:34,420 >> Mērķauditorija: Tātad ir mēģina lēnāk, nekā hash tabulas? 678 00:30:34,420 --> 00:30:37,920 >> HANNAH: Mēģina ir būs, jo teorija, ātrāk nekā hash tabulas 679 00:30:37,920 --> 00:30:39,760 bet aizņem vairāk atmiņas. 680 00:30:39,760 --> 00:30:40,534 Yeah? 681 00:30:40,534 --> 00:30:41,450 Mērķauditorija: [dzirdams]? 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> HANNAH: Es atvainojos, es nedzirdēju tevi. 684 00:30:47,484 --> 00:30:48,400 Mērķauditorija: [dzirdams]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 No 0 līdz 25 dod jums 26. 687 00:30:54,100 --> 00:30:56,958 >> HANNAH: no 0 līdz 25 varētu sniegt jums 26, labi. 688 00:30:56,958 --> 00:30:58,457 >> Mērķauditorija: Un tad [nedzirdama]. 689 00:30:58,457 --> 00:30:59,040 HANNAH: Right. 690 00:30:59,040 --> 00:31:04,760 Tātad skaitlis mēs norādot ir vairākas lietas mūsu masīvā. 691 00:31:04,760 --> 00:31:07,260 Tātad, ja mums ir 27, tas ir gatavojas sniegt mums 0 692 00:31:07,260 --> 00:31:10,620 ar 26, kas dos mūs telpa, šajā gadījumā, 693 00:31:10,620 --> 00:31:12,770 Es neesmu tajā skaitā apostrofu. 694 00:31:12,770 --> 00:31:17,040 Tātad mēs esam nonākuši no 0 līdz 25 gadiem ir pirmie 26 alfabēta burti, 695 00:31:17,040 --> 00:31:18,990 vai visas 26 alfabēta burti. 696 00:31:18,990 --> 00:31:21,190 Un tad, ka pagājušajā lieta, pie iebraukšanas 26, ir 697 00:31:21,190 --> 00:31:24,598 būs pārbaude zīmi, vai delta. 698 00:31:24,598 --> 00:31:26,960 Kaut kas cits? 699 00:31:26,960 --> 00:31:29,130 Awesome. 700 00:31:29,130 --> 00:31:30,020 Pazaudēju savu telpu. 701 00:31:30,020 --> 00:31:31,020 OK, atdzesē. 702 00:31:31,020 --> 00:31:33,240 >> Tātad mēs jau pieskārās to. 703 00:31:33,240 --> 00:31:37,430 Bet liels tirdzniecības off starp mēģinājumiem un hash tabulas 704 00:31:37,430 --> 00:31:39,720 ir tas, ka mēģina nodrošināt, jo teorija, pastāvīga uzmeklēt 705 00:31:39,720 --> 00:31:42,890 reizes, bet izmanto visai daudz atmiņas. 706 00:31:42,890 --> 00:31:46,495 Labi, tagad mums ir nedaudz mazāk sarežģītas konstrukcijas, 707 00:31:46,495 --> 00:31:49,640 un mēs būsim darījuši ar C, un mēs pa labi pa. 708 00:31:49,640 --> 00:31:51,930 >> Tātad skursteņi, mēs redzējām šo lekciju, kur jūs 709 00:31:51,930 --> 00:31:55,020 ir kaut kas līdzīgs kaudze paplātes kur 710 00:31:55,020 --> 00:31:57,330 Pēdējā lieta, ko jūs likts uz skursteņa notiek 711 00:31:57,330 --> 00:31:59,500 būt pirmā lieta, jūs pacelšanās. 712 00:31:59,500 --> 00:32:02,880 Tātad tas, kas patiešām definē kaudze ir tas, ka pēdējā lieta, ko jūs likts uz 713 00:32:02,880 --> 00:32:06,080 būs pirmais lieta jūs pacelšanās. 714 00:32:06,080 --> 00:32:09,279 Un terminoloģija, ka mēs izmantojam ja mēs ejam, lai kaut ko, 715 00:32:09,279 --> 00:32:12,070 ja mēs ejam pievienot kaut ko mūsu kaudze, mēs to saucam par stumšanas. 716 00:32:12,070 --> 00:32:14,970 Un, ja mēs kaut ko off, mēs to saucam par popping. 717 00:32:14,970 --> 00:32:17,080 Un, ja mēs spēsim īstenot kaudze, mēs 718 00:32:17,080 --> 00:32:20,660 jābūt pārliecinātiem, lai sekotu gan lielums un kapacitāte. 719 00:32:20,660 --> 00:32:24,940 Tātad kopējais elementu skaits, mēs varam turēt un pašreizējais elementu skaits 720 00:32:24,940 --> 00:32:27,880 ka mēs tur. 721 00:32:27,880 --> 00:32:29,885 >> Un ļoti līdzīgi, mums ir rindas. 722 00:32:29,885 --> 00:32:34,510 Un vienīgā atšķirība ir nevis ar skursteņi, 723 00:32:34,510 --> 00:32:37,630 mēs teicām pēdējā lieta, mēs liekam uz ir pirmā lieta, mums pacelties. 724 00:32:37,630 --> 00:32:40,940 Tātad ar rindām, Pirmā lieta, ko mēs ieliekam 725 00:32:40,940 --> 00:32:43,129 būs Pirmā lieta, ko mēs ņemam ārā. 726 00:32:43,129 --> 00:32:45,420 Tātad tas ir, piemēram, ja jūs esat faktiski stāv rindās pie veikala 727 00:32:45,420 --> 00:32:48,140 un jūs to palīdzēja, tad pirmais cilvēks rindā 728 00:32:48,140 --> 00:32:50,880 vajadzētu būt pirmā persona, kas palīdzēja. 729 00:32:50,880 --> 00:32:52,220 Tā, ka būs rinda. 730 00:32:52,220 --> 00:32:55,880 >> Tāpēc mums ir nepieciešams, lai sekotu izmēru, jaudu, un galva tā kā mēs esam 731 00:32:55,880 --> 00:33:01,130 gatavojas veikt ikvienam off priekšā no saraksta vietā uz muguras. 732 00:33:01,130 --> 00:33:03,480 Jautājumi par šo? 733 00:33:03,480 --> 00:33:06,330 Visus C jautājumi, kas tevi nomāc? 734 00:33:06,330 --> 00:33:09,590 Datu struktūras, kaut ko no šīs fun stuff? 735 00:33:09,590 --> 00:33:10,530 Visas tiesības, atdzesē. 736 00:33:10,530 --> 00:33:14,120 Tāpēc es ņemšu to nodot Alison uz lēkt vērā daži vairāk plānošanu. 737 00:33:14,120 --> 00:33:15,965 >> ALISON: Ak, mēs redzēsim. 738 00:33:15,965 --> 00:33:17,370 Redzēsim, cik labi man darīt šeit. 739 00:33:17,370 --> 00:33:21,410 Labi, es esmu gatavojas izmēģināt un lidot izmantojot šo sīkumi, puiši. 740 00:33:21,410 --> 00:33:24,540 Hannah gāja ļoti in dziļums visiem viņas lietām. 741 00:33:24,540 --> 00:33:26,900 Es esmu gatavojas izmēģināt, lai sniegtu Jūs ātri sprādziens pārskats 742 00:33:26,900 --> 00:33:31,290 lai mēs varētu nokļūt Davin ar visiem arī jautri JavaScript un drošības lietas 743 00:33:31,290 --> 00:33:33,380 ka varbūt jūs faktiski gribu dzirdēt vairāk par. 744 00:33:33,380 --> 00:33:36,600 >> OK, kā teica Hannah, ja Jums ir kādi jautājumi, 745 00:33:36,600 --> 00:33:39,170 Es esmu pārāk ātri, lūdzu, ļaujiet man zināt. 746 00:33:39,170 --> 00:33:42,114 Es atbildēšu uz jautājumiem, kā nepieciešams. 747 00:33:42,114 --> 00:33:45,280 Tātad, lai sāktu, mēs ejam, lai sāktu ar iespējams, viena no pirmajām lietām 748 00:33:45,280 --> 00:33:48,730 jūs esat iemācījušies ar web programmēšana, atļaujas. 749 00:33:48,730 --> 00:33:52,720 Tātad chmod, jūs puiši būtu esam bijis meistari, tas ar visu tīmeklī 750 00:33:52,720 --> 00:33:54,870 programmēšana, ka jūs esat darījis pēdējā laikā. 751 00:33:54,870 --> 00:33:57,320 Tas ir būtībā tikai komandu kas maina atļaujas 752 00:33:57,320 --> 00:34:00,779 vai piekļuves atļaujas Mūsu failu sistēmas objektiem. 753 00:34:00,779 --> 00:34:02,570 Protams, faktiski redzētu šiem, ja jūs esat 754 00:34:02,570 --> 00:34:04,910 kam ir problēmas ar šīm laikā jūsu problēmu kopas, 755 00:34:04,910 --> 00:34:11,460 Jums var būt izmantoti ls-l, kas ir garš, lai iegūtu skatu veida kā šis, 756 00:34:11,460 --> 00:34:14,209 kur jūs faktiski redzēt visas atļaujas par failu. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> Un tiešām, mēs esam tikai gatavojas iet cauri diezgan ātri tikai diezgan 759 00:34:20,732 --> 00:34:21,940 daudz, ko katrs no tiem nozīmē. 760 00:34:21,940 --> 00:34:24,481 Tātad mēs esam d tieši šeit, kas tikai apzīmē direktorijā. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 Acīmredzot tieši šeit, mēs redzam rwx, kas ir lasāms, rakstāms, un izpildāmā. 763 00:34:31,739 --> 00:34:37,090 Tie varētu arī tikt attēlots kā biti, ko mēs iekļuvuši nākamajā lapā. 764 00:34:37,090 --> 00:34:40,699 Tātad katrs, ka mēs redzējām triāde šeit, tāpēc tas ir trīs triādes. 765 00:34:40,699 --> 00:34:48,120 Mēs esam rwx, r nekas x un r nekas x par šo pirmo failu. 766 00:34:48,120 --> 00:34:49,690 Tas ir tas vispārējā struktūra. 767 00:34:49,690 --> 00:34:50,940 >> Tātad mums ir dažas direktorijā. 768 00:34:50,940 --> 00:34:53,999 Mums ir daži lietotāju grupai ar šīm atļaujām. 769 00:34:53,999 --> 00:34:57,040 Daži grupa, kurai ir šīs atļaujas, un pasaule, kas ir atļauja. 770 00:34:57,040 --> 00:34:59,420 Jūs varat domāt par šiem, kā triāde. 771 00:34:59,420 --> 00:35:01,130 Jūs varat domāt par šiem, kā trīs bitiem. 772 00:35:01,130 --> 00:35:04,060 Tāpēc viņi var turēt vērtības jebkur no 0 līdz 773 00:35:04,060 --> 00:35:07,350 līdz 7., tāpēc dažreiz mums bija jūs chmod 774 00:35:07,350 --> 00:35:17,510 600 vietā chmod rw neatkarīgi. 775 00:35:17,510 --> 00:35:19,170 Mēs nokļūt piemēru tur. 776 00:35:19,170 --> 00:35:24,260 Bet būtībā, jūs varat domāt no šiem, kā nu tikko rwx, 777 00:35:24,260 --> 00:35:28,520 vai arī jūs varat domāt par to, kā daži numurs, ja šī pirmā šeit 778 00:35:28,520 --> 00:35:31,480 apzīmē skaitli starp 0 un 7, šis otrais viens 779 00:35:31,480 --> 00:35:33,970 apzīmē skaitli starp 0 un 7, un trešais viens 780 00:35:33,970 --> 00:35:38,245 ir skaitlis starp 0 un 7, labi? 781 00:35:38,245 --> 00:35:42,700 >> r vērtība ir 4. w vērtība ir 2, un x 782 00:35:42,700 --> 00:35:49,230 vērtība ir 1, kas ir iemesls, kāpēc šis atļauja šeit būtu chmod 700. 783 00:35:49,230 --> 00:35:53,520 Jo šajā gadījumā šeit, tā saka mēs ir pirmais mazliet tur ir spoguļattēls on. 784 00:35:53,520 --> 00:35:55,380 Tāpēc mums ir 4 lasīšanas. 785 00:35:55,380 --> 00:35:58,730 Otrais bit ir spoguļattēls ieslēgts w, kas ir par 2, tāpēc tagad mums ir 6. 786 00:35:58,730 --> 00:36:02,070 Un trešais bits ir Pagriezts par X, kas ir 1, lai mēs iegūtu septiņi. 787 00:36:02,070 --> 00:36:04,820 Un, protams, mūsu grupa un mūsu pasaule ir katram 0. 788 00:36:04,820 --> 00:36:07,770 Tāpēc tas ir arī ekvivalents chmod 700. 789 00:36:07,770 --> 00:36:12,081 Un es noteikti mēģinātu izprast kartēšanu starp tiem. 790 00:36:12,081 --> 00:36:14,080 Es neesmu pārliecināts, vai tas ir nākt klajā uz viktorīnu pirms, 791 00:36:14,080 --> 00:36:18,590 bet tas būtu jautājums, ko es varētu jautāt. 792 00:36:18,590 --> 00:36:22,110 >> Tikai mazliet iet pat dziļāk chmod šeit, šeit 793 00:36:22,110 --> 00:36:27,730 ir ļoti vispārīgi struktūra chmod zvanu. 794 00:36:27,730 --> 00:36:29,500 Tātad, protams, mēs esam chmod šeit. 795 00:36:29,500 --> 00:36:34,410 Atsauces, ko tas attiecas, ir Kas mēs esam dod šādu atļauju 796 00:36:34,410 --> 00:36:36,570 vai kuri ejam šos atļaujas prom no. 797 00:36:36,570 --> 00:36:44,330 Tāpēc mums ir šeit atļaujām, piemēram, mēs esam dota jums chmod plus x, 798 00:36:44,330 --> 00:36:45,440 kā mēs redzēsim drīz. 799 00:36:45,440 --> 00:36:48,460 tikai nozīmē, dot tiem specifisku atļaujas ikvienam. 800 00:36:48,460 --> 00:36:49,600 Dodiet viņiem visiem. 801 00:36:49,600 --> 00:36:55,370 Tātad, jūs varētu ļoti labi būt u plus x vai g plus x vai o plus x vai vairāku 802 00:36:55,370 --> 00:36:55,870 to. 803 00:36:55,870 --> 00:36:59,280 Tā, ka pirmā daļa ir vienmēr būs norādes. 804 00:36:59,280 --> 00:37:03,220 Kas mēs esam Minot šos atļaujas, vai kuri ejam viņus prom no? 805 00:37:03,220 --> 00:37:04,850 >> Otrais ir operators. 806 00:37:04,850 --> 00:37:07,350 Tātad jums puiši ir pārsvarā nodarbojas ar plus. 807 00:37:07,350 --> 00:37:12,140 Tas dod atļaujas, lai kurš jūs dodot viņiem, 808 00:37:12,140 --> 00:37:14,840 tā mīnusa, loģiski, novērš tos. 809 00:37:14,840 --> 00:37:16,880 Tātad nekas pārāk briesmīgs tur. 810 00:37:16,880 --> 00:37:23,060 Un tad režīmi ir tas, ko mēs runājām ar lasīšanas, rakstīšanas, vai izpildes. 811 00:37:23,060 --> 00:37:29,070 Tātad plus x nozīmē dot izpildāmo atļaujas ikvienam. 812 00:37:29,070 --> 00:37:33,430 Un tad, protams, uz kura īpašu datni vai direktoriju. 813 00:37:33,430 --> 00:37:33,980 OK? 814 00:37:33,980 --> 00:37:36,010 Ikvienam labi ar chmod? 815 00:37:36,010 --> 00:37:37,850 Ne pārāk slikti? 816 00:37:37,850 --> 00:37:42,417 >> Labi, lai HTML, kāds no jums ir pietiekami vecs, kuri paredzēti, MySpace vecumu? 817 00:37:42,417 --> 00:37:44,750 Es nosūtīju to uz manu sadaļu, un burtiski puse cilvēki 818 00:37:44,750 --> 00:37:45,790 paskatījās uz mani kā es biju traks. 819 00:37:45,790 --> 00:37:47,498 Un man bija, piemēram, puiši, mēs neesam, ka vecs. 820 00:37:47,498 --> 00:37:48,910 Come on. 821 00:37:48,910 --> 00:37:53,360 Tātad hiperteksta iezīmēšanas valoda, tas ir godīgi tikai veids, lai jūs 822 00:37:53,360 --> 00:37:57,990 lai parādītu dažas lietas tīmeklī. 823 00:37:57,990 --> 00:37:59,210 Tātad, tas ir iezīmēšanas valoda. 824 00:37:59,210 --> 00:38:00,640 Tas nav skriptu valoda. 825 00:38:00,640 --> 00:38:02,160 Tur nav loģikas tajā. 826 00:38:02,160 --> 00:38:05,710 Tas ir vienkārši, lai mainītu Tiek parādīts veidā kaut ko. 827 00:38:05,710 --> 00:38:07,670 Labi, tā ka ir svarīgi atšķirība padarīt. 828 00:38:07,670 --> 00:38:12,030 Tā uzskatāma iezīmēšanas valoda, nav skriptu valoda. 829 00:38:12,030 --> 00:38:15,100 >> Tātad šeit mums ir HTML tagus. 830 00:38:15,100 --> 00:38:20,390 Uz šo slaidu, iespējams, lielākā daļa tie, kas jums jāzina 831 00:38:20,390 --> 00:38:22,390 un būt patiesi apmierināti ar. 832 00:38:22,390 --> 00:38:25,700 Tātad acīmredzot, mums ir Mūsu HTML tag, kas 833 00:38:25,700 --> 00:38:29,930 apzīmē, ka viss Starp šiem diviem būs HTML. 834 00:38:29,930 --> 00:38:33,070 Mums ir kaut kāda saistība, kas acīmredzot dos jums 835 00:38:33,070 --> 00:38:34,990 saite uz ārēju tīmekļa lapā. 836 00:38:34,990 --> 00:38:37,520 Daži nosaukums, mūsu galvas šeit. 837 00:38:37,520 --> 00:38:40,020 Un mums ir mūsu organismu ar H1, kas ir header, 838 00:38:40,020 --> 00:38:42,260 tā tas būs padara jauki un drosmīgs un lielāka. 839 00:38:42,260 --> 00:38:46,040 Un tad mums ir dažas p, kas ir punkts. 840 00:38:46,040 --> 00:38:49,000 Jums vajadzētu droši vien zināt un jāzina ar lietām 841 00:38:49,000 --> 00:38:54,030 tāpat kā jūs ievietot attēlu, ir ir kādi citi galvenes klases? 842 00:38:54,030 --> 00:38:57,240 Es noteikti būtu apmierināti ar div. 843 00:38:57,240 --> 00:39:00,840 Tātad šie ir vairākums tagus kas jums jāzina. 844 00:39:00,840 --> 00:39:04,370 Bet, protams, kā ar visu, kas CS 50, uzskaitījums nav izsmeļošs. 845 00:39:04,370 --> 00:39:08,200 Tāpēc pārliecinieties, ka jūs atsvaidzināt to. 846 00:39:08,200 --> 00:39:13,260 >> CSS, tāpēc, CSS, ja kāds no jums skatīties mans seminārs no pirms divām nedēļām, 847 00:39:13,260 --> 00:39:16,250 patiešām ir tikai veids, kā ieveidot mājas lapu? 848 00:39:16,250 --> 00:39:18,950 Labi, tāpēc mums ir dažas iezīmēšanas valodu. 849 00:39:18,950 --> 00:39:23,220 HTML, ka rūpējas tikai teksta un kur tas varētu būt lapā. 850 00:39:23,220 --> 00:39:25,760 Bet CSS ir tiešām tas, kas padara to diezgan. 851 00:39:25,760 --> 00:39:30,690 Jūs varētu būt šiem jūsu HTML failus, bet kā mēs runājam par vēlāk, 852 00:39:30,690 --> 00:39:32,660 Es esmu diezgan pārliecināts, ka tas varētu būt nākamo slaidu, tas 853 00:39:32,660 --> 00:39:35,620 ir ierasta prakse, un faktiski prakse, ka mēs patiešām veicināt, 854 00:39:35,620 --> 00:39:40,670 jums, lai saglabātu tos atdalīt, kad mēs runāt par MVC un visu šo paradigmu. 855 00:39:40,670 --> 00:39:42,490 Tas ir patiešām to, ko tas iekļaujas. 856 00:39:42,490 --> 00:39:46,110 >> Tik CSS ir tikai veids, kā darīt lietas izskatās diezgan. 857 00:39:46,110 --> 00:39:50,500 Par lietas šeit, piemēram, ķermeņa un #title un info, 858 00:39:50,500 --> 00:39:54,340 tos sauc selektori un kādi tie ir viņi izvēlas konkrētas lietas 859 00:39:54,340 --> 00:39:59,260 jūsu HTML failu un piemērot neatkarīgi stilu, 860 00:39:59,260 --> 00:40:04,090 Jebkāda veida lietas, ko vēlaties, uz šo konkrēto elementu jūsu tīmekļa 861 00:40:04,090 --> 00:40:04,590 lpp. 862 00:40:04,590 --> 00:40:08,820 Tātad šeit, mēs esam fona krāsu un krāsu 863 00:40:08,820 --> 00:40:12,450 un fontu ģimene, kas ir to piemērots kāds ir organismā. 864 00:40:12,450 --> 00:40:15,530 Tātad, ja mēs atskatījās šeit, to neattiektos uz titulu. 865 00:40:15,530 --> 00:40:22,340 Tas attiektos tikai uz to, kas ir šajos ķermeņa pārslēdzējiem, OK? 866 00:40:22,340 --> 00:40:25,250 >> Ar nosaukumu šeit, tas ir būs tas pats, 867 00:40:25,250 --> 00:40:28,410 krāsa teksta ir zils ir tikai gatavojas 868 00:40:28,410 --> 00:40:33,870 ietekmēt to, kas atrodas Virsrakstu selektori. 869 00:40:33,870 --> 00:40:36,580 Kā arī info šeit, teksts būs rozā, 870 00:40:36,580 --> 00:40:38,600 kāds info, kas ir tepat. 871 00:40:38,600 --> 00:40:40,860 Tātad vienīgā lieta, kas būtu rozā šajā lapā 872 00:40:40,860 --> 00:40:44,100 ir diena, pirmdiena, 17. novembris, 2014. 873 00:40:44,100 --> 00:40:48,770 Labi, tāpēc CSS ir tikai veids, kā ir lielāka kontrole over-- jā? 874 00:40:48,770 --> 00:40:51,850 >> Mērķauditorija: Kāpēc jums ir izmantot hash ar nosaukumu? 875 00:40:51,850 --> 00:40:55,170 >> HANNAH: Nākamais slaids, apsolu! 876 00:40:55,170 --> 00:40:56,810 Mēs tur nokļūt. 877 00:40:56,810 --> 00:40:59,830 Tātad, tas ir iemesls, kāpēc mums ir jāizmanto hash. 878 00:40:59,830 --> 00:41:03,429 Tātad selektori uzņemties trim galvenajiem formas, ka mēs runājam ar jums, puiši apmēram. 879 00:41:03,429 --> 00:41:05,595 Es fyou vēlaties uzzināt vairāk, tur ir daudz kas tur. 880 00:41:05,595 --> 00:41:07,540 Tur ir liels CSS dokumentācija. 881 00:41:07,540 --> 00:41:12,680 Tur taga nosaukums, kas ir jādara tikai ar jūsu parasto tagus HTML. 882 00:41:12,680 --> 00:41:17,210 Tātad, H1, p, div, H 2, šie veidu lietas. 883 00:41:17,210 --> 00:41:20,320 Un mēs varam tikai nosaukt tos, kā ir. 884 00:41:20,320 --> 00:41:22,650 Tā kā mēs redzam šeit ar ķermenis, tas ir normāli tag. 885 00:41:22,650 --> 00:41:26,660 Tātad, mēs varam tikai nodot ķermeņa, kad mēs runājam mūsu CSS failu. 886 00:41:26,660 --> 00:41:29,730 >> Ar nosaukumu, visu iemesla dēļ mēs ir šī hash ir mums, kas ir 887 00:41:29,730 --> 00:41:31,010 uzskatīts ID. 888 00:41:31,010 --> 00:41:35,400 Tātad ID vienmēr jābūt unikāls jūsu HTML lapas 889 00:41:35,400 --> 00:41:37,930 tā, ka tad, kad jūs esat atsaucoties uz to, jūs 890 00:41:37,930 --> 00:41:41,990 zinu, ka jūs esat tikai atsaucoties uz vienu konkrētu lietu. 891 00:41:41,990 --> 00:41:46,270 Tātad šajā gadījumā šeit, ar mūsu h1 šeit, CS 50 pārskatīšana sesija, 892 00:41:46,270 --> 00:41:47,810 mums ir id titulu. 893 00:41:47,810 --> 00:41:54,280 Tātad, lai tikai atsaukties uz ka gabals mūsu HTML, mēs hash titulu. 894 00:41:54,280 --> 00:41:58,080 Tikai pēc vienošanās, ID ir izraudzītas ar hash priekšā no tiem. 895 00:41:58,080 --> 00:42:01,650 Tādā pašā veidā, mēs redzēt informācijas šeit ir klase. 896 00:42:01,650 --> 00:42:06,070 Un tā klase ar CSS izraudzīta kā dot klasi 897 00:42:06,070 --> 00:42:08,895 vai dot neatkarīgi, ka klase ir. 898 00:42:08,895 --> 00:42:10,850 Tātad šajā gadījumā šeit, tas ir info. 899 00:42:10,850 --> 00:42:13,090 >> Tāpēc es ņemt to atpakaļ. 900 00:42:13,090 --> 00:42:16,200 Abi tie būtu rozā mūsu CSS šeit 901 00:42:16,200 --> 00:42:18,430 jo tie abi ir klasi info. 902 00:42:18,430 --> 00:42:23,070 Un mūsu CSS failu, mums ir noteikušas ka kaut kas ar klasi info 903 00:42:23,070 --> 00:42:24,120 ir rozā. 904 00:42:24,120 --> 00:42:25,968 Vai tas ir jēga? 905 00:42:25,968 --> 00:42:27,435 Jā? 906 00:42:27,435 --> 00:42:30,731 >> Mērķauditorija: Ja tu būtu, lai padarītu viss ķermeņa balta, 907 00:42:30,731 --> 00:42:32,814 un tad jūs mēģināt veikt kaut tā iekšpusē zila, 908 00:42:32,814 --> 00:42:34,770 tas var radīt problēmas? 909 00:42:34,770 --> 00:42:37,310 >> HANNAH: Tātad CSS ir kaskādes stila lapas. 910 00:42:37,310 --> 00:42:40,730 Tātad, kāds ir pret apakšā būs priekšroka. 911 00:42:40,730 --> 00:42:44,080 Tātad, ja jūs kaut ko darīt ar ķermeni, un tu darīsi visu balts, 912 00:42:44,080 --> 00:42:49,300 un tad vēlāk jūs mainīt nosaukumu vai jūs mainīt tekstu laikā organismā, 913 00:42:49,300 --> 00:42:50,560 tas pārraksta to. 914 00:42:50,560 --> 00:42:55,360 Tātad kaut kas pret apakšā būs priekšroka. 915 00:42:55,360 --> 00:42:56,730 Jā? 916 00:42:56,730 --> 00:42:59,627 >> Mērķauditorija: Un ID ir unikāli, bet nodarbības var būt? 917 00:42:59,627 --> 00:43:00,210 HANNAH: Right. 918 00:43:00,210 --> 00:43:06,320 Tātad ID ir unikāls, un klases var atsaukties uz tik daudz lietas, kā jūs vēlaties. 919 00:43:06,320 --> 00:43:07,580 Jebkādi citi jautājumi? 920 00:43:07,580 --> 00:43:09,800 Jā. 921 00:43:09,800 --> 00:43:11,210 >> Mērķauditorija: [dzirdams]. 922 00:43:11,210 --> 00:43:13,509 Es esmu jautājums, vai kas padara starpību. 923 00:43:13,509 --> 00:43:15,217 HANNAH: Es atvainojos, kāds bija jautājums? 924 00:43:15,217 --> 00:43:18,960 Mērķauditorija: Tur ir mazs "F" un kapitāls "F." 925 00:43:18,960 --> 00:43:21,440 HANNAH: Tātad starpība starp mazo "f" un kapitāls "F" 926 00:43:21,440 --> 00:43:22,606 nevajadzētu kaut ko mainīt. 927 00:43:22,606 --> 00:43:26,330 So "f" būs 15, vai nu veidā. 928 00:43:26,330 --> 00:43:28,130 Atdzesē, kaut kas cits? 929 00:43:28,130 --> 00:43:29,930 Ikvienam labs, CSS? 930 00:43:29,930 --> 00:43:30,850 Jā? 931 00:43:30,850 --> 00:43:31,790 >> AUDITORIJA: Sorry. 932 00:43:31,790 --> 00:43:35,550 Var jums ir klasi un ID? 933 00:43:35,550 --> 00:43:38,030 >> HANNAH: Jā, tas ir iespējams. 934 00:43:38,030 --> 00:43:40,420 Lietas var būt gan klases un ID. 935 00:43:40,420 --> 00:43:44,670 Un es ļoti ieteiktu testēšana tie par savu. 936 00:43:44,670 --> 00:43:50,480 CSS jūs uzzināsiet vislabāk vienkārši izdarot kaut kas, ļoti vienkāršs mājas lapa, 937 00:43:50,480 --> 00:43:53,440 Sastādot dažas CSS, un tikai redzēt, kā tie mijiedarbojas. 938 00:43:53,440 --> 00:43:56,970 Un jūs iegūsiet ļoti labs, intuitīva sajūta par to, kā tā darbojas. 939 00:43:56,970 --> 00:43:58,810 >> OK, visi labi ar CSS? 940 00:43:58,810 --> 00:44:01,280 Jūs visi gatavojas darīt skaistas mājas lapas ar CSS tagad. 941 00:44:01,280 --> 00:44:05,460 OK, labākā prakse, tāpat lietas, kas jāpatur prātā, lietas, 942 00:44:05,460 --> 00:44:09,810 that-- tas ir iemesls, kāpēc mēs doks jūs par dizaineru un plauktiņš. 943 00:44:09,810 --> 00:44:11,820 Tātad, aizveriet visus HTML tagus. 944 00:44:11,820 --> 00:44:14,840 Tātad, ja jums ir atvērta ķermeni, ir jābūt tuvu ķermeņa. 945 00:44:14,840 --> 00:44:18,180 Ja jums ir atvērta punktu, ir jābūt tuvu punktu. 946 00:44:18,180 --> 00:44:19,555 Pārbaudiet, lai redzētu jūsu lapas apstiprina. 947 00:44:19,555 --> 00:44:23,330 Jūs puiši ir ļoti pazīstams ar šo no p-set septiņas 948 00:44:23,330 --> 00:44:26,350 ar CS 50 finansēm ar W3 validators. 949 00:44:26,350 --> 00:44:28,340 Un, kā jau teicu iepriekš, viens no mūsu lielajiem paradigmu 950 00:44:28,340 --> 00:44:33,780 tiek atdalot savu stilu ar CSS no atzīmes, kas ir HTML. 951 00:44:33,780 --> 00:44:36,900 Un tad, protams, mums ir šis lielais xkcd leju šeit. 952 00:44:36,900 --> 00:44:38,280 Yay, komikss atvieglojums! 953 00:44:38,280 --> 00:44:41,340 >> OK, TCP / IP. 954 00:44:41,340 --> 00:44:44,650 Starp šiem un HTTP, būtībā viņi abi protokolus. 955 00:44:44,650 --> 00:44:46,810 Tātad, jūs varētu vienkārši domāju no tiem kā noteikumu kopumu 956 00:44:46,810 --> 00:44:50,110 kas nosaka to, kā lietas pārvietoties visā internetā. 957 00:44:50,110 --> 00:44:53,410 Tātad pārraides vadības protokols, vai interneta protokols, 958 00:44:53,410 --> 00:44:57,280 ir tikai veids, kā pārliecināties ka dati izpaužas, ja tas notiek, 959 00:44:57,280 --> 00:45:00,030 un, ka mēs zinām, ja mēs esam kādreiz trūkstošos datus. 960 00:45:00,030 --> 00:45:03,520 Tātad, ja jūs guys domāju, ka atpakaļ uz lekciju pāris nedēļas atpakaļ ar Dāvidu 961 00:45:03,520 --> 00:45:06,980 kur mums bija četri aploksnes, viņi visi bija numurēti kā viens no četriem, 962 00:45:06,980 --> 00:45:11,300 divi no četriem, trīs no četriem, četri no četri, tas ir tikai noteikumu kopums. 963 00:45:11,300 --> 00:45:13,830 Mēs teicām, OK, kad mēs esam nosūtot vairāk nekā vienu paketi, 964 00:45:13,830 --> 00:45:16,610 mēs gatavojamies uz numuru tas ar to skaits ir 965 00:45:16,610 --> 00:45:19,040 un cik daudz kopā, ka lietotājs vajadzētu saņemt. 966 00:45:19,040 --> 00:45:22,540 >> Un tas ir tikai stāsta kurš saņem datus, vai tie 967 00:45:22,540 --> 00:45:26,120 gotten visu vai ja kaut kas pazuda pa ceļam. 968 00:45:26,120 --> 00:45:28,840 Un viņiem ir nepieciešams lūgt to vēlreiz. 969 00:45:28,840 --> 00:45:31,140 Tas ir tiešām tikai noteikumu kopums. 970 00:45:31,140 --> 00:45:33,650 Tas ir, kā jūs varat domāt par to, OK? 971 00:45:33,650 --> 00:45:37,700 Un arī tajā ir norādīts, ostu, kas Jūs guys can-- es zinu lekciju laikā, 972 00:45:37,700 --> 00:45:39,170 viņi bija visu ostu sarakstu. 973 00:45:39,170 --> 00:45:41,630 Bet mums nav viņiem šeit tieši tagad. 974 00:45:41,630 --> 00:45:45,290 >> Tātad hiperteksta pārsūtīšanas protokols ir, atkal, tā ir cita protokols. 975 00:45:45,290 --> 00:45:48,630 Tātad, tas ir vēl viens noteikumu kopums kas reglamentē, šajā gadījumā, 976 00:45:48,630 --> 00:45:51,130 kā hiperteksta tiek nodota. 977 00:45:51,130 --> 00:45:54,340 Tātad, tas vienkārši ļauj pārlūkiem runāt ar tīmekļa serveriem. 978 00:45:54,340 --> 00:45:56,910 Un kā mēs šeit teica, tas ir tāpat kā cilvēka handshaking. 979 00:45:56,910 --> 00:46:00,480 Tas ir tikai veids, kā regulēt kā web serveris ir 980 00:46:00,480 --> 00:46:02,690 dodas uz mijiedarboties ar savu pārlūkprogrammu. 981 00:46:02,690 --> 00:46:05,660 Un mums ir tikai pāris piemēri. 982 00:46:05,660 --> 00:46:09,100 Mums ir daži lūgumi šeit kur GET ir metode. 983 00:46:09,100 --> 00:46:13,760 Mums ir HTTP 1.1, kas ir protokola versija mums. 984 00:46:13,760 --> 00:46:17,230 Un tad, uzņēmēja, kas ir tas, ko mēs faktiski cenšas piekļūt. 985 00:46:17,230 --> 00:46:21,800 Un tad, kā jūs redzēt šeit, mēs dabūt atbildi ar šo 200 986 00:46:21,800 --> 00:46:25,032 OK, kā mūsu HTTP atbildes kodu. 987 00:46:25,032 --> 00:46:27,240 Mums ir liels saraksts es esmu, uzvilkt vienā sekundē 988 00:46:27,240 --> 00:46:29,430 ka jūs guys ir jāpārzina. 989 00:46:29,430 --> 00:46:35,750 Un mums ir šī satura tipa tekstu / HTML, kas vienkārši saka, kāda veida dati 990 00:46:35,750 --> 00:46:39,990 mēs saņem no servera, OK? 991 00:46:39,990 --> 00:46:44,230 Šī uzņēmēja un šī satura tipa ir daļa no HTTP galvenes. 992 00:46:44,230 --> 00:46:49,610 Jums var būt tik maz vai tik maz, kā nepieciešamas saistībā ar to, ko 993 00:46:49,610 --> 00:46:50,580 jums ir darīšana ar. 994 00:46:50,580 --> 00:46:53,371 Dažreiz jums ir daudz informāciju, kas nāk no jūsu servera. 995 00:46:53,371 --> 00:46:56,040 Varbūt viņi pieprasa daudz informāciju no lietotāja. 996 00:46:56,040 --> 00:46:57,600 Tā mainās atkarībā no konteksta. 997 00:46:57,600 --> 00:47:01,144 Ja paskatās CS 50 studiju, tur ir daudz vairāk par to. 998 00:47:01,144 --> 00:47:03,060 Bet mums ir daudz, lai saņemtu cauri, tāpēc es esmu gatavojas 999 00:47:03,060 --> 00:47:05,760 iet pa labi uz priekšu, ja tas ir OK ar jums, puiši? 1000 00:47:05,760 --> 00:47:07,960 Cool. 1001 00:47:07,960 --> 00:47:08,460 Turiet par. 1002 00:47:08,460 --> 00:47:11,182 Man noteikti ir, ka viss saraksts of-- huh! 1003 00:47:11,182 --> 00:47:13,140 Es nezinu, kāpēc tas ir visu ceļu pār šeit. 1004 00:47:13,140 --> 00:47:15,660 Es domāju, ka es burtiski pārvietots to, bet es biju sitting-- 1005 00:47:15,660 --> 00:47:16,540 >> Davin: Vai jūs vēlaties, lai mācītu to? 1006 00:47:16,540 --> 00:47:17,420 Vai tu gribi mācīt? 1007 00:47:17,420 --> 00:47:20,010 >> Mērķauditorija: Es domāju, ka mēs varētu vienkārši parādīt viņiem, lai sāktu ar. 1008 00:47:20,010 --> 00:47:22,210 Es domāju, jūs varat doties uz tos tālāk, bet es 1009 00:47:22,210 --> 00:47:26,030 domāju, ka tā ir veikusi daudz nozīmē, jo I bija tikai runā par HTTP statusiem. 1010 00:47:26,030 --> 00:47:28,200 Tātad, šeit ir viss saraksts. 1011 00:47:28,200 --> 00:47:31,730 Es domāju, kas notiek varētu notikt, ir Davin gatavojas iedziļināties tiem vēlāk. 1012 00:47:31,730 --> 00:47:35,330 Bet tur ir viss saraksts, preview garšas nākt. 1013 00:47:35,330 --> 00:47:41,640 Labi, mēs ejam, lai blow-- tas notiek būt PHP crash protams, kā neviens cits. 1014 00:47:41,640 --> 00:47:44,874 >> Tātad PHP, hiperteksta apstrādātāju, tas ir rekursīvs backronym, 1015 00:47:44,874 --> 00:47:46,540 kas nozīmē, ka tas tika nosaukts kaut kas cits. 1016 00:47:46,540 --> 00:47:49,050 Un tad tie ir līdzīgi, šis nav īsti jēgas. 1017 00:47:49,050 --> 00:47:52,210 Tāpēc viņi vienkārši nosaukts it-- un tas bija akronīms, 1018 00:47:52,210 --> 00:47:54,840 tāpēc viņi vienkārši padarīja PHP hiperteksta apstrādātāju, kas 1019 00:47:54,840 --> 00:47:55,980 vienkārši nav jēgas. 1020 00:47:55,980 --> 00:47:57,714 Fun stāsts. 1021 00:47:57,714 --> 00:47:58,880 Tas ir programmēšanas valoda. 1022 00:47:58,880 --> 00:48:02,360 Tik cik es uzsveru, ka HTML nav programmēšanas valoda, 1023 00:48:02,360 --> 00:48:05,350 tā ir iezīmēšanas valoda, PHP ir programmēšanas valoda. 1024 00:48:05,350 --> 00:48:07,422 Kā jūs zināt, tas ir jo tur ir loģika. 1025 00:48:07,422 --> 00:48:08,380 Ir conditionals. 1026 00:48:08,380 --> 00:48:12,750 Mums ir mainīgie, bet mēs ir neviens no tām lietām, HTML. 1027 00:48:12,750 --> 00:48:16,960 >> Labi, tad mums ir šis mazais mazliet šeit, ka ir kā garšu PHP. 1028 00:48:16,960 --> 00:48:20,510 Tātad pamati, mainīgo nosaukumi sākas ar dolāra zīmi. 1029 00:48:20,510 --> 00:48:21,500 Daudz cilvēku patīk. 1030 00:48:21,500 --> 00:48:22,371 Atgādina mums naudu. 1031 00:48:22,371 --> 00:48:22,995 Tas viss ir lieliski. 1032 00:48:22,995 --> 00:48:25,280 Mēs visi vēlamies PHP. 1033 00:48:25,280 --> 00:48:28,020 Tātad mums nav norādīt mainīgā tips vairs. 1034 00:48:28,020 --> 00:48:29,995 To nosaka pie palaist laikā. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 Tulks būs tāpat, ak, mēs vienkārši palaist cauri, 1037 00:48:35,890 --> 00:48:39,565 un atbilstoši kontekstam, Redzēsim, ko veidu veidu 1038 00:48:39,565 --> 00:48:41,560 šie rādītāji ir nepieciešama. 1039 00:48:41,560 --> 00:48:42,815 Nav galvenā funkcija. 1040 00:48:42,815 --> 00:48:43,690 Lietas vienkārši palaist. 1041 00:48:43,690 --> 00:48:47,851 Jūs guys ar savu importa jūsu pēdējā p-komplekts, jūs pamanīsiet šo. 1042 00:48:47,851 --> 00:48:49,350 Tur nebija īsti galvenā funkcija. 1043 00:48:49,350 --> 00:48:52,070 Jūs tikko rakstīja, ko jūs vēlētos, lai notikt. 1044 00:48:52,070 --> 00:48:53,280 Un tas tikai veida noticis. 1045 00:48:53,280 --> 00:48:56,760 Tātad tas ir PHP jums. 1046 00:48:56,760 --> 00:48:59,180 >> Bloki ir ļoti līdzīgi. 1047 00:48:59,180 --> 00:49:01,270 Mums joprojām ir šī kronšteinu. 1048 00:49:01,270 --> 00:49:05,940 Šeit mums ir dažas mainīgais sauc arr, un tas ir vienāds 1049 00:49:05,940 --> 00:49:08,540 kuri paredzēti, lai mums ir mūsu normāls kronšteins notācija. 1050 00:49:08,540 --> 00:49:10,630 Un mums ir dažas atslēgas vērtību. 1051 00:49:10,630 --> 00:49:14,630 Un liela atšķirība starp C un PHP bloki 1052 00:49:14,630 --> 00:49:19,330 ir tā, ka mēs varam būt šo associate-- mēs varam saistīt vērtības taustiņiem. 1053 00:49:19,330 --> 00:49:22,440 Tātad, nevis tikai ar masīvs, kas tiek indeksēti 1054 00:49:22,440 --> 00:49:26,630 skaitu vai stāvokli, šā elementa masīvā, 1055 00:49:26,630 --> 00:49:29,060 mēs faktiski var saistīt to ar atslēgu. 1056 00:49:29,060 --> 00:49:36,700 Kur mēs varam teikt, OK, es gribu neatkarīgi vērtība ir saistīta ar augļiem. 1057 00:49:36,700 --> 00:49:39,280 Un varbūt mums ir augļi devāmies uz banānu. 1058 00:49:39,280 --> 00:49:41,760 Tātad tas lūdzu atgriezties banānu pie mums. 1059 00:49:41,760 --> 00:49:44,100 >> Bet būtībā, visvairāk spēcīgs lieta par šo 1060 00:49:44,100 --> 00:49:47,960 ir tā, ka, ja jūs guys atcerēties demo no lekciju, kur mēs būtībā 1061 00:49:47,960 --> 00:49:53,050 pārrakstīja Pareizrakstības PHP, un tas was-- lookup bija tiešām tikai patīk, 1062 00:49:53,050 --> 00:49:55,007 tas galvenais pastāv? 1063 00:49:55,007 --> 00:49:56,590 Tas ir tiešām veida spēku tā. 1064 00:49:56,590 --> 00:49:58,560 Jums nav nepieciešams atkārtot caur jūsu masīvs. 1065 00:49:58,560 --> 00:50:00,311 Jums nav nepieciešams zināt kāda telpa tas ir. 1066 00:50:00,311 --> 00:50:01,976 Tā varētu būt beigās vai sākumā. 1067 00:50:01,976 --> 00:50:04,790 Tik ilgi, kamēr jūs zināt atslēgu kas ir saistīta ar vērtību, 1068 00:50:04,790 --> 00:50:09,740 PHP var tikai spļaut šo vērtību labi atpakaļ, pie jums, OK? 1069 00:50:09,740 --> 00:50:12,960 >> Un tad mēs arī tikko ir tikai tāpēc, ka mēs 1070 00:50:12,960 --> 00:50:16,750 var būt atslēgas vērtību pārus nenozīmē, ka jums ir. 1071 00:50:16,750 --> 00:50:19,180 Jūs varat arī vienkārši izveidot normāls masīvs, piemēram, šeit, 1072 00:50:19,180 --> 00:50:21,540 apakšā, kur tas ir tikai viens, divi, trīs, četri. 1073 00:50:21,540 --> 00:50:22,510 Tie ir mūsu vērtības. 1074 00:50:22,510 --> 00:50:25,320 Un patiesībā, to atslēgas ir indeksi. 1075 00:50:25,320 --> 00:50:26,830 Tātad galvenais vienam būtu nulle. 1076 00:50:26,830 --> 00:50:28,610 Divatā Galvenais būtu viens. 1077 00:50:28,610 --> 00:50:31,910 Tā tālāk un tā tālāk, ja vien tu skaidri piešķirt atslēgu, 1078 00:50:31,910 --> 00:50:34,630 jūs varētu pieņemt, ka vērtība ir tikai viņu indekss. 1079 00:50:34,630 --> 00:50:37,290 Vai tas ir jēga visiem? 1080 00:50:37,290 --> 00:50:38,070 Nav jautājumi? 1081 00:50:38,070 --> 00:50:38,930 Awesome. 1082 00:50:38,930 --> 00:50:44,420 >> OK, foreach ir veids, kā atkārtot, izmantojot jūsu bloki. 1083 00:50:44,420 --> 00:50:47,490 Tāpēc mums ir kaut ko šeit, tikai vispārējā struktūra. 1084 00:50:47,490 --> 00:50:51,020 Tātad foreach, nosaukums mūsu masīvs, kā neatkarīgi 1085 00:50:51,020 --> 00:50:53,930 vēlaties zvanīt viens elements jūsu masīvs, 1086 00:50:53,930 --> 00:50:57,270 un mēs varam kaut ko darīt ar šis elements vai ar šo vērtību. 1087 00:50:57,270 --> 00:50:58,680 Tāpēc mums ir piemērs šeit. 1088 00:50:58,680 --> 00:51:05,770 Mums ir asociatīvās masīvs ar šiem diviem ierakstiem 1089 00:51:05,770 --> 00:51:10,080 ar bāra kas ir saistītas ar foo un qux ir saistīti ar Baz. 1090 00:51:10,080 --> 00:51:12,180 Tātad taustiņi ir foo un baz. 1091 00:51:12,180 --> 00:51:13,650 Vērtības ir bārs un qux. 1092 00:51:13,650 --> 00:51:18,560 Tātad foreach, mums ir mūsu masīvs Šeit, kā galveno vērtību pāri. 1093 00:51:18,560 --> 00:51:21,560 Tas ļauj mums piekļūt gan atslēgas un cenas. 1094 00:51:21,560 --> 00:51:23,680 Varbūt jūs vienkārši vēlaties vērtība, un šajā gadījumā 1095 00:51:23,680 --> 00:51:27,640 jūs varētu vienkārši patīk arr kā $ vērtību, un tad jūs 1096 00:51:27,640 --> 00:51:30,640 ir tikai piekļūt vērtību kā jūs atkārtot, izmantojot. 1097 00:51:30,640 --> 00:51:32,600 Bet varbūt, daži Iemesls, jūs vēlaties, atslēgu, 1098 00:51:32,600 --> 00:51:35,460 kas ir iemesls, kāpēc es izvēlējos šis piemērs vietā. 1099 00:51:35,460 --> 00:51:40,240 Tātad jūs faktiski var manipulēt atslēga un vērtība šajā gadījumā. 1100 00:51:40,240 --> 00:51:41,070 OK? 1101 00:51:41,070 --> 00:51:41,905 Jautājums? 1102 00:51:41,905 --> 00:51:44,279 >> Mērķauditorija: Ja jūs vēlētos, lai vienkārši manipulēt atslēgu, būtu 1103 00:51:44,279 --> 00:51:45,910 Jums ir jādara foreach-- 1104 00:51:45,910 --> 00:51:47,360 >> ALISON: Right. 1105 00:51:47,360 --> 00:51:50,560 Tātad, ja jūs vēlētos manipulēt tikai atslēgu, 1106 00:51:50,560 --> 00:51:53,680 Jums joprojām būs nepieciešama šī sintakse jo, ja jūs vienkārši 1107 00:51:53,680 --> 00:51:56,930 ir arr kā kaut ko, kā viena lieta, tas ir 1108 00:51:56,930 --> 00:52:00,070 gatavojas pieņemt vēlaties vērtība, nav galvenais. 1109 00:52:00,070 --> 00:52:06,780 Tātad, ja jums kādreiz vienkārši ir, tāpat kā arr kā, varbūt tas ir kā $ elements, 1110 00:52:06,780 --> 00:52:11,670 tas gatavojas pieņemt, ka jūs esat jautā lai tikai to vērtību katru punktu. 1111 00:52:11,670 --> 00:52:13,879 Ja jūs skaidri vēlaties kaut ko darīt ar atslēgu, 1112 00:52:13,879 --> 00:52:16,170 pat ja jūs neesat gatavojas darīt kaut ko ar vērtību, 1113 00:52:16,170 --> 00:52:18,430 jums ir nepieciešams šo struktūru ka mēs esam šeit 1114 00:52:18,430 --> 00:52:22,330 kur jūs skaidri jautā gan atslēgu un vērtību. 1115 00:52:22,330 --> 00:52:24,170 Liels jautājums. 1116 00:52:24,170 --> 00:52:25,940 Kaut kas cits? 1117 00:52:25,940 --> 00:52:27,490 Cool. 1118 00:52:27,490 --> 00:52:29,911 >> Visas tiesības, PHP un HTML. 1119 00:52:29,911 --> 00:52:31,410 Ak, mēs esam atpakaļ pie p iestatīt septiņi no jauna. 1120 00:52:31,410 --> 00:52:35,380 Tāpēc šim vajadzētu izskatīties mazliet pazīstami. 1121 00:52:35,380 --> 00:52:41,760 Tātad šis ir daži vienkārši HTML forma ka ir dažas ieejas vārdu Sveiki. 1122 00:52:41,760 --> 00:52:43,820 Un mēs redzam, mums ir mūsu metodi GET. 1123 00:52:43,820 --> 00:52:47,430 Un, ja mēs atceramies no mūsu p-kopumu, ja ir iesniegts šo veidlapu, 1124 00:52:47,430 --> 00:52:58,130 tā nosūta masīvu sauc $ _GET, kas ir visi no šiem resursiem vai mainīgajiem no 1125 00:52:58,130 --> 00:53:00,490 forma, kas būtu manipulēt mūsu PHP. 1126 00:53:00,490 --> 00:53:03,320 Tātad šajā gadījumā, lietotājs liktu uz viņu vārda. 1127 00:53:03,320 --> 00:53:04,370 Viņi iesniedz to. 1128 00:53:04,370 --> 00:53:07,810 Un mēs redzam, ka mēs kādu masīvs šeit. 1129 00:53:07,810 --> 00:53:09,080 Mums ir mūsu GET masīvs. 1130 00:53:09,080 --> 00:53:11,510 Un mēs piekļūstam nosaukumu. 1131 00:53:11,510 --> 00:53:15,070 >> Tātad, kas saka, OK, dod man vērtība, kas ir saistīts ar vārdu, 1132 00:53:15,070 --> 00:53:16,550 nosaukt ir galvenais šeit. 1133 00:53:16,550 --> 00:53:21,400 Un tas kartes tieši to, ko mēs teicām mūsu ieguldījums vārds ir. 1134 00:53:21,400 --> 00:53:28,960 Tātad tas bija, kas jums ir atslēga uz to, kas būs jūsu masīvs šeit. 1135 00:53:28,960 --> 00:53:31,220 Vai tas ir jēga visiem? 1136 00:53:31,220 --> 00:53:32,070 Jā? 1137 00:53:32,070 --> 00:53:36,240 >> Mērķauditorija: Vai nosaukums GET atsaukties ar violetu līniju [dzirdams]? 1138 00:53:36,240 --> 00:53:37,740 >> ALISON: Tas attiecas uz šo šeit. 1139 00:53:37,740 --> 00:53:43,840 Tātad šis lauks tieši šeit, tas attiecas uz šo vārdu šeit. 1140 00:53:43,840 --> 00:53:47,800 Tā tas varētu būt nosaukts piemēram, tālruņa numuru, vai neatkarīgi. 1141 00:53:47,800 --> 00:53:51,790 Šis nosaukums patiesībā saka, ko Jūs zvanāt šajā jomā? 1142 00:53:51,790 --> 00:53:53,600 Kā jūs plānojat atsaukties uz šajā jomā? 1143 00:53:53,600 --> 00:53:57,670 Un šis vārds ir patiešām patīk, mēs esam sakot, šo lauku sauc vārdu. 1144 00:53:57,670 --> 00:53:59,224 Tas, kā mēs ejam, lai piekļūtu. 1145 00:53:59,224 --> 00:54:02,070 >> Mērķauditorija: Tātad tas patīk, ieejas vārds vienāds Bob, and-- 1146 00:54:02,070 --> 00:54:04,380 >> ALISON: labi, tad jūs dabūs Bobs tur lejā. 1147 00:54:04,380 --> 00:54:06,090 Tieši tā. 1148 00:54:06,090 --> 00:54:07,800 Ikvienam cool? 1149 00:54:07,800 --> 00:54:10,990 Labi, tāpēc GET pret POST, šie ir divi galvenie veidi 1150 00:54:10,990 --> 00:54:14,880 ka mums iet datus HTTP pieprasījumu. 1151 00:54:14,880 --> 00:54:17,370 Jums puiši būtu redzējis abi šie cerams. 1152 00:54:17,370 --> 00:54:20,940 Tātad ar GET, informāciju tiek nodots caur URL. 1153 00:54:20,940 --> 00:54:23,490 Tātad, ja jūs kādreiz darīt Google meklēšanu, YouTube, jūs 1154 00:54:23,490 --> 00:54:25,130 Iespējams pamani kādu jautājuma zīmi. 1155 00:54:25,130 --> 00:54:28,230 Un tad, visi vārdi ka jūs vienkārši ielieciet tur. 1156 00:54:28,230 --> 00:54:31,410 Un POST nodod datus HTTP ziņojuma pamattekstā. 1157 00:54:31,410 --> 00:54:36,922 Tātad atšķirībā GET, jūs veida apsvērt ka dati tiek slēpts no lietotāja. 1158 00:54:36,922 --> 00:54:38,630 Bet to, kas ir patiešām svarīgi saprast 1159 00:54:38,630 --> 00:54:44,040 ir tā, ka tas joprojām ir tikpat nedrošs kā GET. 1160 00:54:44,040 --> 00:54:48,780 Analoģija Man patīk izmantot, ir, ja Jums ir jūsu bankas konta numuru 1161 00:54:48,780 --> 00:54:52,795 un jūs rakstīt to uz ārpusi aploksnē, tas ir diezgan nedroša. 1162 00:54:52,795 --> 00:54:55,920 Ja tu būtu rakstīt par kādu papīrs un ielieciet to iekšpusē aploksnē, 1163 00:54:55,920 --> 00:54:58,850 tas joprojām ir ļoti nedrošs, jo viss, kas jums jādara, ir atvērt, ka līdz 1164 00:54:58,850 --> 00:55:03,480 un apskatīt patieso saturu par ziņu, lai redzētu, kas. 1165 00:55:03,480 --> 00:55:08,310 Tātad šis ir "apslēpti", un cilvēkiem patīk, lai domāju, ka tas ir droši, bet tas tiešām nav. 1166 00:55:08,310 --> 00:55:11,000 Un es esmu pārliecināts, ka Davin būs nokļūt, ka vairāk, varbūt. 1167 00:55:11,000 --> 00:55:12,850 Bet tas ir svarīgi atšķirība padarīt 1168 00:55:12,850 --> 00:55:15,820 un kaut kas patiešām labs, lai saprastu. 1169 00:55:15,820 --> 00:55:19,220 >> OK, SQL, Structured Query Language. 1170 00:55:19,220 --> 00:55:22,220 Visi sīkumi, kas mēs esam redzējuši tik nesen! 1171 00:55:22,220 --> 00:55:25,400 Tātad, tas ir būtībā tikai paredzēts, protams, lai pārvaldītu datus. 1172 00:55:25,400 --> 00:55:30,560 Jūs puiši bija daudz pieredzes ar šo jūsu tabulas ar PHP MyAdmin. 1173 00:55:30,560 --> 00:55:34,100 Un tur ir četras kopīgas vaicājumi ka mēs vēlamies, lai jūs guys zināt. 1174 00:55:34,100 --> 00:55:37,304 Tātad tur ir update, ievietot, atlasīt un dzēst. 1175 00:55:37,304 --> 00:55:38,970 Tāpēc pārliecinieties, ka jūs zināt, tie patiešām labi. 1176 00:55:38,970 --> 00:55:40,960 Mēs ejam, lai dotos caur tiem ļoti ātri. 1177 00:55:40,960 --> 00:55:44,340 >> Tātad atjaunināt, patiešām, kā to, ko Jūs varētu domāt, ka tas, 1178 00:55:44,340 --> 00:55:46,740 tas tikai aktualizē datus savā datu bāzē. 1179 00:55:46,740 --> 00:55:48,750 Tāpēc mums ir kādu piemēru šeit. 1180 00:55:48,750 --> 00:55:53,310 Tas ir vispārējā struktūra atjaunināšanas vaicājumu. 1181 00:55:53,310 --> 00:55:56,150 Tātad mēs atjauninātu tabulu ka mēs runājam par. 1182 00:55:56,150 --> 00:56:00,520 Un mēs gribam noteikt konkrētus vērtības, dažas kolonnas 1183 00:56:00,520 --> 00:56:02,600 vienāds ar konkrētām vērtībām. 1184 00:56:02,600 --> 00:56:07,500 Tātad tas tikai atjaunina galda, mainot vērtībām visās rindās šajā lietā. 1185 00:56:07,500 --> 00:56:13,690 Tātad šo vienu šeit lejā, faktiskais Piemēram, mums ir insert-- sorry. 1186 00:56:13,690 --> 00:56:17,630 Ka slide uzlabotas bez manis neapzinoties to. 1187 00:56:17,630 --> 00:56:22,230 >> Tātad tas atjauninājumi Tabulu col1 vienāds līdz VAL1 kur māju vienāds "CURRIER." 1188 00:56:22,230 --> 00:56:25,300 Ko tas viens tas ir tas tikai maina, tā tikai 1189 00:56:25,300 --> 00:56:28,130 atjaunina šīs vērtības konkrētās vietās. 1190 00:56:28,130 --> 00:56:32,300 Tātad šajā pirmā, tā izmaiņas, tās vērtības viss jūsu galda, 1191 00:56:32,300 --> 00:56:32,860 OK? 1192 00:56:32,860 --> 00:56:35,820 Tas notiek, lai mainītu šo kolonna par katru ierakstu, 1193 00:56:35,820 --> 00:56:37,020 par katru vienā rindā. 1194 00:56:37,020 --> 00:56:40,840 Bet tas, kur, jūs varētu domā par to kā kvalifikatoru. 1195 00:56:40,840 --> 00:56:44,020 Tātad tas ir tikai gatavojas mainīt tas ļoti īpašos vietās. 1196 00:56:44,020 --> 00:56:47,840 Tātad p-noteikti septiņi, kad jums varbūt aktualizēja naudas summu 1197 00:56:47,840 --> 00:56:53,050 ka jūsu lietotāja bija, jūs, iespējams, bija daži, kur ID vienāds sesijas ID, vai ne? 1198 00:56:53,050 --> 00:56:55,280 >> Tāpēc, ka jūs nevēlaties, lai izmainīt naudas summu 1199 00:56:55,280 --> 00:56:57,630 par katru personu, kas bija, izmantojot jūsu mājas lapā. 1200 00:56:57,630 --> 00:57:00,480 Tu gribēji, lai mainītu to uz vienu konkrētā persona, šī persona ir 1201 00:57:00,480 --> 00:57:02,410 kurš bija izmantojot to tajā laikā. 1202 00:57:02,410 --> 00:57:04,320 Taisnība? 1203 00:57:04,320 --> 00:57:07,510 Labi, lai ievietotu, ievietot noteiktas vērtības uz galdiem. 1204 00:57:07,510 --> 00:57:11,650 Tas ir tāpat kā tad, kad tu esi radot jaunu lietotāju. 1205 00:57:11,650 --> 00:57:14,240 Vispārējā struktūra šeit ir ievietot jebkurā tabulā 1206 00:57:14,240 --> 00:57:15,680 mēs runājam par. 1207 00:57:15,680 --> 00:57:18,910 Vērtības, kas ir vērtības, kas mēs tiešām gribam, lai ievietotu. 1208 00:57:18,910 --> 00:57:23,060 Labi, tā kā mēs redzam šeit, mēs ir ievietot tabulā. 1209 00:57:23,060 --> 00:57:27,790 Tas ir īpašas kolonnas ar to atbilda vērtības. 1210 00:57:27,790 --> 00:57:29,940 Tātad šis saka, ievietot jauna rinda, kas satur 1211 00:57:29,940 --> 00:57:33,660 vērtības VAL1 un val2 saskaņā šie īpašie kolonnas. 1212 00:57:33,660 --> 00:57:39,240 >> Tātad, varbūt jūs tikai vēlaties aizpildīt ārā puse no lietām šajā rindā. 1213 00:57:39,240 --> 00:57:41,150 Tas ir tas, ko šī daļa šeit ļauj jums darīt. 1214 00:57:41,150 --> 00:57:43,280 Tas ļauj jums tiešām noteikt, kura daļa. 1215 00:57:43,280 --> 00:57:44,244 Jā? 1216 00:57:44,244 --> 00:57:52,150 >> Mērķauditorija: Vai jums ir tikai [nedzirdama] šūnas rindā [dzirdams]? 1217 00:57:52,150 --> 00:57:55,000 >> ALISON: Ja Jums ir tikai jāaizpilda atsevišķas daļas jūsu rindas, 1218 00:57:55,000 --> 00:57:57,480 pārējā šīm šūnām ir tikai tukšas. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 Tik ilgi, kamēr jūs ļautu viņiem būt tukša, tā nav problēma. 1221 00:58:05,660 --> 00:58:09,570 Ja jūs mēģināt tiem piekļūt, tas ir gatavojas atgriezties dažas tukšas elements. 1222 00:58:09,570 --> 00:58:13,850 Bet tas ir svarīgi zināt ka atsevišķās tabulās, 1223 00:58:13,850 --> 00:58:16,690 viņi ir jāļauj būt nulle. 1224 00:58:16,690 --> 00:58:18,890 Jums var būt uzskriet Problēma laikā jūsu p-komplektu 1225 00:58:18,890 --> 00:58:21,320 jo mēs neļāva kādu no jūsu vērtības ir spēkā. 1226 00:58:21,320 --> 00:58:26,110 Bet jūs varat norādīt izvēles vērtība jūsu galda. 1227 00:58:26,110 --> 00:58:29,640 >> OK, izvēlieties, tāpēc tas ir tikai veids, kā iegūt 1228 00:58:29,640 --> 00:58:33,790 konkrēti dati no galda daži identifikators, ka jūs vēlaties. 1229 00:58:33,790 --> 00:58:37,990 Tātad izvēlieties zvaigzne no galda, kur col vienāds kaut tikai nozīmē, 1230 00:58:37,990 --> 00:58:43,820 iedodiet man visus datus, kas saistīti ja tas īpašais kolonna ir taisnība. 1231 00:58:43,820 --> 00:58:49,020 Tātad zvaigzne šajā gadījumā būs atgriezt visu rindu, lai jūs, OK? 1232 00:58:49,020 --> 00:58:54,880 >> Un tad, šajā gadījumā, izvēlieties zvaigzni no tabula tikai dod jums visu tabulu. 1233 00:58:54,880 --> 00:58:58,940 Un tad, dzēst acīmredzot, tas tikai izdzēš rindu no galda. 1234 00:58:58,940 --> 00:59:01,320 Tātad izdzēst no galda, neatkarīgi galda mēs esam 1235 00:59:01,320 --> 00:59:06,830 norādes, kur daži specifiski identifikators vai kādu nosacījums ir patiess. 1236 00:59:06,830 --> 00:59:07,720 Jā? 1237 00:59:07,720 --> 00:59:08,700 >> AUDITORIJA: Jautājums. 1238 00:59:08,700 --> 00:59:10,699 Kāpēc jūs izmantojat dubultā citātus, un vai jums 1239 00:59:10,699 --> 00:59:13,600 do pēdiņās vai viena citātus, tas kaut ko mainīt? 1240 00:59:13,600 --> 00:59:18,235 >> ALISON: pēdiņās vai vienu pēdiņām nesniedz atšķirība SQL. 1241 00:59:18,235 --> 00:59:19,610 Es domāju, ka es redzēju citu jautājumu. 1242 00:59:19,610 --> 00:59:20,814 Jā? 1243 00:59:20,814 --> 00:59:25,070 >> Mērķauditorija: Vai nav tā neietekmē to, ko izpaužas izbēguši no vaicājumu? 1244 00:59:25,070 --> 00:59:27,945 >> ALISON: Rob? 1245 00:59:27,945 --> 00:59:31,410 >> ROB: Ko jūs saprotat ar izbēguši no vaicājumu? 1246 00:59:31,410 --> 00:59:36,870 >> Mērķauditorija: Ja kāds ir vienu vaicājumu formā of-- 1247 00:59:36,870 --> 00:59:39,862 >> ROB: Ja kāds būtu likt vienu citātu, 1248 00:59:39,862 --> 00:59:43,560 tad tik ilgi, cik jūs esat dezinficēšana jūsu ieguldījums, tad tas nav svarīgi. 1249 00:59:43,560 --> 00:59:46,205 Bet, ja jūs izmantojat vienu quote un jums ir nepareizi 1250 00:59:46,205 --> 00:59:47,914 izvairījusies ievades, tad jā, tie ir 1251 00:59:47,914 --> 00:59:51,079 likt vienu citātu, lai pārtrauktu Jūsu kods. ja jūs izmantojat pēdiņas, 1252 00:59:51,079 --> 00:59:53,580 viņiem ir nepieciešams, lai dubultā citēt lauzt savu kodu. 1253 00:59:53,580 --> 00:59:56,163 Taču, kamēr jūs izvairīties lietas pareizi, tas nav svarīgi. 1254 00:59:56,163 --> 00:59:59,220 Tas ir tikai gatavojas tulkot uz pareizo simbolu vienalga. 1255 00:59:59,220 --> 01:00:02,332 >> Mērķauditorija: Ko aizbēgt nozīmē? 1256 01:00:02,332 --> 01:00:04,040 ALISON: Nu, piemēram, dezinficēšana un aizbēgt. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 Eksāmens, kas mums ir, liels xkcd komikss, ka viņi uzvilkt, kur jums ir, 1259 01:00:13,820 --> 01:00:15,629 oh-- 1260 01:00:15,629 --> 01:00:16,670 ROB: Tas ir pēdējais slaids. 1261 01:00:16,670 --> 01:00:18,500 ALISON: Tas ir pēdējais slaids, tiešām? 1262 01:00:18,500 --> 01:00:20,200 Ak mans dievs. 1263 01:00:20,200 --> 01:00:21,780 Tur mēs ejam, perfekta. 1264 01:00:21,780 --> 01:00:27,900 Labi, tāpēc būtībā, jūs varat injicēt kaut kas šajā SQL vaicājumu 1265 01:00:27,900 --> 01:00:30,560 kur tas saplīst Jūsu kods, vai kā David parādīja 1266 01:00:30,560 --> 01:00:38,460 klasē, ja mums ir daži vienots quote 1 vienāds 1, un, ja mūsu kodu, 1267 01:00:38,460 --> 01:00:41,230 mēs tikai tieši kopēt, ka, un mums ir beigu vienu citātu, 1268 01:00:41,230 --> 01:00:44,740 kas notiek, ir mēs iegūstam daži izteiksme 1269 01:00:44,740 --> 01:00:48,680 novērtē to taisnība, ka būs ļaut kādam ienākt mūsu datu bāzē 1270 01:00:48,680 --> 01:00:51,720 un saņemt datus, kas mums nevēlaties tos saņemt. 1271 01:00:51,720 --> 01:00:54,240 Tātad dezinficēšana izejvielas nozīmē tikai pārliecinoties 1272 01:00:54,240 --> 01:00:57,680 ka mums ir izkļūt šos rakstzīmes un apzīmē tos 1273 01:00:57,680 --> 01:01:01,720 kā simboliem un ne lietas ka būtu jāatļauj 1274 01:01:01,720 --> 01:01:04,990 jāuztver burtiski kā mūsu SQL. 1275 01:01:04,990 --> 01:01:09,980 >> Tik liela lieta, ka mēs teicām ka jūs guys vajadzētu izmantot 1276 01:01:09,980 --> 01:01:13,650 bija HTML speciālie simboli, kas ir kaut kas 1277 01:01:13,650 --> 01:01:15,730 ka jūs varētu vēlēties, lai to apskatīt. 1278 01:01:15,730 --> 01:01:17,240 OK, dzēst. 1279 01:01:17,240 --> 01:01:19,450 Datu tipi, tas viss būs tiešsaistē. 1280 01:01:19,450 --> 01:01:23,510 Tā kā mēs esam atstājuši 15 minūtes, es esmu tikai gatavojas iet tieši caur to. 1281 01:01:23,510 --> 01:01:28,500 PHP un SQL, būtībā tas ir tikko mums bija vaicājumu funkciju, kas 1282 01:01:28,500 --> 01:01:31,520 palīdzēja aizsargāt pret šie ļaunprātīgiem uzbrukumiem. 1283 01:01:31,520 --> 01:01:33,970 Tātad, ja jūs izmantojat vaicājumu, mēs pārliecinoties 1284 01:01:33,970 --> 01:01:36,560 ka lietas dezinficē un plauktiņš. 1285 01:01:36,560 --> 01:01:41,070 >> MVC ir tikai dizains paradigmas, tā modelis, skats, kontrolieris. 1286 01:01:41,070 --> 01:01:44,200 Tas ir tikai veids, lai saglabātu lietas jauka un sadalīt vienādi 1287 01:01:44,200 --> 01:01:47,100 ka mums ir tendence faktors ārā kods uz funkcijām. 1288 01:01:47,100 --> 01:01:53,390 Tas ir tikai web dizains sistēma kas ļauj jums darīt to pašu. 1289 01:01:53,390 --> 01:01:54,760 Es esmu gatavojas izlaist šo. 1290 01:01:54,760 --> 01:01:58,530 >> Tas ir kaut kas es Būtu super comfy ar. 1291 01:01:58,530 --> 01:02:01,132 Tas ir ļoti maz galda tur. 1292 01:02:01,132 --> 01:02:03,090 Tas dod jums funkciju piemērs modeļa. 1293 01:02:03,090 --> 01:02:05,473 Es esmu tikai gatavojas cauri tāpēc, ka I patiešām vēlaties Davin, lai varētu runāt. 1294 01:02:05,473 --> 01:02:07,140 Ja jums ir kādi jautājumi, nekautrējieties. 1295 01:02:07,140 --> 01:02:07,931 Es būšu šeit pēc. 1296 01:02:07,931 --> 01:02:10,360 Tikai nāk runāt ar mani. 1297 01:02:10,360 --> 01:02:13,380 Ar to, ka mums ir HTTP statusi. 1298 01:02:13,380 --> 01:02:16,270 Un Davin s gatavojas pūst caur to 15 minūtes. 1299 01:02:16,270 --> 01:02:17,560 Tas būs liels. 1300 01:02:17,560 --> 01:02:18,893 >> Davin: OK. 1301 01:02:18,893 --> 01:02:20,312 Uh, jūsu mic? 1302 01:02:20,312 --> 01:02:22,210 Yeah. 1303 01:02:22,210 --> 01:02:23,336 Piedodiet. 1304 01:02:23,336 --> 01:02:24,460 ALISON: Way jāsagatavo. 1305 01:02:24,460 --> 01:02:25,335 Davin: Nē, es esmu gatavs. 1306 01:02:25,335 --> 01:02:25,860 Es esmu gatavs. 1307 01:02:25,860 --> 01:02:28,790 Darīsim to. 1308 01:02:28,790 --> 01:02:29,290 Tas ir gatavs. 1309 01:02:29,290 --> 01:02:30,041 OK. 1310 01:02:30,041 --> 01:02:30,540 Piedodiet. 1311 01:02:30,540 --> 01:02:31,664 Es izlēja kafiju uz sevi. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 Es nezinu, vai es esmu vairāk sajukums, ka es izskatos muļķīgi, 1314 01:02:38,210 --> 01:02:40,600 vai arī, ka man nav kafiju vairs. 1315 01:02:40,600 --> 01:02:44,480 Anyway, tikai ātri paziņojums par lapas jums puiši ir. 1316 01:02:44,480 --> 01:02:47,994 Tātad šī lapa jums puiši ir, nav amatpersona, kas ir uz viktorīnas. 1317 01:02:47,994 --> 01:02:49,660 Šis ir oficiālais kas ir uz viktorīnas. 1318 01:02:49,660 --> 01:02:52,520 Tāpat, mājas lapā, mēs pateikt tu, OK, tas būs uz viktorīnas. 1319 01:02:52,520 --> 01:02:55,020 Tātad maz apkrāptu lapas Jums ir, ne amatpersona. 1320 01:02:55,020 --> 01:02:56,690 Un tur ir kļūdas par to. 1321 01:02:56,690 --> 01:03:01,490 Tāpēc labākais, nevis tikai akli izmantot. 1322 01:03:01,490 --> 01:03:04,390 Tātad yeah, tas, ka. 1323 01:03:04,390 --> 01:03:05,980 Tātad, pieņemsim nokļūt šajā nekustamo ātri. 1324 01:03:05,980 --> 01:03:07,420 >> Tātad HTTP statusi. 1325 01:03:07,420 --> 01:03:10,430 Tātad, kas notiek, kad mājas lapa, viss ir kārtībā. 1326 01:03:10,430 --> 01:03:11,144 Viss ir OK. 1327 01:03:11,144 --> 01:03:13,310 Viss nāk atpakaļ jums, kā jūs to vēlaties. 1328 01:03:13,310 --> 01:03:15,370 Jūs saņemsiet 200 OK. 1329 01:03:15,370 --> 01:03:19,250 301, kur mēs esam redzējuši, ka 301 pirms? 1330 01:03:19,250 --> 01:03:20,890 Pagaidiet, kas notiek? 1331 01:03:20,890 --> 01:03:23,250 Piedodiet. 1332 01:03:23,250 --> 01:03:24,980 Mēs redzējām i alvas lekciju nodrošinājumam. 1333 01:03:24,980 --> 01:03:30,690 Tātad drošību laikā, tāpēc, ja David ierakstījāt http un tad mēģināja doties uz cs50.net, 1334 01:03:30,690 --> 01:03:31,940 jūs gatavojas redzēt 301 pārvietots. 1335 01:03:31,940 --> 01:03:32,440 Kāpēc? 1336 01:03:32,440 --> 01:03:35,570 Jo tas notiek, lai novirzīt Jūs automātiski mūsu HTTPS. 1337 01:03:35,570 --> 01:03:38,649 >> Tātad 301 pārvietot, tikai tas ir būtībā novirzīšana. 1338 01:03:38,649 --> 01:03:40,190 Un jūs varat domāt par to, kā šis. 1339 01:03:40,190 --> 01:03:43,790 Jebkurš no statusiem, kas sākas ar 2 gados, tie ir līdzīgi, OK, viss ir OK. 1340 01:03:43,790 --> 01:03:46,530 Jebkurš no statusiem, kas sākas ar 3, tie ir pāradresācija. 1341 01:03:46,530 --> 01:03:49,571 Statusi, kas sākas ar 4, tas nozīmē tur ir sava veida klientu kļūdu. 1342 01:03:49,571 --> 01:03:52,440 Statusi, kas sākas ar 5, tas ir sava veida servera kļūda. 1343 01:03:52,440 --> 01:03:54,680 Tātad jūs veida plīsumi tamlīdzīgi ka statusi. 1344 01:03:54,680 --> 01:03:59,120 Tātad 304 nav ne pārveidotas, tāpēc jūsu server.c p-komplekti, tāpēc pieņemsim, ka jums 1345 01:03:59,120 --> 01:04:00,600 piekrauts cat.html. 1346 01:04:00,600 --> 01:04:03,360 Viss nāk atpakaļ, jums 200S, OK, lieliski. 1347 01:04:03,360 --> 01:04:04,540 >> Pieņemsim, ka jūs atsvaidzināt to. 1348 01:04:04,540 --> 01:04:07,310 Nu, iekšā, ka cat.html, jums ir JPEG. 1349 01:04:07,310 --> 01:04:09,520 Labi, ka JPEG nav gatavojas saņemt reloaded. 1350 01:04:09,520 --> 01:04:12,140 Jūs neesat gatavojas post citu GET lūgumu uz serveri, 1351 01:04:12,140 --> 01:04:13,980 un pēc tam iegūt visu šo informāciju atpakaļ. 1352 01:04:13,980 --> 01:04:17,560 Tas notiek, lai tikai be--, ka attēls ir būs kešatmiņā uz jūsu datora. 1353 01:04:17,560 --> 01:04:19,540 Un tā, ka attēls būs 304. 1354 01:04:19,540 --> 01:04:20,720 Tātad tas nav mainīta. 1355 01:04:20,720 --> 01:04:24,600 Ja pēc tam noslēguma, skaidrs cepumi, un tad atsvaidzināt 1356 01:04:24,600 --> 01:04:27,490 un mēģināt ielādēt šo lapu atkal, jūs gatavojas redzēt 200S. 1357 01:04:27,490 --> 01:04:28,910 Jūs neesat gatavojas redzēt, ka 304. 1358 01:04:28,910 --> 01:04:32,340 >> 400, slikti pieprasījumu, nekustamā ātri, piemēram, ja jūs 1359 01:04:32,340 --> 01:04:34,880 gatavojas sūtīt JSON objekts ar serveri 1360 01:04:34,880 --> 01:04:38,090 un jūsu JSON objekts bija kļūdaina, jūs redzēsiet kaut kas tamlīdzīgs. 1361 01:04:38,090 --> 01:04:39,000 403, aizliegta. 1362 01:04:39,000 --> 01:04:40,330 Kad Jūs redzēt aizliegts? 1363 01:04:40,330 --> 01:04:41,394 Iespējams Iespējams? 1364 01:04:41,394 --> 01:04:42,060 AUDITORIJA: Chmod. 1365 01:04:42,060 --> 01:04:42,950 Davin: Chmod, jā. 1366 01:04:42,950 --> 01:04:44,730 Tātad jums nav iestatīta atļaujas pareizi. 1367 01:04:44,730 --> 01:04:45,577 404, nav atrasts. 1368 01:04:45,577 --> 01:04:46,410 Tas vienkārši nav tur. 1369 01:04:46,410 --> 01:04:48,670 Tātad, ja jūs tipa nepareizā URL. 1370 01:04:48,670 --> 01:04:53,500 500, iekšēja servera kļūda, serveris iespējams, nav pareizi konfigurēts. 1371 01:04:53,500 --> 01:04:56,260 Kaut kas nav jūsu galā, bet kaut uz servera pusē. 1372 01:04:56,260 --> 01:04:57,240 Un 503? 1373 01:04:57,240 --> 01:04:59,502 Daudzi cilvēki redzēja 503s pagājušajā p-komplektu. 1374 01:04:59,502 --> 01:05:00,460 Kad tas tā notiek? 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 Es dzirdēju čukstus. 1377 01:05:05,660 --> 01:05:07,767 >> AUDITORIJA: Kad Google izlemj tu esi robots. 1378 01:05:07,767 --> 01:05:10,350 Davin: Jā, kad Google nolemj tu esi robots, jums 503s. 1379 01:05:10,350 --> 01:05:11,560 Tā ka ir pārslodze. 1380 01:05:11,560 --> 01:05:14,620 Ja jūs esat pieprasījis no servera pārāk daudz, tas parasti ir īslaicīga. 1381 01:05:14,620 --> 01:05:15,560 Un lielākā daļa no jums pamanījušas. 1382 01:05:15,560 --> 01:05:16,185 Tātad jūs redzēja 503. 1383 01:05:16,185 --> 01:05:19,282 Jūs, iespējams, ir veikušas nedaudz pauze, tad 503s aizgāja, 1384 01:05:19,282 --> 01:05:20,490 un viss bija labi. 1385 01:05:20,490 --> 01:05:26,640 >> Gabe: Real ātri, ja jūs guys get 500, iespējams, šī pēdējā problēma, kas? 1386 01:05:26,640 --> 01:05:27,954 Jā? 1387 01:05:27,954 --> 01:05:30,906 >> Mērķauditorija: Parasti, ja serveris ir failu nevietā 1388 01:05:30,906 --> 01:05:34,650 vai [nedzirdama] to mašīna [nedzirdama]. 1389 01:05:34,650 --> 01:05:38,870 >> Gabe: Tātad tas varētu būt konfigurācija jautājums jūsu PHP uz jūsu serveri. 1390 01:05:38,870 --> 01:05:42,250 Bet tas varētu būt tikai kaut kas kā semikolu, ka jūsu aizmirsa. 1391 01:05:42,250 --> 01:05:44,130 Ja jūs rakstāt PHP, daži nepareiza sintakse 1392 01:05:44,130 --> 01:05:46,000 varētu saņemt jums kaut kas tamlīdzīgs. 1393 01:05:46,000 --> 01:05:46,960 OK? 1394 01:05:46,960 --> 01:05:48,610 >> Davin: Cool. 1395 01:05:48,610 --> 01:05:51,180 Vai jūs vēlaties man darīt tikai līdz AJAX? 1396 01:05:51,180 --> 01:05:52,950 >> Gabe: [nedzirdama]. 1397 01:05:52,950 --> 01:05:53,450 Davin: OK. 1398 01:05:53,450 --> 01:05:54,230 Tātad, kas ir DOM? 1399 01:05:54,230 --> 01:05:55,290 Kāda DOM kandidēt? 1400 01:05:55,290 --> 01:05:56,990 >> Mērķauditorija: Dokumenta objektu modelis. 1401 01:05:56,990 --> 01:05:57,490 Davin: Nice. 1402 01:05:57,490 --> 01:06:00,775 Un kāpēc mums tas patīk? 1403 01:06:00,775 --> 01:06:02,670 Awesome. 1404 01:06:02,670 --> 01:06:06,651 Labi, tāpēc tas vienkārši ļauj mums piekļūt HTML, piekļūt mūsu lapā ļoti ātri. 1405 01:06:06,651 --> 01:06:07,150 Kāpēc? 1406 01:06:07,150 --> 01:06:09,980 Tāpēc, ka mēs esam ārstē mūsu lapa, apstrādājot mūsu HTML tagus, 1407 01:06:09,980 --> 01:06:11,730 apstrādājot viss kā tad, ja viņi objektus. 1408 01:06:11,730 --> 01:06:13,710 Ja mēs viņus kā viņi objekti, tad ko mēs varam darīt? 1409 01:06:13,710 --> 01:06:15,210 Nu, mēs varam zvanīt funkcijas uz tiem. 1410 01:06:15,210 --> 01:06:16,460 Un tas ir svarīgi, kāpēc? 1411 01:06:16,460 --> 01:06:19,200 Nu, tāpēc, ka mēs ejam, lai izmantotu JavaScript lai atjauninātu savu HTML, 1412 01:06:19,200 --> 01:06:20,500 atjaunināt šos objektus. 1413 01:06:20,500 --> 01:06:23,869 Tātad, ja mēs pret viņiem kā pret objektu, tad mēs varam zvanīt funkcijas uz tiem. 1414 01:06:23,869 --> 01:06:26,660 Es esmu gatavojas nokļūt šo maz vairāk, kad es iet uz JavaScript, 1415 01:06:26,660 --> 01:06:30,510 bet jūs visi esat redzējuši, piemēram, document.getElementById. 1416 01:06:30,510 --> 01:06:32,870 Tātad dokuments ir jūsu elements, iegūt elementa ID, 1417 01:06:32,870 --> 01:06:35,087 tāpēc jūs gatavojas meklēt kādu ID HTML tagu. 1418 01:06:35,087 --> 01:06:36,920 Un tad, jūs varat darīt kaut kas cits, kas. 1419 01:06:36,920 --> 01:06:40,089 Piemēram, tāpat document.body, tad jūs varat pievienot bērnu. 1420 01:06:40,089 --> 01:06:41,630 Tātad jūs gatavojas atrast dokumentu. 1421 01:06:41,630 --> 01:06:42,340 Jums ir dokumentu. 1422 01:06:42,340 --> 01:06:43,629 Jūs gatavojas, lai atrastu ķermeni. 1423 01:06:43,629 --> 01:06:44,420 Jūs atradāt ķermeni. 1424 01:06:44,420 --> 01:06:46,545 Un tad, jūs gatavojas aicināt kādu funkciju par to. 1425 01:06:46,545 --> 01:06:50,312 Tātad pievienot bērnu, un jūs varat pievienot daži HTML uz beigām iekšpusē jūsu organismā. 1426 01:06:50,312 --> 01:06:52,520 Vārdu sakot, tu esi vienkārši apstrādājot to kā objektu. 1427 01:06:52,520 --> 01:06:54,515 Jūs esat apstrādājot HTML tags kā objekts. 1428 01:06:54,515 --> 01:06:57,071 Un tas padara to ļoti viegli un ātri iet caur tiem. 1429 01:06:57,071 --> 01:06:59,070 Bet tas arī ļauj jums aicināt funkcijas tām 1430 01:06:59,070 --> 01:07:04,410 lai jūs varētu manipulēt un mainīt elementus. 1431 01:07:04,410 --> 01:07:10,162 >> Gabe: Ņemot vērā to, kāpēc ir JavaScript šāda jauka valoda, lai mijiedarbotos ar HTML? 1432 01:07:10,162 --> 01:07:12,870 Izredzes ir, kad cilvēki tika izvēloties valoda pārlūku, 1433 01:07:12,870 --> 01:07:14,990 par klienta puses, JavaScript ir tiešām jauks, 1434 01:07:14,990 --> 01:07:16,765 tas ir patiešām labs pie apstrādes objektiem. 1435 01:07:16,765 --> 01:07:20,620 Un objekti ir veida, piemēram objekti, kas parādās HTML, 1436 01:07:20,620 --> 01:07:23,940 tāpēc tas ir ļoti viegli JavaScript darīt šāda veida apstrādi. 1437 01:07:23,940 --> 01:07:24,440 Davin: Nice. 1438 01:07:24,440 --> 01:07:25,670 Tātad, šeit ir tikai piemērs. 1439 01:07:25,670 --> 01:07:29,020 Tāpēc es domāju, ka pēc pagājušā gada viktorīnu, vai varbūt pirms diviem gadiem, mēs 1440 01:07:29,020 --> 01:07:30,840 lūdza jums izveidot koku. 1441 01:07:30,840 --> 01:07:32,660 Tātad, tas ir tieši tas, ko jūs darāt. 1442 01:07:32,660 --> 01:07:34,255 Tātad jums sākt ar dokumentu. 1443 01:07:34,255 --> 01:07:36,130 Un tad jūs būtībā paskatieties tagiem. 1444 01:07:36,130 --> 01:07:38,100 Tātad, ja paskatās, mēs sākt ar HTML tagu. 1445 01:07:38,100 --> 01:07:41,660 Un tad, jums clues par to, kā darīt, pamatojoties uz ieloka. 1446 01:07:41,660 --> 01:07:43,870 Tātad vadītājs veida filiāles off. 1447 01:07:43,870 --> 01:07:46,242 Iekšā galvā, mums ir citu tagu titulu. 1448 01:07:46,242 --> 01:07:47,450 Tātad, mums ir nosaukums tag. 1449 01:07:47,450 --> 01:07:49,760 Un iekšā, ka mums ir dažas virkni. 1450 01:07:49,760 --> 01:07:52,210 Un tā mēs pārstāvam string aplī. 1451 01:07:52,210 --> 01:07:54,010 Un visi tagi ir kvadrātu. 1452 01:07:54,010 --> 01:07:56,270 >> Un, ja paskatās, ja mēs domā par to kā koks, 1453 01:07:56,270 --> 01:07:58,730 un pieņemsim, ka HTML ir vecāks, tad galvas un ķermeņa 1454 01:07:58,730 --> 01:07:59,772 gribam būt brāļi un māsas. 1455 01:07:59,772 --> 01:08:01,813 Viņi abi būs bērni šo vecāku. 1456 01:08:01,813 --> 01:08:03,620 Tāpēc, ka viņi abi brāļi un māsas, viņi 1457 01:08:03,620 --> 01:08:06,590 būs sava veida blakus viens otru mūsu koku modeli. 1458 01:08:06,590 --> 01:08:08,590 Un tad, jūs būtībā darīt tieši to pašu. 1459 01:08:08,590 --> 01:08:13,512 Tātad nav grūti, bet mēs esam lūguši jautājumi, piemēram, tas, pirms uz viktorīnas. 1460 01:08:13,512 --> 01:08:15,220 Gabe: Vai kāds ir jautājumi līdz šim? 1461 01:08:15,220 --> 01:08:16,357 Vai tas ir labi? 1462 01:08:16,357 --> 01:08:16,856 Davin: Cool. 1463 01:08:16,856 --> 01:08:19,630 1464 01:08:19,630 --> 01:08:21,600 JavaScript, OK, labu sīkumi. 1465 01:08:21,600 --> 01:08:24,069 Tātad JavaScript, kas ir JavaScript? 1466 01:08:24,069 --> 01:08:28,370 Nu, JavaScript is-- tas ir sarežģīti, bet tie 1467 01:08:28,370 --> 01:08:30,727 ir daži no izceļ ka jums vajadzētu paturēt prātā. 1468 01:08:30,727 --> 01:08:31,810 Pirmkārt, tas ir brīvi drukāti. 1469 01:08:31,810 --> 01:08:33,529 Ko tas nozīmē? 1470 01:08:33,529 --> 01:08:35,596 Tātad PHP was-- yeah, kas notiek? 1471 01:08:35,596 --> 01:08:39,854 >> Mērķauditorija: Jums nav skaidri stāvoklis, kāda veida mainīgo tā ir. 1472 01:08:39,854 --> 01:08:40,479 Davin: Perfect. 1473 01:08:40,479 --> 01:08:43,270 Tad viņš teica, ka jums nav skaidri jānorāda mainīgo tipu. 1474 01:08:43,270 --> 01:08:44,160 Tas ir tieši labi. 1475 01:08:44,160 --> 01:08:49,700 Tātad C, ja man bija int i vienāds 50, tad PHP, tas ir tāpat kā tas, $ i, 1476 01:08:49,700 --> 01:08:50,550 ir vienāds ar 50. 1477 01:08:50,550 --> 01:08:54,319 Tad JavaScript, kāda būtu zvans būt? 1478 01:08:54,319 --> 01:08:55,260 Var, vai ne? 1479 01:08:55,260 --> 01:08:56,566 Tā gribētu būt, piemēram vars i ir vienāds ar 50. 1480 01:08:56,566 --> 01:08:58,649 Bet jums nav jābūt piemēram, OK, tas ir int. 1481 01:08:58,649 --> 01:09:00,350 OK, tas ir virkne. 1482 01:09:00,350 --> 01:09:01,731 Nav nepieciešams, lai to izdarītu. 1483 01:09:01,731 --> 01:09:02,939 Tas ir interpretējama valoda. 1484 01:09:02,939 --> 01:09:04,904 Tātad, ko tas nozīmē? 1485 01:09:04,904 --> 01:09:06,340 >> Mērķauditorija: Nav apkopoti. 1486 01:09:06,340 --> 01:09:10,470 >> Davin: Kas nav apkopota nozīmē? 1487 01:09:10,470 --> 01:09:11,392 Yeah? 1488 01:09:11,392 --> 01:09:15,336 >> Mērķauditorija: Jums nav pārstrukturēt kodu 1489 01:09:15,336 --> 01:09:18,294 lai saņemtu to gatavs datoru, lai palaistu to. 1490 01:09:18,294 --> 01:09:23,144 Tas ir tikai pieņemts brīdī izpilde un datoru [nedzirdama]. 1491 01:09:23,144 --> 01:09:25,560 Davin: Jā, tā tas notiek, lai caur tulka. 1492 01:09:25,560 --> 01:09:26,750 Bet tu esi tieši labi. 1493 01:09:26,750 --> 01:09:28,319 Tātad jūs nekad apkopot to, labi? 1494 01:09:28,319 --> 01:09:30,399 Kad jūs darījāt savu PHP un JavaScript kods, 1495 01:09:30,399 --> 01:09:31,365 jūs nekad sauc sastādīt. 1496 01:09:31,365 --> 01:09:33,779 Jūs nekad sauc kaut ko līdzīgu veikt vai kaut kā tā. 1497 01:09:33,779 --> 01:09:34,800 Tas ir tāpēc, ka tas ir interpretējams. 1498 01:09:34,800 --> 01:09:37,319 Tātad, katru reizi, kad tā iet caur pārlūku, tā iet caur tulka. 1499 01:09:37,319 --> 01:09:40,370 Un kas notiek, lai interpretēt tikai reālā laikā uzreiz jums. 1500 01:09:40,370 --> 01:09:43,770 Tātad, kādi ir daži pozitīvi un negatīvi lai kam interpretēts valodu 1501 01:09:43,770 --> 01:09:45,258 un kam ir apkopota valodu? 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 Tātad compiling-- yeah, kas notiek? 1504 01:09:50,540 --> 01:09:52,444 >> Mērķauditorija: Tulkojis ir lēnāks. 1505 01:09:52,444 --> 01:09:53,319 Davin: Kādā nozīmē? 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> AUDITORIJA: Pēc tam, kad apkopo, jums nav 1508 01:09:59,091 --> 01:10:04,400 darīt visus papildu pasākumus, lai izpildītu tā, tā kā šī [nedzirdama]. 1509 01:10:04,400 --> 01:10:05,570 >> Davin: Pareizi, perfekta. 1510 01:10:05,570 --> 01:10:08,386 Tātad, ko jūs teicāt, ir būtībā, ka apkopojot, 1511 01:10:08,386 --> 01:10:10,760 kad jūs sastādīt, jums ir no sākotnējās izmaksas daudz, vai ne? 1512 01:10:10,760 --> 01:10:11,760 Jūs gatavojas sastādīt to. 1513 01:10:11,760 --> 01:10:13,750 Bet pēc tam jūs sastādīt tā, kompilators gatavojas optimizēt to. 1514 01:10:13,750 --> 01:10:14,840 Tas būs ātri. 1515 01:10:14,840 --> 01:10:16,170 Tas notiek, lai būtībā tik strauji, kā tas var būt. 1516 01:10:16,170 --> 01:10:18,830 Mutiski, jūs nekad ir, ka sākotnējās izmaksas. 1517 01:10:18,830 --> 01:10:22,260 Drīzāk, tas būs nedaudz lēnāks katru reizi, kad jūs interpretēt. 1518 01:10:22,260 --> 01:10:24,940 Un jūs nāksies interpretēt to katru reizi. 1519 01:10:24,940 --> 01:10:27,114 Tā vietā, lai, ņemot vērā šo vienu reizi izmaksas, tagad tu esi 1520 01:10:27,114 --> 01:10:29,530 nāksies interpretēt Katru reizi, kad lapa padara. 1521 01:10:29,530 --> 01:10:31,890 >> Tik tulki ir labi, jo Jums nav, lai apkopotu to, 1522 01:10:31,890 --> 01:10:33,980 bet viņi slikti, ka katrs reizi, kad lapa slodzes, tas ir 1523 01:10:33,980 --> 01:10:35,771 nāksies interpretēt šo JavaScript. 1524 01:10:35,771 --> 01:10:40,520 Un tas notiek, lai palaistu nedaudz lēnāk nekā tad, ja tu būtu, lai apkopotu to. 1525 01:10:40,520 --> 01:10:43,044 Ļauj communicate-- oh, pagaidiet. 1526 01:10:43,044 --> 01:10:44,960 Izmantot, lai manipulētu saturu un izskatu. 1527 01:10:44,960 --> 01:10:46,043 Mēs tikko runājām par to. 1528 01:10:46,043 --> 01:10:47,250 Tas izmanto DOM. 1529 01:10:47,250 --> 01:10:49,930 AJAX, mēs nokļūt AJAX ar mazliet. 1530 01:10:49,930 --> 01:10:51,520 Un tad, tas ir klienta pusē. 1531 01:10:51,520 --> 01:10:53,110 Tātad PHP ir servera pusē. 1532 01:10:53,110 --> 01:10:54,360 JavaScript ir klienta pusē. 1533 01:10:54,360 --> 01:10:57,780 Kas ir pozitīvi, ka? 1534 01:10:57,780 --> 01:10:58,280 Tā saka, ka tā. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 Tas ir ātrāk, vai ne? 1537 01:11:02,780 --> 01:11:05,282 Tāpēc, ka jums nav, kuri paredzēti, lai tas ir ātrāk. 1538 01:11:05,282 --> 01:11:07,490 Jums nav, lai sazinātos ar kādu citu ierīci. 1539 01:11:07,490 --> 01:11:08,790 Ja jūs tikai par savu klients, jūs nekad 1540 01:11:08,790 --> 01:11:11,280 nāksies iet un redzēt, kas ir uz servera 1541 01:11:11,280 --> 01:11:13,150 un tad ziņot vai kaut kas tamlīdzīgs. 1542 01:11:13,150 --> 01:11:15,410 Tātad klienta pusē ir tendence būt mazliet ātrāk. 1543 01:11:15,410 --> 01:11:17,910 >> Gabe: Jā, bet tas nenozīmē, PHP ir 1544 01:11:17,910 --> 01:11:20,440 ātrāk nekā JavaScript vai kaut kas līdzīgs. 1545 01:11:20,440 --> 01:11:23,270 Viņi darbojas veida tajā pašā ātrums, jo viņi abi 1546 01:11:23,270 --> 01:11:24,490 interpretējamas valodas. 1547 01:11:24,490 --> 01:11:26,680 Lieta, kas ir lēns šeit ir pieprasījums. 1548 01:11:26,680 --> 01:11:28,870 Tātad jūs faktiski iet visu ceļu pār Brazīliju 1549 01:11:28,870 --> 01:11:31,460 iegūt kādu informāciju ka tur dzīvo. 1550 01:11:31,460 --> 01:11:34,590 Bet PHP un JavaScript, viņi veida darbināt ar tādu pašu ātrumu. 1551 01:11:34,590 --> 01:11:37,930 Tas nav, ka viens ir ātrāk nekā otru. 1552 01:11:37,930 --> 01:11:40,600 Tas arī, āķīgs jautājums šeit. 1553 01:11:40,600 --> 01:11:47,338 Tātad JavaScript nekļūst mašīnu kodu, patiess vai nepatiess? 1554 01:11:47,338 --> 01:11:48,590 >> AUDITORIJA: False. 1555 01:11:48,590 --> 01:11:49,090 Gabe: False. 1556 01:11:49,090 --> 01:11:51,298 Tai ir jākļūst mašīna kods jo mašīna kods ir 1557 01:11:51,298 --> 01:11:53,210 Vienīgais mašīna saprot. 1558 01:11:53,210 --> 01:11:55,800 Pat ja tas nav apkopota, tas joprojām kļūst mašīnu kodu 1559 01:11:55,800 --> 01:11:59,120 jo tulks ir tikai programma, kas iet pozīcijai 1560 01:11:59,120 --> 01:12:02,170 un pārveido šo līniju vērā kaut dators saprot. 1561 01:12:02,170 --> 01:12:02,825 OK? 1562 01:12:02,825 --> 01:12:03,325 Cool. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> Davin: Te ir tikai ļoti vienkāršas sveiki pasaules JavaScript programmu. 1565 01:12:12,890 --> 01:12:15,590 Tāpēc es nezinu if-- esat redzējis šo. 1566 01:12:15,590 --> 01:12:17,630 Bet jūs vienkārši ir HTML šeit. 1567 01:12:17,630 --> 01:12:21,020 Un nevis faktiski liekot JavaScript skriptu tagiem, 1568 01:12:21,020 --> 01:12:22,810 tāpēc jūs parasti likt to galvā. 1569 01:12:22,810 --> 01:12:24,030 Jums ir skriptu tagus. 1570 01:12:24,030 --> 01:12:24,870 Jūs piliens to tur. 1571 01:12:24,870 --> 01:12:28,350 Viss, ko mēs esam darījuši šeit mēs esam saistīti in-- tāpēc mēs esam saistīti ar JavaScript failā 1572 01:12:28,350 --> 01:12:29,137 kā šis. 1573 01:12:29,137 --> 01:12:30,470 Un jūs visi esat izdarījis, vai ne? 1574 01:12:30,470 --> 01:12:34,740 Tātad, ja jūs, izmantojot jQuery un underscore.js pagājušajā p-kopumu, 1575 01:12:34,740 --> 01:12:38,700 Jums nav tonnas kodu up in savu skriptu tagus, līdz jūsu galvā. 1576 01:12:38,700 --> 01:12:41,415 Jūs varētu darīt, bet tā vietā jūs vienkārši saistot to. 1577 01:12:41,415 --> 01:12:43,540 Un jūs esat saistot to tāpat kā jūs darīt ar CSS. 1578 01:12:43,540 --> 01:12:50,186 Tātad, tas tikai padara to vieglāk lasīt tik Jūsu kods nav kā 1000 līnijas ilgi 1579 01:12:50,186 --> 01:12:52,310 ar t funkcijas, kas jūs nevarēsiet būt, izmantojot. 1580 01:12:52,310 --> 01:12:53,518 >> Tā vietā, jūs vienkārši saistīt to. 1581 01:12:53,518 --> 01:12:55,050 Tas compartmentalizes to. 1582 01:12:55,050 --> 01:13:00,110 Tas ir tāpat kā rakstot kādu header failu, un tad arī šo header failu C. 1583 01:13:00,110 --> 01:13:01,620 Domājiet par to tāpat kā šis. 1584 01:13:01,620 --> 01:13:02,680 Tātad, ko tas dara? 1585 01:13:02,680 --> 01:13:04,560 Nu, tas ir gatavojas palaist. 1586 01:13:04,560 --> 01:13:05,410 Tas notiek, lai brīdinātu. 1587 01:13:05,410 --> 01:13:08,020 Tātad jūs esat gatavojas iegūt mazliet pop up sauc Hello pasaulē. 1588 01:13:08,020 --> 01:13:11,420 Ātrs jautājums, tikai veselība pārbaudītu, lai jūs redzēt šeit organismā, 1589 01:13:11,420 --> 01:13:13,160 saka ķermeņa, HTML šeit. 1590 01:13:13,160 --> 01:13:14,080 Kas nāk pirmais? 1591 01:13:14,080 --> 01:13:16,864 Vai es redzu ķermeņa, HTML šeit, vai man redzēt brīdinājumu vispirms? 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> AUDITORIJA: Alert. 1594 01:13:20,820 --> 01:13:21,470 >> Davin: Right. 1595 01:13:21,470 --> 01:13:22,110 Viņš saka brīdinājumu. 1596 01:13:22,110 --> 01:13:22,610 Kāpēc? 1597 01:13:22,610 --> 01:13:24,470 >> AUDITORIJA: Jo jums iet no augšas uz leju. 1598 01:13:24,470 --> 01:13:25,600 >> Davin: Jā. 1599 01:13:25,600 --> 01:13:26,100 Perfekta. 1600 01:13:26,100 --> 01:13:29,207 Tātad viņš saka, jums iet no augšas uz dibens, kas ir pilnīgi pareiza. 1601 01:13:29,207 --> 01:13:30,790 Jūs gatavojas iet no augšas uz leju. 1602 01:13:30,790 --> 01:13:34,790 Un JavaScript, jQuery, jums ir funkcija, kas ir tāpat kā onload, vai gatavs, 1603 01:13:34,790 --> 01:13:38,030 un kas saka, OK, pagaidiet, līdz visu šo HTML ir piekrauts. 1604 01:13:38,030 --> 01:13:39,580 Un tad, zvaniet JavaScript. 1605 01:13:39,580 --> 01:13:42,190 Tāpēc, ka mums nav, ka šeit, Pati pirmā lieta, kas notiek varētu notikt 1606 01:13:42,190 --> 01:13:43,920 tas notiek, lai iet no augšas uz leju. 1607 01:13:43,920 --> 01:13:46,310 Tas notiek, lai hit, ka JS zvanīt, tas notiek, lai brīdinātu. 1608 01:13:46,310 --> 01:13:49,510 Pēc tam jūs noklikšķiniet OK, ka brīdinājumu iet prom. 1609 01:13:49,510 --> 01:13:53,600 Tad tas notiek, lai parādītu Jums ķermeņa HTML šeit. 1610 01:13:53,600 --> 01:13:54,590 Nice. 1611 01:13:54,590 --> 01:14:00,880 >> Labi, lai tikai nekustamo ātri, rakstīšana JavaScript ir super ātri. 1612 01:14:00,880 --> 01:14:02,710 Lai deklarētu mainīga, VAR nosaukums. 1613 01:14:02,710 --> 01:14:07,070 Tātad C, Jums ir int i, jums ir atzīt kāda veida veida tas ir. 1614 01:14:07,070 --> 01:14:08,040 PHP, $. 1615 01:14:08,040 --> 01:14:08,755 JavaScript, var. 1616 01:14:08,755 --> 01:14:09,630 Mēs runājām par to. 1617 01:14:09,630 --> 01:14:11,020 Labi, iesim. 1618 01:14:11,020 --> 01:14:12,510 >> Cilpas, pats. 1619 01:14:12,510 --> 01:14:14,230 Tas pats. 1620 01:14:14,230 --> 01:14:18,165 Funkciju deklarācijas, tāpēc tāpat kā jūs esat redzējuši C. 1621 01:14:18,165 --> 01:14:21,290 Vienīgais, atšķirīgs ir tad, kad jums citām programmēšanas valodām, 1622 01:14:21,290 --> 01:14:24,780 kā tad, kad esat lietojis 51 nākamajā pusgadā un jūs darāt ar OCAML, 1623 01:14:24,780 --> 01:14:26,690 jūs varat rīkoties ar anonīmu funkciju. 1624 01:14:26,690 --> 01:14:28,240 Tātad, tas ir tieši tas, kas jums ir šeit. 1625 01:14:28,240 --> 01:14:31,560 Tātad jūs vēlaties, lai nodrošinātu summu, kaut kādu summu vērtības. 1626 01:14:31,560 --> 01:14:33,870 Bet jūs varētu tikai darīt to vienu reizi. 1627 01:14:33,870 --> 01:14:37,310 Tātad jūs nevēlaties, lai izsauktu to funkciju summu, arī tā funkciju deklarāciju. 1628 01:14:37,310 --> 01:14:39,830 Tā vietā, jūs vienkārši izmantot to kā anonīmu funkciju. 1629 01:14:39,830 --> 01:14:42,469 Un jūs esat redzējuši šo partiju. 1630 01:14:42,469 --> 01:14:44,510 Jūs redzēsiet piemēru tas pēc pāris slaidiem. 1631 01:14:44,510 --> 01:14:45,597 Jā, mēs redzēsim. 1632 01:14:45,597 --> 01:14:46,430 Gabe: Labs jautājums. 1633 01:14:46,430 --> 01:14:50,660 Ja iespējams, jūs vēlaties izmantot anonīma funkcija šeit? 1634 01:14:50,660 --> 01:14:54,111 Būtībā, ja jūs vēlaties kaut ko, tāpat pasākumā, kas notiks. 1635 01:14:54,111 --> 01:14:55,860 Tātad, ja pele ir uzklikšķināt, piemēram, 1636 01:14:55,860 --> 01:14:57,790 Jūs vēlaties kādu funkciju, lai varētu saukt. 1637 01:14:57,790 --> 01:15:00,570 Tātad jūs iet uz pasākumu apdarinātājs, jums iet uz pasākumu, 1638 01:15:00,570 --> 01:15:02,870 veida, funkcija, kas Jūs vēlaties, lai varētu saukt. 1639 01:15:02,870 --> 01:15:04,710 Un ko jūs iet ir, piemēram, beigās 1640 01:15:04,710 --> 01:15:08,757 no dienas, tikai rādītājs ka norādījums, funkcijai. 1641 01:15:08,757 --> 01:15:11,090 Tātad, tas nav kā jūs iet viss kods, tāpat kā 1642 01:15:11,090 --> 01:15:12,173 rādītāju uz funkciju. 1643 01:15:12,173 --> 01:15:17,871 Un tad, kad kāds noklikšķina pele, tad šī funkcija izpaužas sauc. 1644 01:15:17,871 --> 01:15:22,340 >> Davin: masīvi, lai jūs ir masīva deklarāciju. 1645 01:15:22,340 --> 01:15:23,990 Tad, masīvs likt lietām. 1646 01:15:23,990 --> 01:15:25,769 Real ātri, kāds būs šis izdrukāt? 1647 01:15:25,769 --> 01:15:27,060 Kāda būs trešais elements būt? 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> Mērķauditorija: "JS". 1650 01:15:32,450 --> 01:15:33,940 >> Davin: Pareizi, tas būtu "JS." 1651 01:15:33,940 --> 01:15:35,760 Pagaidiet, iet atpakaļ. 1652 01:15:35,760 --> 01:15:37,100 Kas ir garums? 1653 01:15:37,100 --> 01:15:38,117 >> AUDITORIJA: Trīs. 1654 01:15:38,117 --> 01:15:38,950 Davin: Trīs, vai ne? 1655 01:15:38,950 --> 01:15:40,210 Tieši tas, ko tu domā. 1656 01:15:40,210 --> 01:15:42,072 Labi, tagad iet. 1657 01:15:42,072 --> 01:15:43,530 Bloki, jūs varat pievienot lietas uz tiem. 1658 01:15:43,530 --> 01:15:45,395 Tātad jūs varat iet tālāk to sākotnējās robežas. 1659 01:15:45,395 --> 01:15:46,740 Tikai kaut kas jāpatur prātā. 1660 01:15:46,740 --> 01:15:49,760 PHP, JavaScript, viņi maz nedaudz vairāk piedodošs ziņā lietas 1661 01:15:49,760 --> 01:15:50,570 tāpat. 1662 01:15:50,570 --> 01:15:54,260 Objekti, ļoti daudz, piemēram, structs C, ir ļoti daudz 1663 01:15:54,260 --> 01:15:56,590 tāpat asociatīvas masīvi PHP. 1664 01:15:56,590 --> 01:15:58,720 Jūs visi esat bijusi pieredze ar šo. 1665 01:15:58,720 --> 01:16:01,880 Tātad, JSON, kad jūs iet JSON un atpakaļ p-noteikti astoņi, 1666 01:16:01,880 --> 01:16:03,260 tas ir jūsu mērķis. 1667 01:16:03,260 --> 01:16:06,290 >> Tātad yeah, piemērs, nekustamo ātri piemērs. 1668 01:16:06,290 --> 01:16:07,880 Te ir objekts. 1669 01:16:07,880 --> 01:16:12,700 Kā jūs atsauces šo objekts, lai tikai nekustamo ātri, 1670 01:16:12,700 --> 01:16:18,630 pieņemsim, ka es gribēju, lai atrastu ārā, OK, kāda ir kurss? 1671 01:16:18,630 --> 01:16:20,681 Un tā objekta nosaukums šeit ir CS50. 1672 01:16:20,681 --> 01:16:23,180 Un tad, ja man bija asociatīvās masīvs, kā es varētu darīt? 1673 01:16:23,180 --> 01:16:24,580 Es būšu, izmantojot atslēgu, vai ne? 1674 01:16:24,580 --> 01:16:26,030 Tāpēc man ir nosaukumu masīva. 1675 01:16:26,030 --> 01:16:30,160 Man ir stiprinājuma, citātus, atslēgu, end citātus, gala kronšteins, 1676 01:16:30,160 --> 01:16:33,610 un kas būs atsauces, ka elements iekšā manā asociatīvā masīva. 1677 01:16:33,610 --> 01:16:37,646 Kā es varu atsauce Protams iekšā manu objektu? 1678 01:16:37,646 --> 01:16:39,170 Kāds zina? 1679 01:16:39,170 --> 01:16:40,622 >> Mērķauditorija: [dzirdams]. 1680 01:16:40,622 --> 01:16:41,784 >> Davin: Kas notiek? 1681 01:16:41,784 --> 01:16:42,700 AUDITORIJA: CS50.course. 1682 01:16:42,700 --> 01:16:43,510 Davin: labi, jā. 1683 01:16:43,510 --> 01:16:45,320 Tik CS50.course. 1684 01:16:45,320 --> 01:16:48,770 Tātad, kā jūs atsauces lietas iekšā JSON objekts ir ar punktu. 1685 01:16:48,770 --> 01:16:53,114 >> Mērķauditorija: Jūs varat izmantot arī masīvu sintaksi. 1686 01:16:53,114 --> 01:16:54,050 >> Davin: Labi, labi. 1687 01:16:54,050 --> 01:16:57,544 >> Gabe: Jūs varat izmantot arī CS50 kronšteinu, stīgu, tāpat pēdiņās. 1688 01:16:57,544 --> 01:16:59,210 Mērķauditorija: Es domāju, ka tas ir identisks PHP. 1689 01:16:59,210 --> 01:17:00,293 Gabe: Tas ir tas pats. 1690 01:17:00,293 --> 01:17:02,487 Davin: Fine! 1691 01:17:02,487 --> 01:17:03,945 Bet jūs redzēsiet šo citas vietas. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 Jā, lai saglabātu turpinās. 1694 01:17:10,480 --> 01:17:13,330 Tas ir tas, ko es tikko teicu. 1695 01:17:13,330 --> 01:17:17,840 Tātad uz JavaScript jQuery piemērs. 1696 01:17:17,840 --> 01:17:19,440 Tātad šis ir mans DOM, vai ne? 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 Real ātri, tāpēc man ir galva, hello world, ķermeņa. 1699 01:17:25,410 --> 01:17:26,160 Man ir poga. 1700 01:17:26,160 --> 01:17:27,870 Tajā teikts, "push mani," tāpēc es gribu, lai push to. 1701 01:17:27,870 --> 01:17:29,745 Un es gribu darīt kaut ko kad tas ir uzklikšķināt. 1702 01:17:29,745 --> 01:17:31,220 Labi, nākamais. 1703 01:17:31,220 --> 01:17:34,630 >> Labi, tāpēc tas ir mans JavaScript. 1704 01:17:34,630 --> 01:17:37,790 Tik jQuery ir tikai vieglāk veids, kā rakstīt JavaScript. 1705 01:17:37,790 --> 01:17:40,920 Tātad tas, un tas, ko es esmu gatavojas parādīs nākamreiz, būs jQuery, 1706 01:17:40,920 --> 01:17:41,930 ir identiski. 1707 01:17:41,930 --> 01:17:43,990 Lai viņi darīs to pašu lietas. 1708 01:17:43,990 --> 01:17:45,974 Tikai jQuery mēdz būt mazliet vieglāk. 1709 01:17:45,974 --> 01:17:47,140 Cilvēki mēdz patīk vairāk. 1710 01:17:47,140 --> 01:17:48,390 Tā ir daudz funkcionalitāti. 1711 01:17:48,390 --> 01:17:49,830 Tātad, cilvēki mēdz izmantot jQuery. 1712 01:17:49,830 --> 01:17:53,270 Jūs visi izmanto jQuery pēdējā p-komplektu. 1713 01:17:53,270 --> 01:17:54,270 Tātad, ko tas dara? 1714 01:17:54,270 --> 01:17:56,580 Kāda būs šī JavaScript-- tik tas ir tikai plain JavaScript. 1715 01:17:56,580 --> 01:17:57,430 Ko šis darīt? 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 Ko tas dara? 1718 01:18:03,450 --> 01:18:04,890 >> Tātad, pirmkārt, jūs redzat logu onload. 1719 01:18:04,890 --> 01:18:05,390 Taisnība? 1720 01:18:05,390 --> 01:18:06,640 Tātad mēs neredzējām, ka pirms. 1721 01:18:06,640 --> 01:18:09,380 Tātad tas būs jāgaida kamēr visu logu slodzēm. 1722 01:18:09,380 --> 01:18:12,770 Tātad, tas notiek, lai gaidīt, kamēr HTML, visi attēli slodze 1723 01:18:12,770 --> 01:18:13,770 pirms tā neko nedara. 1724 01:18:13,770 --> 01:18:16,050 So teiksim mūsu DOM ir piekrauts. 1725 01:18:16,050 --> 01:18:17,270 Viss ir tur. 1726 01:18:17,270 --> 01:18:19,080 Tad to, kas notiks? 1727 01:18:19,080 --> 01:18:19,922 Yeah? 1728 01:18:19,922 --> 01:18:22,880 >> Mērķauditorija: parādās poga. 1729 01:18:22,880 --> 01:18:25,201 >> Davin: poga ir jau tur. 1730 01:18:25,201 --> 01:18:26,700 Jā, tāpēc poga s jau ir tur. 1731 01:18:26,700 --> 01:18:31,190 Bet tas ir gatavojas teikt, Labi, ja es noklikšķiniet uz pogas, 1732 01:18:31,190 --> 01:18:33,650 tāpēc poga ir jau tur, piemēram, ka HTML tagu. 1733 01:18:33,650 --> 01:18:35,980 Pagaidiet, iet atpakaļ nekustamo ātri. 1734 01:18:35,980 --> 01:18:39,470 Šis tags tiesības tiesības šeit ir būs poga jau. 1735 01:18:39,470 --> 01:18:40,810 Tur jau ir poga. 1736 01:18:40,810 --> 01:18:44,120 Bet tad, JavaScript tag, tieši šeit, 1737 01:18:44,120 --> 01:18:46,160 tā saka, OK, es gribu nokļūt elementu pēc ID, 1738 01:18:46,160 --> 01:18:50,300 tāpēc meklēšana poga vienkārši saka, OK, es gribu kartēt šo mainīgo uz šo pogu. 1739 01:18:50,300 --> 01:18:53,120 Tā, ka mainīgais ir tikai vieglāk veids, kā piekļūt šai pogai. 1740 01:18:53,120 --> 01:18:57,300 Un es saku, OK, ja es noklikšķiniet, ka poga, tāpēc, ja es noklikšķiniet šo elementu, 1741 01:18:57,300 --> 01:18:59,560 un šis elements attiecas uz pogu, ja es noklikšķiniet uz to, 1742 01:18:59,560 --> 01:19:00,875 tad es gribu, lai izsauktu funkciju. 1743 01:19:00,875 --> 01:19:03,500 Te ir viens no tiem, anonīms funkcijas mēs runājam. 1744 01:19:03,500 --> 01:19:04,840 >> Tikai zvanu dažas funkcijas. 1745 01:19:04,840 --> 01:19:08,840 Inside šo funkciju, galvenokārt ko mēs esam redzējuši daudz, brīdinājumu. 1746 01:19:08,840 --> 01:19:10,477 Noklikšķinot uz meklēšanas pogas. 1747 01:19:10,477 --> 01:19:12,060 Tas notiek, lai būtībā ir poga. 1748 01:19:12,060 --> 01:19:13,040 Jūs noklikšķiniet uz tā. 1749 01:19:13,040 --> 01:19:14,040 Jums, ka brīdinājumu. 1750 01:19:14,040 --> 01:19:14,850 X out. 1751 01:19:14,850 --> 01:19:15,754 Viss. 1752 01:19:15,754 --> 01:19:16,254 Yeah? 1753 01:19:16,254 --> 01:19:21,980 >> Mērķauditorija: Tātad, ja jūs nodot skriptu [Nedzirdama], skriptu tag jūsu HTML? 1754 01:19:21,980 --> 01:19:24,300 >> Davin: Jūs varat ievietot skriptu tag taisni galvā 1755 01:19:24,300 --> 01:19:30,667 jo jums ir šī onload. 1756 01:19:30,667 --> 01:19:32,000 Tas ir arī, ka jums ir klikšķis. 1757 01:19:32,000 --> 01:19:34,166 Tātad, tas notiek, lai gaidīt, kamēr Noklikšķinot uz kaut ko. 1758 01:19:34,166 --> 01:19:37,470 Bet onload ir tikai, lai būtu droši, lai padarītu ka viss slodzes uz jūsu HTML 1759 01:19:37,470 --> 01:19:38,170 iepriekš. 1760 01:19:38,170 --> 01:19:39,247 Yeah? 1761 01:19:39,247 --> 01:19:40,330 Jūs vēlaties kaut ko pateikt? 1762 01:19:40,330 --> 01:19:41,080 >> Gabe: [nedzirdama]. 1763 01:19:41,080 --> 01:19:42,485 Davin: Jā. 1764 01:19:42,485 --> 01:19:45,426 >> Mērķauditorija: Tātad onload izvairās definējot mainīgo meklēšanas poga 1765 01:19:45,426 --> 01:19:49,930 , tikai sakot document.getElementById meklēšanas poga dot [nedzirdama]. 1766 01:19:49,930 --> 01:19:52,320 >> Davin: Noteikti, bet tad Jūsu string tikai kļūst milzīgs. 1767 01:19:52,320 --> 01:19:55,553 Tieši tā, tāpēc tas ir tikai, lai padara vieglāk jums, jā. 1768 01:19:55,553 --> 01:19:56,053 Jā? 1769 01:19:56,053 --> 01:19:57,886 >> Mērķauditorija: Kur mēs esam izveidot window.onload? 1770 01:19:57,886 --> 01:19:58,951 Vai document.ready? 1771 01:19:58,951 --> 01:20:00,590 >> Davin: Jā, tur ir. 1772 01:20:00,590 --> 01:20:02,094 Jā, tur ir, es pārbaudīju. 1773 01:20:02,094 --> 01:20:03,710 >> Gabe: Nav viņiem rūp. 1774 01:20:03,710 --> 01:20:06,970 >> Davin: Labi, tāpēc es esmu gatavojas pastāstīt jums vienalga. 1775 01:20:06,970 --> 01:20:11,005 Vārdu sakot, tikai kopumā, tāpēc window.onload gaida, kamēr jūsu DOM, visi 1776 01:20:11,005 --> 01:20:12,180 jūsu HTML, sūtījumus. 1777 01:20:12,180 --> 01:20:13,513 Tā gaida, kamēr jūsu attēliem slodze. 1778 01:20:13,513 --> 01:20:14,930 Tā gaida, kamēr viss slodzēm. 1779 01:20:14,930 --> 01:20:18,410 document.ready, tas tikai gaida, kamēr jūsu DOM slodzēm. 1780 01:20:18,410 --> 01:20:22,190 Tiklīdz HTML ir viss tur, reiz Jūsu DOM ir tur, sāk darboties. 1781 01:20:22,190 --> 01:20:23,400 Tas ir vienīgā atšķirība. 1782 01:20:23,400 --> 01:20:24,700 >> Gabe: Quick vesels saprāts pārbaudīt šeit. 1783 01:20:24,700 --> 01:20:29,060 Tātad to var redzēt sava veida kā koda rindu, vai ne? 1784 01:20:29,060 --> 01:20:33,600 Jo tas ir window.onload vienāds ķekars sīkumi. 1785 01:20:33,600 --> 01:20:39,030 Kad JavaScript lasa šo, patiess vai nepatiesa, funkcija izpaužas izpildīts. 1786 01:20:39,030 --> 01:20:40,020 Nepatiesa. 1787 01:20:40,020 --> 01:20:40,920 OK? 1788 01:20:40,920 --> 01:20:44,470 Kas notiek šeit, jūs vienkārši iet šī funkcija kā anonīmu funkciju 1789 01:20:44,470 --> 01:20:45,300 līdz window.onload. 1790 01:20:45,300 --> 01:20:48,480 Un tad, kad tas notiek faktiski saņemt izpildīts? 1791 01:20:48,480 --> 01:20:49,600 Kad logu slodzes. 1792 01:20:49,600 --> 01:20:50,420 Tas ir notikums. 1793 01:20:50,420 --> 01:20:52,460 Tā ka ir jus t lieta, mēs esam runājot par agrāk, vai ne? 1794 01:20:52,460 --> 01:20:54,580 Tātad, kad notikums notiek, funkcija notiek. 1795 01:20:54,580 --> 01:20:55,746 Pats ar onclick. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> Davin: OK, lai kāds ņēma prom document.ready. 1798 01:21:03,130 --> 01:21:04,698 Bet tas būs precīzs same-- 1799 01:21:04,698 --> 01:21:06,864 Mērķauditorija: dolāra zīmi, ka ir document.ready. 1800 01:21:06,864 --> 01:21:07,710 Tas ir īsceļu. 1801 01:21:07,710 --> 01:21:08,501 >> Davin: Ak, tas ir? 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 Labi, tā tas nozīmē document.ready, īsceļu. 1804 01:21:15,500 --> 01:21:19,660 Bet tas ir tāds pats kā window.onload izņemot, ka maz atšķirību 1805 01:21:19,660 --> 01:21:20,680 Es jums stāstīju. 1806 01:21:20,680 --> 01:21:21,870 Un tas ir jQuery. 1807 01:21:21,870 --> 01:21:25,190 Tātad šī ir tieši tā pati thing-- tas ir JavaScript. 1808 01:21:25,190 --> 01:21:29,500 Tas ir just-- daži cilvēki domā par to kā vēl neliels svars, spīdīgs versija 1809 01:21:29,500 --> 01:21:32,370 ka ir daudz funkcionalitāti ka jūs, iespējams, izmantojot. 1810 01:21:32,370 --> 01:21:34,500 Tātad tas nav tieši tas pats. 1811 01:21:34,500 --> 01:21:37,110 >> Tātad, lietas veida norādīt. 1812 01:21:37,110 --> 01:21:40,364 Tā otrā, piemēram, mēs bija document.getElementById, 1813 01:21:40,364 --> 01:21:42,280 tāpēc mums bija tik ilgi virkne, kas notiek, lai saņemtu 1814 01:21:42,280 --> 01:21:44,290 elements ar jebkādiem ID tā ir. 1815 01:21:44,290 --> 01:21:46,470 Tas ir jāaizstāj ar šo aicinājumu tieši šeit. 1816 01:21:46,470 --> 01:21:50,860 Tātad jūs redzat, ka dolāra zīmi, tad jūs redzat citātu, hashtag. 1817 01:21:50,860 --> 01:21:52,370 Hashtag vienmēr selektoru. 1818 01:21:52,370 --> 01:21:54,730 Tajā teikts, OK, tas ir saistīts ar ID. 1819 01:21:54,730 --> 01:21:56,120 Kas selektors klasi? 1820 01:21:56,120 --> 01:21:57,190 >> AUDITORIJA: Dot. 1821 01:21:57,190 --> 01:21:57,960 >> Davin: Dot, labi. 1822 01:21:57,960 --> 01:22:01,950 Ja jūs tikai gatavojas izvēlētos tagu, kas tas ir? 1823 01:22:01,950 --> 01:22:03,310 Tas ir tikai tag, tieši. 1824 01:22:03,310 --> 01:22:05,560 Un jūs varētu izmantot, ka šeit, kā labi. 1825 01:22:05,560 --> 01:22:08,560 >> Gabe: Un pēc birkas, mēs domājam līdzīgi div, piemēram, vai galvas. 1826 01:22:08,560 --> 01:22:11,500 >> Davin: Vai institūcija vai p vai kaut kā tā, jā. 1827 01:22:11,500 --> 01:22:14,390 Tātad šeit, OK, tā vietā, lai teiktu document.getElementById, 1828 01:22:14,390 --> 01:22:16,500 tas ir tikai tieši tas pats. 1829 01:22:16,500 --> 01:22:17,990 Tikai jQuery, tas ir īsāks. 1830 01:22:17,990 --> 01:22:19,860 Tātad, tas ir vienkāršāk. 1831 01:22:19,860 --> 01:22:23,420 Tātad, ne vairāk onclick, vienkārši noklikšķiniet. 1832 01:22:23,420 --> 01:22:26,320 jQuery funkcija, nosaukt šo funkciju. 1833 01:22:26,320 --> 01:22:27,580 Alert ir tieši tā pati. 1834 01:22:27,580 --> 01:22:29,452 Tātad, tas ir mazliet mazāks, vai mazliet 1835 01:22:29,452 --> 01:22:32,410 īsāks, nedaudz bit-- cilvēki domā tas ir mazliet vieglāk rakstīt, 1836 01:22:32,410 --> 01:22:34,600 mazliet vieglāk saprast. 1837 01:22:34,600 --> 01:22:35,640 Bet tas ir jQuery. 1838 01:22:35,640 --> 01:22:37,887 Daudzi cilvēki saņemt nedaudz mazliet apmulsis un noraizējies 1839 01:22:37,887 --> 01:22:40,220 un viņi domā, OK, jQuery ir savādāka nekā JavaScript. 1840 01:22:40,220 --> 01:22:42,136 Man ir jāatceras šīs divas dažādas lietas. 1841 01:22:42,136 --> 01:22:42,740 Tas nav. 1842 01:22:42,740 --> 01:22:45,315 Es domāju, tas ir atšķirīgs sintakse. 1843 01:22:45,315 --> 01:22:46,970 Bet jQuery ir JavaScript. 1844 01:22:46,970 --> 01:22:50,050 Tas ir tikai šķietami labāka versija, ka 1845 01:22:50,050 --> 01:22:51,967 varētu būt vieglāk saprotu, ka cilvēki izmanto. 1846 01:22:51,967 --> 01:22:53,716 Gabe: Jā, lai būtu godīgs, ka dolāra zīmi 1847 01:22:53,716 --> 01:22:57,240 ka jūs redzēt jQuery, tas ir tikai nosaukt par funkciju jQuery nosaka. 1848 01:22:57,240 --> 01:22:58,614 Tas nav kaut kas īpašs. 1849 01:22:58,614 --> 01:23:03,140 Vai tas ir tikai nosaukums funkciju, tāpat kā jūs varētu definēt dolāra zīmi. 1850 01:23:03,140 --> 01:23:05,670 >> Davin: Jā, tāpēc par to runāja. 1851 01:23:05,670 --> 01:23:06,680 Dažas noderīgas lietas. 1852 01:23:06,680 --> 01:23:10,414 Es skatījos atpakaļ pie vecās viktorīnas. 1853 01:23:10,414 --> 01:23:13,080 Jo pēdējo pāris viktorīnas, tie esam nācās izmantot lietas, kā šis. 1854 01:23:13,080 --> 01:23:15,230 Tātad document.ready, tāpēc pārliecinieties, ka viss ir 1855 01:23:15,230 --> 01:23:17,410 piekrauts pirms jums sākt darīt lietas. 1856 01:23:17,410 --> 01:23:20,120 Izvēlieties ID, vai izvēlieties klase, tas lūdzu tikai 1857 01:23:20,120 --> 01:23:24,020 būt quote dot kādu klasi, gala cenas. 1858 01:23:24,020 --> 01:23:26,580 Iesniegt, tādēļ, ja jūs esat iesniedzot formu un zvanu 1859 01:23:26,580 --> 01:23:28,830 šī funkcija pēc veidlapas norāda. 1860 01:23:28,830 --> 01:23:34,210 Vērtība, tāpēc pieņemsim, ka man bija sava veida iesniegšana, piemēram, lietotāja vārdu, e-pastu, 1861 01:23:34,210 --> 01:23:34,950 neatkarīgi. 1862 01:23:34,950 --> 01:23:36,010 Man bija tekstlodziņu. 1863 01:23:36,010 --> 01:23:37,670 Tāpēc es esmu ierakstot šo teksta lodziņā. 1864 01:23:37,670 --> 01:23:42,170 Nu, ja jūs vēlaties, lai iegūtu vērtību no šī teksta lodziņā, jūs izmantojat dot val. 1865 01:23:42,170 --> 01:23:44,050 Un tad, uz leju šeit, dot HTML ir tas pats 1866 01:23:44,050 --> 01:23:47,710 ir kā dokumentu dot getElementByID dot innerHTML. 1867 01:23:47,710 --> 01:23:50,890 Tāpēc, ka notiek, lai atgrieztos Jums HTML no šo ID. 1868 01:23:50,890 --> 01:23:55,080 Lūk, jūs vienkārši izmantot kādu ID vai kāds dot HTML. 1869 01:23:55,080 --> 01:23:56,930 Ka saņemsiet HTML no šo elementu. 1870 01:23:56,930 --> 01:24:00,130 Ja jūs vēlētos, lai pēc tam to mainīt HTML, jūs varat nodot to kaut ko. 1871 01:24:00,130 --> 01:24:05,600 Tātad jūs gribētu būt, piemēram dot HTML, un pēc tam iekšā, citātus, jaunu HTML vai kaut ko. 1872 01:24:05,600 --> 01:24:07,490 >> Gabe: Labi, tā AJAX. 1873 01:24:07,490 --> 01:24:10,347 Man tiešām patīk, lai saprastu AJAX tiešām labi. 1874 01:24:10,347 --> 01:24:12,430 Tāpēc es gribu jūs guys saprotu AJAX tiešām labi. 1875 01:24:12,430 --> 01:24:14,221 Jo, ja jūs darāt, jūs diezgan daudz kas notiek 1876 01:24:14,221 --> 01:24:16,810 lai saprastu visu, kas ir saistīts ar HTTP, PHP, 1877 01:24:16,810 --> 01:24:21,080 JavaScript jo to visu nāk kopā AJAX. 1878 01:24:21,080 --> 01:24:25,130 AJAX nav valoda. 1879 01:24:25,130 --> 01:24:27,000 AJAX ir paņēmiens. 1880 01:24:27,000 --> 01:24:31,690 Un tā izmanto daudz dažādu rīku. 1881 01:24:31,690 --> 01:24:35,090 AJAX stendi asinhrono JavaScript XML. 1882 01:24:35,090 --> 01:24:36,730 Tātad metode, valodas, dati. 1883 01:24:36,730 --> 01:24:40,610 >> Tātad galvenā valoda, ko mēs izmantojam AJAX, lai iedarbinātu visu 1884 01:24:40,610 --> 01:24:42,830 un rīkoties visu vēlāk ir JavaScript. 1885 01:24:42,830 --> 01:24:45,160 Tieši tāpēc tas attiecas ļoti tuvu JavaScript. 1886 01:24:45,160 --> 01:24:49,810 Un tad asinhronā ir jo mēs nedarām to 1887 01:24:49,810 --> 01:24:51,980 visu uzreiz, kad mēs esam ielādējot lapu. 1888 01:24:51,980 --> 01:24:57,190 Šī ir lieta, ko mēs varam darīt lietas veida paralēli. 1889 01:24:57,190 --> 01:24:59,725 Galvenā ideja AJAX ir tas, ka jūs vēlaties 1890 01:24:59,725 --> 01:25:02,170 tā iegūt kādu specifisku informāciju. 1891 01:25:02,170 --> 01:25:06,450 Piemēram, ja jūs rakstāt jaunu lietotāja vārdu, kad jūs reģistrēt lietotāja vārdu, 1892 01:25:06,450 --> 01:25:08,520 mans lietotāja vārds ir ABC123. 1893 01:25:08,520 --> 01:25:11,671 Un pēc tam, beigās formā, jums ir noklikšķiniet uz Iesniegt. 1894 01:25:11,671 --> 01:25:14,420 Un tas bija jāiet uz serveri, un pēc tam pārbaudīt, vai datu bāzē, 1895 01:25:14,420 --> 01:25:15,594 ABC123 jau tur. 1896 01:25:15,594 --> 01:25:18,510 Un, ja tas ir jau tur, tā saka, lietotāja vārds jau datubāzē. 1897 01:25:18,510 --> 01:25:21,010 Un tie, jums ir jāaizpilda ārā visu formu vēlreiz. 1898 01:25:21,010 --> 01:25:23,110 Un tas bija ļoti, ļoti slikti. 1899 01:25:23,110 --> 01:25:25,440 >> Un tad cilvēki saka, OK, kāpēc mēs nevaram vienkārši 1900 01:25:25,440 --> 01:25:29,560 do nelielu HTTP pieprasījumu tikai pārbaudīt lai noskaidrotu, vai šis lietotājs ir datu bāzē 1901 01:25:29,560 --> 01:25:32,080 Pirms lietotājs nācās iesniedz visu formu? 1902 01:25:32,080 --> 01:25:36,350 Tā, piemēram, kad lietotājs nav beidzis rakstīt ABC123, 1903 01:25:36,350 --> 01:25:39,660 pieņemsim tikai aiziet uz serveri maz bit un tikai iegūt patiess vai nepatiess 1904 01:25:39,660 --> 01:25:43,080 no servera, lai noskaidrotu, vai tas ir derīgs lietotāja vārdu vai ne. 1905 01:25:43,080 --> 01:25:49,250 Labi, tāpēc tas ir viens no galvenajiem izmanto AJAX mūsdienās joprojām. 1906 01:25:49,250 --> 01:25:52,130 >> Davin: Tātad nekustamo ātri, it Ajax zvans jQuery, 1907 01:25:52,130 --> 01:25:54,770 jūs varētu liecināt, ka jums gribu, lai to sinhrono. 1908 01:25:54,770 --> 01:25:56,330 Jums nevajadzētu darīt. 1909 01:25:56,330 --> 01:25:57,640 Bet jūs varat darīt. 1910 01:25:57,640 --> 01:25:59,277 Un, ja jūs, ka, kas notiktu? 1911 01:25:59,277 --> 01:26:01,610 Nu, piemēram, kad tu esi iegūt ziņas vai kāds, 1912 01:26:01,610 --> 01:26:05,464 Jūsu pārlūkā ir tikai gatavojas gaidīt kamēr tas viss zvans ir pabeigta 1913 01:26:05,464 --> 01:26:08,130 tā vietā, ļaujot jums darīt citas lietas labi pēc tam, kad noklikšķiniet uz tā. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> Gabe: Tas nav iet vairs. 1916 01:26:17,115 --> 01:26:19,681 Ak mans dievs. 1917 01:26:19,681 --> 01:26:20,180 Atvaino! 1918 01:26:20,180 --> 01:26:22,810 1919 01:26:22,810 --> 01:26:23,601 Yup. 1920 01:26:23,601 --> 01:26:25,350 "Agrāk, klientam nepieciešams pieprasīt 1921 01:26:25,350 --> 01:26:26,840 viss saturs mājas lapā. " 1922 01:26:26,840 --> 01:26:28,210 Tas ir tas, ko es teicu. 1923 01:26:28,210 --> 01:26:30,070 Tas ļauj mums nosūtīt papildu GET vai POST 1924 01:26:30,070 --> 01:26:32,140 pieprasījumi, neradot pārlādēt mūsu pārlūku. 1925 01:26:32,140 --> 01:26:34,806 Tātad beigās, dienā, mēs faktiski padarot HTTP pieprasījumus 1926 01:26:34,806 --> 01:26:35,740 šeit, izmantojot JavaScript. 1927 01:26:35,740 --> 01:26:39,700 Jo pirms, mēs tikai izmanto JavaScript mainīt HTML, kas jau nāca. 1928 01:26:39,700 --> 01:26:43,110 Un tagad, mēs varam izmantot, lai saskarnes ar tīmekļa serveriem, kā arī. 1929 01:26:43,110 --> 01:26:46,140 Kā tas notiek ir mums ir klients. 1930 01:26:46,140 --> 01:26:47,340 Davin ir klients. 1931 01:26:47,340 --> 01:26:50,797 Un viņam ir visas JavaScript darboties, jo HTML ir mēms. 1932 01:26:50,797 --> 01:26:51,630 JavaScript ir gudrs. 1933 01:26:51,630 --> 01:26:54,690 Tātad Davin Davin ir viņa smart daļa un viņa mēms daļa. 1934 01:26:54,690 --> 01:26:57,590 Viņš gatavojas izmantot savu smart daļu tagad. 1935 01:26:57,590 --> 01:27:00,860 Viņš gatavojas izmantot JavaScript uz pieprasījumu, piemēram, 1936 01:27:00,860 --> 01:27:04,340 vai ABC123 ir datu bāzē vai nav. 1937 01:27:04,340 --> 01:27:08,450 >> Tātad Davin, lūdzu, jūs vienkārši sūtiet man HTTP pieprasījumu. 1938 01:27:08,450 --> 01:27:09,197 Paldies. 1939 01:27:09,197 --> 01:27:10,530 Tad viņš vienkārši nosūtīja HTTP pieprasījumu. 1940 01:27:10,530 --> 01:27:11,270 Tu redzi, ka? 1941 01:27:11,270 --> 01:27:14,700 Un tas ir tikai tāpat ka jebkura HTTP pieprasījums ir nosūtīts. 1942 01:27:14,700 --> 01:27:16,830 Pārlūku, Google Chrome vai kaut ko, ir 1943 01:27:16,830 --> 01:27:19,570 gatavojas redzēt, ka Davin s mēģinot nosūtīt HTTP pieprasījumu, 1944 01:27:19,570 --> 01:27:20,930 notiek, lai palīdzētu HM mazliet. 1945 01:27:20,930 --> 01:27:23,950 Un kas notiek, lai iet visu ceļu uz serveri. 1946 01:27:23,950 --> 01:27:27,370 Tagad serveris ir nāksies PHP šeit, vai jebkurā citā valodā. 1947 01:27:27,370 --> 01:27:29,990 Tāpat kā parastā HTTP pieprasījumu. 1948 01:27:29,990 --> 01:27:31,950 Tas ir diezgan daudz normāli HTTP pieprasījums. 1949 01:27:31,950 --> 01:27:33,658 >> Un pēc tam, serveris gatavojas teikt, OK, 1950 01:27:33,658 --> 01:27:37,270 Davin grib, lai pārbaudītu, vai šis ABC123 ir datu bāzē. 1951 01:27:37,270 --> 01:27:38,310 Iet runāt modelim. 1952 01:27:38,310 --> 01:27:41,310 Modelis saka, ka tā nav. ABC123 ir labs lietotāja vārds. 1953 01:27:41,310 --> 01:27:47,940 Un tad, web serveris gatavojas izmantot PHP, lai padarītu kāda veida failu. 1954 01:27:47,940 --> 01:27:52,280 Tā varētu būt burtiski tikai fails kas satur "jā", tajā, vai "nē, 1955 01:27:52,280 --> 01:27:53,315 vai kaut kas tamlīdzīgs. 1956 01:27:53,315 --> 01:27:54,190 Tas varētu būt jebkurš fails. 1957 01:27:54,190 --> 01:27:57,080 >> Tas varētu būt, piemēram, es esmu gatavojas nosūtīt Davin attēlu pīle 1958 01:27:57,080 --> 01:28:01,200 ja tas ir datu bāzē un nosūtīt attēlu kāmja 1959 01:28:01,200 --> 01:28:02,420 ja tas nav datu bāzē. 1960 01:28:02,420 --> 01:28:04,294 Tas būtu sava veida mēms, bet tas strādā. 1961 01:28:04,294 --> 01:28:07,030 Labi, tāpēc es sūtu pīle uz Davin. 1962 01:28:07,030 --> 01:28:08,150 Davin got pīle. 1963 01:28:08,150 --> 01:28:13,330 Un tagad, kas notiek, rīkoties pīle? 1964 01:28:13,330 --> 01:28:16,390 Davin viedās daļa atkal, tik JavaScript, vai ne? 1965 01:28:16,390 --> 01:28:18,620 JavaScript nosūtīts pieprasījums, un JavaScript 1966 01:28:18,620 --> 01:28:22,300 notiek, lai saņemtu pieprasījumu un interpretēt to tādā vai citādā veidā. 1967 01:28:22,300 --> 01:28:26,630 >> Un šajā ziņā, tas būs saka, OK, ja pīles tad es esmu labs. 1968 01:28:26,630 --> 01:28:30,770 Ja kāmis, tad es eju teikt, jau nē, lietotāja vārds 1969 01:28:30,770 --> 01:28:31,970 pastāv datu bāzē. 1970 01:28:31,970 --> 01:28:33,845 Bet parasti, jūs neesat gatavojas nosūtīt pīle. 1971 01:28:33,845 --> 01:28:36,740 Jūs esat gatavojas sūtīt kaut nedaudz gudrāk. 1972 01:28:36,740 --> 01:28:40,320 Un tas, ko mēs izmantojam, ir XML. 1973 01:28:40,320 --> 01:28:42,690 Un vēl nesen, mēs izmantojam JSON. 1974 01:28:42,690 --> 01:28:45,629 JSON ir tikai JavaScript Objekts Apzīmējumi, kas 1975 01:28:45,629 --> 01:28:47,670 būtībā jums Visa JavaScript objekts. 1976 01:28:47,670 --> 01:28:50,820 Un jūs nodot to failu, tāpat kā ka CS50 objekts, kas jūs guys redzēja. 1977 01:28:50,820 --> 01:28:53,090 Jūs nodot to failu, un jums nosūtīt to pa Davin. 1978 01:28:53,090 --> 01:28:55,850 >> Tātad šajā gadījumā, es būtu padarīt JavaScript objektu 1979 01:28:55,850 --> 01:28:59,570 un tikai teikt, lietotājam pastāv, jā. 1980 01:28:59,570 --> 01:29:01,630 Vai lietotāja pastāv, nē. 1981 01:29:01,630 --> 01:29:02,810 Un nosūtīt to atpakaļ uz viņu. 1982 01:29:02,810 --> 01:29:03,830 Un kāpēc JSON? 1983 01:29:03,830 --> 01:29:07,330 Jo personai kurš saņem tas ir 1984 01:29:07,330 --> 01:29:10,030 gatavojas izmantot JavaScript rīkoties atbildi. 1985 01:29:10,030 --> 01:29:14,970 Un JavaScript darbojas tik labi, jo to sauc JavaScript Object nošu. 1986 01:29:14,970 --> 01:29:15,470 Taisnība? 1987 01:29:15,470 --> 01:29:19,660 Tātad, viņš var vienkārši zvanīt funkciju un saņemt Šis jaukais objektu no atbildes. 1988 01:29:19,660 --> 01:29:22,890 Un tad, viņš gatavojas zināt, vai ka lietotājs ir datu bāzē vai nav. 1989 01:29:22,890 --> 01:29:25,230 >> Tātad jūs redzat, tas viss nāk kopā ar tīmekļa serveri, 1990 01:29:25,230 --> 01:29:28,450 un tad tur ir viens HTTP pieprasījumu un viens HTTP atbilde un viss. 1991 01:29:28,450 --> 01:29:30,600 Tātad, pārliecinieties, ka jūs guys saprast šo AJAX aicinājumu 1992 01:29:30,600 --> 01:29:37,260 tāpēc, ka tas palīdz jums saprast visu jēdzienus mēs runājam. 1993 01:29:37,260 --> 01:29:40,260 >> Tātad, šeit ir piemērs AJAX ar jQuery. 1994 01:29:40,260 --> 01:29:42,130 Un šeit, mēs darīt ar get JSON. 1995 01:29:42,130 --> 01:29:45,660 Tātad mēs neesam mēģina nokļūt tēls kaķis šeit, vai pīle. 1996 01:29:45,660 --> 01:29:48,110 Mēs cenšamies iegūt JSON failu. 1997 01:29:48,110 --> 01:29:51,184 Un tad mēs gaidām līdz tas ir darīts, dot darīts. 1998 01:29:51,184 --> 01:29:52,850 Tas nozīmē, ka es gaidu atbildi. 1999 01:29:52,850 --> 01:29:54,180 Tas var aizņemt nedaudz, bet. 2000 01:29:54,180 --> 01:29:56,360 Tad jūs redzat nedaudz iekraušanas. 2001 01:29:56,360 --> 01:29:59,340 Ja jūs vēlaties darīt, ka jūsu mājas lapā. 2002 01:29:59,340 --> 01:30:01,440 Tātad DOT darīts, un tad kāda notiek, kad tas ir izdarīts? 2003 01:30:01,440 --> 01:30:04,040 Jūs apliecību anonīms funkcija, tāpat kā mēs redzējām iepriekš. 2004 01:30:04,040 --> 01:30:07,800 Tāpēc, ka izdarīts ir notikums, tikko piemēram, noklikšķinot peli vai kāds, 2005 01:30:07,800 --> 01:30:08,710 jQuery. 2006 01:30:08,710 --> 01:30:13,710 Tātad jūs iet šo funkciju ar Datu, teksta, statuss, un jqXHR. 2007 01:30:13,710 --> 01:30:15,790 Un būtībā, tas ir tikai daži mainīgie 2008 01:30:15,790 --> 01:30:22,160 ka jūs varat izmantot vēlāk, lai būtu statuss HTTP pieprasījumu, 2009 01:30:22,160 --> 01:30:24,470 dati, ka tas notiek sūtīt atpakaļ uz jums. 2010 01:30:24,470 --> 01:30:28,740 Tātad jūs varat vēlāk interpretēt un darīt kaut ko nozīmīgu ar to. 2011 01:30:28,740 --> 01:30:30,240 Un, ja tas neizdodas, tad, kad tas varētu neizdoties? 2012 01:30:30,240 --> 01:30:33,780 Nu, ja HTTP pieprasījuma sniedz tu 500 vai kaut kas tamlīdzīgs. 2013 01:30:33,780 --> 01:30:37,420 Tad, tas notiek, lai jums pastāstīt statuss, kāda veida neveiksmes, kas bija, 2014 01:30:37,420 --> 01:30:38,420 un visādas lietas. 2015 01:30:38,420 --> 01:30:40,630 Jums ir pārliecināties, rīkoties abos gadījumos 2016 01:30:40,630 --> 01:30:42,770 pretējā gadījumā programma iet crazy. 2017 01:30:42,770 --> 01:30:45,820 >> Davin: Tātad yeah, tas ir tieši tas, ko tu redzēji savā pēdējā p-komplektu. 2018 01:30:45,820 --> 01:30:49,720 Faktiskais AJAX zvana get JSON. 2019 01:30:49,720 --> 01:30:50,587 Tas ir aicinājums. 2020 01:30:50,587 --> 01:30:52,920 Un tad, dot darīts, ir, piemēram, tā pārbauda, ​​vai tas ir veiksmīgs. 2021 01:30:52,920 --> 01:30:55,620 Ja tas ir veiksmīgs, jūs vēlaties kaut ko darīt ar datiem. 2022 01:30:55,620 --> 01:30:59,290 Jums atpakaļ no tā JSON pieprasījums dati. 2023 01:30:59,290 --> 01:31:00,600 Tas ir tas, ko jūs saņemsiet atpakaļ. 2024 01:31:00,600 --> 01:31:04,470 Tātad, ja jūs atceraties no savas p-kopumu, daudzi no jums bija, piemēram, datu grupā i 2025 01:31:04,470 --> 01:31:06,302 vai kāds, dot saiti vai nosaukumu. 2026 01:31:06,302 --> 01:31:08,260 Neatkarīgi nāk atpakaļ No šī JSON, neatkarīgi 2027 01:31:08,260 --> 01:31:11,020 lauki ir šajā JSON objektu, ka tas, ko jūs saņemat atpakaļ. 2028 01:31:11,020 --> 01:31:12,394 Dati ir tas, ko jūs saņemat atpakaļ. 2029 01:31:12,394 --> 01:31:15,510 Teksta statuss, tikai kaut kas ļauj jums zināt, kas noticis. 2030 01:31:15,510 --> 01:31:20,570 Un tad, jqXHR, tas ir tikai jQuery XML HTTP pieprasījums. 2031 01:31:20,570 --> 01:31:21,990 Tas ir tāpat kā objektu. 2032 01:31:21,990 --> 01:31:23,932 Un tad neizdodas, tāpat kā Gabe teica. 2033 01:31:23,932 --> 01:31:27,140 Gabe: Mūsu maz piemēru ABC123 tikai, lai pārbaudītu, vai tas ir datu bāzē 2034 01:31:27,140 --> 01:31:32,260 vai ne, dati būtu kaut kas jums darītu, ja dati dot lietotāja vārds pastāv, 2035 01:31:32,260 --> 01:31:37,720 kas ir tas, ko jūsu PHP ģenerēts tu, ja dati dot lietotāja vārds pastāv, tad 2036 01:31:37,720 --> 01:31:40,880 Es esmu gatavojas, lai brīdinātu, lietotāja nosaukumu jau eksistē. 2037 01:31:40,880 --> 01:31:44,300 Else, es esmu tikai gatavojas let lietotājs turpināt aizpildot veidlapu. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 OK, drošība, atdzesē. 2040 01:31:50,820 --> 01:31:52,060 >> Davin: Vēlaties man? 2041 01:31:52,060 --> 01:31:54,500 >> Gabe: Man patīk šo vienu. 2042 01:31:54,500 --> 01:31:57,680 Tātad kaut kas izskatās pazīstami. 2043 01:31:57,680 --> 01:31:59,750 Mēs esam gandrīz pabeigts. 2044 01:31:59,750 --> 01:32:02,670 Tātad tas ir tikai piemērs jūs puiši redzēja klasē. 2045 01:32:02,670 --> 01:32:04,860 Jūs izmantojāt argv1 šeit. 2046 01:32:04,860 --> 01:32:06,460 Tas ir tāpat kā komandrindas argumentu. 2047 01:32:06,460 --> 01:32:09,270 Un mēs esam mem kopēšanu, ka uz bufera izmēru 12. 2048 01:32:09,270 --> 01:32:12,560 Kāda ir problēma šeit? 2049 01:32:12,560 --> 01:32:13,660 Bufera pārpildes! 2050 01:32:13,660 --> 01:32:15,400 Tāpēc, ka mums ir buferis izmēru 12. 2051 01:32:15,400 --> 01:32:18,400 argv1 varētu būt izmērs diviem miljardiem. 2052 01:32:18,400 --> 01:32:19,960 Mums nav darīt jebkuru robežu pārbaude. 2053 01:32:19,960 --> 01:32:24,970 Tātad mēs varētu kopēt daudz atmiņas. 2054 01:32:24,970 --> 01:32:28,630 Un mēs būsim īpaši slikti par to. 2055 01:32:28,630 --> 01:32:32,600 Ko mēs varētu darīt, kas ir ļoti, ļoti nozīmē šajā gadījumā? 2056 01:32:32,600 --> 01:32:33,278 Jā? 2057 01:32:33,278 --> 01:32:36,528 Mērķauditorija: Daļa no diviem miljardiem lietām satur izpildāmu kodu, kas atgriež 2058 01:32:36,528 --> 01:32:38,127 [Nedzirdama]. 2059 01:32:38,127 --> 01:32:38,710 Gabe: Tieši tā. 2060 01:32:38,710 --> 01:32:41,110 Tā ka ir sava veida lieta, ka cilvēki izmanto 2061 01:32:41,110 --> 01:32:43,344 jailbreak iPhone, piemēram. 2062 01:32:43,344 --> 01:32:44,260 Tātad šāda veida lieta. 2063 01:32:44,260 --> 01:32:48,610 Tāpēc, ka jūs varat darīt, lai ierīce izpildīt jebkuru kodu, kas jums patīk. 2064 01:32:48,610 --> 01:32:50,247 Noteikt, tāpēc noteikt ir viegli. 2065 01:32:50,247 --> 01:32:51,330 Just pārbaudīt robežas. 2066 01:32:51,330 --> 01:32:53,455 Jums pārbaudīt null tāpēc, ka mēs vienmēr pārbaudiet null 2067 01:32:53,455 --> 01:32:54,940 kad mums ir darīšana ar stīgām. 2068 01:32:54,940 --> 01:32:57,840 Un tad, jūs lietojat stīgu garums pirms. 2069 01:32:57,840 --> 01:33:00,150 Un, ja virknes garums ir derīgs virkne 2070 01:33:00,150 --> 01:33:03,700 garums, kas ir robežās 0 un 12, tad mēs esam labi. 2071 01:33:03,700 --> 01:33:07,144 >> Davin: Ja jums nav pārbaudīt null, nekustamo ātri, kas notiks? 2072 01:33:07,144 --> 01:33:07,810 Tas būs SEG vaina. 2073 01:33:07,810 --> 01:33:10,850 Kāpēc tas SEG vaina? 2074 01:33:10,850 --> 01:33:12,510 Tāpēc, ka jūs aicināt strlen uz null. 2075 01:33:12,510 --> 01:33:13,010 Gabe: Jā. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 Patiess vai nepatiess, izmantojot vienu parole ir laba ideja. 2078 01:33:19,630 --> 01:33:20,430 >> AUDITORIJA: False. 2079 01:33:20,430 --> 01:33:21,150 >> Gabe: False. 2080 01:33:21,150 --> 01:33:23,870 Izmantot daudzas paroles, un lieli, gari. 2081 01:33:23,870 --> 01:33:26,050 Padlock ikonas nodrošinātu drošību. 2082 01:33:26,050 --> 01:33:27,080 >> AUDITORIJA: False. 2083 01:33:27,080 --> 01:33:27,749 >> Gabe: False. 2084 01:33:27,749 --> 01:33:28,790 Tas nenozīmē neko. 2085 01:33:28,790 --> 01:33:30,480 Tas ir tikai ikona. 2086 01:33:30,480 --> 01:33:32,824 SSL aizsargā pret cilvēks vidū uzbrukumu. 2087 01:33:32,824 --> 01:33:33,490 AUDITORIJA: False. 2088 01:33:33,490 --> 01:33:34,110 Gabe: False. 2089 01:33:34,110 --> 01:33:35,355 Labi, tāpēc visiem tiem, ir nepatiesa. 2090 01:33:35,355 --> 01:33:38,324 2091 01:33:38,324 --> 01:33:39,490 Nice. 2092 01:33:39,490 --> 01:33:40,220 [Nedzirdama] 2093 01:33:40,220 --> 01:33:42,500 Vēlaties, lai runātu par šo? 2094 01:33:42,500 --> 01:33:43,259 Jūsu kārta. 2095 01:33:43,259 --> 01:33:45,050 Davin: veidi uzbrukumiem, vīrietis vidū. 2096 01:33:45,050 --> 01:33:47,134 Kas ir cilvēks vidū uzbrukumu? 2097 01:33:47,134 --> 01:33:48,050 Mērķauditorija: [dzirdams]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 Davin: Ja jūs sūtīt HTTP pieprasījums, viņi varētu darīt, vai ne? 2100 01:33:54,020 --> 01:33:57,890 Bet, ja jūs sūtāt HTTPS, viņi iespējams, nevarēs to izdarīt. 2101 01:33:57,890 --> 01:33:59,952 Tur ir daudz punktu gar jūsu savienojumu. 2102 01:33:59,952 --> 01:34:00,660 Tev ir maršrutētāji. 2103 01:34:00,660 --> 01:34:01,746 Jums ir DNS serverus. 2104 01:34:01,746 --> 01:34:04,120 Ja kāds ir spējīgs fiziski redzēt, ko jūs sūtāt, 2105 01:34:04,120 --> 01:34:06,140 tā kāds ir spējīgs faktiski saņemt starp jums, 2106 01:34:06,140 --> 01:34:08,840 klients un serveris, un ir iespēja redzēt, ko jūs sūtāt, 2107 01:34:08,840 --> 01:34:10,298 tas ir cilvēks vidū uzbrukumu. 2108 01:34:10,298 --> 01:34:14,287 Tātad, lai redzētu, ko jūs mēģināt iegūt no serveri, vai ir spējīgs see-- pasliktinās, 2109 01:34:14,287 --> 01:34:16,620 jūs varētu redzēt cepumi vai kaut kas tamlīdzīgs. 2110 01:34:16,620 --> 01:34:19,290 >> Tā, piemēram, ja jūs neesat izmantojot SSL, viņš 2111 01:34:19,290 --> 01:34:21,900 varētu redzēt Jūsu sesija ID sīkdatnes. 2112 01:34:21,900 --> 01:34:25,460 Un to sauc par sesiju nolaupīšana jo viņš redz jūsu ID sīkdatnes, 2113 01:34:25,460 --> 01:34:28,317 un tad viņš ir spējīgs doties uz, ka mājas lapā un izlikties, ka jums. 2114 01:34:28,317 --> 01:34:31,150 Jo tāpat kā PHP, atcerieties kad mēs pieteicies, ko mēs darām? 2115 01:34:31,150 --> 01:34:33,340 Mēs, kas sesijas ID ir vienāds ar ID. 2116 01:34:33,340 --> 01:34:34,810 Tāpēc, ka jūs identificē. 2117 01:34:34,810 --> 01:34:38,300 Tas ir iemesls, kāpēc jūs varat redzēt savu portfeli un ne visiem citam portfeli. 2118 01:34:38,300 --> 01:34:42,320 >> Nu, ja es esmu spējīgs, lai iegūtu, ka cookie, tad es varu pieteikties uz šo lapu. 2119 01:34:42,320 --> 01:34:45,380 Un tad, es varu tikai redzēt savu stuff un sākt pirkt un pārdot sīkumi. 2120 01:34:45,380 --> 01:34:46,800 Tā ka ir sesija nolaupīšana. 2121 01:34:46,800 --> 01:34:50,810 Bet jums nevajadzētu būt iespējai kuri paredzēti, lai jūs var izmantot cilvēks vidū uzbrukuma 2122 01:34:50,810 --> 01:34:52,290 pat tad, ja viņi izmanto SSL. 2123 01:34:52,290 --> 01:34:53,520 Bet jums nevajadzētu būt iespējai. 2124 01:34:53,520 --> 01:34:56,580 Ja tie izmanto SSL, Jūs nevarat sesija nolaupīt. 2125 01:34:56,580 --> 01:34:58,927 Kāpēc? 2126 01:34:58,927 --> 01:35:01,135 Jo tas viss ir šifrēta, labi? ja tas ir šifrēts, 2127 01:35:01,135 --> 01:35:03,509 un es esmu joprojām cilvēks vidū, es joprojām iegūtu datus. 2128 01:35:03,509 --> 01:35:04,279 Tas ir jauki. 2129 01:35:04,279 --> 01:35:05,070 Bet tas ir šifrēti. 2130 01:35:05,070 --> 01:35:07,750 Tāpēc es nevaru īsti izmantot. 2131 01:35:07,750 --> 01:35:09,840 Tā ka ir divi. 2132 01:35:09,840 --> 01:35:11,544 >> Nekustamo ātri, cross site pieprasījumu viltošana. 2133 01:35:11,544 --> 01:35:13,960 Tas ir tikai tad, ja tur ir saite un šī saikne kaut ko dara 2134 01:35:13,960 --> 01:35:14,890 ka jūs nedomāju, ka tas būtu jādara. 2135 01:35:14,890 --> 01:35:18,150 Tā, piemēram, ja saite ir gatavojas iegādāties krājumus vai pārdot krājumus, 2136 01:35:18,150 --> 01:35:19,360 un jūs nezināt, ka. 2137 01:35:19,360 --> 01:35:22,040 Noklikšķinājāt uz saites, nosūtīja lūgumu, nopirka 2138 01:35:22,040 --> 01:35:24,240 vai pārdot kaut ko, kas tu nedomāja darīt. 2139 01:35:24,240 --> 01:35:25,120 Tas, ka. 2140 01:35:25,120 --> 01:35:30,720 >> Cross vietas skriptu, tāpēc šeit, jūs iet in via mainīgo q, 2141 01:35:30,720 --> 01:35:33,510 tā vietā, lai iet sava veida vērtības, varbūt q ir kā vārds. 2142 01:35:33,510 --> 01:35:36,560 Tā vietā, lai iet Q ir vienāds Davin vai kaut kas tamlīdzīgs, 2143 01:35:36,560 --> 01:35:38,740 Ja jūs neizmantojat HTML speciālie simboli, ja jums 2144 01:35:38,740 --> 01:35:43,100 neizvairītos to pārliecinātos, ka tas ir Labi, tad es varētu iet ar vietā, 2145 01:35:43,100 --> 01:35:46,910 teiksim šeit es saku drukāt vai kaut kas tamlīdzīgs, 2146 01:35:46,910 --> 01:35:51,070 tad es varētu iet šeit skripta zvanu. 2147 01:35:51,070 --> 01:35:53,140 >> Tātad, tā vietā, lai vienkārši kļūst mainīgo, 2148 01:35:53,140 --> 01:35:54,960 Es tad izpildīt šo skriptu zvanu. 2149 01:35:54,960 --> 01:35:57,065 Tik iekšā, ka skriptu zvanu, ko tas dara? 2150 01:35:57,065 --> 01:36:00,190 Dokumentu dot atrašanās vieta, kas notiek, lai mainīt atrašanās vietu dokumenta. 2151 01:36:00,190 --> 01:36:02,290 Tāpēc es esmu gatavojas novirzīt kaut kur citur. 2152 01:36:02,290 --> 01:36:08,170 To sauc slikts puisis šis piemērs, ļoti labs. 2153 01:36:08,170 --> 01:36:10,536 Nevarēju iedomāties vārdu. 2154 01:36:10,536 --> 01:36:12,410 Un tad, kas ir vēl sliktāk ir tas, ka es esmu gatavojas 2155 01:36:12,410 --> 01:36:16,832 lai pēc tam noteiktajā cookie, kas ir dažas mainīgais Man ir šajā mājas lapā. 2156 01:36:16,832 --> 01:36:19,040 Es esmu gatavojas noteikt, ka vienāds uz dokumentu dot cookie. 2157 01:36:19,040 --> 01:36:20,660 Tāpēc es esmu gatavojas nozagt jūsu cookie. 2158 01:36:20,660 --> 01:36:22,951 Un es esmu gatavojas novirzīt kādu informāciju mājas lapā 2159 01:36:22,951 --> 01:36:25,120 ka jums nevajadzētu piekļūt. 2160 01:36:25,120 --> 01:36:29,250 Un tas viss notiek tāpēc, ka tu esi nav izvairījusies, ko jūs esat redzējuši. 2161 01:36:29,250 --> 01:36:29,910 Yeah? 2162 01:36:29,910 --> 01:36:32,160 >> Mērķauditorija: Tik vienkārši to skaidri, tas ir 2163 01:36:32,160 --> 01:36:37,550 vulnerable.com ka ir neaizsargāti pret šo. 2164 01:36:37,550 --> 01:36:39,300 Tā, ka saikne var parādīties jebkurā konkrētā lapā. 2165 01:36:39,300 --> 01:36:42,200 Kāds noklikšķina uz to, iet uz vulnerable.com. 2166 01:36:42,200 --> 01:36:43,700 Jums ir sīkfailu vulnerable.com. 2167 01:36:43,700 --> 01:36:46,670 Teiksim Facebook ir neaizsargāti, tāpēc facebook.com. 2168 01:36:46,670 --> 01:36:48,310 Jums ir jūsu Facebook cookie. 2169 01:36:48,310 --> 01:36:50,925 Ko tas dara, tu esi dodas uz facebook.com, 2170 01:36:50,925 --> 01:36:53,990 tas ir uzreiz novirzot Jūs badguy.com, 2171 01:36:53,990 --> 01:36:57,182 bet ieskaitot jūsu cookie informāciju. 2172 01:36:57,182 --> 01:36:59,310 Tātad, tas ir ātrs novirzīšana, bet jūsu Facebook cookie 2173 01:36:59,310 --> 01:37:02,572 ir iekļauts ar šo pārorientēt, un tas, kā viņi [nedzirdama]. 2174 01:37:02,572 --> 01:37:04,280 Gabe: Jā, tur ir daži ļoti vidējais lietas 2175 01:37:04,280 --> 01:37:06,070 ka cilvēki var darīt, ja tur ir šis. 2176 01:37:06,070 --> 01:37:09,190 Piemēram, ja Facebook atļauts ikviens, lai mainītu savu lietotāja vārdu, 2177 01:37:09,190 --> 01:37:11,680 un viņi nedarīja kādu vesels saprāts pārbaudes, lai jūs 2178 01:37:11,680 --> 01:37:16,810 varētu ievietot JavaScript lieta, ka maina savu attēlu kāmja. 2179 01:37:16,810 --> 01:37:22,590 Un tas ievieto to pašu JavaScript uz visiem, kas apskata jūsu lapu. 2180 01:37:22,590 --> 01:37:26,400 Tātad visiem, kas skatās savu lapu ir vienu un to pašu lietotāja vārdu. 2181 01:37:26,400 --> 01:37:30,104 Un tāpēc, ka tas ir vīruss, tas izplatās eksponenciāli. 2182 01:37:30,104 --> 01:37:32,270 Davin: Mēs izlaist pēdējo viens, un tad mēs esam darījuši. 2183 01:37:32,270 --> 01:37:34,120 Tātad tas ir tikai vēl viens piemērs. 2184 01:37:34,120 --> 01:37:36,120 Tātad tas, ka viņi nav izvairījusies savu SQL tabulu. 2185 01:37:36,120 --> 01:37:37,090 Tātad jūs varat piliens to. 2186 01:37:37,090 --> 01:37:38,805 Tātad jūs vēlaties, lai izvairītos lietas. 2187 01:37:38,805 --> 01:37:44,010 Tas bija iepriekšējais piemērs ar pārrobežu vietas skriptu. 2188 01:37:44,010 --> 01:37:45,430 Sorry mums bija mazliet par vēlu. 2189 01:37:45,430 --> 01:37:46,870 Rīt, sorry! 2190 01:37:46,870 --> 01:37:48,560 Rīt, mums ir darba laiku. 2191 01:37:48,560 --> 01:37:50,870 Tātad biroja stundas Cabbot 8:00-11:00. 2192 01:37:50,870 --> 01:37:55,240 Par darba laiks ir stingri viktorīnas jautājumiem. 2193 01:37:55,240 --> 01:37:56,587