DAVID J. Malan: Dobro, tako da je to tukaj je Myo roko pas, nekaj, ki smo imeti za CS50 končnih projektov. In da je bila predstavitev smo v čakalni vrsti Ste pripravljeni vnaprej, kadar je to v bistvu to dokaj tesen roko pasu tukaj posluša vaših mišičnih gibov ki so nato preslikani v programski opremi za laptop Colton je več tukaj, ki imel iTunes in da Pesem je že v čakalni vrsti gor. Namesto da bi me demoing to, Colton je bilo v laboratoriju jasno že ves teden dobili predstavitev pripravljeno za enega pogumnega prostovoljca. Če bi kdo rad prišel na up-- videl svojo roko prvi. Pridi gor. [00:01:09] Vse je v redu. In kako ti je ime? [00:01:13] OBČINSTVO: Uh, Maria. [00:01:14] DAVID J. Malan: Maria, lepo vas je videti. Pridi sem. Naj vam predstavim Colton. Colton, to je Maria. [00:01:21] COLTON: Zdravo, lepo, da sva se spoznala. [00:01:23] DAVID J. Malan: All prav tako korak enega, smo dogaja, da imajo daš to na vašem podlakti tako, da je precej tesen up blizu komolca. In medtem, kaj je imel dal na naši Google Glass in bomo premešamo tehnologije danes. [00:01:33] COLTON: Najprej bomo morali trnek to v stvari. [00:01:36] DAVID J. Malan: OK. Pravzaprav, kaj je dal roko, kot je blizu tega kabla, kot je mogoče tako da bomo najprej sinhronizira up. [00:01:41] COLTON: Naredimo to. [00:01:42] DAVID J. Malan: In medtem, tako da vsakdo lahko pobližje pogledal, bomo kretnjo Andreja kamere na zaslonu tam. Tako da imamo kabel USB, ki je vklopiti v Maria odgovorno nalogo. In me vržejo zaslon Colton je up projektor naslednjo. [00:02:00] Torej Colton se prijavi naprave zdaj kot Myo priključen tem kablom. In kaj zdaj Maria je storili trenutek je pravzaprav sprehod skozi korakov umerjanja in poučevanje programske opreme kako njene mišice odzivajo ko se je prepričati, vnaprej določenih kretnje, software razume. Če bi radi, da gredo v sprednji del zaslona. OK, vztrajati težaven. [00:02:30] COLTON: Pojdi takole. In kot da. In vso pot v desno. Pojdi nazaj. [00:02:35] DAVID J. Malan: OK. Drugačen pogled. To niste vi. To je nas. [00:02:40] MARIA: OK. DAVID J. Malan: No. Oglejmo premakniti višje, tako da je bližje komolca ali celo strožje. Vse je v redu. [00:02:52] Gremo. To bi bil pravi čas za CS52X. Tam gremo. [00:02:57] Zelo lepo. OK. Palec na pinky. [00:03:02] Zelo lepo. Širijo svoje prste. Dobro. Val prav. To je zanimivo, kaže ste z levo hand-- [00:03:17] COLTON: Ja, to je čudno. DAVID J. Malan: Wave, da desno in se premakniti naprej. Hitro naprej, da preskočite ali naslednji. To je OK Wave prav. [00:03:25] MARIA: I don't-- čakati. [00:03:26] DAVID J. Malan: Potrebujete pomoč? [00:03:28] COLTON: Torej boš takole. MARIA: To je obračanja Druga stvar, čeprav. COLTON: Res je. DAVID J. Malan: Ja ne vem zakaj se vam prikazuje leftie. COLTON: Zakaj ne try-- le poskusite gredo takole. [00:03:38] DAVID J. Malan: No? Mogoče doseči roko ven malo straighter in da bo močnejša, kot je ta. Ja, OK, daj no. [00:03:48] MARIA: Žal mi je. DAVID J. Malan: To ni tvoja krivda. COLTON: To je v redu. DAVID J. Malan: All Right. Well-- [00:03:56] MARIA: Če preskočimo to potem? DAVID J. Malan: Ja, kaj je pustil off kavelj. Torej, če bi kdo rad naredil končni projekt z uporabo te rezilo strojna oprema, zavedaš, da lahko samo vzemite malo navaditi. In this-- realnost je to je pravzaprav zelo krvavitev rob. [00:04:10] To je tisto, kar se imenuje developer kit, ki je mišljeno, da se v bistvu pred sproščanjem tako da lahko ljudje točno this-- boriti z njim, slika kako organi ljudske delo s tehnologijo. Torej, če želite kasneje, po predavanju, smo vam lahko pridejo in posneti še eno stab na to. Sicer pa, aplavz, če smo lahko, za Maria prišli gor. [00:04:26] MARIA: Hvala. [00:04:28] DAVID J. Malan: Hvala. Bomo visi na tem, ampak mi bo dal you-- kako približno stres žogo tukaj? Oh, in-- if-- ja, hvala. Vse je v redu. Torej, za radovedne, če ste bili seznanjeni s premišljene izbire da smo tam prej, neverjetno TV kažejo, da morate nujno biti popivanje gledal na Netflix je to ena tukaj. [00:04:51] SPEAKER 1: Dame in gospodje, čarovnik z imenom Josh. [00:05:04] DAVID J. Malan: In očitno je, da je stvar, ki me je besedilo med predavanjem zdaj. Jaz pa sem rekel, da je Maria je imel rojstni dan včeraj. Torej, vse najboljše od CS50 za Maria kot dobro. [00:05:18] Torej ste lahko prebrali v zadnjem mesecu da to gospodje tukaj, Steve Ballmer, ki je bil dejansko Razred 1977 na šoli, Pred kratkim upokojil za Microsoft. Bil dodiplomski tukaj nato nekaj let pozneje je znašel na Stanford Business School ko je prejel telefon poklicati njegov prijatelj kdo živel po hodniku od njega tukaj na Harvardu. Prijateljevega imena je Bill Vrata in v času, je skušal zaposliti Steve biti Prva poslovna oseba, res, pri majhnem podjetju ime Microsoft. [00:05:45] Skrajšam zgodbo, Steve je na koncu osvojil, pridružil Microsoft, ko so je imela le 30 zaposlenih. In do takrat, ko je upokojeni nedavno, Družba je imela 100.000 zaposlenih v zadnjih nekaj letih. In tako spletna stran znan kot The Verge pripravila ta davek na video da smo menili, da bi skupna ugotovitev, da vam daje občutek, koliko energije Steva prinaša za vse predstavitve je daje. [VIDEO PREDVAJANJE] -Microsoft Je kot četrtega otroka. Otroci zapustiti hišo. V tem primeru, mislim, Odhajam hišo. Hej Bill, whazzap? [00:06:23] -Wazzap? [00:06:24] Hej, wazzap? Bil sem dal smo velikanska priložnost. In Bill nam je dal to priložnost. Rad bi se zahvalil Billu za to. Rad bi, da preveč. Razvoj inovacij se ne bo upočasnila. [00:06:42] To se dogaja, da bi dobili hitreje in hitreje. Morda obstaja nekaj konkurentov da so na žalost odstranjeni! [00:06:54] Ljubim te družbe. Yes! Jaz sem PC in obožujem to podjetje! [00:07:08] Razvijalci, razvijalci, razvijalci, razvijalci, razvijalci, razvijalci, razvijalci, razvijalci. Yes! Spletni razvijalci! [00:07:19] Spletni razvijalci! Spletni razvijalci! Poslušajte, kaj vam dobili brez doplačila! [00:07:28] Izvršni MS-DOS, imenovanje koledar, pile kartica, note pad, ura, na nadzorni plošči. In, ali si lahko mislite? Reversie! [00:07:35] Jih zapišete na CD-ju! Jih objavili na MSN! Lahko jih pošljete prijateljem! [00:07:40] Vse z enim klikom! Ena Microsoft, ena strategija, ena team-- usmerjena, disciplinirano, strokovno, in strokovnjak za vse, kar počnemo. Dovolite mi črto iz starega filma. [00:07:52] Razmerja so kot morski psi. Se premikajo naprej ali umrejo. Pravzaprav mislim tech podjetja so enaki. [00:08:01] [END VIDEO PREDVAJANJE] DAVID J. Malan: Torej smo tako veseli, da sporočamo, da bo Steve nam pridružili tukaj v CS50 naslednjo sredo ob običajno kraj in čas tukaj. Prostor bo verjetno omejena. In tako se nam pridružite osebno, prosim glavo danes ali kmalu zatem da cs50.harvard.edu/register. [00:08:22] In bomo sledili ki jih Torek potrjuje lise. Veselim se, da je poleg Sreda med predavanjem v CS50. Zdaj, v drugih novicah, sem se je zgodilo prišel čez to v The Crimson samo drugi dan. [00:08:34] Izkazalo se je, da je eden od zaposlenih CS50 je in vsaj eden izmed CS50 je študentov trenutno teče za UC predsednik in podpredsednik, ki me je pripeljala nazaj na mojih dni nazaj ko sem izgubil UC volitvah klavrno. Ampak sončni žarek s tem, da je vedno povej zgodba je, da eden od Prepričan sem, veliko razlogov sem izgubil Izvolitev je bila popolna odsotnost iz talenta za javno nastopanje. In tako zelo iskreno jo, me odpeljal, da izkušnje Mislim, da moj junior leto, dejansko se prijavite up za Harvard Computer Society, ki je skupina na univerzi, ki ima različne tehnične pogovore in druge stvari. In sem prevzel svoje poučevanje seminarji in zato so imeli priložnost, čudovita priložnost, začeti delati na točno to. Ampak tudi, sem imel priložnost Med te izkušnje da sam naučiti vse več HTML. In tako sinoči sem zavlačevali s videti skozi temelji HTML spletne strani Naredila sem v kot 1997, '98, za moj Kampanja, ki je videti takole tukaj. Vem. [00:09:29] Because-- in seveda, obvestila to neverjetno odločitev dizajn v letu 1998 ali malenkosti. Prva stvar, ki jo želite, da uporabniki da bodo ob obisku vaše spletne strani je potrebno klikniti še eno povezavo pravkar da vstopijo vašo spletno stran tukaj z meniha zadaj kot zavita zaveso, kjer očitno moja platforma Akcija je bila. In to je vse, kar boste dobili Danes je le screenshot. Vendar sem bral skozi, kot so, akcije ter plakati sinoči in moj platformo. [00:09:50] In sem bil tako jezen v tistem času. Moja platforma was-- je bilo zanimivo. Tako da sem pomiril od takrat. Ampak nekega dne, bom spet teči in upajmo, da bolje tem času. [00:10:03] Torej, HTML, da je jezik, v katerem sem da in-- vas bomo kmalu bo veliko more-- je nekaj, kar smo bili Govorimo o pozno in v veliki meri ki jemljejo za samoumevno zdaj da smo se preselili na druge jezike. Ampak kaj je premor za trenutek in dal nekaj od teh stvari v kontekstu. Torej, v stavku, kaj je HTML? [00:10:18] Ali, kaj se uporablja? Kdorkoli? Da. [00:10:20] OBČINSTVO: Markup za spletne strani. DAVID J. Malan: Markup za spletno stran. Torej, to je označevalni jezik, ki vam omogoča strukturiranje spletno stran. Glava gre tu gor, naslov tukaj gre, telo gre tukaj. To je krepko, to je italics--, da se takšne podrobnosti. [00:10:33] OK, dobro. Torej you-- in I CSS omogoča vzel nekaj svoboščin tam s krepko obrnjenih in poševnem tisku zato, ker da je bolje izvajati s tem. CSS is-- kaj? Pravijo v stavku. Kdo sploh. Ja. [00:10:46] Publika: Embellishments in stvari, kot so, kako jo oblikovati. DAVID J. Malan: OK, dobro. Okraskov, ki vam omogočajo jo oblikujejo ali Stilizovati s stvarmi, kot krepko in ležeče in barve in tudi bolj fino drobnozrnat pozicioniranje elementov. To nekako vam omogoča, da stvari zadnja milja, tako da, če, na primer, v Pset7, ste morda opazili, na vaš Stran portfolio, če ste na tej točki že, da je privzeta tabela, ki jo da pokazati uporabnika zalog kmetijskih gospodarstev in gotovina verjetno izgleda precej grd privzeto brez praznega prostora. Vse je nekako od gnetejo skupaj v vrsticah in stolpcih. [00:11:18] No, z nekaj CSS, kot ste lahko spoznali, lahko dejansko poteg, da je in da bo nekaj veliko bolj znana in še veliko lepša na pogled. Torej, CSS je približno stilizacijo spletnih strani. Potem pa smo uvedli še en jezik, PHP, ki nam omogoča, kaj storiti? [00:11:36] Poglejmo samo, kaj storiti? Kdorkoli. Dobil v nakupovanje izven prvih nekaj vrstic. Ja. [00:11:40] OBČINSTVO: Ustvari dinamično vsebino. DAVID J. Malan: Popolna. Ustvarjajo dinamično vsebino. In sicer lahko to storite v poljubno število jezikov. Se zgodi, da uporabljate PHP, ker je deloma zato, podoben C sintakso. [00:11:50] Ampak PHP počne točno to. To vam omogoča, da dinamično ustvari izhod. In nekaj te proizvodnje bi lahko HTML, kot smo ponavadi počel. In to je prav, ker je to programski jezik, je Mehanizem, preko katerega lahko govorimo z bazami podatkov. [00:12:03] In lahko naredimo poizvedbe drugih strežnikov, kot Yahoos in programsko storiti ničesar Res, da ste morda drugače želijo prisiliti računalnik storiti. Torej PHP nam omogoča začetek dinamično prikazovanje vsebin. Torej po tej logiki, nisem imel dinamične spletne strani leta 1998. [00:12:16] Bilo je samo statična spletna stran. Je imela moja vsebina spremeniti z ročno z gedit ali kak ekvivalent. Ampak PHP je tisto, kar smo vajeni, ali bi lahko bili uporabljeni, namesto, nekaj podobnega Spletna stran Frosh UI, ki naj bi bil sprejeti registracije in urejati seznam users-- stvari, ki dejansko preklop čas, čeprav se zgodi za uporabo Perl, drugačen jezik v času. [00:12:35] In potem na koncu, smo uvedli SQL-- Structured Query Language. Torej še en jezik ki se uporablja za kaj? Uporablja za kaj? Moremo trditi slight-- OK, ne bomo da bi dobili veliko dlje kot orkestra tukaj. OBČINSTVO: To je protokol uporablja za pogovor z bazami podatkov. DAVID J. Malan: protokol uporablja za pogovor z bazami podatkov. Dovolite mi, da poteg. To je naravni jezik govoriti databases-- izbere in vstavki in izbrisi in posodobitve, in dejansko celo več funkcij, ki nismo niti potapljal v vendar boste morda želeli, da imajo explore-- za iskanje, recimo, končni projekt. Tako da so ti različni deli. [00:13:09] In upajmo Pset7, čeprav njegova specifikacija je precej dolg, to je namerno dolgo, da sprehod s tem, kako lahko te stvari vse lahko tipkajo skupaj. Zdaj, v ponedeljek smo predstavil svojo zadnjo jezik da bomo uradno uvajajo v course-- da je JavaScript. Ta, kot so PHP, je razlaga jezik. [00:13:25] Toda ključna razlika Predlagal sem v ponedeljek je, da medtem PHP izvršiteljice ali mogoče razlagati na strežniku, ki v tem primeru je CS50 aparata, ali morda nekateri komercialni web strežnika na internetu, JavaScript splošno je jezik, ki teče odjemalsko Ne server side-- tako v brskalniku. Kar pomeni, tako kot takrat, ko sem odprl up Facebook izvorno kodo in našel vse teh js datoteke, je posledice da, ko obiščete Facebook ali najbolj spletne strani v teh dneh, boste dobili ne samo HTML, ne samo CSS, ampak cel kup JavaScript Koda pogosto v obliki js datotek. In potem je browser-- sami Mac ali PC--, ki izvaja to kodo. [00:14:03] Vendar vaš brskalnik usmrti. Si lahko zamislite v nekakšen peskovnik. Tako da koda JavaScript ne bi smelo biti lahko brisanje datotek na vašem računalniku. To ne bi smelo biti sposobni pošiljanje e-pošte v vašem imenu. Vaš brskalnik vrsta omejuje kaj lahko narediš z njim. [00:14:17] Torej, v tem smislu, da je malo manj močna, morda, kot C. Ampak JavaScript lahko, kot stran, je treba uporabiti na strežniku, čeprav bomo ponavadi ne govorimo o tem, da v tem kontekstu. Torej, zdaj pa si kravato ti skupaj. Teden plus nazaj, smo predstavili nekaj HTML na left-- super dolgočasen spletne strani. [00:14:34] Samo pozdravi svet. In potem sem predlagala Pravica se lahko nekako kradejo ideje iz naše razprave podatkovne strukture v C in razmišljati o tem, kako je to hierarhična označevalni jezik na levi strani mogoče pripraviti ali izvajati v spomin kot dejanske drevesne strukture z vozlišči in kazalci in tiste vrste informacij. Na desni strani, pravimo da je DOM-- dokument Nasprotuje Model-- ki je prav fancy način rekel drevo. [00:14:56] Zdaj, zakaj je to koristno pomislite, da na ta način? Ker zdaj z JavaScript, saj imamo kodo, ki bo igral v tem okolje, dejansko HTML, ki je bile poslane v brskalnik že in ima že bil naložen v pomnilnik z Brskalnik v drevo v vašem računalniku RAM, kot je ta, se lahko uporabljajo JavaScript dejansko prečkanje ali hoditi ali iskanje ali spremeniti DOM drevo pa želimo. Torej v bistvu, če mislite, da o facebook.com, če uporabljate funkcijo klepeta, če vas Uporaba Gmail in funkcija Gchat, karkoli, kjer imate Sporočila znova in znova prihajajo in spet, ta sporočila so verjetno, podobno, LI tag, Seznam Postavka oznake, morda. [00:15:35] Ali pa morda ti si samo Divs ki vodijo pojavljajo vsakič, ko boste dobili sporočilo. In tako, da pomeni le, kaj Facebook ali Google počne je vsak čas, boste dobili Sporočilo s strežnika, so verjetno uporabo JavaScript samo dodati drugo vozlišče to tree-- drugo vozlišče na to Drevo, ki nato vizualno samo izgleda kot novo vrstico besedila na zaslonu. Ampak oni vstavljanje v to strukturo podatkov. [00:15:57] Torej, v razrede, kot so CS124 in drugi, boste dejansko napisati več kodo proti podatkovne strukture, kot je ta. Vendar za zdaj v JavaScriptu, bomo samo prevzeti smo dobili vse te funkcionalnosti brezplačno od jezika samega. Torej, si oglejmo primer. [00:16:09] Dovolite mi, da odprejo datoteko z imenom form.html. To je zelo preprosta. Samo izgleda takole. [00:16:15] Ne CSS, ne misli, da estetiko. To je povsem funkcionalna in očitno sem prosi za e-pošto, geslo, spet geslo, nato pa pregled da se strinjajo z nekaterimi pogoji. Kaj Izvorna koda za ta Izgleda da je verjetno nekaj ste lahko uganiti z malo misli zdaj. Imam obrazec oznako tukaj. [00:16:32] Tožba se očitno dogaja, da iti v datoteki register.php. Metodo bom uporabila, je dobil. In potem imam besedila polje, čigar ime je email. [00:16:40] Imam polje za geslo čigar ime je geslo. Imam še en polje za geslo, katerega ime je nekoliko samovoljno potrditev. To je samo še en parameter HTTP. [00:16:49] In potem mi ne bomo delali doslej našteto razen saj Frosh UI demo v class-- potrditveno polje, ki je Samo tip je enak ček. In jaz bom poklical ta sporazum. Tako sem nekako samovoljno, ampak prikladno poimenovali teh področjih. Tako, da zdaj, ko je ta oblika dobi predložen, da vidimo, kaj se zgodi. Če naredim malan@harvard.edu, Jaz bom naredil geslo škrlat. Jaz bom naredil geslo nič. Naj ne sodelujejo. [00:17:10] In ne bom potrditveno polje. Dovolite mi, kliknite Registracija. In pravi, hm, ste se registrirali. Ni res. [00:17:16] Vendar URL spremenila. Tako da je bila ta oblika očitno dovoljeno predložiti register.php. Ampak verjetno, bi moral biti lovljenje nekatere od teh napak. Zdaj, v Pset7 in nekaterih naših predavanj primerov, mi bi na splošno natisnete Veliki rdeči sporočilo o napaki tukaj rekel, manjka ime, ali manjka geslo. Smo naredili, da pred in smo jih done server side odkrivanje napak. [00:17:37] Vendar je veliko spletnih strani v teh dneh storiti odjemalca odkrivanje napak stran kjer je URL ne spremeni. Celotna stran ne osveži. Boste dobili takojšnjo povratno informacijo iz brskalnika. Morda gre kaj rdeče. [00:17:48] Morda boste dobili pop up. Ampak ti ne zapravljajo časa pošiljanjem Podatki strežnik, ki je nepopolna. Torej, da vidimo, kako bi lahko doseganje te funkcije, kot dobro. [00:17:56] Naj grem na form1.html, ki izgleda enako. Ampak, če je ta čas počnem malan@harvard.edu in sem tip Crimson in da ne bodo še naprej sodelovali ampak kliknite Registracija, opazili zdaj. To ni najbolj seksi rešitev. Sem vsaj ujela to napako. In sem uporabil opozorilo Funkcija v JavaScript-- ki jih uporabljate le v razredu. Na splošno, ne smete uporabljati ta ker lahko zelo hitro ven nadzora. Vendar gesli se ne ujemata, je prišlo do napake. [00:18:19] Dovolite mi, da gredo naprej in kliknite V redu. Toda kaj je ključ takeaway tukaj je, da URL ni spremenila. Tako da sem ne moti zapravljanje Čas strežnika jo prosi Vprašanje, ki bi lahko imeli pogruntal odgovor zase. [00:18:30] In uporabnik, čeprav govoril o tem daljše od uporabnikov dogaja, da razmišljajo o tem, se dogaja, da imajo takojšen odziv. Ni latence z omrežna povezljivost. Tako da je pogled na te izvorne kode. [00:18:40] Form1.html videz strukturno podobne tukaj. Oblika je dejansko enaka. Ampak poglejmo, kaj sem naredil tukaj. In tam je različnih načinov za to. In sem naredil najbolj naravnost Trabant, vendar ne najbolj eleganten način, še ni. Imam script tag. Nato sem poklical document.getElementById ("registracija"). In shranjujem te vrednosti v obliki, spremenljivka. [00:19:04] Torej, kaj sem storila? Si lahko zamislite document.getElementById kot posebna funkcija, ki JavaScript vam daje da dobesedno roke si kazalec na enem od vozlišč ali pravokotnike v tem drevesu. Torej sedaj, da je tisto, kar naša oblika spremenljivka v JavaScriptu je pravzaprav obrnjena. [00:19:21] Torej, zdaj sintaksa je drugačna od C. Toda delamo nekaj stvari tukaj. Ena, ta je malo čudno videti, vsekakor proti C. Vendar pogled na linijo 35. Torej na levi form.onsubmit. Spomnimo se, da je onsubmit kot polje v struct. Če menite, da spremenljivke obrazca se le da, C struct, morda nekaj polj. [00:19:42] Nazaj na dan, smo imeli imena študentov, ID-ji, hiše, tiste vrste polj. Samo pomislite onsubmit kot drugem področju. Ampak to je posebno področje, saj brskalnik predprogramiramo pričakovati .onsubmit, da ne bo vrednost kot število ali niz, dejansko pa je funkcija ali naslov funkcijo v spomin računalnika. [00:20:02] In res, da je kaj ta ključna beseda tukaj ne. Ta pravi, da mi novo funkcijo. Toda kaj je njeno ime bo, očitno? [00:20:09] Razmišljate nazaj v ponedeljek. Kaj je ime tega Funkcija temelji na tem sintakso? Ne, mislim, da je jasno no name associated-- zagotovo ne v tisto, kar sem tukaj izpostavila. [00:20:21] Ampak to je dejansko OK. To je anonimna funkcija, ali lambda funkcije, kot morda nekateri ga imenujejo. In to samo pomeni, je še vedno funkcija. To je samo, ne moreš ga pokličete po imenu. Ampak to je v redu. Ker spet je bil brskalnik predprogramiramo podjetij, kot so Google ali Microsoft ali Mozilla ali drugi do samo vem, da če .onsubmit področju Notranjost ima obliko elementa vrednost, ga obravnavajo kot function-- funkcija kazalec, če hočete. In ga pokličem, ko se predloži obrazec. [00:20:46] Torej, kaj koda je treba izvršiti ko se predloži obrazec? Očitno vse notranjost kodrasti naramnicami. In to je samo slogovna. [00:20:53] Lahko je to všeč smo nagnjeni k storiti v CS50. Ampak v JavaScriptu, večina ljudi težijo k temu, da ostane na isti liniji samo zato, ker je bolj jasno je, povezana s to funkcijo za ključne besede. Torej, zdaj, kaj počnem? [00:21:03] Če form.email.value enaka enaka prazen niz ali nič, tukaj je alert, kam grem reči, si mora zagotoviti svoj e-poštni naslov, in se nato vrne false. In to je, da vrnitev false da preprečuje, da bi obrazec od vložitve. Medtem, če je vrednost geslo prazno, bom kričati na uporabnika in pravijo, morate podati geslo. [00:21:21] Medtem stvari postajajo malo Ljubitelj tukaj. Če form.password.value ne enako form.confirmation.value, Drugo področje, vpij uporabnika, gesla ne ujemata, saj ni pred nekaj trenutki. In potem je to ena je malo bolj seksi, ker I vem, konceptualno sem vedel, da preveriti je ime potrditveno polje je. [00:21:40] Tako da sem lahko samo uporabite vzklik točka povedati, če pregled ni checked-- je Boolean vrednost true ali false-- Jaz bom kričati na uporabnika iz tega razloga. V nasprotnem primeru, če bomo dobili s pomočjo vseh teh pogojev, naj samo vrne true. Naj se predloži obrazec. In to potem zgodilo. [00:21:56] Kaj je tip v Crimson. Naj potrditveno polje je, kliknite Registracija. In zdaj sem šel do cilja. Zdaj, ni baza podatkov obstaja. Nič ni zanimivo v register.php. Potreboval sem nekaj dejansko govoriti. Zato mi dovolite, premor, tukaj. Vsa vprašanja o tem, kaj smo pravkar naredili ali kaj nekaj te nove sintakse? OK, ja? [00:22:17] OBČINSTVO: Torej je vsako polje samodejno Boolean. Vam ni treba, da ga razglasi tako. [00:22:21] DAVID J. Malan: Pravilno. Katero koli polje, ki je prejmete od Oblika HTML kodo JavaScript bodo obravnavane, da, kot je Boolean value-- resnična ali neresnična. To je dobro vprašanje. Medtem ko so druge vrednosti, od Seveda so bile besedilo, AKA strune. [00:22:36] Vse je v redu, zato me pustite nadalje nazaj bit. Kaj je bistvo tega? Samo, da bo jasno. Tako kot že vemo, tudi iz Pset7 in celo predavanje prejšnji teden Primeri, ki jih lahko seveda preverite $ _GET $ _POST Videli, če nam uporabnik dati prazna vrednost. Zapomni si prazno funkcijo v PHP. [00:22:54] Torej, da bo jasno, kaj je en razlog, da bi lahko tudi želite storiti to preverjanje napak notranjost JavaScript? Kaj je motivacija tukaj? Ja. [00:23:06] OBČINSTVO: Hitreje, in ne boste pošlji neuporabne podatke na strežnik. DAVID J. Malan: Dobro. To je hitrejši. Ne pošljete neuporabna Podatki na strežniku. [00:23:12] Tako da boste dobili nazaj več takojšen odziv. In na splošno, uporabnik izkušnja je bolje. Razmišljati o alternativi. [00:23:17] Če za Gmail-- in je bil primer pred mnogimi leti. Recimo, da imaš nov email Gmaila računa, vendar je edini način preko videti, da je, kot, osvežite celo stran. Ali Recimo, da kliknete na povezava za branje e-pošte. [00:23:29] Vse, kar je, tako osvežite da si lahko ogledate na e-pošto. Ali Facebook-- dobiš sporočila klepetalnice. Ne boste videli, dokler ne osvežite stran ali kliknite neko povezavo. [00:23:36] Tako kot bi bilo to strašno nadležno uporabniška izkušnja. In to je tisto, kar je bilo všeč, jasno, nazaj, ko sem tekel za UC in web je precej manj dinamično in JavaScript ni bil tako popularen kot je sedaj. In stvari, ki so dobili veliko bolj dinamičen in še veliko več strani odjemalca v tem smislu. [00:23:49] Vendar pa obstaja ulov tukaj, in to je nekako siten Imam. Samo zato, ker ste dodali odjemalsko odkrivanje, kot je ta, ne pomeni, lahko ali bi morali opustiti Zaznavanje strani strežnika. Vi v bistvu želite, da vaš preverjanje napak na obeh mestih. Ker tisto, kar je bil eden lekcije naučil Iz članka sem prebral nekaj odlomkov od tega neumnega CMS system-- Content Management System--, da je bila izvajanje svojega sistema za preverjanje pristnosti, njegova prijava preko kakšnem mehanizmu? JavaScript. [00:24:20] OBČINSTVO: JavaScript. DAVID J. Malan: JavaScript, ravno, kajne? Je uporabo JavaScript je. In dobesedno, fantje imajo igral malo verjetno s inšpektorja Chrome. In če ga lahko najdem, preglejte element. [00:24:30] Naj grem več storiti vse možnosti Chrome. In to je, kako enostavno je, da onesposobiti JavaScript v brskalniku. Preverite, nič več za JavaScript. [00:24:38] Torej, v pravičnosti, lot na spletu v teh dneh je le, da bo prekinil, ker Gmail in druge sites-- Facebook-- domnevati, da JavaScript je omogočen. Ampak, če delaš nekaj neumnega kot samo potrjevanje uporabnikov vhod in preverjanje napake na strani odjemalca Nasprotnik lahko to preprosto storite. In potem še pametnejši Nasprotnik kot vaju Zdaj lahko uporabite Telnet ali Curl ali zapovedi samo ukazno vrstico in dejansko pošiljanje sporočil na strežniku da je podobno tudi niso brez napak preveriti. [00:25:05] Torej je to bolj Odločitev uporabniški vmesnik kot je dejanska tehnična improvement-- izvajanju nekaj strani odjemalca, kot je ta. Torej, zdaj bežen pogled, potem pa Bom nasloniti na spletni sprehod prek za to. V obliki dveh, smo dejansko šli skozi in očistiti šifra malo. Vendar naj odloži za eno video posnetkov, bomo verjetno embed v Pset8, da samo vam pokaže podobno sintakso uporabljajo knjižnico, imenovano jQuery, ki je super, super priljubljena knjižnica v JavaScript da odkrito večina ljudi samo uporabo teh dneh in celo zmesti kot bitje JavaScript sama. [00:25:37] In to kaže, da gre nekateri dolar znaki in ključne besede, kot dokument v oklepaju tukaj. Ampak še enkrat, mi prepusti nekaj počasneje vaje spletu namesto da se zvezal v samo sintakso. Pojdimo na nekaj malo hladnejše v smislu uporabe tega. [00:25:50] Torej, še zlasti, pusti me naprej in odprla to tukaj. Daj no. Tam gremo. [00:25:59] Dovolite mi, da odprejo to sliko tukaj. Nepotrebnem zapletena videti pa je, opisuje tehniko, imenovano AJAX-- Asinhroni JavaScript in XML, kjer X XML dejansko ni več res uporabili. To kaže, da uporabite nekaj drugje imenuje JSON. [00:26:13] Ampak tukaj je, kako nekaj podobnega Google Maps ali Google Earth deluje. Poskusimo to na letenje, pravzaprav. Dovolite mi, da gredo naprej in odprite up Chrome na mojem brskalniku. [00:26:21] In mi gredo v, pravijo, maps.google.com. In dejansko, če ste stari dovolj, da se spomnimo, kaj, podobno, kot je bilo MapQuest Nazaj na dan, in morda še vedno delujejo, kot je ta. Ko ste ga uporabili za iskanje something-- 33 Oxford Street, Cambridge, Mass, naredimo this-- vas bi dejansko, če vas želel pomikanje gor in dol, levo in desno, bi izgledal velika puščica na vrhu, in to bi vam pokazal drugo Okvir zemljevidu tukaj. Ali če bi kliknite levi in ​​vam bi šel tja, ali še en klik in bi šel tja. Toda namesto da bi ti dni, smo seveda samo samoumevno, da lahko gremo okoli Cambridge precej hitro samo s klikom in vlečenjem. Ampak obvestilo, da je nekaj glitches. [00:26:59] Če naredim to dovolj hitro, tisto, kar se zdi, da se dogaja kot sem povlecite malo prehitro za računalnik, da sledijo? Kaj vidiš? Ja. [00:27:07] OBČINSTVO: Za pik ne osvežijo. DAVID J. Malan: pik ne osvežijo. Tam je actually-- in vas to bi lahko videli, pravzaprav, Če gledate na spletu in premor to, ali dejansko upočasni stvari navzdol za once-- boste videli, da obstaja ploščice, kvadrate ali pravokotnike, ki manjkajo zemljevidu, dokler Delček sekunde kasneje, več podatkov, več slik dejansko pojavijo na zaslonu. In v resnici, če bomo to storili z iskanjem up Chrome's-- recimo, Chrome-- Pa poglejmo. Ne moremo storiti. [00:27:31] Oh, Ops. Odprimo up maps.google.com. Naj okno večji znova. [00:27:36] Pojdi nazaj na 33 Oxford Street. Kaj je bilo na spletni strani sem bil na v zadnjem času? Imel sem to, kot, zasebno rant na Sam, da sem potem neposredno sporočilo vsaka prijatelj, ki je bil na spletu ki so želeli slišati. Obstaja nekaj spletni strani. Mislim, da je tako Comcast-- zelo velik ameriški ISP. Lahko, če se prijavite za novega kabla modem storitev ali kabelsko TV storitev, imajo obliko zelo razumno če vas prosim za vaš naslov. In imajo to neverjetno Funkcija se imenuje auto popolne, kot so Google, da se začne, da izpolnite v odgovor na vaše vprašanje. [00:28:04] Problem je, da to počnejo samodejno COMPLETE od prvih stvari, ki jih vnesete. Torej, če ste začeli pisati v 33, vam bo pokazal, dobesedno vsaka hiša v Ameriki, ki se začne s številko 33 Pred nadaljevanjem pričakujejo, da vnesete več. Torej, če ste tip 33 Oxford, potem vam pokaže vse ulico v Ameriki, ki ima 33 Oxford njegovo ime, ne glede na mesto da ste v. [00:28:25] In potem boste še tipkati. In končno, da se zaveda, da ne Ponudba storitev na vašem domu v Cambridgeu ali nekaj takega. Ampak bistvo je, to je najbolj Nor izvajanje avto dokončati kdaj. [00:28:34] In jaz sem šele tekoč off na tej tangento znova. Vendar obstajajo dobri načini za uporabljajte JavaScript in slabe načine. In to še ni nujno najboljša. [00:28:40] Toda točka tukaj, preden ta Tirada, je bilo odprtje orodja tukaj in odpiranje orodja za razvijalce, kot smo že prej spodbujati, in gledati omrežje zavihek, ko sem kliknite zelo hitro. In opazili cel kup od dobili prijave zgodilo. Vse to se je zgodilo, odkar sem vlekel. [00:28:57] In kar je najbolj verjetno, da res Veliko teh vrstic Zdaj so slike poševnica JPEG Vrste MIME ali vrste vsebine. To je zato, ker tisto, kar chrome počne vsakič, ko sem kliknite in povlecite, kliknite in drag, je, da je tega zavedal, oh, I moram iti, da Google za ploščice na zemljevidu, ki je tukaj, Hitro jo prenesete prek HTTP, in jo nato dodamo k tako imenovani DOM na spletnih brskalnikih v spominsko drevo predstavitev tako, da uporabnik, me vidi, da je posodobljen ploščice. In to je zaradi tehniko, imenovano AJAX. Nazaj na dan, res je veljalo, da če vas želel spremeniti, kaj je na zaslonu, bi morali klikniti gor, dol, levo, prav. In potem bi se nova stran odpre. Ampak v teh dneh, vse je bolj dinamičen. To se zgodi na način, da bomo ljudje upam, da dejansko bi interaktivno. In to dosega tako, način tehniko, imenovano AJAX, ki je verjetno najbolj pojasniti s primerom. Najprej mi dovolite, da gredo naprej in odprli datoteko imenovano quote.php v današnja koda za distribucijo. [00:29:53] In potem mi dovolite narediti symbol-- Ops. Dovolite mi, da naredim simbol = GOOG za samo nekaj na zalogi. Ali pravzaprav, kaj je storiti, eden od Pset brezplačno. Enter. [00:30:05] In zdaj opazil kaj sem dobil nazaj. Tako da je to res Skratka PHP datoteke, ki sem zapisal, da je preprosto sposodi kodo od lookup funkcijo Pset7 je in izpljune uporabo te kodrasti naramnicami in quotes in debelega črevesa zapis, očitno, Cena trenutno stanje zalog za Podjetje, ki se boste peljali v preko get. Torej, to je drugačen z večino tega, kar smo jih storiti v tem obvestilu Jaz sem dobesedno izpljunil Izgleda kode JavaScript. [00:30:27] V bistvu, to je predmet JavaScript. Dejstvo je, samo da so bolj jasni, JavaScript Object Notation-- JSON-- je samo fancy način rekel, da vas lahko predstavljajo podatke v JavaScript veliko kot si lahko v PHP uporabo ključnih parov vrednosti. Torej, če sem hotel, naj ugotovi spremenljivka v JavaScript da predstavlja Zamyla, za instance-- je struct za Zamyla-- in jo bomo študent, ta spremenljivka. Njen ID je ena, hiša je Winthrop, in ime je Zamyla. [00:30:53] Ampak jaz lahko tudi vrsto predmetov. Torej, če sem dejansko želel imeti Niz v JavaScript, ki vsebujejo več takih predmetov, to čas, ki predstavljajo zaposlene, Jaz bi lahko te tri koščki kode nazaj nazaj nazaj za te trije bivši uslužbenci. Torej, sintaksa, lepa podobno both-- za PHP. Toda to je še posebej JavaScript. To je predmet zapis. Torej, kaj je to koristno za? [00:31:17] Če sem napisal kodo, ki izpljune JSON-- JavaScript Object Notation-- stvari, ki Izgleda da je to, ali stvari, ki Izgleda strukture Zamyla je, Jaz lahko dejansko uporablja to v programih pišem. Naj grem na ajax0.html. In to too-- ni veliko razmisliti o estetiki. Ampak pazi, kaj se dogaja. [00:31:34] Dovolite mi, da gredo naprej in tukaj vnesite brezplačno. Kliknite dobili ponudbo. In opazili URL ni spremenila. Vendar sem dobil pop up z navidezno današnja peni cena delnic 0,15 $. Torej ni vse tako slabo. Ampak razlika je, da nekako, ta podatek je prišel nazaj k meni neposredno. Ampak kaj je narediti korak v smeri nekaj bolj seznanjeni. V različici eni od tega, kaj me tip proste znova kliknite Get citat, in now-- oh, to je bilo pravzaprav različica jQuery. Torej me-- nisem hitro naprej povsem dovolj daleč. Naj grem na različico dve, ki je, če sem hotel. Opazili, kaj sem naredil tukaj. Imam spletno page-- super preprosta različica koli spletni strani morda danes uporabljate z besedilno polje tukaj brezplačno in potem očitno samo besedilo. [00:32:14] To ni oblika tod očitno. Ampak, če sem kliknite dobili quote, opazili mojo spletno stran Gre za spremembo, kot da I Pravkar sem dobil novo sporočilo ali kot da sem se preselil map in potrebno, da bi dobili več podatkov Dodana dinamično spletno stran brez URL spreminja in uporabnika izkušnje dobili prekine. Pravzaprav sem še vedno na Točno isto place-- ajax2.html. [00:32:35] Torej, kaj je samo pogled na ta primer in videli, kako se to dogaja. Dovolite mi, da gredo v ajax2.html. In prvič opazili obrazec. [00:32:44] Dol, sem obračanja off auto popolna. Včasih postane nadležno, če brskalnik poskuša pokazati, tvoje zgodovine. Tako da lahko to storite v HTML, ki jih samo rekel auto dokončanje off. [00:32:53] Sem dal to polje za besedilo symbol-- namesto, ID simbola. In zdaj, da je to zanimivo lastnost. Nismo govorili o obdobju, lahko pa pomislite kot odstavek oznako ali div tag. To je tisto, kar se imenuje linijsko element, ki pomeni, da ne boste dobili točko prekinil nad in pod njo. To je le, da bo ostal v liniji, ne da bi hitting enakovredno vstopiti. Zato sem dal ta kos HTML ki se določi z edinstveno oznako, da sem samovoljno imenuje cena. In imam Oddajte gumb. [00:33:21] Ker zdaj up here-- in to je dejansko super neverjetno, kako malo koda lahko pišete storiti relativno gladka things-- opazili, kaj sem naredil tukaj, če I pomaknite navzgor v glavo te strani. Prvi sem vključen moja glava script tag da dejansko reference JavaScript datoteko drugje. To je od organizacije da piše jQuery, in to je samo vam daje najnovejše različica njihove knjižnice jQuery. [00:33:42] Torej, to je nekako kot oster vključujejo v C ali zahtevajo v PHP. Uporabljate script tag z izvorno atribut. Zdaj pa moja koda bo prav tukaj. [00:33:52] Opazili imam funkcijo imenovano Quotes. In izgleda malo Grobni na prvi pogled. Ampak kaj je to draži narazen. Daj mi spremenljivo imenuje URL. Dodelite dobesedno tega niza. Torej, apostrof, dvojni narekovaji v JavaScript me samo daje niz. Kaj plus storiti? Zveza. [00:34:08] Torej, to je zdaj jQuery sintaksa ki traja malo uporabljajo za pridobivanje. Ampak to samo pomeni, pojdi mi DOM vozlišče, katerega enotni identifikator, je simbol. Hashtag pa pomeni, edinstven simbol identifikator. [00:34:21] Znak za dolar v oklepaju pomeni samo, zaviti to v jQuery nekakšna skrivnost omako tako boste dobili dodatne funkcionalnosti. In potem .val očitno funkcija ali kot pravimo danes, Postopek v notranjosti tega vozlišča da samo vam daje vrednost. Torej, na kratko, grdi in zmedeno kot to izgleda na prvi pogled, To samo pomeni, priti z Vtipkali v, tako da na koncu niza z njenim concatenating. To je vse. [00:34:43] Torej, zdaj, zadnje tri vrstice. Lahko stisnite veliko funkcionalnost od treh črt. Ta znak za dolar, kot je stran, je samo vzdevek za posebno globalno spremenljivko imenovano dobesedno jQuery. [00:34:55] Znak za dolar samo videti kul. Torej jQuery skupnost le nekako , da se uporablja kot svojega posebnega simbola. To ne pomeni, kaj to pomeni v PHP. V JavaScriptu, znak za dolar je tako kot črko abecede ali število spremenljivk. [00:35:07] Lahko samo še kot ime. Samo videti kul. Torej skupnosti ga je sprejela kot vzdevek za svojo lastno knjižnico, imenovano jQuery. [00:35:13] In to je super priljubljena. Torej, dobili JSON je točno to. To je funkcija, ki Ljudje na jQuery napisal da dobi JSON iz server-- JavaScript Object Notation. Od kar URL se dogaja da bi dobili te informacije? Očitno iz tega URL tukaj. [00:35:27] In kaj bi morala storiti, saj brskalnik Takoj ko pride nazaj ta odgovor? In to je čarovnija AJAX, tako da speak-- Asinhroni JavaScript v XML. Težko je videti s tako Preprost primer, kot smo imeli tukaj. [00:35:41] Toda to je bila asinhrona v Občutek, da je moja številka, če izvrši poslal sporočilo strežnik pojdi mi nekaj JSON. In to se je zgodilo zelo hitro da sem dobil odgovor. Ampak kaj je zanimivo je, da je to vrstica kode ni obesil svoj računalnik. [00:35:55] Nisem videl ikono predenje. Nisem izgubil Sposobnost, da se premaknete svojo miško. Moje brskalnik je dejansko popolnoma v redu. [00:36:01] Ker način Javascript ročaji Odgovor iz strežnika je, kot sledi. Se registrirate, kaj bi rekli funkcija za povratni klic, ki pomeni samo, hej, JavaScript. Kakor hitro strežnika odgovarja z JSON, pokličite to anonimno funkcijo. [00:36:18] In prosim opravili v tej funkciji karkoli niz server izpljunite kot argument imenovane podatke. Torej, z drugimi besedami, če Jaz dinamično sestavljanje URL quote.php gre pri tem simbol, kot na primer brezplačno ali GOOG ali malenkosti, Jaz sem takrat povedal, JavaScript pojdi ta URL. Ne pozabite, da brskalnik se bo vrnil nekaj ki izgleda, kot smo videli earlier-- to. [00:36:42] In kaj drugi argument tukaj, da bi dobili JSON je rekel je klic te funkcije ko strežnik vrne ali je 10 milisekund Od zdaj ali 10 sekund od zdaj. In takoj, ko boste to storili, dodaj ceno na stran. Ta sintaksa tukaj samo pomeni pojdi vozlišče od drevesa, katerih enotni identifikator je price-- tem obdobju smo videli prej. [00:37:01] Ta metoda se imenuje HTML Samo pravi, pojdi zamenjati HTML, ki je tam s data.price. Kaj je data.price? No, brskalnik, se spomni, je pokazala, me to vrača. Torej, to je podatek. [00:37:14] In zato je malo nejasen videti vejice tukaj. Toda v resnici, naj to storijo. Naj samo prilepite resnično hitro v gedit in pokazati to, kot smo pokazali, Struktura Zamyla je prej. [00:37:27] Kaj je strežnik pošlje nazaj je mali objekt, ki izgleda takole. In tako je data.price Pravkar mi dali 0,1515. Torej veliko gibljejo deli tu naenkrat. [00:37:39] Toda ključni takeaways je da imamo to sposobnost da bi dodatno HTTP zahteva uporabo JavaScript ne da bi ponovno naložite stran. In potem bomo lahko dejansko spremeniti spletno stran na letenje. In se izkaže, da JavaScript in drugi jeziki Lahko se uporablja sedaj, ne samo mutirajo spletnih strani ampak dejansko napisati programsko opremo v dejanskem računalniku, ne bodo omejene le na Chrome ali podobno. [00:38:00] V resnici, if-- Colton, bi vas nam radi pridružili sem gor s svojim Lab kodo in Chang, kot tudi? Pojdimo naprej, ko je govoril o anonimni funkcije in callbacks in res nagnili usodo tukaj z live demo z krvavitev rob tehnologija, eden te naprave Elite Motion. Zdaj, ta naprava, odpoklic, je malo USB naprave kot tudi that-- to beautiful-- ki čepi v vaš vrat USB. [00:38:25] In potem je prispeval v obliki človeških kretnje z odkrivanjem z uporabo infrardečih žarkov, v bistvu, premiki iz roko. Torej, ker je tisto, kar Maria potrudil o je bila pred muscular, dejansko občutek, kaj se spreminja tvoja roka, to je infrardeči osnovi. Tako da je videti za premike znotraj nekako sfero peš ali tako same naprave. [00:38:46] Torej, zakaj ne vzamem stab na to prva? In pojdimo naprej in metati Ste pripravljeni na režijske tukaj. Torej, kaj je dal Colton je laptop tukaj. Imava Andrewa na televizorju. In kaj bi radi od mene prvi? [00:39:00] COLTON: Pojdi naprej in le Roke nad tem tipom in boste videli nekaj čudovito bleščice. [00:39:04] DAVID J. Malan: Zelo lepo. To se vse dogaja v realnem času. OK. Vse je v redu, in ja. Tako lepo. Vse je v redu, kaj še lahko storimo? [00:39:15] COLTON: Pojdite na naslednjem zaslonu in videli. [00:39:17] DAVID J. Malan: Dobro. [00:39:19] COLTON: zabavno igrico , kjer boste dobili, da bi roboti. [00:39:21] DAVID J. Malan: Ok, tako da je to je ponaredek roke mi je, ki kažejo, kaj naj naredim. COLTON: Da Torej gredo naprej in zgrabi enega od blokov in ga postavi na vrh organa te robota. DAVID J. Malan: Oh, tam je moja roka. Oh. OK, čudovit. Čakaj malo, OK. Tam gremo. [00:39:41] COLTON: Naredil sem eno na nesreče. [00:39:43] DAVID J. Malan: OK, bom dobil tega tipa. Prekleto! Ko smo bili vadil ta zadnji noč, veš, kaj je to prenesena v? [00:39:51] Kot je ta. OK. Naslednjič? [00:39:55] COLTON: Seveda. [00:39:56] DAVID J. Malan: Dobro, in tam je tretji. Vse je v redu. COLTON: In v tem enem, boste dobili to-- DAVID J. Malan: Oh, ta je lepa. COLTON: --yeah, pick narazen ta cvet. DAVID J. Malan: OK. Ne? Zamudil. [00:40:14] COLTON: Oh, tam greš. [00:40:15] DAVID J. Malan: Ah, poglej to. Zelo lepo. No, zakaj dont 'vzamemo iz enega prostovoljca tukaj ki bi radi, da pridejo gor. Kaj pa tam v zeleno, kajne? [00:40:27] Vse je v redu, in kaj je have-- namesto da delaš, da nekateri od vas Morda veš to igro here-- cut vrv, morda? Poglejmo. Mi imamo očala tukaj? [00:40:37] OK. Hvala. Kako ti je ime? [00:40:39] OBČINSTVO: Laura. [00:40:40] DAVID J. Malan: Laura? Lepo je videti. Če vas ne moti dajanje Google Glass čez očal. To je Colton. [00:40:46] COLTON: Hi. Lepo, da sem vas spoznal. [00:40:48] DAVID J. Malan: OK, pridi okoli. Vse je v redu, kaj boš tukaj storiti, da bi si to prej igral, je dal roko nad Leap Predlog tukaj. In zdaj bi bilo vaše arrow premakniti. Oh, nope. [00:40:57] OBČINSTVO: No. [00:40:58] DAVID J. Malan: Mi Ne želim, da še ni nehal. OK, počakaj. Tukaj. Torej, kot ste opazili, držite prst nad nečim, Miška se začne, da gredo zelene, ki je, kako boste kliknili. [00:41:06] Torej hover nad Predvajaj. In samo en prst, je v redu. In zdaj, kliknite na malo zelena fant na levi strani. In zdaj ga držite, dokler se napolni zeleno. Dobro. Zdaj, kot so, na ravni enega do vrha. [00:41:16] OBČINSTVO: Ja, želimo nivo ena, tukaj. [00:41:20] DAVID J. Malan: Dobro. OK, tako da vse, kar morate storiti, je prestregla vrv. Kazalec je belo tam doli. [00:41:28] Zelo lepo. V redu, to je približno priti težje. Tako da držite prst v naslednjem zdaj. Dobro. Ta je težko. [00:41:39] OBČINSTVO: Oh sranje. OK. Želi iti v tisto smer. Oh sranje, that-- [00:41:44] DAVID J. Malan: Ja. Sekundarni cilj je, da bi dobili vse zvezde. Vse je v redu, naslednji. [00:41:53] Bomo videli, če lahko dobite to tretjo. Dobro. OK, pojdi tja. [00:42:06] Prepričan. Oh, zelo lepo. Vse je v redu. [00:42:11] Torej, zakaj ne bomo preložitvi danes tukaj? Naj kdo prišel gor, ki želi igrati. Najlepša hvala za Lauro naš prostovoljec. In vas bomo videli v ponedeljek. [00:42:18] OBČINSTVO: Verjetno želite to nazaj. [00:42:21] SPEAKER 2: Na naslednjem CS50--