1 00:00:00,000 --> 00:00:12,610 2 00:00:12,610 --> 00:00:12,900 >> DAVID J. Malan: Tout dwat. 3 00:00:12,900 --> 00:00:16,790 Se konsa, Byenveni nan premye a tout tan tout tan CS50 otopsi pou yon egzamen. 4 00:00:16,790 --> 00:00:18,340 Nou te panse ke nou ta inogire sa a tradisyon ane sa a. 5 00:00:18,340 --> 00:00:20,960 Lè sa a pral yon okazyon mache nan la 6 00:00:20,960 --> 00:00:22,220 yon solisyon ak egzamen an. 7 00:00:22,220 --> 00:00:26,160 Epitou, n ap pi vit oswa ralanti ki baze sou enterè nan sa yo isit la. 8 00:00:26,160 --> 00:00:29,730 >> Se konsa, w ap pwobableman isit la paske w ap ta enterese nan jan ou ta ka genyen oswa 9 00:00:29,730 --> 00:00:31,170 ta dwe gen reponn kèk nan pwoblèm sa yo. 10 00:00:31,170 --> 00:00:33,300 Se konsa, poukisa pa nou pran yon gade nan seksyon sa a an premye? 11 00:00:33,300 --> 00:00:34,450 Se konsa, jwenn strings. 12 00:00:34,450 --> 00:00:37,600 Sa a te ban nou twa diferan vèsyon nan yon pwogram ki te, finalman, 13 00:00:37,600 --> 00:00:39,650 vle di yo ka resevwa yon fisèl ki sòti nan yon itilizatè. 14 00:00:39,650 --> 00:00:42,530 Si ou pa li te fè sa ki te kite jwenn ou pou detèmine. 15 00:00:42,530 --> 00:00:45,150 >> Apre sa, nou te mande nan Kesyon 0, ta kwè se vèsyon 1 se 16 00:00:45,150 --> 00:00:46,400 konpile ak egzekite. 17 00:00:46,400 --> 00:00:48,860 Poukisa pwogram nan ta ka segfault? 18 00:00:48,860 --> 00:00:51,150 Nan premye gade, nenpòt sigjesyon kòm poukisa? 19 00:00:51,150 --> 00:00:54,012 20 00:00:54,012 --> 00:00:54,489 Yeah. 21 00:00:54,489 --> 00:00:59,260 >> ODYANS: Se konsa, mwen sonje wè sa a nan yon egzanp anvan yo chèche nan nan 22 00:00:59,260 --> 00:01:05,506 Char * a ak wè optik la nan s yo, epi wè paske li nan yon konsèy, ki jan 23 00:01:05,506 --> 00:01:07,971 li te afekte ki sa ou tcheke nan? 24 00:01:07,971 --> 00:01:10,940 Èske li s oswa adrès ki nan s? 25 00:01:10,940 --> 00:01:11,180 >> DAVID J. Malan: OK. 26 00:01:11,180 --> 00:01:11,480 Bon. 27 00:01:11,480 --> 00:01:14,830 Se konsa, finalman, sous la nan nenpòt pwoblèm ki se prezimableman ale nan redwi 28 00:01:14,830 --> 00:01:16,210 ak sa yo ki s varyab. 29 00:01:16,210 --> 00:01:17,280 Epi li tout bon yon varyab. 30 00:01:17,280 --> 00:01:19,900 Kalite nan done varyab sa a se Char *, ki vle di li nan ale nan 31 00:01:19,900 --> 00:01:22,570 gen adrès ki nan yon karaktè. 32 00:01:22,570 --> 00:01:23,850 Apre sa, ladan l 'bay manti insight la. 33 00:01:23,850 --> 00:01:28,330 Li nan ale nan gen adrès ki nan yon karaktè oubyen, plis jeneralman, nan 34 00:01:28,330 --> 00:01:32,110 adrès nan karaktè a an premye nan yon blòk antye nan karaktè. 35 00:01:32,110 --> 00:01:36,680 >> Men, trape an se ke optik a, objektif nan lavi a, yo bay yon adrès yo ak ba yo 36 00:01:36,680 --> 00:01:40,960 yon kòd fòma, tankou% s, li yon kòd nan moso an nan 37 00:01:40,960 --> 00:01:42,330 memwa nan adrès sa a. 38 00:01:42,330 --> 00:01:46,040 Men, paske se gen nan pa gen siy egal devan ki pwenvigil sou premye a 39 00:01:46,040 --> 00:01:49,310 liy nan Kòd, paske nou pa fè sa aktyèlman asiyen nenpòt memwa ak 40 00:01:49,310 --> 00:01:53,020 malok, paske li pa t 'aktyèlman asiyen yon etalaj nan kèk gwosè yo, tout 41 00:01:53,020 --> 00:01:57,620 w ap fè ap li a nan itilizatè D 'klavye nan kèk konplè 42 00:01:57,620 --> 00:02:00,490 valè fatra, ki se nan yo pa default. 43 00:02:00,490 --> 00:02:04,480 Se konsa, chans yo w ap ale nan segfault si adrès ki pa jis pou rive 44 00:02:04,480 --> 00:02:08,009 yo dwe yon valè ke ou kapab, an reyalite, ekri nou nan. 45 00:02:08,009 --> 00:02:10,889 Se konsa, move pa asiyen memwa ou a. 46 00:02:10,889 --> 00:02:13,150 >> Se konsa, nan kesyon 1, nou te mande, ta kwè se vèsyon 2 a se 47 00:02:13,150 --> 00:02:14,230 konpile ak egzekite. 48 00:02:14,230 --> 00:02:15,900 Poukisa pwogram sa a ta ka segfault? 49 00:02:15,900 --> 00:02:17,990 Se konsa, yon sèl sa a ki pi piti a buggy. 50 00:02:17,990 --> 00:02:21,470 Apre sa, gen nan reyèlman sèlman yon sèl fason evidan ki kote ou kapab 51 00:02:21,470 --> 00:02:22,810 deklanche yon segfault isit la. 52 00:02:22,810 --> 00:02:23,730 Lè sa a se tematik. 53 00:02:23,730 --> 00:02:28,180 Nenpòt ki lè nou ap lè l sèvi avèk c nan memwa, ki sa ki ou ta ka fè pwovoke yon segfault 54 00:02:28,180 --> 00:02:30,718 ak vèsyon 2? 55 00:02:30,718 --> 00:02:35,560 >> ODYANS: Si ou itilize ke D 'nan yon kòd ki nan pi lontan pase 49 56 00:02:35,560 --> 00:02:35,975 karaktè. 57 00:02:35,975 --> 00:02:37,260 >> DAVID J. Malan: Egzakteman. 58 00:02:37,260 --> 00:02:41,420 Nenpòt ki lè w wè yon bagay fiks longè lè li rive yon etalaj, ou 59 00:02:41,420 --> 00:02:44,650 rada ta dwe ale nan ke sa a ta ka pwoblèm si ou pa ap tcheke nan 60 00:02:44,650 --> 00:02:45,810 limit nan yon etalaj. 61 00:02:45,810 --> 00:02:46,650 Epi sa a, pwoblèm nan isit la. 62 00:02:46,650 --> 00:02:47,910 Nou toujou ap lè l sèvi avèk skanf. 63 00:02:47,910 --> 00:02:52,200 Nou toujou ap lè l sèvi avèk% s, ki vle di eseye li yon fil ki soti nan itilizatè a. 64 00:02:52,200 --> 00:02:56,300 Sa k ap pase ou dwe li nan s, ki, nan pwen sa a, se efektivman an 65 00:02:56,300 --> 00:02:58,570 adrès nan yon ti moso nan memwa oswa li nan ekivalan. 66 00:02:58,570 --> 00:03:02,080 Li nan non an nan yon etalaj nan karaktè nan memwa. 67 00:03:02,080 --> 00:03:07,610 >> Men, egzakteman sa, si ou li yon fisèl sa a, se pi long pase 49 karaktè, 49 68 00:03:07,610 --> 00:03:10,440 paske ou bezwen plas pou antislach a 0, w ap ale nan debòde 69 00:03:10,440 --> 00:03:11,390 ki pezib. 70 00:03:11,390 --> 00:03:16,410 Apre sa, ou ta ka jwenn chans epi yo dwe kapab ekri yon karaktè 51st, 52yèm, 53rd. 71 00:03:16,410 --> 00:03:18,560 Men, nan kèk pwen, eksplwatasyon an ki pral di, pa gen. 72 00:03:18,560 --> 00:03:21,270 Sa a definitivman se pa memwa w ap pèmèt yo manyen. 73 00:03:21,270 --> 00:03:23,380 Apre sa, pwogram nan se ale nan segfault. 74 00:03:23,380 --> 00:03:26,650 >> Se konsa, gen, eristik yo ta dwe gen nenpòt ki tan ou te gen fiks longè, ou gen 75 00:03:26,650 --> 00:03:30,150 asire w ke ou ap tcheke longè a nan tou sa li se w ap eseye 76 00:03:30,150 --> 00:03:31,090 li nan li. 77 00:03:31,090 --> 00:03:35,110 >> ODYANS: Se konsa, yo rezoud sa a, ou ta ka te gen yon deklarasyon tcheke aktyèlman 78 00:03:35,110 --> 00:03:37,140 Kisa ki pi konsekan an longè pase oswa mwens pase? 79 00:03:37,140 --> 00:03:37,730 >> DAVID J. Malan: Absoliman. 80 00:03:37,730 --> 00:03:41,706 Ou jis gen yon kondisyon ki di, si - a 81 00:03:41,706 --> 00:03:46,080 oswa olye ou pa nesesèman konnen davans ki jan anpil karaktè a 82 00:03:46,080 --> 00:03:49,060 itilizatè ki pral tape, paske ou gen poul ak ze a. 83 00:03:49,060 --> 00:03:51,860 Se pa jouk ou te li li l 'nan ak skanf Èske ou ka konpwan konbyen tan li ye. 84 00:03:51,860 --> 00:03:54,500 Men, nan pwen sa, li a twò ta, paske ou te deja li li l 'nan 85 00:03:54,500 --> 00:03:55,710 kèk blòk nan memwa. 86 00:03:55,710 --> 00:03:59,590 Se konsa, kòm yon sou kote, evite yo bibliyotèk CS50 pwoblèm sa a tout ansanm, sonje 87 00:03:59,590 --> 00:04:01,060 lè l sèvi avèk fgetc. 88 00:04:01,060 --> 00:04:05,390 Apre sa, li li yon karaktè nan yon moman, pwent-toeing ansanm, konnen ke ou 89 00:04:05,390 --> 00:04:08,060 pa ka debòde yon karaktè si w ap li yon sèl nan yon tan. 90 00:04:08,060 --> 00:04:11,580 >> Trape a ap kanpe ak getstring sonje se ke nou gen toujou ap re-gwosè 91 00:04:11,580 --> 00:04:13,590 ki moso nan memwa, ki se jis yon doulè. 92 00:04:13,590 --> 00:04:15,310 Li se yon anpil nan liy nan Kòd fè sa. 93 00:04:15,310 --> 00:04:18,779 Se konsa, yon lòt apwòch ta dwe aktyèlman sèvi ak yon kouzen, se konsa 94 00:04:18,779 --> 00:04:19,790 yo pale, nan skanf. 95 00:04:19,790 --> 00:04:22,820 Gen variantes de yon anpil nan sa yo fonksyon ki aktyèlman tcheke nan 96 00:04:22,820 --> 00:04:25,870 longè ki jan anpil karaktè ou ta ka li omaksimòm. 97 00:04:25,870 --> 00:04:29,430 Apre sa, ou ta ka presize, pa li plis pase 50 karaktè. 98 00:04:29,430 --> 00:04:34,110 Se konsa, ki ta ka yon lòt apwòch men mwens pou akòmode nan pi gwo faktè pwodiksyon. 99 00:04:34,110 --> 00:04:37,040 >> Se konsa, kesyon 2 mande, ann sipoze ke vèsyon 3 se konpile ak egzekite. 100 00:04:37,040 --> 00:04:39,960 Poukisa ke pwogram ka segfault? 101 00:04:39,960 --> 00:04:42,650 Se konsa, yon sèl sa a se aktyèlman menm bagay la tou reponn, menm si li 102 00:04:42,650 --> 00:04:43,590 sanble yon ti kras amateur. 103 00:04:43,590 --> 00:04:46,440 Nou ap lè l sèvi avèk malok, ki santi l tankou nou ap bay tèt nou plis opsyon. 104 00:04:46,440 --> 00:04:48,030 Lè sa a, n ap libere ki memwa nan fen an. 105 00:04:48,030 --> 00:04:49,580 Li la toujou jis 50 bytes nan memwa. 106 00:04:49,580 --> 00:04:53,620 Se konsa, nou ta ka toujou eseye li nan 51, 52, 1,000 bytes. 107 00:04:53,620 --> 00:04:55,830 Li ale nan segfault pou egzakteman menm rezon an. 108 00:04:55,830 --> 00:04:57,530 >> Men, gen yon lòt rezon tou. 109 00:04:57,530 --> 00:05:03,890 Ki lòt bagay te kapab malok retounen san konte adrès ki nan yon ti moso nan memwa? 110 00:05:03,890 --> 00:05:04,920 Li kapab retounen nil. 111 00:05:04,920 --> 00:05:07,560 Apre sa, paske nou pa ap tcheke pou sa, nou ta ka fè yon bagay 112 00:05:07,560 --> 00:05:11,350 estipid pou yon lòt rezon ki fè, ki se ki nou ta ka di skanf, li 113 00:05:11,350 --> 00:05:16,050 D 'itilizatè a nan soti nan klavye a nan 0 kote, AKA nil. 114 00:05:16,050 --> 00:05:18,890 Epi ki, tou, yo pral definitivman deklanche yon segfault. 115 00:05:18,890 --> 00:05:21,590 Se konsa, nan bi pou egzamen an, nou ta te aksepte swa nan tout sa yo kòm yon 116 00:05:21,590 --> 00:05:22,740 rezon ki fè ki valid. 117 00:05:22,740 --> 00:05:23,420 Youn nan se ki idantik. 118 00:05:23,420 --> 00:05:25,720 Youn nan se yon ti kras plis nuans. 119 00:05:25,720 --> 00:05:28,975 >> Anfen, ki gen rapò ak nan pwogram nan pou sèvi ak memwa, ki jan fè vèsyon 2 ak 120 00:05:28,975 --> 00:05:30,350 vèsyon 3 diferan? 121 00:05:30,350 --> 00:05:35,070 Se konsa, pou ki sa li vo, nou te wè yon ekipman pou w pèdi kontinuèl nan posib 122 00:05:35,070 --> 00:05:35,770 repons a sa a. 123 00:05:35,770 --> 00:05:39,300 , Ak nan mitan repons moun nan, sa nou te tann pou, men nou aksepte lòt 124 00:05:39,300 --> 00:05:42,250 bagay sa yo, te gen kèk mansyone nan la reyalite ki vèsyon 2 ap itilize ap itilize 125 00:05:42,250 --> 00:05:44,560 chemine a sa yo rele. 126 00:05:44,560 --> 00:05:46,710 Version 3 se lè l sèvi avèk pil wòch la. 127 00:05:46,710 --> 00:05:50,060 Apre sa, fonksyonèl, sa a pa fè sa vrèman fè tout sa ki anpil nan yon diferans. 128 00:05:50,060 --> 00:05:54,040 Nan fen jou a, nou ap toujou jis ap resevwa 50 bytes nan memwa. 129 00:05:54,040 --> 00:05:56,640 >> Men, ki te youn nan repons yo posib ke nou te gade nan. 130 00:05:56,640 --> 00:05:59,730 Men, ou pral wè, menm jan ou jwenn ti tès ou tounen soti nan TFs a, se sa nou te fè sa 131 00:05:59,730 --> 00:06:04,330 aksepte lòt diskisyon nan yo itilizasyon disparate nan memwa tou. 132 00:06:04,330 --> 00:06:08,600 Men, chemine e yo ta pil wòch yo te yon repons fasil ale avèk yo. 133 00:06:08,600 --> 00:06:11,150 Nenpòt kesyon? 134 00:06:11,150 --> 00:06:12,400 Mwen ban nou Rob. 135 00:06:12,400 --> 00:06:18,360 136 00:06:18,360 --> 00:06:20,210 >> ROB BOWDEN: Se konsa, pwoblèm 4. 137 00:06:20,210 --> 00:06:21,985 Sa a se youn nan kote ou te gen yo ranpli nan kantite bytes soti nan tout 138 00:06:21,985 --> 00:06:23,460 sa yo kalite diferan itilize yo. 139 00:06:23,460 --> 00:06:24,830 Se konsa, premye bagay nou wè. 140 00:06:24,830 --> 00:06:27,930 Sipoze yon achitekti 32-ti jan, tankou sa a aparèy CS50. 141 00:06:27,930 --> 00:06:33,530 Se konsa, youn nan bagay ki fondamantal sou 32-bit architectures, ki di nou 142 00:06:33,530 --> 00:06:37,490 egzakteman ki jan gwo yon konsèy ki pral yo dwe nan achitekti la. 143 00:06:37,490 --> 00:06:43,020 >> Se konsa, imedyatman, nou konnen ke nenpòt ki konsèy di ki kalite se 32-Bits oswa 4 bytes. 144 00:06:43,020 --> 00:06:46,010 Se konsa, gade nan tablo sa a, yon ne * se yon kalite konsèy. 145 00:06:46,010 --> 00:06:47,250 Sa a pral fè 4 bytes. 146 00:06:47,250 --> 00:06:51,640 Konstri ne *, sa a, se literalman ki idantik ak zetwal ne. 147 00:06:51,640 --> 00:06:53,590 Se konsa, ki nan ale nan gen 4 bytes. 148 00:06:53,590 --> 00:06:58,270 Fisèl, kidonk li pa gade tankou yon konsèy ankò, men tipedèf, yon an 149 00:06:58,270 --> 00:07:01,590 fisèl se jis yon * Char, ki se yon kalite konsèy. 150 00:07:01,590 --> 00:07:03,550 Se konsa, ki k ap pase yo dwe 4 bytes. 151 00:07:03,550 --> 00:07:06,150 >> Se konsa, sa yo twa yo tout 4 bytes. 152 00:07:06,150 --> 00:07:09,350 Koulye a, ne ak elèv yo yon ti jan pi plis konplike. 153 00:07:09,350 --> 00:07:15,160 Se konsa, gade nan ne ak elèv, nou wè ne kòm yon nonb antye ki pè ak yon konsèy. 154 00:07:15,160 --> 00:07:18,050 Apre sa, elèv la de pwent andedan nan li. 155 00:07:18,050 --> 00:07:23,340 Se konsa, omwen pou ka nou an isit la, wout la ke nou fini kalkile gwosè a nan 156 00:07:23,340 --> 00:07:27,020 konstri sa a se jis ajoute jiska tout bagay sa a, se andedan konstri la. 157 00:07:27,020 --> 00:07:30,690 >> Se konsa, pou ne, nou gen yon nonb antye ki pè, ki se 4 bytes. 158 00:07:30,690 --> 00:07:32,830 Nou gen yon konsèy, ki se 4 bytes. 159 00:07:32,830 --> 00:07:35,820 Se konsa, yon sèl ne ki pral yo pran moute 8 bytes. 160 00:07:35,820 --> 00:07:39,490 Apre sa, Menm jan an tou pou elèv, nou gen yon konsèy sa a, se 4 bytes ak yon lòt 161 00:07:39,490 --> 00:07:40,770 konsèy sa a, se 4 bytes. 162 00:07:40,770 --> 00:07:43,180 Se konsa, ki k ap pase nan fen yo te 8 bytes. 163 00:07:43,180 --> 00:07:45,480 Se konsa, ne ak elèv yo se 8 bytes. 164 00:07:45,480 --> 00:07:48,950 Apre sa, twa bagay sa yo, yo tout 4 bytes. 165 00:07:48,950 --> 00:07:50,240 Kesyon sou sa? 166 00:07:50,240 --> 00:07:54,640 167 00:07:54,640 --> 00:07:54,990 Wi. 168 00:07:54,990 --> 00:07:58,413 >> ODYANS li: Eske se te yon 64-ti jan achitekti, ta pito wè 169 00:07:58,413 --> 00:07:59,880 double tout nan yo? 170 00:07:59,880 --> 00:08:01,790 >> ROB BOWDEN: Li pa t 'vle double tout nan yo. 171 00:08:01,790 --> 00:08:05,830 Se konsa, 64-ti jan achitekti, li, ankò, chanjman ki bagay fondamantal ke yon 172 00:08:05,830 --> 00:08:08,910 konsèy se kounye a 64 miyèt moso. 173 00:08:08,910 --> 00:08:09,290 Yeah. 174 00:08:09,290 --> 00:08:10,930 Se konsa, yon konsèy se 8 bytes. 175 00:08:10,930 --> 00:08:15,420 Se konsa, sa yo ki te 4 bytes yo ale nan pral 8 bytes. 176 00:08:15,420 --> 00:08:18,617 Yon elèv, sa ki te de pwent, byen, kounye a li nan ale nan 177 00:08:18,617 --> 00:08:19,800 pral 8 bytes, 8 bytes. 178 00:08:19,800 --> 00:08:21,980 Li pral fè 16 bytes. 179 00:08:21,980 --> 00:08:25,710 >> Men, yon ne se toujou 4 bytes. 180 00:08:25,710 --> 00:08:27,800 Se konsa, konsèy sa a ki pral yo dwe 8 ​​bytes. 181 00:08:27,800 --> 00:08:28,930 Sa a se 4 bytes. 182 00:08:28,930 --> 00:08:30,870 Se konsa, yon ne se sèlman pral yo dwe 12 bytes. 183 00:08:30,870 --> 00:08:36,309 184 00:08:36,309 --> 00:08:39,280 Nenpòt lòt kesyon sou sa yon sèl? 185 00:08:39,280 --> 00:08:44,500 Se konsa, yon sèl kap vini an, sa yo, se sitiyasyon HTTP kòd yo. 186 00:08:44,500 --> 00:08:48,000 Apre sa, ou te gen a dekri sikonstans anba ki sa yo ta ka 187 00:08:48,000 --> 00:08:49,810 dwe retounen nan ou. 188 00:08:49,810 --> 00:08:56,730 yon pwoblèm ki mwen tande kèk elèv gen se yo ke yo eseye fè nan 189 00:08:56,730 --> 00:08:58,950 erè dwe sou fen kliyan an. 190 00:08:58,950 --> 00:09:02,320 Se konsa, lè nou eseye fè demann lan nan sèvè a, yon bagay ale 191 00:09:02,320 --> 00:09:03,820 sa ki mal sou fen nou an. 192 00:09:03,820 --> 00:09:07,660 Men, jeneralman, kòd sa yo, se ke yo te tounen pa sèvè a. 193 00:09:07,660 --> 00:09:11,720 Se konsa, nou vle konnen ki sa k ap pase mal oswa dwa sou sèvè a ki 194 00:09:11,720 --> 00:09:14,280 lakòz bagay sa yo k ap tounen. 195 00:09:14,280 --> 00:09:18,670 Se konsa, poukisa ta ka yon retounen sèvè sitiyasyon Kòd 200? 196 00:09:18,670 --> 00:09:19,920 Nenpòt panse? 197 00:09:19,920 --> 00:09:23,360 198 00:09:23,360 --> 00:09:23,730 >> Yeah. 199 00:09:23,730 --> 00:09:27,850 Se konsa, yon bagay sou siksè demann lan mache ale nan tout. 200 00:09:27,850 --> 00:09:30,260 Apre sa, yo ap kapab retounen tou sa ou mande pou. 201 00:09:30,260 --> 00:09:32,240 Se konsa, tout bagay te amann. 202 00:09:32,240 --> 00:09:35,662 Ki sa ki sou 302 yo te jwenn? 203 00:09:35,662 --> 00:09:36,618 Yeah. 204 00:09:36,618 --> 00:09:39,008 >> ODYANS: sèvè a te kap pou sa ou mande a. 205 00:09:39,008 --> 00:09:40,442 Men, li pa t 'kapab jwenn li ankò. 206 00:09:40,442 --> 00:09:42,850 Se konsa, gen nan yon erè. 207 00:09:42,850 --> 00:09:47,720 >> ROB BOWDEN: Se konsa, sèvè a te kap chèche sa ou te vle. 208 00:09:47,720 --> 00:09:51,682 Se konsa, jis kap isit la, 302 jwenn, li te kapab jwenn li ankò. 209 00:09:51,682 --> 00:09:53,035 >> ODYANS: mwen regrèt. 210 00:09:53,035 --> 00:09:54,388 Twouve vle di ke yo te fè jwenn li ankò. 211 00:09:54,388 --> 00:09:55,638 M regrèt. 212 00:09:55,638 --> 00:09:58,120 213 00:09:58,120 --> 00:10:00,160 >> ROB BOWDEN: Se konsa, 302 te jwenn yo. 214 00:10:00,160 --> 00:10:02,350 Sèvè a se kapab jwenn ki sa ou te vle. 215 00:10:02,350 --> 00:10:04,640 >> ODYANS: Men, li pa nan montre li? 216 00:10:04,640 --> 00:10:08,180 >> ROB BOWDEN: Diferans ki genyen ant sa a 302 ak 200 se ke li 217 00:10:08,180 --> 00:10:09,280 konnen sa ki ou vle. 218 00:10:09,280 --> 00:10:12,000 Men se pa egzakteman ki kote ou te vle mande la a. 219 00:10:12,000 --> 00:10:14,580 Se konsa, 302 se yon redireksyon òdinè. 220 00:10:14,580 --> 00:10:16,510 Se konsa, ou mande yon paj. 221 00:10:16,510 --> 00:10:19,590 Li konnen, o, mwen vle retounen ou sa a. 222 00:10:19,590 --> 00:10:21,070 Men, sa a se nan yon URL diferan. 223 00:10:21,070 --> 00:10:23,534 Se konsa, hey, ou aktyèlman vle sa a. 224 00:10:23,534 --> 00:10:26,950 >> DAVID J. Malan: Se yon moso ki t'ap di: ke nou te ban nou mesye yon redireksyon 225 00:10:26,950 --> 00:10:30,830 fonksyon ki itilize fonksyon an header ki, nan vire, enprime soti kote, 226 00:10:30,830 --> 00:10:34,110 kolon, ak Lè sa a, URL la nan ki ou vle rejte itilizatè a. 227 00:10:34,110 --> 00:10:37,480 Menm si ou pa t 'wè 302 klèman la, se sa ki PHP 228 00:10:37,480 --> 00:10:41,550 ta maji insert kòm lento a li di ekzakteman ki sa Rob di: - 229 00:10:41,550 --> 00:10:41,930 jwenn. 230 00:10:41,930 --> 00:10:43,180 Men, ale isit la pito. 231 00:10:43,180 --> 00:10:45,960 232 00:10:45,960 --> 00:10:46,160 >> ROB BOWDEN: OK. 233 00:10:46,160 --> 00:10:47,630 Se konsa, sa ki sou 403 entèdi? 234 00:10:47,630 --> 00:10:52,240 235 00:10:52,240 --> 00:10:57,120 >> ODYANS: Mwen panse ke li a ki sèvè a se fondamantalman ki di ke kliyan an 236 00:10:57,120 --> 00:10:59,970 pa ka jwenn aksè paj la kay la. 237 00:10:59,970 --> 00:11:03,260 >> ROB BOWDEN: Se konsa, repons lan se wi. 238 00:11:03,260 --> 00:11:07,670 Oke, repons lan tipik nou te ap tann se yon bagay tankou, dosye yo 239 00:11:07,670 --> 00:11:08,920 yo pa chmodded kòmsadwa. 240 00:11:08,920 --> 00:11:11,590 Sa a pwobableman nan ki sikonstans ou te wè yo. 241 00:11:11,590 --> 00:11:18,920 Men, gen yon rezon ki fè ke kliyan an ta ka nan fay isit la. 242 00:11:18,920 --> 00:11:20,440 Genyen aktyèlman yon lòt Kòd estati - 243 00:11:20,440 --> 00:11:21,210 401. 244 00:11:21,210 --> 00:11:22,820 Se konsa, sa yo, se trè sanblab. 245 00:11:22,820 --> 00:11:24,590 >> 401 se san otorizasyon. 246 00:11:24,590 --> 00:11:26,130 Apre sa, 403 se entèdi. 247 00:11:26,130 --> 00:11:31,890 Se konsa, san otorizasyon ou sèlman jwenn si ou pa ap louvri sesyon pous 248 00:11:31,890 --> 00:11:34,520 Men, ouvri sesyon an ta ka vle di ke ou ap otorize. 249 00:11:34,520 --> 00:11:37,930 Men, si w ap deja louvri sesyon an, epi ou toujou pa gen pèmisyon, lè sa a 250 00:11:37,930 --> 00:11:40,140 ou ka jwenn entèdi tou. 251 00:11:40,140 --> 00:11:45,320 Se konsa, si w ap louvri sesyon an epi yo pa gen pèmisyon, entèdi tou se 252 00:11:45,320 --> 00:11:47,164 yon bagay ou ka jwenn. 253 00:11:47,164 --> 00:11:48,900 >> DAVID J. Malan: Apre sa, mekanis a pa ki pwoblèm sa yo yo anjeneral 254 00:11:48,900 --> 00:11:53,100 rezoud sou sèvè a se atravè sa ki komand yo ye? 255 00:11:53,100 --> 00:11:57,700 Chmod, si li nan, tout bon, yon otorizasyon bay nan dosye a oswa anyè. 256 00:11:57,700 --> 00:11:59,220 >> ROB BOWDEN: Lè sa a, 404 pa jwenn. 257 00:11:59,220 --> 00:12:03,100 258 00:12:03,100 --> 00:12:03,470 Yeah. 259 00:12:03,470 --> 00:12:10,150 Se konsa, kontrèman ak 302 kote li te pa egzakteman ki kote ou ap mande men li konnen sa ki 260 00:12:10,150 --> 00:12:12,710 ou vle, sa a, li jis gen gen okenn lide ki sa ou vle. 261 00:12:12,710 --> 00:12:15,648 Epi ou pa ap mande yon bagay ki valid. 262 00:12:15,648 --> 00:12:18,580 263 00:12:18,580 --> 00:12:22,310 418 mwen se yon teyèr ak Lè sa a, 500 sèvè entèn yo. 264 00:12:22,310 --> 00:12:24,870 Se konsa, poukisa ou ta ka jwenn sa? 265 00:12:24,870 --> 00:12:26,120 >> Se konsa, segfault - 266 00:12:26,120 --> 00:12:28,760 267 00:12:28,760 --> 00:12:30,640 Mwen aktyèlman pa konnen jan yo bay nòt estanda pou sa a. 268 00:12:30,640 --> 00:12:34,850 Men, si Kòd PHP ou te gen yon bagay sa ki mal nan li, nan teyori, li te kapab 269 00:12:34,850 --> 00:12:39,650 aktyèlman segfault, nan ki ka, sa a 500 sèvè entèn erè, yon bagay 270 00:12:39,650 --> 00:12:41,400 se sa ki mal ak nan sèvè ou konfigirasyon. 271 00:12:41,400 --> 00:12:44,320 Oswa gen yon erè sentaks nan Kòd PHP ou. 272 00:12:44,320 --> 00:12:46,095 Oswa yon move bagay ki pral sou. 273 00:12:46,095 --> 00:12:48,320 >> DAVID J. Malan: Nou t 'wè segfault nan mitan repons yon kèk moun. 274 00:12:48,320 --> 00:12:49,490 Apre sa, teknikman, li te ka rive. 275 00:12:49,490 --> 00:12:53,820 Men, ki ta ka yon PHP, pwogram lan ekri pa lòt moun, aktyèlman 276 00:12:53,820 --> 00:12:57,790 segfaulted, ki te sèlman si moun sa yo vise leve, li te ekri kòd buggy nan 277 00:12:57,790 --> 00:13:00,680 entèprèt yo ta PHP tèt li segfault. 278 00:13:00,680 --> 00:13:06,460 Se konsa, menm si 500 se tankou yon segfault nan Lespri Bondye, li nan prèske toujou la 279 00:13:06,460 --> 00:13:10,490 rezilta nan yon pwoblèm dosye konfigirasyon ak sèvè sit entènèt ou oubyen, jan Rob te di, 280 00:13:10,490 --> 00:13:13,200 yon erè sentaks, tankou ou pa t 'fèmen yon quote. 281 00:13:13,200 --> 00:13:16,180 Oswa ou pèdi yon pwenvigil yon kote. 282 00:13:16,180 --> 00:13:23,677 >> ODYANS: Se konsa, pou pset la Shuttle, mwen panse lè m 'te fè li yon fwa mwen klike la 283 00:13:23,677 --> 00:13:26,300 navigatè, men pa gen anyen li moute soti deyò, sa yo te rele paj blan. 284 00:13:26,300 --> 00:13:28,056 Men, li te paske nan kòd la. 285 00:13:28,056 --> 00:13:29,440 Mwen panse ke sa ki te JavaScript, dwa? 286 00:13:29,440 --> 00:13:29,770 >> ROB BOWDEN: Yeah. 287 00:13:29,770 --> 00:13:31,180 >> ODYANS: Èske ke erè toujou vini? 288 00:13:31,180 --> 00:13:34,290 >> ROB BOWDEN: Se konsa, ou pa ta vinn erè sa a paske tout bagay 289 00:13:34,290 --> 00:13:36,930 nan pèspektiv sèvè wèb la a te konplètman amann. 290 00:13:36,930 --> 00:13:39,090 Men, ou mande index.html. 291 00:13:39,090 --> 00:13:42,000 Ou mande shuttle.js ak service.js. 292 00:13:42,000 --> 00:13:44,580 Apre sa, li te kapab avèk siksè retounen ou tout nan bagay sa yo - 293 00:13:44,580 --> 00:13:44,980 200. 294 00:13:44,980 --> 00:13:45,680 OK. 295 00:13:45,680 --> 00:13:49,330 Li nan sèlman lè navigatè ou a te eseye entèprete kòd la JavaScript ki 296 00:13:49,330 --> 00:13:51,370 Se tankou, rete tann, sa a se pa ki valid JavaScript erè. 297 00:13:51,370 --> 00:13:55,720 298 00:13:55,720 --> 00:13:58,210 Nenpòt lòt kesyon? 299 00:13:58,210 --> 00:14:00,750 Tout dwa. 300 00:14:00,750 --> 00:14:04,120 >> DAVID J. Malan: Se konsa, pwochen moute te nimewo 11. 301 00:14:04,120 --> 00:14:07,610 Apre sa, 11 te efreyant la pou yon anpil nan moun. 302 00:14:07,610 --> 00:14:14,620 303 00:14:14,620 --> 00:14:18,570 Se konsa, bagay ki pi enpòtan sonje isit la te ke sa a te, tout bon, sou 304 00:14:18,570 --> 00:14:19,840 yon lis doubl lye. 305 00:14:19,840 --> 00:14:23,160 Men, sa a pa t 'menm bagay la tou kòm ane pase a doubl lye pwoblèm lis, 306 00:14:23,160 --> 00:14:27,170 ki pa t 'ba ou opozisyon an ki lis la t 'kapab, an reyalite, gen triye. 307 00:14:27,170 --> 00:14:29,640 >> Se konsa, lefèt ke lis la te triye ak lefèt ke mo sa a te 308 00:14:29,640 --> 00:14:32,930 souliye te gen vle di ke yo transmèt ke sa a se aktyèlman yon senplifikasyon 309 00:14:32,930 --> 00:14:35,430 nan sa ki otreman ta gen yon pwoblèm ki pi difisil 310 00:14:35,430 --> 00:14:36,600 ak youn ki pi long. 311 00:14:36,600 --> 00:14:40,760 Se konsa, yon erè komen isit la se te ou te mete solisyon ane pase a sou yon sèl ou 312 00:14:40,760 --> 00:14:45,580 bipè ak Lè sa a, jis je fèmen kopi ki desann kòm repons lan, ki se dwa pou 313 00:14:45,580 --> 00:14:48,520 reponn a yon kesyon diferan menm jan an nan Lespri Bondye. 314 00:14:48,520 --> 00:14:51,340 Men, sibtilite sa yo isit la te jan sa a. 315 00:14:51,340 --> 00:14:55,200 >> Se konsa, yon sèl, nou te yon ne te deklare ak sa defini nan wout la nòmal isit la. 316 00:14:55,200 --> 00:14:59,230 Lè sa a, nou defini lis gen yon mondyal konsèy initialisé nil. 317 00:14:59,230 --> 00:15:02,150 Lè sa a, aparamman, gen nan de fonksyon nou gen prototip pou isit la, insert 318 00:15:02,150 --> 00:15:03,240 epi retire. 319 00:15:03,240 --> 00:15:06,600 Lè sa a, nou gen kèk Kòd echantiyon isit la pou fè yon pakèt moun sou parusyon. 320 00:15:06,600 --> 00:15:09,930 Lè sa a, nou mande w yo fini nan aplikasyon nan insert anba a nan sa yo 321 00:15:09,930 --> 00:15:14,380 yon fason ke li foure n nan lis la nan tan konstan, tou souliye, 322 00:15:14,380 --> 00:15:15,730 menm si deja prezan. 323 00:15:15,730 --> 00:15:20,600 >> Se konsa, bote nan ke yo te kapab insert nan tan konstan se ke li implique 324 00:15:20,600 --> 00:15:23,060 ki di ou gen insert ne nan nouvo ki kote? 325 00:15:23,060 --> 00:15:23,690 Nan devan an. 326 00:15:23,690 --> 00:15:27,760 Se konsa, li elimine, Erezman, omwen youn nan ka yo ki te konn mande pou 327 00:15:27,760 --> 00:15:30,520 menm plis liy nan Kòd, tankou li te fè ane pase a e menm nan klas lè nou 328 00:15:30,520 --> 00:15:34,040 te pale nan sa a kalite bagay ak imen ak ak kèk 329 00:15:34,040 --> 00:15:35,250 vèbal Kòd pseudo. 330 00:15:35,250 --> 00:15:39,190 Se konsa, nan solisyon an isit la, se pou yo sote sou ak sa yo ki jis yo gen yon sou vizyèl 331 00:15:39,190 --> 00:15:40,480 ekran an. 332 00:15:40,480 --> 00:15:42,230 >> Remake n ap fè sa ki annapre yo. 333 00:15:42,230 --> 00:15:45,140 Epi tou remake lòt senplifikasyon an te ke menm si li nan 334 00:15:45,140 --> 00:15:48,280 deja prezan, se konsa sa sa vle di menm si nimewo a se deja a, ou kapab 335 00:15:48,280 --> 00:15:50,280 jis je fèmen insert yon lòt kopi li. 336 00:15:50,280 --> 00:15:52,560 Epi ki, tou, te vle di ke yo gen yon senplifikasyon, se konsa ke ou te kapab 337 00:15:52,560 --> 00:15:54,940 konsantre sou, reyèlman, kèk nan pi plis nan entelektyèlman enteresan pati ak 338 00:15:54,940 --> 00:15:58,090 pa sèlman kèk erè plis tcheke bay tan an limite. 339 00:15:58,090 --> 00:16:02,880 >> Se konsa, nan echantiyon solisyon sa a, nou asiyen yon konsèy sou-men la kite 340 00:16:02,880 --> 00:16:04,510 bò isit la nan yon ne. 341 00:16:04,510 --> 00:16:07,190 Koulye a, reyalize ke konsèy, menm jan Rob te di, se sèlman 32 miyèt moso. 342 00:16:07,190 --> 00:16:09,060 E li pa aktyèlman gen yon adrès jiskaske ou 343 00:16:09,060 --> 00:16:09,970 bay li adrès la. 344 00:16:09,970 --> 00:16:13,220 Apre sa, nou fè sa sou-bò dwat bò atravè malok. 345 00:16:13,220 --> 00:16:16,550 Tankou yon bon sitwayen, nou tcheke ki malok se pa, an reyalite, nil, se konsa ke 346 00:16:16,550 --> 00:16:18,690 nou pa aksidantèlman kreye yon segfault isit la. 347 00:16:18,690 --> 00:16:22,840 Apre sa, nenpòt ki lè ou itilize malok nan lavi yo, ou yo ta dwe tcheke pou nil, pou 348 00:16:22,840 --> 00:16:24,090 ou gen yon ensèk sibtil. 349 00:16:24,090 --> 00:16:28,460 >> Lè sa a, nou inisyalize ki nil pa plase n ak Previous ak pwochen. 350 00:16:28,460 --> 00:16:32,450 Apre sa, nan ka sa a isit la, mwen initialisé anvan nil, paske sa a nouvo 351 00:16:32,450 --> 00:16:34,780 ne a pwal nouvo a kòmanse nan lis mwen an. 352 00:16:34,780 --> 00:16:37,050 Se konsa, gen k ap pase yo dwe pa gen anyen devan li. 353 00:16:37,050 --> 00:16:42,010 Apre sa, mwen vle esansyèlman kole nan lis ki ekziste nan ale ne nan nouvo pa 354 00:16:42,010 --> 00:16:44,700 mete pwochen egal a lis tèt li. 355 00:16:44,700 --> 00:16:47,120 Men, mwen pa fè jis ankò. 356 00:16:47,120 --> 00:16:51,780 Se konsa, si lis nan tèt li deja egziste, e te gen omwen yon ne 357 00:16:51,780 --> 00:16:57,070 deja an plas, si sa a se lis la isit la e mwen mete yon nouvo ne isit la, mwen 358 00:16:57,070 --> 00:17:01,840 bezwen asire w ke ansyen ne m ' pwen bak nan nouvo ne m 'yo, 359 00:17:01,840 --> 00:17:04,260 paske sa a se, ankò, yon lis doubl lye. 360 00:17:04,260 --> 00:17:05,460 >> Se konsa, nou fè yon chèk saniti. 361 00:17:05,460 --> 00:17:10,109 Si lis se pa nil, si gen nan deja youn oswa plis nœuds a, Lè sa a, 362 00:17:10,109 --> 00:17:12,470 ajoute ke tounen referans se konsa yo pale. 363 00:17:12,470 --> 00:17:15,420 Lè sa a, bagay la trè dènye nou bezwen dwe fè se aktyèlman aktyalizasyon mondyal la 364 00:17:15,420 --> 00:17:20,329 varyab lis tèt li nan pwen ak sa yo ki nouvo ne. 365 00:17:20,329 --> 00:17:21,790 Yeah. 366 00:17:21,790 --> 00:17:26,579 >> ODYANS: Nan flèch la konsèy [Fèbl] egal nil, fè sa 367 00:17:26,579 --> 00:17:30,420 fè fas ak lis la paske lis la se nil? 368 00:17:30,420 --> 00:17:30,596 >> DAVID J. Malan: non. 369 00:17:30,596 --> 00:17:34,500 Sa se tou senpleman m 'yo te dinamik atansyon, nan ki si sa a se mwen an 370 00:17:34,500 --> 00:17:38,730 lis orijinal ak petèt kèk nœuds plis sou isit la ak mwen yo mete m ' 371 00:17:38,730 --> 00:17:42,380 nouvo ne sou isit la, gen k ap pase yo dwe pa gen anyen plis pase isit la. 372 00:17:42,380 --> 00:17:44,720 Apre sa, mwen vle pran lide sa a pa mete anvan 373 00:17:44,720 --> 00:17:47,740 nil sou ne a nouvo. 374 00:17:47,740 --> 00:17:51,410 Apre sa, prezimableman, si Kòd mwen an se kòrèk ak gen nan pa gen lòt fason yo insert 375 00:17:51,410 --> 00:17:54,970 nœuds lòt pase fonksyon sa a, prezimableman, menm si lis deja gen 376 00:17:54,970 --> 00:18:00,090 youn oswa plis nœuds nan li, prezimableman la lis, ne a an premye, ta gen yon 377 00:18:00,090 --> 00:18:02,750 konsèy anvan yo nil tèt li. 378 00:18:02,750 --> 00:18:03,550 >> ODYANS: Apre sa, jis yon suivi. 379 00:18:03,550 --> 00:18:08,139 Rezon ki fè la ou mete konsèy egal pwochen lis ki ou ap fè konsèy la 380 00:18:08,139 --> 00:18:13,579 anvan lis nan ke li nan montre pwochen an, mwen devine - 381 00:18:13,579 --> 00:18:14,980 Mwen pèdi san fwa - 382 00:18:14,980 --> 00:18:15,450 jis bay lis? 383 00:18:15,450 --> 00:18:16,400 >> DAVID J. Malan: Egzakteman. 384 00:18:16,400 --> 00:18:19,400 Se konsa, kite a aktyèlman konsidere de ka isit la reyèlman, menm si la 385 00:18:19,400 --> 00:18:22,070 lòd nou pral konsidere yo se pa byen menm jan ak kòd la. 386 00:18:22,070 --> 00:18:26,250 Men, sou yon nivo ki wo, si sa a reprezante lis ak sa a se yon 32-bit 387 00:18:26,250 --> 00:18:29,560 konsèy, senaryo a ki pi senp lan se ke sa a se nil pa default. 388 00:18:29,560 --> 00:18:33,010 Apre sa, ta kwè mwen vle insert la nimewo 50 te nimewo a an premye. 389 00:18:33,010 --> 00:18:37,640 Se konsa, mwen pral ale pi devan epi asiyen yon ne, ki se ale nan gen 390 00:18:37,640 --> 00:18:38,770 twa jaden - 391 00:18:38,770 --> 00:18:42,070 n, anvan, epi kap vini an. 392 00:18:42,070 --> 00:18:44,580 >> Mwen pral mete nimewo a 50 isit la, paske sa a pral n. 393 00:18:44,580 --> 00:18:46,130 Sa a pral vini yo. 394 00:18:46,130 --> 00:18:48,530 Lè sa a yo pral anvan yo. 395 00:18:48,530 --> 00:18:50,910 Se konsa, sa m 'fè nan ka sa a? 396 00:18:50,910 --> 00:18:53,900 Oke, Mwen te jis fè liy 1 isit la. 397 00:18:53,900 --> 00:18:55,400 Pwente n vin n. 398 00:18:55,400 --> 00:18:57,740 Mwen Lè sa a, li di yo: anvan ta dwe pran nil. 399 00:18:57,740 --> 00:18:59,470 Se konsa, sa a se pral yo dwe nil. 400 00:18:59,470 --> 00:19:01,365 Lè sa a, mwen pral di pwochen ki pral jwenn lis. 401 00:19:01,365 --> 00:19:05,150 >> Lè sa a jis travay yo deyò byen. 402 00:19:05,150 --> 00:19:06,500 Sa a se nil. 403 00:19:06,500 --> 00:19:10,620 Se konsa, m ap di, ne la nan nouvo pwochen jaden ta dwe pran tou sa sa a se. 404 00:19:10,620 --> 00:19:12,570 Se konsa, ki mete yon lòt nil la. 405 00:19:12,570 --> 00:19:14,510 Lè sa a, bagay la pase Mwen se tcheke isit la. 406 00:19:14,510 --> 00:19:17,870 Si lis se pa egal a nil, men li ki egal a nil, se konsa nou sote ki 407 00:19:17,870 --> 00:19:18,470 tout ansanm. 408 00:19:18,470 --> 00:19:23,520 Se konsa tout m 'fè pwochen se lis vin konsèy, ki pictorially rezilta yo nan 409 00:19:23,520 --> 00:19:25,570 yon foto tankou sa. 410 00:19:25,570 --> 00:19:26,620 Se konsa, sa a, se yon sèl senaryo. 411 00:19:26,620 --> 00:19:30,490 >> Apre sa, youn nan ki ou te poze kesyon sou espesyalman se yon sitiyasyon tankou sa a, 412 00:19:30,490 --> 00:19:33,190 kote nou deja genyen yon lis yon sèl-ne. 413 00:19:33,190 --> 00:19:36,240 Men, si m 'ale tounen moute nan orijinal la deklarasyon pwoblèm, pwochen an nou pral 414 00:19:36,240 --> 00:19:39,320 insert di se 34, jis pou dedomajman pou la nan diskisyon. 415 00:19:39,320 --> 00:19:46,210 Se konsa, mwen pral jis yon bon trase ke plis pase isit la. 416 00:19:46,210 --> 00:19:47,540 Mwen te jis malloced. 417 00:19:47,540 --> 00:19:49,310 Se pou yo asime mwen tcheke pou nil. 418 00:19:49,310 --> 00:19:51,870 >> Koulye a, mwen pral inisyalize n yo dwe 34. 419 00:19:51,870 --> 00:19:53,040 Lè sa a yo pral n. 420 00:19:53,040 --> 00:19:54,670 Sa a pral vini yo. 421 00:19:54,670 --> 00:19:57,100 Lè sa a yo pral anvan yo. 422 00:19:57,100 --> 00:19:59,370 Se pou yo asire yo ke mwen pa t ' jwenn sa a fè bak. 423 00:19:59,370 --> 00:20:01,110 Previous ki vini anvan nan definisyon an. 424 00:20:01,110 --> 00:20:03,070 Kite m 'ranje sa a. 425 00:20:03,070 --> 00:20:04,410 Sa a se anvan yo. 426 00:20:04,410 --> 00:20:05,780 Sa a se kap vini an. 427 00:20:05,780 --> 00:20:08,620 Menm si sa yo, se idantik, kite a kenbe l 'ki konsistan. 428 00:20:08,620 --> 00:20:09,450 >> Anvan yo. 429 00:20:09,450 --> 00:20:11,030 Sa a se kap vini an. 430 00:20:11,030 --> 00:20:16,310 Se konsa, mwen te jis malloced nòt m 'yo, tcheke pou nil, plase 34 nan ne an. 431 00:20:16,310 --> 00:20:17,570 Previous vin nil. 432 00:20:17,570 --> 00:20:19,480 Se konsa, ki ban m 'sa. 433 00:20:19,480 --> 00:20:21,010 Next vin lis. 434 00:20:21,010 --> 00:20:22,370 Se konsa, lis la se sa a. 435 00:20:22,370 --> 00:20:26,520 Se konsa, sa a se menm bagay la tou kounye a kòm desen sa a flèch, sa yo ke yo lonje dwèt sou yon sèl 436 00:20:26,520 --> 00:20:27,940 nan menm bagay la. 437 00:20:27,940 --> 00:20:30,400 Lè sa a, mwen tcheke si lis se pa egal a nil. 438 00:20:30,400 --> 00:20:31,740 Epi li pa tan sa a. 439 00:20:31,740 --> 00:20:35,580 Lè sa a, mwen pral fè lis anvan yo vin konsèy. 440 00:20:35,580 --> 00:20:39,700 >> Se konsa, fè lis anvan vin ptr. 441 00:20:39,700 --> 00:20:44,300 Se konsa, sa a gen efè a nan mete yon flèch grafik isit la. 442 00:20:44,300 --> 00:20:46,930 Epi sa a, ap resevwa yon ti kras tranble, liy yo. 443 00:20:46,930 --> 00:20:50,780 Lè sa a,, alafen, mwen mete lis nan pwen konsèy. 444 00:20:50,780 --> 00:20:55,560 Se konsa, kounye a sa a lonje dwèt nan nèg sa a. 445 00:20:55,560 --> 00:20:57,170 Epi, koulye a, se pou yo fè yon rapid saniti chèk la. 446 00:20:57,170 --> 00:20:59,470 >> Isit la nan lis la, ki se varyab mondyal la. 447 00:20:59,470 --> 00:21:02,850 Ne an premye se, tout bon, 34, paske Mwen vin apre flèch. 448 00:21:02,850 --> 00:21:05,210 Epi sa a, kòrèk paske mwen vle insert nan konmansman an nan lis la 449 00:21:05,210 --> 00:21:06,070 tout nouvo ne. 450 00:21:06,070 --> 00:21:08,860 Jaden pwochen l 'mennen m nan nèg sa a. 451 00:21:08,860 --> 00:21:10,710 Si m 'kenbe ale, mwen frape pwochen se nil. 452 00:21:10,710 --> 00:21:11,760 Se konsa, gen nan pa gen lis plis ankò. 453 00:21:11,760 --> 00:21:14,460 Si m 'frape anvan, mwen jwenn tounen kote mwen atann. 454 00:21:14,460 --> 00:21:16,435 >> Se konsa, gen toujou yon pwent kèk, evidamman, yo manipile. 455 00:21:16,435 --> 00:21:19,870 Men, lefèt ke yo te di ou fè sa a nan tan konstan vle di ou sèlman 456 00:21:19,870 --> 00:21:22,910 gen yon nimewo fini de bagay sa yo w ap pèmèt yo fè. 457 00:21:22,910 --> 00:21:24,290 Ak sa ki ladan nimewo? 458 00:21:24,290 --> 00:21:25,185 Li ka fè yon sèl etap. 459 00:21:25,185 --> 00:21:25,700 Li ta ka gen de. 460 00:21:25,700 --> 00:21:26,820 Li ta kapab 1,000 etap. 461 00:21:26,820 --> 00:21:30,500 Men, li la fini, ki vle di ou pa kapab te nenpòt kalite loupin ale sou 462 00:21:30,500 --> 00:21:32,010 isit la, pa gen rkursyon, pa gen pasan. 463 00:21:32,010 --> 00:21:37,390 Se jis te rive nan gen liy difisil-kode nan kòd jan nou gen nan echantiyon sa a. 464 00:21:37,390 --> 00:21:42,330 >> Se konsa, pwoblèm nan pwochen 12 mande nou ranpli aplikasyon an nan retire 465 00:21:42,330 --> 00:21:46,740 anba a nan yon fason ke li retire n nan lis la nan tan lineyè. 466 00:21:46,740 --> 00:21:48,740 Se konsa, ou gen yon ti kras pi plis chanm Ajite kounye a. 467 00:21:48,740 --> 00:21:52,380 Ou ka asime ke n, si prezan nan lis la, ap prezan 468 00:21:52,380 --> 00:21:53,340 pa gen plis pase yon fwa. 469 00:21:53,340 --> 00:21:56,770 E ke tou ki te vle di yo dwe yon ki baze sou egzamen senplifye sipozisyon, se konsa 470 00:21:56,770 --> 00:21:59,780 ke si ou jwenn nimewo 50 yon kote an nan lis la, ou pa fè sa tou 471 00:21:59,780 --> 00:22:02,890 gen enkyete sou kontinye repňte, kap pou chak posib 472 00:22:02,890 --> 00:22:06,990 kopi 50, ki ta jis transfere nan kèk karakteristik nan tan limite. 473 00:22:06,990 --> 00:22:10,460 >> Se konsa, avèk retire, yon sèl sa a te definitivman pi difisil ak plis ankò 474 00:22:10,460 --> 00:22:11,640 Kòd ekri. 475 00:22:11,640 --> 00:22:14,990 Men, nan premye gade, franchman, li ta ka gade akablan ak tankou yon bagay 476 00:22:14,990 --> 00:22:17,060 gen nan pa gen fason ou ka gen vini ak sou yon egzamen. 477 00:22:17,060 --> 00:22:22,450 Men, si nou konsantre sou etap sa yo endividyèl, èspere ke, li pral toudenkou 478 00:22:22,450 --> 00:22:26,060 frape ou ke chak nan sa yo moun etap fè sans evidan 479 00:22:26,060 --> 00:22:27,080 nan retrospective. 480 00:22:27,080 --> 00:22:28,200 Se konsa, kite a pran yon gade. 481 00:22:28,200 --> 00:22:32,570 >> Se konsa, premye, nou inisyalize konsèy yo dwe fè lis tèt li. 482 00:22:32,570 --> 00:22:36,040 Paske mwen vle tan lineyè, ki vle di Mwen pral gen kèk bouk. 483 00:22:36,040 --> 00:22:39,730 Apre sa, yon fason komen nan repňte sou la nœuds nan yon estrikti lis oswa nenpòt kalite 484 00:22:39,730 --> 00:22:43,860 nan estrikti iterativman se pran yon konsèy devan nan done yo 485 00:22:43,860 --> 00:22:46,990 estrikti ak Lè sa a, jis kòmanse à li epi li mache fason ou 486 00:22:46,990 --> 00:22:48,650 nan estrikti a done. 487 00:22:48,650 --> 00:22:50,040 Se konsa, mwen pral fè egzakteman sa. 488 00:22:50,040 --> 00:22:54,260 >> Pandan ke konsèy, varyab pou yon ti tan m 'yo, se pa egal a nil, se pou yo 489 00:22:54,260 --> 00:22:55,660 ale pi devan epi tcheke. 490 00:22:55,660 --> 00:22:56,910 Èske mwen kapab jwenn chans? 491 00:22:56,910 --> 00:23:01,740 Èske jaden an n nan ne an mwen se kounye a gade nan egal a la 492 00:23:01,740 --> 00:23:03,380 nimewo m 'ap chache? 493 00:23:03,380 --> 00:23:05,410 Men, si se konsa, se pou yo fè yon bagay. 494 00:23:05,410 --> 00:23:10,020 Koulye a, remake sa a si kondisyon antoure tout la 495 00:23:10,020 --> 00:23:11,520 liy sa yo nan kòd. 496 00:23:11,520 --> 00:23:14,610 Sa a se bagay la sèlman mwen pran swen sou - jwenn yon nimewo nan kesyon an. 497 00:23:14,610 --> 00:23:18,010 Se konsa, gen nan pa gen lòt moun, ki senplifye bagay sa yo concept yon ti kras. 498 00:23:18,010 --> 00:23:22,040 >> Men koulye a,, mwen reyalize, epi ou ka gen sèlman reyalize sa a apre panse 499 00:23:22,040 --> 00:23:24,720 li nan yon ti jan, gen nan aktyèlman de ka isit la. 500 00:23:24,720 --> 00:23:28,060 Youn nan se kote ne a se nan la kòmanse nan lis la, ki se yon 501 00:23:28,060 --> 00:23:31,040 ti kras anmèdan, paske sa a, se yon ka espesyal, paske ou gen fè fas 502 00:23:31,040 --> 00:23:33,340 ak bagay sa a, ki se anomali a sèlman. 503 00:23:33,340 --> 00:23:35,720 Tout kote lòt moun nan lis la, li nan menm bagay la. 504 00:23:35,720 --> 00:23:38,050 Genyen yon ne anvan ak yon pwochen ne, ne anvan, pwochen ne. 505 00:23:38,050 --> 00:23:40,940 Men, nèg sa a se yon ti kras espesyal si li nan premye jou a. 506 00:23:40,940 --> 00:23:48,710 >> Se konsa, si konsèy la egal lis la tèt li, Se konsa, si mwen se nan konmansman an nan 507 00:23:48,710 --> 00:23:53,960 lis la ak mwen te jwenn n, mwen bezwen fè yon koup la bagay sa yo. 508 00:23:53,960 --> 00:23:59,230 Youn, mwen bezwen chanje lis pwen nan jaden an kap vini an, 50. 509 00:23:59,230 --> 00:24:01,270 Se konsa, ta kwè se mwen ap eseye yo retire 34. 510 00:24:01,270 --> 00:24:03,560 Se konsa, nèg sa a te rive nan ale lwen nan jis yon ti moman. 511 00:24:03,560 --> 00:24:07,210 >> Se konsa, mwen pral di, lis vin konsèy kap vini an. 512 00:24:07,210 --> 00:24:08,570 Oke, sa a se konsèy. 513 00:24:08,570 --> 00:24:10,360 Next ap montre sou isit la. 514 00:24:10,360 --> 00:24:17,470 Se konsa, sa a se chanje sa a dwa flèch kounye a nan pwen nan nèg sa a isit la. 515 00:24:17,470 --> 00:24:19,580 Koulye a, sonje, nou gen yon varyab pou yon ti tan. 516 00:24:19,580 --> 00:24:23,520 Se konsa, nou pa t 'òfelen nenpòt nœuds, paske mwen yo te genyen tou nèg sa a nan mwen 517 00:24:23,520 --> 00:24:25,010 mete sou pye retire. 518 00:24:25,010 --> 00:24:29,600 Se konsa, koulye a, si lis tèt li se pa nil, Mwen bezwen ranje yon ti kras yon bagay. 519 00:24:29,600 --> 00:24:32,690 >> Mwen bezwen kounye a asire w ke flèch sa a, ki se deja montre 520 00:24:32,690 --> 00:24:36,830 soti nan 50 a 34, sa a te gen l 'ale, paske si mwen ap eseye debarase m 521 00:24:36,830 --> 00:24:41,910 nan 34, 50 te gen pi bon pa kenbe nenpòt ki kalite tounen referans a li kòm la 522 00:24:41,910 --> 00:24:42,820 flèch sijere. 523 00:24:42,820 --> 00:24:44,820 Se konsa, mwen jis te fè liy sa a. 524 00:24:44,820 --> 00:24:46,520 Se konsa, Lè sa a, mwen fè. 525 00:24:46,520 --> 00:24:48,040 Sa a se aktyèlman trè fasil. 526 00:24:48,040 --> 00:24:51,010 Découper koupe tèt la nan lis la se relativman senp. 527 00:24:51,010 --> 00:24:52,980 >> Malerezman, gen nan sa a anmèdan lòt moun blòk. 528 00:24:52,980 --> 00:24:56,170 Se konsa, koulye a, mwen gen yo konsidere ka-a kote ki gen nan yon bagay nan mitan yo. 529 00:24:56,170 --> 00:24:59,880 Men, li la pa twò terib yo, eksepte pou sentaks tankou sa a. 530 00:24:59,880 --> 00:25:03,080 Se konsa, si mwen pa nan konmansman an nan la lis, mwen se yon kote nan mitan an. 531 00:25:03,080 --> 00:25:08,160 Epi se liy sa a isit la li di yo: kòmanse nan tou sa ne ou nan. 532 00:25:08,160 --> 00:25:11,210 533 00:25:11,210 --> 00:25:18,550 Ale nan pwochen jaden anvan ne la epi montre ke nan konsèy la. 534 00:25:18,550 --> 00:25:20,390 >> Se pou yo fè sa pictorially. 535 00:25:20,390 --> 00:25:21,640 Ki te resevwa konplike. 536 00:25:21,640 --> 00:25:30,480 537 00:25:30,480 --> 00:25:37,990 Se konsa, si mwen gen yon jaden anvan isit la - ann fè sa a - jaden pwochen isit la. 538 00:25:37,990 --> 00:25:41,200 Mwen pral senplifye endikasyon mwen an olye pase trase yon pakèt tout 539 00:25:41,200 --> 00:25:45,710 bagay sa yo dèyè, yo soti crisscrossing youn ak lòt. 540 00:25:45,710 --> 00:25:50,870 Koulye a, kite yo jis di sa a se 1, 2, 3 pou dedomajman pou la nan diskisyon, menm 541 00:25:50,870 --> 00:25:53,410 menm si ki pa liy moute ak pwoblèm nan nan kesyon an. 542 00:25:53,410 --> 00:25:55,900 >> Se konsa, isit la nan lis lye m 'yo. 543 00:25:55,900 --> 00:25:59,300 Mwen ap eseye retire de nan sa a vèsyon patikilye nan istwa a. 544 00:25:59,300 --> 00:26:01,960 Se konsa, mwen te mete ajou konsèy dwe montre nèg sa a. 545 00:26:01,960 --> 00:26:03,315 Se konsa, sa a se ptr. 546 00:26:03,315 --> 00:26:04,530 Li te montre isit la. 547 00:26:04,530 --> 00:26:07,170 Sa a se lis, ki egziste globalman tankou anvan. 548 00:26:07,170 --> 00:26:09,200 Apre sa, li te montre isit la pa gen pwoblèm sa. 549 00:26:09,200 --> 00:26:10,800 Epi, koulye a, mwen ap eseye retire de. 550 00:26:10,800 --> 00:26:13,850 >> Se konsa, si konsèy ap montre isit la, mwen se pral swiv, aparamman, nan 551 00:26:13,850 --> 00:26:17,110 konsèy anvan yo, ki mete m 'nan 1. 552 00:26:17,110 --> 00:26:22,290 Mwen Lè sa a, ale nan di ke pwochen an jaden, ki pote m 'nan men sa a 553 00:26:22,290 --> 00:26:25,410 bwat isit la, se ale nan egal konsèy kap vini an. 554 00:26:25,410 --> 00:26:28,400 Se konsa, si konsèy sa a, sa a se kap vini an. 555 00:26:28,400 --> 00:26:31,840 Sa vle di ke sa a bezwen flèch nan pwen sa a Guy. 556 00:26:31,840 --> 00:26:35,140 >> Se konsa, sa ki liy nan Kòd gen jis fè a se yon ti kras nan sa a. 557 00:26:35,140 --> 00:26:37,500 Epi, koulye a, sa a se kap tankou yon etap nan bon direksyon an. 558 00:26:37,500 --> 00:26:41,390 Nou esansyèlman vle li ka koupe 2 soti nan mitan an nan 1 ak 3. 559 00:26:41,390 --> 00:26:44,400 Se konsa, li fè sans ke nou vle wout konsèy sa a fè wonn li. 560 00:26:44,400 --> 00:26:50,400 Se konsa, liy sa a pwochen se tcheke si konsèy pwochen se pa nil, gen nan 561 00:26:50,400 --> 00:26:54,200 tout bon yon moun a dwat a 2, sa vle di nou gen tou fè 562 00:26:54,200 --> 00:26:55,850 yon ti kras ka koupe isit la. 563 00:26:55,850 --> 00:27:00,590 >> Se konsa, mwen koulye a bezwen swiv konsèy sa a epi mete ajou konsèy la anvan sou 564 00:27:00,590 --> 00:27:05,410 nèg sa a fè yon ti kras nan yon solisyon isit la pwen an isit la. 565 00:27:05,410 --> 00:27:07,100 Epi, koulye a, vizyèlman sa a se bèl. 566 00:27:07,100 --> 00:27:11,930 Li se yon ti kras lèd nan ki gen nan pa gen yon sèl montre nan 2 a ankò. 567 00:27:11,930 --> 00:27:13,600 2 ap montre sou bò goch la. 568 00:27:13,600 --> 00:27:14,980 Ak 2 yo montre sou bò dwat la. 569 00:27:14,980 --> 00:27:17,480 Men, li ka fè kèlkeswa sa li vle, paske li a sou jwenn te libere. 570 00:27:17,480 --> 00:27:19,480 Apre sa, li pa gen pwoblèm sa valè sa yo yo ankò. 571 00:27:19,480 --> 00:27:23,040 >> Ki sa ki nan enpòtan se ke rete nan mesye yo routage pi wo a 572 00:27:23,040 --> 00:27:24,280 ak anba a l 'kounye a. 573 00:27:24,280 --> 00:27:25,810 Ak tout bon, se sa ki nou fè kap vini an. 574 00:27:25,810 --> 00:27:29,360 Nou gratis konsèy, ki vle di nou di a sistèm opere, se ou ki akeyi 575 00:27:29,360 --> 00:27:30,906 nan reklame sa a. 576 00:27:30,906 --> 00:27:34,900 Lè sa a, Finalman, nou retounen. 577 00:27:34,900 --> 00:27:37,220 Lòt Bagay chal, si nou pa te retounen ankò, 578 00:27:37,220 --> 00:27:38,290 nou te gen kenbe gade. 579 00:27:38,290 --> 00:27:41,485 Se konsa, konsèy egal konsèy pwochen jis vle di deplase nèg sa a isit la. 580 00:27:41,485 --> 00:27:42,600 Deplase nèg sa a isit la. 581 00:27:42,600 --> 00:27:45,400 Deplase nèg sa a isit la si, an reyalite, nou pa t 'jwenn kantite 582 00:27:45,400 --> 00:27:46,960 nou ap chèche pou ankò. 583 00:27:46,960 --> 00:27:49,630 >> Se konsa, franchman, li sanble konplètman akablan, mwen panse ke, nan premye 584 00:27:49,630 --> 00:27:52,180 ti koutje sou, espesyalman si w plede ak sa a pandan egzamen an Lè sa a, wè 585 00:27:52,180 --> 00:27:52,850 yon bagay tankou sa a. 586 00:27:52,850 --> 00:27:55,050 Epi ou PAT tèt ou sou do an. 587 00:27:55,050 --> 00:27:57,080 Oke, gen nan pa gen fason mwen te kapab gen vini ak sa a sou egzamen an. 588 00:27:57,080 --> 00:28:00,470 Men, mwen ta diskite, ou ka si ou kase li desann nan sa yo moun 589 00:28:00,470 --> 00:28:04,400 ka ak jis mache nan li ak anpil atansyon, kwake, Byensir, anba 590 00:28:04,400 --> 00:28:06,300 sikonstans estrès. 591 00:28:06,300 --> 00:28:09,470 >> Erezman, foto a te fè tout bagay pi kontan. 592 00:28:09,470 --> 00:28:11,050 Ou te kapab trase sa a nan nenpòt ki kantite fason. 593 00:28:11,050 --> 00:28:12,760 Ou pa oblije fè crisscrossing la bagay isit la. 594 00:28:12,760 --> 00:28:14,520 Ou te kapab fè l 'ak tou dwat liy tankou sa a. 595 00:28:14,520 --> 00:28:18,790 Men, esansyèl la nan pwoblèm sa a, nan jeneral, te reyalize ke nan 596 00:28:18,790 --> 00:28:22,060 foto nan fen a ta dwe gade yon ti kras yon bagay tankou sa a, paske 597 00:28:22,060 --> 00:28:25,030 tan konstan enplisit ke ou kenbe blocage ak blocage ak blocage a 598 00:28:25,030 --> 00:28:29,900 nouvo nœuds nan kòmansman an nan lis la. 599 00:28:29,900 --> 00:28:31,960 Nenpòt kesyon? 600 00:28:31,960 --> 00:28:34,565 Pwobableman pi difisil la nan sètènman kesyon yo kodaj. 601 00:28:34,565 --> 00:28:37,690 >> ODYANS: Se konsa, se lis ki sanble ak tèt nan egzanp anvan yo. 602 00:28:37,690 --> 00:28:39,640 >> DAVID J. Malan: Egzakteman, egzakteman. 603 00:28:39,640 --> 00:28:43,130 Jis yon non diferan pou yon varyab mondyal la. 604 00:28:43,130 --> 00:28:44,380 World Wide ki sa? 605 00:28:44,380 --> 00:28:48,880 606 00:28:48,880 --> 00:28:49,730 >> ROB BOWDEN: OK. 607 00:28:49,730 --> 00:28:52,020 Se konsa, sa a se youn nan kote ou te gen yo ekri paragraf la. 608 00:28:52,020 --> 00:28:56,060 Gen kèk moun ki te ekri redaksyon pou kesyon sa a. 609 00:28:56,060 --> 00:29:00,230 Men, ou jis bezwen sèvi ak sis tèm sa yo a dekri sa ki pase lè 610 00:29:00,230 --> 00:29:02,440 ou eseye kontakte facebook.com. 611 00:29:02,440 --> 00:29:07,930 Se konsa, mwen pral jis pale atravè tout pwosesis la lè l sèvi avèk tout tèm sa yo. 612 00:29:07,930 --> 00:29:11,290 Se konsa, nan navigatè nou yo, nou tape facebook.com ak frape Mete. 613 00:29:11,290 --> 00:29:17,280 Se konsa, navigatè nou an ale nan konstwi yon HTTP mande pou li a pral voye 614 00:29:17,280 --> 00:29:22,220 atravè kèk pwosesis Facebook pou Facebook yo pou yo reponn nou ak nan 615 00:29:22,220 --> 00:29:24,450 HTML nan paj li yo. 616 00:29:24,450 --> 00:29:28,800 >> Se konsa, sa se pwosesis la pa ki demann lan HTTP 617 00:29:28,800 --> 00:29:30,730 aktyèlman vin Facebook? 618 00:29:30,730 --> 00:29:32,790 Se konsa, premye, nou bezwen tradui Facebook.com. 619 00:29:32,790 --> 00:29:38,780 Se konsa, jis bay non an Facebook.com, kote aktyèlman fè demann lan HTTP 620 00:29:38,780 --> 00:29:39,940 bezwen ale? 621 00:29:39,940 --> 00:29:44,120 Se konsa, nou bezwen tradui Facebook.com nan yon adrès IP, ki inikman 622 00:29:44,120 --> 00:29:47,620 idantifye sa ki machin nou aktyèlman vle voye demann sa a. 623 00:29:47,620 --> 00:29:49,310 Laptop ou a gen yon adrès IP. 624 00:29:49,310 --> 00:29:52,240 Nenpòt bagay konekte ak entènèt la gen yon adrès IP. 625 00:29:52,240 --> 00:29:59,030 >> Se konsa, dns, Domèn Non System, se sa ki sa k ap pase okipe tradiksyon an 626 00:29:59,030 --> 00:30:03,750 soti nan facebook.com nan yon adrès IP ki ou aktyèlman vle kontakte a. 627 00:30:03,750 --> 00:30:08,075 Se konsa, nou kontakte serveurs yo dns ak di, ki sa ki facebook.com? 628 00:30:08,075 --> 00:30:16,560 Li di, o, li nan adrès IP 190,212 yon bagay, yon bagay, yon bagay. 629 00:30:16,560 --> 00:30:16,900 Tout dwa. 630 00:30:16,900 --> 00:30:18,850 Koulye a, mwen konnen ki sa machin Mwen vle kontakte a. 631 00:30:18,850 --> 00:30:22,360 >> Se konsa, Lè sa a, ou voye demann HTTP ou sou ak sa yo ki machin. 632 00:30:22,360 --> 00:30:24,140 Se konsa, li montre kouman li jwenn ak sa yo ki machin? 633 00:30:24,140 --> 00:30:27,200 Oke, demann lan ale soti nan routeur routeur rebondi. 634 00:30:27,200 --> 00:30:32,630 Sonje egzanp lan nan klas, kote nou aktyèlman wè wout la ki la 635 00:30:32,630 --> 00:30:35,340 sache ki te pran lè nou te eseye yo kominike. 636 00:30:35,340 --> 00:30:38,460 Nou te wè li sote sou Atlantik la Oseyan nan yon pwen oswa kèlkeswa sa. 637 00:30:38,460 --> 00:30:42,820 >> Se konsa, pò ki sot pase a tèm. 638 00:30:42,820 --> 00:30:46,520 Se konsa, sa a se kounye a sou òdinatè ou. 639 00:30:46,520 --> 00:30:49,970 Ou ka gen plizyè bagay sa yo kounye a kominike ak entènèt la. 640 00:30:49,970 --> 00:30:53,730 Se konsa, mwen ka kouri, di, Skype. 641 00:30:53,730 --> 00:30:55,670 Mwen ta ka gen yon navigatè entènèt louvri. 642 00:30:55,670 --> 00:30:59,010 Mwen ta ka gen yon bagay ki torrenting dosye. 643 00:30:59,010 --> 00:31:00,880 Se konsa, tout bagay sa yo, se kominike ak nan 644 00:31:00,880 --> 00:31:02,600 entènèt nan kèk fason. 645 00:31:02,600 --> 00:31:08,070 >> Se konsa, lè òdinatè w lan ap resevwa kèk done soti nan entènèt la, ki jan fè li 646 00:31:08,070 --> 00:31:10,130 konnen ki sa aplikasyon aktyèlman vle done yo? 647 00:31:10,130 --> 00:31:12,610 Ki jan li konnen si sa a an patikilye se done vle di pou la 648 00:31:12,610 --> 00:31:16,070 torrenting aplikasyon tankou yo te opoze navigatè wèb la? 649 00:31:16,070 --> 00:31:20,980 Se konsa, sa a se bi pou yo pò nan ki tout nan aplikasyon sa yo gen 650 00:31:20,980 --> 00:31:22,720 reklame yon pò sou òdinatè ou. 651 00:31:22,720 --> 00:31:27,580 Se konsa, navigatè entènèt ou di, hey, M'ap koute ou sou pò 1000. 652 00:31:27,580 --> 00:31:32,240 Epi se pwogram torrenting ou li di yo: M'ap koute ou sou pò 3000. 653 00:31:32,240 --> 00:31:34,770 Apre sa, Skype di, mwen lè l sèvi avèk pò 4000. 654 00:31:34,770 --> 00:31:41,950 >> Se konsa, lè ou jwenn kèk done pou moun ki te nan youn nan aplikasyon sa yo, done yo 655 00:31:41,950 --> 00:31:45,510 se te make ak ki pò li aktyèlman yo ta dwe voye ansanm ak li. 656 00:31:45,510 --> 00:31:47,950 Se konsa, sa a di, o, mwen fè pati nan pò 1000. 657 00:31:47,950 --> 00:31:50,950 Mwen konnen lè sa a mwen bezwen voye sa a sou ti navigatè entènèt mwen an. 658 00:31:50,950 --> 00:31:56,440 Se konsa, rezon ki fè yo li nan ki enpòtan isit la se ke serveurs entènèt yo gen tandans 659 00:31:56,440 --> 00:31:58,240 koute sou pò 80. 660 00:31:58,240 --> 00:32:02,420 Se konsa, lè mwen kontakte Facebook.com, mwen se kominike ak kèk machin. 661 00:32:02,420 --> 00:32:06,390 Men, mwen bezwen di ki pò nan ki machin mwen vle kominike avèk yo. 662 00:32:06,390 --> 00:32:09,160 Ak serveurs entènèt gen tandans yo dwe koute sou pò 80. 663 00:32:09,160 --> 00:32:14,010 >> Si yo te vle, yo ka mete l ' moute se konsa li bay lis kòm sou pò 7000. 664 00:32:14,010 --> 00:32:19,090 Lè sa a, nan yon navigatè entènèt, mwen te kapab manyèlman tape Facebook.com: 7000 665 00:32:19,090 --> 00:32:24,600 voye demann lan nan pò 7000 nan sèvè wèb Facebook a. 666 00:32:24,600 --> 00:32:26,820 >> DAVID J. Malan: Apre sa, nan ka sa a, menm menm si nou pa t 'mande pou ke gen moun ki 667 00:32:26,820 --> 00:32:30,000 mansyone sa a, nan ka sa a, ki sa ki pò ta demann lan aktyèlman ale nan? 668 00:32:30,000 --> 00:32:36,630 669 00:32:36,630 --> 00:32:37,880 Eseye ankò. 670 00:32:37,880 --> 00:32:42,810 671 00:32:42,810 --> 00:32:44,300 Egzakteman. 672 00:32:44,300 --> 00:32:47,960 Pa kap chèche sa, men yon sibtilite sa a, se gen pesonn dènye an. 673 00:32:47,960 --> 00:32:51,770 >> ROB BOWDEN: Se konsa, t la, depi li nan koute espesyalman pou la 674 00:32:51,770 --> 00:32:55,180 chiffres, li la sou pò 4430. 675 00:32:55,180 --> 00:32:57,680 >> ODYANS: Apre sa, Imèl yo se 25, dwa? 676 00:32:57,680 --> 00:33:00,670 >> DAVID J. Malan: sortan Imèl, 25, wi. 677 00:33:00,670 --> 00:33:03,760 >> ROB BOWDEN: Mwen pa menm konnen pi fò nan - tout nan nan yo menm ki pi ba gen tandans yo dwe 678 00:33:03,760 --> 00:33:06,310 rezève pou bagay sa yo. 679 00:33:06,310 --> 00:33:09,260 Mwen panse ke tout bagay anba 1024 se rezève. 680 00:33:09,260 --> 00:33:13,450 >> ODYANS: Poukisa ou te di 3 te nimewo a mal? 681 00:33:13,450 --> 00:33:18,820 >> ROB BOWDEN: Paske nan yon adrès IP, gen nan kat gwoupman nan chif. 682 00:33:18,820 --> 00:33:21,090 Apre sa, yo ap ki ant 0 a 255. 683 00:33:21,090 --> 00:33:28,060 Se konsa, 192.168.2.1 se yon komen lokal rezo IP adrès. 684 00:33:28,060 --> 00:33:30,840 Avi tout moun ki gen mwens pase 255. 685 00:33:30,840 --> 00:33:33,570 Se konsa, lè m 'te kòmanse avèk 300, ki pa t 'kapab pètèt gen 686 00:33:33,570 --> 00:33:35,210 te yonn nan nimewo yo. 687 00:33:35,210 --> 00:33:38,170 >> DAVID J. Malan: Men, sa komik clip soti nan - li te ksi, kote yo te gen yon 688 00:33:38,170 --> 00:33:39,970 nimewo ki te twò gwo pou adrès la IP. 689 00:33:39,970 --> 00:33:42,940 690 00:33:42,940 --> 00:33:46,110 >> ROB BOWDEN: Nenpòt kesyon sou sa a? 691 00:33:46,110 --> 00:33:51,710 Yon sèl kap vini an, chanjman pou ranpli nan sijè, men nou gen sa a etalaj PHP pou 692 00:33:51,710 --> 00:33:53,270 kay yo ki nan kwadwilatè la. 693 00:33:53,270 --> 00:33:56,360 Epi nou gen yon lis unordered. 694 00:33:56,360 --> 00:33:59,550 Apre sa, nou vle enprime soti chak lis atik jis ki gen non an kay la. 695 00:33:59,550 --> 00:34:09,090 696 00:34:09,090 --> 00:34:11,870 Se konsa, nou gen yon bouk fortch. 697 00:34:11,870 --> 00:34:17,540 Se konsa, sonje, sentaks la se fortch etalaj kòm atik nan etalaj la. 698 00:34:17,540 --> 00:34:22,360 Se konsa, nan chak iterasyon nan bouk la, kay ki pral pran sou youn nan 699 00:34:22,360 --> 00:34:24,060 valè andedan nan etalaj la. 700 00:34:24,060 --> 00:34:26,530 >> Sou premye iterasyon, kay la yo pral Cabot House. 701 00:34:26,530 --> 00:34:30,370 Sou yon iterasyon dezyèm lan, kay yo pral gen Courier House ak sou sa. 702 00:34:30,370 --> 00:34:34,370 Se konsa, pou chak kwadwilatè kòm kay, nou ap jis ale nan ekri ak lèt ​​detache - 703 00:34:34,370 --> 00:34:37,250 nou menm tou nou te kapab répéta - 704 00:34:37,250 --> 00:34:42,199 atik la lis ak Lè sa a, Non kay la ak Lè sa a, fèmen lis atik la. 705 00:34:42,199 --> 00:34:45,210 Aparèy òtopedik yo Curly yo se si ou vle isit la. 706 00:34:45,210 --> 00:34:49,480 >> Lè sa a, nou menm tou nou te di nan kesyon an tèt li, sonje yo fèmen an 707 00:34:49,480 --> 00:34:50,770 lis unordered tag. 708 00:34:50,770 --> 00:34:53,949 Se konsa, nou bezwen sòti mòd PHP yo nan lòd yo fè sa. 709 00:34:53,949 --> 00:35:00,280 Oswa nou te ka genyen répéta la fèmen lis unordered tag. 710 00:35:00,280 --> 00:35:02,380 >> DAVID J. Malan: Epitou amann isit la ta yo te sèvi ak yon lekòl fin vye granmoun pou 711 00:35:02,380 --> 00:35:07,340 bouk ak yon $ mwen = 0 0 ak lè l sèvi avèk konte rive sou konnen longè a nan ray la. 712 00:35:07,340 --> 00:35:09,240 Totalman amann tou, jis yon ti kras wordier. 713 00:35:09,240 --> 00:35:12,170 714 00:35:12,170 --> 00:35:14,742 >> ODYANS: Se konsa, si ou te ale nan [Fèbl], ou ta fè - 715 00:35:14,742 --> 00:35:16,734 Mwen bliye sa bouk la [fèbl] se. 716 00:35:16,734 --> 00:35:21,380 Èske ou ta $ kwadwilatè bracket mwen? 717 00:35:21,380 --> 00:35:21,850 >> DAVID J. Malan: Egzakteman. 718 00:35:21,850 --> 00:35:23,100 Yeah, egzakteman. 719 00:35:23,100 --> 00:35:26,650 720 00:35:26,650 --> 00:35:27,900 >> ROB BOWDEN: Nenpòt bagay lòt moun? 721 00:35:27,900 --> 00:35:31,350 722 00:35:31,350 --> 00:35:32,010 >> DAVID J. Malan: Tout dwat. 723 00:35:32,010 --> 00:35:32,300 Komès-konpwomi. 724 00:35:32,300 --> 00:35:38,290 Se konsa, te gen grap rezen repons posib pou chak nan sa yo. 725 00:35:38,290 --> 00:35:40,510 Nou te vrèman jis kap chèche yon bagay impérieux pou yon tèt ak 726 00:35:40,510 --> 00:35:41,100 yon enkonvenyans. 727 00:35:41,100 --> 00:35:44,830 Ak nimewo 16 mande l ': validation itilizatè' D 'kliyan-kòt, menm jan ak JavaScript, 728 00:35:44,830 --> 00:35:47,280 olye pou yo sèvè-bò, menm jan ak PHP. 729 00:35:47,280 --> 00:35:49,450 Se konsa, sa se yon tèt nan fè kliyan-kòt? 730 00:35:49,450 --> 00:35:53,780 >> Oke, youn nan bagay sa yo nou pwopoze a se ke ou diminye latansi, paske ou 731 00:35:53,780 --> 00:35:56,750 pa gen bezwen deranje w kontakte nan sèvè, ki ta ka pran kèk 732 00:35:56,750 --> 00:36:00,390 milisgond oswa menm yon koup la segonn nan evite ke ak jis 733 00:36:00,390 --> 00:36:04,670 validation itilizatè 'D' kliyan kòt-a lakòz yon Handler sou-soumèt ak 734 00:36:04,670 --> 00:36:06,650 jis kont kouran, yo te tape yon bagay nan pou non? 735 00:36:06,650 --> 00:36:08,080 Eske yo te tape yon bagay nan pou adrès imèl? 736 00:36:08,080 --> 00:36:10,950 Eske yo te chwazi yon dòtwa soti nan meni an gout-desann? 737 00:36:10,950 --> 00:36:14,360 >> Ou ka ba yo Feedback Enstantane lè l sèvi avèk òdinatè a jigaèrts 738 00:36:14,360 --> 00:36:16,770 oswa kèlkeswa sa yo gen ki nan aktyèlman sou biwo yo. 739 00:36:16,770 --> 00:36:19,310 Se konsa, li nan jis yon itilizatè pi bon eksperyans tipikman. 740 00:36:19,310 --> 00:36:24,460 Men, yon inconvénient pou fè kliyan-kòt Validasyon, si ou fè li san yo pa tou 741 00:36:24,460 --> 00:36:29,860 fè sèvè-bò validation se ke pi nenpòt moun ki ap vini soti nan CS50 konnen 742 00:36:29,860 --> 00:36:33,980 ke ou ka jis voye nenpòt done ou vle nan yon sèvè nenpòt ki kantite fason. 743 00:36:33,980 --> 00:36:37,030 Franchman, nan pi fò nenpòt ki navigatè, ou ka klike sou alantou an anviwònman yo ak jis 744 00:36:37,030 --> 00:36:40,110 fèmen JavaScript, ki ta, Se poutèt sa, enfim nenpòt fòm 745 00:36:40,110 --> 00:36:41,080 Validasyon. 746 00:36:41,080 --> 00:36:44,460 >> Men, nou menm tou nou ta ka sonje ke menm mwen te fè kèk bagay Esoteric nan klas lè l sèvi avèk 747 00:36:44,460 --> 00:36:47,790 telne ak aktyèlman parèt tankou mwen gen yon navigatè pa voye Pran 748 00:36:47,790 --> 00:36:49,240 demann nan yon sèvè. 749 00:36:49,240 --> 00:36:51,030 Epi sa a, sètènman pa lè l sèvi avèk nenpòt ki JavaScript. 750 00:36:51,030 --> 00:36:53,290 Se jis m 'tape kòmandman nan yon klavye. 751 00:36:53,290 --> 00:36:57,410 Se konsa, reyèlman, nenpòt pwogramè nan ase konfò ak sit entènèt la ak HTTP 752 00:36:57,410 --> 00:37:01,690 te kapab voye tou sa done li oswa li te vle nan yon sèvè san yo pa validation. 753 00:37:01,690 --> 00:37:05,470 Men, si sèvè ou se pa tou kont kouran, yo te ban m 'yon non, se 754 00:37:05,470 --> 00:37:08,930 sa a aktyèlman yon adrès imel ki valab, te fè yo chwazi yon dòtwa, ou ta ka fini 755 00:37:08,930 --> 00:37:12,800 moute yo mete fos oswa jis done vid nan baz done ou a, ki pwobableman 756 00:37:12,800 --> 00:37:15,450 se pa pral fè yon bon bagay si ou te asepte li te la. 757 00:37:15,450 --> 00:37:16,770 >> Se konsa, sa a se yon reyalite anmèdan. 758 00:37:16,770 --> 00:37:19,890 Men, an jeneral, kliyan-kòt Validasyon se gwo. 759 00:37:19,890 --> 00:37:21,810 Men, sa vle di li de fwa lavalè travay. 760 00:37:21,810 --> 00:37:25,970 Malgre ke gen fè egziste divès kalite bibliyotèk, JavaScript pou 761 00:37:25,970 --> 00:37:28,830 egzanp, ki fè sa a anpil, anpil mwens nan yon tèt fè mal. 762 00:37:28,830 --> 00:37:31,940 Epi ou ka jam itilize kèk nan kòd la sèvè-bò, kliyan-kòt. 763 00:37:31,940 --> 00:37:35,980 Men mwen reyalize ke li se tipikman plis travay. 764 00:37:35,980 --> 00:37:36,415 Yeah. 765 00:37:36,415 --> 00:37:37,792 >> ODYANS: Se konsa, si nou jis di mwens ki an sekirite - 766 00:37:37,792 --> 00:37:39,205 >> DAVID J. Malan: [ri] 767 00:37:39,205 --> 00:37:39,680 Pwa. 768 00:37:39,680 --> 00:37:43,105 Moun sa yo ki yo toujou pi rèd la moun deside. 769 00:37:43,105 --> 00:37:44,480 >> ROB BOWDEN: ki ta yo te aksepte. 770 00:37:44,480 --> 00:37:44,810 >> DAVID J. Malan: Ki sa? 771 00:37:44,810 --> 00:37:45,810 >> ROB BOWDEN: mwen te kreye pwoblèm sa a. 772 00:37:45,810 --> 00:37:46,735 Sa ta yo te aksepte. 773 00:37:46,735 --> 00:37:47,220 >> DAVID J. Malan: Yeah. 774 00:37:47,220 --> 00:37:47,830 >> ODYANS: Cool. 775 00:37:47,830 --> 00:37:51,770 >> ROB BOWDEN: Men, nou pa t 'resevwa pou youn nan premye - 776 00:37:51,770 --> 00:37:53,630 byen, ki sa nou te kap chèche se yon bagay tankou ou pa bezwen 777 00:37:53,630 --> 00:37:55,270 kominike ak sèvè a. 778 00:37:55,270 --> 00:37:58,355 Nou pa t 'resevwa jis pi vit. 779 00:37:58,355 --> 00:38:00,080 >> ODYANS: Ki sa ki sou pa Reload paj? 780 00:38:00,080 --> 00:38:00,430 >> ROB BOWDEN: Wi. 781 00:38:00,430 --> 00:38:03,000 Sa ki te yon repons aksepte. 782 00:38:03,000 --> 00:38:06,300 >> DAVID J. Malan: Nenpòt bagay ki kote nou te santi li te plis chans pase pa gen anpil chans 783 00:38:06,300 --> 00:38:09,780 ke ou te konnen sa ou te li di, ki se yon difisil 784 00:38:09,780 --> 00:38:13,500 liy trase pafwa. 785 00:38:13,500 --> 00:38:16,000 Lè l sèvi avèk yon lis lye olye pou nan yon etalaj yo kenbe yon 786 00:38:16,000 --> 00:38:17,590 Ranje lis nonm antye. 787 00:38:17,590 --> 00:38:21,000 Se konsa, yon tèt nou souvan site ak lye lis ki motive tout yo 788 00:38:21,000 --> 00:38:22,370 entwodiksyon te ou jwenn vanse. 789 00:38:22,370 --> 00:38:23,030 Yo ka grandi. 790 00:38:23,030 --> 00:38:23,950 Yo ka retresi. 791 00:38:23,950 --> 00:38:27,370 Se konsa, ou pa gen so nan sèrkl ki aktyèlman kreye plis memwa 792 00:38:27,370 --> 00:38:28,140 ak yon etalaj. 793 00:38:28,140 --> 00:38:30,310 Oswa ou pa bezwen jis di, regrèt sa, itilizatè. 794 00:38:30,310 --> 00:38:31,410 Se etalaj la plen. 795 00:38:31,410 --> 00:38:35,850 Se konsa, dinamik kwasans nan lis la. 796 00:38:35,850 --> 00:38:37,210 Yon inconvénient menm si nan lis lye? 797 00:38:37,210 --> 00:38:40,916 798 00:38:40,916 --> 00:38:43,356 >> ODYANS: Se lineyè. 799 00:38:43,356 --> 00:38:45,800 Rechèch sou lis lye se lineyè olye pou yo sa ou louvri sesyon 800 00:38:45,800 --> 00:38:46,360 >> DAVID J. Malan: Egzakteman. 801 00:38:46,360 --> 00:38:50,160 Rechèch sou yon lis lye se lineyè, menm si li nan Ranje, paske ou kapab 802 00:38:50,160 --> 00:38:53,170 sèlman swiv sa yo ti kal pen pen, sa yo endikasyon, ki soti nan kòmansman an nan lis la 803 00:38:53,170 --> 00:38:53,570 nan fen an. 804 00:38:53,570 --> 00:38:57,970 Ou pa ka ogmante aksè o aza, epi, Se konsa, binè rechèch, menm si li nan 805 00:38:57,970 --> 00:39:00,740 Ranje, ke ou ta ka fè ak yon etalaj. 806 00:39:00,740 --> 00:39:02,390 Apre sa, gen nan yon lòt pri. 807 00:39:02,390 --> 00:39:02,966 Yeah. 808 00:39:02,966 --> 00:39:03,800 >> ODYANS: memwa rezèvwa? 809 00:39:03,800 --> 00:39:04,130 >> DAVID J. Malan: Yeah. 810 00:39:04,130 --> 00:39:06,940 Bon, mwen ta pa nesesèman di rezèvwa. 811 00:39:06,940 --> 00:39:10,110 Men, li koute ou plis memwa, paske ou bezwen 32 Bits pou chak 812 00:39:10,110 --> 00:39:13,400 ne pou konsèy la adisyonèl, nan pi piti a pou yon lis separeman lye. 813 00:39:13,400 --> 00:39:16,660 Koulye a, si w ap sèlman estoke nonm antye ak w ap ajoute konsèy la, ki nan 814 00:39:16,660 --> 00:39:17,830 aktyèlman kalite ki pa trivial. 815 00:39:17,830 --> 00:39:19,340 Li double kantite lajan an nan memwa. 816 00:39:19,340 --> 00:39:22,330 Men, an reyalite, si w ap estoke yon lis lye nan strukt ki ka gen 817 00:39:22,330 --> 00:39:25,540 8 bytes, 16 bytes, menm plis pase sa, petèt li mwens 818 00:39:25,540 --> 00:39:26,500 nan yon pri majinal. 819 00:39:26,500 --> 00:39:28,320 Men, li la yon pri Sepandan. 820 00:39:28,320 --> 00:39:31,880 Se konsa, swa nan tout sa yo ta te gen te amann kòm enkonvenyans. 821 00:39:31,880 --> 00:39:32,110 >> 18. 822 00:39:32,110 --> 00:39:36,100 Lè l sèvi avèk PHP olye pou yo C yo ekri yon pwogram lòd-liy. 823 00:39:36,100 --> 00:39:41,890 Se konsa, isit la, li konn byen souvan pi vit sèvi ak yon lang tankou PHP oswa Ruby oswa Piton. 824 00:39:41,890 --> 00:39:43,700 Ou jis byen vit louvri moute yon editè tèks. 825 00:39:43,700 --> 00:39:45,900 Ou gen anpil plis fonksyon disponib nan ou. 826 00:39:45,900 --> 00:39:49,325 PHP gen koule nan kwizin nan fonksyon, Lè nou konsidere ke nan C, ou 827 00:39:49,325 --> 00:39:50,420 gen trè, trè ti kras. 828 00:39:50,420 --> 00:39:53,820 An reyalite, mesye yo konnen wout la difisil ke ou pa gen tab hash. 829 00:39:53,820 --> 00:39:55,000 Ou pa gen lye lis. 830 00:39:55,000 --> 00:39:57,470 Si ou vle sa yo, ou gen aplike yo tèt ou. 831 00:39:57,470 --> 00:40:00,950 >> Se konsa, yon sèl tèt nan PHP oswa reyèlman nenpòt ki entèprete lang se rapidite la 832 00:40:00,950 --> 00:40:02,920 ak ki ou ka ekri kòd. 833 00:40:02,920 --> 00:40:06,660 Men, yon inconvénient, nou te wè sa a lè m ' byen vit te vide yon misspeller 834 00:40:06,660 --> 00:40:11,780 aplikasyon nan konferans lè l sèvi avèk PHP, se ki lè l sèvi avèk yon lang entèprete 835 00:40:11,780 --> 00:40:13,570 se nòmalman pi dousman. 836 00:40:13,570 --> 00:40:18,420 Apre sa, nou te wè ki demontre ki gen yon ogmante nan tan soti nan 0.3 segonn nan 3 837 00:40:18,420 --> 00:40:24,440 segonn, paske nan rèv la vle ki aktyèlman k ap pase. 838 00:40:24,440 --> 00:40:27,060 >> Yon lòt tèt te ke ou pa gen konpile. 839 00:40:27,060 --> 00:40:30,130 Se konsa, li tou vitès moute devlopman fortwit, paske ou pa gen 840 00:40:30,130 --> 00:40:31,360 de etap sa yo kouri yon pwogram nan. 841 00:40:31,360 --> 00:40:32,140 Ou jis gen youn. 842 00:40:32,140 --> 00:40:35,260 Se konsa, sa a, se bèl konvenkan kòm byen. 843 00:40:35,260 --> 00:40:38,450 Lè l sèvi avèk yon baz done SQL olye pou yo yon dosye CSV nan magazen done. 844 00:40:38,450 --> 00:40:40,230 Se Se konsa, SQL baz done yo itilize pou pset7. 845 00:40:40,230 --> 00:40:42,060 CSV dosye ou pa t 'sèvi ak anpil. 846 00:40:42,060 --> 00:40:45,960 Men, ou te itilize li endirèkteman nan pset7 kòm byen pa pale ak Yahoo Finans. 847 00:40:45,960 --> 00:40:49,330 >> Men, CSV se jis tankou yon dosye Excel men super senp, ki kote kolòn yo se 848 00:40:49,330 --> 00:40:54,010 jis demarked pa vigil andedan nan yon lòt dosye tèks. 849 00:40:54,010 --> 00:40:56,740 Apre sa, lè l sèvi avèk yon baz done SQL se yon ti kras plis irezistib. 850 00:40:56,740 --> 00:41:00,060 Se yon tèt, paske ou jwenn bagay sa yo tankou chwazi ak insert ak efase. 851 00:41:00,060 --> 00:41:03,790 Epi ou jwenn, prezimableman, endis ki Miskl ak lòt baz done, tankou 852 00:41:03,790 --> 00:41:07,510 Oracle, bati pou ou nan memwa, ki vle di chwazi ou se pwobableman pa 853 00:41:07,510 --> 00:41:09,000 pral fè tèt lineyè jouk anba a. 854 00:41:09,000 --> 00:41:11,300 Li nan aktyèlman pral fè yon bagay tankou rechèch binè oswa yon bagay 855 00:41:11,300 --> 00:41:12,520 menm jan an nan Lespri Bondye. 856 00:41:12,520 --> 00:41:13,930 Se konsa, yo ap jeneralman pi vit. 857 00:41:13,930 --> 00:41:16,040 >> Men, yon inconvénient se ke li jis plis travay. 858 00:41:16,040 --> 00:41:16,730 Li nan plis efò. 859 00:41:16,730 --> 00:41:18,140 Ou gen konprann baz done. 860 00:41:18,140 --> 00:41:18,940 Ou gen mete l 'kanpe. 861 00:41:18,940 --> 00:41:20,840 Ou bezwen yon sèvè nan kouri ki baz done sou. 862 00:41:20,840 --> 00:41:22,750 Ou bezwen konprann ki jan yo configured li. 863 00:41:22,750 --> 00:41:24,930 Se konsa, sa yo, se jis sa yo kalite komès-konpwomi. 864 00:41:24,930 --> 00:41:27,860 Lè nou konsidere ke yon dosye CSV, ou ka kreye li ak jdi. 865 00:41:27,860 --> 00:41:28,770 Epi w ap bon yo ale. 866 00:41:28,770 --> 00:41:31,550 Gen nan pa gen konpleksite pi lwen pase sa. 867 00:41:31,550 --> 00:41:34,870 >> Sèvi ak yon trye olye de yon tab hash ak separe Anchènman nan magazen yon 868 00:41:34,870 --> 00:41:37,490 diksyonè nan mo okoumansman nan pset5. 869 00:41:37,490 --> 00:41:42,480 Se konsa, yon eseye tèt, nan teyori omwen, se ki sa? 870 00:41:42,480 --> 00:41:46,380 Constant tan, omwen si w ap achin sou chak nan moun nan 871 00:41:46,380 --> 00:41:48,990 lèt nan yon mo, tankou ou ta ka gen pou pset5. 872 00:41:48,990 --> 00:41:52,720 Ke sa ta kapab senk achaj, sis achaj si gen nan senk oubyen sis 873 00:41:52,720 --> 00:41:53,900 lèt nan mo a. 874 00:41:53,900 --> 00:41:54,580 Epi sa a, trè bon. 875 00:41:54,580 --> 00:41:56,910 Men, si gen nan yon mare anwo sou ki jan lontan mo ou yo ka, ki nan 876 00:41:56,910 --> 00:41:59,320 tout bon asenptotik konstan tan. 877 00:41:59,320 --> 00:42:05,180 >> Lè nou konsidere ke yon tab hash ak separe Anchènman, pwoblèm nan la ansanm ak ki 878 00:42:05,180 --> 00:42:09,070 kalite estrikti done se ke an pèfòmans nan algoritm ou a anjeneral 879 00:42:09,070 --> 00:42:12,700 depann sou ki kantite bagay deja nan estrikti a done. 880 00:42:12,700 --> 00:42:15,660 Epi sa a, definitivman ka a ak chenn, annakò ak sa bagay la pi plis ou mete 881 00:42:15,660 --> 00:42:18,800 nan yon tab hash, ankò an moun ki chenn ale, ki vle di nan pi move a 882 00:42:18,800 --> 00:42:21,960 ka, bagay la ou ka kap chèche se tout wout la nan fen a nan yon sèl 883 00:42:21,960 --> 00:42:26,000 nan prizon sa yo, ki efektivman devolu nan yon bagay lineyè. 884 00:42:26,000 --> 00:42:29,450 >> Koulye a, nan pratik, li te kapab absoliman ka a ke yon tab hash ak 885 00:42:29,450 --> 00:42:32,820 chenn se pi vit pase yon korespondan trye aplikasyon. 886 00:42:32,820 --> 00:42:35,570 Men, sa a pou plizyè rezon, nan mitan ki fè yo ap eseye sèvi ak yon anpil tout 887 00:42:35,570 --> 00:42:39,240 memwa ki kapab, an reyalite, bagay sa yo ralanti l 'atè, paske ou pa jwenn bèl 888 00:42:39,240 --> 00:42:42,410 benefis yo nan yon bagay yo rele caching, kote bagay ki fèmen ansanm 889 00:42:42,410 --> 00:42:45,420 nan memwa ou kapab jwenn aksè souvan pi vit. 890 00:42:45,420 --> 00:42:48,180 Epi pafwa ou ka vini ak yon fonksyon hash vrèman bon. 891 00:42:48,180 --> 00:42:51,060 Menm si ou gen nan fatra yon ti jan nan memwa, ou ta ka, tout bon, kapab 892 00:42:51,060 --> 00:42:54,430 jwenn bagay sa yo vit epi yo pa tankou move jan linear. 893 00:42:54,430 --> 00:42:58,410 >> Se konsa, nan kout, te gen pa nesesèman avèk nenpòt nan yon sèl sa yo oswa menm de 894 00:42:58,410 --> 00:43:00,050 bagay espesifik nou te kap chèche. 895 00:43:00,050 --> 00:43:03,080 Vrèman anyen konvenkan kòm yon tèt ak inconvénient 896 00:43:03,080 --> 00:43:04,800 jeneralman kenbe je nou an. 897 00:43:04,800 --> 00:43:11,840 >> ROB BOWDEN: Se konsa, pou tèt la, nou te fè sa pa aksepte sou pwòp li yo "pi vit." Ou 898 00:43:11,840 --> 00:43:14,540 te di yon bagay sou li. 899 00:43:14,540 --> 00:43:17,910 Menm si ou di teyorikman pi vit, nou te konnen ke ou kalite konprann 900 00:43:17,910 --> 00:43:19,470 ke li nan 0 a 1. 901 00:43:19,470 --> 00:43:22,820 Apre sa, tab hash, nan teyori, se pa 0 a 1. 902 00:43:22,820 --> 00:43:26,550 Mansyone anyen sou ègzekutabl jeneralman te resevwa ou pwen yo. 903 00:43:26,550 --> 00:43:32,640 Men, "pi vit," pi fò nan solisyon yo yo te sou tablo a gwo ke yo te ap eseye yo te 904 00:43:32,640 --> 00:43:34,990 objektivman pi dousman pase solisyon ki te tab hash. 905 00:43:34,990 --> 00:43:37,250 Se konsa, pi vit nan ak tèt li se pa reyèlman vre. 906 00:43:37,250 --> 00:43:41,550 907 00:43:41,550 --> 00:43:44,380 >> DAVID J. Malan: Dom de Dom Dom. 908 00:43:44,380 --> 00:43:46,686 Mwen se pwobableman youn nan sèlman ki reyalize sa a, se ki jan ki nan sipoze 909 00:43:46,686 --> 00:43:47,500 moun lan, dwa? 910 00:43:47,500 --> 00:43:50,400 >> ROB BOWDEN: mwen te gen aktyèlman okenn lide. 911 00:43:50,400 --> 00:43:51,650 >> DAVID J. Malan: Li te fè sans nan tèt mwen. 912 00:43:51,650 --> 00:43:53,830 913 00:43:53,830 --> 00:43:57,580 >> ROB BOWDEN: m ap fè yon sèl sa a. 914 00:43:57,580 --> 00:43:58,020 OK. 915 00:43:58,020 --> 00:44:04,243 Se konsa, sa a se youn nan kote ou te gen fè desen dyagram lan menm jan ak ou ka 916 00:44:04,243 --> 00:44:06,040 te wè nan egzamen sot pase yo. 917 00:44:06,040 --> 00:44:12,200 Se konsa, kite yo jis gade nan sa a. 918 00:44:12,200 --> 00:44:18,170 Se konsa, ki soti nan ne an HTML, nou gen de timoun yo, tèt la ak kò a. 919 00:44:18,170 --> 00:44:20,570 Se konsa, nou branch - tèt ansanm ak tout kò. 920 00:44:20,570 --> 00:44:22,280 Tèt la gen yon tag tit. 921 00:44:22,280 --> 00:44:23,710 Se konsa, nou gen yon tit. 922 00:44:23,710 --> 00:44:28,450 >> Koulye a, bagay la yon sèl yon anpil moun ki bliye se ke sa yo nœuds tèks yo 923 00:44:28,450 --> 00:44:30,430 eleman ki nan pyebwa sa a. 924 00:44:30,430 --> 00:44:36,260 Se konsa, isit la nou rive fè desen yo kòm oval diferansye yo soti nan sa yo 925 00:44:36,260 --> 00:44:37,380 kalite nœuds. 926 00:44:37,380 --> 00:44:41,450 Men, avi yo isit la tou nou gen tèt, presegondè, ak anba pral yo te fini 927 00:44:41,450 --> 00:44:42,560 tèks nœuds. 928 00:44:42,560 --> 00:44:46,250 Se konsa, bliye sa yo te yon ti jan nan yon erè komen. 929 00:44:46,250 --> 00:44:48,770 >> Kò a gen twa timoun - twa div sa yo. 930 00:44:48,770 --> 00:44:53,340 Se konsa, div, div, div ak Lè sa a, tèks la ne timoun nan tout sa yo div. 931 00:44:53,340 --> 00:44:55,900 Sa a bèl anpil li pou sa kesyon yo. 932 00:44:55,900 --> 00:44:57,860 >> DAVID J. Malan: Lè li nan vo anyen, menm si nou pa rete sou sa yo 933 00:44:57,860 --> 00:45:01,040 detay nan tan an nou depanse nan JavaScript, ki lòd la fè, nan 934 00:45:01,040 --> 00:45:02,290 reyalite, pwoblèm teknikman. 935 00:45:02,290 --> 00:45:06,330 Se konsa, si tèt vini anvan kò nou nan la HTML, Lè sa a, li ta dwe parèt devan yo a 936 00:45:06,330 --> 00:45:08,860 rete nan kò nou nan Dom a vrè. 937 00:45:08,860 --> 00:45:12,265 Sa l 'se, an jeneral, jis Fyi, yon bagay yo rele lòd dokiman, kote 938 00:45:12,265 --> 00:45:13,260 li fè sa matyè. 939 00:45:13,260 --> 00:45:17,470 Men, si ou te mete ann aplikasyon yon analizeur, yon pwogram ki li HTML nan bilding 940 00:45:17,470 --> 00:45:20,960 moute pye bwa a nan memwa, yo dwe onèt, sa a, se entwitif pwobableman sa ou 941 00:45:20,960 --> 00:45:24,720 fè de tout fason - anwo jouk anba, gòch a dwat. 942 00:45:24,720 --> 00:45:26,116 >> ROB BOWDEN: Kesyon sou sa? 943 00:45:26,116 --> 00:45:29,080 944 00:45:29,080 --> 00:45:30,000 Èske mwen ta dwe fè youn nan pwochen? 945 00:45:30,000 --> 00:45:32,380 >> DAVID J. Malan: Asire w. 946 00:45:32,380 --> 00:45:33,810 >> ROB BOWDEN: OK. 947 00:45:33,810 --> 00:45:39,320 Se konsa, sa a se tanpon la anvahi atak kesyon. 948 00:45:39,320 --> 00:45:43,740 Bagay la prensipal yo rekonèt isit la se, byen, ki jan ta ka yon Trick lènmi 949 00:45:43,740 --> 00:45:46,170 pwogram sa a nan egzekite abitrè Kòd? 950 00:45:46,170 --> 00:45:51,860 Se konsa, argv1, liy la lòd premye agiman nan pwogram sa a, ki kapab 951 00:45:51,860 --> 00:45:53,920 abitrèman lontan. 952 00:45:53,920 --> 00:45:59,160 Men, isit la nou ap lè l sèvi avèk manki a kapab bay kopi argv1, ki isit la se ba. 953 00:45:59,160 --> 00:46:00,165 Nou ap pase li kòm agiman an. 954 00:46:00,165 --> 00:46:02,050 Se konsa, li la pran sou ba a non. 955 00:46:02,050 --> 00:46:08,040 >> Se konsa, nou ap memcpying ba nan zòn de defans sa a c. 956 00:46:08,040 --> 00:46:09,400 Konbyen bytes yo nou kopye? 957 00:46:09,400 --> 00:46:14,040 Oke sepandan anpil bytes ba k ap pase nan dwe itilize, longè a nan ki agiman. 958 00:46:14,040 --> 00:46:17,930 Men, c se sèlman 12 bytes lajè. 959 00:46:17,930 --> 00:46:22,280 Se konsa, si nou tape yon agiman liy lòd sa a, se pi long pase 12 bytes, nou 960 00:46:22,280 --> 00:46:25,470 ale nan debòde sa a patikilye tanpon. 961 00:46:25,470 --> 00:46:31,000 Koulye a, ki jan ta ka yon lènmi jwe fent la pwogram nan egzekite abitrè Kòd? 962 00:46:31,000 --> 00:46:34,910 >> Se konsa, sonje ke isit la prensipal ap rele foo. 963 00:46:34,910 --> 00:46:37,340 Se konsa, Lè sa a, apèl prensipal foo. 964 00:46:37,340 --> 00:46:40,408 Se pou yo desine sa a. 965 00:46:40,408 --> 00:46:44,720 966 00:46:44,720 --> 00:46:46,990 Se konsa, nou gen chemine nou an. 967 00:46:46,990 --> 00:46:49,090 Apre sa, prensipal gen yon ankadreman chemine nan pati anba a. 968 00:46:49,090 --> 00:46:51,860 969 00:46:51,860 --> 00:46:53,250 Nan kèk pwen, apèl nan prensipal foo. 970 00:46:53,250 --> 00:46:55,390 Oke, imedyatman, apèl nan prensipal foo. 971 00:46:55,390 --> 00:46:57,130 Se konsa, foo vin pwòp li yo ankadreman chemine. 972 00:46:57,130 --> 00:46:59,650 973 00:46:59,650 --> 00:47:02,220 >> Koulye a, nan kèk pwen, foo ki pral retounen. 974 00:47:02,220 --> 00:47:06,810 , L 'al retounen foo, nou bezwen konnen nan sa ki liy nan Kòd andedan nan nou prensipal 975 00:47:06,810 --> 00:47:10,610 yo te yo nan lòd yo konnen ki kote nou ta dwe rezime nan prensipal la. 976 00:47:10,610 --> 00:47:13,100 Nou ka rele foo soti nan yon antye pakèt moun sou diferan kote. 977 00:47:13,100 --> 00:47:14,620 Ki jan nou fè konnen ki kote yo retounen? 978 00:47:14,620 --> 00:47:16,460 Oke, nou bezwen nan magazen ki yon kote. 979 00:47:16,460 --> 00:47:23,010 >> Se konsa, yon kote dwa alantou isit la, nou sere kote nou ta dwe retounen nan yon fwa 980 00:47:23,010 --> 00:47:24,070 foo retounen. 981 00:47:24,070 --> 00:47:26,350 Lè sa a se adrès la retounen. 982 00:47:26,350 --> 00:47:30,490 Se konsa, kouman yon lènmi ta ka pran avantaj sa a se lefèt ke 983 00:47:30,490 --> 00:47:37,550 tanpon sa a c estoke, se pou yo di, dwa isit la se c. 984 00:47:37,550 --> 00:47:39,690 Se konsa, nou te gen 12 bytes pou c. 985 00:47:39,690 --> 00:47:40,540 Sa a se c. 986 00:47:40,540 --> 00:47:43,030 Lè sa a se bag chemine foo la. 987 00:47:43,030 --> 00:47:49,970 Se konsa, si itilizatè a move antre nan plis bytes pase 12 oswa yo antre nan yon lòd 988 00:47:49,970 --> 00:47:54,570 liy agiman sa a, se pi long pase 12 karaktè, Lè sa a, nou pral 989 00:47:54,570 --> 00:47:57,540 debòde tanpon sa a. 990 00:47:57,540 --> 00:47:59,910 >> Nou ka kenbe prale. 991 00:47:59,910 --> 00:48:02,220 Apre sa, nan kèk pwen, n 'al jwenn lwen ase ke nou kòmanse 992 00:48:02,220 --> 00:48:05,120 ranplasan adrès sa a tounen-an. 993 00:48:05,120 --> 00:48:08,310 Se konsa, yon fwa nou recouvrir adrès la retounen, sa vle di ke lè foo 994 00:48:08,310 --> 00:48:14,220 retounen, nou retounen nan kote a move itilizatè ap di li nan pa 995 00:48:14,220 --> 00:48:19,490 tou sa valè li te antre nan, pa kèlkeswa sa karaktè itilizatè a te antre nan. 996 00:48:19,490 --> 00:48:24,320 Se konsa, si itilizatè a move se ke yo te patikilyèman entelijan, li ka gen sa a 997 00:48:24,320 --> 00:48:29,255 retounen nan yon kote nan printDef la fonksyon oswa yon kote nan malok la 998 00:48:29,255 --> 00:48:31,830 fonksyon, jis nenpòt kote abitrè. 999 00:48:31,830 --> 00:48:38,420 >> Men, menm plis entelijan se sa ki si li gen itilizatè a retounen nan dwa isit la. 1000 00:48:38,420 --> 00:48:41,920 Lè sa a, ou kòmanse egzekite sa yo kòm liy nan kòd. 1001 00:48:41,920 --> 00:48:46,610 Se konsa, nan pwen sa, itilizatè a kapab antre nan kèlkeswa sa li vle nan rejyon sa a. 1002 00:48:46,610 --> 00:48:52,210 Apre sa, li gen kontwòl konplè sou pwogram ou an. 1003 00:48:52,210 --> 00:48:53,460 Kesyon sou sa? 1004 00:48:53,460 --> 00:48:56,380 1005 00:48:56,380 --> 00:49:00,970 Se konsa, nan pwochen kesyon an se konplè a reimplementation nan foo nan yon fason 1006 00:49:00,970 --> 00:49:02,620 ke li nan pa gen okenn ankò ki frajil yo. 1007 00:49:02,620 --> 00:49:03,870 >> Se konsa, gen nan yon koup nan fason ou ta ka te fè sa a. 1008 00:49:03,870 --> 00:49:10,900 1009 00:49:10,900 --> 00:49:13,330 Nou toujou gen c sèlman yo te longè 12. 1010 00:49:13,330 --> 00:49:16,480 Ou te kapab te chanje sa a kòm yon pati nan solisyon ou. 1011 00:49:16,480 --> 00:49:18,930 Nou menm tou nou te ajoute yon chèk fè asire w ke bar pa t 'nil. 1012 00:49:18,930 --> 00:49:24,460 Menm si ou pa t 'bezwen ke pou tout kredi. 1013 00:49:24,460 --> 00:49:27,690 Se konsa, nou ap tcheke premye a longè fil la ba. 1014 00:49:27,690 --> 00:49:31,650 Si li la pi gran pase 12, Lè sa a, pa aktyèlman fè kopi a. 1015 00:49:31,650 --> 00:49:33,010 Se konsa, sa a, se yon fason nan repare-l. 1016 00:49:33,010 --> 00:49:36,750 >> Yon lòt fason nan repare-l se olye pou yo li te gen c sèlman gen yon longè 12, genyen li 1017 00:49:36,750 --> 00:49:39,310 gen longè strlèn (ba). 1018 00:49:39,310 --> 00:49:43,370 Yon lòt fason nan repare-l se ki aktyèlman jis retounen. 1019 00:49:43,370 --> 00:49:46,690 Se konsa, si ou te fèk sot debarase m de tout sa a, si ou te fèk efase tout 1020 00:49:46,690 --> 00:49:51,830 liy nan Kòd, ou ta gen vinn tout kredi, depi fonksyon sa a 1021 00:49:51,830 --> 00:49:54,150 pa aktyèlman akonpli anyen. 1022 00:49:54,150 --> 00:49:57,650 Li kopye liy lan lòd agiman nan kèk etalaj nan 1023 00:49:57,650 --> 00:49:59,960 ankadreman chemine lokal li yo. 1024 00:49:59,960 --> 00:50:01,310 Lè sa a, bagay la ap retounen. 1025 00:50:01,310 --> 00:50:04,020 Apre sa, tou sa li akonpli se ale. 1026 00:50:04,020 --> 00:50:09,740 Se konsa, retounen te tou yon ase fason pou trape tout kredi. 1027 00:50:09,740 --> 00:50:13,425 >> DAVID J. Malan: Pa byen Lespri Bondye a nan kesyon an, men ki akseptab pou chak nan 1028 00:50:13,425 --> 00:50:15,580 SPEC Sepandan. 1029 00:50:15,580 --> 00:50:18,260 >> ROB BOWDEN: Kesyon sou nenpòt nan sa? 1030 00:50:18,260 --> 00:50:22,270 Bagay la yon sèl ke ou omwen bezwen yo te konpile kòd. 1031 00:50:22,270 --> 00:50:24,810 Se konsa, menm si teknikman ou pa frajil si Kòd ou pa fè sa 1032 00:50:24,810 --> 00:50:29,130 konpile, nou pa t 'resevwa sa a. 1033 00:50:29,130 --> 00:50:31,350 Pa gen kesyon? 1034 00:50:31,350 --> 00:50:33,320 OK. 1035 00:50:33,320 --> 00:50:34,580 >> DAVID J. Malan: ou vle yo di tit sa a? 1036 00:50:34,580 --> 00:50:37,230 >> ROB BOWDEN: No 1037 00:50:37,230 --> 00:50:40,470 >> DAVID J. Malan: Se konsa, nan yon sèl sa a, sa a te swa bon nouvèl oswa move nouvèl. 1038 00:50:40,470 --> 00:50:43,870 Sa a se literalman menm pwoblèm nan kòm egzamen an premye. 1039 00:50:43,870 --> 00:50:46,140 Apre sa, li prèske menm bagay la tou pwoblèm kòm pset1. 1040 00:50:46,140 --> 00:50:49,980 Men, li te fè espre senplifye yo dwe yon piramid ki pi senp, yon sèl ki ka 1041 00:50:49,980 --> 00:50:52,330 rezoud ak yon yon ti kras ki pi senp iterasyon. 1042 00:50:52,330 --> 00:50:55,680 E reyèlman, ki sa ki nou te resevwa nan isit la pa t 'konsa anpil lojik la, 1043 00:50:55,680 --> 00:50:58,100 paske pwobableman, pa pwen sa a, w ap pi alèz pase ou te 1044 00:50:58,100 --> 00:51:01,850 nan semèn youn ki gen pou pasan oswa poukisa pasan, men vrèman toumante apa ki 1045 00:51:01,850 --> 00:51:04,790 ou se yon ti kras konfòtab ak nan nosyon ki PHP se pa sèlman sou sa ki 1046 00:51:04,790 --> 00:51:05,290 pwogram. 1047 00:51:05,290 --> 00:51:07,820 Li ka aktyèlman dwe itilize kòm yon lang yo ekri pwogram liy lòd. 1048 00:51:07,820 --> 00:51:10,060 >> Ak tout bon, se sa ki nou te ap eseye trase atansyon ou a. 1049 00:51:10,060 --> 00:51:12,060 Sa a se yon pwogram PHP liy lòd. 1050 00:51:12,060 --> 00:51:16,690 Se konsa, C Kòd isit la, pandan y ap kòrèk nan C, pa korije pou PHP. 1051 00:51:16,690 --> 00:51:17,940 Men, kòd la vrèman se menm bagay la. 1052 00:51:17,940 --> 00:51:21,720 Si ou konpare solisyon yo yo te pou egzamen 0 kont egzamen 1, w ap jwenn ki 1053 00:51:21,720 --> 00:51:25,630 li prèske ki idantik yo, eksepte pou kèk siy dola ak pou la 1054 00:51:25,630 --> 00:51:27,250 absans nan yon kalite done. 1055 00:51:27,250 --> 00:51:31,720 An patikilye, si nou pran yon gade isit la, ou pral wè ke nou repňte, nan ka sa 1056 00:51:31,720 --> 00:51:33,730 ka, ki soti nan 1 moute a 7. 1057 00:51:33,730 --> 00:51:34,910 >> Nou te kapab te fè sa 0 endèks. 1058 00:51:34,910 --> 00:51:37,320 Men pafwa, mwen panse ke li jis mantalman pi fasil yo reflechi sou bagay sa yo 1059 00:51:37,320 --> 00:51:38,200 nan 1 rive nan 7. 1060 00:51:38,200 --> 00:51:40,300 Si ou vle yon blòk, lè sa a de blòk, Lè sa a, twa, Lè sa a, 1061 00:51:40,300 --> 00:51:41,770 dot, dot, dot sèt moun. 1062 00:51:41,770 --> 00:51:45,960 Nou te j yo te initialisé nan 1 ak Lè sa a konte sou jiska mwen. 1063 00:51:45,960 --> 00:51:48,150 Ak tout bagay isit la se otreman ki idantik. 1064 00:51:48,150 --> 00:51:49,790 Men, merite pou yo nòt yo yon koup la bagay sa yo. 1065 00:51:49,790 --> 00:51:53,230 Nou ba ou de liy sa yo, sa a premye yon sèl, goofily yo te rele tankou yon kaz 1066 00:51:53,230 --> 00:51:54,560 pou byen file Bang. 1067 00:51:54,560 --> 00:51:58,770 Apre sa, ki jis presize chemen an, nan katab, nan ki yon pwogram yo ka 1068 00:51:58,770 --> 00:52:02,160 te jwenn ke ou vle itilize ka esplike nou rèv sa a ranpli. 1069 00:52:02,160 --> 00:52:04,710 >> Lè sa a, liy lan apre sa, nan kou, vle di antre nan mòd PHP. 1070 00:52:04,710 --> 00:52:07,740 Apre sa, liy lan nan pati anba a trè vle di mòd sòti PHP. 1071 00:52:07,740 --> 00:52:09,740 Lè sa a travay, an jeneral, ak entèprete lang yo. 1072 00:52:09,740 --> 00:52:14,370 Li nan kalite anmèdan si ou ekri yon pwogram nan yon dosye rele foo.php. 1073 00:52:14,370 --> 00:52:17,320 Lè sa a, itilizatè ou gen jis sonje, OK, nan kouri pwogram sa a, mwen 1074 00:52:17,320 --> 00:52:22,320 gen tape "foo.php espas php." Kalite nan anmèdan si pa gen anyen lòt bagay. 1075 00:52:22,320 --> 00:52:25,270 Apre sa, li tou devwale ke pwogram ou an ki ekri nan PHP, ki se pa tout 1076 00:52:25,270 --> 00:52:27,060 ki limine pou itilizatè a. 1077 00:52:27,060 --> 00:52:30,100 >> Se konsa, ou ka retire php la. Tout ansanm sonje soti nan konferans. 1078 00:52:30,100 --> 00:52:35,690 Epi ou ka aktyèlman fè. / Foo si ou te chmodded li pa fè li 1079 00:52:35,690 --> 00:52:36,500 ègzèkutabl. 1080 00:52:36,500 --> 00:52:39,630 Se konsa, ta chmod yon + x foo te fè sa. 1081 00:52:39,630 --> 00:52:41,460 Men, si nou menm tou nou ajoute kaz la isit la. 1082 00:52:41,460 --> 00:52:45,320 Men, reyèlman, te pwoblèm nan ap resevwa nan enprime soti yon bagay tankou sa a. 1083 00:52:45,320 --> 00:52:51,100 Pa gen HTML, pa gen okenn C-Kòd sètènman, sèlman kèk PHP. 1084 00:52:51,100 --> 00:52:54,100 Se konsa, Milo Lè sa a, retounen nan pwoblèm 25. 1085 00:52:54,100 --> 00:52:58,050 Ak nan 25, ou te ba yo sa ki annapre yo Kòd chapant, ki te yon 1086 00:52:58,050 --> 00:52:59,730 trè senp paj entènèt. 1087 00:52:59,730 --> 00:53:04,230 Ak pati nan juicy HTML-ki gen bon konprann te desann isit la, kote nou gen andedan nan kò a 1088 00:53:04,230 --> 00:53:09,160 yon fòm ki gen inik ID nan entrain andedan nan yo ki te de entrain, yon sèl 1089 00:53:09,160 --> 00:53:11,950 ak yon lide sou non, yon sèl ak yon lide sou bouton. 1090 00:53:11,950 --> 00:53:14,240 >> Premye bèt la te tèks kalite, nan dezyèm nan kalite soumèt. 1091 00:53:14,240 --> 00:53:16,930 Se konsa, nou te ban nou, aktyèlman, plis engredyan pase ou bezwen, jis pou 1092 00:53:16,930 --> 00:53:19,230 ou nèg te gen opsyon ak ki yo rezoud pwoblèm sa a. 1093 00:53:19,230 --> 00:53:21,130 Ou pa entèdi bezwen tout kat idantite ki gen sa yo. 1094 00:53:21,130 --> 00:53:23,580 Men, li pèmèt ou rezoud li nan diferan fason. 1095 00:53:23,580 --> 00:53:27,050 Apre sa, moute nan tèt la, remake ke objektif la se te deklanche 1096 00:53:27,050 --> 00:53:27,960 yon fenèt tankou sa a - 1097 00:53:27,960 --> 00:53:28,780 Hello, Milo! - 1098 00:53:28,780 --> 00:53:31,270 an pòp moute nan navigatè a lè l sèvi avèk super senp la, si 1099 00:53:31,270 --> 00:53:33,190 pa lèd, alèt fonksyon. 1100 00:53:33,190 --> 00:53:37,480 Se konsa, finalman, sa a klou desann concept yon jan kanmenm tande pou 1101 00:53:37,480 --> 00:53:41,290 soumèt nan fòm kliyan-bò a , Pa sèvè-bò lanmè a, yon jan kanmenm 1102 00:53:41,290 --> 00:53:45,640 reponn a ki soumèt pa arachman valè a ki itilizatè a tape 1103 00:53:45,640 --> 00:53:50,120 nan nan jaden an Non, ak Lè sa a, montre li nan kò a nan yon alèt. 1104 00:53:50,120 --> 00:53:53,460 >> Se konsa, yon fason ou ka fè sa se ak jQuery, ki sanble yon ti kras 1105 00:53:53,460 --> 00:53:56,880 syntactically konplitché nan premye. 1106 00:53:56,880 --> 00:54:00,760 Ou ka fè sa ak pi bon kalite Kòd Dom - document.getelement pa ID. 1107 00:54:00,760 --> 00:54:02,530 Men, kite a pran yon gade nan vèsyon sa-a. 1108 00:54:02,530 --> 00:54:05,110 Mwen gen yon koup la enpòtan liy an premye. 1109 00:54:05,110 --> 00:54:09,460 Se konsa, yon sèl, nou gen liy sa a, ki se ki idantik ak sa ou te ka wè 1110 00:54:09,460 --> 00:54:13,830 nan, mwen kwè, form2.html nan klas nan semèn 9. 1111 00:54:13,830 --> 00:54:16,960 Lè sa a se jis di li: egzekite Kòd ki anba la a lè 1112 00:54:16,960 --> 00:54:18,430 dokiman an se pare. 1113 00:54:18,430 --> 00:54:21,770 Sa a se enpòtan sèlman paske Paj HTML yo li anwo jouk 1114 00:54:21,770 --> 00:54:23,280 anba, gòch a dwat. 1115 00:54:23,280 --> 00:54:27,910 >> Se poutèt sa, si ou eseye fè yon bagay nan Kòd moute isit la nan kèk Dom 1116 00:54:27,910 --> 00:54:31,560 eleman, gen kèk tag HTML, ki nan desann isit la, ou ap fè li twò bonè, 1117 00:54:31,560 --> 00:54:34,220 paske sa a gen pa menm te li nan memwa. 1118 00:54:34,220 --> 00:54:37,740 Se konsa, lè li di document.ready sa a liy, n ap di yo: 1119 00:54:37,740 --> 00:54:39,040 isit la nan kèk kòd, navigatè. 1120 00:54:39,040 --> 00:54:42,440 Men, pa egzekite sa a jouk tout la dokiman se pare, se sa ki Dom la 1121 00:54:42,440 --> 00:54:44,320 pye bwa ki egziste nan memwa. 1122 00:54:44,320 --> 00:54:47,110 Sa a se yon sèl yon ti kras plis senp, si syntactically yon 1123 00:54:47,110 --> 00:54:51,890 ti jan diferan, kote m ap di, gen tan pwan eleman ki HTML ki gen inik 1124 00:54:51,890 --> 00:54:53,560 idantifyan se entrain. 1125 00:54:53,560 --> 00:54:56,220 Sa a ki sa tag a hash vle di, ID a inik. 1126 00:54:56,220 --> 00:54:58,070 Lè sa a, m ap rele. Soumèt. 1127 00:54:58,070 --> 00:55:01,660 >> Se konsa,. Soumèt isit la se yon fonksyon, otreman li te ye kòm yon metòd, ki nan 1128 00:55:01,660 --> 00:55:05,850 andedan nan objè a sou-men la kite bò gen pou m 'pa t' mete aksan sou. 1129 00:55:05,850 --> 00:55:08,990 Se konsa, si ou panse a entrain kòm yon objè nan memwa - ak tout bon li ye. 1130 00:55:08,990 --> 00:55:10,440 Li se yon ne nan yon pye bwa - 1131 00:55:10,440 --> 00:55:16,580 . Soumèt vle di lè fòm sa a ak ID sa a se soumèt, egzekite 1132 00:55:16,580 --> 00:55:17,700 Kòd sa a. 1133 00:55:17,700 --> 00:55:20,290 Mwen pa pran swen sa non an nan la fonksyon se mwen egzekite. 1134 00:55:20,290 --> 00:55:23,760 Se konsa, isit la mwen lè l sèvi avèk, tankou anvan, sa ki nan rele fonksyon an LAMBDA oswa yon 1135 00:55:23,760 --> 00:55:24,720 anonim fonksyon. 1136 00:55:24,720 --> 00:55:27,640 Li pa nan tout entelektyèlman enteresan lòt pase li pa gen okenn non, 1137 00:55:27,640 --> 00:55:30,220 ki se amann si w ap sèlman janm ale nan rele li yon fwa. 1138 00:55:30,220 --> 00:55:34,490 Ak andedan la tout mwen te aktyèlman okipe soumèt a nan fòm nan. 1139 00:55:34,490 --> 00:55:36,810 M 'premye deklare yon varyab rele valè. 1140 00:55:36,810 --> 00:55:40,610 Lè sa a, ki sa ki efè a nan sa a make pòsyon isit la kounye a? 1141 00:55:40,610 --> 00:55:44,755 Ki sa ki ki fè nan yon wo nivo pou mwen? 1142 00:55:44,755 --> 00:55:48,539 >> ODYANS: Li vin valè a ki la itilizatè pa t 'nan HTML ki anba a. 1143 00:55:48,539 --> 00:55:50,920 Li vin ke ID ak Lè sa a, jwenn valè a nan li. 1144 00:55:50,920 --> 00:55:51,590 >> DAVID J. Malan: Egzakteman. 1145 00:55:51,590 --> 00:55:54,300 Li bèn ne a, ki gen inik idantifyan se non. 1146 00:55:54,300 --> 00:55:56,900 Li vin valè a ladan l ', ki se, prezimableman, ki sa ki itilizatè a 1147 00:55:56,900 --> 00:55:58,190 tape l 'oswa tèt li. 1148 00:55:58,190 --> 00:56:01,020 Lè sa a, li magazen ki nan la varyab yo rele valè. 1149 00:56:01,020 --> 00:56:03,720 Kòm yon sou kote, ou ta ka genyen tou fè sa yon ti jan diferan. 1150 00:56:03,720 --> 00:56:09,250 Totalman akseptab pa fè yon bagay valè manti var vin 1151 00:56:09,250 --> 00:56:10,500 document.getElementById. 1152 00:56:10,500 --> 00:56:12,860 1153 00:56:12,860 --> 00:56:15,460 Lè sa a se poutèt sa li yon ti kras fatigan pa sèvi ak jQuery. 1154 00:56:15,460 --> 00:56:16,710 "Non" valè.. 1155 00:56:16,710 --> 00:56:18,330 1156 00:56:18,330 --> 00:56:19,620 Se konsa, totalman akseptab. 1157 00:56:19,620 --> 00:56:22,770 Fason diferan fè sa. jQuery jis gen tandans ka yon ti kras plis somèr ak 1158 00:56:22,770 --> 00:56:25,230 definitivman pi popilè nan mitan pwogramasyon. 1159 00:56:25,230 --> 00:56:27,590 >> Koulye a, m ap fè yon ti jan nan yon saniti tcheke, paske se nan pwoblèm nan 1160 00:56:27,590 --> 00:56:30,820 deklarasyon nou klèman di, si nan itilizatè pa gen ankò tape li oswa li 1161 00:56:30,820 --> 00:56:32,580 non, pa montre yon alèt. 1162 00:56:32,580 --> 00:56:35,390 Men, ou ka tcheke pou sa, pa jis tcheke pou fisèl la vid pou yon 1163 00:56:35,390 --> 00:56:37,850 quote-unquote si gen nan pa gen anyen aktyèlman la. 1164 00:56:37,850 --> 00:56:40,880 Men, si li pa egal a quote-unquote, Mwen vle rele alèt. 1165 00:56:40,880 --> 00:56:45,610 Ak pati nan enteresan isit la se ke nou ap lè l sèvi avèk operatè a plis, ki 1166 00:56:45,610 --> 00:56:48,130 fè sa nan JavaScript? 1167 00:56:48,130 --> 00:56:48,740 Anchene. 1168 00:56:48,740 --> 00:56:50,690 Se konsa, li tankou PHPs dot operatè. 1169 00:56:50,690 --> 00:56:52,820 Menm lide, yon ti kras diferan sentaks. 1170 00:56:52,820 --> 00:56:55,280 Apre sa, mwen jis kreye fisèl la ki ou te wè sou piki a ekran - 1171 00:56:55,280 --> 00:56:57,750 Bonjou, se konsa ak sa. 1172 00:56:57,750 --> 00:56:59,200 >> Lè sa a, dènye detay a se sa a. 1173 00:56:59,200 --> 00:57:04,970 Poukisa pou m 'tounen fo andedan nan fonksyon sa a anonim? 1174 00:57:04,970 --> 00:57:07,420 >> ODYANS: Gen nan pa gen valè. 1175 00:57:07,420 --> 00:57:09,380 Ou mete l 'nan fòm. 1176 00:57:09,380 --> 00:57:12,320 1177 00:57:12,320 --> 00:57:16,730 Li jis di, si valè se pa egal a vid, Lè sa a, fè li. 1178 00:57:16,730 --> 00:57:20,040 1179 00:57:20,040 --> 00:57:20,940 Te gen yon vid ki nan ke founi. 1180 00:57:20,940 --> 00:57:21,170 >> DAVID J. Malan: OK. 1181 00:57:21,170 --> 00:57:21,640 Atansyon menm si. 1182 00:57:21,640 --> 00:57:22,830 Genyen pa gen yon lòt isit la. 1183 00:57:22,830 --> 00:57:25,510 Epi ki fo retounen se deyò nan si a kondisyon. 1184 00:57:25,510 --> 00:57:29,470 Se konsa, sa a make liy, retounen fo, ègzekutra pa gen pwoblèm sa lè 1185 00:57:29,470 --> 00:57:32,310 se fòm nan soumèt. 1186 00:57:32,310 --> 00:57:36,810 Ki sa ki retounen fo andedan nan sa a evènman Handler, menm jan sa yo rele li, 1187 00:57:36,810 --> 00:57:38,450 evènman an nan kesyon yo te soumèt? 1188 00:57:38,450 --> 00:57:42,350 1189 00:57:42,350 --> 00:57:44,470 >> ODYANS: Paske li sèlman k ap pase yon fwa. 1190 00:57:44,470 --> 00:57:45,320 >> DAVID J. Malan: Se sèlman k ap pase yon fwa. 1191 00:57:45,320 --> 00:57:46,821 Pa byen. 1192 00:57:46,821 --> 00:57:47,292 Yeah? 1193 00:57:47,292 --> 00:57:50,589 >> ODYANS: Li anpeche fòm nan soti nan soumèt ak konpòtman an default, 1194 00:57:50,589 --> 00:57:52,480 ki ta fè paj Reload la. 1195 00:57:52,480 --> 00:57:53,110 >> DAVID J. Malan: Egzakteman. 1196 00:57:53,110 --> 00:57:56,490 Se konsa, mwen twòp chaj tèm nan soumèt isit la, paske m ap di, fòm la se 1197 00:57:56,490 --> 00:57:57,670 yo te soumèt. 1198 00:57:57,670 --> 00:58:02,240 Men, jan ou sijere, li la aktyèlman pa te soumèt nan chemen an HTTP vre. 1199 00:58:02,240 --> 00:58:06,870 Lè ou klike Soumèt, paske nan nou an onSubmit Handler, nou entèrsèptan 1200 00:58:06,870 --> 00:58:09,040 ki fòm soumèt se konsa yo pale. 1201 00:58:09,040 --> 00:58:11,290 Nou ap Lè sa a, fè bagay nou ak JavaScript kòd. 1202 00:58:11,290 --> 00:58:14,070 Men, mwen fè espre retounen fo, paske sa m 'pa vle rive yon 1203 00:58:14,070 --> 00:58:18,430 fann dezyèm pita se pou tout fòm nan tèt li dwe soumèt nan entènèt la 1204 00:58:18,430 --> 00:58:22,800 sèvè ak valè kle pè pa chanje URL la yo dwe yon bagay tankou 1205 00:58:22,800 --> 00:58:26,180 q = chat oswa kèlkeswa sa nou te fè sa, pou egzanp, nan klas la. 1206 00:58:26,180 --> 00:58:29,640 Mwen pa vle sa rive fèt, paske pa gen okenn tande sèvè pou sa a 1207 00:58:29,640 --> 00:58:30,690 fòme soumèt. 1208 00:58:30,690 --> 00:58:32,320 Li nan piman fè l 'nan JavaScript kòd. 1209 00:58:32,320 --> 00:58:35,760 Ak Se poutèt sa mwen pa t 'menm gen yon aksyon atribi sou fòm a, paske mwen 1210 00:58:35,760 --> 00:58:38,870 pa gen entansyon pou sa a nan tout tan tout tan ale nan sèvè a. 1211 00:58:38,870 --> 00:58:40,780 >> Se konsa, li k ap soumèt. 1212 00:58:40,780 --> 00:58:44,340 Men, nou ap entèrsèptan ki fòm soumèt yo ak nan anpeche default la 1213 00:58:44,340 --> 00:58:47,477 konpòtman, ki se yo aktyèlman ale tout wout la nan sèvè a. 1214 00:58:47,477 --> 00:58:48,730 >> ODYANS: Se konsa, kenbe li kliyan-kòt. 1215 00:58:48,730 --> 00:58:49,780 >> DAVID J. Malan: Kenbe li kliyan-kòt. 1216 00:58:49,780 --> 00:58:51,030 Egzakteman dwat. 1217 00:58:51,030 --> 00:58:53,240 1218 00:58:53,240 --> 00:58:55,757 Next moute te mwen oh miskl. 1219 00:58:55,757 --> 00:59:00,000 1220 00:59:00,000 --> 00:59:00,430 >> ROB BOWDEN: OK. 1221 00:59:00,430 --> 00:59:04,990 Se konsa, kesyon sa a premye te jeneralman ki graj pou moun yo. 1222 00:59:04,990 --> 00:59:07,270 Menm si yo menm ki pita te ale pi byen. 1223 00:59:07,270 --> 00:59:12,260 Se konsa, ou te gen yo chwazi done ki kòrèk la kalite pou tou de nan kolòn sa yo. 1224 00:59:12,260 --> 00:59:17,750 Apre sa, tou de nan sa yo fè gen kèk bagay sou moun ki 1225 00:59:17,750 --> 00:59:20,620 fè chwa a difisil. 1226 00:59:20,620 --> 00:59:24,430 Se konsa, Int pa t 'yon valab tape pou yon nimewo pou. 1227 00:59:24,430 --> 00:59:29,410 Rezon ki fè la ke yo te yon kont 12-chif nimewo, yon Int se pa gwo ase yo 1228 00:59:29,410 --> 00:59:31,070 magazen chif total. 1229 00:59:31,070 --> 00:59:36,570 Se konsa, ta yon chwa ki valab yo te yon gwo int si ou rive konnen sa. 1230 00:59:36,570 --> 00:59:42,090 Te kapab yon lòt chwa yo te yon jaden Char longè 12. 1231 00:59:42,090 --> 00:59:44,560 Se konsa, swa nan tout sa yo ta yo te travay. 1232 00:59:44,560 --> 00:59:46,100 Int pa t 'vle. 1233 00:59:46,100 --> 00:59:50,170 >> Koulye a, balans, panse tounen nan pset7. 1234 00:59:50,170 --> 00:59:59,540 Se konsa, nou espesyalman itilize desimal magazen valè a de aksyon oswa - 1235 00:59:59,540 --> 01:00:00,550 >> DAVID J. Malan: Lajan Kach. 1236 01:00:00,550 --> 01:00:01,060 >> ROB BOWDEN: Lajan Kach. 1237 01:00:01,060 --> 01:00:05,710 Nou itilize desimal nan magazen kantite lajan an nan lajan kach ki itilizatè a kounye a gen. 1238 01:00:05,710 --> 01:00:10,950 Se konsa, rezon ki fè yo nou fè sa se paske, sonje, flote. 1239 01:00:10,950 --> 01:00:12,480 Genyen k ap flote pwen nan presizyon. 1240 01:00:12,480 --> 01:00:18,200 Li pa ka jisteman magazen lajan kach la valè tankou nou vle isit la. 1241 01:00:18,200 --> 01:00:23,630 Se konsa, desimal se kapab jisteman magazen yon bagay yo, di, de kote desimal. 1242 01:00:23,630 --> 01:00:27,630 Se poutèt sa balans, nou ta renmen li yo dwe desimal epi yo pa flote. 1243 01:00:27,630 --> 01:00:30,230 >> DAVID J. Malan: Epi tou, tou, menm si li ta ka yo te entelijan nan lòt 1244 01:00:30,230 --> 01:00:32,760 kontèks yo panse, petèt sa a se yon chans pou yon Int. 1245 01:00:32,760 --> 01:00:34,420 Mwen pral jis kenbe tras nan bagay sa yo nan peni. 1246 01:00:34,420 --> 01:00:38,670 Paske nou klèman te montre default la valè pou yo te 100.00, ki 1247 01:00:38,670 --> 01:00:40,380 vle di li te kapab jis pou yon Int. 1248 01:00:40,380 --> 01:00:45,310 Ak yon lòt sibtilite twò ak nimewo te ke li pa te vle di 1249 01:00:45,310 --> 01:00:46,180 yo dwe yon kesyon Trick. 1250 01:00:46,180 --> 01:00:49,860 Men, sonje ke yon Int nan miskl, tankou nan C, omwen nan la 1251 01:00:49,860 --> 01:00:51,440 aparèy, se 32-ti jan. 1252 01:00:51,440 --> 01:00:53,960 Apre sa, menm si nou pa atann ou a konnen egzakteman ki jan anpil chif ki 1253 01:00:53,960 --> 01:00:56,910 vle di, sonje ke nimewo a pi gwo ou ka reprezante potansyèlman 1254 01:00:56,910 --> 01:01:00,710 ak yon kantite 32-bit se apeprè ki sa? 1255 01:01:00,710 --> 01:01:02,760 >> Ki nonb nou toujou di nou fè? 1256 01:01:02,760 --> 01:01:04,530 2 a nan 32, ki se sa ki mal? 1257 01:01:04,530 --> 01:01:07,492 1258 01:01:07,492 --> 01:01:08,780 Ou pa oblije konnen jisteman. 1259 01:01:08,780 --> 01:01:10,580 Men, apeprè se itil nan lavi yo. 1260 01:01:10,580 --> 01:01:12,200 Li nan apeprè 4 milya de dola. 1261 01:01:12,200 --> 01:01:14,430 Se konsa, nou te di ke yon fwa kèk. 1262 01:01:14,430 --> 01:01:16,360 Mwen konnen mwen te di ke yon fwa kèk. 1263 01:01:16,360 --> 01:01:17,670 Epi li se apeprè 4 milya de dola. 1264 01:01:17,670 --> 01:01:19,710 Epi sa a, yon règ bon nan gwo pous yo konnen. 1265 01:01:19,710 --> 01:01:21,880 Si ou gen 8 Bits, 256 se nimewo a majik. 1266 01:01:21,880 --> 01:01:24,160 Si ou gen 32 Bits, 4 milya dola bay oswa pran. 1267 01:01:24,160 --> 01:01:27,140 Se konsa, si ou jis ekri 4 milya de dola, ou pral wè ke li nan mwens chif pase 1268 01:01:27,140 --> 01:01:30,970 12, ki vle di sa a, se klèman pa ase ekspresyon pran yon 1269 01:01:30,970 --> 01:01:34,220 12-chif nimewo kont. 1270 01:01:34,220 --> 01:01:34,940 >> ROB BOWDEN: OK. 1271 01:01:34,940 --> 01:01:38,520 Se konsa, yo menm ki lòt ale pi byen. 1272 01:01:38,520 --> 01:01:40,900 Se konsa, ta kwè ke bank la enpoze yon benefis chak mwa $ 20 1273 01:01:40,900 --> 01:01:42,400 frè antretyen sou tout kont. 1274 01:01:42,400 --> 01:01:45,506 Ak sa SQL sijè rechèch t 'kapab bank la retire $ 20 nan tout konte, menm si 1275 01:01:45,506 --> 01:01:47,520 li rezilta yo nan kèk balans negatif? 1276 01:01:47,520 --> 01:01:50,380 Se konsa, fondamantalman, gen kat prensipal kalite demann - 1277 01:01:50,380 --> 01:01:52,840 insert, chwazi, aktyalizasyon, ak efase. 1278 01:01:52,840 --> 01:01:56,080 Se konsa, sa nou kwè ke nou ap pwal itilize isit la? 1279 01:01:56,080 --> 01:01:57,000 Mete ajou. 1280 01:01:57,000 --> 01:01:58,260 >> Se konsa, kite a pran yon gade. 1281 01:01:58,260 --> 01:02:04,290 1282 01:02:04,290 --> 01:02:05,870 Se konsa, isit la nou ap à. 1283 01:02:05,870 --> 01:02:09,900 Ki sa ki tab yo nou à kont? 1284 01:02:09,900 --> 01:02:11,670 Se konsa, à kont. 1285 01:02:11,670 --> 01:02:15,390 Lè sa a, sentaks la di, ki sa ki nan kont yo nou à? 1286 01:02:15,390 --> 01:02:19,520 Oke, nou ap mete balans egal a la valè aktyèl la nan balans mwens 20. 1287 01:02:19,520 --> 01:02:22,860 Se konsa, sa a pral mete tout ranje nan kont, soustraksyon 1288 01:02:22,860 --> 01:02:26,250 $ 20 ki soti nan balans lan. 1289 01:02:26,250 --> 01:02:29,260 >> DAVID J. Malan: A erè komen isit la, menm si nou pafwa te padonnen li, 1290 01:02:29,260 --> 01:02:32,990 te gen aktyèlman Kòd PHP isit la rele fonksyon an rechèch oswa mete 1291 01:02:32,990 --> 01:02:35,460 quotes alantou tout bagay ki pa t 'bezwen yo dwe la. 1292 01:02:35,460 --> 01:02:39,780 >> ROB BOWDEN: Sonje ke miskl se yon lang apa soti nan PHP. 1293 01:02:39,780 --> 01:02:42,410 Nou rive yo dwe ekri miskl nan PHP. 1294 01:02:42,410 --> 01:02:46,180 Apre sa, PHP se lè sa a voye li sou nan sèvè a miskl. 1295 01:02:46,180 --> 01:02:51,120 Men, ou pa bezwen PHP yo nan lòd yo kominike avèk yon sèvè miskl. 1296 01:02:51,120 --> 01:02:51,730 >> DAVID J. Malan: Egzakteman. 1297 01:02:51,730 --> 01:02:54,240 Se konsa, pa gen okenn varyab ak siy dola yo ta dwe nan yon kontèks sa a. 1298 01:02:54,240 --> 01:02:59,550 Li ka jis fè tout moun nan matematik la nan baz done nan tèt li. 1299 01:02:59,550 --> 01:03:00,080 >> ROB BOWDEN: OK. 1300 01:03:00,080 --> 01:03:01,300 Se konsa, yon sèl kap vini an. 1301 01:03:01,300 --> 01:03:02,731 Èske sa se youn nan pwochen? 1302 01:03:02,731 --> 01:03:03,210 Yeah. 1303 01:03:03,210 --> 01:03:06,570 Se konsa, avèk sa ki SQL sijè rechèch t 'kapab bank la rekipere chif yo kont nan li yo 1304 01:03:06,570 --> 01:03:09,300 pi rich kliyan, moun ki gen balans ki pi konsekan pase 1,000? 1305 01:03:09,300 --> 01:03:13,280 Se konsa, ki nan kat kalite prensipal nou pral vle isit la? 1306 01:03:13,280 --> 01:03:14,430 Chwazi. 1307 01:03:14,430 --> 01:03:16,650 Se konsa, nou vle chwazi. 1308 01:03:16,650 --> 01:03:17,610 Ki sa nou vle chwazi? 1309 01:03:17,610 --> 01:03:19,380 Ki sa ki kolòn nou vle chwazi? 1310 01:03:19,380 --> 01:03:20,970 Nou pral espesyalman vle yo ka chwazi nimewo. 1311 01:03:20,970 --> 01:03:23,910 Men, si ou di zetwal, nou tou aksepte ke. 1312 01:03:23,910 --> 01:03:25,820 >> Se konsa, chwazi nimewo soti nan sa ki tab? 1313 01:03:25,820 --> 01:03:26,640 Kont. 1314 01:03:26,640 --> 01:03:28,370 Lè sa a, kondisyon an nou vle? 1315 01:03:28,370 --> 01:03:30,140 Ki kote balans ki pi konsekan pase 1,000. 1316 01:03:30,140 --> 01:03:31,720 Nou menm tou nou aksepte pi gwo pase oswa egal. 1317 01:03:31,720 --> 01:03:35,230 1318 01:03:35,230 --> 01:03:36,190 Dènye yon sèl. 1319 01:03:36,190 --> 01:03:42,940 Ak sa SQL sijè rechèch t 'kapab bank la fèmen, dir, efase tout kont ki 1320 01:03:42,940 --> 01:03:44,480 gen yon balans nan $ 0? 1321 01:03:44,480 --> 01:03:47,620 Se konsa, ki nan kat la yo se nou pral vle itilize? 1322 01:03:47,620 --> 01:03:48,320 Efase. 1323 01:03:48,320 --> 01:03:50,180 Se konsa, sentaks la pou sa? 1324 01:03:50,180 --> 01:03:51,890 Efase soti nan sa ki tab? 1325 01:03:51,890 --> 01:03:53,550 Kont. 1326 01:03:53,550 --> 01:03:55,790 Lè sa a, kondisyon an ki te sou nou vle efase - 1327 01:03:55,790 --> 01:03:57,280 kote balans egal zewo. 1328 01:03:57,280 --> 01:04:03,050 Se konsa, efase tout ranje soti nan kont kote balans lan se zewo. 1329 01:04:03,050 --> 01:04:04,300 Kesyon sou nenpòt nan sa yo? 1330 01:04:04,300 --> 01:04:08,840 1331 01:04:08,840 --> 01:04:10,260 Vle nat? 1332 01:04:10,260 --> 01:04:11,200 >> DAVID J. Malan: gid keu. 1333 01:04:11,200 --> 01:04:17,110 Se konsa, nan yon sèl sa a, nou te ban nou yon ti jan abitye estrikti ke nou eksplore yon 1334 01:04:17,110 --> 01:04:20,450 ti jan nan klas ansanm ak nan strukt, ki te yon done 1335 01:04:20,450 --> 01:04:21,910 estrikti ki gen rapò nan Lespri Bondye. 1336 01:04:21,910 --> 01:04:24,670 Diferans lan menm si ak yon keu se ke nou te yon jan kanmenm sonje ki 1337 01:04:24,670 --> 01:04:27,900 te an de sou devan keu a, nan gwo pati pou nou te kapab fè plis 1338 01:04:27,900 --> 01:04:30,530 itilizasyon efikas memwa nan, nan omwen si nou te lè l sèvi avèk yon etalaj. 1339 01:04:30,530 --> 01:04:35,460 >> Paske sonje, si nou gen yon etalaj, si, pou egzanp, sa a se devan nan 1340 01:04:35,460 --> 01:04:38,470 keu a, si mwen jwenn nan keu la isit la, ak Lè sa a, yon moun vin nan liy 1341 01:04:38,470 --> 01:04:42,710 dèyè do m ', dèyè do m', dèyè do m ', epi yon sèl moun ki etap soti nan liy, ou 1342 01:04:42,710 --> 01:04:45,930 te kapab, kòm nou te wè kèk nan moun nou yo volontè nan klas yo, yo gen tout moun 1343 01:04:45,930 --> 01:04:47,100 chanjman nan fason sa. 1344 01:04:47,100 --> 01:04:50,880 Men, an jeneral, li te gen tout moun fè yon bagay ki pa sèvi ak la pi byen nan tan 1345 01:04:50,880 --> 01:04:54,600 nan yon pwogram, paske li vle di ou algorithm ap kouri nan sa ki 1346 01:04:54,600 --> 01:04:56,520 tan kouri asenptotik? 1347 01:04:56,520 --> 01:04:57,420 Li nan lineyè. 1348 01:04:57,420 --> 01:04:59,600 >> Apre sa, mwen santi tankou sa a, se kalite estipid. 1349 01:04:59,600 --> 01:05:02,890 Si moun nan nan pwochen liy se pwochen an moun ki nan sipoze ale nan nan 1350 01:05:02,890 --> 01:05:04,660 magazen yo, yo pa tout gen pou avanse pou pi ansanm. 1351 01:05:04,660 --> 01:05:08,200 Jis kite moun sa a ap rache lè lè a va rive, pou egzanp. 1352 01:05:08,200 --> 01:05:09,870 Se konsa, nou ka sove yon ti jan nan tan la. 1353 01:05:09,870 --> 01:05:14,840 Se konsa, fè sa menm si, ki vle di ke tèt la nan keu la oswa nan 1354 01:05:14,840 --> 01:05:18,060 devan keu la se ale nan progresivman deplase pi fon ak pi fon 1355 01:05:18,060 --> 01:05:23,340 nan etalaj la ak evantyèlman ta ka aktyèlman vlope toutotou si n ap sèvi ak yon 1356 01:05:23,340 --> 01:05:25,790 etalaj nan magazen pèp la nan keu sa a. 1357 01:05:25,790 --> 01:05:28,390 Se konsa, ou ka prèske panse a nan etalaj kòm yon done sikilè 1358 01:05:28,390 --> 01:05:29,880 estrikti nan sans sa. 1359 01:05:29,880 --> 01:05:33,970 >> Se konsa, ou yon jan kanmenm te kenbe tras nan la gwosè nan li oswa vrèman nan fen li 1360 01:05:33,970 --> 01:05:36,250 ak Lè sa a, kote nan konmansman an nan li ye. 1361 01:05:36,250 --> 01:05:39,490 Se konsa, nou pwopoze ke ou deklare yon sèl keu sa yo, rele 1362 01:05:39,490 --> 01:05:41,330 li q, jis yon lèt. 1363 01:05:41,330 --> 01:05:44,570 Lè sa a, nou pwopoze ke devan an dwe initialisé a zewo epi ki gwosè a 1364 01:05:44,570 --> 01:05:45,470 dwe initialisé a zewo. 1365 01:05:45,470 --> 01:05:47,770 >> Se konsa, kounye a, pa gen anyen andedan nan ki keu. 1366 01:05:47,770 --> 01:05:50,910 Apre sa, nou mande w yo fini nan aplikasyon nan enqueue anba a nan 1367 01:05:50,910 --> 01:05:55,250 yon fason ke fonksyon an ajoute n nan fen q ak Lè sa a, retounen vre. 1368 01:05:55,250 --> 01:05:58,690 Men, si q se konplè ou oswa ou negatif, nan fonksyon yo ta dwe olye pou retounen bay manti. 1369 01:05:58,690 --> 01:06:01,060 Lèfini, nou te ban nou yon koup nan sipozisyon. 1370 01:06:01,060 --> 01:06:04,320 Men, yo pa ap reyèlman fonksyonèl ki enpòtan, jis ki bouleen ki egziste, 1371 01:06:04,320 --> 01:06:06,690 paske, teknikman, bouleen fè sa ki pa egziste nan C sof si ou genyen ladan yo yon 1372 01:06:06,690 --> 01:06:07,310 sèten dosye header. 1373 01:06:07,310 --> 01:06:09,350 Se konsa, ki te jis asire w ke gen yo te pa gen okenn se sa a yon Trick 1374 01:06:09,350 --> 01:06:10,940 kesyon jan de bagay konsa. 1375 01:06:10,940 --> 01:06:16,280 >> Se konsa, enqueue, nou pwopoze nan echantiyon an solisyon aplike jan sa a. 1376 01:06:16,280 --> 01:06:20,420 Youn, nou premye tcheke fasilite a, pandye byen ba yo fwi yo. 1377 01:06:20,420 --> 01:06:23,820 Si keu a se tout oswa nimewo a ki w ap eseye insert ki pi piti a 1378 01:06:23,820 --> 01:06:26,380 pase zewo, ki nou te di nan la spesifikasyon nan pwoblèm nan ta dwe 1379 01:06:26,380 --> 01:06:30,320 pa dwe pèmèt, paske nou sèlman vle valè ki pa negatif, Lè sa a, ou ta dwe 1380 01:06:30,320 --> 01:06:31,640 jis retounen fo imedyatman. 1381 01:06:31,640 --> 01:06:33,820 Se konsa, kèk relativman fasil erè tcheke. 1382 01:06:33,820 --> 01:06:38,720 Si menm si ou vle ajoute ke aktyèl nimewo, ou te fè yon ti jan nan 1383 01:06:38,720 --> 01:06:39,440 panse isit la. 1384 01:06:39,440 --> 01:06:41,330 Lè sa a se kote li nan yon ti kras anmèdan mantalman, paske ou gen 1385 01:06:41,330 --> 01:06:43,000 figi konnen kouman okipe antourant. 1386 01:06:43,000 --> 01:06:46,870 >> Men, jèm la nan lide an isit la sa a, se nan enterè ak nou se ke antourant 1387 01:06:46,870 --> 01:06:51,480 souvan implique modilè aritmetik ak operatè a mod, bò lanmè a pousan, 1388 01:06:51,480 --> 01:06:55,140 kote ou ka ale soti nan yon valè pi gwo tounen nan zewo ak Lè sa a, youn ak de ak 1389 01:06:55,140 --> 01:06:58,650 twa ak Lè sa a, tounen alantou a zewo, youn ak de ak twa ak pou fè 1390 01:06:58,650 --> 01:06:59,380 ankò e ankò. 1391 01:06:59,380 --> 01:07:02,880 Se konsa, wout la nou pwopoze fè sa se ke nou vle endèks nan la 1392 01:07:02,880 --> 01:07:05,850 etalaj rele nimewo ki kote nonm antye nou an bay manti. 1393 01:07:05,850 --> 01:07:10,740 Men, yo rive, nou premye vle fè tou sa gwosè a nan keu la se men 1394 01:07:10,740 --> 01:07:14,080 Lè sa a, ajoute nan tou sa la devan lis la se. 1395 01:07:14,080 --> 01:07:17,880 Apre sa, efè a nan se sa ki mete nou nan pozisyon nan dwa nan keu la ak 1396 01:07:17,880 --> 01:07:20,970 Pa sipoze premye moun ki nan liy se nan kòmansman an, ki li oswa 1397 01:07:20,970 --> 01:07:24,130 li absoliman ta ka si nou yo tou te chanje tout moun. 1398 01:07:24,130 --> 01:07:26,710 Men, nou ap jis kreye travay pou tèt nou si nou te pran 1399 01:07:26,710 --> 01:07:27,800 ki chemen an patikilye. 1400 01:07:27,800 --> 01:07:29,330 >> Se konsa, nou kapab kenbe l 'relativman senp. 1401 01:07:29,330 --> 01:07:32,180 Nou dwe sonje ke nou jis te ajoute yon Int keu la. 1402 01:07:32,180 --> 01:07:35,850 Lè sa a, nou jis retounen vre. 1403 01:07:35,850 --> 01:07:38,560 Pandan se tan, nan dequeue, nou te mande ou fè sa ki annapre yo. 1404 01:07:38,560 --> 01:07:42,260 Aplike li nan yon fason ke li dequeues, se sa ki siprime epi retounen, 1405 01:07:42,260 --> 01:07:44,190 Int la an de sou devan keu. 1406 01:07:44,190 --> 01:07:46,410 Pou retire Int a, li sifizan bliye l '. 1407 01:07:46,410 --> 01:07:47,650 Ou pa bezwen pase sou desizyon ti jan li yo. 1408 01:07:47,650 --> 01:07:48,820 Se konsa, li la toujou aktyèlman la. 1409 01:07:48,820 --> 01:07:51,930 Jis tankou done sou yon kondwi difisil, nou ap jis inyore reyalite a 1410 01:07:51,930 --> 01:07:52,970 ke li nan kounye a gen. 1411 01:07:52,970 --> 01:07:55,520 Men, si q se vid, nou ta dwe olye pou retounen negatif 1. 1412 01:07:55,520 --> 01:07:56,750 Se konsa, sa a santi l abitrè. 1413 01:07:56,750 --> 01:08:01,640 Poukisa retounen negatif 1 olye pou yo fo? 1414 01:08:01,640 --> 01:08:02,620 Yeah. 1415 01:08:02,620 --> 01:08:05,070 >> ODYANS: K ap estoke pozitif valè. 1416 01:08:05,070 --> 01:08:10,950 Depi ou sèlman magazen valè pozitif nan q an, negatif se yon erè. 1417 01:08:10,950 --> 01:08:11,510 >> DAVID J. Malan: OK, vre. 1418 01:08:11,510 --> 01:08:14,850 Se konsa, paske n ap sèlman estoke pozitif valè oswa zewo, Lè sa a, li la amann yo 1419 01:08:14,850 --> 01:08:18,050 retounen yon valè negatif kòm yon Sentinel valè, yon senbòl espesyal. 1420 01:08:18,050 --> 01:08:21,630 Men, w ap reekri istwa a, paske rezon ki fè yo nou ap sèlman 1421 01:08:21,630 --> 01:08:25,890 retounen valè ki pa negatif se paske nou vle 1422 01:08:25,890 --> 01:08:27,670 gen yon valè Sentinel. 1423 01:08:27,670 --> 01:08:32,617 Se konsa, plis espesyalman, poukisa pa jis retounen fo nan ka nan erè? 1424 01:08:32,617 --> 01:08:33,099 Yeah. 1425 01:08:33,099 --> 01:08:35,510 >> ODYANS: Ou te echwe retounen yon nonb antye relatif. 1426 01:08:35,510 --> 01:08:36,630 >> DAVID J. Malan: Egzakteman. 1427 01:08:36,630 --> 01:08:38,569 Lè sa a se kote C vin bèl kontrent. 1428 01:08:38,569 --> 01:08:40,590 Si w ap di w ap ale retounen yon Int, ou te gen 1429 01:08:40,590 --> 01:08:41,279 retounen yon Int. 1430 01:08:41,279 --> 01:08:43,689 Ou pa ka jwenn anpenpan epi yo kòmanse retounen yon bouleen oswa yon flote oswa yon 1431 01:08:43,689 --> 01:08:45,040 fisèl oswa yon bagay tankou sa. 1432 01:08:45,040 --> 01:08:49,370 Koulye a, pandan se tan, JavaScript ak PHP ak kèk lòt lang kapab, an reyalite, 1433 01:08:49,370 --> 01:08:51,310 ou retounen diferan kalite ak valè yo. 1434 01:08:51,310 --> 01:08:54,819 Apre sa, ki ka aktyèlman ap itil, kote ou kapab retounen antye pozitif, zewo, 1435 01:08:54,819 --> 01:08:59,439 antye negatif, oswa ki fo oswa ki nil jouk yo rive nan siyifi erè. 1436 01:08:59,439 --> 01:09:01,890 Men, nou pa genyen ki adaptabilite nan C. 1437 01:09:01,890 --> 01:09:04,569 >> Se konsa, avèk dequeue, ki sa nou pwopoze fè se - 1438 01:09:04,569 --> 01:09:07,350 1439 01:09:07,350 --> 01:09:09,830 >> ROB BOWDEN: Ou ka retounen fo. 1440 01:09:09,830 --> 01:09:13,189 Se yon bagay ki fo se hash defini fo a zewo. 1441 01:09:13,189 --> 01:09:16,000 Se konsa, si ou retounen fo, w ap retounen zewo. 1442 01:09:16,000 --> 01:09:25,470 Apre sa, zewo se yon bagay ki valab nan keu nou an, Lè nou konsidere ke negatif 1 se pa si 1443 01:09:25,470 --> 01:09:27,000 fo ki te pase yo dwe negatif 1. 1444 01:09:27,000 --> 01:09:29,972 Men, ou pa ta dwe menm bezwen konnen sa. 1445 01:09:29,972 --> 01:09:32,399 >> DAVID J. Malan: Sa se poutèt sa mwen pa t 'di li. 1446 01:09:32,399 --> 01:09:36,450 >> ROB BOWDEN: Men, li te pa vre ke ou pa kapab retounen fo. 1447 01:09:36,450 --> 01:09:37,700 >> DAVID J. Malan: Asire w. 1448 01:09:37,700 --> 01:09:40,920 1449 01:09:40,920 --> 01:09:44,240 Se konsa, dequeue, remake nou aksepte anile kòm agiman li yo. 1450 01:09:44,240 --> 01:09:45,479 Epi sa a, paske nou pa ap pase anyen pous 1451 01:09:45,479 --> 01:09:48,359 Nou jis vle retire eleman ki an de sou devan keu la. 1452 01:09:48,359 --> 01:09:49,819 Se konsa, kouman ta ka nou ale sou fè sa a? 1453 01:09:49,819 --> 01:09:51,290 Oke, an premye, se pou yo fè sa rapid saniti chèk la. 1454 01:09:51,290 --> 01:09:53,350 Si gwosè a keu se 0, gen nan pa gen travay yo dwe fè. 1455 01:09:53,350 --> 01:09:54,210 Retounen negatif 1. 1456 01:09:54,210 --> 01:09:54,800 Fè. 1457 01:09:54,800 --> 01:09:56,340 Se konsa, sa a, se yon liy kèk nan pwogram m 'yo. 1458 01:09:56,340 --> 01:09:58,180 Se konsa, sèlman kat liy rete. 1459 01:09:58,180 --> 01:10:01,310 >> Se konsa, isit la mwen deside dekrwasans gwosè a. 1460 01:10:01,310 --> 01:10:04,620 Apre sa, decrementing gwosè a efektivman vle di ke mwen bliye 1461 01:10:04,620 --> 01:10:06,010 yon bagay ki nan la. 1462 01:10:06,010 --> 01:10:09,910 Men, mwen menm tou nou gen nan aktyalizasyon kote devan an nan nimewo ki yo ye. 1463 01:10:09,910 --> 01:10:11,620 Se konsa, yo fè sa, mwen bezwen fè de bagay sa yo. 1464 01:10:11,620 --> 01:10:16,390 M 'premye bezwen sonje ki sa nimewo a se an de sou devan keu a, 1465 01:10:16,390 --> 01:10:17,860 paske mwen bezwen retounen ke bagay. 1466 01:10:17,860 --> 01:10:20,910 Se konsa, mwen pa vle aksidantèlman bliye sou li e Lè sa a, recouvrir li. 1467 01:10:20,910 --> 01:10:22,840 Mwen jis ale nan sonje nan yon Int. 1468 01:10:22,840 --> 01:10:27,310 >> Epi, koulye a, mwen vle mete q.front yo dwe q.front +1. 1469 01:10:27,310 --> 01:10:30,070 Se konsa, si sa a se te premye moun ki nan liy, koulye a, mwen vle fè plis 1 a 1470 01:10:30,070 --> 01:10:31,930 pwen nan moun nan nan pwochen liy. 1471 01:10:31,930 --> 01:10:33,420 Men, mwen gen okipe ki antourant. 1472 01:10:33,420 --> 01:10:37,270 Men, si kapasite se yon konstan mondyal, ki k ap pase pou pou pèmèt mwen asire w ke 1473 01:10:37,270 --> 01:10:41,140 jan mwen lonje dwèt sou moun nan anpil sot pase a nan liy, operasyon an modulo pral pote 1474 01:10:41,140 --> 01:10:43,840 m 'tounen nan zewo a nan devan keu la. 1475 01:10:43,840 --> 01:10:46,050 Apre sa, ki okipe zafè antourant la isit la. 1476 01:10:46,050 --> 01:10:48,950 Lè sa a, mwen ale nan retounen n. 1477 01:10:48,950 --> 01:10:51,530 >> Koulye a, estrikteman pale, mwen pa t ' gen deklare n. 1478 01:10:51,530 --> 01:10:53,880 Mwen pa t 'gen tan pwan li epi sere li pou yon ti tan, paske valè a se 1479 01:10:53,880 --> 01:10:54,740 toujou la. 1480 01:10:54,740 --> 01:10:57,490 Se konsa, mwen te kapab jis fè aritmetik nan dwa retounen tèt la ansyen 1481 01:10:57,490 --> 01:10:58,450 nan keu la. 1482 01:10:58,450 --> 01:11:01,850 Men, mwen jis te santi ke sa a te pi klè ki aktyèlman gen tan pwan Int a, mete l ' 1483 01:11:01,850 --> 01:11:04,320 nan n, ak Lè sa a, retounen ke pou dedomajman pou klè nan men 1484 01:11:04,320 --> 01:11:05,735 pa entèdi sa nesesè. 1485 01:11:05,735 --> 01:11:09,313 1486 01:11:09,313 --> 01:11:12,130 Psst. 1487 01:11:12,130 --> 01:11:13,410 Yo ap tout pronounceable nan tèt mwen. 1488 01:11:13,410 --> 01:11:15,940 1489 01:11:15,940 --> 01:11:19,110 >> ROB BOWDEN: Se konsa, premye kesyon ki pwoblèm nan pye bwa binè. 1490 01:11:19,110 --> 01:11:22,140 Se konsa, premye kesyon an se, nou ap bay nimewo sa yo. 1491 01:11:22,140 --> 01:11:27,160 Apre sa, nou vle yon jan kanmenm insert yo nan nœuds sa yo sa yo ke li se yon 1492 01:11:27,160 --> 01:11:30,110 ki valid binè pyebwa rechèch la. 1493 01:11:30,110 --> 01:11:36,260 Se konsa, bagay la yon sèl sonje sou pye bwa rechèch binè se ke li pa 1494 01:11:36,260 --> 01:11:39,800 jis ke bagay la sou bò goch la ki pi piti a ak bagay nan 1495 01:11:39,800 --> 01:11:41,120 dwa a gen plis pouvwa. 1496 01:11:41,120 --> 01:11:44,580 Li bezwen yo dwe ki pye bwa an tout antye yo bò gòch la ki pi piti a, ak pye bwa a tout antye 1497 01:11:44,580 --> 01:11:45,740 sou bò dwat la ki pi gwo. 1498 01:11:45,740 --> 01:11:55,260 >> Se konsa, si mwen mete 34 isit la nan tèt la, ak Lè sa a, Mwen mete 20 isit la, se konsa sa a, se valab pou 1499 01:11:55,260 --> 01:11:56,970 byen lwen, paske 34 Moute bò isit. 1500 01:11:56,970 --> 01:11:57,920 20 ki pral bò gòch la. 1501 01:11:57,920 --> 01:11:58,950 Se konsa, sa a, se mwens. 1502 01:11:58,950 --> 01:12:03,640 Men, mwen pa ka Lè sa a, mete 59 isit la, paske menm si 59 se sou bò dwat la nan 20, 1503 01:12:03,640 --> 01:12:06,140 li la toujou sou bò gòch la nan 34. 1504 01:12:06,140 --> 01:12:10,760 Se konsa, avèk ki contrainte nan tèt ou, nan fason pi fasil nan pwobableman rezoud sa a 1505 01:12:10,760 --> 01:12:14,330 pwoblèm se jis sòt nan nimewo sa yo - 1506 01:12:14,330 --> 01:12:18,720 Se konsa, 20, 34, 36, 52, 59, 106. 1507 01:12:18,720 --> 01:12:21,640 Lè sa a, insert sa yo de gòch a dwat. 1508 01:12:21,640 --> 01:12:23,390 >> Se konsa, 20 ale isit la. 1509 01:12:23,390 --> 01:12:24,630 34 ale isit la. 1510 01:12:24,630 --> 01:12:25,830 36 ale isit la. 1511 01:12:25,830 --> 01:12:29,360 52, 59, 106. 1512 01:12:29,360 --> 01:12:34,730 Apre sa, nou menm tou nou te kapab kalkile avèk kèk branche nan ak ka akonpli, 1513 01:12:34,730 --> 01:12:38,830 oh, rete tann, mwen pa gen nimewo ase ranpli sa a nan plis pase isit la. 1514 01:12:38,830 --> 01:12:42,170 Se konsa, mwen bezwen reshift sa mwen wout nòt a pwal. 1515 01:12:42,170 --> 01:12:47,490 Men, remake ke nan twa final la, si w ap li de goch a dwat, li se nan 1516 01:12:47,490 --> 01:12:48,740 ogmante lòd. 1517 01:12:48,740 --> 01:12:52,150 1518 01:12:52,150 --> 01:12:56,540 >> Se konsa, koulye a, nou vle di nou sa a konstri a pwal pou la 1519 01:12:56,540 --> 01:12:58,300 nœuds nan pyebwa sa a. 1520 01:12:58,300 --> 01:13:02,720 Se konsa, sa nou bezwen nan yon pye bwa binè? 1521 01:13:02,720 --> 01:13:05,830 Se konsa, nou gen yon valè de kalite Int, se konsa kèk valè Int. 1522 01:13:05,830 --> 01:13:07,220 Mwen pa konnen sa nou te rele li nan solisyon an - 1523 01:13:07,220 --> 01:13:08,500 int n. 1524 01:13:08,500 --> 01:13:13,570 Nou bezwen yon konsèy ak timoun nan bò gòch ak yon konsèy ak pitit la dwat. 1525 01:13:13,570 --> 01:13:17,540 Se konsa, li pral gade tankou sa a. 1526 01:13:17,540 --> 01:13:20,510 Apre sa, li pral aktyèlman gade anvan lè t '-lye a doubl 1527 01:13:20,510 --> 01:13:25,090 lis bagay, se konsa avi - 1528 01:13:25,090 --> 01:13:27,860 Mwen pral fè yo woulo liv tout nan fason tounen desann nan pwoblèm 11. 1529 01:13:27,860 --> 01:13:30,980 1530 01:13:30,980 --> 01:13:36,390 >> Se konsa, remake li sanble ki idantik ak sa a, eksepte nou jis rive yo rele sa yo 1531 01:13:36,390 --> 01:13:38,590 non diferan. 1532 01:13:38,590 --> 01:13:41,440 Nou toujou gen yon nonb antye relatif valè ak de pwent. 1533 01:13:41,440 --> 01:13:44,850 Se jis ke olye pou yo trete a endikasyon kòm montre bagay la pwochen 1534 01:13:44,850 --> 01:13:47,955 ak bagay la anvan, n ap trete endikasyon yo nan pwen nan yon timoun gòch 1535 01:13:47,955 --> 01:13:49,205 ak pitit dwat. 1536 01:13:49,205 --> 01:13:57,372 1537 01:13:57,372 --> 01:13:57,860 OK. 1538 01:13:57,860 --> 01:13:59,650 Se konsa, sa a, se ne konstri nou an. 1539 01:13:59,650 --> 01:14:03,920 Epi, koulye a, fonksyon a sèlman nou bezwen aplike pou sa a se Traverse, ki 1540 01:14:03,920 --> 01:14:08,320 nou vle ale sou pye bwa, enprime nan soti valè yo nan pye bwa a nan lòd. 1541 01:14:08,320 --> 01:14:15,241 >> Se konsa, kap isit la, nou ta vle ekri an lèt detache soti 20, 34, 36, 52, 59, ak 106. 1542 01:14:15,241 --> 01:14:17,970 Ki jan nou fè sa? 1543 01:14:17,970 --> 01:14:18,890 Se konsa, li trè menm jan an. 1544 01:14:18,890 --> 01:14:22,910 Si ou te wè nan egzamen ki sot pase a pwoblèm nan ke ou te vle ekri ak lèt ​​detache soti 1545 01:14:22,910 --> 01:14:25,940 pye bwa an antye ak vigil nan ant tout bagay, li te aktyèlman menm 1546 01:14:25,940 --> 01:14:27,320 pi fasil pase sa. 1547 01:14:27,320 --> 01:14:30,950 Se konsa, isit la se solisyon an. 1548 01:14:30,950 --> 01:14:33,110 Sa te siyifikativman pi fasil si nou te fè sa recursive. 1549 01:14:33,110 --> 01:14:36,650 Mwen pa konnen si nenpòt moun te eseye fè li iterativman. 1550 01:14:36,650 --> 01:14:38,340 >> Men, anvan, nou gen ka baz nou an. 1551 01:14:38,340 --> 01:14:39,660 E si rasin lan se nil? 1552 01:14:39,660 --> 01:14:40,610 Lè sa a, nou ap jis ale nan retounen. 1553 01:14:40,610 --> 01:14:42,300 Nou pa vle ekri ak lèt ​​detache anyen. 1554 01:14:42,300 --> 01:14:45,940 Lòt Bagay nou pral travèse recursive desann. 1555 01:14:45,940 --> 01:14:48,140 Enprime tout subtree gòch la. 1556 01:14:48,140 --> 01:14:51,440 Se konsa, ekri ak lèt ​​detache tout bagay mwens pase valè aktyèl m 'yo. 1557 01:14:51,440 --> 01:14:53,930 Lè sa a, mwen pral ekri ak lèt ​​detache tèt mwen. 1558 01:14:53,930 --> 01:14:57,310 Lè sa a, mwen pral recurse desann m ' tout subtree dwa, se konsa tout bagay 1559 01:14:57,310 --> 01:14:58,810 pi gran pase valè m 'yo. 1560 01:14:58,810 --> 01:15:03,870 Lè sa a se ale nan ekri ak lèt ​​detache soti tout bagay nan lòd. 1561 01:15:03,870 --> 01:15:05,860 Kesyon sou ki jan sa a aktyèlman akonpli sa? 1562 01:15:05,860 --> 01:15:09,892 1563 01:15:09,892 --> 01:15:12,545 >> ODYANS: Mwen gen yon kesyon sou [fèbl] la. 1564 01:15:12,545 --> 01:15:15,090 1565 01:15:15,090 --> 01:15:23,550 >> ROB BOWDEN: Se konsa, yon sèl fason pou apwoche nenpòt pwoblèm repetitif se jis panse 1566 01:15:23,550 --> 01:15:26,275 sou li renmen ou gen yo panse sou tout kwen ka yo. 1567 01:15:26,275 --> 01:15:32,150 1568 01:15:32,150 --> 01:15:38,110 Se konsa, konsidere ke nou vle ekri ak lèt ​​detache tout pyebwa sa a. 1569 01:15:38,110 --> 01:15:42,030 Se konsa, tout nou pral konsantre sou se ne sa a an patikilye - 1570 01:15:42,030 --> 01:15:43,740 36. 1571 01:15:43,740 --> 01:15:47,420 Apèl yo repetitif, nou pretann moun ki jis travay. 1572 01:15:47,420 --> 01:15:54,000 Se konsa, isit la, sa a rele repetitif Traverse, nou san yo pa menm panse 1573 01:15:54,000 --> 01:15:58,640 sou li, jis travès bò gòch la twa, imajine ki deja simagri 20 1574 01:15:58,640 --> 01:16:00,730 ak 34 pou nou. 1575 01:16:00,730 --> 01:16:03,350 Lè sa a, lè nou evantyèlman recursive rele Traverse sou la 1576 01:16:03,350 --> 01:16:07,890 dwat, ki pral kòrèkteman ekri an lèt detache 52, 59, ak 106 pou nou. 1577 01:16:07,890 --> 01:16:13,620 >> Se konsa, bay yo ke sa a kapab ekri an lèt detache 20, 34, ak lòt la ka enprime 52, 59, 108, 1578 01:16:13,620 --> 01:16:17,180 tout sa nou bezwen pou kapab fè se ekri ak lèt ​​detache ourself an nan mitan sa a. 1579 01:16:17,180 --> 01:16:21,250 Se konsa, enprime soti tout bagay anvan nou. 1580 01:16:21,250 --> 01:16:27,710 Enprime ourself, se konsa ekri ak lèt ​​detache nan ne aktyèl 36, printf regilye, ak Lè sa a, 1581 01:16:27,710 --> 01:16:31,170 ekri ak lèt ​​detache tout bagay apre nou. 1582 01:16:31,170 --> 01:16:32,730 >> DAVID J. Malan: Sa a se kote rkursyon vin vrèman bèl. 1583 01:16:32,730 --> 01:16:36,270 Li nan kwasans sa a etonan konfyans nan Bondye kote ou fè ti jan a mwendr nan travay yo. 1584 01:16:36,270 --> 01:16:38,460 Lè sa a, ou kite yon moun lòt moun fè rès la. 1585 01:16:38,460 --> 01:16:40,180 Apre sa, ke yon lòt moun se, iwonilman, ou. 1586 01:16:40,180 --> 01:16:44,260 1587 01:16:44,260 --> 01:16:48,360 Se konsa, pou pwen brownie grav, si ou woulo liv moute sou kesyon yo - 1588 01:16:48,360 --> 01:16:50,530 >> ROB BOWDEN: Sou kesyon yo? 1589 01:16:50,530 --> 01:16:53,490 >> DAVID J. Malan: Apre sa, desann yon ti chif yo, nenpòt moun ki konnen ki kote 1590 01:16:53,490 --> 01:16:55,190 nimewo sa yo soti? 1591 01:16:55,190 --> 01:16:56,610 >> ROB BOWDEN: Mwen gen literalman gen okenn lide. 1592 01:16:56,610 --> 01:16:59,794 >> DAVID J. Malan: Yo parèt nan tout egzamen an. 1593 01:16:59,794 --> 01:17:01,150 >> ODYANS: Eske yo se moun nimewo yo menm? 1594 01:17:01,150 --> 01:17:01,910 >> DAVID J. Malan: nimewo sa yo. 1595 01:17:01,910 --> 01:17:03,260 Yon ti kras Pak ze. 1596 01:17:03,260 --> 01:17:08,100 Se konsa, pou moun nan nou ap gade sou entènèt la nan lakay ou, si ou ka di nou via yon imel bay 1597 01:17:08,100 --> 01:17:12,680 heads@CS50.net sa ki siyifikasyon an nan renouvlab sis nimewo sa yo, se 1598 01:17:12,680 --> 01:17:18,560 nan tout egzamen 1, n ap douch ou avèk atansyon etonan nan final la 1599 01:17:18,560 --> 01:17:21,610 konferans ak yon boul estrès. 1600 01:17:21,610 --> 01:17:25,460 1601 01:17:25,460 --> 01:17:27,790 Bèl, sibtil. 1602 01:17:27,790 --> 01:17:29,570 >> ROB BOWDEN: Nenpòt kesyon dènye sou anyen sou egzamen an? 1603 01:17:29,570 --> 01:17:32,608