1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> DAVID Humala: Olgu, me oleme tagasi. 3 00:00:01,560 --> 00:00:03,830 Nii põnev Kokkuvõttes on meie viimane osa 4 00:00:03,830 --> 00:00:06,900 veebi programmeerimine, mis ma arvasin, et me tahaks kasutada üldmõistena 5 00:00:06,900 --> 00:00:08,440 jäädvustada mõned allesjäänud teemasid. 6 00:00:08,440 --> 00:00:10,390 Nii et lõpuks päev, siis me tegelikult teha 7 00:00:10,390 --> 00:00:14,830 natuke käed-veebi programmeerimine keelega nimetatakse JavaScript. 8 00:00:14,830 --> 00:00:17,510 Ja ma arvan, et me vaatleme millegi seotud pildid 9 00:00:17,510 --> 00:00:20,040 ja avastanud midagi salaja peidetud pilt, 10 00:00:20,040 --> 00:00:23,230 ja ka heita pilk Google Maps API, rakendusliidese 11 00:00:23,230 --> 00:00:26,040 interface, kui midagi esindaja tüüpi tarkvara 12 00:00:26,040 --> 00:00:28,800 see on üha ja vabalt kättesaadavad juba täna. 13 00:00:28,800 --> 00:00:32,029 >> Aga miks me ei võta pilk kell koostisosa selles maailmas 14 00:00:32,029 --> 00:00:34,070 et me oleme omamoodi olnud võttes iseenesestmõistetavana olemas 15 00:00:34,070 --> 00:00:36,720 juba mõnda aega, andmebaasi. 16 00:00:36,720 --> 00:00:39,150 Viimase päeva ja pool oleme eeldada 17 00:00:39,150 --> 00:00:42,910 et meil on juurdepääs andmebaasi, kuid Mis probleem ei andmebaasis lahendada? 18 00:00:42,910 --> 00:00:45,540 Mida see teeb meie jaoks? 19 00:00:45,540 --> 00:00:47,030 Mis see on? 20 00:00:47,030 --> 00:00:48,679 >> Publik: [kuuldamatu] 21 00:00:48,679 --> 00:00:51,720 DAVID Humala: hoiab kõiki andmeid, OK, ja milliseid andmeid 22 00:00:51,720 --> 00:00:53,186 Võib paned seda? 23 00:00:53,186 --> 00:00:54,590 >> Publik: [kuuldamatu] 24 00:00:54,590 --> 00:00:56,450 >> DAVID Humala: Igasugune teave paned ta, saad tagasi. 25 00:00:56,450 --> 00:00:57,070 See on tõsi. 26 00:00:57,070 --> 00:01:01,900 Ja tüüpiline veebipõhine kohapeal või veebi taotluse, millist liiki teavet, 27 00:01:01,900 --> 00:01:03,385 Konkreetsemalt võib paned? 28 00:01:03,385 --> 00:01:04,260 Publik: [kuuldamatu] 29 00:01:04,260 --> 00:01:05,051 DAVID Humala: Kasutajad. 30 00:01:05,051 --> 00:01:07,000 Mis siis kasutaja? 31 00:01:07,000 --> 00:01:09,765 >> Publik: [kuuldamatu] 32 00:01:09,765 --> 00:01:11,640 DAVID Humala: OK, registreeritud objekti kasutaja. 33 00:01:11,640 --> 00:01:15,100 Ja mida see tähendab, et poest kasutajate informatsiooni? 34 00:01:15,100 --> 00:01:17,260 Mis komponeerib kasutaja? 35 00:01:17,260 --> 00:01:18,331 Kasutajal on mis? 36 00:01:18,331 --> 00:01:19,206 Publik: [kuuldamatu] 37 00:01:19,206 --> 00:01:21,040 DAVID Humala: Jah, isiklik andmed, ja mulle meeldib, et. 38 00:01:21,040 --> 00:01:21,970 Olgem täpsem. 39 00:01:21,970 --> 00:01:25,275 Nii kasutaja tavaliselt on nimi, mida veel võiks kasutaja on? 40 00:01:25,275 --> 00:01:26,150 Publik: [kuuldamatu] 41 00:01:26,150 --> 00:01:29,130 DAVID Humala: an addr-- OK, nii eesnimi, perekonnanimi. 42 00:01:29,130 --> 00:01:29,630 See on hea. 43 00:01:29,630 --> 00:01:31,463 Tegelikult olgem määrata et kuna see läheb 44 00:01:31,463 --> 00:01:35,010 avada võimaluse arutelu, veel täiendavalt. 45 00:01:35,010 --> 00:01:39,090 Eesnimi, perekonnanimi, sugu. 46 00:01:39,090 --> 00:01:41,820 47 00:01:41,820 --> 00:01:43,481 ID mingisugune. 48 00:01:43,481 --> 00:01:43,980 Mida veel? 49 00:01:43,980 --> 00:01:45,438 Kuulsin midagi enne ka. 50 00:01:45,438 --> 00:01:51,600 E-posti, posti aadressi. 51 00:01:51,600 --> 00:01:58,170 >> Nii saab peatada seal ja nüüd kaaluma mitte seda, mida me salvestamise andmebaasis 52 00:01:58,170 --> 00:02:01,980 Aga-- mitte miks, sest see on võib-olla ilmne, et kui sa registreerid kasutaja, 53 00:02:01,980 --> 00:02:03,730 soovite mäleta neid mõnda aega. 54 00:02:03,730 --> 00:02:05,480 Sa ei taha, et see lihtsalt salvestatakse RAM 55 00:02:05,480 --> 00:02:08,690 ja olla forgotten-- nii olgem keskenduda, kuidas. 56 00:02:08,690 --> 00:02:11,700 >> Selgub, et maailma andmebaasid 57 00:02:11,700 --> 00:02:14,410 seal vähemalt kahte tüüpi nendel päevadel. 58 00:02:14,410 --> 00:02:20,010 Midagi nimetatakse SQL andmebaasi, Structured Query Language, 59 00:02:20,010 --> 00:02:24,770 või cutely nimega, NoSQL, mis ei ole SQL. 60 00:02:24,770 --> 00:02:26,980 Ja viimane on Näiteks, mida võiks 61 00:02:26,980 --> 00:02:30,660 nimetada objektorienteeritud, või objekti poe andmebaasi 62 00:02:30,660 --> 00:02:36,010 mis talletab objektid ja ei, vabandust mind, nagu me varsti näeme, rida. 63 00:02:36,010 --> 00:02:41,800 >> Nii me keskenduda vaid hetkeks Neist esimese, nimelt SQL 64 00:02:41,800 --> 00:02:46,850 andmebaasi, kui ainult, sest see on nii tuttav juba, et keegi 65 00:02:46,850 --> 00:02:51,070 kes on kasutanud Exceli või Google lehed ja Apple 66 00:02:51,070 --> 00:02:53,740 Numbrit ega standard tabelarvutusprogrammi, 67 00:02:53,740 --> 00:02:56,040 või võrreldavalt või rohkem sophisticatedly, 68 00:02:56,040 --> 00:02:58,610 midagi nagu Microsoft Access või Oracle 69 00:02:58,610 --> 00:03:03,890 või MySQL või PostgreSQL, mis kõik on toote nimed rakendused 70 00:03:03,890 --> 00:03:04,865 järgmistest idee. 71 00:03:04,865 --> 00:03:10,350 >> Relatsioonandmebaasile on lihtsalt midagi, millel on read ja veerud. 72 00:03:10,350 --> 00:03:12,850 Ja read ja veerud, Ma sõna otseses mõttes midagi tähendama 73 00:03:12,850 --> 00:03:21,860 nagu see, et kus me võiks olla nime valdkonnas ja selle tüübi siin. 74 00:03:21,860 --> 00:03:25,800 Ja tegelikult, las ma Nüüd hakkavad kaardistada. 75 00:03:25,800 --> 00:03:29,420 Seega tegelikult ma ei tea miks ma joonistasin omaette diagrammi. 76 00:03:29,420 --> 00:03:30,780 Hoidkem seda lihtne. 77 00:03:30,780 --> 00:03:34,830 >> Meil on õigus siin algus meie lauda, ​​kus 78 00:03:34,830 --> 00:03:40,150 see on nimi valdkonnas ja see on andmetüüp, 79 00:03:40,150 --> 00:03:41,660 ja tüübi järgi mõtlen järgmise. 80 00:03:41,660 --> 00:03:45,510 Kas see number on seda jada, lühikese string nagu sõna, 81 00:03:45,510 --> 00:03:49,340 on see punkt, on see binaarandmete, nagu pildi? 82 00:03:49,340 --> 00:03:51,980 Ja olgem lihtsalt kiusupunn see peale hetkeks. 83 00:03:51,980 --> 00:03:57,575 Nii esimene nimi, telefoninumber, string, suure tüki text-- 84 00:03:57,575 --> 00:03:58,450 Publik: [kuuldamatu] 85 00:03:58,450 --> 00:03:59,616 DAVID Humala: Jah, nii string. 86 00:03:59,616 --> 00:04:04,744 Ja andmebaasis kontekstis, jagame tavaliselt nimetame seda char valdkonnas. 87 00:04:04,744 --> 00:04:07,660 Ma lihtsalt ütlen char nüüd aga oleme läheb täpsustada seda korraks. 88 00:04:07,660 --> 00:04:09,180 Märkide valdkonnas. 89 00:04:09,180 --> 00:04:11,365 Viimane nimi on ilmselt sama. 90 00:04:11,365 --> 00:04:11,865 Sugu? 91 00:04:11,865 --> 00:04:16,230 92 00:04:16,230 --> 00:04:18,310 >> Mees või naine, nii et see võiks olla char valdkonnas. 93 00:04:18,310 --> 00:04:21,380 See võib olla kas tsiteerida, lõppeb "Mees" või tsiteerida, lõppeb "naiste" 94 00:04:21,380 --> 00:04:23,650 või see võib olla m või f. 95 00:04:23,650 --> 00:04:26,540 Kui soovite olla kaasav, Sul vaja kolmandat väärtus 96 00:04:26,540 --> 00:04:28,640 või mingi muu valdkonnas hoopis. 97 00:04:28,640 --> 00:04:31,350 Ja nii võid kasutada tõsi vale. 98 00:04:31,350 --> 00:04:35,036 Valdkonnas võiks nimetada mees, ja siis võiks öelda, õige või vale. 99 00:04:35,036 --> 00:04:38,160 Aga see ei pruugi lüüa kõik andmed, mida tahta. 100 00:04:38,160 --> 00:04:41,118 >> Nii selgub seal on teist tüüpi on valdkond, mis võib olla kasulik siin 101 00:04:41,118 --> 00:04:46,040 tüüpilises andmebaas, mida nimetatakse ENUMi, kus see on märk valdkonnas, 102 00:04:46,040 --> 00:04:50,480 aga sa, disainer, saada loetleda võimalikud väärtused, 103 00:04:50,480 --> 00:04:54,630 tsiteerida, lõppeb "mees", tsiteerida, lõppeb "naiste" ja nii edasi. 104 00:04:54,630 --> 00:04:57,620 Nii et mida iganes väärtus on oma andmebaasi, 105 00:04:57,620 --> 00:05:00,670 on tõepoolest Märgipõhiste, kuid see peab olema üks neist väärtustest. 106 00:05:00,670 --> 00:05:03,520 Me ilmselt ei taha ENUMi eest eesnimi või perekonnanimi. 107 00:05:03,520 --> 00:05:05,630 Vastasel juhul oleks meil loetleda, nagu nimigi 108 00:05:05,630 --> 00:05:09,570 tuleneb, sõna otseses mõttes iga võimalik ees- ja perekonnanimi. 109 00:05:09,570 --> 00:05:13,960 >> OK, nii ID milline peaks ID-olla? 110 00:05:13,960 --> 00:05:15,200 Jah, nii võib-olla mitmeid. 111 00:05:15,200 --> 00:05:17,870 Nii saab jääda et nüüd, number. 112 00:05:17,870 --> 00:05:22,010 Ja number, number on natuke liiga lai nüüd. 113 00:05:22,010 --> 00:05:23,900 Suhe lõpuks teise päev, ma tunnen, et me 114 00:05:23,900 --> 00:05:25,280 tuleks vähe täpsemaks. 115 00:05:25,280 --> 00:05:29,280 Number võib tähendada, nagu see võiks olla midagi sellist 1,236. 116 00:05:29,280 --> 00:05:31,500 Ja et ilmselt ei ole mida me mõistame ID. 117 00:05:31,500 --> 00:05:34,635 Mida me ilmselt silmas ID? 118 00:05:34,635 --> 00:05:36,382 >> Publik: [kuuldamatu] 119 00:05:36,382 --> 00:05:38,590 DAVID Humala: Oh, OK, nii võibolla see ei ole isegi mitu. 120 00:05:38,590 --> 00:05:42,840 Võib-olla see on tegelikult kordumatu tunnus see on string, nagu kasutaja nime. 121 00:05:42,840 --> 00:05:44,580 Nii absoluutselt, võiks olla. 122 00:05:44,580 --> 00:05:46,730 Ma arvan, et keegi ilmselt tähendas numbriline, kuigi. 123 00:05:46,730 --> 00:05:48,460 Nii jäägem selle. 124 00:05:48,460 --> 00:05:49,320 Millist number? 125 00:05:49,320 --> 00:05:51,960 Mis on rohkem precise-- täisarv. 126 00:05:51,960 --> 00:05:56,710 Nii mitmeid nagu 0, 1, 2, 3, nii me nimetame seda täisarv. 127 00:05:56,710 --> 00:05:58,909 Ja isegi siis, suutsin saab Syynääminen, see on 128 00:05:58,909 --> 00:06:00,700 ei tõesti ainult Üldiselt täisarv soovite. 129 00:06:00,700 --> 00:06:04,340 Sa ilmselt ei taha negatiivsed väärtused, lihtsalt sellepärast, et see lihtsalt tundub imelik. 130 00:06:04,340 --> 00:06:06,070 Sa ilmselt tahad positiivset täisarvu. 131 00:06:06,070 --> 00:06:07,920 Nii saab väljendada ka et Andmebaasis 132 00:06:07,920 --> 00:06:09,450 kuid nüüd, me ütleme täisarv. 133 00:06:09,450 --> 00:06:10,650 >> E-? 134 00:06:10,650 --> 00:06:13,550 See on ilmselt lihtsalt-- Misasi? 135 00:06:13,550 --> 00:06:14,460 >> Publik: [kuuldamatu] 136 00:06:14,460 --> 00:06:16,980 >> DAVID Humala: See e-posti, aga see on märki, eks? 137 00:06:16,980 --> 00:06:19,813 See lihtsalt on funky iseloomu nagu "at" sümbol või midagi muud, 138 00:06:19,813 --> 00:06:21,580 kuid see on ikka iseloomu valdkonnas. 139 00:06:21,580 --> 00:06:23,900 Ja postiaadress? 140 00:06:23,900 --> 00:06:25,360 Märkide valdkonnas. 141 00:06:25,360 --> 00:06:31,400 Nii et see kena algus, kuid olgem veidi täpsem nüüd. 142 00:06:31,400 --> 00:06:34,540 >> Nii selgub, et andmebaasi, siis sageli 143 00:06:34,540 --> 00:06:39,120 on valik rohkem rafineeritud versioonid nendest asjadest. 144 00:06:39,120 --> 00:06:44,330 Tegelikult tüüpilises SQL andmebaas, SQL, või üldisemalt relatsioonandmebaasile, 145 00:06:44,330 --> 00:06:46,680 andmebaase rida ja veerud, siis sageli 146 00:06:46,680 --> 00:06:53,610 saada mitte ainult kindla tüübi field-- las ma tegema ruumi siin-- 147 00:06:53,610 --> 00:06:56,600 vaid ka pikkus. 148 00:06:56,600 --> 00:06:59,900 >> Kui kaua on eesnimi? 149 00:06:59,900 --> 00:07:07,060 Ma arvan, D-A-V-I-D. OK, sain ma ilmselt lihtsalt solvunud nagu pool 150 00:07:07,060 --> 00:07:11,260 inimesed ruumis, paremale, kuna teie nimed on enam kui viis 151 00:07:11,260 --> 00:07:16,608 tähed, nii viis tundub veidi isekas ja naiivne, et mis on parem väärtus? 152 00:07:16,608 --> 00:07:19,320 153 00:07:19,320 --> 00:07:24,330 10, eks, ja ma arvan, me OK ruumis. 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 Miks ma ei võta lähenemisviisi varem, kui me 157 00:07:29,540 --> 00:07:31,081 rääkisid massiivid ja mälu? 158 00:07:31,081 --> 00:07:32,450 Miks ma ei öelda nagu 1000? 159 00:07:32,450 --> 00:07:35,260 Keegi nimi läheb olema pikem kui 1000. 160 00:07:35,260 --> 00:07:36,706 Lükka tagasi. 161 00:07:36,706 --> 00:07:38,005 >> Publik: [kuuldamatu] 162 00:07:38,005 --> 00:07:40,130 DAVID Humala: Jah, see on raiskav, paremale, eriti 163 00:07:40,130 --> 00:07:44,630 Kui enamik nimed on ainult viis või 10 või 15 märki, et on väga raiskav. 164 00:07:44,630 --> 00:07:45,810 Nii et sa tead, mida? 165 00:07:45,810 --> 00:07:48,020 See on omamoodi raske küsimus. 166 00:07:48,020 --> 00:07:51,721 Nüüd saame kindlasti analüüsida English ja mis tahes muu keel nimed 167 00:07:51,721 --> 00:07:54,470 ja aru saada, noh, mis on average-- keskmine ei ole tegelikult 168 00:07:54,470 --> 00:07:57,150 aidata us-- milline on max ilmselt mida me tõesti tahame. 169 00:07:57,150 --> 00:07:59,920 Aga selgub, meil on isegi mõned valik üle tüüp siin. 170 00:07:59,920 --> 00:08:03,400 >> Tüüpilises SQL andmebaasi, siis on midagi, mida nimetatakse char valdkonnas 171 00:08:03,400 --> 00:08:07,505 ja ka varchar, V-A-R, muutuja char valdkonnas. 172 00:08:07,505 --> 00:08:08,630 Ja vahe on see. 173 00:08:08,630 --> 00:08:12,400 Char valdkonnas, siis projekteerija, pea eelnevalt täpsustama 174 00:08:12,400 --> 00:08:14,900 täpne pikkus valdkonnas. 175 00:08:14,900 --> 00:08:20,530 Ehk eesnimi nagu 20 tundub selline ohutu. 176 00:08:20,530 --> 00:08:23,950 Võib-olla teha mõned googeldamist kuni kas see on tegelikult piisavalt ohutu. 177 00:08:23,950 --> 00:08:26,910 Seal on ilmselt nime 21 märki, kuid nüüd oletame, 20 178 00:08:26,910 --> 00:08:27,620 on ohutu. 179 00:08:27,620 --> 00:08:30,070 >> Char valdkonnas tähendaks andmebaasis, mida sa 180 00:08:30,070 --> 00:08:33,289 kasutavad 20 ja alati 20 tähemärki. 181 00:08:33,289 --> 00:08:37,419 Nüüd, kui see on lihtsalt D-A-V-I-D, neist 15 lihtsalt läheb tühjaks märki, 182 00:08:37,419 --> 00:08:40,450 aga sa ikka kasutades kõiki 20 baiti. 183 00:08:40,450 --> 00:08:46,302 Varchar valdkonnas seevastu tähendab string olema kuni 20 tähemärki 184 00:08:46,302 --> 00:08:48,260 aga kui see on ainult viis, sa ainult kavatse kasutada 185 00:08:48,260 --> 00:08:51,270 viis, või ehk kuue jaoks eriline väärtus lõpus, 186 00:08:51,270 --> 00:08:54,980 niimoodi 0 arutasime, et tähistab lõppu iseloomu 187 00:08:54,980 --> 00:08:56,790 järjestuse mällu. 188 00:08:56,790 --> 00:08:59,950 >> Nii et kui sa arvad võite valida char 189 00:08:59,950 --> 00:09:05,240 versus varchar, arvestades, et kompromiss? 190 00:09:05,240 --> 00:09:09,321 Char kasutab nii palju tähti, varchar kasutab mitte enamat palju märke. 191 00:09:09,321 --> 00:09:10,196 Publik: [kuuldamatu] 192 00:09:10,196 --> 00:09:13,859 193 00:09:13,859 --> 00:09:16,900 DAVID Humala: OK, kui sa tead stringi pikkusena päris kaalukad 194 00:09:16,900 --> 00:09:19,316 lihtsalt kasutada sütt, sest kui sa tead seda, lihtsalt pane see alla. 195 00:09:19,316 --> 00:09:23,390 Ja võib-olla see on tõsi zip kood, USA, vähemalt, 02138, 196 00:09:23,390 --> 00:09:26,660 see on alati saab olema viis tähemärki, kuni lisate kriips neli. 197 00:09:26,660 --> 00:09:29,750 Aga sa võisid mõned väärtused mis sa alati teada, pikkus. 198 00:09:29,750 --> 00:09:32,310 Või äkki riigi sümbolid, nagu NY New York, 199 00:09:32,310 --> 00:09:33,811 ja MA Massachusetts USA. 200 00:09:33,811 --> 00:09:36,560 Võib-olla sa ei ole teatud olukordades kus see on täiesti põhjendatud, 201 00:09:36,560 --> 00:09:39,520 kuid selle loogika, miks me isegi overthinking seda? 202 00:09:39,520 --> 00:09:41,800 Miks me lihtsalt ei kasuta varchar ja siis me lihtsalt 203 00:09:41,800 --> 00:09:46,730 kasutage alati kaks märki niikuinii, või alati kasutada viis tähemärki ikkagi? 204 00:09:46,730 --> 00:09:50,300 Miks mitte lihtsalt säästa varchar eest kõike, mida see loogika? 205 00:09:50,300 --> 00:09:51,677 Ei tohi olla saagi. 206 00:09:51,677 --> 00:09:52,552 Publik: [kuuldamatu] 207 00:09:52,552 --> 00:09:54,952 208 00:09:54,952 --> 00:09:56,660 DAVID Humala: kas kirjutada midagi valesti. 209 00:09:56,660 --> 00:09:58,090 Nii et see on tõsi. 210 00:09:58,090 --> 00:10:01,030 Aga isegi siis, nad ei saa kasutada rohkem mälu kui ma eraldada. 211 00:10:01,030 --> 00:10:03,340 Mul on veel lõplik öelda pikkuse, 212 00:10:03,340 --> 00:10:06,780 nii et nad ei saa kogemata teha mis viga, aga hea mõte. 213 00:10:06,780 --> 00:10:10,510 See on peenem, kuid see on väga seotud meie arutelu, tegelikult massiivid 214 00:10:10,510 --> 00:10:12,390 ja ahelloendid varem. 215 00:10:12,390 --> 00:10:16,290 >> Selgub, et andmebaasi, kui ta teab, et kõik väärtused on 216 00:10:16,290 --> 00:10:19,250 fikseeritud pikkusega, isegi kui mõned neist väärtustest on tühi, 217 00:10:19,250 --> 00:10:22,484 omamoodi esteetiliselt tühi, D-A-V-I-D ja siis 15 toorikud, 218 00:10:22,484 --> 00:10:24,650 Selgub, et kui iga valdkonnas on ühepikkused, 219 00:10:24,650 --> 00:10:28,670 palju nagu massiivi olid kõik tema asjad seljad et seljad et 220 00:10:28,670 --> 00:10:33,480 võid lihtsalt pluss 1, et saada järgmine väärtus, sama mõte andmebaasi tabelisse. 221 00:10:33,480 --> 00:10:37,550 Kui kõik oma iseloomu stringid on sama pikk, 222 00:10:37,550 --> 00:10:39,390 teil on, mida nimetatakse muutmälu. 223 00:10:39,390 --> 00:10:41,850 Kui kõik stringid on pikkus 20, siis ei ole lihtsalt 224 00:10:41,850 --> 00:10:45,230 teha pluss 1 sa lihtsalt teha pluss 20 pluss 20 pluss 20 pluss 20, 225 00:10:45,230 --> 00:10:48,775 ja saab väga kiiresti kerida või otsida läbi kõik oma andmed. 226 00:10:48,775 --> 00:10:54,420 >> Muutuva paalia valdkonnas seevastu ei pea alati 20 tähemärki. 227 00:10:54,420 --> 00:10:58,000 See võib olla 20 ja seejärel 15 ja siis 19 ja siis 10, 228 00:10:58,000 --> 00:11:00,720 ja nii et kui soovite otsida läbi, sa ei saa lihtsalt pimesi 229 00:11:00,720 --> 00:11:03,050 lisada 20 baiti, et saada järgmise üks. 230 00:11:03,050 --> 00:11:07,280 Sa sõna otseses mõttes pea otsima läbi sest serva andmestruktuur, 231 00:11:07,280 --> 00:11:08,340 kui soovite, on narmendav. 232 00:11:08,340 --> 00:11:11,480 See liik läheb sisse ja välja, mis põhineb tegeliku stringi pikkusena. 233 00:11:11,480 --> 00:11:14,460 Nii et kui sa tead, pikkus, kui Kareem ütleb, kasutage char valdkonnas, 234 00:11:14,460 --> 00:11:16,460 sest sa saada, et efektiivsus on 235 00:11:16,460 --> 00:11:19,170 võimalik otsida neist kiiremini Kui otsite andmeid, 236 00:11:19,170 --> 00:11:20,550 muul viisil kasutada muutuja. 237 00:11:20,550 --> 00:11:24,450 >> Kahjuks ei ole mul hea vastus kui kaua nimi peaks olema, 238 00:11:24,450 --> 00:11:26,360 kuid midagi Nime, ma ütleks 239 00:11:26,360 --> 00:11:28,470 varchar on ühine sest ta ei kavatse 240 00:11:28,470 --> 00:11:30,430 olema fikseeritud pikkusega kõigile. 241 00:11:30,430 --> 00:11:33,650 20, ma ei tea, 20 tunneb veidi kitsas. 242 00:11:33,650 --> 00:11:36,460 Ütleme nii, et 50, 50. 243 00:11:36,460 --> 00:11:39,210 See ei ole tegelikult maksab teile, et palju öelda 50 asemel 40, 244 00:11:39,210 --> 00:11:41,260 kuid mingil hetkel pead teha otsuse kõne. 245 00:11:41,260 --> 00:11:43,090 >> Väga sageli, otsekoheselt, jaoks [? ajalooliste?] 246 00:11:43,090 --> 00:11:47,670 põhjustel, kuigi see on liiga suur, ehk 255, sest mõni aeg tagasi, 247 00:11:47,670 --> 00:11:51,440 populaarne andmebaasi süsteemid, nagu MySQL, tasuta avatud lähtekoodiga tööriista 248 00:11:51,440 --> 00:11:53,790 et palju ettevõtteid nagu ka Facebook kasutatud, 249 00:11:53,790 --> 00:11:56,654 See oli suurim vaikimisi et inimesed lihtsalt läks sellega. 250 00:11:56,654 --> 00:11:59,070 Nii ei ole mõistlik, kuid me kasutada veidi rohkem intuitsiooni 251 00:11:59,070 --> 00:12:02,970 ja öelda, kindlasti 50, mis on ilmselt natuke liiga suur. 252 00:12:02,970 --> 00:12:05,720 >> Sugu, ma nagu ENUMi, ja nii saame seega 253 00:12:05,720 --> 00:12:08,760 loetleda mees või naine, või äkki tõhusamalt 254 00:12:08,760 --> 00:12:13,420 m või f või mõne muu sümbolimääratlus, kuid ENUMi tundub hea valik seal. 255 00:12:13,420 --> 00:12:16,740 Et asi oleks selge, sugu võiks lihtsalt olla varchar 256 00:12:16,740 --> 00:12:19,090 ja saime ainult kõik lepivad kokku toredaid inimesi, 257 00:12:19,090 --> 00:12:21,010 alati panna samu väärtusi seal. 258 00:12:21,010 --> 00:12:22,720 Mees või naine või tühi-tähi. 259 00:12:22,720 --> 00:12:27,800 >> Aga probleem siis, et me võiks teed vea, kui [kuuldamatu] pakutud 260 00:12:27,800 --> 00:12:29,140 varem teises kontekstis. 261 00:12:29,140 --> 00:12:32,780 Kui me teeme vea, võiksime saada vale väärtused meie andmebaasis. 262 00:12:32,780 --> 00:12:36,320 Mis siis tore andmebaasid nagu Oracle ja MySQL ja teised, 263 00:12:36,320 --> 00:12:39,280 on see, et sul on see viimane kihi kaitse, kus 264 00:12:39,280 --> 00:12:43,010 Teie DBA, andmebaasi administraator, kes on projekteerimisel seda tabelit, nagu me 265 00:12:43,010 --> 00:12:46,440 verbaalselt, võiks panna paika ENUMi et 266 00:12:46,440 --> 00:12:51,250 kaitseb, et määrates mehed, naised, ja et keegi 267 00:12:51,250 --> 00:12:54,230 muidu ei programmeerija saab kogemata lisada tahes muu väärtusega. 268 00:12:54,230 --> 00:12:55,480 Nii et see oleks hea. 269 00:12:55,480 --> 00:12:56,660 See on funktsioon. 270 00:12:56,660 --> 00:13:00,760 >> Nii ID, eeldades numbriline ID, see ilmselt peaks olema positiivne täisarv. 271 00:13:00,760 --> 00:13:04,380 Ja mõnikord me teeme on võimaluse arutada pikkus. 272 00:13:04,380 --> 00:13:06,830 Sa ei tavaliselt täpsustada mitmeid siin 273 00:13:06,830 --> 00:13:11,310 siis oleks selle asemel määrata see on int, või suur int, 274 00:13:11,310 --> 00:13:12,980 nagu nad tavaliselt nimetatakse. 275 00:13:12,980 --> 00:13:18,840 Aga tavaliselt, täisarv oleks, oletame, 4 baiti. 276 00:13:18,840 --> 00:13:23,694 Ja kui see on 4 baiti, see, kuidas paljud bitti? 277 00:13:23,694 --> 00:13:24,630 >> Publik: [kuuldamatu] 278 00:13:24,630 --> 00:13:26,610 >> DAVID Humala: 32 bitti. 279 00:13:26,610 --> 00:13:30,270 Niisiis, kuidas paljud kasutajad saavad meil Meie andmebaasis, kui nad kõik on ID 280 00:13:30,270 --> 00:13:33,320 ja see ID peab olema unikaalne? 281 00:13:33,320 --> 00:13:36,780 32 bitti tähendab, et oleme mustrid ühe, kahe, kolme, nelja, five-- 282 00:13:36,780 --> 00:13:41,000 nii, kui palju erinevaid mustreid nulli ja need võivad teil on, kui seal on 32? 283 00:13:41,000 --> 00:13:43,235 See on sama asi nagu küsida, mida on kaks kuni 32? 284 00:13:43,235 --> 00:13:46,472 285 00:13:46,472 --> 00:13:48,430 See on suur number, et Ma ei ole päris saada õigus, 286 00:13:48,430 --> 00:13:50,270 aga ma tean, et see umbes 4 miljardit. 287 00:13:50,270 --> 00:13:53,970 Nii et see tähendab, et teie andmebaasi tabeli saab on neli miljard kasutajat ja ongi. 288 00:13:53,970 --> 00:13:56,410 >> Nii et see on huvitav disain mõjuta. 289 00:13:56,410 --> 00:14:00,840 Korralik ettevõtete arv on otsustanud, võibolla mitte niivõrd 290 00:14:00,840 --> 00:14:04,860 nende kasutajate tabelis, sest on 4 miljardit kasutajad on haruldane probleem. 291 00:14:04,860 --> 00:14:08,410 See on omamoodi Facebook stiilis probleem, mitte tüüpiline firma probleem. 292 00:14:08,410 --> 00:14:12,670 Aga võib-olla, kui teil on tehingute registrid või mingi andmeid, mis pidevalt 293 00:14:12,670 --> 00:14:15,610 saab kirjutatud oma andmebaasi et absoluutselt võiks olla miljardeid 294 00:14:15,610 --> 00:14:18,900 ja miljardeid reas ning kasutate täisarv seda, 295 00:14:18,900 --> 00:14:22,750 Mis juhtub nii kiiresti kui saad rea number 4 miljardit 296 00:14:22,750 --> 00:14:26,210 ja siis proovida sisestada 4000000000. ja 1, nii et rääkida? 297 00:14:26,210 --> 00:14:29,610 Ma lihtsustada numbrid natuke. 298 00:14:29,610 --> 00:14:33,740 >> Võite kärpida, ma mõtlen sulle pea hakkama kuidagi. 299 00:14:33,740 --> 00:14:37,910 Ja milline arvuti on tavaliselt teevad, mõtle selle peale isegi täna hommikul 300 00:14:37,910 --> 00:14:42,430 kui sul on 4-bitine väärtus nagu 1, 1, 1, 1, mis saavutab 301 00:14:42,430 --> 00:14:44,920 lihtsalt siduda hommikul koos pärastlõunal, mida 302 00:14:44,920 --> 00:14:48,369 see number esindavad binaarne? 303 00:14:48,369 --> 00:14:49,410 OK, me oleks lihtsam. 304 00:14:49,410 --> 00:14:53,310 Mida see number esindavad binaarne? 305 00:14:53,310 --> 00:14:56,794 OK, me oleks lihtsam, mida see esindavad binaarne? 306 00:14:56,794 --> 00:14:57,460 Publik: Kolm. 307 00:14:57,460 --> 00:14:59,670 DAVID Humala: Kolm, sest meil on need column-- 308 00:14:59,670 --> 00:15:00,450 [NAER] 309 00:15:00,450 --> 00:15:01,350 Huh! 310 00:15:01,350 --> 00:15:03,980 Meil oli need veerg ja kahekaupa kolonnis. 311 00:15:03,980 --> 00:15:07,250 Nii oletame, et tõepoolest, meie [? Infield?] ei olnud 32 bitti, 312 00:15:07,250 --> 00:15:13,440 aga see oli kaks bitti, saame loe kasutajaga number 0, 1, 2, 3, 313 00:15:13,440 --> 00:15:18,040 ja siis me oleme omamoodi tagasi kasutaja 00 uuesti. 314 00:15:18,040 --> 00:15:19,739 Nii et see on see, mida tavaliselt juhtub. 315 00:15:19,739 --> 00:15:22,780 Kui olete kunagi kuulnud expression-- ilmselt ei ole, aga kui sa have-- 316 00:15:22,780 --> 00:15:26,500 täisarv ülevoolu, kus te flipping kõik oma bitti 317 00:15:26,500 --> 00:15:29,640 olla suurim võimalik väärtusi, ja siis sa oled out of bits, 318 00:15:29,640 --> 00:15:30,850 mis oleks tavaliselt juhtub? 319 00:15:30,850 --> 00:15:32,280 Miks ma öelda 00? 320 00:15:32,280 --> 00:15:33,220 Noh, see on kolm. 321 00:15:33,220 --> 00:15:34,230 Kuidas ma esindan 4? 322 00:15:34,230 --> 00:15:36,890 323 00:15:36,890 --> 00:15:38,915 Kuidas esindavad Numbri 4 kahendsüsteemis? 324 00:15:38,915 --> 00:15:39,790 Publik: [kuuldamatu] 325 00:15:39,790 --> 00:15:41,780 DAVID Humala: One-- jaa, ei ütle 100 per se, 326 00:15:41,780 --> 00:15:44,190 sest see on vale värvinguga, kuid 1-0-0. 327 00:15:44,190 --> 00:15:48,920 Nii et number 1-0-0 on tõepoolest õige, aga kui sul on ainult kaks bitti, 328 00:15:48,920 --> 00:15:50,820 mida sa tõesti teha? 329 00:15:50,820 --> 00:15:53,219 Olete valtsitud üle 00. 330 00:15:53,219 --> 00:15:54,760 Ja tõepoolest, see, mis juhtub. 331 00:15:54,760 --> 00:15:56,884 Tegelikult saab mõelda sellest rohkem lähedalt. 332 00:15:56,884 --> 00:15:59,350 Kui te mäletate, mida, 16 aastat tagasi, maailma 333 00:15:59,350 --> 00:16:03,380 pidi lõppema, kui Y2K probleemi juhtus. 334 00:16:03,380 --> 00:16:04,330 Miks see oli? 335 00:16:04,330 --> 00:16:08,170 Noh enamik arvuteid jaoks mõistlikud otsused, 336 00:16:08,170 --> 00:16:15,320 talletame numbrid nagu 1975 või 1999. aastal 337 00:16:15,320 --> 00:16:19,010 lihtsalt kahe numbriga arvuti mällu. 338 00:16:19,010 --> 00:16:21,950 Nii et loomulikult, mis juhtub kui sa saad aastal 2000 339 00:16:21,950 --> 00:16:25,790 lähete seda, või pigem, jah. 340 00:16:25,790 --> 00:16:30,120 Nii et sa minna 2000. aastal, kuid kui sa ainult kahe numbriga tundub 341 00:16:30,120 --> 00:16:32,660 nagu aastal 00 ja Nii et olete valtsitud üle. 342 00:16:32,660 --> 00:16:36,820 Ja see on põhjus, miks paljud süsteemid vaja ajakohastada ajal. 343 00:16:36,820 --> 00:16:42,500 >> Nii et öelda, firmad nagu Facebook eel vastu. 344 00:16:42,500 --> 00:16:46,147 Nii et ainus viis käepide olukorda, ausalt öeldes on ennetada seda. 345 00:16:46,147 --> 00:16:47,980 Või puhtaim viis Selle olukorra lahendamiseks 346 00:16:47,980 --> 00:16:50,330 on ette näha seda, et sa seda ei tee on hiljem muudatusi teha. 347 00:16:50,330 --> 00:16:51,970 Nii et selle asemel 8 baiti, tead mis? 348 00:16:51,970 --> 00:16:54,261 Ma lähen ettemõtlevat Siit, kuigi see on 349 00:16:54,261 --> 00:16:56,760 veidi optimistlik, et me lähed on 4 miljardit 350 00:16:56,760 --> 00:16:58,850 ja 1 kasutajad meie kodulehel. 351 00:16:58,850 --> 00:17:01,790 Kuid olgem lihtsalt kasutada 8 baiti või 64 bitti, mis üldjuhul 352 00:17:01,790 --> 00:17:05,640 nimetatakse suur täisarv, väga tehniline. 353 00:17:05,640 --> 00:17:10,280 Ja see tähendab, et sa ei pea Veelgi numbrit oma number. 354 00:17:10,280 --> 00:17:12,599 Aga see on oluline disaini otsuse 355 00:17:12,599 --> 00:17:16,400 sest kui valid numbri, et on liiga vähe bitti ekspressiivsus 356 00:17:16,400 --> 00:17:19,089 siis võiks tegelikult luua viga teie tarkvara. 357 00:17:19,089 --> 00:17:21,750 >> Olgu, nii et olgem pakkima e-posti aadress ja postiaadress. 358 00:17:21,750 --> 00:17:26,369 Nii e-maili, kui kaua peaks E-posti aadressi olla? 359 00:17:26,369 --> 00:17:26,869 50. 360 00:17:26,869 --> 00:17:29,220 Ma tõesti ei tea, aga see on ilmselt midagi sellist, 361 00:17:29,220 --> 00:17:32,261 sest muidu keegi läheb kirjuta teile, kui ta saab liiga pikk, nii 50, 362 00:17:32,261 --> 00:17:33,360 lähme koos seda nüüd. 363 00:17:33,360 --> 00:17:35,770 Postiaadress, kui kaua peaks see olema? 364 00:17:35,770 --> 00:17:38,325 365 00:17:38,325 --> 00:17:39,200 Publik: [kuuldamatu] 366 00:17:39,200 --> 00:17:41,900 367 00:17:41,900 --> 00:17:43,890 >> DAVID Humala: See ei ole lihtsalt zip code, kuigi. 368 00:17:43,890 --> 00:17:45,720 Postiaadress kuulsin. 369 00:17:45,720 --> 00:17:50,720 Nii et see on nagu 1 Brattle Square, koma, Cambridge Mass., koma 02138. 370 00:17:50,720 --> 00:17:53,860 Ja tegelikult, las ma lihtsalt tõmba natuke tööleht siin. 371 00:17:53,860 --> 00:17:56,510 See kõik tundub nii jäänud võimalus. 372 00:17:56,510 --> 00:18:01,480 Kui meil on 1 Brattle Square, koma, Cambridge MA 02138, 373 00:18:01,480 --> 00:18:04,510 Ma tunnen, et me saame teha paremini kui lihtsalt postiaadress. 374 00:18:04,510 --> 00:18:07,100 Miks me ei plahvatada seda natuke? 375 00:18:07,100 --> 00:18:08,030 Mida ma saan vähemalt? 376 00:18:08,030 --> 00:18:10,970 Mida me peaksime selle asemel on Meie read siin, ehk? 377 00:18:10,970 --> 00:18:12,260 >> Publik: [kuuldamatu] 378 00:18:12,260 --> 00:18:17,579 >> DAVID Humala: Jah, nii et olgem nimetame seda street_number, 379 00:18:17,579 --> 00:18:20,620 ja alljooneta on vaid ühised viis millel milline näeb ruumi, 380 00:18:20,620 --> 00:18:22,360 kuid see ei ole tegelikult. 381 00:18:22,360 --> 00:18:26,240 Street ja seejärel city-- kahju? 382 00:18:26,240 --> 00:18:28,440 >> Publik: [kuuldamatu] 383 00:18:28,440 --> 00:18:29,690 DAVID Humala: Me võiks teha. 384 00:18:29,690 --> 00:18:30,702 Line üks, teine ​​rida. 385 00:18:30,702 --> 00:18:32,410 Miks me ei hoiab oleks lihtne nüüd, 386 00:18:32,410 --> 00:18:34,840 kuid see on absoluutselt vastuvõetava otsuse. 387 00:18:34,840 --> 00:18:38,180 Ja siis riik ja siis lähme olla natuke USA-kesksemaks nüüd 388 00:18:38,180 --> 00:18:42,040 ja just seda postiindeks, lihtsalt sellepärast, see saab tekitada huvitav viga 389 00:18:42,040 --> 00:18:43,090 või probleem. 390 00:18:43,090 --> 00:18:44,655 Nii oletame, et on nüüd meie aadress. 391 00:18:44,655 --> 00:18:47,280 See on veidi rohkem tüütu, et meil on kõik need rohkem valdkondades, 392 00:18:47,280 --> 00:18:49,200 kuid nüüd saame sildistada asju veidi paremini. 393 00:18:49,200 --> 00:18:53,210 >> Nüüd majanumbrile ilmselt ei tohiks olla paalia, peaks see? 394 00:18:53,210 --> 00:18:54,835 Mis see olema peaks? 395 00:18:54,835 --> 00:18:55,710 Publik: [kuuldamatu] 396 00:18:55,710 --> 00:18:57,835 DAVID Humala: Võib-olla on mitmed nagu täisarv jälle? 397 00:18:57,835 --> 00:19:00,170 Suur täisarv? 398 00:19:00,170 --> 00:19:02,170 Sa ilmselt ei ela kell 4 miljardit Main Street 399 00:19:02,170 --> 00:19:03,490 või midagi hull niimoodi. 400 00:19:03,490 --> 00:19:06,850 Nii täisarv on ilmselt hea, kuid on keegi 401 00:19:06,850 --> 00:19:13,880 kunagi elas aadressi nagu 1A Brattle Square, või 1 ja 1/2? 402 00:19:13,880 --> 00:19:17,030 Need asjad on olemas, kahjuks isegi kui sa ei ole seal elanud, 403 00:19:17,030 --> 00:19:21,240 seal on need anomaaliad nagu korter 1A, 1B, 1C. 404 00:19:21,240 --> 00:19:24,260 Nii et sa tead, mida me ilmselt ei tohiks minna täisarv, 405 00:19:24,260 --> 00:19:27,440 muidu me läheme kaotada osa müük. 406 00:19:27,440 --> 00:19:29,920 >> Char valdkonnas, äkki? 407 00:19:29,920 --> 00:19:30,870 Ma ei tea, kui kaua. 408 00:19:30,870 --> 00:19:33,370 See on ilmselt ei kavatse olla et pikk, nii 10 või midagi. 409 00:19:33,370 --> 00:19:34,950 Keegi ei kirjutada Pikema arvu, võib-olla. 410 00:19:34,950 --> 00:19:37,070 Aga jälle, peaksime ilmselt sügavamalt ka seda. 411 00:19:37,070 --> 00:19:39,900 Võibolla Google, teha mõned uuringud, aga me läheme meie sisikond nüüd. 412 00:19:39,900 --> 00:19:44,565 Tänavad, paalia, 50, ma ei tea. 413 00:19:44,565 --> 00:19:46,940 Mingil hetkel, keegi läheb kirjutada see ümbrik, 414 00:19:46,940 --> 00:19:49,350 liiga, nii et seal on ilmselt mõned ülemised piirid olemas. 415 00:19:49,350 --> 00:19:54,200 City, sama, kindel, et char 50. 416 00:19:54,200 --> 00:19:59,120 >> Riik, saab USA-kesksemaks nüüd. 417 00:19:59,120 --> 00:20:01,850 Nii võiks see olla nimekirjas, nii lahke resoluutse otsuse riigi. 418 00:20:01,850 --> 00:20:04,000 See võiks olla nagu kaks märki. 419 00:20:04,000 --> 00:20:06,140 Seega tegelikult olla, ütlesin: char. 420 00:20:06,140 --> 00:20:09,420 Ma ilmselt tähenda varchar lihtsalt mõned tõhususe, 421 00:20:09,420 --> 00:20:12,240 kuid me tuleme tagasi selle otsuse praegu. 422 00:20:12,240 --> 00:20:16,150 Võiks olla tähemärk pikkus 2 riik. 423 00:20:16,150 --> 00:20:20,670 Kui USA on neil, nagu MA, Massachusetts, NY, New York, NJ, New 424 00:20:20,670 --> 00:20:22,100 Jersey, ja nii edasi. 425 00:20:22,100 --> 00:20:23,630 Nii võiks see olla fikseeritud, et. 426 00:20:23,630 --> 00:20:25,900 DC Washington DC. 427 00:20:25,900 --> 00:20:29,915 >> Aga ma arvan, Olivier, siis kavandatud teistsugust lähenemist. 428 00:20:29,915 --> 00:20:30,790 Publik: [kuuldamatu] 429 00:20:30,790 --> 00:20:33,670 DAVID Humala: Jah, nii see on natuke tüütu kirjuta, 430 00:20:33,670 --> 00:20:37,890 kuid ENUMi võib mõttekam, sest sel viisil, vähemalt USAs, 431 00:20:37,890 --> 00:20:41,320 siis võiks loetleda, kui tüütult, kuid sa seda ainult üks kord oma andmebaasi 432 00:20:41,320 --> 00:20:47,480 ja mitte kunagi enam pead mõtlema see kõik 50 kahekohaliste koodide. 433 00:20:47,480 --> 00:20:48,660 Nii mulle meeldib ENUMi. 434 00:20:48,660 --> 00:20:51,720 Jääme koos, et seal, sest see omamoodi jõustab jõulisem. 435 00:20:51,720 --> 00:20:53,620 Ja siis zip code? 436 00:20:53,620 --> 00:20:55,306 Ma arvan, Andrew oli mõte, et 437 00:20:55,306 --> 00:20:56,180 Publik: [kuuldamatu] 438 00:20:56,180 --> 00:20:57,240 DAVID Humala: Jah, viis või üheksa. 439 00:20:57,240 --> 00:20:58,323 Ütleme nii hoida lihtsa. 440 00:20:58,323 --> 00:20:59,380 Tee viis nüüd. 441 00:20:59,380 --> 00:21:03,070 Aga äkki ma võiks lihtsalt teha täisarv, eks? 442 00:21:03,070 --> 00:21:08,750 Suutsin, kuid sa tead, mida ma teinud see viga kord, mõnes mõttes. 443 00:21:08,750 --> 00:21:13,110 Aastaid tagasi oli mul rännet Microsoft Outlook Gmaili, 444 00:21:13,110 --> 00:21:18,640 ja Outlook on viis eksportivat kõik oma kontaktid Exceli failina, 445 00:21:18,640 --> 00:21:21,280 CSV faili, komaga eraldatud väärtused faili. 446 00:21:21,280 --> 00:21:23,950 Ja ma tegin vea, ma arvan, topelt klikkides, 447 00:21:23,950 --> 00:21:27,380 kui ma alla eksporti, et veendumaks, et see nägi välja nagu ma ootasin. 448 00:21:27,380 --> 00:21:31,320 Ilmselt sattusin Salvesta või lasta auto-save kick või midagi. 449 00:21:31,320 --> 00:21:35,100 Sest kui ma siis imporditud see Gmail, see kõik töötas. 450 00:21:35,100 --> 00:21:39,910 Aga aastaid, et sellel päeval, ja Ma tegin seda viis, 10 aastat tagasi, 451 00:21:39,910 --> 00:21:44,380 Ma olen ikka leida sõpru, kes on aadressid, mis näeb välja selline. 452 00:21:44,380 --> 00:21:45,700 Miks? 453 00:21:45,700 --> 00:21:47,900 >> Publik: [kuuldamatu] 454 00:21:47,900 --> 00:21:50,650 >> DAVID Humala: Kulus 0, noh, pigem on 455 00:21:50,650 --> 00:21:53,810 võttis kogu sihtnumbri numbrile ja seega see 456 00:21:53,810 --> 00:21:56,590 juhtiv 0, mis tähendab, see ei ole mingit tähendust. 457 00:21:56,590 --> 00:21:59,470 Ja nii 2138 tundub olevat minu postiindeks. 458 00:21:59,470 --> 00:22:07,100 Ja see on ausalt öeldes tüütu Excel funktsioon, mille Arvan vaikimisi 459 00:22:07,100 --> 00:22:10,980 isegi siis, kui see on mõeldud ainult olla tekst, Microsoft Excel 460 00:22:10,980 --> 00:22:13,780 otsustab, andke mulle abiks olla, ja oh, ma näen ainult numbrid. 461 00:22:13,780 --> 00:22:15,290 Olgem ravida neid numbreid. 462 00:22:15,290 --> 00:22:16,790 Ja see kärbib nullid. 463 00:22:16,790 --> 00:22:19,165 >> Ma vannun, iga paari kuud ma leida aadressi, 464 00:22:19,165 --> 00:22:22,300 ja sealt mingi OCD, ma lähen tagasi ja lisada 0, kuigi ma ei ole kunagi 465 00:22:22,300 --> 00:22:23,700 Kirjuta inimesed tähti ega midagi. 466 00:22:23,700 --> 00:22:25,510 Aga ma olen ikka leida jäänuseid seda. 467 00:22:25,510 --> 00:22:28,820 Nii et see on öelda, on see hea mõte? 468 00:22:28,820 --> 00:22:31,610 OK, ei, sest keegi Massachusetts, selles valdkonnas, 469 00:22:31,610 --> 00:22:33,270 läheb on o sundinud neid. 470 00:22:33,270 --> 00:22:38,070 Nii lähme koos nagu char ilmselt viis. 471 00:22:38,070 --> 00:22:41,450 >> Ja siin, mõistame me võiks kasutada ENUMi ja me 472 00:22:41,450 --> 00:22:44,600 võiks loetleda 10000 võimalik postiindeksid, 473 00:22:44,600 --> 00:22:48,530 kuid mis tunne see on ilmselt ületamisel rida, nagu kasu. 474 00:22:48,530 --> 00:22:51,350 Kui teil on sisend, mis palju andmeid oma andmebaasi 475 00:22:51,350 --> 00:22:52,940 kaitseks midagi. 476 00:22:52,940 --> 00:22:57,400 Nii char aru, siis võiks kirjutada H-E-L-L-O oma postiindeks, 477 00:22:57,400 --> 00:22:59,180 mis ei ole muidugi numbriline. 478 00:22:59,180 --> 00:23:01,680 Nii ei ole nii, et Tüüpilise andmebaas, 479 00:23:01,680 --> 00:23:05,561 täpsustada ainult numbriline ja ainult viis märki, 480 00:23:05,561 --> 00:23:07,310 nii et me lähed on mida teha, et koodi. 481 00:23:07,310 --> 00:23:11,100 Me teeme, et PHP või Java või mis iganes keeles me oleme 482 00:23:11,100 --> 00:23:14,230 kasutades serverisse jõustada sellist piirangut. 483 00:23:14,230 --> 00:23:14,860 >> Uuh! 484 00:23:14,860 --> 00:23:18,322 Olgu, nii küsimusi veel? 485 00:23:18,322 --> 00:23:19,780 Teeme teise disaini otsuse. 486 00:23:19,780 --> 00:23:22,500 Selgub, et teil Samuti saad valida, 487 00:23:22,500 --> 00:23:26,600 projekteerimisel SQL andmebaasi või Tüüpiline relatsiooniline database-- kus 488 00:23:26,600 --> 00:23:28,790 uuesti, relatsiooniline lihtsalt tähendab ridu ja veerge, 489 00:23:28,790 --> 00:23:35,500 et kuidas teil korraldada oma data-- ja mõistavad, et mida see tähendab,, 490 00:23:35,500 --> 00:23:37,740 Olen olnud eksitav et ma olen drawing-- seda 491 00:23:37,740 --> 00:23:40,190 on see, mida nimetatakse skeemi jaoks andmebaasi tabelisse. 492 00:23:40,190 --> 00:23:42,810 See on nagu kirjeldused table-- 493 00:23:42,810 --> 00:23:48,040 aga kui on aeg tegelikult andmete salvestamiseks, 494 00:23:48,040 --> 00:23:52,081 ja me teeme seda lihtsalt näide. 495 00:23:52,081 --> 00:23:55,080 Ma lähen avada Excel, sest Excel annab mulle ridu ja veerge. 496 00:23:55,080 --> 00:23:58,050 Ja see on täpselt see, mida Oracle ja MySQL ja muud vahendid annab mulle. 497 00:23:58,050 --> 00:24:02,270 Nii et ma olen lihtsalt kavatse kasutada aruteluks pärast. 498 00:24:02,270 --> 00:24:05,250 Lubage mul minna ja avada esindaja dokument siin 499 00:24:05,250 --> 00:24:06,310 suumida natuke. 500 00:24:06,310 --> 00:24:15,200 Nii näiteks meie päised on nüüd eesnimi, perekonnanimi, sugu, ID 501 00:24:15,200 --> 00:24:20,980 e-posti, majanumber, tänav, whoops. 502 00:24:20,980 --> 00:24:25,710 Street, linn, riik, vaid umbes sobib ekraanil. 503 00:24:25,710 --> 00:24:29,080 >> Nii tähendab see, et kui kasutaja kõigepealt registreerib minu kodulehel, 504 00:24:29,080 --> 00:24:32,880 see saab olema midagi sellist David, Humala, m, oletame, et 1, 505 00:24:32,880 --> 00:24:42,910 malan@harvard.edu, tänaval number olla nagu 1 Brattle Square, Cambridge, MA, 506 00:24:42,910 --> 00:24:44,780 02138, ja siis nii edasi. 507 00:24:44,780 --> 00:24:48,290 Nii et kui ma ütlen, et relatsioonandmebaasile või SQL andmebaas on ridade ja veergude 508 00:24:48,290 --> 00:24:49,350 Ma mõtlen seda. 509 00:24:49,350 --> 00:24:51,900 See tegelikud andmed on salvestatud ridade ja veergudena. 510 00:24:51,900 --> 00:24:53,950 See on lihtsalt kokkusattumus, et me ei räägi, 511 00:24:53,950 --> 00:24:56,033 ja ma just joonistus see läbi ridade ja veergude. 512 00:24:56,033 --> 00:24:58,320 See on lihtsalt skeemi, üldine määratlus. 513 00:24:58,320 --> 00:25:01,640 >> Nii need väljad siin või samaväärselt, seal, 514 00:25:01,640 --> 00:25:06,270 mis on valdkonnad, mis te arvate Ma olen tõenäoliselt otsida, kui ma olen kasutaja 515 00:25:06,270 --> 00:25:09,200 või kui ma olen andmebaasi administraator? 516 00:25:09,200 --> 00:25:12,426 Nagu, mida väljad olen ma tegelikult läheb otsida? 517 00:25:12,426 --> 00:25:13,830 >> Publik: [kuuldamatu] 518 00:25:13,830 --> 00:25:17,690 >> DAVID Humala: nimi, jah nii Mulle meeldib, selle-- jaa, 519 00:25:17,690 --> 00:25:19,750 e-olla päris tavalised. 520 00:25:19,750 --> 00:25:21,440 Vabandame, sa ütlesid nime. 521 00:25:21,440 --> 00:25:24,030 Nii maybe-- ja jälle, et me oleme Selline räägi abstraktselt. 522 00:25:24,030 --> 00:25:25,988 Ma ei tea, miks Sa otsima nimi, 523 00:25:25,988 --> 00:25:29,340 kuid mis tundub mõistlik, kui mida te otsite kasutaja. 524 00:25:29,340 --> 00:25:31,170 Võib-olla öeldakse, kindel, ID. 525 00:25:31,170 --> 00:25:34,100 526 00:25:34,100 --> 00:25:36,160 >> Ja see on libe kalle, sest suutsin 527 00:25:36,160 --> 00:25:38,890 leiutama stsenaarium, kus võibolla minu ülemus kutsus mind, 528 00:25:38,890 --> 00:25:40,417 kui palju mehi on meil meie leheküljel? 529 00:25:40,417 --> 00:25:42,000 Kui palju naisi on meil meie leheküljel? 530 00:25:42,000 --> 00:25:45,210 Ja nii sel hetkel, võite otsi soo välja ka 531 00:25:45,210 --> 00:25:45,940 ja ei midagi muud. 532 00:25:45,940 --> 00:25:47,350 Nii et kompromiss siin. 533 00:25:47,350 --> 00:25:49,180 Jällegi, ei ole õige vastus, kuid seal 534 00:25:49,180 --> 00:25:53,760 on funktsioon enamikus SQL andmebaasid tuntakse indekseerimine, kusjuures 535 00:25:53,760 --> 00:25:56,100 sa, disainer, siis andmebaasi administraator, 536 00:25:56,100 --> 00:26:01,730 saada eelnevalt otsustada, mis põldude andmebaas peaks optimeerida 537 00:26:01,730 --> 00:26:02,980 otsijate jaoks. 538 00:26:02,980 --> 00:26:07,620 >> Sa võid väga naiivselt öelda, optimeerida see, optimeerida, et optimeerida seda, 539 00:26:07,620 --> 00:26:10,300 optimeerida seda ja seda, ja andmebaas 540 00:26:10,300 --> 00:26:14,882 teha mõned maagiline asi all hood, ja midagi nii 541 00:26:14,882 --> 00:26:17,090 et järgmine kord, kui otsida ühelgi neist väljad 542 00:26:17,090 --> 00:26:18,400 see tegelikult olla kiirem. 543 00:26:18,400 --> 00:26:19,110 See on võimalik. 544 00:26:19,110 --> 00:26:20,530 See ei saa tühistada ise välja. 545 00:26:20,530 --> 00:26:22,500 Aga seal peab olema tasutud hind. 546 00:26:22,500 --> 00:26:27,220 >> Kui te naiivselt, või entusiastlikult ütleme, indeks kõik need väljad, 547 00:26:27,220 --> 00:26:29,810 niiöelda, need kõik tõhusalt otsida, 548 00:26:29,810 --> 00:26:31,625 mis hinnaga sa ilmselt maksab? 549 00:26:31,625 --> 00:26:32,500 Publik: [kuuldamatu] 550 00:26:32,500 --> 00:26:33,090 DAVID Humala: Performance. 551 00:26:33,090 --> 00:26:33,798 Mida sa silmas pead? 552 00:26:33,798 --> 00:26:37,380 Noh jõudlust, vähemalt kontekstis ma arutada, on nüüd parem. 553 00:26:37,380 --> 00:26:38,830 See on mõiste indekseerimist. 554 00:26:38,830 --> 00:26:41,180 Ta teeb otsinguid kiiremini. 555 00:26:41,180 --> 00:26:43,366 Nii lüheneb, kui nii võib öelda. 556 00:26:43,366 --> 00:26:44,240 Publik: [kuuldamatu] 557 00:26:44,240 --> 00:26:45,031 DAVID Humala: Space. 558 00:26:45,031 --> 00:26:46,520 Nii jälle, need on ühine kaubandus. 559 00:26:46,520 --> 00:26:50,820 Ma ei kiirendada oma otsinguid, kuid see on läheb teile maksma rohkem baiti ruumi. 560 00:26:50,820 --> 00:26:51,610 Miks? 561 00:26:51,610 --> 00:26:55,230 Noh, vaikimisi, kui meil ei ole ükski need punased tähed, ükski neist indeksid, 562 00:26:55,230 --> 00:26:58,797 kui ma räägin, kuidas sa otsida Nime andmebaasis? 563 00:26:58,797 --> 00:27:00,630 Nii saab juhtida meie tähelepanu sellele näitele. 564 00:27:00,630 --> 00:27:06,300 Kui meil on David ja Scully ja Kareem ja ARWA ja teised need read, 565 00:27:06,300 --> 00:27:06,910 näiteks. 566 00:27:06,910 --> 00:27:08,390 >> Nii teeme just nii. 567 00:27:08,390 --> 00:27:13,990 Scully on siin ja siis meil Kareem ja ARWA, 568 00:27:13,990 --> 00:27:18,390 ja kõigile teistele, kui te ei on määratletud indeksit, nii et rääkida, 569 00:27:18,390 --> 00:27:20,160 parim, mida saate teha on lineaarne otsing. 570 00:27:20,160 --> 00:27:23,470 Kui otsite ARWA, me ei ole saab olema võimeline hüppama õigus tema 571 00:27:23,470 --> 00:27:24,140 kiiresti. 572 00:27:24,140 --> 00:27:26,556 Me läheme alustada ülemise ja minna kõik viis põhja, 573 00:27:26,556 --> 00:27:28,600 ei ole erinevalt meie algne Mike Smith näiteks. 574 00:27:28,600 --> 00:27:33,470 >> Kui aga ma öelda, hei, andmebaasi, indeks eesnimi valdkonnas, 575 00:27:33,470 --> 00:27:37,000 siis see läheb midagi Kasvataja ja toetada midagi 576 00:27:37,000 --> 00:27:38,130 nagu Kahendotsingupuu. 577 00:27:38,130 --> 00:27:39,820 See on ilmselt ei Kahendotsingupuu per se. 578 00:27:39,820 --> 00:27:42,810 Andmebaasid kalduvad kasutama teise andmestruktuur nimetatakse b-puud, 579 00:27:42,810 --> 00:27:46,540 ei tohi segi ajada kahendpuuks, et lihtsalt teha seda kiiremini otsida 580 00:27:46,540 --> 00:27:48,500 midagi logaritmiline looduses. 581 00:27:48,500 --> 00:27:53,510 Aga auto hind üles ehitada, et funktsioon, mis andmestruktuur mälu, 582 00:27:53,510 --> 00:27:54,570 on rohkem baiti. 583 00:27:54,570 --> 00:27:57,170 Nii et see võib võtta mõned megabaiti, mõned gigabaiti, kes teab? 584 00:27:57,170 --> 00:27:58,410 See sõltub andmed. 585 00:27:58,410 --> 00:28:02,640 >> Nii mingil hetkel, tuleb teil otsustada, see ilmselt ei ühine puhul. 586 00:28:02,640 --> 00:28:06,000 Mis on ühist tegelikku juhtudel, kui tõesti oleks valida, 587 00:28:06,000 --> 00:28:10,080 milline võiks oma lemmik väljad on? 588 00:28:10,080 --> 00:28:10,580 E-post. 589 00:28:10,580 --> 00:28:14,400 Ja mulle meeldib e-posti, sest e-maili, teoreetiliselt peaks olema unikaalne. 590 00:28:14,400 --> 00:28:17,650 Ja nii tavaliselt, kui sa tead ette, et üks sinu väljad 591 00:28:17,650 --> 00:28:20,277 on või saab olema unikaalne, et kipub olema hea valdkonnas 592 00:28:20,277 --> 00:28:22,860 otsi, sest nii, kui otsite midagi, 593 00:28:22,860 --> 00:28:26,194 sa lähed, et saada tagasi üks või null vastuseid ja siis ongi valmis. 594 00:28:26,194 --> 00:28:28,110 Sa ei pea hoidma otsin veel teised. 595 00:28:28,110 --> 00:28:31,992 >> Ja nii sel juhul siin, e-posti nii kaua, kui te ei saa registreerida kaks korda 596 00:28:31,992 --> 00:28:33,450 sama e-posti, on hea. 597 00:28:33,450 --> 00:28:36,710 ID definitsiooni järgi on infotehnoloogia maailmas, 598 00:28:36,710 --> 00:28:39,610 kui sa räägi ID, mis oli parem olla unikaalne. 599 00:28:39,610 --> 00:28:42,970 See on omamoodi värvinguga ID või tunnust. 600 00:28:42,970 --> 00:28:46,440 Ja ülejäänud neist võiks olla, nimetame neid tore rikaste, 601 00:28:46,440 --> 00:28:47,860 kuid tegelikult ei vaja. 602 00:28:47,860 --> 00:28:49,976 >> Ja nii andmebaasi, saab määrata indeksid, 603 00:28:49,976 --> 00:28:51,350 kuid võite olla veelgi täpsem. 604 00:28:51,350 --> 00:28:56,060 Sa ei saa öelda, hei, andmebaasi, veenduge, et iga ID tabelis on ainulaadne. 605 00:28:56,060 --> 00:28:59,330 Ärge isegi lasta programmeerija kogemata kasutusele eksemplaris posti 606 00:28:59,330 --> 00:29:00,740 või dubleerida ID number. 607 00:29:00,740 --> 00:29:03,140 Nii palju nagu nimekirjadest kaitsta meid samamoodi, siis 608 00:29:03,140 --> 00:29:04,881 võib olla need madalama taseme kaitsemehhanisme. 609 00:29:04,881 --> 00:29:07,130 Ja nii andmebaasi disain, in Mõnes mõttes on selline tore, 610 00:29:07,130 --> 00:29:08,380 kuna sa seda kaitsele. 611 00:29:08,380 --> 00:29:11,460 Sa justkui eeldada, et sa tööd koos jube, jube programmeerijad 612 00:29:11,460 --> 00:29:15,550 ja sa tahad panna nii palju kaitsemehhanisme kui võimalik, et kaitsta oma andmeid, 613 00:29:15,550 --> 00:29:18,940 kuid samal ajal soovite et aidata neil täita paremini 614 00:29:18,940 --> 00:29:21,386 valides, mis valdkondades, et optimeerida. 615 00:29:21,386 --> 00:29:24,260 Aga sa ei saa tingimata seda teha vaakum, nagu me sellist siin. 616 00:29:24,260 --> 00:29:26,480 Sa pead teadma, mida on nende ühiste juhtudel on. 617 00:29:26,480 --> 00:29:29,397 Kui arendajad rakendades aadressiraamatu 618 00:29:29,397 --> 00:29:32,230 võite väga hästi tahan olla võimeline otsida peaaegu igas valdkonnas, 619 00:29:32,230 --> 00:29:33,830 lihtsalt looduse taotluse. 620 00:29:33,830 --> 00:29:37,910 Ehk sa kulutad et lisaruumi. 621 00:29:37,910 --> 00:29:39,090 >> Parem, küsimusi? 622 00:29:39,090 --> 00:29:41,820 623 00:29:41,820 --> 00:29:42,486 Jah. 624 00:29:42,486 --> 00:29:43,470 >> Publik: [kuuldamatu] 625 00:29:43,470 --> 00:29:44,404 >> DAVID Humala: Ei 626 00:29:44,404 --> 00:29:45,279 >> Publik: [kuuldamatu] 627 00:29:45,279 --> 00:29:47,840 628 00:29:47,840 --> 00:29:48,826 >> DAVID Humala: OK. 629 00:29:48,826 --> 00:29:49,701 >> Publik: [kuuldamatu] 630 00:29:49,701 --> 00:29:52,420 631 00:29:52,420 --> 00:29:54,850 >> DAVID Humala: Oh, nii et me räägime nii 632 00:29:54,850 --> 00:29:57,940 nüüd, et on täiesti keeles agnostik. 633 00:29:57,940 --> 00:30:02,370 Nii et me räägime praegu umbes relatsioonandmebaasides üldisemalt 634 00:30:02,370 --> 00:30:04,760 või SQL andmebaasid üldisemalt. 635 00:30:04,760 --> 00:30:06,870 >> Publik: [kuuldamatu] 636 00:30:06,870 --> 00:30:10,030 >> DAVID Humala: parem sõna kasutada on, võib kasutada mis tahes keeles. 637 00:30:10,030 --> 00:30:15,280 Nii et ma ei kirjuta JavaScripti koodi, C kood, C ++ koodi, Java koodi, Ruby koodi 638 00:30:15,280 --> 00:30:19,010 mis kõik rääkida andmebaasi ja päringuid. 639 00:30:19,010 --> 00:30:22,310 Tegelikult see ei ole halb rännata näide päring. 640 00:30:22,310 --> 00:30:25,720 Ja jälle, me ei lähe Java või C ++ või mistahes sellise enam, 641 00:30:25,720 --> 00:30:29,420 kuid SQL keel, mida ma hoida viidates, Structured Query Language, 642 00:30:29,420 --> 00:30:32,790 See iseenesest on programmeerimiskeel, kuid see on nii mõeldud kasutada, no 643 00:30:32,790 --> 00:30:37,330 üllatus, struktureeritud päringu päringuid. 644 00:30:37,330 --> 00:30:38,660 >> Autor et ma mõtlen seda. 645 00:30:38,660 --> 00:30:41,190 See, kuidas sa valida andmeid alates MySQL andmebaasi 646 00:30:41,190 --> 00:30:49,330 on sul sõna otseses mõttes kirjutada oma programmi midagi valige tähe kasutajad. 647 00:30:49,330 --> 00:30:52,200 Eeldan, et see tabel, Edaspidi nimetatakse kasutajad. 648 00:30:52,200 --> 00:30:54,860 Ma võiks seda kõike tahame, kuid sellist mõtet. 649 00:30:54,860 --> 00:30:57,240 Ja nii vali on väga ühise verb, kui te 650 00:30:57,240 --> 00:30:59,290 tahet, SQL, mis sõna otseses mõttes ei tee seda. 651 00:30:59,290 --> 00:31:02,730 Mis te arvate, star antud kontekstis tähendab? 652 00:31:02,730 --> 00:31:04,410 >> Publik: [kuuldamatu] 653 00:31:04,410 --> 00:31:05,380 >> DAVID Humala: Vabandust? 654 00:31:05,380 --> 00:31:06,300 >> Publik: [kuuldamatu] 655 00:31:06,300 --> 00:31:09,580 >> DAVID Humala: Pole nõutud, et see on kaasavamaks kui tegelikult. 656 00:31:09,580 --> 00:31:11,700 See on looduses kaardi iseloomu. 657 00:31:11,700 --> 00:31:14,740 Star peaaegu alati midagi tähendab, nii et see tähendab, antud juhul 658 00:31:14,740 --> 00:31:16,510 vali kõik andmebaasist. 659 00:31:16,510 --> 00:31:20,730 Nii et kui ma ütlen seda, ma mõtlen anna mulle tagasi iga veerg 660 00:31:20,730 --> 00:31:22,440 minu laua nimetatakse kasutajad. 661 00:31:22,440 --> 00:31:24,730 Nii et anna mulle tulemuse hulka, nagu seda nimetatakse. 662 00:31:24,730 --> 00:31:28,210 Teisisõnu, mulle koopia tabelisse, on see, mida ma saan vähemalt. 663 00:31:28,210 --> 00:31:34,890 >> Aga kui ma ütlesin valige tähe kasutajad kus ID võrdub 1, kui suur peaks 664 00:31:34,890 --> 00:31:36,640 minu tulemus komplekt on siis? 665 00:31:36,640 --> 00:31:41,680 Või samaväärselt, kui palju ridades Ma antakse tagasi andmebaasist? 666 00:31:41,680 --> 00:31:45,860 Tõenäoliselt vaid üks, kui mul on tõepoolest käsitletakse ID kui kordumatu tunnus, 667 00:31:45,860 --> 00:31:50,710 ja kui David on see unikaalne ID, ma peaks tagasi saada ainult üks rida 668 00:31:50,710 --> 00:31:53,220 mis sisaldab kõiki Davidi teavet. 669 00:31:53,220 --> 00:31:56,390 Kui ma ütlesin seda, kui ID võrdub 99, ma saan tagasi, 670 00:31:56,390 --> 00:32:00,320 Selles kontekstis null ridades vähemalt hetkel. 671 00:32:00,320 --> 00:32:03,620 >> Samas, kui ma tõesti ei hooli umbes kõik, et teave, 672 00:32:03,620 --> 00:32:06,970 Ma võiks öelda, et kui ei David elada? 673 00:32:06,970 --> 00:32:10,860 Vali postiindeksi kasutajate, kus ID on 1. 674 00:32:10,860 --> 00:32:15,820 See valib mulle ainult Davidi zip koodi ja mitte kogu selle rea. 675 00:32:15,820 --> 00:32:19,541 Miks võiks ma seda selle asemel, star päringu looduses kaardi? 676 00:32:19,541 --> 00:32:21,950 >> Publik: [kuuldamatu] 677 00:32:21,950 --> 00:32:24,590 >> DAVID Humala: Jah, ma võin ainult seda vajavad. 678 00:32:24,590 --> 00:32:26,350 Nii jõudlus on jälle siin vastus. 679 00:32:26,350 --> 00:32:28,540 Miks küsida rohkem informatsiooni, kui teil on vaja, 680 00:32:28,540 --> 00:32:32,020 sest isegi kui see on kõik õige koos, sul on veel kopeerida, et andmed, 681 00:32:32,020 --> 00:32:35,560 tundub, andmebaasist oma programmi kuidagi, 682 00:32:35,560 --> 00:32:38,490 ja see on lihtsalt rumal, kui sa vaja ainult viit nende numbrit, 683 00:32:38,490 --> 00:32:40,340 mitte kogu rida. 684 00:32:40,340 --> 00:32:42,180 >> Niisiis, kuidas ma sisestada kasutaja? 685 00:32:42,180 --> 00:32:44,780 Oletame, et kasutaja peab lihtsalt Registreeritud esmakordselt. 686 00:32:44,780 --> 00:32:46,560 Süntaks tavaliselt näeb välja selline. 687 00:32:46,560 --> 00:32:52,700 Lisada kasutajaid ja siis ütleks väärtused, 688 00:32:52,700 --> 00:33:00,150 ja siis me ütleks väärtused nagu, ütleme, Lauren Scully, 689 00:33:00,150 --> 00:33:02,380 Meie Harrastusvideograaf siin. 690 00:33:02,380 --> 00:33:04,390 Ja järgmine valdkonnas on sugu. 691 00:33:04,390 --> 00:33:08,020 Nii me öelda, tsiteerida, lõppeb "F", siis on meil ID 692 00:33:08,020 --> 00:33:12,250 ja ma lähen say-- olgem teeselda, et ta on tegelikult siin, 693 00:33:12,250 --> 00:33:14,380 nii me kerida lugu. 694 00:33:14,380 --> 00:33:16,530 Nii 2 on tema ID. 695 00:33:16,530 --> 00:33:19,130 Ja siis järgmisele väljale Siin on tema e-mail. 696 00:33:19,130 --> 00:33:22,140 Nii et see saab olema nagu Lauren Scully ja nii edasi, 697 00:33:22,140 --> 00:33:24,360 ja me lihtsalt dot dot dot eemale siin. 698 00:33:24,360 --> 00:33:26,890 Nüüd siis natuke tüütu, kuid sisestada päringu 699 00:33:26,890 --> 00:33:28,310 lõppkokkuvõttes välja nägema. 700 00:33:28,310 --> 00:33:30,970 >> Kui ma tahan vabaneda Scully, uh-oh, lähme arvelt maha võtta 701 00:33:30,970 --> 00:33:37,420 teda, ta kustutab oma konto kustutada kasutajate kus ID võrdub 2, 702 00:33:37,420 --> 00:33:38,500 vabaneda Scully. 703 00:33:38,500 --> 00:33:48,050 Või ma ei saa öelda uuendus kasutajad seatud, oletame, milline võiks me muuta? 704 00:33:48,050 --> 00:33:49,430 Oletame, et ta liigub. 705 00:33:49,430 --> 00:33:53,730 Määra zip võrdub 021-- nope, see on tema praegune zip. 706 00:33:53,730 --> 00:33:54,487 90210. 707 00:33:54,487 --> 00:33:56,320 Ainuke sihtnumber Ma tean, et maailmas. 708 00:33:56,320 --> 00:33:59,002 Nii, mis muudaks tema zip code-- tegelikult, 709 00:33:59,002 --> 00:34:00,460 mis ei muudaks tema postiindeks. 710 00:34:00,460 --> 00:34:02,170 >> Mida ma teen? 711 00:34:02,170 --> 00:34:04,292 Kuigi süntaks on ilmselt uus. 712 00:34:04,292 --> 00:34:05,302 >> Publik: [kuuldamatu] 713 00:34:05,302 --> 00:34:08,010 DAVID Humala: Jah, ma kolisin igaühele Beverly Hills, California. 714 00:34:08,010 --> 00:34:11,920 Nii et ma tegelikult peaks öelda, kus ID võrdub 2. 715 00:34:11,920 --> 00:34:12,820 Ja nii edasi. 716 00:34:12,820 --> 00:34:15,290 Nii SQL on kõike neid liiki juhiseid. 717 00:34:15,290 --> 00:34:20,260 Vali sisestada, kustutada, uuendada Nende predikaadid lõpus 718 00:34:20,260 --> 00:34:22,139 Nende kus punkte, nii rääkida. 719 00:34:22,139 --> 00:34:25,170 Ja seal on palju rohkem võite teha, kuid see on tõesti lihtsalt taandub 720 00:34:25,170 --> 00:34:29,750 lihtsalt, kui arcanely, väljendades mida soovite andmebaasi teha. 721 00:34:29,750 --> 00:34:31,580 >> Ja siis andmebaasi nuputada, kui 722 00:34:31,580 --> 00:34:35,630 Sisestades Lauren Scully sisse andmebaasi, kuhu panna oma mälu 723 00:34:35,630 --> 00:34:38,230 nii et me saame väga kiiresti saada tema põhineb tema e-posti aadress 724 00:34:38,230 --> 00:34:42,610 või põhineb tema ID number vms. 725 00:34:42,610 --> 00:34:43,391 Jah, Dan. 726 00:34:43,391 --> 00:34:44,266 Publik: [kuuldamatu] 727 00:34:44,266 --> 00:34:46,364 728 00:34:46,364 --> 00:34:47,780 DAVID Humala: Tõesti hea küsimus. 729 00:34:47,780 --> 00:34:50,370 Kas need skriptid muutuda Microsoft Access Oracle 730 00:34:50,370 --> 00:34:52,290 MySQL PostgreSQL? 731 00:34:52,290 --> 00:34:53,790 Lühike vastus on, see sõltub. 732 00:34:53,790 --> 00:34:58,697 Teoreetiliselt on väga ühine oluline alagrupis SQL 733 00:34:58,697 --> 00:35:00,780 mis on jagatud kõigi Nende rakendamist. 734 00:35:00,780 --> 00:35:03,340 Kuid erinevate tootjate on lisafunktsioonid 735 00:35:03,340 --> 00:35:07,120 oma andmebaasidele teha teatud asju väljuvad need omadused, 736 00:35:07,120 --> 00:35:08,720 mis võivad tegelikult murda. 737 00:35:08,720 --> 00:35:11,210 >> Nii, kuidas arendajad maandada see, 738 00:35:11,210 --> 00:35:14,350 on see, et mitte kirjutada toores SQL koodi, nagu ma olen kirjalikult siin 739 00:35:14,350 --> 00:35:19,460 nad kasutavad selle asemel raamatukogu ühine raamatukogu, mis iseenesest 740 00:35:19,460 --> 00:35:23,650 on omamoodi kõrgema taseme ja teesid ära millist toodet te kasutate. 741 00:35:23,650 --> 00:35:25,710 Ja see annab teile funktsioonid ja protseduurid 742 00:35:25,710 --> 00:35:28,810 helistada, et sa kunagi tegelikult kirjutada toores SQL. 743 00:35:28,810 --> 00:35:32,609 >> Teoorias siis saab muuta tooteid Oracle Microsoft 744 00:35:32,609 --> 00:35:34,650 või vastupidi või midagi teine, ja sa sõna otseses mõttes 745 00:35:34,650 --> 00:35:36,920 muuta midagi oma koodi. 746 00:35:36,920 --> 00:35:40,180 Reaalsus on aga, mõnikord loobuma funktsioone tõttu. 747 00:35:40,180 --> 00:35:43,860 Te olete valinud toote, sest see ju need lisandväärtusega omadused, 748 00:35:43,860 --> 00:35:46,610 ja sa oled lihtsalt nüüd ei kasutades neid teadlikult. 749 00:35:46,610 --> 00:35:51,630 >> Ja Anecdotally enamik ettevõtteid kipuvad kunagi eemalduda oma andmebaasi. 750 00:35:51,630 --> 00:35:54,002 Niisiis, kui see on tore on funktsioon, reaalsus 751 00:35:54,002 --> 00:35:55,960 on, kui sa renoveerimisel oma andmebaasi, et sa oled 752 00:35:55,960 --> 00:35:59,890 ilmselt tegemist kobarad muud muutused Igatahes, et sa ei pruugi 753 00:35:59,890 --> 00:36:01,360 vaja ette näha, et. 754 00:36:01,360 --> 00:36:03,720 Nii et see on vaieldamatult üle-inseneri probleem, 755 00:36:03,720 --> 00:36:05,670 kuid tegelikult sõltub kontekstist. 756 00:36:05,670 --> 00:36:09,960 Aga teoreetiliselt SQL jagatakse nendest eri tooteid. 757 00:36:09,960 --> 00:36:11,560 Tõesti head küsimused. 758 00:36:11,560 --> 00:36:12,272 Jah. 759 00:36:12,272 --> 00:36:13,147 >> Publik: [kuuldamatu] 760 00:36:13,147 --> 00:36:17,820 761 00:36:17,820 --> 00:36:21,480 >> DAVID Humala: Jah, nii sa ei mõtle andmebaasis 762 00:36:21,480 --> 00:36:25,020 on lihtsalt server, lõpus päeval ja sees et server 763 00:36:25,020 --> 00:36:28,670 on terve hunnik tabelid, read ja veerud. 764 00:36:28,670 --> 00:36:33,410 Ja kui saadate päringu niimoodi oma programmi oma veebilehel, 765 00:36:33,410 --> 00:36:39,340 kirjutatud Java, Ruby, Python, ükskõik, server võtab see käsk 766 00:36:39,340 --> 00:36:41,660 ja tõlgendades seda sõna otseses mõttes samamoodi 767 00:36:41,660 --> 00:36:43,660 Arutasime varem tõlgendada keeles 768 00:36:43,660 --> 00:36:47,333 ja siis täita mõned tegevus null või mitu rida null või enam tabelites. 769 00:36:47,333 --> 00:36:48,208 Publik: [kuuldamatu] 770 00:36:48,208 --> 00:36:53,540 771 00:36:53,540 --> 00:36:55,070 >> DAVID Humala: Täpselt, täpselt. 772 00:36:55,070 --> 00:36:58,450 Nii pseudokoodi midagi niimoodi võib olla see. 773 00:36:58,450 --> 00:37:02,450 Oma PHP faili või oma Python faili või Java-fail, 774 00:37:02,450 --> 00:37:09,210 siis oleks pseudokoodi koodi või Scratch-like blokeerib nii, kui kasutaja külastab 775 00:37:09,210 --> 00:37:19,870 acme.com/register~~V esimest korda, Seejärel lisada kasutajaid ja nii edasi. 776 00:37:19,870 --> 00:37:22,619 Ja me tõlkida see, et konkreetsemad koodi lõpus. 777 00:37:22,619 --> 00:37:24,660 Aga tõesti, me kõik oleme ehituskivid siin 778 00:37:24,660 --> 00:37:27,680 kuigi me vahele mõned rakendamise sammud. 779 00:37:27,680 --> 00:37:31,560 >> Nii et lubage mul norima, mida me Imeliselt tegi hetk tagasi. 780 00:37:31,560 --> 00:37:36,470 Te olete loonud päris täielik tabel kasutajad. 781 00:37:36,470 --> 00:37:38,920 Tõsi, me võiks rakendada seda mitu erinevat võimalust, 782 00:37:38,920 --> 00:37:43,030 aga sa tegelikult viinud meid alla path-- ja ma ütlen teile, 783 00:37:43,030 --> 00:37:48,080 aga see on ilmselt minu fault-- on üsna ebaefektiivne andmebaasi rakendamine. 784 00:37:48,080 --> 00:37:49,950 See ei ole normaliseerunud. 785 00:37:49,950 --> 00:37:52,320 >> Ja normaliseeritud ma mõtlen seal saab olema, 786 00:37:52,320 --> 00:37:57,380 Aja jooksul oluliselt koondamise ja seetõttu ebaefektiivsus, 787 00:37:57,380 --> 00:38:00,210 see on raiskamine ruumi. 788 00:38:00,210 --> 00:38:05,650 Tuginedes ainult seda, mida sa näed siin, saab sa kujutlevad, kus see raiskamine ruumi 789 00:38:05,650 --> 00:38:08,710 läheb tulema, aja jooksul, rohkem ja rohkem kasutajaid registreerida 790 00:38:08,710 --> 00:38:10,860 oma koduleheküljel? 791 00:38:10,860 --> 00:38:13,047 Mis andmed võivad muutuda ülearuseks? 792 00:38:13,047 --> 00:38:19,084 793 00:38:19,084 --> 00:38:20,940 >> Publik: [kuuldamatu] 794 00:38:20,940 --> 00:38:22,686 >> DAVID Humala: Miks sa mõtled seda? 795 00:38:22,686 --> 00:38:23,561 Publik: [kuuldamatu] 796 00:38:23,561 --> 00:38:32,180 797 00:38:32,180 --> 00:38:32,930 DAVID Humala: Jah. 798 00:38:32,930 --> 00:38:35,622 Ja Oletame jaoks täna, et see on tõsi. 799 00:38:35,622 --> 00:38:38,330 Selgub, ja me oleme õppinud seda raske tee, et see pole tõsi. 800 00:38:38,330 --> 00:38:41,670 Kuidagi mitu linnad, millegipärast sama postiindeks, 801 00:38:41,670 --> 00:38:43,390 mis lõhub see suurepärane intuitsioon. 802 00:38:43,390 --> 00:38:46,180 Aga oletame, et on tõsi, sest see on peaaegu alati tõsi. 803 00:38:46,180 --> 00:38:51,390 Nii oletame, et postiindeksi on alati seotud sama linna 804 00:38:51,390 --> 00:38:53,600 ja riik, mis on selline on mõistlik eeldada, 805 00:38:53,600 --> 00:38:54,840 aga vale, selgub. 806 00:38:54,840 --> 00:38:57,310 Aga mõistlik eeldada tänapäeva eesmärkidel. 807 00:38:57,310 --> 00:39:01,650 >> Siis oletame, et ma elan Cambridge, MA sõnul selle kasutaja lauda 808 00:39:01,650 --> 00:39:04,100 ja oletame, et Lauren Scully elab Cambridge, MA, 809 00:39:04,100 --> 00:39:06,120 ja oletame, et Kareem elab Cambridge, MA, 810 00:39:06,120 --> 00:39:10,400 ja ARWA elab Cambridge, MA, meile kõigile 02138. 811 00:39:10,400 --> 00:39:15,890 Miks me mäleta Cambridge, MA, 02138 kõigi nelja juures? 812 00:39:15,890 --> 00:39:18,903 Mida peaks piisama, et mäletad? 813 00:39:18,903 --> 00:39:20,249 >> Publik: [kuuldamatu] 814 00:39:20,249 --> 00:39:21,540 DAVID Humala: Just sihtnumber. 815 00:39:21,540 --> 00:39:25,080 Lihtsalt, et 02138 on olemas, sest sa tead, mida me võiksime teha? 816 00:39:25,080 --> 00:39:32,650 Me võiks saada veidi fancy siin ja siin, määratleda teises tabelis 817 00:39:32,650 --> 00:39:35,850 kus see saab olla nimi see saab olema tüüpi, 818 00:39:35,850 --> 00:39:38,840 see saab olema pikkus ja edaspidi, ma olen 819 00:39:38,840 --> 00:39:42,900 läheb nimetame seda minu linnad tabelis. 820 00:39:42,900 --> 00:39:47,011 Seda nimetatakse, on Muidugi, minu kasutajate tabelis. 821 00:39:47,011 --> 00:39:49,885 Ja mis ma peaksin siia minu linnad tabelis, kas sa arvad? 822 00:39:49,885 --> 00:39:53,605 823 00:39:53,605 --> 00:39:54,535 >> Publik: [kuuldamatu] 824 00:39:54,535 --> 00:39:55,930 >> DAVID Humala: Jah. 825 00:39:55,930 --> 00:40:01,440 Nii zip ning riigi ja linna. 826 00:40:01,440 --> 00:40:05,350 Ja nii tüübist siin, me ütleme see saab olema char 5 jälle, 827 00:40:05,350 --> 00:40:06,750 teema arutelus varem. 828 00:40:06,750 --> 00:40:14,810 Sellest saab ENUMi, nagu ehk Enne ja linna saab varchar 50. 829 00:40:14,810 --> 00:40:17,960 Ja nii nüüd, mida ma saan kustutada sellest tabelist 830 00:40:17,960 --> 00:40:21,995 kõrvaldada, et ebaefektiivsus? 831 00:40:21,995 --> 00:40:23,100 >> Publik: [kuuldamatu] 832 00:40:23,100 --> 00:40:23,850 DAVID Humala: Nice. 833 00:40:23,850 --> 00:40:30,239 Riigi ja linna minema, nii et ma olen nüüd kõrvaldada potentsiaalne ebaefektiivsus 834 00:40:30,239 --> 00:40:33,280 jaoks liigselt mäleta, Cambridge, MA, Cambridge, MA, Cambridge, MA, 835 00:40:33,280 --> 00:40:35,712 Cambridge, MA, mis loodetavasti on muutu kunagi. 836 00:40:35,712 --> 00:40:37,670 Ja isegi kui see juhtub, on see minorly tüütu, nüüd 837 00:40:37,670 --> 00:40:39,750 et pean muutma seda mitu rida, 838 00:40:39,750 --> 00:40:43,770 samas siin, ma võiks lihtsalt muuta see ühes kohas. 839 00:40:43,770 --> 00:40:46,890 >> Nüüd, mis on kompromiss, ehk? 840 00:40:46,890 --> 00:40:48,020 See oli super mugav. 841 00:40:48,020 --> 00:40:50,730 Olid kõik minu andmed kenasti kokku. 842 00:40:50,730 --> 00:40:53,644 Aga mis on selgelt ka praegu? 843 00:40:53,644 --> 00:40:55,684 >> Publik: [kuuldamatu] 844 00:40:55,684 --> 00:40:58,100 DAVID Humala: Täpselt, ja ma olen rõõmus, et sa kasutada sõna liituda, 845 00:40:58,100 --> 00:41:01,320 sest see on tegelikult märksõna, maailma relatsioonandmebaasides 846 00:41:01,320 --> 00:41:05,270 SQL, see on tegelik sõna, mida Võib kirjutada või vähemalt edasi. 847 00:41:05,270 --> 00:41:09,280 Ja tegelikult, mida me nüüd peame tegema valida David täielikku teavet 848 00:41:09,280 --> 00:41:19,700 midagi valige täht kasutajate liituda linnad, nüüd-- ja nüüd 849 00:41:19,700 --> 00:41:24,010 Ma lähen lihtsalt liikuda teise liini nii et see fits-- users.zip võrdub 850 00:41:24,010 --> 00:41:34,570 cities.zip, kus users.ID võrdub 1. 851 00:41:34,570 --> 00:41:35,550 >> Mis siis toimub? 852 00:41:35,550 --> 00:41:38,970 See on kole vaadata, kuid saate liiki lugeda vasakult paremale, ülevalt alla. 853 00:41:38,970 --> 00:41:41,030 Vali täht kasutajad on sama nagu enne, 854 00:41:41,030 --> 00:41:42,930 kuid see ei ole kasutajate iseenesest. 855 00:41:42,930 --> 00:41:45,910 See on kasutajad liituda linnades. 856 00:41:45,910 --> 00:41:48,520 Mida ma liitumist nende kahe tabeleid? 857 00:41:48,520 --> 00:41:51,820 Noh, ilmselt kasutajate tabelid zip valdkonnas, 858 00:41:51,820 --> 00:41:54,810 ja selle aja jooksul on lihtsalt eriline süntaks väljendada, et idee, 859 00:41:54,810 --> 00:41:58,130 ja see on linnad tabelid zip valdkonnas. 860 00:41:58,130 --> 00:42:01,580 Ma tahan, et need kaks on võrdsed, aga ma tahan lõpuks valida 861 00:42:01,580 --> 00:42:06,280 ainult need read, kus ID-kasutajad tabelis 862 00:42:06,280 --> 00:42:08,730 võrdub 1, mis juhtus olema minu. 863 00:42:08,730 --> 00:42:11,781 >> Ja just olema selge, et programmeerija, tavaliselt siis, kui 864 00:42:11,781 --> 00:42:14,780 hardcode midagi arvu 1, sest muidu veebilehel ainult 865 00:42:14,780 --> 00:42:17,630 toetab David või Kõige esimene kasutaja, siis 866 00:42:17,630 --> 00:42:20,720 oleks selle asemel teha midagi ID, kus 867 00:42:20,720 --> 00:42:22,510 See kujutab endast muutuja, midagi, mis 868 00:42:22,510 --> 00:42:26,210 võib aja jooksul muutuda, mis on sarnane vaimus, mida ma ütlesin 869 00:42:26,210 --> 00:42:28,080 kus selliseid kohatäitjaid. 870 00:42:28,080 --> 00:42:30,396 Aga nüüd me lihtsalt hardcode seda 1. 871 00:42:30,396 --> 00:42:31,520 Ja mis see tähendab? 872 00:42:31,520 --> 00:42:35,100 Noh, kena viis visualiseerida see on et kui see käes on kasutajate tabelis, 873 00:42:35,100 --> 00:42:38,090 ja see käsi on lukud laud, me oleme omamoodi finding-- 874 00:42:38,090 --> 00:42:41,330 ja näpunäiteid mu sõrmed on zip siin, ja näpunäiteid oma sõrmi 875 00:42:41,330 --> 00:42:43,740 siin on zip, sa oled Selline blokeeringuga see 876 00:42:43,740 --> 00:42:47,950 nii et saad tagasi tulemuseks originaal tabel, mida tõeliselt liitumisel 877 00:42:47,950 --> 00:42:49,590 kaks tabelit ühise valdkonnas. 878 00:42:49,590 --> 00:42:50,840 Ja see ei pea olema zip. 879 00:42:50,840 --> 00:42:54,460 See võib olla kõige midagi muud, kuid zip on tore, sest üks, see on lühike, 880 00:42:54,460 --> 00:42:56,470 kaks, see on alati sama pikk, seega ei 881 00:42:56,470 --> 00:43:02,270 tõeline efektiivsus, mida Olivier pakutud siin 882 00:43:02,270 --> 00:43:05,200 Faktooringuga välja zip ja [Kuuldamatu] ettepaneku, et me vabaneda 883 00:43:05,200 --> 00:43:07,110 linna ja riigid. 884 00:43:07,110 --> 00:43:11,370 >> Nii et see on protsess tuntakse normaliseerumist. 885 00:43:11,370 --> 00:43:14,171 Kõik küsimused on? 886 00:43:14,171 --> 00:43:16,170 Noh lubage mul rõhutada, See on selline värk, 887 00:43:16,170 --> 00:43:19,202 kuigi see on üsna madala, Selle arutelu, et sa arvad 888 00:43:19,202 --> 00:43:20,910 sa omamoodi saada kadunud umbrohu 889 00:43:20,910 --> 00:43:26,690 See on märk rohkelt võimaluse arendajatel olla halb. 890 00:43:26,690 --> 00:43:29,600 Ja tegelikult, isegi kui me, et Kursused Olen õpetanud, kui me oleme olnud, 891 00:43:29,600 --> 00:43:32,290 Näiteks kogenematu bakalaureuse programmeerijad 892 00:43:32,290 --> 00:43:35,920 ehitada veebilehed, esimesel pilgul, veebilehed võiks vaadata kohutav. 893 00:43:35,920 --> 00:43:38,280 Ja nad on kõik funktsionaalsuse palusime, 894 00:43:38,280 --> 00:43:40,650 arendajad tegid head tööd. 895 00:43:40,650 --> 00:43:43,370 >> Aga nad ei pruugi teada, piisavalt informatsiooni andmebaasi disain 896 00:43:43,370 --> 00:43:46,680 või nad ei usu, et raske piisavalt informatsiooni tüüpi andmeid 897 00:43:46,680 --> 00:43:49,220 ja tüüpi kasutajatele kodulehel pidi olema, 898 00:43:49,220 --> 00:43:53,240 ja leiame, siis kuus kuud hiljem, pärast olen lõpetanud või liikunud, 899 00:43:53,240 --> 00:43:56,016 et kurat, meie kodulehel on tõesti, tõesti aeglane. 900 00:43:56,016 --> 00:43:58,890 Ja ma ei räägi isegi võttes miljonid või tuhandeid kasutajaid. 901 00:43:58,890 --> 00:44:02,580 Ma mõtlen paarsada kasutajad ülikoolilinnakus kellest kõik meeldib, näiteks 902 00:44:02,580 --> 00:44:04,870 ostke kursustel Samal ajal on nad 903 00:44:04,870 --> 00:44:07,010 kasutades, et muidugi kataloogi taotluse mainisin 904 00:44:07,010 --> 00:44:10,410 ja asi muutub väga aeglane, kuna puudusid indeksid. 905 00:44:10,410 --> 00:44:13,740 Puudusid punane tähte, nii et rääkida, või me ei pruugi 906 00:44:13,740 --> 00:44:17,690 tegureid ühised andmeid saaksin säästa ruumi. 907 00:44:17,690 --> 00:44:21,880 >> Ja nii, kui kontrollil arendaja või andmebaasi isik vms 908 00:44:21,880 --> 00:44:25,864 liiki küsimusi läbi mõelda isegi, kui vaatame kellegi koodi 909 00:44:25,864 --> 00:44:28,530 öelda, ei pruugi otsida läbi kõik oma koodi, kuid öelda, 910 00:44:28,530 --> 00:44:30,154 Vaatame läbi andmebaasi tabeleid. 911 00:44:30,154 --> 00:44:31,150 Mida te hoidmiseks? 912 00:44:31,150 --> 00:44:33,941 Ja siis öelda, noh, oota minutis, miks sa kasutad täisarv? 913 00:44:33,941 --> 00:44:36,224 Mis siis, kui meil on 4 miljardit ja 1 neist read? 914 00:44:36,224 --> 00:44:38,140 Ja selliseid küsimused on võimalus 915 00:44:38,140 --> 00:44:40,170 et selline tagurdamise ja tajuksid, kus 916 00:44:40,170 --> 00:44:42,300 kui sa ei ole mugav teha see, et keegi rohkem tehnilisi 917 00:44:42,300 --> 00:44:45,425 neid küsimusi, kas või mitte inimene tõesti teab oma kraami. 918 00:44:45,425 --> 00:44:47,890 Ja see on selline värk ka, et inimesed 919 00:44:47,890 --> 00:44:50,540 Internetis kes on iseõppinud, võibolla 920 00:44:50,540 --> 00:44:53,920 õppida harvem, sest sa ei pruugi kohanud seda 921 00:44:53,920 --> 00:44:56,630 nii palju, sest saad andmebaasi ja töötab, 922 00:44:56,630 --> 00:44:58,880 aga kui olete lugenud üles õpetused või olnud 923 00:44:58,880 --> 00:45:01,880 rääkis andmebaasi normaliseerimine ja indekseerimine ja tulemuslikkust, 924 00:45:01,880 --> 00:45:04,255 need on asju mis hakkavad haiget teha. 925 00:45:04,255 --> 00:45:07,480 Ja siis võiks arvata, või halb insener Võib öelda, oh, noh, me parem palk 926 00:45:07,480 --> 00:45:09,600 Suurema andmebaasi või kiirem andmebaas 927 00:45:09,600 --> 00:45:13,360 või lihtsalt visata raha selles, vertikaalselt skaalal, mitte tingimata nii. 928 00:45:13,360 --> 00:45:16,920 Kui te lähete in-- ja võid minna pärast fact-- ja lisada indeksid, 929 00:45:16,920 --> 00:45:20,320 ja see võib võtta paar tundi andmebaasi üles ehitada, et uute andmete 930 00:45:20,320 --> 00:45:24,100 struktuur, mis ma vihjas varem saate siiski määrata see tagantjärele, 931 00:45:24,100 --> 00:45:26,180 et see on koht, kus sa alustada eristada 932 00:45:26,180 --> 00:45:28,830 hea disainerid halb disainerid, mitte ainult esteetiliselt, 933 00:45:28,830 --> 00:45:32,972 kuid tulemuslikkuse tark ka. 934 00:45:32,972 --> 00:45:33,555 Kas küsimusi on? 935 00:45:33,555 --> 00:45:36,420 936 00:45:36,420 --> 00:45:37,480 Ei? 937 00:45:37,480 --> 00:45:41,980 Nii NoSQL, mis oli teist tüüpi Andmebaasi mida ma vihjas varem 938 00:45:41,980 --> 00:45:43,490 sa ei pea ridu ja veerge. 939 00:45:43,490 --> 00:45:47,000 Selle asemel, siis oleks midagi mis näeb välja natuke rohkem niimoodi. 940 00:45:47,000 --> 00:45:48,630 Ma lähen kasutada ühist süntaks. 941 00:45:48,630 --> 00:45:51,270 Looksulg juhtub kasutatakse siin üsna palju. 942 00:45:51,270 --> 00:45:55,400 Sul võib olla midagi nagu esimene nimi on David, 943 00:45:55,400 --> 00:46:00,180 siis võib-olla viimane nimi on Humala, hinnapakkumisi, 944 00:46:00,180 --> 00:46:07,530 sa võisid ID on-- vabandage, whoops-- ID on 1, 945 00:46:07,530 --> 00:46:13,410 email on malan@harvard.edu, ja ma ei viitsinud kirjutada välja puhata ja siis 946 00:46:13,410 --> 00:46:14,380 mõned muud asjad. 947 00:46:14,380 --> 00:46:17,380 >> Teisisõnu, see on tekstilise esindatuse 948 00:46:17,380 --> 00:46:20,720 mida me tavaliselt nimetame Objekti arvutiprogramm. 949 00:46:20,720 --> 00:46:26,079 Ja objekt on üldiselt lihtsalt kogumise põhiväärtus paari. 950 00:46:26,079 --> 00:46:27,370 Nii jälle see teemaks. 951 00:46:27,370 --> 00:46:30,440 Nägime põhiväärtus paari HTML, nägime põhiväärtus paari nüüd 952 00:46:30,440 --> 00:46:34,020 kontekstis andmebaasid, ning me nägi põhiväärtus paari kontekstis 953 00:46:34,020 --> 00:46:35,970 ja ma arvan, et keel juba täna. 954 00:46:35,970 --> 00:46:36,890 Hoiab tulemas. 955 00:46:36,890 --> 00:46:39,620 Ja tõepoolest, see on tõesti milliseid andmeid taandub, 956 00:46:39,620 --> 00:46:44,240 andmed ja metaandmed või väärtused ja võtmed võrra. 957 00:46:44,240 --> 00:46:47,430 >> Nii mitte-relatsiooniline andmebaas, midagi põhineb 958 00:46:47,430 --> 00:46:50,680 esemete kohta, kus sa lihtsalt salk kõik kokku ja pane see 959 00:46:50,680 --> 00:46:55,640 mällu, oleks üldiselt pildil on, või mõelnud, kui see. 960 00:46:55,640 --> 00:47:00,500 Ja ma jätan selle nüüd kui omamoodi alternatiivset lähenemist. 961 00:47:00,500 --> 00:47:03,750 Ja üks ei pruugi parem kui teised. 962 00:47:03,750 --> 00:47:07,310 Tegelikult väga moes nendel päevadel on andmebaasi süsteemid 963 00:47:07,310 --> 00:47:11,942 nagu MongoDB ja Redis ja mõned muud sellised vahendid, vabalt kättesaadavad, 964 00:47:11,942 --> 00:47:13,400 kuid nad on üha en vogue. 965 00:47:13,400 --> 00:47:18,850 Osaliselt seetõttu, et nad pakuvad täiendavat funktsioonid üle need tabelina lähenemisviise, 966 00:47:18,850 --> 00:47:20,850 vaid ka sellepärast, et nad on veidi lihtsam kasutada, 967 00:47:20,850 --> 00:47:24,099 sest sa ei pea mõtlema nii raske umbes palju neid disaini otsuseid. 968 00:47:24,099 --> 00:47:25,970 Nii plussid ja miinused. 969 00:47:25,970 --> 00:47:29,740 Nii mõistame, on võimalusi kaugemale sellest, mis me lihtsalt aega kulutada. 970 00:47:29,740 --> 00:47:32,310 >> Nii teeme seda. 971 00:47:32,310 --> 00:47:37,870 Olgem üleminek veidi nüüd tagasi veebi programmeerimine, 972 00:47:37,870 --> 00:47:40,470 nii et meil selline sõlmida täna midagi 973 00:47:40,470 --> 00:47:43,930 see on natuke käed, täites Mõnes lüngad eile. 974 00:47:43,930 --> 00:47:45,340 Lubage mul minna seda esimesena. 975 00:47:45,340 --> 00:47:49,310 Nii meenutada, et eile meil oli kanooniline HTML 976 00:47:49,310 --> 00:47:55,110 lehekülgi, mis oli algselt ainult HTML ja seejärel alles seejärel oli CSS, 977 00:47:55,110 --> 00:47:56,620 Kaskaadlaadistik. 978 00:47:56,620 --> 00:47:59,830 See on uus silt, et me ei vaata eile, või rääkida, 979 00:47:59,830 --> 00:48:01,490 Niinimetatud script tag. 980 00:48:01,490 --> 00:48:05,830 >> Selgub saab tegelikult kinnistada keeles nimetatakse JavaScript oma veebi 981 00:48:05,830 --> 00:48:08,310 lehele ja teha oma veebi lehekülgede midagi teha. 982 00:48:08,310 --> 00:48:09,710 Mida ma öelda, et? 983 00:48:09,710 --> 00:48:12,630 Noh, lubage mul minna ja lihtsalt laenata see kood hetkeks. 984 00:48:12,630 --> 00:48:15,860 Ma lähen minema Cloud9, ei ole vaja sinna minna ise veel, 985 00:48:15,860 --> 00:48:21,350 ja ma lähen nimetame seda alert.HTML. 986 00:48:21,350 --> 00:48:23,650 Ma lähen kleepida minu pilt siin. 987 00:48:23,650 --> 00:48:32,070 Ja just, et selgitada, mida ma olen teinud, las mul läheb sellele aadressile ja minna hoiatada, 988 00:48:32,070 --> 00:48:33,870 ja sa näed Hello World. 989 00:48:33,870 --> 00:48:35,440 >> Aga see on selline underwhelming. 990 00:48:35,440 --> 00:48:37,410 Ma tahan teha midagi veidi erinev. 991 00:48:37,410 --> 00:48:40,610 Nii et ma lähen tegelikult seda teha. 992 00:48:40,610 --> 00:48:43,820 Ma lähen siin e, ja vahel mu skript silte 993 00:48:43,820 --> 00:48:53,460 öelda alert ( "Hello, world"); nii teate see on natuke lohakas, kuid mul HTML, 994 00:48:53,460 --> 00:48:56,180 mille sees on keeles nimetatakse JavaScript, 995 00:48:56,180 --> 00:48:59,420 ja see on, mida nimetatakse funktsioon kõne või protseduuri kõne. 996 00:48:59,420 --> 00:49:04,500 See on verb, sõna otseses mõttes, sel juhul ja ma viitamine koodi funktsionaalsus 997 00:49:04,500 --> 00:49:06,310 et keegi kirjutas. 998 00:49:06,310 --> 00:49:09,630 >> Nii et funktsionaalsus on märguanne, et lähme see leht 999 00:49:09,630 --> 00:49:14,046 nüüd ja klõpsa Laadi uuesti ja nüüd sa vaata natuke interaktiivsust. 1000 00:49:14,046 --> 00:49:15,420 See on selline vana kooli ja kole. 1001 00:49:15,420 --> 00:49:18,580 Selline meenutaks hüpikaknad ehk Läinud 1002 00:49:18,580 --> 00:49:22,030 kuid see ei tee midagi veidi rohkem programmiline. 1003 00:49:22,030 --> 00:49:26,940 >> Nii üle, et teeme midagi huvitavat. 1004 00:49:26,940 --> 00:49:30,980 Lubage mul minna siia ja vabaneda sellest. 1005 00:49:30,980 --> 00:49:33,840 Ja ma lähen edasi minna ja luua vormi, nagu me tegime eile. 1006 00:49:33,840 --> 00:49:34,840 Tegelikult, sa tead, mida? 1007 00:49:34,840 --> 00:49:37,350 Ma lähen minema google.html, mida me 1008 00:49:37,350 --> 00:49:43,027 algas eile, mis tundus see, mille kaudu me otsinud kass 1009 00:49:43,027 --> 00:49:45,360 Aga märgata seal on selline viga praeguse versiooni. 1010 00:49:45,360 --> 00:49:49,770 See töötab kassid, kuid arvan, et Ma ei tee koostööd ja writing midagi, 1011 00:49:49,770 --> 00:49:53,290 ja ma lihtsalt käsku esitada. 1012 00:49:53,290 --> 00:49:54,540 See on selline imelik käitumine. 1013 00:49:54,540 --> 00:49:57,300 Tegi mulle tõeline Google, ei andnud mulle veateade. 1014 00:49:57,300 --> 00:50:00,590 Sooviksin öelda kasutaja sa pead andma meile väärtust. 1015 00:50:00,590 --> 00:50:01,780 >> Niisiis, kuidas võiks seda teha? 1016 00:50:01,780 --> 00:50:06,790 Noh lase mul minna tagasi Cloud9 ja lase mul minna peale minu leheküljel 1017 00:50:06,790 --> 00:50:11,980 lisada skripti tag niimoodi, kus Ma lähen kirjutada mõned JavaScript koodi. 1018 00:50:11,980 --> 00:50:15,420 Ja ma lähen tegema järgmist. 1019 00:50:15,420 --> 00:50:22,910 Kui (document.getelementByID-- ja tagasikutsumine et me rääkisime, et varem 1020 00:50:22,910 --> 00:50:23,960 et funktsioon. 1021 00:50:23,960 --> 00:50:25,310 Mis ID ma tahan saada? 1022 00:50:25,310 --> 00:50:33,050 Ma tahan saada q, ja ma lähen ütleme võrdub midagi, nagu see-- 1023 00:50:33,050 --> 00:50:38,220 tegelikult las ma kasutada jutumärkide lihtsalt consistency-- võrdub midagi, 1024 00:50:38,220 --> 00:50:46,650 Seejärel alert ( "Palun sisesta päring") siin. 1025 00:50:46,650 --> 00:50:49,200 >> Nii et mul on, mida tundub olevat midagi seisukorras. 1026 00:50:49,200 --> 00:50:51,410 Me oleme näinud seda üldist ideed nullist. 1027 00:50:51,410 --> 00:50:54,240 See on nagu üks neist puzzle tükki, mis nägi välja selline. 1028 00:50:54,240 --> 00:50:55,780 Ja mida ma öelda? 1029 00:50:55,780 --> 00:50:59,520 Noh, siin, märkate ma olen kavatseb teha järgmist. 1030 00:50:59,520 --> 00:51:02,790 Ma annan selle vormi valdkonnas mitte ainult nime q, mis 1031 00:51:02,790 --> 00:51:06,630 on see, mida saab edastada Google'ile, kuid ma olen annan selle kohalik tunnus 1032 00:51:06,630 --> 00:51:07,630 nimetatakse ka q. 1033 00:51:07,630 --> 00:51:11,780 Aga ma võiks nimetada seda kõike ma tahad, ma lihtsalt hoida lihtsa 1034 00:51:11,780 --> 00:51:14,570 ja ka seda nimetada q, just lihtsus. 1035 00:51:14,570 --> 00:51:17,650 >> Ja nüüd ma lähen tegema midagi veidi. 1036 00:51:17,650 --> 00:51:22,600 Vormil väljad siin, ma lähen lisada mida nimetatakse sündmuse käitleja. 1037 00:51:22,600 --> 00:51:32,260 On esitada, ma tahan helistada funktsioon nimega valideerima. 1038 00:51:32,260 --> 00:51:35,520 See ei ole veel seda Sõna või see verb valideerida, 1039 00:51:35,520 --> 00:51:38,560 sest mida ma lähen tegema siin nüüd on lisada mõned koodi. 1040 00:51:38,560 --> 00:51:42,200 >> Ma ütlen funktsiooni valideerima. 1041 00:51:42,200 --> 00:51:48,280 Ma lähen treppimistasemel seda ja lisada veel lokkis traksidega siin ja teine ​​siin. 1042 00:51:48,280 --> 00:51:50,110 Mõtle, mida see nüüd teeme. 1043 00:51:50,110 --> 00:51:54,210 Mul on now-- mõelda sellele, kui loodud minu enda pusletükk, mis varem ei olnud 1044 00:51:54,210 --> 00:51:57,440 olemas, ja ma olen seda nimetanud puzzle panema Kinnita pusletükk. 1045 00:51:57,440 --> 00:52:01,620 Selle eesmärk elus on täita nelja rida koodi sees on. 1046 00:52:01,620 --> 00:52:04,940 >> Kui document.getElementById nii kontseptuaalselt 1047 00:52:04,940 --> 00:52:09,380 et läheb minema element, HTML element, mille unikaalne 1048 00:52:09,380 --> 00:52:12,930 Idee on lihtsalt q ja seejärel kuigi süntaks tundub veidi imelik, 1049 00:52:12,930 --> 00:52:16,430 mis võrdub võrdub lihtsalt tähendab võrdsete. 1050 00:52:16,430 --> 00:52:20,950 Nii et see tähendab, kui elemendi kordumatu tunnus q, siis saanud, 1051 00:52:20,950 --> 00:52:25,700 ei ole väärtust, vaid see võrdub tsitaat lõppeb, midagi seal, 1052 00:52:25,700 --> 00:52:27,170 siis mida ma tahan teha? 1053 00:52:27,170 --> 00:52:29,360 Ma tahan karjuda kasutaja. 1054 00:52:29,360 --> 00:52:31,710 >> Ja me ei hakka väga täpselt siin. 1055 00:52:31,710 --> 00:52:32,960 Ma lähen tagasi vale. 1056 00:52:32,960 --> 00:52:34,380 See on viga. 1057 00:52:34,380 --> 00:52:38,746 Else, ma lähen tagasi true. 1058 00:52:38,746 --> 00:52:40,120 Nii kas see töötas või ta ei ole. 1059 00:52:40,120 --> 00:52:41,800 Vale või õige. 1060 00:52:41,800 --> 00:52:47,820 Ja nüüd, kui ma ei teinud vigu, las ma salvestada ja uuesti laadida. 1061 00:52:47,820 --> 00:52:50,940 Ja las ma kontrollige, et Ma ei tegelikult teha kirjavigu 1062 00:52:50,940 --> 00:52:52,690 nii et ma ei häbistada ennast. 1063 00:52:52,690 --> 00:52:54,240 Vaatame, kas see toimib. 1064 00:52:54,240 --> 00:52:56,930 >> Nüüd ma lähen kirjuta kassid. 1065 00:52:56,930 --> 00:52:59,421 See töötab, või pool tööd, vähemalt. 1066 00:52:59,421 --> 00:53:02,170 Nüüd lubage mul seda uuesti laadida ja nüüd lase mul proovida, esitades ilma kirjutades 1067 00:53:02,170 --> 00:53:05,860 anything-- kurat, see lagunes. 1068 00:53:05,860 --> 00:53:06,430 Üks hetk. 1069 00:53:06,430 --> 00:53:09,380 1070 00:53:09,380 --> 00:53:12,660 Lubage mul avada konsool [Kuuldamatu] sisse laadige leht. 1071 00:53:12,660 --> 00:53:13,576 Las ma proovin seda uuesti. 1072 00:53:13,576 --> 00:53:17,000 1073 00:53:17,000 --> 00:53:17,501 Oh, kurat võtaks. 1074 00:53:17,501 --> 00:53:18,000 Ma unustasin. 1075 00:53:18,000 --> 00:53:18,630 Ma teinud kirjaviga. 1076 00:53:18,630 --> 00:53:20,760 Mäletan, mis see on. 1077 00:53:20,760 --> 00:53:21,350 .value. 1078 00:53:21,350 --> 00:53:27,060 Ma mõtlesin, et öelda, kui väärtus Elemendi kelle ID on q 1079 00:53:27,060 --> 00:53:29,800 võrdub, et siis kisa kasutaja. 1080 00:53:29,800 --> 00:53:31,870 >> Nüüd lubage mul hoidke mu hinge uuesti. 1081 00:53:31,870 --> 00:53:33,480 Siin me läheme. 1082 00:53:33,480 --> 00:53:34,130 Seal me läheme. 1083 00:53:34,130 --> 00:53:35,010 Palun kirjutage päring. 1084 00:53:35,010 --> 00:53:36,840 Nii, et see ei lase mind läbi. 1085 00:53:36,840 --> 00:53:40,210 Ma võin olla selline mänguline seda, ja selle asemel, et kontrollimine ei ole väärtust, 1086 00:53:40,210 --> 00:53:46,720 Ma ei saa öelda midagi sellist, Ei enam otsivad kassid, 1087 00:53:46,720 --> 00:53:51,150 ja nüüd saame lihtsalt rohkem vallatult lasta kasutaja Otsi koeri, kui ta 1088 00:53:51,150 --> 00:53:57,490 tahab, või kui ma lähen siin ja otsida kassid, nüüd ma ei saa. 1089 00:53:57,490 --> 00:53:58,690 >> Mis siis Buffee siin? 1090 00:53:58,690 --> 00:54:03,010 Nii et üks, oleme kasutusele võetud meie maailma HTML ja CSS, 1091 00:54:03,010 --> 00:54:04,320 programmide funktsionaalsust. 1092 00:54:04,320 --> 00:54:06,300 Ma ei saa tegelikult nüüd teha otsuseid koodi. 1093 00:54:06,300 --> 00:54:10,570 Varem suutsin ma ei märgi üles teksti sisu või graafilist sisu 1094 00:54:10,570 --> 00:54:13,080 ja öelda seda, mida otsida näeb ja kus näidata. 1095 00:54:13,080 --> 00:54:16,650 Nüüd ma ei saa tegelikult küsida küsimused veebilehe 1096 00:54:16,650 --> 00:54:20,010 ja teha otsuseid, mis põhinevad seda ja palub kasutajal 1097 00:54:20,010 --> 00:54:22,780 kui mul on vaja kisa teda. 1098 00:54:22,780 --> 00:54:28,740 >> Nii proovime midagi meie endi seda. 1099 00:54:28,740 --> 00:54:33,350 Lase käia, las ma avada järgmisele slaidile siin, ja lihtsalt meelde üks asi. 1100 00:54:33,350 --> 00:54:37,250 Just nagu CSS, saame teguri välja Meie JavaScripti koodi eraldi faili, 1101 00:54:37,250 --> 00:54:40,660 võite teha sama asja JavaScript nagu CSS. 1102 00:54:40,660 --> 00:54:44,520 Ja te kasutate, et kasutades allikat atribuut script tag. 1103 00:54:44,520 --> 00:54:46,540 Aga me ei keeruliseks asju nüüd. 1104 00:54:46,540 --> 00:54:50,440 Selle asemel, kui sa saaksid mine ei see leht, 1105 00:54:50,440 --> 00:55:02,690 aga-- lase mul liikuda selle ümber order-- minna, kui sa saaksid seda lehekülge siin. 1106 00:55:02,690 --> 00:55:03,592 See URL siin. 1107 00:55:03,592 --> 00:55:04,550 See on tänapäeva slaidid. 1108 00:55:04,550 --> 00:55:07,133 Sul võib olla uuesti laadida, sest Olen lisanud paar asja. 1109 00:55:07,133 --> 00:55:09,970 1110 00:55:09,970 --> 00:55:13,890 >> Aga sinna, kus mõned mõistatusi ootavad. 1111 00:55:13,890 --> 00:55:16,670 Ja see annab meile võimaluse, veidi lõbusam kontekstis 1112 00:55:16,670 --> 00:55:20,610 võõpama mõned JavaScript. 1113 00:55:20,610 --> 00:55:25,505 Ja kui sa sinna, Ma seletan, mis ootab. 1114 00:55:25,505 --> 00:55:47,350 1115 00:55:47,350 --> 00:55:47,850 Saada roheline. 1116 00:55:47,850 --> 00:56:03,063 1117 00:56:03,063 --> 00:56:03,562 Määra sinine. 1118 00:56:03,562 --> 00:56:11,030 1119 00:56:11,030 --> 00:56:13,930 Määrab roheline seab punane. 1120 00:56:13,930 --> 00:56:19,220 1121 00:56:19,220 --> 00:56:20,220 Oih. 1122 00:56:20,220 --> 00:56:22,330 Vabandust. 1123 00:56:22,330 --> 00:56:27,630 >> See on niivõrd meie dokumentatsiooni selle väljakutse. 1124 00:56:27,630 --> 00:56:29,920 Ja see läheb tööle järgmiselt. 1125 00:56:29,920 --> 00:56:33,340 Nii et mida sa pead selle leht on terve hulk 1126 00:56:33,340 --> 00:56:38,024 pilt mõistatusi poolt sõber Stanfordi ülikoolis. 1127 00:56:38,024 --> 00:56:41,190 Nii, mida te näete siin on peaaegu Selline üks neist magic eye mõistatusi, 1128 00:56:41,190 --> 00:56:43,815 aga kui sa lihtsalt vahtima see, midagi läheb näima. 1129 00:56:43,815 --> 00:56:46,000 Pigem on midagi peidetud selle pildi. 1130 00:56:46,000 --> 00:56:47,790 Ja see on peidetud järgmisel viisil. 1131 00:56:47,790 --> 00:56:51,740 Pilte, nagu te teate, võib olla koosneb vaid kolm värve. 1132 00:56:51,740 --> 00:56:53,346 Mõned punased, mõned sinised, mõned rohelised. 1133 00:56:53,346 --> 00:56:55,220 Ja me saame teha kõik värvid vikerkaar 1134 00:56:55,220 --> 00:56:57,570 segades neid kolme värvi kuidagi. 1135 00:56:57,570 --> 00:57:01,940 >> Nii et see tundub enamasti roheline ja sinine, kuid Nick ütleb siin, 1136 00:57:01,940 --> 00:57:04,060 See raud puzzle pilt on puzzle. 1137 00:57:04,060 --> 00:57:06,780 See sisaldab pilt midagi kuulus siiski 1138 00:57:06,780 --> 00:57:08,310 pilt on moonutatud. 1139 00:57:08,310 --> 00:57:11,500 Kuulus objekt on punane väärtusi. 1140 00:57:11,500 --> 00:57:13,810 Siiski punane väärtused kõik on jagatud 10. 1141 00:57:13,810 --> 00:57:16,230 Nii nad on liiga väikesed teguriga 10. 1142 00:57:16,230 --> 00:57:18,280 Nii teisisõnu, Nick võttis originaalpildile, 1143 00:57:18,280 --> 00:57:21,500 ja ta desaturated kõik Punase sellest, 1144 00:57:21,500 --> 00:57:23,850 koguse vähendamise punane tint, kui soovite, ta. 1145 00:57:23,850 --> 00:57:26,060 >> Sinine ja roheline väärtused on kõik lihtsalt mõttetu, 1146 00:57:26,060 --> 00:57:30,000 juhuslikud väärtused, aka müra loodud varjata tegelikku pilti. 1147 00:57:30,000 --> 00:57:32,250 Mis Nick tegi, oli ta mahendanud punane ja seejärel 1148 00:57:32,250 --> 00:57:34,380 ta lihtsalt viskas juhuslik koguses sinist ja rohelist 1149 00:57:34,380 --> 00:57:37,590 kell kujutise omamoodi segased Mis on tegelikult ikka olemas. 1150 00:57:37,590 --> 00:57:41,089 Sa pead tagasi võtta need moonutused esile pilt. 1151 00:57:41,089 --> 00:57:44,255 Esiteks, määrata kõik sinised ja rohelised väärtused nulli saada neid välja viis, 1152 00:57:44,255 --> 00:57:48,700 ja vaadata tulemust. siis korrutab iga punase väärtus 10, 1153 00:57:48,700 --> 00:57:51,720 tagi tagasi üles umbes lõpliku väärtusega. 1154 00:57:51,720 --> 00:57:53,035 Mis on kuulsa objekti? 1155 00:57:53,035 --> 00:57:57,920 >> Nii et kõik teist on selle ristküliku Teie brauseris praegu. 1156 00:57:57,920 --> 00:58:00,830 Ja teate, et on olemas starteri koodi, nii rääkida. 1157 00:58:00,830 --> 00:58:04,370 See on JavaScript koodi Nick on kirjutatud teile. 1158 00:58:04,370 --> 00:58:07,250 Ja märgata, et seal on joon keskel, et 1159 00:58:07,250 --> 00:58:10,380 algab kaldkriipsuga kaldkriipsuga, see on milline on tavaliselt nimetatakse kommentaari. 1160 00:58:10,380 --> 00:58:14,660 See tähendab, et see fraas programmeerijale millel puudub funktsionaalne tähendus. 1161 00:58:14,660 --> 00:58:16,520 See on lihtsalt visuaalne kii inimese. 1162 00:58:16,520 --> 00:58:18,670 >> Nii saab minna ja kustutada lihtsalt, et joon, 1163 00:58:18,670 --> 00:58:22,214 ja super ettevaatlik, et mitte kustutada või muuta midagi. 1164 00:58:22,214 --> 00:58:25,130 Ja las ma sõelub mida see kood teeb ja ma jätan 1165 00:58:25,130 --> 00:58:28,580 teile, et aru saada saladuse pilti. 1166 00:58:28,580 --> 00:58:32,226 See esimene rida siin, et ma olen lihtsalt esiletõstetud annab teile järgmist. 1167 00:58:32,226 --> 00:58:34,100 Vasakul pool, teil on, mida nimetatakse 1168 00:58:34,100 --> 00:58:39,140 muutuja, mis Nick on meelevaldselt, kuid mõistlikult nimetatakse im pildi. 1169 00:58:39,140 --> 00:58:41,660 Paremal pool Selle võrdusmärki, 1170 00:58:41,660 --> 00:58:45,240 Ta ütleb mulle uus tsiteerida, lõppeb "lihtne pilti". 1171 00:58:45,240 --> 00:58:49,680 >> Lihtne pilt, selles kontekstis on see, mida nimetatakse klassis, noh, 1172 00:58:49,680 --> 00:58:53,910 see on selline nagu class-- Tehniliselt prototype-- aga tõesti, 1173 00:58:53,910 --> 00:58:58,000 See annab mulle uue objekti, mille sisu on fail, 1174 00:58:58,000 --> 00:58:59,610 raua-puzzle.png. 1175 00:58:59,610 --> 00:59:03,190 Teisisõnu, Nick on loonud See mõiste on lihtne pilti 1176 00:59:03,190 --> 00:59:05,920 nii et saame pedagoogiliseks eesmärkidel, mängida pilti 1177 00:59:05,920 --> 00:59:09,790 ja muuta selle punase, rohelise ja sinise väärtused. 1178 00:59:09,790 --> 00:59:11,750 >> Ja kuidas me teeme seda? 1179 00:59:11,750 --> 00:59:15,360 See mõnevõrra segasena süntaks siin on selline nagu kordus plokk 1180 00:59:15,360 --> 00:59:19,140 et mõned nägid Scratch varem täna, kus saab korrata 10 korda. 1181 00:59:19,140 --> 00:59:22,220 Sel juhul Nick ei ole kõva kodeeritud mitmete nagu 10. 1182 00:59:22,220 --> 00:59:28,020 Selle asemel, et ta ütleb, initsialiseerida muutuva nimetatakse x 0, 1183 00:59:28,020 --> 00:59:33,180 kontrollida, kas x on väiksem kui laiusega pilt. 1184 00:59:33,180 --> 00:59:38,160 >> Ja nii olla õige, pilt on muutuja dot tähendab minna sees on 1185 00:59:38,160 --> 00:59:40,900 ja saada selle laius ja Seejärel avatud paren, suletud 1186 00:59:40,900 --> 00:59:43,687 paren on lihtsalt programmeerija viis öeldes on see funktsioon. 1187 00:59:43,687 --> 00:59:44,520 Tegemist on menetlusega. 1188 00:59:44,520 --> 00:59:46,430 See on funktsionaalsus keegi kirjutas. 1189 00:59:46,430 --> 00:59:48,570 Kasutage seda ja anna mulle tagasi vastuse. 1190 00:59:48,570 --> 00:59:53,610 Ja siis x ++ on fancy viis öeldes, pärast oled teinud seda kunagi, 1191 00:59:53,610 --> 00:59:55,850 juurdekasvu x 1. 1192 00:59:55,850 --> 00:59:58,760 Teisisõnu, see on programmeerija viis 1193 00:59:58,760 --> 01:00:05,760 esilekutsumise silmus, mis on läheb Käi 1194 01:00:05,760 --> 01:00:10,410 kõik veerud pilt. 1195 01:00:10,410 --> 01:00:14,790 >> Pilt on lihtsalt võre täpid, veergude ja ridade dots. 1196 01:00:14,790 --> 01:00:18,270 See on viis itereerimine üle kõik need kolonnid. 1197 01:00:18,270 --> 01:00:20,770 Ja sees, Vahepeal me iterating 1198 01:00:20,770 --> 01:00:24,030 üle kõrgused, siin ja siin ja siin. 1199 01:00:24,030 --> 01:00:29,442 Nii et see on lihtsalt viis traipsing, peaaegu nagu vana kooli kirjutusmasina 1200 01:00:29,442 --> 01:00:32,230 minge üle Kogu pilti korduvalt. 1201 01:00:32,230 --> 01:00:36,370 Isegi see ei ole päris täielikult selge, võtke usu nüüd, 1202 01:00:36,370 --> 01:00:38,880 et need kolm rida kood on koos 1203 01:00:38,880 --> 01:00:43,090 läheb võimaldavad korduvalt otsima igal piksli iga dot pildi. 1204 01:00:43,090 --> 01:00:43,790 >> Mis on pixel? 1205 01:00:43,790 --> 01:00:46,250 Noh, et oleks selge, kui me vaatame algse ja suumida, 1206 01:00:46,250 --> 01:00:49,060 kui sa tõesti panna oma silmad arvuti ekraani, mis on 1207 01:00:49,060 --> 01:00:53,510 lihtsalt terve hunnik täpid, mitu tuhat dots kokku pakkida seal. 1208 01:00:53,510 --> 01:00:56,180 Ja mis sa nüüd teha? 1209 01:00:56,180 --> 01:00:59,240 Iga üks neist punktidest, lõplik määratlus, 1210 01:00:59,240 --> 01:01:06,350 on tulemus, mis on üldiselt nimetatakse RGB, punane, roheline, sinine, mis 1211 01:01:06,350 --> 01:01:09,940 jällegi võib kombineerida anna teile mingit värvide arvu. 1212 01:01:09,940 --> 01:01:13,200 >> Tegelikult, kui sa mäletad alates palju, palju aastaid tagasi, 1213 01:01:13,200 --> 01:01:17,320 ekraanid nagu need asjad harjunud mitte üks lääts kuid kolm. 1214 01:01:17,320 --> 01:01:20,700 Üks neist sülitama punane tuli üks neid sülitama roheline tuli, üks neist 1215 01:01:20,700 --> 01:01:21,600 sülitama sinist valgust. 1216 01:01:21,600 --> 01:01:24,391 Ja kui sa olid mo nagu ma olin, kus nad olid kunagi 1217 01:01:24,391 --> 01:01:27,000 õigesti reguleeritud, siis olid alati vaadates ajalugu filme 1218 01:01:27,000 --> 01:01:29,770 mis oli veidi moonutatud, sest kolme värvi ei olnud 1219 01:01:29,770 --> 01:01:30,970 ühendades korralikult. 1220 01:01:30,970 --> 01:01:36,330 >> Aga selgub, et iga Nende väärtuste punane, roheline ja sinine, 1221 01:01:36,330 --> 01:01:37,980 võib olla mitmeid nendega. 1222 01:01:37,980 --> 01:01:42,500 Näiteks 0 Punane tähendab, et punane, 0 roheline tähendab, roheline, 1223 01:01:42,500 --> 01:01:45,120 ja 0 sinise tähendab, sinine. 1224 01:01:45,120 --> 01:01:49,403 Nii et kui teil ei ole punane, no roheline, ja mitte sinine, mis värvi sul on? 1225 01:01:49,403 --> 01:01:51,009 >> Publik: [kuuldamatu] 1226 01:01:51,009 --> 01:01:52,800 DAVID Humala: Sa ei teeks loodan, et see on valge. 1227 01:01:52,800 --> 01:01:55,333 Kahjuks see operates-- kahju? 1228 01:01:55,333 --> 01:01:56,380 >> Publik: [kuuldamatu] 1229 01:01:56,380 --> 01:01:58,630 DAVID Humala: Nii et sa tegelikult on must, antud juhul. 1230 01:01:58,630 --> 01:02:01,530 Nii et kui teil on ükski neist värvid sisse lülitatud, siis on must. 1231 01:02:01,530 --> 01:02:06,510 Siiski, kui teil on, oletame, et palju neist, nagu palju punast, 255 see, 1232 01:02:06,510 --> 01:02:10,340 palju rohelist ja palju sinine, mis on valge. 1233 01:02:10,340 --> 01:02:12,230 Nii et need on kaks äärmust. 1234 01:02:12,230 --> 01:02:17,460 Nii et see loogika, kui mul on palju punane ja mingit rohelist ega sinist, 1235 01:02:17,460 --> 01:02:18,485 mis värvi see on? 1236 01:02:18,485 --> 01:02:19,360 Publik: [kuuldamatu] 1237 01:02:19,360 --> 01:02:20,610 DAVID Humala: Õige, ilmselt. 1238 01:02:20,610 --> 01:02:25,940 Ja siis ei ole punane, palju roheline, ei ole sinine, ja seejärel 1239 01:02:25,940 --> 01:02:29,590 kui te have-- hästi, me lihtsalt lõpetada see lihtsalt sellepärast, kuid see loomulikult 1240 01:02:29,590 --> 01:02:31,350 Nüüd on sinine. 1241 01:02:31,350 --> 01:02:33,030 Ja nüüd saab ühendada need värvid. 1242 01:02:33,030 --> 01:02:36,430 Nüüd, kui kõrvale, kui keegi teist on kunagi teinud tegelik veebilehe kujunduse, 1243 01:02:36,430 --> 01:02:38,360 Sa võid tegelikult vaata sümbolid sellist. 1244 01:02:38,360 --> 01:02:42,030 FFF-- ja tegelikult on see ilmselt isegi mitte seda. 1245 01:02:42,030 --> 01:02:44,380 See on FFFFFF. 1246 01:02:44,380 --> 01:02:48,970 >> Igaüks näinud F-ja Ed ja A-through-- nii selgub, 1247 01:02:48,970 --> 01:02:52,970 me rääkisime eile kohaga, ja täna, selline umbes kohaga. 1248 01:02:52,970 --> 01:02:54,570 Täna me rääkisime binaarne. 1249 01:02:54,570 --> 01:02:59,010 Selgub, kuueteistkümnendsüsteemis on väga ühisbaas süsteemi kasutada arvuti. 1250 01:02:59,010 --> 01:03:04,960 Binary on kaks, koma on 10, hex on 16. 1251 01:03:04,960 --> 01:03:08,640 Ja selgub, kuidas teha loete kuueteistkümnendsüsteemis? 1252 01:03:08,640 --> 01:03:11,620 Null, üks, kaks, kolm, neli, viis, kuus, seitse, kaheksa, 1253 01:03:11,620 --> 01:03:14,730 üheksa, mida sa kasutada pärast üheksa? 1254 01:03:14,730 --> 01:03:16,600 Mis on järgmine number? 1255 01:03:16,600 --> 01:03:19,180 Meil on juba kasutatud null. 1256 01:03:19,180 --> 01:03:20,570 Mul on vaja 16 neist. 1257 01:03:20,570 --> 01:03:25,770 Null, üks, kaks, kolm, neli, viie, kuue, seitsme, kaheksa, üheksa, 1258 01:03:25,770 --> 01:03:27,520 teil on vaja mõned suvalise konventsiooni. 1259 01:03:27,520 --> 01:03:30,810 >> Ja mida inimkond otsustas mõnda aega tagasi, et pärast üheksat kaasas kiri 1260 01:03:30,810 --> 01:03:34,450 A ja seejärel B ja seejärel C. Nii kuidas sa loota kuueteistkümnendsüsteemis 1261 01:03:34,450 --> 01:03:37,040 on null, üks, kaks, kolm, neli, viie, kuue, seitsme, kaheksa, üheksa, 1262 01:03:37,040 --> 01:03:42,880 A, B, C, D, E, F, ja et loeb sa kõik teed, selgub, et 15. 1263 01:03:42,880 --> 01:03:47,850 Nii nullist 15 on nullist F. Nüüd, miks on see, et olulised? 1264 01:03:47,850 --> 01:03:51,570 Noh, kui sul on kaks F-ndatel, see on, kuidas sa väljendad 255. 1265 01:03:51,570 --> 01:03:54,350 >> Nii pikk lugu lühike, et maailma Photoshop, 1266 01:03:54,350 --> 01:03:57,299 et graafilise disaini tarkvara, maailma veebi arengut, 1267 01:03:57,299 --> 01:03:59,590 kus sul on palju värve, muidugi, mängida, 1268 01:03:59,590 --> 01:04:02,350 sageli programmeerijad väljendada need, kuueteistkümnesüsteemis 1269 01:04:02,350 --> 01:04:05,260 lihtsalt sellepärast, et see kipub olema veidi lihtsam. 1270 01:04:05,260 --> 01:04:07,850 Kuigi esmapilgul see on palju keerulisem. 1271 01:04:07,850 --> 01:04:11,590 >> Seega igal juhul on see oluline sest Nick Stanfordi 1272 01:04:11,590 --> 01:04:15,100 on andnud meile kuus tükki funktsionaalsus mis sa, lootustandev programmeerijad, 1273 01:04:15,100 --> 01:04:17,060 Nüüd on võime kasutada. 1274 01:04:17,060 --> 01:04:19,960 Ehitatud seda veebi leht on kuus ülesannet, 1275 01:04:19,960 --> 01:04:21,820 kuus korra, et Nick kirjutas. 1276 01:04:21,820 --> 01:04:26,800 Kolm neist on sulle mitmeid, punane, roheline või sinine väärtus. 1277 01:04:26,800 --> 01:04:28,787 Kolm neist on seatud, et väärtus. 1278 01:04:28,787 --> 01:04:30,620 Ja need allkriipsud on vaid kohatäitjaid, 1279 01:04:30,620 --> 01:04:32,600 nii et sa pead teadma, millised need on. 1280 01:04:32,600 --> 01:04:36,240 >> Nii need kolm funktsiooni, esimene neist asjadest 1281 01:04:36,240 --> 01:04:39,190 saab olema x-koordinaat, ja teine ​​neid asju 1282 01:04:39,190 --> 01:04:40,700 läheb y-koordinaat. 1283 01:04:40,700 --> 01:04:44,650 Teisisõnu, mis dot, mis piksli sa tahad saada roheline, 1284 01:04:44,650 --> 01:04:46,480 saada sinine, saada punane. 1285 01:04:46,480 --> 01:04:51,440 Ja siis siin, see saab olema x, see saab olla y väärtus, 1286 01:04:51,440 --> 01:04:55,379 ja see saab olla mitmeid. 1287 01:04:55,379 --> 01:04:57,170 Nii teeme esimese line see kokku 1288 01:04:57,170 --> 01:05:00,220 ja siis ma jätan selle teile proovida tuletada puhata. 1289 01:05:00,220 --> 01:05:03,100 Nii juhendite järgi Sellel leheküljel peame 1290 01:05:03,100 --> 01:05:08,960 suurendada punane teguriga 10 ja meil on vaja eemaldada roheline 1291 01:05:08,960 --> 01:05:09,930 ja eemaldage sinine. 1292 01:05:09,930 --> 01:05:12,410 Alustame viimane stsenaariume. 1293 01:05:12,410 --> 01:05:17,760 Nii et kui ma tahan, ja ma lähen taandamiseks abil mõned ruumid, 1294 01:05:17,760 --> 01:05:22,291 kui ma tahan, et määrata punast, roheline või sinine väärtus, 1295 01:05:22,291 --> 01:05:23,540 Ma lähen tegema järgmist. 1296 01:05:23,540 --> 01:05:31,280 >> Pilt, im.setBlue ja seejärel põhineb minu juhiseid siin 1297 01:05:31,280 --> 01:05:36,700 Mis kolm asja ma peaksin kirjuta sees sulgudes nüüd? 1298 01:05:36,700 --> 01:05:41,960 Vajan x väärtus, y väärtus, ja mis number 1299 01:05:41,960 --> 01:05:48,770 ma peaksin siin, kui ma tahan lahti saada sinine, põhineb see lugu siin? 1300 01:05:48,770 --> 01:05:49,630 Just null. 1301 01:05:49,630 --> 01:05:52,420 Kui ma tahan mingit sinist, ma olen lihtsalt muutu see nulli. 1302 01:05:52,420 --> 01:05:54,465 >> Nüüd lihtsalt sulgege mida see teeb. 1303 01:05:54,465 --> 01:05:56,970 1304 01:05:56,970 --> 01:06:01,170 Mul on siin need top teine ​​ja kolmas rida, 1305 01:06:01,170 --> 01:06:04,080 Ma väitis kaks ahelat, nested silmad, kui te 1306 01:06:04,080 --> 01:06:08,360 siis, et ei kavatse mõjuda edeneb vasakult paremale, 1307 01:06:08,360 --> 01:06:11,590 ülevalt alla üle kõik x väärtused ja kõik y väärtused. 1308 01:06:11,590 --> 01:06:15,167 Sest jälle, pildil on vaid grid ridu ja veerge. 1309 01:06:15,167 --> 01:06:17,000 Nii et see ei hakka lahti kõik sinised. 1310 01:06:17,000 --> 01:06:18,627 Las ma jätta järgmisele reale teile. 1311 01:06:18,627 --> 01:06:20,043 Kuidas vabaneda kõik roheline? 1312 01:06:20,043 --> 01:06:23,747 1313 01:06:23,747 --> 01:06:25,140 >> Publik: [kuuldamatu] 1314 01:06:25,140 --> 01:06:26,151 >> DAVID Humala: Nice. 1315 01:06:26,151 --> 01:06:28,260 >> Publik: [kuuldamatu] 1316 01:06:28,260 --> 01:06:30,850 >> DAVID Humala: Nice. 1317 01:06:30,850 --> 01:06:36,120 Ja ma lähen välja suumida ja lihtsalt võtta hoolt, et olete ei teinud ühtegi kirjavigu. 1318 01:06:36,120 --> 01:06:39,390 Ja kui sa oled mugav mida olete teinud, 1319 01:06:39,390 --> 01:06:42,936 minna ja klõpsake nuppu Käivita / Salvesta ja vaata, mida sa saad. 1320 01:06:42,936 --> 01:06:46,982 1321 01:06:46,982 --> 01:06:48,690 Ja jälle oleme teinud Vaid kolm muutusi. 1322 01:06:48,690 --> 01:06:52,130 Me kustutasime, et esimene kommenteerida ja asendada see 1323 01:06:52,130 --> 01:06:53,575 need kaks rida koodi. 1324 01:06:53,575 --> 01:06:55,742 1325 01:06:55,742 --> 01:06:58,450 Ja see on OK, kui sa pead lüüa Run / Salvesta nuppu paar korda 1326 01:06:58,450 --> 01:07:01,190 midagi kinnitada. 1327 01:07:01,190 --> 01:07:03,610 >> Ja andke mulle ka suumida minu koodi, nii et saate transkribeerida. 1328 01:07:03,610 --> 01:07:04,110 Väga hea. 1329 01:07:04,110 --> 01:07:08,720 Nii ma näen Andrew on, mida Tundub, et viga. 1330 01:07:08,720 --> 01:07:11,110 Ta sai just suur must ristkülik oma ekraanil. 1331 01:07:11,110 --> 01:07:13,120 Kas keegi on suur must ristkülik? 1332 01:07:13,120 --> 01:07:13,390 >> Publik: Jah. 1333 01:07:13,390 --> 01:07:14,360 >> DAVID Humala: Big must ristkülik? 1334 01:07:14,360 --> 01:07:16,068 OK, nii et mõtleme kohta, mida see tähendab. 1335 01:07:16,068 --> 01:07:20,560 Me ütlesime, et null, null, null, seega ei ole roheline, ei punaste, siniste, 1336 01:07:20,560 --> 01:07:21,980 annan sulle must. 1337 01:07:21,980 --> 01:07:24,467 Ja selgub, et enamik meie sülearvutid 1338 01:07:24,467 --> 01:07:25,800 lihtsalt ei ole piisavalt truudust. 1339 01:07:25,800 --> 01:07:27,750 Sa ei saa päris öelda, et on tegelikult midagi seal. 1340 01:07:27,750 --> 01:07:30,340 Ja kui sa mingi võibolla lahja ekraani edasi ja tagasi, 1341 01:07:30,340 --> 01:07:32,850 äkki sa näed natuke midagi seal? 1342 01:07:32,850 --> 01:07:34,820 Võib-olla selline, omamoodi? 1343 01:07:34,820 --> 01:07:36,640 See ei ole täiesti must. 1344 01:07:36,640 --> 01:07:38,050 >> Publik: [kuuldamatu] 1345 01:07:38,050 --> 01:07:39,510 >> DAVID Humala: Spoiler! 1346 01:07:39,510 --> 01:07:42,610 Seal on mõned punased olemas, kuid mäletan spetsifikatsioonid 1347 01:07:42,610 --> 01:07:44,940 probleemi, Nick toonides see maha. 1348 01:07:44,940 --> 01:07:47,860 Ta desaturated see mõnevõrra kuid mitte kõik viis null. 1349 01:07:47,860 --> 01:07:51,670 Nii et kui me tahame, et suurendada summa punane, andke mulle ettepaneku see trikk. 1350 01:07:51,670 --> 01:07:53,750 Las ma suumida minu ekraanil. 1351 01:07:53,750 --> 01:07:58,678 Ja las ma minna ja öelda summa võrdub im.getRed (x, y). 1352 01:07:58,678 --> 01:08:02,440 1353 01:08:02,440 --> 01:08:05,790 >> See koodirida annab mulle midagi, mida nimetatakse muutuja. 1354 01:08:05,790 --> 01:08:09,643 Mul on omavoliliselt, kuid väidetavalt mõistlikult helistasin oma muutuja, mida, 1355 01:08:09,643 --> 01:08:10,143 ilmselt? 1356 01:08:10,143 --> 01:08:13,530 1357 01:08:13,530 --> 01:08:14,340 Summa. 1358 01:08:14,340 --> 01:08:14,980 Just summa. 1359 01:08:14,980 --> 01:08:16,960 Ma võiks olen nimetatakse seda midagi, ma tahan, aga ma olen 1360 01:08:16,960 --> 01:08:19,490 Kasutades seda muud ülesanded et ma varem kirjeldatud 1361 01:08:19,490 --> 01:08:25,359 saada summa punane x koma y. 1362 01:08:25,359 --> 01:08:27,520 Miks ma seda teen? 1363 01:08:27,520 --> 01:08:30,004 Mida sa tahad teha siin? 1364 01:08:30,004 --> 01:08:32,910 1365 01:08:32,910 --> 01:08:33,619 Sa pead add-- 1366 01:08:33,619 --> 01:08:34,493 Publik: [kuuldamatu] 1367 01:08:34,493 --> 01:08:36,279 DAVID Humala: Jah, võib-olla korrutada see 10. 1368 01:08:36,279 --> 01:08:38,862 Ja kui te ei tea seda, ma olen läheb edasi minna ja seda teha. 1369 01:08:38,862 --> 01:08:42,060 Ma lähen edasi minna ja ütleme, ma tahan summa punane 1370 01:08:42,060 --> 01:08:46,550 Ma tahan olla mis iganes on punane, korda 10 1371 01:08:46,550 --> 01:08:50,330 ja täht, tärn oma Klaviatuur on the-- ei kasuta x. 1372 01:08:50,330 --> 01:08:51,569 Kasutage täht. 1373 01:08:51,569 --> 01:08:55,350 See, kuidas sa korrutada asju Enamikus programmeerimiskeeltes. 1374 01:08:55,350 --> 01:08:59,790 >> Nii kohaselt Kareem intuitsioon, salvestatakse see muutuja nimega summa, 1375 01:08:59,790 --> 01:09:03,649 kui palju punase tahan Kohapeal xy. 1376 01:09:03,649 --> 01:09:11,500 Kuidas nüüd, ma teha, et Pixel on see number? 1377 01:09:11,500 --> 01:09:12,859 Olete juba teinud enne. 1378 01:09:12,859 --> 01:09:17,666 Te seate roheline ja sinine mingit väärtust, nulli. 1379 01:09:17,666 --> 01:09:18,540 Publik: [kuuldamatu] 1380 01:09:18,540 --> 01:09:20,040 DAVID Humala: Jah, noh sa ei taha, et see 10. 1381 01:09:20,040 --> 01:09:21,460 Sa juba tegid matemaatika siin. 1382 01:09:21,460 --> 01:09:24,779 Nii saame väärtust punane, mis on vähe, arvatavasti. 1383 01:09:24,779 --> 01:09:26,180 Me korrutades kuni 10. 1384 01:09:26,180 --> 01:09:29,139 Mida sa tahad teha muutuva summa nüüd? 1385 01:09:29,139 --> 01:09:30,130 >> Publik: [kuuldamatu] 1386 01:09:30,130 --> 01:09:30,880 >> DAVID Humala: Nice. 1387 01:09:30,880 --> 01:09:34,616 Nii im.set-- mida? 1388 01:09:34,616 --> 01:09:35,640 >> Publik: setRed. 1389 01:09:35,640 --> 01:09:39,760 >> DAVID Humala: setRed, Kohapeal xy. 1390 01:09:39,760 --> 01:09:40,260 Jah. 1391 01:09:40,260 --> 01:09:41,200 Ja just summa. 1392 01:09:41,200 --> 01:09:44,257 Teisisõnu, muutuva on ajutine kohatäide 1393 01:09:44,257 --> 01:09:45,840 mida saab panna midagi tahad. 1394 01:09:45,840 --> 01:09:48,680 Meil juhtub olema laskmise number seda, hetkel. 1395 01:09:48,680 --> 01:09:51,569 Meil on korrutatud seda 10 suureks teha. 1396 01:09:51,569 --> 01:09:56,480 Ja nüüd ma asendades muutuja kui kõnealune kolmas argument, või sisend 1397 01:09:56,480 --> 01:09:57,810 seada punane. 1398 01:09:57,810 --> 01:10:00,440 Ja nii, et kui sul lõpeta seda, ja võtta teadmiseks 1399 01:10:00,440 --> 01:10:02,330 on semikoolonite ja sulgudes. 1400 01:10:02,330 --> 01:10:06,290 >> Lase käia ja kliki joosta / salvestada kord, ja te 1401 01:10:06,290 --> 01:10:10,690 nägema, maagiliselt, mis oli tegelikult seal. [? ARWA,?] Mis seal on? 1402 01:10:10,690 --> 01:10:16,412 Eiffeli torn täieõiguslik punane, mitte päris pime. 1403 01:10:16,412 --> 01:10:17,870 see peaks olema selgem nüüd, jah? 1404 01:10:17,870 --> 01:10:18,840 OKEI. 1405 01:10:18,840 --> 01:10:20,215 Ja Andrew, enam musta kasti? 1406 01:10:20,215 --> 01:10:21,090 Publik: [kuuldamatu] 1407 01:10:21,090 --> 01:10:22,180 DAVID Humala: Hea küll. 1408 01:10:22,180 --> 01:10:23,610 Nii et ma hoian seda ekraanil. 1409 01:10:23,610 --> 01:10:27,010 Kui sa tahad mängida seda hiljem, ma taasluua seda teile. 1410 01:10:27,010 --> 01:10:29,140 Aga see kood siin just tegigi. 1411 01:10:29,140 --> 01:10:31,460 Miks me ei tee veel ühe. 1412 01:10:31,460 --> 01:10:33,880 Las ma keri veidi. 1413 01:10:33,880 --> 01:10:36,760 >> Nii sel juhul projektorit tegelikult ei tee seda õiglust. 1414 01:10:36,760 --> 01:10:40,486 Aga oma ekraane, siis ilmselt on väga punane ja väga musta kasti. 1415 01:10:40,486 --> 01:10:42,610 Ka see on mõistatus, et näitab midagi kuulus. 1416 01:10:42,610 --> 01:10:44,193 Kuid pilt on moonutatud. 1417 01:10:44,193 --> 01:10:47,740 Tõeline kujutis, seekord on sinise ja rohelise väärtused. 1418 01:10:47,740 --> 01:10:51,820 Kuid nad on kõik jagatud 20 nii väärtused on väga väike. 1419 01:10:51,820 --> 01:10:54,660 Punane väärtused on vaid juhuslike arvude, müra. 1420 01:10:54,660 --> 01:10:57,190 Tühista need moonutused paljastada tõelist pilti. 1421 01:10:57,190 --> 01:10:59,200 >> Nii Nick siis ütleb teile, mida teha. 1422 01:10:59,200 --> 01:11:04,290 Määra punane väärtusi nulli ja siis ei riku, mis see on. 1423 01:11:04,290 --> 01:11:07,110 Siis korrutada sinine ja rohelised väärtused 20. 1424 01:11:07,110 --> 01:11:09,820 Nii et see on peaaegu sama programmi nagu enne, 1425 01:11:09,820 --> 01:11:11,380 kuid sa tagasi pöörata. 1426 01:11:11,380 --> 01:11:13,780 Ja siis ma panen koodi enne ekraanile korral 1427 01:11:13,780 --> 01:11:16,650 soovite naasta see või mängida edasi, et üks. 1428 01:11:16,650 --> 01:11:18,100 Las ma suumida seda. 1429 01:11:18,100 --> 01:11:21,450 Aga lahendada vask pilti puzzle, number kaks. 1430 01:11:21,450 --> 01:11:37,623 1431 01:11:37,623 --> 01:11:40,580 >> Publik: [kuuldamatu] 1432 01:11:40,580 --> 01:11:44,010 >> DAVID Humala: OK, nii et see, mida ma olen ei kavatse anda nii palju näpunäiteid. 1433 01:11:44,010 --> 01:11:47,220 Nii et ma would-- oh, lähme vaata, sul on kirjaviga siin. 1434 01:11:47,220 --> 01:11:49,621 Seega pidage meeles, see siin tegelikult vajab sinna minna. 1435 01:11:49,621 --> 01:11:52,870 Mida ma teen ettepaneku, kui soovite keskenduda selle ühe, seal on vastus. 1436 01:11:52,870 --> 01:11:57,060 Kui soovite transkribeerida, et see peaks saama esimene töö. 1437 01:11:57,060 --> 01:11:59,910 Ja siis saab kasutada seda inspiratsiooni teine. 1438 01:11:59,910 --> 01:12:02,230 Nice. 1439 01:12:02,230 --> 01:12:02,730 Väga hea. 1440 01:12:02,730 --> 01:12:05,430 1441 01:12:05,430 --> 01:12:08,180 >> Ja kummaline, See on lihtne näide 1442 01:12:08,180 --> 01:12:11,080 on teaduse või kunsti nimetatakse steganography, 1443 01:12:11,080 --> 01:12:14,100 kunst peidus teavet pilte. 1444 01:12:14,100 --> 01:12:16,890 Tavaliselt pilte olla vesimärgiga väga jultunult 1445 01:12:16,890 --> 01:12:19,500 Logoga põhjas nurgas, kuid selgelt, siis 1446 01:12:19,500 --> 01:12:22,070 võib olla palju keerukam seda ja tegelikult 1447 01:12:22,070 --> 01:12:25,050 peita teiste piltide pildid kuidagi seda tehnikat. 1448 01:12:25,050 --> 01:12:59,890 1449 01:12:59,890 --> 01:13:05,770 >> Võtke veel 30 sekundit, ja siis me vähemalt teada, mida sa peaksid nägema. 1450 01:13:05,770 --> 01:13:08,330 Ja ma jätan kolmanda üks kui kodus kasutamise, 1451 01:13:08,330 --> 01:13:11,353 Kui soovite rohkem vaidlustada sel nädalavahetusel. 1452 01:13:11,353 --> 01:13:18,240 1453 01:13:18,240 --> 01:13:20,390 Ja ma arvan, Andrew võiks saanud see esimene. 1454 01:13:20,390 --> 01:13:22,645 Mis on teine ​​pilt, Andrew? 1455 01:13:22,645 --> 01:13:23,920 >> Publik: vabadussammas. 1456 01:13:23,920 --> 01:13:28,500 >> DAVID Humala: Vabadussammas saab vastuse seekord. 1457 01:13:28,500 --> 01:13:31,140 Nii jälle, lihtsalt mõned lihtsad näited, mille eesmärgiks 1458 01:13:31,140 --> 01:13:35,040 on anda teile ettekujutuse oleme tõlgitud pildiline Scratch 1459 01:13:35,040 --> 01:13:40,410 blokeerib rohkem tüütu ja rohkem keeruline kood, kuid kõik ideed 1460 01:13:40,410 --> 01:13:42,980 veel täpselt sama, kuigi kasutuselevõtt 1461 01:13:42,980 --> 01:13:48,380 Nüüd mõiste muutuv, olles võimalik salvestada midagi ajutiselt. 1462 01:13:48,380 --> 01:13:51,750 >> Teeme veel ühe käed-, lihtsalt nüüd ühendage punktid 1463 01:13:51,750 --> 01:13:53,880 midagi natuke rohkem reaalse maailma. 1464 01:13:53,880 --> 01:13:56,610 Kui olete valmis, kui sa saaksid mine selle URL ekraanil. 1465 01:13:56,610 --> 01:14:00,610 See on ka oma koopia slaidid, developers.google.com/maps~~V. 1466 01:14:00,610 --> 01:14:03,660 Olgem tegelikult midagi tõeline, nii et rääkida, netis 1467 01:14:03,660 --> 01:14:07,600 kasutades Google Maps API või rakenduse programmeerimise liidest, 1468 01:14:07,600 --> 01:14:08,940 järgmisel viisil. 1469 01:14:08,940 --> 01:14:12,341 >> Google, nagu paljud ettevõtted, pakub palju vaba funktsionaalsus 1470 01:14:12,341 --> 01:14:14,840 mida saab kasutada ehitada oma ise huvitavaid rakendusi. 1471 01:14:14,840 --> 01:14:18,890 Tegelikult, kui olete kunagi kasutada Uber saada kabiini või auto, 1472 01:14:18,890 --> 01:14:21,640 te ilmselt teate, et uber on kaart ja see näitab, autod peal. 1473 01:14:21,640 --> 01:14:24,870 See tähendab, et nii hästi kui suudan öelda, Google Maps API. 1474 01:14:24,870 --> 01:14:28,884 Nad on tegelikult kasutades Google Maps, kuid Uber ei ole kaardistamine firma 1475 01:14:28,884 --> 01:14:31,050 ega oleks üldse Eriti huvitav probleem 1476 01:14:31,050 --> 01:14:33,510 lahendada peal oma autoteenindus probleem. 1477 01:14:33,510 --> 01:14:35,510 Ja nii nad seisma, uuesti, õlgadel 1478 01:14:35,510 --> 01:14:37,520 teised, Google antud juhul. 1479 01:14:37,520 --> 01:14:42,850 Nii nad kasutavad Google Maps, kuid oma autoteenindus ja muud sellised omadused. 1480 01:14:42,850 --> 01:14:47,770 >> Nii et me läheme ära Selle teha järgmist. 1481 01:14:47,770 --> 01:14:50,230 Ja kui ma olen läinud liiga kiiresti, lihtsalt helista mulle üle ühe hetkega. 1482 01:14:50,230 --> 01:14:53,500 Palju sulgege mõned pildi värk. 1483 01:14:53,500 --> 01:14:56,290 Sa peaksid nägema ennast kell lehekülje niimoodi. 1484 01:14:56,290 --> 01:14:58,230 Nii Google'i kena ja nad ühed parimad 1485 01:14:58,230 --> 01:15:01,364 pakkuda mitte ainult API, kuid vaba API, mis sa 1486 01:15:01,364 --> 01:15:02,780 saab mängida või äriliselt. 1487 01:15:02,780 --> 01:15:06,450 Nad alustada laadimist, kui teie kasutamine on kõrge, kuid ma läksin edasi ette 1488 01:15:06,450 --> 01:15:10,490 ja allkirjastatud meid üles tasuta konto et loodetavasti 10 arvutid 1489 01:15:10,490 --> 01:15:12,480 ei diskvalifitseerida meid ootamatult. 1490 01:15:12,480 --> 01:15:14,320 Loodetavasti see tutvustamise töötab. 1491 01:15:14,320 --> 01:15:18,840 >> Ja märgata, et neil on API jaoks Android, iOS, veebi ja veebiteenused, 1492 01:15:18,840 --> 01:15:19,620 mis iganes see on. 1493 01:15:19,620 --> 01:15:20,700 Olgem keskenduda veebis. 1494 01:15:20,700 --> 01:15:26,560 Nii klõpsake roosa kasti, web, ja et viib teid loodetavasti lehele 1495 01:15:26,560 --> 01:15:27,630 siin. 1496 01:15:27,630 --> 01:15:29,335 Ja nad ju terve hulk API. 1497 01:15:29,335 --> 01:15:31,210 Ja see võib olla veidi valdav alguses, 1498 01:15:31,210 --> 01:15:33,000 aga ma juhtida meid läbi, mida me tahame. 1499 01:15:33,000 --> 01:15:38,500 >> Ülaosas vasakul on Google Maps JavaScript API, JavaScripti API. 1500 01:15:38,500 --> 01:15:40,380 Nii et laske käia ja klõpsake, et üks. 1501 01:15:40,380 --> 01:15:49,360 Ja mis viib teid nüüd, et järgmise lehekülje, demod ja proovi kood. 1502 01:15:49,360 --> 01:15:51,190 Lubage mul suumimiseks siin. 1503 01:15:51,190 --> 01:15:56,300 Ja las ma meid mina-- keri et kui ta ütleb quick start samme. 1504 01:15:56,300 --> 01:15:57,970 Ekraani peaks nägema minu. 1505 01:15:57,970 --> 01:16:01,130 >> Ja seal on kaks sammu, saada võtme ja hakata välja. 1506 01:16:01,130 --> 01:16:04,190 Ma juba tegin sammu üks Meie, saada nn võti. 1507 01:16:04,190 --> 01:16:05,320 Ja see on üldine idee. 1508 01:16:05,320 --> 01:16:09,210 API võti on üldiselt lihtsalt suur juhusliku arvu või stringi 1509 01:16:09,210 --> 01:16:11,130 et sa peaksid kleepida oma koodi, 1510 01:16:11,130 --> 01:16:15,280 nii, et Google teab, kes sa oled, kui te kasutate oma teenust, oma API. 1511 01:16:15,280 --> 01:16:17,370 See ei tähenda, et me oleme süüdistatakse midagi. 1512 01:16:17,370 --> 01:16:21,030 Ja nüüd, kliki asemel üks, klõpsa hakata välja. 1513 01:16:21,030 --> 01:16:25,990 Kui sa saaksid lihtsalt laine mind üle, kui ei tea, kus me oleme. 1514 01:16:25,990 --> 01:16:28,040 >> Nii me lihtsalt kriimustada pinnal, siin aga mida 1515 01:16:28,040 --> 01:16:31,000 Ma arvasin, et oleks kaalukaid on tegelikult meile kõigile, 1516 01:16:31,000 --> 01:16:34,240 kasutades Cloud9 ühes aknas ja Sel juhendaja teises aknas, 1517 01:16:34,240 --> 01:16:37,120 laseb tegelikult saada oma taotluse ja töötab 1518 01:16:37,120 --> 01:16:40,920 mis manustab kohandatud Google map omaenda veebilehe 1519 01:16:40,920 --> 01:16:43,010 ja lisab seejärel ühe või kahe iseärasusi. 1520 01:16:43,010 --> 01:16:45,520 Aga me lihtsalt kriimustada pind, mida me saame teha. 1521 01:16:45,520 --> 01:16:47,020 >> Nii lihtsalt kiire meelerahu kontrolli. 1522 01:16:47,020 --> 01:16:49,740 Kas igaüks sel lehel Google Maps JavaScript API? 1523 01:16:49,740 --> 01:16:50,872 Peaks ütlema alustanud. 1524 01:16:50,872 --> 01:16:53,330 Me ei lähe läbi kogu asi mis tahes viisil. 1525 01:16:53,330 --> 01:16:58,090 OK, teises tab, kui te ei see oli avatud, ei lähe Cloud9 1526 01:16:58,090 --> 01:17:03,500 ja end lihtsalt uue kaardi lõpuks. 1527 01:17:03,500 --> 01:17:11,070 Nii jälle c9.io eile, c9.io ja lihtsalt luua uus fail. 1528 01:17:11,070 --> 01:17:13,500 Ja minna ja kõne see iganes soovite. 1529 01:17:13,500 --> 01:17:16,495 Ma helistasin minu map.html. 1530 01:17:16,495 --> 01:17:17,870 Kõne see midagi lõpeb .html. 1531 01:17:17,870 --> 01:17:23,930 1532 01:17:23,930 --> 01:17:26,580 Ja siis peaks olema enam-vähem kus ma olen selles protsessis 1533 01:17:26,580 --> 01:17:31,470 vaid vilgub kiire tühjas tab nimega midagi map.html. 1534 01:17:31,470 --> 01:17:35,808 1535 01:17:35,808 --> 01:17:38,148 Või faili, uue faili seekord. 1536 01:17:38,148 --> 01:17:41,960 1537 01:17:41,960 --> 01:17:48,000 >> Ja nüüd, üle kohta Google Maps JavaScript API, 1538 01:17:48,000 --> 01:17:50,010 me vahele lugemine läbi kõik selle teksti. 1539 01:17:50,010 --> 01:17:53,760 Aga märgata, et tere on tõepoolest kõikjal, näete nüüd. 1540 01:17:53,760 --> 01:17:58,020 Tere maailm on see suur värviline Näiteks terve hulk HTML. 1541 01:17:58,020 --> 01:18:03,590 Lase käia ja kopeerida ainult, et HTML, nii et alates doc tüübist tipus 1542 01:18:03,590 --> 01:18:08,810 kõik viis tihedas HTML tag minna käia ja kopeerida kogu selle-- uuesti 1543 01:18:08,810 --> 01:18:14,430 see on alla tere example-- ja kleepida, et oma Cloud9 tab, 1544 01:18:14,430 --> 01:18:17,996 nii et nüüd ekraani peaks vaatama umbes nagu minul. 1545 01:18:17,996 --> 01:18:22,280 1546 01:18:22,280 --> 01:18:24,520 >> Ja saate salvestada, kuid ärge laadige see veel. 1547 01:18:24,520 --> 01:18:26,290 Vaatame kõigepealt pilk kood ja vaata, kas me 1548 01:18:26,290 --> 01:18:29,110 ei saa järeldada või õppida mis see on Google 1549 01:18:29,110 --> 01:18:30,860 on olnud meie pimesi kopeerida ja kleepida. 1550 01:18:30,860 --> 01:18:33,334 Nad lihtsalt tahavad aidata, sõna otseses mõttes, et meid alanud 1551 01:18:33,334 --> 01:18:35,500 kuid seal ei ole nii palju keerukust tegelikult olemas. 1552 01:18:35,500 --> 01:18:40,100 1553 01:18:40,100 --> 01:18:42,210 Kõik küsimused veel? 1554 01:18:42,210 --> 01:18:43,790 Oleme ohutu liikuda edasi? 1555 01:18:43,790 --> 01:18:44,330 OKEI. 1556 01:18:44,330 --> 01:18:46,800 >> Nii kiiresti, lähme lihtsalt teha mõned kiired meelerahu kontrolli. 1557 01:18:46,800 --> 01:18:48,800 Line üks, mida ma vaata, ja loodetavasti teile 1558 01:18:48,800 --> 01:18:51,710 vaata, mida see tähendab, doctype HTML? 1559 01:18:51,710 --> 01:18:52,385 Kareem, meenutavad? 1560 01:18:52,385 --> 01:18:53,260 Publik: [kuuldamatu] 1561 01:18:53,260 --> 01:18:53,968 DAVID Humala: Jah. 1562 01:18:53,968 --> 01:18:54,870 Siin on HTML 5. 1563 01:18:54,870 --> 01:18:57,950 Vahepeal liinile kaks kohta ekraan tähendab siin hey brauser, 1564 01:18:57,950 --> 01:18:59,482 siin on tegelik HTML. 1565 01:18:59,482 --> 01:19:01,440 Line kolm on hey brauser, siin on head. 1566 01:19:01,440 --> 01:19:04,260 Line neli on muidugi, hei brauser, siin on pealkiri. 1567 01:19:04,260 --> 01:19:07,780 Mida line viis teha? 1568 01:19:07,780 --> 01:19:09,930 Tegelikult see ei ole tõesti midagi meie jaoks. 1569 01:19:09,930 --> 01:19:13,340 Sel juhul see lihtsalt muudab suurust Lehe vaikimisi. Line kuus, 1570 01:19:13,340 --> 01:19:16,140 me ei rääkinud, kuid see määrab kodeeringu. 1571 01:19:16,140 --> 01:19:19,181 Seal on erinevaid viise, kuidas kodeerida faile, eriti võõrkeeli. 1572 01:19:19,181 --> 01:19:21,100 UTF-8 vaid kipub olema vaikimisi. 1573 01:19:21,100 --> 01:19:26,580 >> Nüüd me näeme kooskõlas seitsme kuni 16, mõned CSS. 1574 01:19:26,580 --> 01:19:29,260 Ja kuigi me oleme ei näinud kõik need asjad enne, 1575 01:19:29,260 --> 01:19:30,810 saame mingi järeldada. 1576 01:19:30,810 --> 01:19:37,075 Nii liinile kaheksa vahenditega, hei brauser, kohaldatakse kõik järgmised mille kaks silte 1577 01:19:37,075 --> 01:19:37,575 ilmselt? 1578 01:19:37,575 --> 01:19:40,650 1579 01:19:40,650 --> 01:19:41,701 HTML ja teksti järele. 1580 01:19:41,701 --> 01:19:43,200 Nii koma on uus asi seal. 1581 01:19:43,200 --> 01:19:46,140 Ja see on lihtsalt viis täpsustades mitme sildi korraga. 1582 01:19:46,140 --> 01:19:47,640 >> Siis on meil olemas looksulg. 1583 01:19:47,640 --> 01:19:51,170 Nii ilmselt see ütleb brauser, Kaubamärk kõrgus leht 100%. 1584 01:19:51,170 --> 01:19:54,170 Nii et isegi kui seal on väga vähe sisu, muuta kogu lehel 1585 01:19:54,170 --> 01:19:55,530 teeb asja täitke lehel. 1586 01:19:55,530 --> 01:19:57,524 Tehke kaart lõpuks täita lehekülje. 1587 01:19:57,524 --> 01:19:58,690 Margin, mida see tähendab? 1588 01:19:58,690 --> 01:20:01,559 See on tavaliselt nagu suvalise ümbritsevad valged servad 1589 01:20:01,559 --> 01:20:04,350 et mõned brauseri disainer lihtsalt otsustas peaks olema seal, sest see 1590 01:20:04,350 --> 01:20:05,540 ajab asju otsima puhtamaks. 1591 01:20:05,540 --> 01:20:06,498 Aga me ei taha seda. 1592 01:20:06,498 --> 01:20:08,710 Me soovime, et kaart läheb kõik viis servi. 1593 01:20:08,710 --> 01:20:10,930 Polster sarnase sisuga marginaale. 1594 01:20:10,930 --> 01:20:14,980 Marginaalid tähenda väljaspool, polster vahendid sees, aga see on samasugune asi. 1595 01:20:14,980 --> 01:20:17,520 See on natuke puhver Teie ja servad. 1596 01:20:17,520 --> 01:20:21,170 >> Ja siis joon 13 on hea võimalus kiire ülevaade. 1597 01:20:21,170 --> 01:20:26,440 Mida teeb terava märk kaart Tähendab, või hashtag kaart tähendab? 1598 01:20:26,440 --> 01:20:29,650 Mida see viidata põhimõtteliselt? 1599 01:20:29,650 --> 01:20:31,485 >> Publik: [kuuldamatu] 1600 01:20:31,485 --> 01:20:32,360 DAVID Humala: Täpselt. 1601 01:20:32,360 --> 01:20:36,900 See omadus on see CSS vara kehtib ainult üks asi, HTML tag 1602 01:20:36,900 --> 01:20:41,180 mis on ID tsiteerida, lõppeb "map". 1603 01:20:41,180 --> 01:20:44,460 Ja nüüd lähme kiiresti edasi, leidke alaserva faili, mis 1604 01:20:44,460 --> 01:20:49,860 ei ole liiga kaugel ja teate line 19, kui te kleepige see täpselt nagu mina, 1605 01:20:49,860 --> 01:20:53,405 rida 19 on vaid div, mis on jagamise leheküljel, mis eile 1606 01:20:53,405 --> 01:20:54,820 nimetatakse ristkülikukujuline piirkond. 1607 01:20:54,820 --> 01:20:55,820 See ju midagi ta. 1608 01:20:55,820 --> 01:20:57,550 See on avatud tag, sulgemissilti. 1609 01:20:57,550 --> 01:20:59,490 Aga see ei ole unikaalne ID. 1610 01:20:59,490 --> 01:21:02,090 >> Mis tundub olevat siin toimub on Google 1611 01:21:02,090 --> 01:21:05,880 on readying meie veebilehe on täielik 100% kõrgusest, 1612 01:21:05,880 --> 01:21:09,680 ja ei polster ei marginaale, kuna me läheme sinna sisse panna 1613 01:21:09,680 --> 01:21:13,647 Selle div, kelle unikaalne ID on kaart, on tegelikult varjatud kaart. 1614 01:21:13,647 --> 01:21:15,480 Ja me tahame seda täitma lehe ja mitte ainult 1615 01:21:15,480 --> 01:21:17,560 mõned väikesed ristküliku keskele. 1616 01:21:17,560 --> 01:21:24,220 Nii line 14 rõhutab samuti on map ise peaks kõrgus olema 100%. 1617 01:21:24,220 --> 01:21:29,220 >> Nüüd märkate ridade vahele 20 ja 28, see on JavaScript koodi. 1618 01:21:29,220 --> 01:21:33,020 Ja see on, kuigi see on süntaktiliselt vähe imelik, 1619 01:21:33,020 --> 01:21:34,730 Seal ei ole kõik, et palju siin toimub. 1620 01:21:34,730 --> 01:21:39,310 Vastavalt 21, see kuulutati midagi, mida nimetatakse muutuja. 1621 01:21:39,310 --> 01:21:42,030 Selle asemel, nimetades seda ulatub, nagu me tegime enne, 1622 01:21:42,030 --> 01:21:44,500 me täpsemalt öeldes var, mis tähendab lihtsalt muutuja. 1623 01:21:44,500 --> 01:21:46,520 Me oleks võinud kasutada, et Nicki koodi, kuid ta ei ole, nii et ma 1624 01:21:46,520 --> 01:21:48,190 ei viitsinud teeme seda. 1625 01:21:48,190 --> 01:21:50,240 See muutuja nimega kaardistada, ja siis seal on 1626 01:21:50,240 --> 01:21:53,360 funktsioon, mis on ilmselt nn initMap. 1627 01:21:53,360 --> 01:21:55,780 >> Nii et see on nagu meie omatehtud pusletükk Scratch. 1628 01:21:55,780 --> 01:21:58,830 Oleme loonud tükk funktsionaalsust nimega initMap, 1629 01:21:58,830 --> 01:22:00,980 ja saab omamoodi järeldada Mis siin toimub. 1630 01:22:00,980 --> 01:22:02,930 Vasakul pool, meil on varieeruv, 1631 01:22:02,930 --> 01:22:06,000 nii et me läheme panna järgmise asi sees, et muutuja, 1632 01:22:06,000 --> 01:22:07,362 paremalt vasakule. 1633 01:22:07,362 --> 01:22:11,940 Parempoolsed ütleb, hei brauser, anna mulle uue Google kaart. 1634 01:22:11,940 --> 01:22:16,490 Ja google.maps.map on lihtsalt funky viis täpsustades, et seda funktsiooni 1635 01:22:16,490 --> 01:22:19,790 kuulub Google Maps. 1636 01:22:19,790 --> 01:22:23,010 >> Pärast sulgudes oleme näinud seda enne, hei brauser saada 1637 01:22:23,010 --> 01:22:29,210 mulle elementide lehel tag lehel kelle unikaalne ID on-- 1638 01:22:29,210 --> 01:22:30,710 >> Publik: [kuuldamatu] 1639 01:22:30,710 --> 01:22:31,790 >> DAVID Humala: --map. 1640 01:22:31,790 --> 01:22:35,770 Ja mis toimub, noh, see rida koos, joon 23, 1641 01:22:35,770 --> 01:22:38,630 sisuliselt öeldes hey brauser, minge mind 1642 01:22:38,630 --> 01:22:42,800 et tühjad div lehel kelle unikaalne ID kaart, 1643 01:22:42,800 --> 01:22:45,600 sest ma tahan lisada arvesse see-- süstige see, 1644 01:22:45,600 --> 01:22:49,520 kui te will-- terve hunnik sisu mis juhtub tulevad veebist 1645 01:22:49,520 --> 01:22:50,427 hiljem. 1646 01:22:50,427 --> 01:22:52,010 Ja Google teeme kõik, et meie jaoks. 1647 01:22:52,010 --> 01:22:55,350 >> Nii jälle päris lõpus päeval, meil on see näide võtmiseks. 1648 01:22:55,350 --> 01:22:58,610 Ma ei tea, mida kaardil on või kuidas rakendada kaardil API. 1649 01:22:58,610 --> 01:22:59,460 Me ei pea. 1650 01:22:59,460 --> 01:23:02,740 Me lihtsalt vaja öelda kaart kuhu panna ise ja jätke 1651 01:23:02,740 --> 01:23:04,880 nende põhjal rakendamine andmed, et Google. 1652 01:23:04,880 --> 01:23:08,190 Nüüd on ilmselt kaks tükki andmeid 1653 01:23:08,190 --> 01:23:11,940 et see näide on pakkudes Google'i API. 1654 01:23:11,940 --> 01:23:16,450 Ilmselt kaardi keskel, ja Suumimistaseme nii rääkida. 1655 01:23:16,450 --> 01:23:21,390 >> Ja kas keegi ka neid koordinaadid, pikkus- ja laiuskraadi? 1656 01:23:21,390 --> 01:23:24,364 Tõenäoliselt mitte, kuid me ei saa minna tagasi Õpetus, sõna otseses mõttes näha. 1657 01:23:24,364 --> 01:23:25,780 Aga eks me näeme seda vaid hetkeks. 1658 01:23:25,780 --> 01:23:29,880 Zoom tase on väärtus vahemikus, ma ei tean, üks 13 või midagi sellist. 1659 01:23:29,880 --> 01:23:32,880 See lihtsalt on pistmist kui kaugele sa oled suumimise ajal, ja ongi kõik. 1660 01:23:32,880 --> 01:23:35,690 Ja nüüd päris lõpus Lehe teate line 29-- 1661 01:23:35,690 --> 01:23:39,960 see on natuke kole, sest see wraps-- see koodirida 1662 01:23:39,960 --> 01:23:44,570 on see, mis laeb kuni brauseri Google tegelik API. 1663 01:23:44,570 --> 01:23:47,500 Kõik koodi, et Google insenerid on kirjutanud, et rakendada 1664 01:23:47,500 --> 01:23:50,000 kogu see omadus põimitava kaarte. 1665 01:23:50,000 --> 01:23:51,470 >> Nüüd ei muuda midagi. 1666 01:23:51,470 --> 01:23:54,761 Kui sul järgmised mööda, edasi minna ja lihtsalt salvestada see fail, kui te tõepoolest 1667 01:23:54,761 --> 01:23:55,760 mida ma olen. 1668 01:23:55,760 --> 01:23:57,370 Mine oma URL. 1669 01:23:57,370 --> 01:23:59,820 Võite nuppu Käivita kuni ülemise ja mis ütleb 1670 01:23:59,820 --> 01:24:03,050 sa URL veebiserver uuesti. 1671 01:24:03,050 --> 01:24:06,010 Ja see viib teid uue kaardi. 1672 01:24:06,010 --> 01:24:11,910 Kui klõpsate Avatud map.html ja koefitsiendid on sul 1673 01:24:11,910 --> 01:24:15,520 hakka hoiatuse, veateate, jah? 1674 01:24:15,520 --> 01:24:18,570 Veateade veateate? 1675 01:24:18,570 --> 01:24:21,170 >> Nii kahjuks viga sõnum ei ole, et valgustav 1676 01:24:21,170 --> 01:24:23,890 kui sa tegelikult avada konsooli, et erilist tab meil 1677 01:24:23,890 --> 01:24:27,110 hoida avamisel eile ja natuke täna. 1678 01:24:27,110 --> 01:24:29,445 Aga ma komistas kogu See varem, nii et ma juba 1679 01:24:29,445 --> 01:24:30,820 arvasin, milline lahendus on. 1680 01:24:30,820 --> 01:24:34,440 Tänapäeva slaidid, või Pigem Cloud9, teate 1681 01:24:34,440 --> 01:24:36,430 et me ei tee midagi teadlikult. 1682 01:24:36,430 --> 01:24:40,690 Pange tähele, et see skript sildi line 29, kui sa loed läbi selle, 1683 01:24:40,690 --> 01:24:44,440 see on nagu maps.googleapis.com/ midagi, midagi, midagi, 1684 01:24:44,440 --> 01:24:46,430 siis märkad, et keegi, üks arendajad, 1685 01:24:46,430 --> 01:24:50,040 kirjutas kõik kapitali tähed, oma API võti. 1686 01:24:50,040 --> 01:24:51,700 >> Meil on vaja kleepida sinna midagi. 1687 01:24:51,700 --> 01:24:53,450 Ja see oli samm Ma tegin meile enne, 1688 01:24:53,450 --> 01:24:57,190 ja jälle nad võivad musta nimekirja meid, kui äkki 12 või rohkem meist 1689 01:24:57,190 --> 01:24:59,470 hakata kasutama sama võtit, aga vaatame, mis juhtub. 1690 01:24:59,470 --> 01:25:03,030 Nii et kui te lähete tänapäeva slaidid, üks klapp hiljem seal 1691 01:25:03,030 --> 01:25:07,070 See on väga funky välimusega tekstistringi. 1692 01:25:07,070 --> 01:25:12,230 Lase käia ja lihtsalt kopeerida seda ja kleebi see, kus ta ütleb oma API võti. 1693 01:25:12,230 --> 01:25:15,120 See on üks ma registreerusin. 1694 01:25:15,120 --> 01:25:17,700 >> Ja kindlasti ei püüa kirjutades seda käsitsi 1695 01:25:17,700 --> 01:25:21,210 sest ta tunneb täis koos kirjavigu, potentsiaalselt. 1696 01:25:21,210 --> 01:25:23,260 Nii lihtsalt kopeeri ja kleebi et. 1697 01:25:23,260 --> 01:25:26,090 Ja see läheb teha rida enam, kuid nüüd, vaid peab olema selge, 1698 01:25:26,090 --> 01:25:29,540 see peaks välja nägema veidi nagu see, kus peamine võrdub ei 1699 01:25:29,540 --> 01:25:32,200 kapitaliseeritud karjuma sa. 1700 01:25:32,200 --> 01:25:34,810 Salvesta oma lehele, mine tagasi teisele tab, reload, 1701 01:25:34,810 --> 01:25:36,770 ja loodame, et näha kaardil, kus? 1702 01:25:36,770 --> 01:25:37,790 >> Publik: Austraalias. 1703 01:25:37,790 --> 01:25:38,748 >> DAVID Humala: Austraalias. 1704 01:25:38,748 --> 01:25:41,200 Nii ilmselt need on GPS koordinaadid Austraalias. 1705 01:25:41,200 --> 01:25:44,491 Ja las ma jalutan hetkeks ja aita kedagi, kes ei ole päris seal, 1706 01:25:44,491 --> 01:25:47,729 aga las ma ettepaneku, via Google, leida GPS koordinaadid oma kodulinnas 1707 01:25:47,729 --> 01:25:48,770 või oma kodumaal. 1708 01:25:48,770 --> 01:25:51,436 Ja ilmselt Google saate selle üles või Wikipedia teile öelda. 1709 01:25:51,436 --> 01:25:54,410 Aga valida kaks erinevat väärtust laiuskraadi ja pikkuskraadi 1710 01:25:54,410 --> 01:25:57,530 tagasi minna ja kleebi need, ja pange lehele pärast salvestamist 1711 01:25:57,530 --> 01:26:00,718 ja vaata, kas sul võib olla kaart oma kodulinna. 1712 01:26:00,718 --> 01:26:04,500 1713 01:26:04,500 --> 01:26:08,042 >> Ja kui sa oled teinud et järelmeetmete challenge-- 1714 01:26:08,042 --> 01:26:11,250 ja ma annan veidi vähem suunas, teadlikult, et sa sihilikult 1715 01:26:11,250 --> 01:26:13,791 pea vaeva paar minutit dokumentatsiooni, 1716 01:26:13,791 --> 01:26:18,740 kaardi vahetamiseks, et ei ole see multifilmilikke vaikimisi, kuid satelliit-kaart. 1717 01:26:18,740 --> 01:26:24,600 Nii et sa tegelikult näha satelliidi kujundlikkus asemel ilus värv. 1718 01:26:24,600 --> 01:26:29,710 >> Ja vihje ma annan sulle on muuta kaardi tüübi. 1719 01:26:29,710 --> 01:26:33,084 Mine tagasi, et saada hakkas lehel inspiratsiooni. 1720 01:26:33,084 --> 01:26:40,599 1721 01:26:40,599 --> 01:26:42,390 Nagu te võib-olla väita, kui te otsite, 1722 01:26:42,390 --> 01:26:44,250 seal on nii palju rohkem asju saab teha. 1723 01:26:44,250 --> 01:26:46,380 Mõned teist on juba muutunud kaardi tüübist. 1724 01:26:46,380 --> 01:26:49,890 Aga sa võid do-- näiteks, las ma minna midagi tegime käigus 1725 01:26:49,890 --> 01:26:52,050 Ma teach-- maps.cs50.net. 1726 01:26:52,050 --> 01:26:53,470 Üks meie üliõpilastele, tegid seda. 1727 01:26:53,470 --> 01:26:58,890 Me keskele meie kaart üle Harvard Yard ja superpositsioneerimisega kõik need hoone nimed, 1728 01:26:58,890 --> 01:27:01,070 ja meil oli temaga lisada see. 1729 01:27:01,070 --> 01:27:04,270 Nii et kui ma tahan otsida, Näiteks Matthews Hall, 1730 01:27:04,270 --> 01:27:05,730 meil on vähe rippmenüüst. 1731 01:27:05,730 --> 01:27:09,080 Ja ma arvan, et ta kasutab Bootstrap on raamatukogu arutasime varem selle eest. 1732 01:27:09,080 --> 01:27:12,190 Ja kui klõpsate Matthews Hall, see kohe 1733 01:27:12,190 --> 01:27:14,790 hüppab kaardi teatud asukoha, ja see näitab 1734 01:27:14,790 --> 01:27:16,440 sa pildi see väike pop-up. 1735 01:27:16,440 --> 01:27:18,670 >> Aga isegi see väike pop-up, me ei rakendanud. 1736 01:27:18,670 --> 01:27:27,521 Kui ma keri meie saada hakkas lehele ja otsida infot aknad, 1737 01:27:27,521 --> 01:27:29,770 näete, et mõned funktsionaalsuse te ise 1738 01:27:29,770 --> 01:27:31,561 lisada, kuigi natuke rohkem keerukust, 1739 01:27:31,561 --> 01:27:33,970 on midagi, mida nimetatakse infot akent. 1740 01:27:33,970 --> 01:27:37,190 Ja kui ma vajutan näide siin, ja see on see, mis on lõbus, 1741 01:27:37,190 --> 01:27:40,530 saate teha selliseid asju, Klikkides marker ja siis voila, 1742 01:27:40,530 --> 01:27:42,400 informatsiooni hüppab. 1743 01:27:42,400 --> 01:27:45,874 >> Nii et me ei ole päris sisse piisavalt funktsioone JavaScript 1744 01:27:45,874 --> 01:27:49,040 et maalida täpselt, kuidas võiks traat kõik see kraam kokku, 1745 01:27:49,040 --> 01:27:50,706 kuid me oleme omamoodi õhkõrnalt. 1746 01:27:50,706 --> 01:27:53,140 Tegelikult, mis ma just tegin, kui Ma klõpsanud seda markerit, 1747 01:27:53,140 --> 01:27:55,819 oli vallandada puhul olemas Niinimetatud kohta klõps. 1748 01:27:55,819 --> 01:27:57,610 Ja me tegelikult nägin Kui täna, 1749 01:27:57,610 --> 01:28:00,670 nn esitada juhul, kui olime ära hoida 1750 01:28:00,670 --> 01:28:02,490 kasutaja alates otsivad kassid. 1751 01:28:02,490 --> 01:28:06,560 Nii oleme omamoodi korjatud ja choosed hulgast kõik need erinevaid funktsioone, 1752 01:28:06,560 --> 01:28:08,990 anda teile tunne, loodetavasti mida saate tegelikult 1753 01:28:08,990 --> 01:28:11,000 teha natuke rohkem mugavust programmeerimine, 1754 01:28:11,000 --> 01:28:12,587 ja täiesti vabad vahendid. 1755 01:28:12,587 --> 01:28:15,856 1756 01:28:15,856 --> 01:28:18,770 >> Kas küsimusi on? 1757 01:28:18,770 --> 01:28:19,790 Ei? 1758 01:28:19,790 --> 01:28:22,542 See on teie viimane võimalus, vähemalt täna, reedel, 1759 01:28:22,542 --> 01:28:25,000 saada midagi välja oma rinnale nii, et jalutad siit 1760 01:28:25,000 --> 01:28:27,067 tunne kindel ja mugav. 1761 01:28:27,067 --> 01:28:27,566 Jah. 1762 01:28:27,566 --> 01:28:29,740 >> Publik: Miks mitte lisada veel üks asi? 1763 01:28:29,740 --> 01:28:32,720 >> DAVID Humala: Oh jumal. 1764 01:28:32,720 --> 01:28:35,260 Mul on vaja puhata sel nädalavahetusel, ma arvan. 1765 01:28:35,260 --> 01:28:36,180 Muud küsimused? 1766 01:28:36,180 --> 01:28:37,055 >> Publik: [kuuldamatu] 1767 01:28:37,055 --> 01:28:44,130 1768 01:28:44,130 --> 01:28:46,810 >> DAVID Humala: Sa can-- sisse Internet Explorer, puhka rahus, 1769 01:28:46,810 --> 01:28:49,310 sa kasutada saaks panna VB script, virtuaalne põhi script, 1770 01:28:49,310 --> 01:28:50,643 kuid mis tegelikult kunagi püütud. 1771 01:28:50,643 --> 01:28:52,490 Nii lühike vastus on lihtsalt JavaScript. 1772 01:28:52,490 --> 01:28:55,144 1773 01:28:55,144 --> 01:28:55,810 Muud küsimused? 1774 01:28:55,810 --> 01:28:58,427 1775 01:28:58,427 --> 01:28:59,760 Olgu, hästi, lubage mul seda teha. 1776 01:28:59,760 --> 01:29:02,070 Las ma haarata kolleegidega väljaspool. 1777 01:29:02,070 --> 01:29:04,500 Nad on mõned hindamine vorme, et nad tahavad kõik 1778 01:29:04,500 --> 01:29:06,310 kulutada paar minutit täites. 1779 01:29:06,310 --> 01:29:08,775 Nad tahavad, et koguda mis kujul ja mis tahes loobumisi, et siin võib olla väljaspool. 1780 01:29:08,775 --> 01:29:10,240 Nad on ka sertifikaadid. 1781 01:29:10,240 --> 01:29:12,380 Olen aim seal veel mõned suupisted väljaspool. 1782 01:29:12,380 --> 01:29:14,360 Lubage mul läbivad need läbi, ja kui sa Küsimuste vahepeal 1783 01:29:14,360 --> 01:29:17,120 Ma kõndida ümber rohkem individuaalselt ja me saame võite alustada. 1784 01:29:17,120 --> 01:29:17,879 Jah, muidugi. 1785 01:29:17,879 --> 01:29:18,754 Publik: [kuuldamatu] 1786 01:29:18,754 --> 01:29:26,737 1787 01:29:26,737 --> 01:29:28,570 DAVID Humala: Ongi tavaliselt tõsi nendel päevadel. 1788 01:29:28,570 --> 01:29:30,730 Kindlasti veebi tarkvara, siis on lahjad 1789 01:29:30,730 --> 01:29:32,901 teised sa kas esteetiliselt kasutades asju 1790 01:29:32,901 --> 01:29:35,400 nagu Bootstrap, et sa seda ei tee peavad rakendama madal 1791 01:29:35,400 --> 01:29:37,169 üksikasjad menüüde ja nupud ja kõik. 1792 01:29:37,169 --> 01:29:39,210 Sa toetudes keegi nagu Google, et sa 1793 01:29:39,210 --> 01:29:42,050 ei pea ehitama Uber Äri ja kaardistamise äri 1794 01:29:42,050 --> 01:29:44,850 ja olla palju selliseid rakenduste samuti. 1795 01:29:44,850 --> 01:29:46,350 >> Tegelikult sisselogimist on populaarsed ka. 1796 01:29:46,350 --> 01:29:48,500 Kui oled kasutanud Spotify või mis tahes mitmeid veebisaite, 1797 01:29:48,500 --> 01:29:51,210 saate sisse mõned veebilehed kasutades Facebook. 1798 01:29:51,210 --> 01:29:53,350 Mis on tore, seal on mõeldud API sisse logima 1799 01:29:53,350 --> 01:29:56,570 tänapäeval, nii et sa ei pea on oma kasutajate tabelis 1800 01:29:56,570 --> 01:29:59,440 ja kõik oma andmebaasi tingimata samal määral. 1801 01:29:59,440 --> 01:30:01,795 Võite lasta Facebook teha kõik selle keerukust teile. 1802 01:30:01,795 --> 01:30:03,920 Nii et see on põnev aeg, ausalt, programmeerimine, 1803 01:30:03,920 --> 01:30:07,200 sest seal on nii palju kolmanda osapoole teenuseid, mida on võimalik ehitada peal. 1804 01:30:07,200 --> 01:30:10,890 >> Ja jälle, auto hind on rahalisi või seisakuid. 1805 01:30:10,890 --> 01:30:13,750 Kui Google läheb alla, nii ei Uber väidetavalt 1806 01:30:13,750 --> 01:30:15,690 aga võibolla see on mõistlik kompromiss. 1807 01:30:15,690 --> 01:30:18,040 Ja jälle, et oli üks teemadest, Loodetavasti on viimase paari päeva jooksul, 1808 01:30:18,040 --> 01:30:18,780 on need kompromissid. 1809 01:30:18,780 --> 01:30:20,738 Ja harva on seal läheb olla õige vastus. 1810 01:30:20,738 --> 01:30:25,700 See on tõesti parem Kahe või enama vastuseid. 1811 01:30:25,700 --> 01:30:26,682 >> Pass nende ümber. 1812 01:30:26,682 --> 01:30:36,830 1813 01:30:36,830 --> 01:30:41,110 >> Ja need Cloud9 kontod jätkub töötada teoreetiliselt andma. 1814 01:30:41,110 --> 01:30:45,000 Te võite leida, kui sa oodata paar päeva või nädal või rohkem tagasi sisse logida neid, 1815 01:30:45,000 --> 01:30:49,170 see võib võtta nagu ühe või viis minutit, et avada uuesti üles, 1816 01:30:49,170 --> 01:30:54,090 aga see on lihtsalt sellepärast, et nad panid see magama säästa ressursse. 1817 01:30:54,090 --> 01:31:10,527