1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> DAVID Malan: Të gjithë të drejtë, ne jemi të kthyer. 3 00:00:01,560 --> 00:00:03,830 Kështu për emocionuese konkluzioni, seksioni ynë i fundit 4 00:00:03,830 --> 00:00:06,900 në programimin e web, e cila I menduar ne do të përdorim si term i përgjithshëm 5 00:00:06,900 --> 00:00:08,440 për të kapur disa tema mbetura. 6 00:00:08,440 --> 00:00:10,390 Pra, në fund të ditë, ne do të vërtetë të bëjë 7 00:00:10,390 --> 00:00:14,830 pak e duart-në programimin e web me një gjuhë të quajtur JavaScript. 8 00:00:14,830 --> 00:00:17,510 Dhe unë mendoj se ne do të hedhim një vështrim diçka që lidhet me imazhe 9 00:00:17,510 --> 00:00:20,040 dhe të zbuluar diçka fshehur fshehurazi në një imazh, 10 00:00:20,040 --> 00:00:23,230 dhe gjithashtu të marrin një vështrim në Google Maps API, e programimit të aplikacionit 11 00:00:23,230 --> 00:00:26,040 interface, si diçka përfaqësues i llojit të softuerit 12 00:00:26,040 --> 00:00:28,800 kjo është gjithnjë e më shumë dhe lirisht në dispozicion sot. 13 00:00:28,800 --> 00:00:32,029 >> Por pse nuk kemi marrë një sy në një përbërës në këtë botë 14 00:00:32,029 --> 00:00:34,070 se ne kemi qenë lloj duke marrë për të dhënë ekziston 15 00:00:34,070 --> 00:00:36,720 për disa kohë, një bazë të dhënash. 16 00:00:36,720 --> 00:00:39,150 Për ditën e kaluar dhe gjysmë ne kemi supozuar 17 00:00:39,150 --> 00:00:42,910 se ne kemi qasje në një bazë të dhënash, por çfarë problemi i zgjidh një bazë të dhënash? 18 00:00:42,910 --> 00:00:45,540 Çfarë do të bësh për ne? 19 00:00:45,540 --> 00:00:47,030 Çfarë është kjo? 20 00:00:47,030 --> 00:00:48,679 >> AUDIENCA: [padëgjueshme] 21 00:00:48,679 --> 00:00:51,720 DAVID Malan: Mban të gjitha informatat, OK, dhe çfarë lloje të informatave 22 00:00:51,720 --> 00:00:53,186 mund të ju vënë në të? 23 00:00:53,186 --> 00:00:54,590 >> AUDIENCA: [padëgjueshme] 24 00:00:54,590 --> 00:00:56,450 >> DAVID Malan: Çdo informacion ju vënë në të, ju do të merrni mbrapa. 25 00:00:56,450 --> 00:00:57,070 Kjo eshte e vertete. 26 00:00:57,070 --> 00:01:01,900 Dhe në një vend tipik web-bazuar ose web Aplikimi, çfarë lloje të informatave, 27 00:01:01,900 --> 00:01:03,385 në mënyrë të veçantë, mund të keni vënë në? 28 00:01:03,385 --> 00:01:04,260 AUDIENCA: [padëgjueshme] 29 00:01:04,260 --> 00:01:05,051 DAVID Malan: Users. 30 00:01:05,051 --> 00:01:07,000 Pra, çfarë është një përdorues? 31 00:01:07,000 --> 00:01:09,765 >> AUDIENCA: [padëgjueshme] 32 00:01:09,765 --> 00:01:11,640 DAVID Malan: OK, regjistruar përdorues i faqes. 33 00:01:11,640 --> 00:01:15,100 Dhe çfarë do të thotë të Informacione përdoruesit dyqan '? 34 00:01:15,100 --> 00:01:17,260 Ajo që përbën një përdorues? 35 00:01:17,260 --> 00:01:18,331 Një përdorues ka çfarë? 36 00:01:18,331 --> 00:01:19,206 AUDIENCA: [padëgjueshme] 37 00:01:19,206 --> 00:01:21,040 DAVID Malan: Yeah, personal të dhënave, dhe unë si se. 38 00:01:21,040 --> 00:01:21,970 Le të jetë më i saktë. 39 00:01:21,970 --> 00:01:25,275 Kështu që një përdorues zakonisht ka një emër, çfarë tjetër mund të ketë një përdorues? 40 00:01:25,275 --> 00:01:26,150 AUDIENCA: [padëgjueshme] 41 00:01:26,150 --> 00:01:29,130 DAVID Malan: Një OK addr--, Emri kështu, mbiemri. 42 00:01:29,130 --> 00:01:29,630 Kjo eshte e mire. 43 00:01:29,630 --> 00:01:31,463 Në fakt, le të rregulluar se, për shkak se ajo do 44 00:01:31,463 --> 00:01:35,010 për të hapur një mundësi për diskutim, ende, edhe më tej. 45 00:01:35,010 --> 00:01:39,090 Emri, mbiemri, gjinia. 46 00:01:39,090 --> 00:01:41,820 47 00:01:41,820 --> 00:01:43,481 Një ID e disa lloj. 48 00:01:43,481 --> 00:01:43,980 Çfarë tjetër? 49 00:01:43,980 --> 00:01:45,438 Dëgjova diçka tjetër më parë, too. 50 00:01:45,438 --> 00:01:51,600 Një email, adresa postare. 51 00:01:51,600 --> 00:01:58,170 >> Pra, le të ndalemi atje dhe tani e konsiderojnë jo atë që ne jemi ruajtjen në bazën e të dhënave, 52 00:01:58,170 --> 00:02:01,980 but-- dhe pse jo, pasi kjo është ndoshta qartë se sapo ju të regjistruar një përdorues, 53 00:02:01,980 --> 00:02:03,730 ju doni të mbani mend ato për disa kohë. 54 00:02:03,730 --> 00:02:05,480 Ju nuk doni që ajo të vetëm të ruhen në RAM 55 00:02:05,480 --> 00:02:08,690 dhe të forgotten-- kështu le të përqëndrohet në how. 56 00:02:08,690 --> 00:02:11,700 >> Ajo rezulton se në bota e bazave të të dhënave, 57 00:02:11,700 --> 00:02:14,410 ka të paktën dy lloje këto ditë. 58 00:02:14,410 --> 00:02:20,010 Diçka që quhet një bazë të dhënash SQL, Structured Query Language, 59 00:02:20,010 --> 00:02:24,770 ose, i quajtur cutely, NoSQL, e cila nuk është e SQL. 60 00:02:24,770 --> 00:02:26,980 Dhe kjo e fundit është një shembull i asaj fuqisë 61 00:02:26,980 --> 00:02:30,660 të quhet një object-oriented, ose një dyqan objekt, një bazë të dhënash 62 00:02:30,660 --> 00:02:36,010 që ruan objektet, dhe jo, justifikim me, si ne së shpejti do të shohim, rreshtave. 63 00:02:36,010 --> 00:02:41,800 >> Pra, ne do të fokusohemi për vetëm një moment i pari i tyre, domethënë, një SQL 64 00:02:41,800 --> 00:02:46,850 bazës së të dhënave, në qoftë se vetëm për shkak se është aq të njohur tashmë, për të gjithë 65 00:02:46,850 --> 00:02:51,070 që ka përdorur Excel ose Sheets Google ose Apple 66 00:02:51,070 --> 00:02:53,740 Numrat apo ndonjë standarde program spreadsheet, 67 00:02:53,740 --> 00:02:56,040 ose, në mënyrë ekuivalente, ose më sophisticatedly, 68 00:02:56,040 --> 00:02:58,610 diçka si Microsoft Qasja apo Oracle 69 00:02:58,610 --> 00:03:03,890 ose MySQL ose PostgreSQL, të gjitha nga të cilat janë emrat e produktit për implementimin 70 00:03:03,890 --> 00:03:04,865 i idesë në vijim. 71 00:03:04,865 --> 00:03:10,350 >> Një databazë relacionale është thjesht diçka që ka rreshtave dhe kolonave. 72 00:03:10,350 --> 00:03:12,850 Dhe me rreshta dhe kolona, Unë fjalë për fjalë do të thotë diçka 73 00:03:12,850 --> 00:03:21,860 si kjo, kështu që kur ne të kemi emrin e një fushe dhe llojin e saj mbi këtu. 74 00:03:21,860 --> 00:03:25,800 Dhe në fakt, më lejoni tani të fillojë të ndajë këto. 75 00:03:25,800 --> 00:03:29,420 Pra, në fakt, unë nuk e di pse unë tërhoqi një tabelë të veçantë. 76 00:03:29,420 --> 00:03:30,780 Le të mbajtur këtë të thjeshtë. 77 00:03:30,780 --> 00:03:34,830 >> Ne kemi të drejtë këtu Fillimet e tryezën tonë, ku 78 00:03:34,830 --> 00:03:40,150 ky është emri i fushës dhe ky është lloji e të dhënave, 79 00:03:40,150 --> 00:03:41,660 dhe sipas llojit unë do të thotë në vijim. 80 00:03:41,660 --> 00:03:45,510 A është një numër, është një varg, një varg të shkurtër si një fjalë, 81 00:03:45,510 --> 00:03:49,340 është një paragraf, është ajo të dhënat binare, si një imazh? 82 00:03:49,340 --> 00:03:51,980 Dhe le të vetëm të vë në lojë këtë përveç për vetëm një moment. 83 00:03:51,980 --> 00:03:57,575 Pra emri, numri, string, copë e madhe e text-- 84 00:03:57,575 --> 00:03:58,450 AUDIENCA: [padëgjueshme] 85 00:03:58,450 --> 00:03:59,616 DAVID Malan: Po, kështu string. 86 00:03:59,616 --> 00:04:04,744 Dhe në një kontekst bazës së të dhënave, ne do të zakonisht e quajmë këtë fushë char. 87 00:04:04,744 --> 00:04:07,660 Unë do të them vetëm char tani për tani, por ne jemi do të përmirësojmë këtë në një moment. 88 00:04:07,660 --> 00:04:09,180 fushë Character. 89 00:04:09,180 --> 00:04:11,365 Emri i fundit është ndoshta e njëjtë. 90 00:04:11,365 --> 00:04:11,865 Gjinia? 91 00:04:11,865 --> 00:04:16,230 92 00:04:16,230 --> 00:04:18,310 >> Mashkull apo femër, kështu që ajo mund të jetë një fushë char. 93 00:04:18,310 --> 00:04:21,380 Kjo mund të jetë ose të japin kuotën, mbyll thonjëzat "Mashkull" ose quote, mbyll thonjëzat "femër" 94 00:04:21,380 --> 00:04:23,650 ose ajo mund të jetë m apo f. 95 00:04:23,650 --> 00:04:26,540 Nëse ju doni të jenë më përfshirëse, ju mund të kenë nevojë një vlerë të tretë 96 00:04:26,540 --> 00:04:28,640 ose një lloj fushe tjetër krejt. 97 00:04:28,640 --> 00:04:31,350 Dhe kështu që ju mund të përdorni false I vërtetë. 98 00:04:31,350 --> 00:04:35,036 Fusha mund të quhet mashkull, dhe atëherë ju mund të thoni vërtetë apo e rreme. 99 00:04:35,036 --> 00:04:38,160 Por kjo nuk do të kapur të gjitha informatat që ju mund të dëshironi. 100 00:04:38,160 --> 00:04:41,118 >> Pra, rezulton se ka një lloj tjetër i fushës që mund të jenë të dobishme këtu 101 00:04:41,118 --> 00:04:46,040 në një bazë të dhënash tipike, quhet enum, ku ajo është një fushë karakter, 102 00:04:46,040 --> 00:04:50,480 por ju, projektuesi, të merrni për të numëroj vlerat e mundshme, 103 00:04:50,480 --> 00:04:54,630 si quote, siç janë quajtur "mashkull", quote, mbyll thonjëzat "femra", e kështu me radhë. 104 00:04:54,630 --> 00:04:57,620 Kështu që çdo gjë që vlera është në bazën e të dhënave tuaj, 105 00:04:57,620 --> 00:05:00,670 është me të vërtetë karakter me bazë, por ajo duhet të jetë një prej këtyre vlerave. 106 00:05:00,670 --> 00:05:03,520 Ne ndoshta nuk do të duan një enum për emrin e parë ose emrin e kaluar. 107 00:05:03,520 --> 00:05:05,630 Përndryshe ne do të kemi të numëroj, si emër 108 00:05:05,630 --> 00:05:09,570 buron nga, fjalë për fjalë çdo të jetë e mundur emrin dhe mbiemrin. 109 00:05:09,570 --> 00:05:13,960 >> OK, kështu ID çfarë duhet të jetë një ID? 110 00:05:13,960 --> 00:05:15,200 Po, kështu që ndoshta një numër. 111 00:05:15,200 --> 00:05:17,870 Pra, le të rrinë me se tani për tani, numri. 112 00:05:17,870 --> 00:05:22,010 Dhe nga numri, numrin e pak a shumë të gjerë tani. 113 00:05:22,010 --> 00:05:23,900 Për nga fundi i dytë ditë, unë ndjehem si ne 114 00:05:23,900 --> 00:05:25,280 duhet të jetë pak më të saktë. 115 00:05:25,280 --> 00:05:29,280 Numri mund të thotë si, atë mund të jetë diçka si 1.236. 116 00:05:29,280 --> 00:05:31,500 Dhe kjo ndoshta nuk është çfarë ne do të thotë nga një ID. 117 00:05:31,500 --> 00:05:34,635 Çfarë ndoshta do të thotë nga një ID? 118 00:05:34,635 --> 00:05:36,382 >> AUDIENCA: [padëgjueshme] 119 00:05:36,382 --> 00:05:38,590 DAVID Malan: Oh, OK, kështu ndoshta nuk është edhe një numër. 120 00:05:38,590 --> 00:05:42,840 Ndoshta kjo është në fakt një identifikues unik kjo është një varg, si një emër përdoruesi. 121 00:05:42,840 --> 00:05:44,580 Pra absolutisht, mund të jetë. 122 00:05:44,580 --> 00:05:46,730 Unë mendoj se dikush ndoshta do të thotë numerike, pse. 123 00:05:46,730 --> 00:05:48,460 Pra, le të qëndrojë me atë. 124 00:05:48,460 --> 00:05:49,320 Çfarë lloj i numrit? 125 00:05:49,320 --> 00:05:51,960 Çfarë është një më të precise-- një numër të plotë. 126 00:05:51,960 --> 00:05:56,710 Kështu një numër si 0, 1, 2, 3, kështu që ne do të quajmë këtë një numër të plotë. 127 00:05:56,710 --> 00:05:58,909 Dhe, edhe atëherë, unë mund të të nitpicking, është e 128 00:05:58,909 --> 00:06:00,700 jo të vërtetë vetëm një integer përgjithshëm që ju dëshironi. 129 00:06:00,700 --> 00:06:04,340 Ju ndoshta nuk dëshironi vlera negative, vetëm për shkak se, ajo vetëm ndjehet i çuditshëm. 130 00:06:04,340 --> 00:06:06,070 Ju ndoshta dëshironi integers pozitiv. 131 00:06:06,070 --> 00:06:07,920 Kështu që ju mund të shprehë se në një bazë të dhënash, 132 00:06:07,920 --> 00:06:09,450 por tani për tani, ne do të themi numër i plotë. 133 00:06:09,450 --> 00:06:10,650 >> Email? 134 00:06:10,650 --> 00:06:13,550 Kjo është ndoshta një just-- çfarë? 135 00:06:13,550 --> 00:06:14,460 >> AUDIENCA: [padëgjueshme] 136 00:06:14,460 --> 00:06:16,980 >> DAVID Malan: Kjo është një e-mail, por kjo është karaktere, apo jo? 137 00:06:16,980 --> 00:06:19,813 Ajo vetëm ka një karakter i shokuar si një "në" simbol apo diçka tjetër, 138 00:06:19,813 --> 00:06:21,580 por është ende një fushë karakter. 139 00:06:21,580 --> 00:06:23,900 Dhe adresën postare? 140 00:06:23,900 --> 00:06:25,360 fushë Character. 141 00:06:25,360 --> 00:06:31,400 Pra, kjo është një fillim i mirë, por le të jetë pak më të saktë tani. 142 00:06:31,400 --> 00:06:34,540 >> Pra, rezulton se në një bazë të dhënash, ju shpesh 143 00:06:34,540 --> 00:06:39,120 kanë një zgjedhje mbi më të rafinuar versionet e këtyre gjërave. 144 00:06:39,120 --> 00:06:44,330 Në fakt, në një bazë të dhënash tipike SQL, SQL, ose më në përgjithësi, bazës së të dhënave relacionale, 145 00:06:44,330 --> 00:06:46,680 bazat e të dhënave me radhë dhe kolona, ​​ju shpesh 146 00:06:46,680 --> 00:06:53,610 të marrë të përcaktojë jo vetëm llojin e të nëpër fusha, më lejoni të bëjë disa here-- dhomë 147 00:06:53,610 --> 00:06:56,600 por edhe gjatësia. 148 00:06:56,600 --> 00:06:59,900 >> Pra, për sa kohë është një emër i parë? 149 00:06:59,900 --> 00:07:07,060 Unë mendoj se, D-A-V-I-D. OK, I got it ndoshta vetëm ofenduar si gjysma 150 00:07:07,060 --> 00:07:11,260 e njerëzve në dhomë, e drejtë, pasi që emrat tuaj janë më shumë se pesë 151 00:07:11,260 --> 00:07:16,608 letra, kështu që pesë duket pak egoist dhe naive, kështu që çfarë është një vlerë më të mirë? 152 00:07:16,608 --> 00:07:19,320 153 00:07:19,320 --> 00:07:24,330 10, të gjithë të drejtë, dhe unë mendoj se ne jemi OK në dhomë. 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 Pse nuk kam marrë më të Qasja e parë kur ne 157 00:07:29,540 --> 00:07:31,081 ishin duke folur për vargjeve dhe kujtesës? 158 00:07:31,081 --> 00:07:32,450 Pse nuk e them vetëm si 1000? 159 00:07:32,450 --> 00:07:35,260 Emri askujt po shkon të jetë më shumë se 1,000. 160 00:07:35,260 --> 00:07:36,706 Zbyth. 161 00:07:36,706 --> 00:07:38,005 >> AUDIENCA: [padëgjueshme] 162 00:07:38,005 --> 00:07:40,130 DAVID Malan: Po, është e kota, të drejtë, sidomos 163 00:07:40,130 --> 00:07:44,630 nëse shumica e emrave janë vetëm pesë apo 10 ose 15 karaktere, kjo është shumë e kota. 164 00:07:44,630 --> 00:07:45,810 Kështu që ju e dini se çfarë? 165 00:07:45,810 --> 00:07:48,020 Kjo është lloj i një pyetje të vështirë. 166 00:07:48,020 --> 00:07:51,721 Tani, ne me siguri mund të analizuar Anglisht dhe emrat e çdo gjuhë tjetër 167 00:07:51,721 --> 00:07:54,470 dhe të kuptoj se, mirë, çfarë është mesatare average-- nuk ka të vërtetë 168 00:07:54,470 --> 00:07:57,150 ndihmuar us-- çfarë është max është ndoshta ajo që ne të vërtetë duan. 169 00:07:57,150 --> 00:07:59,920 Por kjo rezulton ne kemi edhe disa zgjidhje mbi tipin këtu. 170 00:07:59,920 --> 00:08:03,400 >> Në një bazë të dhënash SQL tipike, ju kanë diçka të quajtur një fushë char 171 00:08:03,400 --> 00:08:07,505 dhe gjithashtu një VARCHAR, V-A-R, për fushën e ndryshueshme char. 172 00:08:07,505 --> 00:08:08,630 Dhe ndryshimi është kjo. 173 00:08:08,630 --> 00:08:12,400 Një fushë char, ju projektuesi, duhet të përcaktojë paraprakisht 174 00:08:12,400 --> 00:08:14,900 gjatësia e saktë të fushës. 175 00:08:14,900 --> 00:08:20,530 Pra, ndoshta emri i parë si 20 ndihet lloj i sigurtë. 176 00:08:20,530 --> 00:08:23,950 Mund të keni për të bërë disa googling për të shohim nëse kjo është e mjaftueshme në të vërtetë e sigurt. 177 00:08:23,950 --> 00:08:26,910 Ka ndoshta një emër me 21 karaktere, por tani për tani, mendoj 20 178 00:08:26,910 --> 00:08:27,620 është i sigurt. 179 00:08:27,620 --> 00:08:30,070 >> Një fushë char do të nënkuptonte në një bazë të dhënash që ju 180 00:08:30,070 --> 00:08:33,289 janë duke përdorur 20 dhe gjithmonë 20 karaktere. 181 00:08:33,289 --> 00:08:37,419 Tani në qoftë se ajo është vetëm D-A-V-I-D, 15 nga ata janë vetëm do të jetë karaktere bosh, 182 00:08:37,419 --> 00:08:40,450 por ju jeni ende duke përdorur të gjitha 20 bytes. 183 00:08:40,450 --> 00:08:46,302 Një fushë VARCHAR, nga ana tjetër, do të thotë string duhet të jetë deri në 20 karaktere 184 00:08:46,302 --> 00:08:48,260 por në qoftë se kjo është vetëm pesë, ju jeni vetëm do të përdorin 185 00:08:48,260 --> 00:08:51,270 pesë, ose ndoshta gjashtë për një vlerë të veçantë në fund, 186 00:08:51,270 --> 00:08:54,980 si se 0 diskutuam se nënkupton fundin e një karakter 187 00:08:54,980 --> 00:08:56,790 Sekuenca në kujtesë. 188 00:08:56,790 --> 00:08:59,950 >> Pra, kur mendoni ju ju mund të zgjidhni char 189 00:08:59,950 --> 00:09:05,240 kundrejt VARCHAR, duke pasur parasysh se të tregtisë-off? 190 00:09:05,240 --> 00:09:09,321 Char përdor atë shumë karaktere, VARCHAR përdor jo më shumë se që shumë karaktere. 191 00:09:09,321 --> 00:09:10,196 AUDIENCA: [padëgjueshme] 192 00:09:10,196 --> 00:09:13,859 193 00:09:13,859 --> 00:09:16,900 DAVID Malan: OK, kur ju e dini gjatësia e vargut mjaft bindëse 194 00:09:16,900 --> 00:09:19,316 për të përdorur vetëm char, 'shkaku nëse ju e dini atë, vetëm vënë atë poshtë. 195 00:09:19,316 --> 00:09:23,390 Dhe ndoshta kjo është e vërtetë për një zip Kodi, në SHBA, të paktën, 02138, 196 00:09:23,390 --> 00:09:26,660 ajo gjithmonë do të jetë pesë karaktere deri ju shtoni dash katër. 197 00:09:26,660 --> 00:09:29,750 Por ju mund të keni disa vlera për të cilat ju gjithmonë e di gjatësinë. 198 00:09:29,750 --> 00:09:32,310 Apo ndoshta simbolet shtetërore, si NY për në Nju Jork, 199 00:09:32,310 --> 00:09:33,811 dhe MA për Massachusetts në SHBA. 200 00:09:33,811 --> 00:09:36,560 Ndoshta ju keni disa situata ku kjo është krejtësisht e arsyeshme, 201 00:09:36,560 --> 00:09:39,520 por deri në atë logjikë, pse janë ne edhe overthinking kjo? 202 00:09:39,520 --> 00:09:41,800 Pse nuk përdorni vetëm VARCHAR dhe pastaj ne vetëm do të 203 00:09:41,800 --> 00:09:46,730 që të përdorni përherë dy karaktere gjithsesi, ose përdorni gjithmonë pesë karaktere anyway? 204 00:09:46,730 --> 00:09:50,300 Pse jo vetëm të shpëtojë VARCHAR për çdo gjë, nga kjo logjikë? 205 00:09:50,300 --> 00:09:51,677 Nuk duhet të jetë një kapur. 206 00:09:51,677 --> 00:09:52,552 AUDIENCA: [padëgjueshme] 207 00:09:52,552 --> 00:09:54,952 208 00:09:54,952 --> 00:09:56,660 DAVID Malan: Mund shkruani diçka të gabuar. 209 00:09:56,660 --> 00:09:58,090 Kështu që është e vërtetë. 210 00:09:58,090 --> 00:10:01,030 Por edhe atëherë, ata nuk mund të përdorin më shumë memorie se unë ndajë. 211 00:10:01,030 --> 00:10:03,340 Unë ende kam finale thonë se mbi gjatësinë, 212 00:10:03,340 --> 00:10:06,780 kështu që ata nuk mund të aksidentalisht të bëjë se gabim, por një mendim të mirë. 213 00:10:06,780 --> 00:10:10,510 Kjo është më delikate, por është shumë e lidhur për diskutimin tonë, në të vërtetë, e vargjeve 214 00:10:10,510 --> 00:10:12,390 dhe listat e lidhur më parë. 215 00:10:12,390 --> 00:10:16,290 >> Ajo rezulton se një bazë të dhënash, në qoftë se ajo e di se të gjitha vlerat janë 216 00:10:16,290 --> 00:10:19,250 e një gjatësi të caktuar, edhe në qoftë se disa nga këto vlera janë bosh, 217 00:10:19,250 --> 00:10:22,484 lloj aesthetically bosh, D-A-V-I-D dhe pastaj 15 boshllëqet, 218 00:10:22,484 --> 00:10:24,650 rezulton se në qoftë se çdo fushë është të njëjtën gjatësi, 219 00:10:24,650 --> 00:10:28,670 shumë si një grup kishte të gjitha të stuff e saj për të kthyer prapa për të mbështetur për të mbështetur në mënyrë që 220 00:10:28,670 --> 00:10:33,480 ju mund vetëm plus 1 për të marrë për të ardhshëm vlera, të njëjtën ide në një tryezë bazës së të dhënave. 221 00:10:33,480 --> 00:10:37,550 Nëse të gjithë i karakterit tuaj vargjet janë të njëjtën gjatësi, 222 00:10:37,550 --> 00:10:39,390 ju keni atë që quhet e gjallë. 223 00:10:39,390 --> 00:10:41,850 Nëse të gjitha vargjet janë të gjatësi 20, ju nuk e bëni vetëm 224 00:10:41,850 --> 00:10:45,230 bërë plus 1 ju vetëm bëni plus 20, plus 20, plus 20, plus 20, 225 00:10:45,230 --> 00:10:48,775 dhe ju mund shumë shpejt të lëvizni nëpër ose të kërkoni përmes të gjitha të dhënat tuaja. 226 00:10:48,775 --> 00:10:54,420 >> Një fushë e ndryshueshme char, nga ana tjetër, nuk ka gjithmonë të ketë 20 karaktere. 227 00:10:54,420 --> 00:10:58,000 Ajo mund të ketë 20 dhe pastaj 15 dhe pastaj 19 dhe pastaj 10, 228 00:10:58,000 --> 00:11:00,720 dhe kështu që nëse ju doni të kërkoni nëpërmjet saj, ju nuk mund vetëm verbërisht 229 00:11:00,720 --> 00:11:03,050 shtoni 20 bytes për të marrë në një tjetër. 230 00:11:03,050 --> 00:11:07,280 Ju fjalë për fjalë duhet të kërkoni përmes sepse buzë të strukturës së të dhënave, 231 00:11:07,280 --> 00:11:08,340 nëse do, është shprishur. 232 00:11:08,340 --> 00:11:11,480 Ai lloj i shkon në dhe në bazë në gjatësinë e vërtetë të vargut. 233 00:11:11,480 --> 00:11:14,460 Pra, kur ju e dini gjatësinë, si Kareem thotë, përdorni një fushë char, 234 00:11:14,460 --> 00:11:16,460 për shkak se ju të fitojë se efikasitetit të qenë 235 00:11:16,460 --> 00:11:19,170 gjendje për të kërkuar nëpërmjet saj të shpejtë kur ju jeni duke kërkuar për të dhëna, 236 00:11:19,170 --> 00:11:20,550 ndryshe përdorur një ndryshore. 237 00:11:20,550 --> 00:11:24,450 >> Për fat të keq, unë nuk kam asnjë përgjigje të mirë për sa kohë emri duhet të jetë, 238 00:11:24,450 --> 00:11:26,360 por për diçka si një emër, unë do të thoja 239 00:11:26,360 --> 00:11:28,470 një VARCHAR është e zakonshme sepse nuk do 240 00:11:28,470 --> 00:11:30,430 të jetë një gjatësi të caktuar për të gjithë. 241 00:11:30,430 --> 00:11:33,650 20, unë nuk e di, 20 ndjen një shtrënguar të vogël. 242 00:11:33,650 --> 00:11:36,460 Le të them vetëm 50, 50. 243 00:11:36,460 --> 00:11:39,210 Ajo nuk ka të vërtetë të kushtojë ju që shumë më tepër për të thënë 50 në vend të 40, 244 00:11:39,210 --> 00:11:41,260 por në disa pika, ju duhet për të bërë një telefonatë gjykim. 245 00:11:41,260 --> 00:11:43,090 >> Shumë e zakonshme, sinqerisht, për [? historike?] 246 00:11:43,090 --> 00:11:47,670 arsye, edhe pse është e tepruar, do të thotë 255, për shkak se disa kohë më parë, 247 00:11:47,670 --> 00:11:51,440 në sistemet e bazës së të dhënave të njohura, si MySQL, një mjet i lirë me burim të hapur 248 00:11:51,440 --> 00:11:53,790 se shumë kompani si edhe Facebook përdoret, 249 00:11:53,790 --> 00:11:56,654 ky ishte maksimumi i parazgjedhur kështu që njerëzit vetëm shkoi me të. 250 00:11:56,654 --> 00:11:59,070 Pra, nuk e paarsyeshme, por ne do të përdorin pak më shumë intuitë 251 00:11:59,070 --> 00:12:02,970 dhe thonë, i sigurt 50, kjo është ndoshta pak e tepruar. 252 00:12:02,970 --> 00:12:05,720 >> Gjinia, unë si enum, dhe kështu që ne mund të për këtë arsye 253 00:12:05,720 --> 00:12:08,760 numëroj mashkull apo femër, ose ndoshta në mënyrë më efikase, 254 00:12:08,760 --> 00:12:13,420 m apo f apo ndonjë symbology të tjera, por enum ndjehet si një zgjedhje e mirë atje. 255 00:12:13,420 --> 00:12:16,740 Për të qenë të qartë, gjinia mund të jetë vetëm një VARCHAR, 256 00:12:16,740 --> 00:12:19,090 dhe ne mund vetëm të gjitha bien dakord si njerëz të bukur, 257 00:12:19,090 --> 00:12:21,010 që gjithmonë të vënë të njëjtat vlera atje. 258 00:12:21,010 --> 00:12:22,720 Mashkull apo femër apo gjësend. 259 00:12:22,720 --> 00:12:27,800 >> Por problemi, atëherë, është se ne mund të bëni një gabim, pasi [padëgjueshme] propozuar 260 00:12:27,800 --> 00:12:29,140 më parë në një kontekst të ndryshëm. 261 00:12:29,140 --> 00:12:32,780 Nëse bëjmë një gabim, ne mund të marrë Vlerat e pasakta në database tonë. 262 00:12:32,780 --> 00:12:36,320 Pra, çfarë është e bukur për bazat e të dhënave si Oracle dhe MySQL dhe të tjerët, 263 00:12:36,320 --> 00:12:39,280 është se ju e keni këtë të fundit shtresë e mbrojtjes ku 264 00:12:39,280 --> 00:12:43,010 administratori juaj DBA, bazës së të dhënave, kushdo që është projektuar këtë tabelë si ne 265 00:12:43,010 --> 00:12:46,440 janë me gojë, mund të vënë në vend një ENUM që 266 00:12:46,440 --> 00:12:51,250 mbron kundër që duke specifikuar mashkull, femër, dhe kështu që askush nuk 267 00:12:51,250 --> 00:12:54,230 tjetër nuk ka programues mund të aksidentalisht futur ndonjë vlerë tjetër. 268 00:12:54,230 --> 00:12:55,480 Pra, kjo do të ishte një gjë e mirë. 269 00:12:55,480 --> 00:12:56,660 Ky është një tipar. 270 00:12:56,660 --> 00:13:00,760 >> Pra një ID, duke supozuar një ID numerike, atë ndoshta duhet të jetë një numër i plotë pozitiv. 271 00:13:00,760 --> 00:13:04,380 Dhe ne ndonjëherë kemi mundësi për të diskutuar gjatësi. 272 00:13:04,380 --> 00:13:06,830 Ju nuk do të zakonisht specifikoni një numër këtu, 273 00:13:06,830 --> 00:13:11,310 ju në vend të kësaj do të specifikojë kjo është një int, ose një int i madh, 274 00:13:11,310 --> 00:13:12,980 pasi ata janë quajtur zakonisht. 275 00:13:12,980 --> 00:13:18,840 Por zakonisht, një numër i plotë do të ishte, le të themi, 4 bytes. 276 00:13:18,840 --> 00:13:23,694 Dhe në qoftë se kjo është 4 bytes, kjo është sa bit? 277 00:13:23,694 --> 00:13:24,630 >> AUDIENCA: [padëgjueshme] 278 00:13:24,630 --> 00:13:26,610 >> DAVID Malan: 32 bit. 279 00:13:26,610 --> 00:13:30,270 Pra, sa përdoruesit mund të kenë në database ynë në qoftë se ata të gjithë kanë një ID 280 00:13:30,270 --> 00:13:33,320 dhe kjo ID duhet të jetë unike? 281 00:13:33,320 --> 00:13:36,780 32 bit do të thotë ne kemi modele e një, dy, tre, katër, five-- 282 00:13:36,780 --> 00:13:41,000 kështu që si shumë modele të ndryshme të zero dhe ato mund të keni në qoftë se ka 32? 283 00:13:41,000 --> 00:13:43,235 Kjo është e njëjta gjë si duke i kërkuar se çfarë është dy në 32? 284 00:13:43,235 --> 00:13:46,472 285 00:13:46,472 --> 00:13:48,430 Është një numër i madh se Unë nuk mund të mjaft të drejtë, 286 00:13:48,430 --> 00:13:50,270 por unë e di se është rreth 4 miliardë. 287 00:13:50,270 --> 00:13:53,970 Pra, kjo do të thotë tavolina juaj bazës së të dhënave mund të kanë katër miliardë përdorues dhe kjo është ajo. 288 00:13:53,970 --> 00:13:56,410 >> Pra, kjo është një interesante Dizajni Implikimi. 289 00:13:56,410 --> 00:14:00,840 Një numër i mirë i kompanive kanë vendosur, ndoshta jo aq shumë 290 00:14:00,840 --> 00:14:04,860 për tryezën përdoruesit e tyre, sepse ka 4 miliard përdorues është një problem i rrallë. 291 00:14:04,860 --> 00:14:08,410 Kjo është lloj i një Facebook-style problem, nuk është një problem tipik kompani. 292 00:14:08,410 --> 00:14:12,670 Por ndoshta në qoftë se ju keni shkrimet e transaksionit ose një lloj i të dhënave që vazhdimisht 293 00:14:12,670 --> 00:14:15,610 merr e shkruar në bazën e të dhënave tuaj që absolutisht mund të ketë miliarda 294 00:14:15,610 --> 00:14:18,900 dhe miliarda rreshtave, dhe ju përdorni një numër të plotë për të, 295 00:14:18,900 --> 00:14:22,750 se çfarë do të ndodhë sa më shpejt që që ju të merrni në rresht numrin 4 miliardë 296 00:14:22,750 --> 00:14:26,210 dhe pastaj ju të përpiqet për të futur në 4000000000 dhe 1, kështu që të flasin? 297 00:14:26,210 --> 00:14:29,610 Unë jam thjeshtimi numrat a bit. 298 00:14:29,610 --> 00:14:33,740 >> Ju mund të prerë përsëri, unë do të thotë të kanë për të trajtuar atë disi. 299 00:14:33,740 --> 00:14:37,910 Dhe çfarë një kompjuter zakonisht do të bëjë, mendoni rreth saj edhe nga ky mëngjes, 300 00:14:37,910 --> 00:14:42,430 në qoftë se ju keni një vlerë 4-bit si 1, 1, 1, 1, e cila, 301 00:14:42,430 --> 00:14:44,920 vetëm për të lidhin në mëngjes së bashku për të pasdites, çfarë 302 00:14:44,920 --> 00:14:48,369 bën ky numër përfaqëson në binar? 303 00:14:48,369 --> 00:14:49,410 OK, ne do të bëjë më të lehtë. 304 00:14:49,410 --> 00:14:53,310 Çfarë e bën këtë numër përfaqësojnë në binar? 305 00:14:53,310 --> 00:14:56,794 OK, ne do të bëjë më të lehtë, çfarë e bën këtë të përfaqësojë në binar? 306 00:14:56,794 --> 00:14:57,460 AUDIENCA: Tre. 307 00:14:57,460 --> 00:14:59,670 DAVID Malan: Three, sepse ne kemi ato column-- 308 00:14:59,670 --> 00:15:00,450 [Qeshura] 309 00:15:00,450 --> 00:15:01,350 Uf! 310 00:15:01,350 --> 00:15:03,980 Ne kishim ato të kolonën dhe kolona twos. 311 00:15:03,980 --> 00:15:07,250 Pra mendoj se, me të vërtetë, tona [? tokë e punueshme?] nuk ishin 32 bit, 312 00:15:07,250 --> 00:15:13,440 por ishin dy copa, ne mund të mbështeteni nga numër 0, 1, 2, 3 përdoruesi, 313 00:15:13,440 --> 00:15:18,040 dhe pastaj ne jemi lloj i Kthehu ne 00 herë. 314 00:15:18,040 --> 00:15:19,739 Pra, kjo është ajo që ndodh zakonisht. 315 00:15:19,739 --> 00:15:22,780 Nëse ju keni dëgjuar ndonjëherë expression-- ndoshta nuk kanë, por nëse ju have-- 316 00:15:22,780 --> 00:15:26,500 overflow integer, ku ju mbajtur flipping të gjitha copa tuaj 317 00:15:26,500 --> 00:15:29,640 të jenë vlerat më të mëdha të mundshme, dhe pastaj ju jeni jashtë copa, 318 00:15:29,640 --> 00:15:30,850 çfarë do të ndodhë zakonisht? 319 00:15:30,850 --> 00:15:32,280 Pse them 00? 320 00:15:32,280 --> 00:15:33,220 E pra, kjo është tre. 321 00:15:33,220 --> 00:15:34,230 Si mund të përfaqësojnë 4? 322 00:15:34,230 --> 00:15:36,890 323 00:15:36,890 --> 00:15:38,915 Si mund të përfaqësojë për numrin 4 në binar? 324 00:15:38,915 --> 00:15:39,790 AUDIENCA: [padëgjueshme] 325 00:15:39,790 --> 00:15:41,780 DAVID Malan: One-- yeah, nuk po them 100 në vetvete, 326 00:15:41,780 --> 00:15:44,190 për shkak se ajo ka gabuar konotacion, por 1-0-0. 327 00:15:44,190 --> 00:15:48,920 Kështu që numri 1-0-0 është me të vërtetë e saktë, por në qoftë se ju keni vetëm dy copa, 328 00:15:48,920 --> 00:15:50,820 çfarë ke bërë me të vërtetë? 329 00:15:50,820 --> 00:15:53,219 Ju keni mbështjellë mbi të 00. 330 00:15:53,219 --> 00:15:54,760 Dhe me të vërtetë, kjo është ajo që do të ndodhë. 331 00:15:54,760 --> 00:15:56,884 Në fakt, ju mund të mendoni për këtë më shumë ceremoni. 332 00:15:56,884 --> 00:15:59,350 Nëse ju kujtohet, çfarë, 16 vjet më parë, bota 333 00:15:59,350 --> 00:16:03,380 ishte menduar për t'i dhënë fund, kur problemi Y2K ndodhur. 334 00:16:03,380 --> 00:16:04,330 Pse ishte kjo? 335 00:16:04,330 --> 00:16:08,170 Dhe shumica e kompjuterëve, për vendime të arsyeshme, 336 00:16:08,170 --> 00:16:15,320 janë ruajtur numrat pëlqen vitit 1975 ose viti 1999 337 00:16:15,320 --> 00:16:19,010 duke përdorur vetëm dy shifra në kujtesën e kompjuterit. 338 00:16:19,010 --> 00:16:21,950 Pra, natyrisht, çfarë ndodh kur të shkoj në vitin 2000, 339 00:16:21,950 --> 00:16:25,790 ju shkoni në këtë, ose më mirë, po. 340 00:16:25,790 --> 00:16:30,120 Pra, ju shkoni në vitin 2000, por në qoftë se ju jeni vetëm duke përdorur dy shifra duket 341 00:16:30,120 --> 00:16:32,660 si vitin e 00 dhe kështu që ju keni përmbys. 342 00:16:32,660 --> 00:16:36,820 Dhe kjo është arsyeja pse shumë sistemeve të nevojshme për të përditësuar në atë kohë. 343 00:16:36,820 --> 00:16:42,500 >> Pra, me tha se, kompanitë si Facebook drejtuar kundër kësaj. 344 00:16:42,500 --> 00:16:46,147 Pra, mënyra e vetme për të trajtuar Situata, sinqerisht, është të parashikojnë atë. 345 00:16:46,147 --> 00:16:47,980 Ose mënyra pastra të të trajtuar këtë situatë 346 00:16:47,980 --> 00:16:50,330 është që të parashikojnë atë kështu që ju nuk e bëni duhet për të bërë ndryshime më vonë. 347 00:16:50,330 --> 00:16:51,970 Pra, në vend të 8 bytes, ju e dini se çfarë? 348 00:16:51,970 --> 00:16:54,261 Unë do të jetë përpara-menduarit këtu, edhe pse është e 349 00:16:54,261 --> 00:16:56,760 pak optimist se ne do të kemi 4 miliard 350 00:16:56,760 --> 00:16:58,850 dhe 1 përdorues në faqen tonë të internetit. 351 00:16:58,850 --> 00:17:01,790 Por le të përdorin vetëm 8 bytes, ose 64 bit, e cila do të jetë në përgjithësi 352 00:17:01,790 --> 00:17:05,640 quajtur një numër i plotë i madh, shumë teknik. 353 00:17:05,640 --> 00:17:10,280 Dhe kjo vetëm do të thotë që ju mund të keni edhe më shumë shifrat në numrin tuaj. 354 00:17:10,280 --> 00:17:12,599 Por kjo është një e rëndësishme Vendimi projektimit, 355 00:17:12,599 --> 00:17:16,400 sepse në qoftë se ju zgjidhni një numër që ka shumë pak pjesë të shprehurit 356 00:17:16,400 --> 00:17:19,089 ju në fakt mund të krijojë një bug në software tuaj. 357 00:17:19,089 --> 00:17:21,750 >> Të gjithë të drejtë, kështu që le të mbyllë me email dhe adresën postare. 358 00:17:21,750 --> 00:17:26,369 Pra email, sa kohë duhet një adresë e-mail të jetë? 359 00:17:26,369 --> 00:17:26,869 50. 360 00:17:26,869 --> 00:17:29,220 Unë me të vërtetë nuk kanë asnjë ide, por është e ndoshta diçka të tillë, 361 00:17:29,220 --> 00:17:32,261 sepse përndryshe askush nuk do të shkruani ju në qoftë se ajo merr një kohë të gjatë, kështu që 50, 362 00:17:32,261 --> 00:17:33,360 le të shkojë me të tani për tani. 363 00:17:33,360 --> 00:17:35,770 Adresa e AK, sa kohë duhet që të jetë? 364 00:17:35,770 --> 00:17:38,325 365 00:17:38,325 --> 00:17:39,200 AUDIENCA: [padëgjueshme] 366 00:17:39,200 --> 00:17:41,900 367 00:17:41,900 --> 00:17:43,890 >> DAVID Malan: Kjo nuk është vetëm një kod zip, pse. 368 00:17:43,890 --> 00:17:45,720 Adresa e AK, kam dëgjuar. 369 00:17:45,720 --> 00:17:50,720 Pra, kjo është si 1 Brattle Square, presje, Cambridge Mass., presje, 02138. 370 00:17:50,720 --> 00:17:53,860 Dhe në fakt, më lejoni vetëm të tërheqë up një pune të vogël këtu. 371 00:17:53,860 --> 00:17:56,510 Kjo ndjehet si ajo është një mundësi e humbur. 372 00:17:56,510 --> 00:18:01,480 Në qoftë se ne kemi 1 Brattle Square, presje, Cambridge MA 02138, 373 00:18:01,480 --> 00:18:04,510 Ndjehem si ne mund të bëjmë më mirë se vetëm adresën postare. 374 00:18:04,510 --> 00:18:07,100 Pse nuk shpërthejnë këtë pak? 375 00:18:07,100 --> 00:18:08,030 Çfarë jam unë duke marrë në? 376 00:18:08,030 --> 00:18:10,970 Çfarë duhet të ketë vend për rreshtat tanë këtu, ndoshta? 377 00:18:10,970 --> 00:18:12,260 >> AUDIENCA: [padëgjueshme] 378 00:18:12,260 --> 00:18:17,579 >> DAVID Malan: Yeah, kështu që le të e quajti atë street_number, 379 00:18:17,579 --> 00:18:20,620 dhe një nënvizuar është vetëm një e zakonshme mënyrë për të pasur atë që duket si një hapësirë, 380 00:18:20,620 --> 00:18:22,360 por kjo nuk është, në të vërtetë. 381 00:18:22,360 --> 00:18:26,240 Street, dhe pastaj qytet të vjen keq? 382 00:18:26,240 --> 00:18:28,440 >> AUDIENCA: [padëgjueshme] 383 00:18:28,440 --> 00:18:29,690 DAVID Malan: Ne mund ta bëjë këtë. 384 00:18:29,690 --> 00:18:30,702 Line një, dy linjë. 385 00:18:30,702 --> 00:18:32,410 Pse nuk do të mbajë atë të thjeshtë për tani, 386 00:18:32,410 --> 00:18:34,840 por kjo është absolutisht e një vendim i pranueshëm. 387 00:18:34,840 --> 00:18:38,180 Dhe pastaj shteti, dhe pastaj le të të jetë pak i SHBA-centric për tani 388 00:18:38,180 --> 00:18:42,040 dhe vetëm të bëjë kodin zip, vetëm për shkak se ajo do të çojë në një gabim interesante 389 00:18:42,040 --> 00:18:43,090 apo problem këtu. 390 00:18:43,090 --> 00:18:44,655 Pra, mendoj se tani është adresa jonë. 391 00:18:44,655 --> 00:18:47,280 Kjo është pak më shumë i bezdisshëm se ne kemi të gjitha këto fusha të tjera, 392 00:18:47,280 --> 00:18:49,200 por tani ne mund tag gjërat pak më mirë. 393 00:18:49,200 --> 00:18:53,210 >> Numri kështu që tani street ndoshta nuk duhet të jetë një char, duhet ajo? 394 00:18:53,210 --> 00:18:54,835 Çfarë duhet të jetë? 395 00:18:54,835 --> 00:18:55,710 AUDIENCA: [padëgjueshme] 396 00:18:55,710 --> 00:18:57,835 DAVID Malan: Ndoshta, një numër si një numër të plotë përsëri? 397 00:18:57,835 --> 00:19:00,170 Një numër i plotë i madh? 398 00:19:00,170 --> 00:19:02,170 Ju ndoshta nuk jetojnë në 4 miliardë Main Street 399 00:19:02,170 --> 00:19:03,490 apo diçka të çmendur të tillë. 400 00:19:03,490 --> 00:19:06,850 Pra, numër i plotë është ndoshta mirë, por ka askënd 401 00:19:06,850 --> 00:19:13,880 jetuar ndonjëherë në një adresë si 1A Brattle Square, ose 1 dhe 1/2? 402 00:19:13,880 --> 00:19:17,030 Këto gjëra ekzistojnë, për fat të keq, edhe në qoftë se ju nuk e keni jetuar atje, 403 00:19:17,030 --> 00:19:21,240 ka këto anomali si 1A apartament, 1B, 1C. 404 00:19:21,240 --> 00:19:24,260 Kështu që ju e dini se çfarë, ne ndoshta nuk duhet të shkoni me numër të plotë, 405 00:19:24,260 --> 00:19:27,440 përndryshe ne jemi duke shkuar për të humbur disa shitjeve. 406 00:19:27,440 --> 00:19:29,920 >> fushë Char, ndoshta? 407 00:19:29,920 --> 00:19:30,870 Nuk e di se sa kohë. 408 00:19:30,870 --> 00:19:33,370 Kjo ndoshta nuk do të jetë aq gjatë, kështu që 10 apo diçka. 409 00:19:33,370 --> 00:19:34,950 Askush nuk do të shkruaj një numër më të gjatë, ndoshta. 410 00:19:34,950 --> 00:19:37,070 Por përsëri, ne duhet ndoshta japin më shumë mendim për këtë. 411 00:19:37,070 --> 00:19:39,900 Ndoshta google, të bëjë disa hulumtime, por ne do të shkojmë me guxim tona tani për tani. 412 00:19:39,900 --> 00:19:44,565 Streets, char, 50, unë nuk e di. 413 00:19:44,565 --> 00:19:46,940 Në një moment, askush nuk do për të shkruar atë në një zarf, 414 00:19:46,940 --> 00:19:49,350 gjithashtu, kështu që nuk ka të ngjarë some kufijtë e sipërme atje. 415 00:19:49,350 --> 00:19:54,200 City, njëjtë, të sigurt, kështu që char 50. 416 00:19:54,200 --> 00:19:59,120 >> State, mund të jetë i SHBA-centric tani për tani. 417 00:19:59,120 --> 00:20:01,850 Pra, ajo mund të jetë një listë, kështu lloj e një thirrje gjykimi i shtetit. 418 00:20:01,850 --> 00:20:04,000 Kjo mund të jetë si dy karaktere. 419 00:20:04,000 --> 00:20:06,140 Kështu në fakt, ndoshta, unë mbajtur duke thënë char. 420 00:20:06,140 --> 00:20:09,420 Unë ndoshta do të thotë VARCHAR, vetëm për disa efikasitet, 421 00:20:09,420 --> 00:20:12,240 por ne do të kthehen në se vendimi në një moment. 422 00:20:12,240 --> 00:20:16,150 Mund të jetë një char me gjatësi 2 për shtetin. 423 00:20:16,150 --> 00:20:20,670 Në qoftë se në SHBA ata kanë, si MA, Massachusetts, NY, New York, NJ, New 424 00:20:20,670 --> 00:20:22,100 Jersey, e kështu me radhë. 425 00:20:22,100 --> 00:20:23,630 Pra, ajo mund të jetë fikse në atë. 426 00:20:23,630 --> 00:20:25,900 DC për Washington DC. 427 00:20:25,900 --> 00:20:29,915 >> Por unë mendoj, Olivier, ju propozoi diçka tjetër. 428 00:20:29,915 --> 00:20:30,790 AUDIENCA: [padëgjueshme] 429 00:20:30,790 --> 00:20:33,670 DAVID Malan: Yeah, kështu që është një pak i bezdisshëm që të shkruani, 430 00:20:33,670 --> 00:20:37,890 por një enum mund të bëjë më shumë kuptim, sepse këtë mënyrë, të paktën në SHBA, 431 00:20:37,890 --> 00:20:41,320 ju mund të numëroj, nëse tediously, por ju bëni atë vetëm një herë në database tuaj 432 00:20:41,320 --> 00:20:47,480 dhe kurrë më nuk duhet të mendojnë për ajo, të gjithë 50 Kodet e dy karaktereve. 433 00:20:47,480 --> 00:20:48,660 Kështu që unë si enum. 434 00:20:48,660 --> 00:20:51,720 Le të rrinë me se ka, për shkak se ai lloj i zbaton më shumë ashpërsi. 435 00:20:51,720 --> 00:20:53,620 Dhe pastaj zip kodin? 436 00:20:53,620 --> 00:20:55,306 Mendoj Andrew kishte një mendim mbi këtë 437 00:20:55,306 --> 00:20:56,180 AUDIENCA: [padëgjueshme] 438 00:20:56,180 --> 00:20:57,240 DAVID Malan: Yeah, pesë ose nëntë. 439 00:20:57,240 --> 00:20:58,323 Le të vetëm të mbajtur atë të thjeshtë. 440 00:20:58,323 --> 00:20:59,380 Vetëm të bëjë pesë për tani. 441 00:20:59,380 --> 00:21:03,070 Por ndoshta unë mund vetëm të të bëjë një numër të plotë, apo jo? 442 00:21:03,070 --> 00:21:08,750 Unë mund të, por ju e dini se çfarë, unë bëra ky gabim një herë, në një kuptim. 443 00:21:08,750 --> 00:21:13,110 Vite më parë, unë u emigrojnë nga Microsoft Outlook për Gmail, 444 00:21:13,110 --> 00:21:18,640 dhe Outlook ka një mënyrë për të eksportuar të gjitha kontaktet tuaja si një file Excel, 445 00:21:18,640 --> 00:21:21,280 një skedar CSV, nda me presje vlerave fotografi. 446 00:21:21,280 --> 00:21:23,950 Dhe kam bërë gabim, unë mendoj se, për të dyfishtë klikuar atë, 447 00:21:23,950 --> 00:21:27,380 sapo kam shkarkuar eksportin, për sigurohuni që ajo dukej si e prisja. 448 00:21:27,380 --> 00:21:31,320 Unë duhet të ketë goditur Save ose le auto-save goditje në ose diçka. 449 00:21:31,320 --> 00:21:35,100 Sepse kur unë pastaj të importuar atë në Gmail, të gjitha ka punuar. 450 00:21:35,100 --> 00:21:39,910 Por për vite me rradhë, në këtë ditë, dhe Unë e bëri këtë pesë, 10 vjet më parë, 451 00:21:39,910 --> 00:21:44,380 Unë jam ende duke gjetur miq të cilët kanë adresat që duken si kjo. 452 00:21:44,380 --> 00:21:45,700 Pse? 453 00:21:45,700 --> 00:21:47,900 >> AUDIENCA: [padëgjueshme] 454 00:21:47,900 --> 00:21:50,650 >> DAVID Malan: U deshën 0 e, mirë, në vend, atë 455 00:21:50,650 --> 00:21:53,810 mori tërë kodin zip, si një numër, dhe për këtë arsye është e 456 00:21:53,810 --> 00:21:56,590 një 0 udhëheqëse që do të thotë nuk ka kuptim. 457 00:21:56,590 --> 00:21:59,470 Dhe kështu 2138 duket të jetë kodi im zip. 458 00:21:59,470 --> 00:22:07,100 Dhe kjo është, sinqerisht, një Excel bezdisshëm tipar të cilin unë mendoj se nga default, 459 00:22:07,100 --> 00:22:10,980 edhe në qoftë se ajo është për qëllim të vetëm të jetë tekst, Microsoft Excel 460 00:22:10,980 --> 00:22:13,780 vendos, më lejoni të jetë e dobishme, dhe oh, unë shoh vetëm numra. 461 00:22:13,780 --> 00:22:15,290 Le të trajtojmë këto si numra. 462 00:22:15,290 --> 00:22:16,790 Dhe kjo truncates zero kryesor. 463 00:22:16,790 --> 00:22:19,165 >> Betohem në Zot, çdo çift i muajve të gjej një adresë, 464 00:22:19,165 --> 00:22:22,300 dhe nga një lloj OCD, unë kthehem në dhe shtoni 0, edhe pse unë kurrë nuk 465 00:22:22,300 --> 00:22:23,700 dërgoni njerëz letra apo ndonjë gjë. 466 00:22:23,700 --> 00:22:25,510 Por unë jam ende duke gjetur mbetjet e kësaj. 467 00:22:25,510 --> 00:22:28,820 Pra, kjo do të thotë, është kjo një ide e mirë? 468 00:22:28,820 --> 00:22:31,610 OK, nuk ka, sepse dikush në Massachusetts, në këtë fushë, 469 00:22:31,610 --> 00:22:33,270 do të ketë një o udhëheqës tyre. 470 00:22:33,270 --> 00:22:38,070 Pra, le të shkojë me të si char, ndoshta, pesë. 471 00:22:38,070 --> 00:22:41,450 >> Dhe këtu, realizuar ne mund të përdorin një enum dhe ne 472 00:22:41,450 --> 00:22:44,600 mund të numëroj 10,000 Kodet e mundshme zip, 473 00:22:44,600 --> 00:22:48,530 por ndjehet si ajo është ndoshta kaluar një linjë të, si, përfitime. 474 00:22:48,530 --> 00:22:51,350 Nëse keni të dhëna se shumë të dhëna në bazën e të dhënave tuaj 475 00:22:51,350 --> 00:22:52,940 për të mbrojtur kundër diçkaje. 476 00:22:52,940 --> 00:22:57,400 Pra, char realizuar ju mund të shkruani në H-E-L-L-O si kodin zip, 477 00:22:57,400 --> 00:22:59,180 e cila nuk është, padyshim, numerike. 478 00:22:59,180 --> 00:23:01,680 Pra, nuk ka asnjë mënyrë, në një bazë të dhënash tipike, 479 00:23:01,680 --> 00:23:05,561 të specifikojë vetëm numerike dhe vetëm pesë karaktere të gjatë, 480 00:23:05,561 --> 00:23:07,310 kështu që ne do të kemi për të bërë këtë në kod. 481 00:23:07,310 --> 00:23:11,100 Ne jemi duke shkuar për të bërë këtë në PHP ose Java apo çfarëdo gjuhe ne jemi 482 00:23:11,100 --> 00:23:14,230 përdorur në server për të zbatuar kjo lloj kufizimi. 483 00:23:14,230 --> 00:23:14,860 >> Whoo! 484 00:23:14,860 --> 00:23:18,322 Të gjithë të drejtë, kështu që çdo pyetje vetëm ende? 485 00:23:18,322 --> 00:23:19,780 Le të bëjë një vendim të projektimit. 486 00:23:19,780 --> 00:23:22,500 Ajo rezulton se ju gjithashtu merrni për të zgjedhur, 487 00:23:22,500 --> 00:23:26,600 kur të hartonin një bazë të dhënash SQL, ose database-- tipike relacionale ku 488 00:23:26,600 --> 00:23:28,790 përsëri, relacionale vetëm do të thotë rreshtave dhe kolonave, 489 00:23:28,790 --> 00:23:35,500 kjo është se si ju organizojnë data-- tuaj dhe të kuptojë se çfarë do të thotë kjo, 490 00:23:35,500 --> 00:23:37,740 Unë kam qenë mashtruese në që, unë jam drawing-- këtë 491 00:23:37,740 --> 00:23:40,190 është ajo që quhet skema për një tryezë bazës së të dhënave. 492 00:23:40,190 --> 00:23:42,810 Kjo është si më Specifikimet për table-- 493 00:23:42,810 --> 00:23:48,040 por kur vjen koha që në fakt të ruajtur të dhënat, 494 00:23:48,040 --> 00:23:52,081 dhe ne do të bëjmë këtë vetëm me shembull këtu. 495 00:23:52,081 --> 00:23:55,080 Unë jam duke shkuar për të hapur Excel, sepse Excel do të më japë rreshtave dhe kolonave. 496 00:23:55,080 --> 00:23:58,050 Dhe kjo është pikërisht ajo që Oracle dhe MySQL dhe mjete të tjera do të më jepni. 497 00:23:58,050 --> 00:24:02,270 Kështu që unë jam vetëm duke shkuar për të përdorur kjo për hir të diskutimit të. 498 00:24:02,270 --> 00:24:05,250 Më lejoni të shkoj përpara dhe të hapur një Dokumenti përfaqësues këtu, 499 00:24:05,250 --> 00:24:06,310 zoom në një grimë. 500 00:24:06,310 --> 00:24:15,200 Kështu për shembull, headers tona janë tani emri, mbiemri, gjinia, ID, 501 00:24:15,200 --> 00:24:20,980 email, numrin rrugë, rrugë, uh. 502 00:24:20,980 --> 00:24:25,710 Street, qyteti, shteti, vetëm lidhje përshtatet në ekran. 503 00:24:25,710 --> 00:24:29,080 >> Pra, çfarë kjo do të thotë është se kur një përdoruesi i parë regjistron për web faqen time, 504 00:24:29,080 --> 00:24:32,880 ajo do të jetë diçka si David, Malan, m, le të themi 1, 505 00:24:32,880 --> 00:24:42,910 malan@harvard.edu, numri i rrugës do të të jetë si 1 Brattle Square, Cambridge, MA, 506 00:24:42,910 --> 00:24:44,780 02138, dhe pastaj kështu me radhë. 507 00:24:44,780 --> 00:24:48,290 Kështu që kur unë them se një bazë të dhënash relacionale ose bazës së të dhënave SQL është rreshtave dhe kolonave, 508 00:24:48,290 --> 00:24:49,350 Unë do të thotë kjo. 509 00:24:49,350 --> 00:24:51,900 Që të dhënat aktuale është ruajtur në rreshta dhe kolona. 510 00:24:51,900 --> 00:24:53,950 Kjo është vetëm një rastësi, që ne po flasim, 511 00:24:53,950 --> 00:24:56,033 dhe unë isha vetëm duke tërhequr atë në rreshta dhe kolona. 512 00:24:56,033 --> 00:24:58,320 Ky është vetëm skemë, përcaktimi kryesor. 513 00:24:58,320 --> 00:25:01,640 >> Pra, nga këto fusha këtu, ose ekuivalente, atje, 514 00:25:01,640 --> 00:25:06,270 të cilat janë fushat që ju mendoni se Unë jam shumë gjasa për të kërkuar në qoftë se unë jam një përdorues 515 00:25:06,270 --> 00:25:09,200 ose në qoftë se unë jam administratori bazës së të dhënave? 516 00:25:09,200 --> 00:25:12,426 Si, çfarë fusha ku jam në të vërtetë do të kërkuar për? 517 00:25:12,426 --> 00:25:13,830 >> AUDIENCA: [padëgjueshme] 518 00:25:13,830 --> 00:25:17,690 >> DAVID Malan: Emri, po kështu Më pëlqen fakti that-- yeah, 519 00:25:17,690 --> 00:25:19,750 email mund të jetë shumë e zakonshme. 520 00:25:19,750 --> 00:25:21,440 Na vjen keq, ju tha emrin. 521 00:25:21,440 --> 00:25:24,030 Kështu maybe-- dhe përsëri, ne jemi lloj folur në abstrakte. 522 00:25:24,030 --> 00:25:25,988 Unë nuk e di pse ju do të të kërkoni për një emër, 523 00:25:25,988 --> 00:25:29,340 por që ndihet i arsyeshëm nëse ju jeni në kërkim për një përdorues. 524 00:25:29,340 --> 00:25:31,170 Ndoshta thotë, i sigurt, ID. 525 00:25:31,170 --> 00:25:34,100 526 00:25:34,100 --> 00:25:36,160 >> Dhe kjo është një rrëshqitshëm shpat, sepse unë mund të 527 00:25:36,160 --> 00:25:38,890 shpik një skenar ku ndoshta shefi im më ka kërkuar, 528 00:25:38,890 --> 00:25:40,417 sa burrat nuk kemi në faqen tonë? 529 00:25:40,417 --> 00:25:42,000 Sa shumë gra të kemi ne në faqen tonë? 530 00:25:42,000 --> 00:25:45,210 Dhe kështu në këtë pikë, ju mund të dëshironi për të kërkuar në fushën gjinore, gjithashtu, 531 00:25:45,210 --> 00:25:45,940 dhe asgjë tjetër. 532 00:25:45,940 --> 00:25:47,350 Pra, ka një tregti-off këtu. 533 00:25:47,350 --> 00:25:49,180 Përsëri, nuk ka asnjë përgjigje të drejtë, por ka 534 00:25:49,180 --> 00:25:53,760 është një tipar në shumicën e bazave të të dhënave SQL i njohur si indeksimit, ku 535 00:25:53,760 --> 00:25:56,100 ju, projektuesi, administratori bazës së të dhënave, 536 00:25:56,100 --> 00:26:01,730 merrni për të vendosur paraprakisht të cilat fushat e bazës së të dhënave duhet të zgjedh 537 00:26:01,730 --> 00:26:02,980 për kërkime në. 538 00:26:02,980 --> 00:26:07,620 >> Ju mund të them shumë naivitet, zgjedh kjo, jam optimist se, zgjedh këtë, 539 00:26:07,620 --> 00:26:10,300 zgjedh atë dhe kjo, dhe baza e të dhënave do të 540 00:26:10,300 --> 00:26:14,882 një gjë magjike nën individualitet, dhe të bëjë diçka në mënyrë të tillë 541 00:26:14,882 --> 00:26:17,090 që herën tjetër që ju të kërkoni në ndonjë nga këto fusha, 542 00:26:17,090 --> 00:26:18,400 ajo do të, në fakt, të jetë më i shpejtë. 543 00:26:18,400 --> 00:26:19,110 Kjo është e mundur. 544 00:26:19,110 --> 00:26:20,530 Ajo nuk e anulon veten jashtë. 545 00:26:20,530 --> 00:26:22,500 Por nuk duhet të jetë një çmim i paguar. 546 00:26:22,500 --> 00:26:27,220 >> Nëse ju naivitet, ose mbi-entuziazëm të themi, indeksi të gjitha këto fusha, 547 00:26:27,220 --> 00:26:29,810 kështu që të flasin, të bëjnë të gjithë ata efikasitet të kërkueshme, 548 00:26:29,810 --> 00:26:31,625 çfarë çmimi po ju ndoshta paguar? 549 00:26:31,625 --> 00:26:32,500 AUDIENCA: [padëgjueshme] 550 00:26:32,500 --> 00:26:33,090 DAVID Malan: Performance. 551 00:26:33,090 --> 00:26:33,798 Çfarë do të thuash? 552 00:26:33,798 --> 00:26:37,380 Edhe performance, të paktën në Konteksti unë jam duke diskutuar, është më mirë tani. 553 00:26:37,380 --> 00:26:38,830 Ky është përkufizimi i indeksimit. 554 00:26:38,830 --> 00:26:41,180 Kjo do të bëjë kërkime të shpejtë. 555 00:26:41,180 --> 00:26:43,366 Pra koha zvogëlohet, kështu që të flasin. 556 00:26:43,366 --> 00:26:44,240 AUDIENCA: [padëgjueshme] 557 00:26:44,240 --> 00:26:45,031 DAVID Malan: Space. 558 00:26:45,031 --> 00:26:46,520 Pra, përsëri, këto janë një tregti të zakonshme. 559 00:26:46,520 --> 00:26:50,820 Unë mund të përshpejtojë kërkimet tuaja, por kjo është do të ju kushtojë shumë bytes hapësirë. 560 00:26:50,820 --> 00:26:51,610 Pse? 561 00:26:51,610 --> 00:26:55,230 E pra, si parazgjedhje, në qoftë se ne kemi asnjë këto yje të kuqe, asnjë prej këtyre indekseve, 562 00:26:55,230 --> 00:26:58,797 si unë jam duke thënë, si mund të kërkoni për një emër në këtë bazë të dhënash? 563 00:26:58,797 --> 00:27:00,630 Pra, le të nxjerrë tonë Vëmendje në këtë shembull. 564 00:27:00,630 --> 00:27:06,300 Në qoftë se ne kemi Davidin dhe Scully dhe Kareem dhe Arwa dhe të tjerët në këto rreshta, 565 00:27:06,300 --> 00:27:06,910 për shembull. 566 00:27:06,910 --> 00:27:08,390 >> Pra, le të bëjë pikërisht këtë. 567 00:27:08,390 --> 00:27:13,990 Scully është këtu, dhe pastaj ne kemi Kareem, dhe arwa, 568 00:27:13,990 --> 00:27:18,390 dhe të gjithë të tjerët, në qoftë se ju nuk e bëni kanë një indeks të përcaktuara, në mënyrë që të flasin, 569 00:27:18,390 --> 00:27:20,160 më e mirë që ju mund të bëni është të kërkoni linear. 570 00:27:20,160 --> 00:27:23,470 Nëse ju kërkoni për arwa, ne nuk jemi do të jetë në gjendje të hidhen të drejtë të saj 571 00:27:23,470 --> 00:27:24,140 shpejt. 572 00:27:24,140 --> 00:27:26,556 Ne jemi duke shkuar për të filluar të lartë dhe të shkojnë të gjithë rrugën në fund, 573 00:27:26,556 --> 00:27:28,600 jo ndryshe nga origjinali tonë Shembulli Mike Smith. 574 00:27:28,600 --> 00:27:33,470 >> Nëse, megjithatë, unë them, hej, bazës së të dhënave, Indeksi fushën e parë e emrit, 575 00:27:33,470 --> 00:27:37,000 atëherë ajo do të bëjë diçka njohës dhe mbështetjen diçka 576 00:27:37,000 --> 00:27:38,130 si kërkim binar. 577 00:27:38,130 --> 00:27:39,820 Kjo nuk është ndoshta kërkimit binar në vetvete. 578 00:27:39,820 --> 00:27:42,810 Bazat e të dhënave tendencë për të përdorur një tjetër Struktura e të dhënave të quajtur b-pemë, 579 00:27:42,810 --> 00:27:46,540 nuk duhet të ngatërrohet me pemë binare, që vetëm të bëjë atë më të shpejtë për të kërkuar 580 00:27:46,540 --> 00:27:48,500 diçka logaritmike në natyrë. 581 00:27:48,500 --> 00:27:53,510 Por çmimi që ju paguani për të ndërtuar atë karakteristike, se struktura e të dhënave në kujtesë, 582 00:27:53,510 --> 00:27:54,570 është më shumë bytes. 583 00:27:54,570 --> 00:27:57,170 Pra, ajo mund të marrë disa megabajt, disa gigabajt, kush e di? 584 00:27:57,170 --> 00:27:58,410 Kjo varet nga të dhënat. 585 00:27:58,410 --> 00:28:02,640 >> Pra, në një moment, ju duhet të vendosë, kjo ndoshta nuk është një rast i zakonshëm. 586 00:28:02,640 --> 00:28:06,000 Pra, çfarë janë të zakonshme aktuale raste, në qoftë se jeni të vërtetë kishte për të zgjedhur, 587 00:28:06,000 --> 00:28:10,080 çfarë mund të jetë e preferuar arat e tua? 588 00:28:10,080 --> 00:28:10,580 Email. 589 00:28:10,580 --> 00:28:14,400 Dhe unë si e-mail, sepse e-mail, në teori, duhet të jetë unike. 590 00:28:14,400 --> 00:28:17,650 Dhe kështu në mënyrë tipike, kur ju e dini më parë se një nga fushat e tua 591 00:28:17,650 --> 00:28:20,277 është ose do të jetë unike, që ka tendencë të jetë një fushë e mirë 592 00:28:20,277 --> 00:28:22,860 për të kërkuar në, për shkak se në këtë mënyrë, kur ju kërkoni për diçka, 593 00:28:22,860 --> 00:28:26,194 ju jeni duke shkuar për të marrë përsëri një apo zero përgjigjet dhe pastaj ju jeni bërë. 594 00:28:26,194 --> 00:28:28,110 Ju nuk keni për të mbajtur në kërkim të ende të tjerët. 595 00:28:28,110 --> 00:28:31,992 >> Dhe kështu në këtë rast këtu, email, aq kohë sa ju nuk mund të regjistrohen dy herë 596 00:28:31,992 --> 00:28:33,450 me të njëjtën e-mail, është një e mirë. 597 00:28:33,450 --> 00:28:36,710 ID sipas definicionit, në shkenca kompjuterike botës, 598 00:28:36,710 --> 00:28:39,610 në qoftë se ju jeni duke folur në lidhje me një ID, që ishte më mirë të jetë unike. 599 00:28:39,610 --> 00:28:42,970 Kjo është lloj i konotacion e letërnjoftimit ose identifikues. 600 00:28:42,970 --> 00:28:46,440 Dhe pjesa tjetër e tyre mund të jetë, le të quajmë ato mirë për të haves, 601 00:28:46,440 --> 00:28:47,860 por nuk kërkohet të vërtetë. 602 00:28:47,860 --> 00:28:49,976 >> Dhe kështu në një bazë të dhënash, ju specifikoni indekseve, 603 00:28:49,976 --> 00:28:51,350 por ju mund të jetë edhe më i saktë. 604 00:28:51,350 --> 00:28:56,060 Ju mund të thoni, hej, bazës së të dhënave, të sigurt se çdo ID në këtë tabelë është unik. 605 00:28:56,060 --> 00:28:59,330 Mos edhe le një programues vënë aksidentalisht në një email të kopjuar 606 00:28:59,330 --> 00:29:00,740 ose kopjuar numrin identifikues. 607 00:29:00,740 --> 00:29:03,140 Aq shumë si enums na mbrojë në mënyrë të ngjashme, ju 608 00:29:03,140 --> 00:29:04,881 mund të kenë ato mbrojtëse të nivelit më të ulët. 609 00:29:04,881 --> 00:29:07,130 Dhe kështu dizajn bazës së të dhënave, në një kuptim, është lloj i argëtim, 610 00:29:07,130 --> 00:29:08,380 për shkak se ju bëni atë në mbrojtje. 611 00:29:08,380 --> 00:29:11,460 Ju lloj të supozojmë se ju punoni me tmerrshme, programuesit tmerrshme 612 00:29:11,460 --> 00:29:15,550 dhe ju doni për të vënë në sa më shumë mbrojtëse si ju mund të për të mbrojtur të dhënat tuaja, 613 00:29:15,550 --> 00:29:18,940 por në të njëjtën kohë që ju dëshironi për të ndihmuar ata të kryejnë më mirë 614 00:29:18,940 --> 00:29:21,386 duke zgjedhur cila fusha të zgjedh për. 615 00:29:21,386 --> 00:29:24,260 Por ju nuk mund domosdoshmërisht të bëjë atë në një vakum si ne lloj këtu. 616 00:29:24,260 --> 00:29:26,480 Ju keni marrë të dini se çfarë janë ato raste të shpeshta kanë qenë. 617 00:29:26,480 --> 00:29:29,397 Në qoftë se zhvilluesit janë zbatimin e një libër adresa, 618 00:29:29,397 --> 00:29:32,230 ju mund shumë mirë të duan të jenë në gjendje për të kërkuar në pothuajse çdo fushë, 619 00:29:32,230 --> 00:29:33,830 vetëm nga natyra e kërkesës. 620 00:29:33,830 --> 00:29:37,910 Pra, ndoshta keni shpenzuar se hapësira shtesë. 621 00:29:37,910 --> 00:29:39,090 >> Drejtë, ndonjë pyetje? 622 00:29:39,090 --> 00:29:41,820 623 00:29:41,820 --> 00:29:42,486 Po. 624 00:29:42,486 --> 00:29:43,470 >> AUDIENCA: [padëgjueshme] 625 00:29:43,470 --> 00:29:44,404 >> DAVID Malan: No. 626 00:29:44,404 --> 00:29:45,279 >> AUDIENCA: [padëgjueshme] 627 00:29:45,279 --> 00:29:47,840 628 00:29:47,840 --> 00:29:48,826 >> DAVID Malan: OK. 629 00:29:48,826 --> 00:29:49,701 >> AUDIENCA: [padëgjueshme] 630 00:29:49,701 --> 00:29:52,420 631 00:29:52,420 --> 00:29:54,850 >> DAVID Malan: Oh, kështu që ne janë duke folur në mënyrë të 632 00:29:54,850 --> 00:29:57,940 tani që është plotësisht i gjuhës agnostik. 633 00:29:57,940 --> 00:30:02,370 Pra, ne po flasim tani rreth Bazat e të dhënave relacionale më në përgjithësi, 634 00:30:02,370 --> 00:30:04,760 ose SQL bazat e të dhënave më në përgjithësi. 635 00:30:04,760 --> 00:30:06,870 >> AUDIENCA: [padëgjueshme] 636 00:30:06,870 --> 00:30:10,030 >> DAVID Malan: Një fjalë e mirë për të përdorur po, mund të përdoret nga çdo gjuhë. 637 00:30:10,030 --> 00:30:15,280 Kështu që unë mund të shkruani kodin JavaScript, C Kodi code, C ++, Java kod, kodin Ruby, 638 00:30:15,280 --> 00:30:19,010 të cilat flasin për një bazës së të dhënave dhe të ekzekutojnë pyetje. 639 00:30:19,010 --> 00:30:22,310 Në fakt, kjo nuk është një e keqe segue një pyetje shembull. 640 00:30:22,310 --> 00:30:25,720 Dhe përsëri, ne nuk jemi duke shkuar për të shkuar në Java ose C ++ apo ndonjë nga të cilat më, 641 00:30:25,720 --> 00:30:29,420 por në SQL, gjuha në të cilën unë të mbajtur duke iu referuar, strukturuar Query Language, 642 00:30:29,420 --> 00:30:32,790 kjo në vetvete është një gjuhë programimi, por ajo është menduar për t'u përdorur për, asnjë 643 00:30:32,790 --> 00:30:37,330 papritur, i strukturuar query pyetje. 644 00:30:37,330 --> 00:30:38,660 >> Me këtë dua të them këtë. 645 00:30:38,660 --> 00:30:41,190 Mënyrë që ju të zgjidhni të dhënat nga një bazë të dhënash MySQL 646 00:30:41,190 --> 00:30:49,330 është fjalë për fjalë ju shkruani në programin tuaj diçka si të zgjedhur yll nga përdoruesit. 647 00:30:49,330 --> 00:30:52,200 Unë jam duke supozuar se kjo tabelë, tani e tutje quhet përdoruesit. 648 00:30:52,200 --> 00:30:54,860 Unë mund të telefononi atë çdo gjë që ne duam, por kjo lloj kuptim. 649 00:30:54,860 --> 00:30:57,240 Dhe kështu të zgjedhur është një shumë folje të zakonshme, në qoftë se ju 650 00:30:57,240 --> 00:30:59,290 do të, në SQL, që fjalë për fjalë e bën këtë. 651 00:30:59,290 --> 00:31:02,730 Çfarë mendoni star do të thotë në këtë kontekst? 652 00:31:02,730 --> 00:31:04,410 >> AUDIENCA: [padëgjueshme] 653 00:31:04,410 --> 00:31:05,380 >> DAVID Malan: Unë jam i keq? 654 00:31:05,380 --> 00:31:06,300 >> AUDIENCA: [padëgjueshme] 655 00:31:06,300 --> 00:31:09,580 >> DAVID Malan: Nuk kërkohet, është e më përfshirëse se kaq, në të vërtetë. 656 00:31:09,580 --> 00:31:11,700 Është karakteri egër card. 657 00:31:11,700 --> 00:31:14,740 Star pothuajse gjithmonë do të thotë asgjë, kështu që kjo do të thotë, në këtë rast, 658 00:31:14,740 --> 00:31:16,510 zgjidhni çdo gjë nga bazën e të dhënave. 659 00:31:16,510 --> 00:31:20,730 Pra, kur them këtë, dua të them të më kthejë çdo kolonë 660 00:31:20,730 --> 00:31:22,440 nga tryezën time të quajtur përdoruesit. 661 00:31:22,440 --> 00:31:24,730 Pra, më jepni një sërë rezultat, siç është quajtur. 662 00:31:24,730 --> 00:31:28,210 Me fjalë të tjera, më jep mua një kopje të spreadsheet, është ajo që unë jam marrë në. 663 00:31:28,210 --> 00:31:34,890 >> Por në qoftë se unë i thashë zgjidhni yll nga përdoruesit ku ID e barabartë me 1, sa e madhe duhet 664 00:31:34,890 --> 00:31:36,640 Rezultati set im të jetë atëherë? 665 00:31:36,640 --> 00:31:41,680 Ose ekuivalente, sa rreshtave duhet I dorëzohet kthyer nga bazën e të dhënave? 666 00:31:41,680 --> 00:31:45,860 Ndoshta vetëm një, nëse kam të vërtetë trajtohet ID si një identifikues unik, 667 00:31:45,860 --> 00:31:50,710 dhe në qoftë se David ka se ID unike, I duhet të kthehet një dhe vetëm një rresht 668 00:31:50,710 --> 00:31:53,220 që përmban të gjitha të dhënat e Davidit. 669 00:31:53,220 --> 00:31:56,390 Nëse kam thënë këtë kur ID është e barabartë me 99, unë duhet të kthehet, 670 00:31:56,390 --> 00:32:00,320 në këtë kontekst, zero rreshta, të paktën në momentin. 671 00:32:00,320 --> 00:32:03,620 >> Megjithatë, në qoftë se unë nuk e kujdesit të vërtetë në lidhje me të gjitha informatat se, 672 00:32:03,620 --> 00:32:06,970 Unë vetëm mund të them, ku jeton David? 673 00:32:06,970 --> 00:32:10,860 Zgjidhni kodin zip nga Përdoruesit ku ID është 1. 674 00:32:10,860 --> 00:32:15,820 Kjo do të përzgjedhë vetëm mua zip Davidit Kodi dhe jo tërësia e atë rresht. 675 00:32:15,820 --> 00:32:19,541 Pse mund të bëj këtë në vend të pyetja yll, kartë e egër? 676 00:32:19,541 --> 00:32:21,950 >> AUDIENCA: [padëgjueshme] 677 00:32:21,950 --> 00:32:24,590 >> DAVID Malan: Po, unë mund të kenë nevojë vetëm atë. 678 00:32:24,590 --> 00:32:26,350 Pra, performanca është përsëri përgjigje këtu. 679 00:32:26,350 --> 00:32:28,540 Pse kërkoni më shumë informacion se sa ju duhet, 680 00:32:28,540 --> 00:32:32,020 sepse edhe në qoftë se kjo është e gjitha e drejtë së bashku, ju ende duhet të kopjoni këto të dhëna, 681 00:32:32,020 --> 00:32:35,560 kjo do të duket, nga të preferuarat! në programin tuaj një farë mënyre, 682 00:32:35,560 --> 00:32:38,490 dhe kjo është vetëm pa kuptim, nëse ju duhet vetëm pesë nga këto shifra, 683 00:32:38,490 --> 00:32:40,340 jo tërësia e rreshtit. 684 00:32:40,340 --> 00:32:42,180 >> Pra, si mund të futur një përdorues? 685 00:32:42,180 --> 00:32:44,780 Supozoni se një përdorues ka vetëm regjistruar për herë të parë. 686 00:32:44,780 --> 00:32:46,560 Sintaksa zakonisht do të duket si ky. 687 00:32:46,560 --> 00:32:52,700 Fut në përdoruesit, dhe atëherë ne do të thotë vlera, 688 00:32:52,700 --> 00:33:00,150 dhe pastaj ne do të thonë se vlerat si, le të themi, Lauren Scully, 689 00:33:00,150 --> 00:33:02,380 videographer ynë këtu. 690 00:33:02,380 --> 00:33:04,390 Dhe fusha tjetër është gjinor. 691 00:33:04,390 --> 00:33:08,020 Pra, ne do të themi quote, mbyll thonjëzat "F", atëherë ne kemi një ID 692 00:33:08,020 --> 00:33:12,250 dhe unë jam duke shkuar për say-- le sikur ajo nuk është në të vërtetë këtu, 693 00:33:12,250 --> 00:33:14,380 kështu që ne do Rewind në histori. 694 00:33:14,380 --> 00:33:16,530 Pra, 2 do të jetë ID i saj. 695 00:33:16,530 --> 00:33:19,130 Dhe pastaj në fushën e ardhshme këtu është email saj. 696 00:33:19,130 --> 00:33:22,140 Kështu ajo do të jetë si Lauren Scully dhe kështu me radhë, 697 00:33:22,140 --> 00:33:24,360 dhe ne vetëm do të dot dot dot atë larg nga këtu në. 698 00:33:24,360 --> 00:33:26,890 Tani ajo do të marrë pak lodhshëm, por insert query 699 00:33:26,890 --> 00:33:28,310 në fund të fundit do të duket si kjo. 700 00:33:28,310 --> 00:33:30,970 >> Nëse unë dua të shpëtoj prej Scully, uh-oh, le të çregjistrohen 701 00:33:30,970 --> 00:33:37,420 saj, ajo e fshin llogarinë e saj, fshirë nga përdoruesit ku ID është e barabartë me 2, 702 00:33:37,420 --> 00:33:38,500 do të të shpëtoj nga Scully. 703 00:33:38,500 --> 00:33:48,050 Ose unë mund të them përdoruesve përditësimin e caktuar, le të themi, çfarë mund të ndryshojmë? 704 00:33:48,050 --> 00:33:49,430 Mendoj se ajo lëviz. 705 00:33:49,430 --> 00:33:53,730 Set zip barabartë 021-- nope, kjo është zip saj aktuale. 706 00:33:53,730 --> 00:33:54,487 90210. 707 00:33:54,487 --> 00:33:56,320 vetëm code tjetri zip Unë e di se në botë. 708 00:33:56,320 --> 00:33:59,002 Kështu që do të ndryshojë zip saj code-- fakt, 709 00:33:59,002 --> 00:34:00,460 kjo nuk do të ndryshojë kodin e saj postar. 710 00:34:00,460 --> 00:34:02,170 >> Çfarë kam vetëm të bëjë? 711 00:34:02,170 --> 00:34:04,292 Edhe pse sintaksa është ndoshta e re. 712 00:34:04,292 --> 00:34:05,302 >> AUDIENCA: [padëgjueshme] 713 00:34:05,302 --> 00:34:08,010 DAVID Malan: Yeah, unë u zhvendos të gjithë të Beverly Hills, Kaliforni. 714 00:34:08,010 --> 00:34:11,920 Kështu që unë duhet të vërtetë se ku ID e barabartë me 2. 715 00:34:11,920 --> 00:34:12,820 Dhe kështu me radhë. 716 00:34:12,820 --> 00:34:15,290 Pra SQL është mbi të gjitha këto llojet e udhëzimeve. 717 00:34:15,290 --> 00:34:20,260 Zgjidhni, futur, fshini, update, me këto predikateve në fund 718 00:34:20,260 --> 00:34:22,139 këto dispozita ku, kështu që të flasin. 719 00:34:22,139 --> 00:34:25,170 Dhe ka shumë më tepër ju mund të bërë, por me të vërtetë vetëm vlon 720 00:34:25,170 --> 00:34:29,750 të thjeshtë, nëse arcanely, duke shprehur atë që ju dëshironi bazës së të dhënave për të bërë. 721 00:34:29,750 --> 00:34:31,580 >> Dhe pastaj baza e të dhënave do të kuptoj se, kur 722 00:34:31,580 --> 00:34:35,630 ju futur Lauren Scully në të bazës së të dhënave, ku për të vënë atë në kujtesë 723 00:34:35,630 --> 00:34:38,230 kështu që ne mund të marrë shumë shpejt saj bazuar në adresën e saj të e-mail 724 00:34:38,230 --> 00:34:42,610 ose bazuar në numrin e saj të identifikimit ose të ngjashme. 725 00:34:42,610 --> 00:34:43,391 Po, Dan. 726 00:34:43,391 --> 00:34:44,266 AUDIENCA: [padëgjueshme] 727 00:34:44,266 --> 00:34:46,364 728 00:34:46,364 --> 00:34:47,780 DAVID Malan: pyetje e vërtetë të mirë. 729 00:34:47,780 --> 00:34:50,370 Do të ndryshojë këto Scripts nga Microsoft Access për Oracle 730 00:34:50,370 --> 00:34:52,290 për MySQL për PostgreSQL? 731 00:34:52,290 --> 00:34:53,790 Përgjigja e shkurtër është ajo varet. 732 00:34:53,790 --> 00:34:58,697 Në teori, nuk është një shumë e mesin e konsiderueshme e zakonshme e SQL 733 00:34:58,697 --> 00:35:00,780 që është ndarë në të gjithë nga këto Implementimi. 734 00:35:00,780 --> 00:35:03,340 Megjithatë, prodhuesit të ndryshme kanë shtuar karakteristika 735 00:35:03,340 --> 00:35:07,120 të bazave të të dhënave të tyre për të bërë gjëra të caktuara përtej fushëveprimit të këtyre tipareve, 736 00:35:07,120 --> 00:35:08,720 që mund, në fakt, pushim. 737 00:35:08,720 --> 00:35:11,210 >> Pra, mënyrën se zhvilluesit gardh kundër kësaj, 738 00:35:11,210 --> 00:35:14,350 është se në vend se të shkruarit para Kodi SQL si unë jam shkrim këtu, 739 00:35:14,350 --> 00:35:19,460 Ata në vend që të përdorin një bibliotekë, një bibliotekë të përbashkët që në vetvete 740 00:35:19,460 --> 00:35:23,650 është lloj më të lartë të nivelit dhe përmbajtjes larg se cili produkt ju jeni duke përdorur. 741 00:35:23,650 --> 00:35:25,710 Dhe kjo ju jep funksionet dhe procedurat e 742 00:35:25,710 --> 00:35:28,810 për të thirrur në mënyrë që ju kurrë nuk në fakt shkruani SQL papërpunuara. 743 00:35:28,810 --> 00:35:32,609 >> Në teori, atëherë, ju mund të ndryshojë Produktet nga Oracle në Microsoft 744 00:35:32,609 --> 00:35:34,650 ose anasjelltas apo ndonjë gjë tjetër, dhe ju fjalë për fjalë 745 00:35:34,650 --> 00:35:36,920 të ndryshojë asgjë në lidhje me kodin tuaj. 746 00:35:36,920 --> 00:35:40,180 Realiteti, megjithatë, është, ju ndonjëherë të heqë dorë nga karakteristika si rezultat i kësaj. 747 00:35:40,180 --> 00:35:43,860 Ju mund të keni zgjedhur një produkt për shkak atë e mori këto karakteristika me vlerë të shtuar, 748 00:35:43,860 --> 00:35:46,610 dhe ju jeni vetëm tani nuk përdorimin e tyre me vetëdije. 749 00:35:46,610 --> 00:35:51,630 >> Dhe anecdotally, shumica e kompanive kanë tendencë kurrë për të lëvizur larg nga database e tyre. 750 00:35:51,630 --> 00:35:54,002 Kështu, ndërsa kjo është një e mirë për të kanë funksion, realiteti 751 00:35:54,002 --> 00:35:55,960 është, në qoftë se ju jeni rregullimin bazës së të dhënave tuaj, ju jeni 752 00:35:55,960 --> 00:35:59,890 ndoshta duke e bërë bunches e ndryshimeve të tjera gjithsesi, se ju nuk domosdoshmërisht 753 00:35:59,890 --> 00:36:01,360 duhet të parashikojnë se. 754 00:36:01,360 --> 00:36:03,720 Pra, kjo është ndoshta mbi-inxhinieri problemin, 755 00:36:03,720 --> 00:36:05,670 por me të vërtetë varet nga konteksti. 756 00:36:05,670 --> 00:36:09,960 Por, në teori, SQL është e ndarë të gjithë këto produkte të ndryshme. 757 00:36:09,960 --> 00:36:11,560 pyetje të vërtetë të mirë. 758 00:36:11,560 --> 00:36:12,272 Po. 759 00:36:12,272 --> 00:36:13,147 >> AUDIENCA: [padëgjueshme] 760 00:36:13,147 --> 00:36:17,820 761 00:36:17,820 --> 00:36:21,480 >> DAVID Malan: Yeah, kështu ju mund të mendoni një bazë të dhënash 762 00:36:21,480 --> 00:36:25,020 është vetëm një server, në fund të ditë, dhe brenda atë server 763 00:36:25,020 --> 00:36:28,670 është një bandë e tërë e tavolina, rreshtave dhe kolonave. 764 00:36:28,670 --> 00:36:33,410 Dhe kur ju të dërgoni një pyetje si kjo nga programin tuaj, faqen tuaj te internetit, 765 00:36:33,410 --> 00:36:39,340 shkruar në Java, Ruby, Python, çfarëdo, serveri po merr këtë komandë 766 00:36:39,340 --> 00:36:41,660 dhe interpretuar atë në fjalë për fjalë në të njëjtën mënyrë 767 00:36:41,660 --> 00:36:43,660 kemi diskutuar më parë me Gjuhë të interpretuar, 768 00:36:43,660 --> 00:36:47,333 dhe pastaj të kryer disa veprime në zero ose më shumë rreshta në zero ose më shumë tabelave. 769 00:36:47,333 --> 00:36:48,208 AUDIENCA: [padëgjueshme] 770 00:36:48,208 --> 00:36:53,540 771 00:36:53,540 --> 00:36:55,070 >> DAVID Malan: Pikërisht, saktësisht. 772 00:36:55,070 --> 00:36:58,450 Pra, të pseudokod për diçka si kjo mund të jetë kjo. 773 00:36:58,450 --> 00:37:02,450 Në dosjen tuaj PHP ose tuaj fotografi Python ose dosja juaj Java, 774 00:37:02,450 --> 00:37:09,210 ju do të keni kodin pseudocode, ose Scratch-si blloqe si, në qoftë se vizita e përdoruesit 775 00:37:09,210 --> 00:37:19,870 acme.com/register~~V për herë të parë, pastaj futur në përdoruesit e kështu me radhë. 776 00:37:19,870 --> 00:37:22,619 Dhe ne do të përkthehet kjo për më code konkrete në fund. 777 00:37:22,619 --> 00:37:24,660 Por me të vërtetë, ne kemi të gjithë blloqet ndërtuese këtu, 778 00:37:24,660 --> 00:37:27,680 edhe pse ne jemi duke lënë mënjanë disa nga hapat e zbatimit. 779 00:37:27,680 --> 00:37:31,560 >> Pra më lejoni të grindem me çfarë ne mrekullisht ka vetëm një moment më parë. 780 00:37:31,560 --> 00:37:36,470 Ju keni krijuar një goxha Tabela e plotë për përdoruesit. 781 00:37:36,470 --> 00:37:38,920 Pa dyshim, ne mund të zbatojë në disa mënyra të ndryshme, 782 00:37:38,920 --> 00:37:43,030 por ju keni në fakt na çoi poshtë path-- dhe unë them ju, 783 00:37:43,030 --> 00:37:48,080 por kjo është ndoshta fault-- e mia të një mjaft Zbatimi i bazës së të dhënave joefikase. 784 00:37:48,080 --> 00:37:49,950 Kjo nuk është normalizuar. 785 00:37:49,950 --> 00:37:52,320 >> Dhe duke normalizuar unë do të thotë atje do të jetë, 786 00:37:52,320 --> 00:37:57,380 me kalimin e kohës, një tepricë të konsiderueshme, dhe për këtë arsye joefikasiteti, 787 00:37:57,380 --> 00:38:00,210 kjo është humbje e hapësirës. 788 00:38:00,210 --> 00:38:05,650 Bazuar në vetëm atë që ju shihni këtu, mund të ju parashikojnë ku mbeturinat e hapësirës 789 00:38:05,650 --> 00:38:08,710 do të vijnë nga, me kalimin e kohës, si të regjistruar përdoruesit e më shumë 790 00:38:08,710 --> 00:38:10,860 për faqen tuaj te internetit? 791 00:38:10,860 --> 00:38:13,047 Çfarë të dhënash mund të bëhen të tepërta? 792 00:38:13,047 --> 00:38:19,084 793 00:38:19,084 --> 00:38:20,940 >> AUDIENCA: [padëgjueshme] 794 00:38:20,940 --> 00:38:22,686 >> DAVID Malan: Pse do të thotë kjo? 795 00:38:22,686 --> 00:38:23,561 AUDIENCA: [padëgjueshme] 796 00:38:23,561 --> 00:38:32,180 797 00:38:32,180 --> 00:38:32,930 DAVID Malan: Po. 798 00:38:32,930 --> 00:38:35,622 Dhe le të supozojmë për qëllime sot që kjo është e vërtetë. 799 00:38:35,622 --> 00:38:38,330 Rezulton se, dhe ne kemi mësuar këtë rrugën e vështirë, që nuk është e vërtetë. 800 00:38:38,330 --> 00:38:41,670 Disi qytete të shumta kanë, një farë mënyre, e njëjta kodin zip, 801 00:38:41,670 --> 00:38:43,390 i cili thyen këtë intuitë të mrekullueshme. 802 00:38:43,390 --> 00:38:46,180 Por le të supozojmë se është e vërtetë, sepse kjo është pothuajse gjithmonë e vërtetë. 803 00:38:46,180 --> 00:38:51,390 Pra, mendoj se një kod zip gjithmonë të lidhur me të njëjtin qytet 804 00:38:51,390 --> 00:38:53,600 dhe shteti, që është lloj i supozimit të arsyeshme, 805 00:38:53,600 --> 00:38:54,840 por jo korrekte, ajo rezulton. 806 00:38:54,840 --> 00:38:57,310 Por një supozim i arsyeshëm për qëllime të sotme. 807 00:38:57,310 --> 00:39:01,650 >> Pastaj mendoj se unë jetoj në Kembrixh, MA, sipas tabelës së këtij përdoruesi, 808 00:39:01,650 --> 00:39:04,100 dhe mendoj se Lauren Scully jeton në Cambridge, MA, 809 00:39:04,100 --> 00:39:06,120 dhe mendoj se Kareem jeton në Cambridge, MA, 810 00:39:06,120 --> 00:39:10,400 dhe Arwa jeton në Cambridge, MA, të gjithë ne në 02138. 811 00:39:10,400 --> 00:39:15,890 Pse jemi kujtuar Cambridge, MA, 02138 për të gjithë katër prej nesh? 812 00:39:15,890 --> 00:39:18,903 Çfarë duhet të mjaftojë për të kujtuar? 813 00:39:18,903 --> 00:39:20,249 >> AUDIENCA: [padëgjueshme] 814 00:39:20,249 --> 00:39:21,540 DAVID Malan: Vetëm kodin zip. 815 00:39:21,540 --> 00:39:25,080 Vetëm se 02138 ekziston, për shkak se ju e dini se çfarë ne mund të bëjmë? 816 00:39:25,080 --> 00:39:32,650 Ne mund të marrë një dashuroj pak këtu dhe këtu, të përcaktojë një tavolinë 817 00:39:32,650 --> 00:39:35,850 ku kjo do të jetë emri, kjo do të jetë lloji, 818 00:39:35,850 --> 00:39:38,840 kjo do të jetë gjatësia, dhe tani e tutje, unë jam 819 00:39:38,840 --> 00:39:42,900 do të thërrasë këtë tryezë qytetet im. 820 00:39:42,900 --> 00:39:47,011 Kjo u quajt, i Natyrisht, tryezë përdoruesit im. 821 00:39:47,011 --> 00:39:49,885 Dhe kështu që ajo duhet të kam vënë këtu për tryezën qytetet time, mendoni ju? 822 00:39:49,885 --> 00:39:53,605 823 00:39:53,605 --> 00:39:54,535 >> AUDIENCA: [padëgjueshme] 824 00:39:54,535 --> 00:39:55,930 >> DAVID Malan: Po. 825 00:39:55,930 --> 00:40:01,440 Pra, zip dhe shtetin dhe qytetin. 826 00:40:01,440 --> 00:40:05,350 Dhe kështu lloji këtu, ne do të themi kjo do të jetë një char 5 herë, 827 00:40:05,350 --> 00:40:06,750 subjekt i debatit të parë. 828 00:40:06,750 --> 00:40:14,810 Kjo do të jetë një enum, ndoshta si para, dhe qyteti do të jetë një VARCHAR 50. 829 00:40:14,810 --> 00:40:17,960 Dhe kështu që tani se çfarë mund të shkoj për të fshirë nga kjo tabelë 830 00:40:17,960 --> 00:40:21,995 për të eliminuar atë joefikasiteti? 831 00:40:21,995 --> 00:40:23,100 >> AUDIENCA: [padëgjueshme] 832 00:40:23,100 --> 00:40:23,850 DAVID Malan: Bukur. 833 00:40:23,850 --> 00:40:30,239 Shtetit dhe të qytetit të shkojnë larg, kështu që unë kam tani eliminuar mungesën e efikasitetit të mundshëm 834 00:40:30,239 --> 00:40:33,280 për redundantly kujtuar, Cambridge, MA, Cambridge, MA, Cambridge, MA, 835 00:40:33,280 --> 00:40:35,712 Cambridge, MA, e cila, me shpresë kurrë nuk do të ndryshojë. 836 00:40:35,712 --> 00:40:37,670 Dhe edhe në qoftë se ajo bën, është e minorly bezdisshëm, tani 837 00:40:37,670 --> 00:40:39,750 që unë duhet të ndryshojë në radhë të shumta, 838 00:40:39,750 --> 00:40:43,770 kurse këtu, unë mund vetëm të ndryshojë atë në një vend. 839 00:40:43,770 --> 00:40:46,890 >> Tani ajo është tregti-off, ndoshta? 840 00:40:46,890 --> 00:40:48,020 Kjo ishte super i përshtatshëm. 841 00:40:48,020 --> 00:40:50,730 Sikur të gjitha të dhënat e mia bukur së bashku. 842 00:40:50,730 --> 00:40:53,644 Por ajo që është e qartë rasti tani? 843 00:40:53,644 --> 00:40:55,684 >> AUDIENCA: [padëgjueshme] 844 00:40:55,684 --> 00:40:58,100 DAVID Malan: Pikërisht, dhe unë jam i kënaqur që përdoret fjala bashkuar, 845 00:40:58,100 --> 00:41:01,320 sepse kjo është në fakt fjalen, në botën e bazave të të dhënave relacionale 846 00:41:01,320 --> 00:41:05,270 në SQL, kjo është një fjalë e vërtetë që mund të shkruani ose të paktën të përcjellë. 847 00:41:05,270 --> 00:41:09,280 Dhe në fakt, ajo që ne tani kemi të bëjmë për të përzgjedhur informacionin e plotë Davidit është 848 00:41:09,280 --> 00:41:19,700 diçka si të zgjedhur nga ylli përdoruesit, të bashkohen qytete, on-- dhe tani 849 00:41:19,700 --> 00:41:24,010 Unë jam duke shkuar për të vetëm të shkojë në një linjë të dytë në mënyrë që ky users.zip fits-- barabartë 850 00:41:24,010 --> 00:41:34,570 cities.zip, ku users.ID barabartë 1. 851 00:41:34,570 --> 00:41:35,550 >> Pra, çfarë po ndodh? 852 00:41:35,550 --> 00:41:38,970 Është e shëmtuar në kërkim, por ju mund të lloj lexuar të majta në të djathtë, lart poshtë. 853 00:41:38,970 --> 00:41:41,030 Zgjidh star nga përdoruesit është e njëjtë si më parë, 854 00:41:41,030 --> 00:41:42,930 por kjo nuk është nga përdoruesit, në vetvete. 855 00:41:42,930 --> 00:41:45,910 Është nga përdoruesit bashkohen qytete. 856 00:41:45,910 --> 00:41:48,520 Çfarë jam unë duke u bashkuar ato dy tavolina në? 857 00:41:48,520 --> 00:41:51,820 E pra, me sa duket, përdoruesve tavolina zip fushë, 858 00:41:51,820 --> 00:41:54,810 dhe kjo periudhë është vetëm special Sintaksa për të shprehur këtë ide, 859 00:41:54,810 --> 00:41:58,130 dhe kjo është tabelat qytetet zip fushë. 860 00:41:58,130 --> 00:42:01,580 Unë dua që ata të dy të jenë të barabartë, por unë dua të në fund të fundit të zgjedhur 861 00:42:01,580 --> 00:42:06,280 vetëm ata rreshta ku ID në tabelën e përdoruesit 862 00:42:06,280 --> 00:42:08,730 është e barabartë me 1, i cili ka ndodhur të jenë të mitë. 863 00:42:08,730 --> 00:42:11,781 >> Dhe vetëm të jetë i qartë, një programues, zakonisht kur 864 00:42:11,781 --> 00:42:14,780 hardcode diçka si numrin 1, sepse përndryshe vetëm në faqen e internetit 865 00:42:14,780 --> 00:42:17,630 mbështet David ose përdoruesit e parë, ju 866 00:42:17,630 --> 00:42:20,720 në vend të kësaj do të bëjë diçka si ID, ku 867 00:42:20,720 --> 00:42:22,510 kjo paraqet një ndryshueshme, diçka që 868 00:42:22,510 --> 00:42:26,210 mund të ndryshojë me kalimin e kohës, të ngjashme në frymë me atë që thashë më parë 869 00:42:26,210 --> 00:42:28,080 me këto lloje të placeholders. 870 00:42:28,080 --> 00:42:30,396 Por tani për tani ne vetëm do të hardcode atë si 1. 871 00:42:30,396 --> 00:42:31,520 Dhe kështu, çfarë do të thotë kjo? 872 00:42:31,520 --> 00:42:35,100 E pra, një mënyrë e mirë për të kujtoj këtë është se nëse kjo dorë është tabela e përdoruesve, 873 00:42:35,100 --> 00:42:38,090 dhe kjo dorë është zips tavolinë, ne jemi lloj finding-- 874 00:42:38,090 --> 00:42:41,330 dhe këshilla e gishtat e mi janë zip këtu, dhe këshilla e gishtat e mi 875 00:42:41,330 --> 00:42:43,740 këtu janë zip, ju jeni lloj interlocking atë 876 00:42:43,740 --> 00:42:47,950 në mënyrë që ju të merrni përsëri rezulton Tabela origjinale, me të vërtetë të bashkuar 877 00:42:47,950 --> 00:42:49,590 dy pllakat në fushë të përbashkët. 878 00:42:49,590 --> 00:42:50,840 Dhe kjo nuk duhet të jetë zip. 879 00:42:50,840 --> 00:42:54,460 Kjo mund të jetë më e çdo gjë tjetër, por zip është e mirë, për shkak se një, është e shkurtër, 880 00:42:54,460 --> 00:42:56,470 dy, është gjithmonë njëjtën gjatësi, kështu që nuk ka 881 00:42:56,470 --> 00:43:02,270 një efikasitet të vërtetë për atë Olivier propozuar këtu 882 00:43:02,270 --> 00:43:05,200 me factoring jashtë zip, dhe [Padëgjueshme] duke propozuar që të shpëtoj 883 00:43:05,200 --> 00:43:07,110 e qytetit dhe shteteve. 884 00:43:07,110 --> 00:43:11,370 >> Pra, ky është proces i njohur si normalizimit. 885 00:43:11,370 --> 00:43:14,171 Çdo pyetje mbi atë? 886 00:43:14,171 --> 00:43:16,170 E pra më lejoni të theksoj kjo është lloj gjëra, 887 00:43:16,170 --> 00:43:19,202 edhe pse kjo është mjaft e nivelit të ulët, ky diskutim, që ju do të mendoni 888 00:43:19,202 --> 00:43:20,910 ju jeni lloj i gjetjes së humbur në barërat e këqija, 889 00:43:20,910 --> 00:43:26,690 kjo është një manifestim i mjaftueshëm mundësi për zhvilluesit që të jetë e keqe. 890 00:43:26,690 --> 00:43:29,600 Dhe në fakt, edhe kur, në Kurse unë e kam mësuar, kur ne kemi pasur, 891 00:43:29,600 --> 00:43:32,290 për shembull, të papërvojë programuesit universitare 892 00:43:32,290 --> 00:43:35,920 ndërtuar faqet e internetit, në shikim të parë, faqet e internetit mund të duket i frikshëm. 893 00:43:35,920 --> 00:43:38,280 Dhe ata kanë të gjitha të funksionalitetin që kërkohet, 894 00:43:38,280 --> 00:43:40,650 zhvilluesit e bëri një punë të mirë. 895 00:43:40,650 --> 00:43:43,370 >> Por ata nuk e dinë domosdoshmërisht të mjaftueshme për hartimin e bazës së të dhënave 896 00:43:43,370 --> 00:43:46,680 ose ata nuk mendojnë shumë të mjaftueshme për llojet e të dhënave 897 00:43:46,680 --> 00:43:49,220 dhe llojet e përdoruesve të Faqja e internetit do të ketë, 898 00:43:49,220 --> 00:43:53,240 dhe ne gjejmë, pra, gjashtë muaj më vonë, pasi ata kanë diplomuar ose lëvizur në, 899 00:43:53,240 --> 00:43:56,016 që mallkonte atë, faqen tonë të internetit është me të vërtetë, me të vërtetë i ngadalshëm. 900 00:43:56,016 --> 00:43:58,890 Dhe unë nuk jam edhe duke folur për të pasur miliona apo mijëra e përdoruesve. 901 00:43:58,890 --> 00:44:02,580 Unë do të thotë disa qindra përdorues në kampus, të cilët si për të, për shembull, 902 00:44:02,580 --> 00:44:04,870 dyqan për kurset të njëjtën kohë, ata janë 903 00:44:04,870 --> 00:44:07,010 duke përdorur këtë katalog kurs Aplikimi I përmendur 904 00:44:07,010 --> 00:44:10,410 dhe gjë po bëhet me të vërtetë ngadalshëm, sepse nuk ka pasur indekseve. 905 00:44:10,410 --> 00:44:13,740 Nuk ka pasur yje të kuqe, në mënyrë të flasin, ose ne nuk kishte domosdoshmërisht 906 00:44:13,740 --> 00:44:17,690 faktorë nga të dhënat e përbashkëta për marrë disa kursime të hapësirës. 907 00:44:17,690 --> 00:44:21,880 >> Dhe kështu, kur verifikimit një zhvillues ose personi bazës së të dhënave apo si, 908 00:44:21,880 --> 00:44:25,864 llojet e pyetjeve të mendojnë përmes është edhe më, me rastin e shqyrtimit kodin e dikujt, 909 00:44:25,864 --> 00:44:28,530 do të thotë, jo domosdoshmërisht të duket nëpër të gjitha kodin e tyre, dhe thuaj: 910 00:44:28,530 --> 00:44:30,154 le të shohim përmes tabelave bazës së të dhënave. 911 00:44:30,154 --> 00:44:31,150 Çfarë po ruajtjen? 912 00:44:31,150 --> 00:44:33,941 Dhe pastaj për të thënë, mirë, prisni një minuta, pse jeni duke përdorur një numër të plotë? 913 00:44:33,941 --> 00:44:36,224 Po në qoftë se ne kemi 4 miliard dhe 1 nga këto rreshta? 914 00:44:36,224 --> 00:44:38,140 Dhe këto lloje të pyetje është një mundësi 915 00:44:38,140 --> 00:44:40,170 për të lloj të shtyjë mbrapa dhe marrë një kuptim të ku 916 00:44:40,170 --> 00:44:42,300 në qoftë se ju nuk jeni të kënaqur duke bërë ajo, që dikush më shumë teknike 917 00:44:42,300 --> 00:44:45,425 pyesin këto pyetje, e nëse janë apo jo personi me të vërtetë e di stuff e tyre. 918 00:44:45,425 --> 00:44:47,890 Dhe kjo është lloj i stuff, gjithashtu, se njerëzit 919 00:44:47,890 --> 00:44:50,540 në interneti që janë vetë-mësohet, ndoshta 920 00:44:50,540 --> 00:44:53,920 mësojnë më rrallë, sepse ju nuk vijnë domosdoshmërisht të gjithë atë 921 00:44:53,920 --> 00:44:56,630 sa më shumë, për shkak se ju mund të merrni baza e të dhënave dhe drejtimin, 922 00:44:56,630 --> 00:44:58,880 por nëse nuk e keni lexuar deri në mësime apo të qenë 923 00:44:58,880 --> 00:45:01,880 tha në lidhje me normalizimin bazës së të dhënave dhe indeksimit dhe të performancës, 924 00:45:01,880 --> 00:45:04,255 Këto janë llojet e gjërave të cilat do të ju lënduar. 925 00:45:04,255 --> 00:45:07,480 Dhe ju mund të mendoni, ose një inxhinier i keq mund të thonë, oh, edhe, pay ne më të mirë 926 00:45:07,480 --> 00:45:09,600 për një bazë të dhënash të madh ose një bazë të dhënash më të shpejtë 927 00:45:09,600 --> 00:45:13,360 ose thjesht të hedhur para në këtë, shkallë vertikalisht, jo domosdoshmërisht kështu. 928 00:45:13,360 --> 00:45:16,920 Nëse ju shkoni in-- dhe ju mund të shkoni në pas indekset fact-- dhe të shtoni, 929 00:45:16,920 --> 00:45:20,320 dhe ajo mund të marrë disa orë për bazës së të dhënave për të ndërtuar ato të dhëna të reja 930 00:45:20,320 --> 00:45:24,100 strukturë që kam përmendur më herët, ju prapë mund të rregullojmë këtë pas faktit, 931 00:45:24,100 --> 00:45:26,180 se kjo është ajo ku ju fillojnë të dallojnë 932 00:45:26,180 --> 00:45:28,830 designers mirën nga e keqja designers, jo vetëm estetikisht, 933 00:45:28,830 --> 00:45:32,972 por performanca e-urtë si. 934 00:45:32,972 --> 00:45:33,555 Ndonje pyetje? 935 00:45:33,555 --> 00:45:36,420 936 00:45:36,420 --> 00:45:37,480 Nuk ka? 937 00:45:37,480 --> 00:45:41,980 Pra, për NoSQL, që ishte lloj tjetër të dhënave për të cilat kam përmendur më parë, 938 00:45:41,980 --> 00:45:43,490 ju nuk keni rreshtave dhe kolonave. 939 00:45:43,490 --> 00:45:47,000 Në vend të kësaj, ju do të keni diçka që duket pak më shumë si kjo. 940 00:45:47,000 --> 00:45:48,630 Unë jam duke shkuar për të përdorur sintaksë të përbashkët. 941 00:45:48,630 --> 00:45:51,270 formatimin e teksteve kaçurrel të ndodhë me të përdoret këtu mjaft shumë. 942 00:45:51,270 --> 00:45:55,400 Ju mund të keni diçka si emri i parë është David, 943 00:45:55,400 --> 00:46:00,180 ju mund të keni kaluar Emri është Malan, citate, 944 00:46:00,180 --> 00:46:07,530 ju mund të keni ID is-- më falni, ID whoops-- është 1, 945 00:46:07,530 --> 00:46:13,410 mail-i është malan@harvard.edu, dhe unë nuk do të bother shtypur nga pjesa tjetër, dhe më pas 946 00:46:13,410 --> 00:46:14,380 disa gjëra të tjera. 947 00:46:14,380 --> 00:46:17,380 >> Me fjalë të tjera, kjo është një përfaqësim tekstuale 948 00:46:17,380 --> 00:46:20,720 e asaj që ne në përgjithësi do të thërrasë një objekt në një program kompjuterik. 949 00:46:20,720 --> 00:46:26,079 Dhe një objekt është përgjithësisht vetëm një koleksion i çifte me vlerë të rëndësishme. 950 00:46:26,079 --> 00:46:27,370 Pra, përsëri, kjo temë e përsëritur. 951 00:46:27,370 --> 00:46:30,440 Ne pamë çifte vlerë kyçe në HTML, pamë palë kyçe vlerë tani 952 00:46:30,440 --> 00:46:34,020 në kuadër të bazave të të dhënave, dhe ne pa palë kryesore me vlerë në kontekstin 953 00:46:34,020 --> 00:46:35,970 të, unë mendoj se, një gjuhë më herët sot. 954 00:46:35,970 --> 00:46:36,890 Mban vjen deri. 955 00:46:36,890 --> 00:46:39,620 Dhe me të vërtetë, kjo është me të vërtetë ajo boils poshtë për të dhënat, 956 00:46:39,620 --> 00:46:44,240 dhënat dhe metadatat, ose vlera dhe çelësat, respektivisht. 957 00:46:44,240 --> 00:46:47,430 >> Pra, një jo-relacionale bazës së të dhënave, diçka e bazuar 958 00:46:47,430 --> 00:46:50,680 në objekte, ku ju vetëm grumbull çdo gjë së bashku dhe e vënë atë 959 00:46:50,680 --> 00:46:55,640 në kujtesë, në përgjithësi do të jetë foto si, ose menduar, pasi kjo. 960 00:46:55,640 --> 00:47:00,500 Dhe unë do të iki që tani si një lloj qasje alternative. 961 00:47:00,500 --> 00:47:03,750 Dhe nuk është domosdoshmërisht më mirë se sa të tjera. 962 00:47:03,750 --> 00:47:07,310 Në fakt, shumë në modë këto ditë janë sisteme të bazës së të dhënave 963 00:47:07,310 --> 00:47:11,942 si MongoDB dhe Redis dhe disa mjete të tjera të tilla, të lirë në dispozicion, 964 00:47:11,942 --> 00:47:13,400 por ato janë gjithnjë en modë. 965 00:47:13,400 --> 00:47:18,850 Pjesërisht për shkak se ato ofrojnë shtesë Karakteristika mbi këto qasje tabelore, 966 00:47:18,850 --> 00:47:20,850 por edhe për shkak se ata janë të pak më e lehtë për t'u përdorur, 967 00:47:20,850 --> 00:47:24,099 sepse ju nuk duhet të mendojnë si të vështirë në lidhje me një shumë prej këtyre vendimeve të projektimit. 968 00:47:24,099 --> 00:47:25,970 Pra, pluset dhe minuset. 969 00:47:25,970 --> 00:47:29,740 Pra kuptojnë ka opsione përtej asaj që ne vetëm kaloi kohë në. 970 00:47:29,740 --> 00:47:32,310 >> Pra, le ta bëjmë këtë. 971 00:47:32,310 --> 00:47:37,870 Le të tranzicionit pak mbrapa tani për programimin e web, 972 00:47:37,870 --> 00:47:40,470 në mënyrë që ne lloj të konkludojmë sot me diçka 973 00:47:40,470 --> 00:47:43,930 kjo është një duart-në të vogla, duke plotësuar në disa boshllëqe nga dje. 974 00:47:43,930 --> 00:47:45,340 Më lejoni të shkoj në këtë pjesë të parë. 975 00:47:45,340 --> 00:47:49,310 Pra, kujtojmë se dje kemi pasur disa kanonike HTML 976 00:47:49,310 --> 00:47:55,110 faqet që kishte fillimisht, vetëm HTML, dhe pastaj së dyti kishte CSS, 977 00:47:55,110 --> 00:47:56,620 Cascading Style Sheets. 978 00:47:56,620 --> 00:47:59,830 Kjo është një tag të re që nuk e bëri parë dje, ose të banojë në vënde, 979 00:47:59,830 --> 00:48:01,490 ashtuquajtura tag script. 980 00:48:01,490 --> 00:48:05,830 >> Rezulton nga ju në fakt mund të embed një Gjuha e quajtur JavaScript në web tuaj 981 00:48:05,830 --> 00:48:08,310 faqe dhe të bëjë web tuaj faqet të bëjë diçka. 982 00:48:08,310 --> 00:48:09,710 Pra, çfarë do të thotë me këtë? 983 00:48:09,710 --> 00:48:12,630 E pra, më lejoni të shkoj përpara dhe vetëm hua këtë kod për një moment. 984 00:48:12,630 --> 00:48:15,860 Unë jam duke shkuar për të shkuar në Cloud9, nuk ka nevojë për të shkuar atje veten vetëm ende, 985 00:48:15,860 --> 00:48:21,350 dhe unë jam duke shkuar për të thirrur këtë alert.HTML. 986 00:48:21,350 --> 00:48:23,650 Unë jam duke shkuar për të ngjitur në dosjen time këtu. 987 00:48:23,650 --> 00:48:32,070 Dhe vetëm për të sqaruar atë që unë kam bërë, le të shkoj në këtë adresë dhe të shkojnë për të njoftuar, 988 00:48:32,070 --> 00:48:33,870 dhe ju shihni Përshëndetje Botërore. 989 00:48:33,870 --> 00:48:35,440 >> Por kjo është lloj i underwhelming. 990 00:48:35,440 --> 00:48:37,410 Unë dua të bëj diçka pak më ndryshe. 991 00:48:37,410 --> 00:48:40,610 Kështu që unë jam duke shkuar për të vërtetë të bëjë këtë. 992 00:48:40,610 --> 00:48:43,820 Unë jam duke shkuar për të shkuar në këtu e, dhe në mes tags mia shkrimit, 993 00:48:43,820 --> 00:48:53,460 thonë alarm ( 'hello, bota'); kështu njoftim kjo është pak i lëngshëm, por unë kam marrë HTML, 994 00:48:53,460 --> 00:48:56,180 brenda së cilës është a gjuha e quajtur JavaScript, 995 00:48:56,180 --> 00:48:59,420 dhe kjo është ajo që quhet një thirrje funksioni ose telefononi procedure. 996 00:48:59,420 --> 00:49:04,500 Kjo është një folje, fjalë për fjalë, në këtë rast, dhe unë jam duke u thirrur kodin funksionalitetin 997 00:49:04,500 --> 00:49:06,310 se dikush tjetër ka shkruar. 998 00:49:06,310 --> 00:49:09,630 >> Kështu që është një funksionalitet vigjilent, kështu që le të shkojnë në këtë faqe 999 00:49:09,630 --> 00:49:14,046 tani dhe klikoni ringarkoni, dhe tani ju shikoni pak interaktive. 1000 00:49:14,046 --> 00:49:15,420 Kjo është lloj i shkollës së vjetër dhe të shëmtuar. 1001 00:49:15,420 --> 00:49:18,580 Ky lloj i ju kujton e pop-ups, ndoshta, e kaluar 1002 00:49:18,580 --> 00:49:22,030 por ajo ka të bëjë diçka pak më shumë programatike. 1003 00:49:22,030 --> 00:49:26,940 >> Pra, më shumë se kaq, le ta bëjmë diçka më interesante. 1004 00:49:26,940 --> 00:49:30,980 Më lejoni të shkoj në këtu dhe të shpëtoj nga kjo. 1005 00:49:30,980 --> 00:49:33,840 Dhe unë jam duke shkuar për të shkuar përpara dhe të krijojë një formë si ne e bëmë dje. 1006 00:49:33,840 --> 00:49:34,840 Në fakt, ju e dini se çfarë? 1007 00:49:34,840 --> 00:49:37,350 Unë jam duke shkuar për të shkuar në google.html, të cilat ne 1008 00:49:37,350 --> 00:49:43,027 filloi më dje, e cila dukej si kjo, nëpërmjet të cilës kemi kërkuar për mace 1009 00:49:43,027 --> 00:49:45,360 Por vini re nuk është lloj i një bug në versionin e tanishëm. 1010 00:49:45,360 --> 00:49:49,770 Ajo punon për macet, por mendoj se Unë nuk bashkëpunojnë dhe unë lloji asgjë, 1011 00:49:49,770 --> 00:49:53,290 dhe unë thjesht klikoni paraqesë. 1012 00:49:53,290 --> 00:49:54,540 Kjo është lloj sjellje të pazakontë. 1013 00:49:54,540 --> 00:49:57,300 Më mori në të vërtetë Google, nuk më jep një mesazh gabimi. 1014 00:49:57,300 --> 00:50:00,590 Do të doja të them të përdoruesit ju duhet të na jepni një vlerë. 1015 00:50:00,590 --> 00:50:01,780 >> Pra, si mund ta bëjmë këtë? 1016 00:50:01,780 --> 00:50:06,790 E pra më lejoni të kthehem në Cloud9 dhe më lejoni të shkoj në krye të faqen time 1017 00:50:06,790 --> 00:50:11,980 dhe të shtoni një tag script si ky, ku Unë do të shkruani disa kodin e Java skriptet. 1018 00:50:11,980 --> 00:50:15,420 Dhe unë jam duke shkuar për të bërë në vijim. 1019 00:50:15,420 --> 00:50:22,910 Në qoftë se (document.getelementByID-- dhe risjell se kemi biseduar për këtë më parë, 1020 00:50:22,910 --> 00:50:23,960 se funksioni. 1021 00:50:23,960 --> 00:50:25,310 Çfarë ID mund të dëshironi të merrni? 1022 00:50:25,310 --> 00:50:33,050 Unë dua të të marrë q, dhe unë do të të themi është e barabartë me asgjë, si this-- 1023 00:50:33,050 --> 00:50:38,220 në fakt më lejoni të përdor kuotat e dyfishtë vetëm për consistency-- barabartë me asgjë, 1024 00:50:38,220 --> 00:50:46,650 pastaj alert ( "Ju lutemi shkruani një pyetje") këtu. 1025 00:50:46,650 --> 00:50:49,200 >> Pra, unë kam atë që duket të jetë diçka si një kusht. 1026 00:50:49,200 --> 00:50:51,410 Ne e kemi parë këtë ide të përgjithshme në Scratch. 1027 00:50:51,410 --> 00:50:54,240 Është si një nga ato enigmës pjesë që dukej si kjo. 1028 00:50:54,240 --> 00:50:55,780 Dhe çfarë jam duke thënë? 1029 00:50:55,780 --> 00:50:59,520 E pra, këtu poshtë, vini re unë jam i do të bëjë të mëposhtme. 1030 00:50:59,520 --> 00:51:02,790 Unë jam duke shkuar për të dhënë këtë formular Fusha nuk është vetëm një emër i q, e cila 1031 00:51:02,790 --> 00:51:06,630 është ajo që merr kaluar në Google, por unë jam duke shkuar për të dhënë atë një identifikues lokal, 1032 00:51:06,630 --> 00:51:07,630 quajtur edhe q. 1033 00:51:07,630 --> 00:51:11,780 Por unë mund të telefononi këtë gjë unë doni, unë jam vetëm duke shkuar për të mbajtur atë të thjeshtë 1034 00:51:11,780 --> 00:51:14,570 dhe e quajti atë q, vetëm për thjeshtësi. 1035 00:51:14,570 --> 00:51:17,650 >> Dhe tani unë jam duke shkuar për të bërë diçka pak më shumë. 1036 00:51:17,650 --> 00:51:22,600 Në formë fushat këtu, unë do të shtoni atë që quhet një mbajtës ngjarje. 1037 00:51:22,600 --> 00:51:32,260 Më të paraqesë, unë dua për të thirrur një funksion të quajtur provoj. 1038 00:51:32,260 --> 00:51:35,520 Kjo nuk ekziston ende, kjo fjalë, ose kjo provoj folje, 1039 00:51:35,520 --> 00:51:38,560 sepse ajo që unë jam duke shkuar për të bërë këtu tani është shtuar një kod. 1040 00:51:38,560 --> 00:51:42,200 >> Unë jam duke shkuar për të thënë funksion të vërtetuar. 1041 00:51:42,200 --> 00:51:48,280 Unë do të indent këtë dhe shtoni një tjetër mbajtëse kaçurrel këtu dhe një tjetër këtu. 1042 00:51:48,280 --> 00:51:50,110 Mendoni se çfarë kjo tani është duke bërë. 1043 00:51:50,110 --> 00:51:54,210 Unë kam now-- mendojnë për këtë si krijuar tim copë e mister që nuk e bëri më parë 1044 00:51:54,210 --> 00:51:57,440 ekzistojnë, dhe unë e kam quajtur këtë puzzle copë pjesë mister provoj. 1045 00:51:57,440 --> 00:52:01,620 qëllimi i saj në jetë është për të ekzekutuar katër rreshta të kodit brendësi të saj. 1046 00:52:01,620 --> 00:52:04,940 >> Nëse document.getElementByID kështu konceptualisht, 1047 00:52:04,940 --> 00:52:09,380 që do të shkojë në elementin, elementi HTML cilit unike 1048 00:52:09,380 --> 00:52:12,930 Ideja është vetëm q, dhe më pas edhe pse sintaksa duket pak i çuditshëm, 1049 00:52:12,930 --> 00:52:16,430 që është e barabartë me të barabartë do të thotë vetëm të barabartë. 1050 00:52:16,430 --> 00:52:20,950 Pra, kjo do të thotë, nëse elementi me identifikues unik të q, kur marrë, 1051 00:52:20,950 --> 00:52:25,700 nuk ka asnjë vlerë, vetëm ajo është e barabartë me quote mbyll thonjëzat, asgjë në atje, 1052 00:52:25,700 --> 00:52:27,170 atëherë çfarë unë dua të bëj? 1053 00:52:27,170 --> 00:52:29,360 Unë dua të bërtas në përdoruesit. 1054 00:52:29,360 --> 00:52:31,710 >> Dhe ne nuk do të shkojnë detaje të madhe këtu. 1055 00:52:31,710 --> 00:52:32,960 Unë do të kthehen rreme. 1056 00:52:32,960 --> 00:52:34,380 Ky është një gabim. 1057 00:52:34,380 --> 00:52:38,746 Tjetër, unë do të kthehen vërtetë. 1058 00:52:38,746 --> 00:52:40,120 Pra, ose ai ka punuar, ose ajo nuk e bëri. 1059 00:52:40,120 --> 00:52:41,800 Rreme apo e vërtetë. 1060 00:52:41,800 --> 00:52:47,820 Dhe tani, në qoftë se unë nuk ka bërë asnjë gabim, më lejoni të ruajtur këtë dhe ringarkoni këtë. 1061 00:52:47,820 --> 00:52:50,940 Dhe më lejoni të kontrolloni vetëm të dyfishtë që Unë nuk e kam, në fakt, të bëjë ndonjë gabime shkrimi, 1062 00:52:50,940 --> 00:52:52,690 kështu që unë nuk vë në siklet veten. 1063 00:52:52,690 --> 00:52:54,240 Le të shohim nëse kjo funksionon. 1064 00:52:54,240 --> 00:52:56,930 >> Kështu që tani unë jam duke shkuar të tipit macet. 1065 00:52:56,930 --> 00:52:59,421 Ai ende punon, ose veprat e gjysmë, të paktën. 1066 00:52:59,421 --> 00:53:02,170 Tani më lejoni të rifreskoni atë, dhe tani le me provoni dorëzimin pa shtypur 1067 00:53:02,170 --> 00:53:05,860 anything-- mallkuar atë, ajo thyen. 1068 00:53:05,860 --> 00:53:06,430 Një moment. 1069 00:53:06,430 --> 00:53:09,380 1070 00:53:09,380 --> 00:53:12,660 Më lejoni të hapur konsol, [Padëgjueshme] log, rifreskoni faqen. 1071 00:53:12,660 --> 00:53:13,576 Më lejoni të provoni këtë përsëri. 1072 00:53:13,576 --> 00:53:17,000 1073 00:53:17,000 --> 00:53:17,501 Oh, mallkuar atë. 1074 00:53:17,501 --> 00:53:18,000 I harruar. 1075 00:53:18,000 --> 00:53:18,630 Unë bëra një typo. 1076 00:53:18,630 --> 00:53:20,760 Mbaj mend se çfarë është ajo. 1077 00:53:20,760 --> 00:53:21,350 .value. 1078 00:53:21,350 --> 00:53:27,060 Unë do të thotë për të thënë në qoftë se vlera e elementit të cilit ID është q 1079 00:53:27,060 --> 00:53:29,800 është e barabartë me këtë, atëherë çirrem në të përdoruesit. 1080 00:53:29,800 --> 00:53:31,870 >> Pra, tani më lejoni të mbaj frymën time. 1081 00:53:31,870 --> 00:53:33,480 Këtu ne do të shkojmë. 1082 00:53:33,480 --> 00:53:34,130 Atje shkojmë. 1083 00:53:34,130 --> 00:53:35,010 Ju lutem shkruani një pyetje. 1084 00:53:35,010 --> 00:53:36,840 Pra, kjo nuk është lënë mua me. 1085 00:53:36,840 --> 00:53:40,210 Unë mund të jetë lloj i gjallë me këtë, dhe në vend të kontrolluar për pa vlerë, 1086 00:53:40,210 --> 00:53:46,720 Unë mund të them diçka si, jo më shumë në kërkim për macet, 1087 00:53:46,720 --> 00:53:51,150 dhe tani ne mund vetëm të më shaka le kërkimi i përdoruesit për qentë, nëse ai ose ajo 1088 00:53:51,150 --> 00:53:57,490 dëshiron, ose në qoftë se unë shkoj në këtu dhe kërkoni për macet, tani unë nuk mund të. 1089 00:53:57,490 --> 00:53:58,690 >> Pra, çfarë është takeaway këtu? 1090 00:53:58,690 --> 00:54:03,010 Pra, një, ne kemi futur në bota jonë e HTML dhe CSS, 1091 00:54:03,010 --> 00:54:04,320 funksionalitetin programimit. 1092 00:54:04,320 --> 00:54:06,300 Unë mund të vërtetë tani të marrë vendime në kod. 1093 00:54:06,300 --> 00:54:10,570 Më parë, të gjitha unë mund të bëni është të shënojë deri Përmbajtja tekstuale apo përmbajtje grafike 1094 00:54:10,570 --> 00:54:13,080 dhe them se çfarë për të kërkuar si dhe ku për të shfaqur. 1095 00:54:13,080 --> 00:54:16,650 Tani unë në fakt mund të kërkojë Pyetjet e faqes web 1096 00:54:16,650 --> 00:54:20,010 dhe të marrin vendime të bazuara në të, dhe të menjëhershëm të përdoruesit 1097 00:54:20,010 --> 00:54:22,780 në qoftë se unë duhet të çirrem në atë apo të saj. 1098 00:54:22,780 --> 00:54:28,740 >> Pra, le të provoni diçka të në vetën tonë me këtë. 1099 00:54:28,740 --> 00:54:33,350 Shko përpara, më lejoni të hapur rrëshqitje tjetër këtu, dhe vetëm të theksoj një gjë. 1100 00:54:33,350 --> 00:54:37,250 Ashtu si me CSS, ne mund faktor jashtë Kodi ynë JavaScript në një skedar të veçantë, 1101 00:54:37,250 --> 00:54:40,660 ju mund të bëni të njëjtën gjë me JavaScript si me CSS. 1102 00:54:40,660 --> 00:54:44,520 Dhe ju përdorni atë duke përdorur një burim atribut i tag script. 1103 00:54:44,520 --> 00:54:46,540 Por ne nuk do të komplikojë gjërat tani për tani. 1104 00:54:46,540 --> 00:54:50,440 Në vend të kësaj, në qoftë se ju mund të shkoni në jo këtë faqe, 1105 00:54:50,440 --> 00:55:02,690 but-- lejoni të lëvizë këtë rreth në order-- shkoni në, në qoftë se ju mund të, këtë faqe këtu. 1106 00:55:02,690 --> 00:55:03,592 Kjo URL këtu. 1107 00:55:03,592 --> 00:55:04,550 Është në slides sotme. 1108 00:55:04,550 --> 00:55:07,133 Ju mund të keni për të ringarkoni, sepse Kam shtuar një çift të gjëra. 1109 00:55:07,133 --> 00:55:09,970 1110 00:55:09,970 --> 00:55:13,890 >> Por shkoni atje ku disa puzzles presin. 1111 00:55:13,890 --> 00:55:16,670 Dhe kjo do të na japë një shans, në një kontekst pak më shumë argëtim, 1112 00:55:16,670 --> 00:55:20,610 të ujit me disa JavaScript. 1113 00:55:20,610 --> 00:55:25,505 Dhe kur ju merrni atje, Unë do të shpjegojë se çfarë i pret. 1114 00:55:25,505 --> 00:55:47,350 1115 00:55:47,350 --> 00:55:47,850 Get gjelbër. 1116 00:55:47,850 --> 00:56:03,063 1117 00:56:03,063 --> 00:56:03,562 Set blu. 1118 00:56:03,562 --> 00:56:11,030 1119 00:56:11,030 --> 00:56:13,930 Vë jeshile, vendos të kuqe. 1120 00:56:13,930 --> 00:56:19,220 1121 00:56:19,220 --> 00:56:20,220 Oops. 1122 00:56:20,220 --> 00:56:22,330 Më vjen keq. 1123 00:56:22,330 --> 00:56:27,630 >> Kjo është shkalla e tona dokumentacioni për këtë sfidë. 1124 00:56:27,630 --> 00:56:29,920 Dhe kjo do të punojë si më poshtë. 1125 00:56:29,920 --> 00:56:33,340 Pra, ajo që ju keni në këtë faqe është një bandë e tërë 1126 00:56:33,340 --> 00:56:38,024 e puzzles imazhit nga një shok në Universitetin e Stanfordit. 1127 00:56:38,024 --> 00:56:41,190 Pra, çfarë ju jeni duke parë këtu është pothuajse e lloj i një prej këtyre puzzles magjike sy, 1128 00:56:41,190 --> 00:56:43,815 por në qoftë se ju vetëm të ia ngul sytë në atë, asgjë nuk do të pop jashtë në ju. 1129 00:56:43,815 --> 00:56:46,000 Përkundrazi, diçka është fshehur në këtë imazh. 1130 00:56:46,000 --> 00:56:47,790 Dhe kjo është e fshehur në mënyrën e mëposhtme. 1131 00:56:47,790 --> 00:56:51,740 Images, siç mund ta dini, mund të jetë përbëhet nga vetëm tre ngjyra. 1132 00:56:51,740 --> 00:56:53,346 Disa të kuqe, disa blu, dhe disa të gjelbër. 1133 00:56:53,346 --> 00:56:55,220 Dhe ne mund të bëjë të gjitha ngjyra në ylberit 1134 00:56:55,220 --> 00:56:57,570 nga përzierja e këtyre tre ngjyra në një farë mënyre. 1135 00:56:57,570 --> 00:57:01,940 >> Pra, kjo duket kryesisht e gjelbër dhe blu, por si Nick thotë këtu, 1136 00:57:01,940 --> 00:57:04,060 ky imazh mister hekuri është një mister. 1137 00:57:04,060 --> 00:57:06,780 Ajo përmban një imazh të diçka e njohur, megjithatë, 1138 00:57:06,780 --> 00:57:08,310 imazhi është shtrembëruar. 1139 00:57:08,310 --> 00:57:11,500 Objekti i famshëm është në vlerat e kuqe. 1140 00:57:11,500 --> 00:57:13,810 Vlerat Megjithatë, e kuqe kanë qenë të gjithë të ndarë me 10. 1141 00:57:13,810 --> 00:57:16,230 Pra, ata janë shumë të vogla nga një faktor i 10. 1142 00:57:16,230 --> 00:57:18,280 Pra, me fjalë të tjera, Nick mori një imazh origjinale, 1143 00:57:18,280 --> 00:57:21,500 dhe ai desaturated gjithë e kuqe prej saj, 1144 00:57:21,500 --> 00:57:23,850 uljen e sasisë së kuqe ngjyrë, në qoftë se ju do të, në të. 1145 00:57:23,850 --> 00:57:26,060 >> Vlerat blu dhe jeshile janë të gjitha vetëm e pakuptimtë, 1146 00:57:26,060 --> 00:57:30,000 Vlerat e rastit, aka projektuar zhurma për të errësuar imazhin e vërtetë. 1147 00:57:30,000 --> 00:57:32,250 Pra, ajo që bëri ishte ai Nick zbutur kuqe dhe pastaj 1148 00:57:32,250 --> 00:57:34,380 ai vetëm hodhi rastit shumat e blu dhe jeshile 1149 00:57:34,380 --> 00:57:37,590 në imazhin në llojin e errët çfarë është në të vërtetë ende atje. 1150 00:57:37,590 --> 00:57:41,089 Ju duhet të ndrequr këto shtrembërime për të zbuluar imazhin. 1151 00:57:41,089 --> 00:57:44,255 Së pari, i vendosur të gjitha vlerat e blu dhe të gjelbër në zero për të marrë ato nga rruga, 1152 00:57:44,255 --> 00:57:48,700 dhe të kërkoni në rezultat. pastaj shumohen çdo vlerë e kuqe me 10, 1153 00:57:48,700 --> 00:57:51,720 shkallë mbrapa deri në afërsisht vlera e saj final. 1154 00:57:51,720 --> 00:57:53,035 Cili është objekti i famshëm? 1155 00:57:53,035 --> 00:57:57,920 >> Pra, të gjithë ju kanë këtë drejtkëndësh në shfletuesin tuaj tani. 1156 00:57:57,920 --> 00:58:00,830 Dhe vini re se ka disa Kodi motorino, kështu që të flasin. 1157 00:58:00,830 --> 00:58:04,370 Ky është kodi JavaScript që Nick ka shkruar për ju. 1158 00:58:04,370 --> 00:58:07,250 Dhe vini re se nuk ka një vijë në mes që 1159 00:58:07,250 --> 00:58:10,380 fillon me një plagë çaj, kjo është atë që quhet zakonisht një koment. 1160 00:58:10,380 --> 00:58:14,660 Kjo do të thotë se është një frazë për programues se nuk ka kuptim funksionale. 1161 00:58:14,660 --> 00:58:16,520 Kjo është vetëm një sugjerim vizuale të njeriut. 1162 00:58:16,520 --> 00:58:18,670 >> Kështu që ju mund të shkoni përpara dhe të fshini vetëm këtë linjë, 1163 00:58:18,670 --> 00:58:22,214 dhe të jenë të kujdesshëm për të mos super fshini ose të ndryshojë ndonjë gjë tjetër. 1164 00:58:22,214 --> 00:58:25,130 Dhe më lejoni vetëm të ecin ju nëpërmjet ajo që ky kod bën dhe unë do të lënë atë 1165 00:58:25,130 --> 00:58:28,580 për ju të gjej imazhin fshehtë. 1166 00:58:28,580 --> 00:58:32,226 Kjo linjë e parë këtu se unë kam vetëm e theksuar ju jep vijim. 1167 00:58:32,226 --> 00:58:34,100 Në anën e majtë, ju keni atë që quhet 1168 00:58:34,100 --> 00:58:39,140 një variabël që Nick ka arbitrare, por e quajti të arsyeshme im për imazhin. 1169 00:58:39,140 --> 00:58:41,660 Në anën e djathtë i kësaj shenje të barabartë, 1170 00:58:41,660 --> 00:58:45,240 ai është duke thënë se më jep një të ri quote, mbyll thonjëzat "image thjeshtë". 1171 00:58:45,240 --> 00:58:49,680 >> image thjeshtë, në këtë kontekst është ajo që quhet një klasë, edhe, 1172 00:58:49,680 --> 00:58:53,910 kjo është lloj i si një class-- teknikisht një prototype-- por me të vërtetë, 1173 00:58:53,910 --> 00:58:58,000 kjo është duke i dhënë mua një objekt të ri, përmbajtja e të cilave janë fotografi, 1174 00:58:58,000 --> 00:58:59,610 hekur-puzzle.png. 1175 00:58:59,610 --> 00:59:03,190 Me fjalë të tjera, Nick ka krijuar ky nocioni i një imazhi të thjeshtë 1176 00:59:03,190 --> 00:59:05,920 në mënyrë që ne mund të, për pedagogjike qëllime, të luajnë me imazhin 1177 00:59:05,920 --> 00:59:09,790 dhe për të ndryshuar të kuqe të saj, jeshile, blu dhe të vlerave. 1178 00:59:09,790 --> 00:59:11,750 >> Dhe si po bëjmë këtë? 1179 00:59:11,750 --> 00:59:15,360 Kjo Sintaksa disi i fshehtë këtu është lloj si bllokut të përsëritur 1180 00:59:15,360 --> 00:59:19,140 se disa nga ju pa në Scratch më parë sot, ku ju mund të përsërisë 10 herë. 1181 00:59:19,140 --> 00:59:22,220 Në këtë rast, Nick nuk ka hardcoded një numër si 10. 1182 00:59:22,220 --> 00:59:28,020 Në vend të kësaj ai është duke thënë, nisja një ndryshore të quajtur x në 0, 1183 00:59:28,020 --> 00:59:33,180 kontrolluar nëse x është më pak se gjerësia e imazhit. 1184 00:59:33,180 --> 00:59:38,160 >> Dhe në mënyrë që të jenë më të duhur, imazhi është ndryshueshme, dot do të thotë të shkojnë në brendësi të saj 1185 00:59:38,160 --> 00:59:40,900 dhe për të marrë gjerësinë e saj, dhe pastaj paren të hapura, të mbyllura 1186 00:59:40,900 --> 00:59:43,687 paren është vetëm mënyrë një programues e duke thënë se kjo është një funksion. 1187 00:59:43,687 --> 00:59:44,520 Kjo është një procedurë. 1188 00:59:44,520 --> 00:59:46,430 Kjo është funksionalitet dikush tjetër ka shkruar. 1189 00:59:46,430 --> 00:59:48,570 Përdorin atë dhe të më kthejë një përgjigje. 1190 00:59:48,570 --> 00:59:53,610 Dhe pastaj x ++ është një mënyrë e sofistikuar për duke thënë, pasi të keni bërë këtë herë, 1191 00:59:53,610 --> 00:59:55,850 ardhura x me 1. 1192 00:59:55,850 --> 00:59:58,760 Me fjalë të tjera, kjo është mënyra e një programues 1193 00:59:58,760 --> 01:00:05,760 e inducing një lak që është do të iterate mbi 1194 01:00:05,760 --> 01:00:10,410 të gjitha kolonave në një imazh. 1195 01:00:10,410 --> 01:00:14,790 >> Një imazh është vetëm një rrjet i pika, rreshtave dhe kolonave e pika. 1196 01:00:14,790 --> 01:00:18,270 Kjo është një mënyrë për të iterating mbi të gjitha ato shtylla. 1197 01:00:18,270 --> 01:00:20,770 Dhe në brendësi, Ndërkohë, ne jemi iterating 1198 01:00:20,770 --> 01:00:24,030 mbi lartësitë, këtu dhe këtu dhe këtu. 1199 01:00:24,030 --> 01:00:29,442 Pra, kjo është vetëm një mënyrë për të traipsing, gati si një makinë shkrimi të vjetër shkollor, 1200 01:00:29,442 --> 01:00:32,230 për të shkuar vetëm mbi të tërë image iteratively. 1201 01:00:32,230 --> 01:00:36,370 Edhe kjo nuk është mjaft tërësisht qartë, vetëm të marrë në besim për tani, 1202 01:00:36,370 --> 01:00:38,880 se këto tri linja i kodit bashku janë 1203 01:00:38,880 --> 01:00:43,090 do të ju lejojnë të shikoni iteratively në çdo pixel, çdo dot në imazh. 1204 01:00:43,090 --> 01:00:43,790 >> Çfarë është një pixel? 1205 01:00:43,790 --> 01:00:46,250 E pra, të jetë e qartë, nëse ne shikojmë në origjinal dhe zmadhuar, 1206 01:00:46,250 --> 01:00:49,060 në qoftë se jeni të vërtetë vënë sytë tuaj në ekranin e kompjuterit, kjo është 1207 01:00:49,060 --> 01:00:53,510 vetëm një bandë e tërë e pika, disa mijë pika të mbushura së bashku atje. 1208 01:00:53,510 --> 01:00:56,180 Dhe kështu që ajo që jeni gati për të bërë? 1209 01:00:56,180 --> 01:00:59,240 Secili nga këto pika, një përkufizim përfundimtar, 1210 01:00:59,240 --> 01:01:06,350 është rezultat i asaj që është në përgjithësi quajtur RGB, e kuqe, jeshile, blu, e cila 1211 01:01:06,350 --> 01:01:09,940 përsëri mund të kombinohen për ju jap ndonjë numër të ngjyrave. 1212 01:01:09,940 --> 01:01:13,200 >> Në fakt, në qoftë se ju kujtohet nga shumë, shumë vite më parë, 1213 01:01:13,200 --> 01:01:17,320 ekranet projektor si këto gjëra përdorur për të nuk kanë një objektiv, por tre. 1214 01:01:17,320 --> 01:01:20,700 Njëri prej tyre nxjerr nga goja dritë të kuqe, një nga t'i nxjerr nga goja dritë të gjelbër, njëri prej tyre 1215 01:01:20,700 --> 01:01:21,600 nxjerr nga goja dritë blu. 1216 01:01:21,600 --> 01:01:24,391 Dhe në qoftë se ju keni qenë në një shkollë të mesme si unë ishte vendi ku ata nuk ishin 1217 01:01:24,391 --> 01:01:27,000 një linjë siç duhet, ju ishit gjithmonë të shikuar filmat e historisë 1218 01:01:27,000 --> 01:01:29,770 që ishin të shtrembëruar pak, për shkak se tre ngjyra nuk ishin 1219 01:01:29,770 --> 01:01:30,970 kombinuar si duhet. 1220 01:01:30,970 --> 01:01:36,330 >> Por kjo rezulton se secili nga këto vlera të kuqe, jeshile, dhe blu, 1221 01:01:36,330 --> 01:01:37,980 mund të ketë një numër të lidhur me to. 1222 01:01:37,980 --> 01:01:42,500 Për shembull, 0 për të kuqe do të thotë asnjë kuqe, 0 për të gjelbër do të thotë jo të gjelbër, 1223 01:01:42,500 --> 01:01:45,120 dhe 0 për blu do të thotë nuk blu. 1224 01:01:45,120 --> 01:01:49,403 Pra, nëse ju nuk keni të kuqe, jo jeshile, dhe jo blu, çfarë ngjyre keni? 1225 01:01:49,403 --> 01:01:51,009 >> AUDIENCA: [padëgjueshme] 1226 01:01:51,009 --> 01:01:52,800 DAVID Malan: Ju do të shpresoj se kështu, është e bardhë. 1227 01:01:52,800 --> 01:01:55,333 Për fat të keq, kjo operates-- keq? 1228 01:01:55,333 --> 01:01:56,380 >> AUDIENCA: [padëgjueshme] 1229 01:01:56,380 --> 01:01:58,630 DAVID Malan: Pra, ju në fakt kanë zi, në këtë rast. 1230 01:01:58,630 --> 01:02:01,530 Pra, nëse ju keni asnjë nga këto ngjyra e ndezur, ju duhet të zi. 1231 01:02:01,530 --> 01:02:06,510 Megjithatë, në qoftë se ju keni, le të themi shumë prej tyre, si një shumë të kuqe, 255 të tij, 1232 01:02:06,510 --> 01:02:10,340 një shumë e gjelbër, dhe shumë e blu, që është e bardhë. 1233 01:02:10,340 --> 01:02:12,230 Pra, këto janë dy ekstreme. 1234 01:02:12,230 --> 01:02:17,460 Pra, sipas kësaj logjike, në qoftë se unë kam një shumë e kuqe dhe jo të gjelbër dhe jo blu, 1235 01:02:17,460 --> 01:02:18,485 çfarë ngjyrë është ajo? 1236 01:02:18,485 --> 01:02:19,360 AUDIENCA: [padëgjueshme] 1237 01:02:19,360 --> 01:02:20,610 DAVID Malan: E drejta, natyrisht. 1238 01:02:20,610 --> 01:02:25,940 Dhe pastaj nuk ka të kuqe, shumë gjelbër, jo blu, dhe pastaj 1239 01:02:25,940 --> 01:02:29,590 në qoftë se ju have-- mirë, ne vetëm do të përfundojë kjo, vetëm për shkak se, por kjo, natyrisht, 1240 01:02:29,590 --> 01:02:31,350 tani, është blu. 1241 01:02:31,350 --> 01:02:33,030 Dhe tani ju mund të kombinohen këto ngjyra. 1242 01:02:33,030 --> 01:02:36,430 Tani si një mënjanë, në qoftë se ndonjë nga ju keni bërë ndonjëherë disa dizajn aktuale website, 1243 01:02:36,430 --> 01:02:38,360 ju mund të vërtetë shikoni simbolet si kjo. 1244 01:02:38,360 --> 01:02:42,030 FFF-- dhe në fakt, kjo është ndoshta jo edhe atë. 1245 01:02:42,030 --> 01:02:44,380 Është FFFFFF. 1246 01:02:44,380 --> 01:02:48,970 >> Çdokush parë ndonjëherë F-së dhe E-së dhe A through-- kështu që rezulton, 1247 01:02:48,970 --> 01:02:52,970 kemi biseduar dje për dhjetore, dhe sot, lloj lidhje dhjetore. 1248 01:02:52,970 --> 01:02:54,570 Sot kemi biseduar për binar. 1249 01:02:54,570 --> 01:02:59,010 Rezulton se, hexadecimal është një shumë sistemi të përbashkët bazë për të përdorur në informatikë. 1250 01:02:59,010 --> 01:03:04,960 Binary është dy, decimal është 10, magji është 16. 1251 01:03:04,960 --> 01:03:08,640 Dhe kjo rezulton, se si bëjnë ju numërimin në heksadecimal? 1252 01:03:08,640 --> 01:03:11,620 Zero, një, dy, tre, katër, pesë, gjashtë, shtatë, tetë, 1253 01:03:11,620 --> 01:03:14,730 nëntë, çfarë do të përdorni pas nëntë? 1254 01:03:14,730 --> 01:03:16,600 Cili është numri i ardhshëm? 1255 01:03:16,600 --> 01:03:19,180 Ne tashmë e përdorur zero. 1256 01:03:19,180 --> 01:03:20,570 Unë kam nevojë për 16 prej tyre. 1257 01:03:20,570 --> 01:03:25,770 Zero, një, dy, tre, katër, pesë, gjashtë, shtatë, tetë, nëntë, 1258 01:03:25,770 --> 01:03:27,520 keni nevojë për disa konventë arbitrare. 1259 01:03:27,520 --> 01:03:30,810 >> Dhe çfarë njerëzimi vendosi disa kohë më parë se pas nëntë vjen letra 1260 01:03:30,810 --> 01:03:34,450 A dhe pastaj B dhe pastaj C. Pra, Mënyrë që ju të mbështeteni në heksadecimal 1261 01:03:34,450 --> 01:03:37,040 është zero, një, dy, tre, katër, pesë, gjashtë, shtatë, tetë, nëntë, 1262 01:03:37,040 --> 01:03:42,880 A, B, C, D, E, F, dhe se do të numërojnë ju të gjithë rrugën, ajo rezulton, në 15. 1263 01:03:42,880 --> 01:03:47,850 Pra zero në 15 është zero nëpërmjet F. Tani pse është kjo e rëndësishme? 1264 01:03:47,850 --> 01:03:51,570 E pra, kur ju keni dy F-së, kjo është se si ju shprehin 255. 1265 01:03:51,570 --> 01:03:54,350 >> Për sa kohë histori e shkurtër, në bota e Photoshop, 1266 01:03:54,350 --> 01:03:57,299 që software dizajnit grafik, në botën e zhvillimit web, 1267 01:03:57,299 --> 01:03:59,590 ku ju keni shumë të ngjyrave, natyrisht, për të luajtur me të, 1268 01:03:59,590 --> 01:04:02,350 shpesh programuesit do shprehin ato në heksadecimal, 1269 01:04:02,350 --> 01:04:05,260 vetëm për shkak se ajo tenton të jetë pak më e thjeshtë. 1270 01:04:05,260 --> 01:04:07,850 Edhe pse në shikim të parë kjo është shumë më komplekse. 1271 01:04:07,850 --> 01:04:11,590 >> Pra, në çdo rast, kjo është e rëndësishme sepse Nick në Stanford 1272 01:04:11,590 --> 01:04:15,100 na ka dhënë gjashtë copa të funksionalitetit se ju, programuesit nis të lulëzojë, 1273 01:04:15,100 --> 01:04:17,060 tani do të ketë aftësinë për të përdorur. 1274 01:04:17,060 --> 01:04:19,960 E ndërtuar në këtë web faqe është gjashtë funksione, 1275 01:04:19,960 --> 01:04:21,820 gjashtë procedurat që Nick shkruar. 1276 01:04:21,820 --> 01:04:26,800 Tre prej tyre ju do të merrni një numër, një të kuqe, një jeshile, ose një vlerë blu. 1277 01:04:26,800 --> 01:04:28,787 Tre prej tyre do të vendosë këtë vlerë. 1278 01:04:28,787 --> 01:04:30,620 Dhe këto nënvizon janë vetëm placeholders, 1279 01:04:30,620 --> 01:04:32,600 kështu që ju duhet të dini se çfarë ata janë. 1280 01:04:32,600 --> 01:04:36,240 >> Pra, me këto tri funksione, i pari nga këto gjëra 1281 01:04:36,240 --> 01:04:39,190 do të jetë një x-koordinuar, dhe e dyta nga këto gjëra 1282 01:04:39,190 --> 01:04:40,700 do të jetë një y-koordinuar. 1283 01:04:40,700 --> 01:04:44,650 Me fjalë të tjera, të cilat dot, të cilat pixel doni të merrni gjelbër e, 1284 01:04:44,650 --> 01:04:46,480 të marrë blu të, të kuqe të. 1285 01:04:46,480 --> 01:04:51,440 Dhe atëherë këtu, kjo do të jetë x, kjo do të jetë një vlerë y, 1286 01:04:51,440 --> 01:04:55,379 dhe kjo do të jetë një numër. 1287 01:04:55,379 --> 01:04:57,170 Pra, le të bëjë të parë linjë e këtë së bashku 1288 01:04:57,170 --> 01:05:00,220 dhe pastaj unë do të lënë atë për ju në përpjekje për të nxjerr një përfundim tjetër. 1289 01:05:00,220 --> 01:05:03,100 Pra, sipas udhëzimeve në këtë faqe, ne kemi nevojë 1290 01:05:03,100 --> 01:05:08,960 për rritjen e kuqe nga një faktor i 10, dhe ne kemi nevojë për të hequr të gjelbër 1291 01:05:08,960 --> 01:05:09,930 dhe për të hequr blu. 1292 01:05:09,930 --> 01:05:12,410 Le të fillojmë me skenarët e fundit. 1293 01:05:12,410 --> 01:05:17,760 Pra, nëse unë dua të, dhe unë jam duke shkuar të indent duke përdorur disa hapësira, 1294 01:05:17,760 --> 01:05:22,291 në qoftë se unë dua të vendosur kuqe, e gjelbër, ose vlera blu, 1295 01:05:22,291 --> 01:05:23,540 Unë do të bëjë të mëposhtme. 1296 01:05:23,540 --> 01:05:31,280 >> Image, im.setBlue, dhe pastaj bazuar në udhëzimet e mia këtu, 1297 01:05:31,280 --> 01:05:36,700 çfarë tri gjëra duhet të I lloji brenda kllapa tani? 1298 01:05:36,700 --> 01:05:41,960 Unë kam nevojë për vlerën e X, y vlera, dhe çfarë numri 1299 01:05:41,960 --> 01:05:48,770 duhet të vënë këtu në qoftë se unë dua të shpëtoj blu, bazuar në këtë histori këtu? 1300 01:05:48,770 --> 01:05:49,630 Vetëm zero. 1301 01:05:49,630 --> 01:05:52,420 Nëse unë dua asnjë blu, unë jam vetëm do të ndryshojë atë në zero. 1302 01:05:52,420 --> 01:05:54,465 >> Tani le të vetëm radhitje atë që kjo është duke bërë. 1303 01:05:54,465 --> 01:05:56,970 1304 01:05:56,970 --> 01:06:01,170 Unë kam këtu në këto krye Linjat e dytë dhe të tretë, 1305 01:06:01,170 --> 01:06:04,080 I mori dy sythe, sythe mbivendosur, në qoftë se ju 1306 01:06:04,080 --> 01:06:08,360 do të, që do të ketë efekt të vazhdohet nga e majta në të djathtë, 1307 01:06:08,360 --> 01:06:11,590 lart poshtë mbi të gjitha të x vlerat dhe të gjitha vlerat y. 1308 01:06:11,590 --> 01:06:15,167 Sepse përsëri, një foto vetëm një rrjet i rreshtave dhe kolonave. 1309 01:06:15,167 --> 01:06:17,000 Pra, kjo do të marrë shpëtoj të gjithë blu të. 1310 01:06:17,000 --> 01:06:18,627 Më lejoni të lënë në linjë tjetër për ju. 1311 01:06:18,627 --> 01:06:20,043 Si mund të shpëtoj të gjithë gjelbër të? 1312 01:06:20,043 --> 01:06:23,747 1313 01:06:23,747 --> 01:06:25,140 >> AUDIENCA: [padëgjueshme] 1314 01:06:25,140 --> 01:06:26,151 >> DAVID Malan: Bukur. 1315 01:06:26,151 --> 01:06:28,260 >> AUDIENCA: [padëgjueshme] 1316 01:06:28,260 --> 01:06:30,850 >> DAVID Malan: Bukur. 1317 01:06:30,850 --> 01:06:36,120 Dhe unë jam duke shkuar për të zoom out, dhe vetëm të marrë kujdes nga se ju nuk keni bërë ndonjë gabime shkrimi. 1318 01:06:36,120 --> 01:06:39,390 Dhe në qoftë se ju jeni të kënaqur me atë që keni bërë, 1319 01:06:39,390 --> 01:06:42,936 të shkojnë përpara dhe klikoni butonin Run / Ruaj dhe shikoni se çfarë ju merrni. 1320 01:06:42,936 --> 01:06:46,982 1321 01:06:46,982 --> 01:06:48,690 Dhe përsëri, ne kemi bërë vetëm tre ndryshime. 1322 01:06:48,690 --> 01:06:52,130 Ne fshihet se pari komentojnë dhe e zëvendësoi atë 1323 01:06:52,130 --> 01:06:53,575 me këto dy rreshta të kodit. 1324 01:06:53,575 --> 01:06:55,742 1325 01:06:55,742 --> 01:06:58,450 Dhe kjo është në rregull në qoftë se keni nevojë për të goditur butonin Run / Save një herë çift 1326 01:06:58,450 --> 01:07:01,190 për të rregulluar diçka. 1327 01:07:01,190 --> 01:07:03,610 >> Dhe më lejoni të zoom në tim Kodi kështu që ju mund të kopjoj. 1328 01:07:03,610 --> 01:07:04,110 Të mirë. 1329 01:07:04,110 --> 01:07:08,720 Kështu që unë shoh Andrew ka çfarë duket të jetë një gabim. 1330 01:07:08,720 --> 01:07:11,110 Ai ka vetëm një zi e madhe drejtkëndësh në ekranin e tij. 1331 01:07:11,110 --> 01:07:13,120 A ka dikush tjetër të ketë një drejtkëndësh madhe e zezë? 1332 01:07:13,120 --> 01:07:13,390 >> AUDIENCA: Po. 1333 01:07:13,390 --> 01:07:14,360 >> DAVID Malan: Big drejtkëndësh i zi? 1334 01:07:14,360 --> 01:07:16,068 OK, kështu që le të mendojmë në lidhje me çfarë do të thotë kjo. 1335 01:07:16,068 --> 01:07:20,560 Ne thamë se zero, zero, zero, kështu që nuk ka të gjelbër, nuk ka të kuqe, jo blu, 1336 01:07:20,560 --> 01:07:21,980 do të ju jap të zezë. 1337 01:07:21,980 --> 01:07:24,467 Dhe kjo rezulton se shumica e laptopë tonë 1338 01:07:24,467 --> 01:07:25,800 thjesht nuk kanë besnikëri të mjaftueshme. 1339 01:07:25,800 --> 01:07:27,750 Ju nuk mund të mjaft të them se është në fakt diçka atje. 1340 01:07:27,750 --> 01:07:30,340 Dhe në qoftë se ju lloj i ndoshta ligët ekranin tuaj përpara dhe prapa, 1341 01:07:30,340 --> 01:07:32,850 ndoshta e shihni ju një pak diçka atje? 1342 01:07:32,850 --> 01:07:34,820 Ndoshta, lloj, lloj? 1343 01:07:34,820 --> 01:07:36,640 Kjo nuk është krejtësisht e zezë. 1344 01:07:36,640 --> 01:07:38,050 >> AUDIENCA: [padëgjueshme] 1345 01:07:38,050 --> 01:07:39,510 >> DAVID Malan: Spoiler! 1346 01:07:39,510 --> 01:07:42,610 Ka disa e kuqe atje, por mend nga specifikimet 1347 01:07:42,610 --> 01:07:44,940 e problemit, Nick dinjitoz atë. 1348 01:07:44,940 --> 01:07:47,860 Ai desaturated atë disi, por jo të gjithë rrugën në zero. 1349 01:07:47,860 --> 01:07:51,670 Pra, nëse ne duam për të lartësuar e shumës e kuqe, më lejoni të propozoj këtë mashtrim. 1350 01:07:51,670 --> 01:07:53,750 Më lejoni të zoom në ekran e mia. 1351 01:07:53,750 --> 01:07:58,678 Dhe më lejoni të shkoj përpara dhe të thonë Shuma e barabartë im.getRed (x, y). 1352 01:07:58,678 --> 01:08:02,440 1353 01:08:02,440 --> 01:08:05,790 >> Kjo linjë e kodit është duke i dhënë mua diçka që quhet një ndryshore. 1354 01:08:05,790 --> 01:08:09,643 Unë kam në mënyrë arbitrare, por, ndoshta, quajtur të arsyeshme të ndryshueshme im atë, 1355 01:08:09,643 --> 01:08:10,143 me sa duket? 1356 01:08:10,143 --> 01:08:13,530 1357 01:08:13,530 --> 01:08:14,340 Sasia. 1358 01:08:14,340 --> 01:08:14,980 Shuma e vetëm. 1359 01:08:14,980 --> 01:08:16,960 Unë mund të kemi quajtur atë çdo gjë që unë dua, por unë jam i 1360 01:08:16,960 --> 01:08:19,490 duke përdorur këtë funksion tjetër që kam përshkruar më parë 1361 01:08:19,490 --> 01:08:25,359 për të marrë sasinë e kuqe në x presje y. 1362 01:08:25,359 --> 01:08:27,520 Pse e kam bërë këtë? 1363 01:08:27,520 --> 01:08:30,004 Çfarë doni të bëni këtu? 1364 01:08:30,004 --> 01:08:32,910 1365 01:08:32,910 --> 01:08:33,619 Ju duhet të add-- 1366 01:08:33,619 --> 01:08:34,493 AUDIENCA: [padëgjueshme] 1367 01:08:34,493 --> 01:08:36,279 DAVID Malan: Po, ndoshta shumohen atë me 10. 1368 01:08:36,279 --> 01:08:38,862 Dhe në qoftë se ju nuk e dini këtë, unë jam do të shkojnë përpara dhe të bëjë këtë. 1369 01:08:38,862 --> 01:08:42,060 Unë jam duke shkuar për të shkuar përpara dhe të të themi, unë dua sasinë e kuqe 1370 01:08:42,060 --> 01:08:46,550 Unë dua të jenë të çfarëdo është në të kuqe, herë 10, 1371 01:08:46,550 --> 01:08:50,330 dhe yll, yll në tuaj keyboard është the-- nuk e përdorin x. 1372 01:08:50,330 --> 01:08:51,569 Përdorni yll. 1373 01:08:51,569 --> 01:08:55,350 Kjo është se si ju shumëfishohen gjëra në shumicën e gjuhëve të programimit. 1374 01:08:55,350 --> 01:08:59,790 >> Pra, në bazë të intuitës Kareem-së, ruajtur në këtë ndryshore të quajtur shumë, 1375 01:08:59,790 --> 01:09:03,649 është se sa e kuqe dua të lokacionit xy. 1376 01:09:03,649 --> 01:09:11,500 Si tani, Unë e bëj atë Pixel kanë këtë numër? 1377 01:09:11,500 --> 01:09:12,859 Ju keni bërë tashmë këtë më parë. 1378 01:09:12,859 --> 01:09:17,666 Keni vendosur të gjelbër dhe blu të pa vlerë, në zero. 1379 01:09:17,666 --> 01:09:18,540 AUDIENCA: [padëgjueshme] 1380 01:09:18,540 --> 01:09:20,040 DAVID Malan: Po, edhe ju nuk doni që ajo të 10. 1381 01:09:20,040 --> 01:09:21,460 Ju tashmë e bëri matematikë këtu. 1382 01:09:21,460 --> 01:09:24,779 Pra, ne jemi duke marrë vlerën e kuqe, i cili është një numër i vogël, me sa duket. 1383 01:09:24,779 --> 01:09:26,180 Ne jemi shumëzuar deri me 10. 1384 01:09:26,180 --> 01:09:29,139 Çfarë doni të bëni me shuma e ndryshueshme tani? 1385 01:09:29,139 --> 01:09:30,130 >> AUDIENCA: [padëgjueshme] 1386 01:09:30,130 --> 01:09:30,880 >> DAVID Malan: Bukur. 1387 01:09:30,880 --> 01:09:34,616 Pra im.set-- çfarë? 1388 01:09:34,616 --> 01:09:35,640 >> AUDIENCA: setRed. 1389 01:09:35,640 --> 01:09:39,760 >> DAVID Malan: setRed, në lokacionit xy. 1390 01:09:39,760 --> 01:09:40,260 Po. 1391 01:09:40,260 --> 01:09:41,200 Dhe vetëm shuma. 1392 01:09:41,200 --> 01:09:44,257 Me fjalë të tjera, një variabël është një placeholder përkohshme 1393 01:09:44,257 --> 01:09:45,840 që ju mund të vënë çdo gjë që ju dëshironi në. 1394 01:09:45,840 --> 01:09:48,680 Ne të ndodhë që të jetë vënë një numër në të, në momentin. 1395 01:09:48,680 --> 01:09:51,569 Ne kemi shumëzuar atë me 10 për ta bërë atë më të mëdha. 1396 01:09:51,569 --> 01:09:56,480 Dhe tani unë jam duke e zëvendësuar atë variabël si këtë argument të tretë, ose të dhëna 1397 01:09:56,480 --> 01:09:57,810 për të vendosur të kuqe. 1398 01:09:57,810 --> 01:10:00,440 Dhe kështu që sapo ju përfundojë atë, dhe të marrë parasysh 1399 01:10:00,440 --> 01:10:02,330 e gjysmë-kolonave dhe kllapa. 1400 01:10:02,330 --> 01:10:06,290 >> Shkoni përpara dhe klikoni drejtuar / shpëtuar përsëri, dhe ju 1401 01:10:06,290 --> 01:10:10,690 duhet të shohin, magjike, se çfarë ishte në të vërtetë atje. [? Arwa,?] Çfarë është atje? 1402 01:10:10,690 --> 01:10:16,412 Kulla Eifel në të drejta të plota e kuqe, jo mjaft të errët. 1403 01:10:16,412 --> 01:10:17,870 ajo duhet të jetë më e qartë tani, po? 1404 01:10:17,870 --> 01:10:18,840 NE RREGULL. 1405 01:10:18,840 --> 01:10:20,215 Dhe Andrew, kutia më e zezë? 1406 01:10:20,215 --> 01:10:21,090 AUDIENCA: [padëgjueshme] 1407 01:10:21,090 --> 01:10:22,180 DAVID Malan: Të gjithë të drejtë. 1408 01:10:22,180 --> 01:10:23,610 Kështu që unë do të mbajë këtë në ekran. 1409 01:10:23,610 --> 01:10:27,010 Nëse ju doni të luajnë me këtë më vonë, unë do të krijosh këtë për ju. 1410 01:10:27,010 --> 01:10:29,140 Por, ky kod këtu e bëri pikërisht këtë. 1411 01:10:29,140 --> 01:10:31,460 Pse nuk e bëjmë një tjetër. 1412 01:10:31,460 --> 01:10:33,880 Më lejoni të lëvizni poshtë pak. 1413 01:10:33,880 --> 01:10:36,760 >> Pra, në këtë rast, projektor nuk ka të vërtetë të bëjë atë të drejtësisë. 1414 01:10:36,760 --> 01:10:40,486 Por në ekranet tuaja, ju ndoshta kanë një kuti shumë të kuqe dhe shumë e zezë. 1415 01:10:40,486 --> 01:10:42,610 Kjo, gjithashtu, është një mister që tregon diçka famshme. 1416 01:10:42,610 --> 01:10:44,193 Megjithatë, imazhi është shtrembëruar. 1417 01:10:44,193 --> 01:10:47,740 Imazhi i vërtetë, këtë herë, është në vlerat blu dhe jeshile. 1418 01:10:47,740 --> 01:10:51,820 Megjithatë, ata kanë qenë të gjithë të ndarë nga 20 deri vlerat janë shumë të vogla. 1419 01:10:51,820 --> 01:10:54,660 Vlerat e kuqe janë vetëm numrat e rastit, zhurma. 1420 01:10:54,660 --> 01:10:57,190 Undo këto shtrembërime për të zbuluar imazhin e vërtetë. 1421 01:10:57,190 --> 01:10:59,200 >> Kështu Nick pastaj ju tregon se çfarë duhet të bëni. 1422 01:10:59,200 --> 01:11:04,290 Vendosur vlerat kuq me zero, dhe atëherë nuk do të prishin atë që është. 1423 01:11:04,290 --> 01:11:07,110 Pastaj shumohen blu dhe vlerat e gjelbër nga 20. 1424 01:11:07,110 --> 01:11:09,820 Pra, kjo është pothuajse e njëjti program si më parë, 1425 01:11:09,820 --> 01:11:11,380 por ju jeni përmbysur procesin. 1426 01:11:11,380 --> 01:11:13,780 Dhe unë do të shtie kodin tim nga para në ekran në rastin e 1427 01:11:13,780 --> 01:11:16,650 ju dëshironi të referohen përsëri në atë ose të luajë më tej me këtë një të tillë. 1428 01:11:16,650 --> 01:11:18,100 Më lejoni të zoom në atë. 1429 01:11:18,100 --> 01:11:21,450 Por zgjidhur imazhin bakrit puzzle, numri dy. 1430 01:11:21,450 --> 01:11:37,623 1431 01:11:37,623 --> 01:11:40,580 >> AUDIENCA: [padëgjueshme] 1432 01:11:40,580 --> 01:11:44,010 >> DAVID Malan: OK, kështu që kjo jam nuk do të japë sa më shumë lë të kuptohet. 1433 01:11:44,010 --> 01:11:47,220 Kështu që unë would-- oh, le të shikoni, ju keni një typo këtu. 1434 01:11:47,220 --> 01:11:49,621 Pra mbani mend, kjo këtu të vërtetë ka nevojë për të shkuar atje. 1435 01:11:49,621 --> 01:11:52,870 Pra, ajo që unë do të propozojë, në qoftë se ju doni të të përqëndrohet në këtë, nuk ka përgjigje. 1436 01:11:52,870 --> 01:11:57,060 Nëse ju doni që shkruajshe atë, që duhet të marrë një pune të parë. 1437 01:11:57,060 --> 01:11:59,910 Dhe pastaj ju mund të përdorni atë si frymëzim për një të dytë. 1438 01:11:59,910 --> 01:12:02,230 Bukur. 1439 01:12:02,230 --> 01:12:02,730 Të mirë. 1440 01:12:02,730 --> 01:12:05,430 1441 01:12:05,430 --> 01:12:08,180 >> Dhe për kurioz, ky është një shembull i thjeshtë 1442 01:12:08,180 --> 01:12:11,080 e shkencës ose një art quajtur steganography, 1443 01:12:11,080 --> 01:12:14,100 arti i fshehur informacionin në imazhe. 1444 01:12:14,100 --> 01:12:16,890 Në mënyrë tipike, imazhet mund të jenë watermarked shumë blatantly 1445 01:12:16,890 --> 01:12:19,500 me një logo në fund qoshe, por në mënyrë të qartë, të 1446 01:12:19,500 --> 01:12:22,070 mund të jetë shumë më i sofistikuar në lidhje me të dhe në fakt 1447 01:12:22,070 --> 01:12:25,050 fshehin imazhe të tjera në imazhet disi me këtë teknikë. 1448 01:12:25,050 --> 01:12:59,890 1449 01:12:59,890 --> 01:13:05,770 >> Merrni një tjetër 30 sekonda, dhe pastaj ne do të të paktën të njoftojë atë që ju duhet të shikoni. 1450 01:13:05,770 --> 01:13:08,330 Dhe unë do të të lënë të tretë një si një ushtrim në shtëpi, 1451 01:13:08,330 --> 01:13:11,353 në qoftë se ju dëshironi më shumë një sfidojnë këtë fundjavë. 1452 01:13:11,353 --> 01:13:18,240 1453 01:13:18,240 --> 01:13:20,390 Dhe unë mendoj se Andrew fuqisë kanë marrë atë më parë. 1454 01:13:20,390 --> 01:13:22,645 Cili është imazhi i dytë, Andrew? 1455 01:13:22,645 --> 01:13:23,920 >> AUDIENCA: Statuja e Lirisë. 1456 01:13:23,920 --> 01:13:28,500 >> DAVID Malan: Statuja e Lirisë do të jetë një përgjigje kësaj radhe. 1457 01:13:28,500 --> 01:13:31,140 Pra, përsëri, vetëm disa thjeshtë shembuj, qëllimi i të cilit 1458 01:13:31,140 --> 01:13:35,040 është që të ju jap një kuptim të asaj se si ne kemi përkthyer Scratch pikture 1459 01:13:35,040 --> 01:13:40,410 blloqe për më të bezdisshëm dhe më shumë Kodi komplikuar, por të gjitha idetë 1460 01:13:40,410 --> 01:13:42,980 janë ende të njëjtë, megjithëse me futjen 1461 01:13:42,980 --> 01:13:48,380 tani e nocionit të një variable, duke gjendje për të ruajtur diçka përkohësisht. 1462 01:13:48,380 --> 01:13:51,750 >> Le të bëjmë një më shumë duart-në, vetëm tani lidhur dots 1463 01:13:51,750 --> 01:13:53,880 për diçka pak më të vërtetë të botës. 1464 01:13:53,880 --> 01:13:56,610 Kur të jeni gati, në qoftë se ju mund të shkoni në këtë URL në ekran. 1465 01:13:56,610 --> 01:14:00,610 Kjo është edhe një kopje e slides, developers.google.com/maps~~V. 1466 01:14:00,610 --> 01:14:03,660 Le të vërtetë të bëjë diçka reale, kështu që të flasin, në web 1467 01:14:03,660 --> 01:14:07,600 përdorimin e API Google Maps, ose aplikimit programimi interface, 1468 01:14:07,600 --> 01:14:08,940 në mënyrën e mëposhtme. 1469 01:14:08,940 --> 01:14:12,341 >> Google, si shumë kompani, siguron një shumë të funksionalitetit të lirë 1470 01:14:12,341 --> 01:14:14,840 që ju mund të përdorni për të ndërtuar tuaj aplikacionet e veta interesante. 1471 01:14:14,840 --> 01:14:18,890 Në fakt, në qoftë se ju keni përdorur ndonjëherë Uber për të marrë një taksi ose një makinë, 1472 01:14:18,890 --> 01:14:21,640 ju ndoshta e dini se Uber ka një hartë dhe kjo tregon makina në të. 1473 01:14:21,640 --> 01:14:24,870 Kjo është, sa më mirë që mundem them, Google Maps API. 1474 01:14:24,870 --> 01:14:28,884 Ata në të vërtetë janë duke përdorur hartat Google, por Uber nuk është një kompani hartë, 1475 01:14:28,884 --> 01:14:31,050 as nuk do që të jetë një problem veçanërisht interesante 1476 01:14:31,050 --> 01:14:33,510 për të zgjidhur në krye të tyre Problemi shërbim makinë. 1477 01:14:33,510 --> 01:14:35,510 Dhe kështu ata janë në këmbë, përsëri, mbi supet 1478 01:14:35,510 --> 01:14:37,520 e të tjerëve, Google në këtë rast. 1479 01:14:37,520 --> 01:14:42,850 Në mënyrë që ata përdorin hartat Google, por vetë Shërbimet e makinave dhe karakteristika të tjera të tilla. 1480 01:14:42,850 --> 01:14:47,770 >> Pra, ne jemi duke shkuar për të përfituar kjo të bëjë të mëposhtme. 1481 01:14:47,770 --> 01:14:50,230 Dhe në qoftë se unë kam shkuar shumë shpejt, vetëm thirrje mua më shumë se në një moment. 1482 01:14:50,230 --> 01:14:53,500 Të lumtur për të radhitje disa gjëra imazhit. 1483 01:14:53,500 --> 01:14:56,290 Ju duhet të shikoni veten në një faqe si kjo. 1484 01:14:56,290 --> 01:14:58,230 Në mënyrë të këndshme Google, dhe ata janë ndër më të mirat 1485 01:14:58,230 --> 01:15:01,364 për të siguruar jo vetëm TV, por TV të lirë që ju 1486 01:15:01,364 --> 01:15:02,780 mund të luajnë me ose përdorin komerciale. 1487 01:15:02,780 --> 01:15:06,450 Ata do të fillojnë akuzuar ju nëse përdorimi juaj është i lartë, por unë shkova përpara paraprakisht 1488 01:15:06,450 --> 01:15:10,490 dhe na nënshkruar për një llogari falas që, shpresojmë, 10 kompjutera 1489 01:15:10,490 --> 01:15:12,480 nuk do të na ndaloj për të papritur. 1490 01:15:12,480 --> 01:15:14,320 Kështu që shpresojmë se kjo Demonstrata do të punojnë. 1491 01:15:14,320 --> 01:15:18,840 >> Dhe vini re se ata kanë API për Android, iOS, shërbimet e web dhe web, 1492 01:15:18,840 --> 01:15:19,620 çfarëdo që është. 1493 01:15:19,620 --> 01:15:20,700 Le të përqëndrohet në web. 1494 01:15:20,700 --> 01:15:26,560 Kështu klikoni kuti rozë, web, dhe se do të të çojë, me shpresë, në një faqe 1495 01:15:26,560 --> 01:15:27,630 këtu. 1496 01:15:27,630 --> 01:15:29,335 Dhe ata kanë marrë një bandë e tërë e TV. 1497 01:15:29,335 --> 01:15:31,210 Dhe kjo mund të jetë pak e madhe në fillim, 1498 01:15:31,210 --> 01:15:33,000 por unë do na rri me atë që duam. 1499 01:15:33,000 --> 01:15:38,500 >> Në të majtë të lartë është Google Maps JavaScript API, API JavaScript. 1500 01:15:38,500 --> 01:15:40,380 Pra shkoni përpara dhe klikoni se një. 1501 01:15:40,380 --> 01:15:49,360 Dhe kjo do t'ju çojë tani të pas faqe, popull dhe kodin mostër. 1502 01:15:49,360 --> 01:15:51,190 Më lejoni të zoom këtu. 1503 01:15:51,190 --> 01:15:56,300 Dhe më lejoni të marrë të to-- lëvizni poshtë ku ai thotë se hapa të shpejtë fillimit. 1504 01:15:56,300 --> 01:15:57,970 Ekrani juaj duhet të duken si e imja. 1505 01:15:57,970 --> 01:16:01,130 >> Dhe ka dy hapa, të marrë një çelës dhe të fillojë zhvillimin. 1506 01:16:01,130 --> 01:16:04,190 Unë tashmë e bëri hapin një për ne, duke marrë një të ashtuquajtur çelës. 1507 01:16:04,190 --> 01:16:05,320 Dhe kjo është një ide e përbashkët. 1508 01:16:05,320 --> 01:16:09,210 Një çelës API është në përgjithësi vetëm një numër i madh të rastit ose të string 1509 01:16:09,210 --> 01:16:11,130 që ju duhet për të ngjitur në kodin tuaj, 1510 01:16:11,130 --> 01:16:15,280 në mënyrë që Google e di se kush jeni, kur ju jeni duke përdorur shërbimin e tyre, API e tyre. 1511 01:16:15,280 --> 01:16:17,370 Nuk do të thotë që ne jemi duke u akuzuar asgjë. 1512 01:16:17,370 --> 01:16:21,030 Dhe tani, klikoni, në vend të një, klikoni fillojë zhvillimin. 1513 01:16:21,030 --> 01:16:25,990 Në qoftë se ju mund vetëm të valë mua mbi nëse nuk jeni të sigurt ku jemi. 1514 01:16:25,990 --> 01:16:28,040 >> Pra, ne vetëm do të zeroja e sipërfaqe, këtu, por ajo që 1515 01:16:28,040 --> 01:16:31,000 Mendova se do të ishte bindëse është që në fakt të ketë të gjithë ne, 1516 01:16:31,000 --> 01:16:34,240 duke përdorur Cloud9 në një dritare dhe ky tutorial në një dritare, 1517 01:16:34,240 --> 01:16:37,120 lejon në fakt të marrë e jona Aplikimi dhe drejtimin 1518 01:16:37,120 --> 01:16:40,920 që embeds një porosi Google hartë në vetë faqen tonë, 1519 01:16:40,920 --> 01:16:43,010 dhe më pas shtohet një ose dy karakteristika. 1520 01:16:43,010 --> 01:16:45,520 Por ne vetëm do të zeroja e Sipërfaqja e çfarë mund të bëjmë. 1521 01:16:45,520 --> 01:16:47,020 >> Pra, vetëm një kontroll i shpejtë mendje e shëndoshë. 1522 01:16:47,020 --> 01:16:49,740 Është e të gjithë në këtë faqe, Google Maps API JavaScript? 1523 01:16:49,740 --> 01:16:50,872 Duhet të themi duke u nisur. 1524 01:16:50,872 --> 01:16:53,330 Ne nuk jemi duke shkuar për të shkuar nëpërmjet të gjithë gjë me çdo mjet. 1525 01:16:53,330 --> 01:16:58,090 OK, në një tjetër tab, në qoftë se ju nuk e bëni kanë atë të hapur, do të shkojnë në Cloud9 1526 01:16:58,090 --> 01:17:03,500 dhe për të marrë veten të vetëm një tab i ri, në fund të fundit. 1527 01:17:03,500 --> 01:17:11,070 Pra, përsëri, c9.io nga dje, c9.io, dhe vetëm të krijojë një skedë të re. 1528 01:17:11,070 --> 01:17:13,500 Dhe të shkojnë përpara dhe thirrje ai çdo gjë që ju dëshironi. 1529 01:17:13,500 --> 01:17:16,495 I quajtur map.html time. 1530 01:17:16,495 --> 01:17:17,870 E quajti atë gjë përfundon në .html. 1531 01:17:17,870 --> 01:17:23,930 1532 01:17:23,930 --> 01:17:26,580 Dhe ju duhet të jetë afërsisht ku unë jam në këtë proces 1533 01:17:26,580 --> 01:17:31,470 me vetëm një të shpejtë ndriçon në një bosh tab quajtur diçka si map.html. 1534 01:17:31,470 --> 01:17:35,808 1535 01:17:35,808 --> 01:17:38,148 Ose fotografi, fotografi të re këtë herë. 1536 01:17:38,148 --> 01:17:41,960 1537 01:17:41,960 --> 01:17:48,000 >> Dhe tani, më shumë se nga ana Google Maps API JavaScript, 1538 01:17:48,000 --> 01:17:50,010 ne do të kaloni leximin nëpër të gjithë këtë tekst. 1539 01:17:50,010 --> 01:17:53,760 Por vini re se bota është përshëndetje në të vërtetë kudo, e shihni atë tani. 1540 01:17:53,760 --> 01:17:58,020 Tungjatjeta botë ka këtë të mëdha ngjyra shembull i një bandë e tërë e HTML. 1541 01:17:58,020 --> 01:18:03,590 Shkoni përpara dhe të kopjoni dhe ngjisni vetëm atë HTML, kështu që nga tipi doc në krye 1542 01:18:03,590 --> 01:18:08,810 të gjitha mënyra për tag të ngushtë HTML, shkoni përpara dhe kopje të të gjitha that-- përsëri, 1543 01:18:08,810 --> 01:18:14,430 kjo është në botë përshëndetje example-- dhe ngjitur atë në skedën tuaj Cloud9, 1544 01:18:14,430 --> 01:18:17,996 kështu që tani ekranin tuaj duhet të duket afërsisht si e imja. 1545 01:18:17,996 --> 01:18:22,280 1546 01:18:22,280 --> 01:18:24,520 >> Dhe ju mund ta ruani atë, por mos e ngarkuar atë vetëm ende. 1547 01:18:24,520 --> 01:18:26,290 look Le të parë në kodin dhe të shohim nëse ne 1548 01:18:26,290 --> 01:18:29,110 nuk mund të konkludoj ose të mësojnë nga ajo që është Google 1549 01:18:29,110 --> 01:18:30,860 ka pasur të verbërisht kopjoni dhe ngjisni. 1550 01:18:30,860 --> 01:18:33,334 Ata vetëm duan të ndihmojnë, fjalë për fjalë, të na filluar, 1551 01:18:33,334 --> 01:18:35,500 por nuk është se shumë Kompleksiteti të vërtetë atje. 1552 01:18:35,500 --> 01:18:40,100 1553 01:18:40,100 --> 01:18:42,210 Ndonjë pyetje vetëm ende? 1554 01:18:42,210 --> 01:18:43,790 Ne jemi të sigurt për të ecur përpara? 1555 01:18:43,790 --> 01:18:44,330 NE RREGULL. 1556 01:18:44,330 --> 01:18:46,800 >> Kaq shpejt, le të vetëm të bëjë disa kontrolle të shpejtë mendje e shëndoshë. 1557 01:18:46,800 --> 01:18:48,800 Line një nga ajo që kam parë, dhe shpresojmë se, ju 1558 01:18:48,800 --> 01:18:51,710 shih, çfarë do të thotë, DOCTYPE HTML? 1559 01:18:51,710 --> 01:18:52,385 Kareem, kujtohet? 1560 01:18:52,385 --> 01:18:53,260 AUDIENCA: [padëgjueshme] 1561 01:18:53,260 --> 01:18:53,968 DAVID Malan: Po. 1562 01:18:53,968 --> 01:18:54,870 Këtu vjen HTML 5. 1563 01:18:54,870 --> 01:18:57,950 Ndërkohë, dy në vijë Ekran këtu do të thotë hey shfletues, 1564 01:18:57,950 --> 01:18:59,482 këtu vjen HTML aktuale. 1565 01:18:59,482 --> 01:19:01,440 Line tre është hey shfletues, këtu vjen koka. 1566 01:19:01,440 --> 01:19:04,260 Line katër është, natyrisht, hey shfletuesi, këtu vjen titullin. 1567 01:19:04,260 --> 01:19:07,780 Çfarë do të vijë pesë bëjë? 1568 01:19:07,780 --> 01:19:09,930 Në fakt, kjo nuk e bën me të vërtetë të bëjë asgjë për ne. 1569 01:19:09,930 --> 01:19:13,340 Në këtë rast, ajo vetëm madhësinë faqja në një default. Line gjashtë, 1570 01:19:13,340 --> 01:19:16,140 ne nuk kemi biseduar rreth, por ajo përcakton kodimin karakter. 1571 01:19:16,140 --> 01:19:19,181 Ka mënyra të ndryshme për të kodifikuar fotografi, sidomos për gjuhë të huaja. 1572 01:19:19,181 --> 01:19:21,100 UTF-8 vetëm ka tendencë të jetë i paracaktuar. 1573 01:19:21,100 --> 01:19:26,580 >> Deri tani ne do të shohim në linjë shtatë deri 16, disa CSS. 1574 01:19:26,580 --> 01:19:29,260 Dhe, edhe pse ne nuk e kemi parë të gjitha këto gjëra para, 1575 01:19:29,260 --> 01:19:30,810 ne mund të lloj të dëshmoj. 1576 01:19:30,810 --> 01:19:37,075 Pra, të vijë tetë do të thotë, hej shfletues, zbatohen të gjitha të mëposhtme në të cilën dy tags, 1577 01:19:37,075 --> 01:19:37,575 me sa duket? 1578 01:19:37,575 --> 01:19:40,650 1579 01:19:40,650 --> 01:19:41,701 HTML dhe trupi text. 1580 01:19:41,701 --> 01:19:43,200 Pra, presja është gjë e re atje. 1581 01:19:43,200 --> 01:19:46,140 Dhe kjo është vetëm një mënyrë për të specifikuar tags shumta në të njëjtën kohë. 1582 01:19:46,140 --> 01:19:47,640 >> Pastaj ne kemi marrë formatimin e teksteve kaçurrel. 1583 01:19:47,640 --> 01:19:51,170 Pra me sa duket, kjo i tregon shfletuesit, bëjnë lartësinë e faqes 100%. 1584 01:19:51,170 --> 01:19:54,170 Pra, edhe në qoftë se ka shumë pak përmbajtje, të tërë faqen, 1585 01:19:54,170 --> 01:19:55,530 të bëjë gjë të mbushur faqen. 1586 01:19:55,530 --> 01:19:57,524 Bëni harta përfundimisht të mbushur faqen. 1587 01:19:57,524 --> 01:19:58,690 Margin, çfarë do të thotë? 1588 01:19:58,690 --> 01:20:01,559 Kjo është zakonisht si arbitrare hapësirë ​​të bardhë rreth edges 1589 01:20:01,559 --> 01:20:04,350 se disa projektuesi shfletues vetëm vendosur duhet të jetë atje, sepse ajo 1590 01:20:04,350 --> 01:20:05,540 lloj i bën gjërat të duken të pastër. 1591 01:20:05,540 --> 01:20:06,498 Por ne nuk duam që. 1592 01:20:06,498 --> 01:20:08,710 Ne duam harta shkuar të gjithë rrugën në skajet. 1593 01:20:08,710 --> 01:20:10,930 Mbushje, të ngjashme në frymë në margjina. 1594 01:20:10,930 --> 01:20:14,980 Mbulesat të thotë jashtë, do të thotë mbushje brenda, por është e njëjta lloj marrëveshje. 1595 01:20:14,980 --> 01:20:17,520 Është pak e një tampon midis jush dhe edges. 1596 01:20:17,520 --> 01:20:21,170 >> Dhe pastaj line 13 është një e mirë mundësi për një shqyrtim të shpejtë. 1597 01:20:21,170 --> 01:20:26,440 Çfarë do të hartë të mprehtë shenjave do të thotë, ose harta hashtag të thotë? 1598 01:20:26,440 --> 01:20:29,650 Çfarë do të referohet, në parim? 1599 01:20:29,650 --> 01:20:31,485 >> AUDIENCA: [padëgjueshme] 1600 01:20:31,485 --> 01:20:32,360 DAVID Malan: Pikërisht. 1601 01:20:32,360 --> 01:20:36,900 Kjo pronë, kjo pronë CSS vlen edhe për vetëm një gjë, tag HTML 1602 01:20:36,900 --> 01:20:41,180 që ka një ID të japin kuotën, mbyll thonjëzat "hartë". 1603 01:20:41,180 --> 01:20:44,460 Dhe tani le të shpejtë përpara, scroll poshtë në fund të dosjes, e cila 1604 01:20:44,460 --> 01:20:49,860 nuk është shumë larg, dhe njoftim në linjë 19, në qoftë se ju ngjitur pikërisht si unë e bëri, 1605 01:20:49,860 --> 01:20:53,405 Linja 19 ka vetëm një div, e cila është një Ndarja e faqes, e cila dje I 1606 01:20:53,405 --> 01:20:54,820 quajtur një rajon drejtkëndëshe. 1607 01:20:54,820 --> 01:20:55,820 Ajo ka asgjë në të. 1608 01:20:55,820 --> 01:20:57,550 Kjo është një tag të hapur, tag të ngushtë. 1609 01:20:57,550 --> 01:20:59,490 Por ajo ka një ID unike. 1610 01:20:59,490 --> 01:21:02,090 >> Pra, çfarë duket të jetë ndodh këtu është Google 1611 01:21:02,090 --> 01:21:05,880 është duke përgatitur faqen tonë të internetit për të të ketë një lartësi të plotë 100%, 1612 01:21:05,880 --> 01:21:09,680 dhe nuk ka mbushje, nuk ka kufijtë, për shkak se ajo që ne jemi duke shkuar për të vënë brenda 1613 01:21:09,680 --> 01:21:13,647 i këtij div, ID unike e të cilit është hartë, është një hartë e vërtetë ngulitur. 1614 01:21:13,647 --> 01:21:15,480 Dhe ne duam që ajo të mbushë faqja dhe jo vetëm 1615 01:21:15,480 --> 01:21:17,560 të jetë një drejtkëndësh të vogël në mes. 1616 01:21:17,560 --> 01:21:24,220 Pra, Linja 14 në mënyrë të ngjashme thekson, hartë në vetvete duhet të ketë një lartësi prej 100%. 1617 01:21:24,220 --> 01:21:29,220 >> Deri tani vini re në mes të linjave 20 dhe 28, kjo është JavaScript kod. 1618 01:21:29,220 --> 01:21:33,020 Dhe kjo është, edhe pse është e syntactically pak e çuditshme, 1619 01:21:33,020 --> 01:21:34,730 nuk është e gjitha që më ndodh këtu. 1620 01:21:34,730 --> 01:21:39,310 Në përputhje 21, kjo është deklaruar diçka që quhet një ndryshore. 1621 01:21:39,310 --> 01:21:42,030 Në vend të duke e quajtur atë shumat, si ne e bëmë më parë, 1622 01:21:42,030 --> 01:21:44,500 ne jemi më saktësisht thënë var, e cila vetëm do të thotë ndryshore. 1623 01:21:44,500 --> 01:21:46,520 Ne mund të ketë përdorur që në Kodi Nick, por ai nuk e bëri, kështu që unë 1624 01:21:46,520 --> 01:21:48,190 nuk u mërzit për ta bërë këtë ose. 1625 01:21:48,190 --> 01:21:50,240 Kjo është një ndryshore të quajtur hartë, dhe pastaj nuk ka 1626 01:21:50,240 --> 01:21:53,360 një funksion që është me sa duket quhet initMap. 1627 01:21:53,360 --> 01:21:55,780 >> Pra, kjo është si të vet zakonit tonë copë puzzle në Scratch. 1628 01:21:55,780 --> 01:21:58,830 Ne kemi krijuar një copë funksionalitetin e quajtur initMap, 1629 01:21:58,830 --> 01:22:00,980 dhe ju mund të lloj të konkludoj Cfare po ndodh ketu. 1630 01:22:00,980 --> 01:22:02,930 Në anën e majtë, ne kemi marrë një ndryshore, 1631 01:22:02,930 --> 01:22:06,000 kështu që ne jemi duke shkuar për të vënë në vijim gjë brenda kësaj variable, 1632 01:22:06,000 --> 01:22:07,362 nga e djathta në të majtë. 1633 01:22:07,362 --> 01:22:11,940 Ana e djathtë thotë: hey shfletues, më jep një hartë të re të Google. 1634 01:22:11,940 --> 01:22:16,490 Dhe google.maps.map është vetëm një mënyrë shokuar e specifikuar se këtë funksionalitet 1635 01:22:16,490 --> 01:22:19,790 i takon Google Maps. 1636 01:22:19,790 --> 01:22:23,010 >> Pas kllapa, ne kemi parë këtë më parë, hej shfletues, të marrë 1637 01:22:23,010 --> 01:22:29,210 me elementet në faqe, tag në faqen ID unike e të cilit is-- 1638 01:22:29,210 --> 01:22:30,710 >> AUDIENCA: [padëgjueshme] 1639 01:22:30,710 --> 01:22:31,790 >> DAVID Malan: --map. 1640 01:22:31,790 --> 01:22:35,770 Dhe çfarë po ndodh, edhe, kjo linjë bashkë, linjë 23, 1641 01:22:35,770 --> 01:22:38,630 është në thelb duke thënë: hey shfletues, shkoni merrni mua 1642 01:22:38,630 --> 01:22:42,800 që div bosh në faqen ID unike e të cilit është harta, 1643 01:22:42,800 --> 01:22:45,600 sepse unë dua të futur në arsyetimet tuaja injektuar në të, 1644 01:22:45,600 --> 01:22:49,520 në qoftë se ju will-- një bandë e tërë e përmbajtjes që ndodh të të vijë nga web, 1645 01:22:49,520 --> 01:22:50,427 më pas. 1646 01:22:50,427 --> 01:22:52,010 Dhe Google e bën të gjithë këtë për ne. 1647 01:22:52,010 --> 01:22:55,350 >> Pra edhe një herë, në fund të ditës, ne kemi këtë shembull të abstraksionit. 1648 01:22:55,350 --> 01:22:58,610 Unë nuk kam asnjë ide se çfarë një hartë është apo si për të zbatuar një API hartë. 1649 01:22:58,610 --> 01:22:59,460 Ne nuk kemi nevojë për të. 1650 01:22:59,460 --> 01:23:02,740 Ne vetëm duhet të tregoni hartën ku për të vënë veten, dhe të lënë 1651 01:23:02,740 --> 01:23:04,880 ato në themel zbatimin Detajet për Google. 1652 01:23:04,880 --> 01:23:08,190 Tani nuk ka me sa duket dy copa të të dhënave 1653 01:23:08,190 --> 01:23:11,940 se ky shembull është sigurimin e të API Google. 1654 01:23:11,940 --> 01:23:16,450 Me sa duket në qendër të hartë, dhe niveli zoom, kështu që të flasin. 1655 01:23:16,450 --> 01:23:21,390 >> Dhe ka njeri të njohë këto koordinatat, gjerësi dhe gjatësi? 1656 01:23:21,390 --> 01:23:24,364 Ndoshta jo, por ne mund të shkoni përsëri të tutorial, fjalë për fjalë të parë. 1657 01:23:24,364 --> 01:23:25,780 Por ne do të shohim atë në një moment të vetëm. 1658 01:23:25,780 --> 01:23:29,880 Niveli Zoom është një vlerë në mes, unë nuk e di, një në 13 ose diçka të tillë. 1659 01:23:29,880 --> 01:23:32,880 Ajo vetëm ka të bëjë me se sa ju jeni zoomed në ose jashtë, dhe kjo është ajo. 1660 01:23:32,880 --> 01:23:35,690 Dhe tani në fund të faqja, linja njoftim 29-- 1661 01:23:35,690 --> 01:23:39,960 kjo është pak e shëmtuar, sepse ajo wraps-- këtë linjë të kodit 1662 01:23:39,960 --> 01:23:44,570 është ajo shkarkime të shfletuesi API aktuale Google. 1663 01:23:44,570 --> 01:23:47,500 Të gjitha të kodit që Google inxhinierët kanë shkruar se zbatojnë 1664 01:23:47,500 --> 01:23:50,000 ky tipar tërë e hartave Embeddable. 1665 01:23:50,000 --> 01:23:51,470 >> Tani le të mos ndryshojë asgjë. 1666 01:23:51,470 --> 01:23:54,761 Nëse ju jeni në vijim së bashku, të shkojnë përpara dhe të vetëm të ruajtur këtë dosje, në qoftë se ju të vërtetë kanë 1667 01:23:54,761 --> 01:23:55,760 ajo që unë kam. 1668 01:23:55,760 --> 01:23:57,370 Shko te URL e saj. 1669 01:23:57,370 --> 01:23:59,820 Ju mund të klikoni butonin Run up krye dhe se do të tregojë 1670 01:23:59,820 --> 01:24:03,050 ju URL e web serverin tuaj përsëri. 1671 01:24:03,050 --> 01:24:06,010 Dhe kjo do t'ju çojë në një skedë të re. 1672 01:24:06,010 --> 01:24:11,910 Nëse ju klikoni Open për map.html, dhe shanset janë që ju jeni 1673 01:24:11,910 --> 01:24:15,520 do të merrni një alarm, një mesazh gabimi, po? 1674 01:24:15,520 --> 01:24:18,570 mesazh gabimi, mesazh gabimi? 1675 01:24:18,570 --> 01:24:21,170 >> Pra për fat të keq, gabim Mesazhi nuk është se i shkolluar 1676 01:24:21,170 --> 01:24:23,890 nëse ju në të vërtetë të hapur console, që tab të veçantë ne 1677 01:24:23,890 --> 01:24:27,110 mbajtur hapur dje dhe pak më parë sot. 1678 01:24:27,110 --> 01:24:29,445 Por unë stumbled nëpër këtë më parë, kështu që unë tashmë e 1679 01:24:29,445 --> 01:24:30,820 artistikisht se çfarë zgjidhje është. 1680 01:24:30,820 --> 01:24:34,440 Në slides sotme, ose në vend, në Cloud9, njoftimi 1681 01:24:34,440 --> 01:24:36,430 që nuk e ka bërë diçka qëllimisht. 1682 01:24:36,430 --> 01:24:40,690 Vini re se ky tag script në Linja 29, në qoftë se ju lexoni nëpërmjet saj, 1683 01:24:40,690 --> 01:24:44,440 kjo është si maps.googleapis.com/~~pobj diçka, diçka, diçka, 1684 01:24:44,440 --> 01:24:46,430 pastaj të vini re dikë, një nga zhvilluesit, 1685 01:24:46,430 --> 01:24:50,040 shkroi në të gjitha kryeqytetin letra, çelësi API. 1686 01:24:50,040 --> 01:24:51,700 >> Ne kemi nevojë për të ngjitur diçka në atje. 1687 01:24:51,700 --> 01:24:53,450 Dhe ky ishte hapi i Kam bërë për ne para, 1688 01:24:53,450 --> 01:24:57,190 dhe përsëri ata mund listën e zezë ne nëse papritmas, 12 ose më shumë prej nesh 1689 01:24:57,190 --> 01:24:59,470 filloni duke përdorur të njëjtin kyç, por le të shohim se çfarë ndodh. 1690 01:24:59,470 --> 01:25:03,030 Pra, nëse ju shkoni në e sotme slides, një rrëshqitje më vonë, nuk ka 1691 01:25:03,030 --> 01:25:07,070 kjo shumë e shokuar, duke kërkuar string të tekstit. 1692 01:25:07,070 --> 01:25:12,230 Të shkojnë përpara dhe vetëm kopje atë dhe ngjitur ku ai thotë se çelësi tuaj API. 1693 01:25:12,230 --> 01:25:15,120 Kjo është një unë nënshkruar për. 1694 01:25:15,120 --> 01:25:17,700 >> Dhe definitivisht nuk do të përpiqet shtypni atë me dorë, 1695 01:25:17,700 --> 01:25:21,210 sepse ai ndjehet i mbushur me gabime shkrimi, potencialisht. 1696 01:25:21,210 --> 01:25:23,260 Pra, thjesht kopjoni dhe ngjisni këtë. 1697 01:25:23,260 --> 01:25:26,090 Dhe kjo do të bëjë të vijë më të gjatë, por tani, vetëm të jetë i qartë, 1698 01:25:26,090 --> 01:25:29,540 ai duhet të duket pak më shumë si kjo, ku çelësi nuk është e barabartë me 1699 01:25:29,540 --> 01:25:32,200 kapitalizuar yelling në ju. 1700 01:25:32,200 --> 01:25:34,810 Ruaje faqen tuaj, të shkojnë prapa në skedën tjetër, ringarkoni, 1701 01:25:34,810 --> 01:25:36,770 dhe shpresojmë të shohim një hartë e ku? 1702 01:25:36,770 --> 01:25:37,790 >> AUDIENCA: Australia. 1703 01:25:37,790 --> 01:25:38,748 >> DAVID Malan: Australia. 1704 01:25:38,748 --> 01:25:41,200 Pra, me sa duket ato janë GPS koordinon të Australisë. 1705 01:25:41,200 --> 01:25:44,491 Dhe më lejoni të ecin rreth për vetëm një moment dhe për të ndihmuar të gjithë ata që nuk është mjaft atje, 1706 01:25:44,491 --> 01:25:47,729 por më lejoni të propozojë, nëpërmjet Google, gjeni GPS koordinon nga vetë qytetin tuaj 1707 01:25:47,729 --> 01:25:48,770 ose vetë vendi juaj në shtëpi. 1708 01:25:48,770 --> 01:25:51,436 Dhe ndoshta Google mund të kthehet këtë up, apo Wikipedia mund t'ju them. 1709 01:25:51,436 --> 01:25:54,410 Por zgjedhin dy vlera të ndryshme për gjerësi dhe gjatësi, 1710 01:25:54,410 --> 01:25:57,530 të kthehet në dhe ngjiti ato, dhe pastaj rifreskoni faqen pas kursimit 1711 01:25:57,530 --> 01:26:00,718 dhe shihni nëse ju mund të keni një hartë për vetë qytetin tuaj. 1712 01:26:00,718 --> 01:26:04,500 1713 01:26:04,500 --> 01:26:08,042 >> Dhe kur ju jeni bërë me se, ndjekja challenge-- 1714 01:26:08,042 --> 01:26:11,250 dhe unë do të jap pak më pak drejtim, me qëllim, në mënyrë që ju qëllimisht 1715 01:26:11,250 --> 01:26:13,791 duhet të luftojnë për një çift minuta me dokumentacionin, 1716 01:26:13,791 --> 01:26:18,740 ndryshojë hartën që të mos jetë kjo parazgjedhur cartoonish, por një hartë satelitore. 1717 01:26:18,740 --> 01:26:24,600 Kështu që ju në të vërtetë të shihni satelitore imazhet në vend të ngjyrave të bukur. 1718 01:26:24,600 --> 01:26:29,710 >> Dhe hint unë do të ju jap është të ndryshojë llojin e hartës së. 1719 01:26:29,710 --> 01:26:33,084 Kthehu mbrapa në se duke marrë filloi faqe për frymëzim. 1720 01:26:33,084 --> 01:26:40,599 1721 01:26:40,599 --> 01:26:42,390 Siç mund ta keni mbledhur, nëse jeni duke kërkuar, 1722 01:26:42,390 --> 01:26:44,250 ka kaq shumë më tepër gjëra që ju mund të bëni. 1723 01:26:44,250 --> 01:26:46,380 Disa prej jush kanë tashmë ndryshuar llojin hartë. 1724 01:26:46,380 --> 01:26:49,890 Por ju mund të do-- për shembull, le të më shkoni në diçka kemi bërë për kursin 1725 01:26:49,890 --> 01:26:52,050 I teach-- maps.cs50.net. 1726 01:26:52,050 --> 01:26:53,470 Një nga paradiplomantë tona e bëri këtë. 1727 01:26:53,470 --> 01:26:58,890 Ne qendër hartën tonë mbi Harvard Yard dhe mbulesë të gjitha këto emra të ndërtimit, 1728 01:26:58,890 --> 01:27:01,070 dhe ne kishim ta shtuar këtë. 1729 01:27:01,070 --> 01:27:04,270 Pra, nëse unë dua për të kërkuar për, për shembull, Matthews Hall, 1730 01:27:04,270 --> 01:27:05,730 ne kemi një pak drop-down menu. 1731 01:27:05,730 --> 01:27:09,080 Dhe unë mendoj se ai është duke përdorur bootstrap, e Biblioteka kemi diskutuar më parë për këtë. 1732 01:27:09,080 --> 01:27:12,190 Dhe në qoftë se ju klikoni mbi Matthews Hall, menjëherë 1733 01:27:12,190 --> 01:27:14,790 hedhje hartën në një farë vend, dhe kjo tregon 1734 01:27:14,790 --> 01:27:16,440 ju një foto në këtë të vogël pop-up. 1735 01:27:16,440 --> 01:27:18,670 >> Por edhe kjo pak pop-up, ne nuk e ka zbatuar. 1736 01:27:18,670 --> 01:27:27,521 Nëse unë lëvizni poshtë në marrjen tonë filluar faqe dhe të kërkoni për dritare info, 1737 01:27:27,521 --> 01:27:29,770 ju do të shihni se disa nga funksionalitetin ju veten 1738 01:27:29,770 --> 01:27:31,561 mund të shtoni, megjithëse me një kompleksitet pak më shumë, 1739 01:27:31,561 --> 01:27:33,970 është diçka që quhet një dritare info. 1740 01:27:33,970 --> 01:27:37,190 Dhe në qoftë se unë klikoni një shembull këtu, dhe kjo është ajo që është e bukur, 1741 01:27:37,190 --> 01:27:40,530 ju mund të bëni gjëra të tilla si kjo, klikuar mbi një shënues dhe pastaj voila, 1742 01:27:40,530 --> 01:27:42,400 Informacione pops up. 1743 01:27:42,400 --> 01:27:45,874 >> Pra, ne nuk kemi prezantuar mjaft Karakteristika mjaft e JavaScript 1744 01:27:45,874 --> 01:27:49,040 për të pikturuar një pamje të saktësisht se si ju mund të tela të gjitha të këtij stuff së bashku, 1745 01:27:49,040 --> 01:27:50,706 por ne kemi lloj gërvishtem sipërfaqen. 1746 01:27:50,706 --> 01:27:53,140 Në fakt, ajo që unë vetëm e bëri, kur Unë klikuar mbi këtë shënues, 1747 01:27:53,140 --> 01:27:55,819 ishte shkaktuar një ngjarje, një ashtuquajtura të click ngjarje. 1748 01:27:55,819 --> 01:27:57,610 Dhe ne fakt pa një Ngjarja më parë sot, 1749 01:27:57,610 --> 01:28:00,670 e ashtuquajtura të paraqesë ngjarje, kur ishim parandalimin 1750 01:28:00,670 --> 01:28:02,490 përdoruesi nga kërkim për macet. 1751 01:28:02,490 --> 01:28:06,560 Pra, ne kemi zgjedhur lloj dhe vendosim nga të gjitha këto karakteristika të ndryshme, 1752 01:28:06,560 --> 01:28:08,990 për të ju jap një kuptim, me shpresë, të asaj që ju mund të vërtetë 1753 01:28:08,990 --> 01:28:11,000 bëjë me një pak më shumë rehati në programimin, 1754 01:28:11,000 --> 01:28:12,587 dhe burimet krejtësisht falas. 1755 01:28:12,587 --> 01:28:15,856 1756 01:28:15,856 --> 01:28:18,770 >> Ndonje pyetje? 1757 01:28:18,770 --> 01:28:19,790 Nuk ka? 1758 01:28:19,790 --> 01:28:22,542 Ky është shansi juaj i fundit, Të paktën sot, të premten, 1759 01:28:22,542 --> 01:28:25,000 për të marrë ndonjë gjë off gjoksin tuaj në mënyrë që ju të ecni nga këtu 1760 01:28:25,000 --> 01:28:27,067 ndjenja të sigurt dhe të rehatshme. 1761 01:28:27,067 --> 01:28:27,566 Po. 1762 01:28:27,566 --> 01:28:29,740 >> AUDIENCA: Pse të mos bëjmë ju shtoni një gjë më shumë? 1763 01:28:29,740 --> 01:28:32,720 >> DAVID Malan: Oh mirësinë time. 1764 01:28:32,720 --> 01:28:35,260 Unë kam nevojë për të pushuar këtë fundjavë, unë mendoj. 1765 01:28:35,260 --> 01:28:36,180 Pyetje të tjera? 1766 01:28:36,180 --> 01:28:37,055 >> AUDIENCA: [padëgjueshme] 1767 01:28:37,055 --> 01:28:44,130 1768 01:28:44,130 --> 01:28:46,810 >> DAVID Malan: Ju can-- në Internet Explorer, pjesa tjetër në paqe, 1769 01:28:46,810 --> 01:28:49,310 keni përdorur për të të jetë në gjendje për të vënë VB script, script virtual themelore, 1770 01:28:49,310 --> 01:28:50,643 por që me të vërtetë nuk e kapur në. 1771 01:28:50,643 --> 01:28:52,490 Pra, përgjigja e shkurtër është vetëm JavaScript. 1772 01:28:52,490 --> 01:28:55,144 1773 01:28:55,144 --> 01:28:55,810 Pyetje të tjera? 1774 01:28:55,810 --> 01:28:58,427 1775 01:28:58,427 --> 01:28:59,760 Të gjithë të drejtë, të mirë, më lejoni të bëjë këtë. 1776 01:28:59,760 --> 01:29:02,070 Më lejoni të rrëmbyer kolegët tanë jashtë. 1777 01:29:02,070 --> 01:29:04,500 Ata kanë disa vlerësim format që ata duan të gjithë 1778 01:29:04,500 --> 01:29:06,310 të kaloni disa minuta plotësuar. 1779 01:29:06,310 --> 01:29:08,775 Ata duan për të mbledhur atë formë dhe çdo heqja dorë që ju mund të kenë jashtë. 1780 01:29:08,775 --> 01:29:10,240 Ata gjithashtu do të keni certifikata. 1781 01:29:10,240 --> 01:29:12,380 Unë jam guessing se ka ende disa snacks jashtë. 1782 01:29:12,380 --> 01:29:14,360 Më lejoni të kalojnë këto jashtë, dhe në qoftë se ju keni ndonjë pyetje në të njëjtën kohë, 1783 01:29:14,360 --> 01:29:17,120 Unë do të ecin rreth më shumë në mënyrë individuale dhe ne mund të merrni ju keni filluar. 1784 01:29:17,120 --> 01:29:17,879 Po sigurisht. 1785 01:29:17,879 --> 01:29:18,754 AUDIENCA: [padëgjueshme] 1786 01:29:18,754 --> 01:29:26,737 1787 01:29:26,737 --> 01:29:28,570 DAVID Malan: Kjo është zakonisht vërtetë këto ditë. 1788 01:29:28,570 --> 01:29:30,730 Sigurisht me web software, ju janë të prirur 1789 01:29:30,730 --> 01:29:32,901 mbi të tjerët ju jeni ose aesthetically duke përdorur gjëra të 1790 01:29:32,901 --> 01:29:35,400 si bootstrap, kështu që ju nuk e bëni duhet të zbatojnë nivelin e ulët 1791 01:29:35,400 --> 01:29:37,169 detajet e menutë dhe butonat dhe të gjithë që. 1792 01:29:37,169 --> 01:29:39,210 Ju jeni përkulur mbi dikë si Google në mënyrë që ju 1793 01:29:39,210 --> 01:29:42,050 nuk kanë për të ndërtuar një Uber biznesit dhe një biznes hartë, 1794 01:29:42,050 --> 01:29:44,850 dhe çdo numër të ngjashëm Aplikacionet si. 1795 01:29:44,850 --> 01:29:46,350 >> Në fakt, hyrje janë të njohura, too. 1796 01:29:46,350 --> 01:29:48,500 Nëse e keni përdorur Spotify ose çdo numër të faqet e internetit, 1797 01:29:48,500 --> 01:29:51,210 ju do të hyni brënda për të disa faqet e internetit duke përdorur Facebook. 1798 01:29:51,210 --> 01:29:53,350 Pra, çfarë është e bukur, nuk ka janë TV për hyrje 1799 01:29:53,350 --> 01:29:56,570 në ditët e sotme, në mënyrë që ju nuk keni të ketë tryezën tuaj përdorues 1800 01:29:56,570 --> 01:29:59,440 dhe të gjitha të dhënave tuaj domosdoshmërisht në të njëjtën masë. 1801 01:29:59,440 --> 01:30:01,795 Ju mund të le të bëjë të gjitha Facebook e atij kompleksitetit për ju. 1802 01:30:01,795 --> 01:30:03,920 Pra, kjo është një kohë emocionuese, sinqerisht, në programimin, 1803 01:30:03,920 --> 01:30:07,200 sepse ka kaq shumë palë e tretë shërbimet që ju mund të ndërtuar në majë të. 1804 01:30:07,200 --> 01:30:10,890 >> Dhe përsëri, çmimi ju paguani është ose financiar ose joproduktive. 1805 01:30:10,890 --> 01:30:13,750 Nëse Google shkon poshtë, kështu që nuk Uber, ndoshta, 1806 01:30:13,750 --> 01:30:15,690 por ndoshta kjo është një arsyeshme trade-off. 1807 01:30:15,690 --> 01:30:18,040 Dhe përsëri, kjo ishte një nga temat, me shpresë, për dy ditët e fundit, 1808 01:30:18,040 --> 01:30:18,780 Janë këto tregtisë të humbura. 1809 01:30:18,780 --> 01:30:20,738 Dhe rrallë ka shkuar të jetë një përgjigje e drejtë. 1810 01:30:20,738 --> 01:30:25,700 Kjo me të vërtetë është më e mirë dy ose më shumë përgjigje. 1811 01:30:25,700 --> 01:30:26,682 >> Kalojnë këto rreth. 1812 01:30:26,682 --> 01:30:36,830 1813 01:30:36,830 --> 01:30:41,110 >> Dhe këto llogari Cloud9 do të vazhdojnë për të punuar, në teori, në përjetësi. 1814 01:30:41,110 --> 01:30:45,000 Ju mund të gjeni nëse ju prisni disa ditë ose një javë ose më shumë të hyni përsëri në to, 1815 01:30:45,000 --> 01:30:49,170 ajo mund të marrë si një ose më pesë minuta për të hapur back up, 1816 01:30:49,170 --> 01:30:54,090 por kjo është vetëm për shkak se ata vënë ajo për të fjetur për të ruajtur në burime. 1817 01:30:54,090 --> 01:31:10,527