>> DAN Armendariz: Hello, ak Byenveni nan yon seminè CS50 sou Pèrsonalizasyon Cloud 9,
ak IDE nan CS50.
Se konsa, jodi a nou ap ale nan jis pale yon ti kras
sou kèk nan la enfòmasyon teknik ki
ale dèyè achitekti a a Cloud 9, e ki jan
nou te aplike kèk nan plòg-ins yo kòm yon pati nan Cloud 9 bay CS50 IDE.
Se konsa, kite yo jis so dwa nan ak kòmanse ap pale de plòg-ins.
>> Se konsa, plòg-ins yo se reyèlman nan la debaz nan eksperyans la Cloud 9.
Cloud 9 se teknoloji ki kache ki bay yo ban nou IDE a,
epi tou li fenèt la tèminal nan la anba, ansanm ak workspace-- nan
Ubuntu a workspace-- ke nou itilize yo konpile tout nan pwojè nou
ak fè kouche pwoblèm nou an, ranpli kouche pwoblèm nou yo.
Men, nan kè yo ak tout nan li, tout teknoloji a
se reyèlman jis yon pakèt moun sou plòg-ins.
Tout se yon ploge nan ki ka modifye,
pwolonje, ou kapab kreye pwòp ou a plòg-ins,
ou ka retire lòt plòg-ins, reyèlman chanje
byen yon anpil nan fonksyonalite a ki deja egziste Cloud 9 IDE a.
>> Se konsa, sa a se yon ki egziste deja Cloud 9 anviwònman.
Sa a se vrèman jis nan default Cloud 9 anviwònman.
Apre sa, pran yon gade nan li montre kouman li aktyèlman ki diferan de IDE nan CS50.
Se konsa, sa a se IDE nan CS50.
Remake gen kèk vizyèl chanjman ant regilye Cloud 9 nan
anviwònman ak IDE nan CS50.
Espesyalman, ou pral remake yon koup la chanjman.
Premye a tout, gen nan mwens atik meni yo kòmanse avèk yo.
Genyen aktyèlman yon fason ke ou ka chanje sa.
Yo rele li Mode Senp.
>> Pa default, se Mode Senp pèmèt, ak ki senplifye kèk nan atik yo meni.
Li retire kèk nan la yo menm ki pi avanse,
paske franchman, yon anpil nan elèv yo ke yo vini nan
epi yo pa bezwen konnen sou kèk nan karakteristik yo ki pi avanse
yo pa akable ak yon pakèt moun sou opsyon.
Men, nou fè bay kapasite nan pran koupe moun sa yo rele wou fòmasyon
epi retire ki echafodaj pou ke moun
ka vin pi abitye karakteristik yo ki avanse nan IDE a.
Imedyatman nan la dwat Bondye ki gen sa, gen nan
tou yon bouton dbug, ki nan Cloud a estanda
Se 9 anviwònman tou senpleman rele kouri.
Men, pa default, nou te configuré bouton an dbug nan CS50 IDE a
yo pote moute debugjeur a, otomatikman konpile kòd la sous,
konekte debugjeur a GDB-- ki kache
epi depi ki nan kouri fè debugging-- nan ak kèk lòt etap
kòm byen.
Epitou fenèt la tèminal nan la very-- ou pito tèminal nan
tab an seksyon nan konsole nan la fenèt nan pati anba a anpil nan ekran an,
te chanje non tou senpleman gen tèminal.
Lè nou konsidere ke nan estanda a Cloud 9 anviwònman,
li aktyèlman montre nan kouri aplikasyon an.
Fason sa a, li senplifye, ankò, entèfas a, jis yon ti kras.
>> Nou menm tou nou te ajoute kèk bouton a dwat a anwo nan IDE a
yo montre kèk enfòmasyon debaz sou egzanp lan kache.
Epi tou nou te retire yon sèl nan opsyon sa yo sou atik yo
de dwat la byen lwen.
Se konsa, tout bagay sa yo se aplike pa pa chanje nesesèman Cloud a 9
kòd sous, men olye pou nan yon koup
a plòg-ins ke nou te aplike pandan tout ane ki sot pase a oswa konsa.
Apre sa, Cloud 9 te òganize e li gen kouri nan vorkspas la CS50.
Oswa olye nan vorkspas yo ki yo deziyen kòm CS50 id.
>> Se konsa, reyèlman sa a, se diferans lan prensipal ant Cloud a 9 ak CS50 nan
vorkspas.
Genyen tou, nan kache nan egzanp, chanjman nan prensipal se
ke nou enstale kèk atik pre-configuré tankou gdb,
ak kèk lòt bagay debaz ki nou te kreye, tankou Mizajou 50,
ak yon koup la lòt etap ki fè eksperyans nan tout antye yon ti jan plis
inifye.
Men, an jeneral, sa a se jis yon chanjman nan yon sistèm ki egziste deja
ki Cloud 9 te kreye pou nou.
Ki sa nou ap ale nan montre yon ti jan ti kras pita
se ki jan yo aktyèlman kreye yon yon ti jan debaz ploge nan ki
pèmèt nou insert yon bagay nan la sistèm meni an, epi louvri moute yon dyalòg.
Men, si nou gen ase tan, nou pral aktyèlman
wè ki jan nou ka peple ki dyalòg ak kèk enfòmasyon
soti nan egzanp lan kache.
Yo nan lòd pou nou pou li ale nan ki pwen, se pou yo premye pale yon ti kras
sou achitekti a nan Cloud 9.
>> Se konsa, fason a ke nou ap itilize kominike avèk Cloud 9
se antyèman nan kliyan an.
Nou louvri moute yon navigatè entènèt, nou tape nan CS50.io. nan
Nou evantyèlman, apre yo fin otantifikasyon, yo prezante ak IDE a.
Men, reyalize ke gen nan yon koup la etap
ki aktyèlman jwenn nou nan pwen sa a.
Trè premye Bagay la se ke kliyan m 'yo, navigatè wèb la,
sou demann ak apre otantifikasyon, charj entèfas la ak plòg-ins yo
nan kèk CDN, ki soti nan kèk Content akouchman Network.
Sa a kapab franchman nenpòt kote.
>> Lè sa a se aktyèlman apa a soti nan egzanp lan kache.
Li enpòtan reyalize ke sa a se aktyèlman jis yon pakèt moun sou dosye estatik.
Li se yon pakèt moun sou JavaScript ki telechaje soti nan CDN la
sou navigatè entènèt mwen an, epi tout nan entèfas a ke ou
wè isit lan-- sa a se reyèlman key-- tout nan entèfas a ke ou wè isit la
se kouri sou bò kliyan.
Tout sa ou wè nan Cloud 9 vorkspas nan
se aktyèlman kouri nan navigatè a.
Apre sa, nenpòt ki bagay ki ou voye ansanm nan egzanp ki kache
se kominike avèk egzanp lan ansanm sa a dezyèm chanèl ki apa a,
ak Lè sa a, sove sou ki ki Koupre egzanp.
>> Se konsa, rezon ki fè m ap di sa a se yon egzanp Koupre
se ke teknoloji a kache se pa lè l sèvi avèk machin vityèl,
men olye ap itilize ap itilize yon teknoloji rele Koupre,
ki fondamantalman allows-- pi pre a analoji se yon machin vityèl.
Men, li se subtile diferan nan ke gen
anpil opòtinite nan kouri yon konbinezon de diferan Koupre
ka sou yon machin sèl.
Apre sa, yo ka file moute nan siksesyon trè rapid.
Li se pa byen plis nan strik diferansyasyon
ant ka Koupre diferan kòm gen nan machin vityèl,
men yo toujou gen nan yon anpil nan diferansyasyon ak separasyon
ant ka sa yo diferan.
OK.
Se konsa, de etap sa yo isit la ke yo enpòtan reyalize
se ke lè nou ale nan CS50.io, nou se Téléchargez entèfas la ak plòg-ins yo,
ki fè yo ekri nan JavaScript, sou nan navigatè a oswa nan nan navigatè a.
Lè sa a se petèt yon koup megabit yon valè de enfòmasyon.
Nan pwen sa, yon fwa entèfas a gen chaje ak plòg-ins yo te te kòmanse,
Lè sa a, li kòmanse yo kominike avèk egzanp nan Koupre, ki pa fè sa
nesesèman gen yo dwe sèvè a menm.
>> Koulye a, gen yon sèl eksepsyon nan sa a.
Nou ka gen nan tou de aktyèlman livrezon mekanis pou entèfas nan tèt li
ak egzanp lan nan Koupre tout nan sèvè a menm, ki
se aktyèlman yon bagay ki nou fè pou offline vèsyon an nan Cloud 9.
Sa a se pa yon bagay ke nou te pibliye anpil sa a tonbe,
men nou menm tou nou gen yon offline vèsyon ki
pèmèt ou download yon pake vèsyon nan tout bagay sa yo
ak pèmèt ou kouri Cloud 9 nan yon anviwònman ki hors.
>> Botwe sa a nan nwaj la ak sou machin lokal ou a gen kèk enpak.
An patikilye, ou pa gen okenn ankò gen kapasite nan
yo pataje vorkspas ou a ak lòt moun.
Ou pa gen okenn ankò kapab louvri Cloud 9 soti nan, ak CS50 IDE a, nan nenpòt konpitè
ak wè dosye yo menm ki ou te travay ak anvan.
Men, olye pou li ap travay nèt sou pwòp machin lokal ou a
san yo pa bezwen aksè a entènèt la.
Men, toujou menm nan ke modèl, menm si nou gen yon sèl machin vityèl
ki se esansyèlman kouri bagay sa yo.
>> Nou gen yon sèvè separe se sa ki fournir esansyèlman Cloud a 9
kontni, ak Lè sa a nou gen yon egzanp Koupre
ki responsab pou kominike ak sa IDE pou fen a tounen.
OK.
Se konsa, se entèfas a tout antye ekri antyèman nan JavaScript
lè l sèvi avèk Node.js ak Cloud 9 sdk a, ki nou pral ale nan nan jis yon minit.
Apre sa, tout nan plòg-ins yo yo kouri sou bò kliyan.
Se konsa nou konsantre lè sa a yon ti jan pa asepte
ke sa a premye etap gen aktyèlman konplete avèk siksè,
epi gade sèlman nan sa a egzanp Koupre.
>> Se konsa, nan ka sa a, sa a se yon fason a estanda
nan panse sou fè Cloud 9 ploge nan devlopman se ke ou yo ale
yo dwe ekri kòd ki pral dwe kouri nan navigatè itilizatè a la,
epi ou gen opòtinite a nan lè l sèvi avèk kèk APIs yo kominike
ak egzanp nan Koupre kache, kouri kèk kòd la, ak fè anyen
ke ou ta ka vle fè.
Se konsa, sa a pwal kontèks la ke nou pral
lè l sèvi avèk pou tout rès pale sa a.
Apre sa, jis kenbe modèl sa a nan tèt li.
Sa a pral trè enpòtan nan jis yon kèk minit.
Genyen yon koup nan lyen Mwen vle moutre ou la.
Premye a tout, Cloud 9 te bay byen yon anpil nan dokiman
sa a, se trè bon, ki montre kouman fè debaz devlopman ploge nan.
Se konsa, si ou ale nan URL sa a, cloud9-sdk.readme.io,
ou pral wè dokiman an la.
Ak yon anpil nan enfòmasyon sa a ke ou ap sou yo wè
kapab tou gen pou yo te jwenn gen, plis plis.
Ou kapab tou jwenn sous la louvri vèsyon an Cloud 9 nan URL sa a,
github.com/c9/core, nou sèvi ak menm jan yon pati nan vèsyon an offline nan IDE a,
pou ke ou yo pral kapab gen menm Cloud 9 eksperyans la,
men nan yon offline fason.
Tout dwa.
Se konsa, kite a pran yon gade nan yon aktyèl Cloud 9 vorkspas isit la.
Epi ankò, m vle nan pwen soti yon koup nan bagay sa yo.
Sa a se, dwa isit la, se yon IDE CS50 nòmal.
Apre sa, mwen te enfim yon mwens mòd konfòtab anba meni an View
pou m 'ka wè tout nan opsyon sa yo meni.
Ki sa mwen vle montre ou dwa kounye a se yon koup la bagay sa yo.
Premye a, si mwen ale nan Preferences yo ak Lè sa a
klike sou Ploge-an manadjè, ak kalite nan CS50 isit la,
nou ka wè ke gen, an reyalite, yon koup la CS50 plòg-ins ki
yo te enstale ak kouri nou yo pèmèt modifikasyon sa yo ke nou te
wè pou IDE nan CS50.
>> Dwa koulye a gen nan esansyèlman de plòg-ins ki ap kouri.
Genyen yon sèl rele Senp, ki se mòd la senplifye ki
pèmèt ou redwi kantite a nan opsyon meni ansanm tèt la,
epi yo gen sa a sa yo rele mwens konfòtab mòd.
Lè sa a, gen nan tou CS50 Stat, ki se petèt sèlman yon ti kras misnamed.
Paske sa a se sa montre ou enfòmasyon ki
sou vorkspas ki kache.
Li enjekte sa yo bouton ansanm dwat nan tèt.
Li te tou enjekte yon atik meni an nan atik fenèt, nan meni an Fenèt
dwa isit la, CS50 IDE Info.
Lè li nan responsab pou enstansyasyon sa a dyalòg ke nou te wè isit la,
ak tout enfòmasyon ki ke nou ap abitye wè nan yon CS50 IDE
vorkspas.
OK.
Se konsa, gen nan aktyèlman yon sèl plis ploge nan ke nou yo te devlope kòm byen.
Apre sa, nan yon koup la lòt moun ki nou menm tou nou pa t 'piblikman lage.
Men, yonn nan yo se an jeneral nan ploge nan ki pèmèt gdb fonksyone.
Se konsa, youn nan aspè yo nan Cloud 9 se yo ke yo te bay deja
entèfas sa a aplike yon debugjeur.
Ak youn nan plòg-ins yo ki nou te kreye fondamantalman
enstale gdb ak entèfas sa a baze vèsyon an yon debugjeur.
E li responsab pou medyatè tout nan demann yo ki yon itilizatè ta ka genyen,
ant kite sou oswa kreye breakpoints oswa nenpòt bagay
ansanm liy sa yo, nan tradui ki kòmandman ki gdb ka konprann,
founi dokiman yo moun kòmandman nan gdb.
Apre sa, le pli vit ke gdb pwoblèm yon repons, lè sa a
nou entèprete sa ki epi aktyalizasyon entèfas a si sa nesesè.
>> Sa a pwobableman youn nan pi konplike nan
a plòg-ins yo, se konsa olye pou sa nou ap ale nan konsantre sou jodi a se an reyalite
Stat yo ploge nan, epi nou pral pale yon ti kras sou Senp, kòm byen.
Se konsa, mwen mansyone anvan, e mwen reyèlman vle fè trè, trè klè, ki ankò,
tout bagay sa yo ke nou ap wè isit la se esansyèlman
opere sou bò kliyan.
Nou fè wè yon fenèt tèminal anba a, e ke, nan kou,
si nou tape nan kòmandman nan sa, ke yo pral Lè sa a, bay
egzanp nan kache.
Menm jan an tou, si nou louvri yon nouvo dosye ak tape kèk bagay nan li, epi sove li,
pral ke dosye dwe sove sou egzanp nan kache.
>> Men, editè nan tèt li, sa a fenèt tèminal tèt li,
se tout aplike nan JavaScript ak se tout yon ploge nan
ke nou ka kominike avèk, ak Se poutèt sa modifye.
Genyen yon anpil nan èkstansibl isit la.
Mwen rekòmande pran yon gade a GitHub kont Cloud 9 nan
wè kantite a vas nan plòg-ins ki disponib,
ak jis ki jan byen ekri yon anpil nan kòd la se pou èkstansibl.
Se konsa, gen nan yon bagay ke mwen vle mansyone
sou sa a kòm byen, ki se ke gen yon anpil de- gen nan
yon anpil nan fonksyonalite sa a, se bay nan preferans yo
fenèt, ki nou te wè jis mansyone nan jis de sa yon kèk minit.
>> Youn nan bagay sa yo ke nou ka fè kòm IDE devlopè, oswa kòm Cloud 9 devlopè,
se aktyèlman enjekte kèk panno preferans nan pwòp nou yo.
Se konsa, mòd nan senp, oswa mòd an mwens konfòtab,
epi tou li enfòmasyon ki IDE, oswa stats yo ploge nan,
gen chak kèk preferans panno ki pèmèt nou li modifye
konpòtman an nan chak nan sa yo.
Ou ap remake ke si mwen ale nan nan Preferences epi ale nan Itilizatè anviwònman,
gen nan yon tab CS50, yon sèl ki di enfòmasyon IDE.
Apre sa, mwen ka chanje la enfòmasyon actualiser pousantaj.
>> Efektivman, ki sa k ap pase nan stats yo ploge nan
se ke chak n-segonn, kote n-segonn se defini nan sa a preferans
panèl, enfòmasyon se ke yo te chache bèt soti nan egzanp ki kache, yo te voye
tounen nan bò a kliyan, ploge nan la se Lè sa a,
entèprete enfòmasyon ki soti nan egzanp lan kache
ak jour entèfas a si sa nesesè.
Nou ka wè ke kounye a sa a se mete a 30 segonn, epi ki nan default la.
Men, mwen kapab definitivman chanje ki jan byen vit sa rive jis
pa chanje valè sa a.
>> Koulye a, youn nan bagay ki enteresan se ke sa a panèl preferans, entèfas,
se reyèlman jis yon vèsyon entèfas nan yon anpil nan anviwònman kache
ki yo prezante nan JSON.
Se konsa, si m 'ale, pou egzanp, anba la CS50 IDE meni an, oswa meni an Cloud 9,
depann sou ki vèsyon w ap chèche a,
epi ale nan youn nan sa yo settings-- nan ka sa a,
pwojè a settings-- nan anviwònman pwojè nan ka sa a
aplike a tout nan anviwònman yo pou sa a vorkspas yon sèl.
Lè nou konsidere ke anviwònman itilizatè aplike nan tout nan vorkspas yo
ke ou ta ka gen nan kont ou.
>> Se konsa, jis kòm yon sou kote isit la, yo dwe siplemantè klè,
gen nan yon separasyon ant a de paske byenke pa nou default
gen yon sèl vorkspas, ki se CS50 IDE a, si ou
te klike sou ti kras ou avatar moute isit la epi ale nan tablodbò,
w ap jwenn ke ou ka aktyèlman kreye vorkspas adisyonèl kòm byen.
Ou ka wè isit la ke mwen gen yon vorkspas IDE 50, epi tou li
pou rezon yo nan sa a seminè, yon vorkspas
rele vorkspas, ki se dwa isit la.
Se konsa, de tout fason, mwen gen preferans diferan.
Chak youn nan sa yo ka gen preferans pwojè ki apa a,
men itilizatè preferans yo se pataje pami tout vorkspas mwen.
By wout la, sa a se tou anpil sou la men si ou
vle kreye yon vorkspas ak diferan opsyon personnalisation.
Apre sa, li trè sou la men kreye yon nouvo vorkspas.
Apre sa, chwazi youn ki ta ka pre-configuré nan kèk lòt fason,
petèt pou PHP espesyalman, oswa Django espesyalman.
Oswa menm jis koutim.
Vorkspas nan CS50 modèl se youn nan ke nou
sèvi ak sa otomatikman enstale Mizajou 50 ak tout nan anviwònman yo
ke nou gen la, ki gen ladan nan tout plòg-ins ke nou gen pou IDE nan CS50.
OK.
Men, kite a tounen vin jwenn sa a.
Se konsa, ankò, gen pwojè anviwònman, ak sa yo se yo menm ki
ke nou ap chèche a isit la.
Apre sa, remake ke gen se yon pakèt moun sou anviwònman,
anpil nan yo koresponn ak preferans panno, men se pa tout nan yo.
Men, nou ka wè ke isit la, nan sa a men oh pa gen okenn, mwen te mete l 'nan anviwònman yo itilizatè?
Petèt mwen mete l 'nan anviwònman yo itilizatè.
Lè sa a, isit la nou ale.
Nan anviwònman yo itilizatè, nou kapab wè ke nou gen yon seksyon CS50,
ak sa a se ke yo te ekri ak li avèk sa yo Cloud 9 plòg-ins
ke nou te aplike.
Genyen yon sèl nan senp yo koresponn ak sa ki senp ploge nan,
ak stats yo yon sèl ki koresponn ak sa yo ki baze entèfas
vèsyon nan panèl la preferans.
Pousantaj nan actualiser, nan ka sa ka, se mete a 20 segonn.
>> Sa a se tout, èspere ke, nan kòmanse nan kèk enfòmasyon
ke nou pral aktyèlman wè nan yon ti ti jan pi plis detay, ti tan.
OK.
Se konsa nou di nou vle aktyèlman jwenn desann nan li.
Nou konprann ke tout nan bagay la ki k ap pase sou bò kliyan
se fè aktyèlman sou navigatè a, ki vle di ke nenpòt plòg-ins ke mwen ekri
yo ale nan dwe ekri ak navigatè a nan tèt li.
Men, si mwen aktyèlman vle fè anyen sou vorkspas a,
Mwen pral petèt gen kòmanse kèk sòt de kominikasyon
ant navigatè a ak vorkspas nan yo dwe asire
ke ki se aktyèlman rive.
Men, kite a di ke kounye a Mwen vle jwenn desann nan li
ak aktyèlman kreye premye fwa mwen ploge nan.
Oke, wout la ke ou ta kapab fè sa se aktyèlman trè fasil.
Li nan ki te bay nan Cloud 9 sdk a.
Men, li la pran ou ki deja egziste Non vorkspas, ki
se URL la ki di ou gen nan tèt yo nan ba ou, epi ajoute sa ki annapre yo nan li.
?
Sdk = 1 & debub = 2.
Kounye a ki sa sa a ki pral yo ki ap pèmèt se ki sdk a = 1 pral aktyèlman mete sdk a
mòd yo vre, ki pral pèmèt yon koup de bagay sa yo adisyonèl.
Apre sa, dbug = 2 pral pèmèt mesaj erè yo dwe yon ti jan ti kras pi plis sil.
>> Se konsa, si ou pote yo moute JavaScript nan konsole nan Chrome tab pwomotè ou,
ou pral aktyèlman ap kapab wè yon anpil plis enfòmasyon
pase ou ta otreman.
Se konsa, mwen rekòmande pou vire tou de nan sa yo sou an menm tan an, paske li vrèman
se itil nan gen tout bagay sa a plis enfòmasyon.
Li nan enpòtan sonje, sepandan, ke vire sou dbug nan valè a nan 2
vle di ke li trè sil, epi li aktyèlman
pral yon ti jan notables ralanti IDE ou, espesyalman lè loading
oswa lè fè fè travay lou.
Se konsa, jis kenbe ki nan tèt li.
Li nan itil pou devlopman, men ou pa gen dwa vle gen l 'sou tout tan tout tan an.
>> Se konsa, kite a aktyèlman fè sa.
Men, nan ka sa a, mwen gen aktyèlman deja mete kanpe yon vorkspas ak sa.
Se konsa nou wè, sdk = 1 & dbug = 2.
Ak yon koup la plòg-ins èspere ke deja enstale.
Tout dwa.
Se konsa, kounye a ke mwen te vire sou dbug nan sdk mòd, remake ke nou se nan mòd dbug,
pou nou ka gade nan zouti yo dev yo wè nenpòt ki erè, ki mwen pral fè offscreen.
Nou ka wè ke gen nan yon pakèt moun sou erè isit la.
Kounye a li nan aktyèlman trè komen pou Cloud 9 a gen yon koup nan erè,
ak mwen pa t 'vle enkyete sou yo jiskaske ou
wè yon bagay ki ta ka gen espesifik nan ploge nan la
ke ou rive yo dwe kreye.
>> Se konsa, isit, pou egzanp, nou jwenn yon koup la 404s-- pa jwenn.
Nou wè nou ap kapab chaje kèk enfòmasyon sou egzanp ki kache
tèt li.
Apre sa, nan yon pakèt moun sou lòt enfòmasyon, men pi fò nan sa a nou ap
aktyèlman ale nan inyore pou kounye a.
Paske sa a se trè komen pou yon vorkspas
gen jis yon koup la erè.
OK.
Mwen pral pou avanse pou pi sa a soti nan wout la epi tounen isit la.
Epi, koulye a fason ki pi fasil, bèl nan bagay sou li te gen pwomotè sa a
mòd pèmèt se ke li pèmèt m ' fasil kreye yon nouvo plug-in.
>> Se konsa, Lè nou konsidere ke anvan m 'aktyèlman pa t' gen nouvo opsyon sa a ploge nan disponib,
ki nou ka wè si mwen tounen nan ki pa mòd pwomotè mwen an sou isit la,
gen nan pa gen nouvo ploge nan.
Pa pèmèt mòd la sdk, mwen gen yon nouvo ploge nan disponib
e mwen ka byen fasil kreye yon sèl.
Nan ka sa a, gen nan yon koup nan opsyon diferan, ki senp,
yon ploge nan vid, yon ploge nan plen, enstale, Cloud 9 pake.
Se pou nou jis chwazi yon vid ploge nan pou kounye a
se konsa ke nou ka wè yon trè senp vèsyon an yon sèl.
>> Koulye a, remake ke ansanm nan kite bò sa a, se gen se kounye a
yon bagay anba Favoris, ki se lis yon koup la plòg-ins
ki kounye a disponib nan m '.
Si m 'elaji sa, nou pral kapab wè sa yo.
Koulye a, mwen vle ou a yon avi yon bagay isit la, ki
se ke sa a se pa sa aktyèlman genyen nan anyè a vorkspas
sou kache Ubuntu egzanp m ', men li se ki sou kondwi a difisil.
Ak ki kote sa a la chita, paske sa a se trè itil nan konnen,
espesyalman si w ap ale nan dwe ap fè anyen ak Git,
kote sa a se la chita nan yon katab .c9, / grefon.
Se konsa, si mwen ale la, nou ka wè ke kounye a lis la nan plòg-ins ki la a
alimèt lis la plòg-ins yo ke mwen te wè sou bò gòch nan vorkspas mwen.
>> Koulye a, pa default, ak sa a se kalite etranj,
pa default lè mwen kreye yon nouvo ploge nan nan yon vorkspas,
li kreye sa a ploge nan ke pa default gen yon non nan yon souliye.
Anjeneral ki ta ka lakòz kèk pwoblèm.
Se konsa, trè pwochen etap la ke mwen anjeneral fè
se jis yo retire ki patikilye ploge nan
epi kite sèlman ploge nan-nan senp ki te gen okòmansman, plugin.simple.
Epi sa a, yon sèl la sèlman sa a, se la.
OK.
>> Se konsa, sa sa a aktyèlman sanble?
Oke, sa a se, ankò, yon pake JavaScript
ki gen ladan kèk dosye, ki gen ladan yon dosye plugin.js, kote
kontni prensipal la nan mwen ploge nan la chita,
yon dosye package.json, ki aktyèlman espesifye
kèk Metadata sou sa a ploge nan, tankou ki otè a se,
nenpòt plis enfòmasyon sou li, yon deskripsyon ploge nan-nan, ak sou sa.
Epi tou pa default, li kreye yon dosye radm vid,
ak yon dosye tès vid pou ou pou w kreye kèk dokiman adisyonèl,
ak yon ekipay tès si ou ta renmen fè sa.
>> Se konsa, kite yo jis pran yon gade premye nan, trè byen vit, nan dosye a package.json.
Li fasil ase yo jis ale nan li, epi nwasi yo nan zòn nan sa a
ke ou ta vle ranpli nan, tankou bay li yon non, bay yon deskripsyon,
repekte nimewo a vèsyon chak konsa souvan, bay
yon otè pou chak moun ki kontribye,
ajoute yo nan kontribye yo seksyon, ak rès la nan ou sa a
kapab bèl anpil jis kite kòm li se pou kounye a.
>> Genyen yon sèl bagay sa a, se enpòtan yo remake,
ke anba seksyon nan plòg-ins, gen yon kle rele ploge nan.
Lè sa a se matche l ak non an nan dosye a JavaScript rele plugin.js.
Se konsa, sa a se ki jan Cloud 9 konnen, lè li li sa a ranpli package.json, ki
a js yo dosye yo aktyèlman chaje.
Si m 'kreye plis dosye js oswa ou ta chanje non ke dosye js soti nan ploge nan,
Mwen gen tou mande chanje li nan dosye a package.json.
>> Nenpòt kesyon soti nan odyans lan?
No
Sa yon moun ki moun ki se yo ansanm avè m 'byen lwen tèlman.
>> OK.
Se konsa, mwen aktyèlman te kreye yon koup la plòg-ins deja,
Mwen panse ke, nan vorkspas sa a.
Se konsa nou debarase m de kèk nan sa yo, ajoute sdk = 1 & dbug = 2, Reload vorkspas sa a,
e kite yo wè si nou gen sa yo plòg-ins kounye a.
C9 / grefon.
Isit la nou ale.
Nou ka wè kounye a nan C9 mwen / grefon nan sa a yon sèl, nou gen plugin.1 ak plugin.2.
Se konsa, nou ap ale nan jis mete kanpe the-- jis ogmante kantite lajan an nan difikilte
nan chak nan sa yo plòg-ins.
Men, isit la si mwen kreye yon nouvo ploge nan, Mwen kapab ajoute li nan favorites mwen.
Apre sa, mwen pral jis efase moun ki soti nan dosye sistèm nan kache.
>> Se pou nou retire sa.
Koulye a, si mwen louvri premye fwa mwen ploge nan, ak plugin.js louvri,
nou ka wè isit la kache nan senp vèsyon an yon ploge nan.
Kite m 'aktyèlman tounen nan sa a lòt vorkspas
paske ou ka omwen, isit la wè, ki sa yon ploge nan vid aktyèlman sanble.
Se konsa, anba kapo a, sa a sanble trè menm jan ak teknoloji rele,
Mwen panse ke, li nan RequireJS.
Remake sa a pa fè sa reyèlman gade, petèt,
menm jan ak kèk lòt JavaScript dosye ke nou ta ka gen pou wè.
Men, olye de sa, gen nan yon koup la jis liy debaz ki li aktyèlman te genyen an.
>> Tout moun nan bagay sa a se premye entèprete pa IDE a,
men li la pa aktyèlman koule jiskaske espesifye.
Apre sa, mwen pral di ou sou lè sa aktyèlman vle di nan jis yon moman.
Men, remake ke isit la gen nan yon main.consumes liy nan liy 2,
ak sa a bay lis tout nan plòg-ins yo ke sa a ploge nan se depann sou.
Se konsa, pa default, nou petèt pa fè sa yo gen nenpòt Dependencies sou lòt plòg-ins,
Men, lè nou aktyèlman bezwen depann sou karakteristik apwovizyone
pa lòt plòg-ins nan IDE a, nou bezwen nan lis moun plòg-ins
nan liy lan main.consumes.
Lè sa a, nou bezwen lyen yo kòd la
anba a, ki mwen pral montre w nan jis yon ti moman sou fason nou ka fè sa.
>> Main.provides bay yon non sa a ploge nan
ke lòt plòg-ins te kapab itilize nan liy konsom yo.
Se konsa, nan ka sa a, mwen ploge nan se jis mete gen pa default,
epi nou ta dwe chanje ke yo dwe aplikab a pwòp nou ploge nan,
jan nou pral wè nan moman sa jis.
Koulye a, isit la nan fonksyon an prensipal yo, sa a fonksyon prensipal
se aktyèlman kouri ak entèprete, men li pa aktyèlman fè anpil.
Li jis vin tout bagay mete kanpe, men li pa aktyèlman kòmanse ploge nan la,
malgre sa non an son tankou.
Sa k ap pase nan aktyèlman yon sekans nan metòd ki
yo genyen nan tout sa a ploge nan.
>> Se konsa, si mwen desann, nou ka wè ke nou gen yon sik kote lavi
sou kèk evènman rele chaj, oswa kèk evènman rele dechaje,
kèk evènman aktyèlman rive.
Li nan reyèlman nan isit la kote kòm ploge nan la kòmanse ke metòd sa yo yo rele yo.
Se konsa nou gen yon ti jan ti kras pi plis konkrè sou sa a ak gade nan yon egzanp.
Se konsa, isit la pou plugin.1, ki sa nou ap fondamantalman pral fè
se kreye yon atik meni rele CS50 Seminè dyalòg 1--
paske nou gen de nan them-- e nou pral
pou bay piki pou l 'nan meni an Fenèt.
Lè nou klike sou li, nou ap ale nan louvri moute yon dyalòg ki
montre nou kèk enfòmasyon trè de baz yo.
>> Nan ka sa a, jis yon mond hello.
Se konsa, sa a se yon trè senp alo dyalòg mond
ke nou ka aplike kòm yon ploge nan nan Cloud 9.
Se konsa, kite a wè ki jan sa a aktyèlman sanble.
Nou pral etap nan li, jis relativman byen vit pou nou
ka gade nan pwochen ploge nan-nan kòm byen.
Remake isit la nou yo konsome yon varyete de plòg-ins.
Nou ap konsome yon dyalòg ploge nan, kòmandman, meni, ak UI.
Sanble mwen aktyèlman kap konsome dyalòg de fwa, Se konsa, mwen ka retire sa.
>> Apre sa, remake ke wout la ke mwen konekte yo,
sa a se sòt de Metadata ki nan di sistèm nan ploge nan sa ki kondisyon
yo aktyèlman nesesè pou sa a ploge nan chaj.
Li la tou enpòtan sonje ke lòd la ki plòg-ins yo chaje
pa garanti.
Men, sa ki se garanti a se ke si mwen presize kèk ploge nan kòm yon kondisyon,
pral ki ploge nan dwe chaje anvan yo yon sèl sa a chaje.
>> Se konsa, ki vle di ke si ou ploge nan mande pou sou kèk fonksyonalite bay
pa yon lòt bagay nan IDE a, ou ta dwe asire w ke ki manje ploge nan ou
ki ploge nan pou ke Dependencies yo sèten yo kreye ploge nan ou,
oswa enstansye ou ploge nan, se sèlman apre sa fondasyon ki deja egziste egziste.
Se konsa, isit la mwen te mansyone nan Metadata a ba manadjè a ploge nan,
ki sa mwen pral konsome.
Ak nan fonksyon prensipal isit la, Mwen pral Lè sa a, konekte
kòd m 'bay moun enpòte plòg-ins.
>> Se konsa, mwen jis ale nan kreye kèk varyab ki
matche ak non yo nan chak nan sa yo se konsa ke mwen ka trè byen vit referans yo
nan tout Kòd m 'yo.
Rezon ki fè la mwen importation dyalòg se paske mwen vle m 'ploge nan
yo aji kòm yon dyalòg ploge nan.
Ak wout la ke mwen se kapab fè sa se yo, nan kou,
konekte Kòd mwen an dyalòg la ploge nan pa importation li
ak Lè sa a pa ki espesifye pa kreye yon nouvo varyab dyalòg
ak konekte li nan ki enpòte ploge nan.
Lè sa a, pa defini m ' ploge nan kòm yon nouvo dyalòg.
>> Se konsa, nan inisyalizasyon a, mwen vle defini m 'ploge nan.
Ak varyab sa a yo rele ploge nan ou pral wè
se jis itilize souvan nan tout Cloud 9 plòg-ins.
Mwen pral enstansye yon nouvo dyalòg ak kèk atribi,
bay li yon non espesifik, di ke li se posib pou itilizatè yo fèmen li.
Ke li pral montre yon ti kras nan x kwen anwo men dwat,
oswa yon bouton ti kras nan nan pi ba kwen men dwat.
Si ou pa mwen kapab chwazi tèks soti nan li, ki sa tit la nan ki dyalòg
ta dwe, ak sou sa.
Koulye a, sa a jis defini dyalòg la, men li pa ankò montre li.
Mwen aktyèlman gen yo defini yon aksyon pou li yo dwe montre.
>> Epi ankò, m ankouraje w pran yon gade nan Cloud 9 sdk a,
paske gen yon dyalòg varyete epi yo ap vrèman byen dokimante.
Ou ka wè ki kalite diferan ke gen, ak sèvi ak yo
nan tou sa ploge nan ou gen nan tèt li.
Koulye a, gen k ap pase yo dwe yon seksyon chaj, ak chaj sa a
fonksyon menm jan ou sonje se itilize pa sik la ploge nan lavi
ki aktyèlman enstansye tout bagay epi pou yo jwenn tout bagay pare yo ale.
Lè sa a charj ploge nan, mwen pa fè sa vle li nan montre imedyatman yon dyalòg,
paske sa a ploge nan pral chaj ansanm ak rès la nan IDE a.
Lè m 'chaje ki IDE, mwen pa vle dyalòg la yo montre leve otomatikman.
Mwen sèlman vle li nan montre lè m 'klike sou opsyon nan meni an atik meni Fenèt mwen
ke mwen pral ajoute nan li yon ti tan.
>> Se konsa, gen nan de etap distenk isit la sa yo ki te rive.
Mwen gen yo kreye yon lòd, ak yo lòd, ki
pral responsab pou aktyèlman ki montre dyalòg la sou Cloud 9 IDE a.
Lè sa a, mwen gen yo konekte, mwen gen yo kreye yon meni lòt fenèt
atik, ki kouri ki lòd.
Se konsa, ki lè m 'klike sou ki fenèt atik meni, ki se lè sa a kouri lòd
ak Se poutèt sa se dyalòg mwen Lè sa a, montre.
Se konsa, sa a se aktyèlman yon trè bèl fason pou panse sou li.
>> Paske premye fwa mwen ka kreye yon lòd ki gen non se CS50 Seminè dyalòg 1,
ki bay kèk kontèks jeneral pou li.
Apre sa, ti jan a enpòtan isit la se yo remake atribi nan Egzekitif, ki
bay lis yon fonksyon ki pral rele nan mwen ploge nan lè se kòmandman sa a kouri.
Se konsa, kòmandman sa a se sòt de tankou a-- li nan jis yon Cloud abitrè 9
lòd sa a, se disponib nan nenpòt Cloud 9 ploge nan.
Men, fonksyon an ke li nan aktyèl pral rele lè se kòmandman sa a kouri
se fonksyon a montre dyalòg nan dosye plugin.js mwen.
>> Apre sa, nou ka aktyèlman wè sa yo plòg-ins ak lis la
nan kòmandman ki disponib nan nou nan Preferences, woulo liv tout wout la down--
kite a wè, aktyèlman nou wè sa a kounye a?
Ploge nan manadjè, pa gen okenn, Mwen panse ke li nan I-- definitivman alantou isit la yon kote.
Oke, gen nan yon lis kòmandman yon kote, men mwen dwe gen,
Mwen te bliye kote li ye.
Se konsa, OK, nou pral deplase sou.
Tout dwa.
Se konsa, nou gen yon lis kòmandman ki disponib nan nou,
ak moun ki yo se kòmandman sa yo jis abitrè Cloud 9
kòmandman ki kouri Kòd espesifik.
Se konsa, jis kenbe ki nan tèt, ki nou ap ale nan kouri dyalòg la montre
fonksyone ti tan.
Koulye a, lè m 'aktyèlman vle ajoute yon meni atik, mwen kapab ajoute ke atik pa chemen,
ak jis presize egzakteman ki kote mwen vle li nan dwe, Fenèt / CS50 Seminè dyalòg 1.
Apre sa, nan pwen sa a, mwen vle yo kreye yon nouvo atik ki
ki pral kouri nan yon lòd, CS50 Seminè dyalòg 1.
Remake ankò, sa a se Cloud a 9 lòd mwen te kreye jis pi wo a.
>> Koulye a, mwen vle tou kreye yon ti kras pataj,
Se poutèt sa mwen ka fè menm bagay la nan liy lan ki vin apre.
Koulye a, ou ta ka remake ke kòm yon pati nan defini sa a atik meni an,
gen nan yon nimewo asosye ak li ki
aktyèlman di ki kote egzakteman Mwen vle ke atik meni yo dwe
sitiye nan lis la nan meni.
Men, ou ta ka remake ke mwen pa fè sa aktyèlman
wè okenn nimewo ak meni sa yo, pa default.
Se konsa, gen nan yon ti bagay kache ki nou ka fè, yon ti kras chanjman nan URL nou an.
Se konsa, nan adisyon a sdk = 1 & dbug = 2, Mwen pral mete meni 1--
ak èspere ke li nan meni an, pa meni.
Oh, li nan meni = 1.
Kenbe sou.
>> Ak sa ki nou pral wè sou rupture ki IDE se se mwen menm ki toujou nan mòd dbug,
men kounye a gen nimewo asosye ak tout meni yo.
Lè sa a di ou ekzakteman ki sa nimewo a
se lè w ap eseye pou bay piki pou yon bagay nenpòt kote nan sistèm meni sa a.
Se konsa, nan meni an fenèt, mwen kapab wè ke atik 45 se kolabore,
ak atik 38 anvan li se enstale.
Se konsa, lè mwen vle pou bay piki pou yon atik ant moun de,
Mwen ta jis chwazi yon nimewo ant de bagay sa yo.
Se konsa, mwen chwazi 41 ak eleman Seminè mwen Dyalòg atik 1 meni nan ki kote.
>> Epi sa a, poukisa nimewo sa a ki parèt isit la se nimewo 41.
Sa se kote sa a nan atik meni nan meni an Cloud 9.
Koulye a, Menm jan an tou, mwen te yo kreye yon pataj
epi ajoute li pou ke gen nan yon bèl divizyon ant chak nan sa yo meni
atik yo.
Se konsa, mwen te ajoute ke nan pozisyon 43.
Se konsa, lwen, se konsa bon, Mwen espere?
Se konsa, kounye a kite a aktyèlman gade nan kòd a espesifik nan montre dyalòg
sa a, se aktyèlman responsab pou louvri fenèt sa a dyalòg.
>> Defile desann, mwen wè ke mwen vle gen sa a montre fonksyon dyalòg,
ak li a trè senp.
Mwen pral kouri montre nan metòd sou varyab la ploge nan.
Epi sonje ke nou defini sa a ploge nan varyab pi wo a kòm yon dyalòg.
Se konsa, ba ploge nan, nan ka sa a, se sa a objè ke nou te defini intern.
Epi, se pral yo dwe yon nouvo dyalòg genyen nan sa a ploge nan.
Se konsa, nou aktyèlman referans sa a ploge nan varyab nan anpil kote
nan yon tipik Cloud 9 devlopman anviwònman.
>> Nou pwal wè li isit la.
Remake jan nou woulo liv desann, gen nan sik lavi adisyonèl.
Se konsa, remake ke sa yo reponn nan evènman ke yo te tire
pa sa a objè, sa a objè dyalòg.
Pa default, gen nan chaje ak dechaje, ki
yo disponib nan tout Cloud 9 plòg-ins.
Men, nan evènman an nan dyalòg sa a, gen nan
yon lòt evènman ki ka dife kòm byen rele
Trase, ki se te tire lè sa se sou yo dwe trase sou ekran,
a egzanp nan premye nan dyalòg la ki montre.
>> Se konsa, lè li se aktyèlman ale nan dwe montre,
gen ki pral bay nou kèk HTML.
Apre sa, lè l sèvi avèk jis estanda Pratik HTML kapab nou
enjekte kèk enfòmasyon trè senp, mond alo nou an, nan ki dyalòg.
Se konsa, si nou Lè sa a woulo liv moute, nou kapab wè Lè sa a, pwosesyon a de bagay sa yo
ke li nan rive.
Premye nou kreye yon lòd Cloud 9 ke lè egzekite pa Cloud 9,
ki pral nan dife fonksyon sa a.
Li nan ale nan kouri fonksyon sa a rele montre dyalòg, pou m 'te
ekri nan kòd m 'yo.
>> Mwen te kreye yon atik meni ak marye ak li ki lòd menm
ke lè se ke atik klike nan meni an, ki bay lòd se lè sa a kouri
epi li se ki fonksyon Lè sa a, kouri.
Ak andedan nan fonksyon an mwen se jis ale nan rele the-- mwen se
jis ale nan montre nan egzekite metòd pou sa a ploge nan, ki
ki pral premye apèl metòd la trase, ak ale
nan dife metòd sa a desann anba a nan, trase evènman kap okipe, nan sik lavi nou.
Lè sa a, li pral aktyèlman montre dyalòg la.
>> Genyen tou yon metòd kache, se konsa ke si mwen bezwen opòtinite pou yo kache
dyalòg mwen, mwen kapab fè menm bagay la.
Se konsa, sa a, se bèl anpil li yo ka resevwa tout bagay sa yo nan travay.
Avi sa a, se si nou woulo liv desann plis gen nan yon friz API piblik.
Sa a fondamantalman jis di ke mwen vle metòd sa yo nan efektivman
gen piblik, men se pa overwriteable deyò nan kontèks la nan sa a ploge nan.
Apre sa, anba a, nan pati anba a trè, se petèt bagay la pase
ke nou reyèlman bezwen yo peye anpil atansyon a isit la, ki
se ke nou yo ale nan nou an enskri ploge nan ak non an C9 Seminè 1,
ak objè ploge nan la.
>> Ki jan ou pral sonje, se ki ploge nan ki ploge nan
bagay ki nou ve yo te defini nan tout antye a nan sous sa a
kòd.
Apre sa, C9 Seminè 1 se nan fisèl ke nou te pwomèt
bay nan tèt la nan definisyon sa a.
OK.
Se konsa nou ranp l 'kanpe yon ti jan ak wè si nou ka fè yon bagay
yon ti kras plis enteresan.
Koulye a, sa a se sèlman tèlman gwo.
Mwen vle di, sa a se, li la aktyèlman trè fre ke nan liy konsa kèk nan kòd,
nou ka modifye IDE a ki deja egziste epi ajoute yon atik meni ki deja egziste
oswa ajoute yon atik meni nouvo, ajoute yon lòd, epi montre yon dyalòg,
ak jis yon pakèt moun sou fonctionnalités ki egziste.
Li nan reyèlman bèl gwo.
>> Men, li pa fè yon anpil paske li pa kapab kominike avèk Ubuntu a kache
egzanp.
Se konsa nou di ke mwen aktyèlman vle chèche konnen
kèk enfòmasyon sou la kache Ubuntu egzanp,
tankou stats yo ploge nan fè.
Se konsa, kite a pran yon gade nan yon ti kras plis enfòmasyon
sou ki jan stats yo ploge nan travay.
Ak nan reyalite, li se trè menm jan ak sa a.
Ou ta ka sonje ke gen nan yon dyalòg.
Ou ta ka sonje ke gen nan kèk enfòmasyon sa a, se
montre jis ansanm ba meni an ansanm tèt la, ki èspere ke ou yo kounye a se
ap resevwa yon gou nan ki jan nou aplike sa a,
jis pa mete atik meni an espesifik pwen ak pa enstansyasyon yon dyalòg
epi montre ki dyalòg.
>> Men, nou pa gen ankò yo montre ou ki jan nou ka konekte li
nan yon lòd nan la kache Ubuntu egzanp.
Se konsa, kite a pran yon gade nan Lè sa a, plugin.2, ki fè jisteman bagay sa a.
Nou pral louvri plugin.js, ki se kòd la pou sa a.
Men, anba meni an fenèt, si mwen klike sou dyalòg 2,
nou ka wè ke li di sa a olye de sa, alo CS50, ki
pa gade tout sa ki Hatian, dwa?
Eksepte, gade sa a.
Kite m 'chanje yon bagay desann isit la.
>> Mwen pral pou yo ale nan m ' vorkspas ak chanjman seminè
yo di yon lòt bagay, tankou Hello, lavil Dann.
Mwen pral fèmen li epi li sove li.
Epi, koulye a mwen pral re-kouri atik meni dyalòg mwen.
Apre sa, remake ke li gen kounye a chanje sa li te di.
Hello, lavil Dann.
Mwen sanble yo te fè yon bagay desann isit la nan kache Ubuntu egzanp nan
san ou pa nenpòt ki manipile kòd ki ankò ap kouri sèlman
sou bò kliyan.
Se konsa, gen nan evidamman kèk sòt de kominikasyon ki nan k ap pase isit la.
>> Koulye a, sa a se kote yon anpil nan nan pouvwa nan Cloud 9 sdk a vini an,
se ke nan plugin.2 sa a, nou ka aktyèlman lakòz
yon apèl pou rive nan kache egzanp,
epi kouri kèk lòd abitrè.
Se konsa, nan ka sa a, mwen gen aktyèlman kreye yon script frape trè senp
nan vorkspas mwen rele Seminè.
Se pou m 'louvri ki yo.
Apre sa, nou ka wè ke li sanble tankou sa a.
Se jis nan yon frape trè senp script ki gen sèl objektif nan lavi
ki pral dwe repete soti tèks sa a, Hello, lavil Dann.
Ou anvan li, li te di Hello, CS50.
Epi sa a, tout li k ap pase yo fè.
>> Paske sa a se kounye a yon lòd ke mwen ka kouri.
Mwen ka aktyèlman kouri li desann isit la.
Nou ka wè ke li aktyèlman se jis yon lòd pou m 'kouri natirèlman.
Mwen kapab mande m 'ploge nan al touye sa a lòd sou vorkspas ki kache
ak analizan enfòmasyon an ki te tounen soti nan li,
ak fè yon bagay ak li, epi modifye mwen ploge nan ak konpòtman an ke mwen
gen nan ploge nan mwen kòm yon rezilta. OK.
Se konsa, kite a wè ki jan sa a k ap pase.
Nou te wè sa a trè senp Seminè pakèt script ke mwen
[Fèbl] ke li ka aktyèlman kouri.
>> Epi, koulye a kite a wè chanjman ki ki nesesè yo mare sa a ansanm
ak fenèt la dyalòg, ak kouri li.
Se konsa, isit la nou ap ale nan fè bèl anpil menm bagay la kòm nou te wè anvan.
Men, remake ke nan mitan an bagay sa yo ke mwen te boule now--
nan adisyon a dyalòg la, ki ankò mwen rive te fè de fwa,
ki se pa necessary-- nan adisyon nan dyalòg la ak kòmandman yo
ak meni yo plòg-ins, ki te nesesè yo nan yon sèl nan premye pou m '
yo defini yon nouvo lòd ak enjekte yon atik nan meni yo,
Mwen menm mwen te gen sa a Proc ploge nan.
>> Lè sa a Proc ploge nan pèmèt nou yo manipile pwosesis
sou egzanp lan kache.
Mwen te konekte li apre mwen te te di ke mwen ploge nan mande pou li.
Mwen te Lè sa a, konekte li nan kòd, kòm nou te wè nan fonksyon prensipal la.
Yon fwa ankò, mwen pral inisyalize dyalòg mwen.
Men, si nou deplase desann kounye a, nou ka wè ki jan sa a se diferan.
Fonksyon an chaj se menm bagay la, se konsa li jis ale nan kreye yon lòd
ak kreye yon atik meni epi konekte ki atik meni ak sa yo ki lòd.
Men, si nou kounye a woulo liv desann nan montre dyalòg,
nou kapab kòmanse yo wè ki kote diferans ki genyen leve.
>> Nou gen fonksyon montre dyalòg, ki se jis ale nan montre dyalòg la.
Men, lè mwen montre dyalòg sa a, epi lè se metòd la montre rele,
li dife fonksyon an trase.
Apre sa, mwen pral Lè sa a, presize kèk kontni andedan nan sa.
Se konsa, mwen jis ale nan kreye yon div, bay nan li
kèk tèks debaz yo, Hello, nan lemonn.
Men, remake ke isit la mwen se ale nan kole yo nan li yon ID.
Ak liy lan trè pwochen mwen pral ke ou jwenn ke lè l sèvi avèk ID JavaScript,
epi estoke ki objè nan yon lòt varyab
ke mwen jis ale nan rele kontni.
>> Se konsa, kounye chak fwa mwen gen kontni, tout mwen bezwen fè
se jis modifye HTML anndan sa a objè a.
Apre sa, HTML a dyalòg pral Lè sa a, kapab modifye kòm byen.
Se konsa, lè sa a ploge nan se Lè sa a, montre, sa ki ka rive
ak sa a se yon evènman nouvo ki se nouvo nan sa a ploge nan,
men k ap pase nan chak ploge nan ak dyalòg la, lè sa a se kounye a yo montre,
Mwen pral rele yon fonksyon rele chache enfòmasyon.
Ak fonksyon sa a se vyann lan nan li isit la.
Mwen pral sèvi ak sa Proc ploge nan ki nou dekri anvan, ki nan chemen an,
se reyèlman jis yon bibliyotèk Node.js ki Cloud 9 ap itilize ap itilize isit la.
>> Se konsa, ou kapab aktyèlman gade moute sou ki jan sa a
travay si ou ale nan nan Dokiman Node.js
epi gade moute nan Egzekitif dosye metòd pou pwosesis la.
Mwen pral kouri sa a espesifik lòd, lakay Ubuntu vorkspas
seminè, ki se ke yon moun menm, ki menm lòd ke mwen kreye anvan.
Bay nan li yon aktyèl k ap travay anyè, jis
yo dwe san danje ultra an tèm de la kontèks nan kote sa a ap kouri.
Ak yon lòt fwa ki te fin ranpli a ak tounen,
Mwen pral kouri sa a fonksyon rele pwodiksyon analyzes.
OK.
Se konsa, sa Lè sa a, ki pral al touye yon lòd sou lokal la, ou pito
aleka Ubuntu egzanp lan.
Lè m 'jwenn tounen kèk enfòmasyon, Lè sa a, mwen se
pral rele yon fonksyon ki apa a rele pwodiksyon analyzes, ki
gen siyati sa a isit la, lerè wi, stdou, stder,
ak fè kèk kalkil sou sa.
Se konsa, si mwen te resevwa yon erè nan kèk kalite nan tout,
Mwen pral aktyèlman tcheke yo wè si erè aktyèlman gen kèk done.
Men, si se konsa, lè sa a mwen pral gen pou modifye enteryè a HTML nan ki kontni objè, ki
se ou sonje, nou konekte nan dyalòg la
a instantiattion sa a nan dyalòg, oswa nan desen an premye
nan ki dyalòg.
Mwen pral jis di ke kèk erè te rive fèt.
>> Koulye a, sa a se tro senplist.
Valè a erè pral tipikman gen yon bagay ki te itil,
petèt yon nimewo ak yon erè erè soti nan script nan tèt li.
Oswa si script la te ekri yon bagay yo erè estanda,
ke done ta dwe peple nan ki paramèt kòm byen.
Apre sa, mwen te kapab fè yon ti jan plis atansyon sou sa ki erè
Mwen aktyèlman ki montre moun.
Men, sa a egzanp senplist se yon bon bagay ase pou kounye a
nan omwen wè ki jan tout bagay sa a fonksyon.
Sinon si gen pa gen okenn erè, Lè sa a, mwen jis
pral bay anvan tout koreksyon nan pwodiksyon nan ki fonksyon
nan HTML anndan an nan kontni sa a eleman, ak Lè sa a mete ajou m 'ploge nan
epi montre li isit la.
Epi sa a, bèl anpil tout sa a, se nesesè yo ka resevwa sa a nan kouri.
Se konsa, kite a panse osijè de lè sa a ki jan sa a opere, an jeneral.
Lè m 'premye chaje sa a ploge nan, jis tankou premye ploge nan la,
Mwen pral ajoute yon lòd sa a, se disponib nan anyen, nan nenpòt ploge nan
nan Cloud 9, ki rele Seminè CS50 Dyalòg 2, ki gen responsablite
yo pral nan kouri sa a montre dyalòg, ki se ou sonje,
pral aktyèlman montre dyalòg la ke mwen mande anba a.
>> Apre sa, mwen pral ajoute ke lòd nan yon meni fenèt
pou m 'gen aksè a sa.
Lè ki dyalòg se mande yo ka montre,
Mwen pral sèvi kèk info soti nan kache Ubuntu egzanp nan
lè l sèvi avèk Egzekitif dosye lòd la.
Eskize m.
Yon fwa ke se tounen ak mwen resevwa kèk enfòmasyon, Lè sa a, sou bò nan kliyan
ankò, mwen yo pral kapab analizan pwodiksyon an nan ki lòd
epi mete ajou enteryè a HTML nan eleman yo
ke nou te konekte nan pi bonè.
>> Se avèk sa, nou Lè sa a, gen sa a okonplè fonksyonèl ploge nan
ki pèmèt m 'nan chache enfòmasyon soti nan sa a script abitrè
ke nou te kreye sou egzanp kache nou an.
Men, ankò, li vrèman enpòtan ak reyèlman kle
separe soti kote chak nan bagay sa yo k ap pase,
ke nou gen tout nan bò kliyan sa a kòd ki se ke yo te kouri nan navigatè a,
epi yo pa ankò gen aksè nan sistèm nan dosye kache
jiskaske nou aktyèlman kouri kèk nan sa yo kòmandman ki yo bay nan Cloud a
9 sdk tankou Proc, ak kèk lòt moun ki pèmèt nou li kèk done,
oswa li kèk dosye si nou bezwen fè anyen nan kalite la.
>> Koulye a, sa a se yon egzanp yon ti jan senp.
Gen lòt bagay ke nou ta petèt vle fè kòm byen.
Pou egzanp, petèt nou aktyèlman vle pou konsève pou kèk enfòmasyon
nan preferans yo.
Oswa petèt nou vle ajoute yon nouvo fenèt preferans
oswa yon bagay sou liy sa yo.
Lè sa a, se sa ki yon bagay ke ou ka pran yon gade nan Cloud 9 sdk a
yo ka resevwa plis enfòmasyon sou.
Men, sa a vrèman se ase yo jwenn te kòmanse.
Se konsa, jis yo dwe yon ti jan ti kras pi plis konkrè sou wout la ke kèk nan bagay sa yo
fonksyon, m te vle montre jis yon sèl plis egzanp, ki se jis kèk
nan kòd la soti nan Stat 50 ploge nan la.
>> Ak kòd sa a se fondamantalman ki baze sou egzanp sa yo
ke ou te aktyèlman wè, men gen kèk pwoteksyon plis
e li gen kèk konpleksite plis yo nan lòd reyalize kèk nan bagay sa yo anplis
ke nou vle reyalize.
Pou egzanp, si mwen vle fè kapab pou konsève pou kèk anviwònman,
Lè sa a, mwen bezwen gen aksè nan Anviwònman yo ploge nan,
ak tout tan mwen vle li kèk anviwònman,
Mwen kapab, pou egzanp, kole yo nan divès kalite evènman nan anviwònman yo ploge nan.
Se konsa, chak fwa anviwònman yo se wouj, pou egzanp, nan pwòp mwen ploge nan,
si mwen pral jwenn li kèk anviwònman soti nan depo a te delivre
preferans nan itilizatè a, lè sa a mwen kapab mete défaut pou yon kote espesifik,
pou preferans espesifik, nan ki JSON opsyon style dosye ke nou te
sove pi bonè, ki nou te wè pi bonè.
>> Men, si mwen pral ekri kèk anviwònman nan li,
lè sa a mwen can-- oswa kòm pli vit ke nou detekte ki anviwònman yo yo te ekri
to-- paske pou egzanp, sa yo ki anviwònman yo te modifye pa itilizatè a
swa dirèkteman nan anviwònman yo dosye, oswa fenèt la preferans
te chanje anviwònman yo ranpli dirèkteman, Lè sa a,
Mwen ka aktyèlman mete ajou kèk nan kòd la oswa mete ajou konpòtman an nan m 'ploge nan
ki baze sou chanjman sa yo sa yo ki te ki te fèt sou dosye a anviwònman kòm byen.
Men, reyèlman, rès la nan li se trè pi sa a ki ou te deja wè.
>> Nou ajoute kèk, petèt yon bagay sa a, se nouvo.
Se konsa, nou ajoute yon dosye preferans, ou pito yon fenèt preferans,
bò fennèt la preferans, ki ankò ou ka jwenn plis enfòmasyon
nan Cloud a 9 sdk li m '.
Men, tout lòt bagay se bèl anpil, bèl
menm jan ak sa nou te wè anvan, jis ak kèk kont kouran erè adisyonèl
ak kèk pwoteksyon adisyonèl ak kèk fonctionnalités adisyonèl
prezante tout nan divès kalite nan bagay sa yo ke nou te wè.
Si ou gen pa aktyèlman wè l 'ankò, ou ta ka
gen mande sa ki kache nan lòd se nan fenèt la Stat 50.
Li nan aktyèlman fonksyon.
Oke, li is-- oh, dammit.
Youn dezyèm fwa.
Kenbe sou.
OK.
Kite m 'deplase sa a moute pou nou kapab aktyèlman wè sa ki rive lè mwen tape Stat 50.
Remake nan ka sa a, nan lòd ke mwen se soti mete
se reyèlman ankò, jis script la sa a, se ale nan pwodiksyon yon pakèt moun sou enfòmasyon
nan fòma JSON.
Ak rezon an ki nou fè l ' fason sa a se ke paske nou
yo ap opere, paske nou te ekri kòd a bò kliyan nan JavaScript,
nou kapab trè fasil jis analizan JavaScript objè,
ak reyèlman kapab manipile moun ki objè jis tankou nou ta
nenpòt lòt JavaScript objè.
>> Se konsa, sa a se yon trè pratik fason pou bay kèk enfòmasyon
soti nan kache Ubuntu egzanp lan, tankou nimewo a vèsyon, lame a
non, si yon sèvè se koute, sa sèvè a se, sou sa ak pou fè,
ak analizan ki trè fasil ak trè vit
nan ploge nan-nan ki se lè sa a ale yo montre nou tout enfòmasyon sa.
Se konsa, ankò, insight nan kle la a yo kenbe nan tèt ou
se separasyon sa a ant egzanp ki kache,
epi tou li ki kote kòd la ke yo te chaje.
Ke lè mwen gen yon kliyan, li nan premye loading.
Jis sa a estatik JavaScript dosye soti nan yon kote, petèt CDN nan kèk kalite.
Nou pa vrèman gen nan swen twòp sou sa a premye etap.
>> Nou jis konnen ke li nan kouri sou bò kliyan
e ke sa a lè mwen pral kominike avèk sa a egzanp Koupre.
Sa nou ap ale nan fè sa a Cloud 9 sdk a.
Nou pa aktyèlman gen kapasite a, lè l sèvi avèk JavaScript oswa Node.js,
yo ekri dirèkteman nan li.
Nou jis sèvi ak sa yo ki deja egziste sdk APIs fè aksyon ki pou nou.
Epi ankò, youn nan la bagay vrèman enpòtan
se ke lè mwen te kreye sa a, lè m 'te kreye sa a ploge nan,
ak jan mwen ap travay sou li, yon sèl nan bagay sa yo enpòtan fè
se yo pote moute konsole a JavaScript.
>> Paske depi sa a se tout opere sou JavaScript nan,
sou bò kliyan, si mwen sèvi ak yon console.log method-- Se konsa, jis
yo montre yon egzanp isit la.
Ann eseye chanje sa a ki senp ploge nan yo tou ouvri sesyon kèk done.
Epitou, n ap ajoute estanda deyò.
Se konsa nou chanje sa yo dwe gen dwa isit la.
Koulye a, lè m 'egzekite console.log, kenbe nan tèt
ke depi sa a ap kouri sou bò kliyan,
Mwen pral wè sa a nan pwòp mwen JavaScript konsole, ki
se ki jan mwen pral Lè sa a kapab eseye rézoudr ak dbug
kèk nan pwoblèm yo ki m 'genyen.
>> Remake paske Mwen menm mwen nan sdk mòd, mwen se
Lè sa a, kapab manipile plòg-ins sou egzanp sa a.
Se konsa, menm si li se sove sou egzanp sa a,
sa a se egzanp lan youn nan ki anvan yo règ ke yo te vyole, kote Cloud a 9
Sdk pral aktyèlman rale plòg-ins ki soti nan kache egzanp ak Lè sa a kouri yo.
Se konsa, ki nan fason sa a, mwen Lè sa a, kapab manipile ak konstwi
kèk plòg-ins isit la.
Men, nan lòd pou mwen pou m wè dènye nan sa a ploge nan,
paske li nan sou bò kliyan, Mwen bezwen pou konsève pou ki ploge nan
ak Lè sa a Reload vorkspas la an antye, se konsa ke nouvo ploge nan la se Lè sa a,
telechaje sou kliyan m 'yo, sou mwen se navigatè entènèt, ak Lè sa te itilize.
>> Se konsa, kounye a lè Mwen klike sou sa a Seminè Dyalòg 2, nou toujou wè sa a.
Men koulye a, èspere ke nan JavaScript mwen dyalòg, yo ta dwe nou wè my-- rete tann,
kenbe fèm nan.
Mwen ta ka gen yo louvri dyalòg fre a.
Nou ta dwe wè resevwa done m 'isit la.
Done resevwa, Hello, Dann lan, ki se ou sonje,
te yon operasyon ki console.log nou mande nan ploge nan la.
Se konsa, Lè sa a, sa a deskripsyon ke mwen mansyone anvan,
dyalòg sa a, oswa sa a dyagram olye, ke mwen
mansyone anvan se sa ki rive.
Men, gen nan yon enpòtan eksepsyon sèlman pou devlopman,
ki se ke ploge nan la tèt li ta ka aktyèlman
dwe estoke sou egzanp lan Koupre pou yon ti tan, depi prezimableman Cloud 9
pa vle nou pou kapab manipile objè sou CDN yo.
>> Apre sa, Cloud 9 kliyan yo, sou loading, ap jwenn moun plòg-ins nan sa.
C9 ploge nan katab, ak chaj sa yo.
Men, moun sont toujou k ap pase sèlman sou bò a kliyan.
Se sak fè sa a se jis yon nan eksepsyon ki fèt sèlman
pou devlopman nan Cloud 9 plòg-ins.
Men, rès la nan la time-- ak rezon ki fè yo
ke nou vle reyèlman mato home-- sa a
se paske pi fò nan tan an sa a se ale nan dwe kouri soti nan CDN la,
ak jis ale nan dwe kouri piman ki sòti bò kote kliyan.
>> Nòmalman gen pral pa gen okenn entèraksyon ak ploge nan la,
oswa si gen pa menm gen yo dwe nenpòt ki rezon ki fè ploge nan-ins tèt yo
yo aktyèlman ki estoke sou la kache egzanp Koupre,
eksepte nan ka a nan sa a devlopman sdk.
Se konsa, ankò, sa a chanje jis yon ti kras paske nan lefèt
ke nou ap kouri mòd sdk.
Li nan ale nan Lè sa a, chaje moun plòg-ins soti nan devlopman,
ak bi pou sèl isit la se lè sa a, Mwen ka itilize Cloud 9 fè devlopman
pou Cloud 9 grefon.
Men, menm sa, sa a pa chanje ankò ki jan nenpòt nan sa a travay.
Li nan toujou ap kouri antyèman sou bò a kliyan.
>> Li jis vle di ke chak fwa mwen vle kreye Cloud 9 plòg-ins nan Cloud 9,
Mwen kreye moun plòg-ins, mete yo nan mwen.
C9 / grefon katab nan kay mwen anyè, asire w ke mwen se nan sdk mòd,
Reload paj la chak fwa mwen aktyèlman fè chanjman nan ki ploge nan,
ak wè sa ki k ap pase nan JavaScript konsole m 'yo.
Jis jere JavaScript mwen konsole a asire w
ke nenpòt depanaj enfòmasyon ke mwen mete konsole,
oswa tout lòt bagay ki ta ka rive paske nan erè ke mwen te ekri
nan kòd mwen oswa renmen an, parèt la.
>> Se avèk ke, li vrèman ase yo jwenn te kòmanse, mwen panse,
ak Cloud 9 plòg-ins yo.
Espesyalman pran yon gade nan sdk a dokiman ki Cloud 9 bay.
Li se yon bon fason jwenn te kòmanse, ak trè fasil
kreye kèk plòg-ins pou Cloud 9.
Se avèk sa, mwen vle remèsye nou tout anpil pou rantre nan m '.
Mwen espere ou pral gen plezi ekri plòg-ins pou Cloud 9.
Petèt amelyore plòg-ins ke nou gen kounye a, oswa petèt menm
pandan l ajoute kèk fonctionnalités nan pwòp ou yo.
Nou gade pou pi devan pou wè sa li ye ou kreye.
Jouk lè sa a, babay.