1 00:00:00,000 --> 00:00:03,388 >> [MUZIKO Ludante] 2 00:00:03,388 --> 00:00:09,196 3 00:00:09,196 --> 00:00:10,180 >> DAVID J. Malan: Saluton. 4 00:00:10,180 --> 00:00:12,600 Ni promenas tra Problemo Serio 8 Mashup, 5 00:00:12,600 --> 00:00:15,880 kiu tuj defias vin al desegni sur elementoj por Google Maps 6 00:00:15,880 --> 00:00:20,905 kun elementoj de Google News kaj piston ilin amase en retejo apleto ke 7 00:00:20,905 --> 00:00:24,150 permesas al uzanto serĉi mapon por novaĵo loka 8 00:00:24,150 --> 00:00:26,780 al specifaj urbetoj, urboj, kaj poŝtkodoj. 9 00:00:26,780 --> 00:00:31,040 Por fari tion, ni tuj integri iuj HTML, CSS, PHP, SQL, 10 00:00:31,040 --> 00:00:34,390 JavaScript kaj tekniko ĝenerale konata kiel AJAX por 11 00:00:34,390 --> 00:00:36,850 krei ĉi mergan uzanto sperto. 12 00:00:36,850 --> 00:00:38,920 >> Ni unue por Google Maps mem. 13 00:00:38,920 --> 00:00:41,220 Tiu, kompreneble, estas eble familiara interfaco. 14 00:00:41,220 --> 00:00:45,070 Sed rezultu ke Google Maps ankaŭ provizas API-- apliko 15 00:00:45,070 --> 00:00:48,360 Programado interface-- tra kio vi povas preni elementojn de Google Maps 16 00:00:48,360 --> 00:00:50,740 kaj integri ilin en viajn proprajn aplikojn. 17 00:00:50,740 --> 00:00:52,650 Ja, laŭlonge de ĉi tiu procezo, vi tuj 18 00:00:52,650 --> 00:00:55,140 trovi paron de adresoj aparte helpema ke 19 00:00:55,140 --> 00:00:57,820 estas menciitaj en la especificación por Problemo Ara 8 20 00:00:57,820 --> 00:01:00,980 specife ĉi ekuzi Gvidi aŭ la Developer Gvidilo 21 00:01:00,980 --> 00:01:07,640 por Google Maps API Versio 3 tiel kiel la Google Maps JavaScript API 22 00:01:07,640 --> 00:01:10,260 v3 referenco, kio estas iom pli arcano legi 23 00:01:10,260 --> 00:01:14,600 sed fakte havas ĉiujn de la malsupra nivelo detaloj pri kio funkcioj aŭ metodoj 24 00:01:14,600 --> 00:01:18,220 kaj objektoj kaj posedaĵoj kaj eventoj efektive venis kun la API, 25 00:01:18,220 --> 00:01:20,720 tre simila en spirito al [inaudible] paĝoj. 26 00:01:20,720 --> 00:01:23,480 >> Nun se ni tuj iri Google News, vi 27 00:01:23,480 --> 00:01:25,370 eble vidi familiara interfaco tie. 28 00:01:25,370 --> 00:01:29,350 Sed rezultu vi povas ankaŭ serĉi Google News por specifaj geografioj 29 00:01:29,350 --> 00:01:32,000 tra HTTP parametro nomita geo. 30 00:01:32,000 --> 00:01:35,100 Fakte, se mi zomi ĝis ĉi tie, vi vidos ke 31 00:01:35,100 --> 00:01:41,672 Mi estas ĉe news.google.com/news/section?geo=02138. 32 00:01:41,672 --> 00:01:43,630 Kaj efektive, se mi zomi el, vi vidos ke mi estas 33 00:01:43,630 --> 00:01:47,090 rigardas paĝo kun tuta aro da esprimas pri Kembriĝo, Masaĉuseco. 34 00:01:47,090 --> 00:01:50,620 >> Dume, se mi vere ŝanĝos la URL ne esti poŝtkodo ŝatas ĉi, 35 00:01:50,620 --> 00:01:55,580 sed iu iom Messier kiel Cambridge, + Masaĉuseco, 36 00:01:55,580 --> 00:02:00,740 kie la alpago estas la vojo vi kodi oni spaceto en URL kaj batis Enter, 37 00:02:00,740 --> 00:02:02,907 vi vidos ke mi reale vidi preskaŭ la saman novaĵon. 38 00:02:02,907 --> 00:02:05,489 Eble ĝi estas iomete malsama ĉar Kembriĝo reale 39 00:02:05,489 --> 00:02:06,910 havas multnombraj poŝtkodoj. 40 00:02:06,910 --> 00:02:09,410 Nun kiel mi scias tion kaj, fakte, kiel mi povus iel 41 00:02:09,410 --> 00:02:12,940 ligi urboj kaj vilaĝoj al poŝtkodoj en kazo mi 42 00:02:12,940 --> 00:02:15,064 volas permesi al la uzanto suprenrigardi ĉu? 43 00:02:15,064 --> 00:02:17,480 Nu, ĝi rezultas ke tie estas afiŝinto tie nomas 44 00:02:17,480 --> 00:02:20,060 geonames.org kiu estas iniciato havi 45 00:02:20,060 --> 00:02:23,760 libere havebla datumbazo de ĉiuj specoj de geografiaj informoj, 46 00:02:23,760 --> 00:02:27,040 ne nur por Usono, sed ankaŭ por aliaj landoj ankaŭ. 47 00:02:27,040 --> 00:02:30,430 Fakte, se mi iras al ĉi URL tie, kiu ankaŭ estas menciita en la problemo aro 48 00:02:30,430 --> 00:02:34,510 especificación, vi vidos ŝin tri Printita de tuta fasko da ZIP dosierojn 49 00:02:34,510 --> 00:02:36,400 iu el kiu povas esti elŝutita de vi. 50 00:02:36,400 --> 00:02:39,900 Fakte, por tiu problemo aro vi tuj elŝuti us.zip. 51 00:02:39,900 --> 00:02:43,790 Nun ene de la dosiero, estas tuta faskon da datumoj en teksto formato. 52 00:02:43,790 --> 00:02:47,760 La dosieroj estas tre simila al CSV-- Komo Disigita Valoroj file-- 53 00:02:47,760 --> 00:02:51,294 sed efektive uzas pestañas por Demarco kampoj. 54 00:02:51,294 --> 00:02:53,710 Nun, dume, se vi rigardas tie en kio mi reliefigis, 55 00:02:53,710 --> 00:02:56,459 la kampoj en la dosiero iras esti aĵoj kiel lando kodojn, 56 00:02:56,459 --> 00:02:58,980 bildkarto kodoj, loknomoj, kaj tiam, en iu formo 57 00:02:58,980 --> 00:03:04,230 aŭ alia, statoj kaj graflandoj, komunumoj, kaj pli. 58 00:03:04,230 --> 00:03:06,630 Fakte, mi jam elŝutita dosiero anticipe. 59 00:03:06,630 --> 00:03:09,750 Lasu min kaj malfermu ĝin here-- us.text-- kaj, fakte, vi 60 00:03:09,750 --> 00:03:16,660 vidu se mi rulumu malsupren al linio 16.792 vi vidos kelkajn rekordojn por Kembriĝo, 61 00:03:16,660 --> 00:03:19,120 Masaĉuseco kaj ĝiaj diversaj poŝtkodoj. 62 00:03:19,120 --> 00:03:22,150 Kion vi vidas ankaŭ tie estas la graflando, iuj numeroj, kiujn mi faras ne vere 63 00:03:22,150 --> 00:03:24,500 kompreni, sed ankaŭ ĉiuj la vojo dekstre, 64 00:03:24,500 --> 00:03:27,170 iuj GPS coordinates-- latitudo kaj longitudo. 65 00:03:27,170 --> 00:03:30,440 Tiu estas granda ĉar unu el la karakterizaĵoj de Google Maps API 66 00:03:30,440 --> 00:03:33,670 estas la kapablo trovi kie vi estas geografie 67 00:03:33,670 --> 00:03:36,850 en terminoj de GPS koordinatoj. 68 00:03:36,850 --> 00:03:40,210 >> Nun ni komencos elkompreni kiel komenci ligi tion kune. 69 00:03:40,210 --> 00:03:42,900 Ni donis al vi tutajn faskon de dissendo kodo, 70 00:03:42,900 --> 00:03:44,970 tiel kiel MySQL datenbazo. 71 00:03:44,970 --> 00:03:49,100 Fakte, se mi elŝiri phpMyAdmin havante Jam importitaj, kiel vi baldaŭ faros, 72 00:03:49,100 --> 00:03:54,800 pset8.SQL, vi vidos MySQL tablo kiu aspektas kiel ĉi tiu, ID kampo, lando 73 00:03:54,800 --> 00:03:57,400 kodo, poŝtkodo, loko nomon kaj pli. 74 00:03:57,400 --> 00:04:00,490 La tipoj de ĉiu el tiuj kolumnoj Mi derivita simple 75 00:04:00,490 --> 00:04:03,870 legante la readme.text file tie ke specifita 76 00:04:03,870 --> 00:04:07,330 ĉu kampo estas entjero, aŭ varchar aŭ similaj. 77 00:04:07,330 --> 00:04:10,510 >> Do ni kreis tiun tablon por vi kaj donis al vi la SQL komandojn 78 00:04:10,510 --> 00:04:12,770 ekzekuti krei ke tablo en via propra datumbazo, 79 00:04:12,770 --> 00:04:15,290 sed estas vere neniu datumo en ĝi ankoraŭ. 80 00:04:15,290 --> 00:04:19,600 Pli ĝuste, vi estas iranta devi elŝuti us.zip aŭ ajna lando zip 81 00:04:19,600 --> 00:04:21,500 dosiero de tiu URL tie. 82 00:04:21,500 --> 00:04:24,940 Kaj tiam vi tuj devas skribi unu komandlinio skripto en PHP tio 83 00:04:24,940 --> 00:04:28,420 tuj malfermi tiu teksto fajliloj, persisti super liaj linioj, 84 00:04:28,420 --> 00:04:31,180 kaj tiam por ĉiu el tiuj linioj fari insert 85 00:04:31,180 --> 00:04:34,940 en kiu metas tablo en via MySQL datenbazo. 86 00:04:34,940 --> 00:04:37,880 Do fine de tiu procezo, Vi forkurigas ke skripto finfine 87 00:04:37,880 --> 00:04:39,610 nur unufoje en teorio. 88 00:04:39,610 --> 00:04:41,780 En realo vi probable kuri lin faskon da fojoj 89 00:04:41,780 --> 00:04:45,460 samtempe provas ripari diversaj cimoj. 90 00:04:45,460 --> 00:04:48,440 >> Finfine, vi estas iranta havi vere grandan datumbazon kun miloj 91 00:04:48,440 --> 00:04:50,139 kaj miloj de geografia vicoj. 92 00:04:50,139 --> 00:04:52,930 Tiam vi estas iranta meti tiun importado skripto flanken iam ĝi laboras 93 00:04:52,930 --> 00:04:55,140 kaj via datumbazo estas bela kaj ĝentila, kaj tiam 94 00:04:55,140 --> 00:04:58,880 vi tuj pluiri al reale realiganta la mashup mem. 95 00:04:58,880 --> 00:05:01,670 La mashup tuj serĉos iom io tiamaniere. 96 00:05:01,670 --> 00:05:05,165 Je mashup.cs50.net, ni havi personaro solvo 97 00:05:05,165 --> 00:05:06,990 ke aspektas iom io tiamaniere. 98 00:05:06,990 --> 00:05:11,070 Ja, se mi alklaku ĉi ĵurnalo ikono por Kembriĝo, Masaĉuseco, 99 00:05:11,070 --> 00:05:13,300 vi vidos ŝpinita Ikono mallonge kaj poste 100 00:05:13,300 --> 00:05:16,370 ordigita listo, oni bula listo de artikoloj 101 00:05:16,370 --> 00:05:18,280 rilataj al Kembriĝo, Masaĉuseco. 102 00:05:18,280 --> 00:05:20,352 Se mi alklaku Charlestown, Masaĉuseco, 103 00:05:20,352 --> 00:05:21,685 Mi vidos la sama por tiu urbo. 104 00:05:21,685 --> 00:05:24,174 Kaj Se mi alklaku Watertown, Massachusetts, 105 00:05:24,174 --> 00:05:26,090 tie eble ne ajnan novaĵoj de el Watertown, 106 00:05:26,090 --> 00:05:28,630 tial vi vidos ion kiel malrapida novaĵoj tago. 107 00:05:28,630 --> 00:05:32,140 >> Nun, dume, ĉe supre maldekstre estas iu familiara Google Maps kontroloj 108 00:05:32,140 --> 00:05:34,980 lasi vin malzomi, pato supren, malsupren, forlasis, kaj dekstra, 109 00:05:34,980 --> 00:05:37,360 sed ankaŭ Serĉilo kiu ni metas tie. 110 00:05:37,360 --> 00:05:40,910 Do se mi serĉu, sincere, la sola alia poŝtkodo mi scios, 111 00:05:40,910 --> 00:05:45,020 90210, ni fakte vidos Beverly Hills, Kalifornio. 112 00:05:45,020 --> 00:05:48,550 Kiam klakis ĝi kondukas min al Kalifornio kaj tuta aro da 113 00:05:48,550 --> 00:05:50,369 novaĵoj pri Beverly Hills. 114 00:05:50,369 --> 00:05:51,910 Nun rimarki, ankaŭ, kion okazis tie. 115 00:05:51,910 --> 00:05:57,040 Se mi ĉi tempo serĉo por 02138 aŭ eĉ Kembriĝo komo Masaĉuseco aŭ iuj 116 00:05:57,040 --> 00:06:00,300 Varianto gxiajn vi ricevas iom autocompletar menuo. 117 00:06:00,300 --> 00:06:03,840 Nun tiu estas uzanta plugin por biblioteko nomita jQuery, 118 00:06:03,840 --> 00:06:05,732 kaj ke kromprogramon nomata typeahead. 119 00:06:05,732 --> 00:06:07,440 Ni simple tralegu la dokumentado, 120 00:06:07,440 --> 00:06:13,150 elŝutita la .js-aj file integrita en la dissendo kodo por ke vi 121 00:06:13,150 --> 00:06:16,900 finfine povas skribi la kodon kiu plenigas tiu menuo menuo kun la aŭtomata 122 00:06:16,900 --> 00:06:19,350 selektadojn aŭ la auto sugestojn. 123 00:06:19,350 --> 00:06:23,820 >> Nun la distribuo kodo, kvankam, ke vi ricevis ne faras preskaŭ tiel. 124 00:06:23,820 --> 00:06:26,860 Vi akiras la Google Mapo enigita, kaj vi havos la kontroloj la supro lasis, 125 00:06:26,860 --> 00:06:28,240 kaj vi ricevos la Serĉilo. 126 00:06:28,240 --> 00:06:32,760 Sed se mi tajpas ion kiel 02138, mankas lokoj troviĝas ankoraŭ. 127 00:06:32,760 --> 00:06:34,730 Por ke tuj estos unu el niaj celoj ĉi tie. 128 00:06:34,730 --> 00:06:37,430 Cetere, se vi paŝon reen kaj rigardi la mapo mem, 129 00:06:37,430 --> 00:06:38,950 ne estas novaĵo kiun ajn. 130 00:06:38,950 --> 00:06:41,780 Eĉ se mi klakas kaj trenas, neniu markiloj reale 131 00:06:41,780 --> 00:06:45,560 aperas por novaĵo ĉar tiu defio estas lasita por vi ankaŭ. 132 00:06:45,560 --> 00:06:48,490 >> Ni rigardu do ĉe la dissendo kodo. 133 00:06:48,490 --> 00:06:51,460 Kiam vi elŝutis pset8.zip kaj Unzipped ĝi 134 00:06:51,460 --> 00:06:54,430 En viajn vhost dosierujo en la CS50 Appliance, 135 00:06:54,430 --> 00:06:56,550 vi vidos tiujn adreslibroj tie ene. 136 00:06:56,550 --> 00:07:00,200 Bin-- kio ĝenerale signifas duuma por ruleblan programs-- 137 00:07:00,200 --> 00:07:04,870 inkluzivas, kiel en pset7, iuj PHP dosierojn kiuj aliaj dosieroj inkludas, 138 00:07:04,870 --> 00:07:06,710 tiam publiko, kiu estas la dosierojn kiuj bezonas 139 00:07:06,710 --> 00:07:09,369 esti publike alirebla al uzanto per retumilo. 140 00:07:09,369 --> 00:07:11,410 Ni rigardu en la bin dosierujon, kaj ni 141 00:07:11,410 --> 00:07:13,890 vidas ke estas dosiero tie jam nomita Importi. 142 00:07:13,890 --> 00:07:17,591 Se ni malfermas ĉi kun gedit, ni vidos kiu, bedaŭrinde, ne estas multe 143 00:07:17,591 --> 00:07:18,090 tie. 144 00:07:18,090 --> 00:07:20,250 Ĉiuj kiu estas tie, kvankam, Estas shebang ĉe supro 145 00:07:20,250 --> 00:07:23,410 kiu precizigas kion interpreter-- en tiu kazo PHP-- 146 00:07:23,410 --> 00:07:25,759 uziĝu por fakte ekzekuti ĉi tiu dosiero. 147 00:07:25,759 --> 00:07:27,550 Sed tiam kie diras TODO estas kie vi estas 148 00:07:27,550 --> 00:07:31,130 tuj bezonos skribi iun kodon kiu probable postulas la agord 149 00:07:31,130 --> 00:07:35,820 dosiero kiu estas en la inkludas dosierujon kiel ni faris antaŭe kun PHP dosierojn. 150 00:07:35,820 --> 00:07:38,180 Kaj tiam vi tuj devas iel malfermi 151 00:07:38,180 --> 00:07:41,920 us.text kiun vi supozeble esti Unzipped jam. 152 00:07:41,920 --> 00:07:44,690 Tiam vi estas iranta devi persisti super la liniojn en tiu dosiero, 153 00:07:44,690 --> 00:07:47,800 eble uzante kelkajn el la funkcioj sugestis en la specifo. 154 00:07:47,800 --> 00:07:51,390 Tiam enigi ĉiu el tiuj linioj en MySQL datenbazo 155 00:07:51,390 --> 00:07:54,940 uzante la konsulto funkcio, kiun ni denove havigis vi with-- 156 00:07:54,940 --> 00:07:58,010 aŭ almenaŭ varianto Sur functions.php, 157 00:07:58,010 --> 00:07:59,560 kiun ni vidos en nur momento. 158 00:07:59,560 --> 00:08:04,430 >> Nun ni fermos importado kaj reiri al nia dosierujo kaj tiu tempo eniru en 159 00:08:04,430 --> 00:08:05,300 inkluzivas. 160 00:08:05,300 --> 00:08:09,210 Kaj se mi faras ls tie, vi vidos tri dosierojn ŝatas sufiĉe Problemo Ara 7. 161 00:08:09,210 --> 00:08:13,760 Kaj ni prenu rapidan rigardon, ekzemple, ĉe config.php. 162 00:08:13,760 --> 00:08:16,730 En tie, estas malpli linioj ol antaŭe, kaj tio 163 00:08:16,730 --> 00:08:20,712 ŝajnas tiu dosiero inkludas constants.php kaj functions.php. 164 00:08:20,712 --> 00:08:23,670 Ni uzas iomete malsamajn tekniko ĉifoje al reale 165 00:08:23,670 --> 00:08:30,910 specifi tiuj dosieroj relativa al la aktuala dosierujo __ DIR__ 166 00:08:30,910 --> 00:08:35,280 reprezentas ajn dosierujo ĉi dosiero, config.php, estas mem en. 167 00:08:35,280 --> 00:08:37,600 Do ĉi tiu estas pli eksplicita vojo de preciziganta 168 00:08:37,600 --> 00:08:40,100 kion aliaj dosieroj vi volas postuli. 169 00:08:40,100 --> 00:08:44,020 >> Nun se mi fermos ĉi dosieron kaj malfermi constants.php anstataŭe 170 00:08:44,020 --> 00:08:47,430 vi vidos dosiero tre rememorado al Problemo Serio 7 estas tiel, kvankam 171 00:08:47,430 --> 00:08:50,050 kun malsama datenbazo nomita pset8. 172 00:08:50,050 --> 00:08:54,020 Fine, en functions.php, ni vidos nur unu funkcio 173 00:08:54,020 --> 00:08:55,942 tiu tempo nomita mendo. 174 00:08:55,942 --> 00:08:59,150 Tio estas preskaŭ la sama krom ni manipuli eraroj ĉifoje iomete 175 00:08:59,150 --> 00:09:02,860 malsame, sed estas uzado estas la sama kiel en problemo starigis sep. 176 00:09:02,860 --> 00:09:08,090 >> Nun ni reiru en nian pset8 dosierujo, iru en publiko, kaj en tie 177 00:09:08,090 --> 00:09:14,420 se mi faras ls, vi vidos this-- articles.php, index.html, search.php, 178 00:09:14,420 --> 00:09:16,940 kaj update.php-- ĉiuj dosieroj. 179 00:09:16,940 --> 00:09:22,010 Kaj tiam la css tiparoj, img, kaj js dosierujo ŝatas sufiĉe pset7. 180 00:09:22,010 --> 00:09:24,660 >> Ni rigardu index.html, kio estas 181 00:09:24,660 --> 00:09:27,290 tuj estos vere la enirpunkto al la smashup. 182 00:09:27,290 --> 00:09:31,820 Nun en index.html, vi vidos tutan faskon de ligilo elementoj en la kapo, 183 00:09:31,820 --> 00:09:36,540 specife, por bootstrap por nia propra CSS sekvita de amaso de skripto 184 00:09:36,540 --> 00:09:41,520 etikedoj por aĵoj kiel la mapoj, API mem, speciala markilo kun stampo 185 00:09:41,520 --> 00:09:44,950 utileco kiun ni menciis en la specifo estas disponebla al vi, 186 00:09:44,950 --> 00:09:48,420 jQuery mem, bootstrap mem, kaj alia biblioteko 187 00:09:48,420 --> 00:09:50,990 nomata substreko kiu ni raportas en la specifon. 188 00:09:50,990 --> 00:09:57,031 Underscore.js kiel jquery.js estas JavaScript biblioteko 189 00:09:57,031 --> 00:10:00,280 kiu havas tutan faskon da funcionalidad ke multaj homoj en la mondo deziro 190 00:10:00,280 --> 00:10:02,020 ekzistis en JavaScript mem. 191 00:10:02,020 --> 00:10:04,560 Do ĉiuj el tiuj estas fakte sufiĉe popularaj. 192 00:10:04,560 --> 00:10:07,140 Ni ankaŭ menciis typeahead kiu estas la biblioteko kiun 193 00:10:07,140 --> 00:10:11,180 faras ke autocompletar menuo kaj fine ligon al nia propra Javascript. 194 00:10:11,180 --> 00:10:13,880 >> Dume, kaj eble Bonŝance tiu mashup 195 00:10:13,880 --> 00:10:17,550 Estas antaŭenpuŝita de relative malmulte HTML ĉi tie ĉe la malsupro. 196 00:10:17,550 --> 00:10:22,330 Rimarku ke ni tajpis div en nia korpo de klaso-ujo fluida. 197 00:10:22,330 --> 00:10:24,610 Tiu, po bootstrap La dokumentado, ĝuste 198 00:10:24,610 --> 00:10:29,840 signifas ke ĉi div tuj plenigos la vidujo aŭ la retumilo fenestro plene. 199 00:10:29,840 --> 00:10:33,020 >> Dume, sub tiu ni havas div ke'S malfermiĝis kaj tuj fermis 200 00:10:33,020 --> 00:10:34,790 kun la unika ID de mapo kanvaso. 201 00:10:34,790 --> 00:10:37,400 Tiu nun estas de Google Mapoj dokumentado 202 00:10:37,400 --> 00:10:42,490 por lia API, per Mi simple bezonas havas malplenan div en kiun enmiksas, 203 00:10:42,490 --> 00:10:44,470 finfine, reala Google Maps. 204 00:10:44,470 --> 00:10:46,310 Sed pli sur tiu en nur iom. 205 00:10:46,310 --> 00:10:48,850 >> Fine, ekzistas formo ene de ĉi tie kiuj 206 00:10:48,850 --> 00:10:52,930 implementa la tekstujo supren supro lasita en nia interfaco por serĉado. 207 00:10:52,930 --> 00:10:54,730 Rimarku ke ni uzis iom de bootstrap 208 00:10:54,730 --> 00:10:57,670 tie too-- aĵojn kiel formo-inline kaj formo-grupo. 209 00:10:57,670 --> 00:11:00,080 Ni donis la eksa unika ID de formo. 210 00:11:00,080 --> 00:11:04,510 Kaj tiam, finfine, mi efektive havas enigaĵoj tipo, kiuj estas sufiĉe konataj, 211 00:11:04,510 --> 00:11:06,440 kies ID estas q. 212 00:11:06,440 --> 00:11:07,230 Nur konvencio. 213 00:11:07,230 --> 00:11:09,234 Q query-- povus havi vokitaj nenion. 214 00:11:09,234 --> 00:11:11,400 Kaj tiam la lokokupilo, dume, estas urbo, ŝtato, 215 00:11:11,400 --> 00:11:16,200 kaj poŝtkodo kion vi eble memoras vidante en nia mashup demo antaŭe. 216 00:11:16,200 --> 00:11:17,980 Ni fermas ĉi tiun dosieron. 217 00:11:17,980 --> 00:11:24,460 >> Nun rigardu la PHP dosierojn atendi kaj poste la JavaScript dosierojn. 218 00:11:24,460 --> 00:11:27,700 En nia PHP dosierojn, ni jam implementado por vi, 219 00:11:27,700 --> 00:11:29,960 ekzemple, ĝisdatigoj. 220 00:11:29,960 --> 00:11:35,060 Update.php-- ni ne elspezi grandegan kvanto de tempo sur here-- en malmultaj vortoj 221 00:11:35,060 --> 00:11:38,400 estas la dosiero kiun nia JavaScript kodon tuj 222 00:11:38,400 --> 00:11:41,610 kontakti tra AJAX ke nesinkrona tekniko tio 223 00:11:41,610 --> 00:11:45,980 konstruita en JavaScript tiuj tagoj tio tuj permesos nin al demandi update.php 224 00:11:45,980 --> 00:11:47,410 por pliaj informoj. 225 00:11:47,410 --> 00:11:50,045 >> Specife, ĉiutempe la uzanto trenas la mapo 226 00:11:50,045 --> 00:11:53,310 aŭ realigas serĉon kiu saltas la uzanto al alia ubicación, 227 00:11:53,310 --> 00:11:55,250 nia kodo JavaScript, kiel ni baldaŭ vidos, estas 228 00:11:55,250 --> 00:11:59,610 tuj nomos update.php kaj peti 10 aŭ tiel markiloj 229 00:11:59,610 --> 00:12:02,630 ene la vidujo bazita sur la GPS koordinatoj 230 00:12:02,630 --> 00:12:06,510 de la supro kaj malsupro anguloj de tiu mapo. 231 00:12:06,510 --> 00:12:10,520 Ni povas tiam repoblar la mapo nun ke la uzanto movis la ekrano en celo 232 00:12:10,520 --> 00:12:14,210 vidi 10 probable nova markiloj por malsamaj vilaĝoj. 233 00:12:14,210 --> 00:12:18,340 Dume, tiu dosiero estas finfine tuj ekzekuti SQL query 234 00:12:18,340 --> 00:12:21,680 kontraŭ nia datumbazo tablo nomitaj lokoj kiuj 235 00:12:21,680 --> 00:12:26,380 tuj revenos tiuj 10 aŭ malpli lokojn. 236 00:12:26,380 --> 00:12:32,620 >> Dume, en articles.php, estas alia file ni skribita en lia totalo. 237 00:12:32,620 --> 00:12:35,820 Ĝi estas tre simila en spirito al Problemo Serio 7 La lookup funkcio, 238 00:12:35,820 --> 00:12:39,450 kiuj kontaktis Yahoo Financoj por vi. 239 00:12:39,450 --> 00:12:43,710 Ĉi tiu dosiero kontaktoj Google Novaĵoj por vi, finfine kaptante 240 00:12:43,710 --> 00:12:46,050 maŝino-legebla version-- ion 241 00:12:46,050 --> 00:12:49,720 nomita RSS format-- de la novaĵo por Kembriĝo aŭ Beverly Hills 242 00:12:49,720 --> 00:12:52,880 aŭ kion ajn urbon vi serĉis por funkcio de tiu geoparameter. 243 00:12:52,880 --> 00:12:57,250 Ni analizi kiujn RSS, kiuj estas nur tipo de markado lingvo XML nomita, 244 00:12:57,250 --> 00:13:00,740 kaj tiam ni efektive redoni ĝin al via retumilo 245 00:13:00,740 --> 00:13:03,570 kaj al via kodo JavaScript, specife, en formato nomita 246 00:13:03,570 --> 00:13:06,097 JSON, JavaScript Objekto Skribmaniero. 247 00:13:06,097 --> 00:13:08,180 Nun vi vidos en la specification-- Ni atentigas vin 248 00:13:08,180 --> 00:13:10,720 ĉe kiom vi povas fakte vidi iuj de la JSON venonta back-- 249 00:13:10,720 --> 00:13:15,210 ke tiu funcionalidad finfine konsistas el popoli tiuj popup menuoj tiel 250 00:13:15,210 --> 00:13:16,960 ke kiam vi klakas sur markilo en la mapo 251 00:13:16,960 --> 00:13:19,430 vi fakte vidi tutan faskon de kugloj, el kiuj ĉiu 252 00:13:19,430 --> 00:13:21,020 ligilojn al artikolo. 253 00:13:21,020 --> 00:13:25,000 >> Nun ni rigardu unu lasta PHP dosiero kiu, feliĉe, ne 254 00:13:25,000 --> 00:13:27,970 havas multe irante on-- nur iom granda TODO. 255 00:13:27,970 --> 00:13:32,170 Ĝuste nun tiu dosiero deklaras tabelo nomitaj lokoj. 256 00:13:32,170 --> 00:13:35,980 Kaj tiam finfine prints ke tabelo en JSON format-- 257 00:13:35,980 --> 00:13:38,720 bela-videbligi ĝin ĝuste por ke aferoj estas pli facilaj por elpurigi. 258 00:13:38,720 --> 00:13:41,480 Bedaŭrinde, en la mezo estas ĉi TODO, 259 00:13:41,480 --> 00:13:46,890 kiu petas vin esplori la datumbazo por lokoj kiuj kongruas al geo HTTP 260 00:13:46,890 --> 00:13:47,490 parametro. 261 00:13:47,490 --> 00:13:49,865 >> Kaj ĝuste tiu tuj esti unu el viaj challenges-- 262 00:13:49,865 --> 00:13:54,240 implementar ĉi tiu funcionalidad tie por ke kiam vi kontakti tiun dosieron per 263 00:13:54,240 --> 00:14:00,610 URL kiel serĉo. php? geo = io, via kodo finfine resendas JSON 264 00:14:00,610 --> 00:14:05,020 tabelo de ĉiuj de la lokoj en via datumbaza tabelo kiuj kongruas ke enigo. 265 00:14:05,020 --> 00:14:08,960 Do se la uzanto tipoj en Cambridge, vian dosieron tie search.php 266 00:14:08,960 --> 00:14:12,680 devus finfine resendas JSON tabelo por ĉiu de la partioj por Kembriĝo, 267 00:14:12,680 --> 00:14:16,990 kiu povu esti en Masaĉuseco sed povus esti eĉ aliloke. 268 00:14:16,990 --> 00:14:21,040 >> Laste, ni rigardu du dosierojn, kiuj estas statikaj ultimately-- 269 00:14:21,040 --> 00:14:23,680 vian CSS-dosieron kaj via JavaScript dosiero. 270 00:14:23,680 --> 00:14:26,779 Se mi iras al nia CSS dosierujon, tie estas amaso de dosierojn tie, 271 00:14:26,779 --> 00:14:28,070 sed plejparte ili estas bibliotekoj. 272 00:14:28,070 --> 00:14:31,530 Mi iras por preni rigardon, specife, en styles.css, 273 00:14:31,530 --> 00:14:35,440 kiu estas nia propra tutmonda CSS tio tuj stylize tiu tuta mashup. 274 00:14:35,440 --> 00:14:38,840 Mi lasos ĝin al vi legi tra la komentojn ene difinitaj, sed, en malmultaj vortoj, 275 00:14:38,840 --> 00:14:43,490 tiu estas la CSS ke certigu ke niaj mashup, implicite el la skatolo, 276 00:14:43,490 --> 00:14:46,950 aspektas precize la vojon ni volas it-- kun la mapo plenigante la vido havenon 277 00:14:46,950 --> 00:14:49,720 kaj kun la serĉo bukso supren supre maldekstre. 278 00:14:49,720 --> 00:14:52,870 Ni ankaŭ prenis la liberecon de stylizing ke typeahead menuo 279 00:14:52,870 --> 00:14:55,170 menuo iomete tiel. 280 00:14:55,170 --> 00:14:58,030 >> La plej grava dosiero eble por tiu problemo aro 281 00:14:58,030 --> 00:15:01,070 Estas ĉi tiu lasta, scripts.js. 282 00:15:01,070 --> 00:15:03,800 Ene de via js dosierujo estas eĉ pli dosierojn. 283 00:15:03,800 --> 00:15:08,090 Ĉiuj ili estas biblioteko dosierojn krom ĉi tiu, scripts.js. 284 00:15:08,090 --> 00:15:11,460 Se ni malfermas ĉi supre, ni prenos nian lasta ĝiras tra la funkcioj kiuj 285 00:15:11,460 --> 00:15:13,820 estas konstruitaj en ĉi dosiero por vi kaj atentigi 286 00:15:13,820 --> 00:15:16,200 al la todos kiuj kuŝas antaŭe. 287 00:15:16,200 --> 00:15:19,110 >> Ĉe la supro de ĉi tiu dosiero: Estas tri tutmondaj variabloj. 288 00:15:19,110 --> 00:15:22,910 Unu por mapo, kiu tuj esti referenco al nia Google mapo. 289 00:15:22,910 --> 00:15:25,510 Vi povas pensi pri tio ia kiel puntero. 290 00:15:25,510 --> 00:15:27,710 Dume, ni havas alia malloka variablo 291 00:15:27,710 --> 00:15:31,500 nomata info, kiu aperas kiel stokante la reveno valoro de alvoko 292 00:15:31,500 --> 00:15:34,170 por nova google.maps.InfoWindow. 293 00:15:34,170 --> 00:15:37,835 Ĝavoskripto subtenas celojn kiuj estas tre simila en spirito al Struts. 294 00:15:37,835 --> 00:15:40,250 Kaj kio estas tiu linio por niaj celoj estas faranta 295 00:15:40,250 --> 00:15:42,820 kreas novan info fenestro en memoro kaj tiam 296 00:15:42,820 --> 00:15:46,330 konservante ĉirkaŭ referenco vivan en variablo nomata Informoj. 297 00:15:46,330 --> 00:15:48,330 Kaj en inter tiuj, dume, estas kio aperas 298 00:15:48,330 --> 00:15:51,060 esti malplena Ĝavoskripto tabelo nomis markiloj. 299 00:15:51,060 --> 00:15:55,392 Ĉiuj el tiuj ĵurnalo ikonojn, aŭ vi povus elekti alian piktogramon en aro, 300 00:15:55,392 --> 00:15:57,350 tuj estos stokitaj fine en ĉi tabelo 301 00:15:57,350 --> 00:16:01,570 tiel ke ni povas tre facile aldoni al la mapo kaj forigi ilin de la mapo. 302 00:16:01,570 --> 00:16:03,990 >> Nun ni rulumu malsupren iomete kaj Whiz 303 00:16:03,990 --> 00:16:07,690 tra la kodo ke tuj estos ekzekutita kiam la DOM aŭ dokumenton 304 00:16:07,690 --> 00:16:10,480 objekto modelo aŭ la paĝo mem estas preta. 305 00:16:10,480 --> 00:16:12,942 Memoru ke ĉi tiu sintakso tie simple precizigas 306 00:16:12,942 --> 00:16:14,900 ke la sekva kodo estu ekzekutita nur 307 00:16:14,900 --> 00:16:17,840 kiam la retumilo finis ŝargado ĉio alia. 308 00:16:17,840 --> 00:16:19,750 >> Ni unue deklari amaso de stiloj, 309 00:16:19,750 --> 00:16:22,410 kiu finos stylizing la mapo kiel po la specifon. 310 00:16:22,410 --> 00:16:24,790 Ni tiam deklari tuta aro da ebloj, 311 00:16:24,790 --> 00:16:28,630 kio ankaŭ agordi la Google mapo kiun ni estas al embed. 312 00:16:28,630 --> 00:16:32,090 Ni do uzas iom de jQuery kodo, kiu estas klarigita en iom pli detale 313 00:16:32,090 --> 00:16:35,000 en la specifon, ekpreni ke elemento, mapo-kanvaso 314 00:16:35,000 --> 00:16:36,980 ke ni tiel unike identigitaj. 315 00:16:36,980 --> 00:16:40,640 Kaj tiam ĉi tiu linio tie estas kio ŝajnas magie transdoni nin 316 00:16:40,640 --> 00:16:43,560 Google mapo ene de nia propra apliko, 317 00:16:43,560 --> 00:16:47,020 stokante referenco arangxajxo en tiu variablo nomata mapo. 318 00:16:47,020 --> 00:16:50,550 >> Fine, jen ni registru kio nomiĝas aŭskultanto. 319 00:16:50,550 --> 00:16:54,690 Pensu back-- maniero, modo back-- al semajno nulo en CS50 320 00:16:54,690 --> 00:16:57,430 kiam ni rigardis Scratch kaj lia apogo tra promeni 321 00:16:57,430 --> 00:16:59,935 tra por aĵoj nomitaj eventoj kaj elsendojn. 322 00:16:59,935 --> 00:17:01,810 Vi eble ne uzis ĝin mem, sed estas 323 00:17:01,810 --> 00:17:03,900 mekanismon per kiu oni retumilo en tiu kazo 324 00:17:03,900 --> 00:17:07,940 povas akiri nian atenton kiam ĝi estas pretas reale ekzekuti iuj kodo. 325 00:17:07,940 --> 00:17:12,170 En tiu kazo, ĝi estas tuj aŭskultos al la mapo por evento nomita sencela. 326 00:17:12,170 --> 00:17:14,930 Tio signifas ke la navegador havas finita ŝarĝante la Google mapo. 327 00:17:14,930 --> 00:17:18,380 Ĉe tiu punkto funkcio nomita configure devus finfine 328 00:17:18,380 --> 00:17:19,339 esti ekzekutita. 329 00:17:19,339 --> 00:17:22,510 Domadministranto, agordi, ni vidos, estas skribita por ni. 330 00:17:22,510 --> 00:17:24,550 >> Nun ĉi tie estas funkcio ke, bedaŭrinde, 331 00:17:24,550 --> 00:17:25,871 estas nur TODO add markilo. 332 00:17:25,871 --> 00:17:28,620 Per la specifo. Vi tuj bezonas skribi la kodon kiu vere 333 00:17:28,620 --> 00:17:32,840 Aldonas marker-- ĉu ĝi aspektas kiel ĵurnalo, aŭ dikfingro Tack, 334 00:17:32,840 --> 00:17:35,360 aŭ io else-- al la Google mapo. 335 00:17:35,360 --> 00:17:37,720 Ĉi tie nun estas ke funkcio nomata configure. 336 00:17:37,720 --> 00:17:40,390 Mi lasos ĝin al vi legi tra ĉi pli detale, 337 00:17:40,390 --> 00:17:42,600 sed rimarkas ke ni aldonu faskon pli Aŭskultantoj 338 00:17:42,600 --> 00:17:46,620 tiel ke ni povas ekzekuti kodo kiam la uzanto klakas sur kaj trenu la mapo. 339 00:17:46,620 --> 00:17:50,730 Ni ankaŭ havas kodon en ĉi tie, ke inicializa ke typeahead kromaĵo 340 00:17:50,730 --> 00:17:53,120 por ke la menuo menuo efektive funkcias. 341 00:17:53,120 --> 00:17:55,690 >> Sed ni enfokusigi nur kelkaj lokoj ene difinitaj. 342 00:17:55,690 --> 00:17:57,590 Specife, ĉi fari ĉi tie. 343 00:17:57,590 --> 00:18:00,410 Mi cedu al la reta dokumentado kaj la specifo 344 00:18:00,410 --> 00:18:02,530 por kiel plenigi ĉi TODO. 345 00:18:02,530 --> 00:18:05,890 Sed en malmultaj vortoj, ĉi biblioteko typeahead permesas pasi 346 00:18:05,890 --> 00:18:09,790 en kio ĝenerale konata kiel ŝablono, kiu havas iujn variablo anstataŭiloj 347 00:18:09,790 --> 00:18:13,690 tre simila en spirito al printf la%. * s. 348 00:18:13,690 --> 00:18:16,030 Sed en ĉi tiu kazo, la ŝablono por la spec 349 00:18:16,030 --> 00:18:18,760 permesas vin specifi kio variablojn vi volas 350 00:18:18,760 --> 00:18:24,880 injekti de datumoj kiu estas veni reprenos iu kiel PHP 351 00:18:24,880 --> 00:18:29,810 dosierojn kiujn vi skribis kiuj elsendas JSON eligo. 352 00:18:29,810 --> 00:18:35,170 >> Nun malsupren tie rimarkos ke ni estas aŭskultante por typeahead selektadoj 353 00:18:35,170 --> 00:18:38,050 kiam la uzanto reale efektivigas Serĉo kaj selektas valoro. 354 00:18:38,050 --> 00:18:40,270 Jen kiel ni estas reale tuj aŭskultos por ke 355 00:18:40,270 --> 00:18:42,250 kaj ekzekuti iun kodon kiel rezulto. 356 00:18:42,250 --> 00:18:45,300 Tiam ni daŭre agordi la mashup malmulta. 357 00:18:45,300 --> 00:18:48,000 Kaj, fine, ni nomas tiu funkcio ĝisdatigo. 358 00:18:48,000 --> 00:18:49,640 Ĝi ĝisdatigas la markiloj sur la ekrano. 359 00:18:49,640 --> 00:18:51,529 Pli sur tiu en nur momento. 360 00:18:51,529 --> 00:18:53,570 Dume, ke estas kelkaj malgrandaj funkcioj en ĉi tie. 361 00:18:53,570 --> 00:18:56,820 Unu el kiuj estas hideInfo kiu simple fermas la InfoWindow. 362 00:18:56,820 --> 00:19:00,020 Alia funkcio ĉi tie, kiu fine ne estos tro longa, forigu markiloj. 363 00:19:00,020 --> 00:19:03,580 Tio tuj malfari ajn via add markilo funkcio faras. 364 00:19:03,580 --> 00:19:04,960 Kaj poste malsupren tie estas serĉo. 365 00:19:04,960 --> 00:19:08,610 Kaj ĉi tiu estas interesa ĉar ni skribis la kodo JavaScript tio 366 00:19:08,610 --> 00:19:13,490 tuj parolos al search.php sur la servilo kaj reiri kelkaj respondo. 367 00:19:13,490 --> 00:19:16,110 >> Vi, kompreneble, ankoraŭ bezonas implementar search.php, 368 00:19:16,110 --> 00:19:18,310 sed ni implementado la JavaScript kodon tio 369 00:19:18,310 --> 00:19:22,480 tuj manipuli fakte agante serĉoj de tiu teksto skatolo. 370 00:19:22,480 --> 00:19:25,340 En aparta, avizo ke tiu funkcio ĉi tie, 371 00:19:25,340 --> 00:19:29,160 serĉo, ĝi nomas search.php per metodo nomata 372 00:19:29,160 --> 00:19:31,072 akiri JSON, kiun ni vidis en prelego. 373 00:19:31,072 --> 00:19:32,780 Kaj la sintakso tie estas iom malsama 374 00:19:32,780 --> 00:19:37,110 el prelego en kiuj ni uzas jQuery tn promeso interfaco. 375 00:19:37,110 --> 00:19:38,479 Pli sur tiu en la specifon. 376 00:19:38,479 --> 00:19:40,520 Ĉi simple signifas por nia intencoj nun ke ekzistas 377 00:19:40,520 --> 00:19:43,870 Estas du specialaj funkcioj ni bezonas nomi kun skalara skribmaniero 378 00:19:43,870 --> 00:19:46,230 tie tuj post nomante akiri JSON. 379 00:19:46,230 --> 00:19:47,510 Unu nomiĝas farite. 380 00:19:47,510 --> 00:19:49,870 Unu nomiĝas malsukcesos. 381 00:19:49,870 --> 00:19:51,790 Vi povas pensi pri ĉi tiuj kiel la sukceso traktilo 382 00:19:51,790 --> 00:19:54,960 kaj la fiasko traktilo simple en kazo iu eliras malbone. 383 00:19:54,960 --> 00:19:57,760 >> Nun ni rigardu la lastan kelkaj funkcioj en ĉi tiu dosiero. 384 00:19:57,760 --> 00:20:00,180 Malsupren tie estas funkcio nomata showInfo, kiu 385 00:20:00,180 --> 00:20:03,090 montras info en unu el tiuj iom info fenestroj kiuj 386 00:20:03,090 --> 00:20:05,380 Popoj supren kiam la uzanto klakas markilo. 387 00:20:05,380 --> 00:20:08,470 Malsupren tie plui estas ke ĝisdatigo funkcio 388 00:20:08,470 --> 00:20:10,510 ke ni estas implementado por vi. 389 00:20:10,510 --> 00:20:15,250 Ĝi determinas la limojn de la mapo. 390 00:20:15,250 --> 00:20:19,360 Kio estas la GPS koordinatoj de lia nordorienta kaj sudokcidenta anguloj tie. 391 00:20:19,360 --> 00:20:22,780 Ni preparis kelkajn HDP parametroj tie kaj tiam preterpasis ilin finfine 392 00:20:22,780 --> 00:20:26,160 al update.php, kiun ni ankaŭ implementado por vi. 393 00:20:26,160 --> 00:20:31,390 Tio finfine ricevas reen iuj JSON de la dosiero nomata update.php 394 00:20:31,390 --> 00:20:34,050 kaj tiam forigas ajnan markiloj sur la ekrano 395 00:20:34,050 --> 00:20:36,650 kaj tiam ripetas super la datumoj kiujn la veni reen 396 00:20:36,650 --> 00:20:40,350 el update.php, kiu denove estas nur JSON tabelo. 397 00:20:40,350 --> 00:20:45,130 Kaj tiam finfine aldonas markilo por ĉiu de tiuj lokoj, manipulante fiasko 398 00:20:45,130 --> 00:20:47,750 aŭ eraroj kiuj povus tre bone okazi. 399 00:20:47,750 --> 00:20:51,550 >> Nun ĝuste doni al vi guston de kiel vi povus iri pri elpurigante ĉi tiu projekto, 400 00:20:51,550 --> 00:20:55,420 rimarkas ke mi malfermis en antaŭi ĉi langeto tie al ĉi URL, 401 00:20:55,420 --> 00:21:01,320 pset8 / articles.php? geo = 02138. 402 00:21:01,320 --> 00:21:04,050 Nun, denove, artikoloj pri PHP ni implementado por vi 403 00:21:04,050 --> 00:21:06,320 tiel ĉi tio ne estas tiel kio vi estos uzanta 404 00:21:06,320 --> 00:21:08,190 al elpurigi, sed prefere la tekniko. 405 00:21:08,190 --> 00:21:10,590 Avizo ke mi serĉis Cambridge poŝtkodo tie, 406 00:21:10,590 --> 00:21:15,260 kaj mi alvenas reen, efektive, JSON tabelo de JSON celoj ene de kiu 407 00:21:15,260 --> 00:21:17,640 Estas du keys-- ligilon kaj titolon. 408 00:21:17,640 --> 00:21:19,860 >> Do tiu funcionalidad laboras jam por vi. 409 00:21:19,860 --> 00:21:24,330 Sed tiu tekniko de permane irante al URL ŝatas ĉi por iu kiel 410 00:21:24,330 --> 00:21:31,710 search.php? geo = Cambridge aŭ 02138 aŭ ajn la uzanto tajpita en devus 411 00:21:31,710 --> 00:21:35,770 pruvi valoregaj kiel vi, mem provi elkompreni ĝuste ĉu aŭ kial 412 00:21:35,770 --> 00:21:38,510 search.php laboras aŭ ne. 413 00:21:38,510 --> 00:21:41,720 >> Fine do, vi havas kelkaj todos antaŭ vi. 414 00:21:41,720 --> 00:21:44,250 Vi tuj unuaj Implementa ke importado skripto kiu 415 00:21:44,250 --> 00:21:46,520 legas en us.text en vian datumbazon. 416 00:21:46,520 --> 00:21:48,760 Vi tiam tuj bezonos implementar search.php 417 00:21:48,760 --> 00:21:51,320 tiel ke ĝi kondutas precize kiel specifis. 418 00:21:51,320 --> 00:21:54,170 Vi tiam tuj volas enfokusigi sur scripts.js 419 00:21:54,170 --> 00:21:57,520 kaj finfine implementan tiuj paro de todos, 420 00:21:57,520 --> 00:21:59,950 inkludante por configure kaj ke ŝablono, 421 00:21:59,950 --> 00:22:03,220 aldoni markilojn, forigu markiloj, kaj tiam daŭri, sed ne laste, unu 422 00:22:03,220 --> 00:22:04,330 persona tuŝo. 423 00:22:04,330 --> 00:22:07,477 >> Unufoje vi havas viajn mashup laborista tute kiel la nia, la golo en mano 424 00:22:07,477 --> 00:22:09,560 estas por vi aldoni personan tuŝi al via mashup, 425 00:22:09,560 --> 00:22:11,290 ĉu ĝi estas estetikaj aŭ funkciaj. 426 00:22:11,290 --> 00:22:13,950 Prenu la mashup iam tiel iomete al la sekva nivelo. 427 00:22:13,950 --> 00:22:18,330 Tiel longe kiel vi pelas vin preter vian konatecon kun la specifo mem 428 00:22:18,330 --> 00:22:20,840 kaj repreni unu tekniko novan eĉ se ĝi estas nur 429 00:22:20,840 --> 00:22:25,610 io estetika kiel ŝanĝanta la aranĝo de la mapo kiu vi uzas, 430 00:22:25,610 --> 00:22:28,070 la medio kiun ni atendas estos kontentigita. 431 00:22:28,070 --> 00:22:30,260 Tio do estas Problemo Ara 8 Mashup. 432 00:22:30,260 --> 00:22:33,070 Sekvu por pli en la especificación kaj bonŝancon 433 00:22:33,070 --> 00:22:36,400 pritrakti tion, via lasta CS50 problemo starigis eterne. 434 00:22:36,400 --> 00:22:39,750 >> [MUZIKO Ludante] 435 00:22:39,750 --> 00:22:43,542