David J. MALAN: Alle reg, so dit is hier die Myo arm
band, 'n paar van wat ons vir CS50 finale projekte.
En dit was 'n demonstrasie ons tougestaan julle vooruit waar wese
hierdie redelik stywe arm band, hier luister na jou gespierde bewegings
wat dan gekarteer in sagteware te Colton se laptop hier wat
moes iTunes en dat lied reeds tougestaan ​​het.
Eerder as om my demoing hierdie, Colton was in die laboratorium
duidelik al die hele week om 'n demonstrasie gereed vir een dapper vrywilligers.
As iemand wil kom op up-- sien jou hand eerste.
Kom op.
>> Alle regte.
En wat is jou naam?
>> Publiek: Uh, Maria.
>> David J. Malan Maria, lekker om jou te sien.
Kom hier.
Kom ek stel jou aan Colton.
Colton, dit is Maria.
>> COLTON: Hi, lekker om jou te ontmoet.
>> David J. Malan Alle reg, so stap een, ons is
gaan hê jy hierdie op jou voorarm
sodat dit is redelik stywe tot naby jou elmboog.
En intussen, laat ons ' sit op ons Google Glass
en ons sal meng tegnologie van vandag.
>> COLTON: Eerste ons sal moet haak dit in die dinge.
>> David J. Malan OK.
Eintlik, laat ons sit jou arm as naby aan hierdie kabel as moontlik
sodat ons kan eerste sinchroniseer dit.
>> COLTON: Kom ons doen dit.
>> David J. Malan En intussen, so dat almal kan 'n nader blik kry,
ons sal Andrew se kamera gooi op die skerm is daar.
So het ons 'n USB-kabel wat word ingeprop in Maria se armband.
En laat my gooi Colton se skerm op die projektor volgende.
>> So Colton is die registrasie van die toestel Nou as 'n Myo gekoppel aan hierdie kabel.
En nou wat Maria se gaan vir 'n oomblik doen
is eintlik loop deur die kalibrasie stappe
en leer om die sagteware hoe haar spiere reageer
toe sy maak sekere pre-gedefinieerde beduie dat die sagteware verstaan.
As jy wil om te gaan in voorkant van die skerm.
OK, probeer hou.
>> COLTON: Gaan soos hierdie.
En soos dit.
En al die pad na regs.
Gaan terug.
>> David J. Malan OK.
Ander perspektief.
Dit is nie jy nie.
Dit is vir ons.
>> MARIA: OK.
David J. Malan No.
Kom ons beweeg dit hoër op sodat dit nader aan jou elmboog, of selfs strenger.
Alle regte.
>> Hier gaan ons.
Dit sou 'n goeie tyd vir CS52X wees.
Daar gaan ons.
>> Baie mooi.
OK.
Duim te Pinky.
>> Baie mooi.
Smeer jou vingers.
Goed.
Waai reg.
Dit is vreemd toon jy met die linker hand--
>> COLTON: Ja, dit is vreemd.
David J. Malan Wave te die regte en vorentoe beweeg.
Vinnig vorentoe te slaan of die volgende.
Dit is OK Wave reg.
>> MARIA: Ek don't-- wag.
>> David J. Malan hulp nodig?
>> COLTON: So jy gaan soos hierdie.
MARIA: Dit is die draai van die ander ding, al is.
COLTON: Dit is.
David J. Malan Ja ek weet nie Hoekom is dit wys jou 'n leftie.
COLTON: Hoekom dink jy try-- nie net probeer om te gaan soos hierdie.
>> David J. MALAN: Nee?
Miskien bereik jou arm 'n bietjie reguit
en maak dit meer skielike soos hierdie.
Ja, OK, kom op.
>> MARIA: Ek is jammer.
David J. Malan Dit is nie jou skuld nie.
COLTON: Dit is goed.
David J. Malan alles reg.
Well--
>> MARIA: Moet ons slaan, dan?
David J. Malan Ja, laat laat uit die haak.
So as iemand wil graag 'n om te doen finale projek met behulp van hierdie voorpunt
hardeware, besef dat dit dalk net neem 'n bietjie gewoond raak aan.
En this-- die realiteit is dit is eintlik baie bloeding rand.
>> Dit is wat genoem die ontwikkelaar stel, wat
bedoel in wese 'n pre-release te wees sodat mense presies kan doen
this-- veg met dit, figuur hoe mense se liggame werk
met die tegnologie.
So as jy wil hê daarna, nadat lesing
ons kan laat kom en neem 'n ander steek op dit.
Maar anders, 'n ronde van die applous, indien ons kan, vir Maria vir kom op op.
>> MARIA: Dankie.
>> David J. Malan Dankie.
Ons sal hang aan hierdie, maar ons sal gee you-- hoe om 'n stress bal hier?
O, and-- if-- ja, dankie.
Alle regte.
So vir die vreemde, as jy onbekend is met die goeie keuse
dat ons daar gemaak Vroeër, 'n wonderlike TV
wys dat jy moet absoluut wees drank-kyk op Netflix
is hierdie een hier.
>> Spreker 1: Dames en here, 'n towenaar met die naam Josh.
>> David J. Malan En glo, is dit 'n ding vir my na die teks tydens lesing nou.
Ek word vertel dat Maria het gister 'n verjaarsdag.
So gelukkig verjaardag van CS50 Maria as well.
>> So kan jy in die afgelope maand gelees het dat hierdie here hier, Steve
Ballmer, wat eintlik klas van 1977 by die kollege,
onlangs afgetrede vir Microsoft.
Hy was 'n voorgraadse hier dan 'n paar jaar later
bevind homself op Stanford Business School
toe hy 'n selfoon oproep van 'n vriend van hom wat
geleef het in die gang af van hom hier by Harvard.
Daardie vriend se naam was Bill Gates, en in die tyd,
Hy het probeer om Steve te werf om die eerste besigheid persoon, werklik,
op 'n klein maatskappy noem Microsoft.
>> 'N lang storie kort, Steve was uiteindelik gewen,
by Microsoft wanneer hulle moes net 30 werknemers.
En teen die tyd dat hy afgetrede redelik onlangs,
die maatskappy het 100,000 werknemers oor die afgelope paar jaar.
En so 'n webwerf bekend as die rand bereid is om hierdie huldeblyk op video
dat ons gedink ons ​​wil gedeel dat jy gee
'n gevoel van net hoeveel energie Steve bring aan enige aanbieding hy gee.
[Video speel]
-Microsoft Is soos 'n vierde kind.
Kinders doen die huis verlaat.
In hierdie geval, dink ek Ek verlaat die huis.
Hey Bill, whazzap?
>> -Wazzap?
>> Hey, wazzap?
Ons het al 'n gegewe enorme geleentheid.
En Bill het ons daardie geleentheid.
Ek wil Bill te bedank.
Ek wil hê jy moet ook.
Die tempo van innovering gaan nie te stadig.
>> Dit gaan vinniger en vinniger kry.
Daar is dalk 'n paar mededingers wat ongelukkig uitgeskakel!
>> Ek hou van hierdie maatskappy.
Ja!
Ek is 'n rekenaar, en ek is mal oor hierdie maatskappy!
>> Ontwikkelaars, ontwikkelaars, ontwikkelaars, ontwikkelaars, ontwikkelaars, ontwikkelaars,
ontwikkelaars, ontwikkelaars.
Ja!
Web ontwikkelaars!
>> Web ontwikkelaars!
Web ontwikkelaars!
Luister na wat jy nog kry teen geen ekstra koste!
>> Die MS-DOS uitvoerende gesag, 'n afspraak kalender, 'n kaart paal, 'n nota boekie,
'n horlosie, 'n control panel.
En, kan jy dit glo?
Reversion!
>> Brand na 'n CD!
Na hulle te MSN!
Jy pos dit aan vriende!
>> Almal met een kliek!
Een Microsoft, een strategie, een team-- gefokus, gedissiplineerd, professionele,
en kundige in alles wat ons doen.
Laat my gebruik om 'n lyn van 'n ou film.
>> Verhoudings is soos haaie.
Hulle beweeg vorentoe of hulle sterf.
Ek dink eintlik tegnologie maatskappye is dieselfde.
>> [Einde video speel]
David J. Malan So ons is so bly om te kondig dat Steve by ons gaan aansluit
hier in CS50 volgende Woensdag by die gewone plek en tyd hier.
Ruimte sal waarskynlik beperk.
En so ons aan te sluit in die persoon, asseblief kop vandag of kort daarna
te cs50.harvard.edu/register.
>> En ons sal volg deur Dinsdag bevestig kolle.
Sien uit na die volgende Woensdag tydens lesing in CS50.
Nou, in ander nuus, ek toevallig kom oor dit in die rooi net
die ander dag.
>> Dit blyk dat een van CS50 se personeel en ten minste een van CS50 se studente
word tans vir UC president en vise-president,
wat my teruggebring om my eie dae terug
toe ek verloor die UC verkiesing erg.
Maar die silwer randjie in wat ek altyd
vertel die verhaal is dat een van die Ek is seker
baie redes wat ek verloor die verkiesing was 'n totale gebrek aan
'n talent vir openbare redevoering.
En so eerlik te wees, dit gery het my, dat die ervaring
Ek dink my junior jaar, om werklik te teken vir Harvard Computer Society, wat
is die groep op die kampus wat hou verskeie tegniese gesprekke
en ander dinge.
En ek het oor hul onderrig seminare en dus
het 'n geleentheid, 'n wonderlike geleentheid,
om te begin werk op presies hierdie.
Maar ook, ek het 'n geleentheid om tydens hierdie ervaring
om myself te leer al hoe meer HTML.
En so het ek gisteraand procrastinated deur soek deur die HTML gebaseerde webwerf
Ek het in soos 1997, '98, vir my veldtog wat lyk soos hierdie hier.
Ek weet nie.
>> Because-- en natuurlik, kennisgewing hierdie wonderlike ontwerp besluit in 1998
of iets anders.
Die eerste ding wat jy wil hê dat gebruikers om te doen by die besoek van jou webwerf
is om 'n ander skakel na kliek jou webwerf hier gaan met die monnik
agter soos 'n gehul gordyn waar glo my veldtog platform was.
En dit is al wat jy kry vandag is net 'n kiekie.
Maar ek lees deur, soos, my veldtog plakkate gisteraand
en my platform.
>> En Ek was so kwaad by die tyd.
My platform was-- dit was interessant.
So ek het bedaar sedert dan.
Maar eendag, sal ek weer hardloop en hopelik beter af hierdie tyd.
>> So HTML, dat die taal waarin ek gemaak dat in-- jy sal gou baie more-- maak
is iets wat ons het al praat van die laat
en grootliks die neem vir nou toegestaan dat ons het verhuis na ander tale.
Maar laat ons breek vir 'n oomblik en sit 'n paar van hierdie dinge in konteks.
So in 'n sin, wat HTML?
>> Of, wat gebruik word vir?
Iemand?
Ja.
>> Publiek: Markup vir webblaaie.
David J. Malan Markup vir die webwerf.
So dit is 'n opmaak taal wat kan jy 'n webblad struktuur.
Kop gaan hier, titel gaan hier, liggaam gaan hier.
Dit is vetgedruk, dit is italics-- dat die soort van detail.
>> OK, goed.
So CSS laat you-- en ek het 'n paar vryhede daar
met die vet-gesig staar en kursief omdat dit is beter geïmplementeer met hierdie.
CSS is-- wat?
Sê in 'n sin.
Enigiemand nie.
Ja.
>> Publiek: Embellishments en dinge, soos hoe om dit te ontwerp.
David J. Malan OK, goed.
Versierings wat u toelaat om om dit te ontwerp of stileer dit
met dinge soos vetdruk en kursief en kleure en ook fyn
grein plasing van elemente.
Dit kan soort van dinge wat jy die neem laaste myl sodat as, byvoorbeeld,
in Pset7, kan jy opgemerk het op jou portefeulje bladsy as jy op hierdie punt
reeds dat 'n standaard tabel wat jy maak die gebruiker se voorraad Holdings te wys
en kontant waarskynlik lyk mooi afskuwelike by verstek met geen wit ruimte.
Alles soort vol saam in rye en kolomme.
>> Wel, met 'n bietjie CSS, as jy dalk besef,
jy kan eintlik aanpas dat en maak dit iets baie meer bekende en veel
mooier om na te kyk.
So CSS is oor die stilering van webtuistes.
Maar dan moet ons ingestel nog 'n taal, PHP, wat kan ons doen wat?
>> Laat ons net doen wat?
Iemand.
Het om buite te waag die eerste paar rye.
Ja.
>> Publiek: Genereer dinamiese inhoud.
David J. Malan Perfect.
Genereer dinamiese inhoud.
En jy kan dit doen in enige aantal tale.
Ons gebeur PHP te gebruik, want dit is gedeeltelik so soortgelyk aan C sintaksis.
>> Maar PHP doen presies dit.
Dit kan jy uitset dinamiese genereer.
En sommige van die uitset kan wees HTML, soos ons gewoonlik doen.
En dit is ook, want dit is 'n programmeertaal, is
die meganisme waardeur ons kan praat tot databasisse.
>> En ons kan navrae te maak ander bedieners soos yahoo's
en programmaties enigiets doen regtig dat jy dalk anders
wil 'n rekenaar te dwing om te doen.
So PHP kan ons begin dinamiese uitdruk inhoud.
So deur hierdie logika, het ek nie ' 'n dinamiese webwerf terug in 1998.
>> Dit was net 'n statiese web bladsy.
My inhoud moes verander word deur hand met gedit of 'n ekwivalent.
Maar PHP is wat ons gebruik, of kon gebruik het, eerder,
vir iets soos die Frosh kitsboodskappe webwerf, wat
was veronderstel om registrasies te neem en bestuur van 'n lys van dinge wat users--
eintlik verander oor tyd, selfs al is ons gebeur
Perl, 'n ander te gebruik taal op die oomblik.
>> En dan laastens, het ons ' SQL-- Structured Query Language.
So nog 'n ander taal dit is wat gebruik word vir wat?
Gebruik word vir wat?
Kan ons slight-- waag OK, ons gaan nie
veel verder te kry as die orkes hier.
Publiek: Dit is 'n protokol gebruik om te praat met databasisse.
David J. Malan 'n protokol gebruik om te praat met databasisse.
Laat my aanpas.
Dit is 'n natuurlike taal gebruik om te praat met databases-- kies
en insetsels en verwyder en updates en eintlik
selfs meer funksies wat Ons het nog nie geduik
in, maar jy kan wil om te explore-- het te verken, sê, 'n finale projek.
So is daar die verskillende stukke.
>> En hopelik Pset7, selfs al sy spesifikasie is baie lank,
dit is doelbewus lank jy loop deur hoe hierdie dinge kan al
saam getik.
Nou, op Maandag, ons bekendgestel ons laaste taal
dat ons formeel sal stel in die course-- dit is, JavaScript.
Dit, soos PHP, is 'n geïnterpreteer taal.
>> Maar 'n belangrike onderskeid Ek het voorgestel op Maandag
is dat terwyl PHP is die uitvoering of as dit vertaal word op die bediener, wat
In hierdie geval is die CS50 toestel, of dalk 'n paar kommersiële web
bediener op die internet, JavaScript algemeen
is 'n taal wat loop kliënt kant nie bediener side-- so in die leser.
Wat om te sê nie, net soos wanneer ek oopgemaak up Facebook bron-kode en vind al
van daardie Js lêers, die implikasie was dat wanneer jy besoek Facebook of die meeste
webtuistes hierdie dae, jy nie net HTML, nie net CSS,
maar 'n hele klomp van die JavaScript kode dikwels in die vorm van js-lêers.
En dan is dit die browser-- jou eie Mac of PC-- dat voer wat die kode.
>> Maar jou leser voer nie.
Jy kan dink in soort van 'n sandbox.
Sodat JavaScript-kode moet wees nie om lêers op jou rekenaar te verwyder.
Dit moet nie in staat wees om stuur e-pos namens jou.
Jou leser soort Restricties wat jy kan doen met dit.
>> So in daardie sin, is dit 'n bietjie minder kragtige, miskien, as C.
Maar JavaScript kan, as 'n eenkant, op die bediener gebruik word,
al ons sal geneig om nie te praat oor dit in daardie konteks.
So nou laat bind dit saam.
'N week plus gelede het ons aangebied sommige HTML op die left-- super vervelig webblad.
>> Net sê hallo wêreld.
En dan voorgestel ek op die reg kan ons soort van idees steel
van ons bespreking van data strukture in C
en dink oor hoe hierdie hiërargiese opmaak taal aan die linkerkant
kan gemaak word of in die geheue geïmplementeer as 'n werklike boom struktuur met knope
en wysers en daardie soorte van besonderhede.
Aan die regterkant, ons noem dat 'n DOM-- Document
Beswaar Model-- wat net 'n fancy manier om te sê boom.
>> Nou, hoekom is dit nuttig om te dink dit op hierdie manier?
Want nou met JavaScript, want ons het
kode wat kry om te speel in hierdie omgewing, die werklike HTML dis
aan die leser gestuur reeds en het reeds
is in die geheue gelaai word deur die leser in 'n boom in jou rekenaar se
RAM soos hierdie, kan ons gebruik JavaScript om werklik deurkruis of loop of soek
of verander wat DOM boom egter ons wil hê.
So in werklikheid, as jy dink oor facebook.com,
as jy gebruik die chat funksie, as jy gebruik Gmail en die Gchat funksie,
iets waar jy boodskappe weer en weer kom
en weer, die boodskappe is waarskynlik, soos, LI tag, Lys punt etikette, miskien.
>> Of miskien is hulle net divs wat hou verskyn
elke keer as jy 'n direkte boodskap.
En sodat net beteken wat Facebook of Google doen
word enige tyd wat jy kry 'n boodskap van die bediener,
hulle is waarskynlik met JavaScript om net 'n ander node
hierdie tree-- ander rekenaars op hierdie boom wat dan visueel net lyk
soos 'n nuwe lyn van teks op die skerm.
Maar dit is te voeg in hierdie data struktuur.
>> So in klasse soos CS124 en ander, sal jy
eintlik meer kode teen skryf data strukture soos hierdie.
Maar vir nou in JavaScript, ons sal net aanvaar
Ons kry al hierdie funksie vir vry van die taal self.
So laat ons kyk na 'n voorbeeld.
>> Laat my oop 'n lêer genaamd form.html.
Dit is super maklik.
Dit lyk net soos hierdie.
>> Geen CSS, sonder om te dink aan die estetiese.
Dit is suiwer funksionele en glo ek
vra vir 'n e-pos, 'n wagwoord, wagwoord weer, en dan 'n tjek
in te stem tot 'n paar terme en voorwaardes.
Wat die bron-kode vir hierdie lyk is waarskynlik iets
jy kan raai met 'n bietjie van denke nou.
Ek het 'n vorm tag hier.
>> 'N aksie is blykbaar gaan gaan na 'n lêer genaamd register.php.
Die metode wat ek gaan gebruik, is te kry.
En dan het ek het 'n teks gebied wie se naam is e-pos.
>> Ek het 'n wagwoord in die veld wie se naam is wagwoord.
Ek het 'n ander wagwoord veld wie se naam
is ietwat arbitrêr bevestiging.
Dit is net nog 'n HTTP parameter.
>> En dan het ons ons nie gebruik word om hierdie, behalwe sedert die Frosh kitsboodskappe demo in class--
'n boks wat tik net gelyk tjek.
En ek sal daardie ooreenkoms noem.
So ek het soort van willekeur maar gerieflik vernoem hierdie velde.
Sodat nou toe hierdie vorm kry ingedien is, laat ons sien wat gebeur.
As ek dit doen malan@harvard.edu, Ek sal 'n wagwoord van bloedrooi doen.
Ek sal 'n wagwoord van niks doen nie.
Laat ons nie saamwerk nie.
>> En ek sal nie kyk na die boks.
Laat my klik Register.
En dit sê, hm, jy geregistreer is.
Nie regtig nie.
>> Maar die URL verander.
So hierdie vorm is duidelik toegelaat voor te lê aan register.php.
Maar vermoedelik, moet ek vang sommige van hierdie foute.
Nou, in Pset7 en 'n paar van ons lesing voorbeelde,
Ons sal oor die algemeen uit te druk 'n groot rooi fout boodskap hier
gesê, ontbreek naam, of ontbreek wagwoord.
Ons het dit gedoen voor en ons het gedaan bediener kant fout opsporing.
>> Maar baie webtuistes hierdie dae doen kliënt kant fout opsporing
waar die URL nie verander nie.
Die hele bladsy nie verfris.
Jy kry onmiddellik terugvoer van die leser.
Miskien iets gaan rooi.
>> Miskien kry jy 'n pop-up.
Maar jy mors nie tyd stuur die bediener data dit is onvolledig.
So laat ons sien hoe ons kan bereik dat die funksie sowel.
>> Laat my gaan form1.html, wat lyk dieselfde.
Maar as hierdie tyd wat ek doen malan@harvard.edu en ek tik bloedrooi
en ek het nie verder saam te werk nie maar klik Register, let nou.
Dit is nie die mees sexy oplossing.
Ek het ten minste gevang hierdie fout.
En ek het die waarskuwing gebruik funksie in JavaScript--
wat ons slegs met behulp van in die klas.
In die algemeen, moet jy gebruik maak van hierdie want dit kan baie vinnig uit
beheer.
Maar wagwoorde is die fout.
>> Laat my voort te gaan en kliek OK.
Maar wat die sleutel afhaal hier is dat die URL nie verander nie.
So ek het nie gepla vermorsing die bediener se tyd vra dit
'n vraag wat ek kon uitgepluis die antwoord vir myself.
>> En die gebruiker, selfs al gepraat oor hierdie
langer as die gebruiker se gaan om te dink oor dit,
gaan onmiddellik terugvoer te hê.
Daar is geen latency met die netwerk konneksie.
So laat ons kyk na hierdie bron-kode.
>> Form1.html lyk struktureel soortgelyke hier.
Die vorm is in werklikheid dieselfde.
Maar laat ons sien wat ek gedoen het hier.
En daar is verskillende maniere om dit te doen.
En ek het dit gedoen die mees reguit navolger maar nie mees elegante manier nie.
Ek het 'n script tag.
Ek het toe bel document.getElementByID ("registrasie").
En ek slaan wat waarde in die vorm, 'n veranderlike.
>> So, wat het ek gedoen?
Jy kan dink document.getElementByID as
'n spesiale funksie wat JavaScript gee jou
dat hande letterlik om 'n wyser na een van die nodusse
of reghoeke in hierdie boom.
So nou dit is wat ons vorm veranderlike in JavaScript is eintlik wys op.
>> So het die sintaksis is anders C. Maar ons is besig met 'n paar dinge hier.
Een, dié een is 'n bietjie vreemd soek, seker teenoor C.
Maar kyk na lyn 35.
So aan die linkerkant form.onsubmit.
Onthou dat onsubmit is soos 'n veld in 'n struct.
As jy dink van die vorm veranderlike is net 'n C struct,
dit kan 'n paar velde.
>> Terug in die dag, het ons studente se name, ID's, huise, dié soort van velde.
Dink maar net aan onsubmit as 'n ander gebied.
Maar dit is 'n spesiale veld, want die leser is Voorgeprogrammeerd om te verwag
.onsubmit om nie 'n waarde wees soos 'n nommer of string,
maar om werklik 'n funksie of die adres van 'n funksie
in die rekenaar se geheue.
>> En inderdaad, dit is wat hierdie navraag hier doen.
Dit sê, gee my 'n nuwe funksie.
Maar wat is sy naam gaan wees, glo?
>> Dink terug tot Maandag.
Wat is die naam van hierdie funksie gebaseer op die sintaksis?
Nee, ek bedoel, daar is duidelik geen naam associated-- beslis
nie in wat ek hier uitgelig.
>> Maar dit is eintlik OK.
Dit is 'n anonieme funksie, of 'n lambda funksie as 'n paar kan noem.
En dat net beteken dit is nog steeds 'n funksie.
Dis net, jy kan nie noem dit by die naam.
Maar dit is OK.
Omdat weer, het die leser is Voorgeprogrammeerd deur maatskappye soos Google
of Microsoft of Mozilla of ander te weet net dat indien die .onsubmit veld
binnekant van 'n vorm element het die waarde, hanteer dit as 'n function--
'n funksie pointer, as jy wil.
En noem dit wanneer die vorm ingedien word.
>> So, wat kode uitgevoer moet word wanneer die vorm ingedien word?
Blykbaar, alles binnekant van die krullerige stut.
En dit is net stilistiese.
>> Jy kan dit doen soos Ons is geneig om te doen in CS50.
Maar in JavaScript, die meeste mense geneig om dit te hou op dieselfde lyn
net omdat dit meer duidelik is wat verband hou met die navraag funksie.
So nou wat doen ek?
>> As form.email.value gelyk gelykes die leë string of niks nie, hier is '
'n waarskuwing waar ek gaan om te sê, moet jy jou e-pos adres verskaf,
en dan terug te keer vals.
En dit is dat die opbrengs valse wat verhoed dat die vorm van wat voorgelê.
Intussen, as die wagwoord waarde is leeg, ek gaan skreeu op die gebruiker
en sê, moet jy 'n wagwoord verskaf.
>> Intussen dinge kry 'n bietjie liefhebber hier.
As form.password.value nie gelyk form.confirmation.value,
die ander gebied, skree die gebruiker dat die wagwoorde
nie ooreen as hulle het nie 'n oomblik gelede.
En dan is hierdie een is 'n bietjie sexier omdat ek
weet ek het geweet dat konseptueel nagegaan is 'n boks se naam.
>> So ek kan net gebruik om 'n uitroep punt om te sê indien die tjek is nie
checked-- dit is die Boole waarde, waar of false--
Ek sal skreeu op die gebruiker vir daardie rede.
Andersins, as ons deur al hierdie toestande,
laat ons net weer waar.
Laat die vorm ingedien word.
En dit sal dan gebeur.
>> Kom ons tik in bloedrooi.
Kom ons kyk na die boks, kliek Register.
En nou, ek gaan deur na die bestemming.
Nou, daar is geen databasis daar.
Daar is niks interessant in register.php.
Ek het net iets nodig om werklik te praat.
So laat my breek, hier.
Enige vrae oor wat ons nou net gedoen of wat sommige van hierdie nuwe sintaksis is?
OK, ja?
>> Publiek: So 'n boks outomaties 'n Boolese.
Jy hoef dit nie te verklaar soos dit.
>> David J. Malan korrekte.
Enige boks wat gestuur is om julle van 'n HTML-vorm aan jou JavaScript-kode
behandel sal word, ja, as 'n Boole value-- waar of vals is.
Dit is 'n goeie vraag.
Terwyl die ander waardes, van Natuurlik, is die teks, AKA snare.
>> Alle reg, so laat my rewind 'n bietjie verder.
Wat was die hele punt van hierdie?
Net om duidelik te wees.
Soos ons reeds weet, selfs van Pset7 en selfs van verlede week se lesing
voorbeelde, dat ons natuurlik kan kyk $ _GET $ _POST Sien of die gebruiker gee ons
'n leë waarde.
Onthou die leë funksie in PHP.
>> So net om duidelik te wees, wat is een van die redes wat ons kan ook
wil hierdie foutopsporing te doen binnekant van die leser?
Wat is die motivering hier?
Ja.
>> Publiek: Faster, en jy dit nie doen nie stuur nutteloos data na die bediener.
David J. MALAN: Goed.
Dit is vinniger.
Jy het nutteloos stuur nie data na die bediener.
>> So jy terug 'n meer onmiddellike reaksie.
En algehele, die gebruiker ervaring is beter.
Dink oor die alternatiewe.
>> As vir Gmail-- en was die geval baie jare gelede.
Veronderstel jy het 'n nuwe e-pos jou Gmail rekening, maar die enigste manier om deur
om te sien wat te, soos, herlaai die hele bladsy.
Of dink jy op 'n skakel 'n e-pos te lees.
>> Alles het so herlaai dat jy die e-pos te sien.
Of Facebook-- jy 'n chat boodskap.
Jy sien nie totdat jy herlaai die bladsy of kliek sommige skakel.
>> Soos, sou dit 'n vreeslik wees irriterende gebruikers ervaring.
En dit is wat dit was soos, duidelik, toe ek gehardloop vir UC
en die web is baie minder dinamiese en JavaScript was nie so gewild
soos dit nou is.
En dinge om veel meer dinamiese en nog baie meer
kliënt kant in daardie sin nie.
>> Maar daar is 'n vangs hier, en hierdie is 'n soort van 'n irriterende Gotcha.
Net omdat jy kliënt kant voeg opsporing soos dit beteken nie
jy kan of moet laat vaar bediener kant opsporing.
Jy wil in wese jou te sit Fouttoetsing in beide plekke.
Want wat was een van die les geleer
uit die artikel wat ek lees 'n paar uittreksels uit met hierdie dom CMS system--
Content Management System-- wat implementering van sy verifikasie stelsel,
sy login via watter meganisme?
JavaScript.
>> Publiek: JavaScript.
David J. Malan JavaScript, presies, reg?
Dit was die gebruik van JavaScript.
En letterlik, julle het speel 'n bietjie waarskynlik
met Chrome se inspekteur.
En as ek dit kan kry, inspekteer element.
>> Laat my gaan oor om te doen al Chrome se opsies.
En dit is hoe maklik dit is om te afskakel JavaScript in 'n leser.
Check, nie meer JavaScript.
>> So in regverdigheid, 'n baie van die web hierdie dae
is net gaan om te breek, omdat Gmail en ander sites--
Facebook-- aanvaar dat JavaScript is aangeskakel.
Maar as jy iets onnosel doen soos net valid gebruikers insette
en die nagaan van dit foute op die kliënt kant,
'n teenstander kan maklik doen.
En dan is selfs slimmer teenstander soos jy ouens
nou kan gebruik Telnet of Curl of net command line opdragte
en eintlik boodskappe stuur na die bediener wat insgelyks is nie nagegaan fout.
>> So dit is meer van 'n user besluit
as wat dit is 'n werklike tegniese improvement-- implementering
iets kliënt kant soos hierdie.
So nou 'n vinnige blik, maar dan Ek sal stel om die aanlyn loop
deur vir hierdie een.
In die vorm twee, het ons eintlik het deur en skoongemaak die kode 'n bietjie.
Maar laat my stel aan een van die video's wat ons sal waarskynlik
embed in Pset8 wat net wys jou 'n soortgelyke sintaksis gebruik te maak van 'n biblioteek genoem
jQuery, wat is 'n super, super gewilde biblioteek in JavaScript
wat eerlik die meeste mense net gebruik om hierdie dae
en selfs verwar as wese JavaScript self.
>> En dit is geneig om te betrek sommige dollar tekens
en sleutelwoorde soos dokument in hakies hier.
Maar weereens, laat my stel om sommige stadiger tutoriale aanlyn
eerder as om te raak vasgebind in net sintaksis.
Kom ons beweeg aan iets wat 'n bietjie koeler
in terme van die toepassing van hierdie.
>> So in die besonder, laat my gaan voor en maak dit hier.
Kom op.
Daar gaan ons.
>> Laat my oopmaak hierdie foto hier.
Onnodig ingewikkeld soek, maar dit
beskryf 'n tegniek genoem AJAX-- Asynchronous JavaScript en XML, waar
die X vir XML is eintlik nie meer regtig gebruik.
Dit is geneig om iets te gebruik anders genoem into.
>> Maar hier is hoe iets soos Google Maps of Google Earth werk.
Kom ons probeer om dit op die vlieg, eintlik.
Laat my voort te gaan en oop Chrome op my leser.
>> En laat my gaan, sê maps.google.com.
En eintlik, as jy oud genoeg om te onthou wat,
soos, MapQuest was soos terug in die dag, en miskien is hulle nog steeds werk soos hierdie.
Wanneer jy gebruik om te soek vir something-- 33 Oxford Street, Cambridge, Mass,
Kom ons doen this-- jy eintlik, as jy
wou pan en af, links en regs,
jy soos 'n lyk groot pyl bo-op, en dit
sou 'n ander wys raam van die kaart hier.
Of jy links en jy kliek sou gaan hier, of 'n ander kliek
en jy sal gaan hier verby.
Maar in plaas daarvan om hierdie dae, het ons natuurlik net
vanselfsprekend aanvaar dat ons kan gaan rondom Cambridge redelik vinnig
net deur te kliek en sleep.
Maar let op daar is 'n paar haakplekke.
>> As ek dit doen vinnig genoeg is, wat blyk te wees gebeur
as ek sleep 'n bietjie te vinnig vir die rekenaar om tred te hou?
Wat sien jy?
Ja.
>> Publiek: Die pixels verfris nie.
David J. Malan Die pixels verfris nie.
Daar is actually-- en jy kon sien, eintlik,
as jy online en breek kyk hierdie of eintlik stadiger dinge af
vir once-- sal jy sien dat daar teëls, vierkante, of reghoeke wat
ontbreek in die kaart totdat 'n split sekonde later, meer data,
meer beelde eintlik verskyn op die skerm.
En in werklikheid, as ons dit doen deur te kyk up Chrome's-- kom ons sê, Chrome--
Kom ons kyk.
Ons kan dit nie doen nie.
>> O, Oeps.
Kom ons oop maps.google.com.
Laat my toe om die venster groter weer.
>> Gaan terug na 33 Oxford Street.
Wat was die webwerf wat ek was op onlangs?
Ek het hierdie, soos, private rant te myself dat ek dan onmiddellik boodskap
enige vriend wat aanlyn wat dit wou hoor.
Daar is 'n paar webwerf.
Ek dink dit is Comcast-- so 'n baie groot Amerikaanse ISP.
Jy kan, wanneer die ondertekening van vir 'n nuwe kabel modem diens of kabel TV-diens,
hulle het 'n vorm baie redelik waar hulle vra vir jou adres.
En het hierdie wonderlike funksie genoem motor volledige,
soos Google, wat begin om te vul in die antwoord op jou vraag.
>> Die probleem is, doen hulle motor volledige op die eerste dinge wat jy tik.
So as jy begin tik in 33, is dit sal jy letterlik elke huis wys
in Amerika wat begin met die nommer 33
voor voortgaan om te verwag om meer te tik.
So as jy tik 33 Oxford, dan is dit wys jou al die strate
in Amerika wat 33 Oxford in sy naam, ongeag van die dorp
dat jy in.
>> En dan moet jy voortgaan om te tik.
En uiteindelik, is dit besef dat hulle dit nie doen nie aanbod diens aan jou huis in Cambridge
of iets soos dit.
Maar die punt is, dit is die mees asinine implementering van die motor
voltooi ooit.
>> En ek gaan net af oor hierdie raaklyn weer.
Maar daar is goeie maniere om te gebruik JavaScript en slegte maniere.
En dit is nie noodwendig die beste een.
>> Maar die punt hier, voor hierdie tirade, was om oop te maak tools hier
en maak ontwikkelaar gereedskap, Soos ons reeds aangemoedig,
en die Netwerk te kyk blad as ek kliek regtig vinnig.
En kennis van 'n hele klomp van kry versoeke gebeur.
Al hierdie gebeur, want ek gesleep.
>> En waarskynlik inderdaad 'n groot deel van hierdie rye
nou is beeld streep JPEG MIME tipes of inhoud tipes.
Dit is omdat wat Chrome doen elke keer as ek kliek en sleep, kliek
en sleep, is dit besef, o, ek nodig het om te gaan vra Google vir die teël
op die kaart wat is hier, vinnig laai dit via HTTP,
en dan voeg dit by die sogenaamde DOM die webblaaiers in die geheue boom
verteenwoordiging, sodat die gebruiker, my sien dat opgedateer teël.
En dit is as gevolg van 'n tegniek genoem AJAX.
Terug in die dag, is dit regtig die geval was dat as jy
wou verander wat op die skerm, jy hoef te kliek op, af, links,
reg.
En dan 'n nuwe bladsy sal oopmaak.
Maar hierdie dae, alles meer dinamies.
Dit gebeur in die manier waarop ons mense sou hoop dat dit eintlik sou interaktief.
En dit bereik deur wyse van 'n tegniek genoem
AJAX, wat miskien die beste verduidelik deur 'n voorbeeld.
Eerstens, laat my gaan voort en maak 'n lêer
genoem quote.php in vandag se verspreiding kode.
>> En dan laat my doen symbol-- Oeps.
Laat my doen simbool = GOOG vir net 'n paar voorraad.
Of eintlik, laat ons doen die een van die Pset gratis.
Betree.
>> En nou sien wat ek terug.
So, dit is 'n baie kort PHP lêer dat ek
geskryf dat net leen kode uit Pset7 se soek funksie
en spoeg uit die gebruik van hierdie krullerige stut en aanhalings en kolon notasie, glo,
die huidige voorraad se prys vir die maatskappy wat jy slaag in via get.
So, dit is verskillende van die meeste van dit wat ons het
gedoen in daardie kennisgewing ek letterlik spoeg
wat lyk soos JavaScript-kode.
>> In werklikheid, dit is 'n JavaScript voorwerp.
Trouens, net om te wees meer duidelik, JavaScript Object Notation-- JSON--
is net 'n fancy manier om te sê dat jy kan data veel verteenwoordig in JavaScript
soos jy kan in PHP gebruik van sleutel waarde pare.
So as ek wou om te verklaar 'n veranderlike in JavaScript
te verteenwoordig Zamyla vir instance-- n struct vir Zamyla--
en ons sal dit noem student, hierdie veranderlike.
Haar ID is een huis is Winthrop, en die naam is Zamyla.
>> Maar ek kan ook 'n verskeidenheid van voorwerpe.
So as ek wou eintlik te hê 'n skikking in JavaScript bevat
verskeie sulke voorwerpe, hierdie tyd wat personeel,
Ek kan hierdie drie stukke van die kode terug
om terug te back vir hierdie drie voormalige personeellede.
So het die sintaksis, mooi soortgelyk aan both-- te PHP.
Maar dit is veral JavaScript.
Dis voorwerp notasie.
So, wat is hierdie nuttig vir?
>> As ek skryf kode wat spoeg JSON-- JavaScript Object Notation-- dinge wat
lyk dit of dinge wat lyk Zamyla se struktuur,
Ek kan eintlik gebruik van hierdie programme wat ek skryf.
Laat my gaan ajax0.html.
En dit too-- nie veel gedink aan die estetiese.
Maar kyk wat gebeur.
>> Laat my gaan voort en tik gratis hier.
Klik kry kwotasie.
En kennis van die URL nie verander het nie.
Maar ek het 'n pop-up met oënskynlik vandag se pennie voorraad prys van $ 0,15.
So nie alles wat sleg is.
Maar die verskil is dat een of ander manier, hierdie data kom terug na my direk.
Maar laat ons neem 'n stap in die rigting iets meer bekend is.
In weergawe een van hierdie, laat my Tik weer vry, kliek Kry kwotasie,
en now-- O, dit was eintlik die jQuery weergawe.
So laat me-- Ek het nie vinnig vooruit baie ver genoeg nie.
Laat my gaan na weergawe twee, en dit is waar ek wou.
Let op wat ek hier gedoen het.
Ek het 'n web page-- n super eenvoudige weergawe van 'n webblad
jy vandag kan gebruik met 'n teks veld hier vir vrye en dan blykbaar net
teks.
>> Dit is nie 'n vorm hier, blykbaar.
Maar as ek op kry quote, sien my webblad
is om te verander asof ek net 'n nuwe direkte boodskap
of asof ek net verskuif die kaart en nodig is om meer inligting te kry
dinamies by die webblad sonder die URL verander en die gebruiker
ervaring om onderbreek.
Inderdaad, ek is nog steeds by die presies dieselfde place-- ajax2.html.
>> So laat ons net kyk na hierdie voorbeeld en kyk hoe dit gebeur.
Laat my gaan in ajax2.html.
En let op die vorm eerste.
>> Hier, ek draai af motor voltooi.
Soms is dit kry irriterende as die leser
probeer om jou te wys jou hele geskiedenis.
Sodat jy dit kan doen in die HTML deur net sê die motor te voltooi nie.
>> Ek het gegee hierdie teks veld 'n symbol-- eerder, 'n ID-simbool.
En nou is dit 'n interessante kenmerk.
Ons het nie gepraat oor span, maar jy kan dink oor dit
soos 'n paragraaf tag of div tag.
Dit is wat genoem word 'n in-line element, wat
beteken dat jy nie 'n lid breek bo en onder dit.
Dit is net gaan in lyn te bly sonder slaan die ekwivalent van gaan.
So het ek hierdie stuk van HTML gegee bepaal word 'n unieke identifikasie
dat ek arbitrêr genoem prys.
En ek het 'n knoppie Stuur.
>> Want nou het here-- en dit is eintlik super verstommend hoe min kode
jy kan skryf om te doen relatief netjiese things--
sien wat ek gedoen het hier as ek blaai om aan die hoof van hierdie bladsy.
Ek het die eerste keer in ingesluit my kop scripttag
wat eintlik verwys na 'n JavaScript lêer elders.
Dit is van die organisasie wat skryf jQuery,
En dit is net gee jou die nuutste weergawe van hul jQuery biblioteek.
>> So dit is soort van soos skerp sluit in C of vereis in PHP.
Jy gebruik die script tag met 'n bron kenmerk.
Maar nou is my eie kode is gaan reg in hier te wees.
>> Let Ek het 'n funksie genoem aanhalingstekens.
En dit lyk 'n bietjie kriptiese met die eerste oogopslag.
Maar laat ons terg hierdie uitmekaar.
Gee my 'n veranderlike genoem URL.
Ken dit letterlik die tou.
So, aanhalingstekens, dubbel aanhalings in JavaScript gee my net 'n string.
Wat beteken die plus doen?
Aaneenskakeling.
>> So, dit is nou die jQuery sintaksis wat 'n bietjie gewoond raak aan.
Maar dit beteken net gaan kry vir my die DOM knoop sy unieke identifiseerder is simbool.
Die hashtag daar beteken unieke identifikasie simbool.
>> Die dollar-teken in die hakies net beteken, draai hierdie
in jQuery 'n soort geheime kruie so jy addisionele funksionaliteit.
En dan is .val glo 'n funksie, of as ons nou sê,
'n metode binnekant van hierdie knoop wat gee jy net die waarde.
So in kort, lelike en verwarrend as dit lyk met die eerste oogopslag,
Dit beteken net kry met die gebruiker getik in, sit dit aan die einde van die string
deur concatenating dit.
Dit is al.
>> So nou, die laaste drie reëls.
Jy kan 'n baie druk funksies van die drie lyne.
Hierdie dollar teken, as 'n eenkant, is net 'n bynaam
vir 'n spesiale globale veranderlike genoem letterlik jQuery.
>> Dollar-teken lyk net cool.
So het die jQuery gemeenskap net soort van dit gebruik as hulle spesiale simbool.
Dit beteken nie wat dit beteken om in PHP.
In JavaScript, dollar teken net soos 'n letter van die alfabet
of 'n nommer vir 'n veranderlike.
>> Jy kan net om dit as die naam.
Net lyk cool.
So het die gemeenskap aangeneem dit as 'n bynaam
vir hul eie biblioteek genoem jQuery.
>> En dit is super gewild.
So kry into is presies dit.
Dit is 'n funksie wat die mense by jQuery geskryf
wat kry into van 'n server-- JavaScript Object notasie.
Van wat URL gaan dit daardie inligting te kry?
Blykbaar uit hierdie URL hier.
>> En wat moet die leser doen soos sodra dit terug kry hierdie reaksie?
En dit is die magie van AJAX, so te speak-- Asynchronous JavaScript in XML.
Dit is moeilik om te sien met so 'n eenvoudige voorbeeld soos ons hier gehad het.
>> Maar dit was asynchrone in die sin dat my kode toe
uitgevoer 'n boodskap gestuur na die bediener te gaan kry vir my 'n into.
En dit gebeur super vinnig dat ek 'n antwoord.
Maar wat interessant is, is dat dit reël van die kode het nie hang my rekenaar.
>> Ek het nie 'n spin ikoon.
Ek het nie verloor die vermoë om my muis om te beweeg.
My leser is eintlik heeltemal fyn.
>> Omdat die pad JavaScript hanteer die reaksie van die bediener is soos volg.
Jy registreer wat jy wil bel 'n terugbelfunksie, wat
net beteken, hey, JavaScript.
Sodra die bediener reageer met into
Skakel asseblief hierdie anonieme funksie.
>> En asseblief geslaag het in hierdie funksie watter string die bediener spoeg uit
as 'n argument genoem data.
So met ander woorde, indien Ek is dinamies samestelling
'n URL quote.php verby in hierdie simbool soos gratis of GOOG of iets anders,
Ek is dan vertel JavaScript gaan kry dat URL.
Onthou dat die leser gaan iets om terug te keer
wat lyk soos ons gesien earlier-- hierdie.
>> En wat die tweede argument hier te kry into sê
is noem hierdie funksie wanneer die bediener kry terug
of dit nou 10 millisekondes van nou of 10 sekondes van nou af.
En so gou as wat jy doen, voeg die prys aan die bladsy.
Dit sintaksis hier net beteken gaan kry die knoop
van die boom waarvan unieke identifikasie is price-- daardie span ons vroeër gesien het.
>> Hierdie metode genoem HTML sê net, gaan vervang
die HTML wat daar met data.price.
Wat is data.price?
Wel, die leser, onthou, het vir my gewys hierdie terug te kom.
So, dit is data.
>> En so het dit is 'n bietjie kripties die kommas hier te sien.
Maar in werklikheid, laat my dit doen.
Laat my net te plak dit baie vinnig in gedit
en wys dit soos ons gewys Zamyla se struktuur vroeër.
>> Wat die bediener terug stuur 'n bietjie voorwerp wat lyk soos hierdie.
En so data.price is net gee my 0,1515.
So 'n baie van die beweging dele hier alles op een slag.
>> Maar die sleutel wegneemetes is dat ons hierdie vermoë
addisionele HTTP te maak versoeke met behulp van JavaScript
sonder om die bladsy te herlaai.
En dan kan ons eintlik verander die webblad op die vlieg.
En dit blyk dat JavaScript en ander tale
kan nou gebruik word nie net webblaaie te muteer,
maar om werklik sagteware skryf in 'n werklike rekenaar,
nie net beperk tot Chrome of die wil.
>> In werklikheid, if-- Colton, sal jy wil ons aan te sluit terug hier
met jou laboratorium-kode, en Chang sowel?
Kom ons gaan voort, nadat gepraat oor anonieme funksies en verifikasie
en regtig versoek lot hier met 'n live demo met bloeding
tegnologie, een van hierdie Elite Motion toestelle.
Nou, hierdie toestel, onthou, is 'n bietjie USB-toestel
sowel that-- dit is beautiful-- dat proppe by jou USB-poorte.
>> En dan bied dit insette in die vorm van menslike gebare
deur die opsporing van die gebruik van infrarooi strale, wese, bewegings van jou arm.
So, terwyl dit wat Maria probeer voor was gespierde,
eintlik voel wat die verandering jou arm, dit is infrarooi gebaseer is.
So dit is op soek vir bewegings binne die soort terrein van 'n voet of so
van die toestel self.
>> So hoekom nie ek 'n steek op die eerste?
En laat ons gaan voort en gooi jy op die oorhoofse hier.
So laat ons Colton se laptop hier.
Ons het Andrew op die TV.
En wat sou jy graag my om eerste te doen?
>> COLTON: Gaan voort en net sit jou hande oor hierdie man
en jy sal 'n pragtige glitter sien.
>> David J. Malan Baie mooi.
Dit alles gebeur in real time.
OK.
Alle reg, en yep.
So lekker.
Alle reg, wat anders kan ons doen?
>> COLTON: Gaan na die volgende skerm en sien.
>> David J. Malan Alle regte.
>> COLTON: 'n prettige klein spel waar jy robotte te maak.
>> David J. MALAN: Alle reg, sodat dit is vals hande wys my wat om te doen nie.
COLTON: Ja So gaan voort en gryp een van die blokke
en sit dit op die top van dat robot se liggaam.
David J. Malan O, daar is my hand.
O.
OK, adorable.
Wag 'n minuut, OK.
Daar gaan ons.
>> COLTON: Ek het een op die ongeluk.
>> David J. Malan OK, ek sal hierdie man kry.
Damn dit!
Wanneer ons dit beoefen laaste nag, jy weet wat hierdie oorgegaan in?
>> Soos hierdie.
OK.
Volgende een?
>> COLTON: Natuurlik.
>> David J. MALAN: Alle reg, en daar is 'n derde.
Alle regte.
COLTON: En in hierdie een, jy aan-
David J. Malan O, hierdie een se mooi.
COLTON: --yeah, hierdie blom pluk uitmekaar.
David J. Malan OK.
Geen?
Gemis.
>> COLTON: Ag, daar gaan jy.
>> David J. Malan Ag, kyk na dit.
Baie mooi.
Wel, hoekom dit nie "ons neem uit 'n vrywilliger hier
wat wil kom op.
Hoe gaan net daar in die groen, is dit?
>> Alle reg, en laat ons have-- in plaas van om dit te doen, 'n paar van julle
kan hierdie wedstryd weet here-- sny die tou, miskien?
Kom ons kyk.
Ons het ons glase op hier?
>> OK.
Dankie.
Wat is jou naam?
>> Publiek: Laura.
>> David J. Malan Laura?
Lekker om te sien.
As jy nie omgee nie sit Google Glass oor jou bril.
Dit is Colton.
>> COLTON: Hi.
Nice om jou te ontmoet.
>> David J. Malan OK, kom om.
Alle reg, sodat dit wat jy gaan hier doen, nadat dit voor gespeel het,
is sit jou hand oor die sprong Motion hier.
En nou is jou pyl moet beweeg.
O, nope.
>> Publiek: No.
>> David J. Malan Ons wil nie nog hou.
OK, wag.
Hier.
So sien as jy jou vinger oor iets,
die muis begin groen te gaan, dit is hoe jy kliek.
>> So hang oor speel.
En net een vinger is goed.
En klik nou op die klein groen man aan die linkerkant.
En nou hou totdat dit vul groen.
Goed.
Nou, soos, vlak een tot bo.
>> Publiek: Ja, ons wil vlak een, hier.
>> David J. MALAN: Goed.
OK, so al wat jy hoef te doen is sny die tou.
Jou muis is die wit een daar.
>> Baie mooi.
Alle reg, dit gaan oor om harder te kry.
So hou jou vinger oor die volgende oomblik.
Goed.
Hierdie een is moeilik.
>> Publiek: O kak.
OK.
Dit wil dat die manier om te gaan.
Ag kak, that--
>> David J. MALAN: Ja.
Sekondêre doel is om al die sterre te kry.
Alle reg, volgende.
>> Kom ons kyk of jy kan hierdie derde een kry.
Goed.
OK, daar gaan.
>> Seker.
O ja, baie mooi.
Alle regte.
>> So hoekom doen ons dit nie hier verdaag vandag?
Laat iemand kom tot wat wil om te speel.
Baie dankie aan Laura ons vrywilliger.
En ons sal jy sien op Maandag.
>> Publiek: Jy wil waarskynlik die rug.
>> Spreker 2: By die volgende CS50--