>> [MUSIC Playing]
>> STEPHEN çallmë: Kështu që unë jam Stephen çallmë.
Gjatë në anën këtu, ndoshta ne mund të merrni disa njerëz të zhyten në.
Ne kemi Gabrieli dhe Zack.
Pra, për një plan të shkurtër mbi çfarë kjo do të duken si,
Unë jam duke shkuar për të bërë disa jashtëzakonisht vështrim i nivelit të lartë në çfarë MVC është.
Gabe?
>> GABRIEL Guimarães: Unë jam duke shkuar për të flasim për Ruby dhe pak
si binarët vepra dhe se si ajo mund të t'ju ndihmuar të ndërtoni aplikacioneve web.
>> Zack CHAUVIN: Dhe unë jam duke shkuar për të t'ju tregojë një shembull specifik të si
për të përdorur binarët për të ndërtuar një app super awesome.
STEPHEN çallmë: mbresëlënës.
Sweet.
Dakord.
Pra, le të flasim për MVC.
Pra, le të shkojnë në rrëshqitje të ardhshëm, i cili Unë do të bëj duke shtypur këtë buton.
Dhe le të shkojnë në zhvillimin next--, Më pëlqen të mendoj për të shkuar në CVS,
sepse CVS është një dyqan dhe gjithashtu ka një V në qendër.
>> Dhe kështu le të imagjinojmë në një dyqan.
Dhe le të bëjë këtë dyqan shes vetëm një gjë.
Pra, ne do të kemi këtë ruajtur vetëm shesin këto gota të kuqe.
Dhe imagjinoni ju ecni në, dhe ju shkoni në frontin e dyqan, dhe personit.
Dhe emri i tij është Vince.
>> Dhe Vince valët përshëndetje në ju, thotë hi.
Dhe ju të vini re një gjë në lidhje me Vince.
Pra, sa herë që ne mendojmë për Vince, ne duhet të mendojmë për dy mbiemra kyçe.
Vince është e bukur, por ai është budalla.
OK.
Pra, ju e dini, nuk ka faj të vetin, për fat të keq, ai është i bukur.
Ai është pikëpamja jonë.
Pra anëtar jonë e parë cast është atje.
Mbani në mend.
>> Tani, ju pyes Vince, ju shkoni, hej Vince.
Unë jam një klient.
Ai thotë hi.
Unë me të vërtetë dua një nga gota tuaj të kuqe.
Dhe çfarë thotë Vince?
A ka dikush ndonjë Ideja çfarë thotë Vince?
Unë jam duke shkuar për thirrje të ftohtë.
Çfarë mendoni Vince thotë?
>> AUDIENCA: Ai thotë, unë mund të ju tregojnë ku ajo është, por unë nuk mund të ju jap një të tillë.
>> STEPHEN çallmë: Ai thotë, unë mund të ju tregojnë ku ajo është, por unë nuk mund të ju jap një të tillë.
Edhe më keq.
Dikush tjetër të ketë një tjetër idenë se çfarë Vince mund të thoni?
>> AUDIENCA: Ai ka për të shkuar kontroll nëse ata kanë ndonjë gota të kuqe.
STEPHEN çallmë: Vince nuk bën e di edhe ai ka për të kontrolluar.
Çdo gjë tjetër?
Pra, ju tha, ka për të kontrolloni nëse ai ka gota të kuqe.
Shkoni përpara.
AUDIENCA: Çfarë është një filxhan të kuqe?
STEPHEN çallmë: Çfarë është një filxhan të kuqe?
Çfarë është një filxhan të kuqe?
Vince është i hutuar.
Pra Vince do të flasim për anëtar tonë të ardhshëm të hedhura, Carl.
Dhe kur ne mendojmë për Karl, ne Gotta mendoni rreth dy adjectives-- madh
ai është kontrolluese, por ai është i paaftë.
>> Pra Vince goes-- ai shkon, çfarë është një kupë e kuqe?
Unë nuk e di se çfarë është një kupë e kuqe është.
Ai kthehet rreth, dhe ai pyet Karl.
Ai thotë, Carl, dikush kërkoi një gotë të kuqe.
Mund ta bëni atë?
Dhe çfarë thotë Carl?
Le të kuptoj atë.
A ka dikush ndonjë Ideja çfarë thotë Carl?
Dhe unë vetëm do të përsëris atë përsëri tek ju.
Unë pashë një lëvizje të dorës.
>> AUDIENCA: Ai tregon dikë tjetër për të marrë gota të kuqe.
>> STEPHEN çallmë: Ai tregon dikush tjetër për të marrë kupën e kuqe.
Exactly.
Dhe nuk kemi një ide që ai person mund të jetë?
Kjo është një aluzion.
Ajo do të fillojë me një M. Mob?
>> AUDIENCA: Model.
>> STEPHEN çallmë: model, po.
Emri i tij nuk është modeli, për fat të keq, sepse kjo është një emër pa kuptim.
Ne kemi Mitt.
Dhe kur ne mendojmë për Mitt-- jo, kjo nuk është një foto e Zack.
Ne duhet të mendojmë për dy mbiemra kyçe me dorë.
Ai është i aftë, por ai është i nënshtruar.
Pra Mitt di atë që ai ka për të bërë, por ai me të vërtetë nuk mund të bëjë asgjë.
Ose ai me të vërtetë nuk mund të vendosë vetë.
>> Pra, ne kemi Carl.
Carl bërtet në dorë.
Dhe ai thotë, hej Mitt, ne kemi nevojë gota të kuqe.
Dhe Mitt shkon në thesar të tij të kuqe filxhan.
Ai grabs një filxhan, dhe ai jep atë përsëri.
A ka dikush ndonjë ide se çfarë ndodh pastaj?
Jep kupën.
Deri tani Mitt ka shkuar në të kuqe të tij filxhan depo, e marrë atë,
kontrolluar atë jashtë, tha: Kam marrë një gotë të kuqe.
Dhe ai është duke i dhënë atë për të Karl.
A keni një ide?
Çfarë mendoni Carl bën?
>> AUDIENCA: Carl jep atë për Vince.
>> STEPHEN çallmë: Carl jep atë për Vince.
Vince.
>> AUDIENCA: Dhe Vince tregon atë për të [e padëgjueshme].
STEPHEN çallmë: Pikërisht.
Pra, kjo është pikërisht ajo.
Pra Vince merr kupën, nuk e di edhe se çfarë është,
por ai e tregon atë të përdoruesit.
Pra, le të përpiqemi për të rikrijuar kjo me të vërtetë një kohë të shkurtër.
Dhe ne jemi gonna nevojë tre vullnetarë heshtur,
si ju djema nuk janë duke shkuar që të jenë në gjendje të flasin.
Kështu do të mund unë të kap tre?
OK.
Dhe kush do të donte të jetë?
>> AUDIENCA: unë do të jetë Vince.
>> STEPHEN çallmë: Vince, OK.
Beautiful por budalla.
I madh.
Dikush tjetër?
Ne jemi duke kërkuar për një i aftë por i nënshtruar.
Çdokush tjetër duan të jenë të aftë?
>> AUDIENCA: Unë mund të jetë Carl.
STEPHEN çallmë: Sweet.
Ne kemi marrë Carl.
>> AUDIENCA: Mitt.
>> STEPHEN çallmë: Mitt, OK.
Dhe ne jemi duke shkuar për nevojë a-- unë do të jetë konsumatori.
Pra, eja lart, eja lart.
Dhe është e të gjithë në funksion?
Kështu që unë jam duke shkuar për të pyetur për Vince të qëndrojë në frontin, vetëm i qeshur,
vetëm qeshur aq e ndritshme sa të jetë e mundur.
Dhe ne jemi duke shkuar për të pyetur Karl, e drejtë, pse nuk e bëni ju, si,
qëndrojë e drejtë pas saj?
Dhe Mitt, pse nuk bëni ju vetëm të shkojnë jashtë në shpinë,
dhe pastaj unë do të ju jap një grup e gota të rri me.
>> Kështu që unë jam një klient.
Unë vij.
Dhe unë bëj [e padëgjueshme] I them, hi, unë do të doja një filxhan.
Perfect.
Pra Vince ka asnjë ide.
Pra, çfarë e bën Vince bëjë tjetër?
Vince-- OK, kështu që unë jam duke shkuar të jetë narrating tani.
>> Vince bërtet Karl, filxhan!
Çfarë do të bëni Carl?
Carl yells në dorë.
Mitt grabs një filxhan.
Mitt jep atë për të Karl.
Carl kthen atë në Vince.
Dhe Vince tregon atë të përdoruesit.
>> Dhe kjo është një lartë, të lartë, të lartë, sy aq i lartë në MVC.
Ne e ndajnë atë nga të paturit e një pamje, çfarë përdorues sheh, një kontrollues, dikush
i cili bën çdo gjë në sfond por me të vërtetë nuk mund të rinovuar asgjë
ose nuk mund të bëjë asgjë të ndonjë rëndësi përveç duke e quajtur pamjen dhe modelin.
Dhe pastaj ne kemi Mitt, model, i cili përditëson çfarëdo të dhënave që kemi.
Pra, ju falënderoj aq shumë për të bukur tonë, kontrollin, dhe vullnetarë të aftë.
Dhe unë mendoj se ishte ajo.
>> [Duartrokitje]
>> Unë mendoj Gabe do te flase tani në një nivel të shpresojmë se më pak të lartë.
>> GABRIEL Guimarães: OK, djema.
Tani le të flasim pak pak më shumë rreth Kodi dhe për Ruby në binarët vetë,
dhe për mënyrën se si ajo lidhet për të gjithë këtë histori MVC.
Në thelb, Ruby on Rails është një kornizë.
Më shumë për se në një të dytë.
>> Por vetëm për të ju jap një kuptim i cili është duke e përdorur atë,
si, të gjitha këto companies-- madh kështu Github, Groupon, Twitter--
ata janë të gjithë duke përdorur Ruby në Binarët si kuadër i tyre kryesor
për të zbatuar web faqen e tyre.
Kështu që unë jam i sigurt se shumë njerëz kanë përdorur këto faqet e internetit këtu.
Dhe është e gjitha Ruby në binarët për të zbatuar model, pamje, dhe kontrollues
në të gjitha këto faqet e internetit dhe shumë më tepër.
OK?
>> Pra, siç thashë, Ruby në Binarët është një kornizë.
Dhe ju mund të lloj të mendojnë për një kornize në kuptimin e si ndërtimin e një shtëpie.
Pra, nëse ju jeni duke shkuar për të ndërtuar një house-- dhe ju mund gjithmonë
filloni nga e para, apo jo?
Ju mund të përpiqen për të dalë me një mënyrë për të parë atë dru,
dhe për të sjellë dru në vend, dhe për të marrë gurët në formën e duhur,
dhe pastaj të gjithë se.
Por që do të marrë ndoshta shumë vite
deri sa ju të merrni të gjithë materialin, dhe ju të merrni gjithçka së bashku,
dhe ju në të vërtetë të fillojnë për të ndërtuar shtëpinë tuaj.
>> Pra, ajo rezulton në qoftë se ju të filloni me një kornizë me diçka që është
tashmë lloj në vend për çdo lloj të shtëpisë
që ju doni të build-- diçka që është shumë i përgjithshëm, por që ju mund të
pastaj modeluar drejt tuaj goals-- atëherë ju mund të levave
kjo fuqi e kornizave për të ndërtuar ata diçka shumë, shumë më të shpejtë.
OK.
Pra, kjo është e njëjta ide në një korniza për një aplikim të internetit
ose për çdo lloj të aplikim, për këtë çështje.
>> Ju në fakt filloni me gjysmë aplikim
tashmë atje në vend për ju.
Dhe nga kjo, unë do të thotë që ju të merrni shumë Fotografi që tashmë kanë funksione,
si bibliotekat, si funksionalitet, dhe urdhëron që ju mund të kandidojë në mënyrë
për të bërë jetën tuaj shumë të thjeshtë dhe më të lehtë.
OK.
>> Pra në këtë rast, ne jemi duke shkuar për të folur për Ruby në binarët.
Ka shumë të ndryshme Kornizat atje.
Ka Django për Python.
Ka Korniza Zend ose Laravel për PHP.
Ka shumë e ato të ndryshme.
Ruby on Rails është një njeri mjaft i mirë i ri.
Shumë njerëz e përdorin atë në startups dhe ky lloj i mjedisit.
Dhe disa nga këto shumë të mëdha Kompanitë që unë treguan këtu para
janë gjithashtu duke përdorur Ruby on Rails.
>> Pra, vetëm për të ju jap një kuptim të asaj Ruby është
si, pasi që ju djema janë më të përdorura për të, si, C dhe pak e PHP
tani, kështu Ruby do të jetë ekuivalent i PHP tuaj në këtë kuptim.
Kjo nuk është Ruby.
Kjo është C. OK?
Por kjo është si Funksion DJBHash se unë
e di shumë njerëz që përdoren për gabim PSET.
>> Dhe në Ruby, goxha shumë si në PHP, ju
mund të zbatojë këtë me vetëm disa rreshta të kodit.
Në vend të pasur nevojë të shqetësuar për funksionin hash,
pasur nevojë të shqetësuar në lidhje me kova, dhe të gjithë se, ju mund të them vetëm,
dictionary = Hash.net.
Dhe pastaj ju përdorni lloj si e njëjta ide se PHP kishte.
Dhe kështu kjo është për të vërtetë.
Dhe pastaj në qoftë se ju doni të kontrolloni, kështu funksionin kontrolloni
do të ishte nëse fjalor "foo" është e barabartë është e barabartë e vërtetë, kthimi i vërtetë.
Dhe kjo është e gjitha, OK?
>> Kështu që ju të vini re disa dallime.
Nuk ka gjysmë-colons këtu, si ka qenë në C.
Por ideja e përgjithshme është shumë e ngjashme.
OK?
>> Gjithashtu, në Ruby, ka gems, të cilat janë lloj i bibliotekave Ruby.
Dhe binarët trajton ato në një mënyrë shumë e mirë për ju.
Pra, nëse ju doni të vendosni në disa biblioteka që
që rritet edhe email, ose se bën mesazheve tekst,
ose që bën integrimin me Facebook, apo ndonjë lloj gjë
si se për app tuaj, kjo është shumë, shumë e lehtë.
Shanset janë që ju mund të gjeni diçka si se në internet.
Dhe ata vetëm bëjnë diçka si vënë cila
perlë ju doni të përdorni në dosjen perlë.
Dhe pastaj binarët instalon gjithçka.
Ju nuk keni për t'u shqetësuar për ndonjë e që, kështu që është me të vërtetë cool.
Gjithashtu, ka shumë, shumë ndihmë online.
Kështu që ju mund të gjeni shumë gjëra.
Nëse ju keni një gabim, ju vetëm mund të Google atë,
dhe kjo do të jetë shumë e lehtë për të marrë ndihmë.
>> Dhe kjo është një shumë e fun-- exactly-- sepse ju
nuk duhet të shqetësohen për të nivelit të ulët detajet, zbatimi i tabelave hash
dhe që ka për të dalë me të gjitha të HTTP headers, dhe shumë gjëra,
dhe madje edhe disa gjëra të nivelit më të larta.
Ju nuk keni për t'u shqetësuar gati se në binarët.
Ai e bën atë shumë, shumë e bukur për ju.
Dhe ne jemi duke shkuar për të treguar se më konkretisht shumë shpejt.
OK.
>> Kështu pak për Ruby përsëri.
Pra, kjo është vetëm si C, siç thashë.
Në vend të printf, ne themi "Vë", e cila është "vënë varg."
Ajo vë një varg në tastierë.
Dhe në këtë rast, ne jemi vetëm shtypjen "Hello World".
Ne nuk kemi nevojë të kllapa, por kjo është shumë e shumë të ngjashme.
>> Dhe pastaj në qoftë se ju doni për të bërë diçka këtu,
si printoni një bandë e "SmaLLs" dhe një bandë e "Bigs" në një lak, ndërsa,
kjo është lloj si në C, e drejtë?
Ju nuk keni të params, por kjo është shumë e shumë të njëjtën gjë.
Gjurmë këtu akuza, kështu që është e barabartë me x 1.
Dhe pastaj Ndërsa x është më i vogël se 50-- ky është një rast, ky është një tjetër.
Është shumë e shumë si ajo që ke parë.
>> Dhe pastaj x + = 1 është vetëm bën rritjen, lloj si duke bërë ++ që ju mund të
bëni në C. Por kjo është goxha shumë atë që ke parë në C.
Ajo nuk duhet të jetë shumë e komplikuar.
Por ajo është më e fuqishme.
Pra, ka një komandat disa këtu që janë patjetër pak më të reja.
>> Kështu për shembull, "vë".
Ju mund të përdorni këtë simbol hashtag këtu për të vetëm të shtypur something--
shumë e shumë si ajo që ju do të bëni nëse % D ose% C ose disi si kjo.
Dhe në të vërtetë ju mund të vendosni një Nëse menjëherë pas deklaratës.
Kështu që unë vetëm dua të bëj this-- Nëse x është më i madh se 3.
Pra, pse do të më duhet të të bëjë një të tërë Nëse bllok?
Nuk e di.
Unë vetëm mund të shtypura kjo vetëm nëse x është e barabartë me të madh se 3.
Pra, kjo është një mënyrë një linjë e bërë këtë në Ruby.
>> Një listë në Ruby është diçka shumë e shkathët.
Pra, ju nuk duhet të vërtetë që të ketë vetëm një lloj.
Ju mund të ketë një varg, dhe pastaj disa numra, dhe çdo gjë.
Dhe në qoftë se ju doni të append diçka në një listë,
ju mund të përdorni vetëm kjo simbol të drejtë këtu.
>> Dhe në qoftë se ju doni të iterate.
Shumë e shumë 4each në PHP, këtu, ju kanë një listë dhe ju bëni "List.each bëjnë."
Dhe kjo "elem," kjo është si ai i secilit element
që unë jam do të ketë në listën time.
Dhe atëherë unë vetëm mund të "vë ELEM."
Dhe "vë" shumë e shumë trajton vënë atë për ju, botimit të saj.
Nuk ka rëndësi nëse kjo është një varg apo një int.
Ajo do të punojë që jashtë për ju.
E drejtë?
Ftohtë.
>> Dhe ashtu si PHP, Ruby dhe HTML gjithashtu të integruar shumë, shumë e bukur.
Dhe këtu, ka disa HTML me Ruby në të.
Pra, ne kemi një tag trupit si në HTML.
Dhe në qoftë se ne duam të kontrolloni që një përdorues është, për shembull,
Anglisht në, mund të themi vetëm, duke filluar nga Ruby, nëse user.logged_in ?, fundi i Ruby.
Printo këtë gjë të tërë, e cila ka disa Ruby në të, i cili është i vetëm
lloj i si kjo sintaksë për PHP që printon nga një ndryshore.
Le të printoni user.name.
>> Pra mirëpritur, Stefanin, brenda një div HTML.
Dhe në fund, ne kemi një "fund" dhe Kodi Ruby, që do të thotë kjo është e mia
Nëse bllok.
OK?
Pra, kjo është vetëm si një seamless Integrimi në mes Ruby dhe HTML.
Ka edhe shumë burime.
Por para se të shkojë përpara, bën askujt keni ndonjë pyetje në lidhje me Ruby, ndonjë gjë?
OK.
>> Ka shumë të burimeve në internet të tryruby.org, Kodi Akademisë,
ruby-lang.org, ku ju mund ta provoni atë jashtë në shfletuesin tuaj para se ju në të vërtetë
thonë, oh, OK, unë jam duke shkuar për të përdorur Ruby për projektin tim final.
Dhe kështu patjetër jap atyre një provoni.
Të gjitha këto slides janë do të jetë në dispozicion në internet,
kështu që ju mund të shkarkoni vetëm ato.
Dhe po?
>> Audienca: [padëgjueshme] çfarë ju vetëm tregoi
u HTML dhe kodin ngulitur në ajo në këtë nocion të Model View
Kontrolluesi?
>> GABRIEL Guimarães: Po.
Ne do të bëjmë që në një të dytë kur kemi treguar shembullin tonë, OK?
Faleminderit për pyetjen.
Pra pyetja ishte në thelb nëse ne mund të tregojnë këtë integrimin e Ruby
në HTML brenda Modelit Shiko të kuadrit Controller.
>> Pra, ideja e Modelit Korniza View Controller
Është kjo është në thelb një filozofi, vetëm si Stephen treguan këtu.
Dhe kjo nuk është diçka që ju duhet të bëni,
por kjo është diçka që i bën jeta juaj aq shumë më e thjeshtë.
Dhe Ruby on Rails është ndërtuar rreth kësaj filozofie të kodit.
Pra, ne jemi duke shkuar për të treguar një shembull shumë shpejt.
>> Pra binarët është dashuri.
Shumë njerëz janë duke e përdorur atë, siç thashë.
Dhe kjo është me të vërtetë zbavitëse.
Ju djema duhet patjetër t'i jepte një provoni.
MVC e bën gjithçka më të thjeshtë.
Pra, Model Shiko Controller, gjërat ndarëse
dhe duke i vënë një person, në vetvete, apo një pjesë e aplikimit tuaj
të bëjë secili nga punët e ndryshme se jeni i kërkesë ka të bëjë.
Dhe më pak koha e kaluar në probleme të nivelit të ulët.
Dhe shumë e famshme tani.
Ne kemi binarët 4,0, cila eshte nje version re.
Dhe ajo vjen me një shumë të cool stuff.
Një tjetër pyetje.
>> AUDIENCA: Një pyetje tjetër.
Ruby on Rails kundrejt Ruby on Rails Grails.
>> GABRIEL Guimarães: OK.
Pyetja ishte, Ruby on Rails kundrejt Ruby--
AUDIENCA: Grails.
Ruby?
>> GABRIEL Guimarães: Po.
Pra Ruby është gjuhë.
>> AUDIENCA: Jo.
Unë jam duke kërkuar që ju të krahasoni një gjuhë dhe një kuadër, Ruby on Rails,
me një gjuhë tjetër popullore framework-- Grails-- me Ruby
on Rails.
>> GABRIEL Guimarães: OK.
Më vjen keq.
Pyetja u, krahasoni Ruby dhe Ruby on Rails
në një tjetër kornizës dhe another--
>> AUDIENCA: Ruby.
Është në rregull.
Nëse ju nuk e dini në lidhje me të, kjo është në rregull.
>> GABRIEL Guimarães: Si, ajo që unë kuptoj është that--
>> AUDIENCA: Ka një tjetër Korniza quajtur Grails.
>> GABRIEL Guimarães: Oh, Grails.
Kurrë nuk kam dëgjuar për të.
Më vjen keq.
Kurrë nuk kam dëgjuar për Groovy on Rails.
Më vjen keq.
>> AUDIENCA: Është shumë më mirë integruar me Java.
>> GABRIEL Guimarães: Unë shoh.
>> AUDIENCA: Unë jam vetëm kureshtar në lidhje me disa njerëz unë e di like--
>> GABRIEL Guimarães: Jo, unë kurrë dëgjuar se një, për fat të keq.
Grails.
>> AUDIENCA: Dhe disa njerëz padyshim si Ruby në binarët.
>> GABRIEL Guimarães: Unë e kam përdorur Ruby on Rails shumë.
Unë e kam përdorur disa Django me Python, siç tha unë.
Unë e kam përdorur disa Laravel.
Por unë nuk e kishte përdorur Groovy on Rails.
Më vjen keq.
Dhe kjo është shumë e famshme tani me binarët 4,0.
Si, disa gjëra që binarët bën për ju, për shembull, është që ju
kanë shumë fotografi CSS dhe shumë fotografi JavaScript.
Dhe ju mund të trajtoni ata si i veçantë dhe çdo gjë.
>> Por pastaj ajo automatically-- kur ju dërgoni kodin tuaj për të prodhimit,
ajo automatikisht përpilon ata të gjithë në një skedar të vetëm
që është minified pa ndonjë hapësira, kështu që ajo merr
më pak hapësirë ​​në aplikimin tuaj, kështu që që ju mund të vërtetë të shkallës gjëra shumë.
Kjo është arsyeja pse kompanitë e tilla të mëdha si Twitter dhe Github
janë duke përdorur binarët, sepse ai bën të gjitha që për ju, e cila është me të vërtetë cool.
>> Një gjë që është shumë, shumë, shumë të frikshme
për njerëz, përfshirë edhe mua, të cilët janë duke u përpjekur për të punuar
me një kuadër në fillim, është e që kur ju filloni një kërkesë,
ju jeni do të shihni një bandë e dosjeve.
Si, kur ju krijoni Binarët e Re, Aplikimi im,
ju jeni do të shohim të gjitha këto folders-- app, bin, config, db, lib,
log, publikun.
Si, shumë dhe shumë e stuff.
>> Dhe i parë kohë unë pa që, unë kam qenë si,
OK, unë nuk kam asnjë ide se çfarë po ndodh.
Unë vetëm dua të krijoj një website me "Hello, bota,"
dhe kjo është duke i dhënë mua, si, 100 miliardë faqe të ndryshme.
Unë nuk e di se çfarë po ndodh.
Pra ju lutem mos jetë shumë i frikohet nga kjo.
>> Ideja është se ajo në të vërtetë ka gjysmën e një shtëpi atje për ju tashmë.
Ajo ka një të tërë Korniza për ju tashmë.
Kjo është arsyeja pse ka kaq shumë fotografi.
Por gjëja e mirë është se ajo ndan të gjithë ata shumë të bukur.
Shanset janë që ju nuk keni për t'u shqetësuar për shumicën e këtyre dosjeve.
>> Më e rëndësishme, unë do të thonë, është dosje app,
ku app juaj në të vërtetë jeton.
Pra config, ju jeni do të duhet të configurate disa sende,
si bazën e të dhënave tuaja dhe të gjërave si cili lloj i bazës së të dhënave të jeni duke përdorur.
Por përveç kësaj, si shumica e Puna juaj do të jetë bërë në app.
Pra në app, ju keni asetet, kontrolluesit, ndihmëtarë, mailers, modele, shikime.
Pra këtu, ju filloni duke parë se kontrolluesit, modele, dhe shikime vijnë
në lojë.
>> Mailers janë vetëm në qoftë se ju dëshironi të dërgoni email.
Ndihmëtarë në qoftë se ju doni të krijuar disa funksione
se ju përdorni një shumë në pamje.
Kështu që ju vënë ato në ndihmëtarë.
Dhe aseteve është në thelb të gjithë imazhet tuaja, të gjithë e CSS tuaj,
të gjithë e juaj JavaScript, dhe si këto lloje të
e gjërave që të merrni dërguar për të klientit.
Dhe çdo gjë që është në të aseteve, që kam thënë më parë, merr minified.
Është hartuar.
Dhe ju të vërtetë nuk duhet të shqetësohen për se kur ajo shkon në kodin e prodhimit.
Ftohtë.
>> Tani Zack do të vijnë në, dhe ai është shkuar për të bërë një shembull të Twitter50.
>> AUDIENCA: Woo-hoo!
>> Zack CHAUVIN: mbresëlënës.
Kështu që kam pasur rastin për të punuar me Ruby në binarët këtë verë.
Kjo është një kornizë e mahnitshme.
Unë jam shumë i pjesshëm për të.
Dhe unë do t'ju tregoj vetëm një pak të një shembull i asaj që mund të duken si.
Kërcej mbi të Chrome.
Pra, ky është një shembull i një shumë të thjeshtë Ruby on Rails application-- diçka
si kjo është diçka se Ruby me të vërtetë ua kalon
that-- vetëm ku tuaj modele janë shumë të mirë-përcaktuar.
>> Në këtë shembull, ju do të shihni dy modele të ndryshme, të cilat
janë se ne kemi përdoruesit dhe ne kemi tweets.
Pra, kjo është Twitter50, Twitter vet Harvardit.
Siç mund ta shikoni, unë jam regjistruar sizack.
Dhe unë jam në gjendje të bëjnë tweets të reja.
Kështu që unë think-- "Ky është një" - keq?
Audienca: [padëgjueshme].
Zack CHAUVIN: Oh, OK.
Nevojë për të ndaluar server.
Excellent.
Pra, ja ku jemi.
Siç mund ta shikoni, ne kemi tonë Aplikacioni Twitter drejtë këtu.
Dhe është e super të lehtë për të filluar server.
Ne vetëm do të bëjmë "binarët server."
I madh.
OK.
Thanks për këtë.
Pra, tani ne jemi të rrjedhshëm.
>> Dhe ne do të themi, "kjo është një seminar awesome. "
Dhe le të shohim se çfarë ndodh.
Pra, ne do të cicëroj në lidhje me të.
Poshtë në fund, ju mund të shihni tani ka më shumë se tre tweets.
Pra, ne kemi pak i numërtim ndodh.
Dhe ne kemi atë cicërimë.
Dhe unë gjithashtu mund të kërkoni përmes tim kërko tweets-- për këtë dhe të dy
ato që kanë fjalën "Kjo" në to shfaqen.
Ne gjithashtu mund të fshini tweets nga klikuar në butonin e vogël Delete.
Dhe natyrisht, unë mund të fshini vetëm pas që i përkiste mua.
>> Tashmë, ne pothuajse kemi funksionalitetin e Twitter.
Si, kur ju mendoni rreth saj, Twitter vërtetë nuk ka të bëjë gjithë se shumë.
Ajo ka përdoruesit, ajo ka tweets.
Ka disa funksionalitet më komplekse.
Por kur ju të vërtetë të marrë deri në atë, kjo është mjaft e një Ruby on Rails app thjeshtë.
Dhe diçka si kjo, me një kuptim i mirë i Ruby on Rails,
ju mund ndoshta bërë në një orë ose dy.
>> Dhe se me të vërtetë vjen përsëri në Mantra Ruby,
cila është Konventa mbi konfigurimin.
Pra mbrapa në ditë, njerëzit, në çdo kohë ata të kërkuar për të bërë këtë faqe interneti,
do të duhet të fillojnë nga e para.
OK, unë dua të bëni një faqe interneti.
Le të bëjë këtë fotografi dhe kjo skedë dhe kjo skedë.
>> Me Ruby on Rails, nuk ka asnjë që.
Ju thoni, unë dua një app re.
Dhe ashtu si Gabe na tregoi, ajo krijon të gjithë strukturën e file për ne.
Dhe ne vetëm të ndryshojë pjesë të vogla që ne kemi nevojë për të.
Ne vetëm rregulloje çfarë është unik në lidhje me app tonë.
Ftohtë.
Pra, duke shkuar prapa në prezantimin tonë preview-- interesante.
Ku mund të paraqes?
AUDIENCA: Full screen.
E drejtë të lartë.
>> Zack CHAUVIN: Excellent.
Ftohtë.
OK.
Pra, para së gjithash, modeli.
Stephen bëri një awesome Detyra e përshkruar MVC.
Dhe tani ne jemi duke shkuar për të lidhen që përsëri të Ruby on Rails.
Pra modelit mundeni lloj të mendojnë për si bazën e të dhënave.
Ju keni qenë duke parë kjo në CS50 Financë, ku modeli dyqane
informacion në lidhje me sa rezervat që ju keni,
ose të gjitha transaksionet që ju bëra.
Ky është një shembull i një linjë e se si do ta bënit
shkoni për të bërë një model të ri në binarët.
Kështu që unë dua një përdorues.
Ajo do të ketë një email, e cila është një varg,
dhe një fjalëkalim, i cili është gjithashtu string.
Pra, kjo është si those-- unë dua çdo rresht në tryezën time e përdoruesve të duket si kjo.
>> Një pjesë të vërtetë awesome për Rails është se ajo
e bën atë të panevojshme për shkruaj ndonjë SQL shumë e shumë.
Sa nga ju djema të dashur shkrim SQL në PSET 7?
Exactly.
SQL nuk është shumë përdorues-miqësor.
Dhe binarët nxjerrje të gjithë që larg me këto komanda të vërtetë e lehtë.
Kështu për shembull, në qoftë se ne kemi një përdorues, një përdorues ka shumë tweets.
Dhe secili nga ata tweets takon një përdorues.
>> Pra, nëse ju shikoni këtu, kjo është modeli ynë për cicëroj tonë.
Dhe të gjithë ne duhet të them është kjo line-- i vetëm unë jam një cicërimë
dhe unë i përkasin një përdorues.
Dhe me atë linjë të vetme dhe a pak i konfigurimit bazës së të dhënave,
Binarët krijon këtë marrëdhënie.
Çdoherë, unë mund të them vetëm, zack.tweets, si, më jepni të gjitha të Zack tweets.
No SQL.
Super lehtë.
Përsëri, kjo është Konventa mbi Konfigurimi vjen në lojë.
>> Ju mund të shihni pak e një shembull i Ruby këtu.
Ashtu si dha tha, duke shkruar Ruby është lloj si të shkruarit anglisht.
Kjo është një shumë gjuhë të nivelit të lartë, dhe kjo e bën atë të vërtetë e lehtë
për ne për të thënë gjëra të tilla si, unë dua të sigurohuni që ky tweet ka një trup.
Prania e saj është e vërtetë.
Dhe unë dua të bëni të sigurtë që ky tweet, ashtu si normale Twitter,
ka një gjatësi max e 140.
Kjo është super-intuitive, një Gjuha e vërtetë e madhe.
>> Tjetra ne kemi pikëpamje.
Pra, kjo përfshin HTML dhe CSS.
Dhe këtu është një shembull i një pikëpamje.
Pra Ruby në binarët lloj seamlessly integron dy Ruby dhe HTML
në mënyrë që të gjenerojnë ajo që ne duam në faqe.
Pra, ky është një shembull i shtrirjes sonë.
Kështu që ju mund të shihni disa tags që ju djema janë përdorur për të, si HTML, trupi,
të gjitha këto gjëra të mira.
>> Dhe e drejtë në këtu, edhe pse, ne inkorporojë disa Ruby duke thënë:
nëse ka një mesazh për të shfaqur, pastaj të shfaq mesazhin në një div.
Kështu që unë nuk do të marrë shumë në atë.
Por kjo është në përgjithësi një faqe që merr dhënë on--
dhe pa marrë parasysh se çfarë faqe ju jeni në, kjo e merr dhënë.
Pra, kjo është ajo që merr të përfshira gjithmonë.
Ftohtë.
>> Një tjetër shembull i një view-- kjo është një ku ajo zgjodhi të gjitha tweets.
Dhe disa prej këtij stuff mund të duket mjaft të njohur.
Kështu për shembull, të drejtë këtu, ne jemi zmadhuesin me secilin nga tweets,
dhe ne jemi shtypjen e tyre jashtë.
Kështu që këtu është ajo ku ne jemi shtypjen nga trupi.
Dhe nëse user-- cicëroj-së këtu është një shembull i vërtetë i asnjë SQL është i përfshirë.
Unë jam vetëm duke i kërkuar, është kjo përdorues Tweet s përdorues aktual?
Pastaj tregojnë një lidhje për të fshirë atë.
Kjo është super e thjeshtë.
>> Kontrollues.
Pra, kjo është, përsëri, interface në mes modelit dhe pamje.
Është ai që bën punën e vështirë i interacting-- të qenë ndërmjetës.
Ai ngarkon informacionin për të parë, që ne do të shohim në një sec.
Dhe në mënyrë për të bashkëvepruar me modelin, atë
e quan metoda të modelit, të cilat janë çfarë ju djema jeni të njohur si funksione.
>> Kështu për shembull, kjo është kontrollues cicëroj tonë.
Kjo mund të duket pak frikshme të drejtë tani.
Por kjo është në të vërtetë super intuitiv sapo ju të fillojnë të zhyten në.
Kështu për shembull, në indeksin tonë, kjo është e ku ne duam të tregojmë të gjitha tweets.
Dhe kështu kjo vijë në thelb vetëm pyet për të gjitha tweets.
Dhe pastaj ne të nisja të dy të tweet-- reja kështu si
në qoftë se ata duan të krijojnë një tweet i ri në këtë faqe.
>> Dhe ai e kërkon atë përdorues i tanishëm është.
Dhe kjo është shumë e ngjashme me bëjnë që ju panë në PSET 7,
ku kjo është vetëm lloj i thënë view-- kjo është lloj i, si,
duke kaluar variablat që ju jeni do të ketë nevojë në pamje të parë.
Dhe nuk ka një bandë e tërë Metodat e ndryshme
që kontrollues këtë Tweet-së mund të trajtojë.
>> Por me të vërtetë, binarët e bën një punë të madhe në llojin e
i ndarë ato në të ndryshme Veprimet që kontrollues tuaj mund të bëni.
A ka ndonjë pyetje në lidhje me ndonjë nga pjesët MVC e binarët?
Lloji i vetëm një fllad nga.
Kështu që ju djema mund të kontrolloni ajo jashtë në tuaj.
Awesome.
Ne do të do të mbajë.
>> Pra instalimi binarët.
Instalimi binarët mund të jetë, si, një nga pjesët më frikshme
i tërë binarët proces, për fat të keq.
Por me sa duket, të gjithë i na janë rreth për të ndihmuar.
Dhe një herë kjo është në atje, një shumë e burimeve të mëdha,
si Gabe përmend, për marrjen e njoftimeve.
Këtu janë lidhjet që ju do të duhet në mënyrë
për të shkarkuar binarët për të marrë atë të instaluar në kompjuterin tuaj.
Natyrisht, kjo është në dispozicion për të dy Windows dhe Mac
dhe për aplikim CS50.
Pyetje në lidhje me ndonjë gjë që ne kemi thënë?
>> AUDIENCA: Unë do të jenë të interesuar në të, actually--
kështu që unë e di se shkarkimit software është pengesë më e madhe.
Nëse ka interes sa të ketë një shkarkimit seancë mini apo diçka.
Zack CHAUVIN: Mm-hm.
Vërtet.
Që mund të jenë shumë të dobishme.
Nëse dikush me të vërtetë gung-ho për duke përdorur këtë për projektin e tyre
ose në të ardhmen, atëherë ne do patjetër të jetë i lumtur të flas me ju në lidhje me atë.
Mm-hm.
>> AUDIENCA: Një pyetje lidhur për çfarë kam pyetur më parë.
Për ata që kanë bërë të Kornizat e tjera që janë ende
duke u përpjekur për të bërë të njëjtën gjë gjë, e bëjnë më të lehtë
për të ndërtuar një faqe interneti ose një funksionalitetin, unë mendoj ndonjë kuptim
e pse ne do të jetë në binarët kundrejt Zend ose disa nga kornizat e tjera
dhe gjuhët.
>> Zack CHAUVIN: Unë vetëm do të them tim 0,02 $ për këtë.
Unë dua Ruby on Rails.
Unë kam pasur mundësi për të punuar në të dy PHP e Ruby në binarët.
Unë preferoj shumë Ruby në Binarët për shkak të Ruby.
Definitely, kjo është një pjesë e madhe e saj.
Si, kur ju jeni zgjedhjen e kornizës tuaj,
ju të zgjidhni gjuhën tuaj.
>> Ruby është super accessible-- unë mendoj një gjuhë shumë më mirë sesa PHP.
Por kjo është lloj preference personale.
Si dhe, një tjetër konsideratë është Komuniteti prapa kuadrit
se ju jeni duke punuar me.
>> Tani për tani Ruby on Rails është me të vërtetë e nxehtë.
Ka ton e mbështetjes pas saj.
Ju postoni diçka mbi qipi Del nga shtrati lidhje me një problem ju jeni
duke pasur në Ruby në binarët, dhe është përgjigjur.
Përsëri, kjo është burim i hapur, që do të thotë që është vazhdimisht duke u ndryshuar.
Ka ton e njerëzve që janë të përkushtuar me të vërtetë
në mënyrë për të bërë këtë një Korniza me të vërtetë awesome.
Pra, kjo është arsyeja pse unë do të zgjidhni Ruby në binarët.
GABRIEL Guimarães: Po.
Unë do të thosha se ideja pas kornizave të shumtën ju jeni
shkuar për të gjetur se ka shumë, shumë të ngjashme, apo jo?
Pra, Model Shiko Controller, Fakti që kontrollues tonë
do të duken si diçka si this-- secili nga funksionet
është si një nga faqet tuaja, dhe ai ju përcjellëse,
dhe ajo initializes e variablave.
Kjo do të jetë e njëjta gjë për çdo kuadri që ju shihni atje.
Dhe atje do të jetë model.
Dhe ju mund të bëni gjëra si, "i takon".
Pra, në vend të bërë versionin e SQL, ju vetëm, si, bëj, user.tweets,
dhe ju të merrni gjithçka.
Gjithkush ka se.
Përveç në Ruby, ju bëni user.tweets, dhe pastaj disa kornizave në PHP,
ju bëni user.getalltweets KU PHP ime nuk është një problem.
Si, kjo është një linjë e madhe.
Është e njëjta gjë, por kjo është një linjë e madhe.
>> Pra, kjo është një nga arsyet kryesore e preferencave të mia mbi Ruby.
Është vetëm unë bëj pikërisht e njëjta gjë në kornizat e tjera,
ajo vetëm merr mua dy herë Linjat si gjata të kodit.
OK?
>> Çdo pyetje të tjera?
>> Zack CHAUVIN: Diçka Unë do të përmend quickly-- Gabe
foli pak për gems.
Dhe kjo është një të vërtetë të great-- Unë do të thotë, kjo është lloj i përbashkët për të gjitha kornizat,
se nuk është lloj i një koncepti perlë, cila është si në shembullin tim të vogël,
Unë kam identifikoheni.
Si, ju mund të regjistroheni në, të nënshkruajë jashtë.
Si, kjo është në të vërtetë lloj i një procesi të ndërlikuar.
Ajo u prit pak bit për ju në PSET 7.
Por unë ende nuk e di se si plotësisht për të zbatuar shenjë-në, shenjë-out.
Dhe kjo është për shkak se Ruby on Rails ka ton
e gems që bëjnë gjëra si kjo për ju.
>> Përsëri, Konventa mbi konfigurimin.
Gjithkush do të jetë bërë kjo shenjë-në, shenjë-out hap.
Pra, pse jo vetëm të bëjë një paketë, të quajtur Lë me testament në këtë rast, i cili është një perlë.
Ju vetëm të përfshijë atë.
Dhe pastaj ka disa ndihmë online me se si të përdorin atë.
Dhe ju nuk keni për t'u shqetësuar për diçka të tillë.
>> Bashkëngjitur fotografi në këto things-- një gur i çmuar për këtë.
Si, në çdo kohë që ju jeni duke u përpjekur për të bërë ndonjë gjë të re, ka një perlë për këtë.
Dhe ju lloj i vetëm pjesë së bashku këto gems
dhe për të ndërtuar një të vërtetë të ndërlikuar kërkesë shumë shpejt.
Ftohtë.
Çdo pyetje të tjera?
>> STEPHEN çallmë: Woo-hoo.
Unë nuk mendoj se [e padëgjueshme].
>> GABRIEL Guimarães: OK.
Thanks so much, djema.
>> STEPHEN çallmë: BUH-bye.
Zack CHAUVIN: BUH-bye.
>> STEPHEN çallmë: Woo-hoo.
[Duartrokitje]
>> Yay.