1 00:00:00,000 --> 00:00:03,968 >> [MUZYKA GRY] 2 00:00:03,968 --> 00:00:10,744 3 00:00:10,744 --> 00:00:14,040 >> STEPHEN turban: Więc jestem Stephen turban. 4 00:00:14,040 --> 00:00:16,990 Powyżej na stronie tutaj, być może może trochę ludzi do nurkowania w. 5 00:00:16,990 --> 00:00:20,150 6 00:00:20,150 --> 00:00:23,854 Mamy Gabriel i Zacka. 7 00:00:23,854 --> 00:00:26,270 Więc na krótką mapy drogowej na co to będzie wyglądać, 8 00:00:26,270 --> 00:00:31,580 Mam zamiar robić niektóre bardzo wysokiego szczebla spojrzenie na to, co MVC jest. 9 00:00:31,580 --> 00:00:32,285 Gabe? 10 00:00:32,285 --> 00:00:35,080 >> GABRIEL GUIMARAES: Zamierzam mówić o Ruby i trochę 11 00:00:35,080 --> 00:00:39,100 jak Rails prace i jak to możliwe pomóc w budowaniu aplikacji internetowych. 12 00:00:39,100 --> 00:00:42,070 >> ZACK CHAUVIN: I mam zamiar pokazać konkretny przykład, jak 13 00:00:42,070 --> 00:00:45,112 do korzystania z Rails do budowy super niesamowite app. 14 00:00:45,112 --> 00:00:46,112 STEPHEN turban: Niesamowite. 15 00:00:46,112 --> 00:00:46,350 Słodkie. 16 00:00:46,350 --> 00:00:46,850 Dobrze. 17 00:00:46,850 --> 00:00:49,510 Więc porozmawiajmy o MVC. 18 00:00:49,510 --> 00:00:54,970 Więc przejdźmy do następnego slajdu, który Zrobię, naciskając ten przycisk. 19 00:00:54,970 --> 00:01:12,640 I idziemy do next-- rozwoju, Lubię myśleć o pójściu do CVS, 20 00:01:12,640 --> 00:01:17,240 ponieważ CVS jest przechowywanie i V ma również w środku. 21 00:01:17,240 --> 00:01:21,460 >> A więc wyobraźmy sobie do sklepu. 22 00:01:21,460 --> 00:01:25,380 I zróbmy ten sklep sprzedajemy tylko jedno. 23 00:01:25,380 --> 00:01:31,380 Więc będziemy mieć to przechowywać tylko sprzedawać te czerwone kubki. 24 00:01:31,380 --> 00:01:40,410 I wyobraźcie sobie, idziesz i idziesz do przodu sklepu i osoby. 25 00:01:40,410 --> 00:01:43,440 A jego nazwisko jest Vince. 26 00:01:43,440 --> 00:01:48,370 >> I Vince fale komentarzy na ciebie, mówi cześć. 27 00:01:48,370 --> 00:01:50,860 I można zauważyć jedną rzecz Vince'a. 28 00:01:50,860 --> 00:01:56,880 Tak więc, gdy myślimy o Vince, że myśleć o dwóch kluczowych przymiotników. 29 00:01:56,880 --> 00:02:00,600 Vince jest piękny, ale on jest głupi. 30 00:02:00,600 --> 00:02:01,320 OK. 31 00:02:01,320 --> 00:02:06,810 Więc wiesz, nie z własnej winy, niestety, że jest piękna. 32 00:02:06,810 --> 00:02:08,009 On jest nasz widok. 33 00:02:08,009 --> 00:02:10,539 Tak więc nasz pierwszy członek obsady ma. 34 00:02:10,539 --> 00:02:12,340 Miej to na uwadze. 35 00:02:12,340 --> 00:02:17,230 >> Teraz, można zapytać Vince'a, idziesz, hej Vince. 36 00:02:17,230 --> 00:02:18,110 Jestem klientem. 37 00:02:18,110 --> 00:02:19,130 On mówi cześć. 38 00:02:19,130 --> 00:02:23,610 Naprawdę chcę, jeden z czerwonych kubków. 39 00:02:23,610 --> 00:02:24,760 A co Vince powiedzieć? 40 00:02:24,760 --> 00:02:26,510 Czy ktoś ma jakiekolwiek pomysł, co mówi Vince? 41 00:02:26,510 --> 00:02:30,340 42 00:02:30,340 --> 00:02:31,452 Idę do zimnej rozmowy. 43 00:02:31,452 --> 00:02:32,660 Co sądzisz Vince mówi? 44 00:02:32,660 --> 00:02:36,139 >> PUBLICZNOŚCI: On mówi, że mogę ci pokazać gdzie to jest, ale nie mogę dać ci jedną. 45 00:02:36,139 --> 00:02:41,330 >> STEPHEN turban: On mówi, że mogę ci pokazać gdzie to jest, ale nie mogę dać ci jedną. 46 00:02:41,330 --> 00:02:42,295 Nawet gorzej. 47 00:02:42,295 --> 00:02:44,420 Ktoś jeszcze inny pojęcia, co Vince może powiedzieć? 48 00:02:44,420 --> 00:02:46,957 >> PUBLICZNOŚCI: On musi przejść kontrolę czy mają jakieś czerwone kubki. 49 00:02:46,957 --> 00:02:49,290 STEPHEN turban: Vince nie nawet nie wie, że musi sprawdzić. 50 00:02:49,290 --> 00:02:50,070 Coś jeszcze? 51 00:02:50,070 --> 00:02:52,360 Tak jak powiedziałeś, musi sprawdzić, czy ma czerwone kubki. 52 00:02:52,360 --> 00:02:52,895 Śmiało. 53 00:02:52,895 --> 00:02:54,020 PUBLICZNOŚCI: Co znajduje się czerwony kubek? 54 00:02:54,020 --> 00:02:56,072 STEPHEN turban: Co znajduje się czerwony kubek? 55 00:02:56,072 --> 00:02:58,090 Co znajduje się czerwony kubek? 56 00:02:58,090 --> 00:02:59,410 Vince jest zdezorientowany. 57 00:02:59,410 --> 00:03:05,141 Więc Vince będzie rozmawiać nasz kolejny członek obsady, Carl. 58 00:03:05,141 --> 00:03:10,252 A kiedy myślimy o Carl, mamy Muszę myśleć o dwie duże adjectives-- 59 00:03:10,252 --> 00:03:15,110 on jest sterowanie, ale on jest zdolny. 60 00:03:15,110 --> 00:03:17,840 >> Więc Vince goes-- on idzie, co jest czerwony kubek? 61 00:03:17,840 --> 00:03:19,800 Nie wiem, co czerwony kubek jest. 62 00:03:19,800 --> 00:03:23,080 Odwraca się i prosi Carl. 63 00:03:23,080 --> 00:03:28,890 Mówi, Carl, ktoś poprosił o czerwonym puchar. 64 00:03:28,890 --> 00:03:30,722 Możesz to zrobić? 65 00:03:30,722 --> 00:03:31,680 A co Carl powiedzieć? 66 00:03:31,680 --> 00:03:32,513 Miejmy zrozumieć. 67 00:03:32,513 --> 00:03:34,330 Czy ktokolwiek ma jakiekolwiek pomysł, co mówi Carl? 68 00:03:34,330 --> 00:03:37,260 A ja po prostu powtórzyć go z powrotem do Ciebie. 69 00:03:37,260 --> 00:03:39,280 Widziałem ruch ręki. 70 00:03:39,280 --> 00:03:41,760 >> PUBLICZNOŚCI: Mówi kogoś jeszcze dostać czerwone kubki. 71 00:03:41,760 --> 00:03:44,430 >> STEPHEN turban: Mówi ktoś inny, aby czerwona filiżankę. 72 00:03:44,430 --> 00:03:46,270 Dokładnie. 73 00:03:46,270 --> 00:03:49,010 I mamy pomysł które osoba ta może być? 74 00:03:49,010 --> 00:03:52,590 75 00:03:52,590 --> 00:03:53,090 To wskazówka. 76 00:03:53,090 --> 00:03:56,960 To będzie zaczynać się od M. Mob? 77 00:03:56,960 --> 00:04:00,225 >> PUBLICZNOŚCI: model. 78 00:04:00,225 --> 00:04:02,720 >> STEPHEN turban: modelu, tak. 79 00:04:02,720 --> 00:04:06,920 Jego nazwa nie jest model, niestety, bo to głupie imię. 80 00:04:06,920 --> 00:04:09,310 Mamy Mitt. 81 00:04:09,310 --> 00:04:12,970 A kiedy myślimy o Mitt-- nie, to nie jest obraz Zacka. 82 00:04:12,970 --> 00:04:15,590 83 00:04:15,590 --> 00:04:21,759 Musimy myśleć o dwóch Kluczowe przymiotniki o Mitt. 84 00:04:21,759 --> 00:04:25,040 On jest w stanie, ale jest uległe. 85 00:04:25,040 --> 00:04:29,950 Więc Mitt wie, co ma robić, ale tak naprawdę nie może nic zrobić. 86 00:04:29,950 --> 00:04:32,340 Czy on naprawdę nie może zdecydować się na własną rękę. 87 00:04:32,340 --> 00:04:33,256 >> Mamy więc Carl. 88 00:04:33,256 --> 00:04:34,705 Carl krzyczy na Mitt. 89 00:04:34,705 --> 00:04:39,990 I mówi, hej Mitt, musimy czerwone kubki. 90 00:04:39,990 --> 00:04:46,410 Mitt idzie do czerwonego kubka depozycie. 91 00:04:46,410 --> 00:04:48,960 Łapie kubek i daje go z powrotem. 92 00:04:48,960 --> 00:04:51,360 Czy ktokolwiek ma jakiekolwiek pomysł, co się wtedy stanie? 93 00:04:51,360 --> 00:04:54,070 94 00:04:54,070 --> 00:04:55,120 Daje kielich. 95 00:04:55,120 --> 00:05:01,740 Dotychczas Mitt wbiegł do jego czerwony Puchar repozytorium, wziąć go na zewnątrz, 96 00:05:01,740 --> 00:05:03,550 sprawdzone go, powiedział: Wziąłem jeden czerwony kubek. 97 00:05:03,550 --> 00:05:06,717 A on daje jej do Carla. 98 00:05:06,717 --> 00:05:07,550 Czy masz jakiś pomysł? 99 00:05:07,550 --> 00:05:08,980 Co sądzisz Carl robi? 100 00:05:08,980 --> 00:05:10,926 >> PUBLICZNOŚCI: Carl daje go Vince. 101 00:05:10,926 --> 00:05:13,550 >> STEPHEN turban: Carl daje go Vince. 102 00:05:13,550 --> 00:05:14,165 Vince. 103 00:05:14,165 --> 00:05:15,999 >> PUBLICZNOŚCI: I Vince pokazuje go [niesłyszalne]. 104 00:05:15,999 --> 00:05:16,998 STEPHEN turban: Dokładnie. 105 00:05:16,998 --> 00:05:18,080 Więc to jest dokładnie to. 106 00:05:18,080 --> 00:05:21,040 Więc Vince bierze kielich, nawet nie wiem co to jest, 107 00:05:21,040 --> 00:05:23,840 ale to pokazuje użytkownikowi. 108 00:05:23,840 --> 00:05:27,140 Więc spróbujmy odtworzyć to naprawdę krótko. 109 00:05:27,140 --> 00:05:31,380 A my będziemy potrzebę trzy ciche wolontariuszy, 110 00:05:31,380 --> 00:05:35,260 a wy nie będzie aby być w stanie mówić. 111 00:05:35,260 --> 00:05:36,470 Więc mogłem złapać trzy? 112 00:05:36,470 --> 00:05:37,040 OK. 113 00:05:37,040 --> 00:05:38,248 A kim chcesz być? 114 00:05:38,248 --> 00:05:42,310 115 00:05:42,310 --> 00:05:43,750 >> PUBLICZNOŚCI: Będę Vince. 116 00:05:43,750 --> 00:05:44,960 >> STEPHEN turban: Vince, OK. 117 00:05:44,960 --> 00:05:46,190 Piękne, ale głupi. 118 00:05:46,190 --> 00:05:47,510 Wielki. 119 00:05:47,510 --> 00:05:48,570 Ktoś jeszcze? 120 00:05:48,570 --> 00:05:53,520 Szukamy zdolny, ale uległe. 121 00:05:53,520 --> 00:05:55,760 Ktoś jeszcze chce być w stanie? 122 00:05:55,760 --> 00:05:56,944 >> PUBLICZNOŚCI: mogę być Carl. 123 00:05:56,944 --> 00:05:57,860 STEPHEN turban: Słodki. 124 00:05:57,860 --> 00:05:59,102 Mamy Carl. 125 00:05:59,102 --> 00:05:59,866 >> PUBLICZNOŚCI: Mitt. 126 00:05:59,866 --> 00:06:01,050 >> STEPHEN turban: Mitt, OK. 127 00:06:01,050 --> 00:06:05,070 A my będziemy potrzebować A-- będę klienta. 128 00:06:05,070 --> 00:06:07,460 Więc chodź, przyjdź na górę. 129 00:06:07,460 --> 00:06:10,470 I każdy, w związku? 130 00:06:10,470 --> 00:06:15,440 Więc mam zamiar zapytać Vince'a do stanąć z przodu, po prostu uśmiecha, 131 00:06:15,440 --> 00:06:18,230 po prostu uśmiecha jasne jak to możliwe. 132 00:06:18,230 --> 00:06:21,520 I mamy zamiar zapytać Carl, Dobrze, dlaczego nie, jak, 133 00:06:21,520 --> 00:06:24,050 stanąć tuż za nią? 134 00:06:24,050 --> 00:06:26,660 Mitt, dlaczego nie po prostu przejść się do tyłu, 135 00:06:26,660 --> 00:06:31,410 i wtedy dam ci grupę kubki spędzać czas z. 136 00:06:31,410 --> 00:06:34,170 >> Więc Jestem klientem. 137 00:06:34,170 --> 00:06:35,610 Przyjdę. 138 00:06:35,610 --> 00:06:40,490 I robię [niesłyszalne] I powiedzieć cześć, chciałbym filiżankę. 139 00:06:40,490 --> 00:06:43,214 140 00:06:43,214 --> 00:06:44,580 Doskonałe. 141 00:06:44,580 --> 00:06:45,580 Więc Vince nie ma pojęcia. 142 00:06:45,580 --> 00:06:46,915 Więc co Vince zrobić? 143 00:06:46,915 --> 00:06:50,770 144 00:06:50,770 --> 00:06:52,860 Vince-- OK, więc mam zamiar będzie opowiadał teraz. 145 00:06:52,860 --> 00:06:55,390 >> Vince krzyczy na Carla, puchar! 146 00:06:55,390 --> 00:06:58,840 147 00:06:58,840 --> 00:07:00,790 Co Carl zrobić? 148 00:07:00,790 --> 00:07:03,910 Carl krzyczy na Mitt. 149 00:07:03,910 --> 00:07:06,710 Mitt chwyta kubek. 150 00:07:06,710 --> 00:07:08,220 Mitt daje ją Carl. 151 00:07:08,220 --> 00:07:10,870 Carl wraca do Vince'a. 152 00:07:10,870 --> 00:07:12,640 Vince i przedstawia go użytkownikowi. 153 00:07:12,640 --> 00:07:17,960 >> I to jest wysoki, wysoki, wysoko, tak wysoko spojrzenie na MVC. 154 00:07:17,960 --> 00:07:22,460 Dzielimy go o opinię, co Użytkownik widzi, kontroler, ktoś 155 00:07:22,460 --> 00:07:25,760 który robi wszystko w tle ale tak naprawdę nie może nic aktualizacji 156 00:07:25,760 --> 00:07:29,960 lub nie może nic zrobić jakiegokolwiek znaczenia wyjątkiem wywołanie widoku i modelu. 157 00:07:29,960 --> 00:07:35,280 A potem mamy Mitt, model, który aktualizuje wszelkie dane, które mamy. 158 00:07:35,280 --> 00:07:42,660 Więc dziękuję bardzo za nasz piękny, kontroli i zdolne wolontariuszy. 159 00:07:42,660 --> 00:07:43,730 I myślę, że to było to. 160 00:07:43,730 --> 00:07:45,040 >> [APPLAUSE] 161 00:07:45,040 --> 00:07:48,745 >> Myślę, że Gabe będzie teraz rozmawiać mam nadzieję, że mniej na wysokim poziomie. 162 00:07:48,745 --> 00:07:51,600 >> GABRIEL GUIMARAES: OK, chłopaki. 163 00:07:51,600 --> 00:07:56,790 Porozmawiajmy teraz trochę więcej o Kod oraz o Ruby on Rails sama, 164 00:07:56,790 --> 00:08:00,750 oraz o tym, jak się odnosi, do wszystkich opowieści MVC. 165 00:08:00,750 --> 00:08:03,190 Zasadniczo, Ruby on Rails jest ramy. 166 00:08:03,190 --> 00:08:04,640 Więcej o tym za chwilę. 167 00:08:04,640 --> 00:08:07,760 >> Ale tylko dać poczucie kto używa go, 168 00:08:07,760 --> 00:08:12,240 jak wszystkie te wielkie companies-- tak GitHub, Groupon, Twitter-- 169 00:08:12,240 --> 00:08:15,300 wszystkie są z wykorzystaniem Ruby on Szyny jako główny ramach 170 00:08:15,300 --> 00:08:16,510 do realizacji ich stronę internetową. 171 00:08:16,510 --> 00:08:19,130 Tak więc jestem pewien, że wiele osób wykorzystali te strony tutaj. 172 00:08:19,130 --> 00:08:24,470 I to wszystko Ruby on Rails do wdrożenia model, widok i kontroler 173 00:08:24,470 --> 00:08:26,890 na wszystkie z tych stron internetowych i wiele innych. 174 00:08:26,890 --> 00:08:27,830 OK? 175 00:08:27,830 --> 00:08:32,090 >> Tak jak powiedziałem, Ruby on Rails jest ramy. 176 00:08:32,090 --> 00:08:37,237 I można rodzaju myśleć ram w sensie jak budowanie domu. 177 00:08:37,237 --> 00:08:39,570 Więc jeśli masz zamiar zbudować house-- i zawsze można 178 00:08:39,570 --> 00:08:40,653 zacząć od początku, prawda? 179 00:08:40,653 --> 00:08:46,440 Możesz spróbować wymyślić w taki sposób, aby widział drewna, 180 00:08:46,440 --> 00:08:49,760 i przynieść drewna na miejscu, a dostać kamienie w prawej kształcie, 181 00:08:49,760 --> 00:08:51,250 i to wszystko. 182 00:08:51,250 --> 00:08:54,020 Ale to zajmie prawdopodobnie wiele lat 183 00:08:54,020 --> 00:08:56,910 aż pojawi się cały materiał, i masz wszystko razem, 184 00:08:56,910 --> 00:08:58,790 i zacząć zbudować swój dom. 185 00:08:58,790 --> 00:09:01,748 >> Tak więc okazuje się, jeśli zaczynasz z Ramy z czymś, co jest 186 00:09:01,748 --> 00:09:04,260 już rodzaj w miejscu dla każdego typu domu 187 00:09:04,260 --> 00:09:07,750 że chcesz build-- coś to jest bardzo ogólne, ale że można 188 00:09:07,750 --> 00:09:12,850 następnie modelować do własnych goals-- następnie można wykorzystać 189 00:09:12,850 --> 00:09:16,800 ta moc z ram do budowy im coś dużo, dużo szybciej. 190 00:09:16,800 --> 00:09:17,300 OK. 191 00:09:17,300 --> 00:09:21,110 Więc to jest ten sam pomysł w ramy dla aplikacji internetowej 192 00:09:21,110 --> 00:09:23,755 albo dla każdego typu Wniosek, o to chodzi. 193 00:09:23,755 --> 00:09:26,560 >> Możesz zacząć się z pół aplikacji 194 00:09:26,560 --> 00:09:28,400 już tam na miejscu dla Ciebie. 195 00:09:28,400 --> 00:09:32,230 I przez to, to znaczy można uzyskać wiele Pliki, które mają już funkcji, 196 00:09:32,230 --> 00:09:36,830 takich jak biblioteki, jak funkcjonalność, i poleceń, które można uruchomić w celu 197 00:09:36,830 --> 00:09:40,500 aby twoje życie o wiele prostsze i łatwiejsze. 198 00:09:40,500 --> 00:09:41,180 OK. 199 00:09:41,180 --> 00:09:43,555 >> Więc w tym przypadku, będziemy mówić o Ruby on Rails. 200 00:09:43,555 --> 00:09:45,920 Istnieje wiele różni zrębowe tam. 201 00:09:45,920 --> 00:09:47,550 Jest Django dla Pythona. 202 00:09:47,550 --> 00:09:50,990 Jest Zend Framework lub Laravel dla PHP. 203 00:09:50,990 --> 00:09:52,390 Istnieje wiele różnych te. 204 00:09:52,390 --> 00:09:56,830 Ruby on Rails jest całkiem ładny nowy. 205 00:09:56,830 --> 00:10:01,600 Wiele osób korzysta, że ​​w firmach a tego rodzaju środowiska. 206 00:10:01,600 --> 00:10:04,250 A niektóre z nich bardzo duży Firmy, które pokazałem tu wcześniej 207 00:10:04,250 --> 00:10:06,050 są również za pomocą Ruby on Rails. 208 00:10:06,050 --> 00:10:10,070 >> Więc po prostu dać poczucie tego, co jest Ruby 209 00:10:10,070 --> 00:10:13,030 jak, ponieważ faceci są bardziej przyzwyczajeni do, jak, C i trochę PHP 210 00:10:13,030 --> 00:10:17,560 teraz, więc Ruby będzie równowartość swojej PHP w tym sensie. 211 00:10:17,560 --> 00:10:18,380 To nie jest Ruby. 212 00:10:18,380 --> 00:10:19,830 Jest C. OK? 213 00:10:19,830 --> 00:10:22,660 Ale to jest jak Funkcja DJBHash że 214 00:10:22,660 --> 00:10:27,170 Znam wiele osób, używane za błędy ortograficzne pset. 215 00:10:27,170 --> 00:10:29,670 >> I w Ruby, całkiem podobnie jak w PHP, ty 216 00:10:29,670 --> 00:10:32,745 może wdrożyć to z tylko kilka linijek kodu. 217 00:10:32,745 --> 00:10:34,870 Zamiast martwić się o funkcji skrótu, 218 00:10:34,870 --> 00:10:37,950 martwiąc się o wiader, i to wszystko, można po prostu powiedzieć, 219 00:10:37,950 --> 00:10:40,160 Słownik = Hash.net. 220 00:10:40,160 --> 00:10:44,560 A następnie użyć trochę jak Ta sama idea, że ​​PHP miał. 221 00:10:44,560 --> 00:10:45,970 A więc jest to true. 222 00:10:45,970 --> 00:10:48,080 A potem, jeśli chcesz sprawdzić, więc funkcję sprawdzić 223 00:10:48,080 --> 00:10:51,560 byłoby, gdyby słownik "foo" równa jest równa true return true. 224 00:10:51,560 --> 00:10:52,580 I to wszystko, OK? 225 00:10:52,580 --> 00:10:54,030 >> Więc można zauważyć kilka różnic. 226 00:10:54,030 --> 00:10:57,940 Brak średniki tutaj, jak było w C. 227 00:10:57,940 --> 00:11:00,710 Ale ogólnie pomysł jest bardzo podobny. 228 00:11:00,710 --> 00:11:02,030 OK? 229 00:11:02,030 --> 00:11:08,010 >> Również w Ruby, są perełki, które są rodzajem bibliotek Ruby. 230 00:11:08,010 --> 00:11:12,460 I Rails obsługuje je w bardzo dobry sposób dla Ciebie. 231 00:11:12,460 --> 00:11:15,480 Więc jeśli chcesz umieścić w niektórych biblioteki 232 00:11:15,480 --> 00:11:18,670 robi e-maile, lub że czy wiadomości tekstowych, 233 00:11:18,670 --> 00:11:22,170 lub że robi integrację z Facebook, lub wszelkiego rodzaju rzeczy 234 00:11:22,170 --> 00:11:24,374 tak dla Twojej aplikacji, to jest bardzo, bardzo proste. 235 00:11:24,374 --> 00:11:26,790 Kursy są można znaleźć coś tak jak w internecie. 236 00:11:26,790 --> 00:11:30,300 A oni po prostu zrobić coś jak umieścić które 237 00:11:30,300 --> 00:11:32,290 klejnot chcesz użyć w pliku gem. 238 00:11:32,290 --> 00:11:33,749 A następnie instaluje wszystko szyn. 239 00:11:33,749 --> 00:11:36,456 Nie musisz się martwić o jakiekolwiek o tym, więc to naprawdę fajne. 240 00:11:36,456 --> 00:11:38,500 Ponadto, jest wiele, mnóstwo pomocy w Internecie. 241 00:11:38,500 --> 00:11:40,485 Więc można znaleźć wiele rzeczy. 242 00:11:40,485 --> 00:11:42,360 Jeśli masz błąd, można po prostu google, 243 00:11:42,360 --> 00:11:45,090 i to będzie bardzo proste, aby uzyskać pomoc. 244 00:11:45,090 --> 00:11:47,200 >> I to dużo fun-- exactly-- bo Ciebie 245 00:11:47,200 --> 00:11:51,420 nie musisz się martwić o niskim poziomie szczegóły, wdrożenie tabel hash 246 00:11:51,420 --> 00:11:58,080 i ma pochodzić z wszystkich nagłówki HTTP i wiele innych rzeczy, 247 00:11:58,080 --> 00:12:00,197 a nawet kilka wyższych rzeczy poziomu. 248 00:12:00,197 --> 00:12:02,030 Nie musisz się martwić o tym w Rails. 249 00:12:02,030 --> 00:12:04,010 Robi to bardzo, bardzo ładnie dla Ciebie. 250 00:12:04,010 --> 00:12:07,490 I mamy zamiar pokazać, że bardziej konkretnie bardzo szybko. 251 00:12:07,490 --> 00:12:08,130 OK. 252 00:12:08,130 --> 00:12:09,750 >> Więc trochę o Ruby ponownie. 253 00:12:09,750 --> 00:12:11,420 Tak to jest jak C, jak powiedziałem. 254 00:12:11,420 --> 00:12:14,170 Zamiast printf, mówimy, "Stawia", która jest "umieścić napis." 255 00:12:14,170 --> 00:12:18,100 Stawia ciąg do konsoli. 256 00:12:18,100 --> 00:12:20,601 I w tym przypadku, że jesteśmy po prostu drukuje "Hello World". 257 00:12:20,601 --> 00:12:23,100 Nie potrzebujemy nawiasów, ale to dość dużo podobna. 258 00:12:23,100 --> 00:12:26,190 >> A potem, jeśli chcesz zrobić coś tutaj, 259 00:12:26,190 --> 00:12:30,450 jak wydrukować kilka "miał" oraz banda "bigs" w pętli While 260 00:12:30,450 --> 00:12:32,060 to trochę tak jak w C, prawda? 261 00:12:32,060 --> 00:12:35,090 Nie masz params, ale to bardzo podobnie. 262 00:12:35,090 --> 00:12:37,300 Wcięcia tutaj liczy, więc x jest równa 1. 263 00:12:37,300 --> 00:12:41,250 I kiedy x jest mniejsze niż 50-- to przypadku, jest inny. 264 00:12:41,250 --> 00:12:42,810 Jest to bardzo podobne do tego, co zobaczył. 265 00:12:42,810 --> 00:12:47,150 >> A potem x + = 1 jest po prostu zwiększany, trochę jak robienie ++, że można 266 00:12:47,150 --> 00:12:50,213 zrobić w C. Ale to całkiem dużo tego, co widzieliśmy w C 267 00:12:50,213 --> 00:12:52,380 Nie powinna być zbyt skomplikowane. 268 00:12:52,380 --> 00:12:54,320 Ale to jest bardziej wydajny. 269 00:12:54,320 --> 00:13:00,100 Tak więc istnieje kilka poleceń tutaj które są na pewno nieco nowsze. 270 00:13:00,100 --> 00:13:05,110 >> Tak na przykład, "put". 271 00:13:05,110 --> 00:13:08,680 Możesz użyć tego hashtag notacji żeby po prostu wydrukować something-- 272 00:13:08,680 --> 00:13:13,490 bardzo podobne do tego, co byś zrobił, % D lub C lub nieco% tak. 273 00:13:13,490 --> 00:13:17,600 I rzeczywiście można umieścić Jeśli tuż po oświadczeniu. 274 00:13:17,600 --> 00:13:21,180 Więc chcę tylko zrobić this-- Jeśli x jest większy niż 3. 275 00:13:21,180 --> 00:13:24,129 Więc dlaczego mam Jeśli się tam całego bloku? 276 00:13:24,129 --> 00:13:24,670 Nie wiem. 277 00:13:24,670 --> 00:13:28,880 Mogę po prostu wydrukować to tylko jeśli x jest równe większa niż 3. 278 00:13:28,880 --> 00:13:32,740 Jest to więc sposób jeden wiersz w ten sposób w Ruby. 279 00:13:32,740 --> 00:13:35,570 >> Ruby jest lista coś bardzo wszechstronny. 280 00:13:35,570 --> 00:13:38,110 Tak naprawdę nie potrzebujesz mieć tylko jeden typ. 281 00:13:38,110 --> 00:13:40,674 Możesz mieć ciąg, a następnie niektóre cyfry i cokolwiek. 282 00:13:40,674 --> 00:13:42,590 A jeśli chcesz dołączyć coś z listy, 283 00:13:42,590 --> 00:13:46,860 możesz po prostu użyć tego notacji tutaj. 284 00:13:46,860 --> 00:13:48,310 >> A jeśli chcesz do iteracji. 285 00:13:48,310 --> 00:13:56,200 Dość dużo 4each w PHP, tu, mieć listę i robisz "List.each zrobić." 286 00:13:56,200 --> 00:13:59,464 I to "elem", to jest jak nazwy każdego elementu 287 00:13:59,464 --> 00:14:00,880 że będę mieć w mojej liście. 288 00:14:00,880 --> 00:14:03,890 I wtedy można po prostu "stawia elem." 289 00:14:03,890 --> 00:14:07,130 I "stawia" dość dużo uchwytów wprowadzenie go dla Ciebie, drukowanie. 290 00:14:07,130 --> 00:14:09,920 To nie ma znaczenia, czy to ciąg lub int. 291 00:14:09,920 --> 00:14:12,790 To zadziała, że ​​dla ciebie. 292 00:14:12,790 --> 00:14:14,270 Prawda? 293 00:14:14,270 --> 00:14:14,790 Cool. 294 00:14:14,790 --> 00:14:19,980 >> I tak jak PHP, Ruby i HTML również zintegrować bardzo, bardzo ładnie. 295 00:14:19,980 --> 00:14:23,340 I tu jest jakiś Kopiuj z Ruby w nim. 296 00:14:23,340 --> 00:14:25,860 Mamy więc tag ciała jak w HTML. 297 00:14:25,860 --> 00:14:28,270 A jeśli chcemy sprawdzić że użytkownik, na przykład, 298 00:14:28,270 --> 00:14:35,730 zalogowany, możemy tylko powiedzieć, począwszy od Ruby, jeśli user.logged_in ?, koniec Ruby. 299 00:14:35,730 --> 00:14:39,240 Wydrukuj całą tę rzecz, która ma jedne Ruby w to, co jest po prostu 300 00:14:39,240 --> 00:14:42,230 coś w rodzaju tej składni PHP, który drukuje zmiennej. 301 00:14:42,230 --> 00:14:43,380 Miejmy wydrukować user.name. 302 00:14:43,380 --> 00:14:48,870 >> Więc zapraszamy, Stephen, wewnątrz z div HTML. 303 00:14:48,870 --> 00:14:53,760 I na koniec, mamy "koniec" i Kod Ruby, co oznacza, jest to mój 304 00:14:53,760 --> 00:14:54,470 Jeśli blok. 305 00:14:54,470 --> 00:14:55,060 OK? 306 00:14:55,060 --> 00:14:57,684 Tak to jest jak bez szwu Integracja pomiędzy Ruby i HTML. 307 00:14:57,684 --> 00:15:00,056 308 00:15:00,056 --> 00:15:01,430 Istnieje również wiele zasobów. 309 00:15:01,430 --> 00:15:06,290 Ale zanim przejdziemy dalej, ktokolwiek Wszelkie pytania na temat Ruby, cokolwiek? 310 00:15:06,290 --> 00:15:08,960 OK. 311 00:15:08,960 --> 00:15:12,250 >> Istnieje wiele zasobów w Internecie do tryruby.org, Code Academy, 312 00:15:12,250 --> 00:15:18,740 ruby-lang.org, gdzie można spróbować na przeglądarce, zanim rzeczywiście 313 00:15:18,740 --> 00:15:22,310 powiedzieć, oh, OK, mam zamiar używać Ruby do mojego ostatniego projektu. 314 00:15:22,310 --> 00:15:24,020 I tak, na pewno da ci spróbować. 315 00:15:24,020 --> 00:15:26,510 Wszystkie te suportach będzie dostępna w Internecie, 316 00:15:26,510 --> 00:15:28,950 więc możesz po prostu je pobrać. 317 00:15:28,950 --> 00:15:30,115 A tak? 318 00:15:30,115 --> 00:15:31,889 >> PUBLICZNOŚCI: [niesłyszalne] co właśnie pokazał 319 00:15:31,889 --> 00:15:36,851 został kod HTML i osadzony w to do tego pojęcia modelu View 320 00:15:36,851 --> 00:15:37,350 Kontroler? 321 00:15:37,350 --> 00:15:37,610 >> GABRIEL GUIMARAES: Tak. 322 00:15:37,610 --> 00:15:40,290 Zrobimy to w sekundę kiedy pokażemy naszym przykładem, OK? 323 00:15:40,290 --> 00:15:41,290 Dziękuję za pytanie. 324 00:15:41,290 --> 00:15:44,760 Więc pytanie, w zasadzie, jeśli można pokazać integrację Ruby 325 00:15:44,760 --> 00:15:49,230 w HTML w modelu Zobacz ramy Controller. 326 00:15:49,230 --> 00:15:51,710 >> Więc pomysł Modelu Ramy View Controller 327 00:15:51,710 --> 00:15:55,740 Jest to w zasadzie filozofia, podobnie jak Stephen pokazał tutaj. 328 00:15:55,740 --> 00:15:58,177 I to nie jest coś, że masz do zrobienia, 329 00:15:58,177 --> 00:16:00,510 ale to jest coś, co sprawia, Twoje życie o wiele prostsze. 330 00:16:00,510 --> 00:16:04,170 I Ruby on Rails jest zbudowany wokół tej filozofii kodu. 331 00:16:04,170 --> 00:16:06,320 Tak więc mamy zamiar pokazać Przykładem bardzo szybko. 332 00:16:06,320 --> 00:16:07,340 >> Więc Rails jest miłość. 333 00:16:07,340 --> 00:16:09,140 Wiele osób korzysta z niej, jak powiedziałem. 334 00:16:09,140 --> 00:16:10,510 I to jest naprawdę zabawne. 335 00:16:10,510 --> 00:16:12,360 Powinniście Zdecydowanie spróbować. 336 00:16:12,360 --> 00:16:15,120 MVC sprawia, że ​​wszystko prostsze. 337 00:16:15,120 --> 00:16:18,110 Więc Model View Controller, rzeczy oddzielające 338 00:16:18,110 --> 00:16:21,450 i wprowadzenie jednej osobie, per se, lub jedną część aplikacji 339 00:16:21,450 --> 00:16:24,850 robić każdego z różnych miejsc pracy że Ty aplikacja ma robić. 340 00:16:24,850 --> 00:16:26,676 I mniej czasu spędzonego w sprawie problemów niskiego poziomu. 341 00:16:26,676 --> 00:16:27,800 I bardzo popularny teraz. 342 00:16:27,800 --> 00:16:29,917 Mamy Rails 4.0, która jest nowa wersja. 343 00:16:29,917 --> 00:16:31,500 I pochodzi z wielu fajnych rzeczy. 344 00:16:31,500 --> 00:16:32,562 Kolejne pytanie. 345 00:16:32,562 --> 00:16:34,490 >> PUBLICZNOŚCI: Kolejne pytanie. 346 00:16:34,490 --> 00:16:39,310 Ruby on Rails w porównaniu Ruby on Rails Grails. 347 00:16:39,310 --> 00:16:40,230 >> GABRIEL GUIMARAES: OK. 348 00:16:40,230 --> 00:16:42,252 Pytanie było, Ruby w porównaniu Ruby-- on Rails 349 00:16:42,252 --> 00:16:42,960 PUBLICZNOŚCI: Grails. 350 00:16:42,960 --> 00:16:43,490 Ruby? 351 00:16:43,490 --> 00:16:44,490 >> GABRIEL GUIMARAES: Tak. 352 00:16:44,490 --> 00:16:45,955 Więc Ruby jest językiem. 353 00:16:45,955 --> 00:16:46,745 >> PUBLICZNOŚCI: Nie 354 00:16:46,745 --> 00:16:50,360 Proszę cię porównać język i ramy, Ruby on Rails, 355 00:16:50,360 --> 00:16:52,975 z innym popularnym języku framework-- Grails-- z Ruby 356 00:16:52,975 --> 00:16:53,310 on Rails. 357 00:16:53,310 --> 00:16:53,720 >> GABRIEL GUIMARAES: OK. 358 00:16:53,720 --> 00:16:54,480 Przepraszam. 359 00:16:54,480 --> 00:16:57,390 Pytanie, porównaj Ruby i Ruby on Rails 360 00:16:57,390 --> 00:16:59,750 do innej ramy i another-- 361 00:16:59,750 --> 00:17:01,022 >> PUBLICZNOŚCI: Ruby. 362 00:17:01,022 --> 00:17:01,954 Jest OK. 363 00:17:01,954 --> 00:17:03,820 Jeśli nie wiesz o tym, że jest w porządku. 364 00:17:03,820 --> 00:17:05,359 >> GABRIEL GUIMARAES: Jak, co rozumiem jest that-- 365 00:17:05,359 --> 00:17:07,080 >> PUBLICZNOŚCI: Jest inny ramowe zwane Grails. 366 00:17:07,080 --> 00:17:07,700 >> GABRIEL GUIMARAES: Och, Grails. 367 00:17:07,700 --> 00:17:08,650 Nigdy nie słyszałem o tym. 368 00:17:08,650 --> 00:17:09,640 Przepraszam. 369 00:17:09,640 --> 00:17:11,690 Nigdy nie słyszałem o Groovy on Rails. 370 00:17:11,690 --> 00:17:12,744 Przepraszam. 371 00:17:12,744 --> 00:17:14,869 >> PUBLICZNOŚCI: Jest dużo lepiej zintegrowany z Java. 372 00:17:14,869 --> 00:17:15,450 >> GABRIEL GUIMARAES: widzę. 373 00:17:15,450 --> 00:17:17,555 >> PUBLICZNOŚCI: Jestem po prostu ciekawy o niektórych ludzi, których znam like-- 374 00:17:17,555 --> 00:17:20,240 >> GABRIEL GUIMARAES: Nie, nigdy słyszałem o tym jednym, niestety. 375 00:17:20,240 --> 00:17:20,700 Grails. 376 00:17:20,700 --> 00:17:21,410 >> PUBLICZNOŚCI: A niektórzy ludzie oczywiście jak Ruby on Rails. 377 00:17:21,410 --> 00:17:22,640 >> GABRIEL GUIMARAES: mam Używane Ruby on Rails dużo. 378 00:17:22,640 --> 00:17:24,790 Użyłem niektórych Django w Pythonie, jak powiedziałem. 379 00:17:24,790 --> 00:17:26,329 Użyłem trochę Laravel. 380 00:17:26,329 --> 00:17:29,490 Ale ja nie używał Groovy on Rails. 381 00:17:29,490 --> 00:17:31,630 Przepraszam. 382 00:17:31,630 --> 00:17:34,040 I to jest bardzo popularne teraz z Rails 4.0. 383 00:17:34,040 --> 00:17:38,180 Podobnie jak niektóre z rzeczy, które Rails robi dla Ciebie, na przykład, to ty 384 00:17:38,180 --> 00:17:43,650 mają wiele plików CSS i wiele plików JavaScript. 385 00:17:43,650 --> 00:17:45,790 I można traktować je jako osobna i wszystko. 386 00:17:45,790 --> 00:17:50,010 >> Ale to automatically-- kiedy wysłanie kodu do produkcji, 387 00:17:50,010 --> 00:17:52,770 automatycznie kompiluje je wszystkie w jednym pliku 388 00:17:52,770 --> 00:17:55,150 który jest bez minified przestrzenie, tak, że zajmuje się 389 00:17:55,150 --> 00:17:59,400 mniej miejsca w aplikacji, więc że naprawdę można skalować rzeczy wiele. 390 00:17:59,400 --> 00:18:04,380 Dlatego takie duże firmy jak Twitter i GitHub 391 00:18:04,380 --> 00:18:10,220 korzystasz z Rails, ponieważ nie wszystkie że dla ciebie, co jest naprawdę fajne. 392 00:18:10,220 --> 00:18:12,840 >> Jedna rzecz, która jest bardzo, bardzo, bardzo trudne 393 00:18:12,840 --> 00:18:18,450 osób, w tym ja, którzy starają się pracować 394 00:18:18,450 --> 00:18:22,430 z ram na początku, jest że po uruchomieniu się aplikacji, 395 00:18:22,430 --> 00:18:24,440 masz zamiar zobaczyć kilka plików. 396 00:18:24,440 --> 00:18:28,460 Podobnie jak podczas tworzenia Szyny Nowy, mój wniosek, 397 00:18:28,460 --> 00:18:31,710 masz zamiar zobaczyć wszystkie te folders-- aplikacja, bin, config, db, lib, 398 00:18:31,710 --> 00:18:32,482 log, do publicznej wiadomości. 399 00:18:32,482 --> 00:18:33,690 Podobnie jak, wiele, wiele rzeczy. 400 00:18:33,690 --> 00:18:35,030 >> I pierwszy raz zobaczył, że ja na to: 401 00:18:35,030 --> 00:18:36,570 OK, nie mam pojęcia, co się dzieje. 402 00:18:36,570 --> 00:18:38,890 Chcę tylko, aby utworzyć strona z "Witaj, świecie" 403 00:18:38,890 --> 00:18:41,730 i to daje mi, jak, 100000000000 różnych stron. 404 00:18:41,730 --> 00:18:43,070 Nie wiem, co się dzieje. 405 00:18:43,070 --> 00:18:47,460 Więc proszę nie być zbyt obawiają się, że. 406 00:18:47,460 --> 00:18:53,699 >> Chodzi o to, że rzeczywiście posiada połowę dom dla ciebie już. 407 00:18:53,699 --> 00:18:55,490 To ma cały Ramy dla Ciebie już. 408 00:18:55,490 --> 00:18:56,948 Dlatego jest tak wiele plików. 409 00:18:56,948 --> 00:19:00,150 Ale dobrą rzeczą jest to, że to oddziela wszystkie z nich bardzo ładnie. 410 00:19:00,150 --> 00:19:03,370 Kursy są, nie musisz się martwić o większości z tych folderów. 411 00:19:03,370 --> 00:19:05,820 >> Najważniejsze, że powiedziałbym, jest folder aplikacji, 412 00:19:05,820 --> 00:19:07,147 gdzie faktycznie mieszka aplikacja. 413 00:19:07,147 --> 00:19:09,730 Więc config, będziesz trzeba konfigurować niektóre rzeczy, 414 00:19:09,730 --> 00:19:12,840 jak bazy danych i rzeczy, jak jaki rodzaj bazy danych, którego używasz. 415 00:19:12,840 --> 00:19:17,430 Ale poza tym, jak większość Twoja praca będzie odbywać się w aplikacji. 416 00:19:17,430 --> 00:19:21,620 Tak więc w aplikacji, musisz aktywa, kontrolerów, pomocników, koperty, modele, widoki. 417 00:19:21,620 --> 00:19:24,460 Więc tutaj, zaczniesz widzieć, że kontrolery, modele i widoki pochodzić 418 00:19:24,460 --> 00:19:25,410 w grę. 419 00:19:25,410 --> 00:19:27,270 >> Koperty są tylko, jeśli Ciebie Aby wysyłać e-maile. 420 00:19:27,270 --> 00:19:29,400 Pomocnicy jeśli chcesz tworzenie niektóre funkcje 421 00:19:29,400 --> 00:19:32,050 że dużo używać w widoku. 422 00:19:32,050 --> 00:19:34,490 Więc je w pomocników. 423 00:19:34,490 --> 00:19:39,000 I to w zasadzie wszystkie aktywa z Twoje obrazy, wszystkie swoje CSS, 424 00:19:39,000 --> 00:19:41,200 wszystko twój JavaScript, i jak te rodzaje 425 00:19:41,200 --> 00:19:43,110 rzeczy, które są wysłane do klienta. 426 00:19:43,110 --> 00:19:45,500 A wszystko to w aktywach, że powiedziałem wcześniej, zostanie minified. 427 00:19:45,500 --> 00:19:45,940 To skompilowany. 428 00:19:45,940 --> 00:19:49,189 I naprawdę nie trzeba się martwić o że kiedy przechodzi się do kodu produkcyjnego. 429 00:19:49,189 --> 00:19:49,770 Cool. 430 00:19:49,770 --> 00:19:54,205 >> Teraz Zack przyjdzie się, a on zrobi przykład Twitter50. 431 00:19:54,205 --> 00:19:54,970 >> PUBLICZNOŚCI: Woo-hoo! 432 00:19:54,970 --> 00:19:56,726 >> ZACK CHAUVIN: Niesamowite. 433 00:19:56,726 --> 00:20:00,180 Miałem więc okazję pracować z Ruby on Rails tego lata. 434 00:20:00,180 --> 00:20:01,580 To niesamowite ramy. 435 00:20:01,580 --> 00:20:03,580 Jestem bardzo częściowy do niego. 436 00:20:03,580 --> 00:20:09,770 A ja po prostu pokazać trochę Przykładem co to może wyglądać. 437 00:20:09,770 --> 00:20:11,020 Przeskoczyć do Chrome. 438 00:20:11,020 --> 00:20:16,350 Więc to jest przykładem bardzo prosta Ruby on Rails application-- coś 439 00:20:16,350 --> 00:20:19,690 jak to jest coś że Ruby naprawdę wyróżnia 440 00:20:19,690 --> 00:20:24,070 that-- tylko gdzie swoje modele są bardzo dobrze określone. 441 00:20:24,070 --> 00:20:27,150 >> W tym przykładzie, zobaczysz dwa różne modele, które 442 00:20:27,150 --> 00:20:30,380 to, że mamy użytkowników i mamy tweety. 443 00:20:30,380 --> 00:20:33,480 Więc to jest Twitter50, Harvardu własne Twitter. 444 00:20:33,480 --> 00:20:36,820 Jak widać, jestem zalogowany jakozack. 445 00:20:36,820 --> 00:20:38,860 I jestem w stanie tworzyć nowe tweety. 446 00:20:38,860 --> 00:20:42,266 Więc think-- "To" - Przepraszam? 447 00:20:42,266 --> 00:20:43,182 PUBLICZNOŚCI: [niesłyszalne]. 448 00:20:43,182 --> 00:20:44,061 ZACK CHAUVIN: Och, OK. 449 00:20:44,061 --> 00:20:45,060 Trzeba zatrzymać serwer. 450 00:20:45,060 --> 00:20:47,480 Doskonałe. 451 00:20:47,480 --> 00:20:49,630 Więc jesteśmy. 452 00:20:49,630 --> 00:20:52,520 Jak widać, mamy Twitter aplikacji tutaj. 453 00:20:52,520 --> 00:20:55,020 I to jest bardzo proste, aby uruchomić serwer. 454 00:20:55,020 --> 00:20:57,991 Będziemy po prostu zrobić "serwer szyn." 455 00:20:57,991 --> 00:20:58,490 Wielki. 456 00:20:58,490 --> 00:20:58,990 OK. 457 00:20:58,990 --> 00:21:00,830 Dzięki za to. 458 00:21:00,830 --> 00:21:02,200 Więc teraz pracujesz. 459 00:21:02,200 --> 00:21:06,120 >> I powiemy: "To Seminarium jest niesamowite. " 460 00:21:06,120 --> 00:21:08,870 I zobaczmy, co się stanie. 461 00:21:08,870 --> 00:21:10,020 Będziemy więc ćwierkać o tym. 462 00:21:10,020 --> 00:21:13,390 Na dole można zobaczyć teraz jest więcej niż trzy tweety. 463 00:21:13,390 --> 00:21:15,980 Mamy więc trochę od paginacji dzieje. 464 00:21:15,980 --> 00:21:19,640 I mamy ten tweet. 465 00:21:19,640 --> 00:21:24,010 I mogę również przeszukiwać moje tweets-- poszukiwanie tego i dwóch 466 00:21:24,010 --> 00:21:27,960 Te, które mają słowo "To" się w nich pokazać. 467 00:21:27,960 --> 00:21:30,860 Możemy również usunąć tweets przez klikając na mały przycisk Usuń. 468 00:21:30,860 --> 00:21:36,440 I oczywiście, mogę tylko usunąć post, który należał do mnie. 469 00:21:36,440 --> 00:21:39,030 >> Już teraz ma prawie Funkcjonalność Twitter. 470 00:21:39,030 --> 00:21:42,000 Jak, kiedy myślisz o tym, Twitter naprawdę nie robi aż tak dużo. 471 00:21:42,000 --> 00:21:44,280 Posiada użytkowników, ma tweety. 472 00:21:44,280 --> 00:21:47,690 Jest trochę bardziej skomplikowane funkcje. 473 00:21:47,690 --> 00:21:52,960 Ale kiedy naprawdę się do niego, to całkiem proste, Ruby on Rails aplikacji. 474 00:21:52,960 --> 00:21:57,560 I coś w tym z dobra znajomość Ruby on Rails, 475 00:21:57,560 --> 00:22:00,680 można chyba dokonać w godzinę lub dwie. 476 00:22:00,680 --> 00:22:04,210 >> I to naprawdę jest z powrotem do mantry Ruby, 477 00:22:04,210 --> 00:22:07,540 co jest konwencja nad konfiguracją. 478 00:22:07,540 --> 00:22:10,965 Więc z powrotem w dzień, ludzie, w każdej chwili chcieli, aby z tej strony internetowej, 479 00:22:10,965 --> 00:22:12,340 będzie musiał zaczynać od zera. 480 00:22:12,340 --> 00:22:13,740 OK, chcę zrobić stronę internetową. 481 00:22:13,740 --> 00:22:15,970 Zróbmy ten plik i ten plik i ten plik. 482 00:22:15,970 --> 00:22:19,180 >> Z Ruby on Rails, nie ma nic z tego. 483 00:22:19,180 --> 00:22:21,170 Mówisz, chcę nową aplikację. 484 00:22:21,170 --> 00:22:25,010 I tak jak Gabe pokazał nam, że tworzy całą strukturę pliku dla nas. 485 00:22:25,010 --> 00:22:27,490 A my po prostu zmienić małe części, które trzeba. 486 00:22:27,490 --> 00:22:31,570 My po prostu dostosować co Wyjątkowość naszej aplikacji. 487 00:22:31,570 --> 00:22:32,250 Cool. 488 00:22:32,250 --> 00:22:38,540 Więc wracając do naszej prezentacji preview-- interesujące. 489 00:22:38,540 --> 00:22:41,408 490 00:22:41,408 --> 00:22:42,724 Gdzie mogę przedstawić? 491 00:22:42,724 --> 00:22:43,640 PUBLICZNOŚCI: Pełny ekran. 492 00:22:43,640 --> 00:22:45,715 W prawym górnym rogu. 493 00:22:45,715 --> 00:22:48,480 >> ZACK CHAUVIN: Doskonały. 494 00:22:48,480 --> 00:22:48,990 Cool. 495 00:22:48,990 --> 00:22:49,490 OK. 496 00:22:49,490 --> 00:22:51,480 Więc przede wszystkim model. 497 00:22:51,480 --> 00:22:54,100 Stephen zrobił niesamowite Zadaniem przedstawiając MVC. 498 00:22:54,100 --> 00:22:57,980 A teraz będziemy odnosić że powrót do Ruby on Rails. 499 00:22:57,980 --> 00:23:00,730 Więc modelu można rodzaju z myślą o jak bazy danych. 500 00:23:00,730 --> 00:23:04,870 Byłaś widząc to w CS50 Finanse, gdzie model sklepy 501 00:23:04,870 --> 00:23:07,590 informacje o ile masz zasobów, 502 00:23:07,590 --> 00:23:10,986 lub wszystkie transakcje, które wykonane. 503 00:23:10,986 --> 00:23:12,860 Jest przykładem linia, jak będzie 504 00:23:12,860 --> 00:23:15,640 przejść na temat tworzenia nowego modelu w Rails. 505 00:23:15,640 --> 00:23:17,102 Więc chcę użytkownika. 506 00:23:17,102 --> 00:23:19,060 To będzie mieć e-mail, który jest ciągiem znaków, 507 00:23:19,060 --> 00:23:20,990 i hasło, które jest również ciąg. 508 00:23:20,990 --> 00:23:27,150 Tak to jest jak those-- chcę każdy rząd w moim stole użytkowników tak wyglądać. 509 00:23:27,150 --> 00:23:30,730 >> Naprawdę niesamowite części o to chodzi Rails 510 00:23:30,730 --> 00:23:33,755 czyni zbędnym Napisać dowolny SQL dość dużo. 511 00:23:33,755 --> 00:23:38,640 Jak wielu z was kochał pisania kodu SQL w pset 7? 512 00:23:38,640 --> 00:23:39,770 Dokładnie. 513 00:23:39,770 --> 00:23:41,840 SQL nie jest bardzo łatwy w obsłudze. 514 00:23:41,840 --> 00:23:46,470 I Rails abstrahuje wszystko się z tych bardzo prostych komend. 515 00:23:46,470 --> 00:23:51,580 Tak na przykład, jeśli mamy Użytkownik, użytkownik ma wiele tweets. 516 00:23:51,580 --> 00:23:56,580 I każdy z tych tweety należy do użytkownika. 517 00:23:56,580 --> 00:23:59,520 >> Więc jeśli spojrzeć tutaj, to jest nasz model naszej tweet. 518 00:23:59,520 --> 00:24:02,750 I wszystko, co mamy do powiedzenia to ten pojedynczy line-- jestem tweet 519 00:24:02,750 --> 00:24:05,090 i należą do użytkownika. 520 00:24:05,090 --> 00:24:10,160 I z tej jednej linii i A Trochę konfiguracji bazy danych, 521 00:24:10,160 --> 00:24:12,990 Szyny ustawia się ten związek. 522 00:24:12,990 --> 00:24:17,450 W każdej chwili, mogę tylko powiedzieć, zack.tweets, jak, daj mi wszystkie tweety Zack. 523 00:24:17,450 --> 00:24:19,420 Nie SQL. 524 00:24:19,420 --> 00:24:20,040 Super łatwy. 525 00:24:20,040 --> 00:24:26,580 Ponownie, jest to konwencja ponad Konfiguracja wejściem w grę. 526 00:24:26,580 --> 00:24:29,770 >> Możesz zobaczyć trochę przykładu Ruby tutaj. 527 00:24:29,770 --> 00:24:32,740 Podobnie jak Gave powiedział, pisanie Ruby jest coś jak pisanie po angielsku. 528 00:24:32,740 --> 00:24:35,540 To bardzo język wysokiego poziomu, a to sprawia, że ​​naprawdę łatwo 529 00:24:35,540 --> 00:24:42,380 dla nas, aby mówić takich rzeczy, chcę upewnij się, że ten tweet ma ciało. 530 00:24:42,380 --> 00:24:43,740 Jego obecność jest prawdą. 531 00:24:43,740 --> 00:24:47,170 I chcę, aby upewnić się, że ćwierkać, tak jak normalny Twitter, 532 00:24:47,170 --> 00:24:49,020 ma maksymalną długość 140. 533 00:24:49,020 --> 00:24:52,800 To bardzo intuicyjne, naprawdę świetny język. 534 00:24:52,800 --> 00:24:54,590 >> Następna w kolejce mamy widok. 535 00:24:54,590 --> 00:24:57,510 Więc ta obejmuje HTML i CSS. 536 00:24:57,510 --> 00:25:00,490 A oto przykład widoku. 537 00:25:00,490 --> 00:25:05,600 Więc Ruby on Rails rodzaj płynnie integruje zarówno Ruby i HTML 538 00:25:05,600 --> 00:25:08,880 w celu utworzenia co chcemy na stronie. 539 00:25:08,880 --> 00:25:11,380 Więc jest przykładem naszego układu. 540 00:25:11,380 --> 00:25:15,710 Tak więc widać, że niektóre znaczniki faceci są wykorzystywane do, jak HTML, ciało, 541 00:25:15,710 --> 00:25:17,250 wszystko, co dobre rzeczy. 542 00:25:17,250 --> 00:25:21,760 >> I właśnie tutaj, chociaż, my włączenia niektórych Ruby mówiąc, 543 00:25:21,760 --> 00:25:25,390 jeśli nie ma wiadomości, aby wyświetlić, następnie wyświetlić wiadomość w div. 544 00:25:25,390 --> 00:25:28,060 Więc nie będę się zbytnio do tego. 545 00:25:28,060 --> 00:25:31,190 Ale to jest na ogół Strona, która zostanie wygenerowana on-- 546 00:25:31,190 --> 00:25:33,960 i bez względu na to, co strona jesteś na, ten zostanie wygenerowana. 547 00:25:33,960 --> 00:25:38,110 Więc to jest to, co zostanie uwzględnione zawsze. 548 00:25:38,110 --> 00:25:38,980 Cool. 549 00:25:38,980 --> 00:25:42,730 >> Innym przykładem jest view-- jeden, gdzie wybrał wszystkie tweety. 550 00:25:42,730 --> 00:25:45,630 A niektóre z tych rzeczy może wyglądać całkiem znajomo. 551 00:25:45,630 --> 00:25:50,050 Tak na przykład, tu jesteśmy pętle przez każdy z tweets, 552 00:25:50,050 --> 00:25:51,960 a my ich drukowania. 553 00:25:51,960 --> 00:25:54,320 Więc o to, gdzie jesteśmy drukując ciało. 554 00:25:54,320 --> 00:26:00,910 A jeśli user-- tweet jest tutaj prawdziwym przykładem bez SQL jest zaangażowany. 555 00:26:00,910 --> 00:26:04,390 Po prostu pytam, czy to Tweet jest użytkownik bieżący użytkownik? 556 00:26:04,390 --> 00:26:06,030 Następnie pokazać link, aby go usunąć. 557 00:26:06,030 --> 00:26:06,880 To bardzo proste. 558 00:26:06,880 --> 00:26:09,670 559 00:26:09,670 --> 00:26:10,920 >> Sterownik. 560 00:26:10,920 --> 00:26:14,390 Tak jest, ponownie, interfejs pomiędzy modelem a widokiem. 561 00:26:14,390 --> 00:26:17,820 To ten, który wykonuje pracę z interacting-- bycia pośrednikiem. 562 00:26:17,820 --> 00:26:20,980 Ładuje informacje dla zobaczyć, co zobaczymy w sek. 563 00:26:20,980 --> 00:26:23,850 Oraz w celu interakcji z modelem, to 564 00:26:23,850 --> 00:26:29,170 wzywa modelowych metod, które są co Ci ludzie znają jako funkcje. 565 00:26:29,170 --> 00:26:31,490 >> Tak na przykład, jest to Kontroler naszego Tweet za. 566 00:26:31,490 --> 00:26:33,930 To może wyglądać trochę trudne teraz. 567 00:26:33,930 --> 00:26:38,240 Ale to jest rzeczywiście bardzo intuicyjne gdy zaczniesz nurkowanie w. 568 00:26:38,240 --> 00:26:42,990 Tak na przykład w indeksie, to gdzie chcemy pokazać wszystkie tweety. 569 00:26:42,990 --> 00:26:46,910 I tak linia ta w zasadzie po prostu prosi o wszystkich tweetów. 570 00:26:46,910 --> 00:26:50,300 A potem zainicjować zarówno nowe tweet-- tak jak 571 00:26:50,300 --> 00:26:52,320 jeśli chcesz stworzyć Nowy tweet na tej stronie. 572 00:26:52,320 --> 00:26:54,250 >> I pyta, co bieżący użytkownik jest. 573 00:26:54,250 --> 00:26:58,850 I to jest bardzo zbliżona do czynią to widzieliśmy w pset 7, 574 00:26:58,850 --> 00:27:02,230 gdzie jest to tylko rodzaj mówi view-- to trochę, jak, 575 00:27:02,230 --> 00:27:06,284 przechodząc zmienne, że jesteś będzie potrzebował w celu widoku. 576 00:27:06,284 --> 00:27:08,200 I jest cała masa z różnych metod 577 00:27:08,200 --> 00:27:10,410 że kontroler ten tweet może obsłużyć. 578 00:27:10,410 --> 00:27:12,495 >> Ale tak naprawdę, Rails robi świetna robota z rodzaju 579 00:27:12,495 --> 00:27:18,910 dzielenia ich na różne działania, które może zrobić kontroler. 580 00:27:18,910 --> 00:27:23,800 Czy są jakieś pytania na temat którejkolwiek z części MVC w Rails? 581 00:27:23,800 --> 00:27:25,550 Niby tylko wiatr przez. 582 00:27:25,550 --> 00:27:29,250 Więc chłopaki mogą sprawdzić to na własną rękę. 583 00:27:29,250 --> 00:27:30,106 Niesamowite. 584 00:27:30,106 --> 00:27:31,200 Będziemy dalej. 585 00:27:31,200 --> 00:27:32,546 >> Więc instalacji Rails. 586 00:27:32,546 --> 00:27:35,170 Instalacja Szyny mogą być, jak, jeden z bardziej beznadziejnych częściach 587 00:27:35,170 --> 00:27:37,830 całych Rails Proces, niestety. 588 00:27:37,830 --> 00:27:40,450 Ale oczywiście, wszystkie nam to około pomóc. 589 00:27:40,450 --> 00:27:42,590 I po to jest tam, Wiele wielkich zasobów, 590 00:27:42,590 --> 00:27:45,100 jak wspomniano Gabe, na rozpoczęcie pracy. 591 00:27:45,100 --> 00:27:47,230 Poniżej znajdują się linki, które trzeba, aby 592 00:27:47,230 --> 00:27:51,460 ściągnąć Rails, aby ją zainstalowane na komputerze. 593 00:27:51,460 --> 00:27:54,240 Oczywiście, jest to dostępne dla systemów Windows i Mac 594 00:27:54,240 --> 00:27:55,600 oraz urządzenia CS50. 595 00:27:55,600 --> 00:27:58,520 596 00:27:58,520 --> 00:28:00,020 Pytania o coś mówiliśmy? 597 00:28:00,020 --> 00:28:04,265 598 00:28:04,265 --> 00:28:06,690 >> PUBLICZNOŚCI: Byłbym zainteresowany, actually-- 599 00:28:06,690 --> 00:28:10,255 tak, wiem, że pobieranie Oprogramowanie jest największą barierą. 600 00:28:10,255 --> 00:28:14,807 Jeśli nie wystarczy mieć interes pobieranie mini sesji lub coś. 601 00:28:14,807 --> 00:28:15,640 ZACK CHAUVIN: Mm-hm. 602 00:28:15,640 --> 00:28:15,692 Tak. 603 00:28:15,692 --> 00:28:16,900 To może być bardzo pomocna. 604 00:28:16,900 --> 00:28:20,650 Jeśli ktoś naprawdę Gung-ho o za pomocą tego dla swojego projektu 605 00:28:20,650 --> 00:28:26,555 lub w przyszłości, to bym na pewno być szczęśliwy z tobą porozmawiać o tym. 606 00:28:26,555 --> 00:28:27,055 Mm-hm. 607 00:28:27,055 --> 00:28:29,530 >> PUBLICZNOŚCI: Powiązane pytanie na co ja zapytałem wcześniej. 608 00:28:29,530 --> 00:28:32,563 Dla tych z Was, którzy zrobili innych organizacji, które są nadal 609 00:28:32,563 --> 00:28:34,354 próbuje zrobić to samo rzeczą, łatwiej 610 00:28:34,354 --> 00:28:38,452 zbudować stronę internetową lub Funkcjonalność, myślę, że jakiś sens 611 00:28:38,452 --> 00:28:43,653 dlaczego mielibyśmy być on Rails w porównaniu Zend lub niektórych innych ram 612 00:28:43,653 --> 00:28:44,236 i języków. 613 00:28:44,236 --> 00:28:47,870 >> ZACK CHAUVIN: Będę po prostu powiedzieć, moje 0,02 dolarów na ten temat. 614 00:28:47,870 --> 00:28:49,090 Kocham Ruby on Rails. 615 00:28:49,090 --> 00:28:52,120 Miałem okazję pracować zarówno w PHP i Ruby on Rails. 616 00:28:52,120 --> 00:28:55,291 Wolę Ruby on Szyny powodu Ruby. 617 00:28:55,291 --> 00:28:56,790 Zdecydowanie, to duża część. 618 00:28:56,790 --> 00:28:58,140 Jak, kiedy jesteś Wybierając się z ramy, 619 00:28:58,140 --> 00:28:59,490 można również wybrać język. 620 00:28:59,490 --> 00:29:03,510 >> Ruby jest bardzo accessible-- myślę znacznie lepiej niż język PHP. 621 00:29:03,510 --> 00:29:06,250 Ale to rodzaj osobistych preferencji. 622 00:29:06,250 --> 00:29:09,360 Jak dobrze, inną kwestią jest Za ramach społeczności 623 00:29:09,360 --> 00:29:11,570 że pracujesz z. 624 00:29:11,570 --> 00:29:13,840 >> Teraz Ruby on Rails jest naprawdę gorąco. 625 00:29:13,840 --> 00:29:16,160 Jest mnóstwo wsparcia za nim. 626 00:29:16,160 --> 00:29:19,180 Możesz pisać coś na stos Przepełnienie o problemie jesteś 627 00:29:19,180 --> 00:29:22,350 mając w Ruby on Rails, i to odpowiedział. 628 00:29:22,350 --> 00:29:26,900 Ponownie, jest to open source, co oznacza, że jest on stale zmieniane. 629 00:29:26,900 --> 00:29:28,910 Jest mnóstwo ludzi które są naprawdę dedykowane 630 00:29:28,910 --> 00:29:32,370 żeby dokonać tej naprawdę niesamowite ramy. 631 00:29:32,370 --> 00:29:34,225 Więc dlatego chciałbym wybierz Ruby on Rails. 632 00:29:34,225 --> 00:29:35,225 GABRIEL GUIMARAES: Tak. 633 00:29:35,225 --> 00:29:37,562 Chciałbym powiedzieć, że pomysł za większością ram jesteś 634 00:29:37,562 --> 00:29:39,770 będzie znaleźć tam jest bardzo, bardzo podobne, prawda? 635 00:29:39,770 --> 00:29:42,210 Więc Model View Controller, Fakt, że nasz kontrolera 636 00:29:42,210 --> 00:29:44,793 będzie wyglądać jak coś jak this-- każdej z funkcji 637 00:29:44,793 --> 00:29:47,235 jest jak jeden z Twoich stron, i przekierowuje, 638 00:29:47,235 --> 00:29:48,750 i inicjuje zmienne. 639 00:29:48,750 --> 00:29:51,959 To będzie to samo dla Ramy, które codziennie widzisz tam. 640 00:29:51,959 --> 00:29:53,375 I nie będzie to model. 641 00:29:53,375 --> 00:29:55,270 I można zrobić takie rzeczy, "należy do". 642 00:29:55,270 --> 00:29:59,830 Więc zamiast robić wersję SQL, po prostu, jak, zrobić, user.tweets, 643 00:29:59,830 --> 00:30:01,210 i masz wszystko. 644 00:30:01,210 --> 00:30:02,650 Każdy ma to. 645 00:30:02,650 --> 00:30:07,070 Z wyjątkiem Ruby, robisz user.tweets, a następnie niektóre ramy w PHP, 646 00:30:07,070 --> 00:30:12,010 zrobić user.getalltweets GDZIE mój PHP nie jest problemem. 647 00:30:12,010 --> 00:30:13,460 Jak, to wielka linia. 648 00:30:13,460 --> 00:30:15,320 To samo, ale jest duża linia. 649 00:30:15,320 --> 00:30:19,350 >> Więc to jest jeden z głównych powodów, z moich preferencji ponad Ruby. 650 00:30:19,350 --> 00:30:22,290 Po prostu robię dokładnie to, samo na innych forach, 651 00:30:22,290 --> 00:30:26,021 to po prostu ma mnie dwa razy jak długie linie kodu. 652 00:30:26,021 --> 00:30:26,520 OK? 653 00:30:26,520 --> 00:30:29,730 654 00:30:29,730 --> 00:30:32,540 >> Jeszcze jakieś pytania? 655 00:30:32,540 --> 00:30:35,200 >> ZACK CHAUVIN: Coś Wspomnę quickly-- Gabe'a 656 00:30:35,200 --> 00:30:36,682 Rozmawialiśmy trochę o klejnotów. 657 00:30:36,682 --> 00:30:39,890 I to jest naprawdę great-- mam na myśli, to jest rodzaj wspólny dla wszystkich opraw, 658 00:30:39,890 --> 00:30:45,170 że istnieje rodzaj koncepcji gem, które jest jak w moim małym przykład 659 00:30:45,170 --> 00:30:46,680 Mam zalogować. 660 00:30:46,680 --> 00:30:48,460 Jak można się zalogować, wylogować się. 661 00:30:48,460 --> 00:30:51,740 Jak, że rzeczywiście rodzaj złożonym. 662 00:30:51,740 --> 00:30:55,950 To było traktowane trochę nieco na Ciebie w pset 7. 663 00:30:55,950 --> 00:31:01,160 Ale nadal nie wiem, jak w pełni wdrożyć Zarejestruj sie i wylogowania. 664 00:31:01,160 --> 00:31:03,740 A to dlatego, Ruby on Rails ma mnóstwo 665 00:31:03,740 --> 00:31:06,080 kamieni, które wykonują takie rzeczy dla Ciebie. 666 00:31:06,080 --> 00:31:08,550 >> Ponownie konwencji nad konfiguracją. 667 00:31:08,550 --> 00:31:11,050 Wszyscy będą robić tego logowania, krok zaloguj się. 668 00:31:11,050 --> 00:31:14,450 Więc dlaczego nie zrobić pakiet, zwany Opracować w tym przypadku, który jest klejnotem. 669 00:31:14,450 --> 00:31:15,810 Wystarczy umieścić go. 670 00:31:15,810 --> 00:31:18,970 A potem jest jakaś pomoc on-line w jaki sposób z niego korzystać. 671 00:31:18,970 --> 00:31:21,230 I nie musisz się martwić o coś takiego. 672 00:31:21,230 --> 00:31:24,060 >> Mocowanie na te zdjęcia things-- gem za to. 673 00:31:24,060 --> 00:31:27,220 Jak, kiedy tylko próbujemy zrobić nic nowego, jest klejnotem na to. 674 00:31:27,220 --> 00:31:29,420 A ty niby właśnie poskładać te kamienie 675 00:31:29,420 --> 00:31:33,160 i zbudować naprawdę skomplikowane Aplikacja bardzo szybko. 676 00:31:33,160 --> 00:31:35,902 677 00:31:35,902 --> 00:31:37,437 Cool. 678 00:31:37,437 --> 00:31:38,270 Jeszcze jakieś pytania? 679 00:31:38,270 --> 00:31:39,623 >> STEPHEN turban: Woo-hoo. 680 00:31:39,623 --> 00:31:40,976 Nie sądzę [niesłyszalne]. 681 00:31:40,976 --> 00:31:41,966 >> GABRIEL GUIMARAES: OK. 682 00:31:41,966 --> 00:31:42,840 Dzięki tak dużo, chłopaki. 683 00:31:42,840 --> 00:31:43,839 >> STEPHEN turban: Bug-bye. 684 00:31:43,839 --> 00:31:44,850 ZACK CHAUVIN: Bug-bye. 685 00:31:44,850 --> 00:31:45,849 >> STEPHEN turban: Woo-hoo. 686 00:31:45,849 --> 00:31:48,150 [APPLAUSE] 687 00:31:48,150 --> 00:31:49,700 >> Yay. 688 00:31:49,700 --> 00:31:50,955