>> [MUZYKA GRY]
>> STEPHEN turban: Więc jestem Stephen turban.
Powyżej na stronie tutaj, być może może trochę ludzi do nurkowania w.
Mamy Gabriel i Zacka.
Więc na krótką mapy drogowej na co to będzie wyglądać,
Mam zamiar robić niektóre bardzo wysokiego szczebla spojrzenie na to, co MVC jest.
Gabe?
>> GABRIEL GUIMARAES: Zamierzam mówić o Ruby i trochę
jak Rails prace i jak to możliwe pomóc w budowaniu aplikacji internetowych.
>> ZACK CHAUVIN: I mam zamiar pokazać konkretny przykład, jak
do korzystania z Rails do budowy super niesamowite app.
STEPHEN turban: Niesamowite.
Słodkie.
Dobrze.
Więc porozmawiajmy o MVC.
Więc przejdźmy do następnego slajdu, który Zrobię, naciskając ten przycisk.
I idziemy do next-- rozwoju, Lubię myśleć o pójściu do CVS,
ponieważ CVS jest przechowywanie i V ma również w środku.
>> A więc wyobraźmy sobie do sklepu.
I zróbmy ten sklep sprzedajemy tylko jedno.
Więc będziemy mieć to przechowywać tylko sprzedawać te czerwone kubki.
I wyobraźcie sobie, idziesz i idziesz do przodu sklepu i osoby.
A jego nazwisko jest Vince.
>> I Vince fale komentarzy na ciebie, mówi cześć.
I można zauważyć jedną rzecz Vince'a.
Tak więc, gdy myślimy o Vince, że myśleć o dwóch kluczowych przymiotników.
Vince jest piękny, ale on jest głupi.
OK.
Więc wiesz, nie z własnej winy, niestety, że jest piękna.
On jest nasz widok.
Tak więc nasz pierwszy członek obsady ma.
Miej to na uwadze.
>> Teraz, można zapytać Vince'a, idziesz, hej Vince.
Jestem klientem.
On mówi cześć.
Naprawdę chcę, jeden z czerwonych kubków.
A co Vince powiedzieć?
Czy ktoś ma jakiekolwiek pomysł, co mówi Vince?
Idę do zimnej rozmowy.
Co sądzisz Vince mówi?
>> PUBLICZNOŚCI: On mówi, że mogę ci pokazać gdzie to jest, ale nie mogę dać ci jedną.
>> STEPHEN turban: On mówi, że mogę ci pokazać gdzie to jest, ale nie mogę dać ci jedną.
Nawet gorzej.
Ktoś jeszcze inny pojęcia, co Vince może powiedzieć?
>> PUBLICZNOŚCI: On musi przejść kontrolę czy mają jakieś czerwone kubki.
STEPHEN turban: Vince nie nawet nie wie, że musi sprawdzić.
Coś jeszcze?
Tak jak powiedziałeś, musi sprawdzić, czy ma czerwone kubki.
Śmiało.
PUBLICZNOŚCI: Co znajduje się czerwony kubek?
STEPHEN turban: Co znajduje się czerwony kubek?
Co znajduje się czerwony kubek?
Vince jest zdezorientowany.
Więc Vince będzie rozmawiać nasz kolejny członek obsady, Carl.
A kiedy myślimy o Carl, mamy Muszę myśleć o dwie duże adjectives--
on jest sterowanie, ale on jest zdolny.
>> Więc Vince goes-- on idzie, co jest czerwony kubek?
Nie wiem, co czerwony kubek jest.
Odwraca się i prosi Carl.
Mówi, Carl, ktoś poprosił o czerwonym puchar.
Możesz to zrobić?
A co Carl powiedzieć?
Miejmy zrozumieć.
Czy ktokolwiek ma jakiekolwiek pomysł, co mówi Carl?
A ja po prostu powtórzyć go z powrotem do Ciebie.
Widziałem ruch ręki.
>> PUBLICZNOŚCI: Mówi kogoś jeszcze dostać czerwone kubki.
>> STEPHEN turban: Mówi ktoś inny, aby czerwona filiżankę.
Dokładnie.
I mamy pomysł które osoba ta może być?
To wskazówka.
To będzie zaczynać się od M. Mob?
>> PUBLICZNOŚCI: model.
>> STEPHEN turban: modelu, tak.
Jego nazwa nie jest model, niestety, bo to głupie imię.
Mamy Mitt.
A kiedy myślimy o Mitt-- nie, to nie jest obraz Zacka.
Musimy myśleć o dwóch Kluczowe przymiotniki o Mitt.
On jest w stanie, ale jest uległe.
Więc Mitt wie, co ma robić, ale tak naprawdę nie może nic zrobić.
Czy on naprawdę nie może zdecydować się na własną rękę.
>> Mamy więc Carl.
Carl krzyczy na Mitt.
I mówi, hej Mitt, musimy czerwone kubki.
Mitt idzie do czerwonego kubka depozycie.
Łapie kubek i daje go z powrotem.
Czy ktokolwiek ma jakiekolwiek pomysł, co się wtedy stanie?
Daje kielich.
Dotychczas Mitt wbiegł do jego czerwony Puchar repozytorium, wziąć go na zewnątrz,
sprawdzone go, powiedział: Wziąłem jeden czerwony kubek.
A on daje jej do Carla.
Czy masz jakiś pomysł?
Co sądzisz Carl robi?
>> PUBLICZNOŚCI: Carl daje go Vince.
>> STEPHEN turban: Carl daje go Vince.
Vince.
>> PUBLICZNOŚCI: I Vince pokazuje go [niesłyszalne].
STEPHEN turban: Dokładnie.
Więc to jest dokładnie to.
Więc Vince bierze kielich, nawet nie wiem co to jest,
ale to pokazuje użytkownikowi.
Więc spróbujmy odtworzyć to naprawdę krótko.
A my będziemy potrzebę trzy ciche wolontariuszy,
a wy nie będzie aby być w stanie mówić.
Więc mogłem złapać trzy?
OK.
A kim chcesz być?
>> PUBLICZNOŚCI: Będę Vince.
>> STEPHEN turban: Vince, OK.
Piękne, ale głupi.
Wielki.
Ktoś jeszcze?
Szukamy zdolny, ale uległe.
Ktoś jeszcze chce być w stanie?
>> PUBLICZNOŚCI: mogę być Carl.
STEPHEN turban: Słodki.
Mamy Carl.
>> PUBLICZNOŚCI: Mitt.
>> STEPHEN turban: Mitt, OK.
A my będziemy potrzebować A-- będę klienta.
Więc chodź, przyjdź na górę.
I każdy, w związku?
Więc mam zamiar zapytać Vince'a do stanąć z przodu, po prostu uśmiecha,
po prostu uśmiecha jasne jak to możliwe.
I mamy zamiar zapytać Carl, Dobrze, dlaczego nie, jak,
stanąć tuż za nią?
Mitt, dlaczego nie po prostu przejść się do tyłu,
i wtedy dam ci grupę kubki spędzać czas z.
>> Więc Jestem klientem.
Przyjdę.
I robię [niesłyszalne] I powiedzieć cześć, chciałbym filiżankę.
Doskonałe.
Więc Vince nie ma pojęcia.
Więc co Vince zrobić?
Vince-- OK, więc mam zamiar będzie opowiadał teraz.
>> Vince krzyczy na Carla, puchar!
Co Carl zrobić?
Carl krzyczy na Mitt.
Mitt chwyta kubek.
Mitt daje ją Carl.
Carl wraca do Vince'a.
Vince i przedstawia go użytkownikowi.
>> I to jest wysoki, wysoki, wysoko, tak wysoko spojrzenie na MVC.
Dzielimy go o opinię, co Użytkownik widzi, kontroler, ktoś
który robi wszystko w tle ale tak naprawdę nie może nic aktualizacji
lub nie może nic zrobić jakiegokolwiek znaczenia wyjątkiem wywołanie widoku i modelu.
A potem mamy Mitt, model, który aktualizuje wszelkie dane, które mamy.
Więc dziękuję bardzo za nasz piękny, kontroli i zdolne wolontariuszy.
I myślę, że to było to.
>> [APPLAUSE]
>> Myślę, że Gabe będzie teraz rozmawiać mam nadzieję, że mniej na wysokim poziomie.
>> GABRIEL GUIMARAES: OK, chłopaki.
Porozmawiajmy teraz trochę więcej o Kod oraz o Ruby on Rails sama,
oraz o tym, jak się odnosi, do wszystkich opowieści MVC.
Zasadniczo, Ruby on Rails jest ramy.
Więcej o tym za chwilę.
>> Ale tylko dać poczucie kto używa go,
jak wszystkie te wielkie companies-- tak GitHub, Groupon, Twitter--
wszystkie są z wykorzystaniem Ruby on Szyny jako główny ramach
do realizacji ich stronę internetową.
Tak więc jestem pewien, że wiele osób wykorzystali te strony tutaj.
I to wszystko Ruby on Rails do wdrożenia model, widok i kontroler
na wszystkie z tych stron internetowych i wiele innych.
OK?
>> Tak jak powiedziałem, Ruby on Rails jest ramy.
I można rodzaju myśleć ram w sensie jak budowanie domu.
Więc jeśli masz zamiar zbudować house-- i zawsze można
zacząć od początku, prawda?
Możesz spróbować wymyślić w taki sposób, aby widział drewna,
i przynieść drewna na miejscu, a dostać kamienie w prawej kształcie,
i to wszystko.
Ale to zajmie prawdopodobnie wiele lat
aż pojawi się cały materiał, i masz wszystko razem,
i zacząć zbudować swój dom.
>> Tak więc okazuje się, jeśli zaczynasz z Ramy z czymś, co jest
już rodzaj w miejscu dla każdego typu domu
że chcesz build-- coś to jest bardzo ogólne, ale że można
następnie modelować do własnych goals-- następnie można wykorzystać
ta moc z ram do budowy im coś dużo, dużo szybciej.
OK.
Więc to jest ten sam pomysł w ramy dla aplikacji internetowej
albo dla każdego typu Wniosek, o to chodzi.
>> Możesz zacząć się z pół aplikacji
już tam na miejscu dla Ciebie.
I przez to, to znaczy można uzyskać wiele Pliki, które mają już funkcji,
takich jak biblioteki, jak funkcjonalność, i poleceń, które można uruchomić w celu
aby twoje życie o wiele prostsze i łatwiejsze.
OK.
>> Więc w tym przypadku, będziemy mówić o Ruby on Rails.
Istnieje wiele różni zrębowe tam.
Jest Django dla Pythona.
Jest Zend Framework lub Laravel dla PHP.
Istnieje wiele różnych te.
Ruby on Rails jest całkiem ładny nowy.
Wiele osób korzysta, że ​​w firmach a tego rodzaju środowiska.
A niektóre z nich bardzo duży Firmy, które pokazałem tu wcześniej
są również za pomocą Ruby on Rails.
>> Więc po prostu dać poczucie tego, co jest Ruby
jak, ponieważ faceci są bardziej przyzwyczajeni do, jak, C i trochę PHP
teraz, więc Ruby będzie równowartość swojej PHP w tym sensie.
To nie jest Ruby.
Jest C. OK?
Ale to jest jak Funkcja DJBHash że
Znam wiele osób, używane za błędy ortograficzne pset.
>> I w Ruby, całkiem podobnie jak w PHP, ty
może wdrożyć to z tylko kilka linijek kodu.
Zamiast martwić się o funkcji skrótu,
martwiąc się o wiader, i to wszystko, można po prostu powiedzieć,
Słownik = Hash.net.
A następnie użyć trochę jak Ta sama idea, że ​​PHP miał.
A więc jest to true.
A potem, jeśli chcesz sprawdzić, więc funkcję sprawdzić
byłoby, gdyby słownik "foo" równa jest równa true return true.
I to wszystko, OK?
>> Więc można zauważyć kilka różnic.
Brak średniki tutaj, jak było w C.
Ale ogólnie pomysł jest bardzo podobny.
OK?
>> Również w Ruby, są perełki, które są rodzajem bibliotek Ruby.
I Rails obsługuje je w bardzo dobry sposób dla Ciebie.
Więc jeśli chcesz umieścić w niektórych biblioteki
robi e-maile, lub że czy wiadomości tekstowych,
lub że robi integrację z Facebook, lub wszelkiego rodzaju rzeczy
tak dla Twojej aplikacji, to jest bardzo, bardzo proste.
Kursy są można znaleźć coś tak jak w internecie.
A oni po prostu zrobić coś jak umieścić które
klejnot chcesz użyć w pliku gem.
A następnie instaluje wszystko szyn.
Nie musisz się martwić o jakiekolwiek o tym, więc to naprawdę fajne.
Ponadto, jest wiele, mnóstwo pomocy w Internecie.
Więc można znaleźć wiele rzeczy.
Jeśli masz błąd, można po prostu google,
i to będzie bardzo proste, aby uzyskać pomoc.
>> I to dużo fun-- exactly-- bo Ciebie
nie musisz się martwić o niskim poziomie szczegóły, wdrożenie tabel hash
i ma pochodzić z wszystkich nagłówki HTTP i wiele innych rzeczy,
a nawet kilka wyższych rzeczy poziomu.
Nie musisz się martwić o tym w Rails.
Robi to bardzo, bardzo ładnie dla Ciebie.
I mamy zamiar pokazać, że bardziej konkretnie bardzo szybko.
OK.
>> Więc trochę o Ruby ponownie.
Tak to jest jak C, jak powiedziałem.
Zamiast printf, mówimy, "Stawia", która jest "umieścić napis."
Stawia ciąg do konsoli.
I w tym przypadku, że jesteśmy po prostu drukuje "Hello World".
Nie potrzebujemy nawiasów, ale to dość dużo podobna.
>> A potem, jeśli chcesz zrobić coś tutaj,
jak wydrukować kilka "miał" oraz banda "bigs" w pętli While
to trochę tak jak w C, prawda?
Nie masz params, ale to bardzo podobnie.
Wcięcia tutaj liczy, więc x jest równa 1.
I kiedy x jest mniejsze niż 50-- to przypadku, jest inny.
Jest to bardzo podobne do tego, co zobaczył.
>> A potem x + = 1 jest po prostu zwiększany, trochę jak robienie ++, że można
zrobić w C. Ale to całkiem dużo tego, co widzieliśmy w C
Nie powinna być zbyt skomplikowane.
Ale to jest bardziej wydajny.
Tak więc istnieje kilka poleceń tutaj które są na pewno nieco nowsze.
>> Tak na przykład, "put".
Możesz użyć tego hashtag notacji żeby po prostu wydrukować something--
bardzo podobne do tego, co byś zrobił, % D lub C lub nieco% tak.
I rzeczywiście można umieścić Jeśli tuż po oświadczeniu.
Więc chcę tylko zrobić this-- Jeśli x jest większy niż 3.
Więc dlaczego mam Jeśli się tam całego bloku?
Nie wiem.
Mogę po prostu wydrukować to tylko jeśli x jest równe większa niż 3.
Jest to więc sposób jeden wiersz w ten sposób w Ruby.
>> Ruby jest lista coś bardzo wszechstronny.
Tak naprawdę nie potrzebujesz mieć tylko jeden typ.
Możesz mieć ciąg, a następnie niektóre cyfry i cokolwiek.
A jeśli chcesz dołączyć coś z listy,
możesz po prostu użyć tego notacji tutaj.
>> A jeśli chcesz do iteracji.
Dość dużo 4each w PHP, tu, mieć listę i robisz "List.each zrobić."
I to "elem", to jest jak nazwy każdego elementu
że będę mieć w mojej liście.
I wtedy można po prostu "stawia elem."
I "stawia" dość dużo uchwytów wprowadzenie go dla Ciebie, drukowanie.
To nie ma znaczenia, czy to ciąg lub int.
To zadziała, że ​​dla ciebie.
Prawda?
Cool.
>> I tak jak PHP, Ruby i HTML również zintegrować bardzo, bardzo ładnie.
I tu jest jakiś Kopiuj z Ruby w nim.
Mamy więc tag ciała jak w HTML.
A jeśli chcemy sprawdzić że użytkownik, na przykład,
zalogowany, możemy tylko powiedzieć, począwszy od Ruby, jeśli user.logged_in ?, koniec Ruby.
Wydrukuj całą tę rzecz, która ma jedne Ruby w to, co jest po prostu
coś w rodzaju tej składni PHP, który drukuje zmiennej.
Miejmy wydrukować user.name.
>> Więc zapraszamy, Stephen, wewnątrz z div HTML.
I na koniec, mamy "koniec" i Kod Ruby, co oznacza, jest to mój
Jeśli blok.
OK?
Tak to jest jak bez szwu Integracja pomiędzy Ruby i HTML.
Istnieje również wiele zasobów.
Ale zanim przejdziemy dalej, ktokolwiek Wszelkie pytania na temat Ruby, cokolwiek?
OK.
>> Istnieje wiele zasobów w Internecie do tryruby.org, Code Academy,
ruby-lang.org, gdzie można spróbować na przeglądarce, zanim rzeczywiście
powiedzieć, oh, OK, mam zamiar używać Ruby do mojego ostatniego projektu.
I tak, na pewno da ci spróbować.
Wszystkie te suportach będzie dostępna w Internecie,
więc możesz po prostu je pobrać.
A tak?
>> PUBLICZNOŚCI: [niesłyszalne] co właśnie pokazał
został kod HTML i osadzony w to do tego pojęcia modelu View
Kontroler?
>> GABRIEL GUIMARAES: Tak.
Zrobimy to w sekundę kiedy pokażemy naszym przykładem, OK?
Dziękuję za pytanie.
Więc pytanie, w zasadzie, jeśli można pokazać integrację Ruby
w HTML w modelu Zobacz ramy Controller.
>> Więc pomysł Modelu Ramy View Controller
Jest to w zasadzie filozofia, podobnie jak Stephen pokazał tutaj.
I to nie jest coś, że masz do zrobienia,
ale to jest coś, co sprawia, Twoje życie o wiele prostsze.
I Ruby on Rails jest zbudowany wokół tej filozofii kodu.
Tak więc mamy zamiar pokazać Przykładem bardzo szybko.
>> Więc Rails jest miłość.
Wiele osób korzysta z niej, jak powiedziałem.
I to jest naprawdę zabawne.
Powinniście Zdecydowanie spróbować.
MVC sprawia, że ​​wszystko prostsze.
Więc Model View Controller, rzeczy oddzielające
i wprowadzenie jednej osobie, per se, lub jedną część aplikacji
robić każdego z różnych miejsc pracy że Ty aplikacja ma robić.
I mniej czasu spędzonego w sprawie problemów niskiego poziomu.
I bardzo popularny teraz.
Mamy Rails 4.0, która jest nowa wersja.
I pochodzi z wielu fajnych rzeczy.
Kolejne pytanie.
>> PUBLICZNOŚCI: Kolejne pytanie.
Ruby on Rails w porównaniu Ruby on Rails Grails.
>> GABRIEL GUIMARAES: OK.
Pytanie było, Ruby w porównaniu Ruby-- on Rails
PUBLICZNOŚCI: Grails.
Ruby?
>> GABRIEL GUIMARAES: Tak.
Więc Ruby jest językiem.
>> PUBLICZNOŚCI: Nie
Proszę cię porównać język i ramy, Ruby on Rails,
z innym popularnym języku framework-- Grails-- z Ruby
on Rails.
>> GABRIEL GUIMARAES: OK.
Przepraszam.
Pytanie, porównaj Ruby i Ruby on Rails
do innej ramy i another--
>> PUBLICZNOŚCI: Ruby.
Jest OK.
Jeśli nie wiesz o tym, że jest w porządku.
>> GABRIEL GUIMARAES: Jak, co rozumiem jest that--
>> PUBLICZNOŚCI: Jest inny ramowe zwane Grails.
>> GABRIEL GUIMARAES: Och, Grails.
Nigdy nie słyszałem o tym.
Przepraszam.
Nigdy nie słyszałem o Groovy on Rails.
Przepraszam.
>> PUBLICZNOŚCI: Jest dużo lepiej zintegrowany z Java.
>> GABRIEL GUIMARAES: widzę.
>> PUBLICZNOŚCI: Jestem po prostu ciekawy o niektórych ludzi, których znam like--
>> GABRIEL GUIMARAES: Nie, nigdy słyszałem o tym jednym, niestety.
Grails.
>> PUBLICZNOŚCI: A niektórzy ludzie oczywiście jak Ruby on Rails.
>> GABRIEL GUIMARAES: mam Używane Ruby on Rails dużo.
Użyłem niektórych Django w Pythonie, jak powiedziałem.
Użyłem trochę Laravel.
Ale ja nie używał Groovy on Rails.
Przepraszam.
I to jest bardzo popularne teraz z Rails 4.0.
Podobnie jak niektóre z rzeczy, które Rails robi dla Ciebie, na przykład, to ty
mają wiele plików CSS i wiele plików JavaScript.
I można traktować je jako osobna i wszystko.
>> Ale to automatically-- kiedy wysłanie kodu do produkcji,
automatycznie kompiluje je wszystkie w jednym pliku
który jest bez minified przestrzenie, tak, że zajmuje się
mniej miejsca w aplikacji, więc że naprawdę można skalować rzeczy wiele.
Dlatego takie duże firmy jak Twitter i GitHub
korzystasz z Rails, ponieważ nie wszystkie że dla ciebie, co jest naprawdę fajne.
>> Jedna rzecz, która jest bardzo, bardzo, bardzo trudne
osób, w tym ja, którzy starają się pracować
z ram na początku, jest że po uruchomieniu się aplikacji,
masz zamiar zobaczyć kilka plików.
Podobnie jak podczas tworzenia Szyny Nowy, mój wniosek,
masz zamiar zobaczyć wszystkie te folders-- aplikacja, bin, config, db, lib,
log, do publicznej wiadomości.
Podobnie jak, wiele, wiele rzeczy.
>> I pierwszy raz zobaczył, że ja na to:
OK, nie mam pojęcia, co się dzieje.
Chcę tylko, aby utworzyć strona z "Witaj, świecie"
i to daje mi, jak, 100000000000 różnych stron.
Nie wiem, co się dzieje.
Więc proszę nie być zbyt obawiają się, że.
>> Chodzi o to, że rzeczywiście posiada połowę dom dla ciebie już.
To ma cały Ramy dla Ciebie już.
Dlatego jest tak wiele plików.
Ale dobrą rzeczą jest to, że to oddziela wszystkie z nich bardzo ładnie.
Kursy są, nie musisz się martwić o większości z tych folderów.
>> Najważniejsze, że powiedziałbym, jest folder aplikacji,
gdzie faktycznie mieszka aplikacja.
Więc config, będziesz trzeba konfigurować niektóre rzeczy,
jak bazy danych i rzeczy, jak jaki rodzaj bazy danych, którego używasz.
Ale poza tym, jak większość Twoja praca będzie odbywać się w aplikacji.
Tak więc w aplikacji, musisz aktywa, kontrolerów, pomocników, koperty, modele, widoki.
Więc tutaj, zaczniesz widzieć, że kontrolery, modele i widoki pochodzić
w grę.
>> Koperty są tylko, jeśli Ciebie Aby wysyłać e-maile.
Pomocnicy jeśli chcesz tworzenie niektóre funkcje
że dużo używać w widoku.
Więc je w pomocników.
I to w zasadzie wszystkie aktywa z Twoje obrazy, wszystkie swoje CSS,
wszystko twój JavaScript, i jak te rodzaje
rzeczy, które są wysłane do klienta.
A wszystko to w aktywach, że powiedziałem wcześniej, zostanie minified.
To skompilowany.
I naprawdę nie trzeba się martwić o że kiedy przechodzi się do kodu produkcyjnego.
Cool.
>> Teraz Zack przyjdzie się, a on zrobi przykład Twitter50.
>> PUBLICZNOŚCI: Woo-hoo!
>> ZACK CHAUVIN: Niesamowite.
Miałem więc okazję pracować z Ruby on Rails tego lata.
To niesamowite ramy.
Jestem bardzo częściowy do niego.
A ja po prostu pokazać trochę Przykładem co to może wyglądać.
Przeskoczyć do Chrome.
Więc to jest przykładem bardzo prosta Ruby on Rails application-- coś
jak to jest coś że Ruby naprawdę wyróżnia
that-- tylko gdzie swoje modele są bardzo dobrze określone.
>> W tym przykładzie, zobaczysz dwa różne modele, które
to, że mamy użytkowników i mamy tweety.
Więc to jest Twitter50, Harvardu własne Twitter.
Jak widać, jestem zalogowany jakozack.
I jestem w stanie tworzyć nowe tweety.
Więc think-- "To" - Przepraszam?
PUBLICZNOŚCI: [niesłyszalne].
ZACK CHAUVIN: Och, OK.
Trzeba zatrzymać serwer.
Doskonałe.
Więc jesteśmy.
Jak widać, mamy Twitter aplikacji tutaj.
I to jest bardzo proste, aby uruchomić serwer.
Będziemy po prostu zrobić "serwer szyn."
Wielki.
OK.
Dzięki za to.
Więc teraz pracujesz.
>> I powiemy: "To Seminarium jest niesamowite. "
I zobaczmy, co się stanie.
Będziemy więc ćwierkać o tym.
Na dole można zobaczyć teraz jest więcej niż trzy tweety.
Mamy więc trochę od paginacji dzieje.
I mamy ten tweet.
I mogę również przeszukiwać moje tweets-- poszukiwanie tego i dwóch
Te, które mają słowo "To" się w nich pokazać.
Możemy również usunąć tweets przez klikając na mały przycisk Usuń.
I oczywiście, mogę tylko usunąć post, który należał do mnie.
>> Już teraz ma prawie Funkcjonalność Twitter.
Jak, kiedy myślisz o tym, Twitter naprawdę nie robi aż tak dużo.
Posiada użytkowników, ma tweety.
Jest trochę bardziej skomplikowane funkcje.
Ale kiedy naprawdę się do niego, to całkiem proste, Ruby on Rails aplikacji.
I coś w tym z dobra znajomość Ruby on Rails,
można chyba dokonać w godzinę lub dwie.
>> I to naprawdę jest z powrotem do mantry Ruby,
co jest konwencja nad konfiguracją.
Więc z powrotem w dzień, ludzie, w każdej chwili chcieli, aby z tej strony internetowej,
będzie musiał zaczynać od zera.
OK, chcę zrobić stronę internetową.
Zróbmy ten plik i ten plik i ten plik.
>> Z Ruby on Rails, nie ma nic z tego.
Mówisz, chcę nową aplikację.
I tak jak Gabe pokazał nam, że tworzy całą strukturę pliku dla nas.
A my po prostu zmienić małe części, które trzeba.
My po prostu dostosować co Wyjątkowość naszej aplikacji.
Cool.
Więc wracając do naszej prezentacji preview-- interesujące.
Gdzie mogę przedstawić?
PUBLICZNOŚCI: Pełny ekran.
W prawym górnym rogu.
>> ZACK CHAUVIN: Doskonały.
Cool.
OK.
Więc przede wszystkim model.
Stephen zrobił niesamowite Zadaniem przedstawiając MVC.
A teraz będziemy odnosić że powrót do Ruby on Rails.
Więc modelu można rodzaju z myślą o jak bazy danych.
Byłaś widząc to w CS50 Finanse, gdzie model sklepy
informacje o ile masz zasobów,
lub wszystkie transakcje, które wykonane.
Jest przykładem linia, jak będzie
przejść na temat tworzenia nowego modelu w Rails.
Więc chcę użytkownika.
To będzie mieć e-mail, który jest ciągiem znaków,
i hasło, które jest również ciąg.
Tak to jest jak those-- chcę każdy rząd w moim stole użytkowników tak wyglądać.
>> Naprawdę niesamowite części o to chodzi Rails
czyni zbędnym Napisać dowolny SQL dość dużo.
Jak wielu z was kochał pisania kodu SQL w pset 7?
Dokładnie.
SQL nie jest bardzo łatwy w obsłudze.
I Rails abstrahuje wszystko się z tych bardzo prostych komend.
Tak na przykład, jeśli mamy Użytkownik, użytkownik ma wiele tweets.
I każdy z tych tweety należy do użytkownika.
>> Więc jeśli spojrzeć tutaj, to jest nasz model naszej tweet.
I wszystko, co mamy do powiedzenia to ten pojedynczy line-- jestem tweet
i należą do użytkownika.
I z tej jednej linii i A Trochę konfiguracji bazy danych,
Szyny ustawia się ten związek.
W każdej chwili, mogę tylko powiedzieć, zack.tweets, jak, daj mi wszystkie tweety Zack.
Nie SQL.
Super łatwy.
Ponownie, jest to konwencja ponad Konfiguracja wejściem w grę.
>> Możesz zobaczyć trochę przykładu Ruby tutaj.
Podobnie jak Gave powiedział, pisanie Ruby jest coś jak pisanie po angielsku.
To bardzo język wysokiego poziomu, a to sprawia, że ​​naprawdę łatwo
dla nas, aby mówić takich rzeczy, chcę upewnij się, że ten tweet ma ciało.
Jego obecność jest prawdą.
I chcę, aby upewnić się, że ćwierkać, tak jak normalny Twitter,
ma maksymalną długość 140.
To bardzo intuicyjne, naprawdę świetny język.
>> Następna w kolejce mamy widok.
Więc ta obejmuje HTML i CSS.
A oto przykład widoku.
Więc Ruby on Rails rodzaj płynnie integruje zarówno Ruby i HTML
w celu utworzenia co chcemy na stronie.
Więc jest przykładem naszego układu.
Tak więc widać, że niektóre znaczniki faceci są wykorzystywane do, jak HTML, ciało,
wszystko, co dobre rzeczy.
>> I właśnie tutaj, chociaż, my włączenia niektórych Ruby mówiąc,
jeśli nie ma wiadomości, aby wyświetlić, następnie wyświetlić wiadomość w div.
Więc nie będę się zbytnio do tego.
Ale to jest na ogół Strona, która zostanie wygenerowana on--
i bez względu na to, co strona jesteś na, ten zostanie wygenerowana.
Więc to jest to, co zostanie uwzględnione zawsze.
Cool.
>> Innym przykładem jest view-- jeden, gdzie wybrał wszystkie tweety.
A niektóre z tych rzeczy może wyglądać całkiem znajomo.
Tak na przykład, tu jesteśmy pętle przez każdy z tweets,
a my ich drukowania.
Więc o to, gdzie jesteśmy drukując ciało.
A jeśli user-- tweet jest tutaj prawdziwym przykładem bez SQL jest zaangażowany.
Po prostu pytam, czy to Tweet jest użytkownik bieżący użytkownik?
Następnie pokazać link, aby go usunąć.
To bardzo proste.
>> Sterownik.
Tak jest, ponownie, interfejs pomiędzy modelem a widokiem.
To ten, który wykonuje pracę z interacting-- bycia pośrednikiem.
Ładuje informacje dla zobaczyć, co zobaczymy w sek.
Oraz w celu interakcji z modelem, to
wzywa modelowych metod, które są co Ci ludzie znają jako funkcje.
>> Tak na przykład, jest to Kontroler naszego Tweet za.
To może wyglądać trochę trudne teraz.
Ale to jest rzeczywiście bardzo intuicyjne gdy zaczniesz nurkowanie w.
Tak na przykład w indeksie, to gdzie chcemy pokazać wszystkie tweety.
I tak linia ta w zasadzie po prostu prosi o wszystkich tweetów.
A potem zainicjować zarówno nowe tweet-- tak jak
jeśli chcesz stworzyć Nowy tweet na tej stronie.
>> I pyta, co bieżący użytkownik jest.
I to jest bardzo zbliżona do czynią to widzieliśmy w pset 7,
gdzie jest to tylko rodzaj mówi view-- to trochę, jak,
przechodząc zmienne, że jesteś będzie potrzebował w celu widoku.
I jest cała masa z różnych metod
że kontroler ten tweet może obsłużyć.
>> Ale tak naprawdę, Rails robi świetna robota z rodzaju
dzielenia ich na różne działania, które może zrobić kontroler.
Czy są jakieś pytania na temat którejkolwiek z części MVC w Rails?
Niby tylko wiatr przez.
Więc chłopaki mogą sprawdzić to na własną rękę.
Niesamowite.
Będziemy dalej.
>> Więc instalacji Rails.
Instalacja Szyny mogą być, jak, jeden z bardziej beznadziejnych częściach
całych Rails Proces, niestety.
Ale oczywiście, wszystkie nam to około pomóc.
I po to jest tam, Wiele wielkich zasobów,
jak wspomniano Gabe, na rozpoczęcie pracy.
Poniżej znajdują się linki, które trzeba, aby
ściągnąć Rails, aby ją zainstalowane na komputerze.
Oczywiście, jest to dostępne dla systemów Windows i Mac
oraz urządzenia CS50.
Pytania o coś mówiliśmy?
>> PUBLICZNOŚCI: Byłbym zainteresowany, actually--
tak, wiem, że pobieranie Oprogramowanie jest największą barierą.
Jeśli nie wystarczy mieć interes pobieranie mini sesji lub coś.
ZACK CHAUVIN: Mm-hm.
Tak.
To może być bardzo pomocna.
Jeśli ktoś naprawdę Gung-ho o za pomocą tego dla swojego projektu
lub w przyszłości, to bym na pewno być szczęśliwy z tobą porozmawiać o tym.
Mm-hm.
>> PUBLICZNOŚCI: Powiązane pytanie na co ja zapytałem wcześniej.
Dla tych z Was, którzy zrobili innych organizacji, które są nadal
próbuje zrobić to samo rzeczą, łatwiej
zbudować stronę internetową lub Funkcjonalność, myślę, że jakiś sens
dlaczego mielibyśmy być on Rails w porównaniu Zend lub niektórych innych ram
i języków.
>> ZACK CHAUVIN: Będę po prostu powiedzieć, moje 0,02 dolarów na ten temat.
Kocham Ruby on Rails.
Miałem okazję pracować zarówno w PHP i Ruby on Rails.
Wolę Ruby on Szyny powodu Ruby.
Zdecydowanie, to duża część.
Jak, kiedy jesteś Wybierając się z ramy,
można również wybrać język.
>> Ruby jest bardzo accessible-- myślę znacznie lepiej niż język PHP.
Ale to rodzaj osobistych preferencji.
Jak dobrze, inną kwestią jest Za ramach społeczności
że pracujesz z.
>> Teraz Ruby on Rails jest naprawdę gorąco.
Jest mnóstwo wsparcia za nim.
Możesz pisać coś na stos Przepełnienie o problemie jesteś
mając w Ruby on Rails, i to odpowiedział.
Ponownie, jest to open source, co oznacza, że jest on stale zmieniane.
Jest mnóstwo ludzi które są naprawdę dedykowane
żeby dokonać tej naprawdę niesamowite ramy.
Więc dlatego chciałbym wybierz Ruby on Rails.
GABRIEL GUIMARAES: Tak.
Chciałbym powiedzieć, że pomysł za większością ram jesteś
będzie znaleźć tam jest bardzo, bardzo podobne, prawda?
Więc Model View Controller, Fakt, że nasz kontrolera
będzie wyglądać jak coś jak this-- każdej z funkcji
jest jak jeden z Twoich stron, i przekierowuje,
i inicjuje zmienne.
To będzie to samo dla Ramy, które codziennie widzisz tam.
I nie będzie to model.
I można zrobić takie rzeczy, "należy do".
Więc zamiast robić wersję SQL, po prostu, jak, zrobić, user.tweets,
i masz wszystko.
Każdy ma to.
Z wyjątkiem Ruby, robisz user.tweets, a następnie niektóre ramy w PHP,
zrobić user.getalltweets GDZIE mój PHP nie jest problemem.
Jak, to wielka linia.
To samo, ale jest duża linia.
>> Więc to jest jeden z głównych powodów, z moich preferencji ponad Ruby.
Po prostu robię dokładnie to, samo na innych forach,
to po prostu ma mnie dwa razy jak długie linie kodu.
OK?
>> Jeszcze jakieś pytania?
>> ZACK CHAUVIN: Coś Wspomnę quickly-- Gabe'a
Rozmawialiśmy trochę o klejnotów.
I to jest naprawdę great-- mam na myśli, to jest rodzaj wspólny dla wszystkich opraw,
że istnieje rodzaj koncepcji gem, które jest jak w moim małym przykład
Mam zalogować.
Jak można się zalogować, wylogować się.
Jak, że rzeczywiście rodzaj złożonym.
To było traktowane trochę nieco na Ciebie w pset 7.
Ale nadal nie wiem, jak w pełni wdrożyć Zarejestruj sie i wylogowania.
A to dlatego, Ruby on Rails ma mnóstwo
kamieni, które wykonują takie rzeczy dla Ciebie.
>> Ponownie konwencji nad konfiguracją.
Wszyscy będą robić tego logowania, krok zaloguj się.
Więc dlaczego nie zrobić pakiet, zwany Opracować w tym przypadku, który jest klejnotem.
Wystarczy umieścić go.
A potem jest jakaś pomoc on-line w jaki sposób z niego korzystać.
I nie musisz się martwić o coś takiego.
>> Mocowanie na te zdjęcia things-- gem za to.
Jak, kiedy tylko próbujemy zrobić nic nowego, jest klejnotem na to.
A ty niby właśnie poskładać te kamienie
i zbudować naprawdę skomplikowane Aplikacja bardzo szybko.
Cool.
Jeszcze jakieś pytania?
>> STEPHEN turban: Woo-hoo.
Nie sądzę [niesłyszalne].
>> GABRIEL GUIMARAES: OK.
Dzięki tak dużo, chłopaki.
>> STEPHEN turban: Bug-bye.
ZACK CHAUVIN: Bug-bye.
>> STEPHEN turban: Woo-hoo.
[APPLAUSE]
>> Yay.