>> GABRIEL GUIMARAES: Tas ir CS50.
Laipni lūdzam Amazing Web Apps ar Ruby on Rails.
Tātad, ikvienam, kas interesējas par web izstrādes un pieņemšanas mājas lapas, web
pieteikumi, Ruby on Rails ir šī pārsteidzošs instruments, lai čivināt, GitHub,
Groupon, un visa veida patiešām jauki, un liels, tīmekļa lietojumprogrammas ir lietot
pēdējos gados.
Un tas ir ļoti, ļoti foršs iezīme, foršs līdzeklis,
jo tas ir jauns.
Tātad tas ir visas jaunās spēcīgs tehnoloģijas iekļauta vienā
sistēma, kas palīdz tikt galā ar visu veidu pārsteidzošu lietu.
>> Bet to, kas ir pamats?
Tāpēc sistēma ir pamatā kaut kas rada -
kad sākat mājas lapā, ja jūs sākās no nulles, piemēram, atverot
gedit tur, un jūs vēlaties, lai kodu visiem Jūsu HTML un koda visu savu
PHP, visas jūsu CSS, viss no nulles -
tas ir tikai būs daudz darba.
Un sistēma burtiski dod jums puse mājas lapā darīts jau.
Tātad jums sākt ar pusi mājas lapā tas ir viss, kas tur jums.
Piemēram, datu bāzes savienojumi, un visas veidu lietas, kas jums ir jāuztraucas
par to, ja jūs darāt to no nulles, Jums nav jāuztraucas par tiem,
zema līmeņa informāciju.
>> Bet šodien mēs esam gatavojas eksportēt vienu no tīmekļa vietnes, kas pirmkursnieks no
klase 2017, iespējams, iepazinies.
Tāpēc šī mājas lapa ir mājas lapa, kas man darīja mūsu klasē pa vasaru.
Tas bija mājas lapa, kurā studenti klase 2017 var pieteikties un
mijiedarboties ar otru.
Un tad tas ir karte -
visi, kur cilvēki ir.
Un mums bija grāmatu spēli, dziesmas spēle kur mēs redzējām tautas dziesmas un
cilvēku grāmatas.
Ko viņi patīk lasīt, ko viņi vēlētos klausīties.
Un visvairāk interesanti daļa no tā ir ka tas burtiski aizveda mani trīs stundas
kodēt visu to.
Jo, ja man bija darīt visu, sākot no scratch, piemēram, atverot gedit, tas
, iespējams, ir veikušas man 20, 30 stundas.
Bet ar Ruby on Rails, jo viss jau bija izveidots par mani,
tas tikai aizveda mani trīs vai četras stundas, vai kaut kas tamlīdzīgs.
>> Tātad, kas ir Ruby on Rails.
Ruby on Rails, atkal kā mēs jau teica, ir pamats.
Tas ir priekšstatu par sistēmu.
Tātad jūs gatavojas sākt veidot house, jums jau ir puse no
house darīts.
Tas ir pamats.
Un Ruby on Rails ir tieši tāpat.
Un jums vajadzētu domāt par to, kā jūs sākat mājas lapā, jūs sākat savu web
pieteikums, mums jau ir puse no tā darīts tur.
Bet vispirms, kas ir Ruby?
Ruby on Rails izmanto modeļa skatu kontrolieris, kas ir paradigma, kas
ir patiešām interesanti -
un visiem pieteikumiem mūsdienās izmantot kaut ko līdzīgu, ka.
Šī ideja atdalīt lietas vērā trīs daļas, modelis, skats, un
kontrolieris.
Mēs runāsim nedaudz vairāk par to vēlāk.
>> Pirmais, kas ir Ruby?
Tāpēc tas ir Ruby.
Un tas ir simbols valodā sauc Ruby.
Ruby ir viena no newish interpretēta valodās, lai skriptu.
Tā ir valoda, tas nav apkopoti tāpat kā C. Tas ir apkopota par darboties.
Tātad, tas ir labi, jo, tāpat kā PHP, Piemēram, ir arī interpretēt, ir
nav apkopoti.
Tas ir labi, jo tās portable.
Tātad, jūs vienkārši nodot savu kodu viena mašīna uz citu.
No Linux mašīna, uz Windows mašīna, uz Mac vai Apple mašīna, vai
kaut kā tā.
Un jums nav jāuztraucas par informāciju par katra specifisko
operētājsistēmas.
Tas dodas uz darbu visur.
>> Un Ruby ir valoda, kas -
jūs puiši, iespējams, atcerēties.
Cilvēki izmanto hash funkciju īsteno C par hash tabulu
pagājušajā nedēļā un bija visādas segmentācijas kļūdas.
Un tad lietas neuztraucoties par to, vai ka virkne es tur, stīgu i
šeit, faktiski tika mazajiem burtiem vai lielos, vai tie ir satraucoša veida
zema līmeņa informāciju.
Nu Ruby, ja jūs vēlaties, lai īstenotu hash tabulu, tas ir, kā jūs tieši
izveidot hash tabulu.
Jūs sakāt, vārdnīcu, tas ir vārds manu mainīgo, = "Hash.new".
Un tad vārdnīca ["foo"], un, kad es esmu pievienojot foo manu hash tabulu, es esmu
vienkārši sakot, foo ir tur.
>> Un tad, ja es gribēju, lai pārbaudītu, vai foo bija tur, es tikai saku, ja
vārdnīca ["foo"] == true atgriešanās taisnība.
Paga, un tas ir jūsu hash tabulu.
Tas ir īstenošana hash tabulas Ruby.
Tāpēc ikviens vēlējās tie varētu būt izmanto kaut ko līdzīgu Ruby par pēdējo
nedēļas PSET, vai ne?
Mums ir visu veidu iemeslu vēlas lietot valodu, piemēram, Ruby.
Ruby ir dārgakmeņi.
Gem ir nosaukums veida Bibliotēkas Ruby.
>> Tātad visu veidu interesantas iezīmes ka jums var būt, piemēram, ja es
vēlas integrēt savu pieteikumu.
Ka Harvard 2017 pieteikumu tika integrēta Facebook.
Lai jūs varētu pieteikties, izmantojot Facebook, lai app.
Tātad, ja jūs gatavojas to darīt, jums nav jāuztraucas par sūtīšanu kādu
HTTP pieprasījums Facebook, un gaida par atbildi, un piespiežot
reakciju, un blah, blah, blah.
Jūs vienkārši lejupielādēt gem, ka dara visu, lai jums.
Un tad jums nav nepieciešams jāuztraucas par visu, kas.
>> Un tad daudz palīdzēt online, protams.
Ir daudz, daudz, daudz portālu, kas gatavojas, lai palīdzētu jums abiem ar
Ruby un Rails.
Un tas ir daudz jautrības, lai kodu.
Tieši tāpēc, ka jūs varētu pārtraukt satraucoša par tiem nav tik jautri problēmām.
Piemēram, ja kaut kas ir mazie vai lielie burti, un tad kāpēc tas ir
sniedzot jums segmentāciju vaina, un Jūs tiešām var nirt ļoti
interesanti sīkumi.
Nodoties tiešām atdzist problēmām.
>> Tāpēc Ruby ir tāpat kā ar C sajūtu.
Tāpēc tas nebūs, ka liels lēkt faktiski.
Tā liek, tas ir mūsu drukas app Ruby.
Es domāju, ka jūs varētu izmantot drukāt arī, bet liek ir tas, ko visi izmanto.
Tik vienkārši liek "Hello World".
Jūs varētu, vai jūs nevarētu būt iekavas aptverošs
"Hello World" tur.
Jūs varat izvēlēties, vai vai nelietot ka.
Un tad x = "1".
Kamēr cilpa izskatās diezgan līdzīgi.
Tas vienkārši ir mazāk sintakse.
Tas ir sava veida tīrāku mazliet.
Un tad, ja x> 25 liek "Big!" un vēl liek "mazs ...".
Un tas ir sava veida C šajā ziņā.
>> Tātad, ja paskatās, ka jūs varat pieeja, iespējams saprast
viss, kas notiek.
Bet tas ir jaudīgāks.
Spēcīgāks, jo vairāk nekā, ka, To var darīt lietas nav, ka -
sava veida hackage mazliet.
C, jūs nevar darīt vienkārši darīt ar vienu līniju.
Piemēram, liek: "Es esmu # {x}".
Tas ir tikai sintakse ielieciet vērtības X šeit, un nedrukāt
raksturs x.
C jums bija darīt procentiem d, un tad safasēti mainīgo x pēc
Komats šeit, vai kaut kas tamlīdzīgs.
>> Un Ruby tur ir saīsinājums tikai par darot to.
Un liek tas, ja x> 3, lai jūs varētu nodot, ja visi vienā rindā.
Un tad sarakstu.
Saraksti C, piemēram, masīvs, jums ir izsekot, cik liels jūsu masīvs ir vai
citādi jūs saņemsiet segmentāciju vaina.
Jūsu masīvs ir tikai viena veida.
Tātad, tas ir, vai nu masīvs maksas vai masīvs veseli skaitļi.
Šajā gadījumā, es izveidots sarakstu šeit tas ir masīvs, kas ir pirmais
elements ir virkne, Jānis, un pēc tam četri, divi - tie ir veseli skaitļi.
Un tad es vienkārši pievienojiet, sarakstu, Left Angle Bracket, pa kreisi
Leņķis Bracket, trīs.
Tas nozīmē, ka tikai pievienot kaut kas manā sarakstā.
>> Tātad, tas ir sava veida vairāk interesanti, jo ja jūs vēlaties, lai izmantotu to kā
tikai vienkāršs saraksts ar veseliem skaitļiem, jūs varētu pilnīgi.
Tas ir pilnīgi naudas sodu.
Vienkārši ielieciet veseli skaitļi tur.
Bet, ja jūs vēlētos darīt kaut ko, kas ir vairāk pārliecinoši, ka ir citi
lietas, kas ir -
Es nezinu, visu veidu sarakstus tur, vai citi objekti, kas ir vairāk
interesanti, jūs varat pilnībā darīt.
Tas ir pilnīgi naudas sodu.
Un tad, ja jūs vēlaties atkārtot, izmantojot sarakstu, jūs varētu izmantot
vairāk C-ish veida pieeju.
Tas ir cilpa, lai jūs varētu uzsākt mainīgais, i = "1", vai i = "0".
Un tad jums iet, un atkārtot, un saņemt visus elementus.
>> Bet jūs varētu arī izmantot šo vairāk Ruby līdzīgu pieeju.
Tas ir tāpat kā list.each.
Tas ir tikai saku, atpakaļ mani visi elementi sarakstā.
Un darīt ar katru elementu, viņiem piezvanīt elem.
Tāpēc tas ir tikai vārds, kas es esmu dodot katram elementam.
Un tagad tas ir gatavojas atkārtot visiem elementi, un elem, tas notiek
lai būtu tā, ka mēs piekļūt ka atsevišķs faktors.
Lai jūs varētu pilnībā stick C pieeju, bet tas darbojas too.
Un tas ir tieši tas pats, OK.
>> Un, izņemot to, ka tā ir patiešām, patiešām viegli integrēt Ruby un HTML
Tā kā jūs puiši ir ieinteresēti tīmekļa lietojumprogrammas.
HTML noteikti ir kaut kas jūs gatavojas izmantot daudz.
Un šeit, ja jūs vēlaties, lai Ruby HTML, sāciet šeit, <%.
Tas nozīmē, ka šeit Ruby sākas.
Un tad%>, veida, piemēram, PHP šajā ziņā.
Šeit Ruby beidzas, un tad jūs varat Vienkārši ielieciet savu, ja šeit.
Un tad man ir daži mainīgais user.logged_in.
Ruby, mēs parasti pievienot tos vai nu nopratināšanas zīme vai izsaukuma
zīmi, piemēram, bankas raksturs, tikai veida
atšķirt mūsu funkcijām.
Bet jūs vienkārši ielieciet ka Jūsu pašu interesēs.
Tas nav kaut kas mainās neko funkcionalitāti.
>> Tik vienkārši, lai atgādinātu man, ka tas ir funkcija - un funkcijas Ruby,
nevis C, kā es jau teicu, viņiem nav nepieciešams iekavas.
Tāpēc, ka pieteicies lieta, kas ir funkcija, kas ir metode.
Bet jums nav tieši nepieciešams ielieciet iekavas tur.
Tik vienkārši jautā, ja lietotājs ir pieteicies, un, ja lietotājs ir pieteicies, tagad
HTML sākas no jauna.
Tik laipni, un šeit Es izdrukāt user.name.
Un tas arī viss.
Tātad tas ir diezgan taisni uz priekšu, kā jūs integrēt Ruby ar savu HTML.
Un resursiem, kā jau es teicu, ka ir visu veidu resursu Ruby.
Jūs guys var visu apskatīt šo augšu pēc tam jo gan video, un
slaidi, gatavojas ir pieejami tiešsaistē.
>> Un tagad pieņemsim nokļūt Rails.
Sliedes ir mīlestība.
Sliedes -
tāpēc Ruby ir viņa valoda.
OK, tāpat kā PHP, tāpat kā Python.
Tā ir augsta līmeņa valoda, nepatīk C. C ir vidēja, zema līmeņa valoda
sajūta, ka Ruby jums nav jāuztraucas par atmiņas pārdali, un
norādes, un tie lietas veidu.
Bet Rails tas ir programma, kas tika rakstīts Ruby.
Un tā izmanto Ruby, lai tas būtu sistēma, lai jūs varētu
veidot awesome, tīmekļa lietojumprogrammas.
>> Tātad, jums vispirms jāinstalē Ruby on savu mašīnu, bet lielākā daļa mašīnas
jau ir, ka.
Un pēc tam instalēt sliedes uz augšu no tā.
Mēs ejam runāt par to vēlāk.
Un kāpēc sliedes?
Tā MVC, tas ir modelis skats kontrolieris mēs runājām par maz
bit, padara visu vienkāršāku, jo tas sadala lietas, kas ir
konceptuāli atšķirīgas dažādos daļu no jūsu pieteikumu.
Mazāk laika pavada uz zema līmeņa problēmām, atkal, un ļoti, ļoti
populārs tiesības tagad.
Tātad, visiem tiem, kas ir ieinteresēti uzsākšanas skatuves, vai kaut ko
kā sākt uzņēmējdarbību, un cilvēki tehnoloģiju tirgū, kas ir
sākot savu biznesu tieši tagad tiešām, tiešām fani Ruby on
Sliedes, jo tas ir tik ātri.
>> Tātad jūs varat saņemt kaut izveidota un darbojas mazāk nekā vienu dienu, un tas ir
patiešām ļoti pārliecinoši arguments izmantot Ruby.
Un Sliedes 4,0 -
tas ir ļoti svaigs no krāsns tagad.
Tā Sliedes 4,0 -
Es domāju, ka pirmizrādi bija šā gada martā.
Un tas ir patiešām jauki, tas ir viss veidu jaunu, atdzesē iezīmes.
Tā Ruby on Rails ir sistēma, kas ir pastāvīgi tiek papildināta, lai visi
Jaunās tehnoloģiju.
>> Pirmo reizi es mēģināju izmantot Ruby on Sliedes, man bija šo problēmu, jo es
izveidojis savu pirmo tīmekļa lietojumprogrammu, un tas izskatījās tieši tāpat.
Tātad tas rada visus šos failus tu, un man nebija ne jausmas, ko -
kas tas ir?
Tas radīja visus šos failus, un es tikai vēlējās izveidot vienkāršu programmu,
vienkāršs HTML tīmekļa vietnē.
Un es pat nevarēja darīt neko.
Tāpēc man bija mazliet satriekti.
Bet tas ir viens no lietām, ka tad, kad jūs saprotu, viss kļūst tik
daudz skaidrāks.
Tāpēc nav overwhelmed ar pirmo redzes, ko jūs izveidojat sākumā.
>> Tātad, kas notiek, ir sliedes rada visus šos failus.
Tātad viens no tiem ir doc, dokumentācija.
Db, kas ir saistīti ar datu bāzē.
Lib, kas ir bibliotēkas pieteikties.
Sabiedrības, skriptu, un dažas lietas.
Diezgan daudz visi jūs gatavojas jāuztraucas par to ir app mapes, tur augšā.
Tas ir mape, kas satur jūsu pieteikumu.
Visiem citiem failiem -
daži no tiem ir svarīgi, un jūs dodas, lai uzzinātu par to vēlāk.
Bet viņi tikai šeit satur regulējumu.
Tātad pirmais stūrakmeņi mājas jūs guys ir ēkas, OK?
>> Bet app mape -
tas ir ļoti svarīgs.
Un app mapē ir aktīvi.
Aktīvi ir diezgan daudz viss tas nāk.
Attēlus, piemēram, viss, kas ir static, kas notiek, lai lejupielādēt
jūsu mājas lapā.
Tātad attēlu, JavaScript, CSS -
Šīs lietas veidu, ir aktīvi.
Kontrolieri -
mēs esam gatavojas runāt vairāk par kādi ir kontrolieri, modeļi,
un lauki sekundē.
Un palīgi ir funkcijas, kas jums var izmantot visā jūsu kodu
lai palīdzētu jums kaut ko darīt.
Funkcijas, piemēram pieteicies, lai piemērs - user.loggedin.
Tas ir funkcija, kas, iespējams, jums ir izmantot visu daļu no jūsu
pieteikumu.
Tātad jūs varat likt kaut ko līdzīgu ka jūsu palīgs.
>> Sūtītājiem -
tas ir, ja jūs gatavojas nosūtīt e-pastu lietotājiem, jūs
vēlaties izmantot mailer.
Un modeļus un viedokļi, mēs ejam runāt par to, ka tiesības tagad.
Tāpēc modelis viedokli kontrolieris, kas ir galvenais stūrakmens Ruby on
Sliedes, un lielākā daļa sistēmas mūsdienās, lai būtu godīgi.
Tātad vēlreiz, mēs atsevišķi visi mūsu kodu trīs dažādās daļās.
Modelis -
modelis pamatā ir datu bāze.
Tā rokturi lietas datu bāzē.
>> Lai katrs tabulu datu bāzē ir atbilstošo failu gadījumu modelī.
Tātad, tas ir sava veida tabulas saviem lietotājiem.
Tātad jūs uzglabātu informāciju, piemēram, lietotāja vārds, to e-pastu, to
adresi, savu paroli, un lietām, piemēram, ka.
Jūs esat nāksies vienu failu modeli sauc lietotājs rb -
rb Ruby.
Un tur jums nāksies visu metožu un mainīgo lielumu.
Mainīgie gatavojas, lai atbilstu lietotāja vārdu, e-pastu, un
viss.
>> Un jūs nāksies metodes.
Tas būs kaut kas par -
jūs gatavojas rīkoties ar šo informāciju datu bāzē.
Izveidot modeli ar Rails, jūs vienkārši izmantot Rails radīt.
Un radīt lietas Rails, jums tiešām ir nepieciešams termināli.
Tātad, tas ir ļoti terminālis balstīta sistēma.
Jūs vienkārši piesakieties uz terminālu, un to sliedes, radīt modeli.
Un nosaukums modeļa lietotājs.
Un es tikai vēlos, lai ir divi mainīgie, divas kolonnas, jo mana galda.
Tātad tas ir e-pasts.
E-pasts ir veids virkne.
Parole, parole ir arī tipa virkne.
Tās ir tikai divas lietas.
Tas ir sava veida vienkāršotu lietotāja tabulā.
Bet jūs varētu pilnībā likt simts lieta ir tur, ja jūs vēlētos.
>> Un sliedes arī padara to ļoti, ļoti vienkārši, lai visi
veidu datu bāzes attiecību.
Tāpēc parasti, ja jums ir tabulas ar jūsu datubāzi, viņi nav ļoti
neatkarīgas viena no otras.
Padomāsim par to.
Jūs vēlaties, lai pirkt un pārdot produktus tiešsaistē.
Labi, lai jums ir mājas lapā, kur jūs vēlas pirkt un pārdot produktus.
Tātad, katram lietotājam ir daudz produktu, kas šis lietotājs ir gatavs pārdot.
Un katram lietotājam ir arī daudz darījumus kas pašlaik notiek, vai
kaut kā tā.
Un darījumi ir ar citu lietotāju.
Katrs darījums pieder līdz diviem dažādiem lietotājiem.
Lietotājs, kas ir pirkšanas un lietotājs, kas ir pārdošanā.
>> Tātad tie ir tā sauktā datu bāzes attiecības.
Un šeit mēs esam tieši šos atslēgvārdus, ir daudz un pieder.
Tie ir vissvarīgākie.
Un jūs tikai gatavojas teikt, lai Piemēram, šis ir piemērs
modelis Hārvardas 2017 mājas lapā.
Atkal, studenti šeit -
katrs students tīmekļa vietnē, students ir modelis, ir datubāzes tabulā.
Katram studentam bija daudz grāmatu, jo jums Varētu teikt, kādi ir jūsu mīļākie
grāmatas, labi.
Lai katrs grāmatu pieder students leju šeit.
Un atribūtu pieejama -
tas ir tikai sakot, tie, ir mainīgie.
Tie ir mainīgie pieejami no šī modeļa.
Un mainīgie ir autors grāmatu, apraksts, žanrs, un
grāmatas nosaukums.
Tik vienkārši informācija par grāmatu.
>> Un šeit man ir metode, kas vienkārši sakārto visu.
Tāpēc definēt un nebeidzas šeit, tas ir tikai sakot, šeit nāk mana metode.
Self.sorted_all.
Tas ir tikai, dod man viss sakārtots, un tas, kā jūs īstenot
šķirošanas algoritms, kas ir diezgan viegli.
Bet būtībā, tas ir, kā modelis izskatās, OK.
Vai kāds ir jautājumi par šī datubāze lieta?
Attiecības?
Ir skaidrs?
Jā.
>> Mērķauditorija: Vai jūs varat darīt kārtošanas algoritms?
>> GABRIEL GUIMARAES: kārtošanas algoritms, OK.
Kad jūs pierast Ruby sintaksi, tas būs skaidrs.
Bet būtībā, elems ir Book.all.
Tāpēc grāmata ir nosaukums mana modeļa.
Kad jūs izveidot modeli, tas nāk ar visu veidu jauku metožu jums.
Tāpēc dot.all ir metode, kas atgriež visas grāmatas.
Bet atrast, piemēram, būtu meklētu viena grāmata un atgriezties šo grāmatu, vai
kaut kā tā.
Un tā elems ir viss.
Un es esmu tikai sakot elems.sort.
Kārtot ir iebūvēts Ruby funkcija.
>> Un, do ab.
Tāpēc šis darīt atkal ir -
jūs gatavojas kārtot.
Bet jūs gatavojas saņemt šis arguments mani.
Un argumentu izmanto - tas ir viens no Grūtāk lietas Ruby faktiski,
to darīt lieta.
Bet tad, kad jūs saprotat to visu nāk ļoti, ļoti intuitīvs.
Tātad ab, tas saka vietu turētājiem, ka es esmu gatavojas izmantot - piemēram,
mainīgie Es esmu gatavojas izmantot, ir būs saukt un b.
Un tie ir grāmatas.
>> Tāpēc kārtošanas nepieciešams, lai salīdzinātu elementi, atcerieties, ka?
Tātad, ja jūs kārtot lietas, jums salīdzināt divus elementus.
Es esmu gatavojas teikt, ka katru reizi, kad jūs gatavojas, lai salīdzinātu -
tā tas ir, es esmu iet kārtot argumentu.
Un arguments ir viss No darīt, un šeit, OK?
Un šo argumentu, ir tikai stāsta kārtot kā salīdzināt.
Kārtošanas varētu strādāt šeit, bet tas varētu salīdzināt ar to
noklusējuma salīdzinot algoritmu.
Es gribu to salīdzināt ar ļoti specifisku veidā, proti, tad, kad grāmata
tika izveidots, kad katra grāmata tika izveidots.
>> Tāpēc es saku, teiksim nosaukums pirmais grāmata ir un nosaukums
Otrā grāmata par B, es vēlos kārtot kārtot kaut kas balstīti uz b.created_at šo
dīvaini simbols, a.created_at.
Un tas dīvaini simbols ir saīsinājums Jo, ja viens ir lielāks nekā
citi, atgriežas 1.
Ja viens ir vienāds citi, atgriešanās nulle.
Ja viens ir mazāks nekā otrkārt, atgriešanās mīnus 1.
Tātad tas, ko tas dīvaini simbols ir.
>> Bet tas nav svarīgi.
Es domāju, ko es gribu, lai jūs guys, lai saņemtu tagad ir ideja, ka datu bāze -
Jums var būt modelis tur.
Tātad jums nav jāuztraucas par savienojot un izmantojot SQL,
un lietām, piemēram, ka.
Tā var arī radīt durvis SQL injekcijas, un visi
veida drošības problēmām.
Tādā gadījumā, jums nav jāuztraucas par to.
Jūs vienkārši izmantot metodes, piemēram, book.all.
Un to, ka fona protams, gatavojas ar savu datu bāzi, un tas ir
gatavojas izmantot SQL lai iegūtu visas grāmatas.
Bet jums nav jāuztraucas par to.
Tas ir takeaway, OK?
>> Un, ja jums ir belongs_to paziņojumu piemēram, tas, tas nozīmē, ka
kad jums ir grāmatu objektu, jums var redzēt, kāda ir tās studentu.
Tātad, kas studentam ir šī grāmata?
Tātad, mēs varam vienkārši izmantot book.student, un , kas dod jums to, ko students.
Un tas ir patiešām iezīme ir.
>> Labi, tagad skats.
Tāpēc modelis ir tas, kas mijiedarbojas ar datu bāzi, vai ne?
Skats ir pamatā HTML, un CSS, un daži JavaScript.
Un tas ir tas, ko lietotājs faktiski redz.
Lietotājs nav gatavojas redzēt savu datu bāzi.
Viņš dodas, lai redzētu dažus datus no datubāze iestrādāta skatītāju.
Ruby on Rails padara to patiešām vienkārši izdarīt laukus.
Pirmkārt, tāpēc, ka tas jau rada to jums, no kastes, izkārtojumu.
>> Izkārtojums ir būtībā kaut kas -
ja visas lapas ir logo uz augšu un, es nezinu, kādu izvēlni vai
kaut kā tā, ka visas jūsu lapas ir kopīgs, tad jums nav
ir nepieciešams, lai izveidotu daudz, daudz, daudz HTML faili, kur visi faili ir, ka
pats HTML kodu.
Es domāju, ka ir stulbi, jo jūs esat tikko atkārtojot kodu starp dažādiem failiem.
Tas noteikti nav laba pieeja.
>> Tā Ruby on Rails rada Šis izkārtojums jums.
Un tas ir tikai sakot, visas manas lapas nāksies šo HTML, šo galvu
nosaukums šeit, un tie ir stila lapas saite tag.
Iespraudiet šeit visu savu CSS.
Iespraudiet šeit visu savu JavaScript un daži meta tagus.
Tas ir tikai kaut kas, ka viņi darīt automātiski jums.
Un tad, beigtu galvu, tagad Šeit sākas ķermeņa.
Un tagad tas ir mans faktisko saturu.
Tātad, ja es gribēju, lai kaut ko, piemēram, izvēlnes šeit, es varētu nodot to tiesības pār
šo vietu, vai kaut kas tamlīdzīgs, lai visas manas lapas kopīgi to.
Tāpēc izkārtojums ir dalīta ar visām lapām.
>> Tagad, kad raža šeit vienkārši saka, nav neatkarīgi no tā, kādas lapas tas ir, vienkārši
plug saturu, kas lapa šeit, OK?
Un tagad tas ir, piemēram, saturu vienas lapas, kas būs
iespraust šo ienesīguma paziņojumu automātiski Rails.
Bet tas ir izkārtojums dalīta ar visām lapām.
Un tas ir piemērs vienas lapas.
Un tas ir tieši lapa kas uzskaitītas visas grāmatas.
Tātad tas ir pamata HTML tabulu up top.
Tātad sarakstā grāmatas, nosaukums, autors, apraksts, žanrs.
>> Un šeit mēs izmantojam, atkal, daži Ruby sintakse, @ books.each, -
@ Veida saka, ka jūsu mainīgo ir globāla ziņā.
Jo šis mainīgais patiesībā bija deklarēti kontrolieris, kas
jūs gatavojas redzēt tieši tagad.
Bet tikai par pašsaprotamu, ka tas @ Grāmatas ir mainīgs lielums, kas ir saraksts
visas grāmatas.
Tātad books.each, darīt, un atkal, tas ir vienkārši sakot, kā jūs vēlaties nosaukt
katrs no iterators, lai mēs ne jāuztraucas par četriem, int i
blah, blah, blah.
Mēs tikai veikt katru no elementus un tos izmantot.
>> Tāpēc šī ir grāmata, un tad tikai drukāt šeit. book.title, book.author,
book.description, un blah, blah, blah.
Un šeit ir LINK_TO.
Tāpēc LINK_TO ir tikai saite tag ka lietotājs var uzklikšķināt uz un
dodas uz citu tīmekļa vietni.
LINK_TO, liecina, ka konkrēto grāmatu.
Tātad, ja lietotājs ir ļoti ieinteresēta šī grāmata, tad viņš var noklikšķināt uz šovu.
Vai noklikšķiniet uz rediģēt, ja viņš vēlas rediģēt grāmatu.
Vai iznīcināt, ja viņš vēlas, lai izdzēstu book no datu bāzes.
Labi, tas, ka ir jēga?
Labs.
>> Visbeidzot, kontrolieris.
Vārdu sakot, kontrolieris saskarne
modeli un skats.
Tāpēc modelis ir daļa no jūsu kodu, kas ir datu bāze -
katras tabulas datu bāzē ir attiecīgo failu
modeli, un tā tālāk.
Un kā to modeli un skats sadarboties?
Tātad, izmantojot kontroliera.
Kas kontrolieris tas ir tas ir modelis kaut kā, piemēram,
nodot visas grāmatas iekšpusē mainīgā.
Piemēram, šo vienu, @ grāmatām.
>> Un tai ir jābūt globāla ar šo at lieta, jo tas būs
piekļūt viedokli.
Tas nav gatavojas jāizlieto kontrolieris pati.
Un tas tikai palēnina informāciju, skats gatavojas izmantot.
Piemēram, kontrolieris pārbaudes ja lietotājs ir tiešsaistē.
Un kā tā darīt?
Tas faktiski lūdz modeli jo modelis ir
informācija par lietotāju.
Tā ir lietotāju tabula, grāmatas galds, citām tabulām.
Tāpēc kontrolieris jautā, vai lietotājs ir tiešsaistē.
Ja lietotājs ir tiešsaistē, kontrolieris rokturi lietas, piemēram, liekot cookie,
vai kaut kas tamlīdzīgs, lai zīmogs teikt, ka lietotājs ir tiešsaistē.
Nav nepieciešams, lai pieteiktos vēlreiz.
>> Un tas notiek, lai ielādēt mainīgo sauc lietotājs, piemēram, ka
skatu var izmantot.
Un skats var likt kaut ko šeit, Piemēram, welcome user.name.
Tātad, tas ir gatavojas teikt, welcome Jānis, welcome James -
kaut kas tamlīdzīgs, vai ne?
Tātad visus šos mainīgo izmanto skats gatavojas ielādes
kontrolieris un būs velk uz augšu no parauga.
>> Šis ir piemērs kontrolieris.
Tātad mums ir, būtībā, katrs -
mēs saucam šīs lietas darbības.
Tātad indekss ir darbība.
Tas ir Ruby funkciju.
Tas ir Ruby metode tur.
Bet kontrolieris zvaniem šīs lietas darbībām.
Un katra darbība ir saistīta ar maršrutam.
Tātad, šeit šī ievadīšanas, piemēram, ir get pārskats / grāmatas.
Tātad, ja jums iet uz harvard2017.com/books, to, kas notiks, ir tas kods
būs saukt.
>> Un tur ir fails -
ļaujiet man atvērt šo nekustamo ātri.
Tur ir fails ar nosaukumu RAW failu.
Tas nav atvēršanu.
Tātad tur ir fails, ko sauc par RAW failu kas būtībā sakrīt -
Ak, tagad tas ir atvēršanu.
Lūk, maršruti.
Tātad būtībā sakrīt ar spriedzi, aktivizācijas / new, piemēram, lai
kaut kontrolieris.
Tātad tur ir šis kontrolieris sauc aktivizēšanas kontrolieris, bet šeit,
mums ir grāmatas, piem.
Tā sakrīt -
grāmatas / new, kontrolierim grāmatas, action jaunu.
Tātad, būtībā, ir ļoti vienkāršs lietas.
>> Un šeit, ja jums bija iegūt / grāmatas, slīpsvītra ID grāmatām, slīpsvītra jaunu,
jūs gatavojas doties uz, ka Ruby metodi tur lejā.
Tātad šeit, ko šis rādītājs dara ir tikai iekraušanas grāmatu žurnālu.
Tas ir kaut kas -
Es piesakos visas grāmatas žurnālā.
Un kārtot to visu.
Tā tas notiek, lai atgrieztos visi sakārtoti grāmatas.
Tas ir, atkal, datu bāzē.
Tāpēc tas ir metode modeli.
Redzējāt šo metodi, ir izveidots modeli.
Tagad tas ir tikai iekraušanas visas grāmatas un liekot ka mainīgo lielumu, kas
var redzēt skatu.
>> Jo jūs nevarat, vidū jūsu HTML kodu, jūs nevarat zvanīt
kaut tieši no modeļa, jo divu iemeslu dēļ.
Pirmkārt, drošības apsvērumu dēļ, jo tas nav īsti interesanti būt
iekraušanas informāciju tieši iekšā Katru HTML, kas ir datu bāzē.
Un, otrkārt, lai saglabātu savu kods patiešām organizēti.
Tāpēc atsevišķi tieši dažādas daļas.
Tātad BookLog.sorted_all, tas datu bāzes un tas ir gatavojas nodot
mainīgais @ grāmatas.
Un tagad šis mainīgais ir pieejama jūsu HTML kodu.
Tātad jūs varat vienkārši ielieciet visas grāmatas tur, tāpat kā mēs to darījām, tieši šeit.
Tas ir mainīgs.
>> Un vizītes respond_to darīt | Formāts |, tas ir tikai sava veida Ruby sintakse
ja lietotājs jautā man HTML kods, es esmu gatavojas
atbildēt ar HTML kodu.
Ja lietotājs vēlas mani JSON kodu, kas ir kaut kas web apps izmanto
sazināties savā starpā, viņi parasti izmanto JSON vai kādu citu
veida lieta.
Tātad, tas vienkārši reaģē, izmantojot tos divi dažādi formāti.
Bet parastam lietotājam, tas nav nepieciešams, lai būtu šeit.
Jūs vienkārši atbildēt ar HTML, un tas ir jauki.
Tāpēc nav īsti jāuztraucas, ka daudz par to.
Tas ir tikai līnija kods, kas mūsu kontroli, kā tas ir iekraušanu no HTML
datubāzē, liekot kaut kas ir pieejama viedokli.
>> Un tad jauns, tāpēc šeit Es veidoju grāmatas.
Bet, lai radītu grāmatu, man ir nepieciešams students jo man ir jāzina skolēnam
kuras grāmatas tas pieder, labi.
Tātad @ studentu = Students.
Students, atkal, mēs sākam ar liels S modelis students.
Labi, tāpēc šis ir modelis students, Tas ir modelis grāmatu žurnāls.
Student.find, tāpēc es esmu gatavojas, lai atrastu students, izmantojot parametru ID.
params.id, tas ir tikai iegūt man vērtību Šīs ID, kas tika pieņemts -
un URL.
>> Tikai gatavojas meklēt šo studentu.
Un pirmkārt, mēs ejam, lai pārbaudītu Ja students ir dažas dziesmas
un blah, blah, blah.
Un tas jau ir rokturi gadījums, kad students
nepastāv, piemēram.
Un tad vēl, mēs vienkārši atbildēt uz vienu un to pašu, izmantojot HTML.
Un tad mēs varam ļaut lietotājam izveidot savas dziesmas.
Tāpēc tas ir jauns.
Jaunas parasti izmanto, lai lietotājam izveidot kaut ko.
Un tad tur ir radīt darbības , kas ir parasti izmanto, lai -
faktiski laisti dziesmas datu bāzē vai kaut kas tamlīdzīgs.
Bet tad, kad jūs sākat, izmantojot Rails, šīs lietas būs
daudz, daudz vairāk skaidrs.
Labi, atdzesē.
Visus jautājumus līdz šim?
Vai tas ir jēga ar kontrolieriem, modeļi, lauki -
yeah?
>> Atkal savā Rails pieteikumu -
lai visi, kas var atrast šeit.
Tātad jums ir app, kontrolieri, tos ir visas manas kontrolieriem.
Tā, piemēram, grāmatas kontroli.
Tas ir, mēs tikko redzēju vienu.
Un tad viedokli.
Un katrs kontrolieris ir saistīta skats, vai ne?
Tātad automātiski, kad jūs aicinu šo indekss šeit, piemēram, vai tad, kad
nosaukt šo grāmatas jaunu, tad uzskatot, grāmatas, jauna gatavojas saukt.
>> Tāpēc Rails dara visu automātiski jums.
Tātad katrs kontrolieris ir saistīta apskatīt un visiem modeļiem -
šeit man ir viens, divi, trīs, četri, pieci modeļi.
Bet tas ir studenta modelis, lai tie ir mainīgie, ka visi
studentiem - lokalizāciju, dzimšanas datums.
Studenti ir nedaudz vairāk sarežģīta, jo katram studentam ir
atšķirīgs metode saistīts ar to.
Bet tas ir tikai apstrādes tabula, kurā bija visi
studentu datu bāzē.
>> Un, OK, uzstādot Rails.
Uzstādot Rails, ja godīgi, nav vienkāršākā lieta.
Bet tad, kad jums pēdējo viss, tas ir ļoti, ļoti viegli.
Tā instalēšanas Rails, jūs vienkārši doties uz mājas lapa, rubyandrails.org / lejuplādēt
un sekot viņu norādījumiem tur.
Lejupielādēt visu.
Un jūs varat darīt, ka nu Appliance, ar CS50 Appliance, par
Windows, Mac, vai jebkura darbības sistēma, pēc jūsu izvēles.
Ruby on Rails iet uz visu.
>> Izredzes ir jums jau ir Ruby uzstādītas Ja jums ir Mac vai -
ar ierīcēm es domāju Ruby ir -
Es neesmu pārliecināts.
Un tad jums vienkārši ir šī uzstādīta.
Un, ja jūs vēlaties, lai izveidotu jaunu tīmekļa lietojumprogrammu, jūs vienkārši
do sliedes, jaunu, blogu.
Sliedes, jauni -
Es nezinu -
nosaukumu jūsu mājas lapā.
Un tas ir tik vienkārši.
>> Tas notiek, lai radītu visiem tiem Failu Es tikko parādīja jums.
Bet modelis, skats, un kontrolieris nav būs
apdzīvots vēl.
Jūs tikai nāksies iet uz turieni un aizpildīt šos trīs mapes.
Tātad izredzes ir, jūs vēlaties, lai izveidotu modeli, Piemēram, īstenot vienu
modelis pirmo reizi.
Tātad vēlreiz, vienmēr mēģina iekost mazāku biti problēmas vienlaicīgi.
>> Un tad teiksim, izveidot paraugs saviem lietotājiem.
Kas ir pirmā lieta, ja Jums ir lietotāji.
Tad es gribu izveidot modeli tāpat kā mēs parādījām šeit.
Sliedes, radīt, modelis, lietotājs, un pēc tam e-pasta string - mums ir, ka šeit.
Un vienkārši izveidot šo modeli, jā.
Sliedes radīt modelis Lietotāja e-pasta adresi: string parole: string.
>> Un tad jums izveidot kontrolieris , kas nodarbojas ar lietotāju.
Un jūs varat izveidot jaunus lietotājus un darīt tās lietas veida.
Un tad jūs varat pāriet uz radot pārējo jūsu mājas lapā.
Atdzesē, jautājumi?
Jā.
>> Mērķauditorija: [dzirdams]
>> GABRIEL GUIMARAES: Jā, jā, jūs noteikti jādodas uz viedokli.
Tas ir ļoti labs jautājums.
Tāpēc viedoklis ir tas, kas patiesībā satur jūsu HTML.
Tātad, tas ir tas, ko lietotāji gatavojas redzēt.
Atkal, šeit, tas ir piemērs skatu.
Tā ir HTML kodu un Ruby kods, tajā pašā laikā.
Tāpēc Ruby kodu tur likt lietas no datu bāzes, piemēram,
kas nosūtīja kontrolieris.
Tā, ka mainīgā @ grāmatas, piemēram, ir visas grāmatas un tabulu
Grāmatas bāzē.
Mēs pārliecinājāmies, ka tas bija regulatorā.
>> Un skats -
katras lapas pie jūsu mājas lapā ir nāksies vienu saistīto skats.
Tātad, ja jums iet uz mājas lapā, Pati pirmā lapa, harvard2017.com.
Kas parāda vienu lapu.
Un tad doties uz slīpsvītra profilu.
Kas notiek, lai iet uz kontrolieri tas profilu kontrolieris.
Un profila kontrolieris notiek lai dotu jums profila skatu.
Un profila skats skatīsies nedaudz līdzīgs šim, bet tas būs
ir informācija par lietotāju, un nevis par grāmatām.
>> Tātad, tas ir HTML kods, un CSS, un tiem, lietas, ko lietotājs redz
ar Ruby kodu -
kas faktiski drukā lietas no datu bāzes.
Ir tas, ka vairāk skaidrs?
Es ceru.
>> Mērķauditorija: HTML kods tiek izmantots, lai faktiski padara mājas lapā, ka
lietotājs redz, bet Ruby kods ir kas padara mājas darbu?
>> GABRIEL GUIMARAES: Ruby kods izpaužas pārvērš HTML.
Tātad, ko lietotājs saņem ir tikai HTML, OK?
Tas ir tikai HTML.
Šis book.title gatavojas pārejai uz vērtība book.title HTML, OK.
Tāpēc tas ir visas serveri, un tā tas ir atkarīgs no tā, ko grāmatas ir tur
serverī tiesības tagad.
Bet ko serveris būtu nekavējoties jēga ir tikai HTML kods, OK.
>> Bet skats tikai dod izkārtojumu ko HTML gatavojas izskatās
un kādi mainīgie būs.
Šāda veida izdrukāt, OK.
Šīs lietas ir būtībā izdrukas.
Viņi gatavojas drukāt mainīgos, OK.
Tātad, kas ir tikai HTML, tie -
autors, nosaukums, apraksts.
Tas ir statisks saturu.
Tas nav gatavojas mainīt.
Tas ir tikai plain HTML kodu.
Tie ir izdrukas mainīgajiem -
lietas, kas atkarīgi.
Cool, vēl jautājumi?
Labs?
Jā.
>> Mērķauditorija: Es domāju, ka jūs darījāt visu editing citā tekstā
rediģēšanas programmu.
Vai mēs arī lejupielādēt to?
>> GABRIEL GUIMARAES: Jā, man patīk teksta redaktors sauc TextMate.
Un tas ir ļoti labi.
Tas ir labi piemērots Ruby.
Tā krāsas lietas ļoti glīti.
Tātad TextMate, T-E-X-T. Es esmu gatavojas likt, ka, turēt -
>> Es domāju, jūs varat izmantot gedit vai kaut ko vēlaties.
Bet tas ir specifisks Mac, un tas ir ļoti veikls, jo tas liek visiem
failus tur lejā.
Un Ruby on Rails, jums ir nepieciešams pāriet failus daudz.
Tātad, tas ir daudz, daudz failu tikai iet no viena faila, lēkt
viens fails vai otru.
Tāpēc TextMate ir ļoti labs, bet tur ir daudz kas tur.
Vēl jautājumi?
OK, jā?
>> Mērķauditorija: Vai ir mobilo attīstība izmantojot Ruby on Rails?
>> GABRIEL GUIMARAES: Es esmu uzklausīja lietas.
Man ir neizmanto tos.
Jūs varētu izpētīt vairāk par to.
Es neesmu pārliecināts, vai tur ir kāda laba lieta, kas tur.
OK, jā?
>> Mērķauditorija: [dzirdams]
>> GABRIEL Guimarães: Nav Rails, iespējams, Ruby masīvs.
Atvērt termināla logu un tips, "Ruby".
Jā, droši vien, un tad jūs vienkārši instalēt Rails.
Bet, ja jūs gatavojas uzstādīt jaunu Sliedes 4.0, kuru es ļoti ieteiktu,
Jums vajadzētu lejupielādēt Ruby 2.0.
Tas ir jauns too.
Un jaunie Rails 4.0 ir kaut kas tiešām foršs, ka
tas uz aktīviem.
Tā rīkojas aktīvi.
Aktīvi atkal ir attēli, CSS failus, un JavaScript failus.
Tātad viena ļoti veikls lieta, ka Ruby on Sliedes tas jums ir visiem tiem CSS
failus, kas jums ir, un viss -
tas tikai saiņi viss uz augšu vienā milzīgs fails, bez atstarpēm vai jebko,
lai samazinātu laiku, lietotāju vajadzībām, lai lejupielādēt šo kodu no servera.
>> Tātad, kad jūs redzat jūsu datora, tas ir nāksies, piemēram, 15 CSS failus.
Vai daudz, daudz dažādu CSS failus.
Bet beigās, dienā, kas Sliedes automātiski, tas jums ir tas liek
viss kopā vienā lielā failā tā, ka tas samazina pieprasījuma laikā.
Tas ir patiešām foršs.
Jā?
>> Mērķauditorija: [dzirdams]
>> GABRIEL GUIMARAES: Tieši tā.
Tātad, Google Maps integrāciju.
Tas ir JavaScript API no Google.
Tāpēc es devos uz Google mājas lapā.
Tie ir šo Google Maps API un I lejupielādēt kodu un integrētu to
manā skatījumā.
Tātad, ko man vajadzēja darīt tur ir man nepieciešama, lai iegūtu
vietas no datu bāzes.
Tas tika darīts kontrolieris.
Tāpēc es devos uz kontrolieri -
kur ir kontrolieris.
Kontrolieris izskatījās.
Got visi vietās studenti, nodot visu, kas uz liela
mainīgais, liels saraksts, kas ir visas vietās.
>> Un uzskata, ka JavaScript API ir kaut kas
apskatīt, vai ne?
Tāpēc, ka JavaScript iet jūsu HTML kodu, tas būs jānosūta
lietotāja mašīna.
Un uzskata, es ielādes visu, kas Informācija par Google API.
Un tas darīja visu, kas man, kas ir patiešām foršs.
Bet, ja jūs vēlaties izmantot lietas back-end, un tas ir kā bibliotēka, lai
Piemēram, atkal -
integrācija ar Facebook.
Tas ir kaut kas, ka daudzi, daudzi, daudzi progr izmanto mūsdienās.
>> Tā ir jūsu integrāciju ar Facebook jo tas ir tik daudz vieglāk vienkārši
piesakieties ar Facebook nekā veidot kontu un blah, blah, blah.
Tad jūs vienkārši izmantot gem, un tas ir tik vienkārši, kā iet uz savu gem failu.
Gem fails ir fails, ko sauc par gem failu avots direktoriju jūsu Ruby on
Sliedes projektu.
Vienkārši iet tur un pievienot jaunu gem.
Un jūs meklēt to uz augšu uz Google.
Ir daudzi, daudzi, daudzi dārgakmeņi.
Tur ir viens, ka īpaši nav šis Facebook integrāciju.
Es neesmu pārliecināts, ko nosaukumu no tā.
Tikai google to un jūs esat gatavojas to atrast.
Labi, vēl jautājumi?
Awesome, paldies par ierašanos.