1 00:00:00,000 --> 00:00:05,159 2 00:00:05,159 --> 00:00:09,240 >> DAN Armendáriz: Saluton, kaj bonvenon al CS50 seminario pri Agordigo Nubo 9, 3 00:00:09,240 --> 00:00:11,724 kaj la CS50 IDE. 4 00:00:11,724 --> 00:00:13,640 Do hodiaŭ ni iras por nur paroli iomete 5 00:00:13,640 --> 00:00:16,090 pri kelkaj de la teknika informo ke 6 00:00:16,090 --> 00:00:19,380 iras malantaŭ la arkitekturo de Cloud 9, kaj kiel 7 00:00:19,380 --> 00:00:25,560 ni implementado iuj de la plug-ins kiel parto de Cloud 9 disponigi CS50 IDE. 8 00:00:25,560 --> 00:00:28,820 Do ni nur salti bone kaj komenci paroli pri plug-ins. 9 00:00:28,820 --> 00:00:32,659 >> Do plug-ins estas vere ĉe la kerno de la Nubo 9 sperto. 10 00:00:32,659 --> 00:00:37,590 Nubo 9 estas la subkuŝanta teknologio kiu havigas al ni la IDE, 11 00:00:37,590 --> 00:00:42,160 kaj ankaŭ la fina stacio fenestro en la fundo, kune kun la workspace-- 12 00:00:42,160 --> 00:00:46,430 Ubuntu workspace-- ke ni uzi kompili ĉiuj niaj projektoj 13 00:00:46,430 --> 00:00:49,190 kaj elfari nia problemo aroj, kompletigi nia problemo aroj. 14 00:00:49,190 --> 00:00:51,820 Sed ĉe la koro de ĉiuj de ĝi, la tuta teknologio 15 00:00:51,820 --> 00:00:54,590 estas vere nur aro de plug-ins. 16 00:00:54,590 --> 00:00:58,740 Ĉio estas kromprogramo kiu povas esti modifita, 17 00:00:58,740 --> 00:01:00,710 etendita, kreu vian propran plug-ins, 18 00:01:00,710 --> 00:01:03,060 vi povas forigi aliajn plug-ins, por vere ŝanĝi 19 00:01:03,060 --> 00:01:07,540 multon de la funcionalidad de la ekzistantaj Cloud 9 IDE. 20 00:01:07,540 --> 00:01:12,040 >> Do tiu estas ekzistanta Cloud 9 medio. 21 00:01:12,040 --> 00:01:14,750 Tiu estas vere nur la default Cloud 9 medio. 22 00:01:14,750 --> 00:01:18,450 Kaj rigardu kiamaniere ĝi reale estas malsama de la CS50 IDE. 23 00:01:18,450 --> 00:01:20,340 Do tiu estas la CS50 IDE. 24 00:01:20,340 --> 00:01:25,060 Rimarku ke estas kelkaj vida ŝanĝoj inter la regula Nubo 9 25 00:01:25,060 --> 00:01:28,000 medio kaj la CS50 IDE. 26 00:01:28,000 --> 00:01:30,010 Specife, vi rimarki kelkajn ŝanĝojn. 27 00:01:30,010 --> 00:01:34,201 Unue, ekzistas pli malmultaj menueroj por komenci. 28 00:01:34,201 --> 00:01:36,200 Ekzistas fakte vojo ke vi povas ŝanĝi tion. 29 00:01:36,200 --> 00:01:37,270 Ĝi nomiĝas Simpla Mode. 30 00:01:37,270 --> 00:01:40,910 >> Defaŭlte, Simpla Mode estas aktivigita, kaj kiu simpligas iom de la menueroj. 31 00:01:40,910 --> 00:01:43,032 Ĝi forigas iujn de la pli progresintaj, 32 00:01:43,032 --> 00:01:45,240 ĉar sincere, multan studentoj kiuj venas en 33 00:01:45,240 --> 00:01:48,550 kaj ne bezonas scii pri iuj de la pli progresintaj ecoj 34 00:01:48,550 --> 00:01:50,530 ne superŝutita kun amaso de ebloj. 35 00:01:50,530 --> 00:01:55,610 Sed ni ja provizas la kapablon preni malproksime tiuj tn trejnado radoj 36 00:01:55,610 --> 00:01:57,360 kaj forigi tiun trabaro por ke homoj 37 00:01:57,360 --> 00:02:00,832 povas fariĝi pli alkutimiĝis al la progresintaj ecoj de la IDE. 38 00:02:00,832 --> 00:02:02,540 Tuj al la Dekstre de tiu, ekzistas 39 00:02:02,540 --> 00:02:05,435 ankaŭ debug butono, kiun en la norma Nubo 40 00:02:05,435 --> 00:02:08,199 9 medio nomas simple kuri. 41 00:02:08,199 --> 00:02:11,990 Sed implicite, ni agordita la debug butono en la CS50 IDE 42 00:02:11,990 --> 00:02:15,500 por porti la erarserĉilo, aŭtomate tradukigi la fontkodon, 43 00:02:15,500 --> 00:02:17,940 konekti la erarserĉilo al la suba GDB-- 44 00:02:17,940 --> 00:02:21,430 kaj ekde tiu estas kurante elfari la debugging-- kaj iuj aliaj paŝoj 45 00:02:21,430 --> 00:02:22,580 ankaŭ. 46 00:02:22,580 --> 00:02:25,370 Ankaŭ la terminala fenestro ĉe la very-- aŭ prefere la terminalo 47 00:02:25,370 --> 00:02:29,010 langeton konzolo sekcio ĉe la fenestro ĉe la malsupro de la ekrano, 48 00:02:29,010 --> 00:02:31,004 estis renomita al simple esti fina stacio. 49 00:02:31,004 --> 00:02:32,837 Dum kiu en la norma Nubo 9 medio, 50 00:02:32,837 --> 00:02:35,830 ĝi fakte montras la kuranta apliko. 51 00:02:35,830 --> 00:02:39,140 Tiel, ĝi simpligas, denove, la GUI, nur iomete. 52 00:02:39,140 --> 00:02:42,310 >> Ni ankaŭ aldonis iom butonoj al la supra rajto de la IDE 53 00:02:42,310 --> 00:02:45,740 montri kelkajn bazajn informojn pri la suba ekzemplo. 54 00:02:45,740 --> 00:02:49,700 Kaj ankaŭ ni forigis unu de la ebloj sur la erojn 55 00:02:49,700 --> 00:02:51,730 de la ekstremdekstro. 56 00:02:51,730 --> 00:02:55,620 Do ĉio ĉi estas implementado ne modifante nepre la Nubo 9 57 00:02:55,620 --> 00:02:58,550 fontkodon, sed anstataŭe tra paro 58 00:02:58,550 --> 00:03:03,460 de plug-ins kiu ni implementado tra la pasinta jaro aŭ sekve. 59 00:03:03,460 --> 00:03:08,840 Kaj Cloud 9 gastigis kaj havas kurante en la CS50 laborspaca. 60 00:03:08,840 --> 00:03:13,680 Aŭ pli ĝuste en la workspaces ke estas designados kiel CS50 IDEs. 61 00:03:13,680 --> 00:03:17,140 >> Do vere tio estas la ĉefa diferenco inter la Nubo 9 kaj la CS50 62 00:03:17,140 --> 00:03:18,130 workspaces. 63 00:03:18,130 --> 00:03:21,780 Ekzistas ankaux, en la suba Ekzemple, la ĉefa ŝanĝo estas 64 00:03:21,780 --> 00:03:25,350 ke ni instalu iun antaŭ- agordita erojn kiel GDB, 65 00:03:25,350 --> 00:03:29,530 kaj kelkaj aliaj bazaj aferoj ni kreis, kiel Ĝisdate 50, 66 00:03:29,530 --> 00:03:33,310 kaj paro de aliaj paŝoj kiuj faras la tuta sperto iomete pli 67 00:03:33,310 --> 00:03:34,550 unuigita. 68 00:03:34,550 --> 00:03:38,520 Sed ĝenerale, tio estas nur modifo de ekzistanta sistemo 69 00:03:38,520 --> 00:03:40,979 kiu Cloud 9 kreis por ni. 70 00:03:40,979 --> 00:03:42,770 Kion ni tuj montri iom poste 71 00:03:42,770 --> 00:03:45,920 Tiel efektive krei iom baza kromprogramo ke 72 00:03:45,920 --> 00:03:49,461 permesas al ni enmeti ion en la menuaro kaj malfermi dialogon. 73 00:03:49,461 --> 00:03:51,210 Kaj se ni havas sufiĉan tempo, Ni efektive 74 00:03:51,210 --> 00:03:54,210 scias kiel ni povus popoli ke dialogo kun iu informo 75 00:03:54,210 --> 00:03:56,089 el la suba ekzemplo. 76 00:03:56,089 --> 00:03:58,880 Por ke ni atingos tion punkto, Ni unue parolos iomete 77 00:03:58,880 --> 00:04:01,740 pri la arkitekturo de Cloud 9. 78 00:04:01,740 --> 00:04:05,290 >> Do la vojo ke ni estas kutimitaj por interagi kun Cloud 9 79 00:04:05,290 --> 00:04:06,610 estas tute tra la kliento. 80 00:04:06,610 --> 00:04:10,610 Ni malfermu retumilo, ni entajpu la CS50.io. 81 00:04:10,610 --> 00:04:14,431 Ni eventuale, post autenticación, estas prezentitaj kun la IDE. 82 00:04:14,431 --> 00:04:16,180 Sed rimarkas ke ekzistas paro de paŝoj 83 00:04:16,180 --> 00:04:18,180 ke reale preni nin al tiu punkto. 84 00:04:18,180 --> 00:04:22,390 La unua afero estas ke mia kliento, la navegador retejo, 85 00:04:22,390 --> 00:04:27,440 sur peto kaj post autenticación, ŝarĝas la GUI kaj la plug-ins 86 00:04:27,440 --> 00:04:30,170 de iu CDN, de iuj Content Delivery Network. 87 00:04:30,170 --> 00:04:32,700 Tio povas esti sincere ie. 88 00:04:32,700 --> 00:04:35,390 >> Kaj tio estas fakte apartaj el la suba ekzemplo. 89 00:04:35,390 --> 00:04:38,890 Ĝi estas grava al kompreni ke tiu estas fakte nur aro de statikaj dosieroj. 90 00:04:38,890 --> 00:04:42,600 Estas aro de JavaScript ke estas malŝarĝita de la CDN 91 00:04:42,600 --> 00:04:45,200 al mia retumilo, kaj ĉiuj GUI ke vi 92 00:04:45,200 --> 00:04:48,460 vidi here-- ĉi estas vere key-- ĉiuj GUI ke vi vidu ĉi tie 93 00:04:48,460 --> 00:04:50,480 kuras sur la kliento flanko. 94 00:04:50,480 --> 00:04:53,820 Ĉio, kion vi vidas en la Nubo 9 laborspaca 95 00:04:53,820 --> 00:04:56,010 fakte kuras en la retumilo. 96 00:04:56,010 --> 00:04:59,950 Kaj ion ke vi sendu kune al la suba ekzemplo 97 00:04:59,950 --> 00:05:04,000 Estas komunikita kun la petskribo laŭ tiu dua aparta kanalo, 98 00:05:04,000 --> 00:05:07,240 kaj tiam estas savita sur ke Docker ekz. 99 00:05:07,240 --> 00:05:09,660 >> Do la kialo ke mi estas diranta ĉi estas Docker ekzemple 100 00:05:09,660 --> 00:05:12,650 estas ke la subkuŝantaj teknologio ne uzante virtualajn maŝinojn, 101 00:05:12,650 --> 00:05:16,040 sed anstataŭe estas uzanta teknologio nomita Docker, 102 00:05:16,040 --> 00:05:20,200 kiu esence allows-- la plej proksima analogio estas virtuala maŝino. 103 00:05:20,200 --> 00:05:24,800 Sed estas subtile malsama en tiu ekzistas 104 00:05:24,800 --> 00:05:28,900 multe de ŝancoj por kuri kombino de malsamaj Docker 105 00:05:28,900 --> 00:05:30,760 petskribojn sur ununura maŝino. 106 00:05:30,760 --> 00:05:34,660 Kaj ili povas esti turnadita supren en tre rapida sinsekvo. 107 00:05:34,660 --> 00:05:38,920 Ĝi ne estas la pli strikta diferencialado 108 00:05:38,920 --> 00:05:42,840 inter malsamaj Docker petskribojn kiel ekzistas en virtualaj maŝinoj, 109 00:05:42,840 --> 00:05:45,730 sed ankoraŭ ekzistas multe de diferenciación kaj disiĝo 110 00:05:45,730 --> 00:05:48,330 inter tiuj malsamaj petskriboj. 111 00:05:48,330 --> 00:05:48,830 BONE. 112 00:05:48,830 --> 00:05:50,980 Do la du paŝojn tie ke estas grava por realigi 113 00:05:50,980 --> 00:05:57,370 estas ke kiam ni iros al CS50.io ni estas elŝuti la GUI kaj la plug-ins, 114 00:05:57,370 --> 00:06:01,640 kio estas skribita en JavaScript, sur al la retumilo aŭ en la retumilo. 115 00:06:01,640 --> 00:06:05,980 Kaj tiu estas eble paro megabajtoj valoras de informo. 116 00:06:05,980 --> 00:06:09,460 Ĉe tiu punkto, unufoje la GUI havas ŝarĝita kaj la plug-ins komencis, 117 00:06:09,460 --> 00:06:12,530 tiam komencas komuniki kun la Docker kazon, kiu ne 118 00:06:12,530 --> 00:06:15,210 nepre devas esti la sama servilo. 119 00:06:15,210 --> 00:06:16,940 >> Nun ekzistas unu escepto al tiu. 120 00:06:16,940 --> 00:06:22,130 Ni povas fakte havi ambaŭ la transdono mekanismo por la GUI mem 121 00:06:22,130 --> 00:06:25,740 kaj la Docker ekzemple en ĉiuj de la sama servilo, kiu 122 00:06:25,740 --> 00:06:29,660 estas efektive io kion ni faras por la eksterreta versio de Cloud 9. 123 00:06:29,660 --> 00:06:33,470 Tio ne estas io ke ni diskonigita tre multe ĉi Falo, 124 00:06:33,470 --> 00:06:35,930 sed ni ankaŭ havas eksterreta versio kiu 125 00:06:35,930 --> 00:06:40,010 permesas al vi elŝuti pakita versio de cxio tio 126 00:06:40,010 --> 00:06:43,670 kaj permesi al vi kuri Nubo 9 en senkonekta medio. 127 00:06:43,670 --> 00:06:48,325 >> Movanta ĉi ekstere la nubo kaj sur via loka maŝino havas iun efikon. 128 00:06:48,325 --> 00:06:50,200 En aparta, vi nenian plu havas la kapablon 129 00:06:50,200 --> 00:06:52,280 kunhavigi vian laborspaca kun aliaj. 130 00:06:52,280 --> 00:06:58,630 Vi ne plu povas malfermi Cloud 9 el, kaj la CS50 IDE, de ajna komputilo 131 00:06:58,630 --> 00:07:02,950 kaj vidas la samajn dosierojn kiuj vi laboris kun antaŭe. 132 00:07:02,950 --> 00:07:06,310 Sed anstataŭe ĝi funkcias tute sur via loka maŝino 133 00:07:06,310 --> 00:07:09,270 sen bezoni aliro al la interreto. 134 00:07:09,270 --> 00:07:13,330 Sed ankoraŭ eĉ en tiu modelo, eĉ kvankam ni havas unu virtuala maŝino 135 00:07:13,330 --> 00:07:15,200 ke estas esence kurante tion. 136 00:07:15,200 --> 00:07:19,480 >> Ni havas apartan servilon kiu estas transdonante esence la Nubo 9 137 00:07:19,480 --> 00:07:23,640 enhavon, kaj tiam ni havi Docker ekzemple 138 00:07:23,640 --> 00:07:32,280 kiu respondecas por komuniki kun tiu IDE por la dorso fino. 139 00:07:32,280 --> 00:07:32,780 BONE. 140 00:07:32,780 --> 00:07:38,700 Do la tuta GUI estas skribita tute en JavaScript 141 00:07:38,700 --> 00:07:42,800 uzante Node.js kaj la Nubo 9 SDK, kiun ni atingos en nur unu minuto. 142 00:07:42,800 --> 00:07:46,650 Kaj ĉiuj de la plug-ins estas kuri sur la kliento flanko. 143 00:07:46,650 --> 00:07:51,780 Do ni enfokusigi tiam iomete per alprenanta 144 00:07:51,780 --> 00:07:55,670 ke tiu unua paŝo havas fakte kompletigis sukcese, 145 00:07:55,670 --> 00:07:58,990 kaj rigardu nur en ĉi Docker ekz. 146 00:07:58,990 --> 00:08:01,220 >> Do en ĉi tiu kazo, ĉi estas la norma maniero 147 00:08:01,220 --> 00:08:04,870 pensi pri faranta Cloud 9 kromprogramo evoluo estas ke vi estas iranta 148 00:08:04,870 --> 00:08:07,940 esti skribanta kodo kiu kuri en la uzanto retumilo, 149 00:08:07,940 --> 00:08:11,610 kaj vi havos la ŝancon de uzante iuj APIs por komuniki 150 00:08:11,610 --> 00:08:16,470 kun la subkuŝantaj Docker ekzemple kuri iuj kodon tie, kaj fari ion 151 00:08:16,470 --> 00:08:18,860 ke vi volus fari. 152 00:08:18,860 --> 00:08:22,000 Do tiu tuj estos la kunteksto ke ni 153 00:08:22,000 --> 00:08:24,340 esti uzante por la resto de ĉi tiu diskuto. 154 00:08:24,340 --> 00:08:26,400 Kaj nur konservi tiun modelon en menso. 155 00:08:26,400 --> 00:08:28,966 Tio estos tre grava en nur kelkaj minutoj. 156 00:08:28,966 --> 00:08:30,840 Ekzistas kelkaj ligoj mi volas montri al vi. 157 00:08:30,840 --> 00:08:34,150 Unue, Cloud 9 havigis sufiĉe multe da dokumentado 158 00:08:34,150 --> 00:08:38,740 ke estas sufiĉe bonaj, kiuj montras kiom fari bazan kromprogramo disvolviĝo. 159 00:08:38,740 --> 00:08:43,320 Do se vi iros al tiu URL, cloud9-sdk.readme.io, 160 00:08:43,320 --> 00:08:45,261 vi vidos la dokumentado tie. 161 00:08:45,261 --> 00:08:47,510 Kaj multan tiu informo ke vi estas estonta vidos 162 00:08:47,510 --> 00:08:50,310 ankaŭ troviĝas tie, Plus pli. 163 00:08:50,310 --> 00:08:55,880 Vi povas ankaŭ trovi la malfermita versio de Cloud 9 ĉe ĉi URL, 164 00:08:55,880 --> 00:09:04,270 github.com/c9/core, kiun ni uzas kiel parto de la eksterreta versio de la IDE, 165 00:09:04,270 --> 00:09:07,540 por ke vi povos havi la sama Cloud 9 sperto, 166 00:09:07,540 --> 00:09:09,660 sed en eksterreta maniero. 167 00:09:09,660 --> 00:09:10,160 Bone. 168 00:09:10,160 --> 00:09:15,560 Do ni rigardu kiel fakta Cloud 9 laborspaca tie. 169 00:09:15,560 --> 00:09:17,880 Kaj denove, mi volas atentigi eksteren kelkajn aferojn. 170 00:09:17,880 --> 00:09:21,560 Jen, ĉi tie, normala CS50 IDE. 171 00:09:21,560 --> 00:09:26,830 Mi malebligita malpli komforta reĝimo sub la menuo View 172 00:09:26,830 --> 00:09:28,807 tiel ke mi povas vidi la tutan de la menuo opcioj. 173 00:09:28,807 --> 00:09:31,140 Kion mi volas montri al vi rajton nun estas paro de aĵoj. 174 00:09:31,140 --> 00:09:33,140 Unue ekstere, se mi iros en la Preferoj kaj tiam 175 00:09:33,140 --> 00:09:37,040 alklaku Konektu direktisto, kaj entajpi CS50 tie, 176 00:09:37,040 --> 00:09:40,590 ni povas vidi ke estas, fakte, paro de CS50 plug-ins kiu 177 00:09:40,590 --> 00:09:46,280 estis instalitaj kaj nia kurado al ebligi la modifoj kiujn ni 178 00:09:46,280 --> 00:09:48,670 irprenu CS50 IDE. 179 00:09:48,670 --> 00:09:51,450 >> Ĝuste nun ekzistas esence du plug-ins kiu kuras. 180 00:09:51,450 --> 00:09:54,980 Ekzistas unu nomita Simpla, kiuj estas la simpligita mode ke 181 00:09:54,980 --> 00:10:00,020 permesas redukti la nombron de menuo ebloj kune la supro, 182 00:10:00,020 --> 00:10:03,070 kaj tiu tiel nomata malpli komforta modo. 183 00:10:03,070 --> 00:10:07,280 Kaj tiam ekzistas ankaŭ CS50 Stats, kiu estas eble nur iomete misnamed. 184 00:10:07,280 --> 00:10:09,550 Ĉar tiu estas kio montras vin la informo 185 00:10:09,550 --> 00:10:10,850 pri la suba laborspaca. 186 00:10:10,850 --> 00:10:13,560 Injektas tiuj butonoj laŭ la supra dekstra. 187 00:10:13,560 --> 00:10:18,620 Ĝi ankaŭ injektas menuero en la fenestro ero, en la Fenestro menuo 188 00:10:18,620 --> 00:10:21,730 ĉi tie, CS50 IDE Info. 189 00:10:21,730 --> 00:10:27,380 Kaj estas priresponda por instantiating tiu dialogo kiujn ni vidis ĉi tie, 190 00:10:27,380 --> 00:10:31,460 kun ĉiuj informoj kiujn ni estas kutimis vidi en CS50 IDE 191 00:10:31,460 --> 00:10:32,870 laborspaca. 192 00:10:32,870 --> 00:10:33,370 BONE. 193 00:10:33,370 --> 00:10:36,910 Do ekzistas reale pli kromprogramo ke ni evoluigis ankaŭ. 194 00:10:36,910 --> 00:10:40,110 Kaj estas kelkaj aliaj kiuj ni ankaŭ ne publike liberigita. 195 00:10:40,110 --> 00:10:45,880 Sed unu el ili estas la entuta plug-in kiu permesas GDB funkcii. 196 00:10:45,880 --> 00:10:50,190 Do unu el la aspektoj de Cloud 9 estas ke ili provizis jam 197 00:10:50,190 --> 00:10:53,210 ĉi GUI implementar erarserĉilo. 198 00:10:53,210 --> 00:10:57,360 Kaj unu el la plug-ins kiu ni kreis esence 199 00:10:57,360 --> 00:11:02,380 engancha GDB kun ĉi GUI bazita versio de erarserĉilo. 200 00:11:02,380 --> 00:11:07,680 Kaj estas respondeca por la mediar ĉiuj de la petoj kiujn uzanto povas havi, 201 00:11:07,680 --> 00:11:10,310 inter paŝanta super aŭ kreanta breakpoints aŭ ion 202 00:11:10,310 --> 00:11:15,390 kune tiujn liniojn, por ke tradukado al ordonoj kiuj GDB povas kompreni, 203 00:11:15,390 --> 00:11:16,920 emisii tiujn komandojn al GDB. 204 00:11:16,920 --> 00:11:19,260 Kaj tuj kiam GDB diktas respondo, tiam 205 00:11:19,260 --> 00:11:23,250 ni interpretas ke kaj ĝisdatigi la GUI kiel necese. 206 00:11:23,250 --> 00:11:25,130 >> Tio probable unu el la pli komplikaj 207 00:11:25,130 --> 00:11:28,840 de la plug-ins, tiel anstataŭe kio ni estas tuj enfokusigi hodiaŭ estas fakte 208 00:11:28,840 --> 00:11:34,590 la Stats plug-in, kaj ni parolos iomete pri Simpla, ankaŭ. 209 00:11:34,590 --> 00:11:39,100 Do mi menciis antaŭe, kaj mi vere volas fari tre, tre klara, ke denove, 210 00:11:39,100 --> 00:11:41,600 ĉio ĉi tio ni estas vidante tie estas esence 211 00:11:41,600 --> 00:11:43,300 funkcianta sur la kliento flanko. 212 00:11:43,300 --> 00:11:45,810 Ni faras vidi terminalprograo sube, kaj tio, kompreneble, 213 00:11:45,810 --> 00:11:49,230 se ni tajpi komandojn en ke, kiu estos tiam emisiis 214 00:11:49,230 --> 00:11:50,690 al la suba ekzemplo. 215 00:11:50,690 --> 00:11:55,280 Simile, se ni malfermas novan dosieron kaj tajpu kelkajn aĵojn en ĝin kaj savi ĝin, 216 00:11:55,280 --> 00:11:58,240 ke dosiero estos konservita sur la suba ekzemplo. 217 00:11:58,240 --> 00:12:02,310 >> Sed la redaktoro mem, ĉi terminalfenestro mem, 218 00:12:02,310 --> 00:12:05,700 Estas ĉiuj implementado en JavaScript kaj estas ĉiu la kromprogramo 219 00:12:05,700 --> 00:12:09,800 ke ni povas interagi kun, kaj do modifi. 220 00:12:09,800 --> 00:12:11,450 Ekzistas multe de extensibilidad tie. 221 00:12:11,450 --> 00:12:14,690 Mi rekomendas prenanta rigardon ĉe Nubo 9 La GitHub konton 222 00:12:14,690 --> 00:12:17,790 vidi la vasta kvanto de ŝtopilo-ins kiu estas disponeblaj, 223 00:12:17,790 --> 00:12:23,070 kaj kiom bone skribita multe de la kodo estas por extensibilidad. 224 00:12:23,070 --> 00:12:24,920 Do estas io ke mi volas mencii 225 00:12:24,920 --> 00:12:30,480 pri tiu tiel, kiu estas ke ekzistas multe of-- ekzistas 226 00:12:30,480 --> 00:12:33,450 multajn funkciojn tio provizitaj en la preferoj 227 00:12:33,450 --> 00:12:37,970 fenestro, kiun ni vidis ĵus aludis nur kelkaj minutoj. 228 00:12:37,970 --> 00:12:43,690 >> Unu el la aĵoj kiujn ni povas fari kiel IDE programistoj, aŭ kiel Cloud 9 programistoj 229 00:12:43,690 --> 00:12:47,410 estas efektive injekti iuj prefero panelojn de nia propra. 230 00:12:47,410 --> 00:12:50,660 Do la simpla maniero, aŭ la malpli komforta maniero, 231 00:12:50,660 --> 00:12:54,780 kaj ankaŭ la IDE informo, aŭ la statistikojn plug-in, 232 00:12:54,780 --> 00:12:58,560 havas ĉiu iuj prefero paneloj kiuj nin permesas modifi 233 00:12:58,560 --> 00:13:00,620 la konduto de ĉiu el tiuj. 234 00:13:00,620 --> 00:13:04,140 Vi rimarkos ke se mi iros al la Preferoj kaj iras al Uzanto agordojn, 235 00:13:04,140 --> 00:13:07,100 Tie estas CS50 langeto, unu kiu diras IDE informo. 236 00:13:07,100 --> 00:13:09,810 Kaj mi povas ŝanĝi la informo refresh imposto. 237 00:13:09,810 --> 00:13:12,250 >> Efike, kio okazas en la statistikojn plug-in 238 00:13:12,250 --> 00:13:16,690 estas ke ĉiu n-sekundoj, kie n-sekundoj estas difinita per tiu prefero 239 00:13:16,690 --> 00:13:22,250 panelo, informo estas estanta dubinda el la suba ekzemplo, forkondukite 240 00:13:22,250 --> 00:13:25,490 reen al la kliento flanko la plug-in estas tiam 241 00:13:25,490 --> 00:13:28,650 interpreti la informojn el la subkuŝantaj ekzemple 242 00:13:28,650 --> 00:13:31,470 kaj ĝisdatiganta la GUI kiel necese. 243 00:13:31,470 --> 00:13:34,710 Ni povas vidi ke nun tiu estas metita 30 sekundoj, kaj tio estas la defaŭlta. 244 00:13:34,710 --> 00:13:37,950 Sed mi povas definitive ŝanĝi kiel rapide tiu okazas nur 245 00:13:37,950 --> 00:13:40,520 modifante tiun valoron. 246 00:13:40,520 --> 00:13:44,330 >> Nun unu el la interesaj aferoj estas ke tiu prefero panelo, GUI, 247 00:13:44,330 --> 00:13:49,560 Estas vere nur GUI versio de multaj subkuŝanta agordojn 248 00:13:49,560 --> 00:13:52,220 kiuj estas prezentitaj en JSON. 249 00:13:52,220 --> 00:13:56,336 Do se mi iras, ekzemple, sub la CS50 IDE menuo, aŭ la Nubo 9 menuo, 250 00:13:56,336 --> 00:13:58,210 Dependanta sur kiu versio vi rigardas, 251 00:13:58,210 --> 00:14:00,460 kaj iri al unu el tiuj settings-- tiukaze 252 00:14:00,460 --> 00:14:03,420 la projekto settings-- la projekto agordojn tiukaze 253 00:14:03,420 --> 00:14:07,740 validas por ĉiuj la fiksoj pri unu laborspaco. 254 00:14:07,740 --> 00:14:11,620 Dum uzanto aplikiĝas al ĉiuj la workspaces 255 00:14:11,620 --> 00:14:15,110 ke vi havu en via konto. 256 00:14:15,110 --> 00:14:18,520 >> Do ĝuste kiel flanken tie, esti ekstra klara, 257 00:14:18,520 --> 00:14:22,570 Tie estas apartigi la du ĉar kvankam defaŭlte ni 258 00:14:22,570 --> 00:14:26,490 havas unu laborspaca, kiu estas la CS50 IDE, se vi 259 00:14:26,490 --> 00:14:31,900 estis klaki sur via malgranda Avatar tie supre kaj iri al panelo, 260 00:14:31,900 --> 00:14:35,820 Vi trovos ke vi povas reale krei aldonan workspaces tiel. 261 00:14:35,820 --> 00:14:39,140 Vi povas vidi ĉi tie ke mi havas IDE 50 laborspaca, kaj ankaŭ 262 00:14:39,140 --> 00:14:41,930 por la celoj de ĉi tiu seminario, a laborspaca 263 00:14:41,930 --> 00:14:45,084 nomata laborspaca, kiu estas tie. 264 00:14:45,084 --> 00:14:46,750 Do ĉiuokaze, mi havas malsamajn preferojn. 265 00:14:46,750 --> 00:14:49,910 Ĉiu unu el tiuj povus havi aparta projekto preferoj, 266 00:14:49,910 --> 00:14:54,091 sed la preferojn estas dividita inter ĉiuj miaj workspaces. 267 00:14:54,091 --> 00:14:55,840 Parenteze, tiu estas ankaŭ tre oportuna se vi 268 00:14:55,840 --> 00:14:59,080 deziras krei laborspaca kun malsamaj ebloj. 269 00:14:59,080 --> 00:15:01,640 Kaj ĝi estas tre utila al krei novan laborspaca. 270 00:15:01,640 --> 00:15:04,230 Kaj elektu unu kiu povus esti Antaŭ- agordita alimaniere, 271 00:15:04,230 --> 00:15:07,000 eble por PHP specife, aŭ Django specife. 272 00:15:07,000 --> 00:15:08,960 Aŭ eĉ nur kutimo. 273 00:15:08,960 --> 00:15:11,320 La CS50 laborspaca ŝablono estas kiu ni 274 00:15:11,320 --> 00:15:15,420 uzi kiu aŭtomate instalas Ĝisdatigo 50 Kaj ĉiuj la fiksoj 275 00:15:15,420 --> 00:15:20,531 ke ni havas tie, inkluzive de ĉiuj plug-ins kiu ni havas por la CS50 IDE. 276 00:15:20,531 --> 00:15:21,030 BONE. 277 00:15:21,030 --> 00:15:22,200 Sed ni revenu al tio. 278 00:15:22,200 --> 00:15:25,640 Do denove, ekzistas projektoj agordojn, kaj tiuj estas kiuj estas 279 00:15:25,640 --> 00:15:27,140 ke ni estas rigardantaj tie. 280 00:15:27,140 --> 00:15:29,056 Kaj rimarki ke Estas aro de difinoj, 281 00:15:29,056 --> 00:15:32,720 multaj el ili respondas al prefero paneloj, sed ne ĉiuj el ili. 282 00:15:32,720 --> 00:15:40,800 Sed ni povas vidi ke ĉi tie, en this-- OH ne, ĉu mi metis ĝin en la uzanto agordojn? 283 00:15:40,800 --> 00:15:43,280 Eble mi metis ĝin en la uzanto agordojn. 284 00:15:43,280 --> 00:15:45,480 Kaj tiu, ĉi tie ni iras. 285 00:15:45,480 --> 00:15:49,840 En la uzanto kadretoj, ni povas vidi ke ni havas CS50 sekcio, 286 00:15:49,840 --> 00:15:53,762 kaj tiu estas skribita al cxi tiuj Cloud 9 plug-ins 287 00:15:53,762 --> 00:15:54,720 ke ni implementado. 288 00:15:54,720 --> 00:15:57,400 Ekzistas simpla al korespondi kun tiu simpla plug-in, 289 00:15:57,400 --> 00:16:00,930 kaj statistikoj unu kiu respondas al tiu GUI bazita 290 00:16:00,930 --> 00:16:02,440 versio de la prefero panelo. 291 00:16:02,440 --> 00:16:05,740 La aktualiga ofteco, en ĉi kazo, estas fiksita al 20 sekundoj. 292 00:16:05,740 --> 00:16:09,740 >> Tio estas ĉio, espereble, la komencoj de iu informo 293 00:16:09,740 --> 00:16:14,420 ke ni vere vidos en iom iom pli detale, momente. 294 00:16:14,420 --> 00:16:14,920 BONE. 295 00:16:14,920 --> 00:16:17,520 Do diru ni volas reale preni gxin. 296 00:16:17,520 --> 00:16:20,600 Ni komprenas ke ĉiu de la aĵoj ke estas okazanta sur la kliento flanko 297 00:16:20,600 --> 00:16:24,560 estas farita reale sur la retumilo, kiun signifas ke ajna plug-ins kiu mi skribas 298 00:16:24,560 --> 00:16:27,990 tuj estos skribita kun la retumilo en menso. 299 00:16:27,990 --> 00:16:30,830 Kaj se mi vere volas fari ion sur la laborspaca, 300 00:16:30,830 --> 00:16:33,360 Mi eble devas komenci ia komunikado 301 00:16:33,360 --> 00:16:35,970 inter la retumilo kaj la laborspaca certi 302 00:16:35,970 --> 00:16:38,212 ke tio estas efektive plenumita. 303 00:16:38,212 --> 00:16:40,170 Sed diru ke nun Mi volas reiri malsupren al ĝi 304 00:16:40,170 --> 00:16:43,440 kaj fakte krei mian unuan kromprogramon. 305 00:16:43,440 --> 00:16:48,970 Nu, la vojo ke vi povus fari tion estas efektive sufiĉe facila. 306 00:16:48,970 --> 00:16:51,370 Ĝi estas donita en la Nubo 9 SDK. 307 00:16:51,370 --> 00:16:55,520 Sed estas preni vian ekzistanta laborspaca nomon, 308 00:16:55,520 --> 00:16:59,810 estas la URL kiu vi havas ĉe la supro de via trinkejo, kaj aldonu la sekvan al ĝi. 309 00:16:59,810 --> 00:17:00,310 ? 310 00:17:00,310 --> 00:17:00,893 SDK = 1 & Debub = 2. 311 00:17:00,893 --> 00:17:04,369 312 00:17:04,369 --> 00:17:08,260 Nun kio ĉi tuj ebligi estas ke la SDK = 1 efektive starigis la SDK 313 00:17:08,260 --> 00:17:11,430 regimon vera, kio ebligos kelkaj aldonaj aferoj. 314 00:17:11,430 --> 00:17:15,770 Kaj elpurigi = 2 permesos erarmesaĝoj esti iomete pli parolema. 315 00:17:15,770 --> 00:17:20,170 >> Kaj do se vi alportu la Ĝavoskripto konzolon en via Chrome ellaboranto langeto, 316 00:17:20,170 --> 00:17:22,829 vi efektive povos vidi multa pli informo 317 00:17:22,829 --> 00:17:24,349 ol vi farus alie. 318 00:17:24,349 --> 00:17:28,310 Do mi rekomendas turnante ambaŭ sur samtempe, ĉar ĝi vere 319 00:17:28,310 --> 00:17:31,170 Estas utile havi ĉiuj ĉi aldona informo. 320 00:17:31,170 --> 00:17:35,330 Estas grave noti, aliflanke, ke ŝaltante elpurigi al la valoro de 2 321 00:17:35,330 --> 00:17:38,120 signifas ke ĝi estas tre parolema, kaj ĝi efektive 322 00:17:38,120 --> 00:17:42,590 estos iom rimarkinde malrapidigi via IDE, speciale kiam ŝarĝo 323 00:17:42,590 --> 00:17:45,657 aŭ kiam fari faras pezajn taskojn. 324 00:17:45,657 --> 00:17:46,740 Do ĝuste teni ke en menso. 325 00:17:46,740 --> 00:17:51,500 Ĝi estas utila por evoluo, sed vi eble ne volas havi ĝin sur la tutan tempon. 326 00:17:51,500 --> 00:17:53,080 >> Do ni vere faru tion. 327 00:17:53,080 --> 00:17:59,374 Sed en ĉi tiu kazo, mi efektive havas jam starigis laborspaca kun tiu. 328 00:17:59,374 --> 00:18:00,540 Do ni vidu, SDK = 1 & debug = 2. 329 00:18:00,540 --> 00:18:03,140 330 00:18:03,140 --> 00:18:07,770 Kun paro de plug-ins espereble jam instalita. 331 00:18:07,770 --> 00:18:08,340 Bone. 332 00:18:08,340 --> 00:18:15,050 Do nun ke mi ŝaltis la SDK debug reĝimo, rimarki ke ni estas en debug mode, 333 00:18:15,050 --> 00:18:20,430 tial ni povas rigardi la dev iloj por vidi ajna eraroj, kiujn Mi faros offscreen. 334 00:18:20,430 --> 00:18:23,110 Ni povas vidi ke ekzistas faskon da eraroj tie. 335 00:18:23,110 --> 00:18:28,090 Nun estas efektive sufiĉe komuna por Nubo 9 havi kelkajn erarojn, 336 00:18:28,090 --> 00:18:30,680 kaj mi ne maltrankviliĝas pri ili ĝis vi 337 00:18:30,680 --> 00:18:32,930 vidi iun kiu povus estu specifaj al la plug-in 338 00:18:32,930 --> 00:18:34,510 ke vi okazas esti kreanta. 339 00:18:34,510 --> 00:18:37,620 >> Do jen, ekzemple, ni preni kelkaj 404s-- ne trovis. 340 00:18:37,620 --> 00:18:42,910 Ni vidas ke ni estas nekapablaj ŝarĝi iun informo ekstere la suba ekzemplo 341 00:18:42,910 --> 00:18:43,670 mem. 342 00:18:43,670 --> 00:18:46,545 Kaj estas aro da aldonaj informon, sed la plejparto de tiu ni estas 343 00:18:46,545 --> 00:18:47,970 efektive tuj ignori nun. 344 00:18:47,970 --> 00:18:50,130 Ĉar tiu estas sufiĉe komuna por laborspaca 345 00:18:50,130 --> 00:18:53,200 havi nur kelkaj eraroj. 346 00:18:53,200 --> 00:18:53,700 BONE. 347 00:18:53,700 --> 00:18:56,680 Mi tuj movas tiu el la vojo, kaj revenu ĉi tien. 348 00:18:56,680 --> 00:19:01,860 Kaj nun la facila maniero, la belan afero pri havi ĉi ellaboranto 349 00:19:01,860 --> 00:19:07,330 reĝimo aktivigita estas kiu permesas min facile krei novajn kromprogramon. 350 00:19:07,330 --> 00:19:12,390 >> Do dum antaŭe mi efektive ne havas ĉi nova kromprogramo havebla opcio, 351 00:19:12,390 --> 00:19:16,460 kion ni povas vidi se mi reirus al mia ne ellaboranto mode tien, 352 00:19:16,460 --> 00:19:18,510 Tie estas neniu nova kromprogramo. 353 00:19:18,510 --> 00:19:23,220 Ebligante la SDK moduso, mi havas novan kromprogramo havebla 354 00:19:23,220 --> 00:19:25,660 kaj mi povas facile krei unu. 355 00:19:25,660 --> 00:19:28,160 En tiu kazo, ekzistas paro de malsamaj ebloj, simpla, 356 00:19:28,160 --> 00:19:30,850 malplena ŝtopilo-en, plena kromprogramo, instalilo, Cloud 9 pakaĵo. 357 00:19:30,850 --> 00:19:33,030 Ni simple elekti malplena kromprogramon por nun 358 00:19:33,030 --> 00:19:37,670 tiel ke ni povas vidi tre simpla versio de unu. 359 00:19:37,670 --> 00:19:41,520 >> Nun rimarkas ke laŭ la maldekstre tio estas nun 360 00:19:41,520 --> 00:19:45,080 io sub ŝatatajn, kiu estas listigante kelkajn plug-ins 361 00:19:45,080 --> 00:19:47,020 ke estas nun disponebla al mi. 362 00:19:47,020 --> 00:19:50,420 Se mi vastigi ke ni aŭskultas povos vidi tiujn. 363 00:19:50,420 --> 00:19:52,730 Nun mi volas vin rimarki ion tie, kiun 364 00:19:52,730 --> 00:19:58,260 estas ke tio ĉi ne vere enhavis ene la laborspaca dosierujo 365 00:19:58,260 --> 00:20:03,190 sur mia subkuŝanta Ubuntu ekzemple, sed ĝi estas enhavita sur la durdisko. 366 00:20:03,190 --> 00:20:06,330 Kaj kie ĉi situas, ĉar tiu estas tre utile koni ilin, 367 00:20:06,330 --> 00:20:09,570 speciale se vi tuj faranta ion kun Git, 368 00:20:09,570 --> 00:20:16,870 kie tiu situas estas en .c9 dosierujo, / plugins. 369 00:20:16,870 --> 00:20:21,110 Do, se mi iros tien, ni povas vidi ke nun la listo de plug-ins kiu estas tie 370 00:20:21,110 --> 00:20:26,390 egalas la listo la plug-ins kiu mi vidis sur la maldekstra flanko de mia laborspaco. 371 00:20:26,390 --> 00:20:28,610 >> Nun defaŭlte, kaj tio estas speco de stranga, 372 00:20:28,610 --> 00:20:31,760 defaŭlte kiam mi kreas nova kromprogramo en laborspaca, 373 00:20:31,760 --> 00:20:36,620 ĝi kreas tiu kromprogramo ke per defaŭlta havas nomon de substreko. 374 00:20:36,620 --> 00:20:39,760 Ĝenerale tio eble kaŭzi iujn problemojn. 375 00:20:39,760 --> 00:20:42,340 Do la sekvan paŝon ke mi kutime elfari 376 00:20:42,340 --> 00:20:45,880 estas simple forigi tiun aparta kromprogramo 377 00:20:45,880 --> 00:20:52,810 kaj lasi nur la simpla plug-in, kiu estis tie komence, plugin.simple. 378 00:20:52,810 --> 00:20:55,430 Kaj tio estas la sola kiu estas tie. 379 00:20:55,430 --> 00:20:55,930 BONE. 380 00:20:55,930 --> 00:20:58,380 >> Do kion signifas ĉi reale aspektas? 381 00:20:58,380 --> 00:21:01,210 Nu, tiu estas, denove, JavaScript pako 382 00:21:01,210 --> 00:21:05,220 kiu inkludas iujn dosierojn, inkludante plugin.js dosiero, kie 383 00:21:05,220 --> 00:21:07,700 la ĉefa enhavo de miaj kromprogramo situas, 384 00:21:07,700 --> 00:21:10,590 a package.json dosiero, kiu fakte precizigas 385 00:21:10,590 --> 00:21:13,760 iuj metadatumoj pri ĉi plug-in, kiel kiu la aŭtoro estas, 386 00:21:13,760 --> 00:21:19,240 ajna aldona informo pri ĝi, priskribo de la plug-in, kaj tiel plu. 387 00:21:19,240 --> 00:21:22,190 Kaj ankaŭ defaŭlte, ĝi Kreas malplenan README dosiero, 388 00:21:22,190 --> 00:21:26,100 kaj malplena testo dosiero por vi krei plian dokumentadon, 389 00:21:26,100 --> 00:21:29,430 kaj testado jungilaron se vi ŝatus fari tion. 390 00:21:29,430 --> 00:21:34,160 >> Do ni nur rigardu unue ĉe, tre rapide, ĉe la package.json dosiero. 391 00:21:34,160 --> 00:21:38,240 Ĝi estas sufiĉe facile simple iru tra ĝin kaj plenigi en la areoj de ĉi 392 00:21:38,240 --> 00:21:42,510 ke vi volas plenigi, kiel havigi al li nomon, doni priskribon, 393 00:21:42,510 --> 00:21:45,010 persisti la versia numero ĉiu malmulta, provizi 394 00:21:45,010 --> 00:21:47,570 aŭtoro por ĉiu persono kiu kontribuas, 395 00:21:47,570 --> 00:21:53,000 aldoni ilin al la kontribuantoj sekcio, kaj la resto de tio vi 396 00:21:53,000 --> 00:21:56,390 povas sufiĉe tre nur forlasi kiel ĝi estas nun. 397 00:21:56,390 --> 00:21:58,490 >> Tie estas unu afero tio Gravas rimarki, 398 00:21:58,490 --> 00:22:04,990 ke sub la plug-ins sekcio, estas ŝlosilo nomita kromprogramon. 399 00:22:04,990 --> 00:22:11,800 Kaj tiu estas egalita al la nomo de la JavaScript dosiero nomata plugin.js. 400 00:22:11,800 --> 00:22:18,290 Do jen kiel Cloud 9 scias, kiam legas ĉi package.json dosieron, kiu 401 00:22:18,290 --> 00:22:20,720 de la js dosierojn al efektive ŝarĝas. 402 00:22:20,720 --> 00:22:25,440 Se mi kreas aldonan js dosieroj aŭ volas renomi ke js dosiero de ŝtopilo-en, 403 00:22:25,440 --> 00:22:30,380 Mi ankaŭ devas ŝanĝi ĝin en la package.json dosiero. 404 00:22:30,380 --> 00:22:33,660 >> Demandojn de la spektantaro? 405 00:22:33,660 --> 00:22:34,160 No. 406 00:22:34,160 --> 00:22:38,100 Tiu persono kiu estas sekvante kune kun mi ĝis nun. 407 00:22:38,100 --> 00:22:38,760 >> BONE. 408 00:22:38,760 --> 00:22:42,300 Do mi efektive kreis paro de plug-ins jam, 409 00:22:42,300 --> 00:22:44,100 Mi pensas, en tiu spaco de laboro. 410 00:22:44,100 --> 00:22:53,800 Do ni malfari de iuj de ĉi tiuj, aldoni SDK = 1 & debug = 2, reŝarĝi ĉi laborspaca, 411 00:22:53,800 --> 00:22:58,780 kaj ni vidu, se ni havas tiuj plug-ins nun. 412 00:22:58,780 --> 00:23:01,430 C9 / plugins. 413 00:23:01,430 --> 00:23:01,930 Ĉi tie ni iras. 414 00:23:01,930 --> 00:23:06,910 Ni povas vidi nun en mia C9 / kromaĵojn de tiu unu, ni havos plugin.1 kaj plugin.2. 415 00:23:06,910 --> 00:23:15,260 Do ni tuj simple pliigu the-- nur pliigi la kvanton de malfacilo 416 00:23:15,260 --> 00:23:16,660 en ĉiu de ĉi tiuj plug-ins. 417 00:23:16,660 --> 00:23:20,140 Sed ĉi tie, se mi kreas novan kromprogramo, Mi povas aldoni ĝin al miaj favoritos. 418 00:23:20,140 --> 00:23:25,560 Kaj mi nur forigi tiujn el la suba dosiersistemo. 419 00:23:25,560 --> 00:23:28,050 >> Ni forigu tion. 420 00:23:28,050 --> 00:23:33,206 Nun, se mi malfermos mian unuan plug-in, kaj malfermita plugin.js, 421 00:23:33,206 --> 00:23:39,980 ni povas vidi tie la subkuŝanta simpla versio de ŝtopilo-en. 422 00:23:39,980 --> 00:23:42,170 Lasu min reale reiri al tiu alia laborspaca 423 00:23:42,170 --> 00:23:47,160 ĉar vi povas almenaŭ, ĉi tie vidi, kio malplenan kromprogramo reale aspektas. 424 00:23:47,160 --> 00:23:51,810 Do sub la kapuĉo, tio aspektas tre simila al teknologio nomita, 425 00:23:51,810 --> 00:23:53,780 Mi pensas, ĝi estas RequireJS. 426 00:23:53,780 --> 00:23:56,000 Rimarku ke tio ne vere aspektas, eble, 427 00:23:56,000 --> 00:23:59,150 la sama kiel iuj aliaj Ĝavoskripto dosierojn, ke ni eble vidis. 428 00:23:59,150 --> 00:24:04,250 Sed anstataŭe, ekzistas paro de ĵus bazaj linioj ke ĝi efektive havas. 429 00:24:04,250 --> 00:24:06,900 >> Ĉiuj ĉi aferoj estas unua interpretita de la IDE, 430 00:24:06,900 --> 00:24:09,940 sed ĝi ne estas vere kuri ĝis precizigita. 431 00:24:09,940 --> 00:24:13,610 Kaj mi rakontos al vi pri kiam tiu fakte signifas en nur momento. 432 00:24:13,610 --> 00:24:17,840 Sed rimarki ke tie ekzistas main.consumes linio en linio 2, 433 00:24:17,840 --> 00:24:23,270 kaj tio listigas ĉiujn la ŝtopilo-ins ke tiu kromprogramo estas dependaj. 434 00:24:23,270 --> 00:24:27,150 Do defaŭlte, ni eble ne havi ajna dependaĵojn en aliaj ŝtopilo-ins, 435 00:24:27,150 --> 00:24:30,530 sed kiam ni efektive bezonas dependas karakterizaĵoj provizita 436 00:24:30,530 --> 00:24:34,900 de aliaj ŝtopilo-ins en la IDE, ni devas listo tiuj plug-ins 437 00:24:34,900 --> 00:24:36,890 en la main.consumes linio. 438 00:24:36,890 --> 00:24:39,230 Kaj tiam ni bezonas ligi ilin al la kodo 439 00:24:39,230 --> 00:24:42,860 sube, kiun Mi montros al vi en nur momento pri kiel ni povas fari tion. 440 00:24:42,860 --> 00:24:46,100 >> Main.provides donas nomon al ĉi kromprogramon 441 00:24:46,100 --> 00:24:49,190 ke aliaj plug-ins povis uzi en siaj konsumas linio. 442 00:24:49,190 --> 00:24:52,480 Do en ĉi tiu kazo, mia kromprogramo estas simple metitaj defaŭlte, 443 00:24:52,480 --> 00:24:55,820 kaj ni devus ŝanĝi ke esti Taŭga por nia propra kromprogramo, 444 00:24:55,820 --> 00:24:57,540 kiel ni vidos en nur momento. 445 00:24:57,540 --> 00:25:01,230 Nun tie en la funkcio ĉefa, tiun funkcion ĉefa 446 00:25:01,230 --> 00:25:05,630 fakte kuri kaj interpretita, sed ĝi ne reale fari tre multe. 447 00:25:05,630 --> 00:25:08,970 Ĝi nur prenas ĉiun starigita, sed ĝi ne vere komencos la plug-in, 448 00:25:08,970 --> 00:25:11,220 malgraŭ kion la nomo sonas. 449 00:25:11,220 --> 00:25:14,690 Tio vere okazas tra vico de metodoj kiuj 450 00:25:14,690 --> 00:25:16,820 estas enhavita ĉie ĉi kromprogramo. 451 00:25:16,820 --> 00:25:20,830 >> Do se mi rulumu malsupren, ni povas vidi ke ni havas vivociklo kie 452 00:25:20,830 --> 00:25:25,100 sur iu okazaĵo nomita ŝarĝo, aŭ iu okazaĵo nomita malŝarĝi, 453 00:25:25,100 --> 00:25:26,940 iuj okazaĵoj fakte okazas. 454 00:25:26,940 --> 00:25:33,500 Estas vere tien kie kiel la ŝtopilo-en startas ke tiuj metodoj estas vokita. 455 00:25:33,500 --> 00:25:37,240 Do ni esti iomete pli konkretaj pri tiu kaj rigardu ekzemplon. 456 00:25:37,240 --> 00:25:41,010 Do jen por plugin.1, kio ni esence tuj faros 457 00:25:41,010 --> 00:25:46,010 estas krei menuero nomata CS50 Seminario Dialogo 1-- 458 00:25:46,010 --> 00:25:48,070 ĉar ni havas du el them-- kaj ni tuj 459 00:25:48,070 --> 00:25:50,300 injekti ĝin en la Fenestro menuo. 460 00:25:50,300 --> 00:25:54,590 Kaj kiam ni premas sur ĝi, ni estas tuj malfermos dialogon kiu 461 00:25:54,590 --> 00:25:56,290 montras nin iuj tre bazaj informoj. 462 00:25:56,290 --> 00:25:58,050 >> En tiu kazo, nur saluton mondo. 463 00:25:58,050 --> 00:26:01,880 Do tiu estas tre simpla saluton mondo dialogo 464 00:26:01,880 --> 00:26:05,260 ke ni povu efektivigi kiel kromprogramo en Cloud 9. 465 00:26:05,260 --> 00:26:07,960 Do ni vidu kiel ĉi efektive aspektas. 466 00:26:07,960 --> 00:26:12,730 Ni treti tra ĝi, same Relative rapide do ni 467 00:26:12,730 --> 00:26:15,580 povas rigardi la sekva kromprogramo ankaŭ. 468 00:26:15,580 --> 00:26:19,510 Rimarku, ke ĉi tie ni estas konsumanta vario de plug-ins. 469 00:26:19,510 --> 00:26:26,080 Ni konsumanta dialogo plug-in, komandojn, menuoj, kaj UI. 470 00:26:26,080 --> 00:26:30,440 Aspektas kiel mi efektive estas konsumanta dialogon dufoje, do mi povas forigi tion. 471 00:26:30,440 --> 00:26:32,560 >> Kaj rimarki ke la vojo ke mi konektanta ilin, 472 00:26:32,560 --> 00:26:37,940 ĉi tiu estas speco de metadatos kiu estas rakontanta la plug-in sistemo kio postuloj 473 00:26:37,940 --> 00:26:41,480 estas efektive necesa por tiu kromprogramo ŝarĝi. 474 00:26:41,480 --> 00:26:46,400 Estas ankaŭ grave noti ke la ordon ke ŝtopilo-ins estas ŝarĝita 475 00:26:46,400 --> 00:26:48,300 ne estas garantiita. 476 00:26:48,300 --> 00:26:53,400 Sed kio estas garantiita estas ke se mi specifi iuj plug-in kiel kondiĉo, 477 00:26:53,400 --> 00:26:56,900 ke kromprogramo estos ŝarĝitaj antaŭ ĉi tiu estas ŝarĝita. 478 00:26:56,900 --> 00:27:00,390 >> Do tio signifas ke se via ŝtopilo-en postulas sur iu funcionalidad provizita 479 00:27:00,390 --> 00:27:04,380 per io ajn alia en la IDE, vi devus certi ke via kromprogramo konsumas 480 00:27:04,380 --> 00:27:09,260 ke ŝtopilo-en por ke la dependaĵojn Estas certaj krei vian kromprogramo, 481 00:27:09,260 --> 00:27:15,010 aŭ instantiate via ŝtopilo-en, nur post tiu ekzistanta kadro ekzistas. 482 00:27:15,010 --> 00:27:18,870 Do jen mi menciis la metadatuma al la plug-in manager, 483 00:27:18,870 --> 00:27:20,990 kiu ones mi tuj konsumi. 484 00:27:20,990 --> 00:27:24,910 Kaj en la ĉefa funkcio ĉi tie, Mi tuj poste konekti 485 00:27:24,910 --> 00:27:30,240 mian kodon al tiuj importitaj plug-ins. 486 00:27:30,240 --> 00:27:33,420 >> Do mi simple tuj krei iuj variabloj kiuj 487 00:27:33,420 --> 00:27:36,620 parigi la nomojn de ĉiu de tiuj tiel ke mi povas tre rapide referenci ilin 488 00:27:36,620 --> 00:27:37,840 tra mia kodo. 489 00:27:37,840 --> 00:27:41,840 La kialo Mi importanta dialogo Estas ĉar mi volas mian kromprogramo 490 00:27:41,840 --> 00:27:44,560 agi kiel dialogo kromprogramon. 491 00:27:44,560 --> 00:27:49,320 Kaj la vojo ke mi povas fari tion estas, kompreneble, 492 00:27:49,320 --> 00:27:52,740 konekti mian kodon por la dialogo plug-in per importanta ĝi 493 00:27:52,740 --> 00:27:57,210 kaj tiam per preciziganta per kreante novan dialogon ŝanĝiĝema 494 00:27:57,210 --> 00:28:00,460 kaj konektante ĝin al ke importitaj kromprogramon. 495 00:28:00,460 --> 00:28:04,820 Kaj tiam per difino mia plug-in kiel novan dialogon. 496 00:28:04,820 --> 00:28:07,650 >> Do en la inicialización, mi volas difini mian kromprogramon. 497 00:28:07,650 --> 00:28:10,440 Kaj tiu variablo nomata plug-in, vi vidos 498 00:28:10,440 --> 00:28:14,030 estas nur uzata komune tra Cloud 9 ŝtopilo-ins. 499 00:28:14,030 --> 00:28:16,980 Mi tuj instantiate nova dialogo kun iuj atributoj, 500 00:28:16,980 --> 00:28:22,300 doni specifan nomon, diru ke ĝi eblas por uzantoj por fermi ĝin. 501 00:28:22,300 --> 00:28:24,960 Ke ĝi montros iom x en la supra dekstra mano angulo, 502 00:28:24,960 --> 00:28:27,529 aŭ iom butono en la malsupra dekstra mano angulo. 503 00:28:27,529 --> 00:28:30,570 Ĉu mi povas elekti tekston de ĝin, kion la titolo de tiu dialogo 504 00:28:30,570 --> 00:28:32,400 estus, kaj tiel plu. 505 00:28:32,400 --> 00:28:36,330 Nun tio simple difinas la dialogo, sed ne ankoraŭ montri ĝin. 506 00:28:36,330 --> 00:28:40,780 Mi vere devas difini agado por ĝi montriĝos. 507 00:28:40,780 --> 00:28:43,490 >> Kaj cetere, mi kuraĝigas vin rigardu la Nubo 9 SDK, 508 00:28:43,490 --> 00:28:46,930 ĉar estas vario dialogoj kaj ili vere bone dokumentita. 509 00:28:46,930 --> 00:28:50,500 Vi povas vidi la malsamajn tipojn ke estas, kaj uzi ilin 510 00:28:50,500 --> 00:28:55,380 en kio ajn kromprogramo vi havas en menso. 511 00:28:55,380 --> 00:28:58,790 Nun tie okazas esti ŝarĝo sekcio, kaj tiu ŝarĝo 512 00:28:58,790 --> 00:29:03,390 funkcion kiel vi memoras estas uzita de la plug-in vivociklo 513 00:29:03,390 --> 00:29:07,060 efektive instantiate ĉio kaj akiri ĉion preta iri. 514 00:29:07,060 --> 00:29:11,440 Nun kiam tiu kromprogramo ŝarĝoj, mi ne faras deziras ĝin tuj montros dialogon, 515 00:29:11,440 --> 00:29:14,160 ĉar ĉi kromprogramo ŝarĝos kune kun la resto de la IDE. 516 00:29:14,160 --> 00:29:17,850 Kaj kiam mi ŝarĝi ke IDE, mi ne volas la dialogo montri supren aŭtomate. 517 00:29:17,850 --> 00:29:24,170 Mi nur volas ĝin montri kiam mi alklakas la menuo en mia Fenestro menuero 518 00:29:24,170 --> 00:29:26,760 Mi aldonu al gxi momente. 519 00:29:26,760 --> 00:29:29,480 >> Do ekzistas du klaraj paŝoj tie ke devas okazi. 520 00:29:29,480 --> 00:29:32,640 Mi devas krei komando, kaj la komando 521 00:29:32,640 --> 00:29:37,940 estos respondeca praktiko montrante la dialogo sur la Nubo 9 IDE. 522 00:29:37,940 --> 00:29:42,670 Kaj tiam mi devas konekti, mi devi krei novan fenestron menuo 523 00:29:42,670 --> 00:29:46,070 eron, kiu kuras ke komando. 524 00:29:46,070 --> 00:29:49,740 Por ke kiam mi alklakas tiun fenestron menuero, ke komando estas poste ekzekuti 525 00:29:49,740 --> 00:29:52,290 sekve mia dialogo estas tiam montrita. 526 00:29:52,290 --> 00:29:55,690 Kaj tiel tio estas fakte bela bela vojo pensi pri ĝi. 527 00:29:55,690 --> 00:30:01,480 >> Ĉar unue mi kreu komando kies nomo estas CS50 Seminario Dialogo 1, 528 00:30:01,480 --> 00:30:04,860 kiu disponigas iun ĝenerala kunteksto por ĝi. 529 00:30:04,860 --> 00:30:08,930 Kaj la grava iom tie estas rimarki la EXEC atributo, kiu 530 00:30:08,930 --> 00:30:15,160 listigas funkcio kiu nomos en mia kromprogramo kiam ĉi komando estas kuri. 531 00:30:15,160 --> 00:30:21,980 Do tiu komando estas ia kiel a-- estas nur arbitra Nubo 9 532 00:30:21,980 --> 00:30:25,780 komando kiu estas disponeblaj al ajna Cloud 9 kromprogramon. 533 00:30:25,780 --> 00:30:30,290 Sed la fakta funkcio kiu estas tuj nomos kiam ĉi komando estas prizorgita 534 00:30:30,290 --> 00:30:35,010 estas la spektaklo dialogo funkcio en mia plugin.js dosiero. 535 00:30:35,010 --> 00:30:38,550 >> Kaj ni povas reale vidu tiuj plug-ins kaj la listo 536 00:30:38,550 --> 00:30:45,480 de komandojn kiuj estas disponeblaj al ni en Agordoj, rulumu tuta vojo down-- 537 00:30:45,480 --> 00:30:48,180 ni vidu, fakte ni vidas tion nun? 538 00:30:48,180 --> 00:30:53,180 Konektu direktisto, ne, mi pensas I-- estas definitive ĉirkaŭ ĉi tie ie. 539 00:30:53,180 --> 00:31:00,016 Nu, tie estas listo de komandoj ie, sed mi devas havi, 540 00:31:00,016 --> 00:31:01,140 Mi forgesis kie estas. 541 00:31:01,140 --> 00:31:02,430 Do bone, ni pluiru. 542 00:31:02,430 --> 00:31:02,930 Bone. 543 00:31:02,930 --> 00:31:05,790 Do ni havas liston de komandoj kiuj estas disponeblaj al ni, 544 00:31:05,790 --> 00:31:08,550 kaj tiuj komandoj estas tiuj nur arbitra Nubo 9 545 00:31:08,550 --> 00:31:10,870 komandojn kiuj kuras specifan kodon. 546 00:31:10,870 --> 00:31:13,620 Do ĝuste teni ke en menso, ke ni tuj kuras la spektaklo dialogo 547 00:31:13,620 --> 00:31:15,640 funkcii momente. 548 00:31:15,640 --> 00:31:19,740 Nun kiam mi fakte volas aldoni menuo ero, mi povas aldoni la eron per pado, 549 00:31:19,740 --> 00:31:25,570 kaj nur specifi ĝuste kie mi volas ĝin esti, Fenestro / CS50 Seminario Dialogo 1. 550 00:31:25,570 --> 00:31:28,380 Kaj je tiu punkto, mi volas krei novan eron kiu 551 00:31:28,380 --> 00:31:32,040 tuj kuri komando, CS50 Seminario Dialogo 1. 552 00:31:32,040 --> 00:31:36,140 Rimarku ke denove, ĉi tiu estas la Nubo 9 komando mi kreis ĝuste supre. 553 00:31:36,140 --> 00:31:38,630 >> Nun mi volas ankaŭ krei iom dividanton, 554 00:31:38,630 --> 00:31:42,260 kaj tial mi povas fari la saman en la posta linio. 555 00:31:42,260 --> 00:31:46,040 Nun vi eble rimarkis ke kiel parto de la difino ĉi menuero, 556 00:31:46,040 --> 00:31:48,200 ekzistas kelkaj asociita kun ĝi kiu 557 00:31:48,200 --> 00:31:51,260 fakte diras kie ĝuste Mi volas ke menuero esti 558 00:31:51,260 --> 00:31:53,441 lokitaj en la listo de menuoj. 559 00:31:53,441 --> 00:31:55,190 Sed vi eble rimarkos ke mi ne vere 560 00:31:55,190 --> 00:31:59,540 vidas ian nombroj kun tiujn menuojn, defaŭlte. 561 00:31:59,540 --> 00:32:04,630 Do ekzistas iom kasxitan ke ni povas fari, iom ŝanĝo al nia URL. 562 00:32:04,630 --> 00:32:12,920 Do krom SDK = 1 & debug = 2, Mi starigis menuo 1-- 563 00:32:12,920 --> 00:32:14,690 kaj espereble ĝi estas menuo, ne menuoj. 564 00:32:14,690 --> 00:32:17,001 Ho, estas menuoj = 1. 565 00:32:17,001 --> 00:32:17,500 Atendu. 566 00:32:17,500 --> 00:32:20,150 567 00:32:20,150 --> 00:32:24,690 >> Kaj kion ni vidos sur reŝargi ke Ide estas ke mi ankoraux estas en debug mode, 568 00:32:24,690 --> 00:32:27,540 sed nun estas nombroj asociita kun ĉiuj menuoj. 569 00:32:27,540 --> 00:32:29,630 Kaj tion diras vi precize kio la nombro 570 00:32:29,630 --> 00:32:34,730 Estas kiam vi provas injekti io ajn en ĉi menuaro. 571 00:32:34,730 --> 00:32:40,365 Do en la Fenestro menuo, mi povas vidu artikolon 45 estas kunlabori, 572 00:32:40,365 --> 00:32:43,820 kaj listero 38 antaŭ ol estas instalilo. 573 00:32:43,820 --> 00:32:47,530 Do kiam mi volas injekti ero inter tiuj du, 574 00:32:47,530 --> 00:32:50,570 Mi simple elektu kelkajn inter tiuj du artikoloj. 575 00:32:50,570 --> 00:32:56,200 Do mi elektis 41 kaj enmetita mia Seminario Dialogo 1 menuero ĉe tiu loko. 576 00:32:56,200 --> 00:33:03,640 >> Kaj tio estas kial ĉi numeron kiu aperas tie estas numero 41. 577 00:33:03,640 --> 00:33:08,010 Tio estas la loko de tiu menuero en la Nubo 9 menuo. 578 00:33:08,010 --> 00:33:11,045 Nun simile, mi volis krei dividanton 579 00:33:11,045 --> 00:33:13,920 kaj aldoni ĝin por ke tie estas bela divido inter ĉiu de tiuj menuo 580 00:33:13,920 --> 00:33:14,490 erojn. 581 00:33:14,490 --> 00:33:18,600 Do mi aldonis ke en loko 43. 582 00:33:18,600 --> 00:33:20,260 Ĝis nun, tiel bona, mi esperas? 583 00:33:20,260 --> 00:33:23,920 Do nun ni vere rigardi la specifa kodo en programo dialogo 584 00:33:23,920 --> 00:33:28,050 ke estas fakte priresponda por malfermi tiu dialogo fenestro. 585 00:33:28,050 --> 00:33:32,710 >> Scrolling malsupren, mi vidas ke mi volas havi tiun funkcion spektaklo dialogo, 586 00:33:32,710 --> 00:33:34,730 kaj ĝi estas ekstreme simpla. 587 00:33:34,730 --> 00:33:38,570 Mi tuj kuros la spektaklo metodo sur la ŝtopilo-en variablo. 588 00:33:38,570 --> 00:33:43,900 Kaj memoru ke ni difinis tiun plug-in variablo supre kiel dialogo. 589 00:33:43,900 --> 00:33:48,530 Do trinkejo plug-in, en tiu kazo, estas tiu celo kiun ni difinis interne. 590 00:33:48,530 --> 00:33:53,030 Kaj ĝi tuj estu nova dialogo enhavis ene de tiu kromprogramo. 591 00:33:53,030 --> 00:33:57,020 Kaj do ni efektive referencita ĉi plug-in variablo en multaj lokoj 592 00:33:57,020 --> 00:33:59,790 en tipa Nubo 9 disvolviĝo medio. 593 00:33:59,790 --> 00:34:00,867 >> Ni vidos ŝin tie. 594 00:34:00,867 --> 00:34:03,450 Rimarku ke kiel ni rulumu malsupren, ekzistas aldona vivon cikloj. 595 00:34:03,450 --> 00:34:06,970 Do rimarki ke ĉi tiuj respondas al okazaĵoj kiuj ekbriliĝis 596 00:34:06,970 --> 00:34:10,500 per tiu objekto, tiu dialogo objekto. 597 00:34:10,500 --> 00:34:12,710 Defaŭlte, ekzistas ŝarĝi kaj malŝarĝi, kiu 598 00:34:12,710 --> 00:34:14,760 estas haveblaj al ĉiuj Cloud 9 ŝtopilo-ins. 599 00:34:14,760 --> 00:34:17,139 Sed en la evento de tiu dialogo, ekzistas 600 00:34:17,139 --> 00:34:19,139 alia okazaĵo kiu povas fajro tiel nomata 601 00:34:19,139 --> 00:34:23,239 Draw, kiu estas pafita kiam tiu estas ronde esti tirita sur ekrano, 602 00:34:23,239 --> 00:34:27,239 ĉe la unua petskribo de la dialogo montras. 603 00:34:27,239 --> 00:34:29,590 >> Do kiam ĝi estas fakte tuj montriĝos, 604 00:34:29,590 --> 00:34:31,739 tie tuj havigi al ni iom da HTML. 605 00:34:31,739 --> 00:34:34,710 Kaj uzante nur normo HTML praktikoj povas ni 606 00:34:34,710 --> 00:34:41,030 injekti iuj tre simpla informo, nian saluton mondo, en tiu dialogo. 607 00:34:41,030 --> 00:34:47,780 Do se ni tiam rulumu supren, ni povas vidu tiam la procesio de aferoj 608 00:34:47,780 --> 00:34:48,989 ke ĝi estas okazanta. 609 00:34:48,989 --> 00:34:54,070 Unue ni kreis Cloud 9 komando ke kiam ekzekutita de Cloud 9 610 00:34:54,070 --> 00:34:55,765 tuj ekbruliĝis tiu funkcio. 611 00:34:55,765 --> 00:34:58,390 Ĝi tuj kuri ĉi funkcio show nomita dialogo, ke mi havas 612 00:34:58,390 --> 00:34:59,720 skribita en mia kodo. 613 00:34:59,720 --> 00:35:04,350 >> Mi kreis menuero kaj alkroĉita al ĝi ke sama komando 614 00:35:04,350 --> 00:35:08,550 ke kiam tiu ero estas klakita en la menuo, tiu komando estas poste ekzekuti 615 00:35:08,550 --> 00:35:10,780 kaj tio funkcio estas tiam ruli. 616 00:35:10,780 --> 00:35:14,080 Kaj ene de la funkcio mi estas nur tuj voki the-- mi 617 00:35:14,080 --> 00:35:17,250 nur tuj ekzekuti la spektaklo metodo de tiu kromprogramo, kiu 618 00:35:17,250 --> 00:35:20,800 tuj unua alvoko la remizon metodo kaj foririnte 619 00:35:20,800 --> 00:35:28,050 maldungi tiun metodon malsupre, la desegni okazaĵo traktilo, en nia viva ciklo. 620 00:35:28,050 --> 00:35:30,820 Kaj tiam ĝi estos reale montri la dialogon. 621 00:35:30,820 --> 00:35:34,870 >> Ekzistas ankaŭ kaŝi metodo, por ke se mi bezonas la eblecon kaŝi 622 00:35:34,870 --> 00:35:37,610 mia dialogo, mi povas fari la samon. 623 00:35:37,610 --> 00:35:42,060 Do jen preskaux ĝi akiri ĉion ĉi labori. 624 00:35:42,060 --> 00:35:45,160 Rimarku ke estas se ni rulumu malsupren plu ekzistas frostigon publika API. 625 00:35:45,160 --> 00:35:51,020 Ĉi esence nur diras ke mi volas tiujn metodojn por efike 626 00:35:51,020 --> 00:35:56,670 estu publika, sed ne overwriteable ekster la kunteksto de ĉi tiu ŝtopilo-je. 627 00:35:56,670 --> 00:36:00,410 Kaj malsupre, ĉe la malsupro, estas eble la lasta afero 628 00:36:00,410 --> 00:36:03,180 ke ni vere bezonas pagi da atento ĉi tie, kiu 629 00:36:03,180 --> 00:36:09,540 estas ke ni intencas enskribi nian plug-in kun la nomo C9 Seminario 1, 630 00:36:09,540 --> 00:36:11,920 kaj la objekto kromprogramon. 631 00:36:11,920 --> 00:36:14,870 >> Kiu kiel vi memoras, estas ke ŝtopilo-en kiuj kromprogramo 632 00:36:14,870 --> 00:36:18,200 celo kiun ni estis difinanta tra la tuteco de tiu fonto 633 00:36:18,200 --> 00:36:18,840 kodo. 634 00:36:18,840 --> 00:36:23,790 Kaj C9 Seminario 1 estas la ĉeno kiu ni promesis 635 00:36:23,790 --> 00:36:26,350 provizi je la supro de tiu difino. 636 00:36:26,350 --> 00:36:29,280 637 00:36:29,280 --> 00:36:29,780 BONE. 638 00:36:29,780 --> 00:36:34,160 Do ni ramplo ĝin iomete kaj vidi se ni povas fari ion 639 00:36:34,160 --> 00:36:36,020 iomete pli interesa. 640 00:36:36,020 --> 00:36:38,350 Nun tiu estas nur tiel granda. 641 00:36:38,350 --> 00:36:41,380 Mi volas diri, jen, ĝi estas vere bela malvarmigi ke en tiel malmultaj linioj de kodo, 642 00:36:41,380 --> 00:36:45,570 ni povas modifi la ekzistantan IDE kaj aldoni ekzistantan menuero 643 00:36:45,570 --> 00:36:48,850 aŭ aldoni novan menuero, aldoni komando, montranta dialogo, 644 00:36:48,850 --> 00:36:51,040 kaj nur aro da funcionalidad kiu ekzistas. 645 00:36:51,040 --> 00:36:54,550 Estas vere bela granda. 646 00:36:54,550 --> 00:36:59,470 >> Sed ĝi ne faras tre ĉar ĝi ne povas komuniki kun la subaj Ubuntu 647 00:36:59,470 --> 00:37:00,450 Ekzemple. 648 00:37:00,450 --> 00:37:02,560 Do diru ke mi fakte volas eltrovi 649 00:37:02,560 --> 00:37:05,400 kelkajn informojn pri la subkuŝantaj Ubuntu ekzemple, 650 00:37:05,400 --> 00:37:08,260 kiel la statistikojn plug-in faras. 651 00:37:08,260 --> 00:37:11,090 Do ni rigardu kiel iomete pli informo 652 00:37:11,090 --> 00:37:13,730 pri kiel la statistikojn plug-agoj. 653 00:37:13,730 --> 00:37:15,900 Kaj fakte, ĝi estas tre simila al tiu. 654 00:37:15,900 --> 00:37:17,680 Vi eble memoras ke Tie estas dialogo. 655 00:37:17,680 --> 00:37:21,680 Vi eble memoras, ke tie estas iuj informoj tio 656 00:37:21,680 --> 00:37:24,860 montrita nur laŭ la menuo trinkejo kune la supro, kiun espereble vi nun 657 00:37:24,860 --> 00:37:27,450 prenanta guston de kiel ni implementado ĉi, 658 00:37:27,450 --> 00:37:32,360 nur enigante menueroj ĉe specifa punktoj kaj per instantiating dialogo 659 00:37:32,360 --> 00:37:34,360 kaj montri ke dialogo. 660 00:37:34,360 --> 00:37:36,580 >> Sed ni ankoraŭ ne montrita vi kiom ni povas konekti ĝin 661 00:37:36,580 --> 00:37:40,790 la ordono en la suba Ubuntu ekzemple. 662 00:37:40,790 --> 00:37:46,930 Do ni rigardu tiam ĉe plugin.2, kiuj faras precize tion. 663 00:37:46,930 --> 00:37:50,540 Ni tuj malfermu plugin.js, kiu estas la kodo por tio. 664 00:37:50,540 --> 00:37:54,570 Sed sub la Fenestro menuo, se mi klakas sur dialogo 2, 665 00:37:54,570 --> 00:37:58,290 ni povas vidi ke ĝi diras ĉi anstataŭe, saluton CS50, kiu 666 00:37:58,290 --> 00:38:01,800 ne aspektas ĉiuj ke tentanta, dekstra? 667 00:38:01,800 --> 00:38:04,310 Krom, spekti ĉi. 668 00:38:04,310 --> 00:38:07,020 Lasu min ŝanĝi ion tie. 669 00:38:07,020 --> 00:38:11,540 >> Mi tuj iros al mia laborspaca kaj ŝanĝo seminario 670 00:38:11,540 --> 00:38:15,990 diri ion alian, kiel Saluton, Dan. 671 00:38:15,990 --> 00:38:18,150 Mi tuj fermos ĝin kaj savi ĝin. 672 00:38:18,150 --> 00:38:22,740 Kaj nun mi iras al re-run mia dialogo menuero. 673 00:38:22,740 --> 00:38:25,590 Kaj rimarki ke ĝi havas nun ŝanĝis kion ĝi diras. 674 00:38:25,590 --> 00:38:26,880 Saluton, Dan. 675 00:38:26,880 --> 00:38:30,680 Mi ŝajne faris ion malsupren tie en la subkuŝantaj Ubuntu ekzemple 676 00:38:30,680 --> 00:38:34,370 sen esti manipulitaj ajna kodo kiu denove kuras nur 677 00:38:34,370 --> 00:38:35,720 sur la kliento flanko. 678 00:38:35,720 --> 00:38:40,380 Do ekzistas evidente ian konekto kiu okazas tie. 679 00:38:40,380 --> 00:38:44,550 >> Nun ĉi tiu estas kie multaj el la potenco de la Nubo 9 SDK envenas, 680 00:38:44,550 --> 00:38:49,440 estas ke en ĉi plugin.2, ni povas fakte kaŭzi 681 00:38:49,440 --> 00:38:52,910 alvokon al okazi al la suba ekzemple 682 00:38:52,910 --> 00:38:55,750 kaj kuri iuj arbitraj komando. 683 00:38:55,750 --> 00:39:00,230 Do en ĉi tiu kazo, mi devas reale kreis tre simplan bash skripton 684 00:39:00,230 --> 00:39:02,350 en mia laborspaca nomita Seminario. 685 00:39:02,350 --> 00:39:03,610 Do lasu min malfermi ke ĝis. 686 00:39:03,610 --> 00:39:05,370 Kaj ni povas vidi ke ĝi aspektas kiel ĉi tio. 687 00:39:05,370 --> 00:39:08,310 Estas nur tre simplaj bash skripto kies sola celo en la vivo 688 00:39:08,310 --> 00:39:11,920 tuj estos eĥi tiun tekston, Saluton, Dan. 689 00:39:11,920 --> 00:39:14,360 Aŭ antaŭ ĝi, ĝi diris Saluton, CS50. 690 00:39:14,360 --> 00:39:16,000 Kaj jen ĉio estas tuj faros. 691 00:39:16,000 --> 00:39:21,030 >> Ĉar tiu estas nun komando ke mi povas kuri. 692 00:39:21,030 --> 00:39:23,750 Mi povas efektive ruli ĝin malsupren tie. 693 00:39:23,750 --> 00:39:28,440 Ni povas vidi ke ĝi reale estas nur ordono kiun mi kuras nature. 694 00:39:28,440 --> 00:39:32,850 Mi povas demandi miajn kromprogramo ekzekuti ĉi komando sur la suba laborspaca 695 00:39:32,850 --> 00:39:36,510 kaj analizi la informo kiu revenis de ĝi, 696 00:39:36,510 --> 00:39:40,300 kaj fari ion kun ĝi, kaj modifi miaj ŝtopilo-en kaj la konduto kiun mi 697 00:39:40,300 --> 00:39:43,240 havas en mia kromprogramon kiel rezulto. BONE. 698 00:39:43,240 --> 00:39:45,450 Do ni vidu kiel ĉi tio okazas. 699 00:39:45,450 --> 00:39:48,380 Ni vidis tiun tre simplan Seminario batch skripto kiu mi 700 00:39:48,380 --> 00:39:51,080 [Inaudible] ke ĝi povas efektive ruli. 701 00:39:51,080 --> 00:39:54,560 >> Kaj nun ni vidu la modifoj kiuj estas necesaj por ligi ĉi kune 702 00:39:54,560 --> 00:39:57,620 kun la dialogo fenestro kaj kuri ĝin. 703 00:39:57,620 --> 00:40:02,030 Do jen ni tuj faros belan multe la samon kiel ni vidis antaŭe. 704 00:40:02,030 --> 00:40:05,500 Sed rimarki, ke inter la aferojn mi konsumis now-- 705 00:40:05,500 --> 00:40:09,090 krom la dialogon, kiun denove mi hazarde faris dufoje, 706 00:40:09,090 --> 00:40:14,300 kiu ne necessary-- aldone al la dialogo kaj la komandoj 707 00:40:14,300 --> 00:40:17,780 kaj la menuoj plug-ins, kiuj estis necesa en la unua unu por mi 708 00:40:17,780 --> 00:40:21,560 difini novan ordonon kaj injekti ero en la menuoj, 709 00:40:21,560 --> 00:40:25,010 Mi ankaŭ havas ĉi proc kromprogramon. 710 00:40:25,010 --> 00:40:28,500 >> Kaj tiu proc kromprogramo permesas nin manipuli procezoj 711 00:40:28,500 --> 00:40:30,950 sur la suba ekzemplo. 712 00:40:30,950 --> 00:40:34,970 Mi konektis ĝin post mi havas diris ke mia kromprogramo postulas. 713 00:40:34,970 --> 00:40:38,320 Mi tiam konektita al kodo, kiel ni vidis en la ĉefa funkcio. 714 00:40:38,320 --> 00:40:40,970 Denove, mi tuj pravalorizi miaj dialogo. 715 00:40:40,970 --> 00:40:45,500 Kaj se ni movas malsupreniros, ni povas vidi kiel ĉi tiu estas malsama. 716 00:40:45,500 --> 00:40:49,040 La ŝarĝo funkcio estas la sama, tial Ĝi simple tuj krei komandon 717 00:40:49,040 --> 00:40:54,250 kaj krei menuero kaj konekti ke menuero al tiu komando. 718 00:40:54,250 --> 00:40:56,690 Sed se ni nun rulumi malsupren montri dialogo, 719 00:40:56,690 --> 00:40:59,990 ni povas komenci al vidi kie la disputoj okazas. 720 00:40:59,990 --> 00:41:04,170 >> Ni havas funkcion spektaklo dialogon, kiun estas nur tuj montros la dialogon. 721 00:41:04,170 --> 00:41:12,410 Sed kiam mi montros dialogon, kaj kiam la spektaklo metodo nomiĝas, 722 00:41:12,410 --> 00:41:14,430 ĝi pafas la remizon funkcio. 723 00:41:14,430 --> 00:41:18,990 Kaj mi tuj tiam specifi iuj enhavon ene de tiu. 724 00:41:18,990 --> 00:41:21,910 Do mi simple tuj krei div, havigi al ĝi 725 00:41:21,910 --> 00:41:24,020 iu baza teksto, Saluton, mondo. 726 00:41:24,020 --> 00:41:27,250 Sed rimarki ke tie mi tuj alfiksi al ĝi IRU. 727 00:41:27,250 --> 00:41:32,350 Kaj la tre sekvanta linio mi iras trovi ke ID uzante JavaScript, 728 00:41:32,350 --> 00:41:36,210 kaj stoki ke objekto en alian variablon 729 00:41:36,210 --> 00:41:38,280 ke mi simple tuj voki enhavo. 730 00:41:38,280 --> 00:41:41,780 >> Do nun, kiam mi havas enhavo, ĉiuj mi bezonas fari 731 00:41:41,780 --> 00:41:46,100 estas nur modifi ĉi objekto interna HTML. 732 00:41:46,100 --> 00:41:51,300 Kaj la dialogo HTML volo tiam esti modifita ankaŭ. 733 00:41:51,300 --> 00:41:55,500 Kaj post tiu kromprogramo estas tiam montrita, kio povas okazi 734 00:41:55,500 --> 00:41:59,820 kaj ĉi estas nova okazaĵo ke estas nova al ĉi tiu ŝtopilo-je, 735 00:41:59,820 --> 00:42:03,380 sed okazas en ĉiu kromprogramo kun la dialogo, kiam tio estas nun montritaj, 736 00:42:03,380 --> 00:42:07,100 Mi tuj vokos funkcio nomita fetch info. 737 00:42:07,100 --> 00:42:10,520 Kaj ĉi tiu funkcio estas la viando de ŝin tie. 738 00:42:10,520 --> 00:42:14,930 Mi tuj uzas tiun proc kromprogramo ke ni priskribis antaŭe, kiu por iu, 739 00:42:14,930 --> 00:42:19,790 Estas vere nur Node.js biblioteko ke Nubo 9 estas uzanta tie. 740 00:42:19,790 --> 00:42:21,730 >> Do vi efektive povas rigardi supren pri kiel ĉi 741 00:42:21,730 --> 00:42:25,340 funkcias se vi iras en la Node.js dokumentado 742 00:42:25,340 --> 00:42:29,220 kaj fikse rigardis la exec dosieron metodo por procezoj tie. 743 00:42:29,220 --> 00:42:33,110 Mi tuj kuros ĉi specifa komando, hejmo Ubuntu laborspaca 744 00:42:33,110 --> 00:42:38,000 seminario, kiu estas tiu sama, kiu saman ordonon ke mi kreis antaŭe. 745 00:42:38,000 --> 00:42:40,680 Provizu al ĝi fluon laborante dosierujo, nur 746 00:42:40,680 --> 00:42:45,440 esti ultra sekuraj en terminoj de la kunteksto de kie tio estas kuranta. 747 00:42:45,440 --> 00:42:49,150 Kaj fojo kiu estis kompletigita kaj rehejmigxis 748 00:42:49,150 --> 00:42:54,040 Mi tuj kuros ĉi funkcio nomita parse eligo. 749 00:42:54,040 --> 00:42:54,540 BONE. 750 00:42:54,540 --> 00:42:58,670 Do ĉi tiam tuj ekzekuti iu komando sur la loka, aŭ prefere 751 00:42:58,670 --> 00:43:01,700 la fora Ubuntu ekzemple. 752 00:43:01,700 --> 00:43:03,490 Kiam mi reiros informo, mi estas tiam 753 00:43:03,490 --> 00:43:06,940 tuj nomas aparta funkcio nomata parse eligo, ke 754 00:43:06,940 --> 00:43:13,790 havas tiun subskribon ĉi tie, eraras, stdout, stderr, 755 00:43:13,790 --> 00:43:15,910 kaj elfari iuj komputado sur tiu. 756 00:43:15,910 --> 00:43:18,930 Do se mi ricevis eraran iaj ajn, 757 00:43:18,930 --> 00:43:22,340 Mi fakte kontroli ĉu eraro fakte havas iujn datumojn. 758 00:43:22,340 --> 00:43:27,204 Kaj se jes, tiam mi modifos la internan HTML de tiu enhavo kontestas, kiu 759 00:43:27,204 --> 00:43:28,995 Estas vi memoras, ni konektita al la dialogo 760 00:43:28,995 --> 00:43:32,210 ĉe la instantiattion de tiu dialogo, aŭ ĉe la unua desegno 761 00:43:32,210 --> 00:43:33,370 de tiu dialogo. 762 00:43:33,370 --> 00:43:35,650 Mi tuj ĝuste diri ke iu eraro okazis. 763 00:43:35,650 --> 00:43:37,140 >> Nun tiu estas tro simplista. 764 00:43:37,140 --> 00:43:40,170 La eraro valoro tipe enhavas ion kio estis utila, 765 00:43:40,170 --> 00:43:45,520 eble eraro nombro kaj eraro de la skripto mem. 766 00:43:45,520 --> 00:43:48,430 Aŭ se la skripto skribis ion al norma eraro, 767 00:43:48,430 --> 00:43:50,890 ke datumoj estus popolitaj en tiu parametro ankaŭ. 768 00:43:50,890 --> 00:43:53,765 Kaj mi povus esti iomete pli zorga pri kio eraro 769 00:43:53,765 --> 00:43:55,332 Mi fakte montrante personoj. 770 00:43:55,332 --> 00:43:57,415 Sed ĉi simplista ekzemplo estas sufiĉe bona por nun 771 00:43:57,415 --> 00:43:59,715 almenaŭ kompreni ke tiu funkcioj. 772 00:43:59,715 --> 00:44:01,590 Alie se ekzistas neniu eraro, tiam mi estas nur 773 00:44:01,590 --> 00:44:05,500 iranta provizi la kruda eligo de tiu funkcio 774 00:44:05,500 --> 00:44:10,070 en la internan HTML de ĉi enhavo elemento, kaj tiam ĝisdatigi mian kromprogramo 775 00:44:10,070 --> 00:44:12,490 kaj montri ĝin ĉi tie. 776 00:44:12,490 --> 00:44:17,550 Kaj tio estas sufiĉe tre ĉiuj tio necesa akiri tiun kuri. 777 00:44:17,550 --> 00:44:22,860 Kaj do ni pensu pri tiam kiel tiu funkcias, entuta. 778 00:44:22,860 --> 00:44:29,330 Kiam mi unue ŝarĝis ĉi plug-in, nur kiel la unua plug-in, 779 00:44:29,330 --> 00:44:32,670 Mi tuj aldonu komandon tio disponebla al io, al iu kromprogramo 780 00:44:32,670 --> 00:44:37,120 en Cloud 9, nomata CS50 Seminario Dialogo 2, kies respondeco 781 00:44:37,120 --> 00:44:39,670 Estos kuri ĉi programo dialogo, kiu estas vi memoras, 782 00:44:39,670 --> 00:44:42,730 efektive montri la dialogon ke mi petis sube. 783 00:44:42,730 --> 00:44:45,980 >> Tiam Mi aldonos ke komando al fenestro menuo 784 00:44:45,980 --> 00:44:48,070 tiel ke mi havas aliron al tiu. 785 00:44:48,070 --> 00:44:51,420 Kaj kiam tiu dialogo petas montriĝos, 786 00:44:51,420 --> 00:44:55,170 Mi prenos iuj info el la subkuŝantaj Ubuntu ekzemple 787 00:44:55,170 --> 00:44:58,890 uzante la exec dosiero komando. 788 00:44:58,890 --> 00:44:59,920 Pardonu min. 789 00:44:59,920 --> 00:45:04,140 Fojo kiu revenis kaj mi ricevas iun informo, tiam sur la kliento flanko 790 00:45:04,140 --> 00:45:08,370 denove mi povos analizi la eligo de tiu komando 791 00:45:08,370 --> 00:45:12,650 kaj ĝisdatigi la internan HTML de la elementoj 792 00:45:12,650 --> 00:45:16,440 ke ni konektitaj antaŭe. 793 00:45:16,440 --> 00:45:19,910 >> Kaj kun tiu, ni tiam havas tiu plene funkcia kromprogramo 794 00:45:19,910 --> 00:45:24,520 kiu permesas min alvenigi informo de tiu arbitra skripton 795 00:45:24,520 --> 00:45:27,170 ke ni kreis sur nia subkuŝanta ekz. 796 00:45:27,170 --> 00:45:29,660 Sed denove, estas vere grava kaj vere kernaj 797 00:45:29,660 --> 00:45:33,030 apartigi eksteren kie ĉiu tiuj aferoj okazas, 798 00:45:33,030 --> 00:45:38,320 ke ni havas ĉiujn ĉi kliento flanko kodo kiu estas kuri en la navegador, 799 00:45:38,320 --> 00:45:41,640 kaj ankoraŭ ne havas aliron al la suba dosiersistemo 800 00:45:41,640 --> 00:45:44,895 ĝis ni efektive kuri iuj de tiuj komandojn kiuj estas provizita per la Nubo 801 00:45:44,895 --> 00:45:49,055 9 SDK kiel proc, kaj iuj aliaj aĵoj kiuj nin permesas legi iuj datumoj, 802 00:45:49,055 --> 00:45:53,500 aŭ legis kelkajn dosierojn se ni bezonas fari ion tian. 803 00:45:53,500 --> 00:45:56,650 >> Nun tiu estas iom simpla ekzemplo. 804 00:45:56,650 --> 00:46:00,570 Estas aliaj aferoj, kiujn ni estus eble volas fari tiel. 805 00:46:00,570 --> 00:46:03,470 Ekzemple, eble ni efektive volas konservi informojn 806 00:46:03,470 --> 00:46:04,630 al la preferoj. 807 00:46:04,630 --> 00:46:07,900 Aŭ eble ni volas aldoni novan prefero pane 808 00:46:07,900 --> 00:46:09,690 aŭ io kune tiujn liniojn. 809 00:46:09,690 --> 00:46:13,370 Tiam tio estas iu kiu vi povas preni rigardi la Nubo 9 SDK 810 00:46:13,370 --> 00:46:15,300 akiri pli informo sur. 811 00:46:15,300 --> 00:46:19,990 Sed tio vere estas sufiĉe por starti. 812 00:46:19,990 --> 00:46:26,410 Do simple estu iomete pli konkretaj pri la maniero, ke kelkaj el tiuj aferoj 813 00:46:26,410 --> 00:46:31,370 funkcio, mi volas montri nur unu pli ekzemplo, kiu estas nur iuj 814 00:46:31,370 --> 00:46:35,580 de la kodo de la Stats 50 kromprogramon. 815 00:46:35,580 --> 00:46:39,780 >> Kaj tiu kodo estas esence bazita sur ĉi tiuj ekzemploj 816 00:46:39,780 --> 00:46:43,310 ke vi efektive vidis, sed havas iuj pli sekurigilojn 817 00:46:43,310 --> 00:46:47,460 kaj havas kelkajn pli komplekseco en ordo por atingi iun el la aldona aferoj 818 00:46:47,460 --> 00:46:48,930 ke ni volas atingi. 819 00:46:48,930 --> 00:46:54,510 Ekzemple, se mi volas esti povos savi kelkajn agordojn, 820 00:46:54,510 --> 00:46:57,700 tiam mi bezonas havi aliro al la Fiksoj plug-in, 821 00:46:57,700 --> 00:47:01,820 kaj ĉiufoje mi volas legi kelkajn agordojn, 822 00:47:01,820 --> 00:47:08,340 Mi povas, ekzemple, alfiksi al diversaj okazaĵoj en la Fiksoj plug-in. 823 00:47:08,340 --> 00:47:13,630 Do ĉiam kiam la difinoj estas ruĝaj, ekzemple, en mian propran plug-in, 824 00:47:13,630 --> 00:47:18,450 se mi legos iuj agordojn de la savita stokado 825 00:47:18,450 --> 00:47:24,540 preferoj de la uzanto, tiam mi povas fiksita defaŭltojn specifa loko, 826 00:47:24,540 --> 00:47:31,250 por specifaj preferon, en kiuj JSON stilo ebloj dosieron kiu havas ni 827 00:47:31,250 --> 00:47:33,890 savis pli frue, ke ni vidis antaŭe. 828 00:47:33,890 --> 00:47:36,370 >> Kaj se mi tuj skribos iuj agordojn por ĝi, 829 00:47:36,370 --> 00:47:40,440 tiam mi can-- aŭ kiam ni detekti ke la fiksoj estis skribita 830 00:47:40,440 --> 00:47:44,420 to-- ĉar ekzemple, tiuj fiksoj estis modifitaj de la uzanto 831 00:47:44,420 --> 00:47:47,335 ĉu rekte en siaj vicoj dosiero, aŭ la prefero pane 832 00:47:47,335 --> 00:47:49,370 ŝanĝis la agordojn file rekte, tiam 833 00:47:49,370 --> 00:47:53,590 Mi povas fakte ĝisdatigi iuj de la kodo aŭ ĝisdatigi la konduto de mia kromprogramo 834 00:47:53,590 --> 00:47:58,710 bazitaj sur tiuj ŝanĝoj kiuj havas okazis sur la agordojn dosiero ankaŭ. 835 00:47:58,710 --> 00:48:03,380 Sed vere, la resto de ĝi estas sufiĉe Tiel ĉi, ke vi jam vidis. 836 00:48:03,380 --> 00:48:06,040 >> Ni aldonas iom, eble iu kiu estas nova. 837 00:48:06,040 --> 00:48:09,440 Do ni aldonas prefero dosiero, plivere prefero pane, 838 00:48:09,440 --> 00:48:14,250 al la fenestro de preferoj, kiuj denove vi povas trovi ekstere pli da informo 839 00:48:14,250 --> 00:48:16,220 en la Nubo 9 SDK legi min. 840 00:48:16,220 --> 00:48:18,460 Sed ĉio alia Estas sufiĉe multe, belan 841 00:48:18,460 --> 00:48:25,810 simila al kion ni vidis antaŭe, nur kun iu aldona eraro kontrolanta 842 00:48:25,810 --> 00:48:30,150 kaj iujn kromajn protektojn kaj iu funcionalidad plia 843 00:48:30,150 --> 00:48:33,314 reliefiganta ĉiu el la diversaj kion ni vidis. 844 00:48:33,314 --> 00:48:35,230 Se vi ne reale vidis ankoraŭ, vi eble 845 00:48:35,230 --> 00:48:40,955 esti scivolanta kion la subaj komando estas en la Stats 50 fenestron. 846 00:48:40,955 --> 00:48:42,840 Estas vere funkcio. 847 00:48:42,840 --> 00:48:48,100 Nu, is-- ho, Dammit. 848 00:48:48,100 --> 00:48:49,410 Unu sekundo. 849 00:48:49,410 --> 00:48:49,910 Atendu. 850 00:48:49,910 --> 00:48:52,270 BONE. 851 00:48:52,270 --> 00:48:58,090 Lasu min movi ĉi supren do ni povas reale vidi kio okazas kiam mi tajpas Stats 50. 852 00:48:58,090 --> 00:49:02,140 Rimarku ke en ĉi tiu kazo, la komando ke mi estas ekstere metante 853 00:49:02,140 --> 00:49:06,310 Estas vere denove, nur la skripto tio tuj eligo faskon da informo 854 00:49:06,310 --> 00:49:08,040 en JSON-formato. 855 00:49:08,040 --> 00:49:10,800 Kaj la kialo ke ni faru ĝin tiu maniero estas ke ĉar ni 856 00:49:10,800 --> 00:49:15,480 agas, ĉar ni skribis la kliento flanko kodo en Javascript, 857 00:49:15,480 --> 00:49:19,500 ni povas tre facile simple analizi Javascript objektoj, 858 00:49:19,500 --> 00:49:23,050 kaj vere povi manipuli tiuj objektoj Samkiel ni farus 859 00:49:23,050 --> 00:49:24,610 ajna alia JavaScript objekto. 860 00:49:24,610 --> 00:49:27,650 >> Kaj tiel tio estas tre konvena maniero de havigi informojn 861 00:49:27,650 --> 00:49:31,950 el la subkuŝantaj Ubuntu ekzemple, kiel la numero de versio, la gastiganto 862 00:49:31,950 --> 00:49:36,360 nomi, ĉu servilo aŭskultas, kion la servilo estas tiel plu kaj tiel plu, 863 00:49:36,360 --> 00:49:39,150 kaj analizi, ke tre facile kaj tre rapide 864 00:49:39,150 --> 00:49:44,870 en la ŝtopilo-en kiuj estas tiam iranta por montri nin ĉiuj de tiu informo. 865 00:49:44,870 --> 00:49:47,920 Do denove, la ŝlosilo enrigardo tie memoru 866 00:49:47,920 --> 00:49:54,260 estas tiu apartigo inter la suba ekzemplo, 867 00:49:54,260 --> 00:49:57,490 kaj ankaŭ kie la kodo estas estanta ŝarĝita. 868 00:49:57,490 --> 00:49:59,870 Ke kiam mi havas klienton, ĝi estas unua ŝarĝo. 869 00:49:59,870 --> 00:50:03,951 Nur tiun statika JavaScript dosiero de ie, eble CDN de iu speco. 870 00:50:03,951 --> 00:50:06,450 Ni ne vere havas zorgi tro multe pri tiu unua paŝo. 871 00:50:06,450 --> 00:50:08,970 >> Ni nur scias ke ĝi estas kurante sur la kliento flanko 872 00:50:08,970 --> 00:50:12,740 kaj tio estas kiam mi tuj komuniki kun ĉi Docker ekz. 873 00:50:12,740 --> 00:50:15,970 Ke ni tuj faros tiel tra la Nubo 9 SDK. 874 00:50:15,970 --> 00:50:20,460 Ni ne vere havas la kapablecon, uzante JavaScript aŭ Node.js, 875 00:50:20,460 --> 00:50:21,750 skribi rekte al ĝi. 876 00:50:21,750 --> 00:50:29,400 Ni simple uzu tiujn ekzistantajn SDK APIs por fari ke ago por ni. 877 00:50:29,400 --> 00:50:32,490 Kaj cetere, unu el la vere gravaj aferoj 878 00:50:32,490 --> 00:50:38,990 estas ke kiam mi kreis ĉi, kiam mi kreis ĉi kromprogramo, 879 00:50:38,990 --> 00:50:42,510 kaj kiel mi laboras sur ĝi, unu de la gravaj aĵoj fari 880 00:50:42,510 --> 00:50:44,840 estas alporti supren la JavaScript konzolo. 881 00:50:44,840 --> 00:50:49,400 >> Ĉar ekde tiu estas ĉiuj funkcianta sur la JavaScript, 882 00:50:49,400 --> 00:50:54,700 sur la kliento flanko, se mi uzas a console.log method-- tiel simple 883 00:50:54,700 --> 00:50:56,550 montri ekzemplon tie. 884 00:50:56,550 --> 00:51:07,630 Ni provu modifi ĉi simpla plug-in por ensaluti ankaŭ iuj datumoj. 885 00:51:07,630 --> 00:51:09,895 Kaj ni aldonos normo eksteren. 886 00:51:09,895 --> 00:51:13,010 887 00:51:13,010 --> 00:51:16,810 Do ni ŝanĝu tion esti ĉi tie. 888 00:51:16,810 --> 00:51:19,560 Nun kiam mi ekzekuti console.log, memoru 889 00:51:19,560 --> 00:51:21,630 ke ekde ĉi kuras sur la kliento flanko 890 00:51:21,630 --> 00:51:24,900 Mi vidas tion en mia propra Ĝavoskripto konzolo, kiu 891 00:51:24,900 --> 00:51:28,540 Tiel mi tiam povos provu solvi kaj elpurigi 892 00:51:28,540 --> 00:51:30,330 iuj de la problemoj kiujn mi havas. 893 00:51:30,330 --> 00:51:34,110 >> Rimarku ke ĉar Mi estas en SDK reĝimo, mi estas 894 00:51:34,110 --> 00:51:37,820 tiam povis manipuli plug-ins sur ĉi tiu petskribo. 895 00:51:37,820 --> 00:51:39,800 Do kvankam ĝi estas konservita en tiu okazo, 896 00:51:39,800 --> 00:51:47,130 tiu estas la ekzemplo de tiu antaŭa regulo estanta seksperfortita, kie la Nubo 9 897 00:51:47,130 --> 00:51:51,030 SDK efektive tiri plug-ins de la subkuŝantaj petskribo kaj poste ekzekuti ilin. 898 00:51:51,030 --> 00:51:54,440 Tial tiamaniere, mi estas tiam povi manipuli kaj konstrui 899 00:51:54,440 --> 00:51:55,750 iuj plug-ins tie. 900 00:51:55,750 --> 00:51:58,080 Sed en ordo por mi vidi ĝisdatigoj por ĉi plug-in, 901 00:51:58,080 --> 00:52:01,880 ĉar ĝi estas sur la kliento flanko Mi bezonas savi kromprogramo 902 00:52:01,880 --> 00:52:04,950 kaj tiam reŝarĝi la tutan laborspaca, por ke la nova kromprogramo estas tiam 903 00:52:04,950 --> 00:52:09,230 elŝutita sur mia kliento, sur mia foliumilo, kaj tiam estas uzita. 904 00:52:09,230 --> 00:52:14,460 >> Do nun, kiam mi alklakas tiun Seminarion Dialogo 2, ni ankoraŭ vidos tiun. 905 00:52:14,460 --> 00:52:21,311 Sed nun espereble en mia Ĝavoskripto dialogo, devus ni vidos my-- atendi, 906 00:52:21,311 --> 00:52:21,810 atendu. 907 00:52:21,810 --> 00:52:24,420 Mi eble devus malfermi la dialogon freŝa. 908 00:52:24,420 --> 00:52:30,230 Ni devus vidi mian ricevis datumojn tie. 909 00:52:30,230 --> 00:52:32,780 Ricevitaj datumoj, Saluton, Dan, kiu estas vi memoras, 910 00:52:32,780 --> 00:52:37,770 Estis console.log operacio ke ni petis en la ŝtopilo-je. 911 00:52:37,770 --> 00:52:42,140 Do tiu priskribo tiam ke mi menciis antaŭe, 912 00:52:42,140 --> 00:52:45,460 tiu dialogo, aŭ tiun diagramo prefere, ke mi 913 00:52:45,460 --> 00:52:49,140 menciis antaŭe estas kio okazas. 914 00:52:49,140 --> 00:52:53,150 Sed estas grava escepto nur por evoluo, 915 00:52:53,150 --> 00:52:55,490 kio estas ke la plug-in mem povus reale 916 00:52:55,490 --> 00:52:59,160 esti stokita sur la Docker ekzemple provizore, ekde supozeble Nubo 9 917 00:52:59,160 --> 00:53:02,210 ne volas, ke ni povos manipuli objektojn sur ilian CDN. 918 00:53:02,210 --> 00:53:08,650 >> Kaj la Nubo 9 klientoj, sur loading, trovos tiuj plug-ins en tio. 919 00:53:08,650 --> 00:53:11,540 C9 kromprogramo dosierujo, kaj ŝarĝi tiujn. 920 00:53:11,540 --> 00:53:15,780 Sed tiuj estas ankoraŭ okazanta nur sur la kliento flanko. 921 00:53:15,780 --> 00:53:19,440 Tial do tio estas nur la de escepto kiu okazas nur 922 00:53:19,440 --> 00:53:23,220 por disvolviĝo de Cloud 9 ŝtopilo-ins. 923 00:53:23,220 --> 00:53:25,000 Sed la resto de la time-- kaj la kialo 924 00:53:25,000 --> 00:53:26,708 ke ni volas vere marteli ĉi home-- 925 00:53:26,708 --> 00:53:30,140 Estas ĉar plejofte ĉi estas tuj estos kuranta de la CDN, 926 00:53:30,140 --> 00:53:33,030 kaj simple tuj kuri pure de la kliento flanko. 927 00:53:33,030 --> 00:53:36,110 >> Kutime ni havas neniun interago kun la plug-in, 928 00:53:36,110 --> 00:53:39,840 aŭ ekzistas ne eĉ devas esti ajna kialo ke la plug-ins sin 929 00:53:39,840 --> 00:53:42,970 efektive stokita sur la subkuŝantaj Docker ekzemple 930 00:53:42,970 --> 00:53:47,240 krom en la kazo de tiu SDK disvolviĝo. 931 00:53:47,240 --> 00:53:51,510 Do denove, ĉi tiu ŝanĝas nur iomete pro la fakto 932 00:53:51,510 --> 00:53:54,650 ke ni kuras SDK modo. 933 00:53:54,650 --> 00:53:57,160 Ĝi tuj poste ŝarĝi tiujn plug-ins de disvolviĝo, 934 00:53:57,160 --> 00:54:01,690 kaj la sola celo tie estas por ke Mi povas uzi Nubo 9 fari evoluo 935 00:54:01,690 --> 00:54:04,620 por Cloud 9 kromaĵojn. 936 00:54:04,620 --> 00:54:07,220 Sed eĉ tiel, tio ne ŝanĝos denove kiel ajna el tio funkcias. 937 00:54:07,220 --> 00:54:09,650 Ĝi estas ankoraŭ estanta kurita tute sur la kliento flanko. 938 00:54:09,650 --> 00:54:16,260 >> Ĝi nur signifas ke kiam ajn mi volas krei Nubo 9 plug-ins en Cloud 9 939 00:54:16,260 --> 00:54:19,320 Mi kreos tiuj plug-ins, metis ilin en miajn. 940 00:54:19,320 --> 00:54:25,110 C9 / plugins dosierujo en mia hejmo dosierujo, certigu Mi estas en SDK moduso, 941 00:54:25,110 --> 00:54:29,290 reŝarĝi la paĝon ĉiufoje mi reale fari ŝanĝojn ke ŝtopilo-en, 942 00:54:29,290 --> 00:54:33,590 kaj vidu kio okazas en miaj Javascript konzolo. 943 00:54:33,590 --> 00:54:36,240 Nur administri mian Ĝavoskripto konsoli certigi 944 00:54:36,240 --> 00:54:38,930 ke iu troubleshooting informo, ke mi metas konsoli, 945 00:54:38,930 --> 00:54:41,920 aŭ io ajn alia ke povus okazi pro eraroj kiujn mi verkis 946 00:54:41,920 --> 00:54:44,940 en mia kodo aŭ simile, aperas tie. 947 00:54:44,940 --> 00:54:48,007 >> Kaj kun tio, estas vere por starti sufiĉas, mi opinias, 948 00:54:48,007 --> 00:54:49,090 kun la Nubo 9 ŝtopilo-ins. 949 00:54:49,090 --> 00:54:53,120 Speciale prenante rigardu la SDK dokumentado kiu Cloud 9 provizas. 950 00:54:53,120 --> 00:54:56,650 Ĝi estas granda vojo akiri komenciĝis, kaj tre facile 951 00:54:56,650 --> 00:54:59,900 krei iuj plug-ins por Cloud 9. 952 00:54:59,900 --> 00:55:02,820 Kaj kun tio, mi volas danki vi cxiuj tre multe por aliĝanta min. 953 00:55:02,820 --> 00:55:05,550 Mi esperas ke vi havas amuzan skribanta plug-ins por Cloud 9. 954 00:55:05,550 --> 00:55:09,600 Eble plibonigo plug-ins ke ni havas nun, aŭ eble eĉ 955 00:55:09,600 --> 00:55:11,360 aldonante iuj funcionalidad de via propra. 956 00:55:11,360 --> 00:55:14,540 Ni rigardas antaŭen al vidanta kio estas vi kreos. 957 00:55:14,540 --> 00:55:16,330 Ĝis tiam, ĝis. 958 00:55:16,330 --> 00:55:18,734