1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> DAVID Malan: Dobro, mi smo nazaj. 3 00:00:01,560 --> 00:00:03,830 Torej za razburljivo Ugotovitev, naš zadnji odsek 4 00:00:03,830 --> 00:00:06,900 na spletni programiranja, ki I misel bi uporabljamo kot splošni izraz 5 00:00:06,900 --> 00:00:08,440 ujeti nekaj preostale teme. 6 00:00:08,440 --> 00:00:10,390 Tako da ob koncu dan, bomo dejansko storili 7 00:00:10,390 --> 00:00:14,830 malo hands-on spletno programiranje z jezikom, ki se imenuje JavaScript. 8 00:00:14,830 --> 00:00:17,510 In mislim, da bomo ogledali na nekaj povezane s slikami 9 00:00:17,510 --> 00:00:20,040 in odkrivanje nekaj skrivaj skrit v sliki, 10 00:00:20,040 --> 00:00:23,230 in prav tako si oglejte Google Maps API, programiranje aplikacija 11 00:00:23,230 --> 00:00:26,040 vmesnik, kot nekaj Predstavnik tipa opreme 12 00:00:26,040 --> 00:00:28,800 to je vse bolj in prosto na voljo danes. 13 00:00:28,800 --> 00:00:32,029 >> Toda zakaj ne pogledamo na sestavine v svetu 14 00:00:32,029 --> 00:00:34,070 da smo nekako že pri čemer za samoumevno obstaja 15 00:00:34,070 --> 00:00:36,720 za nekaj časa, baze podatkov. 16 00:00:36,720 --> 00:00:39,150 V zadnjem dnevu in pol smo domnevati, 17 00:00:39,150 --> 00:00:42,910 da imamo dostop do baze podatkov, vendar kakšno težavo ima podatkovna baza rešiti? 18 00:00:42,910 --> 00:00:45,540 Kaj počne za nas? 19 00:00:45,540 --> 00:00:47,030 Kaj je to? 20 00:00:47,030 --> 00:00:48,679 >> OBČINSTVO: [neslišno] 21 00:00:48,679 --> 00:00:51,720 DAVID Malan: Drži vse informacije, OK, in katere vrste informacij 22 00:00:51,720 --> 00:00:53,186 bi si dal v njem? 23 00:00:53,186 --> 00:00:54,590 >> OBČINSTVO: [neslišno] 24 00:00:54,590 --> 00:00:56,450 >> DAVID Malan: Vse informacije si dal v njem, boste dobili nazaj. 25 00:00:56,450 --> 00:00:57,070 To je res. 26 00:00:57,070 --> 00:01:01,900 In tipično spletno stran ali spletni Vloga, katere vrste informacij, 27 00:01:01,900 --> 00:01:03,385 Natančneje, bi si dal noter? 28 00:01:03,385 --> 00:01:04,260 OBČINSTVO: [neslišno] 29 00:01:04,260 --> 00:01:05,051 DAVID Malan: Uporabniki. 30 00:01:05,051 --> 00:01:07,000 Torej, kaj je uporabnik? 31 00:01:07,000 --> 00:01:09,765 >> OBČINSTVO: [neslišno] 32 00:01:09,765 --> 00:01:11,640 DAVID Malan: OK, registrirana Uporabnik spletne strani. 33 00:01:11,640 --> 00:01:15,100 In kaj to pomeni, da Podatki uporabniki shranijo? 34 00:01:15,100 --> 00:01:17,260 Kaj sestavlja uporabnika? 35 00:01:17,260 --> 00:01:18,331 Uporabnik ima kaj? 36 00:01:18,331 --> 00:01:19,206 OBČINSTVO: [neslišno] 37 00:01:19,206 --> 00:01:21,040 DAVID Malan: Ja, osebna podatkov, in to mi je všeč. 38 00:01:21,040 --> 00:01:21,970 Bodimo bolj natančni. 39 00:01:21,970 --> 00:01:25,275 Torej, uporabnik ima običajno ime, Kaj drugega bi lahko uporabnik? 40 00:01:25,275 --> 00:01:26,150 OBČINSTVO: [neslišno] 41 00:01:26,150 --> 00:01:29,130 DAVID Malan: An addr-- OK, tako ime, priimek. 42 00:01:29,130 --> 00:01:29,630 To je dobro. 43 00:01:29,630 --> 00:01:31,463 Pravzaprav, kaj je popraviti da, ker bo 44 00:01:31,463 --> 00:01:35,010 odpreti možnost za razprava, še dodatno. 45 00:01:35,010 --> 00:01:39,090 Ime, priimek, spol. 46 00:01:39,090 --> 00:01:41,820 47 00:01:41,820 --> 00:01:43,481 ID je neke vrste. 48 00:01:43,481 --> 00:01:43,980 Kaj drugega? 49 00:01:43,980 --> 00:01:45,438 Nekaj ​​sem še slišal, preveč. 50 00:01:45,438 --> 00:01:51,600 E-poštni, poštni naslov. 51 00:01:51,600 --> 00:01:58,170 >> Torej, kaj je premor tam in zdaj menijo, ni tisto, kar smo shranjevanje v bazo podatkov, 52 00:01:58,170 --> 00:02:01,980 ampak-- in ne zato, ker je morda očitno, da ko enkrat registrirati uporabnika, 53 00:02:01,980 --> 00:02:03,730 jih želite zapomniti nekaj časa. 54 00:02:03,730 --> 00:02:05,480 Ga ne želijo samo shranjeni v RAM 55 00:02:05,480 --> 00:02:08,690 in se tako forgotten-- pa se osredotočajo na izkušnjah. 56 00:02:08,690 --> 00:02:11,700 >> Izkazalo se je, da je v svet podatkovnih baz, 57 00:02:11,700 --> 00:02:14,410 tam je vsaj dve vrsti teh dneh. 58 00:02:14,410 --> 00:02:20,010 Nekaj ​​imenuje SQL baze podatkov, Structured Query Language, 59 00:02:20,010 --> 00:02:24,770 ali Cutely imenom, NoSQL, ki ni SQL. 60 00:02:24,770 --> 00:02:26,980 In slednje je primer tega, kar bi lahko 61 00:02:26,980 --> 00:02:30,660 se imenuje objektno usmerjen, ali predmet, trgovina, baza podatkov 62 00:02:30,660 --> 00:02:36,010 ki hrani predmete, in ne izgovor mi, saj bomo kmalu videli, vrstice. 63 00:02:36,010 --> 00:02:41,800 >> Torej, mi pa bomo za trenutek na Prvi izmed njih, in sicer SQL 64 00:02:41,800 --> 00:02:46,850 baze podatkov, če samo zato, ker je tako znano že vsakomur 65 00:02:46,850 --> 00:02:51,070 ki je uporabil Excel ali Google listi ali Apple 66 00:02:51,070 --> 00:02:53,740 Številke ali katerikoli standardni preglednice program 67 00:02:53,740 --> 00:02:56,040 ali enakovredno, ali več Sofistikovano, 68 00:02:56,040 --> 00:02:58,610 nekaj podobnega Microsoft Dostop ali Oracle 69 00:02:58,610 --> 00:03:03,890 ali MySQL ali PostgreSQL, ki so vsi so imena izdelkov za izvedb 70 00:03:03,890 --> 00:03:04,865 na naslednji ideji. 71 00:03:04,865 --> 00:03:10,350 >> Relacijska podatkovna baza je preprosto nekaj, kar ima stolpce in vrstice. 72 00:03:10,350 --> 00:03:12,850 In vrsticah in stolpcih, Sem dobesedno pomeni nekaj 73 00:03:12,850 --> 00:03:21,860 kot je ta, tako da če bomo morda imajo ime polja in svoje vrste več tukaj. 74 00:03:21,860 --> 00:03:25,800 In dejansko, naj me zdaj začel na zemljevid ti. 75 00:03:25,800 --> 00:03:29,420 Torej v resnici, ne vem Zato sem narisal ločeno tabelo. 76 00:03:29,420 --> 00:03:30,780 Recimo, da ta preprosta. 77 00:03:30,780 --> 00:03:34,830 >> Imamo prav tu Začetki naši mizi, kjer 78 00:03:34,830 --> 00:03:40,150 To je ime polja in to je vrsta podatkov 79 00:03:40,150 --> 00:03:41,660 in po vrsti mislim na naslednje. 80 00:03:41,660 --> 00:03:45,510 Je število, je niz, kratek niz kot besedo, 81 00:03:45,510 --> 00:03:49,340 je to točka, je binarnih podatkov, kot je na sliki? 82 00:03:49,340 --> 00:03:51,980 In kaj je samo draži to razen za trenutek. 83 00:03:51,980 --> 00:03:57,575 Torej ime, številka, niz, velik kos text-- 84 00:03:57,575 --> 00:03:58,450 OBČINSTVO: [neslišno] 85 00:03:58,450 --> 00:03:59,616 DAVID Malan: Ja, tako niz. 86 00:03:59,616 --> 00:04:04,744 In v okviru zbirke podatkov, bomo običajno imenujemo char polje. 87 00:04:04,744 --> 00:04:07,660 Bom rekel, char za zdaj, ampak smo bo to natančneje v trenutku. 88 00:04:07,660 --> 00:04:09,180 Polje značaj. 89 00:04:09,180 --> 00:04:11,365 Priimek je verjetno enako. 90 00:04:11,365 --> 00:04:11,865 Spol? 91 00:04:11,865 --> 00:04:16,230 92 00:04:16,230 --> 00:04:18,310 >> Moški ali ženska, da ji je lahko polje char. 93 00:04:18,310 --> 00:04:21,380 To je lahko bodisi ponudbo, konec citata "Moški" ali citiram, konec citata "ženska" 94 00:04:21,380 --> 00:04:23,650 ali bi bilo m ali f. 95 00:04:23,650 --> 00:04:26,540 Če želite biti bolj vključujoč, boste morda morali tretjo vrednost 96 00:04:26,540 --> 00:04:28,640 ali neka druga področja v celoti. 97 00:04:28,640 --> 00:04:31,350 In tako lahko uporabite: diplomska naloga. 98 00:04:31,350 --> 00:04:35,036 Polje se lahko imenuje moški, in potem bi lahko rekli, resnična ali neresnična. 99 00:04:35,036 --> 00:04:38,160 Vendar ne nujno zajame vse informacije, ki jih morda želeli. 100 00:04:38,160 --> 00:04:41,118 >> Tako se izkaže, da je še ena vrsta polja, ki so lahko koristni 101 00:04:41,118 --> 00:04:46,040 V tipični podatkovni bazi, ki se imenuje enum, kjer je polje znakov, 102 00:04:46,040 --> 00:04:50,480 vendar pa, oblikovalec, priti do našteti možne vrednosti, 103 00:04:50,480 --> 00:04:54,630 kot citat, konec citata "moški", citiram, konec citata "ženska" in tako naprej. 104 00:04:54,630 --> 00:04:57,620 Tako, da ne glede na vrednost je v svoji zbirki podatkov, 105 00:04:57,620 --> 00:05:00,670 je v resnici temelji na značaj, vendar da mora biti eden od teh vrednosti. 106 00:05:00,670 --> 00:05:03,520 Verjetno, ne bi želeli enum za prvo ime ali priimek. 107 00:05:03,520 --> 00:05:05,630 V nasprotnem primeru bi morali našteti, kot ime 108 00:05:05,630 --> 00:05:09,570 izhaja iz dobesedno vsak mogoče ime in priimek. 109 00:05:09,570 --> 00:05:13,960 >> OK, tako da ID kaj mora ID biti? 110 00:05:13,960 --> 00:05:15,200 Ja, tako da morda več. 111 00:05:15,200 --> 00:05:17,870 Torej, kaj je s palico da za zdaj, številka. 112 00:05:17,870 --> 00:05:22,010 In glede na število, število je malo preširoka zdaj. 113 00:05:22,010 --> 00:05:23,900 Za konec drugega dan, počutim se kot mi 114 00:05:23,900 --> 00:05:25,280 bi moral biti malo bolj natančen. 115 00:05:25,280 --> 00:05:29,280 Število bi lahko pomenilo kot, da bi lahko nekaj podobnega 1,236. 116 00:05:29,280 --> 00:05:31,500 In to je verjetno ne kaj mislimo z ID. 117 00:05:31,500 --> 00:05:34,635 Kaj verjetno pomeni z ID? 118 00:05:34,635 --> 00:05:36,382 >> OBČINSTVO: [neslišno] 119 00:05:36,382 --> 00:05:38,590 DAVID Malan: Oh, v redu, tako da Mogoče pa sploh ni številka. 120 00:05:38,590 --> 00:05:42,840 Mogoče je dejansko edinstven identifikator To je niz, kot uporabniško ime. 121 00:05:42,840 --> 00:05:44,580 Tako popolnoma, bi lahko bilo. 122 00:05:44,580 --> 00:05:46,730 Mislim, da je nekdo verjetno pomenilo številčna, čeprav. 123 00:05:46,730 --> 00:05:48,460 Torej ostanimo pri tem. 124 00:05:48,460 --> 00:05:49,320 Kakšno številko? 125 00:05:49,320 --> 00:05:51,960 Kaj je bolj precise-- celo število. 126 00:05:51,960 --> 00:05:56,710 Tako število kot je 0, 1, 2, 3, tako da pokličem to število. 127 00:05:56,710 --> 00:05:58,909 In tudi takrat, sem lahko se nitpicking, da je 128 00:05:58,909 --> 00:06:00,700 ni res samo splošno število hočeš. 129 00:06:00,700 --> 00:06:04,340 Verjetno ne želite negativne vrednosti, samo zato, ker je samo meni čudno. 130 00:06:04,340 --> 00:06:06,070 Verjetno želite pozitivna cela števila. 131 00:06:06,070 --> 00:06:07,920 Tako lahko tudi izrazi da v bazi podatkov, 132 00:06:07,920 --> 00:06:09,450 vendar za zdaj, bomo rekli celo število. 133 00:06:09,450 --> 00:06:10,650 >> E-naslov? 134 00:06:10,650 --> 00:06:13,550 To je verjetno samo-- kaj? 135 00:06:13,550 --> 00:06:14,460 >> OBČINSTVO: [neslišno] 136 00:06:14,460 --> 00:06:16,980 >> DAVID Malan: To je e-pošta, ampak to je znakov, kajne? 137 00:06:16,980 --> 00:06:19,813 Treba ga je le funky značaj kot pod "na" simbol ali kaj drugega, 138 00:06:19,813 --> 00:06:21,580 vendar je še vedno polje znakov. 139 00:06:21,580 --> 00:06:23,900 In poštni naslov? 140 00:06:23,900 --> 00:06:25,360 Polje značaj. 141 00:06:25,360 --> 00:06:31,400 Torej, to je lep začetek, vendar bodimo malo bolj natančno zdaj. 142 00:06:31,400 --> 00:06:34,540 >> Tako se izkaže, da je v podatkovna baza, ki jih pogosto 143 00:06:34,540 --> 00:06:39,120 imajo izbiro nad bolj rafinirano različice teh stvari. 144 00:06:39,120 --> 00:06:44,330 V resnici, v tipični SQL baze podatkov, SQL, ali bolj na splošno, relacijske baze podatkov, 145 00:06:44,330 --> 00:06:46,680 podatkovne baze z vrstami in stebri, ki jih pogosto 146 00:06:46,680 --> 00:06:53,610 dobili določiti ne le tip field-- dovolite mi, da nekaj prostora here-- 147 00:06:53,610 --> 00:06:56,600 ampak tudi dolžina. 148 00:06:56,600 --> 00:06:59,900 >> Torej, kako dolgo je ime? 149 00:06:59,900 --> 00:07:07,060 Mislim, D-A-V-I-D. OK, dobil sem Verjetno je užaljen kot polovico 150 00:07:07,060 --> 00:07:11,260 ljudi v sobi, desno, ker so vaša imena več kot pet 151 00:07:11,260 --> 00:07:16,608 pisma, tako da pet zdi malo sebičen in naivna, kaj je boljša vrednost? 152 00:07:16,608 --> 00:07:19,320 153 00:07:19,320 --> 00:07:24,330 10, vse v redu, in mislim, da smo OK v sobi. 154 00:07:24,330 --> 00:07:26,254 13? 155 00:07:26,254 --> 00:07:27,541 30? 156 00:07:27,541 --> 00:07:29,540 Zakaj ne vzemite pristop prej, ko smo 157 00:07:29,540 --> 00:07:31,081 so govorili o nizi in spomina? 158 00:07:31,081 --> 00:07:32,450 Zakaj ne rečem kot 1000? 159 00:07:32,450 --> 00:07:35,260 Nihče ime se dogaja daljše od 1.000. 160 00:07:35,260 --> 00:07:36,706 Porini nazaj. 161 00:07:36,706 --> 00:07:38,005 >> OBČINSTVO: [neslišno] 162 00:07:38,005 --> 00:07:40,130 DAVID Malan: Ja, to je potratno, desno, še posebej 163 00:07:40,130 --> 00:07:44,630 če je večina imen le pet ali 10 ali 15 znakov, da je zelo potratna. 164 00:07:44,630 --> 00:07:45,810 Torej, veste kaj? 165 00:07:45,810 --> 00:07:48,020 To je vrsta trdega vprašanje. 166 00:07:48,020 --> 00:07:51,721 Sedaj lahko zagotovo analizirali English in imena kateri koli drug jezik je 167 00:07:51,721 --> 00:07:54,470 in ugotoviti, no, kaj je average-- povprečju v resnici ne 168 00:07:54,470 --> 00:07:57,150 pomaga us-- kaj je max verjetno tisto, kar si resnično želimo. 169 00:07:57,150 --> 00:07:59,920 Vendar se izkaže, smo celo nekateri Izbira po tipu tukaj. 170 00:07:59,920 --> 00:08:03,400 >> V tipični SQL baze podatkov, ki jih so nekaj, kar ti char polje 171 00:08:03,400 --> 00:08:07,505 in tudi varchar, V-A-R, za spremenljivko char. 172 00:08:07,505 --> 00:08:08,630 In razlika je ta. 173 00:08:08,630 --> 00:08:12,400 Char polje, ki jih oblikovalec, navesti vnaprej 174 00:08:12,400 --> 00:08:14,900 natančna dolžina polja. 175 00:08:14,900 --> 00:08:20,530 Tako da morda prvo ime kot 20 počuti nekako varno. 176 00:08:20,530 --> 00:08:23,950 Morda morali narediti nekaj Googlanjem za vidim, če je to dovolj dejansko varen. 177 00:08:23,950 --> 00:08:26,910 Verjetno ime z 21 znakov, vendar za zdaj, domnevam 20 178 00:08:26,910 --> 00:08:27,620 je varna. 179 00:08:27,620 --> 00:08:30,070 >> Polje char bi pomenilo v bazi podatkov, ki vas 180 00:08:30,070 --> 00:08:33,289 so s pomočjo 20 in vedno 20 znakov. 181 00:08:33,289 --> 00:08:37,419 Zdaj če je samo D-A-V-I-D, 15 tistih šele bo praznih znakov, 182 00:08:37,419 --> 00:08:40,450 vendar ste še vedno uporabljajo vseh 20 bajtov. 183 00:08:40,450 --> 00:08:46,302 Polje varchar, nasprotno, pomeni Niz mora biti največ 20 znakov 184 00:08:46,302 --> 00:08:48,260 če pa je samo pet, boš samo za uporabo 185 00:08:48,260 --> 00:08:51,270 pet, morda šest za Posebno vrednost na koncu 186 00:08:51,270 --> 00:08:54,980 kot tisti 0 smo se pogovarjali, da označuje konec značaja 187 00:08:54,980 --> 00:08:56,790 zaporedje v pomnilniku. 188 00:08:56,790 --> 00:08:59,950 >> Torej, če misliš lahko izberete char 189 00:08:59,950 --> 00:09:05,240 versus varchar, glede na to, da je kompromis? 190 00:09:05,240 --> 00:09:09,321 Char uporablja, da je veliko znakov, varchar uporablja največ tem veliko znakov. 191 00:09:09,321 --> 00:09:10,196 OBČINSTVO: [neslišno] 192 00:09:10,196 --> 00:09:13,859 193 00:09:13,859 --> 00:09:16,900 DAVID Malan: OK, ko veš dolžina niza zelo prepričljivi 194 00:09:16,900 --> 00:09:19,316 samo uporabo char, ker če ti to veš, samo odložil. 195 00:09:19,316 --> 00:09:23,390 In morda je to res za zadrgo koda, v ZDA, vsaj 02.138, 196 00:09:23,390 --> 00:09:26,660 to je vedno bo pet znakov, dokler ne dodate pomišljaj štiri. 197 00:09:26,660 --> 00:09:29,750 A morda nekaj vrednosti za katerih boste vedno vedeli, koliko. 198 00:09:29,750 --> 00:09:32,310 Ali pa morda državni simboli, kot NY za New York, 199 00:09:32,310 --> 00:09:33,811 in MA za Massachusetts v ZDA. 200 00:09:33,811 --> 00:09:36,560 Mogoče si pa obstaja nekaj situacij kjer je to povsem smiselno, 201 00:09:36,560 --> 00:09:39,520 vendar s to logiko, zakaj so smo celo overthinking to? 202 00:09:39,520 --> 00:09:41,800 Zakaj ne bi samo uporabo varchar in potem bom samo 203 00:09:41,800 --> 00:09:46,730 Vedno uporabljajte dve osebi vseeno, ali Vedno uporabljajte nekako pet znakov? 204 00:09:46,730 --> 00:09:50,300 Zakaj ne samo shranite varchar za vse, ki jih to logiko? 205 00:09:50,300 --> 00:09:51,677 Obstajati mora ulov. 206 00:09:51,677 --> 00:09:52,552 OBČINSTVO: [neslišno] 207 00:09:52,552 --> 00:09:54,952 208 00:09:54,952 --> 00:09:56,660 DAVID Malan: Bi napisati nekaj narobe. 209 00:09:56,660 --> 00:09:58,090 Tako, da je res. 210 00:09:58,090 --> 00:10:01,030 Toda tudi takrat, ne morejo uporabiti več pomnilnika, kot sem dodeliti. 211 00:10:01,030 --> 00:10:03,340 Še vedno imam končno pravijo po dolžini, 212 00:10:03,340 --> 00:10:06,780 tako da se ne more po nesreči, da da je napaka, ampak je dobra misel. 213 00:10:06,780 --> 00:10:10,510 To je bolj subtilno, ampak to je zelo povezano za našo razpravo, pravzaprav, nizi 214 00:10:10,510 --> 00:10:12,390 in povezane sezname prej. 215 00:10:12,390 --> 00:10:16,290 >> Izkazalo se je, da je v zbirki podatkov, če ve, da so vse vrednosti 216 00:10:16,290 --> 00:10:19,250 fiksne dolžine, četudi nekatere od teh vrednot so prazni, 217 00:10:19,250 --> 00:10:22,484 nekako estetsko prazno, D-A-V-I-D in nato 15 prazne, 218 00:10:22,484 --> 00:10:24,650 se izkaže, da če vsak polje je enake dolžine, 219 00:10:24,650 --> 00:10:28,670 podobno matriko imel vse svoje stvari nazaj nazaj nazaj nazaj, tako da 220 00:10:28,670 --> 00:10:33,480 si lahko samo plus 1, da bi dobili na naslednjo vrednost, enako zamisel v tabeli zbirke podatkov. 221 00:10:33,480 --> 00:10:37,550 Če vse svoje značaja strune so enake dolžine, 222 00:10:37,550 --> 00:10:39,390 imate, kar se imenuje bralno-pisalnega. 223 00:10:39,390 --> 00:10:41,850 Če so vsi nizi izmed dolžina 20, vam ne le 224 00:10:41,850 --> 00:10:45,230 storiti plus 1 si naredil plus 20, plus 20 plus 20 plus 20, 225 00:10:45,230 --> 00:10:48,775 in se lahko zelo hitro pomikate ali iskanje po vseh vaših podatkov. 226 00:10:48,775 --> 00:10:54,420 >> Spremenljivka char polje, nasprotno, nima vedno 20 znakov. 227 00:10:54,420 --> 00:10:58,000 Morda imajo 20 in nato 15 in 19, nato 10, 228 00:10:58,000 --> 00:11:00,720 in tako da, če želite iskati skozi njo, ne moreš samo slepo 229 00:11:00,720 --> 00:11:03,050 dodamo 20 bajtov, da pridete do naslednjega. 230 00:11:03,050 --> 00:11:07,280 Vi dobesedno iskanje po ker rob strukture podatkov, 231 00:11:07,280 --> 00:11:08,340 če hočete, je raztrgan. 232 00:11:08,340 --> 00:11:11,480 Nekako gre noter in ven, ki temelji na dejanski dolžini niza. 233 00:11:11,480 --> 00:11:14,460 Torej, ko veš, koliko, kot Kareem pravi, uporabite polje char, 234 00:11:14,460 --> 00:11:16,460 ker boste pridobili, da izkoristek pri čemer 235 00:11:16,460 --> 00:11:19,170 lahko iščete po njem hitreje ko iščete podatke, 236 00:11:19,170 --> 00:11:20,550 drugače uporabiti spremenljivko. 237 00:11:20,550 --> 00:11:24,450 >> Na žalost nimam dober odgovor kako dolgo bi morala biti ime, 238 00:11:24,450 --> 00:11:26,360 ampak za kaj takega ime, bi rekel 239 00:11:26,360 --> 00:11:28,470 varchar je skupna ker to ne bo 240 00:11:28,470 --> 00:11:30,430 da je določene dolžine za vsakogar. 241 00:11:30,430 --> 00:11:33,650 20, ne vem, 20 meni malo tesen. 242 00:11:33,650 --> 00:11:36,460 Recimo, da 50, 50. 243 00:11:36,460 --> 00:11:39,210 To ni res stalo, da veliko več za povedati 50 namesto 40, 244 00:11:39,210 --> 00:11:41,260 ampak na neki točki, morate da bi sodbo klic. 245 00:11:41,260 --> 00:11:43,090 >> Zelo pogosto, odkrito povedano, za [? zgodovinski?] 246 00:11:43,090 --> 00:11:47,670 razlogov, čeprav je pretirana, se pravi 255, ker nekaj časa nazaj, 247 00:11:47,670 --> 00:11:51,440 v priljubljenih podatkovnih baz, kot so MySQL, brezplačno odprto orodje source 248 00:11:51,440 --> 00:11:53,790 da veliko podjetij kot tudi Facebook uporablja, 249 00:11:53,790 --> 00:11:56,654 To je bila največja privzeta tako da ljudje šel z njo. 250 00:11:56,654 --> 00:11:59,070 Torej ni nerazumna, vendar bomo uporabite malo več intuicijo 251 00:11:59,070 --> 00:12:02,970 in pravijo, seveda 50, ki je verjetno malo pretirana. 252 00:12:02,970 --> 00:12:05,720 >> Spol, delam kot ENUM, in tako smo lahko zato 253 00:12:05,720 --> 00:12:08,760 našteti moški ali ženska, ali morda bolj učinkovito, 254 00:12:08,760 --> 00:12:13,420 m ali f ali kakšno drugo simbolika, vendar enum počuti kot dobra izbira tam. 255 00:12:13,420 --> 00:12:16,740 Da ne bo pomote, spol bi biti samo varchar, 256 00:12:16,740 --> 00:12:19,090 in smo lahko le vsi Strinjate se, kot lepe ljudi, 257 00:12:19,090 --> 00:12:21,010 da vedno dajo enake vrednote tam. 258 00:12:21,010 --> 00:12:22,720 Moški ali ženska ali malenkosti. 259 00:12:22,720 --> 00:12:27,800 >> Ampak problem pa je, da smo lahko zmotite, kot [neslišno] predlagala 260 00:12:27,800 --> 00:12:29,140 prej v drugačnem kontekstu. 261 00:12:29,140 --> 00:12:32,780 Če naredimo napako, bi lahko dobili nepravilne vrednosti v naši bazi podatkov. 262 00:12:32,780 --> 00:12:36,320 Torej, kaj je lepo o bazah podatkov kot so Oracle in MySQL in drugi, 263 00:12:36,320 --> 00:12:39,280 je, da imate ta zadnja plast za obrambo, kjer je 264 00:12:39,280 --> 00:12:43,010 skrbnik DBA, podatkovne baze, kdor je oblikovanje te tabele kot mi 265 00:12:43,010 --> 00:12:46,440 so verbalno, bi dal v mestu oštevilčevanja, ki 266 00:12:46,440 --> 00:12:51,250 ščiti proti temu z določitvijo moški, ženski, in zato nihče 267 00:12:51,250 --> 00:12:54,230 še ni programer lahko po nesreči vstavite katerokoli drugo vrednost. 268 00:12:54,230 --> 00:12:55,480 Torej bi bila to dobra stvar. 269 00:12:55,480 --> 00:12:56,660 To je funkcija. 270 00:12:56,660 --> 00:13:00,760 >> Torej ID-ja, ob predpostavki, številski ID tako, Verjetno bi moral biti pozitivno celo število. 271 00:13:00,760 --> 00:13:04,380 In včasih imajo priložnost za razpravo dolžino. 272 00:13:04,380 --> 00:13:06,830 Saj ne bi ponavadi navedite številko tukaj, 273 00:13:06,830 --> 00:13:11,310 bi namesto tega opredeliti To je int ali velike int 274 00:13:11,310 --> 00:13:12,980 kot oni običajno imenujemo. 275 00:13:12,980 --> 00:13:18,840 Vendar je običajno, celo bi, recimo, 4 bajte. 276 00:13:18,840 --> 00:13:23,694 In če je 4 bajte, to je, koliko bitov? 277 00:13:23,694 --> 00:13:24,630 >> OBČINSTVO: [neslišno] 278 00:13:24,630 --> 00:13:26,610 >> DAVID Malan: 32 bitov. 279 00:13:26,610 --> 00:13:30,270 Torej koliko uporabnikov lahko imamo v Naša baza podatkov, če imajo vsi ID 280 00:13:30,270 --> 00:13:33,320 in ta ID mora biti edinstven? 281 00:13:33,320 --> 00:13:36,780 32 bitov pomeni imamo vzorce enega, dva, tri, štiri, five-- 282 00:13:36,780 --> 00:13:41,000 Torej, kako veliko različnih vzorcev ničel in tisti, lahko imate, če obstajajo 32? 283 00:13:41,000 --> 00:13:43,235 To je isto, kot sprašuje, kaj je dva do 32? 284 00:13:43,235 --> 00:13:46,472 285 00:13:46,472 --> 00:13:48,430 To je velika številka, ki Ne morem kar priti prav, 286 00:13:48,430 --> 00:13:50,270 vendar vem, da je približno 4 milijarde. 287 00:13:50,270 --> 00:13:53,970 Torej to pomeni, da vaša podatkovna baza miza lahko imajo štiri milijarde uporabnikov, in to je to. 288 00:13:53,970 --> 00:13:56,410 >> Torej, to je zanimivo Zasnova posledice. 289 00:13:56,410 --> 00:14:00,840 Dostojno število podjetij so se odločili, morda ne toliko 290 00:14:00,840 --> 00:14:04,860 za svoje uporabnike mizo, saj ima 4 milijarde uporabnikov je redek problem. 291 00:14:04,860 --> 00:14:08,410 To je neke vrste Facebook slog Problem, ni tipična težava družbe. 292 00:14:08,410 --> 00:14:12,670 Ampak mogoče, če imate transakcijskih dnevnikov ali nekatere vrste podatkov, ki se nenehno 293 00:14:12,670 --> 00:14:15,610 dobi zapisana v zbirko podatkov da bi nujno morali milijarde 294 00:14:15,610 --> 00:14:18,900 in milijarde vrstic in uporabite celo za to, 295 00:14:18,900 --> 00:14:22,750 kaj se bo takoj, ko se zgodi dobiš na vrstico številka 4 milijarde 296 00:14:22,750 --> 00:14:26,210 in nato poskusite vstavite 4000000000. in 1, tako rekoč? 297 00:14:26,210 --> 00:14:29,610 Sem poenostavitev številke malo. 298 00:14:29,610 --> 00:14:33,740 >> Lahko zmanjšati, ti pomeni morali ravnati nekako. 299 00:14:33,740 --> 00:14:37,910 In kaj bi računalnik običajno stori, pomislim tudi iz tega jutra, 300 00:14:37,910 --> 00:14:42,430 če imate 4-bitno vrednost kot 1, 1, 1, 1, ki je 301 00:14:42,430 --> 00:14:44,920 Samo tie jutro skupaj popoldne, kaj 302 00:14:44,920 --> 00:14:48,369 pa ta številka predstavlja v binarno? 303 00:14:48,369 --> 00:14:49,410 OK, bomo lažje. 304 00:14:49,410 --> 00:14:53,310 Kaj to številko predstavlja v binarno? 305 00:14:53,310 --> 00:14:56,794 OK, bomo lažje, kaj ali to predstavlja v binarno? 306 00:14:56,794 --> 00:14:57,460 OBČINSTVO: Tri. 307 00:14:57,460 --> 00:14:59,670 DAVID Malan: Tri, ker imamo tiste column-- 308 00:14:59,670 --> 00:15:00,450 [SMEH] 309 00:15:00,450 --> 00:15:01,350 Uh! 310 00:15:01,350 --> 00:15:03,980 Imeli smo stolpec Ones in stolpec dvojke. 311 00:15:03,980 --> 00:15:07,250 Torej domnevam, da je res, naši [? Parcela?] ni bilo 32 bitov, 312 00:15:07,250 --> 00:15:13,440 vendar pa sta bili dve bitov, smo lahko štetje od uporabnika številke 0, 1, 2, 3, 313 00:15:13,440 --> 00:15:18,040 in potem smo nekako nazaj na uporabnika 00 znova. 314 00:15:18,040 --> 00:15:19,739 Torej, to je tisto, kar se običajno zgodi. 315 00:15:19,739 --> 00:15:22,780 Če ste kdaj slišali expression-- verjetno ne, če pa have-- 316 00:15:22,780 --> 00:15:26,500 celo overflow, kjer vas da lahkota vse svoje bitov 317 00:15:26,500 --> 00:15:29,640 da so največje možne vrednosti, in potem ste iz bitov, 318 00:15:29,640 --> 00:15:30,850 kaj bi se običajno zgodi? 319 00:15:30,850 --> 00:15:32,280 Zakaj pravim 00? 320 00:15:32,280 --> 00:15:33,220 No, to je tri. 321 00:15:33,220 --> 00:15:34,230 Kako predstavljajo 4? 322 00:15:34,230 --> 00:15:36,890 323 00:15:36,890 --> 00:15:38,915 Kako se predstavljajo za številko 4 v binarno? 324 00:15:38,915 --> 00:15:39,790 OBČINSTVO: [neslišno] 325 00:15:39,790 --> 00:15:41,780 DAVID Malan: One-- ja, Ne pravim, 100 per se, 326 00:15:41,780 --> 00:15:44,190 ker ima narobe konotacija, vendar 1-0-0. 327 00:15:44,190 --> 00:15:48,920 Tako da število 1-0-0 je dejansko pravilno, če pa imate samo dva bita, 328 00:15:48,920 --> 00:15:50,820 kaj si zares narediti? 329 00:15:50,820 --> 00:15:53,219 Ki ste jih prenesli na 00. 330 00:15:53,219 --> 00:15:54,760 In res, da je tisto, kar se bo zgodilo. 331 00:15:54,760 --> 00:15:56,884 Pravzaprav, si lahko zamislite O tem bolj znana. 332 00:15:56,884 --> 00:15:59,350 Če se spomnite, kaj, Pred 16 leti je svet 333 00:15:59,350 --> 00:16:03,380 naj bi na koncu, ko problem Y2K zgodilo. 334 00:16:03,380 --> 00:16:04,330 Zakaj je bilo to? 335 00:16:04,330 --> 00:16:08,170 No večina računalnikov, za razumne odločitve, 336 00:16:08,170 --> 00:16:15,320 so shranjevanje številke, kot je leto 1975 ali leto 1999 337 00:16:15,320 --> 00:16:19,010 ki jih samo z dvema številkama v pomnilniku računalnika. 338 00:16:19,010 --> 00:16:21,950 Zato seveda, kaj se zgodi ko prideš do leta 2000, 339 00:16:21,950 --> 00:16:25,790 greš na to, ali bolje, ja. 340 00:16:25,790 --> 00:16:30,120 Torej greš na leto 2000, vendar če si le z dvema številkama, da izgleda 341 00:16:30,120 --> 00:16:32,660 kot leto 00 in tako ste prenesli. 342 00:16:32,660 --> 00:16:36,820 In zato veliko sistemov je bilo treba posodobiti v tistem času. 343 00:16:36,820 --> 00:16:42,500 >> Torej s tem je dejal, podjetja kot Facebook teči navzgor proti temu. 344 00:16:42,500 --> 00:16:46,147 Torej je edini način za ravnanje z Razmere, odkrito povedano, je, da ga pričakuje. 345 00:16:46,147 --> 00:16:47,980 Ali najčistejši način tej situaciji 346 00:16:47,980 --> 00:16:50,330 je, da pričakujemo, da jih ne morali spremeniti kasneje. 347 00:16:50,330 --> 00:16:51,970 Torej, namesto 8 bajtov, veš kaj? 348 00:16:51,970 --> 00:16:54,261 Bom, da bo napredna Tukaj, čeprav je 349 00:16:54,261 --> 00:16:56,760 malo optimistični, da bomo imeli 4 milijarde 350 00:16:56,760 --> 00:16:58,850 in 1 uporabniki na naši spletni strani. 351 00:16:58,850 --> 00:17:01,790 Ampak kaj je samo uporabiti 8 bajtov ali 64 bitov, ki bi na splošno 352 00:17:01,790 --> 00:17:05,640 imenovano veliko celo število, zelo tehnično. 353 00:17:05,640 --> 00:17:10,280 In to samo pomeni, da imajo lahko še več številk v vašo številko. 354 00:17:10,280 --> 00:17:12,599 Toda to je pomembno Odločitev design, 355 00:17:12,599 --> 00:17:16,400 ker če izberete številko, ki ima premalo bitov izraznosti 356 00:17:16,400 --> 00:17:19,089 bi ga lahko dejansko ustvarijo napaka v programski opremi. 357 00:17:19,089 --> 00:17:21,750 >> Vse je v redu, tako da je zavil z e-pošto in poštni naslov. 358 00:17:21,750 --> 00:17:26,369 Torej, e-pošta, dolgo naj bi kako e-poštni naslov je? 359 00:17:26,369 --> 00:17:26,869 50. 360 00:17:26,869 --> 00:17:29,220 Res nimam pojma, vendar je Verjetno nekaj takega, 361 00:17:29,220 --> 00:17:32,261 ker drugače nihče ne bo pišete, če postane predolg, tako da 50, 362 00:17:32,261 --> 00:17:33,360 gremo z njim za zdaj. 363 00:17:33,360 --> 00:17:35,770 Poštni naslov, kako dolgo naj bi to bilo? 364 00:17:35,770 --> 00:17:38,325 365 00:17:38,325 --> 00:17:39,200 OBČINSTVO: [neslišno] 366 00:17:39,200 --> 00:17:41,900 367 00:17:41,900 --> 00:17:43,890 >> DAVID Malan: To ni Samo poštna številka, čeprav. 368 00:17:43,890 --> 00:17:45,720 Poštni naslov, sem slišal. 369 00:17:45,720 --> 00:17:50,720 Torej, to je kot 1 Brattle Square, vejica, Cambridge Mass., z vejico, 02.138. 370 00:17:50,720 --> 00:17:53,860 In v resnici, mi samo potegnite se malo listu tukaj. 371 00:17:53,860 --> 00:17:56,510 To se počuti, kot da je zamujena priložnost. 372 00:17:56,510 --> 00:18:01,480 Če imamo 1 Brattle trg, vejica, Cambridge MA 02138, 373 00:18:01,480 --> 00:18:04,510 Počutim se, kot smo lahko še boljši kot le poštni naslov. 374 00:18:04,510 --> 00:18:07,100 Zakaj ne raznese to malo? 375 00:18:07,100 --> 00:18:08,030 Kaj sem že pri? 376 00:18:08,030 --> 00:18:10,970 Kaj bi morali namesto tega za naše vrstic tukaj, morda? 377 00:18:10,970 --> 00:18:12,260 >> OBČINSTVO: [neslišno] 378 00:18:12,260 --> 00:18:17,579 >> DAVID Malan: Ja, tako da je pravijo street_number, 379 00:18:17,579 --> 00:18:20,620 in spodnja je samo skupni način ob Izgleda prostor, 380 00:18:20,620 --> 00:18:22,360 vendar to ni, pravzaprav. 381 00:18:22,360 --> 00:18:26,240 Ulica, nato pa city-- žal? 382 00:18:26,240 --> 00:18:28,440 >> OBČINSTVO: [neslišno] 383 00:18:28,440 --> 00:18:29,690 DAVID Malan: Lahko bi to naredil. 384 00:18:29,690 --> 00:18:30,702 Prva vrstica, vrstica. 385 00:18:30,702 --> 00:18:32,410 Zakaj ne bo vodila preprosto za zdaj, 386 00:18:32,410 --> 00:18:34,840 ampak to je absolutno sprejemljiva odločitev. 387 00:18:34,840 --> 00:18:38,180 In potem država, in potem pa se malo US-centric za zdaj 388 00:18:38,180 --> 00:18:42,040 in pač poštno številko, samo zato, ker to bo privedlo do zanimive napako 389 00:18:42,040 --> 00:18:43,090 ali problem tukaj. 390 00:18:43,090 --> 00:18:44,655 Torej domnevam, da je zdaj naš naslov. 391 00:18:44,655 --> 00:18:47,280 To je malo bolj siten, da imamo vse te več področij, 392 00:18:47,280 --> 00:18:49,200 zdaj pa lahko označite stvari malo bolje. 393 00:18:49,200 --> 00:18:53,210 >> Zdaj hišna številka verjetno ne bi smela biti znak, če bi bilo? 394 00:18:53,210 --> 00:18:54,835 Kaj naj bi bilo? 395 00:18:54,835 --> 00:18:55,710 OBČINSTVO: [neslišno] 396 00:18:55,710 --> 00:18:57,835 DAVID Malan: Mogoče, število kot spet celo število? 397 00:18:57,835 --> 00:19:00,170 Veliko število? 398 00:19:00,170 --> 00:19:02,170 Verjetno ne živi na 4 milijarde Main Street 399 00:19:02,170 --> 00:19:03,490 ali kaj noro všeč. 400 00:19:03,490 --> 00:19:06,850 Tako celo verjetno v redu, vendar je vsakomur 401 00:19:06,850 --> 00:19:13,880 kdaj živela na naslovu, kot je 1A Brattle Square, ali 1 in 1/2? 402 00:19:13,880 --> 00:19:17,030 Te stvari obstajajo, žal, tudi če niste tam živeli, 403 00:19:17,030 --> 00:19:21,240 obstajajo te nepravilnosti kot stanovanje 1A, 1B, 1C. 404 00:19:21,240 --> 00:19:24,260 Torej veste, kaj bomo verjetno ne bi smeli iti s celo število, 405 00:19:24,260 --> 00:19:27,440 sicer bomo izgubiti nekaj prodajo. 406 00:19:27,440 --> 00:19:29,920 >> Char polje, morda? 407 00:19:29,920 --> 00:19:30,870 Ne vem, kako dolgo. 408 00:19:30,870 --> 00:19:33,370 To verjetno ne bo tako dolgo, da 10 ali kaj podobnega. 409 00:19:33,370 --> 00:19:34,950 Nihče se dogaja, da napišete daljše številko, morda. 410 00:19:34,950 --> 00:19:37,070 Ampak še enkrat, bi morali verjetno dati več mislil na to. 411 00:19:37,070 --> 00:19:39,900 Mogoče google, narediti nekaj raziskav, ampak bomo šli z našimi poguma za zdaj. 412 00:19:39,900 --> 00:19:44,565 Ulice, znak, 50, ne vem. 413 00:19:44,565 --> 00:19:46,940 Na neki točki, nihče ne bo da napisati na ovojnici, 414 00:19:46,940 --> 00:19:49,350 Tudi zato je verjetno nekatere zgornje meje tam. 415 00:19:49,350 --> 00:19:54,200 Mesto, isti, prepričan, da char 50. 416 00:19:54,200 --> 00:19:59,120 >> Država, lahko US-centric za zdaj. 417 00:19:59,120 --> 00:20:01,850 Tako bi lahko seznam, tako prijazni iz sodbe klica, država. 418 00:20:01,850 --> 00:20:04,000 Lahko bi bilo kot dveh znakov. 419 00:20:04,000 --> 00:20:06,140 Torej dejansko, mogoče, sem si rekel char. 420 00:20:06,140 --> 00:20:09,420 Verjetno pomeni varchar, samo za nekaj učinkovitost, 421 00:20:09,420 --> 00:20:12,240 vendar bomo vrnili k da je odločitev v trenutku. 422 00:20:12,240 --> 00:20:16,150 Je lahko znak dolžine 2 za državo. 423 00:20:16,150 --> 00:20:20,670 Če v ZDA, ki ga imajo, kot mag, Massachusetts, NY, New York, NJ, New 424 00:20:20,670 --> 00:20:22,100 Jersey, in tako naprej. 425 00:20:22,100 --> 00:20:23,630 Tako bi bilo mogoče določiti na to. 426 00:20:23,630 --> 00:20:25,900 DC za Washington DC. 427 00:20:25,900 --> 00:20:29,915 >> Ampak mislim, Olivier, ki jih predlagal nov način. 428 00:20:29,915 --> 00:20:30,790 OBČINSTVO: [neslišno] 429 00:20:30,790 --> 00:20:33,670 DAVID Malan: Ja, tako da je malo siten, da tip v, 430 00:20:33,670 --> 00:20:37,890 vendar pa lahko enum bolj smiselno, ker na ta način, vsaj v ZDA, 431 00:20:37,890 --> 00:20:41,320 bi lahko našteli, če tediously, vendar si to naredil samo enkrat v bazi podatkov 432 00:20:41,320 --> 00:20:47,480 in nikoli več treba razmišljati o da so vsi 50 kode dveh znakov. 433 00:20:47,480 --> 00:20:48,660 Torej rad ENUM. 434 00:20:48,660 --> 00:20:51,720 Kaj je s palico, da je tam, ker je nekako uveljavlja več strogosti. 435 00:20:51,720 --> 00:20:53,620 In potem zip kodo? 436 00:20:53,620 --> 00:20:55,306 Mislim, Andrew imel misel o tem 437 00:20:55,306 --> 00:20:56,180 OBČINSTVO: [neslišno] 438 00:20:56,180 --> 00:20:57,240 DAVID Malan: Ja, pet ali devet. 439 00:20:57,240 --> 00:20:58,323 Kaj je to šele bo enostavno. 440 00:20:58,323 --> 00:20:59,380 Samo naredi pet za zdaj. 441 00:20:59,380 --> 00:21:03,070 Ampak mogoče sem lahko samo narediti celo število, kajne? 442 00:21:03,070 --> 00:21:08,750 Lahko bi, ampak veš kaj sem naredil ta napaka enkrat, v nekem smislu. 443 00:21:08,750 --> 00:21:13,110 Pred leti sem se selijo iz Microsoft Outlook Gmail, 444 00:21:13,110 --> 00:21:18,640 in Outlook je način izvoznikov vse kontakte kot Excelove datoteke, 445 00:21:18,640 --> 00:21:21,280 datoteka CSV, z vejico ločene vrednosti datoteko. 446 00:21:21,280 --> 00:21:23,950 In sem naredil napako, sem mislim, z dvojnim klikom nanjo, 447 00:21:23,950 --> 00:21:27,380 Nekoč sem prenesli izvoz, za poskrbite, da je bilo videti, kot sem pričakoval. 448 00:21:27,380 --> 00:21:31,320 Verjetno sem udaril Shrani ali pusti auto-save strel ali kaj podobnega. 449 00:21:31,320 --> 00:21:35,100 Ker, ko sem nato uvožen je v Gmail, je vse delal. 450 00:21:35,100 --> 00:21:39,910 Toda že leta, do danes, in Jaz sem to pet, pred 10 leti, 451 00:21:39,910 --> 00:21:44,380 Jaz sem še vedno najti prijatelje, ki imajo naslovi, ki so videti, kot je ta. 452 00:21:44,380 --> 00:21:45,700 Zakaj? 453 00:21:45,700 --> 00:21:47,900 >> OBČINSTVO: [neslišno] 454 00:21:47,900 --> 00:21:50,650 >> DAVID Malan: Trajalo : 0, no, ne tako, 455 00:21:50,650 --> 00:21:53,810 je celotno poštno številko kot število in zato je 456 00:21:53,810 --> 00:21:56,590 vodilni 0, kar pomeni, nima pomena. 457 00:21:56,590 --> 00:21:59,470 In tako 2138 zdi, da je moja poštna številka. 458 00:21:59,470 --> 00:22:07,100 In to je, odkrito povedano, nadležno Excel Funkcija pri čemer mislim, da je privzeto, 459 00:22:07,100 --> 00:22:10,980 tudi če je to pomenilo, da samo je besedilo, Microsoft Excel 460 00:22:10,980 --> 00:22:13,780 odloči, da mi bo v pomoč, in oh, vidim samo številke. 461 00:22:13,780 --> 00:22:15,290 Oglejmo zdravljenje teh kot številke. 462 00:22:15,290 --> 00:22:16,790 In to skrajša vodilnih ničel. 463 00:22:16,790 --> 00:22:19,165 >> Prisežem, vsak par mesecev se mi zdi naslov, 464 00:22:19,165 --> 00:22:22,300 in iz neke vrste OCD, grem nazaj in dodatek: 0, čeprav nisem 465 00:22:22,300 --> 00:22:23,700 pošiljanje ljudi črke ali karkoli. 466 00:22:23,700 --> 00:22:25,510 Ampak jaz sem še vedno najti ostanke tega. 467 00:22:25,510 --> 00:22:28,820 Tako da to se pravi, ali je to dobro? 468 00:22:28,820 --> 00:22:31,610 OK, no, saj vsak v Massachusetts, na tem področju, 469 00:22:31,610 --> 00:22:33,270 se dogaja, da imajo o, ki jih vodi. 470 00:22:33,270 --> 00:22:38,070 Torej, gremo s podobnim char, verjetno, pet. 471 00:22:38,070 --> 00:22:41,450 >> In tukaj, spoznali smo lahko uporabite ENUM in mi 472 00:22:41,450 --> 00:22:44,600 lahko našteli 10.000 možno zip kode, 473 00:22:44,600 --> 00:22:48,530 ampak, da se počuti, kot da je verjetno prečka linijo, kot so, koristi. 474 00:22:48,530 --> 00:22:51,350 Če imate na vhod, ki veliko podatkov v zbirki podatkov 475 00:22:51,350 --> 00:22:52,940 za zaščito pred nečim. 476 00:22:52,940 --> 00:22:57,400 Torej znak spoznal, da bi lahko tip v H-E-L-L-O so poštna številka, 477 00:22:57,400 --> 00:22:59,180 ki je ni, seveda, številčna. 478 00:22:59,180 --> 00:23:01,680 Torej ni nobenega načina, na tipična baza, 479 00:23:01,680 --> 00:23:05,561 določiti le numerični in le pet znakov, 480 00:23:05,561 --> 00:23:07,310 tako da bomo imeli za to, da v kodi. 481 00:23:07,310 --> 00:23:11,100 Bomo storili, da v PHP ali Java ali katerem koli jeziku smo 482 00:23:11,100 --> 00:23:14,230 uporabo na strežniku za uveljavitev da vrsta omejitev. 483 00:23:14,230 --> 00:23:14,860 >> Vau! 484 00:23:14,860 --> 00:23:18,322 Vse je v redu, tako da vsa vprašanja, samo še? 485 00:23:18,322 --> 00:23:19,780 Naj bo še odločitev oblikovanja. 486 00:23:19,780 --> 00:23:22,500 Izkaže se, da vas tudi dobili, da izberejo, 487 00:23:22,500 --> 00:23:26,600 pri oblikovanju zbirke podatkov SQL ali tipične relacijske database-- kjer 488 00:23:26,600 --> 00:23:28,790 še enkrat, relacijska samo pomeni vrstic in stolpcev, 489 00:23:28,790 --> 00:23:35,500 to je, kako organizirati svoje data-- in ugotovili, da je tisto, kar to pomeni, 490 00:23:35,500 --> 00:23:37,740 Sem bil zavajajoča da sem drawing-- to 491 00:23:37,740 --> 00:23:40,190 je tisto, kar se imenuje shema za tabelo baze podatkov. 492 00:23:40,190 --> 00:23:42,810 To je podobno kot specifikacije za table-- 493 00:23:42,810 --> 00:23:48,040 ampak ko pride čas, da dejansko shranjevanje podatkov, 494 00:23:48,040 --> 00:23:52,081 in bomo to storili samo z zgledom tukaj. 495 00:23:52,081 --> 00:23:55,080 Grem odpreti Excel, ker Excel mi bo dal stolpce in vrstice. 496 00:23:55,080 --> 00:23:58,050 In to je točno tisto, Oracle in MySQL in drugih orodij mi bo dal. 497 00:23:58,050 --> 00:24:02,270 Tako da sem le, da bo za uporabo je zavoljo razpravo je. 498 00:24:02,270 --> 00:24:05,250 Naj gredo naprej in odprla Predstavnik dokument tukaj, 499 00:24:05,250 --> 00:24:06,310 povečaj malo. 500 00:24:06,310 --> 00:24:15,200 Tako na primer, naše glave so zdaj ime, priimek, spol, ID, 501 00:24:15,200 --> 00:24:20,980 e-poštni naslov, hišna številka, ulica, Ops. 502 00:24:20,980 --> 00:24:25,710 Street, mesto, državo, samo o prilega na zaslonu. 503 00:24:25,710 --> 00:24:29,080 >> Torej, kaj to pomeni, da ko Uporabnik najprej registrira na moji spletni strani, 504 00:24:29,080 --> 00:24:32,880 to se dogaja, da je nekaj podobnega David, Malan, m, recimo 1, 505 00:24:32,880 --> 00:24:42,910 malan@harvard.edu, bo hišna številka biti kot 1 Brattle Square, Cambridge, MA, 506 00:24:42,910 --> 00:24:44,780 02.138, nato pa tako naprej. 507 00:24:44,780 --> 00:24:48,290 Torej, ko sem rekel, da relacijske baze podatkov ali podatkovna baza SQL vrstice in stolpce, 508 00:24:48,290 --> 00:24:49,350 Mislim to. 509 00:24:49,350 --> 00:24:51,900 Da dejanski podatki so shranjeni v vrsticah in stolpcih. 510 00:24:51,900 --> 00:24:53,950 To je samo naključje, da sva se pogovarjala, 511 00:24:53,950 --> 00:24:56,033 in sem bil samo risanje v vrsticah in stolpcih. 512 00:24:56,033 --> 00:24:58,320 To je samo shema, poglavitni opredelitev. 513 00:24:58,320 --> 00:25:01,640 >> Torej od teh polj tukaj, ali ekvivalentno, tam, 514 00:25:01,640 --> 00:25:06,270 ki so polja, ki mislite, Sem verjetno iskati na, če sem uporabnik 515 00:25:06,270 --> 00:25:09,200 ali če sem na skrbnika baze podatkov? 516 00:25:09,200 --> 00:25:12,426 Kot, kaj polja sem jaz dejansko dogaja iskati na? 517 00:25:12,426 --> 00:25:13,830 >> OBČINSTVO: [neslišno] 518 00:25:13,830 --> 00:25:17,690 >> DAVID Malan: ime, ja tako Všeč mi je dejstvo that-- ja, 519 00:25:17,690 --> 00:25:19,750 e-poštni naslov je lahko precej pogosti. 520 00:25:19,750 --> 00:25:21,440 Oprostite, ste rekli ime. 521 00:25:21,440 --> 00:25:24,030 Torej maybe-- in spet smo nekako govorimo abstraktno. 522 00:25:24,030 --> 00:25:25,988 Ne vem, zakaj bi se išče ime, 523 00:25:25,988 --> 00:25:29,340 ampak da se počuti smiselno, če iščete za uporabnika. 524 00:25:29,340 --> 00:25:31,170 Mogoče navaja, seveda, ID. 525 00:25:31,170 --> 00:25:34,100 526 00:25:34,100 --> 00:25:36,160 >> In to je spolzko naklon, ker sem lahko 527 00:25:36,160 --> 00:25:38,890 Naučiti scenarij kjer Mogoče je moj šef me je prosil, 528 00:25:38,890 --> 00:25:40,417 koliko moških imamo na naši spletni strani? 529 00:25:40,417 --> 00:25:42,000 Koliko žensk imamo na naši spletni strani? 530 00:25:42,000 --> 00:25:45,210 In zato na tej točki, boste morda želeli iskati na področju enakosti spolov je tudi, 531 00:25:45,210 --> 00:25:45,940 in nič drugega. 532 00:25:45,940 --> 00:25:47,350 Tako da je kompromis tukaj. 533 00:25:47,350 --> 00:25:49,180 Še enkrat, ni pravilen odgovor, vendar pa 534 00:25:49,180 --> 00:25:53,760 je funkcija v večini podatkovnih baz SQL znan kot indeksiranje, s katerim 535 00:25:53,760 --> 00:25:56,100 vi, oblikovalec je administrator baze podatkov, 536 00:25:56,100 --> 00:26:01,730 dobili odločiti vnaprej, kar poljih baze podatkov je treba optimizirati 537 00:26:01,730 --> 00:26:02,980 iskanjih. 538 00:26:02,980 --> 00:26:07,620 >> Lahko bi zelo naivno reči, optimizacijo to optimizirati, da optimizirajo to 539 00:26:07,620 --> 00:26:10,300 optimizirati tem in to in baza podatkov bo 540 00:26:10,300 --> 00:26:14,882 narediti nekaj magičnega stvar pod napa, in narediti nekaj na tak način 541 00:26:14,882 --> 00:26:17,090 da naslednjič, ko boste iskali na katero od teh področij, 542 00:26:17,090 --> 00:26:18,400 bo dejansko hitrejši. 543 00:26:18,400 --> 00:26:19,110 To je možno. 544 00:26:19,110 --> 00:26:20,530 To pa se ne izničijo. 545 00:26:20,530 --> 00:26:22,500 Vendar pa mora biti cena, plačana. 546 00:26:22,500 --> 00:26:27,220 >> Če vam je naivno, ali preveč navdušeno recimo, indeks vseh teh področjih, 547 00:26:27,220 --> 00:26:29,810 tako rekoč, da bodo vse učinkovito iskanje, 548 00:26:29,810 --> 00:26:31,625 kakšni ceni ste verjetno plačal? 549 00:26:31,625 --> 00:26:32,500 OBČINSTVO: [neslišno] 550 00:26:32,500 --> 00:26:33,090 DAVID Malan: Uspešnost. 551 00:26:33,090 --> 00:26:33,798 Kaj misliš s tem? 552 00:26:33,798 --> 00:26:37,380 Dobro zmogljivost, vsaj v Ozadje sem razpravljamo, je bolje zdaj. 553 00:26:37,380 --> 00:26:38,830 To je definicija indeksiranje. 554 00:26:38,830 --> 00:26:41,180 To bo iskanje hitrejše. 555 00:26:41,180 --> 00:26:43,366 Torej čas zmanjšuje, tako rekoč. 556 00:26:43,366 --> 00:26:44,240 OBČINSTVO: [neslišno] 557 00:26:44,240 --> 00:26:45,031 DAVID Malan: Space. 558 00:26:45,031 --> 00:26:46,520 Torej še enkrat, to so skupni trgovino. 559 00:26:46,520 --> 00:26:50,820 Lahko pospeši iskanja, vendar je bo stalo več bajtov prostora. 560 00:26:50,820 --> 00:26:51,610 Zakaj? 561 00:26:51,610 --> 00:26:55,230 No, privzeto, če bomo imeli nič od te rdeče zvezde, nobeden od teh indeksov, 562 00:26:55,230 --> 00:26:58,797 kot pravim, kako poiskati za imena v tej podatkovni bazi? 563 00:26:58,797 --> 00:27:00,630 Torej, kaj je pripraviti naše pozornost s tem primerom. 564 00:27:00,630 --> 00:27:06,300 Če imamo Davida in Scully in Kareem in ARWA in drugi v teh vrsticah, 565 00:27:06,300 --> 00:27:06,910 na primer. 566 00:27:06,910 --> 00:27:08,390 >> Torej, kaj je naredil točno to. 567 00:27:08,390 --> 00:27:13,990 Scully je tukaj, in potem imamo Kareem in ARWA, 568 00:27:13,990 --> 00:27:18,390 in vsi ostali, če ne imajo opredeljeno indeks, tako rekoč, 569 00:27:18,390 --> 00:27:20,160 najboljše kar lahko naredite, je linearna iskanje. 570 00:27:20,160 --> 00:27:23,470 Če iščete ARWA, nismo bo uspelo skočiti pravico, da ji 571 00:27:23,470 --> 00:27:24,140 hitro. 572 00:27:24,140 --> 00:27:26,556 Bomo za začetek vrha in iti vse do dna, 573 00:27:26,556 --> 00:27:28,600 ni v nasprotju z našo izvirniku Mike Smith primer. 574 00:27:28,600 --> 00:27:33,470 >> Če pa rečem, hej, podatkovne baze, Indeks prvo ime polja, 575 00:27:33,470 --> 00:27:37,000 potem se bo nekaj Ljubitelj in podpre nekaj 576 00:27:37,000 --> 00:27:38,130 kot binarno iskanje. 577 00:27:38,130 --> 00:27:39,820 Verjetno ni binarno iskanje po sebi. 578 00:27:39,820 --> 00:27:42,810 Podatkovne zbirke se nagibajo k uporabi drugo podatkovna struktura imenovana b-drevesa, 579 00:27:42,810 --> 00:27:46,540 ne sme zamenjati z binarnih dreves, da samo, da je hitrejše iskanje 580 00:27:46,540 --> 00:27:48,500 nekaj logaritemsko v naravi. 581 00:27:48,500 --> 00:27:53,510 Vendar pa je cena, ki jo plača zgraditi, da značilnost, da so podatki struktura v pomnilniku, 582 00:27:53,510 --> 00:27:54,570 je več bajtov. 583 00:27:54,570 --> 00:27:57,170 Torej, lahko traja nekaj megabajtov, nekaj gigabajtov, kdo ve? 584 00:27:57,170 --> 00:27:58,410 Je odvisno od podatkov. 585 00:27:58,410 --> 00:28:02,640 >> Torej, na neki točki, se morate odločiti, je to verjetno ni običajna zadeva. 586 00:28:02,640 --> 00:28:06,000 Torej, kaj so dejanski skupni primerih, če si res moral izbrati, 587 00:28:06,000 --> 00:28:10,080 kaj lahko vaš najljubši polja biti? 588 00:28:10,080 --> 00:28:10,580 E-naslov. 589 00:28:10,580 --> 00:28:14,400 In mi je všeč sporočilo, ker e-pošte, v teoriji bi morala biti edinstvena. 590 00:28:14,400 --> 00:28:17,650 In to ponavadi, ko veš vnaprej, da je eden od vaših področij 591 00:28:17,650 --> 00:28:20,277 je ali bo edinstven, da kaže, da je dobro polje 592 00:28:20,277 --> 00:28:22,860 iskati naprej, saj na ta način, ko iščete nekaj, 593 00:28:22,860 --> 00:28:26,194 boste dobili nazaj enega ali nič odzivov in potem ste končali. 594 00:28:26,194 --> 00:28:28,110 Nimate obdržati iščejo še druge. 595 00:28:28,110 --> 00:28:31,992 >> In tako v tem primeru tu, e-pošta, v kolikor ne morete registrirati dvakrat 596 00:28:31,992 --> 00:28:33,450 z istim e-pošte, je dobra. 597 00:28:33,450 --> 00:28:36,710 ID po definiciji, v računalništva svet, 598 00:28:36,710 --> 00:28:39,610 če govorimo o ID, da je bolje biti edinstvena. 599 00:28:39,610 --> 00:28:42,970 To je nekako v konotacijo od ID ali identifikatorja. 600 00:28:42,970 --> 00:28:46,440 In ostali od teh so lahko, recimo jim lepo bogatimi, 601 00:28:46,440 --> 00:28:47,860 vendar ni res potrebno. 602 00:28:47,860 --> 00:28:49,976 >> In tako v podatkovni bazi, ki ste jo določili indekse, 603 00:28:49,976 --> 00:28:51,350 vendar lahko še bolj natančno. 604 00:28:51,350 --> 00:28:56,060 Lahko rečem, hej, podatkovne baze, se prepričajte, da je vsak ID v tej tabeli edinstven. 605 00:28:56,060 --> 00:28:59,330 niti ne pustite, programer pomotoma dal v dvojnika e-pošte 606 00:28:59,330 --> 00:29:00,740 ali dvojnik ID številko. 607 00:29:00,740 --> 00:29:03,140 Toliko kot enums zaščititi nas podobno, vas 608 00:29:03,140 --> 00:29:04,881 lahko te obrambo na nižji ravni. 609 00:29:04,881 --> 00:29:07,130 In tako načrtovanje podatkovne baze, v nekateri občutek, je kar zabavno, 610 00:29:07,130 --> 00:29:08,380 zato, ker si to naredil pri obrambnih nalogah. 611 00:29:08,380 --> 00:29:11,460 Si nekako predvidevamo, da z grozno, grozno programerjev 612 00:29:11,460 --> 00:29:15,550 in želite, da v toliko obrambo kot si lahko za zaščito podatkov, 613 00:29:15,550 --> 00:29:18,940 vendar pa hkrati hočeš da bi jim pomagali uspešnejši 614 00:29:18,940 --> 00:29:21,386 z izbiro, ki polja za optimizacijo. 615 00:29:21,386 --> 00:29:24,260 Ampak ne moreš nujno storiti v vakuum, da smo nekako tukaj. 616 00:29:24,260 --> 00:29:26,480 Moraš vedeti, kaj so te skupne primeri počutje. 617 00:29:26,480 --> 00:29:29,397 Če so razvijalci izvajanje adresar, 618 00:29:29,397 --> 00:29:32,230 morda zelo dobro želeli, da bi lahko iskati na skoraj vseh področjih, 619 00:29:32,230 --> 00:29:33,830 samo z naravo vloge. 620 00:29:33,830 --> 00:29:37,910 Mogoče boste porabili dodaten prostor. 621 00:29:37,910 --> 00:29:39,090 >> Desno, na vsa vprašanja? 622 00:29:39,090 --> 00:29:41,820 623 00:29:41,820 --> 00:29:42,486 Ja. 624 00:29:42,486 --> 00:29:43,470 >> OBČINSTVO: [neslišno] 625 00:29:43,470 --> 00:29:44,404 >> DAVID Malan: No. 626 00:29:44,404 --> 00:29:45,279 >> OBČINSTVO: [neslišno] 627 00:29:45,279 --> 00:29:47,840 628 00:29:47,840 --> 00:29:48,826 >> DAVID Malan: OK. 629 00:29:48,826 --> 00:29:49,701 >> OBČINSTVO: [neslišno] 630 00:29:49,701 --> 00:29:52,420 631 00:29:52,420 --> 00:29:54,850 >> DAVID Malan: Oh, tako mi govorimo na način, 632 00:29:54,850 --> 00:29:57,940 zdaj, da je popolnoma jezik agnostik. 633 00:29:57,940 --> 00:30:02,370 Torej, zdaj govorimo o relacijske baze podatkov bolj na splošno, 634 00:30:02,370 --> 00:30:04,760 ali SQL baze podatkov na splošno. 635 00:30:04,760 --> 00:30:06,870 >> OBČINSTVO: [neslišno] 636 00:30:06,870 --> 00:30:10,030 >> DAVID Malan: boljša beseda za uporabo se je mogoče vsak jezik uporabiti. 637 00:30:10,030 --> 00:30:15,280 Tako znam kodo JavaScript, C Koda kodo, C ++, Java kodo, Ruby kodo, 638 00:30:15,280 --> 00:30:19,010 vsi, ki govori k baze podatkov in izvaja poizvedbe. 639 00:30:19,010 --> 00:30:22,310 Dejstvo je, da ni slaba segue na primer poizvedbo. 640 00:30:22,310 --> 00:30:25,720 In še enkrat, ne bomo šli v Java ali C ++ ali katerokoli da več, 641 00:30:25,720 --> 00:30:29,420 ampak v SQL je jezik, ki sem jih vodijo sklicevanje Structured Query Language, 642 00:30:29,420 --> 00:30:32,790 To samo po sebi je programski jezik, vendar je bilo mišljeno, da se uporablja za nobena 643 00:30:32,790 --> 00:30:37,330 presenečenje, strukturirana poizvedbe poizvedbe. 644 00:30:37,330 --> 00:30:38,660 >> S tem mislim to. 645 00:30:38,660 --> 00:30:41,190 Način izbire podatkov iz podatkovne baze MySQL 646 00:30:41,190 --> 00:30:49,330 je dobesedno tip v svojem programu nekaj podobnega izberite zvezda uporabnikov. 647 00:30:49,330 --> 00:30:52,200 Jaz sem ob predpostavki, da te tabele, odslej se imenuje uporabnike. 648 00:30:52,200 --> 00:30:54,860 Lahko ga pokličete kaj hočemo, ampak to nekako smiselno. 649 00:30:54,860 --> 00:30:57,240 In zato izberite zelo Skupno glagol, če vas 650 00:30:57,240 --> 00:30:59,290 bo v SQL, ki dobesedno ne da. 651 00:30:59,290 --> 00:31:02,730 Kaj misliš, zvezda pomeni v tem kontekstu? 652 00:31:02,730 --> 00:31:04,410 >> OBČINSTVO: [neslišno] 653 00:31:04,410 --> 00:31:05,380 >> DAVID Malan: Žal mi je? 654 00:31:05,380 --> 00:31:06,300 >> OBČINSTVO: [neslišno] 655 00:31:06,300 --> 00:31:09,580 >> DAVID Malan: Ni potrebno, da je bolj vključujoča kot to, pravzaprav. 656 00:31:09,580 --> 00:31:11,700 To je kartica znak wild. 657 00:31:11,700 --> 00:31:14,740 Zvezda skoraj vedno pomeni ničesar, tako da to pomeni, v tem primeru, 658 00:31:14,740 --> 00:31:16,510 izbrati vse iz baze podatkov. 659 00:31:16,510 --> 00:31:20,730 Torej, ko sem rekel to, mislim vrni mi vsak stolpec 660 00:31:20,730 --> 00:31:22,440 z mojo mizo imenuje uporabnike. 661 00:31:22,440 --> 00:31:24,730 Torej, da mi niz rezultatov, kot se imenuje. 662 00:31:24,730 --> 00:31:28,210 Z drugimi besedami, daj mi kopijo preglednice, je tisto, kar sem že na. 663 00:31:28,210 --> 00:31:34,890 >> Ampak, če sem rekel, da izberete zvezda uporabnikov kjer ID enaka 1, če bi kako velik 664 00:31:34,890 --> 00:31:36,640 moj rezultat set bilo potem? 665 00:31:36,640 --> 00:31:41,680 Ali enakovredno, naj koliko vrstic Sem se vrnil iz baze podatkov? 666 00:31:41,680 --> 00:31:45,860 Verjetno samo ena, če imam res obravnavati ID kot edinstven identifikator, 667 00:31:45,860 --> 00:31:50,710 in če je David to edinstven ID, I naj bi dobili nazaj eno in samo eno vrsto 668 00:31:50,710 --> 00:31:53,220 ki vsebuje vse informacije Davidove. 669 00:31:53,220 --> 00:31:56,390 Če bi rekel to, če ID znaša 99, naj se vrnem, 670 00:31:56,390 --> 00:32:00,320 v zvezi s tem nič vrstice, vsaj v tem trenutku. 671 00:32:00,320 --> 00:32:03,620 >> Vendar, če res ne skrbi o vseh teh informacij, 672 00:32:03,620 --> 00:32:06,970 Jaz lahko samo rečem, kje David živi? 673 00:32:06,970 --> 00:32:10,860 Izberite poštna številka iz Uporabniki, kjer je ID 1. 674 00:32:10,860 --> 00:32:15,820 Tako boste izbrali, da me samo zip Davidov kodo in ne celota tej vrstici. 675 00:32:15,820 --> 00:32:19,541 Zakaj bi mi to namesto storiti zvezda izraz, divji kartico? 676 00:32:19,541 --> 00:32:21,950 >> OBČINSTVO: [neslišno] 677 00:32:21,950 --> 00:32:24,590 >> DAVID Malan: Ja, če bi jo potreboval samo. 678 00:32:24,590 --> 00:32:26,350 Tako delovanje je spet odgovor tukaj. 679 00:32:26,350 --> 00:32:28,540 Zakaj želeti več Informacije, kot ga potrebujete, 680 00:32:28,540 --> 00:32:32,020 ker tudi če je vse v redu skupaj, imate še vedno kopirati, da so podatki, 681 00:32:32,020 --> 00:32:35,560 zdi se, iz baze v vašem programu nekako, 682 00:32:35,560 --> 00:32:38,490 in to je samo neumno, če vas potrebujete le pet od teh številk, 683 00:32:38,490 --> 00:32:40,340 ne celota vrstice. 684 00:32:40,340 --> 00:32:42,180 >> Torej, kako vstaviti uporabnik? 685 00:32:42,180 --> 00:32:44,780 Recimo, da ima uporabnik samo registrirana prvič. 686 00:32:44,780 --> 00:32:46,560 Sintaksa bi običajno videti takole. 687 00:32:46,560 --> 00:32:52,700 Vstavite v uporabnike, in potem bi lahko rekli, vrednote, 688 00:32:52,700 --> 00:33:00,150 in potem bi lahko rekli, vrednote kot, recimo, Lauren Scully, 689 00:33:00,150 --> 00:33:02,380 naš snemalec tukaj. 690 00:33:02,380 --> 00:33:04,390 In naslednji polje spol. 691 00:33:04,390 --> 00:33:08,020 Tako bomo rekli, citiram, konec citata "F", potem imamo ID 692 00:33:08,020 --> 00:33:12,250 in bom say-- dovolimo pretvarjati, da ni dejansko tukaj, 693 00:33:12,250 --> 00:33:14,380 tako da bomo previjanje v zgodbi. 694 00:33:14,380 --> 00:33:16,530 Torej 2 bo njen ID. 695 00:33:16,530 --> 00:33:19,130 In potem naslednji polje Tukaj je njena email. 696 00:33:19,130 --> 00:33:22,140 Tako se dogaja, da se kot Lauren Scully in tako naprej, 697 00:33:22,140 --> 00:33:24,360 in bomo samo dot dot ga dot proč od tu naprej. 698 00:33:24,360 --> 00:33:26,890 Zdaj bo dobil malo utrudljivo, ampak vložek izraz 699 00:33:26,890 --> 00:33:28,310 bo na koncu videti tako. 700 00:33:28,310 --> 00:33:30,970 >> Če želim, da se znebite Scully, uh-oh, kaj je odjavo 701 00:33:30,970 --> 00:33:37,420 , ona izbriše svoj račun, izbrisati iz uporabnikov, kjer ID je enaka 2, 702 00:33:37,420 --> 00:33:38,500 bodo znebili Scully. 703 00:33:38,500 --> 00:33:48,050 Ali lahko rečem uporabniki posodobitve set, recimo, kaj bi morali spremeniti? 704 00:33:48,050 --> 00:33:49,430 Recimo, da se giblje. 705 00:33:49,430 --> 00:33:53,730 Set zip enaka 021-- nope, da je njena trenutna zip. 706 00:33:53,730 --> 00:33:54,487 90210. 707 00:33:54,487 --> 00:33:56,320 Edina druga poštna številka Vem v svetu. 708 00:33:56,320 --> 00:33:59,002 Tako, da bi spremenili njena zip code-- dejansko, 709 00:33:59,002 --> 00:34:00,460 da ne bi spremenilo svojo poštno številko. 710 00:34:00,460 --> 00:34:02,170 >> Kaj sem naredil? 711 00:34:02,170 --> 00:34:04,292 Čeprav sintaksa je verjetno nova. 712 00:34:04,292 --> 00:34:05,302 >> OBČINSTVO: [neslišno] 713 00:34:05,302 --> 00:34:08,010 DAVID Malan: Ja, sem se preselil vse na Beverly Hillsu v Kaliforniji. 714 00:34:08,010 --> 00:34:11,920 Tako sem morala dejansko takrat, kadar ID enaka 2. 715 00:34:11,920 --> 00:34:12,820 In tako naprej. 716 00:34:12,820 --> 00:34:15,290 Torej SQL je vse okoli njih vrste navodil. 717 00:34:15,290 --> 00:34:20,260 Izberite, vstavljanje, brisanje, posodabljanje teh predikatov na koncu 718 00:34:20,260 --> 00:34:22,139 Te kjer klavzule, tako rekoč. 719 00:34:22,139 --> 00:34:25,170 In tam je veliko več lahko storiti, vendar je res samo izvira 720 00:34:25,170 --> 00:34:29,750 preprosto, če arcanely, ki izraža kaj želite baze podatkov narediti. 721 00:34:29,750 --> 00:34:31,580 >> In potem je baza podatkov bo ugotoviti, če 722 00:34:31,580 --> 00:34:35,630 vstavite Lauren Scully v podatkovne baze, kjer bi jo dal v spomin 723 00:34:35,630 --> 00:34:38,230 tako da bomo lahko zelo hitro dobili jo glede na njen e-poštni naslov 724 00:34:38,230 --> 00:34:42,610 ali temeljijo na njeno identifikacijsko številko ali podobno. 725 00:34:42,610 --> 00:34:43,391 Ja, Dan. 726 00:34:43,391 --> 00:34:44,266 OBČINSTVO: [neslišno] 727 00:34:44,266 --> 00:34:46,364 728 00:34:46,364 --> 00:34:47,780 DAVID Malan: Zelo dobro vprašanje. 729 00:34:47,780 --> 00:34:50,370 Bodo te skripte spremenila iz Microsoft Access Oracle 730 00:34:50,370 --> 00:34:52,290 MySQL za PostgreSQL? 731 00:34:52,290 --> 00:34:53,790 Kratek odgovor je odvisen. 732 00:34:53,790 --> 00:34:58,697 V teoriji, je zelo pomembna skupna podmnožica SQL 733 00:34:58,697 --> 00:35:00,780 ki je v skupni rabi v vseh teh izvedb. 734 00:35:00,780 --> 00:35:03,340 Vendar pa različni proizvajalci imajo dodatne funkcije 735 00:35:03,340 --> 00:35:07,120 do svojih zbirk podatkov narediti določene stvari presega obseg teh funkcij, 736 00:35:07,120 --> 00:35:08,720 ki bi v resnici, zlomi. 737 00:35:08,720 --> 00:35:11,210 >> Torej načina razvijalce zavarovanje proti temu, 738 00:35:11,210 --> 00:35:14,350 je, da namesto pisanje surovega Koda SQL, kot pišem tukaj, 739 00:35:14,350 --> 00:35:19,460 namesto tega uporabljajo knjižnico, skupna knjižnica, ki sama 740 00:35:19,460 --> 00:35:23,650 je neke vrste višji ravni in povzetki stran, kateri izdelek, ki ga uporabljate. 741 00:35:23,650 --> 00:35:25,710 In to vam daje Funkcije in postopki 742 00:35:25,710 --> 00:35:28,810 za to, da vas pokliče nikoli dejansko napisati surovo SQL. 743 00:35:28,810 --> 00:35:32,609 >> V teoriji, potem lahko spremenite Izdelki iz Oracle Microsoftu 744 00:35:32,609 --> 00:35:34,650 ali obratno ali karkoli drugega, in si dobesedno 745 00:35:34,650 --> 00:35:36,920 spremeniti ničesar o kodi. 746 00:35:36,920 --> 00:35:40,180 Realnost, čeprav je, da včasih odreči funkcij kot rezultat. 747 00:35:40,180 --> 00:35:43,860 Morda ste izbrali izdelek, ker je da je dobil te funkcije z dodano vrednostjo, 748 00:35:43,860 --> 00:35:46,610 in ti si ravnokar ne jih uporabljajo zavestno. 749 00:35:46,610 --> 00:35:51,630 >> In anekdoto, večina podjetij se nagibajo Nikoli odmakniti od njihove baze podatkov. 750 00:35:51,630 --> 00:35:54,002 Torej, medtem ko je to lepo, da imeti funkcijo, je realnost 751 00:35:54,002 --> 00:35:55,960 je, če ste prenovo zbirke podatkov, si 752 00:35:55,960 --> 00:35:59,890 Verjetno bi šopke drugih sprememb itak, da vam ni nujno 753 00:35:59,890 --> 00:36:01,360 je treba predvideti, da. 754 00:36:01,360 --> 00:36:03,720 Torej, to je nedvomno preveč inženiring problem, 755 00:36:03,720 --> 00:36:05,670 vendar je res odvisno od konteksta. 756 00:36:05,670 --> 00:36:09,960 Toda v teoriji, je SQL skupni rabi na vseh teh različnih izdelkov. 757 00:36:09,960 --> 00:36:11,560 Res dobra vprašanja. 758 00:36:11,560 --> 00:36:12,272 Ja. 759 00:36:12,272 --> 00:36:13,147 >> OBČINSTVO: [neslišno] 760 00:36:13,147 --> 00:36:17,820 761 00:36:17,820 --> 00:36:21,480 >> DAVID Malan: Ja, tako si lahko zamislite baze podatkov 762 00:36:21,480 --> 00:36:25,020 je samo strežnik, na koncu dan, in znotraj tega strežnika 763 00:36:25,020 --> 00:36:28,670 je cel kup mize, vrstice in stolpce. 764 00:36:28,670 --> 00:36:33,410 In ko pošljete poizvedbo takole iz svojega programa, vaše spletne strani, 765 00:36:33,410 --> 00:36:39,340 napisana v Java, Ruby, Python, ne glede, strežnik prejema tega ukaza 766 00:36:39,340 --> 00:36:41,660 in tolmačenja v dobesedno na enak način 767 00:36:41,660 --> 00:36:43,660 smo razpravljali prej s razlagati jeziki, 768 00:36:43,660 --> 00:36:47,333 nato pa opravljajo neko dejanje na nič ali več vrstic v nič ali več tabel. 769 00:36:47,333 --> 00:36:48,208 OBČINSTVO: [neslišno] 770 00:36:48,208 --> 00:36:53,540 771 00:36:53,540 --> 00:36:55,070 >> DAVID Malan: Točno, točno. 772 00:36:55,070 --> 00:36:58,450 Torej je psevdokoda za nekaj kot da bi bil ta. 773 00:36:58,450 --> 00:37:02,450 V vašem PHP datoteke ali vaš Python datoteke ali vaš Java datoteka 774 00:37:02,450 --> 00:37:09,210 bi imeli psevdokoda kodo, ali Praskam, kot so bloki, kot je, če uporabnik obišče 775 00:37:09,210 --> 00:37:19,870 acme.com/register~~V za prvič, Nato vstavite v uporabnike in tako naprej. 776 00:37:19,870 --> 00:37:22,619 In mi bi to prevede v bolj konkretno koda na koncu. 777 00:37:22,619 --> 00:37:24,660 Ampak res, smo vsi gradniki tukaj, 778 00:37:24,660 --> 00:37:27,680 čeprav smo preskoči nekaj od faze izvajanja. 779 00:37:27,680 --> 00:37:31,560 >> Torej, kaj mi najti napake s čim smo čudovito naredil pred nekaj trenutki. 780 00:37:31,560 --> 00:37:36,470 Ustvarili ste precej popolna miza za uporabnike. 781 00:37:36,470 --> 00:37:38,920 Res je, da bi lahko izvajala je v nekaj različnih načinov, 782 00:37:38,920 --> 00:37:43,030 toda ali ste dejansko nas je pripeljala navzdol path-- in sem ti povedati, 783 00:37:43,030 --> 00:37:48,080 ampak to je verjetno moj fault-- za dokaj Izvajanje neučinkovito baze podatkov. 784 00:37:48,080 --> 00:37:49,950 To ni normaliziralo. 785 00:37:49,950 --> 00:37:52,320 >> In normalizirana mislim tam se bo, 786 00:37:52,320 --> 00:37:57,380 sčasoma velik redundanco, in zato neučinkovitost, 787 00:37:57,380 --> 00:38:00,210 da je zapravljanje prostora. 788 00:38:00,210 --> 00:38:05,650 Na podlagi samo tisto, kar vidite tukaj, lahko si predstavljate, kadar je to zapravljanje prostora 789 00:38:05,650 --> 00:38:08,710 se dogaja, da prihajajo, v daljšem časovnem obdobju, kot registrirati več uporabnikov 790 00:38:08,710 --> 00:38:10,860 za vašo spletno stran? 791 00:38:10,860 --> 00:38:13,047 Katere podatke lahko postane odveč? 792 00:38:13,047 --> 00:38:19,084 793 00:38:19,084 --> 00:38:20,940 >> OBČINSTVO: [neslišno] 794 00:38:20,940 --> 00:38:22,686 >> DAVID Malan: Zakaj misliš, da je? 795 00:38:22,686 --> 00:38:23,561 OBČINSTVO: [neslišno] 796 00:38:23,561 --> 00:38:32,180 797 00:38:32,180 --> 00:38:32,930 DAVID Malan: Ja. 798 00:38:32,930 --> 00:38:35,622 In recimo, za namene Z današnjim dnem, da je to res. 799 00:38:35,622 --> 00:38:38,330 Izkazalo se je, in to smo že naučili težji način, da to ni res. 800 00:38:38,330 --> 00:38:41,670 Nekako več mesta imajo, nekako enako poštna številka, 801 00:38:41,670 --> 00:38:43,390 ki se razbije to čudovito intuicijo. 802 00:38:43,390 --> 00:38:46,180 A denimo, da je res, zato, ker je skoraj vedno res. 803 00:38:46,180 --> 00:38:51,390 Torej domnevam, da je poštna številka vedno povezana z isto mesto 804 00:38:51,390 --> 00:38:53,600 in država, ki je nekako razumne predpostavke, 805 00:38:53,600 --> 00:38:54,840 ampak napačna, se je izkazalo. 806 00:38:54,840 --> 00:38:57,310 Vendar razumna predpostavka za današnje namene. 807 00:38:57,310 --> 00:39:01,650 >> Potem predvidevam, da živim v Cambridgeu, MA, po tega uporabnika tabeli 808 00:39:01,650 --> 00:39:04,100 in domnevam, da je Lauren Scully živi v Cambridge, MA, 809 00:39:04,100 --> 00:39:06,120 in domnevam, da je Kareem živi v Cambridge, MA, 810 00:39:06,120 --> 00:39:10,400 in ARWA živi v Cambridgeu, MA, vsi v 02138. 811 00:39:10,400 --> 00:39:15,890 Zakaj smo se spomnimo, Cambridge, MA, 02.138 za vse štiri od nas? 812 00:39:15,890 --> 00:39:18,903 Kaj bi moral zadostovati, da se spomnite? 813 00:39:18,903 --> 00:39:20,249 >> OBČINSTVO: [neslišno] 814 00:39:20,249 --> 00:39:21,540 DAVID Malan: Samo poštna številka. 815 00:39:21,540 --> 00:39:25,080 Samo, da je 02.138 obstaja, ker veš, kaj lahko storimo? 816 00:39:25,080 --> 00:39:32,650 Lahko bi dobili malo fancy tukaj in tukaj, določiti drugo tabelo 817 00:39:32,650 --> 00:39:35,850 kam to pelje, da je ime, to bo tipa, 818 00:39:35,850 --> 00:39:38,840 To se dogaja, da je Dolžina in odslej sem 819 00:39:38,840 --> 00:39:42,900 bo poklical to moja mesta mizo. 820 00:39:42,900 --> 00:39:47,011 To je bil imenovan, o Seveda, moja uporabniki miza. 821 00:39:47,011 --> 00:39:49,885 In kaj naj bi sem dal tukaj za moje mestih mizi, misliš? 822 00:39:49,885 --> 00:39:53,605 823 00:39:53,605 --> 00:39:54,535 >> OBČINSTVO: [neslišno] 824 00:39:54,535 --> 00:39:55,930 >> DAVID Malan: Ja. 825 00:39:55,930 --> 00:40:01,440 Torej, zip in državo in mesto. 826 00:40:01,440 --> 00:40:05,350 In tako je tip tukaj, bomo rekli to se dogaja, da se char 5 še enkrat, 827 00:40:05,350 --> 00:40:06,750 predmet razprave prej. 828 00:40:06,750 --> 00:40:14,810 To bo enum, morda kot prej bo in mesto je varchar 50. 829 00:40:14,810 --> 00:40:17,960 In zdaj kaj dobim izbrisati iz te tabele 830 00:40:17,960 --> 00:40:21,995 da odpravi to neučinkovitost? 831 00:40:21,995 --> 00:40:23,100 >> OBČINSTVO: [neslišno] 832 00:40:23,100 --> 00:40:23,850 DAVID Malan: Lepo. 833 00:40:23,850 --> 00:40:30,239 Država in mesto oditi, tako da sem zdaj odpraviti morebitno neučinkovitost 834 00:40:30,239 --> 00:40:33,280 za redundantly spomniti, Cambridge, MA, Cambridge, MA, Cambridge, MA, 835 00:40:33,280 --> 00:40:35,712 Cambridge, MA, ki, upajmo, se nikoli ne bo spremenilo. 836 00:40:35,712 --> 00:40:37,670 In tudi če se to zgodi, je minorly nadležno, zdaj 837 00:40:37,670 --> 00:40:39,750 da moram spremeniti je v več vrstah, 838 00:40:39,750 --> 00:40:43,770 ker je tukaj, sem lahko samo spremeniti na enem mestu. 839 00:40:43,770 --> 00:40:46,890 >> Zdaj, kaj je kompromis, morda? 840 00:40:46,890 --> 00:40:48,020 To je bilo super priročno. 841 00:40:48,020 --> 00:40:50,730 Imel vse moje podatke lepo skupaj. 842 00:40:50,730 --> 00:40:53,644 Toda kaj je jasno velja sedaj? 843 00:40:53,644 --> 00:40:55,684 >> OBČINSTVO: [neslišno] 844 00:40:55,684 --> 00:40:58,100 DAVID Malan: Točno, in sem vesel, da si uporabljena beseda pridružijo, 845 00:40:58,100 --> 00:41:01,320 ker to je pravzaprav ključna beseda, v svetu relacijskih podatkovnih baz 846 00:41:01,320 --> 00:41:05,270 v SQL, je dejanska beseda lahko vnesete ali vsaj posredovati. 847 00:41:05,270 --> 00:41:09,280 In v resnici, kaj zdaj storiti Izberite popolne informacije David je 848 00:41:09,280 --> 00:41:19,700 nekaj podobnega izberite zvezda iz Uporabniki, pridružite mesta, on-- in zdaj 849 00:41:19,700 --> 00:41:24,010 Bom samo preseliti v drugo linijo tako da je ta fits-- users.zip enaka 850 00:41:24,010 --> 00:41:34,570 cities.zip, kjer users.ID enaka 1. 851 00:41:34,570 --> 00:41:35,550 >> Torej, kaj se dogaja? 852 00:41:35,550 --> 00:41:38,970 To je grdo videti, vendar lahko nekako prebral leve proti desni, zgoraj navzdol. 853 00:41:38,970 --> 00:41:41,030 Izberite zvezda uporabnikov je enaka kot prej, 854 00:41:41,030 --> 00:41:42,930 vendar to ni od uporabnikov, samo po sebi. 855 00:41:42,930 --> 00:41:45,910 To je od uporabnikov pridruži mesta. 856 00:41:45,910 --> 00:41:48,520 Kaj sem vstopu teh dveh tabel na? 857 00:41:48,520 --> 00:41:51,820 No, očitno je uporabniki mize zip polje, 858 00:41:51,820 --> 00:41:54,810 in to obdobje je prav posebna sintaksa izraziti to idejo, 859 00:41:54,810 --> 00:41:58,130 in to je mesta mize zip polje. 860 00:41:58,130 --> 00:42:01,580 Želim ti dve enaka, ampak želim, da na koncu izberite 861 00:42:01,580 --> 00:42:06,280 samo tiste vrstice kjer ID v tabeli uporabnikov 862 00:42:06,280 --> 00:42:08,730 enaka 1, kar se je zgodilo, da je moj. 863 00:42:08,730 --> 00:42:11,781 >> In samo zato, da bo jasno, A programer, ponavadi, ko 864 00:42:11,781 --> 00:42:14,780 hardcode nekaj podobnega števila 1, ker drugače le na spletni strani 865 00:42:14,780 --> 00:42:17,630 podpira Davida ali Prva uporabnik, 866 00:42:17,630 --> 00:42:20,720 Namesto tega bi naredil nekaj podobnega ID, kjer 867 00:42:20,720 --> 00:42:22,510 To predstavlja spremenljivka, nekaj, kar 868 00:42:22,510 --> 00:42:26,210 lahko spreminja skozi čas, podobno V duhu tega, kar sem rekel prej 869 00:42:26,210 --> 00:42:28,080 s temi vrstami ograde. 870 00:42:28,080 --> 00:42:30,396 Ampak za zdaj bomo samo hardcode kot 1. 871 00:42:30,396 --> 00:42:31,520 In tako kaj to pomeni? 872 00:42:31,520 --> 00:42:35,100 No, lep način, da vizualizirati to da če je ta roka je uporabnikom miza, 873 00:42:35,100 --> 00:42:38,090 in ta roka je za zadrge miza, smo nekako finding-- 874 00:42:38,090 --> 00:42:41,330 in konice mojih prstov so zip tukaj, in konice mojih prstov 875 00:42:41,330 --> 00:42:43,740 tukaj so zip, si vrste, da med seboj povezanih 876 00:42:43,740 --> 00:42:47,950 tako da boste dobili nazaj nastalo Prvotni miza, ki jo resnično pridružil 877 00:42:47,950 --> 00:42:49,590 dve mizi na skupnem področju. 878 00:42:49,590 --> 00:42:50,840 In to ne da bi zip. 879 00:42:50,840 --> 00:42:54,460 To bi bilo najbolj karkoli drugega, ampak zip je lepo, ker so ena, to je kratka, 880 00:42:54,460 --> 00:42:56,470 dva, je vedno enake dolžine, tako da je 881 00:42:56,470 --> 00:43:02,270 resnično učinkovitost s tem, kar Olivier tukaj predlagana 882 00:43:02,270 --> 00:43:05,200 z faktoring iz zip, in [Neslišno] predlaga, da se znebimo 883 00:43:05,200 --> 00:43:07,110 od mesta in države. 884 00:43:07,110 --> 00:43:11,370 >> Zato je ta proces znan kot normalizacijo. 885 00:43:11,370 --> 00:43:14,171 Vsa vprašanja o tem? 886 00:43:14,171 --> 00:43:16,170 No, naj omenim, To je vrsta stvari, 887 00:43:16,170 --> 00:43:19,202 čeprav je dokaj nizki ravni, ta razprava, da bi si mislil 888 00:43:19,202 --> 00:43:20,910 ste nekako dobili izgubil v plevela, 889 00:43:20,910 --> 00:43:26,690 To je manifestacija dovolj priložnost za razvijalce, da je slabo. 890 00:43:26,690 --> 00:43:29,600 In v resnici, tudi ko smo pri tečaji sem učil, ko smo imeli, 891 00:43:29,600 --> 00:43:32,290 na primer, neizkušen dodiplomski programerji 892 00:43:32,290 --> 00:43:35,920 izgradnjo spletnih strani, na prvi pogled, spletne strani, lahko izgledaš. 893 00:43:35,920 --> 00:43:38,280 In imajo vse funkcionalnost smo prosili, 894 00:43:38,280 --> 00:43:40,650 razvijalci naredili dobro delo. 895 00:43:40,650 --> 00:43:43,370 >> Vendar pa ni nujno, da vedo, dovolj o oblikovanju podatkovne baze 896 00:43:43,370 --> 00:43:46,680 ali pa niso mislili težko Dovolj o vrstah podatkov 897 00:43:46,680 --> 00:43:49,220 in vrste uporabnikov Spletna stran je bila dogaja, da imajo, 898 00:43:49,220 --> 00:43:53,240 in bomo našli, potem, šest mesecev kasneje, potem ko so diplomirali ali se preselili na, 899 00:43:53,240 --> 00:43:56,016 da prekleto, naša spletna stran je res, resnično počasi. 900 00:43:56,016 --> 00:43:58,890 In jaz sploh ne govorim o ob milijone ali tisoč uporabnikov. 901 00:43:58,890 --> 00:44:02,580 Mislim nekaj sto uporabnikov na univerzi, od katerih vsi radi, na primer, 902 00:44:02,580 --> 00:44:04,870 shop za programe na v istem času, oni 903 00:44:04,870 --> 00:44:07,010 uporabo tega kataloga tečaj Uporaba sem omenil 904 00:44:07,010 --> 00:44:10,410 in stvar je vse res počasi, ker ni bilo indeksi. 905 00:44:10,410 --> 00:44:13,740 Ni bilo rdeče zvezde, tako govorijo, ali nismo imeli nujno 906 00:44:13,740 --> 00:44:17,690 vključeno skupne podatke dobili nekaj prihranek prostora. 907 00:44:17,690 --> 00:44:21,880 >> In tako pri preverjanju razvijalec ali baza oseba ali podobno, 908 00:44:21,880 --> 00:44:25,864 kakšne vrste vprašanj razmišljajo skozi je tudi pri pregledu nekdo kodo 909 00:44:25,864 --> 00:44:28,530 torej ni nujno pogledati skozi vse svoje kode, vendar pravijo, 910 00:44:28,530 --> 00:44:30,154 Oglejmo si po tabelah zbirke podatkov. 911 00:44:30,154 --> 00:44:31,150 Kaj shranjevanje? 912 00:44:31,150 --> 00:44:33,941 In potem pravijo, no, počakajte minute, zakaj uporabljate celo število? 913 00:44:33,941 --> 00:44:36,224 Kaj pa, če imamo 4 milijarde in 1 teh vrstic? 914 00:44:36,224 --> 00:44:38,140 In te vrste vprašanja, je priložnost 915 00:44:38,140 --> 00:44:40,170 da vrsta potisnite nazaj in dobili občutek, kadar je to 916 00:44:40,170 --> 00:44:42,300 Če niste zadovoljni delaš to, da nekdo bolj tehnične 917 00:44:42,300 --> 00:44:45,425 vprašajte ta vprašanja, o tem, ali ne oseba res pozna svoje stvari. 918 00:44:45,425 --> 00:44:47,890 In to je vrsta stvari tudi, da ljudje 919 00:44:47,890 --> 00:44:50,540 na internetu, ki je samouk, morda 920 00:44:50,540 --> 00:44:53,920 učijo manj pogosto, saj vas Ni nujno, da pride čez to 921 00:44:53,920 --> 00:44:56,630 toliko, ker lahko dobite baze podatkov in teče, 922 00:44:56,630 --> 00:44:58,880 vendar če ste prebrali gor na vajah, ali je 923 00:44:58,880 --> 00:45:01,880 povedal o normalizaciji podatkovne baze indeksiranje in uspešnosti, 924 00:45:01,880 --> 00:45:04,255 To so vrste stvari da se dogaja, da vas boli. 925 00:45:04,255 --> 00:45:07,480 In si lahko mislite, ali slab inženir Lahko bi rekli, oh, no, bolje plača 926 00:45:07,480 --> 00:45:09,600 za večji podatkovni bazi ali hitrejša baza 927 00:45:09,600 --> 00:45:13,360 ali pa samo vrgel denar na to, navpično lestvice, ni nujno tako. 928 00:45:13,360 --> 00:45:16,920 Če greš in-- in lahko greš v po fact-- in dodate indeksov, 929 00:45:16,920 --> 00:45:20,320 in lahko traja nekaj ur, da se Podatkovna baza za izgradnjo te nove podatke 930 00:45:20,320 --> 00:45:24,100 struktura, ki sem omenili prej, še vedno lahko popravimo po dejstvu, 931 00:45:24,100 --> 00:45:26,180 da je to, če ti začeti razlikovati 932 00:45:26,180 --> 00:45:28,830 dobri oblikovalci iz slabo oblikovalci, ne le estetsko, 933 00:45:28,830 --> 00:45:32,972 vendar je učinkovitost pametno kot dobro. 934 00:45:32,972 --> 00:45:33,555 Kakšno vprašanje? 935 00:45:33,555 --> 00:45:36,420 936 00:45:36,420 --> 00:45:37,480 Ne? 937 00:45:37,480 --> 00:45:41,980 Torej za NoSQL, ki je bila druga vrsta podatkovne baze, ki ji omenili prej, 938 00:45:41,980 --> 00:45:43,490 nimate stolpce in vrstice. 939 00:45:43,490 --> 00:45:47,000 Namesto tega bi morali nekaj da izgleda malo bolj, kot je ta. 940 00:45:47,000 --> 00:45:48,630 Bom uporabljajte sintakse. 941 00:45:48,630 --> 00:45:51,270 Zaviti oklepaji se zgodi, da Tu se uporablja zelo veliko. 942 00:45:51,270 --> 00:45:55,400 Morda imate kaj kot prvo ime je David, 943 00:45:55,400 --> 00:46:00,180 ste morda nazadnje ime je Malan, citati, 944 00:46:00,180 --> 00:46:07,530 boste morda morali ID is-- oprostite, whoops-- ID 1, 945 00:46:07,530 --> 00:46:13,410 e-poštni naslov je malan@harvard.edu, in ne bom moti tipkanje ven počitek, nato pa 946 00:46:13,410 --> 00:46:14,380 nekatere druge stvari. 947 00:46:14,380 --> 00:46:17,380 >> Z drugimi besedami, to je tekstualna predstavitev 948 00:46:17,380 --> 00:46:20,720 tega, kar bi na splošno imenujemo predmet v računalniškem programu. 949 00:46:20,720 --> 00:46:26,079 In je predmet praviloma samo zbirka ključnih vrednosti parov. 950 00:46:26,079 --> 00:46:27,370 Torej še enkrat, to ponavljajoča se tema. 951 00:46:27,370 --> 00:46:30,440 Videli smo ključ pare vrednosti v HTML, smo videli ključne pare vrednosti zdaj 952 00:46:30,440 --> 00:46:34,020 v okviru podatkovnih baz, in mi Videl ključnih vrednosti parov v okviru 953 00:46:34,020 --> 00:46:35,970 o, mislim, jezik že danes. 954 00:46:35,970 --> 00:46:36,890 Drži prihajajo. 955 00:46:36,890 --> 00:46:39,620 In res, da je res katere podatke izvira na, 956 00:46:39,620 --> 00:46:44,240 Podatki in metapodatki, ali vrednosti in ključi, oz. 957 00:46:44,240 --> 00:46:47,430 >> Torej ne-relacijski podatkovne baze, kar temelji 958 00:46:47,430 --> 00:46:50,680 na objektih, kjer si Zrno vse skupaj in ga 959 00:46:50,680 --> 00:46:55,640 v spomin, bi na splošno na sliki, kot je, ali misel, kot je ta. 960 00:46:55,640 --> 00:47:00,500 In bom zapustil, da je zdaj kot vrsta alternativnega pristopa. 961 00:47:00,500 --> 00:47:03,750 In ena ni nujno boljši od drugega. 962 00:47:03,750 --> 00:47:07,310 Dejstvo je, zelo v modi v teh dneh so sistemi, baze podatkov 963 00:47:07,310 --> 00:47:11,942 kot MongoDB in REDIS in nekaj drugih takih orodij, prosto na razpolago, 964 00:47:11,942 --> 00:47:13,400 vendar so bolj en vogue. 965 00:47:13,400 --> 00:47:18,850 Delno zato, ker ponujajo dodatne funkcije več kot teh tabelaričnih pristopov, 966 00:47:18,850 --> 00:47:20,850 ampak tudi zato, ker oni malo lažji za uporabo, 967 00:47:20,850 --> 00:47:24,099 saj vam ni treba razmišljati tako težko o veliko teh konstrukcijskih odločitev. 968 00:47:24,099 --> 00:47:25,970 Tako pluse in minuse. 969 00:47:25,970 --> 00:47:29,740 Torej zavedaš obstajajo možnosti tistega, kar smo pravkar porabljen čas na. 970 00:47:29,740 --> 00:47:32,310 >> Torej, kaj je to. 971 00:47:32,310 --> 00:47:37,870 Recimo prehod malo nazaj sedaj spletno programiranje, 972 00:47:37,870 --> 00:47:40,470 tako da smo nekako sklepamo danes z nečim 973 00:47:40,470 --> 00:47:43,930 da je malo hands-on, polnjenje V nekaterih vrzeli od včeraj. 974 00:47:43,930 --> 00:47:45,340 Naj gre za to najprej. 975 00:47:45,340 --> 00:47:49,310 Tako opozarjajo, da je včeraj smo imeli nekaj kanonično HTML 976 00:47:49,310 --> 00:47:55,110 strani, ki so imeli na začetku, le HTML, nato pa sekundarno imela CSS, 977 00:47:55,110 --> 00:47:56,620 kaskadnih slogov. 978 00:47:56,620 --> 00:47:59,830 To je nova oznaka, ki jih ni glej včeraj, ali živijo na, 979 00:47:59,830 --> 00:48:01,490 tako imenovani scenarij tag. 980 00:48:01,490 --> 00:48:05,830 >> Izkazalo se je, da lahko dejansko zajemajo izvedeni jezik imenuje JavaScript v vašem spletu 981 00:48:05,830 --> 00:48:08,310 strani in da bo vaše spletno Strani nekaj storiti. 982 00:48:08,310 --> 00:48:09,710 Torej, kaj mislim s tem? 983 00:48:09,710 --> 00:48:12,630 No, naj gredo naprej in samo sposodim to kodo za trenutek. 984 00:48:12,630 --> 00:48:15,860 Bom šel v Cloud9, ni treba iti tam sami samo še, 985 00:48:15,860 --> 00:48:21,350 in bom poklical ta alert.HTML. 986 00:48:21,350 --> 00:48:23,650 Bom prilepil v moji datoteki tukaj. 987 00:48:23,650 --> 00:48:32,070 In samo zato, da pojasni, kaj sem naredil, kaj me na ta naslov in šel za alarmiranje, 988 00:48:32,070 --> 00:48:33,870 in vidiš Hello World. 989 00:48:33,870 --> 00:48:35,440 >> Ampak to je nekako underwhelming. 990 00:48:35,440 --> 00:48:37,410 Hočem narediti nekaj malo drugačna. 991 00:48:37,410 --> 00:48:40,610 Torej bom to dejansko storijo. 992 00:48:40,610 --> 00:48:43,820 Bom šel v tu e, in med mojimi scenarij oznake, 993 00:48:43,820 --> 00:48:53,460 pravijo opozorilo ( "Hello, world"); tako obvestilo je malo površen, ampak imam HTML, 994 00:48:53,460 --> 00:48:56,180 znotraj katere je jezik se imenuje JavaScript, 995 00:48:56,180 --> 00:48:59,420 in to je tisto, kar se imenuje Funkcija klic ali klic procedure. 996 00:48:59,420 --> 00:49:04,500 To je glagol, dobesedno, v tem primeru, in sem se sklicuje kodo funkcionalnost 997 00:49:04,500 --> 00:49:06,310 da je nekdo drug napisal. 998 00:49:06,310 --> 00:49:09,630 >> Tako da funkcionalnost je opozorilo, da gremo na to stran 999 00:49:09,630 --> 00:49:14,046 zdaj in kliknite nalaganja, in zdaj glej malo interaktivnosti. 1000 00:49:14,046 --> 00:49:15,420 To je nekako stare šole in grda. 1001 00:49:15,420 --> 00:49:18,580 To vas nekako spominja na pop-ups, morda, od minulih dni 1002 00:49:18,580 --> 00:49:22,030 je pa naredil nekaj, kar malo več programske. 1003 00:49:22,030 --> 00:49:26,940 >> Torej, več kot to, kaj je naredil kaj bolj zanimivo. 1004 00:49:26,940 --> 00:49:30,980 Spusti me noter in se znebite tega. 1005 00:49:30,980 --> 00:49:33,840 In bom, da gredo naprej in ustvariti obliko, kot smo včeraj. 1006 00:49:33,840 --> 00:49:34,840 Pravzaprav, veš kaj? 1007 00:49:34,840 --> 00:49:37,350 Bom šel v google.html, ki smo 1008 00:49:37,350 --> 00:49:43,027 je začel včeraj, ki je izgledala to, preko katerega smo iskali mačko 1009 00:49:43,027 --> 00:49:45,360 Ampak obvestilo, da je nekakšen bug v trenutni različici. 1010 00:49:45,360 --> 00:49:49,770 Deluje za mačke, ampak domnevam, da je Ne sodelujejo in sem tipa ničesar, 1011 00:49:49,770 --> 00:49:53,290 in sem preprosto kliknite Pošlji. 1012 00:49:53,290 --> 00:49:54,540 To je nekako čudno obnašanje. 1013 00:49:54,540 --> 00:49:57,300 me je realni Google, Niso mi dali sporočilo o napaki. 1014 00:49:57,300 --> 00:50:00,590 Rad bi povedal uporabnik morate, da nam vrednost. 1015 00:50:00,590 --> 00:50:01,780 >> Torej, kako lahko to storimo? 1016 00:50:01,780 --> 00:50:06,790 No, mi gredo nazaj v Cloud9 in Naj gredo v vrhu moje strani 1017 00:50:06,790 --> 00:50:11,980 in dodajte skript oznako, kot je ta, v kateri Bom vnesti nekaj kode JavaScript. 1018 00:50:11,980 --> 00:50:15,420 In bom naredil naslednje. 1019 00:50:15,420 --> 00:50:22,910 Če (document.getelementByID-- in odpoklic da smo govorili o tem prej, 1020 00:50:22,910 --> 00:50:23,960 to funkcijo. 1021 00:50:23,960 --> 00:50:25,310 Kaj ID želim, da bi dobili? 1022 00:50:25,310 --> 00:50:33,050 Želim, da bi dobili q, in bom recimo enaka nič, kot this-- 1023 00:50:33,050 --> 00:50:38,220 pravzaprav mi uporabite dvojne narekovaje samo za consistency-- enaka nič, 1024 00:50:38,220 --> 00:50:46,650 potem alert ( "Vnesite poizvedbo") tukaj. 1025 00:50:46,650 --> 00:50:49,200 >> Torej imam, kar se zdi, da je nekaj podobnega stanja. 1026 00:50:49,200 --> 00:50:51,410 Videli smo to splošno idejo v Scratch. 1027 00:50:51,410 --> 00:50:54,240 To je kot eno od teh sestavljanke kosi, ki so si, kot je ta. 1028 00:50:54,240 --> 00:50:55,780 In kaj sem rekel? 1029 00:50:55,780 --> 00:50:59,520 No, tukaj, opazil sem naredili naslednje. 1030 00:50:59,520 --> 00:51:02,790 Bom dal ta obrazec Polje ni le ime q, kar 1031 00:51:02,790 --> 00:51:06,630 je tisto, kar pride mimo Googlu, vendar sem dogaja, da ga lokalni identifikator, 1032 00:51:06,630 --> 00:51:07,630 imenuje tudi q. 1033 00:51:07,630 --> 00:51:11,780 Ampak lahko to imenujemo kaj sem hočeš, sem šele tekoč, da ga bo enostavno 1034 00:51:11,780 --> 00:51:14,570 in ji tudi q, le zaradi enostavnosti. 1035 00:51:14,570 --> 00:51:17,650 >> In zdaj bom naredil nekaj malo več. 1036 00:51:17,650 --> 00:51:22,600 Na polj obrazca tukaj, bom dodati, kar se imenuje dogodek trener. 1037 00:51:22,600 --> 00:51:32,260 Na predloži želim poklicati funkcija se imenuje potrdijo. 1038 00:51:32,260 --> 00:51:35,520 To še ne obstaja, to beseda, ali je ta glagol validate, 1039 00:51:35,520 --> 00:51:38,560 ker kaj bom naredil tu zdaj je dodati nekaj kode. 1040 00:51:38,560 --> 00:51:42,200 >> Bom povedal funkcijo potrdijo. 1041 00:51:42,200 --> 00:51:48,280 Bom zamakniti to in dodati drugo curly brace tukaj in še eden tukaj. 1042 00:51:48,280 --> 00:51:50,110 Razmislite, kaj je to zdaj počne. 1043 00:51:50,110 --> 00:51:54,210 Imam now-- misliti, da je to ustvaril moje lastne puzzle kos, ki ni prej 1044 00:51:54,210 --> 00:51:57,440 obstajajo, in sem poklical to puzzle kos validate kos sestavljanke je. 1045 00:51:57,440 --> 00:52:01,620 Njegov namen v življenju je, da izvede štiri vrstic kode znotraj nje. 1046 00:52:01,620 --> 00:52:04,940 >> Če document.getElementById tako konceptualno, 1047 00:52:04,940 --> 00:52:09,380 da bo šel v element, HTML element, katerega edinstvena 1048 00:52:09,380 --> 00:52:12,930 Ideja je samo q, nato pa čeprav sintaksa izgleda malo čudno, 1049 00:52:12,930 --> 00:52:16,430 ki je enaka enaka samo pomeni Rezultat. 1050 00:52:16,430 --> 00:52:20,950 Torej to pomeni, da če je element z edinstveni identifikator q, ko je prišel, 1051 00:52:20,950 --> 00:52:25,700 nima nobene vrednosti, samo enaka quote citata, nič tam, 1052 00:52:25,700 --> 00:52:27,170 potem kaj hočem narediti? 1053 00:52:27,170 --> 00:52:29,360 Hočem kričati na uporabnika. 1054 00:52:29,360 --> 00:52:31,710 >> In da ne bo šel veliko podrobnosti tukaj. 1055 00:52:31,710 --> 00:52:32,960 Bom vrnil false. 1056 00:52:32,960 --> 00:52:34,380 Da je prišlo do napake. 1057 00:52:34,380 --> 00:52:38,746 Drugega, bom vrnil res. 1058 00:52:38,746 --> 00:52:40,120 Torej, ali je delal ali pa ni. 1059 00:52:40,120 --> 00:52:41,800 Napačne ali res. 1060 00:52:41,800 --> 00:52:47,820 In zdaj, če nisem naredil nobene napake, Naj rešiti to in osvežite to. 1061 00:52:47,820 --> 00:52:50,940 In naj me samo še enkrat preverite, da je Nisem namreč, da vse tipkarske napake, 1062 00:52:50,940 --> 00:52:52,690 tako da mi ni osramotil sebe. 1063 00:52:52,690 --> 00:52:54,240 Poglejmo, če to deluje. 1064 00:52:54,240 --> 00:52:56,930 >> Torej, zdaj bom na vrsto mačke. 1065 00:52:56,930 --> 00:52:59,421 Še vedno deluje, ali pol dela, vsaj. 1066 00:52:59,421 --> 00:53:02,170 Zdaj pa mi ga znova in zdaj pa jaz poskusim oddajo brez tipkanja 1067 00:53:02,170 --> 00:53:05,860 anything-- prekleto, je zlomil. 1068 00:53:05,860 --> 00:53:06,430 Trenutek. 1069 00:53:06,430 --> 00:53:09,380 1070 00:53:09,380 --> 00:53:12,660 Naj odpre konzolo, [Neslišno] log, osvežite stran. 1071 00:53:12,660 --> 00:53:13,576 Naj poskusim to še enkrat. 1072 00:53:13,576 --> 00:53:17,000 1073 00:53:17,000 --> 00:53:17,501 Oh, prekleto. 1074 00:53:17,501 --> 00:53:18,000 Pozabil sem. 1075 00:53:18,000 --> 00:53:18,630 Naredila sem tipkarsko napako. 1076 00:53:18,630 --> 00:53:20,760 Spomnim se, kaj je to. 1077 00:53:20,760 --> 00:53:21,350 .value. 1078 00:53:21,350 --> 00:53:27,060 Hotel sem reči, če je vrednost elementa je čigar ID q 1079 00:53:27,060 --> 00:53:29,800 enaka, potem vpij uporabnika. 1080 00:53:29,800 --> 00:53:31,870 >> Torej, zdaj pa še enkrat zadržite dih. 1081 00:53:31,870 --> 00:53:33,480 Gremo. 1082 00:53:33,480 --> 00:53:34,130 No pa gremo. 1083 00:53:34,130 --> 00:53:35,010 Vnesite poizvedbo. 1084 00:53:35,010 --> 00:53:36,840 Torej je ne da bi me spustil skozi. 1085 00:53:36,840 --> 00:53:40,210 Lahko sem nekako igriv s tem, in namesto da bi iskal brez vrednosti, 1086 00:53:40,210 --> 00:53:46,720 Lahko rečem, nekaj podobnega, ni več iskanja za mačke, 1087 00:53:46,720 --> 00:53:51,150 in zdaj lahko samo bolj igrivo naj iskanje uporabnik za pse, če on ali ona 1088 00:53:51,150 --> 00:53:57,490 želi, ali pa če grem tukaj in iskanje za mačke, zdaj ne morem. 1089 00:53:57,490 --> 00:53:58,690 >> Torej, kaj je takeaway tukaj? 1090 00:53:58,690 --> 00:54:03,010 Torej ena, smo uvedli v naš svet HTML in CSS, 1091 00:54:03,010 --> 00:54:04,320 programiranje funkcionalnost. 1092 00:54:04,320 --> 00:54:06,300 Sem lahko dejansko zdaj sprejemanje odločitev v kodi. 1093 00:54:06,300 --> 00:54:10,570 Prej, vse, kar sem lahko naredil je pribitek tekstovne vsebine ali grafične vsebine 1094 00:54:10,570 --> 00:54:13,080 in je povedal, kaj iskati in kje prikazati. 1095 00:54:13,080 --> 00:54:16,650 Zdaj lahko dejansko vprašati vprašanja spletne strani 1096 00:54:16,650 --> 00:54:20,010 in sprejemajo odločitve, ki temeljijo na njej, in poziv uporabniku 1097 00:54:20,010 --> 00:54:22,780 če moram kričati na njega ali njo. 1098 00:54:22,780 --> 00:54:28,740 >> Torej poskusimo nekaj sami s tem. 1099 00:54:28,740 --> 00:54:33,350 Daj, povej mi odpirajo na naslednjo stran tukaj, in samo poudariti eno stvar. 1100 00:54:33,350 --> 00:54:37,250 Tako kot pri CSS, lahko faktor ven naša koda JavaScript ločeno datoteko, 1101 00:54:37,250 --> 00:54:40,660 lahko storijo enako stvar z JavaScript kot s CSS. 1102 00:54:40,660 --> 00:54:44,520 In ste uporabili, da z uporabo vira atribut iz scenarija oznako. 1103 00:54:44,520 --> 00:54:46,540 Ampak ne bomo zaplete stvari za zdaj. 1104 00:54:46,540 --> 00:54:50,440 Namesto tega, če bi lahko pojdite ne tej strani 1105 00:54:50,440 --> 00:55:02,690 ampak-- mi premakniti okrog v order-- iti, če bi lahko, to stran tukaj. 1106 00:55:02,690 --> 00:55:03,592 Ta URL tukaj. 1107 00:55:03,592 --> 00:55:04,550 To je v današnjih diapozitive. 1108 00:55:04,550 --> 00:55:07,133 Morda boste morali naložiti, ker Sem dodal nekaj stvari. 1109 00:55:07,133 --> 00:55:09,970 1110 00:55:09,970 --> 00:55:13,890 >> Toda tja, kjer je nekaj ugank čakajo. 1111 00:55:13,890 --> 00:55:16,670 In nam bo to priložnost, v nekoliko bolj zabavno kontekstu 1112 00:55:16,670 --> 00:55:20,610 Praćakati z nekaj JavaScript. 1113 00:55:20,610 --> 00:55:25,505 In ko prideš tja, Bom razložiti, kaj čaka. 1114 00:55:25,505 --> 00:55:47,350 1115 00:55:47,350 --> 00:55:47,850 Dobili zeleno. 1116 00:55:47,850 --> 00:56:03,063 1117 00:56:03,063 --> 00:56:03,562 Set modro. 1118 00:56:03,562 --> 00:56:11,030 1119 00:56:11,030 --> 00:56:13,930 Nastavi zelena, določa red. 1120 00:56:13,930 --> 00:56:19,220 1121 00:56:19,220 --> 00:56:20,220 Ups. 1122 00:56:20,220 --> 00:56:22,330 Žal mi je. 1123 00:56:22,330 --> 00:56:27,630 >> To je obseg našega dokumentacije za ta izziv. 1124 00:56:27,630 --> 00:56:29,920 In to se dogaja, da deluje, kot sledi. 1125 00:56:29,920 --> 00:56:33,340 Torej, kaj imate na tem Stran je cel kup 1126 00:56:33,340 --> 00:56:38,024 slikovnih ugank, ki jih kolega na Univerzi Stanford. 1127 00:56:38,024 --> 00:56:41,190 Torej, kaj ste videli tukaj, je skoraj vrsta enega od teh magičnih uganke oči, 1128 00:56:41,190 --> 00:56:43,815 ampak če samo stare na to, nič ne dogaja, da pop ven na vas. 1129 00:56:43,815 --> 00:56:46,000 Namesto, da je nekaj skrite v to sliko. 1130 00:56:46,000 --> 00:56:47,790 In to je skrita na naslednji način. 1131 00:56:47,790 --> 00:56:51,740 Slike, kot veste, je lahko sestavljen iz samo treh barvah. 1132 00:56:51,740 --> 00:56:53,346 Nekateri rdeča, nekatere modre, nekateri pa zelene. 1133 00:56:53,346 --> 00:56:55,220 In lahko naredimo vse barve v mavrici 1134 00:56:55,220 --> 00:56:57,570 z mešanjem teh treh barv nekako. 1135 00:56:57,570 --> 00:57:01,940 >> Torej, to izgleda predvsem zelena in modra, ampak kot pravi Nick tukaj, 1136 00:57:01,940 --> 00:57:04,060 To železo puzzle slika je uganka. 1137 00:57:04,060 --> 00:57:06,780 Vsebuje sliko nekaj znan, vendar pa 1138 00:57:06,780 --> 00:57:08,310 slika je popačena. 1139 00:57:08,310 --> 00:57:11,500 Slavni predmet v rdečih vrednosti. 1140 00:57:11,500 --> 00:57:13,810 Vendar pa je rdeča vrednosti so bili vsi delijo z 10. 1141 00:57:13,810 --> 00:57:16,230 Tako da so premajhni za faktor 10. 1142 00:57:16,230 --> 00:57:18,280 Torej, z drugimi besedami, Nick je originalno sliko, 1143 00:57:18,280 --> 00:57:21,500 in je razredčeno vse za rdeče iz njega, 1144 00:57:21,500 --> 00:57:23,850 zmanjša količino rdeče črnilo, če bo v njem. 1145 00:57:23,850 --> 00:57:26,060 >> Modre in zelene vrednosti so le nesmiselna, 1146 00:57:26,060 --> 00:57:30,000 naključne vrednosti, aka hrupa načrtovan zabriše realno sliko. 1147 00:57:30,000 --> 00:57:32,250 Torej, kaj Nick si je bil omiljeni rdeče in nato 1148 00:57:32,250 --> 00:57:34,380 je samo vrgel naključno Zneski modra in zelena 1149 00:57:34,380 --> 00:57:37,590 na sliko za vrsto nejasna kaj je v resnici še vedno tam. 1150 00:57:37,590 --> 00:57:41,089 Morate razveljaviti te motnje da razkrije podobo. 1151 00:57:41,089 --> 00:57:44,255 Najprej nastavite vse modre in zelene vrednosti na nič, da jih ven iz poti, 1152 00:57:44,255 --> 00:57:48,700 in poglej rezultat. potem množi vsako rdečo vrednost za 10, 1153 00:57:48,700 --> 00:57:51,720 luščenje nazaj do približno njegova končna vrednost. 1154 00:57:51,720 --> 00:57:53,035 Kaj je znan objekt? 1155 00:57:53,035 --> 00:57:57,920 >> Torej, vse vas imam pravokotnik V brskalniku zdaj. 1156 00:57:57,920 --> 00:58:00,830 In opazil, da je nekaj starter kodo, tako rekoč. 1157 00:58:00,830 --> 00:58:04,370 To je JavaScript kode, ki Nick je napisal za vas. 1158 00:58:04,370 --> 00:58:07,250 In opazil, da je črto na sredini, ki 1159 00:58:07,250 --> 00:58:10,380 začne s poševnico poševnico, da je kar se na splošno imenuje komentar. 1160 00:58:10,380 --> 00:58:14,660 To pomeni, da je stavek, da programer ki nima funkcionalne pomena. 1161 00:58:14,660 --> 00:58:16,520 To je samo vizualno iztočnico za človeka. 1162 00:58:16,520 --> 00:58:18,670 >> Tako da lahko greš naprej in izbrisati samo to vrstico, 1163 00:58:18,670 --> 00:58:22,214 in je super ne paziti, da se izbrisati ali spremeniti kaj drugega. 1164 00:58:22,214 --> 00:58:25,130 In naj vas le sprehod skozi kaj ta koda počne in ga bom zapustil 1165 00:58:25,130 --> 00:58:28,580 do vas, da ugotovimo, skrivnost sliko. 1166 00:58:28,580 --> 00:58:32,226 Ta prvi vrstici sem, da sem pravkar Označeni vam naslednje. 1167 00:58:32,226 --> 00:58:34,100 Na levi strani, imate, kar se imenuje 1168 00:58:34,100 --> 00:58:39,140 spremenljivka, ki ima Nick poljubno vendar upravičeno imenujemo im za slike. 1169 00:58:39,140 --> 00:58:41,660 Na desni strani te enačaj, 1170 00:58:41,660 --> 00:58:45,240 govori, da mi nov citiram, konec citata "preprost slike". 1171 00:58:45,240 --> 00:58:49,680 >> Preproste slike, v tem kontekstu je tisto, kar se imenuje razred, dobro, 1172 00:58:49,680 --> 00:58:53,910 to je nekako kot class-- tehnično prototype-- ampak res, 1173 00:58:53,910 --> 00:58:58,000 to mi daje nov predmet, katerih vsebina so datoteke, 1174 00:58:58,000 --> 00:58:59,610 železo-puzzle.png. 1175 00:58:59,610 --> 00:59:03,190 Z drugimi besedami, Nick ustvaril Ta pojem preprostega slike 1176 00:59:03,190 --> 00:59:05,920 tako da bomo lahko za pedagoške namene, igrajo s podobo 1177 00:59:05,920 --> 00:59:09,790 in spremeni svojo rdečo, zelene in modre vrednosti. 1178 00:59:09,790 --> 00:59:11,750 >> In kako nam gre to? 1179 00:59:11,750 --> 00:59:15,360 To je nekoliko Grobni sintakso tukaj je nekako kot pri ponavljajočih blok 1180 00:59:15,360 --> 00:59:19,140 da nekateri od vas videl v Scratch prej Danes, kjer lahko ponovite 10-krat. 1181 00:59:19,140 --> 00:59:22,220 V tem primeru, Nick nima vprogramirano več kot 10. 1182 00:59:22,220 --> 00:59:28,020 Namesto tega je, je rekel, inicializacijo spremenljivka imenovano x 0, 1183 00:59:28,020 --> 00:59:33,180 preveriti, če je x manjši kot širina slike. 1184 00:59:33,180 --> 00:59:38,160 >> In tako, da je bolj pravilno, slika je spremenljivka, pika pomeni noter njega 1185 00:59:38,160 --> 00:59:40,900 in dobili svojo širino in potem odprta paren, zaprta 1186 00:59:40,900 --> 00:59:43,687 paren je le programer je pot rekel, da je to funkcija. 1187 00:59:43,687 --> 00:59:44,520 To je postopek. 1188 00:59:44,520 --> 00:59:46,430 To je funkcionalnost nekdo drug napisal. 1189 00:59:46,430 --> 00:59:48,570 Uporabite ga in mi vrne odgovor. 1190 00:59:48,570 --> 00:59:53,610 In potem x ++ je fancy način rekel, ko ste to storili enkrat, 1191 00:59:53,610 --> 00:59:55,850 prirastek x za 1. 1192 00:59:55,850 --> 00:59:58,760 Z drugimi besedami, ta je programer je pot 1193 00:59:58,760 --> 01:00:05,760 za induciranje zanko, ki je bo ponovitev čez 1194 01:00:05,760 --> 01:00:10,410 vse stolpce na sliki. 1195 01:00:10,410 --> 01:00:14,790 >> Podoba je le mreža pike, vrstice in stolpci pik. 1196 01:00:14,790 --> 01:00:18,270 To je način ponavljanjem preko vseh teh stolpcev. 1197 01:00:18,270 --> 01:00:20,770 In na notranji strani, Medtem, smo ponavljanjem 1198 01:00:20,770 --> 01:00:24,030 nad višino, tukaj in tukaj in tukaj. 1199 01:00:24,030 --> 01:00:29,442 Torej je to samo način traipsing, skoraj kot old school pisalni stroj, 1200 01:00:29,442 --> 01:00:32,230 da pojdi čez celotna slika iterativno. 1201 01:00:32,230 --> 01:00:36,370 Tudi to ni povsem v celoti Jasno, vzemite v veri za zdaj, 1202 01:00:36,370 --> 01:00:38,880 da teh treh vrsticah kode skupaj 1203 01:00:38,880 --> 01:00:43,090 dogaja, da vam omogočajo, da iterativno pogledati na vsakem slikovnih pik, vsaka pika na sliki. 1204 01:00:43,090 --> 01:00:43,790 >> Kaj je pixel? 1205 01:00:43,790 --> 01:00:46,250 No, da bo jasno, če pogledamo v izvirniku in povečavo, 1206 01:00:46,250 --> 01:00:49,060 če si res dal svoje oči na zaslonu računalnika, da je 1207 01:00:49,060 --> 01:00:53,510 samo cel kup pik, več tisoč pike pakirajo skupaj tam. 1208 01:00:53,510 --> 01:00:56,180 In kaj ste pa naredili? 1209 01:00:56,180 --> 01:00:59,240 Vsak od teh pik, končno opredelitev, 1210 01:00:59,240 --> 01:01:06,350 je rezultat tega, kar je na splošno imenuje RGB, rdeča, zelena, modra, ki 1211 01:01:06,350 --> 01:01:09,940 Ponovno se lahko združijo vam poljubno število barv. 1212 01:01:09,940 --> 01:01:13,200 >> V bistvu, če se spomnite od mnogih nazaj, mnogo let, 1213 01:01:13,200 --> 01:01:17,320 projektor zasloni, kot so te stvari ki je imelo ne en objektiv, ampak tri. 1214 01:01:17,320 --> 01:01:20,700 Eden izmed njih izpljunili rdečo svetlobo, eden izmed jih izpljunili zeleno luč, eden od njih 1215 01:01:20,700 --> 01:01:21,600 izpljunite modro svetlobo. 1216 01:01:21,600 --> 01:01:24,391 In če ste bili v srednji šoli kot sem bil, kjer so bili nikoli 1217 01:01:24,391 --> 01:01:27,000 ustrezno usklajena, da si Vedno gledanje zgodovine filmov 1218 01:01:27,000 --> 01:01:29,770 da so bile nekoliko popačen, ker so tri barve niso 1219 01:01:29,770 --> 01:01:30,970 kombiniranje pravilno. 1220 01:01:30,970 --> 01:01:36,330 >> Vendar se izkaže, da je vsak izmed te vrednosti rdeče, zelene in modre, 1221 01:01:36,330 --> 01:01:37,980 ima lahko številne povezane z njimi. 1222 01:01:37,980 --> 01:01:42,500 Na primer, 0 za rdeče pomeni, da ni rdeča, 0 za zeleno pomeni, da ni zelena, 1223 01:01:42,500 --> 01:01:45,120 in 0 za modro pomeni, da ni modro. 1224 01:01:45,120 --> 01:01:49,403 Torej, če nimate rdeča, zelena barva, in ne modra, kakšne barve imaš? 1225 01:01:49,403 --> 01:01:51,009 >> OBČINSTVO: [neslišno] 1226 01:01:51,009 --> 01:01:52,800 DAVID Malan: Vi bi upam, da je belo. 1227 01:01:52,800 --> 01:01:55,333 Na žalost, to operates-- žal? 1228 01:01:55,333 --> 01:01:56,380 >> OBČINSTVO: [neslišno] 1229 01:01:56,380 --> 01:01:58,630 DAVID Malan: Torej ti dejansko imajo črne, v tem primeru. 1230 01:01:58,630 --> 01:02:01,530 Torej, če imate nobena od teh barve vklopljen, imate črno. 1231 01:02:01,530 --> 01:02:06,510 Vendar, če imate, recimo veliko od njih, kot veliko rdeče, 255 nje, 1232 01:02:06,510 --> 01:02:10,340 veliko zelene, in veliko modre, ki je bele barve. 1233 01:02:10,340 --> 01:02:12,230 Torej, to sta dve skrajnosti. 1234 01:02:12,230 --> 01:02:17,460 Torej po tej logiki, če imam veliko rdeča in zelena barva in ne modra, 1235 01:02:17,460 --> 01:02:18,485 kakšna barva je to? 1236 01:02:18,485 --> 01:02:19,360 OBČINSTVO: [neslišno] 1237 01:02:19,360 --> 01:02:20,610 DAVID Malan: Ja, seveda. 1238 01:02:20,610 --> 01:02:25,940 In potem ni rdeče, veliko zelena, brez modrega in nato 1239 01:02:25,940 --> 01:02:29,590 če have-- dobro, bomo pravkar končal to samo zato, ker, vendar je to seveda 1240 01:02:29,590 --> 01:02:31,350 Zdaj, je modre barve. 1241 01:02:31,350 --> 01:02:33,030 In zdaj lahko kombinirajo barve. 1242 01:02:33,030 --> 01:02:36,430 Zdaj kot prahi, če ima kdo od vas kdaj naredil nekaj dejansko zasnove spletne strani, 1243 01:02:36,430 --> 01:02:38,360 boste morda dejansko glej simbole, kot je ta. 1244 01:02:38,360 --> 01:02:42,030 FFF-- in dejansko, to je Verjetno tudi to ne. 1245 01:02:42,030 --> 01:02:44,380 To je FFFFFF. 1246 01:02:44,380 --> 01:02:48,970 >> Vsakdo kdaj videl F in E-jev in A through-- tako se je izkazalo, 1247 01:02:48,970 --> 01:02:52,970 smo govorili včeraj o decimalko, in danes, nekako približno decimalko. 1248 01:02:52,970 --> 01:02:54,570 Danes smo se pogovarjali o binarno. 1249 01:02:54,570 --> 01:02:59,010 Izkazalo se je, šestnajstiški je zelo skupna osnova sistem za uporabo v računalništvu. 1250 01:02:59,010 --> 01:03:04,960 Binary dve, decimalno je 10, čarovnica je 16. 1251 01:03:04,960 --> 01:03:08,640 In se je izkazalo, kako šteješ v šestnajstiškem? 1252 01:03:08,640 --> 01:03:11,620 Nič, ena, dva, tri, štiri, pet, šest, sedem, osem, 1253 01:03:11,620 --> 01:03:14,730 devet, kaj uporabljati po devetih? 1254 01:03:14,730 --> 01:03:16,600 Kaj je naslednja številka? 1255 01:03:16,600 --> 01:03:19,180 Mi je že bila uporabljena nič. 1256 01:03:19,180 --> 01:03:20,570 Rabim 16 od teh. 1257 01:03:20,570 --> 01:03:25,770 Nič, ena, dva, tri, štiri, pet, šest, sedem, osem, devet, 1258 01:03:25,770 --> 01:03:27,520 boste potrebovali nekaj samovoljno konvencijo. 1259 01:03:27,520 --> 01:03:30,810 >> In kaj človeštvo odločila nekaj časa Pred da po devetih pride pismo 1260 01:03:30,810 --> 01:03:34,450 A in nato B in nato C. Tako Tako si šteje v šestnajstiškem 1261 01:03:34,450 --> 01:03:37,040 nič, ena, dva, tri, štiri, pet, šest, sedem, osem, devet, 1262 01:03:37,040 --> 01:03:42,880 A, B, C, D, E, F in da se računajo ste vso pot, se je izkazalo, da 15. 1263 01:03:42,880 --> 01:03:47,850 Tako nič do 15. nič prek F. Zdaj zakaj je to pomembno? 1264 01:03:47,850 --> 01:03:51,570 No, če imate dva F-ih, to je, kako izraziti 255. 1265 01:03:51,570 --> 01:03:54,350 >> Tako dolgo zgodbo, v svet Photoshop, 1266 01:03:54,350 --> 01:03:57,299 da je grafično oblikovanje programske opreme, v svetu spletnega razvoja, 1267 01:03:57,299 --> 01:03:59,590 kjer imate veliko barv, Seveda, da igrajo z, 1268 01:03:59,590 --> 01:04:02,350 pogosto programerji bo izraziti s tistimi v šestnajstiški, 1269 01:04:02,350 --> 01:04:05,260 samo zato, ker se skuša da se malo enostavnejše. 1270 01:04:05,260 --> 01:04:07,850 Čeprav je na prvi pogled to je veliko bolj zapleten. 1271 01:04:07,850 --> 01:04:11,590 >> Torej, v vsakem primeru pa je to pomembno ker Nick na Stanfordu 1272 01:04:11,590 --> 01:04:15,100 nam je dal šest kosov funkcionalnosti da vi, brstenja programerji, 1273 01:04:15,100 --> 01:04:17,060 bo zdaj imel možnost uporabe. 1274 01:04:17,060 --> 01:04:19,960 Vgrajen v tem spletu Stran je šest funkcij, 1275 01:04:19,960 --> 01:04:21,820 šest postopkov, ki Nick napisal. 1276 01:04:21,820 --> 01:04:26,800 Trije od njih bodo dobili več, rdečo, zeleno ali modro vrednost. 1277 01:04:26,800 --> 01:04:28,787 Trije od njih bo določil te vrednosti. 1278 01:04:28,787 --> 01:04:30,620 In ti podčrtaj so le ograde, 1279 01:04:30,620 --> 01:04:32,600 tako da boste morali vedeti, kaj so to. 1280 01:04:32,600 --> 01:04:36,240 >> Torej s temi tremi funkcijami, Prvi od teh stvari 1281 01:04:36,240 --> 01:04:39,190 se dogaja, da je x-koordinata, in druga od teh stvari 1282 01:04:39,190 --> 01:04:40,700 se dogaja, da je y-koordinata. 1283 01:04:40,700 --> 01:04:44,650 Z drugimi besedami, ki dot, ki pixel želiš, da bi dobili zelenino, 1284 01:04:44,650 --> 01:04:46,480 dobili modro, dobili rdečo barvo. 1285 01:04:46,480 --> 01:04:51,440 In potem tukaj, to se bo x, to se dogaja, da se vrednost y, 1286 01:04:51,440 --> 01:04:55,379 in to se bo število. 1287 01:04:55,379 --> 01:04:57,170 Torej, naredimo prvi Linija tem skupaj 1288 01:04:57,170 --> 01:05:00,220 in potem bom ga pustite, da vas da bi poskušali izpeljati ostalo. 1289 01:05:00,220 --> 01:05:03,100 Torej, po navodilih na tej strani, se moramo 1290 01:05:03,100 --> 01:05:08,960 za povečanje rdeče s faktorjem 10, in moramo odstraniti zeleno 1291 01:05:08,960 --> 01:05:09,930 in odstranite modro. 1292 01:05:09,930 --> 01:05:12,410 Začnimo s slednjimi scenarijih. 1293 01:05:12,410 --> 01:05:17,760 Torej, če hočem, in bom zamakniti z uporabo nekaterih prostorov, 1294 01:05:17,760 --> 01:05:22,291 če želim nastaviti rdeče, zeleno ali modro vrednost, 1295 01:05:22,291 --> 01:05:23,540 Bom naredil naslednje. 1296 01:05:23,540 --> 01:05:31,280 >> Slika, im.setBlue, in nato temelji na mojih navodilih tukaj, 1297 01:05:31,280 --> 01:05:36,700 kar tri stvari naj I tip znotraj oklepajev zdaj? 1298 01:05:36,700 --> 01:05:41,960 Rabim x vrednost je y vrednost, in kaj več 1299 01:05:41,960 --> 01:05:48,770 moral sem dal tukaj, če želim, da se znebite modre, ki temelji na zgodbi tukaj? 1300 01:05:48,770 --> 01:05:49,630 Samo nič. 1301 01:05:49,630 --> 01:05:52,420 Če želim ni modro, da sem samo bo to spremenilo nič. 1302 01:05:52,420 --> 01:05:54,465 >> Zdaj pa samo povzamem, kaj se to počne. 1303 01:05:54,465 --> 01:05:56,970 1304 01:05:56,970 --> 01:06:01,170 Imam tukaj na teh vrhu drugi in tretji linije, 1305 01:06:01,170 --> 01:06:04,080 Zahteval sem dve zanki, ugnezdene zanke, če vas 1306 01:06:04,080 --> 01:06:08,360 bo, da se dogaja, da imajo učinek od napreduje od leve proti desni, 1307 01:06:08,360 --> 01:06:11,590 od zgoraj navzdol skozi vse x vrednote in vse vrednosti y. 1308 01:06:11,590 --> 01:06:15,167 Ker še enkrat, je slika samo mrežo vrstic in stolpcev. 1309 01:06:15,167 --> 01:06:17,000 Torej, to se dogaja, da bi dobili znebite vseh modro. 1310 01:06:17,000 --> 01:06:18,627 Naj pusti v naslednjo vrstico za vas. 1311 01:06:18,627 --> 01:06:20,043 Kako se znebiti vseh zelenih? 1312 01:06:20,043 --> 01:06:23,747 1313 01:06:23,747 --> 01:06:25,140 >> OBČINSTVO: [neslišno] 1314 01:06:25,140 --> 01:06:26,151 >> DAVID Malan: Lepo. 1315 01:06:26,151 --> 01:06:28,260 >> OBČINSTVO: [neslišno] 1316 01:06:28,260 --> 01:06:30,850 >> DAVID Malan: Lepo. 1317 01:06:30,850 --> 01:06:36,120 In bom pomanjšanje, in vzemite skrbi za ki ste jih niso storili nobene tipkarske napake. 1318 01:06:36,120 --> 01:06:39,390 In če ste zadovoljni s tem, kar si storil, 1319 01:06:39,390 --> 01:06:42,936 gredo naprej in kliknite na gumb Run / Save in videli, kaj dobiš. 1320 01:06:42,936 --> 01:06:46,982 1321 01:06:46,982 --> 01:06:48,690 In spet, smo naredili le tri spremembe. 1322 01:06:48,690 --> 01:06:52,130 Mi črta, ki je prvi pripombe in ga nadomesti 1323 01:06:52,130 --> 01:06:53,575 pri teh dveh vrstic kode. 1324 01:06:53,575 --> 01:06:55,742 1325 01:06:55,742 --> 01:06:58,450 In to je v redu, če boste morali zadeti gumb Run / Shrani nekajkrat 1326 01:06:58,450 --> 01:07:01,190 popraviti nekaj. 1327 01:07:01,190 --> 01:07:03,610 >> In mi tudi povečati na mojem kodo, tako da lahko preoblikuje. 1328 01:07:03,610 --> 01:07:04,110 Dobro. 1329 01:07:04,110 --> 01:07:08,720 Vidim Andrew ima kaj Zdi se, da je napaka. 1330 01:07:08,720 --> 01:07:11,110 On je pravkar dobil veliko črno pravokotnik na svojem zaslonu. 1331 01:07:11,110 --> 01:07:13,120 Ali ima še kdo velik črn pravokotnik? 1332 01:07:13,120 --> 01:07:13,390 >> OBČINSTVO: Da. 1333 01:07:13,390 --> 01:07:14,360 >> DAVID Malan: Big črn pravokotnik? 1334 01:07:14,360 --> 01:07:16,068 OK, tako da je mislim o tem, kaj to pomeni. 1335 01:07:16,068 --> 01:07:20,560 Rekli smo, da nič, nič, nič, tako da ni zelena, ne rdeča, ne modra, 1336 01:07:20,560 --> 01:07:21,980 se dogaja, da vam črno. 1337 01:07:21,980 --> 01:07:24,467 In se izkaže, da večina naših prenosnih računalnikov 1338 01:07:24,467 --> 01:07:25,800 samo nimajo dovolj zvestobo. 1339 01:07:25,800 --> 01:07:27,750 Ne moreš kar povem, da je pravzaprav nekaj tam. 1340 01:07:27,750 --> 01:07:30,340 In če nekako morda pusto zaslon naprej in nazaj, 1341 01:07:30,340 --> 01:07:32,850 Mogoče ne vidiš nekaj malega tam? 1342 01:07:32,850 --> 01:07:34,820 Mogoče, vrsta, vrsta? 1343 01:07:34,820 --> 01:07:36,640 To ni popolnoma črna. 1344 01:07:36,640 --> 01:07:38,050 >> OBČINSTVO: [neslišno] 1345 01:07:38,050 --> 01:07:39,510 >> DAVID Malan: Spojler! 1346 01:07:39,510 --> 01:07:42,610 Obstaja nekaj rdeče tam, vendar spomnite iz specifikacij 1347 01:07:42,610 --> 01:07:44,940 problema, Nick je napeta navzdol. 1348 01:07:44,940 --> 01:07:47,860 On je razredčeno nekoliko, ne pa vse do nič. 1349 01:07:47,860 --> 01:07:51,670 Torej, če želimo, da povečate količino rdeče, naj predlaga ta trik. 1350 01:07:51,670 --> 01:07:53,750 Naj povečati na mojem zaslonu. 1351 01:07:53,750 --> 01:07:58,678 In mi gredo naprej in reči Znesek je enak im.getRed (x, y). 1352 01:07:58,678 --> 01:08:02,440 1353 01:08:02,440 --> 01:08:05,790 >> Ta vrstica kode me daje nekaj, kar se imenuje spremenljivko. 1354 01:08:05,790 --> 01:08:09,643 Moram poljubno, toda verjetno, upravičeno imenuje moj spremenljivka kaj, 1355 01:08:09,643 --> 01:08:10,143 očitno? 1356 01:08:10,143 --> 01:08:13,530 1357 01:08:13,530 --> 01:08:14,340 Znesek. 1358 01:08:14,340 --> 01:08:14,980 Samo znesek. 1359 01:08:14,980 --> 01:08:16,960 Lahko bi ga imenovali kaj hočem, ampak sem 1360 01:08:16,960 --> 01:08:19,490 uporabo te druge funkcije da sem opisal prej 1361 01:08:19,490 --> 01:08:25,359 da bi dobili količino rdečega na x vejica y. 1362 01:08:25,359 --> 01:08:27,520 Zakaj je to storil? 1363 01:08:27,520 --> 01:08:30,004 Kaj želite narediti tukaj? 1364 01:08:30,004 --> 01:08:32,910 1365 01:08:32,910 --> 01:08:33,619 Morate add-- 1366 01:08:33,619 --> 01:08:34,493 OBČINSTVO: [neslišno] 1367 01:08:34,493 --> 01:08:36,279 DAVID Malan: Ja, mogoče jo pomnožimo s 10. 1368 01:08:36,279 --> 01:08:38,862 In če ne veste, da sem dogaja, da gredo naprej in to. 1369 01:08:38,862 --> 01:08:42,060 Bom, da gredo naprej in recimo, želim količino rdeče barve 1370 01:08:42,060 --> 01:08:46,550 Rad bi karkoli je v rdeči barvi, krat 10, 1371 01:08:46,550 --> 01:08:50,330 in zvezda, zvezdica na vašem Tipkovnica je the-- ne uporabljajte x. 1372 01:08:50,330 --> 01:08:51,569 Uporabite zvezdo. 1373 01:08:51,569 --> 01:08:55,350 To je, kako se množijo stvari V večini programskih jezikov. 1374 01:08:55,350 --> 01:08:59,790 >> Torej, glede na intuicijo Kareem je, shranjeni v tej spremenljivki imenovano znesek, 1375 01:08:59,790 --> 01:09:03,649 je, koliko rdeča želim na lokaciji xy. 1376 01:09:03,649 --> 01:09:11,500 Kako zdaj, moram narediti, da Pixel imajo to številko? 1377 01:09:11,500 --> 01:09:12,859 Ste to že storili že prej. 1378 01:09:12,859 --> 01:09:17,666 Nastavite zelena in modro brez vrednosti, nič. 1379 01:09:17,666 --> 01:09:18,540 OBČINSTVO: [neslišno] 1380 01:09:18,540 --> 01:09:20,040 DAVID Malan: Ja, dobro ga ne želijo 10. 1381 01:09:20,040 --> 01:09:21,460 Si že naredil matematike tukaj. 1382 01:09:21,460 --> 01:09:24,779 Tako smo dobili vrednost rdeče, ki je majhno število, verjetno. 1383 01:09:24,779 --> 01:09:26,180 Mi smo se pomnoži se z 10. 1384 01:09:26,180 --> 01:09:29,139 Kaj želite storiti z variabilni znesek zdaj? 1385 01:09:29,139 --> 01:09:30,130 >> OBČINSTVO: [neslišno] 1386 01:09:30,130 --> 01:09:30,880 >> DAVID Malan: Lepo. 1387 01:09:30,880 --> 01:09:34,616 Torej im.set-- kaj? 1388 01:09:34,616 --> 01:09:35,640 >> OBČINSTVO: setRed. 1389 01:09:35,640 --> 01:09:39,760 >> DAVID Malan: setRed, na lokaciji xy. 1390 01:09:39,760 --> 01:09:40,260 Ja. 1391 01:09:40,260 --> 01:09:41,200 In samo znesek. 1392 01:09:41,200 --> 01:09:44,257 Z drugimi besedami, spremenljiva je začasna ograda 1393 01:09:44,257 --> 01:09:45,840 da lahko dajo vse, kar hočeš v. 1394 01:09:45,840 --> 01:09:48,680 Se zgodi, da je treba tako, da pred število v njej, v tem trenutku. 1395 01:09:48,680 --> 01:09:51,569 Smo jo pomnoži s 10, da bi bilo večje. 1396 01:09:51,569 --> 01:09:56,480 In zdaj sem ob zamenjavi te spremenljivke kot tisti tretji argument, ali vhod 1397 01:09:56,480 --> 01:09:57,810 nastaviti rdeče. 1398 01:09:57,810 --> 01:10:00,440 In tako, da ko ti zaključi, da je in upošteva 1399 01:10:00,440 --> 01:10:02,330 od podpičji in oklepaju. 1400 01:10:02,330 --> 01:10:06,290 >> Pojdi naprej in kliknite teči / znova shranite in si 1401 01:10:06,290 --> 01:10:10,690 Moral bi videti, čudežno, kaj je bilo dejansko tam. [? ARWA,?] Kaj je tam? 1402 01:10:10,690 --> 01:10:16,412 Eifflov stolp v polnopravni rdeče, ne čisto temno. 1403 01:10:16,412 --> 01:10:17,870 da bi morala biti bolj jasno zdaj, ja? 1404 01:10:17,870 --> 01:10:18,840 V REDU. 1405 01:10:18,840 --> 01:10:20,215 In Andrew, ni več črna skrinjica? 1406 01:10:20,215 --> 01:10:21,090 OBČINSTVO: [neslišno] 1407 01:10:21,090 --> 01:10:22,180 DAVID Malan: V redu. 1408 01:10:22,180 --> 01:10:23,610 Torej, to bom obdržati na zaslonu. 1409 01:10:23,610 --> 01:10:27,010 Če želite igrati s tem kasneje, to bom ponovno za vas. 1410 01:10:27,010 --> 01:10:29,140 Ampak to kodo tukaj storil prav to. 1411 01:10:29,140 --> 01:10:31,460 Zakaj ne naredite nekaj drugega. 1412 01:10:31,460 --> 01:10:33,880 Naj se pomaknite navzdol rahlo. 1413 01:10:33,880 --> 01:10:36,760 >> Torej, v tem primeru, projektorja ne res to pravico. 1414 01:10:36,760 --> 01:10:40,486 Toda na vaših zaslonih, verjetno imajo zelo rdeči in zelo črno skrinjico. 1415 01:10:40,486 --> 01:10:42,610 Tudi to je uganka, ki kaže, kaj slavni. 1416 01:10:42,610 --> 01:10:44,193 Vendar pa je slika popačena. 1417 01:10:44,193 --> 01:10:47,740 Resnična slika, tokrat je v modrih in zelenih vrednot. 1418 01:10:47,740 --> 01:10:51,820 Vendar pa smo vsi bili razdeljeni do 20. zato so vrednosti zelo majhna. 1419 01:10:51,820 --> 01:10:54,660 Rdeče vrednosti so samo naključne številke, hrup. 1420 01:10:54,660 --> 01:10:57,190 Razveljavi te izkrivljanja da razkrije pravo podobo. 1421 01:10:57,190 --> 01:10:59,200 >> Torej, Nick pa vam pove, kaj storiti. 1422 01:10:59,200 --> 01:11:04,290 Nastavitev rdeče vrednosti na nič, in potem ne pokvari, kaj je to. 1423 01:11:04,290 --> 01:11:07,110 Nato množijo modra in zelena vrednosti po 20. 1424 01:11:07,110 --> 01:11:09,820 Torej, to je skoraj isti program kot prej, 1425 01:11:09,820 --> 01:11:11,380 vendar ste obrniti proces. 1426 01:11:11,380 --> 01:11:13,780 In bom dal svojo kodo Preden se na zaslonu v primeru 1427 01:11:13,780 --> 01:11:16,650 želite, da vrne k njej ali sta še naprej s tem. 1428 01:11:16,650 --> 01:11:18,100 Naj povečati na to. 1429 01:11:18,100 --> 01:11:21,450 Toda rešiti bakra sliko puzzle, številka dve. 1430 01:11:21,450 --> 01:11:37,623 1431 01:11:37,623 --> 01:11:40,580 >> OBČINSTVO: [neslišno] 1432 01:11:40,580 --> 01:11:44,010 >> DAVID Malan: Ok, tako da to, da sem ne bo dal čim več nasvetov. 1433 01:11:44,010 --> 01:11:47,220 Zato sem would-- oh, kaj je glej, imate slovnične napake tukaj. 1434 01:11:47,220 --> 01:11:49,621 Torej, ne pozabite, to tukaj dejansko mora iti tja. 1435 01:11:49,621 --> 01:11:52,870 Torej, kaj bi predlagala, če želite osredotočiti na ta, da je odgovor. 1436 01:11:52,870 --> 01:11:57,060 Če želite prepisati, da se da bi morala dobiti prvo eno delo. 1437 01:11:57,060 --> 01:11:59,910 In potem lahko uporabite, da kot navdih za drugo. 1438 01:11:59,910 --> 01:12:02,230 Lepo. 1439 01:12:02,230 --> 01:12:02,730 Dobro. 1440 01:12:02,730 --> 01:12:05,430 1441 01:12:05,430 --> 01:12:08,180 >> In za radovedne, To je preprost primer 1442 01:12:08,180 --> 01:12:11,080 iz znanosti ali umetnosti imenuje steganografija, 1443 01:12:11,080 --> 01:12:14,100 umetnost skriva informacije v slikah. 1444 01:12:14,100 --> 01:12:16,890 Značilno je, da bi slike lahko vodni zelo očitno 1445 01:12:16,890 --> 01:12:19,500 logo na dnu kotiček, vendar je jasno, si 1446 01:12:19,500 --> 01:12:22,070 lahko veliko bolj zapletene o tem in dejansko 1447 01:12:22,070 --> 01:12:25,050 zakriti drugih slik v Slike nekako s to tehniko. 1448 01:12:25,050 --> 01:12:59,890 1449 01:12:59,890 --> 01:13:05,770 >> Bodite še 30 sekund, nato pa se bomo vsaj napove, kaj bi morali videti. 1450 01:13:05,770 --> 01:13:08,330 In bom zapustil tretji ena kot vajo na domu, 1451 01:13:08,330 --> 01:13:11,353 Če želite bolj za mu ta konec tedna. 1452 01:13:11,353 --> 01:13:18,240 1453 01:13:18,240 --> 01:13:20,390 In mislim, da Andrew morda so jo dobila prva. 1454 01:13:20,390 --> 01:13:22,645 Katera je prva slika, Andrew? 1455 01:13:22,645 --> 01:13:23,920 >> OBČINSTVO: Kip svobode. 1456 01:13:23,920 --> 01:13:28,500 >> DAVID Malan: Kip svobode bo odgovor tokrat. 1457 01:13:28,500 --> 01:13:31,140 Torej še enkrat, samo nekaj preprostih Primeri, katere cilj 1458 01:13:31,140 --> 01:13:35,040 je, da vam občutek, kako smo prevedeno slikovno praske 1459 01:13:35,040 --> 01:13:40,410 blokov bolj siten in bolj zapleteno kodo, ampak vse od ideje 1460 01:13:40,410 --> 01:13:42,980 Še vedno popolnoma enaka, čeprav z uvedbo 1461 01:13:42,980 --> 01:13:48,380 Zdaj pojem spremenljivke, pri čemer lahko začasno skladiščijo nekaj. 1462 01:13:48,380 --> 01:13:51,750 >> Naredimo eno bolj hands-on, samo da zdaj povezati pike 1463 01:13:51,750 --> 01:13:53,880 za nekaj malo več v realnem svetu. 1464 01:13:53,880 --> 01:13:56,610 Ko ste pripravljeni, če bi lahko pojdite na ta URL na zaslonu. 1465 01:13:56,610 --> 01:14:00,610 To je tudi v vašem kopija tobogani, developers.google.com/maps~~V. 1466 01:14:00,610 --> 01:14:03,660 Kaj je dejansko nekaj storiti resnična, tako rekoč na spletu 1467 01:14:03,660 --> 01:14:07,600 s pomočjo Google Maps API, ali programski vmesnik, 1468 01:14:07,600 --> 01:14:08,940 na naslednji način. 1469 01:14:08,940 --> 01:14:12,341 >> Google, tako kot mnoga podjetja, ponuja veliko prostega funkcionalnosti 1470 01:14:12,341 --> 01:14:14,840 ki jo lahko uporabite za izgradnjo vaš lastne zanimive aplikacije. 1471 01:14:14,840 --> 01:14:18,890 V bistvu, če ste že uporabljali Uber dobiti taksi ali avto, 1472 01:14:18,890 --> 01:14:21,640 verjetno veste, da je uber zemljevidu in kaže avtomobilov na njej. 1473 01:14:21,640 --> 01:14:24,870 To je, kot najboljši, kot sem lahko povedati, Google Maps API. 1474 01:14:24,870 --> 01:14:28,884 So dejansko uporabo Googlovih zemljevidov, vendar uber ni podjetje kartiranje, 1475 01:14:28,884 --> 01:14:31,050 niti ne bi, da je bila še posebej zanimiv problem 1476 01:14:31,050 --> 01:14:33,510 rešiti na vrhu njihovih problem avto servis. 1477 01:14:33,510 --> 01:14:35,510 In tako da stojiš, spet na ramenih 1478 01:14:35,510 --> 01:14:37,520 drugih, Google v tem primeru. 1479 01:14:37,520 --> 01:14:42,850 Torej jih uporabljajo Googlove zemljevide, ampak sami car in druge podobne značilnosti. 1480 01:14:42,850 --> 01:14:47,770 >> Torej bomo izkoristiti to storiti naslednje. 1481 01:14:47,770 --> 01:14:50,230 In če sem šel prehitro, samo pokliči me več v trenutku. 1482 01:14:50,230 --> 01:14:53,500 Z veseljem povzamem nekatere stvari slike. 1483 01:14:53,500 --> 01:14:56,290 Videti bi morali sami na strani, kot je ta. 1484 01:14:56,290 --> 01:14:58,230 Torej Googlov lepo, in oni so med najboljšimi 1485 01:14:58,230 --> 01:15:01,364 zagotavljajo ne samo API-jev, ampak proste API, ki jih 1486 01:15:01,364 --> 01:15:02,780 lahko igrajo z ali uporabljati v komercialne namene. 1487 01:15:02,780 --> 01:15:06,450 Oni začnejo vas polnjenje, če je vaša navada je visoka, vendar sem šel naprej v vnaprej 1488 01:15:06,450 --> 01:15:10,490 in podpisan nas za brezplačni račun da, upajmo, 10 računalniki 1489 01:15:10,490 --> 01:15:12,480 nam ne bo diskvalificira za naenkrat. 1490 01:15:12,480 --> 01:15:14,320 Zato upajmo, da to predstavitev bo delovala. 1491 01:15:14,320 --> 01:15:18,840 >> In opazili, da so API-jev za Android, iOS, splet, in spletnih storitev, 1492 01:15:18,840 --> 01:15:19,620 karkoli že to je. 1493 01:15:19,620 --> 01:15:20,700 Osredotočimo se na spletu. 1494 01:15:20,700 --> 01:15:26,560 Torej, kliknite roza polje, splet, in da vas bo vodil, upajmo, na stran 1495 01:15:26,560 --> 01:15:27,630 tukaj. 1496 01:15:27,630 --> 01:15:29,335 In ko so dobili cel kup API-jev. 1497 01:15:29,335 --> 01:15:31,210 In je lahko malo prepričljivo na prvem, 1498 01:15:31,210 --> 01:15:33,000 ampak bom nas usmerja skozi tisto, kar želimo. 1499 01:15:33,000 --> 01:15:38,500 >> V zgornjem levem kotu je Google Maps JavaScript API API JavaScript. 1500 01:15:38,500 --> 01:15:40,380 Torej, pojdi naprej in kliknite, da je eden. 1501 01:15:40,380 --> 01:15:49,360 In da vas bo vodila zdaj na po strani, predstavitve in vzorčno kodo. 1502 01:15:49,360 --> 01:15:51,190 Naj pomanjšanje tukaj. 1503 01:15:51,190 --> 01:15:56,300 In kaj mi nam to-- pomaknite navzdol , kjer piše Quick Start korakov. 1504 01:15:56,300 --> 01:15:57,970 Vaš zaslon je treba videti kot moja. 1505 01:15:57,970 --> 01:16:01,130 >> In tam je dva koraka, dobili ključni in začeli razvijati. 1506 01:16:01,130 --> 01:16:04,190 Sem že naredil prvi korak za nas, dobili tako imenovano ključ. 1507 01:16:04,190 --> 01:16:05,320 In to je skupna zamisel. 1508 01:16:05,320 --> 01:16:09,210 Klju API je na splošno le velika naključno številko ali niz 1509 01:16:09,210 --> 01:16:11,130 da se moraš prilepiti kodo, 1510 01:16:11,130 --> 01:16:15,280 tako da Google ve, kdo ste, ko ste z uporabo njihovih storitev, njihovo API. 1511 01:16:15,280 --> 01:16:17,370 To še ne pomeni, da smo obtožen ničesar. 1512 01:16:17,370 --> 01:16:21,030 In zdaj, kliknite, namesto ena, kliknite začeli razvijati. 1513 01:16:21,030 --> 01:16:25,990 Če bi si val me več, če ne vem, kje smo. 1514 01:16:25,990 --> 01:16:28,040 >> Torej bomo samo opraska površina, tukaj, ampak kaj 1515 01:16:28,040 --> 01:16:31,000 Mislil sem, da bi bil prepričljiv je, da dejansko imajo vse nas, 1516 01:16:31,000 --> 01:16:34,240 uporabo Cloud9 v enem oknu in Ta tutorial v drugem oknu, 1517 01:16:34,240 --> 01:16:37,120 upamo, dejansko dobili naše Uporaba gor in teče 1518 01:16:37,120 --> 01:16:40,920 ki omejuje meri Google map na naši spletni strani, 1519 01:16:40,920 --> 01:16:43,010 nato dodaja eno ali dve funkciji. 1520 01:16:43,010 --> 01:16:45,520 Vendar bomo samo opraska Površina, kaj lahko storimo. 1521 01:16:45,520 --> 01:16:47,020 >> Torej samo hiter pregled sanity. 1522 01:16:47,020 --> 01:16:49,740 So vsi na tej strani API za Google Maps JavaScript? 1523 01:16:49,740 --> 01:16:50,872 Bi rekel, kako začeti. 1524 01:16:50,872 --> 01:16:53,330 Ne bomo šli skozi vse skupaj z vsemi sredstvi. 1525 01:16:53,330 --> 01:16:58,090 OK, na drugi kartici, če ne da imajo odprto, ne gredo v Cloud9 1526 01:16:58,090 --> 01:17:03,500 in sami priti do le nov zavihek, na koncu. 1527 01:17:03,500 --> 01:17:11,070 Torej še enkrat, c9.io od včeraj, c9.io, in samo ustvariti novo datoteko. 1528 01:17:11,070 --> 01:17:13,500 In gredo naprej in klic to, kar si želite. 1529 01:17:13,500 --> 01:17:16,495 Poklical sem rudnik map.html. 1530 01:17:16,495 --> 01:17:17,870 Pokliči jo kaj konča v .html. 1531 01:17:17,870 --> 01:17:23,930 1532 01:17:23,930 --> 01:17:26,580 In bi morali biti v grobem kje sem v tem procesu 1533 01:17:26,580 --> 01:17:31,470 le z utripajočo poziv v prazno Kartica imenuje nekaj podobnega map.html. 1534 01:17:31,470 --> 01:17:35,808 1535 01:17:35,808 --> 01:17:38,148 Ali datoteka nova datoteka tokrat. 1536 01:17:38,148 --> 01:17:41,960 1537 01:17:41,960 --> 01:17:48,000 >> In zdaj, kot na API za Google Maps JavaScript, 1538 01:17:48,000 --> 01:17:50,010 bomo preskočili branje skozi vse to besedilo. 1539 01:17:50,010 --> 01:17:53,760 Ampak obvestilo, da je zdravo svet res povsod, jo vidite zdaj. 1540 01:17:53,760 --> 01:17:58,020 Zdravo svet ima ta velika pisana Primer cel kup HTML. 1541 01:17:58,020 --> 01:18:03,590 Pojdi naprej in kopiraj in prilepi le, da HTML, torej od tipa doc na vrhu 1542 01:18:03,590 --> 01:18:08,810 vse do tesnega HTML tag, pojdite naprej in ponovno kopiranje vseh that--, 1543 01:18:08,810 --> 01:18:14,430 da je v skladu s Hello World example-- in prilepite, da na kartici Cloud9, 1544 01:18:14,430 --> 01:18:17,996 tako da zdaj zaslon treba videti približno tako kot moja. 1545 01:18:17,996 --> 01:18:22,280 1546 01:18:22,280 --> 01:18:24,520 >> In ga lahko shranite, vendar ga ne naložiti samo še. 1547 01:18:24,520 --> 01:18:26,290 Poglejmo prvi pogled na kodo in videli, če bomo 1548 01:18:26,290 --> 01:18:29,110 ni mogoče sklepati, ali pa se naučite od tistega, kar je Google 1549 01:18:29,110 --> 01:18:30,860 je imel nam slepo kopiranje in lepljenje. 1550 01:18:30,860 --> 01:18:33,334 Oni samo želijo pomagati, dobesedno, naju je začelo, 1551 01:18:33,334 --> 01:18:35,500 vendar pa ni, da je veliko kompleksnost dejansko tam. 1552 01:18:35,500 --> 01:18:40,100 1553 01:18:40,100 --> 01:18:42,210 Vsa vprašanja samo še? 1554 01:18:42,210 --> 01:18:43,790 Varni smo za korak naprej? 1555 01:18:43,790 --> 01:18:44,330 V REDU. 1556 01:18:44,330 --> 01:18:46,800 >> Tako hitro, kaj je pač nekaj hitrih preverjanja prištevnosti. 1557 01:18:46,800 --> 01:18:48,800 Line eden od kar sem glej, in upam, da vas 1558 01:18:48,800 --> 01:18:51,710 glej, kaj to pomeni, DOCTYPE HTML? 1559 01:18:51,710 --> 01:18:52,385 Kareem, spomni? 1560 01:18:52,385 --> 01:18:53,260 OBČINSTVO: [neslišno] 1561 01:18:53,260 --> 01:18:53,968 DAVID Malan: Da. 1562 01:18:53,968 --> 01:18:54,870 Prihaja HTML 5. 1563 01:18:54,870 --> 01:18:57,950 Medtem, vrstico dva na Zaslon tukaj pomeni hej brskalnik 1564 01:18:57,950 --> 01:18:59,482 Tu gre dejansko HTML. 1565 01:18:59,482 --> 01:19:01,440 Tretja vrstica je hej brskalnik, tukaj prihaja glava. 1566 01:19:01,440 --> 01:19:04,260 Line štiri je, seveda, hej brskalnik, tukaj prihaja naslov. 1567 01:19:04,260 --> 01:19:07,780 Kaj storiti linija pet? 1568 01:19:07,780 --> 01:19:09,930 Pravzaprav, to ne res naredil za nas. 1569 01:19:09,930 --> 01:19:13,340 V tem primeru je to samo spremeni velikost stran za privzeto. Line šest, 1570 01:19:13,340 --> 01:19:16,140 nismo govorili o tem, vendar pa določa kodiranje znakov. 1571 01:19:16,140 --> 01:19:19,181 Obstaja več načinov kodiranja datotek, predvsem za tuje jezike. 1572 01:19:19,181 --> 01:19:21,100 UTF-8 samo kaže, da je privzeta. 1573 01:19:21,100 --> 01:19:26,580 >> Zdaj bomo videli, v skladu sedem do 16, nekateri CSS. 1574 01:19:26,580 --> 01:19:29,260 In čeprav smo nismo videli vse te stvari pred, 1575 01:19:29,260 --> 01:19:30,810 lahko nekako sklepati. 1576 01:19:30,810 --> 01:19:37,075 Torej linijo osem sredstva, hej brskalnik uporablja vse naslednje značilnosti, za katere dveh oznak, 1577 01:19:37,075 --> 01:19:37,575 očitno? 1578 01:19:37,575 --> 01:19:40,650 1579 01:19:40,650 --> 01:19:41,701 besedilo HTML in telo. 1580 01:19:41,701 --> 01:19:43,200 Torej, vejica je nova stvar tam. 1581 01:19:43,200 --> 01:19:46,140 In to je samo način navede več oznak na enkrat. 1582 01:19:46,140 --> 01:19:47,640 >> Potem smo dobili zavitimi oklepaji. 1583 01:19:47,640 --> 01:19:51,170 Torej je očitno, to pove brskalnik da višino stran 100%. 1584 01:19:51,170 --> 01:19:54,170 Torej, tudi če je zelo malo vsebine, da celo stran, 1585 01:19:54,170 --> 01:19:55,530 da stvar zapolni stran. 1586 01:19:55,530 --> 01:19:57,524 Naredite zemljevid končno zapolni stran. 1587 01:19:57,524 --> 01:19:58,690 Marža, kaj to pomeni? 1588 01:19:58,690 --> 01:20:01,559 To je običajno, kot samovoljno prazen prostor okoli robov 1589 01:20:01,559 --> 01:20:04,350 da so nekateri brskalnik oblikovalec pravkar odločila bi smelo biti, ker ji 1590 01:20:04,350 --> 01:20:05,540 nekako naredi stvari videti čistejši. 1591 01:20:05,540 --> 01:20:06,498 Toda mi ne želimo. 1592 01:20:06,498 --> 01:20:08,710 Želimo zemljevid dogaja vse do robov. 1593 01:20:08,710 --> 01:20:10,930 Oblazinjenje, pisane v duhu robu. 1594 01:20:10,930 --> 01:20:14,980 Robovi pomeni zunaj, oblazinjenje sredstva notri, ampak to je isto vrsto posla. 1595 01:20:14,980 --> 01:20:17,520 To je malo pufra med vami in robovih. 1596 01:20:17,520 --> 01:20:21,170 >> In potem je linija 13 dobra priložnost za hiter pregled. 1597 01:20:21,170 --> 01:20:26,440 Kaj oster znak zemljevid pomeni, ali hashtag map pomeni? 1598 01:20:26,440 --> 01:20:29,650 Kaj to nanaša na načelno? 1599 01:20:29,650 --> 01:20:31,485 >> OBČINSTVO: [neslišno] 1600 01:20:31,485 --> 01:20:32,360 DAVID Malan: Točno tako. 1601 01:20:32,360 --> 01:20:36,900 Ta lastnost je ta CSS lastnost velja tudi za samo eno stvar, oznaka HTML 1602 01:20:36,900 --> 01:20:41,180 ki ima ID ponudbo, konec citata "zemljevida". 1603 01:20:41,180 --> 01:20:44,460 In zdaj pa hitro naprej, pomaknite na dno datoteke, ki je 1604 01:20:44,460 --> 01:20:49,860 ni preveč daleč, in obvestilo na spletu 19, če ga prilepite točno tako kot sem storil, 1605 01:20:49,860 --> 01:20:53,405 je linija 19 samo div, ki je delitev na strani, ki je včeraj I 1606 01:20:53,405 --> 01:20:54,820 imenuje pravokotno območje. 1607 01:20:54,820 --> 01:20:55,820 To je nič v njem. 1608 01:20:55,820 --> 01:20:57,550 To je odprt tag, blizu tag. 1609 01:20:57,550 --> 01:20:59,490 Vendar pa imajo edinstveno ID. 1610 01:20:59,490 --> 01:21:02,090 >> Torej, kar se zdi, da je dogaja tukaj je Google 1611 01:21:02,090 --> 01:21:05,880 je pripravljal našo spletno stran imeti popolno 100% višine, 1612 01:21:05,880 --> 01:21:09,680 in nobena oblazinjenje, brez marže, saj kaj bomo dal notri 1613 01:21:09,680 --> 01:21:13,647 te div, katere edinstven ID je Načrt je dejansko vdelan zemljevid. 1614 01:21:13,647 --> 01:21:15,480 In hočemo, da izpolnite stran in ne samo 1615 01:21:15,480 --> 01:21:17,560 se nekateri majhen pravokotnik na sredini. 1616 01:21:17,560 --> 01:21:24,220 Torej prav tako poudarja linija 14 je se map mora imeti višino 100%. 1617 01:21:24,220 --> 01:21:29,220 >> Torej, zdaj opazili med vrsticami 20 in 28, to je JavaScript kodo. 1618 01:21:29,220 --> 01:21:33,020 In to je, čeprav je skladenjsko malo čudno, 1619 01:21:33,020 --> 01:21:34,730 tam je ni vse, da je veliko dogaja. 1620 01:21:34,730 --> 01:21:39,310 V vrstici 21, to je razglasitev nekaj, kar se imenuje spremenljivko. 1621 01:21:39,310 --> 01:21:42,030 Namesto da bi jo kliče zneske, kot smo prej, 1622 01:21:42,030 --> 01:21:44,500 smo natančneje rekoč var, ki pomeni le spremenljivko. 1623 01:21:44,500 --> 01:21:46,520 Smo lahko uporabili, da v koda Nick, a je ni, tako da sem 1624 01:21:46,520 --> 01:21:48,190 ni motilo, da gre bodisi. 1625 01:21:48,190 --> 01:21:50,240 To je spremenljivka imenuje map in potem je tukaj še 1626 01:21:50,240 --> 01:21:53,360 funkcija, ki je očitno se imenuje initMap. 1627 01:21:53,360 --> 01:21:55,780 >> Torej, to je kot našo lastno meri puzzle kos v nič. 1628 01:21:55,780 --> 01:21:58,830 Ustvarili smo kos funkcionalnost imenuje initMap, 1629 01:21:58,830 --> 01:22:00,980 in lahko nekako sklepati kaj se tukaj dogaja. 1630 01:22:00,980 --> 01:22:02,930 Na levi strani, imamo spremenljivko, 1631 01:22:02,930 --> 01:22:06,000 tako da bomo dal naslednje stvar znotraj te spremenljivke, 1632 01:22:06,000 --> 01:22:07,362 od desne proti levi. 1633 01:22:07,362 --> 01:22:11,940 Desna stran pa pravi, hej brskalnik, daj mi nov Googlov zemljevid. 1634 01:22:11,940 --> 01:22:16,490 In google.maps.map je samo funky način z navedbo, da je to funkcijo 1635 01:22:16,490 --> 01:22:19,790 spada v Google Maps. 1636 01:22:19,790 --> 01:22:23,010 >> Po oklepaju, smo videli že prej, hej brskalnik, dobili 1637 01:22:23,010 --> 01:22:29,210 mi elementi na stran je tag na strani, katere edinstven ID is-- 1638 01:22:29,210 --> 01:22:30,710 >> OBČINSTVO: [neslišno] 1639 01:22:30,710 --> 01:22:31,790 >> DAVID Malan: --map. 1640 01:22:31,790 --> 01:22:35,770 In kaj se dogaja, dobro, Ta linija skupaj, linija 23, 1641 01:22:35,770 --> 01:22:38,630 je v bistvu rekel, hej brskalnik, pojdi me 1642 01:22:38,630 --> 01:22:42,800 da prazni div na strani katere edinstven ID je zemljevid, 1643 01:22:42,800 --> 01:22:45,600 ker želim, da vstavite v it-- injicirati v to, 1644 01:22:45,600 --> 01:22:49,520 če will-- cel kup vsebin da se zgodi, da prihajajo iz spleta 1645 01:22:49,520 --> 01:22:50,427 naknadno. 1646 01:22:50,427 --> 01:22:52,010 In Google počne vse to za nas. 1647 01:22:52,010 --> 01:22:55,350 >> Še enkrat, na samem koncu dneva, imamo ta primer abstrakcije. 1648 01:22:55,350 --> 01:22:58,610 Nimam pojma, kaj je zemljevid ali kako izvajati API karto. 1649 01:22:58,610 --> 01:22:59,460 Mi ni treba. 1650 01:22:59,460 --> 01:23:02,740 Vedeti pa je treba povedati zemljevid kam se postaviti, in pusti 1651 01:23:02,740 --> 01:23:04,880 ki so podlaga izvajanja Podrobnosti o Googlu. 1652 01:23:04,880 --> 01:23:08,190 Zdaj je očitno dva kosa podatkov 1653 01:23:08,190 --> 01:23:11,940 da je ta primer je zagotavlja, da Google API. 1654 01:23:11,940 --> 01:23:16,450 Očitno središče zemljevida in raven zoom, tako rekoč. 1655 01:23:16,450 --> 01:23:21,390 >> In ali kdo prepozna te koordinate, širina in dolžina? 1656 01:23:21,390 --> 01:23:24,364 Verjetno ne, ampak lahko gremo nazaj na vajah, dobesedno videti. 1657 01:23:24,364 --> 01:23:25,780 Ampak bomo videli čez nekaj trenutkov. 1658 01:23:25,780 --> 01:23:29,880 Stopnja Zoom je vrednost med, ne vem veš, eno v 13 ali nekaj takega. 1659 01:23:29,880 --> 01:23:32,880 Samo je povezano s tem, kako daleč ste Povečano ali ven, in to je to. 1660 01:23:32,880 --> 01:23:35,690 In sedaj na samem koncu stran, obvestilo linija 29-- 1661 01:23:35,690 --> 01:23:39,960 da je malo grd, ker je wraps-- to vrstico kode 1662 01:23:39,960 --> 01:23:44,570 je tisto, kar prenese na Googlov brskalnik dejanska API. 1663 01:23:44,570 --> 01:23:47,500 Vse kode, ki Googlov inženirji so napisali, da je izvajanje 1664 01:23:47,500 --> 01:23:50,000 ves ta značilnost vdelati kart. 1665 01:23:50,000 --> 01:23:51,470 >> Zdaj pa ne spremeni ničesar. 1666 01:23:51,470 --> 01:23:54,761 Če ste po skupaj, iti naprej in samo shranite to datoteko, če si res imel 1667 01:23:54,761 --> 01:23:55,760 kar imam. 1668 01:23:55,760 --> 01:23:57,370 Pojdite na spletni naslov. 1669 01:23:57,370 --> 01:23:59,820 Lahko kliknite gumb Zaženi do vrha in da bo povedal 1670 01:23:59,820 --> 01:24:03,050 ti URL spletnega strežnika znova. 1671 01:24:03,050 --> 01:24:06,010 In vas bo vodila do novem zavihku. 1672 01:24:06,010 --> 01:24:11,910 Če kliknete Odpri za map.html, in verjetnost, da ste 1673 01:24:11,910 --> 01:24:15,520 bo dobil opozorilo, sporočilo o napaki, ja? 1674 01:24:15,520 --> 01:24:18,570 Sporočilo o napaki, sporočilo o napaki? 1675 01:24:18,570 --> 01:24:21,170 >> Torej, žal, je napaka Sporočilo ni tako prosveti 1676 01:24:21,170 --> 01:24:23,890 razen če dejansko odpre konzola, da poseben zavihek smo 1677 01:24:23,890 --> 01:24:27,110 hranijo odpiranje včeraj in malo že danes. 1678 01:24:27,110 --> 01:24:29,445 Ampak sem naletel to že prej, tako da sem že 1679 01:24:29,445 --> 01:24:30,820 pogruntal, kaj je rešitev. 1680 01:24:30,820 --> 01:24:34,440 V današnjem diapozitivov, ali ne, v Cloud9, obvestilo 1681 01:24:34,440 --> 01:24:36,430 da nismo storili nekaj namerno. 1682 01:24:36,430 --> 01:24:40,690 Opazimo, da je ta scenarij oznaka v linija 29, če ste prebrali to, 1683 01:24:40,690 --> 01:24:44,440 je kot maps.googleapis.com/~~pobj nekaj, nekaj, nekaj, 1684 01:24:44,440 --> 01:24:46,430 nato opazili nekoga, eden od razvijalcev, 1685 01:24:46,430 --> 01:24:50,040 je zapisal v vseh kapitala pisma, vaš ključ API. 1686 01:24:50,040 --> 01:24:51,700 >> Moramo prilepiti nekaj tam. 1687 01:24:51,700 --> 01:24:53,450 In to je bil korak Sem storil za nas pred, 1688 01:24:53,450 --> 01:24:57,190 in spet se lahko črno listo nam, če nenadoma, 12 ali več med nami 1689 01:24:57,190 --> 01:24:59,470 začeti uporabljati isti ključ, vendar pa da vidimo, kaj se dogaja. 1690 01:24:59,470 --> 01:25:03,030 Torej, če greš v današnjem tobogani, en slide kasneje pa je 1691 01:25:03,030 --> 01:25:07,070 Ta zelo funky izgleda niz besedila. 1692 01:25:07,070 --> 01:25:12,230 Pojdi naprej in kopirati samo to in prilepite kjer piše ključ API. 1693 01:25:12,230 --> 01:25:15,120 To je tisti, ki sem se prijavili za. 1694 01:25:15,120 --> 01:25:17,700 >> In zagotovo ne poskušajte ročno tipkanje ven, 1695 01:25:17,700 --> 01:25:21,210 ker se počuti polna z tipkarske napake, potencialno. 1696 01:25:21,210 --> 01:25:23,260 Torej, samo kopiraj in prilepi to. 1697 01:25:23,260 --> 01:25:26,090 In to se dogaja, da bi linijo več, ampak zdaj, samo da bo jasno, 1698 01:25:26,090 --> 01:25:29,540 da bi si malo bolj kot je ta, kadar ključ enaka ne 1699 01:25:29,540 --> 01:25:32,200 kapitalizirane kričati na vas. 1700 01:25:32,200 --> 01:25:34,810 Shranite stran, pojdite nazaj na drugo kartico, osvežite, 1701 01:25:34,810 --> 01:25:36,770 in upam, da si ogledate zemljevid, kje? 1702 01:25:36,770 --> 01:25:37,790 >> OBČINSTVO: Avstralija. 1703 01:25:37,790 --> 01:25:38,748 >> DAVID Malan: Avstralija. 1704 01:25:38,748 --> 01:25:41,200 Torej očitno tisti, so GPS koordinate Avstralije. 1705 01:25:41,200 --> 01:25:44,491 In mi hodi okrog za trenutek in pomaga vsakomur, ki ni čisto tam, 1706 01:25:44,491 --> 01:25:47,729 vendar naj predlaga, prek Googla, našli GPS koordinate svojem domačem kraju 1707 01:25:47,729 --> 01:25:48,770 ali svoje matične države. 1708 01:25:48,770 --> 01:25:51,436 In verjetno Google to lahko obrnejo navzgor ali Wikipedia ti lahko povem. 1709 01:25:51,436 --> 01:25:54,410 Toda izbrali dve različni vrednosti za zemljepisno širino in dolžino, 1710 01:25:54,410 --> 01:25:57,530 pojdi nazaj in jih prilepite, in Nato osvežite stran po shranjevanju 1711 01:25:57,530 --> 01:26:00,718 in videli, če lahko imajo karto za svoj domači kraj. 1712 01:26:00,718 --> 01:26:04,500 1713 01:26:04,500 --> 01:26:08,042 >> In ko ste končali s da, spremljanje challenge-- 1714 01:26:08,042 --> 01:26:11,250 in bom dal malo manj smer, namenoma, tako da vas namenoma 1715 01:26:11,250 --> 01:26:13,791 boriti za par minut z dokumentacijo, 1716 01:26:13,791 --> 01:26:18,740 spremenite zemljevid, da se tega ne risanki privzeto, vendar satelitski zemljevid. 1717 01:26:18,740 --> 01:26:24,600 Torej si dejansko videli satelit podobe namesto lepe barve. 1718 01:26:24,600 --> 01:26:29,710 >> In namig bom dal je spremeniti vrsto zemljevida. 1719 01:26:29,710 --> 01:26:33,084 Vrnite se, da postaja začel stran za navdih. 1720 01:26:33,084 --> 01:26:40,599 1721 01:26:40,599 --> 01:26:42,390 Kot ste lahko naberejo, če iščete, 1722 01:26:42,390 --> 01:26:44,250 obstaja toliko bolj stvari, ki jih lahko storite. 1723 01:26:44,250 --> 01:26:46,380 Nekateri od vas že spremenila Vrsto zemljevida. 1724 01:26:46,380 --> 01:26:49,890 Vendar pa lahko do-- na primer, naj me gre za nekaj, kar smo naredili za golf 1725 01:26:49,890 --> 01:26:52,050 I teach-- maps.cs50.net. 1726 01:26:52,050 --> 01:26:53,470 Eden od naših undergrads to storil. 1727 01:26:53,470 --> 01:26:58,890 Mi center našo karto preko Harvard Yard in prekritje vseh teh imen stavbe, 1728 01:26:58,890 --> 01:27:01,070 in smo mu dodali to. 1729 01:27:01,070 --> 01:27:04,270 Torej, če želim iskati, na primer Matthews Hall 1730 01:27:04,270 --> 01:27:05,730 imamo malo spustnem meniju. 1731 01:27:05,730 --> 01:27:09,080 In mislim, da je z uporabo Bootstrapa, na Knjižnica smo razpravljali prej za to. 1732 01:27:09,080 --> 01:27:12,190 In če kliknete na Matthews Hall, takoj 1733 01:27:12,190 --> 01:27:14,790 skoči zemljevid za določeno lokaciji, in kaže 1734 01:27:14,790 --> 01:27:16,440 si sliko v tej mali pop-up. 1735 01:27:16,440 --> 01:27:18,670 >> Toda tudi to malo pop-up, nismo izvajati. 1736 01:27:18,670 --> 01:27:27,521 Če bi se pomaknite navzdol na naši pridobivanje začel stran in iskati okna z informacijami, 1737 01:27:27,521 --> 01:27:29,770 boste videli, da so nekateri izmed funkcionalnost ti si 1738 01:27:29,770 --> 01:27:31,561 Lahko dodamo, čeprav z malo več kompleksnosti, 1739 01:27:31,561 --> 01:27:33,970 je nekaj, kar se imenuje okno z informacijami. 1740 01:27:33,970 --> 01:27:37,190 In če sem kliknite zgled tukaj, in to je tisto, kar je zabavno, 1741 01:27:37,190 --> 01:27:40,530 lahko narediš stvari, kot je ta, klikom na čuvaja in nato voila, 1742 01:27:40,530 --> 01:27:42,400 Podatki izskoči. 1743 01:27:42,400 --> 01:27:45,874 >> Torej nismo povsem uvedli dovolj značilnosti JavaScript 1744 01:27:45,874 --> 01:27:49,040 slikati sliko točno, kako vam lahko priključite vse te stvari skupaj, 1745 01:27:49,040 --> 01:27:50,706 vendar smo nekako na začetku. 1746 01:27:50,706 --> 01:27:53,140 V bistvu, kaj sem storil, ko Sem kliknil na ta marker, 1747 01:27:53,140 --> 01:27:55,819 je proženje je dogodek, na katerem ti na klik dogodek. 1748 01:27:55,819 --> 01:27:57,610 In smo dejansko videla Dogodek že danes, 1749 01:27:57,610 --> 01:28:00,670 ti predloži dogodek ko smo preprečili 1750 01:28:00,670 --> 01:28:02,490 uporabnik z iskanjem za mačke. 1751 01:28:02,490 --> 01:28:06,560 Torej smo nekako pobral in choosed med vsemi temi različnimi značilnostmi, 1752 01:28:06,560 --> 01:28:08,990 da vam občutek, upajmo, o tem, kaj lahko dejansko 1753 01:28:08,990 --> 01:28:11,000 storiti z malo več udobje v programiranju, 1754 01:28:11,000 --> 01:28:12,587 in popolnoma brezplačno viri. 1755 01:28:12,587 --> 01:28:15,856 1756 01:28:15,856 --> 01:28:18,770 >> Kakšno vprašanje? 1757 01:28:18,770 --> 01:28:19,790 Ne? 1758 01:28:19,790 --> 01:28:22,542 To je vaša končna priložnost, na vsaj danes, v petek, 1759 01:28:22,542 --> 01:28:25,000 da bi dobili vse, kar s svojega oprsja tako, da hodiš ven 1760 01:28:25,000 --> 01:28:27,067 občutek samozavestni in udobno. 1761 01:28:27,067 --> 01:28:27,566 Da. 1762 01:28:27,566 --> 01:28:29,740 >> OBČINSTVO: Zakaj ne dodate še eno stvar? 1763 01:28:29,740 --> 01:28:32,720 >> DAVID Malan: O moj bog. 1764 01:28:32,720 --> 01:28:35,260 Moram počivati ​​ta vikend, se mi zdi. 1765 01:28:35,260 --> 01:28:36,180 Druga vprašanja? 1766 01:28:36,180 --> 01:28:37,055 >> OBČINSTVO: [neslišno] 1767 01:28:37,055 --> 01:28:44,130 1768 01:28:44,130 --> 01:28:46,810 >> DAVID Malan: Ste can-- v Internet Explorer, počivaj v miru, 1769 01:28:46,810 --> 01:28:49,310 ki ste ga uporabili, da bi lahko dal VB scenarij, virtualni osnovni scenarij, 1770 01:28:49,310 --> 01:28:50,643 ampak to res ni prijela. 1771 01:28:50,643 --> 01:28:52,490 Torej kratek odgovor je le JavaScript. 1772 01:28:52,490 --> 01:28:55,144 1773 01:28:55,144 --> 01:28:55,810 Druga vprašanja? 1774 01:28:55,810 --> 01:28:58,427 1775 01:28:58,427 --> 01:28:59,760 Dobro, dobro, naj to storijo. 1776 01:28:59,760 --> 01:29:02,070 Naj zgrabi kolegom zunaj. 1777 01:29:02,070 --> 01:29:04,500 Imajo nekaj ocenjevanje oblike, ki jih želijo vsi 1778 01:29:04,500 --> 01:29:06,310 da preživijo nekaj minut, da izpolnite. 1779 01:29:06,310 --> 01:29:08,775 Želijo zbrati ta obrazec in vse opustitve, ki bi lahko imeli zunaj. 1780 01:29:08,775 --> 01:29:10,240 Oni imajo tudi certifikate. 1781 01:29:10,240 --> 01:29:12,380 Im 'ugibati obstaja še nekaj prigrizkov zunaj. 1782 01:29:12,380 --> 01:29:14,360 Naj mimo njih ven, in če vas kakršna koli vprašanja v tem času, 1783 01:29:14,360 --> 01:29:17,120 Hodil bom po bolj individualno in bomo lahko dobili ste začeli. 1784 01:29:17,120 --> 01:29:17,879 Seveda. 1785 01:29:17,879 --> 01:29:18,754 OBČINSTVO: [neslišno] 1786 01:29:18,754 --> 01:29:26,737 1787 01:29:26,737 --> 01:29:28,570 DAVID Malan: To je Običajno velja v teh dneh. 1788 01:29:28,570 --> 01:29:30,730 Zagotovo s spleta Programska oprema, ki jo nagibala 1789 01:29:30,730 --> 01:29:32,901 na druge, ste bodisi estetsko uporabo stvari 1790 01:29:32,901 --> 01:29:35,400 kot Bootstrap, tako da ne morajo izvajati nizko raven 1791 01:29:35,400 --> 01:29:37,169 podatki o menijih in gumbi in vse to. 1792 01:29:37,169 --> 01:29:39,210 Ste se naslanja na nekoga kot so Google, tako da vas 1793 01:29:39,210 --> 01:29:42,050 ne bi bilo treba zgraditi Uber poslovanje in poslovni kartiranje, 1794 01:29:42,050 --> 01:29:44,850 in poljubno število podobnih aplikacije, kot tudi. 1795 01:29:44,850 --> 01:29:46,350 >> Dejstvo je, prijave so zelo priljubljene, preveč. 1796 01:29:46,350 --> 01:29:48,500 Če ste se uporabljajo Spotify ali poljubno število spletnih strani, 1797 01:29:48,500 --> 01:29:51,210 boste prijavite v nekaterih spletne strani, ki uporabljajo Facebook. 1798 01:29:51,210 --> 01:29:53,350 Torej, kaj je lepo, tam so API za prijave 1799 01:29:53,350 --> 01:29:56,570 danes, tako da vam ni treba imeti svoj uporabnikom mizo 1800 01:29:56,570 --> 01:29:59,440 in vse svoje lastne baze podatkov nujno v enakem obsegu. 1801 01:29:59,440 --> 01:30:01,795 Lahko pustite Facebook storiti vse te kompleksnosti za vas. 1802 01:30:01,795 --> 01:30:03,920 Torej je razburljiv čas, pošteno, načrtovanja, 1803 01:30:03,920 --> 01:30:07,200 zato, ker obstaja toliko tretja oseba storitve, ki jih lahko gradijo na vrhu. 1804 01:30:07,200 --> 01:30:10,890 >> In spet, cena, ki jo plača je finančni ali izpadov. 1805 01:30:10,890 --> 01:30:13,750 Če Google gre dol, tako da ne Uber, verjetno, 1806 01:30:13,750 --> 01:30:15,690 vendar je morda, da je razumen kompromis. 1807 01:30:15,690 --> 01:30:18,040 In spet, da je bila ena od tem, upajmo, za zadnjih nekaj dni, 1808 01:30:18,040 --> 01:30:18,780 se ti kompromisi. 1809 01:30:18,780 --> 01:30:20,738 In redko se tam dogaja da je pravi odgovor. 1810 01:30:20,738 --> 01:30:25,700 Res je bolje iz dveh ali več odgovorov. 1811 01:30:25,700 --> 01:30:26,682 >> Mimo teh okoli. 1812 01:30:26,682 --> 01:30:36,830 1813 01:30:36,830 --> 01:30:41,110 >> In ti Cloud9 računi bodo še naprej za delo, v teoriji, v ustaljen. 1814 01:30:41,110 --> 01:30:45,000 Morda boste našli, če počakate nekaj dni ali teden ali več, da se prijavite nazaj v njih, 1815 01:30:45,000 --> 01:30:49,170 to lahko traja kot eden ali pet minut, da se odpre nazaj, 1816 01:30:49,170 --> 01:30:54,090 ampak to je samo zato, ker so mu da spati, da shranite na vire. 1817 01:30:54,090 --> 01:31:10,527