ROGER ZURAWICKI: Hello mindenkinek. Kaphatok a figyelmet? Köszi, srácok. Ma akarok beszélni Meteor. Ez egy JavaScript keretrendszer. Mi lesz megy keresztül, hogyan lehet hogy igazán jó webes alkalmazások. Mielőtt nekilátnánk a JavaScript, csak akarom mondani nektek, hogy ez is - akkor egy későbbi darab ebben a félévben. Meg kell a JavaScript. Azt hiszem, [nem hallható] először fog terjed a weben HTML PHP dolgokat, mielőtt költözik JavaScript. És CS50, JavaScript tartják mint egy ügyfél kódot. Így csak fusson a a böngésző. De hála a legújabb fejlesztések a technológiát, most már sikerült futtatni JavaScript kiszolgálóként is. Tehát ez létrehozott egy igazán cool keretében, mert most már tudod írni jogosan ugyanazt a kódot a kliens és a szerver. És ha meg funkciókat a kiszolgáló, az ügyfél lehet hívni azokat a ugyanazokkal a funkciókkal rendelkezik. És ez teszi sokkal könnyebb. Míg korábban, ha a PHP on a szerver, JavaScript az első Végül meg kell írni a PHP függvény , majd egy JavaScript változata ugyanazt a funkciót, hogy ezt a ugyanazt a munkát. Szóval mielőtt elkezdjük, azt akarom, , hogy mutassa meg a demo, amit Meteor tehetek érted. Megmutatom neked a demo, amely a mi Ön képes lesz arra, hogy hozzon létre a végén ez a szeminárium. Csak megy itt. Ez a ranglista kb. Ez valójában alapján ki a példa hogy Meteor ad. Meteor nagyon szép, mert amikor telepíteni, mint egy csomagot, akkor alapvetően a játék körül a négy demók. És a ranglistán a első ilyen demókat. A szeminárium után, azt javasoljuk, minden csak felfedezni a másik demók mert azt hiszem, ők nagyon jó, és a azt mutatják, hogy a hatalom a Meteor. Szóval mi ez az, ez házigazdája a ranglistán. Ez csak őszintén szólva egy névsor. És akkor válassza ki az embereket. Ők viszont sárga. És akkor lehet adni nekik öt pontot. És észre fogod venni, hogy a lista rendezett mert adok magamnak több és több pontot, én vagyok most a tetején. Szóval, ez az, ahol elkezdjük. És akkor képes lesz arra, hogy vegye el ebből a szeminárium néhány funkciók, amit hozzá a ranglistán. Mi lesz, amely, hogy hogyan kell, valamint a hozzá öt pont a játékos, akkor is törölni a játékosok, mi is új szereplők, és lehet választani, hogy hogyan akarjuk rendezni őket. És ezek mind nagyon egyszerű API hívásokat hogy a Meteor biztosít az Ön számára. Önnek is van olyan funkció van hogy véletlenszerű a pontszámok. Szóval, ami igazán jó ebben a Ti tényleg minden megy a helyszínre. Beteszem a nagyobb szöveget. Egy radikális vezető erboard.meteor.com. És amikor mentek az oldalon, akkor képesnek kell lennie arra, hogy módosítsa a helyén, és az összes szerkesztések látható lesz mindenki mást. Így - vagytok mind tud kapcsolódni az oldalon? Így játék körül vele. Menj, és elkezd törlés néhány nevet. Meglátjuk, mi történik. Így látod mindenki játszhat. Ez csak az alapértelmezett biztonsági mód Meteor. Azt látom, hogy mindenki váltják egymást adatait. Ne aggódj. Meteor megvannak a biztonság. Ez egy nagyon könnyen végrehajthatók szolgáltatás, ahol meg lehet a felhasználókat és a bejelentkezések. De most, bárki, aki ellátogat a helyszínen lehet adni magát, mint sok rámutat, amennyit akarnak. Szóval mindig így, mert ez a egy jó módja annak, hogy az induláshoz. És aztán csak beszélni a részleteket, hogy hogyan Meteor teszi ezt lehetővé. Így fogok fedezni, mi Meteor, és aztán csak ki kell terjedniük a két előfeltétele, hogy CS50 nem terjed elég. De a végén a kifejezést, akkor kényelmes, a HTML és a JavaScript igazán a kezét piszkos munka Meteor. És azt hiszem, ez csak egy nagyszerű lehetőség még kevésbé kényelmes a tanulókat, hogy végső projektek, mert tényleg marad egy nyelven, és kapnak a látni a változásokat a Azonnal munkába. Szóval ez a diavetítések csak néhány a jelentősebb technológiák Meteor JS ad neked. Meteor nem egy új technológia saját. Ez tényleg egy halmaz ezeket a különböző dolgokat van az interneten. Csakúgy, mint a HTML, CSS, JavaScript, akkor néhány technológiák, mint Node.js, ami pedig lehetővé teszi, hogy futtatni JavaScript a háttérben a szerver, valamint egy kis JavaScript könyvtárak, mint a jQuery, aláhúzás. Mindezek ismerős lesz Önt a végén a félév. És mi is kap, hogy egy adatbázisban, MongoDB, ami egy igazán népszerű adatbázis most az új induló. Azt lehet gondolni rá, mint például a MySQL, de Nagyon szépen működik a JavaScript. És van egy másik technológia itt és még sok más már nem szerepel hogy az összes felület valóban szépen Meteor. Meg kell tenni a csúszkát, mert Néha kapok zavart erről. Meteor csak JavaScript. Ez nem a PHP. Ez nem Ruby on Rails. Tehát, ha írsz kódot, ha azt szeretné, hogy levelet Meteor projekt, akkor tényleg nem tudja használni Ruby kódot. Tényleg nem a PHP. Miközben látni fogjuk, hogy a különbségek kódot, és szintaxis lehet, hogy nem, hogy más, szeretném hangsúlyozni, hogy, hogy Meteor, mindent, amit kód csak a JavaScript. És mindent, amit mutat, hogy a felhasználó lesz a HTML CSS. De valójában nem használ sem A többi nyelv, hogy más szemináriumok lehetne fedezni. Mi Meteor szintén egy webszervert. Tehát akkor is, ha nincs JavaScript, és csak azt, hogy szolgálni CSS és HTML fájlokat, Meteor megteheti, hogy az Ön számára. És itt a link ismét a demo, hogy megvan nektek kezdett játszani. De térjünk rá a HTML. Hányan vannak fogalmam sincs, mi a HTML? OK nagyszerű. És ez teljesen rendben van. Tényleg nem kell sokat tudnak mert mi megy át a használata nagyon egyszerű. Ez az, amit az egyszerű HTML oldal úgy néz ki, mint a. Ez lehet, mint a hello, világ HTML, míg elkezdtük C Helló, világ. Én nem akarom, hogy a hangsúlyt a részleteket, hogy mi HTML, mi fej, mi test, milyen címen csinál ott. Én csak azt szeretném hangsúlyozni a szerkezet, hogyan kell címkéket. És ez a zárójel. És ez az, ahol van A leírásait. Szóval lehet, hogy a HTML-dokumentum. És akkor majd zárja be a HTML-dokumentum A backslash ugyanaz. És van különböző címkéket. És észre, hogy ők mind kiegyenlített. Itt van például a body tag majd egy közeli body tag. És azon belül a body tag, az lesz az Ön weboldalán. Tehát ez a honlap egyszerűen megjeleníteni egy fehér háttér és fekete szöveg Helló, világ. Van ennek értelme? OK. Most megyek gyorsan terjed JavaScript. A szavak egy korábbi TF, "JavaScript a legjobb programozási nyelv jelenleg létező. Más emberek megpróbálják mondani egyébként. Ők rossz. "JavaScript elég szép, és megmutatom, hogy miért. Tehát ez a klasszikus példa kezdjük In C. Van hello, világ. És azt veszi észre, hogy még ha csökken ez, van, hogy legalább két sornyi kódot itt. Én több sornyi kódot. Ezt meg lehet tenni nagyon egyszerűen. Az egyik vonal a JavaScript console.log, majd a húr, Helló, világ. Nos, annak ellenére, hogy haladunk egy új nyelv JavaScript, szinte az összes készségek, amit tanult a kódolás C-ben közvetlenül hordozható. Tehát vonósok, az ötlet a húrok idézőjelek, ez ugyanaz. A pontosvessző, ez ugyanaz. Egy ügyes funkció a JavaScript valójában az, hogy nem kell a pontosvessző. Azt is hiszem, hogy meg kellene hogy egy pontosvessző oda. De azt mondta, mindig meg kell próbálni hogy tegye a pontosvessző oda. Ez tekinthető jó stílusban. És azt is, hogy nincs fő funkciója. Csak indítsa el a tetején a fájl és olvasd el a dolgok sorról sorra. Akkor ez az, ami kell ahhoz, hogy hogy hello, világ programot. És akkor észre, hogy meg kell hogy helló majd futtassa helló. A JavaScript, ez tekinthető egy értelmezett nyelv. Mit kell tudni, hogy nincs így. Nincs fordítás. Csak fuss csomópontot. És ne feledd csomópont az a program, amely fut a JavaScript a konzolon, egy fekete doboz, nem a honlapon. Szóval csak adja meg a fájlt, és ez a nyomdába hello, világ. Én valójában egy kicsit demo hogy ti itt. Akkor menjünk át a Node.js terminál. OK. Gyerünk itt. Így fogom kezdeni csomóponthoz. És én megmutatom nektek mindössze Egy pillanat, hogyan lehet, hogy az telepítve, ha nem. Engedjék meg, hogy, hogy egy kicsit nagyobb. OK. Remélem, ti is látni. Szóval lehet kódot írni, mint én korábban console.log. Szia, Roger. És észre, nem kell, hogy ezt a pontosvessző, de aztán, hogy ez a furcsa meghatározatlan dolog. Nos valóban, nem is beszélve arról, A meghatározatlan dolog. Dolgok, azt akarom, hogy észre, hogy nem kell a fő funkciója van hogy kezdődik kódot. És nincs backslash vége. Van egy kis funkciók JavaScript tehetek érted. Közönség: [hallható]. ROGER ZURAWICKI: Ó, igen. Sajnálom, hogy az. És hogy a nyíl csak azt jelenti, csomópont készen áll újabb parancs. Szóval lehet, hogy nem egyszerű matematika, mint az 1 plusz 1. És csakúgy, mint a C-ben, ezek a matematika szimbólumok ugyanúgy. Meg tudom csinálni console.log egy számot. És akkor nyomtat kettő. JavaScript szép ebben az értelemben, mert annak ellenére, hogy két olyan int, , mint a C-ben, ha nem printf két, akkor kap egy hiba. De JavaScript tudja, ó, te nyomtatás valamit. Megyek szüksége a húr. Hadd átalakítani, hogy a két egy karakterlánc az Ön számára. És azt is meg néhány furcsa dolgot mint a hi majd plusz kettő. Ez is csak egy példa arra, hogy a két lehet konvertálni ott is. Tehát, hogy az útból, nézzük csak fedezi egy kicsit JavaScript. Így a C, van típusok. Amikor létrehoztunk egy új változót, akkor meg kell mondanom, hogy ez hogy char * vagy karakterlánc esetében CS50. Vagy ha volt egy decimális szám, kellett mondani úszó. Ha szükség van a logikai, kellett mondani b. És ha már volt valami, ami volt b, meg kellett maradni bool. Nem tudtuk varázsütésre megváltoztatni, hogy egy int hacsak nem írta a zárójelben, int b. A JavaScript, nincsenek típusok. Csak gondolj rá, mint var. És var az, hogy hozzon létre egy új típusú. Így lehet var s hogy egy sor, var n egy úszó, és var b, hogy igaz. És még egy dolog, amit nem tehetsz meg C Én most azt mondják, majd ezt a vonalat, b egyenlő egész szám. És ez működik, csak finom. Mivel C, akkor azt mondanám, mint a az egész nem egy bool. Én nem tudom, hogy az Ön számára. Vagy [hallhatatlan] dobja a hibát. És gyorsan menj vissza a csomópont és a mutatnak, hogy a funkcionalitás. Szóval lehet, hogy a var a. Nevezzük "Apple". Tehát most, amikor nyomtatni, Kapom meg a szöveg, "Apple." De én is, most azt mondják, a egyenlő 3. És észre, nincs hiba. És most már egyenlő 3. Bármilyen kérdése eddig? Igen. Közönség: Várj, így console.log alapvetően printf, ugye? ROGER ZURAWICKI: console.log van a printf. Közönség: Rendben. Hogyhogy, ha csak írja be a nyolc vagy [nem hallható], mit is [Nem hallható]? ROGER ZURAWICKI: Így van. Tehát ez - a cucc zöld lesz nyomtatott a konzolon. És mit fogunk látni a következő is amikor mozog a weben oldal, akkor nem csinál - JavaScript lesz, amelynek a HTML sablont, amit majd fedezni a Meteor része a szemináriumon. És ez az, ahol meg lehet mondani, hogy nekem az értéke, és ez tesz egy a a honlapon. Mivel minden böngésző valóban van egy kis konzolt. És ha nézett ki, nagyon alaposan, akkor lenne egy kis információt, mint a printf ez megjelenő ott Minden weboldal betöltésekor. Közönség: Hogyan kerültél a héj képernyőn? ROGER ZURAWICKI: Szóval van egy parancs nevű csomópont, és ez benne van a Meteor. Szóval, én csak kilép onnan. Node az a program, amely fut a JavaScript. Ha megy meteor.com, akkor lehet telepíteni Meteor, és Meteor jön csomópont. Mivel a Meteor csak egy gyűjtemény Mindezen szoftverek. Amikor eljutunk példánkban fogok séta mindenkinek a telepítését Meteor, és akkor játszhat nyirokcsomó magad. OK, remek. Így egy másik nagyszerű funkció a munka A JavaScript hurkok ugyanaz. Nagyjából pontosan ugyanaz. A hurkok, míg a hurkok, nem míg a hurok, ha mást. Ez mind ugyanaz a fogszabályozó. Ez ugyanaz a szintaxis. Abban az esetben, ha a for ciklus, a kis részlet, hogy meg kell figyelni Most ahelyett, hogy int i értéke 0, azt kell mondanunk, var i értéke 0-ra. De ez azért van, mert a változók típusok beszéltünk korábban. Figyeljük meg, hogy a printf válik egy napló, a console.log. És nem kell, hogy ezt a százalékos p backslash n, majd át az i. Elég ha azt mondod i. És ez meg a számok nulláról négy. Ha akartok próbálni ezt, mert a hoztál egy jó pont. Ha akarta, hogy ezt a kódot a saját böngészője, azt javasoljuk, hogy mindenki megnyitja a Google Chrome. Google Chrome, vagy olyan böngészőt igazán, de szeretem a Google Chrome mert nagyon egységes. Mehetsz, azt hiszem, ha a jobb kattintson bármelyik honlapon, csak a fehér térben, akkor megjelenik egy opció úgynevezett Vizsgálja Element. Ez általában az utolsó. És ha rákattint, akkor kap Egy dolog, hogy az alján jelennek meg itt. Hadd nagyítás itt. És van néhány lapot itt. Akit érdekel, az konzolt. És ez egy JavaScript konzol hogy most már dolgozni. Remek. Szóval beírhatja ugyanazokat a dolgokat Én gépelés előtt a csomópont. Egy meg egy az kettő. Var egy egyenlő "Apple". És akkor azt nyomtatni, és az "Apple". Tehát bármely internetes böngésző, a Firefox, Chrome, Safari, bármit is használni, mint Amíg van hozzáférése a JavaScript konzol, ugyanolyan code én fut csomópontot, futhat a saját konzolt. Közönség: [Nem hallható]? ROGER ZURAWICKI: Hogyan kap a konzol? Meg kell jobb klikk az üres hely az oldalon, és akkor megy a Vizsgálja Element. Tehát tulajdonképpen azt szeretném, ha a srácok hogy csak győződjön meg róla, Vizsgálja Element Chrome. És mikor beírt néhány kódot a konzolon hogy fut rendesen. Nyugodtan kérdezz semmit, ha valami nem tiszta. Közönség: [hallható]. ROGER ZURAWICKI: Bármilyen, igaz. Csak egy fajta minden változókat a JavaScript. És ha be kell jelenteniük egy változó, azt mondod var. Közönség: [hallható]. ROGER ZURAWICKI: Igen. Ez nem, de JavaScript, ez nagyon okos elosztása memóriát. Nincs malloc. Nincs ingyenes. Szóval nem kell aggódni, hogy a. Ez egy másik szép vonás, hogy JavaScript nyújt Önnek. Szóval szeretnék lépni. Lenne ez jó? OK. Remek. Közönség: Én csak sikerül megtalálni a [? Vizsgálja Element. ?] ROGER ZURAWICKI: Tehát Safari néz egy kicsit más, de te Van Chrome vagy Firefox? Ezek a könnyebb is dolgozni. És az a projekt, azt ajánlom, ragadt egy böngészőt, mert kapsz sok hibát szinte mert minden böngésző kezeli JavaScript HTML egy kicsit másképp. Szóval azt hiszem, az élet sokkal könnyebb, ha ragaszkodik a Chrome, mert ez áll az összes gép. És ez egy nagyon népszerű böngésző. OK? Így a következő téma, hogy mi kell terjed a JavaScript - Sajnálom a formázást itt. Meg kellett húzni a diák, hogy megfeleljen A szélesvásznú projektor. De én most szeretnék beszélni hogyan csinálod funkciókat. C-ben, meg kell, hogy állapítsa meg minden funkciója. Mint int hozzá, és tart egy int a x, és int y, aztán add hozzá és vissza. A JavaScript, funkciók valóban másik változó típusát. Tehát mondjuk var hozzá, és a ez megegyezik a funkciót. A funkció vesz egy x és y. És mit jelent ez a funkció nem? Visszatér x és y pontosan ugyanolyan szintaxis, mint a C-és észreveszed, hogy a JavaScript, akkor nem kell mondani, mi a függvény mert hiszen változók nem rendelkeznek típus egyébként, azt ez nem igazán produktív, azt hiszem, hogy megadja az összes típus a funkciókat. És ha hívja a függvényt, akkor pontosan ugyanazt a szintaxist, mint C. You csak át a két érv. Szeretném kipróbálni ezt a csomópontot. Meg tudom változtatni a dia? Közönség: [hallható]. Fogunk kapni egy példányt a diák? ROGER ZURAWICKI: Igen. Akkor menjünk vissza a csomóponthoz. OK. Szóval azt mondom var add egyenlő funkciót. Figyelembe x, vesz egy y. És akkor tudja, hogy a nyilatkozat a nem fejeződött be. Tehát csomópont, vagy a konzolon, észre fogod venni, pont pont pont. Így tartani beírni a kódot. És most azt mondom return x és y. Majd zárja be a zárójel. És abban a pillanatban én zárja le a zárójel, akkor látja, hogy az állítás befejeződött. És most azt mondhatom, hozzá egy-két percre. És hozok három out. Ne feledje, hogy ha csak nem hozzá, akkor azt mondja, hogy ez a funkció. És még egy dolog, csak figyelni kell , ha adsz, hogy a megfelelő számú érvek, meg fog tenni. Fog futni, de lehet, hogy Néhány nagyon furcsa eredményeket. Olyan, mint egy szemetes értéket, lehet gondolni rá. Ezért kérjük, megy előre, és próbálja ez a böngészőkben. OK, így az érdeklődés az idő, én most már lépni a következő funkciók JavaScript. Így beszéltünk funkciókat. Már beszéltünk hurkok, ha a nyilatkozatok is. A szintaxis ugyanaz mint a C és változók. És most szeretnék beszélni tömbök. Sajnálom, hogy a diák van egy kis vágva. De valóban, az első részben, mindent meg kell működni fog. Tehát van egy másik típusú változó nevű tömbök. És szögletes zárójelek jelöli őket. Tehát az első példában, var arr, üres tömböt. Ez az üres lista, így egy tömb nem tartalmaz elemeket. És akkor is van egy sor három húrok. A C minden eleme a tömb kellett lennie az azonos típusú. De mivel a JavaScript csak egyféle, tömbök valójában különböző típusú értékeket. Mint itt, van egy tömb úszó, a bool, és int. Az, hogy kapsz egy hosszú tömb, valójában nem kell használni mérete , vagy ilyesmi. Csak mondja tömb majd pont hosszúságú. És ez pont hossza, lehet gondolni ez olyan, mint egy struct, hogyan minden tömb egy olyan területen, egy extra változó belsejébe nevű hosszúságú, amely nyomon követi, milyen hosszú a tömb. Szóval csak gyorsan fog menni csomópont és mutatják a srácok ugyanazt a dolgot. Szóval lehet egy tömb. Ez lehet az üres lista. És kiírja nekem vissza az üres lista. Remek. Én most azt mondják, hogy a tömb van 1, és 2,3, és igaz. Tehát az összes különböző típusú. És azt veszi észre, hogy működik, csak finom. A tömb kapok deréktámasszal az összes értéket adtam meg. Ha akartam, hogy az első eleme a tömb, a szintaxis valójában ugyanaz, mint a C-Te mondhatjuk array nulla. És kapsz egyet. Azt lehet mondani ugyanezt tömb két, és kapok igaz. Ha én valamit kívül a tömb, JavaScript biztonságos nyelv mert nem fog a szegmens hibája. Hozok definiált. És ez nem definiált, akkor kedves A gondolj rá, mint null. De ez tényleg zavaró lehet, ha kódot, mert akkor kell ellenőrizni, hogy szinte minden, amit csinál, akkor dolgozni nem definiált. És majd meglátjuk, néhány példa a ezt, amikor dolgozunk Meteor. Bár a tömb négy nem definiált, Én is hozzá, hogy egy értéket. Tehát azt mondom, hogy egyenlő egy. És aztán, ha megyek tömb, azt az extra értéket is. És észre, hogy a tömb három, ami szintén ben definiált, marad definiált. Szóval most már egy tömb egy lyuk a közepén. De ha a nyomtatott tömb négy Én egyet. Ha én tömb három kapok definiált. Tehát a szép vonás, hogy a JavaScript lehetővé teszi, hogy az, hogy a listák változtatni méretét. Tömbök, tömbök, hogy listákat, változnak méretét. És megadhat minden olyan helyre belsejében őket. És az összes mezőt tele lesz ezekkel nem definiált értékek. Így beszéltünk tömbök. Most, az utolsó dolog, amit szeretnék, hogy fedezze a JavaScript, és ez nagyon fontos, hogy megértsék a kódot, Meg fogom mutatni, lesz tárgyakat. És a tárgyak a kifejezést - Alapvetően, vannak jelen számos programozási nyelven. És minden programozási nyelv szeret Szerintem ezek egy kicsit másképp. De azt hiszem, a Meteor, a jó analógia a C struct. C-ben, ha meg akarja találni a struktúra diák, meg kéne határozni a a dolgok belsejébe. Tehát azt, hogy egy nevet. Azt, hogy egy év alatt. Azt, hogy a nemek. De azt is meg kell, hogy ez a típusú mindazokat a dolgokat. És most, hogy itt van ez a penész a struct nevű diák, mi lehet a az új struktúra, és akkor manuálisan megmondani, hogy mi az egyes mezők. És ez az, ahol az általunk használt pont nevét, dot év, pont nem. És akkor most, az utolsó sorban a kódot itt, én csak kinyomtatja az nevét a struct diák. A JavaScript világban van nincs olyan, hogy struct diák. Nem generál egy előre beállított struktúrát. Te tényleg csak ezekben zárójelben, azt mondod, hogy mi minden. És ez a furcsa jelölés a vastagbél, majd a vessző, de akkor szokni elég hamar. És ez tényleg egy nagyon egyszerű, rugalmas módon csak manipulálni tárgyakat. Azt veszi észre, hogy ha azt akarom, hogy most kap nevét a s, én csak nem s.name. Van bármilyen kérdése van ez? Ez általában egy nagyon zavaros téma, amikor be az embereket, hogy JavaScript. Megteszem néhány példa erre a csomópont. Igen? Közönség: [hallható]. ROGER ZURAWICKI Szóval te van egy példa, többszörös változókat ilyen típusú. Közönség: [hallható]. Közönség: [hallható]. ROGER ZURAWICKI: OK. Szóval azt hiszem, ahogy megy arról van szó, akkor fel objektumokat egy tömb, és most lesz egy tömb tárgyakat. Van, hogy a kérdésére? Közönség: [hallható]. ROGER ZURAWICKI: Igen. S az egyik objektumot. Tehát bemegy csomópontot, és csak játék körül egy kicsit. Közönség: [Nem hallható]? ROGER ZURAWICKI: Oh, OK. Tehát, ha azt kérdezi, milyen osztályok, osztályok kezelik nagyon eltérő, és van egy nagyon furcsa rendszer nevű prototípus, amit nem tudni kell. Nincs fix módon kell csinálni. Tehát, ha azt szeretnénk, hogy többszörös, akkor is csak ilyen van, a funkció vagy valami. Ön generálni a saját funkciója. És akkor vissza egy tárgyat. Ez lenne a legegyszerűbb módon kell csinálni. Van ennek értelme? OK. Remek. Tehát, ha van egy megértése JavaScript objektumok, azok - ó, igen. Közönség: [Nem hallható] Például, hogy mi a különbség "Roger" dupla idézőjelek szemben [Hallhatatlan] egyetlen idézet. ROGER ZURAWICKI: OK. Szóval ez a C-ben van az egységes idézetek képviselő karakter, és a kettős idézetek képviselő szálakat. JavaScript valóban dobja ezt el mert lehet húrokat szimpla vagy dupla idézőjelek, és ott nincs olyan dolog, mint egy char. De ha csak másolt ugyanaz C kód, JavaScript lenne kezelni csak finom. Ezért is kezelni, mint - ezért is lehet szó port A kód ebben az értelemben. És azt akarom mutatni neked egy példát egy bonyolultabb objektumot. Így veszi észre, hogy egy objektumot lehet karakterláncokat értékeket. Ez lehet egy másik listát az értékek. Ez volna a lista tárgyak az értékeket. Már tényleg nincs határa ezt. Tehát itt, ez csak egy jó bemutató hogy hogyan lehet kapni egy csomó különböző típusú folyik minden egy objektum. Van ennek értelme? Most, akkor is tömbök tárgyakat. És itt a fajta, hasonló ahhoz, amit megkérdezte, ha lehet tárgyai az azonos típusú. De a probléma az, hogy nincs rögzített formátumú objektumok JavaScript. Tehát meg kell adni rájuk. És meg kell, hogy megbizonyosodjon arról, hogy ők egységes. Tehát itt, amikor létrehoz egy objektumot, azt annak biztosítása, hogy mindegyiknek van egy nevet, és mindegyik egy házat. És akkor van egy sor olyan, és hogy lehet a ház. És akkor itt is egyfajta lásd a for ciklus folyik. A for ciklus, hogy csak egy nagyon gyakori módja annak, hogy keresztezik több mint egy tömb JavaScript. Vegyük észre, hogy ez a minta nagyon hasonló A C egyenértékű, ahol Van int i értéke nulla. én kisebb, mint a hossza. És akkor plus plus. Majdnem ugyanazt a kódot, kivéve néhány részletet. Tehát nem mindenki érti mi egy tárgy? Gondolj csak bele, mint a C struct. És ahogy hozzáférhet a mezőket csak a dot. És amíg emlékszem, hogyan kell használja a pontot, akkor minden rendben lesz. OK, így most is mindenki olvastam, hogy a link? Ez a link a projekthez. Ha valaki gondjai látva a link? OK, változtassuk meg akkor. Ez nem - Igen, ez valószínűleg a legegyszerűbb módja annak, hogy csináld. Remek. Tehát, ha megy ezen az oldalon, ott kell néhány utasítást, hogy fogok megy át, hogy hogyan tudjuk telepíteni Meteor és megkapjuk a minta projekt fut. Azt szeretnénk, hogy győződjön meg arról, mindenkinek link le, mielőtt mozogni. Tudok lépni? OK, remek. Szóval itt vagyok a honlapon. Észre fogod venni, a readme fájlban, van néhány utasítást, hogy hogyan , hogy én létre. Be kell, hogy akár a CS50 készülék, vagy csak a Mac. A Windows nem fog működni. De alapvetően bármit, ami nem A Windows dolgozni ezekkel utasításokat csak finom. De lehet, hogy egy kicsit nagyobb is. Tehát akkor futni az első pár parancsokat. Ezek a srácok majd csak telepíteni Meteor. Tudok menni a terminál. És ha fut ugyanaz a dolog most, Már van telepítve. Szóval ez egy kicsit rövidebb. Lehet, hogy egy kicsit hosszabb a srácok. De szeretném először győződjön meg arról hogy van Meteor fut. Miután Meteor van telepítve, akkor tudja, hogy csomópont a konzolon. Közönség: Ők kérnek a jelszót. ROGER ZURAWICKI: Ez lenne a felhasználói jelszó, ha a Mac. Csak kell engedélyt módosítani bizonyos rendszerfájlokat. Tehát a kérdés az volt, ha nem kéri a a jelszó, ez csak kérdezem a jelszó, ha akkor jelentkezzen be a Mac. És ez így változás rendszerfájlokat. És ha készen állsz, akkor lépni a következő lépés, amely átmásolja a minta kód van a honlapon. És kapsz egy új könyvtárat a home könyvtár nevű ranglistán, és tudunk kezdeni dolgozni onnan. Szóval, csak a másolás és beillesztés következő parancsokat a terminál. És nekem, már klónozott azt. Szóval csak most mozog a ranglistán. És kell egy pár fájlokat ott. Bármilyen kérdése? Közönség: [Nem hallható] nem működik. ROGER ZURAWICKI: Ó, lehet, hogy kell git telepíteni is. Közönség: [hallható]. ROGER ZURAWICKI: Tessék? Közönség: [hallható]. ROGER ZURAWICKI: Oh, OK. OK. Azért, mert lehet, hogy kell, hogy bejelentkezett GitHub, hogy erre a linkre. Ha a srácok, láthatjuk, hogy a legegyszerűbb úgy kell csinálni azt, akkor mondani, Töltse le a zip. És ez csak le kell tölteni az összes fájlt. És ha egyszer betette a le, vagy a home könyvtár - Azt ajánlom, hogy azt a home könyvtár, hogy így mindannyian ugyanarról a parancsokat. Amíg megvan a kép, mi lesz tud kezdeni dolgozni velük. Szólj, ha többen vannak baj letölti a fájlokat. Közönség: A home könyvtár, érted - ROGER ZURAWICKI Szóval home könyvtár lenne hogy John Harvard, ha a A CS50 készülék. Ahhoz, hogy az otthoni könyvtár, csak írja be a C- Közönség: [Nem hallható] CS50 készülék [hallható]. ROGER ZURAWICKI: Igen. Azt akarja futtatni a parancsokat a terminál. Közönség: [hallható]. Kaptam egy hiba, hogy azt mondja, nem ilyen fájl vagy könyvtár. ROGER ZURAWICKI: tudjuk, hogy egy gyors szünet, és csak arról, hogy mindenki Meteor telepítve, és én csak megy próbálja segíteni az embereket. Kérjük, próbálja segíteni egymásnak, ha akkor fut be probléma. Sajnos, igen. Ön mind a készülék? Közönség: Igen. Nekem van a RISA ROGER ZURAWICKI: OK. Ha megy vissza a honlapján, megy felfelé a csúcsra. És itt van ez a HTTPS. Közönség: Másolja ezt? ROGER ZURAWICKI: Igen. És akkor szeretnénk írja be git clone. Tehát, ha megnyomja vezérlés A - Közönség: itt? És nem [hallható]? Roger ZURAWICKI: G-I-T-vel. Közönség: [hallható]. ROGER ZURAWICKI: Git, majd a klón. Tehát ez nagyon hasonlít a parancs volt fent, de az URL megváltozott. Szóval mielőtt ez volt az, most már ezt. Hadd frissíti a - igen. Közönség: [hallható]. ROGER ZURAWICKI: Ez letöltődik. Közönség: [hallható]. ROGER ZURAWICKI: Ó, így Nem klón megfelelően. Fogom javítani. Van egy hibát próbál letölteni a fájlokat. Hadd frissítse a parancsot a srácok így biztos lehet benne, hogy működni fog. Sajnálom, hogy az. Meg kell egyeznie a Mac vagy CS50 készülék. Közönség: [hallható]. ROGER ZURAWICKI: Már frissítette a parancs a második, ha a akkor frissíteni kell az oldalt. És ezzel, URL, ha kell képes letölteni a fájlokat. Közönség: Tehát, ha még mindig letöltés [hallható]. ROGER ZURAWICKI: Ha még tart a letöltés Meteor? Közönség: [hallható]. ROGER ZURAWICKI: Igen, ha azt szeretné, fejleszteni a Mac. De szükség van az Xcode fejlesztői eszközök telepítése. Már tesztelték ezeket a parancsokat a CS50 készülék, így garantálni , hogy ez működni fog. Igen. hadd menjen, és segít. Közönség: [hallható]. Én adom a jelszót. Ez a Mac. És akkor én [nem hallható]. ROGER ZURAWICKI: OK. Azt próbálja A parancsok futtatása kizárólag a CS50 készülék terminál. Közönség: [hallható]. ROGER ZURAWICKI: Azt, hogy ez működik először a terminál, a CS50 készüléket, majd A Mac terminál. Közönség: Tehát, ha azt a CS50 készülék, mint a hogy [hallható]. ROGER ZURAWICKI: Szeretnék mozogni , de ha az emberek még mindig van sikerül beállítani Meteor, Kevin több mint szívesen segít nektek ki, Kevin a szürke pólót. Amit kellett volna a fogunk futtassa az utolsó parancs, a hármas számú, a a terminál. Amikor ezt tesszük, akkor fut Meteor. És akkor - ó, én már Meteor fut. Tehát ez nem hagyom, hogy - hadd csak zárja be a másik Meteor. Amikor fut Meteor, akkor most látom, hogy - látnod kell az aktuális könyvtárban hogy ez szolgálja. És most fog mondani a szerver fut http://localhost. Ez az URL-t akarod, hogy az a böngészőjében. És az URL, akkor képesnek kell lennie arra, hogy hozzá egy szép kis ranglistán. Tehát észre, hogy ez a localhost, ami azt jelenti, hogy ha nem minden változik, akkor nem fog lásd egymás változásokat. Mivel a honlapon mutattam neked az elején, mi lehetne még mindenki a változtatásokat, mert mindenki éppen a ugyanazon a weboldalon. Szóval, hadd menjen a [? szó?] 3000. Így képesnek kell lennie arra, hogy csak megerősíteni működik, hogy a funkcionalitás. Megadhatja különböző emberek, és akkor nekik különböző pontjain. Szóval hogy valaki pontokat. Azt is láthatjuk, hogy nem emelkednek rangsorban. Most, az érdeklődés az idő, ott három jellemzőt, hogy én már végre. És fogunk végrehajtani törlése a felhasználók, mint a mi első nagyjátékfilmje. De mielőtt megyünk tovább, Van kérdés? Megvolt a kezét. Igen? Közönség: [hallható]. ROGER ZURAWICKI: Ellenőrizhető hogy a Meteor telepítve? Közönség: [hallható]. ROGER ZURAWICKI: Local host 3000? És te vagy a CS50 készülék? Meg tudom csinálni - akkor nem kell, hogy a Mac. Ez a munka a készülékben. Közönség: [hallható]. Roger ZURAWICKI: A normális böngésző, igen. Közönség: [hallható]. ROGER ZURAWICKI: A Meteor fut? Tehát OK, van egy különbség van. Ha fut a készüléket, meg kell csinálni localhost a készüléket. Ha fut a Mac, , mint én, akkor meg tudom csinálni Mac-emet a Google Chrome. De ha te vagy a CS50 készülék meg kell csinálni mindent a készülékben. Szóval a Google Chrome a készülékben. Közönség: [hallható]. ROGER ZURAWICKI: Ez Még mindig nem működik? Közönség: [hallható]. ROGER ZURAWICKI: Tehát csak ismételni, hogyan lehet elérni a honlapon most. Van egy URL-t itt localhost 3000. Ha a CS50 készülék meg kell nyitni CS50 készülék a Google Chrome. És, hogy a Google Chrome a készülék, akkor írja be, hogy az URL-t, és meg kell látni a ranglistán. Ezért fogom csak tedd le itt az oldalán egy kicsit. És most megyek, hogy nyissa meg a szövegszerkesztő ide. Engedjék meg, hogy győződjön meg arról, hogy a kód rendben van. OK. Remek. Szeretnék most már séta a kód egy kicsit. És az első fájlt szeretném kezdeni IS leaderboard.html. Ön képes lesz arra, hogy ezt a kódot után A szeminárium, úgyhogy én csak azt szeretném megmutatni meg a számítógépen, mi folyik itt. Szóval remélem, mindenki látja ezt. Tehát a legelején a fájlt, van a fej és a címet, amely hasonló ahhoz, amit láttunk minden HTML dokumentumban. És akkor mi lesz, hogy a body tag itt. Amit kiválasztott fő test, alapvetően mi lesz, hogy megjelenik. De vannak olyan új, nem HTML a dolgokat, és ez a dupla zárójel. És ezek sablon címkéket. Így látni fogod itt konzol konzol új ranglistán. És ez a fajta - gondolok rá mint hogyha egy funkciót a HTML. Ez egy speciális változata a HTML. Ez a változat, hogy Meteor használ, amely miért lehet megjeleníteni a különböző dolgok, mint például a ranglistán nevek és gombok. De ranglista azt mondja, hogy menjen a sablon nevét ranglistán. Tehát sablon nem kap jelenik meg is, de ez a funkció, így lesz az úgynevezett. És akkor helyettesítő mindebben code itt a ranglistán. Az érdekes része a ranglistán itt csak a táblázatban. Ha csak olvasni, olvasd el ezt a kódot hangosan, meg kell intuitív mert a ranglistán, minden, amit Van itt egy táblázat. Ez az azonosító osztály cuccot nem kell aggódnia. Csak tudom, hogy van egy táblázat fejléc. Az ezt thead. És talál egy nevet, és a pontszámot. Mindezek a címkéket, mint a thtable, thead, akkor csak tanulni, ahogy megy végig. Ez nem fontos, hogy memorizálni ezeket, mert akkor csak hozzáférni referencia online. Vagy az a szemeszter végén, ezek a majd csak nagyon ismerős veled. Miután a fejléc az asztal, a rész, szeretném felhívni a figyelmet ez a h-tag. Mert dupla zárójelben, ez egy sablont. Tehát ez azt jelenti, az egyes játékosok, bármi játékosok, meg kell megjeleníteni. És megyünk a játékos sablont. Ha görgess le egy kicsit - Remélem, mindenki láthatja, hogy az. Megvan a játékos sablont. És ez a sablon alapvetően meghatározza a táblázat cella, ahová a nevét itt az eredmény. Nagyítás ki most, láthatjuk, hogy ez a darab a kód - és ez volt a játékos ott - meghatározza egy ilyen sejteket. Minden dolog, hogy kattintson lesz sárga. Egy egyszerű módja, tudtam változtatni most. Győződjön meg arról, Meteor még mindig fut. Meteor kell egy szerver folyamat, így csak hagyja fut, ha fejlett. Tegyük fel, hogy meg akartam változtatni az összes nevet, illetve a pontszámot. És azt mondanám, megyek hozzáadni pont itt. Így a változás csináltam itt volt, ahelyett, hogy csak pont azt hozzá pontszámot helyet pontokat. Megyek kicsinyíteni, és én vagyok fogja menteni a fájlt. És miután menteni a fájlt, azt kell , hogy megbizonyosodjon arról, Meteor fut. Sajnálom. Meg akarom mutatni neked szerkesztések végeztünk valós időben. Szóval, én csak változtatni a szöveget. Kattintson egy játékos. Teszem azt a nagybetűs. És meg kell, hogy ha ez működik megfelelően, amikor menteni, akkor is frissíti. Ó, azt hiszem, most a probléma Én nem vagyok a megfelelő könyvtárba. OK. Sajnálom, hogy az. Tehát itt, amit észre a változás ment keresztül. Most azt mondják, azt akarom, hogy visszatérjen a változást. Azt akarom, hogy menjen vissza, amit tennem kellett. Én csak úgy írja rendesen. Kattintson egy játékos. Abban a pillanatban, menteni, a webhely felfrissíti nekem. És látom a változás a helyszínen azonnal. Ez egy nagyon hasznos funkció a hibakeresés mert most Nem kell, hogy - Amikor írunk C kód, nem csak mi meg kell menteni a fájlt, de meg kellett teszik majd futtassa újra. Meteor nagyon szép, mert ellentétben a C, a pillanattól kezdve, hogy mentse a HTML vagy JavaScript fájlt, a változás jelenik meg azonnal. Az egyik kérdés, hogy ezeket a sablonokat, hogyan kapom az értékeket, mint a játékosok vagy válasszon egy nevet? Ha nagyítani itt az én kódot, Látom, ez minden játékos. Tehát a sablon tudja, hogy a Van játékosok valahogy. És tudja, hogy van a kiválasztott nevet. Honnan ez ide? Hogy jön a JavaScript. És ha elmész leaderboard.js, ezt fájl, most, amikor elmegyek itt van egy Néhány parancs meghatározott. Ez a különleges Meteor szintaxis. Figyeljük meg, hogy nem kell Vars, vagy ilyesmi. De ezek csak Struktúrák fel struktúrákat alapján struktúrákat vagy ezeket az objektumokat. És én meghatározó a sablon nevű ranglistán. Ranglista kap egy nevezett dolog játékosok. És mi a játékosok? Ez az, amit ez a kifejezés visszatér. És mi a kiválasztott név? Ez valami több kódot. A részleteket a kódot fogunk terjed egy kicsit később. De most azt akarom, hogy megértse hogy ezt a kódot, veszünk játékosok, és mi így ez egy értéket. Ebben az esetben, ez a funkció hogy lesz végre. Így tudjuk, hogy az értéket vissza amikor fut a funkciót. Ez egy napló. Van ennek értelme? Tudom változtatni ahogy ez rendezve. Itt van egy fajta objektumot. És mi ez mond fogok rendezni a pontszám csökkenő első és akkor Név szerint növekvő. Ha ezen változtatni, hogy az egyik, hogy megy rendezni pontszámot növekvő. Tehát nulla legyen a tetején. És amikor nagyítani a honlapomon, akkor most már látom, hogy a honlap naprakész. És az eredmény nem emelkedik. A következő funkció csak azt akarom hogy fedezze a click növekmény. Ki a kamat az idő, nem fogom képes fedezni több Meteor kód, de rengeteg a források rendelkezésre áll, és én leszek a után itt a szemináriumon. De én csak azt szeretném, hogy fedezze a ranglistán eseményeket. Ez a szintaxis megtudhatja a kicsit később az előadás. Ez a JavaScript. Mi csak azt mondom, ha kap egy kattintás, és ez a növekmény, ezt hash csak azt jelenti, ID. A növekmény ID tag, akkor szeretnénk frissítése - a kulcsszavak azt akarom, nézni a frissítést, és kiválasztásához és a játékos. Tehát melyik játékos választott, azt frissíteni. És mit teszünk, hogy növelni hogy pont öt. És, hogy leírja a funkciókat mi van itt. Miután a végén ez a szeminárium, fogunk lehet látni néhány kódot. De visszatérve a célom, hogy szeretnék változás az oldalon, szerettem volna itt hogy adjunk egy Remove gombot, így Tudom törölni a játékos. Tehát erre, szükségem két dolgot. Meg kell frissíteni a HTML, frissítse a Véleménye szerint milyen lesz látható a felhasználó, és a akkor van néhány a JavaScript, hogy amikor a gomb megnyomásakor, Meteor megy hogy tegyen valamit. Ez lesz, hogy távolítsa el a játékos. Tehát van egy csomó darabokat kód hogy alapvetően már tettek értem. Ha én meg itt, már van egy módja annak, a szerzés a kijelölt játékos. Ez ezt a dolgot, ha látom. Tehát, ha én csak - Megyek még egy eseményt. Így fogok másolni, amim van. Mivel ez a lista, Csak kell egy vessző. Most megyek a Törlés gombra. Aztán ahelyett, hogy a játékosok frissítés Meg fogom tenni a játékosok törölni. És minden játékos törlése igényeit egy kijelölt játékos. Szóval ez a funkció van szükségünk. Azt kell, hogy adjunk néhány HTML itt mégis. Tehát, ha én lépjünk le itt, ez a HTML nézetben. Volt egy dolog van, ami volt a tag. Önnek nem kell aggódnia, hogy. Ami számít neked, ez az azonosító növekmény. És ez az, ami lehetővé tette, hogy azt mondják, ha a mi kattintott növekmény, meg kell hogy öt pont. És látni fogod, hogy ez egy gombot. Ez az, amit a BTN jelent. És a szöveg a gomb az hogy öt pont. Szóval, mit fogok tenni, hogy én vagyok fogja másolni ezt a sort. Fogom megváltoztatni az azonosító törölni. És én meg fog változni a szöveget itt törölni. Ügyeljen arra, hogy minden rendben mentve. Azt akarom, hogy menjen vissza a JavaScript , hogy megbizonyosodjon arról, hogy van törlése sorakoznak itt. Jó. Szóval fogom menteni a fájlokat. A mentés után a két kép, mi mehet vissza az aljára. És most látjuk mi a Törlés gombra. És még egy lépést. Azt veszi észre, lehet, hogy egy hiba, mert amikor rákattintok törölni, semmi sem történik. Egy módja annak, hibakeresés ez menni vissza Vizsgálja Element. Én ezt a célból, hogy tudsz nézze meg, hogyan fog a hibakeresés valamit. A Vizsgálja Element, mi Minden szöveg itt. Azt akarom, hogy menjen vissza a konzolt. És mi történik, ha megy itt nem kapok valamilyen hiba. Azt mondja, nincs mód törléséhez. Szóval mi ez mond, amikor elmegyek vissza a kódot, hívtam lejátszó törölni itt. Törölje valójában nem megfelelő parancsot. Tehát, hogy megtudja, mi a helyes parancs van, ott van a Meteor API. A dokumentáció Azt akarom, hogy pont akkor srácok, hogy csak a meteor.com. Szóval van ez itt. Ez csak így tudjátok ahol többet. Van egy link a dokumentációt. És tulajdonképpen, én is csak találom a törlés. És amit látsz, törlése valójában eltávolítani. Ez a parancs, amely Meg kell hívni. Most, hogy tudjuk, hogy megyek ezen változtatni törölni eltávolítani. Tehát most, amikor megyek vissza a ranglistán helyén, megyek kattintson törölni, és most sem vagyok. Nincs több Roger. És én is tartani fog törölni minden egyetlen nevet, amíg már semmi sem maradt. Szóval ez egy kis előzetes hogyan kell használni Meteor. Nem lesz tanulni sokkal JavaScript és a HTML szükséges ahhoz, hogy úgy néz ki szebb, ami később lesz szó e heti [? darabot?] készlet HTML és a JavaScript, a következő [? darabot?] beállítva. Tehát nem értem aggódik, ha nem az összes ez a cucc jön könnyen az Ön számára. Ez az idő a a végleges projekt. Köszönöm, hogy felbukkan. A kapcsolat én frissíti után nem sokkal a szeminárium, így láthatja, néhány példa, hogy már végre, hogy hogyan hogy a fejlettebb ranglista , hogy én is ezen a honlapon itt egy gyökös-leaderboard.meteor. Köszönöm. [Taps]