DAN Armendáriz: Hello, na kuwakaribisha kwa CS50 semina ya Customizing wingu 9, na CS50 IDE. Hivyo leo tunakwenda tu kuzungumza kidogo kuhusu baadhi ya Maelezo ya kiufundi ambayo huenda nyuma ya usanifu ya wingu 9, na jinsi tuna kutekelezwa baadhi ya programu-jalizi kama sehemu ya wingu 9 kutoa CS50 IDE. Basi hebu tu kuruka haki katika na kuanza kuzungumza juu ya programu-jalizi. Hivyo kuziba-ins ni kweli katika kiini cha wingu 9 uzoefu. Wingu 9 ni teknolojia ya msingi ambayo hutoa kwetu IDE, na pia dirisha terminal katika chini, pamoja na workspace-- Ubuntu workspace-- kwamba sisi kutumia kukusanya wote wa miradi yetu na kufanya seti tatizo letu, kukamilisha seti tatizo letu. Lakini katika moyo wa kila yake, kila teknolojia ni kweli tu rundo la kuziba-ins. Kila kitu ni kuziba-katika ambazo zinaweza kurekebishwa, kupanuliwa, unaweza kuunda yako mwenyewe kuziba-ins, unaweza kuondoa mengine kuziba-ins, kwa kweli kubadilisha kabisa mengi ya utendaji ya zilizopo wingu 9 IDE. Hivyo hii ni zilizopo Wingu 9 mazingira. Hii ni kweli tu chaguo wingu 9 mazingira. Na kuangalia jinsi ni kweli ni tofauti na CS50 IDE. Hivyo hii ni CS50 IDE. Taarifa kwamba kuna baadhi ya Visual mabadiliko kati ya mara kwa mara wingu 9 mazingira na CS50 IDE. Hasa, utasikia taarifa ya wanandoa wa mabadiliko. Awali ya yote, kuna wachache vitu menu kwa kuanzia. Kuna kweli njia uweze mabadiliko hayo. Ni wito Mode rahisi. By default, Mode rahisi ni kuwezeshwa, na kwamba simplifies baadhi ya vitu menu. Ni kuondosha baadhi ya ndio juu zaidi, kwa sababu kusema ukweli, mengi ya wanafunzi zinazokuja katika na hawana haja ya kujua kuhusu baadhi ya vipengele zaidi si kuzidiwa pamoja na kundi la chaguzi. Lakini tunafanya kutoa uwezo wa kuchukua mbali wale wanaoitwa mafunzo magurudumu na kuondoa kwamba jukwaa ili watu inaweza kuwa zaidi wamezoea sifa ya juu ya IDE. Mara kwa haki ya kuwa, kuna pia utatuzi kifungo, ambayo katika wingu kiwango 9 mazingira inaitwa tu kukimbia. Lakini kama chaguo-msingi, tuna kimeundwa kifungo utatuzi katika CS50 IDE kuleta HatiJava, moja kwa moja kukusanya chanzo kanuni, kuungana HatiJava kwa GDB-- msingi na tangu kwamba mbio kufanya debugging-- na baadhi hatua nyingine vilevile. Pia dirisha terminal katika very-- au tuseme wastaafu tab console sehemu katika dirisha chini kabisa ya screen, ilikuwa jina kwa kifupi kuwa wastaafu. Ambapo katika kiwango cha Wingu 9 mazingira, ni kweli inaonyesha mbio maombi. Kwa njia hii, ni simplifies, tena, GUI, kidogo tu. Sisi pia aliongeza baadhi vifungo na haki juu ya IDE kuonyesha baadhi ya taarifa za msingi kuhusu tukio la msingi. Na pia tumeondoa moja ya chaguzi juu ya vitu kutoka mbali haki. Hivyo yote haya ni kutekelezwa si kwa kubadilisha lazima wingu 9 chanzo kanuni, lakini badala njia ya wanandoa ya programu-jalizi kwamba tuna kutekelezwa kipindi chote cha mwaka uliopita au hivyo. Na wingu 9 ina mwenyeji na ina mbio katika CS50 workspace. Au tuseme katika workspaces kwamba ni mteule kama CS50 IDEs. Hivyo kweli hiyo ni tofauti kubwa kati ya wingu 9 na CS50 workspaces. Kuna pia, katika msingi Mathalani, mabadiliko ya msingi ni kwamba sisi kufunga baadhi vitu kabla ya kimeundwa kama GDB, na baadhi ya mambo mengine ya msingi ambayo tumeunda, kama Mwisho 50, na michache ya hatua nyingine kwamba kufanya uzoefu nzima kidogo zaidi umoja. Lakini kwa ujumla, hii ni muundo wa mfumo uliopo kwamba wingu 9 imeunda kwa ajili yetu. Nini tunakwenda kwa kuonyesha kidogo baadaye ni jinsi ya kweli kujenga kiasi fulani ya msingi kuziba-katika kwamba inaruhusu sisi kuingiza kitu katika orodha ya mfumo, na kufungua mazungumzo. Na kama tuna kutosha muda, tutaweza kweli kuona jinsi tunaweza idadi ya kwamba mazungumzo na baadhi ya taarifa kutoka mfano msingi. Ili na sisi kupata kwamba hatua, hebu kwanza kuzungumza kidogo kuhusu usanifu wa wingu 9. Hivyo njia kwamba sisi ni kutumika kwa mazungumzo na wingu 9 ni kabisa kwa njia ya mteja. Sisi kufungua kivinjari, sisi aina katika CS50.io. Sisi hatimaye, baada ya kujitambulisha, ni iliyotolewa na IDE. Lakini kutambua kwamba kuna michache ya hatua kwamba kweli kutufanya hatua hii. Jambo la kwanza kabisa ni kwamba mteja wangu, kivinjari, juu ya ombi na baada ya kujitambulisha, mizigo GUI na programu-jalizi kutoka kwa baadhi CDN, kutoka kwa baadhi Mtandao wa utoaji wa maudhui. Hii inaweza kuwa kusema ukweli popote. Na hii ni kweli tofauti kutoka mfano msingi. Ni muhimu kutambua kwamba hii ni kweli tu rundo la files tuli. Ni kundi la JavaScript kwamba ni kupakuliwa kutoka CDN kwenye kivinjari changu, na wote wa GUI kwamba ona here-- hii ni kweli key-- wote wa GUI kwamba unaweza kuona hapa ni kukimbia upande wa mteja. Kila kitu ambacho unaona katika wingu 9 workspace ni kweli kukimbia katika browser. Na kitu chochote kwamba kutuma pamoja na mfano msingi ni aliwasiliana na mfano pamoja hii tofauti channel ya pili, na kisha kuokolewa kwenye kwamba Docker mfano. Hivyo sababu hiyo mimi kusema huu ni mfano Docker ni kwamba teknolojia ya msingi si kwa kutumia mashine virtual, lakini badala yake ni kwa kutumia teknolojia iitwayo Docker, ambayo kimsingi allows-- karibu Mfano ni mashine virtual. Lakini ni subtly tofauti katika kwamba kuna watu mengi ya fursa ya kukimbia mchanganyiko wa Docker tofauti matukio kwenye mashine moja. Na wanaweza kuwa spun up katika mfululizo wa haraka sana. Sio kabisa zaidi tofauti kali kati ya matukio tofauti Docker kama kuna watu katika mashine virtual, lakini bado kuna mengi ya tofauti na kujitenga kati ya matukio hayo tofauti. SAWA. Hivyo hatua mbili hapa kwamba ni muhimu kutambua ni kwamba wakati sisi kwenda CS50.io, sisi ni kupakua GUI na kuziba-ins, yaliyoandikwa katika JavaScript, juu ya kwa browser au katika browser. Na hii ni labda michache megabytes thamani ya habari. Katika hatua hiyo, kwa mara nyingine GUI ina kubeba na programu-jalizi wameanza, basi unaanza kuwasiliana na Docker mfano, ambayo haina lazima kuwa server moja. Sasa kuna tofauti moja kwa hili. Tunaweza kweli kuwa wote utaratibu wa kujifungua kwa GUI yenyewe na Docker mfano katika wote wa server moja, ambayo ni kweli kitu ambacho tunafanya kwa toleo offline ya wingu 9. Hii si kitu ambacho tumekuwa kutangazwa sana Kuanguka huu, lakini hatuwezi pia kuwa toleo offline kwamba utapata download vifurushi toleo la mambo yote haya na kuruhusu kukimbia wingu 9 katika mazingira ya mkondo. Kusonga huu mbali wingu na kwenye mashine yako ya ndani ina baadhi ya athari. Hasa, wewe hakuna tena kuwa na uwezo kushiriki workspace yako na watu wengine. Wewe tena wanaweza kufungua wingu 9 kutoka, na CS50 IDE, kutoka kompyuta yoyote na kuona mafaili sawa kwamba wewe walikuwa wakifanya kazi kwa mbele. Lakini badala yake anafanya kazi kabisa kwenye mashine yako mwenyewe mitaa bila wanaohitaji upatikanaji wa mtandao. Lakini bado hata katika mfano kwamba, hata ingawa tuna virtual mashine moja ambayo kimsingi ni mbio mambo hayo. Tuna tofauti server kwamba ni kutoa kimsingi wingu 9 maudhui, na kisha sisi na Docker mfano kuwa ni wajibu kwa ajili ya kuwasiliana na kwamba IDE kwa ajili ya mwisho ya nyuma. SAWA. Hivyo GUI nzima imeandikwa kabisa katika JavaScript kutumia Node.js na wingu 9 SDK, ambayo tutaweza kupata katika dakika tu. Na wote wa programu-jalizi zinaendeshwa upande wa mteja. Basi hebu kuzingatia kisha kidogo na kuchukua kwamba hatua hii ya kwanza ina kweli kukamilika kwa mafanikio, na kuangalia tu katika tukio hilo Docker. Hivyo katika kesi hii, hii ni njia standard ya kufikiria juu ya kufanya wingu 9 kuziba-katika maendeleo ni kwamba unaenda kuwa kuandika kificho kwamba mapenzi kuwa na kukimbia katika browser mtumiaji, na una nafasi ya kutumia baadhi APIs kuwasiliana kwa msingi Docker mfano, kukimbia baadhi ya kanuni huko, na kufanya kitu chochote ambayo unaweza kutaka kufanya. Hivyo hii ni kwenda kuwa mazingira kwamba tutaweza kuwa kutumia kwa ajili ya mapumziko ya majadiliano hayo. Na kuweka tu mtindo huu katika akili. Hii itakuwa ni muhimu sana katika dakika chache tu. Kuna michache ya viungo nataka kuonyesha wewe. Awali ya yote, wingu 9 imetoa kabisa mengi ya nyaraka hiyo ni nzuri, ambayo inaonyesha jinsi kufanya kuziba-katika maendeleo ya msingi. Hivyo kama wewe kwenda URL hii, cloud9-sdk.readme.io, utaona nyaraka pale. Na mengi ya habari hii kwamba ni juu ya kuona unaweza pia kupatikana huko, pamoja na zaidi. Unaweza pia kupata chanzo wazi toleo la wingu 9 katika URL hii, github.com/c9/core, ambayo sisi kutumia kama sehemu ya toleo offline ya IDE, hivyo kwamba utakuwa na uwezo wa kuwa na sawa wingu 9 uzoefu, lakini kwa namna ya mkondo. Sawa. Basi hebu tuangalie halisi wingu 9 workspace hapa. Na tena, nataka kumweka nje michache ya mambo. Hii ni, haki hapa, kawaida CS50 IDE. Na mimi walemavu chini vizuri hali ya chini View orodha ili niweze kuona yote ya orodha ya chaguzi. Nini nataka kuonyesha haki sasa ni michache ya mambo. Kwanza mbali, kama mimi kwenda katika Mapendekezo na kisha click kwenye Plug-katika meneja, na aina katika CS50 hapa, tunaweza kuona kwamba kuna watu, kwa kweli, michache ya CS50 programu-jalizi kwamba walikuwa imewekwa na mbio wetu kuwawezesha marekebisho kwamba tumekuwa kuonekana kwa CS50 IDE. Hivi sasa kuna kimsingi ni mbili kuziba-ins kwamba ni mbio. Kuna mtu mmoja aitwaye rahisi, ambayo ni hali ya rahisi kwamba utapata kupunguza idadi ya orodha ya chaguzi pamoja juu, na kuwa hii kinachojulikana chini ya starehe mode. Na kisha kuna pia CS50 Stats, ambayo ni labda kidogo tu misnamed. Kwa sababu hii ni nini inaonyesha maelezo kuhusu workspace msingi. Ni injects vifungo hizi pamoja haki juu. Pia injects orodha ya bidhaa katika dirisha bidhaa, ndani ya Window orodha haki hapa, CS50 IDE Info. Na ni wajibu wa instantiating mjadala huu kwamba tumeona hapa, na taarifa zote kwamba sisi ni wamezoea kuona katika CS50 IDE workspace. SAWA. Hivyo kuna kweli moja zaidi kuziba-katika kwamba tuna maendeleo kama vile. Na kuna wanandoa wa wengine kwamba sisi pia si hadharani iliyotolewa. Hapo, mmoja wao ni ujumla kuziba-katika ambayo inaruhusu GDB kufanya kazi. Hivyo moja ya mambo ya wingu 9 ni kwamba wamekuwa wakitoa tayari GUI hii kutekeleza HatiJava. Na moja ya programu-jalizi kwamba tuna umba kimsingi kulabu GDB na GUI hii msingi toleo la HatiJava. Na ni wajibu kwa ajili upatanishi zote ya maombi kwamba mtumiaji anaweza kuwa, kati ya wanazidi juu au kujenga breakpoints au kitu chochote pamoja na mistari hayo, kwa kutafsiri kwamba kwa amri kwamba GDB anaweza kuelewa, kutoa amri hizo kwa GDB. Na haraka kama GDB masuala majibu, kisha sisi kutafsiri kwamba na kuboresha GUI kama ni muhimu. Hiyo ni pengine ni moja ya ngumu zaidi ya programu-jalizi, hivyo badala nini tuko kwenda kuzingatia leo kwa kweli ni Takwimu za kuziba-katika, na tutaweza majadiliano kidogo kuhusu Wikipedia, kama vile. Hivyo nilivyoeleza hapo awali, na kwa kweli mimi nataka kufanya sana, wazi sana, kwamba tena, yote haya kwamba sisi ni kuona hapa kimsingi ni kazi upande wa mteja. Sisi kufanya kuona dirisha terminal chini, na kwamba, bila shaka, kama sisi aina katika amri katika kwamba, ambayo itakuwa kisha iliyotolewa kwa mfano msingi. Vile vile, kama sisi kufungua faili mpya na aina baadhi ya mambo ndani yake na ila ni, faili kwamba itakuwa kuokolewa kwenye msingi mfano. Lakini mhariri yenyewe, hii terminal dirisha yenyewe, yote ni kutekelezwa katika JavaScript na ni wote kuziba-katika tuweze kushirikiana na, na kwa hiyo kurekebisha. Kuna mengi ya extensibility hapa. Mimi kupendekeza kuchukua kuangalia katika wingu 9 ya GitHub akaunti kuona wingi kubwa ya programu-jalizi ambayo inapatikana, na jinsi vizuri imeandikwa mengi wa kanuni ni kwa extensibility. Hivyo kuna kitu kwamba nataka kutaja kuhusu hili kama vile, ambayo ni kwamba kuna mengi of-- kuna mengi ya utendaji hiyo ni zinazotolewa katika mapendekezo dirisha, ambayo tumeona tu alluded dakika chache tu zilizopita. Moja ya mambo ambayo tunaweza kufanya kama IDE watengenezaji, au kama wingu 9 watengenezaji, ni kwa kweli kuingiza baadhi umeme wa upendeleo wa yetu wenyewe. Hivyo hali ya rahisi, au hali ya chini ya starehe, na pia taarifa IDE, au takwimu za kuziba-katika, ina kila upendeleo baadhi vikao kwamba kuruhusu sisi kurekebisha tabia ya kila mmoja wa wale. Utagundua kuwa kama mimi kwenda kwa Mapendekezo na kwenda mazingira ya mtumiaji, kuna CS50 tabo, moja kwamba anasema IDE habari. Na siwezi kubadili Maelezo kiwango cha mahitaji. Kwa ufanisi, nini kinatokea katika takwimu kuziba-katika ni kwamba kila n-sekunde, ambapo n sekunde-inaelezwa na upendeleo huu jopo, habari ni kuwa fetched kutoka mfano msingi, kupelekwa nyuma ya upande wa mteja, kuziba-katika ni kisha kutafsiri maelezo kutoka mfano msingi na kuhuisha GUI kama ni muhimu. Tunaweza kuona kwamba sasa hivi huu ni kuweka kwa sekunde 30, na kwamba chaguo-msingi. Lakini siwezi dhahiri mabadiliko jinsi ya haraka hii hutokea tu kwa kubadilisha thamani huu. Sasa ni moja ya mambo ya kuvutia ni kwamba hii jopo upendeleo, GUI, ni kweli tu GUI toleo la ya mengi ya mazingira msingi kwamba ni iliyotolewa katika JSON. Hivyo kama mimi kwenda, kwa mfano, chini ya CS50 IDE orodha, au wingu 9 orodha, kutegemea ambayo toleo la wewe ni kuangalia katika, na kwenda mmoja wa haya settings-- katika kesi hiyo, mradi settings-- mazingira ya mradi katika kesi hii inatumika kwa wote wa mazingira kwa workspace hii moja. Wakati mazingira user kuomba kwa wote wa workspaces kwamba unaweza kuwa katika akaunti yako. Hivyo tu kama kando hapa, kwa kuwa na ziada ya wazi, kuna mgawanyo kati mbili kwa sababu pamoja na kwamba by default sisi na workspace moja, ambayo ni CS50 IDE, kama wewe walikuwa na click kwenye kidogo yako avatar hapa na kwenda dashibodi, utapata kwamba unaweza kweli kujenga workspaces ziada pia. Unaweza kuona hapa kwamba mimi kuwa na IDE 50 workspace, na pia kwa madhumuni ya hii semina hiyo, workspace aitwaye workspace, ambayo ni haki hapa. Hivyo anyway, nina mapendekezo mbalimbali. Kila mmoja wa haya wanaweza kuwa mapendekezo tofauti mradi, lakini mapendekezo ya mtumiaji ni pamoja miongoni mwa workspaces yangu yote. Kwa njia, hii ni pia Handy sana kama wewe wanataka kuunda workspace na chaguzi customization tofauti. Na ni Handy sana kwa kuunda workspace mpya. Na kuchagua moja ambayo inaweza kuwa kabla ya kimeundwa kwa njia nyingine, labda kwa PHP hasa, au Django mahsusi. Au hata tu desturi. CS50 workspace template ni moja kwamba sisi kutumia moja kwa moja installs Mwisho 50 na yote ya mazingira kwamba tuna huko, ikiwa ni pamoja na yote kuziba-ins kwamba tuna kwa CS50 IDE. SAWA. Lakini hebu kurudi huu. Hivyo tena, kuna miradi mazingira, na hao ndio kwamba sisi ni kuangalia hapa. Na taarifa kwamba kuna ni kundi la mazingira, wengi wao yanahusiana na upendeleo vikao, lakini si wote. Lakini tunaweza kuona kwamba hapa, katika Haya loo hapana, je, mimi kuiweka katika mazingira user? Labda mimi kuiweka katika mazingira user. Na hii, hapa sisi kwenda. Katika mazingira ya mtumiaji, tunaweza kuona kwamba tuna CS50 sehemu, na hii ni kuwa imeandikwa kwa njia hizi wingu 9 programu-jalizi kwamba tumekuwa kutekelezwa. Kuna moja rahisi yanahusiana na kuwa rahisi kuziba-katika, na takwimu za moja ambayo sambamba na ile GUI makao toleo la upendeleo jopo. Kiwango cha mahitaji, katika hii kesi, ni kuweka sekunde 20. Hii yote ni, hopefully, mwanzo wa baadhi ya taarifa kwamba tutaweza kweli kuona katika kidogo bit undani zaidi, kwa muda. SAWA. Basi hebu kusema tunataka kweli kupata chini yake. Tunafahamu kwamba yote ya mambo yale yanayotokea upande wa mteja inafanywa kwa kweli kwenye browser, ambayo ina maana kwamba yoyote ya programu-jalizi kwamba mimi kuandika wanaenda kuandikwa na browser katika akili. Na kama mimi kwa kweli wanataka kufanya chochote juu ya workspace, Mimi labda na kuanzisha aina fulani ya mawasiliano kati ya kivinjari na workspace kuwa na uhakika kwamba kwamba ni kweli yametimia. Lakini hebu kusema kwamba sasa Nataka kupata chini yake na kweli kujenga yangu ya kwanza kuziba-katika. Naam, njia ambayo itakuwa na uwezo kufanya hivyo ni kweli pretty rahisi. Ni kutolewa katika wingu 9 SDK. Lakini ni kuchukua yako zilizopo workspace jina, ambayo ni URL kwamba una juu ya bar yako, na kuongeza zifuatazo hiyo. ? SDK = 1 & Debub = 2. Sasa nini hii ni kwenda ili kuwawezesha ni kwamba SDK = 1 kwa kweli kuweka SDK hali ya kweli, ambayo itawezesha michache ya mambo ya ziada. Na utatuzi = 2 itaruhusu ujumbe wa makosa kuwa kidogo verbose zaidi. Na hivyo kama wewe kuleta JavaScript console katika yako Chrome developer tabo, wewe kweli kuwa na uwezo wa kuona taarifa nyingi zaidi kuliko wewe ungekuwa vinginevyo. Hivyo mimi kupendekeza kugeuka wote wawili wa haya juu ya wakati huo huo, kwa sababu ni kweli ni muhimu kuwa na yote haya Taarifa za ziada. Ni muhimu kutambua, hata hivyo, kwamba kurudia kwenye utatuzi wa thamani ya 2 ina maana kwamba ni sana verbose, na ni kweli itakuwa kiasi fulani unaonekana kupunguza kasi ya IDE yako, hasa wakati wa kupakia au wakati kufanya kazi nzito kufanya. Hivyo tu kuendelea kuwa katika akili. Ni muhimu kwa ajili ya maendeleo, lakini wewe hawataki kuwa ni juu wakati wote. Basi hebu kweli kufanya hivyo. Lakini katika kesi hii, mimi kwa kweli kuwa tayari kuanzisha workspace na hili. Basi hebu angalia, SDK = 1 & utatuzi = 2. Na michache ya programu-jalizi hopefully tayari imewekwa. Sawa. Hivyo sasa kwamba nimepata akageuka juu SDK utatuzi mode, taarifa kwamba sisi ni katika utatuzi mode, ili tuweze kuangalia zana dev kuona makosa yoyote, nitakazofanya offscreen. Tunaweza kuona kwamba kuna kundi la makosa hapa. Sasa ni kweli pretty kawaida kwa Wingu 9 kwa kuwa wanandoa wa makosa, na mimi bila wasiwasi kuhusu wao mpaka kuona kitu ambacho inaweza kuwa maalum kwa kuziba-katika kuwa kutokea kwa kuwa kujenga. Hivyo hapa, kwa mfano, sisi kupata michache ya 404s-- haikupatikana. Tunaona tuko umeshindwa kupakia baadhi Maelezo mbali mfano msingi yenyewe. Na kuna kundi la nyongeza habari, lakini zaidi ya hii tuko kweli kwenda kupuuza kwa sasa. Kwa sababu hii ni pretty kawaida kwa workspace kuwa na michache tu ya makosa. SAWA. Mimi nina kwenda kutoa hoja hii nje ya njia na kurudi hapa. Na sasa njia rahisi, nzuri Jambo juu ya kuwa developer hii mode kuwezeshwa ni kwamba inaruhusu mimi kwa urahisi kuunda mpya kuziba-katika. Hivyo ambapo kabla mimi kwa kweli hakuwa na mpya kuziba-katika chaguo hili inapatikana, ambayo tunaweza kuona kama mimi kurejea developer yangu yasiyo hali ya juu hapa, hakuna jipya kuziba-katika. Kwa kuwawezesha mode SDK, mimi na kuziba-katika mpya inapatikana na siwezi urahisi kuunda moja. Katika kesi hiyo, kuna wanandoa ya chaguzi mbalimbali, rahisi, tupu kuziba-katika, full kuziba-katika, Kisakinishi, wingu 9 kifungu. Hebu tu kuchagua tupu kuziba-katika sasa ili tuweze kuona sana rahisi toleo la moja. Sasa taarifa kwamba pamoja upande wa kushoto hiyo ni je, kuna sasa kitu chini ya Favorites, ambayo ni orodha ya wanandoa wa programu-jalizi kwamba sasa inapatikana kwa mimi. Kama mimi kupanua kwamba, sisi kuweza kuona hayo. Sasa nataka taarifa kitu hapa, ambayo ni kwamba hii si kweli zilizomo ndani ya workspace directory juu ya Ubuntu yangu ya msingi mfano, lakini kuwa imeandikwa kwenye gari ngumu. Na pale ambapo hii iko, kwa sababu hii ni muhimu sana kujua, hasa kama wewe ni kwenda kuwa kufanya kitu chochote kwa Git, ambapo hii iko ni katika .c9 folder, / plugins. Hivyo kama mimi kwenda huko, tunaweza kuona kwamba sasa orodha ya programu-jalizi kwamba ni hapa mechi orodha ya programu-jalizi kwamba mimi aliona upande wa kushoto wa workspace yangu. Sasa na msingi, na hii ni aina ya ajabu, by default wakati mimi kuunda mpya kuziba-katika katika workspace, inajenga hii kuziba-katika kwamba kwa chaguo-msingi ina jina la kusisitiza. Kwa ujumla kwamba huenda kusababisha baadhi ya matatizo. Hivyo hatua inayofuata sana kwamba mimi kawaida kufanya ni tu kuondoa kwamba Hasa kuziba-katika na kuondoka tu kuziba-katika rahisi kwamba Ilikuwa pale awali, plugin.simple. Na hiyo ndiyo moja tu kwamba huko. SAWA. Basi nini hii kwa kweli kuangalia kama? Naam, hii ni mara ya pili, JavaScript mfuko kuwa ni pamoja na baadhi mafaili, ikiwa ni pamoja na faili plugin.js, ambapo maudhui kuu ya yangu kuziba-katika iko, package.json faili, ambayo kwa kweli bayana baadhi metadata kuhusu hili kuziba-katika, kama vile ambao mwandishi ni, taarifa yoyote ya ziada kuhusu suala hilo, maelezo ya kuziba-katika, na kadhalika. Na pia kwa default, inajenga tupu faili README, na tupu mtihani faili kwa ajili ya wewe kujenga baadhi ya nyaraka za ziada, na kupima kuunganisha kama Ningependa kufanya hivyo. Basi hebu tu kuangalia kwanza katika, haraka sana, katika package.json faili. Ni rahisi kutosha kwenda tu kwa njia ya hiyo na kujaza katika maeneo hayo kuwa wewe unataka kujaza katika, kama kutoa jina, kutoa maelezo, iterate toleo namba kila mara nyingi, kutoa mwandishi kwa kila mtu huyo inachangia, kuongeza yao kwa wachangiaji sehemu, na wengine wa hii Unaweza pretty much tu kuondoka kama ilivyo kwa sasa. Kuna jambo moja kwamba ni muhimu taarifa, kuwa chini ya programu-jalizi kifungu, kuna ufunguo aitwaye kuziba-katika. Na hii ni kuendana na jina la JavaScript faili inayoitwa plugin.js. Hivyo hii ni jinsi wingu 9 anajua, wakati anayesoma hii faili package.json, ambayo ya JS files kwa kweli mzigo. Kama mimi kujenga ziada JS files au unataka kubadili jina kuwa JS faili kutoka kuziba-katika, Mimi pia kuwa mabadiliko hayo katika package.json faili. Maswali yoyote kutoka kwa watazamaji? Hakuna Kwamba mtu mmoja ambaye ni kufuatia pamoja nami hadi sasa. SAWA. Hivyo mimi kweli tumemuumba michache ya programu-jalizi tayari, Nadhani, katika workspace hii. Basi hebu kujikwamua baadhi ya hizi, kuongeza SDK = 1 & utatuzi = 2, upya workspace hii, na hebu angalia kama sisi na wale kuziba-ins sasa. C9 / plugins. Twende sasa. Tunaweza kuona sasa katika C9 yangu / plugins ya hii moja, tuna plugin.1 na plugin.2. Hivyo sisi ni kwenda tu hatua ya juu the-- tu kuongeza kiasi cha ugumu katika kila moja ya haya kuziba-ins. Lakini hapa ikiwa mimi kuunda mpya kuziba-katika, Siwezi kuongeza kwa favorites yangu. Na mimi itabidi kufuta tu wale wanaotoka msingi faili mfumo. Hebu kuondoa hiyo. Sasa kama mimi kufungua wangu wa kwanza kuziba-katika, na plugin.js wazi, tunaweza kuona hapa msingi rahisi toleo la kuziba-katika. Hebu kweli kwenda nyuma kwa workspace hii nyingine kwa sababu unaweza angalau, hapa kuona, nini tupu kuziba-katika kweli inaonekana kama. Hivyo chini ya Hood, hii inaonekana sawa na teknolojia iitwayo, Nadhani, ni RequireJS. Taarifa kwamba hii haina kweli kuangalia, pengine, sawa na baadhi JavaScript mengine mafaili ili tupate tumeona. Lakini badala yake, kuna wanandoa wa tu mistari ya msingi kwamba ni kweli ina. Wote ya mambo haya ni ya kwanza kufasiriwa kwa IDE, lakini siyo kweli kukimbia hadi maalum. Na mimi nitakuambia kuhusu wakati kwamba kwa kweli ina maana katika muda tu. Lakini taarifa kwamba hapa kuna main.consumes mstari katika mstari 2, na hii orodha yote ya programu-jalizi kwamba hii kuziba-katika ni tegemezi kwa. Hivyo kwa default, sisi labda hawana kuwa na beroendet yoyote kwa upande mwingine kuziba-ins, lakini wakati sisi kwa kweli wanahitaji wanategemea makala zinazotolewa na wengine kuziba-ins katika IDE, tunahitaji kuorodhesha wale kuziba-ins katika main.consumes line. Na kisha tunahitaji kuwaunganisha na kanuni chini, ambayo mimi nitakuonyesha katika haki muda kuhusu jinsi gani tunaweza kufanya hivyo. Main.provides inatoa jina kwa hii kuziba-katika kwamba wengine kuziba-ins inaweza kutumia katika hutumia yao mstari. Hivyo katika kesi hii, yangu kuziba-katika ni kuweka tu pale na msingi, na tunapaswa kubadili hilo kuwa husika ili zetu wenyewe kuziba-katika, kama tutaweza kuona katika wakati tu. Sasa hapa katika kazi kuu, hii kazi kuu ni kweli kuendesha na kufasiriwa, lakini haina kweli kufanya sana. Ni tu anapata kila kitu kuanzisha, lakini haina kweli kuanza kuziba-katika, licha ya kile jina inaonekana kama. Kwamba kweli hutokea kupitia mlolongo wa mbinu kwamba zilizomo katika hii kuziba-katika. Hivyo kama mimi kitabu chini, tunaweza kuona kwamba tuna mzunguko wa maisha ambapo juu ya baadhi ya tukio aitwaye mzigo, au baadhi ya tukio aitwaye ipakuliwe, baadhi ya matukio kweli kutokea. Ni kweli katika hapa ambapo kama kuziba-katika kuanza kuwa mbinu hizo ni kuitwa. Basi hebu kuwa kidogo zaidi thabiti kuhusu hili na tuangalie mfano. Hivyo hapa kwa plugin.1, nini sisi ni kimsingi kwenda kufanya ni kuunda orodha ya bidhaa aitwaye CS50 Semina Dialog 1-- kwa sababu tuna mbili za them-- na tunakwenda kwa kuingiza ndani Window orodha. Na wakati sisi bonyeza juu yake, tuko kwenda kufungua mjadala kwamba inatuonyesha baadhi ya taarifa za msingi sana. Katika kesi hiyo, tu hujambo dunia. Hivyo hii ni rahisi sana hujambo dunia mazungumzo tuweze kutekeleza kama kuziba-katika katika wingu 9. Basi hebu angalia jinsi hii kweli inaonekana. Tutaweza hatua kwa njia hiyo, tu kiasi haraka hivyo sisi Unaweza kuangalia kuziba-katika ijayo pia. Taarifa kwamba hapa sisi ni kuteketeza aina ya kuziba-ins. Sisi ni kuteketeza mazungumzo kuziba-katika, amri, menus, na UI. Inaonekana kama mimi kwa kweli ni kuteketeza mazungumzo mara mbili, hivyo siwezi kuondoa hiyo. Na taarifa kwa njia hiyo kwamba mimi nina kuunganisha yao, hii ni aina ya metadata hiyo kuwaambia kuziba-katika mfumo wa nini mahitaji ni kweli muhimu kwa hii kuziba-katika kupakia. Ni muhimu pia kutambua kuwa ili kuziba-ins ni kubeba si uhakika. Lakini nini ni uhakika ni kwamba kama mimi kutaja baadhi kuziba-katika kama mahitaji, kwamba kuziba-katika itakuwa kubeba kabla ya hii moja ni kubeba. Hivyo kwamba maana kwamba kama yako kuziba-katika inahitaji juu ya baadhi ya utendaji zinazotolewa na kitu kingine katika IDE, unapaswa kuwa na uhakika kwamba kuziba-katika yako hutumia kwamba kuziba-katika ili maelewano ni baadhi ya kujenga kuziba-katika zenu, au instantiate yako kuziba-katika, tu baada ya kuwa mfumo uliopo lipo. Hivyo hapa nilizozitaja metadata ya kuziba-katika meneja, ambayo ndio mimi nina kwenda kuwaondoa. Na katika kazi kuu hapa, Mimi nina kwenda kisha kuunganisha kanuni yangu kwa wale kutoka nje kuziba-ins. Hivyo nina kwenda tu kwa kujenga baadhi ya vigezo kwamba mechi majina ya kila moja ya hizo ili niweze haraka sana rejea yao katika kanuni yangu. Sababu mimi nina kuagiza mazungumzo ni kwa sababu nataka wangu kuziba-katika kutenda kama mazungumzo kuziba-katika. Na kwa njia hiyo nina uwezo kufanya hivyo ni kwa, bila shaka, kuungana kanuni yangu kwa mazungumzo kuziba-katika na kuagiza na kisha na kubainisha na kujenga mpya ya mazungumzo kutofautiana na kuunganisha kwa kuwa nje kuziba-katika. Na kisha kwa kufafanua yangu kuziba-katika kama mazungumzo mapya. Hivyo katika initialization, mimi wanataka kufafanua yangu kuziba-katika. Na kutofautiana hii inaitwa kuziba-katika utaona ni tu kutumika kwa kawaida katika wingu 9 kuziba-ins. Mimi nina kwenda instantiate mpya mazungumzo na baadhi ya sifa, kuwapa jina maalum, kusema kwamba Inawezekana kwa watumiaji wa karibu yake. Kwamba kutakuwa na kuonyesha x kidogo katika kona ya juu kulia, au kifungo kidogo katika chini ya mkono wa kulia. Kama au mimi siwezi kuchagua maandishi kutoka hivyo, nini jina la mazungumzo ambayo itakuwa, na kadhalika. Sasa hii amefafanua tu mazungumzo, lakini haina bado show hiyo. Mimi kwa kweli kuwa kufafanua hatua kwa kuwa na kuonyeshwa. Na tena, Mimi moyo tuangalie wingu 9 SDK, kwa sababu kuna majadiliano mbalimbali na wao ni kweli vizuri kumbukumbu. Unaweza kuona aina mbalimbali kwamba kuna watu, na matumizi yao katika chochote kuziba-katika una akili. Sasa kuna kwenda kuwa mzigo sehemu, na mzigo huu kazi kama unakumbuka ni kutumiwa na kuziba-katika mzunguko wa maisha kwa kweli instantiate kila kitu na kupata kila kitu tayari kwenda. Sasa wakati huu kuziba-katika mizigo, sijui unataka kwa mara moja kuonyesha mazungumzo, kwa sababu hii kuziba-katika itakuwa mzigo pamoja na wengine wa IDE. Na wakati mimi mzigo kwamba IDE, Sitaki mazungumzo show up moja kwa moja. Mimi tu wanataka kuonyesha wakati mimi click kwenye menu chaguo katika Window yangu orodha ya bidhaa kwamba mimi kuongeza kuwa kwa muda. Hivyo kuna hatua mbili tofauti hapa kwamba kuwa kutokea. Nina kujenga amri, na amri atakuwa na jukumu la kweli kuonyesha mazungumzo juu ya wingu 9 IDE. Na kisha mimi na kuungana, mimi na kujenga mpya orodha dirisha bidhaa, kwamba anaendesha amri hiyo. Hivyo kwamba wakati mimi bonyeza Window kwamba orodha ya bidhaa, amri kwamba ni kisha kukimbia na kwa hiyo mazungumzo yangu ni kisha umeonyesha. Na hivyo hii ni kweli pretty nzuri njia ya kufikiri kuhusu hilo. Kwa sababu kwanza mimi wanaweza kujenga amri ambaye jina lake ni CS50 Semina Dialog 1, ambayo hutoa baadhi ujumla mazingira kwa ajili yake. Na muhimu kidogo hapa ni taarifa Exec sifa, ambayo unaorodhesha kazi ambayo wataitwa katika wangu kuziba-katika wakati amri hii ni kukimbia. Hivyo amri hii ni aina ya kama a-- ni tu wingu holela 9 amri hiyo inapatikana kwa yoyote wingu 9 kuziba-katika. Lakini kazi halisi kwamba ni kwenda kuwaita wakati amri hii ni kukimbia ni kuonyesha mazungumzo kazi katika faili yangu plugin.js. Na tunaweza kweli kuona hizi programu-jalizi na orodha amri ambayo inapatikana kwa sisi katika Mapendekezo, kitabu njia yote down-- hebu angalia, kwa kweli tunaona jambo hili sasa? Kuziba-katika meneja, hapana, nadhani I-- ni dhahiri kuzunguka hapa mahali fulani. Naam, kuna orodha ya amri mahali fulani, lakini ni lazima kuwa, Mimi tumesahau ambapo ni. Hivyo Sawa, tutaweza kusonga mbele. Sawa. Hivyo tuna orodha ya amri ambayo inapatikana kwa sisi, na amri hizo ni hizi tu holela wingu 9 amri kwamba kukimbia kificho maalum. Hivyo tu kuendelea kuwa katika akili, kwamba tunakwenda kukimbia mazungumzo show kazi kwa muda. Sasa wakati mimi kwa kweli unataka kuongeza orodha bidhaa, siwezi kuongeza bidhaa kwamba kwa njia, na tu kutaja hasa ambapo nataka kuwa ni, Dirisha / CS50 Semina Dialog 1. Na katika hatua hiyo, nataka kujenga bidhaa mpya ambayo ni kwenda kukimbia amri, CS50 Semina Dialog 1. Taarifa kwamba tena, hii ni wingu 9 amri nimekuwa kuundwa tu hapo juu. Sasa mimi pia wanataka kujenga msuluhishi kidogo, na hivyo siwezi kufanya hivyo katika mstari baadae. Sasa unaweza taarifa kwamba kama sehemu ya kufafanua orodha hii bidhaa, kuna idadi yanayohusiana na hayo ambayo kweli anasema wapi hasa Nataka kuwa orodha ya bidhaa kuwa ziko katika orodha ya menus. Lakini unaweza taarifa kwamba mimi si kweli kuona idadi yoyote na menus haya, na msingi. Kwa hiyo, kuna kitu kidogo siri ni kwamba tunaweza kufanya, mabadiliko kidogo kwa URL yetu. Hivyo kwa kuongeza SDK = 1 & utatuzi = 2, Mimi itabidi kuweka orodha ya 1-- na pengine ni orodha, si menus. Oh, ni menus = 1. Subiri. Na nini tutaona juu ya reloading kwamba IDE ni kwamba mimi bado katika utatuzi mode, lakini sasa kuna idadi kuhusishwa na menus wote. Na hii atakwambia nini hasa idadi ni wakati wewe ni kujaribu kuingiza kitu popote katika mfumo huu menu. Hivyo katika Window orodha, siwezi kuona kwamba bidhaa 45 ni kushirikiana, na bidhaa 38 kabla ya kuwa ni Kisakinishi. Hivyo wakati mimi nataka kuingiza bidhaa kati ya hizo mbili, Napenda tu kuchagua idadi kati ya vitu hivyo viwili. Hivyo mimi kuchaguliwa 41 na kuingizwa Semina yangu Dialog 1 menu katika eneo hilo. Na hii ndiyo maana idadi hii kwamba inaonekana hapa ni idadi 41. Hiyo ni eneo la kwamba orodha ya bidhaa katika wingu 9 orodha. Sasa vile vile, nilitaka kujenga msuluhishi na kuongeza kuwa ili kuwepo nzuri mgawanyiko kati ya kila moja ya haya orodha vitu. Hivyo mimi aliongeza kuwa katika eneo 43. Hadi sasa, hivyo nzuri, natumaini? Hivyo sasa hebu kweli kuangalia kificho maalum katika show mazungumzo hiyo ni kweli kuwajibika kwa ajili ya kufungua dirisha hili mazungumzo. Scrolling chini, naona kwamba nataka kuwa na hii dialog kazi show, na ni rahisi sana. Mimi nina kwenda kukimbia show Njia ya kuziba-katika kutofautiana. Na kukumbuka kwamba sisi kuelezwa huu kuziba-katika kutofautiana juu kama mazungumzo. Hivyo bar kuziba-katika, katika kesi hii, ni hii kitu kwamba tumekuwa inavyoelezwa ndani. Na itakuja kuwa mazungumzo mapya zilizomo ndani ya hii kuziba-katika. Na hivyo sisi kweli inatazamwa hii kuziba-katika kutofautiana katika maeneo mengi katika kawaida wingu 9 mazingira ya maendeleo. Tutaweza kuona hapa. Taarifa kwamba kama sisi kitabu chini, kuna mizunguko ya ziada ya maisha. Hivyo taarifa kwamba hawa kujibu kwa matukio ambayo ni fired na kitu hicho, hii kitu mazungumzo. By default, kuna kupakia na kupakua, ambayo zinapatikana kwa wote wingu 9 kuziba-ins. Lakini katika tukio la mjadala huu, kuna tukio jingine ambayo yanaweza moto pamoja inayoitwa Kuteka, ambayo ni fired wakati kwamba ni kuhusu kuwa inayotolewa juu ya screen, katika tukio la kwanza ya mazungumzo kuonyesha. Hivyo wakati ni kweli kwenda kuonyeshwa, kutakuwa na kutoa kwetu baadhi HTML. Na kwa kutumia tu kiwango Mazoea HTML tunaweza kuingiza baadhi ya taarifa rahisi sana, hujambo dunia yetu, katika mazungumzo huo. Hivyo kama sisi basi kitabu juu, tunaweza ona kisha maandamano ya mambo kwamba ni kutokea. Kwanza sisi aliumba wingu 9 amri kwamba wakati kunyongwa kwa wingu 9, kinaenda kwa moto kazi hii. Ni kwenda kukimbia kazi hii aitwaye show mazungumzo, kwamba nimekuwa Imeandikwa katika code yangu. Mimi umba orodha ya bidhaa na masharti hayo amri hiyo kwamba wakati bidhaa kwamba ni clicked katika orodha, kwamba amri ni kisha kukimbia na kazi ambayo ni kisha kukimbia. Na ndani ya kazi mimi nina tu kwenda kuwaita the-- mimi nina tu kwenda kutekeleza show utaratibu wa hii kuziba-katika, ambayo ni kwenda kupiga kwanza Njia sare, na kwenda moto njia hii chini chini, kuteka tukio handler, katika mzunguko wa maisha yetu. Na kisha itakuwa kweli kuonyesha mazungumzo. Kuna pia njia kujificha, ili kama mimi haja nafasi ya kujificha mazungumzo yangu, siwezi kufanya kitu kimoja. Hivyo hiyo ni pretty kiasi kupata yote ya hii kazi. Taarifa hiyo ni kama sisi kitabu chini zaidi kuna kufungia API umma. Kimsingi hii tu anasema kwamba mimi wanataka njia hizi kwa ufanisi kuwa umma, lakini si overwriteable nje ya mazingira ya hii kuziba-katika. Na chini, chini kabisa, Pengine ni jambo la mwisho kwamba sisi kweli haja ya kulipa kipaumbele kwa hapa, ambayo ni kwamba sisi ni kwenda kujiandikisha wetu kuziba-katika na jina C9 Semina 1, na kitu kuziba-katika. Ambayo kama wewe utakuwa kukumbuka, ni kwamba kuziba-katika kwamba kuziba-katika kitu kwamba sisi tumekuwa kufafanua katika ukamilifu wa chanzo hiki kanuni. Na C9 Semina 1 ni kamba kwamba sisi aliahidi kutoa juu ya ufafanuzi huu. SAWA. Basi hebu njia panda ni juu kidogo na kuona kama tunaweza kufanya kitu kidogo kuvutia zaidi. Sasa hii ni tu kubwa sana. I mean, hii ni, ni kweli pretty baridi kwamba katika mistari hiyo michache ya kificho, Tunaweza kurekebisha IDE zilizopo na kuongeza zilizopo orodha ya bidhaa au kuongeza mpya menu, kuongeza amri, na kuonyesha mazungumzo, na sio umati wa utendaji kwamba ipo. Ni kweli pretty kubwa. Lakini haina kufanya mengi kwa sababu hawawezi kuwasiliana na Ubuntu msingi mfano. Basi hebu kusema kwamba mimi kweli unataka kujua baadhi ya taarifa kuhusu msingi Ubuntu mfano, kama stats kuziba-katika gani. Basi hebu tuangalie kidogo habari zaidi kuhusu jinsi takwimu kuziba-katika matendo. Na kwa kweli, ni sawa na hii. Unaweza kukumbuka kwamba kuna mazungumzo. Unaweza kukumbuka kwamba kuna baadhi ya taarifa hiyo ni umeonyesha tu pamoja menu bar pamoja juu, ambayo hopefully wewe ni sasa kupata ladha ya jinsi sisi kutekelezwa huu, tu kwa kuingiza vitu orodha ya maalum pointi na kwa instantiating mazungumzo na kuonyesha mazungumzo huo. Lakini sisi bado umeonyesha wewe ni jinsi gani tunaweza kuungana kwa amri katika msingi Ubuntu mfano. Hivyo hebu tuangalie kisha saa plugin.2, ambayo haina usahihi jambo hili. Tunakwenda kufungua plugin.js, ambayo ni kificho kwa hili. Lakini chini ya Window orodha, kama mimi click kwenye mazungumzo 2, tunaweza kuona kwamba inasema hii badala yake, hodi CS50, ambayo haina kuangalia Huwaongoza kwamba wote, sawa? Ila, kuangalia hii. Napenda kubadili kitu chini hapa. Mimi nina kwenda kwa yangu workspace na mabadiliko semina kusema kitu kingine chochote, kama Hello, Dan. Mimi nina kwenda karibu yake na kuiokoa. Na sasa mimi nina kwenda re-kukimbia mazungumzo orodha yangu bidhaa. Na taarifa kwamba ina sasa iliyopita nini anasema. Hello, Dan. Mimi wanaonekana wamefanya kitu chini hapa katika msingi Ubuntu mfano bila ya kuwa manipulated yoyote kificho kwamba tena ni mbio tu upande wa mteja. Hivyo kuna wazi baadhi ya aina ya mawasiliano yale yanayotokea hapa. Sasa hii ni mahali ambapo mengi ya nguvu ya wingu 9 SDK huja katika, ni kwamba katika plugin.2 hii, sisi kweli unaweza kusababisha wito kwa kutokea kwa msingi mfano, na kukimbia baadhi ya amri kiholela. Hivyo katika kesi hii, nina kweli umba rahisi sana bash Muswada katika workspace yangu aitwaye Semina. Hivyo basi mimi kufungua kwamba up. Na tunaweza kuona kwamba inaonekana kama hii. Ni tu bash rahisi sana Muswada ambao lengo pekee katika maisha ni kwenda kuwa kurudia nje kifungu hiki, Habari, Dan. Au kabla, ilisema Habari, CS50. Na kwamba wote ni kwenda kufanya. Kwa sababu hii ni sasa amri kwamba siwezi kukimbia. Mimi kweli anaweza kuendesha chini hapa. Tunaweza kuona kwamba ni kweli ni tu amri kwamba mimi kukimbia kawaida. Siwezi kuuliza yangu kuziba-katika kutekeleza hii amri juu ya workspace msingi na Hazrat taarifa zile zilizorudishwa kutoka hayo, na kufanya kitu kwa hayo, na kurekebisha yangu kuziba-katika na tabia ya kuwa mimi na katika kuziba-katika wangu kama matokeo. SAWA. Basi hebu angalia jinsi hii hutokea. Tuliona huu rahisi sana Semina kundi script kwamba mimi [Inaudible] iweze kweli kuendesha. Na sasa hebu angalia marekebisho ambayo ni muhimu kwa kufunga huu pamoja kwa dirisha mazungumzo, na kukimbia nayo. Hivyo hapa sisi ni kwenda kufanya pretty much kitu kimoja kama tuliona kabla. Lakini taarifa kwamba miongoni mwa mambo ambayo nimekuwa zinazotumiwa now-- Mbali na mazungumzo, ambayo tena mimi kutokea kwa kuwa amefanya mara mbili, ambayo si necessary-- pamoja kulizungumzia suala hili na amri na menus kuziba-ins, ambao walikuwa muhimu katika moja ya kwanza kwa ajili yangu kufafanua amri mpya na kuingiza bidhaa katika menus, Mimi pia kuwa Proc hii kuziba-katika. Na Proc hii kuziba-katika inaruhusu sisi kuendesha michakato juu ya tukio la msingi. Nimekuwa kushikamana yake baada nimekuwa Alisema kuwa wangu kuziba-katika inahitaji yake. Nimekuwa kisha kushikamana kwa kificho, kama tulivyoona katika kazi kuu. Tena, mimi naenda initialize mazungumzo yangu. Na kama sisi hoja chini sasa, sisi unaweza kuona jinsi hii ni tofauti. Mzigo kazi ni sawa, hivyo ni tu kwenda kujenga amri na kujenga orodha ya bidhaa na kuungana kwamba orodha ya bidhaa kwa amri hiyo. Lakini kama sisi sasa kitabu chini ili kuonyesha mazungumzo, tunaweza kuanza kuona ambapo Tofauti kutokea. Tuna kazi show mazungumzo, ambayo ni kwenda tu kuonyesha mazungumzo. Lakini wakati mimi kuonyesha mjadala huu, na wakati njia show inaitwa, ni moto sare kazi. Na mimi nina kwenda kwa basi kutaja baadhi ya maudhui ndani ya kwamba. Hivyo nina kwenda tu kwa kujenga div, kutoa yake baadhi ya maandishi ya msingi, Habari, dunia. Lakini taarifa kwamba hapa mimi nina kwenda ambatisha hiyo ID. Na mstari unaofuata sana mimi ni kwenda kuona kwamba ID kwa kutumia JavaScript, na kuhifadhi kwamba kitu ndani ya mwingine kutofautiana kwamba mimi nina tu kwenda kuwaita maudhui. Hivyo sasa wakati mimi na maudhui, wote mimi haja ya kufanya ni kurekebisha tu HTML kitu hicho ya ndani. Na mazungumzo HTML mapenzi kisha kurekebishwa pia. Hivyo wakati huu kuziba-katika ni kisha inavyoonekana, ambayo yanaweza kutokea na hii ni tukio mpya ambayo ni mpya kwa hii kuziba-katika, lakini hufanyika katika kila kuziba-katika na mazungumzo, wakati huu sasa inavyoonekana, Mimi nina kwenda kuwaita kazi kuitwa kuchota maelezo. Na kazi hii ni nyama ya hapa. Mimi nina kwenda kutumia kwamba Proc kuziba-katika kwamba sisi alielezea kabla, ambayo kwa njia, ni kweli tu maktaba Node.js kwamba wingu 9 ni kutumia hapa. Hivyo unaweza kweli kuangalia juu juu ya jinsi hii kazi kama wewe kwenda katika Nyaraka node.js na kuangalia juu ya faili exec mbinu kwa ajili ya mchakato wa huko. Mimi nina kwenda kukimbia maalum huu amri, nyumbani Ubuntu workspace semina, ambayo ni kuwa sawa moja, kwamba sawa amri kwamba mimi umba kabla. Kutoa yake ya sasa kazi directory, tu kuwa Ultra salama katika suala la mazingira ya ambapo hii ni mbio. Na mara moja ambayo imekuwa kukamilika na kurudi, Mimi nina kwenda kukimbia hii kazi kuitwa parse pato. SAWA. Hivyo hii basi ni kwenda kutekeleza amri juu ya mitaa, au tuseme kijijini Ubuntu mfano. Wakati mimi kupata nyuma baadhi Maelezo, mimi nina kisha kwenda kuwaita kazi tofauti aitwaye parse pato, kwamba ina saini hii hapa, kupotea, stdout, stderr, na kufanya baadhi ya hesabu juu ya hili. Hivyo kama mimi kupokea makosa wa aina fulani wakati wote, Mimi kwa kweli kuangalia kuona kama makosa kweli ina baadhi ya data. Na kama ni hivyo, basi mimi itakuwa kurekebisha ndani HTML ya kwamba maudhui kitu, ambayo ni unakumbuka, sisi kushikamana na mazungumzo katika instantiattion ya kwamba mazungumzo, au kuchora kwanza ya mazungumzo ambayo. Mimi nina kwenda tu kusema kwamba makosa baadhi kilichotokea. Sasa hii ni overly simplistic. Thamani makosa mapenzi kwa kawaida vyenye jambo ambalo lilikuwa muhimu, labda idadi makosa na kosa kutoka script yenyewe. Au kama Muswada aliandika kitu cha makosa ya hali, data kwamba itakuwa wakazi kwa kuwa vigezo vilevile. Na mimi naweza kuwa kidogo makini zaidi juu ya nini makosa Mimi kwa kweli kuonyesha watu. Lakini mfano huu simplistic ni nzuri ya kutosha kwa sasa angalau kuona jinsi kazi hii yote. Vinginevyo kama kuna hakuna kosa, basi Mimi tu kwenda kutoa mbichi pato la kazi ambayo ndani ya HTML ndani ya maudhui hii kipengele, na kisha update yangu kuziba-katika na kuonyesha kuwa hapa. Na kwamba kiasi pretty yote yale ambayo ni muhimu kupata hii kukimbia. Na hivyo hebu fikiria kuhusu kisha jinsi hii kazi, kwa ujumla. Wakati mimi kwanza kubeba hii kuziba-katika, kama kwanza kuziba-katika, Mimi nina kwenda kuongeza amri hiyo ni inapatikana kwa kitu chochote, kwa yoyote kuziba-katika katika wingu 9, iitwayo CS50 Semina Dialog 2, ambaye wajibu itakuwa kukimbia show hii mazungumzo, ambayo ni unakumbuka, itakuwa kweli kuonyesha mazungumzo kwamba mimi aliomba hapa chini. Basi nami kuongeza kwamba amri katika orodha dirisha ili niweze kupata hiyo. Na wakati mazungumzo ambayo ni ombi kuonyeshwa, Nitayaleta baadhi ya maelezo kutoka msingi Ubuntu mfano kwa kutumia exec faili amri. Samahani. Mara moja kwamba ni akarudi na mimi kupokea baadhi Maelezo, basi upande wa mteja tena, mimi itakuwa na uwezo wa kuchanganua pato la amri kwamba na kuboresha ndani HTML ya mambo kuwa tulikuwa na uhusiano na mapema. Na kwa kuwa, sisi kisha kuwa hii kazi kikamilifu kuziba-katika kwamba inaruhusu mimi kuchota maelezo kutokana na hili Muswada holela kwamba tuna umba juu ya msingi mfano wetu. Lakini tena, ni kweli muhimu na kwa kweli ufunguo kutenganisha nje ambapo kila mambo haya yanayotokea, kwamba tuna wote wa upande wa mteja huu kificho kuwa ni kuwa kukimbia katika browser, na bado haina kupata kwa msingi mfumo faili mpaka sisi kweli kuendesha baadhi ya hizi amri zinazotolewa na wingu 9 SDK kama Proc, na baadhi wale wengine kwamba kuruhusu sisi kusoma baadhi ya data, au kusoma baadhi mafaili ikiwa tunahitaji kufanya kitu chochote cha aina hiyo. Sasa hii ni mfano kwa kiasi fulani rahisi. Kuna mambo mengine ambayo sisi ingekuwa labda wanataka kufanya vilevile. Kwa mfano, labda sisi kweli wanataka kuokoa baadhi ya taarifa kwa upendeleo. Au labda tunataka kuongeza mpya upendeleo pane au kitu pamoja na mistari hayo. Basi hiyo ni kitu ambacho Unaweza kuangalia wingu 9 SDK kupata habari zaidi juu ya. Lakini kweli hii ni kutosha kuanza. Hivyo tu kuwa kidogo zaidi thabiti kuhusu njia ambayo baadhi ya mambo haya kazi, sikuweza unataka kuonyesha tu mfano mmoja zaidi, ambayo ni baadhi tu ya maadili ya kutoka Stats 50 kuziba-katika. Na kanuni hii ni kimsingi kulingana na mifano hii kwamba umefanya kweli kuonekana, lakini ina baadhi ya ulinzi zaidi na ina baadhi utata zaidi ili kufikia baadhi ya mambo ya ziada kwamba tunataka kufikia. Kwa mfano, kama nataka kuwa uwezo wa kuokoa mazingira fulani, kisha nahitaji kupata Mazingira kuziba-katika, na kila wakati nataka kusoma mipangilio baadhi, Siwezi, kwa mfano, ambatanisha na mbalimbali matukio katika Mazingira kuziba-katika. Hivyo kila wakati mazingira ni nyekundu, Kwa mfano, katika wangu mwenyewe kuziba-katika, kama mimi ni kwenda kusoma baadhi mazingira kutoka kuhifadhi kuokolewa matakwa ya mtumiaji, basi naweza kuweka chaguo-msingi kwa eneo maalum, kwa upendeleo maalum, kwa kuwa JSON chaguzi style faili kwamba tumekuwa kuokolewa awali, kwamba tumeona awali. Na kama mimi nina kwenda kuandika baadhi ya mazingira kwa hiyo, kisha mimi can-- au kwa haraka kama sisi kuchunguza kwamba mazingira vimeandikwa to-- kwa sababu kwa mfano, wale mazingira wamekuwa iliyopita kwa mtumiaji ama moja kwa moja katika mazingira yao file, au upendeleo pane imebadilika mazingira faili moja kwa moja, basi Mimi kweli anaweza kuboresha baadhi ya maadili au update tabia ya yangu kuziba-katika kulingana na mabadiliko hayo ambayo yana ilitokea juu ya mazingira ya faili vilevile. Lakini kwa kweli, wengine ni pretty kiasi hiki kwamba umefanya tayari kuona. Sisi kuongeza baadhi, labda kitu ambacho ni kipya. Hivyo sisi kuongeza upendeleo faili, au tuseme upendeleo Pane, na matakwa dirisha, ambayo tena unaweza kupata habari zaidi katika wingu 9 SDK kusoma kwangu. Lakini kila kitu kingine ni kiasi pretty, pretty sawa na yale tuliona kabla, tu pamoja na baadhi ya ziada makosa ya kuangalia na baadhi ulinzi wa ziada na baadhi ya kazi zaidi kwa kipengele wote wa mbalimbali mambo ambayo tumeona. Kama una si kweli kuonekana ni bado, waweza kuwa anashangaa msingi amri ni katika Stats 50 dirisha. Ni kweli kazi. Naam, ni is-- loo, Dammit. Moja pili. Subiri. SAWA. Hebu hoja hii juu ili tuweze kweli kuona nini kinatokea wakati mimi aina Stats 50. Taarifa kwamba katika kesi hii, amri kwamba mimi nina nje kuweka ni kweli tena, tu Muswada hiyo ni kwenda pato kundi la kampuni katika JSON format. Na sababu ya kuwa sisi kufanya hivyo njia hii ni kwamba kwa sababu sisi ni kazi, kwa sababu tumekuwa imeandikwa upande wa mteja kificho katika JavaScript, tunaweza kwa urahisi sana tu Hazrat JavaScript vitu, na kwa kweli kuwa na uwezo wa kuendesha vitu wale tu kama tunataka nyingine yoyote JavaScript kitu. Na hivyo hii ni rahisi sana njia ya kutoa baadhi ya taarifa kutoka msingi Ubuntu mfano, kama vile toleo namba, mwenyeji jina, kama server ni kusikiliza, nini server ni, kadhalika na kadhalika, na Hazrat hiyo wakati huohuo urahisi na haraka sana katika kuziba-katika kwamba ni kisha kwenda kutuonyesha wote wa habari kwamba. Hivyo tena, ufahamu muhimu hapa kukumbuka ni kujitenga huu kati ya mfano msingi, na pia ambapo kanuni ni kuwa kubeba. Hiyo wakati mimi na mteja, ni kupakia kwanza. Tu hii tuli JavaScript faili kutoka mahali fulani, labda CDN ya aina fulani. Sisi si kweli kuwa na huduma sana kuhusu hatua hii ya kwanza. Sisi tu kujua kwamba ni mbio juu ya upande wa mteja na kwamba wakati mimi nina kwenda kwa kuwasiliana na tukio hilo Docker. Kwamba tunakwenda kufanya hivyo kupitia wingu 9 SDK. Sisi si kweli kuwa na uwezo, kutumia JavaScript au Node.js, kuandika moja kwa moja na hiyo. Sisi tu kutumia wale SDK zilizopo APIs kufanya tendo hilo kwa ajili yetu. Na tena, mmoja wa mambo muhimu ni kwamba wakati mimi tumemuumba hii, wakati nimekuwa kuundwa huu kuziba-katika, na kama mimi kazi juu yake, moja mambo muhimu ya kufanya ni kuleta JavaScript console. Kwa sababu tangu hii yote ni kazi ya JavaScript, upande wa mteja, kama mimi kutumia console.log method-- hivyo tu kuonyesha mfano hapa. Hebu jaribu hii rahisi kubadilisha kuziba-katika pia kuingia baadhi ya data. Na tutaweza kuongeza kiwango cha nje. Basi hebu kubadili hilo kuwa haki hapa. Sasa wakati mimi nitafanya console.log, kukumbuka kwamba tangu hii ni mbio upande wa mteja, Nitawaona hii katika yangu mwenyewe JavaScript console, ambayo ni jinsi Nami kisha kuwa na uwezo wa kujaribu troubleshoot na utatuzi baadhi ya matatizo ambayo nina. Taarifa kwamba kwa sababu Mimi ni katika SDK mode, mimi nina kisha uwezo wa kuendesha kuziba-ins juu ya tukio hilo. Hivyo hata kama ni kuokolewa kwenye tukio hilo, huu ni mfano mmoja wa kwamba uliopita utawala zinakiukwa, ambapo wingu 9 SDK kwa kweli kuvuta kuziba-ins kutoka msingi mfano na kisha kukimbia kwao. Hivyo kwamba kwa njia hii, mimi nina kisha uwezo wa kuendesha na kujenga baadhi ya programu-jalizi hapa. Lakini ili kwa mimi kuona updates kwa hii kuziba-katika, kwa sababu ni upande wa mteja, Nahitaji kuokoa kwamba kuziba-katika na kisha upya workspace nzima, ili mpya kuziba-katika ni kisha kupakuliwa kwenye mteja wangu, kwenye yangu kivinjari, na kisha ni kuwa kutumika. Hivyo sasa wakati mimi click kwenye Semina hii Dialog 2, bado tunaona hii. Lakini sasa hopefully katika wangu JavaScript mazungumzo, lazima tunaona my-- kusubiri, subiri. Nipate kuwa kufungua mazungumzo safi. Tunapaswa kuona data zangu kupokea hapa. Kupokea data, Habari, Dan, ambayo ni unakumbuka, ilikuwa operesheni console.log kwamba sisi aliomba katika kuziba-katika. Hivyo basi maelezo haya kwamba nilivyoeleza hapo awali, mjadala huu, au hii mchoro badala yake, kwamba mimi zilizotajwa kabla ni nini kinatokea. Lakini kuna muhimu isipokuwa tu kwa maendeleo, ambayo ni kwamba kuziba-katika yenyewe ni wazi kunaweza kuhifadhiwa kwenye Docker mfano muda, tangu labda wingu 9 hataki sisi kuwa na uwezo wa kuendesha vitu katika CDN zao. Na wateja wingu 9, juu ya upakiaji, utapata wale kuziba-ins katika jambo hilo. C9 kuziba-katika folder, na mzigo hizo. Lakini wale bado yanatokea tu upande wa mteja. Hivyo basi hii ni an isipokuwa kwamba hutokea tu ajili ya maendeleo ya wingu 9 kuziba-ins. Wale wengine time-- na sababu kwamba tunataka kweli nyundo home-- hii ni kwa sababu wengi wa wakati huu ni kwenda kuwa mbio kutoka CDN, na kwenda tu kuwa na kukimbia rena kutoka upande wa mteja. Kwa kawaida kutakuwa hakuna mwingiliano na kuziba-katika, au kuna haina hata kuwa yoyote sababu kwamba programu-ins wenyewe ni kweli kuhifadhiwa kwenye msingi Docker mfano, isipokuwa katika kesi ya hii ya maendeleo SDK. Hivyo tena, hii mabadiliko tu kidogo kwa sababu ya ukweli kwamba sisi ni mbio hali ya SDK. Ni kwenda basi mzigo wale kuziba-ins na maendeleo, na madhumuni pekee hapa ni ili Naweza kutumia wingu 9 kufanya maendeleo kwa wingu 9 Plugins. Lakini hata hivyo, hii haina mabadiliko tena jinsi yoyote ya hii matendo. Ni bado kuwa kukimbia kabisa upande wa mteja. Ni tu ina maana kwamba wakati wowote nataka kujenga wingu 9 kuziba-ins katika wingu 9, Mimi kuunda wale kuziba-ins, kuziweka katika wangu. C9 / plugins folder katika nyumba yangu directory, kuhakikisha mimi nina katika SDK mode, upya ukurasa kila wakati mimi kwa kweli kufanya mabadiliko ya kwamba kuziba-katika, na kuona nini kinatokea katika yangu JavaScript console. Tu kusimamia yangu JavaScript kuwafariji ili kuhakikisha kuwa troubleshooting yoyote habari kwamba mimi mahali kuwafariji, au kitu kingine chochote ambayo inaweza kutokea kwa sababu ya makosa ambayo nimekuwa imeandikwa katika kanuni yangu au kama, inaonekana kuna. Na kwa kuwa, ni kweli kutosha kuanza, nadhani, na wingu 9 kuziba-ins. Hasa kuchukua kuangalia SDK nyaraka kwamba wingu 9 hutoa. Ni njia kubwa ya kupata kuanza, na kwa urahisi sana kujenga baadhi ya programu-jalizi kwa wingu 9. Na kwa kuwa, Nataka kuwashukuru nyote mengi sana kwa kujiunga na mimi. I hope itabidi kuwa na furaha kuandika programu-jalizi kwa wingu 9. Labda kuboresha programu-jalizi kwamba sisi sasa, au labda hata kuongeza baadhi ya utendaji wa yako mwenyewe. Sisi kuangalia mbele kuona ni nini kujenga. Hadi wakati huo, bye.