>> DAN Armendariz: Sveiki, atvykę į CS50 seminaras PRITAIKYMAS Cloud 9
ir CS50 IDE.
Taigi, šiandien mes ketiname tiesiog pasikalbėti truputį
apie kai kurias pagalbines techninės informacijos, kad
eina už architektūra Debesies 9, ir kaip
mes įdiegėme keletą plug-ins kaip Cloud 9 teikti CS50 IDE.
Taigi tegul tiesiog peršokti teisę ir pradėti kalbėti apie plug-ins.
>> Taigi plug-ins, tikrai ne branduolys Cloud 9 patirtį.
Cloud 9 yra pagrindinis technologijos kuri suteikia mums IDE,
ir taip pat terminalo langą ne apačios, kartu su workspace--
Ubuntu workspace-- kad mes naudoti surinkti visus mūsų projektų
ir atlikti mūsų problema rinkinius, užpildykite mūsų problema rinkinius.
Bet tuo visų širdies jo, visi technologija
yra tikrai tik plug-ins krūva.
Viskas yra plug-in , kuris gali būti pakeistas,
pratęstas, galite sukurti savo plug-ins,
galite pašalinti kitų plug-in, kad tikrai pakeisti
gana funkcionalumo daug esamos Cloud 9 IDE.
>> Taigi, tai yra esama Cloud 9 aplinką.
Tai tikrai tik nutylėjimą Cloud 9 aplinką.
Ir pažvelgti, kaip ji iš tikrųjų skiriasi nuo CS50 IDE.
Taigi tai yra CS50 IDE.
Atkreipkite dėmesį, kad kai kurie vaizdo pokyčiai tarp reguliaraus Cloud 9
aplinka ir CS50 IDE.
Tiksliau, jūs pastebėsite pokyčius pora.
Visų pirma, ten mažiau meniu punktai prasideda.
Yra iš tikrųjų būdas kad jūs galite tai pakeisti.
Tai vadinama paprastoji veiksena.
>> Pagal nutylėjimą, paprastas režimas yra įjungtas ir kuri supaprastina kai kurių meniu elementų.
Ji pašalina kai kuriuos daugiau pažengusios,
nes tiesą sakant, daug studentai, kurie ateina į
ir nereikia žinoti apie kai iš daugiau pažangių funkcijų
nėra užvaldo su variantų krūva.
Bet mes suteikti galimybę imtis nuo tų vadinamųjų mokymo ratų
ir pašalinti, kad Pastoliai, kad žmonės
gali tapti labiau pripratę prie išsamėsnėmis IDE.
Iškart į teisė, kad ten
taip pat derinti mygtuką, kuris standartinio Cloud
9 aplinka tiesiog vadinamas paleisti.
Tačiau pagal nutylėjimą, mes sukonfigūruotas debug mygtuką CS50 IDE
auklėti debugerem, automatiškai kaupia kodą,
prisijungti debugerem su pagrindine GDB--
ir nuo to paleista atlikti debugging-- ir kai kurie kiti žingsniai
taip pat.
Taip pat terminalo langą ne very-- ar veikiau terminalas
skirtuką konsolės atkarpa langas pačioje apačioje ekrano,
buvo pervadintas tiesiog būti terminalas.
Kadangi standarte Cloud 9 aplinka,
ji iš tikrųjų rodo veikia paraišką.
Tokiu būdu, jis supaprastina, vėl, GUI, tik šiek tiek.
>> Mes taip pat pridūrė, kai kurie mygtukai į viršutiniame dešiniajame IDE
parodyti tam tikrą pagrindinę informaciją apie pagrindinės pavyzdžiui.
Ir taip pat mes pašalinome vieną Susitarimo dėl daiktų parinkčių
iš toli į dešinę.
Taigi, visa tai yra įgyvendinamas ne modifikuojant nebūtinai Cloud 9
kodo, bet o per pora
plug-ins, kad mes įdiegėme visoje pastaruosius metus arba tiek.
Ir Cloud 9 surengė ir turi veikia į CS50 darbo vietos.
Arba veikiau į darbo vietoms, kad yra paskirta kaip CS50 IDE.
>> Taigi tikrai, kad tai pagrindinis skirtumas tarp Cloud 9 ir CS50
darbo vietos.
Taip pat, į pagrindinių pavyzdžiui, pirminis pokytis yra
kad mes įdiegti kai iš anksto sukonfigūruotas daiktų, pavyzdžiui, GDB,
ir kai kurie kiti pagrindiniai dalykai, kurie mes sukūrėme, kaip Update 50,
ir kitų žingsnių, kad padaryti pora visa patirtis šiek tiek daugiau
vieninga.
Bet apskritai, tai tik modifikacija esamos sistemos
kad "9 Danguj sukūrė mus.
Ką mes ketiname parodyti šiek tiek vėliau
yra, kaip iš tikrųjų sukurti šiek tiek pagrindinė plug-in, kad
leidžia mums įdėti kažką į meniu sistema, ir atverti dialogą.
Ir jei mes turime pakankamai laikas, mes iš tikrųjų
pamatyti, kaip mes galime užpildyti, kad dialogas su kai kuriais informacijos
nuo pagrindinės pavyzdžiui.
Tam, kad galėtume gauti, kad taškas, tegul pirmiausia pasitarkite truputį
apie Cloud 9 architektūra.
>> Taigi taip, kad esame įpratę kad bendrauja su Cloud 9
yra visiškai per klientui.
Mes atverti interneto naršyklė, mes įvesti į CS50.io.
Mes galiausiai po autentiškumo, pateikti su IDE.
Bet suprantu, kad ten pora žingsnių
kad iš tikrųjų gauti mums šio taško.
Pats pirmas dalykas yra tai, kad mano klientas, interneto naršyklė,
prašymu ir po autentiškumo, įkelia GUI ir plug-ins
iš kai CDN, iš kai kurių Turinio Pristatymas tinklas.
Tai gali būti atvirai visur.
>> Ir tai yra faktiškai atskiras nuo pagrindinės pavyzdžiui.
Svarbu suprasti, kad tai yra iš tikrųjų tik statinius failus krūva.
Tai JavaScript krūva kuri yra atsisiųsti iš CDN
į mano interneto naršyklėje ir visi GUI, kuris jus
matyti here-- tai tikrai key-- visi GUI, kad jūs matote čia
yra paleisti kliento pusėje.
Viskas, ką matote debesyje 9 darbo vietos
iš tikrųjų paleisti naršyklę.
Ir nieko, kad jūs siunčiate kartu su pagrindine instancijos
yra bendravo su instancijos kartu šios antrosios atskirą kanalą,
ir po to ant išsaugota kad dokininkas atvejis.
>> Taigi dėl to, kad aš sakau tai dokininkas atvejis
yra tai, kad pagrindinių technologijų nenaudoja virtualių mašinų,
bet vietoj yra naudojant technologija, vadinama dokininkas,
kuri iš esmės allows-- arčiausiai analogija yra virtuali mašina.
Bet tai subtiliai skiriasi tuo, kad yra
daug galimybių paleisti derinys įvairių docker
Egzempliorių vieną mašiną.
Ir jie gali būti gręžiami iki labai kito.
Ji yra ne visai daugiau griežta diferenciacija
tarp skirtingų docker atvejais kaip ten yra virtualių mašinų,
bet vis tiek ten daug diferenciacija ir atskyrimas
tarp šių skirtingų atvejų.
GERAI.
Taigi šie du etapai, kad čia yra svarbu suvokti,
yra tai, kad, kai mes einame į CS50.io, mes esame atsisiųsti GUI ir plug-ins,
kurie parašytas JavaScript, ant į naršyklę arba į naršyklę.
Ir tai gal pora megabaitų verta informacija.
Tuo metu, kai GUI turi pakrautas ir plug-ins pradėjo,
tada jis pradeda bendrauti su dokininkas atvejis, kuris nėra
būtinai turi būti toks pats serveris.
>> Dabar yra viena išimtis.
Mes iš tikrųjų gali turėti tiek Pristatymas mechanizmas pati GUI
ir dokininkas atvejis visi vienodos serverį, kuris
iš tikrųjų yra kažkas, kad mes darome už offline versijoje Cloud 9 d.
Tai nėra kažkas, kad mes skelbiama labai šį rudenį,
tačiau mes taip pat turime Neprisijungęs versija, kuri
leidžia jums atsisiūsti supakuotas versija visus šiuos dalykus
ir leidžia jums paleisti Cloud 9 neprisijungęs aplinkoje.
>> Persikėlimas tai off debesys ir ant Jūsų vietinis mašina turi poveikį.
Visų pirma, jums nėra ilgiau turėti galimybę
kuriuo praleisite savo darbo sritį su kitais.
Jūs nebegalima atidaryti Cloud 9 iš, ir CS50 IDE, iš bet kurio kompiuterio
ir pamatyti tuos pačius failus, dirbote su anksčiau.
Bet vietoj to, ji veikia visiškai ant savo vietinio kompiuterio
nereikia prieigą prie interneto.
Bet vis tiek, net šio modelio, net nors mes turime vieną virtualią mašiną
kad yra iš esmės veikia šiuos dalykus.
>> Mes turime atskirą serverį, kad yra pristatymo esmės Cloud 9
turinys, o tada mes turėti dokininkas instancija
kuri yra atsakinga už bendrauti su tuo IDE už nugaros pabaigoje.
GERAI.
Taigi visa GUI yra parašyta visiškai JavaScript
naudojant Node.js ir Cloud 9 SDK, kuri mes gauti vos per minutę.
Ir visi plug-ins yra paleisti kliento pusėje.
Taigi leiskite sutelkti tada šiek tiek darant prielaidą,
kad tai pirmas žingsnis turi Sėkmingai iš tikrųjų atliktas,
ir tik pažvelgti šio dokininkas pavyzdžiui.
>> Taigi, šiuo atveju, šis yra standartinis būdas
mąstymo apie tai Cloud 9 plug-in plėtra yra ta, kad jūs ketinate
reikia rašyti kodą, kad bus būti paleisti į vartotojo naršyklę,
ir jūs turite galimybę naudojant keletą API bendrauti
su pagrindinės dokininkas Pavyzdžiui, paleisti tam tikrą kodą ten, ir nieko daryti
kad jūs galbūt norėsite padaryti.
Taigi tai bus kontekstas, kad mes
būti naudojant šio pokalbio poilsio.
Ir tik išlaikyti šį modelį galvoje.
Tai bus labai svarbu, vos per keletą minučių.
Yra daug pora Nuorodos aš noriu parodyti jums.
Pirmiausia, Cloud 9 numatė gana daug dokumentų
tai gana gera, kuri parodo, kaip padaryti pagrindinį plug-plėtrą.
Taigi, jei jūs einate į šį URL, cloud9-sdk.readme.io,
pamatysite dokumentus ten.
Ir šios informacijos daug kad jūs ketinate pamatyti
taip pat gali būti nustatyta, kad, pridėjus daugiau.
Jūs taip pat galite rasti atviro kodo versija Cloud 9 d URL,
github.com/c9/core, kuri mes naudojame kaip dalis offline versijoje IDE,
taip, kad jums bus suteikta galimybė turėti tas pats Cloud 9 patirtis,
bet offline būdu.
Gerai.
Taigi tegul už išvaizdą Tikrasis Cloud 9 Workspace čia.
Ir vėl, aš noriu atkreipti iš porą dalykų.
Tai, tiesa čia normalus CS50 IDE.
Ir aš išjungtas mažiau patogus būdas pagal meniu Rodymas
taip, kad aš galiu pamatyti visus meniu parinktis.
Ką aš noriu parodyti jums, teisė dabar yra porą dalykų.
Pirmiausia, jei aš einu į pageidavimais ir tada
spustelėkite plug-in valdytojas, ir įveskite CS50 čia
matome, kad yra, iš tiesų, iš CS50 plug-ins pora, kuri
buvo įrengti ir mūsų bėgančių į kad pakeitimus, kad mes
matyti, kad CS50 IDE.
>> Dabar ten iš esmės du papildinius, kurie veikia.
Yra vienas vadinamas Paprasta, kuris yra supaprastinta režimas,
leidžia sumažinti skaičių Meniu parinktis palei viršuje,
ir kurie šis vadinamasis mažiau patogūs režimas.
Ir tada ten taip pat CS50 statistika, kuris yra gal tik šiek tiek misnamed.
Nes tai, ką rodo informaciją
apie pagrindinės darbo vietos.
Jis įleidžia šiuos mygtukus palei viršuje dešinėje.
Taip pat įleidžia meniu elementą į langas punktas, į langą meniu
čia, CS50 IDE informacija.
Ir tai yra atsakingas už instancija šis dialogas, kad mes matėme čia
visą informaciją, kad mes pripratęs prie tam CS50 IDE
darbo vietos.
GERAI.
Taigi iš tikrųjų vienas plug-in kad mes taip pat keitėsi.
Ir ten yra kiti pora, kuri mes taip pat nėra viešai paleistas.
Bet vienas iš jų yra bendras plug-in, kad leidžia GDB funkcionuoti.
Taigi, vienas iš debesies 9 aspektų yra tai, kad, jei jie yra, jau
tai GUI įgyvendinti debugerem.
Ir vienas iš įskiepių, kad mes sukūrėme iš esmės
kabliukų GDB su šiuo GUI pagrįstas versija išriktuotojo.
Ir yra atsakinga už tarpininkavimo visi iš prašymų, kad vartotojas gali turėti,
tarp žengia per arba sukurti ribines vertes arba nieko
palei tas linijas, versti, kad į komandas, kad gali suprasti GDB,
išdavimo tas komandas GDB.
Ir kuo greičiau GDB išduoda atsakymą, tada
mes interpretuoti, kad ir atnaujinti GUI, kaip reikia.
>> Tai turbūt vienas iš daugiau sudėtinga
iš įskiepių, todėl vietoj ką mes ketina sutelkti dėmesį į šiandien yra iš tikrųjų
statistikoje plug-in, ir mes kalbame šiek tiek apie Paprasta, taip pat.
Taigi jau minėjau anksčiau, ir aš tikrai noriu padaryti labai, labai aišku, kad vėl,
visa tai, kad mes matau čia yra iš esmės
veikia kliento pusėje.
Mes matome terminalo langą toliau, ir kad, žinoma,
jei mes įrašykite komandas į kad, kad bus tada išduotas
su pagrindine pavyzdžiui.
Be to, jei mes atidaryti naują failą ir įrašykite kai kurių dalykų į jį ir jį išsaugoti,
kad failas bus išsaugotas pagrindinis atvejis.
>> Bet pati redaktorė, tai Pati terminalo langą,
Visa tai įgyvendinama JavaScript ir viskas plug-in
kad mes gali sąveikauti su, ir todėl keisti.
Yra daug įtempis daug čia.
Aš rekomenduojame pažvelgti ne Cloud 9 anketa GitHub sąskaitą
pamatyti didelę kiekį plug-ins, kurie yra prieinami,
ir tiesiog kaip gerai parašyta daug kodo yra įtempis.
Taigi kažkas kad noriu paminėti
apie tai, taip pat, kuris yra kad yra daug of-- ten
iš funkcionalumo daug, kad tai numatyta lengvatų
langas, kurį mes matėme tik užsiminė vos kelias minutes.
>> Vienas iš dalykų, kad mes galime padaryti, kaip IDE kūrėjai, arba kaip Cloud 9 kūrėjams,
yra iš tikrųjų švirkšti kai privilegijuotųjų plokštės mūsų pačių.
Taigi paprastas būdas, arba mažiau patogus būdas,
ir taip pat IDE informacija, arba statistika plug-in,
turi kiekvienas šiek tiek pirmenybę plokštės, kurios leidžia mums keisti
kiekvieno iš tų, elgesio.
Jūs pastebėsite, kad jei aš einu į Parinktys ir eiti į Vartotojo parametrai
ten CS50 skirtukas, vienas kad sako IDE informaciją.
Ir aš galiu pakeisti informacija atnaujinimo dažnis.
>> Efektyviai, kas vyksta į statistikoje plug-in
yra tai, kad kas n-sekundžių, kur n-sekundžių yra apibrėžta šiame pirmenybę
panelė, informacija yra nerealu nuo pagrindinės Pavyzdžiui, siunčiami
atgal į kliento pusėje, plug-in yra tada
Aiškinant informacija nuo pagrindinės instancijos
ir atnaujinti GUI, kaip reikia.
Mes matome, kad dabar tai yra nustatyta 30 sekundžių, ir kad pagal nutylėjimą.
Bet aš tikrai gali pakeisti kaip greitai tai atsitinka tik
pakeičiant šią vertę.
>> Dabar vienas iš įdomių dalykų yra tai, kad pirmenybė panelė, GUI
yra tikrai tik GUI versija iš pagrindinių nustatymų daug
kad yra pateikta JSON.
Taigi, jei aš einu, pavyzdžiui, tomis CS50 IDE meniu arba "9 Danguj meniu
priklausomai nuo to, kuris versija jūs ieškote,
ir eiti į vieną iš šių settings-- šiuo atveju,
Projektas settings-- Projekto parametrai šiuo atveju
taikoma visi parametrai už šį vieną darbo vietos.
Kadangi Vartotojo nustatymai taikomi visiems iš darbo vietoms
kad jums gali turėti savo sąskaitą.
>> Taigi tik kaip panaikinti čia būti papildomų aišku,
yra skirtumas tarp atskyrimas du, nes nors pagal nutylėjimą mes
turėti vieną darbo vietą, kuri yra CS50 IDE, jei jums
buvo paspausti ant jūsų mažylis avataras čia ir pereikite prie prietaisų skydelio,
Jūs pamatysite, kad jūs iš tikrųjų galite sukurti papildomų darbo sritis taip pat.
Jūs galite pamatyti čia, kad aš turiu IDE 50 Workspace, o taip pat
už šio tikslais Seminaras darbo erdvės
vadinamas Workspace, kuris yra čia.
Taigi bet kokiu atveju, turiu įvairių lengvatų.
Kiekvienas iš jų gali turėti atskiras projektas lengvatų,
tačiau vartotojas lengvatos paskirstytos visiems mano darbo vietoms.
Beje, tai yra Taip pat labai patogu, jei
norite sukurti darbo vietą su skirtingų tinkinimo parinkčių.
Ir tai labai patogu sukurti naują darbo vietą.
Ir pasirinkti vieną, kuri gali būti iš anksto sukonfigūruotas kitu būdu,
galbūt PHP konkrečiau, arba Django specialiai.
Arba net tik pagal užsakymą.
CS50 Workspace Šablonas yra vienas, kad mes
naudoti, kad automatiškai įdiegia Atnaujinti 50 ir visi parametrai
kad mes turime ten, įskaitant visus plug-ins, kad mes turime už CS50 IDE.
GERAI.
Bet tegul grįžti į tai.
Taigi dar kartą, yra projektai parametrus, ir tų yra tie,
kad mes ieškome ne čia.
Ir pastebėsite, kad Yra nustatymai krūva,
daugelis iš jų atitinka pageidavimus plokštės, bet ne visi iš jų.
Tačiau matome, kad čia, this-- oh Ne, aš įdėti jį į naudotojo nustatymus?
Galbūt aš įdėti jį į vartotojo nustatymus.
Ir tai, čia mes einame.
Vartotojo nustatymai, mes galime matyti, kad mes turime CS50 skyrių,
ir tai yra parašyta kad šių Cloud 9 plug-ins
kad mes įgyvendinti.
Yra paprasta viena sutampa su paprasta plug-in,
ir statistika ta, kuri atitinką tą GUI
versija lengvatų skydelyje.
Atnaujinimo dažnį, kad ši atveju, yra nustatytas į 20 sekundžių.
>> Tai viskas, Tikimės, kad pradžia tam tikros informacijos
kad mes iš tikrųjų matome šiek tiek šiek tiek daugiau detalė, trumpam.
GERAI.
Taigi tarkime, mes norime iš tikrųjų kibti į jį.
Mes suprantame, kad visa tai, kas kad vyksta kliento pusėje
daroma iš tikrųjų ant naršyklę, kuri reiškia, kad bet kokie plug-ins, kad aš rašau
ketinate būti parašytas galvojant naršyklėje.
Ir jei aš iš tikrųjų noriu daryti nieko apie darbo sritį,
Aš turbūt turi inicijuoti kai bendravimo Rūšiuoti
tarp naršyklėje ir darbo aplinka būti tikri,
kad iš tikrųjų pasiekiama.
Bet tarkime, kad dabar Noriu gauti į ją
ir iš tikrųjų sukurti savo pirmąjį plug-in.
Na, taip, kad jums bus suteikta galimybė padaryti, kad iš tiesų yra gana paprasta.
Tai pateikiama Cloud 9 SDK.
Bet tai imtis savo esama darbo aplinka, vardas, kuris
yra URL, kad jūs turite ne iš viršaus Jūsų baras, ir pridėti taip į jį.
?
SDK = 1 & Debub = 2.
Dabar, kas tai vyksta, kad yra kad SDK = 1 tikrai bus nustatyti SDK
režimas tiesa, kuri leis daug papildomų dalykų pora.
Ir derinti = 2 leis klaidų pranešimus būti šiek tiek daugiau daugiakalbė.
>> Ir todėl, jei jūs auklėti JavaScript konsolės Chrome kūrėjas kortelėje
jūs iš tikrųjų galės matyti daug daugiau informacijos
nei jūs kitaip.
Todėl aš rekomenduoju tekinimo abu tuo pačiu metu, nes ji tikrai
naudinga turėti visa tai Papildoma informacija.
Svarbu Tačiau reikia pažymėti, kad įjungiant derinti siekti 2 vertės
reiškia, kad jis labai daugiažodis, ir ji iš tikrųjų
bus šiek tiek pastebimai sulėtinti Jūsų IDE, ypač kai pakrovimo
arba kai tai daro sunkius uždavinius.
Taigi tiesiog laikyti tai galvoje.
Tai naudinga plėtrą, bet jūs negali nori turėti jį ant visą laiką.
>> Tad iš tikrųjų tai padaryti.
Tačiau šiuo atveju, aš iš tikrųjų turi jau įsteigti darbo vietą su tai.
Taigi pažiūrėkime, SDK = 1 & debug = 2.
Su plug-ins pora tikiuosi jau įdiegta.
Gerai.
Taigi dabar, kad aš įjungtas SDK debug režimas, pastebėsite, kad mes esame debug režimu,
todėl mes galime pažvelgti į Tobulinimo įrankiai pamatyti kokių nors klaidų, kurios aš darysiu offscreen.
Mes matome, kad ten iš klaidų krūva čia.
Dabar tai tikrai gana dažnai Cloud 9 turėti klaidų pora,
ir aš ne nerimauti apie juos, kol jums
pamatyti kažką, kad gali būti būdingi plug-in
kad atsitiktų būti sukurti.
>> Taigi čia, pavyzdžiui, mes gauti iš 404s-- pora nerastas.
Mes matome mes negalime įkelti kai informacija išjungti pagrindinės instancijos
pati.
Ir ten yra papildoma krūva informacija, tačiau dauguma tai mes
tikrųjų vyksta ignoruoti dabar.
Kadangi tai yra gana įprasta darbo sritį
turėti tik klaidų pora.
GERAI.
Aš ruošiuosi perkelti tai iš būdas ir grįžti čia.
O dabar paprastas būdas, gražus dalykas apie turintys Šio kūrėjo
režimas įjungtas, kad jis leidžia mane lengvai sukurti naują plug-in.
>> Taigi tuo tarpu, kol aš iš tikrųjų nėra turi šis naujas plug-in, galimybė,
kurioje mes galime pamatyti, jei aš einu atgal į mano ne kūrėjas režimas nei čia
nėra nauja plug-in.
Leidžiant SDK režimą, aš turi naują plug-in galima
ir aš galiu lengvai sukurti vieną.
Šiuo atveju, yra pora įvairių variantų, paprastas,
tuščias plug-in, pilnas plug-in, montuotojas, Cloud 9 pluoštas.
Tegul tik pasirinksite tuščias plug-in dabar
taip, kad mes galime pamatyti labai paprasta versija vienas.
>> Dabar pastebėsite, kad palei kairė pusė, kad ten dabar
kažkas pagal Favoritus, kuris yra išvardyti plug-ins pora
kad dabar yra su manimi.
Jei aš išplėsti, kad mes galės pamatyti tie.
Dabar aš noriu jums pastebėti kažką čia, o
yra tai, kad tai nėra iš tikrųjų esanti per darbo srities kataloge
mano pagrindinės Ubuntu Pavyzdžiui, tačiau ji pateikta kietajame diske.
Ir kur tai yra, nes tai yra labai naudinga žinoti,
ypač jei jūs ketinate daryti nieko su Git,
jei tai yra yra į .c9 aplanke / įskiepių.
Taigi, jei aš einu ten, mes galime pamatyti, kad dabar plug-ins sąrašas, kad esate čia:
atitinka sąrašą plug-ins, kad aš pamačiau kairėje pusėje mano darbo vietos.
>> Dabar pagal nutylėjimą, ir Tai tipo keista,
pagal nutylėjimą, kai aš sukurti Naujas plug-in, į darbo vietą,
ji sukuria šį papildinį, kad Numatytasis turi pabraukimo vardą.
Apskritai, kad galėtų sukelti tam tikrų problemų.
Taigi jau kitą žingsnį kad aš paprastai atlieka
tiesiog pašalinti, kad ypač plug-in
ir palikti tik paprastas plug-in, kad ten buvo iš pradžių, plugin.simple.
Ir tai tik viena, kad ten.
GERAI.
>> Taigi, ką tai iš tiesų atrodo?
Na, tai, vėlgi, JavaScript paketas
kuri apima kai kuriuos failus, įskaitant plugin.js failą, kur
pagrindinis turinys mano plug-in yra,
package.json failą, kuris iš tikrųjų nurodoma,
kai apie Šis plug-in metaduomenys, pvz, kas yra autorius,
bet kokia papildoma informacija apie tai, kad aprašymas plug-in, ir taip toliau.
Ir taip pat pagal nutylėjimą, jį sukuria tuščią README failą,
ir tuščia bandymo failą jums sukurti tam tikrą papildomą dokumentaciją,
ir bandymai diržai, jei norite padaryti, kad.
>> Taigi tegul tiesiog pažvelgti pradžių, labai greitai, tuo package.json failą.
Tai pakankamai lengva tiesiog eiti per IT ir užpildyti šią srityse
kad jūs norėtumėte užpildyti, pavyzdžiui, suteikti jai pavadinimą, suteikti aprašymas,
pakartoti versijos numerį kas taip dažnai, teikti
Prašymas kiekvienas autorius asmuo, kuris prisideda
įtraukti juos į autoriams skyriuje, o tai jūs poilsio
gali gana daug tik palikti, nes ji yra dabar.
>> Yra vienas dalykas, kad Svarbu pastebėti,
kad pagal plug-ins skyriuje, yra raktas vadinamas plug-in.
Ir šis yra priderinta prie vardo JavaScript failas, vadinamas plugin.js.
Taigi, tai, kaip "9 Danguj žino, kai ji skaito šį package.json failą, kuris
iš JS failus iš tikrųjų įkelti.
Jei aš sukurti papildomų JS failus ar norite pervadinti, kad JS failą iš plug-in,
Aš taip pat turiu jį pakeisti į package.json failą.
>> Bet iš auditorijos klausimus?
Ne.
Kad vienas asmuo, kuris yra Žemiau kartu su manimi iki šiol.
>> GERAI.
Taigi aš iš tikrųjų sukūrė pora įskiepių jau
Manau, šiuo darbo vietos.
Taigi leiskite atsikratyti kai kurių iš šių, pridėti SDK = 1 & debug = 2, iš naujo įkelkite šį darbo vietą,
ir tegul pamatyti, jei mes turi tuos papildinius dabar.
C9 / įskiepių.
Čia mes einame.
Mes matome dabar mano C9 / plugins apie tai vienas, mes turime plugin.1 ir plugin.2.
Taigi mes ketiname tik žingsnis iki the-- tik padidinti sunkumų sumą
kiekviena iš šių įskiepių.
Bet čia, jei aš sukurti naują plug-in, Aš ją įkelti gali prie mano mėgstamų.
Ir aš tiesiog ištrinti tas, iš pagrindinis failų sistema.
>> Leiskite pašalinti, kad.
Dabar, jei aš atidarau mano pirmasis plug-in, ir atvirų plugin.js,
mes galime pamatyti čia pagrindinės paprasta versija plug-in.
Leiskite man iš tikrųjų grįžti į šį kitą darbo sritį
nes galite bent jau čia pamatyti, ką tuščias plug-in, iš tikrųjų atrodo.
Taigi po gaubtu, tai atrodo labai panašus į technologiją, pavadintą,
Manau, tai RequireJS.
Atkreipkite dėmesį, kad tai nėra tikrai atrodo, ko gero,
tas pats, kaip kitu JavaScript failai, mes galėjo matyti.
Bet vietoj to, ten yra tik pora Pagrindinės linijos, kad ji iš tikrųjų turi.
>> Visa tai, kas yra pirmas aiškinama IDE,
bet tai nėra iš tikrųjų skaičiuoti tol, kol nurodyta.
Ir aš jums papasakoti apie kai kad iš tikrųjų reiškia tik akimirką.
Tačiau pastebite, kad čia ten main.consumes linija 2 eilutėje,
ir tai išvardijami visi plug-ins kad šis kaištis-in yra priklausoma nuo.
Taigi pagal nutylėjimą, mes galbūt ne turėti bet priklausomybę nuo kitų įskiepių,
bet kai mes iš tikrųjų reikia priklauso nuo funkcijų tiekiamų
kitų įskiepių IDE, mums reikia išvardyti tas plug-ins
į main.consumes linija.
Ir tada mes turime susieti juos su kodu
toliau, o aš jums parodysiu, į ką tik akimirka apie tai, kaip mes galime tai padaryti.
>> Main.provides suteikia pavadinimas į Šis plug-in
kad kiti plug-ins galėtų naudoti savo sunaudoja linija.
Taigi šiuo atveju, mano plug-in yra tik nustatyti ten pagal nutylėjimą,
ir mes turime pakeisti, kad būtų taikomos mūsų pačių plug-in,
kaip matysime vos akimirką.
Dabar čia į funkciją Pagrindinis šios funkcijos Pagrindinis
iš tikrųjų paleisti ir aiškinti, bet ji nėra iš tikrųjų labai daug.
Jis tiesiog bus viskas steigti, bet ji nėra iš tikrųjų pradėti plug-in,
nepaisant to, ką pavadinimas skamba panašiai.
Tai iš tikrųjų vyksta per iš metodų seka, kuri
yra išdėstytos visoje Šis plug-in.
>> Taigi, jei aš slinkite žemyn, matome, kad mes turime gyvenimo ratą, kai
dėl kai kurių įvykių vadinama apkrova, arba kai įvykis vadinamas iškrauti,
kai įvykiai iš tikrųjų įvyks.
Tai tikrai čia kur kaip plug-in prasideda, kad šie metodai yra vadinami.
Taigi būkime šiek tiek daugiau betono apie tai ir pažvelgti pavyzdys.
Taigi čia plugin.1, ką mes iš esmės ketinate daryti
yra sukurti meniu vadinamas CS50 Seminaras dialogas 1--
nes mes turime du them-- ir mes ketiname
švirkšti jį į meniu langas.
Ir kai mes paspauskite ant jo, mes ketina atverti dialogą,
mums parodo kai kuriuos labai pagrindinę informaciją.
>> Šiuo atveju tik hello world.
Taigi, šis yra labai paprastas hello world dialogas
kad mes galime įgyvendinti kaip plug-in debesys 9 d.
Taigi pažiūrėkime, kaip tai iš tiesų atrodo.
Mes žingsnis per jį, tik gana greitai, todėl mes
galite peržvelgti kitą plug-in, taip pat.
Atkreipkite dėmesį, kad mes čia vartoja plug-ins įvairovė.
Mes vartoja dialogą plug-in, komandos, meniu, ir UI.
Atrodo, kad aš iš tikrųjų esu reikalaujantis dialogas du kartus, todėl galiu pašalinti, kad.
>> Ir pastebėsite, kad pakeliui kad aš jas jungiantis,
Tai tarsi metaduomenų, kad pasakoja plug-in sistemą, kokie reikalavimai
iš tikrųjų yra būtina tai plug-in įkelti.
Taip pat svarbu pažymėti, kad tvarka, plug-ins yra pakraunami
nėra garantuojamas.
Bet kas yra garantuojama, kad jei aš patikslinti kai plug-in kaip reikalavimas,
kad plug-in, bus įkeltas Prieš tai vienas yra pakrautas.
>> Taigi tai reiškia, kad jei jūsų plug-in reikia dėl kai kurių funkcijų, numatytą
kažkas kitas IDE, jūs turėtumėte būti tikri, kad jūsų plug-in sunaudoja
kad plug-in, kad priklausomybės yra tikri, kad sukurti savo plug-in,
arba instancija savo plug-in, tik po to esama sistema egzistuoja.
Taigi čia aš paminėti metaduomenų plug-in valdytojas,
kurie iš jų aš ruošiuosi vartoti.
Ir pagrindinė funkcija čia, Aš ruošiuosi tada prijunkite
mano kodas toms importuojamų plug-ins.
>> Taigi, aš tik ketina sukurti keletą kintamųjų, kurie
atitiktų kiekvieno iš šių pavadinimų taip kad galiu labai greitai nuoroda juos
visoje savo kodą.
Priežastis, kodėl aš esu importuoti dialogą nes aš noriu, kad mano plug-in
veikti kaip dialogo plug-in.
Ir taip, kad aš galėtų padaryti, kad yra, žinoma,
prijungti savo kodą į dialogą plug-in importuoti ją
ir tada, nurodant pagal sukurti naują dialogą kintamasis
ir prijungimą prie kad importuojami plug-in.
Ir tada apibrėžiant Mano plug-in, kaip naują dialogą.
>> Taigi, iniciacijos, aš norite nustatyti savo plug-in.
Ir šis kintamasis vadinamas plug-in pamatysite
yra tik naudojamas dažniausiai visoje Cloud 9 plug-ins.
Aš ruošiuosi instancija nauja dialogas su kai kuriais požymiais,
suteikti jai konkretų pavadinimą, pasakyti, kad ji yra įmanoma, vartotojai jį uždaryti.
Kad jis jums parodysiu šiek tiek X viršutiniame dešiniajame kampe,
arba šiek tiek mygtuką Apatiniame dešiniajame kampe.
Nesvarbu, ar galiu pasirinkti tekstą iš tai, ką šį dialogą pavadinimas
būtų, ir taip toliau.
Dabar tai tiesiog apibrėžia dialogą, tačiau ji dar parodyti.
Aš iš tikrųjų turi apibrėžti turi būti įrodyta, ieškinys dėl jo.
>> Ir vėl, raginu jus pažvelgti Cloud 9 SDK,
nes yra veislės dialogai ir jie tikrai gerai dokumentuota.
Jūs galite pamatyti įvairių tipų , kad yra, ir juos naudoti
bet kokia plug-in, turite omenyje.
Dabar ten ketina būti apkrova skyriuje, o ši apkrova
funkcija, kaip jums priminti, yra naudoti plug-in gyvavimo ciklo
kad iš tikrųjų instancija viską ir gauti viską pasiruošę eiti.
Dabar, kai Šis plug-in kroviniai, aš ne noriu, kad ji iš karto parodyti dialogą,
nes tai plug-in, bus įkelti kartu su IDE poilsio.
Ir kai aš įkelti, kad IDE, aš nenoriu dialogas parodyti automatiškai.
Aš tik noriu, kad ji rodo, kai aš spustelėkite meniu parinktis mano lango meniu punktą
kad aš į jį įpilkite trumpam.
>> Taigi ten du skirtingi žingsnių čia, kad turi atsitikti.
Turiu sukurti komandą, ir komanda
bus atsakingas už faktiškai kurioje pateikta Cloud 9 IDE dialogą.
Ir tada aš turiu prisijungti, aš turite sukurti naują langą meniu
elementą, kuris veikia tą komandą.
Taigi, kad, kai aš spustelėkite tą langą meniu, kad komanda yra tada paleisti
ir todėl mano dialogas tada parodyta.
Ir taip iš tikrųjų tai yra gana puikus būdas galvoti apie tai.
>> Kadangi pirmasis galiu sukurti komandą kurio vardas yra CS50 Seminaras dialogas 1,
kad pateikiama keletas Bendrosios aplinkybės jį.
Ir svarbu tiek čia yra pastebėsite EXEC atributą, kuris
išvardyti funkciją, kuri bus vadinama mano plug-in, kai ši komanda yra valdoma.
Taigi ši komanda yra tarsi a-- tai tiesiog savavališkai Cloud 9
komanda tai galima bet Cloud 9 plug-in.
Bet tikrasis funkcija, tai ketina skambinti, kai ši komanda yra valdoma
yra šou dialogas funkcija mano plugin.js failą.
>> Ir mes iš tikrųjų galite pamatyti Šie plug-ins ir sąrašas
komandų, kurios yra prieinamos mums Nustatymai, pereikite visą kelią down--
pažiūrėkime, iš tikrųjų mes matome tai dabar?
Plug-in valdytojas, ne, manau I-- tai tikrai aplink čia kažkur.
Na, ten komandų sąrašas kažkur, bet aš turi,
Aš pamiršau, kur ji yra.
Taigi Gerai, mes judėti.
Gerai.
Taigi, mes turime komandų sąrašą kurie yra prieinami mūsų,
ir tie komandos tai tiesiog savavališkai Cloud 9
komandas, kad paleisti specialų kodą.
Taigi tiesiog laikyti tai galvoje, kad mes ketiname paleisti parodyti dialogo
veikti akimirksniu.
Dabar, kai aš iš tikrųjų norite pridėti meniu punktas, galiu pridurti, kad elementą kelyje,
ir tiesiog nurodyti, kur tiksliai Noriu ji būtų, Langų / CS50 Seminaras dialogas 1.
Ir tuo momentu, aš noriu sukurti naują elementą, kuris
ketina paleisti komandą, CS50 Seminaras dialogas 1.
Atkreipkite dėmesį, kad vėl, tai yra Debesis 9 komandų Aš sukūriau virš.
>> Dabar aš taip pat noriu sukurti mažai dozatoriumi,
ir todėl galiu daryti tą patį vėlesnėje linija.
Dabar galite pastebėti, kad, kaip dalis Nustatant šį meniu elementą,
ten numeris susijęs su juo, kuri
iš tikrųjų sako, kur tiksliai Noriu, kad meniu punktas turi būti
įsikūręs meniu sąrašo.
Bet galite pastebėti, kad aš ne iš tikrųjų
pamatyti visus numerius Šie meniu, pagal nutylėjimą.
Taigi šiek tiek paslėptas dalykas, kad mes galime padaryti, šiek tiek pakeisti mūsų adresą.
Taigi, be to, SDK = 1 & debug = 2, Aš nustatyti meniu 1--
ir tikiuosi, kad tai meniu, o ne meniu.
Oi, tai meniu = 1.
Palauk.
>> Ir ką mes matome ant perkrovimo, kad IDE yra tai, kad aš vis dar esu debug režimu,
bet dabar ten yra numeriai susijęs su visais meniu.
Ir tai jums pasakys ką numeris
yra, kai jūs bandote švirkšti kažkas kur šiuo meniu sistemą.
Taigi meniu langas, galiu matyti, kad 45 punktas yra Bendradarbiauti,
ir 38 punktas prieš tai montuotojas.
Taigi, kai aš noriu suleisti tarp šių dviejų punktas,
Aš tiesiog pasirinkite numerį tarp šių dviejų elementų.
Taigi, aš pasirinko 41 ir įdėta mano seminaras Dialogas 1 meniu punktą toje vietoje.
>> Ir štai kodėl šis skaičius kad atrodo čia yra skaičius 41.
Tai yra, kad buvimo vieta meniu punktą "Cloud 9" meniu.
Dabar panašiai, aš norėjau sukurti dalytuvas
ir pridėti jį taip, kad gražus pasiskirstymas tarp kiekvienos iš šių meniu
daiktus.
Taigi aš pridūrė, kad ne vietoje 43.
Iki šiol taip gerai, tikiuosi?
Taigi dabar galime realiai pažvelgti specifinis kodas šou dialogo
kad iš tikrųjų atsakingas atidaryti šį dialogo langą.
>> Slinkimas žemyn, matau, kad aš noriu turėti šią funkciją rodyti dialogo,
ir tai labai paprasta.
Aš ruošiuosi paleisti šou metodas, plug-in kintamąjį.
Ir atminkite, kad mes tai apibrėžta plug-in kintamojo aukščiau kaip dialoge.
Taigi baras plug-in, šiuo atveju, tai objektas, mes apibrėžta viduje.
Ir tai bus naujas dialogas pateikta per Šis plug-in.
Ir taip mes iš tikrųjų tai nuorodos plug-in kintamojo daugelyje vietų
tipiškas Cloud 9 kūrimo aplinka.
>> Pamatysime jį čia.
Atkreipkite dėmesį, kad mes slinkite žemyn, ten papildomi gyvavimo ciklai.
Taigi pastebėsite, kad tai atsakyti į įvykius, kurie kūrenamų
šio objekto, šio dialogo objektas.
Pagal numatytuosius nustatymus, nėra pakrauti ir iškrauti, kuris
yra prieinami visiems Cloud 9 plug-ins.
Bet tuo atveju šis dialogas, ten
kitas įvykis, kuris gali gaisro, taip pat vadinamas
Lygiosios, kuris yra atleistas, kai tai yra apie būti parengtas ekrane,
bent pirma dialogo rodo.
>> Taigi, kai jis yra iš tikrųjų bus parodyta,
ten vyksta pateikiate mums šiek tiek HTML.
Ir naudojant tik standartas HTML praktika galime
švirkšti keletą labai paprastų informaciją Mūsų hello world, tame dialoge.
Taigi, jei mes tada slinkite aukštyn, mes galime matyti tada dalykų procesija
kad ji vyksta.
Pirmiausia mes sukūrėme Cloud 9 komandą kad, kai vykdo debesies 9,
vyksta į ugnį šią funkciją.
Ji ketina paleisti šią funkciją vadinamas Rodyti dialogą, kad aš
parašyta mano kodas.
>> Aš sukūriau meniu elementą ir prie jos, kad ši komanda
kad kai kurie punktas paspaudėte meniu, kad komanda yra paleiskite
ir kad funkcija yra tada paleisti.
Ir viduje funkcijos Aš tik ketina skambinti the-- aš
tik ketina vykdyti šou metodas Šis plug-in, kuris
ketina pirmąjį kvietimą Atkreipti metodas, ir vyksta
ugnies šį metodą žemyn toliau, atkreipti aptarnavimo įvykio, mūsų gyvenimo ciklą.
Ir tada jis bus iš tikrųjų parodyti dialogą.
>> Yra taip pat slėpti metodas, kad jei man reikia galimybę paslėpti
mano dialogas, galiu daryti tą patį.
Taigi, kad gana daug gauti visa tai į darbą.
Atkreipkite dėmesį, kad tai, jei mes slinkti žemyn toliau ten užšaldyti viešojo API.
Tai iš esmės tiesiog sako, kad aš nori šiuos metodus veiksmingai
būti viešas, bet ne overwriteable nepatenka į Šis plug-in kontekste.
Ir toliau, pačioje apačioje, yra bene paskutinis dalykas
kad mes tikrai reikia mokėti daug dėmesio čia, kurie
yra tai, kad mes ketiname užsiregistruoti mūsų plug-in su pavadinimu C9 seminaras 1,
ir objektas plug-in.
>> Kuris kaip jums priminti, yra kad plug-in, to plug-in
objektas, mes jau apibrėžiant visu šios šaltinio visas
kodas.
Ir C9 Seminaras 1 yra eilutė, mes pažadėjome
teikti viršuje Šio apibrėžimo.
GERAI.
Taigi leiskite kelią jį truputį ir pamatyti, jei mes galime padaryti kažką
šiek tiek įdomesnis.
Dabar tai tik toks didelis.
Aš turiu galvoje, tai yra, jis tikrai gana atvėsti, kad tiek kelias kodo eilutes,
mes galime pakeisti esamą IDE ir pridėti esamą meniu
arba pridėti naują meniu punktą, pridėti komandą, ir parodyti dialogą,
ir tiesiog krūva funkcija, kuri egzistuoja.
Tai tikrai gana didelis.
>> Bet tai nėra labai daug nuveikti, nes jis negali bendrauti su pagrindinės Ubuntu
atvejis.
Taigi tarkime, kad aš iš tikrųjų nori sužinoti,
tam tikra informacija apie pagrindinės Ubuntu atvejį,
kaip statistikoje plug-in daro.
Taigi leiskite pažvelgti į išvaizdą Šiek tiek daugiau informacijos
apie tai, kaip statistika plug-in darbus.
Ir iš tikrųjų, tai yra labai panašus į tai.
Jūs galite prisiminti, kad ten dialogas.
Galbūt jūs žinote, kad yra tam tikra informacija, kad tai
parodyta tik palei meniu juostoje kartu į viršų, kuris, tikiuosi, jūs esate dabar
gauti kaip skonis mes įgyvendinome tai,
tiesiog įdėdami meniu elementus, esant konkrečiam taškų ir atliko instancija dialogą
ir rodyti, kad dialogas.
>> Bet mes dar rodomas Jums, kaip mes galime prijungti jį
į komandą pagrindinis Ubuntu atvejis.
Taigi leiskite pažvelgti tada plugin.2, kurie daro būtent tai, ką.
Mes ketiname atidaryti plugin.js, kuris yra skirtas šis kodas.
Tačiau pagal lango meniu jei aš spustelėkite dialogo 2,
matome, kad jis sako, kad tai Vietoj to, Hello CS50, kuris
neatrodo visą tą viliojantis, tiesa?
Išskyrus, žiūrėti tai.
Leiskite man ką nors pakeisti čia apačioje.
>> Aš ruošiuosi eiti į mano Workspace ir keisti seminaras
pasakyti ką nors kita, pavyzdžiui, hello, Dan.
Aš ruošiuosi jį uždaryti ir išsaugokite ją.
Ir dabar aš ruošiuosi iš naujo paleiskite mano dialogas meniu.
Ir pranešimas, kad ji turi dabar pasikeitė, ką ji sako.
Sveiki, Dan.
Man atrodo, kad padarei kažką žemyn čia yra pagrindinės Ubuntu instancijos
nepranešęs manipuliuojama bet kodas, kuris vėl veikia tik
kliento pusėje.
Taigi akivaizdžiai kažkokia Bendravimas, kad vyksta čia.
>> Dabar tai yra, kai iš partijos galia Cloud 9 SDK ateina,
yra tai, kad šiame plugin.2, mes iš tikrųjų gali sukelti
kvietimas atsitikti pagrindinis atvejis,
ir paleisti kai savavališkai komandą.
Taigi, šiuo atveju, aš iš tikrųjų sukurta labai paprasta bash scenarijų
mano darbo sritis vadinama Seminaras.
Taigi leiskite man atidaryti, kad iki.
Ir matome, kad jis atrodo, kaip šis.
Tai tiesiog labai paprastas, bash scenarijus, kurio vienintelis tikslas gyvenime
bus pakartoti iš šio teksto, Sveiki, Dan.
Arba prieš jį, jis sakė Sveiki, CS50.
Ir tai viskas, jis ketina daryti.
>> Kadangi tai yra dabar komandą, kad galėčiau paleisti.
Aš iš tikrųjų galite paleisti jį žemyn čia.
Mes matome, kad ji iš tikrųjų yra tik komanda, kad aš paleisti natūraliai.
Galiu paprašyti savo plug-in vykdyti šią komandą pagrindinės darbo vietos
ir apdoroti informaciją kad buvo grąžintas iš jos,
ir padaryti kažką su juo, ir keisti mano plug-in, ir elgesys, kad aš
turi mano plug-in, kaip rezultatas. GERAI.
Taigi pažiūrėkime, kaip tai atsitinka.
Mes matėme tai labai paprasta Seminaras partijos scenarijų, kad aš
[Nesigirdi], kad ji iš tikrųjų gali paleisti.
>> O dabar pažiūrėkime, pakeitimus kad yra būtina susieti tai kartu
su dialogo langą, ir paleisti jį.
Taigi čia mes ketiname padaryti gana kiek tas pats, kaip mes matėme anksčiau.
Bet pastebėti, kad tarp dalykų, kad aš suvartojami now--
be to, dialogą, kuris vėl aš atsitikti padariau du kartus,
kuris nėra necessary-- be to, į dialogo ir komandas
ir meniu plug-in, kuris buvo būtina pirmoje vieną me
apibrėžti naują komandą ir švirkšti daiktą į meniu
Aš taip pat turiu šį PROC plug-in.
>> Ir tai proc plug-in leidžia mums manipuliuoti procesus
ant pagrindinės pavyzdžiui.
Aš prijungtas jį po aš sakė, kad mano plug-in, to reikalauja.
Aš tada prijungti jį prie kodas, kaip matėme pagrindinės funkcijos.
Vėlgi, aš ruošiuosi inicijuoti savo dialogą.
Ir jei mes judėti žemyn dabar mes galima pamatyti, kaip tai yra skirtingi.
Apkrovos funkcija yra tokie patys, todėl tai tik ketina sukurti komandą
ir sukurti meniu punktą ir prisijungti kad meniu punktas tą komandą.
Bet jei mes dabar pereikite žemyn parodyti dialogą,
mes galime pradėti pamatyti, kur skirtumai atsiranda.
>> Mes turime funkciją šou dialogą, kuris yra tik ketina parodyti dialogą.
Bet kai aš parodyti šį dialogą ir kai Rodyti metodas vadinamas,
gaisrai traukimo funkciją.
Ir aš ruošiuosi tada nurodykite kai viduje, kad turinys.
Taigi, aš tik ketina sukurti div, suteikti jai
kai pagrindinio teksto, Labas, pasauli.
Tačiau pastebite, kad čia aš ketina pridėti prie jo asmens dokumentą.
Ir aš jau kitą linija einu rasti tokiu ID, naudojant "JavaScript",
ir laikyti, kad objektą į kitą kintamąjį
kad aš tik ketina skambinti turinį.
>> Taigi, dabar, kai turiu turinio, man reikia padaryti
tiesiog pakeisti šį objektą vidinį HTML.
Ir dialogas HTML suteikia tada būti modifikuoti, taip pat.
Taigi, kai Šis plug-in yra tada parodė, kuris gali atsitikti
ir tai yra naujas įvykis tai yra nauja Šis plug-in,
bet atsitinka kiekvienoje Kištukinė su dialogas, kai tai yra dabar rodomas,
Aš ruošiuosi skambinti funkcija vadinama paimti info.
Ir ši funkcija yra iš jo mėsos čia.
Aš ruošiuosi naudoti tą PROC plug-in, kad mes aprašyta anksčiau, kuris, beje,
yra tikrai tik Node.js biblioteka kad "9 Danguj naudoja čia.
>> Taigi jūs iš tikrųjų galite ieškoti apie tai, kaip tai
veikia, jei jūs einate į Node.js dokumentacija
ir ieškoti exec failą metodas procesų ten.
Aš ruošiuosi paleisti šiuo konkrečiu komanda, namuose Ubuntu Workspace
seminaras, kuris yra tai, kad tas pats vienas, kad pati komanda, kad aš sukūriau anksčiau.
Pateikite jį srovei darbo katalogą, tiesiog
būti itin saugus kalbant apie kontekstas, jei tai veikia.
Ir vėl, kad buvo užpildė ir grąžino,
Aš ruošiuosi paleisti šią funkcija vadinama parse produkcija.
GERAI.
Taigi, tai tada ketina vykdyti komanda dėl vietos, ar veikiau
nuotolinio Ubuntu atvejis.
Kai aš grįšiu kai Informacija, aš tada
ketina skambinti atskirą funkciją vadinamas parse produkcija, kad
turi šį parašą čia Klaidos, stdout, stderr,
ir atlikti tam tikrą skaičiavimo apie tai.
Taigi, jei aš gavau klaidą kokio nors ne visi,
Aš iš tikrųjų patikrinti, ar klaidos iš tikrųjų turi tam tikrus duomenis.
Ir jei taip, tada aš bus pakeisti vidinis HTML tos turinio objektą, kuris
yra prisimenate, mes prijungtas prie dialogo
Pasibaigus šiam instantiattion dialogas, arba pirmojo brėžinio
tos dialogą.
Aš ruošiuosi tik pasakyti, kad kai klaida nutiko.
>> Dabar tai yra pernelyg supaprastintas.
Klaida vertė bus paprastai yra kažkas, kad buvo naudinga,
galbūt klaidos numeris ir klaidos iš paties scenarijų.
Arba, jei scenarijus rašė kažkas standartinės paklaidos,
kad duomenys būtų apgyvendintos toje parametro, taip pat.
Ir aš galėčiau būti šiek tiek daugiau atsargūs, apie ką klaidos
Aš iš tiesų rodo žmonių.
Bet tai paprasta pavyzdys yra pakankamai gera dabar
bent pamatyti kaip visa tai funkcijas.
Priešingu atveju, jei yra ne klaida, tada aš tiesiog
ketina teikti žalias galingumas šią funkciją
į vidinę HTML šio kiekio elementas, tada atnaujinti savo plug-in
ir parodyti jį čia.
Ir tai beveik viskas, tai būtina gauti tai paleisti.
Ir taip pagalvokime apie tai kaip tai veikia, apskritai.
Kai aš pirmą kartą pakrautas šį plug-in, kaip pirmą plug-in,
Aš ruošiuosi pridėti komandą, kad yra galima nieko, bet plug-in
Cloud 9, vadinamas CS50 Seminaras Dialogas 2, kurio atsakomybė
bus paleisti šį šou dialogas, kuris yra jums priminti,
bus iš tikrųjų parodys dialogą kad aš paprašė žemiau.
>> Tada aš pridurti, kad komandą į lango meniu
taip, kad aš turėti prieigą prie to.
Ir kai tai dialogas prašoma, kuris bus rodomas,
Aš atnešti šiek tiek info iš pagrindinės Ubuntu atvejis
naudojant exec failo komandą.
Atsiprašau.
Kai tai grįžo ir aš gausiu kai informacija, o po to ant kliento pusėje
vėl, aš galės apdoroti tos komandos išvesties
ir atnaujinti vidinis HTML iš elementų,
kad mes prijungtas prie anksčiau.
>> O, kad mes tada Tai visiškai funkcionalus plug-in
kad leidžia man atnešti informacija iš šio savavališko scenarijų
kad mes sukūrėme ant Mūsų pagrindinė instancija.
Bet vėl, tai tikrai svarbu ir tikrai raktas
atskirti, kur kiekvienas šių dalykų vyksta,
kad mes turime visus šio kliento pusėje kodas, kuris yra paleisti naršyklėje,
ir dar neturi patekti su pagrindine failų sistemą
kol mes iš tikrųjų paleisti kai kuriuos iš jų komandas, kurios yra teikiamos Cloud
9 SDK kaip PROC, ir kai kurie kiti tie kurie leidžia mums skaityti kai kuriuos duomenis,
arba skaityti kai kuriuos failus, jei mes turime nieko apie panašaus daryti.
>> Dabar tai yra šiek tiek paprastas pavyzdys.
Yra ir kitų dalykų, kad mes turbūt nori daryti taip pat.
Pavyzdžiui, galbūt mes iš tikrųjų norite sutaupyti šiek tiek informacijos
į pageidavimus.
O gal mes norime pridėti naują pageidaujamą sritį
ar kažkas palei tas linijas.
Tada tai yra kažkas, kad jūs gali pažvelgti į Cloud 9 SDK išvaizdą
gauti daugiau informacijos apie.
Bet tai tikrai yra pakankamai, kad pradėti.
Taigi tiesiog būti šiek tiek daugiau betono apie taip, kad kai kurie iš šių daiktų
funkcija, aš noriu parodyti tik daugiau vienas pavyzdys, kuri yra tik kai
kodo iš 50 Statistika plug-in.
>> Ir šis kodas yra iš esmės remiantis šių pavyzdžių
kad jūs iš tikrųjų matė, tačiau jis turi daugiau apsaugos
ir turi šiek tiek daugiau sudėtingumą, siekiant pasiekti kai kurie iš papildomų daiktų
kad norime pasiekti.
Pavyzdžiui, jei aš noriu būti gali išgelbėti kai kuriuos parametrus,
tada man reikia turėti priėjimą į Nustatymai plug-in,
ir kiekvieną kartą aš noriu skaityti kai kuriuos parametrus,
Galiu, pavyzdžiui, pridėti prie įvairių įvykiai Nustatymai plug-in.
Taigi kiekvieną kartą, nustatymai yra raudona, Pavyzdžiui, mano paties plug-in,
jei aš einu skaityti kai parametrus iš išsaugoto saugojimo
preferencijos vartotojui, tada aš galiu nustatyti numatytuosius konkrečią vietą,
konkrečiam pirmenybė, nes JSON stiliaus variantų failą, kad mes
išsaugoti anksčiau, kad mes matėme anksčiau.
>> Ir jei aš ruošiuosi rašyti Kai kurie parametrai į jį,
tada aš can-- arba kaip galėdami greičiau aptikti kad buvo parašyta nustatymai
to-- kadangi, pavyzdžiui, tie, nustatymai buvo modifikuoti vartotojas
tiesiogiai jų nustatymus failo ar pirmenybė sritis
pasikeitė nustatymus failą tiesiogiai, tada
Aš iš tikrųjų gali atnaujinti kai kodas arba atnaujinkite savo plug-in elgesį
remiantis šių pokyčių, kurie įvyko nustatymų faile taip pat.
Bet iš tikrųjų, likusios yra gana kiek tai, kad jūs jau matė.
>> Mes pridėti šiek tiek, galbūt kažkas, kad naujo.
Taigi, mes pridėti nustatymų bylą, ar veikiau pirmenybė srityje
į nustatymų lange, kuris vėl galite sužinoti daugiau informacijos
Cloud 9 SDK man skaityti.
Bet visa kita yra gana daug, gana
panašus į tai, ką mes matėme anksčiau, tik su kai kurių papildomų klaidų tikrinimas
ir kai kurios papildomos apsaugos ir kai papildomas funkcionalumas
funkcija visų įvairių dalykų, kad mes matėme.
Jei neturite iš tikrųjų mačiau dar, jums gali
būti įdomu, kas grindžiama komanda yra statistika 50 lange.
Tai tikrai funkcija.
Na, tai is-- oh, Dammit.
Viena sekundė.
Palauk.
GERAI.
Leiskite man pereiti tai taip, mes galime iš tikrųjų pamatyti, kas atsitinka, kai aš tipo Statistika 50.
Pastebėti, kad šiuo atveju, komanda, kad aš iš išleidimą
yra tikrai vėl, tik scenarijų, kuris yra ketina produkcijos daug informacijos krūva
JSON formatu.
Ir todėl, kad mes tai darome šis būdas yra, kad, nes mes
veikia, nes mes parašiau kliento pusėje kodas JavaScript,
mes galime labai lengvai tiesiog išanalizuoti JavaScript objektus,
ir tikrai galės manipuliuoti tie objektai tiesiog patinka Norėtume
bet koks kitas objektas JavaScript.
>> Ir taip, tai yra labai patogu būdas pateikti tam tikrą informaciją
nuo pagrindinės Ubuntu Pavyzdžiui, pavyzdžiui, versijos numerį, priimančioji
pavadinimą, ar serveris klausosi, kas serveris yra, taip toliau ir taip toliau,
ir išanalizuoti, kad labai lengvai ir labai greitai
Papildinio tuo, kad po to vyksta mums parodyti visus tos informacijos.
Taigi dar kartą, pagrindinis įžvalga Čia reikia nepamiršti,
tai atskyrimas pagrindinis atvejis,
taip pat kai yra pakrautas kodas.
Tai kai turiu klientą, tai pirmojo pakrovimo.
Tiesiog tai statinis JavaScript failą iš kažkur, galbūt CDN kokio nors.
Mes iš tikrųjų neturime rūpintis per daug apie šio pirmojo žingsnio.
>> Mes tiesiog žinau, kad tai veikia kliento pusėje
ir tai, kai aš ruošiuosi bendrauti su šiuo dokininkas pavyzdžiui.
Tai mes ketiname daryti per Cloud 9 SDK.
Mes ne iš tikrųjų turėti galimybę, naudojant JavaScript arba Node.js,
rašyti tiesiai į jį.
Mes tiesiog naudokite tuos esamus SDK API daryti, kad veiksmai, už mus.
Ir dar, vienas iš tikrai svarbūs dalykai
yra tai, kad, kai aš sukūriau tai, kai aš sukūriau šį plug-in,
ir kaip aš dirbu su juo, vienas iš svarbiausių dalykų, kuriuos reikia padaryti
yra auklėti "JavaScript" konsolė.
>> Nes nes tai yra viskas veikianti JavaScript,
kliento pusėje, jei aš naudoti console.log method-- todėl tiesiog
kad čia rodo pavyzdį.
Pabandykime pakeisti tai paprasta plug-in, kad taip pat prisijungti prie kai kurių duomenų.
Ir mes pridėsime standartinę situaciją.
Taigi leiskite pakeisti, kad būtų čia.
Dabar, kai aš atlikti console.log, reikia nepamiršti,
kad kadangi tai veikia kliento pusėje,
Aš pamatysite tai mano paties JavaScript "konsolė, kuri
kaip aš tada galės bandyti išspręsti ir derinti
kai kurias problemas, kad turiu.
>> Atkreipkite dėmesį, kad dėl Aš esu SDK režimu, aš
tada galėtų manipuliuoti papildinius šiuo atveju.
Taigi, net jeigu jis yra išsaugomi šiuo atveju,
tai yra vienas iš pavyzdžių, kad ankstesnė taisyklė yra pažeidžiamos, kur debesis 9
SDK tikrai bus ištraukti papildinius nuo pagrindinės atvejis ir tada paleisti juos.
Taip, kad šiuo būdu, aš tada galėtų manipuliuoti ir konstruoti
Kai kurie papildiniai čia.
Tačiau tam, kad man pamatyti atnaujinimai Šis plug-in,
nes tai kliento pusėje, Man reikia taupyti, kad plug-in
ir tada perkraukite visą darbo sritį, taip, kad nauja kištukas-in yra tada
atsisiųsti į savo klientui, ant mano interneto naršyklė, ir tada yra naudojamas.
>> Taigi dabar, kai aš spustelėkite šio seminaro Dialogas 2, vis dar matome tai.
Bet dabar, tikiuosi mano "JavaScript" dialogas, turėtume pamatyti my-- laukti,
palauk.
Aš gali tekti atidaryti dialogo šviežias.
Turėtume matyti mano gautus duomenis čia.
Gauti duomenys, Sveiki, Danas, kuris yra jums priminti,
buvo console.log operacija, mes prašoma plug-in.
Taigi šis aprašymas tada kad aš jau minėta,
šis dialogas, ar tai Diagramoje o, kad aš
minėta anksčiau, kas atsitinka.
Bet yra svarbus Išimtis tik vystymosi,
kuris yra kad kištukas-in Pati iš tiesų gali
laikyti ant dokininkas Pavyzdžiui laikinai, nes matyt Cloud 9
neturi nori, kad būtų galima manipuliuoti objektus savo CDN.
>> Ir Cloud 9 klientai, nuo pakrovimo, ras tuos papildinius, kad.
C9 plug-in, katalogą ir įkelti juos.
Bet tie, kurie vis dar vyksta tik kliento pusėje.
Taigi tai tik AN išimtis, kuri atsiranda tik
plėtros Cloud 9 plug-ins.
Bet likusieji LAIKĄ_ ir priežastis
kad mes norime tikrai plaktuku šį home--
yra todėl, kad dauguma laiko tai yra bus skaičiuojamas nuo CDN,
ir tik ketina paleisti tik iš kliento pusės.
>> Paprastai ten bus ne sąveika su plug-in,
arba yra net neturi būti bet kokia Priežasties, kad plug-ins save
yra faktiškai saugomas ant pagrindinės dokininkas atvejį,
išskyrus atveju Ši SDK plėtra.
Taigi dar kartą, tai keičia tik šiek tiek dėl to,
kad mes veikia SDK režimą.
Tai vyksta tada įkelti tie plug-ins nuo plėtros,
ir vienintelis tikslas čia yra todėl, kad Galiu naudoti Cloud 9 daryti plėtrą
Cloud 9 įskiepių.
Tačiau net ir taip, tai nekeičia vėl kaip bet tai veikia.
Jis vis dar paleisti visiškai kliento pusėje.
>> Tai tiesiog reiškia, kad kai noriu sukurti Cloud 9 papildinius Cloud 9
Sukurti tuos papildinius, įdėti juos į mano.
C9 / plugins aplanką mano namuose katalogas, įsitikinkite, kad aš SDK režimu,
perkraukite puslapį kiekvieną kartą aš iš tikrųjų pakeisti tą plug-in,
ir pamatyti tai, kas vyksta Mano "JavaScript" konsolė.
Tiesiog tvarkyti mano JavaScript paguosti įsitikinti
kad bet kokia trikčių diagnostika informacija, kad aš įdėti konsolės,
ar dar ką nors, kad gali atsirasti dėl klaidų, kad aš parašiau
mano kodas ar panašiai, pasirodo ten.
>> O, kad tai tikrai Pakanka pradėti, manau,
su Cloud 9 plug-ins.
Ypač atsižvelgiant čia SDK išvaizdą dokumentus, kad "9 Danguj suteikia.
Tai puikus būdas gauti prasidėjo, ir labai lengvai
sukurti keletą papildinius Cloud 9 d.
O, kad aš noriu padėkoti Jūs visi labai sujungti mane.
Tikiuosi, kad jums įdomus, raštu papildinius Cloud 9 d.
Galbūt pagerinti papildinius kad mes turime dabar, o gal net
pridėti šiek tiek iš savo funkcionalumą.
Mes laukiame kas tai yra jūs sukurti.
Iki tol, bye.