1 00:00:00,000 --> 00:00:02,270 >> [Revizyon: Kwiz 1] 2 00:00:02,270 --> 00:00:04,620 [Ali nam, Oreoluwa Barbarinsa, Lucas Freitas, Rob Bowden] [Harvard University] 3 00:00:04,620 --> 00:00:07,660 [Sa a se CS50.] [CS50.TV] 4 00:00:07,660 --> 00:00:11,610 [Lucas Freitas] Byenveni tout moun. Sa a se revizyon pou egzamen 1. 5 00:00:11,610 --> 00:00:15,040 Menm jan yon avètisman, sa a se - Mwen vle di, nou pral eseye kouvri 6 00:00:15,040 --> 00:00:17,770 kòm anpil materyèl ke posib, men sa pa vle di ke 7 00:00:17,770 --> 00:00:20,780 nou pral kouvri tout bagay sa yo ke yo ka nan egzamen 1. 8 00:00:20,780 --> 00:00:25,270 Se konsa, asire w ke ou tou pran yon gade nan konferans, seksyon, tout bagay ki ou kapab. 9 00:00:25,270 --> 00:00:28,240 Egzamen 1 a pwal nan Mèkredi, Mèkredi pwochen. 10 00:00:28,240 --> 00:00:33,800 Se konsa, asire w ke ou etidye. Li pral fè, bèl anpil, tankou egzamen an premye 11 00:00:33,800 --> 00:00:36,390 konsènan fòma li yo, men li la pwobableman ale nan ka pi pi rèd. 12 00:00:36,390 --> 00:00:39,600 Omwen, ane pase a lè m 'te pran 50, mwen te panse li te pi pi rèd. 13 00:00:39,600 --> 00:00:42,410 Se konsa, etidye anpil. 14 00:00:42,410 --> 00:00:45,190 >> Mwen pral kouvri done estrikti yo epi Huffman kodaj. 15 00:00:45,190 --> 00:00:47,910 Sa a se yon bagay ki yon anpil nan moun ki panse se konplèks, 16 00:00:47,910 --> 00:00:51,930 men mwen pral eseye fè li kòm fasil tankou sa posib. 17 00:00:51,930 --> 00:00:56,330 Premye a tout, ki sa nou vle ou nèg yo konnen pou egzamen 1 se yo 18 00:00:56,330 --> 00:01:00,970 konprann deskripsyon yo konseptyèl ekspresyon nan chak nan estrikti yo done ki mwen pral prezante. 19 00:01:00,970 --> 00:01:03,960 Sa vle di ke ou pa bezwen aktyèlman 20 00:01:03,960 --> 00:01:07,020 aplike yon tab hash nan egzamen ou an 1. 21 00:01:07,020 --> 00:01:10,250 Nou pa ta vle nou aplike yon tab hash antye; petèt nou ap eseye 22 00:01:10,250 --> 00:01:13,090 fè ou aplike kèk fonksyon, 23 00:01:13,090 --> 00:01:16,940 operasyon ki pi komen, men nou pa pwal fè ou aplike tout bagay. 24 00:01:16,940 --> 00:01:21,010 Se konsa, li enpòtan ke ou konprann konsèp la dèyè chak estrikti done 25 00:01:21,010 --> 00:01:23,510 epi tou li ke ou se kapab kòd nan C, 26 00:01:23,510 --> 00:01:27,880 jis operasyon ki pi komen yo gen pou chak estrikti done. 27 00:01:27,880 --> 00:01:30,090 Epi tou li kapab revize endikasyon ak strukt, 28 00:01:30,090 --> 00:01:33,470 paske yo parèt yon anpil nan sa yo estrikti done. 29 00:01:33,470 --> 00:01:37,380 Premye >>, lye lis. Bay lis Te lye yo aktyèlman trè menm jan ak ranje, 30 00:01:37,380 --> 00:01:39,930 men diferans ki genyen ant yon lis lye ak yon etalaj, 31 00:01:39,930 --> 00:01:45,160 premye nan tout, se ke yon lis lye gen yon gwosè fleksib anpil, yo 32 00:01:45,160 --> 00:01:50,060 pandan ke yo nan ranje ou gen swa chwazi yon gwosè gwo anpil pou etalaj la, 33 00:01:50,060 --> 00:01:53,710 Se konsa, ou konnen ke w ap ale nan kapab nan magazen tout done ou a nan ki pozisyon, 34 00:01:53,710 --> 00:01:59,370 oswa si w gen yo sèvi ak malok gen yon longè fleksib nan etalaj. 35 00:01:59,370 --> 00:02:03,680 Nan lis lye li a trè fasil jis jwenn plis eleman, 36 00:02:03,680 --> 00:02:07,210 mete plis eleman nan lis la lye oswa retire eleman. 37 00:02:07,210 --> 00:02:09,370 Apre sa, aktyèlman, si ou pa vle lis la lye nan dwe klase, 38 00:02:09,370 --> 00:02:13,950 ou kapab fè rechèch epi retire eleman nan tan konstan, 39 00:02:13,950 --> 00:02:16,800 Se konsa, O (1) tan, donk li trè pratik. 40 00:02:16,800 --> 00:02:20,660 Ou jis dwe fè atansyon toujou sonje yo malok ak gratis nœuds yo, 41 00:02:20,660 --> 00:02:25,510 jis paske si ou pa fè sa, ou pral gen fwit memwa. 42 00:02:25,510 --> 00:02:31,480 Bay lis Se konsa, lye - definisyon an nan yon ne se jis tankou sa nou gen dwa la. 43 00:02:31,480 --> 00:02:35,110 Mwen mete Int n, men ou ka magazen nenpòt done ou vle. 44 00:02:35,110 --> 00:02:37,280 Se konsa, si ou vle nan magazen yon kòd, li la amann. 45 00:02:37,280 --> 00:02:41,690 Si ou vle nan magazen yon konstri, li nan amann, yon doub, kèlkeswa sa ou vle. 46 00:02:41,690 --> 00:02:44,630 Mwen jis mete Int n la pou egzanp yo isit la. 47 00:02:44,630 --> 00:02:46,800 Epi ou gen yon konsèy ne nan pwochen an. 48 00:02:46,800 --> 00:02:51,940 Se konsa, fondamantalman, yon lis lye gen kèk done, ak Lè sa a, li lonje dwèt nan ne nan pwochen an. 49 00:02:51,940 --> 00:02:56,710 Si li nan eleman ki sot pase a nan lis la lye, li ale nan pwen nan nil. 50 00:02:56,710 --> 00:02:59,060 Se konsa, sa a se yon egzanp yon lis lye. 51 00:02:59,250 --> 00:03:05,960 >> Oke, kidonk kounye a kite a wè sa nou dwe fè si mwen vle insert yon eleman nan yon lis lye. 52 00:03:05,960 --> 00:03:08,810 Premyèman, yon insert fonksyon yo pral nan kalite anile 53 00:03:08,810 --> 00:03:11,350 paske mwen pa vle retounen anyen. 54 00:03:11,350 --> 00:03:14,200 Apre sa, mwen pral pran yon Int kòm yon diskisyon, 55 00:03:14,200 --> 00:03:17,090 paske mwen vle konnen ki sa mwen vle insert. 56 00:03:17,090 --> 00:03:21,840 Se konsa, sa ki nan premye bagay la mwen ta dwe fè? Oke, m 'ta dwe malok sou newnode, 57 00:03:21,840 --> 00:03:24,240 se konsa ke se liy la an premye. 58 00:03:24,240 --> 00:03:27,580 Mwen jis kreye yon nouvo ne yo mete nan yon lis lye. 59 00:03:27,580 --> 00:03:32,360 Se konsa, sa mwen kapab fè? Bon, nou konnen ke nan en nou nan lis lye 60 00:03:32,360 --> 00:03:38,180 nan klas, nou toujou mete tèt la kòm yon varyab mondyal la. 61 00:03:38,180 --> 00:03:41,800 Se konsa, sa nou kapab fè se chanje tèt la. 62 00:03:41,800 --> 00:03:44,300 Mwen ka fè nouvo ne sa a k'ap chèf nan nouvo, 63 00:03:44,300 --> 00:03:46,670 epi li ale nan pwen nan tèt la anvan yo. 64 00:03:46,670 --> 00:03:50,390 Ki jan nou ka fè sa? Premye bagay mwen dwe fè 65 00:03:50,390 --> 00:03:54,770 se chanje 'N' la nan ne an nouvo nan valè, 66 00:03:54,770 --> 00:03:57,530 ki te pase bay fonksyon an. 67 00:03:57,530 --> 00:04:01,050 Lè sa a, newnode nan pwochen a pwal tèt la. 68 00:04:01,050 --> 00:04:05,800 Tèt la se yo pral newnode. Se konsa, li trè senp. 69 00:04:05,800 --> 00:04:10,090 Pou efase yon ne, nou ka fè l 'tankou - 70 00:04:10,090 --> 00:04:14,790 Youn nan fason nou ka fè sa sa a vle di, 71 00:04:14,790 --> 00:04:18,160 oke, si mwen te vle efase, pou egzanp, 3, 72 00:04:18,160 --> 00:04:24,850 sa m 'ta ka fè se jis pwen ne a anvan 73 00:04:24,850 --> 00:04:27,580 ne nan pwochen nan 3. 74 00:04:27,580 --> 00:04:29,400 Se konsa, mwen ta jis fè yon bagay tankou sa. 75 00:04:29,400 --> 00:04:33,400 Men, sa ki se pwoblèm nan ak fè sa? 76 00:04:33,400 --> 00:04:37,400 Mwen gen yon fwit memwa, se konsa mwen pa gen aksè a nimewo a 3 ankò. 77 00:04:37,400 --> 00:04:42,480 Pwoblèm nan ak se sa ki ke mwen pa pral pou kapab gratis ki ne. 78 00:04:42,480 --> 00:04:45,360 Mwen pral gen fwit memwa ak (enkonpreansibl) ki pral rayi m '. 79 00:04:45,360 --> 00:04:49,370 Se konsa, olye pou yo fè sa, mwen ta pwobableman gen yon konsèy pou yon ti tan. 80 00:04:49,370 --> 00:04:53,210 Se konsa, mwen mete temp. Li se ale nan pwen nan ne a ke mwen vle efase. 81 00:04:53,210 --> 00:04:58,170 Lè sa a, mwen kapab deplase nœuds yo anvan nan pwen ne nan pwochen 82 00:04:58,170 --> 00:05:00,390 nan ne a ke mwen vle efase. 83 00:05:00,390 --> 00:05:02,730 E finalman, mwen ka libere konsèy la. 84 00:05:02,730 --> 00:05:07,480 Mwen gen yo gratis konsèy la ke mwen te kreye dwa a? 85 00:05:07,480 --> 00:05:09,560 Mwen pa oblije, jis paske - 86 00:05:09,560 --> 00:05:13,430 diferans lan se ke te kreye ne sa a lè l sèvi avèk malok, 87 00:05:13,430 --> 00:05:17,280 se konsa li a nan pil wòch la, pandan y ap yon sèl sa a te jis te deklare kòm yon switch NULL nan chemine a. 88 00:05:17,280 --> 00:05:20,000 Se konsa, mwen pa bezwen gratis li. 89 00:05:20,000 --> 00:05:22,030 >> Okay. Se konsa, kounye a kite a pale sou pil. 90 00:05:22,030 --> 00:05:24,680 Pil yo trè senp. 91 00:05:24,680 --> 00:05:29,540 Nou te fè pil ak ke moun kap kriye nan klas jis lè l sèvi avèk ranje, 92 00:05:29,540 --> 00:05:32,820 men ou ta dwe abitye - jis dwe konnen 93 00:05:32,820 --> 00:05:40,740 ke ou ka tou fè pil nan ke moun kap kriye lè l sèvi avèk lis lye kòm byen. 94 00:05:40,740 --> 00:05:44,460 Se konsa, si ou gen yon etalaj, sa ki ta yon pil? 95 00:05:44,460 --> 00:05:46,810 Yon pil, an premye, ap gen gen yon gwosè. 96 00:05:46,810 --> 00:05:49,950 Ou gen nan magazen ki sa ki gwosè a nan chemine a ki di ou gen kounye a. 97 00:05:49,950 --> 00:05:52,980 Epi tou ou ta gen yon etalaj, nan ka sa a nan nimewo, 98 00:05:52,980 --> 00:05:55,120 men si ou vle, li kapab yon etalaj 99 00:05:55,120 --> 00:06:00,380 nan strings, yon etalaj de konstri, nenpòt ki bagay ki ou vle nan magazen. 100 00:06:00,380 --> 00:06:03,240 Sou chemine a: Diferans ki genyen ant yon pil ak yon lis lye 101 00:06:03,240 --> 00:06:08,590 se ke nan chemine a ou sèlman gen aksè a eleman ki sot pase a ki te mete nan chemine a. 102 00:06:08,590 --> 00:06:11,770 Sa yo rele li sot pase a nan, premye deyò. 103 00:06:11,770 --> 00:06:15,090 Jis tankou ou gen yon pil nan plato, 104 00:06:15,090 --> 00:06:17,670 si ou mete yon plato sou tèt la nan chemine a, 105 00:06:17,670 --> 00:06:22,670 ou genyen yo retire ke plato premye gen aksè a lòt plato yo. 106 00:06:22,670 --> 00:06:26,310 Li nan menm bagay la ak pil. 107 00:06:26,310 --> 00:06:31,220 Se konsa, si mwen vle, pou egzanp, ajoute yon eleman nan yon chemine, ki sa mwen ta dwe fè? 108 00:06:31,220 --> 00:06:34,070 Sa yo rele li pouse, ak li a trè senp. 109 00:06:34,070 --> 00:06:37,130 Premye bagay ou dwe fè se tcheke si gwosè a nan chemine a 110 00:06:37,130 --> 00:06:40,150 pa janm pi grannèg oswa egal a kapasite nan chemine a. 111 00:06:40,150 --> 00:06:45,810 Paske si ou deja yo se sou kapasite plen, ou pa ka ajoute nenpòt lòt bagay. 112 00:06:45,810 --> 00:06:51,140 Lè sa a, si se pa, ou jis gen ajoute eleman nan chemine a. 113 00:06:51,140 --> 00:06:54,530 E finalman, enkreman gwosè a. Se konsa, li trè senp. 114 00:06:54,530 --> 00:06:57,140 Se konsa, mwen jis ajoute nimewo 2. 115 00:06:57,140 --> 00:07:00,350 Men, si mwen vle pòp, ki vle di ke mwen vle retire 116 00:07:00,350 --> 00:07:03,870 eleman ki sot pase a ki te ajoute epi retounen valè a nan eleman an, 117 00:07:03,870 --> 00:07:09,180 premye bagay la mwen gen yo tcheke se ke chemine a se pa vid. 118 00:07:09,180 --> 00:07:11,510 Paske si li nan vid, mwen pa ka retounen anyen. 119 00:07:11,510 --> 00:07:14,820 Nan ka sa a, mwen retounen -1. 120 00:07:14,820 --> 00:07:18,960 Sinon, mwen pral dekrwasans gwosè a nan espèk a, 121 00:07:18,960 --> 00:07:22,510 epi retounen nimewo (s.size). 122 00:07:22,510 --> 00:07:27,230 Poukisa mwen dekrwasans gwosè a ak Lè sa a, retounen s.size? 123 00:07:27,230 --> 00:07:30,930 Li nan paske, nan ka sa a, espèk a gen gwosè 4, 124 00:07:30,930 --> 00:07:33,810 e mwen vle retounen eleman nan katriyèm, dwa? 125 00:07:33,810 --> 00:07:36,030 Men, sa ki se endèks la nan eleman nan katriyèm? Twa. 126 00:07:36,030 --> 00:07:44,510 Depi mwen gwosè - a pwal 3, mwen ka jis retounen s.numbers (s.size) 127 00:07:44,510 --> 00:07:48,410 paske li se 3. Se konsa, li jis endèks la. 128 00:07:48,410 --> 00:07:50,380 >> Koulye a, ke moun kap kriye. Ke moun kap kriye yo se bèl anpil menm bagay la. 129 00:07:50,380 --> 00:07:54,950 Sèl diferans ki genyen se ke olye pou yo gen sot pase a nan, premye soti, 130 00:07:54,950 --> 00:07:57,480 ou gen an premye nan, premye deyò. 131 00:07:57,480 --> 00:07:59,460 Pwobableman si ou ap tann pou yo ale nan yon konsè, 132 00:07:59,460 --> 00:08:04,260 ou pa ta fè kè ou kontan si ou te gen yon pil olye pou yo yon keu. 133 00:08:04,260 --> 00:08:07,730 Pou ou kab vin moun ki sot pase a ap vini ta dwe premye moun ki te antre nan konsè a. 134 00:08:07,730 --> 00:08:09,760 Ou pwobableman pa ta gen kè kontan. 135 00:08:09,760 --> 00:08:15,020 Nan keu a, premye moun ki jwenn nan tou se premye moun ki jwenn deyò. 136 00:08:15,020 --> 00:08:18,720 Se konsa, nan definisyon an nan yon keu, san konte gen gwosè a nan etalaj la, 137 00:08:18,720 --> 00:08:23,360 ou gen tou yo gen tèt la, ki se endèks la nan tèt la nan chemine a. 138 00:08:23,360 --> 00:08:29,000 Se konsa, eleman nan premye kounye a. 139 00:08:29,000 --> 00:08:32,710 Enqueue se menm bagay la kòm pouse pou pil. 140 00:08:32,710 --> 00:08:34,980 Si ou yo te trè nayif, ou ta jis di, 141 00:08:34,980 --> 00:08:39,289 byen, mwen ka jis fè egzakteman menm bagay la menm jan mwen te fè pou pouse. 142 00:08:39,289 --> 00:08:44,030 Mwen ka jis tcheke si li pa pi lwen pase kapasite la. 143 00:08:44,030 --> 00:08:48,760 Si li se, mwen retounen fo, otreman mwen ka jis ekspòtasyon valè nan nouvo 144 00:08:48,760 --> 00:08:50,630 ak Lè sa a, enkreman gwosè a. 145 00:08:50,630 --> 00:08:52,750 Men, poukisa nonm sa a mal? 146 00:08:52,750 --> 00:08:55,010 Ann wè egzanp sa a. 147 00:08:55,010 --> 00:08:57,020 M ap eseye enqueue yon pakèt moun sou bagay, 148 00:08:57,020 --> 00:08:58,390 ak Lè sa a, mwen pral dequeue ak enqueue. 149 00:08:58,390 --> 00:09:00,550 Genyen yon anpil nan kòmandman, men li la trè senp. 150 00:09:00,550 --> 00:09:04,790 Mwen pral enqueue 5, se konsa ajoute 5, ak Lè sa a, 7, 151 00:09:04,790 --> 00:09:09,310 1, 4, 6, ak Lè sa a, mwen vle dequeue yon bagay, 152 00:09:09,310 --> 00:09:12,000 ki vle di ke mwen pral retire eleman a an premye. 153 00:09:12,000 --> 00:09:14,640 Se konsa, mwen pral retire nimewo a 3, dwa? 154 00:09:14,640 --> 00:09:17,320 Eleman a an premye. Oke. 155 00:09:17,320 --> 00:09:21,450 Koulye a, si mwen eseye enqueue yon lòt bagay, ki sa ki pwal rive? 156 00:09:21,450 --> 00:09:24,290 Dapre aplikasyon m 'yo, 157 00:09:24,290 --> 00:09:31,040 Mwen te ale nan mete pwochen nonb nan q.size nan endèks. 158 00:09:31,040 --> 00:09:35,140 Nan ka sa a, gwosè a se 8, 159 00:09:35,140 --> 00:09:38,640 Se konsa, endèks la 8 yo pral dwa isit la nan yon pozisyon nan sot pase a. 160 00:09:38,640 --> 00:09:43,900 Si m 'eseye enqueue 1 dwa isit la, mwen ta dwe ranplasan pozisyon ki sot pase a 161 00:09:43,900 --> 00:09:45,870 nan nimewo a 1, ki se konplètman sa ki mal. 162 00:09:45,870 --> 00:09:49,870 Ki sa mwen vle fè se vlope toutotou epi ale nan pozisyon a an premye. 163 00:09:49,870 --> 00:09:52,870 Petèt ou ta jis di, byen, mwen jis gen yo tcheke 164 00:09:52,870 --> 00:09:55,600 si mwen ka aktyèlman mete yon bagay la. 165 00:09:55,600 --> 00:09:58,560 Si ou pa, mwen jis di, o, nouvo kapasite an plen 166 00:09:58,560 --> 00:10:02,010 se aktyèlman kapasite - 1, epi ou pa ka mete yon eleman la. 167 00:10:02,010 --> 00:10:06,150 Men, sa ki se pwoblèm lan? Pwoblèm lan se ke si mwen jis dequeue tout bagay dwa isit la 168 00:10:06,150 --> 00:10:08,240 ak Lè sa a, mwen eseye ajoute yon lòt bagay, li ta jis di, 169 00:10:08,240 --> 00:10:11,210 byen, ou te nan kapasite plen, ki se 0. 170 00:10:11,210 --> 00:10:13,620 Se konsa, keu ou ale. 171 00:10:13,620 --> 00:10:16,990 Ou gen vlope alantou li, ak yon fason pou vlope toutotou 172 00:10:16,990 --> 00:10:22,040 ke ou nèg te aprann sa nan vizyonè ak lòt psets te lè l sèvi avèk mod. 173 00:10:22,040 --> 00:10:29,090 Ou ka eseye li nan lakay yo nan konprann pou ki sa ou ta fè q.size + q.head 174 00:10:29,090 --> 00:10:31,080 kapasite mod, men si ou tcheke dwa isit la, 175 00:10:31,080 --> 00:10:34,760 nou ka wè ke li travay. 176 00:10:34,760 --> 00:10:37,760 Se konsa, nan dènye egzanp lan, q.size te 8 177 00:10:37,760 --> 00:10:47,590 ak tèt la, te 1 paske li te nan pozisyon sa a isit la nan etalaj la. 178 00:10:47,590 --> 00:10:51,970 Se konsa, li yo pral 8 + 1, 9. Mod kapasite 9 ta dwe 0. 179 00:10:51,970 --> 00:10:56,640 Li ta ale nan endèks la 0. Nou pral nan yon pozisyon nan dwa. 180 00:10:56,640 --> 00:10:59,750 Lè sa a, eseye keu a nan kay la. 181 00:10:59,750 --> 00:11:04,950 Men kèk bagay enpòtan: eseye konprann diferans ki genyen ant yon pil ak yon keu. 182 00:11:04,950 --> 00:11:11,620 Nan lakay, eseye jwenn trè abitye ak mete ann aplikasyon enqueue, dequeue, pouse ak pòp. 183 00:11:11,620 --> 00:11:16,560 Epi tou li konprann lè ou ta sèvi ak chak nan yo. 184 00:11:16,560 --> 00:11:22,830 >> Se konsa, kite a detann pou 10 segonn ak yon pakèt moun sou Pokemons. 185 00:11:22,830 --> 00:11:26,080 Epi, koulye a kite a tounen nan done estrikti. 186 00:11:26,080 --> 00:11:29,770 Hash tab. Yon anpil moun yo te pè a tab hash. 187 00:11:29,770 --> 00:11:33,650 nan pwoblèm mete 6, yon korektè. 188 00:11:33,650 --> 00:11:35,980 Tab Hash ak ap eseye, yon anpil moun ki jwenn pè nan yo. 189 00:11:35,980 --> 00:11:38,540 Yo panse yo ap tèlman difisil a konprann. Yeah? 190 00:11:38,540 --> 00:11:41,490 [Rob Bowden] Pwoblèm mete 5. >> Pwoblèm mete 5, yeah. Mèsi Rob. 191 00:11:41,490 --> 00:11:43,370 Yeah. Sis te Huff n 'soufle, yeah. 192 00:11:43,370 --> 00:11:49,340 Pwoblèm mete 5 te korektè òtograf, epi ou te sèvi ak swa yon tab hash oswa yon eseye. 193 00:11:49,340 --> 00:11:55,360 Yon anpil moun te panse ke yo te super difisil a konprann, men yo ap aktyèlman trè senp. 194 00:11:55,360 --> 00:12:01,290 Ki sa ki se yon tab hash, fondamantalman? Yon tab hash se yon etalaj de lis lye. 195 00:12:01,290 --> 00:12:06,730 Sèl diferans ki genyen ant yon etalaj ak yon tablo hash 196 00:12:06,730 --> 00:12:09,730 se ke nan tablo a hash ou gen yon bagay yo rele yon fonksyon hash. 197 00:12:09,730 --> 00:12:12,080 Ki sa ki se yon fonksyon hash? 198 00:12:12,080 --> 00:12:13,970 Mwen pa konnen si ou nèg ka li isit la. 199 00:12:13,970 --> 00:12:16,090 Sa a se yon egzanp sou yon tab hash. 200 00:12:16,090 --> 00:12:19,220 Se konsa, ou ka wè ke ou gen yon etalaj ak 31 eleman. 201 00:12:19,220 --> 00:12:22,440 Ak sa nou fè nan yon tablo hash se gen yon fonksyon hash 202 00:12:22,440 --> 00:12:26,660 ki se ale nan tradui yon kle, chak int nan yon endèks. 203 00:12:26,660 --> 00:12:31,740 Si, pou egzanp, si mwen vle chwazi pou B. Harrison, 204 00:12:31,740 --> 00:12:34,190 Mwen ta ka mete B. Harrison nan fonksyon hash m 'yo, 205 00:12:34,190 --> 00:12:36,960 ak fonksyon an hash ta retounen 24. 206 00:12:36,960 --> 00:12:40,930 Se konsa, mwen konnen se mwen vle nan magazen B. Harrison nan 24. 207 00:12:40,930 --> 00:12:46,580 Se konsa, sa a, se diferans ki genyen ant jis ki gen yon etalaj epi ki gen yon tab hash. 208 00:12:46,580 --> 00:12:48,740 Nan tablo ki hash ou pral gen yon fonksyon ki pral di ou 209 00:12:48,740 --> 00:12:54,740 kote nan magazen done yo ke w vle nan magazen. 210 00:12:54,740 --> 00:12:57,040 Pou fonksyon an hash, ou vle gade pou yon fonksyon hash 211 00:12:57,040 --> 00:13:00,600 ki se detèrminist ak byen-distribye yo. 212 00:13:00,600 --> 00:13:07,810 Kòm ou ka wè isit la, ou wè ke yon anpil nan done a ke mwen te vle nan magazen te aktyèlman 19 213 00:13:07,810 --> 00:13:12,470 olye pou yo lè l sèvi avèk 31 ak 30 ak 29, ki tout te gratis. 214 00:13:12,470 --> 00:13:16,920 Se konsa, fonksyon an hash ke mwen itilize pa t 'trè byen-distribye yo. 215 00:13:16,920 --> 00:13:20,710 Lè nou di byen-distribye, sa vle di ke nou vle genyen, 216 00:13:20,710 --> 00:13:26,520 apeprè, omwen 1 oswa 2 pou chak nan a - 217 00:13:26,520 --> 00:13:32,190 tankou, yon diferans nan 1 oswa 2 pou chak nan endis yo nan ranje yo. 218 00:13:32,190 --> 00:13:43,950 Ou vle gen, apeprè, menm kantite eleman nan chak lis lye nan etalaj la. 219 00:13:43,950 --> 00:13:48,600 Apre sa, li fasil yo tcheke si li nan ki valab nan tablo a hash, wè kòm tab hash. 220 00:13:48,600 --> 00:13:51,770 >> Lè sa a, pye bwa. Sa a se yon pyebwa. 221 00:13:51,770 --> 00:13:56,400 Pye bwa nan syans òdinatè yo tèt anba pou kèk rezon. 222 00:13:56,400 --> 00:14:00,150 Se konsa, isit la ou gen rasin lan nan pye bwa a ak Lè sa a, fèy li yo yo. 223 00:14:00,150 --> 00:14:05,630 Ou ta dwe jis konnen nomanklatur la pou paran yo ak timoun. 224 00:14:05,630 --> 00:14:12,880 Chak ne gen timoun li yo, ki se nœuds yo ki anba a paran an. 225 00:14:12,880 --> 00:14:19,660 Se konsa, pou egzanp, 2 a pwal paran an pou 3 ak pou lòt timoun nan dwa a, 226 00:14:19,660 --> 00:14:25,290 pandan y ap 3 a pwal paran an pou 1 ak lòt timoun yo ke la tou. 227 00:14:25,290 --> 00:14:29,990 Ak 1 a pwal pitit 3 a, ak sou sa. 228 00:14:29,990 --> 00:14:34,610 Nou gen yon bagay pi plis enteresan, ki rele yon pye bwa rechèch binè, 229 00:14:34,610 --> 00:14:39,040 nan kote tout valè yo sou bò dwat la nan yon ne 230 00:14:39,040 --> 00:14:41,660 yo pral yo dwe sou bò dwat la, dwa isit la - sou bò dwat la, 231 00:14:41,660 --> 00:14:46,780 yo ale nan pral pi grannèg pase eleman an nan rasin lan. 232 00:14:46,780 --> 00:14:49,780 Se konsa, si mwen gen nimewo a 5 dwa isit la, tout eleman ki sou bò dwat la 233 00:14:49,780 --> 00:14:51,940 yo ale nan pral pi grannèg pase 5, ak sou bò gòch la 234 00:14:51,940 --> 00:14:56,770 tout eleman ki yo ale nan dwe mwens pase 5. 235 00:14:56,770 --> 00:14:58,780 Poukisa sa a se itil? 236 00:14:58,780 --> 00:15:01,660 Oke, si mwen vle tcheke si nimewo a 7 se isit la, pou egzanp, 237 00:15:01,660 --> 00:15:05,960 Mwen jis ale nan 5 premye ak mwen pral wè la a, se 7 pi plis oswa mwens pase 5? 238 00:15:05,960 --> 00:15:09,540 Li nan pi gwo, se konsa mwen konnen li nan ale nan gen yo dwe sou bò dwat la nan pye bwa an. 239 00:15:09,540 --> 00:15:13,980 Se konsa, mwen gen anpil mwens bagay fè yon gade nan. 240 00:15:13,980 --> 00:15:19,520 Nan egzekisyon pou yon pye bwa rechèch binè, ne la, mwen jis pral fè yo gen done, 241 00:15:19,520 --> 00:15:21,750 Se konsa, Int n; ou ta ka genyen tou yon fisèl 242 00:15:21,750 --> 00:15:23,630 oswa nenpòt bagay ou te vle. 243 00:15:23,630 --> 00:15:28,100 Ou jis dwe fè atansyon sou defini ki sa ki pi gwo, ki sa ki mwens. 244 00:15:28,100 --> 00:15:30,390 Se konsa, si ou te gen strings, pou egzanp, ou ta ka defini 245 00:15:30,390 --> 00:15:34,690 ke tout bagay sa yo sou bò dwat la yo ale nan gen pi gwo longè, 246 00:15:34,690 --> 00:15:40,940 bò gòch la yo ale nan gen pi ba longè, se konsa li vrèman moute nan ou. 247 00:15:40,940 --> 00:15:44,930 >> Kouman mwen ka aplike jwenn pou le? 248 00:15:44,930 --> 00:15:47,840 Premye bagay nou pral gen fè se tcheke si rasin lan se NULL. 249 00:15:47,840 --> 00:15:50,920 Si li nan NULL, sa vle di ke bagay la se pa la 250 00:15:50,920 --> 00:15:53,330 paske ou pa menm gen yon pye bwa, dwa? 251 00:15:53,330 --> 00:15:55,790 Se konsa, mwen tounen bay manti. 252 00:15:55,790 --> 00:15:58,740 Sinon, mwen pral tcheke si nimewo a gen plis pouvwa 253 00:15:58,740 --> 00:16:01,720 pase valè a nan rasin lan. 254 00:16:01,720 --> 00:16:04,250 Mwen pral eseye jwenn eleman ki sou bò dwat la 255 00:16:04,250 --> 00:16:08,590 nan pyebwa a. 256 00:16:08,590 --> 00:16:11,310 Ou wè ke mwen lè l sèvi avèk rkursyon isit la. 257 00:16:11,310 --> 00:16:14,150 Lè sa a, si li nan mwens, mwen pral fè yon gade nan bò gòch la. 258 00:16:14,150 --> 00:16:18,330 E finalman, otreman, si li pa mwens oswa pa janm pi grannèg, 259 00:16:18,330 --> 00:16:20,660 sa vle di ke li nan valè nan tèt li. 260 00:16:20,660 --> 00:16:23,010 Se konsa, mwen jis retounen vre. 261 00:16:23,010 --> 00:16:26,360 Ou ka wè isit la ke mwen itilize si, si, si. 262 00:16:26,360 --> 00:16:30,820 Epi sonje, nan egzamen 0, nou te gen yon pwoblèm ki te gen si, si, si, 263 00:16:30,820 --> 00:16:32,780 epi ou te sipoze jwenn ensifizans la, 264 00:16:32,780 --> 00:16:35,180 ak ensifizans la te ke ou itilize si. 265 00:16:35,180 --> 00:16:39,060 Ou ta dwe te itilize si, lòt moun si, lòt moun si, ak lòt bagay. 266 00:16:39,060 --> 00:16:44,240 Se konsa, mwen ta dwe sèvi ak lòt moun si ak lòt moun si ak lòt moun isit la? 267 00:16:44,240 --> 00:16:46,200 Èske yon moun - wi? 268 00:16:46,200 --> 00:16:51,140 [Pale elèv, fèbl] 269 00:16:51,140 --> 00:16:53,480 Sa a pafè. Se konsa, li te di ke li pa gen pwoblèm, 270 00:16:53,480 --> 00:16:55,930 jis paske ensifizans la ke nou te genyen anvan 271 00:16:55,930 --> 00:16:59,550 te ke, paske, petèt si yo te gen kèk kondisyon satisfè, 272 00:16:59,550 --> 00:17:03,570 konsa ou te fè yon aksyon, men Lè sa a, ou te ale nan tcheke tout lòt kondisyon yo. 273 00:17:03,570 --> 00:17:06,319 Men, nan ka sa a, li tounen touswit, se konsa li pa gen pwoblèm. 274 00:17:06,319 --> 00:17:09,220 Se konsa, ou pa bezwen sèvi ak lòt moun si. 275 00:17:09,220 --> 00:17:11,740 >> Epi finalman, se pou yo pale sou ap eseye, 276 00:17:11,740 --> 00:17:13,800 ki se pi renmen sou tout moun. 277 00:17:13,800 --> 00:17:15,980 Yon eseye se yon pyebwa ki nan ranje. 278 00:17:15,980 --> 00:17:20,369 Li trè vit yo gade jiska valè, men li sèvi ak yon anpil nan memwa. 279 00:17:20,369 --> 00:17:22,530 Apre sa, li la anjeneral filtre mo, Se konsa, lè ou 280 00:17:22,530 --> 00:17:27,920 vle aplike, pou egzanp, mwen pa konnen, tankou yon liv telefòn nan telefòn ou 281 00:17:27,920 --> 00:17:30,440 epi ou vle pou kapab tape B 282 00:17:30,440 --> 00:17:32,510 ak jis gen non moun ki gen B. 283 00:17:32,510 --> 00:17:37,960 Li trè fasil aplike ke lè l sèvi avèk yon eseye, pou egzanp. 284 00:17:37,960 --> 00:17:39,820 Ki jan ou fè defini yon ne nan yon eseye? 285 00:17:39,820 --> 00:17:43,910 Ou jis bezwen gen yon bouleen ki se yo pral is_word. 286 00:17:43,910 --> 00:17:48,660 Ki reprezante ki lè l sèvi avèk tout karaktè yo anvan sa ne, 287 00:17:48,660 --> 00:17:51,920 ou te kapab fòme yon mo, 288 00:17:51,920 --> 00:17:57,230 ak Lè sa a, ou pral gen yon etalaj de pwent nœuds. 289 00:17:57,230 --> 00:18:03,120 Èske ou ka wè ke nou gen yon etalaj de nœuds paran, se konsa ne * etalaj? Yeah? 290 00:18:03,120 --> 00:18:06,050 Se konsa, kite a wè ki jan ki pral travay. Pou chèk la eple, 291 00:18:06,050 --> 00:18:08,230 nou gen yon etalaj de 27 eleman, 292 00:18:08,230 --> 00:18:12,150 paske nou gen tout lèt yo plis apostwòf la. 293 00:18:12,150 --> 00:18:17,800 Anvan isit la mwen jis pwal itilize 2 paske mwen vle pou kapab ekri sou tablo a. 294 00:18:17,800 --> 00:18:20,230 Oke. Se konsa, sa a se yon egzanp nan yon eseye. 295 00:18:20,230 --> 00:18:25,600 Si mwen jis defini ne a an premye, mwen pral gen yon etalaj de 2 eleman 296 00:18:25,600 --> 00:18:29,290 ki se 2 endikasyon NULL, se konsa mwen jis mete 'yon' ak 'b'. 297 00:18:29,290 --> 00:18:32,430 Apre sa, mwen pral gen yon bouleen ki di is_word. 298 00:18:32,430 --> 00:18:34,420 Li pral fè fo pou yon a an premye, 299 00:18:34,420 --> 00:18:37,370 jis paske, anvan ke ou pa gen okenn karaktè. 300 00:18:37,370 --> 00:18:40,900 Se konsa, yon pawòl ki vid se pa yon mo. Se konsa, li bay manti. 301 00:18:40,900 --> 00:18:46,320 Si m 'vle ajoute' yon 'yo diksyonè sa a, sa ki ta mwen gen fè? 302 00:18:46,320 --> 00:18:49,760 Mwen ta jis gen nan malok yon nouvo ne pou 'yon', 303 00:18:49,760 --> 00:18:54,630 ak lè sa a ajoute pawòl li nan vre. 304 00:18:54,630 --> 00:19:00,180 Se konsa, li jis reprezante ki gen 'yon' ki pral yo dwe vre. Fè sans? 305 00:19:00,180 --> 00:19:04,120 Lè sa a, si mwen vle ajoute 'ba', mwen pral oblije malok 1 pou 'b', 306 00:19:04,120 --> 00:19:07,550 ak Lè sa a, mwen pral yo mete kanpe Boolean a ak fo, 307 00:19:07,550 --> 00:19:10,160 paske 'B' pou kont li se pa yon mo. 308 00:19:10,160 --> 00:19:13,010 Lè sa a, mwen pral malok yon lòt pou 'yon', se konsa 'ba', 309 00:19:13,010 --> 00:19:16,290 ak Lè sa a, mwen pral yo mete kanpe li nan yon mo ki vre. 310 00:19:16,290 --> 00:19:18,950 Paske 'ba' se yon mo. 311 00:19:18,950 --> 00:19:21,910 Lè sa a, si mwen vle wè si 'B' se an nan diksyonè sa a, 312 00:19:21,910 --> 00:19:26,730 Mwen ka jis ale nan youn nan premye, 'B'. M 'desann, epi mwen gade nan se pawòl Bondye, epi li di fo. 313 00:19:26,730 --> 00:19:30,110 Se konsa, li pa di yon mo. Si m 'vle yo tcheke' ba ', 314 00:19:30,110 --> 00:19:38,010 M 'ale nan yon sèl la an premye,' B ', ak Lè sa a, ale nan' yon ', epi mwen wè vre, kidonk li se yon mo. Fè sans? 315 00:19:38,010 --> 00:19:41,950 Yon anpil moun jwenn mele nan ap eseye. Pa gen okenn? 316 00:19:41,950 --> 00:19:44,740 >> Finalman, Huffman kodaj. Huffman kodaj se trè itil 317 00:19:44,740 --> 00:19:47,550 pou konsève pou memwa ak konpresyon fichye tèks, 318 00:19:47,550 --> 00:19:52,270 jis paske yon anpil nan fwa ou itilize 'yon' ak 'e', ​​pou egzanp, 319 00:19:52,270 --> 00:19:57,710 nan dokiman ou, men mwen pa konnen si w mesye sèvi ak 'q' oswa 'z' kòm anpil. 320 00:19:57,710 --> 00:20:02,040 Èske w gen jis 1 multiple pou chak karaktè yon sèl, 321 00:20:02,040 --> 00:20:08,520 chak yon sèl - 256 karaktè yo ke nou gen nan tablo a ASCII se pa trè pi bon, 322 00:20:08,520 --> 00:20:11,410 jis paske gen kèk karaktè ke ou itilize pi plis, 323 00:20:11,410 --> 00:20:15,180 Se konsa, ou ta dwe pwobableman sèvi ak mwens memwa pou sa yo. 324 00:20:15,180 --> 00:20:17,560 Kijan pou m itilize Huffman kodaj? 325 00:20:17,560 --> 00:20:20,010 Nou dwe fè yon pye bwa Huffman. 326 00:20:20,010 --> 00:20:23,370  Yon pye bwa Huffman gen nœuds 327 00:20:23,370 --> 00:20:27,760 ki gen yon senbòl ki pral fè tankou, 'yon', 'b', 'c', lèt la, 328 00:20:27,760 --> 00:20:32,990 tou sa lèt ou genyen, yon frekans ki se frekans lan ki pawòl Bondye a parèt nan tèks la, 329 00:20:32,990 --> 00:20:36,280 ke ou te kreye pye bwa a Huffman pou li a, 330 00:20:36,280 --> 00:20:41,800 ak Lè sa a, yon ne ki se ale nan pwen sou bò goch la nan pye bwa a Huffman 331 00:20:41,800 --> 00:20:47,210 ak yon lòt ne ki se ale nan pwen a dwat la. Se konsa, jis tankou yon pye bwa. 332 00:20:47,210 --> 00:20:49,440 Ki jan ou fè bati yon pye bwa Huffman? 333 00:20:49,440 --> 00:20:54,020 W ap ale nan chwazi nœuds yo 2 ki gen frekans ki pi ba. 334 00:20:54,020 --> 00:20:56,490 Si ou gen yon menm kantite vòt w ap ale nan chwazi nœuds yo 2 335 00:20:56,490 --> 00:20:59,870 ki gen valè ki pi ba ASCII kòm byen. 336 00:20:59,870 --> 00:21:02,420 Lè sa a, w ap ale nan kreye yon nouvo pyebwa nan sa yo 2 nœuds 337 00:21:02,420 --> 00:21:08,030 ki se pral gen frekans lan konbine nan ne paran an. 338 00:21:08,030 --> 00:21:13,240 Lè sa a, w ap ale nan retire timoun yo 2 soti nan forè a 339 00:21:13,240 --> 00:21:15,570 epi ranplase yo ak paran an. 340 00:21:15,570 --> 00:21:18,930 Apre sa, w ap ale nan repete sa jouk lè ou gen sèlman 1 pye bwa nan forè an. 341 00:21:18,930 --> 00:21:23,840 Se konsa, kite a wè ki jan ou ta fè yon pye bwa Huffman pou ZAMYLA. 342 00:21:23,840 --> 00:21:29,220 Ou ka wè isit la ke tout lèt yo gen frekans 1 eksepte pou 'A'; ki gen frekans 2. 343 00:21:29,220 --> 00:21:34,090 Se konsa, mwen te kreye nœuds pou tout lèt yo mwen mete yo nan lòd ki gen valè ASCII ak frekans. 344 00:21:34,090 --> 00:21:40,090 Se konsa, si mwen vle kreye premye pye bwa a, li pral ak 'L' ak 'M'. 345 00:21:40,090 --> 00:21:43,100 Se konsa, li isit la. Frekans nan pè a pral 2 346 00:21:43,100 --> 00:21:49,470 paske li nan 1 + 1, Lè sa a, pwochen 2 a ak fwekans yo ki pi ba yo se 'Y' ak 'Z'. 347 00:21:49,470 --> 00:21:53,180 Lè sa a, mwen gen tout nan yo ke yo te - gen yon frekans nan 2. 348 00:21:53,180 --> 00:22:00,470 Se konsa, ki sa yo se yo menm ki gen menm valè a ASCII ki pi ba pou youn nan pwochen? 349 00:22:00,470 --> 00:22:04,830 'A' ak 'L'. Se konsa, mwen kreye ne nan nouvo, 350 00:22:04,830 --> 00:22:09,930 epi finalman, li nan 4 ak 2, se konsa 2 a pwal sou bò gòch la. 351 00:22:09,930 --> 00:22:12,430 Lè sa a se pye bwa a Huffman. 352 00:22:12,430 --> 00:22:16,060 Lè sa a, si mwen vle ekri kèk tèks, 353 00:22:16,060 --> 00:22:24,440 tankou nan binè konvèti nan tèks, lè l sèvi avèk pye bwa a Huffman se trè fasil. 354 00:22:24,440 --> 00:22:30,220 Pou egzanp, si m 'di sa k ap deplase sou bò goch la se yon 0 ak deplase sou bò dwat la se yon 1, 355 00:22:30,220 --> 00:22:32,410 Ki sa ki se ke ale nan reprezante? 356 00:22:32,410 --> 00:22:35,530 Se konsa, tankou 1, 1, se konsa dwat, dwat, 357 00:22:35,530 --> 00:22:40,370 ak Lè sa a, 0, se konsa kite ta dwe L, ak Lè sa a, 1, 0, 0. 358 00:22:40,370 --> 00:22:43,950 Se konsa, 1, 0, Se konsa, jis 1, 0, 'A'. 359 00:22:43,950 --> 00:22:47,540 Lè sa a, 0, 1, se konsa 'Z'. 360 00:22:47,540 --> 00:22:52,170 Lè sa a, 1, 0, 0 - pa gen okenn. 361 00:22:52,170 --> 00:22:56,780 0, 0 pral 'Y', se konsa parese. 362 00:22:56,780 --> 00:23:06,060 Se konsa, ki nan tout pou m ', Rob a pral pran sou. 363 00:23:06,060 --> 00:23:08,400 >> [Rob Bowden] Se konsa, semèn 7 bagay. 364 00:23:08,400 --> 00:23:11,390 Nou te gen yon anpil ale sou reyèlman vit. 365 00:23:11,390 --> 00:23:13,430 Operatè lojik, tanpon debòde, 366 00:23:13,430 --> 00:23:16,760 Bibliyotèk CS50, lè sa a HTML, HTTP, CSS. 367 00:23:16,760 --> 00:23:20,990 Tout moun nan tankou 15 a 20 minit. 368 00:23:20,990 --> 00:23:24,330 Lojik operatè yo. Gen 6 nan yo ke ou bezwen konnen. 369 00:23:24,330 --> 00:23:31,200 Lojik, epi, lojik oswa, or, yo kite chanjman, dwa chanjman, epi yo pa. 370 00:23:31,200 --> 00:23:35,420 Dwa chanjman epi yo pa ou apèn te wè nan konferans nan tout. 371 00:23:35,420 --> 00:23:40,480 Nou pral ale sou li byen vit isit la, men li bon konnen ke sa yo, se 6 la ki egziste. 372 00:23:40,480 --> 00:23:45,070 Sonje ke operatè lojik yo tankou lè ou fè 3 + 4. 373 00:23:45,070 --> 00:23:49,420 Ou pa ap fè fas ak binè la nan 3 ak 4. 374 00:23:49,420 --> 00:23:56,550 Ak operatè lojik ou yo aktyèlman fè fas ak Bits endividyèl yo nan nimewo ki 3 ak 4. 375 00:23:56,550 --> 00:23:59,120 >> Se konsa, yon sèl nan premye ke nou pral di se lojik se pa sa, 376 00:23:59,120 --> 00:24:02,340 ansanm ak tout sa li fè a se Flip tout Bits yo. 377 00:24:02,340 --> 00:24:05,500 Se konsa, isit la, si w ap ekri sa a nan C, ou ta pa ekri li 378 00:24:05,500 --> 00:24:09,380 kòm ~ 11011 oswa kèlkeswa sa, ou ta ekri li renmen ~ 4, 379 00:24:09,380 --> 00:24:12,970 ak Lè sa a, li ta baskile reprezantasyon an binè nan 4. 380 00:24:12,970 --> 00:24:24,800 Se konsa, isit la, ~ nan kèk nimewo binè 1101101 ki pral egzakteman baskile tout 1 a nan 0 a ansanm ak tout 0 a nan 1 an. 381 00:24:24,800 --> 00:24:27,600 Kòm mwen di la, itilize a souvan nan sa a, 382 00:24:27,600 --> 00:24:30,830 epi nou pral wè l 'nan yon ti jan, se tankou nou vle vini ak kèk nimewo 383 00:24:30,830 --> 00:24:35,460 kote tout Bits yo se 1, eksepte pou youn nan yo. 384 00:24:35,460 --> 00:24:38,560 Se konsa, li anjeneral pi fasil eksprime sa yo panse nimewo a 385 00:24:38,560 --> 00:24:40,630 ki kote sèlman sa ti jan yon sèl mete, 386 00:24:40,630 --> 00:24:44,650 ak Lè sa a, pran ~ a nan li, se konsa se chak ti jan lòt mete eksepte pou yon sèl. 387 00:24:44,650 --> 00:24:50,300 Se konsa, sa a, se sa nou ap ale nan sèvi ak plis nan yon ti jan. 388 00:24:50,300 --> 00:24:58,220 >> Lojik oswa. Isit la yo se 2 nimewo binè, ak nimewo 2 sa yo 389 00:24:58,220 --> 00:25:00,780 yo trè reprezantan, depi yo reprezante tout sa posib 390 00:25:00,780 --> 00:25:07,290 konbinezon de Bits ou ta ka bezwen opere sou. 391 00:25:07,290 --> 00:25:13,540 Isit la, lè m 'or'd chak ti jan, nou ap jis ale nan konpare dwat desann. 392 00:25:13,540 --> 00:25:15,410 Se konsa, ki sou bò gòch nou gen yon 1 ak yon 1. 393 00:25:15,410 --> 00:25:20,510 Lè m 'lojik | sa yo, ki sa mwen pral jwenn? Yon sèl. 394 00:25:20,510 --> 00:25:25,320 Lè sa a, lojik | 0 ak 1 ki pral ban mwen? Yon sèl. 395 00:25:25,320 --> 00:25:27,840 Lojik 1 ak 0 a pwal menm bagay la, yon sèl. 396 00:25:27,840 --> 00:25:31,880 Lojik 0 | 0 ki pral ban m '0. 397 00:25:31,880 --> 00:25:37,300 Se konsa, ka a sèlman kote mwen jwenn 0 a se nan 0 a | 0 ka. 398 00:25:37,300 --> 00:25:40,020 Apre sa, ou ka panse a ki jis tankou sewòm oral ki lojik ou. 399 00:25:40,020 --> 00:25:44,830 Se konsa, si ou panse a 1 kòm vrè ak 0 kòm fo, menm bagay la aplike isit la. 400 00:25:44,830 --> 00:25:50,040 Se konsa, laverite oswa vre se vre; vre oubyen fo a se vre. 401 00:25:50,040 --> 00:25:57,150 Ki fo oswa ki vre se vre; ki fo oswa ki fo se bagay la sèlman ki la aktyèlman bay manti. 402 00:25:57,150 --> 00:26:00,100 Isit la nan egzanp lan ke ou ta dwe konnen 403 00:26:00,100 --> 00:26:05,160 kòm yon trè bon egzanp nan lè operatè lojik ap itilize yo. 404 00:26:05,160 --> 00:26:08,660 Isit la si nou oswa kapital 'A' ak Ox20, 405 00:26:08,660 --> 00:26:11,830 epi n ap gade nan sa yo nan yon dezyèm fwa, nou jwenn yon bagay. 406 00:26:11,830 --> 00:26:16,020 Men, si nou oswa miniskil 'yon' ak Ox20, nou jwenn yon bagay. 407 00:26:16,020 --> 00:26:26,750 Se konsa, kite a rale moute tab ASCII. 408 00:26:26,750 --> 00:26:34,000 Oke. Isit la nou wè ke 'A' se - 409 00:26:34,000 --> 00:26:36,920 isit la nou gen 'A' se desimal 65. 410 00:26:36,920 --> 00:26:45,120 Men, mwen pral ale ak ekzadesimal, ki se Ox41. 411 00:26:45,120 --> 00:26:48,280 Trè asire w nou te wè l 'nan klas la. Mwen panse ke nou wè sa nan klas 412 00:26:48,280 --> 00:26:52,730 ke li nan trè fasil konvèti soti nan ekzadesimal binè. 413 00:26:52,730 --> 00:26:55,280 Se konsa, isit la, si mwen vle mete 4 nan binè, 414 00:26:55,280 --> 00:26:59,550 Se jis pral fè 0100. 415 00:26:59,550 --> 00:27:03,620 Sa a se 1 an plas, kote 2 a, kote 4 la, kidonk sa a se 4. 416 00:27:03,620 --> 00:27:08,550 Lè sa a, mwen ka separe 1 nan binè, ki se pral fè 0001. 417 00:27:08,550 --> 00:27:14,280 Se konsa, sa a se pral yo dwe reprezantasyon nan 'A' nan binè. 418 00:27:14,280 --> 00:27:22,720 Lè w ap pran miniskil 'yon', li la kounye a pral fè Ox61, 419 00:27:22,720 --> 00:27:27,050 kote, divize sa yo moute nan binè li yo, se konsa yon 6 - 420 00:27:27,050 --> 00:27:37,830 Se pou yo aktyèlman fè li - ki gen la pa gen gonm? Gonm. 421 00:27:37,830 --> 00:27:48,220 Ox61. Se konsa, divize 6 nan binè a pwal 0 + 4 + 2 + 0. 422 00:27:48,220 --> 00:27:54,610 Apre sa, divize 1 a pwal 0001. 423 00:27:54,610 --> 00:27:56,520 Gade nan diferans ki genyen ant sa yo 2, 424 00:27:56,520 --> 00:28:04,250 nou wè ke diferans la sèlman ant yon miniskil ak yon kapital 'A' se ti jan sa a yon sèl. 425 00:28:04,250 --> 00:28:11,810 Se konsa, vini tounen nan isit la - oke. 426 00:28:11,810 --> 00:28:15,920 Vini tounen nan isit la, si nou gade a sa ki ti jan nan Ox20 se, 427 00:28:15,920 --> 00:28:22,210 Se konsa, divize Ox20 nan binè li yo, 428 00:28:22,210 --> 00:28:27,310 se 0010, 0000. 429 00:28:27,310 --> 00:28:33,470 Ox20, ti jan a sèlman ki se mete sa a ti jan ke nou ap konsène ak, 430 00:28:33,470 --> 00:28:38,210 ak oblije chanje ant kapital ak miniskil 'yon'. 431 00:28:38,210 --> 00:28:47,610 Si m 'oswa' A ', ki se yon sèl sa a,' A ', 432 00:28:47,610 --> 00:28:50,580 si mwen oswa 'A' ak Ox20, 433 00:28:50,580 --> 00:28:53,490 sa m 'pral jwenn? 434 00:28:53,490 --> 00:28:58,960 [Elèv, fèbl] >> 'yon' minuskul, paske li nan ale nan baskile sa a ti jan nan yon 1. 435 00:28:58,960 --> 00:29:04,170 Men, si mwen 'oswa' yon 'ak Ox20, ki sa ki mwen pral jwenn? 436 00:29:04,170 --> 00:29:08,780 Miniskil yon, paske jis oring 'yon' ak Ox20, 437 00:29:08,780 --> 00:29:14,580 Mwen jis yo pral oring ti jan sa a yon sèl nan yon 1; li a deja yon 1, se konsa li pa gen pwoblèm. 438 00:29:14,580 --> 00:29:17,960 Se konsa, nou jwenn 'yon' ak 'yon'. 439 00:29:17,960 --> 00:29:24,820 >> Lojik ak. Yon fwa ankò, nou ka panse a sa a kòm nou kontrepati ki lojik e. 440 00:29:24,820 --> 00:29:28,180 Ki sou bò gòch nou gen vre & vre. 441 00:29:28,180 --> 00:29:31,160 Li pral yo dwe vre, epi pou tout moun nan ka yo, 442 00:29:31,160 --> 00:29:36,270 fo & laverite oswa vre & fo, oswa fo & fo, 443 00:29:36,270 --> 00:29:38,550 Pa gen yonn nan bagay sa yo yo se verite. 444 00:29:38,550 --> 00:29:44,170 Se konsa, sa nou fini ap resevwa a se 1000. 445 00:29:44,170 --> 00:29:48,830 Se konsa, kounye a, isit la, isit la nan kote mwen te itilize lojik la konfyans se pa sa, 446 00:29:48,830 --> 00:29:52,230 kote nou te gen Ox20. 447 00:29:52,230 --> 00:29:54,350 Se konsa, sa a se Ox20. 448 00:29:54,350 --> 00:29:59,570 Koulye a, sa m 'vle fè a, lojik ~ nan Ox20. 449 00:29:59,570 --> 00:30:03,600 Sa ki pral baskile tout Bits yo. 450 00:30:03,600 --> 00:30:09,330 Se konsa, mwen gen 1101, 1111. 451 00:30:09,330 --> 00:30:18,940 Se konsa, 'A' anded ak ~ Ox20 ki pral ban m 'ki sa? 452 00:30:18,940 --> 00:30:22,430 Ti jan a sèlman nou vrèman bezwen panse osijè de se yon sèl sa a, 453 00:30:22,430 --> 00:30:26,020 depi, si tout nan Bits sa yo yo mete nan 1, 454 00:30:26,020 --> 00:30:29,000 Lè sa a, nou pral jwenn ekzakteman ki sa 'A' te ye a, 455 00:30:29,000 --> 00:30:31,260 eksepte pou, petèt, ki sa ki sa a ti jan se. 456 00:30:31,260 --> 00:30:34,460 Paske si li te yon 1, kounye a li pral yo dwe mete nan yon 0, 457 00:30:34,460 --> 00:30:39,810 paske tou sa sa a se, anded ak sa-a a pwal 0. 458 00:30:39,810 --> 00:30:43,280 Se konsa, sa se 'A' & ~ Ox20 pral bay m 'konsa? 459 00:30:43,280 --> 00:30:48,200 [Elèv yo reponn, fèbl] >> Ak sa ki 'yon' ak - li a 'A'. 460 00:30:48,200 --> 00:30:52,170 Ak sa ki se 'yon' & ~ Ox20 pral bay m 'konsa? 461 00:30:52,170 --> 00:30:56,720 'A.' Paske sa a se kounye a yon 1. 462 00:30:56,720 --> 00:30:59,570 Anding ak sa-a 0 ki pral fè l 'yon 0, 463 00:30:59,570 --> 00:31:02,530 e kounye a, nou pral yo ka resevwa yon 'A'. 464 00:31:02,530 --> 00:31:06,600 >> Tou de se 'A', 'ak dènye men pa piti nan kalite sa a, 465 00:31:06,600 --> 00:31:10,830 nou gen or. Li trè anpil tankou oswa, 466 00:31:10,830 --> 00:31:14,400 eksepte sa vle di sèlman oswa. 467 00:31:14,400 --> 00:31:18,420 Sa a se tankou sa ki anjeneral ou panse a kòm oswa nan mond reyèl la. 468 00:31:18,420 --> 00:31:23,190 Se konsa, ou fè swa 'x' oswa 'y', men pa toulède. 469 00:31:23,190 --> 00:31:28,700 Isit la 1 ^ 1 a pwal 0. 470 00:31:28,700 --> 00:31:33,650 Paske vre, sa a se - li pa travay kòm byen ak vre a ki lojik ak fo 471 00:31:33,650 --> 00:31:37,150 kòm lojik & ak oswa fè sa, 472 00:31:37,150 --> 00:31:40,100 men vre ^ vre se bay manti. 473 00:31:40,100 --> 00:31:44,810 Paske nou sèlman vle retounen vre si se sèlman youn nan yo se verite. 474 00:31:44,810 --> 00:31:50,950 Se konsa, 1 ^ 1 se 0. Ki sa ki sou 0 ^ 1? 475 00:31:50,950 --> 00:31:56,010 Se 1. 1 ^ 0 se 1, 0 ^ 0 se 0. 476 00:31:56,010 --> 00:32:03,890 Se konsa, anba tout sikonstans, 0 bit yon bagay 0 a pwal 0. 477 00:32:03,890 --> 00:32:10,270 1 lojik yon bagay 0 oswa 0 bit 1, 478 00:32:10,270 --> 00:32:14,660 si li nan | oswa ^, li pral yon 1, ak si li nan & li pral 0. 479 00:32:14,660 --> 00:32:20,850 Epi ka-a sèlman kote 1 lojik 1 se pa 1 a la avèk san konte oswa. 480 00:32:20,850 --> 00:32:24,580 Sa a 0110. 481 00:32:24,580 --> 00:32:36,520 Se konsa, isit la kounye a, lè l sèvi avèk or - Se konsa, nou ap tounen nan 20. 482 00:32:36,520 --> 00:32:43,480 'A' ^ Ox20 se sa yo 2 Bits nou ap konpare. 483 00:32:43,480 --> 00:32:50,020 Se konsa, yon 1 ^ 0 ki pral ban m 'yon ki sa? Yon yon sèl. 484 00:32:50,020 --> 00:32:58,430 'A' ^ Ox20 ki pral ban mwen? Miniskil yon. 485 00:32:58,430 --> 00:33:04,010 'A' ^ Ox20 ki pral ban mwen? Kapital A. 486 00:33:04,010 --> 00:33:09,310 Paske tou sa sa a ap fè, XORing sa a ak Ox20 487 00:33:09,310 --> 00:33:15,380 se efektivman ranvèrsan tou sa sa a ti jan se. 488 00:33:15,380 --> 00:33:21,240 Si sa a se yon 0, li la kounye a ale nan vin tounen yon 1. 489 00:33:21,240 --> 00:33:26,160 Depi sa a se yon 1, 1 ^ 1 se 0. 490 00:33:26,160 --> 00:33:33,280 Se konsa, nou yo yon 'te vin devni' A ', epi li te' A 'nou vin' yon '. 491 00:33:33,280 --> 00:33:36,910 Se konsa, or se yon fason reyèlman bon nan jis ranvèrsan ka-a. 492 00:33:36,910 --> 00:33:39,960 Ou jis vle repňte sou yon afè de lèt 493 00:33:39,960 --> 00:33:44,330 ak altènatif ka a nan chak karaktè yon sèl, 494 00:33:44,330 --> 00:33:50,680 ou jis or tout bagay ak Ox20. 495 00:33:50,680 --> 00:33:55,220 >> Koulye a, nou te kite chanjman. Kite chanjman se jis ale nan, fondamantalman, 496 00:33:55,220 --> 00:34:01,250 pouse tout nan nimewo ki nan, oswa sou bò goch la, ak insert 0 a dèyè yo. 497 00:34:01,250 --> 00:34:05,550 Se konsa, isit la nou gen 00001101. 498 00:34:05,550 --> 00:34:08,560 Nou pral pouse 3 0 a nan de dwat la, 499 00:34:08,560 --> 00:34:13,580 e nou jwenn 01101000. 500 00:34:13,580 --> 00:34:16,380 An tèm nonbinary, 501 00:34:16,380 --> 00:34:24,699 nou wè ke sa ki nan vrèman fè fas 13 kite-deplase ak 3, ki bay nou 104. 502 00:34:24,699 --> 00:34:32,530 Se konsa, bò gòch déplacement, nou wè isit la, x << y se fondamantalman x * 2 ^ y. 503 00:34:32,530 --> 00:34:40,139 13 * 2 ^ 3, 2 ^ 3 se 8, se konsa 13 * 8 se 104. 504 00:34:40,139 --> 00:34:45,679 Si ou jis panse osijè de binè an jeneral, ki jan chak chif, 505 00:34:45,679 --> 00:34:49,530 si nou kòmanse soti nan bò dwat la, li nan 1 nan plas, Lè sa a, kote 2 a, Lè sa a, kote 4 la. 506 00:34:49,530 --> 00:34:51,330 Se konsa, pa pouse nan 0 a soti nan bò dwat la, 507 00:34:51,330 --> 00:34:55,080 nou ap jis pouse bagay ki te nan plas 4 an nan plas 8 la, 508 00:34:55,080 --> 00:34:57,920 ak bagay ki te nan plas 8 la nan plas 16 la. 509 00:34:57,920 --> 00:35:01,280 Chak chanjman anplwaye jis miltipliye pa 2. Yeah? 510 00:35:01,280 --> 00:35:05,210 [Elèv] Kisa k ap pase si ou deplase pa 5? 511 00:35:05,210 --> 00:35:10,790 [Bowden] Si ou deplase pa 5 ou ta jis pèdi chif. 512 00:35:10,790 --> 00:35:15,410 Fatalman, li nan menm bagay la. Tankou, nonm antye yo, se sèlman 32 Bits, 513 00:35:15,410 --> 00:35:20,750 Se konsa, si ou ajoute 2 reyèlman gwo nonm antye yo, li jis pa anfòm nan yon nonb antye relatif. 514 00:35:20,750 --> 00:35:23,660 Se konsa, li menm bagay la isit la. Si ou deplase nan 5, 515 00:35:23,660 --> 00:35:25,650 nou ta jis pèdi ke yon moun. 516 00:35:25,650 --> 00:35:28,820 Epi sa a, kalite sa mwen vle di pa "apeprè," 517 00:35:28,820 --> 00:35:37,470 kote si ou chanjman twò lwen, ou pèdi miyèt moso. 518 00:35:37,470 --> 00:35:39,830 >> Ki dwat chanjman pral fè opoze a, 519 00:35:39,830 --> 00:35:43,090 kote nou ap ale nan bouskile 0 a nan fen a, 520 00:35:43,090 --> 00:35:48,400 ak pou objektif nou an, ranpli nan 0 a soti nan bò gòch la. 521 00:35:48,400 --> 00:35:52,910 Se konsa, fè sa, n ap fondamantalman ranvèse sa nou te deja fè. 522 00:35:52,910 --> 00:35:57,780 Apre sa, nou wè ke twa 0 la a sou bò dwat la gen sèlman tonbe, 523 00:35:57,780 --> 00:36:02,020 epi nou te pouse tout wout la nan 1101 a dwat la. 524 00:36:02,020 --> 00:36:08,380 Sa a se fè 104 >> 3, ki se, efektivman, x / 2 ^ y. 525 00:36:08,380 --> 00:36:11,200 Se konsa, kounye a, isit la, li nan yon lide menm jan an. 526 00:36:11,200 --> 00:36:18,720 Poukisa se li jis apeprè x / 2 ^ y, epi yo pa aktyèlman x / 2 ^ y? 527 00:36:18,720 --> 00:36:22,240 Paske si m 'te deplase pa 4, mwen ta gen tan pèdi yon 1. 528 00:36:22,240 --> 00:36:25,950 Fondamantalman, ki sa ou panse nan, jis panse divizyon nonb antye ki pè an jeneral. 529 00:36:25,950 --> 00:36:31,070 Se konsa, tankou 5/2 se 2. Li pa 2.5. 530 00:36:31,070 --> 00:36:35,000 Li nan lide la menm isit la. Lè nou divize pa 2, 531 00:36:35,000 --> 00:36:39,910 nou ka pèdi Bits enpè sou wout la. 532 00:36:39,910 --> 00:36:43,870 Se konsa, kounye a - sa a, se li pou lojik. Sa a tout sa ou bezwen konnen. 533 00:36:43,870 --> 00:36:46,340 Sonje sèvi ak ka yo nou te wè nan klas la, 534 00:36:46,340 --> 00:36:49,340 tankou yon mask ti jan se itil pou operatè lojik, 535 00:36:49,340 --> 00:36:53,220 oswa ou sèvi ak yo pou mask ti jan. 536 00:36:53,220 --> 00:36:58,620 Lèt majiskil ak lèt ​​miniskil, konvèsyon se yon egzanp trè Prototype. 537 00:36:58,620 --> 00:37:01,640 >> Oke, kidonk pezib atak debòde. 538 00:37:01,640 --> 00:37:05,110 Nenpòt moun ki sonje sa ki te mal ak fonksyon sa a? 539 00:37:05,110 --> 00:37:10,140 Avi nou te deklare yon etalaj de 12 bytes, 12 charaktèr, 540 00:37:10,140 --> 00:37:18,510 ak Lè sa a, nou kopye nan zòn de defans nou nan 12 charaktèr ba a fisèl tout antye. 541 00:37:18,510 --> 00:37:25,080 Se konsa, sa ki nan pwoblèm nan isit la? 542 00:37:25,080 --> 00:37:32,270 Nimewo a majik 12 yo ta dwe bèl anpil imedyatman pòp deyò kòm - poukisa 12? 543 00:37:32,270 --> 00:37:35,050 E si bar k ap pase yo plis pase 12 karaktè? 544 00:37:35,050 --> 00:37:41,200 E si bar se dè milyon de karaktè? 545 00:37:41,200 --> 00:37:46,010 Isit la pwoblèm nan se manki. Si ba a se lontan ase, 546 00:37:46,010 --> 00:37:50,330 li pral jis konplètman - 'c', 'C' pa pran swen ke li te sèlman 12 karaktè; 547 00:37:50,330 --> 00:37:53,280 'C' pa pran swen ke li pa ka anfòm ke anpil bytes. 548 00:37:53,280 --> 00:37:58,250 Li pral jis konplètman recouvrir Char, 12 bytes yo nou te resevwa lajan pou li, 549 00:37:58,250 --> 00:38:01,830 ak tout bagay sot pase l 'nan memwa ki pa aktyèlman fè pati nan ki zòn de defans 550 00:38:01,830 --> 00:38:06,520 ak tou sa ba a fisèl se. 551 00:38:06,520 --> 00:38:09,780 Se konsa, sa a te foto a nou te wè nan klas 552 00:38:09,780 --> 00:38:12,220 kote nou gen chemine nou an ap grandi. 553 00:38:12,220 --> 00:38:16,040 Ou ta dwe dwe itilize yo foto sa yo oswa pou w jwenn abitye ak yo ankò. 554 00:38:16,040 --> 00:38:21,260 Nou te pil nou an ap grandi, adrès memwa kòmanse nan 0 nan tèt la 555 00:38:21,260 --> 00:38:26,270 ak grandi desann nan renmen 4 milya de dola nan pati anba a. 556 00:38:26,270 --> 00:38:28,820 Nou gen nou etalaj 'C' yon kote nan memwa, 557 00:38:28,820 --> 00:38:32,260 Lè sa a, nou gen konsèy nou yo defann dwa anba li, 558 00:38:32,260 --> 00:38:38,720 ak Lè sa a, nou gen sa a sove konsèy ankadreman nan adrès retou nou yo ak chemine woutin paran nou an. 559 00:38:38,720 --> 00:38:40,800 Sonje sa adrès la retounen se? 560 00:38:40,800 --> 00:38:45,360 Se lè prensipal apèl yon foo fonksyon, rele yon bar fonksyon, 561 00:38:45,360 --> 00:38:48,100 inevitableman, ba retounen. 562 00:38:48,100 --> 00:38:52,610 Se konsa, lè ba retounen yo, yo bezwen konnen ke li la pral tounen nan foo ki rele l '. 563 00:38:52,610 --> 00:39:01,360 Se konsa, adrès la retounen se adrès ki nan fonksyon an ke li gen pou li retounen nan lè retounen yo fonksyon. 564 00:39:01,360 --> 00:39:05,830 Rezon ki fè li enpòtan pou atak debòde tanpon a se paske, yon bon, 565 00:39:05,830 --> 00:39:09,580 entru renmen chanje sa adrès retou. 566 00:39:09,580 --> 00:39:14,950 Olye pou yo ale tounen nan foo, mwen pral tounen nan tout kote HACKER a vle m 'pou tounen nan. 567 00:39:14,950 --> 00:39:17,760 Epi, yon bon, kote HACKER la souvan vle ale tounen nan 568 00:39:17,760 --> 00:39:22,400 se kòmanse nan zòn de defans la ke nou orijinal te fè. 569 00:39:22,400 --> 00:39:26,170 Se konsa, avi, ankò, Little Ameriken. 570 00:39:26,170 --> 00:39:28,490 Aparèy la ki se yon egzanp yon sistèm Ameriken mwen yo, 571 00:39:28,490 --> 00:39:34,140 Se konsa, se yon nonb antye oswa yon konsèy ki estoke ak bytes yo ranvèse. 572 00:39:34,140 --> 00:39:38,980 Se konsa, isit la nou wè - se sa a? Yeah. 573 00:39:38,980 --> 00:39:45,660 Nou wè Ox80, OxC0, Ox35, OxO8. 574 00:39:45,660 --> 00:39:48,250 Sonje ekzadesimal chif yo? 575 00:39:48,250 --> 00:39:50,640 Nou pa ranvèse ekzadesimal chif yo nan Little Ameriken, 576 00:39:50,640 --> 00:39:56,110 paske 2 ekzadesimal chif fè yon multiple yon sèl, epi nou ranvèse bytes yo. 577 00:39:56,110 --> 00:40:00,300 Se poutèt sa nou pa sere, tankou, 80530CO8. 578 00:40:00,300 --> 00:40:07,520 Nou sere, olye de sa, chak pè nan 2 chif, kòmanse nan bò dwat la. 579 00:40:07,520 --> 00:40:10,880 Adrès ki vle di adrès ki nan kòmansman an 580 00:40:10,880 --> 00:40:15,190 nan zòn de defans nou ke nou aktyèlman te vle kopi nan an plas an premye. 581 00:40:15,190 --> 00:40:19,230 Rezon ki fè la sa a, se itil se paske, sa ki si atakè a 582 00:40:19,230 --> 00:40:24,100 rive, olye pou yo gen yon kòd ki te jis 583 00:40:24,100 --> 00:40:27,060 yon kòd inonsan nan tankou, non yo oubyen yon bagay, 584 00:40:27,060 --> 00:40:33,900 sa ki si, olye de sa, ki fil yo te sèlman kèk kòd abitrè 585 00:40:33,900 --> 00:40:38,610 ki te tou sa yo te vle li fè? 586 00:40:38,610 --> 00:40:45,630 Se konsa, yo te kapab - Mwen pa ka panse a okenn lòt Kòd fre. 587 00:40:45,630 --> 00:40:47,780 Li ta ka anyen, menm si. Nenpòt Kòd dezas. 588 00:40:47,780 --> 00:40:51,440 Si yo te vle, yo te kapab jis fè yon bagay nan defo seg, men ki ta ka gratui. 589 00:40:51,440 --> 00:40:54,950 Yo toujou fè l 'bay Hack sistèm ou an. 590 00:40:54,950 --> 00:40:59,930 >> Okay. CS50 bibliyotèk la. 591 00:40:59,930 --> 00:41:04,800 Sa a se, fondamantalman, getInt, getString yo, tout moun ki fonksyon nou bay pou ou. 592 00:41:04,800 --> 00:41:10,630 Se konsa, nou gen Char fisèl *, e ke sa a distraksyon a ke nou pran kònen lwen 593 00:41:10,630 --> 00:41:12,450 nan kèk pwen pandan semès la. 594 00:41:12,450 --> 00:41:18,220 Sonje ke yon kòd se jis yon etalaj de karaktè. 595 00:41:18,220 --> 00:41:23,240 Se konsa, isit la nou wè yon vèsyon abreje nan getString. 596 00:41:23,240 --> 00:41:25,920 Ou ta dwe gade tounen nan li a sonje ki jan li la aktyèlman aplike. 597 00:41:25,920 --> 00:41:30,950 Detay kle yo, remake nou jwenn nan yon karaktè yon sèl nan yon moman 598 00:41:30,950 --> 00:41:34,570 soti nan estanda nan, ki se jis tankou nou sezisman nan klavye la. 599 00:41:34,570 --> 00:41:37,890 Se konsa, yon karaktè yon sèl nan yon moman, epi si nou jwenn karaktè twòp, 600 00:41:37,890 --> 00:41:40,580 Se konsa, si n + 1 gen plis pouvwa pase kapasite, 601 00:41:40,580 --> 00:41:44,140 Lè sa a, nou bezwen ogmante kapasite a nan zòn de defans nou an. 602 00:41:44,140 --> 00:41:47,780 Se konsa, isit la nou ap double gwosè a nan zòn de defans nou an. 603 00:41:47,780 --> 00:41:51,840 Epi ki kontinye ap mache, nou insert karaktè a nan zòn de defans nou an 604 00:41:51,840 --> 00:41:56,220 jiskaske nou resevwa yon nouvo liy oswa nan fen dosye oswa kèlkeswa sa, 605 00:41:56,220 --> 00:41:59,380 nan ka sa a, n ap fè ak fisèl la ak Lè sa a, getString a reyèl 606 00:41:59,380 --> 00:42:05,120 rkul memwa a, tankou si nou resevwa lajan twòp memwa li pral tounen ladan l epi retresi yon ti jan. 607 00:42:05,120 --> 00:42:08,830 Se konsa, nou pa montre ke, men lide prensipal la se 608 00:42:08,830 --> 00:42:11,960 li te li nan yon karaktè yon sèl nan yon tan. 609 00:42:11,960 --> 00:42:17,140 Li pa ka jis li nan yon bagay tout nan yon fwa, 610 00:42:17,140 --> 00:42:19,550 paske tanpon yo se sèlman ki gen yon gwosè sèten. 611 00:42:19,550 --> 00:42:26,590 Se konsa, si fisèl la ke li ap eseye antre nan zòn de defans la twò gwo, Lè sa a, li ta debòde. 612 00:42:26,590 --> 00:42:28,940 Se konsa, isit la nou anpeche ke pa sèlman lekti nan yon karaktè yon sèl 613 00:42:28,940 --> 00:42:33,750 nan yon lè ak ap grandi chak fwa nou bezwen. 614 00:42:33,750 --> 00:42:40,270 Se konsa, getInt ak lòt fonksyon yo bibliyotèk CS50 yo gen tandans sèvi ak getString 615 00:42:40,270 --> 00:42:42,310 nan en yo. 616 00:42:42,310 --> 00:42:45,370 Se konsa, mwen make bagay sa yo enpòtan isit la. 617 00:42:45,370 --> 00:42:49,460 Li rele getString yo ka resevwa yon fisèl. 618 00:42:49,460 --> 00:42:51,710 Si getString echwe pou pou retounen memwa, 619 00:42:51,710 --> 00:42:54,270 sonje ke getString mallocs yon bagay, se konsa nenpòt lè ou rele getString 620 00:42:54,270 --> 00:42:57,820 ou pa ta dwe (enkonpreansibl) gratis ki fil ke ou te resevwa. 621 00:42:57,820 --> 00:43:02,870 Se konsa, isit la, si li echwe pou pou malok yon bagay, nou retounen INT_MAX kòm jis yon drapo sa a, 622 00:43:02,870 --> 00:43:05,650 hey, nou pa t 'aktyèlman kapab jwenn yon nonb antye relatif. 623 00:43:05,650 --> 00:43:10,830 Ou ta dwe inyore sa m 'tounen vin jwenn ou, oswa 624 00:43:10,830 --> 00:43:15,540 ou pa ta dwe konsidere sa tankou yon opinyon ki valid. 625 00:43:15,540 --> 00:43:21,360 Finalman, an konsideran ke t 'reyisi, nou itilize sskanf ak sa drapo espesyal, 626 00:43:21,360 --> 00:43:23,820 ki vle di, premye matche ak yon nonb antye relatif, 627 00:43:23,820 --> 00:43:26,770 Lè sa a, matche ak nenpòt karaktè apre sa nonb antye ki pè. 628 00:43:26,770 --> 00:43:29,070 Se konsa, remake nou vle l 'bay egal a 1. 629 00:43:29,070 --> 00:43:32,940 Retounen Se konsa, sskanf konbyen alimèt si siksè te fè? 630 00:43:32,940 --> 00:43:37,010 Li pral retounen 1 si li avèk siksè matche yon nonb antye relatif, 631 00:43:37,010 --> 00:43:40,890 li pral retounen 0 si li pa t 'matche ak yon nonb antye, epi li pral retounen 2 632 00:43:40,890 --> 00:43:45,920 si li matche yon nonb antye relatif ki te swiv pa kèk karaktè. 633 00:43:45,920 --> 00:43:49,780 Se konsa, remake nou rekoumanse si nou matche ak anyen men 1. 634 00:43:49,780 --> 00:43:55,230 Se konsa, si nou antre nan 1, 2, 3, C, oswa 1, 2, 3, X, 635 00:43:55,230 --> 00:43:57,400 Lè sa a, 1, 2, 3 ta jwenn ki estoke nan nonb antye ki pè a, 636 00:43:57,400 --> 00:43:59,620 X ta jwenn ki estoke nan karaktè a, 637 00:43:59,620 --> 00:44:06,410 sskanf ta retounen 2, e nou ta rekoumanse, paske nou sèlman vle yon nonb antye relatif. 638 00:44:06,410 --> 00:44:09,810 >> Byen vit mouche nan HTML, HTTP, CSS. 639 00:44:09,810 --> 00:44:15,340 Ipèrtèkst markeup lang se estrikti a ak Semantics nan entènèt la. 640 00:44:15,340 --> 00:44:19,960 Isit la se egzanp ki soti nan konferans kote nou gen HTML Tags. 641 00:44:19,960 --> 00:44:22,110 Nou gen Tags tèt, plak kò, 642 00:44:22,110 --> 00:44:27,770 nou gen egzanp sou etikèt vid kote nou aktyèlman pa gen yon kòmansman ak fèmen tag, 643 00:44:27,770 --> 00:44:30,820 nou jis gen lyen ak imaj. 644 00:44:30,820 --> 00:44:38,480 Pa gen okenn tag imaj fèmen; gen nan jis yon tag sèl ki akonpli tout bagay tag a bezwen fè. 645 00:44:38,480 --> 00:44:41,950 Lyen ki se yon egzanp; nou pral wè ki jan w an kontak ak CSS, 646 00:44:41,950 --> 00:44:45,910 script la ki se yon egzanp ki jan ou genyen lyen nan yon JavaScript ekstèn. 647 00:44:45,910 --> 00:44:53,100 Li trè senp, epi sonje, HTML se pa yon lang programmation. 648 00:44:53,100 --> 00:44:58,250 Isit la, sonje ki jan ou ta defini yon fòm oswa omwen ki sa sa a ap fè? 649 00:44:58,250 --> 00:45:01,740 Tankou yon fòm gen yon aksyon ak yon metòd. 650 00:45:01,740 --> 00:45:06,210 Metòd yo ou pral sèlman janm wè yo jwenn ak POST. 651 00:45:06,210 --> 00:45:09,040 Se konsa, jwenn se vèsyon an kote vin bagay la mete yo nan URL la. 652 00:45:09,040 --> 00:45:11,680 POST se kote ki sa li pa mete nan URL la. 653 00:45:11,680 --> 00:45:18,520 Olye de sa, nenpòt done ki sòti nan fòm nan se eleman pi plis kache nan demann lan HTTP. 654 00:45:18,520 --> 00:45:22,390 Se konsa, isit la, aksyon defini kote demann lan HTTP ale. 655 00:45:22,390 --> 00:45:27,490 Ki kote li pral se google.com / rechèch la. 656 00:45:27,490 --> 00:45:32,890 Metòd. Sonje diferans ki genyen ant jwenn ak POST, 657 00:45:32,890 --> 00:45:37,200 , epi, jis di kòm yon egzanp, si ou vle makè yon bagay. 658 00:45:37,200 --> 00:45:40,660 Ou pa janm yo pral kapab bookmark yon URL POST 659 00:45:40,660 --> 00:45:44,970 paske done yo pa enkli nan URL la. 660 00:45:44,970 --> 00:45:49,790 >> HTTP, kounye a, se Pwotokòl Transfè ipèrtèkst. 661 00:45:49,790 --> 00:45:54,080 Pwotokòl la Transfè ipèrtèkst, ou ta atann li yo transfere 662 00:45:54,080 --> 00:45:57,710 Ipèrtèkst markeup lang, epi li fè. 663 00:45:57,710 --> 00:46:00,170 Men, li tou transfere nenpòt ki imaj ou jwenn sou entènèt la, 664 00:46:00,170 --> 00:46:05,400 nenpòt ki downloads ou fè kòmanse kòm yon demann HTTP. 665 00:46:05,400 --> 00:46:10,350 Se konsa, HTTP se jis lang lan nan World Wide Web la. 666 00:46:10,350 --> 00:46:15,610 Ak isit la ou bezwen rekonèt sa a kalite yon demann HTTP. 667 00:46:15,610 --> 00:46:19,300 Isit la HTTP/1.1 sou bò jis di sa a, se vèsyon an 668 00:46:19,300 --> 00:46:21,570 nan pwotokòl la mwen lè l sèvi avèk. 669 00:46:21,570 --> 00:46:25,770 Li nan bèl anpil toujou pral fè HTTP/1.1, menm jan ou ap wè li. 670 00:46:25,770 --> 00:46:30,110 Lè sa a, nou wè ke sa a te jwenn, altènatif la ke yo te POST, ke ou ta ka wè. 671 00:46:30,110 --> 00:46:40,790 Apre sa, URL la ke mwen te ap eseye ale nan te www.google.com/search?q = bla, bla, bla. 672 00:46:40,790 --> 00:46:44,240 Se konsa, sonje ke sa a, q nan kesyon mak = bla bla bla, 673 00:46:44,240 --> 00:46:49,040 se sòt nan bagay ki soumèt pa yon fòm. 674 00:46:49,040 --> 00:46:51,830 Repons lan li ta ka tounen vin jwenn mwen ta gade yon bagay tankou sa a. 675 00:46:51,830 --> 00:46:54,050 Yon fwa ankò, kòmanse avèk pwotokòl la, ki se pral fè sa, 676 00:46:54,050 --> 00:46:59,190 ki te swiv pa kòd la estati. Isit la li nan 200 OK. 677 00:46:59,190 --> 00:47:05,060 E finalman, ap paj wèb la pou m 'aktyèlman mande pou dwe swiv. 678 00:47:05,060 --> 00:47:08,210 Kòd la sitiyasyon posib ou ta ka wè, epi ou ta dwe konnen plizyè nan yo. 679 00:47:08,210 --> 00:47:12,770 200 OK ou te pwobableman gen wè anvan. 680 00:47:12,770 --> 00:47:17,830 403 entèdi, 404 pa jwenn, 500 Entèn sèvè Erè 681 00:47:17,830 --> 00:47:22,140 se nòmalman si ou ale nan yon sit entènèt ak yon bagay nan kase oubyen yon aksidan Kòd PHP yo, 682 00:47:22,140 --> 00:47:24,930 Lè nou konsidere ke nan aparèy la nou gen ki gwo bwat zoranj 683 00:47:24,930 --> 00:47:27,830 ki vini leve, li di, tankou, yon bagay ki mal, kòd sa a pa travay 684 00:47:27,830 --> 00:47:30,380 oswa sa a fonksyon a move. 685 00:47:30,380 --> 00:47:33,230 Anjeneral sou sit entènèt pa ta vle nou konnen sa fonksyon yo aktyèlman move, 686 00:47:33,230 --> 00:47:37,880 Se konsa, olye yo pral jis ba ou 500 Erè sèvè Entèn. 687 00:47:37,880 --> 00:47:43,050 >> TCP / IP se 1 kouch anba HTTP. 688 00:47:43,050 --> 00:47:47,550 Sonje ke gen entènèt deyò nan World Wide Web la. 689 00:47:47,550 --> 00:47:52,270 Menm jan ak si ou jwe yon jwèt sou entènèt ki pa ale nan HTTP, 690 00:47:52,270 --> 00:47:55,740 li pral nan yon diferan - li la toujou lè l sèvi avèk entènèt la, 691 00:47:55,740 --> 00:47:58,900 men li pa sèvi ak HTTP. 692 00:47:58,900 --> 00:48:02,470 HTTP se jis yon egzanp sou pwotokòl bati sou TCP / IP. 693 00:48:02,470 --> 00:48:07,820 IP literalman vle di pwotokòl entènèt. 694 00:48:07,820 --> 00:48:11,500 Chak òdinatè gen yon adrès IP, yo moun sa yo ki 4-chif bagay 695 00:48:11,500 --> 00:48:16,510 tankou 192.168.2.1, oswa kèlkeswa sa; ki gen tandans yo dwe yon yon sèl nan zòn nan. 696 00:48:16,510 --> 00:48:23,390 Men sa se modèl la nan yon adrès IP. 697 00:48:23,390 --> 00:48:29,060 Se konsa, dns a, Domèn Non Sèvis, 698 00:48:29,060 --> 00:48:33,410 se sa ki tradui bagay sa yo tankou google.com nan yon adrès aktyèl IP. 699 00:48:33,410 --> 00:48:37,700 Se konsa, si ou tape ke IP adrès nan yon URL, 700 00:48:37,700 --> 00:48:40,850 ki ta mennen nou tounen nan Google, men ou yo gen tandans pa sonje bagay sa yo. 701 00:48:40,850 --> 00:48:45,470 Ou gen tandans sonje google.com pito. 702 00:48:45,470 --> 00:48:51,560 Bagay la pase nou gen se pò yo, kote sa a se pati nan tchp nan IP. 703 00:48:51,560 --> 00:48:54,880 Tchp fè plis ankò. Reflechi sou, tankou, ou gen ou navigatè kouri sou entènèt. 704 00:48:54,880 --> 00:48:58,670 Petèt ou gen kèk kouri aplikasyon imel; 705 00:48:58,670 --> 00:49:02,150 petèt ou gen kèk lòt pwogram ki sèvi ak kouri sou entènèt la. 706 00:49:02,150 --> 00:49:05,090 Yo tout bezwen aksè a entènèt la, 707 00:49:05,090 --> 00:49:08,100 men òdinatè w lan sèlman gen 1 kat fil oswa kèlkeswa sa. 708 00:49:08,100 --> 00:49:10,780 Se konsa, pò yo se wout la ke nou ap kapab fann moute 709 00:49:10,780 --> 00:49:13,550 ki jan aplikasyon sa yo, se kapab sèvi ak entènèt la. 710 00:49:13,550 --> 00:49:17,230 Chak aplikasyon vin 1 pò espesifik ke li ka koute sou li a, 711 00:49:17,230 --> 00:49:19,670 ak pa default, HTTP sèvi ak pò 80. 712 00:49:19,670 --> 00:49:22,410 Gen sèten sèvis imel sèvi ak 25. 713 00:49:22,410 --> 00:49:24,490 Yo menm ki ba-resansman gen tandans yo dwe rezève. 714 00:49:24,490 --> 00:49:29,270 Ou se anjeneral kapab jwenn pi wo-konte yo menm pou tèt ou. 715 00:49:29,270 --> 00:49:32,010 >> CSS, Dra Style kaskad. 716 00:49:32,010 --> 00:49:36,030 Nou style paj wèb ak CSS, pa avèk HTML. 717 00:49:36,030 --> 00:49:38,440 Genyen 3 kote ou ka mete CSS ou. 718 00:49:38,440 --> 00:49:46,300 Li kapab aliye, ant Tags style, oswa nan yon dosye konplètman separe ak Lè sa a lye pous 719 00:49:46,300 --> 00:49:48,470 Ak isit la se jis yon egzanp nan CSS. 720 00:49:48,470 --> 00:49:50,450 Ou ta dwe rekonèt modèl sa a, 721 00:49:50,450 --> 00:49:54,310 kote premye egzanp lan se nou ap matche tag nan kò, 722 00:49:54,310 --> 00:49:56,680 ak isit la nou ap Santralizasyon tag nan kò. 723 00:49:56,680 --> 00:50:00,420 Dezyèm Egzanp lan, nou ap matche bagay la 724 00:50:00,420 --> 00:50:04,740 ak footer ID, epi nou ap aplike kèk Styles nan sa. 725 00:50:04,740 --> 00:50:07,310 Remake ID footer tèks ki sarmoniz sou bò goch la, 726 00:50:07,310 --> 00:50:09,840 Lè nou konsidere ke kò tèks-sarmoniz sant. 727 00:50:09,840 --> 00:50:13,180 Footer se anndan kò a. 728 00:50:13,180 --> 00:50:16,470 Li pral, olye de sa, tèks-aliman kite, menm si kò di sant tèks-aliman. 729 00:50:16,470 --> 00:50:18,880 Sa a se pati nan kaskad tout nan li. 730 00:50:18,880 --> 00:50:22,110 Ou ka gen - ou ka presize estil pou kò a, 731 00:50:22,110 --> 00:50:25,320 ak Lè sa a, bagay sa yo nan kò a ou ka presize estil ki gen plis detay, 732 00:50:25,320 --> 00:50:28,160 ak bagay sa yo travay menm jan ou atann. 733 00:50:28,160 --> 00:50:34,420 Prèskripteur CSS ki gen plis detay gen priyorite. 734 00:50:34,420 --> 00:50:46,140 Mwen panse ke sa a, se li. 735 00:50:46,140 --> 00:50:49,260 >> [Ali nam] Hi tout moun. Si mwen ka jwenn atansyon ou. 736 00:50:49,260 --> 00:50:53,990 Mwen se Ali ak mwen pral yo ale nan PHP ak SQL reyèlman vit. 737 00:50:53,990 --> 00:51:00,310 Se konsa, nou kapab kòmanse. PHP se kout pou PHP: ipèrtèks preproseseur. 738 00:51:00,310 --> 00:51:03,730 Apre sa, kòm nou tout ta dwe konnen, li nan yon sèvè-bò lang scripting, 739 00:51:03,730 --> 00:51:06,800 epi nou sèvi ak li pou fen a tounen nan sit entènèt, 740 00:51:06,800 --> 00:51:12,540 ak ki jan li fè sa yon anpil nan kalkil yo, yon pati nan dèyè-sèn. 741 00:51:12,540 --> 00:51:17,510 Sentaks. Li pa nan renmen C, sipriz, sipriz. 742 00:51:17,510 --> 00:51:22,060 Li toujou gen kòmanse ak, si ou ka wè, - Mwen pa ka deplase nan la devan yo. 743 00:51:22,060 --> 00:51:31,340 Ou ka wè ou bezwen kalite yo nan nouvo aparèy òtopedik ak Lè sa a, ou bezwen tou php a?. 744 00:51:31,340 --> 00:51:35,780 Sa a toujou ki jan ou gen ankadreman tèks PHP ou a, kòd PHP ou. 745 00:51:35,780 --> 00:51:39,180 Se konsa, li pa ka jis fè tankou C, kote ou kalite mete l 'sou premye. 746 00:51:39,180 --> 00:51:42,290 Ou bezwen toujou antoure li. 747 00:51:42,290 --> 00:51:47,610 Koulye a, pi gwo sentaks la se ke tout varyab bezwen kòmanse ak karaktè nan $. 748 00:51:47,610 --> 00:51:49,490 Ou bezwen fè li lè w ap defini yo; sa ou bezwen fè li 749 00:51:49,490 --> 00:51:51,860 lè w ap refere li a yo pita sou. 750 00:51:51,860 --> 00:51:56,510 Ou toujou bezwen ke $. Li nan nouvo pi bon zanmi ou a, bèl anpil. 751 00:51:56,510 --> 00:52:01,690 Ou pa - kontrèman ak C, ou pa bezwen mete ki kalite kalite varyab li ye. 752 00:52:01,690 --> 00:52:04,940 Se konsa, pandan w ap fè bezwen $ a, ou pa bezwen mete, tankou, 753 00:52:04,940 --> 00:52:09,470 x Int oswa fisèl y, ètchetra, ètchetra. 754 00:52:09,470 --> 00:52:11,490 Se konsa, yon diferans ti tay. 755 00:52:11,490 --> 00:52:15,590 Kòm yon rezilta nan sa a, sa vle di ke PHP se yon kalite chetif. 756 00:52:15,590 --> 00:52:19,310 PHP se yon lang di ki kalite chetif, e li te chetif tape varyab. 757 00:52:19,310 --> 00:52:24,020 Nan lòt mo, sa vle di ke ou ka chanje ant diferan kalite kalite varyab. 758 00:52:24,020 --> 00:52:27,230 Ou ka magazen nimewo ou 1 kòm yon Int, 759 00:52:27,230 --> 00:52:29,650 ou ka magazen li kòm yon fisèl, epi ou ka magazen li kòm yon flote, 760 00:52:29,650 --> 00:52:33,550 ak tout bagay sa yo pral ladan nimewo 1. 761 00:52:33,550 --> 00:52:36,080 Menm si w ap estoke l 'nan diferan fòm, 762 00:52:36,080 --> 00:52:39,120 li la toujou - ki kalite varyab yo ap toujou kenbe nan fen an. 763 00:52:39,120 --> 00:52:41,540 Se konsa, si ou gade isit la, si ou sonje soti nan pset 7, 764 00:52:41,540 --> 00:52:43,500 anpil nan pwobableman ou te gen pwoblèm ak sa. 765 00:52:43,500 --> 00:52:47,280 De mirak egal, 3 siy egal, 4 siy egal-ego. 766 00:52:47,280 --> 00:52:49,990 Oke, pa gen okenn 4 siy egal, men gen 2 ak 3. 767 00:52:49,990 --> 00:52:53,320 Ou sèvi ak 2 siy egal a tcheke valè yo. 768 00:52:53,320 --> 00:52:55,830 Li ka tcheke nan tout kalite. 769 00:52:55,830 --> 00:52:58,770 Se konsa, si ou ka wè nan premye egzanp lan, 770 00:52:58,770 --> 00:53:02,210 Mwen gen num_int num_string ==. 771 00:53:02,210 --> 00:53:06,710 Se konsa, Int ou ak fil ou yo tou de, teknikman, 1, 772 00:53:06,710 --> 00:53:10,790 men yo ap diferan. Men, pou egal a doub, li pral toujou pase. 773 00:53:10,790 --> 00:53:15,510 Sepandan, pou egal a trip, li tcheke valè kòm byen ke kalite yo diferan. 774 00:53:15,510 --> 00:53:18,760 Sa vle di ke li pa k ap pase yo pase nan ka sa a dezyèm isit la, 775 00:53:18,760 --> 00:53:22,350 kote ou te lè l sèvi avèk 3 siy egal pito. 776 00:53:22,350 --> 00:53:26,590 Se konsa, sa a, se yon gwo diferans ke ou ta dwe tout yo te montre kounye a. 777 00:53:26,590 --> 00:53:31,570 >> Chèn seri a se yon lòt bagay pwisan ou ka itilize nan PHP. 778 00:53:31,570 --> 00:53:34,080 Li nan fondamantalman jis sa a notasyon dot sou lamen, 779 00:53:34,080 --> 00:53:36,230 e ke sa a kouman ou ka mare strings yo ansanm. 780 00:53:36,230 --> 00:53:40,800 Se konsa, si ou gen chat epi ou gen chen, epi ou vle mete strings yo 2 ansanm, 781 00:53:40,800 --> 00:53:44,080 ou ka itilize peryòd la, e ke sa a kalite kijan li fonksyone. 782 00:53:44,080 --> 00:53:46,660 Ou kapab tou jis mete yo pwochen youn ak lòt, 783 00:53:46,660 --> 00:53:49,030 jan ou ka wè isit la nan egzanp anba a, 784 00:53:49,030 --> 00:53:51,610 kote mwen te repete fisèl 1, fisèl espas 2. 785 00:53:51,610 --> 00:53:56,930 PHP pral konnen ranplase yo tankou sa yo. 786 00:53:56,930 --> 00:53:59,780 Ranje. Koulye a, nan PHP, gen 2 diferan kalite ranje. 787 00:53:59,780 --> 00:54:03,180 Ou ka gen ranje regilye, epi ou ka genyen tou ranje asosyatif, 788 00:54:03,180 --> 00:54:06,040 e nou pral yo ale nan yo kounye a. 789 00:54:06,040 --> 00:54:08,280 Ranje regilye yo se jis sa a nan C, 790 00:54:08,280 --> 00:54:11,240 yo ak pou ou gen endis ki konte. 791 00:54:11,240 --> 00:54:13,160 Kounye a, nou ap jis ale nan kreye youn, li mete - 792 00:54:13,160 --> 00:54:15,500 Se konsa, sa a se ki jan nou kreye yon etalaj vid, lè sa a nou ap ale nan 793 00:54:15,500 --> 00:54:17,310 mete nan nimewo a endèks 0. 794 00:54:17,310 --> 00:54:19,200 Nou pral mete nimewo a 6, valè a 6. 795 00:54:19,200 --> 00:54:21,500 Ou ka wè li nan pati anba a isit la. 796 00:54:21,500 --> 00:54:24,240 Where's - nan nimewo endèks 1 nou pral mete nimewo valè 4, 797 00:54:24,240 --> 00:54:26,720 yo ak pou ou ka wè gen yon 6, gen yon 4, 798 00:54:26,720 --> 00:54:29,160 ak Lè sa a, kòm nou ap enprime bagay sa yo, 799 00:54:29,160 --> 00:54:33,550 lè nou eseye ak ekri ak lèt ​​detache valè a ki estoke nan nimewo endèks 0, 800 00:54:33,550 --> 00:54:36,900 Lè sa a, nou pral wè valè a 6 ke yo te enprime deyò. Cool? 801 00:54:36,900 --> 00:54:40,160 Se konsa, sa a, se ranje regilye pou ou. 802 00:54:40,160 --> 00:54:42,750 Yon lòt fason ou ka tou ajoute bagay sa yo ranje regilye kounye a 803 00:54:42,750 --> 00:54:44,780 se ou ka jis kole yo nan fen an. 804 00:54:44,780 --> 00:54:47,240 Sa vle di ke ou pa bezwen presize endèks la espesifik. 805 00:54:47,240 --> 00:54:51,000 Ou ka wè nimewo, ak Lè sa a, nan parantèz yo kare gen nan pa gen endèks espesifye. 806 00:54:51,000 --> 00:54:56,270 Epi li pral konnen - PHP pral konnen jis ajoute li nan fen a nan lis la, pwochen plas la gratis. 807 00:54:56,270 --> 00:54:59,190 Se konsa, ou ka wè 1 nan dwa gen nan ke 0 tach, 808 00:54:59,190 --> 00:55:02,690 2 an te ale dwa gen nan plas la an premye. 809 00:55:02,690 --> 00:55:04,690 3 a ale - se te ajoute gen kòm byen. 810 00:55:04,690 --> 00:55:06,720 Se konsa, ki kalite fè sans. W ap sèlman toujou ap ajoute li, 811 00:55:06,720 --> 00:55:09,360 ak Lè sa a, lè nou ap eko endèks la nan nimewo 1, 812 00:55:09,360 --> 00:55:13,080 li pral enprime soti valè a 2. 813 00:55:13,080 --> 00:55:16,800 >> Lè sa a, nou gen ranje ki gen ranje asosyatif. 814 00:55:16,800 --> 00:55:19,370 Ranje asosyatif, olye pou yo gen endis nimerik, 815 00:55:19,370 --> 00:55:23,630 sa yo fè a se yo, yo gen endis ki pa fisèl. 816 00:55:23,630 --> 00:55:25,670 Ou ka wè, olye pou yo - Mwen te debarase m de tout moun sa yo endis nimewo, 817 00:55:25,670 --> 00:55:32,140 e kounye a, li la key1, key2, key3, epi yo ap nan quotes doub yo siyifi ke yo ap tout strings. 818 00:55:32,140 --> 00:55:34,470 Se konsa, nou ka gen yon egzanp sou sa a. 819 00:55:34,470 --> 00:55:38,790 Egzanp lan nan sa a se ke nou gen tf a, e ke sa a non an Konpayi paran yo. 820 00:55:38,790 --> 00:55:42,030 Nou pral mete "Ali" kòm non an, nan endèks la, kalori manje, 821 00:55:42,030 --> 00:55:47,640 nou ka mete yon Int tan sa a olye pou yo yon kòd, 822 00:55:47,640 --> 00:55:52,240 ak Lè sa a, nan renmen nan endèks, nou ka mete yon etalaj tout andedan nan li. 823 00:55:52,240 --> 00:55:55,490 Se konsa, sa a se kalite - li nan yon konsèp ki sanble ak ki jan nou te gen 824 00:55:55,490 --> 00:55:58,930 endis ak nimewo, men kounye a nou kapab chanje endis yo alantou 825 00:55:58,930 --> 00:56:03,890 fè yo kòm strings pito. 826 00:56:03,890 --> 00:56:06,070 Ou kapab tou fè sa, san konte jis fè li endividyèlman, 827 00:56:06,070 --> 00:56:09,400 ou ka fè li tout nan yon sèl moso. Se konsa, ou ka wè ke tf nan ki etalaj, 828 00:56:09,400 --> 00:56:13,350 ak Lè sa a, nou mete yo tout nan yon sèl jeyan fikse bracket kare. 829 00:56:13,350 --> 00:56:15,220 Se konsa, ki kapab ale pi vit sou bagay yo. 830 00:56:15,220 --> 00:56:19,730 Li nan plis nan yon chwa stylistic pase pa. 831 00:56:19,730 --> 00:56:21,550 Nou gen pasan tou. 832 00:56:21,550 --> 00:56:26,020 Nan C nou gen pasan ki travay tankou sa a. 833 00:56:26,020 --> 00:56:29,690 Nou te gen etalaj nou an, epi nou te ale soti nan endèks 0 a nan fen lis la, 834 00:56:29,690 --> 00:56:31,740 epi nou ekri ak lèt ​​detache li tout, dwa? 835 00:56:31,740 --> 00:56:33,880 Eksepte pwoblèm nan se, pou ranje asosyatif, 836 00:56:33,880 --> 00:56:36,610 nou pa nesesèman konnen sa yo endis nimerik 837 00:56:36,610 --> 00:56:39,610 paske kounye a nou gen endis yo fisèl. 838 00:56:39,610 --> 00:56:44,800 Koulye a, nou sèvi ak pasan fortch, ki, ankò, ou èspere ke yo itilize nan pset 7. 839 00:56:44,800 --> 00:56:48,930 Pasan fortch pral jis konnen chak pati yon sèl nan lis la. 840 00:56:48,930 --> 00:56:52,450 Apre sa, li pa gen yo konnen egzakteman nimerik endèks la ki di ou gen. 841 00:56:52,450 --> 00:56:56,490 Se konsa, ou gen sentaks la fortch, donk li fortch, ou mete etalaj la. 842 00:56:56,490 --> 00:57:00,430 Se konsa, etalaj mwen rele pset, ak Lè sa a, kòm, pawòl Bondye a kòm, 843 00:57:00,430 --> 00:57:04,530 ak Lè sa a, ou mete sa a varyab lokal pou yon ti tan ke ou ap ale nan sèvi ak 844 00:57:04,530 --> 00:57:10,690 jis pou bagay la espesifik ki k ap pase yo kenbe espesifik la - 845 00:57:10,690 --> 00:57:14,770 yon sèl egzanp oswa yon sèl seksyon nan etalaj la. 846 00:57:14,770 --> 00:57:18,350 Pset NUM pral kenbe 1, ak Lè sa a, petèt li ap kenbe nimewo a 6, 847 00:57:18,350 --> 00:57:20,410 ak Lè sa a li pral kenbe nimewo 2. 848 00:57:20,410 --> 00:57:26,630 Men, li la garanti yo ale nan tout valè yon sèl sa a, se nan etalaj la. 849 00:57:26,630 --> 00:57:30,530 Fonksyon ki itil ke ou ta dwe konnen nan PHP se mande pou la, 850 00:57:30,530 --> 00:57:35,880 Se konsa, ki fè asire w ke w ap ki gen ladan sèten dosye, eko, sòti, vid. 851 00:57:35,880 --> 00:57:40,490 Mwen trè rekòmande pou ou gade nan pset 7 ak gade nan fonksyon sa yo. 852 00:57:40,490 --> 00:57:42,810 Ou ta ka gen konnen sa yo, 853 00:57:42,810 --> 00:57:47,060 Se konsa, mwen ta definitivman konnen ki sa, egzakteman, sa yo ki, yo tout fè. 854 00:57:47,060 --> 00:57:50,080 >> Epi, koulye a nou pral yo ale nan sijè ki abòde vrèman byen vit. 855 00:57:50,080 --> 00:57:53,490 Nan sijè ki abòde, PHP se kalite yon bagay Funky, kontrèman ak C, 856 00:57:53,490 --> 00:57:56,170 yo ak pou nou ap jis ale yo ale nan li byen vit. 857 00:57:56,170 --> 00:57:58,930 Se konsa, kite a di nou kòmanse nan ki flèch ke nou gen la. 858 00:57:58,930 --> 00:58:02,900 Apre sa, nou pral kòmanse ak $ mwen. Se konsa, varyab la 'mwen' a pwal 0, 859 00:58:02,900 --> 00:58:06,730 e nou jis ale nan kenbe enprime l 'nan ke gwo bwat blan sou la. 860 00:58:06,730 --> 00:58:09,220 Nou pwal kòmanse ak i0, ak Lè sa a, nou pral repete l '. 861 00:58:09,220 --> 00:58:12,670 Se konsa, gen nan 0 a. 862 00:58:12,670 --> 00:58:15,210 Lè sa a, nou pral enkreman li pa pou bouk la, 863 00:58:15,210 --> 00:58:17,810 ak Lè sa a, li pral yo dwe valè de 1. 864 00:58:17,810 --> 00:58:20,070 Youn nan se pi piti pase 3, se konsa li pral pase nan ke pou bouk, 865 00:58:20,070 --> 00:58:23,230 ak Lè sa a, nou pral wè l 'enprime ankò. 866 00:58:23,230 --> 00:58:25,520 Nou pral enkreman l 'ankò nan 2, 867 00:58:25,520 --> 00:58:29,860 ak 2 se mwens pase 3, se konsa li pral pase a pou bouk, epi li pral ekri ak lèt ​​detache 2 a. 868 00:58:29,860 --> 00:58:35,100 Lè sa a, ou pral sonje ke 3 se pa mwens pase 3, se konsa nou pral kraze soti nan la pou bouk. 869 00:58:35,100 --> 00:58:40,050 Se konsa, kounye a nou te quitté, ak Lè sa a, nou pral ale nan aFunction. 870 00:58:40,050 --> 00:58:45,010 Oke. Se konsa, ou gen sonje ke varyab sa a ke nou te kreye, 871 00:58:45,010 --> 00:58:48,270 'mwen' varyab la, se pa sa lokalman scoped. 872 00:58:48,270 --> 00:58:50,280 Sa vle di ke li pa lokal yo bouk la, 873 00:58:50,280 --> 00:58:58,060 ak varyab sa a nou ka toujou jwenn aksè nan ak chanje apre sa, epi li ap toujou gen efikas. 874 00:58:58,060 --> 00:59:02,160 Se konsa, si ou ale nan fonksyon an kounye a, ou ap wè ke nou menm tou nou sèvi ak 'mwen' varyab la, 875 00:59:02,160 --> 00:59:05,320 epi nou ap ale nan enkreman 'mwen' + +. 876 00:59:05,320 --> 00:59:09,410 Ou ta panse, an premye, ki baze sou C, ki sa a, se yon kopi 'mwen' varyab la. 877 00:59:09,410 --> 00:59:12,830 Li se yon bagay totalman diferan, ki se kòrèk. 878 00:59:12,830 --> 00:59:16,560 Se konsa, lè nou enprime li, nou ap ale nan ekri ak lèt ​​detache 'mwen' + +, ki se ale nan ekri ak lèt ​​detache soti ke 4, 879 00:59:16,560 --> 00:59:19,640 ak Lè sa a, nou pral - regrèt. 880 00:59:19,640 --> 00:59:22,030 Lè sa a, nou pral fini soti nan ki fonksyon, 881 00:59:22,030 --> 00:59:24,820 e nou pral yo dwe kote ki flèch se kounye a. 882 00:59:24,820 --> 00:59:29,190 Sa vle di ke lè sa a, sepandan, menm si fonksyon an chanje valè a nan 'mwen', 883 00:59:29,190 --> 00:59:32,620 li pa t 'chanje deyò nan fonksyon an, 884 00:59:32,620 --> 00:59:35,060 paske fonksyon an gen yon sijè ki abòde apa a. 885 00:59:35,060 --> 00:59:38,960 Sa vle di ke lè nou eko 'mwen', li pa te chanje nan sijè ki abòde lan fonksyon an, 886 00:59:38,960 --> 00:59:43,660 yo ak pou Lè sa a, nou pral ekri an lèt detache 3 ankò. 887 00:59:43,660 --> 00:59:47,520 Bagay diferan sou sijè ki abòde nan PHP pase nan C. 888 00:59:47,520 --> 00:59:51,130 >> Koulye a, nan PHP ak HTML. 889 00:59:51,130 --> 00:59:53,510 PHP se sèvi ak fè paj wèb dinamik. 890 00:59:53,510 --> 00:59:58,660 Li kalite fè bagay diferan. 891 00:59:58,660 --> 01:00:02,090 Nou gen li diferan de HTML. 892 01:00:02,090 --> 01:00:05,230 Avèk HTML, nou toujou jis gen menm bagay la estatik, tankou ki jan Rob te montre, 893 01:00:05,230 --> 01:00:09,370 Lè nou konsidere ke PHP, ou kapab chanje bagay sa yo ki baze sou ki moun ki itilizatè a se. 894 01:00:09,370 --> 01:00:11,830 Se konsa, si mwen gen sa a, mwen te, "Ou gen louvri sesyon an kòm -" ak Lè sa a, non an, 895 01:00:11,830 --> 01:00:14,420 e mwen kapab chanje non an. Se konsa, kounye a Non a se Jozèf, 896 01:00:14,420 --> 01:00:18,880 epi li gen "sou la m '", men Lè sa a, mwen kapab tou chanje non an gen Tommy. 897 01:00:18,880 --> 01:00:21,700 Apre sa, ki ta ka yon bagay diferan. 898 01:00:21,700 --> 01:00:23,840 Se konsa, lè sa a nou kapab tou chanje bagay diferan sou li, 899 01:00:23,840 --> 01:00:27,070 , li pral montre diferan kontni ki baze sou non an. 900 01:00:27,070 --> 01:00:31,430 Se konsa, PHP ka kalite chanje sa k ap pase nan sit entènèt ou. 901 01:00:31,430 --> 01:00:33,540 Menm isit la. Toujou, sonje ke yo gen diferan kontni, 902 01:00:33,540 --> 01:00:38,870 menm si w ap teknikman toujou gen aksè nan ki paj entènèt menm sou sifas la. 903 01:00:38,870 --> 01:00:43,450 Génération HTML. Gen 2 diferan fason ke ou ka fè sa. 904 01:00:43,450 --> 01:00:48,980 Se konsa, nou pral ale nan ki kounye a. Fason an premye se, ou gen - yeah, regrèt. 905 01:00:48,980 --> 01:00:51,150 Se konsa, ou jis gen regilye ou pou bouk nan PHP, 906 01:00:51,150 --> 01:00:56,270 ak Lè sa a, ou repete nan PHP, epi ou repete soti HTML. 907 01:00:56,270 --> 01:00:58,720 Lè l sèvi avèk sa ki Rob te montre ou nan HTML script 908 01:00:58,720 --> 01:01:04,030 ak Lè sa a, lè l sèvi avèk ekri ak lèt ​​detache nan PHP jis enprime li soti nan paj wèb la. 909 01:01:04,030 --> 01:01:09,520 Wout la altènatif se fè li kòm si ou separe soti PHP a ak HTML la. 910 01:01:09,520 --> 01:01:11,940 Se konsa, ou ka gen yon liy nan PHP ki kòmanse pou la bouk, 911 01:01:11,940 --> 01:01:16,020 Lè sa a, ou ka gen liy lan nan HTML a nan yon bagay ki apa a, 912 01:01:16,020 --> 01:01:19,700 ak Lè sa a, ou fini bouk la, ankò, ak yon PHP. 913 01:01:19,700 --> 01:01:21,800 Se konsa, li nan kalite separe li soti. 914 01:01:21,800 --> 01:01:24,020 Ki sou bò gòch, ou ka ke ou gen tout - an 915 01:01:24,020 --> 01:01:26,360 li nan jis 1 ti moso nan PHP. 916 01:01:26,360 --> 01:01:28,510 Sou bò dwat la ou ka wè ke ou gen yon liy nan PHP, 917 01:01:28,510 --> 01:01:32,540 ou gen yon liy nan HTML, epi ou gen yon liy nan PHP ankò. 918 01:01:32,540 --> 01:01:36,870 Se konsa, separe li soti nan sa y ap fè a. 919 01:01:36,870 --> 01:01:39,330 Apre sa, ou pral sonje ke swa fason, pou swa nan yo, 920 01:01:39,330 --> 01:01:41,980 yo toujou enprime soti imaj la, imaj la, imaj la, 921 01:01:41,980 --> 01:01:44,540 se konsa ke HTML toujou se enprime menm jan an. 922 01:01:44,540 --> 01:01:49,870 Lè sa a, ou pral toujou gade 3 imaj yo montre moute sou sit entènèt ou. 923 01:01:49,870 --> 01:01:52,820 Se konsa, li 2 diferan fason pou fè menm bagay la. 924 01:01:52,820 --> 01:01:55,060 >> Koulye a, nou gen fòm ak demann. Kòm Rob te montre ou, 925 01:01:55,060 --> 01:01:59,400 gen fòm HTML, epi nou pral jis briz atravè sa a. 926 01:01:59,400 --> 01:02:02,040 Ou gen yon aksyon epi ou gen yon metòd, ak aksyon ou 927 01:02:02,040 --> 01:02:04,350 kalite montre ou kote w ap ale nan voye l ', ak metòd la se si wi ou non 928 01:02:04,350 --> 01:02:06,960 li pral gen yon jwenn oswa yon POST. 929 01:02:06,960 --> 01:02:11,220 Apre sa, yon demann jwenn, menm jan Rob te di, vle di ke w ap ale nan mete l 'nan yon fòm 930 01:02:11,220 --> 01:02:15,760 epi ou ap wè li kòm yon URL, Lè nou konsidere ke yon demann POST ou pa pral wè nan yon URL. 931 01:02:15,760 --> 01:02:17,840 Se konsa, yon diferans ti tay. 932 01:02:17,840 --> 01:02:19,950 Sepandan, yon sèl bagay ki nan yon bagay ki sanble 933 01:02:19,950 --> 01:02:22,560 se ke POST epi pou yo jwenn se menm sekirite. 934 01:02:22,560 --> 01:02:26,430 Se konsa, ou ka panse ke jis paske w pa wè l 'nan URL la, 935 01:02:26,430 --> 01:02:28,790 sa vle di POST a se pi plis sekirite, 936 01:02:28,790 --> 01:02:34,420 men ou ka toujou wè li nan bonbon ou a nan enfòmasyon an ki w ap voye. 937 01:02:34,420 --> 01:02:38,260 Se konsa, pa panse ke sou youn oswa lòt la. 938 01:02:38,260 --> 01:02:42,160 Yon lòt bagay sonje se ke ou yo te genyen tou seksyon varyab. 939 01:02:42,160 --> 01:02:45,850 Ou mesye yo itilize sa a nan pset 7 jwenn enfòmasyon non itilizatè ou an. 940 01:02:45,850 --> 01:02:48,550 Kisa ki te pase te ke ou ka itilize etalaj sa a asosyatif, 941 01:02:48,550 --> 01:02:53,310 a $ _SESSION, ak Lè sa a, w ap kapab gen aksè a bagay diferan 942 01:02:53,310 --> 01:02:57,720 ak magazen bagay diferan nan tout paj yo. 943 01:02:57,720 --> 01:03:00,750 >> Dènye bagay se ke nou gen SQL, estriktire rekèt Lang, 944 01:03:00,750 --> 01:03:04,360 ak sa a se yon lang programmation nan jere baz done. 945 01:03:04,360 --> 01:03:08,220 Ki sa ki, egzakteman, se baz done? Yo ap koleksyon nan tab, 946 01:03:08,220 --> 01:03:10,630 ak chak tab ka gen kalite ki sanble nan objè yo. 947 01:03:10,630 --> 01:03:14,990 Se konsa, nou te gen yon tab nan itilizatè nan pset finans ou an. 948 01:03:14,990 --> 01:03:20,610 Epi poukisa yo se yo itil? Paske li nan yon fason pou tout tan estoke enfòmasyon. 949 01:03:20,610 --> 01:03:22,840 Li se yon fason pou swiv bagay sa yo ak jere bagay sa yo 950 01:03:22,840 --> 01:03:25,890 ak aktyèlman wè sa nan paj diferan ak kenbe tras. 951 01:03:25,890 --> 01:03:29,930 Lè nou konsidere ke si ou jis sere l 'nan ke youn moman sa imedya 952 01:03:29,930 --> 01:03:33,720 ak Lè sa a, sèvi ak li pita, ou pa yo pral kapab jwenn aksè nan anyen ke ou te sove. 953 01:03:33,720 --> 01:03:37,660 Nou gen 4 gwo bagay sa yo ke nou itilize pou kòmandman SQL. 954 01:03:37,660 --> 01:03:40,190 Nou gen chwazi, insert, efase, epi mete ajou. 955 01:03:40,190 --> 01:03:42,880 Moun sa yo ki se reyèlman enpòtan pou ou mesye yo konnen pou egzamen ou an. 956 01:03:42,880 --> 01:03:45,990 >> Nou pral byen vit ale sou chwazi kounye a. 957 01:03:45,990 --> 01:03:48,540 Fondamantalman, w ap chwazi ranje ki sòti nan yon baz done. 958 01:03:48,540 --> 01:03:52,400 Se konsa, si ou genyen, dwa isit la - 959 01:03:52,400 --> 01:03:56,740 nou gen 2 bagay sa yo diferan, e nou vle chwazi soti bò tab la kou 960 01:03:56,740 --> 01:04:01,480 kote pè - kote nan kolòn nan pè valè a se 1. 961 01:04:01,480 --> 01:04:04,460 Se konsa, ou ka wè isit la, nou gen sa yo 2 bagay sa yo nan Non klas, 962 01:04:04,460 --> 01:04:08,490 CS50 ak Stat110, epi nou gen kat idantite ki gen klas yo ak eslogan la. 963 01:04:08,490 --> 01:04:13,150 Se konsa, nou vle chwazi tout enfòmasyon sa a. 964 01:04:13,150 --> 01:04:17,480 Lè sa a, ou ka wè dwa isit la ke li nan kalite davwa soti nan ke kolòn pè, 965 01:04:17,480 --> 01:04:25,170 kote tout bagay sa yo yo se 1, ak Lè sa a, li gen ID klas, non an klas-la ak eslogan ke li kapab chwazi soti. 966 01:04:25,170 --> 01:04:28,100 Ki jan egzakteman ou fè sa nan kòd? Ou gen yo sèvi ak PHP. 967 01:04:28,100 --> 01:04:33,830 Se konsa, sa a, se kalite ki jan PHP ak SQL yo ki gen rapò youn ak lòt. 968 01:04:33,830 --> 01:04:38,130 Koulye a, nou gen Kòd nou, epi nou ap ale nan sèvi avèk fonksyon rechèch nou an 969 01:04:38,130 --> 01:04:41,370 jan nou te fè nan pset 7, epi nou ap ale nan kouri rechèch la SQL. 970 01:04:41,370 --> 01:04:43,870 Lè sa a, nou pral genyen - 971 01:04:43,870 --> 01:04:46,280 nou toujou gen yo tcheke si trip egal ranje a si fo. 972 01:04:46,280 --> 01:04:49,010 Se konsa, ankò, ou vle tcheke kalite ak valè a, 973 01:04:49,010 --> 01:04:53,880 ak Lè sa a, si li pa travay, Lè sa a, ou vle eskize, kòm dabitid, jan nou te fè nan pset 7. 974 01:04:53,880 --> 01:04:55,870 Sinon, ou vle bouk nan tout bagay ak sa yo sou la men 975 01:04:55,870 --> 01:04:59,410 fortch pasan ke nou jis te ale sou. 976 01:04:59,410 --> 01:05:01,280 Kounye a ke nou ap loupin nan e nou te fè l 'sot pase yo, 977 01:05:01,280 --> 01:05:05,080 kite a sipoze ke rechèch nou an te pase, kounye a nou gen bouk fortch nou an. 978 01:05:05,080 --> 01:05:11,050 Apre sa, premye ranje a li gen, se konsa isit la nan ranje a, yo isit la; li nan bwat. 979 01:05:11,050 --> 01:05:14,010 Li ale nan ekri ak lèt ​​detache soti tout enfòmasyon ki ke li nan vinn. 980 01:05:14,010 --> 01:05:18,070 Se konsa, li pral ekri ak lèt ​​detache soti nan pati anba a "vle Aprann HTML?" 981 01:05:18,070 --> 01:05:23,370 Lè sa a, li pral pou yo ale nan pwochen ranje a, paske li te ranpli premye a pou bouk, 982 01:05:23,370 --> 01:05:26,510 yo ak pou Lè sa a, li pral ekri ak lèt ​​detache soti liy nan dezyèm nan li, 983 01:05:26,510 --> 01:05:32,120 ki se pral fè STAT110, Jwenn tout moman yo. 984 01:05:32,120 --> 01:05:34,290 >> Youn nan bagay pase a se sou SQL Feblès. 985 01:05:34,290 --> 01:05:37,300 Mwen konnen David manyen sou sa a yon ti jan nan konferans. 986 01:05:37,300 --> 01:05:40,730 Ou ka li sa pi ta. Li nan reyèlman amizan. 987 01:05:40,730 --> 01:05:45,320 SQL Underground se yon kalite bagay difisil. 988 01:05:45,320 --> 01:05:49,890 Se pou nou di ke ou jis bwa sa yo varyab dwa nan rechèch ou an, 989 01:05:49,890 --> 01:05:52,290 jan ou ka wè nan ki liy an premye. 990 01:05:52,290 --> 01:05:54,520 Se konsa, li sanble amann, dwa? W ap sèlman mete nan non itilizatè 991 01:05:54,520 --> 01:05:58,820 ak modpas rechèch SQL ou, epi ou vle yon bato li koupe epi pou yo jwenn tou sa ki nan tablo done ou. 992 01:05:58,820 --> 01:06:01,450 Ki sanble trè senp. Se konsa, pèmèt di yon moun mete nan, 993 01:06:01,450 --> 01:06:04,910 pou modpas la, sa a oswa tèks dwa isit la - 994 01:06:04,910 --> 01:06:06,780 ta dwe aktyèlman ap nan ti bwat la wouj. 995 01:06:06,780 --> 01:06:11,920 Se konsa, kite a di yo ke yo mete sa modpas nan - sa a ki sa yo antre. 996 01:06:11,920 --> 01:06:16,520 Se konsa, yo ap mete OSWA "1" = 1. 997 01:06:16,520 --> 01:06:20,880 Kalite yon modpas komik genyen. 998 01:06:20,880 --> 01:06:25,070 Koulye a, kite a jis ranplase l 'nan, epi ou pral sonje ke nan ki sijè rechèch SQL kounye a, 999 01:06:25,070 --> 01:06:29,090 li evalye toujou vre, paske ou pral sonje ke 1000 01:06:29,090 --> 01:06:32,240 ou ka sijè rechèch SQL chwazi tout enfòmasyon sa a 1001 01:06:32,240 --> 01:06:35,420 oswa ou ka jis gen 1 = 1. 1002 01:06:35,420 --> 01:06:41,030 Se konsa, ki la toujou ale nan evalye vre. 1003 01:06:41,030 --> 01:06:46,610 Ki pa nan ale nan reyèlman travay, paske men sa vle di ke HACKER a ka kraze nan sistèm ou an. 1004 01:06:46,610 --> 01:06:49,300 Solisyon la sa a se ke ou gen yo sèvi ak sistèm nan apelasyon, 1005 01:06:49,300 --> 01:06:51,360 ki vle di ke ou gen yo sèvi ak mak kesyon, 1006 01:06:51,360 --> 01:06:53,350 ki se ki sa ou mesye yo itilize nan pset 7, 1007 01:06:53,350 --> 01:06:57,620 kote w ap ale nan sèvi ak yon mak kesyon nan plas kote ou vle mete yon bagay, 1008 01:06:57,620 --> 01:07:01,430 ak Lè sa a, w ap ale nan gen yon vigil, ak Lè sa a, ou pral gen apre sa, 1009 01:07:01,430 --> 01:07:07,610 apre fisèl ou a, varyab yo diferan ke ou vle ranplase nan mak kesyon ou yo. 1010 01:07:07,610 --> 01:07:10,330 Se konsa, ou pral sonje isit la ke koulye a, mwen gen mak sa yo kesyon wouj. 1011 01:07:10,330 --> 01:07:15,420 Lè sa a, mwen mete varyab yo apre yo fin strings mwen Se konsa, mwen konnen yo ranplase yo nan ki lòd apre sa. 1012 01:07:15,420 --> 01:07:18,470 Ki pral asire w ke si yon moun fè li tankou sa a, 1013 01:07:18,470 --> 01:07:24,050 epi yo gen sitiyasyon an oswa 1 = 1, ki pral asire w ke, 1014 01:07:24,050 --> 01:07:30,490 nan fen a tounen, asire w ke li pa pral aktyèlman kraze rechèch la SQL. 1015 01:07:30,490 --> 01:07:33,660 Oke, kidonk sa a, se bèl anpil l ', yon gwo toubouyon nan PHP ak SQL. 1016 01:07:33,660 --> 01:07:41,520 Pi bon nan chans pou pou nou tout, epi kounye a Ore. 1017 01:07:41,520 --> 01:07:44,270 >> [Oreoluwatomiwa Babarinsa] Okay tout moun. Tan ale sou kèk JavaScript 1018 01:07:44,270 --> 01:07:48,840 ak kèk lòt bagay sa yo trè byen vit pou nou pa kenbe ou leve aswè a. 1019 01:07:48,840 --> 01:07:56,930 JavaScript. Wi. JavaScript se kalite yon bagay fre, pretanduman. 1020 01:07:56,930 --> 01:07:59,090 Bagay sa yo ou reyèlman bezwen konnen sou JavaScript, li nan sòt de tankou 1021 01:07:59,090 --> 01:08:03,810 fen a kliyan-kòt nan sa ki app entènèt ou an se yo pral fè. 1022 01:08:03,810 --> 01:08:08,280 Genyen kèk bagay ou jis pa vle pran swen nan tout tan tout tan a sou bò sèvè. 1023 01:08:08,280 --> 01:08:12,880 Tout entè-aksyon yo ti kras, en se yon sèl bagay, fè yon bagay disparèt. 1024 01:08:12,880 --> 01:08:15,340 Ou reyèlman pa vle gen pou pale ak sèvè ou tout tan tout tan an pou sa. 1025 01:08:15,340 --> 01:08:18,069 Se konsa, kèk nan ki se pa menm posib fè sou bò sèvè. 1026 01:08:18,069 --> 01:08:21,899 Sa a se poukisa nou bezwen yon bagay tankou JavaScript. 1027 01:08:21,899 --> 01:08:24,359 Bagay sa yo fre sou JavaScript: Li se dynamique tape. 1028 01:08:24,359 --> 01:08:27,149 Ki sa sa vle di se ke pwogram ou an pa bezwen konnen 1029 01:08:27,149 --> 01:08:30,970 sa, egzakteman, varyab yo se lè ou ekri li soti. 1030 01:08:30,970 --> 01:08:34,510 Li pral jis sòt de figi li soti jan li ap kouri. 1031 01:08:34,510 --> 01:08:37,520 Lòt bagay ki fre sou li: Li se yon lang atèl Curly, 1032 01:08:37,520 --> 01:08:41,359 ki vle di sentaks la se menm jan ak C ak PHP. 1033 01:08:41,359 --> 01:08:47,050 Ou pa oblije fè anpil rivork lè w ap aprann JavaScript. 1034 01:08:47,050 --> 01:08:49,180 Isit la nou gen yon ti kras nan JavaScript. 1035 01:08:49,180 --> 01:08:52,560 Enteresan bagay dwa isit la se ke, si ou gade nan li, 1036 01:08:52,560 --> 01:08:56,330 nou gen yon ti jan nan JavaScript dwa gen nan tag nan tèt yo. 1037 01:08:56,330 --> 01:08:59,479 Ki sa ki se se fondamantalman jis genyen ladan yo yon dosye JavaScript. 1038 01:08:59,479 --> 01:09:02,260 Sa a se yon fason ou ka gen ladan JavaScript nan pwogram ou an. 1039 01:09:02,260 --> 01:09:06,910 Lè sa a, dezyèm ti jan a ti kras se aktyèlman kèk aliye JavaScript, 1040 01:09:06,910 --> 01:09:10,790 trè menm jan ak yon style aliye ak CSS, 1041 01:09:10,790 --> 01:09:16,180 , epi ou ap jis ekri kèk Kòd trè byen vit la. 1042 01:09:16,180 --> 01:09:18,120 JavaScript gen ranje. 1043 01:09:18,120 --> 01:09:20,850 Jis yon lòt fason yo kenbe done alantou li, trè itil. 1044 01:09:20,850 --> 01:09:25,180 Trè bèl ak fasil sentaks. 1045 01:09:25,180 --> 01:09:29,870 Ou sèvi ak kwochè gen aksè a tout bagay epi kenbe tout bagay ansanm. 1046 01:09:29,870 --> 01:09:35,020 Pa gen anyen twò konplèks. 1047 01:09:35,020 --> 01:09:38,630 Bagay la fre sou JavaScript ak lang scripting an jeneral 1048 01:09:38,630 --> 01:09:40,920 se ke ou pa gen enkyete sou gwosè etalaj. 1049 01:09:40,920 --> 01:09:43,880 Ou ka jis sèvi ak array.length ak kenbe tras nan li, 1050 01:09:43,880 --> 01:09:46,960 epi tou li etalaj la ka grandi oswa retresi jan ou bezwen li yo. 1051 01:09:46,960 --> 01:09:49,279 Se konsa, ou pa menm bezwen enkyete sou nenpòt ki sòt de, 1052 01:09:49,279 --> 01:09:57,050 Oh okenn, I bezwen asiyen plis bagay sa yo, oswa nenpòt bagay tankou sa. 1053 01:09:57,050 --> 01:10:00,090 >> Bagay la fre isit la se ke JavaScript gen yon bagay yo rele objè yo. 1054 01:10:00,090 --> 01:10:04,800 Se yon lang objè-oryante, Se konsa, sa li te ye, se esansyèlman, 1055 01:10:04,800 --> 01:10:10,100 yon fason pou ou pou w done gwoup ansanm, yon ti jan ki sanble ak yon konstri, 1056 01:10:10,100 --> 01:10:17,280 men ou ka jwenn aksè nan li tankou yon konstri oswa nan yon sentaks etalaj asosyatif. 1057 01:10:17,280 --> 01:10:22,520 Li trè senp ak sa ou kapab fè ak sa a se done gwoup ansanm 1058 01:10:22,520 --> 01:10:24,810 si ou gen yon pakèt moun sou done ki nan ki gen rapò. 1059 01:10:24,810 --> 01:10:26,850 Paske li nan tout bagay sa yo ou bezwen dekri yon machin, 1060 01:10:26,850 --> 01:10:29,050 ou pa bezwen genyen li nan yon pakèt moun sou diferan kote. 1061 01:10:29,050 --> 01:10:35,300 Ou ka jis bwa l 'nan 1 objè nan JavaScript. 1062 01:10:35,300 --> 01:10:39,090 Kòm pwobableman ou konnen, iteration se youn nan moun travay fatigan. 1063 01:10:39,090 --> 01:10:43,810 Ou jis fè l 'sou yon lòt peyi sou ankò. Ou bezwen pale ak chak objè nan machin nan, 1064 01:10:43,810 --> 01:10:47,340 oswa ou bezwen yo ale nan chak atik nan yon lis oswa yon bagay tankou sa. 1065 01:10:47,340 --> 01:10:51,770 Se konsa, JavaScript gen, menm jan ak PHP, yon sentaks fortch. 1066 01:10:51,770 --> 01:10:54,590 Nan ka sa a, li nan yon pou nan bouk. 1067 01:10:54,590 --> 01:10:57,300 Ou vle itilize sa a sèlman sou objè yo. 1068 01:10:57,300 --> 01:11:01,030 Gen kèk pwoblèm ki rive si ou itilize sa a sou ranje. 1069 01:11:01,030 --> 01:11:03,750 Li jeneralman se youn nan bagay sa yo, menm si, se sa ki trè itil, 1070 01:11:03,750 --> 01:11:06,590 paske ou elimine yon anpil nan sou tèt 1071 01:11:06,590 --> 01:11:10,270 paske ou pa bezwen rale moute tout bagay nan objè ou nan tèt ou. 1072 01:11:10,270 --> 01:11:12,300 Ou pa oblije sonje tout non yo kle. 1073 01:11:12,300 --> 01:11:18,270 Ou jis sòt de jwenn yo tounen nan sentaks sa a. 1074 01:11:18,270 --> 01:11:21,500 Nan sa a, ak pou li a, ou jis vle yo sonje 1075 01:11:21,500 --> 01:11:27,180 ke w ap resevwa tounen tout kle yo, nan yon fason trè menm jan ak Hash tab. 1076 01:11:27,180 --> 01:11:30,880 Si ou sonje de sa, lè ou ta mete nan yon fisèl ou ta ka pran yon bagay ki soti 1077 01:11:30,880 --> 01:11:33,840 ki ta gen yon valè ki asosye ak li. 1078 01:11:33,840 --> 01:11:36,360 Kisa w ka fè ak sa a se ou ka di yo, tout dwat, 1079 01:11:36,360 --> 01:11:42,120 Mwen mete nan yon machin, epi mwen rele li yon Ferrari. 1080 01:11:42,120 --> 01:11:45,290 Se konsa, ou ka mete nan fisèl Ferrari an ankò apre sa, epi ou ka jwenn ki soti. 1081 01:11:45,290 --> 01:11:50,000 Epi ou ka fè sa nan yon bouk, ak pou la nan bouk. 1082 01:11:50,000 --> 01:11:53,320 Se konsa, jis plis enfòmasyon sou objè yo. Bagay la kle nan sa a ou bezwen sonje 1083 01:11:53,320 --> 01:12:00,340 se ke ou ka itilize konstri nan objè tankou sentaks nenpòt lè ou vle ak sa yo, 1084 01:12:00,340 --> 01:12:04,590 eksepte si sa ou pwal itilize kòm yon fil se pa yon Non varyab ki valid. 1085 01:12:04,590 --> 01:12:07,650 Se konsa, si ou gade nan ki di ke gen, nou gen kle ak espas. 1086 01:12:07,650 --> 01:12:12,500 Oke, si ou te mete object.key, espas, ak, espas, espas, 1087 01:12:12,500 --> 01:12:15,320 ki jis pa t 'vle fè sans syntactically. 1088 01:12:15,320 --> 01:12:22,730 Se konsa, ou sèlman ka fè sa ak sa a sòt de bracket sentaks. 1089 01:12:22,730 --> 01:12:26,520 >> Epitou, JavaScript se yon bagay ki sijè ki abòde-gen bon konprann PHP. 1090 01:12:26,520 --> 01:12:29,050 Ou gen 2 fason pou adrese sijè ki abòde. 1091 01:12:29,050 --> 01:12:31,960 Ou pa ka gen var a nan devan yon varyab, 1092 01:12:31,960 --> 01:12:34,060 e ke jis vle di sa a se mondyal la. 1093 01:12:34,060 --> 01:12:37,050 Ou ka wè li nan men nenpòt kote. Menm si nou ta mete sa a nan yon si deklarasyon, 1094 01:12:37,050 --> 01:12:42,430 nenpòt lòt kote nan Kòd ou apre ou fin pwen sa ou te kapab wè varyab sa a. 1095 01:12:42,430 --> 01:12:46,730 Yon lòt bagay, menm si, se ak var lan, li la limite a sa sèlman sa fonksyon w ap pous 1096 01:12:46,730 --> 01:12:48,870 Si ou pa nan yon fonksyon, byen, li la mondyal la. 1097 01:12:48,870 --> 01:12:53,900 Men, si ou se nan yon fonksyon li a sèlman vizib nan ki fonksyon. 1098 01:12:53,900 --> 01:12:56,420 Mwen pa gen yon egzanp, men, yeah. Se youn nan bagay sa yo kote 1099 01:12:56,420 --> 01:12:59,900 ou ka jere sa ki varyab ou vle mondyal, 1100 01:12:59,900 --> 01:13:03,810 sa ki varyab ou vle lokal yo, men ou bezwen dwe fè atansyon sou sa, 1101 01:13:03,810 --> 01:13:06,890 paske ou pa gen kalite a nan kontwòl amann grenn jaden ou fè nan C, 1102 01:13:06,890 --> 01:13:15,820 kote si yon bagay ki te deklare nan yon pou bouk, li pral rete nan ke pou bouk. 1103 01:13:15,820 --> 01:13:18,790 Bagay la nou aktyèlman pran swen sou lè l sèvi avèk JavaScript pou se manipile paj wèb, dwa? 1104 01:13:18,790 --> 01:13:21,800 Mwen vle di, Se poutèt sa nou ap fè sa a. 1105 01:13:21,800 --> 01:13:23,840 >> Pou fè sa, nou itilize yon bagay yo rele Dom la. 1106 01:13:23,840 --> 01:13:25,850 Dokiman objè ki gen konpòtman egzanplè la. 1107 01:13:25,850 --> 01:13:29,430 Fondamantalman, ki sa li fè a se li pran tout HTML ou 1108 01:13:29,430 --> 01:13:34,110 ak modèl li soti nan yon pakèt moun sou objè ki yo pare solèy nan youn ak lòt. 1109 01:13:34,110 --> 01:13:37,080 Ou kòmanse soti ak yon bagay tankou sa a. 1110 01:13:37,080 --> 01:13:44,770 Ou gen, sou bò dwat la pou m ', yon pakèt moun sou Kòd deyò sa a, se sòt de - 1111 01:13:44,770 --> 01:13:46,640 Ou ta panse ke ta dwe trè difisil manipile, 1112 01:13:46,640 --> 01:13:48,700 paske ou ta ka analyse nan yon pakèt moun sou tèks 1113 01:13:48,700 --> 01:13:52,080 epi ki gen moso apa bagay sa yo. Ak sa ki si li pa te fòma kòrèkteman? 1114 01:13:52,080 --> 01:13:54,880 Bagay sa yo Move ta rive. 1115 01:13:54,880 --> 01:13:58,140 Se konsa, JavaScript pran swen de sa a pou ou, epi ou jwenn yon estrikti done bèl, 1116 01:13:58,140 --> 01:14:01,390 tankou sa yo sou bò gòch mwen an, kote ou jis gen yon dokiman, 1117 01:14:01,390 --> 01:14:03,530 ak andedan ke ou gen yon bagay yo rele HTML, 1118 01:14:03,530 --> 01:14:05,600 ak andedan ke ou gen yon tèt li ak yon kò, 1119 01:14:05,600 --> 01:14:08,420 ak andedan ke tèt ou gen yon tit, ètchetra, ètchetra, ètchetra. 1120 01:14:08,420 --> 01:14:11,810 Sa a senplifye manipile yon paj wèb pou ke li nan jis, 1121 01:14:11,810 --> 01:14:14,190 oh, mwen jis vle pale ak sa a objè. 1122 01:14:14,190 --> 01:14:21,340 Sòt de yon fason trè menm jan an ou ta pale ak yon lòt objè ou te fè tèt ou. 1123 01:14:21,340 --> 01:14:25,980 Tankou mwen te di yo, tout Dom a se nan dokiman objè a. 1124 01:14:25,980 --> 01:14:29,290 Swa li nan jis yon sèl kote ak Lè sa a, ou ka ale nan li jwenn bagay sa yo, 1125 01:14:29,290 --> 01:14:33,880 epi ou ka fè li - sa a se style la fin vye granmoun nan fè li, moute a, 1126 01:14:33,880 --> 01:14:38,130 ki kote ou fè document.getElementById, ak Lè sa a, non an, 1127 01:14:38,130 --> 01:14:42,420 ak jan ou ka pwobableman di, sa a vin trè maladwa apre yon ti tan. 1128 01:14:42,420 --> 01:14:44,480 Se konsa, ou pwobableman pa vle fè sa. Se poutèt sa nou gen 1129 01:14:44,480 --> 01:14:48,760 bagay la pwochen nou pral pale sou apre sa a. 1130 01:14:48,760 --> 01:14:52,510 Bagay kle a isit la se ke yo, tout dwat, ou gen tout eleman sa yo, dwa? 1131 01:14:52,510 --> 01:14:56,400 Se konsa, petèt mwen ka chanje koulè a ​​nan yon bagay lè charj yo paj. 1132 01:14:56,400 --> 01:14:58,380 Se konsa, sa? E si itilizatè mwen an klik yon bagay? 1133 01:14:58,380 --> 01:15:00,540 Mwen vle li fè yon bagay ki enteresan yo lè yo klike sou yon bagay. 1134 01:15:00,540 --> 01:15:02,600 Se poutèt sa nou gen evènman yo. 1135 01:15:02,600 --> 01:15:05,330 Ou ka, fondamantalman, jwenn nenpòt eleman nan Dom ou a, 1136 01:15:05,330 --> 01:15:08,560 ak Lè sa a, di, hey. Lè sa a charj oswa yon moun klik li, 1137 01:15:08,560 --> 01:15:11,410 oswa yo lè yo sourit sou li, fè yon bagay ak li. 1138 01:15:11,410 --> 01:15:15,330 Ak ki sa ou genyen se pou ou, ou gen fonksyon ki okipe sa a pou ou. 1139 01:15:15,330 --> 01:15:17,980 Fonksyon sa yo se pòtè evènman. 1140 01:15:17,980 --> 01:15:20,440 Ki sa ki they're - li nan jis yon fason anpenpan nan li di yo: 1141 01:15:20,440 --> 01:15:23,500 Se fonksyon sa a sèlman egzekite lè evènman sa a rive. 1142 01:15:23,500 --> 01:15:28,070 Se konsa, li kenbe evènman an ki rive. 1143 01:15:28,070 --> 01:15:30,810 Sa a se kijan ou ta mete deyò yon Handler evènman. 1144 01:15:30,810 --> 01:15:34,750 Mwen gen kèk bouton, ak ki lè ou klike sou li, li te eksploze. 1145 01:15:34,750 --> 01:15:40,560 Se konsa, pa klike sou bouton an. 1146 01:15:40,560 --> 01:15:42,910 Sa a se youn fason pou apwoche li, dwa? 1147 01:15:42,910 --> 01:15:46,430 Ou gen yon tag bouton yo, epi sou klike sou ou gen yon kòd ki di, 1148 01:15:46,430 --> 01:15:50,460 oh, bò wout la, m 'fè bagay eksploze sa a pou mwen. 1149 01:15:50,460 --> 01:15:53,990 Sinon, li nan jis tankou yon bouton regilye ou jis fè fè yo. 1150 01:15:53,990 --> 01:15:56,550 Ou kapab tou fè sa yon lòt fason, 1151 01:15:56,550 --> 01:16:02,770 pa arachman eleman ki Dom, men nou pral sove ke apre nou pale sou jQuery. 1152 01:16:02,770 --> 01:16:07,580 >> JQuery: Li se yon bibliyotèk ki se kwa-navigatè. 1153 01:16:07,580 --> 01:16:09,580 Ou ka sèvi ak li nan bèl anpil anyen. 1154 01:16:09,580 --> 01:16:12,090 Apre sa, li jis ba ou yon anpil nan zouti yo travay avèk. 1155 01:16:12,090 --> 01:16:15,850 Paske JavaScript, pandan y ap pwisan, pa gen tout zouti ou bezwen 1156 01:16:15,850 --> 01:16:20,550 soti nan bwat la reyèlman atake yon app web ou ta ka vle fè. 1157 01:16:20,550 --> 01:16:24,650 Se konsa, li senplifye yon anpil nan bagay sa yo, ba ou yon anpil nan fonksyon 1158 01:16:24,650 --> 01:16:28,760 soti nan bwat la ke ou ta nòmalman gen yo ekri tèt ou, sou yo ak sou yo ak sou ankò. 1159 01:16:28,760 --> 01:16:31,600 Epi jis fè bagay trè senp. 1160 01:16:31,600 --> 01:16:35,780 Ou gen tou seleksyon, ki kite ou pran tout eleman sa yo 1161 01:16:35,780 --> 01:16:42,800 soti nan Dom ou pi plis tou senpleman, olye pou yo gen yo sèvi ak sa yo apèl fonksyon trè long. 1162 01:16:42,800 --> 01:16:46,630 Plis sou seleksyon sa yo. Ou gen, moute gen ou te, se pou yo di 1163 01:16:46,630 --> 01:16:49,800 Mwen vle jwenn yon eleman ki gen ID "twou wòch la." 1164 01:16:49,800 --> 01:16:56,450 Oke, nan jQuery, li nan jis $ ak Lè sa a, yon kòd ki gen yon liv, ak Lè sa a, "wòch." 1165 01:16:56,450 --> 01:17:01,960 Li trè senp ak yon anpil pi vit pase tradisyonèl wout la JavaScript pou abòde pwoblèm sa a. 1166 01:17:01,960 --> 01:17:06,120 Apre sa, ou gen bagay sa yo menm jan an pou klas ak kalite eleman. 1167 01:17:06,120 --> 01:17:08,140 jQuery se - youn nan karakteristik yo ki fre se ou ka sòt de konpresyon 1168 01:17:08,140 --> 01:17:14,350 desann demann ou sou Dom ou trè, trè vit. 1169 01:17:14,350 --> 01:17:18,980 Koulye a, nou ap tounen nan evènman manyen, e sa se ki jan ou ta okipe yon sèl evènman nan jQuery. 1170 01:17:18,980 --> 01:17:23,090 Se konsa, sa nou pral isit la se nou ap li di yo: tout dwa. Mwen gen yon tag script, dwa? 1171 01:17:23,090 --> 01:17:25,400 Se konsa, mwen gen sa a aliye JavaScript. 1172 01:17:25,400 --> 01:17:27,750 Ki sa nou ap ale nan fè se nou pral di, tout dwa. 1173 01:17:27,750 --> 01:17:30,860 Lè dokiman an se pare, ki vle di dokiman an a te chaje, 1174 01:17:30,860 --> 01:17:34,660 nou pral yo ale nan ak sa yo ki fonksyon, e nou pral vle di, tout dwa, 1175 01:17:34,660 --> 01:17:37,060 fonksyon sa a aktyèlman fè yon bagay lòt moun. 1176 01:17:37,060 --> 01:17:42,320 Li fondamantalman li di yo: tout dwa, pran m 'eleman an ak ID "myid la." 1177 01:17:42,320 --> 01:17:47,960 Lè sa a, bay sa a yon Handler fonksyon ki ègzekutra lè ou klike sou li. 1178 01:17:47,960 --> 01:17:49,820 Fondamantalman ki sa sa a fè se, li di, tout dwa. 1179 01:17:49,820 --> 01:17:52,630 Se paj la chaje, se konsa mwen pral nan, jwenn eleman sa a, 1180 01:17:52,630 --> 01:17:56,420 bay li sa a Handler evènman, epi li fondamantalman kouche moute paj ou a pou ou. 1181 01:17:56,420 --> 01:18:00,520 Men ki jan ou vle panse osijè de evènman manyen. 1182 01:18:00,520 --> 01:18:06,310 Ou jis vle panse osijè de, tout dwa, lè yon bagay rive, sa m 'vle rive? 1183 01:18:06,310 --> 01:18:10,520 Ou pa vle panse osijè de, oke, mwen bezwen asire w ke chita pale sa a bagay yo bagay sa a, 1184 01:18:10,520 --> 01:18:14,660 bagay sa a bla bla bla, paske ou jis vle pale bagay an tèm de evènman yo. 1185 01:18:14,660 --> 01:18:17,650 Lè sa rive, sa rive. Lè sa rive, sa ki ap pase. 1186 01:18:17,650 --> 01:18:20,240 Men, si bagay sa yo deklanche lòt bagay, sa a, se gwo. 1187 01:18:20,240 --> 01:18:22,150 Men, ou pa vle eseye epi fè konplike Kòd 1188 01:18:22,150 --> 01:18:24,130 kote w ap lakòz plizyè bagay sa yo an menm tan an, 1189 01:18:24,130 --> 01:18:28,860 paske w ap sèlman ale nan bay tèt ou yon tèt fè mal. 1190 01:18:28,860 --> 01:18:32,340 >> Tout dwa. Koulye a, nou ka jwenn paj nou an okipe evènman yo, 1191 01:18:32,340 --> 01:18:35,640 Men, kite a di itilizatè mwen an klik yon bouton. 1192 01:18:35,640 --> 01:18:38,040 E si mwen vle voye ke demann tounen nan sèvè a, 1193 01:18:38,040 --> 01:18:41,100 men mwen pa vle Reload paj la, paske li te gen Reload yon nouvo paj 1194 01:18:41,100 --> 01:18:44,390 chak fwa yon sèl vin kalite fatigan, e poukisa mwen bezwen 1195 01:18:44,390 --> 01:18:47,430 ki rale desann lento a ankò, epi footer a ankò, 1196 01:18:47,430 --> 01:18:49,670 ak tout eleman ki nan paj la ankò 1197 01:18:49,670 --> 01:18:53,180 jis rafrechi bonjou a oswa lè a? 1198 01:18:53,180 --> 01:18:55,290 Se konsa, sa a, se rezon sa a genyen yon bagay tankou Ajax. 1199 01:18:55,290 --> 01:18:59,150 Kisa nou ka fè isit la ak Ajax se nou ka di, tout dwa, 1200 01:18:59,150 --> 01:19:01,290 Mwen vle voye kèk done nan sèvè a, 1201 01:19:01,290 --> 01:19:04,010 e mwen vle yo ka resevwa yon repons tounen pou m ka mete paj m 'yo, 1202 01:19:04,010 --> 01:19:12,120 oswa petèt jis fè kèk kalkil algoritmik ki pa nesesèman montre anyen yo itilizatè a. 1203 01:19:12,120 --> 01:19:15,500 Ki sa ou bezwen fè sa? Oke, ou bezwen yon URL ou bezwen pou pale. 1204 01:19:15,500 --> 01:19:18,650 Sèvè ou pa ka jis maji koute nan soti nan okenn kote. 1205 01:19:18,650 --> 01:19:21,960 Ou bezwen gen yon kote espesifik w ap voye done sa a. 1206 01:19:21,960 --> 01:19:26,240 Apre sa, ou bezwen tou gen kèk done yo voye, oswa petèt li nan yon rechèch dataless. 1207 01:19:26,240 --> 01:19:31,380 Ou jis vle Ping tounen nan sèvè a ak di, hey, mwen se, tou vivan, oswa yon bagay tankou sa. 1208 01:19:31,380 --> 01:19:35,150 Lè sa a, ou vle yon fonksyon ki fondamantalman trete ak siksè. 1209 01:19:35,150 --> 01:19:38,250 Se pou nou di ou jwenn tounen kèk enfòmasyon ki soti nan sèvè ou a, 1210 01:19:38,250 --> 01:19:42,960 epi ou ta vle chanje tit itilizatè a nan paj yo. 1211 01:19:42,960 --> 01:19:44,930 Se konsa, ou ta jwenn enfòmasyon an tounen, 1212 01:19:44,930 --> 01:19:48,860 Se ou ki ta pouse ke yo ekran an. 1213 01:19:48,860 --> 01:19:51,170 Kisa k ap pase se, lè paj a se pare, 1214 01:19:51,170 --> 01:19:56,500 ou kreye yon sou fonksyon klike sou pou bouton sa-a rele greeter. 1215 01:19:56,500 --> 01:19:58,810 Ki sa sa Lè sa a, fè se sa, lè se ke bouton pouse, 1216 01:19:58,810 --> 01:20:03,700 ou pale ak greetings.php, ou fè yon demann POST, 1217 01:20:03,700 --> 01:20:07,290 epi ou di, hey, jwenn m 'yon bagay soti nan paj ou yo. 1218 01:20:07,290 --> 01:20:09,890 Nou pa vrèman bezwen dekri sa, men greetings.php, 1219 01:20:09,890 --> 01:20:12,480 kite yo jis di yo, li bay tounen "alo nan lemonn." 1220 01:20:12,480 --> 01:20:15,650 Se konsa, nou jwenn tounen sa a "alo mond lan," ak sou siksè nan sa a, 1221 01:20:15,650 --> 01:20:20,730 asepte pa gen anyen ale sa ki mal, lè sa a nou jis ale nan plas sib sa a 1222 01:20:20,730 --> 01:20:25,720 ke nou espesifye ak nou jis bwa repons lan an la. 1223 01:20:25,720 --> 01:20:31,560 Lè sa a se yon fason trè senp nan mete kanpe yon rechèch Ajax. 1224 01:20:31,560 --> 01:20:34,340 >> Trè byen vit, Rob sòt de mansyone sa a deja, 1225 01:20:34,340 --> 01:20:37,170 bagay sa yo ka ale mal, move bagay ka rive, 1226 01:20:37,170 --> 01:20:42,660 Se konsa, ou vle familyarize w avèk kòd repons HTTP sa yo. 1227 01:20:42,660 --> 01:20:46,030 Ki sa ki sa yo, se yo se jis, tankou, 200, tout bagay te ale oke. 1228 01:20:46,030 --> 01:20:48,670 Yon lòt bagay, move bagay rive. 1229 01:20:48,670 --> 01:20:50,790 Li nan jeneralman bagay la ou vle sonje. 1230 01:20:50,790 --> 01:20:53,440 Men, li la bèl konnen tout moun sa yo. 1231 01:20:53,440 --> 01:20:55,970 E finalman, yon fwa nou te ale nan nan tout sa, 1232 01:20:55,970 --> 01:20:58,680 nou bezwen pale trè byen vit sou konsepsyon, 1233 01:20:58,680 --> 01:21:00,620 ak Lè sa a, nou ka kite ou tout kite kay la. 1234 01:21:00,620 --> 01:21:03,410 Konsepsyon. Bagay sa yo ou vle sonje. 1235 01:21:03,410 --> 01:21:06,950 Poze tèt ou kesyon sa yo: Ki moun ki pral lè l sèvi avèk sa a? 1236 01:21:06,950 --> 01:21:09,580 Ki sa ki pral yo dwe lè l sèvi avèk li pou? Ki sa ki itilizatè mwen an pran swen sou? 1237 01:21:09,580 --> 01:21:11,750 Kisa ki pa yo pran swen sou? 1238 01:21:11,750 --> 01:21:14,500 Ou jis pa vle fè yon app epi kite li jis grandi 1239 01:21:14,500 --> 01:21:18,270 yo epi yo vin jeyan sa a, tout-konsome bagay ki ou pa menm ka fini. 1240 01:21:18,270 --> 01:21:23,900 Ou vle gen objektif disrè ak plan ak bagay ou vle adrese. 1241 01:21:23,900 --> 01:21:29,000 Fè li fasil. Tout sa di, fondamantalman, 1242 01:21:29,000 --> 01:21:34,950 fè li fasil pou itilizatè a yo sèvi ak li, pa fè l 'yon pate jeyan nan tèks tankou glise sa a se, aktyèlman. 1243 01:21:34,950 --> 01:21:38,020 Ou jis vle li nan dwe yon bagay kote li trè fasil pou yon moun yo ale nan 1244 01:21:38,020 --> 01:21:40,800 ak fè sa yo vle fè. 1245 01:21:40,800 --> 01:21:42,920 Ou pa vle yo gen navige 5 paj 1246 01:21:42,920 --> 01:21:45,460 pou li ale nan fonksyon pwemye ou nan sit ou. 1247 01:21:45,460 --> 01:21:49,290 Si Google te gen 5 paj anvan ou ta ka menm fè rechèch yon bagay, 1248 01:21:49,290 --> 01:21:53,080 pesonn pa ta sèvi ak li. 1249 01:21:53,080 --> 01:21:55,890 Epi anfen, pwototip papye, gwoup konsantre. 1250 01:21:55,890 --> 01:21:59,220 Gen yon bon konsepsyon ak pratik tès. 1251 01:21:59,220 --> 01:22:00,730 Jis paske ou panse ke li ap travay pou ou, 1252 01:22:00,730 --> 01:22:04,860 pa vle di nenpòt lòt moun panse li fonksyone. 1253 01:22:04,860 --> 01:22:14,490 Men, yeah, ki nan li. 1254 01:22:14,490 --> 01:22:17,490 [CS50.TV]