1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:10,960 [MUSIC JOC] 3 00:00:10,960 --> 00:00:12,960 ROGER ZURAWICKI: Bună, mea Numele este Roger Zurawicki, 4 00:00:12,960 --> 00:00:16,410 și voi fi acoperire seminarul CS50 Meteor. 5 00:00:16,410 --> 00:00:21,520 Meteor este un nou cadru dedicat noul tip de web, 6 00:00:21,520 --> 00:00:25,220 nu PHP face cereri înainte și înapoi natură 7 00:00:25,220 --> 00:00:29,070 de web am văzut în setul PHPP, dar mai dinamic JavaScript 8 00:00:29,070 --> 00:00:31,370 părți ale web. 9 00:00:31,370 --> 00:00:36,260 Puncte Meteor pot face include Actualizarea live 10 00:00:36,260 --> 00:00:42,380 și imediat comunicarea între vorbitorii aceleiași site-ului. 11 00:00:42,380 --> 00:00:46,420 >> Pentru acest seminar, avem Codul găzduit la GitHub mea. 12 00:00:46,420 --> 00:00:49,690 Puteți merge la această adresă URL și descărcați-l. 13 00:00:49,690 --> 00:00:53,085 Dacă știți cum să utilizați Git, puteți clona depozit. 14 00:00:53,085 --> 00:00:55,460 Dacă nu știi cum să folosești Git sau nu au folosit GitHub, 15 00:00:55,460 --> 00:00:57,030 asta e complet în regulă. 16 00:00:57,030 --> 00:01:00,480 Eu vă va arăta foarte repede cum putem merge la GitHub, 17 00:01:00,480 --> 00:01:03,604 și nu există o opțiune de descărca un fermoar chiar acolo. 18 00:01:03,604 --> 00:01:06,770 Odată ce ați descărcat această director, tu poate începe să joace cu codul nostru. 19 00:01:06,770 --> 00:01:10,200 20 00:01:10,200 --> 00:01:13,190 >> Mai multe informații despre Meteor pot fi găsite la meteor.com. 21 00:01:13,190 --> 00:01:16,580 În dosarul Seminar, am de fapt au unele proiecte Meteor putem folosi. 22 00:01:16,580 --> 00:01:20,380 23 00:01:20,380 --> 00:01:26,400 Unul dintre dosarele pe care le avem în nostru Proiectul seminar este aplicația todos. 24 00:01:26,400 --> 00:01:28,780 Deci, dacă mă duc în ea I, au Meteor instalat. 25 00:01:28,780 --> 00:01:35,690 Deci, pentru a rula, trebuie doar să tastați Meteor, iar Meteor va instala. 26 00:01:35,690 --> 00:01:38,310 După cum puteți vedea, trebuie să asigurați-vă că am instalat Meteor. 27 00:01:38,310 --> 00:01:40,562 Așa că Mă duc la rulați-l încă o dată 28 00:01:40,562 --> 00:01:42,520 pentru a vă asigura că Meteor este instalat corect. 29 00:01:42,520 --> 00:01:46,370 30 00:01:46,370 --> 00:01:48,450 >> În timp ce am Meteor instalare, vă pot arăta 31 00:01:48,450 --> 00:01:53,760 unele demo-uri live ale site-urilor Meteor merge direct chiar acum pe internet. 32 00:01:53,760 --> 00:01:57,990 Am un demo de aplicația noastră. 33 00:01:57,990 --> 00:02:00,740 Poti accesa la următorul URL. 34 00:02:00,740 --> 00:02:06,350 Aceasta este aplicația pentru a face acest lucru ne au în directorul nostru seminar. 35 00:02:06,350 --> 00:02:09,940 URL-ul pentru acest lucru este rozu-rabbit.meteor.com. 36 00:02:09,940 --> 00:02:14,782 Veți vedea că Meteor va de fapt găzdui proiectele dvs. Meteor gratuit. 37 00:02:14,782 --> 00:02:17,490 Iar la finalul seminarului, vei putea să facă acest lucru, de asemenea. 38 00:02:17,490 --> 00:02:20,550 39 00:02:20,550 --> 00:02:22,160 >> Aceasta este o listă a face app. 40 00:02:22,160 --> 00:02:27,740 Și vă puteți conecta, de a crea conturi, și se adaugă sarcini. 41 00:02:27,740 --> 00:02:30,020 Puteți crea un cont ca așa. 42 00:02:30,020 --> 00:02:33,050 43 00:02:33,050 --> 00:02:35,850 Și acum, odată ce ai un cont, puteți adăuga sarcini. 44 00:02:35,850 --> 00:02:42,780 De exemplu, una din sarcinile I ar putea avea nevoie pentru a merge ridica rufele mele. 45 00:02:42,780 --> 00:02:45,160 Și dacă ești această site-ul on-line, veți 46 00:02:45,160 --> 00:02:49,790 a se vedea de fapt această sarcină pe computerul în timp real. 47 00:02:49,790 --> 00:02:53,760 >> Pot să vă arăt un demo rapid de acest lucru prin deschiderea rozu-iepure 48 00:02:53,760 --> 00:02:56,700 într-o altă filă cu aceeași adresă URL. 49 00:02:56,700 --> 00:03:00,360 Și vedem că aceleași date vine. 50 00:03:00,360 --> 00:03:02,240 Putem, de asemenea, rula în un alt browser. 51 00:03:02,240 --> 00:03:03,420 Spune-am alerga în Safari. 52 00:03:03,420 --> 00:03:04,720 În acest fel nu vom autentificat. 53 00:03:04,720 --> 00:03:07,750 54 00:03:07,750 --> 00:03:11,060 Deci avem aceeași Meteor app, și o dată se încarcă, 55 00:03:11,060 --> 00:03:13,910 vom vedea aceleași date am făcut-o în primul. 56 00:03:13,910 --> 00:03:16,710 După cum puteți vedea, nu mă autentificat aici. 57 00:03:16,710 --> 00:03:20,000 Și când datele controale de audiență, se actualizează pe toate browserele 58 00:03:20,000 --> 00:03:20,910 simultan. 59 00:03:20,910 --> 00:03:23,740 Aceasta este una dintre adevărat caracteristici interesante despre Meteor. 60 00:03:23,740 --> 00:03:27,700 Cu aproape nici o lucrare, tu au o aplicație de actualizare în direct 61 00:03:27,700 --> 00:03:31,240 că schimbările de pe toate dispozitivele dumneavoastră la o dată. 62 00:03:31,240 --> 00:03:36,690 >> Dacă bifați caseta de validare aici în lista mea de a face, vom avea, 63 00:03:36,690 --> 00:03:41,230 în alte browser-ul meu Chrome, elementul verificat off. 64 00:03:41,230 --> 00:03:42,605 Și acest lucru se întâmplă instantaneu. 65 00:03:42,605 --> 00:03:46,340 66 00:03:46,340 --> 00:03:47,280 În regulă. 67 00:03:47,280 --> 00:03:52,730 Deci, se pare ca Meteor instalare este pregătit acum. 68 00:03:52,730 --> 00:03:57,000 Deci, acum să ne întoarcem la app todos și a alerga acest nivel local. 69 00:03:57,000 --> 00:04:01,599 >> Dacă aveți un proiect Meteor, puteți doar rulați cu Meteor comanda. 70 00:04:01,599 --> 00:04:03,640 Odată ce ați face acest lucru, Meteor va face o anumită pregătire 71 00:04:03,640 --> 00:04:06,120 să vă asigurați că toate codul este sub control. 72 00:04:06,120 --> 00:04:12,440 Și apoi o să vă spun că Proiectul este gata pentru a fi servit. 73 00:04:12,440 --> 00:04:17,750 Ai putea avea nevoie pentru a permite tău firewall, dacă blocuri de calculator pe care. 74 00:04:17,750 --> 00:04:22,440 >> Deci, ceea ce Meteor îmi spune acum este că în acest website 75 00:04:22,440 --> 00:04:26,100 locală la calculatorul meu, eu pot vedea ceea ce acest proiect Meteor este. 76 00:04:26,100 --> 00:04:29,290 Rețineți că chiar acum, aplicația mea este nu sunt accesibile pe internet. 77 00:04:29,290 --> 00:04:35,170 Vom acoperi cum să aducă Meteor dumneavoastră app la un site viu un pic mai târziu. 78 00:04:35,170 --> 00:04:40,510 Așa că Mă duc la copiați acest URL-ul acum și du-te în Google Chrome. 79 00:04:40,510 --> 00:04:42,600 >> Și acest lucru este de a face lista de exemplul. 80 00:04:42,600 --> 00:04:46,080 Puteti vedea ei în aplicare alte câteva caracteristici aici. 81 00:04:46,080 --> 00:04:49,210 Avem file diferite, ne-am au aceleași caracteristici de cont, 82 00:04:49,210 --> 00:04:52,141 și putem adăuga noi liste. 83 00:04:52,141 --> 00:04:54,140 Acum, una dintre cele mai adevărat facilitate rece despre Meteor 84 00:04:54,140 --> 00:04:57,450 este faptul că nu numai se poate acest lucru de lucru pe browser-ul web, 85 00:04:57,450 --> 00:05:00,030 dar puteți crea, de asemenea, nativ iPhone și Android 86 00:05:00,030 --> 00:05:02,990 aplicații prin intermediul unui instrument numit PhoneGap. 87 00:05:02,990 --> 00:05:06,740 >> Deci, unele proiecte vor veni pre-configurate pentru a rula 88 00:05:06,740 --> 00:05:08,700 pe iOS, cum ar fi această aplicație todos. 89 00:05:08,700 --> 00:05:14,780 Deci tot ce trebuie să faceți pentru a rula în iOS este de tip Meteor, alerga, și apoi iOS. 90 00:05:14,780 --> 00:05:17,540 Și când fac asta, Meteor va pregăti din nou pachetul. 91 00:05:17,540 --> 00:05:21,670 Și apoi, după ce e gata, o să încărcați simulator iOS la comanda mea. 92 00:05:21,670 --> 00:05:24,745 Notă Puteți rula doar iOS aplicații dacă aveți un calculator Mac. 93 00:05:24,745 --> 00:05:27,650 94 00:05:27,650 --> 00:05:30,730 Puteți rula aplicațiile pe Android pe toate platformele. 95 00:05:30,730 --> 00:05:34,070 96 00:05:34,070 --> 00:05:38,290 >> Deci, acum puteți vedea că iPhone-ul meu simulator venit pe ecranul meu. 97 00:05:38,290 --> 00:05:40,370 Și într-o clipă, vom încărca cu aplicația. 98 00:05:40,370 --> 00:05:46,070 99 00:05:46,070 --> 00:05:48,490 Dacă vom face doar un pic mai mici pentru a se potrivi pe ecran, 100 00:05:48,490 --> 00:05:50,780 vom vedea, avem noastră aplicație pentru iPhone. 101 00:05:50,780 --> 00:05:53,220 Și așa noi nu facem obține confuz, hai să facem 102 00:05:53,220 --> 00:05:59,790 sigur suntem pe aceeași site-ul, gazda locală 3000. 103 00:05:59,790 --> 00:06:03,490 >> Deci, aici este un exemplu a aplicației Meteor am, 104 00:06:03,490 --> 00:06:08,770 aplicația Todos, care rulează atât pe un telefon și pe un browser web. 105 00:06:08,770 --> 00:06:10,770 Și când am schimba lucrurile în browser-ul web, 106 00:06:10,770 --> 00:06:12,675 imediat se duce la telefon. 107 00:06:12,675 --> 00:06:16,500 Și eu pot șterge ceva la telefon, și se schimbă în browser-ul web. 108 00:06:16,500 --> 00:06:21,050 >> Acum, în mod normal, pentru a crea nativ app telefon pentru iOS sau Android, 109 00:06:21,050 --> 00:06:26,090 trebuie să știți nici Java sau Obiectiv C. utilizări Meteor tehnologie 110 00:06:26,090 --> 00:06:29,240 pentru a permite JavaScript pentru a rula ca aplicația se numește PhoneGap. 111 00:06:29,240 --> 00:06:31,320 Ce aplicația, în esență, este este un browser web. 112 00:06:31,320 --> 00:06:34,500 Și Meteor se ocupă de toate părțile implicate dificile 113 00:06:34,500 --> 00:06:39,820 pentru aducerea ca browser-ul web pentru a iPhone-ul sau dispozitivul Android. 114 00:06:39,820 --> 00:06:42,210 Puteti vedea că interfața cu utilizatorul este buna, 115 00:06:42,210 --> 00:06:45,290 și se arată și se simte foarte mai mult ca o aplicație nativă. 116 00:06:45,290 --> 00:06:48,620 Observați că dacă mă duc la casa ecran acum, am obține, de asemenea o pictogramă. 117 00:06:48,620 --> 00:06:50,880 Acesta nu este un site web ca vei găsi în Safari. 118 00:06:50,880 --> 00:06:51,860 Aceasta este propria aplicație. 119 00:06:51,860 --> 00:06:54,130 Puteți instala și șterge-o, dacă doriți. 120 00:06:54,130 --> 00:06:59,500 121 00:06:59,500 --> 00:07:04,436 >> Vă putem arăta pe scurt ce codul pentru acest tip de Todos app arată. 122 00:07:04,436 --> 00:07:08,260 Dacă te uiți în dosarul todos, veți vedea acolo sunt multe foldere. 123 00:07:08,260 --> 00:07:11,440 Dar în cursul seminarului, vom 124 00:07:11,440 --> 00:07:14,780 înțelege ceea ce fiecare dosar se utilizează pentru. 125 00:07:14,780 --> 00:07:17,830 Să mergem în terminalul așa am Puteti vedea fișierele un pic mai bine. 126 00:07:17,830 --> 00:07:20,410 >> Am de gând să apăsați Control C pentru a opri serverul, 127 00:07:20,410 --> 00:07:22,770 iar acum m-am întors în aplicația todos. 128 00:07:22,770 --> 00:07:26,660 Am dosare diferite aici, cum ar fi dosarul clientului, directorul de server. 129 00:07:26,660 --> 00:07:30,500 Și aceste dosare înseamnă pur și simplu că tot în dosarul clientului 130 00:07:30,500 --> 00:07:32,630 este executat pe browser-ul dumneavoastră. 131 00:07:32,630 --> 00:07:35,530 Totul într-un dosar de server este executat pe un server. 132 00:07:35,530 --> 00:07:38,100 >> Ceea ce vreau să subliniez faptul este că ceea ce am avut 133 00:07:38,100 --> 00:07:42,140 când am avut funcționare nostru de telefon și Browser-ul nostru web, acestea au fost clienti. 134 00:07:42,140 --> 00:07:45,730 Dar ce se execută într-un terminale, asta e serverul. 135 00:07:45,730 --> 00:07:48,710 Avem alte dosare, cum ar fi lib, care este codul bibliotecă, 136 00:07:48,710 --> 00:07:51,050 ca ajutor ta funcții, pe care le puteți 137 00:07:51,050 --> 00:07:53,710 utiliza atât pe client și server. 138 00:07:53,710 --> 00:07:55,820 Și atunci ai un public dosar și resurse 139 00:07:55,820 --> 00:07:59,310 dosar necesar pentru a obține imagini și alte CSS încărcat. 140 00:07:59,310 --> 00:08:02,630 141 00:08:02,630 --> 00:08:09,360 >> Dacă ați instalat Meteor, vom continua cu tutorial pentru Meteor. 142 00:08:09,360 --> 00:08:12,790 Puteți merge la această adresă URL, meteor.com/install, 143 00:08:12,790 --> 00:08:17,990 pentru a obține linia de comandă pe care am ți-a arătat că se instalează Meteor. 144 00:08:17,990 --> 00:08:20,240 Vom trece prin primul câțiva pași pentru a obține o mai bună 145 00:08:20,240 --> 00:08:22,760 simt despre cum să instalați Meteor. 146 00:08:22,760 --> 00:08:28,000 >> Dar în primul rând, cred că este important ca vom revizui un pic de JavaScript. 147 00:08:28,000 --> 00:08:32,360 Pentru a-ți arăt câteva exemple de cum cunoștințele noastre C poate fi tradus 148 00:08:32,360 --> 00:08:34,950 la JavaScript, am creat câteva exemple. 149 00:08:34,950 --> 00:08:36,940 Acestea sunt în directorul js. 150 00:08:36,940 --> 00:08:41,750 Deci, dacă la seminariile voi folderul uite, e un folder numit js. 151 00:08:41,750 --> 00:08:44,540 Și aici avem câteva exemple. 152 00:08:44,540 --> 00:08:50,120 >> Să deschide primul exemplu și vedea foarte repede. 153 00:08:50,120 --> 00:08:53,980 Ceea ce vedem este standard ta salut comandă lume. 154 00:08:53,980 --> 00:08:56,520 Ai observa in C pe care le au destul de câteva rânduri. 155 00:08:56,520 --> 00:09:00,490 Și pe măsură ce elevii CS50 știți, avem nevoie de o funcție principală, 156 00:09:00,490 --> 00:09:05,730 și trebuie să includă standardul I / O bibliotecă, în scopul de a apela printf. 157 00:09:05,730 --> 00:09:09,320 >> Să ne uităm la modul în care compară JavaScript. 158 00:09:09,320 --> 00:09:11,560 Am de gând să deschidă ex1.js. 159 00:09:11,560 --> 00:09:14,650 A comentat afară este ceea ce C cod ar arata ca, 160 00:09:14,650 --> 00:09:17,550 și linia de mai jos este tot aveți nevoie pentru a rula în Node. 161 00:09:17,550 --> 00:09:20,452 Nu aveți nevoie de o funcție principală, tu nu trebuie să includă toate fișierele, 162 00:09:20,452 --> 00:09:21,660 și nu aveți nevoie să se întoarcă. 163 00:09:21,660 --> 00:09:23,810 Ai sunat doar console.log. 164 00:09:23,810 --> 00:09:26,370 Acesta este echivalentul a printf dumneavoastră. 165 00:09:26,370 --> 00:09:29,310 >> Și este nevoie de la fel argumente printf ar fi. 166 00:09:29,310 --> 00:09:33,870 Și în scopul de a se rula, în loc de a rula face EX1, 167 00:09:33,870 --> 00:09:38,930 v-ar suna doar ex1.js. Node 168 00:09:38,930 --> 00:09:41,830 Tu scrie Nod și apoi fișierul, și acesta devine alerga. 169 00:09:41,830 --> 00:09:43,580 Nu se compilat. 170 00:09:43,580 --> 00:09:45,970 JavaScript este un limbaj interpretat. 171 00:09:45,970 --> 00:09:49,150 Deci, nu este nevoie să fie compilat înainte de a fi executați. 172 00:09:49,150 --> 00:09:53,450 Dacă aș fi vrut să curgă ex1.c, Trebuie să-l facă în primul rând, 173 00:09:53,450 --> 00:09:59,160 și apoi pot rula executabil pentru a obține același rezultat. 174 00:09:59,160 --> 00:10:02,460 >> Să acopere rapid unele alte concepte JavaScript. 175 00:10:02,460 --> 00:10:04,490 Să ne uităm la exemplul doi. 176 00:10:04,490 --> 00:10:14,690 În ex2.js, în ex2.c, putem vedea că avem un cod. 177 00:10:14,690 --> 00:10:16,550 Lasă-mă să merg repede la un editor de text mai bun 178 00:10:16,550 --> 00:10:18,400 care va arăta aceste noi linii de un pic mai bine. 179 00:10:18,400 --> 00:10:21,760 180 00:10:21,760 --> 00:10:22,380 În regulă. 181 00:10:22,380 --> 00:10:24,190 Aici avem exemplu 2.c. 182 00:10:24,190 --> 00:10:27,360 Aici avem diferite tipuri că suntem imprimarea. 183 00:10:27,360 --> 00:10:30,880 Și după cum știm, printf ia argumente diferite la sută 184 00:10:30,880 --> 00:10:34,050 pentru a accesa diferite piese de date. 185 00:10:34,050 --> 00:10:36,840 Dacă doriți să imprimați un șir de caractere, noi numim% s. 186 00:10:36,840 --> 00:10:40,390 Dacă vrem să numim un Floating numar de punct, am sunat% f. 187 00:10:40,390 --> 00:10:45,810 Și nu există nici o modalitate ușoară de a apela un Boolean prin valoarea sa adevărată sau falsă. 188 00:10:45,810 --> 00:10:50,760 Dar, dacă folosiți% d, puteți obține un 0 sau 1 pentru fals și adevărat. 189 00:10:50,760 --> 00:10:53,270 >> JavaScript este un pic mai frumos pentru noi. 190 00:10:53,270 --> 00:10:57,740 În JavaScript, să ne uităm la câteva Diferențele avem în acest dosar. 191 00:10:57,740 --> 00:11:05,790 În primul rând, observați că în C trebuie să inițializarea fiecare variabilă cu un tip. 192 00:11:05,790 --> 00:11:06,940 S este o stea char. 193 00:11:06,940 --> 00:11:08,930 E un șir, și ea nu poate fi orice alt tip. 194 00:11:08,930 --> 00:11:10,450 N este un float. 195 00:11:10,450 --> 00:11:11,780 B este un Bool. 196 00:11:11,780 --> 00:11:14,220 >> Dar, în JavaScript, există tipuri dinamice. 197 00:11:14,220 --> 00:11:16,400 Asta înseamnă că tu nu faci trebuie să-i spuneți JavaScript 198 00:11:16,400 --> 00:11:17,860 ce tipuri variabilele vor fi. 199 00:11:17,860 --> 00:11:22,730 Trebuie doar spun var pentru variabila, numele variabilei, iar apoi valoarea sa. 200 00:11:22,730 --> 00:11:24,690 Astfel, un var poate fi nimic cu adevarat. 201 00:11:24,690 --> 00:11:25,640 Acesta poate fi un șir. 202 00:11:25,640 --> 00:11:27,300 Acesta poate fi un număr în virgulă mobilă. 203 00:11:27,300 --> 00:11:28,560 Acesta poate fi un personaj. 204 00:11:28,560 --> 00:11:31,250 Acesta poate fi un Boolean. 205 00:11:31,250 --> 00:11:34,380 Și jurnal consolă functioneaza un pic diferit. 206 00:11:34,380 --> 00:11:37,340 Dacă doriți să imprimați un număr, te sun% d. 207 00:11:37,340 --> 00:11:41,740 Dar cele mai multe valori pot fi imprimate ca siruri de caractere foarte bine. 208 00:11:41,740 --> 00:11:46,220 >> Să facem acest lucru în Node pentru a vedea ce se va întâmpla. 209 00:11:46,220 --> 00:11:51,880 Pot apela ex2.js Node, și ne printf 210 00:11:51,880 --> 00:11:56,870 cu CS50 valori, N ca numărul de virgulă mobilă, 211 00:11:56,870 --> 00:12:00,620 și apoi B ca Boolean convertit la un șir adevărată. 212 00:12:00,620 --> 00:12:03,830 Ce zici dacă ne-am facut exemplu 2.c? 213 00:12:03,830 --> 00:12:09,630 Ei bine, avem încă ceva mai multe necazuri cu printf. 214 00:12:09,630 --> 00:12:13,110 Observați că punctul de flotant Numărul trebuie să fie formatat corect, 215 00:12:13,110 --> 00:12:18,120 și că Boolean nu poate pur și simplu fi afișate ca adevărate sau false. 216 00:12:18,120 --> 00:12:18,620 În regulă. 217 00:12:18,620 --> 00:12:22,680 Acum, să ne uităm la exemplul trei. 218 00:12:22,680 --> 00:12:26,470 În exemplul trei, suntem arată cum ar trebui să utilizați o buclă pentru. 219 00:12:26,470 --> 00:12:27,630 De fapt, e foarte simplu. 220 00:12:27,630 --> 00:12:31,430 Unul dintre lucrurile frumoase despre JavaScript este că se bazează C. 221 00:12:31,430 --> 00:12:33,920 Asta înseamnă că o mulțime de dumneavoastră Codul va arata foarte similar 222 00:12:33,920 --> 00:12:36,490 și se simt foarte mult la fel. 223 00:12:36,490 --> 00:12:39,220 Într-un pentru buclă, singurul lucru care a schimbat într-adevăr aici 224 00:12:39,220 --> 00:12:41,840 este în loc de int i, avem var i. 225 00:12:41,840 --> 00:12:45,470 Putem totuși atribui valoare la zero, verificați că este mai puțin de cinci, 226 00:12:45,470 --> 00:12:49,390 și incrementa cu un cu operatorul ++. 227 00:12:49,390 --> 00:12:56,286 Facem apel console.log pe i, și că ne va imprima un număr cu fiecare linie. 228 00:12:56,286 --> 00:12:58,410 Să rula foarte repede pentru a vedea ce va fi afișat. 229 00:12:58,410 --> 00:13:02,320 230 00:13:02,320 --> 00:13:03,880 Am primi un număr nou în fiecare rând. 231 00:13:03,880 --> 00:13:06,920 Un alt lucru pe care îl vrei pentru a observa cu console.log 232 00:13:06,920 --> 00:13:09,960 este că nu trebuie să scrie backslash n pentru noua linie. 233 00:13:09,960 --> 00:13:12,480 Console.log va imprima totul pe o linie proprie. 234 00:13:12,480 --> 00:13:14,585 E o caracteristică frumos că JavaScript ne dă. 235 00:13:14,585 --> 00:13:18,440 236 00:13:18,440 --> 00:13:22,600 >> Acum, haideți să deschidem exemplu patru. 237 00:13:22,600 --> 00:13:28,710 În exemplul patru, în primul rând în C, noi solicităm câteva funcții. 238 00:13:28,710 --> 00:13:33,290 Observați că trebuie să declare Funcții înainte de a le folosi în principal. 239 00:13:33,290 --> 00:13:37,250 Dacă am fi avut principală întâi și apoi se adaugă și apoi ridicat, face, 240 00:13:37,250 --> 00:13:39,540 zăngăni, sau CCG ar ne da o eroare spunând 241 00:13:39,540 --> 00:13:41,060 că nu știe ce mare e. 242 00:13:41,060 --> 00:13:42,780 Ea nu știe ce add este. 243 00:13:42,780 --> 00:13:46,480 Deci, în C, trebuie să fie pretentios despre ordinea în care suni funcțiile. 244 00:13:46,480 --> 00:13:49,220 245 00:13:49,220 --> 00:13:51,310 >> Să ne uităm la modul în care puteți face acest lucru în JavaScript. 246 00:13:51,310 --> 00:13:56,060 Avem diferite fișiere, deoarece acolo sunt cateva moduri diferite de a face acest lucru. 247 00:13:56,060 --> 00:13:58,950 O modalitate este destul de mult o traducere directă. 248 00:13:58,950 --> 00:14:02,180 Deoarece functii in C Tipuri de a reveni, și JavaScript 249 00:14:02,180 --> 00:14:05,210 nu știu cu adevărat sau îngrijire despre ce tip te vei întoarce, 250 00:14:05,210 --> 00:14:06,300 nu scrie un tip. 251 00:14:06,300 --> 00:14:08,100 În schimb, doar ai nevoie a scrie funcție, 252 00:14:08,100 --> 00:14:11,180 și totul este destul de la fel ca mai înainte. 253 00:14:11,180 --> 00:14:14,630 >> Cand ai o variabilă, cum ar fi în adăuga, trebuie doar să scrie x și y. 254 00:14:14,630 --> 00:14:16,060 Nu avem nevoie să spun x este un int. 255 00:14:16,060 --> 00:14:18,940 Nu avem nevoie să spun y este un întreg. 256 00:14:18,940 --> 00:14:21,030 Ne intoarcem cu aceeași sintaxă. 257 00:14:21,030 --> 00:14:24,230 Pentru mare, l-am declara cu funcționează în loc de gol. 258 00:14:24,230 --> 00:14:26,110 Observați că dacă e gol sau non-nule, 259 00:14:26,110 --> 00:14:28,380 este încă tot aceeași funcție. 260 00:14:28,380 --> 00:14:32,440 Și pur și simplu nu pune nimic în paranteze, 261 00:14:32,440 --> 00:14:34,690 și se pare foarte mult ca codul C. 262 00:14:34,690 --> 00:14:37,460 Și de mai jos, o putem numi de mai jos. 263 00:14:37,460 --> 00:14:42,730 >> Dacă ne uităm la exemplul 4b, observăm că m-am schimbat câteva lucruri. 264 00:14:42,730 --> 00:14:45,340 Singurul lucru pe care l-am schimbat într-adevăr, deși este de ordinul. 265 00:14:45,340 --> 00:14:47,340 Avem la fel funcții, dar acum ei sunt 266 00:14:47,340 --> 00:14:52,200 declarat după ce acestea sunt utilizate în console.log și de înaltă pe liniile 18, 19. 267 00:14:52,200 --> 00:14:54,740 Dacă ați făcut acest lucru în C, face ar arunca o eroare. 268 00:14:54,740 --> 00:14:56,070 Aici, acest lucru funcționează foarte bine. 269 00:14:56,070 --> 00:15:01,935 Și eu pot demonstra asta prin apel Nod pe exemplu 4b. 270 00:15:01,935 --> 00:15:05,350 271 00:15:05,350 --> 00:15:10,130 >> Un alt mod putem apela funcții este de economisire funcționează ca variabile. 272 00:15:10,130 --> 00:15:13,790 Cum am spus, o variabilă poate avea orice tip. 273 00:15:13,790 --> 00:15:16,720 Unul dintre tipurile unei variabile poate avea este o funcție. 274 00:15:16,720 --> 00:15:19,800 Deci, dacă te uiți la exemplu 4c, ceea ce m-am schimbat 275 00:15:19,800 --> 00:15:24,320 aici este var adăuga în loc de funcția de adăugare. 276 00:15:24,320 --> 00:15:26,807 Și acum adăuga egal o funcție. 277 00:15:26,807 --> 00:15:28,140 Această funcție de aici este anonim. 278 00:15:28,140 --> 00:15:33,346 Nu are nume, deci e doar funcțională și apoi paranteze. 279 00:15:33,346 --> 00:15:35,220 Sintaxa după care nu se schimba, dar tu 280 00:15:35,220 --> 00:15:38,300 trebuie să țină cont de faptul că aveți o variabilă care esti 281 00:15:38,300 --> 00:15:42,940 stocarea funcția în completare, și o variabilă care sunteți stocarea în mare. 282 00:15:42,940 --> 00:15:47,620 >> Deoarece se adaugă și mare sunt acum variabile și nu funcții, ceva se schimbă. 283 00:15:47,620 --> 00:15:50,190 Aceasta este o eroare comună văd în o mulțime de JavaScripts oamenilor, 284 00:15:50,190 --> 00:15:52,410 și ceva de a păstra în minte. 285 00:15:52,410 --> 00:15:54,365 Când am rulat acest lucru, să vedem ce se întâmplă. 286 00:15:54,365 --> 00:15:57,410 287 00:15:57,410 --> 00:15:58,230 Primesc o eroare. 288 00:15:58,230 --> 00:16:01,000 Se spune nedefinit în acest moment. 289 00:16:01,000 --> 00:16:03,520 Deci o serie spune nu știe ce e adăuga. 290 00:16:03,520 --> 00:16:06,010 >> Deoarece acum adăuga nu este o funcție, adăugați este o variabilă. 291 00:16:06,010 --> 00:16:10,100 Și nu am dat de fapt adăuga o valoare încă atunci când îl utilizează. 292 00:16:10,100 --> 00:16:14,460 Asta ne aduce la exemplul 4d, în cazul în care în cazul în care doriți să utilizați variabile ca funcții, 293 00:16:14,460 --> 00:16:17,210 trebuie doar să vă asigurați că ei obține valoarea înainte de a fi folosit. 294 00:16:17,210 --> 00:16:20,200 295 00:16:20,200 --> 00:16:23,420 >> Să trecem la exemplul cinci apoi. 296 00:16:23,420 --> 00:16:27,390 Aici, vorbim despre structs în C. În C, struct 297 00:16:27,390 --> 00:16:30,320 au această structură fixă ​​a le pentru că va trebui să le declare 298 00:16:30,320 --> 00:16:33,050 înainte de al utiliza, și you say Am un elev, 299 00:16:33,050 --> 00:16:36,645 și fiecare elev are exact un nume, un an un gen. 300 00:16:36,645 --> 00:16:37,770 Trebuie să aibă toate. 301 00:16:37,770 --> 00:16:42,280 Ea nu poate avea alte valori, și ele trebuie să fie tipuri specifice. 302 00:16:42,280 --> 00:16:47,540 >> Atunci putem inițializa struct în această sintaxă frumos 303 00:16:47,540 --> 00:16:49,470 pentru că știe comanda. 304 00:16:49,470 --> 00:16:51,460 Deci, știe că Roger este un nume. 305 00:16:51,460 --> 00:16:54,060 Se știe că 2016 este un an și M este un gen 306 00:16:54,060 --> 00:16:58,200 pentru că am spus că această listă este un elev struct. 307 00:16:58,200 --> 00:17:01,607 Și apoi puteți imprima ea, accesarea s.name. 308 00:17:01,607 --> 00:17:03,690 Să vedem cum ne-ar converti care a JavaScript. 309 00:17:03,690 --> 00:17:06,400 310 00:17:06,400 --> 00:17:09,790 Observați că s este acum un variabilă, și nu există nici un tip. 311 00:17:09,790 --> 00:17:10,920 E din nou doar o var. 312 00:17:10,920 --> 00:17:14,480 Pentru că nu contează dacă tip de această variabilă este un pointer, 313 00:17:14,480 --> 00:17:17,440 este o struct, sau orice altceva. 314 00:17:17,440 --> 00:17:19,650 Avem o sintaxă ușor diferită. 315 00:17:19,650 --> 00:17:21,890 Această sintaxă este sintaxa obiect. 316 00:17:21,890 --> 00:17:24,400 >> S-ar putea fi văzut în JSON. 317 00:17:24,400 --> 00:17:27,780 JSON înseamnă de fapt JavaScript Object Notation. 318 00:17:27,780 --> 00:17:31,240 Acesta este modul în care definiți obiecte în JavaScript. 319 00:17:31,240 --> 00:17:34,500 Avem o cheie, care este valoarea, cum ar fi numele. 320 00:17:34,500 --> 00:17:37,680 Și da valori pe cealaltă parte a colonului. 321 00:17:37,680 --> 00:17:41,850 Și un lucru de a păstra în minte este de tine nu trebuie să aibă un nume și un an 322 00:17:41,850 --> 00:17:42,980 și un gen de un obiect. 323 00:17:42,980 --> 00:17:44,570 Un obiect poate avea nici o valoare. 324 00:17:44,570 --> 00:17:46,920 Se poate avea la fel de multe ca tine doriți. 325 00:17:46,920 --> 00:17:50,375 >> Putem folosi aceste obiecte în doar același fel ne-ar folosi un struct, s.name. 326 00:17:50,375 --> 00:17:53,810 327 00:17:53,810 --> 00:17:57,080 Putem rula foarte repede de a face nod exemplu 5.c. 328 00:17:57,080 --> 00:18:00,320 329 00:18:00,320 --> 00:18:02,520 Nu putem rula de fapt un fișier C în Node. 330 00:18:02,520 --> 00:18:03,654 Ea nu știe ce C este. 331 00:18:03,654 --> 00:18:04,695 Se știe doar JavaScript. 332 00:18:04,695 --> 00:18:09,865 Când ne-am rula ex5.js, avem valoarea, care ne-am așteptat. 333 00:18:09,865 --> 00:18:13,490 334 00:18:13,490 --> 00:18:15,980 >> Să trecem la șase exemplu. 335 00:18:15,980 --> 00:18:18,930 Aici vreau doar să vorbim un pic mai multe despre matrice JavaScript 336 00:18:18,930 --> 00:18:20,930 pentru că sunt un pic diferit de ceea ce esti 337 00:18:20,930 --> 00:18:26,940 folosit la C. Array sunt notate, nu cu consolele, cum ar fi în C, 338 00:18:26,940 --> 00:18:28,640 cu acolade, dar paranteze. 339 00:18:28,640 --> 00:18:32,150 Puteți avea o matrice goală, ca ARR în linie patru. 340 00:18:32,150 --> 00:18:34,680 Puteți avea tablouri cu mai multe valori. 341 00:18:34,680 --> 00:18:39,790 Și tu le accesa doar în același mod în C. 342 00:18:39,790 --> 00:18:42,990 >> Până la linia șapte, tot Pare destul de simplu. 343 00:18:42,990 --> 00:18:45,390 O diferență minoră este aici, la linia 10. 344 00:18:45,390 --> 00:18:48,620 Modul în care obține o lungime de un matrice este doar de apel .length. 345 00:18:48,620 --> 00:18:50,620 O matrice poate fi de fapt tratat ca un obiect, 346 00:18:50,620 --> 00:18:54,960 și acest obiect are o proprietate lungime să sunați pentru a obține lungimea lui. 347 00:18:54,960 --> 00:18:57,350 Observați că aceasta este diferită în C pentru că în C tu 348 00:18:57,350 --> 00:19:01,600 trebuie să știe lungimea obiect inainte de timp. 349 00:19:01,600 --> 00:19:04,700 >> Deci, un alt lucru frumos despre rețele este că puteți avea diferite tipuri. 350 00:19:04,700 --> 00:19:07,470 Dacă aveți o matrice în C, acolo sunt tablouri de o anumită valoare, 351 00:19:07,470 --> 00:19:11,900 fie un pointer struct sau plutește sau [inaudibil]. 352 00:19:11,900 --> 00:19:13,700 Aici, puteți avea valori diferite. 353 00:19:13,700 --> 00:19:17,560 Am avut mai întâi un număr în virgulă mobilă, apoi un Boolean, apoi un alt întreg. 354 00:19:17,560 --> 00:19:19,670 Și, de fapt, ei pot schimba tipuri de prea. 355 00:19:19,670 --> 00:19:21,220 Uită-te la linia 16. 356 00:19:21,220 --> 00:19:26,760 Array două se schimbă de la a fi un număr, un întreg, la un șir. 357 00:19:26,760 --> 00:19:30,920 >> Un alt lucru frumos despre matrice este aici la linia 19, ei au dimensiune infinit. 358 00:19:30,920 --> 00:19:35,900 Puteți spune doar vreau sutime Element să fie șirul legal. 359 00:19:35,900 --> 00:19:38,510 Și acest lucru nu pare să facă sens deoarece matrice numai 360 00:19:38,510 --> 00:19:41,080 are spațiu pentru trei elemente, astfel încât la sfârșitul ar trebui să fie două. 361 00:19:41,080 --> 00:19:44,800 Dar când faci acest lucru, să vezi ce matrice trei devine. 362 00:19:44,800 --> 00:19:47,460 Ne-ar alerga atât de repede cu exemple de nod six.js. 363 00:19:47,460 --> 00:19:49,990 364 00:19:49,990 --> 00:19:52,180 Ne acest foarte lung matrice, și ce se întâmplă 365 00:19:52,180 --> 00:19:55,100 este avem primele elemente și apoi o grămadă de semifabricate 366 00:19:55,100 --> 00:19:56,580 până când vom obține șir nostru. 367 00:19:56,580 --> 00:19:58,580 JavaScript completează matrice cum este necesar. 368 00:19:58,580 --> 00:20:01,790 369 00:20:01,790 --> 00:20:05,420 >> Să mergem în cele din urmă la ultima noastră exemplu. 370 00:20:05,420 --> 00:20:08,180 Aici avem o listă de diferite elevi. 371 00:20:08,180 --> 00:20:11,350 Vreau să vorbesc un pic bit despre unele aspecte frumos 372 00:20:11,350 --> 00:20:14,240 de la bucle în JavaScript. 373 00:20:14,240 --> 00:20:17,500 În C, pentru bucle sunt un fel de limitate. 374 00:20:17,500 --> 00:20:21,490 Ei au o structură fixă, în cazul în care au o variabilă, aveți o afecțiune, 375 00:20:21,490 --> 00:20:23,850 și apoi faci ceva la finalul buclei. 376 00:20:23,850 --> 00:20:27,560 Și, bineînțeles, acest lucru funcționează în JavaScript, așa cum am văzut în exemplele anterioare. 377 00:20:27,560 --> 00:20:31,030 Dar avem, de asemenea, modalități mai frumoase de a face acest lucru în JavaScript. 378 00:20:31,030 --> 00:20:33,870 Aceasta se numește o buclă foreach. 379 00:20:33,870 --> 00:20:36,580 >> Ne pare rău, să ne întoarcem la șapte exemplu aici. 380 00:20:36,580 --> 00:20:39,320 Putem spune, de asemenea secțiune este o listă. 381 00:20:39,320 --> 00:20:43,250 Deci, da-mi fiecare i sau fiecare indice în această listă. 382 00:20:43,250 --> 00:20:46,255 Atunci putem obține studentul prin apel doar secțiunea de i. 383 00:20:46,255 --> 00:20:50,690 Deci, toate din Codul de stabilire i egale cu zero și de a face sigur că 384 00:20:50,690 --> 00:20:54,420 este mai mică decât lungimea și adăugând o la i de fiecare dată, e 385 00:20:54,420 --> 00:21:00,220 grijă de tine, mai degrabă frumos cu acest buclă foreach. 386 00:21:00,220 --> 00:21:02,830 >> Nu numai bucle foreach lucrează în liste sau matrice, 387 00:21:02,830 --> 00:21:06,130 ei, de asemenea, lucrează în obiecte, care este, de asemenea, frumos. 388 00:21:06,130 --> 00:21:10,240 Puteți obține numele de fiecare proprietate doar prin luarea 389 00:21:10,240 --> 00:21:15,030 un dicționar sau un obiect, cum ar fi elev, și apoi doar că dă-mi fiecare tastă. 390 00:21:15,030 --> 00:21:18,920 O cheie ar fi acestea proprietăți, nume sau casa. 391 00:21:18,920 --> 00:21:22,870 Deci, ce se va întâmpla aici este că am imprima întâi numele și apoi 392 00:21:22,870 --> 00:21:24,920 casa fiecărui elev. 393 00:21:24,920 --> 00:21:29,170 >> Pot rula acest lucru în Node foarte repede să-ți arăt. 394 00:21:29,170 --> 00:21:35,510 Ne primul stilul C timp de buclă, în cazul în care ne fiecare obiect fiind imprimate. 395 00:21:35,510 --> 00:21:38,910 Și apoi avem JavaScript stil, în cazul în care puteți doar 396 00:21:38,910 --> 00:21:41,510 imprima fiecare cheie și valoare individual. 397 00:21:41,510 --> 00:21:45,560 398 00:21:45,560 --> 00:21:47,050 >> În regulă. 399 00:21:47,050 --> 00:21:52,850 Acum, că ne-am acoperit Node.js, cred suntem gata pentru a începe cu Meteor. 400 00:21:52,850 --> 00:21:56,070 Cum am spus, Meteor facut o treaba buna de a scrie câteva exemple de-a gata 401 00:21:56,070 --> 00:22:00,600 pentru tine pe care le puteți explora prin acest tutorial sau în dosarul seminar. 402 00:22:00,600 --> 00:22:03,750 Dar aici vreau să începe mai de la zero. 403 00:22:03,750 --> 00:22:06,810 >> Să crea un simplu de a face cerere. 404 00:22:06,810 --> 00:22:14,140 Aceasta este un fel de baza a ceea ce a face cerere-am arătat mai devreme este. 405 00:22:14,140 --> 00:22:16,990 In acest tutorial, voi va vedea că nu există 406 00:22:16,990 --> 00:22:20,180 o Meteor comandă a crea la a crea un nou proiect Meteor. 407 00:22:20,180 --> 00:22:24,510 Ai nevoie de a apela acest lucru pentru pentru a rula proiecte Meteor, deoarece 408 00:22:24,510 --> 00:22:27,470 va rula comenzile pentru a crea Meteor 409 00:22:27,470 --> 00:22:31,100 fișierele necesare pentru proiectul dumneavoastră. 410 00:22:31,100 --> 00:22:35,920 >> Dacă te duci în terminal, putem du-te în directorul numit un pas. 411 00:22:35,920 --> 00:22:41,240 Și pas se va corespunde cu primul pas în acest tutorial. 412 00:22:41,240 --> 00:22:44,020 Observații există dosare, etapa o, pasul doi, tot drumul până la cinci. 413 00:22:44,020 --> 00:22:47,835 Și fiecare este corespunzător la un pas în acest tutorial. 414 00:22:47,835 --> 00:22:50,960 415 00:22:50,960 --> 00:22:52,780 Am de gând să-l deschidă în editorul meu de text aici 416 00:22:52,780 --> 00:22:56,280 astfel încât să putem vedea un pic de ceea ce a fost creat. 417 00:22:56,280 --> 00:22:58,530 Observăm că acolo sunt patru părți principale. 418 00:22:58,530 --> 00:23:01,170 Există un director Meteor, .meteor. 419 00:23:01,170 --> 00:23:03,180 Și tu, de obicei, nu trebuie să atingă. 420 00:23:03,180 --> 00:23:05,070 Meteor are grijă de acel folder, și doar 421 00:23:05,070 --> 00:23:08,640 se asigură că dumneavoastră Proiectul va funcționa corect. 422 00:23:08,640 --> 00:23:14,580 >> Avem, de asemenea trei dosare, un fișier HTML, un fișier JavaScript, și un fișier CSS. 423 00:23:14,580 --> 00:23:18,670 Să începem cu primul fișier HTML. 424 00:23:18,670 --> 00:23:21,310 La prima vedere, acest lucru pare ca un document HTML. 425 00:23:21,310 --> 00:23:23,490 Dar observați că acolo câteva diferențe. 426 00:23:23,490 --> 00:23:26,520 Unul, aceasta nu este de fapt un document complet HTML. 427 00:23:26,520 --> 00:23:28,640 Ne lipsesc tag-uri HTML. 428 00:23:28,640 --> 00:23:29,700 Acest lucru este normal. 429 00:23:29,700 --> 00:23:33,560 În Meteor, nu te aștepta pentru a crea aceste tag-uri HTML. 430 00:23:33,560 --> 00:23:35,260 Asta făcut pentru tine. 431 00:23:35,260 --> 00:23:38,380 Vrei să begin-- daca doriți să creați un site web, 432 00:23:38,380 --> 00:23:40,430 trebuie doar să începeți cu tag-ul cap, 433 00:23:40,430 --> 00:23:43,510 defini că, și apoi defini tag-ul body. 434 00:23:43,510 --> 00:23:48,940 >> Dar dacă observați în această Fișier HTML, avem o nouă etichetă. 435 00:23:48,940 --> 00:23:50,350 Avem tag-ul șablon. 436 00:23:50,350 --> 00:23:52,050 Acest lucru nu este HTML normală. 437 00:23:52,050 --> 00:23:55,300 Aceasta este o versiune specială a HTML că Meteor face disponibile pentru tine. 438 00:23:55,300 --> 00:23:57,660 Se numește bare de spațiu. 439 00:23:57,660 --> 00:24:00,980 Puteți defini șabloane cât mai puțin module, un fel de funcții ajutătoare, 440 00:24:00,980 --> 00:24:03,660 în C sau cod JavaScript. 441 00:24:03,660 --> 00:24:06,020 Acest model ar au un nume numit sarcină. 442 00:24:06,020 --> 00:24:10,520 Și puteți vedea chiar aici, pe line 13 pe care le puteți apela aceste șabloane. 443 00:24:10,520 --> 00:24:14,380 Și ce Meteor va face este doar completați aceste sarcini pentru tine. 444 00:24:14,380 --> 00:24:17,540 445 00:24:17,540 --> 00:24:22,580 >> Un alt lucru pe care s-ar putea observa o bit diferit este acest lucru de fiecare funcție. 446 00:24:22,580 --> 00:24:26,130 Fiecare va lua variabila sarcini și fel de du-te prin ea 447 00:24:26,130 --> 00:24:28,810 în care ne-am foreach bucla a văzut în exemplul șapte. 448 00:24:28,810 --> 00:24:34,200 Acest fiecare poate lua un dicționar sau o listă, un obiect sau o listă, 449 00:24:34,200 --> 00:24:38,820 și se duc să prin toate valori ca o buclă foreach ar fi. 450 00:24:38,820 --> 00:24:44,110 Deci, dacă avem o grămadă de sarcini, aceasta va apela șablonul pe fiecare sarcină. 451 00:24:44,110 --> 00:24:49,590 >> Să facem proiectul Meteor doar pentru a vedea că acest lucru se întâmplă. 452 00:24:49,590 --> 00:24:53,260 Eu conduc proiectul Meteor cu doar Meteor Meteor sau a alerga. 453 00:24:53,260 --> 00:24:56,690 Și acum Meteor doar va avea nevoie de să pregătească rapid proiectul, 454 00:24:56,690 --> 00:25:03,320 începe baza de date în care este necesar, și apoi a posta aplicația local. 455 00:25:03,320 --> 00:25:07,200 Putem merge la browser-ul nostru acum. 456 00:25:07,200 --> 00:25:10,215 Și vom vedea că noi au o aplicatie foarte simplu. 457 00:25:10,215 --> 00:25:22,190 458 00:25:22,190 --> 00:25:29,130 Deci, ceea ce am văzut a apărut a fost de fapt etapa o, fișierul etapă. 459 00:25:29,130 --> 00:25:33,260 >> Să trecem la pasul doi numai pentru că Cred că va servi în același scop. 460 00:25:33,260 --> 00:25:36,500 Mă duc să se schimbe la pasul doi directorul 461 00:25:36,500 --> 00:25:39,550 și executați Meteor din nou astfel încât să putem vedea modelul ne-am lucrat cu. 462 00:25:39,550 --> 00:25:43,560 463 00:25:43,560 --> 00:25:45,730 Da, o întrebare? 464 00:25:45,730 --> 00:25:49,724 >> Audiența: Dacă ne asistent permisiunea a negat, este that-- ce e 465 00:25:49,724 --> 00:25:50,390 chemat pentru asta? 466 00:25:50,390 --> 00:25:52,154 467 00:25:52,154 --> 00:25:54,070 ROGER ZURAWICKI: Dacă rulați alerga Meteor, 468 00:25:54,070 --> 00:25:57,280 și aveți permisiune a negat, unele dintre fișierele 469 00:25:57,280 --> 00:25:59,070 nu poate avea setul permisiunea dreapta. 470 00:25:59,070 --> 00:26:03,970 Deci, va trebui să verificați în cazul în care permisiunile sunt oprite. 471 00:26:03,970 --> 00:26:06,030 Acestea ar putea fi oprit de la proiectul dumneavoastră Meteor, 472 00:26:06,030 --> 00:26:08,550 sau ar putea fi oprit în Meteor se fișiere. 473 00:26:08,550 --> 00:26:13,742 >> Audiența: Dacă am descărcat chiar acum din GitHub, atunci ce ar trebui să fac 474 00:26:13,742 --> 00:26:16,110 [Inaudibil]? 475 00:26:16,110 --> 00:26:20,110 >> ROGER ZURAWICKI: Dacă doriți să vă asigurați că puteți accesa, 476 00:26:20,110 --> 00:26:21,450 există o comandă, puteți rula. 477 00:26:21,450 --> 00:26:26,590 Lasă-mă să scrie repede-l astfel încât alte persoane pot vedea. 478 00:26:26,590 --> 00:26:30,670 Am de gând să deschidă o nouă filă aici și du-te în dosarul meu seminar. 479 00:26:30,670 --> 00:26:33,500 480 00:26:33,500 --> 00:26:36,490 Chmod este comanda a modifica permisiunile, 481 00:26:36,490 --> 00:26:40,060 și vă pot spune r pentru a face acest lucru recursiv pentru fiecare fișier. 482 00:26:40,060 --> 00:26:46,040 Și permisiuni, puteți încerca 0755 să vă asigurați că aveți acces complet, 483 00:26:46,040 --> 00:26:47,820 și oricine altcineva poate citi. 484 00:26:47,820 --> 00:26:50,100 Și dacă tocmai tu a alerga această comandă, se va face 485 00:26:50,100 --> 00:26:55,800 vă că permisiunile sunt în verifica pentru întreaga directorul. 486 00:26:55,800 --> 00:26:59,160 Rularea ls-l puteți arăta permisiuni mai în detaliu. 487 00:26:59,160 --> 00:27:01,290 Acest lucru arata OK. 488 00:27:01,290 --> 00:27:03,900 >> Ce e cel mai important este că aveți toate cele trei 489 00:27:03,900 --> 00:27:06,610 rwx pentru toate fișierele din directorul seminarului. 490 00:27:06,610 --> 00:27:09,415 491 00:27:09,415 --> 00:27:11,330 A că rezolva problema? 492 00:27:11,330 --> 00:27:13,735 >> Audiența: Se spune lipsă operand [neauzit]. 493 00:27:13,735 --> 00:27:17,980 494 00:27:17,980 --> 00:27:18,740 [Inaudibil] 495 00:27:18,740 --> 00:27:20,490 ROGER ZURAWICKI: Tu Trebuie să asigurați-vă că 496 00:27:20,490 --> 00:27:23,022 au un punct de la sfârșitul comanda. 497 00:27:23,022 --> 00:27:23,938 Audiența: [neauzit]. 498 00:27:23,938 --> 00:27:36,395 499 00:27:36,395 --> 00:27:37,520 ROGER ZURAWICKI: Bine. 500 00:27:37,520 --> 00:27:42,220 Să ne du-te repede înapoi la gazdă locală, aplicația avem. 501 00:27:42,220 --> 00:27:46,640 Și veți vedea că avem o câteva sarcini de aici, cum era de așteptat. 502 00:27:46,640 --> 00:27:49,330 503 00:27:49,330 --> 00:27:51,990 Avem o grămadă de CSS, care nu aveți nevoie să vă faceți griji cu privire la. 504 00:27:51,990 --> 00:27:53,740 Tutorialul Meteor doar da asta 505 00:27:53,740 --> 00:27:58,010 pentru a face dvs. de a face lista de look-o bit mai frumos decât HTML simplu. 506 00:27:58,010 --> 00:28:02,290 Și avem dosarul JavaScript, care Voi intra in detalii un pic mai târziu, 507 00:28:02,290 --> 00:28:04,272 dar pur si simplu ofera aceste sarcini. 508 00:28:04,272 --> 00:28:04,980 Aceasta este una sarcină. 509 00:28:04,980 --> 00:28:05,740 Aceasta este sarcina doi. 510 00:28:05,740 --> 00:28:06,590 Aceasta este sarcina trei. 511 00:28:06,590 --> 00:28:09,720 Deci, aceasta este datele de Meteor asistent. 512 00:28:09,720 --> 00:28:15,590 >> Unul dintre lucrurile misto despre Meteor este că schimbările se poate întâmpla în mod automat. 513 00:28:15,590 --> 00:28:18,990 Dacă aș fi vrut pentru a schimba Numele prima sarcină, 514 00:28:18,990 --> 00:28:22,490 asa ca ar spune acest lucru nu este sarcină, și l-am salva, 515 00:28:22,490 --> 00:28:26,370 atunci când mă duc la web browser-ul, îl puteți reîmprospăta, 516 00:28:26,370 --> 00:28:30,861 și se spune în mod automat acest lucru nu este o sarcină unul. 517 00:28:30,861 --> 00:28:32,860 Puteți face același lucru în oricare dintre aceste fișiere. 518 00:28:32,860 --> 00:28:37,940 Fă o schimbare, în loc de a face listă, voi avea o mea de a face lista. 519 00:28:37,940 --> 00:28:40,980 >> Și un lucru pe care tocmai ați observat, că nu am avut chiar refresh. 520 00:28:40,980 --> 00:28:43,960 Ideea de răcoritoare este un fel de rezolvat pentru tine, cu Meteor. 521 00:28:43,960 --> 00:28:48,970 Ori de câte ori se detectează modificările de fișiere, se va încărca modificările pentru tine. 522 00:28:48,970 --> 00:28:53,110 Aceasta funcționează pe toate fișierele, indiferent dacă e HTML, CSS, JavaScript sau. 523 00:28:53,110 --> 00:28:57,990 Pentru a vă arăta ceea ce ar arata această aplicație ca fără CSS, eu pot totul elimina. 524 00:28:57,990 --> 00:29:04,720 Și atunci când este reîncărcată, aveți acum o nu la fel de frumos, căutarea de a face lista. 525 00:29:04,720 --> 00:29:06,370 Să punem acel conținut înapoi. 526 00:29:06,370 --> 00:29:11,343 Și destul de sigur, ea împrospătează, iar CSS noastră este înapoi. 527 00:29:11,343 --> 00:29:11,843 Marea. 528 00:29:11,843 --> 00:29:15,700 529 00:29:15,700 --> 00:29:20,010 >> Ne putem muta acum pe cu tutorial. 530 00:29:20,010 --> 00:29:23,360 Hai sa vorbim despre etapa a doua, template-uri. 531 00:29:23,360 --> 00:29:27,140 Aceasta este ceea ce tocmai am văzut cu diferite sarcini. 532 00:29:27,140 --> 00:29:31,550 Meteor va explica ce modele și cum funcționează această logică. 533 00:29:31,550 --> 00:29:34,760 Dar hai să uităm la codul de a se vedea dacă putem face sens din ea. 534 00:29:34,760 --> 00:29:38,030 535 00:29:38,030 --> 00:29:41,460 >> In aplicatii foarte simple, ca ceea ce avem în simplu 536 00:29:41,460 --> 00:29:44,550 de a face, pas unul, etapa a doua, etapa trei, patru etape, etapa cinci, 537 00:29:44,550 --> 00:29:45,700 nu avem nici un dosar. 538 00:29:45,700 --> 00:29:47,533 Nu avem serverul dosar am menționat. 539 00:29:47,533 --> 00:29:50,510 Nu avem client dosar care a fost menționat. 540 00:29:50,510 --> 00:29:52,290 Deci, Meteor va rula toate fișierele. 541 00:29:52,290 --> 00:29:55,210 Va aceasta atât rula pe client, atât pe server. 542 00:29:55,210 --> 00:29:58,840 >> Si daca vrei părți ale JavaScript cod pentru a rula doar pe client, 543 00:29:58,840 --> 00:30:02,350 ei trebuie să vă asigurați că aveți o dacă declarație, un fel de ceea ce 544 00:30:02,350 --> 00:30:04,890 avem în fișierul nostru JavaScript aici. 545 00:30:04,890 --> 00:30:08,010 Deci Meteor, numai în cazul în care e client, apoi m-am 546 00:30:08,010 --> 00:30:12,355 doriți să definiți un șablon helper numite sarcini. 547 00:30:12,355 --> 00:30:15,050 548 00:30:15,050 --> 00:30:19,260 Ce acest cod într-adevăr face este se spune acolo e 549 00:30:19,260 --> 00:30:21,800 un șablon obiect numit care prevede Meteor. 550 00:30:21,800 --> 00:30:23,270 Și vom adăuga un ajutor. 551 00:30:23,270 --> 00:30:27,680 Helpers sunt aceste sarcini, aceste lucruri, cum ar fi sarcinile. 552 00:30:27,680 --> 00:30:33,890 >> Veți vedea că dacă ne întoarcem la Fișier HTML, ne-am chemat pe fiecare sarcini. 553 00:30:33,890 --> 00:30:35,750 Sarcini nu este definită în HTML. 554 00:30:35,750 --> 00:30:37,770 Este definită în JavaScript. 555 00:30:37,770 --> 00:30:42,610 Și Meteor trebuie să știe ce sarcini este când vom merge în JavaScript aici. 556 00:30:42,610 --> 00:30:45,550 Sarcini este acest ajutor. 557 00:30:45,550 --> 00:30:49,830 Helper, vă puteți gândi ea ca o variabilă șablon. 558 00:30:49,830 --> 00:30:51,000 Și ce sarcini face? 559 00:30:51,000 --> 00:30:53,580 Ei bine, aceasta returnează lista de valori. 560 00:30:53,580 --> 00:30:56,750 Pentru că este o listă, putem apela fiecare în ea. 561 00:30:56,750 --> 00:30:58,590 Deci, de aceea facem apel la fiecare sarcini. 562 00:30:58,590 --> 00:30:59,730 Și acum avem treabă. 563 00:30:59,730 --> 00:31:02,850 564 00:31:02,850 --> 00:31:03,990 >> Ce face treabă? 565 00:31:03,990 --> 00:31:07,740 Ei bine, are această săgeată aici după acolade. 566 00:31:07,740 --> 00:31:09,130 Asta înseamnă sarcină este un șablon. 567 00:31:09,130 --> 00:31:11,100 Nu este un ajutor, ca ceea ce tocmai am văzut. 568 00:31:11,100 --> 00:31:12,872 E un șablon care le-am definit. 569 00:31:12,872 --> 00:31:14,080 Și unde am definit-o? 570 00:31:14,080 --> 00:31:16,950 L-am definit mai jos chiar aici. 571 00:31:16,950 --> 00:31:21,160 >> Toate acestea șablon nu este face un element din listă, și o numește text. 572 00:31:21,160 --> 00:31:24,160 Acum, textul pare a fi o ajutor, dar vă voi arăta 573 00:31:24,160 --> 00:31:26,610 că aceasta este de fapt încă un membru de date a sarcinilor. 574 00:31:26,610 --> 00:31:29,230 575 00:31:29,230 --> 00:31:33,670 Când apelați fiecare, merge în structura de date un pic. 576 00:31:33,670 --> 00:31:39,130 Ca bucla foreach, acum doar pare la primul element din obiectul nostru. 577 00:31:39,130 --> 00:31:41,850 Vedem că textul este definit aici, în obiectul nostru. 578 00:31:41,850 --> 00:31:45,350 Deci, Meteor este inteligent să știe că vorbim despre acest text, 579 00:31:45,350 --> 00:31:47,630 nu helper numit text. 580 00:31:47,630 --> 00:31:52,120 Doar devine valoarea acestui text aici și îl afișează ca HTML, 581 00:31:52,120 --> 00:31:55,475 și că e modul în care datele se de la JavaScript pentru HTML. 582 00:31:55,475 --> 00:32:03,320 583 00:32:03,320 --> 00:32:07,030 >> Mutarea pe, deși, în acest exemplu am greu codificate aceste valori. 584 00:32:07,030 --> 00:32:10,440 Meteor nu doi într-adevăr lucruri frumoase pentru noi. 585 00:32:10,440 --> 00:32:15,050 În afară de reîmprospătare vii pe care le a arătat, pe care le administrează, de asemenea, baza noastra de date. 586 00:32:15,050 --> 00:32:18,750 Dacă ați avut de a lucra cu PHP, a trebuit să configurați phpMyAdmin. 587 00:32:18,750 --> 00:32:21,320 Trebuia să vă asigurați că dumneavoastră tabele au fost toate sub control. 588 00:32:21,320 --> 00:32:24,760 Ai avut de a face o mulțime de lucru pentru a face că datele dumneavoastră a fost formatat corect, 589 00:32:24,760 --> 00:32:27,880 și PHP ar putea comunica cu ea. 590 00:32:27,880 --> 00:32:30,170 >> Acum, Meteor folosește o nouă paradigmă. 591 00:32:30,170 --> 00:32:32,310 Aceasta este o modalitate mai modern de manipulare unei baze de date. 592 00:32:32,310 --> 00:32:34,580 Este o tehnologie numită MongoDB. 593 00:32:34,580 --> 00:32:38,740 La fel ca în JavaScript, am văzut că Nu conta ce tipuri avut datele. 594 00:32:38,740 --> 00:32:39,640 Totul a fost un var. 595 00:32:39,640 --> 00:32:40,570 Nu a fost un charstar. 596 00:32:40,570 --> 00:32:40,930 Nu a fost o int. 597 00:32:40,930 --> 00:32:41,970 Nu a fost un struct. 598 00:32:41,970 --> 00:32:44,210 Acesta a fost doar var asta, var asta. 599 00:32:44,210 --> 00:32:46,320 >> MongoDB functioneaza fel de fel. 600 00:32:46,320 --> 00:32:48,160 Nu trebuie să definească mesele. 601 00:32:48,160 --> 00:32:50,860 Nu trebuie să spun un tabel are un nume, care are un int. 602 00:32:50,860 --> 00:32:54,710 Ea are, eu nu știu, o dolar, care este o zecimală. 603 00:32:54,710 --> 00:32:58,360 E doar aceste obiecte JavaScript, toate aceste Vars, în esență. 604 00:32:58,360 --> 00:33:02,780 Și aceasta este o foarte puternic mod de a prototipului aplicația. 605 00:33:02,780 --> 00:33:06,190 Și de aceea Meteor profită de acest lucru. 606 00:33:06,190 --> 00:33:11,080 >> Dacă mergem la pasul trei, Să vedem ce sa schimbat. 607 00:33:11,080 --> 00:33:15,480 Dacă ne uităm la HTML Todos, nu de mult. 608 00:33:15,480 --> 00:33:17,170 CSS nu sa schimbat deloc. 609 00:33:17,170 --> 00:33:22,420 Dar schimbarea de mici vedem în HTML este ne-am schimbat modul în care este definit sarcini. 610 00:33:22,420 --> 00:33:23,800 Sarcini este acum o funcție. 611 00:33:23,800 --> 00:33:25,800 Asta înseamnă că fiecare timp vrem să ajungem sarcini, 612 00:33:25,800 --> 00:33:27,480 vom rula această funcție. 613 00:33:27,480 --> 00:33:29,230 Ea nu se întoarce funcționează ca o valoare. 614 00:33:29,230 --> 00:33:33,710 >> Meteor este inteligent pentru a rula de fapt Funcția pentru a vedea ce ieșim. 615 00:33:33,710 --> 00:33:36,650 Și se întoarce acest lucru numit sarcini. 616 00:33:36,650 --> 00:33:40,650 Am definit sarcinile pe o linie, și este o colecție Mongo. 617 00:33:40,650 --> 00:33:43,170 Mongo se referă la baza de date Meteor utilizează, 618 00:33:43,170 --> 00:33:48,420 și această nouă înseamnă doar să facem o nouă colecție, se numesc sarcini. 619 00:33:48,420 --> 00:33:53,540 În MySQL, acest lucru ar fi echivalent cu Cautati sarcinile de masă numit. 620 00:33:53,540 --> 00:33:56,350 Mongo are colectii, nu tabele. 621 00:33:56,350 --> 00:34:00,100 Deci doar caută sarcini. 622 00:34:00,100 --> 00:34:04,820 >> Acum, șablon în nostru ajutor în șablonul, toate 623 00:34:04,820 --> 00:34:08,380 trebuie să facem pentru a obține toate sarcini este această funcție, găsi 624 00:34:08,380 --> 00:34:11,710 și acest bretele gol. 625 00:34:11,710 --> 00:34:14,150 Acest lucru este mai special sintaxă Mongo. 626 00:34:14,150 --> 00:34:16,159 Exista o multime de documentație on-line pentru modul în care 627 00:34:16,159 --> 00:34:19,360 se pot face eficient și într-adevăr util Mongo interogări. 628 00:34:19,360 --> 00:34:25,560 Dar așa ceva este bun suficient pentru a găsi doar toate datele. 629 00:34:25,560 --> 00:34:30,100 >> Acum, unul dintre problemele pe care le-ar putea vedea este că nu am adăuga, de fapt date. 630 00:34:30,100 --> 00:34:35,020 Deci, ce se întâmplă atunci când ne rula de fapt pasul trei? 631 00:34:35,020 --> 00:34:37,550 Să mergem repede în pasul trei și a alerga Meteor. 632 00:34:37,550 --> 00:34:42,870 633 00:34:42,870 --> 00:34:45,650 Observați că am avut un alt Meteor Proiectul de funcționare în altă parte, 634 00:34:45,650 --> 00:34:49,110 astfel Meteor nu-i place asta. 635 00:34:49,110 --> 00:34:52,810 Mă duc să aproape rapid la pe de altă Meteor cu control C, 636 00:34:52,810 --> 00:34:55,780 du-te în pasul trei, și executați din nou Meteor. 637 00:34:55,780 --> 00:35:01,070 638 00:35:01,070 --> 00:35:03,180 Observați că începe MongoDB deoarece MongoDB 639 00:35:03,180 --> 00:35:06,370 este o parte a fiecărui proiect Meteor. 640 00:35:06,370 --> 00:35:09,190 >> Așa se spune cererea mea are erori. 641 00:35:09,190 --> 00:35:10,590 E o caracteristică frumos Meteor are. 642 00:35:10,590 --> 00:35:13,700 Se face sigur tău HTML este bine validat. 643 00:35:13,700 --> 00:35:17,710 Să ne uităm repede la ce acest lucru ar putea fi. 644 00:35:17,710 --> 00:35:26,110 Se pare ca am accidental copiat codul HTML greșit. 645 00:35:26,110 --> 00:35:30,610 Dacă am salva acum, Meteor repornit în mod automat la server, 646 00:35:30,610 --> 00:35:34,650 iar acum aplicația se execută cum era de așteptat. 647 00:35:34,650 --> 00:35:39,220 Aviz pentru a rezolva acest lucru, puteți rula doar același fișier HTML de la etapa a doua, 648 00:35:39,220 --> 00:35:40,380 copiați-l în trei faze. 649 00:35:40,380 --> 00:35:43,290 650 00:35:43,290 --> 00:35:45,917 >> Ne putem întoarce la gazda noastră locală. 651 00:35:45,917 --> 00:35:47,500 Și acum vedem avem noastră să facem lista. 652 00:35:47,500 --> 00:35:50,070 Grozav, dar e gol. 653 00:35:50,070 --> 00:35:54,210 Noi nu avem de fapt nici o sarcini în baza noastră de date Mongo. 654 00:35:54,210 --> 00:35:57,930 Deci, hai sa vorbim despre o câteva moduri prin care putem face asta. 655 00:35:57,930 --> 00:36:03,240 Dacă ne întoarcem la terminal, noi poate închide și a alerga Meteor Mongo. 656 00:36:03,240 --> 00:36:05,320 >> Dacă sunteți familiarizat cu modul în care funcționează Meteor, 657 00:36:05,320 --> 00:36:14,100 acest lucru dă de fapt tu acces la MongoDB complet pentru Meteor. 658 00:36:14,100 --> 00:36:17,570 Observați că trebuie să funcționeze METEOR primul pentru ca aceasta să funcționeze. 659 00:36:17,570 --> 00:36:23,840 Deci, dacă am alerga aceasta într-o filă nouă, eu poate merge înapoi la același director. 660 00:36:23,840 --> 00:36:29,040 661 00:36:29,040 --> 00:36:32,570 Și acum Meteor functioneaza foarte bine. 662 00:36:32,570 --> 00:36:33,600 Acesta este un prompt. 663 00:36:33,600 --> 00:36:36,350 664 00:36:36,350 --> 00:36:38,790 Lasă-mă un pic face mai mare astfel încât să putem vedea. 665 00:36:38,790 --> 00:36:41,550 Aceasta pare un pic diferit decât ceea ce ar putea fi folosite pentru tine 666 00:36:41,550 --> 00:36:42,869 Nu într-adevăr nevoie pentru a utiliza Mongo. 667 00:36:42,869 --> 00:36:45,410 Ideea de mine aici este astfel încât să puteți utiliza JavaScript. 668 00:36:45,410 --> 00:36:48,250 Dar daca esti curios, API Mongo nu 669 00:36:48,250 --> 00:36:50,730 utilizați SQL, Structured Query Language. 670 00:36:50,730 --> 00:36:55,570 Acesta utilizează propria sa limbă pe care seamănă mult cu JavaScript. 671 00:36:55,570 --> 00:37:00,520 Foarte repede, putem găsi tabelul via db.tasks. 672 00:37:00,520 --> 00:37:08,940 Și îmi spune dovedește dacă vom alerga găsim, 673 00:37:08,940 --> 00:37:13,450 fel de similar cu ceea ce am avut cu Meteor, putem încărca toate elementele. 674 00:37:13,450 --> 00:37:17,330 Problema este, noi nu facem de fapt, au orice sarcini definite. 675 00:37:17,330 --> 00:37:20,600 Deci nu le pot obține. 676 00:37:20,600 --> 00:37:22,130 >> Putem introduce, totuși. 677 00:37:22,130 --> 00:37:25,170 Deci, putem rula inserați cu inserție comanda. 678 00:37:25,170 --> 00:37:29,140 Și noi dau un obiect, și ne-am 679 00:37:29,140 --> 00:37:31,840 asigurați-vă că formatul este ceea ce ne așteptăm. 680 00:37:31,840 --> 00:37:35,030 Dacă ne-am uitat la etapa a doua, am văzut că fiecare sarcină 681 00:37:35,030 --> 00:37:39,590 a fost un obiect cu un text ca o cheie și indiferent de 682 00:37:39,590 --> 00:37:41,640 de a face articol a fost ca o variabilă. 683 00:37:41,640 --> 00:37:44,680 Deci, putem face ceva aici. 684 00:37:44,680 --> 00:37:50,160 >> Putem să-l introduce o sarcină sunat eu vin de la Mongo. 685 00:37:50,160 --> 00:37:52,570 Și noi apăsați Enter, și se execută. 686 00:37:52,570 --> 00:37:56,900 Putem rula găsi din nou, și noi a se vedea că există un obiect aici. 687 00:37:56,900 --> 00:38:01,810 Mongo îi atribuie un act de identitate, pe care le nu într-adevăr nevoie să vă faceți griji. 688 00:38:01,810 --> 00:38:06,690 Ce e important pentru tine este de date ai pus în, este datele pe care le ieși. 689 00:38:06,690 --> 00:38:10,500 >> Să ne întoarcem la site-ul nostru, și hei, sarcina noastră încărcat. 690 00:38:10,500 --> 00:38:13,987 Și puteți vedea că deoarece Meteor este foarte inteligent 691 00:38:13,987 --> 00:38:16,570 și întotdeauna reîmprospătează pentru tine, am nu trebuie să atingă pagina. 692 00:38:16,570 --> 00:38:19,160 Acesta încărcate automat. 693 00:38:19,160 --> 00:38:23,520 >> Să facem un cod în JavaScript deși a face acest lucru. 694 00:38:23,520 --> 00:38:26,120 Ca avem nod în spate termina de a executa afară JavaScript, 695 00:38:26,120 --> 00:38:29,280 putem rula, de asemenea, JavaScript direct în browserele noastre. 696 00:38:29,280 --> 00:38:31,970 Puteți face acest lucru printr-o funcție numit Controlați Element. 697 00:38:31,970 --> 00:38:34,210 Dacă faceți clic dreapta pe un secțiune a paginii, 698 00:38:34,210 --> 00:38:36,730 există o opțiune numit Controlați Element. 699 00:38:36,730 --> 00:38:38,840 Dacă rulați un browser-ul Safari ca, tine 700 00:38:38,840 --> 00:38:45,430 poate fi necesar pentru a permite dezvoltatorului tău Instrumente înainte de a te această facilitate. 701 00:38:45,430 --> 00:38:46,930 >> Ce ne pasă este consola. 702 00:38:46,930 --> 00:38:48,930 Deci, vom merge doar la consolă în partea de jos. 703 00:38:48,930 --> 00:38:52,110 704 00:38:52,110 --> 00:38:55,970 Acum putem rula orice JavaScript aici, la fel ca JavaScript 705 00:38:55,970 --> 00:38:58,860 Fișierele am arătat în exemplul js. 706 00:38:58,860 --> 00:39:02,040 Dar acum să ne uităm la sarcini. 707 00:39:02,040 --> 00:39:04,955 Putem executa comanda noastră. 708 00:39:04,955 --> 00:39:07,830 Și sperăm că voi fi în stare să facă un pic mai mare, astfel putem vedea toți. 709 00:39:07,830 --> 00:39:14,390 710 00:39:14,390 --> 00:39:18,450 >> Dacă vom rula tasks.find, și veți vedea că acest lucru este exact același cod 711 00:39:18,450 --> 00:39:24,840 că utilizările de fișiere JavaScript în etapa trei, acest task.find. 712 00:39:24,840 --> 00:39:29,100 Putem rula același lucru, și acum avem niște chestii ciudate. 713 00:39:29,100 --> 00:39:31,050 Cum ajungem de fapt datele? 714 00:39:31,050 --> 00:39:34,860 Ei bine, trebuie să rulați această comandă numit aduce. 715 00:39:34,860 --> 00:39:37,150 >> Acest lucru este foarte util pentru depanare. 716 00:39:37,150 --> 00:39:41,000 Ce te aici e un cursor, iar acest lucru este 717 00:39:41,000 --> 00:39:44,890 un mod frumos Meteor are Date preiau optimizate. 718 00:39:44,890 --> 00:39:48,270 Acest cursor are toate caracteristicile de actualizarea live și un refresh al paginii 719 00:39:48,270 --> 00:39:49,650 atunci când ceva sa schimbat. 720 00:39:49,650 --> 00:39:51,280 Dar nu ne va primi datele. 721 00:39:51,280 --> 00:39:52,720 Putem obține datele prin intermediul aduce. 722 00:39:52,720 --> 00:39:56,880 Și vedeți, avem un obiect, și e la fel ca ceea ce am avut în Mongo, 723 00:39:56,880 --> 00:40:00,040 cu un ID și textul am pus la. 724 00:40:00,040 --> 00:40:04,200 >> Deci, cum putem insera un element în Meteor? 725 00:40:04,200 --> 00:40:07,250 Ei bine, avem doar sarcini. 726 00:40:07,250 --> 00:40:09,990 Și apoi putem rula același insert comandă, 727 00:40:09,990 --> 00:40:17,520 oferind un dicționar sau un obiect cu același format, textul 728 00:40:17,520 --> 00:40:22,340 și apoi am venit de la consola. 729 00:40:22,340 --> 00:40:27,240 Aruncati o privire peste pentru că atunci când am face acest lucru, se arată pe site-ul 730 00:40:27,240 --> 00:40:29,660 în mod automat. 731 00:40:29,660 --> 00:40:33,291 >> Observați că puteți pune orice vrei în aceste elemente. 732 00:40:33,291 --> 00:40:35,040 Nu trebuie să au o structură fixă. 733 00:40:35,040 --> 00:40:39,790 Am putea avea un egal cu Numărul trei și b egală cu false. 734 00:40:39,790 --> 00:40:41,600 Și toate lucrările. 735 00:40:41,600 --> 00:40:46,000 Nu pot alege chiar să nu includ un text la toate. 736 00:40:46,000 --> 00:40:48,320 Acest lucru nu este doar recomandată pentru că, deși atunci Meteor 737 00:40:48,320 --> 00:40:50,920 nu vor ști ce să afișeze. 738 00:40:50,920 --> 00:40:53,110 Dar, în fiecare caz, am primi un ID, și asta e 739 00:40:53,110 --> 00:40:54,785 ID-ul obiectului puteți folosi. 740 00:40:54,785 --> 00:41:01,120 741 00:41:01,120 --> 00:41:03,280 >> Așa cum am continua cu pasul patru și cinci pas, 742 00:41:03,280 --> 00:41:06,870 tutorial vă va arăta moduri in care puteți crea elemente de UI folosind 743 00:41:06,870 --> 00:41:13,130 HTML știi să a crea diferite sarcini. 744 00:41:13,130 --> 00:41:15,440 Să ne uităm la pasul patru foarte repede. 745 00:41:15,440 --> 00:41:18,290 Vom vedea că am adăugat o secțiune despre evenimente. 746 00:41:18,290 --> 00:41:20,874 Șabloane poate avea ajutoare, care ne primesc date. 747 00:41:20,874 --> 00:41:22,040 Dar poate apela, de asemenea evenimente. 748 00:41:22,040 --> 00:41:25,300 Și acest lucru este în cazul în care lucrurile devine util, deoarece evenimente 749 00:41:25,300 --> 00:41:28,590 sunt ceea ce se întâmplă atunci când faceți clic pe lucruri diferite pe site-ul tau. 750 00:41:28,590 --> 00:41:33,790 >> Aici, codul nostru este de a spune ne pentru a adăuga acest eveniment. 751 00:41:33,790 --> 00:41:38,860 Adauga o atunci când ați trimis ceva cu noua sarcină de clasă. 752 00:41:38,860 --> 00:41:41,910 Ceea ce avem aici este un selector CSS. 753 00:41:41,910 --> 00:41:45,870 Deci doar caută un HTML element care are noua sarcină de clasă. 754 00:41:45,870 --> 00:41:47,940 Și se pare pentru eveniment, cum ar fi prezenta. 755 00:41:47,940 --> 00:41:51,050 Alte evenimente includ click, hover, dublu clic, 756 00:41:51,050 --> 00:41:54,450 similar cu ceea ce veți obține în HTML normal. 757 00:41:54,450 --> 00:41:56,770 >> Ce poți da aici este acum o funcție. 758 00:41:56,770 --> 00:42:01,210 Și tu poți avea ta cod în această funcție. 759 00:42:01,210 --> 00:42:06,360 Această funcție este ceea ce ajunge să asistent numit când trimiteți acest nou sarcină. 760 00:42:06,360 --> 00:42:12,170 Să ne uităm la codul HTML doar ca noi înțeleg ce această nouă sarcină este. 761 00:42:12,170 --> 00:42:15,570 Am adăugat o formă aici cu clasa de sarcină nouă. 762 00:42:15,570 --> 00:42:19,880 Și are o intrare care ia textului. 763 00:42:19,880 --> 00:42:22,605 Și acest lucru este în cazul în care ne-am va adăuga noi ne sarcini. 764 00:42:22,605 --> 00:42:25,520 765 00:42:25,520 --> 00:42:29,780 >> Să facem pas patru în site-ul pentru a vedea cum arată. 766 00:42:29,780 --> 00:42:32,710 Putem iesi mai întâi de MongoDB am avut 767 00:42:32,710 --> 00:42:35,300 din precedent nostru exemplu cu control C. 768 00:42:35,300 --> 00:42:37,690 Și să-l schimbe în etapa de patru director. 769 00:42:37,690 --> 00:42:41,000 770 00:42:41,000 --> 00:42:42,920 Vom rula din nou Meteor pentru a porni serverul. 771 00:42:42,920 --> 00:42:46,850 772 00:42:46,850 --> 00:42:50,510 Și, din păcate, am avut Meteor rulează în alt terminal. 773 00:42:50,510 --> 00:42:53,080 Așa că Mă duc la asigurați-vă că acest închis. 774 00:42:53,080 --> 00:43:01,805 Să renunțe la această schimbare și la o parte patru, etapa patru. 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 >> Acum, codul nostru Meteor se execută. 778 00:43:13,250 --> 00:43:19,480 Și puteți vedea că-l actualizat, fără ne chiar nevoie să încărcarea paginii. 779 00:43:19,480 --> 00:43:24,410 Ce sa schimbat aici este acum că noi nu avem nici sarcini, 780 00:43:24,410 --> 00:43:29,530 dar avem o formă aici, aceasta caseta de text, pentru a adăuga noile noastre activități. 781 00:43:29,530 --> 00:43:31,550 Și putem tastați sarcina noastră aici. 782 00:43:31,550 --> 00:43:34,564 Eu vin din pagina HTML. 783 00:43:34,564 --> 00:43:36,105 Când m-am apăsați Enter, se au prezentat. 784 00:43:36,105 --> 00:43:39,180 785 00:43:39,180 --> 00:43:44,540 >> Putem vedea ce sa întâmplat la fel de definit de codul JavaScript. 786 00:43:44,540 --> 00:43:49,930 Ce această funcție făcut a fost ia textul din formular, 787 00:43:49,930 --> 00:43:53,680 și apoi a sunat tasks.insert, așa cum am făcut-o în consola. 788 00:43:53,680 --> 00:43:56,410 De asemenea, ei au ales pentru a adăuga o dată createdAt. 789 00:43:56,410 --> 00:43:59,840 Acesta este modul în care ar fi specifica ora curentă. 790 00:43:59,840 --> 00:44:03,220 După aceea, reuseste sa respinga forma de a face vă că valoarea este un șir gol. 791 00:44:03,220 --> 00:44:06,550 >> Și apoi îl numește return false la asigurați-vă că nimic altceva se întâmplă. 792 00:44:06,550 --> 00:44:10,350 Când vă întoarceți fals de la un formular eveniment, care se oprește executarea. 793 00:44:10,350 --> 00:44:14,520 Spune un formular are o acțiune, ca la o pagină PHP prezenta. 794 00:44:14,520 --> 00:44:16,980 Dacă n-ai fi întors fals, ai return true. 795 00:44:16,980 --> 00:44:18,500 Aceasta ar sfârși prin a face această cerere. 796 00:44:18,500 --> 00:44:20,590 Intercepteaza false ea și oprește-l chiar acolo. 797 00:44:20,590 --> 00:44:23,510 798 00:44:23,510 --> 00:44:28,610 >> Așa că a fost un pic demo despre cum functioneaza Meteor, și ne-am 799 00:44:28,610 --> 00:44:30,980 urmărit tutorial pentru un timp. 800 00:44:30,980 --> 00:44:33,560 Și vă puteți vă rugăm liber să continue să facă acest lucru. 801 00:44:33,560 --> 00:44:37,760 Exista o multime de resurse, iar tutorialul este de fapt doar 802 00:44:37,760 --> 00:44:40,400 foarte bun despre explica ce se întâmplă. 803 00:44:40,400 --> 00:44:44,362 Eu vreau să vă arăt acum, în în câteva minute le-am lăsat, 804 00:44:44,362 --> 00:44:46,320 Care sunt unele din Caracteristici cooler de Meteor, 805 00:44:46,320 --> 00:44:48,772 și care sunt unele dintre cele mai pachete mai util. 806 00:44:48,772 --> 00:44:51,730 Unul dintre cele mai mari lucruri despre Meteor este că veți avea un sistem pachet. 807 00:44:51,730 --> 00:44:55,620 Puteți încorpora cu ușurință cod că multe mii de dezvoltatori 808 00:44:55,620 --> 00:44:58,840 au scris în întreaga lume în proiectul dumneavoastră Meteor. 809 00:44:58,840 --> 00:45:02,410 Un exemplu în acest sens este ceea ce s-ar putea face în etapa nouă din tutorial, în cazul în care 810 00:45:02,410 --> 00:45:07,435 pe care încercați să adăugați conturi pentru proiectul dumneavoastră Meteor. 811 00:45:07,435 --> 00:45:10,010 812 00:45:10,010 --> 00:45:13,690 Dacă avem un PHP CS50 proiect, am avea 813 00:45:13,690 --> 00:45:17,810 să se bazeze pe cadrul sau propriul codul nostru de a face 814 00:45:17,810 --> 00:45:20,820 sigur ne ocupăm în siguranță, parole și nume de utilizator 815 00:45:20,820 --> 00:45:23,120 și stocarea în baza de date și tot de asta. 816 00:45:23,120 --> 00:45:25,670 >> Se pare Meteor are ceva pachete pentru a face asta pentru tine, 817 00:45:25,670 --> 00:45:29,160 și de a face foarte ușor. 818 00:45:29,160 --> 00:45:31,950 Ce putem face este să adăugați câteva pachete. 819 00:45:31,950 --> 00:45:37,450 Deci, haideți să facem acest drept acum în consola noastră. 820 00:45:37,450 --> 00:45:42,460 Am de gând să renunțe la proiect și chiar acum du-te în simplu-todos. 821 00:45:42,460 --> 00:45:47,450 822 00:45:47,450 --> 00:45:50,050 Acum, simplu-todos este proiectul pe care ați 823 00:45:50,050 --> 00:45:53,500 va avea după ce se face cu pas 11 sau 12 pas, 824 00:45:53,500 --> 00:45:55,250 la sfârșitul acestui tutorial. 825 00:45:55,250 --> 00:45:58,642 Și să ne uităm repede la ea pentru a vedea care sunt diferitele caracteristici pe care le avem. 826 00:45:58,642 --> 00:46:01,610 Să asigurați-vă că rulează. 827 00:46:01,610 --> 00:46:04,400 Uneori este nevoie de un timp pentru a actualiza, dar aici este. 828 00:46:04,400 --> 00:46:09,710 >> Trebuie opțiunea noastră de a ascunde sarcini complet, și putem conecta. 829 00:46:09,710 --> 00:46:11,770 Și acest lucru a fost făcut cu pachetul Meteor. 830 00:46:11,770 --> 00:46:12,270 E minunat. 831 00:46:12,270 --> 00:46:14,910 Am username acum și semn parola. 832 00:46:14,910 --> 00:46:19,170 Dar dacă am vrut să adăuga un alt fel de mecanism de autentificare? 833 00:46:19,170 --> 00:46:22,560 Să spun că am vrut să vă conectați în contul meu Meteor. 834 00:46:22,560 --> 00:46:27,270 Am de gând să ruleze meteor ADD, și această este sintaxa pentru adăugarea de pachete. 835 00:46:27,270 --> 00:46:32,160 Pot spune conturi, și accounts.meteor. 836 00:46:32,160 --> 00:46:35,720 O să găsească acum pachetul și-l încarce. 837 00:46:35,720 --> 00:46:40,480 Puteti vedea ca nu am găsit chiar numele pachetului. 838 00:46:40,480 --> 00:46:42,820 >> Deci, cum ai aflat despre pachetele? 839 00:46:42,820 --> 00:46:46,380 Ei bine, există o mare site-ul, si voi disponibil de oameni Meteor, 840 00:46:46,380 --> 00:46:47,780 numit atmospherejs.com. 841 00:46:47,780 --> 00:46:52,520 Atmospherejs, un cuvânt, punct com, este un depozit mare 842 00:46:52,520 --> 00:46:57,660 pentru identificarea toate Meteor pachetele din depozit. 843 00:46:57,660 --> 00:47:05,140 Am sa cautati conturi, și apoi o să-mi arate toate lucrurile relevante, 844 00:47:05,140 --> 00:47:07,320 toate ambalajele, cu numele contului. 845 00:47:07,320 --> 00:47:10,180 846 00:47:10,180 --> 00:47:13,270 >> În același timp că încarcă, putem încerca adăugarea unor alte pachete. 847 00:47:13,270 --> 00:47:19,380 Poate că pachetul Meteor nu este de lucru chiar acum, dar eu pot adăuga Facebook. 848 00:47:19,380 --> 00:47:22,860 849 00:47:22,860 --> 00:47:27,190 Pot adăuga contul și apoi executați din nou proiectul Meteor. 850 00:47:27,190 --> 00:47:33,260 851 00:47:33,260 --> 00:47:36,900 Odată acest lucru începe, să vedem ce sa schimbat pe site. 852 00:47:36,900 --> 00:47:40,010 853 00:47:40,010 --> 00:47:44,580 Puteți see-- I s-ar putea Trebuie să-l refresh aici. 854 00:47:44,580 --> 00:47:47,320 >> Am un buton de configura Facebook Login. 855 00:47:47,320 --> 00:47:49,765 Și aici, am tot instrucțiunile Meteor 856 00:47:49,765 --> 00:47:52,960 a pregătit pentru tine pentru crearea unui aplicație Facebook. 857 00:47:52,960 --> 00:47:58,990 Și poți folosi asta informații pentru a adăuga ID-urile tale. 858 00:47:58,990 --> 00:48:04,130 Odată ce a făcut, veți avea Facebook Login lucrează în aplicația. 859 00:48:04,130 --> 00:48:08,559 >> Mă duc să se un ID aplicație și un secret, 860 00:48:08,559 --> 00:48:10,100 doar pentru a vă arăta cum acest lucru ar putea funcționa. 861 00:48:10,100 --> 00:48:16,000 862 00:48:16,000 --> 00:48:20,360 Veți avea nevoie de un cont de Facebook de a folosi Facebook opțiunile developer. 863 00:48:20,360 --> 00:48:31,160 864 00:48:31,160 --> 00:48:35,290 Lasă-mă să găsi rapid Chei Meteor care sunt necesare. 865 00:48:35,290 --> 00:48:46,994 866 00:48:46,994 --> 00:48:49,160 Eu am un alt proiect Meteor că am de gând să folosească, 867 00:48:49,160 --> 00:48:55,590 și eu sunt doar de gând să ia cheile de la acest fișier. 868 00:48:55,590 --> 00:49:14,410 869 00:49:14,410 --> 00:49:20,930 >> Și odată ce l-am găsit, voi fi doar în măsură pentru a copia aceste taste în Facebook mea. 870 00:49:20,930 --> 00:49:23,489 Deci, aici este o cheie. 871 00:49:23,489 --> 00:49:24,280 Și acest lucru este secret. 872 00:49:24,280 --> 00:49:26,071 Tu nu ar trebui să fie schimbul de acest cu oameni. 873 00:49:26,071 --> 00:49:28,870 874 00:49:28,870 --> 00:49:30,910 Și apoi dau secretul app. 875 00:49:30,910 --> 00:49:33,560 Și acest lucru este atât de Facebook știe că ești. 876 00:49:33,560 --> 00:49:37,630 877 00:49:37,630 --> 00:49:39,080 Și salvați configurația. 878 00:49:39,080 --> 00:49:45,160 879 00:49:45,160 --> 00:49:48,640 >> Cred că în procesul I s-au oprit meu app Meteor. 880 00:49:48,640 --> 00:49:52,290 Deci, vreau doar să facă sigur că e încă acolo. 881 00:49:52,290 --> 00:49:54,962 882 00:49:54,962 --> 00:49:58,610 OK, hai asigurați-vă că serverul nostru Meteor se execută astfel încât pagina web este pornit. 883 00:49:58,610 --> 00:50:02,440 Observați dacă ne oprim Meteor serverul, pagina este încă acolo. 884 00:50:02,440 --> 00:50:04,700 Pur și simplu nu va mai actualiza. 885 00:50:04,700 --> 00:50:10,290 Serverul Meteor este necesar pentru a vă asigura pagina este viu. 886 00:50:10,290 --> 00:50:14,050 >> OK, l-am prezentat, iar acum Pot semna cu Facebook. 887 00:50:14,050 --> 00:50:17,400 Acum e doar o chestiune de având un pop up pe Facebook 888 00:50:17,400 --> 00:50:21,710 și punerea în contul dvs. informații și exploatare forestieră în. 889 00:50:21,710 --> 00:50:24,520 890 00:50:24,520 --> 00:50:27,930 Odată ce ai făcut asta, Facebook ar putea nag tine pentru ceva mai multă siguranță. 891 00:50:27,930 --> 00:50:29,810 Deci, ne vom opri doar aici. 892 00:50:29,810 --> 00:50:34,110 Ideea este că, atunci când ați terminat cu care, veți avea Facebook Login. 893 00:50:34,110 --> 00:50:37,850 >> Meteor are o grămadă de alte pachete de asemenea. 894 00:50:37,850 --> 00:50:39,200 Te poti autentifica cu Google+. 895 00:50:39,200 --> 00:50:40,500 Te poti autentifica cu GitHub. 896 00:50:40,500 --> 00:50:42,170 Vă puteți conecta cu Twitter. 897 00:50:42,170 --> 00:50:44,870 Sau dacă veți căuta, veți găsi o mulțime de alte lucruri 898 00:50:44,870 --> 00:50:49,170 ca Meetup, LinkedIn, și Meteor Developer. 899 00:50:49,170 --> 00:50:53,100 Deci, Meteor Developer a fost Pachetul Căutam. 900 00:50:53,100 --> 00:50:56,170 meteor adăuga conturi-meteori-developer. 901 00:50:56,170 --> 00:51:06,192 902 00:51:06,192 --> 00:51:07,900 Între timp, am De asemenea, doresc să recomande 903 00:51:07,900 --> 00:51:11,340 alte oferte de proiectele dumneavoastra. 904 00:51:11,340 --> 00:51:14,670 S-ar putea dovedi util să includ pachetul de jQuery. 905 00:51:14,670 --> 00:51:17,909 Acest lucru vă permite să folosiți jQuery în clienții dumneavoastră. 906 00:51:17,909 --> 00:51:21,200 Tocmai ai putea face cu o linie, și Meteor va asigurați-vă că sunteți la curent 907 00:51:21,200 --> 00:51:21,825 pe jQuery. 908 00:51:21,825 --> 00:51:24,330 909 00:51:24,330 --> 00:51:27,450 De asemenea, recomand Houston: admin. 910 00:51:27,450 --> 00:51:31,550 >> Aceasta este un fel de phpMyAdmin un fel de instrument de MongoDB ta. 911 00:51:31,550 --> 00:51:33,890 Acest lucru vă permite să editați datele destul de ușor 912 00:51:33,890 --> 00:51:37,950 fără a fi nevoie pentru a merge la shell Mongo, ca și cum aș fi făcut mai devreme la seminar. 913 00:51:37,950 --> 00:51:43,160 914 00:51:43,160 --> 00:51:47,101 Deci, acum că se execută, să rulați Meteor din nou și să vedem ce putem face. 915 00:51:47,101 --> 00:51:56,240 916 00:51:56,240 --> 00:52:00,720 >> Observați că adăugarea unor pachete ar putea avea să le prezinte unele avertismente. 917 00:52:00,720 --> 00:52:02,720 Nu va fi nevoie să vă faceți griji despre asta cu Houston. 918 00:52:02,720 --> 00:52:06,040 919 00:52:06,040 --> 00:52:10,810 Deci, putem avea acum optiunea pentru a configura Meteor admin. 920 00:52:10,810 --> 00:52:15,080 Și ei vă dau direct dacă doriți să setați asta. 921 00:52:15,080 --> 00:52:17,750 922 00:52:17,750 --> 00:52:20,440 >> Putem, de asemenea, acum merge la / admin. 923 00:52:20,440 --> 00:52:23,280 Acest lucru este adus la tine de pachetul Houston. 924 00:52:23,280 --> 00:52:27,470 Și acest lucru este Meteor interfață admin. 925 00:52:27,470 --> 00:52:30,660 Tu doar crea un Contul admin, cum ar fi așa. 926 00:52:30,660 --> 00:52:38,150 Și dacă încărcarea paginii, s-ar putea au unele colectii apară. 927 00:52:38,150 --> 00:52:40,980 928 00:52:40,980 --> 00:52:43,460 >> Este un instrument foarte util, si il recomand cu tărie. 929 00:52:43,460 --> 00:52:46,717 930 00:52:46,717 --> 00:52:49,050 Puteti vedea asta deoarece houston a fost avertizat de către unele erori, 931 00:52:49,050 --> 00:52:52,330 nu avem nicio colecție apară chiar acum. 932 00:52:52,330 --> 00:52:56,800 Modul în care ar trebui să utilizați houston este asigurându-vă că această funcție devine 933 00:52:56,800 --> 00:52:58,860 denumit în contul dvs. simplu-todos. 934 00:52:58,860 --> 00:53:01,370 Deci, houston nu Știi ce sarcinile mele sunt. 935 00:53:01,370 --> 00:53:04,490 >> Am înființat o Mongo de colectare a numit sarcini. 936 00:53:04,490 --> 00:53:11,390 Să mergem în simplu-todos și doar asigurați-vă că în JavaScript, 937 00:53:11,390 --> 00:53:16,295 am adaugat sarcinile la colectiile noastre. 938 00:53:16,295 --> 00:53:19,340 939 00:53:19,340 --> 00:53:25,670 Acum am salvat, și este construirea aplicația, răcoritoare. 940 00:53:25,670 --> 00:53:26,750 Și să vedem. 941 00:53:26,750 --> 00:53:29,090 Acum avem anumite sarcini. 942 00:53:29,090 --> 00:53:32,630 Și putem adăuga unele noi sarcini. 943 00:53:32,630 --> 00:53:35,840 Dar dacă vrem să adăugați sarcini, hai să facem cu aplicația în sine. 944 00:53:35,840 --> 00:53:39,660 945 00:53:39,660 --> 00:53:41,050 >> Acum putem adăuga unele date. 946 00:53:41,050 --> 00:53:53,410 Bună, aceasta este o sarcină. 947 00:53:53,410 --> 00:53:57,080 Se pare un fel de ciudat ca nu vedem orice sarcini. 948 00:53:57,080 --> 00:54:00,290 949 00:54:00,290 --> 00:54:05,260 S-ar putea să doriți să verificați dacă avem vreun erori aici, sau poate în altă parte. 950 00:54:05,260 --> 00:54:08,810 951 00:54:08,810 --> 00:54:20,260 Dacă mergem în admin, care pare ciudat. 952 00:54:20,260 --> 00:54:24,080 Dacă trageți magazia după acest seminar, 953 00:54:24,080 --> 00:54:27,580 Mă voi asigura că simplu-todos funcționează cu Houston. 954 00:54:27,580 --> 00:54:30,370 Din păcate, nu pare să fi de lucru în acest moment. 955 00:54:30,370 --> 00:54:34,810 956 00:54:34,810 --> 00:54:37,640 >> Mai sunt și alte întrebări? 957 00:54:37,640 --> 00:54:41,800 Houston normal este un instrument care functioneaza foarte bine. 958 00:54:41,800 --> 00:54:44,510 Houston este specific un pic buggier decât celelalte, 959 00:54:44,510 --> 00:54:49,470 dar eu nu-l recomand, atunci când funcționează. 960 00:54:49,470 --> 00:54:50,080 Da. 961 00:54:50,080 --> 00:54:52,395 >> Audiența: Ce se poate face cu pachetul de Facebook 962 00:54:52,395 --> 00:54:54,270 Odată ce un utilizator este conectat Facebook lor? 963 00:54:54,270 --> 00:54:55,978 >> ROGER ZURAWICKI: Din păcate un utilizator autentificat, 964 00:54:55,978 --> 00:54:59,540 puteți efectua apeluri la API Facebook. 965 00:54:59,540 --> 00:55:02,890 O mulțime de care se află mai mult în cum Facebook va deschide API lor. 966 00:55:02,890 --> 00:55:05,120 Meteor, asigurați-vă că au conexiunea. 967 00:55:05,120 --> 00:55:09,300 Dar totul după care este o problemă de a învăța cum să folosească API Facebook. 968 00:55:09,300 --> 00:55:10,216 Audiența: [neauzit]. 969 00:55:10,216 --> 00:55:17,756 970 00:55:17,756 --> 00:55:18,880 ROGER ZURAWICKI: Bine. 971 00:55:18,880 --> 00:55:21,670 Vă mulțumesc foarte mult pentru acest seminar CS50 în Meteor. 972 00:55:21,670 --> 00:55:24,060 Dacă aveți întrebări, puteți să-mi e-mail 973 00:55:24,060 --> 00:55:28,319 la adresa mea de e-mail enumerate mai jos seminarului. 974 00:55:28,319 --> 00:55:30,110 Și voi fi fericit să răspunde la întrebările dumneavoastră. 975 00:55:30,110 --> 00:55:33,020 Voi fi, de asemenea, la CS50 Hackathon ar trebui 976 00:55:33,020 --> 00:55:35,550 aveți nevoie de ajutor cu proiectele dumneavoastră Meteor. 977 00:55:35,550 --> 00:55:37,650 Vă mulțumim pentru vizionarea. 978 00:55:37,650 --> 00:55:38,816