1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:10,960 [REPRODUCCIÓ DE MÚSICA] 3 00:00:10,960 --> 00:00:12,960 ROGER ZURAWICKI: Hola, el meu nom és Roger Zurawicki, 4 00:00:12,960 --> 00:00:16,410 i vaig a estar cobrint el seminari CS50 Meteor. 5 00:00:16,410 --> 00:00:21,520 Meteor és un nou marc dedicat a la nova classe de web, 6 00:00:21,520 --> 00:00:25,220 no el PHP fer peticions anada i tornada classe 7 00:00:25,220 --> 00:00:29,070 de web que vam veure en el conjunt PHPP, però el JavaScript més dinàmic 8 00:00:29,070 --> 00:00:31,370 parts de la web. 9 00:00:31,370 --> 00:00:36,260 Coses Meteor pot fer Inclou l'actualització en viu 10 00:00:36,260 --> 00:00:42,380 i immediatament comunicar entre usuaris de la mateixa pàgina web. 11 00:00:42,380 --> 00:00:46,420 >> Per a aquest seminari, tenim codi allotjat en el meu GitHub. 12 00:00:46,420 --> 00:00:49,690 Vostè pot anar a aquesta adreça URL i descarregar-lo. 13 00:00:49,690 --> 00:00:53,085 Si vostè sap com utilitzar Git, pot clonar el repositori. 14 00:00:53,085 --> 00:00:55,460 Si no sap com utilitzar Git o no han utilitzat GitHub, 15 00:00:55,460 --> 00:00:57,030 això és completament bé. 16 00:00:57,030 --> 00:01:00,480 Jo et mostraré molt ràpid com podem anar a GitHub, 17 00:01:00,480 --> 00:01:03,604 i hi ha una opció per descarregar un arxiu just aquí. 18 00:01:03,604 --> 00:01:06,770 Quan descarregui aquest directori, pot començar a jugar amb el nostre codi. 19 00:01:06,770 --> 00:01:10,200 20 00:01:10,200 --> 00:01:13,190 >> Més informació sobre Meteor es pot trobar a meteor.com. 21 00:01:13,190 --> 00:01:16,580 A la carpeta Seminari, en realitat tenir alguns projectes de meteors que podem utilitzar. 22 00:01:16,580 --> 00:01:20,380 23 00:01:20,380 --> 00:01:26,400 Una de les carpetes que tenim a la nostra projecte seminari és l'aplicació tots. 24 00:01:26,400 --> 00:01:28,780 Així que si em vaig a ella I, Meteor té instal·lat. 25 00:01:28,780 --> 00:01:35,690 Així que per executar-lo, només necessito per escriure Meteor, i Meteor instal·laran. 26 00:01:35,690 --> 00:01:38,310 Com pots veure, hem de assegurar-se que instal·lem Meteor. 27 00:01:38,310 --> 00:01:40,562 Així que només vaig a executar un cop més 28 00:01:40,562 --> 00:01:42,520 per assegurar-se que Meteor està correctament instal·lat. 29 00:01:42,520 --> 00:01:46,370 30 00:01:46,370 --> 00:01:48,450 >> Tot i que no tinc Meteor instal·lació, et puc mostrar 31 00:01:48,450 --> 00:01:53,760 algunes demostracions en viu de llocs de meteors anar en viu ara mateix a Internet. 32 00:01:53,760 --> 00:01:57,990 Tinc una demostració de la nostra aplicació. 33 00:01:57,990 --> 00:02:00,740 Podeu accedir a ell en la següent URL. 34 00:02:00,740 --> 00:02:06,350 Aquesta és l'aplicació per això tenir al nostre directori seminari. 35 00:02:06,350 --> 00:02:09,940 La URL d'aquest és rozu-rabbit.meteor.com. 36 00:02:09,940 --> 00:02:14,782 Veuràs que Meteor farà realitat allotjar els seus projectes Meteor gratis. 37 00:02:14,782 --> 00:02:17,490 I al final del seminari, podràs fer-ho també. 38 00:02:17,490 --> 00:02:20,550 39 00:02:20,550 --> 00:02:22,160 >> Aquesta és una aplicació per fer la llista. 40 00:02:22,160 --> 00:02:27,740 I vostè pot obrir una sessió, crear comptes i afegir tasques. 41 00:02:27,740 --> 00:02:30,020 Podeu crear un compte com a tal. 42 00:02:30,020 --> 00:02:33,050 43 00:02:33,050 --> 00:02:35,850 I ara, una vegada que tingui una compte, vostè pot afegir tasques. 44 00:02:35,850 --> 00:02:42,780 Per exemple, una de les tasques I podria haver d'anar a recollir la meva roba. 45 00:02:42,780 --> 00:02:45,160 I si estàs en aquest lloc en línia, vostè 46 00:02:45,160 --> 00:02:49,790 veure realment aquesta tasca en l'ordinador en temps real. 47 00:02:49,790 --> 00:02:53,760 >> Puc mostrar-li una demostració ràpida d'aquesta obrint Rozu-conill 48 00:02:53,760 --> 00:02:56,700 en una altra pestanya amb la mateixa URL. 49 00:02:56,700 --> 00:03:00,360 I veiem que les mateixes dades apareix. 50 00:03:00,360 --> 00:03:02,240 També podem executar-lo en un navegador diferent. 51 00:03:02,240 --> 00:03:03,420 Digui el executo en Safari. 52 00:03:03,420 --> 00:03:04,720 D'aquesta manera no està registrat. 53 00:03:04,720 --> 00:03:07,750 54 00:03:07,750 --> 00:03:11,060 Així que tenim la mateixa Meteor aplicació, i una vegada que es carrega, 55 00:03:11,060 --> 00:03:13,910 anem a veure les mateixes dades ho vam fer a la primera. 56 00:03:13,910 --> 00:03:16,710 Com es pot veure, no estic inscrit aquí. 57 00:03:16,710 --> 00:03:20,000 I quan les dades xecs d'audiència, s'actualitza en tots els navegadors 58 00:03:20,000 --> 00:03:20,910 simultàniament. 59 00:03:20,910 --> 00:03:23,740 Aquest és un dels realment característiques interessants sobre Meteor. 60 00:03:23,740 --> 00:03:27,700 Gairebé sense feina, tenir una aplicació d'actualització en viu 61 00:03:27,700 --> 00:03:31,240 que els canvis en tots seus dispositius alhora. 62 00:03:31,240 --> 00:03:36,690 >> Si marca la casella de verificació aquí en la meva llista de tasques, tindrem, 63 00:03:36,690 --> 00:03:41,230 en el meu altre navegador Chrome, l'element de comprovació off. 64 00:03:41,230 --> 00:03:42,605 I això passa instantàniament. 65 00:03:42,605 --> 00:03:46,340 66 00:03:46,340 --> 00:03:47,280 Bé. 67 00:03:47,280 --> 00:03:52,730 Així que sembla que Meteor instal·lació està llista ara. 68 00:03:52,730 --> 00:03:57,000 Així que ara anem a tornar a la Tots aplicació i executar aquest local. 69 00:03:57,000 --> 00:04:01,599 >> Si vostè té un projecte Meteor, pot només executar-lo amb el Meteor ordres. 70 00:04:01,599 --> 00:04:03,640 Un cop fet això, Meteor va a fer una mica de preparació 71 00:04:03,640 --> 00:04:06,120 per assegurar-se que tots el seu codi està en escac. 72 00:04:06,120 --> 00:04:12,440 I llavors et dirà que el projecte està a punt per ser servit. 73 00:04:12,440 --> 00:04:17,750 Pot ser que sigui necessari per permetre la seva servidor de seguretat, si l'ordinador bloqueja vostès. 74 00:04:17,750 --> 00:04:22,440 >> Llavors, què m'està dient Meteor ara mateix és que en aquesta web 75 00:04:22,440 --> 00:04:26,100 local per al meu equip, puc veure el que aquest projecte Meteor és. 76 00:04:26,100 --> 00:04:29,290 Tingueu en compte que en aquest moment, el meu aplicació és no és accessible a la internet. 77 00:04:29,290 --> 00:04:35,170 Anem a cobrir la forma de portar el seu Meteor aplicació a un lloc en viu una mica més endavant. 78 00:04:35,170 --> 00:04:40,510 Així que només vaig a copiar aquest URL ara i entra a Google Chrome. 79 00:04:40,510 --> 00:04:42,600 >> I aquest és el de fer llista de l'exemple. 80 00:04:42,600 --> 00:04:46,080 Es pot veure que implementen algunes característiques més aquí. 81 00:04:46,080 --> 00:04:49,210 Tenim diferents pestanyes, ens tenir les mateixes característiques del compte, 82 00:04:49,210 --> 00:04:52,141 i podem afegir noves llistes. 83 00:04:52,141 --> 00:04:54,140 Ara, un dels de veritat característica fresca sobre Meteor 84 00:04:54,140 --> 00:04:57,450 és que no només pot aquest treballar en el seu navegador web, 85 00:04:57,450 --> 00:05:00,030 però també pot crear iPhone nativa i Android 86 00:05:00,030 --> 00:05:02,990 aplicacions a través d'una eina anomenada PhoneGap. 87 00:05:02,990 --> 00:05:06,740 >> Així que alguns projectes vindran pre-configurat per executar 88 00:05:06,740 --> 00:05:08,700 en iOS, com aquesta aplicació tots. 89 00:05:08,700 --> 00:05:14,780 Així que tot el que necessito fer per executar-lo en iOS és escriure Meteor, córrer, i després iOS. 90 00:05:14,780 --> 00:05:17,540 I quan ho faig, Meteor prepararà el paquet nou. 91 00:05:17,540 --> 00:05:21,670 I després, una vegada que estigui llest, va carregar el simulador de iOS en el meu comandament. 92 00:05:21,670 --> 00:05:24,745 Nota Només pot executar aplicacions de iOS si vostè té un ordinador Mac. 93 00:05:24,745 --> 00:05:27,650 94 00:05:27,650 --> 00:05:30,730 Podeu executar les seves aplicacions en Android en totes les plataformes. 95 00:05:30,730 --> 00:05:34,070 96 00:05:34,070 --> 00:05:38,290 >> Així que ara vostè pot veure que el meu iPhone simulador de vi en la meva pantalla. 97 00:05:38,290 --> 00:05:40,370 I en un moment, que va a carregar amb l'aplicació. 98 00:05:40,370 --> 00:05:46,070 99 00:05:46,070 --> 00:05:48,490 Si fem una mica més petit perquè càpiga a la pantalla, 100 00:05:48,490 --> 00:05:50,780 veiem que tenim la nostra aplicació per l'iPhone. 101 00:05:50,780 --> 00:05:53,220 I perquè no ho fem confondre, farem 102 00:05:53,220 --> 00:05:59,790 Segur que estem en el mateix lloc web, el host local 3000. 103 00:05:59,790 --> 00:06:03,490 >> Així que aquí és un exemple de l'aplicació del meteorit que tinc, 104 00:06:03,490 --> 00:06:08,770 l'aplicació de tots, s'executa tant en un telèfon i un navegador web. 105 00:06:08,770 --> 00:06:10,770 I quan canvi coses en el navegador web, 106 00:06:10,770 --> 00:06:12,675 immediatament va al telèfon. 107 00:06:12,675 --> 00:06:16,500 I puc esborrar alguna cosa al telèfon, i canvia en el navegador web. 108 00:06:16,500 --> 00:06:21,050 >> Ara, normalment per crear nativa aplicació de telèfon per iOS o Android, 109 00:06:21,050 --> 00:06:26,090 el que necessita saber Java o Objectiu C. La tecnologia utilitza Meteor 110 00:06:26,090 --> 00:06:29,240 per permetre JavaScript per funcionar com la seva aplicació es diu PhoneGap. 111 00:06:29,240 --> 00:06:31,320 El que la seva aplicació essencialment és és un navegador web. 112 00:06:31,320 --> 00:06:34,500 I Meteor maneja tot les parts difícils involucrats 113 00:06:34,500 --> 00:06:39,820 per esmentar navegador web per iPhone o dispositiu Android. 114 00:06:39,820 --> 00:06:42,210 Es pot veure que la interfície d'usuari és suau, 115 00:06:42,210 --> 00:06:45,290 i es veu i se sent molt igual que una aplicació nativa. 116 00:06:45,290 --> 00:06:48,620 Tingueu en compte que si vaig a la casa pantalla ara, també tinc una icona. 117 00:06:48,620 --> 00:06:50,880 Aquest no és un lloc web com que trobaries en Safari. 118 00:06:50,880 --> 00:06:51,860 Aquesta és la seva pròpia aplicació. 119 00:06:51,860 --> 00:06:54,130 Podeu instal·lar i eliminar si ho desitja. 120 00:06:54,130 --> 00:06:59,500 121 00:06:59,500 --> 00:07:04,436 >> Nosaltres li podem mostrar breument el que el codi per a aquest tipus de Tots aplicació es sembla. 122 00:07:04,436 --> 00:07:08,260 Si ens fixem en la carpeta de tots, vostè veurà que hi ha moltes carpetes. 123 00:07:08,260 --> 00:07:11,440 Però en el transcurs del seminari, anem a 124 00:07:11,440 --> 00:07:14,780 entendre el que s'utilitza cada carpeta per. 125 00:07:14,780 --> 00:07:17,830 Anem a entrar al terminal de manera que pot veure els arxius d'una mica millor. 126 00:07:17,830 --> 00:07:20,410 >> Vaig a pressionar Control C per aturar el servidor, 127 00:07:20,410 --> 00:07:22,770 i ara estic de tornada a l'aplicació de tots. 128 00:07:22,770 --> 00:07:26,660 Tinc diferents carpetes aquí, com la carpeta del client, la carpeta del servidor. 129 00:07:26,660 --> 00:07:30,500 I aquestes carpetes simplement signifiquen que tot a la carpeta del client 130 00:07:30,500 --> 00:07:32,630 serà executat en el seu navegador web. 131 00:07:32,630 --> 00:07:35,530 Tot en una carpeta del servidor serà executat al servidor. 132 00:07:35,530 --> 00:07:38,100 >> El que vull assenyalar a terme és que el que teníem 133 00:07:38,100 --> 00:07:42,140 quan vam tenir el nostre telèfon en funcionament i nostre navegador web, aquests eren clients. 134 00:07:42,140 --> 00:07:45,730 Però el que s'està executant en un terminal, que és el servidor. 135 00:07:45,730 --> 00:07:48,710 Tenim altres carpetes, com lib, que és el codi de la biblioteca, 136 00:07:48,710 --> 00:07:51,050 com el seu ajudant funcions, que es pot 137 00:07:51,050 --> 00:07:53,710 utilitzar tant en el client i el servidor. 138 00:07:53,710 --> 00:07:55,820 I llavors vostè té un públic carpeta i recursos 139 00:07:55,820 --> 00:07:59,310 carpeta necessària per aconseguir les seves imatges i una altra CSS carregats. 140 00:07:59,310 --> 00:08:02,630 141 00:08:02,630 --> 00:08:09,360 >> Si heu instal·lat Meteor, ho farem continuar amb el tutorial per Meteor. 142 00:08:09,360 --> 00:08:12,790 Vostè pot anar a aquesta URL, meteor.com/install, 143 00:08:12,790 --> 00:08:17,990 per obtenir la línia de comandes que jo que va mostrar que instal·la Meteor. 144 00:08:17,990 --> 00:08:20,240 Anem a passar per la primera pocs passos per obtenir una millor 145 00:08:20,240 --> 00:08:22,760 sentir sobre com instal·lar Meteor. 146 00:08:22,760 --> 00:08:28,000 >> Però en primer lloc, crec que és important que revisem una mica de JavaScript. 147 00:08:28,000 --> 00:08:32,360 Per mostrar alguns exemples de com el nostre coneixement C pot ser traduït 148 00:08:32,360 --> 00:08:34,950 tenir JavaScript, he creat alguns exemples. 149 00:08:34,950 --> 00:08:36,940 Ells estan en el directori js. 150 00:08:36,940 --> 00:08:41,750 Així que si en els seminaris de la carpeta que Mira, hi ha una carpeta anomenada js. 151 00:08:41,750 --> 00:08:44,540 I aquí, tenim alguns exemples. 152 00:08:44,540 --> 00:08:50,120 >> Anem a obrir la primera exemple i veure molt ràpidament. 153 00:08:50,120 --> 00:08:53,980 El que veiem és la seva norma hola comanda món. 154 00:08:53,980 --> 00:08:56,520 Es nota en C que tenir un bon nombre de línies. 155 00:08:56,520 --> 00:09:00,490 I com saben els alumnes CS50, necessitem una funció principal, 156 00:09:00,490 --> 00:09:05,730 i tenim que inclourà la norma Biblioteca I / S per tal de cridar a printf. 157 00:09:05,730 --> 00:09:09,320 >> Fem una ullada a com es compara JavaScript. 158 00:09:09,320 --> 00:09:11,560 Vaig a obrir ex1.js. 159 00:09:11,560 --> 00:09:14,650 Comentades fi és el que el C codi es veuria així, 160 00:09:14,650 --> 00:09:17,550 i la línia de sota és tot ha d'executar en el Node. 161 00:09:17,550 --> 00:09:20,452 No necessita una funció principal, no cal incloure tots els arxius, 162 00:09:20,452 --> 00:09:21,660 i que no cal tornar. 163 00:09:21,660 --> 00:09:23,810 Tu només console.log. 164 00:09:23,810 --> 00:09:26,370 Això és l'equivalent al seu printf. 165 00:09:26,370 --> 00:09:29,310 >> I es necessita la mateixa arguments printf faria. 166 00:09:29,310 --> 00:09:33,870 I per tal d'executar-lo, en lloc de córrer fer EX1, 167 00:09:33,870 --> 00:09:38,930 vostè acaba de cridar ex1.js. Nodes 168 00:09:38,930 --> 00:09:41,830 Vostè escriu Node i després l'arxiu i que s'executi. 169 00:09:41,830 --> 00:09:43,580 No aconsegueix compilat. 170 00:09:43,580 --> 00:09:45,970 JavaScript és un llenguatge interpretat. 171 00:09:45,970 --> 00:09:49,150 Per tant, no necessita ser compilat abans que s'executi. 172 00:09:49,150 --> 00:09:53,450 Si jo volia córrer ex1.c, He de fer el primer, 173 00:09:53,450 --> 00:09:59,160 i després puc córrer l'executable per obtenir el mateix resultat. 174 00:09:59,160 --> 00:10:02,460 >> Anem a cobrir ràpidament algunes altres conceptes de JavaScript. 175 00:10:02,460 --> 00:10:04,490 Vegem exemple dues. 176 00:10:04,490 --> 00:10:14,690 En ex2.js, en ex2.c, podem veure que tenim una mica de codi. 177 00:10:14,690 --> 00:10:16,550 Déjame anar ràpidament a una millor editor de text 178 00:10:16,550 --> 00:10:18,400 que mostrarà aquests noves línies una mica millor. 179 00:10:18,400 --> 00:10:21,760 180 00:10:21,760 --> 00:10:22,380 Bé. 181 00:10:22,380 --> 00:10:24,190 Aquí tenim exemple 2.c. 182 00:10:24,190 --> 00:10:27,360 Aquí tenim diferents tipus que estem imprimint. 183 00:10:27,360 --> 00:10:30,880 I com sabem, printf presa diferents arguments per cent 184 00:10:30,880 --> 00:10:34,050 per accedir a diferents peces de dades. 185 00:10:34,050 --> 00:10:36,840 Si volem imprimir una cadena, en diem% s. 186 00:10:36,840 --> 00:10:40,390 Si volem trucar a un flotant nombre de punt, ens va cridar% f. 187 00:10:40,390 --> 00:10:45,810 I no hi ha manera fàcil de cridar a un Boolean pel seu valor vertader o fals. 188 00:10:45,810 --> 00:10:50,760 Però si utilitza% d, pot obtenir un 0 o un 1 per fals i veritable. 189 00:10:50,760 --> 00:10:53,270 >> Javascript és una mica més agradable per a nosaltres. 190 00:10:53,270 --> 00:10:57,740 En JavaScript, donem una ullada als pocs diferències que tenen en aquest arxiu. 191 00:10:57,740 --> 00:11:05,790 En primer lloc, s'observa que en C hem de inicialitzar cada variable amb un tipus. 192 00:11:05,790 --> 00:11:06,940 S és un estel de carbó. 193 00:11:06,940 --> 00:11:08,930 És una cadena, i no pot ser qualsevol altre tipus. 194 00:11:08,930 --> 00:11:10,450 N és un flotador. 195 00:11:10,450 --> 00:11:11,780 B és un Bool. 196 00:11:11,780 --> 00:11:14,220 >> Però en JavaScript hi ha tipus dinàmics. 197 00:11:14,220 --> 00:11:16,400 Això vol dir que no ho fa necessitar dir-li JavaScript 198 00:11:16,400 --> 00:11:17,860 quin tipus seran les seves variables. 199 00:11:17,860 --> 00:11:22,730 Vostè acaba de dir var per a la variable, el nom de la variable, i llavors el seu valor. 200 00:11:22,730 --> 00:11:24,690 Així que una var pot ser qualsevol cosa realment. 201 00:11:24,690 --> 00:11:25,640 Pot ser una cadena. 202 00:11:25,640 --> 00:11:27,300 Pot ser un nombre de punt flotant. 203 00:11:27,300 --> 00:11:28,560 Pot ser un personatge. 204 00:11:28,560 --> 00:11:31,250 Pot ser un valor booleà. 205 00:11:31,250 --> 00:11:34,380 I registre de la consola funciona una mica diferent. 206 00:11:34,380 --> 00:11:37,340 Si voleu imprimir un nombre, truqui% d. 207 00:11:37,340 --> 00:11:41,740 Però la majoria dels valors poden ser impresa com cadenes bé. 208 00:11:41,740 --> 00:11:46,220 >> Anem a córrer en aquest node per veure el que passaria. 209 00:11:46,220 --> 00:11:51,880 Puc cridar ex2.js node, i tenim printf 210 00:11:51,880 --> 00:11:56,870 amb el CS50 valors, N com el nombre de punt flotant, 211 00:11:56,870 --> 00:12:00,620 i després B com el booleà converteix en una cadena cert. 212 00:12:00,620 --> 00:12:03,830 I si féssim exemple 2.c? 213 00:12:03,830 --> 00:12:09,630 Bé, encara tenim alguns més molèsties amb printf. 214 00:12:09,630 --> 00:12:13,110 Tingueu present que el punt flotant nombre ha de ser el format correcte, 215 00:12:13,110 --> 00:12:18,120 i que el booleana no pot simplement es mostrarà com a veritable o fals. 216 00:12:18,120 --> 00:12:18,620 Bé. 217 00:12:18,620 --> 00:12:22,680 Ara donem una ullada a exemple 3. 218 00:12:22,680 --> 00:12:26,470 En l'exemple 3, estem mostrant com es pot utilitzar un bucle for. 219 00:12:26,470 --> 00:12:27,630 De fet, és molt simple. 220 00:12:27,630 --> 00:12:31,430 Una de les coses bones sobre JavaScript és que es basa C. 221 00:12:31,430 --> 00:12:33,920 Això significa que una gran quantitat de la seva codi serà molt similar 222 00:12:33,920 --> 00:12:36,490 i se senten molt semblants. 223 00:12:36,490 --> 00:12:39,220 En un bucle, l'únic que realment ha canviat aquí 224 00:12:39,220 --> 00:12:41,840 és lloc de int i, tenim var i. 225 00:12:41,840 --> 00:12:45,470 Encara podem assignar a valorar zero, comproveu que està a menys de cinc, 226 00:12:45,470 --> 00:12:49,390 i incrementar en un amb l'operador ++. 227 00:12:49,390 --> 00:12:56,286 Cridem console.log en i, i que ens imprimir un nombre amb cada línia. 228 00:12:56,286 --> 00:12:58,410 Anem a córrer realment ràpid per veure el que emet. 229 00:12:58,410 --> 00:13:02,320 230 00:13:02,320 --> 00:13:03,880 Tenim un nou número en cada línia. 231 00:13:03,880 --> 00:13:06,920 Una altra cosa que vull a notar amb console.log 232 00:13:06,920 --> 00:13:09,960 és que vostè no ha d'escriure barra invertida n per a la nova línia. 233 00:13:09,960 --> 00:13:12,480 Console.log imprimir tot en la seva pròpia línia. 234 00:13:12,480 --> 00:13:14,585 Això és una bona característica que JavaScript ens dóna. 235 00:13:14,585 --> 00:13:18,440 236 00:13:18,440 --> 00:13:22,600 >> Ara anem a obrir exemple 4. 237 00:13:22,600 --> 00:13:28,710 En l'exemple de quatre, per primera vegada en la C, estem cridant a unes poques funcions. 238 00:13:28,710 --> 00:13:33,290 Tingueu en compte que hem de declarar la funcions abans que els utilitzen en principal. 239 00:13:33,290 --> 00:13:37,250 Si tinguéssim principal primer i a continuació, afegir i després alta, fer, 240 00:13:37,250 --> 00:13:39,540 so metàl·lic, o GCC seria donar-nos un error que diu 241 00:13:39,540 --> 00:13:41,060 que no sap el que és alta. 242 00:13:41,060 --> 00:13:42,780 No sap el que és complement. 243 00:13:42,780 --> 00:13:46,480 Així que en C, vostè ha de ser exigent amb la ordre en el que es diu a les seves funcions. 244 00:13:46,480 --> 00:13:49,220 245 00:13:49,220 --> 00:13:51,310 >> Fem una ullada a com es pot fer això en JavaScript. 246 00:13:51,310 --> 00:13:56,060 Tenim diferents arxius perquè no hi ha algunes maneres diferents de fer això. 247 00:13:56,060 --> 00:13:58,950 Una forma és més o menys una traducció directa. 248 00:13:58,950 --> 00:14:02,180 Atès que les funcions en C tipus de retorn i JavaScript 249 00:14:02,180 --> 00:14:05,210 en realitat no sap ni li importa sobre el tipus torna, 250 00:14:05,210 --> 00:14:06,300 vostè no escriu un tipus. 251 00:14:06,300 --> 00:14:08,100 En el seu lloc, només té a la funció d'escriure, 252 00:14:08,100 --> 00:14:11,180 i tot és bastant el mateix que abans. 253 00:14:11,180 --> 00:14:14,630 >> Quan es té una variable, com en afegim, només hem d'escriure x i y. 254 00:14:14,630 --> 00:14:16,060 No necessitem dir x és un enter. 255 00:14:16,060 --> 00:14:18,940 No necessitem dir que i és un int. 256 00:14:18,940 --> 00:14:21,030 Tornem amb la mateixa sintaxi. 257 00:14:21,030 --> 00:14:24,230 Per alt, el declarem amb funcionar en lloc de buit. 258 00:14:24,230 --> 00:14:26,110 Tingueu en compte que si és nul·la o no buit, 259 00:14:26,110 --> 00:14:28,380 tot i així és tot la mateixa funció. 260 00:14:28,380 --> 00:14:32,440 I simplement no posem res entre parèntesis, 261 00:14:32,440 --> 00:14:34,690 i es veu molt semblant al codi C. 262 00:14:34,690 --> 00:14:37,460 I a continuació, podem anomenar a continuació. 263 00:14:37,460 --> 00:14:42,730 >> Si mirem exemple 4b, notem que he canviat algunes coses. 264 00:14:42,730 --> 00:14:45,340 L'únic que he canviat Realment, encara que és l'ordre. 265 00:14:45,340 --> 00:14:47,340 Tenim el mateix funcions, però ara són 266 00:14:47,340 --> 00:14:52,200 declarada després que s'utilitzen en console.log i alta en les línies 18, 19. 267 00:14:52,200 --> 00:14:54,740 Si va fer això en C, fer llançaria un error. 268 00:14:54,740 --> 00:14:56,070 Aquí, això funciona molt bé. 269 00:14:56,070 --> 00:15:01,935 I puc mostrar això a vostè per trucant Node l'exemple 4b. 270 00:15:01,935 --> 00:15:05,350 271 00:15:05,350 --> 00:15:10,130 >> Una altra forma en què podem cridar a funcions és per funcions d'estalvi com a variables. 272 00:15:10,130 --> 00:15:13,790 Com he dit, una variable pot tenir qualsevol tipus. 273 00:15:13,790 --> 00:15:16,720 Un dels tipus una variable pot tenir és una funció. 274 00:15:16,720 --> 00:15:19,800 Així que si ens fixem en exemple 4c, ho he canviat 275 00:15:19,800 --> 00:15:24,320 aquí és var afegir en lloc de la funció add. 276 00:15:24,320 --> 00:15:26,807 I ara és igual a afegir una funció. 277 00:15:26,807 --> 00:15:28,140 Aquesta funció aquí és anònima. 278 00:15:28,140 --> 00:15:33,346 No té nom, pel que és just FUNCTION i després els parèntesis. 279 00:15:33,346 --> 00:15:35,220 La sintaxi després d'això no canvia, però 280 00:15:35,220 --> 00:15:38,300 ha de tenir en compte que té una variable que ets 281 00:15:38,300 --> 00:15:42,940 emmagatzemar la funció en complement, i un variable que s'està emmagatzemant en alt. 282 00:15:42,940 --> 00:15:47,620 >> A causa de afegir i ara alt són les variables i no funciona, alguna cosa canvia. 283 00:15:47,620 --> 00:15:50,190 Això és un error comú que veig en una gran quantitat d'arxius JavaScript de la gent, 284 00:15:50,190 --> 00:15:52,410 i una mica a tenir en compte. 285 00:15:52,410 --> 00:15:54,365 Quan executo això, anem a veure què passa. 286 00:15:54,365 --> 00:15:57,410 287 00:15:57,410 --> 00:15:58,230 M'apareix un error. 288 00:15:58,230 --> 00:16:01,000 És com dir no definit en aquest punt. 289 00:16:01,000 --> 00:16:03,520 Així que està dient que no sap el que és afegir. 290 00:16:03,520 --> 00:16:06,010 >> Perquè ara afegir no és un funció, afegir és una variable. 291 00:16:06,010 --> 00:16:10,100 I vostè no ha donat realment afegir un valor encara quan es va usar. 292 00:16:10,100 --> 00:16:14,460 Això ens porta a l'exemple 4d, on si voleu utilitzar variables com funcions, 293 00:16:14,460 --> 00:16:17,210 només ha de assegurar-se que obtenir el valor abans que siguin utilitzats. 294 00:16:17,210 --> 00:16:20,200 295 00:16:20,200 --> 00:16:23,420 >> Passem a l'exemple de cinc a continuació. 296 00:16:23,420 --> 00:16:27,390 En aquest cas, parlem de structs en C. C, estructures 297 00:16:27,390 --> 00:16:30,320 tenir aquesta estructura fixa a ells perquè cal declarar-los 298 00:16:30,320 --> 00:16:33,050 abans d'usar-lo, i et dic que tinc un estudiant, 299 00:16:33,050 --> 00:16:36,645 i cada estudiant té exactament un nom, un any, un dels gèneres. 300 00:16:36,645 --> 00:16:37,770 Ha de tenir a tots ells. 301 00:16:37,770 --> 00:16:42,280 No hi pot haver cap altre valor, i han de ser tipus específics. 302 00:16:42,280 --> 00:16:47,540 >> Llavors podem inicialitzar el struct en aquesta sintaxi agradable 303 00:16:47,540 --> 00:16:49,470 ja que coneix l'ordre. 304 00:16:49,470 --> 00:16:51,460 Per tant, sap que Roger és un nom. 305 00:16:51,460 --> 00:16:54,060 Se sap que 2016 és un anys i M és un gènere 306 00:16:54,060 --> 00:16:58,200 perquè ens van dir que aquest llista és un estudiant struct. 307 00:16:58,200 --> 00:17:01,607 I llavors vostè pot imprimir que, accedint s.name. 308 00:17:01,607 --> 00:17:03,690 Anem a veure com ho faríem convertir que a JavaScript. 309 00:17:03,690 --> 00:17:06,400 310 00:17:06,400 --> 00:17:09,790 Observi que S és ara un variables, i no hi ha cap tipus. 311 00:17:09,790 --> 00:17:10,920 És només una var de nou. 312 00:17:10,920 --> 00:17:14,480 Perquè no importa si el tipus d'aquesta variable és un punter, 313 00:17:14,480 --> 00:17:17,440 és una estructura, o qualsevol altra cosa. 314 00:17:17,440 --> 00:17:19,650 Tenim una sintaxi lleugerament diferent. 315 00:17:19,650 --> 00:17:21,890 Aquesta sintaxi és la sintaxi d'objecte. 316 00:17:21,890 --> 00:17:24,400 >> És possible que hagi vist en JSON. 317 00:17:24,400 --> 00:17:27,780 JSON en realitat significa la JavaScript Object Notation. 318 00:17:27,780 --> 00:17:31,240 Així és com es defineix objectes en JavaScript. 319 00:17:31,240 --> 00:17:34,500 Tenim una clau, la qual és el valor, com el nom. 320 00:17:34,500 --> 00:17:37,680 I et donem la valora en l'altre costat del còlon. 321 00:17:37,680 --> 00:17:41,850 I una cosa a tenir en compte que vostè és no cal tenir un nom i un any 322 00:17:41,850 --> 00:17:42,980 i un gènere d'un objecte. 323 00:17:42,980 --> 00:17:44,570 Un objecte pot tenir cap valor. 324 00:17:44,570 --> 00:17:46,920 Pot tenir tants com vulgui. 325 00:17:46,920 --> 00:17:50,375 >> Podem utilitzar aquests objectes només en el mateixa manera que usaríem una estructura, s.name. 326 00:17:50,375 --> 00:17:53,810 327 00:17:53,810 --> 00:17:57,080 Podem córrer realment ràpid fent node exemple 5.c. 328 00:17:57,080 --> 00:18:00,320 329 00:18:00,320 --> 00:18:02,520 En realitat no podem executar un arxiu de C en el Node. 330 00:18:02,520 --> 00:18:03,654 No sap el que C és. 331 00:18:03,654 --> 00:18:04,695 Només se sap JavaScript. 332 00:18:04,695 --> 00:18:09,865 Quan executem els ex5.js, obtenim el valor, el que ens esperàvem. 333 00:18:09,865 --> 00:18:13,490 334 00:18:13,490 --> 00:18:15,980 >> Passem a l'exemple 6. 335 00:18:15,980 --> 00:18:18,930 Aquí només vull parlar una mica poc més sobre les matrius de JavaScript 336 00:18:18,930 --> 00:18:20,930 perquè són una mica diferent del que ets 337 00:18:20,930 --> 00:18:26,940 utilitzada en el C. Les matrius són anotada, no amb els suports com en C, 338 00:18:26,940 --> 00:18:28,640 amb les claus, però parèntesis. 339 00:18:28,640 --> 00:18:32,150 Vostè pot tenir una matriu buida, com arr en línia de quatre. 340 00:18:32,150 --> 00:18:34,680 Vostè pot tenir matrius amb múltiples valors. 341 00:18:34,680 --> 00:18:39,790 I accedir-hi de la mateixa manera en C. 342 00:18:39,790 --> 00:18:42,990 >> Fins a la línia 7, tot Sembla bastant senzill. 343 00:18:42,990 --> 00:18:45,390 Una petita diferència és que aquí a la línia 10. 344 00:18:45,390 --> 00:18:48,620 La forma s'obté una longitud d'un matriu és simplement trucant .length. 345 00:18:48,620 --> 00:18:50,620 Una matriu pot ser realitat tractat com un objecte, 346 00:18:50,620 --> 00:18:54,960 i aquest objecte té una propietat length que cridi per obtenir la longitud de la mateixa. 347 00:18:54,960 --> 00:18:57,350 Tingueu en compte que això és diferent en C perquè en C que 348 00:18:57,350 --> 00:19:01,600 ha de saber la longitud de el seu objecte abans d'hora. 349 00:19:01,600 --> 00:19:04,700 >> Així que una altra cosa bona sobre les matrius és que vostè pot tenir diferents tipus. 350 00:19:04,700 --> 00:19:07,470 Si vostè té una matriu en C, hi ha són matrius d'un valor específic, 351 00:19:07,470 --> 00:19:11,900 o bé un punter struct o flotadors o [inaudible]. 352 00:19:11,900 --> 00:19:13,700 Aquí, vostè pot tenir diferents valors. 353 00:19:13,700 --> 00:19:17,560 La primera vegada que vaig tenir un nombre de punt flotant, a continuació, un booleà, després un altre nombre enter. 354 00:19:17,560 --> 00:19:19,670 I, de fet, poden canviar els tipus també. 355 00:19:19,670 --> 00:19:21,220 Mira la línia 16. 356 00:19:21,220 --> 00:19:26,760 Matriu de dos està canviant de ser un nombre, un nombre sencer, en una cadena. 357 00:19:26,760 --> 00:19:30,920 >> Una altra cosa bona sobre les matrius aquí en la línia 19, que tenen mida infinit. 358 00:19:30,920 --> 00:19:35,900 Vostè pot simplement dir que vull la centèsima element que és la cadena de fiar. 359 00:19:35,900 --> 00:19:38,510 I això no sembla fer sentit perquè la matriu només 360 00:19:38,510 --> 00:19:41,080 té espai per a tres elements, de manera que el final ha de ser dues. 361 00:19:41,080 --> 00:19:44,800 Però al fer això, anem a veure quina sèrie 3 es converteix. 362 00:19:44,800 --> 00:19:47,460 Volem córrer així de ràpid amb exemples de node six.js. 363 00:19:47,460 --> 00:19:49,990 364 00:19:49,990 --> 00:19:52,180 Rebem aquesta molt llarga array, i el que passa 365 00:19:52,180 --> 00:19:55,100 és que tenim els primers elements i després un munt de peces en brut 366 00:19:55,100 --> 00:19:56,580 fins que aconseguim la nostra cadena. 367 00:19:56,580 --> 00:19:58,580 JavaScript omple el matriu com es necessita. 368 00:19:58,580 --> 00:20:01,790 369 00:20:01,790 --> 00:20:05,420 >> Anem a anar per fi al nostre últim exemple. 370 00:20:05,420 --> 00:20:08,180 Aquí tenim una llista dels diferents estudiants. 371 00:20:08,180 --> 00:20:11,350 Vull parlar una mica poc sobre alguns aspectes agradables 372 00:20:11,350 --> 00:20:14,240 dels bucles de JavaScript. 373 00:20:14,240 --> 00:20:17,500 En C, els bucles són tipus de limitació. 374 00:20:17,500 --> 00:20:21,490 Tenen una estructura fixa, on tenir una variable, vostè té una condició, 375 00:20:21,490 --> 00:20:23,850 i després fas alguna cosa al final del bucle. 376 00:20:23,850 --> 00:20:27,560 I per descomptat això funciona en JavaScript com hem vist en els exemples anteriors. 377 00:20:27,560 --> 00:20:31,030 Però també tenim maneres més agradables de fer això en JavaScript. 378 00:20:31,030 --> 00:20:33,870 Això es diu un bucle foreach. 379 00:20:33,870 --> 00:20:36,580 >> Ho sentim, tornem l'exemple de set aquí. 380 00:20:36,580 --> 00:20:39,320 També podem dir secció és una llista. 381 00:20:39,320 --> 00:20:43,250 Així que em donen cada io cada índex en aquesta llista. 382 00:20:43,250 --> 00:20:46,255 Llavors podem aconseguir que l'estudiant amb només la secció d'i cridant. 383 00:20:46,255 --> 00:20:50,690 Així que tot el codi d'ajust i igual a zero i assegurar-se i 384 00:20:50,690 --> 00:20:54,420 és menor que la longitud i sumant un a l'i cada vegada, això és 385 00:20:54,420 --> 00:21:00,220 tenir cura de vostè en lloc molt bé amb aquest bucle foreach. 386 00:21:00,220 --> 00:21:02,830 >> No només els bucles foreach treballar en llistes o matrius, 387 00:21:02,830 --> 00:21:06,130 també treballen en els objectes, que és també agradable. 388 00:21:06,130 --> 00:21:10,240 Vostè pot obtenir el nom de cada propietat amb només prendre 389 00:21:10,240 --> 00:21:15,030 un diccionari o un objecte, com a estudiant, i després simplement dient-me cada clau. 390 00:21:15,030 --> 00:21:18,920 Una de les claus seria aquests propietats, nom o casa. 391 00:21:18,920 --> 00:21:22,870 Llavors, què passarà aquí és que imprimim primer el nom i després 392 00:21:22,870 --> 00:21:24,920 la casa de cada estudiant. 393 00:21:24,920 --> 00:21:29,170 >> Puc executar aquesta en Node molt ràpid per mostrar. 394 00:21:29,170 --> 00:21:35,510 Tenim primer l'estil C de bucle, on obtenim cada objecte que s'imprimeix. 395 00:21:35,510 --> 00:21:38,910 I després tenim el JavaScript estil, on només es pot 396 00:21:38,910 --> 00:21:41,510 imprimir totes les claus i valorar individualment. 397 00:21:41,510 --> 00:21:45,560 398 00:21:45,560 --> 00:21:47,050 >> Bé. 399 00:21:47,050 --> 00:21:52,850 Ara que hem cobert Node.js, crec estem preparats per començar a treballar amb Meteor. 400 00:21:52,850 --> 00:21:56,070 Com he dit, Meteor va fer un gran treball d'escriure alguns exemples ja fets 401 00:21:56,070 --> 00:22:00,600 per a vostè que es pot explorar a través de aquest tutorial oa la carpeta de seminari. 402 00:22:00,600 --> 00:22:03,750 Però aquí vull iniciar més de zero. 403 00:22:03,750 --> 00:22:06,810 >> Crearem un senzill de fer l'aplicació. 404 00:22:06,810 --> 00:22:14,140 Aquesta és una espècie de la base del que el a fer aplicació que et vaig mostrar anteriorment és. 405 00:22:14,140 --> 00:22:16,990 En aquest tutorial, veurà que hi ha 406 00:22:16,990 --> 00:22:20,180 1 Meteor comandament crear a crear un nou projecte Meteor. 407 00:22:20,180 --> 00:22:24,510 Cal trucar a aquesta finalitat per executar projectes de meteors perquè 408 00:22:24,510 --> 00:22:27,470 executarà les ordres per crear el Meteor 409 00:22:27,470 --> 00:22:31,100 arxius necessaris per al seu projecte. 410 00:22:31,100 --> 00:22:35,920 >> Si entra a la terminal, podem entrar a la carpeta anomenada pas un. 411 00:22:35,920 --> 00:22:41,240 I el pas un correspon amb el primer pas en el tutorial. 412 00:22:41,240 --> 00:22:44,020 Avís En carpetes, pas un, el pas dos, tot el camí a cinc. 413 00:22:44,020 --> 00:22:47,835 I cada un es correspon a un pas d'aquest tutorial. 414 00:22:47,835 --> 00:22:50,960 415 00:22:50,960 --> 00:22:52,780 Vaig a obrir en el meu editor de text aquí 416 00:22:52,780 --> 00:22:56,280 pel que podem veure una mica del que va ser creat. 417 00:22:56,280 --> 00:22:58,530 Ens adonem que hi ha quatre parts principals. 418 00:22:58,530 --> 00:23:01,170 Hi ha un directori Meteor, .meteor. 419 00:23:01,170 --> 00:23:03,180 I que en general no cal tocar. 420 00:23:03,180 --> 00:23:05,070 Meteor s'encarrega de aquesta carpeta, i que només 421 00:23:05,070 --> 00:23:08,640 s'assegura que el seu projecte funcionarà correctament. 422 00:23:08,640 --> 00:23:14,580 >> També tenim tres arxius, un arxiu HTML, un arxiu de JavaScript, i un arxiu CSS. 423 00:23:14,580 --> 00:23:18,670 Primer començarem amb l'arxiu HTML. 424 00:23:18,670 --> 00:23:21,310 A primera vista, això sembla com un document HTML normal. 425 00:23:21,310 --> 00:23:23,490 Però noti que hi ha hi ha algunes diferències. 426 00:23:23,490 --> 00:23:26,520 Un d'ells, això no és en realitat un document HTML complet. 427 00:23:26,520 --> 00:23:28,640 Ens falten les etiquetes HTML. 428 00:23:28,640 --> 00:23:29,700 Això és normal. 429 00:23:29,700 --> 00:23:33,560 En Meteor, vostè no està esperaves per crear aquestes etiquetes HTML. 430 00:23:33,560 --> 00:23:35,260 Això està fet per a tu. 431 00:23:35,260 --> 00:23:38,380 Vostè vol begin-- si que vulgueu crear un lloc web, 432 00:23:38,380 --> 00:23:40,430 només ha de començar amb l'etiqueta del cap, 433 00:23:40,430 --> 00:23:43,510 definir això, i després definir el cos de l'etiqueta. 434 00:23:43,510 --> 00:23:48,940 >> Però si s'observa en aquest Arxiu HTML, tenim una nova etiqueta. 435 00:23:48,940 --> 00:23:50,350 Comptem amb l'etiqueta de plantilla. 436 00:23:50,350 --> 00:23:52,050 Això no és HTML normal. 437 00:23:52,050 --> 00:23:55,300 Aquesta és una versió especial d'HTML Meteor que posa a la seva disposició. 438 00:23:55,300 --> 00:23:57,660 Es diu bars espacials. 439 00:23:57,660 --> 00:24:00,980 Podeu definir plantilles com a poc mòduls, una mena de funcions d'ajuda, 440 00:24:00,980 --> 00:24:03,660 en el seu C o codi JavaScript. 441 00:24:03,660 --> 00:24:06,020 Aquesta plantilla ho faria tenir un nom anomenat tasca. 442 00:24:06,020 --> 00:24:10,520 I es pot veure a la dreta aquí en línia 13 que vostè pot trucar a aquestes plantilles. 443 00:24:10,520 --> 00:24:14,380 I el del meteorit va a fer és simplement omplir en aquestes tasques per a vostè. 444 00:24:14,380 --> 00:24:17,540 445 00:24:17,540 --> 00:24:22,580 >> Una altra cosa que pot observar és un poc diferent és això cada funció. 446 00:24:22,580 --> 00:24:26,130 Cadascun d'ells prengui la variable tasques i tipus d'anar a través d'ell 447 00:24:26,130 --> 00:24:28,810 en què bucle foreach va veure en l'exemple 7. 448 00:24:28,810 --> 00:24:34,200 Aquest cada un pot prendre un diccionari o una llista, un objecte o una llista, 449 00:24:34,200 --> 00:24:38,820 i només va a anar a través de tota la valors com un bucle foreach faria. 450 00:24:38,820 --> 00:24:44,110 Així que si tenim un munt de tasques, aquest cridarà a la plantilla en cada tasca. 451 00:24:44,110 --> 00:24:49,590 >> Anem a executar el projecte Meteor només per veure que això succeeix. 452 00:24:49,590 --> 00:24:53,260 Corro el projecte Meteor amb només Meteor Meteor o córrer. 453 00:24:53,260 --> 00:24:56,690 I ara Meteor només necessitarà per preparar ràpidament el projecte, 454 00:24:56,690 --> 00:25:03,320 iniciar la base de dades segons sigui necessari, i després enviar l'aplicació a nivell local. 455 00:25:03,320 --> 00:25:07,200 Podem anar al nostre navegador web ara. 456 00:25:07,200 --> 00:25:10,215 I veurem que tenir una aplicació molt simple. 457 00:25:10,215 --> 00:25:22,190 458 00:25:22,190 --> 00:25:29,130 Així que el que vam veure aparèixer va ser en realitat el pas un, l'arxiu de pas un. 459 00:25:29,130 --> 00:25:33,260 >> Anem a passar al segon pas només perquè Crec que servirà per al mateix propòsit. 460 00:25:33,260 --> 00:25:36,500 Jo només vaig a canviar al pas 2 directori 461 00:25:36,500 --> 00:25:39,550 i de nou córrer Meteor perquè puguem veure la plantilla que només funcionava amb. 462 00:25:39,550 --> 00:25:43,560 463 00:25:43,560 --> 00:25:45,730 Sí, una pregunta? 464 00:25:45,730 --> 00:25:49,724 >> AUDIÈNCIA: permís Si estem rebent negat, és que-- ho és tot 465 00:25:49,724 --> 00:25:50,390 anomenat per això? 466 00:25:50,390 --> 00:25:52,154 467 00:25:52,154 --> 00:25:54,070 ROGER ZURAWICKI: Si vostè està corrent carrera Meteor, 468 00:25:54,070 --> 00:25:57,280 i que té permís negat, alguns dels seus arxius 469 00:25:57,280 --> 00:25:59,070 pot ser que no tingui activat el permís adequat. 470 00:25:59,070 --> 00:26:03,970 Així que cal comprovar on els permisos estan apagats. 471 00:26:03,970 --> 00:26:06,030 Podrien ser apagat en el seu projecte Meteor, 472 00:26:06,030 --> 00:26:08,550 o podrien ser apagat en el Meteor propis arxius. 473 00:26:08,550 --> 00:26:13,742 >> AUDIÈNCIA: Si ho vaig descarregar fa un moment de la seva GitHub, llavors, què he de fer 474 00:26:13,742 --> 00:26:16,110 [Inaudible]? 475 00:26:16,110 --> 00:26:20,110 >> ROGER ZURAWICKI: Per per assegurar-se que pot accedir-hi, 476 00:26:20,110 --> 00:26:21,450 hi ha una ordre que es pot executar. 477 00:26:21,450 --> 00:26:26,590 Déjame entrar ràpidament escriure perquè altres persones puguin veure-ho. 478 00:26:26,590 --> 00:26:30,670 Vaig a obrir una nova pestanya aquí i entrar en la meva carpeta de seminari. 479 00:26:30,670 --> 00:26:33,500 480 00:26:33,500 --> 00:26:36,490 Chmod és la comanda canviar els permisos, 481 00:26:36,490 --> 00:26:40,060 i es pot dir r per fer-ho recursiva per a cada arxiu. 482 00:26:40,060 --> 00:26:46,040 I permisos, pot provar 0755 per assegurar-se que té accés ple, 483 00:26:46,040 --> 00:26:47,820 i tothom pot llegir. 484 00:26:47,820 --> 00:26:50,100 I si vostè acaba d'executar aquesta comanda, que farà 485 00:26:50,100 --> 00:26:55,800 que els permisos estan en control per a tot el directori. 486 00:26:55,800 --> 00:26:59,160 Córrer ls-l li pot mostrar la permisos en més detall. 487 00:26:59,160 --> 00:27:01,290 Això es veu bé. 488 00:27:01,290 --> 00:27:03,900 >> El més important és que té els tres 489 00:27:03,900 --> 00:27:06,610 rwx per a tots els arxius en directori de seminari. 490 00:27:06,610 --> 00:27:09,415 491 00:27:09,415 --> 00:27:11,330 Això soluciona el problema? 492 00:27:11,330 --> 00:27:13,735 >> AUDIÈNCIA: Diu que falta operant [inaudible]. 493 00:27:13,735 --> 00:27:17,980 494 00:27:17,980 --> 00:27:18,740 [Inaudible] 495 00:27:18,740 --> 00:27:20,490 ROGER ZURAWICKI: Vostè ha de assegurar-se que 496 00:27:20,490 --> 00:27:23,022 tenir un punt al final del seu mandat. 497 00:27:23,022 --> 00:27:23,938 AUDIÈNCIA: [inaudible]. 498 00:27:23,938 --> 00:27:36,395 499 00:27:36,395 --> 00:27:37,520 ROGER ZURAWICKI: D'acord. 500 00:27:37,520 --> 00:27:42,220 Anem ràpidament a la host local, l'aplicació que tenim. 501 00:27:42,220 --> 00:27:46,640 I veurà que tenim una algunes tasques aquí, com s'esperava. 502 00:27:46,640 --> 00:27:49,330 503 00:27:49,330 --> 00:27:51,990 Tenim un munt de CSS, que vostè no ha de preocupar. 504 00:27:51,990 --> 00:27:53,740 El tutorial Meteor només dóna això a vostè 505 00:27:53,740 --> 00:27:58,010 per fer la seva llista de tasques mirada una poc més bonic que l'HTML pla. 506 00:27:58,010 --> 00:28:02,290 I tenim l'arxiu de JavaScript, que Vaig a entrar en més detall una mica més endavant, 507 00:28:02,290 --> 00:28:04,272 però només ofereix aquestes tasques. 508 00:28:04,272 --> 00:28:04,980 Aquesta és una tasca. 509 00:28:04,980 --> 00:28:05,740 Això és tasca de dos. 510 00:28:05,740 --> 00:28:06,590 Aquesta tasca és tres. 511 00:28:06,590 --> 00:28:09,720 Així que aquest és la dada Meteor d'aconseguir. 512 00:28:09,720 --> 00:28:15,590 >> Una de les coses interessants sobre Meteor és que els canvis poden succeir automàticament. 513 00:28:15,590 --> 00:28:18,990 Si volgués canviar la nom de la primera tasca, 514 00:28:18,990 --> 00:28:22,490 pel que diuen que això no és tasca un, i jo la salvo a ella 515 00:28:22,490 --> 00:28:26,370 llavors, quan vaig a la web navegador, pot actualitzar-lo, 516 00:28:26,370 --> 00:28:30,861 i diu de forma automàtica això no és tasca un. 517 00:28:30,861 --> 00:28:32,860 Vostè pot fer el mateix en qualsevol d'aquests arxius. 518 00:28:32,860 --> 00:28:37,940 Fer un canvi, en lloc de fer llista, tindré al meu per fer la llista. 519 00:28:37,940 --> 00:28:40,980 >> I una cosa que t'acabo de donar compte, que jo ni tan sols he de refrescar. 520 00:28:40,980 --> 00:28:43,960 La idea d'refrescant és una espècie de resoldre per a vostè amb Meteor. 521 00:28:43,960 --> 00:28:48,970 Cada vegada que detecta els canvis en els arxius, que carregarà els canvis per a vostè. 522 00:28:48,970 --> 00:28:53,110 Això funciona en tots els arxius, ja sigui és HTML, CSS, JavaScript o. 523 00:28:53,110 --> 00:28:57,990 Per mostrar el que aquesta aplicació es veuria com sense CSS, puc treure tot. 524 00:28:57,990 --> 00:29:04,720 I quan es torna a carregar, ara té una no tan agradable d'aspecte per fer la llista. 525 00:29:04,720 --> 00:29:06,370 Posem que el contingut de nou. 526 00:29:06,370 --> 00:29:11,343 I segurament prou, refresca, i el nostre CSS està de tornada. 527 00:29:11,343 --> 00:29:11,843 Gran. 528 00:29:11,843 --> 00:29:15,700 529 00:29:15,700 --> 00:29:20,010 >> Ara podem seguir endavant amb el tutorial. 530 00:29:20,010 --> 00:29:23,360 Anem a parlar de la segona etapa, les plantilles. 531 00:29:23,360 --> 00:29:27,140 Això és el que acabem de veure amb les diferents tasques. 532 00:29:27,140 --> 00:29:31,550 Meteor li explicarà a vostè què plantilles i com aquesta lògica funciona. 533 00:29:31,550 --> 00:29:34,760 Però anem a veure en el codi per veure si podem tenir sentit fora d'ell. 534 00:29:34,760 --> 00:29:38,030 535 00:29:38,030 --> 00:29:41,460 >> En aplicacions molt simples, com el que tenim a la senzilla 536 00:29:41,460 --> 00:29:44,550 fer, pas un, pas 2, pas 3, el quart pas, el pas 5, 537 00:29:44,550 --> 00:29:45,700 no tenim cap carpeta. 538 00:29:45,700 --> 00:29:47,533 No tenim el servidor carpeta que he esmentat. 539 00:29:47,533 --> 00:29:50,510 No tenim el client carpeta que s'ha esmentat. 540 00:29:50,510 --> 00:29:52,290 Així Meteor s'executarà tots els arxius. 541 00:29:52,290 --> 00:29:55,210 Va dirigit tant sobre la client, tant en el servidor. 542 00:29:55,210 --> 00:29:58,840 >> I si vols parts del teu Javascript codi s'executi només en el client, 543 00:29:58,840 --> 00:30:02,350 que necessiten per assegurar-se que vostè té una sentència if, una cosa així com el que 544 00:30:02,350 --> 00:30:04,890 tenim al nostre arxiu JavaScript aquí. 545 00:30:04,890 --> 00:30:08,010 Així Meteor, només si és el client, llavors jo 546 00:30:08,010 --> 00:30:12,355 voler definir una plantilla ajuda anomenats tasques. 547 00:30:12,355 --> 00:30:15,050 548 00:30:15,050 --> 00:30:19,260 El que aquest codi realment fa és que diu que hi ha 549 00:30:19,260 --> 00:30:21,800 una plantilla d'objecte anomenat Meteor que ofereix. 550 00:30:21,800 --> 00:30:23,270 I anem a afegir un ajudant. 551 00:30:23,270 --> 00:30:27,680 Els ajudants són aquestes tasques, aquestes coses com les tasques. 552 00:30:27,680 --> 00:30:33,890 >> Vas a veure que si ens remuntem a la Arxiu HTML, es diu cada un en les tasques. 553 00:30:33,890 --> 00:30:35,750 Les tasques no es defineix en el codi HTML. 554 00:30:35,750 --> 00:30:37,770 Es defineix en el codi JavaScript. 555 00:30:37,770 --> 00:30:42,610 I Meteor necessita saber quines tasques és quan entrem en el codi JavaScript escrit aquí. 556 00:30:42,610 --> 00:30:45,550 Tasques és aquest helper. 557 00:30:45,550 --> 00:30:49,830 Defensor, perquè es pugui imaginar com una variable de plantilla. 558 00:30:49,830 --> 00:30:51,000 I quines tasques fer? 559 00:30:51,000 --> 00:30:53,580 Bé, retorna la llista de valors. 560 00:30:53,580 --> 00:30:56,750 Com que és una llista, podem trucar a cada un en el mateix. 561 00:30:56,750 --> 00:30:58,590 Així que per això ens diem a les tasques. 562 00:30:58,590 --> 00:30:59,730 I ara tenim la tasca. 563 00:30:59,730 --> 00:31:02,850 564 00:31:02,850 --> 00:31:03,990 >> Què fa la tasca? 565 00:31:03,990 --> 00:31:07,740 Bé, té aquesta fletxa aquí després de les claus. 566 00:31:07,740 --> 00:31:09,130 Això vol dir que la tasca és una plantilla. 567 00:31:09,130 --> 00:31:11,100 No és un ajudant, semblant al que acabem de veure. 568 00:31:11,100 --> 00:31:12,872 És una plantilla que hem definit. 569 00:31:12,872 --> 00:31:14,080 I on hem definit? 570 00:31:14,080 --> 00:31:16,950 Hem definit per sota d'aquí. 571 00:31:16,950 --> 00:31:21,160 >> Tota aquesta plantilla no és render un element de la llista, i es diu text. 572 00:31:21,160 --> 00:31:24,160 Ara, el text sembla ser una ajudant, però et vaig a mostrar 573 00:31:24,160 --> 00:31:26,610 que això és en realitat encara un membre de dades de tasques. 574 00:31:26,610 --> 00:31:29,230 575 00:31:29,230 --> 00:31:33,670 Quan es diu a cada un, que entri en l'estructura de dades una mica. 576 00:31:33,670 --> 00:31:39,130 Igual que el bucle foreach, ara només es veu en el primer element en el nostre objecte. 577 00:31:39,130 --> 00:31:41,850 Veiem que el text és definit aquí al nostre objecte. 578 00:31:41,850 --> 00:31:45,350 Així Meteor és intel·ligent per saber que estem parlant d'aquest text, 579 00:31:45,350 --> 00:31:47,630 no l'ajudant anomenat text. 580 00:31:47,630 --> 00:31:52,120 Simplement es posa el valor d'aquest text aquí i el mostra com HTML, 581 00:31:52,120 --> 00:31:55,475 i així és com van les dades del Javascript per l'HTML. 582 00:31:55,475 --> 00:32:03,320 583 00:32:03,320 --> 00:32:07,030 >> Passant això, en aquest exemple que no modificable aquests valors. 584 00:32:07,030 --> 00:32:10,440 Meteor fa dos realment coses bones per a nosaltres. 585 00:32:10,440 --> 00:32:15,050 A més de l'actualització en viu que ens va mostrar, també gestiona la base de dades. 586 00:32:15,050 --> 00:32:18,750 Si haguessis de treballar amb PHP, calia configurar phpMyAdmin. 587 00:32:18,750 --> 00:32:21,320 Calia assegurar-se que el seu taules estaven sota control. 588 00:32:21,320 --> 00:32:24,760 Calia fer un munt de treball per fer que les seves dades s'ha formatat correctament, 589 00:32:24,760 --> 00:32:27,880 i PHP podia comunicar-se amb ella. 590 00:32:27,880 --> 00:32:30,170 >> Ara, Meteor utilitza un nou paradigma. 591 00:32:30,170 --> 00:32:32,310 Aquesta és una forma més moderna de manejar una base de dades. 592 00:32:32,310 --> 00:32:34,580 És una tecnologia anomenada MongoDB. 593 00:32:34,580 --> 00:32:38,740 Igual que en JavaScript, vam veure que tant i fa tipus tenien les dades. 594 00:32:38,740 --> 00:32:39,640 Tot era una var. 595 00:32:39,640 --> 00:32:40,570 No era una charstar. 596 00:32:40,570 --> 00:32:40,930 No va ser un int. 597 00:32:40,930 --> 00:32:41,970 No era una estructura. 598 00:32:41,970 --> 00:32:44,210 Era només var això, que var. 599 00:32:44,210 --> 00:32:46,320 >> MongoDB treballa tipus de la mateixa manera. 600 00:32:46,320 --> 00:32:48,160 No ha de definir les seves taules. 601 00:32:48,160 --> 00:32:50,860 No ha de dir una taula té un nom, que té un int. 602 00:32:50,860 --> 00:32:54,710 Té, no sé, 01:00 dòlar, que és un decimal. 603 00:32:54,710 --> 00:32:58,360 És només aquests objectes JavaScript, tots aquests vars, essencialment. 604 00:32:58,360 --> 00:33:02,780 I aquesta és una molt poderosa manera d'un prototip de la seva aplicació. 605 00:33:02,780 --> 00:33:06,190 I és per això Meteor s'aprofita d'això. 606 00:33:06,190 --> 00:33:11,080 >> Si passem a l'etapa 3, anem a veure el que ha canviat. 607 00:33:11,080 --> 00:33:15,480 Si ens fixem en el codi HTML tots, no gaire. 608 00:33:15,480 --> 00:33:17,170 CSS no ha canviat en absolut. 609 00:33:17,170 --> 00:33:22,420 Però el petit canvi que veiem en HTML és que hem canviat com es defineixen les tasques. 610 00:33:22,420 --> 00:33:23,800 Tasques és ara una funció. 611 00:33:23,800 --> 00:33:25,800 Això vol dir que cada temps volem arribar tasques, 612 00:33:25,800 --> 00:33:27,480 anem a executar aquesta funció. 613 00:33:27,480 --> 00:33:29,230 No torna la funció com un valor. 614 00:33:29,230 --> 00:33:33,710 >> Meteor és intel·ligent per executar realment el funció per veure el que anem a sortir. 615 00:33:33,710 --> 00:33:36,650 I torna aquesta cosa anomenada tasques. 616 00:33:36,650 --> 00:33:40,650 Hem definit les tasques en la línia un, i és una col·lecció de Mongo. 617 00:33:40,650 --> 00:33:43,170 Mongo es refereix a la base de dades utilitza Meteor, 618 00:33:43,170 --> 00:33:48,420 i aquest nou només significa que farem una nova col·lecció, en diuen tasques. 619 00:33:48,420 --> 00:33:53,540 En MySQL, això seria equivalent a a la recerca de les tasques de taula anomenat. 620 00:33:53,540 --> 00:33:56,350 Mongo té col·leccions, no taules. 621 00:33:56,350 --> 00:34:00,100 Així que això només es veu per a les tasques. 622 00:34:00,100 --> 00:34:04,820 >> Ara, en la nostra plantilla ajudant a la plantilla, tot 623 00:34:04,820 --> 00:34:08,380 que hem de fer per aconseguir tota la tasques es aquesta funció, troba 624 00:34:08,380 --> 00:34:11,710 i aquest cotilla buida. 625 00:34:11,710 --> 00:34:14,150 Això és més particular, a la sintaxi de Mongo. 626 00:34:14,150 --> 00:34:16,159 Hi ha un munt de documentació en línia de com 627 00:34:16,159 --> 00:34:19,360 vostè pot fer eficient i realment útil consultes Mongo. 628 00:34:19,360 --> 00:34:25,560 Però alguna cosa com això és bo suficient per a només trobar totes les dades. 629 00:34:25,560 --> 00:34:30,100 >> Ara, un dels problemes que pot veure és que mai ens sumem en realitat dades. 630 00:34:30,100 --> 00:34:35,020 Llavors, què passa quan realment executar el pas 3? 631 00:34:35,020 --> 00:34:37,550 Anem ràpidament a entrar en pas 3 i executar Meteor. 632 00:34:37,550 --> 00:34:42,870 633 00:34:42,870 --> 00:34:45,650 Tingueu en compte que jo tenia un altre Meteor projecte s'executa en un altre lloc, 634 00:34:45,650 --> 00:34:49,110 així Meteor no li agrada això. 635 00:34:49,110 --> 00:34:52,810 Jo només vaig a prop ràpidament a D'altra Meteor amb Control C, 636 00:34:52,810 --> 00:34:55,780 entrar en el pas 3, i de nou córrer Meteor. 637 00:34:55,780 --> 00:35:01,070 638 00:35:01,070 --> 00:35:03,180 Noteu que està començant MongoDB perquè MongoDB 639 00:35:03,180 --> 00:35:06,370 és una part de cada projecte Meteor. 640 00:35:06,370 --> 00:35:09,190 >> Pel que diu la meva aplicació té errors. 641 00:35:09,190 --> 00:35:10,590 Això és una bona característica Meteor té. 642 00:35:10,590 --> 00:35:13,700 S'assegura que la seva HTML és ben validat. 643 00:35:13,700 --> 00:35:17,710 Fem una ullada ràpida a per què això podria ser. 644 00:35:17,710 --> 00:35:26,110 Sembla que tinc accidentalment copiar el codi HTML malament. 645 00:35:26,110 --> 00:35:30,610 Si excepte ara, Meteor tornar a arrencar automàticament el servidor, 646 00:35:30,610 --> 00:35:34,650 i ara l'aplicació s'està executant segons que s'esperava. 647 00:35:34,650 --> 00:35:39,220 Avís a arreglar això, pot simplement executar el mateix arxiu HTML des del pas 2, 648 00:35:39,220 --> 00:35:40,380 copiar-lo en el pas 3. 649 00:35:40,380 --> 00:35:43,290 650 00:35:43,290 --> 00:35:45,917 >> Podem tornar al nostre host local. 651 00:35:45,917 --> 00:35:47,500 I ara veiem que tenim la nostra llista de tasques pendents. 652 00:35:47,500 --> 00:35:50,070 Molt bé, però està buit. 653 00:35:50,070 --> 00:35:54,210 En realitat no tenim cap tasques a la nostra base de dades Mongo. 654 00:35:54,210 --> 00:35:57,930 Així que anem a parlar d'un poques formes en que poden fer-ho. 655 00:35:57,930 --> 00:36:03,240 Si ens remuntem a la terminal, que pot tancar i executar Meteor Mongo. 656 00:36:03,240 --> 00:36:05,320 >> Si està familiaritzat amb el funcionament de Meteor, 657 00:36:05,320 --> 00:36:14,100 això en realitat li dóna accés a MongoDB complet per Meteor. 658 00:36:14,100 --> 00:36:17,570 Tingueu en compte que vostè ha d'estar en execució Meteor primer perquè això funcioni. 659 00:36:17,570 --> 00:36:23,840 Així que si executo això en una nova pestanya, em pot tornar al mateix directori. 660 00:36:23,840 --> 00:36:29,040 661 00:36:29,040 --> 00:36:32,570 I ara Meteor funciona bé. 662 00:36:32,570 --> 00:36:33,600 Aquest és un requisit. 663 00:36:33,600 --> 00:36:36,350 664 00:36:36,350 --> 00:36:38,790 Permetin-me deixar una mica més gran pel que podem veure. 665 00:36:38,790 --> 00:36:41,550 Això sembla una mica diferent que el que podria ser utilitzat a vostè 666 00:36:41,550 --> 00:36:42,869 realment no necessiti utilitzar Mongo. 667 00:36:42,869 --> 00:36:45,410 El punt sencer de mi aquí és de manera que vostè pot utilitzar JavaScript. 668 00:36:45,410 --> 00:36:48,250 Però si vostè és curiós, l'API no Mongo 669 00:36:48,250 --> 00:36:50,730 utilitzar SQL, Structured Query Language. 670 00:36:50,730 --> 00:36:55,570 Utilitza el seu propi llenguatge que s'assembla molt a JavaScript. 671 00:36:55,570 --> 00:37:00,520 Molt ràpidament, podem trobar la taula a través de db.tasks. 672 00:37:00,520 --> 00:37:08,940 I m'està dient Resulta que si correm trobar, 673 00:37:08,940 --> 00:37:13,450 una mica similar al que teníem amb Meteor, podem carregar tots els elements. 674 00:37:13,450 --> 00:37:17,330 El problema és que no ho fem en realitat tenen les tasques definides. 675 00:37:17,330 --> 00:37:20,600 Així que no pot obtenir-los. 676 00:37:20,600 --> 00:37:22,130 >> Podem inserir, però. 677 00:37:22,130 --> 00:37:25,170 Així que podem executar inserit amb inserció d'ordres. 678 00:37:25,170 --> 00:37:29,140 I acabem de donar-li un objecte, i que només 679 00:37:29,140 --> 00:37:31,840 assegureu-vos que el format és el que esperem. 680 00:37:31,840 --> 00:37:35,030 Si ens fixem en el pas dos, vam veure que totes les tasques 681 00:37:35,030 --> 00:37:39,590 era un objecte amb un text com la clau i el 682 00:37:39,590 --> 00:37:41,640 el seu article a fer era com una variable. 683 00:37:41,640 --> 00:37:44,680 Pel que podem fer alguna cosa aquí. 684 00:37:44,680 --> 00:37:50,160 >> Podem haver de inserir una tasca Vaig trucar Vinc de Mongo. 685 00:37:50,160 --> 00:37:52,570 I premem Intro i s'executa. 686 00:37:52,570 --> 00:37:56,900 Podem córrer trobar de nou, i ens veure que hi ha un objecte aquí. 687 00:37:56,900 --> 00:38:01,810 Mongo li assigna una ID, que vostè realment no necessita preocupar-se. 688 00:38:01,810 --> 00:38:06,690 El que és important per a vostè són les dades s'introdueixi, són les dades que surti. 689 00:38:06,690 --> 00:38:10,500 >> Tornem al nostre lloc web, i bé, la nostra tasca carregat. 690 00:38:10,500 --> 00:38:13,987 I es pot veure que perquè Meteor és molt intel·ligent 691 00:38:13,987 --> 00:38:16,570 i sempre refresca per a tu, jo no ha de tocar la pàgina. 692 00:38:16,570 --> 00:38:19,160 Es carregarà automàticament. 693 00:38:19,160 --> 00:38:23,520 >> Anem a executar algun codi en JavaScript encara fer això. 694 00:38:23,520 --> 00:38:26,120 Com tenim Node a l'esquena acabar per executar JavaScript terme, 695 00:38:26,120 --> 00:38:29,280 també podem executar JavaScript directament en els nostres navegadors. 696 00:38:29,280 --> 00:38:31,970 Vostè pot fer això per una característica anomenat Inspeccionar Element. 697 00:38:31,970 --> 00:38:34,210 Si faig clic dret sobre una secció de la pàgina, 698 00:38:34,210 --> 00:38:36,730 hi ha una opció anomenat Inspeccionar Element. 699 00:38:36,730 --> 00:38:38,840 Si vostè està funcionant un navegador com Safari, 700 00:38:38,840 --> 00:38:45,430 pot necessitar perquè la seva desenvolupador eines abans d'arribar aquesta funció. 701 00:38:45,430 --> 00:38:46,930 >> El que ens importa és la consola. 702 00:38:46,930 --> 00:38:48,930 Així que anirem a la consola a la part inferior. 703 00:38:48,930 --> 00:38:52,110 704 00:38:52,110 --> 00:38:55,970 Ara podem executar qualsevol Javascript aquí, igual que el codi JavaScript 705 00:38:55,970 --> 00:38:58,860 arxius que van mostrar en l'exemple js. 706 00:38:58,860 --> 00:39:02,040 Però ara veiem tasques. 707 00:39:02,040 --> 00:39:04,955 Podem funcionar el nostre comandament. 708 00:39:04,955 --> 00:39:07,830 I espero que seré capaç de fer és una mica més gran perquè puguem veure tot. 709 00:39:07,830 --> 00:39:14,390 710 00:39:14,390 --> 00:39:18,450 >> Si correm tasks.find, i vostè veure que aquest és el mateix codi exacte 711 00:39:18,450 --> 00:39:24,840 que utilitza l'arxiu JavaScript en el pas 3, aquest task.find. 712 00:39:24,840 --> 00:39:29,100 Podem córrer la mateixa cosa, i ara tenim algunes coses rares. 713 00:39:29,100 --> 00:39:31,050 Com aconseguim realment les dades? 714 00:39:31,050 --> 00:39:34,860 Bé, hem d'executar aquest comandament anomenat obtenció d'informació. 715 00:39:34,860 --> 00:39:37,150 >> Això és molt útil per a la depuració. 716 00:39:37,150 --> 00:39:41,000 El que s'obté aquí és un cursor, i això és 717 00:39:41,000 --> 00:39:44,890 una manera agradable Meteor té de captació de dades optimitzats. 718 00:39:44,890 --> 00:39:48,270 Aquest cursor té totes les característiques per actualització en viu i actualitzar la pàgina 719 00:39:48,270 --> 00:39:49,650 quan alguna cosa ha canviat. 720 00:39:49,650 --> 00:39:51,280 Però no ens va a obtenir les dades. 721 00:39:51,280 --> 00:39:52,720 Podem obtenir les dades a través d'obtenció d'informació. 722 00:39:52,720 --> 00:39:56,880 I veus que tenim un objecte, i és com el que teníem a Mongo, 723 00:39:56,880 --> 00:40:00,040 amb un ID i el text que posem en. 724 00:40:00,040 --> 00:40:04,200 >> Llavors, com inserir un element en Meteor? 725 00:40:04,200 --> 00:40:07,250 Bé, només tenim tasques. 726 00:40:07,250 --> 00:40:09,990 I després podem executar el mateix ordre d'inserció, 727 00:40:09,990 --> 00:40:17,520 donant un diccionari o un objecte amb el mateix format, text 728 00:40:17,520 --> 00:40:22,340 i llavors jo vinc de la consola. 729 00:40:22,340 --> 00:40:27,240 Fes un cop d'ull per sobre, perquè quan jo fer això, es mostra a la pàgina web 730 00:40:27,240 --> 00:40:29,660 automàticament. 731 00:40:29,660 --> 00:40:33,291 >> Tingueu present que podeu posar qualsevol cosa que vol en aquests articles. 732 00:40:33,291 --> 00:40:35,040 No té per què tenir una estructura fixa. 733 00:40:35,040 --> 00:40:39,790 Que podria tenir una igual a la nombre tres i b igual a fals. 734 00:40:39,790 --> 00:40:41,600 I totes les obres. 735 00:40:41,600 --> 00:40:46,000 Fins i tot puc triar no incloure un text en absolut. 736 00:40:46,000 --> 00:40:48,320 Això simplement no és recomanable però perquè llavors Meteor 737 00:40:48,320 --> 00:40:50,920 no saber el que es vegi. 738 00:40:50,920 --> 00:40:53,110 Però en cada cas, obtenir una identificació, i això és 739 00:40:53,110 --> 00:40:54,785 l'ID de l'objecte que pot utilitzar. 740 00:40:54,785 --> 00:41:01,120 741 00:41:01,120 --> 00:41:03,280 >> A mesura que continuem amb pas quatre i pas 5, 742 00:41:03,280 --> 00:41:06,870 el tutorial us mostrarà maneres que pot crear elements d'interfície d'usuari utilitzant 743 00:41:06,870 --> 00:41:13,130 l'HTML que saps crear diferents tasques. 744 00:41:13,130 --> 00:41:15,440 Vegem pas quatre molt ràpid. 745 00:41:15,440 --> 00:41:18,290 Veurem que hem afegit una secció sobre els esdeveniments. 746 00:41:18,290 --> 00:41:20,874 Les plantilles poden tenir ajudants, que ens reben dades. 747 00:41:20,874 --> 00:41:22,040 Però també pot trucar a esdeveniments. 748 00:41:22,040 --> 00:41:25,300 I aquí és on les coses es torna útil, perquè els esdeveniments 749 00:41:25,300 --> 00:41:28,590 són el que succeirà quan es fa clic a diferents coses al seu lloc web. 750 00:41:28,590 --> 00:41:33,790 >> Aquí, el nostre codi està dient ens sumem a aquest esdeveniment. 751 00:41:33,790 --> 00:41:38,860 Afegeix-quan hagis enviat alguna cosa amb la nova tasca de classe. 752 00:41:38,860 --> 00:41:41,910 El que tenim aquí és un selector CSS. 753 00:41:41,910 --> 00:41:45,870 Així que això només es veu un HTML element que té la tasca nova classe. 754 00:41:45,870 --> 00:41:47,940 I es veu per a l'esdeveniment, igual que presentar. 755 00:41:47,940 --> 00:41:51,050 Altres esdeveniments inclouen clic, vol estacionari, doble clic, 756 00:41:51,050 --> 00:41:54,450 similar al que s'obté en HTML normal. 757 00:41:54,450 --> 00:41:56,770 >> El que dónes aquí és ara una funció. 758 00:41:56,770 --> 00:42:01,210 I vostè pot tenir el seu codi en aquesta funció. 759 00:42:01,210 --> 00:42:06,360 Aquesta funció és el que acaba rebent vas cridar al moment d'enviar aquesta nova tasca. 760 00:42:06,360 --> 00:42:12,170 Vegem l'HTML s'utilitza per assegurar entendre el que aquesta nova tasca. 761 00:42:12,170 --> 00:42:15,570 Hem afegit un formulari aquí amb classe nova tasca. 762 00:42:15,570 --> 00:42:19,880 I té una entrada que porta text. 763 00:42:19,880 --> 00:42:22,605 I aquí és on estem afegirà nostres noves tasques. 764 00:42:22,605 --> 00:42:25,520 765 00:42:25,520 --> 00:42:29,780 >> Anem a executar el pas quatre a la lloc web per veure el que sembla. 766 00:42:29,780 --> 00:42:32,710 Podem deixar de primer en sortir del MongoDB teníem 767 00:42:32,710 --> 00:42:35,300 del nostre anterior exemple amb Control C. 768 00:42:35,300 --> 00:42:37,690 I anem a canviar en el pas 4 directori. 769 00:42:37,690 --> 00:42:41,000 770 00:42:41,000 --> 00:42:42,920 Correrem Meteor nou per iniciar el servidor. 771 00:42:42,920 --> 00:42:46,850 772 00:42:46,850 --> 00:42:50,510 I, per desgràcia, vaig tenir Meteor s'executi en un altre terminal. 773 00:42:50,510 --> 00:42:53,080 Així que només vaig a assegurar-se que aquest tancat. 774 00:42:53,080 --> 00:43:01,805 Deixem d'això i canvi a la quarta part, el pas 4. 775 00:43:01,805 --> 00:43:02,305 D'acord. 776 00:43:02,305 --> 00:43:11,220 777 00:43:11,220 --> 00:43:13,250 >> Ara el nostre codi Meteor està executant. 778 00:43:13,250 --> 00:43:19,480 I es pot veure que s'actualitza, sense nosaltres ni tan sols haver d'actualitzar la pàgina. 779 00:43:19,480 --> 00:43:24,410 El que ha canviat aquí és ara que no tenim cap tasca, 780 00:43:24,410 --> 00:43:29,530 però tenim una forma aquí, aquesta quadre de text, per afegir les nostres noves tasques. 781 00:43:29,530 --> 00:43:31,550 I podem escriure la nostra tasca aquí. 782 00:43:31,550 --> 00:43:34,564 Vinc de la pàgina HTML. 783 00:43:34,564 --> 00:43:36,105 En prémer Intro, es va quedar sotmès. 784 00:43:36,105 --> 00:43:39,180 785 00:43:39,180 --> 00:43:44,540 >> Podem veure el que va passar com definits pel codi JavaScript. 786 00:43:44,540 --> 00:43:49,930 El que va fer va ser aquesta funció prendre el text de la forma, 787 00:43:49,930 --> 00:43:53,680 i després simplement anomenat tasks.insert, com ho vam fer a la consola. 788 00:43:53,680 --> 00:43:56,410 També van optar per afegir una data createdAt. 789 00:43:56,410 --> 00:43:59,840 Aquesta és la forma en què ho faria especificar l'hora actual. 790 00:43:59,840 --> 00:44:03,220 Després d'això, s'aclareix la forma fent Assegureu-vos que el valor és una cadena buida. 791 00:44:03,220 --> 00:44:06,550 >> I llavors es diu return false per assegureu-vos que no passa res més. 792 00:44:06,550 --> 00:44:10,350 Quan torna fals d'un esdeveniment de formulari, que deté l'execució. 793 00:44:10,350 --> 00:44:14,520 Digui una forma té una acció, com sotmetre a una pàgina PHP. 794 00:44:14,520 --> 00:44:16,980 Si no haguessis tornat falsa, et tornes cert. 795 00:44:16,980 --> 00:44:18,500 Seria acabar fent aquesta sol·licitud. 796 00:44:18,500 --> 00:44:20,590 Falsos intercepta i s'atura allà mateix. 797 00:44:20,590 --> 00:44:23,510 798 00:44:23,510 --> 00:44:28,610 >> Així que va ser una petita demostració sobre com funciona Meteor, i hem 799 00:44:28,610 --> 00:44:30,980 estat seguint el tutorial per un temps. 800 00:44:30,980 --> 00:44:33,560 I vostè pot sentir si us plau lliure per seguir fent això. 801 00:44:33,560 --> 00:44:37,760 Hi ha un munt de recursos, i el tutorial és en realitat 802 00:44:37,760 --> 00:44:40,400 molt bo per explicar-m'ho què està passant. 803 00:44:40,400 --> 00:44:44,362 Jo vull mostrar ara, en els pocs minuts que ens queden, 804 00:44:44,362 --> 00:44:46,320 ¿Quins són alguns dels característiques més fresques del Meteor, 805 00:44:46,320 --> 00:44:48,772 i quins són alguns dels paquets més útils. 806 00:44:48,772 --> 00:44:51,730 Una de les millors coses de Meteor és que té un sistema de paquets. 807 00:44:51,730 --> 00:44:55,620 Vostè pot incorporar fàcilment el codi que molts milers de desenvolupadors 808 00:44:55,620 --> 00:44:58,840 han escrit a tot el món en el seu projecte Meteor. 809 00:44:58,840 --> 00:45:02,410 Un exemple d'això és el que podria fer en el pas nou de la guia d'aprenentatge, on 810 00:45:02,410 --> 00:45:07,435 vostè està tractant d'afegir comptes al seu projecte Meteor. 811 00:45:07,435 --> 00:45:10,010 812 00:45:10,010 --> 00:45:13,690 Si tenim un PHP CS50 projecte, tindríem 813 00:45:13,690 --> 00:45:17,810 confiar en el marc o el nostre propi codi per fer 814 00:45:17,810 --> 00:45:20,820 segur que amb seguretat servir contrasenyes i noms d'usuari 815 00:45:20,820 --> 00:45:23,120 i emmagatzemar la base de dades i tot això. 816 00:45:23,120 --> 00:45:25,670 >> Resulta Meteor té alguna paquets que es poden fer això per a vostè, 817 00:45:25,670 --> 00:45:29,160 i fer-ho molt fàcilment. 818 00:45:29,160 --> 00:45:31,950 El que podem fer és afegir alguns paquets. 819 00:45:31,950 --> 00:45:37,450 Així que farem aquest dret ara en la nostra consola. 820 00:45:37,450 --> 00:45:42,460 Vaig a deixar el projecte i ara anar a simple tots. 821 00:45:42,460 --> 00:45:47,450 822 00:45:47,450 --> 00:45:50,050 Ara, simple-Tots és el projecte que 823 00:45:50,050 --> 00:45:53,500 tindrà després d'haver estat fet amb el pas 11 o el pas 12, 824 00:45:53,500 --> 00:45:55,250 al final d'aquest tutorial. 825 00:45:55,250 --> 00:45:58,642 I anem a veure ràpidament a ell per veure ¿Quines són les diferents característiques que tenim. 826 00:45:58,642 --> 00:46:01,610 Anem a assegurar-nos que s'està executant. 827 00:46:01,610 --> 00:46:04,400 De vegades es necessita un temps per refrescar, però aquí està. 828 00:46:04,400 --> 00:46:09,710 >> Tenim la nostra opció per ocultar completar tasques, i podem accedir. 829 00:46:09,710 --> 00:46:11,770 I això es va fer amb el paquet Meteor. 830 00:46:11,770 --> 00:46:12,270 És genial. 831 00:46:12,270 --> 00:46:14,910 Ara hem username i el signe de la contrasenya en. 832 00:46:14,910 --> 00:46:19,170 Però el que si volíem afegir un altre tipus de mecanisme d'inici de sessió? 833 00:46:19,170 --> 00:46:22,560 Diguem que volia iniciar sessió amb el meu compte de Meteor. 834 00:46:22,560 --> 00:46:27,270 Vaig a córrer meteor complement, i això és la sintaxi per afegir paquets. 835 00:46:27,270 --> 00:46:32,160 Puc dir comptes i accounts.meteor. 836 00:46:32,160 --> 00:46:35,720 Es va a trobar ara el paquet i el carregarà. 837 00:46:35,720 --> 00:46:40,480 Es pot veure que jo no tinc trobat el nom del paquet dreta. 838 00:46:40,480 --> 00:46:42,820 >> Llavors, com vas saber de paquets? 839 00:46:42,820 --> 00:46:46,380 Bé, hi ha un gran lloc web, fet disponible pel poble de meteors, 840 00:46:46,380 --> 00:46:47,780 anomenat atmospherejs.com. 841 00:46:47,780 --> 00:46:52,520 Atmospherejs, una paraula, punt com, és un gran repositori 842 00:46:52,520 --> 00:46:57,660 per trobar tota la Meteor paquets al repositori. 843 00:46:57,660 --> 00:47:05,140 Puc buscar comptes, i després em vaig a mostrar tot el material pertinent, 844 00:47:05,140 --> 00:47:07,320 tots els envasos, el nom del compte. 845 00:47:07,320 --> 00:47:10,180 846 00:47:10,180 --> 00:47:13,270 >> Mentre que carrega, podem intentar l'addició d'alguns altres paquets. 847 00:47:13,270 --> 00:47:19,380 Potser el paquet Meteor no està funcionant en aquest moment, però puc afegir Facebook. 848 00:47:19,380 --> 00:47:22,860 849 00:47:22,860 --> 00:47:27,190 Puc afegir el compte i després executar el projecte Meteor nou. 850 00:47:27,190 --> 00:47:33,260 851 00:47:33,260 --> 00:47:36,900 Quan això comença, anem a veure ¿Què ha canviat en el lloc web. 852 00:47:36,900 --> 00:47:40,010 853 00:47:40,010 --> 00:47:44,580 Pot veure-- jo podria hagi de actualitzar aquí. 854 00:47:44,580 --> 00:47:47,320 >> Tinc un botó per configurar Facebook login. 855 00:47:47,320 --> 00:47:49,765 I aquí, tinc tot les instruccions de meteors 856 00:47:49,765 --> 00:47:52,960 ha preparat per a vostè per la creació d'una aplicació de Facebook. 857 00:47:52,960 --> 00:47:58,990 I vostè pot utilitzar aquest informació per afegir les seves identificacions. 858 00:47:58,990 --> 00:48:04,130 Un cop fet això, hauràs Facebook login treballar en la seva aplicació. 859 00:48:04,130 --> 00:48:08,559 >> Jo només vaig a aconseguir un ID d'aplicació i un secret, 860 00:48:08,559 --> 00:48:10,100 només per mostrar com podria funcionar això. 861 00:48:10,100 --> 00:48:16,000 862 00:48:16,000 --> 00:48:20,360 Vostè necessitarà un compte de Facebook utilitzar Facebook Desenvolupador. 863 00:48:20,360 --> 00:48:31,160 864 00:48:31,160 --> 00:48:35,290 Em van deixar de trobar ràpidament la Claus de meteors que són necessàries. 865 00:48:35,290 --> 00:48:46,994 866 00:48:46,994 --> 00:48:49,160 Tinc un altre projecte Meteor que vaig a utilitzar, 867 00:48:49,160 --> 00:48:55,590 i jo només vaig a prendre les claus d'aquest arxiu. 868 00:48:55,590 --> 00:49:14,410 869 00:49:14,410 --> 00:49:20,930 >> I una vegada que em trobo, jo només podré copiar aquestes claus en el meu Facebook. 870 00:49:20,930 --> 00:49:23,489 Així que aquí està la clau. 871 00:49:23,489 --> 00:49:24,280 I això és secret. 872 00:49:24,280 --> 00:49:26,071 Vostè no ha de ser compartir això amb la gent. 873 00:49:26,071 --> 00:49:28,870 874 00:49:28,870 --> 00:49:30,910 I després li dónes la teva aplicació secret. 875 00:49:30,910 --> 00:49:33,560 I això és tan Facebook sap que vostè és vostè. 876 00:49:33,560 --> 00:49:37,630 877 00:49:37,630 --> 00:49:39,080 I guardar la configuració. 878 00:49:39,080 --> 00:49:45,160 879 00:49:45,160 --> 00:49:48,640 >> Crec que en el procés de R han deixat de la meva aplicació Meteor. 880 00:49:48,640 --> 00:49:52,290 Així que només vull fer Segur que segueix allà. 881 00:49:52,290 --> 00:49:54,962 882 00:49:54,962 --> 00:49:58,610 OK, anem a fer de nostre servidor Meteor s'executa de manera que la pàgina web s'està executant. 883 00:49:58,610 --> 00:50:02,440 Observi si deixem el Meteor servidor, la pàgina segueix aquí. 884 00:50:02,440 --> 00:50:04,700 Simplement no s'actualitzarà més. 885 00:50:04,700 --> 00:50:10,290 El servidor Meteor és necessari per assegurar-se que la pàgina és en viu. 886 00:50:10,290 --> 00:50:14,050 >> OK, jo he presentat, i ara Puc iniciar sessió amb Facebook. 887 00:50:14,050 --> 00:50:17,400 Ara és només una qüestió de tenir un pop Facebook fins 888 00:50:17,400 --> 00:50:21,710 i posant en el seu compte informació i registre a. 889 00:50:21,710 --> 00:50:24,520 890 00:50:24,520 --> 00:50:27,930 Un cop fet això, Facebook podria et donen la llauna per a alguns més seguretat. 891 00:50:27,930 --> 00:50:29,810 Així que només haurem de parar allà. 892 00:50:29,810 --> 00:50:34,110 El punt és que quan hagi acabat amb això, tindràs Facebook login. 893 00:50:34,110 --> 00:50:37,850 >> Meteor té un munt de altres paquets també. 894 00:50:37,850 --> 00:50:39,200 Podeu entrar amb Google+. 895 00:50:39,200 --> 00:50:40,500 Podeu entrar amb GitHub. 896 00:50:40,500 --> 00:50:42,170 Podeu entrar amb Twitter. 897 00:50:42,170 --> 00:50:44,870 O si vostè busca, vostè trobar un munt d'altres coses 898 00:50:44,870 --> 00:50:49,170 com Meetup, LinkedIn, i Meteor desenvolupador. 899 00:50:49,170 --> 00:50:53,100 Així Meteor va ser el desenvolupador paquet que estava buscant. 900 00:50:53,100 --> 00:50:56,170 meteor afegir comptes-meteor-desenvolupador. 901 00:50:56,170 --> 00:51:06,192 902 00:51:06,192 --> 00:51:07,900 Mentrestant, jo També vull recomanar 903 00:51:07,900 --> 00:51:11,340 alguns altres paquets per als seus projectes. 904 00:51:11,340 --> 00:51:14,670 Podria ser útil incloure el paquet jQuery. 905 00:51:14,670 --> 00:51:17,909 Això li permet utilitzar jQuery en els seus clients. 906 00:51:17,909 --> 00:51:21,200 Vostè només pot fer-ho amb una línia, i Meteor serà assegurar-se que està al dia 907 00:51:21,200 --> 00:51:21,825 en jQuery. 908 00:51:21,825 --> 00:51:24,330 909 00:51:24,330 --> 00:51:27,450 També recomano houston: admin. 910 00:51:27,450 --> 00:51:31,550 >> Això és com una espècie de phpMyAdmin tipus d'eina per a la seva MongoDB. 911 00:51:31,550 --> 00:51:33,890 Això li permet editar les seves dades amb força facilitat 912 00:51:33,890 --> 00:51:37,950 sense haver d'anar a la petxina Mongo, com ho havia fet anteriorment en el seminari. 913 00:51:37,950 --> 00:51:43,160 914 00:51:43,160 --> 00:51:47,101 Així que ara que això és córrer, anem a córrer Meteor de nou i veure què podem fer. 915 00:51:47,101 --> 00:51:56,240 916 00:51:56,240 --> 00:52:00,720 >> T'adones que l'addició d'alguns paquets podria tenir els presenten algunes advertències. 917 00:52:00,720 --> 00:52:02,720 No haurà de preocupar d'això amb houston. 918 00:52:02,720 --> 00:52:06,040 919 00:52:06,040 --> 00:52:10,810 Així que ara podem tenir l'opció per configurar Meteor administrador. 920 00:52:10,810 --> 00:52:15,080 I et donen les instruccions si vols posar això en marxa. 921 00:52:15,080 --> 00:52:17,750 922 00:52:17,750 --> 00:52:20,440 >> Ara també podem anar a / admin. 923 00:52:20,440 --> 00:52:23,280 Aquesta és portat a vostè pel paquet de Houston. 924 00:52:23,280 --> 00:52:27,470 I aquesta és la interfície d'administració de meteors. 925 00:52:27,470 --> 00:52:30,660 Vostè acaba de crear una compte d'administrador, com a tal. 926 00:52:30,660 --> 00:52:38,150 I si s'actualitza la pàgina, és possible que tenen algunes col·leccions aparèixer. 927 00:52:38,150 --> 00:52:40,980 928 00:52:40,980 --> 00:52:43,460 >> És una eina molt útil, i el recomano encaridament. 929 00:52:43,460 --> 00:52:46,717 930 00:52:46,717 --> 00:52:49,050 Es pot veure que ja houston estava donant alguns errors, 931 00:52:49,050 --> 00:52:52,330 nosaltres no tenim col·leccions mostrant fins ara. 932 00:52:52,330 --> 00:52:56,800 La forma que faria servir houston és assegurant d'aquesta funció es posa 933 00:52:56,800 --> 00:52:58,860 anomenat en els seus simples-tots. 934 00:52:58,860 --> 00:53:01,370 Així houston no ho fa saben el que les meves tasques són. 935 00:53:01,370 --> 00:53:04,490 >> Vam muntar un Mongo col·lecció anomenada tasques. 936 00:53:04,490 --> 00:53:11,390 Anem a entrar en simple Tots i just assegurar-se que en el codi JavaScript, 937 00:53:11,390 --> 00:53:16,295 hem afegit tasques a les nostres col·leccions. 938 00:53:16,295 --> 00:53:19,340 939 00:53:19,340 --> 00:53:25,670 Ara ens hem salvat, i és la construcció l'aplicació, refrescant. 940 00:53:25,670 --> 00:53:26,750 I anem a veure. 941 00:53:26,750 --> 00:53:29,090 Ara tenim algunes tasques. 942 00:53:29,090 --> 00:53:32,630 I podem afegir algunes tasques noves. 943 00:53:32,630 --> 00:53:35,840 Però si volem afegir tasques, anem a fer-ho amb la pròpia aplicació. 944 00:53:35,840 --> 00:53:39,660 945 00:53:39,660 --> 00:53:41,050 >> Ara podem afegir algunes dades. 946 00:53:41,050 --> 00:53:53,410 Hola, aquest és una tasca. 947 00:53:53,410 --> 00:53:57,080 Sembla una mica estrany que no estem veient cap tasca. 948 00:53:57,080 --> 00:54:00,290 949 00:54:00,290 --> 00:54:05,260 Podríem voler comprovar si tenim qualsevol errors aquí, o potser en un altre lloc. 950 00:54:05,260 --> 00:54:08,810 951 00:54:08,810 --> 00:54:20,260 Si entrem en administració, que sembla estrany. 952 00:54:20,260 --> 00:54:24,080 Si tira el repositori després d'aquest seminari, 953 00:54:24,080 --> 00:54:27,580 M'asseguraré que simple Tots treballa amb houston. 954 00:54:27,580 --> 00:54:30,370 Desafortunadament, no sembla estar treballant en aquest mateix moment. 955 00:54:30,370 --> 00:54:34,810 956 00:54:34,810 --> 00:54:37,640 >> Hi ha alguna altra pregunta? 957 00:54:37,640 --> 00:54:41,800 Houston normalment és una eina que funciona molt bé. 958 00:54:41,800 --> 00:54:44,510 Houston és específicament una mica buggier que els altres, 959 00:54:44,510 --> 00:54:49,470 però jo ho recomano quan funciona. 960 00:54:49,470 --> 00:54:50,080 Sí. 961 00:54:50,080 --> 00:54:52,395 >> AUDIÈNCIA: Què pot fer amb el paquet de Facebook 962 00:54:52,395 --> 00:54:54,270 una vegada que es registra un usuari amb el seu Facebook? 963 00:54:54,270 --> 00:54:55,978 >> ROGER ZURAWICKI: Un cop un usuari d'iniciada la sessió, 964 00:54:55,978 --> 00:54:59,540 vostè pot fer les crides a la API de Facebook. 965 00:54:59,540 --> 00:55:02,890 Molt d'això està més en com Facebook obre la seva API. 966 00:55:02,890 --> 00:55:05,120 Meteor, assegureu-vos tenir la connexió. 967 00:55:05,120 --> 00:55:09,300 Però tot després que és una qüestió d'aprendre a utilitzar l'API de Facebook. 968 00:55:09,300 --> 00:55:10,216 AUDIÈNCIA: [inaudible]. 969 00:55:10,216 --> 00:55:17,756 970 00:55:17,756 --> 00:55:18,880 ROGER ZURAWICKI: D'acord. 971 00:55:18,880 --> 00:55:21,670 Moltes gràcies per aquest seminari CS50 a Meteor. 972 00:55:21,670 --> 00:55:24,060 Si té alguna pregunta, vostè em pot enviar per correu electrònic 973 00:55:24,060 --> 00:55:28,319 en la meva adreça de correu electrònic s'enumeren a continuació del seminari. 974 00:55:28,319 --> 00:55:30,110 I estaré feliç de ajudar-vos. 975 00:55:30,110 --> 00:55:33,020 També vaig a estar al CS50 hackathon ha 976 00:55:33,020 --> 00:55:35,550 necessita ajuda amb els seus projectes de meteors. 977 00:55:35,550 --> 00:55:37,650 Gràcies per la seva atenció. 978 00:55:37,650 --> 00:55:38,816