1 00:00:00,000 --> 00:00:02,405 >> [Daqq tal-mużika] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 DAVID Malan: Kull dritt, dan huwa CS50. 4 00:00:11,980 --> 00:00:13,740 Dan huwa l-aħħar ta 'tmien ġimgħat. 5 00:00:13,740 --> 00:00:15,887 U llum, nibdew biex timla xi biċċiet 6 00:00:15,887 --> 00:00:17,720 meta niġu għall-bini affarijiet fuq il-web. 7 00:00:17,720 --> 00:00:20,020 Allura, ifakkar li nhar it-Tnejn nonfqu ħafna aktar ħin 8 00:00:20,020 --> 00:00:22,530 fuq PHP, li huwa dan dinamiku lingwa ta 'programmar li 9 00:00:22,530 --> 00:00:26,872 tikri us output, fost oħrajn affarijiet, HTML u kontenut ieħor bħal 10 00:00:26,872 --> 00:00:27,830 li aħna ser trid tara. 11 00:00:27,830 --> 00:00:30,871 Iżda aħna ma verament ħares lejn kif aħna qed tmur biex jaħżnu kwalunkwe informazzjoni. 12 00:00:30,871 --> 00:00:34,477 Tabilħaqq, kważi xi li l super websajts interessanti li żżur illum 13 00:00:34,477 --> 00:00:36,560 għandhom xi tip ta 'database fuq il-aħħar lura, id-dritt? 14 00:00:36,560 --> 00:00:39,540 Facebook ċertament taħżen lottijiet ta 'data dwar lkoll u mħażen Gmail kollha 15 00:00:39,540 --> 00:00:40,210 ta 'emails tiegħek. 16 00:00:40,210 --> 00:00:44,150 >> U għalhekk, bosta siti oħra mhumiex biss kontenut statiku li l informattivi. 17 00:00:44,150 --> 00:00:45,640 Huwa fil-fatt dinamika b'xi mod. 18 00:00:45,640 --> 00:00:48,480 Inti tipprovdi input, taġġorna il-paġni għal nies oħra. 19 00:00:48,480 --> 00:00:50,620 Ikollok messaġġi, inti tibgħat messaġġi, u oħrajn. 20 00:00:50,620 --> 00:00:54,250 Hekk illum, aħna qrib lejn l-irfid ta 'proġett 21 00:00:54,250 --> 00:00:57,330 li inti ser adsa fis jmiss ġimgħa, CS50 Finanzi, li 22 00:00:57,330 --> 00:01:00,509 huwa attwalment se jkollhom inti tibni xi ħaġa mhux C, iżda fil-PHP. 23 00:01:00,509 --> 00:01:02,550 A website li jistenna ftit xi ħaġa bħal din 24 00:01:02,550 --> 00:01:05,810 li jippermetti li jixtru u jbiegħu istokkijiet li huma attwalment 25 00:01:05,810 --> 00:01:09,044 ser timxi fuq ħin reali dejta ta 'stokk minn Yahoo Finanzi. 26 00:01:09,044 --> 00:01:11,960 U għalhekk finalment, inti ser ikollok l- illużjoni għalik innifsek u għall-utenti 27 00:01:11,960 --> 00:01:14,550 li int fil-fatt jixtru u jbiegħu ħażniet u jkollna ħin kważi reali 28 00:01:14,550 --> 00:01:16,800 aġġornamenti, ġestjoni ta ' portafoll, li kollha 29 00:01:16,800 --> 00:01:20,310 se jeħtieġu li, finalment, database ta 'utenti. 30 00:01:20,310 --> 00:01:23,330 >> Allura, fi kliem tiegħek, speċjalment jekk int ma 31 00:01:23,330 --> 00:01:25,670 super familjari mal-kompjuter xjenza jew databases, liema 32 00:01:25,670 --> 00:01:30,790 do you know database li tkun dritt issa, f'termini nontechnical? 33 00:01:30,790 --> 00:01:32,300 X'inhu dan? 34 00:01:32,300 --> 00:01:36,882 Kif tiddeskrivi lilha għal roommate jew xi ħabib? 35 00:01:36,882 --> 00:01:40,100 >> UDJENZA: [inaudible] informazzjoni [inaudible] 36 00:01:40,100 --> 00:01:44,430 >> DAVID Malan: Allura, lista ta 'informazzjoni, jew store-- lista ta 'informazzjoni 37 00:01:44,430 --> 00:01:47,160 li inti tista 'tixtieq li taħżen dwar xi ħaġa, bħal utent. 38 00:01:47,160 --> 00:01:50,190 U liema do utenti jkollhom assoċjati magħhom? 39 00:01:50,190 --> 00:01:53,160 Jekk int utent fuq Facebook jew Gmail, liema huma l-karatteristiċi 40 00:01:53,160 --> 00:01:54,940 li lkoll utenti jkollhom? 41 00:01:54,940 --> 00:01:58,530 Bħal, x'jista 'jkun xi wħud mill- kolonni fil-spreadsheet li aħna 42 00:01:58,530 --> 00:01:59,390 allużjoni aħħar darba? 43 00:01:59,390 --> 00:02:01,140 Minħabba darb'oħra, inti tista ' think ta 'database 44 00:02:01,140 --> 00:02:05,810 verament bħala fancy fajl Excel jew Google Spreadsheet jew Apple Numri fajl. 45 00:02:05,810 --> 00:02:08,280 >> Allura, x'taħseb ta meta taħseb ta 'utent? 46 00:02:08,280 --> 00:02:11,290 What do huma għandhom? 47 00:02:11,290 --> 00:02:11,790 Dak X'inhu? 48 00:02:11,790 --> 00:02:12,470 >> UDJENZA: A isem. 49 00:02:12,470 --> 00:02:13,303 >> DAVID Malan: A isem. 50 00:02:13,303 --> 00:02:16,840 Mela jekk isem, bħal, David Malan tkun l-isem ta 'xi utent. 51 00:02:16,840 --> 00:02:17,980 X'iktar ma l-utent għandhom? 52 00:02:17,980 --> 00:02:18,770 >> UDJENZA: An ID. 53 00:02:18,770 --> 00:02:19,561 >> DAVID Malan: An ID. 54 00:02:19,561 --> 00:02:23,320 Allura, bħal numru ta 'identifikazzjoni, bħal Harvard tiegħek ID jew Yale ID Net tiegħek jew bħalhom. 55 00:02:23,320 --> 00:02:24,923 X'iktar jista utent għandhom? 56 00:02:24,923 --> 00:02:25,890 >> UDJENZA: Password. 57 00:02:25,890 --> 00:02:29,240 >> DAVID Malan: A password, forsi indirizz, forsi numru tat-telefon, forsi 58 00:02:29,240 --> 00:02:30,050 email address. 59 00:02:30,050 --> 00:02:32,640 Allura, hemm għenieqed ta 'oqsma u dan tista tip ta 'spirali barra mill-kontroll 60 00:02:32,640 --> 00:02:34,760 malajr malli tibda twettiq, oh, ejja taħżen din 61 00:02:34,760 --> 00:02:36,190 u ejja jaħżnu dan u li. 62 00:02:36,190 --> 00:02:37,657 >> Imma kif nistgħu fil-fatt jagħmlu dan? 63 00:02:37,657 --> 00:02:39,740 Għalhekk għal darb'oħra, il-mudell mentali li jkollhom għal-lum kif aħna 64 00:02:39,740 --> 00:02:42,320 adsa fis SQL attwali, Strutturat Mistoqsija Lingwa, 65 00:02:42,320 --> 00:02:44,186 hija database li tidher bħal dan. 66 00:02:44,186 --> 00:02:45,310 Huwa biss ringieli u kolonni. 67 00:02:45,310 --> 00:02:48,309 U inti tista 'timmaġina Google ispreadsheets jew kwalunkwe numru ta 'programmi oħra. 68 00:02:48,309 --> 00:02:52,130 Imma x'hemm prinċipali dwar MySQL, li hija l- softwer tad-database aħna qed tmur għall-użu, 69 00:02:52,130 --> 00:02:54,920 l apertament liberament available-- użi Facebook 70 00:02:54,920 --> 00:02:59,200 u kull numru ta 'websites-- oħra database jaħżen affarijiet relationally. 71 00:02:59,200 --> 00:03:01,770 U database relazzjonali ifisser biss wieħed li litteralment 72 00:03:01,770 --> 00:03:03,672 imħażen tad-data tiegħu fir-ringieli u kolonni. 73 00:03:03,672 --> 00:03:04,630 Huwa sempliċi bħal dik. 74 00:03:04,630 --> 00:03:07,230 >> Għalhekk, anki xi ħaġa bħal Oracle li inti jista 'jkollok ġeneralment jinstemgħu ta' 75 00:03:07,230 --> 00:03:08,271 hija database relazzjonali. 76 00:03:08,271 --> 00:03:10,929 U taħtha il-barnuża, huwa jaħżen data fir-ringieli u kolonni. 77 00:03:10,929 --> 00:03:12,970 U Oracle tariffi inti ħafna flus biex jagħmlu dan, 78 00:03:12,970 --> 00:03:15,550 billi tariffi MySQL inti xejn għall-istess. 79 00:03:15,550 --> 00:03:18,790 Allura, SQL se tagħtina mill-anqas erba 'operazzjonijiet. 80 00:03:18,790 --> 00:03:23,190 Il-ħila li tagħżel data, bħal read data, daħħal, tħassar, u taġġorna data. 81 00:03:23,190 --> 00:03:25,525 Fi kliem ieħor, dawn huma verament l-erba 'operazzjonijiet ewlenin 82 00:03:25,525 --> 00:03:28,950 li ser inessu bidla Jittieħed f'dawk ringieli u kolonni. 83 00:03:28,950 --> 00:03:33,250 >> L-għodda li aħna ser tuża llum speċjalment biex jitgħallmu SQL u jilagħbu magħha 84 00:03:33,250 --> 00:03:34,627 terġa tissejjaħ MyAdmin PHP. 85 00:03:34,627 --> 00:03:35,460 Huwa web għodda bbażata. 86 00:03:35,460 --> 00:03:38,200 Koinċidenza Total li Huwa bil-miktub fil-PHP. 87 00:03:38,200 --> 00:03:42,400 Iżda li għaddej biex tagħtina grafika user interface sabiex inkunu nistgħu attwalment 88 00:03:42,400 --> 00:03:46,054 joħolqu dawn ringieli u kolonni u mbagħad tkellem lilhom permezz kodiċi. 89 00:03:46,054 --> 00:03:47,970 Allura, ejja issa tibda dak li naħseb huwa franchement 90 00:03:47,970 --> 00:03:51,000 tip tal-proċess gost ta ' bini tal-aħħar lura ta 'websajts, 91 00:03:51,000 --> 00:03:54,580 il-partijiet li l-utenti ma jagħmlux dan tara, iżda b'mod kostanti jagħmlu kura dwar, 92 00:03:54,580 --> 00:03:56,170 għaliex dan huwa pjuttost ta 'data għaddej. 93 00:03:56,170 --> 00:03:59,570 Allura, simili għal C u ftit inqas bħal PHP, 94 00:03:59,570 --> 00:04:04,954 SQL, jew database li jappoġġja SQL, għandha tipi tal-anqas din id-data 95 00:04:04,954 --> 00:04:05,870 u għenieqed ta 'oħrajn. 96 00:04:05,870 --> 00:04:08,107 CHAR, varchar, INT, BIGINT, Deċimali, u dateTime. 97 00:04:08,107 --> 00:04:09,940 U hemm ħaġa waħda mazz ta 'fatturi oħra, 98 00:04:09,940 --> 00:04:11,940 imma ejja tagħmel dan billi Bħala eżempju attwali. 99 00:04:11,940 --> 00:04:16,450 >> Jien se jmorru fil CS50 IDE fejn, bil-quddiem, stajt illoggjat 100 00:04:16,450 --> 00:04:19,372 u Stajt ukoll żar URL għall din l-għodda msejħa PHP MyAdmin. 101 00:04:19,372 --> 00:04:22,580 U fil-problema stabbiliti seba ', aħna ser jgħidlek inti eżattament kif tikseb din l-interfaċċa 102 00:04:22,580 --> 00:04:23,200 kif ukoll. 103 00:04:23,200 --> 00:04:25,640 Min-rokna ta 'fuq tax-xellug, Avviż jgħid lecture. 104 00:04:25,640 --> 00:04:27,610 U dan ifisser biss li bil-quddiem, I ħolqot 105 00:04:27,610 --> 00:04:31,360 database imsejħa lecture vojta li m'għandha l-ebda spreadsheets fil encore. 106 00:04:31,360 --> 00:04:32,600 M'hemm l-ebda ringieli u kolonni. 107 00:04:32,600 --> 00:04:34,308 Minħabba li l-ewwel Ħaġa aħna qed tmur biex tagħmel 108 00:04:34,308 --> 00:04:37,100 huwa tibda biex joħolqu tabella li għaddej biex jaħżnu utenti tagħna. 109 00:04:37,100 --> 00:04:39,100 >> Allura, litteralment fuq hawn lejn il-lemin, jien 110 00:04:39,100 --> 00:04:42,070 ser jgħidlek-database Irrid tabella msejħa Utenti. 111 00:04:42,070 --> 00:04:44,845 Allura, dan huwa bħall-fajl li I tixtieq li taħżen kollha ta 'data tiegħi fil. 112 00:04:44,845 --> 00:04:45,720 U kemm kolonni? 113 00:04:45,720 --> 00:04:47,740 Well, ejja jżommha sempliċi għal issa. 114 00:04:47,740 --> 00:04:51,855 I biss tixtieq li taħżen bħal username u l-isem għall-utent. 115 00:04:51,855 --> 00:04:53,020 Aħna ser tibda żgħar. 116 00:04:53,020 --> 00:04:55,370 So, I tixtieq żewġ kolonni totali. 117 00:04:55,370 --> 00:04:57,360 U jien ser jimxi 'l quddiem u kklikkja Go. 118 00:04:57,360 --> 00:04:59,210 U mbagħad, għal dawn kolonni, dak li jien ser 119 00:04:59,210 --> 00:05:04,576 biex do-- jekk dan internet cooperates-- id-dritt, 120 00:05:04,576 --> 00:05:05,950 hekk aħna qed tmur biex tipprova li għal darb'oħra. 121 00:05:05,950 --> 00:05:09,180 Jien ser tinħoloq tabella msejħa Utenti b'żewġ kolonni, ikklikkja Go, OK. 122 00:05:09,180 --> 00:05:10,520 Issa konna ltqajna verament mgħaġġel. 123 00:05:10,520 --> 00:05:12,065 Grazzi, tajjeb ħafna isir. 124 00:05:12,065 --> 00:05:14,440 Kull dritt, hekk dak li irridu dawn il-kolonni li għandu jissejjaħ? 125 00:05:14,440 --> 00:05:16,080 >> Għalhekk, wieħed għaddej biex jiġu msejħa Username. 126 00:05:16,080 --> 00:05:19,480 Allura, kollha nara here-- u l-interface franchement gets ftit ikrah eventwalment, 127 00:05:19,480 --> 00:05:21,270 ladarba tibda ittajpjar f'dan data kollha. 128 00:05:21,270 --> 00:05:27,450 Imma x'hemm sbieħ huwa li tip ta ' paradossalment, jien ħolqien kolonni, 129 00:05:27,450 --> 00:05:29,977 iżda l-għodda għandha foolishly stabbiliti minnhom fir-ringieli 130 00:05:29,977 --> 00:05:31,560 sabiex I tista 'tikkonfigura dawn il-kolonni. 131 00:05:31,560 --> 00:05:33,550 Allura, hemm żewġ blanks taħtu Isem. 132 00:05:33,550 --> 00:05:36,180 U waħda minn dawn l-oqsma I tixtieq li jissejjaħ Username, 133 00:05:36,180 --> 00:05:38,000 u l-qasam oħra nixtieq li sejħa Isem. 134 00:05:38,000 --> 00:05:40,340 >> U issa I għandhom jagħżlu tipi ta 'data għal dawn l-affarijiet. 135 00:05:40,340 --> 00:05:42,330 Allura, filwaqt li fl-Excel u Spreadsheets Google, 136 00:05:42,330 --> 00:05:45,531 jekk inti tixtieq kolonna, inti litteralment biss it-tip Isem jew Username, hit Ikteb. 137 00:05:45,531 --> 00:05:48,030 Forsi inti tagħmel dan wiċċ bold biss għaċ-ċarezza, iżda li dan. 138 00:05:48,030 --> 00:05:50,140 Inti ma jispeċifikawx il- tipi tal-kolonni. 139 00:05:50,140 --> 00:05:53,790 Issa fil Google Spreadsheets jew Excel, inti jista tispeċifika kif id-data hija mogħtija. 140 00:05:53,790 --> 00:05:58,120 Inti tista 'tmur għall-menu Format, u inti tista 'tispeċifika juru dan is-sinjal dollaru simili, 141 00:05:58,120 --> 00:05:59,900 juru dan bħal valur b'punt li jvarja. 142 00:05:59,900 --> 00:06:01,990 >> Għalhekk, huwa simili fl-ispirtu li li dak li aħna qed waslu biex jagħmlu, 143 00:06:01,990 --> 00:06:04,740 iżda dan huwa attwalment għaddejjin seħħ id-data li tkun ċertu tip. 144 00:06:04,740 --> 00:06:07,750 Issa, anki jekk mument ilu I qal hemm tipi ta 'data biss ftit, 145 00:06:07,750 --> 00:06:11,120 hemm attwalment lott kollu, u dawn qed 146 00:06:11,120 --> 00:06:12,910 fi gradi ta 'speċifiċità li jvarjaw. 147 00:06:12,910 --> 00:06:14,970 U bħala twarrib, inti tista 'anki tagħmel affarijiet fancy 148 00:06:14,970 --> 00:06:17,520 bħal ġeometriji ħażna ġewwa ta 'database. 149 00:06:17,520 --> 00:06:19,250 Inti jista 'jaħżen affarijiet bħal GPS koordinati 150 00:06:19,250 --> 00:06:22,420 u attwalment issib, matematikament, punti li huma qrib lill-oħrajn. 151 00:06:22,420 --> 00:06:24,128 Iżda aħna qed tmur biex iżommu din super sempliċi 152 00:06:24,128 --> 00:06:26,800 u jitla 'sa hawn, kollha l-hekk imsejħa tipi sekwenza. 153 00:06:26,800 --> 00:06:29,240 >> Allura, hawn lista ta ' mazz sħiħ ta 'għażliet. 154 00:06:29,240 --> 00:06:32,740 CHAR, varchar, TINYTEXT, MEDIUMTEXT, LONGTEXT. 155 00:06:32,740 --> 00:06:34,110 U huwa tip ta 'kbira. 156 00:06:34,110 --> 00:06:37,610 U sfortunatament, xi ftit paradossalment sa C, 157 00:06:37,610 --> 00:06:40,120 a CHAR mhuwiex verament CHAR. 158 00:06:40,120 --> 00:06:44,170 Jekk inti tispeċifika fid-database dak it-tip tad-data tiegħek huwa CHAR, 159 00:06:44,170 --> 00:06:47,390 dan ifisser li iva, huwa CHAR, imma hija Chars wieħed jew aktar. 160 00:06:47,390 --> 00:06:49,630 U għandek tispeċifika kif Chars ħafna inti tixtieq. 161 00:06:49,630 --> 00:06:51,636 Allura, x'hemm tipiku tul għal username? 162 00:06:51,636 --> 00:06:52,760 Hemm limitu tipikament? 163 00:06:52,760 --> 00:06:53,920 >> UDJENZA: [inaudible] 164 00:06:53,920 --> 00:06:55,050 >> DAVID Malan: 16 forsi? 165 00:06:55,050 --> 00:06:55,990 Xi haga hekk. 166 00:06:55,990 --> 00:06:57,948 You know, lura fil- jum, li jintuża biex tkun tmienja. 167 00:06:57,948 --> 00:07:00,289 Xi kultant huwa 16, kultant huwa saħansitra aktar minn dak. 168 00:07:00,289 --> 00:07:02,080 U għalhekk, dan ma ifisser jagħtu me CHAR wieħed. 169 00:07:02,080 --> 00:07:04,730 Dan ifisser I biss għandhom jispeċifikaw it-tul tal-qasam, 170 00:07:04,730 --> 00:07:07,402 u issa I jista 'jgħid xi ħaġa simili 16. 171 00:07:07,402 --> 00:07:08,610 U hemm kummerċ off hawn. 172 00:07:08,610 --> 00:07:11,360 Allura, aħna ser tara fil-mument li dan ifisser wieħed, 173 00:07:11,360 --> 00:07:14,620 kull username għandu jkun 16 karattru. 174 00:07:14,620 --> 00:07:18,720 Iżda stenna minuta, M-A-L-A-N. Jekk dan huwa username tiegħi u jien biss jużaw ħames, 175 00:07:18,720 --> 00:07:23,070 dak tipproponi li d-database tagħmel għall-11 karattri oħra li 176 00:07:23,070 --> 00:07:24,471 Stajt riżervati spazju għall? 177 00:07:24,471 --> 00:07:25,220 X'taghmel? 178 00:07:25,220 --> 00:07:26,480 >> UDJENZA: [inaudible] 179 00:07:26,480 --> 00:07:27,160 >> DAVID Malan: Yeah, just jagħmluhom kollha null. 180 00:07:27,160 --> 00:07:28,290 Jagħmluhom spazji. 181 00:07:28,290 --> 00:07:30,816 Iżda probabbilment null, so a ħafna żerijiet backslash. 182 00:07:30,816 --> 00:07:33,190 Għalhekk, fuq naħa waħda, konna issa għamel żgur li username tiegħi 183 00:07:33,190 --> 00:07:34,780 jistax ikun hemm aktar minn 16 karattru. 184 00:07:34,780 --> 00:07:37,590 U n-naħa flip ta 'dan huwa li jekk kelli isem verament twila 185 00:07:37,590 --> 00:07:39,940 jew riedu verament twila username bħal xi wħud minnkom 186 00:07:39,940 --> 00:07:44,840 guys jista 'jkollhom f'dik kulleġġ jew fil Yale.edu, ma jistax ikollok wieħed. 187 00:07:44,840 --> 00:07:47,177 U għalhekk fil-fatt, jekk inti stajt qatt irreġistrati għal websajt 188 00:07:47,177 --> 00:07:49,385 u ikollok għajjat ​​fil jgħidu password tiegħek twil wisq 189 00:07:49,385 --> 00:07:52,710 jew username tiegħek twil wisq, huwa sempliċement minħabba programmer, meta 190 00:07:52,710 --> 00:07:55,500 konfigurazzjoni database tiegħu jew tagħha, li ddeċieda f'dan il-qasam se 191 00:07:55,500 --> 00:07:57,150 ikun itwal minn dan it-tul. 192 00:07:57,150 --> 00:08:00,580 >> Dritt kollox, jekk iva, liema aħna tipproċedi biex insemmu? 193 00:08:00,580 --> 00:08:05,240 Kemm għandu jkun twil ta ' Isem tal-bniedem tipiku jkun? 194 00:08:05,240 --> 00:08:07,492 Kemm karattri, 16? 195 00:08:07,492 --> 00:08:09,450 Jien guessing nistgħu issib xi ħadd f'din il-kamra 196 00:08:09,450 --> 00:08:13,210 fejn mill-ewwel plus tiegħu jew tagħha aħħar isem huwa itwal minn 16 karattru. 197 00:08:13,210 --> 00:08:14,850 Allura, x'hemm aħjar minn dik, 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 Akbar? 201 00:08:20,350 --> 00:08:20,980 30? 202 00:08:20,980 --> 00:08:21,855 >> UDJENZA: [inaudible] 203 00:08:21,855 --> 00:08:23,700 DAVID Malan: 5000, oh Alla tiegħi. 204 00:08:23,700 --> 00:08:26,309 Allura, li probabbilment deċenti ta 'fuq marbuta, nistgħu ngħidu. 205 00:08:26,309 --> 00:08:28,350 U hawn aħna tip ta 'jkollhom tagħmel sejħa sentenza. 206 00:08:28,350 --> 00:08:30,400 Bħal, hemm ebda tweġiba t-tajba hawn. 207 00:08:30,400 --> 00:08:32,740 Infinita ma tantx huwa possibbli, għaliex aħna qed eventwalment 208 00:08:32,740 --> 00:08:34,781 ser have-- aħna qed ser jispiċċaw ta 'memorja. 209 00:08:34,781 --> 00:08:36,909 Allura, aħna għandna biex jagħmlu sentenza sejħa f'xi punt. 210 00:08:36,909 --> 00:08:41,010 >> Komuni ħafna tkun, per eżempju, li use-- u let me tispeċifika CHAR hawn 211 00:08:41,010 --> 00:08:46,050 kif before-- 255 kien litteralment il- limitu massimu fuq dan is-software database 212 00:08:46,050 --> 00:08:46,700 snin ilu. 213 00:08:46,700 --> 00:08:48,575 U għalhekk, ħafna bnedmin se biss jgħidu, multa. 214 00:08:48,575 --> 00:08:49,420 255 tal-limitu. 215 00:08:49,420 --> 00:08:50,620 Ejja biss jużaw il-massimu. 216 00:08:50,620 --> 00:08:51,870 U dan huwa pretty redikoli. 217 00:08:51,870 --> 00:08:55,060 Bħal, jekk int ittajpjar xi ħadd huwa isem għal 200 karattru plus, 218 00:08:55,060 --> 00:08:56,140 li ftit redikola. 219 00:08:56,140 --> 00:08:59,624 >> Iżda, ftakar li ASCII mhuwiex l-unika sistema għall-karattri. 220 00:08:59,624 --> 00:09:01,540 U għalhekk, speċjalment Ħafna lingwi Asjatiċi 221 00:09:01,540 --> 00:09:04,248 fejn hemm karattri ma nistgħux jesprimu fuq tastieri bħall-Istati Uniti tiegħi 222 00:09:04,248 --> 00:09:08,209 tastiera, xi karattri attwalment jieħdu 16 bits minflok tmienja bits. 223 00:09:08,209 --> 00:09:10,250 U għalhekk, dan fil-fatt mhux kollha li irraġonevoli 224 00:09:10,250 --> 00:09:12,250 li għandna bżonn aktar ispazju jekk irridu li tajbin 225 00:09:12,250 --> 00:09:16,252 karattri akbar mill-Istati Uniti ħafna dawk iċċentrati konna tendenza li jiddiskutu. 226 00:09:16,252 --> 00:09:17,460 Għalhekk, għandna bżonn xi rbit għoli. 227 00:09:17,460 --> 00:09:21,470 I do not know liema l-aħjar waħda hija, iżda 255 huwa ġeneralment wieħed komuni. 228 00:09:21,470 --> 00:09:22,700 25 iħoss baxx. 229 00:09:22,700 --> 00:09:23,857 16, 32 tħoss baxx. 230 00:09:23,857 --> 00:09:25,690 Nixtieq żball fuq in-naħa ta 'xi ħaġa ogħla. 231 00:09:25,690 --> 00:09:27,330 Iżda hemm kummerċ off, bħal dejjem. 232 00:09:27,330 --> 00:09:31,902 X'inhu l-, forsi, ovvju kummerċ off li jiġi rriżervat 255 Chars 233 00:09:31,902 --> 00:09:33,360 għall-isem ta 'kulħadd fid-database tiegħi? 234 00:09:33,360 --> 00:09:34,230 >> UDJENZA: [inaudible] 235 00:09:34,230 --> 00:09:34,510 >> DAVID Malan: X'hemm li? 236 00:09:34,510 --> 00:09:35,430 >> UDJENZA: [inaudible] 237 00:09:35,430 --> 00:09:37,138 >> DAVID Malan: Huwa lott ta 'memorja, right? 238 00:09:37,138 --> 00:09:42,280 M-A--L A-N. I għadek moħlija 250 karattri biss biex jaħżnu l-isem tiegħi 239 00:09:42,280 --> 00:09:46,000 defensively, biss fil-każ li xi ħadd fil-klassi għandha isem verament twila. 240 00:09:46,000 --> 00:09:47,940 Li tidher qisha tradeoff żejjed. 241 00:09:47,940 --> 00:09:52,040 >> Allura, jirriżulta li SQL, din il-lingwa database, 242 00:09:52,040 --> 00:09:55,480 fil-fatt jappoġġja xi ħaġa imsejħa varchar, jew varjabbli CHAR. 243 00:09:55,480 --> 00:09:59,390 U dan huwa tip ta 'sbieħ f'dak dan jippermettilek li tispeċifika mhux fiss 244 00:09:59,390 --> 00:10:01,900 wisa ', iżda, wisa varjabbli. 245 00:10:01,900 --> 00:10:05,060 U b'mod aktar speċifiku, ta ' wisa 'massima tal-qasam. 246 00:10:05,060 --> 00:10:08,901 Allura, dan ifisser li isem jista tkun aktar minn 250 karattru, 247 00:10:08,901 --> 00:10:10,150 imma tista 'ċertament tkun inqas. 248 00:10:10,150 --> 00:10:11,733 U d-database se tkun intelliġenti. 249 00:10:11,733 --> 00:10:14,860 Jekk inti tpoġġi fil M-A-L-A-N, huwa biss ser tuża ħames, 250 00:10:14,860 --> 00:10:18,120 forsi sitt bytes għall like karattru null batuta, 251 00:10:18,120 --> 00:10:23,330 u ma jonfqu addizzjonali 249 jew 250 bytes bla bżonn. 252 00:10:23,330 --> 00:10:27,380 >> Allura, din tidher qisha I għandhom bdew ma 'din l-istorja. 253 00:10:27,380 --> 00:10:29,140 Imma dejjem hemm tradeoff. 254 00:10:29,140 --> 00:10:33,024 Allura, min-naħa waħda, username stajt speċifikat li tkun jsibuha ikkodifikat f'livell 16, 255 00:10:33,024 --> 00:10:34,940 u forsi li ma kienx is-sejħa dritt, forsi 256 00:10:34,940 --> 00:10:40,040 huwa, iżda għaliex ma jużawx VARCHARs għal kollox? 257 00:10:40,040 --> 00:10:42,020 >> Jeżisti għal raġuni. 258 00:10:42,020 --> 00:10:46,200 Għaliex ma jużawx VARCHARs għal kull qasam li t-tul inti ma taf minn qabel 259 00:10:46,200 --> 00:10:48,180 jekk jidher li tkun ħaġa kbira, id-dritt? 260 00:10:48,180 --> 00:10:50,482 Uża biss kif spazju kemm għandek bżonn sa dan il-limitu? 261 00:10:50,482 --> 00:10:51,271 >> UDJENZA: anqas mgħaġġel. 262 00:10:51,271 --> 00:10:52,146 DAVID Malan: speller? 263 00:10:52,146 --> 00:10:53,120 UDJENZA: Jagħmilha aktar bil-mod? 264 00:10:53,120 --> 00:10:53,970 DAVID Malan: Oh, huwa kajman. 265 00:10:53,970 --> 00:10:55,720 Tajba, li kważi dejjem it-tweġiba, franchement. 266 00:10:55,720 --> 00:10:56,520 Bħal, x'inhu l-tradeoff? 267 00:10:56,520 --> 00:10:58,570 Hija la spejjeż aktar spazju jew li l-ispejjeż aktar ħin. 268 00:10:58,570 --> 00:11:00,111 Allura, f'dan il-każ, jista 'jkun aktar bil-mod. 269 00:11:00,111 --> 00:11:00,920 Għaliex? 270 00:11:00,920 --> 00:11:05,830 >> UDJENZA: [inaudible] determinazzjoni [inaudible]. 271 00:11:05,830 --> 00:11:06,640 >> DAVID Malan: Tajba. 272 00:11:06,640 --> 00:11:09,670 Allura, inti tista 'recall minn anki PSED5, playing mal-approċċ tiegħek 273 00:11:09,670 --> 00:11:12,750 għall-dizzjunarju, jekk għandek jalloka memorja dinamikament jew iżommu 274 00:11:12,750 --> 00:11:14,630 tkabbir ta 'buffer, li jista 'attwalment jiġi bil-mod. 275 00:11:14,630 --> 00:11:16,963 Jekk inti għandek sejħa malloc taħt il-barnuża u forsi 276 00:11:16,963 --> 00:11:19,610 dan huwa dak MySQL qed tagħmel, hekk żgur li jista 'jkun il-każ. 277 00:11:19,610 --> 00:11:22,430 U jekk taħseb mod lura għall PSet-- jew saħansitra 278 00:11:22,430 --> 00:11:26,340 ġimgħat żewġ, affarijiet meta għamilna bħall tfittxija binarju jew saħansitra tfittxija lineari, 279 00:11:26,340 --> 00:11:30,690 waħda mill-affarijiet sbieħ dwar kull kelma f'database jew kull kelma fil-kolonna 280 00:11:30,690 --> 00:11:33,690 jkunu eżattament l-istess tul, anke jekk mazz sħiħ ta 'dawk il-karattri 281 00:11:33,690 --> 00:11:37,390 huma vojta, hija li inti tista 'tuża aċċess bl-addoċċ fuq data tiegħek, id-dritt? 282 00:11:37,390 --> 00:11:40,310 >> Jekk inti taf li kull kelma hija 16 karattri bogħod, 283 00:11:40,310 --> 00:11:46,460 inti tista 'tuża aritmetika pointer, hekk li jitkellmu, u mur lilna 16, 32, 48, 64, 284 00:11:46,460 --> 00:11:49,589 u inti tista 'biss jaqbżu istantanjament billi jintuża aritmetika 285 00:11:49,589 --> 00:11:51,130 għal xi kliem fid-database tiegħek. 286 00:11:51,130 --> 00:11:54,280 Billi jekk huwa varchar, dak li inti minflok tagħmel? 287 00:11:54,280 --> 00:11:55,960 >> [PHONE Żarżir] 288 00:11:55,960 --> 00:11:58,680 >> Jekk huwa varchar, inti ma tistax tuża l-aċċess bl-addoċċ. 289 00:11:58,680 --> 00:12:01,341 Dak li għandek tfittex jew tagħmel? 290 00:12:01,341 --> 00:12:01,840 Yeah? 291 00:12:01,840 --> 00:12:03,240 >> UDJENZA: [inaudible] 292 00:12:03,240 --> 00:12:04,310 >> DAVID Malan: Ħares permezz tal-traċċa whole-- 293 00:12:04,310 --> 00:12:06,518 permezz tal-lista sħiħa infittxu dak li, x'aktarx? 294 00:12:06,518 --> 00:12:08,356 X'tip ta 'valur speċjali? 295 00:12:08,356 --> 00:12:09,230 UDJENZA: [inaudible] 296 00:12:09,230 --> 00:12:11,105 DAVID Malan: Ħarsa għall-Terminators nulla 297 00:12:11,105 --> 00:12:13,637 li jiddemarkaw s-separazzjoni ta 'kliem. 298 00:12:13,637 --> 00:12:15,720 Għalhekk għal darb'oħra, tradeoff, u hemm ebda tweġiba t-tajba. 299 00:12:15,720 --> 00:12:18,380 Iżda din hija fejn, speċjalment meta l-utenti tiegħek jiksbu jkunu differenti ħafna 300 00:12:18,380 --> 00:12:21,700 u t-tagħbija tiegħek fuq servers tiegħek, il- numru ta 'nies li jużaw jiġrilha għolja, 301 00:12:21,700 --> 00:12:23,650 dawn huma attwalment deċiżjonijiet nontrivial. 302 00:12:23,650 --> 00:12:26,640 Allura, nistgħu tħalli dawn għax, iżda ejja iscroll fuq il-lemin 303 00:12:26,640 --> 00:12:27,332 hawn. 304 00:12:27,332 --> 00:12:30,290 Issa, hemm koppja ta 'kolonni fejn irridu nkunu sejħa sentenza. 305 00:12:30,290 --> 00:12:35,170 Jagħmel sens li jippermettu s utent isem, username ta 'utent jew ta utent 306 00:12:35,170 --> 00:12:36,370 isem, li jkun null? 307 00:12:36,370 --> 00:12:37,610 Dan huwa, biss vojta. 308 00:12:37,610 --> 00:12:40,360 Iħoss ftit tagħmel sens, hekk jien mhux se jiċċekkja dawn il-kaxxi. 309 00:12:40,360 --> 00:12:42,670 Iżda jirriżulta fi database, inti tista 'tgħid, 310 00:12:42,670 --> 00:12:44,620 xi ħadd tista 'voluntarjament jkollhom dan il-valur. 311 00:12:44,620 --> 00:12:47,180 Din il-kolonna ma jkollux li attwalment ikun hemm. 312 00:12:47,180 --> 00:12:48,570 >> Issa, hemm dan drop down menu. 313 00:12:48,570 --> 00:12:50,810 U avviż jien xorta fl-ewwel filliera hemm, 314 00:12:50,810 --> 00:12:52,520 hekk jien jitkellem dwar username issa. 315 00:12:52,520 --> 00:12:56,290 U jirriżulta li database, b'differenza sempliċi spreadsheet sempliċi, 316 00:12:56,290 --> 00:12:58,520 għandu l-karatteristiċi qawwija msejħa indiċijiet. 317 00:12:58,520 --> 00:13:02,600 U indiċi huwa mod ta 'javżak l- database minn qabel li I l-bniedem 318 00:13:02,600 --> 00:13:03,900 am intelliġenti minn int. 319 00:13:03,900 --> 00:13:10,430 >> Naf liema tipi ta 'mistoqsijiet, tagħżel jew daħħal jew tħassar jew taġġorna, 320 00:13:10,430 --> 00:13:13,182 dan il-kodiċi tiegħi se jispiċċaw up tagħmel fuq id-database. 321 00:13:13,182 --> 00:13:14,390 Irrid li taqra ħafna ta 'data. 322 00:13:14,390 --> 00:13:15,681 Irrid li daħħal ħafna ta 'data. 323 00:13:15,681 --> 00:13:17,530 Irrid li kontinwament tħassar ħafna ta 'data. 324 00:13:17,530 --> 00:13:21,520 Jekk Naf li jien ser tkun aċċess qasam bħal Username ħafna, 325 00:13:21,520 --> 00:13:24,770 I tista 'tgħid l-preemptively database, I taf aktar milli suppost, 326 00:13:24,770 --> 00:13:29,220 u nixtieq li digriet li għandek indiċi f'dan il-qasam. 327 00:13:29,220 --> 00:13:33,200 Fejn indiċjar qasam jew kolonna ifisser li d-database bil-quddiem 328 00:13:33,200 --> 00:13:37,040 għandu jissellef xi ideat minn, bħal, ġimgħa erba 'u ħames u sitt persuni minn CS50 329 00:13:37,040 --> 00:13:39,240 u fil-fatt jibnu xi ħaġa bħal tfittxija binarja 330 00:13:39,240 --> 00:13:41,560 siġra jew xi ħaġa ġeneralment imsejħa siġra B 331 00:13:41,560 --> 00:13:43,410 li inti titgħallem fil-CS124 bħal klassi 332 00:13:43,410 --> 00:13:46,710 fil-Harvard, klassi algoritmi, jew kwalunkwe numru ta 'postijiet oħra. 333 00:13:46,710 --> 00:13:49,570 >> Id-database u l-smart nies li implimentaw dan 334 00:13:49,570 --> 00:13:53,880 se figura kif taħżen dik it-tabella ta 'informazzjoni 335 00:13:53,880 --> 00:13:57,061 fil-memorja sabiex tfittxijiet u operazzjonijiet oħra huma super fast. 336 00:13:57,061 --> 00:13:58,060 Inti ma għandekx tagħmel dan. 337 00:13:58,060 --> 00:14:00,640 Inti ma għandekx biex jimplimentaw tfittxija lineari jew tfittxija binarja 338 00:14:00,640 --> 00:14:03,300 jew jingħaqdu sort jew selezzjoni sort, xi li. 339 00:14:03,300 --> 00:14:06,590 Id-database ma għalik jekk inti tgħid dan preemptively indiċi f'dan il-qasam. 340 00:14:06,590 --> 00:14:09,100 >> U tista 'tara wisq, hemm xi karatteristiċi oħra 341 00:14:09,100 --> 00:14:11,010 nistgħu tell-database li tinforza. 342 00:14:11,010 --> 00:14:16,431 Liema jista jfisser jekk I jagħżlu Unique minn dan il-menu, biss intuwittivament? 343 00:14:16,431 --> 00:14:16,930 Yeah? 344 00:14:16,930 --> 00:14:17,889 >> UDJENZA: [inaudible] 345 00:14:17,889 --> 00:14:19,930 DAVID Malan: Yeah, il- username għandu jkun uniku. 346 00:14:19,930 --> 00:14:23,330 Huwa dan ħaġa tajba jew ħaġa ħażina għal database, għal websajt ma 'utenti? 347 00:14:23,330 --> 00:14:24,965 Jekk usernames jkun uniku? 348 00:14:24,965 --> 00:14:25,880 Yeah, probabbilment. 349 00:14:25,880 --> 00:14:27,800 Jekk dan huwa dak li l- qasam nużaw biex login, 350 00:14:27,800 --> 00:14:31,867 inti ma verament irridu li persuni li jkollhom l-istess jħossu jew l-istess username. 351 00:14:31,867 --> 00:14:33,700 Allura, jista 'jkollna l- database jinfurzaw dik hekk 352 00:14:33,700 --> 00:14:37,880 li issa fil-kodiċi PHP tiegħi jew kwalunkwe lingwa, I ma jkollhom, per eżempju, check 353 00:14:37,880 --> 00:14:41,490 neċessarjament ma dan username jeżistu qabel I let reġistru xi ħadd? 354 00:14:41,490 --> 00:14:46,690 Id-database mhux se let żewġ persuni msemmija David jew Malans jirreġistraw f'dan il-każ. 355 00:14:46,690 --> 00:14:50,030 >> U bħala twarrib, anke jekk din menu biss ihallik tagħżel waħda, 356 00:14:50,030 --> 00:14:54,550 indiċi uniku huwa wieħed li l- indiċjati għall-prestazzjoni super fast, 357 00:14:54,550 --> 00:14:56,100 iżda jinforza wkoll uniċità. 358 00:14:56,100 --> 00:14:58,850 U aħna ser terga 'lura għal dak l- oħra żewġ jfissru fi ftit mument. 359 00:14:58,850 --> 00:15:00,930 Sadanittant, jekk immur tieni ringiela tiegħi, li 360 00:15:00,930 --> 00:15:06,230 huwa l-isem tal-utent, għandi jispeċifika li l-isem għandu jkun uniku? 361 00:15:06,230 --> 00:15:09,550 Le, għaliex inti tista 'ċertament have-- hemm l-ebda tnejn David 362 00:15:09,550 --> 00:15:11,050 Malans f'din il-kamra, l-aktar probabbli. 363 00:15:11,050 --> 00:15:14,290 Imma jekk nagħżlu isem differenti, nistgħu ċertament, ħabtiet. 364 00:15:14,290 --> 00:15:16,130 >> Think lura hash tabelli u simili. 365 00:15:16,130 --> 00:15:18,604 Allura, aħna żgur ma jridux li jagħmlu l-qasam isem uniku. 366 00:15:18,604 --> 00:15:21,270 Allura, aħna qed biss ser jitilqu li bħala sing, sing, sing, xejn. 367 00:15:21,270 --> 00:15:22,660 U jien ser jitilqu kull ħaġa oħra biss. 368 00:15:22,660 --> 00:15:25,035 Tabilħaqq, ħafna minn dawn l-oqsma aħna mhux se jkollhom kura dwar. 369 00:15:25,035 --> 00:15:27,830 U meta jien lest biex jiffrankaw din, jekk l-internet tikkoopera, 370 00:15:27,830 --> 00:15:35,032 I ikklikkja Save, u ħafna, ħafna, ħafna bil-mod ma 'l-database nikseb ffrankati. 371 00:15:35,032 --> 00:15:37,240 U issa jien lura għal dan interface, li ċertament, 372 00:15:37,240 --> 00:15:38,680 huwa enormi fl-ewwel daqqa t'għajn. 373 00:15:38,680 --> 00:15:42,450 Imma kollha jien ser tagħmel hu li ikklikkja fuq l-utenti verbali in quċċata xellug. 374 00:15:42,450 --> 00:15:47,630 Jien ser jitla 'hawn, ikklikkja Utenti, u fil-kontumaċja, huwa 375 00:15:47,630 --> 00:15:50,180 tkun wettqet xi SQL, iżda aktar fuq li fil-mument. 376 00:15:50,180 --> 00:15:52,654 Hawn biss sommarju ta 'dak li għamilt. 377 00:15:52,654 --> 00:15:55,320 U ma joqogħdu jinkwetaw li inti tara isemmu ta Latin u Svediża hawn. 378 00:15:55,320 --> 00:16:00,490 Dawk huma biss l-default settings, minħabba MySQL oriġinarjament, 379 00:16:00,490 --> 00:16:04,000 jew PHP MyAdmin, wieħed miż-żewġ ġara li tkun miktuba minn xi persuni Svediż. 380 00:16:04,000 --> 00:16:06,100 Imma hija irrilevanti fil-każ tagħna hawn. 381 00:16:06,100 --> 00:16:08,280 >> Kull dritt, hekk għaliex huwa dan kollu interessanti? 382 00:16:08,280 --> 00:16:13,050 Jirriżulta, I tista 'daħħal data fi database billi tikteb kodiċi. 383 00:16:13,050 --> 00:16:15,940 U jien jimxi 'l quddiem u fil-fajl tiegħi hawn, jien 384 00:16:15,940 --> 00:16:19,000 se jimxi 'l quddiem u nippretendu simili dan huwa fili għall dik id-database, li 385 00:16:19,000 --> 00:16:23,040 mhuwiex fil-mument, iżda se jkun meta nikbru għall-problema stabbiliti sebgħa. 386 00:16:23,040 --> 00:16:25,640 U jien ser jimxi 'l quddiem u tesegwixxi funzjoni msejħa mistoqsija, 387 00:16:25,640 --> 00:16:28,730 li naghtuk fil-problema sett seba s kodiċi distribuzzjoni, li 388 00:16:28,730 --> 00:16:31,490 jieħu argument l-anqas waħda, li huwa biss sekwenza. 389 00:16:31,490 --> 00:16:33,460 A sensiela ta 'kodiċi SQL. 390 00:16:33,460 --> 00:16:36,700 Allura, int ser jitgħallmu kif jiktbu Strutturat Mistoqsija Lingwa. 391 00:16:36,700 --> 00:16:41,270 >> Jekk irrid li tiddaħħal ringiela ġdida fis tiegħi database minħabba xi ħadd ikun issottometta 392 00:16:41,270 --> 00:16:47,600 formola għall-kodiċi tiegħi, nixtieq litteralment jiktbu DAĦĦAL FIS-utenti li ġej 393 00:16:47,600 --> 00:16:52,800 oqsma: username, comma, isem, l-VALURI, 394 00:16:52,800 --> 00:16:57,480 u issa għandi bżonn biex tiddaħħal xi ħaġa bħall Malan, u kwotazzjoni, 395 00:16:57,480 --> 00:17:01,490 "David Malan." unquote U issa anki għal dawk familjari ma 'SQL, 396 00:17:01,490 --> 00:17:07,830 għaliex jien jużaw kwotazzjonijiet uniku ġewwa ta 'din is-sekwenza aħdar? 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 Liema jista 'jkun ir-raġuni hawn? 399 00:17:13,040 --> 00:17:14,609 >> Avviż Jien ko-mingling żewġ lingwi. 400 00:17:14,609 --> 00:17:18,099 Mistoqsija hija funzjoni PHP, iżda tieħu argument. 401 00:17:18,099 --> 00:17:21,740 U dan l-argument għandu innifsu jkun miktub f'lingwa oħra msejħa 402 00:17:21,740 --> 00:17:23,500 SQL, Strutturat Mistoqsija Lingwa. 403 00:17:23,500 --> 00:17:27,940 Allura, dak kollu li I għadek enfasizzat hawn 404 00:17:27,940 --> 00:17:30,380 hija din il-lingwa imsejħa SQL. 405 00:17:30,380 --> 00:17:36,290 Allura, x'hemm mal-kwotazzjonijiet uniku, biss bħala kontroll sanità malajr? 406 00:17:36,290 --> 00:17:37,324 Jimxi 'l quddiem. 407 00:17:37,324 --> 00:17:37,990 Huma qed kordi. 408 00:17:37,990 --> 00:17:41,590 Allura, kwotazzjoni, Malan unquote u kwotazzjoni, unquote David Malan huma kordi. 409 00:17:41,590 --> 00:17:45,210 U biss ħsieb intuwittivament issa, jafu dak li taf dwar C u PHP, 410 00:17:45,210 --> 00:17:50,220 għaliex ma I ma tagħmel dan, li normalment I kwotazzjonijiet doppja użati għall-kordi? 411 00:17:50,220 --> 00:17:52,310 Għaliex ma I ma trid tagħmel dan? 412 00:17:52,310 --> 00:17:52,810 Yeah? 413 00:17:52,810 --> 00:17:53,685 >> UDJENZA: [inaudible] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 DAVID Malan: Eżattament. 416 00:17:57,570 --> 00:17:59,653 Għaliex jien diġà jużaw kwotazzjonijiet doppja fuq il-mod 417 00:17:59,653 --> 00:18:01,929 barra tal-argument għall-funzjoni PHP, 418 00:18:01,929 --> 00:18:03,470 Nixtieq biss jikkonfondi l-interpretu. 419 00:18:03,470 --> 00:18:04,860 Dan mhux se tkun taf, ma dawn imorru flimkien? 420 00:18:04,860 --> 00:18:05,735 Do dawn imorru flimkien? 421 00:18:05,735 --> 00:18:06,810 Do dawn imorru flimkien? 422 00:18:06,810 --> 00:18:08,070 So, I talterna minflok. 423 00:18:08,070 --> 00:18:11,784 >> Jew I jistgħu jagħmlu xi ħaġa bħal din, kwotazzjoni backslash jew kwotazzjoni backslash. 424 00:18:11,784 --> 00:18:14,200 Franchement, li biss jibda jiksbu ħafna ma jistgħux jinqraw u ikrah. 425 00:18:14,200 --> 00:18:16,790 Iżda dan kieku jinkiseb l-istess riżultat ukoll. 426 00:18:16,790 --> 00:18:19,760 >> Għalhekk, jekk I kellhom tesegwixxi dan query issa, ejja ara dak li jiġri. 427 00:18:19,760 --> 00:18:22,740 Jien ser jimxi 'l quddiem issa u aktar minn tesegwixxi l-kodiċi PHP, li 428 00:18:22,740 --> 00:18:24,610 huwa fejn inti ser tilgħab fl problema sett sebgħa, 429 00:18:24,610 --> 00:18:27,200 Jien ser minflok tmur għall MyAdmin PHP. 430 00:18:27,200 --> 00:18:29,770 U jien ser manwalment biex tmur fil-tab SQL, 431 00:18:29,770 --> 00:18:31,580 u let me zoom fl fuq l-interface. 432 00:18:31,580 --> 00:18:34,007 U jien ser paste fil il-ħaġa I biss ittajpjat. 433 00:18:34,007 --> 00:18:36,090 U l-kodifikazzjoni kulur għandu nbidlu ftit issa, 434 00:18:36,090 --> 00:18:38,750 biss minħabba l-formati tal-programm affarijiet ftit differenti. 435 00:18:38,750 --> 00:18:41,960 Iżda avviż li kollha I ghamilt huwa Stajt qal, daħħal fis Utenti. 436 00:18:41,960 --> 00:18:45,790 Stajt speċifikat, imbagħad, fil virgola lista parenthesized separati ż-żewġ 437 00:18:45,790 --> 00:18:48,850 oqsma li nixtieq li daħħal, u imbagħad stajt litteralment qal valuri 438 00:18:48,850 --> 00:18:51,510 segwit minn paren ieħor, U allura l-żewġ valuri 439 00:18:51,510 --> 00:18:53,520 Irrid li plug-in, u issa għal miżura tajba, 440 00:18:53,520 --> 00:18:55,010 I ser jitqiegħdu b'semicolon fl-aħħar. 441 00:18:55,010 --> 00:18:56,570 Allura, dan mhux C. Dan mhux PHP. 442 00:18:56,570 --> 00:18:59,970 Dan issa huwa SQL, u jien pasta fis din il-web interface bbażati thats 443 00:18:59,970 --> 00:19:02,710 biss ser let me, malli I ikklikkja Go, 444 00:19:02,710 --> 00:19:08,060 teżegwixxi din il-mistoqsija dwar id-database tmexxija ġewwa tal IDE CS50. 445 00:19:08,060 --> 00:19:09,470 >> Allura dan huwa tajjeb. 446 00:19:09,470 --> 00:19:12,520 Avviż li qal ringiela waħda jiddaħħal, marru super fast, 447 00:19:12,520 --> 00:19:15,190 0.0054 sekondi biex jiddaħħal li data. 448 00:19:15,190 --> 00:19:16,610 Allura, li l-ħsejjes pretty b'saħħithom. 449 00:19:16,610 --> 00:19:19,350 Hija ifformattja mistoqsija tiegħi għalija hawn biss biex tara li 450 00:19:19,350 --> 00:19:21,730 fil-tip ta 'kulur kodifikati verżjoni. 451 00:19:21,730 --> 00:19:24,540 Imma issa jekk I ikklikkja Browse, avviż li, anki 452 00:19:24,540 --> 00:19:29,070 għalkemm hemm ħafna ta 'imbarazz fuq l-iskrin, il-mejda tiegħi issa għandha żewġ ringieli. 453 00:19:29,070 --> 00:19:30,700 >> Allura, let me imorru quddiem u jagħmlu ieħor. 454 00:19:30,700 --> 00:19:33,760 Minflok dan, let me mur l-tab SQL darb'oħra. 455 00:19:33,760 --> 00:19:40,723 U din id-darba jien ser daħħal xi ħaġa simili Rob u ismu se jkun Rob Bowden. 456 00:19:40,723 --> 00:19:42,330 Bowden. 457 00:19:42,330 --> 00:19:44,040 Ejja ikklikkja Save. 458 00:19:44,040 --> 00:19:46,140 Oops, pjuttost Go. 459 00:19:46,140 --> 00:19:48,890 >> Ikklikkja Browse darb'oħra, u issa Avviż Għandi żewġ ringieli. 460 00:19:48,890 --> 00:19:52,390 Allura, dan huwa biss kumpless b'mod aktar mod ta 'ftuħ Google ispreadsheets 461 00:19:52,390 --> 00:19:54,010 u biss ittajpjar filliera fi kolonna. 462 00:19:54,010 --> 00:19:57,070 Imma x'hemm importanti hu li issa għandna l-sintassi 463 00:19:57,070 --> 00:20:00,220 li biex jikteb il-kodiċi sabiex finalment, nistgħu attwalment 464 00:20:00,220 --> 00:20:01,790 jagħmlu xi u dan. 465 00:20:01,790 --> 00:20:05,380 Ifakkar li jappoġġja PHP varjabbli super globali. 466 00:20:05,380 --> 00:20:08,415 >> Dak li hu ġewwa ta 'dollaru sinjal jenfasizzaw IKOLLOK fil-PHP? 467 00:20:08,415 --> 00:20:10,290 Aħna ħa ħarsa lejn wieħed jew żewġ eżempji sempliċi. 468 00:20:10,290 --> 00:20:15,640 U fl PSet6, recall għandek bonjour dot PHP li juża din il-varjabbli. 469 00:20:15,640 --> 00:20:17,870 X'inhu jiġri fil hemmhekk? 470 00:20:17,870 --> 00:20:21,015 Jew x'inhu? 471 00:20:21,015 --> 00:20:22,522 A louder ftit. 472 00:20:22,522 --> 00:20:23,790 >> UDJENZA: [inaudible] 473 00:20:23,790 --> 00:20:25,030 >> DAVID Malan: Huwa borra żerriegħa tal array, li 474 00:20:25,030 --> 00:20:27,714 huwa biss mod fancy ta 'tgħid xi firxa li għandha pari b'valur ewlenin. 475 00:20:27,714 --> 00:20:28,880 U ċ-ċwievet mhumiex numerika. 476 00:20:28,880 --> 00:20:30,420 Huma qed kliem jew kordi. 477 00:20:30,420 --> 00:20:32,750 U speċifikament, liema huma dawk pari b'valur ewlenin? 478 00:20:32,750 --> 00:20:35,110 Fejn huma ġejjin minn? 479 00:20:35,110 --> 00:20:35,620 Jiddispjacini? 480 00:20:35,620 --> 00:20:36,994 >> UDJENZA: [inaudible] 481 00:20:36,994 --> 00:20:37,660 DAVID Malan: Nru? 482 00:20:37,660 --> 00:20:40,700 Fejn do dawk ewlenin pari b'valur jiġu minn? 483 00:20:40,700 --> 00:20:42,490 Say mill-ġdid? 484 00:20:42,490 --> 00:20:44,610 Għal darb'oħra? 485 00:20:44,610 --> 00:20:46,472 Am I-unika ħaġa f'seduta waħda? 486 00:20:46,472 --> 00:20:47,810 >> [Rires] 487 00:20:47,810 --> 00:20:49,042 >> Dak id-dritt, iva? 488 00:20:49,042 --> 00:20:50,435 >> UDJENZA: [inaudible] 489 00:20:50,435 --> 00:20:52,560 DAVID Malan: Yeah, huma ġejjin mill-sekwenza mistoqsija. 490 00:20:52,560 --> 00:20:55,380 Għalhekk, jekk inti kontrina fil-ħin biex meta konna lagħbu Google 491 00:20:55,380 --> 00:20:59,600 u konna marret għal mmejla Google.com tfittxija trade mark in kwistjoni q ugwali qtates, 492 00:20:59,600 --> 00:21:03,550 jekk I kellhom hit Ikteb u jekk Google ġew implimentati fil-PHP, 493 00:21:03,550 --> 00:21:07,017 Kodiċi PHP li Google kiteb jkollhom aċċess għal sinjal dollaru 494 00:21:07,017 --> 00:21:11,600 jenfasizzaw tikseb ġewwa minnhom hija essenzjali tissejjaħ Q u valur 495 00:21:11,600 --> 00:21:17,680 imsejħa qtates li jistgħu mbagħad jużaw użati biex jagħmlu tfittxija attwali mal. 496 00:21:17,680 --> 00:21:20,860 >> Allura, fil-fatt, dak li jien ser tagħmel issa hu li jmur lura għall-kodiċi PHP tiegħi 497 00:21:20,860 --> 00:21:23,140 li inti ser terġa tara aktar ta 'fil PSet7. 498 00:21:23,140 --> 00:21:25,440 U minflok ta 'fejn jitwaħħal fil-valuri kodifikati iebes li 499 00:21:25,440 --> 00:21:27,630 ma jidhru simili ħafna website dinamiku, 500 00:21:27,630 --> 00:21:30,680 Jien ser jagħtuk teaser ta liema kodiċi attwali tiegħek ser jagħmlu. 501 00:21:30,680 --> 00:21:32,854 Inti tpoġġi f'żewġ kwistjoni marki bħal dan. 502 00:21:32,854 --> 00:21:34,270 I do not know dak l-username hu. 503 00:21:34,270 --> 00:21:37,390 I do not know dak l- isem se tkun, 504 00:21:37,390 --> 00:21:39,470 imma I do know I tista ' tikseb minnhom dinamiku. 505 00:21:39,470 --> 00:21:43,420 >> Għalhekk, jekk il-kodiċi aħna qed miktub issa huwa il-kodiċi taħdem fuq servers Google, 506 00:21:43,420 --> 00:21:46,940 jew jekk dan huwa bonjour dot PHP, li tiġi ma PSet6, 507 00:21:46,940 --> 00:21:48,650 Jien ser jgħaddu fil il-funzjoni mistoqsija 508 00:21:48,650 --> 00:21:51,450 bħad printf, żewġ argumenti oħra. 509 00:21:51,450 --> 00:21:57,120 IKOLLOK, kwotazzjoni, username unquote, u IKOLLOK, kwotazzjoni, l-isem unquote. 510 00:21:57,120 --> 00:22:00,720 U issa, avviż dak il istruttura ġenerali huwa hawnhekk. 511 00:22:00,720 --> 00:22:03,320 Stajt qbilna fuq ix-xellug naħa tas-sejħa, 512 00:22:03,320 --> 00:22:05,480 din il-funzjoni tissejjaħ mistoqsija fil-PHP. 513 00:22:05,480 --> 00:22:08,160 I għad għandhom bħala l-ewwel argument, biss sensiela ta 'test. 514 00:22:08,160 --> 00:22:11,000 >> Iżda dan sekwenza tat-test huwa miktub fl-lingwa imsejjaħ SQL. 515 00:22:11,000 --> 00:22:12,616 U franchement, mhuwiex lingwa big. 516 00:22:12,616 --> 00:22:14,990 Aħna biss ser jitkellmu dwar formalment illum, tassew. 517 00:22:14,990 --> 00:22:17,031 U mbagħad fl problema stabbiliti seba ', hemm relattivament 518 00:22:17,031 --> 00:22:18,800 ftit karatteristiċi li aħna qed se lieva. 519 00:22:18,800 --> 00:22:22,530 Il trade marks in kwistjoni, għalkemm, tfisser plagg fil valur hawn u plug fil-valur ieħor 520 00:22:22,530 --> 00:22:23,130 hawn. 521 00:22:23,130 --> 00:22:26,010 U avviż, stajt naqset dak minn madwar id-kkritikat quote-- 522 00:22:26,010 --> 00:22:30,470 it-- madwar il-kwotazzjoni jimmarka din id-darba. 523 00:22:30,470 --> 00:22:34,930 Stajt titħalla barra l-kwotazzjoni marki madwar id-trade mark in kwistjoni, 524 00:22:34,930 --> 00:22:36,410 sorry, din id-darba. 525 00:22:36,410 --> 00:22:38,870 >> Allura, x'hemm sbieħ dwar dan marka kwistjoni karatteristika li 526 00:22:38,870 --> 00:22:42,830 PHP tendenza li jappoġġjaw, Ruby u Python u lingwi oħra, 527 00:22:42,830 --> 00:22:45,730 dan ifisser biss plug f'xi valur hawn u inti taf liema? 528 00:22:45,730 --> 00:22:48,300 Inti figura jekk l-użu kwotazzjonijiet uniku jew kwotazzjonijiet doppja. 529 00:22:48,300 --> 00:22:50,966 Ma jolqot lili ma 'dawk Dettalji intellettwalment uninteresting. 530 00:22:50,966 --> 00:22:53,780 Iżda, kun ċert li huwa korrett sabiex kodiċi tiegħi huwa finalment 531 00:22:53,780 --> 00:22:57,010 operattiv u sigur, li se jkollu tifsira qabel fit-tul. 532 00:22:57,010 --> 00:23:00,460 >> Issa, kemm argumenti totali, just biex ikunu ċari, huwa t-teħid funzjoni query? 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 Kull min jixtiequ li jivvutaw għal aktar minn tnejn? 535 00:23:07,581 --> 00:23:08,080 Tliet? 536 00:23:08,080 --> 00:23:10,001 Sure, għaliex? 537 00:23:10,001 --> 00:23:10,920 Għaliex tliet? 538 00:23:10,920 --> 00:23:12,305 >> UDJENZA: [inaudible] 539 00:23:12,305 --> 00:23:13,180 DAVID Malan: Eżattament. 540 00:23:13,180 --> 00:23:14,610 L-ewwel parti hija l-sekwenza. 541 00:23:14,610 --> 00:23:18,640 It-tieni argument huwa sinjal dollaru jenfasizzaw IKOLLOK username parentesi. 542 00:23:18,640 --> 00:23:21,950 U t-tielet argument huwa l- istess ħaġa, iżda biss l-isem. 543 00:23:21,950 --> 00:23:24,590 Allura fi kliem ieħor, issa jekk I kellhom formola tal-web 544 00:23:24,590 --> 00:23:27,149 li kellhom oqsma test, waħda għall username-utent, 545 00:23:27,149 --> 00:23:29,690 wieħed għal tiegħu jew l-isem tagħha, just bħal inti tara fil-website 546 00:23:29,690 --> 00:23:32,120 meta inti tirreġistra għal xi websajt, dan jista ' 547 00:23:32,120 --> 00:23:35,450 jkun il-kodiċi fuq il-aħħar lura li attwalment ma l-inserzjoni issa 548 00:23:35,450 --> 00:23:37,220 fid-database. 549 00:23:37,220 --> 00:23:40,870 >> Issa għall-kuntrarju, ejja fast quddiem. 550 00:23:40,870 --> 00:23:43,840 Ejja ngħidu utent issa huwa qtugħ fi u inti tixtieq 551 00:23:43,840 --> 00:23:48,860 li jikteb il-kodiċi PHP li l-kontrolli jekk il-persuna li jinsab biss illoggjat 552 00:23:48,860 --> 00:23:52,250 huwa attwalment utent, inti tista ' jużaw sintassi pretty sempliċi. 553 00:23:52,250 --> 00:23:55,832 Tista 'tgħid TAGĦŻEL, ejja ngħidu star, fejn star tfisser dak kollu. 554 00:23:55,832 --> 00:23:57,540 I do not know dak I trid, hekk biss jagħtu me 555 00:23:57,540 --> 00:24:01,585 l-kolonni mit-tabella imsejħa utenti meta, u dan huwa sbieħ. 556 00:24:01,585 --> 00:24:03,710 Agħżel jappoġġja x'hemm imsejħa relattivi, li hija 557 00:24:03,710 --> 00:24:06,630 bħal mod ta 'kwalifikazzjoni dak li trid. 558 00:24:06,630 --> 00:24:10,590 Fejn username ugwali kwotazzjoni, unquote Malan. 559 00:24:10,590 --> 00:24:13,680 Allura hawnhekk ukoll, stajt inkorporati ġewwa l-argument 560 00:24:13,680 --> 00:24:16,110 għal funzjoni PHP, linja ta 'kodiċi SQL. 561 00:24:16,110 --> 00:24:18,680 U dak il-kodiċi SQL dan ħin huwa litteralment tmur 562 00:24:18,680 --> 00:24:21,790 ta 'tiftix għal kwotazzjoni, unquote Malan. 563 00:24:21,790 --> 00:24:24,420 >> Issa dak li mhux kollha li utli, hekk jien ser skip li 564 00:24:24,420 --> 00:24:28,650 u jien ser poġġejt dan il-ponta minn Brady, u jmorru 565 00:24:28,650 --> 00:24:30,990 u plug-in minflok kwistjoni mark hawn. 566 00:24:30,990 --> 00:24:33,290 Għalhekk, biss li jkun ċar, liema għandhom jissekondaw argument tiegħi 567 00:24:33,290 --> 00:24:37,480 jiġu jekk xi ħadd għadu kif illoggjat u I jridu jiċċekkjaw jekk hu jew hi attwalment 568 00:24:37,480 --> 00:24:39,265 utent? 569 00:24:39,265 --> 00:24:40,140 UDJENZA: [inaudible] 570 00:24:40,140 --> 00:24:40,890 DAVID Malan: Yeah. 571 00:24:40,890 --> 00:24:44,120 Nisma dollaru jenfasizzaw sinjal IKOLLOK kwotazzjoni, username unquote. 572 00:24:44,120 --> 00:24:50,040 U li għandhom jirritornaw lill me kwalunkwe mill-ringieli fid-database tiegħi 573 00:24:50,040 --> 00:24:51,986 li jkollhom username ta Malan. 574 00:24:51,986 --> 00:24:54,860 Issa nisperaw, jien ser terġa 'lura żero jekk l Malan qatt kien hawn, 575 00:24:54,860 --> 00:24:56,290 jew wieħed jekk ikollu. 576 00:24:56,290 --> 00:24:59,026 I ma għandhom jingħataw lura tnejn jew tlieta jew erba '. 577 00:24:59,026 --> 00:24:59,526 Għaliex? 578 00:24:59,526 --> 00:25:00,220 >> UDJENZA: [inaudible] 579 00:25:00,220 --> 00:25:01,120 >> DAVID Malan: I said uniku, id-dritt? 580 00:25:01,120 --> 00:25:01,750 Sempliċi raġuni. 581 00:25:01,750 --> 00:25:04,030 Minħabba I qal li ltqajna biex tkun unika, biss loġikament, 582 00:25:04,030 --> 00:25:07,940 inti tista 'biss ikollha żero jew wieħed Malans f'din it-tabella database partikolari. 583 00:25:07,940 --> 00:25:10,965 Issa bħala twarrib, biss sabiex inti stajt tidher dan, anki jekk I iżommu jużaw IKOLLOK 584 00:25:10,965 --> 00:25:14,350 u anki jekk PSet6 jintuża biss IKOLLOK, inti tista 'ċertament POST. 585 00:25:14,350 --> 00:25:17,212 U tfakkar li hija ieħor Post teknika għall-preżentazzjoni ta 'informazzjoni 586 00:25:17,212 --> 00:25:19,170 minn forma, iżda ma juru up fil-URL. 587 00:25:19,170 --> 00:25:22,690 Huwa ftit aktar sigur ċertament għal affarijiet simili usernames u passwords, 588 00:25:22,690 --> 00:25:25,210 li PSet7 se, fil-fatt, jinvolvu. 589 00:25:25,210 --> 00:25:28,130 >> Allura, ejja tagħmel dan fil-PHP MyAdmin u tara x'jiġri. 590 00:25:28,130 --> 00:25:30,020 Jien se jmorru biex tab MySQL. 591 00:25:30,020 --> 00:25:34,450 U tinnota li l-valur awtomatiku għall PHP MyAdmin, just biex jipprova jkun utli, 592 00:25:34,450 --> 00:25:37,050 huwa li tagħżel star minn utenti fejn ikunu. 593 00:25:37,050 --> 00:25:39,430 Ukoll, wieħed huwa dejjem veru, hekk dan għandu l-iblah effettiv 594 00:25:39,430 --> 00:25:40,400 ta 'ftit tagħżel kollox. 595 00:25:40,400 --> 00:25:42,691 Imma jien ser tkun ftit aktar pedantic u manwalment 596 00:25:42,691 --> 00:25:45,920 tip out star jintgħażlu minn utenti. 597 00:25:45,920 --> 00:25:48,294 >> Issa teknikament, inti tista ' nikkwota l-isem tat-tabelli. 598 00:25:48,294 --> 00:25:50,460 Huwa rari li inti għandek, iżda tinnota dawn mhumiex 599 00:25:50,460 --> 00:25:52,240 kwotazzjonijiet normali tiegħek fuq it-tastiera Istati Uniti. 600 00:25:52,240 --> 00:25:54,760 Dan huwa l-hekk imsejħa backtick, li hija ġeneralment fuq il-naħa tax-xellug 601 00:25:54,760 --> 00:25:56,000 kantuniera ta 'tastiera tiegħek. 602 00:25:56,000 --> 00:25:58,500 Iżda huwa rari li tkun taf fil-fatt bżonn li jolqot ma 'dan, 603 00:25:58,500 --> 00:25:59,950 so I taf biss jħalli barra minnhom xorta waħda. 604 00:25:59,950 --> 00:26:02,280 Allura issa, let me imorru quddiem u hit tmur. 605 00:26:02,280 --> 00:26:06,616 U kemm ringieli għandi nikseb lura meta I jagħżlu star minn utenti? 606 00:26:06,616 --> 00:26:08,407 >> UDJENZA: [inaudible] 607 00:26:08,407 --> 00:26:09,990 DAVID Malan: In-numru ta 'ringieli, żgur. 608 00:26:09,990 --> 00:26:12,390 Imma kemm f'dan istorja konkreti dritt issa? 609 00:26:12,390 --> 00:26:14,640 Tnejn, minħabba li kien hemm lili u kien hemm Rob. 610 00:26:14,640 --> 00:26:19,370 Għalhekk, jekk I ikklikkja Go, nara viżwalment li Stajt gotten lura, tabilħaqq, żewġ ringieli. 611 00:26:19,370 --> 00:26:22,060 Hemm ħafna ta 'imbarazz fuq il- screen, imma jien biss tara żewġ ringieli. 612 00:26:22,060 --> 00:26:28,580 B'kuntrast, jekk nagħmel dan mill-ġdid u tagħmel Star TAGĦŻEL MINN utenti, fejn username 613 00:26:28,580 --> 00:26:31,840 ugwali kwotazzjoni, unquote Malan, issa jekk I ikklikkja Go, 614 00:26:31,840 --> 00:26:33,970 Jien biss se terġa 'lura ringiela waħda. 615 00:26:33,970 --> 00:26:36,499 U fl-aħħar, jekk I do xi ħaġa bħal din, ejja ngħidu 616 00:26:36,499 --> 00:26:38,290 li jien ma care about jkollna kollox, 617 00:26:38,290 --> 00:26:41,020 li huwa tip ta 'bla sens issa, għaliex hemm biss żewġ kolonni. 618 00:26:41,020 --> 00:26:43,103 Mhuwiex simili jien għażla ammont kbir ta 'data. 619 00:26:43,103 --> 00:26:46,720 Ejja ngħidu I jimxi 'l quddiem u do TAGĦŻEL isem MILL 620 00:26:46,720 --> 00:26:51,990 utenti, fejn username jiġi daqs Malan, x'hemm sbieħ dwar SQL onestament, 621 00:26:51,990 --> 00:26:54,290 hija li verament ftit ma dak li inti tgħid li tagħmel. 622 00:26:54,290 --> 00:26:57,550 Huwa pretty konċiża, iżda inti litteralment biss għid dak li inti trid tagħmel. 623 00:26:57,550 --> 00:27:01,130 Isem Agħżel minn utenti fejn ikun il username ugwali Malan. 624 00:27:01,130 --> 00:27:03,440 U huwa verament huwa li espliċita. 625 00:27:03,440 --> 00:27:08,410 Allura, issa jekk I hit Go, kemm ringieli am I se terġa 'lura? 626 00:27:08,410 --> 00:27:10,770 Waħda, għaliex huwa biss Malan, nisperaw. 627 00:27:10,770 --> 00:27:13,100 Jew zero jekk huwa ma hemm, iżda wieħed maximally. 628 00:27:13,100 --> 00:27:17,610 >> U kemm kolonni se niġi lura? 629 00:27:17,610 --> 00:27:18,450 Kif kolonni ħafna? 630 00:27:18,450 --> 00:27:20,658 Din id-darba, jien biss ser li tikseb wieħed minħabba I ma 631 00:27:20,658 --> 00:27:22,380 tagħżel stilla, li huwa kollox. 632 00:27:22,380 --> 00:27:27,900 Issa jien għażla biss isem, so I biss jiksbu lura kolonna waħda u ringiela waħda. 633 00:27:27,900 --> 00:27:31,730 U jidher tip ta 'xieraq redikoli, biss tħares super 634 00:27:31,730 --> 00:27:33,060 żgħar bħal dan. 635 00:27:33,060 --> 00:27:34,290 Allura, dak li verament jiġri? 636 00:27:34,290 --> 00:27:36,890 Meta inti teżegwixxi SQL query użu tagħżel, 637 00:27:36,890 --> 00:27:38,700 dak li qed jkollna lura mid-database 638 00:27:38,700 --> 00:27:42,970 huwa bħal tabella temporanju ma ringieli u kolonni, forsi, 639 00:27:42,970 --> 00:27:46,260 iżda li jħalli barra xejn li ma kienux attwalment magħżula minnek. 640 00:27:46,260 --> 00:27:49,010 Allura, huwa simili jekk xi ħadd kellu big spreadsheet mill-istudenti kollha 641 00:27:49,010 --> 00:27:51,610 irreġistrata għal xi grupp student, u inti tgħidli, 642 00:27:51,610 --> 00:27:55,097 jagħtu me kollha tal-freshman li ħadthom irreġistrata għall-grupp student tagħna, dak 643 00:27:55,097 --> 00:27:56,930 kollega tiegħek fil- grupp student tista 'tagħmel 644 00:27:56,930 --> 00:27:58,430 huwa dawn jistgħu sempliċement naħa inti l-spreadsheet kollu. 645 00:27:58,430 --> 00:27:59,742 C'est simili qal star tagħżel. 646 00:27:59,742 --> 00:28:02,200 U huwa ftit annoying jekk inti biss riedu l freshman. 647 00:28:02,200 --> 00:28:05,640 U hekk, jekk inti minflok qal, star tagħżel minn tabella database 648 00:28:05,640 --> 00:28:08,470 fejn sena ugwali kwotazzjoni, freshman unquote, 649 00:28:08,470 --> 00:28:10,810 huwa bħallikieku ħabib tiegħek fil-grupp istudent 650 00:28:10,810 --> 00:28:13,770 litteralment enfasizzat u kkupjati biss il-fillieri Freshman, 651 00:28:13,770 --> 00:28:16,780 pasted tagħhom fiċ-Google ġdida Spreadsheet jew fajl Excel, 652 00:28:16,780 --> 00:28:18,860 u mogħtija inti lura l- fajl jirriżulta biss. 653 00:28:18,860 --> 00:28:21,710 Li kollox li għaddej fuq kunċettwalment hawn. 654 00:28:21,710 --> 00:28:23,920 >> Għalhekk fl-aħħar, nistgħu nagħmlu xi affarijiet pretty fancy 655 00:28:23,920 --> 00:28:26,560 billi jaħżnu affarijiet simili usernames u passwords u simili. 656 00:28:26,560 --> 00:28:30,310 Iżda, jirriżulta, għandna nagħmlu ftit differenti minn dan. 657 00:28:30,310 --> 00:28:34,750 Dan m'huwiex smart biss jaħżnu username u password. 658 00:28:34,750 --> 00:28:37,790 Xi ħadd qabel, naħseb stabbiliti hawn, ssuġġeriet ID. 659 00:28:37,790 --> 00:28:40,787 Issa ID tista 'tkun bħal Harvard ID jew ID Net Yale, il 660 00:28:40,787 --> 00:28:42,870 iżda tista 'tkun saħansitra aktar sempliċi fil-każ database tagħna. 661 00:28:42,870 --> 00:28:45,120 U fil-fatt, il-każ komuni huwa li jkun kolonna ieħor. 662 00:28:45,120 --> 00:28:46,953 U jien se jmorru quddiem u jeditjaw mejda tiegħi. 663 00:28:46,953 --> 00:28:49,521 U jekk inti play madwar dan interface għall PSet7, 664 00:28:49,521 --> 00:28:51,770 tkun taf tara li inti tista 'tivverifika din il-buttuna hawn u żid 665 00:28:51,770 --> 00:28:53,750 qasam fil-bidu tat-tabella. 666 00:28:53,750 --> 00:28:56,720 U issa jekk I ikklikkja Go, li għaddej li tagħti me wieħed minn dawk forom 667 00:28:56,720 --> 00:28:57,600 minn qabel. 668 00:28:57,600 --> 00:29:00,170 Jien ser iżid qasam imsejjaħ ID. 669 00:29:00,170 --> 00:29:03,070 U jien ser jagħmilha tip numerika. 670 00:29:03,070 --> 00:29:05,362 >> I jkollhom mazz sħiħ ta 'valuri għal numerics. 671 00:29:05,362 --> 00:29:08,677 Jien biss ser jagħżlu INT u Ma joqogħdu jinkwetaw dwar l-daqsijiet differenti. 672 00:29:08,677 --> 00:29:10,510 I ma jkollhom jispeċifika tul jew valur, 673 00:29:10,510 --> 00:29:13,710 minħabba li għaddej biex tkun 32 bits x'ikun. 674 00:29:13,710 --> 00:29:16,070 Attributi, aħna ma tara qabel. 675 00:29:16,070 --> 00:29:18,410 Xi interess fi kwalunkwe minn dawn għażliet menu din id-darba? 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 Għal INT? 678 00:29:23,745 --> 00:29:24,620 What did you tipproponi? 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 Nru? 681 00:29:28,445 --> 00:29:29,570 Do xi wieħed minn dawn jagħmlu sens? 682 00:29:29,570 --> 00:29:30,536 Yeah. 683 00:29:30,536 --> 00:29:31,900 Yeah, mhux iffirmat, id-dritt? 684 00:29:31,900 --> 00:29:35,930 >> Ġeneralment, jekk aħna qed tmur biex jagħtu kulħadd numru uniku, li 685 00:29:35,930 --> 00:29:38,200 huwa fejn din l-istorja hija tmur, I verament irridu biss 686 00:29:38,200 --> 00:29:41,919 persuna li jkollha n-numru simili żero u wieħed u tnejn u tlieta u erbgħa. 687 00:29:41,919 --> 00:29:43,710 I m'għandhomx bżonn li jittrattaw bin-numri negattivi. 688 00:29:43,710 --> 00:29:45,210 Hija biss tidher bħal kumplessità bla bżonn. 689 00:29:45,210 --> 00:29:48,470 Irrid erba biljun valuri possibbli, mhux erba 'biljun valuri possibbli, 690 00:29:48,470 --> 00:29:50,699 so I biss irdoppja l kapaċità tal INT tiegħi. 691 00:29:50,699 --> 00:29:53,490 Bħala twarrib, jekk inti tixtieq li jirrelataw dan għal xi ħaġa bħal Facebook, 692 00:29:53,490 --> 00:29:56,190 lura fil-tip ta 'ġurnata tiegħi meta Facebook ewwel daħal out, 693 00:29:56,190 --> 00:29:59,510 Nemmen dak li kienu użu fl MySQL database tagħhom 694 00:29:59,510 --> 00:30:02,856 biex jaħżnu s utent identifikatur, kien biss ta 'INT. 695 00:30:02,856 --> 00:30:05,230 Iżda naturalment, hemm ħafna ta 'persuni reali fid-dinja. 696 00:30:05,230 --> 00:30:07,438 Hemm ħafna ta 'foloz Facebook kontijiet fid-dinja. 697 00:30:07,438 --> 00:30:11,701 U għalhekk eventwalment, Facebook fawrien id-daqs ta 'INT, a erba' biljun 698 00:30:11,701 --> 00:30:12,200 valur. 699 00:30:12,200 --> 00:30:15,032 Liema hu għaliex, jekk inti tħares madwar u hemm websajts 700 00:30:15,032 --> 00:30:16,740 li jista 'jgħidlek liema ID unika tiegħek. 701 00:30:16,740 --> 00:30:19,781 U jekk int qatt għażlet username fi Facebook, tkun taf tara ID unika tiegħek. 702 00:30:19,781 --> 00:30:23,080 Naħseb li huwa profil dot PHP trade mark in kwistjoni ID ugwali xi ħaġa. 703 00:30:23,080 --> 00:30:27,210 Li issa huwa xi ħaġa bħal big INT, jew twil twil jekk inti se, 704 00:30:27,210 --> 00:30:29,700 li hija valur 64-bit jew xi ħaġa simili. 705 00:30:29,700 --> 00:30:33,620 >> Għalhekk, anki fid-dinja reali tagħmel dawn kwistjonijiet finalment kultant jimpurtax. 706 00:30:33,620 --> 00:30:37,600 U jirriżulta li hawnhekk, jekk jien tagħti kollha ta 'utenti tiegħi ID unika, 707 00:30:37,600 --> 00:30:41,750 Nixtieq inkun super espliċita u minimament jagħmlu dan il-qasam uniku. 708 00:30:41,750 --> 00:30:44,750 Iżda jirriżulta hemm wieħed biċċa nomenklatura illum wisq 709 00:30:44,750 --> 00:30:46,470 li l-kodiċi primarju. 710 00:30:46,470 --> 00:30:49,800 Jekk int tfassil ta 'database mejda u inti taf minn qabel 711 00:30:49,800 --> 00:30:55,580 li waħda mill-kolonni dik it-tabella għandhom u se jidentifika unikament ringieli 712 00:30:55,580 --> 00:30:58,500 fit-tabella, inti tixtieq li jispeċifika dan u tell-database, 713 00:30:58,500 --> 00:31:00,250 dan huwa kodiċi primarju tiegħi. 714 00:31:00,250 --> 00:31:02,110 Jista 'jkun hemm duplikati f'oqsma oħra, 715 00:31:02,110 --> 00:31:06,330 imma jien javżak-database li din huwa primarja tiegħi, iktar settur importanti tiegħi, 716 00:31:06,330 --> 00:31:08,420 li garantit li jkun uniku. 717 00:31:08,420 --> 00:31:09,660 >> Issa, dan jidher superfluwu. 718 00:31:09,660 --> 00:31:13,830 I am issa tipproponi li aħna żid, billi tikklikkja Save hawn, 719 00:31:13,830 --> 00:31:17,210 a called-- qasam u jien ser li jimxi 'l quddiem u kklikkja AI, 720 00:31:17,210 --> 00:31:19,720 aħna ser terga 'lura għal li fil-mument, Save. 721 00:31:19,720 --> 00:31:22,540 Qed nipproponi issa li tabella tiegħi look like dan. 722 00:31:22,540 --> 00:31:26,305 I jkollhom kamp INT imsejħa ID, qasam CHAR imsejjaħ Username, 723 00:31:26,305 --> 00:31:31,100 qasam varchar imsejjaħ Isem, iżda ID, jekk huwa primarja u għalhekk uniku, 724 00:31:31,100 --> 00:31:33,760 għaliex ma I biss skart ħin jiġi introdott dak 725 00:31:33,760 --> 00:31:39,140 effettivament hija t-tieni unika qasam imsejħa ID thats INT? 726 00:31:39,140 --> 00:31:41,980 >> Username, irtirar, kien diġà unika, għidna. 727 00:31:41,980 --> 00:31:45,350 Hekk biss loġikament, inti m'għandekx bżonn kwalunkwe esperjenza database biex raġuni 728 00:31:45,350 --> 00:31:47,570 permezz ta 'dan, għaliex jista I introduċew 729 00:31:47,570 --> 00:31:50,065 l INT kif identifikatur uniku tiegħi ukoll? 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 X'hemm this-- ngħid mill-ġdid? 732 00:31:53,930 --> 00:31:55,580 >> UDJENZA: [inaudible] 733 00:31:55,580 --> 00:31:59,534 >> DAVID Malan: Random aċċess huwa aktar faċli, għaliex? 734 00:31:59,534 --> 00:32:00,410 >> UDJENZA: [inaudible] 735 00:32:00,410 --> 00:32:02,367 DAVID Malan: Yeah, huwa biss aċċess numri. 736 00:32:02,367 --> 00:32:04,750 Għalhekk, jekk inti taħseb ta 'dan verament huwa tabella, bħal firxa, 737 00:32:04,750 --> 00:32:07,690 issa għandi identifikaturi uniċi li I tista 'tiżdied madwar. 738 00:32:07,690 --> 00:32:11,520 U aħjar minn dak xorta hija li kemm hu kbir huwa l INT se tkun mill-ġdid? 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 32 bits jew erba 'bytes. 741 00:32:15,800 --> 00:32:17,750 >> Kemm hi kbira l username tiegħi se tkun? 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 Maximally? 744 00:32:21,990 --> 00:32:22,880 16 bytes. 745 00:32:22,880 --> 00:32:26,080 >> Allura, jekk int verament ħsieb dwar il-prestazzjoni tal-kodiċi tiegħek, 746 00:32:26,080 --> 00:32:31,390 think lura għall PSet5, kieku inti tippreferi ta 'tiftix għal valur erba byte jew 16 747 00:32:31,390 --> 00:32:32,240 valur byte, id-dritt? 748 00:32:32,240 --> 00:32:33,810 Huwa verament huwa sempliċi bħal dik. 749 00:32:33,810 --> 00:32:38,060 Inti għandek tagħmel erba 'darbiet aktar xogħol ta 'tiftix għal usernames għaliex dawk 750 00:32:38,060 --> 00:32:38,830 huma 16 bytes. 751 00:32:38,830 --> 00:32:41,320 Allura, inti għandek litteralment iqabblu 16 bytes kollha li jkunu 752 00:32:41,320 --> 00:32:43,140 żgur iva, dan huwa username irrid. 753 00:32:43,140 --> 00:32:46,610 Billi għal INT, inti tista jagħmlu dan bil biss erba 'bytes. 754 00:32:46,610 --> 00:32:49,212 >> U bħala twarrib għal dawk interessati fil-hardware tal-kompjuter, 755 00:32:49,212 --> 00:32:52,420 jirriżulta inti tista tajbin xi ħaġa bħal l INT jew valur 32-bit fil xi ħaġa 756 00:32:52,420 --> 00:32:55,330 imsejħa reġistru fil-kompjuter CPU, li jfisser li huwa super, 757 00:32:55,330 --> 00:32:58,400 super fast, anke fl-inqas livell ta 'hardware tal-kompjuter. 758 00:32:58,400 --> 00:33:00,530 Allura, hemm biss vantaġġi kollha madwar. 759 00:33:00,530 --> 00:33:01,530 Allura, dak li jfisser dan? 760 00:33:01,530 --> 00:33:04,850 Fil-fatt, meta int tfassil ta ' tabella database, kważi kollha tal-ħin 761 00:33:04,850 --> 00:33:07,170 inti se jkollhom mhux biss l-informazzjoni li inti care about, 762 00:33:07,170 --> 00:33:09,280 iżda wkoll xi ħaġa bħal identifikatur uniku 763 00:33:09,280 --> 00:33:11,280 għaliex dan se ejjew jagħmlu affarijiet oħra. 764 00:33:11,280 --> 00:33:13,160 U ejja vjaġġ fuq problema waħda hawn. 765 00:33:13,160 --> 00:33:15,990 >> Ejja ngħidu li l-utenti ma jkunux biss usernames u ismijiet, 766 00:33:15,990 --> 00:33:19,540 imma għandhom ukoll affarijiet simili ibliet u l-istati u l-kodiċi zip, għall-inqas 767 00:33:19,540 --> 00:33:20,432 hawn fl-Istati Uniti. 768 00:33:20,432 --> 00:33:22,390 Allura, jien ser jimxi 'l quddiem u biss malajr jgħidu, 769 00:33:22,390 --> 00:33:26,180 tagħti me tliet kolonni aktar fl-aħħar tat-tabella. 770 00:33:26,180 --> 00:33:28,900 U dan se jkun City, dan se jkun l-Istat, 771 00:33:28,900 --> 00:33:30,400 u dan se tkun Zip. 772 00:33:30,400 --> 00:33:32,710 >> Issa tipi City, liema data jekk dan ikun, forsi? 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 I do not know dak l- itwal belt isem huwa. 776 00:33:37,780 --> 00:33:40,571 X'imkien fl-Amerika, hemm probabbilment xi kelma ridiculously twal, 777 00:33:40,571 --> 00:33:43,605 so ejja biss jmorru ma '255, kemmxejn storikament jew b'mod arbitrarju. 778 00:33:43,605 --> 00:33:44,730 Stat, dak li inti trid tagħmel? 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 Sejħa is-sentenza, id-dritt? 781 00:33:50,367 --> 00:33:51,700 X'hemm forsi l-aktar effiċjenti? 782 00:33:51,700 --> 00:33:53,500 Kif karattri ħafna? 783 00:33:53,500 --> 00:33:55,950 Forsi biss tnejn, jekk nistgħu jitbiegħed ma tagħmel biss, 784 00:33:55,950 --> 00:33:58,250 bħal, MA għall Massachusetts u oħrajn. 785 00:33:58,250 --> 00:34:00,520 Allura, jien ser imorru valur CHAR ta 'tnejn. 786 00:34:00,520 --> 00:34:03,080 >> Kodiċi zip huwa wieħed interessanti. 787 00:34:03,080 --> 00:34:06,679 Aħna hawn fil 02,138, sabiex jissuġġerixxi għandna nużaw dak? 788 00:34:06,679 --> 00:34:07,470 Huwa ta 'INT, id-dritt? 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 INT, INT, qasir? 791 00:34:12,800 --> 00:34:14,521 Short tkun taħdem. 792 00:34:14,521 --> 00:34:15,020 Nru? 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 CHAR jew ħames, imma nixtieq li INT. 795 00:34:20,870 --> 00:34:23,710 Għaliex timbotta lura fuq INT? 796 00:34:23,710 --> 00:34:26,820 Tipperswadi lili minn dan. 797 00:34:26,820 --> 00:34:29,210 X'hemm stupid madwar INT, idea tiegħi? 798 00:34:29,210 --> 00:34:29,871 Yeah. 799 00:34:29,871 --> 00:34:31,199 >> UDJENZA: Ħu l-memorja aktar. 800 00:34:31,199 --> 00:34:32,909 >> DAVID Malan: Ħu l-memorja aktar. 801 00:34:32,909 --> 00:34:35,310 Erba bytes, imma int tipproponi zip code 802 00:34:35,310 --> 00:34:39,000 bħala ħames bytes jew xi ħadd kien bħala CHAR, li jħoss simili eh, li mhux verament 803 00:34:39,000 --> 00:34:39,620 il-każ. 804 00:34:39,620 --> 00:34:40,489 >> Ukoll, storja divertenti. 805 00:34:40,489 --> 00:34:43,179 Snin ilu, meta I użati biex jużaw Microsoft Outlook għall-email tiegħi, 806 00:34:43,179 --> 00:34:45,150 I eventwalment ridt li jaqilbu għal Gmail. 807 00:34:45,150 --> 00:34:48,949 U hekk, I esportati kollha tiegħi kuntatti mill-Outlook bħala fajl CSV. 808 00:34:48,949 --> 00:34:50,699 Comma separati valuri, li ftit fisser I 809 00:34:50,699 --> 00:34:54,060 kellu l-ismijiet ħbieb tiegħi u l-aħħar ismijiet u numri tat-telefon u l-kodiċi zip 810 00:34:54,060 --> 00:34:54,747 u kollha ta 'dak. 811 00:34:54,747 --> 00:34:56,580 U mbagħad I magħmula l- żball tal-ftuħ it up 812 00:34:56,580 --> 00:34:58,640 fl-Excel, li hija programm spreadsheet li 813 00:34:58,640 --> 00:35:00,289 jifhem CSV fajls kif aħna stajt tidher. 814 00:35:00,289 --> 00:35:03,080 Imma mbagħad, I għandu jkollhom hit, bħal, Kmand jew Control S fuq punt wieħed. 815 00:35:03,080 --> 00:35:06,250 U Excel apparentement fiż-żmien kellhom karatteristika li biha kwalunkwe ħin li 816 00:35:06,250 --> 00:35:08,100 raw numru, ippruvaw jkun utli. 817 00:35:08,100 --> 00:35:11,610 U jekk dak in-numru beda bil żerijiet, ikun biss jeħles minnhom. 818 00:35:11,610 --> 00:35:13,420 Għaliex għandek bżonn ewlieni żerijiet fuq interi? 819 00:35:13,420 --> 00:35:15,140 Huma qed sens, matematikament. 820 00:35:15,140 --> 00:35:17,530 Dawn mhux qed bla sens fis-sistema US Postali. 821 00:35:17,530 --> 00:35:19,954 So, I kellna għas-snin, din il-ġurnata, I still 822 00:35:19,954 --> 00:35:22,370 ħbieb li meta l- każ rari li I bżonn xi ħadd huwa 823 00:35:22,370 --> 00:35:24,078 tindirizza dawn il-ġranet, I xorta ser tara li I 824 00:35:24,078 --> 00:35:26,767 xi ħabib fil-Cambridge, Massachusetts, 2138. 825 00:35:26,767 --> 00:35:29,350 U huwa annoying jekk int jippruvaw biex issolvi tal programmatically 826 00:35:29,350 --> 00:35:30,975 jiġġeneraw pakketti jew eżatt LOGHOME-isfel. 827 00:35:30,975 --> 00:35:33,599 U dan għaliex din ir-raġuni, I għażlet dejta tat-tip żbaljata. 828 00:35:33,599 --> 00:35:34,490 So, I imħabba l-idea tiegħek. 829 00:35:34,490 --> 00:35:35,650 Ejja jużaw qasam CHAR. 830 00:35:35,650 --> 00:35:38,340 Ħames karattri, ħlief hemm każ kantuniera. 831 00:35:38,340 --> 00:35:42,220 Jekk inti xorta tibgħat posta, kultant zip kodiċijiet dawn il-ġranet, 832 00:35:42,220 --> 00:35:45,360 dawn qed, bħal, flimkien ma 'erba. 833 00:35:45,360 --> 00:35:48,200 Għalhekk, għandna bżonn sing u mbagħad għandna bżonn erba 'numri aktar. 834 00:35:48,200 --> 00:35:50,330 Allura biex ikunu onesti, din tista mur f'ħafna modi differenti. 835 00:35:50,330 --> 00:35:52,371 >> Għal issa, jien ser iżommu sempliċi u jien biss 836 00:35:52,371 --> 00:35:54,780 se ngħid li din hija ħamsa valur CHAR u aħna 837 00:35:54,780 --> 00:35:56,739 ser skip il-sing kollu plus erbgħa. 838 00:35:56,739 --> 00:35:58,280 Iżda dawn huma t-tipi ta 'kompromessi. 839 00:35:58,280 --> 00:36:00,196 U inti tista 'taħseb l- problemi li jinqalgħu istess 840 00:36:00,196 --> 00:36:01,860 bin-numri tat-telefon jew oqsma oħra. 841 00:36:01,860 --> 00:36:04,350 >> U issa, dan huwa attwalment triq foolish li jinżlu. 842 00:36:04,350 --> 00:36:08,000 Ejja ngħidu kemm Rob u I u Hannah u Maria u [? Davon?] U Andy 843 00:36:08,000 --> 00:36:12,820 u oħrajn fuq il-persunal kollu jgħixu fil Cambridge, Massachusetts, 02138. 844 00:36:12,820 --> 00:36:17,970 Dan attwalment iħossu stupid li jien li jżid mal-mejda utenti tiegħi, belt, statali, 845 00:36:17,970 --> 00:36:18,630 u ZIP. 846 00:36:18,630 --> 00:36:20,980 Għaliex? 847 00:36:20,980 --> 00:36:21,960 >> UDJENZA: [inaudible] 848 00:36:21,960 --> 00:36:22,918 >> DAVID Malan: Say mill-ġdid? 849 00:36:22,918 --> 00:36:24,310 UDJENZA: [inaudible] 850 00:36:24,310 --> 00:36:25,850 >> DAVID Malan: Huma qed dejjem se jmorru flimkien, id-dritt? 851 00:36:25,850 --> 00:36:28,660 Meta jirriżulta, aħna użati biex jaħsbu dan kien il-każ sakemm aħna eżawrjenti 852 00:36:28,660 --> 00:36:30,570 mfittxija l-Istati Uniti kollu, u jirriżulta li hemmhekk 853 00:36:30,570 --> 00:36:32,653 huma xi inkonsistenzi fejn bliet multipli jkollhom 854 00:36:32,653 --> 00:36:35,060 l-istess zip, li huwa stramb. 855 00:36:35,060 --> 00:36:40,580 Iżda, jekk irridu jistipulaw għal issa dak 02138 huwa dejjem Cambridge, Massachusetts, 856 00:36:40,580 --> 00:36:44,910 għaliex fid-dinja kieku inti jaħżen fil database tiegħek Cambridge u MA u 02138 857 00:36:44,910 --> 00:36:49,357 għalija u għal Hannah u għal Rob u għall [? Davon?] U għal oħrajn li jgħixu 858 00:36:49,357 --> 00:36:51,190 hawn fil Cambridge, huwa perfettament żejda. 859 00:36:51,190 --> 00:36:54,480 >> Għandna jitbiegħed mal biss ħażna liema? 860 00:36:54,480 --> 00:36:55,610 Biss il-kodiċi zip. 861 00:36:55,610 --> 00:36:58,660 Iżda mbagħad, jekk aħna maħżen biss il- zip code, I do jridu, probabbilment, 862 00:36:58,660 --> 00:37:02,160 għall-website tiegħi li tkun taf fejn 02138 hu. 863 00:37:02,160 --> 00:37:03,910 So, I bżonn ieħor tabella. 864 00:37:03,910 --> 00:37:04,697 U li OK. 865 00:37:04,697 --> 00:37:07,530 U fil-fatt, dan huwa wieħed mill- proċessi ta 'disinn ta' tfassil tabelli 866 00:37:07,530 --> 00:37:11,472 li inti ser tagħmel fil PSet7 kif ukoll permezz tagħha inti tixtieq li fattur out data komuni. 867 00:37:11,472 --> 00:37:14,430 Eżatt bħal aħna kont qed factoring out kodiċi u l-fattorar out komuni komuni 868 00:37:14,430 --> 00:37:17,380 stili minn CSS, hawn wisq fid-database, 869 00:37:17,380 --> 00:37:21,180 jekk għandi bżonn 02138 biss biex unikament jidentifikaw Hometown xi ħadd, 870 00:37:21,180 --> 00:37:25,020 taħżinx Cambridge, Quddiesa għall kull utent darn fit-tabella tiegħek. 871 00:37:25,020 --> 00:37:29,770 >> Minflok, jkollhom tabella separata msejħa Żippijiet li għandu jkollu dak kolonni? 872 00:37:29,770 --> 00:37:33,490 Probabbilment qasam ID, sempliċement minħabba, per il-prinċipji aħna qed jitkellem dwar issa. 873 00:37:33,490 --> 00:37:35,720 Probabbilment qasam code għall 02138. 874 00:37:35,720 --> 00:37:38,400 U allura probabbilment dak kolonni oħra? 875 00:37:38,400 --> 00:37:42,950 Belt u stat, iżda biss għandek wieħed ringiela għal 02138, ringiela waħda għal 02139, 876 00:37:42,950 --> 00:37:44,772 ringiela waħda għal 90,210. 877 00:37:44,772 --> 00:37:46,730 U li huwa litteralment il-kodiċijiet kollha zip naf. 878 00:37:46,730 --> 00:37:49,012 >> Allura issa, dak li tista 'taghmel? 879 00:37:49,012 --> 00:37:51,220 Dan huwa fatt problematiku, minħabba issa stajt ltqajna żewġ tabelli. 880 00:37:51,220 --> 00:37:54,660 Allura, l-utenti tiegħi huma l-aktar fuq hawn, iżda l-informazzjoni belt stat tagħhom huwa 881 00:37:54,660 --> 00:37:55,390 minn hawn. 882 00:37:55,390 --> 00:37:58,635 Allura, jirriżulta bl SQL, hemm fil-fatt mod biex jissieħbu informazzjoni, 883 00:37:58,635 --> 00:38:00,470 u tkun taf tara dan fil-PSet. 884 00:38:00,470 --> 00:38:03,000 >> Iżda jirriżulta li tista tagħmel xi ħaġa bħal din. 885 00:38:03,000 --> 00:38:10,501 Star Agħżel minn utenti, Jissieħbu zips FUQ utenti dot zip huwa ugwali zips dot zip. 886 00:38:10,501 --> 00:38:13,360 Li hija wordy ftit, ċertament, iżda dan biss 887 00:38:13,360 --> 00:38:17,590 tfisser dak kollu Agħżel mill- proċess tat-teħid tabella utenti tiegħi 888 00:38:17,590 --> 00:38:19,580 u tabella żippijiet tiegħi. 889 00:38:19,580 --> 00:38:22,120 Jingħaqdu magħhom fuq il-wieħed qasam li jkunu fil-kolonna. 890 00:38:22,120 --> 00:38:24,780 Allura, litteralment tagħmel xi ħaġa bħal dan, u jagħtu me back 891 00:38:24,780 --> 00:38:27,360 tabella temporanju ġdid li l-aktar wiesa ', li l-akbar, 892 00:38:27,360 --> 00:38:29,450 li għandu l- kolonni minn tnejn minnhom. 893 00:38:29,450 --> 00:38:33,510 U li, pjuttost sempliċi, ikun il- sintassi biex isir xi ħaġa bħal din. 894 00:38:33,510 --> 00:38:35,540 >> Allura, hemm dan l quddiem, imma hemm għaddej 895 00:38:35,540 --> 00:38:38,950 li jkunu deċiżjonijiet oħra tad-disinn tkun taf għandhom jagħmlu, mhux biss ma 'indiċijiet 896 00:38:38,950 --> 00:38:40,550 iżda wkoll tmexxija fis-isfidi. 897 00:38:40,550 --> 00:38:43,360 Fil-fatt, hemm sfida fi kwalunkwe disinn database 898 00:38:43,360 --> 00:38:47,930 li biha kultant żewġ persuni tista 'tixtieq aċċess għall-istess ringieli tad-database 899 00:38:47,930 --> 00:38:48,530 tabella. 900 00:38:48,530 --> 00:38:51,450 Allura, din hija xi ħaġa li aħna ser jiltaqgħu fil PSet7 ukoll. 901 00:38:51,450 --> 00:38:54,686 >> Imma ħsibt d naraha attakk li possibbli fil SQL. 902 00:38:54,686 --> 00:38:56,560 Liema huma wħud mill- problemi li jistgħu jinqalgħu? 903 00:38:56,560 --> 00:38:58,170 Allura, inti ser tiltaqa dan fil PSet7. 904 00:38:58,170 --> 00:39:01,874 U aħna jgħidlek kollox dak l- kodifikazzjoni soluzzjoni għal din il-problema hija. 905 00:39:01,874 --> 00:39:04,790 Imma jekk inti tieħu klassi livell ogħla, speċjalment fis-sistemi operattivi, 906 00:39:04,790 --> 00:39:06,950 int ser jiltaqgħu kwistjoni ta 'atomicity, 907 00:39:06,950 --> 00:39:10,080 il-problema ta 'tipprova tagħmel affarijiet multipli kollha f'daqqa 908 00:39:10,080 --> 00:39:11,000 mingħajr interruzzjoni. 909 00:39:11,000 --> 00:39:14,560 >> U ħsibt I d jintroduċu dan idea għal PSet7 ma metafora 910 00:39:14,560 --> 00:39:18,160 li tgħallimt myself fil Margo Sistemi operattivi CS164 Seltzer ta 911 00:39:18,160 --> 00:39:18,990 snin klassi ilu. 912 00:39:18,990 --> 00:39:22,230 Ejja ngħidu li għandek wieħed minn dawn dorm fridges fil-kamra dorm tiegħek jew dar, 913 00:39:22,230 --> 00:39:24,474 u inti għandek penchant reali għall-ħalib. 914 00:39:24,474 --> 00:39:27,140 U għalhekk, inti come home minn klassijiet ġurnata waħda, inti tiftaħ il-fridge. 915 00:39:27,140 --> 00:39:27,620 Oh, kkritikat dan. 916 00:39:27,620 --> 00:39:28,870 M'hemm l-ebda ħalib fil-friġġ. 917 00:39:28,870 --> 00:39:32,470 Allura, inti qrib il-fridge, lock-bieb, lock dorm tiegħek, 918 00:39:32,470 --> 00:39:34,770 mixja madwar il-kantuniera li CVS, jiksbu fil-linja, 919 00:39:34,770 --> 00:39:36,312 u tibda ikkontrollar out għal xi ħalib. 920 00:39:36,312 --> 00:39:38,978 U li għaddej biex tieħu filwaqt li, minħabba dawk kkritikat checkout awto 921 00:39:38,978 --> 00:39:40,570 counters jieħdu dejjem biex jintuża xorta waħda. 922 00:39:40,570 --> 00:39:41,950 Allura sadanittant, roommate tiegħek jiġi dar. 923 00:39:41,950 --> 00:39:43,470 Hu jew hi verament jħobb ħalib kif ukoll. 924 00:39:43,470 --> 00:39:45,520 Huma jidħlu fil-kamra dorm, tiftaħ il-fridge, oh, darn dan. 925 00:39:45,520 --> 00:39:46,490 M'hemm l-ebda ħalib aktar. 926 00:39:46,490 --> 00:39:49,040 >> Allura, hu jew hi wkoll tmur madwar il-kantuniera. 927 00:39:49,040 --> 00:39:51,670 Imma issa, peress li hemm simili żewġ jew tlieta jew erba CVSes fil-qrib, 928 00:39:51,670 --> 00:39:53,800 jiġri li jmorru lil wieħed mill- dawk differenti fil-pjazza. 929 00:39:53,800 --> 00:39:55,830 U hekk issa, ftit minuti aktar tard, tnejn inti 930 00:39:55,830 --> 00:39:58,060 come home u ugh, problema agħar qatt. 931 00:39:58,060 --> 00:40:00,967 Issa għandek ħalib wisq minħabba li għaddej biex tmur qarsa. 932 00:40:00,967 --> 00:40:03,050 U inti tixtieq ħalib, imma int ma verament simili ħalib. 933 00:40:03,050 --> 00:40:06,730 >> Allura issa, dan kien jiswa żball minħabba tnejn inti 934 00:40:06,730 --> 00:40:09,870 ħadet deċiżjoni bbażata fuq l- qagħda ta 'madwar varjabbli li 935 00:40:09,870 --> 00:40:12,660 kienet fil-proċess ta ' tbiddlet minnek, 936 00:40:12,660 --> 00:40:14,560 l-inizjatur ta 'se tikseb ħalib. 937 00:40:14,560 --> 00:40:17,785 Allura, dak li huwa forsi bniedem soluzzjoni għal din il-problema? 938 00:40:17,785 --> 00:40:18,660 UDJENZA: [inaudible] 939 00:40:18,660 --> 00:40:19,430 DAVID Malan: Ħalli nota, id-dritt? 940 00:40:19,430 --> 00:40:21,850 Dejjem iħallu nota, jekk int familjari ma 'dak ispettaklu. 941 00:40:21,850 --> 00:40:23,100 Iva, hemm żewġ of us. 942 00:40:23,100 --> 00:40:25,940 Allura, dejjem iħallu nota, jew litteralment lock-friġġ 943 00:40:25,940 --> 00:40:28,602 ma 'xi tip ta' katnazz jew xi ħaġa matul il-quċċata bħal dik. 944 00:40:28,602 --> 00:40:31,310 Iżda li fil-fatt se tkun problema ewlenija ma 'disinn database, 945 00:40:31,310 --> 00:40:34,710 speċjalment meta inti jista 'jkollok browsers multipli, laptops multipli, 946 00:40:34,710 --> 00:40:37,450 utenti multipli kollha jippruvaw jaġġorna l-informazzjoni f'daqqa. 947 00:40:37,450 --> 00:40:40,590 Informazzjoni partikolarment sensittiva bħal informazzjoni finanzjarja, 948 00:40:40,590 --> 00:40:43,350 li biha bil-stock trading websajt bħal inti ser tkun bini, 949 00:40:43,350 --> 00:40:47,270 dak jekk inti tixtieq li jiċċekkjaw kemm flus għandek u mbagħad jekk għandek biżżejjed, 950 00:40:47,270 --> 00:40:48,490 jixtru xi stokk? 951 00:40:48,490 --> 00:40:50,899 >> Imma x'jiġri jekk xi ħadd ieħor li għandu kont konġunt miegħek 952 00:40:50,899 --> 00:40:52,690 hija simultanjament tipprova biex jixtru xi stokk? 953 00:40:52,690 --> 00:40:55,190 Allura, hu jew hi iċċekkjar tal- bilanċ tal-kont, tnejn inti 954 00:40:55,190 --> 00:40:57,540 jiksbu lura l-istess tweġiba, hemm ebda ħalib. 955 00:40:57,540 --> 00:41:00,580 Jew it-tnejn minnkom tikseb lura l-risposta, għandek $ 100 fl-kont. 956 00:41:00,580 --> 00:41:04,680 Tnejn inti tipprova tagħmel id-deċiżjoni li jixtru sehem wieħed ta 'xi stokk kumpanija. 957 00:41:04,680 --> 00:41:06,130 >> U issa, x'jiġri? 958 00:41:06,130 --> 00:41:07,140 Għandek żewġ ishma? 959 00:41:07,140 --> 00:41:08,420 Inti għandek l-ebda ishma? 960 00:41:08,420 --> 00:41:10,320 Problemi bħal li jistgħu jinqalgħu. 961 00:41:10,320 --> 00:41:11,755 Allura, aħna ser jiltaqgħu dak. 962 00:41:11,755 --> 00:41:14,630 SQL attakki injezzjoni, B'xorti tajba, huma xi ħaġa aħna ser jgħinuk bil- 963 00:41:14,630 --> 00:41:17,430 iżda dawn huma atrociously komuni f'dawn il-jiem xorta. 964 00:41:17,430 --> 00:41:18,680 Allura, dan huwa biss eżempju. 965 00:41:18,680 --> 00:41:21,290 I jagħmlu ebda pretensjonijiet li Sistema Harvard PIN hija 966 00:41:21,290 --> 00:41:23,130 vulnerabbli għal dan l-attakk partikolari. 967 00:41:23,130 --> 00:41:24,160 Imxejna ppruvaw. 968 00:41:24,160 --> 00:41:26,120 Iżda, inti taf li aħna ikollhom kamp bħal dan. 969 00:41:26,120 --> 00:41:29,620 U l-ID Net Yale għandha simili tfittex iskrin dawn il-jiem. 970 00:41:29,620 --> 00:41:33,190 U jirriżulta, li forsi l- Sistema PIN hija implimentata fil-PHP. 971 00:41:33,190 --> 00:41:37,050 >> U jekk huwa were-- huwa not-- huma jista 'jkollhom kodiċi li tidher bħal dan. 972 00:41:37,050 --> 00:41:38,210 Huma għandhom żewġ varjabbli. 973 00:41:38,210 --> 00:41:42,495 Agħtini l-username u password mill-varjabbli globali post super 974 00:41:42,495 --> 00:41:43,970 li tkellimna dwar preċedenti. 975 00:41:43,970 --> 00:41:47,310 Forsi Harvard għandha query bħal stilla Agħżel minn utenti 976 00:41:47,310 --> 00:41:50,005 fejn username ugwali li u password huwa egwali għal dak. 977 00:41:50,005 --> 00:41:51,880 U tinnota li jien biss pagamnenti fl-użu 978 00:41:51,880 --> 00:41:55,050 in-notazzjoni Brace kaboċċi mill-ieħor jum, li jfisser biss plagg fil-valur 979 00:41:55,050 --> 00:41:55,550 hawn. 980 00:41:55,550 --> 00:41:57,449 Jien ma jużawx l- trade mark in kwistjoni teknika. 981 00:41:57,449 --> 00:41:59,240 Jien m'għandi l-ebda tieni jew argumenti terzi. 982 00:41:59,240 --> 00:42:02,350 Jien biss litteralment kostruzzjoni l-sekwenza myself. 983 00:42:02,350 --> 00:42:04,930 >> Il-problema, għalkemm, hi li jekk xi ħadd bħal scroob, 984 00:42:04,930 --> 00:42:09,020 li hija referenza għal film, zkuk ma xi ħaġa bħal din, 985 00:42:09,020 --> 00:42:11,250 u stajt jitneħħew l-tikek li normalment tkopri sa 986 00:42:11,250 --> 00:42:14,370 passwords, dak li jekk huwa jkun partikolarment malizzjużi 987 00:42:14,370 --> 00:42:18,860 u password tiegħu forsi huwa 12345, Skond il-movie imsejjaħ "Spaceballs," 988 00:42:18,860 --> 00:42:21,970 imma hu kritiku tipi ta ' kwotazzjoni waħda wara l-ħames, 989 00:42:21,970 --> 00:42:24,790 allura litteralment il-kelma jew fl-ispazju, u mbagħad kwotazzjoni, 990 00:42:24,790 --> 00:42:29,160 wieħed unquote ugwali wieħed jikkwota, imma avviż hu titħalla barra dak? 991 00:42:29,160 --> 00:42:32,700 Hu titħalla barra l-kwotazzjoni fuq il-lemin u hu ma jsirx il-kwotazzjoni fuq ix-xellug. 992 00:42:32,700 --> 00:42:35,170 >> Għaliex jekk dan attakkant preżunzjoni scroob s 993 00:42:35,170 --> 00:42:38,160 hija li l-persuni li kiteb dan il-kodiċi PHP ma kinux daqshekk qawwi, 994 00:42:38,160 --> 00:42:42,990 forsi huma biss ikollhom xi wieħed kwotazzjonijiet madwar il-interpolazzjoni 995 00:42:42,990 --> 00:42:45,210 ta 'varjabbli fl ċineg kaboċċi? 996 00:42:45,210 --> 00:42:48,620 U hekk forsi, huwa seta tip tal ilestu ħsieb tagħhom 997 00:42:48,620 --> 00:42:53,290 għalihom, iżda b'mod li għaddej let lilu Hacked fis-sistema PIN. 998 00:42:53,290 --> 00:42:55,310 Fi kliem ieħor, ejja ngħidu li dan huwa l-kodiċi 999 00:42:55,310 --> 00:42:57,140 u aħna issa plagg fil dak scroob ittajpjat. 1000 00:42:57,140 --> 00:42:58,770 U huwa aħmar, għaliex dan huwa ħażin. 1001 00:42:58,770 --> 00:43:01,310 >> U t-test sottostanti huwa dak li ittajpjat fil, 1002 00:43:01,310 --> 00:43:05,510 scroob jista trick server Harvard fi kostruzzjoni mistoqsija SQL 1003 00:43:05,510 --> 00:43:07,440 string li tidher bħal dan. 1004 00:43:07,440 --> 00:43:11,760 Password ugwali 12345 jew wieħed ugwali wieħed. 1005 00:43:11,760 --> 00:43:14,820 Ir-riżultat tagħha, loġikament, hija li dan se log scroob 1006 00:43:14,820 --> 00:43:18,360 fil jekk password tiegħu hija 12345 jew jekk wieħed ugwali 1007 00:43:18,360 --> 00:43:22,660 waħda, li naturalment huwa dejjem veru, li jfisser scroob dejjem gets fis. 1008 00:43:22,660 --> 00:43:26,060 >> U għalhekk, il-mod biex jiffissaw dan, bħal fil-ħafna każijiet, 1009 00:43:26,060 --> 00:43:28,140 tkun li tikteb aktar fid-difiża. 1010 00:43:28,140 --> 00:43:30,390 Biex tuża xi ħaġa bħal tagħna funzjoni query attwali, li 1011 00:43:30,390 --> 00:43:33,980 tkun taf tara fil PSet7, fejn aħna plug xi ħaġa bħal kwistjoni jimmarka hawn. 1012 00:43:33,980 --> 00:43:35,980 U l-sbuħija tal- funzjoni mistoqsija li aħna 1013 00:43:35,980 --> 00:43:40,010 jtik huwa qiegħed jadotta kontra dawn hekk imsejħa SQL attakki injezzjoni, fejn 1014 00:43:40,010 --> 00:43:44,260 xi ħadd qed tricking kodiċi tiegħek fis tinjetta kodiċi SQL tiegħu jew tagħha stess. 1015 00:43:44,260 --> 00:43:47,380 Għaliex dak l-funzjoni mistoqsija aħna nagħtuk fil-fatt se tagħmel, 1016 00:43:47,380 --> 00:43:51,270 jekk inti tuża l-kwistjoni mark sintassi u t-tieni u t-tielet argument hawn, 1017 00:43:51,270 --> 00:43:54,590 huwa dak li għamlet dan iżid il- input li l-utenti ma pprovda? 1018 00:43:54,590 --> 00:43:56,060 Dawk backslash kwotazzjonijiet. 1019 00:43:56,060 --> 00:43:58,590 >> Allura, dan jaħrab kwalunkwe potenzjalment karattri perikolużi. 1020 00:43:58,590 --> 00:44:01,000 Dan jidher stramb issa, iżda mhux vulnerabbli 1021 00:44:01,000 --> 00:44:03,260 minħabba li ma jibdlu l-loġika jibqgħalu 1022 00:44:03,260 --> 00:44:06,470 minħabba li password kollu huwa issa kwotazzjoni waħda li mhux, 1023 00:44:06,470 --> 00:44:07,596 fil-fatt, password scroob s. 1024 00:44:07,596 --> 00:44:09,845 Allura, kien hemm xi ċajt dwar dan matul is-snin. 1025 00:44:09,845 --> 00:44:12,570 Allura, dan kien ritratt meħud ta 'xi geek fil-lott ipparkjar 1026 00:44:12,570 --> 00:44:16,620 fejn inti tista 'taf li xi bliet u stati jippruvaw scan liċenzja tiegħek 1027 00:44:16,620 --> 00:44:19,460 pjanċa li inti kont jew li biljett inti jekk inti tmur permezz mingħajr, bħal, 1028 00:44:19,460 --> 00:44:20,660 il-ħaġa E-Z adda. 1029 00:44:20,660 --> 00:44:24,490 Allura, din il-persuna preżunt li forsi il-poplu bil-miktub is-sistema E-Z Pass 1030 00:44:24,490 --> 00:44:28,240 ma kinux daqshekk qawwi, u forsi huma biss concatenated flimkien string, 1031 00:44:28,240 --> 00:44:32,190 sabiex hu jew hi ma setax b'mod malizzjuż mhux biss ilestu maħsub tagħhom, 1032 00:44:32,190 --> 00:44:35,150 imma attwalment tesegwixxi kmand ħażina, li konna mhux imsemmija għadhom, 1033 00:44:35,150 --> 00:44:36,380 imma inti tista 'probabbilment raden. 1034 00:44:36,380 --> 00:44:39,820 Li minbarra iħassru u daħħal u taġġorna u tagħżel, 1035 00:44:39,820 --> 00:44:43,370 hemm ukoll keyword imsejjaħ qatra, li letteralment tħassar kollox 1036 00:44:43,370 --> 00:44:45,300 fid-database, li huwa partikolarment ħażina. 1037 00:44:45,300 --> 00:44:48,760 >> Nistgħu zoom fl fuq dan jekk huwa ftit iebsa biex tara. 1038 00:44:48,760 --> 00:44:52,300 Dan, issa, hija cartoons famuż dan huwa wonderfully għaqlija issa 1039 00:44:52,300 --> 00:44:53,145 u li tinftiehem. 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [Rires] 1042 00:45:04,750 --> 00:45:05,910 >> Yeah, berred. 1043 00:45:05,910 --> 00:45:06,800 Tip ta 'geeking out. 1044 00:45:06,800 --> 00:45:08,800 Allura dawn, allura, huma SQL attakki injezzjoni. 1045 00:45:08,800 --> 00:45:13,050 U dawn qed daqshekk faċli biex jiġi evitat bl-użu il-kodiċi dritt jew il-libreriji dritt. 1046 00:45:13,050 --> 00:45:15,947 U tkun taf tara fil PSet7, li għaliex aħna nagħtuk l-funzjoni mistoqsija. 1047 00:45:15,947 --> 00:45:17,780 Allura, ftit teasers li ħsibna aħna'd 1048 00:45:17,780 --> 00:45:19,930 jagħtuk hawn fil tagħna minuti fadal flimkien. 1049 00:45:19,930 --> 00:45:24,030 Allura, kif inti tiftakar minn żero ġimgħa, aħna introduċa dawn iż-żewġ bozoz tad-dawl li 1050 00:45:24,030 --> 00:45:26,610 huma sbieħ, mhux biss minħabba dawn qed pretty u huma colorful, 1051 00:45:26,610 --> 00:45:29,450 imma għax huma jappoġġjaw xi ħaġa imsejħa API, Applikazzjoni 1052 00:45:29,450 --> 00:45:31,980 Programmazzjoni Interface U fil CS50 s'issa, konna 1053 00:45:31,980 --> 00:45:34,440 aktar iffukat fuq IKOLLOK u POST, iżda jirriżulta 1054 00:45:34,440 --> 00:45:37,390 hemm verbi oħra HTTP bħall PUT. 1055 00:45:37,390 --> 00:45:39,430 >> U fil-fatt, dan kien slide minn żero ġimgħa 1056 00:45:39,430 --> 00:45:44,930 li biha jekk tikteb kodiċi li jibgħat a la PSet6 talba HTTP li 1057 00:45:44,930 --> 00:45:49,647 tidher bħal dan ma 'dan blokki ta' test fil-qiegħ, li huwa msejjaħ JSON, 1058 00:45:49,647 --> 00:45:52,230 jew JavaScript Notazzjoni Għan li aħna ser nitkellmu dwar ġimgħa d-dieħla, 1059 00:45:52,230 --> 00:45:57,030 inti tista 'ddawar fuq jew itfi jew bidla il-kulur tad-dwal bħal dawk. 1060 00:45:57,030 --> 00:46:00,480 Mela jekk CS50 wkoll flimkien ma 'xi ta 'dawk bozoz tad-dawl hawn fi New Haven 1061 00:46:00,480 --> 00:46:02,480 jekk inti tixtieq li tissellef minnhom għal proġetti finali, 1062 00:46:02,480 --> 00:46:04,370 wkoll xi Microsoft Bands, li huma simili 1063 00:46:04,370 --> 00:46:07,619 arloġġi li tilbes madwar polz tiegħek li bl-istess mod ikollhom API sabiex inti 1064 00:46:07,619 --> 00:46:10,040 jistgħu jiktbu software tiegħek stess għalihom. 1065 00:46:10,040 --> 00:46:12,490 >> Għandna kont ma Apple kodiċi IOS hekk 1066 00:46:12,490 --> 00:46:15,510 li jekk għandek Apple Watch jew iPhone jew iPad jew iPod, 1067 00:46:15,510 --> 00:46:17,707 inti tista 'tikteb kodiċi li attwalment timxi fuq dawk. 1068 00:46:17,707 --> 00:46:19,540 Għandna mazz sħiħ ta Arduinos, li huma 1069 00:46:19,540 --> 00:46:22,010 kompjuters ftit żgħira mingħajr każijiet, essenzjalment, 1070 00:46:22,010 --> 00:46:25,240 li inti tista 'tqabbad via USB, tipikament Mac tiegħek jew PC, 1071 00:46:25,240 --> 00:46:28,810 jikteb il-kodiċi li timxi fuq dawn fiżika apparati li spiss ikollhom sensors fuqhom 1072 00:46:28,810 --> 00:46:30,790 sabiex inti tista 'jinteraġixxu mal-dinja reali. 1073 00:46:30,790 --> 00:46:32,860 Għandna mazz sħiħ ta 'tagħmir Leap Mozzjoni, 1074 00:46:32,860 --> 00:46:36,500 li huma apparat USB għall MACs u PCs, hawn u għal darb'oħra, fi New Haven. 1075 00:46:36,500 --> 00:46:40,080 U jekk inti tqabbad lill Mac tiegħek, inti tista 'attwalment kontroll tal-kompjuter tiegħek 1076 00:46:40,080 --> 00:46:42,550 billi tikteb software li permezz travi infra-aħmar, 1077 00:46:42,550 --> 00:46:46,360 figuri fl fejn idejn tal-bniedem tiegħek huma, anki mingħajr ma tmiss it-tastiera tiegħek. 1078 00:46:46,360 --> 00:46:49,135 Ħsibna aħna'd jaqsmu malajr glimpse għal dan, per eżempju. 1079 00:46:49,135 --> 00:46:51,428 >> [Daqq tal-mużika] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 Allura, aħna għandna kollha mazz ta 'dawn l-affarijiet, 1082 00:47:57,590 --> 00:48:01,040 wisq, imsejħa faxex driegħ Myo li inti tpoġġi fuq driegħ tiegħek 1083 00:48:01,040 --> 00:48:04,595 u allura inti tista 'tikkontrolla l-veru dinja jew fid-dinja virtwali bħal dan. 1084 00:48:04,595 --> 00:48:06,471 >> [Daqq tal-mużika] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 Or, irridu wkoll xi Google Kartun, li huwa litteralment, bħal, 1087 00:49:20,920 --> 00:49:24,841 kaxxa tal-kartun inti tista 'tpoġġi fuq tiegħek wiċċ, iżda slide fil-telefon ċellulari tiegħek fis dan 1088 00:49:24,841 --> 00:49:27,590 sabiex inti tpoġġi l-tazza tiegħek telefon verament qrib l-għajnejn tiegħek. 1089 00:49:27,590 --> 00:49:30,190 U Google kartun huwa pretty irħas fil $ 10 jew $ 20. 1090 00:49:30,190 --> 00:49:32,230 U għandu lentijiet ftit li ftit off shift 1091 00:49:32,230 --> 00:49:35,900 l-immaġni fuq l-iskrin għall-bniedem tiegħek għajnejn li jtik sens ta 'fond 1092 00:49:35,900 --> 00:49:39,550 sabiex inti fil-fatt ikollhom 3D ambjent fuq quddiem tal inti. 1093 00:49:39,550 --> 00:49:42,927 Għandna wkoll xi gear Samsung, li hija l-verżjoni aktar għaljin ta 'dan, 1094 00:49:42,927 --> 00:49:46,010 iżda li jista 'bl-istess mod slide fi Telefon android u jagħtuk l-illużjoni 1095 00:49:46,010 --> 00:49:48,309 of-- jew jagħtu l-esperjenza ta 'realtà virtwali. 1096 00:49:48,309 --> 00:49:50,850 U fil tagħna aħħar żewġ minuti, ħsibna aħna'd tipprova tagħmel dan. 1097 00:49:50,850 --> 00:49:55,250 Jekk I tista 'proġett liema Colton għandha hawn biss biex iqabbduk aptit tiegħek, 1098 00:49:55,250 --> 00:49:58,442 let me imorru quddiem u tarmi up fuq l-iskrin kbira hawn. 1099 00:49:58,442 --> 00:49:59,400 Let me joqtlu l-dwal. 1100 00:49:59,400 --> 00:50:02,290 Colton, do inti tixtieq li tmur quddiem u mqiegħda fuq ċelluli tiegħek għal mument 1101 00:50:02,290 --> 00:50:05,171 u jiġu fuq matul il nofs tal-fażi? 1102 00:50:05,171 --> 00:50:07,420 U inti tixtieq li project-- dan huwa dak Colton jara. 1103 00:50:07,420 --> 00:50:10,560 >> Issa, il-Wi-Fi fil hawn huwa mhux daqshekk qawwi għal dan l-apparat 1104 00:50:10,560 --> 00:50:13,870 li dan huwa super konvinċenti, iżda Colton huwa litteralment 1105 00:50:13,870 --> 00:50:15,710 f'dan il-post futuristiku maġika. 1106 00:50:15,710 --> 00:50:16,796 Huwa biss jara immaġini waħda. 1107 00:50:16,796 --> 00:50:19,920 Inti tara għajn tax-xellug u tal-lemin tiegħu li l-moħħ tiegħu huma legatura flimkien 1108 00:50:19,920 --> 00:50:22,260 fi tliet dimensjonijiet ambjent fuq wiċċu. 1109 00:50:22,260 --> 00:50:24,319 Hu biss magħżul għażla menu hawn. 1110 00:50:24,319 --> 00:50:27,360 U għalhekk għal darb'oħra, hu liebes dan headset ma 'cell Samsung fuqha dan huwa 1111 00:50:27,360 --> 00:50:29,080 wirelessly jipproġettaw biex overhead tagħna. 1112 00:50:29,080 --> 00:50:30,349 Issa int fuq Mars, I think? 1113 00:50:30,349 --> 00:50:31,140 COLTON: I think so. 1114 00:50:31,140 --> 00:50:32,181 M'inix ċert [inaudible]. 1115 00:50:32,181 --> 00:50:34,250 [Rires] 1116 00:50:34,250 --> 00:50:36,374 >> DAVID Malan: Jinstabx Mars għandha dawn menus. 1117 00:50:36,374 --> 00:50:41,590 >> COLTON: [inaudible] xi jibred postijiet jekk irridu imorru to-- 1118 00:50:41,590 --> 00:50:43,330 >> DAVID Malan: Fejn irridu imorru? 1119 00:50:43,330 --> 00:50:45,837 >> COLTON: [inaudible] 1120 00:50:45,837 --> 00:50:48,170 DAVID Malan: U ejja naraw fejn l Colton tieħu us issa. 1121 00:50:48,170 --> 00:50:48,961 COLTON: [inaudible] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> DAVID Malan: Allura, hemm tant postijiet differenti inti tista 'tieħu yourself. 1124 00:50:56,380 --> 00:51:00,590 Hemm FAPIs permezz tiegħu tista ' jiktbu logħob jew interazzjonijiet li 1125 00:51:00,590 --> 00:51:01,950 run, finalment, fuq it-telefon. 1126 00:51:01,950 --> 00:51:03,908 Allura, int verament ftit kitba ta 'app telefon ċellulari. 1127 00:51:03,908 --> 00:51:06,380 Iżda grazzi għall-software u l-kapaċitajiet grafika, 1128 00:51:06,380 --> 00:51:08,765 issa Colton Huwa f'dan cottage ftit żgħira. 1129 00:51:08,765 --> 00:51:10,515 U għar-riskju ta ' joħnoq nfusna, 1130 00:51:10,515 --> 00:51:13,330 Colton u jien ser twaħħal madwar għal filwaqt li fl-aħħar ta 'klassi hawn illum 1131 00:51:13,330 --> 00:51:14,300 jekk inti tixtieq li toħroġ u play. 1132 00:51:14,300 --> 00:51:16,350 U aħna ser iġibu magħhom ġimgħa d-dieħla lura kif ukoll. 1133 00:51:16,350 --> 00:51:18,420 Mingħajr aktar, dewmien din hija għal-lum. 1134 00:51:18,420 --> 00:51:21,990 Aħna ser tara int ġimgħa d-dieħla. 1135 00:51:21,990 --> 00:51:24,140 >> [MUSIC - tewmin ragga, "MAN BAD"] 1136 00:51:24,140 --> 00:55:23,146