1 00:00:00,000 --> 00:00:03,968 >> [Грає музика] 2 00:00:03,968 --> 00:00:10,744 3 00:00:10,744 --> 00:00:14,040 >> СТІВЕН TURBAN: Так що я Стівен тюрбан. 4 00:00:14,040 --> 00:00:16,990 Над на стороні тут, можливо, ми може отримати деякі люди занурення в. 5 00:00:16,990 --> 00:00:20,150 6 00:00:20,150 --> 00:00:23,854 У нас є Гавриїл і Зака. 7 00:00:23,854 --> 00:00:26,270 Таким чином, для короткого дорожньої карти про те, що це буде виглядати, 8 00:00:26,270 --> 00:00:31,580 Я збираюся робити деякі надзвичайно високого рівня погляд на те, що MVC є. 9 00:00:31,580 --> 00:00:32,285 Гейб? 10 00:00:32,285 --> 00:00:35,080 >> GABRIEL Гімарайнш: Я збираюся говорити про Рубі і трохи 11 00:00:35,080 --> 00:00:39,100 як Rails працює і як це може допомогти вам створювати веб-додатки. 12 00:00:39,100 --> 00:00:42,070 >> ZACK CHAUVIN: І я збираюся показати вам конкретний приклад того, як 13 00:00:42,070 --> 00:00:45,112 використовувати Rails для створення супер дивним додаток. 14 00:00:45,112 --> 00:00:46,112 СТІВЕН TURBAN: Awesome. 15 00:00:46,112 --> 00:00:46,350 Солодкий. 16 00:00:46,350 --> 00:00:46,850 Добре. 17 00:00:46,850 --> 00:00:49,510 Отже, давайте поговоримо про MVC. 18 00:00:49,510 --> 00:00:54,970 Отже, давайте перейдемо до наступного слайду, який Я зроблю, клікнувши на цю кнопку. 19 00:00:54,970 --> 00:01:12,640 І давайте йти на next-- розвитку, Мені подобається думати про збираюся CVS, 20 00:01:12,640 --> 00:01:17,240 бо CVS є зберігання та також має V в центрі. 21 00:01:17,240 --> 00:01:21,460 >> І так давайте уявимо, в магазин. 22 00:01:21,460 --> 00:01:25,380 І давайте зробимо цей магазин продати тільки одну річ. 23 00:01:25,380 --> 00:01:31,380 Отже, ми збираємося, щоб це зберігати тільки продати ці червоні чашки. 24 00:01:31,380 --> 00:01:40,410 І уявіть, що ви входите, і ви йдете в передній частині магазину, і людини. 25 00:01:40,410 --> 00:01:43,440 І його звуть Вінс. 26 00:01:43,440 --> 00:01:48,370 >> І Вінс хвилі привіт на вас, говорить привіт. 27 00:01:48,370 --> 00:01:50,860 І ви помітите одну річ про Вінса. 28 00:01:50,860 --> 00:01:56,880 Тому, коли ми думаємо про Вінс, ми треба думати про двох ключових прикметників. 29 00:01:56,880 --> 00:02:00,600 Вінс красиво, але він дурний. 30 00:02:00,600 --> 00:02:01,320 ОК. 31 00:02:01,320 --> 00:02:06,810 Таким чином, ви знаєте, не зі своєї вини, На жаль, він красиво. 32 00:02:06,810 --> 00:02:08,009 Він наш погляд. 33 00:02:08,009 --> 00:02:10,539 Таким чином, наш перший акторський склад є. 34 00:02:10,539 --> 00:02:12,340 Майте це на увазі. 35 00:02:12,340 --> 00:02:17,230 >> Тепер, запитаєте ви Вінса, ви йдете, гей Вінс. 36 00:02:17,230 --> 00:02:18,110 Я клієнт. 37 00:02:18,110 --> 00:02:19,130 Він каже, привіт. 38 00:02:19,130 --> 00:02:23,610 Я дійсно хочу один з ваших червоних чашок. 39 00:02:23,610 --> 00:02:24,760 І що Вінс сказати? 40 00:02:24,760 --> 00:02:26,510 Хто-небудь є які-небудь Ідея, що говорить Вінс? 41 00:02:26,510 --> 00:02:30,340 42 00:02:30,340 --> 00:02:31,452 Я збираюся холодної виклику. 43 00:02:31,452 --> 00:02:32,660 Що ви думаєте Вінс говорить? 44 00:02:32,660 --> 00:02:36,139 >> АУДИТОРІЯ: Він говорить, що я можу показати вам, де він знаходиться, але я не можу дати вам один. 45 00:02:36,139 --> 00:02:41,330 >> СТІВЕН TURBAN: Він говорить, що я можу показати вам, де він знаходиться, але я не можу дати вам один. 46 00:02:41,330 --> 00:02:42,295 Навіть гірше. 47 00:02:42,295 --> 00:02:44,420 Хто-небудь ще є інший знаю, що Вінс може сказати? 48 00:02:44,420 --> 00:02:46,957 >> АУДИТОРІЯ: Він повинен піти перевірити чи є у них червоні чашки. 49 00:02:46,957 --> 00:02:49,290 СТІВЕН TURBAN: Вінс НЕ навіть знаю, що він повинен перевірити. 50 00:02:49,290 --> 00:02:50,070 Що-небудь ще? 51 00:02:50,070 --> 00:02:52,360 Так ви сказали, повинен перевірити, якщо він має червоні чашки. 52 00:02:52,360 --> 00:02:52,895 Продовжуй. 53 00:02:52,895 --> 00:02:54,020 АУДИТОРІЯ: Що Червона чашка? 54 00:02:54,020 --> 00:02:56,072 СТІВЕН TURBAN: Що Червона чашка? 55 00:02:56,072 --> 00:02:58,090 Що Червона чашка? 56 00:02:58,090 --> 00:02:59,410 Вінс в замішанні. 57 00:02:59,410 --> 00:03:05,141 Так Вінс збирається поговорити з Наш наступний акторський склад, Карл. 58 00:03:05,141 --> 00:03:10,252 І коли ми думаємо про Карла, ми Повинен думати про двох великих adjectives-- 59 00:03:10,252 --> 00:03:15,110 він контролюючим, але він не в змозі. 60 00:03:15,110 --> 00:03:17,840 >> Так Вінс goes-- він йде, що Червона чашка? 61 00:03:17,840 --> 00:03:19,800 Я не знаю, що червоний чашки. 62 00:03:19,800 --> 00:03:23,080 Він обертається і питає Карл. 63 00:03:23,080 --> 00:03:28,890 Він каже, Карл, хтось попросив червоною чашки. 64 00:03:28,890 --> 00:03:30,722 Чи можете ви це зробити? 65 00:03:30,722 --> 00:03:31,680 І що ж Карл сказати? 66 00:03:31,680 --> 00:03:32,513 Давайте зрозуміти це. 67 00:03:32,513 --> 00:03:34,330 Хто-небудь є будь-яка Ідея, що говорить Карл? 68 00:03:34,330 --> 00:03:37,260 І я просто повторити його назад до вас. 69 00:03:37,260 --> 00:03:39,280 Я бачив рух руки. 70 00:03:39,280 --> 00:03:41,760 >> АУДИТОРІЯ: Він говорить хтось ще, щоб отримати червоні чашки. 71 00:03:41,760 --> 00:03:44,430 >> СТІВЕН TURBAN: Він говорить хтось ще, щоб отримати червону чашку. 72 00:03:44,430 --> 00:03:46,270 Саме так. 73 00:03:46,270 --> 00:03:49,010 І у нас є ідея хто ця людина може бути? 74 00:03:49,010 --> 00:03:52,590 75 00:03:52,590 --> 00:03:53,090 Це натяк. 76 00:03:53,090 --> 00:03:56,960 Це буде почати з М. Mob? 77 00:03:56,960 --> 00:04:00,225 >> АУДИТОРІЯ: Модель. 78 00:04:00,225 --> 00:04:02,720 >> СТІВЕН TURBAN: модель, так. 79 00:04:02,720 --> 00:04:06,920 Його ім'я не моделі, на жаль, тому що це дурне назву. 80 00:04:06,920 --> 00:04:09,310 У нас є Mitt. 81 00:04:09,310 --> 00:04:12,970 І коли ми думаємо про Mitt-- Ні, це не картина Зака. 82 00:04:12,970 --> 00:04:15,590 83 00:04:15,590 --> 00:04:21,759 Ми повинні думати про двох Основні прикметники з рукавицею. 84 00:04:21,759 --> 00:04:25,040 Він здатний, але він покірним. 85 00:04:25,040 --> 00:04:29,950 Так Мітт знає, що він повинен зробити, але він дійсно нічого не може зробити. 86 00:04:29,950 --> 00:04:32,340 Або він дійсно не може вирішити, сам по собі. 87 00:04:32,340 --> 00:04:33,256 >> Отже, ми маємо Карл. 88 00:04:33,256 --> 00:04:34,705 Карл кричить на виставці MITT. 89 00:04:34,705 --> 00:04:39,990 І він каже, гей Мітт, ми повинні червоні чашки. 90 00:04:39,990 --> 00:04:46,410 І Мітт йде до своєї червоної депозитарію чашки. 91 00:04:46,410 --> 00:04:48,960 Він вистачає чашку, і він дає його назад. 92 00:04:48,960 --> 00:04:51,360 Хто-небудь є будь-яка ідея, що відбувається потім? 93 00:04:51,360 --> 00:04:54,070 94 00:04:54,070 --> 00:04:55,120 Дає чашку. 95 00:04:55,120 --> 00:05:01,740 Поки Мітт відправився в свій червоний сховище чашка, взяв його, 96 00:05:01,740 --> 00:05:03,550 перевірити його, сказав: Я взяв одну червону чашку. 97 00:05:03,550 --> 00:05:06,717 І він дає його з Карлом. 98 00:05:06,717 --> 00:05:07,550 У вас є ідея? 99 00:05:07,550 --> 00:05:08,980 Що ви думаєте Карл робить? 100 00:05:08,980 --> 00:05:10,926 >> АУДИТОРІЯ: Карл дає його Вінсом. 101 00:05:10,926 --> 00:05:13,550 >> СТІВЕН TURBAN: Карл дає його Вінсом. 102 00:05:13,550 --> 00:05:14,165 Вінс. 103 00:05:14,165 --> 00:05:15,999 >> АУДИТОРІЯ: І Вінс показує, що він [нерозбірливо]. 104 00:05:15,999 --> 00:05:16,998 СТІВЕН TURBAN: Абсолютно вірно. 105 00:05:16,998 --> 00:05:18,080 Так ось саме він. 106 00:05:18,080 --> 00:05:21,040 Так Вінс бере чашку, навіть не знаю, що це таке, 107 00:05:21,040 --> 00:05:23,840 але він показує його користувачеві. 108 00:05:23,840 --> 00:05:27,140 Так давайте спробуємо відтворити це дійсно коротко. 109 00:05:27,140 --> 00:05:31,380 І ми збираємося необхідність три тихі добровольців, 110 00:05:31,380 --> 00:05:35,260 як ви, хлопці, не збирається щоб бути в змозі говорити. 111 00:05:35,260 --> 00:05:36,470 Так я міг захопити три? 112 00:05:36,470 --> 00:05:37,040 ОК. 113 00:05:37,040 --> 00:05:38,248 І ким би ви хотіли бути? 114 00:05:38,248 --> 00:05:42,310 115 00:05:42,310 --> 00:05:43,750 >> Аудиторія: Я буду Вінс. 116 00:05:43,750 --> 00:05:44,960 >> СТІВЕН TURBAN: Вінс, OK. 117 00:05:44,960 --> 00:05:46,190 Красиво, але нерозумно. 118 00:05:46,190 --> 00:05:47,510 Відмінно. 119 00:05:47,510 --> 00:05:48,570 Хто-небудь ще? 120 00:05:48,570 --> 00:05:53,520 Ми шукаємо здатний, але покірним. 121 00:05:53,520 --> 00:05:55,760 Хто-небудь ще хоче бути в змозі? 122 00:05:55,760 --> 00:05:56,944 >> Аудиторія: Я міг би бути Carl. 123 00:05:56,944 --> 00:05:57,860 СТІВЕН TURBAN: Sweet. 124 00:05:57,860 --> 00:05:59,102 У нас є Карл. 125 00:05:59,102 --> 00:05:59,866 >> АУДИТОРІЯ: Мітт. 126 00:05:59,866 --> 00:06:01,050 >> СТІВЕН TURBAN: Мітт, OK. 127 00:06:01,050 --> 00:06:05,070 І ми збираємося потрібно a-- я буду клієнт. 128 00:06:05,070 --> 00:06:07,460 Так що приходьте на до, давай до. 129 00:06:07,460 --> 00:06:10,470 І все в силу? 130 00:06:10,470 --> 00:06:15,440 Так що я збираюся запитати Вінса стояти в передній, так посміхаючись, 131 00:06:15,440 --> 00:06:18,230 просто посміхається так яскраво, як це можливо. 132 00:06:18,230 --> 00:06:21,520 І ми збираємося попросити Карла, Добре, чому б тобі не, начебто, 133 00:06:21,520 --> 00:06:24,050 стояти прямо за нею? 134 00:06:24,050 --> 00:06:26,660 І Мітт, чому б тобі не просто йдуть в спину, 135 00:06:26,660 --> 00:06:31,410 і тоді я дам вам групу чашок, щоб бовтатися с. 136 00:06:31,410 --> 00:06:34,170 >> Так що я клієнт. 137 00:06:34,170 --> 00:06:35,610 Я прийду. 138 00:06:35,610 --> 00:06:40,490 І я роблю [нерозбірливо] Я кажуть, привіт, я хотів би чашку. 139 00:06:40,490 --> 00:06:43,214 140 00:06:43,214 --> 00:06:44,580 Ідеально підходить. 141 00:06:44,580 --> 00:06:45,580 Так Вінс не має ні найменшого уявлення. 142 00:06:45,580 --> 00:06:46,915 Отже, що ж Вінс робити далі? 143 00:06:46,915 --> 00:06:50,770 144 00:06:50,770 --> 00:06:52,860 Vince-- ОК, так що я збираюся бути оповідає зараз. 145 00:06:52,860 --> 00:06:55,390 >> Вінс кричить на Карла, чашка! 146 00:06:55,390 --> 00:06:58,840 147 00:06:58,840 --> 00:07:00,790 Що Карл робити? 148 00:07:00,790 --> 00:07:03,910 Карл кричить на виставці MITT. 149 00:07:03,910 --> 00:07:06,710 Мітт вистачає чашку. 150 00:07:06,710 --> 00:07:08,220 Мітт дає його Карлу. 151 00:07:08,220 --> 00:07:10,870 Карл повертається його Винсу. 152 00:07:10,870 --> 00:07:12,640 І Вінс показує його користувачеві. 153 00:07:12,640 --> 00:07:17,960 >> І це високий, високий, високий, так високо погляд на MVC. 154 00:07:17,960 --> 00:07:22,460 Ми ділимо його на що мають вигляд, що користувач бачить, контролер, хто 155 00:07:22,460 --> 00:07:25,760 хто робить все, що в фоновому режимі але насправді нічого не можу оновити 156 00:07:25,760 --> 00:07:29,960 або що-небудь якесь значення не може зробити крім виклику вигляд і модель. 157 00:07:29,960 --> 00:07:35,280 А то у нас Mitt, модель, хто оновлює всі дані у нас є. 158 00:07:35,280 --> 00:07:42,660 Так що спасибі вам велике за наш прекрасний, управління, і здатні волонтери. 159 00:07:42,660 --> 00:07:43,730 І я думаю, що це було. 160 00:07:43,730 --> 00:07:45,040 >> [Оплески] 161 00:07:45,040 --> 00:07:48,745 >> Я думаю, Гейб буде говорити зараз на сподіватися, менш високому рівні. 162 00:07:48,745 --> 00:07:51,600 >> GABRIEL Гімарайнш: Добре, хлопці. 163 00:07:51,600 --> 00:07:56,790 Тепер давайте поговоримо трохи більше про Код і про Рубі на себе Rails, 164 00:07:56,790 --> 00:08:00,750 і про те, як він ставиться для всіх у цій історії MVC. 165 00:08:00,750 --> 00:08:03,190 В основному, Ruby на Rails є основою. 166 00:08:03,190 --> 00:08:04,640 Докладніше про це в секунду. 167 00:08:04,640 --> 00:08:07,760 >> Але тільки, щоб дати вам про те, хто використовує його, 168 00:08:07,760 --> 00:08:12,240 як всі ці великі companies-- так GitHub, Groupon, Twitter-- 169 00:08:12,240 --> 00:08:15,300 вони всі з використанням Рубін на Рейки в якості основного рамках 170 00:08:15,300 --> 00:08:16,510 для реалізації їх на сайті. 171 00:08:16,510 --> 00:08:19,130 Так що я впевнений, що багато людей використовували ці сайти тут. 172 00:08:19,130 --> 00:08:24,470 І все це Ruby On Rails для реалізації модель, вид і контролер 173 00:08:24,470 --> 00:08:26,890 на всіх цих веб-сайтів та багато іншого. 174 00:08:26,890 --> 00:08:27,830 ОК? 175 00:08:27,830 --> 00:08:32,090 >> Так як я вже сказав, Рубін на Rails є основою. 176 00:08:32,090 --> 00:08:37,237 І ви можете би думаю рамок в сенсі, як будувати будинок. 177 00:08:37,237 --> 00:08:39,570 Так що якщо ви збираєтеся будувати house--, і ви можете завжди 178 00:08:39,570 --> 00:08:40,653 почати з нуля, чи не так? 179 00:08:40,653 --> 00:08:46,440 Ви можете спробувати придумати з образом побачив дерево, 180 00:08:46,440 --> 00:08:49,760 і довести деревину до місця, і щоб отримати камінь у правій форми, 181 00:08:49,760 --> 00:08:51,250 а потім все це. 182 00:08:51,250 --> 00:08:54,020 Але що відбувається, щоб прийняти ймовірно, багато років 183 00:08:54,020 --> 00:08:56,910 поки ви не отримаєте всі матеріали, і ви отримаєте всі разом, 184 00:08:56,910 --> 00:08:58,790 і ви насправді почати побудувати свій будинок. 185 00:08:58,790 --> 00:09:01,748 >> Ось і виходить, якщо ви починаєте з рамки з чимось, що це 186 00:09:01,748 --> 00:09:04,260 вже ніби на місці для будь-якого типу будинку 187 00:09:04,260 --> 00:09:07,750 що ви хочете build-- щось це дуже загальний, але що ви можете 188 00:09:07,750 --> 00:09:12,850 то моделі, до свій розсуд goals--, то ви можете використовувати 189 00:09:12,850 --> 00:09:16,800 Ця сила рамках будувати їм щось набагато, набагато швидше. 190 00:09:16,800 --> 00:09:17,300 ОК. 191 00:09:17,300 --> 00:09:21,110 Так що це та ж сама ідея в рамки для веб-додатків 192 00:09:21,110 --> 00:09:23,755 або для різних типів Додаток, з цього питання. 193 00:09:23,755 --> 00:09:26,560 >> Ви насправді почати з половиною додатки 194 00:09:26,560 --> 00:09:28,400 там вже на місці для вас. 195 00:09:28,400 --> 00:09:32,230 І це, я маю на увазі ви отримаєте багато файли, які вже мають функції, 196 00:09:32,230 --> 00:09:36,830 як бібліотеки, як функціональність, і команди, які можна запустити в порядку 197 00:09:36,830 --> 00:09:40,500 щоб зробити ваше життя набагато простіше і легше. 198 00:09:40,500 --> 00:09:41,180 ОК. 199 00:09:41,180 --> 00:09:43,555 >> Таким чином, в цьому випадку, ми збираємося говорити про Ruby On Rails. 200 00:09:43,555 --> 00:09:45,920 Є багато різних каркасів там. 201 00:09:45,920 --> 00:09:47,550 Там же Django для Python. 202 00:09:47,550 --> 00:09:50,990 Там це в Zend Framework або Laravel для PHP. 203 00:09:50,990 --> 00:09:52,390 Є багато різних. 204 00:09:52,390 --> 00:09:56,830 Рубін на Rails є дуже приємно новий. 205 00:09:56,830 --> 00:10:01,600 Багато людей використовують, що в стартапи і цей вид навколишнього середовища. 206 00:10:01,600 --> 00:10:04,250 І деякі з них дуже великий компанії, які я показав тут раніше 207 00:10:04,250 --> 00:10:06,050 Також за допомогою Ruby On Rails. 208 00:10:06,050 --> 00:10:10,070 >> Так що просто дати вам відчуття того, що Рубі 209 00:10:10,070 --> 00:10:13,030 як, так як ви, хлопці, більше звикли щоб, як, C і трохи PHP 210 00:10:13,030 --> 00:10:17,560 зараз, так Рубін буде еквівалент вашої PHP в цьому сенсі. 211 00:10:17,560 --> 00:10:18,380 Це не Рубі. 212 00:10:18,380 --> 00:10:19,830 Це C. OK? 213 00:10:19,830 --> 00:10:22,660 Але це, як Функція DJBHash, що я 214 00:10:22,660 --> 00:10:27,170 знаю, що багато людей використовували для Pset друкарськими помилками. 215 00:10:27,170 --> 00:10:29,670 >> І в Ruby, досить так само, як в PHP, ви 216 00:10:29,670 --> 00:10:32,745 могли б реалізувати це з лише кілька рядків коду. 217 00:10:32,745 --> 00:10:34,870 Замість того, щоб турбуватися про хеш-функції, 218 00:10:34,870 --> 00:10:37,950 турбуючись про відрах, і все, що ви можете просто сказати, 219 00:10:37,950 --> 00:10:40,160 словник = Hash.net. 220 00:10:40,160 --> 00:10:44,560 І тоді ви використовуєте ніби як Та ж ідея, що PHP не було. 221 00:10:44,560 --> 00:10:45,970 І так це істина. 222 00:10:45,970 --> 00:10:48,080 І потім, якщо ви хочете, щоб перевірити, так що перевірити функцію 223 00:10:48,080 --> 00:10:51,560 якби словник "Foo" дорівнює дорівнює правда, повернення правда. 224 00:10:51,560 --> 00:10:52,580 І це все, добре? 225 00:10:52,580 --> 00:10:54,030 >> Таким чином, ви помітите, деякі відмінності. 226 00:10:54,030 --> 00:10:57,940 Там немає крапки з комою тут, як це було в С 227 00:10:57,940 --> 00:11:00,710 Але загальна ідея дуже схожа. 228 00:11:00,710 --> 00:11:02,030 ОК? 229 00:11:02,030 --> 00:11:08,010 >> Крім того, в Ruby, є дорогоцінні камені, які є свого роду бібліотек Рубі. 230 00:11:08,010 --> 00:11:12,460 І Rails обробляє їх в дуже хороший спосіб для вас. 231 00:11:12,460 --> 00:11:15,480 Так що якщо ви хочете поставити в якійсь бібліотеки, які 232 00:11:15,480 --> 00:11:18,670 робить електронну пошту, або що робить текстовими повідомленнями, 233 00:11:18,670 --> 00:11:22,170 або що робить інтеграцію з Facebook, або якої-небудь речі 234 00:11:22,170 --> 00:11:24,374 як, що для вашої програми, це дуже, дуже легко. 235 00:11:24,374 --> 00:11:26,790 Швидше за все ви можете знайти щось так в Інтернеті. 236 00:11:26,790 --> 00:11:30,300 І вони просто роблять щось на зразок сайті, який 237 00:11:30,300 --> 00:11:32,290 дорогоцінний камінь ви хочете використовувати у файлі дорогоцінних каменів. 238 00:11:32,290 --> 00:11:33,749 А потім Rails встановлює все. 239 00:11:33,749 --> 00:11:36,456 Ви не повинні турбуватися про будь-які того, що, таким чином, це дійсно здорово. 240 00:11:36,456 --> 00:11:38,500 Крім того, є багато, багато онлайн допомогу. 241 00:11:38,500 --> 00:11:40,485 Таким чином, ви можете знайти багато речей. 242 00:11:40,485 --> 00:11:42,360 Якщо у вас є помилки, ви можете просто Google його, 243 00:11:42,360 --> 00:11:45,090 і це буде дуже легко отримати допомогу. 244 00:11:45,090 --> 00:11:47,200 >> І це багато fun-- exactly--, тому що ви 245 00:11:47,200 --> 00:11:51,420 не доведеться турбуватися про низький рівень деталі, реалізація хеш-таблиць 246 00:11:51,420 --> 00:11:58,080 і того, щоб придумати все HTTP-заголовки, і багато речей, 247 00:11:58,080 --> 00:12:00,197 і навіть деякі вищі речі рівня. 248 00:12:00,197 --> 00:12:02,030 Ви не повинні турбуватися про те, що в Rails. 249 00:12:02,030 --> 00:12:04,010 Це робить його дуже, дуже добре для вас. 250 00:12:04,010 --> 00:12:07,490 І ми збираємося показати, що більш конкретно дуже скоро. 251 00:12:07,490 --> 00:12:08,130 ОК. 252 00:12:08,130 --> 00:12:09,750 >> Так трохи про Рубі знову. 253 00:12:09,750 --> 00:12:11,420 Так що це просто, як C, як я вже сказав. 254 00:12:11,420 --> 00:12:14,170 Замість того, щоб Printf, ми говоримо, "Ставить", який є "покласти рядок". 255 00:12:14,170 --> 00:12:18,100 Це ставить рядок на консоль. 256 00:12:18,100 --> 00:12:20,601 І в цьому випадку, ми просто друку "Hello World". 257 00:12:20,601 --> 00:12:23,100 Нам не потрібно дужки, але це значною мірою схожі. 258 00:12:23,100 --> 00:12:26,190 >> І потім, якщо ви хочете зробити щось тут, 259 00:12:26,190 --> 00:12:30,450 як надрукувати купу "штанах" і купа "BIGS" в той час як цикл, 260 00:12:30,450 --> 00:12:32,060 це ніби як в С, чи не так? 261 00:12:32,060 --> 00:12:35,090 Ви не маєте Params, але це в значній мірі те ж саме. 262 00:12:35,090 --> 00:12:37,300 Відступи тут підраховує, тому х дорівнює 1. 263 00:12:37,300 --> 00:12:41,250 І потім, коли х менше, ніж 50-- це Якщо це інше. 264 00:12:41,250 --> 00:12:42,810 Це досить багато, як те, що ви бачили. 265 00:12:42,810 --> 00:12:47,150 >> І тоді х + = 1 тільки збільшуючи, ніби як робить ++, які ви можете 266 00:12:47,150 --> 00:12:50,213 зробити у С. Але це досить багато, що ви бачили в С. 267 00:12:50,213 --> 00:12:52,380 Вона не повинна бути занадто складною. 268 00:12:52,380 --> 00:12:54,320 Але це більш потужним. 269 00:12:54,320 --> 00:13:00,100 Таким чином, існує кілька команд тут що, безумовно, трохи новіше. 270 00:13:00,100 --> 00:13:05,110 >> Так, наприклад, "пут". 271 00:13:05,110 --> 00:13:08,680 Ви можете використовувати цю хештегом позначення тут просто роздрукувати something-- 272 00:13:08,680 --> 00:13:13,490 дуже схоже на те, що ви могли б зробити, якщо % D або% C або декілька, як, що. 273 00:13:13,490 --> 00:13:17,600 І ви можете поставити Якщо відразу після затвердження. 274 00:13:17,600 --> 00:13:21,180 Так що я хочу робити тільки this-- Якщо х більше, ніж 3. 275 00:13:21,180 --> 00:13:24,129 Так чому б я повинен зробити всю Якщо блок? 276 00:13:24,129 --> 00:13:24,670 Я не знаю. 277 00:13:24,670 --> 00:13:28,880 Я можу просто роздрукувати це тільки якщо х дорівнює більше, ніж 3. 278 00:13:28,880 --> 00:13:32,740 Так що це спосіб одній лінії робити це в Ruby. 279 00:13:32,740 --> 00:13:35,570 >> Список в Рубіні щось дуже універсальним. 280 00:13:35,570 --> 00:13:38,110 Таким чином, ви дійсно не потрібно мати тільки один тип. 281 00:13:38,110 --> 00:13:40,674 Ви можете мати рядок, а потім деякі числа, і все. 282 00:13:40,674 --> 00:13:42,590 І якщо ви хочете, щоб додати то в список, 283 00:13:42,590 --> 00:13:46,860 ви можете просто використовувати це Позначення прямо тут. 284 00:13:46,860 --> 00:13:48,310 >> І якщо ви хочете перебрати. 285 00:13:48,310 --> 00:13:56,200 Досить багато 4each в PHP, тут, ви є список, і ви робите "List.each зробити." 286 00:13:56,200 --> 00:13:59,464 І це "Елем", це як ім'я кожного елемента 287 00:13:59,464 --> 00:14:00,880 що я буду мати в моєму списку. 288 00:14:00,880 --> 00:14:03,890 І тоді я просто не можу "ставить елем." 289 00:14:03,890 --> 00:14:07,130 І "ставить" досить багато ручки покласти його для вас, печатки. 290 00:14:07,130 --> 00:14:09,920 Це не має значення, якщо це рядок або INT. 291 00:14:09,920 --> 00:14:12,790 Це буде працювати, що для вас. 292 00:14:12,790 --> 00:14:14,270 Вірно? 293 00:14:14,270 --> 00:14:14,790 Круто. 294 00:14:14,790 --> 00:14:19,980 >> І так само, як PHP, Ruby і HTML також інтегрувати дуже, дуже красиво. 295 00:14:19,980 --> 00:14:23,340 І ось, є якась HTML з Рубіном у ньому. 296 00:14:23,340 --> 00:14:25,860 Тому у нас є тег тіла, як в HTML. 297 00:14:25,860 --> 00:14:28,270 І якщо ми хочемо, щоб перевірити що користувач, наприклад, 298 00:14:28,270 --> 00:14:35,730 увійшли в систему, ми можемо просто сказати: початок Рубі, якщо user.logged_in?, Кінець Ruby. 299 00:14:35,730 --> 00:14:39,240 Надрукувати цю всю річ, яка є деякі Рубі в ньому, що це просто 300 00:14:39,240 --> 00:14:42,230 ніби як, що синтаксис для PHP, що друкує змінну. 301 00:14:42,230 --> 00:14:43,380 Давайте друкувати user.name. 302 00:14:43,380 --> 00:14:48,870 >> Так що ласкаво просимо, Стівен, всередині HTML-дів. 303 00:14:48,870 --> 00:14:53,760 І врешті-решт, у нас є "кінець" і Рубі код, який означає, що це мій 304 00:14:53,760 --> 00:14:54,470 Якщо блок. 305 00:14:54,470 --> 00:14:55,060 ОК? 306 00:14:55,060 --> 00:14:57,684 Так що це просто, як безшовні інтеграція між Рубіном і HTML. 307 00:14:57,684 --> 00:15:00,056 308 00:15:00,056 --> 00:15:01,430 Є також багато ресурсів. 309 00:15:01,430 --> 00:15:06,290 Але перш ніж ми перейдемо, хто-небудь є які-небудь питання про Ruby, що-небудь? 310 00:15:06,290 --> 00:15:08,960 ОК. 311 00:15:08,960 --> 00:15:12,250 >> Є багато ресурсів в Інтернеті в tryruby.org, код академії, 312 00:15:12,250 --> 00:15:18,740 ruby-lang.org, де ви можете спробувати його на вашому браузері перед вами насправді 313 00:15:18,740 --> 00:15:22,310 кажуть, о, добре, я збираюся використовувати Рубі для мого остаточного проекту. 314 00:15:22,310 --> 00:15:24,020 І так виразно дають тим, спробувати. 315 00:15:24,020 --> 00:15:26,510 Всі ці слайди є буде доступна онлайн, 316 00:15:26,510 --> 00:15:28,950 так що ви можете просто завантажити їх. 317 00:15:28,950 --> 00:15:30,115 І так? 318 00:15:30,115 --> 00:15:31,889 >> АУДИТОРІЯ: [нерозбірливо] що ви тільки що показали, 319 00:15:31,889 --> 00:15:36,851 був HTML і код, впроваджений в їх в це поняття Model View 320 00:15:36,851 --> 00:15:37,350 Контролер? 321 00:15:37,350 --> 00:15:37,610 >> GABRIEL Гімарайнш: Так. 322 00:15:37,610 --> 00:15:40,290 Ми зробимо це в секунду коли ми показуємо наш приклад, добре? 323 00:15:40,290 --> 00:15:41,290 Спасибі за запитання. 324 00:15:41,290 --> 00:15:44,760 Так питання було в основному, якщо ми може показати цю інтеграцію Рубі 325 00:15:44,760 --> 00:15:49,230 в HTML в рамках моделі Перегляд бази контролера. 326 00:15:49,230 --> 00:15:51,710 >> Таким чином, ідея моделі База View Controller 327 00:15:51,710 --> 00:15:55,740 це в основному філософія, так само, як Стівен показав тут. 328 00:15:55,740 --> 00:15:58,177 І це не те, що у вас є, щоб зробити, 329 00:15:58,177 --> 00:16:00,510 але це те, що робить Ваше життя набагато простіше. 330 00:16:00,510 --> 00:16:04,170 І Рубін на Rails побудований навколо цієї філософії коду. 331 00:16:04,170 --> 00:16:06,320 Отже, ми збираємося, щоб показати Приклад дуже скоро. 332 00:16:06,320 --> 00:16:07,340 >> Так Rails є любов. 333 00:16:07,340 --> 00:16:09,140 Багато людей використовують його, як я вже сказав. 334 00:16:09,140 --> 00:16:10,510 І це дійсно весело. 335 00:16:10,510 --> 00:16:12,360 Ви, хлопці, повинні безумовно, дати йому спробувати. 336 00:16:12,360 --> 00:16:15,120 MVC робить все простіше. 337 00:16:15,120 --> 00:16:18,110 Таким чином, Model View Controller, розділяють речі 338 00:16:18,110 --> 00:16:21,450 і покласти одна людина, по суті, або одна частина вашого застосування 339 00:16:21,450 --> 00:16:24,850 зробити кожного з різних робочих місць що ваш додаток має справу. 340 00:16:24,850 --> 00:16:26,676 І менше часу провів з проблем низького рівня. 341 00:16:26,676 --> 00:16:27,800 І дуже популярні зараз. 342 00:16:27,800 --> 00:16:29,917 У нас є Rails 4.0, що нова версія. 343 00:16:29,917 --> 00:16:31,500 І це відбувається з великою кількістю цікавого матеріалу. 344 00:16:31,500 --> 00:16:32,562 Інше питання. 345 00:16:32,562 --> 00:16:34,490 >> АУДИТОРІЯ: Ще одне питання. 346 00:16:34,490 --> 00:16:39,310 Рубін на Rails проти Рубін на Rails Grails. 347 00:16:39,310 --> 00:16:40,230 >> GABRIEL Гімарайнш: OK. 348 00:16:40,230 --> 00:16:42,252 Питання було, Ruby на Rails проти Ruby-- 349 00:16:42,252 --> 00:16:42,960 АУДИТОРІЯ: Grails. 350 00:16:42,960 --> 00:16:43,490 Рубі? 351 00:16:43,490 --> 00:16:44,490 >> GABRIEL Гімарайнш: Так. 352 00:16:44,490 --> 00:16:45,955 Так Рубін мову. 353 00:16:45,955 --> 00:16:46,745 >> АУДИТОРІЯ: Немає 354 00:16:46,745 --> 00:16:50,360 Я прошу вас, щоб порівняти мову і рамки, Ruby на Rails, 355 00:16:50,360 --> 00:16:52,975 з іншої популярної мови framework-- Grails-- з Рубіном 356 00:16:52,975 --> 00:16:53,310 по рейках. 357 00:16:53,310 --> 00:16:53,720 >> GABRIEL Гімарайнш: OK. 358 00:16:53,720 --> 00:16:54,480 Вибачте. 359 00:16:54,480 --> 00:16:57,390 Питання, порівняйте Рубі і Рубін на Rails 360 00:16:57,390 --> 00:16:59,750 в інших рамках і another-- 361 00:16:59,750 --> 00:17:01,022 >> АУДИТОРІЯ: Ruby. 362 00:17:01,022 --> 00:17:01,954 Це нормально. 363 00:17:01,954 --> 00:17:03,820 Якщо ви не знаєте про це, це нормально. 364 00:17:03,820 --> 00:17:05,359 >> GABRIEL Гімарайнш: Як, Наскільки я розумію, це that-- 365 00:17:05,359 --> 00:17:07,080 >> АУДИТОРІЯ: Там ще один Основи політики закликають Grails. 366 00:17:07,080 --> 00:17:07,700 >> GABRIEL Гімарайнш: О, Grails. 367 00:17:07,700 --> 00:17:08,650 Я ніколи не чув про нього. 368 00:17:08,650 --> 00:17:09,640 Вибачте. 369 00:17:09,640 --> 00:17:11,690 Я ніколи не чув про Groovy на Rails. 370 00:17:11,690 --> 00:17:12,744 Вибачте. 371 00:17:12,744 --> 00:17:14,869 >> АУДИТОРІЯ: Це набагато краще, інтегрований з Java. 372 00:17:14,869 --> 00:17:15,450 >> GABRIEL Гімарайнш: Я бачу. 373 00:17:15,450 --> 00:17:17,555 >> Аудиторія: Я просто цікаво про деяких людей, яких я знаю like-- 374 00:17:17,555 --> 00:17:20,240 >> НЕ GABRIEL Гімарайнш: Ні, я ніколи не чули про те, що один, на жаль. 375 00:17:20,240 --> 00:17:20,700 Grails. 376 00:17:20,700 --> 00:17:21,410 >> АУДИТОРІЯ: І деякі люди Очевидно, як Ruby On Rails. 377 00:17:21,410 --> 00:17:22,640 >> GABRIEL Гімарайнш: Я б Рубін на Rails багато. 378 00:17:22,640 --> 00:17:24,790 Я використав деякі Django з Python, як я вже сказав. 379 00:17:24,790 --> 00:17:26,329 Я використав деякі Laravel. 380 00:17:26,329 --> 00:17:29,490 Але я не використовував Groovy на Rails. 381 00:17:29,490 --> 00:17:31,630 Вибачте. 382 00:17:31,630 --> 00:17:34,040 І це дуже популярно Тепер з Rails 4.0. 383 00:17:34,040 --> 00:17:38,180 Мовляв, деякі з речей, які Rails робить для вас, наприклад, ви 384 00:17:38,180 --> 00:17:43,650 є багато CSS файлів і багато файлів JavaScript. 385 00:17:43,650 --> 00:17:45,790 І ви можете розглядати їх як окремо і все. 386 00:17:45,790 --> 00:17:50,010 >> Але тоді це automatically--, коли Ви відправляєте код до виробництва, 387 00:17:50,010 --> 00:17:52,770 він автоматично компілює їх все в один файл 388 00:17:52,770 --> 00:17:55,150 який зменшена без будь-яких простору, так що вона займає 389 00:17:55,150 --> 00:17:59,400 менше місця у вашому додатку, що ви дійсно можете масштабувати речі багато. 390 00:17:59,400 --> 00:18:04,380 Ось чому такі великі компанії як Twitter і GitHub 391 00:18:04,380 --> 00:18:10,220 використанні Rails, тому що вона робить все, що для вас, що це дійсно круто. 392 00:18:10,220 --> 00:18:12,840 >> Одна річ, яка дуже, дуже, дуже складною 393 00:18:12,840 --> 00:18:18,450 для людей, включаючи мене, хто намагається працювати 394 00:18:18,450 --> 00:18:22,430 з каркасом на початку, є що, коли ви починаєте додаток, 395 00:18:22,430 --> 00:18:24,440 Ви будете бачити купу файлів. 396 00:18:24,440 --> 00:18:28,460 Мовляв, при створенні Rails Новий мою заяву, 397 00:18:28,460 --> 00:18:31,710 Ви будете бачити все це folders-- додаток, BIN, конфігурації, дБ, Lib, 398 00:18:31,710 --> 00:18:32,482 увійти, громадськість. 399 00:18:32,482 --> 00:18:33,690 Мовляв, багато-багато всякої всячини. 400 00:18:33,690 --> 00:18:35,030 >> І перший раз, коли я побачив, що я був би, 401 00:18:35,030 --> 00:18:36,570 Добре, я поняття не маю, що відбувається. 402 00:18:36,570 --> 00:18:38,890 Я просто хочу, щоб створити Веб-сайт з "Привіт, світ", 403 00:18:38,890 --> 00:18:41,730 і це дає мені, як, 100000000000 різних сторінках. 404 00:18:41,730 --> 00:18:43,070 Я не знаю, що відбувається. 405 00:18:43,070 --> 00:18:47,460 Тому, будь ласка, не будьте занадто переймаючись тим, що. 406 00:18:47,460 --> 00:18:53,699 >> Ідея полягає в тому, що він насправді має половину будинку для вас уже. 407 00:18:53,699 --> 00:18:55,490 Вона має цілу рамки для вас уже. 408 00:18:55,490 --> 00:18:56,948 Ось чому існує так багато файлів. 409 00:18:56,948 --> 00:19:00,150 Але приємно те, що це відділяє всі з них дуже добре. 410 00:19:00,150 --> 00:19:03,370 Швидше за все вам не доведеться турбуватися про більшість з цих папок. 411 00:19:03,370 --> 00:19:05,820 >> Найбільш важливим з них, я б сказав, папка додатки, 412 00:19:05,820 --> 00:19:07,147 де ваш додаток насправді живе. 413 00:19:07,147 --> 00:19:09,730 Так конфігурації, ви збираєтеся повинні конфігурувати деякі речі, 414 00:19:09,730 --> 00:19:12,840 як бази даних тощо який вид бази даних, яку ви використовуєте. 415 00:19:12,840 --> 00:19:17,430 Але крім того, що, як і більшість ваша робота буде зроблено у додатку. 416 00:19:17,430 --> 00:19:21,620 Таким чином, у додатку, у вас є активи, контролери, помічники, поштові, моделі, види. 417 00:19:21,620 --> 00:19:24,460 Так от, ви починаєте бачити, що контролери, моделі і види приходять 418 00:19:24,460 --> 00:19:25,410 в гру. 419 00:19:25,410 --> 00:19:27,270 >> Конверти є просто якщо Ви Щоб відправити електронну пошту. 420 00:19:27,270 --> 00:19:29,400 Помічники, якщо ви хочете, щоб створити кілька функцій 421 00:19:29,400 --> 00:19:32,050 що ви використовуєте багато в поданні. 422 00:19:32,050 --> 00:19:34,490 Таким чином, ви помістіть їх в помічників. 423 00:19:34,490 --> 00:19:39,000 І активів в основному всі Ваші зображення, всі ваші CSS, 424 00:19:39,000 --> 00:19:41,200 всі ваші JavaScript, і як ці види 425 00:19:41,200 --> 00:19:43,110 речей, які будуть надіслані клієнту. 426 00:19:43,110 --> 00:19:45,500 І все це в активах, що я сказав раніше, отримує стислий. 427 00:19:45,500 --> 00:19:45,940 Це компіляції. 428 00:19:45,940 --> 00:19:49,189 І ви дійсно не потрібно турбуватися про що, коли він йде в робочому коді. 429 00:19:49,189 --> 00:19:49,770 Круто. 430 00:19:49,770 --> 00:19:54,205 >> Тепер Зак прийде в, і він збираюся зробити приклад Twitter50. 431 00:19:54,205 --> 00:19:54,970 >> АУДИТОРІЯ: Woo-Hoo! 432 00:19:54,970 --> 00:19:56,726 >> ZACK CHAUVIN: Awesome. 433 00:19:56,726 --> 00:20:00,180 Так що я мав можливість працювати з Рубіном на Rails цього літа. 434 00:20:00,180 --> 00:20:01,580 Це дивовижна структура. 435 00:20:01,580 --> 00:20:03,580 Я дуже небайдужий до неї. 436 00:20:03,580 --> 00:20:09,770 І я просто покажу вам трохи приклад того, що може виглядати. 437 00:20:09,770 --> 00:20:11,020 Перейти до Chrome. 438 00:20:11,020 --> 00:20:16,350 Так що це приклад дуже простий Рубін на Rails application-- щось 439 00:20:16,350 --> 00:20:19,690 як це щось що Рубі дійсно виділяється 440 00:20:19,690 --> 00:20:24,070 that-- тільки там, де ваш моделі дуже добре визначені. 441 00:20:24,070 --> 00:20:27,150 >> У цьому прикладі, ви побачите, дві різні моделі, які 442 00:20:27,150 --> 00:20:30,380 в тому, що у нас є користувачів і у нас є твітів. 443 00:20:30,380 --> 00:20:33,480 Так що це Twitter50, Власний Twitter Гарварду. 444 00:20:33,480 --> 00:20:36,820 Як ви можете бачити, я увійшов, какzack. 445 00:20:36,820 --> 00:20:38,860 І я в змозі зробити нові твіти. 446 00:20:38,860 --> 00:20:42,266 Так що я think-- "Це" - вибачте? 447 00:20:42,266 --> 00:20:43,182 АУДИТОРІЯ: [нерозбірливо]. 448 00:20:43,182 --> 00:20:44,061 ZACK CHAUVIN: О, добре. 449 00:20:44,061 --> 00:20:45,060 Потрібно зупинити сервер. 450 00:20:45,060 --> 00:20:47,480 Відмінно. 451 00:20:47,480 --> 00:20:49,630 Так от ми тут. 452 00:20:49,630 --> 00:20:52,520 Як ви можете бачити, у нас є Twitter додаток прямо тут. 453 00:20:52,520 --> 00:20:55,020 І це дуже легко запустити сервер. 454 00:20:55,020 --> 00:20:57,991 Ми просто зробимо "рейки сервер." 455 00:20:57,991 --> 00:20:58,490 Відмінно. 456 00:20:58,490 --> 00:20:58,990 ОК. 457 00:20:58,990 --> 00:21:00,830 Спасибі за це. 458 00:21:00,830 --> 00:21:02,200 Так що тепер ми біжимо. 459 00:21:02,200 --> 00:21:06,120 >> І ми будемо говорити: "Це є дивним семінар ". 460 00:21:06,120 --> 00:21:08,870 І давайте подивимося, що станеться. 461 00:21:08,870 --> 00:21:10,020 Таким чином, ми чірікать про це. 462 00:21:10,020 --> 00:21:13,390 Там, на дні, ви можете побачити тепер є більш ніж у три цвірінькання. 463 00:21:13,390 --> 00:21:15,980 Тому у нас є трохи нумерації сторінок відбувається. 464 00:21:15,980 --> 00:21:19,640 І у нас є, що в твіттері. 465 00:21:19,640 --> 00:21:24,010 І я також можете шукати через моє tweets-- пошук для цього і двох 466 00:21:24,010 --> 00:21:27,960 ті, які мають слово "Це" в них з'являються. 467 00:21:27,960 --> 00:21:30,860 Ми також можемо видалити твіти від натиснувши на кнопку Видалити мало. 468 00:21:30,860 --> 00:21:36,440 І очевидно, що я можу тільки видалити піст, який належав мені. 469 00:21:36,440 --> 00:21:39,030 >> Вже зараз майже у Функціональність Twitter. 470 00:21:39,030 --> 00:21:42,000 Мовляв, коли ви думаєте про це, Twitter насправді не робити все, що багато. 471 00:21:42,000 --> 00:21:44,280 Це є користувачі, у нього є твітів. 472 00:21:44,280 --> 00:21:47,690 Там якась більш складна функціональність. 473 00:21:47,690 --> 00:21:52,960 Але коли ви дійсно отримаєте вниз до нього, це досить просто Рубін на Rails додаток. 474 00:21:52,960 --> 00:21:57,560 І щось на зразок цього, з Добре розуміння Ruby On Rails, 475 00:21:57,560 --> 00:22:00,680 ви, ймовірно, зробити протягом години або двох. 476 00:22:00,680 --> 00:22:04,210 >> І це дійсно відбувається Повернутися до мантре Рубі, 477 00:22:04,210 --> 00:22:07,540 що Конвенція по конфігурації. 478 00:22:07,540 --> 00:22:10,965 Отже, повернемося в той же день, люди, в будь-який час вони хотіли, щоб зробити цей веб-сайт, 479 00:22:10,965 --> 00:22:12,340 доведеться починати з нуля. 480 00:22:12,340 --> 00:22:13,740 ОК, я хочу, щоб зробити веб-сайт. 481 00:22:13,740 --> 00:22:15,970 Давайте зробимо цей файл і Цей файл і цей файл. 482 00:22:15,970 --> 00:22:19,180 >> З Ruby On Rails, немає ні в цьому. 483 00:22:19,180 --> 00:22:21,170 Ви кажете, що я хочу, новий додаток. 484 00:22:21,170 --> 00:22:25,010 І так само, як Гейб показав нам, що створює всю структуру файлу для нас. 485 00:22:25,010 --> 00:22:27,490 І ми просто змінити маленькі деталі, які ми повинні. 486 00:22:27,490 --> 00:22:31,570 Ми просто налаштувати, які Унікальність нашого застосування. 487 00:22:31,570 --> 00:22:32,250 Круто. 488 00:22:32,250 --> 00:22:38,540 Так повертаючись до нашої презентації preview-- цікаво. 489 00:22:38,540 --> 00:22:41,408 490 00:22:41,408 --> 00:22:42,724 Де я можу уявити? 491 00:22:42,724 --> 00:22:43,640 АУДИТОРІЯ: Повний екран. 492 00:22:43,640 --> 00:22:45,715 Вгорі праворуч. 493 00:22:45,715 --> 00:22:48,480 >> ZACK CHAUVIN: Відмінно. 494 00:22:48,480 --> 00:22:48,990 Круто. 495 00:22:48,990 --> 00:22:49,490 ОК. 496 00:22:49,490 --> 00:22:51,480 Тому в першу чергу, модель. 497 00:22:51,480 --> 00:22:54,100 Стівен зробив дивовижний Робота з викладенням MVC. 498 00:22:54,100 --> 00:22:57,980 І тепер ми збираємося пов'язати що ще в Ruby On Rails. 499 00:22:57,980 --> 00:23:00,730 Так моделі ви можете вид Думай як бази даних. 500 00:23:00,730 --> 00:23:04,870 Ви востаннє бачив це в CS50 Фінанси, де модель магазини 501 00:23:04,870 --> 00:23:07,590 інформація про скільки акцій у вас є, 502 00:23:07,590 --> 00:23:10,986 або всі операції, які ви зробили. 503 00:23:10,986 --> 00:23:12,860 Це є прикладом лінія, як би ви 504 00:23:12,860 --> 00:23:15,640 йти про те, нову модель в Rails. 505 00:23:15,640 --> 00:23:17,102 Тому я хочу користувача. 506 00:23:17,102 --> 00:23:19,060 Це матиме електронної пошти, який є рядком, 507 00:23:19,060 --> 00:23:20,990 і пароль, які Також рядок. 508 00:23:20,990 --> 00:23:27,150 Так що це, як those-- Я хочу, щоб кожен ряд в моїй таблиці користувачів, щоб виглядати. 509 00:23:27,150 --> 00:23:30,730 >> Дійсно дивним частина про Rails є те, що його 510 00:23:30,730 --> 00:23:33,755 робить непотрібним писати SQL досить багато. 511 00:23:33,755 --> 00:23:38,640 Як багато з вас, хлопці люблять писати SQL в PSET 7? 512 00:23:38,640 --> 00:23:39,770 Саме так. 513 00:23:39,770 --> 00:23:41,840 SQL не дуже зручно. 514 00:23:41,840 --> 00:23:46,470 І Rails реферати все, що від з цих дійсно легко команд. 515 00:23:46,470 --> 00:23:51,580 Так, наприклад, якщо у нас є Користувач, користувач має багато твітів. 516 00:23:51,580 --> 00:23:56,580 І кожен з тих, Твіти належить користувачеві. 517 00:23:56,580 --> 00:23:59,520 >> Так що, якщо ви подивитеся тут, це наша модель для нашої твіт. 518 00:23:59,520 --> 00:24:02,750 І все, що ми повинні сказати, Цей сингл line-- Я твіт 519 00:24:02,750 --> 00:24:05,090 і я належу до користувача. 520 00:24:05,090 --> 00:24:10,160 І з цієї єдиної рядки, і трохи конфігурації бази даних, 521 00:24:10,160 --> 00:24:12,990 Rails встановлює цей зв'язок. 522 00:24:12,990 --> 00:24:17,450 У будь-який час, я можу просто сказати zack.tweets, як, дай мені все Zack твітів. 523 00:24:17,450 --> 00:24:19,420 Ні SQL. 524 00:24:19,420 --> 00:24:20,040 Супер легкий. 525 00:24:20,040 --> 00:24:26,580 Знову ж таки, це Угода по Конфігурація вступу в гру. 526 00:24:26,580 --> 00:24:29,770 >> Ви можете побачити трохи прикладу Рубін тут. 527 00:24:29,770 --> 00:24:32,740 Як Дав сказав, писати Рубін ніби як писати по-англійськи. 528 00:24:32,740 --> 00:24:35,540 Це дуже мова програмування високого рівня, і це робить його дуже легко 529 00:24:35,540 --> 00:24:42,380 для нас, щоб сказати щось на кшталт, я хочу переконайтеся, що твіт є тіло. 530 00:24:42,380 --> 00:24:43,740 Його присутність правда. 531 00:24:43,740 --> 00:24:47,170 І я хочу, щоб переконатися, що це чірікать, як нормальний Twitter, 532 00:24:47,170 --> 00:24:49,020 має максимальну довжину 140. 533 00:24:49,020 --> 00:24:52,800 Це супер-інтуїтивний, дійсно великий язик. 534 00:24:52,800 --> 00:24:54,590 >> Потім у нас є думка. 535 00:24:54,590 --> 00:24:57,510 Так що це включає в себе HTML і CSS. 536 00:24:57,510 --> 00:25:00,490 А ось приклад виду. 537 00:25:00,490 --> 00:25:05,600 Так Ruby On Rails вид легко інтегрує рубін і HTML 538 00:25:05,600 --> 00:25:08,880 для того, щоб генерувати що ми хочемо на цій сторінці. 539 00:25:08,880 --> 00:25:11,380 Так що це приклад нашого макета. 540 00:25:11,380 --> 00:25:15,710 Таким чином, ви можете побачити деякі ознаки, які ви Хлопці звикли, як HTML, тіло, 541 00:25:15,710 --> 00:25:17,250 все, що хороший матеріал. 542 00:25:17,250 --> 00:25:21,760 >> І прямо тут, однак, ми включити деякі Рубі, сказавши, 543 00:25:21,760 --> 00:25:25,390 якщо є повідомлення для відображення, потім відобразити повідомлення в дів. 544 00:25:25,390 --> 00:25:28,060 Так що я не отримаєте занадто багато в цьому. 545 00:25:28,060 --> 00:25:31,190 Але це, як правило, Сторінка, яка отримує винесено on-- 546 00:25:31,190 --> 00:25:33,960 і незалежно від того, на якій сторінці ви знаходитеся на, на цей раз отримує винесено. 547 00:25:33,960 --> 00:25:38,110 Так що це, що входить завжди. 548 00:25:38,110 --> 00:25:38,980 Круто. 549 00:25:38,980 --> 00:25:42,730 >> Інший приклад, це view-- той, де вона вибрала все твіти. 550 00:25:42,730 --> 00:25:45,630 І деякі з цих речей може виглядати досить добре знайомі. 551 00:25:45,630 --> 00:25:50,050 Так, наприклад, тут, ми цикл через кожен з твітів, 552 00:25:50,050 --> 00:25:51,960 і ми їх друку. 553 00:25:51,960 --> 00:25:54,320 Так ось, де ми роздруківки тіло. 554 00:25:54,320 --> 00:26:00,910 І якщо user-- твіт тут це реальний приклад не SQL бере участь. 555 00:26:00,910 --> 00:26:04,390 Я просто запитую, це Користувач Tweet в поточний користувач? 556 00:26:04,390 --> 00:26:06,030 Потім покажіть посилання, щоб видалити його. 557 00:26:06,030 --> 00:26:06,880 Це супер просто. 558 00:26:06,880 --> 00:26:09,670 559 00:26:09,670 --> 00:26:10,920 >> Контролер. 560 00:26:10,920 --> 00:26:14,390 Таким чином, це, знову ж, інтерфейс між моделлю і поданням. 561 00:26:14,390 --> 00:26:17,820 Це той, який робить важку роботу з interacting-- бути посередником. 562 00:26:17,820 --> 00:26:20,980 Він завантажує інформацію дивитися, що ми побачимо в секунду. 563 00:26:20,980 --> 00:26:23,850 І для того, щоб взаємодіяти з моделлю, її 564 00:26:23,850 --> 00:26:29,170 закликає моделі методи, які, що ви, хлопці, знайомі як функції. 565 00:26:29,170 --> 00:26:31,490 >> Так, наприклад, це Контролер нашої Tweet років. 566 00:26:31,490 --> 00:26:33,930 Це може виглядати трохи складною прямо зараз. 567 00:26:33,930 --> 00:26:38,240 Але це насправді супер інтуїтивно зрозумілий як тільки ви починаєте дайвінг в. 568 00:26:38,240 --> 00:26:42,990 Так, наприклад, в нашому індексі, це де ми хочемо, щоб показати всі твіти. 569 00:26:42,990 --> 00:26:46,910 І так ця лінія в основному просто просить всіх твітів. 570 00:26:46,910 --> 00:26:50,300 А потім ми инициализируем як нові tweet-- так як 571 00:26:50,300 --> 00:26:52,320 якщо вони хочуть створити новий твіт на цій сторінці. 572 00:26:52,320 --> 00:26:54,250 >> І це питає, що поточний користувач. 573 00:26:54,250 --> 00:26:58,850 І це дуже схоже на зробити, що ви бачили в PSET 7, 574 00:26:58,850 --> 00:27:02,230 де це просто якась розповідати view-- це свого роду, як, 575 00:27:02,230 --> 00:27:06,284 передаючи змінні, які ви знадобиться в цілях подання. 576 00:27:06,284 --> 00:27:08,200 І є ціла купа різних методів 577 00:27:08,200 --> 00:27:10,410 що контролер твіт може впоратися. 578 00:27:10,410 --> 00:27:12,495 >> Але насправді, Rails робить велику роботу по виду 579 00:27:12,495 --> 00:27:18,910 поділу їх у різні дії, які контролер може зробити. 580 00:27:18,910 --> 00:27:23,800 Чи є питання про кожній із частин MVC рейок? 581 00:27:23,800 --> 00:27:25,550 Вид просто бриз. 582 00:27:25,550 --> 00:27:29,250 Так що ви, хлопці, можете перевірити це на свій власний. 583 00:27:29,250 --> 00:27:30,106 Високий. 584 00:27:30,106 --> 00:27:31,200 Ми будемо тримати збирається. 585 00:27:31,200 --> 00:27:32,546 >> Тому установка Rails. 586 00:27:32,546 --> 00:27:35,170 Установка Rails може бути, як, один з найбільш складних частин 587 00:27:35,170 --> 00:27:37,830 цілих Rails Процес, на жаль. 588 00:27:37,830 --> 00:27:40,450 Але очевидно, що всі нам навколо, щоб допомогти. 589 00:27:40,450 --> 00:27:42,590 І як тільки це там, багато великих ресурсів, 590 00:27:42,590 --> 00:27:45,100 як уже згадувалося Гейб, для початку. 591 00:27:45,100 --> 00:27:47,230 Ось посилання, які Ви повинні будете в порядку 592 00:27:47,230 --> 00:27:51,460 скачати Rails, щоб отримати його встановлений на вашому комп'ютері. 593 00:27:51,460 --> 00:27:54,240 Очевидно, що це доступно як для Windows, і Mac 594 00:27:54,240 --> 00:27:55,600 і для CS50 пристрою. 595 00:27:55,600 --> 00:27:58,520 596 00:27:58,520 --> 00:28:00,020 Питання ні про що ми вже говорили? 597 00:28:00,020 --> 00:28:04,265 598 00:28:04,265 --> 00:28:06,690 >> Аудиторія: Я б цікавить, actually-- 599 00:28:06,690 --> 00:28:10,255 так що я знаю, що завантаження Програмне забезпечення великою перешкодою. 600 00:28:10,255 --> 00:28:14,807 Якщо є достатній інтерес у Завантажуючи міні сесію або щось. 601 00:28:14,807 --> 00:28:15,640 ZACK CHAUVIN: Мм-ом. 602 00:28:15,640 --> 00:28:15,692 Так. 603 00:28:15,692 --> 00:28:16,900 Це може бути дуже корисно. 604 00:28:16,900 --> 00:28:20,650 Якщо хтось дійсно ентузіазму про використовувати це для свого проекту 605 00:28:20,650 --> 00:28:26,555 або в майбутньому, то ми б, безумовно, радий поговорити з вами про це. 606 00:28:26,555 --> 00:28:27,055 Мм-ом. 607 00:28:27,055 --> 00:28:29,530 >> АУДИТОРІЯ: пов'язане з цим питання до чого я запитав раніше. 608 00:28:29,530 --> 00:28:32,563 Для тих з вас, хто зробив інші механізми, які досі 609 00:28:32,563 --> 00:28:34,354 намагається зробити те ж саме річ, зробити це простіше 610 00:28:34,354 --> 00:28:38,452 створити веб-сайт або Функціональність, я думаю, якийсь сенс 611 00:28:38,452 --> 00:28:43,653 чому ми б на Rails проти Zend або деяких інших структур 612 00:28:43,653 --> 00:28:44,236 і мов. 613 00:28:44,236 --> 00:28:47,870 >> ZACK CHAUVIN: Я просто Say My $ 0,02 про це. 614 00:28:47,870 --> 00:28:49,090 Я люблю Ruby On Rails. 615 00:28:49,090 --> 00:28:52,120 Я мав можливість працювати як в PHP і Ruby On Rails. 616 00:28:52,120 --> 00:28:55,291 Я віддаю перевагу Рубін на Рейки з Ruby. 617 00:28:55,291 --> 00:28:56,790 Безумовно, це велика частина цього. 618 00:28:56,790 --> 00:28:58,140 Мовляв, коли ви виборі бази, 619 00:28:58,140 --> 00:28:59,490 Ви також можете вибрати потрібну мову. 620 00:28:59,490 --> 00:29:03,510 >> Рубі супер accessible-- Я думаю, набагато краще, ніж мова PHP. 621 00:29:03,510 --> 00:29:06,250 Але це вид особистого уподобання. 622 00:29:06,250 --> 00:29:09,360 Крім того, ще одне міркування є спільнота за рамки 623 00:29:09,360 --> 00:29:11,570 що ви працюєте с. 624 00:29:11,570 --> 00:29:13,840 >> Зараз Рубін на Rails є дуже жарко. 625 00:29:13,840 --> 00:29:16,160 Там тонни підтримки за ним. 626 00:29:16,160 --> 00:29:19,180 Ви щось на стеку в темах Переповнення про проблему, яку ви 627 00:29:19,180 --> 00:29:22,350 маючи на Ruby On Rails, і це відповів. 628 00:29:22,350 --> 00:29:26,900 Знову ж таки, це з відкритим вихідним кодом, що означає, що він постійно змінюється. 629 00:29:26,900 --> 00:29:28,910 Там тонни людей що насправді присвячений 630 00:29:28,910 --> 00:29:32,370 для того, щоб зробити це дійсно дивним рамки. 631 00:29:32,370 --> 00:29:34,225 Так ось чому я б вибрати Ruby On Rails. 632 00:29:34,225 --> 00:29:35,225 GABRIEL Гімарайнш: Так. 633 00:29:35,225 --> 00:29:37,562 Я б сказав, що ідея За багатьма рамках ви 634 00:29:37,562 --> 00:29:39,770 збирається з'ясувати, дуже, дуже схожі, чи не так? 635 00:29:39,770 --> 00:29:42,210 Таким чином, Model View Controller, Справа в тому, що наш контролер років 636 00:29:42,210 --> 00:29:44,793 буде виглядати якось як this-- кожної з функцій 637 00:29:44,793 --> 00:29:47,235 це як на одній із сторінок, і перенаправляє вас, 638 00:29:47,235 --> 00:29:48,750 і ініціалізує змінні. 639 00:29:48,750 --> 00:29:51,959 Це буде те ж саме для кожен рамки, які ви бачите там. 640 00:29:51,959 --> 00:29:53,375 І там буде модель. 641 00:29:53,375 --> 00:29:55,270 І ви можете робити такі речі, як, "належить". 642 00:29:55,270 --> 00:29:59,830 Таким чином, замість того, щоб робити версію SQL, Ви просто, як, зробити, user.tweets, 643 00:29:59,830 --> 00:30:01,210 і ви отримаєте все. 644 00:30:01,210 --> 00:30:02,650 Кожен має це. 645 00:30:02,650 --> 00:30:07,070 За винятком Ruby, ви user.tweets, а потім деякі основи в PHP, 646 00:30:07,070 --> 00:30:12,010 ви user.getalltweets Де мої PHP не проблема. 647 00:30:12,010 --> 00:30:13,460 Мовляв, це велика лінія. 648 00:30:13,460 --> 00:30:15,320 Це те ж саме, але це велика лінія. 649 00:30:15,320 --> 00:30:19,350 >> Так що це одна з головних причин, з моїх уподобань з рубіном. 650 00:30:19,350 --> 00:30:22,290 Це просто я точно Те ж саме і в інших рамках, 651 00:30:22,290 --> 00:30:26,021 він просто бере мене в два рази до тих пір, рядків коду. 652 00:30:26,021 --> 00:30:26,520 ОК? 653 00:30:26,520 --> 00:30:29,730 654 00:30:29,730 --> 00:30:32,540 >> Будь-які інші питання? 655 00:30:32,540 --> 00:30:35,200 >> ZACK CHAUVIN: Щось Я назву quickly-- Гейб 656 00:30:35,200 --> 00:30:36,682 трохи поговорили про дорогоцінні камені. 657 00:30:36,682 --> 00:30:39,890 І це дійсно great-- Я маю на увазі, це це свого роду загальним для всіх структур, 658 00:30:39,890 --> 00:30:45,170 щось на зразок концепції дорогоцінного каміння, яка, як в моєму маленькому наприклад, 659 00:30:45,170 --> 00:30:46,680 Я увійти в систему. 660 00:30:46,680 --> 00:30:48,460 Наприклад, ви можете увійти в систему вийти. 661 00:30:48,460 --> 00:30:51,740 Мовляв, насправді вид складного процесу. 662 00:30:51,740 --> 00:30:55,950 Було опрацьовано мало небагато для вас в PSET 7. 663 00:30:55,950 --> 00:31:01,160 Але я все ще не повною мірою знати, як для реалізації Вхід в, реєстрація при вибутті. 664 00:31:01,160 --> 00:31:03,740 І це тому, що Рубін на Rails має тонн 665 00:31:03,740 --> 00:31:06,080 дорогоцінних каменів, які роблять такі речі, як це для вас. 666 00:31:06,080 --> 00:31:08,550 >> Знову ж, угода по конфігурації. 667 00:31:08,550 --> 00:31:11,050 Все це буде робити цей знак в, увійдіть від'їзду крок. 668 00:31:11,050 --> 00:31:14,450 Так чому б просто не зробити пакет, який називається Розробити в цьому випадку, який є перлиною. 669 00:31:14,450 --> 00:31:15,810 Ви просто його включити. 670 00:31:15,810 --> 00:31:18,970 І, нарешті, якась допомога онлайн з тим, як його використовувати. 671 00:31:18,970 --> 00:31:21,230 І вам не доведеться турбуватися ні про що подібне. 672 00:31:21,230 --> 00:31:24,060 >> Прикріплення фотографії на ці things-- дорогоцінний камінь для цього. 673 00:31:24,060 --> 00:31:27,220 Мовляв, в будь-який час ви намагаєтеся зробити щось нове, є дорогоцінний камінь для цього. 674 00:31:27,220 --> 00:31:29,420 І ви начебто просто зібрати воєдино ці дорогоцінні камені 675 00:31:29,420 --> 00:31:33,160 і побудувати дійсно складний Додаток дуже швидко. 676 00:31:33,160 --> 00:31:35,902 677 00:31:35,902 --> 00:31:37,437 Круто. 678 00:31:37,437 --> 00:31:38,270 Будь-які інші питання? 679 00:31:38,270 --> 00:31:39,623 >> СТІВЕН TURBAN: Ву-ху. 680 00:31:39,623 --> 00:31:40,976 Я не думаю, що [нерозбірливо]. 681 00:31:40,976 --> 00:31:41,966 >> GABRIEL Гімарайнш: OK. 682 00:31:41,966 --> 00:31:42,840 Велике спасибі, хлопці. 683 00:31:42,840 --> 00:31:43,839 >> СТІВЕН TURBAN: Буг до побачення. 684 00:31:43,839 --> 00:31:44,850 ZACK CHAUVIN: Буг до побачення. 685 00:31:44,850 --> 00:31:45,849 >> СТІВЕН TURBAN: Ву-ху. 686 00:31:45,849 --> 00:31:48,150 [Оплески] 687 00:31:48,150 --> 00:31:49,700 >> Ура. 688 00:31:49,700 --> 00:31:50,955