1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:10,960 [Възпроизвеждане на музика] 3 00:00:10,960 --> 00:00:12,960 ROGER ZURAWICKI: Здравейте, моят име е Роджър Zurawicki, 4 00:00:12,960 --> 00:00:16,410 и аз ще се покриваща семинара CS50 Meteor. 5 00:00:16,410 --> 00:00:21,520 Meteor е нова рамка посветена на нов вид уеб, 6 00:00:21,520 --> 00:00:25,220 не на PHP прави искания назад и напред вид 7 00:00:25,220 --> 00:00:29,070 на уеб видяхме в комплекта PHPP, но по-динамичен JavaScript 8 00:00:29,070 --> 00:00:31,370 части от мрежата. 9 00:00:31,370 --> 00:00:36,260 Нещата Meteor може да направи включва на живо Актуализиране 10 00:00:36,260 --> 00:00:42,380 и веднага общуването между потребители на същия уебсайт. 11 00:00:42,380 --> 00:00:46,420 >> За този семинар, ние имаме Код домакин на моя GitHub. 12 00:00:46,420 --> 00:00:49,690 Можете да отидете на този адрес и да го свалите. 13 00:00:49,690 --> 00:00:53,085 Ако знаете как да използвате Git, можете да клонирате хранилището. 14 00:00:53,085 --> 00:00:55,460 Ако не знаете как да използвате Git или не сте използвали GitHub, 15 00:00:55,460 --> 00:00:57,030 това е напълно наред. 16 00:00:57,030 --> 00:01:00,480 Аз ще ви покажа наистина бързо как можем да отидем да GitHub, 17 00:01:00,480 --> 00:01:03,604 и има опция за изтеглите цип точно там. 18 00:01:03,604 --> 00:01:06,770 След като изтеглите тази директория, можете Може да започнете да играете с нашия код. 19 00:01:06,770 --> 00:01:10,200 20 00:01:10,200 --> 00:01:13,190 >> Повече информация за Meteor може да се намери на meteor.com. 21 00:01:13,190 --> 00:01:16,580 В папката на семинара, аз всъщност има някои Meteor проекти можем да използваме. 22 00:01:16,580 --> 00:01:20,380 23 00:01:20,380 --> 00:01:26,400 Една от папките, които имаме в нашия семинар на проекта е Todos ап. 24 00:01:26,400 --> 00:01:28,780 Така че, ако аз отида в него I, имате инсталиран Meteor. 25 00:01:28,780 --> 00:01:35,690 Така че, за да го изпълним, аз просто трябва да въведете Meteor, и Meteor ще инсталирате. 26 00:01:35,690 --> 00:01:38,310 Както можете да видите, ние трябва да уверете се, че сме инсталирали Meteor. 27 00:01:38,310 --> 00:01:40,562 Така че аз съм просто ще стартирайте го още веднъж 28 00:01:40,562 --> 00:01:42,520 за да се уверите, че Meteor е правилно инсталиран. 29 00:01:42,520 --> 00:01:46,370 30 00:01:46,370 --> 00:01:48,450 >> Докато имам Meteor Инсталиране, мога да ви покажа 31 00:01:48,450 --> 00:01:53,760 някои демонстрации на живо Meteor сайтове Той ще започне в момента в интернет. 32 00:01:53,760 --> 00:01:57,990 Имам демо на нашия ап. 33 00:01:57,990 --> 00:02:00,740 Можете да я намерите на следния адрес. 34 00:02:00,740 --> 00:02:06,350 Това е, за да направите приложение, което ние имаме в нашия семинар директория. 35 00:02:06,350 --> 00:02:09,940 URL адресът за това е, rozu-rabbit.meteor.com. 36 00:02:09,940 --> 00:02:14,782 Ще видите, че Meteor действително ще хоствате Meteor проекти безплатно. 37 00:02:14,782 --> 00:02:17,490 И в края на семинара, вие ще бъдете в състояние да направи това, както добре. 38 00:02:17,490 --> 00:02:20,550 39 00:02:20,550 --> 00:02:22,160 >> Това е да се направи списък ап. 40 00:02:22,160 --> 00:02:27,740 И вие можете да влезете в профила си, създайте сметки, както и да добавят задачи. 41 00:02:27,740 --> 00:02:30,020 Можете да създадете профил като толкова. 42 00:02:30,020 --> 00:02:33,050 43 00:02:33,050 --> 00:02:35,850 И сега, след като имате профил, можете да добавите задачи. 44 00:02:35,850 --> 00:02:42,780 Например, една от задачите I Може да се наложи да отида да си взема пералня. 45 00:02:42,780 --> 00:02:45,160 И ако сте на тази сайт онлайн, вие ще 46 00:02:45,160 --> 00:02:49,790 всъщност виждате тази задача вашия компютър в реално време. 47 00:02:49,790 --> 00:02:53,760 >> Мога да ви покажа един бърз демо на този чрез отваряне rozu-заек 48 00:02:53,760 --> 00:02:56,700 в друг раздел със същия URL. 49 00:02:56,700 --> 00:03:00,360 И ние виждаме, че едни и същи данни идва. 50 00:03:00,360 --> 00:03:02,240 Можем също така да го изпълним в друг браузър. 51 00:03:02,240 --> 00:03:03,420 Кажете го изпълним в Safari. 52 00:03:03,420 --> 00:03:04,720 По този начин ние не сме идентифицирали. 53 00:03:04,720 --> 00:03:07,750 54 00:03:07,750 --> 00:03:11,060 Така че ние имаме една и съща Метеор ап, и след като тя зарежда, 55 00:03:11,060 --> 00:03:13,910 ще видим едни и същи данни направихме в първия. 56 00:03:13,910 --> 00:03:16,710 Както можете да видите, че не съм влязъл в тук. 57 00:03:16,710 --> 00:03:20,000 И когато данните от проверките на аудиторията, я актуализира по всички браузъри 58 00:03:20,000 --> 00:03:20,910 едновременно. 59 00:03:20,910 --> 00:03:23,740 Това е един от наистина готини възможности за Meteor. 60 00:03:23,740 --> 00:03:27,700 Почти без работа, вие има живо актуализиране ап 61 00:03:27,700 --> 00:03:31,240 че промените на всички устройства си наведнъж. 62 00:03:31,240 --> 00:03:36,690 >> Ако проверите I квадратчето тук в моя списък със задачи, ние ще имаме, 63 00:03:36,690 --> 00:03:41,230 в другата ми Chrome браузър, елемента отметнали. 64 00:03:41,230 --> 00:03:42,605 И това се случи мигновено. 65 00:03:42,605 --> 00:03:46,340 66 00:03:46,340 --> 00:03:47,280 Добре. 67 00:03:47,280 --> 00:03:52,730 Така че тя изглежда като Meteor инсталация е готова сега. 68 00:03:52,730 --> 00:03:57,000 Така че сега нека се върнем към Todos ап и стартирате тази на местно ниво. 69 00:03:57,000 --> 00:04:01,599 >> Ако имате проект Meteor, можете Просто го изпълним с командата Метеор. 70 00:04:01,599 --> 00:04:03,640 След като направите това, Meteor ще известна подготовка 71 00:04:03,640 --> 00:04:06,120 да се уверите, всички кода си е под контрол. 72 00:04:06,120 --> 00:04:12,440 И тогава той ще ви каже, че Проектът е готов да се сервира. 73 00:04:12,440 --> 00:04:17,750 Може да се наложи да се позволи на вашия защитна стена, ако компютърът блокира. 74 00:04:17,750 --> 00:04:22,440 >> Така че това, което Meteor ми казва точно сега е, че в този сайт 75 00:04:22,440 --> 00:04:26,100 местно към компютъра си, мога да видя какво е това Meteor проект е. 76 00:04:26,100 --> 00:04:29,290 Имайте предвид, че в момента, ми приложение е не са достъпни в интернет. 77 00:04:29,290 --> 00:04:35,170 Ще разгледаме как да внасяте Meteor ап на живо сайта малко по-късно. 78 00:04:35,170 --> 00:04:40,510 Така че аз съм просто ще копира тази URL сега и ще отиде в Google Chrome. 79 00:04:40,510 --> 00:04:42,600 >> И това е да направя списък от примера. 80 00:04:42,600 --> 00:04:46,080 Можете да видите, че изпълнява още няколко функции тук. 81 00:04:46,080 --> 00:04:49,210 Имаме различни раздели, ние има същите функции в профила, 82 00:04:49,210 --> 00:04:52,141 и можем да добавим нови списъци. 83 00:04:52,141 --> 00:04:54,140 Сега, един от наистина приятна функция за Meteor 84 00:04:54,140 --> 00:04:57,450 е, че не само може това работа на вашия уеб браузър, 85 00:04:57,450 --> 00:05:00,030 но можете да създадете родния iPhone и Android 86 00:05:00,030 --> 00:05:02,990 приложения чрез един инструмент, наречен PhoneGap. 87 00:05:02,990 --> 00:05:06,740 >> Така че някои проекти ще дойдат предварително конфигуриран за работа 88 00:05:06,740 --> 00:05:08,700 на ЗИ, като този Todos ап. 89 00:05:08,700 --> 00:05:14,780 Така че всичко, което трябва да направите, за да го изпълним в IOS се объркат Meteor, тичам, а след това IOS. 90 00:05:14,780 --> 00:05:17,540 И когато го направя, че Meteor ще подготви пакет отново. 91 00:05:17,540 --> 00:05:21,670 И тогава, когато вече е готова, тя ще зареди симулатора IOS по моя заповед. 92 00:05:21,670 --> 00:05:24,745 Забележка Можете да стартирате само IOS приложения ако имате компютър Mac. 93 00:05:24,745 --> 00:05:27,650 94 00:05:27,650 --> 00:05:30,730 Можете да пуснете вашите приложения на Android на всички платформи. 95 00:05:30,730 --> 00:05:34,070 96 00:05:34,070 --> 00:05:38,290 >> Така че сега можете да видите, че моя iPhone симулатор изскочи на екрана си. 97 00:05:38,290 --> 00:05:40,370 И в един момент, тя ще се зареди с ап. 98 00:05:40,370 --> 00:05:46,070 99 00:05:46,070 --> 00:05:48,490 Ако направим това само за малко по-малък, за да се побере на екрана, 100 00:05:48,490 --> 00:05:50,780 ние виждаме, ние имаме нашия iPhone ап. 101 00:05:50,780 --> 00:05:53,220 И точно затова не го правим се объркате, нека да направим 102 00:05:53,220 --> 00:05:59,790 сигурен, че сме на едно и също уебсайт, на локалния хост 3000. 103 00:05:59,790 --> 00:06:03,490 >> Така че точно тук е пример на Meteor ап имам, 104 00:06:03,490 --> 00:06:08,770 на Todos ап, работи както на на телефона или на уеб браузър. 105 00:06:08,770 --> 00:06:10,770 И когато сменя неща в уеб браузъра, 106 00:06:10,770 --> 00:06:12,675 той веднага отива към телефона. 107 00:06:12,675 --> 00:06:16,500 И мога да изтрия нещо по телефона, и той се променя в уеб браузъра. 108 00:06:16,500 --> 00:06:21,050 >> Сега, по принцип, за да се създаде родния телефон ап за IOS или Android, 109 00:06:21,050 --> 00:06:26,090 което трябва да знаете или Java или Цел С технологията Meteor употреби 110 00:06:26,090 --> 00:06:29,240 да се позволи на JavaScript, за да работи като приложението ти се нарича PhoneGap. 111 00:06:29,240 --> 00:06:31,320 Какво приложението ви същество е е уеб браузър. 112 00:06:31,320 --> 00:06:34,500 И Meteor обработва всички трудните части, участващи 113 00:06:34,500 --> 00:06:39,820 за прекратяването на това уеб браузър, за да вашия iPhone или вашето устройство Android. 114 00:06:39,820 --> 00:06:42,210 Можете да видите, че потребителски интерфейс е гладка, 115 00:06:42,210 --> 00:06:45,290 и тя изглежда и се чувства много много прилича родния ап. 116 00:06:45,290 --> 00:06:48,620 Забележете, че ако отида до дома екран сега, аз също така да получите икона. 117 00:06:48,620 --> 00:06:50,880 Това не е сайт като бихте намерите в Safari. 118 00:06:50,880 --> 00:06:51,860 Това е собствен приложение. 119 00:06:51,860 --> 00:06:54,130 Можете да инсталирате и да го изтриете, ако искате. 120 00:06:54,130 --> 00:06:59,500 121 00:06:59,500 --> 00:07:04,436 >> Ние можем да ви покажем накратко какви кода за този вид Todos ап прилича. 122 00:07:04,436 --> 00:07:08,260 Ако се вгледате в папката Todos, Вие ще видите, че има много папки. 123 00:07:08,260 --> 00:07:11,440 Но в течение на семинара, ние ще 124 00:07:11,440 --> 00:07:14,780 разберем какво всяка папка се използва за. 125 00:07:14,780 --> 00:07:17,830 Нека да отидем в терминала, за да сме може да видите файловете малко по-добре. 126 00:07:17,830 --> 00:07:20,410 >> Отивам да натиснете Control C, за да се спре на сървъра, 127 00:07:20,410 --> 00:07:22,770 и сега съм обратно в Тодос ап. 128 00:07:22,770 --> 00:07:26,660 Имам различни папки тук, като папката клиент, папката на сървъра. 129 00:07:26,660 --> 00:07:30,500 И тези папки просто означават, че всичко в папката клиент 130 00:07:30,500 --> 00:07:32,630 получава изпълнява на вашия браузер. 131 00:07:32,630 --> 00:07:35,530 Всичко в сървъра папка получава се изпълнява на сървъра. 132 00:07:35,530 --> 00:07:38,100 >> Това, което искам да посоча , е, че това, което сме имали 133 00:07:38,100 --> 00:07:42,140 когато имахме нашия телефон бягане и нашата уеб браузър, това са клиенти. 134 00:07:42,140 --> 00:07:45,730 Но това, което се работи в терминал, който е на сървъра. 135 00:07:45,730 --> 00:07:48,710 Ние имаме други папки, като Пб, която е библиотека код, 136 00:07:48,710 --> 00:07:51,050 като си помощник функции, които можете да 137 00:07:51,050 --> 00:07:53,710 използвате както на клиента и сървъра. 138 00:07:53,710 --> 00:07:55,820 И тогава ще трябва публично папка и ресурси 139 00:07:55,820 --> 00:07:59,310 папка, необходима за получаване на Вашите снимки и други CSS заредени. 140 00:07:59,310 --> 00:08:02,630 141 00:08:02,630 --> 00:08:09,360 >> Ако сте инсталирали Meteor, ние ще продължи с урока за Meteor. 142 00:08:09,360 --> 00:08:12,790 Можете да отидете на този адрес, meteor.com/install, 143 00:08:12,790 --> 00:08:17,990 за да получите на командния ред, че съм показахте, че инсталира Meteor. 144 00:08:17,990 --> 00:08:20,240 Ние ще мине през първата няколко стъпки, за да получите по-добър 145 00:08:20,240 --> 00:08:22,760 чувствам как да инсталирате Meteor. 146 00:08:22,760 --> 00:08:28,000 >> Но първо, мисля, че е важно, че преглеждаме малко JavaScript. 147 00:08:28,000 --> 00:08:32,360 За да ви покажа няколко примера за това как нашата C знания може да се преведе 148 00:08:32,360 --> 00:08:34,950 да JavaScript, аз съм създадени няколко примера. 149 00:08:34,950 --> 00:08:36,940 Те са в директорията JS. 150 00:08:36,940 --> 00:08:41,750 Така че, ако във вас папка семинарите изглежда, че има папка, наречена JS. 151 00:08:41,750 --> 00:08:44,540 И тук, ние имаме няколко примера. 152 00:08:44,540 --> 00:08:50,120 >> Нека да отворим първата Например и да видим много бързо. 153 00:08:50,120 --> 00:08:53,980 Това, което виждаме, е стандартната си Здравей, свят команда. 154 00:08:53,980 --> 00:08:56,520 Забелязвате в C, че сте има доста няколко линии. 155 00:08:56,520 --> 00:09:00,490 И като CS50 знаят учениците, ние се нуждаем от основна функция, 156 00:09:00,490 --> 00:09:05,730 и ние трябва да се включи стандарта I / O библиотека, за да се обадя ФОРМАТ. 157 00:09:05,730 --> 00:09:09,320 >> Нека да разгледаме как JavaScript сравнява. 158 00:09:09,320 --> 00:09:11,560 Отивам да отворите ex1.js. 159 00:09:11,560 --> 00:09:14,650 Коментиран е това, което C код ще изглежда така, 160 00:09:14,650 --> 00:09:17,550 и долния ред е всичко трябва да тичам в Node. 161 00:09:17,550 --> 00:09:20,452 Вие не се нуждаят от основна функция, не е необходимо да включва всички файлове, 162 00:09:20,452 --> 00:09:21,660 и не е нужно да се върне. 163 00:09:21,660 --> 00:09:23,810 Просто се обадете console.log. 164 00:09:23,810 --> 00:09:26,370 Това е еквивалентът на вашия ФОРМАТ. 165 00:09:26,370 --> 00:09:29,310 >> И това отнема същото аргументи ФОРМАТ би. 166 00:09:29,310 --> 00:09:33,870 И за да го стартирате, вместо да вървят направи EX1, 167 00:09:33,870 --> 00:09:38,930 вие просто ще се обадя ex1.js. възел 168 00:09:38,930 --> 00:09:41,830 Пишеш Node и след това файла, и то се изпълнява. 169 00:09:41,830 --> 00:09:43,580 Тя не се компилира. 170 00:09:43,580 --> 00:09:45,970 JavaScript е интерпретиран език. 171 00:09:45,970 --> 00:09:49,150 Така че това не е необходимо да бъде съставен преди да е тичам. 172 00:09:49,150 --> 00:09:53,450 Ако исках да тече ex1.c, Аз трябва да го направи първа, 173 00:09:53,450 --> 00:09:59,160 и след това мога да стартирате изпълнимия за да получите същия изход. 174 00:09:59,160 --> 00:10:02,460 >> Нека най-бързо покриване на някои други понятия JavaScript. 175 00:10:02,460 --> 00:10:04,490 Нека да разгледаме например две. 176 00:10:04,490 --> 00:10:14,690 В ex2.js, в ex2.c, можем Виждате, че имаме някакъв код. 177 00:10:14,690 --> 00:10:16,550 Нека бързо да отидете по-добър текстов редактор 178 00:10:16,550 --> 00:10:18,400 че ще се покаже на тези нови линии малко по-добре. 179 00:10:18,400 --> 00:10:21,760 180 00:10:21,760 --> 00:10:22,380 Добре. 181 00:10:22,380 --> 00:10:24,190 Тук имаме пример 2.в. 182 00:10:24,190 --> 00:10:27,360 Тук имаме различни видове че ние сме отпечатване. 183 00:10:27,360 --> 00:10:30,880 А както знаем, ФОРМАТ отнема различни процента доводи 184 00:10:30,880 --> 00:10:34,050 за достъп до различни части от данни. 185 00:10:34,050 --> 00:10:36,840 Ако искаме да отпечатате низ, което наричаме% S. 186 00:10:36,840 --> 00:10:40,390 Ако искаме да се обадя на плаващ Точка номер, се обадихме% е. 187 00:10:40,390 --> 00:10:45,810 И няма лесен начин да се обадя на Булева от своята истина или лъжа стойност. 188 00:10:45,810 --> 00:10:50,760 Но ако използвате% г, можете да получите 0 или 1 за фалшиви и истински. 189 00:10:50,760 --> 00:10:53,270 >> JavaScript е малко по-хубав за нас. 190 00:10:53,270 --> 00:10:57,740 В JavaScript, нека погледнем в малкото различията, които имаме в този файл. 191 00:10:57,740 --> 00:11:05,790 Първо, можете да забележите, че в C, което трябва да инициализира всяка променлива с тип. 192 00:11:05,790 --> 00:11:06,940 S е Чар звезда. 193 00:11:06,940 --> 00:11:08,930 Това е низ, и го не може да бъде всеки друг вид. 194 00:11:08,930 --> 00:11:10,450 N е число с плаваща запетая. 195 00:11:10,450 --> 00:11:11,780 B е булев. 196 00:11:11,780 --> 00:11:14,220 >> Но в JavaScript, има динамичните видове. 197 00:11:14,220 --> 00:11:16,400 Това означава, че вие ​​не правите Трябва да кажете на JavaScript 198 00:11:16,400 --> 00:11:17,860 какви видове вашите променливи ще бъдат. 199 00:11:17,860 --> 00:11:22,730 Можете само да кажа Var за променлива, името на променливата, а след неговата стойност. 200 00:11:22,730 --> 00:11:24,690 Така че по-Var може да бъде нещо наистина. 201 00:11:24,690 --> 00:11:25,640 Тя може да бъде низ. 202 00:11:25,640 --> 00:11:27,300 Тя може да е число с плаваща запетая. 203 00:11:27,300 --> 00:11:28,560 Тя може да бъде герой. 204 00:11:28,560 --> 00:11:31,250 Тя може да бъде Булев. 205 00:11:31,250 --> 00:11:34,380 И конзола дневник работи малко по-различно. 206 00:11:34,380 --> 00:11:37,340 Ако искате да отпечатате номер, ти се обадя% г. 207 00:11:37,340 --> 00:11:41,740 Но повечето стойности могат да бъдат отпечатана като струни добре. 208 00:11:41,740 --> 00:11:46,220 >> Нека да стартирате тази в Node да видим какво ще се случи. 209 00:11:46,220 --> 00:11:51,880 Мога да се обадя ex2.js възел, и получаваме ФОРМАТ 210 00:11:51,880 --> 00:11:56,870 с CS50 стойности, N, както Броят на плаваща запетая, 211 00:11:56,870 --> 00:12:00,620 и после Б, както булевият превръща в низ вярно. 212 00:12:00,620 --> 00:12:03,830 Ами ако ние направихме например 2.c? 213 00:12:03,830 --> 00:12:09,630 Е, ние все още имаме някои повече неприятности с ФОРМАТ. 214 00:12:09,630 --> 00:12:13,110 Забележете, че с плаваща запетая брой трябва да бъде форматиран правилно, 215 00:12:13,110 --> 00:12:18,120 и че Булев не може просто да се показва като вярно или невярно. 216 00:12:18,120 --> 00:12:18,620 Добре. 217 00:12:18,620 --> 00:12:22,680 Сега нека да разгледаме например три. 218 00:12:22,680 --> 00:12:26,470 В например три, която показваме как ще се използва за линия. 219 00:12:26,470 --> 00:12:27,630 В действителност, това е много проста. 220 00:12:27,630 --> 00:12:31,430 Един от най-хубавите неща JavaScript е, че тя се основава С. 221 00:12:31,430 --> 00:12:33,920 Това означава, че много от вашите код ще изглежда много сходна 222 00:12:33,920 --> 00:12:36,490 и се чувстват почти същият. 223 00:12:36,490 --> 00:12:39,220 В за линия, единственото нещо, че не се променя тук 224 00:12:39,220 --> 00:12:41,840 е вместо INT I, имаме Var аз. 225 00:12:41,840 --> 00:12:45,470 Ние все още може да се преотстъпва ценим нула, проверете дали това е по-малко от пет, 226 00:12:45,470 --> 00:12:49,390 и да го увеличаваме с един с оператора на ++. 227 00:12:49,390 --> 00:12:56,286 Призоваваме console.log на I, и че ще ни отпечатате номер с всяка линия. 228 00:12:56,286 --> 00:12:58,410 Нека да го стартирате наистина бързо да видим какво ще го извежда. 229 00:12:58,410 --> 00:13:02,320 230 00:13:02,320 --> 00:13:03,880 Получаваме нов номер във всяка линия. 231 00:13:03,880 --> 00:13:06,920 Друго нещо, което искате да забележите с console.log 232 00:13:06,920 --> 00:13:09,960 е, че не трябва да пиша наклонена черта п за новата линия. 233 00:13:09,960 --> 00:13:12,480 Console.log ще отпечата всичко е на отделен ред. 234 00:13:12,480 --> 00:13:14,585 Това е една хубава черта че JavaScript ни дава. 235 00:13:14,585 --> 00:13:18,440 236 00:13:18,440 --> 00:13:22,600 >> Сега нека да се отворят например четири. 237 00:13:22,600 --> 00:13:28,710 В пример четири, първо в С, ние призоваваме няколко функции. 238 00:13:28,710 --> 00:13:33,290 Забележете, че ние трябва да обявя функции, преди да ги използват в основната. 239 00:13:33,290 --> 00:13:37,250 Ако имахме основна първа и след това се добавя и след това високо, направи, 240 00:13:37,250 --> 00:13:39,540 трясък, или GCC би ни даде грешка, казвайки 241 00:13:39,540 --> 00:13:41,060 че той не знае какво е висока. 242 00:13:41,060 --> 00:13:42,780 Той не знае какво е добавка. 243 00:13:42,780 --> 00:13:46,480 Така че в C, което трябва да бъде придирчив за на ред, в който ти се обадя си функции. 244 00:13:46,480 --> 00:13:49,220 245 00:13:49,220 --> 00:13:51,310 >> Нека да разгледаме как можете да направите това в JavaScript. 246 00:13:51,310 --> 00:13:56,060 Имаме различни файлове, защото там няколко различни начина да направите това. 247 00:13:56,060 --> 00:13:58,950 Един от начините е почти директен превод. 248 00:13:58,950 --> 00:14:02,180 Защото функции в C върнете видове, и JavaScript 249 00:14:02,180 --> 00:14:05,210 наистина не знам или грижи за какъв тип ви върне, 250 00:14:05,210 --> 00:14:06,300 не напиши тип. 251 00:14:06,300 --> 00:14:08,100 Вместо това, просто трябва да напише функция, 252 00:14:08,100 --> 00:14:11,180 и всичко, което е доста почти същите, както преди. 253 00:14:11,180 --> 00:14:14,630 >> Когато имате променлив, като в добави, ние просто трябва да напишете х и у. 254 00:14:14,630 --> 00:14:16,060 Ние не трябва да се каже, х е инт. 255 00:14:16,060 --> 00:14:18,940 Ние не трябва да се каже, Y е инт. 256 00:14:18,940 --> 00:14:21,030 Ние се върне със същия синтаксис. 257 00:14:21,030 --> 00:14:24,230 За високо, ние го декларира с функционира вместо невалидни. 258 00:14:24,230 --> 00:14:26,110 Забележете, че това дали това е нищожно или не-нищожен, 259 00:14:26,110 --> 00:14:28,380 тя все още е всичко същата функция. 260 00:14:28,380 --> 00:14:32,440 И ние просто не слагайте нищо в скоби, 261 00:14:32,440 --> 00:14:34,690 и тя много прилича на кода C. 262 00:14:34,690 --> 00:14:37,460 И по-долу, можем да го наречем по-долу. 263 00:14:37,460 --> 00:14:42,730 >> Ако погледнем например 4б, забелязваме че съм променил някои неща. 264 00:14:42,730 --> 00:14:45,340 Единственото нещо, което съм променила Наистина обаче е редът. 265 00:14:45,340 --> 00:14:47,340 Имаме еднакви функции, но сега те са 266 00:14:47,340 --> 00:14:52,200 обявена след като ги използва в console.log и високо по линии 18, 19. 267 00:14:52,200 --> 00:14:54,740 Ако си направил това в C, направи ще хвърли грешка. 268 00:14:54,740 --> 00:14:56,070 Ето, това работи добре. 269 00:14:56,070 --> 00:15:01,935 И мога да покажа това, за да можете по обадите Node на 4б например. 270 00:15:01,935 --> 00:15:05,350 271 00:15:05,350 --> 00:15:10,130 >> Друг начин можем да наречем функции е чрез спестяване на функции като променливи. 272 00:15:10,130 --> 00:15:13,790 Както казах, променлива може да има всякакъв тип. 273 00:15:13,790 --> 00:15:16,720 Един от видовете променлива може да има е функция. 274 00:15:16,720 --> 00:15:19,800 Така че, ако се вгледате в пример 4в, което съм променила 275 00:15:19,800 --> 00:15:24,320 тук е Var добавите вместо функция добавка. 276 00:15:24,320 --> 00:15:26,807 А сега добавете равнява функция. 277 00:15:26,807 --> 00:15:28,140 Тази функция тук е анонимен. 278 00:15:28,140 --> 00:15:33,346 Той няма име, така че това е просто функция и след това скобите. 279 00:15:33,346 --> 00:15:35,220 Синтаксисът след това не се променя, но ти 280 00:15:35,220 --> 00:15:38,300 е нужно да се има предвид, че имате променлива, че сте 281 00:15:38,300 --> 00:15:42,940 съхраняване на функцията на добавка, и променлива, която можете да започнете съхраняване на по-висока. 282 00:15:42,940 --> 00:15:47,620 >> Тъй като добавите и сега високо са променливи а не функции, нещо се променя. 283 00:15:47,620 --> 00:15:50,190 Това е често срещана грешка, което виждам в много JavaScripts на хората, 284 00:15:50,190 --> 00:15:52,410 и нещо да се има предвид. 285 00:15:52,410 --> 00:15:54,365 Когато стартирате тази, нека да видим какво ще стане. 286 00:15:54,365 --> 00:15:57,410 287 00:15:57,410 --> 00:15:58,230 Получавам грешка. 288 00:15:58,230 --> 00:16:01,000 Той казва неопределено в този момент. 289 00:16:01,000 --> 00:16:03,520 Така че това е тя казваше не знам какво е да добавите. 290 00:16:03,520 --> 00:16:06,010 >> Защото сега добавете е не по- функция, добавете е променлива. 291 00:16:06,010 --> 00:16:10,100 И вие не сте в действителност се има предвид добави стойност, все още, когато го използва. 292 00:16:10,100 --> 00:16:14,460 Това ни води до 4г например, където, ако искате да използвате променливи като функции, 293 00:16:14,460 --> 00:16:17,210 просто трябва да се уверете, че те получите сумата, преди те да бъдат използвани. 294 00:16:17,210 --> 00:16:20,200 295 00:16:20,200 --> 00:16:23,420 >> Нека да преминем към например пет тогава. 296 00:16:23,420 --> 00:16:27,390 Тук говорим за structs в C. В C, structs 297 00:16:27,390 --> 00:16:30,320 имат тази фиксирана структура, която да ги защото трябва да ги декларира 298 00:16:30,320 --> 00:16:33,050 преди да го използвате, и ви кажа, че има един студент, 299 00:16:33,050 --> 00:16:36,645 и всеки студент има точно едно име, една година един пол. 300 00:16:36,645 --> 00:16:37,770 Тя трябва да има всички от тях. 301 00:16:37,770 --> 00:16:42,280 Тя не може да има каквито и да било други ценности, и те трябва да бъдат специфични видове. 302 00:16:42,280 --> 00:16:47,540 >> Тогава ще можем да се инициализира структура в тази хубава синтаксис 303 00:16:47,540 --> 00:16:49,470 защото тя знае реда. 304 00:16:49,470 --> 00:16:51,460 Така че тя знае, че Роджър е име. 305 00:16:51,460 --> 00:16:54,060 Той знае, че 2016 е година и M е пол 306 00:16:54,060 --> 00:16:58,200 защото казах, че това списък е студент структура. 307 00:16:58,200 --> 00:17:01,607 А след това можете да отпечатате го, достъп s.name. 308 00:17:01,607 --> 00:17:03,690 Нека да видим как ще се конвертирате, че да JavaScript. 309 00:17:03,690 --> 00:17:06,400 310 00:17:06,400 --> 00:17:09,790 Забележете, че е сега е променлива, и няма вид. 311 00:17:09,790 --> 00:17:10,920 Това е просто един Var отново. 312 00:17:10,920 --> 00:17:14,480 Защото това няма значение, ако на Тип на тази променлива е указател, 313 00:17:14,480 --> 00:17:17,440 това е една структура, или нещо друго. 314 00:17:17,440 --> 00:17:19,650 В момента има малко по-различен синтаксис. 315 00:17:19,650 --> 00:17:21,890 Този синтаксис е синтаксиса на обекта. 316 00:17:21,890 --> 00:17:24,400 >> Може би сте го виждали в JSON. 317 00:17:24,400 --> 00:17:27,780 JSON всъщност означава за JavaScript Object Notation. 318 00:17:27,780 --> 00:17:31,240 Това е начина, по който се определят обекти в JavaScript. 319 00:17:31,240 --> 00:17:34,500 Имаме ключа, който е стойността, като име. 320 00:17:34,500 --> 00:17:37,680 И ние даваме го оценява по От другата страна на дебелото черво. 321 00:17:37,680 --> 00:17:41,850 И едно нещо да не забравяте ли е не е нужно да има име, а година 322 00:17:41,850 --> 00:17:42,980 и пола за даден обект. 323 00:17:42,980 --> 00:17:44,570 Обектът може да има никаква стойност. 324 00:17:44,570 --> 00:17:46,920 То може да има толкова, колкото искате. 325 00:17:46,920 --> 00:17:50,375 >> Ние можем да използваме тези обекти само на същия начин, ние ще се използва структура, s.name. 326 00:17:50,375 --> 00:17:53,810 327 00:17:53,810 --> 00:17:57,080 Ние можем да го изпълним наистина бързо по този възел пример 5в 328 00:17:57,080 --> 00:18:00,320 329 00:18:00,320 --> 00:18:02,520 Ние всъщност не може да пуснете файла C в Node. 330 00:18:02,520 --> 00:18:03,654 Той не знае какво е C. 331 00:18:03,654 --> 00:18:04,695 Той знае само JavaScript. 332 00:18:04,695 --> 00:18:09,865 Когато стартирате ex5.js, получаваме стойността, която се очаква. 333 00:18:09,865 --> 00:18:13,490 334 00:18:13,490 --> 00:18:15,980 >> Нека да преминем към например шест. 335 00:18:15,980 --> 00:18:18,930 Тук искам само да поговорим малко малко повече за джава масиви 336 00:18:18,930 --> 00:18:20,930 защото те са по-малко по-различно от това, което сте 337 00:18:20,930 --> 00:18:26,940 използвана в C. Масивите се отбелязват, не със скобите като в C, 338 00:18:26,940 --> 00:18:28,640 с фигурните скоби, но скобите. 339 00:18:28,640 --> 00:18:32,150 Можете да имате празен масив, като ARR в четвърти ред. 340 00:18:32,150 --> 00:18:34,680 Можете да имате масиви с няколко стойности. 341 00:18:34,680 --> 00:18:39,790 И вие ги ползвате по същия начин, в C. 342 00:18:39,790 --> 00:18:42,990 >> До линията седем, всичко Изглежда доста ясен. 343 00:18:42,990 --> 00:18:45,390 Една малка разлика е тук, в ред 10. 344 00:18:45,390 --> 00:18:48,620 Начинът, по който се получи дължина на Масивът е просто, като се обадите .length. 345 00:18:48,620 --> 00:18:50,620 Масивът може действително да бъде третирани като един обект, 346 00:18:50,620 --> 00:18:54,960 и този обект има свойството дължина че ти се обадя, за да получите дължината му. 347 00:18:54,960 --> 00:18:57,350 Забележете, че това е различна в C, защото в C вас 348 00:18:57,350 --> 00:19:01,600 Трябва да знаете, дължината на Вашия обект преди време. 349 00:19:01,600 --> 00:19:04,700 >> Така че още един от хубавите неща масиви е, че можете да имате различни видове. 350 00:19:04,700 --> 00:19:07,470 Ако имате масив в C, има са масиви от определена стойност, 351 00:19:07,470 --> 00:19:11,900 нито една структура на показалеца или плува или [недоловим]. 352 00:19:11,900 --> 00:19:13,700 Тук можете да имат различни стойности. 353 00:19:13,700 --> 00:19:17,560 За първи път имаше число с плаваща точка, След Булев, после още една число. 354 00:19:17,560 --> 00:19:19,670 И действително, те могат да променят вида също. 355 00:19:19,670 --> 00:19:21,220 Виж линия 16. 356 00:19:21,220 --> 00:19:26,760 Array двама се променя от това да редица, цяло число, в низ. 357 00:19:26,760 --> 00:19:30,920 >> Друго хубаво нещо за масиви е тук по линия 19, те имат безкраен размер. 358 00:19:30,920 --> 00:19:35,900 Можете просто да кажа, че искам стотна елемент да бъде низ легитимни. 359 00:19:35,900 --> 00:19:38,510 И това не изглежда да се направи смисъл, защото масива само 360 00:19:38,510 --> 00:19:41,080 има място за три елемента, така до края трябва да бъде две. 361 00:19:41,080 --> 00:19:44,800 Но когато правите това, нека видим какво масив три стане. 362 00:19:44,800 --> 00:19:47,460 Ние ще изпълня този бързо с примерни възел six.js. 363 00:19:47,460 --> 00:19:49,990 364 00:19:49,990 --> 00:19:52,180 Ние се получи това наистина дълго масив, и това, което се случва 365 00:19:52,180 --> 00:19:55,100 е имаме първите няколко елемента и след куп бланки 366 00:19:55,100 --> 00:19:56,580 докато стигнем нашия низ. 367 00:19:56,580 --> 00:19:58,580 JavaScript попълва масив, тъй като е необходимо. 368 00:19:58,580 --> 00:20:01,790 369 00:20:01,790 --> 00:20:05,420 >> Нека най-накрая отиде в последния нашия пример. 370 00:20:05,420 --> 00:20:08,180 Тук имаме списък на различни студенти. 371 00:20:08,180 --> 00:20:11,350 Искам да поговорим малко малко за някои хубави аспекти 372 00:20:11,350 --> 00:20:14,240 на за линии в JavaScript. 373 00:20:14,240 --> 00:20:17,500 В C, за вериги са вид ограничено. 374 00:20:17,500 --> 00:20:21,490 Те имат фиксирана структура, в която има променлива, имате състояние, 375 00:20:21,490 --> 00:20:23,850 и след това не се направи нещо в края на цикъла. 376 00:20:23,850 --> 00:20:27,560 И разбира се това работи в JavaScript, както видяхме в предишните примери. 377 00:20:27,560 --> 00:20:31,030 Но ние също имаме хубави пътища за постигане на това в JavaScript. 378 00:20:31,030 --> 00:20:33,870 Това се нарича foreach линия. 379 00:20:33,870 --> 00:20:36,580 >> Съжаляваме, нека се върнем на пример седем тук. 380 00:20:36,580 --> 00:20:39,320 Можем също така да се каже, раздел е даден списък. 381 00:20:39,320 --> 00:20:43,250 Така че ми даде всичко аз или всеки индекс в този списък. 382 00:20:43,250 --> 00:20:46,255 Тогава можем да вземем на студента от Обаждам се само част от т. 383 00:20:46,255 --> 00:20:50,690 Така целият код на настройката аз равно на нула и като се уверите, че 384 00:20:50,690 --> 00:20:54,420 е по-малко от дължината и добавяне на един да ми всеки път, това е 385 00:20:54,420 --> 00:21:00,220 да се грижи за теб, а добре с тази foreach цикъл. 386 00:21:00,220 --> 00:21:02,830 >> Не само, че foreach примки работи в списъци или редици, 387 00:21:02,830 --> 00:21:06,130 Те също така работи в обекти, което също е хубаво. 388 00:21:06,130 --> 00:21:10,240 Можете да получите името на всеки имот от просто вземане 389 00:21:10,240 --> 00:21:15,030 речник или обект, като студент, и след това просто казвам, дайте ми всеки клавиш. 390 00:21:15,030 --> 00:21:18,920 Ключов би било те свойства, име или къща. 391 00:21:18,920 --> 00:21:22,870 И така, какво ще се случи тук, е, че ние отпечатате първо името и след това 392 00:21:22,870 --> 00:21:24,920 къщата на всеки ученик. 393 00:21:24,920 --> 00:21:29,170 >> Мога да изпълня този в Node наистина бързо да ви покажа. 394 00:21:29,170 --> 00:21:35,510 Получаваме първия стила C за линия, където получаваме всеки обект се отпечатва. 395 00:21:35,510 --> 00:21:38,910 И тогава ние имаме JavaScript стил, където може просто да 396 00:21:38,910 --> 00:21:41,510 разпечатате всяка ключова и стойността индивидуално. 397 00:21:41,510 --> 00:21:45,560 398 00:21:45,560 --> 00:21:47,050 >> Добре. 399 00:21:47,050 --> 00:21:52,850 Сега, ние сме обхванати Node.js, аз мисля, ние сме готови да започнем с Meteor. 400 00:21:52,850 --> 00:21:56,070 Както казах, Meteor свърши страхотна работа от написването някои готови примери 401 00:21:56,070 --> 00:22:00,600 за вас, че можете да се запознаете чрез този урок или в папката семинар. 402 00:22:00,600 --> 00:22:03,750 Но тук искам да започне още от самото начало. 403 00:22:03,750 --> 00:22:06,810 >> Да се ​​създаде проста да направите заявка. 404 00:22:06,810 --> 00:22:14,140 Това е вид на базата на това, което се направите заявка ви показах по-рано е. 405 00:22:14,140 --> 00:22:16,990 В този урок, вие ще видите, че има 406 00:22:16,990 --> 00:22:20,180 команда Meteor създаде до създаване на нов проект Meteor. 407 00:22:20,180 --> 00:22:24,510 Трябва да се обадя тази цел да тече Meteor проекти, защото това 408 00:22:24,510 --> 00:22:27,470 ще тече командите да се създаде метеора 409 00:22:27,470 --> 00:22:31,100 файловете, необходими за вашия проект. 410 00:22:31,100 --> 00:22:35,920 >> Ако отидете в терминала, което можем отидете в папката, наречена една стъпка. 411 00:22:35,920 --> 00:22:41,240 И първата стъпка ще съответства първата стъпка в урока. 412 00:22:41,240 --> 00:22:44,020 Забележиш, че има папки, стъпка една, втора стъпка, по целия път до пет. 413 00:22:44,020 --> 00:22:47,835 И всеки от тях е съответстващо да стъпка в този урок. 414 00:22:47,835 --> 00:22:50,960 415 00:22:50,960 --> 00:22:52,780 Отивам да го отворите в моя текстов редактор тук 416 00:22:52,780 --> 00:22:56,280 да можем да видим малко от това, което е създадено. 417 00:22:56,280 --> 00:22:58,530 Забелязваме, че има Четири са основните части. 418 00:22:58,530 --> 00:23:01,170 Има указател на Meteor, .meteor. 419 00:23:01,170 --> 00:23:03,180 И това обикновено не е нужно да се докоснат. 420 00:23:03,180 --> 00:23:05,070 Meteor се грижи за тази папка, и то само 421 00:23:05,070 --> 00:23:08,640 гарантира, че вашето Проектът ще работи правилно. 422 00:23:08,640 --> 00:23:14,580 >> Ние също имаме три файла, а HTML файлове, файл с JavaScript и CSS файл. 423 00:23:14,580 --> 00:23:18,670 Нека първо да започнем с HTML файл. 424 00:23:18,670 --> 00:23:21,310 На пръв поглед това изглежда като нормален HTML документ. 425 00:23:21,310 --> 00:23:23,490 Но забележете, че има няколко разлики. 426 00:23:23,490 --> 00:23:26,520 Един, това не е действително пълен HTML документ. 427 00:23:26,520 --> 00:23:28,640 Пропускаме на HTML тагове. 428 00:23:28,640 --> 00:23:29,700 Това е нормално. 429 00:23:29,700 --> 00:23:33,560 В Meteor, не се очаква ви да се създадат тези HTML тагове. 430 00:23:33,560 --> 00:23:35,260 Това е направено за вас. 431 00:23:35,260 --> 00:23:38,380 Вие искате да begin-- ако Искам да се създаде уеб сайт, 432 00:23:38,380 --> 00:23:40,430 просто трябва да се започне с таг главата, 433 00:23:40,430 --> 00:23:43,510 определи, че и след това дефинира тялото маркер. 434 00:23:43,510 --> 00:23:48,940 >> Но ако забележите в тази HTML файл, имаме нов етикет. 435 00:23:48,940 --> 00:23:50,350 Имаме таг шаблон. 436 00:23:50,350 --> 00:23:52,050 Това не е нормално HTML. 437 00:23:52,050 --> 00:23:55,300 Това е специална версия на HTML че Meteor прави достъпни за вас. 438 00:23:55,300 --> 00:23:57,660 Тя се нарича космически барове. 439 00:23:57,660 --> 00:24:00,980 Можете да определите шаблони като малко модули, нещо като помощни функции, 440 00:24:00,980 --> 00:24:03,660 в C или JavaScript код. 441 00:24:03,660 --> 00:24:06,020 Този шаблон ще има име нарича задача. 442 00:24:06,020 --> 00:24:10,520 И можете да видите тук на линия 13, които можете да се обадите на тези шаблони. 443 00:24:10,520 --> 00:24:14,380 И какво Meteor ще направите, е просто попълнете тези задачи за вас. 444 00:24:14,380 --> 00:24:17,540 445 00:24:17,540 --> 00:24:22,580 >> Друго нещо, което може да забележите, е малко по-различно е това всяка функция. 446 00:24:22,580 --> 00:24:26,130 Всеки ще се променливата задачи и вид минават през него 447 00:24:26,130 --> 00:24:28,810 в които foreach цикъл ние Видях в пример седем. 448 00:24:28,810 --> 00:24:34,200 Това всеки може да вземе речника или списък, даден обект или списък, 449 00:24:34,200 --> 00:24:38,820 и тя просто ще мине през всички от ценности като един foreach цикъл ще се. 450 00:24:38,820 --> 00:24:44,110 Така че, ако имаме един куп задачи, тази Ще се обадя на шаблона на всяка задача. 451 00:24:44,110 --> 00:24:49,590 >> Нека да стартирате проекта Meteor само за да видя, че това се случва. 452 00:24:49,590 --> 00:24:53,260 Аз тичам проекта Meteor с Просто Meteor или Meteor тичам. 453 00:24:53,260 --> 00:24:56,690 И сега Meteor просто ще трябва бързо да се подготви проекта, 454 00:24:56,690 --> 00:25:03,320 стартиране на базата данни, когато е необходимо, и след това да публикувате на приложението на местно ниво. 455 00:25:03,320 --> 00:25:07,200 Ние можем да отидете на нашата уеб браузър сега. 456 00:25:07,200 --> 00:25:10,215 И ние ще видим, че ние има един много прост ап. 457 00:25:10,215 --> 00:25:22,190 458 00:25:22,190 --> 00:25:29,130 Така че това, което видяхме появи всъщност стъпката един, на крачка един файл. 459 00:25:29,130 --> 00:25:33,260 >> Нека да преминем към втора стъпка, само защото Мисля, че ще служат на същата цел. 460 00:25:33,260 --> 00:25:36,500 Аз съм просто ще се промени към втората стъпка директория 461 00:25:36,500 --> 00:25:39,550 и тичам Meteor отново да можем да видим шаблона ние просто работехме с. 462 00:25:39,550 --> 00:25:43,560 463 00:25:43,560 --> 00:25:45,730 Да, един въпрос? 464 00:25:45,730 --> 00:25:49,724 >> Публика: Ако ние получаваме разрешение отказано, е that-- какво е 465 00:25:49,724 --> 00:25:50,390 призова за това? 466 00:25:50,390 --> 00:25:52,154 467 00:25:52,154 --> 00:25:54,070 ROGER ZURAWICKI: Ако бягаш Meteor тичам, 468 00:25:54,070 --> 00:25:57,280 и имате разрешение отрече, някои от вашите файлове 469 00:25:57,280 --> 00:25:59,070 не може да има дясното разрешение сет. 470 00:25:59,070 --> 00:26:03,970 Така че трябва да се провери, когато разрешенията са изключени. 471 00:26:03,970 --> 00:26:06,030 Те биха могли да бъдат на разстояние в Вашата Meteor проект, 472 00:26:06,030 --> 00:26:08,550 или те могат да бъдат на разстояние в Meteor самите файлове. 473 00:26:08,550 --> 00:26:13,742 >> Публика: Ако аз го току-що изтеглили от вашия GitHub, тогава какво трябва да направя, 474 00:26:13,742 --> 00:26:16,110 [Недоловим]? 475 00:26:16,110 --> 00:26:20,110 >> ROGER ZURAWICKI: Ако искате да се уверите, можете да получите достъп до нея, 476 00:26:20,110 --> 00:26:21,450 има една команда можете да изпълните. 477 00:26:21,450 --> 00:26:26,590 Нека бързо да го напишеш така че и други хора да го видят. 478 00:26:26,590 --> 00:26:30,670 Отивам да отворите нов раздел тук и отиде в моята папка семинар. 479 00:26:30,670 --> 00:26:33,500 480 00:26:33,500 --> 00:26:36,490 CHMOD е командата да смените правата 481 00:26:36,490 --> 00:26:40,060 и може да се каже R за да го направя рекурсивно за всеки файл. 482 00:26:40,060 --> 00:26:46,040 И разрешения, които можете да опитате 0755 да се уверите, че имате пълен достъп, 483 00:26:46,040 --> 00:26:47,820 и всеки друг може да чете. 484 00:26:47,820 --> 00:26:50,100 А ако просто стартирате тази команда, тя ще направи 485 00:26:50,100 --> 00:26:55,800 уверите, разрешенията са в проверите за цялата директория. 486 00:26:55,800 --> 00:26:59,160 Работещи LS-л може да ви покаже разрешения по-подробно. 487 00:26:59,160 --> 00:27:01,290 Това изглежда добре. 488 00:27:01,290 --> 00:27:03,900 >> Какво е най-важното е, че имате всичките три 489 00:27:03,900 --> 00:27:06,610 rwx за всички файлове в директорията семинар. 490 00:27:06,610 --> 00:27:09,415 491 00:27:09,415 --> 00:27:11,330 Знаете, че решаването на проблема? 492 00:27:11,330 --> 00:27:13,735 >> Публика: Той казва липсва оперантна [недоловим]. 493 00:27:13,735 --> 00:27:17,980 494 00:27:17,980 --> 00:27:18,740 [Недоловим] 495 00:27:18,740 --> 00:27:20,490 ROGER ZURAWICKI: Вие Трябва да сте сигурни, че 496 00:27:20,490 --> 00:27:23,022 има една точка в края на ваше командване. 497 00:27:23,022 --> 00:27:23,938 Публика: [недоловим]. 498 00:27:23,938 --> 00:27:36,395 499 00:27:36,395 --> 00:27:37,520 ROGER ZURAWICKI: Добре. 500 00:27:37,520 --> 00:27:42,220 Нека бързо да се върнете в локален хост, ап имаме. 501 00:27:42,220 --> 00:27:46,640 И ще видите, че ние имаме няколко задачи тук, както се очакваше. 502 00:27:46,640 --> 00:27:49,330 503 00:27:49,330 --> 00:27:51,990 В момента има един куп CSS, които не е нужно да се притесняваш. 504 00:27:51,990 --> 00:27:53,740 The Meteor начинаещи само дава това, за да ви 505 00:27:53,740 --> 00:27:58,010 за да си, за да направите списък поглед на малко по-хубав, отколкото на обикновен HTML. 506 00:27:58,010 --> 00:28:02,290 И ние имаме файла JavaScript, които Ще стигнем и до по-подробно малко по-късно, 507 00:28:02,290 --> 00:28:04,272 но просто осигурява изпълнението на тези задачи. 508 00:28:04,272 --> 00:28:04,980 Това е задача един. 509 00:28:04,980 --> 00:28:05,740 Това е задача на две. 510 00:28:05,740 --> 00:28:06,590 Това е задача на три. 511 00:28:06,590 --> 00:28:09,720 Така че това е най данните Meteor става все. 512 00:28:09,720 --> 00:28:15,590 >> Един от най-страхотните неща, за Meteor е че промени могат да се случат автоматично. 513 00:28:15,590 --> 00:28:18,990 Ако искаха да променят Името на едната задача, 514 00:28:18,990 --> 00:28:22,490 така че бих казал, че това не е задача едно, а аз го спаси, 515 00:28:22,490 --> 00:28:26,370 След това, когато отида в мрежата браузър, можете да я освежите, 516 00:28:26,370 --> 00:28:30,861 и тя автоматично се казва това не е възложена задачата един. 517 00:28:30,861 --> 00:28:32,860 Можете да направите същото в някой от тези файлове. 518 00:28:32,860 --> 00:28:37,940 Направи промяна, вместо да правим списък, аз ще трябва да го ми да направя списък. 519 00:28:37,940 --> 00:28:40,980 >> И едно нещо, което току-що забелязах, че аз дори не е необходимо да обновите. 520 00:28:40,980 --> 00:28:43,960 Идеята за освежаващо е вид на решен за вас с Meteor. 521 00:28:43,960 --> 00:28:48,970 Всеки път, когато го открива промени на файловете, тя ще се зареди промените за вас. 522 00:28:48,970 --> 00:28:53,110 Това действа с всички файлове, независимо дали това е HTML, CSS, или JavaScript. 523 00:28:53,110 --> 00:28:57,990 За да ви покажа какво ще изглежда това приложение като без CSS, мога да го премахнете всички. 524 00:28:57,990 --> 00:29:04,720 И когато се презарежда, сега имате а не както е симпатичен да направите списък. 525 00:29:04,720 --> 00:29:06,370 Нека да поставим това съдържание обратно. 526 00:29:06,370 --> 00:29:11,343 И със сигурност е достатъчно, то освежава, и нашия CSS се завръща. 527 00:29:11,343 --> 00:29:11,843 Great. 528 00:29:11,843 --> 00:29:15,700 529 00:29:15,700 --> 00:29:20,010 >> Сега можем да продължим с урока. 530 00:29:20,010 --> 00:29:23,360 Нека поговорим за втора стъпка, шаблони. 531 00:29:23,360 --> 00:29:27,140 Това е, което ние просто видях с различните задачи. 532 00:29:27,140 --> 00:29:31,550 Meteor ще ви обясня какво шаблони и как тази логика работи. 533 00:29:31,550 --> 00:29:34,760 Но нека просто погледнете кода за видим дали ще може да има смисъл от нея. 534 00:29:34,760 --> 00:29:38,030 535 00:29:38,030 --> 00:29:41,460 >> В много прости приложения, като това, което имаме в простите 536 00:29:41,460 --> 00:29:44,550 да направите, стъпка едно, втора стъпка, стъпка три, четири стъпка, стъпка пет, 537 00:29:44,550 --> 00:29:45,700 ние нямаме никакви папки. 538 00:29:45,700 --> 00:29:47,533 Ние нямаме сървъра папка споменах. 539 00:29:47,533 --> 00:29:50,510 Ние не разполагаме с клиента папка, която се споменава. 540 00:29:50,510 --> 00:29:52,290 Така Meteor ще работи на всички файлове. 541 00:29:52,290 --> 00:29:55,210 Тя ще го както тече от клиент, както на сървъра. 542 00:29:55,210 --> 00:29:58,840 >> А ако искате части от вашия JavaScript код, който току-що на клиента, 543 00:29:58,840 --> 00:30:02,350 те трябва да се уверите, че имате един, ако изявление, нещо като това, което 544 00:30:02,350 --> 00:30:04,890 имаме в нашия JavaScript файл тук. 545 00:30:04,890 --> 00:30:08,010 Така Meteor, само ако това е клиентът, тогава аз 546 00:30:08,010 --> 00:30:12,355 искате да определите шаблон помощни наречените задачи. 547 00:30:12,355 --> 00:30:15,050 548 00:30:15,050 --> 00:30:19,260 Какво този код наистина прави, е да се казва, че има 549 00:30:19,260 --> 00:30:21,800 един обект, наречен шаблон че Meteor предвижда. 550 00:30:21,800 --> 00:30:23,270 И ние ще добавим помощник. 551 00:30:23,270 --> 00:30:27,680 Помощници са тези задачи, тези неща, като задачите. 552 00:30:27,680 --> 00:30:33,890 >> Ще видите, че ако се върнем към HTML файл, ние призовахме всяка от задачите. 553 00:30:33,890 --> 00:30:35,750 Задачи не е дефинирано в HTML. 554 00:30:35,750 --> 00:30:37,770 Това е определено в JavaScript. 555 00:30:37,770 --> 00:30:42,610 И Meteor трябва да знае какви задачи е когато отидем в JavaScript тук. 556 00:30:42,610 --> 00:30:45,550 Задачи е този помощник. 557 00:30:45,550 --> 00:30:49,830 Helper, можеш да се сетиш то като променлива шаблон. 558 00:30:49,830 --> 00:30:51,000 И какво задачи да направя? 559 00:30:51,000 --> 00:30:53,580 Е, той се връща в списъка на ценности. 560 00:30:53,580 --> 00:30:56,750 Защото това е списък, можем да наречем всеки в него. 561 00:30:56,750 --> 00:30:58,590 Така че това е защо ние призоваваме всеки по задачи. 562 00:30:58,590 --> 00:30:59,730 И сега имаме задача. 563 00:30:59,730 --> 00:31:02,850 564 00:31:02,850 --> 00:31:03,990 >> Какво означава задача да направя? 565 00:31:03,990 --> 00:31:07,740 Е, това е тази стрелка тук след фигурните скоби. 566 00:31:07,740 --> 00:31:09,130 Това означава задача е шаблон. 567 00:31:09,130 --> 00:31:11,100 Това не е помощник, като това, което току-що видях. 568 00:31:11,100 --> 00:31:12,872 Това е шаблон сме определени. 569 00:31:12,872 --> 00:31:14,080 А там, където са го дефинирахме? 570 00:31:14,080 --> 00:31:16,950 Ние сме го дефинирани по-долу, точно тук. 571 00:31:16,950 --> 00:31:21,160 >> All този шаблон се е оказва елемент от списъка, и го нарича текст. 572 00:31:21,160 --> 00:31:24,160 Сега, текст изглежда да е помощник, но аз ще ви покажа 573 00:31:24,160 --> 00:31:26,610 че това е всъщност още член данни на задачите. 574 00:31:26,610 --> 00:31:29,230 575 00:31:29,230 --> 00:31:33,670 Когато се обадите на всеки, тя отива в структурата на данните малко. 576 00:31:33,670 --> 00:31:39,130 Подобно на цикъла foreach, че сега просто изглежда в първия елемент в нашия обект. 577 00:31:39,130 --> 00:31:41,850 Ние виждаме, че текстът е дефинирани тук, в нашия обект. 578 00:31:41,850 --> 00:31:45,350 Така Meteor е умен, за да знам, че ние не говорим за този текст, 579 00:31:45,350 --> 00:31:47,630 Не помощник нарича текст. 580 00:31:47,630 --> 00:31:52,120 Той просто получава стойността на този текст тук и я показва като HTML, 581 00:31:52,120 --> 00:31:55,475 и това е, как върви данни от JavaScript на HTML. 582 00:31:55,475 --> 00:32:03,320 583 00:32:03,320 --> 00:32:07,030 >> Преминавайки обаче, в този пример, ние трудно кодирани тези ценности. 584 00:32:07,030 --> 00:32:10,440 Meteor прави две наистина хубави неща за нас. 585 00:32:10,440 --> 00:32:15,050 Освен живо опресняване, че показа, той също управлява нашата база данни. 586 00:32:15,050 --> 00:32:18,750 Ако трябваше да се работи с PHP, трябваше да настроите бърз. 587 00:32:18,750 --> 00:32:21,320 Вие трябваше да се уверете, че маси бяха всички в шах. 588 00:32:21,320 --> 00:32:24,760 Вие трябваше да направи много работа, за да се направи че вашата информация е форматиран правилно, 589 00:32:24,760 --> 00:32:27,880 и PHP може да комуникира с него. 590 00:32:27,880 --> 00:32:30,170 >> Сега, Meteor използва нова парадигма. 591 00:32:30,170 --> 00:32:32,310 Това е по-модерен начин на работа с база данни. 592 00:32:32,310 --> 00:32:34,580 Това е технология, наречена MongoDB. 593 00:32:34,580 --> 00:32:38,740 Точно като в JavaScript, видяхме, че тя нямаше значение какъв вид имаха данните. 594 00:32:38,740 --> 00:32:39,640 Всичко беше Var. 595 00:32:39,640 --> 00:32:40,570 Това не беше charstar. 596 00:32:40,570 --> 00:32:40,930 Това не беше инт. 597 00:32:40,930 --> 00:32:41,970 Това не беше структура. 598 00:32:41,970 --> 00:32:44,210 Това беше просто Var това, Var, че. 599 00:32:44,210 --> 00:32:46,320 >> MongoDB работи вид по същия начин. 600 00:32:46,320 --> 00:32:48,160 Не е нужно да се определят вашите таблици. 601 00:32:48,160 --> 00:32:50,860 Не е нужно да се каже една маса има име, което е с инт. 602 00:32:50,860 --> 00:32:54,710 Той има, аз не знам, а долара, което е знак след десетичната запетая. 603 00:32:54,710 --> 00:32:58,360 Това е просто тези JavaScript обекти, всички тези Vars, по същество. 604 00:32:58,360 --> 00:33:02,780 И това е наистина мощен начин за създаване на прототип на приложението ви. 605 00:33:02,780 --> 00:33:06,190 И затова Meteor се възползва от това. 606 00:33:06,190 --> 00:33:11,080 >> Ако отидете на стъпка три, нека да видим какво се е променило. 607 00:33:11,080 --> 00:33:15,480 Ако се вгледаме в Тодос HTML не, много. 608 00:33:15,480 --> 00:33:17,170 CSS не се е променила изобщо. 609 00:33:17,170 --> 00:33:22,420 Но малката промяна, което виждаме в HTML е променихме начина задачи се определя. 610 00:33:22,420 --> 00:33:23,800 Задачи сега е функция. 611 00:33:23,800 --> 00:33:25,800 Това означава, че всеки време искаме да получим задачи, 612 00:33:25,800 --> 00:33:27,480 отиваме да стартирате тази функция. 613 00:33:27,480 --> 00:33:29,230 Тя не върне функция като стойност. 614 00:33:29,230 --> 00:33:33,710 >> Meteor е умен, за да всъщност стартирайте функция, за да видим какво можем да се измъкнем. 615 00:33:33,710 --> 00:33:36,650 И той се връща това нещо, наречено задачи. 616 00:33:36,650 --> 00:33:40,650 Ние сме определени задачи на първа линия, и това е колекция Монго. 617 00:33:40,650 --> 00:33:43,170 Монго се позовава на базата данни Meteor използва, 618 00:33:43,170 --> 00:33:48,420 и тази нова просто означава, нека да направим нова колекция, го наричат ​​задачи. 619 00:33:48,420 --> 00:33:53,540 В MySQL, това би било равносилно на търси задачите на масата, наречена. 620 00:33:53,540 --> 00:33:56,350 Монго има колекции не, таблици. 621 00:33:56,350 --> 00:34:00,100 Така че това просто изглежда за задачи. 622 00:34:00,100 --> 00:34:04,820 >> Сега, шаблон в нашия помощник в шаблона, всички 623 00:34:04,820 --> 00:34:08,380 което трябва да направим, за да получите всички задачи е тази функция, да намерят 624 00:34:08,380 --> 00:34:11,710 и тази празна презрамки. 625 00:34:11,710 --> 00:34:14,150 Това е по-специално да Монго синтаксис. 626 00:34:14,150 --> 00:34:16,159 Има много документация за това как 627 00:34:16,159 --> 00:34:19,360 можете да направите ефективна и наистина полезно Монго запитвания. 628 00:34:19,360 --> 00:34:25,560 Но нещо като това е добро достатъчно само за намирането на всички данни. 629 00:34:25,560 --> 00:34:30,100 >> Сега, един от въпросите, които може да видите е, че никога не можем действително да добавите данни. 630 00:34:30,100 --> 00:34:35,020 Така че това, което се случва, когато ние всъщност тече третата стъпка? 631 00:34:35,020 --> 00:34:37,550 Нека най-бързо отиде в Стъпка трета и тичам Meteor. 632 00:34:37,550 --> 00:34:42,870 633 00:34:42,870 --> 00:34:45,650 Забележете, че имах друга Meteor Проектът работи някъде другаде, 634 00:34:45,650 --> 00:34:49,110 така Meteor не харесва това. 635 00:34:49,110 --> 00:34:52,810 Аз съм просто ще бързо в близост до От друга Метеор с Control C, 636 00:34:52,810 --> 00:34:55,780 отидат в третата стъпка, и тичам Meteor отново. 637 00:34:55,780 --> 00:35:01,070 638 00:35:01,070 --> 00:35:03,180 Усетите, че е изходен MongoDB защото MongoDB 639 00:35:03,180 --> 00:35:06,370 е част от всеки проект Meteor. 640 00:35:06,370 --> 00:35:09,190 >> Така се казва моята кандидатура има грешки. 641 00:35:09,190 --> 00:35:10,590 Това е хубава черта Meteor има. 642 00:35:10,590 --> 00:35:13,700 Тя се грижи за вашия HTML е добре утвърдена. 643 00:35:13,700 --> 00:35:17,710 Нека най-бързо разгледаме защо това може да бъде. 644 00:35:17,710 --> 00:35:26,110 Изглежда имам случайно копират грешен HTML код. 645 00:35:26,110 --> 00:35:30,610 Ако аз го спаси сега, Meteor автоматично рестартиране на сървъра, 646 00:35:30,610 --> 00:35:34,650 и сега приложението работи както се очаква. 647 00:35:34,650 --> 00:35:39,220 Забележете, да се определи това, можете просто да стартирате същото HTML файл от втора стъпка, 648 00:35:39,220 --> 00:35:40,380 го копирате в третата стъпка. 649 00:35:40,380 --> 00:35:43,290 650 00:35:43,290 --> 00:35:45,917 >> Ние можем да се върнем към нашия локален хост. 651 00:35:45,917 --> 00:35:47,500 И сега виждаме, ние имаме да направя списък. 652 00:35:47,500 --> 00:35:50,070 Страхотно, но е празна. 653 00:35:50,070 --> 00:35:54,210 В действителност ние не трябва всеки задачи в нашата база данни Монго. 654 00:35:54,210 --> 00:35:57,930 Така че нека да говорим за по- няколко начина, чрез които могат да направят това. 655 00:35:57,930 --> 00:36:03,240 Ако се върнем към терминала, ние може да го затворите и тичам Meteor Монго. 656 00:36:03,240 --> 00:36:05,320 >> Ако сте запознати с начина на работа на Meteor, 657 00:36:05,320 --> 00:36:14,100 това всъщност ви дава достъп към пълния MongoDB за Meteor. 658 00:36:14,100 --> 00:36:17,570 Забележете, че трябва да се работи Метеор първото за тази работа. 659 00:36:17,570 --> 00:36:23,840 Така че, ако пускам тази в нов раздел, I може да се върне в същата директория. 660 00:36:23,840 --> 00:36:29,040 661 00:36:29,040 --> 00:36:32,570 И сега Meteor работи добре. 662 00:36:32,570 --> 00:36:33,600 Това е бърз. 663 00:36:33,600 --> 00:36:36,350 664 00:36:36,350 --> 00:36:38,790 Нека малко да по-голяма, така че ние можем да видим. 665 00:36:38,790 --> 00:36:41,550 Това изглежда малко по-различно, отколкото това, което може да се използва, за да ви 666 00:36:41,550 --> 00:36:42,869 наистина не е необходимо да използвате Монго. 667 00:36:42,869 --> 00:36:45,410 Целият смисъл на мен тук е така че можете да използвате JavaScript. 668 00:36:45,410 --> 00:36:48,250 Но ако сте любопитни, на API Монго не 669 00:36:48,250 --> 00:36:50,730 използвате SQL, на Structured Query Language. 670 00:36:50,730 --> 00:36:55,570 Той използва своя собствен език, които много прилича на JavaScript. 671 00:36:55,570 --> 00:37:00,520 Много бързо, ние можем да намерим масата чрез db.tasks. 672 00:37:00,520 --> 00:37:08,940 И тя ми казва Оказва се, ако бягаме намерите, 673 00:37:08,940 --> 00:37:13,450 вид, подобен на това, което имахме с Meteor, можем да зареди всички елементи. 674 00:37:13,450 --> 00:37:17,330 Проблемът е, че ние не правим всъщност някакви задачи, дефинирани. 675 00:37:17,330 --> 00:37:20,600 Така че не може да ги получите. 676 00:37:20,600 --> 00:37:22,130 >> Ние можем да вмъкнете, все пак. 677 00:37:22,130 --> 00:37:25,170 Така че ние може да работи вложка с командата Insert. 678 00:37:25,170 --> 00:37:29,140 И ние просто го дам обект, и ние просто 679 00:37:29,140 --> 00:37:31,840 уверете се, че форматът е това, което ние очакваме. 680 00:37:31,840 --> 00:37:35,030 Ако погледна стъпка две, видяхме, че всяка задача 681 00:37:35,030 --> 00:37:39,590 е обект с текст като ключ, независимо от 682 00:37:39,590 --> 00:37:41,640 си, за да направите покупка беше като променлива. 683 00:37:41,640 --> 00:37:44,680 Така че можем да направим нещо тук. 684 00:37:44,680 --> 00:37:50,160 >> Можем да го поставите задача наречена Аз идвам от Монго. 685 00:37:50,160 --> 00:37:52,570 И ние натиснете Enter, и той работи. 686 00:37:52,570 --> 00:37:56,900 Ние може да работи намерите отново, и ние виждаме, че има един обект тук. 687 00:37:56,900 --> 00:38:01,810 Монго е възложила на ID, което сте наистина не трябва да се притесняваш. 688 00:38:01,810 --> 00:38:06,690 Какво е важно за вас е най-данни ще ви постави в, е данните да се измъкнем. 689 00:38:06,690 --> 00:38:10,500 >> Нека се върнем към нашия уебсайт, и хей, нашата задача зареден. 690 00:38:10,500 --> 00:38:13,987 И вие можете да видите, че защото Meteor е много умна 691 00:38:13,987 --> 00:38:16,570 и винаги освежава за вас, I не трябваше да се докоснат до страницата. 692 00:38:16,570 --> 00:38:19,160 Тя зарежда автоматично. 693 00:38:19,160 --> 00:38:23,520 >> Нека да тече някакъв код в JavaScript макар да направите това. 694 00:38:23,520 --> 00:38:26,120 Като имаме Node в гърба приключи за изпълнение на JavaScript, 695 00:38:26,120 --> 00:38:29,280 ние също може да работи JavaScript директно в нашите браузъри. 696 00:38:29,280 --> 00:38:31,970 Можете да направите това като функция наречено Огледайте Element. 697 00:38:31,970 --> 00:38:34,210 Ако щракнете с десния бутон върху раздел на страницата, 698 00:38:34,210 --> 00:38:36,730 има опция наречено Огледайте Element. 699 00:38:36,730 --> 00:38:38,840 Ако използвате по- браузър като Safari, ви 700 00:38:38,840 --> 00:38:45,430 Може да се наложи да се даде възможност на вашия разработчик инструменти, преди да получите тази функция. 701 00:38:45,430 --> 00:38:46,930 >> Какво ни интересува е конзолата. 702 00:38:46,930 --> 00:38:48,930 Така че ние просто ще отидат за конзола на дъното. 703 00:38:48,930 --> 00:38:52,110 704 00:38:52,110 --> 00:38:55,970 Сега можем да пуснете някой JavaScript тук, подобно на JavaScript 705 00:38:55,970 --> 00:38:58,860 файлове показах в JS пример. 706 00:38:58,860 --> 00:39:02,040 Но сега нека да разгледаме задачи. 707 00:39:02,040 --> 00:39:04,955 Ние може да работи нашето командване. 708 00:39:04,955 --> 00:39:07,830 И да се надяваме, че ще бъде в състояние да направи това е малко по-голяма, така че ние може да види всичко. 709 00:39:07,830 --> 00:39:14,390 710 00:39:14,390 --> 00:39:18,450 >> Ако бягаме tasks.find, и ще се види, че това е точно същия код 711 00:39:18,450 --> 00:39:24,840 че файл използва на JavaScript в третата стъпка, тази task.find. 712 00:39:24,840 --> 00:39:29,100 Ние може да работи едно и също нещо, и Сега можем да получите някои странни неща. 713 00:39:29,100 --> 00:39:31,050 Как да се получи в действителност данните? 714 00:39:31,050 --> 00:39:34,860 Е, ние трябва да стартирате тази команда, наречена вземе. 715 00:39:34,860 --> 00:39:37,150 >> Това е много полезно за отстраняване на грешки. 716 00:39:37,150 --> 00:39:41,000 Това, което получавате тук е курсор, и това е 717 00:39:41,000 --> 00:39:44,890 приятен начин Meteor има оптимизирани при извличане на данни. 718 00:39:44,890 --> 00:39:48,270 Това курсора разполага с всички функции за живо осъвременяване и освежаване на страницата 719 00:39:48,270 --> 00:39:49,650 когато нещо се е променило. 720 00:39:49,650 --> 00:39:51,280 Но това няма да ни се вземат данните. 721 00:39:51,280 --> 00:39:52,720 Ние може да получите данни чрез вземе. 722 00:39:52,720 --> 00:39:56,880 И вие виждате имаме един обект, и Това е точно като това, което имахме в Монго, 723 00:39:56,880 --> 00:40:00,040 с ID и текстът ще се постави вътре. 724 00:40:00,040 --> 00:40:04,200 >> И как ще се вмъкнете елемент в Meteor? 725 00:40:04,200 --> 00:40:07,250 Е, ние просто трябва задачи. 726 00:40:07,250 --> 00:40:09,990 И тогава можем да стартирате вложката команда, 727 00:40:09,990 --> 00:40:17,520 даване на речник или обект със същия формат, текст 728 00:40:17,520 --> 00:40:22,340 и след това аз съм от конзолата. 729 00:40:22,340 --> 00:40:27,240 Обърнете внимание горе, защото, когато съм направите това, тя се появява на сайта 730 00:40:27,240 --> 00:40:29,660 автоматично. 731 00:40:29,660 --> 00:40:33,291 >> Обърнете внимание, че можете да сложите всичко искате от тези неща. 732 00:40:33,291 --> 00:40:35,040 То не трябва да имат постоянна структура. 733 00:40:35,040 --> 00:40:39,790 Можех да имат равен на номер три и б равна на невярна. 734 00:40:39,790 --> 00:40:41,600 И всички произведения. 735 00:40:41,600 --> 00:40:46,000 Аз дори да изберете да не включва текст изобщо. 736 00:40:46,000 --> 00:40:48,320 Това просто не се препоръчва все пак, защото тогава Meteor 737 00:40:48,320 --> 00:40:50,920 няма да знае какво да покаже. 738 00:40:50,920 --> 00:40:53,110 Но във всеки случай, ние получите ID, и това е 739 00:40:53,110 --> 00:40:54,785 идентификацията на обекта, който може да се използва. 740 00:40:54,785 --> 00:41:01,120 741 00:41:01,120 --> 00:41:03,280 >> Тъй като ние продължаваме с Четвърта стъпка и Пета стъпка, 742 00:41:03,280 --> 00:41:06,870 урока ще ви покажа начина, по които можете да създадете елементи от потребителския интерфейс, използвайки 743 00:41:06,870 --> 00:41:13,130 на HTML ли, че да създаване на различни задачи. 744 00:41:13,130 --> 00:41:15,440 Нека разгледаме стъпка четири наистина бързо. 745 00:41:15,440 --> 00:41:18,290 Ще видим, че сме добавили секция за събития. 746 00:41:18,290 --> 00:41:20,874 Шаблоните могат да имат помощници, които ни получават данни. 747 00:41:20,874 --> 00:41:22,040 Но тя също така може да се обадите събития. 748 00:41:22,040 --> 00:41:25,300 И това е мястото, където неща става полезна, защото събития 749 00:41:25,300 --> 00:41:28,590 са това, което се случи, когато щракнете върху различни неща на вашия сайт. 750 00:41:28,590 --> 00:41:33,790 >> Тук, в нашия код е казваше нас, за да добавите това събитие. 751 00:41:33,790 --> 00:41:38,860 Добави го, когато сте подали нещо, с клас на нова задача. 752 00:41:38,860 --> 00:41:41,910 Това, което имаме тук е избора на CSS. 753 00:41:41,910 --> 00:41:45,870 Така че това просто изглежда за HTML елемент, който има класа нова задача. 754 00:41:45,870 --> 00:41:47,940 И изглежда за събитието, като представят. 755 00:41:47,940 --> 00:41:51,050 Други събития включват кликване, висене, щракнете два пъти, 756 00:41:51,050 --> 00:41:54,450 подобно на това, което получавате в нормален HTML. 757 00:41:54,450 --> 00:41:56,770 >> Какво ви го дам тук, сега е функция. 758 00:41:56,770 --> 00:42:01,210 И вие може да имате Код на тази функция. 759 00:42:01,210 --> 00:42:06,360 Тази функция е това, което в крайна сметка получаване призван, като си представи тази нова задача. 760 00:42:06,360 --> 00:42:12,170 Нека погледнем на HTML, за да сме разбирам какво тази нова задача е. 761 00:42:12,170 --> 00:42:15,570 Добавихме форма тук с клас нова задача. 762 00:42:15,570 --> 00:42:19,880 И има вход, който се текст. 763 00:42:19,880 --> 00:42:22,605 И това е мястото, където ние ще добавим нашите нови задачи. 764 00:42:22,605 --> 00:42:25,520 765 00:42:25,520 --> 00:42:29,780 >> Нека да тече Четвърта стъпка в уебсайт за да видите как изглежда. 766 00:42:29,780 --> 00:42:32,710 Ние можем да се откажат първа изходяща на MongoDB имахме 767 00:42:32,710 --> 00:42:35,300 от нашата предишна Например с Control C. 768 00:42:35,300 --> 00:42:37,690 И нека да го промените стъпката четири директория. 769 00:42:37,690 --> 00:42:41,000 770 00:42:41,000 --> 00:42:42,920 Ще тичам Meteor отново да стартирате сървъра. 771 00:42:42,920 --> 00:42:46,850 772 00:42:46,850 --> 00:42:50,510 И за съжаление, имах Meteor работи в друг терминал. 773 00:42:50,510 --> 00:42:53,080 Така че аз съм просто ще уверете се, че това е затворен. 774 00:42:53,080 --> 00:43:01,805 Нека да се откажат от това и климата Част четвърта, Четвърта стъпка. 775 00:43:01,805 --> 00:43:02,305 OK. 776 00:43:02,305 --> 00:43:11,220 777 00:43:11,220 --> 00:43:13,250 >> Сега нашата Meteor код се изпълнява. 778 00:43:13,250 --> 00:43:19,480 И вие можете да видите, че тя се обновява, без ни дори да се налага да се обнови страницата. 779 00:43:19,480 --> 00:43:24,410 Какво се е променило тук сега че ние нямаме никакви задачи, 780 00:43:24,410 --> 00:43:29,530 но ние имаме форма тук, тази текстово поле, за да добавите нашите нови задачи. 781 00:43:29,530 --> 00:43:31,550 И ние можем да напишете задачата ни тук. 782 00:43:31,550 --> 00:43:34,564 Аз съм от HTML страницата. 783 00:43:34,564 --> 00:43:36,105 Когато натиснете Enter, книгата бе представен. 784 00:43:36,105 --> 00:43:39,180 785 00:43:39,180 --> 00:43:44,540 >> Ние можем да видим какво се е случило, както определени в подходящия код JavaScript. 786 00:43:44,540 --> 00:43:49,930 Какво тази функция направих, беше вземе текста от формата, 787 00:43:49,930 --> 00:43:53,680 и след това просто нарича tasks.insert, както направихме в конзолата. 788 00:43:53,680 --> 00:43:56,410 Те също избра да добавите дата createdAt. 789 00:43:56,410 --> 00:43:59,840 Това е как бихте зададени на текущото време. 790 00:43:59,840 --> 00:44:03,220 След това, той изчиства формата, като уверите, стойността е празен низ. 791 00:44:03,220 --> 00:44:06,550 >> И тогава го нарича връщане фалшиви да уверете се, че нищо друго не се случва. 792 00:44:06,550 --> 00:44:10,350 Когато се върнете фалшиво от формуляр за събитие, което спира изпълнението. 793 00:44:10,350 --> 00:44:14,520 Кажете форма има действие, като представя една страница PHP. 794 00:44:14,520 --> 00:44:16,980 Ако не се беше върнал невярно, че ще се върне вярно. 795 00:44:16,980 --> 00:44:18,500 Това в крайна сметка ще направи това искане. 796 00:44:18,500 --> 00:44:20,590 Фалшиви Те приемат и той спира точно там. 797 00:44:20,590 --> 00:44:23,510 798 00:44:23,510 --> 00:44:28,610 >> Така, че е малко демо за как работи Meteor, и ние сме 799 00:44:28,610 --> 00:44:30,980 била следната самоучителя за известно време. 800 00:44:30,980 --> 00:44:33,560 И вие можете да моля не се колебайте свободен да продължи да прави това. 801 00:44:33,560 --> 00:44:37,760 Има изобилие от ресурси, и начинаещи е всъщност само 802 00:44:37,760 --> 00:44:40,400 много добра за разясняване какво се случва. 803 00:44:40,400 --> 00:44:44,362 Аз искам да ви покажа сега, в няколкото минути, ние оставихме, 804 00:44:44,362 --> 00:44:46,320 Какви са някои от най- хладните характеристики на Meteor, 805 00:44:46,320 --> 00:44:48,772 и какви са някои от най- по-полезни пакети. 806 00:44:48,772 --> 00:44:51,730 Един от големите неща за Meteor е, че имате система пакет. 807 00:44:51,730 --> 00:44:55,620 Можете лесно да се включи код че много хиляди разработчици 808 00:44:55,620 --> 00:44:58,840 са написани в света във вашия Meteor проект. 809 00:44:58,840 --> 00:45:02,410 Един пример за това е това, което може направите в стъпка девет от начинаещи, където 810 00:45:02,410 --> 00:45:07,435 която се опитвате да добавите сметки да си Meteor проект. 811 00:45:07,435 --> 00:45:10,010 812 00:45:10,010 --> 00:45:13,690 Ако имаме CS50 PHP проект, ние ще трябва 813 00:45:13,690 --> 00:45:17,810 да разчитат на рамката или нашия собствен код, за да 814 00:45:17,810 --> 00:45:20,820 сме сигурни, че сигурно се справя пароли и потребителски имена 815 00:45:20,820 --> 00:45:23,120 и съхраняване на данни и всичко това. 816 00:45:23,120 --> 00:45:25,670 >> Оказва се, Meteor има някои пакети за да направи това за вас, 817 00:45:25,670 --> 00:45:29,160 и да го направи много лесно. 818 00:45:29,160 --> 00:45:31,950 Какво можем да направим, е да се добавят няколко опаковки. 819 00:45:31,950 --> 00:45:37,450 Така че нека да направим това право сега в нашата конзола. 820 00:45:37,450 --> 00:45:42,460 Отивам да се откажат от проекта и точно сега отидат в прост-Тодос. 821 00:45:42,460 --> 00:45:47,450 822 00:45:47,450 --> 00:45:50,050 Сега, просто-Todos е проекта, които 823 00:45:50,050 --> 00:45:53,500 ще има, след като е направено със стъпка 11 или 12 по, 824 00:45:53,500 --> 00:45:55,250 в края на този урок. 825 00:45:55,250 --> 00:45:58,642 И нека бързо да го разгледат, за да видите какви са различните функции, които имаме. 826 00:45:58,642 --> 00:46:01,610 Нека просто се уверете, че той се движи. 827 00:46:01,610 --> 00:46:04,400 Понякога това отнема известно време да освежи, но ето го. 828 00:46:04,400 --> 00:46:09,710 >> Имаме възможност нашата да се скрие изпълнение на задачи, и ние можем да влезете. 829 00:46:09,710 --> 00:46:11,770 И това е направено с пакета Meteor. 830 00:46:11,770 --> 00:46:12,270 Това е страхотно. 831 00:46:12,270 --> 00:46:14,910 Ние сега потребителско име и парола Влизане. 832 00:46:14,910 --> 00:46:19,170 Но какво, ако искахме да добавим друг вид механизъм за вход? 833 00:46:19,170 --> 00:46:22,560 Да кажем, че аз исках да вляза в с моя Meteor сметка. 834 00:46:22,560 --> 00:46:27,270 Отивам да тичам метеор добавка, и това е синтаксиса за добавяне на пакети. 835 00:46:27,270 --> 00:46:32,160 Мога да кажа, сметки и accounts.meteor. 836 00:46:32,160 --> 00:46:35,720 Това ще намерите сега пакета и да го зареди. 837 00:46:35,720 --> 00:46:40,480 Можете да видите, че не съм намерили правилното име на пакета. 838 00:46:40,480 --> 00:46:42,820 >> Е, как да разберете за пакети? 839 00:46:42,820 --> 00:46:46,380 Ами там е страхотен сайт, направени достъпно от хората метеора, 840 00:46:46,380 --> 00:46:47,780 наречено atmospherejs.com. 841 00:46:47,780 --> 00:46:52,520 Atmospherejs, с една дума, дот COM, е голямо хранилище 842 00:46:52,520 --> 00:46:57,660 за намиране на всички метеор пакети в хранилището. 843 00:46:57,660 --> 00:47:05,140 Мога да търсите профили и след това тя ще ми покаже цялата необходима неща, 844 00:47:05,140 --> 00:47:07,320 всички опаковки с името на профила си. 845 00:47:07,320 --> 00:47:10,180 846 00:47:10,180 --> 00:47:13,270 >> Макар, че зарежда, можем да се опитаме добавянето на някои други пакети. 847 00:47:13,270 --> 00:47:19,380 Може би пакета Meteor не работи точно сега, но мога да добавиш Facebook. 848 00:47:19,380 --> 00:47:22,860 849 00:47:22,860 --> 00:47:27,190 Мога да добавя сметка и след това функциониране на проекта Meteor отново. 850 00:47:27,190 --> 00:47:33,260 851 00:47:33,260 --> 00:47:36,900 След това започва, нека да видим какво се е променило в сайта. 852 00:47:36,900 --> 00:47:40,010 853 00:47:40,010 --> 00:47:44,580 Можете да see-- бих могъл трябва да го освежите тук. 854 00:47:44,580 --> 00:47:47,320 >> Имам един бутон, за да конфигурирате Facebook вход. 855 00:47:47,320 --> 00:47:49,765 И тук, аз имам всичко инструкциите Meteor 856 00:47:49,765 --> 00:47:52,960 е подготвил за вас за създаване на Facebook ап. 857 00:47:52,960 --> 00:47:58,990 И вие можете да използвате, че информация, за да добавите вашите документи за самоличност. 858 00:47:58,990 --> 00:48:04,130 След като това е направено, ще трябва Facebook вход работи в приложението си. 859 00:48:04,130 --> 00:48:08,559 >> Аз съм просто ще получите лична ап и тайно, 860 00:48:08,559 --> 00:48:10,100 само за да ви покажа как това може да се работи. 861 00:48:10,100 --> 00:48:16,000 862 00:48:16,000 --> 00:48:20,360 Имате нужда от внимание Facebook да използвате Facebook опции за разработчици. 863 00:48:20,360 --> 00:48:31,160 864 00:48:31,160 --> 00:48:35,290 Нека само бързо да намерите на Meteor ключове, които са необходими. 865 00:48:35,290 --> 00:48:46,994 866 00:48:46,994 --> 00:48:49,160 Имам още един проект Meteor че аз отивам да се използва, 867 00:48:49,160 --> 00:48:55,590 и аз съм просто ще вземе ключовете от този файл. 868 00:48:55,590 --> 00:49:14,410 869 00:49:14,410 --> 00:49:20,930 >> И след като я намери, аз просто ще бъде в състояние да копирате тези ключове в моя Facebook. 870 00:49:20,930 --> 00:49:23,489 Така че тук е ключов. 871 00:49:23,489 --> 00:49:24,280 И това е тайна. 872 00:49:24,280 --> 00:49:26,071 Вие не трябва да бъде споделяне на това с хората. 873 00:49:26,071 --> 00:49:28,870 874 00:49:28,870 --> 00:49:30,910 И след това да го дам на приложението си в тайна. 875 00:49:30,910 --> 00:49:33,560 И това е така Facebook знае ли сте. 876 00:49:33,560 --> 00:49:37,630 877 00:49:37,630 --> 00:49:39,080 И да ви спести конфигурацията. 878 00:49:39,080 --> 00:49:45,160 879 00:49:45,160 --> 00:49:48,640 >> Мисля, че в процеса на I са спрели да ми Meteor ап. 880 00:49:48,640 --> 00:49:52,290 Така че аз просто искам да се сигурен, че е все още там. 881 00:49:52,290 --> 00:49:54,962 882 00:49:54,962 --> 00:49:58,610 OK, нека да се уверете, че нашата Meteor сървъра се изпълнява така, уеб страницата се изпълнява. 883 00:49:58,610 --> 00:50:02,440 Забележете, ако спрем метеора сървър, страницата е все още там. 884 00:50:02,440 --> 00:50:04,700 Това просто няма да актуализирате вече. 885 00:50:04,700 --> 00:50:10,290 Сървърът за Meteor е необходимо за като се уверите, че страницата е живо. 886 00:50:10,290 --> 00:50:14,050 >> OK, аз съм го подава, а сега Мога да влезете с Facebook. 887 00:50:14,050 --> 00:50:17,400 Сега е само въпрос на имащ Facebook поп нагоре 888 00:50:17,400 --> 00:50:21,710 и въвеждане в профила си информация и да влезете. 889 00:50:21,710 --> 00:50:24,520 890 00:50:24,520 --> 00:50:27,930 След като направите това, Facebook мощ кранта ли някаква по-голяма сигурност. 891 00:50:27,930 --> 00:50:29,810 Така че ние просто ще спре да съществува. 892 00:50:29,810 --> 00:50:34,110 Въпросът е, че когато сте готови с това, че ще трябва Facebook вход. 893 00:50:34,110 --> 00:50:37,850 >> Meteor има куп други пакети, както добре. 894 00:50:37,850 --> 00:50:39,200 Можете да влезете с Google+. 895 00:50:39,200 --> 00:50:40,500 Можете да влезете с GitHub. 896 00:50:40,500 --> 00:50:42,170 Можете да влезете с Twitter. 897 00:50:42,170 --> 00:50:44,870 Или ако търсите, ще намерите много други неща 898 00:50:44,870 --> 00:50:49,170 като Meetup, LinkedIn, и Meteor Developer. 899 00:50:49,170 --> 00:50:53,100 Така Meteor Developer бе пакет, което е търсил. 900 00:50:53,100 --> 00:50:56,170 метеор добавяне на профили-метеор-разработчик. 901 00:50:56,170 --> 00:51:06,192 902 00:51:06,192 --> 00:51:07,900 В същото време, I Също така искам да препоръча 903 00:51:07,900 --> 00:51:11,340 някои други пакети за вашите проекти. 904 00:51:11,340 --> 00:51:14,670 Тя може да се окаже полезно да се включва пакета JQuery. 905 00:51:14,670 --> 00:51:17,909 Това ви позволява да използвате Jquery във вашите клиенти. 906 00:51:17,909 --> 00:51:21,200 Можеш да го направиш с един ред, и Meteor ще се уверете, че сте в крак 907 00:51:21,200 --> 00:51:21,825 на JQuery. 908 00:51:21,825 --> 00:51:24,330 909 00:51:24,330 --> 00:51:27,450 Аз също препоръчвам Хюстън: Админ. 910 00:51:27,450 --> 00:51:31,550 >> Това е нещо като PhpMyAdmin вид инструмент за вашата MongoDB. 911 00:51:31,550 --> 00:51:33,890 Това ви позволява да редактирате Вашите данни доста лесно 912 00:51:33,890 --> 00:51:37,950 без да се налага да отидете на черупката Монго, като бях направил по-рано по време на семинара. 913 00:51:37,950 --> 00:51:43,160 914 00:51:43,160 --> 00:51:47,101 Така че сега, че това е движение, нека да тичам Метеор отново и да видим какво можем да направим. 915 00:51:47,101 --> 00:51:56,240 916 00:51:56,240 --> 00:52:00,720 >> Може да забележите, че добавянето на някои пакети може да се наложи да ги представят някои предупреждения. 917 00:52:00,720 --> 00:52:02,720 Не е нужно да се притеснявате за това с Хюстън. 918 00:52:02,720 --> 00:52:06,040 919 00:52:06,040 --> 00:52:10,810 Така че сега ние можем да имаме възможност за да настроите Meteor администратор. 920 00:52:10,810 --> 00:52:15,080 И те ни дават направления Ако искате да зададете, че до. 921 00:52:15,080 --> 00:52:17,750 922 00:52:17,750 --> 00:52:20,440 >> Можем също така сега отивам да / администратор. 923 00:52:20,440 --> 00:52:23,280 Това доведе до вас от Хюстън пакет. 924 00:52:23,280 --> 00:52:27,470 И това е Meteor админ интерфейс. 925 00:52:27,470 --> 00:52:30,660 Ти просто се създаде администраторски профил, като толкова. 926 00:52:30,660 --> 00:52:38,150 И ако се обнови страницата, може да се има някои колекции се показват. 927 00:52:38,150 --> 00:52:40,980 928 00:52:40,980 --> 00:52:43,460 >> Това е един много полезен инструмент, и аз силно го препоръчвам. 929 00:52:43,460 --> 00:52:46,717 930 00:52:46,717 --> 00:52:49,050 Можете да видите, че поради Хюстън е давал някои грешки, 931 00:52:49,050 --> 00:52:52,330 ние нямаме никакви колекции се появяват точно сега. 932 00:52:52,330 --> 00:52:56,800 Начинът, по който можете да използвате Хюстън е като се уверите, тази функция получава 933 00:52:56,800 --> 00:52:58,860 призова своите прости-Тодос. 934 00:52:58,860 --> 00:53:01,370 Така че Хюстън не знам какво ми задачи са. 935 00:53:01,370 --> 00:53:04,490 >> Ние създаде Монго колекция, наречена задачи. 936 00:53:04,490 --> 00:53:11,390 Нека да отидем в прост-Todos и просто уверете се, че в JavaScript, 937 00:53:11,390 --> 00:53:16,295 ние добавихме задачи на нашите колекции. 938 00:53:16,295 --> 00:53:19,340 939 00:53:19,340 --> 00:53:25,670 Ние вече спасени, и това е изграждането на заявлението, освежаващо. 940 00:53:25,670 --> 00:53:26,750 И нека да видим. 941 00:53:26,750 --> 00:53:29,090 Сега ние имаме някои задачи. 942 00:53:29,090 --> 00:53:32,630 И ние можем да добавим някои нови задачи. 943 00:53:32,630 --> 00:53:35,840 Но ако искаме да добавите задачи, нека го направим със самия ап. 944 00:53:35,840 --> 00:53:39,660 945 00:53:39,660 --> 00:53:41,050 >> Сега можем да добавим някои данни. 946 00:53:41,050 --> 00:53:53,410 Здравейте, това е задача. 947 00:53:53,410 --> 00:53:57,080 Изглежда странно, че ние не виждаме никакви задачи. 948 00:53:57,080 --> 00:54:00,290 949 00:54:00,290 --> 00:54:05,260 Ние може да искате да проверите дали имаме всеки грешки тук, или може би някъде другаде. 950 00:54:05,260 --> 00:54:08,810 951 00:54:08,810 --> 00:54:20,260 Ако отидем в администратор, че изглежда странно. 952 00:54:20,260 --> 00:54:24,080 Ако дръпнете хранилището след този семинар, 953 00:54:24,080 --> 00:54:27,580 Ще се уверите, че прост-Todos работи с Хюстън. 954 00:54:27,580 --> 00:54:30,370 За съжаление, това не изглежда да да работи в този момент. 955 00:54:30,370 --> 00:54:34,810 956 00:54:34,810 --> 00:54:37,640 >> Има ли други въпроси? 957 00:54:37,640 --> 00:54:41,800 Хюстън нормално е инструмент, който работи много добре. 958 00:54:41,800 --> 00:54:44,510 Хюстън изрично е малко buggier от други такива, 959 00:54:44,510 --> 00:54:49,470 но аз го препоръчвам, когато тя работи. 960 00:54:49,470 --> 00:54:50,080 Да. 961 00:54:50,080 --> 00:54:52,395 >> Публика: Какво можете да направите с пакета Facebook 962 00:54:52,395 --> 00:54:54,270 След като потребителят е влязъл в с техния Facebook? 963 00:54:54,270 --> 00:54:55,978 >> ROGER ZURAWICKI: Веднъж на потребителя влезли, 964 00:54:55,978 --> 00:54:59,540 можете да провеждате разговори към Facebook API. 965 00:54:59,540 --> 00:55:02,890 Много от това се крие още в как Facebook отваря своя API. 966 00:55:02,890 --> 00:55:05,120 Meteor, се уверете, че имат връзка. 967 00:55:05,120 --> 00:55:09,300 Но всичко след това е въпрос на обучение как да използвате Facebook API. 968 00:55:09,300 --> 00:55:10,216 Публика: [недоловим]. 969 00:55:10,216 --> 00:55:17,756 970 00:55:17,756 --> 00:55:18,880 ROGER ZURAWICKI: Добре. 971 00:55:18,880 --> 00:55:21,670 Благодаря ви много за тази CS50 семинар в Meteor. 972 00:55:21,670 --> 00:55:24,060 Ако имате някакви въпроси, можете да се свържете с мен 973 00:55:24,060 --> 00:55:28,319 в моя имейл адрес изброени по-долу семинара. 974 00:55:28,319 --> 00:55:30,110 И аз ще се радвам да отговори на вашите въпроси. 975 00:55:30,110 --> 00:55:33,020 Също така ще бъде най- CS50 Hackathon следва 976 00:55:33,020 --> 00:55:35,550 имате нужда от помощ с вашите Meteor проекти. 977 00:55:35,550 --> 00:55:37,650 Благодаря ви за гледане. 978 00:55:37,650 --> 00:55:38,816