>> [Musika nagpe-play]
>> Stephen tukarol: Kaya ako Stephen tukarol.
Sa paglipas sa gilid dito, siguro namin makakakuha ng ilang mga tao na makisalamuha.
Mayroon kaming Gabriel at Zack.
Kaya para sa isang maikling roadmap sa kung ano ang ito ay pagpunta sa hitsura,
Pupunta ako sa ginagawa ng ilang lubos na mataas na antas ng pagtingin sa kung ano MVC ay.
Gabe?
>> Gabriel Guimarães: Pupunta ako sa makipag-usap tungkol sa Ruby at ilang sandali
kung paano gumagana ang daang-bakal at kung paano kaya nito makatulong sa iyo na bumuo ng mga web application.
>> Zack CHAUVIN: At pupuntahan ko magpapakita sa iyo ng isang tiyak na halimbawa ng kung paano
gamitin daang-bakal na bumuo ng super-hanga app.
Stephen tukarol: Kahanga-hanga.
Sweet.
Lahat ng karapatan.
Kaya ipaalam makipag-usap tungkol sa MVC.
Kaya sabihin pumunta sa susunod na slide, na Ay kong gawin sa pamamagitan ng pagpindot sa pindutang ito.
At ng pumunta sa next---unlad ipaalam, Gusto kong isipin ang tungkol sa pagpunta sa CVS,
dahil CVS ay isang tindahan at Mayroon ding V sa gitna.
>> At ang isipin sa isang tindahan upang ipaalam.
At ni gumawa ng store na ito hayaan magbenta lamang ng isang bagay.
Kaya kami ay pagpunta sa may ito -imbak ng nagbebenta lamang ang mga pulang tasa.
At isipin ituturo sa iyo sa, at pumunta sa harap ng tindahan, at tao.
At ang kanyang pangalan ay Vince.
>> At Vince wave kumusta sa iyo, sabi hi.
At napansin mo ang isang bagay tungkol sa Vince.
Kaya tuwing iniisip natin ang tungkol Vince, namin isipin ang tungkol sa dalawang pangunahing adjectives.
Vince ay maganda, ngunit siya ay torpe.
OK.
Kaya alam mo na, walang kasalanan sa kanyang sarili, sa kasamaang-palad, siya ay maganda.
Siya ang ating pananaw.
Kaya aming unang miyembro cast ay doon.
Panatilihin na nasa isip.
>> Ngayon, hinihiling mo Vince, pumunta ka, hey Vince.
Ako ay isang customer.
Sabi niya hi.
Talagang gusto ko ang isa sa iyong mga pulang tasa.
At kung ano ang sinasabi Vince?
Sinuman magkaroon ng anumang ideya kung ano ang sinasabi Vince?
Pupunta ako sa malamig na tawag.
Ano ang tingin mo Vince sabi?
>> Madla: sabi niya, maaari kong ipakita sa iyo kung saan ito, ngunit hindi ko maaaring magbigay sa iyo ng isa.
>> Stephen tukarol: sabi niya, maaari kong ipakita sa iyo kung saan ito, ngunit hindi ko maaaring magbigay sa iyo ng isa.
Kahit na mas masahol pa.
Kahit sino pa ang may isa pang ideya kung ano ang maaaring sabihin Vince?
>> Madla: Siya ay may upang pumunta check kung mayroon silang anumang mga pulang tasa.
Stephen tukarol: Vince ay hindi kahit na alam niya ay may upang suriin.
Ano pa?
Kaya't sinabi sa iyo, ay sa suriin kung siya ay may pulang tasa.
Sige.
Madla: Ano ang isang pulang tasa?
Stephen tukarol: Ano ang isang pulang tasa?
Ano ang isang pulang tasa?
Vince ay nalito.
Kaya Vince ay pagpunta sa makipag-usap sa ang aming susunod na nagsumite ng mga miyembro, Carl.
At kapag sa tingin namin tungkol sa Carl, kami gotta isipin ang tungkol sa dalawang malaking adjectives--
siya pagkontrol, ngunit siya ay walang kakayahan.
>> Kaya goes-- siya Vince -uusapan, ano ang isang pulang tasa?
Hindi ko alam kung ano ang isang pulang tasa ay.
Siya ay lumiliko sa paligid, at tinatanong niya Carl.
Sabi niya, Carl, may isang taong tinanong para sa isang pulang tasa.
Maaari mong gawin iyon?
At kung ano ang sinasabi Carl?
Malaman natin ito lumabas.
Kahit sino ay may anumang ideya kung ano ang sinasabi Carl?
At lamang ko makikita ulitin ito pabalik sa iyo.
Nakita ko ang isang kilusan kamay.
>> Madla: Siya ay nagsasabi sa isang tao iba pa upang makuha ang pulang tasa.
>> Stephen tukarol: Sinasabi niya ibang tao upang makuha ang pulang tasa.
Mismong.
At huwag mayroon kaming isang ideya na maaaring ang taong iyon?
Ito ay isang pahiwatig.
Ito ay pagpunta sa magsimula sa isang M. nagkakagulong mga tao?
>> Madla: Model.
>> Stephen tukarol: Ang modelo, oo.
Ang kanyang pangalan ay hindi Model, sa kasamaang-palad, dahil iyon ay isang nakakatawa pangalan.
Mayroon kaming glab sa beisbol.
At kapag sa tingin namin tungkol sa Mitt-- hindi, hindi ito isang larawan ng Zack.
Mayroon kaming mag-isip ng dalawang key adjectives na may glab sa beisbol.
Siya ay may kakayahang, ngunit siya ay mapagpakumbaba.
Kaya alam ng glab sa beisbol kung ano ang mayroon siyang gawin, ngunit hindi siya ay maaaring talagang gawin.
O kaya hindi niya talaga maaaring magpasya sa kanyang sarili.
>> Kaya mayroon kaming Carl.
Carl sigaw sa glab sa beisbol.
At sabi niya, hey glab sa beisbol, kailangan namin ng pulang tasa.
At glab sa beisbol pupunta sa kanyang pulang tasa deposito.
Siya grabs isang tasa, at nagbibigay ito sa likod niya.
Kahit sino ay may anumang ideya kung ano ang mangyayari pagkatapos?
Nagbibigay sa tasa.
Sa ngayon glab sa beisbol Sumailalim sa kanyang pulang tasa imbakan, kinuha ito,
naka-check-off ito, sinabi, Kinuha ko ang isa pulang tasa.
At siya ay nagbibigay sa ito sa Carl.
Mo Mayroon ba ng ideya?
Ano ang tingin mo Carl nagagawa?
>> Madla: Carl nagbibigay ito sa Vince.
>> Stephen tukarol: Carl nagbibigay ito sa Vince.
Vince.
>> Madla: At Vince Ipinapakita ito sa [hindi marinig].
Stephen tukarol: Mismong.
Kaya iyon mismo ito.
Kaya Vince tumatagal ang tasa, Hindi alam kung ano ito,
ngunit Ipinapakita niya ito sa user.
Kaya Subukan upang muling likhain ang hayaan ito talagang mabilis.
At kami ay gonna pangangailangan tatlong silent boluntaryo,
bilang ka guys ay hindi pagpunta upang magawang makipag-usap.
Kaya ko grab tatlong?
OK.
At kung sino ang gusto mong maging?
>> Madla: Makikita ko ba Vince.
>> Stephen tukarol: Vince, OK.
Maganda ngunit ugok.
Mahusay.
Sinumang iba pa?
Kami ay naghahanap para sa isang may kakayahan ngunit mababang-loob.
Kahit sino pa ang gustong maging may kakayahang?
>> Madla: Maaari ko bang maging Carl.
Stephen tukarol: Sweet.
Mayroon kaming Carl.
>> Madla: glab sa beisbol.
>> Stephen tukarol: glab sa beisbol, OK.
At kami ay pagpunta sa kailangan a-- kukunin ko na ang customer.
Kaya dumating sa up, dumating sa up.
At ang lahat ng tao sa pagtingin?
Kaya ako pagpunta sa hilingin Vince sa tumayo sa harap, tulad nakangiting,
nakangiting tulad ng maliwanag hangga't maaari.
At kami ay pagpunta sa hilingin Carl, karapatan, bakit hindi mo, tulad ng,
tumayo karapatan sa likod ng kanya?
At glab sa beisbol, bakit hindi mo pumunta sa labas lamang sa likod,
at pagkatapos Bibigyan kita ng isang grupo ng tasa na mag-hang out kasama.
>> Kaya ako ng isang customer.
Dumating ako.
At gumawa ako [hindi marinig] ko sabihin, hi, gusto ko ng isang tasa.
Perpekto.
Kaya ay walang ideya Vince.
Kaya ano nga ba ang Vince ang susunod na gagawin?
Vince-- OK, kaya ako pupunta maging narrating ngayon.
>> Vince sigaw sa Carl, tasa!
Ano ang ibig Carl gawin?
Carl yells sa glab sa beisbol.
Glab sa beisbol grabs isang tasa.
Glab sa beisbol nagbibigay ito sa Carl.
Nagbalik ito sa Carl Vince.
At Vince nagpapakita ito sa user.
>> At iyon ay isang mataas, mataas, mataas na, kaya mataas na pagtingin sa MVC.
Hinati namin ito sa pamamagitan ng pagkakaroon ng view, kung ano na nakikita ng gumagamit, ang isang controller, may isang taong
sino ang lahat ng bagay sa background ngunit talagang hindi maaaring i-update ang anumang bagay
o hindi makagawa ng anuman ng anumang kabuluhan maliban sa pagtawag sa view at modelo.
At pagkatapos ay mayroon kaming glab sa beisbol, modelo, na-a-update ang anumang data na mayroon kami.
Kaya salamat sa iyo kaya magkano para sa aming magandang, pagkontrol, at mga boluntaryo na may kakayahang.
At sa tingin ko na ito.
>> [Palakpakan]
>> Sa tingin ko Gabe ay pagpunta sa makipag-usap ngayon sa isang sana ay mas mataas na antas.
>> Gabriel Guimarães: OK, guys.
Ngayon sabihin makipag-usap nang kaunti pa tungkol sa code at tungkol sa Ruby on Rails sarili nito,
at tungkol sa kung paano ito nauugnay sa lahat ng ito MVC kuwento.
Talaga, Ruby on Rails ay isang framework.
Higit pa tungkol sa na sa isang segundo.
>> Ngunit lamang upang bigyan ka ng kamalayan ng kung sino ang gumagamit nito,
tulad ng, ang lahat ng mga malalaking companies-- kaya GitHub, Groupon, Twitter--
lahat ginagamit nila Ruby sa Daang-bakal bilang kanilang pangunahing balangkas
upang ipatupad ang kanilang website.
Kaya ako sigurado ng maraming mga tao ginamit mga website na ito dito.
At lahat ng ito ay Ruby on Rails ipatupad modelo, ang view, at ang controller
sa lahat ng mga website na ito at marami pa.
OK?
>> Kaya tulad ng sinabi ko, Ruby sa Daang-bakal ay isang framework.
At maaari mong uri ng isip ng isang balangkas sa kamalayan ng tulad ng pagbuo ng isang bahay.
Kaya kung gumagamit ka ng pagpunta sa bumuo ng isang house-- at maaari ka laging
magsimulang walang kalamangan, tama?
Maaari mong subukang upang makabuo sa isang paraan upang makita ang gawa sa kahoy,
at dalhin ang kahoy sa lugar, at upang makuha ang bato sa kanang hugis,
at pagkatapos ang lahat ng iyon.
Ngunit na pagpunta sa tumagal marahil ng maraming taon
hanggang sa makuha mo ang lahat ng materyal, at makakakuha ka ng lahat ng bagay nang magkakasama,
at aktwal mong simulan upang bumuo ng inyong bahay.
>> Kaya ito ay lumiliko out kung magsimula ka sa isang framework na may isang bagay na
na uri ng sa lugar para sa anumang uri ng bahay
na nais mong i-build-- isang bagay na napaka generic ngunit na maaari mong
pagkatapos ay i-model patungo sa iyong sariling goals-- pagkatapos ay maaari mong magamit
ito kapangyarihan ng Framework upang bumuo ng ang mga ito ng isang bagay magkano, mas mabilis.
OK.
Kaya ito ang parehong ideya sa isang framework para sa isang web application
o para sa anumang uri ng application, para sa na bagay.
>> Ikaw talaga magsimula sa kalahati ng isang application
pa doon sa lugar para sa iyo.
At sa pamamagitan ng na, ibig kong sabihin kang makakuha ng maraming mga file na mayroon nang mga pag-andar,
tulad ng aklatan, tulad ng pag-andar, at mga command na maaari mong patakbuhin sa pagkakasunud-sunod
upang gumawa magkano ang iyong buhay mas simple at mas madali.
OK.
>> Kaya sa kasong ito, kami ay pagpunta makipag-usap tungkol sa Ruby on Rails.
Mayroong maraming iba't ibang Framework out doon.
Mayroong Django para sa Python.
Mayroong Zend framework o Laravel para sa PHP.
Mayroong maraming iba't ibang mga bago.
Ruby on Rails ay isang medyo magaling bago.
Isang maraming mga tao ang gumagamit na sa startup at sa ganitong uri ng kapaligiran.
At ang ilan sa mga napaka-malaki mga kumpanya na ako ay nagpakita dito bago
Gumagamit ka rin Ruby on Rails.
>> Kaya lang upang bigyan ka ng kamalayan ng kung ano Ruby ay
tulad ng, dahil ka guys ay mas gamit na sa, tulad ng, C at ng kaunting PHP
ngayon, kaya Ruby ay magiging ang katumbas ng iyong PHP sa puntong ito.
Hindi ito Ruby.
Ito ay C. OK?
Ngunit ito ay tulad ng DJBHash function na ako
Alam ng maraming tao na ginamit para PSET maling spelling.
>> At sa Ruby, medyo halos tulad ng sa PHP, mo
maaaring ipatupad ang may lamang ng ilang linya ng code.
Sa halip na mag-alala tungkol sa hash,
kinakailangang mag-alala tungkol sa mga bucket, at ang lahat ng iyon, maaari mo lamang sabihin,
diksyunaryo = Hash.net.
At pagkatapos ay gamitin mo uri ng tulad ng ang parehong ideya na nagkaroon ng PHP.
At kaya sa true.
At pagkatapos ay kung gusto mong suriin, kaya tingnan ang function na
ay magiging kung diksyunaryo "foo" Kapantay ay katumbas ng totoo, nagbabalik ng tunay.
At iyon ang lahat, OK?
>> Kaya mapapansin mo ang ilang mga pagkakaiba.
Walang mga semi-colon dito, bilang mayroong sa C.
Subalit ang pangkalahatang ideya ay halos katulad na.
OK?
>> Gayundin, Ruby, may mga hiyas, na mga uri ng Ruby aklatan.
At daang-bakal humahawak ng mga ito sa isang napaka gandang paraan para sa iyo.
Kaya kung nais mong ilagay sa ilang mga aklatan na
ang mga email, o na ang text messaging,
o na ang pagsasama sa Facebook, o anumang uri ng bagay
tulad na para sa iyong app, ay masyadong, napakadaling.
Logro ay maaari kang makahanap ng isang bagay tulad na sa internet.
At sila ay gawin lamang isang bagay tulad ng maglagay na
hiyas na nais mong gamitin sa hiyas file.
At pagkatapos ay i-install ng daang-bakal lahat.
Hindi mo kailangang mag-alala tungkol sa anumang ng iyon, kaya na talaga cool.
Gayundin, mayroong maraming, maraming tulong sa online.
Kaya maaari kang makahanap ng maraming mga bagay.
Kung mayroon ka ng isang error, Maaari mo lamang ng Google ito,
at ito ay magiging Napakadaling upang makakuha ng tulong.
>> At ito ay may maraming mga fun-- exactly-- dahil sa iyo
Hindi mo na kailangang mag-alala tungkol sa mababang antas mga detalye, pagpapatupad ng hash talahanayan
at pagkakaroon upang makabuo ng lahat ng ang HTTP header, at maraming mga bagay,
at kahit ilang karagdagang mga bagay na mas mataas na antas.
Hindi mo kailangang mag-alala tungkol na sa daang-bakal.
Ginagawa nito ito napaka, napaka-mabuti para sa iyo.
At kami ay pagpunta upang ipakita na higit pa concretely sa lalong madaling panahon.
OK.
>> Kaya nang kaunti tungkol sa Ruby muli.
Kaya tulad lamang C, tulad ng sinabi ko.
Sa halip na printf, sabihin natin "Inilalagay ng," kung saan ay "ilagay string."
Ito ay naglalagay ng isang string sa console.
At sa kasong ito, hindi namin pag-print lamang ang "Hello World."
Hindi namin kailangan ang mga panaklong, ngunit ito ay halos katulad na.
>> At pagkatapos ay kung gusto mo upang gawin ang isang bagay dito,
tulad ng i-print ang isang bungkos ng "smalls" at ng grupo ng mga "bigs" sa isang Habang loop,
ito ay uri ng tulad ng sa C, tama?
Wala kang mga param, ngunit ito ay halos pareho.
Ang indentation dito mga bilang, kaya x ay katumbas ng 1.
At pagkatapos ay Habang x ay mas maliit kaysa 50-- ito ay isang Kung, ito ay isang Iba Pa.
Ito ay halos tulad ng kung ano ang iyong nakita.
>> At pagkatapos ay x + = 1 ay incrementing lamang, uri ng tulad ng ginagawa ng ++ na maaari mong
gawin sa C. Ngunit Kahanga magkano kung ano ang nakita mo sa C.
Hindi ito dapat maging masyadong kumplikado.
Ngunit ito ay mas malakas.
Kaya may ilang mga command dito na talagang isang bit mas bago.
>> Kaya halimbawa, "Inilalagay."
Maaari mong gamitin ang hashtag pagtatanda dito upang i-print lamang something--
halos tulad ng kung ano ang gusto mong gawin kung ang ang% D% o C o medyo tulad na.
At maaari mong aktwal na ilagay ang isang Kung matapos ang pahayag.
Kaya gusto ko lang gawin this-- Kung x ay mas malaki kaysa sa 3.
Kaya bakit kailangan kong gumawa ng isang buong Kung bloke?
Hindi ko alam.
Maaari ko lang i-print ito lamang kung x ay katumbas ng mas mataas kaysa sa 3.
Kaya ito ay isang linya paraan ng paggawa nito sa Ruby.
>> Isang listahan sa Ruby ay isang bagay na lubhang maraming nalalaman.
Kaya hindi mo talaga kailangan na magkaroon ng isang uri ng lamang.
Maaari kang magkaroon ng isang string, at pagkatapos ay ang ilang mga numero, at kahit anong.
At kung gusto mong ikabit isang bagay sa isang listahan,
Maaari mo lamang gamitin ito pagtatanda dito mismo.
>> At kung gusto mong umulit.
Halos ang 4each sa PHP, narito, sa iyo magkaroon ng isang listahan at gawin mo ang "List.each gawin."
At ito "elem," ito ay tulad ng pangalan ng bawat elemento
na pupuntahan ko magkaroon sa aking listahan.
At pagkatapos ay ang maaari kong "naglalagay elem." Lamang
At "naglalagay" halos handle paglalagay nito para sa iyo, pag-print ito.
Hindi mahalaga kung ito ay isang string o isang int.
Nangyayari ito sa ehersisyo ang mga iyon para sa iyo.
Mag-right?
Ayos.
>> At tulad lamang ng PHP, Ruby at HTML din isama ang napaka, napaka mabuti.
At dito, may ilang mga HTML sa Ruby sa loob nito.
Kaya mayroon kaming body tag tulad ng sa HTML.
At kung gusto naming suriin na ang isang gumagamit ay, halimbawa,
-log in, maaari lamang naming sabihin, simula ng Ruby, kung user.logged_in ?, dulo ng Ruby.
I-print ang buong bagay, na May ilang Ruby sa loob nito, na kung saan ay isa lamang
uri ng tulad na syntax para sa PHP na mga print out ng isang variable.
Mag-print ng mga user.name Hayaan.
>> Kaya maligayang pagdating, Stephen, sa loob ng isang HTML div.
At sa pagtatapos, mayroon kaming isang "end" at Ruby code, na nangangahulugan na ito ay ang aking
Kung block.
OK?
Kaya tulad ng isang tuluy-tuloy na integration sa pagitan ng Ruby at HTML.
Maraming mapagkukunan din.
Ngunit bago ilipat namin sa, ang sinuman mayroong anumang mga katanungan tungkol sa Ruby, kahit ano?
OK.
>> Maraming mga mapagkukunan sa online sa tryruby.org, Code Academy,
ruby-lang.org, kung saan maaari mong subukan ito out sa iyong browser bago mo talaga
sabihin, oh, OK, pupuntahan ko gamitin Ruby para sa aking huling proyekto.
At kaya siguradong magbibigay sa mga may try.
Ang lahat ng mga slide ay pagpunta sa maging available sa online,
sa gayon ay maaari mo lamang i-download ang mga ito.
At oo?
>> Madla: [hindi marinig] kung ano ang ipinakita mo lamang
ay HTML at ang code na naka-embed sa ito sa pagkaunawa ng View Modelo
Kontroler?
>> Gabriel Guimarães: Oo.
Gagawin namin ang na sa isang segundo kapag namin ipakita sa aming halimbawa, OK?
Salamat para sa tanong.
Kaya ang tanong ay kung talaga namin Maaaring ipakita sa pagsasamang ito ng Ruby
sa HTML sa loob ng Modelo Tingnan ang Kontroler framework.
>> Kaya ang ideya ng mga Modelo Tingnan ang Kontroler framework
ay ito ay isa lamang isang pilosopiya, tulad lang nagpakita Stephen dito.
At ito ay hindi isang bagay na kailangan mong gawin,
ngunit ito ay isang bagay na ginagawang iyong buhay upang magkano ang mas simple.
At Ruby on Rails ay binuo sa paligid ito pilosopiya ng code.
Kaya kami ay pagpunta upang ipakita ang isang halimbawa sa lalong madaling panahon.
>> Kaya daang-bakal ay pag-ibig.
Isang maraming tao ang gumagamit nito, tulad ng sinabi ko.
At ito ay tunay na masaya.
Ikaw guys dapat Siguradong subukan ito.
MVC ginagawang mas simple ang lahat.
Kaya ang Modelo Tingnan ang Kontroler, ang naghihiwalay sa mga bagay
at paglalagay ng isang tao, per se, o isang bahagi ng iyong application
gawin ang bawat isa sa iba't ibang mga trabaho na aplikasyon ay na gawin.
At nagastos ng mas kaunting oras sa mga problema sa mababang antas.
At napaka-tanyag na ngayon.
Mayroon kaming daang-bakal 4.0, kung saan ay isang bagong bersyon.
At ito ay may maraming mga cool na bagay.
Ang isa pang tanong.
>> Madla: Ang isa pang tanong.
Ruby on Rails kumpara Ruby on Rails Grails.
>> Gabriel Guimarães: OK.
Ang tanong ay, Ruby sa daang-bakal kumpara sa Ruby--
Madla: Grails.
Ruby?
>> Gabriel Guimarães: Oo.
Kaya Ruby ay ang wika.
>> Madla: Hindi.
Ako humihiling sa iyo na ihambing ang isang wika at isang framework, Ruby on Rails,
sa ibang sikat na wika framework-- Grails-- sa Ruby
sa daang-bakal.
>> Gabriel Guimarães: OK.
Sorry.
Ang tanong ay, ihambing Ruby at Ruby on Rails
sa ibang framework at another--
>> Madla: Ruby.
Ito ay ang OK.
Kung hindi mo alam ang tungkol dito, na multa.
>> Gabriel Guimarães: Tulad ng, kung ano ang Naiintindihan ko ay that--
>> Madla: May isa pang balangkas ng tinatawag na Grails.
>> Gabriel Guimarães: Oh, Grails.
Hindi ko narinig nito.
Sorry.
Hindi ko narinig ng Groovy sa daang-bakal.
Sorry.
>> Madla: Ito ay magkano ang mas mahusay na pinagsanib na sa Java.
>> Gabriel Guimarães: nakikita ko.
>> Madla: Ako lamang mausisa tungkol sa ilang mga taong kilala ko like--
>> Gabriel Guimarães: Hindi, ako ay hindi kailanman Narinig ng isa na, sa kasamaang-palad.
Grails.
>> Madla: At ang ilang mga tao malinaw naman tulad ng Ruby on Rails.
>> Gabriel Guimarães: na hindi ko na gamit na Ruby on Rails ng maraming.
Ginamit ko ng ilang Django may Python, tulad ng sinabi ko.
Ginamit ko ng ilang Laravel.
Ngunit hindi ako gumamit Groovy sa daang-bakal.
Sorry.
At ito ay napaka-tanyag ngayon sa daang-bakal 4.0.
Tulad ng, ang ilang mga bagay-bagay na daang-bakal ginagawa para sa iyo, halimbawa, ay sa iyo
may maraming mga CSS file at maraming mga file sa JavaScript.
At maaari mong tratuhin ang mga ito bilang hiwalay at ang lahat.
>> Ngunit ito automatically-- kapag ipadala mo ang iyong code sa produksyon,
ito ay awtomatikong compiles ang lahat ng ito sa isang solong file
na minified nang walang anumang puwang, upang ito ay tumatagal ng hanggang
mas puwang sa iyong application, sa gayon na maaari mong talagang scale bagay ng maraming.
Iyon ang dahilan kung bakit tulad malaking kompanya ng tulad ng Twitter at GitHub
ay gumagamit ng daang-bakal, dahil ginagawa nito ang lahat ng na para sa iyo, na talagang cool.
>> Ang isang bagay na ito ay isang, napaka, napaka-daunting
para sa mga tao, kabilang ang sa akin, na sinusubukan upang gumana
may isang framework sa simula, ay na kapag binuksan mo ang out ng application,
na iyong pupuntahan upang makita ang isang bungkos ng mga file.
Tulad ng, kapag lumikha ka Daang-bakal Bagong, My Application,
na iyong pupuntahan upang makita ang lahat ng mga folders-- app, bin, config, db, Lib,
-log, pampublikong.
Tulad ng, maraming at maraming mga bagay-bagay.
>> At sa unang pagkakataon ako Nakita iyon, ako ay tulad,
OK, Wala akong palagay kung ano ang nangyayari.
Gusto ko lang upang lumikha ng isang website gamit ang "Kumusta, mundo,"
at ito ay nagbibigay sa akin, tulad ng, 100000000000 iba't ibang mga pahina.
Hindi ko alam kung ano ang nangyayari.
Kaya maaring huwag maging masyadong daunted sa pamamagitan na iyon.
>> Ang ideya ay na ito ay talagang kalahating ng isang bahay doon para sa iyo na.
Ito ay isang buong framework para sa iyo na.
Iyon ang dahilan kung bakit may mga kaya maraming mga file.
Ngunit ang magaling na bagay ay tumutulong ito naghihiwalay sa lahat ng mga ito lubhang mabuti.
Logro ay hindi mo na kailangang mag-alala tungkol sa karamihan sa mga folder na ito.
>> Ang pinaka-mahalagang isa, ako sasabihin, ay ang folder na app,
kung saan aktwal na naninirahan sa iyong app.
Kaya ang config, na iyong pupuntahan kailangang configurate ilang mga bagay-bagay,
tulad ng iyong database at mga bagay tulad ng kung anong uri ng database na iyong ginagamit.
Ngunit maliban sa na, tulad ng karamihan ng ang iyong trabaho ay pagpunta sa gawin sa app.
Kaya sa app, mayroon kang asset, Controllers, helpers, mailers, mga modelo, mga tanawin.
Kaya dito, simulan mo nakikita na Controllers, mga modelo, at ng mga tanawin ay
sa pag-play.
>> Mailers na lamang kung Gusto upang magpadala ng mga email.
Helpers kung nais mong gumawa ng ilang mga pag-andar
na gumamit ka ng maraming sa view.
Kaya mo ilagay ang mga ito sa helpers.
At asset ay isa lamang ang lahat ng iyong mga imahe, lahat ng iyong CSS,
lahat ng iyong mga JavaScript, at tulad ng mga uri
ng mga bagay na maipadadala sa client.
At lahat ng bagay na nasa mga asset, na sinabi ko bago, ay makakakuha ng minified.
Ito ay pinagsama-sama.
At hindi mo talaga kailangang mag-alala tungkol sa na kapag pumupunta sa produksyon code.
Ayos.
>> Ngayon Zack pupuntahan dumating sa, at siya pagpunta sa gawin ang isang halimbawa ng Twitter50.
>> Madla: Woo-hoo!
>> Zack CHAUVIN: Kahanga-hanga.
Kaya nagkaroon ako ng pagkakataon upang gumana may Ruby on Rails ngayong tag-init.
Ito ay isang kamangha-manghang mga balangkas.
Ako'y sobrang bahagyang dito.
At ako makakakita ipakita sa iyo ng kaunting isang halimbawa ng kung ano ang maaaring magmukhang.
Tumalon sa ibabaw sa Chrome.
Kaya ito ay isang halimbawa ng isang napakasimpleng Ruby on Rails application-- isang bagay
tulad ng ito ay isang bagay na talagang excels Ruby
that-- lamang kung saan ang iyong modelo na ito ay napaka maayos na natukoy.
>> Sa halimbawang ito, makikita mo ang dalawang magkaibang mga modelo, na
ay mayroon kaming mga gumagamit at mayroon kaming mga tweet.
Kaya ito ay Twitter50, Sariling Twitter Harvard iyon.
Tulad ng iyong nakikita, ako naka-log in bilangzack.
At ako makakagawa ng mga bagong tweet.
Kaya think-- ko "Ito ay isang" - paumanhin?
Madla: [hindi marinig].
Zack CHAUVIN: Oh, OK.
Kailangan mo upang itigil ang server.
Mahusay.
Kaya dito tayo.
Gaya ng nakikita mo, mayroon kaming Twitter application dito mismo.
At ito ay napakadaling upang simulan ang server.
Susubukan naming lamang gawin "daang-bakal server."
Mahusay.
OK.
Salamat sa iyon.
Kaya ngayon nagpapatakbo ka namin.
>> At kami sabihin, "Ito ay isang kahanga-hangang seminar. "
At tingnan kung ano ang mangyayari ipaalam.
Kaya gagamitin namin tweet tungkol dito.
Down sa ibaba, maaari mong makita ang ngayon ay may higit sa tatlong mga tweet.
Kaya mayroon kaming ilang sandali ng pagbilang ng pahina ng pagpunta sa.
At mayroon kaming na tweet.
At maaari ko ring maghanap sa pamamagitan ng aking tweets-- paghahanap para sa at ang dalawa
mga na mayroon ang salitang "Ito" sa mga ito lalabas.
Maaari din naming tanggalin ang mga tweet sa pamamagitan ng pag-click sa maliit na pindutang Delete.
At malinaw naman, maaari ko lamang tanggalin ang post na pag-aari sa akin.
>> Mayroon, halos kami ay may -andar ng Twitter.
Tulad ng, kapag sa tingin mo tungkol dito, Twitter talaga ay hindi gawin ang lahat na magkano.
Mayroon itong mga gumagamit, mayroon itong mga tweet.
Mayroong ilang mga mas kumplikadong pag-andar.
Ngunit kapag mo ba talagang makakuha ng pababa sa ito, ito ay medyo isang simpleng Ruby on Rails app.
At isang bagay na tulad nito, na may isang mabuting pang-unawa ng Ruby on Rails,
maaari mong malamang gumawa sa loob ng isang oras o dalawang.
>> At na talagang ay Bumalik sa Ruby Mantra,
na convention sa paglipas ng configuration.
Kaya pabalik sa araw, ang mga tao, anumang oras ninais nilang gumawa ng website na ito,
ay magkakaroon upang simulan mula sa simula.
OK, gusto kong gumawa ng isang website.
Gumawa ng file na ito at ipaalam sa ang file na ito at ang file na ito.
>> Sa Ruby on Rails, may wala sa mga iyon.
Sabihin mo, gusto ko ng bagong app.
At tulad lang nagpakita Gabe sa amin, ito Lumilikha ang buong istraktura ng file para sa amin.
At babaguhin namin ang lang maliit na bahagi na kailangan namin upang.
-Customize lang namin kung ano Natatangi ang tungkol sa aming mga app.
Ayos.
Kaya pagpunta pabalik sa aming mga pagtatanghal preview-- kawili-wili.
Saan ko ipakita?
Madla: Buong screen.
Nangungunang karapatan.
>> Zack CHAUVIN: Mahusay.
Ayos.
OK.
Kaya una sa lahat, ang modelo.
Stephen ginawa ng isang kahanga-hangang trabaho ng binabalangkas ang MVC.
At ngayon kami ay pagpunta sa nauugnay na bumalik sa Ruby on Rails.
Kaya ang modelo maaari mong uri ng isip ng bilang ang database.
Hindi ka na nakikita ito sa CS50 Pananalapi, kung saan ang mga tindahan modelo
ang impormasyon tungkol sa kung gaano karaming mga stock na mayroon ka,
o ang lahat ng mga transaksyon na iyong ginawa.
Ito ay isang halimbawa ng isang linya ng kung paano mo gagawin
pumunta tungkol sa paggawa ng isang bagong modelo sa daang-bakal.
Kaya gusto ko ang isang gumagamit.
Ito ay pagpunta sa may e-mail, na isang string,
at isang password, na rin ang string.
Kaya tulad ng those-- Gusto kong sa bawat hilera sa aking mga talahanayan ng mga user upang magmukhang iyon.
>> Ang isang tunay na kahanga-hangang bahagi tungkol sa daang-bakal ay tumutulong ito
Ginagawang hindi kinakailangan upang isulat ang anumang mga SQL halos.
Paano marami sa inyo guys mahal Sumusulat SQL sa PSET 7?
Mismong.
SQL ay hindi sadyang user-friendly.
At daang-bakal abstracts lahat na ang layo may mga talagang madali command.
Kaya halimbawa, kung kami ay may isang gumagamit, ang isang gumagamit ay maraming mga tweet.
At bawat isa sa mga tweet-aari ng isang gumagamit.
>> Kaya't kung tiningnan mo dito, ang ay ang aming modelo para sa aming mga tweet.
At ang lahat na mayroon kami upang sabihin ay ang nag-iisang line-- Isa akong tweet
at nabibilang ako sa isang gumagamit.
At gamit ang na single line at kaunting configuration database,
Daang-bakal set up relasyon na ito.
Anumang oras, lamang ang maaari kong sabihin, zack.tweets, tulad ng, ibigay sa akin ang lahat ng Zack tweet.
Walang SQL.
Super madali.
Muli, na convention sa paglipas ng configuration na nanggagaling sa pag-play.
>> Maaari mong makita nang kaunti ng isang halimbawa ng Ruby dito.
Tulad ng sinabi ibinigay, sumusulat Ruby ay uri ng tulad ng pagsusulat ng Ingles.
Ito ay isang napakataas na antas ng wika, at ito ay ginagawang talagang madali
para sa amin upang sabihin mga bagay tulad ng, gusto kong tiyakin na ang tweet na ito ay may katawan.
Nito presensya ay totoo.
At gusto ko upang matiyak na ito -tweet, tulad ng normal na Twitter,
May max na haba ng 140.
Ito ay napakabilis na madaling maunawaan, isang talagang mahusay na wika.
>> Susunod na mayroon kami sa view.
Kaya ito ay nagsasangkot ng HTML at CSS.
At narito ang isang halimbawa ng isang view.
Kaya Ruby on Rails uri ng walang putol Sumasama parehong Ruby at HTML
upang makabuo ng kung ano ang gusto namin sa pahina.
Kaya ito ay isang halimbawa ng aming mga layout.
Kaya maaari mong makita ang ilang mga tag na guys ay ginagamit upang, tulad ng HTML, katawan,
lahat na magagandang bagay-bagay.
>> At sa mismong dito, bagaman, namin isama ang ilang Ruby sa pamamagitan ng sinasabi,
kung may mensahe na ipakita, pagkatapos ay ipakita ang mga mensahe sa isang div.
Kaya hindi ako makakakuha ng masyadong maraming sa na.
Ngunit ito ay karaniwang isang pahina na nakakakuha render on--
at kahit na ano ang pahina kung nasaan ka sa, ang isang ito ay makakakuha ng render.
Kaya ito ay kung ano ang nakuhang kasama palagi.
Ayos.
>> Ang isa pang halimbawa ng isang view-- ito ay ang isa kung saan ito pinili ang lahat ng mga tweet.
At ang ilan sa mga bagay na ito ang maaaring maging hitsura medyo pamilyar.
Kaya halimbawa, dito mismo, kami ay looping sa pamamagitan ng bawat isa sa mga tweet,
at kami ay nagpi-print ang mga ito out.
Kaya dito ay kung saan kami ay pag-print out ang katawan.
At kung user-- ang tweet na narito ang isang tunay na halimbawa ng mga SQL ay kasangkot.
Lang ako nagtatanong, ay ito gumagamit tweet ni ang kasalukuyang user?
Pagkatapos ipakita ang isang link upang tanggalin ito.
Ito ay sobrang simple.
>> Ang controller.
Kaya ito ay, muli, ang interface sa pagitan ng mga modelo at ang view.
Ito ang isa na nagsasagawa ng matapang na trabaho ng interacting-- pagiging mamamakyaw.
Naglo-load ito ng impormasyon para sa tumingin, na aming makita sa isang segundo.
At upang makipag-ugnayan sa modelo, ito
tawag modelo pamamaraan, na kung ano ang ka guys ay pamilyar bilang mga pag-andar.
>> Kaya halimbawa, ito ay controller aming tweet na iyon.
Maaaring tumingin ng kaunti daunting ngayon.
Ngunit ito ay talagang napaka-intuitive sa sandaling simulan mo ang diving sa.
Kaya halimbawa, sa aming index, na kung saan namin gustong ipakita ang lahat ng mga tweet.
At gayon ang line talaga Humihingi lamang para sa lahat ng mga tweet.
At pagkatapos ay simulan naming pareho ang bagong tweet-- kaya tulad ng
kung nais nilang gumawa ng isang bagong tweet sa pahinang iyon.
>> At nagtatanong kung ano ang kasalukuyang user ay.
At ito ay lubos na katulad sa -render na nakita mo sa PSET 7,
kung saan ito ay lamang uri ng pagsabi ang view-- ito uri ng, tulad ng,
pagpasa sa mga variable na ikaw ay pagpunta sa kailangan sa view sa view.
At mayroong isang buong bungkos ng iba't ibang pamamaraan
na controller tweet na ito ay maaaring panghawakan.
>> Ngunit talagang, daang-bakal gumagana isang mahusay na trabaho ng uri
paghahati ng mga ito sa iba't ibang mga aksyon na maaaring gawin ang iyong controller.
Mayroon bang anumang mga tanong tungkol sa alinman sa mga bahagi MVC ng daang-bakal?
Uri ng lamang madali sa pamamagitan ng.
Kaya ka guys ay maaaring tingnan ito sa inyong sarili.
Kahanga-hanga.
Itatago namin ang pagpunta.
>> Kaya pag-install ng daang-bakal.
Pag-install ng daang-bakal ay maaaring maging, tulad ng, isa sa mas daunting bahagi
ng buong daang-bakal proseso, sa kasamaang-palad.
Ngunit malinaw naman, lahat ng ay amin sa paligid upang makatulong.
At sa sandaling ito ay sa doon, ng maraming mahusay na mga mapagkukunan,
bilang Gabe nabanggit, para sa pagsisimula.
Narito ang mga link na kakailanganin mo upang
i-download ang daang-bakal upang makakuha ng ito -install sa iyong machine.
Malinaw naman, magagamit para sa parehong Windows at Mac
at para sa CS50 appliance.
Mga Tanong tungkol sa anumang bagay na sinabi namin?
>> Madla: Gusto ko maging interesado sa, actually--
kaya alam ko na ang pag-download software ay ang pinakamalaking harang.
Kung mayroong sapat na interes upang magkaroon ng isang -download ng mini session o isang bagay.
Zack CHAUVIN: MM-Hm.
Oo.
Na maaaring maging kapaki-pakinabang talaga.
Kung sinuman ay talagang gung-han tungkol sa gamit na ito para sa kanilang mga proyekto
o sa hinaharap, pagkatapos ay nais naming tiyak ay magiging masaya na makipag-usap sa iyo tungkol sa na.
Mm-Hm.
>> Madla: Isang nauugnay na tanong sa kung ano ang aking tinanong bago.
Para sa mga ng sa iyo kung sino pa iba pang mga Framework na hindi pa rin
sinusubukan na gawin ang pareho bagay, gawing mas madali
na bumuo ng isang website o isang -andar, sa tingin ko anumang pakiramdam
kung bakit nais namin sa daang-bakal kumpara sa Zend o ilan sa mga iba pang mga Framework
at mga wika.
>> Zack CHAUVIN: idedetalye ko lamang sabihin ng aking $ 0.02 tungkol iyon.
Gustung-gusto ko Ruby on Rails.
Nagkaroon ako ng pagkakataon upang gumana sa parehong PHP at Ruby on Rails.
Magkano Mas gusto ko Ruby sa Daang-bakal dahil sa Ruby.
Talagang, iyon ay isang malaking bahagi nito.
Tulad ng, kapag handa ka pagpili ng iyong balangkas,
piliin mo rin ang iyong wika.
>> Ruby ay sobrang accessible-- sa palagay ko isang mas mas mahusay na wika sa PHP.
Ngunit iyon lamang ang uri ng personal na kagustuhan.
Pati na rin, isa pang pagsasaalang-alang ay ang komunidad sa likod ng mga balangkas
na nakikipagtulungan ka sa.
>> Sa ngayon Ruby on Rails ay talagang mainit.
Mayroong tonelada ng suporta sa likod nito.
Mag-post ka ng isang bagay sa stack Umaapaw tungkol sa isang problema ikaw ay
nagkakaproblema sa Ruby on Rails, at ito ang sumagot.
Muli, ito ay open source, na nangangahulugan na ito ay patuloy na ina-nagbago.
Mayroong tonelada ng mga tao na ang talagang nakatuon
upang gawin itong isang talagang kahanga-hangang framework.
Kaya na ang dahilan kung bakit nais ko piliin Ruby on Rails.
Gabriel Guimarães: Oo.
Gusto ko sabihin na ang ideya sa likod ng pinaka-Framework ikaw ay
pagpunta upang malaman kung mayroong napaka, na halos kapareho, tama?
Kaya ang Modelo Tingnan ang Kontroler, ang katotohanan na ang aming controller ng
pagpunta sa hitsura ng isang bagay tulad ng this-- bawat isa sa mga function
ay tulad ng isa sa iyong mga pahina, at nagre-redirect ito sa iyo,
at initializes ito sa mga variable.
Na magiging ang parehong bagay para sa bawat balangkas na nakikita mo doon.
At doon pupuntahan maging modelo.
At maaari mong gawin mga bagay-bagay tulad ng, "ay kabilang sa."
Kaya sa halip na ginagawa ang bersyon ng SQL, mo lamang, tulad ng, gawin, user.tweets,
at makakakuha ka ng lahat ng bagay.
Bawat tao ay may na iyon.
Maliban sa Ruby, gawin mo user.tweets, at pagkatapos ng ilang Framework sa PHP,
gawin mo user.getalltweets SAAN aking PHP ay hindi isang problema.
Tulad ng, ito ay isang malaking linya.
Ito ay ang parehong bagay, ngunit ito ay isang malaking linya.
>> Kaya na ang isa sa mga pangunahing mga kadahilanan ng aking mga kagustuhan sa paglipas ng Ruby.
Lamang Ito ay gagawin ko nang eksakto ang parehong bagay sa iba pang mga Framework,
tumatagal lang ito ng dalawang beses sa akin hangga't linya ng code.
OK?
>> Anumang iba pang mga katanungan?
>> Zack CHAUVIN: Isang bagay na Kukunin ko banggitin quickly-- Gabe
usapan nang kaunti tungkol sa hiyas.
At iyon ay isang tunay na great-- Ibig kong sabihin, ito ay uri ng pangkaraniwan sa lahat ng Framework,
na mayroong uri ng isang konsepto hiyas, na kung saan ay tulad ng sa aking maliit na halimbawa,
Ako sa pag-login.
Tulad ng, maaari mong mag-sign in, mag-sign out.
Tulad ng, na talagang uri ng isang kumplikadong proseso.
Ito ay pinangangasiwaan ng kaunti bit para sa iyo sa PSET 7.
Pero Hindi ko pa rin ganap na malaman kung paano upang ipatupad ang pag-sign in, sign-out.
At iyon ay dahil sa Ruby on Rails may tonelada
ng hiyas na gawin mga bagay-bagay tulad na para sa iyo.
>> Muli, convention sa paglipas ng configuration.
Ang bawat tao'y pupuntahan ginagawa ang pag-sign-in, mag-sign hakbang-out.
Kaya bakit hindi gumawa lamang ng isang pakete, na tinatawag na Mag-isip sa kasong ito, kung saan ay isang mamahaling bato.
Isama mo lang ito.
At pagkatapos ay mayroong ilang tulong online kasama ang kung paano gamitin ito.
At hindi mo kailangang mag-alala tungkol sa anumang bagay tulad na.
>> -Attach ng mga larawan sa mga things-- isang hiyas para doon.
Tulad ng, anumang oras na sinusubukan mong gawin anumang bagay bago, mayroong isang hiyas para doon.
At ikaw uri ng lamang piraso magkasama ang mga hiyas
at bumuo ng isang talagang complex application nang masyadong mabilis.
Ayos.
Anumang iba pang mga katanungan?
>> Stephen tukarol: Woo-hoo.
Hindi sa tingin ko [hindi marinig].
>> Gabriel Guimarães: OK.
Salamat kaya magkano, guys.
>> Stephen tukarol: Buh-hindi importanteng bagay.
Zack CHAUVIN: Buh-hindi importanteng bagay.
>> Stephen tukarol: Woo-hoo.
[Palakpakan]
>> Ayos.