1 00:00:00,000 --> 00:00:08,070 2 00:00:08,070 --> 00:00:10,430 >> R.J. Aquino: Pieņemsim tikai sākt. 3 00:00:10,430 --> 00:00:12,310 Tātad šī ir viktorīna 1. 4 00:00:12,310 --> 00:00:14,890 Šeit ir daži augsta līmeņa informāciju. 5 00:00:14,890 --> 00:00:19,915 Par lapa viktorīnas ir šis URL, vairs CS50.net, lai gan tas 6 00:00:19,915 --> 00:00:21,080 joprojām strādā. 7 00:00:21,080 --> 00:00:26,920 Tas ir CS50.harvard.edu/quizzes/2013/1. 8 00:00:26,920 --> 00:00:31,070 Tas ir liels Par lapu, stāsta jums kur un kad, proti, nākamo trešdien 9 00:00:31,070 --> 00:00:32,100 ķekars numuriem. 10 00:00:32,100 --> 00:00:36,120 Un līdz nākamajam Trešdiena, es nozīmē divas dienas no tagad. 11 00:00:36,120 --> 00:00:37,890 Visa šī informācija ir tur. 12 00:00:37,890 --> 00:00:39,110 Bet tas ir kumulatīvi. 13 00:00:39,110 --> 00:00:43,790 >> Tātad viss no pirmajā pusē gadā ir iespējams uz viktorīnu, 14 00:00:43,790 --> 00:00:50,780 jo jūs nevar īsti darīt uzlabotas lietas C bez, ja apstākļi un 15 00:00:50,780 --> 00:00:51,920 cilpas un tamlīdzīgi. 16 00:00:51,920 --> 00:00:55,580 Bet būs uzsvars uz izejvielas, uz kurām kopš Viktorīna 0, 17 00:00:55,580 --> 00:00:59,570 sākot ar structs un File I / O. Tas parasti vairāk 18 00:00:59,570 --> 00:01:01,620 grūtāks nekā viktorīnā 0. 19 00:01:01,620 --> 00:01:03,870 Vidējais vērtējums parasti ir zemāka. 20 00:01:03,870 --> 00:01:05,980 Cītīgi jāmācās. 21 00:01:05,980 --> 00:01:09,340 >> Kamēr jūs studējat, pārliecinieties, lai izmantotu CS50/discuss, lai pēc jūsu jautājumiem 22 00:01:09,340 --> 00:01:10,830 un izlasīt citu cilvēku jautājumiem. 23 00:01:10,830 --> 00:01:13,550 Tātad, ja jums nav nekādu jautājumu, piesakieties un lasīt 24 00:01:13,550 --> 00:01:14,580 savu draugu jautājumiem. 25 00:01:14,580 --> 00:01:16,560 Viņi, iespējams, ir labi jautājumi. 26 00:01:16,560 --> 00:01:17,730 Un veikt praksi viktorīnas. 27 00:01:17,730 --> 00:01:20,750 Mēs esam sniedzot viktorīnas septiņus vai astoņus gadus. 28 00:01:20,750 --> 00:01:22,180 Viņi visi ir tiešsaistē. 29 00:01:22,180 --> 00:01:25,540 Nākotnes jautājumi ir līdzīgi veco jautājumiem. 30 00:01:25,540 --> 00:01:26,550 Tas ir, kā mēs viņus. 31 00:01:26,550 --> 00:01:27,740 >> Viktorīna vēl neeksistē. 32 00:01:27,740 --> 00:01:28,670 Neviens no mums ir redzējis. 33 00:01:28,670 --> 00:01:32,496 Bet tas izskatās iepriekšējie viktorīnas. 34 00:01:32,496 --> 00:01:36,500 Šajā pārskatīšanas sesijā, tas nav izsmeļošs tēmām. 35 00:01:36,500 --> 00:01:40,740 Jūs varat ne tikai apmeklēt šo un pēc tam būt pilnīgi gatavs viktorīnas. 36 00:01:40,740 --> 00:01:43,330 Pretējā gadījumā nebūtu ka daudz viktorīnā. 37 00:01:43,330 --> 00:01:46,270 Un tas arī nav obligāti viss, kas jums jāzina par kādu 38 00:01:46,270 --> 00:01:46,970 dota tēma. 39 00:01:46,970 --> 00:01:50,520 Tas ir domāts, lai pakļaut jūs lietām mēs esam uz, jums atgādināt to, ko mēs 40 00:01:50,520 --> 00:01:53,070 aptvēra, un veids, kas mēs uz to. 41 00:01:53,070 --> 00:01:57,030 Bet jums būs jāiet tālāk un dziļāk, ja jūs mācīties, lai vēlreiz pārbaudiet 42 00:01:57,030 --> 00:02:00,230 ka jūs zināt visu par kādu konkrētu tēmu un, ka jūs esat aizpildīta 43 00:02:00,230 --> 00:02:03,320 visas stūriem, kas bija uz lekciju. 44 00:02:03,320 --> 00:02:07,980 >> Viktorīnu piezīmes pateiks, lai dotos uz Scribe piezīmes, pulksteņu lekciju video. 45 00:02:07,980 --> 00:02:10,155 Tas ir labs veids, lai pārliecinātos, ka jūs esat aptvēra visas savas bāzes. 46 00:02:10,155 --> 00:02:12,670 47 00:02:12,670 --> 00:02:17,340 Tātad iesākumam, kad es šos slaidi, es mēģināju likt, kur es atklāju 48 00:02:17,340 --> 00:02:18,350 informāciju. 49 00:02:18,350 --> 00:02:22,890 Tātad File I / O, piemēram, nedēļa 7, Pirmdiena lekcija, un ievietojis 50 00:02:22,890 --> 00:02:27,960 6.pants un problēmu Set visiem ir Informācija par failu I / O. Es esmu darījusi 51 00:02:27,960 --> 00:02:28,840 šo par katru tēmu. 52 00:02:28,840 --> 00:02:33,010 Tātad šie virsraksts slaidi var būt noderīga jums. 53 00:02:33,010 --> 00:02:38,950 >> Tāpēc šeit mēs esam File I / O. Atcerieties, ka Problēma Uzstādīt 5, mēs izmantojām fopen, fclose, 54 00:02:38,950 --> 00:02:41,210 fwrite, fread un fseek. 55 00:02:41,210 --> 00:02:48,090 Ņemot atgūti 30ish JPEG un kam mainīti un messed ar 56 00:02:48,090 --> 00:02:50,320 bitkartes, jums vajadzētu būt diezgan pazīstams ar šīm funkcijām 57 00:02:50,320 --> 00:02:51,830 un kā viņi strādā. 58 00:02:51,830 --> 00:02:54,420 Ja jums vairs nav pazīstami, noteikti pārskatiet tos. 59 00:02:54,420 --> 00:02:56,860 Un pārliecinieties, ka jūs saprotat, ko dažādi argumenti, 60 00:02:56,860 --> 00:02:58,260 kad viņi lieto. 61 00:02:58,260 --> 00:03:03,620 >> Bet kopējā failu saistītās bugs Jums var būt jautāja par - 62 00:03:03,620 --> 00:03:07,270 labi, ja esat aizmirsis, lai pārbaudītu, vai fopen faktiski nostrādātās pirms dodaties 63 00:03:07,270 --> 00:03:08,350 modificēt failu. 64 00:03:08,350 --> 00:03:09,760 Tas varētu būt slikti. 65 00:03:09,760 --> 00:03:13,560 Ja esat aizmirsis fclose failu ka jūs esat fopened, kas ir līdzīgs 66 00:03:13,560 --> 00:03:14,400 atmiņas noplūde. 67 00:03:14,400 --> 00:03:15,980 Tas ir diezgan slikti. 68 00:03:15,980 --> 00:03:18,670 Un aizmirst, lai pārbaudītu, vai jūs esat sasnieguši failu pirms jums 69 00:03:18,670 --> 00:03:19,790 sāciet rakstīt uz to. 70 00:03:19,790 --> 00:03:22,320 >> Tātad, ja jūs sakāt, hey, es esmu faila beigas. 71 00:03:22,320 --> 00:03:23,750 Dodiet man vēl 5 baiti. 72 00:03:23,750 --> 00:03:27,370 Nu, tas ir iespējams, nebūs strādāt, kā jūs sagaida. 73 00:03:27,370 --> 00:03:30,930 Tas ir tiešām tas, lai File I / O, jo mēs darījām tik daudz no tā 74 00:03:30,930 --> 00:03:32,300 ar problēmu komplektu. 75 00:03:32,300 --> 00:03:36,000 Tātad, ja jums saprast, kas notiek problemātiskajās Set 5, atcerieties bitmats 76 00:03:36,000 --> 00:03:40,090 un JPEG, tad jūs, iespējams, visi noteikti File I / O. Ja tas ir mazliet 77 00:03:40,090 --> 00:03:44,770 izplūdušas, noteikti pārskatīs šo problēmu komplektu un saistītā materiāla. 78 00:03:44,770 --> 00:03:51,110 >> Structs bija jautājums, kas bija līnija starp Viktorīna 0 un viktorīnā 1. 79 00:03:51,110 --> 00:03:53,090 Nav gluži padarīt griezumu viktorīnā 0. 80 00:03:53,090 --> 00:03:57,040 Lai viņi būs noteikti par Viktorīna 1, 7 nedēļa, pirmdiena. 81 00:03:57,040 --> 00:03:58,150 Kas ir struktūrai? 82 00:03:58,150 --> 00:04:00,250 Šeit mēs parādīsim struct. 83 00:04:00,250 --> 00:04:03,140 Tas ir tāpat kā jauna tipa. 84 00:04:03,140 --> 00:04:07,940 Tas ir tāpat kā ar konteineru vairākiem laukiem. 85 00:04:07,940 --> 00:04:12,970 >> Šajā gadījumā mēs esam deklarēti struct students, ka ir divas jomas - 86 00:04:12,970 --> 00:04:17,750 virkne, kas mēs esam aicinot nosaukums un int, ka mēs aicinām vecumu. 87 00:04:17,750 --> 00:04:21,450 Tātad, kad es iet apkārt studentiem vai I modificēt studentus, es būšu spējīgs 88 00:04:21,450 --> 00:04:24,430 piekļūt savu vārdu un savu vecumu. 89 00:04:24,430 --> 00:04:26,670 Apskatīsim kādu kodu, kas. 90 00:04:26,670 --> 00:04:29,090 Šeit mēs redzam, ka es esmu deklarēts students s, tāpat kā 91 00:04:29,090 --> 00:04:30,300 Es apliecinu jebkuru mainīgais - 92 00:04:30,300 --> 00:04:32,430 int x, int y, un tā tālāk. 93 00:04:32,430 --> 00:04:34,180 >> Lūk students s. 94 00:04:34,180 --> 00:04:37,370 Viņš sāk ar neko savās jomās. 95 00:04:37,370 --> 00:04:38,240 Tā ļauj noteikt tos. 96 00:04:38,240 --> 00:04:40,681 Jūs noteikti laukus kādas struktūrai ar punktu. 97 00:04:40,681 --> 00:04:43,780 Tāpēc es esmu šeit teicis, ka s.name = RJ. 98 00:04:43,780 --> 00:04:46,470 Un s.age = 21. 99 00:04:46,470 --> 00:04:48,500 Jūs varat arī atjaunināt laukus tāpat jūs atjaunināt 100 00:04:48,500 --> 00:04:49,550 vērtība ir mainīgs. 101 00:04:49,550 --> 00:04:53,270 Tāpēc es vēlos mainīt savu vārdu no RJ ar Nav laika periodi, R.J. speltas 102 00:04:53,270 --> 00:04:54,540 pareizais veids. 103 00:04:54,540 --> 00:04:58,890 Tas tiks s.name = RJ, pats kā mēs teicām to sākotnēji. 104 00:04:58,890 --> 00:05:00,030 Un tad jūs varat piekļūt tiem. 105 00:05:00,030 --> 00:05:00,930 >> Tāpēc mēs esam, kas viņiem. 106 00:05:00,930 --> 00:05:01,840 Mēs esam atjauninājuši tos. 107 00:05:01,840 --> 00:05:03,890 Jūs varat arī piekļūt tiem tajā pašā veidā. 108 00:05:03,890 --> 00:05:09,330 Tātad, šeit es esmu izdrukāšana R.J. Ir 21 gadus vecs. 109 00:05:09,330 --> 00:05:14,700 Un es esmu piekļūt šīs vērtības ar s.name un s.age. 110 00:05:14,700 --> 00:05:17,040 Tātad, kas ir piekļūt structs ar dot apzīmējumu. 111 00:05:17,040 --> 00:05:17,850 Yep, jautājums? 112 00:05:17,850 --> 00:05:21,176 >> Mērķauditorija: Vai ir iemesls par iepriekšējais slaidu, ka jums nav likts 113 00:05:21,176 --> 00:05:24,848 students augšējā rindā, piemēram typedef struktūrai students un pēc tam 114 00:05:24,848 --> 00:05:25,840 students beigās? 115 00:05:25,840 --> 00:05:29,040 >> R.J. Aquino: Tātad jautājums bija par Šī slaidu, mēs esam parasti redzējuši 116 00:05:29,040 --> 00:05:32,400 typedef struktūrai mezglu un tad no struct lauki un 117 00:05:32,400 --> 00:05:34,250 Pēc tam vārds mezglā. 118 00:05:34,250 --> 00:05:37,790 Un cik nāk šeit es neteicu, typedef struktūrai students un tad 119 00:05:37,790 --> 00:05:39,820 lauki struktūrai un pēc tam students? 120 00:05:39,820 --> 00:05:44,310 Iemesls ir tas, ka man nav nepieciešams piekļūt iekšpusē struktūrai. 121 00:05:44,310 --> 00:05:46,270 Tātad, tas ir OK, lai atstāt bez nosaukuma. 122 00:05:46,270 --> 00:05:49,210 Es varu vienkārši atstāt to kā anonīms struktūrai. 123 00:05:49,210 --> 00:05:53,130 >> Iemesls mēs to saistītiem sarakstiem un viss ir tāpēc, ka iekšā jums ir nepieciešams 124 00:05:53,130 --> 00:05:55,360 atsauces struct mezglus zvaigzni. 125 00:05:55,360 --> 00:05:58,220 Tā struktūrai ir jābūt vārdu, lai jūs varētu to piekļūt vēlāk. 126 00:05:58,220 --> 00:05:59,540 Tā ir neliela detaļa. 127 00:05:59,540 --> 00:06:04,750 Bet jūs parasti redzēt typedef struktūrai cirtaini bikšturi, ja jums nav nepieciešams 128 00:06:04,750 --> 00:06:08,720 vārds un typedef struktūrai dažas nosaukumu seko cirtaini bikšturi, ja jūs 129 00:06:08,720 --> 00:06:09,520 vajag nosaukumu. 130 00:06:09,520 --> 00:06:12,070 Tātad, tas ir labs jautājums. 131 00:06:12,070 --> 00:06:17,000 >> Un šajā brīdī, mums ir tendence mainīt structs un iet apkārt structs ar 132 00:06:17,000 --> 00:06:18,680 atsauces, nevis vērtības. 133 00:06:18,680 --> 00:06:21,940 Tāpēc mēs vienkārši iet apkārt norādes uz structs nevis iet apkārt 134 00:06:21,940 --> 00:06:23,150 structs sevi. 135 00:06:23,150 --> 00:06:28,050 Tātad jūs esat ļoti bieži būs Izmantojot šajā gadījumā, students * vai 136 00:06:28,050 --> 00:06:34,150 struct mezglā * vai mezglu * vietā kas studentiem vai mezgliem. 137 00:06:34,150 --> 00:06:39,350 Tātad, šeit es esmu teica, OK, mainīgais PTR būs adrese s. 138 00:06:39,350 --> 00:06:45,570 Tas būs rādītājs studentam R.J. 139 00:06:45,570 --> 00:06:48,965 >> Tātad, mēs varam iegūt šajās jomās tāds pats kā mēs kaut. 140 00:06:48,965 --> 00:06:51,460 Pirmkārt, ID atsauces rādītāju iegūt struct. 141 00:06:51,460 --> 00:06:55,530 Tas ir * PTR un pēc tam dot un tad vecuma. 142 00:06:55,530 --> 00:06:58,790 Tātad, lai piekļūtu lauku, un es esmu atjaunināts tas tagad līdz 22, jo, pieņemsim 143 00:06:58,790 --> 00:07:00,860 teiksim, tā bija mana dzimšanas diena. 144 00:07:00,860 --> 00:07:03,990 Tur īsceļu sintakse Izmantojot bultiņu šeit. 145 00:07:03,990 --> 00:07:07,060 Tāpēc PTR arrow vecums ir tikai tāds pats kā * ptr.age. 146 00:07:07,060 --> 00:07:10,150 147 00:07:10,150 --> 00:07:11,550 Tagad tas ir kaut kas jums ir iegaumēt un atcerēties. 148 00:07:11,550 --> 00:07:15,010 >> Tu lieto to daudz kas pset6, Pareizrakstības PSET. 149 00:07:15,010 --> 00:07:18,350 Bet tas ir faktiski, kas notiek par zem motora pārsega. 150 00:07:18,350 --> 00:07:20,500 Tas dereferencing rādītāju un pēc tam piekļūt. 151 00:07:20,500 --> 00:07:21,432 Jautājums? 152 00:07:21,432 --> 00:07:22,682 >> Mērķauditorija: [nedzirdama]. 153 00:07:22,682 --> 00:07:25,860 154 00:07:25,860 --> 00:07:28,060 >> R.J. Aquino: Tad kāpēc mēs, izmantojot norādes, kā structs vietā 155 00:07:28,060 --> 00:07:29,500 structs sevi? 156 00:07:29,500 --> 00:07:33,740 Iemesls varētu būt, ja jūs iet struktūrai uz funkciju, jūs, iespējams, 157 00:07:33,740 --> 00:07:36,900 vēlas, lai iet apkārt tikai 4 vai tik baiti, kas pārstāv rādītāju, kā 158 00:07:36,900 --> 00:07:40,375 Atšķirībā no potenciāli 30 vai 40 baiti, kas ir struktūrai. 159 00:07:40,375 --> 00:07:44,410 Tā iet kaut uz funkciju ir vieglāk, ja lieta 160 00:07:44,410 --> 00:07:48,230 ir mazāks īss. 161 00:07:48,230 --> 00:07:49,074 Jautājums? 162 00:07:49,074 --> 00:07:53,026 >> Mērķauditorija: Jūs, iespējams, ir minēts šajā sākumā, bet ir tur 163 00:07:53,026 --> 00:07:56,000 citi slaidi augšu uz [dzirdams]? 164 00:07:56,000 --> 00:07:58,960 >> R.J. Aquino: Šie slaidi būs sagatavots pēc pārskatīšanas sesijas. 165 00:07:58,960 --> 00:08:00,210 Mēs pēc tās tīmekļa vietnē. 166 00:08:00,210 --> 00:08:02,450 167 00:08:02,450 --> 00:08:06,870 Tā pārvietojas uz un pārvietojas uz nedaudz ātrāk, mēs nokļūsim līdz runāt par datiem 168 00:08:06,870 --> 00:08:07,350 struktūras. 169 00:08:07,350 --> 00:08:08,040 Tur ir daudz. 170 00:08:08,040 --> 00:08:10,080 Mēs uz ķekars no tiem. 171 00:08:10,080 --> 00:08:12,500 Lūk, ko jums vajadzētu saprast par datu struktūru. 172 00:08:12,500 --> 00:08:15,590 >> Jums patiešām vajadzētu saprast, pie augsta līmenī, ko katrs struktūra. 173 00:08:15,590 --> 00:08:21,190 Vai jūs varat paskaidrot angļu Jūsu draugs, kas nav veikusi CS50 kā 174 00:08:21,190 --> 00:08:25,580 mēs organizēt savus datus, un tāpēc mēs gribētu var izmantot kaut ko šādā veidā? 175 00:08:25,580 --> 00:08:26,990 Tas ir lieta, viens. 176 00:08:26,990 --> 00:08:29,650 Lieta divi, saprast īstenošanu. 177 00:08:29,650 --> 00:08:34,270 Tātad, saprast, kā izmantot šīs lietas C. Un mēs iet pār to. 178 00:08:34,270 --> 00:08:39,030 >> Un tad lieta trīs būtu zināt palaist reizes un ierobežojumi 179 00:08:39,030 --> 00:08:40,470 dažādas struktūras, jūs izmantojat. 180 00:08:40,470 --> 00:08:44,059 Tātad, saprast, kāpēc jūs varētu izmantot hash tabulu, nevis masīva. 181 00:08:44,059 --> 00:08:49,570 Saprast, kā ātri, vidēji piekļūt hash tabulu ir. 182 00:08:49,570 --> 00:08:54,010 Saprast, ko operācijas ātri uz saistīts saraksts, bet lēni par masīvu un 183 00:08:54,010 --> 00:08:56,080 vice versa. 184 00:08:56,080 --> 00:08:59,780 Tātad, lai saprastu, ka jums ir saprotu, Big-O notācija tikai zināt 185 00:08:59,780 --> 00:09:01,310 Kā runāt par šiem veidu lietas. 186 00:09:01,310 --> 00:09:02,700 Un mēs runājam par to. 187 00:09:02,700 --> 00:09:06,040 >> Tātad pirmā lieta, kas saistīta sarakstus. 188 00:09:06,040 --> 00:09:07,770 Šeit ir augsta līmeņa attēlu gada saistītajā sarakstā. 189 00:09:07,770 --> 00:09:08,830 Mēs parādīsim to klasē. 190 00:09:08,830 --> 00:09:11,670 Mums parasti ir 10 cilvēki stāvot uz skatuves. 191 00:09:11,670 --> 00:09:16,790 Bet mums ir virkne mezglu, kur katrai mezgls ir kāda vērtība un rādītāju 192 00:09:16,790 --> 00:09:18,610 lai tās nākamajā vērtību. 193 00:09:18,610 --> 00:09:21,730 Tātad, lai nokļūtu no viena mezgla uz nākamo, jūs tikai teikt, dod man nākamo mezglu. 194 00:09:21,730 --> 00:09:22,530 Jums ir, ka mezglā. 195 00:09:22,530 --> 00:09:23,770 Dodiet man nākamo mezglu. 196 00:09:23,770 --> 00:09:24,400 Jums ir, ka mezglā. 197 00:09:24,400 --> 00:09:28,790 Iedodiet man nākamo mezglu un tā tālāk kamēr nav mezglā kreisi. 198 00:09:28,790 --> 00:09:31,850 >> Tā turpināt runāt par tā augstā līmenī. 199 00:09:31,850 --> 00:09:34,100 Tas ir ļoti viegli ievietot lietas uz saistītajā sarakstā. 200 00:09:34,100 --> 00:09:36,010 Ja Jums nav jārūpējas par to, lai, jūs varat piliens to 201 00:09:36,010 --> 00:09:36,840 labi sākumā. 202 00:09:36,840 --> 00:09:38,520 Tas ir nemainīgs laika. 203 00:09:38,520 --> 00:09:39,900 Bet tas ir grūti atrast kādu vērtību. 204 00:09:39,900 --> 00:09:43,060 Ja jūs mēģināt jautāt, ir septiņi manā sarakstā? 205 00:09:43,060 --> 00:09:44,740 Jums ir jāiet cauri katru vērtību. 206 00:09:44,740 --> 00:09:45,680 Tas ir septiņi? 207 00:09:45,680 --> 00:09:46,610 Tas ir septiņi? 208 00:09:46,610 --> 00:09:47,770 Tas ir septiņi? 209 00:09:47,770 --> 00:09:48,690 Tas ir septiņi? 210 00:09:48,690 --> 00:09:49,830 Atkal un atkal. 211 00:09:49,830 --> 00:09:51,520 Un tas ir O (n). 212 00:09:51,520 --> 00:09:53,800 Tātad, ja mācās par viktorīnu, salīdzināt to ar masīviem. 213 00:09:53,800 --> 00:09:57,010 214 00:09:57,010 --> 00:09:58,220 >> Vai tas ir OK? 215 00:09:58,220 --> 00:09:59,220 Gaismas devās blāvs. 216 00:09:59,220 --> 00:10:01,110 OK. 217 00:10:01,110 --> 00:10:02,400 Ja ir saistīts saraksts labāk? 218 00:10:02,400 --> 00:10:04,640 Ja ir masīvs labāks? 219 00:10:04,640 --> 00:10:06,670 Tātad, pieņemsim apskatīt dažas kodu. 220 00:10:06,670 --> 00:10:08,960 Šeit ir potenciāls mezglā. 221 00:10:08,960 --> 00:10:09,770 Tā struktūrai. 222 00:10:09,770 --> 00:10:12,220 Tas ir int n, kas būs mūsu vērtība. 223 00:10:12,220 --> 00:10:17,780 Un tas ir struct mezglā * blakus, kas ir mūsu rādītājs uz nākamo mezglu. 224 00:10:17,780 --> 00:10:23,040 Tāpēc šeit mēs varam redzēt, ka mēs noticis , ir likts int mūsu mezglā. 225 00:10:23,040 --> 00:10:27,850 Bet, ja tas būtu saistīts saraksts char Pagaidām vai saistīts saraksts pludiņiem, mēs 226 00:10:27,850 --> 00:10:28,820 pilnīgi varētu darīt, ka pārāk. 227 00:10:28,820 --> 00:10:33,110 >> Atceros pset6, jūs, iespējams, bija saistīts saraksts rakstur zvaigznes vai tikai 228 00:10:33,110 --> 00:10:34,360 statiskā char masīvi. 229 00:10:34,360 --> 00:10:37,370 230 00:10:37,370 --> 00:10:39,040 Apskatīsim šeit operācijas. 231 00:10:39,040 --> 00:10:43,570 Tāpēc mēs vēlamies, lai ievietotu jaunu n mūsu saistīts sarakstā. 232 00:10:43,570 --> 00:10:48,940 Mēs sākt ar galvu rādītāju, kas ir rādītāju uz šo mezglu, kas ir 233 00:10:48,940 --> 00:10:53,460 no n vērtības un tuvāko rādītājs, kas norāda uz šajā mezglā ir vērtība 234 00:10:53,460 --> 00:10:57,760 n un tuvākā null, jo tas ir pēdējais mezgls. 235 00:10:57,760 --> 00:11:00,440 Tā interesēs laika, es gribu nodot visu kodu uz ekrāna. 236 00:11:00,440 --> 00:11:03,130 Un mēs staigāt pa to dažas līnijas vienlaicīgi. 237 00:11:03,130 --> 00:11:05,790 >> Tātad, šeit ir kods. 238 00:11:05,790 --> 00:11:07,560 Es ceru, ka tas ir lasāms. 239 00:11:07,560 --> 00:11:11,275 Pirmā lieta, ko mēs darām, ir mēs malloc jaunu mezglu. 240 00:11:11,275 --> 00:11:15,105 Tātad, tas padara rādītāju uz jaunu mezglu, kas nav gluži ir kaut kas noteikti 241 00:11:15,105 --> 00:11:16,450 up to vēl. 242 00:11:16,450 --> 00:11:19,580 Mēs pārliecinieties, ka jaunā mezglu nav null. 243 00:11:19,580 --> 00:11:22,220 Pretējā gadījumā mums ir atdot. 244 00:11:22,220 --> 00:11:27,680 Tā ir pārbaudīts, ka mēs tagad noteiktas vērtības, kas mezglā. 245 00:11:27,680 --> 00:11:31,520 Tāpēc mēs uzdodam jauno n mūsu n laukā. 246 00:11:31,520 --> 00:11:36,050 Un mēs, kas nākamo rādītāju, lai norādītu oriģināls galvu, lai mēs varētu 247 00:11:36,050 --> 00:11:38,900 Tagad ir ievietota šī mezglu mūsu sarakstā. 248 00:11:38,900 --> 00:11:44,600 >> Visbeidzot, mums ir pasaules galvas punktu mūsu jauno mezglu, lai gadījumā, ja mēs būtu 249 00:11:44,600 --> 00:11:50,300 sākas galvā, mēs varētu būt šīs jaunu pirmo mezgla vietā 250 00:11:50,300 --> 00:11:51,560 vecais pirmās mezglā. 251 00:11:51,560 --> 00:11:55,320 Un, kad šī funkcija izejām, mainīgais jaunu mezglu vairs nepastāv, 252 00:11:55,320 --> 00:11:57,130 jo tas bija vietējā funkcijai. 253 00:11:57,130 --> 00:11:59,770 Tātad tas ir valsts pasaulē. 254 00:11:59,770 --> 00:12:03,570 Mūsu pasaules galvenais norāda uz mūsu jauno Pirmais mezglā, kas norāda uz mūsu 255 00:12:03,570 --> 00:12:06,346 oriģināla pirmās mezglā, kas punkti uz mezglu pēc tam. 256 00:12:06,346 --> 00:12:09,790 >> Tas bija ievietošanas. 257 00:12:09,790 --> 00:12:12,150 Es ceru, ka bija samērā vienkārši sekot. 258 00:12:12,150 --> 00:12:14,300 Ja šaubāties, uzzīmēt attēlu. 259 00:12:14,300 --> 00:12:17,820 Tāpēc es uzskatu, ka runājot par saistīti saraksti un meklē 260 00:12:17,820 --> 00:12:19,870 kods ir ļoti neder. 261 00:12:19,870 --> 00:12:23,790 Bet apskatot priekšstatu par saistīts saraksts ļauj man domāt, oh, tāpēc 262 00:12:23,790 --> 00:12:24,970 Man ir šī mezglā šeit. 263 00:12:24,970 --> 00:12:28,980 Bet, ja es mainīšu šo rādītāju, tas beidzas līdz atvienots. 264 00:12:28,980 --> 00:12:34,340 Un es esmu aizmirsis, kur mezglu iet. 265 00:12:34,340 --> 00:12:35,390 Un kodu izejām. 266 00:12:35,390 --> 00:12:37,830 Un jums ir vairākas mezglu kas tiek atvienoti. 267 00:12:37,830 --> 00:12:39,970 Un jums nav galu galā ar sarakstu, kuru vēlaties. 268 00:12:39,970 --> 00:12:43,320 >> Tātad, ja jūs izdarīt attēlu un darīt to soli pa solim, cerams, jūs redzēsiet 269 00:12:43,320 --> 00:12:46,840 pareizu lietu kārtību attiecībā uz atjaunināšanu norādes, lai pārliecinātos, ka 270 00:12:46,840 --> 00:12:48,830 ka sarakstā nāk kopā. 271 00:12:48,830 --> 00:12:51,240 Ieliktnis ir salīdzinoši vienkārša. 272 00:12:51,240 --> 00:12:55,210 Sarežģītāka viens varētu būt ievietošanai sakārtoti sarakstā. 273 00:12:55,210 --> 00:12:59,980 Sarežģītāks uzdevums ir izdzēst un atrast, lai skatoties caur saraksta 274 00:12:59,980 --> 00:13:03,030 redzēt, ja kaut kas ir tur. 275 00:13:03,030 --> 00:13:07,220 Varbūt jūs to pset6 kad jūs iekāpa savā hash tabulu, un jūs teicāt, 276 00:13:07,220 --> 00:13:10,460 labi, ir vārds ābolu manā saistīta sarakstā? 277 00:13:10,460 --> 00:13:11,440 >> Tātad, jums var jau to ir izdarījušas. 278 00:13:11,440 --> 00:13:15,530 Bet noteikti, atsvaidzināt savu atmiņu un mēģināt reimplement atrastu un 279 00:13:15,530 --> 00:13:19,150 reimplement izdzēst par saistītajā sarakstā. 280 00:13:19,150 --> 00:13:22,850 Jautri sānu piezīmi, tur arī divkārt saistīts sarakstus, kur jums ir 281 00:13:22,850 --> 00:13:27,490 norādes, kas norāda gan uz priekšu un atpakaļ, lai jūs varētu doties uz 282 00:13:27,490 --> 00:13:29,270 blakus mezglu un iepriekšējā mezglu. 283 00:13:29,270 --> 00:13:33,860 Un tur bija jautājums par pagājušā gada viktorīna šāda veida, runājot 284 00:13:33,860 --> 00:13:36,190 aptuveni divkārt saistīts sarakstus. 285 00:13:36,190 --> 00:13:40,070 >> Tagad tas ir struktūra, kas tu esi diezgan pazīstami ar, jo lielākā daļa 286 00:13:40,070 --> 00:13:42,520 no jums, iespējams, izmanto tos pset6. 287 00:13:42,520 --> 00:13:45,680 Lūk, viens, kas ir nedaudz mazāk pazīstami. 288 00:13:45,680 --> 00:13:51,020 Kā pusē piezīmi, es domāju, ka Quiz 1 ir galvenokārt grūtāk nekā Viktorīna 0, jo 289 00:13:51,020 --> 00:13:54,600 sīkumi jūs darāt, jūs nav darīts tik daudz. 290 00:13:54,600 --> 00:13:58,100 Likt, ka citu ceļu, lai Viktorīna 0, jums bija uzrakstījis daudz C Un mēs 291 00:13:58,100 --> 00:13:58,880 jautāja jums par C. 292 00:13:58,880 --> 00:14:02,310 >> Quiz 1, mēs esam gatavojas lūgt jums par PHP un JavaScript, kas jums 293 00:14:02,310 --> 00:14:03,490 nav rakstīts kā daudz. 294 00:14:03,490 --> 00:14:07,590 Mēs ejam, lai jums jautāt par C-kodu, Jums nav uzrakstījis tik daudz, 295 00:14:07,590 --> 00:14:09,130 šis modernais C sīkumi. 296 00:14:09,130 --> 00:14:11,520 Tāpēc noteikti, praksē stuff mēs runāja par lekciju, kas jums 297 00:14:11,520 --> 00:14:15,260 ne vienmēr darīt uz problēmu komplektu. 298 00:14:15,260 --> 00:14:17,870 >> Runājot par kuru, jums nav rakstīts kaudze uz problēmu komplektu. 299 00:14:17,870 --> 00:14:19,610 Bet tas bija lekciju. 300 00:14:19,610 --> 00:14:22,530 Šeit ir augsta līmeņa attēlu skursteņi, ka mēs parādīsim katru gadu. 301 00:14:22,530 --> 00:14:26,180 Tas ir kaudze paletes Mather ēdamzāle. 302 00:14:26,180 --> 00:14:30,570 Augstā līmenī, skursteņi ir pēdējais iekšā, pirmais ārā datu struktūra. 303 00:14:30,570 --> 00:14:32,040 Tas nozīmē, ka jūs gatavojas nodot lietas - 304 00:14:32,040 --> 00:14:36,400 1, 3, 7, 12, 14, negatīvi 0. 305 00:14:36,400 --> 00:14:39,180 Viena lieta, ko es nevarētu būt teica - negatīvs 3, 0. 306 00:14:39,180 --> 00:14:40,250 Jūs nodot visas šīs lietas iekšā 307 00:14:40,250 --> 00:14:42,940 Un pēdējais jums īstenot, ir pirmais viens, kas gatavojas iznākt. 308 00:14:42,940 --> 00:14:44,170 >> Tāpēc jums ir divas darbības - 309 00:14:44,170 --> 00:14:45,260 push un pop. 310 00:14:45,260 --> 00:14:49,180 Visi liekot, ka man bija žestu, piemēram, tas ir push. 311 00:14:49,180 --> 00:14:52,020 Un tad, kad es sasniegs līdz grab kaut vai sasniedz uz augšu sagrābt 312 00:14:52,020 --> 00:14:53,940 kaut kas, kas ir pop. 313 00:14:53,940 --> 00:14:55,540 Tāpēc mēs esam gatavojas īstenot skursteņi. 314 00:14:55,540 --> 00:14:57,870 Un mēs parādīja tos lekciju izmantojot bloki. 315 00:14:57,870 --> 00:14:59,550 Bet jūs varētu darīt to izmantojot saistītos sarakstus. 316 00:14:59,550 --> 00:15:01,770 Kaudze ir konceptuāls datu struktūra, nepatīk 317 00:15:01,770 --> 00:15:03,760 īstenošanai-specifisks. 318 00:15:03,760 --> 00:15:06,420 >> Tātad, ko tas var izskatīties? 319 00:15:06,420 --> 00:15:07,970 Tas izskatās kaut kas līdzīgs šim. 320 00:15:07,970 --> 00:15:10,840 Jūs ir veselu izmēru. 321 00:15:10,840 --> 00:15:16,000 Un jūs ir vērtību masīvu, kas mēs aicinām paplātes, jo tas ir 322 00:15:16,000 --> 00:15:18,570 kāda aina bija mums - int paplātes - 323 00:15:18,570 --> 00:15:21,740 un pēc tam daži maksimālo jaudu. 324 00:15:21,740 --> 00:15:27,100 Tātad, kas liktu izskatās? 325 00:15:27,100 --> 00:15:33,250 Nu, ja mums ir kaudze s, tad spiediet kaut kas uz s, mēs iegūtu 326 00:15:33,250 --> 00:15:34,620 lielums s. 327 00:15:34,620 --> 00:15:42,270 Un tas būtu nākamais atvērt vietas mūsu masīvs. 328 00:15:42,270 --> 00:15:50,510 Tātad, ja mums ir trīs lietas, kas mūsu steku, tad paplātes 3 būtu nākamais 329 00:15:50,510 --> 00:15:54,290 open spot, jo 0, 1, un 2 jau ir piepildītas. 330 00:15:54,290 --> 00:16:01,790 >> Tāpēc mēs ieliekam vērtību uz s.trays [s.size], trešās vietas. 331 00:16:01,790 --> 00:16:06,290 Un tad mēs solis s.size teikt, hey, mums bija trīs lietas, pirms. 332 00:16:06,290 --> 00:16:07,400 Tagad mums ir četri. 333 00:16:07,400 --> 00:16:10,180 Tāpēc nākamreiz, kad jūs push, jūs esat gatavojas nodot kaut uz 4. 334 00:16:10,180 --> 00:16:15,560 Vai nākamreiz pop, jūs gatavojas apskatīt 4 3 vietā vai neatkarīgi. 335 00:16:15,560 --> 00:16:18,000 Un tad mēs atgrieztos uzticīgi teiksim, hey, mums izdevās. 336 00:16:18,000 --> 00:16:19,160 Tas strādāja. 337 00:16:19,160 --> 00:16:22,060 Kā noteikums īkšķis, ja funkcija, kas ir vajadzēja atgriezties true vai 338 00:16:22,060 --> 00:16:26,370 viltus vienmēr atgriež taisnība, jūs varat ir darījuši kaut ko nepareizi. 339 00:16:26,370 --> 00:16:28,350 Tātad tas darbojas? 340 00:16:28,350 --> 00:16:32,400 >> Nu, tas darbojas naudas sodu par 1, un 2 un 3, un 4, un pieci. 341 00:16:32,400 --> 00:16:34,640 Bet pieņemsim, ka es sasniegt savu jaudu. 342 00:16:34,640 --> 00:16:38,750 Esmu tad uzskriet problēmas, jo ja izmērs ir tāds pats kā jaudu, Es 343 00:16:38,750 --> 00:16:43,340 tagad mēģina kaut ko uz masīvs, kur man nav vietas. 344 00:16:43,340 --> 00:16:46,980 Tik īsu pārbaudi, lai noteiktu to. 345 00:16:46,980 --> 00:16:51,630 Ja s.size == JAUDA, atgriezties viltus. 346 00:16:51,630 --> 00:16:54,130 Pretējā gadījumā, iet un darīt to, ko mēs darījām. 347 00:16:54,130 --> 00:16:55,660 Tātad, ko vēl mēs varētu lūgt jau apmēram skursteņi? 348 00:16:55,660 --> 00:16:56,460 Ko vēl vajadzētu mācīties? 349 00:16:56,460 --> 00:16:57,690 Ko vēl vajadzētu nodarboties? 350 00:16:57,690 --> 00:17:01,030 >> Nu, īstenojot pop. 351 00:17:01,030 --> 00:17:02,370 Mums jau bija push. 352 00:17:02,370 --> 00:17:04,280 Es noteikt to. 353 00:17:04,280 --> 00:17:08,180 Nav masīvs īstenošanu, kurā Jūs izmantojat saistīts saraksts, iespējams. 354 00:17:08,180 --> 00:17:09,390 Nav int īstenošanu. 355 00:17:09,390 --> 00:17:10,940 Mēs to darījām Ints šeit. 356 00:17:10,940 --> 00:17:11,880 Bet tas varētu būt bijis pludiņi. 357 00:17:11,880 --> 00:17:13,010 Es varētu būt bijis stīgas. 358 00:17:13,010 --> 00:17:14,290 Tas varētu būt bijis char zvaigznes. 359 00:17:14,290 --> 00:17:17,960 Paskaties pēdējos viktorīnas no veidiem jautājumi, mēs esam jautāja par skursteņi. 360 00:17:17,960 --> 00:17:20,000 >> Es saku, ka mēs uz skursteņi apkārt tāds pats kā mēs esam uz tās 361 00:17:20,000 --> 00:17:20,540 gadus iepriekš. 362 00:17:20,540 --> 00:17:24,400 Tātad viktorīna jautājumi būtu būt labs rādītājs. 363 00:17:24,400 --> 00:17:27,010 Virzās uz priekšu vēl ātrāk, rindas. 364 00:17:27,010 --> 00:17:28,200 Viņi, piemēram, skursteņi. 365 00:17:28,200 --> 00:17:29,960 Bet viņi pirmais iekšā, pirmais ārā. 366 00:17:29,960 --> 00:17:33,530 Ja jūs esat Lielbritānijas, vārdu rindā iespējams, veikusi daudz nozīmē jums. 367 00:17:33,530 --> 00:17:36,390 Pretējā gadījumā jums var būt dzirdējuši par to kā līniju. 368 00:17:36,390 --> 00:17:38,120 Viņi strādā kā līnijas pie Apple veikala. 369 00:17:38,120 --> 00:17:40,740 Pirmā persona, lai parādās pie 03:00 no rīta, ir pirmais 370 00:17:40,740 --> 00:17:42,880 personai iegādāties savu iPad. 371 00:17:42,880 --> 00:17:44,260 >> Tātad mums ir divas operācijas - 372 00:17:44,260 --> 00:17:45,720 Enqueue un dequeue. 373 00:17:45,720 --> 00:17:47,560 Enqueue liek kāds līniju. 374 00:17:47,560 --> 00:17:50,070 Dequeue velk pirmais persona off līnijas. 375 00:17:50,070 --> 00:17:52,640 Atgādināsim, ka mēs varam īstenot to ar masīvu. 376 00:17:52,640 --> 00:17:54,880 Tātad, kas ir struktūrai mums parādīja lekciju? 377 00:17:54,880 --> 00:17:57,660 Tas bija tas viens. 378 00:17:57,660 --> 00:17:59,300 Atkal, skaitļi. 379 00:17:59,300 --> 00:18:02,020 Atkal, lielumu un šī jaunā lieta front. 380 00:18:02,020 --> 00:18:04,880 Kāpēc ir kaut kas ko sauc front? 381 00:18:04,880 --> 00:18:07,050 Tas ir indekss nākamā elements dequeue. 382 00:18:07,050 --> 00:18:12,210 Tas ir tikai iekšēji sekotu pirmais puisis, kas parādās, lai mēs 383 00:18:12,210 --> 00:18:15,005 var pull it out, kad mums ir nepieciešams. 384 00:18:15,005 --> 00:18:19,322 >> Noteikti apskatīt lekciju piezīmes un mēģināt īstenot Enqueue un dequeue 385 00:18:19,322 --> 00:18:21,700 pētot uz viktorīnas. 386 00:18:21,700 --> 00:18:23,190 Svarīgas lietas, kas domā par. 387 00:18:23,190 --> 00:18:27,260 Iesaiņošana apkārt, ja priekšējā plus izmērs nonāks lielāks nekā jaudas. 388 00:18:27,260 --> 00:18:32,670 Atkal, ja jūsu struktūra ir pilna, jūs gatavojas ir problēma. 389 00:18:32,670 --> 00:18:34,780 Hash tabulas esat redzējis. 390 00:18:34,780 --> 00:18:39,820 Lielākā daļa no jums, iespējams, īsteno šo par pset6. 391 00:18:39,820 --> 00:18:44,210 Tā ir struktūra, kas tiecas uz O (1) konstantā ievietošanas un O (1) 392 00:18:44,210 --> 00:18:46,430 nemainīgs laiku lookup. 393 00:18:46,430 --> 00:18:49,760 >> In CS50, mēs īstenojām to kā masīvs saistītas sarakstiem. 394 00:18:49,760 --> 00:18:53,690 Galvenais elements, lai hash tabulu ir hash funkciju. 395 00:18:53,690 --> 00:18:58,350 Tātad, tas pārveido jūsu ieguldījumu, teiksim, vārdnīca vārdu, uz numuru, 396 00:18:58,350 --> 00:18:59,560 kas būs mūsu indeksu. 397 00:18:59,560 --> 00:19:01,410 Un mēs izmantot šo indeksu mūsu masīvs. 398 00:19:01,410 --> 00:19:05,374 Tātad, šeit ir cute maz attēlu No study.50.net. 399 00:19:05,374 --> 00:19:08,060 Mēs mest visus vārdus mūsu hash funkciju. 400 00:19:08,060 --> 00:19:10,950 Un hash funkcija stāsta kur likt šos vārdus. 401 00:19:10,950 --> 00:19:15,650 >> Tas viss ir liels zemes, kur tur ir tikai viens vārds par katru slota. 402 00:19:15,650 --> 00:19:20,480 Bet kā jūs atceraties no pset6, tur ir vairāk vārdu nekā slots. 403 00:19:20,480 --> 00:19:23,080 Tātad, kas notiek, ja jūs saņemt sadursmes? 404 00:19:23,080 --> 00:19:26,730 Tā vietā, lai uzglabātu vienu vērtību, teiksim, hash 3 tabulu, 405 00:19:26,730 --> 00:19:27,990 uzglabāt saistīts saraksts. 406 00:19:27,990 --> 00:19:32,900 Un tā vietā, kantalupe šeit jums būs saistīts saraksts, 407 00:19:32,900 --> 00:19:34,190 kur pirmais mezgls ir cantaloupe. 408 00:19:34,190 --> 00:19:35,260 Un nākamais mezgls ir kaķis. 409 00:19:35,260 --> 00:19:38,970 Un trešais mezgls ir sadursme, pieņemsim saka, jo visi šie vārdi sākas 410 00:19:38,970 --> 00:19:41,110 ar C. 411 00:19:41,110 --> 00:19:42,700 >> Tātad, lielākā daļa no jums bija šis pset6. 412 00:19:42,700 --> 00:19:45,685 Ja jums nav darīt hash tabulu pset6 un esat mēģinājuši kaut ko līdzīgu 413 00:19:45,685 --> 00:19:47,720 trie, noteikti jāpārskata hash tabulas. 414 00:19:47,720 --> 00:19:50,650 Ja jūs darīt to pset6, noteikti pārskatīt hash tabulas. 415 00:19:50,650 --> 00:19:53,610 Un, ja jūs to pset6, un tā nav izstrādāt taisnība un jums 416 00:19:53,610 --> 00:19:56,150 bija daudz problēmas ar to, noteikti pārskatīt hash tabulas. 417 00:19:56,150 --> 00:20:01,610 Tā mācība tiešām ir noteikti pārskatīt hash tabulas. 418 00:20:01,610 --> 00:20:07,130 >> Lielākā minoritāte no jums mēģināja kas mēģina uz pset6. 419 00:20:07,130 --> 00:20:08,570 Augsta līmeņa attēlu. 420 00:20:08,570 --> 00:20:15,150 Tas ir kaut kas līdzīgs šim, kur katra mezgls ir kopums bērniem, kur katrs 421 00:20:15,150 --> 00:20:17,100 bērns atbilst vēstuli. 422 00:20:17,100 --> 00:20:20,520 Un katru mezglu arī saka, hey, es esmu vārdu. 423 00:20:20,520 --> 00:20:25,933 Tātad šajā gadījumā, vārdu Maxwell, ja jums sekot M līdz A līdz 424 00:20:25,933 --> 00:20:28,530 X-W-A-L-L, un pēc tam tas vēl vienu. 425 00:20:28,530 --> 00:20:32,800 Un jūs saņemt šo simbolu, Delta, kas mēs neizsaka nozīmē tas ir vārds. 426 00:20:32,800 --> 00:20:34,780 Tāpēc Maxwell ir vārds. 427 00:20:34,780 --> 00:20:38,430 Šīs deltas ir visā iezīmējot kuras lietas ir vārdi un kuri 428 00:20:38,430 --> 00:20:40,360 lietas nav. 429 00:20:40,360 --> 00:20:46,400 >> Tātad pset6, datus mēs glabāti līdzās kāds no mūsu punktiem bija "Es esmu 430 00:20:46,400 --> 00:20:52,630 vārdu. "Un cool lieta par mēģina ir tie liecina ievietošanu un 431 00:20:52,630 --> 00:20:55,080 lookup O (garuma vārda). 432 00:20:55,080 --> 00:20:59,450 Tik vienkārši, lai saņemtu ar Maxwell, tas ir M-A-X-W-A-L-L. Tātad, septiņi vai astoņi - 433 00:20:59,450 --> 00:21:00,360 Es nevaru rēķināties - 434 00:21:00,360 --> 00:21:03,920 soļi, lai nokļūt līdz beigām un pārbaudīt lietas. 435 00:21:03,920 --> 00:21:06,800 Tik ātri īstenošana šeit. 436 00:21:06,800 --> 00:21:10,230 Rob pārdzīvoja saistīts uzskaitīt viņa līķa sekcija. 437 00:21:10,230 --> 00:21:11,600 Lai pārbaudītu, ka out. 438 00:21:11,600 --> 00:21:11,720 Piedodiet. 439 00:21:11,720 --> 00:21:13,240 Pārdzīvoja Trie viņa līķa sekcija. 440 00:21:13,240 --> 00:21:14,260 Lai pārbaudītu, ka out. 441 00:21:14,260 --> 00:21:24,410 >> Bet jūs būtībā ir katrs mezgls ir 27 norādes uz nākamo mezglu un viens 442 00:21:24,410 --> 00:21:27,050 Būla lai es esmu vārdu. 443 00:21:27,050 --> 00:21:31,530 Pārbaudiet Rob līķa sekcija, cik tas patiesībā ir īstenots. 444 00:21:31,530 --> 00:21:34,750 Mūsu gala struktūru, mūsu koki un bināro meklēšanas koku. 445 00:21:34,750 --> 00:21:41,530 Tātad, aplūkojot tos, tie tika ietverti pavisam nesen nedēļa 8, pirmdiena. 446 00:21:41,530 --> 00:21:46,960 Koks ir līdzīgs Trie, izņemot tevi ne vienmēr ir 27 mezgli pie 447 00:21:46,960 --> 00:21:47,500 katrs punkts. 448 00:21:47,500 --> 00:21:52,820 Un jums nav šos datus katrā solis, kas nozīmē, vai - 449 00:21:52,820 --> 00:21:54,030 ceļš nav nozīmes. 450 00:21:54,030 --> 00:22:00,870 Tā trie, ceļš no augšas uz apakšas, Maxwell, bija svarīgi, lai mums. 451 00:22:00,870 --> 00:22:05,270 >> Bet katrs mezgls ir vairākas bērni, varbūt. 452 00:22:05,270 --> 00:22:07,290 Mums ir dažas vairāk vārdu krājumu. 453 00:22:07,290 --> 00:22:09,530 Koka saknes ir pašā augšā. 454 00:22:09,530 --> 00:22:12,520 Un mēs sakām, ka ļoti viszemākais mezglu, kas ir ne 455 00:22:12,520 --> 00:22:14,530 bērni ir lapas. 456 00:22:14,530 --> 00:22:18,040 Tā kā Trie, koks ir struktūra mezgliem. 457 00:22:18,040 --> 00:22:21,490 Sastopamā koku veida, ka mēs ejam runāt, ir bināro koku, kur 458 00:22:21,490 --> 00:22:26,040 katrs mezgls nav bērnu vai viens bērns vai divi bērni. 459 00:22:26,040 --> 00:22:28,890 Tātad, šī aina šeit nav bināro koku, jo 460 00:22:28,890 --> 00:22:32,890 mezglu 3 ir trīs bērni. 461 00:22:32,890 --> 00:22:38,140 >> Bet, ja mēs ignorēt tos, pārējo no tā ir bināro koku, jo tas 462 00:22:38,140 --> 00:22:43,200 parāda īpašumu, katra mezgla ir nulle, viens vai divi bērni. 463 00:22:43,200 --> 00:22:46,400 Tātad, kā mēs varētu paust šo kodu? 464 00:22:46,400 --> 00:22:51,460 Mēs varētu būt mezglu, kurā katrs mezgls ir integer iekšpusē tā, kā arī 465 00:22:51,460 --> 00:22:55,590 kā rādītājs uz koku pa kreisi un rādītāju uz koku uz 466 00:22:55,590 --> 00:22:59,510 labi, tāpēc abiem bērniem. 467 00:22:59,510 --> 00:23:00,880 Kā tas ir lietderīgi? 468 00:23:00,880 --> 00:23:05,740 Nu, ja mēs noteikumus par to, kur mēs likts mezglus, mēs varam padarīt meklēšanu ātrāk. 469 00:23:05,740 --> 00:23:10,630 >> Tātad tur ir jēdziens bināro meklēšanu koku, kur visi mezgli 470 00:23:10,630 --> 00:23:14,420 atstāja subtree ir mazāka vērtība nekā mezglu mēs meklējam. 471 00:23:14,420 --> 00:23:17,880 Un visi mezgli labajā apakškoka ir lielāka vērtība 472 00:23:17,880 --> 00:23:18,660 kā root mezglā. 473 00:23:18,660 --> 00:23:20,670 Tagad tas izskatās daudz vārdu. 474 00:23:20,670 --> 00:23:23,770 Es esmu gatavojas nodot to iekšpusē dubultā citātus un parādīs attēlu. 475 00:23:23,770 --> 00:23:27,010 Tātad, šeit ir piemērs bināro meklēšanas koku. 476 00:23:27,010 --> 00:23:28,770 Redzēt, ka mēs sākam ar 10. 477 00:23:28,770 --> 00:23:31,780 Viss pa kreisi 10, ir mazāks par to. 478 00:23:31,780 --> 00:23:33,130 Un viss pa labi ir lielāks par to. 479 00:23:33,130 --> 00:23:37,620 >> Bet vairāk nekā, ka katrs mezgls koks izsaka šo īpašumu. 480 00:23:37,620 --> 00:23:42,110 Tāpēc mezglu 7 ir 3 līdz kreisās un 9 pa labi. 481 00:23:42,110 --> 00:23:44,440 Tātad, visi no tiem ir mazāks nekā 10. 482 00:23:44,440 --> 00:23:50,470 Bet meklē tikai tiem, 7 ir 3 tā pa kreisi un 9 līdz tās tiesības. 483 00:23:50,470 --> 00:23:56,100 Un tāpat labajā pusē, 15, ir 14 lai tā pa kreisi un 50, lai tā labi. 484 00:23:56,100 --> 00:24:03,770 Tātad trīs mezglus tur, 15, 14, un 50, ir arī derīga bināro koku 485 00:24:03,770 --> 00:24:05,480 vai derīga bināro meklēšanas koku. 486 00:24:05,480 --> 00:24:07,250 Un viņi visi ir lielāks nekā 10. 487 00:24:07,250 --> 00:24:08,960 Tāpēc tie ir atļauts būt par turpat. 488 00:24:08,960 --> 00:24:09,940 Vai ir jautājums? 489 00:24:09,940 --> 00:24:12,580 >> Mērķauditorija: Kā jūs tiekat galā, kad Jums ir divi Sevens? 490 00:24:12,580 --> 00:24:12,850 >> R.J. Aquino: Jā. 491 00:24:12,850 --> 00:24:16,550 Kā jūs tiekat galā ar diviem lielumiem , kas ir vienādi? 492 00:24:16,550 --> 00:24:21,465 Daži bināro meklēšanas koku teikt, ka jums ignorēt dublikātus, jo mērķis ir 493 00:24:21,465 --> 00:24:24,280 tikai teikt, es esmu redzējis šīs lietas līdz šim. 494 00:24:24,280 --> 00:24:28,120 Daži bināro meklēšanas koku jūs varētu teikt ir skaits iekšpusē mezglā. 495 00:24:28,120 --> 00:24:32,000 Citi varētu teikt, ka viss kreisā ir mazāks par vai vienāds ar. 496 00:24:32,000 --> 00:24:33,470 Un viss pa labi ir lielāks nekā. 497 00:24:33,470 --> 00:24:36,520 >> Tas vienkārši ir atkarīgs no tā, ko Problēma ir tā, jūs esat atrisināt. 498 00:24:36,520 --> 00:24:40,840 Tātad vārdnīcu, piemēram, jūs nebūtu rūp dublikātus. 499 00:24:40,840 --> 00:24:41,490 Jūs varētu mest ārā. 500 00:24:41,490 --> 00:24:44,719 Bet kāda cita problēma, jūs varētu rūpēties. 501 00:24:44,719 --> 00:24:49,242 >> Mērķauditorija: Vai ir iespējams, ka 1 pa kreisi 15, kas 502 00:24:49,242 --> 00:24:50,590 ir mazāks nekā 10? 503 00:24:50,590 --> 00:24:51,885 >> R.J. Aquino: Nē. 504 00:24:51,885 --> 00:24:56,570 Ja 14 šeit ir 1, tas nav derīgs bināro meklēšanas koku, 505 00:24:56,570 --> 00:25:00,840 jo viss uz tiesībām 10 ir būt lielāks par to. 506 00:25:00,840 --> 00:25:02,300 Un mēs redzēsim, kāpēc. 507 00:25:02,300 --> 00:25:07,960 Ja zemes meklējumos mans mērķis ir atrast 14, es sāku pie saknes. 508 00:25:07,960 --> 00:25:08,500 Tāpēc es izskatos. 509 00:25:08,500 --> 00:25:08,710 OK. 510 00:25:08,710 --> 00:25:10,670 Mēs ejam, lai sāktu pie saknes. 511 00:25:10,670 --> 00:25:12,500 Paskaties 10. 512 00:25:12,500 --> 00:25:16,050 >> Nu, 14, mūsu mērķis, ir lielāks nekā 10. 513 00:25:16,050 --> 00:25:17,370 Tātad tas ir labajā pusē. 514 00:25:17,370 --> 00:25:21,780 Tas ir ļoti līdzīgs visai telefonu grāmata, ko mēs darījām, bināro 515 00:25:21,780 --> 00:25:23,720 meklēt tur. 516 00:25:23,720 --> 00:25:26,430 Bet tā vietā bināro meklēšanu masīva, mēs esam binārais 517 00:25:26,430 --> 00:25:28,490 meklējot šo koku. 518 00:25:28,490 --> 00:25:31,260 Tāpēc mēs joprojām meklējam 14. 519 00:25:31,260 --> 00:25:32,480 Nu, 14, ir mazāks nekā 15. 520 00:25:32,480 --> 00:25:36,430 Tātad, ja tas ir mūsu koku, tai jābūt būt šajā jomā šeit. 521 00:25:36,430 --> 00:25:39,680 Tai jābūt tiesībām uz 10 un pa kreisi 15. 522 00:25:39,680 --> 00:25:42,250 >> Un tā mēs pārbaudām šo mezglu. 523 00:25:42,250 --> 00:25:45,790 Un Yay, mēs esam atraduši 14. 524 00:25:45,790 --> 00:25:46,760 Es neesmu gatavojas iet caur to. 525 00:25:46,760 --> 00:25:48,090 Bet šeit ir kods. 526 00:25:48,090 --> 00:25:49,690 Tas ir tiešām diezgan vienkārši, 527 00:25:49,690 --> 00:25:52,630 jo tas ir rekursīvs. 528 00:25:52,630 --> 00:25:55,420 Ko mēs varētu lūgt jums to darīt uz viktorīnu? 529 00:25:55,420 --> 00:25:57,000 Mēs varētu lūgt jums rakstīt šo kodu. 530 00:25:57,000 --> 00:25:59,170 Mēs varētu lūgt jums apskatīt šo kodu un mainīt šo kodu, un paskaidrot, ko 531 00:25:59,170 --> 00:26:00,210 tā dara. 532 00:26:00,210 --> 00:26:00,390 Jā. 533 00:26:00,390 --> 00:26:00,770 Jautājums? 534 00:26:00,770 --> 00:26:04,240 >> Mērķauditorija: Vai šie slaidi būs pieejami, jo tie bija pēdējo reizi? 535 00:26:04,240 --> 00:26:04,740 >> R.J. Aquino: Jā. 536 00:26:04,740 --> 00:26:06,460 Tātad šie slaidi noteikti būs ievietojis. 537 00:26:06,460 --> 00:26:08,640 >> Mērķauditorija: Viņi tiešām ievietojis tagad mājas lapā. 538 00:26:08,640 --> 00:26:10,020 David vienkārši darīja to. 539 00:26:10,020 --> 00:26:12,720 >> R.J. Aquino: Slaidi ir tagad mājas lapā. 540 00:26:12,720 --> 00:26:16,420 Es droši vien aizlāpīt pāris par typos es ievēroju un noteikt tiem. 541 00:26:16,420 --> 00:26:19,940 Bet tur ir pašreizējā versija uz vietas. 542 00:26:19,940 --> 00:26:21,820 Citas lietas, ko mēs varētu lūgt, lai jūs darīt - 543 00:26:21,820 --> 00:26:23,790 rakstīt ievietot. 544 00:26:23,790 --> 00:26:27,490 Rakstīt atkārtošanas versiju rekursīvas funkcijas mēs tikko parādīja jums 545 00:26:27,490 --> 00:26:32,520 vai runāt par šīm lietām, tāpat kā punkts, vārdos, teikumos. 546 00:26:32,520 --> 00:26:35,760 Salīdzinot palaist laiku un izskaidrojot ko jūs vēlaties izmantot bināro 547 00:26:35,760 --> 00:26:39,200 meklēšana koku vietā hash tabulu, piemēram. 548 00:26:39,200 --> 00:26:43,580 >> Tāpēc saprotu šīs struktūras pie diezgan dziļā līmenī. 549 00:26:43,580 --> 00:26:47,440 Saprast, kā rakstīt tos, kā izmantot tos, kā runāt par tiem. 550 00:26:47,440 --> 00:26:50,270 Un jūs visu komplektu. 551 00:26:50,270 --> 00:26:50,630 Jautājums? 552 00:26:50,630 --> 00:26:55,070 >> Mērķauditorija: Kad esat rakstiski bināro meklēšanas koku, kā jūs 553 00:26:55,070 --> 00:27:01,460 noteikt, kāda vērtību padara to par saknes? 554 00:27:01,460 --> 00:27:06,120 >> R.J. Aquino: Tātad jautājums ir, ko vērtība, jūs darīt, jo saknes? 555 00:27:06,120 --> 00:27:08,760 Atkarībā no jūsu kodu, jūs var būt globāla saknes. 556 00:27:08,760 --> 00:27:14,290 Tātad, jums var būt iespējams, bija pset6 globāla hash tabulu. 557 00:27:14,290 --> 00:27:18,640 Vai jūs varētu pāriet saknes kas kā argumentu. 558 00:27:18,640 --> 00:27:23,810 Tāpēc šis meklēšanas funkcija šeit ņem argumentu mezglu *. 559 00:27:23,810 --> 00:27:27,420 Un tā kāds mezgla tev gadās būt meklē ir viens jūs ārstē 560 00:27:27,420 --> 00:27:31,510 kā jūsu saknes, kad jūs nodot to collas 561 00:27:31,510 --> 00:27:32,320 Un es esmu visu komplektu. 562 00:27:32,320 --> 00:27:33,480 Tās ir manas slaidi. 563 00:27:33,480 --> 00:27:35,940 Nākamais cilvēks var nākt swap ar portatīvo datoru un mikrofonu. 564 00:27:35,940 --> 00:27:47,390 565 00:27:47,390 --> 00:27:49,760 >> ROB BOWDEN: Es domāju, ka es varētu būt interpretēja šo jautājumu savādāk. 566 00:27:49,760 --> 00:27:53,826 Bet es interpretē to kā, ja jums ir skaitļus 1, 2 un 3, kā mēs 567 00:27:53,826 --> 00:27:56,720 jāzina, lai padarītu 2 saknes pretstatā 1 vai 3? 568 00:27:56,720 --> 00:27:59,480 Ja mēs 2 saknes, tad tas ir labi 1 un 3 pa kreisi un pa labi. 569 00:27:59,480 --> 00:28:04,610 Bet, ja 1 ir sakne, tad tas ir 1 top, 2 labi, 3 pa labi. 570 00:28:04,610 --> 00:28:10,880 Tātad pēc noklusējuma, jūs nezināt ko darīt saknes. 571 00:28:10,880 --> 00:28:15,400 Un jebkura algoritmu mēs sagaidām, lai dot jums, tikai pirmā lieta, jūs 572 00:28:15,400 --> 00:28:16,680 ieliktnis būtu saknes. 573 00:28:16,680 --> 00:28:19,890 Vai mēs gribētu jums bināro koku, kas jau pastāv, ka ir saknes. 574 00:28:19,890 --> 00:28:24,760 Bet citi algoritmi pastāv tāds, ka saknes atjauninās, lai gadījumā, ja jums 575 00:28:24,760 --> 00:28:28,370 nonākt situācijā, kur tas ir 1, 2, 3, tas automātiski atjaunināt 576 00:28:28,370 --> 00:28:30,900 veikt 2 jauno saknes, lai tas joprojām ir labi līdzsvaroti. 577 00:28:30,900 --> 00:28:33,750 578 00:28:33,750 --> 00:28:34,833 >> ANGELA LI: Cool. 579 00:28:34,833 --> 00:28:36,170 Hei, puiši. 580 00:28:36,170 --> 00:28:37,810 Es esmu Angela. 581 00:28:37,810 --> 00:28:42,490 Un es esmu gatavojas, lai pabeigtu pie mūsu C un tad doties uz kādu no mūsu mājas 582 00:28:42,490 --> 00:28:43,120 tehnoloģijas - 583 00:28:43,120 --> 00:28:46,570 HTTP, HTML un CSS. 584 00:28:46,570 --> 00:28:49,610 Tātad pirmā lieta ir buferis pārpildes uzbrukumiem. 585 00:28:49,610 --> 00:28:53,070 Tātad, pieņemsim to apskatīt šo kodu. 586 00:28:53,070 --> 00:28:54,260 Tas ir diezgan vienkārši. 587 00:28:54,260 --> 00:28:55,460 Tur ir funkcija foo. 588 00:28:55,460 --> 00:28:56,990 Un tas neatgriežas neko. 589 00:28:56,990 --> 00:29:00,950 Bet tas notiek tādā rādītājs uz virkni sauc bar. 590 00:29:00,950 --> 00:29:04,920 >> Un tas notiek, to paziņot buferis, kas ir raksturs 591 00:29:04,920 --> 00:29:07,690 masīvs, kas ir 12 slots. 592 00:29:07,690 --> 00:29:11,730 Un tā izmanto memcpy, kas ir tikai funkcija, kas kopijas no vienas adreses 593 00:29:11,730 --> 00:29:12,910 uz citu. 594 00:29:12,910 --> 00:29:19,400 Tātad šis mēģina iekopēt mūsu bufera no jebkādiem 595 00:29:19,400 --> 00:29:21,140 josla ir vērsta uz. 596 00:29:21,140 --> 00:29:24,640 Tātad, kāda ideja, ko es daru nepareizi ar šo kodu? 597 00:29:24,640 --> 00:29:27,568 598 00:29:27,568 --> 00:29:30,830 >> Mērķauditorija: Ja josla ir garāks par C, tie tiks pārrakstīta. 599 00:29:30,830 --> 00:29:31,520 >> ANGELA LI: Jā, tieši tā. 600 00:29:31,520 --> 00:29:34,200 Mums nav nekādu garantiju, ka bar būs mazāks par 12 gadiem. 601 00:29:34,200 --> 00:29:36,080 Mēs tikko veikts kādu patvaļīgu skaitu 12. 602 00:29:36,080 --> 00:29:38,380 Un mēs bijām kā, pieņemsim ceram, ka Mūsu lietotāja ievadi ir mazāks nekā 603 00:29:38,380 --> 00:29:40,440 12 rakstzīmes garš. 604 00:29:40,440 --> 00:29:46,320 Tātad, ideālā pasaulē, ja mūsu ieguldījums ir vienmēr kā plānots, tad mēs iegūtu 605 00:29:46,320 --> 00:29:47,550 kaut kas līdzīgs, sveiki. 606 00:29:47,550 --> 00:29:48,920 Tas ir mazāk nekā 12 rakstzīmes. 607 00:29:48,920 --> 00:29:51,870 Tas izpaužas lasīt uz char c. 608 00:29:51,870 --> 00:29:53,280 Un tad mēs kaut ko darīt ar to. 609 00:29:53,280 --> 00:29:54,800 Tas nav īsti jautājums. 610 00:29:54,800 --> 00:29:59,740 >> Bet ļaunprātīgs cilvēks varētu darīt kaut ko vairāk, piemēram, tas, kur viņi 611 00:29:59,740 --> 00:30:04,760 dod mums kāds josla ir vērsta uz, tas notiek, lai norādītu uz šo milzīgo masīva 612 00:30:04,760 --> 00:30:06,280 vienkārši s. 613 00:30:06,280 --> 00:30:10,680 Un tas ir veids, kā ilgāks par 12 gadiem. 614 00:30:10,680 --> 00:30:13,830 Tātad, tas notiek, lai iet visu ceļu noteikti šeit, kur atdeve 615 00:30:13,830 --> 00:30:15,420 adrese, ko izmanto, lai būtu. 616 00:30:15,420 --> 00:30:17,860 Tātad pieņemsim, ka šo funkciju sauc foo. 617 00:30:17,860 --> 00:30:20,970 Varbūt foo sauca kādu citu funkcija, kuru sauca par galveno. 618 00:30:20,970 --> 00:30:24,890 Tātad, ja foo darbojas, tai ir zināt, kur atgriezties. 619 00:30:24,890 --> 00:30:29,130 >> Ja foo sauca kādu funkciju nosaukts baz, tas ir zināt, ka tas ir 620 00:30:29,130 --> 00:30:30,250 got, lai dotos atpakaļ uz Baz. 621 00:30:30,250 --> 00:30:34,040 Un tas ir, ko tas atpakaļadresi noteikti šeit ir stāsta mums. 622 00:30:34,040 --> 00:30:38,340 Bet, ja mēs pārrakstīt to ar kādu citu adrese, šajā gadījumā tas ir 623 00:30:38,340 --> 00:30:42,650 pārstāvniecība adresē Pašā sākumā šo buferi, tad 624 00:30:42,650 --> 00:30:45,240 to, kas patiesībā notiek varētu notikt ir tas, ka tā vietā, lai atgriežoties Baz, 625 00:30:45,240 --> 00:30:48,470 kuru sauc par mūsu darbību, tas ir tikai kas iet uz priekšu ar šo kodu. 626 00:30:48,470 --> 00:30:53,930 >> Un, ja tas bija tur, jo ļaunprātīgs hakeris dude nāca un 627 00:30:53,930 --> 00:30:56,820 injicējis šo, tad varbūt šī summa no s nav faktiski ir. 628 00:30:56,820 --> 00:31:02,030 Un tas ir faktiski tikai kodu, kas pārtraukumus datoru vai kaut ko. 629 00:31:02,030 --> 00:31:05,930 Tātad, lai būtu aizsardzības par šāda veida lieta, jums ir nekad pieņemt, ka 630 00:31:05,930 --> 00:31:09,120 lietotāja ievade ir zināma daudzums rakstzīmes. 631 00:31:09,120 --> 00:31:13,310 Piemēram, ja jūs darījāt Pareizrakstības, jūs esat teicis, ka vārdi bija 632 00:31:13,310 --> 00:31:15,580 tikai būs 40 rakstzīmes ilgi maksimums. 633 00:31:15,580 --> 00:31:16,570 Un tas bija labs. 634 00:31:16,570 --> 00:31:20,150 >> Bet, ja ne, tad jums būs pārliecinieties, lai tikai lasīt 45 635 00:31:20,150 --> 00:31:21,520 zīmes vienlaicīgi. 636 00:31:21,520 --> 00:31:24,430 Pretējā gadījumā jūs varētu pārrakstīt Jūsu buferis. 637 00:31:24,430 --> 00:31:26,140 Kādi jautājumi par to. 638 00:31:26,140 --> 00:31:26,733 Jā. 639 00:31:26,733 --> 00:31:28,850 >> Mērķauditorija: Vai jūs vienkārši runāt nedaudz vairāk par šo? 640 00:31:28,850 --> 00:31:29,790 >> ANGELA LI: Sorry. 641 00:31:29,790 --> 00:31:31,040 Jā. 642 00:31:31,040 --> 00:31:32,813 643 00:31:32,813 --> 00:31:35,870 >> Mērķauditorija: mic ir tikai video. 644 00:31:35,870 --> 00:31:37,640 Es centīšos un projekts. 645 00:31:37,640 --> 00:31:39,900 Hi, guys. 646 00:31:39,900 --> 00:31:40,920 Sup? 647 00:31:40,920 --> 00:31:45,330 Tātad, pieņemsim iet pāri dažas lietas CS50 bibliotēka, kas jūs esat, izmantojot 648 00:31:45,330 --> 00:31:49,072 visi semestris, galvenokārt saņemt lietotāja ievadi. 649 00:31:49,072 --> 00:31:53,140 Kā jūs zināt, jūs iekļaut CS50 bibliotēka, tikai darot CS50.h, kas 650 00:31:53,140 --> 00:31:55,660 satur visus prototipus funkcijas, ko varat izmantot, piemēram, 651 00:31:55,660 --> 00:31:58,640 GetString un GetInt, un GetFloat, uc. 652 00:31:58,640 --> 00:32:02,870 Un tur tas ir viens līnija CS50 bibliotēka, kas definē virkni, kas 653 00:32:02,870 --> 00:32:05,380 jūs guys visi zinām, ko tagad ir tikai char *. 654 00:32:05,380 --> 00:32:07,900 >> Bet pieņemsim palūrēt kā GetString darbi. 655 00:32:07,900 --> 00:32:10,010 Tas ir ļoti saīsinātā versija. 656 00:32:10,010 --> 00:32:15,090 Jūs varat uzvilkt CS50 bibliotēkas failus no, manuprāt, manuals.CS50.net. 657 00:32:15,090 --> 00:32:16,750 Un jūs varat izlasīt faktisko funkciju. 658 00:32:16,750 --> 00:32:19,330 Bet tas attiecas uz dažām svarīgas detaļas. 659 00:32:19,330 --> 00:32:23,870 Tāpēc mēs esam izveidojuši dažus buferi ar kādu jaudu. 660 00:32:23,870 --> 00:32:27,570 Un tas, ko mēs darām, ir mēs saņemam vienu rakstzīmi laikā no standarta n. 661 00:32:27,570 --> 00:32:30,910 Tas ir, ja lietotājs izejvielas tekstu konsole. 662 00:32:30,910 --> 00:32:33,430 >> Un tāpēc mēs esam gatavojas lasīt raksturs, ja vien tas nav jauns 663 00:32:33,430 --> 00:32:37,220 līniju, un tas nav beigām failu, kuru ir beigas standarta ievades. 664 00:32:37,220 --> 00:32:45,690 Un par katru rakstzīmi, ka mēs to lasot, ja šis raksturs nonāks pievienojot 665 00:32:45,690 --> 00:32:50,120 uz zīmju skaitu mēs esam lasīt in, un kas ir vairāk nekā mūsu spējas, 666 00:32:50,120 --> 00:32:53,490 tad ko mēs darām, ir, mēs vienkārši mainīt mūsu buffer tā, ka tas ir divreiz tik ilgi. 667 00:32:53,490 --> 00:32:56,950 Tātad vēlreiz, tas aizsargā pret buferi pārpildes uzbrukumiem, jo ​​jūs lasot 668 00:32:56,950 --> 00:32:58,315 rakstzīmju laikā. 669 00:32:58,315 --> 00:33:02,290 Un, ja kādā brīdī jūs lasīt pārāk daudz, jūs vienkārši paplašināt savu buferi. 670 00:33:02,290 --> 00:33:03,330 Jūs reizināt to ar divi. 671 00:33:03,330 --> 00:33:05,510 Un tad jums ir vairāk vietas. 672 00:33:05,510 --> 00:33:09,120 >> Pretējā gadījumā jūs vienkārši pievienot raksturs buferis. 673 00:33:09,120 --> 00:33:15,080 Un pēc tam, kad esat lasīt visu rakstzīmes, tas saruks buferi 674 00:33:15,080 --> 00:33:18,510 atpakaļ uz leju, lai normāla izmēra, pievienojiet null terminator, un pēc tam atgriezties. 675 00:33:18,510 --> 00:33:21,880 676 00:33:21,880 --> 00:33:24,960 Tagad aplūkosim GetInt. 677 00:33:24,960 --> 00:33:27,700 Vai jūs guys izlasīt šo? 678 00:33:27,700 --> 00:33:30,710 Es varu tuvinātu mazliet. 679 00:33:30,710 --> 00:33:33,410 680 00:33:33,410 --> 00:33:34,660 Es nezinu, kā datori strādā. 681 00:33:34,660 --> 00:33:40,840 682 00:33:40,840 --> 00:33:41,270 Nekas. 683 00:33:41,270 --> 00:33:42,520 Es nevaru tuvinātu pareizi. 684 00:33:42,520 --> 00:33:47,500 685 00:33:47,500 --> 00:33:48,770 >> Tas ir patiešām grūti. 686 00:33:48,770 --> 00:33:49,180 Piedod. 687 00:33:49,180 --> 00:33:51,490 Pieņemsim tikai apskatīt šo. 688 00:33:51,490 --> 00:33:57,140 Tātad, ko GetInt tas ir tas pirmais lasījuši virknē no GetString, kas 689 00:33:57,140 --> 00:33:59,250 mēs esam īstenots pirms tam. 690 00:33:59,250 --> 00:34:02,945 Un svarīga daļa atzīmēt, šeit ir, ja šādam dalījumam, ka tas beidzas līdz 691 00:34:02,945 --> 00:34:06,400 lasījums ir kā faktiski nav virknes, tad mēs vienkārši atgriezties INT_MAX pie 692 00:34:06,400 --> 00:34:09,409 pārstāvēt neveiksmes. 693 00:34:09,409 --> 00:34:12,645 Kāpēc mēs atgriežamies INT_MAX vietā Negatīvā 1 vai 1? 694 00:34:12,645 --> 00:34:13,895 Jebkuras idejas? 695 00:34:13,895 --> 00:34:16,853 696 00:34:16,853 --> 00:34:19,350 >> Mērķauditorija: [dzirdams] negatīvs 1 par vienu. 697 00:34:19,350 --> 00:34:20,070 >> ANGELA LI: Jā, tieši tā. 698 00:34:20,070 --> 00:34:24,560 Tātad jūs esat daudz vairāk varētu vienkārši vēlaties ievadi 1 vai negatīvo 1, kad tiek prasīts 699 00:34:24,560 --> 00:34:27,469 par n un neatkarīgi n Maxes. 700 00:34:27,469 --> 00:34:27,969 Tas ir milzīgs. 701 00:34:27,969 --> 00:34:29,690 Jūs, iespējams, nav gatavojas to izmantot. 702 00:34:29,690 --> 00:34:32,690 Tātad tas ir kā dizaina lēmums pārliecinieties, ka jums nav nejauši 703 00:34:32,690 --> 00:34:38,540 atpakaļ kļūda vai arī jums nav atgriezties 1, kas varētu būt analizēts 704 00:34:38,540 --> 00:34:41,199 kā pareizo atbildi. 705 00:34:41,199 --> 00:34:45,110 Tātad, ja līnijas nav, mēs atgriežamies INT-MAX. 706 00:34:45,110 --> 00:34:48,090 Pretējā gadījumā mēs izmantojam sscanf, kas ir kā scanf. 707 00:34:48,090 --> 00:34:49,449 Bet tas skan no virknes. 708 00:34:49,449 --> 00:34:54,310 >> Un mums ir šī formatēta virkne, kas ir% i% c. 709 00:34:54,310 --> 00:34:57,440 Un mēs cenšamies un saskaņot, ka ar neatkarīgi no lietotāja mums deva. 710 00:34:57,440 --> 00:35:01,420 Mēs vēlamies skaitu saskaņoto lietas ir 1, kas nozīmē, ka tikai 711 00:35:01,420 --> 00:35:04,940 patiešām vēlaties, lai atbilstu veselam skaitlim ieskauj varbūt balta 712 00:35:04,940 --> 00:35:06,840 telpas, varbūt ne. 713 00:35:06,840 --> 00:35:10,710 Šajā gadījumā, ja jūs nodot kaut ko piemēram, bārs neatbilst vispār, 714 00:35:10,710 --> 00:35:14,400 jo tur ir jābūt integer sākumā. 715 00:35:14,400 --> 00:35:17,060 Tāpēc sscan nekad pagriezās 0. 716 00:35:17,060 --> 00:35:19,640 Tātad jums nav atgriezties to. 717 00:35:19,640 --> 00:35:23,850 >> Alternatīvi, ja jūs nodot kaut ko , piemēram, 1, 2, 3, A, B, C, kas atbilst 718 00:35:23,850 --> 00:35:27,180 gan vesels skaitlis, bet arī raksturu pēc tā. 719 00:35:27,180 --> 00:35:29,990 Tāpēc sscanf atgriezīsies 2, kas arī nav ideāls. 720 00:35:29,990 --> 00:35:34,620 Nevēlaties 1, 2, 3,, B, C, ir iedarbīgs int. 721 00:35:34,620 --> 00:35:36,990 Lai arī nedarbojas. 722 00:35:36,990 --> 00:35:38,530 Bet saku jums īstenot kaut ko līdzīgu 50. 723 00:35:38,530 --> 00:35:42,460 Ka tiks atrasti% i, kas nozīmē, tā kļūs nolasīt n. 724 00:35:42,460 --> 00:35:44,790 Un tagad, n satur skaitli 50. 725 00:35:44,790 --> 00:35:46,110 Un tad jūs varat atgriezties to. 726 00:35:46,110 --> 00:35:49,270 >> Pretējā gadījumā jūs hit Mēģināt vēlreiz. 727 00:35:49,270 --> 00:35:55,790 Un tad tikai iet atkal, līdz Jūs saņemsiet pienācīgu atdevi no lietotāja. 728 00:35:55,790 --> 00:35:56,891 Kādi jautājumi par šo? 729 00:35:56,891 --> 00:36:02,182 >> Mērķauditorija: Tātad, ja jums bija izdrukāt vērtība GetInt par [dzirdams] 730 00:36:02,182 --> 00:36:06,250 tas būtu tikai skaitlim un maks? 731 00:36:06,250 --> 00:36:07,440 >> ANGELA LI: Jā. 732 00:36:07,440 --> 00:36:11,780 Tātad, ja jūs izmantojat GetInt, jums vajadzētu pieņemt, ka jūs nevēlaties, n-max līdz 733 00:36:11,780 --> 00:36:15,328 ir derīgs ieguldījums, jo jūs gatavojas pieņemt, ka tas bija slikti. 734 00:36:15,328 --> 00:36:27,740 >> Mērķauditorija: Ja mums nebūtu char c un kāds ievietot 1, 2, 3, Sam, vai tas 735 00:36:27,740 --> 00:36:29,430 joprojām strādā 1, 2, 3? 736 00:36:29,430 --> 00:36:29,750 >> ANGELA LI: Es domāju, ka tas varētu strādāt. 737 00:36:29,750 --> 00:36:33,340 Bet jūs nevēlaties 123Sam lai derīgam input lietotājs. 738 00:36:33,340 --> 00:36:34,670 Tas nav īsti int. 739 00:36:34,670 --> 00:36:36,840 Tātad tas nešķiet godīgi izanalizēt to kā int. 740 00:36:36,840 --> 00:36:40,910 741 00:36:40,910 --> 00:36:42,160 OK. 742 00:36:42,160 --> 00:36:45,800 Tādā gadījumā, pieņemsim pāriet uz internetu. 743 00:36:45,800 --> 00:36:49,120 Tāpēc HTTP nav valoda. 744 00:36:49,120 --> 00:36:56,060 HTTP ir tikai standartu kopumu, lai kā jūs nosūtīt lietām no klientiem, 745 00:36:56,060 --> 00:36:57,280 tas ir jums, lai serveriem. 746 00:36:57,280 --> 00:36:59,730 Tas ir citi cilvēki tīmeklī. 747 00:36:59,730 --> 00:37:02,900 >> Tāpēc HTTP apzīmē hiperteksta Pārsūtīšanas protokols. 748 00:37:02,900 --> 00:37:04,610 Tā ir sirds un dvēsele no visa interneta. 749 00:37:04,610 --> 00:37:07,050 Hiperteksta daļa tikko atsaucas uz HTML. 750 00:37:07,050 --> 00:37:10,690 Nodošana ir klienti, piemēram, jūs nosūtīs pieprasījumus 751 00:37:10,690 --> 00:37:13,060 serveri, kas sniedz atbildes. 752 00:37:13,060 --> 00:37:16,380 Un protokols ir vienkārši, kā darīt jūs sagaida serveris izturēties? 753 00:37:16,380 --> 00:37:19,960 Un kā jūs vajadzēja uzvesties piemēram, ka jūs varat racionalizēt šo 754 00:37:19,960 --> 00:37:21,920 komunikācijas process? 755 00:37:21,920 --> 00:37:26,650 >> Tāpēc HTTP pieprasījumus izskatās daudz, piemēram, šis. 756 00:37:26,650 --> 00:37:28,070 GET ir pieprasījuma veids. 757 00:37:28,070 --> 00:37:31,220 Jums puiši ir redzējuši GET pieprasījumus un POST pieprasījumus. 758 00:37:31,220 --> 00:37:36,690 Ka Otrā lieta ir, / me, tas ir tikai URI vai URL, kur jūs 759 00:37:36,690 --> 00:37:38,140 gribu iet ietvaros uzņēmējas. 760 00:37:38,140 --> 00:37:44,140 Tāpēc šo prasību lūdz lapas, piemēram, www.facebook.com / man. 761 00:37:44,140 --> 00:37:45,300 Un tas ir GET pieprasījumu. 762 00:37:45,300 --> 00:37:51,020 Un tad tas HTTP/1.1, tas ir tikai versija HTTP jūs izmantojat. 763 00:37:51,020 --> 00:37:55,020 Tas ir gandrīz vienmēr ir 1,1. 764 00:37:55,020 --> 00:37:56,880 >> Un tad tur ir ķekars citas lietas too. 765 00:37:56,880 --> 00:38:02,510 Jūs faktiski var redzēt, šiem, ja jūs atvērt savu konsoli, kad esat 766 00:38:02,510 --> 00:38:03,770 pārlūkojot tīmekli. 767 00:38:03,770 --> 00:38:07,290 Atbildes meklēt kaut ko vairāk, kā šis. 768 00:38:07,290 --> 00:38:09,620 Augšējā daļa ir, atkal, HTTP veida jūs izmantojat 769 00:38:09,620 --> 00:38:12,310 kam seko statusa kodu. 770 00:38:12,310 --> 00:38:14,700 Tātad 200 OK ir viss izstrādāts. 771 00:38:14,700 --> 00:38:16,200 Šeit ir jūsu saturu. 772 00:38:16,200 --> 00:38:17,390 Jūsu saturs ir gatavojas sekot. 773 00:38:17,390 --> 00:38:21,730 Un tad tas jums pateiks, kāda veida Satura un citas lietas too. 774 00:38:21,730 --> 00:38:24,620 >> Statusa kodi, ir maz svarīgi tiem, kas jums būtu jāzina. 775 00:38:24,620 --> 00:38:26,460 200 OK ir kā viss ir zelta. 776 00:38:26,460 --> 00:38:28,490 Viss strādā. 777 00:38:28,490 --> 00:38:29,710 403 Aizliegts. 778 00:38:29,710 --> 00:38:32,910 Šī jūs droši vien esat redzējuši, ja tu aizmirsi pareizi chmod kaut ko. 779 00:38:32,910 --> 00:38:34,510 Tas nozīmē, ka jums nav atļaujas, lai 780 00:38:34,510 --> 00:38:36,210 piekļūt, ka uz serveri. 781 00:38:36,210 --> 00:38:38,110 Tas ir tāpat, nē, jūs nevarat redzēt. 782 00:38:38,110 --> 00:38:39,780 404 nozīmē, ka lieta nav. 783 00:38:39,780 --> 00:38:40,400 Nav atrasts. 784 00:38:40,400 --> 00:38:41,640 Jūs, iespējams, esat redzējis, ka daudz. 785 00:38:41,640 --> 00:38:45,510 >> 500 Iekšējā servera kļūda parasti piemēram, kaut kas nogāja greizi uz pusi 786 00:38:45,510 --> 00:38:46,460 no servera. 787 00:38:46,460 --> 00:38:50,830 Tātad, kad jūs bijāt īstenojot pset7, ja jums bija PHP kļūdas, jūs varētu 788 00:38:50,830 --> 00:38:53,890 faktiski iet uz lapu un redzēt Visa ķekars PHP kļūdas sīkumi. 789 00:38:53,890 --> 00:38:56,900 Bet tas parasti nav notikt, tāpēc, ka tīmekļa vietnēs nav patiešām vēlaties 790 00:38:56,900 --> 00:38:58,830 pateikt, kāpēc viņu vietā tiek bojāta. 791 00:38:58,830 --> 00:39:03,370 Viņi droši vien tikai atpakaļ 500 Internal Server Error. 792 00:39:03,370 --> 00:39:06,120 >> Un tad tur ir 418 Esmu tējkanna. 793 00:39:06,120 --> 00:39:07,910 Tur ir viss stāsts par kāpēc tas ir lieta. 794 00:39:07,910 --> 00:39:09,860 Bet jūs varat lasīt par to, ka par savu laiku. 795 00:39:09,860 --> 00:39:11,450 Tur viss ķekars citi statusa kodus. 796 00:39:11,450 --> 00:39:12,700 Bet tie ir tie, Jums vajadzētu zināt. 797 00:39:12,700 --> 00:39:15,660 798 00:39:15,660 --> 00:39:18,610 Tāpēc parunāsim par HTML. 799 00:39:18,610 --> 00:39:22,180 HTML, atcerieties, nav programmēšanas valodu. 800 00:39:22,180 --> 00:39:23,510 Tas ir iezīmēšanas valoda. 801 00:39:23,510 --> 00:39:25,210 Tas nozīmē, ka tas apraksta saturu. 802 00:39:25,210 --> 00:39:30,440 Tā stāsta jums to, ko HTML dokuments izskatās patīk vai ne, kā tas izskatās 803 00:39:30,440 --> 00:39:32,230 bet cik tas ir strukturēts. 804 00:39:32,230 --> 00:39:36,110 >> Tāpēc tas definē struktūru un semantika interneta lapas. 805 00:39:36,110 --> 00:39:37,830 Tas ir, piemēram, tas ir punkts. 806 00:39:37,830 --> 00:39:40,060 Tas ir pasūtīts saraksts. 807 00:39:40,060 --> 00:39:42,360 Tas ir kā sadaļā manu lapu. 808 00:39:42,360 --> 00:39:43,260 Šeit ir virsraksts. 809 00:39:43,260 --> 00:39:44,310 Tas sīkumi, piemēram, ka. 810 00:39:44,310 --> 00:39:48,770 Tas nav stils kādu no tā, ka ka tas, ko jūs darāt CSS. 811 00:39:48,770 --> 00:39:50,270 Un tas izskatās sēriju ligzdotu tagus. 812 00:39:50,270 --> 00:39:54,720 Tātad, lai izmantotu piemēru patiešām pamata HTML lapas, jums ir DOCTYPE 813 00:39:54,720 --> 00:39:56,720 deklarācija tur. 814 00:39:56,720 --> 00:40:00,940 >> Tas DOCTYPE deklarāciju sakot, mēs esam izmantojot HTML5. 815 00:40:00,940 --> 00:40:03,370 Tad jums ir liels HTML tagu. 816 00:40:03,370 --> 00:40:05,230 Tā satur galvu un ķermeni. 817 00:40:05,230 --> 00:40:06,970 Iekšpusē galvu, jums ir titulu. 818 00:40:06,970 --> 00:40:12,950 Tas ir tas, ko iet nosaukumā joslā pārlūkprogrammu. 819 00:40:12,950 --> 00:40:15,810 Mums ir saite tagu, kas saista ārējā stila lapas. 820 00:40:15,810 --> 00:40:19,880 Un tad mums ir skripts, kas velk no ārēja JavaScript kā arī. 821 00:40:19,880 --> 00:40:23,750 >> Un tad iekšpusē mūsu ķermenī ir faktiski kas izpaužas redzams lapā. 822 00:40:23,750 --> 00:40:28,210 Mēs esam ieguvuši punktu, un pēc tam attēlu iekšā šajā punktā. 823 00:40:28,210 --> 00:40:32,000 Tas viens ir priekšstatu par kaķēniem. 824 00:40:32,000 --> 00:40:35,840 Ievērojiet, ka attēls tag aizveras pati. 825 00:40:35,840 --> 00:40:41,760 Tā vietā atvērt ar attēlu un tad darot citu / attēlu, jūs 826 00:40:41,760 --> 00:40:47,500 tikai šo mazo slīpsvītru šeit, kas aizver to. 827 00:40:47,500 --> 00:40:53,670 Un attēla tagu ir arī šo taustiņu vērtība atribūts sauc alt. 828 00:40:53,670 --> 00:40:56,970 Tas ir alternatīvs teksts, notiek, kad jūs lidināties pār to. 829 00:40:56,970 --> 00:41:03,170 >> Lielākā daļa HTML elementiem ir dažas galvenās vērtības lietas, ko jūs varat dot to, dažādi 830 00:41:03,170 --> 00:41:04,420 pielāgošanu. 831 00:41:04,420 --> 00:41:06,230 832 00:41:06,230 --> 00:41:08,705 Jā. 833 00:41:08,705 --> 00:41:09,955 >> Mērķauditorija: [nedzirdama]. 834 00:41:09,955 --> 00:41:17,510 835 00:41:17,510 --> 00:41:19,680 >> ANGELA LI: Nu, tā tas ir atribūts tag. 836 00:41:19,680 --> 00:41:25,320 Tātad, ja jūs, izmantojot jQuery, jūs varētu do izvēlieties image.getAttribute. 837 00:41:25,320 --> 00:41:27,930 Un tad jūs varat meklēt saņemt alt atribūtu. 838 00:41:27,930 --> 00:41:31,040 Un tas dos jums kaķēni. 839 00:41:31,040 --> 00:41:37,400 Ja jūs atceraties formas HTML, ievadi elementi būs nosaukums atribūtus. 840 00:41:37,400 --> 00:41:41,870 Un tas, ko PHP izmanto, lai nosūtītu pieprasījumus, ja ir iesniegti veidlapu. 841 00:41:41,870 --> 00:41:44,762 842 00:41:44,762 --> 00:41:50,064 >> Mērķauditorija: Vai jūs pieminēt kaut ko par to, kā tad, ja jūs izmantojat kittens.jpg vai 843 00:41:50,064 --> 00:41:54,410 kaut kas ir pazudis failu mapes vai citus failus? 844 00:41:54,410 --> 00:41:54,750 >> ANGELA LI: Jā. 845 00:41:54,750 --> 00:41:57,010 Tātad šis ir tas, ko sauc relatīvā ceļš, jo es neesmu dodot 846 00:41:57,010 --> 00:41:58,740 Jums pilnu ceļu. 847 00:41:58,740 --> 00:42:05,160 Tas ir tāpat, ja C, ja jūs fopen kādu failu, ja jums fopen hi.txt, ka 848 00:42:05,160 --> 00:42:09,190 hi.txt ir gaidāms, ka tas pats direktoriju, ja vien jūs arī tā vairāk 849 00:42:09,190 --> 00:42:11,530 sarežģīts ceļš. 850 00:42:11,530 --> 00:42:14,900 >> Mērķauditorija: Tātad, jūs varētu norādīt kura mape [dzirdams]? 851 00:42:14,900 --> 00:42:17,660 >> ANGELA LI: Jā. 852 00:42:17,660 --> 00:42:19,370 Un jūs varat meklēt, kā to izdarīt. 853 00:42:19,370 --> 00:42:23,480 Bet, ja es gribēju, lai saņemtu kittens.jpg out mātes direktorijā, es varētu darīt 854 00:42:23,480 --> 00:42:24,730 .. / Kittens.jpg. 855 00:42:24,730 --> 00:42:29,680 856 00:42:29,680 --> 00:42:30,930 Jā. 857 00:42:30,930 --> 00:42:32,960 858 00:42:32,960 --> 00:42:33,760 Piedodiet. 859 00:42:33,760 --> 00:42:34,045 Jā. 860 00:42:34,045 --> 00:42:35,700 Ak, cilvēks, es aizmirsu jautājumu. 861 00:42:35,700 --> 00:42:36,460 Kāds bija jautājums? 862 00:42:36,460 --> 00:42:39,570 Ak, jautājums bija ir, kittens.jpg sagaidāms, ka vienā un tajā pašā direktorijā? 863 00:42:39,570 --> 00:42:40,630 Un šajā gadījumā tā ir. 864 00:42:40,630 --> 00:42:44,030 Bet jūs varat arī piešķir tai noteiktu ceļu tāds, ka tas nav jābūt. 865 00:42:44,030 --> 00:42:47,100 866 00:42:47,100 --> 00:42:48,350 Labs? 867 00:42:48,350 --> 00:42:50,190 868 00:42:50,190 --> 00:42:51,350 >> CSS. 869 00:42:51,350 --> 00:42:55,420 Tātad CSS, piemēram, HTML, nav programmēšanas valodu. 870 00:42:55,420 --> 00:42:58,250 CSS ir tikai virkne veidošanas noteikumus. 871 00:42:58,250 --> 00:43:00,130 Tas nozīmē Cascading Style Sheets. 872 00:43:00,130 --> 00:43:03,910 Un jūs to izmantot kopā ar HTML, lai stila lapas. 873 00:43:03,910 --> 00:43:08,140 Tātad ir trīs veidi Jūs varat iekļaut to. 874 00:43:08,140 --> 00:43:11,950 Viens veids, kā jūs varat darīt, ir galvas daļa no jūsu HTML, jūs varat vienkārši 875 00:43:11,950 --> 00:43:15,410 atvērt stilu tagu un tad stick daži CSS noteikumi tur. 876 00:43:15,410 --> 00:43:16,759 Tas ir diezgan OK. 877 00:43:16,759 --> 00:43:17,228 Jā. 878 00:43:17,228 --> 00:43:21,449 >> Mērķauditorija: Vai jūs nodot tos style tagus starp, pieņemsim 879 00:43:21,449 --> 00:43:22,860 teiksim, ķermeņa un / body. 880 00:43:22,860 --> 00:43:27,400 Un tad jums būtu stils tikai organismā. 881 00:43:27,400 --> 00:43:28,840 >> ANGELA LI: Jūs varētu. 882 00:43:28,840 --> 00:43:29,590 Tā būs darbs. 883 00:43:29,590 --> 00:43:33,990 Bet jums nav, jo stils ir veida metadatu ka vajadzētu aiziet 884 00:43:33,990 --> 00:43:35,890 vadītājs dokumenta. 885 00:43:35,890 --> 00:43:38,280 Ķermenis patiešām vajadzētu būt tikai to, kas patiesībā notiek, lai 886 00:43:38,280 --> 00:43:39,420 parādīsies uz jūsu lapu. 887 00:43:39,420 --> 00:43:42,155 >> Mērķauditorija: Tātad jūs vēlaties nodot stilu galvu stilu 888 00:43:42,155 --> 00:43:43,930 Visa mājas lapā, vai ne? 889 00:43:43,930 --> 00:43:44,300 >> ANGELA LI: Jā. 890 00:43:44,300 --> 00:43:50,470 Tātad, liekot stilu šeit, šie CSS noteikumi kas attiecas uz visu lapā, pamatojoties uz 891 00:43:50,470 --> 00:43:52,100 to selektoru. 892 00:43:52,100 --> 00:43:57,090 Tātad labāks veids, kā to darīt, ir nevis Kam stils tagu galvu, 893 00:43:57,090 --> 00:44:00,430 jums ir šī saikne ar ārējo stilu loksne, piemēram, es parādīja jums 894 00:44:00,430 --> 00:44:01,980 Iepriekšējā piemērā. 895 00:44:01,980 --> 00:44:05,920 Kas tas ir tas mēģina un konstatē failu style.css un tad velk to 896 00:44:05,920 --> 00:44:08,470 in un izmanto, ka stilus lapā. 897 00:44:08,470 --> 00:44:10,500 Un jūsu style.css būtu tāpat izskatās šādi. 898 00:44:10,500 --> 00:44:13,330 Tas būtu tikai ķekars CSS. 899 00:44:13,330 --> 00:44:16,210 >> Un visbeidzot, tur ir vēl viens veids, kā jūs var ietvert CSS, kas jums patiešām 900 00:44:16,210 --> 00:44:17,480 nevajadzētu kādreiz darīt. 901 00:44:17,480 --> 00:44:18,950 Tas ir aicinājums inline stils. 902 00:44:18,950 --> 00:44:22,650 Un tāpēc jebkurš HTML elements var arī veikt stila atribūtu. 903 00:44:22,650 --> 00:44:26,320 Un tad šī stila atribūtu, Jūs varat arī tā CSS noteikumus. 904 00:44:26,320 --> 00:44:29,140 Tātad šajā gadījumā, lai kāds div es esmu nosakot tieši šeit, tas būs 905 00:44:29,140 --> 00:44:32,580 ir melna fona un balta teksta krāsa. 906 00:44:32,580 --> 00:44:35,620 Bet jums nevajadzētu darīt, jo tas, ko tas ir tas liek savu stilu 907 00:44:35,620 --> 00:44:36,850 iekšpusē jūsu HTML. 908 00:44:36,850 --> 00:44:40,530 >> Un es zinu, ka mēs esam runājuši par HTML ir struktūra un CSS ir stila. 909 00:44:40,530 --> 00:44:42,790 Ja jūs to izdarītu, tas maisījumi tos kopā. 910 00:44:42,790 --> 00:44:44,550 Un tas nav ļoti tīrs. 911 00:44:44,550 --> 00:44:45,800 Tāpēc nav darīt. 912 00:44:45,800 --> 00:44:47,690 913 00:44:47,690 --> 00:44:52,100 Izmantojot piemēru CSS, tur augšā, mēs vienkārši izvēlieties ķermeni HTML 914 00:44:52,100 --> 00:44:52,380 dokumentālo. 915 00:44:52,380 --> 00:44:55,110 Un mēs esam līdzīgi, viss ir būs Comic Sans. 916 00:44:55,110 --> 00:44:57,290 Es arī nedomāju, iesaku. 917 00:44:57,290 --> 00:44:59,940 Bet jūs varētu darīt. 918 00:44:59,940 --> 00:45:03,140 >> Otrais noteikums tieši šeit, tas notiek , lai izvēlētos elementu par 919 00:45:03,140 --> 00:45:04,880 lapa ar ID maģistrāles. 920 00:45:04,880 --> 00:45:11,690 Tātad, neatkarīgi HTML elementu, es teicu ID = Galvenais, es esmu gatavojas sniegt, ka 921 00:45:11,690 --> 00:45:16,020 20 pikseļu starpība un saskaņot visu, visu tekstu, uz centru. 922 00:45:16,020 --> 00:45:19,030 Pēdējā lieta, ko izvēlas ar CSS klasi. 923 00:45:19,030 --> 00:45:24,450 Tāpēc jebkurš elements uz lapu, kas man deva sadaļā klases, es esmu gatavojas darīt to 924 00:45:24,450 --> 00:45:26,602 fona krāsa gaiši zila. 925 00:45:26,602 --> 00:45:29,380 926 00:45:29,380 --> 00:45:30,040 Yep. 927 00:45:30,040 --> 00:45:30,700 Tas ir viss, ko es saņēmu. 928 00:45:30,700 --> 00:45:30,890 Jautājums? 929 00:45:30,890 --> 00:45:34,020 >> Mērķauditorija: Kāda hashtag pirms galvenās darīt? 930 00:45:34,020 --> 00:45:36,310 >> ANGELA LI: Jautājums ir, ko dara hashtag pirms galveno uzdevumu? 931 00:45:36,310 --> 00:45:40,770 Šajā gadījumā, hash kas CSS ir izvēlieties pēc ID. 932 00:45:40,770 --> 00:45:47,490 Tātad, ja man bija daži HTML elements, piemēram, divid = galvenais, tas CSS noteikums izvēlas 933 00:45:47,490 --> 00:45:49,260 lieta ar ID maģistrāles. 934 00:45:49,260 --> 00:45:53,940 Un līdzīgi, periods priekšā sadaļa ir izvēlēties, ko CSS klasi vai 935 00:45:53,940 --> 00:45:56,558 atlasīt pēc HTML klasē. 936 00:45:56,558 --> 00:46:00,940 >> Mērķauditorija: Kāpēc ir ir pirms 6 fona krāsu? 937 00:46:00,940 --> 00:46:01,270 >> ANGELA LI: Jā. 938 00:46:01,270 --> 00:46:03,360 Tātad jautājums ir, kāpēc ir hash pirms 6? 939 00:46:03,360 --> 00:46:05,320 Tas ir savādāka nekā šī hash. 940 00:46:05,320 --> 00:46:09,500 Tas nozīmē, ka jūs dodot heksadecimālo krāsu. 941 00:46:09,500 --> 00:46:14,260 Tātad hex krāsu, tas tikai ir krāsu. 942 00:46:14,260 --> 00:46:17,860 Un atceraties RGB trīskāršojas, kad jūs Kriminālistikas PSET? 943 00:46:17,860 --> 00:46:18,770 Tas ir līdzīgi. 944 00:46:18,770 --> 00:46:21,590 Pirmie divi cipari ir cik daudz ir sarkanā krāsā. 945 00:46:21,590 --> 00:46:23,260 Otrais divi pārstāv cik zaļš. 946 00:46:23,260 --> 00:46:25,450 Un trešais apzīmē cik daudz zilā krāsā. 947 00:46:25,450 --> 00:46:30,060 Un hash tas notiek pārstāvēt krāsu. 948 00:46:30,060 --> 00:46:35,660 >> Lai kaut ko no 0, 0, 0, 0, 0, 0 līdz F, F, F, F, F, F ir derīga. 949 00:46:35,660 --> 00:46:39,550 Tas ir sava derīgs krāsa, kas var parādīt jūsu pārlūkprogrammā. 950 00:46:39,550 --> 00:46:39,790 Jautājums? 951 00:46:39,790 --> 00:46:43,590 >> Mērķauditorija: Kāda ir atšķirība starp izmantojot pēc ID un klases? 952 00:46:43,590 --> 00:46:46,470 >> ANGELA LI: Jautājums ir par to, kas ir starpība starp 953 00:46:46,470 --> 00:46:48,950 izmantojot ar ID un klases? 954 00:46:48,950 --> 00:46:54,390 Jums var būt tikai viens elements HTML dokuments, kas ir dota ID. 955 00:46:54,390 --> 00:46:58,660 Lai tikai viena lieta, par manu lapu ir atļauts turēt ID Main. 956 00:46:58,660 --> 00:47:02,580 Tātad jūs to izmantot, tas ir iesākums. 957 00:47:02,580 --> 00:47:03,850 Tas ir navigācijas. 958 00:47:03,850 --> 00:47:05,230 Šī ir kājenes. 959 00:47:05,230 --> 00:47:09,070 Nodarbības ir atšķirīgi, jo jūs varat piemēro klases tik daudz HTML elementus 960 00:47:09,070 --> 00:47:10,100 kā jūs vēlaties. 961 00:47:10,100 --> 00:47:15,860 >> Tā, piemēram, man bija klases nodalījuma, jo tur ir iespējams vairāk nekā viens 962 00:47:15,860 --> 00:47:17,540 nodaļa manā lapā. 963 00:47:17,540 --> 00:47:20,200 Jūs tikai atļauts, lai būtu tik daudz elementi lapā ar pašu 964 00:47:20,200 --> 00:47:23,190 klase, bet tikai viens ar noteiktu ID. 965 00:47:23,190 --> 00:47:25,600 >> Mērķauditorija: Tātad dot pārstāv klasē? 966 00:47:25,600 --> 00:47:26,090 >> ANGELA LI: Jā. 967 00:47:26,090 --> 00:47:27,380 Punkts ir klasi. 968 00:47:27,380 --> 00:47:29,990 969 00:47:29,990 --> 00:47:31,540 Atdzist. 970 00:47:31,540 --> 00:47:32,370 Tas ir viss, ko es esam ieguvuši, puiši. 971 00:47:32,370 --> 00:47:33,544 Paldies. 972 00:47:33,544 --> 00:48:13,380 >> [Aplausi] 973 00:48:13,380 --> 00:48:14,290 >> ZAMYLA Chan: Hi, visiem. 974 00:48:14,290 --> 00:48:14,880 Es esmu Zamyla. 975 00:48:14,880 --> 00:48:18,830 Es esmu gatavojas aptver PHP, MVC, un SQL šodien. 976 00:48:18,830 --> 00:48:22,350 977 00:48:22,350 --> 00:48:26,110 Materiāla, ka es būtu daudz segums būs diezgan daudz 978 00:48:26,110 --> 00:48:29,100 tieši no pset7. 979 00:48:29,100 --> 00:48:29,700 Labi. 980 00:48:29,700 --> 00:48:31,180 Tātad, kas ir PHP? 981 00:48:31,180 --> 00:48:35,150 PHP nozīmē PHP hiperteksta Apstrādātāju. 982 00:48:35,150 --> 00:48:38,740 Tāpēc tas pats par sevi, ir rekursīvs nosaukumu, kas ir diezgan atdzist. 983 00:48:38,740 --> 00:48:42,220 PHP ir servera puses skriptu valoda, un tas nodrošina aizmuguri 984 00:48:42,220 --> 00:48:44,610 un loģisko pamatojumu, mūsu mājas lapā. 985 00:48:44,610 --> 00:48:48,520 >> Tātad Angela runāja daudz par HTML un CSS, kas padarīs struktūra 986 00:48:48,520 --> 00:48:49,530 mājas lapā. 987 00:48:49,530 --> 00:48:53,210 Bet kas notiks, ja jūs vēlaties mainīt saturu dinamiski, vai, ja tas ir atšķirīgs 988 00:48:53,210 --> 00:48:55,240 balstoties uz lietotāja vai konkrēti nosacījumi? 989 00:48:55,240 --> 00:48:57,060 Tas ir, ja PHP nāk collas 990 00:48:57,060 --> 00:49:02,610 Tagad, parasti, PHP var aizņemt dažas mazāk līnijas, lai īstenotu to pašu 991 00:49:02,610 --> 00:49:07,380 C. Tas ir tāpēc, ka PHP rokturi atmiņu pārvaldība programmētājs, 992 00:49:07,380 --> 00:49:11,170 pretstatā mums, kam malloc bezmaksas, lietām, piemēram, ka. 993 00:49:11,170 --> 00:49:15,430 >> Bet tā kā PHP ir interpretācijas valoda, parasti, tas varētu izpildīt 994 00:49:15,430 --> 00:49:19,540 nedaudz lēnāk nekā C, kas ir apkopota valoda. 995 00:49:19,540 --> 00:49:23,150 Jo mēs esam pārvietojas programmēšana valodas, aplūkosim, kā 996 00:49:23,150 --> 00:49:24,570 sintakse atšķiras. 997 00:49:24,570 --> 00:49:28,770 Būsim ļoti uzmanīgi, lai saņemt sajaukt ar to. 998 00:49:28,770 --> 00:49:33,750 Tātad ar PHP sintaksi, vai jums ir Iekļaujot jūsu PHP iekšpusē HTML 999 00:49:33,750 --> 00:49:40,430 failu vai ar. php failu sevi, jūs nepieciešams pievienot kodu atklātā 1000 00:49:40,430 --> 00:49:45,270 PHP un slēgtās PHP tagus, piemēram, izriet, tāpat kā uz ekrāna. 1001 00:49:45,270 --> 00:49:46,660 >> Mainīgie PHP. 1002 00:49:46,660 --> 00:49:51,490 Katru mainīga sāksies ar $ zīme, kam seko nosaukums 1003 00:49:51,490 --> 00:49:53,150 Jūsu mainīgs. 1004 00:49:53,150 --> 00:49:56,530 Tagad, mainīgie PHP ir brīvi drukāti, kas nozīmē, ka jums nav nepieciešams 1005 00:49:56,530 --> 00:50:00,030 lai norādītu, kāda datu tipu ir tad, kad jūs esat nedeklarējot. 1006 00:50:00,030 --> 00:50:03,505 Tomēr tas nenozīmē, ka viņi nav nekādu veidu vispār. 1007 00:50:03,505 --> 00:50:09,370 Tātad, ja es apliecinu, mainīgo un vienkārši noteikt tas ir vienāds ar 1, un tad es apliecinu 1008 00:50:09,370 --> 00:50:15,140 Vēl viens mainīgais, kas to ir vienāds ar "1", un tad vēl viens 1,0, labi, 1009 00:50:15,140 --> 00:50:19,410 atkarībā no vienlīdzības tipa operatoriem es izmantoju, ja es gribu, lai salīdzinātu 1010 00:50:19,410 --> 00:50:21,830 visos veidos, tad viņi būs vienāds. 1011 00:50:21,830 --> 00:50:25,570 Bet, ja es gribu, lai pārliecinātos, ka veidi ir vienādi, PHP joprojām var darīt 1012 00:50:25,570 --> 00:50:28,690 ka, lai gan mēs neliecina kāda veida tas ir, kad mēs 1013 00:50:28,690 --> 00:50:31,170 vispirms veikt failu. 1014 00:50:31,170 --> 00:50:33,990 >> Tagad, PHP, lai gan mēs esam pārejot no programmēšanas 1015 00:50:33,990 --> 00:50:39,360 valodas no C, mums joprojām ir mūsu drošs, ja nosacījums, tāpat kā šo. 1016 00:50:39,360 --> 00:50:43,270 Mums joprojām ir mūsu, vienlaikus cilpas, tikai kā šis, kur jūs nodot savu 1017 00:50:43,270 --> 00:50:47,300 stāvoklī, un pēc tam korpuss no cilpas. 1018 00:50:47,300 --> 00:50:50,360 Un tad mums ir arī mūsu cilpa, kas parasti izskatās šādi. 1019 00:50:50,360 --> 00:50:55,330 Tātad, ja es gribēju, lai atkārtot visā deviņi psets un iesniegt un zvanu 1020 00:50:55,330 --> 00:50:58,960 funkcija submitPset, tad es varu darīt, ka šeit, kas jums puiši ir visas 1021 00:50:58,960 --> 00:50:59,830 veikta saskaņā ar šo punktu. 1022 00:50:59,830 --> 00:51:01,080 Apsveicu, ko veidā. 1023 00:51:01,080 --> 00:51:04,560 1024 00:51:04,560 --> 00:51:07,550 >> Kamerai, cilvēki teica paldies. 1025 00:51:07,550 --> 00:51:11,220 Tagad, ja jūs nevēlaties, lai tikai izmantot šo cilpa, tad PHP faktiski arī 1026 00:51:11,220 --> 00:51:13,580 ir lietas, ko sauc foreach cilpas. 1027 00:51:13,580 --> 00:51:22,210 Tātad, ja man bija masīva integers, 0 līdz 8, glabājas masīvs psets, 1028 00:51:22,210 --> 00:51:27,290 tad es varētu būt foreach cilpa, kas vairākkārt uzsvērts, nekā katru numuru psets. 1029 00:51:27,290 --> 00:51:30,640 Un tad es varētu zvanīt pats darbojas astoņas reizes, 1030 00:51:30,640 --> 00:51:31,910 tāpat kā es darīju agrāk. 1031 00:51:31,910 --> 00:51:36,480 Tāpēc šis katram cilpa ir jauki, jo Jums nav, ja jūs nezināt, 1032 00:51:36,480 --> 00:51:39,470 precīzs garums masīva, kas jums ir, tad, izmantojot šo foreach cilpa 1033 00:51:39,470 --> 00:51:42,800 parūpēsies par jums. 1034 00:51:42,800 --> 00:51:45,410 >> Tāpēc es psets kā masīvs. 1035 00:51:45,410 --> 00:51:46,700 Apskatīsim to. 1036 00:51:46,700 --> 00:51:51,290 Masīvi PHP parasti ir tāds pats kā tie, kas mēs esam bija C, kur 1037 00:51:51,290 --> 00:51:52,960 Jūs varat deklarēt masīvu. 1038 00:51:52,960 --> 00:51:59,200 Un šeit, es varu paziņot, tukšu masīvu un pēc tam veidot dinamiski, izmantojot 1039 00:51:59,200 --> 00:52:00,850 indeksi, kā veselus skaitļus. 1040 00:52:00,850 --> 00:52:04,140 Tātad indeksu 0, es esmu gatavojas glabāt vesels skaitlis nosaukts 1. 1041 00:52:04,140 --> 00:52:09,210 Pie indeksu 1 manā sarakstā, es esmu gatavojas lai saglabātu vērtību 2. 1042 00:52:09,210 --> 00:52:12,670 Un trešajā indeksu, bet Otrais numurs, es esmu gatavojas 1043 00:52:12,670 --> 00:52:14,870 saglabāt numuru 12. 1044 00:52:14,870 --> 00:52:17,250 >> Tagad tas ir labi, jo darbojas tā darbojas labi. 1045 00:52:17,250 --> 00:52:21,310 Bet saka, tas ir svarīgi, lai man ko katrs indekss tur. 1046 00:52:21,310 --> 00:52:24,500 Man, indekss 0 nozīmē, cik daudzi kaķi man ir. 1047 00:52:24,500 --> 00:52:27,400 Un indekss 1 nozīmē, cik daudz pūces esmu. 1048 00:52:27,400 --> 00:52:29,450 Un nākamais nozīmē, cik daudz suņiem. 1049 00:52:29,450 --> 00:52:34,140 Nu, tad norādīt, ka, tā vietā, , kam atcerēties 0 attiecas uz 1050 00:52:34,140 --> 00:52:38,090 kaķi un 1 līdz pūces, es varu izmantot asociatīvas bloki, kas nozīmē, ka 1051 00:52:38,090 --> 00:52:42,260 vietā integers kā maniem rādītājiem, Es patiesībā var izmantot virknes. 1052 00:52:42,260 --> 00:52:43,290 >> Tātad tas ir diezgan noderīga. 1053 00:52:43,290 --> 00:52:47,130 Un jūs esat būtībā vienkārši aizvieto veseli skaitļi ar stīgām. 1054 00:52:47,130 --> 00:52:50,074 Un tur jums ir asociatīvā masīva. 1055 00:52:50,074 --> 00:52:51,930 Jā. 1056 00:52:51,930 --> 00:52:55,800 >> Mērķauditorija: Vai ir iemesls, kāpēc tur ir pasvītrojums par otro 1057 00:52:55,800 --> 00:52:58,750 daļu, jo mans saraksts ir masīvs. 1058 00:52:58,750 --> 00:53:01,330 >> ZAMYLA Chan: Jautājums bija, ir ir iemesls, kāpēc tur ir 1059 00:53:01,330 --> 00:53:03,320 uzsvērt starp manu un sarakstu? 1060 00:53:03,320 --> 00:53:03,610 Nē. 1061 00:53:03,610 --> 00:53:06,878 Tas ir tikai, cik es esmu nosaucot mans mainīgs. 1062 00:53:06,878 --> 00:53:11,670 >> Mērķauditorija: On pirmais līnija, tas ir viens vārds. 1063 00:53:11,670 --> 00:53:12,560 >> ZAMYLA Chan: Atvainojos. 1064 00:53:12,560 --> 00:53:13,410 Es noteikt to. 1065 00:53:13,410 --> 00:53:13,620 Jā. 1066 00:53:13,620 --> 00:53:15,460 Tām ir jābūt vienādam mainīgā nosaukums. 1067 00:53:15,460 --> 00:53:16,710 Labs loms. 1068 00:53:16,710 --> 00:53:19,640 1069 00:53:19,640 --> 00:53:19,950 OK. 1070 00:53:19,950 --> 00:53:22,610 Tāpēc pieņemsim pāriet uz virkni konkatenācija. 1071 00:53:22,610 --> 00:53:27,500 Ja es gribēju ņemt divas virknes, tad es varu saķēdēt tos 1072 00:53:27,500 --> 00:53:28,550 ar dot operatoram. 1073 00:53:28,550 --> 00:53:32,440 Tātad, ja man ir Milo kā vārds un Banana kā uzvārdu, tad 1074 00:53:32,440 --> 00:53:35,430 konkatenācijas ar dot operatoram un pēc tam liekot atstarpi starp 1075 00:53:35,430 --> 00:53:39,210 dos virkni, kas satur Milo Banānu, ko es varu, tad atbalss, vai, 1076 00:53:39,210 --> 00:53:41,280 drīzāk izdrukāt. 1077 00:53:41,280 --> 00:53:44,465 >> Runājot par ECHO, parunāsim par maz noderīgs - 1078 00:53:44,465 --> 00:53:44,920 Ups. 1079 00:53:44,920 --> 00:53:46,030 Piedod. 1080 00:53:46,030 --> 00:53:52,920 Dažas noderīgas PHP funkcijas. 1081 00:53:52,920 --> 00:53:56,240 Tāpēc mums ir - 1082 00:53:56,240 --> 00:53:57,444 tehniskas grūtības. 1083 00:53:57,444 --> 00:53:58,694 Vienu sekundi. 1084 00:53:58,694 --> 00:54:16,960 1085 00:54:16,960 --> 00:54:19,550 Es to sūtīju. 1086 00:54:19,550 --> 00:54:22,320 PowerPoint problēmas. 1087 00:54:22,320 --> 00:54:29,200 Un mēs esam atpakaļ ar PHP funkcijas. 1088 00:54:29,200 --> 00:54:32,010 1089 00:54:32,010 --> 00:54:35,150 Un mēs esam atpakaļ ar PHP funkcijas. 1090 00:54:35,150 --> 00:54:39,890 >> Tāpēc mums ir nepieciešama funkcija, kur ja jums iet failā, lūk, ir tikai 1091 00:54:39,890 --> 00:54:43,300 piemērs failu, kas Es varētu iet iekšā 1092 00:54:43,300 --> 00:54:47,605 Tad tas būs PHP kodu No šīs lietas materiāliem, kas man norāda. 1093 00:54:47,605 --> 00:54:49,940 Un tā novērtēs, ka iekšā 1094 00:54:49,940 --> 00:54:54,450 Tad mums ir arī atbalss, kas ir paralēli printf. 1095 00:54:54,450 --> 00:54:57,710 Izeja ir paralēli, lai izjauktu, kas iziet no bloka 1096 00:54:57,710 --> 00:54:58,570 kods, kas tu esi iekšā 1097 00:54:58,570 --> 00:55:03,180 Un tad tukšas pārbauda, ​​vai, ņemot vērā mainīgais ir kā Null vai nulles vai 1098 00:55:03,180 --> 00:55:08,482 kāds ir pielīdzināts to tukšu. 1099 00:55:08,482 --> 00:55:09,438 Jā. 1100 00:55:09,438 --> 00:55:15,341 >> Mērķauditorija: Par string konkatenācija dot operatoram vienu, PHP, ir tāda, ka 1101 00:55:15,341 --> 00:55:20,158 tāpat kā JavaScript, kur tas ir, izmantojot dot uz konkatenācija ir plus? 1102 00:55:20,158 --> 00:55:27,440 Tātad pilns vārds, jūs varētu būt dolārs paraksta pirmo + un tad + pēdējā? 1103 00:55:27,440 --> 00:55:27,720 >> ZAMYLA Chan: Jā. 1104 00:55:27,720 --> 00:55:32,150 Tātad jautājums bija, vai PHP mums var izmantot to pašu string konkatenācija 1105 00:55:32,150 --> 00:55:33,890 kā JavaScript ar plusiem. 1106 00:55:33,890 --> 00:55:35,410 Un Jāzeps būs iekļuvuši, ka vēlāk. 1107 00:55:35,410 --> 00:55:36,620 Es domāju, ka viņš ir slaids par to. 1108 00:55:36,620 --> 00:55:37,570 Patiesībā, tas ir atšķirīgs. 1109 00:55:37,570 --> 00:55:41,310 Tātad JavaScript, jums ir nepieciešams, lai izmantotu plus saķēdēt stīgas. 1110 00:55:41,310 --> 00:55:43,280 Un PHP, jums ir izmantot dot operatoram. 1111 00:55:43,280 --> 00:55:44,530 Tāpēc viņi atšķiras. 1112 00:55:44,530 --> 00:55:46,680 1113 00:55:46,680 --> 00:55:46,910 >> OK. 1114 00:55:46,910 --> 00:55:49,500 Tāpēc tagad, ka mēs esam uz visiem Tas PHP, kur tas 1115 00:55:49,500 --> 00:55:50,490 tiešām noderēs? 1116 00:55:50,490 --> 00:55:54,470 Nu, tas nāk ērts, ja mēs var apvienot to ar mūsu HTML. 1117 00:55:54,470 --> 00:55:59,550 Tātad mūsu PHP dos mums spēku mainīt kādas lapas HTML saturu pirms 1118 00:55:59,550 --> 00:56:00,000 tā iekraušanas. 1119 00:56:00,000 --> 00:56:04,270 Tātad, pamatojoties uz dažādiem apstākļiem, parasti īpašais lietotājs, kas ir 1120 00:56:04,270 --> 00:56:07,520 pieteicies, mēs varam parādīt dažādu informāciju. 1121 00:56:07,520 --> 00:56:08,800 Linda, jūs ir jautājums? 1122 00:56:08,800 --> 00:56:15,510 >> Mērķauditorija: Vai jūs varat saķēdēt integer arī? 1123 00:56:15,510 --> 00:56:16,760 >> ZAMYLA Chan: Jā, tas ir iespējams. 1124 00:56:16,760 --> 00:56:19,530 1125 00:56:19,530 --> 00:56:23,270 Tātad jautājums ir, ja jūs varat saķēdēt skaitļu vai cita 1126 00:56:23,270 --> 00:56:28,920 variable.s tagad mēs pāriet uz MVC, kas ir paradigma, ka mēs izmantojām 1127 00:56:28,920 --> 00:56:33,380 pset7 un daudz web dizaineriem izmantot organizējot kodu failus 1128 00:56:33,380 --> 00:56:34,490 savā mājas lapā. 1129 00:56:34,490 --> 00:56:35,870 M apzīmē modeli. 1130 00:56:35,870 --> 00:56:41,450 Un būtībā, modelis faili tiks galā mijiedarbību ar datu bāzi. 1131 00:56:41,450 --> 00:56:44,640 Skatītu failus, tie attiecas uz estētika mājas lapā. 1132 00:56:44,640 --> 00:56:47,550 Un kontrolieris rokturi lietotājs pieprasa, parses 1133 00:56:47,550 --> 00:56:49,230 dati, vai citu loģiku. 1134 00:56:49,230 --> 00:56:52,520 >> In pset7, mēs kopā modeli un kontrolieris. 1135 00:56:52,520 --> 00:56:55,880 Un mēs vienkārši sauc tos kontrolieriem un viņus publiskajā direktorijā. 1136 00:56:55,880 --> 00:57:01,730 Un apskatīt failus, mēs tos izmantot kā veidnes veidnes direktorijā. 1137 00:57:01,730 --> 00:57:07,260 Tātad šī shēma šeit ir arī ka paša veida dalīšanu ar 1138 00:57:07,260 --> 00:57:10,510 modelis un kontrolieris purpura šeit pa kreisi un 1139 00:57:10,510 --> 00:57:12,770 skats pa labi. 1140 00:57:12,770 --> 00:57:16,020 Tātad tas ir shematisks, ka daži no jums var būt redzējis pie darba laika vai 1141 00:57:16,020 --> 00:57:19,130 diagrammas, ka mums bija zīmēšanas, kā jūs Tika norādītas savu PSET. 1142 00:57:19,130 --> 00:57:25,030 >> Tātad šeit, konkrētajā kontrolieris, modelis kontrolieris, mums ir funkcijas 1143 00:57:25,030 --> 00:57:30,490 kas attiecas uz vaicājumiem SQL datu bāzes, izpildot PHP loģika. 1144 00:57:30,490 --> 00:57:32,370 Varbūt jūs varētu uzmeklēt krāja Yahoo! 1145 00:57:32,370 --> 00:57:34,590 Finanses. 1146 00:57:34,590 --> 00:57:37,390 Vai varbūt jūs varētu vienkārši pārbaudīt, redzētu, vai lietotājs ir iesniedzis 1147 00:57:37,390 --> 00:57:40,250 forma jau, pirms apmeklējis jūsu lapu. 1148 00:57:40,250 --> 00:57:43,390 Un tad jūs varētu padarīt veido vairāk nekā šeit. 1149 00:57:43,390 --> 00:57:48,210 Pēc tam, kad tika iesniegta šī veidlapa lietotājs, darbība, kas bija 1150 00:57:48,210 --> 00:57:53,470 norādīts veidlapas HTML tagu varētu norādīt uz lapu, kas ir 1151 00:57:53,470 --> 00:57:55,620 atgriežas, lai dati. 1152 00:57:55,620 --> 00:57:59,460 >> Tāpēc visa šī informācija būtu nosūtīta atpakaļ uz jūsu kontrolieris. 1153 00:57:59,460 --> 00:58:02,620 Tad jūs, iespējams, darīt nedaudz vairāk loģika par šo un varbūt veikt dažas 1154 00:58:02,620 --> 00:58:06,510 vairāk vaicājumus SQL datu bāzē un Tad, beidzot, nākt klajā ar labi 1155 00:58:06,510 --> 00:58:11,930 pildīta informācijas kopums, kas jums varētu pāriet uz kādu citu veidni 1156 00:58:11,930 --> 00:58:13,950 kas redzams šo informāciju. 1157 00:58:13,950 --> 00:58:17,030 Tagad, kā mēs patiesībā pakete šī informācija up? 1158 00:58:17,030 --> 00:58:23,980 Nu, mums ir funkciju sauc apmetuma kas bija functions.php failu 1159 00:58:23,980 --> 00:58:29,950 pset7, kur jums iet ar nosaukumu failu nosaukumu veidni. 1160 00:58:29,950 --> 00:58:32,160 >> Un tad jūs arī pāriet asociatīvā masīva. 1161 00:58:32,160 --> 00:58:37,150 Un tā, ka asociatīvā masīva pārstāv atšķirīga informācija 1162 00:58:37,150 --> 00:58:39,040 ka jūs vēlaties, lai iet iekšā 1163 00:58:39,040 --> 00:58:43,460 Tagad to, kas būs nemainīga Šie piemēri ir tas, ka atslēgas vai, 1164 00:58:43,460 --> 00:58:47,070 Drīzāk atslēgas asociatīvā bloki, tie ir to, kas būs 1165 00:58:47,070 --> 00:58:51,050 būs nemainīgs ar veidni, jo tā zina, tai ir 1166 00:58:51,050 --> 00:58:53,990 kaut ko sauc par ziņu vai sauc nosaukums. 1167 00:58:53,990 --> 00:58:56,940 Un tad lietas uz labo faktiskās vērtības, tāpēc šajā gadījumā, kurš ir 1168 00:58:56,940 --> 00:59:00,750 labs zēns un Milo, tie gatavojas būt vērtības, kas mainās 1169 00:59:00,750 --> 00:59:05,610 ka kontrolieris mainās katru reizi vai arī pamatojoties uz noteiktu stāvoklī un 1170 00:59:05,610 --> 00:59:07,120 iet, ka iekšā 1171 00:59:07,120 --> 00:59:12,790 >> Tātad šeit veidnes, mēs redzam, ka mums izmanto HTML speciālās rakstzīmes, 1172 00:59:12,790 --> 00:59:16,370 kas tikko būtībā nozīmē, ka mēs gribam lai iegūtu vienaudžu virkni, kas 1173 00:59:16,370 --> 00:59:17,580 lietotājs likts collas 1174 00:59:17,580 --> 00:59:20,880 Un mēs gribam, lai aizvietotu ziņa tur. 1175 00:59:20,880 --> 00:59:26,110 Tāpēc tad, kad mēs faktiski apskatītu failu, specifisku 1176 00:59:26,110 --> 00:59:28,700 informācija tiek nodota iekšā 1177 00:59:28,700 --> 00:59:33,850 Ņemiet vērā, ka galvenais, kā padarīt darbu ir ka atslēgas asociatīvā 1178 00:59:33,850 --> 00:59:37,170 bloki, tie kļūst mainīgas nosaukumi šeit. 1179 00:59:37,170 --> 00:59:40,720 Un tā vērtības minētās atslēgu asociatīvā masīva tad kļūst 1180 00:59:40,720 --> 00:59:41,970 mainīgā vērtība. 1181 00:59:41,970 --> 00:59:44,800 1182 00:59:44,800 --> 00:59:46,040 >> Tagad, pieņemsim pāriet uz SQL. 1183 00:59:46,040 --> 00:59:48,010 Tas nozīmē Strukturētais Vaicājumu valodu. 1184 00:59:48,010 --> 00:59:50,460 Un tā tas ir tikai plānošanas valoda, kas paredzētas 1185 00:59:50,460 --> 00:59:51,880 lai pārvaldītu datu bāzes. 1186 00:59:51,880 --> 00:59:56,860 Un tas nāca parocīgs mums Mūsu pset7 finanšu mājas lapā. 1187 00:59:56,860 --> 01:00:00,510 Būtībā, tas ir tikai vienkāršs veids, kā izsekot un pārvaldīt objektus un tabulas 1188 01:00:00,510 --> 01:00:02,070 un saite ar otru. 1189 01:00:02,070 --> 01:00:06,860 Tagad, domāju, ka jūsu SQL datu bāzē Pamatā kā Excel failu, iespējams, 1190 01:00:06,860 --> 01:00:10,040 ar vairākiem tabbed lapām. 1191 01:00:10,040 --> 01:00:13,820 >> Lai jūs varētu būt vairākas tabulas, iespējams, kas saistīti viens ar otru. 1192 01:00:13,820 --> 01:00:19,420 Un daudz, piemēram, Excel, mums ir daudz funkcionalitāte, ko mēs gribam. 1193 01:00:19,420 --> 01:00:22,300 Piemēram, var izvēlēties dažas rindas. 1194 01:00:22,300 --> 01:00:24,110 Mēs varam ievietot informāciju. 1195 01:00:24,110 --> 01:00:25,560 Mēs varam atjaunināt rindas. 1196 01:00:25,560 --> 01:00:27,440 Un mēs varam arī izdzēst lietas. 1197 01:00:27,440 --> 01:00:30,920 1198 01:00:30,920 --> 01:00:36,560 >> SQL atlasīt darbus, izvēloties rindas vai rinda norādītajiem kolonnām no 1199 01:00:36,560 --> 01:00:39,640 datu bāze, kas atbilst noteiktu kritēriji, kas jums norāda. 1200 01:00:39,640 --> 01:00:44,930 Tātad, nekā šeit, kad es redzu, izvēlieties * no wizards kur māja = Ravenclaw, tad 1201 01:00:44,930 --> 01:00:48,340 Es esmu izvēloties *, kas nozīmē, ka es esmu Izvēloties katru kolonnu, kas 1202 01:00:48,340 --> 01:00:56,340 rindā no burvji tabulā, bet tikai tad, ja māja kolonna vienāds Ravenclaw. 1203 01:00:56,340 --> 01:00:57,840 Tagad tas ir tīrs un SQL. 1204 01:00:57,840 --> 01:01:02,680 Tātad, ja es devos uz phpmyadmin, kas ir īpašs veids, kā mēs izmantot, lai pārvaldītu 1205 01:01:02,680 --> 01:01:07,040 mūsu SQL datu bāzēm, tad es varētu ievietot ka uz phpMyAdmin mājas lapā. 1206 01:01:07,040 --> 01:01:08,290 Un tas varētu izpildīt. 1207 01:01:08,290 --> 01:01:11,280 >> Bet mēs patiešām vēlamies darīt ka par PHP pusē. 1208 01:01:11,280 --> 01:01:12,580 Tātad, kā mēs to darām? 1209 01:01:12,580 --> 01:01:20,180 Nu, mēs izmantojam vaicājumu funkciju, kas būtībā izpilda, ka SQL vaicājumu. 1210 01:01:20,180 --> 01:01:21,830 Lietojat? 1211 01:01:21,830 --> 01:01:25,850 kā vietturi, mēs varētu pāriet dažās vērtības, lai mūsu stīgu, kas mums 1212 01:01:25,850 --> 01:01:26,920 vēlaties aizstāt. 1213 01:01:26,920 --> 01:01:32,110 Tāpēc varbūt es esmu uzglabāt dažādi vērtības curr_house, kas 1214 01:01:32,110 --> 01:01:34,400 atspoguļo pašreizējo māju ka es esmu iet cauri. 1215 01:01:34,400 --> 01:01:39,040 Lai es varētu iet, ka kā vietturi ar jautājuma zīmi. 1216 01:01:39,040 --> 01:01:43,290 Un tad es būtībā izpildīt tas pats, kas man bija agrāk, izņemot 1217 01:01:43,290 --> 01:01:45,550 Tagad, es esmu PHP. 1218 01:01:45,550 --> 01:01:51,300 >> Un vaicājums atgriezīs asociatīvā masīva. 1219 01:01:51,300 --> 01:01:53,470 Un es esmu gatavojas glabāt to rindās. 1220 01:01:53,470 --> 01:01:56,880 Tagad vaicājums vienmēr var neizdoties. 1221 01:01:56,880 --> 01:02:02,870 Varbūt SQL vaicājums nevar izpildīt jo tabula neeksistē. 1222 01:02:02,870 --> 01:02:04,310 Vai varbūt, kolonna nepastāvēja. 1223 01:02:04,310 --> 01:02:05,400 Kaut kas nogāja greizi. 1224 01:02:05,400 --> 01:02:08,170 Nu, tādā gadījumā, jūs vēlaties, lai Noteikti pārbaudiet, vai 1225 01:02:08,170 --> 01:02:09,700 vaicājums atgriezās nepatiesa. 1226 01:02:09,700 --> 01:02:15,590 Un tas ir, izmantojot triple vienāds darbību tur. 1227 01:02:15,590 --> 01:02:19,660 >> Un tad es atvainojos, kas ir vēl viens CS50 funkcijas, kas iet īsziņā. 1228 01:02:19,660 --> 01:02:23,435 Un, ja paskatās uz atvainojos, viss, tiešām ir padarīt apology.php. 1229 01:02:23,435 --> 01:02:26,100 1230 01:02:26,100 --> 01:02:26,410 Jā. 1231 01:02:26,410 --> 01:02:29,630 >> Mērķauditorija: Vai jūs varētu paskaidrot, ko tas star nav starp izvēlieties un no? 1232 01:02:29,630 --> 01:02:30,710 >> ZAMYLA Chan: Jā, pilnīgi noteikti. 1233 01:02:30,710 --> 01:02:35,220 Tā zvaigzne starp izvēlēties un no nozīmē, ka es vēlos, lai izvēlētos visu 1234 01:02:35,220 --> 01:02:37,440 Visu rindu no mana galda. 1235 01:02:37,440 --> 01:02:41,900 Es varētu esmu norādījusi izvēlieties nosaukumu, gadu, māju. 1236 01:02:41,900 --> 01:02:46,160 Un es varētu tikai iegūt šiem trim kolonnas mana galda. 1237 01:02:46,160 --> 01:02:51,560 Bet, ja es saku izvēlieties *, tad es ņemšu iegūt visu šajā kolonnā. 1238 01:02:51,560 --> 01:02:53,760 Tad es iešu jums atpakaļ pirmās. 1239 01:02:53,760 --> 01:02:57,656 >> Mērķauditorija: Tātad tas ir vēl SQL, vai ne? 1240 01:02:57,656 --> 01:02:59,610 Tas ir jautājums vai tas ir PHP? 1241 01:02:59,610 --> 01:03:00,550 >> ZAMYLA Chan: Mēs esam vaicājumu. 1242 01:03:00,550 --> 01:03:01,940 Tātad šis ir PHP. 1243 01:03:01,940 --> 01:03:06,280 Tātad, izmantojot PHP funkciju vaicājumu, mēs esam izpildes SQL vaicājumu. 1244 01:03:06,280 --> 01:03:11,988 1245 01:03:11,988 --> 01:03:15,364 >> Mērķauditorija: Vai ir kaut kas SQL reģistrjutīga, piemēram, izvēlieties 1246 01:03:15,364 --> 01:03:17,834 vai burvjiem, vai māja? 1247 01:03:17,834 --> 01:03:20,050 >> ZAMYLA Chan: Vai kaut kas SQL reģistrjutīga? 1248 01:03:20,050 --> 01:03:21,760 Es uzskatu, ka jā. 1249 01:03:21,760 --> 01:03:24,620 Es uzskatu, ka SELECT un FROM un kur ir reģistrjutīga. 1250 01:03:24,620 --> 01:03:25,535 Nē? 1251 01:03:25,535 --> 01:03:27,500 >> ROB BOWDEN: Tātad, tas ir pretējs. 1252 01:03:27,500 --> 01:03:32,030 Kolonnu nosaukumus un galda līdzekļi, visi no tiem ir reģistrjutīga. 1253 01:03:32,030 --> 01:03:35,470 Bet jebkuru no MySQL atslēgas vārdiem, piemēram SELECT, FROM, un ja tie nav 1254 01:03:35,470 --> 01:03:36,140 reģistrjutīga. 1255 01:03:36,140 --> 01:03:36,420 OK. 1256 01:03:36,420 --> 01:03:37,780 Tātad pretēji tam, ko es teicu. 1257 01:03:37,780 --> 01:03:40,420 Tāpēc visi MySQL atslēgvārdiem - 1258 01:03:40,420 --> 01:03:42,670 izvēlēties no, ja - tie nav reģistrjutīga. 1259 01:03:42,670 --> 01:03:44,630 Bet viss pārējais ir. 1260 01:03:44,630 --> 01:03:45,210 OK. 1261 01:03:45,210 --> 01:03:46,500 Jums priekšā. 1262 01:03:46,500 --> 01:03:52,041 >> Mērķauditorija: Ja man ir $ rindas ziņā vairāk nekā viena rinda, tas nozīmē ir 1263 01:03:52,041 --> 01:03:53,640 vienkārši kļūst asociatīvā masīva? 1264 01:03:53,640 --> 01:03:59,550 >> ZAMYLA Chan: Tātad jautājums ir, vai rindas ir vairāk nekā viena rinda tajā, tai 1265 01:03:59,550 --> 01:04:01,800 tas kļūst asociatīvā masīva? 1266 01:04:01,800 --> 01:04:05,680 Tātad tas ir masīvs asociatīvās masīvi jau. 1267 01:04:05,680 --> 01:04:10,730 Tātad, pat tad, ja tur ir tikai viena rinda atpakaļ, tad jūs ir jādodas uz 1268 01:04:10,730 --> 01:04:12,690 indekss 0 minētā rezultāta. 1269 01:04:12,690 --> 01:04:15,316 Un tad jūs ir šo pirmo rindu. 1270 01:04:15,316 --> 01:04:17,482 Jā, Belinda? 1271 01:04:17,482 --> 01:04:21,258 >> Mērķauditorija: Ja jūs izmantojat ===, tas ir vienīgais gadījums? 1272 01:04:21,258 --> 01:04:22,210 Vai ir citi? 1273 01:04:22,210 --> 01:04:26,815 >> ZAMYLA Chan: Tātad šajā gadījumā, === ir salīdzinājums dažādos tipos. 1274 01:04:26,815 --> 01:04:29,870 1275 01:04:29,870 --> 01:04:34,050 Piedodiet. === Ir salīdzinājums kas salīdzina veidi. 1276 01:04:34,050 --> 01:04:37,620 Un tad == salīdzina visos veidos. 1277 01:04:37,620 --> 01:04:41,620 >> Mērķauditorija: Vai jūs varat izskaidrot, ko rindas ir šajā situācijā? 1278 01:04:41,620 --> 01:04:45,120 Tas datu rinda? 1279 01:04:45,120 --> 01:04:48,100 >> ZAMYLA Chan: Ar nākamo slaidu, es esmu gatavojas izskaidrot, kas rindas ir. 1280 01:04:48,100 --> 01:04:49,890 Tātad, ja jums nav prātā, kam off par to. 1281 01:04:49,890 --> 01:04:50,620 Un tad jūs atpakaļ? 1282 01:04:50,620 --> 01:04:54,699 >> Mērķauditorija: Par funkcijām, piemēram, vaicājumu, apmetuma un atvainoties [dzirdams]? 1283 01:04:54,699 --> 01:04:59,050 1284 01:04:59,050 --> 01:05:03,050 >> ZAMYLA Chan: Jautājums bija, vai šīs funkcijas - vaicājumu, atvainojos, 1285 01:05:03,050 --> 01:05:04,510 un padarīt - 1286 01:05:04,510 --> 01:05:05,930 ir kopīgs visā PHP. 1287 01:05:05,930 --> 01:05:09,460 Tie ir tie, kas CS50 rakstīja pset7. 1288 01:05:09,460 --> 01:05:09,910 Un Jay? 1289 01:05:09,910 --> 01:05:15,333 >> Mērķauditorija: Ja jums ir nepieciešams pateikt $ _SESSION, Ir tas, ka tikai ID? 1290 01:05:15,333 --> 01:05:17,310 Vai jūs varētu būt teicis, ka šeit? 1291 01:05:17,310 --> 01:05:23,440 >> ZAMYLA Chan: Tātad jautājums bija, kad mēs izmantojam $ _SESSION, tas bija īpašs 1292 01:05:23,440 --> 01:05:25,290 globālais mainīgais, ka mēs izmantojam. 1293 01:05:25,290 --> 01:05:32,080 Lūk, šis mainīgais ir gatavojas ir vietējā mūsu funkciju. 1294 01:05:32,080 --> 01:05:36,588 Tāpēc mēs esam tikai deklarējot jaunu mainīgs. 1295 01:05:36,588 --> 01:05:38,460 >> Mērķauditorija: Kā atvainoties īstenoti? 1296 01:05:38,460 --> 01:05:40,960 >> ZAMYLA Chan: Jautājums bija, kā tiek atvainoties īstenots? 1297 01:05:40,960 --> 01:05:44,180 Un es domāju, ka tas ir faktiski diezgan Laba prakse, lai jūs guys iedziļināties 1298 01:05:44,180 --> 01:05:49,260 functions.php sadaļā un apskatīt atvainojos, un redzēt, kā jūs varētu būt 1299 01:05:49,260 --> 01:05:50,670 izdarīt pats. 1300 01:05:50,670 --> 01:05:55,620 Lai es varētu atstāt, ka jums, bet tikai saka, ka, ja paskatās atvainojos, 1301 01:05:55,620 --> 01:06:02,110 tad tā veic ziņu, ka jums iesniegts atvainoties, un tad 1302 01:06:02,110 --> 01:06:06,570 padara šo ziņu. 1303 01:06:06,570 --> 01:06:08,240 Kādi vēl jautājumi? 1304 01:06:08,240 --> 01:06:08,710 Es mīlu jautājumus. 1305 01:06:08,710 --> 01:06:09,555 Lai saglabātu tos nāk. 1306 01:06:09,555 --> 01:06:11,888 >> Mērķauditorija: [dzirdams] 1307 01:06:11,888 --> 01:06:13,840 echo vai print tur? 1308 01:06:13,840 --> 01:06:15,900 >> ZAMYLA Chan: Jautājums bija, mēs varētu ne tikai gūt vārtus 1309 01:06:15,900 --> 01:06:17,000 echo vai print tur. 1310 01:06:17,000 --> 01:06:19,710 Tā, ka būtu darījis kaut ko nedaudz atšķiras. 1311 01:06:19,710 --> 01:06:23,750 Kas būtu iespiests vaicājumu nav vērā, ka - 1312 01:06:23,750 --> 01:06:27,420 labi, tagad mēs esam patiesībā mūsu kontrolieris. 1313 01:06:27,420 --> 01:06:30,350 Tāpēc mums nav faktiski ir HTML izveidot šeit. 1314 01:06:30,350 --> 01:06:34,946 Atvainojos, padarot apologize.php faktiski novirza jūs apology.php. 1315 01:06:34,946 --> 01:06:39,560 1316 01:06:39,560 --> 01:06:42,200 OK. 1317 01:06:42,200 --> 01:06:45,880 >> Tāpēc tagad, iesim tālāk, lai risinātu Jautājums no iepriekš par to 1318 01:06:45,880 --> 01:06:47,330 tiešām ir rindas. 1319 01:06:47,330 --> 01:06:51,960 Nu, vaicājums atgriezīs masīvs rindas. 1320 01:06:51,960 --> 01:06:55,020 Un katrā rindā ir pārstāvēta ar asociatīvo masīvu. 1321 01:06:55,020 --> 01:07:02,840 Tātad, ja es esmu veikti daži SQL vaicājumu un Man uzglabā rezultātu rindās, tad 1322 01:07:02,840 --> 01:07:07,850 izmantojot foreach cilpa, tad masīvs vārds ir pirmais tur - rindas. 1323 01:07:07,850 --> 01:07:13,170 Un tad es saukšu katrā rindā tur $ rindā. 1324 01:07:13,170 --> 01:07:20,060 >> Tā atkārtojot pār to, ka es pēc tam var piekļūtu dotajā rindā vārds kolonnu, 1325 01:07:20,060 --> 01:07:22,340 gadā kolonna, un mājas kolonnas. 1326 01:07:22,340 --> 01:07:28,010 Ņemiet vērā, ka es nebūtu varējusi izdarīt ar rindām, jo ​​rindas indekss 1327 01:07:28,010 --> 01:07:29,290 vārds neeksistē. 1328 01:07:29,290 --> 01:07:31,970 Rindas ir tikai masīvs asociatīvas bloki. 1329 01:07:31,970 --> 01:07:34,870 Tātad jums ir divi līmeņi tur. 1330 01:07:34,870 --> 01:07:37,170 Kad esat masīvs rindās jums ir, lai saņemtu uz to. 1331 01:07:37,170 --> 01:07:39,110 Un tad jūs varat piekļūt kolonnas. 1332 01:07:39,110 --> 01:07:41,636 Vai tas būtu skaidrs? 1333 01:07:41,636 --> 01:07:42,520 Jā, priekšā? 1334 01:07:42,520 --> 01:07:45,490 >> Mērķauditorija: [dzirdams] atvērtu kronšteini [dzirdams]? 1335 01:07:45,490 --> 01:07:46,220 >> ZAMYLA Chan: Pardon me? 1336 01:07:46,220 --> 01:07:49,740 >> Mērķauditorija: Atvērtās iekavās. 1337 01:07:49,740 --> 01:07:52,420 >> ZAMYLA Chan: Tie šeit? 1338 01:07:52,420 --> 01:07:58,520 Kas ir kas ļauj man, lai iekļautu ka mainīgais. 1339 01:07:58,520 --> 01:07:58,670 Jā. 1340 01:07:58,670 --> 01:08:01,900 >> Mērķauditorija: Drukājot, jūs drukāšanas HTML kodu? 1341 01:08:01,900 --> 01:08:03,110 >> ZAMYLA Chan: Jā. 1342 01:08:03,110 --> 01:08:07,720 Drukājot, tas šeit ir iekšā mans veidni tagad, lai 1343 01:08:07,720 --> 01:08:10,310 mans viedoklis par MVC metodi. 1344 01:08:10,310 --> 01:08:12,750 Tāpēc es esmu drukājot uz HTML. 1345 01:08:12,750 --> 01:08:16,670 >> Mērķauditorija: Tātad, ja mēs devāmies uz attīstītāju instrumentus pēc darbības to, mēs varētu 1346 01:08:16,670 --> 01:08:17,160 ka faktiski kodu? 1347 01:08:17,160 --> 01:08:18,410 >> ZAMYLA Chan: Tas ir liels jautājums, jā. 1348 01:08:18,410 --> 01:08:22,359 Tātad, ja jūs iegāja izstrādātāju rīki Firefox, izmantojot Firebug vai 1349 01:08:22,359 --> 01:08:26,109 Hroms, tad jā, jūs varētu skatīt īpašo HTML. 1350 01:08:26,109 --> 01:08:28,470 Tāpēc tas neparāda $ row ["nosaukums"]. 1351 01:08:28,470 --> 01:08:32,524 Tas liecina, atkarībā no tā, vārds ir šajā rindā. 1352 01:08:32,524 --> 01:08:36,268 >> Mērķauditorija: Just vispārīgs jautājums, kādi ir tr un td definēta kā? 1353 01:08:36,268 --> 01:08:37,672 Kāpēc mēs [dzirdams]? 1354 01:08:37,672 --> 01:08:41,850 1355 01:08:41,850 --> 01:08:44,814 >> ZAMYLA CHAN tabula rinda tr, tabula tad td kolonnu. 1356 01:08:44,814 --> 01:08:48,060 1357 01:08:48,060 --> 01:08:49,310 OK. 1358 01:08:49,310 --> 01:08:55,771 1359 01:08:55,771 --> 01:08:56,835 >> Mērķauditorija: Jā, tas ir tabulas datus. 1360 01:08:56,835 --> 01:08:58,770 >> ZAMYLA Chan: Tabulas dati. 1361 01:08:58,770 --> 01:08:59,894 Jā. 1362 01:08:59,894 --> 01:09:08,670 >> AUDITORIJA: Tas ir rinda, kas rinda tiek uzskatīta kā kolonnā? 1363 01:09:08,670 --> 01:09:08,910 >> ZAMYLA Chan: Sorry. 1364 01:09:08,910 --> 01:09:10,570 Vai jūs varat atkārtot, ka? 1365 01:09:10,570 --> 01:09:14,450 >> Mērķauditorija: Kā jums vizualizēt rindas? 1366 01:09:14,450 --> 01:09:16,310 >> ZAMYLA Chan: Kā jūs iztēloties rindas, kāda veida veidā? 1367 01:09:16,310 --> 01:09:21,796 Vai jūs runājat par šiem rindas šeit vai TR rindas? 1368 01:09:21,796 --> 01:09:22,630 >> Mērķauditorija: Rindas. 1369 01:09:22,630 --> 01:09:25,229 >> ZAMYLA Chan: šīs rindas šeit? 1370 01:09:25,229 --> 01:09:28,620 Es gribētu iztēloties to kā Es izpildīt manu vaicājumu. 1371 01:09:28,620 --> 01:09:38,729 Un tā saka, OK, man ir vai nu 0 līdz n daudzums rindu, kas atbilst kritērijiem 1372 01:09:38,729 --> 01:09:40,510 ka jums bija apšaubīja. 1373 01:09:40,510 --> 01:09:43,740 Tāpēc man ir daži rindu skaitu. 1374 01:09:43,740 --> 01:09:51,450 Tāpēc rindās, tad $ rindas, veikali katrs viens no tiem rindu masīvu. 1375 01:09:51,450 --> 01:09:58,110 Tātad, pat ja tas ir tikai viens no viņiem, tas ir joprojām masīvs rindas, kas atbilst to. 1376 01:09:58,110 --> 01:10:03,010 >> Tātad, piemēram, tas līdzīgi kā tad, kad jūs fetched 1377 01:10:03,010 --> 01:10:05,390 cache no lietotājiem. 1378 01:10:05,390 --> 01:10:10,810 Un kritēriji, tur bija, kad ID ir vienāds ar sesijas ID. 1379 01:10:10,810 --> 01:10:14,250 Tur tiešām tikai viena rinda kas varētu atbilst to. 1380 01:10:14,250 --> 01:10:18,960 Bet joprojām rindas tikko atgriezies viena rinda. 1381 01:10:18,960 --> 01:10:22,620 Tātad jūs iet uz rindām, indekss 0, indekss kešatmiņu 1382 01:10:22,620 --> 01:10:26,195 faktiski nokļūt jūsu kešatmiņu. 1383 01:10:26,195 --> 01:10:29,650 >> Mērķauditorija: Vai drukāšanas funkciju ECHO to pašu? 1384 01:10:29,650 --> 01:10:30,670 >> ZAMYLA Chan: Jā. 1385 01:10:30,670 --> 01:10:31,190 Jā. 1386 01:10:31,190 --> 01:10:33,304 Izdrukāt atstarojas pats. 1387 01:10:33,304 --> 01:10:42,400 >> Mērķauditorija: Vai foreach cilpa Vienīgais veids, kā indeksēt rindās? 1388 01:10:42,400 --> 01:10:46,110 >> ZAMYLA Chan: Vai foreach cilpa vienīgais veids, ka jūs varat 1389 01:10:46,110 --> 01:10:47,030 atkārtot, izmantojot rindām? 1390 01:10:47,030 --> 01:10:47,180 Nē. 1391 01:10:47,180 --> 01:10:51,000 Jūs varat arī izmantot, lai cilpas, ar nosacījumu, ka jūs zināt garumu 1392 01:10:51,000 --> 01:10:53,024 rindas ir masīvs. 1393 01:10:53,024 --> 01:10:58,500 >> Mērķauditorija: Vai jūs varētu piekļūt izmantojot rindu kā [dzirdams]? 1394 01:10:58,500 --> 01:11:01,640 >> ZAMYLA Chan: Tātad, jūs nevarat piekļūt tikai izmantojot rinda, ja jums nav 1395 01:11:01,640 --> 01:11:05,160 foreach cilpa ar nosacījumu, ka Jums nav deklarējuši rindu. 1396 01:11:05,160 --> 01:11:08,150 1397 01:11:08,150 --> 01:11:09,660 Jā. 1398 01:11:09,660 --> 01:11:10,810 Jā, ir baltā krāsā. 1399 01:11:10,810 --> 01:11:13,990 >> Mērķauditorija: Tātad, ko tr un td darīt? 1400 01:11:13,990 --> 01:11:16,790 >> ZAMYLA Chan: Tik tr un td ir HTML tagus. 1401 01:11:16,790 --> 01:11:19,590 tr norāda sākumu no tabulas rindas. 1402 01:11:19,590 --> 01:11:26,625 Un katrs td norāda Jaunā tabulas dati kolonna. 1403 01:11:26,625 --> 01:11:32,275 >> Mērķauditorija: Par vizuālo kāda rinda ir, piemēram, tikai iedomāties, SQL, kā 1404 01:11:32,275 --> 01:11:33,510 tie ir rinda. 1405 01:11:33,510 --> 01:11:35,980 [Dzirdams]. 1406 01:11:35,980 --> 01:11:36,390 >> ZAMYLA Chan: Jā. 1407 01:11:36,390 --> 01:11:37,630 Tas ir liels punkts. 1408 01:11:37,630 --> 01:11:41,510 Jūs varat iztēloties rindas, kā tikai tāpat kā Excel tabulā, tikai 1409 01:11:41,510 --> 01:11:44,540 saraksts rindām. 1410 01:11:44,540 --> 01:11:46,870 OK. 1411 01:11:46,870 --> 01:11:47,230 Labi. 1412 01:11:47,230 --> 01:11:50,740 Tāpēc tagad, ka mēs esam izgājuši vairāk nekā izvēlēties, ja tajā nav vairāk jautājumu, mēs 1413 01:11:50,740 --> 01:11:52,970 iet pāri uz ieliktni. 1414 01:11:52,970 --> 01:11:58,220 Tātad, ja es gribēju ievietot dažus galda un ievietot konkrētu kolonnu 1415 01:11:58,220 --> 01:12:02,320 vērtībām, es varētu ievietot sevi uz Ravenclaw ar 7 gadu. 1416 01:12:02,320 --> 01:12:07,245 Bet dažreiz varētu būt dublikāts vērtībām, kā mēs redzējām pset7 kad mēs 1417 01:12:07,245 --> 01:12:09,240 Tika atjaunināt mūsu portfolio. 1418 01:12:09,240 --> 01:12:15,610 >> Tātad šajā gadījumā, mēs vēlamies izmantot ON DUPLICATE KEY UPDATE, tā ka mums nav 1419 01:12:15,610 --> 01:12:18,280 uzglabāt vairākas rindas ar to pašu vērtība, bet gan atjaunot to. 1420 01:12:18,280 --> 01:12:21,780 1421 01:12:21,780 --> 01:12:25,560 Tad mums tiešām ir atjauninājumu, kas nav insert. 1422 01:12:25,560 --> 01:12:30,100 Tas ir tikai update, kur jūs atjaunināt noteiktā tabulā ar dots 1423 01:12:30,100 --> 01:12:34,403 kritērijiem, un pēc tam, visbeidzot, dzēst, kas dara ļoti līdzīga lieta. 1424 01:12:34,403 --> 01:12:40,200 >> Mērķauditorija: Vai jūs varētu īsumā iet pa dublikāta atslēgu? 1425 01:12:40,200 --> 01:12:40,850 >> ZAMYLA Chan: Jā. 1426 01:12:40,850 --> 01:12:48,340 Būtībā šeit, man ir ievietot gringotts, ir galleons, šīs vērtības. 1427 01:12:48,340 --> 01:12:56,900 Bet ID, domājams, ir unikāla atslēga vērtība izveidota MySQL tabulā. 1428 01:12:56,900 --> 01:13:06,750 Tātad, ja man jau ir, ka ID izveidotas, tad es nevaru ievietot jaunu rindu. 1429 01:13:06,750 --> 01:13:10,961 Tātad, ja tas neeksistē jau, tad man ir to atjaunināt. 1430 01:13:10,961 --> 01:13:16,040 1431 01:13:16,040 --> 01:13:17,722 Vidū ar baltu. 1432 01:13:17,722 --> 01:13:21,570 >> Mērķauditorija: Tātad ievietot, atjaunināt, dzēst, un izvēlieties, ir tie visi ir pieejami 1433 01:13:21,570 --> 01:13:22,875 lokāli [dzirdams]? 1434 01:13:22,875 --> 01:13:27,320 1435 01:13:27,320 --> 01:13:29,630 >> ZAMYLA Chan: Tātad ievietot, atjaunināt, dzēst un 1436 01:13:29,630 --> 01:13:31,120 atlasīt visi SQL vaicājumu. 1437 01:13:31,120 --> 01:13:34,970 Tātad, ja jūs izmantojat SQL, jums ir tie, kas pieejami. 1438 01:13:34,970 --> 01:13:38,226 1439 01:13:38,226 --> 01:13:40,706 >> Mērķauditorija: Atpakaļ uz iepriekšējo viktorīnas - 1440 01:13:40,706 --> 01:13:44,178 tur bija jautājums, kas jārisina ja jums bija galda un gribēja 1441 01:13:44,178 --> 01:13:52,610 ievietot pārbaužu rezultāti vienā un jums ievietot Jūsu vārds tāpēc tas neļaus jums 1442 01:13:52,610 --> 01:13:54,594 [Dzirdams] Jūsu drauga testa rezultāts. 1443 01:13:54,594 --> 01:13:59,060 Kā jūs darīt ar ieliktni? 1444 01:13:59,060 --> 01:14:02,490 >> ZAMYLA Chan: Tātad jautājums bija par iepriekšējā vidēja termiņa jautājumu. 1445 01:14:02,490 --> 01:14:04,320 Es neesmu informēts par kuriem kāds tas ir šobrīd. 1446 01:14:04,320 --> 01:14:06,790 Tātad, varbūt pēc tam, ja jūs vēlaties, lai nākt klajā un parādiet man, tad es varu 1447 01:14:06,790 --> 01:14:08,155 noteikti dos jums padomus. 1448 01:14:08,155 --> 01:14:11,250 1449 01:14:11,250 --> 01:14:15,460 Bet runājot par ievietojot lietām, piemēram, ņemot kādu rezultātu, kad jūs 1450 01:14:15,460 --> 01:14:18,800 nedrīkst, parunāsim par SQL injekcijas uzbrukumiem. 1451 01:14:18,800 --> 01:14:22,050 Tāpēc SQL injekcijas uzbrukumu būtībā ja kāds ņem 1452 01:14:22,050 --> 01:14:27,680 priekšrocība zemo drošības Veidā, ka jūs lietojat datos. 1453 01:14:27,680 --> 01:14:35,660 >> Tātad šeit, tāpat kā CS50 finanšu, kad mēs pieteicies, mēs varam ievadīt 1454 01:14:35,660 --> 01:14:39,510 lietotājvārds pieteikšanās formā, pirmais tekstlodziņš, un 1455 01:14:39,510 --> 01:14:41,570 tad ievadiet paroli. 1456 01:14:41,570 --> 01:14:45,610 Varbūt mūsu PHP kods varētu izskatīties kaut kas līdzīgs šim, kur $ lietotājvārds 1457 01:14:45,610 --> 01:14:51,410 ir pēc datu lietotājvārdu un paroli ir pēc datu parole. 1458 01:14:51,410 --> 01:14:55,110 Un tad mēs vienkārši izpildīt savu vaicājumu, teiksim, Labi, labi, mūsu vaicājums gatavojas 1459 01:14:55,110 --> 01:14:57,990 izvēlieties kādu no mūsu lietotājiem, ja lietotājvārds ir 1460 01:14:57,990 --> 01:14:58,970 viens, ka tie iesniegti. 1461 01:14:58,970 --> 01:15:06,870 Un parole ir parole, kas nozīmē, ka paroles sakrīt. 1462 01:15:06,870 --> 01:15:12,670 >> Tagad, kas notiks, ja tā vietā, lai reāli iesniedzot faktisko paroli, piemēram, 1463 01:15:12,670 --> 01:15:16,850 12345 un guessing pie dakšas, kas saka parole un mēģina kapāt to 1464 01:15:16,850 --> 01:15:21,460 kontu, kas notiks, ja tā vietā viņi iesniedza šo. 1465 01:15:21,460 --> 01:15:24,380 Tie varētu tipa varbūt uzminēt paroli. 1466 01:15:24,380 --> 01:15:30,480 Un tad viņi varētu pabeigt quote tad ierakstiet vai 1 = 1. 1467 01:15:30,480 --> 01:15:35,160 Kas straujiem tieši SQL vaicājumu, lai izskatās kaut kas līdzīgs šim. 1468 01:15:35,160 --> 01:15:38,200 Izvēlieties kādu no lietotājiem, ja lietotājvārds = prongs un paroli 1469 01:15:38,200 --> 01:15:41,450 vienāds lilija vai 1 = 1. 1470 01:15:41,450 --> 01:15:45,450 >> Tātad vai nu parole ir ir pareizs vai 1 = 1, 1471 01:15:45,450 --> 01:15:47,870 kas vienmēr ir taisnība. 1472 01:15:47,870 --> 01:15:52,780 Tātad, šajā gadījumā, būtībā, lietotājs var izmantot šo un vienkārši piesakieties 1473 01:15:52,780 --> 01:15:55,240 paši iekšā un kapāt kāds konts. 1474 01:15:55,240 --> 01:15:58,950 Tātad, tas ir iemesls, kāpēc mēs vēlamies izvairīties kāds, kam to darīt. 1475 01:15:58,950 --> 01:16:03,890 Bet par laimi, vaicājums funkcija, ko garāmejot vietturu notiks 1476 01:16:03,890 --> 01:16:04,800 rūpes par to, lai jums. 1477 01:16:04,800 --> 01:16:08,570 Arī jūs parasti nekad vēlaties faktiski iesniegt paroles 1478 01:16:08,570 --> 01:16:09,310 paši. 1479 01:16:09,310 --> 01:16:14,115 Tieši tāpēc mēs sajaukts vai šifrēta tos CS50 finansēm. 1480 01:16:14,115 --> 01:16:17,553 >> Mērķauditorija: pagātne viktorīna runāja par MySQL evakuācijas stīgas. 1481 01:16:17,553 --> 01:16:21,800 Vai mums ir jāuztraucas par to? 1482 01:16:21,800 --> 01:16:22,670 >> ZAMYLA Chan: Tas ir labs jautājums. 1483 01:16:22,670 --> 01:16:29,050 MySQL evakuācijas stīgas ir noteikti funkcija, kas tika izmantots mūsu query. 1484 01:16:29,050 --> 01:16:30,420 Bet noteikti izpētīt to. 1485 01:16:30,420 --> 01:16:32,950 Es teiktu, ka ir godīga spēle zināt ka jūs nepieciešams, lai izsauktu, ka 1486 01:16:32,950 --> 01:16:34,370 funkcionē uz virknes. 1487 01:16:34,370 --> 01:16:35,245 Jā, Belinda? 1488 01:16:35,245 --> 01:16:38,606 >> Mērķauditorija: Kā jūs zināt, kad tas ir vienu pēdiņām vai pēdiņās? 1489 01:16:38,606 --> 01:16:43,516 Un arī, es jūtos kā lekciju jūs minēja kaut ko par to, kam nav 1490 01:16:43,516 --> 01:16:48,426 [dzirdams], vai kaut vai Otrais singls quote beigās. 1491 01:16:48,426 --> 01:16:56,407 1492 01:16:56,407 --> 01:17:00,825 Es domāju, ka viņš norādīja, lekciju, ka Jūs esat vajadzēja būt apostrofu 1 1493 01:17:00,825 --> 01:17:04,290 un tad nav apostrofiem vai kaut ko. 1494 01:17:04,290 --> 01:17:05,540 >> Mērķauditorija: [nedzirdama]. 1495 01:17:05,540 --> 01:17:14,860 1496 01:17:14,860 --> 01:17:18,657 >> Mērķauditorija: lieta ir pēdējais vienotā quote tur šajā otrajā ailē 1497 01:17:18,657 --> 01:17:19,391 nevajadzētu būt tur. 1498 01:17:19,391 --> 01:17:21,840 [Dzirdams] 1499 01:17:21,840 --> 01:17:26,730 Jo, kad jūs lietojat, ka pagājušajā single Citējot, un saskaņot tos saturu 1500 01:17:26,730 --> 01:17:30,522 ja parole ir, ja jums ir, ka vaicājumu, tur vienu citātu pie 1501 01:17:30,522 --> 01:17:31,340 beigas jau. 1502 01:17:31,340 --> 01:17:36,580 Jūs vēlaties izmantot šo vienu citātu kā viens, kas saskaras ar vienu 1503 01:17:36,580 --> 01:17:37,574 [Dzirdams]. 1504 01:17:37,574 --> 01:17:42,820 Tātad, kas patiesībā ir šī teksta box nevajadzētu būt, ka. 1505 01:17:42,820 --> 01:17:44,070 >> ZAMYLA Chan: Es mainīt. 1506 01:17:44,070 --> 01:17:56,490 1507 01:17:56,490 --> 01:17:56,880 OK. 1508 01:17:56,880 --> 01:18:00,435 Ja nav kādi jautājumi, tad es ņemšu nodot to pa Jāzepam runāt 1509 01:18:00,435 --> 01:18:04,332 par JavaScript, uc. 1510 01:18:04,332 --> 01:18:09,540 >> [Aplausi] 1511 01:18:09,540 --> 01:18:11,660 >> JOSEPH ONG: Tātad mēs darbojas mazliet atpaliek. 1512 01:18:11,660 --> 01:18:13,280 Tātad, ja jums ir atstāt, tas ir OK. 1513 01:18:13,280 --> 01:18:16,540 Bet mēs lūdzam, lai jūs saglabāt savu galvu uz leju ja tu esi vidū, tāpēc jums 1514 01:18:16,540 --> 01:18:19,560 nav bloķēt kameru, un jūs izmantojat atpakaļ izejas, ja jums ir. 1515 01:18:19,560 --> 01:18:25,010 1516 01:18:25,010 --> 01:18:26,306 Es esmu Jāzeps, ko veidā. 1517 01:18:26,306 --> 01:18:27,556 Hi. 1518 01:18:27,556 --> 01:18:37,910 1519 01:18:37,910 --> 01:18:38,630 Tests, pārbaude. 1520 01:18:38,630 --> 01:18:39,630 Dan, ir tas, ka laba? 1521 01:18:39,630 --> 01:18:40,880 Atdzist. 1522 01:18:40,880 --> 01:18:44,460 1523 01:18:44,460 --> 01:18:47,600 >> Tāpēc video arī tiks publicēta internetā par tiem, kas 1524 01:18:47,600 --> 01:18:48,850 atstāt tagad. 1525 01:18:48,850 --> 01:18:51,350 1526 01:18:51,350 --> 01:18:52,600 Neērts. 1527 01:18:52,600 --> 01:18:56,300 1528 01:18:56,300 --> 01:18:57,510 OK. 1529 01:18:57,510 --> 01:18:59,730 Tā viktorīna pārskatīšanu. 1530 01:18:59,730 --> 01:19:00,980 Tas ir kaķis. 1531 01:19:00,980 --> 01:19:03,150 1532 01:19:03,150 --> 01:19:07,170 Tagad, JavaScript, kas varbūt nav kā AAW dažiem no jums, puiši. 1533 01:19:07,170 --> 01:19:07,370 OK. 1534 01:19:07,370 --> 01:19:09,280 Tātad, tas ir, pirmkārt, atsaukt no Zamyla. 1535 01:19:09,280 --> 01:19:11,270 Atcerieties, ka PHP ir darbojas uz servera. 1536 01:19:11,270 --> 01:19:15,230 Un daudz reižu, jūs puiši rakstīja cilpas PHP izdrukāt HTML, vai ne? 1537 01:19:15,230 --> 01:19:19,170 Tātad, kad šis kods izpilda, ka HTML izejas, ka jūs izdrukāt 1538 01:19:19,170 --> 01:19:20,500 tiek nosūtīta lietotājam. 1539 01:19:20,500 --> 01:19:25,960 Un, kad tas notiek, ne vairāk PHP nevar palaist, ja vien jūs pārlādēt lapu, no 1540 01:19:25,960 --> 01:19:27,660 Protams, kas reexecutes PHP. 1541 01:19:27,660 --> 01:19:30,080 Bet tad, kad jūs izdrukāt šo HTML, Jūs nevarat iet nekur. 1542 01:19:30,080 --> 01:19:33,580 >> Lai HTML tiek nosūtīts pa lietotājam, kas ir pārlūks nekā šeit, kur 1543 01:19:33,580 --> 01:19:35,470 Milo ir, izmantojot datoru. 1544 01:19:35,470 --> 01:19:40,340 Un tik labi, ir vairākas lietas, kad mēs sūtīt HTML lietotājam. 1545 01:19:40,340 --> 01:19:43,350 Dažreiz mēs vēlamies darīt kaut ko līdzīgu kad jūs noklikšķiniet uz kaut ko, mēs vēlamies 1546 01:19:43,350 --> 01:19:47,350 trauksmes kastes, lai pop up, šos veida mijiedarbību, piemēram, nospiežot 1547 01:19:47,350 --> 01:19:50,740 taustiņu, kad jūs noklikšķiniet uz kaut ko par lapas, es gribu kaut ko notikt. 1548 01:19:50,740 --> 01:19:54,550 Nu, jūs nevarat reexecute PHP kodu, kas reiz, ka HTML ir iestatīts. 1549 01:19:54,550 --> 01:19:55,900 Tātad, kā jūs darīt? 1550 01:19:55,900 --> 01:19:59,930 >> Mēs ieviest jaunu valodu, ko sauc par JavaScript, kas darbojas pārlūkprogrammā 1551 01:19:59,930 --> 01:20:02,890 , kas ļauj jums darīt lietas HTML kad saņemat 1552 01:20:02,890 --> 01:20:04,020 tos no servera. 1553 01:20:04,020 --> 01:20:07,050 Un tas ir iemesls, kāpēc mēs to saucam par klienta puses programmēšanas valodu. 1554 01:20:07,050 --> 01:20:09,110 Tas darbojas uz jūsu datora - 1555 01:20:09,110 --> 01:20:11,400 klients. 1556 01:20:11,400 --> 01:20:13,830 Visus jautājumus par to līdz šim? 1557 01:20:13,830 --> 01:20:15,650 Ka paradigma ir jēga cilvēkiem? 1558 01:20:15,650 --> 01:20:16,010 OK. 1559 01:20:16,010 --> 01:20:16,790 Labs. 1560 01:20:16,790 --> 01:20:17,340 Labi. 1561 01:20:17,340 --> 01:20:20,850 Tātad pirmā lieta, atzīmēt ir JavaScript nav PHP. 1562 01:20:20,850 --> 01:20:23,010 >> Tie ir daži atšķirīgu sintaksi, ko mēs iedziļināties. 1563 01:20:23,010 --> 01:20:24,530 Un viņi ir ļoti atšķirīgs lietojums. 1564 01:20:24,530 --> 01:20:26,640 JavaScript, atkal, lai jūsu pārlūkprogramma, lai klientam. 1565 01:20:26,640 --> 01:20:30,640 Servera darbojas kaut kur kāds cits dators, kas nosūta informāciju 1566 01:20:30,640 --> 01:20:31,720 jums, pareizi? 1567 01:20:31,720 --> 01:20:36,730 Tātad, ja mēs lūdzam jūs rakstīt PHP kodu par eksāmenu jautājumu, nerakstiet 1568 01:20:36,730 --> 01:20:38,710 JavaScript un vice versa. 1569 01:20:38,710 --> 01:20:41,710 Jūs tikai zaudēt punktus, un tas nebūs labi. 1570 01:20:41,710 --> 01:20:43,690 >> Tātad, pieņemsim nokļūt daži sintakses atšķirības - 1571 01:20:43,690 --> 01:20:46,140 JavaScript kreisajā pusē un PHP labajā pusē. 1572 01:20:46,140 --> 01:20:48,670 Pirmā lieta, jūs paziņojums ar JavaScript, mēs paziņojam mainīgos lielumus 1573 01:20:48,670 --> 01:20:49,440 VAR atslēgvārds - 1574 01:20:49,440 --> 01:20:53,590 V-A-R. PHP izmanto dolāra zīmi, kā Zamyla apspriests agrāk. 1575 01:20:53,590 --> 01:20:57,570 Ja jūs vēlaties deklarēt asociatīvo masīvs, mēs redzam pazīstamo sintaksi uz 1576 01:20:57,570 --> 01:20:59,030 labajā pusē ar PHP. 1577 01:20:59,030 --> 01:21:01,630 Kreisajā pusē, vietā Jūs izmantojat cirtaini lencēm. 1578 01:21:01,630 --> 01:21:03,280 Un tad jūsu taustiņi ir kreisajā pusē. 1579 01:21:03,280 --> 01:21:04,670 Tad jums ir kolu. 1580 01:21:04,670 --> 01:21:06,560 Un tad jums ir vērtības ka jūs vēlaties. 1581 01:21:06,560 --> 01:21:09,840 >> Tātad, tas ir, kā jūs varētu darīt to PHP labajā pusē, ar šo otro 1582 01:21:09,840 --> 01:21:10,955 līnija, kas sākas Milo. 1583 01:21:10,955 --> 01:21:14,540 Un tas, kā jūs varētu darīt to kreisajā pusē JavaScript, ja vēlaties 1584 01:21:14,540 --> 01:21:16,110 tas, ko mēs saucam par objektu. 1585 01:21:16,110 --> 01:21:19,340 Un objekti JavaScript ir tikai asociatīvas bloki. 1586 01:21:19,340 --> 01:21:23,710 Tātad, ja jūs vēlaties, lai piekļūtu laukus, kas PHP jūs izmantot šo stiprinājuma sintaksi. 1587 01:21:23,710 --> 01:21:27,170 Un šādā veidā, jūs varat pārdalīt tas īpašnieks lauks Lauren. 1588 01:21:27,170 --> 01:21:30,150 >> Nu, JavaScript, ja vēlaties, lai piekļūt lauku un mainīt to, jūs varat 1589 01:21:30,150 --> 01:21:31,370 izmantot dot sintaksi. 1590 01:21:31,370 --> 01:21:33,860 Jūs varat arī izmantot stiprinājuma sintaksi. 1591 01:21:33,860 --> 01:21:35,550 Bet jūs nevarat izmantot dot sintakse PHP. 1592 01:21:35,550 --> 01:21:36,525 Tas nestrādās. 1593 01:21:36,525 --> 01:21:38,910 Tas darbojas tikai PHP. 1594 01:21:38,910 --> 01:21:42,060 Un, visbeidzot, lai drukātu lietas konsole, jūs izmantojat console.log, kas 1595 01:21:42,060 --> 01:21:43,720 jūs guys izmantot daudz pset8. 1596 01:21:43,720 --> 01:21:45,260 Jūs varat console.log to. 1597 01:21:45,260 --> 01:21:50,030 >> Ja vēlaties drukāt masīvs PHP, jums ir izmantot drukas r. 1598 01:21:50,030 --> 01:21:53,240 Un labajā pusē, jūs redzat i hash string konkatenācija tur. 1599 01:21:53,240 --> 01:21:54,070 Kāds jautāja agrāk. 1600 01:21:54,070 --> 01:21:55,850 Es izmantoju plus JavaScript. 1601 01:21:55,850 --> 01:21:59,800 Ja es gribu, lai saķēdēt kaut PHP, es izmantot dot. 1602 01:21:59,800 --> 01:22:00,800 Tie ir atšķirīgi. 1603 01:22:00,800 --> 01:22:03,420 Ja jūs esat rakstiski PHP kodu, neizmanto plus. 1604 01:22:03,420 --> 01:22:06,810 Ja jūs esat rakstiski JavaScript kods, nerakstiet punktu. 1605 01:22:06,810 --> 01:22:08,230 Tas būs nepareizi. 1606 01:22:08,230 --> 01:22:09,640 Un jums būs skumji. 1607 01:22:09,640 --> 01:22:11,000 >> Tā sintakses atšķirības. 1608 01:22:11,000 --> 01:22:14,710 Zina savu sintaksi, jo, ja jums ir uzrakstīt jautājumu, un jūs izmantojat sintaksi 1609 01:22:14,710 --> 01:22:16,890 no nepareizā valodā, tas nedarbosies. 1610 01:22:16,890 --> 01:22:19,520 Un tas būs nepareizi. 1611 01:22:19,520 --> 01:22:22,420 Tāpēc parunāsim par kādu kontroli plūsmas atšķirības, kā jūs izmantojat 1612 01:22:22,420 --> 01:22:24,040 cilpas katrā no tiem. 1613 01:22:24,040 --> 01:22:26,610 Zamyla piegāja labajā pusē. 1614 01:22:26,610 --> 01:22:27,780 Sīkumi labajā pusē būtu jāzina. 1615 01:22:27,780 --> 01:22:29,670 Apskatīsim kreisajā pusē. 1616 01:22:29,670 --> 01:22:34,830 >> Kad jūs izmantot n cilpu JavaScript, Jūsu cilpa mainīgo, VAR i tur, 1617 01:22:34,830 --> 01:22:37,210 cilpa pār taustiņiem masīva. 1618 01:22:37,210 --> 01:22:39,150 Tātad jūs redzat vārdu, māja, un lomu. 1619 01:22:39,150 --> 01:22:42,440 Ja es console.log i, man vārds, māja, un uzdevums. 1620 01:22:42,440 --> 01:22:44,720 Tie ir atslēgas. 1621 01:22:44,720 --> 01:22:50,080 JavaScript, foreach cilpa iet pār vērtībām šī masīvs. 1622 01:22:50,080 --> 01:22:52,040 Tātad, jūs ievērosiet, ka viņi abi i. 1623 01:22:52,040 --> 01:22:56,000 Bet šeit uz PHP pusē, tas drukā out Milo, CS50, un Mascot. 1624 01:22:56,000 --> 01:22:57,390 Tās ir vērtības PHP. 1625 01:22:57,390 --> 01:23:00,180 >> Tātad tie ir, kā šie divi ir atšķirīgas dažādās valodās. 1626 01:23:00,180 --> 01:23:02,970 Tātad, ja jūs izmantojat foreach cilpa, neuzskatiet, ka tā 1627 01:23:02,970 --> 01:23:03,760 dod jums atslēgas. 1628 01:23:03,760 --> 01:23:08,010 Un, ja jūs izmantojat, lai n cilpas, nav pieņemu, tas dod jums vērtības. 1629 01:23:08,010 --> 01:23:10,420 Vai tas ir jēga tik tālu? 1630 01:23:10,420 --> 01:23:13,630 Nākamais slaids ir gatavojas parādīs kā jūs varat piekļūt pretējo in 1631 01:23:13,630 --> 01:23:15,160 katrs no tiem. 1632 01:23:15,160 --> 01:23:18,550 >> Nu, ja jums ir atslēga JavaScript un jūs vēlaties, vērtību, kas, 1633 01:23:18,550 --> 01:23:20,440 jūs vienkārši indekss par masīvs ar to. 1634 01:23:20,440 --> 01:23:23,640 Tāpēc Milo I saņems to, ko vēlaties - vērtības. 1635 01:23:23,640 --> 01:23:25,260 Tur tas ir atšķirīgs sintakses PHP. 1636 01:23:25,260 --> 01:23:28,140 Ja jūs patiešām vēlaties zināt, man nav domāju, ka mēs esam parādīja to jums vēl. 1637 01:23:28,140 --> 01:23:31,740 Bet, ja jūs interesē, jūs varat izmantot šo papildu sintakse labajā pusē 1638 01:23:31,740 --> 01:23:35,130 puse, kas faktiski ļauj iegūt atslēgas PHP, ja jūs izmantojat 1639 01:23:35,130 --> 01:23:35,880 foreach cilpa. 1640 01:23:35,880 --> 01:23:39,640 Tāpēc tikai mazliet nieki ja jūs interesē. 1641 01:23:39,640 --> 01:23:42,630 >> Tātad, tas ir tikai, lai pierādītu atšķirības starp šīm divām cilpas. 1642 01:23:42,630 --> 01:23:47,060 Nejauciet tos, kad jūs esat programmēšanas jautājumu. 1643 01:23:47,060 --> 01:23:49,774 Kādi jautājumi par to. 1644 01:23:49,774 --> 01:23:50,770 Atdzist. 1645 01:23:50,770 --> 01:23:51,310 Labi. 1646 01:23:51,310 --> 01:23:52,250 JavaScript objekti. 1647 01:23:52,250 --> 01:23:53,040 Es runāju par tiem. 1648 01:23:53,040 --> 01:23:54,650 Viņi, piemēram, asociatīvas bloki. 1649 01:23:54,650 --> 01:23:57,730 Viena lieta, ko es gribētu, lai jūs atzīmēt šeit ir tas, ka vērtība ir asociatīvās 1650 01:23:57,730 --> 01:23:59,540 masīvs var būt jebkas JavaScript. 1651 01:23:59,540 --> 01:24:02,240 >> Tas var būt pat funkcija, tāpat tur. 1652 01:24:02,240 --> 01:24:04,600 Man ir funkcija, kas ir vērtība taustiņu. 1653 01:24:04,600 --> 01:24:07,030 Un, ja es vēlos, lai izsauktu šo funkciju, Es vienkārši piekļūt mizu. 1654 01:24:07,030 --> 01:24:08,490 Un tad es ielieciet iekavas pēc tam. 1655 01:24:08,490 --> 01:24:09,790 Un tas darbojas. 1656 01:24:09,790 --> 01:24:15,570 Tātad, kādi jautājumi? 1657 01:24:15,570 --> 01:24:16,370 Nē? 1658 01:24:16,370 --> 01:24:16,650 OK. 1659 01:24:16,650 --> 01:24:18,190 Labs. 1660 01:24:18,190 --> 01:24:20,130 JavaScript, piemēram, PHP, ir brīvi drukāti. 1661 01:24:20,130 --> 01:24:20,970 Ko tas nozīmē? 1662 01:24:20,970 --> 01:24:22,380 >> Tas ir veidi. 1663 01:24:22,380 --> 01:24:24,800 Bet, ja jūs atzīt JavaScript mainīgais, jūs sakāt VAR i. 1664 01:24:24,800 --> 01:24:25,850 Jums nav pateikt. 1665 01:24:25,850 --> 01:24:26,460 Tas nav lieta. 1666 01:24:26,460 --> 01:24:28,000 Jūs vienkārši teikt, tas ir mainīgs. 1667 01:24:28,000 --> 01:24:31,590 Un tad JavaScript veiks veidi saskaņā ar kapuci jums. 1668 01:24:31,590 --> 01:24:34,390 Mēs varam brīvi konvertēt starp veidiem, jo ​​to. 1669 01:24:34,390 --> 01:24:37,360 Tāpēc es uzsāk veikt kā skaitlis šajā gadījumā. 1670 01:24:37,360 --> 01:24:38,790 Un tad man ir virkne. 1671 01:24:38,790 --> 01:24:39,710 Un es pievienot i to. 1672 01:24:39,710 --> 01:24:41,810 Un es pārdalīt to atpakaļ uz i. 1673 01:24:41,810 --> 01:24:43,640 >> Tātad šajā pirmajā rindā, i ir numurs. 1674 01:24:43,640 --> 01:24:47,310 Otrajā rindā, es tagad kļūst string pēc man zvejā. 1675 01:24:47,310 --> 01:24:52,820 Un šeit, es esmu tikai konkatenācijas šis skaits uz virkni. 1676 01:24:52,820 --> 01:24:56,210 Tātad jūs redzat, ka, lai gan man bija integer pirmajā daļā, tas ir sava 1677 01:24:56,210 --> 01:24:58,500 no kā tiek pārvērsts string un pēc tam tiek pievienots 1678 01:24:58,500 --> 01:25:00,510 uz šo sveiki virkni. 1679 01:25:00,510 --> 01:25:02,340 Un tā, ka tas, ko es domāju ar vaļēju rakstīt. 1680 01:25:02,340 --> 01:25:04,760 Tas ir, kas jums konvertēt starp veidi ir ļoti viegli. 1681 01:25:04,760 --> 01:25:08,840 Un tas nav mest brīdinājumi pie jums patīk C dara. 1682 01:25:08,840 --> 01:25:12,420 >> Tāpēc man tagad ir sveiki 123 uz virkni. 1683 01:25:12,420 --> 01:25:13,270 Nākamais. 1684 01:25:13,270 --> 01:25:15,610 Mēs varam arī brīvi salīdzināt starp veidiem. 1685 01:25:15,610 --> 01:25:19,310 Tātad, ja jūs vienkārši izmantot ==, ļoti piemēram, PHP, JavaScript 1686 01:25:19,310 --> 01:25:20,480 nav līdzīga lieta. 1687 01:25:20,480 --> 01:25:24,780 String 123 ir tāds pats kā skaitu 123, ja jūs izmantojat dubulto vienāds. 1688 01:25:24,780 --> 01:25:27,820 Ja to izmanto triple vienāds, bet arī vēlas, lai pārliecinātos, ka 1689 01:25:27,820 --> 01:25:29,240 veids ir tāds pats. 1690 01:25:29,240 --> 01:25:31,960 Tāpēc, ka ir virkne, un tas ir numuru, pat ja viņi abi 1691 01:25:31,960 --> 01:25:35,280 123, ja jūs izmantojat triple vienāds, jums nepatiesa. 1692 01:25:35,280 --> 01:25:39,330 In dubultā vienāds gadījumā, jums ir taisnība, jo dubultā vienāds nav 1693 01:25:39,330 --> 01:25:40,020 rūp veidu. 1694 01:25:40,020 --> 01:25:42,500 Triple vienādības tas rūp veidu. 1695 01:25:42,500 --> 01:25:43,750 Jautājumi? 1696 01:25:43,750 --> 01:25:45,790 1697 01:25:45,790 --> 01:25:48,390 OK. 1698 01:25:48,390 --> 01:25:52,870 >> Un vēl viena lieta par JavaScript ir joma ir sava veida globāls, ja jūs 1699 01:25:52,870 --> 01:25:53,460 in funkciju. 1700 01:25:53,460 --> 01:25:55,660 Un tas darbojas tajā pašā kā PHP faktiski. 1701 01:25:55,660 --> 01:25:57,500 Tātad, pieņemsim iet caur šo piemēru. 1702 01:25:57,500 --> 01:25:59,110 Es noteikti i 999. 1703 01:25:59,110 --> 01:26:00,900 Un tad es dodos uz šis cilpas. 1704 01:26:00,900 --> 01:26:06,110 Tātad, ja es esmu drukāšanu i noteikti šis cilpa, I gaidīt 0, 1, 2, 3, 4. 1705 01:26:06,110 --> 01:26:07,390 Es varu i = 4. 1706 01:26:07,390 --> 01:26:10,770 Tā soli es tagad līdz 5 pie beigām, lai cilpa. 1707 01:26:10,770 --> 01:26:13,300 Un pēc tam tas saplīst no cilpas, jo tas neatbilst 1708 01:26:13,300 --> 01:26:14,550 nosacījums vairs. 1709 01:26:14,550 --> 01:26:16,650 >> Ko jūs domājat, ka nākamajā console.log izdrukā? 1710 01:26:16,650 --> 01:26:20,570 1711 01:26:20,570 --> 01:26:24,790 Tātad tas, ko tā varētu darīt, C. C, jo, ja jums ir, piemēram VAR i ārpuses 1712 01:26:24,790 --> 01:26:28,855 un jums ir VAR i iekšpusē cilpa, piemēram, cilpa, tad tas padara tāds, ka 1713 01:26:28,855 --> 01:26:30,690 tas ir scoped, ka divi i s ir atšķirīgi. 1714 01:26:30,690 --> 01:26:34,630 JavaScript, tas būs tikai pret to kā tādu pašu i. 1715 01:26:34,630 --> 01:26:37,870 Man 5, jo tas bija vērtība pēc tam, kad tas iziet no cilpas. 1716 01:26:37,870 --> 01:26:39,120 Tā, ka šie i s ir vienādi i. 1717 01:26:39,120 --> 01:26:42,620 1718 01:26:42,620 --> 01:26:44,130 Vai tas ir jēga? 1719 01:26:44,130 --> 01:26:45,720 >> Nu, tas ir jēga no JavaScript viedokļa. 1720 01:26:45,720 --> 01:26:49,510 Bet pats paradigma nav pārnest uz C. Tās ir 1721 01:26:49,510 --> 01:26:50,310 dažādas jomas noteikšanā noteikumi. 1722 01:26:50,310 --> 01:26:50,630 Jā. 1723 01:26:50,630 --> 01:26:52,566 >> Mērķauditorija: [dzirdams] 1724 01:26:52,566 --> 01:26:54,990 ārpus funkciju [dzirdams]? 1725 01:26:54,990 --> 01:26:58,340 >> JOSEPH ONG: Tātad, ārpus kuras funkcija? 1726 01:26:58,340 --> 01:27:00,810 Tāpēc es nopirkšu, ka tikai sekundi. 1727 01:27:00,810 --> 01:27:02,580 Tāpēc mēs saucam foo (i). 1728 01:27:02,580 --> 01:27:06,920 Šis iet i vārtos foo, pieaugumu tā, un pēc tam reģistrē to. 1729 01:27:06,920 --> 01:27:07,750 Tātad tas bija 5. 1730 01:27:07,750 --> 01:27:09,210 Tātad, tas kļūst par 6. 1731 01:27:09,210 --> 01:27:11,670 Bet tas, ko es runāju par to ir ka man šāds statuss. 1732 01:27:11,670 --> 01:27:14,430 Jo tas ir parametrs, tas ir scoped šai funkcijai. 1733 01:27:14,430 --> 01:27:17,800 Tātad, kad es tiešām izkļūt no tā funkcija, tas ir tagad gatavojas iet 1734 01:27:17,800 --> 01:27:19,860 atpakaļ uz veco i. 1735 01:27:19,860 --> 01:27:23,000 Kas i ir scoped tikai tāpēc, ka tas ir funkciju. 1736 01:27:23,000 --> 01:27:24,200 Un mēs esam jomu un funkcijas. 1737 01:27:24,200 --> 01:27:29,080 Bet mums nav joma ārpus Funkciju JavaScript. 1738 01:27:29,080 --> 01:27:31,170 Vai tas ir jēga? 1739 01:27:31,170 --> 01:27:31,320 Jā. 1740 01:27:31,320 --> 01:27:31,660 Jautājums. 1741 01:27:31,660 --> 01:27:34,030 >> Mērķauditorija: Same [dzirdams]? 1742 01:27:34,030 --> 01:27:34,500 >> JOSEPH ONG: Tātad yeah. 1743 01:27:34,500 --> 01:27:36,260 PHP, tas ir paša veida lieta. 1744 01:27:36,260 --> 01:27:37,680 Tur ir nedaudz smalkumu faktiski. 1745 01:27:37,680 --> 01:27:40,130 Bet jūs varat uzdot man par ka pēc pārskatīšanas. 1746 01:27:40,130 --> 01:27:43,930 Jums nav tiešām ir nepieciešams zināt ka asums uz viktorīnas. 1747 01:27:43,930 --> 01:27:47,600 Attiecībā uz visiem nolūkiem un, līdzīgi mainīgie, pasaules un PHP, ja vien 1748 01:27:47,600 --> 01:27:49,150 viņi ir funkcijas, tajā pašā lieta JavaScript. 1749 01:27:49,150 --> 01:27:49,480 Jā. 1750 01:27:49,480 --> 01:27:52,890 >> Mērķauditorija: Kāpēc tas ir atļauts JavaScript un nav kur citur? 1751 01:27:52,890 --> 01:27:55,010 >> JOSEPH ONG: Tātad, kāpēc tas ir atļauts JavaScript nevis C? 1752 01:27:55,010 --> 01:27:58,180 Tas ir tikai tas, kurš nāca klajā ar JavaScript nolēma, ka tas bija OK 1753 01:27:58,180 --> 01:27:59,510 JavaScript. 1754 01:27:59,510 --> 01:28:02,430 Tātad, tas ir tāpat kā programmēšanas valodu konvencija, kā mēs teiktu. 1755 01:28:02,430 --> 01:28:02,580 Jā. 1756 01:28:02,580 --> 01:28:04,480 >> Mērķauditorija: Tad kāpēc to iet 6-5? 1757 01:28:04,480 --> 01:28:08,280 >> JOSEPH ONG: Tātad tas gāja 6-5, jo, kad es izturējis i uz foo, ka 1758 01:28:08,280 --> 01:28:13,420 i iekšpusē foo tagad scoped uz foo, jo apjomu pastāv funkcijas 1759 01:28:13,420 --> 01:28:15,050 JavaScript. 1760 01:28:15,050 --> 01:28:18,720 Bet tad, kad man no šejienes, jo tas Tika scoped funkcijai, es esmu tikai 1761 01:28:18,720 --> 01:28:24,300 izmantojot regulāru i, kas bija iekšā pārējā kontroles plūsmu. 1762 01:28:24,300 --> 01:28:25,210 Jēga? 1763 01:28:25,210 --> 01:28:26,910 Vai es varu doties tālāk? 1764 01:28:26,910 --> 01:28:27,320 Labi. 1765 01:28:27,320 --> 01:28:29,180 Atdzist. 1766 01:28:29,180 --> 01:28:31,890 >> Šī pieņemšana ir objekti ir pagājis ar atsauci. 1767 01:28:31,890 --> 01:28:33,990 Jūs zināt, kā tad, kad jūs ejat masīvs uz C, jūs varētu 1768 01:28:33,990 --> 01:28:35,810 faktiski mainīt masīvu? 1769 01:28:35,810 --> 01:28:37,350 Tas ir tas pats, JavaScript. 1770 01:28:37,350 --> 01:28:42,960 Ja es nodot objektu, šajā gadījumā, es pagājis Milo šajā catify funkciju. 1771 01:28:42,960 --> 01:28:44,490 Milo sāk out. 1772 01:28:44,490 --> 01:28:46,310 Viņa vārds ir Milo Banana. 1773 01:28:46,310 --> 01:28:51,670 Es nodot šo objektu funkciju jo tas ir objekts, asociatīvais 1774 01:28:51,670 --> 01:28:53,730 masīvs JavaScript. 1775 01:28:53,730 --> 01:28:57,110 >> Kad es veiktu operāciju šāds statuss, tā būs 1776 01:28:57,110 --> 01:28:58,560 faktiski mainīt objektu. 1777 01:28:58,560 --> 01:29:01,720 Tāpēc tas notiks tikai objektiem JavaScript, tāpat kā tas notiek 1778 01:29:01,720 --> 01:29:09,230 uz blokiem iekšpusē C. Tātad Milo vārdu kas faktiski ir kļuvis kaķis tagad. 1779 01:29:09,230 --> 01:29:10,090 Vai tas ir jēga? 1780 01:29:10,090 --> 01:29:11,840 Tāpēc tas darbojas tikai objektiem. 1781 01:29:11,840 --> 01:29:13,090 Objekti tiek nodoti ar atsauci. 1782 01:29:13,090 --> 01:29:13,400 Jā. 1783 01:29:13,400 --> 01:29:16,850 >> Mērķauditorija: Tātad jūs sakāt, ka atšķirībā no mainīgo i. 1784 01:29:16,850 --> 01:29:17,240 >> JOSEPH ONG: Jā. 1785 01:29:17,240 --> 01:29:20,330 Mainīgu man bija tikko numuru, vai ne? 1786 01:29:20,330 --> 01:29:25,280 Tas ir tāpat kā C, kad iet skaitlim, tas padara kopiju. 1787 01:29:25,280 --> 01:29:28,130 Un, kad jūs iet masīvs, tā faktiski maina faktisko masīva 1788 01:29:28,130 --> 01:29:32,870 C. Tas pats notiek ar JavaScript šajā gadījumā. 1789 01:29:32,870 --> 01:29:34,070 Labi. 1790 01:29:34,070 --> 01:29:38,134 Un nākamais, Milo ir skumji, jo viņš tagad kaķis. 1791 01:29:38,134 --> 01:29:40,790 1792 01:29:40,790 --> 01:29:45,060 Tas bija faktiski Milo pēc daži brauciens uz vet. 1793 01:29:45,060 --> 01:29:46,860 >> Tātad, kā mēs izmantot JavaScript kādā mājas lapā? 1794 01:29:46,860 --> 01:29:47,790 Mēs varam iekļaut to. 1795 01:29:47,790 --> 01:29:50,090 Tas ir HTML kods, ar striptīza tagiem. 1796 01:29:50,090 --> 01:29:51,300 Tāpēc man ir striptīza tagus tur. 1797 01:29:51,300 --> 01:29:54,820 Un tad man kādu JavaScript kods ietvaros skriptu tagus. 1798 01:29:54,820 --> 01:29:56,390 Un tad izpilda to. 1799 01:29:56,390 --> 01:29:58,830 Kad es vienkārši darīt to, kā šis, tas ir sauc inline JavaScript. 1800 01:29:58,830 --> 01:30:02,400 Tas ir sava veida netīrs, jo JavaScript ir faktiski HTML. 1801 01:30:02,400 --> 01:30:07,010 >> Labāks veids, kā to izdarīt, ir daudz jaukāk, ir rakstīt savu JavaScript 1802 01:30:07,010 --> 01:30:10,920 ārējā faila un pēc tam sniedz skriptu tag ar avotu. 1803 01:30:10,920 --> 01:30:14,920 Un tas dosies uz šo JavaScript failu un lasīt JavaScript kodu 1804 01:30:14,920 --> 01:30:15,960 ka failu vietā. 1805 01:30:15,960 --> 01:30:18,820 Un šādā veidā, jums nav daudz JavaScript sākumā savu 1806 01:30:18,820 --> 01:30:20,760 HTML failu, kas padara tas tiešām netīrs. 1807 01:30:20,760 --> 01:30:21,860 Jūs vienkārši ielieciet to kaut kur citur. 1808 01:30:21,860 --> 01:30:24,310 Un tad tas būs lasīt to no turienes. 1809 01:30:24,310 --> 01:30:25,560 Bija, ka ir jēga? 1810 01:30:25,560 --> 01:30:27,990 1811 01:30:27,990 --> 01:30:29,640 >> Izvietošana jautājumiem. 1812 01:30:29,640 --> 01:30:32,620 Šajā konkrētajā gadījumā Skripts ir pirms organismā. 1813 01:30:32,620 --> 01:30:36,090 Tātad, kad es izpildīt, ka tur ir nekas organismā vēl. 1814 01:30:36,090 --> 01:30:39,920 Varbūt tas būs mazliet vairāk sajust, kad es parādītu šo nākamo daļu. 1815 01:30:39,920 --> 01:30:43,210 Šajā gadījumā, scenāriju nāk pēc div. 1816 01:30:43,210 --> 01:30:46,620 Tāpēc div faktiski parādās lapā pirmās. 1817 01:30:46,620 --> 01:30:49,470 Tepat šajā maz sarkans aplis, redzat parādās teksts. 1818 01:30:49,470 --> 01:30:51,810 Un tad brīdinājums parādās. 1819 01:30:51,810 --> 01:30:54,890 >> Pirmajā gadījumā, jo skripts bija pirms div, 1820 01:30:54,890 --> 01:30:56,170 brīdinājums parādās pirmās. 1821 01:30:56,170 --> 01:30:59,250 Un tad div parādās pēc Jūs noraidīt lodziņu. 1822 01:30:59,250 --> 01:31:01,330 Tā izpildes jautājumiem. 1823 01:31:01,330 --> 01:31:02,290 Tāpēc mēs paturēt to prātā. 1824 01:31:02,290 --> 01:31:03,640 Tas būs svarīgi ar mazliet. 1825 01:31:03,640 --> 01:31:08,730 1826 01:31:08,730 --> 01:31:09,540 OK. 1827 01:31:09,540 --> 01:31:12,750 Tik labi, kā jūs jāgaida, kamēr Visa lapa ir ielādēta, tad pirms jums 1828 01:31:12,750 --> 01:31:13,580 izpildīt kādu kodu? 1829 01:31:13,580 --> 01:31:15,540 Mēs nokļūt šajā maz mazliet vēlāk too. 1830 01:31:15,540 --> 01:31:19,016 Bet tikai turēt šo izvietojumu jautājumi prātā, kad mēs 1831 01:31:19,016 --> 01:31:20,570 nāk uz citu slaidu. 1832 01:31:20,570 --> 01:31:22,030 >> Tāpēc mēs nokļūt DOM tagad. 1833 01:31:22,030 --> 01:31:23,550 Un kāda ir DOM? 1834 01:31:23,550 --> 01:31:26,830 Tātad, ja paskatās HTML kodu, tas ir tikai ķekars tekstu uz ekrāna. 1835 01:31:26,830 --> 01:31:30,560 Tātad, kā tas JavaScript zina, ka tas ir HTML elements? 1836 01:31:30,560 --> 01:31:33,410 Tāpēc mums ir jābūt dažas atmiņas pārstāvība šīs 1837 01:31:33,410 --> 01:31:34,930 struktūru, kas mums ir. 1838 01:31:34,930 --> 01:31:40,240 Un, ja mums ir tas atmiņā pārstāvība JavaScript, mēs aicinām 1839 01:31:40,240 --> 01:31:41,750 ka DOM. 1840 01:31:41,750 --> 01:31:45,130 Un tas ir tikai veids, ka cilvēki nolēma ka mums ir jāveido šī 1841 01:31:45,130 --> 01:31:46,400 HTML struktūra, kā. 1842 01:31:46,400 --> 01:31:47,940 >> Un ko tas DOM izskatās? 1843 01:31:47,940 --> 01:31:50,460 Nu, atmiņas pārstāvību, mēs šo tekstu. 1844 01:31:50,460 --> 01:31:52,870 Un mēs savukārt to atmiņā pārstāvība. 1845 01:31:52,870 --> 01:31:54,400 Tātad šis ir HTML. 1846 01:31:54,400 --> 01:31:58,090 Lai mēs vispirms uzzināt, ka katrs DOM koks ir dokumentu. 1847 01:31:58,090 --> 01:31:59,400 Tas izskatās kā koks. 1848 01:31:59,400 --> 01:32:03,550 Un dokuments satur HTML tag, faktiski viss 1849 01:32:03,550 --> 01:32:05,150 iekšpusē šo tagad. 1850 01:32:05,150 --> 01:32:06,970 HTML tags ir divi bērni. 1851 01:32:06,970 --> 01:32:08,630 Tas ir galva. 1852 01:32:08,630 --> 01:32:12,380 Ka galvu, ja paskatās iedobi tur, kā tas ir strukturēts 1853 01:32:12,380 --> 01:32:14,960 starp tuviem tagiem, galva ir bērns. 1854 01:32:14,960 --> 01:32:17,130 Bērns ir virsraksts. 1855 01:32:17,130 --> 01:32:18,370 Tieši tā. 1856 01:32:18,370 --> 01:32:21,000 >> Tagad, mums ir ķermeņa bērns. 1857 01:32:21,000 --> 01:32:24,870 Un tad, ka iestāde ir bērnu sauc par ģimeni. 1858 01:32:24,870 --> 01:32:27,950 Un ka ģimene ir trīs bērni - 1859 01:32:27,950 --> 01:32:29,550 vecākā, vidējā un jaunākā. 1860 01:32:29,550 --> 01:32:31,960 Tātad, jums vajadzētu zināt, kā to izdarīt diagrammu kā šis, kad mēs jautājam, kā 1861 01:32:31,960 --> 01:32:34,270 uzzīmēt shēmu, kad mēs dodam Jūs HTML pa kreisi. 1862 01:32:34,270 --> 01:32:36,350 Zina, kā ražot DOM koku. 1863 01:32:36,350 --> 01:32:38,930 Un iekšpusē no šīm lietām, tur ir tikai kādu tekstu, ko es esmu pārstāvis 1864 01:32:38,930 --> 01:32:40,180 kā maz kastes. 1865 01:32:40,180 --> 01:32:42,750 1866 01:32:42,750 --> 01:32:47,980 >> Vai tas DOM koka struktūru padarīt izjūta un kāda DOM ir? 1867 01:32:47,980 --> 01:32:49,300 Tātad, ko tas p kandidēt? 1868 01:32:49,300 --> 01:32:51,850 Vairāk nekā šeit, p tur Šajā tag ir 1869 01:32:51,850 --> 01:32:54,510 punkts tag HTML. 1870 01:32:54,510 --> 01:32:57,080 Tātad jūs varat skatīties to uz augšu. 1871 01:32:57,080 --> 01:32:59,290 Bet tas tikai nozīmē, ka ir dažas vieta kādu tekstu. 1872 01:32:59,290 --> 01:33:02,910 Un tas ir dažas noklusējuma CSS stilu, jo tas ir tag punktu. 1873 01:33:02,910 --> 01:33:05,130 Bet nav īsti jāuztraucas par šī daļa ir pārāk daudz. 1874 01:33:05,130 --> 01:33:07,510 Tikai zinu, ka tas ir vietturis kādu tekstu. 1875 01:33:07,510 --> 01:33:08,480 Jā. 1876 01:33:08,480 --> 01:33:10,200 Jautājums? 1877 01:33:10,200 --> 01:33:11,021 Jā. 1878 01:33:11,021 --> 01:33:12,374 >> Mērķauditorija: Jūs vienkārši minēja CSS. 1879 01:33:12,374 --> 01:33:15,492 Hash ģimeni un hash visu, kas stuff ir būtībā 1880 01:33:15,492 --> 01:33:17,400 pārstāv ID CSS? 1881 01:33:17,400 --> 01:33:18,440 >> JOSEPH ONG: Jā, tieši tā. 1882 01:33:18,440 --> 01:33:20,380 Es nopirkšu, ko šie hashes nozīmē sekundē. 1883 01:33:20,380 --> 01:33:23,480 Kad Angela piegāja CSS, viņa runāja par CSS selektori. 1884 01:33:23,480 --> 01:33:26,770 Tie ir CSS selektori, ka viņa runā. 1885 01:33:26,770 --> 01:33:28,268 Jā, Rob? 1886 01:33:28,268 --> 01:33:32,060 >> ROB BOWDEN: Es arī vēlētos komentēt ka DOM iekšpusē nosaukums tag 1887 01:33:32,060 --> 01:33:35,385 ir teksta mezglā. 1888 01:33:35,385 --> 01:33:36,070 >> JOSEPH ONG: Right. 1889 01:33:36,070 --> 01:33:38,370 Tā iekšpusē nosaukumu tag, Man ir dažas teksta DOM. 1890 01:33:38,370 --> 01:33:42,730 Tik tiešām, šis nosaukums būtu, piemēram, mazā kastīte nāk nost no tā, kā labi. 1891 01:33:42,730 --> 01:33:45,740 Bet tas nav īsti jautājums pārāk daudz šajā gadījumā. 1892 01:33:45,740 --> 01:33:49,620 Mums nav īsti rūp teksta mezgliem, kā mēs to saucam, ir pārāk daudz. 1893 01:33:49,620 --> 01:33:50,270 Labi, mēs darām. 1894 01:33:50,270 --> 01:33:51,520 Acīmredzot, mēs darām. 1895 01:33:51,520 --> 01:33:54,260 1896 01:33:54,260 --> 01:33:57,100 Un es noteikt, ka tad, kad Es augšupielādēt to vēlreiz. 1897 01:33:57,100 --> 01:33:59,830 Vai tas ir jēga? 1898 01:33:59,830 --> 01:34:01,160 >> Tātad, kā mēs strādājam ar DOM? 1899 01:34:01,160 --> 01:34:03,790 Ikreiz, kad jūs nodarbojas ar DOM in JavaScript ir divi soļi. 1900 01:34:03,790 --> 01:34:05,030 Izvēlaties DOM elementu. 1901 01:34:05,030 --> 01:34:06,580 Un tad jūs darīt lietas, lai to. 1902 01:34:06,580 --> 01:34:11,480 Tātad šajā gadījumā, abstrakti, es esmu izvēlēts vidējo elementu. 1903 01:34:11,480 --> 01:34:14,530 Un tad piemērs darot lietas to varētu mainīt tekstu. 1904 01:34:14,530 --> 01:34:16,020 Kas kādreiz bija Bob. 1905 01:34:16,020 --> 01:34:19,930 Tagad, ko es darīju to es biju mainījies Bobs Milo šajā lietā. 1906 01:34:19,930 --> 01:34:22,130 >> Tātad, kā mēs patiešām to dara? 1907 01:34:22,130 --> 01:34:23,440 Kā mēs to izvēloties? 1908 01:34:23,440 --> 01:34:26,560 Un kā mēs darām lietas, kas lieta, kad mēs esam spēruši? 1909 01:34:26,560 --> 01:34:30,470 Nu, kā jūs puiši ir iemācījušies to šajā klasē ir, izmantojot kaut mēs 1910 01:34:30,470 --> 01:34:32,420 sauc jQuery. 1911 01:34:32,420 --> 01:34:33,910 Tātad, kas ir jQuery? 1912 01:34:33,910 --> 01:34:37,220 jQuery ir bibliotēka, kas padara JavaScript vieglāk rakstīt. 1913 01:34:37,220 --> 01:34:39,500 Tātad, kāds bija laiks un rakstīja jQuery. 1914 01:34:39,500 --> 01:34:41,530 >> jQuery ir faktiski rakstīts JavaScript. 1915 01:34:41,530 --> 01:34:44,550 Un tad tāpēc, ka viņi to izdarīja, mēs tagad ir visai ķekars funkcijas, 1916 01:34:44,550 --> 01:34:46,020 mēs varam izmantot, kas padara mūsu dzīvo patiešām viegli. 1917 01:34:46,020 --> 01:34:48,580 1918 01:34:48,580 --> 01:34:50,030 Tātad, kādi ir daži no lietas, tā dara? 1919 01:34:50,030 --> 01:34:51,650 Tas padara izvēloties elementus vieglāk. 1920 01:34:51,650 --> 01:34:54,020 Tas padara mainās HTML, pievienojot klases vieglāk. 1921 01:34:54,020 --> 01:34:55,360 Tas padara Ajax vieglāk. 1922 01:34:55,360 --> 01:34:58,230 Mēs nokļūt, ka sekundē. 1923 01:34:58,230 --> 01:35:00,630 >> Un tas ir analogi C bibliotēkām. 1924 01:35:00,630 --> 01:35:03,090 Tātad jūs arī string.h, jums strlen. 1925 01:35:03,090 --> 01:35:04,680 Jūs saņemsiet strcpy, visas šīs lietas. 1926 01:35:04,680 --> 01:35:09,650 Kad jūs iekļaut jQuery, jums jauki veidi, kā izvēlēties elementus, lai mainītu 1927 01:35:09,650 --> 01:35:10,390 lietas, un tā tālāk. 1928 01:35:10,390 --> 01:35:12,990 Jūs saņemsiet papildus funkcionalitāti, kas JavaScript nedod jums. 1929 01:35:12,990 --> 01:35:15,310 Tāpēc jQuery nav JavaScript. 1930 01:35:15,310 --> 01:35:18,660 jQuery ir bibliotēka, kas ir rakstīts JavaScript, kas ļauj JavaScript 1931 01:35:18,660 --> 01:35:20,440 vieglāk rakstīt. 1932 01:35:20,440 --> 01:35:23,170 >> Tāpēc jQuery nav programmēšanas valoda. 1933 01:35:23,170 --> 01:35:24,540 Bet JavaScript ir. 1934 01:35:24,540 --> 01:35:27,420 1935 01:35:27,420 --> 01:35:27,590 padarīt. 1936 01:35:27,590 --> 01:35:30,420 Pārliecināts, ka jūs saņemsiet savu terminoloģiju labi. 1937 01:35:30,420 --> 01:35:32,490 Kādi jautājumi? 1938 01:35:32,490 --> 01:35:33,882 Jā. 1939 01:35:33,882 --> 01:35:35,132 Ir tas jautājums? 1940 01:35:35,132 --> 01:35:37,910 1941 01:35:37,910 --> 01:35:38,350 Labi. 1942 01:35:38,350 --> 01:35:40,080 Tātad, kā jūs izmantojat jQuery? 1943 01:35:40,080 --> 01:35:42,390 Nu, ja jūs esat rakstiski daži JavaScript kodu un jūs iekļaut 1944 01:35:42,390 --> 01:35:45,570 jQuery augšpusē jūsu failu, jo skripta failu, jūs izmantot dolāra zīmi 1945 01:35:45,570 --> 01:35:47,310 tagad, lai iegūtu piekļuvi jQuery. 1946 01:35:47,310 --> 01:35:49,860 Un tas ir atšķirīgs no dolāra zīmi PHP. 1947 01:35:49,860 --> 01:35:51,590 >> Tas pats simbols jums rakstīt uz tastatūras. 1948 01:35:51,590 --> 01:35:52,780 Bet tie ir ļoti dažādas lietas. 1949 01:35:52,780 --> 01:35:56,090 Dolāra zīmi PHP nozīmē, ka šis ir, kā es deklarēt mainīgo. 1950 01:35:56,090 --> 01:35:59,120 JavaScript, kad esat iekļauts jQuery, tas nozīmē jQuery. 1951 01:35:59,120 --> 01:36:01,280 Lai saglabātu, ka prātā. 1952 01:36:01,280 --> 01:36:03,420 Tātad, kā mēs varbūt izvēlēties DOM elementus? 1953 01:36:03,420 --> 01:36:06,500 Nu, ja jūs to neglīts JavaScript veidā, jūs varat piekļūt 1954 01:36:06,500 --> 01:36:08,240 dokumentēt globālo mainīgo. 1955 01:36:08,240 --> 01:36:11,170 Un tad jums elementa ID ģimeni. 1956 01:36:11,170 --> 01:36:15,270 Tas ir ļoti garš un izplūdis un nav ļoti jauki. 1957 01:36:15,270 --> 01:36:18,190 >> Vai jūs varat saņemt visus elementus ka ir p tag. 1958 01:36:18,190 --> 01:36:20,080 Kas darbojas pārāk JavaScript. 1959 01:36:20,080 --> 01:36:22,470 Bet mēs nekad īsti parādīja Jūs sintakse pārāk daudz. 1960 01:36:22,470 --> 01:36:24,620 Ko mēs parādīja jums bija jQuery. 1961 01:36:24,620 --> 01:36:28,720 Tā, ka visu selektoru uz augšu tur, ka Tika izteikts JavaScript tikai kļūst 1962 01:36:28,720 --> 01:36:33,320 kondensē uz šo ļoti jauku dolāru paraksta hashtag ģimeni. 1963 01:36:33,320 --> 01:36:38,480 Un $ p, tieši tur, kur tas ir, piemēram, ka. 1964 01:36:38,480 --> 01:36:41,690 Ja jūs vēlaties, lai atlasītu visus p tagus iekšā ģimeni, mēs liekam atstarpi 1965 01:36:41,690 --> 01:36:42,890 starp diviem. 1966 01:36:42,890 --> 01:36:44,815 Un tagad, mēs visi p tags iekšā ģimeni. 1967 01:36:44,815 --> 01:36:48,740 1968 01:36:48,740 --> 01:36:50,380 >> Un izskatās pazīstami? 1969 01:36:50,380 --> 01:36:52,880 Nu, Angela runāja par CSS selektoru. 1970 01:36:52,880 --> 01:36:54,200 Dodiet man vienu sekundi. 1971 01:36:54,200 --> 01:36:57,230 Un tāpēc, lai izvēlētos elementu, jūs vienkārši izmantot to pašu, ko jūs 1972 01:36:57,230 --> 01:36:58,530 darītu ar CSS selektoru. 1973 01:36:58,530 --> 01:37:00,910 Ja jūs likts hash priekšā par to, ka izvēlas pēc ID. 1974 01:37:00,910 --> 01:37:02,220 Punkts izvēlas pēc to kategorijām. 1975 01:37:02,220 --> 01:37:06,230 Ja jums vienkārši ir lieta bez hashes un punkti, tas izvēlas šos tagus. 1976 01:37:06,230 --> 01:37:07,140 Jautājumiem. 1977 01:37:07,140 --> 01:37:07,470 Jā? 1978 01:37:07,470 --> 01:37:11,510 >> Mērķauditorija: Kad mēs izmantojam dot mūsu HTML, ir tas, ka nav jQuery? 1979 01:37:11,510 --> 01:37:13,520 >> JOSEPH ONG: Dot mūsu HTML ir JavaScript lieta. 1980 01:37:13,520 --> 01:37:14,750 Tas nav jQuery lieta. 1981 01:37:14,750 --> 01:37:17,620 Kā jūs guys iemācījušies to ar jQuery ir izmantot. html. 1982 01:37:17,620 --> 01:37:21,510 Un tad jūs nodot to visu, HTML būs. 1983 01:37:21,510 --> 01:37:23,480 Tāpēc es nopirkšu, ka tikai otrais faktiski. 1984 01:37:23,480 --> 01:37:27,800 Tātad, kā mēs darām lietas, lai elementam kad mēs esam izvēlēti to? 1985 01:37:27,800 --> 01:37:30,130 Tātad tas ir piemērs izvēloties elementu. 1986 01:37:30,130 --> 01:37:32,280 Tāpēc tagad, mēs vēlamies darīt lietas ar to. 1987 01:37:32,280 --> 01:37:35,730 >> Tātad šajā gadījumā, ļaujiet man atgriezties ar iepriekšējo slide. 1988 01:37:35,730 --> 01:37:37,360 Tas bija Bob agrāk. 1989 01:37:37,360 --> 01:37:40,660 Un es vēlos to mainīt iekšā HTML uz Milo. 1990 01:37:40,660 --> 01:37:43,240 Tāpēc es aicinu HTML funkciju no elementa. 1991 01:37:43,240 --> 01:37:45,580 Tas HTML funkcija ir metode elementa. 1992 01:37:45,580 --> 01:37:47,430 Un tad es arī tā, ko Es gribu HTML būt. 1993 01:37:47,430 --> 01:37:50,560 Un tas tikai aizvieto to, kas ir iekšpusē ka tag ar ko es arī tā. 1994 01:37:50,560 --> 01:37:50,830 Jā. 1995 01:37:50,830 --> 01:37:51,170 Jautājums? 1996 01:37:51,170 --> 01:37:57,397 >> Mērķauditorija: hashtag tiek izmantots tikai ar jQuery. 1997 01:37:57,397 --> 01:37:59,313 [Dzirdams] 1998 01:37:59,313 --> 01:38:01,230 mēs nevarētu izmantot. 1999 01:38:01,230 --> 01:38:01,960 >> JOSEPH ONG: Jā, tieši tā. 2000 01:38:01,960 --> 01:38:03,750 Bet neuztraucieties pārāk daudz par tīra JavaScript. 2001 01:38:03,750 --> 01:38:06,670 Es tikai gribu, lai jūs guys, lai koncentrētos uz to, kā jūs darītu to ar jQuery, jo 2002 01:38:06,670 --> 01:38:10,020 kas būs svarīgs daļa uz viktorīnas. 2003 01:38:10,020 --> 01:38:10,400 Tiesības. 2004 01:38:10,400 --> 01:38:10,880 Tieši tā. 2005 01:38:10,880 --> 01:38:16,025 Tātad jūs redzat, ka hashtag, lai atbilst izvēlētos elementu ar 2006 01:38:16,025 --> 01:38:18,310 ID vidū, jo šo hashtag. 2007 01:38:18,310 --> 01:38:19,670 Hashtag nozīmē ID. 2008 01:38:19,670 --> 01:38:22,870 Un šis elements ir ID vidū. 2009 01:38:22,870 --> 01:38:24,366 Tātad tas ir elements, mēs izvēlētos. 2010 01:38:24,366 --> 01:38:27,160 >> Mērķauditorija: [nedzirdama]. 2011 01:38:27,160 --> 01:38:31,090 dolāra zīmi hashtag [dzirdams]? 2012 01:38:31,090 --> 01:38:31,710 >> JOSEPH ONG: Tātad nav. 2013 01:38:31,710 --> 01:38:33,280 Jautājums ir, jūs varat izmantot. Vērtību. 2014 01:38:33,280 --> 01:38:36,445 Un. Vērtība darbojas tikai uz elementiem kas ir izejvielas. 2015 01:38:36,445 --> 01:38:40,950 2016 01:38:40,950 --> 01:38:45,495 JQuery, tas būtu . Val, nav. Vērtību. 2017 01:38:45,495 --> 01:38:49,080 Tāpēc es nopirkšu mazu piemēru, kas pierāda tas viss kopā 2018 01:38:49,080 --> 01:38:49,850 sekundē. 2019 01:38:49,850 --> 01:38:53,130 Bet es domāju, ka tas kalpo maz fragmentu jēga cilvēkiem līdz šim. 2020 01:38:53,130 --> 01:38:55,450 Vēlaties mainīt HTML, zvaniet HTML metodi. 2021 01:38:55,450 --> 01:38:56,432 Jā. 2022 01:38:56,432 --> 01:38:58,200 >> Mērķauditorija: Vai jūs varat izskaidrot metode atkal? 2023 01:38:58,200 --> 01:39:01,900 >> JOSEPH ONG: Tātad metode ir tikai funkcija, kas pieder pie viena, jo tas 2024 01:39:01,900 --> 01:39:04,590 gadījumā, viena no šīm FAD elementiem, tāpēc, ka jūs redzēt, I 2025 01:39:04,590 --> 01:39:05,940 vispirms izvēlas elementu. 2026 01:39:05,940 --> 01:39:07,320 Patiesībā, ļaujiet man izmantot peli. 2027 01:39:07,320 --> 01:39:09,330 Es izvēlētos elementu pirmās. 2028 01:39:09,330 --> 01:39:12,310 Un tad es sauc šo HTML funkcionē, ​​ka tā bija. 2029 01:39:12,310 --> 01:39:15,710 Un tāpēc, ka šī funkcija pieder šī lieta, mēs to saucam par metodi. 2030 01:39:15,710 --> 01:39:19,480 Tas ir tikai iedomātā nosaukuma par to. 2031 01:39:19,480 --> 01:39:20,730 Saka, ka atkal. 2032 01:39:20,730 --> 01:39:22,880 2033 01:39:22,880 --> 01:39:25,170 Līdz ar to atcerēties, mēs izvēlējāmies elements tagad. 2034 01:39:25,170 --> 01:39:27,810 Un mēs esam nodot to iekšpusē elements mainīgs. 2035 01:39:27,810 --> 01:39:28,600 Labot? 2036 01:39:28,600 --> 01:39:34,380 >> Tātad, ja mēs gribam mainīt HTML uz iekšā, jo tas bija Bob pirms jums 2037 01:39:34,380 --> 01:39:36,420 vēlaties mainīt šo tekstu Milo. 2038 01:39:36,420 --> 01:39:37,920 Tāpēc mēs saucam HTML. 2039 01:39:37,920 --> 01:39:41,610 Un mēs pateikt to, ko HTML iekšā šis elements ir tagad. 2040 01:39:41,610 --> 01:39:44,107 Un tā tas maina to Milo, tāpēc es sniedza tai Milo. 2041 01:39:44,107 --> 01:39:46,542 >> Mērķauditorija: Tātad viņi strādā kopā. 2042 01:39:46,542 --> 01:39:47,030 [Dzirdams] 2043 01:39:47,030 --> 01:39:47,390 >> JOSEPH ONG: Jā, jā. 2044 01:39:47,390 --> 01:39:48,180 Viņi strādā kopā. 2045 01:39:48,180 --> 01:39:50,210 Tāpēc viens no viņiem izvēlas elements pirmās. 2046 01:39:50,210 --> 01:39:52,863 Un otrs dara kaut kas uz to. 2047 01:39:52,863 --> 01:39:53,790 Jā. 2048 01:39:53,790 --> 01:39:56,168 >> Mērķauditorija: [nedzirdama]. 2049 01:39:56,168 --> 01:40:01,280 Ja šī metode atšķiras no HTML Jums ir metode vienādiem faktiskajiem. 2050 01:40:01,280 --> 01:40:01,560 >> JOSEPH ONG: Jā. 2051 01:40:01,560 --> 01:40:03,370 , Kas ir atšķirīga metode. 2052 01:40:03,370 --> 01:40:04,670 , Kas ir atšķirīga metode. 2053 01:40:04,670 --> 01:40:07,860 Un mēs varam aptvert, ka tikai otrā kad mēs nokļūt piemēru. 2054 01:40:07,860 --> 01:40:12,000 Es gribu, lai pārliecinātos, ka mēs paātrināt jo mēs esam pietrūkt laika. 2055 01:40:12,000 --> 01:40:15,360 Bet mēs esam darbojas kā laika nekā tagad. 2056 01:40:15,360 --> 01:40:15,490 OK. 2057 01:40:15,490 --> 01:40:16,430 Atdzist. 2058 01:40:16,430 --> 01:40:20,130 Tātad, ja jūs vēlaties pievienot klasi, tur ir arī add klases metode. 2059 01:40:20,130 --> 01:40:24,300 Tas ir tikai piemērs tam, ko jūs varat darīt ar jQuery. 2060 01:40:24,300 --> 01:40:25,950 Ka tikai piebilst klasi. 2061 01:40:25,950 --> 01:40:28,660 >> Ja jūs vēlaties, lai novērstu to, Jūs varat zvanīt noņemt. 2062 01:40:28,660 --> 01:40:32,280 Tas ir tikai vēl viena lieta, ko jūs varat darīt. 2063 01:40:32,280 --> 01:40:35,680 Tāpēc vairāk piemēru lietas jūs varat darīt. 2064 01:40:35,680 --> 01:40:37,510 Tāpēc es varu tikai nodot to piemēram, tas top? 2065 01:40:37,510 --> 01:40:38,760 Jaunākais noņemt. 2066 01:40:38,760 --> 01:40:42,470 2067 01:40:42,470 --> 01:40:45,930 Ja es tikai izpildīt, ka JavaScript ir top mana failu, būs, kas strādā? 2068 01:40:45,930 --> 01:40:48,540 2069 01:40:48,540 --> 01:40:48,920 Tiesības. 2070 01:40:48,920 --> 01:40:50,530 Jo vidū vēl neeksistē. 2071 01:40:50,530 --> 01:40:51,840 Tāpēc tas nav dodas uz darbu. 2072 01:40:51,840 --> 01:40:52,800 Izpildes rīkojumu. 2073 01:40:52,800 --> 01:40:55,040 Tā iet uz augšu pirmās. 2074 01:40:55,040 --> 01:40:55,540 Kas? 2075 01:40:55,540 --> 01:40:57,450 >> Mērķauditorija: Jaunākais pagaidām vēl neuzrakstītu? 2076 01:40:57,450 --> 01:40:57,810 >> JOSEPH ONG: Jā. 2077 01:40:57,810 --> 01:40:58,710 Jaunākajam vēl neeksistē. 2078 01:40:58,710 --> 01:40:59,600 Tieši tā. 2079 01:40:59,600 --> 01:41:01,320 >> Mērķauditorija: Jūs teicāt vidū. 2080 01:41:01,320 --> 01:41:01,510 >> JOSEPH ONG: Sorry. 2081 01:41:01,510 --> 01:41:02,720 Jaunākajam vēl neeksistē. 2082 01:41:02,720 --> 01:41:04,510 Un otra lieta ir man nav ietvēra jQuery 2083 01:41:04,510 --> 01:41:06,580 failu jautāt script src. 2084 01:41:06,580 --> 01:41:07,960 Tāpēc tas nav dodas uz darbu. 2085 01:41:07,960 --> 01:41:09,580 Patiesībā, man nav darīt, ka nākamais slaids, kas ir 2086 01:41:09,580 --> 01:41:10,700 vajadzēja noteikt, ka vai nu. 2087 01:41:10,700 --> 01:41:14,120 Bet kā mēs to darām, ir JavaScript ir notikums virza. 2088 01:41:14,120 --> 01:41:17,410 Tātad, ko mēs darām, ir mēs izmantojam notikumu Handler, lai tas notiktu. 2089 01:41:17,410 --> 01:41:19,510 Un tāpēc es izvēlētos dokumentu noteikt pirmās. 2090 01:41:19,510 --> 01:41:23,810 Es saku, OK, ja dokuments ir gatavs, ļaujiet man palaist funkciju. 2091 01:41:23,810 --> 01:41:25,470 Tātad tas ir viss, kas sintakses līdzekļiem. 2092 01:41:25,470 --> 01:41:27,100 >> Es izvēlētos dokumentu. 2093 01:41:27,100 --> 01:41:29,530 Tagad, kad dokuments gatavs, palaist funkciju. 2094 01:41:29,530 --> 01:41:32,970 Un tā nekā šeit, kad dokuments ir gatavs, kas ir visas HTML ir 2095 01:41:32,970 --> 01:41:36,140 piekrauts, tad es palaist funkciju kas noņem šo elementu. 2096 01:41:36,140 --> 01:41:40,270 Un tāpēc tagad, kad es palaist šo funkciju ka es nonākt gatavs, es esmu 2097 01:41:40,270 --> 01:41:43,780 jāgarantē, ka visi HTML uz lapa gatavojas pastāv pirmās. 2098 01:41:43,780 --> 01:41:44,100 Jā. 2099 01:41:44,100 --> 01:41:44,425 Jautājums? 2100 01:41:44,425 --> 01:41:48,200 >> Mērķauditorija: Kas ir notikums atslēgvārds saskaņā ar funkciju? 2101 01:41:48,200 --> 01:41:51,750 >> JOSEPH ONG: Tāpēc, ka pasākums atslēgvārds funkcija ir tikai parametrs, kas 2102 01:41:51,750 --> 01:41:53,490 izpaužas nodots funkcijai jebkurā gadījumā. 2103 01:41:53,490 --> 01:41:55,470 Tas ir tikai kaut kas Jūs saņemsiet bez maksas. 2104 01:41:55,470 --> 01:41:59,320 Ja jūs izmantojat galvenās manipulatori pset8, ka pasākums varētu jums pastāstīt, par 2105 01:41:59,320 --> 01:42:01,350 Piemērs, kas taustiņa on. 2106 01:42:01,350 --> 01:42:05,540 Šajā gadījumā, lai gatavā gadījumā tas tiešām nav super noderīga. 2107 01:42:05,540 --> 01:42:08,640 Bet par galveno leju notikumu, tas ir vairāk noderīgi, jo jums ir jāzina, kas 2108 01:42:08,640 --> 01:42:12,330 taustiņa, piekļūstot taustiņu kods off šo notikumu objektu. 2109 01:42:12,330 --> 01:42:13,530 Labot? 2110 01:42:13,530 --> 01:42:15,160 Vai tas ir jēga? 2111 01:42:15,160 --> 01:42:16,280 OK. 2112 01:42:16,280 --> 01:42:16,580 Jā. 2113 01:42:16,580 --> 01:42:17,150 Jautājums? 2114 01:42:17,150 --> 01:42:19,290 >> Mērķauditorija: Tātad, jūs varat ievietot script tag zemāk? 2115 01:42:19,290 --> 01:42:19,940 >> JOSEPH ONG: Tātad yeah. 2116 01:42:19,940 --> 01:42:21,500 Jūs varētu likt skriptu tag zemāk. 2117 01:42:21,500 --> 01:42:23,090 Bet tad tas tikai kļūst ļoti netīrs. 2118 01:42:23,090 --> 01:42:26,590 Un mēs vēlētos, lai centralizētu visas Mūsu koda vienā vietā. 2119 01:42:26,590 --> 01:42:28,290 , Un tas ļaus mums, lai to izdarītu. 2120 01:42:28,290 --> 01:42:32,010 Atceros, agrāk es teicu, ka ir nicer veidā, lai nodrošinātu, ka elementi 2121 01:42:32,010 --> 01:42:33,880 lapā, pirms jūs izpildīt kodu? 2122 01:42:33,880 --> 01:42:36,079 Un tas ir tikai jauks veids jūs varētu paveikt to. 2123 01:42:36,079 --> 01:42:37,329 >> Mērķauditorija: [nedzirdama]. 2124 01:42:37,329 --> 01:42:41,710 2125 01:42:41,710 --> 01:42:42,230 >> JOSEPH ONG: Jā. 2126 01:42:42,230 --> 01:42:43,460 Jums joprojām būs, vai ne? 2127 01:42:43,460 --> 01:42:46,930 Jo atceros, tu iekļauts failu augšpusē lapā. 2128 01:42:46,930 --> 01:42:49,890 Tātad, tas notiek, lai izpildītu vispirms pirms jums uz lapas apakšā. 2129 01:42:49,890 --> 01:42:54,600 2130 01:42:54,600 --> 01:42:55,180 OK. 2131 01:42:55,180 --> 01:42:59,210 Tātad jūs varat pievienot arī dažādi notikuma apdarinātājs veidu. 2132 01:42:59,210 --> 01:43:00,640 Tas viens vienkārši apstrādā klikšķiem. 2133 01:43:00,640 --> 01:43:03,910 Kad es noklikšķiniet uz jaunākais, tad tas pop up ar brīdinājumu. 2134 01:43:03,910 --> 01:43:05,440 Tas ir tikai atšķirīgs notikuma veids. 2135 01:43:05,440 --> 01:43:08,840 Atšķirībā no gatavības notikumu, jūs tagad Izmantojiet Click notikumu, kad saņemat 2136 01:43:08,840 --> 01:43:10,190 noklikšķina uz elementa. 2137 01:43:10,190 --> 01:43:13,860 >> Un tāpēc šajā gadījumā, atcerieties, klikšķi apdarinātājs tiek pievienota jaunākajam. 2138 01:43:13,860 --> 01:43:16,080 Tā tas notiek tikai tad, ja Es noklikšķiniet uz jaunākais. 2139 01:43:16,080 --> 01:43:19,510 Un otra, gatavu gadījumā tika pievienots dokumentam. 2140 01:43:19,510 --> 01:43:23,750 Tāpēc tas gaida dokumentu būtu gatava. 2141 01:43:23,750 --> 01:43:25,120 Jēga? 2142 01:43:25,120 --> 01:43:26,190 Es domāju, ka es varētu doties tālāk. 2143 01:43:26,190 --> 01:43:26,610 Jā. 2144 01:43:26,610 --> 01:43:26,980 Jautājums? 2145 01:43:26,980 --> 01:43:28,230 >> Mērķauditorija: [nedzirdama]. 2146 01:43:28,230 --> 01:43:31,676 2147 01:43:31,676 --> 01:43:33,620 šajā gadījumā jūs izmantojat [nedzirdama]. 2148 01:43:33,620 --> 01:43:36,650 >> JOSEPH ONG: Ak, jā, jo šī gadījumā, man ir jāgaida jaunākais 2149 01:43:36,650 --> 01:43:40,740 elements, kas parādīsies uz ekrāna pirmo reizi pirms es varētu pievienot noklikšķiniet apdarinātājs 2150 01:43:40,740 --> 01:43:43,062 tas, kas ir iemesls, kāpēc man to iekšā gada dokuments gatavs. 2151 01:43:43,062 --> 01:43:45,780 2152 01:43:45,780 --> 01:43:46,840 OK. 2153 01:43:46,840 --> 01:43:52,390 Un nākamais, tāpēc tas ir liels piemērs kā jūs varētu apvienot visu. 2154 01:43:52,390 --> 01:43:55,930 Tas ir tikai formas validācijas piemērs Jūs esat redzējuši lekciju. 2155 01:43:55,930 --> 01:43:58,410 Tāpēc ņemt to soli pa solim, kā jums iet caur šo. 2156 01:43:58,410 --> 01:43:59,590 Un tas būs pilnīgi OK. 2157 01:43:59,590 --> 01:44:01,400 Tikai izlasīt no augšas uz leju. 2158 01:44:01,400 --> 01:44:03,030 >> Man ir forma apakšā. 2159 01:44:03,030 --> 01:44:07,590 Ja dokuments ir gatavs, es piešķiru pakļauties kopējs veidā, tā, ka 2160 01:44:07,590 --> 01:44:12,910 kad es iesniegt veidlapu, man vērtības iekšpusē katru no šīm izejvielām. 2161 01:44:12,910 --> 01:44:14,560 Un es varētu pārbaudīt, ja tas ir tukšs. 2162 01:44:14,560 --> 01:44:17,090 Ja tas ir tukšs, es atgriezties viltus, jo Es nevēlos, lai iesniegtu veidlapu, 2163 01:44:17,090 --> 01:44:18,950 jo forma ir nepareizi. 2164 01:44:18,950 --> 01:44:22,040 Ja parole ir tukša vai arī tā ir mazāk par astoņām rakstzīmēm, man nav jāiesniedz 2165 01:44:22,040 --> 01:44:24,470 forma, jo tas ir arī nepareizi. 2166 01:44:24,470 --> 01:44:28,150 Un atgriezties viltus tikai novērš veidā no iesniegšanas un 2167 01:44:28,150 --> 01:44:30,150 dodas uz jaunu lapu. 2168 01:44:30,150 --> 01:44:31,310 >> Un, cerams, tas ir jēga. 2169 01:44:31,310 --> 01:44:34,650 Es domāju, ka jūs guys vajadzētu iet cauri Šis kods soli pa solim uz savu. 2170 01:44:34,650 --> 01:44:38,350 Un, kad jūs saprotat, ko izvēlēties elementi un darīt lietas, kas tai 2171 01:44:38,350 --> 01:44:40,520 faktiski nozīmē, tas dos daudz nozīmē jums. 2172 01:44:40,520 --> 01:44:41,295 Jā? 2173 01:44:41,295 --> 01:44:44,150 >> Mērķauditorija: Kāda name = lietotājvārds nozīmē? 2174 01:44:44,150 --> 01:44:48,530 >> JOSEPH ONG: Tātad name = lietotājvārds un name = parole nozīmē tikai apskatīt 2175 01:44:48,530 --> 01:44:50,730 atribūts neatkarīgi jūs izvēlēties. 2176 01:44:50,730 --> 01:44:51,790 Un tad tas ir jāsakrīt. 2177 01:44:51,790 --> 01:44:53,870 Tāpēc mēs ejam uz reģistrāciju. 2178 01:44:53,870 --> 01:44:56,240 Un tad mēs skatāmies uz visām izejvielām un reģistrāciju. 2179 01:44:56,240 --> 01:44:59,990 Un tad mēs izvēlēties vienu, kuru nosaukums atribūts ir vienāds ar lietotājvārdu. 2180 01:44:59,990 --> 01:45:04,040 Tāpēc, ka pirmais selektors tikai izvēlas lietotājvārds ieejas. 2181 01:45:04,040 --> 01:45:08,220 Un tas otrs selektors tikai izvēlas parole viens, jo tie ir 2182 01:45:08,220 --> 01:45:12,240 To nosaukums atribūti noteikt, kādi viņi vajadzēja būt. 2183 01:45:12,240 --> 01:45:12,575 Jautājums? 2184 01:45:12,575 --> 01:45:17,030 >> Mērķauditorija: Iesniedzot, kā tas apakšējā daļa atrisināt augšējo daļu? 2185 01:45:17,030 --> 01:45:19,350 >> JOSEPH ONG: Tātad tas ir tāpēc, gada notikumu apdarinātājs. 2186 01:45:19,350 --> 01:45:23,000 Tāpēc mēs gaidām iesniegt notikumu kas izpaužas karsētie no formas. 2187 01:45:23,000 --> 01:45:24,730 Un tas ir viss, kas ir jāiesniedz. 2188 01:45:24,730 --> 01:45:26,080 Kāpēc es aicinu iesniegt tur? 2189 01:45:26,080 --> 01:45:28,870 Tajā teikts, kad tiek iesniegts formu, Man iesniegt notikumu. 2190 01:45:28,870 --> 01:45:33,480 Tāpēc ļaujiet man tikai pārtvert to un tad palaist šo kodu vietā. 2191 01:45:33,480 --> 01:45:33,823 Jā? 2192 01:45:33,823 --> 01:45:35,866 >> Mērķauditorija: Kāpēc jums ir ir funkcija notikumu? 2193 01:45:35,866 --> 01:45:38,580 Kāpēc nevar jūs vienkārši [dzirdams]? 2194 01:45:38,580 --> 01:45:41,140 >> JOSEPH ONG: Jo JavaScript, jūs ir jādeklarē funkcijas. 2195 01:45:41,140 --> 01:45:42,910 Tas ir tikai, kā tas darbojas JavaScript. 2196 01:45:42,910 --> 01:45:44,800 Jums jāsaka, ka tas notiek palaist funkciju. 2197 01:45:44,800 --> 01:45:47,290 Tātad jūs esat stāsta to, ka tu esi gaida funkciju šeit vietā 2198 01:45:47,290 --> 01:45:48,260 tikai cirtaini bikšturi. 2199 01:45:48,260 --> 01:45:50,460 >> Mērķauditorija: Un funkcija ir kāds šāds? 2200 01:45:50,460 --> 01:45:50,650 >> JOSEPH ONG: Jā. 2201 01:45:50,650 --> 01:45:52,790 Funkcija ir viss, kas ir iekšā cirtaini bikšturi pēc 2202 01:45:52,790 --> 01:45:53,630 šī funkcija atslēgvārdu. 2203 01:45:53,630 --> 01:45:54,045 Jā? 2204 01:45:54,045 --> 01:45:55,295 >> Mērķauditorija: [nedzirdama]. 2205 01:45:55,295 --> 01:46:00,180 2206 01:46:00,180 --> 01:46:00,660 >> JOSEPH ONG: For iesniegt? 2207 01:46:00,660 --> 01:46:03,520 >> Mērķauditorija: Nē, funkcijai bez pasākuma. 2208 01:46:03,520 --> 01:46:03,770 >> JOSEPH ONG: Jā. 2209 01:46:03,770 --> 01:46:05,610 Tātad bez pasākuma, Jums var būt, ka. 2210 01:46:05,610 --> 01:46:08,480 Ja jums nav nepieciešams gadījumā, tad jūs varat vienkārši izlaist to. 2211 01:46:08,480 --> 01:46:12,220 Bet, ja jūs darāt, tad jūs vienkārši ielieciet to tur. 2212 01:46:12,220 --> 01:46:12,520 Jā. 2213 01:46:12,520 --> 01:46:13,190 Ātrs jautājums? 2214 01:46:13,190 --> 01:46:14,440 >> Mērķauditorija: [nedzirdama]. 2215 01:46:14,440 --> 01:46:21,170 2216 01:46:21,170 --> 01:46:21,440 >> JOSEPH ONG: Jā. 2217 01:46:21,440 --> 01:46:24,550 Jo to, kas jums jādara, document.ready vienkārši saka gaidīt visiem 2218 01:46:24,550 --> 01:46:26,540 HTML lapā, lai slodze pirmo reizi. 2219 01:46:26,540 --> 01:46:30,510 Un parasti, jūs vēlaties, lai jūsu elementi vietā, pirms jūs darbināt jebkuru kodu. 2220 01:46:30,510 --> 01:46:31,030 Labi. 2221 01:46:31,030 --> 01:46:32,180 Mums ir, lai saņemtu Ajax. 2222 01:46:32,180 --> 01:46:33,110 Mums nav daudz laika. 2223 01:46:33,110 --> 01:46:35,170 Tā plusi un mīnusi. 2224 01:46:35,170 --> 01:46:37,450 JavaScript ir vieglāk mēģināt rakstīt ar jQuery. 2225 01:46:37,450 --> 01:46:38,930 Bet jQuery ir sava veida lēns. 2226 01:46:38,930 --> 01:46:42,290 >> Tas ir tāpat kā PHP ir lēnāks nekā C, jo tas ir interpretēts. 2227 01:46:42,290 --> 01:46:45,690 Un jQuery ir nedaudz lēnāks nekā JavaScript, jo tas ir daudz 2228 01:46:45,690 --> 01:46:46,630 lietas, ar kapuci. 2229 01:46:46,630 --> 01:46:48,660 Un tādēļ, ja jūs izmantojat jQuery, tas ir tikai mazliet lēnāks nekā 2230 01:46:48,660 --> 01:46:51,630 JavaScript, lai gan tas dod jums jauku eleganci. 2231 01:46:51,630 --> 01:46:53,970 Un, visbeidzot, Ajax. 2232 01:46:53,970 --> 01:46:59,170 Līdz šim ar Ajax, neesat redzējuši Ajax ziņā pset7 vēl, jo 2233 01:46:59,170 --> 01:47:01,150 kad jūs darāt, jūs iesniedzat veidlapa citātu. 2234 01:47:01,150 --> 01:47:02,350 Tas slodzes jaunu lapu. 2235 01:47:02,350 --> 01:47:04,440 Tātad jums šo lielo balto zibspuldzi lappusē, bet, ka 2236 01:47:04,440 --> 01:47:06,820 otrajā lapā slodzes, pareizi? 2237 01:47:06,820 --> 01:47:08,780 >> Būtu ļoti jauki, ja jūs nebija šis flash. 2238 01:47:08,780 --> 01:47:11,600 Piemēram, Facebook, ja jūs vienkārši atrodiet apakšas, tā piebilst, jaunu saturu 2239 01:47:11,600 --> 01:47:13,490 bez atsvaidzināt visu lapu. 2240 01:47:13,490 --> 01:47:15,420 Tātad kaut kas līdzīgs tas būtu jauki. 2241 01:47:15,420 --> 01:47:17,370 Tas ir JavaScript kods kreisajā pusē. 2242 01:47:17,370 --> 01:47:19,390 Jūs saņemsiet to, kas ir iekšā šīs ieejas. 2243 01:47:19,390 --> 01:47:21,340 Jūs saņemsiet akciju info no Yahoo! 2244 01:47:21,340 --> 01:47:27,440 Un tad jūs veicat lielu virkni, kas saka, OK, tas ir vēstījums es gribu 2245 01:47:27,440 --> 01:47:28,400 parādīt uz ekrāna. 2246 01:47:28,400 --> 01:47:32,280 Un tad jūs nodot šo ziņu iekšā daži HTML elements, kas izpaužas 2247 01:47:32,280 --> 01:47:33,970 parādīti uz ekrāna. 2248 01:47:33,970 --> 01:47:35,540 >> Tātad tas ir viss, kas notiek šeit. 2249 01:47:35,540 --> 01:47:39,410 Tātad, būtībā, jo tas ir viss JavaScript un jums nav nepieciešams, lai palaistu 2250 01:47:39,410 --> 01:47:42,980 vairs PHP, tas būs pārliecināties ka lapā nav atsvaidzināt. 2251 01:47:42,980 --> 01:47:47,470 Tāpēc tas ir tikai abstrakta ideja ka es saku šeit tagad. 2252 01:47:47,470 --> 01:47:50,630 Abstrakta ideja ir tāda, ka, ja jūs to visi JavaScript, jums nav 2253 01:47:50,630 --> 01:47:52,330 lpp atsvaidzināt. 2254 01:47:52,330 --> 01:47:53,800 Bet kā jūs tiešām darīt? 2255 01:47:53,800 --> 01:47:56,230 >> Nu, patiesībā, parunāsim par problēma ar šo pirmo. 2256 01:47:56,230 --> 01:47:59,340 Problēma ir tā, JavaScript, izpilde ir sinhronā. 2257 01:47:59,340 --> 01:48:02,000 Tātad jums būs jāgaida uz vienu līnijas, lai pabeigtu pirms jums 2258 01:48:02,000 --> 01:48:03,370 izpildīt nākamo rindiņu. 2259 01:48:03,370 --> 01:48:06,130 Un kas notiks, ja es esmu gatavojas pār Yahoo!, un viņu serveri ir ļoti lēns, un 2260 01:48:06,130 --> 01:48:08,790 tas aizņem viņiem trīs sekundes, lai dod man atpakaļ šo akciju info? 2261 01:48:08,790 --> 01:48:12,620 Kad es hit, ka cenu līniju, ja izpilde ir sinhronā, kā tas ir ar 2262 01:48:12,620 --> 01:48:15,390 noklusējuma, kas tas ir tikai gatavojas darīt, ir jūsu pārlūkprogrammā gatavojas apstāsies uz 2263 01:48:15,390 --> 01:48:15,930 trīs sekundes. 2264 01:48:15,930 --> 01:48:18,900 Un jūs neesat gatavojas, lai varētu to izdarīt kaut gan tas izpaužas, ka dati. 2265 01:48:18,900 --> 01:48:20,010 Tas būs jāiesaldē. 2266 01:48:20,010 --> 01:48:20,800 >> Un tas ir slikti. 2267 01:48:20,800 --> 01:48:23,390 Jūs nevēlaties, lai lietotājs ir saldēti mājas lapā. 2268 01:48:23,390 --> 01:48:24,170 Labot? 2269 01:48:24,170 --> 01:48:25,480 Tas ir tikai slikti. 2270 01:48:25,480 --> 01:48:26,770 Visi piekrīt? 2271 01:48:26,770 --> 01:48:29,270 Ja jūs pārlūkošanu Facebook un to sasalst, un jūs nevar darīt neko, jums 2272 01:48:29,270 --> 01:48:31,920 riktīgi neapmierinātas. 2273 01:48:31,920 --> 01:48:34,960 Tāpēc risinājums ir mēs kaut ko asinhrono vietā. 2274 01:48:34,960 --> 01:48:38,910 Tātad tas viss asinhrono lieta saka ir, es esmu gatavojas lūgt šo 2275 01:48:38,910 --> 01:48:40,280 URL dažiem datiem. 2276 01:48:40,280 --> 01:48:41,610 Un tad es esmu gatavojas, lai saglabātu turpinās. 2277 01:48:41,610 --> 01:48:45,330 Es esmu tikai gatavojas glabāt izpildes kāds kods, kas bija pēc tam. 2278 01:48:45,330 --> 01:48:49,290 >> Un tad, kad šie dati ir gatava, tad es to apstrādāt. 2279 01:48:49,290 --> 01:48:50,540 Tas ir viss, kas saka. 2280 01:48:50,540 --> 01:48:52,795 2281 01:48:52,795 --> 01:48:56,710 >> Mērķauditorija: Ajax tikai padara kods asinhrono? 2282 01:48:56,710 --> 01:48:58,560 >> JOSEPH ONG: Tas ir asinhrons veids fetching datus. 2283 01:48:58,560 --> 01:49:01,230 Tātad pirmā lieta, par Ajax tas ļauj man iegūt datus 2284 01:49:01,230 --> 01:49:03,170 no ārēja vietnē. 2285 01:49:03,170 --> 01:49:07,045 Un otra lieta ir tā nodrošina ka mana lapa nav nelaist, kamēr es esmu 2286 01:49:07,045 --> 01:49:07,970 Ienesot šos datus. 2287 01:49:07,970 --> 01:49:09,600 Tas ir asinhronā daļa no tā. 2288 01:49:09,600 --> 01:49:13,040 Jo tas iet pie kaut kur citur, tāpēc es saku, ka glabāt notiek, kamēr 2289 01:49:13,040 --> 01:49:14,900 tas ir pievilcīgs, ka dati, kas padara asinhrono. 2290 01:49:14,900 --> 01:49:17,170 Es turpinu izpildes. 2291 01:49:17,170 --> 01:49:18,960 >> Lai saglabātu, ka asinhrono ideja prātā. 2292 01:49:18,960 --> 01:49:22,010 Un es jums parādīs, ko atšķirība ir. 2293 01:49:22,010 --> 01:49:23,920 Sinhronais versija ir kreisajā pusē. 2294 01:49:23,920 --> 01:49:26,240 Asinhronais versija ir labajā pusē. 2295 01:49:26,240 --> 01:49:29,170 Paskaties numura, lai redzētu, kas pasākumi atbilst tam, ko 2296 01:49:29,170 --> 01:49:30,610 izpilda katrā rindā. 2297 01:49:30,610 --> 01:49:32,730 Tur, brīdinājums parādās pirmās. 2298 01:49:32,730 --> 01:49:34,590 Jo kļūst akciju info no Yahoo! 2299 01:49:34,590 --> 01:49:37,250 ir trīs sekundes, tas stendiem trīs sekundes. 2300 01:49:37,250 --> 01:49:39,880 Un tad tas brīdina cenu Pēc šiem trim sekundēm. 2301 01:49:39,880 --> 01:49:43,690 >> Tāpēc tagad, ka trauksmes šovi up tolaik - 2302 01:49:43,690 --> 01:49:44,610 trīs sekundes iekšā 2303 01:49:44,610 --> 01:49:47,670 Un tad tas brīdina par pēc tam. 2304 01:49:47,670 --> 01:49:48,930 Tātad, tas vienkārši iet soli pa solim. 2305 01:49:48,930 --> 01:49:51,200 Tas ir tāpat kā tas, ko jūs guys varētu pieņemt, pareizi? 2306 01:49:51,200 --> 01:49:54,170 Ar asinhrono izpildi, jūs brīdināt pirmās. 2307 01:49:54,170 --> 01:49:57,410 Tad jums iet off uz šo URL. 2308 01:49:57,410 --> 01:49:59,530 Un tu saki, es esmu gatavojas tikai lūgt datiem. 2309 01:49:59,530 --> 01:50:01,170 Un tad es esmu gatavojas apstrādāt to vēlāk. 2310 01:50:01,170 --> 01:50:04,230 Tātad, tas nekavējoties izpilda nākamais rindā pēc tam man darīt, ka 2311 01:50:04,230 --> 01:50:05,710 asinhrono pieprasījumu. 2312 01:50:05,710 --> 01:50:08,920 >> Tātad 0,001 sekundes, jūs redzat brīdinājuma hi. 2313 01:50:08,920 --> 01:50:10,960 Izpildīt šo funkciju, trauksmes bye. 2314 01:50:10,960 --> 01:50:14,240 Un tāpēc es solījumu, ka es varētu apstrādāt datus vēlāk, ko 2315 01:50:14,240 --> 01:50:17,920 notiek, ir tad, kad, ka dati nāk atpakaļ trīs sekundes vēlāk, tad es palaist, ka 2316 01:50:17,920 --> 01:50:21,380 funkcija, kas man ir tur. 2317 01:50:21,380 --> 01:50:21,870 Jā? 2318 01:50:21,870 --> 01:50:25,750 >> Mērķauditorija: Vai jūs varētu precizēt, vai noskaidrot, kas Ajax nozīmē? 2319 01:50:25,750 --> 01:50:30,460 >> JOSEPH ONG: Tātad Ajax ir tā, ka, ja es vajag datus, kad es esmu par mājas lapā, un es 2320 01:50:30,460 --> 01:50:34,690 nevēlas, lai atsvaidzinātu lapu, tad Es izmantot šo tehnoloģiju, ko sauc Ajax. 2321 01:50:34,690 --> 01:50:40,630 Tas būtībā nozīmē tikai to, aiziet atnest datus no citas mājas lapā. 2322 01:50:40,630 --> 01:50:43,724 Un darīt to tādā veidā, ka tikai nav kabīne manu mājas lapā. 2323 01:50:43,724 --> 01:50:46,650 >> Mērķauditorija: Tā ir, ka raksturīga daļa JavaScript vai jQuery? 2324 01:50:46,650 --> 01:50:50,590 >> JOSEPH ONG: Tātad kāds rakstīja veidu, kā izdarīt tas JavaScript sen. 2325 01:50:50,590 --> 01:50:52,050 Vienā brīdī tas nebija. 2326 01:50:52,050 --> 01:50:56,630 Un lai kāds izgudroja šo tehniku lai ļautu cilvēkiem pieprasīt šos datus 2327 01:50:56,630 --> 01:50:57,680 šādā veidā. 2328 01:50:57,680 --> 01:50:59,550 Un viņi rakstīja daži sīkumi lai to izdarītu jums. 2329 01:50:59,550 --> 01:51:01,605 Un jQuery tikai dod jums šo ļoti jauks veids, kā to izdarīt 2330 01:51:01,605 --> 01:51:03,112 ar šo $. get funkciju. 2331 01:51:03,112 --> 01:51:07,200 2332 01:51:07,200 --> 01:51:09,480 jautājumi? 2333 01:51:09,480 --> 01:51:11,560 Es varu atbildēt uz jautājumiem par Ajax pēc tam too. 2334 01:51:11,560 --> 01:51:13,870 Es būšu šeit. 2335 01:51:13,870 --> 01:51:16,390 >> Tāpēc tas pieņemsim mums atnest datus bez atsvaidzināt lapu. 2336 01:51:16,390 --> 01:51:18,200 Un pieņemsim mums darīt to asinhronā veidā, kas 2337 01:51:18,200 --> 01:51:19,450 nesasalst lapu. 2338 01:51:19,450 --> 01:51:22,680 2339 01:51:22,680 --> 01:51:27,310 Pārāk garš, nav lasīt, ja tas izskaidrojums ir pārāk garš, lai jums. 2340 01:51:27,310 --> 01:51:29,430 Tātad beidzot, cross-site skriptu uzbrukumiem. 2341 01:51:29,430 --> 01:51:30,910 Mēs redzējām to ar Zamyla. 2342 01:51:30,910 --> 01:51:34,285 Ja manā datu bāzē kāds ir šo vārdu, kas ir šis skripts tagu, un es 2343 01:51:34,285 --> 01:51:38,280 ir dažas kodu savā lapā, izdrukas no cilvēku vārdus pēc kārtas, vai man ir 2344 01:51:38,280 --> 01:51:43,310 daži JavaScript kodu, kas ievieto šis nosaukums uz lapu, 2345 01:51:43,310 --> 01:51:45,680 ko HTML izpaužas ražo? 2346 01:51:45,680 --> 01:51:47,290 Nu, es izdrukāt HTML tagu. 2347 01:51:47,290 --> 01:51:48,390 Es izdrukāt visus šos tagus. 2348 01:51:48,390 --> 01:51:50,740 >> Man uz to daļu, kur es esmu druka veic ar saviem draugiem. 2349 01:51:50,740 --> 01:51:52,980 Es izdrukāt Lauren out. 2350 01:51:52,980 --> 01:51:54,200 Tā izdrukāt Milo out. 2351 01:51:54,200 --> 01:51:56,810 Un tad mans vārds datu bāzē ir skripts post 2352 01:51:56,810 --> 01:51:58,060 unflattering Facebook statusu. 2353 01:51:58,060 --> 01:52:00,740 2354 01:52:00,740 --> 01:52:04,330 Jo es ievietota to uz lapu jo izskatās, ka JavaScript, kad 2355 01:52:04,330 --> 01:52:07,930 lapu tiek nosūtīts lietotājam, tas izpaužas izpildīts, JavaScript. 2356 01:52:07,930 --> 01:52:10,800 Un tā tas ir tas, ko mēs saucam cross-site skriptu uzbrukums. 2357 01:52:10,800 --> 01:52:14,570 Kāds liek ļaunprātīgu informāciju jūsu datu bāzi, kas varētu atbilst 2358 01:52:14,570 --> 01:52:17,080 daži papildu virkni vai daži JavaScript virkne. 2359 01:52:17,080 --> 01:52:20,130 >> Un, ja tā izpaužas jāizdrukā uz lpp šādā veidā, tad kāda 2360 01:52:20,130 --> 01:52:22,580 notiek tā, ka slikti kods tiek izpildīts ka man nav paredzējis 2361 01:52:22,580 --> 01:52:25,110 lai to saņemtu izpildīts. 2362 01:52:25,110 --> 01:52:28,230 Un tas ir viss, cross-site skriptu uzbrukums ir. 2363 01:52:28,230 --> 01:52:31,790 Un kā jums apkārt tas ir kā Zamyla teica. 2364 01:52:31,790 --> 01:52:34,340 Jūs vienkārši wrap lietas HTML speciālie simboli. 2365 01:52:34,340 --> 01:52:39,460 Un šī HTML speciālie simboli ir PHP funkcija, kas novērš šāda veida 2366 01:52:39,460 --> 01:52:42,000 lieta no notiek ar Jums Ja jums ir ļaunprātīga 2367 01:52:42,000 --> 01:52:43,830 string jūsu datu bāzē. 2368 01:52:43,830 --> 01:52:47,650 Tas tikai izplūst tā, lai tas nav saņemt interpretēt kā HTML. 2369 01:52:47,650 --> 01:52:50,960 Tas aizstāj maz kronšteini ar to, ko mēs saucam vienībām. 2370 01:52:50,960 --> 01:52:52,250 Un mēs devāmies pa to lekciju too. 2371 01:52:52,250 --> 01:52:55,800 Tāpēc es domāju, ka jūs guys ir jābūt labu izpratni par to. 2372 01:52:55,800 --> 01:52:57,420 Jautājumi? 2373 01:52:57,420 --> 01:52:57,820 Jā. 2374 01:52:57,820 --> 01:53:00,860 >> Mērķauditorija: Tātad, kā būtu [dzirdams]? 2375 01:53:00,860 --> 01:53:01,555 >> JOSEPH ONG: Saka, ka atkal. 2376 01:53:01,555 --> 01:53:02,500 >> Mērķauditorija: Kā būtu monitors - 2377 01:53:02,500 --> 01:53:02,860 >> JOSEPH ONG: Right. 2378 01:53:02,860 --> 01:53:06,080 Tātad jums ir kaut kas, kas saka, ja Es reģistrs, tipa manā vārdā. 2379 01:53:06,080 --> 01:53:09,390 Es vienkārši ierakstiet šajā jomā, mans vārds ir stript post unflattering Facebook 2380 01:53:09,390 --> 01:53:11,570 statuss tuvu skriptu tag. 2381 01:53:11,570 --> 01:53:15,690 Un tas tikai izpaužas nodot datu bāzē, jo es nevaru pateikt, kāds 2382 01:53:15,690 --> 01:53:18,260 pasaulē nav vārdu ar kreiso bultiņu tajā vai 2383 01:53:18,260 --> 01:53:19,036 vārdu skriptu tajā. 2384 01:53:19,036 --> 01:53:21,330 Tas nav īsti jēgas. 2385 01:53:21,330 --> 01:53:24,560 Tāpēc es vienkārši ir, lai pārliecinātos, ka es sanitize stuff pirms es to izdrukāt 2386 01:53:24,560 --> 01:53:25,420 , lai lapā. 2387 01:53:25,420 --> 01:53:27,140 >> Mērķauditorija: Tātad HTML īpašas kartes novērš skriptu tagus? 2388 01:53:27,140 --> 01:53:28,710 >> JOSEPH ONG: Jā. 2389 01:53:28,710 --> 01:53:29,960 Tāpēc tas netraucē skriptu tagus. 2390 01:53:29,960 --> 01:53:32,320 Tas tikai padara pārliecināts, ka script tags nesaņem 2391 01:53:32,320 --> 01:53:35,120 interpretēt kā HTML vai - 2392 01:53:35,120 --> 01:53:35,400 yeah. 2393 01:53:35,400 --> 01:53:38,470 Tas tikai nāk uz augšu, kā tas, ko tas patiesībā ir. 2394 01:53:38,470 --> 01:53:39,220 Labi. 2395 01:53:39,220 --> 01:53:40,930 Tā, ka bija viktorīna pārskatīšanu. 2396 01:53:40,930 --> 01:53:41,830 Atdzist. 2397 01:53:41,830 --> 01:53:45,088 >> [Aplausi]