1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:10,960 [Jouer de la musique] 3 00:00:10,960 --> 00:00:12,960 ROGER ZURAWICKI: Salut, mon nom est Roger Zurawicki, 4 00:00:12,960 --> 00:00:16,410 et je serai couvrant le séminaire CS50 Meteor. 5 00:00:16,410 --> 00:00:21,520 Meteor est un nouveau cadre consacré à la nouvelle forme de web, 6 00:00:21,520 --> 00:00:25,220 pas PHP faire des demandes avant et en arrière type 7 00:00:25,220 --> 00:00:29,070 du web, nous avons vu dans le jeu PHPP, mais le plus dynamique JavaScript 8 00:00:29,070 --> 00:00:31,370 les parties de la bande. 9 00:00:31,370 --> 00:00:36,260 Meteor peut faire les choses Mise à jour comprend en direct 10 00:00:36,260 --> 00:00:42,380 et communiquer immédiatement entre utilisateurs d'un même site. 11 00:00:42,380 --> 00:00:46,420 >> Pour ce séminaire, nous avons Code hébergé chez mon GitHub. 12 00:00:46,420 --> 00:00:49,690 Vous pouvez aller à cette URL et le télécharger. 13 00:00:49,690 --> 00:00:53,085 Si vous savez comment utiliser Git, vous pouvez cloner le référentiel. 14 00:00:53,085 --> 00:00:55,460 Si vous ne savez pas comment l'utiliser Git ou ne ont pas utilisé GitHub, 15 00:00:55,460 --> 00:00:57,030 ce est tout à fait bien. 16 00:00:57,030 --> 00:01:00,480 Je vais vous montrer très rapidement comment nous pouvons aller à GitHub, 17 00:01:00,480 --> 00:01:03,604 et il ya une option pour télécharger un zip là. 18 00:01:03,604 --> 00:01:06,770 Une fois que vous télécharger ce répertoire, vous peut commencer à jouer avec notre code. 19 00:01:06,770 --> 00:01:10,200 20 00:01:10,200 --> 00:01:13,190 >> Plus d'informations à propos de Meteor peut être trouvé à meteor.com. 21 00:01:13,190 --> 00:01:16,580 Dans le dossier de séminaire, je ai effectivement avoir des projets Meteor nous pouvons utiliser. 22 00:01:16,580 --> 00:01:20,380 23 00:01:20,380 --> 00:01:26,400 L'un des dossiers que nous avons dans notre projet de séminaire est l'application de todos. 24 00:01:26,400 --> 00:01:28,780 Donc, si je vais dans ce moi, Meteor ont installé. 25 00:01:28,780 --> 00:01:35,690 Donc, pour l'exécuter, je ai juste besoin de taper Meteor, et Meteor installeront. 26 00:01:35,690 --> 00:01:38,310 Comme vous pouvez le voir, nous devons assurez-vous que nous avons installé Meteor. 27 00:01:38,310 --> 00:01:40,562 Donc je vais juste exécuter une fois de plus 28 00:01:40,562 --> 00:01:42,520 pour se assurer que Meteor est correctement installé. 29 00:01:42,520 --> 00:01:46,370 30 00:01:46,370 --> 00:01:48,450 >> Bien que je ai Meteor installation, je peux vous montrer 31 00:01:48,450 --> 00:01:53,760 quelques démonstrations en direct de sites de Meteor d'aller vivre en ce moment sur Internet. 32 00:01:53,760 --> 00:01:57,990 Je ai une démo de notre application. 33 00:01:57,990 --> 00:02:00,740 Vous pouvez y accéder à l'adresse suivante. 34 00:02:00,740 --> 00:02:06,350 Ce est l'application à faire que nous avoir dans notre répertoire de séminaire. 35 00:02:06,350 --> 00:02:09,940 L'URL de ce est rozu-rabbit.meteor.com. 36 00:02:09,940 --> 00:02:14,782 Vous verrez que Meteor sera effectivement héberger vos projets de Meteor gratuitement. 37 00:02:14,782 --> 00:02:17,490 Et à la fin du séminaire, vous serez en mesure de le faire aussi bien. 38 00:02:17,490 --> 00:02:20,550 39 00:02:20,550 --> 00:02:22,160 >> Ce est une application pour faire la liste. 40 00:02:22,160 --> 00:02:27,740 Et vous pouvez vous connecter, créer comptes et ajouter des tâches. 41 00:02:27,740 --> 00:02:30,020 Vous pouvez créer un compte comme tel. 42 00:02:30,020 --> 00:02:33,050 43 00:02:33,050 --> 00:02:35,850 Et maintenant, une fois que vous avez une compte, vous pouvez ajouter des tâches. 44 00:02:35,850 --> 00:02:42,780 Par exemple, l'une des tâches I pourraient avoir besoin d'aller chercher mon linge. 45 00:02:42,780 --> 00:02:45,160 Et si vous êtes sur ce site en ligne, vous aurez 46 00:02:45,160 --> 00:02:49,790 voir réellement cette tâche votre ordinateur en temps réel. 47 00:02:49,790 --> 00:02:53,760 >> Je peux vous montrer une démonstration rapide de ce en ouvrant Rozu-lapin 48 00:02:53,760 --> 00:02:56,700 dans un autre onglet avec le même URL. 49 00:02:56,700 --> 00:03:00,360 Et nous voyons que les mêmes données arrive. 50 00:03:00,360 --> 00:03:02,240 Nous pouvons également exécuter dans un autre navigateur. 51 00:03:02,240 --> 00:03:03,420 Disons que je le lance dans Safari. 52 00:03:03,420 --> 00:03:04,720 De cette façon, nous ne sommes pas connecté. 53 00:03:04,720 --> 00:03:07,750 54 00:03:07,750 --> 00:03:11,060 Donc, nous avons la même Meteor application, et une fois il charge, 55 00:03:11,060 --> 00:03:13,910 nous verrons les mêmes données nous avons fait dans le premier. 56 00:03:13,910 --> 00:03:16,710 Comme vous pouvez le voir, je ne suis pas loggué ici. 57 00:03:16,710 --> 00:03:20,000 Et lorsque les données des chèques d'audience, il met à jour sur tous les navigateurs 58 00:03:20,000 --> 00:03:20,910 simultanément. 59 00:03:20,910 --> 00:03:23,740 Ce est l'un des très fonctionnalités intéressantes à propos de Meteor. 60 00:03:23,740 --> 00:03:27,700 Avec presque pas de travail, vous avoir une application de mise à jour en direct 61 00:03:27,700 --> 00:03:31,240 que les changements sur tous vos appareils à la fois. 62 00:03:31,240 --> 00:03:36,690 >> Si je coche la case à cocher ici dans ma liste à faire, nous aurons, 63 00:03:36,690 --> 00:03:41,230 dans mon autre navigateur Chrome, l'élément coché. 64 00:03:41,230 --> 00:03:42,605 Et cela se produit instantanément. 65 00:03:42,605 --> 00:03:46,340 66 00:03:46,340 --> 00:03:47,280 Bien. 67 00:03:47,280 --> 00:03:52,730 Il semble donc que Meteor l'installation est maintenant prêt. 68 00:03:52,730 --> 00:03:57,000 Alors maintenant, revenons à la todos application et exécuter ce localement. 69 00:03:57,000 --> 00:04:01,599 >> Si vous avez un projet de Meteor, vous pouvez il suffit d'exécuter avec la commande Meteor. 70 00:04:01,599 --> 00:04:03,640 Une fois que vous faites cela, Meteor fera un peu de préparation 71 00:04:03,640 --> 00:04:06,120 pour se assurer que tous votre code est en échec. 72 00:04:06,120 --> 00:04:12,440 Et puis il va vous dire que le projet est prêt à être servi. 73 00:04:12,440 --> 00:04:17,750 Vous pourriez avoir besoin pour permettre à votre pare-feu, si votre ordinateur vous empêche. 74 00:04:17,750 --> 00:04:22,440 >> Donc, ce est de me dire Meteor est dès maintenant que sur ce site 75 00:04:22,440 --> 00:04:26,100 local pour mon ordinateur, je peux voir ce projet est de Meteor. 76 00:04:26,100 --> 00:04:29,290 Notez que maintenant, mon application est pas accessible à l'Internet. 77 00:04:29,290 --> 00:04:35,170 Nous couvrirons comment apporter votre Meteor application à un site en ligne un peu plus tard. 78 00:04:35,170 --> 00:04:40,510 Donc je vais juste copier ce URL maintenant et aller dans Google Chrome. 79 00:04:40,510 --> 00:04:42,600 >> Et ce est la à faire la liste de l'exemple. 80 00:04:42,600 --> 00:04:46,080 Vous pouvez voir qu'ils œuvre un peu plus de fonctionnalités ici. 81 00:04:46,080 --> 00:04:49,210 Nous avons différents onglets, nous avoir les mêmes caractéristiques des comptes, 82 00:04:49,210 --> 00:04:52,141 et nous pouvons ajouter de nouvelles listes. 83 00:04:52,141 --> 00:04:54,140 Maintenant, l'un des vraiment fonctionnalité intéressante à propos de Meteor 84 00:04:54,140 --> 00:04:57,450 ce est que ce ne peut pas seulement travailler sur votre navigateur Web, 85 00:04:57,450 --> 00:05:00,030 mais vous pouvez également créer natif iPhone et Android 86 00:05:00,030 --> 00:05:02,990 applications via un outil appelé PhoneGap. 87 00:05:02,990 --> 00:05:06,740 >> Ainsi certains projets viendront pré-configuré pour l'exécution 88 00:05:06,740 --> 00:05:08,700 sur iOS, comme l'application de todos. 89 00:05:08,700 --> 00:05:14,780 Donc, tout ce que je dois faire pour l'exécuter dans iOS est de taper Meteor, exécuter, puis iOS. 90 00:05:14,780 --> 00:05:17,540 Et quand je fais ça, Meteor préparera le paquet à nouveau. 91 00:05:17,540 --> 00:05:21,670 Et puis, une fois qu'il est prêt, il va charger le simulateur iOS sur ma commande. 92 00:05:21,670 --> 00:05:24,745 Notez que vous ne pouvez exécuter des applications iOS si vous avez un ordinateur Mac. 93 00:05:24,745 --> 00:05:27,650 94 00:05:27,650 --> 00:05:30,730 Vous pouvez exécuter vos applications sur Android sur toutes les plateformes. 95 00:05:30,730 --> 00:05:34,070 96 00:05:34,070 --> 00:05:38,290 >> Donc maintenant vous pouvez voir que mon iPhone simulateur est venu sur mon écran. 97 00:05:38,290 --> 00:05:40,370 Et dans un instant, il va charger avec l'application. 98 00:05:40,370 --> 00:05:46,070 99 00:05:46,070 --> 00:05:48,490 Si nous le faisons juste un peu plus petit pour tenir sur l'écran, 100 00:05:48,490 --> 00:05:50,780 nous voir, nous avons notre application iPhone. 101 00:05:50,780 --> 00:05:53,220 Et juste pour que nous ne faisons pas se confondre, faisons 102 00:05:53,220 --> 00:05:59,790 sûr que nous sommes sur la même site web, l'hôte local 3000. 103 00:05:59,790 --> 00:06:03,490 >> Donc ici est un exemple de l'application Meteor Je ai, 104 00:06:03,490 --> 00:06:08,770 l'application de todos, exécutant à la fois sur un téléphone et à un navigateur Web. 105 00:06:08,770 --> 00:06:10,770 Et quand je change des trucs dans le navigateur Web, 106 00:06:10,770 --> 00:06:12,675 il va immédiatement au téléphone. 107 00:06:12,675 --> 00:06:16,500 Et je peux supprimer quelque chose sur le téléphone, et il change dans le navigateur Web. 108 00:06:16,500 --> 00:06:21,050 >> Maintenant, normalement pour créer natif application de téléphone pour iOS ou Android, 109 00:06:21,050 --> 00:06:26,090 vous devez savoir Java ou Objectif C. utilisations Meteor Le technologiques 110 00:06:26,090 --> 00:06:29,240 pour permettre JavaScript afin de fonctionner comme votre application est appelée PhoneGap. 111 00:06:29,240 --> 00:06:31,320 Que votre application essentiellement est est un navigateur Web. 112 00:06:31,320 --> 00:06:34,500 Et Meteor gère tout les pièces délicates impliquées 113 00:06:34,500 --> 00:06:39,820 pour amener ce navigateur Web pour votre iPhone ou votre appareil Android. 114 00:06:39,820 --> 00:06:42,210 Vous pouvez voir que le l'interface utilisateur est lisse, 115 00:06:42,210 --> 00:06:45,290 et il ressemble et se sent très un peu comme une application native. 116 00:06:45,290 --> 00:06:48,620 Remarquez que si je vais à la maison écran maintenant, je ai aussi une icône. 117 00:06:48,620 --> 00:06:50,880 Ce ne est pas un site comme vous pouvez trouver dans Safari. 118 00:06:50,880 --> 00:06:51,860 Ce est sa propre application. 119 00:06:51,860 --> 00:06:54,130 Vous pouvez installer et supprimer si vous le souhaitez. 120 00:06:54,130 --> 00:06:59,500 121 00:06:59,500 --> 00:07:04,436 >> Nous pouvons brièvement vous montrer ce que le code pour ce genre de todos application ressemble. 122 00:07:04,436 --> 00:07:08,260 Si vous regardez dans le dossier de todos, vous verrez qu'il ya beaucoup de dossiers. 123 00:07:08,260 --> 00:07:11,440 Mais au cours du séminaire, nous allons 124 00:07:11,440 --> 00:07:14,780 comprendre ce que chaque dossier est utilisé pour. 125 00:07:14,780 --> 00:07:17,830 Allons dans le terminal afin que nous peut voir les fichiers un peu mieux. 126 00:07:17,830 --> 00:07:20,410 >> Je vais appuyer sur Ctrl C pour arrêter le serveur, 127 00:07:20,410 --> 00:07:22,770 et maintenant je suis de retour dans l'application de todos. 128 00:07:22,770 --> 00:07:26,660 Je ai différents dossiers ici, comme le dossier du client, le dossier du serveur. 129 00:07:26,660 --> 00:07:30,500 Et ces dossiers signifient simplement que tout dans le dossier du client 130 00:07:30,500 --> 00:07:32,630 est exécuté sur votre navigateur. 131 00:07:32,630 --> 00:07:35,530 Tout dans un dossier de serveur est exécuté sur un serveur. 132 00:07:35,530 --> 00:07:38,100 >> Ce que je tiens à souligner ce est que ce que nous avions 133 00:07:38,100 --> 00:07:42,140 quand nous avons eu notre téléphone course et notre navigateur web, ce étaient des clients. 134 00:07:42,140 --> 00:07:45,730 Mais ce qui est en cours d'exécution dans un terminal, ce est le serveur. 135 00:07:45,730 --> 00:07:48,710 Nous avons d'autres dossiers, comme lib, qui est code de la bibliothèque, 136 00:07:48,710 --> 00:07:51,050 comme votre aide fonctions, que vous pouvez 137 00:07:51,050 --> 00:07:53,710 utiliser à la fois le client et le serveur. 138 00:07:53,710 --> 00:07:55,820 Et puis vous avez un publique dossier et des ressources 139 00:07:55,820 --> 00:07:59,310 dossier nécessaire pour obtenir vos images et autres CSS chargés. 140 00:07:59,310 --> 00:08:02,630 141 00:08:02,630 --> 00:08:09,360 >> Si vous avez installé Meteor, nous allons continuer avec le tutoriel pour Meteor. 142 00:08:09,360 --> 00:08:12,790 Vous pouvez aller à cette URL, meteor.com/install, 143 00:08:12,790 --> 00:08:17,990 pour obtenir la ligne de commande que je vous a montré que installe Meteor. 144 00:08:17,990 --> 00:08:20,240 Nous allons passer par la première quelques étapes pour obtenir une meilleure 145 00:08:20,240 --> 00:08:22,760 sentir sur l'installation de Meteor. 146 00:08:22,760 --> 00:08:28,000 >> Mais d'abord, je pense qu'il est important que nous passons en revue un peu de JavaScript. 147 00:08:28,000 --> 00:08:32,360 Pour vous montrer quelques exemples de la façon dont notre connaissance de C peut être traduit 148 00:08:32,360 --> 00:08:34,950 à JavaScript, je ai créé quelques exemples. 149 00:08:34,950 --> 00:08:36,940 Ils sont dans le répertoire js. 150 00:08:36,940 --> 00:08:41,750 Donc, si dans les séminaires que vous dossier Regarde, il ya un dossier appelé js. 151 00:08:41,750 --> 00:08:44,540 Et ici, nous avons quelques exemples. 152 00:08:44,540 --> 00:08:50,120 >> Ouvrons le premier exemple et voir très rapidement. 153 00:08:50,120 --> 00:08:53,980 Ce que nous voyons est votre niveau bonjour commande de monde. 154 00:08:53,980 --> 00:08:56,520 Vous remarquerez dans C que vous avoir un bon nombre de lignes. 155 00:08:56,520 --> 00:09:00,490 Et que les étudiants savent CS50, nous avons besoin d'une fonction principale, 156 00:09:00,490 --> 00:09:05,730 et nous devons inclure la norme I / O bibliothèque pour appeler printf. 157 00:09:05,730 --> 00:09:09,320 >> Regardons comment JavaScript compare. 158 00:09:09,320 --> 00:09:11,560 Je vais ouvrir ex1.js. 159 00:09:11,560 --> 00:09:14,650 Commentée est ce que le C Code ressemblerait, 160 00:09:14,650 --> 00:09:17,550 et la ligne ci-dessous est tout vous devez exécuter dans le noeud. 161 00:09:17,550 --> 00:09:20,452 Vous ne avez pas besoin d'une fonction principale, vous ne ont pas besoin d'inclure tous les fichiers, 162 00:09:20,452 --> 00:09:21,660 et vous ne avez pas besoin de revenir. 163 00:09:21,660 --> 00:09:23,810 Vous appelez simplement console.log. 164 00:09:23,810 --> 00:09:26,370 Ce est l'équivalent de votre printf. 165 00:09:26,370 --> 00:09:29,310 >> Et il prend le même printf serait arguments. 166 00:09:29,310 --> 00:09:33,870 Et afin de l'exécuter, au lieu de courir faire EX1, 167 00:09:33,870 --> 00:09:38,930 vous suffit d'appeler ex1.js. Node 168 00:09:38,930 --> 00:09:41,830 Vous écrivez Node puis le fichier, et qu'il soit lancé. 169 00:09:41,830 --> 00:09:43,580 Il ne est pas compilé. 170 00:09:43,580 --> 00:09:45,970 JavaScript est un langage interprété. 171 00:09:45,970 --> 00:09:49,150 Ainsi, il n'a pas besoin d'être compilé avant qu'il ne soit exécuté. 172 00:09:49,150 --> 00:09:53,450 Si je voulais courir ex1.c, Je dois faire en premier, 173 00:09:53,450 --> 00:09:59,160 et puis je peux lancer l'exécutable pour obtenir le même résultat. 174 00:09:59,160 --> 00:10:02,460 >> Nous allons couvrir rapidement certains d'autres concepts javascript. 175 00:10:02,460 --> 00:10:04,490 Regardons par exemple deux. 176 00:10:04,490 --> 00:10:14,690 Dans ex2.js, dans ex2.c, nous pouvons voir que nous avons un peu de code. 177 00:10:14,690 --> 00:10:16,550 Permettez-moi de passer rapidement à un meilleur éditeur de texte 178 00:10:16,550 --> 00:10:18,400 que montrent ces nouvelles lignes un peu mieux. 179 00:10:18,400 --> 00:10:21,760 180 00:10:21,760 --> 00:10:22,380 Bien. 181 00:10:22,380 --> 00:10:24,190 Ici, nous avons par exemple 2.c. 182 00:10:24,190 --> 00:10:27,360 Ici, nous avons différents types que nous imprimer. 183 00:10:27,360 --> 00:10:30,880 Et comme nous le savons, printf prend des arguments différents pour cent 184 00:10:30,880 --> 00:10:34,050 d'accéder à différents éléments de données. 185 00:10:34,050 --> 00:10:36,840 Si nous voulons imprimer une chaîne, nous appelons% s. 186 00:10:36,840 --> 00:10:40,390 Si nous voulons appeler un flottant numéro de point, nous avons appelé% f. 187 00:10:40,390 --> 00:10:45,810 Et il n'y a pas de moyen facile d'appeler un Boolean par sa valeur vraie ou fausse. 188 00:10:45,810 --> 00:10:50,760 Mais si vous utilisez% d, vous pouvez obtenir un 0 ou un 1 pour vrai et faux. 189 00:10:50,760 --> 00:10:53,270 >> JavaScript est un peu plus agréable pour nous. 190 00:10:53,270 --> 00:10:57,740 En JavaScript, regardons quelques-uns différences nous avons dans ce fichier. 191 00:10:57,740 --> 00:11:05,790 D'abord, vous remarquerez que nous avons à C initialiser chaque variable avec un type. 192 00:11:05,790 --> 00:11:06,940 S est une étoile char. 193 00:11:06,940 --> 00:11:08,930 Ce est une chaîne, et il ne peut pas être de tout autre type. 194 00:11:08,930 --> 00:11:10,450 N est un flotteur. 195 00:11:10,450 --> 00:11:11,780 B est un Bool. 196 00:11:11,780 --> 00:11:14,220 >> Mais en JavaScript, il ya des types dynamiques. 197 00:11:14,220 --> 00:11:16,400 Cela signifie que vous ne avez pas besoin de dire JavaScript 198 00:11:16,400 --> 00:11:17,860 quels types vos variables seront. 199 00:11:17,860 --> 00:11:22,730 Vous venez de dire pour la variable var, le nom de la variable, puis sa valeur. 200 00:11:22,730 --> 00:11:24,690 Ainsi, une var peut être quelque chose de vraiment. 201 00:11:24,690 --> 00:11:25,640 Il peut être une chaîne. 202 00:11:25,640 --> 00:11:27,300 Il peut être un nombre à virgule flottante. 203 00:11:27,300 --> 00:11:28,560 Il peut être un caractère. 204 00:11:28,560 --> 00:11:31,250 Il peut être une valeur booléenne. 205 00:11:31,250 --> 00:11:34,380 Et journal de la console fonctionne un peu différemment. 206 00:11:34,380 --> 00:11:37,340 Si vous souhaitez imprimer un numéro, vous appelez% d. 207 00:11:37,340 --> 00:11:41,740 Mais la plupart des valeurs peuvent être imprimés sous forme de chaînes très bien. 208 00:11:41,740 --> 00:11:46,220 >> Lançons cela dans Node pour voir ce qui se passerait. 209 00:11:46,220 --> 00:11:51,880 Je peux appeler ex2.js noeud, et nous obtenons printf 210 00:11:51,880 --> 00:11:56,870 avec les valeurs CS50, N comme le nombre à virgule flottante, 211 00:11:56,870 --> 00:12:00,620 puis B comme Boolean converti en une chaîne vrai. 212 00:12:00,620 --> 00:12:03,830 Qu'en est-il si nous faisions exemple 2.c? 213 00:12:03,830 --> 00:12:09,630 Eh bien, nous avons encore du plus de désagréments avec printf. 214 00:12:09,630 --> 00:12:13,110 Notez que la virgule flottante nombre doit être correctement mis en forme, 215 00:12:13,110 --> 00:12:18,120 et que l'opérateur booléen ne peut pas tout simplement être affiché comme vrai ou faux. 216 00:12:18,120 --> 00:12:18,620 Bien. 217 00:12:18,620 --> 00:12:22,680 Maintenant regardons exemple trois. 218 00:12:22,680 --> 00:12:26,470 Dans l'exemple de trois, nous montrons comment vous utiliser une boucle for. 219 00:12:26,470 --> 00:12:27,630 En fait, ce est très simple. 220 00:12:27,630 --> 00:12:31,430 Une des belles choses sur JavaScript est qu'elle est basée C. 221 00:12:31,430 --> 00:12:33,920 Cela signifie que beaucoup de votre Code sera très similaire 222 00:12:33,920 --> 00:12:36,490 et se sentir très sensiblement les mêmes. 223 00:12:36,490 --> 00:12:39,220 Dans une boucle for, la seule chose qui a vraiment changé ici 224 00:12:39,220 --> 00:12:41,840 est la place de int i, nous avons var i. 225 00:12:41,840 --> 00:12:45,470 Nous pouvons encore l'affecter à valoriser zéro, vérifiez qu'il est inférieur à cinq, 226 00:12:45,470 --> 00:12:49,390 et incrémenter par une avec l'opérateur ++. 227 00:12:49,390 --> 00:12:56,286 Nous appelons console.log sur i, et que nous imprimer un nombre à chaque ligne. 228 00:12:56,286 --> 00:12:58,410 Lançons-il vraiment rapidement pour voir ce qu'il émet. 229 00:12:58,410 --> 00:13:02,320 230 00:13:02,320 --> 00:13:03,880 Nous obtenons un nouveau numéro dans chaque ligne. 231 00:13:03,880 --> 00:13:06,920 Une autre chose que je veux que vous de constater avec console.log 232 00:13:06,920 --> 00:13:09,960 est que vous ne avez pas besoin d'écrire n barre oblique inverse pour la nouvelle ligne. 233 00:13:09,960 --> 00:13:12,480 Console.log imprimera tout sur sa propre ligne. 234 00:13:12,480 --> 00:13:14,585 Ce est une fonctionnalité intéressante JavaScript nous donne. 235 00:13:14,585 --> 00:13:18,440 236 00:13:18,440 --> 00:13:22,600 >> Maintenant, nous allons ouvrent exemple quatre. 237 00:13:22,600 --> 00:13:28,710 Dans l'exemple de quatre, d'abord dans le C, nous demandons quelques fonctions. 238 00:13:28,710 --> 00:13:33,290 Notez que nous devons déclarer la fonctions avant de les utiliser dans le principal. 239 00:13:33,290 --> 00:13:37,250 Si nous avions d'abord et principale puis ajoutez puis élevé, faire, 240 00:13:37,250 --> 00:13:39,540 clang, ou GCC serait nous donner une erreur disant 241 00:13:39,540 --> 00:13:41,060 qu'il ne sait pas ce est haute. 242 00:13:41,060 --> 00:13:42,780 Il ne sait pas ce complément est. 243 00:13:42,780 --> 00:13:46,480 Donc, en C, vous devez être pointilleux sur la ordre dans lequel vous appelez vos fonctions. 244 00:13:46,480 --> 00:13:49,220 245 00:13:49,220 --> 00:13:51,310 >> Voyons comment vous pouvez faire en JavaScript. 246 00:13:51,310 --> 00:13:56,060 Nous avons différents fichiers, car il sont quelques façons différentes de faire ça. 247 00:13:56,060 --> 00:13:58,950 Une façon est à peu près une traduction directe. 248 00:13:58,950 --> 00:14:02,180 Comme les fonctions par C les types de retour, et JavaScript 249 00:14:02,180 --> 00:14:05,210 ne sait pas vraiment ou de soins à quel type vous revenez, 250 00:14:05,210 --> 00:14:06,300 vous ne écrivez pas un type. 251 00:14:06,300 --> 00:14:08,100 Au lieu de cela, vous avez juste besoin pour écrire la fonction, 252 00:14:08,100 --> 00:14:11,180 et tout est assez sensiblement les mêmes que précédemment. 253 00:14:11,180 --> 00:14:14,630 >> Lorsque vous avez une variable, comme dans ajoutons, nous avons juste besoin d'écrire x et y. 254 00:14:14,630 --> 00:14:16,060 Nous ne avons pas besoin de dire x est un entier. 255 00:14:16,060 --> 00:14:18,940 Nous ne avons pas besoin de dire y est un int. 256 00:14:18,940 --> 00:14:21,030 Nous revenons avec la même syntaxe. 257 00:14:21,030 --> 00:14:24,230 Pour élevé, nous déclarons avec fonctionner au lieu de vide. 258 00:14:24,230 --> 00:14:26,110 Notez que si ce est nulle ou non nulle, 259 00:14:26,110 --> 00:14:28,380 ce est toujours la même fonction. 260 00:14:28,380 --> 00:14:32,440 Et nous ne mettons pas tout simplement quoi que ce soit entre parenthèses, 261 00:14:32,440 --> 00:14:34,690 et il ressemble beaucoup à du code C. 262 00:14:34,690 --> 00:14:37,460 Et ci-dessous, nous pouvons l'appeler ci-dessous. 263 00:14:37,460 --> 00:14:42,730 >> Si nous regardons l'exemple 4b, nous remarquons que je ai changé quelques petites choses. 264 00:14:42,730 --> 00:14:45,340 La seule chose que je ai changé vraiment, ce est bien l'ordre. 265 00:14:45,340 --> 00:14:47,340 Nous avons le même fonctions, mais maintenant ils sont 266 00:14:47,340 --> 00:14:52,200 déclarée après ils sont utilisés dans console.log et haut sur les lignes 18, 19. 267 00:14:52,200 --> 00:14:54,740 Si vous l'avez fait en C, faire serait une erreur. 268 00:14:54,740 --> 00:14:56,070 Ici, cela fonctionne très bien. 269 00:14:56,070 --> 00:15:01,935 Et je peux montrer à vous par appelant noeud sur l'exemple 4b. 270 00:15:01,935 --> 00:15:05,350 271 00:15:05,350 --> 00:15:10,130 >> Une autre façon que nous pouvons appeler des fonctions est en enregistrant les fonctions en tant que variables. 272 00:15:10,130 --> 00:15:13,790 Comme je le disais, une variable peut avoir ne importe quel type. 273 00:15:13,790 --> 00:15:16,720 L'un des types d'une variable peut avoir est une fonction. 274 00:15:16,720 --> 00:15:19,800 Donc, si vous regardez par exemple 4c, ce que je ai changé 275 00:15:19,800 --> 00:15:24,320 voici var ajouter place de la fonction add. 276 00:15:24,320 --> 00:15:26,807 Et maintenant ajouter équivaut à une fonction. 277 00:15:26,807 --> 00:15:28,140 Cette fonction ici est anonyme. 278 00:15:28,140 --> 00:15:33,346 Il n'a pas de nom, donc ce est juste fonction et puis les parenthèses. 279 00:15:33,346 --> 00:15:35,220 La syntaxe après que ne change pas, mais vous 280 00:15:35,220 --> 00:15:38,300 ne devez garder à l'esprit que vous avez une variable que vous êtes 281 00:15:38,300 --> 00:15:42,940 stocker la fonction dans add, et un variable qui vous stockez dans la haute. 282 00:15:42,940 --> 00:15:47,620 >> Parce ajouter et de haute sont maintenant des variables et non fonctions, quelque chose change. 283 00:15:47,620 --> 00:15:50,190 Ce est un bug commun que je vois dans beaucoup des JavaScripts des gens, 284 00:15:50,190 --> 00:15:52,410 et quelque chose à garder à l'esprit. 285 00:15:52,410 --> 00:15:54,365 Quand je lance cela, nous allons voir ce qui se passe. 286 00:15:54,365 --> 00:15:57,410 287 00:15:57,410 --> 00:15:58,230 Je obtiens une erreur. 288 00:15:58,230 --> 00:16:01,000 Ce est dire définie à ce stade. 289 00:16:01,000 --> 00:16:03,520 Donc, ce est le dire ne sait pas ce est ajouter. 290 00:16:03,520 --> 00:16:06,010 >> Parce que maintenant ajouter ne est pas un fonction, ajouter est une variable. 291 00:16:06,010 --> 00:16:10,100 Et vous ne avez pas réellement donné ajouter une valeur pourtant, quand vous l'avez utilisé. 292 00:16:10,100 --> 00:16:14,460 Cela nous amène à l'exemple 4d, où, si vous voulez utiliser des variables comme des fonctions, 293 00:16:14,460 --> 00:16:17,210 vous avez juste besoin de se assurer qu'ils obtenir la valeur avant qu'ils ne soient utilisés. 294 00:16:17,210 --> 00:16:20,200 295 00:16:20,200 --> 00:16:23,420 >> Passons à l'exemple de cinq alors. 296 00:16:23,420 --> 00:16:27,390 Ici, nous parlons de structs dans C dans C, structs 297 00:16:27,390 --> 00:16:30,320 avoir cette structure fixe pour les parce que vous devez les déclarer 298 00:16:30,320 --> 00:16:33,050 avant de l'utiliser, et vous dire que je ai un étudiant, 299 00:16:33,050 --> 00:16:36,645 et chaque étudiant a exactement d'un nom, d'un an, un sexe. 300 00:16:36,645 --> 00:16:37,770 Il doit avoir tous. 301 00:16:37,770 --> 00:16:42,280 Il ne peut pas avoir d'autres valeurs, et ils doivent être des types spécifiques. 302 00:16:42,280 --> 00:16:47,540 >> Ensuite, nous pouvons initialiser le struct dans cette syntaxe belle 303 00:16:47,540 --> 00:16:49,470 parce qu'il sait l'ordre. 304 00:16:49,470 --> 00:16:51,460 Donc, il sait que Roger est un nom. 305 00:16:51,460 --> 00:16:54,060 Il sait que 2016 est une année et M est un entre les sexes 306 00:16:54,060 --> 00:16:58,200 parce que nous dit que ce présent liste est un étudiant de struct. 307 00:16:58,200 --> 00:17:01,607 Et puis vous pouvez imprimer , en accédant s.name. 308 00:17:01,607 --> 00:17:03,690 Voyons comment nous le ferions convertir en JavaScript. 309 00:17:03,690 --> 00:17:06,400 310 00:17:06,400 --> 00:17:09,790 Remarquez que l'art est maintenant un variable et il n'y a pas de type. 311 00:17:09,790 --> 00:17:10,920 Ce est encore juste un var. 312 00:17:10,920 --> 00:17:14,480 Parce que ce ne est pas grave si le type de cette variable est un pointeur, 313 00:17:14,480 --> 00:17:17,440 ce est une structure, ou toute autre chose. 314 00:17:17,440 --> 00:17:19,650 Nous avons une syntaxe légèrement différente. 315 00:17:19,650 --> 00:17:21,890 Cette syntaxe est la syntaxe de l'objet. 316 00:17:21,890 --> 00:17:24,400 >> Vous pourriez avoir vu dans JSON. 317 00:17:24,400 --> 00:17:27,780 JSON représente réellement pour le JavaScript Object Notation. 318 00:17:27,780 --> 00:17:31,240 Ce est ainsi que vous définissez objets en JavaScript. 319 00:17:31,240 --> 00:17:34,500 Nous avons une clé, qui est la valeur, comme nom. 320 00:17:34,500 --> 00:17:37,680 Et nous lui donnons valeurs sur de l'autre côté du côlon. 321 00:17:37,680 --> 00:17:41,850 Et une chose à garder à l'esprit est que vous ne ont pas besoin d'avoir un nom et une année 322 00:17:41,850 --> 00:17:42,980 et un genre pour un objet. 323 00:17:42,980 --> 00:17:44,570 Un objet peut avoir aucune valeur. 324 00:17:44,570 --> 00:17:46,920 Il peut en avoir autant que vous le souhaitez. 325 00:17:46,920 --> 00:17:50,375 >> Nous pouvons utiliser ces objets dans tout le même manière que nous devrions utiliser une structure, s.name. 326 00:17:50,375 --> 00:17:53,810 327 00:17:53,810 --> 00:17:57,080 Nous pouvons exécuter très rapidement en faisant noeud exemple 5.c. 328 00:17:57,080 --> 00:18:00,320 329 00:18:00,320 --> 00:18:02,520 Nous ne pouvons pas fait exécuter un fichier de C dans le noeud. 330 00:18:02,520 --> 00:18:03,654 Il ne sait pas ce que C est. 331 00:18:03,654 --> 00:18:04,695 Il ne connaît que le JavaScript. 332 00:18:04,695 --> 00:18:09,865 Quand nous courons les ex5.js, nous obtenons la valeur, que nous attendions. 333 00:18:09,865 --> 00:18:13,490 334 00:18:13,490 --> 00:18:15,980 >> Passons à l'exemple de six. 335 00:18:15,980 --> 00:18:18,930 Ici, je veux juste parler un peu peu plus sur les tableaux JavaScript 336 00:18:18,930 --> 00:18:20,930 parce qu'ils sont un peu différent de ce que vous êtes 337 00:18:20,930 --> 00:18:26,940 utilisé pour en C. tableaux sont notées, pas avec les supports comme en C, 338 00:18:26,940 --> 00:18:28,640 avec les accolades, mais entre crochets. 339 00:18:28,640 --> 00:18:32,150 Vous pouvez avoir un tableau vide, comme arr dans la quatrième ligne. 340 00:18:32,150 --> 00:18:34,680 Vous pouvez avoir des tableaux avec plusieurs valeurs. 341 00:18:34,680 --> 00:18:39,790 Et vous y accédez de la même façon en C. 342 00:18:39,790 --> 00:18:42,990 >> Jusqu'à la ligne de sept, tout semble assez simple. 343 00:18:42,990 --> 00:18:45,390 Une différence mineure est ici à la ligne 10. 344 00:18:45,390 --> 00:18:48,620 La façon dont vous obtenez une longueur d'un tableau est tout simplement en appelant .length. 345 00:18:48,620 --> 00:18:50,620 Un tableau peut effectivement être traité comme un objet, 346 00:18:50,620 --> 00:18:54,960 et cet objet a une propriété de longueur que vous appelez pour obtenir la longueur de celui-ci. 347 00:18:54,960 --> 00:18:57,350 Notez que ceci est différent en C parce que dans C vous 348 00:18:57,350 --> 00:19:01,600 avoir à connaître la longueur de votre objet à l'avance. 349 00:19:01,600 --> 00:19:04,700 >> Donc, une autre bonne chose à propos des tableaux ce est que vous pouvez avoir différents types. 350 00:19:04,700 --> 00:19:07,470 Si vous avez un tableau en C, il sont des tableaux d'une valeur spécifique, 351 00:19:07,470 --> 00:19:11,900 soit un pointeur de struct ou flotteurs ou [inaudible]. 352 00:19:11,900 --> 00:19:13,700 Ici, vous pouvez avoir des valeurs différentes. 353 00:19:13,700 --> 00:19:17,560 Je ai eu d'abord un nombre à virgule flottante, puis un booléen, puis un autre entier. 354 00:19:17,560 --> 00:19:19,670 Et en fait, ils peuvent changer les types aussi. 355 00:19:19,670 --> 00:19:21,220 Regardez la ligne 16. 356 00:19:21,220 --> 00:19:26,760 Tableau à deux est en train de changer d'être un certain nombre, un entier, une chaîne. 357 00:19:26,760 --> 00:19:30,920 >> Une autre bonne chose sur les tableaux est ici à la ligne 19, ils ont une taille infinie. 358 00:19:30,920 --> 00:19:35,900 Vous pouvez juste dire que je veux que le centième élément à la chaîne légitime. 359 00:19:35,900 --> 00:19:38,510 Et cela ne semble pas faire sens parce que le tableau ne 360 00:19:38,510 --> 00:19:41,080 a l'espace pour trois éléments, donc la fin devrait être deux. 361 00:19:41,080 --> 00:19:44,800 Mais quand vous faites cela, nous allons voir ce tableau à trois devient. 362 00:19:44,800 --> 00:19:47,460 Nous exécuter ce rapidement avec les exemples noeud six.js. 363 00:19:47,460 --> 00:19:49,990 364 00:19:49,990 --> 00:19:52,180 Nous obtenons ce très long tableau, et ce qui se passe 365 00:19:52,180 --> 00:19:55,100 ce est que nous avons les premiers éléments puis un tas de flans 366 00:19:55,100 --> 00:19:56,580 jusqu'à ce que nous obtenions notre chaîne. 367 00:19:56,580 --> 00:19:58,580 JavaScript remplit dans le tableau comme ce est nécessaire. 368 00:19:58,580 --> 00:20:01,790 369 00:20:01,790 --> 00:20:05,420 >> Disons enfin aller à notre dernier exemple. 370 00:20:05,420 --> 00:20:08,180 Ici, nous avons une liste des différents élèves. 371 00:20:08,180 --> 00:20:11,350 Je veux parler un peu peu de certains aspects de belles 372 00:20:11,350 --> 00:20:14,240 des boucles for en JavaScript. 373 00:20:14,240 --> 00:20:17,500 En C, pour les boucles sont sorte de limiter. 374 00:20:17,500 --> 00:20:21,490 Ils ont une structure fixe, où vous avoir une variable, vous avez une condition, 375 00:20:21,490 --> 00:20:23,850 puis vous faites quelque chose à la fin de la boucle. 376 00:20:23,850 --> 00:20:27,560 Et bien sûr, cela fonctionne en JavaScript, comme nous avons vu dans les exemples précédents. 377 00:20:27,560 --> 00:20:31,030 Mais nous avons également des façons plus agréables de le faire en JavaScript. 378 00:20:31,030 --> 00:20:33,870 Cela se appelle une boucle foreach. 379 00:20:33,870 --> 00:20:36,580 >> Désolé, revenons à sept exemple ici. 380 00:20:36,580 --> 00:20:39,320 Nous pouvons également dire section est une liste. 381 00:20:39,320 --> 00:20:43,250 Alors donnez-moi chacun i ou tous les index dans cette liste. 382 00:20:43,250 --> 00:20:46,255 Ensuite, nous pouvons obtenir l'étudiant simplement en l'appelant section de i. 383 00:20:46,255 --> 00:20:50,690 Donc, tout le code de la mise en i égale à zéro et faire en sorte i 384 00:20:50,690 --> 00:20:54,420 est inférieure à la longueur et ajoutant un au i chaque fois, ce est 385 00:20:54,420 --> 00:21:00,220 prendre soin de vous plutôt bien avec cette boucle foreach. 386 00:21:00,220 --> 00:21:02,830 >> Non seulement les boucles foreach travailler dans des listes ou des tableaux, 387 00:21:02,830 --> 00:21:06,130 ils travaillent aussi dans les objets, qui est aussi agréable. 388 00:21:06,130 --> 00:21:10,240 Vous pouvez obtenir le nom de simplement en prenant chaque propriété 389 00:21:10,240 --> 00:21:15,030 un dictionnaire ou un objet, comme étudiant, et puis juste dire me donner toutes les clés. 390 00:21:15,030 --> 00:21:18,920 Une clé serait ceux-ci propriétés, le nom ou la maison. 391 00:21:18,920 --> 00:21:22,870 Alors qu'est-ce qui va se passer ici est que nous imprimons d'abord le nom, puis 392 00:21:22,870 --> 00:21:24,920 la maison de chaque élève. 393 00:21:24,920 --> 00:21:29,170 >> Je peux exécuter ce dans le noeud très rapidement vous montrer. 394 00:21:29,170 --> 00:21:35,510 Nous recevons d'abord le style C pour la boucle, où nous obtenons chaque objet étant imprimé. 395 00:21:35,510 --> 00:21:38,910 Et puis nous avons le JavaScript le style, où vous pouvez simplement 396 00:21:38,910 --> 00:21:41,510 imprimer chaque touche et évaluer individuellement. 397 00:21:41,510 --> 00:21:45,560 398 00:21:45,560 --> 00:21:47,050 >> Bien. 399 00:21:47,050 --> 00:21:52,850 Maintenant que nous avons couvert Node.js, je pense nous sommes prêts à commencer avec Meteor. 400 00:21:52,850 --> 00:21:56,070 Comme je le disais, Meteor fait un excellent travail d'écrire quelques exemples prêts à l'emploi 401 00:21:56,070 --> 00:22:00,600 pour vous que vous pouvez explorer à travers ce tutoriel ou dans le dossier de séminaire. 402 00:22:00,600 --> 00:22:03,750 Mais ici, je veux commencer plus à partir de zéro. 403 00:22:03,750 --> 00:22:06,810 >> Créons un simple application. 404 00:22:06,810 --> 00:22:14,140 Ce est un peu la base de ce que le au faire application que je vous ai montré plus haut est. 405 00:22:14,140 --> 00:22:16,990 Dans ce tutoriel, vous va voir qu'il ya 406 00:22:16,990 --> 00:22:20,180 une commande Meteor à créer créer un nouveau projet de Meteor. 407 00:22:20,180 --> 00:22:24,510 Vous devez appeler ceci afin à mener des projets Meteor parce qu'il 408 00:22:24,510 --> 00:22:27,470 se déroulera les commandes pour créer le Meteor 409 00:22:27,470 --> 00:22:31,100 fichiers nécessaires pour votre projet. 410 00:22:31,100 --> 00:22:35,920 >> Si vous allez dans la borne, nous pouvons aller dans le dossier appelé la première étape. 411 00:22:35,920 --> 00:22:41,240 Et la première étape correspondra avec la première étape dans le tutoriel. 412 00:22:41,240 --> 00:22:44,020 Avis il ya des dossiers, étape une, deux étapes, tout le chemin à cinq. 413 00:22:44,020 --> 00:22:47,835 Et chacun est correspondant à une étape dans ce tutoriel. 414 00:22:47,835 --> 00:22:50,960 415 00:22:50,960 --> 00:22:52,780 Je vais l'ouvrir dans mon éditeur de texte ici 416 00:22:52,780 --> 00:22:56,280 afin que nous puissions voir un peu de ce qui a été créé. 417 00:22:56,280 --> 00:22:58,530 Nous remarquons qu'il ya sont quatre parties principales. 418 00:22:58,530 --> 00:23:01,170 Il ya un répertoire Meteor, .meteor. 419 00:23:01,170 --> 00:23:03,180 Et que vous habituellement ne ont pas besoin de toucher. 420 00:23:03,180 --> 00:23:05,070 Meteor prend soin de ce dossier, et il vient 421 00:23:05,070 --> 00:23:08,640 permet de se assurer que votre projet fonctionnera correctement. 422 00:23:08,640 --> 00:23:14,580 >> Nous avons aussi trois fichiers, un fichier HTML, un fichier JavaScript, et un fichier CSS. 423 00:23:14,580 --> 00:23:18,670 Voyons d'abord commencer avec le fichier HTML. 424 00:23:18,670 --> 00:23:21,310 À première vue, cela ressemble comme un document HTML normal. 425 00:23:21,310 --> 00:23:23,490 Mais remarquez qu'il ya ya quelques différences. 426 00:23:23,490 --> 00:23:26,520 Un, ce ne est pas fait un document HTML complète. 427 00:23:26,520 --> 00:23:28,640 Il nous manque les balises HTML. 428 00:23:28,640 --> 00:23:29,700 Ce est normal. 429 00:23:29,700 --> 00:23:33,560 Dans Meteor, vous n'êtes pas censé pour créer ces balises HTML. 430 00:23:33,560 --> 00:23:35,260 Ce est fait pour vous. 431 00:23:35,260 --> 00:23:38,380 Vous voulez begin-- si vous vouloir créer un site web, 432 00:23:38,380 --> 00:23:40,430 il vous suffit de commencer avec l'étiquette de tête, 433 00:23:40,430 --> 00:23:43,510 définir ce, puis définir la balise body. 434 00:23:43,510 --> 00:23:48,940 >> Mais si vous remarquez dans ce fichier HTML, nous avons un nouveau tag. 435 00:23:48,940 --> 00:23:50,350 Nous avons la balise de gabarit. 436 00:23:50,350 --> 00:23:52,050 Ce ne est pas HTML normale. 437 00:23:52,050 --> 00:23:55,300 Ce est une version spéciale du HTML Meteor qui met à votre disposition. 438 00:23:55,300 --> 00:23:57,660 Il a appelé les bars de l'espace. 439 00:23:57,660 --> 00:24:00,980 Vous pouvez définir des modèles que peu modules, un peu comme des fonctions d'assistance, 440 00:24:00,980 --> 00:24:03,660 dans votre C ou un code JavaScript. 441 00:24:03,660 --> 00:24:06,020 Ce modèle serait avoir un nom appelé tâche. 442 00:24:06,020 --> 00:24:10,520 Et vous pouvez le voir ici en ligne 13 que vous pouvez appeler ces modèles. 443 00:24:10,520 --> 00:24:14,380 Et ce Meteor va faire est simplement remplir ces tâches pour vous. 444 00:24:14,380 --> 00:24:17,540 445 00:24:17,540 --> 00:24:22,580 >> Une autre chose que vous remarquerez est un peu différent est présent chaque fonction. 446 00:24:22,580 --> 00:24:26,130 Chaque aura la variable tâches et le type de passer par là 447 00:24:26,130 --> 00:24:28,810 en ce qu 'on boucle foreach vu dans l'exemple de sept. 448 00:24:28,810 --> 00:24:34,200 Ce que chacun peut prendre un dictionnaire ou une liste, un objet ou une liste, 449 00:24:34,200 --> 00:24:38,820 et il va juste passer par tous les des valeurs comme une boucle foreach ferait. 450 00:24:38,820 --> 00:24:44,110 Donc, si nous avons un tas de tâches, ce appellera le gabarit sur chaque tâche. 451 00:24:44,110 --> 00:24:49,590 >> Lançons le projet Meteor juste pour voir que ce qui se passe. 452 00:24:49,590 --> 00:24:53,260 Je lance le projet Meteor Meteor Meteor ou simplement exécutés. 453 00:24:53,260 --> 00:24:56,690 Et maintenant Meteor juste devra de préparer rapidement le projet, 454 00:24:56,690 --> 00:25:03,320 démarrer la base de données que nécessaire, puis poster l'application localement. 455 00:25:03,320 --> 00:25:07,200 Nous pouvons aller à notre navigateur maintenant. 456 00:25:07,200 --> 00:25:10,215 Et nous verrons que nous avoir une application très simple. 457 00:25:10,215 --> 00:25:22,190 458 00:25:22,190 --> 00:25:29,130 Donc ce que nous avons vu était en fait arrivés la première étape, l'étape un seul fichier. 459 00:25:29,130 --> 00:25:33,260 >> Passons à l'étape deux seulement parce Je pense qu'il va servir le même but. 460 00:25:33,260 --> 00:25:36,500 Je vais juste changer à l'étape deux répertoire 461 00:25:36,500 --> 00:25:39,550 et exécuter Meteor à nouveau afin que nous puissions voir le modèle que nous venons travaillé avec. 462 00:25:39,550 --> 00:25:43,560 463 00:25:43,560 --> 00:25:45,730 Oui, une question? 464 00:25:45,730 --> 00:25:49,724 >> AUDIENCE: la permission Si nous obtenons nié, est that-- ce est tout 465 00:25:49,724 --> 00:25:50,390 appelé pour cela? 466 00:25:50,390 --> 00:25:52,154 467 00:25:52,154 --> 00:25:54,070 ROGER ZURAWICKI: Si vous utilisez Meteor terme, 468 00:25:54,070 --> 00:25:57,280 et vous avez la permission refusé, certains de vos fichiers 469 00:25:57,280 --> 00:25:59,070 pourraient ne pas avoir le jeu d'autorisations droite. 470 00:25:59,070 --> 00:26:03,970 Vous devez donc vérifier où les autorisations sont éteints. 471 00:26:03,970 --> 00:26:06,030 Ils pourraient être à off votre projet de Meteor, 472 00:26:06,030 --> 00:26:08,550 ou ils pourraient être hors de la Meteor fichiers eux-mêmes. 473 00:26:08,550 --> 00:26:13,742 >> AUDIENCE: Si je ai téléchargé tout à l'heure à partir de votre GitHub, alors qu'est-ce que je devrais faire 474 00:26:13,742 --> 00:26:16,110 [Inaudible]? 475 00:26:16,110 --> 00:26:20,110 >> ROGER ZURAWICKI: Si vous voulez pour se assurer que vous pouvez y accéder, 476 00:26:20,110 --> 00:26:21,450 il ya une commande que vous pouvez exécuter. 477 00:26:21,450 --> 00:26:26,590 Laissez-moi vite l'écrire que d'autres personnes puissent le voir. 478 00:26:26,590 --> 00:26:30,670 Je vais ouvrir un nouvel onglet ici et aller dans mon dossier de séminaire. 479 00:26:30,670 --> 00:26:33,500 480 00:26:33,500 --> 00:26:36,490 Chmod est la commande pour modifier les autorisations, 481 00:26:36,490 --> 00:26:40,060 et vous pouvez dire r pour le faire récursive pour chaque fichier. 482 00:26:40,060 --> 00:26:46,040 Et autorisations, vous pouvez essayer de 0755 vous assurer que vous avez un accès complet, 483 00:26:46,040 --> 00:26:47,820 et tout le monde peut lire. 484 00:26:47,820 --> 00:26:50,100 Et si vous exécutez simplement cette commande, il va faire 485 00:26:50,100 --> 00:26:55,800 que les autorisations sont en vérifier l'ensemble du répertoire. 486 00:26:55,800 --> 00:26:59,160 Courir ls-l peut vous montrer le permissions plus en détail. 487 00:26:59,160 --> 00:27:01,290 Cela semble OK. 488 00:27:01,290 --> 00:27:03,900 >> Quel est le plus important est que vous avez tous les trois 489 00:27:03,900 --> 00:27:06,610 rwx pour tous les fichiers dans le répertoire de séminaire. 490 00:27:06,610 --> 00:27:09,415 491 00:27:09,415 --> 00:27:11,330 Est-ce que résoudre le problème? 492 00:27:11,330 --> 00:27:13,735 >> PUBLIC: Il dit manquantes opérant [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: Vous devez vous assurer que vous 496 00:27:20,490 --> 00:27:23,022 avoir un point à la fin de votre commande. 497 00:27:23,022 --> 00:27:23,938 AUDIENCE: [inaudible]. 498 00:27:23,938 --> 00:27:36,395 499 00:27:36,395 --> 00:27:37,520 ROGER ZURAWICKI: Très bien. 500 00:27:37,520 --> 00:27:42,220 Passons rapidement à la hôte local, l'application que nous avons. 501 00:27:42,220 --> 00:27:46,640 Et vous verrez que nous avons une quelques tâches ici, comme prévu. 502 00:27:46,640 --> 00:27:49,330 503 00:27:49,330 --> 00:27:51,990 Nous avons un tas de CSS, qui vous ne avez pas besoin de se inquiéter. 504 00:27:51,990 --> 00:27:53,740 Le tutoriel Meteor donne juste cela pour vous 505 00:27:53,740 --> 00:27:58,010 pour faire de votre liste à faire un coup d'oeil peu mieux que le HTML. 506 00:27:58,010 --> 00:28:02,290 Et nous avons le fichier JavaScript, qui Je vais aller plus en détail un peu plus tard, 507 00:28:02,290 --> 00:28:04,272 mais il fournit simplement ces tâches. 508 00:28:04,272 --> 00:28:04,980 Il se agit d'une tâche. 509 00:28:04,980 --> 00:28:05,740 Ce est la tâche à deux. 510 00:28:05,740 --> 00:28:06,590 Cette tâche est trois. 511 00:28:06,590 --> 00:28:09,720 Donc, ce sont les données de Meteor obtenir. 512 00:28:09,720 --> 00:28:15,590 >> Une des choses cool à propos de Meteor est que des changements peuvent se produire automatiquement. 513 00:28:15,590 --> 00:28:18,990 Si je voulais changer le Nom de la première tâche, 514 00:28:18,990 --> 00:28:22,490 de sorte qu'il serait dire ce ne est pas une tâche, et je l'économiser, 515 00:28:22,490 --> 00:28:26,370 alors quand je vais sur le web navigateur, vous pouvez rafraîchir, 516 00:28:26,370 --> 00:28:30,861 et il dit automatiquement ce ne est pas une tâche. 517 00:28:30,861 --> 00:28:32,860 Vous pouvez faire la même chose dans l'un de ces fichiers. 518 00:28:32,860 --> 00:28:37,940 Faire un changement, au lieu de le faire liste, je vais avoir ma liste à faire. 519 00:28:37,940 --> 00:28:40,980 >> Et une chose que vous venez remarqué, que je ne avais même pas pour se rafraîchir. 520 00:28:40,980 --> 00:28:43,960 L'idée de rafraîchissement est en quelque sorte de résoudre pour vous avec Meteor. 521 00:28:43,960 --> 00:28:48,970 Dès qu'il détecte les modifications de fichiers, il va charger les modifications pour vous. 522 00:28:48,970 --> 00:28:53,110 Cela fonctionne sur tous les fichiers, que ce soit ce est HTML, CSS, JavaScript ou. 523 00:28:53,110 --> 00:28:57,990 Pour vous montrer ce que cette application aurait l'air comme sans CSS, je peux retirer tout. 524 00:28:57,990 --> 00:29:04,720 Et quand il est rechargé, vous avez maintenant non pas comme une belle apparence pour faire la liste. 525 00:29:04,720 --> 00:29:06,370 Mettons que le contenu de retour. 526 00:29:06,370 --> 00:29:11,343 Et sûrement assez, il rafraîchit et notre CSS est de retour. 527 00:29:11,343 --> 00:29:11,843 Grande. 528 00:29:11,843 --> 00:29:15,700 529 00:29:15,700 --> 00:29:20,010 >> Nous pouvons maintenant passer avec le tutoriel. 530 00:29:20,010 --> 00:29:23,360 Parlons de la deuxième étape, des modèles. 531 00:29:23,360 --> 00:29:27,140 Ce est ce que nous venons de voir avec les différentes tâches. 532 00:29:27,140 --> 00:29:31,550 Meteor va vous expliquer ce que modèles et comment cette logique fonctionne. 533 00:29:31,550 --> 00:29:34,760 Mais disons simplement regarder le code pour voir si nous pouvons donner un sens hors de lui. 534 00:29:34,760 --> 00:29:38,030 535 00:29:38,030 --> 00:29:41,460 >> Dans des applications très simples, comme ce que nous avons dans la simple 536 00:29:41,460 --> 00:29:44,550 à faire, la première étape, la deuxième étape, l'étape trois, la quatrième étape, la cinquième étape, 537 00:29:44,550 --> 00:29:45,700 nous ne avons pas tous les dossiers. 538 00:29:45,700 --> 00:29:47,533 Nous ne avons pas le serveur dossier que je ai mentionné. 539 00:29:47,533 --> 00:29:50,510 Nous ne avons pas le client dossier qui a été mentionné. 540 00:29:50,510 --> 00:29:52,290 Donc Meteor se déroulera tous les fichiers. 541 00:29:52,290 --> 00:29:55,210 Il va courir à la fois sur le client, à la fois sur le serveur. 542 00:29:55,210 --> 00:29:58,840 >> Et si vous voulez parties de votre JavaScript code se exécute seulement sur le client, 543 00:29:58,840 --> 00:30:02,350 ils ont besoin pour se assurer que vous avez une instruction if, un peu comme ce que 544 00:30:02,350 --> 00:30:04,890 nous avons dans notre fichier JavaScript ici. 545 00:30:04,890 --> 00:30:08,010 Donc, Meteor, que si ce est le client, alors je 546 00:30:08,010 --> 00:30:12,355 vouloir définir un modèle aide appelés tâches. 547 00:30:12,355 --> 00:30:15,050 548 00:30:15,050 --> 00:30:19,260 Qu'est ce code vraiment fait est qu'il dit qu'il ya 549 00:30:19,260 --> 00:30:21,800 un modèle d'objet appelé qui fournit Meteor. 550 00:30:21,800 --> 00:30:23,270 Et nous allons ajouter une aide. 551 00:30:23,270 --> 00:30:27,680 Helpers sont ces tâches, ces choses comme les tâches. 552 00:30:27,680 --> 00:30:33,890 >> Vous verrez que si nous revenons à la fichier HTML, nous avons appelé chacun sur les tâches. 553 00:30:33,890 --> 00:30:35,750 Tâches ne est pas défini dans le code HTML. 554 00:30:35,750 --> 00:30:37,770 Il est défini dans le JavaScript. 555 00:30:37,770 --> 00:30:42,610 Et Meteor a besoin de savoir quelles tâches est quand nous allons dans le JavaScript ici. 556 00:30:42,610 --> 00:30:45,550 Tâches est cette aide. 557 00:30:45,550 --> 00:30:49,830 Helper, vous pouvez penser en tant que variable de modèle. 558 00:30:49,830 --> 00:30:51,000 Et qu'est-ce que font les tâches? 559 00:30:51,000 --> 00:30:53,580 Eh bien, il retourne la liste des valeurs. 560 00:30:53,580 --> 00:30:56,750 Parce que ce est une liste, nous pouvons appeler les uns en elle. 561 00:30:56,750 --> 00:30:58,590 Ce est pourquoi nous appelons chacun sur les tâches. 562 00:30:58,590 --> 00:30:59,730 Et maintenant nous avons tâche. 563 00:30:59,730 --> 00:31:02,850 564 00:31:02,850 --> 00:31:03,990 >> Qu'est-ce que la tâche faire? 565 00:31:03,990 --> 00:31:07,740 Eh bien, il a cette flèche ici après les accolades. 566 00:31:07,740 --> 00:31:09,130 Cela signifie que la tâche est un modèle. 567 00:31:09,130 --> 00:31:11,100 Ce ne est pas une aide, comme ce que nous venons de voir. 568 00:31:11,100 --> 00:31:12,872 Ce est un modèle que nous avons défini. 569 00:31:12,872 --> 00:31:14,080 Et où nous avons défini il? 570 00:31:14,080 --> 00:31:16,950 Nous avons défini ci-dessous ici. 571 00:31:16,950 --> 00:31:21,160 >> Tout ce modèle ne est rendu un élément de liste, et il appelle texte. 572 00:31:21,160 --> 00:31:24,160 Maintenant, semble être moins un aide, mais je vais vous montrer 573 00:31:24,160 --> 00:31:26,610 que ce est effectivement encore un élément de données de tâches. 574 00:31:26,610 --> 00:31:29,230 575 00:31:29,230 --> 00:31:33,670 Lorsque vous appelez chacun, il va dans la structure de données un peu de bits. 576 00:31:33,670 --> 00:31:39,130 Comme la boucle foreach, maintenant regarde juste au premier élément dans notre objet. 577 00:31:39,130 --> 00:31:41,850 Nous voyons que le texte est défini ici dans notre objet. 578 00:31:41,850 --> 00:31:45,350 Donc Meteor est intelligent pour savoir que nous parlons de ce texte, 579 00:31:45,350 --> 00:31:47,630 pas l'aide appelée texte. 580 00:31:47,630 --> 00:31:52,120 Il obtient juste la valeur de cette texte ici et l'affiche comme HTML, 581 00:31:52,120 --> 00:31:55,475 et ce est la façon dont les données vont du JavaScript au code HTML. 582 00:31:55,475 --> 00:32:03,320 583 00:32:03,320 --> 00:32:07,030 >> Passant si, dans cet exemple, nous avons codé en dur ces valeurs. 584 00:32:07,030 --> 00:32:10,440 Meteor fait vraiment deux de belles choses pour nous. 585 00:32:10,440 --> 00:32:15,050 Outre le rafraîchissement direct que nous a montré, il gère également notre base de données. 586 00:32:15,050 --> 00:32:18,750 Si vous aviez à travailler avec PHP, vous deviez configurer phpMyAdmin. 587 00:32:18,750 --> 00:32:21,320 Vous avez eu à vous assurer que votre tables étaient tous en échec. 588 00:32:21,320 --> 00:32:24,760 Vous avez eu à faire beaucoup de travail à faire que vos données a été correctement formaté, 589 00:32:24,760 --> 00:32:27,880 et PHP pourrait communiquer avec lui. 590 00:32:27,880 --> 00:32:30,170 >> Maintenant, Meteor utilise un nouveau paradigme. 591 00:32:30,170 --> 00:32:32,310 Ce est une manière plus moderne de gérer une base de données. 592 00:32:32,310 --> 00:32:34,580 Ce est une technologie appelée MongoDB. 593 00:32:34,580 --> 00:32:38,740 Tout comme en JavaScript, nous avons vu qu'il n'a pas d'importance ce que les types de données avaient. 594 00:32:38,740 --> 00:32:39,640 Tout était var. 595 00:32:39,640 --> 00:32:40,570 Ce ne était pas un charstar. 596 00:32:40,570 --> 00:32:40,930 Ce ne était pas un int. 597 00:32:40,930 --> 00:32:41,970 Ce ne était pas une structure. 598 00:32:41,970 --> 00:32:44,210 Ce était juste ce var, var cela. 599 00:32:44,210 --> 00:32:46,320 >> MongoDB fonctionne sorte de la même façon. 600 00:32:46,320 --> 00:32:48,160 Vous ne avez pas à définir vos tables. 601 00:32:48,160 --> 00:32:50,860 Vous ne avez pas à dire une table a un nom qui a un int. 602 00:32:50,860 --> 00:32:54,710 Il a, je ne sais pas, un dollar, qui est un nombre décimal. 603 00:32:54,710 --> 00:32:58,360 Ce est seulement ces objets JavaScript, tous ces vars, essentiellement. 604 00:32:58,360 --> 00:33:02,780 Et ce est un très puissant moyen de prototyper votre application. 605 00:33:02,780 --> 00:33:06,190 Et ce est pourquoi Meteor tire parti de cette. 606 00:33:06,190 --> 00:33:11,080 >> Si nous passons à l'étape trois, Voyons ce qui a changé. 607 00:33:11,080 --> 00:33:15,480 Si nous regardons le todos HTML, pas beaucoup. 608 00:33:15,480 --> 00:33:17,170 CSS n'a pas changé du tout. 609 00:33:17,170 --> 00:33:22,420 Mais le petit changement que nous voyons en HTML ce est que nous avons changé la façon dont les tâches sont définies. 610 00:33:22,420 --> 00:33:23,800 Tâches est maintenant une fonction. 611 00:33:23,800 --> 00:33:25,800 Cela signifie que chaque temps, nous voulons obtenir des tâches, 612 00:33:25,800 --> 00:33:27,480 nous allons lancer cette fonction. 613 00:33:27,480 --> 00:33:29,230 Il ne retourne pas le la fonction en tant que valeur. 614 00:33:29,230 --> 00:33:33,710 >> Meteor est intelligent de fait exécuter le fonction pour voir ce que nous sortons. 615 00:33:33,710 --> 00:33:36,650 Et il revient cette chose appelée tâches. 616 00:33:36,650 --> 00:33:40,650 Nous avons défini des tâches sur une seule ligne, et ce est une collection Mongo. 617 00:33:40,650 --> 00:33:43,170 Mongo se réfère à la base de données Meteor utilise, 618 00:33:43,170 --> 00:33:48,420 et cette nouvelle signifie simplement faisons une nouvelle collection, appelez-tâches. 619 00:33:48,420 --> 00:33:53,540 En MySQL, ce serait équivalent à la recherche des tâches de table appelé. 620 00:33:53,540 --> 00:33:56,350 Mongo possède des collections, pas les tables. 621 00:33:56,350 --> 00:34:00,100 Donc, cela semble juste pour tâches. 622 00:34:00,100 --> 00:34:04,820 >> Maintenant, dans notre modèle helper dans le modèle, tout 623 00:34:04,820 --> 00:34:08,380 nous avons à faire pour obtenir toutes les tâches est cette fonction, trouver 624 00:34:08,380 --> 00:34:11,710 et cette orthèse vide. 625 00:34:11,710 --> 00:34:14,150 Ce est plus particulièrement à la syntaxe Mongo. 626 00:34:14,150 --> 00:34:16,159 Il ya beaucoup de documentation en ligne pour savoir comment 627 00:34:16,159 --> 00:34:19,360 vous pouvez faire efficace et vraiment utile Mongo interroge. 628 00:34:19,360 --> 00:34:25,560 Mais quelque chose comme ce qui est bon assez pour simplement trouver toutes les données. 629 00:34:25,560 --> 00:34:30,100 >> Maintenant, l'une des questions que vous pourriez voir ce est que nous ne avons jamais fait ajouter des données. 630 00:34:30,100 --> 00:34:35,020 Donc ce qui arrive quand nous fait courir la troisième étape? 631 00:34:35,020 --> 00:34:37,550 Passons rapidement en la troisième étape et exécuter Meteor. 632 00:34:37,550 --> 00:34:42,870 633 00:34:42,870 --> 00:34:45,650 Remarquez que je avais un autre Meteor projet en cours ailleurs, 634 00:34:45,650 --> 00:34:49,110 afin Meteor ne aime pas ça. 635 00:34:49,110 --> 00:34:52,810 Je vais rapidement près de l'autre avec le contrôle Meteor C, 636 00:34:52,810 --> 00:34:55,780 aller dans la troisième étape, et relancez Meteor. 637 00:34:55,780 --> 00:35:01,070 638 00:35:01,070 --> 00:35:03,180 Remarquez ça commence MongoDB parce MongoDB 639 00:35:03,180 --> 00:35:06,370 est une partie de chaque projet Meteor. 640 00:35:06,370 --> 00:35:09,190 >> Donc, il dit mon application contient des erreurs. 641 00:35:09,190 --> 00:35:10,590 Ce est une fonctionnalité intéressante a Meteor. 642 00:35:10,590 --> 00:35:13,700 Il se assure que votre HTML est bien validée. 643 00:35:13,700 --> 00:35:17,710 Regardons rapidement les raisons pour lesquelles cela pourrait être. 644 00:35:17,710 --> 00:35:26,110 Il semble que je ai accidentellement copié le code HTML mal. 645 00:35:26,110 --> 00:35:30,610 Si je sauve maintenant, Meteor renouvelées automatiquement le serveur, 646 00:35:30,610 --> 00:35:34,650 et maintenant l'application se exécute comme prévu. 647 00:35:34,650 --> 00:35:39,220 Avis à résoudre ce problème, vous pouvez simplement exécuter le même fichier HTML à partir de la deuxième étape, 648 00:35:39,220 --> 00:35:40,380 copier dans la troisième étape. 649 00:35:40,380 --> 00:35:43,290 650 00:35:43,290 --> 00:35:45,917 >> Nous pouvons revenir à notre hôte local. 651 00:35:45,917 --> 00:35:47,500 Et maintenant nous voyons que nous avons notre liste à faire. 652 00:35:47,500 --> 00:35:50,070 Grande, mais il est vide. 653 00:35:50,070 --> 00:35:54,210 Nous ne avons pas fait tout tâches dans notre base de données Mongo. 654 00:35:54,210 --> 00:35:57,930 Donc, nous allons parler d'un quelques façons que nous pouvons faire cela. 655 00:35:57,930 --> 00:36:03,240 Si nous revenons à la borne, nous peut fermer et exécuter Meteor Mongo. 656 00:36:03,240 --> 00:36:05,320 >> Si vous êtes familier avec la façon dont fonctionne Meteor, 657 00:36:05,320 --> 00:36:14,100 cela donne effectivement vous accès à l'MongoDB complet pour Meteor. 658 00:36:14,100 --> 00:36:17,570 Notez que vous devez être en cours d'exécution Meteor première pour que cela fonctionne. 659 00:36:17,570 --> 00:36:23,840 Donc, si je lance ce dans un nouvel onglet, je peut revenir dans le même répertoire. 660 00:36:23,840 --> 00:36:29,040 661 00:36:29,040 --> 00:36:32,570 Et maintenant Meteor fonctionne très bien. 662 00:36:32,570 --> 00:36:33,600 Il se agit d'une invite. 663 00:36:33,600 --> 00:36:36,350 664 00:36:36,350 --> 00:36:38,790 Permettez-moi de faire un peu plus grand que nous puissions voir. 665 00:36:38,790 --> 00:36:41,550 Cela ressemble un peu différent que ce que vous pourriez être utilisé pour vous 666 00:36:41,550 --> 00:36:42,869 ne ont pas vraiment besoin d'utiliser Mongo. 667 00:36:42,869 --> 00:36:45,410 Le point de moi ici, ce est toute de sorte que vous pouvez utiliser JavaScript. 668 00:36:45,410 --> 00:36:48,250 Mais si vous êtes curieux, l'API ne est pas mongo 669 00:36:48,250 --> 00:36:50,730 utiliser SQL, le Structured Query Language. 670 00:36:50,730 --> 00:36:55,570 Il utilise son propre langage ressemble beaucoup à JavaScript. 671 00:36:55,570 --> 00:37:00,520 Très rapidement, nous pouvons trouver la table via db.tasks. 672 00:37:00,520 --> 00:37:08,940 Et il me dit se avère si nous courons trouver, 673 00:37:08,940 --> 00:37:13,450 sorte de semblable à ce que nous avons eu avec Meteor, nous pouvons charger tous les éléments. 674 00:37:13,450 --> 00:37:17,330 Le problème est, nous ne avons pas avoir fait toutes les tâches définies. 675 00:37:17,330 --> 00:37:20,600 Donc, il ne peut pas les obtenir. 676 00:37:20,600 --> 00:37:22,130 >> Nous pouvons insérer, cependant. 677 00:37:22,130 --> 00:37:25,170 Donc, nous pouvons exécuter insert avec la commande insert. 678 00:37:25,170 --> 00:37:29,140 Et nous donnons juste qu'il un objet, et nous avons juste 679 00:37:29,140 --> 00:37:31,840 assurez-vous que le format est ce que nous attendons. 680 00:37:31,840 --> 00:37:35,030 Si nous avons examiné à l'étape deux, nous avons vu que chaque tâche 681 00:37:35,030 --> 00:37:39,590 était un objet avec un texte comme la clé et tout 682 00:37:39,590 --> 00:37:41,640 votre article était de faire comme une variable. 683 00:37:41,640 --> 00:37:44,680 Donc, nous pouvons faire quelque chose ici. 684 00:37:44,680 --> 00:37:50,160 >> Nous pouvons le faire insérer une tâche appelé Je viens de Mongo. 685 00:37:50,160 --> 00:37:52,570 Et nous appuyez sur Entrée, et il fonctionne. 686 00:37:52,570 --> 00:37:56,900 Nous pouvons courir retrouver, et nous voir qu'il ya un objet ici. 687 00:37:56,900 --> 00:38:01,810 Mongo lui attribue un ID, que vous ne ont pas vraiment besoin de se inquiéter. 688 00:38:01,810 --> 00:38:06,690 Ce qui est important pour vous est que les données vous mettez dans, sont les données que vous sortez. 689 00:38:06,690 --> 00:38:10,500 >> Revenons à notre site, et hé, notre tâche chargé. 690 00:38:10,500 --> 00:38:13,987 Et vous pouvez voir que parce Meteor est très intelligent 691 00:38:13,987 --> 00:38:16,570 et rafraîchit toujours pour vous, je ne pas avoir à toucher la page. 692 00:38:16,570 --> 00:38:19,160 Il automatiquement chargé. 693 00:38:19,160 --> 00:38:23,520 >> Lançons un certain code dans JavaScript si pour ce faire. 694 00:38:23,520 --> 00:38:26,120 Comme nous avons nœud dans le dos fin d'exécuter sur JavaScript, 695 00:38:26,120 --> 00:38:29,280 nous pouvons également exécuter JavaScript directement dans les navigateurs. 696 00:38:29,280 --> 00:38:31,970 Vous pouvez le faire par un trait Inspectez appelé Element. 697 00:38:31,970 --> 00:38:34,210 Si je clique droit sur un section de la page, 698 00:38:34,210 --> 00:38:36,730 il ya une option Inspectez appelé Element. 699 00:38:36,730 --> 00:38:38,840 Si vous utilisez un navigateur comme Safari, vous 700 00:38:38,840 --> 00:38:45,430 peut-être besoin pour permettre à votre développeur outils avant que vous obtenez cette fonction. 701 00:38:45,430 --> 00:38:46,930 >> Ce qui nous préoccupe est la console. 702 00:38:46,930 --> 00:38:48,930 Donc, nous allons simplement aller à la console en bas. 703 00:38:48,930 --> 00:38:52,110 704 00:38:52,110 --> 00:38:55,970 Maintenant, nous pouvons exécuter ne importe quel JavaScript ici, comme le JavaScript 705 00:38:55,970 --> 00:38:58,860 fichiers je ai montré dans l'exemple js. 706 00:38:58,860 --> 00:39:02,040 Mais maintenant, regardons tâches. 707 00:39:02,040 --> 00:39:04,955 Nous pouvons exécuter notre commande. 708 00:39:04,955 --> 00:39:07,830 Et je espère que je serai en mesure de faire un peu plus grand, alors nous pouvons tous voir. 709 00:39:07,830 --> 00:39:14,390 710 00:39:14,390 --> 00:39:18,450 >> Si nous courons tasks.find, et vous aurez voir que ce est exactement le même code 711 00:39:18,450 --> 00:39:24,840 que les utilisations de fichiers JavaScript à l'étape trois, ce task.find. 712 00:39:24,840 --> 00:39:29,100 Nous pouvons exécuter la même chose, et maintenant nous avons des trucs bizarres. 713 00:39:29,100 --> 00:39:31,050 Comment pouvons-nous réellement les données? 714 00:39:31,050 --> 00:39:34,860 Eh bien, nous devons exécuter ce commande appelée chercher. 715 00:39:34,860 --> 00:39:37,150 >> Ce est très utile pour le débogage. 716 00:39:37,150 --> 00:39:41,000 Ce que vous obtenez ici est un curseur, et ce est 717 00:39:41,000 --> 00:39:44,890 une belle façon Meteor a Obtention de données optimisées. 718 00:39:44,890 --> 00:39:48,270 Ce curseur possède toutes les caractéristiques pour mise à jour en direct et d'actualiser la page 719 00:39:48,270 --> 00:39:49,650 quand quelque chose a changé. 720 00:39:49,650 --> 00:39:51,280 Mais il ne nous obtenir les données. 721 00:39:51,280 --> 00:39:52,720 Nous pouvons obtenir les données via chercher. 722 00:39:52,720 --> 00:39:56,880 Et vous voyez, nous avons un objet, et ce est juste comme ce que nous avions à Mongo, 723 00:39:56,880 --> 00:40:00,040 avec un ID et le texte nous avons mis en. 724 00:40:00,040 --> 00:40:04,200 >> Alors, comment pouvons-nous insérons un élément dans Meteor? 725 00:40:04,200 --> 00:40:07,250 Eh bien, nous avons juste tâches. 726 00:40:07,250 --> 00:40:09,990 Et puis nous pouvons lancer la même commande d'insertion, 727 00:40:09,990 --> 00:40:17,520 donnant un dictionnaire ou un objet avec le même format, moins 728 00:40:17,520 --> 00:40:22,340 et puis je viens de la console. 729 00:40:22,340 --> 00:40:27,240 Jetez un oeil ci-dessus parce que quand je ce faire, il apparaît sur le site Web 730 00:40:27,240 --> 00:40:29,660 automatiquement. 731 00:40:29,660 --> 00:40:33,291 >> Notez que vous pouvez mettre ne importe quoi vous voulez dans ces articles. 732 00:40:33,291 --> 00:40:35,040 Il ne est pas nécessaire avoir une structure fixe. 733 00:40:35,040 --> 00:40:39,790 Je pourrais avoir un égal à la numéro trois et b égale à faux. 734 00:40:39,790 --> 00:40:41,600 Et tout cela fonctionne. 735 00:40:41,600 --> 00:40:46,000 Je ne peux même choisir de ne pas inclure un texte du tout. 736 00:40:46,000 --> 00:40:48,320 Ce est tout simplement pas recommandé mais parce qu'alors Meteor 737 00:40:48,320 --> 00:40:50,920 ne saura pas ce qu'il faut afficher. 738 00:40:50,920 --> 00:40:53,110 Mais dans chaque cas, nous obtenir un ID, et ce est 739 00:40:53,110 --> 00:40:54,785 l'ID de l'objet que vous pouvez utiliser. 740 00:40:54,785 --> 00:41:01,120 741 00:41:01,120 --> 00:41:03,280 >> Comme nous continuons avec étape quatre et cinq étape, 742 00:41:03,280 --> 00:41:06,870 le tutoriel va vous montrer une manière qui vous pouvez créer des éléments de l'interface utilisateur à l'aide 743 00:41:06,870 --> 00:41:13,130 le code HTML que vous savez créer des tâches différentes. 744 00:41:13,130 --> 00:41:15,440 Regardons quatre étapes très rapidement. 745 00:41:15,440 --> 00:41:18,290 Nous allons voir que nous avons ajouté une section sur les événements. 746 00:41:18,290 --> 00:41:20,874 Les modèles peuvent avoir aides, qui nous obtenons des données. 747 00:41:20,874 --> 00:41:22,040 Mais il peut aussi appeler événements. 748 00:41:22,040 --> 00:41:25,300 Et ce est là que des trucs devient utile, parce que les événements 749 00:41:25,300 --> 00:41:28,590 sont ce qui se passe lorsque vous cliquez sur des choses différentes sur votre site web. 750 00:41:28,590 --> 00:41:33,790 >> Ici, notre code est dire nous ajoutons cet événement. 751 00:41:33,790 --> 00:41:38,860 Ajouter lorsque vous avez soumis quelque chose avec la nouvelle tâche de classe. 752 00:41:38,860 --> 00:41:41,910 Ce que vous avez ici est un sélecteur CSS. 753 00:41:41,910 --> 00:41:45,870 Donc, cela semble juste pour un HTML élément qui a la tâche de classe. 754 00:41:45,870 --> 00:41:47,940 Et il semble pour l'événement, comme présenter. 755 00:41:47,940 --> 00:41:51,050 D'autres événements incluent clic, vol stationnaire, double clic, 756 00:41:51,050 --> 00:41:54,450 semblable à ce que vous obtenez en HTML normale. 757 00:41:54,450 --> 00:41:56,770 >> Ce que vous donnez ici est maintenant une fonction. 758 00:41:56,770 --> 00:42:01,210 Et vous pouvez avoir votre code dans cette fonction. 759 00:42:01,210 --> 00:42:06,360 Cette fonction est ce qui finit par obtenir appelé lorsque vous soumettez cette nouvelle tâche. 760 00:42:06,360 --> 00:42:12,170 Regardons le code HTML pour que nous comprendre ce que cette nouvelle tâche est. 761 00:42:12,170 --> 00:42:15,570 Nous avons ajouté un formulaire ici avec la classe nouvelle tâche. 762 00:42:15,570 --> 00:42:19,880 Et il a une entrée qui prend moins. 763 00:42:19,880 --> 00:42:22,605 Et ce est là que nous avons va ajouter nos nouvelles tâches. 764 00:42:22,605 --> 00:42:25,520 765 00:42:25,520 --> 00:42:29,780 >> Lançons la quatrième étape dans le site pour voir à quoi il ressemble. 766 00:42:29,780 --> 00:42:32,710 Nous pouvons quitter premier sorti de la MongoDB nous avions 767 00:42:32,710 --> 00:42:35,300 de notre précédente Contrôle exemple de C. 768 00:42:35,300 --> 00:42:37,690 Et nous allons changer dans l'étape quatre répertoire. 769 00:42:37,690 --> 00:42:41,000 770 00:42:41,000 --> 00:42:42,920 Nous allons courir à nouveau Meteor pour démarrer le serveur. 771 00:42:42,920 --> 00:42:46,850 772 00:42:46,850 --> 00:42:50,510 Et malheureusement, je ai eu Meteor tournant sur un autre terminal. 773 00:42:50,510 --> 00:42:53,080 Donc je vais juste se assurer que ce fermé. 774 00:42:53,080 --> 00:43:01,805 Cessons de cette et le changement à la quatrième partie, l'étape quatre. 775 00:43:01,805 --> 00:43:02,305 D'ACCORD. 776 00:43:02,305 --> 00:43:11,220 777 00:43:11,220 --> 00:43:13,250 >> Maintenant, notre code de Meteor est en marche. 778 00:43:13,250 --> 00:43:19,480 Et vous pouvez voir que ce jour, sans nous même avoir à rafraîchir la page. 779 00:43:19,480 --> 00:43:24,410 Ce qui a changé ici est maintenant que nous ne avons pas de tâches, 780 00:43:24,410 --> 00:43:29,530 mais nous avons une forme ici, ce zone de texte, d'ajouter nos nouvelles tâches. 781 00:43:29,530 --> 00:43:31,550 Et nous pouvons taper notre tâche ici. 782 00:43:31,550 --> 00:43:34,564 Je viens de la page HTML. 783 00:43:34,564 --> 00:43:36,105 Lorsque je appuie sur Entrée, il se est présenté. 784 00:43:36,105 --> 00:43:39,180 785 00:43:39,180 --> 00:43:44,540 >> Nous pouvons voir que ce qui est arrivé définie par le code JavaScript. 786 00:43:44,540 --> 00:43:49,930 Que fait cette fonction était prendre le texte de la forme, 787 00:43:49,930 --> 00:43:53,680 et puis juste appelé tasks.insert, comme nous l'avons fait dans la console. 788 00:43:53,680 --> 00:43:56,410 Ils ont aussi choisi d'ajouter une date de createdAt. 789 00:43:56,410 --> 00:43:59,840 Ce est ainsi que vous le feriez spécifier l'heure actuelle. 790 00:43:59,840 --> 00:44:03,220 Après cela, il efface la forme en faisant vous que la valeur est une chaîne vide. 791 00:44:03,220 --> 00:44:06,550 >> Et puis il appelle retourner faux assurez-vous que rien ne se passe. 792 00:44:06,550 --> 00:44:10,350 Lorsque vous revenez d'une fausse événement formulaire, qui arrête l'exécution. 793 00:44:10,350 --> 00:44:14,520 Dites une forme a une action, comme soumettre à une page PHP. 794 00:44:14,520 --> 00:44:16,980 Si vous ne aviez pas retourné faux, vous souhaitez retourner vrai. 795 00:44:16,980 --> 00:44:18,500 Il finirait par faire cette demande. 796 00:44:18,500 --> 00:44:20,590 Faux et l'intercepte l'arrête là. 797 00:44:20,590 --> 00:44:23,510 798 00:44:23,510 --> 00:44:28,610 >> Donc, ce était une petite démo propos comment Meteor fonctionne, et nous avons 799 00:44:28,610 --> 00:44:30,980 suivi le tutoriel pour un certain temps. 800 00:44:30,980 --> 00:44:33,560 Et vous pouvez sentir se il vous plaît libre de continuer à le faire. 801 00:44:33,560 --> 00:44:37,760 Il ya beaucoup de ressources, et le tutoriel est en fait juste 802 00:44:37,760 --> 00:44:40,400 très bon d'expliquer ce qui se passe. 803 00:44:40,400 --> 00:44:44,362 Je ne veux vous montrer maintenant, dans les quelques minutes qui nous restent, 804 00:44:44,362 --> 00:44:46,320 ce sont quelques-uns des caractéristiques les plus fraîches de Meteor, 805 00:44:46,320 --> 00:44:48,772 et ce sont quelques-uns des forfaits plus utiles. 806 00:44:48,772 --> 00:44:51,730 Une des grandes choses au sujet Meteor ce est que vous avez un système de package. 807 00:44:51,730 --> 00:44:55,620 Vous pouvez facilement intégrer du code que des milliers de développeurs 808 00:44:55,620 --> 00:44:58,840 ont écrit dans le monde entier dans votre projet de Meteor. 809 00:44:58,840 --> 00:45:02,410 Un exemple de ceci est ce que vous pourriez faire à l'étape neuf du tutoriel, où 810 00:45:02,410 --> 00:45:07,435 vous essayez d'ajouter des comptes à votre projet de Meteor. 811 00:45:07,435 --> 00:45:10,010 812 00:45:10,010 --> 00:45:13,690 Si nous avons un PHP CS50 projet, nous aurions 813 00:45:13,690 --> 00:45:17,810 de se appuyer sur le cadre ou notre propre code de faire 814 00:45:17,810 --> 00:45:20,820 que nous traitons en toute sécurité mots de passe et noms d'utilisateurs 815 00:45:20,820 --> 00:45:23,120 et le stockage de la base de données et tout cela. 816 00:45:23,120 --> 00:45:25,670 >> Il se avère Meteor a une certaine paquets de le faire pour vous, 817 00:45:25,670 --> 00:45:29,160 et de le faire très facilement. 818 00:45:29,160 --> 00:45:31,950 Ce que nous pouvons faire est d'ajouter quelques paquets. 819 00:45:31,950 --> 00:45:37,450 Alors, faisons ce droit maintenant dans notre console. 820 00:45:37,450 --> 00:45:42,460 Je vais quitter le projet et maintenant aller dans todos simple. 821 00:45:42,460 --> 00:45:47,450 822 00:45:47,450 --> 00:45:50,050 Maintenant, simple-todos est le projet que vous 823 00:45:50,050 --> 00:45:53,500 aura après avoir été fait à l'étape 11 ou l'étape 12, 824 00:45:53,500 --> 00:45:55,250 à la fin de ce tutoriel. 825 00:45:55,250 --> 00:45:58,642 Et nous allons rapidement le regarder pour voir quelles sont les différentes fonctionnalités que nous avons. 826 00:45:58,642 --> 00:46:01,610 Disons simplement se assurer qu'il est en cours d'exécution. 827 00:46:01,610 --> 00:46:04,400 Parfois, il faut un certain temps pour se rafraîchir, mais ici il est. 828 00:46:04,400 --> 00:46:09,710 >> Nous avons notre option pour cacher tâches complètes, et nous pouvons vous connecter. 829 00:46:09,710 --> 00:46:11,770 Et cela a été fait avec le paquet Meteor. 830 00:46:11,770 --> 00:46:12,270 C'est super. 831 00:46:12,270 --> 00:46:14,910 Nous avons maintenant Nom d'utilisateur et le signe de mot de passe dans. 832 00:46:14,910 --> 00:46:19,170 Mais que faire si nous voulions ajouter un autre type de mécanisme de connexion? 833 00:46:19,170 --> 00:46:22,560 Disons que je voulais vous connecter avec mon compte de Meteor. 834 00:46:22,560 --> 00:46:27,270 Je vais courir météore add, et cela est la syntaxe pour ajouter des paquets. 835 00:46:27,270 --> 00:46:32,160 Je peux dire comptes, et accounts.meteor. 836 00:46:32,160 --> 00:46:35,720 Il va trouver maintenant l'emballage et le charger. 837 00:46:35,720 --> 00:46:40,480 Vous pouvez voir que je ne ai pas trouvé le nom de bon paquet. 838 00:46:40,480 --> 00:46:42,820 >> Alors, comment trouvez-vous sur les paquets? 839 00:46:42,820 --> 00:46:46,380 Eh bien il ya un grand site Web, fait disponibles par le peuple de Meteor, 840 00:46:46,380 --> 00:46:47,780 appelé atmospherejs.com. 841 00:46:47,780 --> 00:46:52,520 Atmospherejs, un mot, dot com, est un grand référentiel 842 00:46:52,520 --> 00:46:57,660 pour trouver toutes de la Meteor packages dans le référentiel. 843 00:46:57,660 --> 00:47:05,140 Je peux rechercher des comptes, puis il va me montrer tous les trucs pertinents, 844 00:47:05,140 --> 00:47:07,320 tous les paquets avec le nom du compte. 845 00:47:07,320 --> 00:47:10,180 846 00:47:10,180 --> 00:47:13,270 >> Alors que les charges, nous pouvons essayer ajoutant quelques autres paquets. 847 00:47:13,270 --> 00:47:19,380 Peut-être que le paquet Meteor ne fonctionne pas en ce moment, mais je peux ajouter Facebook. 848 00:47:19,380 --> 00:47:22,860 849 00:47:22,860 --> 00:47:27,190 Je peux ajouter le compte puis exécutez à nouveau le projet Meteor. 850 00:47:27,190 --> 00:47:33,260 851 00:47:33,260 --> 00:47:36,900 Une fois que cela commence, nous allons voir ce qui a changé sur le site. 852 00:47:36,900 --> 00:47:40,010 853 00:47:40,010 --> 00:47:44,580 Vous pouvez see-- je pourrais avoir à rafraîchir ici. 854 00:47:44,580 --> 00:47:47,320 >> Je ai un bouton pour configurer Facebook login. 855 00:47:47,320 --> 00:47:49,765 Et ici, je ai tout les instructions Meteor 856 00:47:49,765 --> 00:47:52,960 a préparé pour vous pour mise en place d'une application Facebook. 857 00:47:52,960 --> 00:47:58,990 Et vous pouvez l'utiliser informations pour ajouter vos identifiants. 858 00:47:58,990 --> 00:48:04,130 Une fois cela fait, vous aurez Facebook login travailler dans votre application. 859 00:48:04,130 --> 00:48:08,559 >> Je vais juste pour obtenir un ID d'application et un secret, 860 00:48:08,559 --> 00:48:10,100 juste pour vous montrer comment cela pourrait fonctionner. 861 00:48:10,100 --> 00:48:16,000 862 00:48:16,000 --> 00:48:20,360 Vous aurez besoin d'un compte Facebook utiliser Facebook options de développeur. 863 00:48:20,360 --> 00:48:31,160 864 00:48:31,160 --> 00:48:35,290 Permettez-moi de trouver rapidement les touches de Meteor qui sont nécessaires. 865 00:48:35,290 --> 00:48:46,994 866 00:48:46,994 --> 00:48:49,160 Je ai un autre projet Meteor que je vais utiliser, 867 00:48:49,160 --> 00:48:55,590 et je vais juste prendre les clés de ce fichier. 868 00:48:55,590 --> 00:49:14,410 869 00:49:14,410 --> 00:49:20,930 >> Et une fois que je trouve, je vais être en mesure de copier ces touches dans mon Facebook. 870 00:49:20,930 --> 00:49:23,489 Voici donc une clé. 871 00:49:23,489 --> 00:49:24,280 Et ce est secret. 872 00:49:24,280 --> 00:49:26,071 Vous ne devriez pas être partager avec des gens. 873 00:49:26,071 --> 00:49:28,870 874 00:49:28,870 --> 00:49:30,910 Et puis vous lui donnez votre application secret. 875 00:49:30,910 --> 00:49:33,560 Et cela est si Facebook sait que vous êtes vous. 876 00:49:33,560 --> 00:49:37,630 877 00:49:37,630 --> 00:49:39,080 Et vous enregistrez la configuration. 878 00:49:39,080 --> 00:49:45,160 879 00:49:45,160 --> 00:49:48,640 >> Je pense que dans le processus, je ai ont arrêté mon application Meteor. 880 00:49:48,640 --> 00:49:52,290 Donc, je veux juste faire sûr que ce est toujours là. 881 00:49:52,290 --> 00:49:54,962 882 00:49:54,962 --> 00:49:58,610 OK, faisons en sorte que notre serveur Meteor exécute pour que la page Web est en cours d'exécution. 883 00:49:58,610 --> 00:50:02,440 Remarquez si nous arrêtons la Meteor serveur, la page est toujours là. 884 00:50:02,440 --> 00:50:04,700 Il vient ne sera plus mise à jour. 885 00:50:04,700 --> 00:50:10,290 Le serveur de Meteor est nécessaire pour se assurer que la page est en ligne. 886 00:50:10,290 --> 00:50:14,050 >> OK, je ai présenté, et maintenant Je peux vous connecter avec Facebook. 887 00:50:14,050 --> 00:50:17,400 Maintenant, ce est juste une question de ayant un pop up Facebook 888 00:50:17,400 --> 00:50:21,710 et de mettre dans votre compte l'information et l'exploitation forestière dans. 889 00:50:21,710 --> 00:50:24,520 890 00:50:24,520 --> 00:50:27,930 Une fois que vous faites cela, Facebook pourrait nag vous pour un peu plus de sécurité. 891 00:50:27,930 --> 00:50:29,810 Nous allons donc arrêter là. 892 00:50:29,810 --> 00:50:34,110 Le fait est que lorsque vous avez terminé avec cela, vous aurez Facebook login. 893 00:50:34,110 --> 00:50:37,850 >> Meteor a un tas de d'autres paquets. 894 00:50:37,850 --> 00:50:39,200 Vous pouvez vous connecter avec Google+. 895 00:50:39,200 --> 00:50:40,500 Vous pouvez vous connecter avec GitHub. 896 00:50:40,500 --> 00:50:42,170 Vous pouvez vous connecter avec Twitter. 897 00:50:42,170 --> 00:50:44,870 Ou si vous recherchez, vous aurez trouver plein d'autres choses 898 00:50:44,870 --> 00:50:49,170 comme Meetup, LinkedIn, et développeur Meteor. 899 00:50:49,170 --> 00:50:53,100 Donc Meteor développeur était le paquet que je cherchais. 900 00:50:53,100 --> 00:50:56,170 météore ajouter des comptes-météore-développeur. 901 00:50:56,170 --> 00:51:06,192 902 00:51:06,192 --> 00:51:07,900 Dans l'intervalle, je veulent aussi de recommander 903 00:51:07,900 --> 00:51:11,340 quelques autres paquets pour vos projets. 904 00:51:11,340 --> 00:51:14,670 Il pourrait se avérer utile de porter sur le colis jQuery. 905 00:51:14,670 --> 00:51:17,909 Cela vous permet d'utiliser jQuery dans vos clients. 906 00:51:17,909 --> 00:51:21,200 Vous pouvez tout simplement faire avec une ligne, et Meteor se assurera que vous êtes à jour 907 00:51:21,200 --> 00:51:21,825 sur jQuery. 908 00:51:21,825 --> 00:51:24,330 909 00:51:24,330 --> 00:51:27,450 Je recommande également houston: admin. 910 00:51:27,450 --> 00:51:31,550 >> Ce est un peu comme un phpMyAdmin genre d'outil pour votre MongoDB. 911 00:51:31,550 --> 00:51:33,890 Cela vous permet d'éditer vos données assez facilement 912 00:51:33,890 --> 00:51:37,950 sans avoir à passer à la coquille Mongo, comme je l'avais fait plus tôt dans le séminaire. 913 00:51:37,950 --> 00:51:43,160 914 00:51:43,160 --> 00:51:47,101 Alors, maintenant que ce est en cours d'exécution, exécutons Meteor à nouveau et voir ce que nous pouvons faire. 915 00:51:47,101 --> 00:51:56,240 916 00:51:56,240 --> 00:52:00,720 >> Vous remarquerez que l'ajout de certains paquets pourraient avoir les présenter quelques avertissements. 917 00:52:00,720 --> 00:52:02,720 Vous ne aurez pas besoin de se inquiéter à ce sujet avec Houston. 918 00:52:02,720 --> 00:52:06,040 919 00:52:06,040 --> 00:52:10,810 Ainsi, nous pouvons maintenant avoir l'option pour configurer Meteor administrateur. 920 00:52:10,810 --> 00:52:15,080 Et ils vous donnent les directions si vous voulez mettre en place que. 921 00:52:15,080 --> 00:52:17,750 922 00:52:17,750 --> 00:52:20,440 >> Nous pouvons désormais aller à / admin. 923 00:52:20,440 --> 00:52:23,280 Ce est présenté par le paquet Houston. 924 00:52:23,280 --> 00:52:27,470 Et ce est l'interface d'administration Meteor. 925 00:52:27,470 --> 00:52:30,660 Vous créez simplement une compte admin, comme tant. 926 00:52:30,660 --> 00:52:38,150 Et si vous actualisez la page, vous pourriez ont des collections à apparaître. 927 00:52:38,150 --> 00:52:40,980 928 00:52:40,980 --> 00:52:43,460 >> Ce est un outil très utile, et je le recommande vivement. 929 00:52:43,460 --> 00:52:46,717 930 00:52:46,717 --> 00:52:49,050 Vous pouvez voir que parce houston donnait quelques erreurs, 931 00:52:49,050 --> 00:52:52,330 nous ne avons pas de collections montrant droit jusqu'à maintenant. 932 00:52:52,330 --> 00:52:56,800 La façon dont vous souhaitez utiliser houston est se assurer cette fonction obtient 933 00:52:56,800 --> 00:52:58,860 appelé dans vos simples-todos. 934 00:52:58,860 --> 00:53:01,370 Donc, Houston ne savent ce que mes tâches sont. 935 00:53:01,370 --> 00:53:04,490 >> Nous avons créé un Mongo collection appelée tâches. 936 00:53:04,490 --> 00:53:11,390 Allons dans todos simple et juste assurez-vous que dans le JavaScript, 937 00:53:11,390 --> 00:53:16,295 nous avons ajouté des tâches à nos collections. 938 00:53:16,295 --> 00:53:19,340 939 00:53:19,340 --> 00:53:25,670 Nous avons maintenant sauvés, et ce est la construction l'application, rafraîchissante. 940 00:53:25,670 --> 00:53:26,750 Et nous allons voir. 941 00:53:26,750 --> 00:53:29,090 Maintenant, nous avons certaines tâches. 942 00:53:29,090 --> 00:53:32,630 Et nous pouvons ajouter quelques nouvelles tâches. 943 00:53:32,630 --> 00:53:35,840 Mais si nous voulons ajouter des tâches, faisons-le avec l'application elle-même. 944 00:53:35,840 --> 00:53:39,660 945 00:53:39,660 --> 00:53:41,050 >> Maintenant, nous pouvons ajouter quelques données. 946 00:53:41,050 --> 00:53:53,410 Salut, ce est une tâche. 947 00:53:53,410 --> 00:53:57,080 Il semble un peu étrange que nous ne voyons pas les tâches. 948 00:53:57,080 --> 00:54:00,290 949 00:54:00,290 --> 00:54:05,260 Nous pourrions vouloir vérifier si nous avons eu tout erreurs ici, ou peut-être ailleurs. 950 00:54:05,260 --> 00:54:08,810 951 00:54:08,810 --> 00:54:20,260 Si nous allons dans admin, cela semble étrange. 952 00:54:20,260 --> 00:54:24,080 Si vous tirez sur le référentiel après ce séminaire, 953 00:54:24,080 --> 00:54:27,580 Je vais faire en sorte que simple todos travaille avec Houston. 954 00:54:27,580 --> 00:54:30,370 Malheureusement, il ne semble pas travailler en ce moment même. 955 00:54:30,370 --> 00:54:34,810 956 00:54:34,810 --> 00:54:37,640 >> Y at-il d'autres questions? 957 00:54:37,640 --> 00:54:41,800 Houston est normalement une outil qui fonctionne très bien. 958 00:54:41,800 --> 00:54:44,510 Houston est spécifiquement un peu Brugière que les autres, 959 00:54:44,510 --> 00:54:49,470 mais je recommande quand il fonctionne. 960 00:54:49,470 --> 00:54:50,080 Ouais. 961 00:54:50,080 --> 00:54:52,395 >> AUDIENCE: Que pouvez-vous faire avec le paquet Facebook 962 00:54:52,395 --> 00:54:54,270 une fois qu'un utilisateur est connecté avec leur Facebook? 963 00:54:54,270 --> 00:54:55,978 >> ROGER ZURAWICKI: Une fois un utilisateur de connecté, 964 00:54:55,978 --> 00:54:59,540 vous pouvez faire des appels à l'API Facebook. 965 00:54:59,540 --> 00:55:02,890 Beaucoup de qui se trouve plus dans comment Facebook ouvre son API. 966 00:55:02,890 --> 00:55:05,120 Meteor, assurez-vous avoir la connexion. 967 00:55:05,120 --> 00:55:09,300 Mais tout ce qui suit est une question d'apprendre à utiliser l'API Facebook. 968 00:55:09,300 --> 00:55:10,216 AUDIENCE: [inaudible]. 969 00:55:10,216 --> 00:55:17,756 970 00:55:17,756 --> 00:55:18,880 ROGER ZURAWICKI: Très bien. 971 00:55:18,880 --> 00:55:21,670 Merci beaucoup pour ce séminaire de CS50 dans Meteor. 972 00:55:21,670 --> 00:55:24,060 Si vous avez des questions, vous pouvez me envoyer un email 973 00:55:24,060 --> 00:55:28,319 à mon adresse e-mail ci-dessous le séminaire. 974 00:55:28,319 --> 00:55:30,110 Et je serai heureux de répondre à vos questions. 975 00:55:30,110 --> 00:55:33,020 Je serai aussi à la CS50 Hackathon devrait 976 00:55:33,020 --> 00:55:35,550 Besoin d'aide pour vos projets de Meteor. 977 00:55:35,550 --> 00:55:37,650 Merci pour regarder. 978 00:55:37,650 --> 00:55:38,816