1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> DAVID Malan: Bone, ni estas dorso. 3 00:00:01,560 --> 00:00:03,830 Tiel por la ekscita konkludo, nia lasta sekcio 4 00:00:03,830 --> 00:00:06,900 en retejo programado, kiun mi pensis ke ni uzus kiel ĝenerala termino 5 00:00:06,900 --> 00:00:08,440 kapti kelkajn ceteraj temoj. 6 00:00:08,440 --> 00:00:10,390 Do fine de la tago, ni vere faras 7 00:00:10,390 --> 00:00:14,830 iomete da manoj-sur ttt programado kun lingvo nomata Ĝavoskripto. 8 00:00:14,830 --> 00:00:17,510 Kaj mi kredas ke ni devos tuj iri en iu rilatigita kun bildoj 9 00:00:17,510 --> 00:00:20,040 kaj malkovri ion sekrete kaŝita en bildo, 10 00:00:20,040 --> 00:00:23,230 kaj ankaŭ rigardu la Google Mapoj API, apliko programado 11 00:00:23,230 --> 00:00:26,040 interfaco, kiel io reprezentanto de la tipo de programaro 12 00:00:26,040 --> 00:00:28,800 tio ĉiam pli kaj libere havebla hodiaŭ. 13 00:00:28,800 --> 00:00:32,029 >> Sed kial ni ne rigardu ĉe ingredienco al tiu mondo 14 00:00:32,029 --> 00:00:34,070 ke ni ia estis prenante por donita ekzistas 15 00:00:34,070 --> 00:00:36,720 por iu tempo, datumbazo. 16 00:00:36,720 --> 00:00:39,150 Por la pasinta tago kaj duono ni supozis 17 00:00:39,150 --> 00:00:42,910 ke ni havas aliron al datumbazo, sed kio problemo does datumbazo solvi? 18 00:00:42,910 --> 00:00:45,540 Kion tio do por ni? 19 00:00:45,540 --> 00:00:47,030 Kio estas tio? 20 00:00:47,030 --> 00:00:48,679 >> Spektantaro: [inaudible] 21 00:00:48,679 --> 00:00:51,720 DAVID Malan: Tenas ĉiuj informoj, OK, kaj la specojn de informoj 22 00:00:51,720 --> 00:00:53,186 povus vin tien? 23 00:00:53,186 --> 00:00:54,590 >> Spektantaro: [inaudible] 24 00:00:54,590 --> 00:00:56,450 >> DAVID Malan: Ajna informo vi metis en ĝin, vi reiros. 25 00:00:56,450 --> 00:00:57,070 Tio estas vera. 26 00:00:57,070 --> 00:01:01,900 Kaj sur tipa reta paĝaro aŭ retejo apliko, kion specoj de informo, 27 00:01:01,900 --> 00:01:03,385 specife, povus vi metis en? 28 00:01:03,385 --> 00:01:04,260 Spektantaro: [inaudible] 29 00:01:04,260 --> 00:01:05,051 DAVID Malan: Uzantoj. 30 00:01:05,051 --> 00:01:07,000 Do kio estas uzanto? 31 00:01:07,000 --> 00:01:09,765 >> Spektantaro: [inaudible] 32 00:01:09,765 --> 00:01:11,640 DAVID Malan: Bone, registrita uzanto de la retejo. 33 00:01:11,640 --> 00:01:15,100 Kaj kion tio signifas por vendejo uzulajn informojn? 34 00:01:15,100 --> 00:01:17,260 Kio formas uzanto? 35 00:01:17,260 --> 00:01:18,331 Uzanto havas kion? 36 00:01:18,331 --> 00:01:19,206 Spektantaro: [inaudible] 37 00:01:19,206 --> 00:01:21,040 DAVID Malan: Jes, persona datumoj, kaj mi ŝatas tion. 38 00:01:21,040 --> 00:01:21,970 Ni estu pli preciza. 39 00:01:21,970 --> 00:01:25,275 Tiel uzanto tipe havas nomon, kion alian povus uzanto havas? 40 00:01:25,275 --> 00:01:26,150 Spektantaro: [inaudible] 41 00:01:26,150 --> 00:01:29,130 DAVID Malan: An addr-- OK, tiel antaŭnomo, familinomo. 42 00:01:29,130 --> 00:01:29,630 Tio estas bona. 43 00:01:29,630 --> 00:01:31,463 Fakte, ni riparos ke, ĉar ĝi estas tuj 44 00:01:31,463 --> 00:01:35,010 malfermiĝi ŝancon por diskuto, ankoraŭ, plia. 45 00:01:35,010 --> 00:01:39,090 Antaŭnomo, familinomo, genra. 46 00:01:39,090 --> 00:01:41,820 47 00:01:41,820 --> 00:01:43,481 ID de iu varo. 48 00:01:43,481 --> 00:01:43,980 Kion alian? 49 00:01:43,980 --> 00:01:45,438 Mi aŭdis ion ajn antaŭe, ankaŭ. 50 00:01:45,438 --> 00:01:51,600 Retpoŝton, poŝtadreso. 51 00:01:51,600 --> 00:01:58,170 >> Do ni paŭzo tie kaj nun pripensu ne kio ni stokante en la datumbazo, 52 00:01:58,170 --> 00:02:01,980 sed- kaj ne kial, ĉar ĝi estas eble evidente ke iam vi registras uzanto, 53 00:02:01,980 --> 00:02:03,730 Vi volas memori ilin por iom da tempo. 54 00:02:03,730 --> 00:02:05,480 Vi ne deziras ĝin nur esti stokitaj en RAM 55 00:02:05,480 --> 00:02:08,690 kaj esti forgotten-- tiel ni enfokusigi la kiel. 56 00:02:08,690 --> 00:02:11,700 >> Ĝi rezultas ke en la mondo de datumbazoj, 57 00:02:11,700 --> 00:02:14,410 ekzistas almenaŭ du tipoj tiuj tagoj. 58 00:02:14,410 --> 00:02:20,010 Iu nomita SQL datumbazo, Strukturita Query Language, 59 00:02:20,010 --> 00:02:24,770 aŭ, cutely nomata, NoSQL, kio ne SQL. 60 00:02:24,770 --> 00:02:26,980 Kaj la lasta estas ekzemplo de kio povus 61 00:02:26,980 --> 00:02:30,660 esti nomata objektema, aŭ objekto vendejo, datumbazo 62 00:02:30,660 --> 00:02:36,010 kiu stokas objektoj, kaj ne, senkulpigo Mi, kiel ni baldaŭ vidos, vicoj. 63 00:02:36,010 --> 00:02:41,800 >> Do ni enfokusigi por nur momento sur la unua el tiuj, nome, SQL 64 00:02:41,800 --> 00:02:46,850 datumbazo, se nur ĉar estas tiel familiara jam, al iu 65 00:02:46,850 --> 00:02:51,070 kiuj uzis Excel aŭ Google Sheets aŭ Apple 66 00:02:51,070 --> 00:02:53,740 Nombroj aŭ ajna normo kalkultabelo programo, 67 00:02:53,740 --> 00:02:56,040 aŭ, ekvivalente, aŭ pli sophisticatedly, 68 00:02:56,040 --> 00:02:58,610 io kiel Microsoft Aliro aŭ Oracle 69 00:02:58,610 --> 00:03:03,890 aŭ MySQL aŭ PostgreSQL, ĉiuj el kiuj estas produkto nomoj por implementaciones 70 00:03:03,890 --> 00:03:04,865 de la jena ideo. 71 00:03:04,865 --> 00:03:10,350 >> A rilata datumbazo estas simple iu kiu havas vicoj kaj kolumnoj. 72 00:03:10,350 --> 00:03:12,850 Kaj de vicoj kaj kolumnoj, Mi laŭvorte signifas ion 73 00:03:12,850 --> 00:03:21,860 kiel tiu, tiel ke ni povus havi la nomo de kampo kaj lia tipo super tie. 74 00:03:21,860 --> 00:03:25,800 Kaj fakte, lasu min nun komencas mapi tiujn. 75 00:03:25,800 --> 00:03:29,420 Do efektive, mi ne scias kial mi tiris aparta abako. 76 00:03:29,420 --> 00:03:30,780 Ni teni ĉi simpla. 77 00:03:30,780 --> 00:03:34,830 >> Ni havas ĉi tie la komencoj de nia tablo, kie 78 00:03:34,830 --> 00:03:40,150 tiu estas la nomo de la kampo kaj tio estas la datumtipo, 79 00:03:40,150 --> 00:03:41,660 kaj de tipo I signifas la jena. 80 00:03:41,660 --> 00:03:45,510 Cxu estas nombro, estas ĉeno, mallonga ĉeno kiel vorto, 81 00:03:45,510 --> 00:03:49,340 estas alineo, estas binarajn datumojn, kiel bildo? 82 00:03:49,340 --> 00:03:51,980 Kaj ni nur turmentus tiu krom por nur momento. 83 00:03:51,980 --> 00:03:57,575 Tiel antaŭnomo, numeron, ŝnuro, granda bloko de text-- 84 00:03:57,575 --> 00:03:58,450 Spektantaro: [inaudible] 85 00:03:58,450 --> 00:03:59,616 DAVID Malan: Jes, tiel kordoj. 86 00:03:59,616 --> 00:04:04,744 Kaj en datumbazo kunteksto, ni tipe nomas char kampo. 87 00:04:04,744 --> 00:04:07,660 Mi nur diros char nuntempe sed ni estas tuj rafini tiu en momento. 88 00:04:07,660 --> 00:04:09,180 Karaktero kampo. 89 00:04:09,180 --> 00:04:11,365 Familinomo estas verŝajne la sama. 90 00:04:11,365 --> 00:04:11,865 Genra? 91 00:04:11,865 --> 00:04:16,230 92 00:04:16,230 --> 00:04:18,310 >> Virinseksa, do povus esti char kampo. 93 00:04:18,310 --> 00:04:21,380 Ĝi povis esti aŭ citaĵo, unquote "Vira" aŭ citaĵo, unquote "ina" 94 00:04:21,380 --> 00:04:23,650 aŭ ĝi povus esti m aŭ f. 95 00:04:23,650 --> 00:04:26,540 Se vi volas esti pli inkluziva, vi eble bezonos trian valoron 96 00:04:26,540 --> 00:04:28,640 aŭ ia alia kampo entute. 97 00:04:28,640 --> 00:04:31,350 Kaj tial vi povis uzi vera falsa. 98 00:04:31,350 --> 00:04:35,036 La kampo povus nomi masklo, kaj tiam vi povus diri veraj aŭ falsaj. 99 00:04:35,036 --> 00:04:38,160 Sed tio ne nepre kapti ĉiuj la informo vi eble volas. 100 00:04:38,160 --> 00:04:41,118 >> Do rezultas ekzistas alia tipo de kampo kiu povas esti utila tie 101 00:04:41,118 --> 00:04:46,040 en tipa datumbazo, nomata enumeracian, kie estas karaktero kampo, 102 00:04:46,040 --> 00:04:50,480 sed vi, la diseñador, atingos numeri la eblajn valorojn, 103 00:04:50,480 --> 00:04:54,630 kiel citaĵo, unquote "vira", citaĵo, unquote "ino" kaj tiel plu. 104 00:04:54,630 --> 00:04:57,620 Tiel ke ajn valoro estas en via datumbazo, 105 00:04:57,620 --> 00:05:00,670 estas ja karaktero bazita, sed ĝi devas esti unu el tiuj valoroj. 106 00:05:00,670 --> 00:05:03,520 Ni probable ne volas nombrigtipo por antaŭnomo aŭ familinomo. 107 00:05:03,520 --> 00:05:05,630 Alie ni devus numeri, kiel la nomo 108 00:05:05,630 --> 00:05:09,570 derivas de, laŭvorte ĉiu ebla antaŭnomo kaj familinomo. 109 00:05:09,570 --> 00:05:13,960 >> Bone, do ID kion IRU estu? 110 00:05:13,960 --> 00:05:15,200 Jes, do eble kelkaj. 111 00:05:15,200 --> 00:05:17,870 Do ni persistos kun ke nuntempe, nombro. 112 00:05:17,870 --> 00:05:22,010 Kaj laux ilia nombro, nombro estas iom tro larĝa nun. 113 00:05:22,010 --> 00:05:23,900 Cxar la fino de la dua tago, Mi sentas kiel ni 114 00:05:23,900 --> 00:05:25,280 devus esti iom pli preciza. 115 00:05:25,280 --> 00:05:29,280 Nombro povus signifi kiel, ĝi povus esti io kiel 1,236. 116 00:05:29,280 --> 00:05:31,500 Kaj tio estas verŝajne ne kion ni celas diri per IRU. 117 00:05:31,500 --> 00:05:34,635 Kion ni probable signifas IRU? 118 00:05:34,635 --> 00:05:36,382 >> Spektantaro: [inaudible] 119 00:05:36,382 --> 00:05:38,590 DAVID Malan: Ha, bone, do eble estas eĉ kelkaj. 120 00:05:38,590 --> 00:05:42,840 Eble estas vere unika ensalutilo jen kordo, kiel salutnomon. 121 00:05:42,840 --> 00:05:44,580 Tiel absolute, povus esti. 122 00:05:44,580 --> 00:05:46,730 Mi pensas ke iu verŝajne signifis nombra, kvankam. 123 00:05:46,730 --> 00:05:48,460 Do ni restu kun tio. 124 00:05:48,460 --> 00:05:49,320 Kia nombro? 125 00:05:49,320 --> 00:05:51,960 Kio estas pli precise-- entjero. 126 00:05:51,960 --> 00:05:56,710 Do kelkaj kiel 0, 1, 2, 3, do ni nomas tiun entjero. 127 00:05:56,710 --> 00:05:58,909 Kaj eĉ tiam, mi povis esti _nitpicking_, estas 128 00:05:58,909 --> 00:06:00,700 Ne vere nur ĝenerala entjero vi volas. 129 00:06:00,700 --> 00:06:04,340 Verŝajne vi ne volas negativajn valorojn, nur ĉar ĝi nur sentas stranga. 130 00:06:04,340 --> 00:06:06,070 Vi probable volas pozitivaj entjeroj. 131 00:06:06,070 --> 00:06:07,920 Do vi povas ankaŭ esprimi ke en datumbazo, 132 00:06:07,920 --> 00:06:09,450 Sed nuntempe, ni diru entjero. 133 00:06:09,450 --> 00:06:10,650 >> Retpoŝto? 134 00:06:10,650 --> 00:06:13,550 Tio estas verŝajne just-- de kio? 135 00:06:13,550 --> 00:06:14,460 >> Spektantaro: [inaudible] 136 00:06:14,460 --> 00:06:16,980 >> DAVID Malan: Estas retmesaĝon, sed tio estas signoj, ĉu ne? 137 00:06:16,980 --> 00:06:19,813 Ĝi nur havas funky karaktero kiel an "ĉe" simbolon aŭ io alia, 138 00:06:19,813 --> 00:06:21,580 sed ĝi estas ankoraŭ karakteron kampo. 139 00:06:21,580 --> 00:06:23,900 Kaj poŝtadreso? 140 00:06:23,900 --> 00:06:25,360 Karaktero kampo. 141 00:06:25,360 --> 00:06:31,400 Do jen belan komencon, sed ni estu iom pli preciza nun. 142 00:06:31,400 --> 00:06:34,540 >> Do rezultas ke en datumbazo, vi ofte 143 00:06:34,540 --> 00:06:39,120 havas elekton super pli rafinitaj versioj de ĉi tiuj aferoj. 144 00:06:39,120 --> 00:06:44,330 Fakte, en tipa SQL datumbazo, SQL, aŭ pli ĝenerale, rilata datumbazo, 145 00:06:44,330 --> 00:06:46,680 datumbazojn kun vicoj kaj kolumnoj, vi ofte 146 00:06:46,680 --> 00:06:53,610 akiri specifi ne nur la tipon de la field-- lasu min fari iun ĉambron here-- 147 00:06:53,610 --> 00:06:56,600 sed ankaŭ la longon. 148 00:06:56,600 --> 00:06:59,900 >> Tiom kiom longaj estas unua nomo? 149 00:06:59,900 --> 00:07:07,060 Mi pensas, D-Al-V-mi-D. OK, havas ĝin mi probable nur ofendis kiel duone 150 00:07:07,060 --> 00:07:11,260 de la homoj en la ĉambro, dekstra, ĉar viaj nomoj estas pli longaj ol kvin 151 00:07:11,260 --> 00:07:16,608 literoj, do kvin ŝajnas iom egoisma kaj naiva, do kio estas pli bona valoro? 152 00:07:16,608 --> 00:07:19,320 153 00:07:19,320 --> 00:07:24,330 10, bone, kaj mi kredas ni Konfirmu en la ĉambro. 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 Kial mi ne prenos la alproksimiĝo de pli fruaj kiam ni 157 00:07:29,540 --> 00:07:31,081 parolis pri tabeloj kaj memoro? 158 00:07:31,081 --> 00:07:32,450 Kial ne mi nur diru kiel 1,000? 159 00:07:32,450 --> 00:07:35,260 Nenies nomo tuj esti pli longa ol 1.000. 160 00:07:35,260 --> 00:07:36,706 Puŝi reen. 161 00:07:36,706 --> 00:07:38,005 >> Spektantaro: [inaudible] 162 00:07:38,005 --> 00:07:40,130 DAVID Malan: Jes, ĝi estas malŝparema, dekstra, speciale 163 00:07:40,130 --> 00:07:44,630 se plej nomoj estas nur kvin aŭ 10 aŭ 15 karakteroj, tio estas tre malŝparemaj. 164 00:07:44,630 --> 00:07:45,810 Do vi scias kion? 165 00:07:45,810 --> 00:07:48,020 Tio estas speco de malmola demando. 166 00:07:48,020 --> 00:07:51,721 Nun, ni povas certe analizi angla kaj ajna alia lingvo nomoj 167 00:07:51,721 --> 00:07:54,470 kaj eltrovi, nu, kio estas la average-- mezumo ne vere 168 00:07:54,470 --> 00:07:57,150 helpi us-- kio estas la max estas probable kion ni vere volas. 169 00:07:57,150 --> 00:07:59,920 Sed rezultu ni eĉ havas iu elekto sur la tipo tie. 170 00:07:59,920 --> 00:08:03,400 >> En tipa SQL datumbazo, vi esti iu nomita char kampo 171 00:08:03,400 --> 00:08:07,505 kaj ankaŭ varchar, V-A-R, por variablo char kampo. 172 00:08:07,505 --> 00:08:08,630 Kaj la diferenco estas tio. 173 00:08:08,630 --> 00:08:12,400 A char kampo, vi la diseñador, devas specifi anticipe 174 00:08:12,400 --> 00:08:14,900 la ĝusta longo de la kampo. 175 00:08:14,900 --> 00:08:20,530 Do eble la antaŭnomo kiel 20 sentas specon de sekuraj. 176 00:08:20,530 --> 00:08:23,950 Eblas devi fari iun googling al ĉu tio estas vere sekura sufiĉas. 177 00:08:23,950 --> 00:08:26,910 Ekzistas probable nomon kun 21 karakterojn, sed nuntempe, supozu 20 178 00:08:26,910 --> 00:08:27,620 estas sekuraj. 179 00:08:27,620 --> 00:08:30,070 >> A char kampo implicus en datumbazo kiun vi 180 00:08:30,070 --> 00:08:33,289 estas uzanta 20 kaj ĉiam 20 karakteroj. 181 00:08:33,289 --> 00:08:37,419 Nun se estas nur D-Al-V-mi-D, 15 el tiuj estas nur tuj estos malplenan karakteroj, 182 00:08:37,419 --> 00:08:40,450 sed vi ankoraŭ uzanta ĉiuj 20 bajtoj. 183 00:08:40,450 --> 00:08:46,302 A varchar kampo, kontraste, signifas la ŝnuro devus esti ĝis 20 karakteroj 184 00:08:46,302 --> 00:08:48,260 sed se ĝi estas nur kvin, vi nur tuj uzos 185 00:08:48,260 --> 00:08:51,270 kvin, aŭ eble ses por speciala valoro fine, 186 00:08:51,270 --> 00:08:54,980 tiel 0 ni diskutis ke signifas la finon de karaktero 187 00:08:54,980 --> 00:08:56,790 sekvenco en memoro. 188 00:08:56,790 --> 00:08:59,950 >> Do kiam vi pensas Vi povus elekti char 189 00:08:59,950 --> 00:09:05,240 kontre varchar, donita ke komerco-off? 190 00:09:05,240 --> 00:09:09,321 Char uzas ke multaj karakteroj, varchar uzas pli multe, ol multaj karakteroj. 191 00:09:09,321 --> 00:09:10,196 Spektantaro: [inaudible] 192 00:09:10,196 --> 00:09:13,859 193 00:09:13,859 --> 00:09:16,900 DAVID Malan: Bone, kiam vi scias la longo de la kordo bela konvinka 194 00:09:16,900 --> 00:09:19,316 simple uzu char, ĉar se Vi scias ĝin, nur metis ĝin malsupren. 195 00:09:19,316 --> 00:09:23,390 Kaj eble tio estas vera por zip kodo, en Usono, almenaŭ, 02138, 196 00:09:23,390 --> 00:09:26,660 ĝi estas ĉiam tuj estos kvin karakterojn ĝis vi aldonas la haltostreko kvar. 197 00:09:26,660 --> 00:09:29,750 Sed vi povus havi iun valoroj kiun vi ĉiam scias la longo. 198 00:09:29,750 --> 00:09:32,310 Aŭ eble ŝtata simboloj, kiel NY por Nov-Jorko, 199 00:09:32,310 --> 00:09:33,811 kaj MA Massachusetts en Usono. 200 00:09:33,811 --> 00:09:36,560 Eble vi havas kelkajn situaciojn kie tio tute racia, 201 00:09:36,560 --> 00:09:39,520 sed per tiu logiko, kial Ni eĉ overthinking ĉi? 202 00:09:39,520 --> 00:09:41,800 Kial ni ne simple uzu varchar kaj tiam ni certigos 203 00:09:41,800 --> 00:09:46,730 Ĉiam uzi du gravulojn ĉiuokaze, aŭ Ĉiam uzi kvin karakteroj ĉiuokaze? 204 00:09:46,730 --> 00:09:50,300 Kial ne simple savi varchar por ĉio, por tiu logiko? 205 00:09:50,300 --> 00:09:51,677 Devas esti akirado. 206 00:09:51,677 --> 00:09:52,552 Spektantaro: [inaudible] 207 00:09:52,552 --> 00:09:54,952 208 00:09:54,952 --> 00:09:56,660 DAVID Malan: Povis skribi ion malbonan. 209 00:09:56,660 --> 00:09:58,090 Tiel ke estas vera. 210 00:09:58,090 --> 00:10:01,030 Sed eĉ tiam, ili ne povas uzi pli memoro ol mi rezervu. 211 00:10:01,030 --> 00:10:03,340 Mi ankoraŭ havas la finan diri sur la longeco, 212 00:10:03,340 --> 00:10:06,780 do ili ne hazarde fari tiun eraron, sed bona penso. 213 00:10:06,780 --> 00:10:10,510 Estas pli subtila, sed ĝi estas tre rilatigita al nia diskuto, fakte, de tabeloj 214 00:10:10,510 --> 00:10:12,390 kaj ligitaj listoj antaŭe. 215 00:10:12,390 --> 00:10:16,290 >> Ĝi rezultas ke la datumbazo, se ĝi scias ke ĉiuj de la valoroj 216 00:10:16,290 --> 00:10:19,250 de fiksa longo, eĉ se kelkaj el tiuj valoroj estas malplena, 217 00:10:19,250 --> 00:10:22,484 ia estetike malplenan, D-Al-V-mi-D kaj poste 15 spacoj, 218 00:10:22,484 --> 00:10:24,650 ĝi rezultas ke se ĉiu kampo estas la sama longo, 219 00:10:24,650 --> 00:10:28,670 multe kiel tabelo havis ĉiujn siajn aĵojn malantaŭo al malantaŭo al malantaŭo al malantaŭo por ke 220 00:10:28,670 --> 00:10:33,480 vi povus simple plus 1 por atingi la najbaran valoro, sama ideo en datumbazo tablo. 221 00:10:33,480 --> 00:10:37,550 Se ĉiuj viaj karaktero kordoj estas la sama longo, 222 00:10:37,550 --> 00:10:39,390 vi havas kio nomiĝas hazardaj aliro. 223 00:10:39,390 --> 00:10:41,850 Se ĉiuj kordoj estas de longo 20, vi ne nur 224 00:10:41,850 --> 00:10:45,230 fari plus 1 vi nur faru pli 20, plus 20 plus 20 plus 20, 225 00:10:45,230 --> 00:10:48,775 kaj vi povas tre rapide rulumi tra aŭ traserĉi ĉiujn viajn datumojn. 226 00:10:48,775 --> 00:10:54,420 >> Variablo char kampo, kontraste, ne ĉiam havas 20 karakterojn. 227 00:10:54,420 --> 00:10:58,000 Ĝi havu 20 kaj tiam 15 kaj tiam 19 kaj poste 10, 228 00:10:58,000 --> 00:11:00,720 do se vi volas serĉi tra ĝi, vi ne povas simple blinde 229 00:11:00,720 --> 00:11:03,050 aldoni 20 bajtoj por atingi la sekvanta unu. 230 00:11:03,050 --> 00:11:07,280 Vi laŭvorte devas traserĉi ĉar la rando de la datumstrukturo, 231 00:11:07,280 --> 00:11:08,340 se vi volas, estas ĉifona. 232 00:11:08,340 --> 00:11:11,480 Ĉio iras en kaj eksteren bazita sur la fakta longo de la kordo. 233 00:11:11,480 --> 00:11:14,460 Do kiam vi scias la longo, kiel Kareem diras, uzu char kampo, 234 00:11:14,460 --> 00:11:16,460 ĉar vi gajnos tiu efikeco de esti 235 00:11:16,460 --> 00:11:19,170 povis serĉi tra ĝi pli rapida Kiam vi serĉas datumojn, 236 00:11:19,170 --> 00:11:20,550 alie uzi variablon. 237 00:11:20,550 --> 00:11:24,450 >> Bedaŭrinde, mi ne havas bonan respondon por kiom longe la nomo devus esti, 238 00:11:24,450 --> 00:11:26,360 sed por iu kiel nomon, mi dirus 239 00:11:26,360 --> 00:11:28,470 oni varchar profanan ĉar ĝi ne iras 240 00:11:28,470 --> 00:11:30,430 esti fiksa longo por ĉiu. 241 00:11:30,430 --> 00:11:33,650 20 Mi ne scias, 20 sentas iom firme. 242 00:11:33,650 --> 00:11:36,460 Ni nur diras 50, 50. 243 00:11:36,460 --> 00:11:39,210 Fakte ne kostos vin ke multe pli por diri 50 anstataŭ 40, 244 00:11:39,210 --> 00:11:41,260 sed en iu punkto, vi bezonas fari juĝon alvoko. 245 00:11:41,260 --> 00:11:43,090 >> Tre komunaj, sincere, por [? historia?] 246 00:11:43,090 --> 00:11:47,670 kialoj, kvankam ĝi estas troa, estas 255, ĉar antaŭ iom da tempo, 247 00:11:47,670 --> 00:11:51,440 en populara datumbazo sistemoj, kiel MySQL, libera ilo de kodo malfermita 248 00:11:51,440 --> 00:11:53,790 ke multaj kompanioj kiel eĉ Facebook uzata, 249 00:11:53,790 --> 00:11:56,654 tio estis la maksimuma defaŭlta do homoj ĵus iris kun ĝi. 250 00:11:56,654 --> 00:11:59,070 Do ne senkaŭza, sed ni uzi iom pli intuicio 251 00:11:59,070 --> 00:12:02,970 kaj diri, certa 50, tio estas probable iom troa. 252 00:12:02,970 --> 00:12:05,720 >> Sekso, mi faras kiel enumeracian, kaj tiel ni povas do 253 00:12:05,720 --> 00:12:08,760 numeri virinseksa, aŭ eble pli efike, 254 00:12:08,760 --> 00:12:13,420 m aŭ f aŭ alian simbología, sed enumeracian sentas bona elekto tie. 255 00:12:13,420 --> 00:12:16,740 Esti klara, sekso povus nur esti varchar, 256 00:12:16,740 --> 00:12:19,090 kaj ni povis nur ĉiuj konsentite kiel bela homo, 257 00:12:19,090 --> 00:12:21,010 por ĉiam meti la samajn valorojn tie. 258 00:12:21,010 --> 00:12:22,720 Virinseksa aŭ whatnot. 259 00:12:22,720 --> 00:12:27,800 >> Sed la problemo do estas, ke ni povis erari, kiel [inaudible] proponis 260 00:12:27,800 --> 00:12:29,140 frue en malsama kunteksto. 261 00:12:29,140 --> 00:12:32,780 Se ni eraris, ni povus akiri malĝusta valoroj en nia datumbazo. 262 00:12:32,780 --> 00:12:36,320 Do kio estas agrabla pri datumbazoj kiel Oracle kaj MySQL kaj aliaj, 263 00:12:36,320 --> 00:12:39,280 estas ke vi havas ĉi lasta tavolo de defendo kie 264 00:12:39,280 --> 00:12:43,010 via DBA, datumbaza administranto, kiu estas desegnanta ĉi tabelo kiel ni 265 00:12:43,010 --> 00:12:46,440 estas parole, povis meti en loko enumeracian ke 266 00:12:46,440 --> 00:12:51,250 protektas kontraŭ tiu de preciziganta masklo, ino, kaj tial neniu 267 00:12:51,250 --> 00:12:54,230 alie neniu programisto povas hazarde enmeti iun alian valoron. 268 00:12:54,230 --> 00:12:55,480 Do tiu estus bona afero. 269 00:12:55,480 --> 00:12:56,660 Jen karakterizaĵo. 270 00:12:56,660 --> 00:13:00,760 >> Tiel IRU, supozante nombran ID, ĝi probable devus esti pozitiva entjero. 271 00:13:00,760 --> 00:13:04,380 Kaj ni kelkfoje ja havas ŝanco diskuti longo. 272 00:13:04,380 --> 00:13:06,830 Vi ne volis tipe specifi numero ĉi tie, 273 00:13:06,830 --> 00:13:11,310 vi anstataŭe specifi tiu estas int, aŭ granda int, 274 00:13:11,310 --> 00:13:12,980 kiel ili estas tipe nomata. 275 00:13:12,980 --> 00:13:18,840 Sed tipe, entjero estus, diru, 4 bitokoj. 276 00:13:18,840 --> 00:13:23,694 Kaj se ĝi estas 4 bajtoj, jen kiom da bitoj? 277 00:13:23,694 --> 00:13:24,630 >> Spektantaro: [inaudible] 278 00:13:24,630 --> 00:13:26,610 >> DAVID Malan: 32 bitoj. 279 00:13:26,610 --> 00:13:30,270 Do kiom da uzantoj ni povas havi en nia datumbazo se ili ĉiuj havas ID 280 00:13:30,270 --> 00:13:33,320 kaj ĉi ID devas esti unika? 281 00:13:33,320 --> 00:13:36,780 32 bitoj signifas nin havas mastrojn de unu, du, tri, kvar, five-- 282 00:13:36,780 --> 00:13:41,000 tiom kiom malsamaj ŝablonoj de nuloj kaj tiuj povas havi se estas 32? 283 00:13:41,000 --> 00:13:43,235 Tio estas la sama afero kiel demandante kio estas du al la 32? 284 00:13:43,235 --> 00:13:46,472 285 00:13:46,472 --> 00:13:48,430 Estas granda nombro ke Mi ne tute iri longe, 286 00:13:48,430 --> 00:13:50,270 sed mi scias ke estas malglate 4 miliardoj. 287 00:13:50,270 --> 00:13:53,970 Do tio signifas via datumbaza tabelo povas havas kvar miliardoj uzantoj kaj tio estas ĝi. 288 00:13:53,970 --> 00:13:56,410 >> Do tiu estas interesa dezajno implico. 289 00:13:56,410 --> 00:14:00,840 Deca kvanto de entreprenoj decidis, eble ne tiom 290 00:14:00,840 --> 00:14:04,860 por liaj uzantoj tablo, ĉar havi 4 miliardoj uzantoj estas malofta problemo. 291 00:14:04,860 --> 00:14:08,410 Tio estas speco de Facebook-stilo problemo, ne tipa Kompanio problemo. 292 00:14:08,410 --> 00:14:12,670 Sed eble se vi havas transakcio tagaloj aŭ ia datumo kiu senĉese 293 00:14:12,670 --> 00:14:15,610 iĝas skribita en vian datumbazon ke absolute povus havi miliardojn 294 00:14:15,610 --> 00:14:18,900 kaj miliardoj da vicoj kaj vi uzas entjero por ĝi, 295 00:14:18,900 --> 00:14:22,750 kio okazos kiam vi ricevas remi numero 4 miliardoj 296 00:14:22,750 --> 00:14:26,210 kaj poste vi provas enmeti la 4 miliardono kaj 1, tiel diri? 297 00:14:26,210 --> 00:14:29,610 Mi simpligante la nombroj iom. 298 00:14:29,610 --> 00:14:33,740 >> Vi povas tranĉi reen, mi volas diri al vi devas pritrakti ĝin iel. 299 00:14:33,740 --> 00:14:37,910 Kaj kion komputilo tipe fari, pensas pri ĝi eĉ de tiu mateno, 300 00:14:37,910 --> 00:14:42,430 se vi havas 4 bitoj valoro kiel 1, 1, 1, 1, kiu, 301 00:14:42,430 --> 00:14:44,920 nur ligi la mateno kune al la posttagmezo, kio 302 00:14:44,920 --> 00:14:48,369 tio ĉi nombro reprezenti en duuma? 303 00:14:48,369 --> 00:14:49,410 OK, ni plifaciligi. 304 00:14:49,410 --> 00:14:53,310 Kion faras tiu nombro reprezenti en duuma? 305 00:14:53,310 --> 00:14:56,794 OK, ni plifaciligi, kio tio ĉi reprezentas en duuma? 306 00:14:56,794 --> 00:14:57,460 Spektantaro: Tri. 307 00:14:57,460 --> 00:14:59,670 DAVID Malan: Tri, ĉar ni havas tiujn column-- 308 00:14:59,670 --> 00:15:00,450 [Ridado] 309 00:15:00,450 --> 00:15:01,350 Whew! 310 00:15:01,350 --> 00:15:03,980 Ni havis tiujn kolumno kaj duope kolumno. 311 00:15:03,980 --> 00:15:07,250 Do supozu ke ja nia [? ena kampo?] ne 32 bitoj, 312 00:15:07,250 --> 00:15:13,440 sed estis du bitoj, ni povas rakonti de uzanto nombro 0, 1, 2, 3, 313 00:15:13,440 --> 00:15:18,040 kaj tiam ni estas speco de reen al uzanto 00 denove. 314 00:15:18,040 --> 00:15:19,739 Do jen kion tipe okazas. 315 00:15:19,739 --> 00:15:22,780 Se vi iam aŭdis la expression-- probable ne, sed se vi have-- 316 00:15:22,780 --> 00:15:26,500 entjero overflow, kie vi teni klakanta ĉiuj viaj bitoj 317 00:15:26,500 --> 00:15:29,640 esti la plej granda ebla valoroj, kaj tiam vi estas el bitoj, 318 00:15:29,640 --> 00:15:30,850 kio tipe okazi? 319 00:15:30,850 --> 00:15:32,280 Kial mi diras 00? 320 00:15:32,280 --> 00:15:33,220 Nu, tio estas tri. 321 00:15:33,220 --> 00:15:34,230 Kiel mi reprezentas 4? 322 00:15:34,230 --> 00:15:36,890 323 00:15:36,890 --> 00:15:38,915 Kiel mi reprezentas la por numero 4 en duuma? 324 00:15:38,915 --> 00:15:39,790 Spektantaro: [inaudible] 325 00:15:39,790 --> 00:15:41,780 DAVID Malan: One-- yeah, Ne diru 100 per, 326 00:15:41,780 --> 00:15:44,190 ĉar ĝi havas malĝustan konotacio, sed 1-0-0. 327 00:15:44,190 --> 00:15:48,920 Tiel ke nombro 1-0-0 ja korekta, sed se vi nur havas du bitoj, 328 00:15:48,920 --> 00:15:50,820 Kion vi vere faris? 329 00:15:50,820 --> 00:15:53,219 Vi jam ruliĝis al 00. 330 00:15:53,219 --> 00:15:54,760 Kaj ja, jen kion okazus. 331 00:15:54,760 --> 00:15:56,884 Reale, vi povas pensi pri tiu pli familiare. 332 00:15:56,884 --> 00:15:59,350 Se vi memoras, kion, 16 jaroj, la mondo 333 00:15:59,350 --> 00:16:03,380 laŭsupoze fini kiam la Y2K problemo okazis. 334 00:16:03,380 --> 00:16:04,330 Kial tio okazis? 335 00:16:04,330 --> 00:16:08,170 Bone plej komputilojn, por racia decidojn, 336 00:16:08,170 --> 00:16:15,320 estis stokante nombroj kiel la jaro 1975 aŭ la jaro 1999 337 00:16:15,320 --> 00:16:19,010 per nur uzanta du ciferoj en la komputilo la memoro. 338 00:16:19,010 --> 00:16:21,950 Do kompreneble, kio okazas Kiam vi atingos la jaro 2000, 339 00:16:21,950 --> 00:16:25,790 vi iros al tiu, aŭ pli ĝuste, jes. 340 00:16:25,790 --> 00:16:30,120 Do vi iru al la jaro 2000, sed se vi nur uzas du ciferoj aspektas 341 00:16:30,120 --> 00:16:32,660 kiel la jaro 00 kaj tial vi rulis. 342 00:16:32,660 --> 00:16:36,820 Kaj tio estas kial multajn sistemojn bezonis esti ĝisdatigita tiutempe. 343 00:16:36,820 --> 00:16:42,500 >> Do kun kiu diris, firmaoj kiel Facebook kuri supren kontraŭ tiu. 344 00:16:42,500 --> 00:16:46,147 Do la sola vojo por trakti la situacio, sincere, estas anticipi ĝin. 345 00:16:46,147 --> 00:16:47,980 Aŭ la plej pura maniero manipuli ĉi situacio 346 00:16:47,980 --> 00:16:50,330 estas anticipi ĝin tiel vi faras ne devi fari ŝanĝojn poste. 347 00:16:50,330 --> 00:16:51,970 Do anstataŭ 8 bajtoj, vi scias kion? 348 00:16:51,970 --> 00:16:54,261 Mi tuj esti antaŭen-pensado tie, eĉ se ĝi estas 349 00:16:54,261 --> 00:16:56,760 iom optimisma ke ni tuj havas 4 miliardoj 350 00:16:56,760 --> 00:16:58,850 kaj 1 uzantoj sur nia retejo. 351 00:16:58,850 --> 00:17:01,790 Sed ni nur uzas 8 bajtoj, aŭ 64 bitoj, kiu ĝenerale estas 352 00:17:01,790 --> 00:17:05,640 nomata granda entjero, tre teknika. 353 00:17:05,640 --> 00:17:10,280 Kaj tio nur signifas vin povas havi eĉ pli ciferoj en via nombro. 354 00:17:10,280 --> 00:17:12,599 Sed tio estas grava dezajno decidon, 355 00:17:12,599 --> 00:17:16,400 ĉar se vi elektas numeron kiu havas tro malmultajn pecojn de esprimpovo 356 00:17:16,400 --> 00:17:19,089 vi povis krei cimon en via programaro. 357 00:17:19,089 --> 00:17:21,750 >> Bone, do ni envolver supren kun retpoŝto kaj poŝtadreso. 358 00:17:21,750 --> 00:17:26,369 Tiel retpoŝto, kiom longe devus retadreson esti? 359 00:17:26,369 --> 00:17:26,869 50. 360 00:17:26,869 --> 00:17:29,220 Mi vere ne scias, sed estas probable io simila, 361 00:17:29,220 --> 00:17:32,261 ĉar alie neniu tuj skribi al vi, se ĝi iĝas tro longa, do 50, 362 00:17:32,261 --> 00:17:33,360 ni iru kun ĝi nuntempe. 363 00:17:33,360 --> 00:17:35,770 Poŝtadreso, kiom longe devus esti? 364 00:17:35,770 --> 00:17:38,325 365 00:17:38,325 --> 00:17:39,200 Spektantaro: [inaudible] 366 00:17:39,200 --> 00:17:41,900 367 00:17:41,900 --> 00:17:43,890 >> DAVID Malan: Ne nur poŝtkodo, tamen. 368 00:17:43,890 --> 00:17:45,720 Poŝtadreso, mi aŭdis. 369 00:17:45,720 --> 00:17:50,720 Do tiu estas kiel 1 Brattle Square, komo, Cambridge Mass., komo, 02138. 370 00:17:50,720 --> 00:17:53,860 Kaj fakte, lasu min nur tiri ĝis iom laborfolio tie. 371 00:17:53,860 --> 00:17:56,510 Tio sentas kiel ĝi estas ŝanco perdita. 372 00:17:56,510 --> 00:18:01,480 Se ni havas 1 Brattle Square, komo, Cambridge MA 02138, 373 00:18:01,480 --> 00:18:04,510 Mi sentas kiel ni povas fari pli bone ol nur poŝtadreso. 374 00:18:04,510 --> 00:18:07,100 Kial ni ne eksplodus tiun iomete? 375 00:18:07,100 --> 00:18:08,030 Kion mi celas? 376 00:18:08,030 --> 00:18:10,970 Kio devus nin anstataŭ havi cxar niaj vicoj tie, eble? 377 00:18:10,970 --> 00:18:12,260 >> Spektantaro: [inaudible] 378 00:18:12,260 --> 00:18:17,579 >> DAVID Malan: Yeah, do ni nomas ĝin street_number, 379 00:18:17,579 --> 00:18:20,620 kaj substreko estas nur ordinara maniero de havi kio aspektas kiel spaco, 380 00:18:20,620 --> 00:18:22,360 sed ne, fakte. 381 00:18:22,360 --> 00:18:26,240 Strato, kaj tiam city-- bedaŭras? 382 00:18:26,240 --> 00:18:28,440 >> Spektantaro: [inaudible] 383 00:18:28,440 --> 00:18:29,690 DAVID Malan: Ni povus fari tion. 384 00:18:29,690 --> 00:18:30,702 Linio unu, linio du. 385 00:18:30,702 --> 00:18:32,410 Kial ni ne tenos ĝin simpla por nun, 386 00:18:32,410 --> 00:18:34,840 sed tio estas absolute akceptebla decido. 387 00:18:34,840 --> 00:18:38,180 Kaj tiam stato, kaj tiam ni iom usonaj centrita nuntempe 388 00:18:38,180 --> 00:18:42,040 kaj nur faru poŝtkodo, ĝuste ĉar ĝi devos konduki al interesa eraro 389 00:18:42,040 --> 00:18:43,090 aŭ problemo tie. 390 00:18:43,090 --> 00:18:44,655 Do supozu ke estas nun nia adreso. 391 00:18:44,655 --> 00:18:47,280 Ĝi estas iom pli ĝena ke Ni havas ĉiujn tiujn pli kampoj, 392 00:18:47,280 --> 00:18:49,200 sed nun ni povas marki aferojn iom pli bona. 393 00:18:49,200 --> 00:18:53,210 >> Do nun strato nombro verŝajne ne devus esti char, devus i? 394 00:18:53,210 --> 00:18:54,835 Kio devus esti? 395 00:18:54,835 --> 00:18:55,710 Spektantaro: [inaudible] 396 00:18:55,710 --> 00:18:57,835 DAVID Malan: Eble, numero kiel entjero denove? 397 00:18:57,835 --> 00:19:00,170 Granda entjero? 398 00:19:00,170 --> 00:19:02,170 Vi probable ne vivas ĉe 4 miliardoj Ĉefa Strato 399 00:19:02,170 --> 00:19:03,490 aŭ ion frenezan tiel. 400 00:19:03,490 --> 00:19:06,850 Do entjero estas probable bone, sed havas iun 401 00:19:06,850 --> 00:19:13,880 iam vivis en parolado kiel 1A Brattle Square, aŭ 1 kaj 1/2? 402 00:19:13,880 --> 00:19:17,030 Tiuj aferoj ekzistas, bedaŭrinde, eĉ se vi ne vivis tie, 403 00:19:17,030 --> 00:19:21,240 ekzistas tiuj anomalioj kiel apartamento 1A, 1B, 1C. 404 00:19:21,240 --> 00:19:24,260 Do vi scias kion, ni probable ne iru kun entjero, 405 00:19:24,260 --> 00:19:27,440 alie ni iras perdi iun vendoj. 406 00:19:27,440 --> 00:19:29,920 >> Char kampo, eble? 407 00:19:29,920 --> 00:19:30,870 Mi ne scias kiom longe. 408 00:19:30,870 --> 00:19:33,370 Ĝi estas probable ne tuj estos tiu longa, do 10 aŭ io. 409 00:19:33,370 --> 00:19:34,950 Neniu tuj skribos longa nombro, eble. 410 00:19:34,950 --> 00:19:37,070 Sed denove, ni devus verŝajne doni pli penson al tio. 411 00:19:37,070 --> 00:19:39,900 Eble google, fari iun esploron, sed ni iros kun niaj intestoj nun. 412 00:19:39,900 --> 00:19:44,565 Stratoj, char, 50, mi ne scias. 413 00:19:44,565 --> 00:19:46,940 En iu punkto, neniu okazas skribi ĝin en koverton, 414 00:19:46,940 --> 00:19:49,350 tro, do estas verŝajne iuj superaj baroj tie. 415 00:19:49,350 --> 00:19:54,200 Urbo, sama, certe, tiel char 50. 416 00:19:54,200 --> 00:19:59,120 >> Stato, povas esti usona centrita nuntempe. 417 00:19:59,120 --> 00:20:01,850 Do ĝi povus esti lerta, do speco de juĝo alvoko, stato. 418 00:20:01,850 --> 00:20:04,000 Ĝi povus esti kiel du karakteroj. 419 00:20:04,000 --> 00:20:06,140 Do efektive, eble, mi ripetadis char. 420 00:20:06,140 --> 00:20:09,420 Mi verŝajne signifus varchar, nur por kelkaj efikeco, 421 00:20:09,420 --> 00:20:12,240 sed ni revenos al ke decido en momento. 422 00:20:12,240 --> 00:20:16,150 Povus esti char de longo 2 por stato. 423 00:20:16,150 --> 00:20:20,670 Se en Usono oni havas, kiel Ma, Masaĉuseco, NY, Nov-Jorko, NJ, Nova 424 00:20:20,670 --> 00:20:22,100 Ĵerzo, kaj tiel plu. 425 00:20:22,100 --> 00:20:23,630 Do ĝi povus esti fiksita en tiu. 426 00:20:23,630 --> 00:20:25,900 PK por Vaŝingtono PK. 427 00:20:25,900 --> 00:20:29,915 >> Sed mi pensas, Olivier, vi proponis alian alproksimiĝon. 428 00:20:29,915 --> 00:20:30,790 Spektantaro: [inaudible] 429 00:20:30,790 --> 00:20:33,670 DAVID Malan: Jes, do ĝi estas iom ĝena por tajpi en, 430 00:20:33,670 --> 00:20:37,890 sed enumeracian povus fari pli sentita, ĉar tiu maniero, almenaŭ en Usono, 431 00:20:37,890 --> 00:20:41,320 vi povus numeri, se tede, sed vi faras ĝin nur unufoje en via datumbazo 432 00:20:41,320 --> 00:20:47,480 kaj neniam plu devas pensi pri ĝi, ĉiu 50 du-karaktero kodoj. 433 00:20:47,480 --> 00:20:48,660 Do mi ŝatas enumeracian. 434 00:20:48,660 --> 00:20:51,720 Ni persistos kun ke, ĉar ĝi ia efikigas pli rigoreco. 435 00:20:51,720 --> 00:20:53,620 Kaj tiam Poŝtkodo? 436 00:20:53,620 --> 00:20:55,306 Mi pensas Andrew havis penson sur tiu 437 00:20:55,306 --> 00:20:56,180 Spektantaro: [inaudible] 438 00:20:56,180 --> 00:20:57,240 DAVID Malan: Jes, kvin aŭ naŭ. 439 00:20:57,240 --> 00:20:58,323 Ni nur teni ĝin simpla. 440 00:20:58,323 --> 00:20:59,380 Nur faru kvin nun. 441 00:20:59,380 --> 00:21:03,070 Sed eble mi povis nur fari entjero, dekstra? 442 00:21:03,070 --> 00:21:08,750 Mi povus, sed vi scias kion mi faris tiu eraro unufoje, iusence. 443 00:21:08,750 --> 00:21:13,110 Jaroj, mi estis migrante de Microsoft Outlook al Gmail, 444 00:21:13,110 --> 00:21:18,640 kaj Outlook havas manieron de eksportantaj ĉiujn viajn kontaktojn kiel Excel-dosiero, 445 00:21:18,640 --> 00:21:21,280 CSV-dosiero, komo apartigis valorojn dosiero. 446 00:21:21,280 --> 00:21:23,950 Kaj mi faris la eraron, mi pensas, pri duobla musklako ŝin, 447 00:21:23,950 --> 00:21:27,380 iam mi elŝutis la eksportado, al certigi ĝi rigardis kiel mi atendis. 448 00:21:27,380 --> 00:21:31,320 Mi certe trafis Konservi aŭ lasu auto-save piedbato aŭ io. 449 00:21:31,320 --> 00:21:35,100 Ĉar kiam mi tiam importita ĝin Gmail, ĉion laboris. 450 00:21:35,100 --> 00:21:39,910 Sed dum jaroj, ĝis la nuna tago, kaj Mi faris ĉi kvin, 10 jaroj, 451 00:21:39,910 --> 00:21:44,380 Mi ankoraŭ trovi amikojn kiuj havas adresoj kiuj aspektas kiel ĉi tio. 452 00:21:44,380 --> 00:21:45,700 Kial? 453 00:21:45,700 --> 00:21:47,900 >> Spektantaro: [inaudible] 454 00:21:47,900 --> 00:21:50,650 >> DAVID Malan: Necesis la 0, nu, pli ĝuste, ĝi 455 00:21:50,650 --> 00:21:53,810 prenis la tutan poŝtkodo kiel nombro, kaj tial ĝi estas 456 00:21:53,810 --> 00:21:56,590 gvida 0 kio signifas ĝi ne havas sencon. 457 00:21:56,590 --> 00:21:59,470 Kaj tiel 2138 ŝajnas esti mia poŝtkodo. 458 00:21:59,470 --> 00:22:07,100 Kaj tio estas, sincere, ĝenan Excel trajto per kiu mi pensas defaŭlte, 459 00:22:07,100 --> 00:22:10,980 eĉ se tio signifis simple esti teksto, Microsoft Excel 460 00:22:10,980 --> 00:22:13,780 decidas, lasu min esti helpema, kaj ho, mi vidas nur nombrojn. 461 00:22:13,780 --> 00:22:15,290 Ni traktas tiujn kiel nombroj. 462 00:22:15,290 --> 00:22:16,790 Kaj ĝi detranĉas la gvidaj nuloj. 463 00:22:16,790 --> 00:22:19,165 >> Mi ĵuras al Dio, ĉiu paro de monatoj mi trovas adreson, 464 00:22:19,165 --> 00:22:22,300 kaj el ia OCD, mi reiru en kaj aldonu la 0, kvankam mi neniam 465 00:22:22,300 --> 00:22:23,700 sendu homojn leteroj aŭ io. 466 00:22:23,700 --> 00:22:25,510 Sed mi ankoraŭ trovi restojn de tiu. 467 00:22:25,510 --> 00:22:28,820 Do tiu estas, estas tiu bona ideo? 468 00:22:28,820 --> 00:22:31,610 OK, ne, ĉar ĉiu en Masaĉuseco, en ĉi tiu areo, 469 00:22:31,610 --> 00:22:33,270 tuj havos o kondukante ilin. 470 00:22:33,270 --> 00:22:38,070 Do ni iru kun kiel char, probable, kvin. 471 00:22:38,070 --> 00:22:41,450 >> Kaj tie, rimarki ni povus uzi enumeracian kaj ni 472 00:22:41,450 --> 00:22:44,600 povus numeri 10,000 ebla poŝtkodoj, 473 00:22:44,600 --> 00:22:48,530 sed kiu sentas kiel ĝi estas verŝajne transirante linion de, kiel, profitoj. 474 00:22:48,530 --> 00:22:51,350 Se vi devas enigo ke multe datumojn en via datumbazo 475 00:22:51,350 --> 00:22:52,940 protekti kontraŭ io. 476 00:22:52,940 --> 00:22:57,400 Do char rimarkis vi povus tajpi en H-Kaj-L-L-O kiel via zipa kodo, 477 00:22:57,400 --> 00:22:59,180 kiu ne estas, evidente, nombra. 478 00:22:59,180 --> 00:23:01,680 Tiel ekzistas neniu maniero, en tipa datumbazo, 479 00:23:01,680 --> 00:23:05,561 specifi nur nombraj kaj nur kvin signojn longa, 480 00:23:05,561 --> 00:23:07,310 Do ni tuj devas fari tion en kodo. 481 00:23:07,310 --> 00:23:11,100 Ni tuj faros tion en PHP aŭ Java aŭ kion ajn lingvon ni 482 00:23:11,100 --> 00:23:14,230 uzante la servilo por plenumi tian limigon. 483 00:23:14,230 --> 00:23:14,860 >> Whoo! 484 00:23:14,860 --> 00:23:18,322 Bone, do demandojn ĝuste ankoraŭ? 485 00:23:18,322 --> 00:23:19,780 Ni faru alian dezajno decido. 486 00:23:19,780 --> 00:23:22,500 Ĝi rezultas ke vi ankaŭ akiras elekti, 487 00:23:22,500 --> 00:23:26,600 kiam desegnanta SQL datumbazo, aŭ tipa rilata database-- kie 488 00:23:26,600 --> 00:23:28,790 denove, rilata nur signifas vicoj kaj kolumnoj, 489 00:23:28,790 --> 00:23:35,500 tiel estas kiel vi organizas vian data-- kaj rimarki ke kio tio signifas estas, 490 00:23:35,500 --> 00:23:37,740 Mi estis iluzia en ke mi estas drawing-- ĉi 491 00:23:37,740 --> 00:23:40,190 Estas kion nomas la skemo por datumbazo tablo. 492 00:23:40,190 --> 00:23:42,810 Jen kiel la specifoj por la table-- 493 00:23:42,810 --> 00:23:48,040 sed kiam venas tempo por fakte stoki datumojn, 494 00:23:48,040 --> 00:23:52,081 kaj ni faros ĉi nur ekzemplo tie. 495 00:23:52,081 --> 00:23:55,080 Mi tuj malfermi Excel, ĉar Excel donos al mi vicoj kaj kolumnoj. 496 00:23:55,080 --> 00:23:58,050 Kaj tio estas ĝuste kion Oracle kaj MySQL kaj aliaj iloj donos al mi. 497 00:23:58,050 --> 00:24:02,270 Do mi simple tuj uzi por diskuto gajno. 498 00:24:02,270 --> 00:24:05,250 Lasu min antaŭeniri kaj malfermi reprezentanto dokumento ĉi tie, 499 00:24:05,250 --> 00:24:06,310 zomi iom. 500 00:24:06,310 --> 00:24:15,200 Do ekzemple, niaj kapoj nun antaŭnomo, familinomo, genra, ID, 501 00:24:15,200 --> 00:24:20,980 retpoŝto, strato numeron, strato, whoops. 502 00:24:20,980 --> 00:24:25,710 Strato, urbo, stato, nur pri punto sur la ekrano. 503 00:24:25,710 --> 00:24:29,080 >> Do kion tio signifas estas ke kiam uzanto unua registras por mia retejo, 504 00:24:29,080 --> 00:24:32,880 ĝi tuj estos iu kiel David Malan, E, diru 1, 505 00:24:32,880 --> 00:24:42,910 malan@harvard.edu, strato nombro volo simili 1 Brattle Square, Kembriĝo, Masaĉuseco, 506 00:24:42,910 --> 00:24:44,780 02138, kaj tiam tiel antaŭen. 507 00:24:44,780 --> 00:24:48,290 Do kiam mi diras ke rilata datumbazo aŭ SQL datumbazo vicoj kaj kolumnoj, 508 00:24:48,290 --> 00:24:49,350 Mi volas diri. 509 00:24:49,350 --> 00:24:51,900 Ke reala datumoj estas stokita en vicoj kaj kolumnoj. 510 00:24:51,900 --> 00:24:53,950 Tio estas nur koincido, ke ni parolis, 511 00:24:53,950 --> 00:24:56,033 kaj mi estis ĵus tirante ŝin en vicoj kaj kolumnoj. 512 00:24:56,033 --> 00:24:58,320 Tiu estas nur la skemo, la komunajn difino. 513 00:24:58,320 --> 00:25:01,640 >> Do de tiuj kampoj ĉi tie, aŭ ekvivalente, ekzistas, 514 00:25:01,640 --> 00:25:06,270 kiuj estas la kampoj kiuj vi pensas Mi verŝajne serĉu sur se mi estas uzanto 515 00:25:06,270 --> 00:25:09,200 aŭ se mi estas la administranto de datumbazoj? 516 00:25:09,200 --> 00:25:12,426 Kiel, kia kampoj mi efektive tuj serĉu per? 517 00:25:12,426 --> 00:25:13,830 >> Spektantaro: [inaudible] 518 00:25:13,830 --> 00:25:17,690 >> DAVID Malan: La nomo, jes tiel Mi ŝatas la fakton that-- yeah, 519 00:25:17,690 --> 00:25:19,750 email povus esti bela komuna. 520 00:25:19,750 --> 00:25:21,440 Pardonu, vi diris nomon. 521 00:25:21,440 --> 00:25:24,030 Tiel maybe-- kaj denove, ni estas speco de parolanta en la abstrakta. 522 00:25:24,030 --> 00:25:25,988 Mi ne scias kial vi volas sercxos nomon, 523 00:25:25,988 --> 00:25:29,340 sed kiu sentas racia se vi sercxas uzanto. 524 00:25:29,340 --> 00:25:31,170 Eble statas, certa, ID. 525 00:25:31,170 --> 00:25:34,100 526 00:25:34,100 --> 00:25:36,160 >> Kaj ĝi estas glitiga inklino, ĉar mi povis 527 00:25:36,160 --> 00:25:38,890 aranĝi scenaron kie eble mia estro petis min, 528 00:25:38,890 --> 00:25:40,417 kiom da viroj ni havas en nia retejo? 529 00:25:40,417 --> 00:25:42,000 Kiom da virinoj ni havos en nia retejo? 530 00:25:42,000 --> 00:25:45,210 Kaj tiel en tiu punkto, vi eble volas serĉi en la genro kampo ankaŭ 531 00:25:45,210 --> 00:25:45,940 kaj nenio alia. 532 00:25:45,940 --> 00:25:47,350 Do tie estas komerco-ekstere tie. 533 00:25:47,350 --> 00:25:49,180 Denove, ne estas ĝustan respondon, sed 534 00:25:49,180 --> 00:25:53,760 Estas trajto en plej SQL datumbazoj konata kiel indeksado, per 535 00:25:53,760 --> 00:25:56,100 vi, la diseñador, la datumbaza administranto, 536 00:25:56,100 --> 00:26:01,730 akiri decidi anticipe kion kampoj la datumbazo devas optimizar 537 00:26:01,730 --> 00:26:02,980 por serĉoj sur. 538 00:26:02,980 --> 00:26:07,620 >> Vi povus tre naive diris, optimumigi tiu, optimizar tiu, optimizar ĉi, 539 00:26:07,620 --> 00:26:10,300 optimizar tiu kaj tiu, kaj la datumbazo volo 540 00:26:10,300 --> 00:26:14,882 fari iun magia afero sub la kapuĉo, kaj fari ion tiel 541 00:26:14,882 --> 00:26:17,090 ke la sekvanta tempo vi serĉu sur iu ajn de ĉi tiuj kampoj, 542 00:26:17,090 --> 00:26:18,400 ĝi, fakte, pli rapida. 543 00:26:18,400 --> 00:26:19,110 Tio estas ebla. 544 00:26:19,110 --> 00:26:20,530 Ĝi ne nuligas sin eksteren. 545 00:26:20,530 --> 00:26:22,500 Sed devas esti prezo pagita. 546 00:26:22,500 --> 00:26:27,220 >> Se vi naive, aŭ super-entuziasme diru, indekso ĉiuj tiuj kampoj, 547 00:26:27,220 --> 00:26:29,810 tiel diri, ke cxiuj kompetente serĉeblaj, 548 00:26:29,810 --> 00:26:31,625 kio prezo vi probable pagi? 549 00:26:31,625 --> 00:26:32,500 Spektantaro: [inaudible] 550 00:26:32,500 --> 00:26:33,090 DAVID Malan: Performance. 551 00:26:33,090 --> 00:26:33,798 Kion vi celas? 552 00:26:33,798 --> 00:26:37,380 Bone efikeco, almenaŭ en la kunteksto mi diskutanta, estas pli bone nun. 553 00:26:37,380 --> 00:26:38,830 Jen la difino de indeksado. 554 00:26:38,830 --> 00:26:41,180 Ĝi faros serĉoj pli rapidaj. 555 00:26:41,180 --> 00:26:43,366 Tiel tempo malgrandiĝas, tiel paroli. 556 00:26:43,366 --> 00:26:44,240 Spektantaro: [inaudible] 557 00:26:44,240 --> 00:26:45,031 DAVID Malan: Spaco. 558 00:26:45,031 --> 00:26:46,520 Do denove, ĉi tiuj estas komuna komerco. 559 00:26:46,520 --> 00:26:50,820 Mi povas plirapidigi vian serĉoj, sed estas tuj kostos vin pli bajtoj de spaco. 560 00:26:50,820 --> 00:26:51,610 Kial? 561 00:26:51,610 --> 00:26:55,230 Nu, implicite, se ni ne havas tiuj ruĝaj steloj, neniu el tiuj indeksoj, 562 00:26:55,230 --> 00:26:58,797 kiel mi diras, kiel vi serĉu Mia nomo en tiu datumbazo? 563 00:26:58,797 --> 00:27:00,630 Do ni nomas nian atenton al tiu ekzemplo. 564 00:27:00,630 --> 00:27:06,300 Se ni havas Davido kaj Scully kaj Kareem kaj Arwa kaj aliaj en tiuj vicoj, 565 00:27:06,300 --> 00:27:06,910 ekzemple. 566 00:27:06,910 --> 00:27:08,390 >> Do ni faru ĝuste tion. 567 00:27:08,390 --> 00:27:13,990 Scully estas en tie, kaj tiam ni havos Kareem kaj Arwa, 568 00:27:13,990 --> 00:27:18,390 kaj ĉiuj, se ne havi indekson difinita, por tiel diri, 569 00:27:18,390 --> 00:27:20,160 la plej bona vi povas fari estas lineara serĉo. 570 00:27:20,160 --> 00:27:23,470 Se vi serĉos Arwa, ni ne tuj povos salti dekstra ŝi 571 00:27:23,470 --> 00:27:24,140 rapide. 572 00:27:24,140 --> 00:27:26,556 Ni tuj komencu supro kaj iri la tutan vojon al la fundo, 573 00:27:26,556 --> 00:27:28,600 Ne malkiel niaj originalaj Mike Smith ekzemplo. 574 00:27:28,600 --> 00:27:33,470 >> Se, tamen, mi diras, hey, datumbazo, indekso la antaŭnomo kampo, 575 00:27:33,470 --> 00:27:37,000 tiam ĝi tuj fari ion amatoro kaj subtenas ion 576 00:27:37,000 --> 00:27:38,130 kiel duuma serĉo. 577 00:27:38,130 --> 00:27:39,820 Ĝi estas probable ne duuma serĉo por se. 578 00:27:39,820 --> 00:27:42,810 Datumbazoj emas uzi alian datumstrukturo nomata b arbojn 579 00:27:42,810 --> 00:27:46,540 Ne devu konfuzi kun binaraj arboj, ke nur fari ĝin pli rapide serĉi 580 00:27:46,540 --> 00:27:48,500 io logaritma naturo. 581 00:27:48,500 --> 00:27:53,510 Sed la prezo vi pagas por konstrui ke trajto, ke datumstrukturo en memoro, 582 00:27:53,510 --> 00:27:54,570 estas pli bajtoj. 583 00:27:54,570 --> 00:27:57,170 Do ĝi povus preni iom da megabajtoj, kelkaj gigabajtoj, kiu scias? 584 00:27:57,170 --> 00:27:58,410 Ĝi dependas de la datumoj. 585 00:27:58,410 --> 00:28:02,640 >> Do je iu punkto, vi devos decidi, ĝi estas probable ne komuna kazo. 586 00:28:02,640 --> 00:28:06,000 Do kio estas la reala komuna kazoj, se vi vere devis elekti, 587 00:28:06,000 --> 00:28:10,080 kio povus viaj preferataj kampoj estu? 588 00:28:10,080 --> 00:28:10,580 Retpoŝto. 589 00:28:10,580 --> 00:28:14,400 Kaj mi ŝatas retpoŝto ĉar retpoŝto, en teorio, devus esti unika. 590 00:28:14,400 --> 00:28:17,650 Kaj tiel tipe, kiam vi scias anticipe, ke unu el viaj kampoj 591 00:28:17,650 --> 00:28:20,277 estas aŭ estos solaj, kiuj inklinas esti bona kampo 592 00:28:20,277 --> 00:28:22,860 serĉi plu, ĉar tiu maniero, kiam vi serĉi ion, 593 00:28:22,860 --> 00:28:26,194 vi tuj reiri aŭ nulo respondojn kaj tiam vi faris. 594 00:28:26,194 --> 00:28:28,110 Vi ne devas teni serĉas ankoraŭ aliaj. 595 00:28:28,110 --> 00:28:31,992 >> Kaj tial en tiu kazo tie, retpoŝto, tiel longe kiel vi ne povas enskribi dufoje 596 00:28:31,992 --> 00:28:33,450 kun la sama email, estas bona. 597 00:28:33,450 --> 00:28:36,710 ID laŭdifine en la komputiko mondo, 598 00:28:36,710 --> 00:28:39,610 Se vi parolas pri ID, ke prefere estu unika. 599 00:28:39,610 --> 00:28:42,970 Tio estas speco de la konotacio de ID aŭ identigilon. 600 00:28:42,970 --> 00:28:46,440 Kaj la resto de tiuj povus esti, ni nomas ilin agrable haves, 601 00:28:46,440 --> 00:28:47,860 sed ne vere bezonata. 602 00:28:47,860 --> 00:28:49,976 >> Kaj tiel en datumbazo, vi specifas indeksoj, 603 00:28:49,976 --> 00:28:51,350 sed vi povas esti eĉ pli preciza. 604 00:28:51,350 --> 00:28:56,060 Vi povas diri, hej, datumbazo, certigu ke ĉiu ID en tiu tablo estas unika. 605 00:28:56,060 --> 00:28:59,330 Ne lasu programisto hazarde metis en duplikaton retpoŝto 606 00:28:59,330 --> 00:29:00,740 aŭ duobligi ID nombro. 607 00:29:00,740 --> 00:29:03,140 Tiel kiel enums protekti nin simile, vi 608 00:29:03,140 --> 00:29:04,881 povas havi tiujn malalta nivelo defendoj. 609 00:29:04,881 --> 00:29:07,130 Kaj tiel datumbazo dezajno, en Iusence, estas speco de amuzo, 610 00:29:07,130 --> 00:29:08,380 ĉar vi faras ĝin defensive. 611 00:29:08,380 --> 00:29:11,460 Vi ia supozas ke vi laboras kun terura, terura programistoj 612 00:29:11,460 --> 00:29:15,550 kaj vi volas meti en kiel multaj defendoj kiel vi povas protekti vian datumon, 613 00:29:15,550 --> 00:29:18,940 sed samtempe vi volas helpi ilin plenumi bona 614 00:29:18,940 --> 00:29:21,386 elektante kiu kampoj optimumigi por. 615 00:29:21,386 --> 00:29:24,260 Sed vi povas ne nepre faru ĝin vakuo kiel ni ia trovas tie. 616 00:29:24,260 --> 00:29:26,480 Vi devas scii kion estas tiuj komunaj kazoj esti. 617 00:29:26,480 --> 00:29:29,397 Se la programistoj estas efektivigado adreslibro, 618 00:29:29,397 --> 00:29:32,230 vi eble tre bone volas povi serĉi en preskaŭ ĉiu kampo, 619 00:29:32,230 --> 00:29:33,830 nur naturo de la apliko. 620 00:29:33,830 --> 00:29:37,910 Do eble vi elspezas ke kroma spaco. 621 00:29:37,910 --> 00:29:39,090 >> Bone, demandojn? 622 00:29:39,090 --> 00:29:41,820 623 00:29:41,820 --> 00:29:42,486 Yeah. 624 00:29:42,486 --> 00:29:43,470 >> Spektantaro: [inaudible] 625 00:29:43,470 --> 00:29:44,404 >> DAVID Malan: Ne 626 00:29:44,404 --> 00:29:45,279 >> Spektantaro: [inaudible] 627 00:29:45,279 --> 00:29:47,840 628 00:29:47,840 --> 00:29:48,826 >> DAVID Malan: Bone. 629 00:29:48,826 --> 00:29:49,701 >> Spektantaro: [inaudible] 630 00:29:49,701 --> 00:29:52,420 631 00:29:52,420 --> 00:29:54,850 >> DAVID Malan: Ha, do ni parolas en maniero 632 00:29:54,850 --> 00:29:57,940 nun ke estas tute lingvo agnostikulo. 633 00:29:57,940 --> 00:30:02,370 Tiel ni parolas nun pri rilata datumbazoj pli ĝenerale, 634 00:30:02,370 --> 00:30:04,760 aŭ SQL datumbazoj pli ĝenerale. 635 00:30:04,760 --> 00:30:06,870 >> Spektantaro: [inaudible] 636 00:30:06,870 --> 00:30:10,030 >> DAVID Malan: Pli bona vorto por uzi estas, povas esti uzata de iu ajn lingvo. 637 00:30:10,030 --> 00:30:15,280 Do mi povas skribi kodo JavaScript, C kodo, C ++ kodo, Java kodo, Rubeno kodo, 638 00:30:15,280 --> 00:30:19,010 ĉiuj el kiuj parolos al datumbazo kaj ekzekuti demandoj. 639 00:30:19,010 --> 00:30:22,310 Fakte, tio ne estas malbona segue al ekzemplo demando. 640 00:30:22,310 --> 00:30:25,720 Kaj denove, ni ne tuj eniri en Java aŭ C ++ aŭ ajna de tiu anymore, 641 00:30:25,720 --> 00:30:29,420 sed en SQL, la lingvo al kiu mi tenas raportante, Strukturita Query Language, 642 00:30:29,420 --> 00:30:32,790 tio mem estas programlingvo, sed ĝi estas signifita esti uzita por neniu 643 00:30:32,790 --> 00:30:37,330 surprizo, strukturita serĉvorto demandoj. 644 00:30:37,330 --> 00:30:38,660 >> Por tiu mi volas diri. 645 00:30:38,660 --> 00:30:41,190 La vojo vi elektas datumoj de MySQL datenbazo 646 00:30:41,190 --> 00:30:49,330 Estas vi laŭvorte entajpi vian programon io kiel unuaranga stelo de uzantoj. 647 00:30:49,330 --> 00:30:52,200 Mi supozas ke ĉi tablo nun nomiĝas uzantoj. 648 00:30:52,200 --> 00:30:54,860 Mi povus nomi ion ni volas, sed tian havas sencon. 649 00:30:54,860 --> 00:30:57,240 Kaj tiel unuaranga estas tre komuna verbo, se vi 650 00:30:57,240 --> 00:30:59,290 volo, en SQL, kiu laŭvorte faras tion. 651 00:30:59,290 --> 00:31:02,730 Kion vi pensas stelo signifas en tiu kunteksto? 652 00:31:02,730 --> 00:31:04,410 >> Spektantaro: [inaudible] 653 00:31:04,410 --> 00:31:05,380 >> DAVID Malan: Mi bedaŭras? 654 00:31:05,380 --> 00:31:06,300 >> Spektantaro: [inaudible] 655 00:31:06,300 --> 00:31:09,580 >> DAVID Malan: Ne postulita, ĝi estas pli inkluziva ol tio, fakte. 656 00:31:09,580 --> 00:31:11,700 Ĝi estas la Ĵokero. 657 00:31:11,700 --> 00:31:14,740 Stelo preskaŭ ĉiam signifas ion, do tio signifas, en tiu kazo, 658 00:31:14,740 --> 00:31:16,510 Elekti ĉion de la datumbazo. 659 00:31:16,510 --> 00:31:20,730 Do kiam mi diras tion, mi volas diri redonu al mi ĉiun kolumnon 660 00:31:20,730 --> 00:31:22,440 mia tablo nomas uzantojn. 661 00:31:22,440 --> 00:31:24,730 Tial donu al mi rezulto aro, kiel ĝi nomiĝas. 662 00:31:24,730 --> 00:31:28,210 Alivorte, al mi kopion de la kalkultabelo, estas kion mi celis. 663 00:31:28,210 --> 00:31:34,890 >> Sed se mi diras unuaranga stelo de uzantoj kie ID egalas 1, kiom granda estas la deziro 664 00:31:34,890 --> 00:31:36,640 mia rezulto aro estu do? 665 00:31:36,640 --> 00:31:41,680 Aŭ ekvivalente, kiom da vicoj devus Mi transdonos reen de la datumbazo? 666 00:31:41,680 --> 00:31:45,860 Probable nur unu, se mi havas ja traktita ID kiel identificador sola, 667 00:31:45,860 --> 00:31:50,710 kaj se Davido havas tiun unikan ID, mi devus reiri kaj nur unu vico 668 00:31:50,710 --> 00:31:53,220 enhavas ĉiun David informo. 669 00:31:53,220 --> 00:31:56,390 Se mi diris tiu kie ID egalas 99, mi devus reiri, 670 00:31:56,390 --> 00:32:00,320 en tiu kunteksto, nul vicoj, almenaŭ nuntempe. 671 00:32:00,320 --> 00:32:03,620 >> Tamen, se mi ne vere zorgas pri cxio, kion informon, 672 00:32:03,620 --> 00:32:06,970 Mi povis nur diri, kie David vivi? 673 00:32:06,970 --> 00:32:10,860 Unuaranga poŝtkodo de uzantoj kie ID estas 1. 674 00:32:10,860 --> 00:32:15,820 Ĉi elektos min nur David zip kodo kaj ne la tuto de tiu vico. 675 00:32:15,820 --> 00:32:19,541 Kial povus mi tion faras anstataŭ la stelo konsulto, la sovaĝa karto? 676 00:32:19,541 --> 00:32:21,950 >> Spektantaro: [inaudible] 677 00:32:21,950 --> 00:32:24,590 >> DAVID Malan: Jes, mi nur bezonas ĝin. 678 00:32:24,590 --> 00:32:26,350 Do agado estas denove la respondo tie. 679 00:32:26,350 --> 00:32:28,540 Kial peti pli informo ol vi bezonas, 680 00:32:28,540 --> 00:32:32,020 ĉar eĉ se ĝi estas bone kune, Vi ankoraŭ devas kopii tiun datumon, 681 00:32:32,020 --> 00:32:35,560 ĝi ŝajnus, el la datumbazo en via programo iel, 682 00:32:35,560 --> 00:32:38,490 kaj tio estas nur stulta se vi nur bezonas kvin de tiuj ciferoj, 683 00:32:38,490 --> 00:32:40,340 Ne la tuteco de la vico. 684 00:32:40,340 --> 00:32:42,180 >> Do kiel mi enmeti uzanton? 685 00:32:42,180 --> 00:32:44,780 Supozu ke uzanto havas nur registrita por la unua fojo. 686 00:32:44,780 --> 00:32:46,560 La sintakso kutime aspektas kiel ĉi tio. 687 00:32:46,560 --> 00:32:52,700 Enmeti en uzantoj kaj tiam ni dirus valoroj, 688 00:32:52,700 --> 00:33:00,150 kaj tiam ni dirus valoroj kiel, ni diru, Lauren Scully, 689 00:33:00,150 --> 00:33:02,380 nia videografer tie. 690 00:33:02,380 --> 00:33:04,390 Kaj la sekva kampo estas genra. 691 00:33:04,390 --> 00:33:08,020 Do ni diru citaĵo, unquote "F", do ni havas ID 692 00:33:08,020 --> 00:33:12,250 kaj mi tuj say-- ni ŝajnigi ŝi ne vere tie, 693 00:33:12,250 --> 00:33:14,380 do ni malantaŭenigi en la rakonto. 694 00:33:14,380 --> 00:33:16,530 Do 2 estos ŝia ID. 695 00:33:16,530 --> 00:33:19,130 Kaj tiam la sekvanta kampo tie estas ŝia retpoŝto. 696 00:33:19,130 --> 00:33:22,140 Do ĝi estas tuj estos kiel Lauren Scully kaj tiel antaŭen, 697 00:33:22,140 --> 00:33:24,360 kaj ni simple dot dot dot ĝin for de tie sur. 698 00:33:24,360 --> 00:33:26,890 Nun ricevos iom teda, sed la enigaĵo informpeto 699 00:33:26,890 --> 00:33:28,310 finfine aspektas tiel. 700 00:33:28,310 --> 00:33:30,970 >> Se mi volas forigi Scully, uh-oh, ni deregister 701 00:33:30,970 --> 00:33:37,420 ŝi, ŝi forigas sian konton, forigi de uzantoj kie ID egalas 2, 702 00:33:37,420 --> 00:33:38,500 estos forigi Scully. 703 00:33:38,500 --> 00:33:48,050 Aŭ mi povas diri ĝisdatigo uzantoj enkadrigeblajn diru, kion ni povus ŝanĝi? 704 00:33:48,050 --> 00:33:49,430 Supozu ŝi movas. 705 00:33:49,430 --> 00:33:53,730 Aro zip egalas 021-- nope, jen ŝia nuna zip. 706 00:33:53,730 --> 00:33:54,487 90210. 707 00:33:54,487 --> 00:33:56,320 La sola alia poŝtkodo Mi scias en la mondo. 708 00:33:56,320 --> 00:33:59,002 Tial ŝanĝus ŝi zip code-- fakte, 709 00:33:59,002 --> 00:34:00,460 kiu ne ŝanĝas sian poŝtkodo. 710 00:34:00,460 --> 00:34:02,170 >> Kion mi nur faru? 711 00:34:02,170 --> 00:34:04,292 Kvankam la sintakso estas verŝajne nova. 712 00:34:04,292 --> 00:34:05,302 >> Spektantaro: [inaudible] 713 00:34:05,302 --> 00:34:08,010 DAVID Malan: Jes, mi movis ĉiujn Beverly Hills, Kalifornio. 714 00:34:08,010 --> 00:34:11,920 Do mi devus reale diru kie ID egalas 2. 715 00:34:11,920 --> 00:34:12,820 Kaj tiel plu. 716 00:34:12,820 --> 00:34:15,290 Tiel SQL estas ĉiuj pri tiuj specojn de instrukcioj. 717 00:34:15,290 --> 00:34:20,260 Elektu, enigi, forigi, ĝisdatigi, kun tiuj predikatoj fine 718 00:34:20,260 --> 00:34:22,139 tiuj kie klaŭzoj, por tiel diri. 719 00:34:22,139 --> 00:34:25,170 Kaj ekzistas multe pli vi povas fari, sed vere nur abscesoj malsupren 720 00:34:25,170 --> 00:34:29,750 simple, se arcanely, esprimante kion vi volas ke la datumbaza fari. 721 00:34:29,750 --> 00:34:31,580 >> Kaj tiam la datumbazo estos eltrovi, kiam 722 00:34:31,580 --> 00:34:35,630 enigata Lauren Scully en la datumbazo, kie meti ŝin en memoro 723 00:34:35,630 --> 00:34:38,230 tiel ke ni povas tre rapide akiri ŝi surbaze sian retadreson 724 00:34:38,230 --> 00:34:42,610 aŭ bazita sur ŝia ID numeron aŭ simile. 725 00:34:42,610 --> 00:34:43,391 Yeah, Dan. 726 00:34:43,391 --> 00:34:44,266 Spektantaro: [inaudible] 727 00:34:44,266 --> 00:34:46,364 728 00:34:46,364 --> 00:34:47,780 DAVID Malan: Vere bona demando. 729 00:34:47,780 --> 00:34:50,370 Ĉu tiuj skriptoj ŝanĝi de Microsoft Aliro al Orakolo 730 00:34:50,370 --> 00:34:52,290 al MySQL PostgreSQL? 731 00:34:52,290 --> 00:34:53,790 La mallonga respondo estas ĝi dependas. 732 00:34:53,790 --> 00:34:58,697 Teorie, estas tre signifa komuna subaro de SQL 733 00:34:58,697 --> 00:35:00,780 kiu estas dividita trans ĉiuj de tiuj implementaciones. 734 00:35:00,780 --> 00:35:03,340 Tamen, diversaj fabrikantoj havas aldonita karakterizaĵoj 735 00:35:03,340 --> 00:35:07,120 al siaj datumbazoj fari certajn aferojn preter la atingo de ĉi tiuj karakterizaĵoj, 736 00:35:07,120 --> 00:35:08,720 kiuj povus, fakte, rompi. 737 00:35:08,720 --> 00:35:11,210 >> Tial la maniero programistoj heĝo kontraŭ tiu, 738 00:35:11,210 --> 00:35:14,350 estas ke anstataŭ skribi krudan SQL kodo kiel mi skribas ĉi tie, 739 00:35:14,350 --> 00:35:19,460 ili anstataŭe uzas bibliotekon, komuna biblioteko kiu mem 740 00:35:19,460 --> 00:35:23,650 estas speco de alta-nivelo kaj resumoj for kiu produkto vi uzas. 741 00:35:23,650 --> 00:35:25,710 Kaj ĝi donas al vi funkcioj kaj procedoj 742 00:35:25,710 --> 00:35:28,810 voki por ke vi neniam reale skribi krudan SQL. 743 00:35:28,810 --> 00:35:32,609 >> En teorio, do vi povas ŝanĝi produktoj de Oracle al Microsoft 744 00:35:32,609 --> 00:35:34,650 aŭ inverse aŭ nenion alie, kaj vi laŭlitere 745 00:35:34,650 --> 00:35:36,920 ŝanĝi nenion pri via kodo. 746 00:35:36,920 --> 00:35:40,180 La realaĵo, tamen, estas, vi foje rezigni karakterizaĵoj kiel rezulto. 747 00:35:40,180 --> 00:35:43,860 Vi eble elektis produkton ĉar ĝi estas atingis tiujn aldonvaloro karakterizaĵoj, 748 00:35:43,860 --> 00:35:46,610 kaj vi estas nur nun ne uzante ilin konscie. 749 00:35:46,610 --> 00:35:51,630 >> Kaj anekdote, plej kompanioj emas neniam malproksimigi de sia datumbazo. 750 00:35:51,630 --> 00:35:54,002 Do dum tiu estas agrable havas funkcion, la realaĵo 751 00:35:54,002 --> 00:35:55,960 estas, se vi reformu via datenbazo, vi estas 752 00:35:55,960 --> 00:35:59,890 verŝajne farante aroj da aliaj ŝanĝoj ĉiukaze, ke vi ne nepre 753 00:35:59,890 --> 00:36:01,360 bezonas anticipi tion. 754 00:36:01,360 --> 00:36:03,720 Do ĝi estas defendeble super-inĝenierio la problemon, 755 00:36:03,720 --> 00:36:05,670 sed vere dependas de la kunteksto. 756 00:36:05,670 --> 00:36:09,960 Sed en teorio, SQL estas dividita trans tiuj diversaj produktoj. 757 00:36:09,960 --> 00:36:11,560 Vere bonaj demandoj. 758 00:36:11,560 --> 00:36:12,272 Yeah. 759 00:36:12,272 --> 00:36:13,147 >> Spektantaro: [inaudible] 760 00:36:13,147 --> 00:36:17,820 761 00:36:17,820 --> 00:36:21,480 >> DAVID Malan: Jes, do vi povas pensi datumbazo 762 00:36:21,480 --> 00:36:25,020 estas nur servilo, fine de la tago, kaj ene de tiu servilo 763 00:36:25,020 --> 00:36:28,670 estas tuta aro da tabloj, vicoj kaj kolumnoj. 764 00:36:28,670 --> 00:36:33,410 Kaj kiam vi sendos serĉvorto ŝatas tion de via programo, retpagxon, 765 00:36:33,410 --> 00:36:39,340 skribita en Java, Ruby, Python, kio ajn, la servilo ricevas tiun komandon 766 00:36:39,340 --> 00:36:41,660 kaj interpretante ĝin en laŭlitere la sama maniero 767 00:36:41,660 --> 00:36:43,660 ni diskutis antaŭe kun interpretitaj lingvoj, 768 00:36:43,660 --> 00:36:47,333 kaj tiam elfarante iun agon sur nulo aŭ pli vicoj en nulo aŭ pli tabloj. 769 00:36:47,333 --> 00:36:48,208 Spektantaro: [inaudible] 770 00:36:48,208 --> 00:36:53,540 771 00:36:53,540 --> 00:36:55,070 >> DAVID Malan: Ĝuste, ĝuste. 772 00:36:55,070 --> 00:36:58,450 Tial la _pseudocode_ por io kiel tiu povus esti tiu. 773 00:36:58,450 --> 00:37:02,450 En via PHP-dosiero aŭ via Python dosiero aŭ via Java dosiero, 774 00:37:02,450 --> 00:37:09,210 vi havus _pseudocode_ kodo, aŭ Grataĵo-similaj blokoj kiel, se uzanto vizitoj 775 00:37:09,210 --> 00:37:19,870 acme.com/register~~V por unua tempo, tiam enmeti en uzantoj kaj tiel antaŭen. 776 00:37:19,870 --> 00:37:22,619 Kaj ni devus traduki tion pli konkretan kodon en la fino. 777 00:37:22,619 --> 00:37:24,660 Sed vere, ni devas ĉiuj la konstruelementoj tie, 778 00:37:24,660 --> 00:37:27,680 kvankam ni saltante iuj de la efektivigo paŝoj. 779 00:37:27,680 --> 00:37:31,560 >> Do lasu min riproĉos al kion ni mirinde faris nur antaŭ momento. 780 00:37:31,560 --> 00:37:36,470 Vi kreis belan kompleta tablo por uzantoj. 781 00:37:36,470 --> 00:37:38,920 Certe, ni povus apliki en kelkaj malsamaj manieroj, 782 00:37:38,920 --> 00:37:43,030 sed vi fakte kondukis nin malsupren la path-- kaj mi diras al vi, 783 00:37:43,030 --> 00:37:48,080 sed estas probable mia fault-- de sufiĉe ineficiente datumbazo efektivigo. 784 00:37:48,080 --> 00:37:49,950 Ĝi ne normaligis. 785 00:37:49,950 --> 00:37:52,320 >> Kaj de ununormigita mi volas diri tie tuj estos, 786 00:37:52,320 --> 00:37:57,380 super tempo, signifa redundo, kaj do senefikeco, 787 00:37:57,380 --> 00:38:00,210 ke estas malŝparo de spaco. 788 00:38:00,210 --> 00:38:05,650 Surbaze nur kion vi vidas tie, ne povas vi imagi kie tiu malŝparo de spaco 789 00:38:05,650 --> 00:38:08,710 tuj venas, tra la tempo, kiel pli kaj pli uzantoj registriĝu 790 00:38:08,710 --> 00:38:10,860 por via retejo? 791 00:38:10,860 --> 00:38:13,047 Kio datumoj farigxu redunda? 792 00:38:13,047 --> 00:38:19,084 793 00:38:19,084 --> 00:38:20,940 >> Spektantaro: [inaudible] 794 00:38:20,940 --> 00:38:22,686 >> DAVID Malan: Kial vi tion diras? 795 00:38:22,686 --> 00:38:23,561 Spektantaro: [inaudible] 796 00:38:23,561 --> 00:38:32,180 797 00:38:32,180 --> 00:38:32,930 DAVID Malan: Jes. 798 00:38:32,930 --> 00:38:35,622 Kaj ni supozu por la celoj de hodiaŭ ke tio estas vera. 799 00:38:35,622 --> 00:38:38,330 Rezultas, kaj ni lernis tiun la malmola vojo, kiu ne estas vera. 800 00:38:38,330 --> 00:38:41,670 Iel multnombraj urboj havas, iel, la sama poŝtkodo, 801 00:38:41,670 --> 00:38:43,390 kiu rompas tiun mirindan intuicio. 802 00:38:43,390 --> 00:38:46,180 Sed ni supozu, ke vi pravas, ĉar ĝi estas preskaŭ ĉiam vera. 803 00:38:46,180 --> 00:38:51,390 Do supozu ke poŝtkodo estas ĉiam asociitaj kun la sama urbo 804 00:38:51,390 --> 00:38:53,600 kaj stato, kiu estas speco de racia supozo, 805 00:38:53,600 --> 00:38:54,840 sed malĝusta, rezultas. 806 00:38:54,840 --> 00:38:57,310 Sed racia supozo por hodiaŭa celoj. 807 00:38:57,310 --> 00:39:01,650 >> Tiam supozas ke mi loĝas en Cambridge, MA, laŭ tiu uzanto tablo, 808 00:39:01,650 --> 00:39:04,100 kaj supozu ke Lauren Scully vivas en Cambridge, MA, 809 00:39:04,100 --> 00:39:06,120 kaj supozu ke Kareem vivas en Cambridge, MA, 810 00:39:06,120 --> 00:39:10,400 kaj Arwa vivas en Cambridge, Ma, ni ĉiuj en 02138. 811 00:39:10,400 --> 00:39:15,890 Kial ni memorante Cambridge, MA, 02138 por ĉiuj kvar el ni? 812 00:39:15,890 --> 00:39:18,903 Kio devus sufiĉi memori? 813 00:39:18,903 --> 00:39:20,249 >> Spektantaro: [inaudible] 814 00:39:20,249 --> 00:39:21,540 DAVID Malan: Ĝuste la poŝtkodo. 815 00:39:21,540 --> 00:39:25,080 Nur ke 02138 ekzistas, ĉar vi scias kion ni povus fari? 816 00:39:25,080 --> 00:39:32,650 Ni povus akiri iom imago tie kaj super tie, difini alia tablo 817 00:39:32,650 --> 00:39:35,850 kie ĉi tiu tuj estos la nomo, ĉi tiu tuj estos la tipo, 818 00:39:35,850 --> 00:39:38,840 ĉi tiu tuj estos la longo, kaj nun, mi estas 819 00:39:38,840 --> 00:39:42,900 tuj nomas tiun mian urboj tablo. 820 00:39:42,900 --> 00:39:47,011 Tiu estas nomata de Kompreneble, mia uzantoj tablo. 821 00:39:47,011 --> 00:39:49,885 Do kion mi metis ĉi tien cxar mia urboj tablo, vi pensas? 822 00:39:49,885 --> 00:39:53,605 823 00:39:53,605 --> 00:39:54,535 >> Spektantaro: [inaudible] 824 00:39:54,535 --> 00:39:55,930 >> DAVID Malan: Jes. 825 00:39:55,930 --> 00:40:01,440 Tiel usona kaj ŝtato kaj urbo. 826 00:40:01,440 --> 00:40:05,350 Kaj tial la tipo tie, ni diru ĉi tiu tuj estos char 5 denove, 827 00:40:05,350 --> 00:40:06,750 subjekto al la debato de pli fruaj. 828 00:40:06,750 --> 00:40:14,810 Tio estos enumeracian, eble kiel antaŭ kaj urbo estos varchar 50. 829 00:40:14,810 --> 00:40:17,960 Do nun, kion mi akiras viŝi de ĉi tablo 830 00:40:17,960 --> 00:40:21,995 forigi tiun senefikeco? 831 00:40:21,995 --> 00:40:23,100 >> Spektantaro: [inaudible] 832 00:40:23,100 --> 00:40:23,850 DAVID Malan: Nice. 833 00:40:23,850 --> 00:40:30,239 Ŝtato kaj urbo foriros, do mi havas nun forigis la potencial senefikeco 834 00:40:30,239 --> 00:40:33,280 por redunde memorante, Cambridge, MA, Kembriĝo, MA, Kembriĝo, MA, 835 00:40:33,280 --> 00:40:35,712 Kembriĝo, Ma, kiu, espereble neniam tuj ŝanĝos. 836 00:40:35,712 --> 00:40:37,670 Kaj eĉ se ĝi faras, ĝi estas minorly ĝena, nun 837 00:40:37,670 --> 00:40:39,750 ke mi devas ŝanĝi en multnombraj vicoj, 838 00:40:39,750 --> 00:40:43,770 dum ĉi tie, mi povis nur ŝanĝi ĝin en unu loko. 839 00:40:43,770 --> 00:40:46,890 >> Nun kio estas la komerco-off, eble? 840 00:40:46,890 --> 00:40:48,020 Tio estis la super oportuna. 841 00:40:48,020 --> 00:40:50,730 Havis ĉiujn miajn datumojn bele kune. 842 00:40:50,730 --> 00:40:53,644 Sed kio estas klare la kazo nun? 843 00:40:53,644 --> 00:40:55,684 >> Spektantaro: [inaudible] 844 00:40:55,684 --> 00:40:58,100 DAVID Malan: Ĝuste, kaj mi estas ĝoja vi uzis la vorton aliĝi, 845 00:40:58,100 --> 00:41:01,320 ĉar tio estas vere la ŝlosilvorto, en la mondo de rilata datumbazoj 846 00:41:01,320 --> 00:41:05,270 en SQL, ĝi estas fakta vorto vi povus tajpi aŭ almenaŭ transdoni. 847 00:41:05,270 --> 00:41:09,280 Kaj fakte, kion ni nun devas fari elekti David plena informo 848 00:41:09,280 --> 00:41:19,700 io kiel unuaranga stelo de uzantoj, aliĝu urbojn on-- kaj nun 849 00:41:19,700 --> 00:41:24,010 Mi tuj simple movi al dua linio tiel ke ĉi fits-- users.zip egalas 850 00:41:24,010 --> 00:41:34,570 cities.zip, kie users.ID egalas 1. 851 00:41:34,570 --> 00:41:35,550 >> Do kio okazas? 852 00:41:35,550 --> 00:41:38,970 Ĝi estas malbela rigardante, sed vi povas ia legi gxin maldekstre dekstren, supre sube. 853 00:41:38,970 --> 00:41:41,030 Unuaranga stelo de uzantoj Estas la sama kiel antaŭe, 854 00:41:41,030 --> 00:41:42,930 sed ne de uzantoj, por se. 855 00:41:42,930 --> 00:41:45,910 Estas de uzantoj aliĝi urboj. 856 00:41:45,910 --> 00:41:48,520 Kion mi kunigi tiujn du tabloj sur? 857 00:41:48,520 --> 00:41:51,820 Nu, ŝajne, la uzantoj tabloj usona kampo, 858 00:41:51,820 --> 00:41:54,810 kaj ĉi tiu periodo estas nur speciala sintakso por esprimi tiun ideon, 859 00:41:54,810 --> 00:41:58,130 kaj tio estas la urboj tabloj usona kampo. 860 00:41:58,130 --> 00:42:01,580 Mi volas tiuj du esti egalaj, sed mi volas finfine elektu 861 00:42:01,580 --> 00:42:06,280 nur tiuj vicoj kie ID en la uzantoj tablo 862 00:42:06,280 --> 00:42:08,730 egalas 1, kiu pasis al esti miaj. 863 00:42:08,730 --> 00:42:11,781 >> Kaj nur por esti klara, oni programisto, tipe kiam 864 00:42:11,781 --> 00:42:14,780 hardcode ion kiel la nombro 1, ĉar alie la retejo nur 865 00:42:14,780 --> 00:42:17,630 Elportas Davido aŭ la unua uzanto, vi 866 00:42:17,630 --> 00:42:20,720 anstataŭe fari io kiel ID, kie 867 00:42:20,720 --> 00:42:22,510 tio reprezentas variablo, iu kiu 868 00:42:22,510 --> 00:42:26,210 povas ŝanĝi super tempo, simila spirite al kion mi diris antaŭe 869 00:42:26,210 --> 00:42:28,080 kun tiuj specoj de variabloj. 870 00:42:28,080 --> 00:42:30,396 Sed nuntempe ni simple hardcode ĝin kiel 1. 871 00:42:30,396 --> 00:42:31,520 Kaj tiel kion tio signifas? 872 00:42:31,520 --> 00:42:35,100 Nu, bela maniero bildigi ĉi estas ke se tiu mano estas la uzantoj tablo, 873 00:42:35,100 --> 00:42:38,090 kaj tiu mano estas la zips tablo, ni ia finding-- 874 00:42:38,090 --> 00:42:41,330 kaj la pintoj de miaj fingroj estas zip tien, kaj la pintoj de miaj fingroj 875 00:42:41,330 --> 00:42:43,740 jen zip, vi estas speco de interplektitaj ĝi 876 00:42:43,740 --> 00:42:47,950 por ke vi reiros la rezultanta originala tablo de vere aliĝado 877 00:42:47,950 --> 00:42:49,590 la du tabloj sur la komuna kampo. 878 00:42:49,590 --> 00:42:50,840 Kaj ĝi ne devas esti zipo. 879 00:42:50,840 --> 00:42:54,460 Ĝi povus esti plej io alia, sed poŝtkodoj estas bela, ĉar unu, ĝi estas mallonga, 880 00:42:54,460 --> 00:42:56,470 du, ĉiam la sama longo, do ekzistas 881 00:42:56,470 --> 00:43:02,270 vera efikeco al kio Olivier proponis tie 882 00:43:02,270 --> 00:43:05,200 kun faktoranta ekster la zip, kaj [Inaudible] proponante ke ni seniĝi 883 00:43:05,200 --> 00:43:07,110 de urbo kaj ŝtatoj. 884 00:43:07,110 --> 00:43:11,370 >> Do tiu estas la procezo konata kiel normaligo. 885 00:43:11,370 --> 00:43:14,171 Demandojn sur tio? 886 00:43:14,171 --> 00:43:16,170 Nu mi atentigas tiu estas la klaso de aĵoj, 887 00:43:16,170 --> 00:43:19,202 kvankam ĝi estas sufiĉe malalta nivelo, tiu diskuto, ke vi pensus 888 00:43:19,202 --> 00:43:20,910 vi speco de prenanta perdita en la maleza, 889 00:43:20,910 --> 00:43:26,690 tio estas demonstracio de ampleksaj ŝanco por programistoj esti malbona. 890 00:43:26,690 --> 00:43:29,600 Kaj fakte, ecx kiam ni, en kursoj mi instruis, kiam ni havis, 891 00:43:29,600 --> 00:43:32,290 ekzemple, sensperta bakalaŭra programistoj 892 00:43:32,290 --> 00:43:35,920 konstrui retejojn, unuavide, la retejoj povus aspekti terura. 893 00:43:35,920 --> 00:43:38,280 Kaj ili havas ĉiujn funcionalidad ni petis, 894 00:43:38,280 --> 00:43:40,650 la programistoj faris bonan laboron. 895 00:43:40,650 --> 00:43:43,370 >> Sed ne nepre scias sufiĉe pri datumbazo dezajno 896 00:43:43,370 --> 00:43:46,680 aŭ ili ne pensis malfacila sufiĉe pri la tipoj de datumoj 897 00:43:46,680 --> 00:43:49,220 kaj la tipoj de uzantoj la retejo tuj havos, 898 00:43:49,220 --> 00:43:53,240 kaj ni do trovas ses monatoj poste, post ili is studentiĝis aŭ pluiris, 899 00:43:53,240 --> 00:43:56,016 ke damn it, nia retejo Estas vere, vere malrapida. 900 00:43:56,016 --> 00:43:58,890 Kaj mi eĉ ne parolas pri havi milionoj aŭ miloj da uzantoj. 901 00:43:58,890 --> 00:44:02,580 Mi signifas kelkcent uzantojn sur kampuso, kiuj ĉiuj deziras, ekzemple, 902 00:44:02,580 --> 00:44:04,870 butiko por kursoj ĉe Samtempe, ili estas 903 00:44:04,870 --> 00:44:07,010 uzante tiu kurson katalogo apliko menciis 904 00:44:07,010 --> 00:44:10,410 kaj la afero fariĝas vere malrapidigi ĉar ekzistis neniuj indeksoj. 905 00:44:10,410 --> 00:44:13,740 Ekzistis neniuj ruĝaj steloj, tiel paroli, aŭ ni ne nepre 906 00:44:13,740 --> 00:44:17,690 faktorita el komunaj datumoj akiri iuj ŝparadoj de spaco. 907 00:44:17,690 --> 00:44:21,880 >> Kaj do kiam vetting desarrollador aŭ datumbazo persono aŭ simile, 908 00:44:21,880 --> 00:44:25,864 la specoj de demandoj pensi tra eĉ kiam revizianta ies kodo, 909 00:44:25,864 --> 00:44:28,530 diri, ne nepre aspektas tra ĉiuj ilia kodo, sed diru, 910 00:44:28,530 --> 00:44:30,154 ni rigardu tra la datumbazo tabloj. 911 00:44:30,154 --> 00:44:31,150 Kion vi stokante? 912 00:44:31,150 --> 00:44:33,941 Kaj tiam diri, nu, atendu minuto, kial vi uzas entjero? 913 00:44:33,941 --> 00:44:36,224 Kio se ni havas 4 miliardoj kaj 1 de tiuj vicoj? 914 00:44:36,224 --> 00:44:38,140 Kaj tiuj specoj de demandoj estas ŝanco 915 00:44:38,140 --> 00:44:40,170 al speco de retroigi kaj akiri senton de, kie 916 00:44:40,170 --> 00:44:42,300 se vi ne estas komforta fari ĝi, havanta iun pli teknika 917 00:44:42,300 --> 00:44:45,425 demandu tiujn demandojn, ĉu aŭ ne la persono vere scias ilian aĵon. 918 00:44:45,425 --> 00:44:47,890 Kaj tio estas la speco de aĵoj ankaŭ, ke homoj 919 00:44:47,890 --> 00:44:50,540 sur la interreto kiu estas memlernanto, eble 920 00:44:50,540 --> 00:44:53,920 lerni malpli ofte, ĉar vi ne nepre renkontos lin 921 00:44:53,920 --> 00:44:56,630 tiel, ĉar vi povas akiri la datumbazo kaj kurado, 922 00:44:56,630 --> 00:44:58,880 sed se vi ne legis sur lernilojn aŭ estis 923 00:44:58,880 --> 00:45:01,880 sciigis pri datumbaza normaligo kaj indeksado kaj agado, 924 00:45:01,880 --> 00:45:04,255 tiuj estas la specoj de aferoj kiu tuj damaĝos vin. 925 00:45:04,255 --> 00:45:07,480 Kaj eble vi pensas, aŭ malbona inĝeniero dirus, ho, nu, ni pli bone salajro 926 00:45:07,480 --> 00:45:09,600 cxar pli granda datumbazo aŭ rapida datumbazo 927 00:45:09,600 --> 00:45:13,360 aŭ simple ĵeti monon pro tio, vertikale skalo, ne nepre tiel. 928 00:45:13,360 --> 00:45:16,920 Se vi iros in-- kaj vi povas iri en post la fact-- kaj aldonu indeksoj, 929 00:45:16,920 --> 00:45:20,320 kaj ĝi povus preni kelkajn horojn por la datumbazo por konstrui tiun novan datumon 930 00:45:20,320 --> 00:45:24,100 strukturo kiu mi aludis al pli frua, vi povas ankoraŭ korekti tion post la fakto, 931 00:45:24,100 --> 00:45:26,180 ke ĉi tiu estas kie vi komenci distingi 932 00:45:26,180 --> 00:45:28,830 bonaj diseñadores de malbona diseñadores, ne nur estetike, 933 00:45:28,830 --> 00:45:32,972 sed agado-saĝa tiel. 934 00:45:32,972 --> 00:45:33,555 Demandojn? 935 00:45:33,555 --> 00:45:36,420 936 00:45:36,420 --> 00:45:37,480 Ne? 937 00:45:37,480 --> 00:45:41,980 Tiel por NoSQL, kiu estis la alia tipo de datumbazo al kiu mi aludis antaŭe, 938 00:45:41,980 --> 00:45:43,490 vi ne havas vicoj kaj kolumnoj. 939 00:45:43,490 --> 00:45:47,000 Anstataŭe, vi havus ion kiu aspektas iom pli kiel ĉi. 940 00:45:47,000 --> 00:45:48,630 Mi tuj uzi komunan sintakson. 941 00:45:48,630 --> 00:45:51,270 Krispa krampoj hazarde uzebla ĉi tie sufiĉe multe. 942 00:45:51,270 --> 00:45:55,400 Vi povus havi ion kiel antaŭnomo estas David, 943 00:45:55,400 --> 00:46:00,180 vi povus havi fina nomo estas Malan, citaĵoj, 944 00:46:00,180 --> 00:46:07,530 vi havu ID is-- Pardonu min, whoops-- ID estas 1, 945 00:46:07,530 --> 00:46:13,410 retpoŝto estas malan@harvard.edu, kaj mi ne volas ĝenas tajpi eksteren la reston, kaj tiam 946 00:46:13,410 --> 00:46:14,380 iuj aliaj aferoj. 947 00:46:14,380 --> 00:46:17,380 >> Alivorte, tiu estas laŭteksta reprezento 948 00:46:17,380 --> 00:46:20,720 kion ni ĝenerale nomas objekto en komputila programo. 949 00:46:20,720 --> 00:46:26,079 Kaj objekto estas ĝenerale nur kolekto de ŝlosila valoro paroj. 950 00:46:26,079 --> 00:46:27,370 Do denove, ĉi temo recurrente. 951 00:46:27,370 --> 00:46:30,440 Ni vidis ŝlosilo valoro paroj en HTML, ni vidis ŝlosilo valoro paroj nun 952 00:46:30,440 --> 00:46:34,020 en la kunteksto de datumbazoj, kaj ni vidis ŝlosilo valoro paroj en la kunteksto 953 00:46:34,020 --> 00:46:35,970 de, mi kredas, lingvo pli frue hodiaŭ. 954 00:46:35,970 --> 00:46:36,890 Tenas venanta supre. 955 00:46:36,890 --> 00:46:39,620 Kaj efektive, jen vere kio datumoj reduktas al: 956 00:46:39,620 --> 00:46:44,240 datumoj kaj metadatos aŭ valoroj kaj ŝlosilojn, respektive. 957 00:46:44,240 --> 00:46:47,430 >> Tial ne-interrilata datumbazo, io bazita 958 00:46:47,430 --> 00:46:50,680 sur objektoj, kie vi nur areto ĉio kune kaj metis ĝin 959 00:46:50,680 --> 00:46:55,640 en memoro, estus ĝenerale bildigita kiel, aŭ pensis, kiel ĉi. 960 00:46:55,640 --> 00:47:00,500 Kaj mi lasos tion nun kiel ia alternativa alproksimiĝo. 961 00:47:00,500 --> 00:47:03,750 Kaj oni ne nepre bona ol la aliaj. 962 00:47:03,750 --> 00:47:07,310 Fakte, tre en boga tiuj tagoj estas datumbazo sistemoj 963 00:47:07,310 --> 00:47:11,942 kiel MongoDB kaj Redis kaj kelkaj aliaj tiaj iloj, libere havebla, 964 00:47:11,942 --> 00:47:13,400 sed ili estas ĉiam en modo. 965 00:47:13,400 --> 00:47:18,850 Parte ĉar ili proponas aldonan karakterizaĵoj super tiuj tabular alproksimiĝoj, 966 00:47:18,850 --> 00:47:20,850 sed ankaŭ ĉar ili estas iom pli facila uzi, 967 00:47:20,850 --> 00:47:24,099 ĉar vi ne devas opinii tiel forte pri multajn tiujn dezajno decidoj. 968 00:47:24,099 --> 00:47:25,970 Tiel plusoj kaj minusoj. 969 00:47:25,970 --> 00:47:29,740 Do realigi ekzistas ebloj preter kion ni ĵus pasigis tempon sur. 970 00:47:29,740 --> 00:47:32,310 >> Do ni faru ĉi. 971 00:47:32,310 --> 00:47:37,870 Ni transiro iom reen nun por ttt programado, 972 00:47:37,870 --> 00:47:40,470 tiel ke ni ia konkludi hodiaŭ kun io 973 00:47:40,470 --> 00:47:43,930 ke estas iom manoj-sur, plenigante en kelkaj breĉoj de hieraŭ. 974 00:47:43,930 --> 00:47:45,340 Mi iros al tiu unua. 975 00:47:45,340 --> 00:47:49,310 Do memoru, ke hieraŭ ni havis iuj kanonaj HTML 976 00:47:49,310 --> 00:47:55,110 paĝoj kiuj havis komence, nur HTML, kaj tiam due havis CSS, 977 00:47:55,110 --> 00:47:56,620 kaskadan stilo littukojn. 978 00:47:56,620 --> 00:47:59,830 Jen nova etikedo kiun ni ne vidi hieraŭ, aŭ loĝi sur, 979 00:47:59,830 --> 00:48:01,490 tn skripto etikedo. 980 00:48:01,490 --> 00:48:05,830 >> Rezultas vi povas reale enkorpigi lingvo nomata Javascript en via retejo 981 00:48:05,830 --> 00:48:08,310 paĝo kaj fari via retejo paĝoj fari ion. 982 00:48:08,310 --> 00:48:09,710 Do kion mi volas diri per tio? 983 00:48:09,710 --> 00:48:12,630 Nu, lasu min antaŭeniri kaj ĵus prunteprenos tiun kodon dum momento. 984 00:48:12,630 --> 00:48:15,860 Mi tuj iros en Cloud9, ne necesas iri tien vi nur ankoraŭ, 985 00:48:15,860 --> 00:48:21,350 kaj mi tuj nomas tiun alert.HTML. 986 00:48:21,350 --> 00:48:23,650 Mi tuj almeti en mian dosieron ĉi tie. 987 00:48:23,650 --> 00:48:32,070 Kaj simple klarigi kion mi faris, lasu mi iros al tiu adreso kaj iri al alarmi, 988 00:48:32,070 --> 00:48:33,870 kaj vi vidos la Hello World. 989 00:48:33,870 --> 00:48:35,440 >> Sed ĉi tiu estas speco de underwhelming. 990 00:48:35,440 --> 00:48:37,410 Mi volas fari ion iom malsama. 991 00:48:37,410 --> 00:48:40,610 Do mi tuj efektive fari tion. 992 00:48:40,610 --> 00:48:43,820 Mi tuj iros tien kaj, kaj intere mia skripto etikedoj, 993 00:48:43,820 --> 00:48:53,460 diru garde ( 'saluton, mondo "); tiel avizo ĝi estas iom fuŝa, sed mi havas HTML, 994 00:48:53,460 --> 00:48:56,180 ene de kiu estas lingvo nomata Ĝavoskripto, 995 00:48:56,180 --> 00:48:59,420 kaj tio estas kio nomiĝas funkcio alvoko aŭ proceduro nomita. 996 00:48:59,420 --> 00:49:04,500 Tio estas verbo, laŭvorte, en tiu kazo, kaj mi alpreĝi kodo funcionalidad 997 00:49:04,500 --> 00:49:06,310 ke iu alia skribis. 998 00:49:06,310 --> 00:49:09,630 >> Por ke funcionalidad estas garde, do ni iru al tiu paĝo 999 00:49:09,630 --> 00:49:14,046 nun kaj klaku Reŝarĝi, kaj nun vi vidi iom de interactividad. 1000 00:49:14,046 --> 00:49:15,420 Ĝi estas speco de malnova lernejo kaj malbela. 1001 00:49:15,420 --> 00:49:18,580 Tian memorigas vin pri la popo-ups, eble, de la pasintaj tempoj 1002 00:49:18,580 --> 00:49:22,030 sed ja faris ion iom pli programita. 1003 00:49:22,030 --> 00:49:26,940 >> Tiom pli, ni faru io pli interesa. 1004 00:49:26,940 --> 00:49:30,980 Mi iros tien kaj forigi ĉi. 1005 00:49:30,980 --> 00:49:33,840 Kaj mi tuj iros antaŭen kaj krei formon kiel ni faris hieraŭ. 1006 00:49:33,840 --> 00:49:34,840 Reale, vi scias kion? 1007 00:49:34,840 --> 00:49:37,350 Mi tuj iros en google.html, kiun ni 1008 00:49:37,350 --> 00:49:43,027 komenciĝis hieraŭ, kiu similis tiu, tra kiu ni serĉis kato 1009 00:49:43,027 --> 00:49:45,360 Sed rimarkas ke estas speco de bug en la nuna versio. 1010 00:49:45,360 --> 00:49:49,770 Ĝi funkcias por katoj, sed supozas ke Mi ne kunlabori kaj mi tajpas nenion, 1011 00:49:49,770 --> 00:49:53,290 kaj mi simple klaku submetiĝi. 1012 00:49:53,290 --> 00:49:54,540 Tio estas speco de stranga konduto. 1013 00:49:54,540 --> 00:49:57,300 Prenis min al la reala Google, ne donis al mi erarmesagxon. 1014 00:49:57,300 --> 00:50:00,590 Mi ŝatus diri la uzanto vi devas doni al ni valoron. 1015 00:50:00,590 --> 00:50:01,780 >> Do kiel povus ni faru tion? 1016 00:50:01,780 --> 00:50:06,790 Nu lasu min iri reen en Cloud9 kaj lasu min iri en la supro de mia paĝo 1017 00:50:06,790 --> 00:50:11,980 kaj aldoni skripto etikedo kiel tiu, kie Mi tuj tajpi iun kodo JavaScript. 1018 00:50:11,980 --> 00:50:15,420 Kaj mi tuj faru la sekvajn. 1019 00:50:15,420 --> 00:50:22,910 Se (document.getelementByID-- kaj revokon ke ni parolis pri tio antaŭe, 1020 00:50:22,910 --> 00:50:23,960 domadministranto. 1021 00:50:23,960 --> 00:50:25,310 Kio ID mi volas? 1022 00:50:25,310 --> 00:50:33,050 Mi volas ricevi q, kaj mi tuj diru egalas nenion, kiel this-- 1023 00:50:33,050 --> 00:50:38,220 fakte mi uzas citiloj nur por consistency-- egalas nenion, 1024 00:50:38,220 --> 00:50:46,650 tiam garde ( "Bonvolu tajpi informpeto") tie. 1025 00:50:46,650 --> 00:50:49,200 >> Do mi havas kio ŝajnas esti iu kiel kondiĉo. 1026 00:50:49,200 --> 00:50:51,410 Ni vidis ĉi ĝenerala ideo en Scratch. 1027 00:50:51,410 --> 00:50:54,240 Estas kiel unu el tiuj enigmo pecoj kiuj similis tion. 1028 00:50:54,240 --> 00:50:55,780 Kaj kion mi diras? 1029 00:50:55,780 --> 00:50:59,520 Nu, cxi tie, rimarki Mi tuj fari la sekvan. 1030 00:50:59,520 --> 00:51:02,790 Mi tuj donos al ĉi formularo kampo ne nur nomo de q, kio 1031 00:51:02,790 --> 00:51:06,630 estas kio ricevas pasis al Google, sed mi estas ĝin donacos loka ensalutilo, 1032 00:51:06,630 --> 00:51:07,630 ankaŭ nomita q. 1033 00:51:07,630 --> 00:51:11,780 Sed mi povis nomi tiun ion mi volas, mi simple tuj teni ĝin simpla 1034 00:51:11,780 --> 00:51:14,570 kaj ankaŭ nomas ĝin q, nur por simpleco. 1035 00:51:14,570 --> 00:51:17,650 >> Nun mi intencas fari iu iom pli. 1036 00:51:17,650 --> 00:51:22,600 Sur la formo kampoj tie, mi tuj aldonu kio nomiĝas okazaĵo traktilo. 1037 00:51:22,600 --> 00:51:32,260 Sur submetiĝi, mi volas nomi funkcio nomita validigi. 1038 00:51:32,260 --> 00:51:35,520 Tiu ne ekzistanta, tiu vorto, aŭ tiun verbon validigi, 1039 00:51:35,520 --> 00:51:38,560 ĉar kion mi tuj faros supren tie nun estas aldoni iom da kodo. 1040 00:51:38,560 --> 00:51:42,200 >> Mi tuj diru funkcio validigi. 1041 00:51:42,200 --> 00:51:48,280 Mi tuj krommargxenu tiun kaj aldoni alian krispa krampoj tie kaj alia tie. 1042 00:51:48,280 --> 00:51:50,110 Konsideri kion tio nun faras. 1043 00:51:50,110 --> 00:51:54,210 Mi havas now-- pensi ĉi tiel kreis mian propra puzlo peco kiu ne antaŭe 1044 00:51:54,210 --> 00:51:57,440 ekzisti, kaj mi alvokis tiun enigmon kunligi la validigi enigmo peco. 1045 00:51:57,440 --> 00:52:01,620 Lia celo en la vivo estas ekzekuti la kvar linioj de kodo ene de ĝi. 1046 00:52:01,620 --> 00:52:04,940 >> se document.getElementByID tiel koncepte, 1047 00:52:04,940 --> 00:52:09,380 kiu tuj eniros en la elemento, la HTML elemento kies sola 1048 00:52:09,380 --> 00:52:12,930 ideo estas simple q, kaj tiam eĉ se la sintakso aspektas iom stranga, 1049 00:52:12,930 --> 00:52:16,430 ke egalas egalas nur signifas egalaj. 1050 00:52:16,430 --> 00:52:20,950 Do tio signifas ke la ero kun la identificador sola de q, kiam alvenas, 1051 00:52:20,950 --> 00:52:25,700 havas valoron, ĝi simple egalas citaĵo unquote, nenio ekzistas, 1052 00:52:25,700 --> 00:52:27,170 tiam kion mi volas fari? 1053 00:52:27,170 --> 00:52:29,360 Mi volas krii ĉe la uzanto. 1054 00:52:29,360 --> 00:52:31,710 >> Kaj ni ne iros tre detale tie. 1055 00:52:31,710 --> 00:52:32,960 Mi tuj revenos falsaj. 1056 00:52:32,960 --> 00:52:34,380 Ke estas eraro. 1057 00:52:34,380 --> 00:52:38,746 Alie, mi tuj revenos vera. 1058 00:52:38,746 --> 00:52:40,120 Do ĉu ĝi laboris aŭ ĝi ne faris. 1059 00:52:40,120 --> 00:52:41,800 Falsa aŭ vera. 1060 00:52:41,800 --> 00:52:47,820 Kaj nun se mi ne faris neniun eraron, lasu min konservi tiun kaj reŝarĝi ĉi. 1061 00:52:47,820 --> 00:52:50,940 Kaj lasu min nur duobla ĉeko ke Mi ne, fakte, faras neniun tajperarojn, 1062 00:52:50,940 --> 00:52:52,690 do mi ne embarasi min. 1063 00:52:52,690 --> 00:52:54,240 Ni vidu se tio funkcias. 1064 00:52:54,240 --> 00:52:56,930 >> Do nun mi iros por tajpi katoj. 1065 00:52:56,930 --> 00:52:59,421 Ĝi ankoraŭ funkcias, aŭ duono verkoj, almenaŭ. 1066 00:52:59,421 --> 00:53:02,170 Nun lasu min reŝarĝi ĝin, kaj nun lasu mi provos sendado sen tajpi 1067 00:53:02,170 --> 00:53:05,860 ion ajn damn it, ĝi rompis. 1068 00:53:05,860 --> 00:53:06,430 Unu momento. 1069 00:53:06,430 --> 00:53:09,380 1070 00:53:09,380 --> 00:53:12,660 Lasu min malfermi la konzolo, [Inaudible] ensaluti, reŝarĝi la paĝon. 1071 00:53:12,660 --> 00:53:13,576 Mi provu ĉi denove. 1072 00:53:13,576 --> 00:53:17,000 1073 00:53:17,000 --> 00:53:17,501 Ho, malbenita ĝi. 1074 00:53:17,501 --> 00:53:18,000 Mi forgesis. 1075 00:53:18,000 --> 00:53:18,630 Mi faris tajperaron. 1076 00:53:18,630 --> 00:53:20,760 Mi memoras kion ĝi estas. 1077 00:53:20,760 --> 00:53:21,350 .value. 1078 00:53:21,350 --> 00:53:27,060 Mi intencis diri, se la valoro de la elemento kies ID estas q 1079 00:53:27,060 --> 00:53:29,800 egalas tio, tiam krias al la uzanto. 1080 00:53:29,800 --> 00:53:31,870 >> Do nun lasu min teni mian spiron denove. 1081 00:53:31,870 --> 00:53:33,480 Tie ni iru. 1082 00:53:33,480 --> 00:53:34,130 Tie ni iru. 1083 00:53:34,130 --> 00:53:35,010 Bonvolu tajpi konsulto. 1084 00:53:35,010 --> 00:53:36,840 Do ĝi ne estas lasanta min tra. 1085 00:53:36,840 --> 00:53:40,210 Mi povas esti speco de ludema kun tiu, kaj anstataŭ kontrolanta por neniu valoro, 1086 00:53:40,210 --> 00:53:46,720 Mi povas diri ion kiel, ne plu sercxis katoj, 1087 00:53:46,720 --> 00:53:51,150 kaj nun ni povas simple pli ludeme lasu la uzanto serĉo hundoj se li aŭ ŝi 1088 00:53:51,150 --> 00:53:57,490 volas, aŭ se mi iros tien kaj serĉi katoj, nun mi ne povas. 1089 00:53:57,490 --> 00:53:58,690 >> Do kio estas la takeaway tie? 1090 00:53:58,690 --> 00:54:03,010 Do, ni jam enkondukita en nia mondo de HTML kaj CSS, 1091 00:54:03,010 --> 00:54:04,320 programado funcionalidad. 1092 00:54:04,320 --> 00:54:06,300 Mi povas reale nun faras decidojn en kodo. 1093 00:54:06,300 --> 00:54:10,570 Antaŭe, ĉiuj mi povus fari estas marki supren teksta enhavo aŭ grafika enhavo 1094 00:54:10,570 --> 00:54:13,080 kaj rakontu kion serĉi kiel kaj kie montri. 1095 00:54:13,080 --> 00:54:16,650 Nun mi povas vere demandas demandoj de la retpaĝo 1096 00:54:16,650 --> 00:54:20,010 kaj faras decidojn surbaze sur gxi, kaj instigas la uzanton 1097 00:54:20,010 --> 00:54:22,780 se mi devas krii al li aŭ ŝi. 1098 00:54:22,780 --> 00:54:28,740 >> Do ni provu ion sur nia propra kun tiu. 1099 00:54:28,740 --> 00:54:33,350 Antaŭen, lasu min malfermi la proksima glito tie kaj simple montri unu afero. 1100 00:54:33,350 --> 00:54:37,250 Samkiel kun CSS, ni povas faktoro ekster nia JavaScript kodo al aparta dosiero, 1101 00:54:37,250 --> 00:54:40,660 Vi povas fari la saman aferon kun JavaScript kiel kun CSS. 1102 00:54:40,660 --> 00:54:44,520 Kaj vi uzas tiun uzante fonto atribui la skripto etikedo. 1103 00:54:44,520 --> 00:54:46,540 Sed ni ne kompliki aferojn nun. 1104 00:54:46,540 --> 00:54:50,440 Anstataŭe, se vi povus iru ne ĉi paĝo, 1105 00:54:50,440 --> 00:55:02,690 sed- lasu min movi tiun ĉirkaŭe en order-- iru, se vi povus, ĉi paĝon tie. 1106 00:55:02,690 --> 00:55:03,592 Ĉi URL tie. 1107 00:55:03,592 --> 00:55:04,550 Ĝi estas en hodiaŭa diapozitivoj. 1108 00:55:04,550 --> 00:55:07,133 Vi eblas devi reŝargi ĉar Mi aldonis paron de afero. 1109 00:55:07,133 --> 00:55:09,970 1110 00:55:09,970 --> 00:55:13,890 >> Sed tien, kie iuj enigmoj atendas. 1111 00:55:13,890 --> 00:55:16,670 Kaj tio donos al ni okazon, en iomete pli amuza kunteksto, 1112 00:55:16,670 --> 00:55:20,610 dabble kun iuj Javascript. 1113 00:55:20,610 --> 00:55:25,505 Kiam vi venos tien, Mi klarigos kio atendas. 1114 00:55:25,505 --> 00:55:47,350 1115 00:55:47,350 --> 00:55:47,850 Akiri verdan. 1116 00:55:47,850 --> 00:56:03,063 1117 00:56:03,063 --> 00:56:03,562 Starigis blua. 1118 00:56:03,562 --> 00:56:11,030 1119 00:56:11,030 --> 00:56:13,930 Aroj verda aroj ruĝa. 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 Pardonon. 1123 00:56:22,330 --> 00:56:27,630 >> Tio estas la mezuro de nia dokumentado por tiu defio. 1124 00:56:27,630 --> 00:56:29,920 Kaj ĉi tiu tuj laboros jene. 1125 00:56:29,920 --> 00:56:33,340 Do kion vi havas sur ĉi paĝo estas tuta aro 1126 00:56:33,340 --> 00:56:38,024 artiste enigmojn de amiko Stanford University. 1127 00:56:38,024 --> 00:56:41,190 Do kion vi vidas ĉi tie estas preskaŭ ia unu el tiuj magiaj okulo enigmoj, 1128 00:56:41,190 --> 00:56:43,815 sed se vi simple rigardi ŝin, nenio tuj krevi ĉe vi. 1129 00:56:43,815 --> 00:56:46,000 Prefere, io kaŝita en tiu bildo. 1130 00:56:46,000 --> 00:56:47,790 Kaj ĝin kaŝis en la jena maniero. 1131 00:56:47,790 --> 00:56:51,740 Bildoj, kiel vi eble scias, povas esti kunmetita de nur tri koloroj. 1132 00:56:51,740 --> 00:56:53,346 Iuj ruĝaj, iuj bluaj kaj iuj verdaj. 1133 00:56:53,346 --> 00:56:55,220 Kaj ni povas fari ĉiujn koloroj en la ĉielarko 1134 00:56:55,220 --> 00:56:57,570 miksante tiujn tri kolorojn iel. 1135 00:56:57,570 --> 00:57:01,940 >> Do ĉi aspektas plejparte verda kaj blua, sed kiel Nick diras tie, 1136 00:57:01,940 --> 00:57:04,060 tiu fera enigmo bildo estas enigmo. 1137 00:57:04,060 --> 00:57:06,780 Ĝi enhavas statuon ion fama tamen 1138 00:57:06,780 --> 00:57:08,310 la bildo estis distordita. 1139 00:57:08,310 --> 00:57:11,500 La fama objekto estas en la ruĝa valoroj. 1140 00:57:11,500 --> 00:57:13,810 Tamen, la ruĝa valoroj havas ĉiujn estita dividita per 10. 1141 00:57:13,810 --> 00:57:16,230 Do ili estas tro malgrandaj je faktoro de 10. 1142 00:57:16,230 --> 00:57:18,280 Do alivorte, Noĉjo prenis originala bildo, 1143 00:57:18,280 --> 00:57:21,500 kaj li desaturated ĉiuj de la ruĝaj de ĝi, 1144 00:57:21,500 --> 00:57:23,850 malsuprenirante la kvanto de ruĝa inko, se vi volas, en ĝi. 1145 00:57:23,850 --> 00:57:26,060 >> La blua kaj verda valoroj estas ĉiuj nur sensignifa, 1146 00:57:26,060 --> 00:57:30,000 hazarda valoroj, alinome bruo desegnita nebuligi la reala bildo. 1147 00:57:30,000 --> 00:57:32,250 Do kio Nick faris estis li kolorigita malsupren la ruĝa kaj tiam 1148 00:57:32,250 --> 00:57:34,380 li nur ĵetis hazarda kvantoj de blua kaj verda 1149 00:57:34,380 --> 00:57:37,590 ĉe la bildo al ia obskura kio estas vere ankoraŭ ekzistas. 1150 00:57:37,590 --> 00:57:41,089 Vi devas malfari tiujn distordojn riveli la bildon. 1151 00:57:41,089 --> 00:57:44,255 Unua, starigis ĉiujn bluajn kaj verdajn valoroj al nulo por akiri ilin de la vojo, 1152 00:57:44,255 --> 00:57:48,700 kaj rigardu la rezulton. tiam multipliki ĉiun ruĝa valoro de 10, 1153 00:57:48,700 --> 00:57:51,720 grimpanta reen ĝis proksimume ĝia fina valoro. 1154 00:57:51,720 --> 00:57:53,035 Kio estas la fama objekto? 1155 00:57:53,035 --> 00:57:57,920 >> Do vi ĉiuj havas tiun rektangulo en via retumilo ĝuste nun. 1156 00:57:57,920 --> 00:58:00,830 Kaj rimarki ke ekzistas iuj startigilo kodo, por tiel diri. 1157 00:58:00,830 --> 00:58:04,370 Tio estas JavaScript kodo ke Nick skribis por vi. 1158 00:58:04,370 --> 00:58:07,250 Kaj rimarki ke ekzistas linion en la mezo ke 1159 00:58:07,250 --> 00:58:10,380 komenciĝas kun oblikvo oblikvo, tio kio ĝenerale nomis komenton. 1160 00:58:10,380 --> 00:58:14,660 Signifas ĝi estas frazo por la programisto kiu ne havas funkcian signifon. 1161 00:58:14,660 --> 00:58:16,520 Estas nur vida cue al la homa. 1162 00:58:16,520 --> 00:58:18,670 >> Do vi povas iri antaŭen kaj forviŝi nur tiu linio, 1163 00:58:18,670 --> 00:58:22,214 kaj esti super atenti ne forigi aŭ ŝanĝi ion ajn. 1164 00:58:22,214 --> 00:58:25,130 Kaj lasu min nur piediri vin tra kion tiu kodo faras kaj mi lasos ĝin 1165 00:58:25,130 --> 00:58:28,580 vin elkompreni la sekreta bildo. 1166 00:58:28,580 --> 00:58:32,226 Tiu unua linio tie ke mi havas nur emfazata donas la sekvan. 1167 00:58:32,226 --> 00:58:34,100 Sur la maldekstra flanko, vi havas kio nomiĝas 1168 00:58:34,100 --> 00:58:39,140 variablo kiu Nick havas arbitre, sed racie nomitaj im por bildo. 1169 00:58:39,140 --> 00:58:41,660 Sur la dekstra flanko de tiu egalsigno, 1170 00:58:41,660 --> 00:58:45,240 li diris al mi novan citaĵo, unquote "simpla bildo". 1171 00:58:45,240 --> 00:58:49,680 >> Simpla bildo, en ĉi tiu kunteksto estas kio nomiĝas klaso, nu, 1172 00:58:49,680 --> 00:58:53,910 ĝi estas speco de kiel class-- teknike prototype-- sed vere, 1173 00:58:53,910 --> 00:58:58,000 tio donas al mi novan celon, la enhavo de kiu estas la dosiero, 1174 00:58:58,000 --> 00:58:59,610 fero-puzzle.png. 1175 00:58:59,610 --> 00:59:03,190 Alivorte, Nick kreis tiu nocio de simpla bildo 1176 00:59:03,190 --> 00:59:05,920 tiel ke ni povas, por pedagogiaj celoj, ludas kun la bildo 1177 00:59:05,920 --> 00:59:09,790 kaj ŝanĝi lia ruĝa, verda, kaj blua valoroj. 1178 00:59:09,790 --> 00:59:11,750 >> Kaj kiel ni faras tion? 1179 00:59:11,750 --> 00:59:15,360 Ĉi iom kamufla sintakso tie Estas ia kiel la ripeto bloko 1180 00:59:15,360 --> 00:59:19,140 ke iuj el vi vidis en Scratch frue hodiaŭ, kie vi povas ripeti 10 fojoj. 1181 00:59:19,140 --> 00:59:22,220 En tiu kazo, Nick havas ne hardcoded nombro kiel 10. 1182 00:59:22,220 --> 00:59:28,020 Anstataŭe li diras pravalorizi variablon nomitan x al 0, 1183 00:59:28,020 --> 00:59:33,180 kontrolu se x estas malpli ol la larĝo de la bildo. 1184 00:59:33,180 --> 00:59:38,160 >> Kaj tiel esti pli taŭga, bildo estas la variablo, punkto signifas iri ene de ĝi 1185 00:59:38,160 --> 00:59:40,900 kaj trovi ĝian larĝo, kaj tiam malfermita paren, fermis 1186 00:59:40,900 --> 00:59:43,687 paren estas nur programisto vojo diri ĉi estas funkcio. 1187 00:59:43,687 --> 00:59:44,520 Tio estas proceduro. 1188 00:59:44,520 --> 00:59:46,430 Tiu estas funcionalidad iu alia skribis. 1189 00:59:46,430 --> 00:59:48,570 Uzi ĝin kaj doni al mi respondon. 1190 00:59:48,570 --> 00:59:53,610 Kaj tiam x ++ estas ornama metodo de dirante, post vi faris tiun fojon, 1191 00:59:53,610 --> 00:59:55,850 pliigo x per 1. 1192 00:59:55,850 --> 00:59:58,760 Alivorte, tiu estas programisto vojo 1193 00:59:58,760 --> 01:00:05,760 de induktante buklo tio tuj persisti super 1194 01:00:05,760 --> 01:00:10,410 ĉiuj kolumnoj en bildo. 1195 01:00:10,410 --> 01:00:14,790 >> Bildo estas nur krado de dots, vicoj kaj kolumnoj de punktoj. 1196 01:00:14,790 --> 01:00:18,270 Tio estas vojo de ripetanta super ĉiuj tiuj kolumnoj. 1197 01:00:18,270 --> 01:00:20,770 Kaj interne, dume, ni ripetanta 1198 01:00:20,770 --> 01:00:24,030 super la montetoj tie kaj tie ĉi kaj tie. 1199 01:00:24,030 --> 01:00:29,442 Do tio estas nur maniero de traipsing, preskaŭ kiel maljuna lernejo tajpilon, 1200 01:00:29,442 --> 01:00:32,230 nur iri trans la tuta bildo ripete. 1201 01:00:32,230 --> 01:00:36,370 Eĉ tio ne tute plene klara, nur prenu sur fidon por nun, 1202 01:00:36,370 --> 01:00:38,880 ke tiuj tri linioj de kodo kune estas 1203 01:00:38,880 --> 01:00:43,090 tuj permesos al ripete rigardi ĉe ĉiu bildero, ĉiu pentras en la bildo. 1204 01:00:43,090 --> 01:00:43,790 >> Kio estas pikselo? 1205 01:00:43,790 --> 01:00:46,250 Nu, por esti klara, se oni konsideras ĉe la origina kaj zomi, 1206 01:00:46,250 --> 01:00:49,060 se vi vere metis la okulojn al la komputila ekrano, jen 1207 01:00:49,060 --> 01:00:53,510 nur tutan faskon da punktoj, pluraj mil punktoj pakitaj kune tie. 1208 01:00:53,510 --> 01:00:56,180 Kaj do kion vi celas fari? 1209 01:00:56,180 --> 01:00:59,240 Ĉiu el tiuj punktoj, fina difino, 1210 01:00:59,240 --> 01:01:06,350 estas la rezulto de kio estas ĝenerale nomita RGB, ruĝa, verda, blua, kiu 1211 01:01:06,350 --> 01:01:09,940 denove, povas esti kombinitaj por doni vin ajna nombro da koloroj. 1212 01:01:09,940 --> 01:01:13,200 >> Fakte, se vi memoras el multaj, multaj jaroj, 1213 01:01:13,200 --> 01:01:17,320 projekciilo ekranoj kiel tion kutimis havi ne unu lenso sed tri. 1214 01:01:17,320 --> 01:01:20,700 Unu el ili kracxis el ruĝa lumo, unu el ilin kraĉi verda lumo, unu el ili 1215 01:01:20,700 --> 01:01:21,600 kraĉi blua lumo. 1216 01:01:21,600 --> 01:01:24,391 Kaj se vi estis en meza lernejo kiel mi estis kie ili neniam 1217 01:01:24,391 --> 01:01:27,000 konvene vicigitaj, vi estis ĉiam rigardante historio filmoj 1218 01:01:27,000 --> 01:01:29,770 kiuj estis iomete distorsionadas, ĉar la tri koloroj ne 1219 01:01:29,770 --> 01:01:30,970 kombinante adekvate. 1220 01:01:30,970 --> 01:01:36,330 >> Sed rezultu ke ĉiu el tiuj valoroj ruĝa, verda, kaj blua, 1221 01:01:36,330 --> 01:01:37,980 povas havi kelkajn asociita kun ili. 1222 01:01:37,980 --> 01:01:42,500 Ekzemple, 0 por ruĝa signifas neniu ruĝa, 0 por verda signifas ne verda, 1223 01:01:42,500 --> 01:01:45,120 kaj 0 por bluo signifas ne blua. 1224 01:01:45,120 --> 01:01:49,403 Do se vi ne havas ruĝan, ne verda, kaj neniu blua, kio koloro vi havas? 1225 01:01:49,403 --> 01:01:51,009 >> Spektantaro: [inaudible] 1226 01:01:51,009 --> 01:01:52,800 DAVID Malan: Vi volus esperas, ĝi estas blanka. 1227 01:01:52,800 --> 01:01:55,333 Bedaŭrinde, ĉi operates-- bedaŭras? 1228 01:01:55,333 --> 01:01:56,380 >> Spektantaro: [inaudible] 1229 01:01:56,380 --> 01:01:58,630 DAVID Malan: Do vi efektive havas nigran, tiukaze. 1230 01:01:58,630 --> 01:02:01,530 Do se vi havas neniun el tiuj koloroj ŝaltitaj, vi havos nigraj. 1231 01:02:01,530 --> 01:02:06,510 Tamen, se vi havas, ni diru multe de ili, kiel multajn ruĝajn, 255 el tio, 1232 01:02:06,510 --> 01:02:10,340 multajn verdajn, kaj multajn el blua, kiuj estas blankaj. 1233 01:02:10,340 --> 01:02:12,230 Tiuj estas la du ekstremoj. 1234 01:02:12,230 --> 01:02:17,460 Do per tiu logiko, se mi havas multajn de ruĝa kaj ne verda kaj neniu blua, 1235 01:02:17,460 --> 01:02:18,485 kio koloro estas tio? 1236 01:02:18,485 --> 01:02:19,360 Spektantaro: [inaudible] 1237 01:02:19,360 --> 01:02:20,610 DAVID Malan: Bone, evidente. 1238 01:02:20,610 --> 01:02:25,940 Kaj tiam ne ruĝa, multajn verda, ne blua, tiam 1239 01:02:25,940 --> 01:02:29,590 se vi have-- bone, ni simple fini ĝin, nur ĉar, sed tiu, kompreneble, 1240 01:02:29,590 --> 01:02:31,350 nun estas blua. 1241 01:02:31,350 --> 01:02:33,030 Kaj nun vi povas kombini tiujn kolorojn. 1242 01:02:33,030 --> 01:02:36,430 Nun kiel flanken, se iu el vi havas ajn faris iu reala retejo dezajno, 1243 01:02:36,430 --> 01:02:38,360 vi povus reale vidi simbolojn kiel tiu. 1244 01:02:38,360 --> 01:02:42,030 FFF-- kaj fakte, ĝi estas verŝajne scias nenion. 1245 01:02:42,030 --> 01:02:44,380 Estas FFFFFF. 1246 01:02:44,380 --> 01:02:48,970 >> Iu iam vidis F-aj kaj E estas kaj A through-- do rezultas, 1247 01:02:48,970 --> 01:02:52,970 Ni parolis hieraŭ sur dekuma, kaj hodiaŭ, ia pri dekuma. 1248 01:02:52,970 --> 01:02:54,570 Hodiaŭ ni parolis pri duumaj. 1249 01:02:54,570 --> 01:02:59,010 Rezultas, deksesuma estas tre komuna bazo sistemo por uzi en komputiko. 1250 01:02:59,010 --> 01:03:04,960 Duuma estas du, dekuma estas 10, deksesumajn estas 16. 1251 01:03:04,960 --> 01:03:08,640 Kaj ĝi rezultas, kiel fari vi rakontas en deksesuma? 1252 01:03:08,640 --> 01:03:11,620 Nulo, unu, du, tri, kvar, kvin, ses, sep, ok, 1253 01:03:11,620 --> 01:03:14,730 naŭ, kion vi uzas post naux? 1254 01:03:14,730 --> 01:03:16,600 Kio estas la sekva nombro? 1255 01:03:16,600 --> 01:03:19,180 Ni jam uzis nulo. 1256 01:03:19,180 --> 01:03:20,570 Mi bezonas 16 de tiuj. 1257 01:03:20,570 --> 01:03:25,770 Nulo, unu, du, tri, kvar, kvin, ses, sep, ok, naŭ, 1258 01:03:25,770 --> 01:03:27,520 vi bezonas iun arbitra konvencio. 1259 01:03:27,520 --> 01:03:30,810 >> Kaj kion la homo decidis iam antaŭ ke post naŭ venas la letero 1260 01:03:30,810 --> 01:03:34,450 A kaj tiam B kaj tiam C. Do la Tiel vi rakontas en deksesuma 1261 01:03:34,450 --> 01:03:37,040 estas nul, unu, du, tri, kvar, kvin, ses, sep, ok, naŭ, 1262 01:03:37,040 --> 01:03:42,880 A, B, C, D, E, F, kaj kiu rakontos vi tute, rezultas, al 15. 1263 01:03:42,880 --> 01:03:47,850 Do nulo al 15 estas nulo tra F. Nun kial estas ke signifa? 1264 01:03:47,850 --> 01:03:51,570 Nu, kiam vi havas du F-a, tiel estas kiel vi esprimas 255. 1265 01:03:51,570 --> 01:03:54,350 >> Do longan rakonton, en la mondo de la Photoshop, 1266 01:03:54,350 --> 01:03:57,299 ke grafika dezajno programaro, en la mondo de ttt disvolviĝo, 1267 01:03:57,299 --> 01:03:59,590 kie vi havas multajn kolorojn, kompreneble, por ludi kun, 1268 01:03:59,590 --> 01:04:02,350 Ofte programistoj volas esprimi tiujn en deksesuma, 1269 01:04:02,350 --> 01:04:05,260 nur ĉar ĝi emas esti iom pli simpla. 1270 01:04:05,260 --> 01:04:07,850 Kvankam unuavide ĝi estas multe pli kompleksa. 1271 01:04:07,850 --> 01:04:11,590 >> Do ĉiuokaze, tio estas grava ĉar Nick ĉe Stanfordo 1272 01:04:11,590 --> 01:04:15,100 donis al ni ses pecoj de funcionalidad ke vi, la burĝona programistoj, 1273 01:04:15,100 --> 01:04:17,060 nun havas la kapablon uzi. 1274 01:04:17,060 --> 01:04:19,960 Konstruita en tiu retejo paĝo longas ses funkcioj, 1275 01:04:19,960 --> 01:04:21,820 ses proceduroj kiu Nick skribis. 1276 01:04:21,820 --> 01:04:26,800 Tri el ili ekiru nombro, ruĝa, verda, aŭ blua valoro. 1277 01:04:26,800 --> 01:04:28,787 Tri el ili starigos tiun valoron. 1278 01:04:28,787 --> 01:04:30,620 Kaj tiuj substrekoj estas nur anstataŭiloj, 1279 01:04:30,620 --> 01:04:32,600 Do vi devas scii kion tiuj estas. 1280 01:04:32,600 --> 01:04:36,240 >> Do kun tiuj tri funkcioj: la unua el tiuj aferoj 1281 01:04:36,240 --> 01:04:39,190 tuj esti x-koordinato, kaj la dua de ĉi tiuj aferoj 1282 01:04:39,190 --> 01:04:40,700 tuj esti y-koordinato. 1283 01:04:40,700 --> 01:04:44,650 Alivorte, kiuj pentras, kiujn rastrumero vi volas ricevi verdan de, 1284 01:04:44,650 --> 01:04:46,480 akiri la bluo de, akiri la ruĝan de. 1285 01:04:46,480 --> 01:04:51,440 Kaj tiam ĉi tie, ĉi tiu tuj estos x, ĉi tiu tuj estos la y valoro, 1286 01:04:51,440 --> 01:04:55,379 kaj ĉi tiu tuj estos kelkaj. 1287 01:04:55,379 --> 01:04:57,170 Do ni faru la unuajn linio de ĉi kune 1288 01:04:57,170 --> 01:05:00,220 kaj tiam Mi lasos ĝin al vi provi dedukti la reston. 1289 01:05:00,220 --> 01:05:03,100 Tiel por la instrukcioj sur tiu paĝo, ni bezonas 1290 01:05:03,100 --> 01:05:08,960 pliigi la ruĝa je faktoro de 10 kaj ni devas forigi la verdan 1291 01:05:08,960 --> 01:05:09,930 kaj forigi la blua. 1292 01:05:09,930 --> 01:05:12,410 Komencu kun la lasta scenaroj. 1293 01:05:12,410 --> 01:05:17,760 Do se mi volas, kaj mi tuj al krommargxenu uzante iuj spacoj, 1294 01:05:17,760 --> 01:05:22,291 Se mi volas agordi la ruĝa, la verda, aŭ blua valoro, 1295 01:05:22,291 --> 01:05:23,540 Mi tuj faros la sekvajn. 1296 01:05:23,540 --> 01:05:31,280 >> Bildo, im.setBlue kaj tiam bazita sur miaj instrukcioj tie, 1297 01:05:31,280 --> 01:05:36,700 kio tri aferoj do mi tajpi ene de krampoj nun? 1298 01:05:36,700 --> 01:05:41,960 Mi bezonas la x valoro, la y valoro, kaj kiu nombro 1299 01:05:41,960 --> 01:05:48,770 mi metis tien se mi volas forigi de la blua, bazita sur tiu rakonto tie? 1300 01:05:48,770 --> 01:05:49,630 Nur nulo. 1301 01:05:49,630 --> 01:05:52,420 Se mi volas nenian bluan, mi estas nur tuj ŝanĝu ĝin al nulo. 1302 01:05:52,420 --> 01:05:54,465 >> Nun ni nur recap kion ĉi faras. 1303 01:05:54,465 --> 01:05:56,970 1304 01:05:56,970 --> 01:06:01,170 Mi havas ĉi tie en tiuj supro dua kaj tria linioj, 1305 01:06:01,170 --> 01:06:04,080 Mi asertis du cikloj, nestitaj maŝojn, se vi 1306 01:06:04,080 --> 01:06:08,360 estos, ke tuj havos la efikon progresi de maldekstra al dekstra, 1307 01:06:08,360 --> 01:06:11,590 supro al malsupro super ĉiuj x valoroj kaj ĉiuj y valoroj. 1308 01:06:11,590 --> 01:06:15,167 Ĉar denove, bildo nur krado de vicoj kaj kolumnoj. 1309 01:06:15,167 --> 01:06:17,000 Tial ĉi tiu tuj akiri liverita de ĉiuj blua. 1310 01:06:17,000 --> 01:06:18,627 Mi restigos en la sekva linio al vi. 1311 01:06:18,627 --> 01:06:20,043 Kiel mi forigi ĉiujn verdajn? 1312 01:06:20,043 --> 01:06:23,747 1313 01:06:23,747 --> 01:06:25,140 >> Spektantaro: [inaudible] 1314 01:06:25,140 --> 01:06:26,151 >> DAVID Malan: Nice. 1315 01:06:26,151 --> 01:06:28,260 >> Spektantaro: [inaudible] 1316 01:06:28,260 --> 01:06:30,850 >> DAVID Malan: Nice. 1317 01:06:30,850 --> 01:06:36,120 Kaj mi tuj malzomi, kaj nur preni zorgi pri tio vi jam ne faris ajnan tajperarojn. 1318 01:06:36,120 --> 01:06:39,390 Kaj se vi estas komforta kun kion vi faris, 1319 01:06:39,390 --> 01:06:42,936 antaŭeniri kaj klaku la butonon Kuri / Konservi kaj rigardu kion vi akiras. 1320 01:06:42,936 --> 01:06:46,982 1321 01:06:46,982 --> 01:06:48,690 Kaj denove, ni faris nur tri ŝanĝoj. 1322 01:06:48,690 --> 01:06:52,130 Ni forigita unue komenti kaj anstataŭigis ĝin 1323 01:06:52,130 --> 01:06:53,575 kun tiuj du linioj de kodo. 1324 01:06:53,575 --> 01:06:55,742 1325 01:06:55,742 --> 01:06:58,450 Kaj ĝi estas OK se vi devas frapi la Run / Konservi butono paro tempoj 1326 01:06:58,450 --> 01:07:01,190 ripari ion. 1327 01:07:01,190 --> 01:07:03,610 >> Kaj mi ankaŭ zomi en sur mia kodo tiel vi povas transskribi. 1328 01:07:03,610 --> 01:07:04,110 Bonaj. 1329 01:07:04,110 --> 01:07:08,720 Do mi vidas Andrew havas kion ŝajnas esti eraro. 1330 01:07:08,720 --> 01:07:11,110 Li ĵus ricevis grandan nigran rektangulo sur lia ekrano. 1331 01:07:11,110 --> 01:07:13,120 Ĉu iu alia havas granda nigra rektangulo? 1332 01:07:13,120 --> 01:07:13,390 >> Spektantaro: Jes. 1333 01:07:13,390 --> 01:07:14,360 >> DAVID Malan: Granda nigra rektangulo? 1334 01:07:14,360 --> 01:07:16,068 Bone, do ni pensas pri kio tio signifas. 1335 01:07:16,068 --> 01:07:20,560 Ni diris ke nulo, nulo, nulo, do neniu verda, neniu ruĝa, ne blua, 1336 01:07:20,560 --> 01:07:21,980 tuj donos vin nigraj. 1337 01:07:21,980 --> 01:07:24,467 Kaj ĝi rezultas ke plejparto de niaj tekkomputiloj 1338 01:07:24,467 --> 01:07:25,800 nur ne havas sufiĉe fideleco. 1339 01:07:25,800 --> 01:07:27,750 Vi ne tute povas diri ke fakte ion tie. 1340 01:07:27,750 --> 01:07:30,340 Kaj se vi ia eble apogos via ekrano antaŭen kaj reen, 1341 01:07:30,340 --> 01:07:32,850 eble vi vidi iom ion tie? 1342 01:07:32,850 --> 01:07:34,820 Eble, ia, ia? 1343 01:07:34,820 --> 01:07:36,640 Ĝi ne perfekte nigra. 1344 01:07:36,640 --> 01:07:38,050 >> Spektantaro: [inaudible] 1345 01:07:38,050 --> 01:07:39,510 >> DAVID Malan: Spoiler! 1346 01:07:39,510 --> 01:07:42,610 Ekzistas iuj ruĝaj tie, sed memoras de la specifoj 1347 01:07:42,610 --> 01:07:44,940 de la problemo, Nick tonon ĝi malsupren. 1348 01:07:44,940 --> 01:07:47,860 Li desaturated ĝin iom, sed ne tute al nulo. 1349 01:07:47,860 --> 01:07:51,670 Do se ni volas altigi la kvanton de ruĝa, mi proponas tiun trukon. 1350 01:07:51,670 --> 01:07:53,750 Lasu min zomi en sur mia ekrano. 1351 01:07:53,750 --> 01:07:58,678 Kaj lasu min antaŭeniri kaj diru kvanto egalas im.getRed (x, y). 1352 01:07:58,678 --> 01:08:02,440 1353 01:08:02,440 --> 01:08:05,790 >> Ĉi linio de kodo estas donanta min iu nomita variablo. 1354 01:08:05,790 --> 01:08:09,643 Mi arbitre, sed, eble, prudente nomis mian variablo kio, 1355 01:08:09,643 --> 01:08:10,143 ŝajne? 1356 01:08:10,143 --> 01:08:13,530 1357 01:08:13,530 --> 01:08:14,340 Kvanto. 1358 01:08:14,340 --> 01:08:14,980 Nur kvanton. 1359 01:08:14,980 --> 01:08:16,960 Mi povus jam alvokis ŝin ion mi volas, sed mi 1360 01:08:16,960 --> 01:08:19,490 uzante ĉi tiu alia funkcio ke mi priskribis pli frue 1361 01:08:19,490 --> 01:08:25,359 akiri la kvanto de ruĝa je x komo kaj. 1362 01:08:25,359 --> 01:08:27,520 Kial mi faras tion? 1363 01:08:27,520 --> 01:08:30,004 Kion vi volas fari tie? 1364 01:08:30,004 --> 01:08:32,910 1365 01:08:32,910 --> 01:08:33,619 Vi bezonas add-- 1366 01:08:33,619 --> 01:08:34,493 Spektantaro: [inaudible] 1367 01:08:34,493 --> 01:08:36,279 DAVID Malan: Jes, eble multipliki ĝin per 10. 1368 01:08:36,279 --> 01:08:38,862 Kaj se vi ne scias tion, mi estas tuj iros antaŭen kaj fari tion. 1369 01:08:38,862 --> 01:08:42,060 Mi tuj iros antaŭen kaj diru, mi volas ke la kvanto de ruĝa 1370 01:08:42,060 --> 01:08:46,550 Mi volas esti kio ajn estas en la ruĝa kaj tempoj 10, 1371 01:08:46,550 --> 01:08:50,330 kaj la steloj, la asterisko sur via klavaro estas estas- ne uzas x. 1372 01:08:50,330 --> 01:08:51,569 Uzi la stelon. 1373 01:08:51,569 --> 01:08:55,350 Tiel vi multigos aferoj en plej programlingvoj. 1374 01:08:55,350 --> 01:08:59,790 >> Do laŭ Kareem la intuicio, stokitaj en tiu variablo nomata sumo, 1375 01:08:59,790 --> 01:09:03,649 estas kiom ruĝa Mi volas en loko xy. 1376 01:09:03,649 --> 01:09:11,500 Kiel nun mi faras ke Pixel havas tiun numeron? 1377 01:09:11,500 --> 01:09:12,859 Vi jam faris tion antaŭe. 1378 01:09:12,859 --> 01:09:17,666 Vi starigis la verdo kaj la blua aŭ neniu valoro al nulo. 1379 01:09:17,666 --> 01:09:18,540 Spektantaro: [inaudible] 1380 01:09:18,540 --> 01:09:20,040 DAVID Malan: Jes, bone vi ne volas ke 10. 1381 01:09:20,040 --> 01:09:21,460 Vi jam faris la math tie. 1382 01:09:21,460 --> 01:09:24,779 Do ni ricevas la valoro de ruĝaj, kiu estas malalta numero, supozeble. 1383 01:09:24,779 --> 01:09:26,180 Ni multiplikante per 10. 1384 01:09:26,180 --> 01:09:29,139 Kion vi volas fari kun la ŝanĝiĝema kvanto nun? 1385 01:09:29,139 --> 01:09:30,130 >> Spektantaro: [inaudible] 1386 01:09:30,130 --> 01:09:30,880 >> DAVID Malan: Nice. 1387 01:09:30,880 --> 01:09:34,616 Tiel im.set-- kio? 1388 01:09:34,616 --> 01:09:35,640 >> Spektantaro: setRed. 1389 01:09:35,640 --> 01:09:39,760 >> DAVID Malan: setRed, ĉe loko xy. 1390 01:09:39,760 --> 01:09:40,260 Yeah. 1391 01:09:40,260 --> 01:09:41,200 Kaj nur kvanton. 1392 01:09:41,200 --> 01:09:44,257 Alivorte, ŝanĝiĝema estas portempa lokokupilo 1393 01:09:44,257 --> 01:09:45,840 ke vi povas meti ion vi volas en. 1394 01:09:45,840 --> 01:09:48,680 Ni okazi esti metanta nombro en ĝi, nuntempe. 1395 01:09:48,680 --> 01:09:51,569 Ni multiplikas ĝin 10 por fari ĝin pli granda. 1396 01:09:51,569 --> 01:09:56,480 Kaj nun mi anstataŭiganta tiu variablo kiel tiu tria argumento, aŭ enigo 1397 01:09:56,480 --> 01:09:57,810 agordi ruĝa. 1398 01:09:57,810 --> 01:10:00,440 Kaj por ke iam vi finos tion, kaj prenas noton 1399 01:10:00,440 --> 01:10:02,330 de la punktokomoj kaj la krampoj. 1400 01:10:02,330 --> 01:10:06,290 >> Antaŭeniri kaj klaku kuri / savu denove, kaj vi 1401 01:10:06,290 --> 01:10:10,690 devus vidi, magie, kio estis fakte tie. [? Arwa,?] Kio estas tie? 1402 01:10:10,690 --> 01:10:16,412 La Ejfelturo en plena disvolviĝinta ruĝa, ne tute malluma. 1403 01:10:16,412 --> 01:10:17,870 ĝi devus esti pli evidenta nun, jes? 1404 01:10:17,870 --> 01:10:18,840 BONE. 1405 01:10:18,840 --> 01:10:20,215 Kaj Andreon jam pli nigra skatolo? 1406 01:10:20,215 --> 01:10:21,090 Spektantaro: [inaudible] 1407 01:10:21,090 --> 01:10:22,180 DAVID Malan: Bone. 1408 01:10:22,180 --> 01:10:23,610 Do mi tenos tion en la ekrano. 1409 01:10:23,610 --> 01:10:27,010 Se vi volas ludi kun ĉi poste, mi rekrei por vi. 1410 01:10:27,010 --> 01:10:29,140 Sed tiu kodo tie faris ekzakte tion. 1411 01:10:29,140 --> 01:10:31,460 Kial ni ne faru unu alia. 1412 01:10:31,460 --> 01:10:33,880 Lasu min rulumi malsupren iomete. 1413 01:10:33,880 --> 01:10:36,760 >> Do en ĉi tiu kazo, la proyector ne vere faras ĝin justeco. 1414 01:10:36,760 --> 01:10:40,486 Sed via ekranoj, vi probable havas tre ruĝa kaj tre nigra skatolo. 1415 01:10:40,486 --> 01:10:42,610 Tio, ankaŭ, estas puzlo kiu montras ion fama. 1416 01:10:42,610 --> 01:10:44,193 Tamen, la bildo estis distordita. 1417 01:10:44,193 --> 01:10:47,740 La vera bildo, ĉifoje, estas en la blua kaj verda valoroj. 1418 01:10:47,740 --> 01:10:51,820 Tamen, ili jam ĉiuj estis dividita 20 tial la valoroj estas tre malgrandaj. 1419 01:10:51,820 --> 01:10:54,660 La ruĝa valoroj estas nur hazardaj nombroj, bruo. 1420 01:10:54,660 --> 01:10:57,190 Malfari tiujn distordojn riveli la veran bildon. 1421 01:10:57,190 --> 01:10:59,200 >> Do Noĉjo tiam informas vin, kion fari. 1422 01:10:59,200 --> 01:11:04,290 Starigis la ruĝa valoroj al nulo, kaj tiam ne difektas kion ĝi estas. 1423 01:11:04,290 --> 01:11:07,110 Tiam multipliki la blua kaj verdaj valoroj de 20. 1424 01:11:07,110 --> 01:11:09,820 Do estas preskaŭ la sama programo kiel antaŭe, 1425 01:11:09,820 --> 01:11:11,380 sed vi inversigante la procezon. 1426 01:11:11,380 --> 01:11:13,780 Kaj Mi metos Miajn kodo de antaŭe sur la ekrano en kazo 1427 01:11:13,780 --> 01:11:16,650 vi volas raporti reen al ĝi aŭ ludi pli kun tiu. 1428 01:11:16,650 --> 01:11:18,100 Lasu min zomi en sur tio. 1429 01:11:18,100 --> 01:11:21,450 Sed solvi kupro bildo enigmo, numero du. 1430 01:11:21,450 --> 01:11:37,623 1431 01:11:37,623 --> 01:11:40,580 >> Spektantaro: [inaudible] 1432 01:11:40,580 --> 01:11:44,010 >> DAVID Malan: Bone, do ĉi tiu mi ne tuj donos kiel multaj aludoj. 1433 01:11:44,010 --> 01:11:47,220 Do mi would-- ho, ni jen vi havas typo ĉi tie. 1434 01:11:47,220 --> 01:11:49,621 Do memoru, ĉi tie efektive devas iri tien. 1435 01:11:49,621 --> 01:11:52,870 Do kion mi proponas, se vi volas enfokusigi ĉi tiu, tie estas la respondo. 1436 01:11:52,870 --> 01:11:57,060 Se vi volas transskribi tion, ke devus ricevi la unuan funkciantan. 1437 01:11:57,060 --> 01:11:59,910 Kaj tiam vi povas uzi tiun kiel inspiro por la dua. 1438 01:11:59,910 --> 01:12:02,230 Nice. 1439 01:12:02,230 --> 01:12:02,730 Bonaj. 1440 01:12:02,730 --> 01:12:05,430 1441 01:12:05,430 --> 01:12:08,180 >> Kaj por la scivola, tio estas simpla ekzemplo 1442 01:12:08,180 --> 01:12:11,080 de scienco aŭ arto nomita steganografio, 1443 01:12:11,080 --> 01:12:14,100 la arto de kaŝi informon en bildoj. 1444 01:12:14,100 --> 01:12:16,890 Tipe, bildoj povus esti watermarked tre senhonte 1445 01:12:16,890 --> 01:12:19,500 kun logoo en la fundo angulo, sed klare, vi 1446 01:12:19,500 --> 01:12:22,070 povas esti multe pli kompleksa pri tio kaj fakte 1447 01:12:22,070 --> 01:12:25,050 kaŝi aliajn bildojn en la Bildoj iel kun ĉi tiu tekniko. 1448 01:12:25,050 --> 01:12:59,890 1449 01:12:59,890 --> 01:13:05,770 >> Prenu alian 30 sekundoj, kaj poste ni almenaŭ anonci kion vi vidos. 1450 01:13:05,770 --> 01:13:08,330 Kaj mi lasos la tria unu kiel ĉe-hejmo ekzerco, 1451 01:13:08,330 --> 01:13:11,353 Se vi ŝatus pli da de defii ĉi semajnfino. 1452 01:13:11,353 --> 01:13:18,240 1453 01:13:18,240 --> 01:13:20,390 Kaj mi pensas Andrew eble esti alveninta unue. 1454 01:13:20,390 --> 01:13:22,645 Kio estas la dua bildo, Andreo? 1455 01:13:22,645 --> 01:13:23,920 >> Spektantaro: Statuo de Libereco. 1456 01:13:23,920 --> 01:13:28,500 >> DAVID Malan: Statuo de Libereco estos la respondo ĉi tempo. 1457 01:13:28,500 --> 01:13:31,140 Do denove, nur iuj simplaj ekzemploj, la celo de kiu 1458 01:13:31,140 --> 01:13:35,040 estas doni vin sento de kiel ni tradukis pictórico Scratch 1459 01:13:35,040 --> 01:13:40,410 blokoj por pli ĝena kaj pli komplika kodo, sed ĉiuj ideoj 1460 01:13:40,410 --> 01:13:42,980 ankoraŭ ekzakte la sama, kvankam kun la enkonduko 1461 01:13:42,980 --> 01:13:48,380 nun de la nocio de variablo, estante povis stoki ion provizore. 1462 01:13:48,380 --> 01:13:51,750 >> Ni faru pli manoj-on, Nur nun kunigi la punktoj 1463 01:13:51,750 --> 01:13:53,880 por iu iom pli reala mondo. 1464 01:13:53,880 --> 01:13:56,610 Kiam vi pretos, se vi povus iri al tiu retadreso sur la ekrano. 1465 01:13:56,610 --> 01:14:00,610 Jen ankaŭ en vian kopion de la diapozitivoj, developers.google.com/maps~~V. 1466 01:14:00,610 --> 01:14:03,660 Ni vere faru ion vera, tiel diri, sur la TTT 1467 01:14:03,660 --> 01:14:07,600 uzante la Google Maps API, aŭ apliko programado interfaco, 1468 01:14:07,600 --> 01:14:08,940 en la sekvanta maniero. 1469 01:14:08,940 --> 01:14:12,341 >> Google, kiel multaj entreprenoj, provizas multajn liberajn funcionalidad 1470 01:14:12,341 --> 01:14:14,840 ke vi povas uzi por konstrui vian propra interesaj aplikoj. 1471 01:14:14,840 --> 01:14:18,890 Fakte, se vi iam uzis Uber akiri taksion aŭ aŭto, 1472 01:14:18,890 --> 01:14:21,640 vi probable scias ke Uber havas mapon kaj ĝi montras aŭtoj sur ĝi. 1473 01:14:21,640 --> 01:14:24,870 Te kiel bona kiel mi povas diri, Google Maps API. 1474 01:14:24,870 --> 01:14:28,884 Ili fakte uzas Google mapoj, sed Uber estas ne surĵeto kompanio, 1475 01:14:28,884 --> 01:14:31,050 nek estus ke esti aparte interesa problemo 1476 01:14:31,050 --> 01:14:33,510 solvi sur ilia aŭto servo problemo. 1477 01:14:33,510 --> 01:14:35,510 Kaj tiel ili estas staranta, denove sur la ŝultroj 1478 01:14:35,510 --> 01:14:37,520 de aliaj, Google en ĉi tiu kazo. 1479 01:14:37,520 --> 01:14:42,850 Tial ili uzas Google mapoj sed al sia aŭto servoj kaj aliaj tiaj ecoj. 1480 01:14:42,850 --> 01:14:47,770 >> Do ni tuj profiti de tiu fari la sekvan. 1481 01:14:47,770 --> 01:14:50,230 Kaj se mi iris tro rapide, simple nomas min en momento. 1482 01:14:50,230 --> 01:14:53,500 Feliĉaj recap iuj de la bildo aĵoj. 1483 01:14:53,500 --> 01:14:56,290 Vi devus vidi mem en paĝo kiel tiu. 1484 01:14:56,290 --> 01:14:58,230 Tiel Google bela, kaj ili estas inter la plej bonaj 1485 01:14:58,230 --> 01:15:01,364 provizi ne nur API, sed libera API ke vi 1486 01:15:01,364 --> 01:15:02,780 povas ludi kun aŭ uzi komerce. 1487 01:15:02,780 --> 01:15:06,450 Ili komencas akuzanta vin se via uzado estas alta, sed mi antaŭeniris anticipe 1488 01:15:06,450 --> 01:15:10,490 kaj subskribita nin por libera konto ke, espereble, 10 komputiloj 1489 01:15:10,490 --> 01:15:12,480 ne malkvalifiki nin subite. 1490 01:15:12,480 --> 01:15:14,320 Do espereble tiu manifestacio laboros. 1491 01:15:14,320 --> 01:15:18,840 >> Kaj rimarki ke ili havas API por Android, iOS, retejo kaj servoj retejo, 1492 01:15:18,840 --> 01:15:19,620 kion ajn tio estas. 1493 01:15:19,620 --> 01:15:20,700 Ni enfokusigi retejo. 1494 01:15:20,700 --> 01:15:26,560 Do klaku rozkolora skatolo, ttt, kaj ke kondukos vin, espereble, al paĝo 1495 01:15:26,560 --> 01:15:27,630 tie. 1496 01:15:27,630 --> 01:15:29,335 Kaj ili havas tutan faskon de APIs. 1497 01:15:29,335 --> 01:15:31,210 Kaj ĝi povas esti iom superfortanta ĉe unua, 1498 01:15:31,210 --> 01:15:33,000 sed mi stir nin tra kion ni volas. 1499 01:15:33,000 --> 01:15:38,500 >> Supre maldekstre estas la Google Maps JavaScript API, la JavaScript API. 1500 01:15:38,500 --> 01:15:40,380 Do iru antaŭen kaj klaku tiu. 1501 01:15:40,380 --> 01:15:49,360 Kaj kiu gvidos vin nun al la sekvante paĝo, donu kaj specimeno kodo. 1502 01:15:49,360 --> 01:15:51,190 Lasu min malzomi tie. 1503 01:15:51,190 --> 01:15:56,300 Kaj lasu min liberigi nin to-- rulumu malsupren al kie diras rapida komenco paŝoj. 1504 01:15:56,300 --> 01:15:57,970 Via ekrano aspektu mia. 1505 01:15:57,970 --> 01:16:01,130 >> Kaj ekzistas du ŝtupoj, akiru ŝlosila kaj komenci disvolvi. 1506 01:16:01,130 --> 01:16:04,190 Mi jam faris paŝon por ni ricevas tn ŝlosilo. 1507 01:16:04,190 --> 01:16:05,320 Kaj tio estas komuna ideo. 1508 01:16:05,320 --> 01:16:09,210 API ŝlosilo estas ĝenerale nur granda hazarda nombro aŭ ŝnuro 1509 01:16:09,210 --> 01:16:11,130 ke vi supozis por alglui en via kodo, 1510 01:16:11,130 --> 01:16:15,280 por ke Google scias, kiu vi estas, kiam vi uzas ilian servon, lia API. 1511 01:16:15,280 --> 01:16:17,370 Ne signifas ke ni estas estanta akuzita nenion. 1512 01:16:17,370 --> 01:16:21,030 Kaj nun, klako, anstataŭ unu, klaku komenci disvolvi. 1513 01:16:21,030 --> 01:16:25,990 Se vi povus simple skuu min super se ne certas kie ni estas. 1514 01:16:25,990 --> 01:16:28,040 >> Do ni nur skrapi la surfaco, tie sed kio 1515 01:16:28,040 --> 01:16:31,000 Mi pensis estus konvinka Estas efektive havas nin ĉiujn, 1516 01:16:31,000 --> 01:16:34,240 uzante Cloud9 en unu fenestro kaj ĉi lernilo en alia fenestro, 1517 01:16:34,240 --> 01:16:37,120 Lasas reale preni niajn proprajn apliko kaj kurado 1518 01:16:37,120 --> 01:16:40,920 ke embeds kutimo Google mapi en nia propra retpaĝo, 1519 01:16:40,920 --> 01:16:43,010 kaj tiam aldonas unu aŭ du trajtoj. 1520 01:16:43,010 --> 01:16:45,520 Sed ni simple skrapi la surfaco de kion ni povas fari. 1521 01:16:45,520 --> 01:16:47,020 >> Tiel nur rapidan prudento ĉeko. 1522 01:16:47,020 --> 01:16:49,740 Estas ĉiuj en tiu paĝo, Google Maps JavaScript API? 1523 01:16:49,740 --> 01:16:50,872 Diru ekuzi. 1524 01:16:50,872 --> 01:16:53,330 Ni ne tuj iros tra la tuta afero tute ne. 1525 01:16:53,330 --> 01:16:58,090 OK, en alia langeto, se vi ne havas ĝin malferma, do iru al Cloud9 1526 01:16:58,090 --> 01:17:03,500 kaj akiri vin mem nur nova langeto, finfine. 1527 01:17:03,500 --> 01:17:11,070 Do denove, c9.io de hieraŭ, c9.io kaj simple krei novan dosieron. 1528 01:17:11,070 --> 01:17:13,500 Kaj antaŭeniri kaj alvoko ĝi kion ajn vi volas. 1529 01:17:13,500 --> 01:17:16,495 Mi vokis miajn map.html. 1530 01:17:16,495 --> 01:17:17,870 Nomas ion finiĝante en .html. 1531 01:17:17,870 --> 01:17:23,930 1532 01:17:23,930 --> 01:17:26,580 Kaj vi devus esti malglate Kie mi estas en tiu procezo 1533 01:17:26,580 --> 01:17:31,470 kun nur palpebrumante prompto en malplena langeton nomita ion kiel map.html. 1534 01:17:31,470 --> 01:17:35,808 1535 01:17:35,808 --> 01:17:38,148 Aŭ dosieron, nova dosiero ĉi tempo. 1536 01:17:38,148 --> 01:17:41,960 1537 01:17:41,960 --> 01:17:48,000 >> Kaj nun, dum la Google Maps JavaScript API, 1538 01:17:48,000 --> 01:17:50,010 ni salti legado tra ĉiuj ĉi tekston. 1539 01:17:50,010 --> 01:17:53,760 Sed rimarkas ke saluton mondo ja ĉie, jam vi vidas tion. 1540 01:17:53,760 --> 01:17:58,020 Saluton mondo havas ĉi granda bunta ekzemplo de tuta fasko de HTML. 1541 01:17:58,020 --> 01:18:03,590 Antaŭeniri kaj kopio kaj almeti nur tio HTML, tiel el la doc tipo ĉe la supro 1542 01:18:03,590 --> 01:18:08,810 tutan vojon al la proksimaj HTML tag, iru antaŭen kaj kopii ĉiujn that-- denove, 1543 01:18:08,810 --> 01:18:14,430 jen sub la saluton mondo example-- kaj almeti ke en via Cloud9 langeto, 1544 01:18:14,430 --> 01:18:17,996 por ke nun via ekrano devus rigardi proksimume kiel la mia. 1545 01:18:17,996 --> 01:18:22,280 1546 01:18:22,280 --> 01:18:24,520 >> Kaj vi povas konservi ĝin, sed ne ŝarĝi ĝin ĝuste nun. 1547 01:18:24,520 --> 01:18:26,290 Ni unue rigardu la kodon kaj vidi se ni 1548 01:18:26,290 --> 01:18:29,110 ne konkludi aŭ lerni el kio ĝi estas Google 1549 01:18:29,110 --> 01:18:30,860 havis ni blinde kopii kaj alglui. 1550 01:18:30,860 --> 01:18:33,334 Ili nur deziras helpi, laŭvorte, get ni komencis, 1551 01:18:33,334 --> 01:18:35,500 sed ne estas tiel multe komplekseco reale ekzistas. 1552 01:18:35,500 --> 01:18:40,100 1553 01:18:40,100 --> 01:18:42,210 Demandojn ĝuste ankoraŭ? 1554 01:18:42,210 --> 01:18:43,790 Ni estas sekuraj forĝi antaŭen? 1555 01:18:43,790 --> 01:18:44,330 BONE. 1556 01:18:44,330 --> 01:18:46,800 >> Tiel rapide, ni nur fari iu rapida prudento ĉekoj. 1557 01:18:46,800 --> 01:18:48,800 Linio el kio mi vidu, kaj espereble, vi 1558 01:18:48,800 --> 01:18:51,710 vidu, kion tio signifas, DOCTYPE HTML? 1559 01:18:51,710 --> 01:18:52,385 Kareem, memoras? 1560 01:18:52,385 --> 01:18:53,260 Spektantaro: [inaudible] 1561 01:18:53,260 --> 01:18:53,968 DAVID Malan: Jes. 1562 01:18:53,968 --> 01:18:54,870 Tie venas HTML 5. 1563 01:18:54,870 --> 01:18:57,950 Dume, vicigi du sur la ekrano tie signifas hey retumilo, 1564 01:18:57,950 --> 01:18:59,482 tie venas la efektiva HTML. 1565 01:18:59,482 --> 01:19:01,440 Linio tri estas hej retumilo, tie venas la kapo. 1566 01:19:01,440 --> 01:19:04,260 Linio kvar estas, kompreneble, hej retumilo, tie venas la titolo. 1567 01:19:04,260 --> 01:19:07,780 Kion linio kvin faras? 1568 01:19:07,780 --> 01:19:09,930 Fakte, tiu ne vere fari ion por ni. 1569 01:19:09,930 --> 01:19:13,340 En tiu kazo, ĝi nur resizes la paĝon al defaŭlta. Linio ses, 1570 01:19:13,340 --> 01:19:16,140 ni ne raportis, sed ĝi specifas la karakteron kodoprezenton. 1571 01:19:16,140 --> 01:19:19,181 Ekzistas malsamaj manieroj por kodi dosierojn, speciale por fremdaj lingvoj. 1572 01:19:19,181 --> 01:19:21,100 UTF-8 ĝuste inklinas esti la defaŭlta. 1573 01:19:21,100 --> 01:19:26,580 >> Do nun ni vidas en linio sep tra 16, iuj CSS. 1574 01:19:26,580 --> 01:19:29,260 Kaj kvankam ni ne vidis ĉiuj tiuj aferoj antaŭ, 1575 01:19:29,260 --> 01:19:30,810 ni povas ia konkludi. 1576 01:19:30,810 --> 01:19:37,075 Tiel viciĝas ok rimedoj, hej retumilo, apliki ĉiuj el la sekvaj por kiu du etikedoj, 1577 01:19:37,075 --> 01:19:37,575 ŝajne? 1578 01:19:37,575 --> 01:19:40,650 1579 01:19:40,650 --> 01:19:41,701 HTML kaj korpo tekston. 1580 01:19:41,701 --> 01:19:43,200 Tial la komo estas la nova afero tie. 1581 01:19:43,200 --> 01:19:46,140 Kaj tio estas nur maniero de preciziganta multoblaj etikedoj samtempe. 1582 01:19:46,140 --> 01:19:47,640 >> Tiam ni havas la frizita krampoj. 1583 01:19:47,640 --> 01:19:51,170 Do ŝajne, tiu rakontas la retumilo, fari la alteco de la paĝo 100%. 1584 01:19:51,170 --> 01:19:54,170 Do eĉ se ekzistas tre malgranda enhavo, fari la tutan paĝon, 1585 01:19:54,170 --> 01:19:55,530 fari la aferon plenigi la paĝon. 1586 01:19:55,530 --> 01:19:57,524 Fari la mapon finfine plenigi la paĝon. 1587 01:19:57,524 --> 01:19:58,690 Rando, kion tio signifas? 1588 01:19:58,690 --> 01:20:01,559 Tio kutime kiel arbitra blanka spaco ĉirkaŭ la randoj 1589 01:20:01,559 --> 01:20:04,350 ke iu retumilo diseñador nur decidis devus esti tie, ĉar ĝi 1590 01:20:04,350 --> 01:20:05,540 ia faras tion aspektas pura. 1591 01:20:05,540 --> 01:20:06,498 Sed ni ne volas tion. 1592 01:20:06,498 --> 01:20:08,710 Ni volas la mapon iras tutan vojon al la randoj. 1593 01:20:08,710 --> 01:20:10,930 Plenigado, simila en spirito al randoj. 1594 01:20:10,930 --> 01:20:14,980 Randoj signifi eksteren, Plenigado rimedoj ene, sed ĝi estas la sama speco de interkonsento. 1595 01:20:14,980 --> 01:20:17,520 Estas iomete de buffer inter vi kaj la randoj. 1596 01:20:17,520 --> 01:20:21,170 >> Kaj tiam linio 13 estas bona ŝanco por rapida revizio. 1597 01:20:21,170 --> 01:20:26,440 Kion faras akraj signo mapo signifi aŭ hashtag mapo signifas? 1598 01:20:26,440 --> 01:20:29,650 Kion tio aludas al, principe? 1599 01:20:29,650 --> 01:20:31,485 >> Spektantaro: [inaudible] 1600 01:20:31,485 --> 01:20:32,360 DAVID Malan: Ĝuste. 1601 01:20:32,360 --> 01:20:36,900 Tiu propraĵo, ĉi CSS proprieto koncernas nur unu afero, la HTML etikedo 1602 01:20:36,900 --> 01:20:41,180 kiu havas ID de citaĵo, unquote "mapo". 1603 01:20:41,180 --> 01:20:44,460 Kaj nun ni rapide antaŭen, skribrulajxo malsupren al la fundo de la dosiero, kiun 1604 01:20:44,460 --> 01:20:49,860 ne tro malproksime, kaj avizo sur linio 19 Se vi algluu ĝin precize kiel mi intencis, 1605 01:20:49,860 --> 01:20:53,405 linio 19 havas nur div, kiu estas divido de la paĝo, kiu hieraŭ 1606 01:20:53,405 --> 01:20:54,820 nomita rektangula regiono. 1607 01:20:54,820 --> 01:20:55,820 Oni ja nenion en gxi. 1608 01:20:55,820 --> 01:20:57,550 Ĝi estas malfermita etikedo, proksime etikedo. 1609 01:20:57,550 --> 01:20:59,490 Sed ĝi havas unikan ID. 1610 01:20:59,490 --> 01:21:02,090 >> Do kio ŝajnas esti okazas tie estas Google 1611 01:21:02,090 --> 01:21:05,880 estas pretigante nian retpaĝon al havi kompletan 100% alteco, 1612 01:21:05,880 --> 01:21:09,680 kaj neniu Plenigado, neniu randoj, ĉar kion ni tuj metos ene 1613 01:21:09,680 --> 01:21:13,647 de tiu div kies unika ID estas mapo, estas fakta enigita mapo. 1614 01:21:13,647 --> 01:21:15,480 Kaj ni volas plenigi la paĝo kaj ne nur 1615 01:21:15,480 --> 01:21:17,560 esti iu malgranda rektangulo en la mezo. 1616 01:21:17,560 --> 01:21:24,220 Do linio 14 simile emfazas, la mapi mem devus havi altecon de 100%. 1617 01:21:24,220 --> 01:21:29,220 >> Tial nun rimarkas inter linioj 20 kaj 28, tiu estas kodo JavaScript. 1618 01:21:29,220 --> 01:21:33,020 Kaj tio estas, eĉ se ĝi estas sintakse iom stranga, 1619 01:21:33,020 --> 01:21:34,730 tie ne estas ĉiuj ke multe okazas tie. 1620 01:21:34,730 --> 01:21:39,310 En linio 21, tio deklarante iu nomita variablo. 1621 01:21:39,310 --> 01:21:42,030 Anstataŭ nomi ĝin kvantoj, kiel ni faris antaŭe, 1622 01:21:42,030 --> 01:21:44,500 ni pli precize diri var, kiu ĵus signifas variablo. 1623 01:21:44,500 --> 01:21:46,520 Ni povis esti uzita ke en Nick kodo, sed li ne faris tion, do mi 1624 01:21:46,520 --> 01:21:48,190 ne tedis fari ĝin. 1625 01:21:48,190 --> 01:21:50,240 Estas ŝanĝiĝema nomita mapi, kaj tiam tie estas 1626 01:21:50,240 --> 01:21:53,360 funkcio kiu estas ŝajne nomita initMap. 1627 01:21:53,360 --> 01:21:55,780 >> Do tiu estas kiel nia propra kutimo enigmo pecon en Scratch. 1628 01:21:55,780 --> 01:21:58,830 Ni kreis pecon de funcionalidad nomita initMap, 1629 01:21:58,830 --> 01:22:00,980 kaj vi povas ia konkludi kio okazas ĉi tie. 1630 01:22:00,980 --> 01:22:02,930 Sur la maldekstra flanko, Ni havas variablo, 1631 01:22:02,930 --> 01:22:06,000 do ni tuj metis la jenan afero ene tiu variablo, 1632 01:22:06,000 --> 01:22:07,362 de dekstre maldekstren. 1633 01:22:07,362 --> 01:22:11,940 Dekstre diras, hey retumilo, donu al mi novan Google mapo. 1634 01:22:11,940 --> 01:22:16,490 Kaj google.maps.map estas nur funky maniero de preciziganta ke tiu funcionalidad 1635 01:22:16,490 --> 01:22:19,790 apartenas al Google Maps. 1636 01:22:19,790 --> 01:22:23,010 >> Post la krampoj, ni vidis tion antaŭe, hej retumilo, akiru 1637 01:22:23,010 --> 01:22:29,210 mi la elementoj en la paĝo, la etikedo en la paĝo kies unika ID is-- 1638 01:22:29,210 --> 01:22:30,710 >> Spektantaro: [inaudible] 1639 01:22:30,710 --> 01:22:31,790 >> DAVID Malan: --map. 1640 01:22:31,790 --> 01:22:35,770 Kaj kio okazas, nu, tiu linio kune, linio 23, 1641 01:22:35,770 --> 01:22:38,630 Estas esence dirante: hej retumilo, Iri akiri min 1642 01:22:38,630 --> 01:22:42,800 ke malplena div sur la paĝo kies unika ID estas mapo, 1643 01:22:42,800 --> 01:22:45,600 ĉar mi volas enmeti en it-- injekti en ĝin, 1644 01:22:45,600 --> 01:22:49,520 se vi will-- tuta amaso de enhavo kiu sekvinbero al veni de la retejo, 1645 01:22:49,520 --> 01:22:50,427 poste. 1646 01:22:50,427 --> 01:22:52,010 Kaj Google faras ĉiujn ke por ni. 1647 01:22:52,010 --> 01:22:55,350 >> Do denove, ĉe la fino de la tago, ni havas tiun ekzemplon de abstracción. 1648 01:22:55,350 --> 01:22:58,610 Mi havas neniun ideon kio mapon estas aŭ kiel apliki mapon API. 1649 01:22:58,610 --> 01:22:59,460 Ni ne bezonas. 1650 01:22:59,460 --> 01:23:02,740 Ni devas nur diri la mapo kie meti kaj lasi 1651 01:23:02,740 --> 01:23:04,880 tiuj subestaj efektivigo detaloj de Google. 1652 01:23:04,880 --> 01:23:08,190 Nun estas ŝajne du pecoj de datumoj 1653 01:23:08,190 --> 01:23:11,940 ke ĉi tiu ekzemplo estas havigante al Google API. 1654 01:23:11,940 --> 01:23:16,450 Ŝajne la centro de la mapo, kaj la zoom nivelo, por tiel diri. 1655 01:23:16,450 --> 01:23:21,390 >> Kaj ĉu iu rekonas tiujn koordinatoj, latitudo kaj longitudo? 1656 01:23:21,390 --> 01:23:24,364 Probable ne, sed ni povas reiri al la lernilo, laŭvorte vidi. 1657 01:23:24,364 --> 01:23:25,780 Sed ni vidos ŝin en nur momento. 1658 01:23:25,780 --> 01:23:29,880 Zoom nivelo estas valoro inter, mi ne faras scias, en 13 aŭ io kiel tio. 1659 01:23:29,880 --> 01:23:32,880 Ĝi nur devas vidi kun kiom vi zomis en aŭ for, kaj tio estas ĝi. 1660 01:23:32,880 --> 01:23:35,690 Nun je la fino de la paĝo, avizo linio 29-- 1661 01:23:35,690 --> 01:23:39,960 ĝi estas iom malbela ĉar ĝi wraps-- tiun linion de kodo 1662 01:23:39,960 --> 01:23:44,570 Estas kio elŝutas al la retumilo Google fakta API. 1663 01:23:44,570 --> 01:23:47,500 Ĉiuj de la kodo kiun Google inĝenieroj skribis ke efektivigi 1664 01:23:47,500 --> 01:23:50,000 tiu tuta eco de Enkorpigebla mapoj. 1665 01:23:50,000 --> 01:23:51,470 >> Nun ni ne ŝanĝas nenion. 1666 01:23:51,470 --> 01:23:54,761 Se vi sekvante kune, iru antaŭen kaj nur savu tiu dosiero, se vi ja havas 1667 01:23:54,761 --> 01:23:55,760 kion mi havas. 1668 01:23:55,760 --> 01:23:57,370 Iri al ties ret. 1669 01:23:57,370 --> 01:23:59,820 Klaku Run butono supren supro kaj rakontos 1670 01:23:59,820 --> 01:24:03,050 vi la URL de via retservilo denove. 1671 01:24:03,050 --> 01:24:06,010 Kaj ĝi kondukos vin al nova langeto. 1672 01:24:06,010 --> 01:24:11,910 Se vi klakas Malferma por map.html kaj prognozoj estas vi 1673 01:24:11,910 --> 01:24:15,520 ricevos atentigon, erarmesagxon, jes? 1674 01:24:15,520 --> 01:24:18,570 Erarmesaĝo, erarmesaĝo? 1675 01:24:18,570 --> 01:24:21,170 >> Do bedaŭrinde, la eraro mesaĝo ne ke iluminanta 1676 01:24:21,170 --> 01:24:23,890 se vi fakte malfermas konzolo, ke speciala langeto ni 1677 01:24:23,890 --> 01:24:27,110 tenis malfermante hieraux iom pli frue hodiaŭ. 1678 01:24:27,110 --> 01:24:29,445 Sed mi stumblis trans ĉi pli frue, tial mi jam 1679 01:24:29,445 --> 01:24:30,820 eltrovis kio la solvo estas. 1680 01:24:30,820 --> 01:24:34,440 En hodiaŭa diapozitivoj, aŭ prefere, en Cloud9, avizo 1681 01:24:34,440 --> 01:24:36,430 ke ni ne faris ion intence. 1682 01:24:36,430 --> 01:24:40,690 Rimarki ke tiu skripto etikedo en linio 29, se vi legas tra ĝi, 1683 01:24:40,690 --> 01:24:44,440 estas kvazaŭ maps.googleapis.com/ ion, ion, ion, 1684 01:24:44,440 --> 01:24:46,430 tiam rimarkos iu, unu el la desarrolladores, 1685 01:24:46,430 --> 01:24:50,040 skribis en tuta ĉefurbo literoj, vian API ŝlosilo. 1686 01:24:50,040 --> 01:24:51,700 >> Ni devas almeti ion tie. 1687 01:24:51,700 --> 01:24:53,450 Kaj tiu estis la paŝo Mi faris por ni antaŭe, 1688 01:24:53,450 --> 01:24:57,190 kaj denove ili Blacklist ni se subite, 12 aŭ pli el ni 1689 01:24:57,190 --> 01:24:59,470 ekuzi la sama ŝlosilo, sed ni vidu kio okazas. 1690 01:24:59,470 --> 01:25:03,030 Do se vi iras en la hodiaŭa diapozitivoj, unu glito poste, ekzistas 1691 01:25:03,030 --> 01:25:07,070 ĉi tre funky aspekto ŝnuro de teksto. 1692 01:25:07,070 --> 01:25:12,230 Iri antaŭen kaj nur kopii tion kaj gluu ĝin kie diras via API ŝlosilo. 1693 01:25:12,230 --> 01:25:15,120 Jen la unu mi subskribis supre por. 1694 01:25:15,120 --> 01:25:17,700 >> Kaj certe ne provu tajpante ĝin permane, 1695 01:25:17,700 --> 01:25:21,210 ĉar ĝi sentas ŝarĝita kun tajperarojn, potenciale. 1696 01:25:21,210 --> 01:25:23,260 Do simple kopii kaj almeti tion. 1697 01:25:23,260 --> 01:25:26,090 Kaj ĝi tuj faros la linion plu, sed nun, nur por esti klara, 1698 01:25:26,090 --> 01:25:29,540 ĝi devus rigardi iom pli kiel tiu, kie ŝlosilo egalas ne 1699 01:25:29,540 --> 01:25:32,200 kapitaligita kriante al vi. 1700 01:25:32,200 --> 01:25:34,810 Savi vian paĝon, reiri al la alia langeto, reŝarĝi, 1701 01:25:34,810 --> 01:25:36,770 kaj esperas vidi mapon de kie? 1702 01:25:36,770 --> 01:25:37,790 >> Spektantaro: Aŭstralio. 1703 01:25:37,790 --> 01:25:38,748 >> DAVID Malan: Aŭstralio. 1704 01:25:38,748 --> 01:25:41,200 Do ŝajne tiuj estas la GPS koordinatoj de Aŭstralio. 1705 01:25:41,200 --> 01:25:44,491 Kaj mi piediras proksimume por nur momento kaj helpi iu ajn kiu ne estas tre tie, 1706 01:25:44,491 --> 01:25:47,729 sed mi proponas, pere de Google, trovi la GPS koordinatoj de via hejmurbo 1707 01:25:47,729 --> 01:25:48,770 aŭ via propra hejma lando. 1708 01:25:48,770 --> 01:25:51,436 Kaj probable Google povas defali supren, aŭ Vikipedio certigas al vi. 1709 01:25:51,436 --> 01:25:54,410 Sed elekti du malsamaj valoroj por latitudo kaj longitudo, 1710 01:25:54,410 --> 01:25:57,530 reiru en kaj gluu ilin, kaj tiam reŝarĝi la paĝon post savi 1711 01:25:57,530 --> 01:26:00,718 kaj vidu se vi povas havi mapi por via propra hejmurbo. 1712 01:26:00,718 --> 01:26:04,500 1713 01:26:04,500 --> 01:26:08,042 >> Kiam vi faris kun ke, la sekvaĵo challenge-- 1714 01:26:08,042 --> 01:26:11,250 kaj mi donos al iom malpli direkto, intence, por ke vi intence 1715 01:26:11,250 --> 01:26:13,791 devas lukti por paro minutoj kun la dokumentado, 1716 01:26:13,791 --> 01:26:18,740 ŝanĝi la mapon estu ne tio cartoonish defaŭlta, sed satelito mapo. 1717 01:26:18,740 --> 01:26:24,600 Do vi vere vidi sateliton figuraĵo anstataŭ la belaj koloroj. 1718 01:26:24,600 --> 01:26:29,710 >> Kaj la sugesto mi donos al vi estas ŝanĝi la mapo la tipo. 1719 01:26:29,710 --> 01:26:33,084 Reiru al tiu ricevas komenciĝis paĝo por inspiro. 1720 01:26:33,084 --> 01:26:40,599 1721 01:26:40,599 --> 01:26:42,390 Kiel vi eble kolektis, se vi serĉas, 1722 01:26:42,390 --> 01:26:44,250 estas tiom da pli aferoj vi povas fari. 1723 01:26:44,250 --> 01:26:46,380 Iuj el vi jam ŝanĝis la mapon tipo. 1724 01:26:46,380 --> 01:26:49,890 Sed vi povas do-- ekzemple, mi iri al io ni faris por la kurso 1725 01:26:49,890 --> 01:26:52,050 Mi teach-- maps.cs50.net. 1726 01:26:52,050 --> 01:26:53,470 Unu el niaj undergrads faris. 1727 01:26:53,470 --> 01:26:58,890 Ni centros nian mapo super Harvard Yard kaj tegu ĉiuj tiuj konstruaĵo nomoj, 1728 01:26:58,890 --> 01:27:01,070 kaj ni devis lin aldonas ĉi. 1729 01:27:01,070 --> 01:27:04,270 Do se mi volas serĉi, ekzemple, Matthews Hall, 1730 01:27:04,270 --> 01:27:05,730 ni havos iom falmenuo. 1731 01:27:05,730 --> 01:27:09,080 Kaj mi pensas ke li uzas Bootstrap, la biblioteko ni diskutis antaŭe por tio. 1732 01:27:09,080 --> 01:27:12,190 Kaj se vi alklakas Matthews Halo, ĝi tuj 1733 01:27:12,190 --> 01:27:14,790 saltas la mapo al certa loko, kaj ĝi spektakloj 1734 01:27:14,790 --> 01:27:16,440 vi bildon en tiun iom popo supren. 1735 01:27:16,440 --> 01:27:18,670 >> Sed eĉ tiu malgranda pop-up, ni ne apliki. 1736 01:27:18,670 --> 01:27:27,521 Se mi rulumu malsupren sur nia ricevas komenciĝis paĝo kaj serĉi info fenestroj, 1737 01:27:27,521 --> 01:27:29,770 vi vidos ke iuj de la funkciaro vi mem 1738 01:27:29,770 --> 01:27:31,561 povas aldoni, kvankam kun iom pli komplekseco, 1739 01:27:31,561 --> 01:27:33,970 Estas io nomata info fenestro. 1740 01:27:33,970 --> 01:27:37,190 Kaj se mi klakas ekzemplo tie, kaj tio estas kio estas amuza, 1741 01:27:37,190 --> 01:27:40,530 Vi povas fari tion tiel, alklakante markilo kaj voilà, 1742 01:27:40,530 --> 01:27:42,400 informo krevas supre. 1743 01:27:42,400 --> 01:27:45,874 >> Do ni ne tute enkondukita sufiĉe trajtoj de Ĝavoskripto 1744 01:27:45,874 --> 01:27:49,040 pentri bildon de ekzakte kiel vi povus telegramon ĉio ĉi aĵoj kune, 1745 01:27:49,040 --> 01:27:50,706 sed ni ia gratis la surfacon. 1746 01:27:50,706 --> 01:27:53,140 Fakte, kion mi ĵus faris kiam Mi klakis sur tiu markilo, 1747 01:27:53,140 --> 01:27:55,819 estis deĉenigante okazaĵo, tn sur klako okazaĵo. 1748 01:27:55,819 --> 01:27:57,610 Kaj ni efektive vidis okazaĵo pli frue hodiaŭ, 1749 01:27:57,610 --> 01:28:00,670 la tn submetiĝi okazaĵo, kiam ni estis malhelpante 1750 01:28:00,670 --> 01:28:02,490 la uzanto de serĉado katoj. 1751 01:28:02,490 --> 01:28:06,560 Do ni ia prenis kaj choosed el cxiuj tiuj diversaj trajtoj, 1752 01:28:06,560 --> 01:28:08,990 doni al vi la senton, espereble, de kio vi povas reale 1753 01:28:08,990 --> 01:28:11,000 fari kun iom pli komforto en programado, 1754 01:28:11,000 --> 01:28:12,587 kaj tute liberaj rimedoj. 1755 01:28:12,587 --> 01:28:15,856 1756 01:28:15,856 --> 01:28:18,770 >> Demandojn? 1757 01:28:18,770 --> 01:28:19,790 Ne? 1758 01:28:19,790 --> 01:28:22,542 Jen via fina ŝanco, almenaŭ nuntempe, en vendredo, 1759 01:28:22,542 --> 01:28:25,000 akiri ion ekstere vian bruston por ke vi iradu el tie 1760 01:28:25,000 --> 01:28:27,067 sentante certan kaj komfortan. 1761 01:28:27,067 --> 01:28:27,566 Jes. 1762 01:28:27,566 --> 01:28:29,740 >> Spektantaro: Kial ne aldoni unu pli afero? 1763 01:28:29,740 --> 01:28:32,720 >> DAVID Malan: Ho mia bono. 1764 01:28:32,720 --> 01:28:35,260 Mi bezonas ripozon ĉi semajnfinon, mi pensas. 1765 01:28:35,260 --> 01:28:36,180 Aliaj demandoj? 1766 01:28:36,180 --> 01:28:37,055 >> Spektantaro: [inaudible] 1767 01:28:37,055 --> 01:28:44,130 1768 01:28:44,130 --> 01:28:46,810 >> DAVID Malan: Vi can-- en Interreto Explorer, ripozo en paco, 1769 01:28:46,810 --> 01:28:49,310 Vi kutimis esti kapabla meti VB skripto, virtuala baza skripto, 1770 01:28:49,310 --> 01:28:50,643 sed vere neniam sukcesis. 1771 01:28:50,643 --> 01:28:52,490 Tiel la mallonga respondo estas simple Javascript. 1772 01:28:52,490 --> 01:28:55,144 1773 01:28:55,144 --> 01:28:55,810 Aliaj demandoj? 1774 01:28:55,810 --> 01:28:58,427 1775 01:28:58,427 --> 01:28:59,760 Bone, bone, mi faros tion. 1776 01:28:59,760 --> 01:29:02,070 Lasu min ekpreni niaj kolegoj ekstere. 1777 01:29:02,070 --> 01:29:04,500 Ili havas iun pritakso formojn kiujn ili volas ke ĉiuj 1778 01:29:04,500 --> 01:29:06,310 elspezi kelkajn minutojn plenigi ekstere. 1779 01:29:06,310 --> 01:29:08,775 Ili volas kolekti tiun formon kaj ajnan rezigniloj ke vi havu ekstere. 1780 01:29:08,775 --> 01:29:10,240 Ili devos ankaŭ havas certigitaj. 1781 01:29:10,240 --> 01:29:12,380 Mi konjektas ke estas ankoraŭ kelkaj manĝetoj ekstere. 1782 01:29:12,380 --> 01:29:14,360 Mi dezirus tiujn ekstere, kaj se vi havas demandojn intertempe, 1783 01:29:14,360 --> 01:29:17,120 Mi iradas ĉirkaŭe pli individue kaj ni povas akiri vin komencis. 1784 01:29:17,120 --> 01:29:17,879 Jes kompreneble. 1785 01:29:17,879 --> 01:29:18,754 Spektantaro: [inaudible] 1786 01:29:18,754 --> 01:29:26,737 1787 01:29:26,737 --> 01:29:28,570 DAVID Malan: Tio kutime veraj tiujn tagojn. 1788 01:29:28,570 --> 01:29:30,730 Certe kun retejo programaro, vi apogante 1789 01:29:30,730 --> 01:29:32,901 sur aliaj vi ĉu estetike uzante aferoj 1790 01:29:32,901 --> 01:29:35,400 kiel Bootstrap, do vi ne devas apliki la malalta nivelo 1791 01:29:35,400 --> 01:29:37,169 detaloj de menuoj kaj butonoj kaj ĉiu tio. 1792 01:29:37,169 --> 01:29:39,210 Vi apogante sur iu kiel Google por ke vi 1793 01:29:39,210 --> 01:29:42,050 ne devas konstrui Uber negoco kaj surĵeto negoco, 1794 01:29:42,050 --> 01:29:44,850 kaj kiom ajn da similaj aplikoj ankaŭ. 1795 01:29:44,850 --> 01:29:46,350 >> Fakte, ensalutoj estas popularaj ankaŭ. 1796 01:29:46,350 --> 01:29:48,500 Se vi uzis Spotify aŭ ajna nombro da retejoj, 1797 01:29:48,500 --> 01:29:51,210 vi ensalutas al iu retejoj uzante Facebook. 1798 01:29:51,210 --> 01:29:53,350 Do kio estas agrabla, tie estas API por ensalutoj 1799 01:29:53,350 --> 01:29:56,570 nuntempe, por ke vi ne havas havi vian propran uzantoj tablo 1800 01:29:56,570 --> 01:29:59,440 kaj ĉiuj viajn proprajn datumbazo nepre al la sama mezuro. 1801 01:29:59,440 --> 01:30:01,795 Vi povas lasi Facebook faru cxion de tiu komplekseco por vi. 1802 01:30:01,795 --> 01:30:03,920 Do ĝi estas ekscita tempo, Honeste, en programado, 1803 01:30:03,920 --> 01:30:07,200 ĉar ekzistas tiom multaj triaj servoj kiujn vi povas konstrui sur supro de. 1804 01:30:07,200 --> 01:30:10,890 >> Kaj denove, la prezo vi pagas estas ĉu financa aŭ malfunkcio. 1805 01:30:10,890 --> 01:30:13,750 Se Google iras malsupren, tiel faras Uber, disputeble, 1806 01:30:13,750 --> 01:30:15,690 sed eble tio estas racia komerco-off. 1807 01:30:15,690 --> 01:30:18,040 Kaj denove, tio estis unu el la temoj, espereble, por la pasinta paro de tagoj, 1808 01:30:18,040 --> 01:30:18,780 Estas tiuj komerco-offs. 1809 01:30:18,780 --> 01:30:20,738 Kaj malofte estas tie iras esti ĝusta respondo. 1810 01:30:20,738 --> 01:30:25,700 Ĝi vere estas la bona de du aŭ pli respondoj. 1811 01:30:25,700 --> 01:30:26,682 >> Pasi tiuj ĉirkaŭe. 1812 01:30:26,682 --> 01:30:36,830 1813 01:30:36,830 --> 01:30:41,110 >> Kaj tiuj Cloud9 kontoj daŭrigos labori, en teorio, en eterneco. 1814 01:30:41,110 --> 01:30:45,000 Vi eble trovos, se vi atendos kelkajn tagojn aŭ unu semajno aŭ pli ensaluti reen en ilin, 1815 01:30:45,000 --> 01:30:49,170 ĝi povus preni kiel unu aŭ kvin minutoj malfermi reen supren, 1816 01:30:49,170 --> 01:30:54,090 sed tio estas nur ĉar ili metis ĝi dormi savi sur rimedoj. 1817 01:30:54,090 --> 01:31:10,527