>> GABRIEL GUIMARAES: Tämä on CS50.
Tervetuloa Amazing Web Apps Ruby on Rails.
Joten kaikille, joka on kiinnostunut web kehitys ja valmistus nettisivut,
sovellukset, Ruby on Rails on tämän hämmästyttävä työkalu, Twitter, GitHub,
Groupon, ja kaikenlaisia ​​todella mukava, ja iso, web-sovellukset käyttävät vuonna
viime vuosina.
Ja se on todella, todella cool ominaisuus, viileä työkalu,
koska se on uutta.
Niin se on kaikki uusi voimakas teknologioiden käyttöönottoon yhteen
kehys, joka auttaa käsittelemään kaikenlaisia ​​uskomattomia asioita.
>> Mutta mikä on puitteet?
Joten puitteet on periaatteessa jotain, joka luo -
kun aloitat verkkosivuilla, jos alkaisit tyhjästä, kuten avaat
gedit siellä, ja haluat koodata kaikki HTML ja koodi kaikki
PHP, kaikki CSS, kaiken tyhjästä -
joka on vain olemaan paljon työtä.
Ja puitteet kirjaimellisesti antaa sinulle puolet verkkosivuilla tehnyt jo.
Joten aloitat pois puoli sivusto joka on kaiken siellä sinua varten.
Kuten tietokanta yhteyksiä, ja kaikki asioita, joita sinun tarvitse huolehtia
noin jos teet sen tyhjästä, sinun ei tarvitse huolehtia niistä
alhainen yksityiskohtia.
>> Mutta tänään aiomme viedä johonkin sivustoja, jotka fuksi
luokka 2017 todennäköisesti tuttu.
Joten tämä sivusto on sivusto, että olen teki meidän luokka yli kesän.
Se oli sivusto, jossa opiskelijat luokka 2017 voisi kirjautua sisään ja
vuorovaikutuksessa toistensa kanssa.
Ja sitten tämä on kartta -
kaikille, missä ihmiset ovat.
Ja meillä oli kirja peli, lauluja peli jossa näimme ihmisten kappaleita ja
ihmisten kirjoja.
Mitä he haluavat lukea, mitä he haluavat kuunnella.
Ja mielenkiintoisin osa on että se kirjaimellisesti kesti kolme tuntia
koodata kaikki.
Koska jos minun piti tehdä kaikkea tyhjästä, kuten avaaminen gedit, se
olisi todennäköisesti ottanut minulle 20, 30 tuntia.
Mutta Ruby on Rails, koska kaikki oli jo perustettu minulle,
se vain kesti kolme tai neljä tuntia, tai jotain sellaista.
>> Joten mikä on Ruby on Rails.
Ruby on Rails, jälleen olemme jo sanoi, on kehys.
Tämä on kuva kehyksen.
Joten aiot alkaa rakentaa talon, sinulla on jo puolet
talo tehdään.
Se on kehys.
Ja Ruby on Rails on ihan tuollaisena.
Ja sinun pitäisi ajatella sitä, aloitat sivusto, aloitat web
sovellus, meillä on jo puolet sen tehdä siellä.
Mutta ennen kaikkea, mikä on Ruby?
Ruby on Rails käyttää Model View ohjain, joka on paradigma, joka
on todella mielenkiintoinen -
ja kaikki sovellukset nykyään käytä jotain.
Tämä ajatus erottaa asiat oikeisiin kolme osaa, mallin, näkymän ja
ohjain.
Me aiomme puhua hieman lisää myöhemmin.
>> Ensinnäkin, mikä on Ruby?
Joten tämä on Ruby.
Ja tämä on symboli kieli nimeltään Ruby.
Ruby on yksi newish tulkittava kielillä, joten käsikirjoitus.
Se on kieli, jota ei ole käännetty kuten C. Se on koottu aikavälillä.
Niin se on hyvä, koska, kuten PHP, Esimerkiksi tulkitaan myös, on
ei koota.
Se on hyvä, koska sen kannettava.
Joten sinun tarvitsee vain välitän koodin koneesta toiseen.
Linux kone, Windows kone, Mac tai Apple kone, tai
jotain sellaista.
Ja sinun ei tarvitse pelätä yksityiskohdista kukin erityisten
käyttöjärjestelmissä.
Se tulee toimimaan kaikkialla.
>> Ja Ruby on kieli, joka -
te varmaan muistaa tämä.
Ihmiset käyttävät hajautusfunktio täytäntöön in C tiiviste
viime viikolla ja oli kaikenlaisia segmentointi vikoja.
Ja sitten asioita murehtia, onko merkkijonon i siellä, merkkijonon i
täällä, oli todella pieniksi tai isoja, tai tällaisia ​​huolestuttava
alhainen yksityiskohtia.
No Ruby, jos haluat toteuttaa hash table, tämä on juuri sitä, miten
luoda hash table.
Sanotte, sanakirja, joka on nimi minun muuttuja, = "Hash.new".
Ja sitten sanakirja ["foo"], ja kun olen lisäämällä foo minun hash table, olen
vain sanomalla foo on siellä.
>> Ja sitten jos halusin tarkistaa, jos foo oli siellä, minä vain sanoa, jos
sanakirjassa ["foo"] == true return true.
Huh, ja se on teidän tiiviste.
Se on täytäntöönpanon hash taulukon Ruby.
Joten jokainen halusi ne olisivat voineet käyttää jotain Ruby viime
viikon PSET, eikö?
Meillä on kaikenlaisia ​​syitä haluta käyttää kieltä, kuten Ruby.
Ruby on helmiä.
Gem on nimi eräänlainen Kirjaston Ruby.
>> Joten kaikenlaisia ​​mielenkiintoisia ominaisuuksia että voit olla, jos esimerkiksi minä
haluavat integroida hakemukseni.
Että Harvard 2017 hakemuksen integroitiin Facebook.
Niin voit kirjautua kautta Facebook, App.
Joten jos aiot tehdä sen, et tarvitse pelätä lähettämistä joitakin
HTTP-pyynnön Facebook, ja odottaa vastauksesta, ja pakottaa
vastaus, ja blaa, blaa, blaa.
Sinä vain ladata helmi, joka tekee kaiken puolestasi.
Ja niin sinun ei tarvitse murehtia kaiken tuon.
>> Ja sitten paljon apua verkossa, tietenkin.
On monia, monia, monia sivustoja, jotka jotka tulevat auttamaan sinua molemmissa
Ruby ja Rails.
Ja se on paljon hauskaa koodia.
Täsmälleen koska voit lakata huolehtimasta niistä ei niin hauskaa ongelmia.
Kuten jos jotain on pieniä tai isot kirjaimet, ja sitten miksi tämä
antaa sinulle segmentointi vika, ja voit todella sukeltaa hyvin
mielenkiintoisia juttuja.
Sukeltaa todella siistiä ongelmia.
>> Joten Ruby on aivan kuten C tavallaan.
Joten se ei tule olemaan, että iso hyppy todella.
Niin tuo, se on meidän print app Ruby.
Mielestäni voit käyttää tulostaa myös vaan siinä on mitä kaikki käyttävät.
Niin vain tuo "Hello World".
Voisit tai et voinut, olla Suluissa ympäröivä
"Hello World" siellä.
Voit vain valita, tai olla käyttämättä sitä.
Ja sitten x = "1".
Kun silmukka näyttää aika paljon samaa.
Se vain on vähemmän syntaksin.
Se on tavallaan puhtaampia hieman.
Ja sitten jos x> 25 puts "Big!" ja muuten tuo "Pieni ...".
Ja se on tavallaan C siinä mielessä.
>> Joten jos tarkastellaan, että voit lähestymistapa luultavasti ymmärtää
kaiken, mitä tapahtuu.
Mutta se on tehokkaampi.
Tehokkaampia, koska enemmän, Se voi tehdä asiat eivät ole sitä -
jonkinlainen hackage hieman.
C et voi tehdä vain tehdä yksi rivi.
Esimerkiksi tuo "olen # {x}".
Tämä on vain syntaksin laittaa arvon X täällä, äläkä tulosta
character x.
C sinun piti tehdä prosenttia d, ja sitten laittaa ylös muuttujan x jälkeen
pilkku täällä, tai jotain sellaista.
>> Ja Ruby siellä pika juuri näin.
Ja asettaa tämän, jos x> 3, niin voit laittaa jos kaikki yhdellä rivillä.
Ja sitten lista.
Luettelot C, kuten array, sinun täytyy seurata kuinka suuri joukko on tai
muuten saat segmentointi vika.
Matriisisi on vain yhdenlaisia.
Joten se on joko joukko maksu tai joukko kokonaislukuja.
Tässä tapauksessa olen luonut listan täällä, se joukko, joka on ensimmäinen
elementti on merkkijono, John, ja sitten neljä, kaksi - nämä ovat kokonaislukuja.
Ja sitten minä vain lisätä, lista, Vasen Kulmasulje, Vasen
Kulmasulkeen, kolme.
Tämä tarkoittaa vain liittää jotain listallani.
>> Joten se on tavallaan mielenkiintoisempaa, koska jos halusi käyttää tätä
vain pelkkä luettelo kokonaislukuja, voisit kokonaan.
Se on täysin kunnossa.
Laita kokonaislukuja siellä.
Mutta jos halusi tehdä jotain, joka on enemmän pakottavia, että on muita
asioita, jotka on -
En tiedä, kaikenlaisia ​​luetteloita siellä, tai muita esineitä, jotka ovat
mielenkiintoinen, voit täysin tehdä.
Se on täysin kunnossa.
Ja sitten jos haluat kerrata läpi luettelon, voit käyttää
enemmän C-ish tällaista lähestymistapaa.
Tuo on silmukka, voit aloittaa muuttuja, i = "1" tai i = "0".
Ja sitten mennä, ja kerrata, ja saada kaikki elementit.
>> Mutta voit myös käyttää tätä enemmän Ruby kaltainen lähestymistapa.
Se on aivan kuin list.each.
Se vain sanoo, palauta minut kaikki luettelon tekijöihin.
Ja tehdä jokaisen elementin, soittaa heille elem.
Joten tämä on vain nimi, että olen antaa jokaiseen elementtiin.
Ja nyt tämä tulee toistaa kaikille elementit, ja elem, se tulee
olla niin, että me pääsy että yksittäinen tekijä.
Joten voi täysin kiinni C lähestymistapaa, mutta tämä toimii myös.
Ja se on täsmälleen sama asia, OK.
>> Ja muuta kuin, että se on todella, todella helppo integroida Ruby ja HTML
koska te olette kiinnostunut web-sovelluksissa.
HTML on varmasti jotain, että aiot käyttää paljon.
Ja tässä jos halusi laittaa Ruby HTML, vain aloittaa tästä, <%.
Tämä tarkoittaa, täällä Ruby alkaa.
Ja sitten%>, ikään kuin PHP siinä mielessä.
Täällä Ruby loppuu ja sitten voit vain laittaa jos tänne.
Ja niin minulla on muuttuja user.logged_in.
Ruby, me yleensä lisätä ne joko kysymysmerkki tai huutomerkki
merkki, kuten pankki hahmo, vain sellainen
erottaa meidän toimintoja.
Mutta vain laittaa, että omaksi iloksesi.
Se ei ole jotain, joka muuttuu mitään toimintoja.
>> Joten vain muistuttaa minulle, että tämä on toiminto - ja tehtävät Ruby,
sijaan C, kuten sanoin jo, he eivät tarvitse suluissa.
Jotta kirjautuneena asia, joka on toiminto, joka on menetelmä.
Mutta sinun ei nimenomaisesti tarvitse laittaa sulkeisiin siellä.
Joten kysytään käyttäjän kirjautunut sisään, ja jos käyttäjän kirjautunut sisään, nyt
HTML alkaa uudelleen.
Joten Tervetuloa, ja tässä Tulostetaan user.name.
Ja se on siinä.
Niin, että melko suoraan eteenpäin, miten voit integroida Ruby kanssa HTML.
Ja resursseja, kuten sanoin, on olemassa kaikenlaisia ​​resursseja Ruby.
Te voi kaikki näyttävät tämän jälkeenpäin koska molemmat video-ja
dioja, aikovat olla saatavilla verkossa.
>> Ja nyt Mennään Rails.
Kiskot on rakkaus.
Kiskot -
joten Ruby on hänen kieltään.
OK, aivan kuten PHP, aivan kuten Python.
Se on korkean tason kieli, pidä C. C: n keski, matalan tason kieli
mielessä, että Ruby sinun ei tarvitse murehtia muistin uudelleenjakoa ja
osoittimet, ja tuollaiset asiat.
Mutta Rails on tämä ohjelma, joka oli kirjoitettu Ruby.
Ja se käyttää Ruby, jotta on tässä puitteet, voit pystyä
rakentaa mahtava web-sovelluksia.
>> Joten sinun täytyy ensin asentaa Ruby on koneesi, mutta useimmissa koneissa
jo että.
Ja asenna kiskot sen päälle.
Aiomme puhua siitä myöhemmin.
Ja miksi Rails?
Niin MVC, joka on malli View Controller puhuimme hieman
bit, tekee kaiken yksinkertaisempi, koska se jakaa asioita, jotka ovat
käsitteellisesti eri eri osia hakemuksesi.
Vähemmän käytetty aika alhainen ongelmia, uudelleen, ja hyvin, hyvin
suosittuja juuri nyt.
Joten kaikille niille, jotka ovat kiinnostuneita käynnisty kohtaus, tai jotain
kuten yritystoiminnan käynnistämiseen, ja ihmiset teknologian markkinoilla, jotka ovat
oman yrityksen juuri nyt ovat todella, todella fanit Ruby on
Kiskot koska se on niin nopea.
>> Niin saat jotain vauhtiin alle päivässä, ja se on
todella hyvin vakuuttava argumentti käyttää Ruby.
Ja Rails 4.0 -
se on hyvin tuoreena uunista nyt.
Joten Kiskot 4,0 -
Mielestäni ensimmäinen julkaisu oli tämän vuoden maaliskuussa.
Ja se on todella mukavaa, se on kaikki monenlaisia ​​uusia, hienoja ominaisuuksia.
Niin Ruby on Rails on kehys, joka on päivitetään jatkuvasti saada kaikki
Uuden teknologian.
>> Ensimmäistä kertaa olen yrittänyt käyttää Ruby on Kiskot, minulla oli tämä ongelma, koska olen
luotu minun ensimmäinen web-sovellus, ja se näytti ihan tuollaisena.
Joten se luo kaikki nämä tiedostot te, ja minulla ei ollut aavistustakaan, mitä -
mitä tämä on?
Se loi kaikki ne tiedostot, ja minä vain halusi luoda yksinkertainen ohjelma,
yksinkertainen HTML verkkosivuilla.
Ja en voinut edes tehdä mitään.
Joten olin hieman hukkua.
Mutta se on yksi asioista, että kun ymmärtää sen, kaikki muuttuu niin
paljon selkeämpi.
Joten älä huku ensin näkyville mitä luot ensin.
>> Joten mitä tapahtuu on Rails luo kaikki nämä tiedostot.
Niin yksi, joka on doc, dokumentointi.
Db, joka liittyy tietokantaan.
Lib, että kirjastot log.
Julkinen, käsikirjoitus, ja joitakin asioita.
Melkeinpä kaikki aiot huolehtia siitä on app kansioon, siellä.
Se on kansio, joka sisältää hakemuksesi.
Kaikki muut tiedostot -
jotkut niistä ovat tärkeitä, ja olet menossa oppia siitä myöhemmin.
Mutta he ovat täällä vain sisältävät puitteissa.
Joten ensimmäinen kulmakiviä talon te olette rakentamassa, OK?
>> Mutta app kansio -
se on todella tärkeä.
Ja app kansio on varallisuutta.
Varat on aika paljon kaikkea joka on tulossa.
Kuvia esimerkiksi kaikki se staattinen että menee ladattavissa
sivustoosi.
Joten kuvat, JavaScript, CSS -
tuollaiset asiat ovat omaisuutta.
Ohjauslaitteet -
aiomme puhua enemmän mitkä ovat ohjaimet, malleja,
ja kentät toisessa.
Ja auttajia ovat toimintoja, joita voi käyttää kaikkialla koodissa
auttaa sinua tekemään jotain.
Toimintoja, kuten kirjautuneena varten Esimerkiksi - user.loggedin.
Se on toiminto, joka todennäköisesti sinua on käytettävä kaikissa osissa oman
sovellus.
Niin voit laittaa jotain että auttajan.
>> Postittajien -
se jos aiot lähettää sähköpostin käyttäjille, voit
haluat käyttää kirjeessä.
Ja malleja ja näkemyksiä, aiomme puhua siitä juuri nyt.
Joten malli View Controller, joka on perus kulmakivi Ruby on
Kiskot, ja useimmat puitteet nykyään, olla rehellinen.
Joten jälleen, erotamme kaikki meidän koodi kolmeen eri osaan.
Malli -
malli on periaatteessa tietokanta.
Se käsittelee asioita tietokantaan.
>> Joten jokainen taulukon tietokantaan on vastaava tiedosto mallin sisällä.
Joten se on eräänlainen taulukko käyttäjille.
Eli olet tallentaa tietoja, kuten käyttäjätunnus, sähköpostit, heidän
osoite, salasanansa, ja tuollaista.
Olet menossa on yksi tiedosto malli nimeltä käyttäjä rb -
RB Ruby.
Ja siellä olet menossa kaikki menetelmiä ja muuttujia.
Muuttujat ovat menossa vastaamaan käyttäjälle nimi, sähköposti ja
kaiken.
>> Ja olet menossa on menetelmiä.
Se on jotain, jotka koskevat -
aiot käsitellä tätä tietoa tietokantaan.
Luoda malli, jossa Rails, käytät vain Rails tuottaa.
Ja luoda asioita Rails, sinua todella tarvitsevat terminaaliin.
Joten se on erittäin terminaali perustuva järjestelmä.
Sinä vain kirjautua terminaali, ja älä Rails, luo malli.
Ja mallin nimi on käyttäjä.
Ja haluan vain olla kaksi muuttujaa, kaksi saraketta, minun taulukossa.
Niin, että sähköpostitse.
Sähköposti on muotoilumerkkijonossa.
Salasana, salasana on myös muotoilumerkkijonossa.
Nuo ovat vain kaksi asiaa.
Se on tavallaan yksinkertainen käyttäjän pöytä.
Mutta voit täysin laittaa sata asia on siellä jos halusi.
>> Ja Rails myös hyvin, hyvin yksinkertainen kaikki
lajittelee tietokannan suhteita.
Joten yleensä, kun sinulla on taulukoista tietokantaan, ne eivät ole kovin paljon
toisistaan ​​riippumattomia.
Ajatellaanpa.
Haluat ostaa ja myy tuotteita verkossa.
OK, joten sinulla on sivusto, jossa voit haluavat ostaa ja myydä tuotteita.
Joten jokaisella käyttäjällä on monia tuotteita, jotka Tämä käyttäjä on valmis myymään.
Ja jokaisella käyttäjällä on myös monia liiketoimia jotka ovat käynnissä tai
jotain sellaista.
Ja liiketoimet ovat toisen käyttäjän kanssa.
Jokainen transaktio kuuluu Kaksi eri käyttäjää.
Käyttäjä, joka on osto-ja käyttäjä, joka myy.
>> Joten ne ovat niin sanottuja tietokanta suhteita.
Ja tässä meillä juuri näitä avainsanoja, on monia ja kuuluu.
Nämä ovat tärkeimmät.
Ja olet juuri menossa sanoa, sillä Esimerkiksi, tämä on esimerkki
malli Harvardin 2017 verkkosivuilla.
Jälleen opiskelijat täällä -
kunkin opiskelijan sivuilla, opiskelija on malli, on tietokannan taulun.
Jokainen opiskelija oli paljon kirjoja, koska olet Voisi sanoa, mitkä ovat suosikki
kirjoja, oikea.
Joten jokainen kirja kuuluu opiskelija täällä.
Ja määritteiden saatavilla -
että vain sanoo, nämä ovat muuttujia.
Nämä ovat muuttujia saatavilla tästä mallista.
Ja muuttujat ovat kirjoittaja kirja, kuvaus, tyylilaji ja
kirjan nimi.
Niin vain tiedot koskevia kirja.
>> Ja tässä minulla on menetelmä, joka yksinkertaisesti lajittelee kaiken.
Joten määritellä ja pääty tähän, se on vain sanoen, tässä tulee minun menetelmällä.
Self.sorted_all.
Se on vain, anna minulle kaiken lajitellaan, ja se miten toteuttaa
Lajittelualgoritmi, joka on melko helppoa.
Mutta pohjimmiltaan näin malli näyttää, OK.
Onko kellään kysymyksiä tämä tietokanta juttu?
Suhteissa?
Onko selvä?
Kyllä.
>> Yleisö: Voitko tehdä Lajittelualgoritmiin?
>> GABRIEL GUIMARAES: Lajittelualgoritmiin, OK.
Kun tottuu Ruby syntaksi, se tulee olemaan selkeä.
Mutta pohjimmiltaan elems on Book.all.
Joten kirja on nimi minun malli.
Kun luot mallin, se tulee kaikenlaisia ​​mukavia menetelmiä voit.
Joten dot.all on menetelmä, joka palauttaa kaikki kirjat.
Mutta löytää, olisivat esimerkiksi etsiä yksi kirja ja palauttaa se kirja, tai
jotain sellaista.
Ja niin elems on kaikki kaikessa.
Ja Sanon vain elems.sort.
Sort on sisäänrakennettu Ruby toiminto.
>> Ja tehdä ab.
Joten tämä ei taas on -
aiot lajitella.
Mutta aiot saada Tämän väitteen minulle.
Ja argumentti käyttää - tämä on yksi vaikeampaa asioita Ruby todella,
tee se juttu.
Mutta kun ymmärrät sen kaiken tulee hyvin, hyvin intuitiivinen.
Joten ab, tämä sanoo paikka haltijoille, jotka aion käyttää - kuten
muuttujat aion käyttää, ovat menossa kutsua ja b.
Ja ne ovat kirjoja.
>> Niin, koska tavallaan tarvitsee vertailla elementtejä, muista, että?
Joten kun lajitella asioita, sinun vertailla kahta elementtejä.
Aion sanoa, että joka kerta aiot verrata -
joten tämä on Ohitan lajitella argumentti.
Ja väite on kaiken alkaen tehdä ja täällä, OK?
Ja tämä väite, on vain kertoa sort miten vertailla.
Järjestä toimisi täällä, mutta se vertautuvat heidän
oletuksena vertaamalla algoritmi.
Haluan sen verrata hyvin erityisellä tavalla, nimittäin, kun kirja
luotiin, kun kukin kirja luotiin.
>> Joten sanon, sanovat nimen ensimmäinen kirja on ja nimi
Toinen kirjan b, haluan lajitella lajitella jotain perustuvat b.created_at tämä
outo symboli, a.created_at.
Ja se outo symboli on lyhenteenä Sillä jos yksi on suurempi kuin
muut, paluu 1.
Jos yksi on yhtä suuri kuin muut, palaa nolla.
Jos yksi on pienempi kuin muut, tuotto miinus 1.
Niin, että mitä outoa symboli on.
>> Mutta se ei ole tärkeää.
Tarkoitan, mitä haluan sinun kaverit päästä nyt on ajatus, että tietokanta -
voit olla mallia siellä.
Joten sinun ei tarvitse huolehtia liittäminen ja käyttö SQL-lause,
ja tuollaista.
Se voi myös luoda ovet SQL-injektio ja kaikki
monenlaisia ​​turvallisuusongelmia.
Tässä tapauksessa et huolehtia siitä.
Käytät vain menetelmiä kuten book.all.
Ja siitä, että taustalla tietysti on menossa tietokantaan, ja se on
aio käyttää SQL saada kaikki kirjat.
Mutta sinun ei tarvitse huolehtia siitä.
Se takeaway, OK?
>> Ja kun sinulla on belongs_to selvitys näin, se tarkoittaa, että
kun olet kirjan objektia, sinun voi nähdä, mitä on sen opiskelija.
Joten mikä opiskelija on tämän kirjan?
Joten voimme vain käyttää book.student, ja joka antaa sinulle, mitä opiskelija on.
Ja se on todella ominaisuus on.
>> OK, nyt mieltä.
Joten malli on mitä vuorovaikutuksessa tietokantaan, eikö?
Näkymä on pohjimmiltaan HTML, ja CSS ja JavaScript-.
Ja sitähän käyttäjä todellisuudessa näkee.
Käyttäjän ei tule katso tietokantaan.
Hän aikoo nähdä joitakin tietoja tietokanta upotettu katsoja.
Ruby on Rails tekee todella yksinkertainen tehdä kentät.
Ensinnäkin siksi, että se jo luo sen sinulle, kättelyssä, asettelu.
>> Ulkoasu on pohjimmiltaan jotain, joka -
jos kaikki sivusi on logo päälle ja, en tiedä, jotkut valikon tai
jotain sellaista, että kaikki sivut osake yhteistä, niin et
luotava monia, monia, monia HTML tiedostoihin, joissa kaikki tiedostot ovat, että
sama HTML-koodia.
En tarkoita, että se tyhmä, koska olet juuri koodin toistamiseen eri tiedostoja.
Se ei todellakaan ole hyvä lähestymistapa.
>> Niin Ruby on Rails luo Tämä asettelu sinulle.
Ja tämä on vain sanoa, kaikki sivuni menossa on tämä HTML, tämä pää
otsikko täällä, ja ne ovat tyylisivu link tag.
Liitä täällä koko minun CSS.
Liitä täällä koko minun JavaScript ja jotkut meta tageja.
Se on vain jotain, että he tehdä automaattisesti.
Ja sitten, lopettaa pää, nyt Tästä alkaa kehon.
Ja nyt tämä on minun todellinen sisältö.
Joten jos halusin laittaa jotain, menu täällä, olisin laita se oikea yli
tämä paikka, tai jotain sellaista, jotta kaikki sivuni jakoivat sen.
Niin ulkoasun on jaettu , jonka kaikki sivut.
>> Nyt kun saanto täällä vain sanoo, ei mitä sivuja tämä on vain
plug in sisältö että sivu täällä, OK?
Ja nyt tämä on, esimerkiksi sisältö yksi sivu, joka tulee olemaan
kytkeä tähän tuotto lausuma automaattisesti Rails.
Mutta tämä on layout jaettu kaikki sivut.
Ja tämä on esimerkki yhden sivun.
Ja tämä on täsmälleen sivu joka listaa kaikki kirjat.
Joten tämä on perus HTML-taulukon ylös.
Joten listalle kirjat, nimi, tekijä, kuvaus, genre.
>> Ja tässä käytämme niin ikään osa Ruby syntaksin @ books.each--
@ Eräänlainen kertoo, että muuttuja globaalit mielessä.
Koska tämä muuttuja oli oikeastaan ilmoitettu säädin, jossa
aiot nähdä juuri nyt.
Mutta vain itsestään selvänä, että tämän @ Kirjoja on muuttuja, joka on luettelo
kaikki kirjat.
Joten books.each, älä, ja tämä on jälleen vain sanoa, miten haluat nimetä
kukin iteraattorit niin, että emme tarvitse murehtia neljä, int i
blaa, blaa, blaa.
Me vain ottaa kunkin elementit ja käyttää niitä.
>> Joten tämä on kirja, ja sitten vain tulosta täällä. book.title, book.author,
book.description, ja blaa, blaa, blaa.
Ja tässä LINK_TO.
Joten LINK_TO on vain link tag että käyttäjä voi klikata ja
menee toiseen verkkosivuilla.
LINK_TO, osoittavat, että tietyn teoksen.
Eli jos käyttäjä on hyvin kiinnostunut tämän kirjan, hän voi klikata näyttelyssä.
Tai klikkaa muokkaa, jos hän haluaa muokata kirjan.
Tai tuhota, jos hän haluaa poistaa kirja tietokannasta.
OK, ei se järkevää?
Hyvä.
>> Lopuksi ohjain.
Joten periaatteessa ohjain on rajapinta
malli ja näkymä.
Joten malli on osa koodi, joka on tietokanta -
kunkin taulukon tietokantaan on vastaava tiedosto
malli, ja niin edelleen.
Ja miten malli ja view vuorovaikutuksessa?
Niin, kautta ohjain.
Mikä ohjain ei se on malli jotain, esimerkiksi
laittaa kaikki kirjan sisällä muuttujan.
Kuten tämä, @ kirjoja.
>> Ja sen on oltava globaali tämän klo asia, koska se tulee olemaan
käsiksi mieltä.
Se ei tule niitä voi käyttää ohjaimen itse.
Ja se vain hidastaa tietoa, view aikoo käyttää.
Esimerkiksi ohjain tarkistaa jos käyttäjä on verkossa.
Ja miten se tehdään?
Se itse asiassa kysyy malli koska malli on
tietoja käyttäjästä.
Se on käyttäjien pöytä, kirjoja pöytä, muut pöydät.
Joten ohjain kysyy käyttäjä on verkossa.
Jos käyttäjä on verkossa, ohjain käsittelee asioita kuin laittaisi evästeen,
tai jotain, laittaa leima sanoa, että käyttäjä on verkossa.
Ei tarvitse kirjautua uudelleen.
>> Ja se tulee ladata muuttuja nimeltä käyttäjä, esimerkiksi, että
näkymä voi käyttää.
Ja näkymä voi laittaa jotain, esimerkiksi tervetulleita user.name.
Joten se aikoo sanoa, tervetuloa John, tervetuloa James -
jotain, eikö?
Joten kaikki nämä muuttujat view aiotaan ladattu
ohjain ja tulevat olemaan revitä mallista.
>> Tämä on esimerkki ohjaimen.
Meillä on siis pohjimmiltaan jokainen -
kutsumme niitä asioita toimia.
Joten indeksi on toimintaa.
Se on Ruby toiminto.
Se on Ruby menetelmää siellä.
Mutta ohjain puhelujen niitä asioita toimia.
Ja jokainen vaikutus liittyy reitin.
Joten tässä tätä reittiä, esimerkiksi on get selvitys / kirjoja.
Joten jos menet harvard2017.com/books, mitä tulee tapahtumaan on tämä koodi on
aiotaan kutsutaan.
>> Ja siellä on tiedosto -
haluan avata tämän todella nopeasti.
Siellä on tiedosto nimeltä raaka-tiedoston.
Se ei avaudu.
Joten on tiedosto nimeltä raaka-tiedoston että pohjimmiltaan ottelut -
Voi, nyt se avaamista.
Täällä, reitit.
Joten periaatteessa vastaa rasitusta, aktivointi / uudet esimerkiksi
jotain ohjain.
Joten ei tämä ohjain kutsutaan aktivointi-ohjain, mutta täällä,
meillä on kirjoja, esimerkiksi.
Joten ottelut -
kirjat / uusi, ohjaimelle kirjoja, toiminta uusi.
Joten periaatteessa, hyvin suoraviivainen asioita.
>> Ja tässä, jos sinulla on ollut saada / kirjoja, slash ID kirjoja, slash uusia,
aiot mennä, että Ruby menetelmä siellä.
Joten tässä, mitä tämä indeksi on tekemässä on vain latautuu kirja loki.
Se on jotain, että -
Olen kirjata kaikki kirjat loki.
Ja lajitella kaiken.
Joten tämä aio palata kaikki lajitellaan kirjoja.
Tämä on jälleen tietokantaan.
Joten tämä on menetelmä mallin.
Näit tämän menetelmän ollessa luotu malli.
Nyt tämä on vain loading Kaikki kirjat ja laskemisesta että muuttuja, joka
voidaan nähdä mieltä.
>> Koska et voi, keskellä html-koodiin, et voi soittaa
jotain suoraan mallista, koska kahdesta syystä.
Ensinnäkin turvallisuussyistä, koska se ei ole todella mielenkiintoista olla
lastaus tiedot suoraan sisälle jokainen HTML se tietokantaan.
Ja toiseksi, pitää koodi todella järjestetty.
Eroita täsmälleen eri osissa.
Joten BookLog.sorted_all, tämä tietokantaan ja tämä tulee ottaa
muuttuja @ kirjoja.
Ja nyt tämä muuttuja on käytettävissä omassa HTML-koodia.
Joten voit vain laittaa kaikki kirjat siellä aivan kuten teimme, täällä.
Tämä on muuttuva.
>> Ja vierailut respond_to do | formaatti |, tämä on vain eräänlainen Ruby syntaksi
jos käyttäjä pyytää minua varten HTML-koodi, aion
vastata HTML-koodia.
Jos käyttäjä pyytää minua JSON koodi, joka on jotain, että web-sovellukset käyttävät
kommunikoida keskenään, ne yleensä käyttää JSON tai jokin muu
sellainen asia.
Niin se vain reagoi käyttäen näitä kahdessa eri muodossa.
Mutta normaali käyttäjä, tämä ei tarvitse olla täällä.
Olisit vain vastata HTML, ja se käy hyvin.
Joten ei todellakaan pelätä, että paljon tästä.
Tämä on ainoa rivi koodia meidän ohjaus koska se on lastaus HTML
tietokanta, ottamalla jotain, joka on pääsee mieltä.
>> Ja sitten uusi, joten tässä Olen luomassa kirjoja.
Vaan luoda kirjoja, tarvitsen opiskelija koska minun täytyy tietää opiskelija
jonka kirjoja tämä kuuluu, oikealle.
Joten @ opiskelija = Student.
Opiskelija, taas, me aloitamme kanssa iso S on mallioppilas.
OK, joten tämä on mallioppilas Tämä on malli kirja loki.
Student.find, joten aion löytää opiskelija käyttää parametreja tunnus.
params.id, tämä on vain saada minut arvo Tämän tunnus, joka hyväksyttiin -
ja URL.
>> Juuri menossa etsimään, että opiskelija.
Ja ensimmäinen, aiomme tarkistaa Jos opiskelija on joitakin kappaleita
ja blaa, blaa, blaa.
Ja tämä jo käsittelee silloin, kun opiskelija
ei ole olemassa, esimerkiksi.
Ja sitten, muu, me vain vastata samaan asiaan HTML.
Ja sitten voimme antaa käyttäjälle luoda heidän kappaleitaan.
Joten tämä on uutta.
Uusi käytetään yleensä, anna Käyttäjä luoda jotain.
Ja sitten on luoda toiminta joka on yleensä käytetään -
todella laittaa kappaleita tietokantaan tai jotain sellaista.
Mutta kun aloitat Rails, nämä asiat tulevat olemaan
paljon, paljon selvempi.
OK, jäähtyä.
Kysyttävää tähän mennessä?
Onko se järkevää ohjaimia, malleja, kentät -
joo?
>> Jälleen teidän Rails sovellus -
joten kaikki, jotka löytyvät tästä.
Joten sinulla on app, ohjaimet, nämä ovat kaikki minun ohjaimia.
Niinpä esimerkiksi, kirjoja hallita.
Se on yksi me juuri näki.
Ja sitten näkymät.
Ja jokainen ohjain on liittyy näkymä, eikö?
Joten automaattisesti, kun soitat tämän Täältä, tai esimerkiksi kun
kutsuvat tätä kirjaa uusi, niin näkymä, kirjat, uusi tulee kutsua.
>> Joten Rails tekee kaiken automaattisesti.
Joten jokainen rekisterinpitäjä on liittynyt tarkastella ja kaikki mallit -
täällä minulla on yksi, kaksi, kolme, neljä, viisi mallia.
Mutta tämä on opiskelija mallia, joten ne ovat muuttujia, jotka kaikki
opiskelijat ovat - lokalisointi, syntymäaika.
Opiskelijat on hieman enemmän monimutkainen, koska jokainen oppilas on
useammalla eri menetelmällä liittyy siihen.
Mutta tämä on vain käsittely taulukko, joka oli kaikki
opiskelijat tietokantaan.
>> Ja, OK, asennus Rails.
Asentaminen Rails, ollakseni rehellinen, ei ole yksinkertaisin asia.
Mutta kun saat ohi kaiken, se on hyvin, hyvin helppoa.
Joten asentamista Rails, voit vain mennä verkkosivuilla, rubyandrails.org / download
ja seurata niiden ohjeita.
Ladata kaiken.
Ja voit tehdä sen joko Appliance, vuonna CS50 Appliance puolesta
Windows, Mac tai minkä tahansa käyttöjärjestelmän järjestelmä valintasi.
Ruby on Rails toimii kaiken.
>> Kertoimet ovat olet jo Ruby asennettu jos sinulla on Mac tai -
Kodinkone mielestäni Ruby on -
En ole varma.
Ja sitten vain ole asennettu.
Ja jos haluat luoda uuden web-sovellus, juuri
do Rails, uusi, blogi.
Kiskot, uusi -
En tiedä -
nimen sivuston.
Ja se on niin yksinkertaista.
>> Se tulee luoda kaikkia näitä tiedostoja juuri näytin teille.
Mutta malli, näkymä ja ohjain ei tule olemaan
asuttu vielä.
Olet vain täytyy mennä sinne ja asuttaa nämä kolme kansiota.
Joten kertoimet ovat, haluat luoda malli, esimerkiksi toteuttaa yksi
mallintaa ensin.
Joten jälleen, aina yrittää purra pienempiä bittiä ongelma kerrallaan.
>> Ja sitten sanotaan, luoda malli käyttäjille.
Se on ensimmäinen asia, jos sinulla on käyttäjiä.
Sitten haluan luoda malli aivan kuten näytimme täällä.
Kiskot, tuottaa, malli, käyttäjä, ja sitten sähköpostit string - meillä on tuo täällä.
Ja vain luoda että malli, kyllä.
Rails luoda malli Käyttäjän email: string salasana: merkkijono.
>> Ja sitten luot ohjain joka käsittelee käyttäjän.
Ja voit luoda uusia käyttäjiä ja tehdä niitä juttuja.
Ja sitten voit siirtyä luomaan muun sivuston.
Cool, kysymyksiä?
Kyllä.
>> Yleisö: [kuultavissa]
>> GABRIEL GUIMARAES: Kyllä, kyllä, olet ehdottomasti täytyy mennä mieltä.
Se on erittäin hyvä kysymys.
Niin näkymä on mitä todella sisältää HTML.
Joten se mitä käyttäjät tulevat näkemään.
Jälleen täällä, tämä on Esimerkkinä mieltä.
Se on HTML-koodi ja Ruby koodia samaan aikaan.
Joten Ruby koodi on siellä laittaa asioita tietokannasta, esimerkiksi
että ne on lastattu ohjain.
Niin että muuttuja @ kirjoja, esimerkiksi on kaikki kirjat ja taulukko
kirjoja tietokantaan.
Olemme varmistaneet, että se oli ohjaimeen.
>> Ja näkymä -
jokainen sivu pois sivuston on menossa on yksi liittyvän mieltä.
Joten jos menet kotisivun, ensimmäinen sivu, harvard2017.com.
Joka näyttää yhdellä sivulla.
Ja sitten mennä leikata profiilin.
Se menee mennä ohjain se profiilin ohjain.
Ja profiili ohjain on menossa antaa sinulle profiilinäytössä.
Ja profiilikuvanto on menossa katsomaan hieman kuten tämä, mutta se tulee
on tietoa käyttäjälle, eikä siitä kirjoja.
>> Joten se on HTML-koodin ja CSS ja niitä asioita, jotka käyttäjä näkee
kanssa Ruby koodi -
että todellisuudessa tulostaa, asioita tietokannasta.
On, että yhä selvä?
Toivottavasti.
>> Yleisö: HTML-koodia käytetään itse tehdä sivuston, joka
käyttäjä näkee, mutta Ruby koodi on mitä tekee verkkosivuilla työtä?
>> GABRIEL GUIMARAES: Ruby-koodi saa muuntaa HTML.
Joten mitä käyttäjä saa on vain HTML, OK?
Se on vain HTML.
Tämä book.title on menossa muuntaa arvo book.title HTML, OK.
Tämä kaikki on siis palvelimelle, ja niin Tämä riippuu siitä, mitä kirjoja on olemassa
palvelimen juuri nyt.
Mutta mitä palvelin olisi välittömästi mielessä on vain HTML-koodia, OK.
>> Mutta näkymä vain antaa ulkoasu mitä HTML aikoi näyttää
ja mitä muuttujia tulevat olemaan.
Tällainen tulostaa, OK.
Nuo asiat on pohjimmiltaan tulosteille.
He aikovat tulostaa muuttujien OK.
Joten mikä on vain HTML, nuo -
tekijä, otsikko, kuvaus.
Se on staattista sisältöä.
Se ei tule muuttumaan.
Se on pelkkää HTML-koodia.
Nämä ovat tulosteita muuttujia -
asioita, jotka ovat riippuvaisia.
Cool, lisää kysymyksiä?
Hyvä?
Kyllä.
>> Yleisö: Minusta olit tekemässä kaikki muokkaamisesta eri tekstin
editointi ohjelma.
Pitäisikö meidän myös ladata sen?
>> GABRIEL GUIMARAES: Joo, pidän tästä tekstieditori nimeltään TextMate.
Ja se on todella hyvä.
Se soveltuu hyvin Ruby.
Se värit asiat hyvin siististi.
Joten TextMate, T-E-X-T. Aion laittaa, että pitää -
>> Siis voit käyttää gedit tai mitä haluat.
Mutta tämä on spesifinen Mac, ja tämä on todella siisti, koska se asettaa kaikki
tiedostot sinne.
Ja Ruby on Rails, tarvitset vaihtaa tiedostoja paljon.
Niin se on paljon, paljon tiedostoja vain mennä yhdestä tiedoston, hyppää
yhden tiedoston tai muita.
Joten TextMate on erittäin hyvä, mutta siellä on paljon siellä.
Lisää kysymyksiä?
OK, kyllä?
>> Yleisö: Onko mobiili kehitys kautta Ruby on Rails?
>> GABRIEL GUIMARAES: Olen kuullut asioita.
En ole käyttänyt niitä.
Voisit tutkimus siitä lisää.
En ole varma, onko siellä mitään hyvä asia siellä.
OK, kyllä?
>> Yleisö: [kuultavissa]
>> GABRIEL GUIMARAES: Ei Rails, luultavasti Ruby array.
Avaa terminaali-ikkuna ja tyyppi, "Ruby".
Joo, luultavasti, ja sitten täytyy vain asentaa Rails.
Mutta jos aiot asentaa uuden Kiskot 4.0, jota suosittelen lämpimästi,
sinun kannattaa ladata Ruby 2.0.
Se on uusi yksi liikaa.
Ja uusi Rails 4.0 on jotain todella siistiä, että
se tekee varoihin.
Se käsittelee omaisuutta.
Varat taas ovat kuvia, CSS-tiedostoja, ja JavaScript-tiedostot.
Joten yksi todella siisti asia, että Ruby on Rails ei sinulle on kaikki nämä CSS
tiedostoja, jotka sinulla on ja kaikkea -
se vain niput kaiken ylös yhdeksi valtava tiedosto, ilman välilyöntejä tai mitään,
minimoida ajan käyttäjä tarvitsee ladata kyseisen koodin palvelimelta.
>> Joten kun näet tietokoneen, se on menossa on kuin 15 CSS-tiedostoja.
Tai monia, monia eri CSS-tiedostoja.
Mutta loppujen lopuksi, mitä Kiskot automaattisesti ei sinulle on ne sijoittavat
kaikki yhteen yhdeksi valtava tiedosto siten, että se minimoi pyynnön ajan.
Se on todella siistiä.
Kyllä?
>> Yleisö: [kuultavissa]
>> GABRIEL GUIMARAES: Aivan.
Joten, Google Maps integrointi.
Se JavaScript API Google.
Joten menin vain Google verkkosivuilla.
Heillä on Google Maps API ja minä ladata koodia ja liittäneet sen
osaksi mielestäni.
Joten mitä minun piti tehdä siellä on minun piti saada
sijainnit tietokannasta.
Näin tehtiin ohjain.
Joten menin ohjain -
missä on ohjain.
Ohjain näytti tältä.
Sai kaikki paikat opiskelijoita, laittaa kaikki että isoon
muuttuja, iso lista, että on kaikki paikat.
>> Ja näkemyksen, koska JavaScript API on jotain
katsella, eikö?
Koska JavaScript kulkee HTML koodia, se tulee lähettää
käyttäjän koneella.
Ja mielestä olen ladattu kaikki tämä informaation Google API.
Ja se teki kaiken sen puolestasi minulle, mikä on todella hienoa.
Mutta jos haluat käyttää asioita back-end, ja se on kuin kirjasto, varten
Esimerkiksi jälleen -
integrointi Facebook.
Se on jotain, että monet, monet, monet sovellukset käyttävät nykyään.
>> Joten pidä integrointi Facebook koska se on niin paljon helpompaa vain
Kirjaudu sisään Facebook kuin luoda tilin ja blaa, blaa, blaa.
Sitten vain käyttää helmi ja se on niin yksinkertaista kuin menemällä helmi tiedoston.
Gem tiedosto on tiedosto nimeltä helmi tiedosto lähde hakemistoon Ruby on
Kiskot projekti.
Vain mennä sinne ja lisätä uusi helmi.
Ja voit etsiä se Google.
On monia, monia, monia helmiä.
On yksi, joka nimenomaan tekee tämä Facebook integraatio.
En ole varma, mitä nimeä se.
Vain googlettaa ja olet tule löytämään sitä.
OK, lisää kysymyksiä?
Mahtavaa, kiitos että tulitte.