[Muziciranja] STEPHEN turbanom: Pa ja sam Stephen turban. Više na strani ovdje, možda smo Možete dobiti neke ljude roniti u. Imamo Gabriel i Zacka. Dakle, za kratko Putokaz na ono to će izgledati, Ja ću biti događaj neki iznimno na visokoj razini pogled na ono što je MVC. Gabe? GABRIEL Guimarães: Idem govoriti o Ruby i malo Kako Tračnice radi i kako to može će vam pomoći da izgradite web aplikacija. Zack CHAUVIN: I ja ću pokazati vam konkretan primjer kako se koristiti Šine za izgradnju super strašan app. STEPHEN turbanom: Awesome. Sweet. U redu. Tako ćemo razgovarati o MVC. Dakle, idemo na sljedeći slajd, koji Ja ću učiniti pritiskom na ovaj gumb. I idemo na next-- razvoja, Volim razmišljati o ide na CVS, jer CVS je trgovina i ima V u sredini. I tako zamislimo u dućan. I neka je učiniti ovu trgovinu prodati samo jednu stvar. Tako ćemo imati ovaj pohraniti samo prodati te crvene čaše. I zamislite što hoda u, a ti idi na prednjem dijelu trgovine, te osobe. I ime mu je Vince. I Vince valovi Pozdrav na vas, govori hi. I primijetite nešto o Vince. Dakle, kad god mi mislimo o Vince, mi morate razmišljati o dva ključna pridjeva. Vince je lijepa, ali on je glup. OK. Pa znate, ne svoje krivnje, Na žalost, on je lijepo. On je naš pogled. Dakle, naš prvi član cast postoji. Imajte to na umu. Sada, pitaš Vince, idete, hej Vince. Ja sam kupac. On kaže da hi. Ja stvarno želim jedan od vaših crvenih šalica. A što je Vince rekao? Se bilo tko imati bilo Znate li što je Vince rekao? Idem hladno poziv. Što misliš Vince govori? PUBLIKA: Kaže, ne mogu vam pokazati gdje je to, ali ne mogu vam dati jedan. STEPHEN turbanom: Kaže, ne mogu vam pokazati gdje je to, ali ne mogu vam dati jedan. Što je još gore. Bilo tko drugi imaju još jedan pojma što Vince mogao reći? PUBLIKA: On mora proći provjeru ako imaju bilo kakve crvene čaše. STEPHEN turbanom: Vince ne i znam da je to provjeriti. Bilo što drugo? Pa što je rekao, mora provjerite je li on ima crvene čaše. Ajde. PUBLIKA: Što je crvena šalica? STEPHEN turbanom: Što je crvena šalica? Što je crvena šalica? Vince je zbunjena. Dakle, Vince će razgovarati naša sljedeća članica cast, Carl. A kad smo razmišljati o Carlu smo Moram razmišljati o dva velika adjectives-- On je kontroling, ali on je nesposoban. Dakle, Vince goes-- on ide, što je crvena šalica? Ne znam što je crvena šalica je. On se okrene i pita Carla. On kaže, Carl, netko tražio crvenu šalicu. Možete li to učiniti? A što je Carl rekao? Ajmo to shvatiti. Da li itko ima bilo Znate li što kaže Carl? A ja ću samo ponoviti natrag na vas. Vidio sam pokret ruke. PUBLIKA: On kaže netko drugi dobili crvene čaše. STEPHEN turbanom: On govori netko drugi bi dobili crvenu šalicu. Točno. I mi imamo ideju tko je ta osoba mogla biti? To je savjet. To će se početi s M. Mob? PUBLIKA: Model. STEPHEN turbanom: Model, da. Njegovo ime nije model, nažalost, jer je to glupo ime. Imamo Mitt. A kad smo razmišljati o Mitt-- Ne, ovo nije slika Zack. Moramo misliti na dvije Ključni pridjevi s Mitt. On je sposoban, ali on je pokoran. Dakle Mitt zna što treba učiniti, ali on zapravo ne može ništa učiniti. Ili on zapravo ne može odlučivati ​​o vlastitu. Tako smo Carla. Carl viče na Mitt. A on kaže, hej Mitt, trebamo crvene čaše. I Mitt ide na svoje crvene šalice depozitorij. On zgrabi šalicu, a on ga vraća. Da li itko ima bilo Znate li što se događa nakon toga? Daje čašu. Do sada Mitt borac za njegov Red Šalica spremište, uzeti ga van, provjerio off, rekao je, Uzeo sam jednu crvenu šalicu. I on ga daje Carlu. Imate li ideju? Što misliš Carl radi? PUBLIKA: Carl ga daje Vince. STEPHEN turbanom: Carl ga daje Vince. Vince. PUBLIKA: I Vince to pokazuje da se [nečujan]. STEPHEN turbanom: Točno. Dakle, to je upravo to. Dakle, Vince uzima čašu, ni ne znam što je to, ali on to pokazuje korisniku. Tako ćemo pokušati ponovno ovo stvarno kratko. A ćemo potrebu Tri tihi volonteri, što ti dečki ne ide da bi mogli govoriti. Tako sam mogao zgrabiti tri? OK. A tko bi volio biti? PUBLIKA: Ja ću biti Vince. STEPHEN turbanom: Vince, OK. Lijepa, ali glupo. Veliki. Bilo tko drugi? Mi smo u potrazi za stanju, ali pokoran. Je li još netko želi biti u stanju? PUBLIKA: Mogao bih biti Carl. STEPHEN turbanom: Sweet. Imamo Carla. PUBLIKA: Mitt. STEPHEN turbanom: Mitt, OK. A mi ćemo se morati A- ću biti kupac. Pa daj se, došli na gore. I svi u pogledu? Tako ću pitati Vince se stoji u planu, samo se smiješi, Samo se smiješi svijetla kao što je više moguće. A mi ćemo se pitati Carla, Dobro, zašto ne, kao što je, stoji iza nje? I Mitt, zašto ne Samo otići u leđa, a onda ću vam dati skupinu šalica družiti s. Dakle, ja sam kupac. Dolazim. I ja bi [nečujan] I kažu, hi, ja bih šalicu. Savršeno. Dakle, Vince nema pojma. Dakle, ono što se Vince učiniti sljedeće? Vince-- redu, pa ću se pripovijeda sada. Vince viče na Carlu, šalice! Što Carl učiniti? Carl viče na Mitt. Mitt zgrabi šalicu. Mitt ga daje Carlu. Carl ga vraća u Vince. I Vince ga prikazuje korisniku. I da je visoka, visoka, visoka, tako visoko pogled na MVC. Mi ga podijelite ima pogled, ono korisnik vidi, kontroler, netko koji čini sve u pozadini ali stvarno ne mogu ažurirati ništa ili ne može učiniti ništa od bilo kakvog značaja osim poziva u pogledu i model. I onda imamo Mitt, modela, koji ažurira podatke god imamo. Dakle, hvala vam toliko za naš lijepi, kontrole i sposobne volonteri. I ja mislim da je to bilo. [PLJESAK] Mislim da Gabe će sada govoriti na, nadamo se manje visokoj razini. GABRIEL Guimarães: OK, dečki. Sada ćemo govoriti malo više o kod i oko Ruby na šina sama, te o tome kako se ona odnosi za sve ove MVC priče. Uglavnom, Ruby on Rails je okvir. Više o tome u sekundi. Ali samo da vam Osjećaj koji je to koriste, kao, svi ti veliki companies-- tako GitHub, Groupon, Twitter-- svi ste koristeći Ruby na Tračnice kao glavni okvir provesti svoje web stranice. Dakle, siguran sam da puno ljudi Koristio ove web stranice ovdje. I to je sve Ruby on Rails provesti Model, View, i kontroler na sve ove web stranice i još mnogo toga. OK? Dakle, kao što sam rekao, Ruby na Šine je okvir. A možete vrsta misliti okvira u smislu kao što je izgradnja kuće. Dakle, ako ste idući u izgradnji house-- i uvijek možete početi od nule, zar ne? Možete pokušati doći do s načinom vidio drvo, i da donese drva na mjestu, i da se kamenje u pravom obliku, a onda sve to. No, to će potrajati vjerojatno puno godina dok ne dobijete sav materijal, a vi dobiti sve zajedno, a što se zapravo početi graditi svoju kuću. Tako ispada, ako počnete s okvir s nečim što je Već vrsta na mjestu za bilo koju vrstu kući koji želite build-- nešto to je vrlo generički, ali to možeš zatim oblikovati prema vlastitu goals-- onda možete utjecati ta moć od okvira za izgradnju ih nešto puno, puno brže. OK. Dakle, to je ista ideja okvir za web aplikacije ili bilo koju vrstu prijava, što se toga tiče. Vi zapravo početi s pola prijave već postoji u mjesto za vas. I da, mislim da dobijete puno datoteke koje su već funkcija, kao što su knjižnice, kao i funkcionalnosti, i naredbe koje možete izvoditi u cilju kako bi vaš život mnogo jednostavnije i lakše. OK. Dakle, u ovom slučaju, idemo govoriti o Ruby on Rails. Postoji mnogo različitih okvire vani. Postoji Django za Python. Postoji Zend Framework ili Laravel za PHP. Postoji mnogo različitih one. Ruby on Rails je prilično lijepo novi. Mnogi ljudi koriste da startupima i ova vrsta okruženja. A neki od njih vrlo veliki Tvrtke koje sam pokazao prije ovdje Također se koriste Ruby on Rails. Dakle, samo kako bi vam dati Osjećaj onoga što je Ruby kao što su, jer ti dečki su više koristi da, kao što su, C i malo PHP Sada, pa Ruby će biti ekvivalent vaše PHP u tom smislu. To nije Ruby. To je C. redu? No, to je kao DJBHash funkcija koje sam znam mnoge ljude koji se koriste za PSET pravopisne pogreške. I u Ruby, lijepa slično kao u PHP, vi mogli provesti ovo s samo nekoliko linija koda. Umjesto brige o hash funkcije, brige o kante, i sve to, možete samo reći, rječnik = Hash.net. A onda koristite vrsta kao Ista ideja da PHP imala. I tako je to istina. A onda, ako želite provjeriti, tako da provjerite funkciju bi li rječnik "foo" jednaka jednako istinito, povratak istina. I to je sve, u redu? Tako ćete primijetiti nekoliko razlika. Nema točka-zarezom Ovdje, kao što je bilo u C. No, opća ideja je vrlo slična. OK? Također, u Ruby, postoje dragulja, koji su vrsta Ruby knjižnica. I Šine ih obrađuje u vrlo lijep način za vas. Dakle, ako želite staviti U nekim knjižnici da Da li e-mail, ili da ne SMS poruka, ili da se radi integracije s Facebook, ili bilo kakve stvari kao i da je za svoju aplikaciju, to je vrlo, vrlo jednostavno. Tečajevi su možete pronaći nešto kao da je na internetu. A oni samo to nešto staviti što dragulj želite koristiti u dragulj datoteku. A onda Šine instalira sve. Vi ne morate brinuti o bilo toga, tako da je stvarno cool. Također, tu je dosta, dosta pomoći online. Tako možete pronaći puno stvari. Ako imate pogrešku, možete samo ga Google, i to će biti vrlo lako dobiti pomoć. I to je puno fun-- exactly-- zbog tebe ne morate brinuti o niskoj razini Detalji, provedba hash tablica i ima da se sa svima HTTP zaglavlja, i puno stvari, pa čak i neke više razine više stvari. Vi ne morate brinuti O tome je u šina. To ga čini vrlo, vrlo lijepo za vas. A mi ćemo pokazati da je konkretnije vrlo brzo. OK. Dakle, malo o Ruby ponovno. Dakle, to je baš kao i C, kao što sam rekao. Umjesto printf, možemo reći "Stavlja", koji je "stavio uzicu." To stavlja niz na konzoli. I u ovom slučaju, mi smo Samo tiskanje "Hello World". Ne trebamo zagrade, ali to je prilično slično. A onda, ako želiš učiniti nešto ovdje, kao što je ispis hrpa "smalls" i hrpa "Bigs" u while petlji, to je vrsta kao u C, zar ne? Nemate params, ali to je manje-više isti. Udubljenje ovdje broji, pa x jednak 1. I onda dok je x manji od 50-- to ako, to je ostalo. To je prilično slično onome što ste vidjeli. A onda x + = 1 samo se povećavati, vrsta kao što radiš ++ koje možete radim u C, ali to je prilično koliko ono što je vidio u C. To ne bi trebalo biti previše komplicirano. Ali, to je moćniji. Dakle, postoji nekoliko naredbi ovdje da su definitivno malo noviji. Tako, na primjer, "stavlja". Možete koristiti ovaj hashtag zapis Ovdje se samo ispisati something-- prilično slično kao što će učiniti ako % D ili% C ili nešto slično. A što se zapravo može staviti Ako odmah nakon izjave. Pa ja samo želim this-- Ako je x veći od 3. Pa zašto bi ja moram napraviti cijeli Ako blok? Ne znam. Ja samo mogu isprintati samo ako je x jednako veće od 3. Dakle, to je jedan od načina linija za to u Ruby. Popis u Ruby je nešto vrlo svestran. Dakle, ti stvarno ne treba da imaju samo jednu vrstu. Možete imati niz, a zatim neke brojeve, i što god. A ako želite dodati nešto na popisu, možete jednostavno koristiti ovaj zapis ovdje. A ako želite ponoviti. Prilično mnogo 4each u PHP-u, ovdje, imate popis i vi "List.each učiniti." A to "ELEM," to je kao i ime svakog elementa da ću imati u svom popisu. I onda sam jednostavno "stavlja ELEM." I "stavlja" prilično mnogo ručke stavljajući ga za tebe, to tiskanje. Nije važno ako to je niz ili int. To će se raditi da se za vas. Pravo? Cool. I baš kao što su PHP, Ruby i HTML Također integrirati jako, jako lijepo. I ovdje, ima nekih HTML kod Ruby u njemu. Dakle, imamo tijelo oznaku kao u HTML-u. A ako želimo provjeriti da korisnik, na primjer, prijavljeni, mi samo možemo reći, počevši od Ruby, ako user.logged_in ?, kraj Ruby. Ispis cijelu ovu stvar, koja ima neke Ruby u njemu, što je samo vrsta kao da je sintaksa za PHP da ispisuje varijablu. Idemo ispisati user.name. Dakle dobrodošli, Stjepana, unutar HTML div. I na kraju, imamo "kraj" i Ruby koda, što znači da je to moj Ako blok. OK? Dakle, to je baš kao i bešavne Integracija između Ruby i HTML. Tu su i puno resursa. No, prije nego što smo prešli na, ne bilo tko Za sva pitanja o Ruby, ništa? OK. Postoji mnogo resursa na internetu da tryruby.org, kod akademiju, ruby-lang.org, gdje ga možete isprobati na vašem pregledniku pred vama zapravo kažu, oh, u redu, ja ću koristiti Ruby za moj konačni projekt. I tako definitivno dati onima probati. Sve ove slike su će biti dostupan na internetu, tako da jednostavno možete ih preuzeti. I da? PUBLIKA: [nečujan] ono što ste upravo pokazali je HTML i kod ugrađen u što se ovaj pojam Model View Controller? GABRIEL Guimarães: Da. Mi ćemo to učiniti u sekundi kad smo pokazati naš primjer, u redu? Hvala na pitanju. Dakle, pitanje je u osnovi, ako smo može pokazati integraciju Ruby U HTML-u modelu Pogledaj Controller okvir. Tako je ideja o modelu View Controller okvir je da je u osnovi filozofije, baš kao i Stephen pokazali ovdje. I to nije nešto što morate učiniti, ali to je nešto što čini vaš život mnogo jednostavnijim. I Ruby on Rails je izgrađena oko ovog filozofiji koda. Tako ćemo pokazati Primjer vrlo brzo. Dakle šina je ljubav. Puno ljudi su ga koristi, kao što sam rekao. I to je stvarno zabavno. Vi dečki trebali definitivno dati ga probati. MVC čini sve jednostavnije. Tako Model View Controller, Separacijski stvari i stavljajući jednu osobu, po sebi, ili jedan dio vaše prijave učiniti svaki od različitih radnih mjesta da ste zahtjev mora učiniti. A manje vremena proveo o problemima niske razine. I vrlo popularan upravo sada. Imamo šina 4,0, što je nova verzija. I to dolazi s puno cool stvari. Još jedno pitanje. PUBLIKA: Još jedno pitanje. Ruby on Rails odnosu Ruby on Rails Grails. GABRIEL Guimarães: OK. Pitanje je, Ruby on Rails odnosu Ruby-- PUBLIKA: Grails. Ruby? GABRIEL Guimarães: Da. Dakle, Ruby je jezik. PUBLIKA: Ne Pitam te usporediti jezik i okvir, Ruby on Rails, s drugim popularnim jeziku framework-- Grails-- s Ruby on Rails. GABRIEL Guimarães: OK. Oprostite. Pitanje je, za usporedbu Ruby i Ruby on Rails na drugom okviru i another-- PUBLIKA: Ruby. To je u redu. Ako ne znate o tome, to je u redu. GABRIEL Guimarães: Kao, ono što ja razumijem je that-- PUBLIKA: Postoji još jedna okvir pod nazivom Grails. GABRIEL Guimarães: Oh, Grails. Nikad nisam čuo za njega. Oprostite. Nikad nisam čuo za Groovy na tračnice. Oprostite. PUBLIKA: To je puno bolje integriran s Java. GABRIEL Guimarães: vidim. PUBLIKA: Ja sam samo znatiželjan o nekim ljudima koje poznajem like-- GABRIEL Guimarães: Ne, nikada nisam čuo da je jedan, na žalost. Grails. PUBLIKA: A neki ljudi Očito poput Ruby on Rails. GABRIEL Guimarães: Nemam Polovni Ruby on Rails puno. Ja sam se neki Django s Python, kao što sam rekao. Ja sam se malo Laravel. Ali nisam imao koristi Groovy na tračnice. Oprostite. I to je vrlo popularan Sada sa šina 4,0. Kao, neke od stvari koje Tračnice radi za vas, primjerice, je li ima puno CSS datoteka i puno JavaScript datoteke. A možete ih tretirati kao odvojeno i sve. Ali onda kada automatically-- ste poslali kod za proizvodnju, automatski izrađuje ih sve u jednu datoteku koji je minified bez prostori, tako da se zauzima manje prostora u vašoj aplikaciji, tako da li zaista možete skalirati stvari puno. To je razlog zašto se takve velike tvrtke kao što su Twitter i GitHub koriste tračnice, jer je to sve da je za vas, što je stvarno cool. Jedna stvar koja je vrlo, Vrlo, vrlo zastrašujuće ljudi, uključujući i mene, koji pokušavaju raditi s okvirom na početku, da kada počnete zahtjev, ti ćeš vidjeti hrpu datoteka. Kao, kad ste stvorili Šine Novi, moj zahtjev, ti ćeš vidjeti sve te folders-- app, bin, config, db, lib, log, javnost. Kao, puno i puno stvari. A prvi put sam vidio da, bio sam poput, OK, nemam pojma što se događa. Ja samo želim stvoriti web stranice sa "Pozdrav, Svijet," i to me daje, kao što je, 100 milijardi različitih stranica. Ne znam što se događa. Dakle, nemojte biti previše daunted da. Ideja je da zapravo ima pola kuće tu za vas već. To je cijeli Okvir za vas već. To je razlog zašto postoji toliko mnogo datoteka. Ali lijepo je da to odvaja ih sve jako lijepo. Tečajevi se ne morate brinuti O većini tih mapa. Najvažniji, ja će reći, je app mapu, gdje je vaš app zapravo živi. Dakle config, ti ćeš moraju configurate neke stvari, kao što je vaša baza podataka i stvari kao što su koja vrsta baze podataka koju koristite. No, osim toga, kao i većina Vaš rad će biti učinjeno u app. Tako je u aplikaciji, imate sredstava, kontrolere, pomagači, okružnice, modeli, pogleda. Dakle ovdje, vi početi dobivati ​​koji kontroleri, modeli, i pogledi dolaze u igru. Okružnice samo ako vas želite poslati e-mail. Pomagači ako želite stvoriti neke funkcije da koristite puno u pogledu. Tako da ih stavite u pomagača. A imovina je u osnovi sve Vaše slike, sve vaše CSS, sve vaše JavaScript, i poput onih vrsta stvari koje se šalju klijentu. I sve to u imovini, da sam prije rekao, dobiva minified. To je sastavio. A ti stvarno ne morate brinuti o da kada se ide na proizvodnji kod. Cool. Sada Zack će doći, a on je učiniti primjer Twitter50. PUBLIKA: Woo-hoo! Zack CHAUVIN: Awesome. Tako sam imao priliku raditi s Ruby on Rails ovog ljeta. To je nevjerojatna okvir. Ja sam jako volio nju. A ja samo ću vam pokazati malo primjer onoga što bi to moglo izgledati. Skok preko Chrome. Dakle, ovo je primjer vrlo jednostavan Ruby on Rails application-- nešto ovako nešto da Ruby stvarno ističe that-- samo gdje tvoj modeli su vrlo dobro definirana. U ovom primjeru, vidjet ćete dva različita modela, koji su da smo korisnicima i imamo tweetove. Dakle, to je Twitter50, Harvard vlastiti Twitter. Kao što možete vidjeti, ja sam prijavljen kaozack. I ja sam u mogućnosti napraviti nove tweetove. Tako sam think-- "To je" - žao? PUBLIKA: [nečujan]. Zack CHAUVIN: Oh, OK. Trebate zaustavljanje poslužitelja. Izvrsno. Dakle, ovdje smo. Kao što možete vidjeti, mi imamo Twitter prijava ovdje. I to je super jednostavan za pokretanje poslužitelja. Samo ćemo napraviti ", ograde poslužitelj." Veliki. OK. Hvala za to. Dakle, sada smo trčanje. A mi ćemo reći: "Ovo je strašan seminar. " I da vidimo što se događa. Tako ćemo cvrkut o tome. Dolje na dnu, možete vidjeti Sada postoji više od tri tweetove. Dakle, imamo malo od numeriranje događa. I mi imamo taj tweet. I ja također mogu potražiti preko mojih tweets-- potraga za ovu i dva Oni koji imaju riječ "To" u njima pojaviti. Također možete izbrisati tweets by Klikom na malo Obriši gumb. I očito, ja samo mogu izbrisati nakon što je pripadalo meni. Već smo skoro Funkcionalnost Twitter. Kao, kad razmišljam o tome, Twitter stvarno ne čini sve što je puno. Ima korisnicima, ima tweetove. Ima nešto složenije funkcije. Ali kad stvarno doći do njega, to je prilično jednostavan Ruby on Rails aplikacija. I nešto kao što je ovaj, s dobro poznavanje Ruby on Rails, ti bi vjerojatno napraviti u sat ili dva. A da je doista u pitanju Natrag na Ruby mantre, što je Konvencija tijekom konfiguracije. Dakle, natrag u dan, ljudi, u bilo koje vrijeme oni su htjeli napraviti ovu web stranicu, će morati početi ispočetka. OK, želim napraviti web stranicu. Učinimo ovu datoteku i Ova datoteka i ova datoteka. S Ruby on Rails, Tu je ništa od toga. Kažeš, želim novu aplikaciju. I baš kao što je Gabe nam je pokazao, da stvara cijelu strukturu datoteka za nas. A mi samo promijeniti mali dijelovi koji trebamo. Mi jednostavno prilagoditi ono je jedinstveni oko naše aplikacije. Cool. Dakle, ide natrag u našu prezentaciju preview-- zanimljiva. Gdje mogu predstaviti? PUBLIKA: Cijeli zaslon. Top pravu. Zack CHAUVIN: Izvrsno. Cool. OK. Dakle, prije svega, modela. Stephen učinio strašan Posao ocrtava MVC. A sad ćemo se odnose kako vratiti na Ruby on Rails. Dakle modelu možete vrsta od smatramo baze podataka. Vi ste vidiš u CS50 Financije, a model trgovina Informacije o koliko dionica imate, ili sve transakcije koje ste napravili. Ovo je primjer linija kako će ići o izradi novog modela u šina. Zato želim korisnika. To će imati e-mail, koji je niz, i lozinku, koji Također je string. Dakle, to je kao those-- želim svaki red U mom stolu korisnika izgledati ovako. Stvarno strašan dio O šina je da to čini nepotrebnim napisati bilo SQL prilično mnogo. Kako mnogi od vas dečki voljeli pisanje SQL u PSET 7? Točno. SQL nije vrlo user-friendly. I Šine oduzme sve to daleko s tim stvarno lako naredbe. Tako na primjer, ako imamo Korisnik, Korisnik ima mnogo tweetove. I svaka od njih Tweets pripada korisniku. Dakle, ako pogledate ovdje, to je naš model za naše cvrkut. I sve što imamo za reći je taj jedan line-- sam tweet i ja pripadam korisniku. A s tom jednom linije i malo konfiguracije baze podataka, Šine postavlja taj odnos. Anytime, ja mogu samo reći, zack.tweets, kao što su, daj mi sve Zack tweets. Ne SQL. Super jednostavno. Opet, to je Konvencija preko Konfiguracija dolaze u igru. Možete vidjeti malo od primjera Ruby ovdje. Kao dao je rekao, pisanje Ruby je vrsta kao što je pisanje engleski. To je vrlo visokoj razini jezika, i to ga čini stvarno lako za nas reći stvari poput, želim pobrinite se da je ovaj tweet ima tijelo. Njegova prisutnost je istina. A ja želim da biste bili sigurni da je to cvrkut, baš kao normalan Twitter, ima max duljine 140. To je super-intuitivno, stvarno super jezik. Zatim se imamo pogled. Dakle, to uključuje HTML i CSS. I ovdje je primjer pogledom. Dakle, Ruby on Rails vrsta neprimjetno integrira obje Ruby i HTML da bi se stvorio ono što želimo na stranici. Dakle, ovo je primjer našeg izgleda. Tako možete vidjeti neke oznake koje Dečki su navikli, kao što su HTML, tijela, sve dobre stvari. I upravo ovdje, iako smo ugraditi neki Ruby govoreći, ako postoji poruka za prikaz, zatim prikazati poruku u DIV. Dakle, neću se previše na to. Međutim, to je općenito Stranica koja se iscrta on-- i bez obzira koju stranicu o, ovo dobiva donesena. Dakle, to je ono što dobiva uključeni uvijek. Cool. Drugi primjer view-- to onaj u kojemu je izabrao sve tweetove. A neke od ovih stvari može izgledati lijepo upoznati. Tako, na primjer, upravo ovdje, da smo petlje kroz svaki od tweets, a mi smo ih ispišete. Dakle, ovdje je mjesto gdje smo ispis tijelo. A ako cvrkut je user-- evo pravi primjer bez SQL je uključen. Samo pitam, je li to Cvrkut Korisnička trenutni korisnik? Zatim pokazati vezu da ga izbrisati. To je super jednostavna. Kontroler. Dakle, to je, opet, sučelje između modela i pogledom. To je onaj koji radi težak posao od interacting-- kao posrednik. On učitava podatke za vidjeti što ćemo vidjeti u sekundi. A kako bi se međusobno s modelom, to naziva modela metode, koje su ono vi ste poznati kao funkcija. Tako na primjer, to je naše tweet-a kontroler. To može izgledati malo zastrašujuće sada. Ali, to je zapravo super intuitivno Jednom kada počnete roniti u. Tako, na primjer, u našem indeksu, koji je gdje želimo prikazati sve tweetove. I tako ta crta osnovi Samo pita za sve tweets. A onda smo inicijalizirati i Nove tweet-- tako kao što je ako žele stvoriti Novi tweet na toj stranici. I pita što trenutni korisnik. A to je vrlo slično čine da ste vidjeli u PSET 7, gdje je samo vrsta govorim view-- to je vrsta, kao što su, prolazi varijable koje ste Trebat će nam u cilju prikaza. A tu je cijela hrpa različitih metoda da je ovaj tweet-a kontroler može nositi. Ali stvarno, Šine ne veliki posao vrste da ih podijeli u različite radnje koje vaš kontroler mogao učiniti. Ima li kakvih pitanja o bilo koji od MVC dijelova tračnica? Vrsta samo povjetarac strane. Dakle, vi možete provjeriti to na svoju vlastitu. Awesome. Mi ćemo nastaviti. Dakle, instaliranje rukohvata. Instaliranje Šine može biti, kao što je, jedan od više zastrašujuće dijelova od cijele šina Proces, na žalost. No, očito, sve nas su oko pomoći. I nakon što je tamo, dosta velike resurse, kao Gabe je spomenuto, za početak. Ovdje su linkovi koji trebat će vam kako preuzeti šina ga dobili instaliran na vašem računalu. Očito, to je dostupan za Windows i Mac i za CS50 aparata. Pitanja o svemu što smo rekli? PUBLIKA: Bio bih zainteresirani, actually-- tako da znam da preuzimanje Softver je najveća prepreka. Ako postoji dovoljno interesa da Preuzimanjem mini sjednicu ili nešto. Zack CHAUVIN: Mm-hm. Da. To bi moglo biti jako korisno. Ako netko stvarno Gung-Ho o koristeći to za svoj projekt ili u budućnosti, onda bih definitivno rado razgovarati s vama o tome. Mm-hm. PUBLIKA: Slična pitanja to što sam pitao prije. Za one od vas koji su učinili ostali okviri koje su još uvijek pokušava učiniti isto stvar, olakšati izgraditi web stranice ili funkcionalnost, mislim nikakvog smisla zašto bismo se na tračnice u odnosu na Zend ili neke druge okvire i jezika. Zack CHAUVIN: Ja ću samo Say My 0,02 $ za to. Volim Ruby on Rails. Ja sam imao priliku raditi u oba PHP i Ruby on Rails. Ja puno radije Ruby na Tračnice zbog Ruby. Definitivno, to je veliki dio toga. Kao, kad si odabiru svoj okvir, također izabrati svoj jezik. Ruby je super accessible-- mislim puno bolje nego jezikom PHP. No, to je vrsta osobnog ukusa. Kao što je dobro, još jedan razmatranje Zajednica iza okvira da radite s. Trenutno Ruby on Rails je stvarno vruće. Postoji tona podršku iza njega. Možete objaviti nešto na stog Overflow o problemu koji ste imajući u Ruby on Rails, i to je odgovorio. Opet, to je open source, što znači da neprestano se mijenja. Postoji tona ljudi koji su stvarno posvećeni kako bi na što to stvarno strašan okvir. Dakle, to je razlog zašto bih izaberite Ruby on Rails. GABRIEL Guimarães: Da. Ja bih rekao da je na ideju Iza većine okvirima ste će saznati da je Vrlo, vrlo slično, zar ne? Tako Model View Controller, Činjenica da je naša regulatora će izgledati nešto kao this-- svake funkcije je kao jedan od svojih stranica, i to vas preusmjerava, a pokreće varijable. To će biti ista stvar za svaki okvir koji ste vidjeli vani. I tu će biti uzor. A vi možete učiniti stvari kao što su, "pripada". Dakle, umjesto da radi na SQL verzije, ti samo, kao, ne, user.tweets, a vi dobiti sve. Svatko ima to. Osim u Ruby, vi user.tweets, i onda neki okviri u PHP, vi user.getalltweets Gdje mi je PHP nije problem. Kao, to je velika linija. To je ista stvar, ali to je velika linija. Dakle, to je jedan od glavnih razloga moje sklonosti više Ruby. To je samo ja točno Ista stvar je u drugim okvirima, to traje samo me dva puta sve dok linija koda. OK? Ima li još pitanja? Zack CHAUVIN: Nešto Spomenut ću quickly-- Gabeu Razgovarali malo o dragulja. I to je zapravo great-- Mislim, ovo je vrsta zajedničke svim okvirima, da je vrsta koncepta dragulj, koji je kao u mom malom primjer, Ja sam se prijaviti. Kao, možete se prijaviti, odjaviti. Kao, to je zapravo vrsta složenog procesa. To je obavljeno malo malo vas je u PSET 7. Ali ja još uvijek u potpunosti ne znaju provesti prijavu, Odjava. A to je zato što Ruby on Rails je tone od dragulja da radimo stvari kao što je to za vas. Opet, konvencija tijekom konfiguracije. Svatko će biti događaj Ovaj znak-u, potpisivanje-out faza. Pa zašto ne samo napraviti paket, pod nazivom Osmisliti u ovom slučaju, što je dragulj. Vi samo ga uključiti. A onda postoji neki pomoć online kako ga koristiti. I ne morate brinuti o nešto. Stavljanje slika na njih things-- dragulj za to. Kao, kad god pokušavamo napraviti ništa novo, postoji dragulj za to. A ti vrsta samo spojiti ove dragulje i izgraditi jako kompleksna Aplikacija je vrlo brzo. Cool. Ima li još pitanja? STEPHEN turbanom: Woo-hoo. Ne mislim da [nečujan]. GABRIEL Guimarães: OK. Hvala puno, dečki. STEPHEN turbanom: Buh-bye. Zack CHAUVIN: Buh-bye. STEPHEN turbanom: Woo-hoo. [PLJESAK] Yay.