ROGER ZURAWICKI: Witam wszystkich. Czy mogę dostać swoją uwagę? Dzięki, chłopaki. Dziś chcę mówić o Meteor. Jest to framework JavaScript. Będziemy przechodzi jak można zrobić naprawdę fajnych aplikacji internetowych. Zanim przejdziemy do JavaScriptu, po prostu chcę wam powiedzieć, że będzie to się - będziesz miał później poskładać w tym semestrze. Należy o JavaScript. Myślę, że [niesłyszalne] Najpierw będzie pokrycie www HTML PHP rzeczy, zanim przenieść do JavaScript. I CS50, JavaScript jest uważany jak kod klienta. Więc to tylko zostanie uruchomiony w przeglądarka. Ale dzięki ostatnim postępom w technologii, mamy teraz udało się uruchomić JavaScript jako serwer, jak również. Tak to stworzył naprawdę fajne ramy, ponieważ teraz można pisać legalnie sam kod dla klient i serwer. I podczas definiowania funkcji w telefonie serwer, klient może wezwać te same funkcje. I to sprawia, że ​​o wiele łatwiej. Podczas gdy wcześniej, jeśli używasz PHP na Serwer, JavaScript na przedniej koniec, trzeba napisać funkcję PHP a następnie w wersji JavaScript sama funkcja zrobić sam rodzaj pracy. Więc zanim zaczniemy, chcę pokazać demo co Meteor może zrobić dla Ciebie. Pokażę demo, która jest, co będziesz w stanie stworzyć przez Koniec tego seminarium. Po prostu go tutaj. Jest to aplikacja liderów. To faktycznie opiera się na przykład że Meteor daje. Meteor jest bardzo dobre, bo kiedy zainstalować go jako pakiet, można w zasadzie bawić z te cztery dema. I liderów jest Pierwszy z tych pokazów. Po seminarium, zachęcam was wszystkich po prostu odkrywać inne dema ponieważ uważam, że są naprawdę fajne, i oni pokazać siłę Meteor. Więc co to jest, to jest Gości na liderów. To jest po prostu szczerze lista nazwisk. I można wybrać ludzi. Oni z kolei żółty. I wtedy można dać im pięć punktów. I można zauważyć, że lista jest sortowane, bo jak daję sobie więcej i więcej punktów, teraz jestem na szczycie. Tak to jest, gdy zaczynamy. I co będziesz mógł zabrać z tego seminarium jest niewiele więcej Cechy Dodałem do Ranking. Będziemy obejmujące jak, jak również dodać pięć punktów dla gracza, możemy usunąć tych, możemy dodać nowych graczy, i możemy wybrać, jak chcemy do ich sortowania. I to są wszystkie bardzo łatwy wywołań API Meteor zapewnia, że ​​dla Ciebie. Trzeba tu także funkcję do losowe wyniki. Więc co o tym naprawdę fajne to chłopaki może faktycznie wszystko znajdziesz w serwisie. Powiem to w większym tekstu tutaj. Jednym rodniki prowadzą erboard.meteor.com. A kiedy wy się w serwisie, ci powinny móc edytować stronę, a wszystkich zmian będą widoczne aby wszyscy. Tak można - to wy wszyscy w stanie połączyć się do serwisu? Tak bawić się z nim. Idź i usuń niektóre nazwy. Zobacz, co się dzieje. Widzisz więc każdy może grać. To jest właśnie bezpieczeństwo domyślne Tryb dla Meteor. Widać, że każdy może zmienić dane nawzajem. Nie martw się. Meteor ma bezpieczeństwo. Jest bardzo łatwo wprowadzić funkcja, gdzie można skonfigurować użytkowników i loginy. Ale teraz każdy, kto odwiedza strona może dać sobie jak najwięcej wskazuje, jak chcą. Więc ja zawsze tak jest, bo to Jest to świetny sposób, aby rozpocząć. A potem po prostu porozmawiać o szczegóły, w jaki sposób Meteor to umożliwia. Więc idę na pokrycie co Meteor to, a następnie będziemy wystarczy na pokrycie dwa warunki wstępne, które CS50 nie pokryte wystarczająco. Ale do końca kadencji, należy być wygodne zarówno HTML i Obsługę JavaScript w przeglądarce, by naprawdę dostać w swoje ręce brudne pracy z Meteor. I myślę, że to jest po prostu świetny sposób na nawet mniej wygodne studentów turystyczne projekty ostateczne, ponieważ może naprawdę zatrzymać się w jednym języku, a oni się do zobacz zmiany ich praca od zaraz. Więc ten slajd przedstawia tylko niektóre z Główne technologie Meteor JS daje do Ciebie. Meteor nie jest nowa technologia na własną rękę. To naprawdę konglomeratem wszystkie te różne rzeczy mamy w internecie. Jak HTML, CSS, JavaScript, my mają pewne technologie, takie jak Node.js, co jest, co pozwala na uruchomienie JavaScript na tylnym końcu na swoje serwer, jak również niektóre JavaScript biblioteki, takie jak jQuery, podkreślenia. Każdy z nich będzie znany jesteś do końca semestru. I my również dostać się do korzystania z bazy danych o nazwie MongoDB, co jest naprawdę teraz popularne w bazie te nowe startupy. Możesz myśleć o tym jak jak MySQL, ale działa bardzo ładnie z JavaScript. I nie ma tu jeszcze inne technologie i wiele więcej nie mam na liście że interfejs naprawdę wszystko ładnie z Meteor. Muszę umieścić ten slajd, bo czasami mam zamieszanie na ten temat. Meteor jest tylko JavaScript. To nie jest PHP. To nie jest Ruby on Rails. Więc jeśli piszesz kod, jeśli chcesz napisać projekt Meteor, naprawdę nie można użyć kodu Ruby. Naprawdę nie używać PHP. Podczas gdy zobaczymy, że różnice w Kod i składni, która może nie być inaczej, pragnę podkreślić, że do Ciebie Meteor, wszystko, co jest kod tylko w JavaScript. I wszystko, co można zobaczyć na użytkownik będzie HTML CSS. Ale nie jesteś w rzeczywistości za pomocą jednego z inne języki, inne Seminaria mogą obejmować. Co Meteor jest to serwer WWW. Więc nawet jeśli nie ma żadnych JavaScript i po prostu chcesz, aby służyć CSS i HTML plików, Meteor może zrobić to za Ciebie. A oto kolejny link demo, które dostałem chłopaki zaczął grać z. Ale przejdźmy do HTML. Jak wiele osób tutaj ma nie wiem czym jest HTML? OK, świetnie. I to jest zupełnie w porządku. Naprawdę nie trzeba wiedzieć wiele o to dlatego, że pójdziemy na Wykorzystanie w bardzo prosty sposób. To jest to, co proste Strona HTML wygląda. To może być jak twój Witaj, świecie HTML, a zaczęliśmy w C z Witaj, świecie. Nie chcę, aby zaznaczyć na szczegóły, czego HTML, jakiej głowy, co ciała, co robi tam tytuł. Chcę tylko podkreślić strukturę, jak masz tagi. I to nawiasy ostre. I to jest, gdzie trzeba Twoje opisowe. Więc możesz mieć dokument HTML. A potem będziesz zamknąć dokument HTML z backslash samo. I masz różne rodzaje etykiet. I zauważ, że wszystkie one są dopasowane. Musisz jak znacznika body a następnie zamknij tag ciała. I wewnątrz znacznika body, które będzie zawartość swojej stronie internetowej. Więc ta strona po prostu wyświetlić na białym tle i czarnym tekstem Witaj, świecie. Czy to ma sens? OK. Teraz mam zamiar szybko pokrycie JavaScript. W słowach poprzedniej TF, "JavaScript jest najlepszy do programowania język obecnie istnieją. Inni ludzie będą próbować powiedzieć inaczej. Są w błędzie. "JavaScript jest dość ładne, a pokażę ci, dlaczego. Więc to jest klasyczny przykład zacząć ze w C. Mamy Witaj, świecie. I można zauważyć, że nawet jeśli kurczyć go, trzeba mieć co najmniej dwa linii kodu tutaj. Mam kilka linijek kodu. To może być wykonane w bardzo prosty sposób. Jedna linia w JavaScript z console.log, a następnie ciąg, Witaj, świecie. Teraz, mimo że jesteśmy w drodze do nowego Język JavaScript, prawie wszystkie umiejętności nauczyłem przez kodowanie w C są bezpośrednio przenośny. Łańcuchy, więc pomysł z ciągów w cudzysłowy, to samo. Średnik, to samo. Schludne cechą JavaScript w rzeczywistości jest to, że ci nie trzeba średnik. Może to przypuszczam, że powinny umieścić średnik tam. Ale powiedział, że zawsze należy próbować umieścić swoje średników tam. Jest uważany za dobry styl. A także, że nie ma główną funkcją. Wystarczy uruchomić na początku pliku rzeczy i przeczytać wiersz po wierszu. To jest to, czego potrzeba, aby że cześć, Program świat. I wtedy zauważył, że trzeba aby przywitać, a następnie uruchomić komentarzy. Z JavaScript, uważa się to za interpretowany język. Co musisz wiedzieć, jest to, że nie ma decyzji. Nie ma kompilacji. Wystarczy uruchomić węzeł. I pamiętaj, węzeł jest program, który będzie uruchomić JavaScript na konsoli, na czarnym polu, a nie strony. Tak po prostu dać mu plik, i to zamiar wydrukować Witaj świecie. Ja faktycznie trochę demo że dla was tutaj. Więc chodźmy do mnie Node.js terminalu. OK. Przejdźmy tutaj. Więc mam zamiar rozpocząć węzeł. I pokażę tylko chłopaki w s jak się, że zainstalowany, jeśli nie. Pozwól, że nieco większe. OK. Mam nadzieję, że chłopaki widzą. Więc mogę pisać kod tak jak ja przed w console.log. Cześć, Roger. I zauważyć, że nie musisz tego robić średnik, ale mam to dziwne niezdefiniowana rzecz. No faktycznie, nie wspominając o niezdefiniowana rzecz. Rzeczy, które chcę, aby zauważyć, jest to, że ci nie trzeba tu główną funkcję uruchomić kod działa. I nie ma końca odwrotny ukośnik. Jest kilka cech, które niewiele JavaScript może zrobić dla Ciebie. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: O tak. Przykro mi z tego powodu. I strzałka po prostu oznacza, że ​​węzeł jest gotowe do innego polecenia. Więc można mieć to zrobić proste matematyki, jak 1 plus 1. I tak jak w C, te z matematyki Symbole są takie same. Mogę zrobić console.log liczby. A następnie drukuje dwa. JavaScript jest miły w tym sensie, ponieważ chociaż dwa to int, jak w C, jeśli nie printf z dwa, że ​​pojawi się błąd. Ale obsługa JavaScript, wie, oh, jesteś drukowania coś. Będę potrzebował ciąg. Więc pozwól mi przekonwertować że dwa na ciąg dla Ciebie. I można też zrobić jakiś dziwne rzeczy jak hi, a następnie plus dwa. Jest to kolejny przykład, jak dwa można przekształcić w niej również. Więc z tym z drogi, niech tylko okładka nieco więcej JavaScript. Tak w C, mamy typy. Ilekroć stworzyliśmy nową zmienną, możemy muszę powiedzieć, że jest to char * lub ciąg w przypadku CS50. Lub jeśli mieliśmy liczbę dziesiętną, musieliśmy powiedzieć pływak. Jeśli potrzebowaliśmy Boolean, trzeba było powiedzieć B. A następnie raz mieliśmy coś, co został B, miał zostać bool. Nie mogliśmy zmienić na magicznie int chyba pisaliśmy w nawiasy, int B. W JavaScript nie ma rodzajów. Wystarczy pomyśleć o tym, jak var. I zmienna jest, jak utworzyć nowy typ. Więc może mieć var ​​s jest ciągiem znaków, var n jest pływak, a zmienna b jest prawdziwe. I jedna rzecz, że nie można zrobić w C jest Teraz mogę powiedzieć, po tej linii, b równa liczbę całkowitą. I że działa dobrze. Natomiast w C, jak by to powiedzieć, Twoja całkowita nie jest bool. Nie mogę zrobić dla Ciebie. Lub [niesłyszalne] rzucał błąd. I mogę szybko wrócić do węzła i pokazać niektóre z tych funkcji. Więc może mam var a. Nazywamy to "Jabłko". Teraz podczas drukowania, Otrzymam ciąg, "Jabłko". Ale mogę także teraz powiedzieć, jest równa 3. I zauważyć, że nie ma błędów. I wynosi obecnie 3. Wszelkie pytania do tej pory? Tak. PUBLICZNOŚCI: Czekaj, więc console.log jest w zasadzie printf, prawda? ROGER ZURAWICKI: console.log Twój printf. PUBLICZNOŚCI: Prawo. Więc jak to się stało, czy po prostu wpisać w ośmiu lub [niesłyszalne], co to [Niesłyszalne]? ROGER ZURAWICKI: Prawo. Tak to jest - rzeczy w zieleni zostanie wydrukowany na konsoli. A co zobaczymy dalej jest kiedy ruszamy w internecie strony, nie będzie robić - Będzie obsługa JavaScript jest o HTML szablon, który omówię w Część Meteor seminarium. I w tym miejscu można powiedzieć, daj mi wartość, i to umieścić in Twoja strona. Ponieważ każda przeglądarka faktycznie ma trochę konsolę. A jeśli wyglądał bardzo uważnie, by uzyskać informacje, jak twój printf to pojawia się tam z każda strona załadować. PUBLICZNOŚCI: Jak się dostać do ekranu powłoki? ROGER ZURAWICKI: Więc jest polecenie zwany węzeł, a chodzi o Meteor. Więc ja po prostu wyjść stamtąd. Węzeł jest program, który działa JavaScript. Jeśli pójdziesz do meteor.com, ty można zainstalować Meteor i Meteoryt pochodzi z węzła. Ponieważ Meteor to tylko zbiór wszystkich tych pakietów oprogramowania. Kiedy dotrzemy do naszego przykładu, będę chodzić wszystkim poprzez instalowanie Meteor, a następnie można grać z węzła siebie. OK, świetnie. Więc kolejny świetny cechą pracy z JavaScript się pętle są takie same. Prawie dokładnie tak samo. Pętli, podczas gdy pętle, zrobić podczas gdy pętle, jeśli inny. To wszystko samo z szelkami. To ta sama składnia. W przypadku pętli, trochę szczegół, że trzeba zwrócić uwagę na jest zamiast int i jest równe 0, mamy do powiedzenia var i jest równa 0. Ale to dlatego, że zmienne Typy że rozmawialiśmy wcześniej. Zauważ, że printf staje dziennika, console.log. I nie musimy robić procent str. odwrotny ukośnik n, a następnie przechodzą w I. Można tylko powiedzieć, że. I to wydrukować numery od zera do czterech. Jeśli chcecie spróbować, bo Ci wychowani dobry punkt. Jeśli chcesz uruchomić ten kod na swojej własnej przeglądarki, polecam, każdy otwiera Google Chrome. Google Chrome lub dowolnej przeglądarki internetowej tak naprawdę, ale lubię Google Chrome bo to bardzo ujednolicone. Możesz przejść do, moim zdaniem, jeśli prawo kliknij na dowolnej stronie internetowej, wystarczy w białe znaki, zobaczysz opcję nazywa Zbadaj element. Jest to zazwyczaj ostatni. I po kliknięciu go, należy uzyskać co do dołu pojawiają się tutaj. Pozwól mi przybliżyć tutaj. I mamy tu kilka zakładek. Jeden dbasz o to konsola. I to jest konsola JavaScript że można teraz pracować. Świetnie. Więc mogę wpisać te same rzeczy Pisałem wcześniej w węźle. Jeden plus jeden jest dwa. Var jest równa "Apple". A potem wydrukować, i jest "Apple". Więc w dowolnej przeglądarce internetowej, Firefox, Chrome, Safari, co użyć, jak długo, jak masz dostęp do kodu JavaScript konsoli sam rodzaj Kod biegałam w węźle można może pracować w swoim własnym konsoli. PUBLICZNOŚCI: [niesłyszalne]? ROGER ZURAWICKI: Jak dostać się do konsoli? Musisz kliknąć prawym przyciskiem myszy na puste miejsce na stronie, a następnie udać się do Zbadaj element. Tak naprawdę, chciałbym żebyście po prostu upewnij się, że może Zbadaj element w Chrome. I zobaczyć po wpisaniu w niektórych Kod do konsoli , że działa poprawnie. Zapraszam do zadawania pytań, jeśli coś nie jest jasne, tutaj. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Każdy typ, prawda. Jest tylko jeden typ do wszystkich zmienne w JavaScript. A kiedy trzeba zadeklarować zmienna, można powiedzieć var. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Tak. Tak, ale w JavaScript, to bardzo inteligentne o alokacji pamięci. Nie ma malloc. Nie ma za darmo. Więc nie musisz się o to martwić. To kolejna miła funkcja, która JavaScript oferuje. Więc chciałbym, aby przejść dalej. Czy tak jest dobrze? OK. Świetnie. PUBLICZNOŚCI: Ja tylko kłopoty znalezienie [? Zbadaj element. ?] ROGER ZURAWICKI: Tak wygląda Safari nieco inny, ale ty mają Chrome lub Firefox? Są łatwiejsze ci do pracy. A dla projektów, polecam trzyma się jednej przeglądarce, ponieważ dostaniesz dużo błędów prawie bo co traktuje przeglądarek JavaScript HTML trochę inaczej. Więc myślę, że twoje życie będzie dużo łatwiejsze, jeśli trzymać się Chrome, ponieważ jest dostępny na wszystkich komputerach. I to jest dość popularne przeglądarki. OK? Więc następny temat, że powinniśmy pokrycie w JavaScript - Przepraszam o formatowaniu tutaj. Musiałem naciągnąć slajdy pasujące projektor panoramiczny. Ale ja teraz chcę mówić o jak zrobić funkcje. W C, musimy zadeklarować każda funkcja. Jak int dodać, a to trwa int do x, i int y, a następnie dodać je i zwraca go. W JavaScript, funkcje są rzeczywiście inny typ zmiennej. Więc po prostu powiedzieć var ​​dodać, a jest równa funkcji. Funkcja, która zajmuje x i y. I co to funkcja zrobić? Zwraca X plus Y w dokładnie taki sam Składnia jak w C i można zauważyć, że w Obsługę JavaScript w przeglądarce, nie będzie mówił, co Funkcja zwraca, bo od zmienne nie mają rodzajów i tak, że to naprawdę nie jest produktywna, jak sądzę, do określania wszystkich Twoich typy w swoich funkcjach. A potem, gdy wywołanie funkcji, to dokładnie taki sam, jak C. Ciebie składnia po prostu przekazać w swoich dwóch argumentów. Chciałbym spróbować tego w moim węźle. Czy mogę zmienić slajd? PUBLICZNOŚCI: [niesłyszalne]. Dostaniemy kopię slajdów? ROGER ZURAWICKI: Tak. Więc wróćmy do węzła. OK. Więc powiem var funkcji Dodaj równa. Biorąc X, biorąc y. I to wie, że oświadczenie jest nie zakończone. Więc w węźle lub w konsoli, zauważysz, kropka kropka kropka. Dzięki czemu można zachować wpisując swój kod. A teraz powiem powrót X plus Y. I zamknij nawias. I moment zamykam nawias, to uważa, że ​​oświadczenie jest zakończona. I teraz mogę powiedzieć, dodać jeden i dwa. A ja mam trzy z. Należy pamiętać, że jeśli po prostu nie dodać, że mówi mi, że jest to funkcja. I jedno tylko zwrócić uwagę na jest, jeśli dać mu złą liczbę argumenty, to pozwoli. To będzie działać, ale możesz dostać niektóre bardzo dziwne wyniki. Jakby wartości śmieci, można myśleć. Więc proszę iść do przodu i spróbować to w swoich przeglądarkach. OK, więc w interesie czas, będę teraz przechodzimy do kolejnych funkcji w JavaScript. Więc rozmawialiśmy o funkcjach. Rozmawialiśmy o pętlach, if też. Składnia jest taka sama jak C i zmiennych. I teraz chcę mówić o tablicach. Przykro mi, że slajdy ale nieco obcięte. Jednak w rzeczywistości, w pierwszej sekcji wszystko trzeba będzie działać. Więc mamy dla innego typu zmienne zwane tablice. I używamy nawiasów kwadratowych ich oznaczenia. Tak więc w pierwszym przykładzie var arr, pusta tablica. Ta lista jest pusta, więc tablica zawierające żadnych elementów. I można mieć tablicę z trzech łańcuchów. W C, każdy element w tablicy musiał być tego samego typu. Ale dlatego, że w JavaScript istnieje tylko jeden typ, tablice mogą rzeczywiście mają różne typy wartości. Jak tutaj, mamy tablicę z float bool i int. Sposób można uzyskać długość tablicy, w rzeczywistości nie trzeba używać rozmiaru czy coś. Wystarczy powiedzieć, tablicę i następnie dot długości. I ta długość kropki, można myśleć to trochę jak struct, jak każdy Tablica ma pole, dodatkowa zmienna wewnątrz niego nazywa długość, która śledzi, jak długo tablica jest. Więc ja tylko szybko pójdzie w węzeł i pokazać wam to samo. Więc może mam tablicę. To może być pusta lista. I to mi wydrukować kopię pustą listę. Świetnie. Teraz mogę powiedzieć, że tablica ma 1 i 2.3, i prawda. Więc wszystkie typy. I można zauważyć, że działa dobrze. Tablica wrócę wsporniki wszystkie wartości dałem. Gdybym chciał się pierwszy element tablica, składnia jest właściwie taki sam jak w C Ty Można powiedzieć, tablicę zera. I dostać jeden. Mogę powiedzieć to samo na tablicy dwa, a ja się prawdą. Jeśli zrobię coś poza tablicy, JavaScript jest bezpieczny język bo nie dostanie winy seg. Wezmę niezdefiniowane. I to nieokreślone, można rodzaj z myślą o tym, jak null. Ale to może być naprawdę irytujące, kiedy Kod, ponieważ będziesz musiał sprawdzić, prawie wszystko, co robisz, jesteś pracy z jest niezdefiniowana. I zobaczymy kilka przykładów to, gdy pracujemy w Meteor. Chociaż tablica cztery jest nieokreślone, Można przypisać mu wartość. Więc mówię, że równa się jeden. A potem, jeśli pójdę do tablicy, to mają dodatkową wartość istnieje. I zauważyć, że tablica, która także trzy została zdefiniowana, pozostaje niezdefiniowane. Więc teraz mam tablicę z dziura w środku. Ale jeśli drukowane tablicy cztery, Chciałbym dostać. Jeśli zrobiłem tablicę trzy, mam nieokreślone. Tak miło funkcja JavaScript pozwala zrobić to, że listy można zmienić rozmiar. Tablice, tablice jako listy, zmieniają rozmiar. Można podać dowolną lokalizację wewnątrz nich. I wszystkie szczeliny zostaną wypełnione z tych wartości niezdefiniowanych. Więc rozmawialiśmy o tablicach. Teraz ostatnia rzecz, chcę na pokrycie JavaScript, co jest bardzo ważne do zrozumienia, że ​​kod Mam zamiar pokazać, będzie obiekty. I obiekty Określenie w - Zasadniczo występują one w wiele języków programowania. A każdy język programowania lubi myśleć o nich trochę inaczej. Ale myślę, że dla Meteor, dobry Analogia jest C struct. W C, jeśli chcemy znaleźć struct Student, musielibyśmy określić wszystkie rzeczy w środku. Więc musi to mieć nazwę. Musi mieć lat. Musi mieć płci. Ale musimy także dać rodzaje tych wszystkich rzeczy. A teraz, że mamy tę formę do struktura nazywa uczeń, możemy mieć Nowa struktura, a następnie możemy ręcznie powiedzieć, co każde z pól są. I to, gdzie używamy kropki nazwę, kropka roku dot płci. I wtedy właśnie, w ostatnim wierszu kod tutaj, ja tylko drukowanie Nazwa studenta struct. W świecie JavaScript, istnieje nie ma czegoś takiego, jak uczeń struct. Nie generują zaprogramowaną strukturę. Tak naprawdę tylko w tych nawiasach, można powiedzieć, co wszystko jest. I to jest ten dziwny zapis z jelita grubego, a następnie przecinek, ale będziesz przyzwyczaić się do tego wystarczająco szybko. I to jest rzeczywiście bardzo proste, elastyczny sposób po prostu manipulowania obiektami. Można zauważyć, że jeśli chcę się dostać Nazwa od s, po prostu zrobić s.name. Czy są jakieś pytania dotyczące tego produktu? Zazwyczaj jest bardzo mylące temat, gdy wprowadzamy ludzi JavaScript. Zrobię kilka przykładów tego, w węźle. Tak? PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Tak jak ty mają Przykładowo, stwardnienie Zmienne tego typu. PUBLICZNOŚCI: [niesłyszalne]. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: OK. Sądzę więc, że sposób, by go o to chcesz umieścić obiekty w tablicy, i teraz musisz Tablica obiektów. Czy to wyjaśniło Twoje pytanie? PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Tak. S to jeden obiekt. Więc możemy przejść do węzła i tylko poeksperymentować trochę. PUBLICZNOŚCI: [niesłyszalne]? ROGER ZURAWICKI: Oh, OK. Więc jeśli pytasz co zajęcia są, Zajęcia są traktowane bardzo różnie, i mają bardzo dziwny system nazywa prototypów, które nie trzeba wiedzieć. Nie ma ustalony sposób to zrobić. Więc jeśli chcesz, aby wygenerować wiele, ci to po prostu rodzaj posiada funkcję czy coś. Wygenerować własną funkcję. I może zwrócić obiekt. To byłoby najprostszym sposób to zrobić. Czy to ma sens? OK. Świetnie. Więc raz mamy zrozumienie JavaScript obiekty, są - och, tak. PUBLICZNOŚCI: [niesłyszalne] Na przykład, jaka jest różnica między "Roger" w porównaniu z cudzysłowy [Niesłyszalne] w pojedynczych cudzysłowach. ROGER ZURAWICKI: OK. Tak to jest w C, mamy singiel cytaty reprezentujące znaki i podwójne cytaty stanowiące ciągi. JavaScript rzeczywiście rzuca to z dala bo możesz mieć ciągi pojedyncze lub podwójne cudzysłowy, a tam nie ma czegoś takiego, jak jednym char. Ale jeśli po prostu kopiowane sam Kod C, JavaScript byłoby traktować go po prostu w porządku. I dlatego traktuje go jako - dlatego mogę dosłownie portu Kod w tym sensie. I chcę pokazać wam przykład o bardziej skomplikowanych obiektów. Tak więc można zauważyć, że jeden obiekt może mieć ciągi jako wartości. Może mieć innej listy wartości. To może mieć listę obiektów jako wartości. Naprawdę nie ma ograniczeń co do tego. Więc, to jest po prostu dobry pokaz w jaki sposób można uzyskać wiele dzieje się różne typy w jednym obiekcie. Czy to ma sens? Teraz możesz również tablice obiektów. I tu jest trochę podobne do tego, co zapytał, czy można mieć obiekty samego typu. Ale problemem jest to, że nie ma stałego Format dla obiektów w JavaScript. Więc trzeba im określić siebie. I trzeba się upewnić, że są one jednolite. Więc, kiedy utworzyć obiekt, mam aby upewnić się, że każdy z nich ma Imię i nazwisko, a każdy z nich ma dom. A potem mam tablicę z tych, i to może być moja chata. I to tutaj możesz rodzaj zobacz na pętli dzieje. Dla pętli jest tylko bardzo powszechne sposób, aby przechodzić na tablicę w JavaScript. Zauważ, że ten wzór jest bardzo podobny do równowartości C, gdzie mają int i jest równa zeru. ja jest mniejsza niż długość. I wtedy Plus Plus. To niemal ten sam kod, z wyjątkiem kilku szczegółach. Więc nie wszyscy rozumieją co obiekt jest? Pomyśl o tym jak o C struktury. I sposób uzyskać dostęp do pól tylko z kropką. I tak długo, jak to możliwe, jak używać kropki, wszystko będzie w porządku. OK, więc teraz może każdy Przeczytałem, że link? To jest link do projektu. Czy ktoś kłopoty widząc link? OK, zmieńmy go potem. To nie jest - Tak, to jest to chyba Najprostszym sposobem, aby to zrobić. Świetnie. Więc jeśli będziesz w tym miejscu, nie powinna być pewne wskazówki, że będę przejść na jak możemy zainstalować Meteor i dostać nasze funkcjonowanie projektu próbka. Chcę upewnić się, każdy ma Link zanim przejdę. Czy mogę przejść? OK, świetnie. Więc jestem tutaj, na stronie internetowej. Zauważysz w pliku readme, mamy kilka wskazówek, w jaki sposób aby th skonfigurować. Musisz być w CS50 urządzenia lub po prostu na komputerze Mac. Windows nie będzie działać. Ale w zasadzie wszystko, co nie jest Okna powinny pracować z nich Instrukcje dobrze. Ale mogę to zrobić nieco większe, jak również. Więc można uruchomić pierwszy Para poleceń. Ci faceci po prostu zainstalować Meteor. Mogę iść do mojego terminalu. I jeśli uruchomię to samo teraz, Mam już zainstalowany. Więc jest nieco krótszy. Może to potrwać nieco dłużej dla was. Ale chcę najpierw upewnij że mamy Meteor bieg. Po zainstalowaniu Meteor, należy móc uzyskać węzła w konsoli. PUBLICZNOŚCI: Pytają o hasło. ROGER ZURAWICKI: To będzie Twój hasło użytkownika, jeśli na komputerze Mac. To po prostu potrzebuje pozwolenie na zmodyfikować pewne pliki systemowe. Więc pytanie, jeśli poprosi o hasło, to po prostu z prośbą o twoje hasło, nazwę użytkownika, gdy zalogować się do komputera Mac. I to jest tak, że można zmienić pliki systemowe. A kiedy jesteś gotowy, możesz przejść do następnego etapu, którym może kopiować Mam przykładowy kod ze strony internetowej. I dostaniesz nowy katalog w telefonie katalog domowy zwany liderów i możemy rozpocząć pracę tam. Więc jestem po prostu kopiując i wklejając je Polecenia do mojego terminalu. I dla mnie, ja już sklonowane go. Więc mogę już teraz przenieść do liderów. I powinienem mieć kilka Pliki tam. Masz pytanie? PUBLICZNOŚCI: [niesłyszalne] nie działa. ROGER ZURAWICKI: Och, to polubisz Potrzebujemy również zainstalowany git. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Przepraszam? PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Oh, OK. OK. To dlatego, że być może trzeba będzie zalogowany na GitHub, aby ten link. Jeśli faceci widzą, że najprostszym sposób to zrobić i powiedzieć, to wtedy pobierz zip. I będzie to po prostu pobranie wszystkie pliki. A następnie raz umieścić go w pobierz lub katalogiem - Polecam umieszczenie go w katalog domowy, więc możemy wszystko uruchomić te same polecenia. Tak długo, jak mamy pliki, będziemy być w stanie rozpocząć pracę z nimi. Daj mi znać, jeśli ludzie mają Problem pobierania plików. PUBLICZNOŚCI: Według katalogu domowym, masz na myśli - ROGER ZURAWICKI: katalog domowy by więc być John Harvard, jeśli w Urządzenie CS50. Aby dostać się do katalogu domowego, wpisz w C. PUBLICZNOŚCI: [niesłyszalne] CS50 urządzenie [niesłyszalne]. ROGER ZURAWICKI: Tak. Chcesz uruchomić polecenia w terminalu. PUBLICZNOŚCI: [niesłyszalne]. Mam błąd, który mówi, że nie takiego pliku lub katalogu. ROGER ZURAWICKI: Możemy podjąć szybkie złamać i po prostu upewnić się, że każdy ma zainstalowany Meteor, i będę tylko iść próbować pomagać ludziom. Proszę spróbować pomóc sobie nawzajem, jeśli używasz do problemów. Niestety, tak. Czy jesteś zarówno w urządzeniu? PUBLICZNOŚCI: Tak. Mam Risa ROGER ZURAWICKI: OK. Jeśli wrócisz do strony internetowej, go przewinąć do góry. I jest to HTTPS. PUBLICZNOŚCI: Skopiuj ten? ROGER ZURAWICKI: Tak. A następnie chcesz wpisz w git clone. Więc jeśli naciśniesz kontrolować - PUBLICZNOŚCI: Tutaj? I zrobić [niesłyszalne]? ROGER ZURAWICKI: G-I-T. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Git, a następnie sklonować. Więc to jest bardzo podobne do polecenia, które miał powyżej, ale URL zmianie. Więc zanim było to, teraz to. Pozwól mi aktualizacji - tak. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: To jest pobierany. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Och, tak, to nie sklonować poprawnie. Będzie to naprawić. Nie ma błędu z próby aby pobrać pliki. Pozwól mi zaktualizować polecenia dla was więc mogę się upewnić, to będzie działać. Przykro mi z tego powodu. Powinno być samo Mac lub CS50 urządzenia. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Zaktualizowałem komenda numer dwa, jeśli odświeżeniu strony. I z tego, URL, należy być stanie pobrać pliki. PUBLICZNOŚCI: Więc jeśli nadal jesteśmy pobieranie [niesłyszalne]. ROGER ZURAWICKI: Jeśli jesteś wciąż pobierając Meteor? PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Tak, jeśli chcesz opracowanie na komputerze Mac. Ale trzeba dewelopera Xcode Narzędzia zainstalowane. Przetestowałem te polecenia na CS50 Urządzenie, więc mogę zagwarantować że zadziała. Tak. pozwól mi iść i pomóc. PUBLICZNOŚCI: [niesłyszalne]. Daję hasła. To jest Mac. A następnie zrobić [niesłyszalne]. ROGER ZURAWICKI: OK. Chciałbym spróbować uruchomić wszystkie polecenia jedynie w terminalu CS50 urządzenia. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Chciałbym dostać to działa Najpierw na terminalu na Urządzenie CS50, a następnie Terminal Mac. PUBLICZNOŚCI: Więc jeśli robisz to na CS50 urządzenia tak, [niesłyszalne]. ROGER ZURAWICKI: Chciałbym przenieść , ale jeśli ludzie wciąż mają Problem konfigurowania Meteor, Kevin jest bardziej niż szczęśliwi, aby pomóc facetów, Kevin w szarej koszuli. Co powinniśmy mieć to będziemy uruchom ostatnie polecenie, numer trzy, w nasz terminal. Kiedy to zrobimy, będziemy działać Meteor. I zalecana - Och, mam już Meteor bieg. Więc to nie pozwolę, żeby - pozwól mi tylko zamknąć moją drugą Meteor. Kiedy uruchomić Meteor, ty Należy zauważyć, że obecnie - powinieneś zobaczyć aktualny katalog że to służący. A teraz to się mówi serwerowi działa na http://localhost. To URL chcesz umieścić się w przeglądarce internetowej. I na tym URL, powinieneś być w stanie dostęp ładny mały liderów. Więc zauważyć, że jest to na localhost, co oznacza, że ​​jeśli nie każdy zmiany, nie zamierzamy zobacz zmiany nawzajem. Natomiast na stronie pokazałem ci na początku, możemy uzyskać Zmiany wysoka, bo każdy został dostęp do tej samej witryny. Pozwólcie mi iść do [? słowo?] 3000. Więc powinieneś być w stanie po prostu potwierdzić Funkcje, które działa. Można wybrać różne osoby, a można im różne punkty. Więc daję punktów kogoś. Można również zauważyć, że powstaną w rankingu. Teraz, w interesie czasu, nie Są trzy cechy, które ja realizowane. I mamy zamiar realizować usuwanie użytkowników, jak nasz pierwszy film. Ale zanim przejdziemy dalej, to jakieś pytania? Miałeś rękę. Tak? PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Czy można sprawdzić że Meteor jest zainstalowany? PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: lokalny gospodarz 3000? I jesteś w urządzeniu CS50? Co mogę zrobić - nie musisz być na komputerze Mac. To będzie działać w urządzeniu. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: W normalny przeglądarka, tak. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Czy Meteor bieganie? Więc OK, nie ma tu rozróżnienia. Jeśli używasz go w Urządzenie, co musisz zrobić, localhost wewnątrz urządzenia. Jeśli używasz go w komputerze Mac, jak jestem, to mogę zrobić mój Mac Google Chrome. Ale jeśli używasz urządzenia CS50, trzeba zrobić wszystko w urządzeniu. Więc trzeba korzystać z Google Chrome w urządzeniu. PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: To Nadal nie działa? PUBLICZNOŚCI: [niesłyszalne]. ROGER ZURAWICKI: Więc po prostu powtórzyć, w jaki sposób uzyskać dostęp do strony internetowej już teraz. Masz tu adres URL localhost 3000. Jeśli w urządzeniu CS50, musisz otworzyć CS50 Appliance Google Chrome. I w tym Google Chrome w ciągu Urządzenie można wpisać w tym URL, i powinieneś zobaczyć liderów. Więc mam zamiar po prostu umieścić go na stronie tutaj trochę. A teraz mam zamiar otworzyć moje edytor tekstu tutaj. Więc pozwól mi po prostu upewnić się, że Kod jest w porządku. OK. Świetnie. Chciałbym teraz przejść przez Kod bitowy. I pierwszy plik Chciałbym zacząć z znaczy leaderboard.html. Będziesz w stanie uzyskać ten kod po seminarium, więc po prostu chcę pokazać jesteś na moim komputerze, co się dzieje. Więc mam nadzieję, że każdy może to zobaczyć. Tak więc już na początku pliku, że Posiadamy głową i tytuł, który jest podobny do tego, co widzieliśmy w każdym dokumencie HTML. I wtedy będziemy mieć tag tutaj ciało. Co mam wybrany jest głównym ciała, w zasadzie to, co jest będzie się wyświetlany. Ale są pewne nowe nie-HTML rzeczy, i to w podwójne nawiasy. I to są szablony tagi. Więc można zobaczyć tutaj ten wspornik Uchwyt nowy baner. I to jest rodzaj - myśleć jak wywołanie funkcji dla HTML. Jest to specjalna wersja HTML. Jest to wersja, która wykorzystuje Meteor, który Dlatego można wyświetlać różne rzeczy, jak na przykład tablicy Nazwy i przyciski. Ale mówi, liderów, aby przejść do szablon z nazwą tablicy. Więc szablon nie zostanie wyświetlony przez Sam, ale to funkcja, więc będzie się nazywa. I będziesz zastępować w tym wszystkim kod tutaj do liderów. Interesującą częścią tablicy o to właśnie w tej tabeli. Jeśli po prostu czytać, czytać ten kod głośno, powinno być intuicyjne ponieważ liderów, wszyscy jesteśmy tu jest tabela. Ten identyfikator klasy rzeczy, których nie trzeba się martwić. Po prostu wiem, że tam jest nagłówek tabeli. To ta thead. I stwierdzi, nazwę i wynik. Wszystkie te znaczniki, jak thtable, thead, będziesz po prostu uczyć się jak iść. To nie jest ważne, aby zapamiętać to dlatego, że można po prostu przejść każdy odwoływać się w Internecie. Lub do końca semestru, te będzie po prostu bardzo dobrze zaznajomieni z tobą. Po nagłówku tabeli, części, które chcę zwrócić uwagę na to h znacznik. Bo to jest w podwójnych nawiasach, to jest szablon. To znaczy, że za każdym z graczy, co gracze są, musimy wyświetlić go. I idziemy do szablonu gracza. Jeśli przewinąć nieco więcej - Mam nadzieję, że każdy może zobaczyć. Mamy szablon player. I to w zasadzie definiuje szablon komórki tabeli, w którym można umieścić w nazwie tu i wynik. Powiększanie się teraz, możemy zobaczyć że ten fragment kodu - i że tam był nasz zawodnik - oznacza jedną z tych komórek. Każda rzecz, że kliknę staje się żółty. Prosty sposób mogę to teraz zmienić. Upewnij się, Meteor nadal działa. Meteor powinien być proces serwera, tak po prostu zostawić go uruchomiony, gdy opracowany. Powiedzmy, że chciałem, aby zmienić wszystkie nazwy i wynik. I chciałbym powiedzieć, że będę dodać punkty tutaj. Więc zmiana Zrobiłem tu był, a nie tylko wynik, ja dodać punkty przestrzeni. Mam zamiar pomniejszyć, a ja jestem uratuje mój plik. I po mogę zapisać plik, muszę aby upewnić się, Meteor jest uruchomiony. Przepraszam. Chcę pokazać zmiany przeprowadzono w czasie rzeczywistym. Więc ja po prostu zmienić tekst. Kliknij piłkarza. Kładę go we wszystkich czapkach. Powinna też być tak, że gdy jest to pracuje prawidłowo, kiedy zapisać, że będzie zaktualizować. Och, myślę, że teraz jest problem Nie jestem w odpowiednim katalogu. OK. Przykro mi z tego powodu. Więc, co można zauważyć, jest moja zmiana przeszła. Teraz, że chcę, aby przywrócić zmiany. Chcę wrócić do tego, co miałem. Jestem po prostu się do tego typu normalnie. Kliknij piłkarza. W chwili, gdy go zapisać, Strona odświeża się dla mnie. I widzę zmiany na miejsce natychmiast. Jest to bardzo pomocna funkcja debugowanie, ponieważ teraz I nie trzeba - kiedy piszemy kod w C, nie tylko nie trzeba zapisać plik, ale musieliśmy zrobić to, a następnie uruchom go ponownie. Meteor jest bardzo dobre, bo w przeciwieństwie do C, Chwilę zapisać HTML lub Plik JavaScript, zmiana pojawia się natychmiast. Jedno pytanie jest, w tych szablonach, jak mogę uzyskać wartości, takich jak odtwarzacze lub wybierz nazwę? Gdybym powiększyć tutaj do mojego kodu, Widzę to na każdym graczy. Więc wie, że szablon Mam tych jakoś. I wie, że nie jest wybrana nazwa. Skąd to się wzięło? Że pochodzi z języka JavaScript. I jeśli pójdziesz do leaderboard.js, to plik, teraz kiedy idę tutaj, mamy zdefiniowane kilka poleceń. To jest specjalna składnia Meteor. Zauważ, że nie musisz Vars lub cokolwiek. Ale to są tylko elemencie na elemencie na elemencie lub tych obiektów. I wszystko co mam jest szablon definiowania nazywa liderów. Ranking powinien dostać rzecz zwana graczy. I to, co jest gracze? To co to wyrażenie zwraca. I to, co jest zaznaczone na imię? To trochę więcej kodu. Dane kodu będziemy pokrycie nieco później. Ale teraz chcę, aby zrozumieć, że w tym kodzie, bierzemy gracze, i dajemy mu wartość. W tym przypadku jest to funkcja który zostanie wykonany. Tak więc możemy uzyskać wartość z powrotem po uruchomieniu funkcji. To jest dziennik. Czy to ma sens? Mogę zmienić sposób to sortowanie. Tutaj, jest przedmiotem sortowania. I co to mówi, to idę do sortowania przez wynik malejąco pierwszy i następnie nazwa rosnąco. Jeśli zmienić to na jeden, to będzie sortować wynik rosnącej. Więc zero powinno być na górze. I kiedy powiększyć mojej stronie, teraz widać, że strona aktualizowana. I wynik jest wznieść. Następna funkcja po prostu chcę kliknij na pokrycie jest przyrost. Z odsetek czasu, nie będę w stanie pokryć więcej Meteor kod, ale jest wiele zasobów dostępne, a ja będę tutaj po seminarium. Ale chcę tylko okładka klasyfikacji generalnej imprezy. Składnia tego dowiesz nieco później w wykładzie. To jest obsługa JavaScript. Po prostu mówiąc, gdy mamy kliknięcie, i to na przyrost ten hash tylko oznacza identyfikator. Na etykiecie przyrost ID, a następnie chcemy do aktualizacji - słowa kluczowe Chcę ci do oglądania i jest aktualizacja wybrać i odtwarzacz. Tak więc w zależności od tego odtwarzacz jest wybrany, my je zaktualizować. I co możemy zrobić, to zwiększamy jego wynik przez pięć. I że opisuje funkcjonalność my tu mamy. Po zakończeniu seminarium, będziemy mogli zobaczyć trochę więcej kodu. Ale wracając do mojego celu, że chcę zmienić stronę, chciałem tutaj dodać przycisk usunąć, więc Można usunąć z odtwarzacza. Tak, aby to zrobić, muszę zrobić dwie rzeczy. Muszę zaktualizować HTML, zaktualizować zobacz, co zostanie przedstawione na użytkownika, i potem jakieś JavaScript że kiedy przycisk jest wciśnięty, Meteor ma zamiar coś zrobić. To będzie usunąć ten odtwarzacz. Tak więc istnieje wiele fragmentów kodu które mają w zasadzie już zostało zrobione dla mnie. Jeśli patrzę tu, mam już drogę uzyskania wybranego gracza. To jest ta rzecz, jeśli można to zobaczyć. Więc jeśli po prostu - Zamierzam mieć inną imprezę. Więc mam zamiar skopiować, co mam. Ponieważ jest to lista, Muszę tylko przecinek. Więc teraz mam zamiar kliknąć przycisk Usuń. I wtedy zamiast gracza aktualizacji, Mam zamiar zrobić gracze usunąć. I wszyscy gracze usunąć potrzeb jest wybrany piłkarzem. Więc ta funkcja jest wszystko, czego potrzebujemy. I trzeba dodać niektóre HTML tu jednak. Więc jeśli przewiń tutaj, to jest widok HTML. Mieliśmy rzeczy tutaj, który był znacznik. Nie musisz się o to martwić. Co dla ciebie jest spraw Identyfikator ten przyrost. I to jest to, co pozwala nam powiedzieć, kiedy my kliknięciu przyrost, musimy dać pięć punktów. , A zobaczysz, że jest to przycisk. To oznacza btn. I tekst w przycisku to daje pięć punktów. Więc, co mam zamiar zrobić, to jestem będzie skopiować ten wiersz. Zamierzam zmienić identyfikator do usunięcia. I mam zamiar zmienić tekst tutaj aby usunąć. Więc upewnij się, wszystko jest zapisane. Chcę wrócić do mojego JavaScript aby upewnić się, że mam usunąć kolejce tutaj. Dobry. Więc mam zamiar zapisać oba pliki. Po zapisaniu obu plików, możemy mogą wrócić do dołu. A teraz widzimy, mamy przycisk Usuń. I jeszcze jeden krok. Można zauważyć można dostać błąd, ponieważ po kliknięciu usunąć, nic się nie dzieje. Sposób do debugowania to jest iść Powrót do Zbadaj element. Robię to celowo, dzięki czemu można zobacz jak można debugować coś. W Zbadaj element, mamy wszystkie z naszego tekstu tutaj. Chcę wrócić do konsoli. A co się stanie, kiedy go tutaj jest uzyskać jakiś błąd. Mówi, że nie ma metody usuwania. Więc co to mówi to, kiedy idę powrót do kodu, zadzwoniłem gracza usunąć tutaj. Usuń nie jest właściwie prawo polecenia. Tak, aby dowiedzieć się, co prawda komenda jest, jest API Meteor. Dokumentacja chcę zwrócić ci faceci to tylko w meteor.com. Więc mam go tutaj. To jest po prostu tak, wiecie gdzie dowiedzieć się więcej. Tam jest link do dokumentacji. I w zasadzie, mogę tylko znajdę dla usunięcia. I to, co widzisz, usunąć jest faktycznie usunąć. To jest polecenie, które Muszę zadzwonić. Więc teraz, że wiemy, że idę to zmienić usunąć usunąć. Więc teraz, kiedy wrócę do mojej tablicy strona, będę kliknij usunąć, a teraz mnie nie ma. Nie ma więcej Roger. I mogę iść dalej usunięcie każdego Pojedynczy nazwa aż już nic. Więc to było trochę podgląd jak używać Meteor. Będziesz się uczyć dużo więcej JavaScript i HTML konieczne, aby to wyglądać ładniej, które omówimy w w tym tygodniu [? kawałek?] ustawiony na HTML i JavaScript w następnym [? kawałek?] ustaw. Więc nie martwić, jeśli nie wszystkie ten materiał jest łatwy do Ciebie. Będzie przez czas projekt końcowy. Dzięki za pokazanie się. Link będę wkrótce po aktualizacji seminarium, dzięki czemu można zobaczyć trochę więcej przykłady, że już wdrożone, w jaki sposób aby uzyskać bardziej zaawansowane liderów że mam na tej stronie tutaj w jeden rodniki leaderboard.meteor. Dziękuję. [Aplauz]