1 00:00:00,000 --> 00:00:02,405 >> [Muzikos grojimo] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 DAVID Malan: Gerai, tai yra CS50. 4 00:00:11,980 --> 00:00:13,740 Tai yra aštuoni savaitės pabaigoje. 5 00:00:13,740 --> 00:00:15,887 Ir šiandien, mes pradedame užpildyti kai kurių gabalų 6 00:00:15,887 --> 00:00:17,720 kai jis ateina į pastato dalykų internete. 7 00:00:17,720 --> 00:00:20,020 Taigi, priminti, kad pirmadienį mes praleidžiame daug daugiau laiko 8 00:00:20,020 --> 00:00:22,530 PHP, kuris yra ši dinamika programavimo kalba, kuri 9 00:00:22,530 --> 00:00:26,872 leidžia mums išėjimą, be kita dalykų, HTML ir kitas toks turinys 10 00:00:26,872 --> 00:00:27,830 kad mes norime matyti. 11 00:00:27,830 --> 00:00:30,871 Bet mes ne tikrai atrodė, kaip mes ketiname saugoti bet kokią informaciją. 12 00:00:30,871 --> 00:00:34,477 Iš tiesų, beveik, bet kad super Įdomios svetainės lankotės šiandien 13 00:00:34,477 --> 00:00:36,560 turėti tam tikrą bazę natūra ant nugaros pabaigoje, tiesa? 14 00:00:36,560 --> 00:00:39,540 "Facebook" tikrai saugo daug duomenų apie mus visus ir "Gmail" parduotuvėse visiems 15 00:00:39,540 --> 00:00:40,210 Jūsų el. 16 00:00:40,210 --> 00:00:44,150 >> Ir taip, ir daugelis kitų svetainių yra ne tik Statiškas Turinys tai informacinėje. 17 00:00:44,150 --> 00:00:45,640 Tai tikrai dinamiškas tam tikru būdu. 18 00:00:45,640 --> 00:00:48,480 Jūs pateikiate įėjimas, ji atnaujina dėl kitų žmonių puslapiai. 19 00:00:48,480 --> 00:00:50,620 Jūs gaunate pranešimus, siųsti pranešimai, ir kt. 20 00:00:50,620 --> 00:00:54,250 Taigi, šiandien mes atidžiau ne projekto pagrindus 21 00:00:54,250 --> 00:00:57,330 kad jums pasinerti į šalia savaitę, CS50 Finansai, kuri 22 00:00:57,330 --> 00:01:00,509 iš tikrųjų teks jums sukurti kažkas ne C, o PHP. 23 00:01:00,509 --> 00:01:02,550 Svetainėje, kuri atrodo tiek kažkas panašaus į tai 24 00:01:02,550 --> 00:01:05,810 kuri leidžia pirkti ir parduoti atsargos, kurie iš tikrųjų 25 00:01:05,810 --> 00:01:09,044 ketina pasitelkti realiu laiku Akcijų duomenys iš Yahoo Finance. 26 00:01:09,044 --> 00:01:11,960 Ir taip galiausiai, jūs turėsite iliuzija sau ir vartotojams 27 00:01:11,960 --> 00:01:14,550 kad jūs iš tikrųjų perka ir parduoda atsargos ir gauti beveik realiu laiku 28 00:01:14,550 --> 00:01:16,800 atnaujinimai, valdyti portfelis, kurie visi 29 00:01:16,800 --> 00:01:20,310 ketina reikalauti, kurių, galiausiai, dalis vartotojų, duomenų bazę. 30 00:01:20,310 --> 00:01:23,330 >> Taigi, savo žodžiais, ypač jei esate ne 31 00:01:23,330 --> 00:01:25,670 Super susipažinę su kompiuteriu mokslo ar duomenų bazės, kas 32 00:01:25,670 --> 00:01:30,790 jūs žinote, duomenų bazę, kad būtų dabar, kad nontechnical sąlygomis? 33 00:01:30,790 --> 00:01:32,300 Kas tai? 34 00:01:32,300 --> 00:01:36,882 Kaip jūs jį apibūdinti į kambarioku ar draugui? 35 00:01:36,882 --> 00:01:40,100 >> Auditorija: [nesigirdi] informaciją [nesigirdi] 36 00:01:40,100 --> 00:01:44,430 >> DAVID Malan: Taigi, informacijos sąrašas, arba store-- informacijos sąrašą 37 00:01:44,430 --> 00:01:47,160 kad jūs galbūt norėsite laikyti apie kažką, kaip vartotojas. 38 00:01:47,160 --> 00:01:50,190 Ir ką vartotojai turi su jais? 39 00:01:50,190 --> 00:01:53,160 Jei esate "Facebook" ar vartotojo "Gmail", kas yra savybės 40 00:01:53,160 --> 00:01:54,940 kad visi mūsų vartotojai? 41 00:01:54,940 --> 00:01:58,530 Kaip, kas gali būti kai kurie iš stulpeliai skaičiuoklės, į kuriuos mes 42 00:01:58,530 --> 00:01:59,390 užsiminė paskutinį kartą? 43 00:01:59,390 --> 00:02:01,140 Nes vėl, jūs galite manau, duomenų bazės 44 00:02:01,140 --> 00:02:05,810 tikrai kaip išgalvotas Excel failo arba Google Skaičiuoklės ar "Apple" numeriai failą. 45 00:02:05,810 --> 00:02:08,280 >> Taigi, ką manote apie kai manote, kad vartotojas? 46 00:02:08,280 --> 00:02:11,290 Ką jie turi? 47 00:02:11,290 --> 00:02:11,790 Kas tai? 48 00:02:11,790 --> 00:02:12,470 >> Auditorija: pavadinimas. 49 00:02:12,470 --> 00:02:13,303 >> DAVID Malan: pavadinimas. 50 00:02:13,303 --> 00:02:16,840 Taigi, jei vardas, kaip ir David Malan būtų iš tam tikru vartotojo vardą. 51 00:02:16,840 --> 00:02:17,980 Ką dar veikia naudotojas turi? 52 00:02:17,980 --> 00:02:18,770 >> AUDITORIJA: an ID. 53 00:02:18,770 --> 00:02:19,561 >> DAVID Malan: an ID. 54 00:02:19,561 --> 00:02:23,320 Taigi, kaip tapatybės dokumento numeris, kaip jūsų Harvardo ID arba jūsų Jeilio Grynasis ID ar pan. 55 00:02:23,320 --> 00:02:24,923 Ką dar gali naudotojas turi? 56 00:02:24,923 --> 00:02:25,890 >> AUDITORIJA: Slaptažodis. 57 00:02:25,890 --> 00:02:29,240 >> DAVID Malan: slaptažodį, o gal Adresas, gal telefono numerį, gal 58 00:02:29,240 --> 00:02:30,050 elektroninio pašto adresą. 59 00:02:30,050 --> 00:02:32,640 Taigi, ten kekių srityse ir tai gali rūšiuoti nebevaldomi 60 00:02:32,640 --> 00:02:34,760 greitai, kaip greitai, kaip jūs pradėti suprasdamas, OH, tegul saugo šią 61 00:02:34,760 --> 00:02:36,190 ir tegul laikyti šį bei tą. 62 00:02:36,190 --> 00:02:37,657 >> Bet kaip mes iš tikrųjų tai padaryti? 63 00:02:37,657 --> 00:02:39,740 Taigi dar kartą, psichikos modelis turėti šiandien, kaip mes 64 00:02:39,740 --> 00:02:42,320 pasinerti į tikrąjį SQL, Struktūrinių užklausų kalba, 65 00:02:42,320 --> 00:02:44,186 yra duomenų, kad atrodo taip. 66 00:02:44,186 --> 00:02:45,310 Tai tik eilutes ir stulpelius. 67 00:02:45,310 --> 00:02:48,309 Ir jūs galite įsivaizduoti "Google" skaičiuoklės arba bet kuri kita programų skaičius. 68 00:02:48,309 --> 00:02:52,130 Bet kas svarbiausia apie MySQL, kuri yra duomenų bazės programinė įranga mes ketiname naudoti, 69 00:02:52,130 --> 00:02:54,920 laisvai nustatytas atvirai available-- Facebook naudojimo 70 00:02:54,920 --> 00:02:59,200 IT ir bet kita websites-- skaičius duomenų bazė saugo dalykus relationally. 71 00:02:59,200 --> 00:03:01,770 Ir reliacinės duomenų bazės tiesiog reiškia viena, kad pažodžiui 72 00:03:01,770 --> 00:03:03,672 saugo savo duomenų eilučių ir stulpelių. 73 00:03:03,672 --> 00:03:04,630 Tai taip paprasta, kaip kad. 74 00:03:04,630 --> 00:03:07,230 >> Taigi, net kažkas panašaus į "Oracle", kad Jūs galbūt jau apskritai girdėję 75 00:03:07,230 --> 00:03:08,271 yra reliacinės duomenų bazės. 76 00:03:08,271 --> 00:03:10,929 Ir po gaubtu, ją parduotuvės duomenis eilučių ir stulpelių. 77 00:03:10,929 --> 00:03:12,970 Ir Oracle įkrauna Jums daug pinigų, kaip tai padaryti, 78 00:03:12,970 --> 00:03:15,550 o MySQL mokesčių tu nieko už tą patį. 79 00:03:15,550 --> 00:03:18,790 Taigi, "SQL ketina duoti mums bent keturi operacijos. 80 00:03:18,790 --> 00:03:23,190 Gebėjimas pasirinkti duomenis, kaip skaitytą duomenys, įterpti, ištrinti, atnaujinti duomenis. 81 00:03:23,190 --> 00:03:25,525 Kitaip tariant, jie yra tikrai keturi pagrindiniai veiksmai 82 00:03:25,525 --> 00:03:28,950 kad ketina leisti mums pakeisti Daiktai tose eilučių ir stulpelių. 83 00:03:28,950 --> 00:03:33,250 >> Šis įrankis, kad mes naudosime šiandien ypač išmokti SQL ir žaisti su juo 84 00:03:33,250 --> 00:03:34,627 vėl vadinamas PHP MyAdmin. 85 00:03:34,627 --> 00:03:35,460 Tai internetinė priemonė. 86 00:03:35,460 --> 00:03:38,200 Iš viso sutapimas, kad tai parašyta PHP. 87 00:03:38,200 --> 00:03:42,400 Bet jis ketina duoti mums grafinę vartotojo sąsaja, kad galėtume iš tikrųjų 88 00:03:42,400 --> 00:03:46,054 sukurti šias eilutes ir stulpelius ir tada pasikalbėti su jais per kodą. 89 00:03:46,054 --> 00:03:47,970 Taigi, tegul dabar pradeda kas, manau, yra atvirai 90 00:03:47,970 --> 00:03:51,000 rūšies įdomus procesas pastato atgal pabaigoje interneto svetainėse, 91 00:03:51,000 --> 00:03:54,580 dalys, vartotojai negali pamatyti, bet tikrai tikrai rūpinasi, 92 00:03:54,580 --> 00:03:56,170 nes tai gana duomenys vyksta. 93 00:03:56,170 --> 00:03:59,570 Taigi, panašus į C, ir Šiek tiek mažiau kaip PHP, 94 00:03:59,570 --> 00:04:04,954 SQL arba duomenų bazę, kuri palaiko SQL yra bent šie duomenų tipai 95 00:04:04,954 --> 00:04:05,870 ir kekių kitiems. 96 00:04:05,870 --> 00:04:08,107 CHAR, VARCHAR, INT, bigint, Kablelio, ir DATETIME. 97 00:04:08,107 --> 00:04:09,940 Ir ten visai krūva kitų funkcijų, 98 00:04:09,940 --> 00:04:11,940 bet tegul tai padaryti būdas faktinio pavyzdyje. 99 00:04:11,940 --> 00:04:16,450 >> Aš ruošiuosi eiti į CS50 IDE Tais atvejais, kai iš anksto, aš prisijungęs 100 00:04:16,450 --> 00:04:19,372 ir aš taip pat aplankė URL Šis įrankis vadinamas PHP MyAdmin. 101 00:04:19,372 --> 00:04:22,580 Ir problema nustatyti septyni, mes pasakyti jums tiksliai, kaip patekti į šią sąsają 102 00:04:22,580 --> 00:04:23,200 taip pat. 103 00:04:23,200 --> 00:04:25,640 Viršutiniame kairiajame kampe, pastebėti ji sako paskaitą. 104 00:04:25,640 --> 00:04:27,610 Ir tai tiesiog reiškia, kad iš anksto, aš sukūriau 105 00:04:27,610 --> 00:04:31,360 tuščia duomenų bazė vadinama paskaita kad neturi į jį skaičiuoklės dar. 106 00:04:31,360 --> 00:04:32,600 Nėra jokių eilutes ir stulpelius. 107 00:04:32,600 --> 00:04:34,308 Kadangi pirmasis dalykas mes ketiname daryti 108 00:04:34,308 --> 00:04:37,100 yra pradėti sukurti lentelę kad ketina laikyti mūsų vartotojams. 109 00:04:37,100 --> 00:04:39,100 >> Taigi, tiesiog per čia į dešinę, aš 110 00:04:39,100 --> 00:04:42,070 norėčiau papasakoti duomenų bazę Noriu lentelė vadinama vartotojams. 111 00:04:42,070 --> 00:04:44,845 Taigi, tai yra, kaip failo, kad aš norite išsaugoti visus savo duomenis. 112 00:04:44,845 --> 00:04:45,720 Ir kiek stulpeliai? 113 00:04:45,720 --> 00:04:47,740 Na, tegul keep it simple dabar. 114 00:04:47,740 --> 00:04:51,855 Aš tik noriu laikyti tarsi vardas ir už naudotojo vardą. 115 00:04:51,855 --> 00:04:53,020 Pradėsime mažas. 116 00:04:53,020 --> 00:04:55,370 Taigi, aš noriu du stulpelius iš viso. 117 00:04:55,370 --> 00:04:57,360 Ir aš ruošiuosi eiti į priekį ir spustelėkite Vykdyti. 118 00:04:57,360 --> 00:04:59,210 Ir tada, ir tai kolonos, ką aš ruošiuosi 119 00:04:59,210 --> 00:05:04,576 į do-- jei tai internete cooperates-- visą teisę, 120 00:05:04,576 --> 00:05:05,950 todėl mes ketiname išbandyti, kad dar kartą. 121 00:05:05,950 --> 00:05:09,180 Aš ruošiuosi sukurti lentelę, pavadintą Vartotojai su dviem stulpeliais, spustelėkite Eiti, Gerai. 122 00:05:09,180 --> 00:05:10,520 Dabar mes turime tai tikrai greitai. 123 00:05:10,520 --> 00:05:12,065 Ačiū, labai gerai padaryta. 124 00:05:12,065 --> 00:05:14,440 Gerai, Taigi, ką mes norime Šie stulpeliai turi būti vadinama? 125 00:05:14,440 --> 00:05:16,080 >> Taigi, vienas ketina būti vadinamas Nick. 126 00:05:16,080 --> 00:05:19,480 Taigi, visi matau here-- ir sąsaja atvirai gauna šiek tiek negraži, galų gale, 127 00:05:19,480 --> 00:05:21,270 Kai pradėsite rašyti visose šiais duomenimis. 128 00:05:21,270 --> 00:05:27,450 Bet kas malonu yra tai, kad rūšiuoti Paradoksalu, aš sukurti stulpelius, 129 00:05:27,450 --> 00:05:29,977 bet įrankis turi kvailai nustatyta juos eilėmis 130 00:05:29,977 --> 00:05:31,560 taip, kad aš galiu sukonfigūruoti šiuos stulpelius. 131 00:05:31,560 --> 00:05:33,550 Taigi, ten du ruošiniai ten pagal vardą. 132 00:05:33,550 --> 00:05:36,180 Ir vienas iš šių sričių Aš noriu vadinamas vardu, 133 00:05:36,180 --> 00:05:38,000 o kitas lauke noriu skambinti, vardą. 134 00:05:38,000 --> 00:05:40,340 >> Ir dabar aš turiu pasirinkti duomenų tipai šių dalykų. 135 00:05:40,340 --> 00:05:42,330 Taigi, kadangi Excel ir "Google" skaičiuoklės, 136 00:05:42,330 --> 00:05:45,531 jei norite stulpelį, galite tiesiog tiesiog įveskite vardą arba vartotojo vardą, paspauskite Enter. 137 00:05:45,531 --> 00:05:48,030 Gal jūs galite padaryti jį paryškinti veido tik aiškumo, bet tai viskas. 138 00:05:48,030 --> 00:05:50,140 Jūs neturite nurodėte tipų stulpelius. 139 00:05:50,140 --> 00:05:53,790 Dabar "Google" skaičiuoklių ar Excel, jums gali nurodyti, kaip duomenys yra suteiktos. 140 00:05:53,790 --> 00:05:58,120 Jūs galite eiti į meniu Formatas, ir jūs galite nurodyti parodyti šią panašaus dolerio ženklas, 141 00:05:58,120 --> 00:05:59,900 rodo, kad tai, kaip slankiojo kablelio vertės. 142 00:05:59,900 --> 00:06:01,990 >> Taigi, jis panašus į dvasia kad tai, ką mes ruošiamės padaryti, 143 00:06:01,990 --> 00:06:04,740 bet tai iš tikrųjų vyksta priversti duomenys turi būti tam tikro tipo. 144 00:06:04,740 --> 00:06:07,750 Dabar, nors prieš akimirką aš sakė ten tik keletas duomenų tipai, 145 00:06:07,750 --> 00:06:11,120 ten tikrai visai daug, ir jie 146 00:06:11,120 --> 00:06:12,910 įvairaus laipsnio specifika. 147 00:06:12,910 --> 00:06:14,970 Ir kaip žemę, jūs netgi galite padaryti išgalvotas dalykų 148 00:06:14,970 --> 00:06:17,520 kaip saugojimo geometrija viduje bazę. 149 00:06:17,520 --> 00:06:19,250 Galite išsaugoti dalykus kaip GPS koordinatės 150 00:06:19,250 --> 00:06:22,420 ir tikrai rasite, matematiškai, Taškai, kurie yra arti kitiems. 151 00:06:22,420 --> 00:06:24,128 Tačiau mes ketiname išlaikyti šią super paprasta 152 00:06:24,128 --> 00:06:26,800 ir eiti į čia visus vadinamieji string tipai. 153 00:06:26,800 --> 00:06:29,240 >> Taigi, čia yra sąrašas visa krūva variantų. 154 00:06:29,240 --> 00:06:32,740 CHAR, VARCHAR, TINYTEXT, MEDIUMTEXT, LONGTEXT. 155 00:06:32,740 --> 00:06:34,110 Ir tai tipo absoliuti. 156 00:06:34,110 --> 00:06:37,610 Ir, deja, šiek tiek Paradoksalu C, 157 00:06:37,610 --> 00:06:40,120 char yra tikrai ne char. 158 00:06:40,120 --> 00:06:44,170 Jei nurodysite duomenų bazėje kad jūsų duomenų tipas yra CHAR, 159 00:06:44,170 --> 00:06:47,390 tai reiškia, kad taip, tai CHAR, bet tai vienas arba daugiau simbolių. 160 00:06:47,390 --> 00:06:49,630 Ir jūs turite nurodyti kiek simbolių norite. 161 00:06:49,630 --> 00:06:51,636 Taigi, kas tipiška ilgis vardą? 162 00:06:51,636 --> 00:06:52,760 Ar yra riba paprastai? 163 00:06:52,760 --> 00:06:53,920 >> Auditorija: [nesigirdi] 164 00:06:53,920 --> 00:06:55,050 >> DAVID Malan: 16 gal? 165 00:06:55,050 --> 00:06:55,990 Kažkas panašaus. 166 00:06:55,990 --> 00:06:57,948 Žinote, atgal į dieną, jis naudojamas aštuoni. 167 00:06:57,948 --> 00:07:00,289 Kartais tai 16, kartais tai dar daugiau nei tai. 168 00:07:00,289 --> 00:07:02,080 Ir taip, tai nėra reiškia duoti man vieną CHAR. 169 00:07:02,080 --> 00:07:04,730 Tai reiškia, kad aš turiu nurodyti laukų ilgį, 170 00:07:04,730 --> 00:07:07,402 ir dabar galiu pasakyti kažką panašaus į 16. 171 00:07:07,402 --> 00:07:08,610 Ir ten ne čia prekyba. 172 00:07:08,610 --> 00:07:11,360 Taigi, matysime per akimirką kad tai reiškia, viena, 173 00:07:11,360 --> 00:07:14,620 kiekvienas vardas turi būti 16 simbolių. 174 00:07:14,620 --> 00:07:18,720 Bet palauk, M-A-L-A-N. Jei tai my username ir aš naudoju tik penki, 175 00:07:18,720 --> 00:07:23,070 ką siūlytumėte, kad duomenų bazė padaryti dėl kitų 11 simbolių, kad 176 00:07:23,070 --> 00:07:24,471 Aš saugomos erdvę? 177 00:07:24,471 --> 00:07:25,220 Ką tu darytum? 178 00:07:25,220 --> 00:07:26,480 >> Auditorija: [nesigirdi] 179 00:07:26,480 --> 00:07:27,160 >> DAVID Malan: Taip, tik padaryti juos visus null. 180 00:07:27,160 --> 00:07:28,290 Padaryti juos tarpų. 181 00:07:28,290 --> 00:07:30,816 Bet tikriausiai niekinis, todėl daug backslash nuliais. 182 00:07:30,816 --> 00:07:33,190 Taigi, viena vertus, mes su dabar pasistengėme, kad my username 183 00:07:33,190 --> 00:07:34,780 gali būti ne daugiau kaip 16 simbolių. 184 00:07:34,780 --> 00:07:37,590 Ir blogoji pusė, kuri yra kad jei aš turėjo tikrai ilgą pavadinimą 185 00:07:37,590 --> 00:07:39,940 arba norėjo tikrai ilgai naudotojo vardą, kaip kai kurie iš jūsų 186 00:07:39,940 --> 00:07:44,840 vaikinai gali turėti toje kolegijoje ar ne Yale.edu, jūs negalite turėti vieną. 187 00:07:44,840 --> 00:07:47,177 Ir taip iš tiesų, jei jūs kada registruotas svetainės 188 00:07:47,177 --> 00:07:49,385 ir gausite rėkė ne sakydamas Jūsų slaptažodis yra per ilgas 189 00:07:49,385 --> 00:07:52,710 arba jūsų vartotojo vardas yra per ilgas, tai tiesiog, nes programuotojas, kai 190 00:07:52,710 --> 00:07:55,500 konfigūruoti jo ar jos duomenų bazę, nusprendė, kad šioje srityje 191 00:07:55,500 --> 00:07:57,150 būti ne ilgesnis nei šio ilgio. 192 00:07:57,150 --> 00:08:00,580 >> Gerai, tai kas, jei mes pereisime prie įvardyti? 193 00:08:00,580 --> 00:08:05,240 Ar ilgai Tipiškas Žmogaus vardas bus? 194 00:08:05,240 --> 00:08:07,492 Kiek simbolių, 16? 195 00:08:07,492 --> 00:08:09,450 Spėju, mes galime rasti žmogų, šiame kambaryje 196 00:08:09,450 --> 00:08:13,210 kur jo ar jos pirmos plius paskutinio vardas yra ilgesnis nei 16 simbolių. 197 00:08:13,210 --> 00:08:14,850 Taigi, kas geriau nei, kad 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 Didesnis? 201 00:08:20,350 --> 00:08:20,980 30? 202 00:08:20,980 --> 00:08:21,855 >> Auditorija: [nesigirdi] 203 00:08:21,855 --> 00:08:23,700 DAVID Malan: 5000, Oh My God. 204 00:08:23,700 --> 00:08:26,309 Taigi, tai tikriausiai padorus viršutinė riba, sakysime. 205 00:08:26,309 --> 00:08:28,350 Ir čia mes natūra turi kad teismo sprendimas skambutį. 206 00:08:28,350 --> 00:08:30,400 Kaip, nėra teisingas atsakymas čia. 207 00:08:30,400 --> 00:08:32,740 Begalinė yra ne visai įmanoma, nes mes galų gale 208 00:08:32,740 --> 00:08:34,781 ketina have-- mes ketina paleisti iš atminties. 209 00:08:34,781 --> 00:08:36,909 Taigi, mes turime padaryti Sprendimas skambutis tam tikru momentu. 210 00:08:36,909 --> 00:08:41,010 >> Labai dažnas būtų gali būti, pavyzdžiui, į use-- ir leiskite man nurodyti CHAR čia 211 00:08:41,010 --> 00:08:46,050 kaip before-- 255 buvo pažodžiui viršutinė riba dėl šio duomenų bazės programinę įrangą 212 00:08:46,050 --> 00:08:46,700 prieš daug metų. 213 00:08:46,700 --> 00:08:48,575 Ir taip, iš žmonių daug būtų tiesiog pasakyti, gerai. 214 00:08:48,575 --> 00:08:49,420 255 yra riba. 215 00:08:49,420 --> 00:08:50,620 Leiskite tiesiog naudokite didžiausias. 216 00:08:50,620 --> 00:08:51,870 Ir tai yra gana juokinga. 217 00:08:51,870 --> 00:08:55,060 Kaip, jei jūs įvedėte kažkas yra vardas 200 plius simbolių, 218 00:08:55,060 --> 00:08:56,140 kad šiek tiek juokinga. 219 00:08:56,140 --> 00:08:59,624 >> Tačiau atminkite, kad ASCII nėra vienintelė sistema simbolių. 220 00:08:59,624 --> 00:09:01,540 Ir taip, ypač daug Azijos kalbomis 221 00:09:01,540 --> 00:09:04,248 ten, kur personažai mes negalime Express klaviatūros, pavyzdžiui, mano JAV 222 00:09:04,248 --> 00:09:08,209 klaviatūra, kai kurie simboliai faktiškai užtrukti iki 16 bitų vietoj aštuonių bitų. 223 00:09:08,209 --> 00:09:10,250 Ir taip, tai iš tiesų yra ne visi, kad neprotinga 224 00:09:10,250 --> 00:09:12,250 kad mums reikia daugiau vietos, jei norime, kad tilptų 225 00:09:12,250 --> 00:09:16,252 didesni simbolių nei pačiame JAV centric tie mes linkę diskutuoti. 226 00:09:16,252 --> 00:09:17,460 Taigi, mes turime kai viršutinė riba. 227 00:09:17,460 --> 00:09:21,470 Aš nežinau, kas geriausia iš jų yra, bet 255 paprastai yra paplitusi. 228 00:09:21,470 --> 00:09:22,700 25 jaučiasi mažas. 229 00:09:22,700 --> 00:09:23,857 16, 32 jaučiasi mažas. 230 00:09:23,857 --> 00:09:25,690 Norėčiau klysti ant šono kažko daugiau. 231 00:09:25,690 --> 00:09:27,330 Bet ten kompromisą, kaip visada. 232 00:09:27,330 --> 00:09:31,902 Kas yra, ko gero, akivaizdu, kompromisą rezervuoti 255 simbolių 233 00:09:31,902 --> 00:09:33,360 kad kiekvienas vardas mano duomenų bazėje? 234 00:09:33,360 --> 00:09:34,230 >> Auditorija: [nesigirdi] 235 00:09:34,230 --> 00:09:34,510 >> DAVID Malan: Kas tai? 236 00:09:34,510 --> 00:09:35,430 >> Auditorija: [nesigirdi] 237 00:09:35,430 --> 00:09:37,138 >> DAVID Malan: Tai daug atminties, tiesa? 238 00:09:37,138 --> 00:09:42,280 M-A-L-A-N. Aš tiesiog švaistomi 250 simbolių tiesiog laikyti savo vardą 239 00:09:42,280 --> 00:09:46,000 gintis, tik tuo atveju kažkas klasėje yra tikrai ilgą pavadinimą. 240 00:09:46,000 --> 00:09:47,940 Tai atrodo kaip nepagrįsto kompromisas. 241 00:09:47,940 --> 00:09:52,040 >> Taigi, it turns out, kad SQL, Ši duomenų bazė kalba, 242 00:09:52,040 --> 00:09:55,480 iš tikrųjų palaiko kažką vadinamas VARCHAR, arba kintamo CHAR. 243 00:09:55,480 --> 00:09:59,390 Ir tai yra rūšies gražus, kad šis Leidžia nustatyti ne fiksuotas 244 00:09:59,390 --> 00:10:01,900 plotis, o, kintamo pločio. 245 00:10:01,900 --> 00:10:05,060 Ir dar Konkrečiai, didžiausias plotis srityje. 246 00:10:05,060 --> 00:10:08,901 Taigi, tai reiškia, kad vardas gali būti ne daugiau kaip 250 ženklų, 247 00:10:08,901 --> 00:10:10,150 bet tai tikrai gali būti mažiau. 248 00:10:10,150 --> 00:10:11,733 Ir bazė bus protingas. 249 00:10:11,733 --> 00:10:14,860 Jei įdėti į M-A-L-A-N, tai tik ketina naudoti penki, 250 00:10:14,860 --> 00:10:18,120 gal šešis baitų kaip sekantį niekinis pobūdis, 251 00:10:18,120 --> 00:10:23,330 o ne išleisti papildomas 249 arba 250 baitų be reikalo. 252 00:10:23,330 --> 00:10:27,380 >> Taigi, tai atrodo turėčiau pradėjo su šią istoriją. 253 00:10:27,380 --> 00:10:29,140 Bet visada yra kompromisas. 254 00:10:29,140 --> 00:10:33,024 Taigi, viena vertus, vartotojo vardą aš nurodyta, kad bus sunku koduojami 16 metų, 255 00:10:33,024 --> 00:10:34,940 o gal tai buvo ne teisė skambutis, gal jis 256 00:10:34,940 --> 00:10:40,040 yra, bet kodėl gi ne naudoti VARCHARs už viską? 257 00:10:40,040 --> 00:10:42,020 >> Ji egzistuoja priežasties. 258 00:10:42,020 --> 00:10:46,200 Kodėl gi ne naudoti VARCHARs kiekvienam srityje kurio ilgis jums nereikia žinoti iš anksto 259 00:10:46,200 --> 00:10:48,180 jei ji atrodo puikus dalykas, tiesa? 260 00:10:48,180 --> 00:10:50,482 Naudokite tik vietos kiek jums reikia iki šios ribos? 261 00:10:50,482 --> 00:10:51,271 >> Auditorija: lėčiau. 262 00:10:51,271 --> 00:10:52,146 DAVID Malan: Speller? 263 00:10:52,146 --> 00:10:53,120 Auditorija: Leidžia lėčiau? 264 00:10:53,120 --> 00:10:53,970 DAVID Malan: O, tai lėčiau. 265 00:10:53,970 --> 00:10:55,720 Geras, tai beveik visada atsakymas, tiesą sakant. 266 00:10:55,720 --> 00:10:56,520 Kaip, kas yra kompromisas? 267 00:10:56,520 --> 00:10:58,570 Tai tiek kainuoja daugiau erdvės ar tai kainuoja daugiau laiko. 268 00:10:58,570 --> 00:11:00,111 Taigi, šiuo atveju, tai gali būti lėtesnis. 269 00:11:00,111 --> 00:11:00,920 Kodėl? 270 00:11:00,920 --> 00:11:05,830 >> Auditorija: [nesigirdi] Nustatant [nesigirdi]. 271 00:11:05,830 --> 00:11:06,640 >> DAVID Malan: Geras. 272 00:11:06,640 --> 00:11:09,670 Taigi, jums gali prisiminti net iš PSED5, žaisti su savo požiūrio 273 00:11:09,670 --> 00:11:12,750 į žodyną, jei turite paskirstyti atmintį dinamiškai arba laikyti 274 00:11:12,750 --> 00:11:14,630 auga buferį, kad iš tikrųjų gali būti lėtas. 275 00:11:14,630 --> 00:11:16,963 Jei jūs turite skambinti malloc po kapotu, o gal 276 00:11:16,963 --> 00:11:19,610 kad tai, ką MySQL daro, todėl tikrai, kad gali būti tas atvejis. 277 00:11:19,610 --> 00:11:22,430 Ir jei jūs manote būdas Atgal į PSet-- ar net 278 00:11:22,430 --> 00:11:26,340 dvi savaites, kai mes padarėme dalykų, pavyzdžiui, dvejetainis paieškos ar net linijinis paieška, 279 00:11:26,340 --> 00:11:30,690 vienas iš gražumynai apie kiekvieną žodį į duomenų bazę ar kiekvieno žodžio stulpelio 280 00:11:30,690 --> 00:11:33,690 yra lygiai taip pat, ilgis, net jei visa krūva tų ženklų 281 00:11:33,690 --> 00:11:37,390 yra tuščias, yra tai, kad jūs galite naudoti laisvosios kreipties savo duomenis, tiesa? 282 00:11:37,390 --> 00:11:40,310 >> Jei žinote, kad kiekvienas Žodis yra 16 simbolių toli, 283 00:11:40,310 --> 00:11:46,460 galite naudoti rodyklę aritmetikos, taip kalbėti, ir eiti į mus 16, 32, 48, 64, 284 00:11:46,460 --> 00:11:49,589 ir jūs galite tiesiog šokti Nedelsiant naudojant aritmetinį 285 00:11:49,589 --> 00:11:51,130 bet kurį iš savo duomenų bazės žodžiai. 286 00:11:51,130 --> 00:11:54,280 Kadangi, jei tai VARCHAR, ką jūs, o ne daryti? 287 00:11:54,280 --> 00:11:55,960 >> [Telefono skambutį] 288 00:11:55,960 --> 00:11:58,680 >> Jei tai VARCHAR, jums Negalite naudoti laisvą prieigą. 289 00:11:58,680 --> 00:12:01,341 Ką jūs turite ieškoti ir daryti? 290 00:12:01,341 --> 00:12:01,840 Taip? 291 00:12:01,840 --> 00:12:03,240 >> Auditorija: [nesigirdi] 292 00:12:03,240 --> 00:12:04,310 >> DAVID Malan: Pažvelkite per whole-- pėdsakų 293 00:12:04,310 --> 00:12:06,518 per visą sąrašą ko, greičiausiai? 294 00:12:06,518 --> 00:12:08,356 Kokios turi ypatingą vertę? 295 00:12:08,356 --> 00:12:09,230 Auditorija: [nesigirdi] 296 00:12:09,230 --> 00:12:11,105 DAVID Malan: Domina už neapibrėžtų Terminatorius 297 00:12:11,105 --> 00:12:13,637 kad paženklina žodžių atskyrimą. 298 00:12:13,637 --> 00:12:15,720 Taigi dar kartą, kompromisas, ir nėra teisingas atsakymas. 299 00:12:15,720 --> 00:12:18,380 Bet tai kur, ypač kai jūsų vartotojai gauti turi būti daug 300 00:12:18,380 --> 00:12:21,700 ir jūsų apkrova jūsų serverių, The žmonių skaičius, naudojant ji pasireiškia didelis, 301 00:12:21,700 --> 00:12:23,650 tai yra iš tikrųjų nontrivial sprendimai. 302 00:12:23,650 --> 00:12:26,640 Taigi, mes galime palikti tai, kaip šis, bet tegul slinkite žemyn daugiau nei į dešinę 303 00:12:26,640 --> 00:12:27,332 čia. 304 00:12:27,332 --> 00:12:30,290 Dabar ten stulpelių pora kur mes turime priimti sprendimą skambutį. 305 00:12:30,290 --> 00:12:35,170 Ar tai prasminga leisti vartotojo anketa pavadinimą, vartotojo vardas arba vartotojo anketa 306 00:12:35,170 --> 00:12:36,370 Vardas, būti niekinis? 307 00:12:36,370 --> 00:12:37,610 Tai yra, tik tuščias. 308 00:12:37,610 --> 00:12:40,360 Jaučiasi šiek tiek absurdiškas, todėl aš nesiruošia patikrinti tuos langelius. 309 00:12:40,360 --> 00:12:42,670 Tačiau paaiškėja, A duomenų bazė, galima sakyti, 310 00:12:42,670 --> 00:12:44,620 kas nors gali pasirinktinai turėti šią vertę. 311 00:12:44,620 --> 00:12:47,180 Šis stulpelis nėra iš tikrųjų ten. 312 00:12:47,180 --> 00:12:48,570 >> Dabar ten tai išskleidžiamasis meniu. 313 00:12:48,570 --> 00:12:50,810 Ir pastebėsite aš vis dar pirmoje eilėje yra, 314 00:12:50,810 --> 00:12:52,520 todėl aš kalbu apie vardą dabar. 315 00:12:52,520 --> 00:12:56,290 Ir paaiškėja, kad į duomenų bazę, skirtingai nuo paprasto tik skaičiuoklę, 316 00:12:56,290 --> 00:12:58,520 turi galingų funkcijų, vadinamų indeksai. 317 00:12:58,520 --> 00:13:02,600 Ir indeksas yra pasakoti būdas duomenų anksto, kad Aš, žmogaus 318 00:13:02,600 --> 00:13:03,900 esu protingesni nei jūs. 319 00:13:03,900 --> 00:13:10,430 >> Aš žinau, ką rūšių užklausas, pasirinkite arba įdėkite arba ištrinti arba atnaujinti, 320 00:13:10,430 --> 00:13:13,182 kad mano kodas ketina baigti gale padaryti šio duomenų. 321 00:13:13,182 --> 00:13:14,390 Noriu skaityti daug duomenų. 322 00:13:14,390 --> 00:13:15,681 Noriu įrašyti daug duomenų. 323 00:13:15,681 --> 00:13:17,530 Noriu nuolat ištrinti daug duomenų. 324 00:13:17,530 --> 00:13:21,520 Jei aš žinau, kad aš ruošiuosi būti susipažinimo lauką kaip vardas daug, 325 00:13:21,520 --> 00:13:24,770 Galiu Preemptively pasakys duomenų bazė, aš žinau daugiau nei tu, 326 00:13:24,770 --> 00:13:29,220 ir aš noriu, kad dekretu jums reikia indekso šioje srityje. 327 00:13:29,220 --> 00:13:33,200 Kur indeksavimo lauką ar stulpelį tai reiškia, kad iš anksto duomenų 328 00:13:33,200 --> 00:13:37,040 turėtų skolintis idėjų iš, pavyzdžiui, keturių savaičių ir penkių ir šešių iš CS50 329 00:13:37,040 --> 00:13:39,240 ir iš tikrųjų sukurti kažkas panašaus į dvejetainį paieškos 330 00:13:39,240 --> 00:13:41,560 medis ar kažkas paprastai vadinamas B medis 331 00:13:41,560 --> 00:13:43,410 kad jums būtų sužinoti A klasei, kaip CS124 332 00:13:43,410 --> 00:13:46,710 Harvarde, algoritmai klasė, arba bet kitose vietose, skaičius. 333 00:13:46,710 --> 00:13:49,570 >> Duomenų bazė ir protingas žmonės, kurie ją įgyvendino 334 00:13:49,570 --> 00:13:53,880 bus išsiaiškinti, kaip saugoti kad informacijos stalas 335 00:13:53,880 --> 00:13:57,061 atmintyje taip, kad paieškų ir Kitos operacijos yra super greitai. 336 00:13:57,061 --> 00:13:58,060 Jūs neturite daryti. 337 00:13:58,060 --> 00:14:00,640 Jūs neturite įgyvendinti linijinis paieška ar dvejetainis paieškos 338 00:14:00,640 --> 00:14:03,300 arba sujungti rūšiuoti arba pasirinkimą rūšiuoti, bet, kad. 339 00:14:03,300 --> 00:14:06,590 Duomenų bazė daro tai už jus, jei jūs pasakyti tai Preemptively indeksuoti šioje srityje. 340 00:14:06,590 --> 00:14:09,100 >> Ir jūs galite pamatyti irgi ten kai kurios kitos charakteristikos 341 00:14:09,100 --> 00:14:11,010 mes galime pasakyti, duomenų bazės įgyvendinti. 342 00:14:11,010 --> 00:14:16,431 Ką jis galėtų reikšti, jei aš pasirinksiu Unikalūs Iš šio meniu, tiesiog intuityviai? 343 00:14:16,431 --> 00:14:16,930 Taip? 344 00:14:16,930 --> 00:14:17,889 >> Auditorija: [nesigirdi] 345 00:14:17,889 --> 00:14:19,930 DAVID Malan: Taip, Nick turi būti unikalus. 346 00:14:19,930 --> 00:14:23,330 Ar tai geras dalykas ar blogas dalykas duomenų bazė, už svetainės su vartotojais? 347 00:14:23,330 --> 00:14:24,965 Jeigu vardai būti unikalus? 348 00:14:24,965 --> 00:14:25,880 Taip, tikriausiai. 349 00:14:25,880 --> 00:14:27,800 Jei tai, ką srityje mes naudojame prisijungti, 350 00:14:27,800 --> 00:14:31,867 jūs tikrai norite žmonės, turintys tas pats jausmas ar tą patį vartotojo vardą. 351 00:14:31,867 --> 00:14:33,700 Taigi, mes galime turėti duomenų įgyvendinti, kad tiek 352 00:14:33,700 --> 00:14:37,880 kad dabar mano PHP kodą arba bet kokia kalba, Aš neturiu, pavyzdžiui, patikrinti 353 00:14:37,880 --> 00:14:41,490 nebūtinai daro šį vardą egzistuoja, kol aš tegul kas nors registruotis? 354 00:14:41,490 --> 00:14:46,690 Duomenų bazė neleis du žmonės pavadino Davidas arba Malans užsiregistruoti šioje byloje. 355 00:14:46,690 --> 00:14:50,030 >> Ir kaip panaikinti, nors tai Meniu tik leidžia jums pasirinkti vieną, 356 00:14:50,030 --> 00:14:54,550 unikalus indeksas yra vienas, kad yra indeksuojami super greitai atlikti, 357 00:14:54,550 --> 00:14:56,100 tačiau ji taip pat įtvirtina unikalumą. 358 00:14:56,100 --> 00:14:58,850 Ir mes grįžti į ką kiti du reiškia tik akimirką. 359 00:14:58,850 --> 00:15:00,930 Tuo tarpu, jei aš einu į mano antroji eilutė, kuri 360 00:15:00,930 --> 00:15:06,230 yra vartotojo vardas, turėčiau nurodyti kad pavadinimas turi būti unikalus? 361 00:15:06,230 --> 00:15:09,550 Ne, nes jūs tikrai galėtų have-- nėra dviejų Davidas 362 00:15:09,550 --> 00:15:11,050 Malans šiame kambaryje, greičiausiai. 363 00:15:11,050 --> 00:15:14,290 Bet jei mes pasirinkti kitą vardą, mes tikrai gali turėti susidūrimų. 364 00:15:14,290 --> 00:15:16,130 >> Prisiminkite maišos lenteles ir pan. 365 00:15:16,130 --> 00:15:18,604 Taigi, mes tikrai nenorime kad pavadinimas laukas unikalus. 366 00:15:18,604 --> 00:15:21,270 Taigi, mes tik ketina palikti kad brūkšnys, brūkšnys, brūkšnys, nieko. 367 00:15:21,270 --> 00:15:22,660 Ir aš ruošiuosi palikti visa kita vieni. 368 00:15:22,660 --> 00:15:25,035 Iš tiesų, dauguma šiose srityse mes ne rūpintis. 369 00:15:25,035 --> 00:15:27,830 Ir kai aš pasiruošęs išgelbėti tai, jei internete bendradarbiauja, 370 00:15:27,830 --> 00:15:35,032 Aš spustelėkite Įrašyti ir labai, labai, labai lėtai veikia duomenų bazė gauti išsaugotas. 371 00:15:35,032 --> 00:15:37,240 Ir dabar aš vėl tai sąsaja, kuri tiesa, 372 00:15:37,240 --> 00:15:38,680 yra milžiniška iš pirmo žvilgsnio. 373 00:15:38,680 --> 00:15:42,450 Bet viskas, ką aš ruošiuosi padaryti, tai spauskite ant žodžio Vartotojai viršuje kairėje. 374 00:15:42,450 --> 00:15:47,630 Aš ruošiuosi eiti čia, spauskite Vartotojai, ir pagal nutylėjimą, jį 375 00:15:47,630 --> 00:15:50,180 įvykdė keletą SQL, bet daugiau apie tai per akimirką. 376 00:15:50,180 --> 00:15:52,654 Štai tik santrauka, ką aš padariau. 377 00:15:52,654 --> 00:15:55,320 Ir ne nerimauti, kad matote paminėti lotynų ir švedų čia. 378 00:15:55,320 --> 00:16:00,490 Tai yra tik numatytasis parametrus, nes MySQL pradžių, 379 00:16:00,490 --> 00:16:04,000 arba PHP MyAdmin, vienas iš dviejų atsitiko turi būti parašyta kai kuriose Švedijos gyventojų. 380 00:16:04,000 --> 00:16:06,100 Bet tai nesvarbu, mūsų atveju čia. 381 00:16:06,100 --> 00:16:08,280 >> Gerai, tai kodėl visa tai įdomu? 382 00:16:08,280 --> 00:16:13,050 Pasirodo, galiu įterpti duomenis į raštu kodą bazę. 383 00:16:13,050 --> 00:16:15,940 Ir aš eiti į priekį ir mano failą čia aš 384 00:16:15,940 --> 00:16:19,000 ketina eiti į priekį ir apsimesti, kaip tai yra sumontuota į tą duomenų bazėje, kuri 385 00:16:19,000 --> 00:16:23,040 ji yra ne tada,, tačiau ji bus būti, kai mes gauname problema nustatyti septyni. 386 00:16:23,040 --> 00:16:25,640 Ir aš ruošiuosi eiti į priekį ir vykdyti tam tikrą funkciją, vadinamą užklausos, 387 00:16:25,640 --> 00:16:28,730 kurį mes duos jums problemos septynis platinimo kodą, kad 388 00:16:28,730 --> 00:16:31,490 trunka bent vieną argumentą, kuri yra tik eilutė. 389 00:16:31,490 --> 00:16:33,460 A SQL kodą eilutė. 390 00:16:33,460 --> 00:16:36,700 Taigi, jūs ketinate mokytis, kaip rašyti Struktūrinių užklausų kalba. 391 00:16:36,700 --> 00:16:41,270 >> Jei aš noriu įterpti naują eilutę į mano duomenų, nes kažkas pateikė 392 00:16:41,270 --> 00:16:47,600 forma, kad mano kodas, aš norėčiau tiesiog rašyti INSERT INTO vartotojai taip 393 00:16:47,600 --> 00:16:52,800 sritys: vartotojo vardą, kablelis, vardas, vertybes, 394 00:16:52,800 --> 00:16:57,480 o dabar man reikia įterpti kažkas panašaus Malan ir citatos 395 00:16:57,480 --> 00:17:01,490 citatos pabaiga David Malan. Ir dabar net tiems, susipažinę su SQL, 396 00:17:01,490 --> 00:17:07,830 kodėl aš naudoju Viengubomis kabutėmis viduje Šios žaliosios eilutę? 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 Kas gali būti priežastis čia? 399 00:17:13,040 --> 00:17:14,609 >> Atkreipkite dėmesį, aš susimaišymo dviem kalbomis. 400 00:17:14,609 --> 00:17:18,099 Užklausa yra PHP funkcijos, bet tai užima argumentas. 401 00:17:18,099 --> 00:17:21,740 Ir šis argumentas turi būti savaime parašyta kita kalba vadinamas 402 00:17:21,740 --> 00:17:23,500 SQL Struktūrinių užklausų kalba. 403 00:17:23,500 --> 00:17:27,940 Taigi, viskas, kad aš ką tik pabrėžė čia 404 00:17:27,940 --> 00:17:30,380 tai kalba vadinama "SQL. 405 00:17:30,380 --> 00:17:36,290 Taigi, kas su apostrofais, kaip greitai normalumas patikrinti? 406 00:17:36,290 --> 00:17:37,324 Pirmyn. 407 00:17:37,324 --> 00:17:37,990 Jie eilutes. 408 00:17:37,990 --> 00:17:41,590 Taigi, citata, citatos pabaiga Malan ir citata, citatos pabaiga Davidas Malan yra įsipareigojimų. 409 00:17:41,590 --> 00:17:45,210 Ir tiesiog galvoju intuityviai dabar žinant, ką žinote apie C ir PHP, 410 00:17:45,210 --> 00:17:50,220 kodėl aš ne tai, kurią aš paprastai Naudotų kabutes styginiams? 411 00:17:50,220 --> 00:17:52,310 Kodėl aš nenoriu to daryti? 412 00:17:52,310 --> 00:17:52,810 Taip? 413 00:17:52,810 --> 00:17:53,685 >> Auditorija: [nesigirdi] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 DAVID Malan: Būtent. 416 00:17:57,570 --> 00:17:59,653 Nes aš jau naudoju dvigubose kabutėse kelyje 417 00:17:59,653 --> 00:18:01,929 išorėje argumentas PHP funkcijos, 418 00:18:01,929 --> 00:18:03,470 Aš tiesiog painioja vertėją. 419 00:18:03,470 --> 00:18:04,860 Jis nežino, ar jie eiti kartu? 420 00:18:04,860 --> 00:18:05,735 Ar šie eiti kartu? 421 00:18:05,735 --> 00:18:06,810 Ar šie eiti kartu? 422 00:18:06,810 --> 00:18:08,070 Taigi, aš pakaitomis vietoj. 423 00:18:08,070 --> 00:18:11,784 >> Arba aš galėtų padaryti kažką panašaus į tai, Backslash citata ar Backslash citata. 424 00:18:11,784 --> 00:18:14,200 Atvirai kalbant, kad tik pradeda gauti labai neįskaitomas ir negraži. 425 00:18:14,200 --> 00:18:16,790 Bet, kad būtų pasiekti tas pats rezultatas, taip pat. 426 00:18:16,790 --> 00:18:19,760 >> Taigi, jei aš buvo atlikti tai Užklausa dabar pažiūrėkime, kas vyksta. 427 00:18:19,760 --> 00:18:22,740 Aš ruošiuosi eiti į priekį ir dabar, o nei vykdyti PHP kodą, kuris 428 00:18:22,740 --> 00:18:24,610 kur jums žaisti į problemą septynis, 429 00:18:24,610 --> 00:18:27,200 Aš ruošiuosi vietoj eiti į PHP MyAdmin. 430 00:18:27,200 --> 00:18:29,770 Ir aš rankiniu būdu vyksta eiti į SQL kortelėje 431 00:18:29,770 --> 00:18:31,580 ir leiskite man priartinkite sąsaja. 432 00:18:31,580 --> 00:18:34,007 Ir aš ruošiuosi įklijuokite dalykas aš tiesiog įvedėte. 433 00:18:34,007 --> 00:18:36,090 Ir spalvinis žymėjimas turi pasikeitė šiek tiek dabar 434 00:18:36,090 --> 00:18:38,750 tiesiog, nes programa formatai viskas šiek tiek kitaip. 435 00:18:38,750 --> 00:18:41,960 Tačiau pastebite, kad viskas, ką aš padariau yra Sakiau, įterpti į vartotojų. 436 00:18:41,960 --> 00:18:45,790 Aš nurodyta, tada kableliu atskirti skliausteliuose sąrašas du 437 00:18:45,790 --> 00:18:48,850 laukai, kad aš noriu įterpti, ir tada aš tiesiog pasakė vertės 438 00:18:48,850 --> 00:18:51,510 po kito skliaustelius, Ir tada dvi vertės 439 00:18:51,510 --> 00:18:53,520 Noriu plug-in, ir dabar gera priemonė, 440 00:18:53,520 --> 00:18:55,010 Aš įdėti kabliataškį pabaigoje. 441 00:18:55,010 --> 00:18:56,570 Taigi, tai ne C. Tai nėra PHP. 442 00:18:56,570 --> 00:18:59,970 Tai dabar SQL, ir aš įkelti jį į šią interneto sąsajoje ŠTAI 443 00:18:59,970 --> 00:19:02,710 tik ketina leisti man, kaip tik aš spustelėkite Eiti, 444 00:19:02,710 --> 00:19:08,060 vykdyti šią užklausą duomenų bazėje veikia viduje CS50 IDE. 445 00:19:08,060 --> 00:19:09,470 >> Taigi tai yra gerai. 446 00:19:09,470 --> 00:19:12,520 Atkreipkite dėmesį, kad sakė vienas eilėje įdėta, išėjo super greitai, 447 00:19:12,520 --> 00:19:15,190 0,0054 sekundžių įrašyti, kad duomenis. 448 00:19:15,190 --> 00:19:16,610 Taigi, tai skamba gana sveikas. 449 00:19:16,610 --> 00:19:19,350 Jis pertvarkė savo užklausą man čia tik jį pamatyti 450 00:19:19,350 --> 00:19:21,730 SORT spalvos koduojamos versiją. 451 00:19:21,730 --> 00:19:24,540 Bet dabar, jei aš spustelėkite Žmonės, pastebėsite, kad net 452 00:19:24,540 --> 00:19:29,070 nors ten netvarką aikštelė ekranas, mano stalas dabar turi dvi eiles. 453 00:19:29,070 --> 00:19:30,700 >> Taigi, leiskite man eiti į priekį ir daryti kitą. 454 00:19:30,700 --> 00:19:33,760 Vietoj to, leiskite man vėl eiti į SQL kortelėje. 455 00:19:33,760 --> 00:19:40,723 Ir aš šį kartą bus įterpti kažką panašaus Robas ir jo vardas bus Robas Bowden. 456 00:19:40,723 --> 00:19:42,330 Bowden. 457 00:19:42,330 --> 00:19:44,040 Leiskite spustelėkite Įrašyti. 458 00:19:44,040 --> 00:19:46,140 Oi, o eiti. 459 00:19:46,140 --> 00:19:48,890 >> Dar kartą spustelėkite Naršyti ir dabar pastebėsite, turiu du eilučių. 460 00:19:48,890 --> 00:19:52,390 Taigi, tai tik būdas sudėtingesnis būdas atverti Google skaičiuoklės 461 00:19:52,390 --> 00:19:54,010 ir tiesiog įvedę eilutę į kolonėlę. 462 00:19:54,010 --> 00:19:57,070 Bet kas svarbiausia yra tai, kad dabar mes turime sintaksę 463 00:19:57,070 --> 00:20:00,220 su kuria rašyti kodą, kad Galų gale, mes galime iš tikrųjų 464 00:20:00,220 --> 00:20:01,790 padaryti ką nors ir tai. 465 00:20:01,790 --> 00:20:05,380 Prisiminkite, kad PHP palaiko Super globalių kintamųjų. 466 00:20:05,380 --> 00:20:08,415 >> Kas yra viduje dolerio pasirašyti pabraukimas GET PHP? 467 00:20:08,415 --> 00:20:10,290 Mes paėmė pažvelgti į vieną arba du paprasti pavyzdžiai. 468 00:20:10,290 --> 00:20:15,640 Ir PSet6, prisiminti turite Sveiki dot PHP, kuris naudoja šį kintamąjį. 469 00:20:15,640 --> 00:20:17,870 Kas vyksta ten? 470 00:20:17,870 --> 00:20:21,015 Arba kas tai yra? 471 00:20:21,015 --> 00:20:22,522 Šiek tiek garsiau. 472 00:20:22,522 --> 00:20:23,790 >> Auditorija: [nesigirdi] 473 00:20:23,790 --> 00:20:25,030 >> DAVID Malan: Tai sniego sėkla masyvas, kuris 474 00:20:25,030 --> 00:20:27,714 yra tik išgalvotas būdas pasakyti masyvas, kuris turi rakto reikšmė porų. 475 00:20:27,714 --> 00:20:28,880 Ir raktai nėra skaitinė. 476 00:20:28,880 --> 00:20:30,420 Jie žodžiai ar įsipareigojimų. 477 00:20:30,420 --> 00:20:32,750 Ir konkrečiau, ką tie rakto poros? 478 00:20:32,750 --> 00:20:35,110 Kur jie? 479 00:20:35,110 --> 00:20:35,620 Atsiprašome? 480 00:20:35,620 --> 00:20:36,994 >> Auditorija: [nesigirdi] 481 00:20:36,994 --> 00:20:37,660 DAVID Malan: Nėra? 482 00:20:37,660 --> 00:20:40,700 Kur tų pagrindinių Pigūs poros atsirado? 483 00:20:40,700 --> 00:20:42,490 Pakartok? 484 00:20:42,490 --> 00:20:44,610 Vėlgi? 485 00:20:44,610 --> 00:20:46,472 Ar aš vienintelis, klausos kažką? 486 00:20:46,472 --> 00:20:47,810 >> [Juokas] 487 00:20:47,810 --> 00:20:49,042 >> Tai tiesa, taip? 488 00:20:49,042 --> 00:20:50,435 >> Auditorija: [nesigirdi] 489 00:20:50,435 --> 00:20:52,560 DAVID Malan: Taip, jie iš užklausos eilutę. 490 00:20:52,560 --> 00:20:55,380 Taigi, jei jums atgal laiku kai mes grojo su "Google" 491 00:20:55,380 --> 00:20:59,600 ir mes nuėjo į Google.com velniop Paieška klaustukas Q yra lygus Katės, 492 00:20:59,600 --> 00:21:03,550 jei aš būčiau paspauskite Enter, ir jei "Google" buvo įgyvendinti PHP, 493 00:21:03,550 --> 00:21:07,017 PHP kodą, kad "Google rašė turėtų prieigą prie dolerio ženklas 494 00:21:07,017 --> 00:21:11,600 pabrėžti patekti į vidų, iš kurių yra pagrindinis vadinamas Q ir vertės 495 00:21:11,600 --> 00:21:17,680 vadinami katės, kad ji tada gali naudoti naudojamas daryti realią paiešką su. 496 00:21:17,680 --> 00:21:20,860 >> Taigi, iš tiesų, ką aš ruošiuosi padaryti dabar grįžti į savo PHP kodo 497 00:21:20,860 --> 00:21:23,140 kad jums dar kartą pamatyti daugiau į PSet7. 498 00:21:23,140 --> 00:21:25,440 Ir vietoj prijungti kietų koduotų vertybių, kurios 499 00:21:25,440 --> 00:21:27,630 neturi atrodyti labai dinamiška svetainė, 500 00:21:27,630 --> 00:21:30,680 Aš ruošiuosi duoti jums erzina koks jūsų tikrasis kodas daryti. 501 00:21:30,680 --> 00:21:32,854 Galima būtų įdėti į dvi Klausimas žymi kaip šis. 502 00:21:32,854 --> 00:21:34,270 Aš nežinau, ką username is. 503 00:21:34,270 --> 00:21:37,390 Aš nežinau, ką vardas bus, 504 00:21:37,390 --> 00:21:39,470 bet aš žinau, aš galiu gauti juos dinamiškai. 505 00:21:39,470 --> 00:21:43,420 >> Taigi, jei kodas mes rašote dabar kodas veikia "Google" serveriuose, 506 00:21:43,420 --> 00:21:46,940 arba, jei tai yra labas taškas PHP, kuris ateina su PSet6, 507 00:21:46,940 --> 00:21:48,650 Aš ruošiuosi pereiti į užklausa funkcija 508 00:21:48,650 --> 00:21:51,450 tiesiog kaip printf, kiti du argumentus. 509 00:21:51,450 --> 00:21:57,120 Gauti, citata, citatos vardą, ir GET, citata, citatos, pavadinimas. 510 00:21:57,120 --> 00:22:00,720 Ir dabar, pastebėsite, ką bendroji struktūra yra čia. 511 00:22:00,720 --> 00:22:03,320 Aš turiu kairėje pusėje pokalbio, 512 00:22:03,320 --> 00:22:05,480 Ši funkcija vadinama užklausą PHP. 513 00:22:05,480 --> 00:22:08,160 Aš vis dar turiu, nes pirmas argumentas, tik teksto eilutė. 514 00:22:08,160 --> 00:22:11,000 >> Bet, kad teksto eilutė yra parašyta kalba vadinama "SQL. 515 00:22:11,000 --> 00:22:12,616 Ir tiesą sakant, tai nėra didelis kalba. 516 00:22:12,616 --> 00:22:14,990 Mes tik ketiname kalbėti apie ji oficialiai šiandien, tikrai. 517 00:22:14,990 --> 00:22:17,031 Ir tada problema nustatyti septyni, ten gana 518 00:22:17,031 --> 00:22:18,800 Keletas funkcijų, kad mes ketina išnaudoti. 519 00:22:18,800 --> 00:22:22,530 Klaustukų, nors, reiškia prijungti vertės čia ir prijungti kitą vertę 520 00:22:22,530 --> 00:22:23,130 čia. 521 00:22:23,130 --> 00:22:26,010 Ir pranešimas, aš praleisti ką iš viso quote-- nusispjauti 522 00:22:26,010 --> 00:22:30,470 it-- aplink citatos žymi šį kartą. 523 00:22:30,470 --> 00:22:34,930 Aš praleisti citatos ženklai visame klaustuku, 524 00:22:34,930 --> 00:22:36,410 Atsiprašome, šiuo metu aplink. 525 00:22:36,410 --> 00:22:38,870 >> Taigi, kas malonu apie tai klaustukas funkcija, kuri 526 00:22:38,870 --> 00:22:42,830 PHP yra linkęs remti, Ruby ir Python ir kitomis kalbomis, 527 00:22:42,830 --> 00:22:45,730 Tai tiesiog reiškia, kištuką kai Vertiname čia ir žinote ką? 528 00:22:45,730 --> 00:22:48,300 Jūs išsiaiškinti, ar naudoti vieniši arba dvigubomis kabutėmis. 529 00:22:48,300 --> 00:22:50,966 Nesivarginkite mane su intelektualiai neįdomios detalės. 530 00:22:50,966 --> 00:22:53,780 Tačiau įsitikinkite, kad tai teisinga taip, kad mano kodas yra galiausiai 531 00:22:53,780 --> 00:22:57,010 veiklos ir saugus, o turės reikšmę iki ilgio. 532 00:22:57,010 --> 00:23:00,460 >> Dabar, kiek argumentai iš viso, tik būti aišku, yra užklausos funkcija paėmimas? 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 Kiekvienas nori balsuoti daugiau nei du? 535 00:23:07,581 --> 00:23:08,080 Trys? 536 00:23:08,080 --> 00:23:10,001 Žinoma, kodėl? 537 00:23:10,001 --> 00:23:10,920 Kodėl trys? 538 00:23:10,920 --> 00:23:12,305 >> Auditorija: [nesigirdi] 539 00:23:12,305 --> 00:23:13,180 DAVID Malan: Būtent. 540 00:23:13,180 --> 00:23:14,610 Pirmoji dalis yra eilutė. 541 00:23:14,610 --> 00:23:18,640 Antrasis argumentas yra doleris ženklas pabrėžti GET laikiklis vardą. 542 00:23:18,640 --> 00:23:21,950 Ir trečiasis argumentas yra Tas pats, bet tik pavadinimas. 543 00:23:21,950 --> 00:23:24,590 Taigi, kitaip tariant, dabar jei aš turėjo internetinę formą 544 00:23:24,590 --> 00:23:27,149 kad turėjo teksto laukus, vienas naudotojo vardą, 545 00:23:27,149 --> 00:23:29,690 viena jo ar jos vardas, tiesiog kaip galėtumėte pamatyti svetainėje 546 00:23:29,690 --> 00:23:32,120 kai užsiregistruoti kai svetainė, tai gali 547 00:23:32,120 --> 00:23:35,450 Būk ant nugaros pabaigoje kodą iš tiesų įterpimo dabar 548 00:23:35,450 --> 00:23:37,220 į duomenų bazę. 549 00:23:37,220 --> 00:23:40,870 >> Dabar priešingai, tegul pirmyn. 550 00:23:40,870 --> 00:23:43,840 Tarkime, vartotojas dabar prisijungti ir jūs norite 551 00:23:43,840 --> 00:23:48,860 rašyti PHP kodą, kuris tikrina, ar asmuo, kuris tiesiog prisijungęs 552 00:23:48,860 --> 00:23:52,250 iš tikrųjų yra vartotojas, galite naudoti gana paprasta sintaksė. 553 00:23:52,250 --> 00:23:55,832 Galite pasakyti, SELECT, tarkim Star, kur žvaigždutė reiškia viską. 554 00:23:55,832 --> 00:23:57,540 Aš nežinau, ką man nori, kad tik man 555 00:23:57,540 --> 00:24:01,585 visi iš lentelės stulpeliai vadinamas vartotojams, kur, ir tai yra malonu. 556 00:24:01,585 --> 00:24:03,710 Pasirinkite palaiko kas vadinamas predikacinis, kuris yra 557 00:24:03,710 --> 00:24:06,630 kaip įgyti teisę ko norite būdas. 558 00:24:06,630 --> 00:24:10,590 Kur Nick lygus citata, citatos pabaiga Malan. 559 00:24:10,590 --> 00:24:13,680 Taigi čia taip pat, aš nematomas viduje argumentas 560 00:24:13,680 --> 00:24:16,110 į PHP funkcijai, iš SQL kodą linija. 561 00:24:16,110 --> 00:24:18,680 Ir SQL kodas ši laikas yra tiesiog vyksta 562 00:24:18,680 --> 00:24:21,790 ieškoti citata, citatos pabaiga Malan. 563 00:24:21,790 --> 00:24:24,420 >> Dabar tai dar ne viskas, kad naudinga, todėl aš ruošiuosi praleisti, kad 564 00:24:24,420 --> 00:24:28,650 ir aš ruošiuosi užslėpti Šis patarimas iš Brady, ir eiti 565 00:24:28,650 --> 00:24:30,990 ir plug-in, o ne klaustukas čia. 566 00:24:30,990 --> 00:24:33,290 Taigi, tiesiog, kad būtų aišku, kas turėtų mano antras argumentas 567 00:24:33,290 --> 00:24:37,480 būti, jei kas nors tiesiog prisijungti ir aš norite patikrinti, ar jis arba ji yra iš tikrųjų 568 00:24:37,480 --> 00:24:39,265 vartotojas? 569 00:24:39,265 --> 00:24:40,140 Auditorija: [nesigirdi] 570 00:24:40,140 --> 00:24:40,890 DAVID Malan: Taip. 571 00:24:40,890 --> 00:24:44,120 Girdžiu dolerio ženklas pabraukimo Gaukite pasiūlymą, citatos vardą. 572 00:24:44,120 --> 00:24:50,040 Ir tai turėtų grįžti į mane bet kurį iš eilučių savo duomenų bazės 573 00:24:50,040 --> 00:24:51,986 kad turime Malan vardą. 574 00:24:51,986 --> 00:24:54,860 Dabar tikiuosi, aš ruošiuosi grįžti nulis, jei Malan niekada nebuvo čia 575 00:24:54,860 --> 00:24:56,290 arba vienas, jei jis turi. 576 00:24:56,290 --> 00:24:59,026 Aš neturėtų grįžti du arba trys arba keturi. 577 00:24:59,026 --> 00:24:59,526 Kodėl? 578 00:24:59,526 --> 00:25:00,220 >> Auditorija: [nesigirdi] 579 00:25:00,220 --> 00:25:01,120 >> DAVID Malan: sakiau unikalus, tiesa? 580 00:25:01,120 --> 00:25:01,750 Paprastos priežasties. 581 00:25:01,750 --> 00:25:04,030 Kadangi aš pasakiau tai turiu būti unikalus, tiesiog logiškai, 582 00:25:04,030 --> 00:25:07,940 Jūs galite turėti tik nulį arba vieną Malans šiuo konkrečiu bazės lentelėje. 583 00:25:07,940 --> 00:25:10,965 Dabar, kaip panaikinti, tik tokiu būdu jūs mačiau jis, nors aš nuolat naudojant GET 584 00:25:10,965 --> 00:25:14,350 ir nors PSet6 naudojamas tik Gauti, galite tikrai turi skelbti pranešimams. 585 00:25:14,350 --> 00:25:17,212 Ir prisiminti, kad Post kitą technika pateikiant informaciją 586 00:25:17,212 --> 00:25:19,170 iš formos, tačiau ji nerodo URL. 587 00:25:19,170 --> 00:25:22,690 Tai šiek tiek saugesnis tikrai už dalykų, pavyzdžiui, vartotojų vardus ir slaptažodžius, 588 00:25:22,690 --> 00:25:25,210 kuri PSet7 bus iš tikrųjų įtraukti. 589 00:25:25,210 --> 00:25:28,130 >> Taigi, galime tai padaryti PHP MyAdmin ir pamatyti, kas atsitiks. 590 00:25:28,130 --> 00:25:30,020 Aš ruošiuosi eiti į MySQL kortelėje. 591 00:25:30,020 --> 00:25:34,450 Ir pastebėsite, kad numatytoji vertė PHP MyAdmin, tiesiog stengiuosi būti naudinga, 592 00:25:34,450 --> 00:25:37,050 yra pasirinkti žvaigždė iš vartotojų, kur vienas. 593 00:25:37,050 --> 00:25:39,430 Na, viena yra visada teisinga, todėl tai turi kvailas veiksminga 594 00:25:39,430 --> 00:25:40,400 tiesiog pasirinkti viską. 595 00:25:40,400 --> 00:25:42,691 Bet aš ruošiuosi būti šiek tiek daugiau pedantiškas ir rankiniu būdu 596 00:25:42,691 --> 00:25:45,920 tipo iš SELECT žvaigždė iš vartotojų. 597 00:25:45,920 --> 00:25:48,294 >> Dabar techniškai, galite pacituoti lenteles vardą. 598 00:25:48,294 --> 00:25:50,460 Tai retas, kad jūs turite, bet pastebėsite, jie nėra 599 00:25:50,460 --> 00:25:52,240 Jūsų normalūs Citatos apie JAV klaviatūrą. 600 00:25:52,240 --> 00:25:54,760 Tai yra taip vadinamas gravis, kuris paprastai yra ant viršutinio kairės rankos 601 00:25:54,760 --> 00:25:56,000 kampe klaviatūros. 602 00:25:56,000 --> 00:25:58,500 Bet tai reta, kad jums iš tikrųjų reikia nerimauti su tuo, 603 00:25:58,500 --> 00:25:59,950 todėl aš tiesiog praleiskite juos vistiek. 604 00:25:59,950 --> 00:26:02,280 Taigi dabar leiskite man eiti į priekį ir paspauskite eiti. 605 00:26:02,280 --> 00:26:06,616 Ir kiek eilučių turėčiau gauti atgal, kai aš pasirinkite žvaigždė iš vartotojų? 606 00:26:06,616 --> 00:26:08,407 >> Auditorija: [nesigirdi] 607 00:26:08,407 --> 00:26:09,990 DAVID Malan: eilučių skaičius, tikrai. 608 00:26:09,990 --> 00:26:12,390 Bet kaip daugelis tai betono istorija dabar? 609 00:26:12,390 --> 00:26:14,640 Du, nes ten buvo man ir ten buvo Robas. 610 00:26:14,640 --> 00:26:19,370 Taigi, jei aš spustelėkite Eiti, matau vizualiai, kad Aš Dotarłeś atgal, iš tiesų, dvi eilutes. 611 00:26:19,370 --> 00:26:22,060 Yra daug netvarkos daug dėl ekranas, bet aš tik pamatyti dvi eilutes. 612 00:26:22,060 --> 00:26:28,580 Priešingai, jei aš tai padaryti ir vėl padaryti PASIRINKITE žvaigždė iš vartotojų, kur Nick 613 00:26:28,580 --> 00:26:31,840 lygus pasiūlymą, citatos pabaiga Malan, dabar, jei aš spustelėkite Eiti, 614 00:26:31,840 --> 00:26:33,970 Aš tik ketina gauti atgal vieną eilutę. 615 00:26:33,970 --> 00:26:36,499 Ir galiausiai, jei aš kažkas panašaus į tai, tarkime, 616 00:26:36,499 --> 00:26:38,290 kad aš nerūpi gauti viską, 617 00:26:38,290 --> 00:26:41,020 kuris yra tipo prasmės dabar nes ten tik du stulpelius. 618 00:26:41,020 --> 00:26:43,103 Tai nėra, kaip aš pasirinkdami didžiulis duomenų kiekis. 619 00:26:43,103 --> 00:26:46,720 Tarkime, aš einu į priekį ir do Pasirinkti Pavadinimas IŠ 620 00:26:46,720 --> 00:26:51,990 vartotojams, kur Nick prilygsta Malan, kas malonu apie SQL sąžiningai, 621 00:26:51,990 --> 00:26:54,290 yra tai, kad tikrai tik daro ką galite pasakyti tai daryti. 622 00:26:54,290 --> 00:26:57,550 Tai gana glaustai, bet jūs tiesiog tiesiog pasakyti, ką norite daryti. 623 00:26:57,550 --> 00:27:01,130 Pasirinkti Pavadinimas iš vartotojų tam tikrais vartotojo vardas yra lygus Malan. 624 00:27:01,130 --> 00:27:03,440 Ir tai tikrai yra tai, kad aiškus. 625 00:27:03,440 --> 00:27:08,410 Taigi, dabar, jei aš paspauskite eiti, kaip daugelis eilučių aš ketina gauti atgal? 626 00:27:08,410 --> 00:27:10,770 Vienas iš jų, nes tai tik Malan, tikiuosi. 627 00:27:10,770 --> 00:27:13,100 Arba nulis, jei jis nėra ten, bet viena maksimaliai. 628 00:27:13,100 --> 00:27:17,610 >> Ir kiek stulpeliai aš grįšiu? 629 00:27:17,610 --> 00:27:18,450 Kiek stulpeliai? 630 00:27:18,450 --> 00:27:20,658 Šį kartą, aš tik ketina gauti vieną, nes aš ne 631 00:27:20,658 --> 00:27:22,380 pasirinkite žvaigždę, kuri yra viskas. 632 00:27:22,380 --> 00:27:27,900 Dabar aš pasirinkdami tik vardą, todėl aš tiesiog grįžti vieną stulpelį ir vieną eilutę. 633 00:27:27,900 --> 00:27:31,730 Ir atrodo tarsi tinkamai juokinga, tiesiog ieško super 634 00:27:31,730 --> 00:27:33,060 mažas kaip šis. 635 00:27:33,060 --> 00:27:34,290 Taigi, kas iš tikrųjų vyksta? 636 00:27:34,290 --> 00:27:36,890 Kai įvykdyti SQL Užklausa naudojant pasirinkite, 637 00:27:36,890 --> 00:27:38,700 ką jūs gaunate atgal iš duomenų bazės 638 00:27:38,700 --> 00:27:42,970 yra kaip laikiną lentelę su eilučių ir stulpelių, galbūt, 639 00:27:42,970 --> 00:27:46,260 bet praleisti nieko, kad faktiškai nebuvo pasirinktas jums. 640 00:27:46,260 --> 00:27:49,010 Taigi, tai, pavyzdžiui, jei kas nors yra didelis Skaičiuoklės visų mokinių 641 00:27:49,010 --> 00:27:51,610 įregistruotas kai studentas grupė, o jūs sakote, 642 00:27:51,610 --> 00:27:55,097 man visi pirmakursis, kurie jau įregistruota mūsų studentų grupę, ką 643 00:27:55,097 --> 00:27:56,930 Jūsų kolega studentas grupė gali daryti 644 00:27:56,930 --> 00:27:58,430 yra jie gali tiesiog ranka Jums visą skaičiuoklę. 645 00:27:58,430 --> 00:27:59,742 Štai tarsi sakydamas pasirinkite žvaigždė. 646 00:27:59,742 --> 00:28:02,200 Ir tai šiek tiek erzina, jei jūs tik norėjau pirmakursis. 647 00:28:02,200 --> 00:28:05,640 Ir taip, jei vietoj sakė, pasirinkite žvaigždė iš duomenų bazės lentelės 648 00:28:05,640 --> 00:28:08,470 kur m yra lygus citata, citatos pabaiga pirmakursis, 649 00:28:08,470 --> 00:28:10,810 tai kaip nors jūsų draugas Studentų grupės 650 00:28:10,810 --> 00:28:13,770 tiesiog pabrėžė ir kopijuoti tik pirmakursis eilutės, 651 00:28:13,770 --> 00:28:16,780 įklijuoti juos į naują "Google" Skaičiuoklės arba Excel failą, 652 00:28:16,780 --> 00:28:18,860 ir perdavė jus į Gautas tik failą. 653 00:28:18,860 --> 00:28:21,710 Tai viskas, kas vyksta nuo konceptualiai čia. 654 00:28:21,710 --> 00:28:23,920 >> Taigi, galų gale, mes galime padaryti keletas gana išgalvotas dalykų 655 00:28:23,920 --> 00:28:26,560 saugodami dalykų, pavyzdžiui, naudotojų vardus ir slaptažodžius ir pan. 656 00:28:26,560 --> 00:28:30,310 Tačiau, it turns out, mes turėtume daryti šiek tiek kitaip, nei tai. 657 00:28:30,310 --> 00:28:34,750 Tai nereiškia, kad protingas, kad tik saugoti vartotojo vardą ir slaptažodį. 658 00:28:34,750 --> 00:28:37,790 Kažkas anksčiau, manau, žemyn čia, pasiūlė ID. 659 00:28:37,790 --> 00:28:40,787 Dabar tapatybės gali būti kaip Harvardo ID arba Yale Grynasis ID 660 00:28:40,787 --> 00:28:42,870 bet jis gali būti dar paprastesnis Mūsų duomenų bazėje atveju. 661 00:28:42,870 --> 00:28:45,120 Ir iš tiesų, bendras atvejis yra turėti vieną stulpelį. 662 00:28:45,120 --> 00:28:46,953 Ir aš ruošiuosi eiti į priekį ir redaguoti lentelę. 663 00:28:46,953 --> 00:28:49,521 Ir jei jūs pažaisti su Ši sąsaja PSet7, 664 00:28:49,521 --> 00:28:51,770 pamatysite, kad galite patikrinti čia šį mygtuką ir pridėti 665 00:28:51,770 --> 00:28:53,750 ne iš lentelės pradžioje laukas. 666 00:28:53,750 --> 00:28:56,720 Ir dabar, jei aš spustelėkite Eiti, ji vyksta duoti man vieną iš šių formų 667 00:28:56,720 --> 00:28:57,600 iš anksčiau. 668 00:28:57,600 --> 00:29:00,170 Aš ruošiuosi įdėti lauką, vadinamą ID. 669 00:29:00,170 --> 00:29:03,070 Ir aš ruošiuosi padaryti tai skaitmeninis tipo. 670 00:29:03,070 --> 00:29:05,362 >> Turiu visa krūva Vertybių už skaitmeniniai simboliai. 671 00:29:05,362 --> 00:29:08,677 Aš tik ketina pasirinkti INT ir Nesijaudinkite apie skirtingų dydžių. 672 00:29:08,677 --> 00:29:10,510 Aš neturiu nurodyti ilgis ar vertės, 673 00:29:10,510 --> 00:29:13,710 nes jis bus 32 bitai, nesvarbu koks. 674 00:29:13,710 --> 00:29:16,070 Atributai, mes nemačiau anksčiau. 675 00:29:16,070 --> 00:29:18,410 Bet bet kuriuo iš šių palūkanų meniu parinktis šį kartą? 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 Dėl INT? 678 00:29:23,745 --> 00:29:24,620 Ką galėtumėte pasiūlyti? 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 Nėra? 681 00:29:28,445 --> 00:29:29,570 Ar kuris nors iš šių prasmės? 682 00:29:29,570 --> 00:29:30,536 Taip. 683 00:29:30,536 --> 00:29:31,900 Taip, nepasirašytas, tiesa? 684 00:29:31,900 --> 00:29:35,930 >> Apskritai, jei mes ketiname suteikti kiekvienas unikalus numeris, kuris 685 00:29:35,930 --> 00:29:38,200 kur ši istorija yra vyksta, aš tikrai tik nori 686 00:29:38,200 --> 00:29:41,919 asmuo turėti panašaus nulio skaičių ir vienas ir du ir trys ir keturi. 687 00:29:41,919 --> 00:29:43,710 Man nereikia elgtis neigiami skaičiai. 688 00:29:43,710 --> 00:29:45,210 Jis tiesiog atrodo pernelyg didelio sudėtingumo. 689 00:29:45,210 --> 00:29:48,470 Noriu keturių milijardų galimų reikšmių, ne keturis milijardus galimos reikšmės, 690 00:29:48,470 --> 00:29:50,699 todėl aš tiesiog dvigubinti talpa mano INT. 691 00:29:50,699 --> 00:29:53,490 Kaip panaikinti, jei norite susieti tai kažkas panašaus į "Facebook", 692 00:29:53,490 --> 00:29:56,190 atgal rūšiuoti mano dienos, kai "Facebook" pirmą kartą išėjo, 693 00:29:56,190 --> 00:29:59,510 Manau, tai, ką jie buvo naudojant savo MySQL duomenų bazės 694 00:29:59,510 --> 00:30:02,856 saugoti naudotojo identifikatorius, buvo tik INT. 695 00:30:02,856 --> 00:30:05,230 Bet, žinoma, yra daug Realiojo pasaulio žmonių. 696 00:30:05,230 --> 00:30:07,438 Yra daug padirbtų Facebook aikštelė sąskaitų pasaulyje. 697 00:30:07,438 --> 00:30:11,701 Ir taip galiausiai, "Facebook krantų iš int dydis A keturis milijardus 698 00:30:11,701 --> 00:30:12,200 vertę. 699 00:30:12,200 --> 00:30:15,032 Kuris yra, kodėl, jei peržvelgsite aplink ir ten svetaines 700 00:30:15,032 --> 00:30:16,740 kad gali pasakyti, ką Jūsų unikalus ID. 701 00:30:16,740 --> 00:30:19,781 Ir jei jūs niekada pasirinko vartotojo vardą "Facebook", pamatysite savo unikalų ID. 702 00:30:19,781 --> 00:30:23,080 Manau, kad tai profilis dot PHP klaustukas ID lygus kažką. 703 00:30:23,080 --> 00:30:27,210 Tai dabar kažkas panašaus didelis INT, arba ilgas ilgas jei norite, 704 00:30:27,210 --> 00:30:29,700 kuris yra 64-bitų vertė ar kažkas panašus. 705 00:30:29,700 --> 00:30:33,620 >> Taigi, net ir realiame pasaulyje ar jie klausimai galiausiai kartais reikšmės. 706 00:30:33,620 --> 00:30:37,600 Ir it turns out čia, jei aš suteikiant visas mano vartotojų unikalus ID, 707 00:30:37,600 --> 00:30:41,750 Aš noriu būti super aiškus ir minimaliai padaryti šioje srityje unikalus. 708 00:30:41,750 --> 00:30:44,750 Tačiau paaiškėja, yra vienas gabalas nomenklatūros šiandien per 709 00:30:44,750 --> 00:30:46,470 tai yra pirminis raktas. 710 00:30:46,470 --> 00:30:49,800 Jei projektuojant duomenų bazę stalas ir jūs žinote, iš anksto 711 00:30:49,800 --> 00:30:55,580 kad viena iš toje lentelėje stulpelius turėtų ir identifikuoti eilutes 712 00:30:55,580 --> 00:30:58,500 Lentelėje, norite tai nurodyti ir pasakykite duomenų bazę, 713 00:30:58,500 --> 00:31:00,250 tai yra mano pirminis raktas. 714 00:31:00,250 --> 00:31:02,110 Gali būti dublikatai kitose srityse, 715 00:31:02,110 --> 00:31:06,330 bet aš sakau, kad tai duomenų bazę yra mano pagrindinis, mano svarbiausias sritis, 716 00:31:06,330 --> 00:31:08,420 kad manimi garantuoja, kad bus unikalus. 717 00:31:08,420 --> 00:31:09,660 >> Dabar tai atrodo nereikalinga. 718 00:31:09,660 --> 00:31:13,830 Aš dabar siūlo, kad mes pridėti paspaudę Save čia 719 00:31:13,830 --> 00:31:17,210 lauko called-- ir aš ruošiuosi eiti į priekį ir spustelėkite AI, 720 00:31:17,210 --> 00:31:19,720 mes grįžti į kad akimirkai, Išsaugoti. 721 00:31:19,720 --> 00:31:22,540 Siūlau, kad dabar mano stalo atrodys taip. 722 00:31:22,540 --> 00:31:26,305 Turiu INT srityje vadinamas ID CHAR laukas vadinamas Nick, 723 00:31:26,305 --> 00:31:31,100 VARCHAR laukas vadinamas vardu, bet ID jei tai pirminis ir todėl unikalus, 724 00:31:31,100 --> 00:31:33,760 kodėl aš tiesiog gaišti laikas įvedant ką 725 00:31:33,760 --> 00:31:39,140 efektyviai yra antroji unikalus srityje vadinamas ID, kad yra int? 726 00:31:39,140 --> 00:31:41,980 >> Nick, prisiminti, buvo jau unikalus, mes pasakėme. 727 00:31:41,980 --> 00:31:45,350 Taigi tiesiog logiškai, jums nereikia bet duomenų bazės patirtis priežasties 728 00:31:45,350 --> 00:31:47,570 per tai, kodėl gali man įdiegė 729 00:31:47,570 --> 00:31:50,065 įvertinimas, mano unikalus identifikatorius INT, taip pat? 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 Kas this-- dar kartą pasakyti? 732 00:31:53,930 --> 00:31:55,580 >> Auditorija: [nesigirdi] 733 00:31:55,580 --> 00:31:59,534 >> DAVID Malan: Random prieiga yra lengviau, kodėl? 734 00:31:59,534 --> 00:32:00,410 >> Auditorija: [nesigirdi] 735 00:32:00,410 --> 00:32:02,367 DAVID Malan: Taip, tai tiesiog gauti numerius. 736 00:32:02,367 --> 00:32:04,750 Taigi, jei jūs manote, kad tai tikrai yra lentelė, kaip masyvą, 737 00:32:04,750 --> 00:32:07,690 dabar turiu unikalius identifikatorius kad galiu šokti aplink. 738 00:32:07,690 --> 00:32:11,520 Ir geriau nei, kad dar yra tai, kad kaip didelis yra int bus dar kartą? 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 32 bitų arba keturių baitų. 741 00:32:15,800 --> 00:32:17,750 >> Kaip didelis yra my username bus? 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 Maksimaliai? 744 00:32:21,990 --> 00:32:22,880 16 baitų. 745 00:32:22,880 --> 00:32:26,080 >> Taigi, jei esate tikrai rūpinasi Jūsų kodas efektyvumą, 746 00:32:26,080 --> 00:32:31,390 prisiminkite PSet5, norėtumėte ieškoti keturių baitų vertė arba 16 747 00:32:31,390 --> 00:32:32,240 baitų vertė, tiesa? 748 00:32:32,240 --> 00:32:33,810 Tai tikrai yra taip paprasta, kaip kad. 749 00:32:33,810 --> 00:32:38,060 Jūs turite padaryti keturis kartus daugiau darbo ieškoti vardų, nes šie 750 00:32:38,060 --> 00:32:38,830 yra 16 baitų. 751 00:32:38,830 --> 00:32:41,320 Taigi, jūs turite tiesiog palyginti visus 16 baitų būti 752 00:32:41,320 --> 00:32:43,140 tikrai taip, tai Nick noriu. 753 00:32:43,140 --> 00:32:46,610 Kadangi dėl INT, galite tai padaryti tik su keturių baitų. 754 00:32:46,610 --> 00:32:49,212 >> Ir kaip žemę tiems, domina kompiuterinės įrangos, 755 00:32:49,212 --> 00:32:52,420 it turns out galite pritaikyti kažką panašaus int arba 32 bitų vertė kažką 756 00:32:52,420 --> 00:32:55,330 vadinamas kompiuteryje registras CPU, tai reiškia, kad super, 757 00:32:55,330 --> 00:32:58,400 super greitai, net mažiausia lygis kompiuterio aparatūros. 758 00:32:58,400 --> 00:33:00,530 Taigi, tai tik pranašumai visi aplink. 759 00:33:00,530 --> 00:33:01,530 Taigi, ką tai reiškia? 760 00:33:01,530 --> 00:33:04,850 Iš tiesų, kai jūs Projektuojant duomenų bazės lentelę, beveik visą laiką 761 00:33:04,850 --> 00:33:07,170 jūs ketinate turėti ne tik duomenų jums rūpi, 762 00:33:07,170 --> 00:33:09,280 bet kažkas panašaus unikalus identifikatorius 763 00:33:09,280 --> 00:33:11,280 nes tai vyksta darykime kitus dalykus. 764 00:33:11,280 --> 00:33:13,160 Ir tegul kelionė per vieną problemą čia. 765 00:33:13,160 --> 00:33:15,990 >> Tarkime, kad vartotojai turi ne tik vardai ir pavardės, 766 00:33:15,990 --> 00:33:19,540 bet jie taip pat turi tokius dalykus kaip miestų ir teigiama, ir ZIP kodai, bent jau 767 00:33:19,540 --> 00:33:20,432 čia JAV. 768 00:33:20,432 --> 00:33:22,390 Taigi, aš ruošiuosi eiti į priekį ir tik greitai pasakyti, 769 00:33:22,390 --> 00:33:26,180 duok man daugiau tris stulpelius tuo lentelės pabaigoje. 770 00:33:26,180 --> 00:33:28,900 Ir tai bus miestas, tai bus valstybė, 771 00:33:28,900 --> 00:33:30,400 ir tai bus Pašto. 772 00:33:30,400 --> 00:33:32,710 >> Dabar Miestas, ką duomenų tipai tai turėtų būti, galbūt? 773 00:33:32,710 --> 00:33:35,460 774 00:33:35,460 --> 00:33:35,989 VARCHAR? 775 00:33:35,989 --> 00:33:37,780 Aš nežinau, ką ilgiausias pavadinimas Miestas yra. 776 00:33:37,780 --> 00:33:40,571 Kažkur Amerikoje, ten tikriausiai kai juokingai ilgas žodis, 777 00:33:40,571 --> 00:33:43,605 tad tiesiog eiti su 255, šiek tiek istoriškai ar savavališkai. 778 00:33:43,605 --> 00:33:44,730 Valstybė, ką norite daryti? 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 Sprendimas skambutis, tiesa? 781 00:33:50,367 --> 00:33:51,700 Kas gal labiausiai efektyvus? 782 00:33:51,700 --> 00:33:53,500 Kiek simbolių? 783 00:33:53,500 --> 00:33:55,950 Gal tik du, jei mes galime išsisukti su daro tik, 784 00:33:55,950 --> 00:33:58,250 kaip MA už Massachusetts ir kt. 785 00:33:58,250 --> 00:34:00,520 Taigi, aš ruošiuosi eiti char vertę dviejų. 786 00:34:00,520 --> 00:34:03,080 >> Pašto indeksas yra įdomi. 787 00:34:03,080 --> 00:34:06,679 Mes čia 02138, kad siūlo turėtume panaudoti tai, ką? 788 00:34:06,679 --> 00:34:07,470 Tai INT, tiesa? 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 INT, INT, trumpas? 791 00:34:12,800 --> 00:34:14,521 Trumpas veiktų. 792 00:34:14,521 --> 00:34:15,020 Nėra? 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 CHAR ar penki, bet aš noriu int. 795 00:34:20,870 --> 00:34:23,710 Kodėl stumti atgal ant INT? 796 00:34:23,710 --> 00:34:26,820 Įtikinti man tai. 797 00:34:26,820 --> 00:34:29,210 Kas kvailas apie int, mano idėja? 798 00:34:29,210 --> 00:34:29,871 Taip. 799 00:34:29,871 --> 00:34:31,199 >> Auditorija: Paimkite daugiau atminties. 800 00:34:31,199 --> 00:34:32,909 >> DAVID Malan: Paimkite daugiau atminties. 801 00:34:32,909 --> 00:34:35,310 Keturių baitų, bet jūs pasiūlyti pašto kodą 802 00:34:35,310 --> 00:34:39,000 kaip penkių baitų ar kas nors buvo kaip CHAR, kurie jaučiasi eh, kad tikrai ne 803 00:34:39,000 --> 00:34:39,620 tas atvejis. 804 00:34:39,620 --> 00:34:40,489 >> Na, įdomus pasakojimas. 805 00:34:40,489 --> 00:34:43,179 Prieš keletą metų, kai aš jį naudoti "Microsoft Outlook mano elektroninio pašto adresą, 806 00:34:43,179 --> 00:34:45,150 Aš galų gale norėjau pereiti į "Gmail". 807 00:34:45,150 --> 00:34:48,949 Ir taip, aš eksportuojama visi mano kontaktus iš Outlook CSV failą. 808 00:34:48,949 --> 00:34:50,699 Atskirtų kableliais vertybes, kuris tiesiog reiškė I 809 00:34:50,699 --> 00:34:54,060 turėjo visus savo draugus vardus ir paskutinis vardai ir telefonų numeriai ir ZIP kodai 810 00:34:54,060 --> 00:34:54,747 ir visi, kad. 811 00:34:54,747 --> 00:34:56,580 Ir tada aš padariau klaida atidarant jį 812 00:34:56,580 --> 00:34:58,640 Excel, kuris yra skaičiuoklės programa, kuri 813 00:34:58,640 --> 00:35:00,289 supranta, CSV failus kaip matėme. 814 00:35:00,289 --> 00:35:03,080 Bet tada, turiu nukentėjo, pavyzdžiui, Komandų arba kontrolinis S viename taške. 815 00:35:03,080 --> 00:35:06,250 Ir Excel, matyt, tuo metu turėjo, pagal kurį bet kada funkciją jis 816 00:35:06,250 --> 00:35:08,100 pamačiau skaičių, stengėsi būti naudinga. 817 00:35:08,100 --> 00:35:11,610 Ir jei šis skaičius pradėjo su nuliai, tai būtų tiesiog atsikratyti jų. 818 00:35:11,610 --> 00:35:13,420 Kodėl jums reikia pirmaujanti nuliai apie sveikieji? 819 00:35:13,420 --> 00:35:15,140 Jie prasmės, matematiškai. 820 00:35:15,140 --> 00:35:17,530 Jie nėra prasmės į US Postal sistema. 821 00:35:17,530 --> 00:35:19,954 Taigi, aš turėjau ilgus metus, iki šios dienos, aš vis dar 822 00:35:19,954 --> 00:35:22,370 turiu draugų, kad kai retas atvejis, kad man reikia ką nors yra 823 00:35:22,370 --> 00:35:24,078 spręsti šių dienų, Aš vis dar matau, kad aš 824 00:35:24,078 --> 00:35:26,767 turėti, Cambridge draugas, Masačusetsas, 2138. 825 00:35:26,767 --> 00:35:29,350 Ir tai erzina, jei esate bando rūšiuoti programiškai 826 00:35:29,350 --> 00:35:30,975 generuoti vokus arba tiesiog Užrašoma jį žemyn. 827 00:35:30,975 --> 00:35:33,599 Ir tai dėl šios priežasties, Aš pasirinkau neteisingą duomenų tipą. 828 00:35:33,599 --> 00:35:34,490 Taigi, aš myliu savo idėją. 829 00:35:34,490 --> 00:35:35,650 Leiskite naudoti char lauką. 830 00:35:35,650 --> 00:35:38,340 Penki simbolių, išskyrus yra kertinis atveju. 831 00:35:38,340 --> 00:35:42,220 Jei vis siųsti laiškus, kartais zip kodus šių dienų, 832 00:35:42,220 --> 00:35:45,360 jie, kaip, plius keturi. 833 00:35:45,360 --> 00:35:48,200 Taigi, mes turime brūkšnelis ir tada mes turime keturis numerius. 834 00:35:48,200 --> 00:35:50,330 Taigi turi būti sąžiningas, tai gali pereiti daug skirtingų būdų. 835 00:35:50,330 --> 00:35:52,371 >> Nes dabar, aš ruošiuosi laikyti tai paprasta ir aš tiesiog 836 00:35:52,371 --> 00:35:54,780 ketinate pasakyti, kad tai penkių CHAR vertė ir mes 837 00:35:54,780 --> 00:35:56,739 ketina praleisti visą brūkšnys plius keturi. 838 00:35:56,739 --> 00:35:58,280 Bet tokie yra kompromisų rūšių. 839 00:35:58,280 --> 00:36:00,196 Ir jūs galite galvoti iš Tos pačios problemos, kylančios 840 00:36:00,196 --> 00:36:01,860 su telefono numeriais arba kitose srityse. 841 00:36:01,860 --> 00:36:04,350 >> Ir dabar, tai yra faktiškai kvailas kelių eiti. 842 00:36:04,350 --> 00:36:08,000 Tarkime, tiek Rob o aš ir Oną ir Maria ir [? Davon?] Ir Andy 843 00:36:08,000 --> 00:36:12,820 ir kiti dėl darbuotojų visi gyvena , Cambridge, Massachusetts, 02138. 844 00:36:12,820 --> 00:36:17,970 Tai iš tiesų jaučiasi kvaili, kad aš pridedant prie mano vartotojai stalo, miestas, valstybė, 845 00:36:17,970 --> 00:36:18,630 ir ZIP. 846 00:36:18,630 --> 00:36:20,980 Kodėl? 847 00:36:20,980 --> 00:36:21,960 >> Auditorija: [nesigirdi] 848 00:36:21,960 --> 00:36:22,918 >> DAVID Malan: Pasakykite naujo? 849 00:36:22,918 --> 00:36:24,310 Auditorija: [nesigirdi] 850 00:36:24,310 --> 00:36:25,850 >> DAVID Malan: Jie visada ketina eiti kartu, tiesa? 851 00:36:25,850 --> 00:36:28,660 Kai it turns out, mes naudojamas manote tai buvo atvejis, kol mes išsamiai 852 00:36:28,660 --> 00:36:30,570 ieškojau visa mus ir Pasirodo, kad 853 00:36:30,570 --> 00:36:32,653 Yra keletas neatitikimų Jeigu keletas miestų turi 854 00:36:32,653 --> 00:36:35,060 tas pats užtrauktukas, kuris yra keistai. 855 00:36:35,060 --> 00:36:40,580 Tačiau, jei mes numatyti dabar, kad 02138 visada Kembridžas, Masačusetsas, 856 00:36:40,580 --> 00:36:44,910 kodėl pasaulyje norėtumėte laikyti Jūsų duomenų Kembridžo ir MA ir 02138 857 00:36:44,910 --> 00:36:49,357 man ir Hannah ir Rob ir už [? Davon?] Ir kitiems, kurie gyvena 858 00:36:49,357 --> 00:36:51,190 čia Kembridže, tai puikiai nereikalingas. 859 00:36:51,190 --> 00:36:54,480 >> Turėtume išeiti tik su saugojimo ką? 860 00:36:54,480 --> 00:36:55,610 Tiesiog Pašto kodas. 861 00:36:55,610 --> 00:36:58,660 Bet tada, jei mes saugome tik Pašto kodas, aš noriu, tikriausiai, 862 00:36:58,660 --> 00:37:02,160 Mano svetainė žinoti, kur yra 02138. 863 00:37:02,160 --> 00:37:03,910 Taigi, man reikia kito stalo. 864 00:37:03,910 --> 00:37:04,697 Ir tai gerai. 865 00:37:04,697 --> 00:37:07,530 Ir iš tikrųjų, tai yra vienas iš projektavimo procesų projektavimo lentelės 866 00:37:07,530 --> 00:37:11,472 kad jums padaryti PSet7 taip pat, pagal kurią norite veiksnys bendrus duomenis. 867 00:37:11,472 --> 00:37:14,430 Kaip mes jau faktoringo iš bendra kodas ir faktoringo bendri 868 00:37:14,430 --> 00:37:17,380 stilių iš CSS, čia per duomenų bazėje, 869 00:37:17,380 --> 00:37:21,180 jei aš tik reikia 02138 unikaliai nustatyti kažkieno gimtajame mieste, 870 00:37:21,180 --> 00:37:25,020 Laikyti ne aukštesnėje Cambridge, Mass už kas darn vartotojas jūsų stalo. 871 00:37:25,020 --> 00:37:29,770 >> Vietoj to, turi atskirą lentelę, pavadintą Pašto indeksų, kurie turėtų turėti tai, ko stulpeliai? 872 00:37:29,770 --> 00:37:33,490 Tikriausiai ID laukas, tiesiog, nes, principai mes kalbame apie dabar. 873 00:37:33,490 --> 00:37:35,720 Tikriausiai Pašto laukas 02138. 874 00:37:35,720 --> 00:37:38,400 Ir tada tikriausiai ką kiti stulpeliai? 875 00:37:38,400 --> 00:37:42,950 Miestas ir valstybė, tačiau turi tik vieną eilutė 02138, viena eilutė 02139, 876 00:37:42,950 --> 00:37:44,772 viena eilutė 90210. 877 00:37:44,772 --> 00:37:46,730 Ir tai yra tiesiog visos Pašto kodai aš žinau. 878 00:37:46,730 --> 00:37:49,012 >> Taigi, dabar, ką jūs galite padaryti? 879 00:37:49,012 --> 00:37:51,220 Tai yra problemiškas, nes dabar turiu dvi lenteles. 880 00:37:51,220 --> 00:37:54,660 Taigi, mano vartotojai dažniausiai per čia tačiau jų Miesto Valstybė informacija yra 881 00:37:54,660 --> 00:37:55,390 čia. 882 00:37:55,390 --> 00:37:58,635 Taigi, it turns out su SQL, ten faktiškai būdas prisijungti informacijos, 883 00:37:58,635 --> 00:38:00,470 ir pamatysite tai į PSet. 884 00:38:00,470 --> 00:38:03,000 >> Tačiau paaiškėja, jūs galite padaryti kažką panašaus į tai. 885 00:38:03,000 --> 00:38:10,501 PASIRINKITE žvaigždė iš vartotojų, JOIN užtrauktukus APIE Vartotojų dot Pašto lygus užtrauktukai dot zip. 886 00:38:10,501 --> 00:38:13,360 Kuris yra šiek tiek ištęstas, Tiesa, bet tai tik 887 00:38:13,360 --> 00:38:17,590 reiškia pasirinkite viską iš procesas atsižvelgiant mano Vartotojų lentelę 888 00:38:17,590 --> 00:38:19,580 ir mano užtrauktukai stalo. 889 00:38:19,580 --> 00:38:22,120 Prisijunkite juos ant vieno srityje jie turi skiltyje. 890 00:38:22,120 --> 00:38:24,780 Taigi, tiesiog darai kažką kaip šis, ir suteikti man atgal 891 00:38:24,780 --> 00:38:27,360 naujas laikiną lentelę tai platesnis, tai didesni, 892 00:38:27,360 --> 00:38:29,450 kuris turi visas kolonos abu. 893 00:38:29,450 --> 00:38:33,510 Ir tai, paprasčiausiai, būtų sintaksė daro kažką panašaus į tai. 894 00:38:33,510 --> 00:38:35,540 >> Taigi, ten tai į priekį, bet ten vyksta 895 00:38:35,540 --> 00:38:38,950 būti kitų dizaino sprendimus jums turi padaryti, ne tik su indeksų 896 00:38:38,950 --> 00:38:40,550 bet taip pat veikia į iššūkius. 897 00:38:40,550 --> 00:38:43,360 Iš tiesų, iššūkis, bet bazių projektavimo 898 00:38:43,360 --> 00:38:47,930 kuriuo kartais du žmonės gali norėti prieigos prie to paties eiles duomenų bazėje 899 00:38:47,930 --> 00:38:48,530 stalo. 900 00:38:48,530 --> 00:38:51,450 Taigi, tai yra kažkas, kad mes susidurti PSet7 taip pat. 901 00:38:51,450 --> 00:38:54,686 >> Bet aš maniau aš pažvelgti į vieną ataka, kurios metu galima SQL. 902 00:38:54,686 --> 00:38:56,560 Kas yra kai kurie iš problemų, kad gali kilti? 903 00:38:56,560 --> 00:38:58,170 Taigi, jums susidurti tai PSet7. 904 00:38:58,170 --> 00:39:01,874 Ir mes jums pasakyti atvirai, ką kodavimo šios problemos sprendimas yra. 905 00:39:01,874 --> 00:39:04,790 Bet jei jūs imtis aukštesnio lygio klasę, ypač operacinių sistemų, 906 00:39:04,790 --> 00:39:06,950 jūs ketinate susidurti AN nedalomumo klausimas, 907 00:39:06,950 --> 00:39:10,080 iš bando daryti problema daug dalykų vienu metu 908 00:39:10,080 --> 00:39:11,000 be pertrūkių. 909 00:39:11,000 --> 00:39:14,560 >> Ir aš maniau aš pristatyti šį idėja PSet7 su metafora 910 00:39:14,560 --> 00:39:18,160 kad aš išmokau save Margo Seltzer anketa CS164 operacinės sistemos 911 00:39:18,160 --> 00:39:18,990 prieš klasę metų. 912 00:39:18,990 --> 00:39:22,230 Tarkime, kad turite vieną iš šių bendrabučio šaldytuvų Jūsų bendrabučio kambarį ar namą, 913 00:39:22,230 --> 00:39:24,474 ir turite realią polinkis pieno. 914 00:39:24,474 --> 00:39:27,140 Ir taip, ateini namo iš klasių Vieną dieną, kai atidarote šaldytuvą. 915 00:39:27,140 --> 00:39:27,620 Oi, damn ją. 916 00:39:27,620 --> 00:39:28,870 Nėra į šaldytuvą pieno. 917 00:39:28,870 --> 00:39:32,470 Taigi, jūs uždarote šaldytuvas, užrakinti duris, užrakinti savo bendrabučio, 918 00:39:32,470 --> 00:39:34,770 vaikščioti aplink kampe CVS, gauti linija, 919 00:39:34,770 --> 00:39:36,312 ir pradėti patikrinti dėl tam tikrų pieno. 920 00:39:36,312 --> 00:39:38,978 Ir jis ketina užtrukti, nes tie damn savęs kasos 921 00:39:38,978 --> 00:39:40,570 skaitikliai amžinai naudotis vistiek. 922 00:39:40,570 --> 00:39:41,950 Taigi tuo tarpu, savo kambarioku grįžta namo. 923 00:39:41,950 --> 00:39:43,470 Jis ar ji tikrai patinka pienas, taip pat. 924 00:39:43,470 --> 00:39:45,520 Jie ateina į bendrabučio kambarį, atidaryti šaldytuvą, OH, darn ją. 925 00:39:45,520 --> 00:39:46,490 Yra ne daugiau pieno. 926 00:39:46,490 --> 00:39:49,040 >> Taigi, jis ar ji taip pat eina už kampo. 927 00:39:49,040 --> 00:39:51,670 Bet dabar, nes ten kaip du ar trys ar keturi CVSes netoliese, 928 00:39:51,670 --> 00:39:53,800 jie įvyktų eiti į vieną iš skirtingi tie aikštėje. 929 00:39:53,800 --> 00:39:55,830 Ir todėl dabar, kelios minutės Vėliau jus abu 930 00:39:55,830 --> 00:39:58,060 grįžti namo ir ugh, blogiausia problema kada. 931 00:39:58,060 --> 00:40:00,967 Dabar jūs turite per daug pieno nes jis ketina eiti rūgštus. 932 00:40:00,967 --> 00:40:03,050 Ir jums patinka pieną, bet jūs nelabai patinka pieno. 933 00:40:03,050 --> 00:40:06,730 >> Taigi, dabar, tai buvo brangus klaida, nes jus abu 934 00:40:06,730 --> 00:40:09,870 padarė pagrįstą sprendimą dėl būklė tam tikru kintamuoju, kad 935 00:40:09,870 --> 00:40:12,660 buvo nuo proceso buvo pakeista jums, 936 00:40:12,660 --> 00:40:14,560 iš ketinate gauti pieno iniciatorius. 937 00:40:14,560 --> 00:40:17,785 Taigi, kas yra galbūt žmogus sprendimas šią problemą? 938 00:40:17,785 --> 00:40:18,660 Auditorija: [nesigirdi] 939 00:40:18,660 --> 00:40:19,430 DAVID Malan: Palikite dėmesį, tiesa? 940 00:40:19,430 --> 00:40:21,850 Visada palikite pastabą, jei esate susipažinę su šiuo šou. 941 00:40:21,850 --> 00:40:23,100 Taip, ten yra du iš mūsų. 942 00:40:23,100 --> 00:40:25,940 Taigi, visada palieka raštelį, arba tiesiog užrakinti šaldytuvą 943 00:40:25,940 --> 00:40:28,602 su tam tikra spyna ar natūra kažkas virš panašaus viršuje. 944 00:40:28,602 --> 00:40:31,310 Bet tai iš tikrųjų bus Pagrindinė problema su duomenų bazių projektavimo, 945 00:40:31,310 --> 00:40:34,710 ypač kai jums gali tekti kelios naršyklės, daug nešiojamieji kompiuteriai, 946 00:40:34,710 --> 00:40:37,450 keli vartotojai visi bando atnaujinti informaciją vienu metu. 947 00:40:37,450 --> 00:40:40,590 Ypač jautri informacija kaip finansinės informacijos, 948 00:40:40,590 --> 00:40:43,350 kuriuo su akcijų prekybos svetainė, kaip jūs statysite, 949 00:40:43,350 --> 00:40:47,270 Ką daryti, jei norite patikrinti, kiek pinigų turite ir tada, jei turite pakankamai, 950 00:40:47,270 --> 00:40:48,490 nusipirkti atsargų? 951 00:40:48,490 --> 00:40:50,899 >> Bet kas, jei kažkas, kas turi bendrą sąskaitą su jumis 952 00:40:50,899 --> 00:40:52,690 yra tuo pačiu metu bando nusipirkti atsargų? 953 00:40:52,690 --> 00:40:55,190 Taigi, jis arba ji yra pažymėdami sąskaitos balansas, jus abu 954 00:40:55,190 --> 00:40:57,540 grįžti tą patį Atsakymas, nėra pieno. 955 00:40:57,540 --> 00:41:00,580 Arba jus abu grįžti atsakymą Jūs turite 100 $ į sąskaitą. 956 00:41:00,580 --> 00:41:04,680 Abu bandote padaryti sprendimą pirkti vieną akciją kai kurių įmonių akcijų. 957 00:41:04,680 --> 00:41:06,130 >> Ir dabar, kas atsitiks? 958 00:41:06,130 --> 00:41:07,140 Jūs turite dvi akcijas? 959 00:41:07,140 --> 00:41:08,420 Jūs neturite akcijas? 960 00:41:08,420 --> 00:41:10,320 Gali kilti problemų, pavyzdžiui, kad. 961 00:41:10,320 --> 00:41:11,755 Taigi, mes susiduriame, kad. 962 00:41:11,755 --> 00:41:14,630 SQL injection atakas, laimei, yra kažkas, ką mes padėsime jums, 963 00:41:14,630 --> 00:41:17,430 bet tai yra atrociously bendro šių dienų vis dar. 964 00:41:17,430 --> 00:41:18,680 Taigi, tai yra tik pavyzdys. 965 00:41:18,680 --> 00:41:21,290 Aš padaryti jokių pretenzijų, kad Harvardo PIN sistema 966 00:41:21,290 --> 00:41:23,130 pažeidžiami šiuo konkrečiu ataka. 967 00:41:23,130 --> 00:41:24,160 Mes bandėme. 968 00:41:24,160 --> 00:41:26,120 Bet, žinote, kad mes turėti panašaus šioje srityje. 969 00:41:26,120 --> 00:41:29,620 Ir Yale Grynasis ID yra panašus ieško ekraną šių dienų. 970 00:41:29,620 --> 00:41:33,190 Ir it turns out, kad gal PIN sistema būtų įgyvendinta PHP. 971 00:41:33,190 --> 00:41:37,050 >> Ir jei ji were-- tai not-- jie gali turėti kodą, kuris atrodo taip. 972 00:41:37,050 --> 00:41:38,210 Jie turi du kintamuosius. 973 00:41:38,210 --> 00:41:42,495 Duok man savo vartotojo vardą ir slaptažodį iš po super pasaulinį kintamąjį 974 00:41:42,495 --> 00:41:43,970 kad mes kalbėjome apie anksčiau. 975 00:41:43,970 --> 00:41:47,310 Gal Harvardo turi užklausą kaip SELECT žvaigždė iš vartotojų 976 00:41:47,310 --> 00:41:50,005 kur Nick prilygsta ir slaptažodis prilygsta. 977 00:41:50,005 --> 00:41:51,880 Ir pastebėsite, kad aš tiesiog prijunkite jį naudojant 978 00:41:51,880 --> 00:41:55,050 garbanotieji petnešomis žymėjimas nuo kitų dieną, o tai reiškia tiesiog prijunkite vertė 979 00:41:55,050 --> 00:41:55,550 čia. 980 00:41:55,550 --> 00:41:57,449 Nesu naudojant klaustukas technika. 981 00:41:57,449 --> 00:41:59,240 Aš neturiu jokių antra ar trečiųjų argumentus. 982 00:41:59,240 --> 00:42:02,350 Aš tiesiog pažodžiui statant eilutę save. 983 00:42:02,350 --> 00:42:04,930 >> Problema, nors, yra tai, kad jei kas nors patinka scroob, 984 00:42:04,930 --> 00:42:09,020 kuris yra nuoroda į plėvelės, Įrašai su kažką panašaus į tai, 985 00:42:09,020 --> 00:42:11,250 ir aš pašalinta taškus kad paprastai pridengti 986 00:42:11,250 --> 00:42:14,370 slaptažodžius, ką daryti, jei jis yra ypač kenksminga 987 00:42:14,370 --> 00:42:18,860 ir jo slaptažodį gal yra 12345, už filmą, pavadintą "Spaceballs" 988 00:42:18,860 --> 00:42:21,970 bet jis kritiškai įveda vieno citata po penkių, 989 00:42:21,970 --> 00:42:24,790 tada tiesiog žodis arba erdvėje, o tada citata, 990 00:42:24,790 --> 00:42:29,160 citatos pabaiga vienas lygu quote vieną, bet pranešimas, jis praleidžiamas ką? 991 00:42:29,160 --> 00:42:32,700 Jis praleista citata dešinėje ir jis praleidžiamas kairėje citata. 992 00:42:32,700 --> 00:42:35,170 >> Nes jei tai užpuolikas scroob prezumpciją 993 00:42:35,170 --> 00:42:38,160 yra tai, kad žmonės, kurie rašė Tai PHP kodas buvo ne taip ryškiai, 994 00:42:38,160 --> 00:42:42,990 gal jie tiesiog kai vieno kabutes interpoliacijos 995 00:42:42,990 --> 00:42:45,210 iš į garbanotas petnešos kintamojo? 996 00:42:45,210 --> 00:42:48,620 Ir taip gal jis galėtų natūra visiško jų mintis 997 00:42:48,620 --> 00:42:53,290 už juos, bet taip, kad vyksta tegul įsilaužta į PIN sistema. 998 00:42:53,290 --> 00:42:55,310 Kitaip tariant, tarkime, , kad tai yra kodas 999 00:42:55,310 --> 00:42:57,140 ir dabar mes prijungti ką scroob įvedėte. 1000 00:42:57,140 --> 00:42:58,770 Ir tai raudona, nes tai blogai. 1001 00:42:58,770 --> 00:43:01,310 >> Ir pagrindinis tekstas yra tai, ką jis įvedėte, 1002 00:43:01,310 --> 00:43:05,510 scroob gali apgauti Harvardo serveris į statant SQL užklausa 1003 00:43:05,510 --> 00:43:07,440 eilutė, kuri atrodo kaip šis. 1004 00:43:07,440 --> 00:43:11,760 Slaptažodis lygus 12345 arba vienas lygu vienas. 1005 00:43:11,760 --> 00:43:14,820 Kurio rezultatas, logiškai, yra tai, kad tai bus prisijungti scroob 1006 00:43:14,820 --> 00:43:18,360 į, jei jo slaptažodis yra 12345 arba jei viena lygu 1007 00:43:18,360 --> 00:43:22,660 viena, kuri yra žinoma visada teisinga, o tai reiškia, scroob visada gauna. 1008 00:43:22,660 --> 00:43:26,060 >> Ir taip, tai, kaip nustatyti Šiame, kaip ir daug atvejų, 1009 00:43:26,060 --> 00:43:28,140 būtų parašyti daugiau gintis. 1010 00:43:28,140 --> 00:43:30,390 Norėdami naudoti kažką panašaus į mūsų Tikrasis užklausos funkcija, kuri 1011 00:43:30,390 --> 00:43:33,980 Jūs pamatysite PSet7, kur mes prijungti kažkas panašaus klaustukais čia. 1012 00:43:33,980 --> 00:43:35,980 Ir grožis Užklausa funkcija, kad mes 1013 00:43:35,980 --> 00:43:40,010 suteikti jums tai gina nuo jų vadinamieji SQL injection atakas, kur 1014 00:43:40,010 --> 00:43:44,260 kas nors tracking kodą į švirkščiamųjų savo paties SQL kodą. 1015 00:43:44,260 --> 00:43:47,380 Nes tai, kas užklausos funkcija mes suteikiame Jums bus iš tikrųjų, 1016 00:43:47,380 --> 00:43:51,270 jei jūs naudojate klaustuko sintaksę ir antrą ir trečią argumentas čia 1017 00:43:51,270 --> 00:43:54,590 kas jį įtrauksime į PIDB įėjimo, kad vartotojas, jeigu? 1018 00:43:54,590 --> 00:43:56,060 Tie Backslash kabučių. 1019 00:43:56,060 --> 00:43:58,590 >> Taigi, tai išbėga bet potencialiai pavojingų simbolių. 1020 00:43:58,590 --> 00:44:01,000 Tai atrodo keistai dabar bet tai nėra pažeidžiami 1021 00:44:01,000 --> 00:44:03,260 nes ji nėra keisti logikos nebėra 1022 00:44:03,260 --> 00:44:06,470 nes visa slaptažodis dabar viena citata, kad ne, 1023 00:44:06,470 --> 00:44:07,596 Tiesą sakant, scroob slaptažodis. 1024 00:44:07,596 --> 00:44:09,845 Taigi, ten buvo keletas anekdotai apie tai per metus. 1025 00:44:09,845 --> 00:44:12,570 Taigi, tai buvo nusifotografuoti Kai kurių automobilių stovėjimo aikštelėje Geek 1026 00:44:12,570 --> 00:44:16,620 kuriuo žinote, kad kai kurie miestai ir narės bando nuskaityti jūsų licenciją 1027 00:44:16,620 --> 00:44:19,460 plokštė Sąskaita ar bilieto jums jei jūs einate per be, pavyzdžiui, 1028 00:44:19,460 --> 00:44:20,660 E-Z Pass dalykas. 1029 00:44:20,660 --> 00:44:24,490 Taigi, šis asmuo prielaida, kad gal žmonės raštu E-Z Pass sistemą 1030 00:44:24,490 --> 00:44:28,240 buvo ne taip ryškiai, o gal jie tiesiog sujungiamos kartu eilutę, 1031 00:44:28,240 --> 00:44:32,190 taip, kad jis ar ji negalėtų piktybiškai ne tik užbaigti savo mintį, 1032 00:44:32,190 --> 00:44:35,150 bet iš tikrųjų įvykdyti blogą komandą kuri mes nepaminėta dar, 1033 00:44:35,150 --> 00:44:36,380 bet jūs greičiausiai gali atspėti. 1034 00:44:36,380 --> 00:44:39,820 Kad be ištrinti ir įterpti ir atnaujinti ir pasirinkite, 1035 00:44:39,820 --> 00:44:43,370 ten taip pat raktažodis vadinamas lašas, kuris pažodžiui ištrina viską 1036 00:44:43,370 --> 00:44:45,300 į duomenų bazę, kuri ypač blogai. 1037 00:44:45,300 --> 00:44:48,760 >> Mes galime priartinti tai, jei tai šiek tiek sunku pamatyti. 1038 00:44:48,760 --> 00:44:52,300 Tai dabar yra žinomas animaciją tai nuostabiai protingas dabar 1039 00:44:52,300 --> 00:44:53,145 ir suprantama. 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [Juokas] 1042 00:45:04,750 --> 00:45:05,910 >> Taip, kietas. 1043 00:45:05,910 --> 00:45:06,800 Rūšis geeking iš. 1044 00:45:06,800 --> 00:45:08,800 Taigi, šie, tada, yra SQL injection atakas. 1045 00:45:08,800 --> 00:45:13,050 Ir jie taip lengva išvengti naudojant teisė kodas arba teisę bibliotekose. 1046 00:45:13,050 --> 00:45:15,947 Ir jūs pamatysite PSet7, tai kodėl mes suteikiame Jums užklausos funkciją. 1047 00:45:15,947 --> 00:45:17,780 Taigi, iš erzinti pora kad mes maniau, mes norime 1048 00:45:17,780 --> 00:45:19,930 duoti jums čia mūsų Likę minučių kartu. 1049 00:45:19,930 --> 00:45:24,030 Taigi, kaip jūs žinote, nuo nulinio savaitę, mes pristatė šias dvi lemputes kurios 1050 00:45:24,030 --> 00:45:26,610 yra gražus ne tik todėl, jie gana ir yra spalvinga, 1051 00:45:26,610 --> 00:45:29,450 bet todėl, kad jie palaiko kažką vadinamas API Application 1052 00:45:29,450 --> 00:45:31,980 Programavimas sąsaja ir į CS50 šiol, mes 1053 00:45:31,980 --> 00:45:34,440 daugiausia dėmesio skiriama GET ir Kampo, bet it turns out 1054 00:45:34,440 --> 00:45:37,390 ten kiti HTTP veiksmažodžiai kaip put. 1055 00:45:37,390 --> 00:45:39,430 >> Ir iš tikrųjų, tai buvo Perėjimas nuo nulio savaitę Pristatymas 1056 00:45:39,430 --> 00:45:44,930 kuriuo, jei jums reikia parašyti kodą, kuris siunčia a la PSet6 HTTP prašymas 1057 00:45:44,930 --> 00:45:49,647 atrodo tai su šio teksto riekė apačioje, kuris yra vadinamas JSON, 1058 00:45:49,647 --> 00:45:52,230 arba JavaScript objektas Žymėjimai kad mes kalbame apie kitą savaitę, 1059 00:45:52,230 --> 00:45:57,030 galite įjungti arba išjungti arba pakeisti šviesų kaip tie spalvos. 1060 00:45:57,030 --> 00:46:00,480 Taigi, jei CS50 taip pat turi be to, kai tų lempučių čia, New Haven 1061 00:46:00,480 --> 00:46:02,480 jei norite skolintis juos galutinių projektų, 1062 00:46:02,480 --> 00:46:04,370 taip pat kai "Microsoft" Juostos, kuri yra tarsi 1063 00:46:04,370 --> 00:46:07,619 laikrodžiai, kad jums dėvėti aplink savo riešą kad panašiai turi taip, kad jums API 1064 00:46:07,619 --> 00:46:10,040 galite rašyti savo programinę įrangą už juos. 1065 00:46:10,040 --> 00:46:12,490 >> Mes turime su paskyrą "Apple" iOS "kodą, 1066 00:46:12,490 --> 00:46:15,510 kad jei turite Apple Žiūrėti arba "iPhone" arba "iPad" arba iPod 1067 00:46:15,510 --> 00:46:17,707 galite rašyti kodą, kad iš tikrųjų veikia tie. 1068 00:46:17,707 --> 00:46:19,540 Turime visa krūva iš Arduinos, kurie yra 1069 00:46:19,540 --> 00:46:22,010 Labai mažas kompiuteriai be atvejais, iš esmės, 1070 00:46:22,010 --> 00:46:25,240 kad jūs galite prijungti per USB, paprastai į savo Mac arba PC, 1071 00:46:25,240 --> 00:46:28,810 rašyti kodą, kuris veikia jų fizinį įtaisai, kurie dažnai turi jutiklius ant jų 1072 00:46:28,810 --> 00:46:30,790 todėl jūs galite bendrauti su realiu pasauliu. 1073 00:46:30,790 --> 00:46:32,860 Turime visa krūva Keliamaisiais Motion prietaisų, 1074 00:46:32,860 --> 00:46:36,500 kurie yra USB prietaisai Mac ir Kompiuteriai, čia ir vėl, New Haven. 1075 00:46:36,500 --> 00:46:40,080 Ir jei jūs prijunkite jį į savo "Mac", jūs iš tikrųjų galite kontroliuoti kompiuterį 1076 00:46:40,080 --> 00:46:42,550 rašyti programinę įrangą kad infraraudonųjų spindulių sijų, 1077 00:46:42,550 --> 00:46:46,360 skaičiai, kur yra jūsų žmogaus rankos, net neliesdami klaviatūros. 1078 00:46:46,360 --> 00:46:49,135 Mes maniau, mes norime pasidalinti greitas žvilgsnis į tai, pavyzdžiui. 1079 00:46:49,135 --> 00:46:51,428 >> [Muzikos grojimo] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 Taigi, mes turime visą krūva iš šių dalykų, 1082 00:47:57,590 --> 00:48:01,040 taip pat vadinamas Myo rankos juostas kurį įdėti per savo dilbio 1083 00:48:01,040 --> 00:48:04,595 ir tada jūs galite kontroliuoti nekilnojamojo pasaulyje ar virtualus pasaulis, kaip šis. 1084 00:48:04,595 --> 00:48:06,471 >> [Muzikos grojimo] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 Arba mes taip pat turi tam tikrą "Google" Kartonas, kuris yra tiesiog, kaip, 1087 00:49:20,920 --> 00:49:24,841 kartoninę dėžę galima įdėti į savo veido, bet skaidrių telefone į jį 1088 00:49:24,841 --> 00:49:27,590 taip, kad jūs galėsite įdėti stiklo jūsų telefonas tikrai arti savo akimis. 1089 00:49:27,590 --> 00:49:30,190 "Google" ir kartonas yra gana pigus $ 10 arba $ 20 d. 1090 00:49:30,190 --> 00:49:32,230 Ir ji turi mažai lęšius kad šiek tiek ne pamainą 1091 00:49:32,230 --> 00:49:35,900 ant jūsų ekrano vaizdą žmogui akys suteiks jums gylio pojūtį 1092 00:49:35,900 --> 00:49:39,550 taip, kad jūs iš tikrųjų turi 3D aplinka priešais jus. 1093 00:49:39,550 --> 00:49:42,927 Mes taip pat turime keletą Samsung pavara, kuri yra daugiau brangus versija tai, 1094 00:49:42,927 --> 00:49:46,010 bet kurie gali panašiai slysti Android telefonas ir duoti jums iliuziją 1095 00:49:46,010 --> 00:49:48,309 of-- ar duoti patirties virtualios realybės. 1096 00:49:48,309 --> 00:49:50,850 Ir mūsų galutinis dvi minutes, mes manome, kad mes norime pabandyti tai padaryti. 1097 00:49:50,850 --> 00:49:55,250 Jei aš galiu projektuoti, ką Colton turi čia tik pustyti apetitas, 1098 00:49:55,250 --> 00:49:58,442 leiskite man eiti į priekį ir mesti iki dideliame ekrane čia. 1099 00:49:58,442 --> 00:49:59,400 Leiskite nužudyti šviesas. 1100 00:49:59,400 --> 00:50:02,290 Colton, jūs norite eiti į priekį ir įdėti į savo mobilųjį akimirkai 1101 00:50:02,290 --> 00:50:05,171 ir ateiti į daugiau kaip į viduryje scenos? 1102 00:50:05,171 --> 00:50:07,420 Ir jūs norite project-- Tai yra tai, ką Colton mato. 1103 00:50:07,420 --> 00:50:10,560 >> Dabar, "Wi-Fi" čia yra ne toks stiprus, šiam prietaisui 1104 00:50:10,560 --> 00:50:13,870 kad tai yra super įtikinama, bet Colton yra tiesiog 1105 00:50:13,870 --> 00:50:15,710 Šioje stebuklinga futuristinis vietoje. 1106 00:50:15,710 --> 00:50:16,796 Jis mato tik vieną vaizdą. 1107 00:50:16,796 --> 00:50:19,920 Jūs matote savo kairę ir į dešinę akį kad jo smegenys yra susiuvimo kartu 1108 00:50:19,920 --> 00:50:22,260 trimatis aplinka ant jo veido. 1109 00:50:22,260 --> 00:50:24,319 Jis tiesiog pasirinktas meniu parinktį čia. 1110 00:50:24,319 --> 00:50:27,360 Ir taip vėl, jis dėvi šį ausines su Samsung telefoną ant jo tai 1111 00:50:27,360 --> 00:50:29,080 Belaidžiu projektavimas mūsų važtaraščius. 1112 00:50:29,080 --> 00:50:30,349 Dabar jūs Marse, manau? 1113 00:50:30,349 --> 00:50:31,140 COLTON: Manau, kad taip. 1114 00:50:31,140 --> 00:50:32,181 Aš nesu įsitikinęs, [nesigirdi]. 1115 00:50:32,181 --> 00:50:34,250 [Juokas] 1116 00:50:34,250 --> 00:50:36,374 >> DAVID Malan: Pasirodo, Marsas turi šiuos meniu. 1117 00:50:36,374 --> 00:50:41,590 >> COLTON: [nesigirdi] kai kietas vietos, jei mes norime eiti to-- 1118 00:50:41,590 --> 00:50:43,330 >> DAVID Malan: Kur mes norime eiti? 1119 00:50:43,330 --> 00:50:45,837 >> COLTON: [nesigirdi] 1120 00:50:45,837 --> 00:50:48,170 DAVID Malan: Ir pažiūrėkime kur Colton imsis mumis dabar. 1121 00:50:48,170 --> 00:50:48,961 COLTON: [nesigirdi] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> DAVID Malan: Taigi, ten tiek daug įvairių vietų, kur galite imtis patys. 1124 00:50:56,380 --> 00:51:00,590 Yra FAPIs, per kurį galite rašyti žaidimus ar sąveikos, 1125 00:51:00,590 --> 00:51:01,950 paleisti, galiausiai, telefonu. 1126 00:51:01,950 --> 00:51:03,908 Taigi, jūs tikrai tik raštu mobiliojo telefono app. 1127 00:51:03,908 --> 00:51:06,380 Tačiau dėl programinės įrangos ir grafikos galimybes, 1128 00:51:06,380 --> 00:51:08,765 dabar Colton yra tai maža maža name. 1129 00:51:08,765 --> 00:51:10,515 Ir tuo rizikos neužgožia save, 1130 00:51:10,515 --> 00:51:13,330 Colton ir aš klijuoti aplink tuo klasės pabaigoje šiandien 1131 00:51:13,330 --> 00:51:14,300 jei norite ateiti ir žaisti. 1132 00:51:14,300 --> 00:51:16,350 Ir mes juos Atgal kitą savaitę taip pat. 1133 00:51:16,350 --> 00:51:18,420 Be toliau, Ado tai jį šiandien. 1134 00:51:18,420 --> 00:51:21,990 Mes jus pamatyti kitą savaitę. 1135 00:51:21,990 --> 00:51:24,140 >> [Muzika - Ragga dvyniai "blogas žmogus"] 1136 00:51:24,140 --> 00:55:23,146