1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:10,960 [GIOCO MUSIC] 3 00:00:10,960 --> 00:00:12,960 ROGER ZURAWICKI: Ciao, il mio nome è Roger Zurawicki, 4 00:00:12,960 --> 00:00:16,410 e tratteremo il seminario CS50 Meteor. 5 00:00:16,410 --> 00:00:21,520 Meteor è un nuovo quadro dedicato al nuovo tipo di web, 6 00:00:21,520 --> 00:00:25,220 non il PHP fare richieste avanti e indietro tipo 7 00:00:25,220 --> 00:00:29,070 di web abbiamo visto nel set PHPP, ma il più dinamico JavaScript 8 00:00:29,070 --> 00:00:31,370 parti del web. 9 00:00:31,370 --> 00:00:36,260 Cose Meteor può fare comprende live Aggiornamento 10 00:00:36,260 --> 00:00:42,380 e subito comunicare tra gli utenti del sito stesso. 11 00:00:42,380 --> 00:00:46,420 >> Per questo seminario, abbiamo Codice ospitato presso il mio GitHub. 12 00:00:46,420 --> 00:00:49,690 Si può andare a questa URL e scaricarlo. 13 00:00:49,690 --> 00:00:53,085 Se sai come usare Git, è possibile clonare il repository. 14 00:00:53,085 --> 00:00:55,460 Se non sapete come usare Git o non hanno utilizzato GitHub, 15 00:00:55,460 --> 00:00:57,030 che è completamente bene. 16 00:00:57,030 --> 00:01:00,480 Vi mostrerò molto velocemente come possiamo andare a GitHub, 17 00:01:00,480 --> 00:01:03,604 e c'è la possibilità di scaricare un zip proprio lì. 18 00:01:03,604 --> 00:01:06,770 Una volta scaricato questa directory, si può iniziare a giocare con il nostro codice. 19 00:01:06,770 --> 00:01:10,200 20 00:01:10,200 --> 00:01:13,190 >> Maggiori informazioni su Meteor può essere trovato alla meteor.com. 21 00:01:13,190 --> 00:01:16,580 Nella cartella seminario, io in realtà avere alcuni progetti Meteor che possiamo usare. 22 00:01:16,580 --> 00:01:20,380 23 00:01:20,380 --> 00:01:26,400 Una delle cartelle che abbiamo nel nostro progetto seminario è l'applicazione todos. 24 00:01:26,400 --> 00:01:28,780 Quindi, se vado in esso I, hanno Meteor installato. 25 00:01:28,780 --> 00:01:35,690 Quindi, per eseguirlo, ho solo bisogno di digitare Meteor, e Meteor installerà. 26 00:01:35,690 --> 00:01:38,310 Come potete vedere, dobbiamo assicurarsi che abbiamo installato Meteor. 27 00:01:38,310 --> 00:01:40,562 Così sto solo andando a eseguirlo una volta 28 00:01:40,562 --> 00:01:42,520 assicurarsi che Meteor sia correttamente installata. 29 00:01:42,520 --> 00:01:46,370 30 00:01:46,370 --> 00:01:48,450 >> Mentre ho Meteor installazione, posso mostrarvi 31 00:01:48,450 --> 00:01:53,760 alcune demo live di siti Meteor andare in diretta su Internet. 32 00:01:53,760 --> 00:01:57,990 Ho una demo della nostra app. 33 00:01:57,990 --> 00:02:00,740 È possibile accedere al seguente URL. 34 00:02:00,740 --> 00:02:06,350 Questa è l'applicazione per farlo noi avere nella nostra directory seminario. 35 00:02:06,350 --> 00:02:09,940 L'URL per questo è rozu-rabbit.meteor.com. 36 00:02:09,940 --> 00:02:14,782 Vedrai che Meteor sarà effettivamente ospitare i vostri progetti Meteor gratuitamente. 37 00:02:14,782 --> 00:02:17,490 E alla fine del seminario, sarete in grado di fare anche questo. 38 00:02:17,490 --> 00:02:20,550 39 00:02:20,550 --> 00:02:22,160 >> Si tratta di un app per fare la lista. 40 00:02:22,160 --> 00:02:27,740 E si può accedere, creare conti, e aggiungere le attività. 41 00:02:27,740 --> 00:02:30,020 È possibile creare un account in questo modo. 42 00:02:30,020 --> 00:02:33,050 43 00:02:33,050 --> 00:02:35,850 E ora, una volta che si dispone di un account, è possibile aggiungere attività. 44 00:02:35,850 --> 00:02:42,780 Per esempio, uno dei compiti I potrebbe aver bisogno di andare a prendere il mio bucato. 45 00:02:42,780 --> 00:02:45,160 E se siete su questo sito on-line, ti 46 00:02:45,160 --> 00:02:49,790 effettivamente vedere questo compito su il computer in tempo reale. 47 00:02:49,790 --> 00:02:53,760 >> Posso visualizzare la demo veloce di questo aprendo Rozu-rabbit 48 00:02:53,760 --> 00:02:56,700 in un'altra scheda con lo stesso URL. 49 00:02:56,700 --> 00:03:00,360 E vediamo che gli stessi dati viene in su. 50 00:03:00,360 --> 00:03:02,240 Possiamo anche eseguire in un browser differente. 51 00:03:02,240 --> 00:03:03,420 Dire che eseguo in Safari. 52 00:03:03,420 --> 00:03:04,720 In questo modo noi non è registrato in. 53 00:03:04,720 --> 00:03:07,750 54 00:03:07,750 --> 00:03:11,060 Così abbiamo la stessa Meteor app, e una volta caricata, 55 00:03:11,060 --> 00:03:13,910 vedremo gli stessi dati abbiamo fatto nel primo. 56 00:03:13,910 --> 00:03:16,710 Come potete vedere, non sto collegato qui. 57 00:03:16,710 --> 00:03:20,000 E quando i dati controlli pubblico, aggiorna su tutti i browser 58 00:03:20,000 --> 00:03:20,910 contemporaneamente. 59 00:03:20,910 --> 00:03:23,740 Questo è uno dei veramente caratteristiche interessanti di Meteor. 60 00:03:23,740 --> 00:03:27,700 Con quasi nessun lavoro, avere un app di aggiornamento dal vivo 61 00:03:27,700 --> 00:03:31,240 che alcune modifiche tutte i dispositivi contemporaneamente. 62 00:03:31,240 --> 00:03:36,690 >> Se posso controllare la casella di controllo qui nel mio per fare la lista, avremo, 63 00:03:36,690 --> 00:03:41,230 nel mio altro browser Chrome, la voce spuntata. 64 00:03:41,230 --> 00:03:42,605 E questo avviene istantaneamente. 65 00:03:42,605 --> 00:03:46,340 66 00:03:46,340 --> 00:03:47,280 Bene. 67 00:03:47,280 --> 00:03:52,730 Quindi sembra Meteor installazione è pronto. 68 00:03:52,730 --> 00:03:57,000 Così ora torniamo al todos app ed eseguire questo locale. 69 00:03:57,000 --> 00:04:01,599 >> Se si dispone di un progetto Meteor, è possibile basta eseguirlo con il comando Meteor. 70 00:04:01,599 --> 00:04:03,640 Una volta fatto questo, Meteor farà un po 'di preparazione 71 00:04:03,640 --> 00:04:06,120 per assicurarsi che tutti il codice è sotto controllo. 72 00:04:06,120 --> 00:04:12,440 E poi vi dirà che il progetto è pronto per essere servito. 73 00:04:12,440 --> 00:04:17,750 Potrebbe essere necessario per consentire al firewall, se il computer ti blocca. 74 00:04:17,750 --> 00:04:22,440 >> Così che cosa Meteor mi sta dicendo in questo momento è che su questo sito 75 00:04:22,440 --> 00:04:26,100 locale al mio computer, posso vedere ciò che questo progetto è Meteor. 76 00:04:26,100 --> 00:04:29,290 Si noti che in questo momento, la mia app è non accessibili da Internet. 77 00:04:29,290 --> 00:04:35,170 Parleremo di come portare il Meteor app a un sito dal vivo un po 'più tardi. 78 00:04:35,170 --> 00:04:40,510 Così sto solo andando a copiare questo URL ora e andare in Google Chrome. 79 00:04:40,510 --> 00:04:42,600 >> E questo è il non perdere elencare dall'esempio. 80 00:04:42,600 --> 00:04:46,080 Si può vedere che attuate un paio di caratteristiche qui. 81 00:04:46,080 --> 00:04:49,210 Abbiamo diverse schede, abbiamo hanno le stesse caratteristiche di account, 82 00:04:49,210 --> 00:04:52,141 e siamo in grado di aggiungere nuove liste. 83 00:04:52,141 --> 00:04:54,140 Ora, uno dei veramente caratteristica fredda su Meteor 84 00:04:54,140 --> 00:04:57,450 è che non solo è possibile questo lavorare sul vostro browser, 85 00:04:57,450 --> 00:05:00,030 ma è anche possibile creare native iPhone e Android 86 00:05:00,030 --> 00:05:02,990 applicazioni attraverso uno strumento chiamato PhoneGap. 87 00:05:02,990 --> 00:05:06,740 >> Così alcuni progetti verranno pre-configurato per l'esecuzione 88 00:05:06,740 --> 00:05:08,700 su iOS, come questo todos app. 89 00:05:08,700 --> 00:05:14,780 Quindi tutto quello che devo fare per eseguirlo in iOS è di tipo Meteor, correre, e quindi iOS. 90 00:05:14,780 --> 00:05:17,540 E quando lo faccio, Meteor preparerà nuovamente il pacchetto. 91 00:05:17,540 --> 00:05:21,670 E poi, una volta che è pronto, sarà caricare il simulatore iOS su mio comando. 92 00:05:21,670 --> 00:05:24,745 Nota È possibile eseguire solo applicazioni iOS se si dispone di un computer Mac. 93 00:05:24,745 --> 00:05:27,650 94 00:05:27,650 --> 00:05:30,730 È possibile eseguire le applicazioni su Android su tutte le piattaforme. 95 00:05:30,730 --> 00:05:34,070 96 00:05:34,070 --> 00:05:38,290 >> Così ora si può vedere che il mio iPhone simulatore venuto sul mio schermo. 97 00:05:38,290 --> 00:05:40,370 E in un momento, Sarà caricare con l'app. 98 00:05:40,370 --> 00:05:46,070 99 00:05:46,070 --> 00:05:48,490 Se facciamo solo un po ' più piccolo per adattarsi sullo schermo, 100 00:05:48,490 --> 00:05:50,780 vediamo noi abbiamo la nostra applicazione per iPhone. 101 00:05:50,780 --> 00:05:53,220 E proprio così noi non lo facciamo confondersi, facciamo 102 00:05:53,220 --> 00:05:59,790 certo siamo sulla stessa sito web, l'host locale 3000. 103 00:05:59,790 --> 00:06:03,490 >> Così qui è un esempio dell'app Meteor che ho, 104 00:06:03,490 --> 00:06:08,770 l'applicazione todos, in esecuzione sia su un telefono e su un browser web. 105 00:06:08,770 --> 00:06:10,770 E quando cambio roba nel browser web, 106 00:06:10,770 --> 00:06:12,675 va subito al telefono. 107 00:06:12,675 --> 00:06:16,500 E posso cancellare qualcosa al telefono, e cambia nel browser web. 108 00:06:16,500 --> 00:06:21,050 >> Ora, di solito per creare nativo phone app per iOS o Android, 109 00:06:21,050 --> 00:06:26,090 è necessario conoscere Java o C. La tecnologia utilizza Obiettivo Meteor 110 00:06:26,090 --> 00:06:29,240 per consentire JavaScript per funzionare come la vostra applicazione si chiama PhoneGap. 111 00:06:29,240 --> 00:06:31,320 Che la vostra applicazione essenzialmente è è un browser web. 112 00:06:31,320 --> 00:06:34,500 E Meteor gestisce tutti le parti difficili coinvolti 113 00:06:34,500 --> 00:06:39,820 per portare quel browser web a il vostro iPhone o il vostro dispositivo Android. 114 00:06:39,820 --> 00:06:42,210 Si può vedere che il interfaccia utente è liscia, 115 00:06:42,210 --> 00:06:45,290 e guarda e si sente molto molto simile a una applicazione nativa. 116 00:06:45,290 --> 00:06:48,620 Si noti che se vado a casa schermo ora, ho anche ottenere un'icona. 117 00:06:48,620 --> 00:06:50,880 Questo non è un sito come che si può trovare in Safari. 118 00:06:50,880 --> 00:06:51,860 Questa è la sua applicazione. 119 00:06:51,860 --> 00:06:54,130 È possibile installare e eliminarlo se vuoi. 120 00:06:54,130 --> 00:06:59,500 121 00:06:59,500 --> 00:07:04,436 >> Possiamo dimostrare brevemente ciò che il codice per questo tipo di todos app assomiglia. 122 00:07:04,436 --> 00:07:08,260 Se si guarda nella cartella todos, vedrete che ci sono molte cartelle. 123 00:07:08,260 --> 00:07:11,440 Ma nel corso del seminario, faremo 124 00:07:11,440 --> 00:07:14,780 capire ciò che ogni cartella viene utilizzata per. 125 00:07:14,780 --> 00:07:17,830 Andiamo nel terminale in modo da può vedere i file un po 'meglio. 126 00:07:17,830 --> 00:07:20,410 >> Ho intenzione di premere Ctrl C per arrestare il server, 127 00:07:20,410 --> 00:07:22,770 e ora sono tornato in app todos. 128 00:07:22,770 --> 00:07:26,660 Ho diverse cartelle qui, come la cartella client, la cartella del server. 129 00:07:26,660 --> 00:07:30,500 E queste cartelle significano semplicemente che tutto nella cartella client 130 00:07:30,500 --> 00:07:32,630 viene eseguito sul browser web. 131 00:07:32,630 --> 00:07:35,530 Tutto in una cartella del server viene eseguito su un server. 132 00:07:35,530 --> 00:07:38,100 >> Quello che voglio sottolineare fuori è che quello che abbiamo avuto 133 00:07:38,100 --> 00:07:42,140 quando abbiamo avuto la nostra corsa e telefono il nostro browser web, questi erano i clienti. 134 00:07:42,140 --> 00:07:45,730 Ma ciò che è in esecuzione in un terminale, che è il server. 135 00:07:45,730 --> 00:07:48,710 Abbiamo altre cartelle, come lib, che è il codice della libreria, 136 00:07:48,710 --> 00:07:51,050 come il vostro aiutante funzioni, che possono essere 137 00:07:51,050 --> 00:07:53,710 utilizzare sia sul client che sul server. 138 00:07:53,710 --> 00:07:55,820 E allora avete un pubblico cartelle e risorse 139 00:07:55,820 --> 00:07:59,310 cartella necessaria per ottenere le immagini e altri CSS caricati. 140 00:07:59,310 --> 00:08:02,630 141 00:08:02,630 --> 00:08:09,360 >> Se avete installato Meteor, ci sarà continuare con il tutorial per Meteor. 142 00:08:09,360 --> 00:08:12,790 Si può andare a questo URL, meteor.com/install, 143 00:08:12,790 --> 00:08:17,990 per ottenere la linea di comando che ho si ha mostrato che installa Meteor. 144 00:08:17,990 --> 00:08:20,240 Andremo attraverso il primo pochi passi per ottenere una migliore 145 00:08:20,240 --> 00:08:22,760 sentire su come installare Meteor. 146 00:08:22,760 --> 00:08:28,000 >> Ma prima, penso che sia importante che passiamo in rassegna un po 'di JavaScript. 147 00:08:28,000 --> 00:08:32,360 Per mostrarvi alcuni esempi di come nostra conoscenza C può essere tradotto 148 00:08:32,360 --> 00:08:34,950 di JavaScript, ho creato alcuni esempi. 149 00:08:34,950 --> 00:08:36,940 Sono nella directory js. 150 00:08:36,940 --> 00:08:41,750 Quindi, se nella cartella seminari si Guarda, c'è una cartella chiamata js. 151 00:08:41,750 --> 00:08:44,540 E qui, abbiamo alcuni esempi. 152 00:08:44,540 --> 00:08:50,120 >> Apriamo il primo esempio e vedere molto rapidamente. 153 00:08:50,120 --> 00:08:53,980 Quello che vediamo è la vostra serie ciao Comando mondo. 154 00:08:53,980 --> 00:08:56,520 Si nota in C che si avere un bel paio di righe. 155 00:08:56,520 --> 00:09:00,490 E come studenti CS50 sanno, abbiamo bisogno di una funzione principale, 156 00:09:00,490 --> 00:09:05,730 e dobbiamo comprende la norma I / O biblioteca per chiamare printf. 157 00:09:05,730 --> 00:09:09,320 >> Diamo un'occhiata a come JavaScript confronto. 158 00:09:09,320 --> 00:09:11,560 Ho intenzione di aprire ex1.js. 159 00:09:11,560 --> 00:09:14,650 Commentata è ciò che il C codice sarebbe simile, 160 00:09:14,650 --> 00:09:17,550 e la linea sotto è tutto è necessario eseguire in Node. 161 00:09:17,550 --> 00:09:20,452 Non hai bisogno di una funzione principale, non è necessario includere tutti i file, 162 00:09:20,452 --> 00:09:21,660 e non c'è bisogno di tornare. 163 00:09:21,660 --> 00:09:23,810 Basta chiamare console.log. 164 00:09:23,810 --> 00:09:26,370 Questo è l'equivalente del vostro printf. 165 00:09:26,370 --> 00:09:29,310 >> E richiede lo stesso argomenti printf sarebbe. 166 00:09:29,310 --> 00:09:33,870 E per farlo funzionare, invece di correre fare ex1, 167 00:09:33,870 --> 00:09:38,930 si sarebbe solo chiamare ex1.js. Nodo 168 00:09:38,930 --> 00:09:41,830 Si scrive Node e quindi il file, e che venga eseguito. 169 00:09:41,830 --> 00:09:43,580 Esso non viene compilato. 170 00:09:43,580 --> 00:09:45,970 JavaScript è un linguaggio interpretato. 171 00:09:45,970 --> 00:09:49,150 Quindi non deve essere compilato prima che venga eseguito. 172 00:09:49,150 --> 00:09:53,450 Se avessi voluto correre ex1.c, Devo fare in primo luogo, 173 00:09:53,450 --> 00:09:59,160 e allora posso eseguire il file eseguibile per ottenere la stessa uscita. 174 00:09:59,160 --> 00:10:02,460 >> Facciamo coprire rapidamente alcune altri concetti JavaScript. 175 00:10:02,460 --> 00:10:04,490 Vediamo ad esempio due. 176 00:10:04,490 --> 00:10:14,690 In ex2.js, in ex2.c, possiamo vedere che abbiamo un po 'di codice. 177 00:10:14,690 --> 00:10:16,550 Lasciatemi rapidamente andare a una migliore editor di testo 178 00:10:16,550 --> 00:10:18,400 che mostrerà questi nuove linee un po 'meglio. 179 00:10:18,400 --> 00:10:21,760 180 00:10:21,760 --> 00:10:22,380 Bene. 181 00:10:22,380 --> 00:10:24,190 Qui abbiamo esempio 2.c. 182 00:10:24,190 --> 00:10:27,360 Qui abbiamo diversi tipi che stiamo stampando. 183 00:10:27,360 --> 00:10:30,880 E come sappiamo, printf prende argomenti diversi per cento 184 00:10:30,880 --> 00:10:34,050 per accedere a diversi pezzi di dati. 185 00:10:34,050 --> 00:10:36,840 Se vogliamo stampare una stringa, che chiamiamo% s. 186 00:10:36,840 --> 00:10:40,390 Se vogliamo chiamare un galleggiante numero del punto, abbiamo chiamato% f. 187 00:10:40,390 --> 00:10:45,810 E non c'è modo semplice per chiamare un Boolean dal suo vero o falso valore. 188 00:10:45,810 --> 00:10:50,760 Ma se si utilizza% d, si può ottenere 0 o 1 per falso e vero. 189 00:10:50,760 --> 00:10:53,270 >> JavaScript è un po 'più bello per noi. 190 00:10:53,270 --> 00:10:57,740 In JavaScript, diamo un'occhiata a pochi differenze che hanno in questo file. 191 00:10:57,740 --> 00:11:05,790 In primo luogo, si nota che in C dobbiamo inizializzare ogni variabile con un tipo. 192 00:11:05,790 --> 00:11:06,940 S è una stella char. 193 00:11:06,940 --> 00:11:08,930 Si tratta di una stringa, e non può essere qualsiasi altro tipo. 194 00:11:08,930 --> 00:11:10,450 N è un galleggiante. 195 00:11:10,450 --> 00:11:11,780 B è un Bool. 196 00:11:11,780 --> 00:11:14,220 >> Ma in JavaScript, ci sono tipi dinamici. 197 00:11:14,220 --> 00:11:16,400 Ciò significa che non si fa bisogno di dire JavaScript 198 00:11:16,400 --> 00:11:17,860 quali tipi variabili saranno. 199 00:11:17,860 --> 00:11:22,730 Basta dire var per la variabile, il nome della variabile, e quindi il suo valore. 200 00:11:22,730 --> 00:11:24,690 Così un var può essere nulla di veramente. 201 00:11:24,690 --> 00:11:25,640 Può essere una stringa. 202 00:11:25,640 --> 00:11:27,300 Può essere un numero decimale. 203 00:11:27,300 --> 00:11:28,560 Può essere un carattere. 204 00:11:28,560 --> 00:11:31,250 Può essere un booleano. 205 00:11:31,250 --> 00:11:34,380 E log console funziona un po 'diversamente. 206 00:11:34,380 --> 00:11:37,340 Se si desidera stampare un numero, si chiama% d. 207 00:11:37,340 --> 00:11:41,740 Ma la maggior parte dei valori possono essere stampato come stringhe bene. 208 00:11:41,740 --> 00:11:46,220 >> Corriamo in questo nodo per vedere cosa sarebbe successo. 209 00:11:46,220 --> 00:11:51,880 Posso chiamare ex2.js Nodo, e otteniamo printf 210 00:11:51,880 --> 00:11:56,870 con il CS50 valori, N come il numero in virgola mobile, 211 00:11:56,870 --> 00:12:00,620 e poi B come booleano convertito in una stringa vera. 212 00:12:00,620 --> 00:12:03,830 Che dire se abbiamo fatto esempio 2.c? 213 00:12:03,830 --> 00:12:09,630 Beh, abbiamo ancora un po ' più fastidi con printf. 214 00:12:09,630 --> 00:12:13,110 Si noti che il punto floating numero deve essere correttamente formattato, 215 00:12:13,110 --> 00:12:18,120 e che il booleano non può semplicemente essere visualizzato come vero o falso. 216 00:12:18,120 --> 00:12:18,620 Bene. 217 00:12:18,620 --> 00:12:22,680 Ora diamo un'occhiata a esempio tre. 218 00:12:22,680 --> 00:12:26,470 In esempio tre, stiamo mostrando come si usa un ciclo for. 219 00:12:26,470 --> 00:12:27,630 In realtà, è molto semplice. 220 00:12:27,630 --> 00:12:31,430 Una delle cose belle di JavaScript è che essa si basa C. 221 00:12:31,430 --> 00:12:33,920 Ciò significa che un sacco di codice sarà molto simile 222 00:12:33,920 --> 00:12:36,490 e sento molto lo stesso. 223 00:12:36,490 --> 00:12:39,220 In un ciclo for, l'unica cosa che è davvero cambiato qui 224 00:12:39,220 --> 00:12:41,840 è invece di int i, abbiamo var i. 225 00:12:41,840 --> 00:12:45,470 Possiamo ancora assegnarlo a valore a zero, verificare che si tratta di meno di cinque, 226 00:12:45,470 --> 00:12:49,390 e incrementarlo di uno con l'operatore ++. 227 00:12:49,390 --> 00:12:56,286 Chiediamo console.log sulla i, e che ci stampare un numero con ogni riga. 228 00:12:56,286 --> 00:12:58,410 Corriamo davvero in fretta per vedere che cosa uscite. 229 00:12:58,410 --> 00:13:02,320 230 00:13:02,320 --> 00:13:03,880 Otteniamo un nuovo numero in ogni riga. 231 00:13:03,880 --> 00:13:06,920 Un'altra cosa che voglio da notare con console.log 232 00:13:06,920 --> 00:13:09,960 non c'era bisogno di scrivere backslash n per la nuova linea. 233 00:13:09,960 --> 00:13:12,480 Console.log stampa tutto su una riga. 234 00:13:12,480 --> 00:13:14,585 Questa è una bella caratteristica che JavaScript ci dà. 235 00:13:14,585 --> 00:13:18,440 236 00:13:18,440 --> 00:13:22,600 >> Ora apriamo up esempio quattro. 237 00:13:22,600 --> 00:13:28,710 In esempio quattro, prima in C, noi chiediamo alcune funzioni. 238 00:13:28,710 --> 00:13:33,290 Si noti che dobbiamo dichiarare la funzioni prima di utilizzarli in principale. 239 00:13:33,290 --> 00:13:37,250 Se avessimo principali e poi aggiungere e poi alto, fare, 240 00:13:37,250 --> 00:13:39,540 clang, o GCC potrebbero darci un errore che dice 241 00:13:39,540 --> 00:13:41,060 che non sa che cosa è alta. 242 00:13:41,060 --> 00:13:42,780 Non sa che cosa è add. 243 00:13:42,780 --> 00:13:46,480 Quindi, in C, bisogna essere pignoli sulla ordine in cui voi chiamate le funzioni. 244 00:13:46,480 --> 00:13:49,220 245 00:13:49,220 --> 00:13:51,310 >> Diamo un'occhiata a come si può farlo in JavaScript. 246 00:13:51,310 --> 00:13:56,060 Abbiamo diversi file, perché ci sono diversi modi per farlo. 247 00:13:56,060 --> 00:13:58,950 Un modo è praticamente una traduzione diretta. 248 00:13:58,950 --> 00:14:02,180 Perché funzioni in C ritorno tipi, e JavaScript 249 00:14:02,180 --> 00:14:05,210 in realtà non sa o cura a che tipo si torna, 250 00:14:05,210 --> 00:14:06,300 non si scrive un tipo. 251 00:14:06,300 --> 00:14:08,100 Invece, basta scrivere funzione, 252 00:14:08,100 --> 00:14:11,180 e tutto è abbastanza tanto come prima. 253 00:14:11,180 --> 00:14:14,630 >> Quando si dispone di una variabile, come in Aggiungiamo, abbiamo solo bisogno di scrivere x e y. 254 00:14:14,630 --> 00:14:16,060 Non abbiamo bisogno di dire x è un int. 255 00:14:16,060 --> 00:14:18,940 Non abbiamo bisogno di dire y è un int. 256 00:14:18,940 --> 00:14:21,030 Torniamo con la stessa sintassi. 257 00:14:21,030 --> 00:14:24,230 Per l'alta, si dichiara con funzione invece di nulla. 258 00:14:24,230 --> 00:14:26,110 Si noti che se è nulla o non-vuoto, 259 00:14:26,110 --> 00:14:28,380 è ancora tutto la stessa funzione. 260 00:14:28,380 --> 00:14:32,440 E semplicemente non mettiamo nulla in parentesi, 261 00:14:32,440 --> 00:14:34,690 e sembra molto simile al codice C. 262 00:14:34,690 --> 00:14:37,460 E sotto, possiamo chiamarla sotto. 263 00:14:37,460 --> 00:14:42,730 >> Se guardiamo ad esempio 4b, notiamo che ho cambiato un paio di cose. 264 00:14:42,730 --> 00:14:45,340 L'unica cosa che ho cambiato realmente è però l'ordine. 265 00:14:45,340 --> 00:14:47,340 Abbiamo lo stesso funzioni, ma ora sono 266 00:14:47,340 --> 00:14:52,200 ha dichiarato dopo che sono stati utilizzati in console.log e alto sulle linee 18, 19. 267 00:14:52,200 --> 00:14:54,740 Se avete fatto questo in C, fare getterebbe un errore. 268 00:14:54,740 --> 00:14:56,070 Ecco, questo funziona bene. 269 00:14:56,070 --> 00:15:01,935 E posso mostrare questo a voi da chiamando Nodo esempio 4b. 270 00:15:01,935 --> 00:15:05,350 271 00:15:05,350 --> 00:15:10,130 >> Un altro modo in cui possiamo chiamare funzioni è da funzioni di risparmio come variabili. 272 00:15:10,130 --> 00:15:13,790 Come ho detto, una variabile può avere qualsiasi tipo. 273 00:15:13,790 --> 00:15:16,720 Uno dei tipi una variabile può avere è una funzione. 274 00:15:16,720 --> 00:15:19,800 Quindi, se si guarda a esempio 4c, quello che ho cambiato 275 00:15:19,800 --> 00:15:24,320 ecco var aggiungere invece di funzione add. 276 00:15:24,320 --> 00:15:26,807 E ora aggiungere equivale a una funzione. 277 00:15:26,807 --> 00:15:28,140 Questa funzione qui è anonimo. 278 00:15:28,140 --> 00:15:33,346 Non ha un nome, quindi è solo funzione e poi le parentesi. 279 00:15:33,346 --> 00:15:35,220 La sintassi dopo non cambia, ma si 280 00:15:35,220 --> 00:15:38,300 c'è bisogno di tenere a mente che si ha una variabile che sei 281 00:15:38,300 --> 00:15:42,940 memorizzare la funzione in aggiunta, e un variabile che si sta memorizzare in alto. 282 00:15:42,940 --> 00:15:47,620 >> Perché aggiungere e alta sono ora variabili e non funzioni, qualcosa cambia. 283 00:15:47,620 --> 00:15:50,190 Questo è un bug comune che vedo in un sacco di Javascript della gente, 284 00:15:50,190 --> 00:15:52,410 e qualcosa da tenere a mente. 285 00:15:52,410 --> 00:15:54,365 Quando ho eseguito questo, vediamo cosa succede. 286 00:15:54,365 --> 00:15:57,410 287 00:15:57,410 --> 00:15:58,230 Ottengo un errore. 288 00:15:58,230 --> 00:16:01,000 Sta dicendo che non definito a questo punto. 289 00:16:01,000 --> 00:16:03,520 Quindi sta dicendo che non so cosa aggiungere è. 290 00:16:03,520 --> 00:16:06,010 >> Perché ora aggiungere non è un funzione, aggiungere è una variabile. 291 00:16:06,010 --> 00:16:10,100 E non si è effettivamente dato aggiungere un valore ancora quando è stato utilizzato. 292 00:16:10,100 --> 00:16:14,460 Questo ci porta ad esempio 4d, dove se Per utilizzare le variabili come funzioni, 293 00:16:14,460 --> 00:16:17,210 è sufficiente per assicurarsi che essi ottenere il valore prima di essere utilizzati. 294 00:16:17,210 --> 00:16:20,200 295 00:16:20,200 --> 00:16:23,420 >> Passiamo ad esempio cinque allora. 296 00:16:23,420 --> 00:16:27,390 Qui, si parla di struct in C. In C, le strutture 297 00:16:27,390 --> 00:16:30,320 avere questa struttura fissa a loro perché si deve dichiararli 298 00:16:30,320 --> 00:16:33,050 prima di usarla, e si dice che ho un studente, 299 00:16:33,050 --> 00:16:36,645 e ogni studente ha esattamente un nome, un anno, un genere. 300 00:16:36,645 --> 00:16:37,770 Deve avere tutti loro. 301 00:16:37,770 --> 00:16:42,280 Esso non può avere altri valori, e devono essere tipi specifici. 302 00:16:42,280 --> 00:16:47,540 >> Allora possiamo inizializzare il struct in questa sintassi bello 303 00:16:47,540 --> 00:16:49,470 perché sa l'ordine. 304 00:16:49,470 --> 00:16:51,460 Quindi sa che Roger è un nome. 305 00:16:51,460 --> 00:16:54,060 Si sa che 2016 è un anno ed M è un genere 306 00:16:54,060 --> 00:16:58,200 perché abbiamo detto che questo list è uno studente struct. 307 00:16:58,200 --> 00:17:01,607 E allora è possibile stampare esso, accedere s.name. 308 00:17:01,607 --> 00:17:03,690 Vediamo come faremmo convertire tale a JavaScript. 309 00:17:03,690 --> 00:17:06,400 310 00:17:06,400 --> 00:17:09,790 Si noti che s è ora un variabili, e non c'è nessun tipo. 311 00:17:09,790 --> 00:17:10,920 E 'ancora solo una var. 312 00:17:10,920 --> 00:17:14,480 Perché non importa se la tipo di questa variabile è un puntatore, 313 00:17:14,480 --> 00:17:17,440 si tratta di una struttura, o qualsiasi altra cosa. 314 00:17:17,440 --> 00:17:19,650 Abbiamo una sintassi leggermente diversa. 315 00:17:19,650 --> 00:17:21,890 Questa sintassi è la sintassi dell'oggetto. 316 00:17:21,890 --> 00:17:24,400 >> Potreste aver visto in JSON. 317 00:17:24,400 --> 00:17:27,780 JSON sta effettivamente per la JavaScript Object Notation. 318 00:17:27,780 --> 00:17:31,240 Questo è come si definisce oggetti in JavaScript. 319 00:17:31,240 --> 00:17:34,500 Abbiamo una chiave, che è il valore, come il nome. 320 00:17:34,500 --> 00:17:37,680 E diamo valori l'altro lato del colon. 321 00:17:37,680 --> 00:17:41,850 E una cosa da tenere a mente è che si non c'è bisogno di avere un nome e un anno 322 00:17:41,850 --> 00:17:42,980 e un genere per un oggetto. 323 00:17:42,980 --> 00:17:44,570 Un oggetto può avere alcun valore. 324 00:17:44,570 --> 00:17:46,920 Si può avere come molti come si desidera. 325 00:17:46,920 --> 00:17:50,375 >> Possiamo usare questi oggetti in proprio Allo stesso modo vorremmo utilizzare una struct, s.name. 326 00:17:50,375 --> 00:17:53,810 327 00:17:53,810 --> 00:17:57,080 Possiamo eseguire molto velocemente facendo nodo esempio 5.c. 328 00:17:57,080 --> 00:18:00,320 329 00:18:00,320 --> 00:18:02,520 Non possiamo effettivamente eseguito un file C in Node. 330 00:18:02,520 --> 00:18:03,654 Non sa che cosa è C. 331 00:18:03,654 --> 00:18:04,695 Si conosce solo JavaScript. 332 00:18:04,695 --> 00:18:09,865 Quando corriamo i ex5.js, otteniamo il valore, che ci aspettavamo. 333 00:18:09,865 --> 00:18:13,490 334 00:18:13,490 --> 00:18:15,980 >> Passiamo per esempio sei. 335 00:18:15,980 --> 00:18:18,930 Qui voglio solo parlare un po ' po 'di più su array JavaScript 336 00:18:18,930 --> 00:18:20,930 perché sono un po ' diverso da quello che si è 337 00:18:20,930 --> 00:18:26,940 utilizzato per in C. Array sono notata, Non con le staffe come in C, 338 00:18:26,940 --> 00:18:28,640 con le parentesi graffe, ma staffe. 339 00:18:28,640 --> 00:18:32,150 Si può avere un array vuoto, come arr in linea quattro. 340 00:18:32,150 --> 00:18:34,680 Si possono avere array con più valori. 341 00:18:34,680 --> 00:18:39,790 E li accedere allo stesso modo in C. 342 00:18:39,790 --> 00:18:42,990 >> Fino alla linea di sette, tutto Sembra abbastanza semplice. 343 00:18:42,990 --> 00:18:45,390 Una differenza minore è qui a riga 10. 344 00:18:45,390 --> 00:18:48,620 Il modo in cui si ottiene una lunghezza di un array è semplicemente chiamando .length. 345 00:18:48,620 --> 00:18:50,620 Un array può effettivamente essere trattata come un oggetto, 346 00:18:50,620 --> 00:18:54,960 e questo oggetto ha una proprietà length che si chiama per ottenere la lunghezza di esso. 347 00:18:54,960 --> 00:18:57,350 Si noti che questo è diverso in C, perché in C si 348 00:18:57,350 --> 00:19:01,600 deve conoscere la lunghezza di l'oggetto prima del tempo. 349 00:19:01,600 --> 00:19:04,700 >> Così un'altra cosa bella di array è che si può avere diversi tipi. 350 00:19:04,700 --> 00:19:07,470 Se si dispone di un array in C, ci sono array di un valore specifico, 351 00:19:07,470 --> 00:19:11,900 sia un puntatore struct o galleggianti o [incomprensibile]. 352 00:19:11,900 --> 00:19:13,700 Qui, si possono avere valori diversi. 353 00:19:13,700 --> 00:19:17,560 Ho avuto un numero in virgola mobile, poi un valore booleano, poi un altro numero intero. 354 00:19:17,560 --> 00:19:19,670 E in realtà, possono cambiare i tipi troppo. 355 00:19:19,670 --> 00:19:21,220 Guardate la linea 16. 356 00:19:21,220 --> 00:19:26,760 Array due sta cambiando dall'essere un numero, un intero, una stringa. 357 00:19:26,760 --> 00:19:30,920 >> Un'altra cosa bella di array è qui alla riga 19, hanno dimensioni infinite. 358 00:19:30,920 --> 00:19:35,900 Si può solo dire che voglio il centesimo elemento per essere la stringa legit. 359 00:19:35,900 --> 00:19:38,510 E questo non sembra fare senso perché la matrice unica 360 00:19:38,510 --> 00:19:41,080 ha spazio per tre elementi, così alla fine dovrebbe essere due. 361 00:19:41,080 --> 00:19:44,800 Ma quando si esegue questa operazione, andiamo vediamo cosa array a tre diventa. 362 00:19:44,800 --> 00:19:47,460 Vorremmo eseguire questo rapidamente con esempio nodo six.js. 363 00:19:47,460 --> 00:19:49,990 364 00:19:49,990 --> 00:19:52,180 Otteniamo questo molto lungo array, e cosa succede 365 00:19:52,180 --> 00:19:55,100 è che abbiamo i primi elementi e poi un gruppo di sbozzati 366 00:19:55,100 --> 00:19:56,580 finché non avremo la nostra stringa. 367 00:19:56,580 --> 00:19:58,580 JavaScript compila il array come è necessario. 368 00:19:58,580 --> 00:20:01,790 369 00:20:01,790 --> 00:20:05,420 >> Andiamo finalmente andare al nostro ultimo esempio. 370 00:20:05,420 --> 00:20:08,180 Qui abbiamo una lista di diversi studenti. 371 00:20:08,180 --> 00:20:11,350 Voglio parlare un po ' po 'su alcuni aspetti piacevoli 372 00:20:11,350 --> 00:20:14,240 di cicli for a JavaScript. 373 00:20:14,240 --> 00:20:17,500 In C, per i cicli sono tipo di limitate. 374 00:20:17,500 --> 00:20:21,490 Essi hanno una struttura fissa, dove avere una variabile, si dispone di una condizione, 375 00:20:21,490 --> 00:20:23,850 e poi si fa qualcosa alla fine del ciclo. 376 00:20:23,850 --> 00:20:27,560 E naturalmente questo funziona in JavaScript, come abbiamo visto negli esempi precedenti. 377 00:20:27,560 --> 00:20:31,030 Ma abbiamo anche modi più belli di fare questo in JavaScript. 378 00:20:31,030 --> 00:20:33,870 Questo è chiamato un ciclo foreach. 379 00:20:33,870 --> 00:20:36,580 >> Siamo spiacenti, torniamo per esempio sette qui. 380 00:20:36,580 --> 00:20:39,320 Possiamo anche dire sezione è una lista. 381 00:20:39,320 --> 00:20:43,250 Così mi danno ogni i o ogni indice in quella lista. 382 00:20:43,250 --> 00:20:46,255 Allora possiamo ottenere lo studente semplicemente sezione i chiamando. 383 00:20:46,255 --> 00:20:50,690 Quindi tutto il codice di impostazione i pari a zero e fare in modo che 384 00:20:50,690 --> 00:20:54,420 è inferiore alla lunghezza e aggiungendo uno i ogni volta, questo è 385 00:20:54,420 --> 00:21:00,220 prendersi cura di voi piuttosto bene con questo ciclo foreach. 386 00:21:00,220 --> 00:21:02,830 >> Non solo cicli foreach lavorare in liste o matrici, 387 00:21:02,830 --> 00:21:06,130 funzionano anche negli oggetti, che è anche bello. 388 00:21:06,130 --> 00:21:10,240 È possibile ottenere il nome di ogni proprietà da solo prendendo 389 00:21:10,240 --> 00:21:15,030 un dizionario o un oggetto, come studente, e poi basta dire mi danno ogni chiave. 390 00:21:15,030 --> 00:21:18,920 Una chiave sarebbe questi proprietà, nome o casa. 391 00:21:18,920 --> 00:21:22,870 Allora, cosa sta per succedere qui è che stampiamo per prima il nome e poi 392 00:21:22,870 --> 00:21:24,920 la casa di ogni studente. 393 00:21:24,920 --> 00:21:29,170 >> Posso correre questo nodo molto velocemente visualizzare. 394 00:21:29,170 --> 00:21:35,510 Otteniamo prima lo stile C per ciclo, in cui otteniamo ogni oggetto che viene stampato. 395 00:21:35,510 --> 00:21:38,910 E poi abbiamo il JavaScript stile, dove si può solo 396 00:21:38,910 --> 00:21:41,510 stampare ogni chiave e valutare singolarmente. 397 00:21:41,510 --> 00:21:45,560 398 00:21:45,560 --> 00:21:47,050 >> Bene. 399 00:21:47,050 --> 00:21:52,850 Ora che abbiamo trattato Node.js, credo siamo pronti per iniziare con Meteor. 400 00:21:52,850 --> 00:21:56,070 Come ho detto, Meteor ha fatto un ottimo lavoro di scrivere alcuni esempi già pronti 401 00:21:56,070 --> 00:22:00,600 per te, che si può esplorare attraverso questo tutorial o nella cartella seminario. 402 00:22:00,600 --> 00:22:03,750 Ma qui voglio avviare più da zero. 403 00:22:03,750 --> 00:22:06,810 >> Creiamo una semplice applicazione. 404 00:22:06,810 --> 00:22:14,140 Ciò è genere di base di ciò che il per fare applicazione vi ho mostrato in precedenza è. 405 00:22:14,140 --> 00:22:16,990 In questo tutorial, vedrà che non c'è 406 00:22:16,990 --> 00:22:20,180 un Meteor comando Create a creare un nuovo progetto Meteor. 407 00:22:20,180 --> 00:22:24,510 È necessario chiamare questo per per eseguire progetti Meteor perchè 408 00:22:24,510 --> 00:22:27,470 verrà eseguito i comandi per creare il Meteor 409 00:22:27,470 --> 00:22:31,100 file necessari per il vostro progetto. 410 00:22:31,100 --> 00:22:35,920 >> Se si va nel terminale, possiamo andare nella cartella denominata passo uno. 411 00:22:35,920 --> 00:22:41,240 E passo si corrisponderà con il primo passo nel tutorial. 412 00:22:41,240 --> 00:22:44,020 Avviso sono presenti cartelle, passo uno, due step, fino a cinque. 413 00:22:44,020 --> 00:22:47,835 E ognuno è corrispondente ad un passo in questo tutorial. 414 00:22:47,835 --> 00:22:50,960 415 00:22:50,960 --> 00:22:52,780 Ho intenzione di aprirlo nel mio editor di testo qui 416 00:22:52,780 --> 00:22:56,280 così possiamo vedere un po 'di ciò che è stato creato. 417 00:22:56,280 --> 00:22:58,530 Notiamo che ci sono quattro parti principali. 418 00:22:58,530 --> 00:23:01,170 C'è una directory Meteor, .meteor. 419 00:23:01,170 --> 00:23:03,180 E che di solito non hanno bisogno di toccare. 420 00:23:03,180 --> 00:23:05,070 Meteor si prende cura di quella cartella, ed è appena 421 00:23:05,070 --> 00:23:08,640 fa in modo che il vostro progetto funzionerà correttamente. 422 00:23:08,640 --> 00:23:14,580 >> Abbiamo anche tre file, un file HTML, un file JavaScript, e un file CSS. 423 00:23:14,580 --> 00:23:18,670 Vediamo prima iniziare con il file HTML. 424 00:23:18,670 --> 00:23:21,310 A prima vista, questo sembra come un normale documento HTML. 425 00:23:21,310 --> 00:23:23,490 Ma si noti che non ci sono alcune differenze. 426 00:23:23,490 --> 00:23:26,520 Uno, questo non è in realtà un documento HTML completo. 427 00:23:26,520 --> 00:23:28,640 Ci manca il tag HTML. 428 00:23:28,640 --> 00:23:29,700 Questo è normale. 429 00:23:29,700 --> 00:23:33,560 In Meteor, non ci si aspetta per creare questi tag HTML. 430 00:23:33,560 --> 00:23:35,260 Questo è fatto per voi. 431 00:23:35,260 --> 00:23:38,380 Vuoi begin-- se vuole creare un sito web, 432 00:23:38,380 --> 00:23:40,430 non vi resta che iniziare a con il tag head, 433 00:23:40,430 --> 00:23:43,510 definire tale, e poi definire il tag body. 434 00:23:43,510 --> 00:23:48,940 >> Ma se si nota in questo File HTML, abbiamo un nuovo tag. 435 00:23:48,940 --> 00:23:50,350 Abbiamo il tag modello. 436 00:23:50,350 --> 00:23:52,050 Questo non è normale HTML. 437 00:23:52,050 --> 00:23:55,300 Si tratta di una versione speciale di HTML che Meteor mette a disposizione per voi. 438 00:23:55,300 --> 00:23:57,660 Si chiama bar spaziali. 439 00:23:57,660 --> 00:24:00,980 È possibile definire modelli come poco moduli, un po 'come funzioni di supporto, 440 00:24:00,980 --> 00:24:03,660 nel C o codice JavaScript. 441 00:24:03,660 --> 00:24:06,020 Questo modello sarebbe avere un nome chiamato compito. 442 00:24:06,020 --> 00:24:10,520 E si può vedere proprio qui on line 13 che è possibile chiamare questi modelli. 443 00:24:10,520 --> 00:24:14,380 E cosa farà Meteor è solo compilare in questi compiti per voi. 444 00:24:14,380 --> 00:24:17,540 445 00:24:17,540 --> 00:24:22,580 >> Un'altra cosa che si può notare è un po 'diverso è questo ogni funzione. 446 00:24:22,580 --> 00:24:26,130 Ogni prenderà la variabile compiti e il tipo di passare attraverso di essa 447 00:24:26,130 --> 00:24:28,810 in quel ciclo foreach noi visto nell'esempio sette. 448 00:24:28,810 --> 00:24:34,200 Questo ognuno può prendere un dizionario o un elenco, un oggetto o un elenco, 449 00:24:34,200 --> 00:24:38,820 e sarà solo passare attraverso tutto il valori come un ciclo foreach avrebbe fatto. 450 00:24:38,820 --> 00:24:44,110 Quindi, se abbiamo un po 'di compiti, questo chiamerà il modello su ogni attività. 451 00:24:44,110 --> 00:24:49,590 >> Corriamo il progetto Meteor solo per vedere che questo accade. 452 00:24:49,590 --> 00:24:53,260 Corro il progetto Meteor con solo Meteor Meteor o correre. 453 00:24:53,260 --> 00:24:56,690 E ora Meteor appena avrà bisogno preparare rapidamente il progetto, 454 00:24:56,690 --> 00:25:03,320 avviare il database se necessario, e poi inviare l'applicazione a livello locale. 455 00:25:03,320 --> 00:25:07,200 Possiamo andare al nostro browser web ora. 456 00:25:07,200 --> 00:25:10,215 E vedremo che abbiamo avere una semplice applicazione. 457 00:25:10,215 --> 00:25:22,190 458 00:25:22,190 --> 00:25:29,130 Quindi quello che abbiamo visto era in realtà presentati il passo uno, il passo di un file. 459 00:25:29,130 --> 00:25:33,260 >> Passiamo alla fase due solo perché Penso che servirà allo stesso scopo. 460 00:25:33,260 --> 00:25:36,500 Sto solo andando a cambiare con il passaggio di due directory 461 00:25:36,500 --> 00:25:39,550 ed eseguire Meteor di nuovo in modo che possiamo vedere il modello che abbiamo appena lavorato con. 462 00:25:39,550 --> 00:25:43,560 463 00:25:43,560 --> 00:25:45,730 Sì, una domanda? 464 00:25:45,730 --> 00:25:49,724 >> PUBBLICO: il permesso se ci stiamo negato, è che-- cosa si tratta 465 00:25:49,724 --> 00:25:50,390 chiamato per questo? 466 00:25:50,390 --> 00:25:52,154 467 00:25:52,154 --> 00:25:54,070 ROGER ZURAWICKI: Se si sta eseguendo run Meteor, 468 00:25:54,070 --> 00:25:57,280 e di avere il permesso negato, alcuni dei file 469 00:25:57,280 --> 00:25:59,070 potrebbe non avere il giusto set di autorizzazioni. 470 00:25:59,070 --> 00:26:03,970 Quindi devi verificare dove le autorizzazioni sono spenti. 471 00:26:03,970 --> 00:26:06,030 Potrebbero essere spento in il progetto Meteor, 472 00:26:06,030 --> 00:26:08,550 o potrebbero essere spento in Meteor stessi file. 473 00:26:08,550 --> 00:26:13,742 >> PUBBLICO: Se ho scaricato solo ora dal GitHub, allora cosa devo fare 474 00:26:13,742 --> 00:26:16,110 [Incomprensibile]? 475 00:26:16,110 --> 00:26:20,110 >> ROGER ZURAWICKI: Se si desidera per assicurarsi la possibilità di accedervi, 476 00:26:20,110 --> 00:26:21,450 c'è un comando è possibile eseguire. 477 00:26:21,450 --> 00:26:26,590 Lasciatemi scrivere rapidamente fuori in modo che altri possano vederlo. 478 00:26:26,590 --> 00:26:30,670 Ho intenzione di aprire una nuova scheda qui e andare nella mia cartella seminario. 479 00:26:30,670 --> 00:26:33,500 480 00:26:33,500 --> 00:26:36,490 Chmod è il comando per modificare le autorizzazioni, 481 00:26:36,490 --> 00:26:40,060 e si può dire r per farlo ricorsivamente per ogni file. 482 00:26:40,060 --> 00:26:46,040 E i permessi, si può provare 0755 per assicurarsi di avere accesso completo, 483 00:26:46,040 --> 00:26:47,820 e tutti gli altri possono leggere. 484 00:26:47,820 --> 00:26:50,100 E se solo esegue questo comando, si farà 485 00:26:50,100 --> 00:26:55,800 che i permessi sono in controllare l'intera directory. 486 00:26:55,800 --> 00:26:59,160 Esecuzione di ls-l in grado di mostrare il le autorizzazioni in modo più dettagliato. 487 00:26:59,160 --> 00:27:01,290 Questo sembra OK. 488 00:27:01,290 --> 00:27:03,900 >> La cosa più importante è la presenza di tutti e tre 489 00:27:03,900 --> 00:27:06,610 rwx per tutti i file in la directory seminario. 490 00:27:06,610 --> 00:27:09,415 491 00:27:09,415 --> 00:27:11,330 Ha fatto che risolvere il problema? 492 00:27:11,330 --> 00:27:13,735 >> AUDIENCE: Dice mancante operante [incomprensibile]. 493 00:27:13,735 --> 00:27:17,980 494 00:27:17,980 --> 00:27:18,740 [Incomprensibile] 495 00:27:18,740 --> 00:27:20,490 ROGER ZURAWICKI: Lei fare in modo che si 496 00:27:20,490 --> 00:27:23,022 avere un punto alla fine del comando. 497 00:27:23,022 --> 00:27:23,938 AUDIENCE: [incomprensibile]. 498 00:27:23,938 --> 00:27:36,395 499 00:27:36,395 --> 00:27:37,520 ROGER ZURAWICKI: Va bene. 500 00:27:37,520 --> 00:27:42,220 Facciamo rapidamente tornare alla host locale, l'applicazione che abbiamo. 501 00:27:42,220 --> 00:27:46,640 E vedrete che abbiamo un alcune attività qui, come previsto. 502 00:27:46,640 --> 00:27:49,330 503 00:27:49,330 --> 00:27:51,990 Abbiamo un po 'di CSS, che non c'è bisogno di preoccuparsi. 504 00:27:51,990 --> 00:27:53,740 Il tutorial Meteor dà solo questo per voi 505 00:27:53,740 --> 00:27:58,010 per rendere il vostro per fare la lista guardare un po 'più bello rispetto alla pianura HTML. 506 00:27:58,010 --> 00:28:02,290 E abbiamo il file JavaScript, che Andrò più in dettaglio un po 'più tardi, 507 00:28:02,290 --> 00:28:04,272 ma fornisce solo questi compiti. 508 00:28:04,272 --> 00:28:04,980 Questo è compito uno. 509 00:28:04,980 --> 00:28:05,740 Questo è compito due. 510 00:28:05,740 --> 00:28:06,590 Questo è il compito a tre. 511 00:28:06,590 --> 00:28:09,720 Quindi questo è il dato del Meteor ottenere. 512 00:28:09,720 --> 00:28:15,590 >> Una delle cose interessanti su Meteor è che i cambiamenti possono avvenire automaticamente. 513 00:28:15,590 --> 00:28:18,990 Se volessi cambiare il nome del primo compito, 514 00:28:18,990 --> 00:28:22,490 quindi sarebbe dire che questo non è compito, e io salvarlo, 515 00:28:22,490 --> 00:28:26,370 poi quando vado al web browser, è possibile aggiornarlo, 516 00:28:26,370 --> 00:28:30,861 e dice automaticamente questo non è il compito uno. 517 00:28:30,861 --> 00:28:32,860 Si può fare la stessa cosa in uno di questi file. 518 00:28:32,860 --> 00:28:37,940 Fare un cambiamento, invece di fare lista, avrò il mio per fare la lista. 519 00:28:37,940 --> 00:28:40,980 >> E una cosa che hai appena notato, che non ho nemmeno bisogno di rinfrescare. 520 00:28:40,980 --> 00:28:43,960 L'idea di rinfrescante è gentile di risolvere per voi con Meteor. 521 00:28:43,960 --> 00:28:48,970 Ogni volta che rileva i file cambia, caricherà i cambiamenti per voi. 522 00:28:48,970 --> 00:28:53,110 Questo funziona su tutti i file, sia è HTML, CSS, JavaScript o. 523 00:28:53,110 --> 00:28:57,990 Per mostrare ciò che questa app apparirebbe come senza di CSS, posso rimuovere tutto. 524 00:28:57,990 --> 00:29:04,720 E quando è ricaricato, ora avete un non così bello, cercando di fare la lista. 525 00:29:04,720 --> 00:29:06,370 Mettiamo che il contenuto indietro. 526 00:29:06,370 --> 00:29:11,343 E abbastanza sicuramente, rinfresca, e il nostro CSS è tornato. 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 >> Ora possiamo andare avanti con il tutorial. 530 00:29:20,010 --> 00:29:23,360 Parliamo di fase due, modelli. 531 00:29:23,360 --> 00:29:27,140 Questo è quello che abbiamo appena visto dei diversi compiti. 532 00:29:27,140 --> 00:29:31,550 Meteor vi spiegherà cosa modelli e come questa logica funziona. 533 00:29:31,550 --> 00:29:34,760 Ma facciamo solo un'occhiata al codice di vedere se siamo in grado di dare un senso di esso. 534 00:29:34,760 --> 00:29:38,030 535 00:29:38,030 --> 00:29:41,460 >> Nelle applicazioni molto semplici, come quello che abbiamo nel semplice 536 00:29:41,460 --> 00:29:44,550 fare, passo uno, fase due, passo tre, quattro step, passo cinque, 537 00:29:44,550 --> 00:29:45,700 non abbiamo alcuna cartella. 538 00:29:45,700 --> 00:29:47,533 Non abbiamo il server la cartella che ho citato. 539 00:29:47,533 --> 00:29:50,510 Noi non abbiamo il client cartella che è stato menzionato. 540 00:29:50,510 --> 00:29:52,290 Così Meteor verrà eseguito tutti i file. 541 00:29:52,290 --> 00:29:55,210 Sarà eseguirlo sia sul client, sia sul server. 542 00:29:55,210 --> 00:29:58,840 >> E se si desidera che le parti del vostro JavaScript codice per eseguire solo sul client, 543 00:29:58,840 --> 00:30:02,350 hanno bisogno di assicurarsi di avere un'istruzione if, un po 'come quello che 544 00:30:02,350 --> 00:30:04,890 abbiamo nel nostro file JavaScript qui. 545 00:30:04,890 --> 00:30:08,010 Quindi Meteor, solo se è il cliente, poi ho 546 00:30:08,010 --> 00:30:12,355 voler definire un modello helper chiamati compiti. 547 00:30:12,355 --> 00:30:15,050 548 00:30:15,050 --> 00:30:19,260 Che cosa questo codice veramente fa è dice che non c'è 549 00:30:19,260 --> 00:30:21,800 un modello di oggetto chiamato che fornisce Meteor. 550 00:30:21,800 --> 00:30:23,270 E abbiamo intenzione di aggiungere un aiutante. 551 00:30:23,270 --> 00:30:27,680 Helpers sono questi compiti, queste cose come i compiti. 552 00:30:27,680 --> 00:30:33,890 >> Vedrai che se torniamo al File HTML, abbiamo chiamato ognuno sui compiti. 553 00:30:33,890 --> 00:30:35,750 Compiti non è definita in HTML. 554 00:30:35,750 --> 00:30:37,770 E 'definito in JavaScript. 555 00:30:37,770 --> 00:30:42,610 E Meteor ha bisogno di sapere quali compiti è quando andiamo in JavaScript qui. 556 00:30:42,610 --> 00:30:45,550 Tasks è questo helper. 557 00:30:45,550 --> 00:30:49,830 Helper, si può pensare di come una variabile di modello. 558 00:30:49,830 --> 00:30:51,000 E che cosa fa i compiti fanno? 559 00:30:51,000 --> 00:30:53,580 Beh, restituisce l'elenco dei valori. 560 00:30:53,580 --> 00:30:56,750 Perché è una lista, possiamo chiamare ognuno di esso. 561 00:30:56,750 --> 00:30:58,590 Ecco perché ci chiamiamo sui compiti. 562 00:30:58,590 --> 00:30:59,730 E ora abbiamo compito. 563 00:30:59,730 --> 00:31:02,850 564 00:31:02,850 --> 00:31:03,990 >> Cosa compito fare? 565 00:31:03,990 --> 00:31:07,740 Beh, ha questa freccia qui dopo le parentesi graffe. 566 00:31:07,740 --> 00:31:09,130 Ciò significa compito è un modello. 567 00:31:09,130 --> 00:31:11,100 Non è un aiuto, come quello che abbiamo appena visto. 568 00:31:11,100 --> 00:31:12,872 E 'un modello che abbiamo definito. 569 00:31:12,872 --> 00:31:14,080 E dove abbiamo definito? 570 00:31:14,080 --> 00:31:16,950 Abbiamo definito al di sotto proprio qui. 571 00:31:16,950 --> 00:31:21,160 >> Tutto questo modello non è un rendering un elemento della lista, e si chiama il testo. 572 00:31:21,160 --> 00:31:24,160 Ora, testo sembra essere un aiuto, ma ti faccio vedere 573 00:31:24,160 --> 00:31:26,610 che questo è in realtà ancora un membro di dati di compiti. 574 00:31:26,610 --> 00:31:29,230 575 00:31:29,230 --> 00:31:33,670 Quando si chiama ciascuno, va in la struttura dati un po '. 576 00:31:33,670 --> 00:31:39,130 Come il ciclo foreach, ora sembra proprio al primo elemento nel nostro oggetto. 577 00:31:39,130 --> 00:31:41,850 Vediamo che il testo è qui definito nel nostro oggetto. 578 00:31:41,850 --> 00:31:45,350 Così Meteor è intelligente per sapere che stiamo parlando di questo testo, 579 00:31:45,350 --> 00:31:47,630 non l'aiutante chiamato testo. 580 00:31:47,630 --> 00:31:52,120 E 'appena ottiene il valore di questo testo qui e lo visualizza come HTML, 581 00:31:52,120 --> 00:31:55,475 ed è così che i dati va dalla JavaScript per il codice HTML. 582 00:31:55,475 --> 00:32:03,320 583 00:32:03,320 --> 00:32:07,030 >> Passando però, in questo esempio abbiamo codificato duro quei valori. 584 00:32:07,030 --> 00:32:10,440 Meteor fa due davvero cose belle per noi. 585 00:32:10,440 --> 00:32:15,050 Oltre l'aggiornamento live che abbiamo ha dimostrato, gestisce anche la nostra banca dati. 586 00:32:15,050 --> 00:32:18,750 Se dovessi lavorare con PHP, si doveva configurare phpMyAdmin. 587 00:32:18,750 --> 00:32:21,320 Si doveva assicurarsi che il proprio tavoli erano tutti sotto controllo. 588 00:32:21,320 --> 00:32:24,760 Si doveva fare un sacco di lavoro da fare che il dato è stato formattato correttamente, 589 00:32:24,760 --> 00:32:27,880 e PHP potrebbe comunicare con esso. 590 00:32:27,880 --> 00:32:30,170 >> Ora, Meteor utilizza un nuovo paradigma. 591 00:32:30,170 --> 00:32:32,310 Questo è un modo più moderno di gestire un database. 592 00:32:32,310 --> 00:32:34,580 Si tratta di una tecnologia chiamata MongoDB. 593 00:32:34,580 --> 00:32:38,740 Proprio come in JavaScript, abbiamo visto che non importa che tipo i dati avevano. 594 00:32:38,740 --> 00:32:39,640 Tutto era un var. 595 00:32:39,640 --> 00:32:40,570 Non era un charstar. 596 00:32:40,570 --> 00:32:40,930 Non era un int. 597 00:32:40,930 --> 00:32:41,970 Non era una struct. 598 00:32:41,970 --> 00:32:44,210 Fu proprio questo var, Var che. 599 00:32:44,210 --> 00:32:46,320 >> MongoDB funziona tipo di allo stesso modo. 600 00:32:46,320 --> 00:32:48,160 Non è necessario definire le tabelle. 601 00:32:48,160 --> 00:32:50,860 Non devi dire una tabella ha un nome, che ha un int. 602 00:32:50,860 --> 00:32:54,710 Essa ha, non so, un dollaro, che è un numero decimale. 603 00:32:54,710 --> 00:32:58,360 E 'solo di questi oggetti JavaScript, tutti questi vars, essenzialmente. 604 00:32:58,360 --> 00:33:02,780 E questo è davvero potente modo al prototipo vostra applicazione. 605 00:33:02,780 --> 00:33:06,190 Ed è per questo Meteor sfrutta questo. 606 00:33:06,190 --> 00:33:11,080 >> Se andiamo al punto tre, vediamo cosa è cambiato. 607 00:33:11,080 --> 00:33:15,480 Se guardiamo il codice HTML todos, non molto. 608 00:33:15,480 --> 00:33:17,170 CSS non è cambiato affatto. 609 00:33:17,170 --> 00:33:22,420 Ma il piccolo cambiamento che vediamo in HTML è che abbiamo cambiato il modo le attività è definito. 610 00:33:22,420 --> 00:33:23,800 Tasks è ora una funzione. 611 00:33:23,800 --> 00:33:25,800 Ciò significa che ogni volta vogliamo ottenere compiti, 612 00:33:25,800 --> 00:33:27,480 stiamo andando a correre questa funzione. 613 00:33:27,480 --> 00:33:29,230 Esso non restituisce il funzione di un valore. 614 00:33:29,230 --> 00:33:33,710 >> Meteor è intelligente di eseguire realmente la funzione per vedere quello che si ottiene fuori. 615 00:33:33,710 --> 00:33:36,650 E ritorna questa cosa chiamata compiti. 616 00:33:36,650 --> 00:33:40,650 Abbiamo definito i compiti sulla linea uno, ed è una collezione di Mongo. 617 00:33:40,650 --> 00:33:43,170 Mongo si riferisce il database utilizza Meteor, 618 00:33:43,170 --> 00:33:48,420 e questo nuovo mezzo appena facciamo una nuova collezione, lo chiamano compiti. 619 00:33:48,420 --> 00:33:53,540 In MySQL, questo sarebbe equivalente a cercando per i compiti di tabella chiamata. 620 00:33:53,540 --> 00:33:56,350 Mongo ha collezioni, non tabelle. 621 00:33:56,350 --> 00:34:00,100 Quindi questo sembra proprio per i compiti. 622 00:34:00,100 --> 00:34:04,820 >> Ora, nel nostro modello helper nel template, tutti 623 00:34:04,820 --> 00:34:08,380 dobbiamo fare per ottenere tutte le compiti è questa funzione, trovano 624 00:34:08,380 --> 00:34:11,710 e questo tutore vuoto. 625 00:34:11,710 --> 00:34:14,150 Questo è più particolare sintassi Mongo. 626 00:34:14,150 --> 00:34:16,159 C'è un sacco di documentazione in linea per quanto 627 00:34:16,159 --> 00:34:19,360 si può fare efficace e davvero utile Mongo query. 628 00:34:19,360 --> 00:34:25,560 Ma qualcosa di simile è buono basta solo trovare tutti i dati. 629 00:34:25,560 --> 00:34:30,100 >> Ora, uno dei problemi che si potrebbe vedere è che non abbiamo mai realmente aggiungiamo dati. 630 00:34:30,100 --> 00:34:35,020 Che cosa succede quando si in realtà eseguire passo a tre? 631 00:34:35,020 --> 00:34:37,550 Andiamo subito in punto tre ed eseguire Meteor. 632 00:34:37,550 --> 00:34:42,870 633 00:34:42,870 --> 00:34:45,650 Si noti che ho avuto un altro Meteor progetto in corso da qualche altra parte, 634 00:34:45,650 --> 00:34:49,110 così Meteor non piace. 635 00:34:49,110 --> 00:34:52,810 Sto solo andando a chiudere rapidamente a l'altra Meteor con controllo C, 636 00:34:52,810 --> 00:34:55,780 andare in fase tre, ed eseguire nuovamente Meteor. 637 00:34:55,780 --> 00:35:01,070 638 00:35:01,070 --> 00:35:03,180 Notate sta iniziando MongoDB perché MongoDB 639 00:35:03,180 --> 00:35:06,370 è una parte di ogni progetto Meteor. 640 00:35:06,370 --> 00:35:09,190 >> Così dice la mia domanda contiene errori. 641 00:35:09,190 --> 00:35:10,590 Questa è una bella caratteristica Meteor ha. 642 00:35:10,590 --> 00:35:13,700 Si fa in modo tuo HTML è ben convalidato. 643 00:35:13,700 --> 00:35:17,710 Vediamo rapidamente a perché questo potrebbe essere. 644 00:35:17,710 --> 00:35:26,110 Sembra che io abbia accidentalmente copiato il codice HTML errato. 645 00:35:26,110 --> 00:35:30,610 Se salvo ora, Meteor riavviato automaticamente il server, 646 00:35:30,610 --> 00:35:34,650 e ora l'applicazione è in esecuzione come previsto. 647 00:35:34,650 --> 00:35:39,220 Avviso per risolvere questo problema, si può semplicemente eseguire lo stesso file HTML dal passaggio di due, 648 00:35:39,220 --> 00:35:40,380 copiarlo nella fase tre. 649 00:35:40,380 --> 00:35:43,290 650 00:35:43,290 --> 00:35:45,917 >> Possiamo tornare al nostro host locale. 651 00:35:45,917 --> 00:35:47,500 Ed ora vediamo noi abbiamo la nostra per fare la lista. 652 00:35:47,500 --> 00:35:50,070 Grande, ma è vuoto. 653 00:35:50,070 --> 00:35:54,210 Noi in realtà non hanno alcun attività nel nostro database Mongo. 654 00:35:54,210 --> 00:35:57,930 Quindi parliamo di un alcuni modi in cui possiamo farlo. 655 00:35:57,930 --> 00:36:03,240 Se torniamo al terminale, abbiamo può chiudere ed eseguire Meteor Mongo. 656 00:36:03,240 --> 00:36:05,320 >> Se avete familiarità di come funziona Meteor, 657 00:36:05,320 --> 00:36:14,100 questo in realtà ti dà accesso al massimo MongoDB per Meteor. 658 00:36:14,100 --> 00:36:17,570 Si noti che si deve essere in esecuzione Meteor prima per far funzionare tutto questo. 659 00:36:17,570 --> 00:36:23,840 Quindi, se corro questo in una nuova scheda, I può tornare nella stessa directory. 660 00:36:23,840 --> 00:36:29,040 661 00:36:29,040 --> 00:36:32,570 E ora Meteor funziona bene. 662 00:36:32,570 --> 00:36:33,600 Questo è un sollecito. 663 00:36:33,600 --> 00:36:36,350 664 00:36:36,350 --> 00:36:38,790 Permettetemi di fare un po ' più grande in modo che possiamo vedere. 665 00:36:38,790 --> 00:36:41,550 Questo sembra un po 'diverso quello che potrebbe essere utilizzato per voi 666 00:36:41,550 --> 00:36:42,869 in realtà non hanno bisogno di usare Mongo. 667 00:36:42,869 --> 00:36:45,410 Il punto di me qui è in modo che è possibile utilizzare JavaScript. 668 00:36:45,410 --> 00:36:48,250 Ma se siete curiosi, l'API Mongo non lo fa 669 00:36:48,250 --> 00:36:50,730 utilizzare SQL, query Structured Language. 670 00:36:50,730 --> 00:36:55,570 Esso utilizza un proprio linguaggio che sembra un po 'come JavaScript. 671 00:36:55,570 --> 00:37:00,520 Molto rapidamente, possiamo trovare la tabella via db.tasks. 672 00:37:00,520 --> 00:37:08,940 E mi sta dicendo risulta se corriamo trovare, 673 00:37:08,940 --> 00:37:13,450 tipo di simile a quello che abbiamo avuto con Meteor, siamo in grado di caricare tutti gli elementi. 674 00:37:13,450 --> 00:37:17,330 Il problema è, non lo facciamo in realtà avere compiti definiti. 675 00:37:17,330 --> 00:37:20,600 Quindi non li può ottenere. 676 00:37:20,600 --> 00:37:22,130 >> Siamo in grado di inserire, però. 677 00:37:22,130 --> 00:37:25,170 Così siamo in grado di eseguire inserto con inserto di comando. 678 00:37:25,170 --> 00:37:29,140 E abbiamo appena diamo un oggetto, e abbiamo appena 679 00:37:29,140 --> 00:37:31,840 assicurarsi che il formato è quello che ci aspettiamo. 680 00:37:31,840 --> 00:37:35,030 Se abbiamo guardato fase due, abbiamo visto che ogni compito 681 00:37:35,030 --> 00:37:39,590 era un oggetto con un testo come chiave e qualunque 682 00:37:39,590 --> 00:37:41,640 il vostro fare voce è come una variabile. 683 00:37:41,640 --> 00:37:44,680 Quindi possiamo fare qualcosa qui. 684 00:37:44,680 --> 00:37:50,160 >> Possiamo farlo inserire un compito Chiamai Vengo da Mongo. 685 00:37:50,160 --> 00:37:52,570 E premiamo Invio, e funziona. 686 00:37:52,570 --> 00:37:56,900 Siamo in grado di eseguire ritrovare, e noi vedere che c'è un oggetto qui. 687 00:37:56,900 --> 00:38:01,810 Mongo assegna un ID, che si non ha realmente bisogno di preoccuparsi. 688 00:38:01,810 --> 00:38:06,690 Quello che è importante per voi sono i dati si mette in, è il dato che si ottiene fuori. 689 00:38:06,690 --> 00:38:10,500 >> Torniamo al nostro sito, e hey, il nostro compito caricato. 690 00:38:10,500 --> 00:38:13,987 E si può vedere che perché Meteor è molto intelligente 691 00:38:13,987 --> 00:38:16,570 e rinfresca sempre per te, io non doveva toccare la pagina. 692 00:38:16,570 --> 00:38:19,160 È caricato automaticamente. 693 00:38:19,160 --> 00:38:23,520 >> Corriamo codice in JavaScript anche se per fare questo. 694 00:38:23,520 --> 00:38:26,120 Come abbiamo nodo nella parte posteriore fine di eseguire fuori JavaScript, 695 00:38:26,120 --> 00:38:29,280 possiamo anche eseguire JavaScript direttamente nel nostro browser. 696 00:38:29,280 --> 00:38:31,970 È possibile farlo da una funzione chiamato Inspect Element. 697 00:38:31,970 --> 00:38:34,210 Se proprio clicco su un sezione della pagina, 698 00:38:34,210 --> 00:38:36,730 c'è un'opzione chiamato Inspect Element. 699 00:38:36,730 --> 00:38:38,840 Se si sta eseguendo un browser come Safari, è 700 00:38:38,840 --> 00:38:45,430 potrebbe essere necessario abilitare il developer strumenti prima di ottenere questa funzione. 701 00:38:45,430 --> 00:38:46,930 >> Quello che ci sta a cuore è la console. 702 00:38:46,930 --> 00:38:48,930 Quindi dovremo solo andare al console in basso. 703 00:38:48,930 --> 00:38:52,110 704 00:38:52,110 --> 00:38:55,970 Ora siamo in grado di eseguire qualsiasi JavaScript qui, come il codice JavaScript 705 00:38:55,970 --> 00:38:58,860 file che hanno mostrato nell'esempio js. 706 00:38:58,860 --> 00:39:02,040 Ma ora diamo un'occhiata a compiti. 707 00:39:02,040 --> 00:39:04,955 Siamo in grado di eseguire il nostro comando. 708 00:39:04,955 --> 00:39:07,830 E spero di essere in grado di fare un po 'più grande in modo che possiamo tutti vedere. 709 00:39:07,830 --> 00:39:14,390 710 00:39:14,390 --> 00:39:18,450 >> Se corriamo tasks.find, e avrete vedere che questo è l'esatto stesso codice 711 00:39:18,450 --> 00:39:24,840 che utilizza file JavaScript in fase tre, questo task.find. 712 00:39:24,840 --> 00:39:29,100 Siamo in grado di eseguire la stessa cosa, e ora abbiamo un po 'cose strane. 713 00:39:29,100 --> 00:39:31,050 Come possiamo effettivamente ottenere i dati? 714 00:39:31,050 --> 00:39:34,860 Beh, dobbiamo eseguire questo comando chiamato recupero. 715 00:39:34,860 --> 00:39:37,150 >> Ciò è molto utile per il debugging. 716 00:39:37,150 --> 00:39:41,000 Quello che si ottiene è qui un cursore, e questo è 717 00:39:41,000 --> 00:39:44,890 un bel modo Meteor ha dati fetching ottimizzati. 718 00:39:44,890 --> 00:39:48,270 Questo cursore ha tutte le caratteristiche per aggiornamento dal vivo e aggiornare la pagina 719 00:39:48,270 --> 00:39:49,650 quando qualcosa è cambiato. 720 00:39:49,650 --> 00:39:51,280 Ma non ci porterà i dati. 721 00:39:51,280 --> 00:39:52,720 Siamo in grado di ottenere i dati tramite recupero. 722 00:39:52,720 --> 00:39:56,880 E si vede che abbiamo un oggetto, e è proprio come quello che abbiamo avuto in Mongo, 723 00:39:56,880 --> 00:40:00,040 con un ID e il testo che abbiamo messo in. 724 00:40:00,040 --> 00:40:04,200 >> Quindi, come possiamo inserire un elemento in Meteor? 725 00:40:04,200 --> 00:40:07,250 Beh, non ci resta che compiti. 726 00:40:07,250 --> 00:40:09,990 E allora possiamo eseguire il stesso comando insert, 727 00:40:09,990 --> 00:40:17,520 dando un dizionario o un oggetto con lo stesso formato, testo 728 00:40:17,520 --> 00:40:22,340 e poi io vengo dalla console. 729 00:40:22,340 --> 00:40:27,240 Date un'occhiata qui sopra, perché quando ho fare questo, si presenta sul sito web 730 00:40:27,240 --> 00:40:29,660 automaticamente. 731 00:40:29,660 --> 00:40:33,291 >> Si noti che si può mettere qualsiasi cosa si vuole in questi articoli. 732 00:40:33,291 --> 00:40:35,040 Essa non deve avere una struttura fissa. 733 00:40:35,040 --> 00:40:39,790 Potrei avere un uguale alla numero tre e b pari a false. 734 00:40:39,790 --> 00:40:41,600 E tutte le opere. 735 00:40:41,600 --> 00:40:46,000 Posso anche scegliere di non includere un testo affatto. 736 00:40:46,000 --> 00:40:48,320 Questo non è solo raccomandato però, perché poi Meteor 737 00:40:48,320 --> 00:40:50,920 non sa cosa visualizzare. 738 00:40:50,920 --> 00:40:53,110 Ma in ogni caso, ottenere un ID, e questo è 739 00:40:53,110 --> 00:40:54,785 l'ID dell'oggetto è possibile utilizzare. 740 00:40:54,785 --> 00:41:01,120 741 00:41:01,120 --> 00:41:03,280 >> Mentre continuiamo con punto quattro e passo cinque, 742 00:41:03,280 --> 00:41:06,870 il tutorial vi mostrerà un modo che è possibile creare elementi dell'interfaccia utente tramite 743 00:41:06,870 --> 00:41:13,130 il codice HTML che sai creare attività diverse. 744 00:41:13,130 --> 00:41:15,440 Diamo un'occhiata a quattro passo molto velocemente. 745 00:41:15,440 --> 00:41:18,290 Vedremo che abbiamo aggiunto una sezione sugli eventi. 746 00:41:18,290 --> 00:41:20,874 I modelli possono avere aiutanti, che ci ottenere i dati. 747 00:41:20,874 --> 00:41:22,040 Ma può anche chiamare eventi. 748 00:41:22,040 --> 00:41:25,300 Ed è qui che roba diventa utile, perché gli eventi 749 00:41:25,300 --> 00:41:28,590 sono ciò che succede quando si fa clic su cose diverse sul tuo sito web. 750 00:41:28,590 --> 00:41:33,790 >> Qui, il nostro codice è raccontare di aggiungere questo evento. 751 00:41:33,790 --> 00:41:38,860 Aggiungilo quando hai inviato qualcosa con la nuova attività di classe. 752 00:41:38,860 --> 00:41:41,910 Quello che avete qui è un selettore CSS. 753 00:41:41,910 --> 00:41:45,870 Quindi questo sembra proprio un HTML elemento che ha la nuova attività di classe. 754 00:41:45,870 --> 00:41:47,940 E sembra per l'evento, come presentare. 755 00:41:47,940 --> 00:41:51,050 Altri eventi sono click, hover, doppio click, 756 00:41:51,050 --> 00:41:54,450 simile a quello che si ottiene in normale HTML. 757 00:41:54,450 --> 00:41:56,770 >> Che si dà qui è ormai una funzione. 758 00:41:56,770 --> 00:42:01,210 E si può avere la codice in quella funzione. 759 00:42:01,210 --> 00:42:06,360 Questa funzione è ciò che finisce per ottenere chiamato quando si invia questo nuovo compito. 760 00:42:06,360 --> 00:42:12,170 Diamo un'occhiata al codice HTML solo così noi capire ciò che questo nuovo compito. 761 00:42:12,170 --> 00:42:15,570 Abbiamo aggiunto un modulo qui con classe di nuovo compito. 762 00:42:15,570 --> 00:42:19,880 E ha un ingresso che prende il testo. 763 00:42:19,880 --> 00:42:22,605 E questo è dove siamo aggiungerà i nostri nuovi compiti. 764 00:42:22,605 --> 00:42:25,520 765 00:42:25,520 --> 00:42:29,780 >> Corriamo passo quattro del sito web per vedere quello che sembra. 766 00:42:29,780 --> 00:42:32,710 Siamo in grado di uscire prima fuori del MongoDB abbiamo avuto 767 00:42:32,710 --> 00:42:35,300 dal nostro precedente esempio con controllo C. 768 00:42:35,300 --> 00:42:37,690 E cambiamo in il passaggio quattro directory. 769 00:42:37,690 --> 00:42:41,000 770 00:42:41,000 --> 00:42:42,920 Faremo ancora Meteor per avviare il server. 771 00:42:42,920 --> 00:42:46,850 772 00:42:46,850 --> 00:42:50,510 E purtroppo, ho avuto Meteor esecuzione in un altro terminale. 773 00:42:50,510 --> 00:42:53,080 Così sto solo andando a assicurarsi che questo chiuso. 774 00:42:53,080 --> 00:43:01,805 Facciamo uscire questo e il cambiamento a parte quattro, passo quattro. 775 00:43:01,805 --> 00:43:02,305 OK. 776 00:43:02,305 --> 00:43:11,220 777 00:43:11,220 --> 00:43:13,250 >> Ora il nostro codice Meteor è in esecuzione. 778 00:43:13,250 --> 00:43:19,480 E si può vedere che l'aggiornamento, senza noi nemmeno dover aggiornare la pagina. 779 00:43:19,480 --> 00:43:24,410 Che cosa è cambiato qui è ora che non abbiamo alcuna attività, 780 00:43:24,410 --> 00:43:29,530 ma abbiamo una forma qui, questo casella di testo, per aggiungere i nostri nuovi compiti. 781 00:43:29,530 --> 00:43:31,550 E possiamo digitare il nostro compito qui. 782 00:43:31,550 --> 00:43:34,564 Vengo dalla pagina HTML. 783 00:43:34,564 --> 00:43:36,105 Quando premo Enter, ha ottenuto presentato. 784 00:43:36,105 --> 00:43:39,180 785 00:43:39,180 --> 00:43:44,540 >> Possiamo vedere quello che è successo come definito dal codice JavaScript. 786 00:43:44,540 --> 00:43:49,930 Che questa funzione ha fatto era prendere il testo dalla forma, 787 00:43:49,930 --> 00:43:53,680 e poi appena chiamato tasks.insert, come abbiamo fatto nella console. 788 00:43:53,680 --> 00:43:56,410 Essi hanno inoltre scelto di aggiungere una data createdAt. 789 00:43:56,410 --> 00:43:59,840 Questo è come si farebbe specificare l'ora corrente. 790 00:43:59,840 --> 00:44:03,220 Dopo di che, azzera il modulo facendo che il valore è una stringa vuota. 791 00:44:03,220 --> 00:44:06,550 >> E poi chiama ritorno falso assicurarsi che non succede nient'altro. 792 00:44:06,550 --> 00:44:10,350 Quando si torna da un falso evento forma, che interrompe l'esecuzione. 793 00:44:10,350 --> 00:44:14,520 Dire un modulo ha un'azione, come inviare una pagina PHP. 794 00:44:14,520 --> 00:44:16,980 Se tu non fossi tornato falso, che ci si ritorni vero. 795 00:44:16,980 --> 00:44:18,500 Si finirebbe per fare tale richiesta. 796 00:44:18,500 --> 00:44:20,590 False intercetta e si ferma proprio lì. 797 00:44:20,590 --> 00:44:23,510 798 00:44:23,510 --> 00:44:28,610 >> Così che era un po 'demo su come funziona Meteor, e abbiamo 799 00:44:28,610 --> 00:44:30,980 seguito il tutorial per un po '. 800 00:44:30,980 --> 00:44:33,560 E si può sentire per favore libero di continuare a fare questo. 801 00:44:33,560 --> 00:44:37,760 Ci sono un sacco di risorse, e il tutorial è in realtà solo 802 00:44:37,760 --> 00:44:40,400 molto bene spiegare cosa sta succedendo. 803 00:44:40,400 --> 00:44:44,362 Voglio mostrarvi ora, in i pochi minuti che abbiamo lasciato, 804 00:44:44,362 --> 00:44:46,320 quali sono alcuni dei caratteristiche più fredde di Meteor, 805 00:44:46,320 --> 00:44:48,772 e quali sono alcuni dei pacchetti più utili. 806 00:44:48,772 --> 00:44:51,730 Una delle grandi cose su Meteor è che si dispone di un sistema di pacchetti. 807 00:44:51,730 --> 00:44:55,620 Si può facilmente inserire il codice che molte migliaia di sviluppatori 808 00:44:55,620 --> 00:44:58,840 hanno scritto di tutto il mondo nel progetto Meteor. 809 00:44:58,840 --> 00:45:02,410 Un esempio di questo è ciò che si potrebbe fare in fase nove del tutorial, dove 810 00:45:02,410 --> 00:45:07,435 si sta tentando di aggiungere account al progetto Meteor. 811 00:45:07,435 --> 00:45:10,010 812 00:45:10,010 --> 00:45:13,690 Se abbiamo un PHP CS50 progetto, avremmo 813 00:45:13,690 --> 00:45:17,810 a fare affidamento sul quadro o il nostro codice per rendere 814 00:45:17,810 --> 00:45:20,820 Assicurarsi gestiamo correttamente password e nomi utente 815 00:45:20,820 --> 00:45:23,120 e memorizzare il database e tutto questo. 816 00:45:23,120 --> 00:45:25,670 >> Si scopre Meteor ha qualche pacchetti di farlo per voi, 817 00:45:25,670 --> 00:45:29,160 e di farlo molto facilmente. 818 00:45:29,160 --> 00:45:31,950 Quello che possiamo fare è aggiungere alcuni pacchetti. 819 00:45:31,950 --> 00:45:37,450 Allora, facciamo questo diritto ora nella nostra console. 820 00:45:37,450 --> 00:45:42,460 Ho intenzione di abbandonare il progetto e in questo momento andare in semplice todos. 821 00:45:42,460 --> 00:45:47,450 822 00:45:47,450 --> 00:45:50,050 Ora, semplice-todos è il progetto che si 823 00:45:50,050 --> 00:45:53,500 avrà dopo essere stato fatto con passo 11 o passo 12, 824 00:45:53,500 --> 00:45:55,250 alla fine di questo tutorial. 825 00:45:55,250 --> 00:45:58,642 E diamo un'occhiata rapida a questo per vedere quali sono le diverse caratteristiche che abbiamo. 826 00:45:58,642 --> 00:46:01,610 Diciamo solo assicurarsi che sia in esecuzione. 827 00:46:01,610 --> 00:46:04,400 A volte ci vuole un po ' per aggiornare, ma qui è. 828 00:46:04,400 --> 00:46:09,710 >> Noi abbiamo la nostra opzione per nascondere completare le attività, e siamo in grado di accedere. 829 00:46:09,710 --> 00:46:11,770 E questo è stato fatto con il pacchetto Meteor. 830 00:46:11,770 --> 00:46:12,270 È ottimo. 831 00:46:12,270 --> 00:46:14,910 Abbiamo ora Nome utente e password segno. 832 00:46:14,910 --> 00:46:19,170 Ma cosa succede se volessimo aggiungere un altro tipo di meccanismo di login? 833 00:46:19,170 --> 00:46:22,560 Diciamo che ho voluto il login con il mio account di Meteor. 834 00:46:22,560 --> 00:46:27,270 Io vado a correre meteora add, e questo è la sintassi per l'aggiunta di pacchetti. 835 00:46:27,270 --> 00:46:32,160 Posso dire conti e accounts.meteor. 836 00:46:32,160 --> 00:46:35,720 Sta andando a trovare ora il pacchetto e lo carica. 837 00:46:35,720 --> 00:46:40,480 Si può vedere che non ho trovato il nome giusto pacchetto. 838 00:46:40,480 --> 00:46:42,820 >> Così come si fa a scoprire circa i pacchetti? 839 00:46:42,820 --> 00:46:46,380 Beh, c'è un grande sito web, realizzato disponibile dal popolo Meteor, 840 00:46:46,380 --> 00:46:47,780 chiamato atmospherejs.com. 841 00:46:47,780 --> 00:46:52,520 Atmospherejs, una parola, puntino com, è un grande repository 842 00:46:52,520 --> 00:46:57,660 per reperire tutti i Meteor pacchetti nel repository. 843 00:46:57,660 --> 00:47:05,140 Posso cercare conti, e poi Sarà mi mostra tutte le cose rilevanti, 844 00:47:05,140 --> 00:47:07,320 tutti i pacchetti con il nome del conto. 845 00:47:07,320 --> 00:47:10,180 846 00:47:10,180 --> 00:47:13,270 >> Mentre che carica, possiamo provare l'aggiunta di alcuni altri pacchetti. 847 00:47:13,270 --> 00:47:19,380 Forse il pacchetto Meteor non funziona in questo momento, ma posso aggiungere Facebook. 848 00:47:19,380 --> 00:47:22,860 849 00:47:22,860 --> 00:47:27,190 Posso aggiungere l'account e poi eseguire nuovamente il progetto Meteor. 850 00:47:27,190 --> 00:47:33,260 851 00:47:33,260 --> 00:47:36,900 Una volta che questo inizia, vediamo cosa è cambiato sul sito web. 852 00:47:36,900 --> 00:47:40,010 853 00:47:40,010 --> 00:47:44,580 Puoi see-- potrei necessario aggiornare qui. 854 00:47:44,580 --> 00:47:47,320 >> Ho un pulsante per configurare Facebook login. 855 00:47:47,320 --> 00:47:49,765 E qui, ho tutto le istruzioni Meteor 856 00:47:49,765 --> 00:47:52,960 ha preparato per voi per la creazione di una applicazione Facebook. 857 00:47:52,960 --> 00:47:58,990 E si può utilizzare tale informazioni per aggiungere gli ID. 858 00:47:58,990 --> 00:48:04,130 Una volta fatto, avrai Facebook login lavorare nella vostra applicazione. 859 00:48:04,130 --> 00:48:08,559 >> Sto solo andando a prendere un ID applicazione e un segreto, 860 00:48:08,559 --> 00:48:10,100 solo per mostrare come questo potrebbe funzionare. 861 00:48:10,100 --> 00:48:16,000 862 00:48:16,000 --> 00:48:20,360 Avrete bisogno di un account Facebook di utilizzare Facebook opzioni sviluppatori. 863 00:48:20,360 --> 00:48:31,160 864 00:48:31,160 --> 00:48:35,290 Vorrei solo trovare rapidamente la Chiavi Meteor che sono necessarie. 865 00:48:35,290 --> 00:48:46,994 866 00:48:46,994 --> 00:48:49,160 Ho un altro progetto Meteor che ho intenzione di usare, 867 00:48:49,160 --> 00:48:55,590 e sto solo andando a prendere le chiavi di quel file. 868 00:48:55,590 --> 00:49:14,410 869 00:49:14,410 --> 00:49:20,930 >> E una volta mi trovo, mi limiterò a essere in grado copiare questi tasti nel mio Facebook. 870 00:49:20,930 --> 00:49:23,489 Così qui è una chiave. 871 00:49:23,489 --> 00:49:24,280 E questo è un segreto. 872 00:49:24,280 --> 00:49:26,071 Non dovrebbe essere condividere questo con la gente. 873 00:49:26,071 --> 00:49:28,870 874 00:49:28,870 --> 00:49:30,910 E poi si dà il vostro segreto app. 875 00:49:30,910 --> 00:49:33,560 E questo è così Facebook sa che sei tu. 876 00:49:33,560 --> 00:49:37,630 877 00:49:37,630 --> 00:49:39,080 E si salva la configurazione. 878 00:49:39,080 --> 00:49:45,160 879 00:49:45,160 --> 00:49:48,640 >> Credo che nel processo di I hanno smesso la mia Meteor app. 880 00:49:48,640 --> 00:49:52,290 Quindi voglio solo fare sicuro che sia ancora lì. 881 00:49:52,290 --> 00:49:54,962 882 00:49:54,962 --> 00:49:58,610 OK, facciamo sì che il nostro server di Meteor è in esecuzione in modo che la pagina web è in esecuzione. 883 00:49:58,610 --> 00:50:02,440 Notate se ci fermiamo la Meteor server, la pagina è ancora lì. 884 00:50:02,440 --> 00:50:04,700 Semplicemente non aggiornerà più. 885 00:50:04,700 --> 00:50:10,290 Il server Meteor è necessario per fare in modo che la pagina è vivo. 886 00:50:10,290 --> 00:50:14,050 >> OK, ho presentato, e ora Posso accedere a Facebook. 887 00:50:14,050 --> 00:50:17,400 Ora è solo una questione di avere un Facebook pop up 888 00:50:17,400 --> 00:50:21,710 e mettendo nel tuo account informazioni e la registrazione in. 889 00:50:21,710 --> 00:50:24,520 890 00:50:24,520 --> 00:50:27,930 Una volta fatto questo, Facebook potrebbe nag voi per un po 'di sicurezza. 891 00:50:27,930 --> 00:50:29,810 Così ci fermiamo lì. 892 00:50:29,810 --> 00:50:34,110 Il punto è che quando hai finito con questo, avrai Facebook login. 893 00:50:34,110 --> 00:50:37,850 >> Meteor ha un sacco di altri pacchetti. 894 00:50:37,850 --> 00:50:39,200 Si può accedere con Google+. 895 00:50:39,200 --> 00:50:40,500 Si può accedere con GitHub. 896 00:50:40,500 --> 00:50:42,170 Si può accedere con Twitter. 897 00:50:42,170 --> 00:50:44,870 Oppure, se si cerca, ti trovare un sacco di altre cose 898 00:50:44,870 --> 00:50:49,170 come Meetup, LinkedIn, e Meteor Developer. 899 00:50:49,170 --> 00:50:53,100 Così Meteor Developer è stato il pacchetto che stavo cercando. 900 00:50:53,100 --> 00:50:56,170 meteora aggiungere account-meteora-sviluppatore. 901 00:50:56,170 --> 00:51:06,192 902 00:51:06,192 --> 00:51:07,900 Nel frattempo, anche voler raccomandare 903 00:51:07,900 --> 00:51:11,340 alcuni altri pacchetti per i vostri progetti. 904 00:51:11,340 --> 00:51:14,670 Potrebbe rivelarsi utile includere il pacchetto jQuery. 905 00:51:14,670 --> 00:51:17,909 Ciò consente di utilizzare jQuery in vostri clienti. 906 00:51:17,909 --> 00:51:21,200 Si potrebbe fare solo con una linea, e Meteor farà in modo che sei aggiornato 907 00:51:21,200 --> 00:51:21,825 su jQuery. 908 00:51:21,825 --> 00:51:24,330 909 00:51:24,330 --> 00:51:27,450 Consiglio anche houston: admin. 910 00:51:27,450 --> 00:51:31,550 >> Questo è un po 'come un phpMyAdmin tipo di strumento per il vostro MongoDB. 911 00:51:31,550 --> 00:51:33,890 Ciò consente di modificare i tuoi dati abbastanza facilmente 912 00:51:33,890 --> 00:51:37,950 senza dover andare alla shell Mongo, come avevo fatto in precedenza in seminario. 913 00:51:37,950 --> 00:51:43,160 914 00:51:43,160 --> 00:51:47,101 Quindi, ora che questo è in esecuzione, corriamo Meteor di nuovo e vediamo cosa possiamo fare. 915 00:51:47,101 --> 00:51:56,240 916 00:51:56,240 --> 00:52:00,720 >> Si nota che l'aggiunta di alcuni pacchetti potrebbe avere li presentano alcune avvertenze. 917 00:52:00,720 --> 00:52:02,720 Non sarà necessario preoccuparsi a tale proposito con Houston. 918 00:52:02,720 --> 00:52:06,040 919 00:52:06,040 --> 00:52:10,810 Così ora possiamo avere la possibilità configurare Meteor admin. 920 00:52:10,810 --> 00:52:15,080 E ti danno le istruzioni se si desidera impostare che fino. 921 00:52:15,080 --> 00:52:17,750 922 00:52:17,750 --> 00:52:20,440 >> Possiamo anche ora andare a / admin. 923 00:52:20,440 --> 00:52:23,280 Questo è portato a voi dal pacchetto Houston. 924 00:52:23,280 --> 00:52:27,470 E questa è l'interfaccia di amministrazione Meteor. 925 00:52:27,470 --> 00:52:30,660 Basta creare un account amministratore, in questo modo. 926 00:52:30,660 --> 00:52:38,150 E se si aggiorna la pagina, si potrebbe hanno alcune collezioni rivelando. 927 00:52:38,150 --> 00:52:40,980 928 00:52:40,980 --> 00:52:43,460 >> Si tratta di uno strumento molto utile, e lo consiglio vivamente. 929 00:52:43,460 --> 00:52:46,717 930 00:52:46,717 --> 00:52:49,050 Si può vedere che, a causa houston stava dando alcuni errori, 931 00:52:49,050 --> 00:52:52,330 non abbiamo alcuna raccolta mostrando in questo momento. 932 00:52:52,330 --> 00:52:56,800 Il modo in cui si usa houston è far sì che questa funzione viene 933 00:52:56,800 --> 00:52:58,860 chiamato Simple-todos. 934 00:52:58,860 --> 00:53:01,370 Quindi houston non lo fa sanno quali sono i miei compiti sono. 935 00:53:01,370 --> 00:53:04,490 >> Abbiamo istituito un Mongo collezione chiamata compiti. 936 00:53:04,490 --> 00:53:11,390 Andiamo in semplice todos e giusto accertarsi che nel JavaScript, 937 00:53:11,390 --> 00:53:16,295 abbiamo aggiunto compiti alle nostre collezioni. 938 00:53:16,295 --> 00:53:19,340 939 00:53:19,340 --> 00:53:25,670 Ora abbiamo salvato, e sta costruendo l'applicazione, rinfrescante. 940 00:53:25,670 --> 00:53:26,750 E vediamo. 941 00:53:26,750 --> 00:53:29,090 Ora abbiamo alcuni compiti. 942 00:53:29,090 --> 00:53:32,630 E siamo in grado di aggiungere alcune nuove funzioni. 943 00:53:32,630 --> 00:53:35,840 Ma se vogliamo aggiungere attività, facciamolo con l'applicazione stessa. 944 00:53:35,840 --> 00:53:39,660 945 00:53:39,660 --> 00:53:41,050 >> Ora possiamo aggiungere alcuni dati. 946 00:53:41,050 --> 00:53:53,410 Salve, questo è un compito. 947 00:53:53,410 --> 00:53:57,080 Sembra un po 'strano che non stiamo vedendo alcuna attività. 948 00:53:57,080 --> 00:54:00,290 949 00:54:00,290 --> 00:54:05,260 Potremmo voler controllare se abbiamo ottenuto alcun errori qui, o forse da qualche altra parte. 950 00:54:05,260 --> 00:54:08,810 951 00:54:08,810 --> 00:54:20,260 Se andiamo in amministrazione, che sembra strano. 952 00:54:20,260 --> 00:54:24,080 Se si tira il repository dopo questo seminario, 953 00:54:24,080 --> 00:54:27,580 Farò in modo che semplice todos funziona con Houston. 954 00:54:27,580 --> 00:54:30,370 Purtroppo, non sembra di lavorare in questo momento. 955 00:54:30,370 --> 00:54:34,810 956 00:54:34,810 --> 00:54:37,640 >> Ci sono altre domande? 957 00:54:37,640 --> 00:54:41,800 Houston normalmente è un strumento che funziona molto bene. 958 00:54:41,800 --> 00:54:44,510 Houston in particolare è un po ' buggier rispetto alle altre, 959 00:54:44,510 --> 00:54:49,470 ma mi raccomando che quando funziona. 960 00:54:49,470 --> 00:54:50,080 Sì. 961 00:54:50,080 --> 00:54:52,395 >> AUDIENCE: Cosa si può fare con il pacchetto Facebook 962 00:54:52,395 --> 00:54:54,270 una volta che un utente è connesso con il loro Facebook? 963 00:54:54,270 --> 00:54:55,978 >> ROGER ZURAWICKI: una volta un utente di loggato, 964 00:54:55,978 --> 00:54:59,540 è possibile effettuare chiamate alle API di Facebook. 965 00:54:59,540 --> 00:55:02,890 Molti che si trova ancora a come Facebook apre loro API. 966 00:55:02,890 --> 00:55:05,120 Meteor, assicuratevi di avere la connessione. 967 00:55:05,120 --> 00:55:09,300 Ma tutto dopo che è una questione di imparare a utilizzare l'API di Facebook. 968 00:55:09,300 --> 00:55:10,216 AUDIENCE: [incomprensibile]. 969 00:55:10,216 --> 00:55:17,756 970 00:55:17,756 --> 00:55:18,880 ROGER ZURAWICKI: Va bene. 971 00:55:18,880 --> 00:55:21,670 La ringrazio molto per questo seminario CS50 in Meteor. 972 00:55:21,670 --> 00:55:24,060 Se avete domande, potete scrivermi 973 00:55:24,060 --> 00:55:28,319 al mio indirizzo e-mail elencati qui di seguito il seminario. 974 00:55:28,319 --> 00:55:30,110 E sarò felice di rispondere alle vostre domande. 975 00:55:30,110 --> 00:55:33,020 Sarò anche alla CS50 Hackathon dovrebbe 976 00:55:33,020 --> 00:55:35,550 hai bisogno di aiuto con i vostri progetti Meteor. 977 00:55:35,550 --> 00:55:37,650 Grazie per la visione. 978 00:55:37,650 --> 00:55:38,816