1 00:00:00,000 --> 00:00:02,405 >> [MIZIK jwe] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 DAVID Malan: Tout dwa, sa a se CS50. 4 00:00:11,980 --> 00:00:13,740 Sa a se nan fen semèn uit. 5 00:00:13,740 --> 00:00:15,887 Ak jodi a, nou kòmanse ranpli nan kèk moso 6 00:00:15,887 --> 00:00:17,720 lè li rive bilding bagay sa yo sou entènèt la. 7 00:00:17,720 --> 00:00:20,020 Se konsa, sonje ke nan Lendi nou depanse yon tan anpil plis 8 00:00:20,020 --> 00:00:22,530 sou PHP, ki se dinamik sa a lang programmation ki 9 00:00:22,530 --> 00:00:26,872 pèmèt nou pwodiksyon, nan mitan lòt bagay sa yo, HTML ak lòt kontni sa yo 10 00:00:26,872 --> 00:00:27,830 ke nou pral vle wè. 11 00:00:27,830 --> 00:00:30,871 Men, nou pa te reyèlman gade nan ki jan nou ap ale nan magazen nenpòt enfòmasyon. 12 00:00:30,871 --> 00:00:34,477 Vreman vre, prèske nenpòt nan sa a super sit enteresan ou vizite jodi a 13 00:00:34,477 --> 00:00:36,560 gen kèk kalite baz done sou fen a tounen, dwa? 14 00:00:36,560 --> 00:00:39,540 Facebook sètènman magazen anpil nan done sou tout moun nan nou ak Gmail magazen tout 15 00:00:39,540 --> 00:00:40,210 nan Imèl ou yo. 16 00:00:40,210 --> 00:00:44,150 >> Se konsa, anpil lòt sit yo pa sèlman kontni estatik sa a, se enfòmasyonèl. 17 00:00:44,150 --> 00:00:45,640 Li nan aktyèlman dinamik nan kèk fason. 18 00:00:45,640 --> 00:00:48,480 Ou bay opinyon, li dènye nouvèl paj sa yo pou lòt moun. 19 00:00:48,480 --> 00:00:50,620 Ou jwenn mesaj, ou voye mesaj, ak pou fè. 20 00:00:50,620 --> 00:00:54,250 Se konsa, jodi a, nou gade pi pre nan fondman yo nan yon pwojè 21 00:00:54,250 --> 00:00:57,330 ke ou pral plonje nan pwochen semèn, CS50 Finans, ki 22 00:00:57,330 --> 00:01:00,509 se aktyèlman pral gen ou bati yon bagay ki pa nan C, men nan PHP. 23 00:01:00,509 --> 00:01:02,550 Yon sit wèb ki sanble yon ti kras yon bagay tankou sa 24 00:01:02,550 --> 00:01:05,810 ki pèmèt yo achte ak vann aksyon ki yo aktyèlman 25 00:01:05,810 --> 00:01:09,044 ale nan trase sou tan reyèl done stock soti nan Yahoo Finans. 26 00:01:09,044 --> 00:01:11,960 Se konsa, finalman, ou pral gen nan ilizyon pou tèt ou ak pou itilizatè 27 00:01:11,960 --> 00:01:14,550 ke w ap aktyèlman achte ak vann aksyon ak ap resevwa tan prèske reyèl 28 00:01:14,550 --> 00:01:16,800 dènye nouvèl yo, jere yon dosye pou yo, tout nan yo ki 29 00:01:16,800 --> 00:01:20,310 ki pral mande pou gen, finalman, yon baz done nan itilizatè. 30 00:01:20,310 --> 00:01:23,330 >> Se konsa, nan pwòp mo ou, espesyalman si w ap pa 31 00:01:23,330 --> 00:01:25,670 super abitye avèk òdinatè syans oswa baz done, ki sa 32 00:01:25,670 --> 00:01:30,790 èske w konnen yon baz done yo dwe kounye a, an tèm nontechnical? 33 00:01:30,790 --> 00:01:32,300 Kisa li ye? 34 00:01:32,300 --> 00:01:36,882 Kouman ou ta dekri li nan yon kolokasyon oswa yon zanmi? 35 00:01:36,882 --> 00:01:40,100 >> ODYANS: [fèbl] enfòmasyon [fèbl] 36 00:01:40,100 --> 00:01:44,430 >> DAVID Malan: Se konsa, yon lis ki gen enfòmasyon, oswa yon store-- yon lis enfòmasyon 37 00:01:44,430 --> 00:01:47,160 ke ou ta ka vle nan magazen sou yon bagay, tankou yon itilizatè. 38 00:01:47,160 --> 00:01:50,190 Ak sa ki fè itilizatè yo gen ki asosye avèk yo? 39 00:01:50,190 --> 00:01:53,160 Si ou se yon itilizatè sou Facebook oswa Gmail, ki sa yo karakteristik sa yo 40 00:01:53,160 --> 00:01:54,940 ki tout moun nan nou itilizatè yo gen? 41 00:01:54,940 --> 00:01:58,530 Tankou, sa ki ka gen kèk nan la kolòn nan calcul a nan ki nou 42 00:01:58,530 --> 00:01:59,390 mansyone dènye fwa? 43 00:01:59,390 --> 00:02:01,140 Paske ankò, ou kapab panse a yon baz done 44 00:02:01,140 --> 00:02:05,810 reyèlman kòm yon anpenpan Excel dosye oswa Google Feuy oswa Apple Numbers dosye-a. 45 00:02:05,810 --> 00:02:08,280 >> Se konsa, sa ou panse nan lè ou panse a yon itilizatè? 46 00:02:08,280 --> 00:02:11,290 Ki sa yo genyen? 47 00:02:11,290 --> 00:02:11,790 Ki sa ki nan sa? 48 00:02:11,790 --> 00:02:12,470 >> ODYANS: Yon non. 49 00:02:12,470 --> 00:02:13,303 >> DAVID Malan: Yon non. 50 00:02:13,303 --> 00:02:16,840 Se konsa, si non, tankou, David Malan ta dwe non an nan kèk itilizatè. 51 00:02:16,840 --> 00:02:17,980 Ki lòt bagay yon itilizatè genyen? 52 00:02:17,980 --> 00:02:18,770 >> ODYANS: Yon ID. 53 00:02:18,770 --> 00:02:19,561 >> DAVID Malan: Yon ID. 54 00:02:19,561 --> 00:02:23,320 Se konsa, tankou yon nimewo ID, tankou Harvard ou ID oswa Yale Net ID ou a oswa renmen an. 55 00:02:23,320 --> 00:02:24,923 Ki lòt bagay yon itilizatè ta ka genyen? 56 00:02:24,923 --> 00:02:25,890 >> ODYANS: Modpas. 57 00:02:25,890 --> 00:02:29,240 >> DAVID Malan: Yon modpas, petèt yon adrès, petèt yon nimewo telefòn, petèt 58 00:02:29,240 --> 00:02:30,050 yon adrès imel. 59 00:02:30,050 --> 00:02:32,640 Se konsa, gen nan grap nan jaden ak sa a te kapab sòt de espiral soti nan kontwòl 60 00:02:32,640 --> 00:02:34,760 byen vit ke pli vit ke ou kòmanse ka akonpli, o, se pou yo magazen sa a 61 00:02:34,760 --> 00:02:36,190 e kite yo magazen sa a epi sa. 62 00:02:36,190 --> 00:02:37,657 >> Men, ki jan nou aktyèlman fè sa? 63 00:02:37,657 --> 00:02:39,740 Se konsa, ankò, modèl la mantal gen pou jodi a kòm nou 64 00:02:39,740 --> 00:02:42,320 plonje nan aktyèl SQL, Estriktire rekèt Lang, 65 00:02:42,320 --> 00:02:44,186 se yon baz done ki sanble tankou sa a. 66 00:02:44,186 --> 00:02:45,310 Se jis ranje ak kolòn. 67 00:02:45,310 --> 00:02:48,309 Epi ou ka imajine Google tableur oswa nenpòt ki kantite lòt pwogram yo. 68 00:02:48,309 --> 00:02:52,130 Men, sa ki nan kle sou miskl, ki se nan lojisyèl baz done nou ap ale nan sèvi ak, 69 00:02:52,130 --> 00:02:54,920 lib ouvètman nan available-- Facebook itilizasyon 70 00:02:54,920 --> 00:02:59,200 li ak nenpòt kantite lòt websites-- baz done estoke bagay re- lasyon. 71 00:02:59,200 --> 00:03:01,770 Apre sa, yon baz done relasyon jis vle di youn ki literalman 72 00:03:01,770 --> 00:03:03,672 magazen done li yo nan ranje ak kolòn. 73 00:03:03,672 --> 00:03:04,630 Li nan kòm senp tankou sa. 74 00:03:04,630 --> 00:03:07,230 >> Se konsa, menm yon bagay tankou Oracle ki ou ka gen tande pale de jeneralman 75 00:03:07,230 --> 00:03:08,271 se yon baz done relasyon. 76 00:03:08,271 --> 00:03:10,929 Apre sa, anba kapo a, li magazen done nan ranje ak kolòn. 77 00:03:10,929 --> 00:03:12,970 Apre sa, Oracle chaje ou yon anpil lajan fè sa, 78 00:03:12,970 --> 00:03:15,550 Lè nou konsidere ke miskl chaj ou pa gen anyen pou menm bagay la. 79 00:03:15,550 --> 00:03:18,790 Se konsa, SQL ki pral ban nou nan omwen kat operasyon yo. 80 00:03:18,790 --> 00:03:23,190 Kapasite nan chwazi done, tankou lecture done, insert, efase, ak done aktyalizasyon. 81 00:03:23,190 --> 00:03:25,525 Nan lòt mo, sa yo se reyèlman kat operasyon yo kle 82 00:03:25,525 --> 00:03:28,950 ke yo pral pèmèt nou chanje bagay nan sa yo ranje ak kolòn. 83 00:03:28,950 --> 00:03:33,250 >> Zouti a ke nou pral sèvi ak jodi a espesyalman yo aprann SQL ak yo jwe ak li 84 00:03:33,250 --> 00:03:34,627 se ankò rele PHP MyAdmin. 85 00:03:34,627 --> 00:03:35,460 Li nan entènèt zouti ki baze sou. 86 00:03:35,460 --> 00:03:38,200 Total konyensidans ki li nan ekri nan PHP. 87 00:03:38,200 --> 00:03:42,400 Men, li k ap pase yo ban nou yon grafik koòdone itilizatè pou ke nou kapab aktyèlman 88 00:03:42,400 --> 00:03:46,054 kreye ranje sa yo ak kolòn ak Lè sa a pale ak yo via kòd. 89 00:03:46,054 --> 00:03:47,970 Se konsa, kite a kounye a kòmanse ki sa mwen panse ki franchman 90 00:03:47,970 --> 00:03:51,000 kalite pwosesis la plezi nan bati fen a tounen nan sit entènèt, 91 00:03:51,000 --> 00:03:54,580 pati pyès sa yo ke itilizatè pa fè sa wè, men siman fè swen sou, 92 00:03:54,580 --> 00:03:56,170 paske se sa olye done a prale. 93 00:03:56,170 --> 00:03:59,570 Se konsa, menm jan ak C ak yon ti kras mwens tankou PHP, 94 00:03:59,570 --> 00:04:04,954 SQL, oswa yon baz done ki sipòte SQL, gen omwen done sa yo kalite 95 00:04:04,954 --> 00:04:05,870 ak grap rezen lòt moun. 96 00:04:05,870 --> 00:04:08,107 CHAR, Varchar, INT, bigen, Desimal, ak dattim. 97 00:04:08,107 --> 00:04:09,940 Apre sa, nan yon antye pakèt moun sou lòt karakteristik, 98 00:04:09,940 --> 00:04:11,940 men kite a fè sa a pa fason pou aktyèl egzanp. 99 00:04:11,940 --> 00:04:16,450 >> Mwen pral ale nan CS50 IDE kote, an avanse, mwen te louvri sesyon an 100 00:04:16,450 --> 00:04:19,372 ak mwen te tou te vizite yon URL pou zouti sa a yo rele PHP MyAdmin. 101 00:04:19,372 --> 00:04:22,580 Ak nan pwoblèm mete sèt, nou pral di ou egzakteman ki jan pou li ale nan koòdone sa a 102 00:04:22,580 --> 00:04:23,200 kòm byen. 103 00:04:23,200 --> 00:04:25,640 Sou kwen an tèt men gòch, remake li di konferans. 104 00:04:25,640 --> 00:04:27,610 Epi sa jis vle di ke an avanse, mwen te kreye 105 00:04:27,610 --> 00:04:31,360 yon baz done yo rele konferans vid ki pa gen okenn Des nan li ankò. 106 00:04:31,360 --> 00:04:32,600 Gen nan pa gen ranje ak kolòn. 107 00:04:32,600 --> 00:04:34,308 Paske premye nan bagay nou ap ale nan fè 108 00:04:34,308 --> 00:04:37,100 se kòmanse yo kreye yon tab ki k ap pase nan magazen itilizatè nou an. 109 00:04:37,100 --> 00:04:39,100 >> Se konsa, literalman sou isit la a dwat la, mwen se 110 00:04:39,100 --> 00:04:42,070 pral di baz done a Mwen vle yon tab rele Itilizatè yo. 111 00:04:42,070 --> 00:04:44,845 Se konsa, sa a, se tankou dosye a ke mwen vle nan magazen tout done mwen an. 112 00:04:44,845 --> 00:04:45,720 Ak konbyen kolòn? 113 00:04:45,720 --> 00:04:47,740 Oke, kite la kenbe li senp pou kounye a. 114 00:04:47,740 --> 00:04:51,855 Mwen jis vle nan magazen tankou yon non itilizatè ak yon non pou yon itilizatè. 115 00:04:51,855 --> 00:04:53,020 Nou pral kòmanse piti. 116 00:04:53,020 --> 00:04:55,370 Se konsa, mwen vle de kolòn total. 117 00:04:55,370 --> 00:04:57,360 Apre sa, mwen pral ale pi devan epi klike sou Ale. 118 00:04:57,360 --> 00:04:59,210 Apre sa, lè sa a, pou sa yo kolòn, ki sa mwen pral 119 00:04:59,210 --> 00:05:04,576 do-- si sa a entènèt cooperates-- tout dwa, 120 00:05:04,576 --> 00:05:05,950 se konsa nou ap ale nan eseye sa ankò. 121 00:05:05,950 --> 00:05:09,180 Mwen pral yo kreye yon tab rele Itilizatè yo ak de kolòn, klike sou Ale, OK. 122 00:05:09,180 --> 00:05:10,520 Koulye a, nou te gen li vrèman vit. 123 00:05:10,520 --> 00:05:12,065 Mèsi poutèt ou, trè byen fè. 124 00:05:12,065 --> 00:05:14,440 Tout dwa, Se konsa, sa fè nou vle kolòn sa yo yo dwe rele? 125 00:05:14,440 --> 00:05:16,080 >> Se konsa, yon sèl k ap pase yo dwe rele Username. 126 00:05:16,080 --> 00:05:19,480 Se konsa, tout mwen wè isit lan-- ak koòdone nan franchman vin yon ti kras lèd evantyèlman, 127 00:05:19,480 --> 00:05:21,270 yon fwa ou kòmanse sezisman nan tout done sa a. 128 00:05:21,270 --> 00:05:27,450 Men, sa ki nan bèl se ke sòt de paradoksal, mwen kreye kolòn, 129 00:05:27,450 --> 00:05:29,977 men zouti an gen tankou moun fou mete yo atè nan ranje 130 00:05:29,977 --> 00:05:31,560 pou m 'ka configured kolòn sa yo. 131 00:05:31,560 --> 00:05:33,550 Se konsa, gen nan de espas vid kanpe anba Non. 132 00:05:33,550 --> 00:05:36,180 Ak youn nan jaden yo sa yo mwen vle rele Username, 133 00:05:36,180 --> 00:05:38,000 ak jaden nan lòt mwen vle rele Non. 134 00:05:38,000 --> 00:05:40,340 >> Epi kounyeya, m gen yo chwazi kalite done pou bagay sa yo. 135 00:05:40,340 --> 00:05:42,330 Se konsa, Lè nou konsidere ke nan Excel ak Google tableur, 136 00:05:42,330 --> 00:05:45,531 si ou vle yon kolòn, ou literalman jis tape Non oubyen non itilizatè, frape Antre nan. 137 00:05:45,531 --> 00:05:48,030 Petèt ou fè l 'fè fas fonse jis pou clarté, men sa a li. 138 00:05:48,030 --> 00:05:50,140 Ou pa presize nan kalite kolòn yo. 139 00:05:50,140 --> 00:05:53,790 Koulye a, nan Google tableur oswa Excel, ou ta ka presize ki jan done a ap founi. 140 00:05:53,790 --> 00:05:58,120 Ou te kapab ale nan meni an Fòma, epi ou ka presize montre sa a siy dola tankou, 141 00:05:58,120 --> 00:05:59,900 montre sa a tankou se yon valè k ap flote pwen. 142 00:05:59,900 --> 00:06:01,990 >> Se konsa, li nan menm jan an nan Lespri Bondye a ke sa nou ap sou yo fè, 143 00:06:01,990 --> 00:06:04,740 men sa a se aktyèlman pral fòse done yo yo dwe yon kalite sèten. 144 00:06:04,740 --> 00:06:07,750 Koulye a, menm si yon ti moman de sa mwen di gen nan kalite done sèlman yon kèk, 145 00:06:07,750 --> 00:06:11,120 gen nan aktyèlman yon antye anpil, e yo ap 146 00:06:11,120 --> 00:06:12,910 nan diferan degre nan espesifik. 147 00:06:12,910 --> 00:06:14,970 Apre sa, kòm yon sou kote, ou ka menm fè bagay sa yo anpenpan 148 00:06:14,970 --> 00:06:17,520 tankou jeyometri depo andedan nan yon baz done. 149 00:06:17,520 --> 00:06:19,250 Ou ka magazen bagay sa yo tankou GPS kowòdone 150 00:06:19,250 --> 00:06:22,420 ak aktyèlman jwenn, matematik, pwen ki fèmen nan lòt moun. 151 00:06:22,420 --> 00:06:24,128 Men, nou ap ale nan kenbe sa a super senp 152 00:06:24,128 --> 00:06:26,800 epi ale jiska isit la, tout nan sa yo rele kalite mouvman yo fisèl. 153 00:06:26,800 --> 00:06:29,240 >> Se konsa, isit la nan yon lis ki gen yon pakèt antye nan opsyon. 154 00:06:29,240 --> 00:06:32,740 CHAR, Varchar, TINYTEXT, MEDIUMTEXT, LONGTEXT. 155 00:06:32,740 --> 00:06:34,110 Lè li nan kalite akablan yo. 156 00:06:34,110 --> 00:06:37,610 Apre sa, malerezman, yon ti jan paradoksal nan C, 157 00:06:37,610 --> 00:06:40,120 yon CHAR se pa reyèlman yon CHAR. 158 00:06:40,120 --> 00:06:44,170 Si ou presize nan yon baz done ki kalite done ou se CHAR, 159 00:06:44,170 --> 00:06:47,390 sa vle di ke repons lan se wi, li nan yon CHAR, men li la youn oswa plis charaktèr. 160 00:06:47,390 --> 00:06:49,630 Epi ou gen ou presize konbyen charaktèr ou vle. 161 00:06:49,630 --> 00:06:51,636 Se konsa, sa ki nan yon tipik longè pou yon non itilizatè? 162 00:06:51,636 --> 00:06:52,760 Èske gen yon limit tipikman? 163 00:06:52,760 --> 00:06:53,920 >> ODYANS: [fèbl] 164 00:06:53,920 --> 00:06:55,050 >> DAVID Malan: 16 petèt? 165 00:06:55,050 --> 00:06:55,990 Yon bagay tankou sa. 166 00:06:55,990 --> 00:06:57,948 Ou konnen, li tounen nan nan jou, li itilize yo dwe uit. 167 00:06:57,948 --> 00:07:00,289 Pafwa li nan 16, pafwa li nan menm plis pase sa. 168 00:07:00,289 --> 00:07:02,080 Se konsa, sa a pa fè sa vle di, ban m 'yon sèl CHAR. 169 00:07:02,080 --> 00:07:04,730 Sa vle di mwen gen ou presize longè a nan jaden an, 170 00:07:04,730 --> 00:07:07,402 e kounye a, mwen ta ka di yon bagay tankou 16. 171 00:07:07,402 --> 00:07:08,610 Apre sa, nan yon komès nan isit la. 172 00:07:08,610 --> 00:07:11,360 Se konsa, nou pral wè nan yon ti moman ke sa a vle di yon sèl, 173 00:07:11,360 --> 00:07:14,620 chak non itilizatè gen yo dwe 16 karaktè. 174 00:07:14,620 --> 00:07:18,720 Men, rete tann yon minit, M-A-L-A-N. Si sa a non itilizatè mwen an ak mwen sèlman lè l sèvi avèk senk, 175 00:07:18,720 --> 00:07:23,070 ki sa ou ta pwopoze ke baz done a fè pou 11 karaktè yo lòt ki 176 00:07:23,070 --> 00:07:24,471 Mwen te rezève espas pou? 177 00:07:24,471 --> 00:07:25,220 Kisa ou tap fe? 178 00:07:25,220 --> 00:07:26,480 >> ODYANS: [fèbl] 179 00:07:26,480 --> 00:07:27,160 >> DAVID Malan: Yeah, jis fè yo tout nil. 180 00:07:27,160 --> 00:07:28,290 Fè yo espas. 181 00:07:28,290 --> 00:07:30,816 Men, pwobableman nil, se konsa yon anpil nan zewo antislach. 182 00:07:30,816 --> 00:07:33,190 Se konsa, sou yon bò, nou te kounye a te fè asire w ke non itilizatè mwen an 183 00:07:33,190 --> 00:07:34,780 ka gen plis pase 16 karaktè. 184 00:07:34,780 --> 00:07:37,590 Apre sa, bò la baskile nan ki se ke si mwen te gen yon non reyèlman long 185 00:07:37,590 --> 00:07:39,940 oswa te vle yon reyèlman long non itilizatè tankou kèk nan nou 186 00:07:39,940 --> 00:07:44,840 mesye ta ka gen nan ki kolèj oswa a Yale.edu, ou pa ka gen youn. 187 00:07:44,840 --> 00:07:47,177 Se konsa, an reyalite, si ou te tout tan tout tan anrejistre pou yon sit entènèt 188 00:07:47,177 --> 00:07:49,385 epi ou jwenn rele nan di modpas ou a twò long 189 00:07:49,385 --> 00:07:52,710 oubyen non itilizatè ou an twò lontan, li nan tou senpleman paske yon pwogramè, lè 190 00:07:52,710 --> 00:07:55,500 konfigirasyon baz done li, deside ke Jaden sa a pral 191 00:07:55,500 --> 00:07:57,150 pa gen okenn pi lontan pase sa a longè. 192 00:07:57,150 --> 00:08:00,580 >> Tout dwa, se konsa sa ki si nou kontinye nan non? 193 00:08:00,580 --> 00:08:05,240 Konbyen tan yo ta dwe yon Non tipik imen an ta dwe ye? 194 00:08:05,240 --> 00:08:07,492 Karaktè Konbyen, 16? 195 00:08:07,492 --> 00:08:09,450 Mwen devine nou te kapab jwenn yon moun nan sal sa a 196 00:08:09,450 --> 00:08:13,210 kote pa li oswa li premye plis pase non se pi long pase 16 karaktè. 197 00:08:13,210 --> 00:08:14,850 Se konsa, sa ki nan pi bon pase sa, 17? 198 00:08:14,850 --> 00:08:17,040 18? 199 00:08:17,040 --> 00:08:18,830 25? 200 00:08:18,830 --> 00:08:20,350 Pi gwo? 201 00:08:20,350 --> 00:08:20,980 30? 202 00:08:20,980 --> 00:08:21,855 >> ODYANS: [fèbl] 203 00:08:21,855 --> 00:08:23,700 DAVID Malan: 5,000, o Bondye mwen an. 204 00:08:23,700 --> 00:08:26,309 Se konsa, sa a, se pwobableman yon desan anwo mare, va nou di. 205 00:08:26,309 --> 00:08:28,350 Ak isit la nou gen kalite fè yon apèl jijman. 206 00:08:28,350 --> 00:08:30,400 Tankou, gen nan pa gen repons isit la menm. 207 00:08:30,400 --> 00:08:32,740 Enfini se pa byen posib, paske nou ap evantyèlman 208 00:08:32,740 --> 00:08:34,781 ale nan en-nou ap ale nan kouri soti nan memwa. 209 00:08:34,781 --> 00:08:36,909 Se konsa, nou gen fè yon apèl jijman nan kèk pwen. 210 00:08:36,909 --> 00:08:41,010 >> Trè komen ta dwe, pou egzanp, use-- ak kite m 'presize CHAR isit la 211 00:08:41,010 --> 00:08:46,050 kòm fè anvan 255 te literalman nan limit anwo sou sa a baz done lojisyèl 212 00:08:46,050 --> 00:08:46,700 ane de sa. 213 00:08:46,700 --> 00:08:48,575 Se konsa, yon anpil nan moun ta jis di, amann. 214 00:08:48,575 --> 00:08:49,420 255 nan limit la. 215 00:08:49,420 --> 00:08:50,620 Se pou nou jis itilize maksimòm la. 216 00:08:50,620 --> 00:08:51,870 Lè sa a se trè ridikil. 217 00:08:51,870 --> 00:08:55,060 Tankou, si w ap tape yon moun nan non pou 200 karaktè plis, 218 00:08:55,060 --> 00:08:56,140 ki yon ti kras ridikil. 219 00:08:56,140 --> 00:08:59,624 >> Men, sonje ke ASCII se pa sistèm la sèlman pou karaktè. 220 00:08:59,624 --> 00:09:01,540 Se konsa, espesyalman nan yon anpil nan lang Azyatik 221 00:09:01,540 --> 00:09:04,248 kote gen nan karaktè nou pa kapab eksprime sou Klavye tankou Etazini mwen 222 00:09:04,248 --> 00:09:08,209 entènèt klavye, kèk karaktè aktyèlman Leve kanpe, pran 16 Bits olye pou yo uit miyèt moso. 223 00:09:08,209 --> 00:09:10,250 Se konsa, sa a aktyèlman se pa tout sa ki rezonab 224 00:09:10,250 --> 00:09:12,250 ke nou bezwen plis espas si nou vle anfòm 225 00:09:12,250 --> 00:09:16,252 pi gwo karaktè pase US la anpil yo menm santre nou te te gen tandans yo diskite sou. 226 00:09:16,252 --> 00:09:17,460 Se konsa, nou bezwen kèk anwo mare. 227 00:09:17,460 --> 00:09:21,470 Mwen pa konnen sa youn nan pi bon se, men 255 se jeneralman yon yon sèl komen. 228 00:09:21,470 --> 00:09:22,700 25 santi l ki ba. 229 00:09:22,700 --> 00:09:23,857 16, 32 santi ki ba. 230 00:09:23,857 --> 00:09:25,690 Mwen ta pèdi tèt sou bò nan yon bagay ki pi wo. 231 00:09:25,690 --> 00:09:27,330 Men, gen nan yon komès koupe, kòm toujou. 232 00:09:27,330 --> 00:09:31,902 Ki sa ki se, petèt, evidan an komès koupe nan rezève 255 charaktèr 233 00:09:31,902 --> 00:09:33,360 pou non tout moun nan nan baz done mwen an? 234 00:09:33,360 --> 00:09:34,230 >> ODYANS: [fèbl] 235 00:09:34,230 --> 00:09:34,510 >> DAVID Malan: Ki sa ki nan sa? 236 00:09:34,510 --> 00:09:35,430 >> ODYANS: [fèbl] 237 00:09:35,430 --> 00:09:37,138 >> DAVID Malan: Li se yon anpil nan memwa, dwa? 238 00:09:37,138 --> 00:09:42,280 M-A-L-A-N. Mwen fèk gaspiye 250 karaktè jis nan magazen non mwen 239 00:09:42,280 --> 00:09:46,000 pridans, jis nan ka yon moun nan klas la gen yon non vrèman long. 240 00:09:46,000 --> 00:09:47,940 Sa sanble tankou yon arbitraj soufwans. 241 00:09:47,940 --> 00:09:52,040 >> Se konsa, li sanble ke SQL, sa a ak lang baz done, 242 00:09:52,040 --> 00:09:55,480 aktyèlman sipòte yon bagay rele varchar, oswa Varyab CHAR. 243 00:09:55,480 --> 00:09:59,390 Lè sa a se kalite bèl nan ke sa a pèmèt ou presize pa yon fiks 244 00:09:59,390 --> 00:10:01,900 lajè, men pito, yon lajè varyab. 245 00:10:01,900 --> 00:10:05,060 Ak plis espesyalman, se yon lajè maksimòm de jaden an. 246 00:10:05,060 --> 00:10:08,901 Se konsa, sa vle di ke yon non kapab pa gen okenn plis pase 250 karaktè, 247 00:10:08,901 --> 00:10:10,150 men li ka sètènman se mwens. 248 00:10:10,150 --> 00:10:11,733 Apre sa, baz done a a pwal entelijan. 249 00:10:11,733 --> 00:10:14,860 Si ou mete nan M-A-L-A-N, li nan sèlman ale nan sèvi ak senk, 250 00:10:14,860 --> 00:10:18,120 petèt sis bytes pou tankou yon fin pèsonaj nil, 251 00:10:18,120 --> 00:10:23,330 epi yo pa depanse yon lòt 249 oswa 250 bytes san nesesite. 252 00:10:23,330 --> 00:10:27,380 >> Se konsa, sa a sanble tankou mwen ta dwe te te kòmanse avèk istwa sa a. 253 00:10:27,380 --> 00:10:29,140 Men, gen nan toujou yon arbitraj. 254 00:10:29,140 --> 00:10:33,024 Se konsa, sou yon bò, yon non itilizatè mwen te espesifye yo dwe difisil kode nan 16, 255 00:10:33,024 --> 00:10:34,940 e petèt ki pa t ' rele nan dwa, petèt li 256 00:10:34,940 --> 00:10:40,040 se, men poukisa yo pa sèvi ak VARCHARs pou tout bagay? 257 00:10:40,040 --> 00:10:42,020 >> Li egziste pou yon rezon. 258 00:10:42,020 --> 00:10:46,200 Poukisa nou pa sèvi ak pou chak jaden VARCHARs ki gen longè ou pa konnen an avanse 259 00:10:46,200 --> 00:10:48,180 si li sanble ap yon gwo bagay, dwa? 260 00:10:48,180 --> 00:10:50,482 Sèvi ak sèlman kòm anpil espas kòm ou bezwen jiska limit sa a? 261 00:10:50,482 --> 00:10:51,271 >> ODYANS: pi dousman. 262 00:10:51,271 --> 00:10:52,146 DAVID Malan: ortograf? 263 00:10:52,146 --> 00:10:53,120 ODYANS: Fè li pi dousman? 264 00:10:53,120 --> 00:10:53,970 DAVID Malan: Oh, li nan pi dousman. 265 00:10:53,970 --> 00:10:55,720 Bon, sa a, se prèske toujou repons lan, franchman. 266 00:10:55,720 --> 00:10:56,520 Tankou, sa ki nan arbitraj la? 267 00:10:56,520 --> 00:10:58,570 Li swa koute plis espas oswa li te koute plis tan. 268 00:10:58,570 --> 00:11:00,111 Se konsa, nan ka sa a, li ta kapab pi dousman. 269 00:11:00,111 --> 00:11:00,920 Poukisa? 270 00:11:00,920 --> 00:11:05,830 >> ODYANS: [fèbl] pou detèmine si [fèbl]. 271 00:11:05,830 --> 00:11:06,640 >> DAVID Malan: Bon. 272 00:11:06,640 --> 00:11:09,670 Se konsa, ou ta ka sonje soti nan menm PSED5, ap jwe ak apwòch ou 273 00:11:09,670 --> 00:11:12,750 diksyonè a, si ou gen asiyen memwa dynamique oswa kenbe 274 00:11:12,750 --> 00:11:14,630 ap grandi yon zòn de defans, ki ka aktyèlman ap ralanti. 275 00:11:14,630 --> 00:11:16,963 Si ou gen yo rele malok anba kapo a ak petèt 276 00:11:16,963 --> 00:11:19,610 se sa ki miskl ap fè, se konsa siman ki te kapab ka a. 277 00:11:19,610 --> 00:11:22,430 Men, si ou panse fason tounen nan PSet-- oswa menm 278 00:11:22,430 --> 00:11:26,340 semèn de, lè nou te fè bagay sa yo tankou rechèch binè oswa menm rechèch lineyè, 279 00:11:26,340 --> 00:11:30,690 youn nan bagay ki bèl sou tout pawòl nan yon baz done oswa chak mo nan yon kolòn 280 00:11:30,690 --> 00:11:33,690 ke yo te egzakteman menm longè a, menm si yon pakèt antye nan karaktè moun 281 00:11:33,690 --> 00:11:37,390 se vid, se ke ou ka itilize aksè o aza sou done ou a, dwa? 282 00:11:37,390 --> 00:11:40,310 >> Si ou konnen ke chak mo se 16 karaktè ale, 283 00:11:40,310 --> 00:11:46,460 ou ka itilize konsèy aritmetik, se konsa yo pale, epi ale nan nou 16, 32, 48, 64, 284 00:11:46,460 --> 00:11:49,589 epi ou ka jis Ale imedyatman lè l sèvi avèk aritmetik 285 00:11:49,589 --> 00:11:51,130 nan nenpòt nan mo sa yo nan baz done ou yo. 286 00:11:51,130 --> 00:11:54,280 Lè nou konsidere ke si li nan yon Varchar, sa ou olye pou dwe fè? 287 00:11:54,280 --> 00:11:55,960 >> [TELEFÒN k ap sonnen] 288 00:11:55,960 --> 00:11:58,680 >> Si li nan yon varchar, ou pa ka sèvi ak aksè o aza. 289 00:11:58,680 --> 00:12:01,341 Ki sa ou gen gade pou oswa fè? 290 00:12:01,341 --> 00:12:01,840 Yeah? 291 00:12:01,840 --> 00:12:03,240 >> ODYANS: [fèbl] 292 00:12:03,240 --> 00:12:04,310 >> DAVID Malan: Gade a tras nan whole-- 293 00:12:04,310 --> 00:12:06,518 nan lis la tout antye kap chèche sa, gen plis chans? 294 00:12:06,518 --> 00:12:08,356 Ki kalite ki gen valè espesyal? 295 00:12:08,356 --> 00:12:09,230 ODYANS: [fèbl] 296 00:12:09,230 --> 00:12:11,105 DAVID Malan: Looking pou tèrminateur yo nil 297 00:12:11,105 --> 00:12:13,637 ki delimiter separasyon an nan mo yo. 298 00:12:13,637 --> 00:12:15,720 Se konsa, ankò, se yon arbitraj, ak gen nan pa gen repons dwat. 299 00:12:15,720 --> 00:12:18,380 Men, sa a se kote, espesyalman lè itilizatè ou jwenn yo dwe anpil 300 00:12:18,380 --> 00:12:21,700 ak chaj ou sou serveurs ou, nan kantite moun ki lè l sèvi avèk li vin segondè, 301 00:12:21,700 --> 00:12:23,650 sa yo, se aktyèlman desizyon nontrivial. 302 00:12:23,650 --> 00:12:26,640 Se konsa, nou ka kite sa yo kòm sa a, men se pou yo desann sou a dwat a 303 00:12:26,640 --> 00:12:27,332 isit la. 304 00:12:27,332 --> 00:12:30,290 Koulye a, gen nan yon koup la kolòn kote nou gen fè yon apèl jijman. 305 00:12:30,290 --> 00:12:35,170 Èske li fè sans yo ki pèmèt yon itilizatè a non, non itilizatè yon itilizatè a oswa yon itilizatè a 306 00:12:35,170 --> 00:12:36,370 Non, yo dwe nil? 307 00:12:36,370 --> 00:12:37,610 Sa se, jis vid. 308 00:12:37,610 --> 00:12:40,360 Santi l yon ti kras absurde, se konsa mwen pa ale nan tcheke sa yo bwat. 309 00:12:40,360 --> 00:12:42,670 Men, li vire soti nan yon baz done, ou ka di, 310 00:12:42,670 --> 00:12:44,620 yon moun ka opsyonèlman gen valè sa a. 311 00:12:44,620 --> 00:12:47,180 Kolòn sa pa gen ki aktyèlman dwe la. 312 00:12:47,180 --> 00:12:48,570 >> Koulye a, gen nan sa a gout desann meni. 313 00:12:48,570 --> 00:12:50,810 Apre sa, remake mwen toujou nan premye ranje a la, 314 00:12:50,810 --> 00:12:52,520 Se konsa, mwen ap pale de non itilizatè kounye a. 315 00:12:52,520 --> 00:12:56,290 Epi li vire soti ke yon baz done, kontrèman ak yon calcul senp sèlman, 316 00:12:56,290 --> 00:12:58,520 gen karakteristik pwisan rele endis. 317 00:12:58,520 --> 00:13:02,600 Apre sa, yon endèks se yon fason pou di a baz done nan avanse ke mwen moun nan 318 00:13:02,600 --> 00:13:03,900 menm pi entelijan pase ou. 319 00:13:03,900 --> 00:13:10,430 >> Mwen konnen ki kalite demann, chwazi oswa Insert ou efase oswa aktyalizasyon, 320 00:13:10,430 --> 00:13:13,182 ke kòd m 'ki pral nan fen moute fè sou baz done sa a. 321 00:13:13,182 --> 00:13:14,390 Mwen vle li yon anpil nan done. 322 00:13:14,390 --> 00:13:15,681 Mwen vle insert yon anpil nan done. 323 00:13:15,681 --> 00:13:17,530 Mwen vle toujou ap efase yon anpil nan done. 324 00:13:17,530 --> 00:13:21,520 Si m 'konnen ke mwen pral yo dwe aksè yon jaden tankou non itilizatè yon anpil, 325 00:13:21,520 --> 00:13:24,770 Mwen kapab di nan preemptively baz done, mwen konnen plis pase ou, 326 00:13:24,770 --> 00:13:29,220 e mwen vle dekrè ki ou ta dwe jaden sa a endèks. 327 00:13:29,220 --> 00:13:33,200 Ki kote Indexing yon jaden oswa yon kolòn vle di ke baz done a nan avanse 328 00:13:33,200 --> 00:13:37,040 ta dwe prete kèk ide ki soti nan, tankou, semèn kat ak senk ak sis soti nan CS50 329 00:13:37,040 --> 00:13:39,240 ak aktyèlman bati yon bagay tankou yon rechèch binè 330 00:13:39,240 --> 00:13:41,560 pye bwa oswa yon bagay jeneralman yo te rele yon pyebwa B 331 00:13:41,560 --> 00:13:43,410 ke ou ta aprann nan yon klas tankou CS124 332 00:13:43,410 --> 00:13:46,710 nan Harvard, yon klas algoritm, oswa nenpòt ki kantite lòt kote. 333 00:13:46,710 --> 00:13:49,570 >> Baz done a e pou l entelijan a moun ki aplike li 334 00:13:49,570 --> 00:13:53,880 pral konnen ki jan nan magazen ki tab nan enfòmasyon 335 00:13:53,880 --> 00:13:57,061 nan memwa se konsa ke fouy ak operasyon lòt yo se super vit. 336 00:13:57,061 --> 00:13:58,060 Ou pa oblije fè li. 337 00:13:58,060 --> 00:14:00,640 Ou pa oblije aplike rechèch lineyè oswa rechèch binè 338 00:14:00,640 --> 00:14:03,300 oswa rantre sòt oswa seleksyon sòt, nenpòt nan sa. 339 00:14:03,300 --> 00:14:06,590 Baz done a fè li pou ou si ou di li preemptively nan endèks sa a jaden. 340 00:14:06,590 --> 00:14:09,100 >> Epi ou ka wè tou, gen nan kèk lòt karakteristik 341 00:14:09,100 --> 00:14:11,010 nou ka di baz done a aplike. 342 00:14:11,010 --> 00:14:16,431 Ki sa ki ta sa vle di si mwen chwazi inik soti nan meni sa a, jis entwitif? 343 00:14:16,431 --> 00:14:16,930 Yeah? 344 00:14:16,930 --> 00:14:17,889 >> ODYANS: [fèbl] 345 00:14:17,889 --> 00:14:19,930 DAVID Malan: Yeah, nan non itilizatè gen yo dwe inik. 346 00:14:19,930 --> 00:14:23,330 Èske sa se yon bon bagay oswa yon move bagay pou yon baz done, pou yon sit entènèt ak itilizatè? 347 00:14:23,330 --> 00:14:24,965 Ta dwe usernames dwe inik? 348 00:14:24,965 --> 00:14:25,880 Yeah, pwobableman. 349 00:14:25,880 --> 00:14:27,800 Si se sa ki nan jaden nou itilize ou kapab konekte nan, 350 00:14:27,800 --> 00:14:31,867 ou pa reyèlman vle moun ki gen menm santi a oswa menm non itilizatè a. 351 00:14:31,867 --> 00:14:33,700 Se konsa, nou ka gen nan baz done ke se konsa aplike 352 00:14:33,700 --> 00:14:37,880 ke kounye a nan kòd PHP mwen oswa nenpòt lang, Mwen pa gen, pou egzanp, tcheke 353 00:14:37,880 --> 00:14:41,490 nesesèman fè non itilizatè sa a egziste anvan m 'kite yon moun enskri? 354 00:14:41,490 --> 00:14:46,690 Baz done a pa pral kite moun ki yo te rele de David oswa malans enskri nan ka sa a. 355 00:14:46,690 --> 00:14:50,030 >> Apre sa, kòm yon sou kote, menm si sa a meni sèlman pèmèt ou chwazi youn, 356 00:14:50,030 --> 00:14:54,550 yon endèks inik se youn sa a, se Catalogue pou pèfòmans super vit, 357 00:14:54,550 --> 00:14:56,100 men tou li aplike singularité. 358 00:14:56,100 --> 00:14:58,850 Epitou, n ap tounen vin jwenn sa a de lòt vle di nan jis yon moman. 359 00:14:58,850 --> 00:15:00,930 Pandan se tan, si mwen ale nan dezyèm ranje mwen an, ki 360 00:15:00,930 --> 00:15:06,230 se non itilizatè a la, mwen ta dwe presize ke non a yo ta dwe inik? 361 00:15:06,230 --> 00:15:09,550 Non, paske ou ta ka sètènman en-gen nan pa gen de David 362 00:15:09,550 --> 00:15:11,050 Malans nan sal sa a, gen plis chans. 363 00:15:11,050 --> 00:15:14,290 Men, si nou chwazi yon non diferan, nou ta ka siman gen kolizyon. 364 00:15:14,290 --> 00:15:16,130 >> Panse tounen nan Hash tab ak renmen an. 365 00:15:16,130 --> 00:15:18,604 Se konsa, nou sètènman pa vle fè jaden an Non inik. 366 00:15:18,604 --> 00:15:21,270 Se konsa, nou ap jis pral kite ke kòm priz, priz, priz, pa gen anyen. 367 00:15:21,270 --> 00:15:22,660 Apre sa, mwen pral kite Tout Lòt Bagay pou kont li. 368 00:15:22,660 --> 00:15:25,035 Vreman vre, pi fò nan sa yo jaden yo nou pa pral gen yo pran swen sou. 369 00:15:25,035 --> 00:15:27,830 Lè mwen se pare pou konsève pou sa a, si entènèt la kolabor, 370 00:15:27,830 --> 00:15:35,032 Mwen klike sou Save, ak trè, trè, trè tou dousman baz done a jwenn sove. 371 00:15:35,032 --> 00:15:37,240 Epi, koulye a mwen se tounen nan sa a koòdone, ki Byensir, 372 00:15:37,240 --> 00:15:38,680 se akablan nan premye gade. 373 00:15:38,680 --> 00:15:42,450 Men, tout mwen pral fè se klike sou Itilizatè yo sou pawòl Bondye yo nan tèt kite. 374 00:15:42,450 --> 00:15:47,630 Mwen pral ale moute isit la, klike sou Itilizatè yo, ak pa default, li 375 00:15:47,630 --> 00:15:50,180 te egzekite kèk SQL, men plis sou sa nan yon moman. 376 00:15:50,180 --> 00:15:52,654 Isit la nan jis yon rezime de sa mwen te fè. 377 00:15:52,654 --> 00:15:55,320 Epi yo pa enkyete ke ou wè mansyone nan Latin ak Swedish isit la. 378 00:15:55,320 --> 00:16:00,490 Moun sa yo ki yo se jis default a anviwònman, paske miskl orijinal, 379 00:16:00,490 --> 00:16:04,000 oswa PHP MyAdmin, youn nan de a ki te pase yo dwe ekri pa gen kèk moun ki Swedish. 380 00:16:04,000 --> 00:16:06,100 Men, li la petinan nan ka nou an isit la. 381 00:16:06,100 --> 00:16:08,280 >> Tout dwa, Se konsa, poukisa se sa a tout enteresan? 382 00:16:08,280 --> 00:16:13,050 Li sanble, mwen ka insert done nan yon baz done pa ekri kòd. 383 00:16:13,050 --> 00:16:15,940 Apre sa, mwen ale pi devan epi nan dosye m 'isit la, mwen 384 00:16:15,940 --> 00:16:19,000 pral ale pi devan ak pretann tankou sa a se branche ak sa yo ki baz done, ki 385 00:16:19,000 --> 00:16:23,040 li se pa nan moman sa a, men li pral gen lè nou jwenn nan pwoblèm mete sèt. 386 00:16:23,040 --> 00:16:25,640 Apre sa, mwen pral ale pi devan epi egzekite yon fonksyon rele rechèch, 387 00:16:25,640 --> 00:16:28,730 ki nou pral ba ou nan pwoblèm mete Kòd sèt nan distribisyon, ki 388 00:16:28,730 --> 00:16:31,490 pran omwen yon agiman, ki se jis yon fisèl. 389 00:16:31,490 --> 00:16:33,460 Yon afè de Kòd SQL. 390 00:16:33,460 --> 00:16:36,700 Se konsa, ou ap sou pou aprann kijan pou ekri estriktire Lang rekèt. 391 00:16:36,700 --> 00:16:41,270 >> Si m 'vle insert yon nouvo ranje nan m' baz done paske yon moun te soumèt 392 00:16:41,270 --> 00:16:47,600 yon fòm nan kòd m 'yo, mwen ta literalman ekri insert nan itilizatè sa ki annapre yo 393 00:16:47,600 --> 00:16:52,800 jaden: non itilizatè, vigil, non, valè yo, 394 00:16:52,800 --> 00:16:57,480 e kounye a, mwen bezwen insert yon bagay tankou Malan, ak quote, 395 00:16:57,480 --> 00:17:01,490 unquote 'David Malan. Epi, koulye a menm pou moun abitye avèk SQL, 396 00:17:01,490 --> 00:17:07,830 poukisa mwen lè l sèvi avèk quotes sèl andedan nan fisèl vèt sa a? 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 Ki sa ki ta ka rezon ki fè yo isit la? 399 00:17:13,040 --> 00:17:14,609 >> Avi mwen se ko-Melanje de lang. 400 00:17:14,609 --> 00:17:18,099 Rekèt se yon fonksyon PHP, men sa pran yon agiman. 401 00:17:18,099 --> 00:17:21,740 Epi sa agiman te tèt li gen ekri nan yon lòt lang rele 402 00:17:21,740 --> 00:17:23,500 SQL, estriktire rekèt Lang. 403 00:17:23,500 --> 00:17:27,940 Se konsa, tout bagay ke mwen gen sèlman make isit la 404 00:17:27,940 --> 00:17:30,380 se lang natif sa a yo rele SQL. 405 00:17:30,380 --> 00:17:36,290 Se konsa, sa ki nan ak quotes yo sèl, menm jan yon chèk saniti rapid? 406 00:17:36,290 --> 00:17:37,324 Ale pi devan. 407 00:17:37,324 --> 00:17:37,990 Yo ap strings. 408 00:17:37,990 --> 00:17:41,590 Se konsa, quote, unquote Malan ak quote, unquote David Malan yo strings. 409 00:17:41,590 --> 00:17:45,210 Epi jis panse entwitif kounye a, konnen sa ou konnen sou C ak PHP, 410 00:17:45,210 --> 00:17:50,220 poukisa mwen pa fè sa, nan Tanp kote mwen anjeneral itilize quotes doub pou strings? 411 00:17:50,220 --> 00:17:52,310 Poukisa mwen pa vle fè sa? 412 00:17:52,310 --> 00:17:52,810 Yeah? 413 00:17:52,810 --> 00:17:53,685 >> ODYANS: [fèbl] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 DAVID Malan: Egzakteman. 416 00:17:57,570 --> 00:17:59,653 Paske mwen deja lè l sèvi avèk quotes doub sou wout la 417 00:17:59,653 --> 00:18:01,929 deyò nan agiman an nan fonksyon an PHP, 418 00:18:01,929 --> 00:18:03,470 Mwen ta jis konfonn entèprèt la. 419 00:18:03,470 --> 00:18:04,860 Li pa pral konnen, sa yo ale ansanm? 420 00:18:04,860 --> 00:18:05,735 Sa yo ale ansanm? 421 00:18:05,735 --> 00:18:06,810 Sa yo ale ansanm? 422 00:18:06,810 --> 00:18:08,070 Se konsa, mwen altène pito. 423 00:18:08,070 --> 00:18:11,784 >> Ou te kapab fè yon bagay mwen tankou sa a, quote antislach oswa antislach quote. 424 00:18:11,784 --> 00:18:14,200 Franchman, ki jis kòmanse jwenn anpil ilizibl ak lèd. 425 00:18:14,200 --> 00:18:16,790 Men, ki ta reyalize rezilta a menm kòm byen. 426 00:18:16,790 --> 00:18:19,760 >> Se konsa, si m 'te al touye sa a query kounye a, kite a wè sa ki rive. 427 00:18:19,760 --> 00:18:22,740 Mwen pral ale pi devan kounye a epi yo olye pase egzekite kòd la PHP, ki 428 00:18:22,740 --> 00:18:24,610 se kote ou pral jwe nan pwoblèm mete sèt, 429 00:18:24,610 --> 00:18:27,200 Mwen pral olye ale nan PHP MyAdmin. 430 00:18:27,200 --> 00:18:29,770 Apre sa, mwen pral manyèlman pou yo ale nan tab la SQL, 431 00:18:29,770 --> 00:18:31,580 ak kite m 'rale nan sou koòdone la. 432 00:18:31,580 --> 00:18:34,007 Apre sa, mwen pral keratin nan bagay la mwen jis tape. 433 00:18:34,007 --> 00:18:36,090 Apre sa, kodaj nan koulè gen chanje yon ti jan kounye a, 434 00:18:36,090 --> 00:18:38,750 jis paske fòma yo pwogram bagay sa yo yon ti jan diferan. 435 00:18:38,750 --> 00:18:41,960 Men, remake ke tout mwen te fè se mwen te di, insert nan Itilizatè yo. 436 00:18:41,960 --> 00:18:45,790 Mwen te espesifye, lè sa a, nan yon vigil separe parenthesized lis de la 437 00:18:45,790 --> 00:18:48,850 jaden ke mwen vle insert, ak Lè sa a, mwen te literalman di valè 438 00:18:48,850 --> 00:18:51,510 ki te swiv pa yon lòt paren, ak Lè sa a de valè yo 439 00:18:51,510 --> 00:18:53,520 Mwen vle ploge nan, ak kounye a pou bon mezi, 440 00:18:53,520 --> 00:18:55,010 Mwen pral mete yon virgules nan fen an. 441 00:18:55,010 --> 00:18:56,570 Se konsa, sa a se pa C. Sa a se pa PHP. 442 00:18:56,570 --> 00:18:59,970 Sa a se kounye a SQL, ak mwen kole li nan sa a sit entènèt ki baze entèfas sa a, se 443 00:18:59,970 --> 00:19:02,710 jis ale nan kite m ', le pli vit ke mwen klike sou Ale, 444 00:19:02,710 --> 00:19:08,060 egzekite query sa a sou baz done a kouri andedan nan CS50 IDE. 445 00:19:08,060 --> 00:19:09,470 >> Se konsa, sa se yon bon bagay. 446 00:19:09,470 --> 00:19:12,520 Avi ki t'ap di: yon sèl ranje eleman, li ale, super vit, 447 00:19:12,520 --> 00:19:15,190 0,0054 segonn insert ke done. 448 00:19:15,190 --> 00:19:16,610 Se konsa, sa ki son trè an sante. 449 00:19:16,610 --> 00:19:19,350 Li rformate query mwen pou m 'isit la jis wè li 450 00:19:19,350 --> 00:19:21,730 nan sòt de koulè kode vèsyon. 451 00:19:21,730 --> 00:19:24,540 Men koulye a, si mwen klike sou Browse, remake ke, menm 452 00:19:24,540 --> 00:19:29,070 menm si gen nan yon anpil nan dezord sou ekran an, tab mwen kounye a gen de ranje. 453 00:19:29,070 --> 00:19:30,700 >> Se konsa, kite m 'ale pi devan epi fè yon lòt. 454 00:19:30,700 --> 00:19:33,760 Olye pou yo sa a, kite m ' ale nan tab la SQL ankò. 455 00:19:33,760 --> 00:19:40,723 Ak tan sa a mwen pral yon bagay tankou Insert Rob ak non l 'la pral Rob Bowden. 456 00:19:40,723 --> 00:19:42,330 Bowden. 457 00:19:42,330 --> 00:19:44,040 Se pou nou klike sou Save. 458 00:19:44,040 --> 00:19:46,140 Wouch, olye Ale non. 459 00:19:46,140 --> 00:19:48,890 >> Klike sou Browse ankò, epi kounye a remake mwen gen de ranje. 460 00:19:48,890 --> 00:19:52,390 Se konsa, sa a se jis yon konplèks fason pi plis fason pou ouvèti moute Google tableur 461 00:19:52,390 --> 00:19:54,010 ak jis tape yon ranje nan yon kolòn. 462 00:19:54,010 --> 00:19:57,070 Men, sa ki nan kle se ke nou genyen kounye a sentaks la 463 00:19:57,070 --> 00:20:00,220 ak ki ekri kòd lè sa a, finalman, nou te kapab aktyèlman 464 00:20:00,220 --> 00:20:01,790 fè kèk ak sa a. 465 00:20:01,790 --> 00:20:05,380 Sonje byen, sipò PHP varyab super mondyal. 466 00:20:05,380 --> 00:20:08,415 >> Ki sa ki se andedan nan dola siyen souliye jwenn nan PHP? 467 00:20:08,415 --> 00:20:10,290 Nou te pran yon gade nan yon sèl oswa de egzanp ki senp. 468 00:20:10,290 --> 00:20:15,640 Ak nan PSet6, sonje ou gen alo dot PHP ki itilize varyab sa a. 469 00:20:15,640 --> 00:20:17,870 Ki sa ki ale nan la? 470 00:20:17,870 --> 00:20:21,015 Oswa sa ki sa li ye? 471 00:20:21,015 --> 00:20:22,522 Yon ti kras pi fò. 472 00:20:22,522 --> 00:20:23,790 >> ODYANS: [fèbl] 473 00:20:23,790 --> 00:20:25,030 >> DAVID Malan: Li se yon nèj pitit pitit nan etalaj, ki 474 00:20:25,030 --> 00:20:27,714 se jis yon fason anpenpan nan di yon etalaj ki gen valè kle pè. 475 00:20:27,714 --> 00:20:28,880 Ak kle yo nimerik yo pa. 476 00:20:28,880 --> 00:20:30,420 Yo ap mo oswa strings. 477 00:20:30,420 --> 00:20:32,750 Ak espesifikman, ki sa moun sa yo ki valè kle pè? 478 00:20:32,750 --> 00:20:35,110 Ki kote yo soti? 479 00:20:35,110 --> 00:20:35,620 Padon? 480 00:20:35,620 --> 00:20:36,994 >> ODYANS: [fèbl] 481 00:20:36,994 --> 00:20:37,660 DAVID Malan: Se pa? 482 00:20:37,660 --> 00:20:40,700 Ki kote fè moun kle pè valè soti? 483 00:20:40,700 --> 00:20:42,490 Di ankò? 484 00:20:42,490 --> 00:20:44,610 Yon lòt fwa ankò? 485 00:20:44,610 --> 00:20:46,472 Eske m 'yon sèl yon bagay nan odyans? 486 00:20:46,472 --> 00:20:47,810 >> [Ri] 487 00:20:47,810 --> 00:20:49,042 >> Sa a dwat, repons lan se wi? 488 00:20:49,042 --> 00:20:50,435 >> ODYANS: [fèbl] 489 00:20:50,435 --> 00:20:52,560 DAVID Malan: Yeah, yo soti nan fisèl la rechèch. 490 00:20:52,560 --> 00:20:55,380 Se konsa, si ou remonte nan tan yo lè nou te jwe ak Google 491 00:20:55,380 --> 00:20:59,600 e nou te ale nan Google.com koupe rechèch kesyon mak q egal chat, 492 00:20:59,600 --> 00:21:03,550 si m 'te frape Antre epi si Google te aplike nan PHP, 493 00:21:03,550 --> 00:21:07,017 Kòd PHP ki Google te ekri ta gen aksè a siy dola 494 00:21:07,017 --> 00:21:11,600 souliye jwenn andedan nan yo ki se yon kle rele K ak yon valè 495 00:21:11,600 --> 00:21:17,680 rele chat ke li ka Lè sa a itilize te konn abitye fè yon rechèch aktyèl ak. 496 00:21:17,680 --> 00:21:20,860 >> Se konsa, an reyalite, ki sa mwen pral fè kounye a se tounen nan Kòd PHP mwen 497 00:21:20,860 --> 00:21:23,140 ke ou pral ankò wè plis nan nan PSet7. 498 00:21:23,140 --> 00:21:25,440 Ak olye pou yo rakorde nan difisil valè kode ki 499 00:21:25,440 --> 00:21:27,630 pa sanble tankou yon trè dinamik sou sit wèb, 500 00:21:27,630 --> 00:21:30,680 Mwen pral ba ou yon kol nan sa Kòd aktyèl ou ta fè. 501 00:21:30,680 --> 00:21:32,854 Ou ta ka mete nan de kesyon make tankou sa a. 502 00:21:32,854 --> 00:21:34,270 Mwen pa konnen sa non itilizatè a se. 503 00:21:34,270 --> 00:21:37,390 Mwen pa konnen sa a Non a pwal, 504 00:21:37,390 --> 00:21:39,470 Men, mwen konnen mwen kapab jwenn yo dynamique. 505 00:21:39,470 --> 00:21:43,420 >> Se konsa, si kòd la nou ap ekri kounye a se kòd a kouri sou serveurs Google a, 506 00:21:43,420 --> 00:21:46,940 oswa si sa a se alo dot PHP, ki vini ak PSet6, 507 00:21:46,940 --> 00:21:48,650 Mwen pral pase nan fonksyon an sijè rechèch 508 00:21:48,650 --> 00:21:51,450 jis tankou printf, de lòt agiman. 509 00:21:51,450 --> 00:21:57,120 JWENN, quote, unquote non itilizatè, ak JWENN, quote, non unquote. 510 00:21:57,120 --> 00:22:00,720 Epi, koulye a, remake ki sa a estrikti jeneral se isit la. 511 00:22:00,720 --> 00:22:03,320 Mwen te gen sou bò gòch la bò nan apèl la men, 512 00:22:03,320 --> 00:22:05,480 fonksyon sa a yo rele query nan PHP. 513 00:22:05,480 --> 00:22:08,160 Mwen toujou gen kòm yon premye agiman, jis yon afè de tèks. 514 00:22:08,160 --> 00:22:11,000 >> Men, sa afè de tèks se ekri nan yon lang yo rele SQL. 515 00:22:11,000 --> 00:22:12,616 Apre sa, franchman, li la pa yon gwo lang. 516 00:22:12,616 --> 00:22:14,990 Nou ap sèlman pral pale sou li fòmèlman jodi a, vrèman. 517 00:22:14,990 --> 00:22:17,031 Lè sa a, nan pwoblèm mete sèt, gen nan relativman 518 00:22:17,031 --> 00:22:18,800 karakteristik kèk ki nou ap ale nan ogmante. 519 00:22:18,800 --> 00:22:22,530 Mak yo kesyon, menm si, vle di ploge nan se yon valè isit la ak ploge nan yon lòt valè 520 00:22:22,530 --> 00:22:23,130 isit la. 521 00:22:23,130 --> 00:22:26,010 Apre sa, avi, mwen te omisyon sa soti nan atravè modi a quote-- 522 00:22:26,010 --> 00:22:30,470 l-- alantou sitasyon pi ba la make moman sa a. 523 00:22:30,470 --> 00:22:34,930 Mwen te omisyon sitasyon pi ba la mak alantou make la kesyon, 524 00:22:34,930 --> 00:22:36,410 regrèt sa, tan sa a alantou. 525 00:22:36,410 --> 00:22:38,870 >> Se konsa, sa ki nan bèl sou sa a kesyon karakteristik mak ki 526 00:22:38,870 --> 00:22:42,830 PHP gen tandans fè sipòte, Ruby ak Piton ak lòt lang, 527 00:22:42,830 --> 00:22:45,730 sa a jis vle di ploge nan kèk apresye isit la epi ou konnen ki sa? 528 00:22:45,730 --> 00:22:48,300 Ou konnen ki si wi ou non yo sèvi ak quotes yon selibatè oubyen quotes doub. 529 00:22:48,300 --> 00:22:50,966 Pa anmède m 'ak sa yo entelektyèlman entérésan detay. 530 00:22:50,966 --> 00:22:53,780 Men, asire w ke li nan kòrèk se konsa ke Kòd mwen an se finalman 531 00:22:53,780 --> 00:22:57,010 operasyonèl ak ki an sekirite, ki pral gen yon siyifikasyon anvan lontan. 532 00:22:57,010 --> 00:23:00,460 >> Koulye a, ki jan anpil agiman totalize, jis dwe klè, se query pran an fonksyon? 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 Nenpòt moun ki vle vote pou plis pase de? 535 00:23:07,581 --> 00:23:08,080 Twa? 536 00:23:08,080 --> 00:23:10,001 Asire w, poukisa? 537 00:23:10,001 --> 00:23:10,920 Poukisa twa? 538 00:23:10,920 --> 00:23:12,305 >> ODYANS: [fèbl] 539 00:23:12,305 --> 00:23:13,180 DAVID Malan: Egzakteman. 540 00:23:13,180 --> 00:23:14,610 Pati nan premye se fisèl la. 541 00:23:14,610 --> 00:23:18,640 Agiman nan dezyèm se siy dola souliye JWENN bracket non itilizatè. 542 00:23:18,640 --> 00:23:21,950 Ak twazyèm agiman a se nan menm bagay, men jis non an. 543 00:23:21,950 --> 00:23:24,590 Se konsa, nan lòt mo, kounye a si mwen te gen yon fòm entènèt 544 00:23:24,590 --> 00:23:27,149 ki te gen nan jaden tèks, yonn pou non itilizatè itilizatè a la, 545 00:23:27,149 --> 00:23:29,690 yonn pou li oswa non li, jis tankou ou ta wè nan yon sit entènèt 546 00:23:29,690 --> 00:23:32,120 lè w ap enskri pou kèk sit entènèt, fòs sa a 547 00:23:32,120 --> 00:23:35,450 gen kòd la sou fen a tounen ki aktyèlman fè ensèsyon an kounye a 548 00:23:35,450 --> 00:23:37,220 nan baz done a. 549 00:23:37,220 --> 00:23:40,870 >> Koulye a, pa kontra, se pou yo vit pou pi devan. 550 00:23:40,870 --> 00:23:43,840 Sipoze yon itilizatè se kounye a ouvri sesyon an epi ou vle 551 00:23:43,840 --> 00:23:48,860 yo ekri Kòd PHP ki cheke si wi ou non moun nan ki moun ki nan jis louvri sesyon an 552 00:23:48,860 --> 00:23:52,250 se aktyèlman yon itilizatè, ou ka itilize trè senp sentaks. 553 00:23:52,250 --> 00:23:55,832 Ou ka di chwazi, se pou yo di zetwal, kote zetwal vle di tout bagay. 554 00:23:55,832 --> 00:23:57,540 Mwen pa konnen sa m ' vle, Se konsa, jis ban m ' 555 00:23:57,540 --> 00:24:01,585 tout kolòn yo nan tablo a rele itilizatè ki kote, ak sa a se bèl. 556 00:24:01,585 --> 00:24:03,710 Chwazi sipòte sa ki nan rele yon suppose, ki se 557 00:24:03,710 --> 00:24:06,630 tankou yon fason pou kalifye sa ou vle. 558 00:24:06,630 --> 00:24:10,590 Ki kote non itilizatè egal quote, unquote Malan. 559 00:24:10,590 --> 00:24:13,680 Se konsa, isit la tou, mwen te embedded andedan agiman an 560 00:24:13,680 --> 00:24:16,110 nan yon fonksyon PHP, yon liy nan Kòd SQL. 561 00:24:16,110 --> 00:24:18,680 Epi sa Kòd SQL sa a tan se literalman pral 562 00:24:18,680 --> 00:24:21,790 pou fè rechèch pou quote, unquote Malan. 563 00:24:21,790 --> 00:24:24,420 >> Koulye a, sa a, se pa tout sa ki itil, se konsa mwen pral sote ki 564 00:24:24,420 --> 00:24:28,650 ak mwen pral wete tout pwent sa a soti nan Brady, epi ale 565 00:24:28,650 --> 00:24:30,990 ak ploge nan olye pou yon mak kesyon isit la. 566 00:24:30,990 --> 00:24:33,290 Se konsa, jis yo dwe klè, ki sa ta dwe dezyèm agiman mwen 567 00:24:33,290 --> 00:24:37,480 dwe si yon moun te jis louvri sesyon an ak mwen vle tcheke si li se aktyèlman 568 00:24:37,480 --> 00:24:39,265 yon itilizatè? 569 00:24:39,265 --> 00:24:40,140 ODYANS: [fèbl] 570 00:24:40,140 --> 00:24:40,890 DAVID Malan: Yeah. 571 00:24:40,890 --> 00:24:44,120 Mwen tande dola souliye siy JWENN quote, unquote non itilizatè. 572 00:24:44,120 --> 00:24:50,040 Apre sa, ki ta dwe tounen vin jwenn mwen nenpòt nan ranje yo nan baz done m ' 573 00:24:50,040 --> 00:24:51,986 ki gen yon non itilizatè a Malan. 574 00:24:51,986 --> 00:24:54,860 Koulye a, èspere ke, mwen pral jwenn tounen zewo si pa janm Malan a te la, 575 00:24:54,860 --> 00:24:56,290 oswa yon sèl si li te genyen an. 576 00:24:56,290 --> 00:24:59,026 Mwen pa ta dwe jwenn tounen de oswa twa oswa kat. 577 00:24:59,026 --> 00:24:59,526 Poukisa? 578 00:24:59,526 --> 00:25:00,220 >> ODYANS: [fèbl] 579 00:25:00,220 --> 00:25:01,120 >> DAVID Malan: m 'te di inik, dwa? 580 00:25:01,120 --> 00:25:01,750 Senp rezon. 581 00:25:01,750 --> 00:25:04,030 Paske mwen di li nan te rive nan dwe inik, jis lojikman, 582 00:25:04,030 --> 00:25:07,940 ou ka sèlman gen zewo oswa yon sèl malans nan sa a tab baz done an patikilye. 583 00:25:07,940 --> 00:25:10,965 Koulye a, kòm yon sou kote, jis pou ou te wè li, menm si mwen kenbe lè l sèvi avèk JWENN 584 00:25:10,965 --> 00:25:14,350 e menm si PSet6 sèlman itilize Jwenn, ou kapab sètènman gen POST. 585 00:25:14,350 --> 00:25:17,212 Epi sonje ke se yon lòt Post teknik pou soumèt enfòmasyon 586 00:25:17,212 --> 00:25:19,170 ki sòti nan yon fòm, men li pa montre moute nan URL la. 587 00:25:19,170 --> 00:25:22,690 Li se yon ti kras pi plis an sekirite sètènman pou bagay sa yo tankou usernames ak modpas, 588 00:25:22,690 --> 00:25:25,210 ki PSet7 pral, an reyalite, gen pou wè ak. 589 00:25:25,210 --> 00:25:28,130 >> Se konsa, kite a fè sa nan PHP MyAdmin ak wè sa ki rive. 590 00:25:28,130 --> 00:25:30,020 Mwen pral pou yo ale nan miskl tab. 591 00:25:30,020 --> 00:25:34,450 Apre sa, remake ke valè a default pou PHP MyAdmin, jis pou yo eseye ka itil, 592 00:25:34,450 --> 00:25:37,050 se chwazi zetwal soti nan itilizatè ki kote yon sèl. 593 00:25:37,050 --> 00:25:39,430 Oke, yon sèl se toujou vre, se konsa sa a gen komik an efikas 594 00:25:39,430 --> 00:25:40,400 a jis chwazi tout bagay. 595 00:25:40,400 --> 00:25:42,691 Men, mwen pral gen yon ti kras plis pedant ak manyèlman 596 00:25:42,691 --> 00:25:45,920 tape soti SELECT zetwal soti nan itilizatè. 597 00:25:45,920 --> 00:25:48,294 >> Koulye a, teknikman, ou ka site non an nan tab yo. 598 00:25:48,294 --> 00:25:50,460 Li nan ra ki di ou gen, men remake sa yo se pa 599 00:25:50,460 --> 00:25:52,240 quotes nòmal ou sou klavye a US. 600 00:25:52,240 --> 00:25:54,760 Sa a se backtick la sa yo rele, ki se jeneralman sou bò gòch anwo 601 00:25:54,760 --> 00:25:56,000 kwen nan klavye ou. 602 00:25:56,000 --> 00:25:58,500 Men, li la ra ki ou pral aktyèlman bezwen deranje ak sa, 603 00:25:58,500 --> 00:25:59,950 Se konsa, mwen pral jis oblije yo de tout fason. 604 00:25:59,950 --> 00:26:02,280 Se konsa, kounye, kite m 'ale pi devan epi frape ale. 605 00:26:02,280 --> 00:26:06,616 Ak konbyen ranje mwen ta dwe jwenn tounen lè mwen chwazi zetwal soti nan itilizatè? 606 00:26:06,616 --> 00:26:08,407 >> ODYANS: [fèbl] 607 00:26:08,407 --> 00:26:09,990 DAVID Malan: Nimewo a nan ranje, asire w. 608 00:26:09,990 --> 00:26:12,390 Men, ki jan anpil moun nan sa a istwa konkrè kounye a? 609 00:26:12,390 --> 00:26:14,640 De, paske te gen m 'ak te gen Rob. 610 00:26:14,640 --> 00:26:19,370 Se konsa, si mwen klike sou Ale, mwen wè vizyèlman ki Mwen te vinn tounen, tout bon, de ranje. 611 00:26:19,370 --> 00:26:22,060 Genyen yon anpil nan dezord sou mòn lan ekran, men mwen sèlman wè de ranje. 612 00:26:22,060 --> 00:26:28,580 Nan kontras, si mwen fè sa ankò, li fè Chwazi zetwal soti nan itilizatè yo, ki kote non itilizatè 613 00:26:28,580 --> 00:26:31,840 egal quote, unquote Malan, kounye a si mwen klike sou Ale, 614 00:26:31,840 --> 00:26:33,970 M 'ap sèlman pral jwenn tounen yon sèl ranje. 615 00:26:33,970 --> 00:26:36,499 Epi anfen, si m 'fè yon bagay tankou sa a, ta kwè 616 00:26:36,499 --> 00:26:38,290 ke mwen pa pran swen sou ap resevwa tout bagay, 617 00:26:38,290 --> 00:26:41,020 ki se kalite san sans kounye a, paske gen nan sèlman de kolòn. 618 00:26:41,020 --> 00:26:43,103 Li pa tankou mwen chwazi yon kantite lajan gwo done. 619 00:26:43,103 --> 00:26:46,720 Sipoze mwen ale pi devan epi chwazi non KI SOTI NAN 620 00:26:46,720 --> 00:26:51,990 itilizatè, kote non itilizatè egal Malan, sa ki nan bèl sou SQL onètman, 621 00:26:51,990 --> 00:26:54,290 se ke li vrèman jis fè sa ou di li fè. 622 00:26:54,290 --> 00:26:57,550 Li trè somèr, men ou literalman jis di li ki sa ou vle fè. 623 00:26:57,550 --> 00:27:01,130 Chwazi Non soti nan itilizatè ki kote non itilizatè a egal Malan. 624 00:27:01,130 --> 00:27:03,440 Apre sa, li vrèman se ke eksplisit. 625 00:27:03,440 --> 00:27:08,410 Se konsa, kounye a si mwen frape Ale, konbyen ranje yé pral jwenn tounen? 626 00:27:08,410 --> 00:27:10,770 Youn, paske li nan jis Malan, èspere ke. 627 00:27:10,770 --> 00:27:13,100 Oswa zewo si li nan pa a, men se yon sèl omaksimòm. 628 00:27:13,100 --> 00:27:17,610 >> Ak konbyen kolòn, m'ap jwenn tounen? 629 00:27:17,610 --> 00:27:18,450 Konbyen kolòn? 630 00:27:18,450 --> 00:27:20,658 Tan sa a, mwen jis ale yo jwenn youn paske mwen pa t ' 631 00:27:20,658 --> 00:27:22,380 chwazi zetwal, ki se tout bagay. 632 00:27:22,380 --> 00:27:27,900 Koulye a, mwen chwazi jis Non, se konsa mwen jis jwenn tounen yon kolòn ak yon ranje. 633 00:27:27,900 --> 00:27:31,730 Apre sa, li sanble sòt de yon fason ki apwopriye ridikil, jis kap super 634 00:27:31,730 --> 00:27:33,060 ti tankou sa a. 635 00:27:33,060 --> 00:27:34,290 Se konsa, sa k ap reyèlman ap pase? 636 00:27:34,290 --> 00:27:36,890 Lè ou egzekite yon SQL query lè l sèvi avèk chwazi, 637 00:27:36,890 --> 00:27:38,700 sa w ap vin tounen soti nan baz done a 638 00:27:38,700 --> 00:27:42,970 se tankou yon tab pou yon ti tan ak ranje ak kolòn, petèt, 639 00:27:42,970 --> 00:27:46,260 men sa oblije nenpòt ki bagay ki pa te aktyèlman chwazi pa ou. 640 00:27:46,260 --> 00:27:49,010 Se konsa, li la tankou si yon moun te gen yon gwo calcul tout elèv yo 641 00:27:49,010 --> 00:27:51,610 anrejistre pou kèk gwoup elèv, epi ou di, 642 00:27:51,610 --> 00:27:55,097 ban m 'tout nan nevyèm ane a ki te anrejistre pou gwoup elèv nou, ki sa 643 00:27:55,097 --> 00:27:56,930 kolèg ou a nan gwoup elèv te ka swiv 644 00:27:56,930 --> 00:27:58,430 se yo te kapab jis men ou calcul a tout antye. 645 00:27:58,430 --> 00:27:59,742 Sa a tankou li di chwazi zetwal. 646 00:27:59,742 --> 00:28:02,200 Lè li nan yon ti kras anmèdan si ou sèlman te vle nevyèm ane a. 647 00:28:02,200 --> 00:28:05,640 Se konsa, si ou olye pou di: chwazi zetwal soti nan tab baz done 648 00:28:05,640 --> 00:28:08,470 kote ane egal quote, unquote nevyèm ane, 649 00:28:08,470 --> 00:28:10,810 li a tankou si zanmi ou nan gwoup la elèv 650 00:28:10,810 --> 00:28:13,770 literalman make ak kopye sèlman ranje yo nevyèm ane, 651 00:28:13,770 --> 00:28:16,780 kopye yo nan yon nouvo Google Feuy oswa yon dosye Excel, 652 00:28:16,780 --> 00:28:18,860 ak remèt ou tounen nan ki kapab lakòz dosye sèlman. 653 00:28:18,860 --> 00:28:21,710 Sa a tout ki k ap pase sou concept isit la. 654 00:28:21,710 --> 00:28:23,920 >> Se konsa, nan fen a, nou ka fè kèk bagay bèl anpenpan 655 00:28:23,920 --> 00:28:26,560 pa estoke bagay sa yo tankou usernames ak modpas ak renmen an. 656 00:28:26,560 --> 00:28:30,310 Men, li vire soti, nou ta dwe fè yon ti jan diferan pase sa a. 657 00:28:30,310 --> 00:28:34,750 Li pa ke entelijan yo sèlman magazen yon non itilizatè ak yon modpas. 658 00:28:34,750 --> 00:28:37,790 Yon moun pi bonè, mwen panse ke desann isit la, te sijere ke yon ID. 659 00:28:37,790 --> 00:28:40,787 Koulye a, yon ID ta ka tankou yon ID Harvard oswa Net ID Yale a, 660 00:28:40,787 --> 00:28:42,870 men li ta ka menm ki pi senp nan ka baz done nou an. 661 00:28:42,870 --> 00:28:45,120 Ak tout bon, ka a komen se yo gen yon lòt kolòn. 662 00:28:45,120 --> 00:28:46,953 Apre sa, mwen pral ale pi devan epi modifye tab mwen. 663 00:28:46,953 --> 00:28:49,521 Men, si ou jwe otou ak koòdone sa a pou PSet7, 664 00:28:49,521 --> 00:28:51,770 ou ap wè ke ou ka tcheke bouton sa-a isit la epi ajoute 665 00:28:51,770 --> 00:28:53,750 yon jaden nan kòmansman an nan tab la. 666 00:28:53,750 --> 00:28:56,720 Epi, koulye a si mwen klike sou Ale, li k ap pase ban m 'youn nan fòm sa yo ki 667 00:28:56,720 --> 00:28:57,600 soti nan pi bonè. 668 00:28:57,600 --> 00:29:00,170 Mwen pral ajoute yon jaden rele ID. 669 00:29:00,170 --> 00:29:03,070 Apre sa, mwen pral fè l 'yon nimerik kalite. 670 00:29:03,070 --> 00:29:05,362 >> Mwen gen yon pakèt antye nan valè pou numerics. 671 00:29:05,362 --> 00:29:08,677 Mwen jis ale nan chwazi yon INT ak pa enkyete sou gwosè yo disparate. 672 00:29:08,677 --> 00:29:10,510 Mwen pa gen ou presize yon longè oswa yon valè, 673 00:29:10,510 --> 00:29:13,710 paske li k ap pase yo dwe 32 Bits pa gen pwoblèm sa. 674 00:29:13,710 --> 00:29:16,070 Atribi, nou pa t 'wè anvan. 675 00:29:16,070 --> 00:29:18,410 Nenpòt enterè nan nenpòt nan sa yo opsyon meni tan sa a? 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 Pou yon INT? 678 00:29:23,745 --> 00:29:24,620 Ki sa ou te pwopoze? 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 Se pa? 681 00:29:28,445 --> 00:29:29,570 Èske nenpòt nan sa yo fè sans? 682 00:29:29,570 --> 00:29:30,536 Yeah. 683 00:29:30,536 --> 00:29:31,900 Yeah, siye, dwa? 684 00:29:31,900 --> 00:29:35,930 >> Anjeneral, si nou ap ale nan bay tout moun yon Nimewo inik, ki 685 00:29:35,930 --> 00:29:38,200 se kote istwa sa a se prale a, Mwen vrèman sèlman vle 686 00:29:38,200 --> 00:29:41,919 yon moun yo gen nimewo a tankou zewo ak yon sèl ak de ak twa ak kat. 687 00:29:41,919 --> 00:29:43,710 Mwen pa bezwen fè fas ak nimewo negatif. 688 00:29:43,710 --> 00:29:45,210 Li jis sanble tankou soufwans konpleksite. 689 00:29:45,210 --> 00:29:48,470 Mwen vle kat bilyon valè posib, pa kat milya dola valè posib, 690 00:29:48,470 --> 00:29:50,699 Se konsa, mwen jis double nan kapasite de INT mwen. 691 00:29:50,699 --> 00:29:53,490 Kòm yon sou kote, si ou vle gen rapò sa a nan yon bagay tankou Facebook, 692 00:29:53,490 --> 00:29:56,190 tounen nan sòt de jou m 'lè Facebook premye a soti, 693 00:29:56,190 --> 00:29:59,510 Mwen kwè sa yo te lè l sèvi avèk nan baz done miskl yo 694 00:29:59,510 --> 00:30:02,856 nan magazen yon itilizatè a idantifyan, te jis yon INT. 695 00:30:02,856 --> 00:30:05,230 Men, nan kou, gen nan yon anpil nan moun reyèl nan mond lan. 696 00:30:05,230 --> 00:30:07,438 Genyen yon anpil nan fo Facebook kont nan mond lan. 697 00:30:07,438 --> 00:30:11,701 Se konsa, evantyèlman, Facebook larivyè gwosè a nan yon int, se yon kat bilyon 698 00:30:11,701 --> 00:30:12,200 valè. 699 00:30:12,200 --> 00:30:15,032 Ki se poukisa, si ou gade ozalantou yo ak gen nan sit 700 00:30:15,032 --> 00:30:16,740 ki ka di ou sa ID inik ou se. 701 00:30:16,740 --> 00:30:19,781 Men, si ou pa janm te chwazi yon non itilizatè nan Facebook, ou ap wè ID inik ou yo. 702 00:30:19,781 --> 00:30:23,080 Mwen panse ke li pwofil PHP dot ID kesyon mak egal yon bagay. 703 00:30:23,080 --> 00:30:27,210 Sa se kounye a yon bagay tankou yon gwo INT, oswa yon long lontan si ou pral, 704 00:30:27,210 --> 00:30:29,700 ki se yon valè 64-ti jan oswa yon bagay konparab. 705 00:30:29,700 --> 00:30:33,620 >> Se konsa, menm nan mond reyèl la fè sa yo pwoblèm finalman pafwa gen pwoblèm. 706 00:30:33,620 --> 00:30:37,600 Epi li vire soti isit la, si mwen se bay tout nan itilizatè mwen yon ID inik, 707 00:30:37,600 --> 00:30:41,750 Mwen vle fè super eksplisit ak minim fè jaden sa a inik. 708 00:30:41,750 --> 00:30:44,750 Men, li vire soti gen nan yon sèl moso nan nomanklatur jodi a twò 709 00:30:44,750 --> 00:30:46,470 sa a, se yon kle prensipal. 710 00:30:46,470 --> 00:30:49,800 Si w ap desine yon de tab ak ou konnen an avanse 711 00:30:49,800 --> 00:30:55,580 ke youn nan kolòn yo nan ki tab ta dwe epi yo pral inikman idantifye ranje 712 00:30:55,580 --> 00:30:58,500 nan tablo a, ou vle presize li epi di baz done a, 713 00:30:58,500 --> 00:31:00,250 sa a se kle prensipal m 'yo. 714 00:31:00,250 --> 00:31:02,110 Gen ta ka Doublon nan lòt chan sa yo, 715 00:31:02,110 --> 00:31:06,330 men mwen di baz done a ke sa a se prensipal mwen, jaden pi enpòtan m 'yo, 716 00:31:06,330 --> 00:31:08,420 ki nan garanti yo dwe inik. 717 00:31:08,420 --> 00:31:09,660 >> Koulye a, sa a sanble redondants. 718 00:31:09,660 --> 00:31:13,830 Mwen kounye a pwopoze ke nou ajoute, pa klike Save isit la, 719 00:31:13,830 --> 00:31:17,210 yon called-- jaden ak mwen pral ale pi devan epi klike sou lavil Ayi, 720 00:31:17,210 --> 00:31:19,720 nou pral tounen vin jwenn ke nan yon moman, Save. 721 00:31:19,720 --> 00:31:22,540 Mwen pwopoze kounye a ke tab mwen gade tankou sa a. 722 00:31:22,540 --> 00:31:26,305 Mwen gen yon jaden INT rele ID, yon jaden CHAR rele Username, 723 00:31:26,305 --> 00:31:31,100 yon jaden varchar rele, men ID, si li nan primè ak Se poutèt sa inik, 724 00:31:31,100 --> 00:31:33,760 poukisa mwen jis gaspiye tan entwodwi sa 725 00:31:33,760 --> 00:31:39,140 efektivman se yon dezyèm inik jaden rele ID sa a, se yon INT? 726 00:31:39,140 --> 00:31:41,980 >> Non itilizatè, sonje, te deja inik, nou te di. 727 00:31:41,980 --> 00:31:45,350 Se konsa, jis lojikman, ou pa bezwen okenn eksperyans baz done rezon 728 00:31:45,350 --> 00:31:47,570 nan sa a, poukisa ta ka mwen te prezante 729 00:31:47,570 --> 00:31:50,065 yon INT kòm idantifyan inik mwen kòm byen? 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 Ki sa ki nan sa a men di ankò? 732 00:31:53,930 --> 00:31:55,580 >> ODYANS: [fèbl] 733 00:31:55,580 --> 00:31:59,534 >> DAVID Malan: Random aksè pi fasil, poukisa? 734 00:31:59,534 --> 00:32:00,410 >> ODYANS: [fèbl] 735 00:32:00,410 --> 00:32:02,367 DAVID Malan: Yeah, li nan jis aksè chif yo. 736 00:32:02,367 --> 00:32:04,750 Se konsa, si ou panse a se vre wi: sa a se yon tab, tankou yon etalaj, 737 00:32:04,750 --> 00:32:07,690 koulye a, mwen gen Idantifyan inik ke mwen ka sote alantou. 738 00:32:07,690 --> 00:32:11,520 Ak pi bon pase ki toujou se ke ki jan gwo se yon INT pral fè ankò? 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 32 Bits oswa kat bytes. 741 00:32:15,800 --> 00:32:17,750 >> Kòman gwo se non itilizatè mwen an pral fè? 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 Omaksimòm? 744 00:32:21,990 --> 00:32:22,880 16 bytes. 745 00:32:22,880 --> 00:32:26,080 >> Se konsa, si ou se reyèlman pran swen sou pèfòmans nan kòd ou a, 746 00:32:26,080 --> 00:32:31,390 panse tounen nan PSET5, ta ou pito pou fè rechèch pou yon valè kat multiple oswa yon 16 747 00:32:31,390 --> 00:32:32,240 valè multiple, dwa? 748 00:32:32,240 --> 00:32:33,810 Li reyèlman se kòm senp tankou sa. 749 00:32:33,810 --> 00:32:38,060 Sa ou dwe fè kat fwa kòm anpil travay pou fè rechèch pou usernames paske moun 750 00:32:38,060 --> 00:32:38,830 gen 16 bytes. 751 00:32:38,830 --> 00:32:41,320 Se konsa, ou gen yo literalman konpare tout 16 bytes yo dwe 752 00:32:41,320 --> 00:32:43,140 asire w repons lan se wi, sa a se non itilizatè mwen vle. 753 00:32:43,140 --> 00:32:46,610 Lè nou konsidere ke pou yon INT, ou ka fè l 'ak jis kat bytes. 754 00:32:46,610 --> 00:32:49,212 >> Apre sa, kòm yon sou kote pou moun enterese nan pyès ki nan konpitè òdinatè, 755 00:32:49,212 --> 00:32:52,420 li vire soti ou ka anfòm yon bagay tankou yon INT oswa yon valè 32-ti jan nan yon bagay 756 00:32:52,420 --> 00:32:55,330 rele yon enskri nan yon òdinatè CPU, ki vle di li nan super, 757 00:32:55,330 --> 00:32:58,400 Super vit, menm nan ki pi ba a nivo nan kenkayri òdinatè a. 758 00:32:58,400 --> 00:33:00,530 Se konsa, gen nan jis avantaj tout alantou. 759 00:33:00,530 --> 00:33:01,530 Se konsa, sa sa vle di? 760 00:33:01,530 --> 00:33:04,850 An reyalite, lè w ap desine yon baz done tab, prèske tout nan tan an 761 00:33:04,850 --> 00:33:07,170 ou menm ki pral gen pa sèlman done yo ou pran swen sou, 762 00:33:07,170 --> 00:33:09,280 men tou, yon bagay tankou yon idantifyan inik 763 00:33:09,280 --> 00:33:11,280 paske sa a ki pral se pou nou fè lòt bagay. 764 00:33:11,280 --> 00:33:13,160 Li kite yo vwayaj sou yon pwoblèm isit la. 765 00:33:13,160 --> 00:33:15,990 >> Sipoze ke itilizatè yo gen pa jis usernames ak non, 766 00:33:15,990 --> 00:33:19,540 men yo menm tou yo gen bagay sa yo tankou lavil ak eta yo ak kòd postal, omwen 767 00:33:19,540 --> 00:33:20,432 isit la nan peyi Etazini. 768 00:33:20,432 --> 00:33:22,390 Se konsa, mwen pral ale pi devan ak jis byen vit di, 769 00:33:22,390 --> 00:33:26,180 ban m 'twa plis kolòn nan fen a nan tab la. 770 00:33:26,180 --> 00:33:28,900 Lè sa a a pwal City, sa a ki pral yo dwe Eta a, 771 00:33:28,900 --> 00:33:30,400 ak sa a se pral yo dwe Postal. 772 00:33:30,400 --> 00:33:32,710 >> Koulye a, kalite City, ki sa done ta dwe sa a dwe, petèt? 773 00:33:32,710 --> 00:33:35,460 774 00:33:35,460 --> 00:33:35,989 Varchar? 775 00:33:35,989 --> 00:33:37,780 Mwen pa konnen sa a pi long la non se. 776 00:33:37,780 --> 00:33:40,571 Yon kote nan Amerik, gen nan pwobableman kèk mo ridikil long, 777 00:33:40,571 --> 00:33:43,605 se konsa kite yo jis ale ak 255, yon ti jan istorikman oswa abitrèman. 778 00:33:43,605 --> 00:33:44,730 Eta a, ki sa ou vle fè? 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 Apèl Jijman, dwa? 781 00:33:50,367 --> 00:33:51,700 Ki sa ki nan petèt pi efikas la? 782 00:33:51,700 --> 00:33:53,500 Konbyen karaktè? 783 00:33:53,500 --> 00:33:55,950 Petèt jis de, si nou kapab jwenn lwen ak jis ap fè, 784 00:33:55,950 --> 00:33:58,250 tankou, MA pou Massachusetts ak pou fè. 785 00:33:58,250 --> 00:34:00,520 Se konsa, mwen pral ale yon valè CHAR a de. 786 00:34:00,520 --> 00:34:03,080 >> Kòd postal nan yon yon sèl ki enteresan. 787 00:34:03,080 --> 00:34:06,679 Nou isit la nan 02138, se konsa ke sijere nou ta dwe sèvi ak ki sa? 788 00:34:06,679 --> 00:34:07,470 Se yon INT, dwa? 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 INT, INT, kout? 791 00:34:12,800 --> 00:34:14,521 Kout ta travay. 792 00:34:14,521 --> 00:34:15,020 Se pa? 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 CHAR oswa senk, men mwen vle yon INT. 795 00:34:20,870 --> 00:34:23,710 Poukisa pouse tounen sou yon INT? 796 00:34:23,710 --> 00:34:26,820 Konvenk m 'anba sa a. 797 00:34:26,820 --> 00:34:29,210 Ki sa ki nan estipid sou yon INT, lide mwen an? 798 00:34:29,210 --> 00:34:29,871 Yeah. 799 00:34:29,871 --> 00:34:31,199 >> ODYANS: Pran moute plis memwa. 800 00:34:31,199 --> 00:34:32,909 >> DAVID Malan: Pran moute plis memwa. 801 00:34:32,909 --> 00:34:35,310 Kat bytes, men w ap pwopoze yon kòd postal 802 00:34:35,310 --> 00:34:39,000 kòm senk bytes oswa yon moun te kòm yon CHAR, ki santi l tankou eh, sa se pa reyèlman 803 00:34:39,000 --> 00:34:39,620 ka-a. 804 00:34:39,620 --> 00:34:40,489 >> Oke, plezi istwa. 805 00:34:40,489 --> 00:34:43,179 Ane de sa, lè mwen itilize yo sèvi ak Microsoft Outlook pou imel m 'yo, 806 00:34:43,179 --> 00:34:45,150 Mwen evantyèlman te vle chanje nan Gmail. 807 00:34:45,150 --> 00:34:48,949 Se konsa, mwen ekspòte tout nan m ' kontak soti nan pespektiv kòm yon dosye CSV. 808 00:34:48,949 --> 00:34:50,699 Vigil separe valè, ki jis vle di ke mwen 809 00:34:50,699 --> 00:34:54,060 te gen tout zanmi m 'non ak dènye non ak nimewo telefòn ak kòd postal 810 00:34:54,060 --> 00:34:54,747 ak nan tout sa. 811 00:34:54,747 --> 00:34:56,580 Lè sa a, mwen te fè a erè nan ouvèti l 'kanpe 812 00:34:56,580 --> 00:34:58,640 nan Excel, ki se yon pwogram calcul ki 813 00:34:58,640 --> 00:35:00,289 konprann CSV dosye jan nou te wè. 814 00:35:00,289 --> 00:35:03,080 Men, Lè sa, mwen dwe te frape, tankou, Kòmandman oswa kontwòl S nan yon pwen. 815 00:35:03,080 --> 00:35:06,250 Apre sa, Excel aparamman nan moman an te gen yon karakteristik kijan nenpòt ki lè li 816 00:35:06,250 --> 00:35:08,100 wè yon nimewo, li te eseye yo dwe itil. 817 00:35:08,100 --> 00:35:11,610 Men, si ke nimewo te kòmanse avèk zewo, li ta jis debarase m de yo. 818 00:35:11,610 --> 00:35:13,420 Poukisa ou bezwen dirijan zewo sou nonm antye relatif? 819 00:35:13,420 --> 00:35:15,140 Yo ap san sans, matematik. 820 00:35:15,140 --> 00:35:17,530 Yo ap pa san sans nan sistèm nan US Sèvis. 821 00:35:17,530 --> 00:35:19,954 Se konsa, mwen te gen pou ane, nan jou sa a, mwen toujou 822 00:35:19,954 --> 00:35:22,370 gen zanmi ke lè a ra ka sa a mwen bezwen yon moun nan 823 00:35:22,370 --> 00:35:24,078 adrese jou sa yo, Mwen pral toujou wè ke mwen 824 00:35:24,078 --> 00:35:26,767 gen yon zanmi nan Cambridge, Massachusetts, 2138. 825 00:35:26,767 --> 00:35:29,350 Lè li nan anmèdan si w ap ap eseye sòt nan pwogramasyon 826 00:35:29,350 --> 00:35:30,975 jenere anvlòp oswa jis ekrir li desann. 827 00:35:30,975 --> 00:35:33,599 Epi sa a, paske yo te rezon sa a, Mwen te chwazi kalite a done ki mal. 828 00:35:33,599 --> 00:35:34,490 Se konsa, mwen renmen lide ou yo. 829 00:35:34,490 --> 00:35:35,650 Se pou yo sèvi ak yon jaden CHAR. 830 00:35:35,650 --> 00:35:38,340 Senk karaktè yo, eksepte gen yon ka kwen. 831 00:35:38,340 --> 00:35:42,220 Si ou toujou voye lapòs, pafwa zip kòd jou sa yo, 832 00:35:42,220 --> 00:35:45,360 yo ap, tankou, plis kat. 833 00:35:45,360 --> 00:35:48,200 Se konsa, nou bezwen yon tirè ak Lè sa a nou bezwen kat nimewo plis. 834 00:35:48,200 --> 00:35:50,330 Se konsa, yo dwe onèt, li te kapab ale plizyè fason diferan. 835 00:35:50,330 --> 00:35:52,371 >> Pou kounye a, mwen pral kenbe li senp ak mwen se jis 836 00:35:52,371 --> 00:35:54,780 pral di ke li nan yon senk valè CHAR epi nou ap 837 00:35:54,780 --> 00:35:56,739 ale nan sote priz nan tout antye plis kat. 838 00:35:56,739 --> 00:35:58,280 Men, sa yo, se kalite ki nan konpwomi. 839 00:35:58,280 --> 00:36:00,196 Epi ou ka panse a nan pwoblèm menm ki rive 840 00:36:00,196 --> 00:36:01,860 ak nimewo telefòn oswa lòt jaden. 841 00:36:01,860 --> 00:36:04,350 >> Epi, koulye a, sa a se aktyèlman yon wout san konprann yo ale desann. 842 00:36:04,350 --> 00:36:08,000 Sipoze tou de Rob Se mwen menm ak Ana ak Maria ak [? Davon?] Ak Andy 843 00:36:08,000 --> 00:36:12,820 ak lòt moun sou anplwaye a tout ap viv nan Cambridge, Massachusetts, 02138. 844 00:36:12,820 --> 00:36:17,970 Sa a aktyèlman santi estipid ke mwen se ajoute sou tab itilizatè m 'yo, vil, eta, 845 00:36:17,970 --> 00:36:18,630 ak zip. 846 00:36:18,630 --> 00:36:20,980 Poukisa? 847 00:36:20,980 --> 00:36:21,960 >> ODYANS: [fèbl] 848 00:36:21,960 --> 00:36:22,918 >> DAVID Malan: Di ankò? 849 00:36:22,918 --> 00:36:24,310 ODYANS: [fèbl] 850 00:36:24,310 --> 00:36:25,850 >> DAVID Malan: Yo ap toujou pral ale ansanm, dwa? 851 00:36:25,850 --> 00:36:28,660 Lè li vire soti, nou te konn panse sa a te ka a jiskaske nou limitativ 852 00:36:28,660 --> 00:36:30,570 fouye tout Etazini an, ak sanble ke gen 853 00:36:30,570 --> 00:36:32,653 yo se kèk enkonsistans kote tout ti bouk plizyè gen 854 00:36:32,653 --> 00:36:35,060 postal la menm, ki se etranj. 855 00:36:35,060 --> 00:36:40,580 Men, si nou ladann pou kounye a ke 02138 se toujou Cambridge, Massachusetts, 856 00:36:40,580 --> 00:36:44,910 poukisa nan mond lan ta ou sere nan baz done ou Cambridge ak MA ak 02138 857 00:36:44,910 --> 00:36:49,357 pou m 'ak pou Hannah ak pou Rob ak pou [? Davon?] Ak pou lòt moun ki ap viv 858 00:36:49,357 --> 00:36:51,190 isit la nan Cambridge, li nan parfe redondants. 859 00:36:51,190 --> 00:36:54,480 >> Nou ta dwe jwenn lwen ak jis estoke ki sa? 860 00:36:54,480 --> 00:36:55,610 Jis kòd la postal. 861 00:36:55,610 --> 00:36:58,660 Men, Lè sa, si nou jis nan magazen kòd postal, mwen vle, pwobableman, 862 00:36:58,660 --> 00:37:02,160 pou sit entènèt mwen an konnen ki kote 02138 ye. 863 00:37:02,160 --> 00:37:03,910 Se konsa, mwen bezwen yon lòt tab. 864 00:37:03,910 --> 00:37:04,697 Epi sa a, OK. 865 00:37:04,697 --> 00:37:07,530 Ak nan reyalite, sa a se youn nan nan pwosesis konsepsyon nan desine tab 866 00:37:07,530 --> 00:37:11,472 ke ou pral fè nan PSet7 osi byen kijan ou vle faktè soti done komen. 867 00:37:11,472 --> 00:37:14,430 Jis tankou nou ve yo te faktè soti Kòd komen ak affacturage soti komen 868 00:37:14,430 --> 00:37:17,380 Styles soti nan CSS, isit la twò nan baz done a, 869 00:37:17,380 --> 00:37:21,180 si mwen sèlman bezwen 02138 inikman idantifye vil yon moun, 870 00:37:21,180 --> 00:37:25,020 Pa sere Cambridge, Mass pou chak itilizatè reprize nan tablo ou yo. 871 00:37:25,020 --> 00:37:29,770 >> Olye de sa, gen yon tab apa rele Zips ki ta dwe gen sa kolòn? 872 00:37:29,770 --> 00:37:33,490 Pwobableman yon jaden ID, jis paske, pou prensip yo nou ap pale de kounye a. 873 00:37:33,490 --> 00:37:35,720 Pwobableman yon jaden postal pou 02138. 874 00:37:35,720 --> 00:37:38,400 Lè sa a, pwobableman sa lòt kolòn? 875 00:37:38,400 --> 00:37:42,950 City ak eta a, men se sèlman gen yon sèl ranje pou 02138, yon sèl ranje pou 02139, 876 00:37:42,950 --> 00:37:44,772 yon sèl ranje pou 90210. 877 00:37:44,772 --> 00:37:46,730 E ke se literalman tout kòd yo postal mwen konnen. 878 00:37:46,730 --> 00:37:49,012 >> Se konsa, kounye, ki sa ou kapab fè? 879 00:37:49,012 --> 00:37:51,220 Sa a se yon pwoblèm, paske koulye a, mwen te gen de moso wòch plat. 880 00:37:51,220 --> 00:37:54,660 Se konsa, itilizatè m ', se sitou sou isit la, men enfòmasyon lavil eta yo nan 881 00:37:54,660 --> 00:37:55,390 sou isit la. 882 00:37:55,390 --> 00:37:58,635 Se konsa, li vire soti ak SQL, gen nan aktyèlman yon fason yo rantre nan enfòmasyon, 883 00:37:58,635 --> 00:38:00,470 epi ou pral wè sa a nan pset a. 884 00:38:00,470 --> 00:38:03,000 >> Men, li vire soti ou kapab fè yon bagay tankou sa a. 885 00:38:03,000 --> 00:38:10,501 Chwazi zetwal soti nan itilizatè, rantre nan zips SOU itilizatè dot postal egal zips dot postal. 886 00:38:10,501 --> 00:38:13,360 Ki se yon ti kras bavar, Byensir, men sa a jis 887 00:38:13,360 --> 00:38:17,590 vle di chwazi tout bagay soti nan la pwosesis pou pran tab itilizatè mwen 888 00:38:17,590 --> 00:38:19,580 ak tablo zips mwen. 889 00:38:19,580 --> 00:38:22,120 Join yo sou yon sèl nan jaden yo gen nan kolòn. 890 00:38:22,120 --> 00:38:24,780 Se konsa, fè yon bagay literalman tankou sa a, epi bay m 'tounen 891 00:38:24,780 --> 00:38:27,360 yon nouvo tab pou yon ti tan sa a, se pi laj, sa a, se pi gwo, 892 00:38:27,360 --> 00:38:29,450 ki gen tout nan la kolòn soti nan tou de nan yo. 893 00:38:29,450 --> 00:38:33,510 Epi ki, byen tou senpleman, ta dwe nan sentaks pou fè yon bagay tankou sa a. 894 00:38:33,510 --> 00:38:35,540 >> Se konsa, gen nan sa a pi devan, men gen k ap pase 895 00:38:35,540 --> 00:38:38,950 yo dwe lòt desizyon konsepsyon ou pral gen fè, pa sèlman ak endis 896 00:38:38,950 --> 00:38:40,550 men tou, kouri nan defi yo. 897 00:38:40,550 --> 00:38:43,360 An reyalite, gen nan yon defi nan nenpòt konsepsyon baz done 898 00:38:43,360 --> 00:38:47,930 kijan pafwa de moun ta ka vle jwenn aksè nan ranje yo menm nan baz done a 899 00:38:47,930 --> 00:38:48,530 tab. 900 00:38:48,530 --> 00:38:51,450 Se konsa, sa a se yon bagay ki nou pral rankontre nan PSet7 kòm byen. 901 00:38:51,450 --> 00:38:54,686 >> Men, mwen te panse mwen ta gade nan yon sèl atak sa a, se posib nan SQL. 902 00:38:54,686 --> 00:38:56,560 Ki sa ki yo se kèk nan la pwoblèm ki ka leve? 903 00:38:56,560 --> 00:38:58,170 Se konsa, ou pral rankontre sa a nan PSet7. 904 00:38:58,170 --> 00:39:01,874 Epi nou di ou kareman a sa kodaj solisyon pou pwoblèm sa a se. 905 00:39:01,874 --> 00:39:04,790 Men, si ou pran yon klas pi wo nivo, espesyalman nan sistèm operasyon, 906 00:39:04,790 --> 00:39:06,950 w ap ale nan rankontre yon pwoblèm nan atomisite, 907 00:39:06,950 --> 00:39:10,080 pwoblèm lan nan ap eseye fè miltip bagay tout nan yon fwa 908 00:39:10,080 --> 00:39:11,000 san entèripsyon. 909 00:39:11,000 --> 00:39:14,560 >> Apre sa, mwen te panse mwen ta entwodui sa a lide pou PSet7 ak yon metafò 910 00:39:14,560 --> 00:39:18,160 ke mwen te aprann tèt mwen nan Mago Sistèm Seltzer la opere CS164 911 00:39:18,160 --> 00:39:18,990 klas ane de sa. 912 00:39:18,990 --> 00:39:22,230 Sipoze ke ou gen youn nan sa yo dòtwa refrijerateur nan chanm dòtwa ou a oswa kay, 913 00:39:22,230 --> 00:39:24,474 epi ou gen yon gou reyèl pou lèt. 914 00:39:24,474 --> 00:39:27,140 Se konsa, ou vini lakay sòti nan klas yon sèl jou, ou louvri frijidè a. 915 00:39:27,140 --> 00:39:27,620 Oh, modi li. 916 00:39:27,620 --> 00:39:28,870 Gen nan pa gen lèt nan frijidè an. 917 00:39:28,870 --> 00:39:32,470 Se konsa, ou fèmen frijidè a, fèmen pòt la, fèmen dòtwa ou, 918 00:39:32,470 --> 00:39:34,770 mache nan kwen an CVS, jwenn nan liy, 919 00:39:34,770 --> 00:39:36,312 epi yo kòmanse kouran soti nan pou kèk lèt. 920 00:39:36,312 --> 00:39:38,978 Apre sa, li la pral pran yon ti tan, paske moun kesye pwòp tèt ou modi 921 00:39:38,978 --> 00:39:40,570 kontè pran pou tout tan yo sèvi ak de tout fason. 922 00:39:40,570 --> 00:39:41,950 Se konsa, pandan se tan, kolokasyon nou an ap vini lakay ou. 923 00:39:41,950 --> 00:39:43,470 Li oswa li te reyèlman renmen lèt kòm byen. 924 00:39:43,470 --> 00:39:45,520 Yo vini nan sal la dòtwa, louvri frijidè a, o, reprize li. 925 00:39:45,520 --> 00:39:46,490 Gen nan pa gen lèt plis. 926 00:39:46,490 --> 00:39:49,040 >> Se konsa, li oswa li te tou ale alantou kwen an. 927 00:39:49,040 --> 00:39:51,670 Men koulye a,, depi gen nan tankou de oswa twa oswa kat CVSes ki tou pre, 928 00:39:51,670 --> 00:39:53,800 yo rive pou yo ale nan youn nan la yo menm diferan nan kare a. 929 00:39:53,800 --> 00:39:55,830 Se konsa, kounye a, kèk minit apre, tou de nan nou 930 00:39:55,830 --> 00:39:58,060 vini lakay ou epi pwa, pi move pwoblèm tout tan. 931 00:39:58,060 --> 00:40:00,967 Koulye a, ou gen twòp lèt paske li k ap pase yo ale tounen. 932 00:40:00,967 --> 00:40:03,050 Epi ou renmen lèt, men ou pa reyèlman renmen lèt. 933 00:40:03,050 --> 00:40:06,730 >> Se konsa, kounye, sa a te yon chè erè paske tou de nan nou 934 00:40:06,730 --> 00:40:09,870 te fè yon desizyon ki baze sou la eta nan kèk varyab ki 935 00:40:09,870 --> 00:40:12,660 te nan pwosesis la nan te chanje pa ou, 936 00:40:12,660 --> 00:40:14,560 amors a nan ale nan jwenn lèt. 937 00:40:14,560 --> 00:40:17,785 Se konsa, sa se petèt yon moun solisyon ak sa yo ki pwoblèm? 938 00:40:17,785 --> 00:40:18,660 ODYANS: [fèbl] 939 00:40:18,660 --> 00:40:19,430 DAVID Malan: Kite yon nòt, dwa? 940 00:40:19,430 --> 00:40:21,850 Toujou kite yon nòt, si w ap abitye avèk ki montre. 941 00:40:21,850 --> 00:40:23,100 Wi, ki te gen de nan nou. 942 00:40:23,100 --> 00:40:25,940 Se konsa, toujou kite yon nòt, oswa literalman fèmen frijidè a 943 00:40:25,940 --> 00:40:28,602 ak kèk kalite kadna oswa yon bagay sou tèt la tankou sa. 944 00:40:28,602 --> 00:40:31,310 Men, sa la aktyèlman pral yo dwe kle pwoblèm ak konsepsyon baz done, 945 00:40:31,310 --> 00:40:34,710 espesyalman lè ou ta ka genyen navigatè miltip, plizyè laptops, 946 00:40:34,710 --> 00:40:37,450 plizyè itilizatè tout ap eseye mete ajou enfòmasyon nan yon fwa. 947 00:40:37,450 --> 00:40:40,590 Enfòmasyon Patikilyèman sansib tankou enfòmasyon finansye, 948 00:40:40,590 --> 00:40:43,350 kijan ak yon komès stock sit tankou ou pral bati, 949 00:40:43,350 --> 00:40:47,270 sa ki si ou vle tcheke konbyen lajan ou gen ak Lè sa a si ou gen ase, 950 00:40:47,270 --> 00:40:48,490 achte kèk stock? 951 00:40:48,490 --> 00:40:50,899 >> Men, sa ki si yon moun lòt moun ki gen yon kont ansanm ak ou 952 00:40:50,899 --> 00:40:52,690 se ansanm ap yo achte kèk stock? 953 00:40:52,690 --> 00:40:55,190 Se konsa, li oswa li te se nan tcheke balans kont, tou de nan nou 954 00:40:55,190 --> 00:40:57,540 jwenn tounen menm bagay la tou repons, gen nan pa gen lèt. 955 00:40:57,540 --> 00:41:00,580 Ou tou de nan nou jwenn tounen repons lan, ou gen $ 100 nan kont lan. 956 00:41:00,580 --> 00:41:04,680 Tou de nan nou eseye fè desizyon an yo achte yon sèl pati nan kèk stock konpayi. 957 00:41:04,680 --> 00:41:06,130 >> Epi, koulye a, ki sa k ap pase? 958 00:41:06,130 --> 00:41:07,140 Ou gen de aksyon? 959 00:41:07,140 --> 00:41:08,420 Ou pa gen okenn aksyon? 960 00:41:08,420 --> 00:41:10,320 Pwoblèm tankou ki ka leve. 961 00:41:10,320 --> 00:41:11,755 Se konsa, nou pral rankontre sa. 962 00:41:11,755 --> 00:41:14,630 SQL atak piki, Erezman, yo se yon bagay nou pral ede w ak, 963 00:41:14,630 --> 00:41:17,430 men sa yo, se atrociously jou komen sa yo toujou. 964 00:41:17,430 --> 00:41:18,680 Se konsa, sa a se jis yon egzanp. 965 00:41:18,680 --> 00:41:21,290 Mwen pa fè okenn reklamasyon ki Sistèm Harvard PIN se 966 00:41:21,290 --> 00:41:23,130 vilnerab a atak sa a an patikilye. 967 00:41:23,130 --> 00:41:24,160 Nou te eseye. 968 00:41:24,160 --> 00:41:26,120 Men, ou konnen ke nou gen yon jaden tankou sa a. 969 00:41:26,120 --> 00:41:29,620 Ak Filè ID Yale a gen yon menm jan an kap ekran jou sa yo. 970 00:41:29,620 --> 00:41:33,190 Epi li vire soti, ki petèt a Se sistèm PIN aplike nan PHP. 971 00:41:33,190 --> 00:41:37,050 >> Men, si li were-- li a not-- yo ta ka gen kòd ki sanble tankou sa a. 972 00:41:37,050 --> 00:41:38,210 Yo gen de varyab. 973 00:41:38,210 --> 00:41:42,495 Ban m 'non itilizatè a ak modpas soti nan varyab la pòs super mondyal 974 00:41:42,495 --> 00:41:43,970 ke nou te pale osijè de pi bonè. 975 00:41:43,970 --> 00:41:47,310 Petèt Harvard gen yon sijè rechèch tankou chwazi zetwal soti nan itilizatè 976 00:41:47,310 --> 00:41:50,005 kote non itilizatè egal ki ak modpas egal sa. 977 00:41:50,005 --> 00:41:51,880 Apre sa, remake ke mwen se jis rakorde l 'nan lè l sèvi avèk 978 00:41:51,880 --> 00:41:55,050 notasyon a atèl Curly soti nan lòt la jou, ki vle di jis ploge nan se yon valè 979 00:41:55,050 --> 00:41:55,550 isit la. 980 00:41:55,550 --> 00:41:57,449 Mwen pa lè l sèvi avèk la kesyon mak teknik. 981 00:41:57,449 --> 00:41:59,240 Mwen pa gen okenn dezyèm oswa agiman twazyèm. 982 00:41:59,240 --> 00:42:02,350 Mwen jis literalman konstwi fisèl la tèt mwen. 983 00:42:02,350 --> 00:42:04,930 >> Pwoblèm nan, menm si, se ke si yon moun renmen yon Scroob, 984 00:42:04,930 --> 00:42:09,020 ki se yon referans nan yon fim, journaux nan ak yon bagay tankou sa a, 985 00:42:09,020 --> 00:42:11,250 epi mwen te retire pwen yo ki anjeneral kouvri moute 986 00:42:11,250 --> 00:42:14,370 modpas, sa ki si se li ki patikilyèman move 987 00:42:14,370 --> 00:42:18,860 ak modpas li petèt se 12345, pou chak fim nan rele "Spaceballs," 988 00:42:18,860 --> 00:42:21,970 men li kritik kalite yon sèl quote apre senk an, 989 00:42:21,970 --> 00:42:24,790 Lè sa a, literalman mo oubyen nan espas ki la, ak Lè sa quote, 990 00:42:24,790 --> 00:42:29,160 youn unquote egal quote yon sèl, men remake li te omisyon ki sa? 991 00:42:29,160 --> 00:42:32,700 Li te omisyon quote la sou bò dwat la ak li te omisyon quote la sou bò gòch la. 992 00:42:32,700 --> 00:42:35,170 >> Paske si atakè sa a sipozisyon Scroob a 993 00:42:35,170 --> 00:42:38,160 se ke pèp la ki te ekri sa a Kòd PHP pa t 'konsa byen klere, 994 00:42:38,160 --> 00:42:42,990 petèt yo jis gen kèk sèl quotes alantou entèpolasyon nan 995 00:42:42,990 --> 00:42:45,210 nan yon varyab nan aparèy òtopedik Curly? 996 00:42:45,210 --> 00:42:48,620 Se konsa, petèt, li te kapab kalite a ranpli te panse yo 997 00:42:48,620 --> 00:42:53,290 pou yo, men nan yon fason ki k ap pase kite l 'rache nan sistèm lan PIN. 998 00:42:53,290 --> 00:42:55,310 Nan lòt mo, ta kwè ke sa a se kòd la 999 00:42:55,310 --> 00:42:57,140 ak nou koulye a ploge nan sa ki Scroob tape. 1000 00:42:57,140 --> 00:42:58,770 Lè li nan wouj, paske li nan move. 1001 00:42:58,770 --> 00:43:01,310 >> Ak tèks ki kache se sa l 'tape nan, 1002 00:43:01,310 --> 00:43:05,510 Scroob te kapab je chèch sèvè Harvard la nan konstwi yon sijè rechèch SQL 1003 00:43:05,510 --> 00:43:07,440 fisèl ki sanble tankou sa a. 1004 00:43:07,440 --> 00:43:11,760 Modpas egal 12345 oswa yon sèl egal yon sèl. 1005 00:43:11,760 --> 00:43:14,820 Rezilta a nan ki, lojikman, se ke sa a pral ouvri sesyon Scroob 1006 00:43:14,820 --> 00:43:18,360 nan si modpas li se 12345 oswa si yon sèl egal 1007 00:43:18,360 --> 00:43:22,660 yon sèl, ki se nan kou toujou vre, ki vle di Scroob toujou vin nan. 1008 00:43:22,660 --> 00:43:26,060 >> Se konsa, wout la nan ranje sa a, tankou nan yon anpil nan ka yo, 1009 00:43:26,060 --> 00:43:28,140 ta dwe ekri plis pridans. 1010 00:43:28,140 --> 00:43:30,390 Pou itilize yon bagay tankou nou an aktyèl fonksyon query, ki 1011 00:43:30,390 --> 00:43:33,980 ou pral wè nan PSet7, kote nou ploge nan yon bagay tankou kesyon make isit la. 1012 00:43:33,980 --> 00:43:35,980 Apre sa, bote nan nan fonksyon query ke nou 1013 00:43:35,980 --> 00:43:40,010 ba ou se li defan kont sa yo sa yo rele SQL atak piki, kote 1014 00:43:40,010 --> 00:43:44,260 gen yon moun ki tricking kòd ou a nan enjekte pwòp tèt li oswa li Kòd SQL. 1015 00:43:44,260 --> 00:43:47,380 Paske sa fonksyon an sijè rechèch nou ba ou pral aktyèlman fè, 1016 00:43:47,380 --> 00:43:51,270 si ou itilize sentaks la kesyon mak ak yon dezyèm ak yon agiman twazyèm isit la, 1017 00:43:51,270 --> 00:43:54,590 se sa li te ajoute nan la D 'ki itilizatè a bay? 1018 00:43:54,590 --> 00:43:56,060 Moun sa yo ki antislach site. 1019 00:43:56,060 --> 00:43:58,590 >> Se konsa, li lannwit nenpòt potansyèlman karaktè danjere. 1020 00:43:58,590 --> 00:44:01,000 Sa a parèt etranj kounye a, men li la pa vilnerab 1021 00:44:01,000 --> 00:44:03,260 paske li fè sa ki pa chanje lojik la ankò 1022 00:44:03,260 --> 00:44:06,470 paske ke tout modpas se kounye a yon quote sèl sa a, se pa, 1023 00:44:06,470 --> 00:44:07,596 an reyalite, modpas Scroob a. 1024 00:44:07,596 --> 00:44:09,845 Se konsa, gen nan gen kèk blag sou sa a sou ane yo. 1025 00:44:09,845 --> 00:44:12,570 Se konsa, sa a te yon foto pran nan kèk geek nan yon pakin 1026 00:44:12,570 --> 00:44:16,620 kijan ou ta ka konnen ke kèk vil ak eta eseye analysis lisans ou 1027 00:44:16,620 --> 00:44:19,460 plak voye bòdwo ou oswa nan tikè ou si ou ale nan san yo pa, tankou, 1028 00:44:19,460 --> 00:44:20,660 bagay la E-Z Pass. 1029 00:44:20,660 --> 00:44:24,490 Se konsa, moun sa a prezime ke petèt pèp la ekri sistèm nan E-Z Pass 1030 00:44:24,490 --> 00:44:28,240 pa t 'konsa byen klere, ak petèt yo jis anchene ansanm yon fisèl, 1031 00:44:28,240 --> 00:44:32,190 se konsa ke li oswa li te pa t 'kapab malveyans pa sèlman ranpli te panse yo, 1032 00:44:32,190 --> 00:44:35,150 men aktyèlman egzekite yon lòd move, ki nou pa te mansyone ankò, 1033 00:44:35,150 --> 00:44:36,380 men ou ka pwobableman devine. 1034 00:44:36,380 --> 00:44:39,820 Sa ki nan adisyon a efase ak Insert epi mete ajou epi chwazi, 1035 00:44:39,820 --> 00:44:43,370 gen nan tou yon mo kle yo rele gout, ki literalman tout bagay supresyon 1036 00:44:43,370 --> 00:44:45,300 nan baz done a, ki se patikilyèman move. 1037 00:44:45,300 --> 00:44:48,760 >> Nou ka rale nan sou sa a si li nan yon ti kras difisil yo wè. 1038 00:44:48,760 --> 00:44:52,300 Sa a, koulye a, se yon pi popilè desen ki pi ba sa a, se bèl entelijan kounye a 1039 00:44:52,300 --> 00:44:53,145 ak konprann. 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [Ri] 1042 00:45:04,750 --> 00:45:05,910 >> Yeah, fre. 1043 00:45:05,910 --> 00:45:06,800 Kalite geeking deyò. 1044 00:45:06,800 --> 00:45:08,800 Se konsa, sa yo, lè sa a, se SQL piki atak. 1045 00:45:08,800 --> 00:45:13,050 Apre sa, yo ap tèlman fasil pou fè pou evite lè l sèvi avèk kòd a bon oswa yon bibliyotèk ki dwat. 1046 00:45:13,050 --> 00:45:15,947 Men, ou pral wè nan PSet7, sa se poukisa nou ba ou fonksyon an sijè rechèch. 1047 00:45:15,947 --> 00:45:17,780 Se konsa, yon koup la anons ke nou te panse nou ta 1048 00:45:17,780 --> 00:45:19,930 ba ou la a nan nou an rete minit ansanm. 1049 00:45:19,930 --> 00:45:24,030 Se konsa, jan ou sonje soti nan semèn zewo, nou prezante sa yo de anpoul limyè ki 1050 00:45:24,030 --> 00:45:26,610 yo se bèl, pa sèlman paske yo ap trè, epi yo kolore, 1051 00:45:26,610 --> 00:45:29,450 men paske yo sipòte yon bagay rele yon API, yon Aplikasyon 1052 00:45:29,450 --> 00:45:31,980 Programmation koòdone ak nan CS50 konsa byen lwen, nou te 1053 00:45:31,980 --> 00:45:34,440 sitou konsantre sou JWENN ak POST, men li vire soti 1054 00:45:34,440 --> 00:45:37,390 gen nan lòt vèb HTTP tankou mete. 1055 00:45:37,390 --> 00:45:39,430 >> Lè an reyalite, sa a te yon glise soti nan semèn zewo 1056 00:45:39,430 --> 00:45:44,930 kijan si ou ekri kòd ki voye yon PSet6 la yon demann HTTP ki 1057 00:45:44,930 --> 00:45:49,647 sanble tankou sa a ak sa a ti moso nan tèks nan pati anba a, ki te rele JSON, 1058 00:45:49,647 --> 00:45:52,230 oswa JavaScript Notasyon objè ke nou pral pale sou semèn pwochèn, 1059 00:45:52,230 --> 00:45:57,030 ou ka vire sou oswa fèmen oswa chanjman koulè a ​​ki kreye tout limyè tankou sa yo. 1060 00:45:57,030 --> 00:46:00,480 Se konsa, si CS50 tou te gen nan adisyon a kèk nan tout sa yo anpoul limyè isit la nan New Haven 1061 00:46:00,480 --> 00:46:02,480 si ou ta renmen prete yo pou pwojè final la, 1062 00:46:02,480 --> 00:46:04,370 tou gen kèk Microsoft Gwoup Mizik yo, ki se tankou 1063 00:46:04,370 --> 00:46:07,619 mont ke ou mete alantou ponyèt ou ki Menm jan an tou gen yon API pou ke ou 1064 00:46:07,619 --> 00:46:10,040 ka ekri lojisyèl pwòp ou a pou yo. 1065 00:46:10,040 --> 00:46:12,490 >> Nou gen yon kont ak Apple la iOS Kòd pou 1066 00:46:12,490 --> 00:46:15,510 ke si ou gen yon Apple Watch oswa yon iPhone oswa yon iPad oswa yon iPod, 1067 00:46:15,510 --> 00:46:17,707 ou ka ekri kòd ki aktyèlman kouri sou sa yo. 1068 00:46:17,707 --> 00:46:19,540 Nou gen yon pakèt antye a Arduinos yo, ki se 1069 00:46:19,540 --> 00:46:22,010 ti òdinatè ti kras san yo pa ka, esansyèlman, 1070 00:46:22,010 --> 00:46:25,240 ke ou ka konekte via USB, tipikman nan pwòp Mac ou a oswa PC, 1071 00:46:25,240 --> 00:46:28,810 ekri kòd ki kouri sou sa yo fizik aparèy ki souvan gen detèktè sou yo 1072 00:46:28,810 --> 00:46:30,790 pou ou kapab kominike avèk mond reyèl la. 1073 00:46:30,790 --> 00:46:32,860 Nou gen yon pakèt antye a Kwasans Mouvman aparèy, 1074 00:46:32,860 --> 00:46:36,500 ki se USB aparèy pou Macs ak PC yo, isit la e ankò, nan New Haven. 1075 00:46:36,500 --> 00:46:40,080 Men, si ou konekte li nan Mac ou a, ou ka aktyèlman kontwòl òdinatè w lan 1076 00:46:40,080 --> 00:46:42,550 pa ekri lojisyèl ki atravè travès enfrawouj, 1077 00:46:42,550 --> 00:46:46,360 figi konnen ki kote men yo ou yo, menm san yo pa manyen klavye ou. 1078 00:46:46,360 --> 00:46:49,135 Nou te panse ke nou ta pataje yon rapid aperçu nan sa a, pou egzanp. 1079 00:46:49,135 --> 00:46:51,428 >> [MIZIK jwe] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 Se konsa, nou gen yon antye pakèt moun sou bagay sa yo, 1082 00:47:57,590 --> 00:48:01,040 tou, rele Myo Gwoup Mizik bra kote ou mete sou avanbra ou 1083 00:48:01,040 --> 00:48:04,595 ak Lè sa a ou ka kontwole reyèl la mond oswa mond lan vityèl tankou sa a. 1084 00:48:04,595 --> 00:48:06,471 >> [MIZIK jwe] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 Oswa, nou gen tou gen kèk Google Katon, ki se literalman, tankou, 1087 00:49:20,920 --> 00:49:24,841 yon bwat katon, ou te kapab mete yo sou ou fè fas a, men glise nan telefòn ou nan li 1088 00:49:24,841 --> 00:49:27,590 pou ke ou mete glas la nan ou telefòn reyèlman fèmen nan je ou. 1089 00:49:27,590 --> 00:49:30,190 Ak Google Katon se trè bon mache nan $ 10 oswa $ 20. 1090 00:49:30,190 --> 00:49:32,230 Apre sa, li gen lantiy ti kras ki yon ti kras koupe chanjman 1091 00:49:32,230 --> 00:49:35,900 imaj la sou ekran an pou moun ou je l 'ban nou yon sans de pwofondè 1092 00:49:35,900 --> 00:49:39,550 pou ke ou gen aktyèlman yon 3D anviwònman nan devan ou. 1093 00:49:39,550 --> 00:49:42,927 Nou gen tou gen kèk Kovèti pou Samsung, ki se vèsyon an pi chè nan sa a, 1094 00:49:42,927 --> 00:49:46,010 men sa ka Menm jan an tou glise nan yon Android telefòn ak ba ou ilizyon a 1095 00:49:46,010 --> 00:49:48,309 de- oswa bay eksperyans nan nan reyalite vityèl. 1096 00:49:48,309 --> 00:49:50,850 Ak nan final nou an de minit, nou te panse nou ta eseye fè sa a. 1097 00:49:50,850 --> 00:49:55,250 Si m 'ka pwojè sa Colton gen isit la jis yo ile apeti ou, 1098 00:49:55,250 --> 00:49:58,442 kite m 'ale pi devan epi jete moute sou ekran an gwo isit la. 1099 00:49:58,442 --> 00:49:59,400 Kite m 'touye limyè yo. 1100 00:49:59,400 --> 00:50:02,290 Colton, ou vle ale pi devan epi mete yo sou selilè ou pou yon moman 1101 00:50:02,290 --> 00:50:05,171 epi pou yo rive sou sou nan an presegondè nan sèn nan? 1102 00:50:05,171 --> 00:50:07,420 Epi ou vle project-- sa a se sa Colton wè. 1103 00:50:07,420 --> 00:50:10,560 >> Koulye a, Wi-Fi nan nan isit la se pa konsa pou sa fò pou aparèy sa a 1104 00:50:10,560 --> 00:50:13,870 ke sa a se super konvenkan, men Colton se literalman 1105 00:50:13,870 --> 00:50:15,710 nan kote sa a majik futurist. 1106 00:50:15,710 --> 00:50:16,796 Li sèlman wè yon sèl imaj. 1107 00:50:16,796 --> 00:50:19,920 Ou ap wè je kite la ak dwa l ' ke nan sèvo l 'yo ansanm wanga 1108 00:50:19,920 --> 00:50:22,260 nan yon twa dimansyon anviwònman sou figi l 'yo. 1109 00:50:22,260 --> 00:50:24,319 Li te jis chwazi yon opsyon meni isit la. 1110 00:50:24,319 --> 00:50:27,360 Se konsa, ankò, li te mete ekoutè sa a ak yon telefòn Samsung sou li sa a, se 1111 00:50:27,360 --> 00:50:29,080 wirelessly previzyon sou tèt nou an. 1112 00:50:29,080 --> 00:50:30,349 Koulye a, ou ap sou Mas, mwen panse ke? 1113 00:50:30,349 --> 00:50:31,140 COLTON: Mwen panse ke sa. 1114 00:50:31,140 --> 00:50:32,181 Mwen pa si [fèbl]. 1115 00:50:32,181 --> 00:50:34,250 [Ri] 1116 00:50:34,250 --> 00:50:36,374 >> DAVID Malan: Vire soti Mas gen meni sa yo. 1117 00:50:36,374 --> 00:50:41,590 >> COLTON: [fèbl] kèk fre kote si nou vle ale to-- 1118 00:50:41,590 --> 00:50:43,330 >> DAVID Malan: Ki kote nou vle ale? 1119 00:50:43,330 --> 00:50:45,837 >> COLTON: [fèbl] 1120 00:50:45,837 --> 00:50:48,170 DAVID Malan: Se pou nou wè kote Colton nan pran nou kounye a. 1121 00:50:48,170 --> 00:50:48,961 COLTON: [fèbl] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> DAVID Malan: Se konsa, gen nan anpil diferan kote ou ka pran tèt ou. 1124 00:50:56,380 --> 00:51:00,590 Genyen FAPIs atravè kote ou ka ekri jwèt oswa entèraksyon ki 1125 00:51:00,590 --> 00:51:01,950 kouri, finalman, sou telefòn la. 1126 00:51:01,950 --> 00:51:03,908 Se konsa, ou vrèman jis ekri yon app telefòn mobil. 1127 00:51:03,908 --> 00:51:06,380 Men, gras a lojisyèl an ak kapasite yo grafik, 1128 00:51:06,380 --> 00:51:08,765 kounye a Colton se nan sa a ti ti kras kaye. 1129 00:51:08,765 --> 00:51:10,515 Ak nan risk pou yo boulvèse tèt nou, 1130 00:51:10,515 --> 00:51:13,330 Colton epi mwen pral bwa alantou pou pandan y ap nan fen a nan klas isit la jodi a 1131 00:51:13,330 --> 00:51:14,300 si ou ta renmen vini ak jwe. 1132 00:51:14,300 --> 00:51:16,350 Epitou, n ap pote yo tounen nan semèn kap vini yo tou. 1133 00:51:16,350 --> 00:51:18,420 San yo pa pi lwen, tarde sa a, se li pou jodi a. 1134 00:51:18,420 --> 00:51:21,990 Nou pral wè ou an semèn pwochèn. 1135 00:51:21,990 --> 00:51:24,140 >> [MIZIK - RAGGA marasa, "BAD MAN"] 1136 00:51:24,140 --> 00:55:23,146