>> [Jwe mizik]
>> STEPHEN devan mouchwa tèt: Se konsa, mwen se Stephen Turban.
Plis pase sou bò a isit la, petèt nou ka jwenn gen kèk moun ki plonje nan.
Nou gen Gabriel ak Zack.
Se konsa, pou yon plan kout sou sa ki sa a ki pral gade tankou,
Mwen pral yo dwe fè kèk trè gade wo nivo nan sa ki mv se.
Gabe?
>> GABRIEL GUIMARAES: mwen pral pale sou Ruby ak yon ti kras
ki jan Rails travay ak ki jan li kapab ede w bati aplikasyon pou entènèt.
>> Zack CHAUVIN: Men, mwen pral montre w yon egzanp espesifik sou fason
yo sèvi ak ray yo bati yon app super pè.
STEPHEN devan mouchwa tèt: Awesome.
Sweet.
Tout dwa.
Se konsa, kite nan pale sou mv.
Se konsa, kite a ale nan pwochen glise a, ki Mwen pral fè pa peze bouton sa a.
Li kite yo ale nan devlopman nan next--, Mwen renmen panse sou ale nan CVS,
paske CVS se yon magazen ak tou te gen yon V nan sant la.
>> Se konsa, kite a imajine nan yon magazen.
Li kite yo fè sa a magazen vann sèlman yon sèl bagay.
Se konsa, nou ap ale nan gen sa a magazen sèlman vann tas wouj sa yo.
Epi imajine ou mache nan, epi ou ale nan devan nan magazen, ak moun nan.
Ak non li se Vince.
>> Epi Vince vag alo nan ou, di hi.
Epi ou remake yon bagay sou Vince.
Se konsa, chak fwa nou panse osijè de Vince, nou gen yo reflechi sou de adjektif kle.
Vince se bèl, men li la estipid.
OK.
Se konsa, ou konnen, se pa fòt nan pwòp tèt li, malerezman, li se bèl.
Li se nou wè.
Se konsa, premye manm jete nou an ki gen la.
Kenbe sa nan tèt ou.
>> Koulye a, ou mande Vince, ou ale, hey Vince.
Mwen se yon kliyan.
Li di hi.
Mwen vrèman vle youn nan tas wouj ou a.
Ak sa ki Vince di?
nenpòt moun ki gen nenpòt ki lide ki sa Vince di?
Mwen pral rele frèt.
Ki sa ou panse Vince di?
>> ODYANS: Li di, mwen ka montre w kote li se, men mwen pa ka ba ou yon sèl.
>> STEPHEN devan mouchwa tèt: Li di, mwen ka montre w kote li se, men mwen pa ka ba ou yon sèl.
Menm pi mal.
Nenpòt lòt moun gen yon lòt lide ki sa Vince ta ka di?
>> ODYANS: Li gen yo ale chèk si yo gen nenpòt tas wouj.
STEPHEN devan mouchwa tèt: Vince pa fè sa menm konnen li te gen yo tcheke.
Nenpòt lòt bagay?
Se konsa, ou te di, gen yo tcheke si li te gen tas wouj.
Ale pi devan.
ODYANS: Ki sa ki nan yon tas wouj?
STEPHEN devan mouchwa tèt: Ki sa ki nan yon tas wouj?
Ki sa ki nan yon tas wouj?
Vince se konfonn.
Se konsa, Vince ki pral pale ak nou pwochen manm jete, Carl.
Men, lè nou panse osijè de Carl, nou oblije reflechi sou de gwo adjectives--
li se kontwole, men li se anmezi.
>> Se konsa, Vince goes-- li ale, ki sa ki yon tas wouj?
Mwen pa konnen sa yon tas wouj se.
Li vire alantou li, epi li mande Carl.
Li di, Carl, yon moun mande pou yon tas wouj.
Èske ou ka fè sa?
Ak sa ki Carl di?
Ann figi li soti.
okenn moun gen nenpòt lide ki sa Carl di?
Apre sa, mwen pral jis repete li tounen ba ou.
Mwen te wè yon mouvman men yo.
>> ODYANS: Li di yon moun lòt moun jwenn tas yo wouj.
>> STEPHEN devan mouchwa tèt: Li di yon lòt moun jwenn gode a wouj.
Egzakteman.
Epi nou gen yon lide ki moun sa a ta kapab?
Li se yon allusion.
Li nan ale nan kòmanse ak yon M. foul?
>> ODYANS: Ki gen konpòtman egzanplè.
>> STEPHEN devan mouchwa tèt: Modèl la, wi.
Non li pa se modèl, malerezman, paske se sa yon non dwòl.
Nou gen Mitt.
Men, lè nou panse osijè de Mitt-- pa gen okenn, sa a se pa yon foto nan Zack.
Nou dwe panse a de adjektif kle ak Mitt.
Li nan ki kapab, men li se obedyan.
Se konsa, Mitt konnen sa li te fè, men li vrèman pa ka fè anyen.
Oswa li vrèman pa ka deside sou pwòp tèt li.
>> Se konsa, nou gen Carl.
Carl pale fò nan Mitt.
Apre sa, li di, hey Mitt, nou bezwen tas wouj.
Epi Mitt ale nan depo wouj gode l 'yo.
Li bèn yon tas, epi li bay l 'tounen.
okenn moun gen nenpòt lide ki sa k ap pase lè sa a?
Bay tas la.
Se konsa, lwen Mitt te ale nan wouj l ' tas repozitwa, pran li soti,
tcheke li koupe, te di konsa, Mwen te pran yon tas wouj.
Apre sa, li te bay li Carl.
ou gen yon lide?
Ki sa ou panse Carl fè?
>> ODYANS: Carl bay li Vince.
>> STEPHEN devan mouchwa tèt: Carl bay li Vince.
Vince.
>> ODYANS: Lè Vince montre li nan [fèbl].
STEPHEN devan mouchwa tèt: Egzakteman.
Se konsa, sa a, se egzakteman sa.
Se konsa, Vince pran gode a, pa menm konnen sa li ye,
men li montre li nan itilizatè a.
Se konsa, kite a eseye rkree sa a vrèman yon ti tan.
Epi nou ap pral bezwen twa volontè silans,
kòm ou nèg yo pa pral pou kapab pale.
Se konsa, te kapab mwen gen tan pwan twa?
OK.
Ak ki moun ki ou ta renmen yo dwe?
>> ODYANS: Mwen pral Vince.
>> STEPHEN devan mouchwa tèt: Vince, OK.
Bèl men estipid.
Great.
Nenpòt moun ki lòt bagay?
Nou ap chèche pou yon kapab men obedyan.
Nenpòt moun lòt bagay vle dwe kapab?
>> ODYANS: Mwen ta ka Carl.
STEPHEN devan mouchwa tèt: dous.
Nou te gen Carl.
>> ODYANS: Mitt.
>> STEPHEN devan mouchwa tèt: Mitt, OK.
Epi nou ap ale nan bezwen a-- mwen pral kliyan an.
Se konsa, vini sou moute, vini sou yo.
Epi se tout moun nan gade?
Se konsa, mwen pral mande Vince kanpe nan devan an, jis souri,
jis souri kòm klere ke posib.
Epi nou ap ale nan mande Carl, dwat, poukisa pa fè sa ou, tankou,
kanpe dwat dèyè li?
Epi Mitt, poukisa pa fè sa ou jis ale nan nan do a,
ak Lè sa a Mwen pral ba w yon gwoup nan tas yo pann soti ak.
>> Se konsa, mwen se yon kliyan.
Mwen tounen.
Apre sa, mwen fè [fèbl] mwen di, hi, Mwen ta renmen yon tas.
Pafè.
Se konsa, Vince pa gen okenn lide.
Se konsa, sa Vince fè pwochen?
Vince-- OK, se konsa mwen pral yo dwe raconter kounye a.
>> Vince pale fò nan Carl, gode!
Ki sa Carl fè?
Carl ape nan Mitt.
Mitt bèn yon tas.
Mitt bay li Carl.
Carl retounen li nan Vince.
Epi Vince montre li nan itilizatè a.
>> E ke se yon wo, wo, segondè gade, se konsa segondè nan mv.
Nou divize li pa gen yon vi, sa ki itilizatè a wè, yon kontwolè, yon moun
ki fè sa ki tout bagay nan background nan men vrèman pa ka mete ajou anyen
oswa pa ka fè anyen nan nenpòt ki siyifikasyon eksepte rele gade nan ak modèl la.
Lè sa a, nou gen Mitt, modèl la, ki dènye nouvèl tou sa done nou genyen.
Se konsa, di ou mèsi anpil pou bèl nou an, kontwole, ak volontè ki kapab.
Apre sa, mwen panse ke sa ki te li.
>> [Aplodisman]
>> Mwen panse ke Gabe ki pral pale kounye a sou yon èspere ke mwens wo nivo.
>> GABRIEL GUIMARAES: OK, guys.
Koulye a, kite a pale yon ti kras plis enfòmasyon sou Kòd ak sou Ruby sou ray tèt li,
ak sou ki jan li gen rapò nan tout nan istwa mv sa a.
Fondamantalman, Ruby sou ray se yon fondasyon.
Plis sou sa nan yon dezyèm fwa.
>> Men, jis ba ou yon sans de ki moun ki nan lè l sèvi avèk li,
tankou, tout moun sa yo gwo companies-- se konsa GitHub, Groupon, Twitter--
yo tout ap itilize Ruby sou Ray kòm fondasyon prensipal yo
aplike sit entènèt yo.
Se konsa, mwen si ke yon anpil nan moun te itilize sit entènèt sa yo isit la.
Ak li nan tout Ruby sou ray yo aplike modèl la, gade nan, ak kontwolè a
sou tout sit entènèt sa yo ak anpil ankò.
OK?
>> Se konsa, jan mwen te di, Ruby sou Ray se yon fondasyon.
Epi ou ka kalite panse a yon fondasyon nan sans nan tankou bati yon kay.
Se konsa, si w ap ale nan bati yon house-- epi ou ka toujou
kòmanse nan grafouyen, dwa?
Ou ka eseye vini ak yon fason yo wè bwa a,
ak pote bwa a nan plas la, ak jwenn wòch yo nan fòm nan dwa,
ak Lè sa a nan tout sa.
Men, ki nan pral pran pwobableman anpil ane
jiskaske w jwenn tout materyèl la, epi ou jwenn tout bagay ansanm,
epi ou aktyèlman kòmanse yo bati kay ou.
>> Se konsa, li vire soti si ou kòmanse soti ak yon fondasyon ak yon bagay sa a, se
deja kalite nan plas pou nenpòt ki kalite kay
ke ou vle yon bagay build-- sa a, se trè jenerik men sa ou kapab
Lè sa a, nan direksyon pou modle pwòp ou a goals-- lè sa a ou kapab jwenn
pouvwa sa a nan cadres yo bati yo yon bagay anpil, anpil pi vit.
OK.
Se konsa, sa a se lide a menm nan yon kad pou yon aplikasyon web
oswa pou nenpòt ki kalite aplikasyon, pou ki matyè.
>> Ou aktyèlman kòmanse soti ak mwatye yon aplikasyon
deja gen nan plas pou ou.
Ak pa sa, mwen vle di ou jwenn anpil nan dosye ki deja gen fonksyon,
tankou bibliyotèk, tankou fonctionnalités, ak kòmande ke ou ka kouri yo nan lòd
fè lavi ou pi ki pi senp ak pi fasil.
OK.
>> Se konsa, nan ka sa a, nou ap ale pale sou Ruby sou ray.
Gen anpil bagay nan diferan cadres yo deyò.
Genyen Django pou Piton.
Genyen Zend fondasyon oswa Laravel pou PHP.
Gen anpil bagay nan moun diferan.
Ruby sou ray se yon nouvo yon sèl trè bèl.
Yon anpil moun sèvi ak sa nan star ak sa a kalite anviwònman.
Se konsa, kèk nan sa yo trè gwo konpayi yo ki mwen te montre isit la anvan
yo tou lè l sèvi avèk Ruby sou ray.
>> Se konsa, jis ba ou yon sans de sa ki Ruby se
tankou, depi ou nèg yo gen plis itilize , tankou, C ak yon ti kras nan PHP
kounye a, se konsa Ruby a pwal nan ekivalan nan PHP ou nan sans sa a.
Sa a se pa Ruby.
Sa a se C. OK?
Men, sa a se renmen an DJBHash fonksyon ke mwen
konnen anpil moun itilize pou Misspellings pset.
>> Ak nan Ruby, bèl anpil tankou nan PHP, ou
te kapab aplike sa a ak sèlman yon liy nan kòd yo.
Olye pou yo gen bezwen enkyete sou fonksyon an regle,
gen enkyete sou bokit yo, ak nan tout sa, ou ka jis di,
diksyonè = Hash.net.
Lè sa a, ou itilize kalite tankou lide a menm ki PHP te fè.
Se konsa, li la vre.
Lè sa a, si ou vle tcheke, se konsa tcheke fonksyon
ta ye si diksyonè "foo" egal egal vre, retounen vre.
Epi sa a, tout moun, OK?
>> Se konsa, ou remake yon diferans kèk.
Pa gen okenn semi-kolon isit la, kòm te gen nan C.
Men, lide la an jeneral se trè sanblab.
OK?
>> Epitou, nan Ruby, gen Meservey, ki yo se kalite bibliyotèk yo Ruby.
Epi ray manch yo nan yon fason trè bèl pou ou.
Se konsa, si ou vle mete nan kèk bibliyotèk ki
fè Imèl, oswa ki fè tèks messagerie,
oswa ki fè entegrasyon ak Facebook, oswa nenpòt ki jan de bagay konsa
tankou sa pou app ou, li nan trè, trè fasil.
Chans yo se ou ka jwenn yon bagay tankou sa sou entènèt la.
Apre sa, yo jis fè yon bagay tankou mete ki
gem ou vle sèvi ak nan dosye a gem.
Lè sa a, enstale ray tout bagay.
Ou pa bezwen enkyete sou nenpòt nan ki, se konsa sa ki nan vrèman fre.
Epitou, gen nan anpil, anpil èd sou entènèt.
Se konsa, ou ka jwenn anpil nan bagay sa yo.
Si ou gen yon erè, ou ka jis Google li,
epi li nan pral fè trè fasil a jwenn èd.
>> Lè li nan yon anpil nan fun-- exactly-- paske ou
pa gen enkyete sou-nivo a ki ba detay, aplikasyon nan tab regle
epi ki gen vini ak tout nan tèt yo HTTP, ak anpil bagay sa yo,
e menm kèk plis pi wo nivo bagay sa yo.
Ou pa gen enkyete sou sa nan ray.
Li fè li trè, trè joliman pou ou.
Epi nou ap ale nan montre ke plis konkrètman trè byento.
OK.
>> Se konsa, yon ti kras sou Ruby ankò.
Se konsa, li jis tankou C, jan mwen te di.
Olye pou yo printf, nou di "Mete", ki se "mete fisèl."
Li mete yon kòd nan konsole a.
Ak nan ka sa a, nou ap jis enprime "Alo Mondyal la."
Nou pa bezwen parantèz yo, men li la bèl anpil menm jan an.
>> Lè sa a, si ou vle fè yon bagay isit la,
tankou enprime yon pakèt moun sou "mèskinri" ak yon pakèt moun sou "BIGS" nan yon bouk Pandan ke,
li nan kalite tankou nan C, dwa?
Ou pa gen parameters yo, men li la bèl anpil menm bagay la.
Dekoupaj an isit la konte, se konsa x egal 1.
Lè sa a, Pandan ke x se pi piti pase 50-- sa a se yon Si, sa a se yon Lòt Bagay.
Li nan bèl anpil tankou sa ou te wè.
>> Lè sa a, x + = 1 se jis incrementing, kalite tankou fè ++ a ke ou ka
fè nan C. Men, li a trè anpil ki sa ou te wè nan C.
Li pa ta dwe twò konplike.
Men, li se plis pouvwa anpil.
Se konsa, gen yon kòmandman kèk isit la ki yo definitivman yon ti jan plus.
>> Se konsa, pou egzanp, "mete."
Ou ka itilize notasyon hashtag sa a isit la yo jis enprime fè yon bagay
bèl anpil tankou sa ou ta fè si % D oswa% C a oswa yon ti jan tankou sa.
Epi ou ka aktyèlman mete yon Si dwa apre deklarasyon an.
Se konsa, mwen sèlman vle fè this-- Si x se pi gran pase 3.
Se konsa, poukisa ta mwen gen fè yon tout antye Si blòk?
Mwen pa konnen.
Mwen ka jis enprime sa a sèlman si x egal pi gran pase 3.
Se konsa, sa a se yon fason yon sèl liy pou fè sa a nan Ruby.
>> Yon lis nan Ruby se yon bagay trè versatile.
Se konsa, ou pa reyèlman bezwen gen sèlman yon sèl kalite.
Ou ka gen yon fisèl, ak Lè sa a, kèk nimewo, ak tou sa.
Men, si ou vle kole yon bagay yo yon lis,
ou ka jis sèvi ak sa a notasyon dwa isit la.
>> Men, si ou vle repekte.
Bèl anpil 4each a nan PHP, isit la, ou gen yon lis, epi ou fè "list.each fè."
Lè sa a "ELEM," sa a se tankou non an nan chak eleman
ke mwen pral gen nan lis mwen an.
Lè sa a, mwen ka jis "mete ELEM."
Ak "mete" manch bèl anpil mete l 'pou ou, enprime li.
Li pa enpòtan si li nan yon fisèl oswa yon int.
Li nan ale nan travay ki soti pou ou.
Dwa?
Cool.
>> Ak jis tankou PHP, Ruby ak HTML tou entegre trè, trè joliman.
Ak isit la, gen nan kèk HTML ak Ruby nan li.
Se konsa, nou gen yon tag kò tankou nan HTML.
Men, si nou vle tcheke ke yon itilizatè se, pou egzanp,
louvri sesyon an, nou ka jis di, kòmanse nan Ruby, si user.logged_in ?, fen Ruby.
Enprime bagay sa a tout antye, ki gen kèk Ruby nan li, ki se jis
kalite tankou sa sentaks pou PHP ki simagri soti yon varyab.
Se pou yo ekri ak lèt ​​detache user.name la.
>> Se konsa, akeyi, Stephen, andedan nan yon div HTML.
Ak nan fen a, nou gen yon "fen" ak Ruby kòd, ki vle di sa a se m '
Si blòk.
OK?
Se konsa, li jis tankou yon san pwoblèm entegrasyon ant Ruby ak HTML.
Genyen tou anpil resous.
Men, anvan nou deplase sou, fè okenn moun gen nenpòt kesyon sou Ruby, anyen?
OK.
>> Gen anpil bagay nan resous sou entènèt tryruby.org, Kòd Academy,
ruby-lang.org, kote ou ka eseye li soti sou navigatè ou a anvan ou aktyèlman
di, o, OK, mwen pral sèvi ak Ruby pou pwojè final m 'yo.
Se konsa, definitivman bay moun yon eseye.
Tout moun nan glisad sa yo, se pral fè disponib sou entènèt,
konsa ou ka jis download yo.
E wi?
>> ODYANS: [fèbl] sa ou jis te montre
te HTML ak kòd la entegre nan li nan sa a nosyon nan ki gen konpòtman egzanplè View
Kontwolè?
>> GABRIEL GUIMARAES: Wi.
Nou pral fè sa nan yon dezyèm lè nou montre egzanp nou an, OK?
Mèsi pou kesyon an.
Se konsa, kesyon an te fondamantalman si nou ka montre sa a entegrasyon nan Ruby
nan HTML nan ki gen konpòtman egzanplè a View Kontwolè fondasyon.
>> Se konsa, lide a nan ki gen konpòtman egzanplè a View Kontwolè fondasyon
se li nan fondamantalman yon filozofi, jis tankou Stephen te montre isit la.
Epi li pa yon bagay ki sa ou dwe fè,
men li la yon bagay ki fè lavi ou pou pi senpl.
Epi Ruby sou ray se bati alantou sa a filozofi nan kòd.
Se konsa, nou ap ale nan montre yon egzanp trè byento.
>> Se konsa, ray se renmen menm.
Yon anpil moun ap itilize li, jan mwen te di.
Epitou, se vrèman plezi.
Ou nèg ta dwe definitivman bay li yon eseye.
Mv fè tout bagay ki pi senp.
Se konsa, ki gen konpòtman egzanplè View Kontwolè a, bagay sa yo separe
epi mete yon sèl moun, se pou chak, oswa yon pati nan aplikasyon w lan
fè chak nan travay yo diferan ke ou te fè aplikasyon.
Ak mwens tan ki pase sou pwoblèm ki ba-nivo.
Ak trè popilè kounye a.
Nou gen ray 4.0, ki se yon nouvo vèsyon.
Epi li vini ak yon anpil nan bagay fre.
Yon lòt kesyon.
>> ODYANS: Yon lòt kesyon.
Ruby sou ray kont Ruby sou ray Grails.
>> GABRIEL GUIMARAES: OK.
Kesyon an te, Ruby sou ray kont Ruby--
ODYANS: Grails.
Ruby?
>> GABRIEL GUIMARAES: Yeah.
Se konsa, Ruby se lang la.
>> ODYANS: No
Mwen mande ou konpare yon lang ak yon fondasyon, Ruby sou ray,
ak yon lòt lang popilè framework-- Grails-- ak Ruby
sou ray.
>> GABRIEL GUIMARAES: OK.
Padon.
Kesyon an te, konpare Ruby ak Ruby sou ray
nan yon lòt kad ak another--
>> ODYANS: Ruby.
Li nan OK.
Si ou pa konnen sou li, sa a, se amann.
>> GABRIEL GUIMARAES: Tankou, ki sa mwen konprann se that--
>> ODYANS: Genyen yon lòt fondasyon ki rele Grails.
>> GABRIEL GUIMARAES: Oh, Grails.
Mwen pa janm tande pale de li.
Padon.
Mwen pa janm tande pale de Groovin sou ray.
Padon.
>> ODYANS: Li nan pi bon entegre ak Java.
>> GABRIEL GUIMARAES: mwen wè.
>> ODYANS: Mwen jis kirye sou kèk moun mwen konnen like--
>> GABRIEL GUIMARAES: Non, mwen pa janm tande pale de ke yon moun, malerezman.
Grails.
>> ODYANS: Se konsa, kèk moun ki evidamman tankou Ruby sou ray.
>> GABRIEL GUIMARAES: Mwen te itilize Ruby sou ray anpil.
Mwen te itilize kèk Django ak Piton, jan mwen te di.
Mwen te itilize kèk Laravel.
Men, mwen pa te itilize Groovin sou ray.
Padon.
Lè li nan trè popilè kounye a ak ray 4.0.
Tankou, kèk nan bagay la ki Rails fè pou ou, pou egzanp, se ou
gen anpil bagay nan dosye CSS ak anpil nan JavaScript dosye.
Epi ou ka trete yo kòm apa ak tout bagay.
>> Men, lè sa a li automatically-- lè ou voye kòd ou a nan pwodiksyon,
li otomatikman compiles yo tout nan yon sèl dosye sèl
ki nan minified san yo pa nenpòt espas, se konsa ke li pran moute
mwens espas nan aplikasyon w lan, se konsa ke ou ka reyèlman echèl bagay sa yo yon anpil.
Sa a konpayi poukisa tankou gwo tankou Twitter ak GitHub
ap itilize ray, paske li fè tout ki pou ou, ki se vrèman fre.
>> Youn nan bagay ki se trè, trè, trè redoutable
pou moun, ki gen ladan m ', ki ap eseye travay
ak yon fondasyon nan kòmansman an, se ke lè ou kòmanse soti yon aplikasyon,
w ap ale nan wè yon pakèt moun sou dosye.
Tankou, lè ou kreye Ray New, Aplikasyon mwen,
w ap ale nan wè tout moun sa yo folders-- app, bin, config, db, LIB,
journal, piblik.
Tankou, anpil ak anpil bagay.
>> Ak premye fwa mwen an wè sa, mwen te tankou,
OK, Mwen pa gen okenn lide ki sa k ap pase sou.
Mwen jis vle yo kreye yon sit entènèt ak "Alo, mond,"
ak sa a se bay m ', tankou, 100 milya dola paj diferan.
Mwen pa konnen sa k ap pase sou.
Se konsa, tanpri pa ka twò daunted pa sa.
>> Lide a se ke li aktyèlman gen mwatye nan yon kay gen pou ou deja.
Li te gen yon tout antye kad pou ou deja.
Se poutèt sa gen anpil dosye.
Men, bagay la bon se ke li separe tout nan yo trè joliman.
Chans yo se ou pa gen enkyete sou pi fò nan sa yo dosye.
>> Youn ki pi enpòtan, mwen ta di, se dosye a app,
kote app ou aktyèlman ap viv.
Se konsa, config a, w ap ale nan gen configurate kèk bagay,
tankou baz done ou ak bagay sa yo tankou ki kalite baz done w ap itilize.
Men, lòt pase sa, tankou pifò nan travay ou a pral yo dwe fè nan app.
Se konsa, nan app, ou gen byen, contrôleur, moun k'ap ede, mailers, modèl, opinyon.
Se konsa, isit la, ou kòmanse wè ki contrôleur, modèl, ak opinyon vini
nan jwe.
>> Mailers yo se jis si ou vle voye Imèl.
Helpers si ou vle kreye kèk fonksyon
ke ou sèvi ak yon anpil nan gade nan.
Se konsa, ou mete yo nan moun k'ap ede.
Ak byen se fondamantalman tout nan imaj ou, nan tout CSS ou a,
tout nan JavaScript ou, ak renmen kalite moun
nan bagay sa yo ke jwenn voye bay kliyan an.
Ak tout bagay sa a, se nan byen yo, ke mwen te di anvan, vin minified.
Li nan konpile.
Epi ou pa reyèlman gen enkyete sou ke lè li ale nan Kòd pwodiksyon an.
Cool.
>> Koulye a, Zack a pral vini an, e li pral fè yon egzanp nan Twitter50.
>> ODYANS: Woo-hoo a!
>> Zack CHAUVIN: Awesome.
Se konsa, mwen te gen chans lan nan travay ak Ruby sou ray ete sa a.
Se yon fondasyon dwòl.
Mwen trè an pati a li.
Apre sa, mwen pral jis montre w yon ti kras nan yon egzanp nan sa ki li te kapab sanble.
Sote sou Chrome.
Se konsa, sa a se yon egzanp yon trè senp Ruby sou ray application-- yon bagay
tankou sa a se yon bagay ki Ruby reyèlman èksèl
that-- jis kote ou modèl yo trè byen-defini.
>> Nan egzanp sa a, ou ap wè de modèl diferan, ki
se ke nou gen itilizatè e nou gen tweets.
Se konsa, sa a se Twitter50, Pwòp Twitter Harvard la.
Kòm ou ka wè, mwen louvri sesyon an kòmzack.
Apre sa, mwen kapab fè nouvo tweets.
Se konsa, mwen think-- "Sa a se yon" - regrèt?
ODYANS: [fèbl].
Zack CHAUVIN: Oh, OK.
Bezwen sispann sèvè a.
Excellent.
Se konsa, isit la nou yo.
Kòm ou ka wè, nou gen nou an Twitter aplikasyon dwa isit la.
Lè li nan super fasil yo kòmanse sèvè a.
Nou pral jis fè "ray sèvè."
Great.
OK.
Mèsi pou sa.
Se konsa, kounye a nou ap kouri.
>> Epitou, n ap di, "Sa a se yon seminè pè. "
Li kite yo wè sa ki rive.
Se konsa, nou pral tweet sou li.
Down nan pati anba a, ou ka wè kounye a gen nan plis pase twa tweets.
Se konsa, nou gen yon ti kras nan pajinasyon pral sou.
Epi nou gen ki tweet.
Apre sa, mwen kapab tou rechèch nan m ' tweets-- rechèch pou sa a ak de a
yo menm ki gen pawòl Bondye a "Sa a" nan yo montre moute.
Nou kapab tou efase tweets pa klike sou ti kras bouton an Delete.
Ak evidamman, mwen ka sèlman efase post la ki ki te fè pati mwen.
>> Deja, nou prèske gen nan fonctionnalités nan Twitter.
Tankou, lè ou panse sou li, Twitter reyèlman pa fè tout sa ki anpil.
Li te gen itilizatè yo, li gen tweets.
Genyen kèk fonctionnalités pi konplike.
Men, lè ou reyèlman jwenn desann nan li, li nan byen yon Ruby sou ray app senp.
Ak yon bagay tankou sa a, ak yon bon konpreyansyon yo genyen sou Ruby sou ray,
ou te kapab pwobableman fè nan yon inèdtan oswa de.
>> Epi sa vrèman vini tounen nan maître a Ruby,
ki se konvansyon sou konfigirasyon.
Se konsa, tounen nan jou a, moun, nenpòt lè yo te vle fè sit entènèt sa a,
ta gen kòmanse nan grate.
OK, mwen vle fè yon sit entènèt.
Se pou yo fè sa a ranpli ak sa a ranpli ak sa a dosye.
>> Avèk Ruby sou ray, gen nan pa youn nan sa.
Ou di, mwen vle yon nouvo app.
Ak jis tankou Gabe te montre nou, li kreye estrikti nan dosye antye pou nou.
E nou jis chanje a pati ti kras ke nou bezwen.
Nou jis Customize sa se inik sou app nou an.
Cool.
Se konsa, pral tounen nan prezantasyon nou an preview-- enteresan.
Ki kote mwen prezante?
ODYANS: Full ekran.
Top dwat.
>> Zack CHAUVIN: Excellent.
Cool.
OK.
Se konsa, premye nan tout, modèl la.
Stephen te fè yon pè travay nan ki montre mv.
Epi, koulye a nou ap ale nan gen rapò ki tounen nan Ruby sou ray.
Se konsa, modèl la ou kapab kalite nan panse a kòm baz done a.
Ou ve yo te wè sa a nan CS50 Finans, kote boutik yo modèl
enfòmasyon sou konbyen aksyon ou genyen,
oswa tout tranzaksyon yo ke ou fè fè yo.
Sa a se yon egzanp sou yon liy nan ki jan ou ta
ale sou fè yon nouvo modèl nan ray.
Se konsa, mwen vle yon itilizatè.
Li nan ale nan gen yon imel, ki se yon fisèl,
ak yon modpas, ki se tou fisèl la.
Se konsa, li la tankou those-- mwen vle chak ranje nan tab mwen nan itilizatè yo gade tankou sa.
>> Yon pati vrèman fantastik sou ray se ke li
fè li nesesè ekri nenpòt SQL bèl anpil.
Konbyen nan ou nèg te renmen ekri SQL nan pset 7?
Egzakteman.
SQL se pa trè user-zanmitay.
Epi ray rezime tout sa ki lwen ak sa yo kòmandman reyèlman fasil.
Se konsa, pou egzanp, si nou gen yon itilizatè, yon itilizatè gen anpil tweets.
Epitou, chak youn nan moun ki tweets ki dwe nan yon itilizatè.
>> Se konsa, si ou gade isit la, sa a se modèl nou an pou tweet nou an.
Ak tout sa nou dwe di se -L liy sa a yon sèl mwen se yon tweet
ak mwen fè pati nan yon itilizatè.
Se avèk ke sèl liy ak yon ti kras nan baz done konfigirasyon,
Ray kouche moute relasyon sa a.
Nenpòt ki lè, mwen ka jis di, zack.tweets, tankou, ban m 'tout nan Zack tweets.
Pa gen SQL.
Super fasil.
Yon fwa ankò, sa a, se konvansyon sou konfigirasyon vini nan jwe.
>> Ou ka wè yon ti jan nan yon egzanp nan Ruby isit la.
Tankou te bay di, ekri Ruby se sòt de tankou ekri angle.
Li se yon trè lang wo nivo, epi li fè li reyèlman fasil
pou nou pou n di bagay sa yo tankou, mwen vle asire w ke sa a tweet gen yon kò.
Prezans li se vre.
Apre sa, mwen vle asire w ke sa a tweet, jis tankou nòmal Twitter,
gen yon longè max nan 140.
Li nan super-entwisyon, yon reyèlman gwo lang.
>> Next moute nou gen gade nan.
Se konsa, sa a enplike nan HTML ak CSS.
Ak isit la nan yon egzanp sou yon vi.
Se konsa, Ruby sou ray kalite transparans entegre tou de Ruby ak HTML
yo nan lòd yo jenere ki sa nou vle sou paj la.
Se konsa, sa a se yon egzanp nan Layout nou an.
Se konsa, ou ka wè kèk tags ke ou mesye yo te itilize yo, tankou HTML, kò,
tout sa ki bon bagay.
>> E yo gen dwa nan isit la, menm si, nou enkòpore kèk Ruby lè li di,
si gen nan yon mesaj bay montre, Lè sa a, montre mesaj la nan yon div.
Se konsa, mwen pa pral resevwa twòp nan sa.
Men, sa a se jeneralman yon paj ki vin rann on--
ak pa gen pwoblèm sa paj ou se sou li a, yon sèl sa a vin rann.
Se konsa, sa a se sa vin enkli toujou.
Cool.
>> Yon lòt egzanp sou yon view-- sa a se youn nan kote li te chwazi tout tweets yo.
Se konsa, kèk nan bagay sa a ta ka gade bèl yo konnen yo.
Se konsa, pou egzanp, dwa isit la, nou ap loupin nan chak nan tweets yo,
epi nou ap enprime yo deyò.
Se konsa, isit la se kote nou ap enprime soti kò a.
Men, si user-- tweet la isit la nan yon reyèl egzanp ki pa gen SQL se enplike nan sa.
Mwen jis mande, se sa a itilizatè tweet a itilizatè a ye kounye a?
Lè sa a, montre yon lyen nan efase li.
Li nan super senp.
>> Kontwolè a.
Se konsa, sa a se, ankò, koòdone nan ant modèl la ak gade nan.
Li nan youn nan ki fè travay la difisil nan interacting-- te entèrmedyèr la.
Li charj enfòmasyon pou a wè, ki nou pral wè nan yon sec.
Ak yo nan lòd yo kominike ak modèl la, li
rele metòd modèl yo, ki se ki sa ou nèg yo abitye kòm fonksyon.
>> Se konsa, pou egzanp, sa a se kontwolè tweet nou an.
Li ta ka gade yon ti kras redoutable kounye a.
Men, li se aktyèlman super entwisyon yon fwa ou kòmanse plonje nan.
Se konsa, pou egzanp, nan endèks nou an, ki nan kote nou vle montre tout tweets yo.
Se konsa, liy sa a fondamantalman jis mande pou tout tweets yo.
Lè sa a, nou inisyalize tou de tweet-- yo nouvo konsa tankou
si yo vle kreye yon nouvo tweet sou paj sa.
>> Epi li mande sa ki itilizatè a kounye a se.
Lè sa a se yon bagay ki analogue nan la rann ke ou te wè nan pset 7,
kote li nan jis kalite di view-- li nan kalite, tankou, nan
pase varyab yo ke w ap ale nan bezwen nan gade nan gade nan.
Apre sa, nan yon pakèt antye metòd pou diferan
ki kontwolè sa a tweet a ka okipe.
>> Men, reyèlman, ray fè yon bon travay nan kalite
nan ap divize yo an diferan nan aksyon ki kontwolè ou ta ka fè.
Èske gen nenpòt kesyon sou nenpòt nan pati pyès sa yo nan ray mv?
Kalite jis yon briz pa.
Se konsa, ou nèg ka tcheke li soti sou pwòp ou yo.
Awesome.
Nou pral kenbe prale.
>> Se konsa, enstale ray.
Enstale ray ta ka, tankou, youn nan pati yo ki pi plis redoutable
nan ray yo tout pwosesis, malerezman.
Men evidamman, nan tout nou yo bò kote ou kapab ede.
Ak yon lòt fwa li la sou la, yon anpil nan resous gwo,
kòm Gabe mansyone, pou trape te kòmanse.
Isit la yo se lyen yo ki ou pral bezwen yo nan lòd
nan download ray jwenn li enstale sou machin ou.
Li evidan, li nan ki disponib pou tou de fenèt ak Mac
ak pou aparèy la CS50.
Kesyon sou anyen nou te di?
>> ODYANS: Mwen ta dwe enterese nan, aktyèlman
Se konsa, mwen konnen ke Téléchargez lojisyèl se baryè nan pi gwo.
Si gen nan ase enterè yo gen yon Téléchargez sesyon mini oswa yon bagay.
Zack CHAUVIN: Milimèt-HM.
Yeah.
Sa ta kapab reyèlman itil.
Si yon moun nan reyèlman Gung-Ho sou lè l sèvi avèk sa a pou pwojè yo
oswa nan lavni an, Lè sa a, nou ta definitivman gen kè kontan pou pale ak ou sou sa.
Milimèt-HM.
>> ODYANS: Yon kesyon ki gen rapò ak nan sa m 'mande anvan.
Pou moun nan nou ki te fè lòt cadres ki toujou
ap eseye fè menm bagay la tou bagay, fè li pi fasil
yo bati yon sit entènèt oswa yon fonctionnalités, mwen panse ke nenpòt ki sans
sou rezon ki fè nou ta dwe sou ray kont Zend oswa kèk nan lòt cadres yo
ak lang yo.
>> Zack CHAUVIN: Mwen pral jis di $ mwen 0.02 sou sa.
Mwen renmen Ruby sou ray.
Mwen te gen chans lan nan travay nan tou de PHP ak Ruby sou ray.
Mwen anpil pito Ruby sou Ray paske nan Ruby.
Definitivman, sa a, se yon gwo pati nan li.
Tankou, lè w ap chwazi fondasyon ou,
ou chwazi pou ou lang ou tou.
>> Ruby se super ki aksesib Mwen panse ke yon lang pi bon pase PHP.
Men, sa a kalite preferans pèsonèl.
Osi byen, yon lòt konsiderasyon se kominote a dèyè fondasyon an
ke w ap travay ak.
>> Dwa koulye a Ruby sou ray se reyèlman cho.
Genyen tòn sipò dèyè li.
Ou poste yon bagay sou Stack Depatman sou yon pwoblèm ou se
li te gen nan Ruby sou ray, ak reponn li nan.
Yon fwa ankò, li nan sous louvri, ki vle di ke li nan toujou ap chanje.
Genyen tòn moun ki se reyèlman dedye
yo nan lòd yo fè sa a yon vrèman fantastik fondasyon.
Se konsa, sa a, poukisa mwen ta chwazi Ruby sou ray.
GABRIEL GUIMARAES: Yeah.
Mwen ta ka di ke lide a dèyè pi cadres w ap
pral jwenn yo deyò se trè, trè menm jan an, dwa?
Se konsa, ki gen konpòtman egzanplè View Kontwolè a, lefèt ke kontwolè nou an
pral gade tankou yon bagay tankou chak this-- nan fonksyon yo
se tankou youn nan paj ou a, epi li redireksyon yo ou,
epi li inisyalizasyon varyab yo.
Sa k ap pase yo dwe menm bagay la pou chak fondasyon ke ou wè yo deyò.
Apre sa, nan pral fè modèl la.
Epi ou ka fè bagay tankou, "ki dwe nan."
Se konsa, olye pou yo fè vèsyon an SQL, ou jis, tankou, fè, user.tweets,
epi ou jwenn tout bagay.
Tout moun gen sa.
Eksepte nan Ruby, ou fè user.tweets, ak Lè sa a kèk estrikti nan PHP,
ou fè user.getalltweets KI KOTE PHP mwen an se pa yon pwoblèm.
Tankou, li nan yon gwo liy.
Li nan menm bagay la, men li la yon gwo liy.
>> Se konsa, sa a, se youn nan rezon ki fè prensipal nan preferans mwen an sou Ruby.
Li nan jis m 'fè egzakteman nan menm bagay nan lòt cadres,
li jis pran m 'de fwa liy osi lontan nan kòd.
OK?
>> Nenpòt lòt kesyon?
>> Zack CHAUVIN: Yon bagay Mwen pral mansyone quickly-- Gabe
pale yon ti kras sou Meservey.
Epi sa a, yon vrèman great-- Mwen vle di, sa a se kalite komen nan tout estrikti,
ke gen nan kalite yon konsèp gem, ki se tankou nan ti egzanp mwen,
Mwen te konekte.
Tankou, ou ka siyen nan, siyen soti.
Tankou, sa a, se aktyèlman kalite yon pwosesis konplèks.
Li te okipe yon ti kras ti jan pou ou nan pset 7.
Men, mwen toujou pa konplètman konnen ki jan aplike siy-an, siy-soti.
Epi sa a, paske Ruby sou ray gen tòn
nan Meservey ki fè lòt bagay tankou sa pou ou.
>> Yon fwa ankò, konvansyon sou konfigirasyon.
Tout moun k ap pase yo dwe ap fè sa a siy-an, siyen-soti etap.
Se konsa, poukisa pa jis fè yon pake, ki rele Elabore nan ka sa a, ki se yon GEM.
Ou jis gen ladan li.
Lè sa a, gen kèk èd sou entènèt ak ki jan yo sèvi ak li.
Epi ou pa gen enkyete sou bagay tankou sa.
>> Mete foto sa yo things-- yon GEM pou sa.
Tankou, nenpòt lè ou ap eseye fè anyen nouvo, gen nan yon GEM pou sa.
Epi ou kalite jis mete ansanm sa yo Meservey
ak bati yon vrèman konplèks aplikasyon trè vit.
Cool.
Nenpòt lòt kesyon?
>> STEPHEN devan mouchwa tèt: Woo-hoo a.
Mwen pa panse [fèbl].
>> GABRIEL GUIMARAES: OK.
Mèsi anpil, guys.
>> STEPHEN devan mouchwa tèt: Bůh-bye.
Zack CHAUVIN: Bůh-bye.
>> STEPHEN devan mouchwa tèt: Woo-hoo a.
[Aplodisman]
>> Yay.