>> [Musiikkia]
>> DAVID MALAN: Tцєmцє on CS50.
Tцєmцє on alku viikolla yhdeksцєn.
Ja tцєmцє on mitцє olisi ollut herra Boole 200. syntymцєpцєivцє.
Joten tцєmцє on Fellows joille olemme viitattu
melko joskus noin kцєyttцєmцєllцє Boolean muuttujat tosi ja epцєtosi,
1 ja 0 ja tцєllainen.
Ja tцєmцє oli Googlen kunnianosoitus hцєnelle tцєnцєцєn.
Hцєn olisi tцєyttцєnyt 200.
Joten jos haluat liittyцє meihin CS50 lounas
katsomaan linkki kurssin verkkosivuilla.
Ja kuten kasvot ja ystцєvien nцєmцє odottavat sinua Cambridge.
Kasvot kuten nцєmцє odottavat sinua New Haven.
Ja itse asiassa, Ken New Haven ystцєvцєllisesti tehty
mitцє kutsutaan animoitu GIF Eli tцєцєllцє viime lunch-- GIF on vielцє
toinen graafinen tiedostomuoto, jolla olet familiar-- ettцє
nцєyttцєцє vцєhцєn jotain tцєllaista.
Joten sekvenssin of-- OK.
Kukaan tцєцєllцє Cambridge nauraa.
Mutta New Haven, tцєmцє on todella hauska, eikцІ?
Selvцє.
>> Joten цєlцє joukkoomme siellцє.
Tцєцєllцє Harvardin, erityisesti tцєnцє keskiviikkona,
jos olet toisen vuoden opiskelija tai fuksi even-- tai jopa junior-- ajatellut tehdцє
kytkin Tietokoneiden tiede, tietцєцє, ettцє siellцє tulee
on CS neuvoo oikeudenmukainen tцєmцє Keskiviikko pian luokka
klo 16:00 tietokoneeseen Science Building Maxwell Dworkin.
Laitamme tцєmцє kurssin verkkosivuilla huomenna, samoin.
Munkkeja, olen kertonut, tarjoillaan.
>> Selvцє.
Niin hauska story-- olin tцІnцєisi ympцєri internetissцє,
ja lцІysin joitakin vanhoja arkistoja minun entinen verkkosivuilla.
Ja se kцєцєntyy out-- ympцєrillцє aika, se nцєyttцєцє erittцєin ajankohtainen
koska olen ymmцєrtцєnyt, ettцє UC vaalit ovat tulleet vaihde uudelleen.
Joten juoksin UC, menetetty surkeasti.
Ja ehkцє tцєmцє oli osittain miksi.
Joten tцєmцє oli minun verkkosivuilla tuolloin.
Jostain syystцє ajattelin, ettцє se oli hyvцє idea, ennen kertoa ihmisille
mitцє minun foorumi oli ja miksi he olisi цєцєnestцєцє minua, ettцє heillцє on
klikkaa tulla selville, ettцє tiedot, joka jцєlkeenpцєin on
Tцєllainen kammottava.
En todellakaan tiedцє, mitцє se oli.
>> Mutta se varmasti ei auttaa kampanjani.
Huomasin myцІs, ettцє ylin year-- minulla oli Muppet kalenteri.
Muppets olivat erцєцєnlainen muodissa tuolloin.
Tai ehkцє he eivцєt olleet.
Minulla oli Muppet kalenterin tuolloin.
Ja ajattelin, ettцє olis siistiцє nimi Oma tietokone Harvardin verkon
frogman.student.harvard.edu.
Tuolloin meillцє kaikilla oli ainutlaatuisesti tunnistettavissa isцєntцє nimiцє.
Ja voit valita joitakin turhamaisuus nimi sijaan oman nimesi.
Ja menin sammakkomies jostain syystцє.
>> Ja sitten started-- vietin paljon aikaa napsauttamalla nцєitцє linkkejцє
Tцєmцє aamu.
Ja tцєmцє oli minun sivusta, joka nyt tavallaan tuntuu ihana.
Mutta se todistaa myцІs vain miten pitkцєlle tekniikka on tullut.
Tarkoitan, takaisin seuraavana pцєivцєnцє, 486 oli jotain.
Nykyцєцєn se on super, super, Super Slow ja hyvin vцєhemmцєn
kuin saatat olla omassa omat taskunsa nцєinцє pцєivinцє.
On enemmцєn siellцє, ettцє oli vielцєkin kiusallista.
Joten jцєtцєn asian siihen.
Mutta se oli minun ensimmцєinen kokeilu web-- Voi ei.
Se ei ollut.
Ensimmцєinen todellinen kokeilu Web-ohjelmointi oli tцєmцєn sivuston, jonka minцє vain unohdin.
Jossain vaiheessa, opin tehdцє toistuvia taustakuvia.
Ja niin lцІysin tцєmцєn laatoitus tehokas, kuten jцєцєkiekkoilija, jalkapallo, ja golf
pallo, tai mitцє se on varten Frosh infrastruktuurin verkkosivuilla.
Ja tцєmцє oli todella, todella ensimmцєinen web-pohjainen projekti otin on--
Luulen sophomore vuosi, junior year--
ottamisen jцєlkeen CS50 ja CS51, yksi yhteisen jatko-luokissa.
Huomasin HAKU kautta arkistot
ettцє erцєs seuraajia ja ystцєviцє, Lee, erцєцєnlainen muuttunut
tekijцєnoikeus itsekseen.
Mutta tцєmцє oli todellakin jotain, Haluan omistaa hцєpeцєksi.
Mutta tuolloin, tцєmцє oli ensimmцєinen sivusto,
kuten sanoin muutama viikko sitten, jolla fuksi voisi
ilmoittautua sisцєiset urheilu tцєцєllцє.
Ja niin se kцєцєntyy pois ettцє taustakuvia
kuin ettцє eivцєt ole niin hyvцє idea.
Mutta web oli uusi, ja olimme kaikki kokeilemalla.
Ja tцєmцє on mitцє minцє ilmeisesti teki tuolloin.
Selvцє.
Joten pitemmittцє puheitta, me vaihtaa hammaspyцІrцєt tцєnцєцєn antaa sinulle, todella,
viimeinen pala, ettцє saatat lцІytцєцє erityisen hyцІdyllinen opinnцєytetцІiden
mutta myцІs, ettцє alkaa tehdцє koko World Wide Web
tuntuu vцєhцєn ymmцєrrettцєvцєmmцєksi.
Todellakin, aiomme esitellцє yksi ohjelmointikieli
nimeltцєцєn JavaScriptiцє on samanlainen ja eri eri tavoin
alkaen kielistцє teimme toistaiseksi.
>> Joten C, muistaa, on tцєmцє kцєцєnnetty kieli.
Sinun tцєytyy ajaa se lцєpi kцєцєntцєjцє.
Saat lцєhdekoodin vastustaa koodi tai nollia ja ykkцІsiцє.
Ja ne ovat nollia ja ykkцІsiцє, ettцє CPU, Central Processing Unit,
todella ymmцєrtцєцє.
PHP, sitцє vastoin ei ole kцєцєnnetty kieli.
Se on mitцє?
Se on tulkittu kieli.
Joten siellцє on ohjelma kutsutaan tulkki, joka
on lukea it-- ylhцєцєltцє alas, vasemmalta right--
ja selvittцєцє, mitцє kaikki syntaksi tekee ja tarkoittaa,
onko se silmukka tai ehto tai jokin muu numero ohjelmointi
rakentaa.
Niin, ettцє tulkittu kieli.
>> Sitten otimme kцєyttцІцІn HTML.
Ja HTML ei ole edes ohjelmointikieli.
Olimme kutsua sitцє mitцє?
Markup language, joka on vain erцєцєnlainen hieno tapa sanoa se
ei ole ohjelmointi konstruktioita kuten nцєimme edes takaisin pцєivцєnцє Scratch.
Ei ole silmukoita.
Ei aseteta ehtoja.
Se on todella kieli noin merkintцє ylцІs tietosi
ja alustamista tai jцєsentцєminen sitцє jotenkin.
>> CSS puolestaan Б─▀Б─▀samoin ei ohjelmointikieli.
Se on vielцєkin esteettisesti suuntautunut.
Ja sen avulla voit lajitella ja hienosцєцєtцєцє asioita, kuten fontin kokoa ja vцєriцє
ja sijoittaminen ja kaikki tцєmцє.
Sitten meillцє oli
>> SQL.
Joten SQL on todellakin ohjelmointi kieli jossain mielessцє,
vaikkakin rцєцєtцєlцІity erityisesti tietokantoihin.
Mutta vaikka me vain esitellцє sinulle valita ja lisцєtцє ja poistaa ja pцєivittцєцє
ja pari muuta, osoittautuu voit itse
kirjoittaa toimintoja tai menettelyjцє, koska ne ovat
kutsutaan, SQL jotka nцєyttцєvцєt ja toimivat aivan kuten PHP ja C funktioiden.
Niin tiedцєmme, ettцє ne ovat olemassa.
Mutta emme edes vaivaudu niitцє kuten juuri naarmuttaa pintaa tцєцєllцє.
Ja sitten JavaScript, viimeinen kielemme virallisesti kцєyttцІцІn.
Joten JavaScript, sekin on tulkittu kieli.
Ja niitцє tuttuja, tehdцє haluat erottaa sen
joidenkin ominaisuus sekцє C ja PHP?
Mikцє tekee siitцє erilaisen?
>> YleisцІ: Se ei ole laadittu.
>> DAVID MALAN: Sano uudestaan?
>> YleisцІ: Se ei ole laadittu.
>> DAVID MALAN: Se ei ole laadittu.
Niin sekin, tulkitaan.
Joten se ei ole koottu.
Mutta joka tekee sen vцєhцєn kuin PHP.
Mutta se on silti erilainen kuin PHP jollakin silmiinpistцєvцєцє tavalla,
ainakin siinцє, miten kцєytцєmme sitцє.
Joo?
>> YleisцІ: Se toimii client-side.
>> DAVID MALAN: Se toimii client-side, yleensцє.
Se todellakin erottava ominaista meille juuri nyt.
C oli palvelinpuolen siinцє mielessцє ettцє teimme kaiken CS50 IDE.
PHP on tцєhцєn mennessцє ollut server-side sikцєli
kuten sekin, saa interpreted-- ei kцєцєnnetty, mutta interpreted--
sisцєllцє CS50 IDE, joka tietenkin on vain palvelin tai palvelimet pilvessцє.
>> Mutta JavaScript, jopa vaikka et olet menossa
alkaa kirjoittaa sitцє, sanovat, PSET kahdeksan ja ehkцє lopullinen projects-- olet
menossa vцєцєrin sen CS50 IDE ja tallenna se
tiedostojen sisцєllцє CS50 IDE, CS50 IDE ja puolestaan Б─▀Б─▀pilvi palvelimet
johon se isцєnnцІi, eivцєt aio tulkita tai suorittaa koodia.
Pikemminkin se tulee lцєhetettцєvцє muuttamattomassa muodossa alas selaimen.
Ja se sitten tulee olemaan IE tai Chrome tai Firefox tai Safari
tai mitцє se todella tulkitsee se, ylhцєцєltцє alas, vasemmalta oikealle.
Joten avain erottava ominaista tцєnцєцєn
ettцє JavaScript on client-side ja PHP, esimerkiksi,
on ollut palvelinpuolen.
Nyt tцєmцє on mielenkiintoisia seurauksia varten, kuten, henkisen omaisuuden
ja kuka voi todella nцєhdцє koodin.
Ja todellakin, voit mennцє Webissцє ja nцєhdцє eniten
koodia ettцє joku on kirjoitettu JavaScript.
Joskus se on luettavissa, Joskus se on salattu.
Mutta lisцєцє, ettцє hyvissцє ajoin.
>> Joten JavaScript, kauniisti tarpeeksi, on Super samanlainen, syntaktisesti, C.
Ja aivan kuten PHP, ei ole tцєrkein ominaisuus.
Jos haluat aloittaa kirjoittamisen JavaScript-koodia, kun nцєet tцєnцєцєn,
vain alkaa kirjoittamisesta.
Mutta se on, nцєet, etenkin hyцІdyllinen yhteydessцє selaimet.
Kuitenkin pikku disclaimer-- yleensцє earlier--
oli sanoa, ettцє voit yhцє tцєnцєцєn kцєyttцєцє JavaScript palvelinpuolen
kцєyttцєen fancy kehys nimeltцєцєn Node.js ettцє jotkut CS50: n omien sovellusten
on kirjoitettu.
Tarkista 50 tosiasiallisesti kцєyttцєцє Node.js.
Mutta aiomme keskittyцє JavaScript client-side Tцєstцє eteenpцєin.
>> Joten tцєssцє on joukko ehtoja PHP.
Anteeksi, in-- todella, ettцє lausuma, sekin on oikea.
Tцєssцє on myцІs joukko olosuhteet JavaScript.
Syntaktisesti, se on identtinen C ja PHP.
Mr. Boole ilmeitцє ovat, Vastaavasti, syntaktisesti
identtinen sekцє C ja PHP.
Meillцє on myцІs kytkimet JavaScript jotka nцєyttцєvцєt identtisiцє.
Meillцє on silmukoita, jotka ovat jцєsennelty identtisesti,
vaikka silmukoita, tehdцє, kun silmukoita.
>> Tцєmцє yksi on hieman erilainen.
PHP oli kunkin konstruktin ettцє saatat olla kцєytцІssцє
tai tulee kцєyttцєцє PSET seitsemцєn, ehkцє.
JavaScript on tцєmцє erityinen versio sillцє jossa kirjaimellisesti sanoa jotain
kuten vaihtelevan avain esine, joka on erittцєin ytimekцєs tapa sanoa,
jos minulla object-- ja me puhua nцєistцє jцєlleen moment--
ja haluan kerrata kaikkia avainarvon paria sisцєllцє,
Minulla ei tarvitse selvittцєцє, miten numeerisesti indeksoida niitцє nolla, yksi,
kaksi, kolme.
>> Voin kirjaimellisesti sanoa tцєtцє.
Ja jokaisen iteraation, JavaScript minulle pцєivittцєцє muuttujan nцєppцєintцє
olla ensimmцєinen avain, sitten seuraavaa nцєppцєintцє, sitten seuraavaa nцєppцєintцє, sitten seuraavaa nцєppцєintцє,
ja niin edelleen.
Ja saan sen arvo kцєsittelemцєllцє objekti JavaScript, kuten nцєemme,
ikцєцєn kuin se on assosiatiivisia array PHP.
Todellakin, jos lopulta kцєцєritty teidцєn mielessцє ympцєri mitцє tцєllainen taulukko on
PHP, voit ajatella sitцє nyt identtinen objekti JavaScript.
Mutta se on hieman yksinkertaistava.
>> Taulukot nцєyttцєvцєt, kauniisti tarpeeksi, samanlainen PHP paitsi yhden merkin.
On yksi asia puuttuu tцєцєllцє ettцє nцєimme viime viikolla PHP.
Mitцє pois?
Joo?
Ei dollarin merkki.
Joten olemme takaisin lisцєцє normaali maailmassa, jossa
muuttujia ei ole dollarin merkkejцє.
Mutta et etuliite niitцє var, tyypillisesti.
Ja var tarkoittaa muuttuja.
Ja aivan kuten PHP on lцІyhцєsti typed-- jolloin on olemassa tyyppejцє,
on numeroita ja jousille ja kellukkeet ja niin forth--
JavaScript samoin on tyyppejцє.
Mutta se on lцІyhцєsti kirjoitettu, ettцє me ohjelmoijat ei tarvitse mцєцєrittцєцє niitцє.
Meidцєn tцєytyy vain olla tietoinen ettцє erilaisia Б─▀Б─▀olemassa.
>> Muuttujat, meanwhile-- tцєssцє miten voisimme julistaa "Hei, maailma"
merkkijonona.
Huomaa, se on identtinen PHP mutta ei dollarin merkki.
Ja tцєmцє on jotain me alat nцєhdцє enemmцєn tцєnцєцєn,
jolloin sinulla on esine avaimet ja arvot.
Ja jos haluat kokeilla pцєцєtellцє viime week--
syntaksi on hieman erilainen.
Mutta vцєhцєn mielenterveyden check-- kuinka monta avaimet tцєmцє esine nцєyttцєvцєt?
Joten minцє nцєen neljцє.
Nцєen kaksi.
>> Joten se on oikeastaan Б─▀Б─▀kaksi.
Joten tцєmцє on kokoelma Kahden avainarvopareja.
Tцєrkeintцє on symboli, jonka arvo on FB.
Tцєrkeintцє on hinta, jonka arvo on 101,53.
Joten ne ovat kaksi avainarvopareja.
Ja muistakaa, PHP-- ja tцєmцє on jцєlleen vain erцєцєnlainen syntaktisen ero.
Se ei ole kaikki, ettцє цєlyllisesti mielenkiintoinen.
PHP ehkцє kirjoittanut tцєmцєn saman asia kuin follows-- lainaus, vastaa.
Ja voin muuttaa nцєitцє hakasuluissa.
Ja sitten muuttaa tцєtцє lainattu sana, "hinta."
Ja sitten en kцєytцє paksusuolen.
Mitцє minцє kцєyttцєцє viime viikolla?
Joo, yhtцєlцєisyysmerkki nuoli funky merkintцєtapa.
>> Ja sitten tein saman asian tцєцєllцє.
Sama juttu tцєцєllцє.
Ja siinцє kaikki.
Joten on hienoa, jos tцєmцє ei ole todella uponnut muistiin vain
mutta koska se on todella цєlyllisesti mielenkiinnoton.
Se on vain syntaktinen eroja.
Mutta ideat ovat tцєsmцєlleen samat.
Sisцєllцє tцєmцєn muuttujan lainaus JavaScript
on kokoelma avainarvopareja, joista yksi on symboli, joista
on hinta.
Ja saan noita arvoja seuraavaan tapaan.
Aivan kuten PHP, voisin tehdцє jotain like-- anna
minua tekemцєцєn tцєmцє laatikko hieman suurempi.
Aivan kuten PHP, voisin tehdцє this-- OH, perkele.
Tule.
>> Aivan kuten PHP-- OK kцєymme vain kцєyttцєцє juontaja toteaa.
Aivan kuten PHP, voin do $ lainaus $ lainaus ["symboli"],
ja tцєmцє saa minut arvoa "symboli."
JavaScript, se tulee olemaan identtiset, jolloin voin vain tehdцє tцєtцє.
Ainoa asia, joka on puuttuu dollarin merkki.
>> Niin hienosti riitцє, niin, siellцє on ei kovinkaan paljon uusia syntaksi.
Mitцє tцєnцєцєn keskitymme, todella, on joitakin ajatuksia ja sovelluksia.
Ja ensimmцєinen tцєllainen sovellus ettцє saatat
nцєhneet jos olet sukeltanut PSET Seitsemцєn jo on tцєmцє syntaksi.
Joten PSET seitsemцєn, jos olet nцєhnyt tai ole nцєhnyt sitцє vielцє,
tietцєцє, ettцє siellцє on tiedosto ettцє annamme soitit config.json-- JavaScript
Object Notation.
Miksi?
Halusimme pystyцє tarjoamaan sinulle mallin joidenkin avainarvopareja.
Halusimme voi antaa sinulle listan isцєntцє, palvelimen nimi.
Halusimme antaa sinulle paikkamerkki kцєyttцєjцєtunnuksesi
ja paikkamerkki salasanasi.
Jos et nцєe tцєtцє vielцє, ei hцєtцєцє.
Tцєstцє lisцєцє PSET seitsemцєn [? spec. ?] Ja sitten,
tietenkin, haluamme tцєyttцєцє-DOS
koska kun kirjaudut CS50 IDE, jokainen teistцє
on oma kцєyttцєjцєtunnus ja salasana.
>> Jotta voisimme olet kцєyttцєnyt puoli tusinaa tai useamman eri tiedostomuotoja.
Olisimme voineet kцєyttцєцє .txt.
Voisimme kцєyttцєцє CSV-tiedosto.
Olisimme voineet kцєyttцєцє INI-tiedoston, XML-tiedoston,
koko joukko enemmцєn lyhenteitцє ettцє et ehkцє ole koskaan kuullut.
Se on tavallaan mielivaltaisen pцєivцєn pцєцєtteeksi.
Mutta erittцєin suosittu nцєinцє pцєivinцє on teksti muodossa nimeltцє JSON-- JavaScript Object
Notation-- ettцє nцєyttцєцє tцєltцє.
Se on vцєhцєn arvoituksellinen, mutta huomaa malleja.
Aloitat avoin kihara ahdin, ja lopetat samalla.
Sisцєltцє se on jotain.
Se on avain-arvo-pari.
Joten tцєmцє on esine, ettцє olen katsot ruudulla tцєцєllцє
ettцє on yksi avain, joka on yksi arvo.
Ja vain pцєцєtellцє perustuu edellinen malli, mikцє on avain tцєцєllцє?
Tietokanta, asia vasemmalla paksusuolen.
>> Nyt arvo sattuu olemaan useita rivejцє tцєllцє kertaa.
Mutta arvon alussa on kihara ahdin ja pцєцєttyy kihara ahdin.
Joten mitцє ehdottaisitte on tyypin arvo tietokantaan?
Sanakirja tai, vain enemmцєn ytimekkцєцєsti, esine.
Oikea?
Tцєmцє on erцєцєnlainen tietojen rakenne, joka voivat kцєyttцєцє muita rakenteita itse.
Joten jos tцєmцє koko juttu olemme kutsuvan object-- ja esineen
on vain joukko avainarvon pairs-- arvo tietokantaa on esine.
Arvo tietokanta on koko joukko keskeisten arvo-pareja, joista ensimmцєinen
on isцєntцє, niin nimi, sitten kцєyttцєjцєtunnus, sitten salasana,
jokainen joiden arvot puolestaan, se on vain kairausjohto lainausmerkkeihin.
>> Joten vaikka se ei ole Super kirkas aivan vielцє,
tietцєцє, ettцє tцєmцє on vain standardi, melko tylsцє Б─▀Б─▀tapa
tallentaa tietoja vakiomuodossa.
Mutta yleisiцє virheitцє sinua voisi tehdцє, vaikka PSET seitsemцєn,
ovat pieniцє tyhmiцє asioita, kuten jos vahingossa jцєttцєцє pilkku siellцє.
Joka tulee johtaa tiedostoon ei vцєlttцєmцєttцє ole luettavissa.
Jos vahingossa jцєttцєцє pois asioita, kuten lainausmerkit, se ei tule olemaan luettavissa.
Joten se on aika nitpicky tiedostomuoto, mutta se on yksi, joka on erittцєin yleistцє.
Ja me satu kцєyttцєmцєцєn sitцє, vaikka et kцєytцє mitцєцєn JavaScript toisin,
vuonna PSET seitsemцєn.
>> Selvцє.
Joten muistakaa tцєmцє kuva.
Puhuimme, HTML, ettцє koodi voisi nцєyttцєцє tцєltцє.
Tцєmцє on HyperText Markup Language [ц└цєnetцІn] vain "Hei, maailma."
Mutta sitten ehdotimme kun taas takaisin, ettцє jos se auttaa,
kannattaa alkaa miettiцє tцєstцє jo kuin puu.
Itse asiassa, kuoppa, jonka me Kцєytцє vain luettavuuden vuoksi
tai tyyli tцєhden pцєцєlle Vasemmalla sellaista
kцєцєnnetцєцєn tцєmцє puu, jossa joitakin erityisiцє juurisolmu ettцє me will
yleisesti kutsutaan asiakirja, jonka alapuolella on juuri HTML-elementti tai tunnisteen, HTML,
joka sitten on kaksi lapset, pцєцєn ja vartalon.
>> Ja sitten taas, pцєцє on otsikko.
Ja otsikko on teksti arvo.
Ja kehon samoin on tekstin arvoa.
Joten jos olet mukava sanonta ettцє kyllцє, voit ottaa tцєmцєn HTML
ja piirtцєцє kuvan kaltainen Tцєmцєn, oikea puoli
on mukava henkinen malli, koska nyt ettцє meillцє on JavaScript, ohjelmointi
kieli ettцє selaimet voivat toteuttaa ja tulkita sinulle,
kцєy ilmi, ettцє mitцє aiomme tehdцє koodin
on alkaa manipuloida tцєtцє puurakenne muistiin.
Meillцє ei tarvitse rakentaa puu muistissa.
Meidцєn ei tarvitse tehdцє erцєцєnlainen PSET-viisi-style tietorakenne
monimutkaisuus.
Selain, kauniisti tarpeeksi, kun tulkkaus HTML ylhцєцєltцє alas,
vasemmalle tai oikealle, on kirjaimellisesti menossa kцєsi Yhdysvaltalainen vastaa osoittimen
kuin koko puun ilmaiseksi.
Se tekee kaiken kovan tyцІn.
Sitцєhцєn Mozilla ja Apple ja muut ovat tehneet meille.
>> Ja JavaScript aiomme sen on voitava valvoa ja muuttaa ja tehdцє
mielenkiintoista ettцє puu, joka tunnetaan
kuten DOM tai Document Object Model.
Millaisia Б─▀Б─▀asioita?
No, kцєy ilmi, ettцє JavaScript, siellцє
tцєmцє pitkцє lista tapahtumia, jotka voivat tapahtua.
Emmekцє ole oikeastaan Б─▀Б─▀kцєytetty ettцє sana koska viikko nolla ja PSET
nolla kun puhuimme Scratch.
Useimmat teistцє luultavasti ei kцєytцє tapahtuma sinun Scratch projektin.
Mutta saatat muistaa yksinkertainen Marco Polo
Esimerkiksi jossa meillцє oli kaksi sprite, joista yksi sanoi, Marco.
Muut joista sitten, kun kuuntelu ja kuulo tapauksessa, sanoi, Polo.
Jos ei, rohkeasti muistella, ettцє pitkцєlle taaksepцєin.
>> Mutta tцєmцє on vain sanovat, ja voit erцєцєnlainen
pцєцєtellцє nцєiden nimet asioita, JavaScript, se kцєцєntyy pois,
aikoo antaa meille tapa kuunnella hiiren menossa alaspцєin tai hiiren nousevat
tai avain menee alas tai keskeisiцє menossa ylцІs tai onsubmit onselect
tai onresizing jotain.
Toisin sanoen, mitцєцєn fyysistцє toimintaa ettцє ihminen voi ottaa selaimella
ettцє teet joka pцєivцє, voit kirjoittaa koodi, joka kuuntelee tцєllaisia Б─▀Б─▀tapahtumia
ja sitten tekee jotain tarkoituksenmukaista.
>> Jos esimerkiksi kцєytцєt Google Maps, mitцє tapahtuu, jos valitset ja liikkua
hiiri, tyypillisesti?
Jos valitset ja vedцє?
Joo?
Aivan.
Kartta alkaa liikkua.
Voit siis tavallaan nцєhdцє, mitцє tцєnne, mitцє tuolla.
Ja miten Google toteuttaa sen?
No, oletettavasti, he kцєyttцєmцєllцє pari nцєitцє tapahtuma
kuuntelijat, joka sanoo, kuunnella hiiren
down-- joten kun kцєyttцєjцє fyysisesti tyцІntцєцє hцєnen ohjauslevy tai hцєnen hiiri
alas.
Ja sitten etsimme jotain liikettцє
tai jokin muu tapahtuma, joka voimme kaapata vetцєцє.
Ja itse asiassa, drag on samalla tцєssцє piste piste piste luettelo mahdollisista vaihtoehdoista.
>> Joten tцєmцє tulee olemaan voimakas tapa aloittaa vastaamisen kцєyttцєjцєlle
jopa ennen kuin hцєn todella napsauttaa jotain nimenomaista kuten lцєhetцє.
Mutta aiomme esitellцє pari aiheita sinne.
Mutta ensin siirtymistцє joitakin todellisia koodia.
Joten aion mennцє eteenpцєin ja avata dom-0,
joka on hyvin yksinkertainen esimerkki tцєцєllцє, ettцє jos minцє suurentaa yksinkertaisesti
on tцєmцє tulo tцєnne minulle.
Ja aion mennцє eteenpцєin ja kirjoita "David" minun nimeni ja valitse Lцєhetцє.
>> Ja sitten, vaikka tavallaan halvalla, I on tцєmцє nopea avautuvassa joka sanoo,
"Hei, David!"
Joten tцєmцє on tavallaan kuten meidцєn "Hei, maailma"
ettцє teimme jonkin aikaa takaisin C ja jopa PHP koska olen dynaamisesti
tulostetaan nimeni.
Voin tehdцє jonkun toisen nimi tцєhцєn.
Voisin yksinkertaisesti muuttaa tцєtцє, kuten, Hannah, valitse Lцєhetцє.
Ja todellakin, pikku pop-up muutoksia.
>> Nyt, pop-ups ovat yksi eniten vцєцєrin ominaisuuksia verkossa.
Ja itse asiassa jo vuonna pцєivцє ponnahdusikkunoiden esto
tuli muotia, koska olet menisi noin website--
ehkцє kyseenalainen place-- Se olisi sitten yhtцєkkiцє
aloittaa peppering nцєytцІn kanssa koko joukko ponnahdusikkunoita.
Ja niin tцєmцє kyky pop up ikkunoiden edessцє kцєyttцєjцє
ei ole ollut erityisen hyvin vastaan Б─▀Б─▀ihmiskunnan.
Joten siksi nцєet tцєmцє estцєцє asia,
mikцє juuri tekee tцєstцє koko juttu ruma.
Joten aiomme tarvitsevat parempi tapa kysyy kцєyttцєjцєltцє.
Mutta nyt, ettцє tuntuu toimivan.
Joten intuitiivisesti, mitцє nцєyttцєцє tapahtuvan tцєцєllцє?
Menen eteenpцєin ja valitse Lцєhetцє, ja sitten jotain tapahtuu, selvцєsti.
Mutta mitцє ei tapahdu, ettцє ei tapahdu viime viikolla tahansa klikkasin Lisцєцє?
Mitцє ei tapahtunut ruudulla?
Anteeksi?
Pцєivitцє.
URL ei muuttunut lainkaan.
Sanoin tцєmцє oli dom-0, ja olen vielцє dom-0.
Normaalisti olisimme saada muuttunut johonkin muuhun URL-osoitteen, kuten register.php tai vastaavaa.
>> Mutta vaikka en hylkцєцє tцєmцє asia valitsemalla OK,
huomaa, ettцє URL-osoite pysyy tцєysin laittaa.
Ja itse asiassa, jos olen hieman skeptinen, haluan avata Chrome.
Saanen avata Verkko-vцєlilehti.
Ja huomaa sitцє tyhjцєksi tцєllцє hetkellцє.
Anna minun mennцє eteenpцєin ja lцєhetцє uudelleen Maria.
Ei ole verkkoliikennettцє lainkaan.
Joten ei ole HTTP.
>> Joten todellakin, jos katson lцєhdekoodi varten this-- haluan sulje tцєmцє ikkuna
ja mene View Source.
Mielenkiintoinen.
Nцєyttцєцє siltцє, Б─▀Б─▀ettцє joitakin uusia tunnisteita, joukossa kцєsikirjoitus.
Joten katsomaan sisцєllцє CS50 IDE mitцє minцє lцєhetetцєцєn kцєyttцєjцєlle.
>> Joten tцєssцє is-- nyt keskittyцє vain HTML.
Tцєssцє alaosa dom-0.html.
Ja huomaa, ettцє se sai otsikko, pцєцє tag, body, muoto tag.
Mutta mitцє hyppцєцє ulos teille eri, varsinkin jos et ole koskaan
kirjoittanut JavaScript itse.
Saanen selaa hieman on tцєцєllцє.
Minulla tulo, toinen tulo lцєhetцє.
Minulla tunnus, joka on erцєцєnlainen uusi.
Mutta emme nцєe tцєtцє CSS.
Mitцє muuta on ehdottomasti uusi?
Joo?
Kiva.
>> Selvцє.
Joten jos se sanoo onsubmit, huomaa, mitцє nцєyttцєцє seuraavan.
Tцєmцє on ominaisuus HTML nimikkeistцІn.
Sen arvo on tцєmцє lainattu merkkijono tцєцєllцє.
Ja tцєmцє nцєyttцєцє vцєhцєn outo ensi silmцєyksellцє.
Se ei ole HTML.
Se ei ole CSS.
Tцєmцє on, kuten arvata saattaa, JavaScript.
Nцєyttцєцє siis siltцє, Б─▀Б─▀ettцє tцєmцєkin Web-sivu on toiminto nimeltцєцєn tervehtiцє.
Ja olen pцєцєtellцє, ettцє vain koska se on sana, tervehtiцє.
Se sai avoin paren, lцєhellцє paren, puolipiste.
Nцєyttцєцє C funktio, nцєyttцєцє PHP funktio.
>> Ja todellakin, se tulee olla JavaScript-toiminto.
Sitten olen palaamassa vцєцєriцє.
Tulemme takaisin ettцє vain hetken.
Mutta missцє on tцєmцє toiminto mцєцєritellцєцєn?
No haluan selaamalla ylцІs alkuun tiedoston.
Ja vaikka se on pitkцє linja, se on suhteellisen yksinkertaista.
Saanen loitontaa tцєцєllцє ja keskitytцєцєn nцєihin neljцє riviцє.
>> Joten JavaScript, vain kuten PHP, juuri
sanoa, kirjaimellisesti, sana "toiminto" funktion nimi,
ja sitten sulkeita tahansa arguments-- mitцєцєn perusteluja tцєssцє tapauksessa.
Ja ei ole palautuva JavaScript, aivan kuten PHP.
Joten se on vцєhцєn lцІysempi kuin C. Avoin kihara ahdin, lцєhellцє kihara ahdin.
Rakennettu JavaScript on function-- ei suositella function--
mutta toiminto nimeltцєцєn hцєlytys jonka ainoa tarkoitus elцєmцєssцє
on vetцєцє ylцІs, ettцє melko ruma pyytцєцє, ettцє nцєimme hetki sitten.
>> Nyt tцєmцє on tavallaan suupala.
Mitцє tцєцєllцє tapahtuu?
Joten alkaa Korosta kaikki tцєцєllцє.
Se on sama argumentti varoittaa.
Ja mitцє on tekeillцє?
Tцєmцє vain nцєyttцєцє merkkijono.
Ja se kцєцєntyy pois, toisin kuin PHP ja toisin C, sillцє ei ole vцєliцє JavaScript
jos puolilainausmerkkejцє tai lainausmerkkeihin.
He ovat yhtцє.
Ja rehellisesti, se on vain suosittu nцєinцє pцєivinцє
JavaScript ohjelmoijat aina Kцєytцє puolilainausmerkkejцє jostain syystцє.
Se on vain asia tehdцє.
Mutta voisimme kцєyttцєцє lainausmerkkejцє, samoin.
>> Joten plus on uusi hahmo.
Mutta ne teistцє, jotka olette tehneet tцєtцє ennen, mitцє plus tarkoittaa?
Joo.
Liitцєt.
Joten nцєimme tцєmцєn PHP.
Siellцє on vain piste operaattori PHP ettцє
tulee ketjuttaa kaksi langat yhteen.
C oli kipua niskassa tehdцє tцєtцє.
Recall PSET kuusi, mikцє oli especial kipua niskassa,
sinun pitцєisi kцєyttцєцє jotain strcat
jцєlkeen jaettaessa muisti pinoon tai kasaan.
Sinun piti hypцєtцє kautta vanteet vain liitцєt kaksi merkkijonoa.
JavaScript, se on erittцєin yksinkertainen.
Kцєytцє vain plus operaattorin vцєlillцє.
>> Niin monimutkainen nцєkцІinen asia nцєyttцєцє olevan tцєmцєn
koska lopussa tцєmцє koko jono, en vain
liitцєt on huutomerkki.
Joten jos mitцє popping oli "Hei, David", "Hei, Hannah,"
"Hei, Maria," ja niin edelleen, selvцєsti ettцє keski asia kahden
plussia on antaa minulle pцєцєsyn mitцє?
Mitцє siellцє on varmasti?
Joo.
Niin minцє olevinaan tцєцєllцє vastata heidцєn nimensцє, eikцІ?
Joten heidцєn nimensцє piipahti lopullisessa tulos. Mitцє tцєmцє tarkoittaa?
No, ehdotin aiemmin, ettцє kuva ettцє ns DOM
on tцєmцє erityinen juurielementti tapa ylцІs kutsutaan asiakirja.
Ja nyt, se kцєцєntyy pois, ettцє menee on erityinen globaali muuttuja
JavaScript, rakennettu joka on koko joukko hyцІdyllisiцє toimintoja.
Niistцє hyцІdyllisiцє toimintoja on kyky saada milloin tahansa jцєlkelцєinen solmu.
Ne neliцІn tai suorakaiteen tai ellipsejцє ovat vain solmuja puu, niin sanoakseni.
>> Joten kцєy ilmi, ettцє rakennettu JavaScript asiakirja esine
on funktio, joka tunnetaan myцІs menetelmцє, joka kutsutaan getElementById.
Syntaksi soitosta toiminto JavaScript
ettцє on sisцєllцє esine tai muuttuja on pelkцєstцєцєn piste merkintцє.
Ja nцєimme tцєmцєn C mitцє struct syntaksi.
Nцєet tцєmцєn PSET seitsemцєn, erцєцєnlainen, tavallaan, kun nцєkee CS50 :: kyselyn.
Paksusuoli paksusuolen PHP on toinen tapa kutsuvan toiminto, joka on
sisцєllцє jonkun esineen.
>> Mutta nyt JavaScript, se on vain piste.
Ja niin tцєmцє toiminto, kauniisti tarpeeksi, millaisia
sanoo mitцє se does-- saada elementti tunnus.
Elementti on vain toinen nimi varten tagi tai solmun DOM.
Ja niin saat elementin ID "nimi" tarkoittaa this-- tцєssцє on minun HTML.
Ja perustuu tцєmцєn HTML, mitцє solmu tai mitцє HTML-koodi olenko
menossa ohjelmallisesti luovutetaan soittamalla document.getElementById?
>> Joo, tцєsmцєlleen.
Aion saada tulo elementti siellцє jonka ID on "nimi."
Niin sanottuna voit ajatella tцєtцє toimintoa,
getElementById, koska tapa antaa takaisin osoitin kyseisen solmun
puussa.
Emme ole vielцє tehneet tцєtцє puu, mutta se on tapa
saada pцєцєsyn ettцє suorakulmion tai ettцє suorakulmion
yksilцІimцєllцє se kautta sen tunnus.
>> Nyt, miksi tцєmцє hyцІdyllinen?
No, se kцєцєntyy pois ettцє kun olet pцєцєssyt
ettцє solmu, ettцє Suorakulmion kuva, ettцє solmu sen sisцєllцє,
puolestaan Б─▀Б─▀on koko joukko properties-- avainarvopareja
tai tiedot, joista yksi on nimeltцєцєn arvo.
Niin kirjaimellisesti, se on erцєцєnlainen suupala selittцєцє koko juttu.
Mutta lopussa pцєivцє, kaikki tцєmцє tekee on antaa sinulle
merkkijono, joka kцєyttцєjцєn kirjoitetaan tцєssцє hierarkkinen tavalla.
Mutta en pidцє pari nцєistцє asioista.
Tai pikemminkin, on joitakin uteliaisuus edelleen.
Kaikki tцєmцє tuntui toimivan.
Miksi luulet palasin vцєцєrцє jцєlkeen soittaa tervehtiцє?
Tцєmцє nцєyttцєцє hieman ruma, ettцє Minulla on kaksi lausumaa siellцє
erotettu toisistaan Б─▀Б─▀puolipisteellцє.
Arvaa.
Jos Poistin return false, mitцє voi tapahtua vain vaistomaisesti?
Anteeksi, sano uudelleen?
>> Avaa nippu Windows.
Joten mahdollisesti ehkцє jotain sellaista tapahtuisi.
Mitцє muuta?
Voi esittцєцє pyynnцІn missцє?
Samalle sivulle.
Joten itse asiassa, se siitцє lцєhemmцєksi vastata tцєцєllцє,
vaikka, toisin kuin aikaisemmin, en ole
mцєцєritelty toiminta ominaisuus, joka yleensцє meidцєn on tehtцєvцє.
Osoittautuu siellцє oletuksena. Jos et mцєцєritцє toimintaa,
se on kuin sanoisi lainaus, lainaus tai tiedoston nimi itse,
joka tцєssцє tapauksessa olisi luvassa dom-0.html.
Se on juuri sellainen pцєцєtellцє, tai pikemminkin hiljaista.
>> Joten jos en tee tцєtцє, nyt huomaa.
Sallikaa minun tallentaa.
Ja Poistin return false.
Anna minun mennцє takaisin tцєhцєn Esimerkiksi ja voima lataa se.
Ja ehkцє nцєhnyt minua ehdottaa tцєmцє CS50 Keskustele joukko kertaa.
Jos jotain koskaan toimii outoja ja Selaimen ei kцєyttцєydy kuin odottaa,
Usein sinun kannattaa pitцєцє Shift ja valitse sitten Pцєivitцє.
Tцєmцє pakottaa jokaisen tiedoston ladata ja kцєytцє selaimen paikallista vцєlimuistia
tai kopio niin, ettцє nyt, anna minun mennцє eteenpцєin ja avata minun tarkastaja, Verkko-vцєlilehteцє.
Aion napsauta Sцєilytцє Log koska olen
eivцєt halua sitцє poistaa rivejцє kun saan pyyhkцєistiin pois muualla.
>> Anna minun mennцє eteenpцєin tцєssцє ja kirjoita Andi, valitse Lцєhetцє.
Selvцє.
Tцєmцє vaikuttaa odotetusti.
Se sanoo "hei, Andi."
Saanen OK.
Mielenkiintoinen.
Huomaa, ettцє sivua on muutettu, vaikkakin alkuperцєisen sivun.
Huomaa URL sellaista muuttuneen.
Se lisцєsi kysymysmerkki, joka on yleensцє indikaattori
ettцє yritimme esittцєцє jotain.
Ja sitten alareunassa, vielцє selvemmin,
tцєssцє todellinen HTTP-pyyntцІ, joka sai vastauksen 200 ettцє
toi minut tцєnne.
>> Joten tцєmцє ei ole mitцє me haluamme tehdцє, eikцІ?
Koska en halua lataa koko sivun.
Olen sen sijaan halusi palata vцєцєriцє jotta oikosulku
selaimen oletustoimintaa, joka oli tietenkin esittцєmцєцєn sivulle.
>> Joten katsomaan marginaalisesti parempi esimerkki.
Tцєmцє on dom versio yksi.
Ja huomaa seuraavat.
Se on OK, jos et grok kaikki riviцє koodia.
Mutta mikцє on tцєysin erilainen tцєstцє tцєytцєntцІцІnpanosta?
Minцє mцєцєrцєtцє se kцєyttцєytyy sama, ei sama asia.
Mitцє olen tietenkin tehdцє toisin?
Joo?
>> YleisцІ: [цєцєnetцІn].
DAVID MALAN: Joo.
Joten toiminto on mцєцєritelty differently-- Toisin sanoen, poissa muodossa,
siellцє verkossa 7-- tai pikemminkin, linja 8-- enцєцє
minulla on onsubmit mцєцєrite.
Edellisessцє esimerkissцє, minulla oli tцєmцє.
Ja sitten kirjaimellisesti kirjoitin koodin tцєhцєn.
Ja sitten minцє sanoin return false.
Ja jos se ei hankaa olet vцєцєrцєllцє tavalla vielцє,
se pitцєisi alkaa sikцєli kuten, kuten HTML,
kun aloimme tehdцє yhteistyцІtцє seurustella se CSS tyyli attribuutteja,
se vain alkoi saada vцєhцєn sotkuinen tai tuntuu hieman vцєцєrцє.
>> Samoin tцєцєllцє, jos aloitat HTML,
ja sitten automaattisesti plop JavaScript-koodia
keskellцє noteerattu merkkijono, se on ei tule olemaan hyvin yllцєpidettцєvissцє.
Oikea?
Se ei ole edes selvцєцє aluksi paikka, jossa JavaScript-koodia on.
Joten se olisi todella mukavaa kuin periaate paremman suunnittelun,
Pitцєkцєцєmme HTML tцєysin erillцєцєn JavaScript.
>> Niin tehdцє niin, mitцє olemme tehty tцєssцє following--
me yksinkertaisesti kцєyttцєцє HTML markup vain.
Ja niin versiossa yksi tцєmцєn, kaikki Minulla on lomake yksilцІllinen tunnus.
Ja sitten tцєцєllцє, olen hyцІdyntцєmцєllцє erityinen piirre JavaScript
jolloin voin olla mitцє nimeltцєцєn anonyymi toiminto.
Joten kцєy ilmi, ettцє jos soitan document.getElementById on "demo"
se on kuin antaa minulle osoitin tцєmцє solmu minun puu, muoto elementti,
niin sanoakseni.
>> Nyt, minцє vain tiedцєn tietцєen hieman HTML
nyt meillцє oli lukenut joitakin online viittaus, ettцє lomake elementti tukee
koko joukko tapahtuma listeners-- vuonna Toisin sanoen, pitkцє lista tapahtuma
kuuntelijat ettцє nцєimme hetki sitten.
Tiedцєn lukemalla asiakirjat ettцє onsubmit on voimassa tapahtuma
kuuntelija osan.
>> Joten kun tiedцєn ettцє, se on turvallista minun tehdцє
following-- saada ettцє solmu puusta, muoto elementti,
ja kцєyttцєцє sen ns onsubmit omaisuutta.
Joten piste tarkoittaa vain sitцє, tцєmцє on ominaisuus,
kuten erityinen arvo sen sisцєlle.
Ja mitцє tietoja tyyppi olen osoitetaan, ilmeisesti,
ja onsubmit, joka on tehokkaasti muuttuja sisцєllцє
kyseisen solmun puussa?
Se on alan sisцєllцє ettцє struct.
Mikцє tietotyyppi?
>> Toiminto, joo.
Joten kцєy ilmi, ettцє PHP on tцєmцє.
Ja vaikka me ei kertonut teille siitцє,
C on myцІs funktio-osoittimia, kyky siirtцєцє ja siirtцєцє toiminnot
muuttujina arvot itse.
Ja emme aio taantua takaisin C.
Mutta nyt, kцєy ilmi, ettцє oikealla puolella tцєцєllцє,
vaikka se nцєyttцєцє vцєhцєn funky, tцєmцє tarkoittaa, hei selain,
anna minulle toiminto.
En aio edes vaivaudu antamaan se nimi, koska olen kirjaimellisesti
aio luovuttaa kutsukaamme sitцє osoite tцєmцєn toiminnon
vцєlittцІmцєsti onsubmit.
Toisin sanoen, selain, et tarvitse tietцєцє, mitцє tцєmцє toiminto kutsutaan.
Sinun tarvitsee vain tietцєцє missцє se on muistissa.
Ja niin se riittцєцє vain on yhtцєlцєisyysmerkki siellцє
eikцє vaivata nimeцєminen tцєhцєn, kuten foo tai tervehtiцє tai muuta sanaa.
Ja nyt tцєmцє on vain tyylillinen asia.
Voisin siirtцєцє tцєtцє kihara ahdin pцєцєlle the-- sorry-- seuraavalle riville
kuten me yleensцє tehdцє CS50.
Mutta JavaScript, se on todella tyylillisesti yhteinen
vain pitцєцє kihara ahdin, Ensimmцєinen, on ettцє ensimmцєisellцє rivillцє.
>> Mutta tцєmцєn jцєlkeen, on olemassa ei mitцєцєn kiinnostavaa.
Ettцє avoin kihara ahdin vain rajataan alussa tehtцєvцєni.
Toiminto on nyt identtinen, paitsi olen
sisцєltyy return false sisцєllцє tцєtцє toimintoa.
Koska se kцєцєntyy out-- ja olisit vain
tietцєvцєt tцєmцєn lukemasta documentation--
ettцє jos toiminto, annat jotta onsubmit ohjaaja palaa vцєцєriцє,
selain vain tietцєцє ja on samaa mieltцє ei lцєhettцєцє lomakkeen palvelimelle.
Jos se palauttaa true, se toimittaa sen palvelimelle syistцє nцєemme
ovat hyцІdyllisiцє vain hetken.
>> Ja sitten puolipiste jцєlkeen kihara ahdin siellцє vain
tarkoittaa olen tehnyt mцєцєritellцєцєn toiminto.
TiedцєtkцІ mitцє soittaa heti kuulet jцєttцєmisestцє.
Selvцє.
Tцєmцє on edelleen kiistatta sellainen ruma.
Mitцє enemmцєn voimme tehdцє?
>> No, se kцєцєntyy pois sitten versio kaksi, joka on last--
ja me vain vilkaista tцєtцє.
Sillцєkin uhalla tehdцє se rumempi, se kцєцєntyy pois
ettцє siellцє on kirjasto Maailmassa nimeltцєцєn jQuery.
Ja jQuery on erittцєin suosittu JavaScript kirjasto
se on niin suosittu, ettцє useimmat kaikki JavaScript-- se ei ole
harvinaista, ettцє ihmiset sekoittavat jQuery JavaScript.
Miksi?
JavaScript itsessцєцєn on hyvin verbose tapoja tehdцє things--
document.getElementById, dadadadadada.
Voit pцєцєtyцє ottaa hyvin pitkцє riviцє koodia.
>> Joten mies nimeltцє John Resid, joka todella toimii kцєynnistyksen
nцєinцє pцєivinцє, tuli ulos Tцєmцєn kirjasto vuotta
sitten, ettцє monet ihmiset ovat vaikuttaneet soitettaessa jQuery joka muuttaa
syntaksi seuraavalla tavalla.
Ja juuri niin olet nцєhnyt tцєmцєn, koska sinulla poikkeuksetta
katso tцєmцє jos tekee Web-pohjainen opinnцєytetyцІ,
tцєmцє olisi vastaava tapa tцєytцєntцІцІnpanosta ettцє sama tehtцєvцє kцєyttцєen
tцєtцє erityistцє kirjasto.
>> Nyt sen sijaan, ettцє kammata sen lisцєksi kokonaisuudessaan,
Haluan vain tarkastella joitakin malleja.
Tцєmцє syntaksi nцєyttцєцє olevan kuinka moni nimetцІn toimintoja
tai nimetцІn toiminnot tai AKA lambda toimintoja?
Kaksi, eikцІ?
Ja te tiedцєtte, ettцє vaikka et ole super mukava tцєmцєn,
vain se, ettцє se sanoo toiminto () kahdesti.
>> Ja kцєy ilmi, ettцє mitцє tцєmцє koodi on doing--
ja me viittaavat verkossa viittauksia, lopulta, joillekin apua tцєhцєn.
Tцєmцє tarkoittaa vain sitцє, ettцє kun asiakirja on valmis,
mennцє eteenpцєin ja rekisterцІidцє seuraava toiminto
kuten esittцєцє kцєsittelijцє HTML elementti, jonka ainutlaatuinen idea on demo.
Ja sitten, kun se tapahtuu, kutsuvat nцєitцє kahta riviцє koodia.
Ja tцєmцє on, traagisesti, enemmцєn verbose tapa sanoa return false.
Ja me mainitsi tцєmцєn juuri siksi, nцєet koodin nцєin verkossa.
Ja se on mitцєцєn lannista.
Vaan pitцєцє mielessцє, ettцє mitцє olemaan yhteinen JavaScript
on tцєmцє paradigma.
Ja niin siksi osoitamme sitцє nyt.
Selvцє.
Joten ilman asunnon liian paljon ettцє syntaksin,
on olemassa mitцєцєn kysymyksiцє Nцєissцє esimerkeissцє tai ideoita tцєhцєn mennessцє?
Selvцє.
Joten kцєyttцєцє jotain hyцІdyllistцє.
Making Web-sivu, vain sanoo hei, niin ja niin ei ole kovin kiinnostava,
ei ei tehdцє mitцєцєn vaikutusta jhk.
Tцєmцє ei tule olemaan kaunis, mutta se aikoo tehdцє jotain hyцІdyllistцє.
Anna minun mennцє takaisin minun hakemistoon tцєцєllцє ja avata, sanovat, muoto-0.html.
>> Joten kai tцєmцє on fuksi sisцєiset urheilu rekisterцІinti sivu
ilman CSS tai mitцєцєn jцєrkeцє suunnittelu.
Ja haluan mennцє eteenpцєin ja rekisterцІidy tцєцєllцє salasanalla.
Ja aion hyvцєksyt ehdot ja ehdot ja valitse Register.
Ja nyt verkkosivuilla sanoo, "Olet rekisterцІity! (No, ei oikeastaan.) "
Ettцє tuntuu kuin se toimi, mutta anna minun mennцє eteenpцєin ja pakottaa reload.
>> Ja haluan sanoa, ei, et Tarvitsen todellinen sцєhkцІpostiosoite.
Tai ehkцє me vain sanoa postia siellцє.
Salasana on, kuten, 12345.
Ja sitten, vain koska olen idiootti, nyt se on 123.456.789.
Ja en aio tarkistaa ruutuun.
>> Hmm.
Selvцє.
Joten ei useita tilaisuuksia parantamisen tцєцєllцє.
Ja te tiedцєtte, tai nцєkevцєt PSET seitsemцєn, ettцє voit kirjoittaa code--
ja sinun tцєytyy kirjoittaa koodi PHP-- puolustaa
vastaan Б─▀Б─▀tцєllaisia Б─▀Б─▀kцєyttцєjцє virheitцє, koska kцєyttцєjцє selvцєsti
ei toiminut yhteistyцІssцє.
Ja hцєn ei ole antanut sinulle kaikki arvot halusitte tai jopa muodossa
ettцє haluatte niitцє.
Joten voit nцєhdцє PSET seitsemцєn ettцє voisimme varmasti joitakin
jos olosuhteet, jotka sanovat jos sцєhkцІpostiosoite
ei ole username@something.edu, voisimme vain
anteeksi ja anteeksi kцєyttцєjцєlle paljon, kuten saatat olla PSET seitsemцєn.
Tai jos he eivцєt ole tarkastaneet, ettцє laatikko, osoittautuu PHP, voit havaita ettцє,
liian.
Ja varmasti jos salasanat eivцєt tцєsmцєцє kuin register.php
varten PSET seitsemцєn, voit havaita, ettцє.
Mutta se kipu kaula, ettцє nyt ne pyytцєvцєt
meidцєn mennцє koko matkan palvelimelle.
Kцєyttцєjцє saa tiedon virheestцє.
Ja ainakin jos kцєytцєt jotkut harrastaja tekniikoita,
nyt ne tцєytyy klikkaa takaisin nuolta.
EikцІ olisi mukavaa, kuten paljon sivustoja tцєnцєцєn,
jos sinulla on ollut enemmцєn vцєlitцІntцє palautetta, heti?
>> Toisin sanoen, anna minun mennцє versio yksi, joka tulee olemaan ei kauniimpi.
Mutta se ei ole tцєtцє ominaisuutta.
Malan, 12345, 123456789, ei menossa valintaruutu, rekisteriin.
Salasanat eivцєt tцєsmцєцє.
Joten vaikka tцєmцє pop-up on ugly-- voimme korvata tцєmцєn lopulta
kanssa jotain Bootstrap, joka sinun nцєhdцє PSET seitsemцєn
on erittцєin suosittu library-- tein havaita, ettцє salasanat eivцєt tцєsmцєцє.
Selvцє.
No, minцєpцє korjata, ettцє kцєyttцєjцє.
Anna minun mennцє eteenpцєin ja sanoa 12345, 12345.
Vielцє ole tarkkailun sopimusta.
Sinun on hyvцєksyttцєvцє kцєyttцІehdot.
Miksi siis?
>> Jos olemme jo posited ettцє olemassa tapa,
ja olemme tarvitaan sinua PSET seitsemцєn havaita virhe
olosuhteet kuten tцєmцє server-side, miksi minun pitцєisi
vaivautua myцІs Nцєin JavaScript?
Mitцє argumentti kannattaa lisцєtцє mitцє
olet tulleet niin some-- siellцє on lisцєцє ongelmia.
>> Ehkцє ei ole ylцІsalaisin.
Mikцє se voisi olla?
YleisцІ: [цєцєnetцІn].
DAVID MALAN: Oh, mielenkiintoinen.
Mahdolliset hyцІdyntцєцє.
Niin varma, jos et kцєsittely virheellinen kцєyttцєjцє syцІttцєцє ettцє suuri,
ehkцє se on aina parempi, jos se ei edes pцєцєse palvelimelle.
Haluan tyцІntцєцє takaisin sinne ja sanoa, sinun pitцєisi luultavasti
korjata molemmat nцєistцє ongelmista.
Mutta se on reilua.
Mitцє muuta?
>> YleisцІ: [цєцєnetцІn].
>> DAVID MALAN: Joo.
Tцєmцє koodi, kuten sanoimme aiemmin, on tulkittava client-side.
Se ei hцєiritse palvelin, mikцє tarkoittaa, ettцє se ei ole
vaikuttaa palvelimen kuorman tai kapasiteettia.
Ja nyt, pieni vanha minulle, tцєmцє ei ole mielekцєs vaikutusta
koska minulla on yksi kцєyttцєjцє juuri nyt.
>> Mutta jos olet mitцєцєn verkkosivuilla kunnon kokoinen,
erityisesti suurin, kuten Facebook, enemmцєn voit pitцєцє ihmiset pois
palvelimen paremmin koska palvelin, tietenkin,
on vain rajallinen mцєцєrцє muistia, rajallinen mцєцєrцє gigahertsin,
rajallinen mцєцєrцє asioita se voi tehdцє aikayksikkцІцє kohti.
Joten jos on enemmцєn ihmisiцє maailma lyцІmцєllцє palvelimelle,
vahingossa kirjautumisen vцєцєrin, yhtцє hyvin, jos
voi pitцєцє, ettцє kuormitusta palvelimelle.
Plus, erityisesti mobiili device-- Jos olet koskaan
kirjautua my.harvard tai Yalen netid tai vastaavan,
on tцєmцє latenssi paljon sivustot kuten ettцє jolloin se kestцєцє,
kuten, hemmetin toinen tai kaksi joskus.
Ja sitten, minun Jumalani, jos mistype, sinun tцєytyy iskeцє takaisin ja tehdцє uudelleen se.
Joten siellцє on latenssi, erityisesti hitaammilla verkkoyhteyksiцє.
Mutta JavaScript, koska se toimii asiakkaan
ja ei tarvitse mennцє edestakaisin yli mahdollisesti hidas internet
yhteys, voit saada lцєhes hetkellinen palautetta.
>> Joten katso tцєtцє.
Saanen avata muotoon 0 ja tarkastella HTML tцєцєllцє.
Ja haluan vain nцєhdцє, mitцє tapahtuu.
Tцєmцє on lomake, jonka toiminta on register.php.
Olen vain kцєyttцєmцєllцє saada niin ettцє voisin nцєhdцє URL.
Mutta salasanoja, olisimme varmasti haluamme muuttaa tцєtцє lцєhettцєцє todellisuudessa.
Tцєssцє syцІttцІkentцєssцє kirjoittaa tekstiцє.
Tцєssцє toinen tulo alalla Kirjoita salasana.
Tцєssцє on, jos et ole koskaan nцєhnyt, tulo tyypin valintaruutu.
>> Mutta ei ole JavaScript tцєцєllцє lainkaan.
Tцєmцє on vain HTML ettцє menee register.php.
Mutta versiossa yhdessцє, missцє olen alkoi saada nцєmцє ponnahdusikkunoita,
Katsotaan mitцє todella tapahtuu tцєцєllцє.
Versiossa yksi, mitцє Aion see-- I
ajattelin pysцєhtyy tarpeeksi tarpeeksi sanoja, mutta juoksin ulos.
>> Versiossa one-- siellцє mennцєцєn.
Versiossa yksi, huomaa following-- ja ei ole paras tцєytцєntцІцІnpanoa,
mutta se on minun ensimmцєinen.
Huomaa, ettцє alle muodossa, minulla on komentosarjatunnus.
Ja komentosarjatunnus tarkoittaa, hei, selain, tцєssцє
tulee joitakin koodi, tyypillisesti, JavaScript.
Ja nyt, huomaa, mitцє olen tekemцєssцє.
On line-- voin tuskin Lue it-- linja 32, se sanoo,
var form-- niin anna minulle muuttuja nimeltцє muodossa.
Ja sitten saada document.getElementId ja "rekisterцІinti."
Mikцє tцєmцє on?
No, minцєpцє taaksepцєin tцєnne.
Ja ilmoitusta, ah, annoin lomakkeen elementti mielivaltainen mutta kuvaava ajatus
rekisterцІinnin.
Joten tцєmцє antaa minulle muuttuja antaa minulle mahdollisuuden napata ettцє solmu,
ettцє suorakulmion puu nimeltцєцєn muodossa.
form.onsubmit keinot, hei selain, RekisterцІidy tapahtuman kuuntelija
tцєllцє lomakkeella.
Toisin sanoen, kun tцєmцє muoto on toimitettu, suorittaa seuraava koodi.
Se ei tarvitse nimeцє, koska miksi sinun tцєytyy tietцєцє nimi?
Sinun tarvitsee vain tietцєцє mitцє suorittaa, ergo
se nimetцІn tai lambda-toiminto.
Ja ettцє toiminto on kaikki nцєmцє linjat tцєцєllцє.
Ja nyt, ollakseni rehellinen, vaikka ei ehkцє olisi koskaan kirjoittanut JavaScript
ennen, se on vain C ja PHP logiikka.
Joten jos form.email.value == "" - joten jos sцєhkцІpostia kenttцє on tyhjцє,
huutaa kцєyttцєjцєlle "Sinun tцєytyy anna sцєhkцІpostiosoitteesi. "
Else jos form.password.value on tyhjцє huutaa kцєyttцєjцє,
"Sinun on annettava salasana."
>> Lisцєцє kiinnostavaa loogisesti, jos form.password.value ei
yhdenvertaisen form.confirmation.value-- Mistцє vahvistus tuli?
Saanen taaksepцєin.
No, pyysin tцєmцє tulo kenttцє tцєцєllцє salasana.
Ja Kutsuin tцєmцє tцєцєllцє vahvistusta.
Voisin ovat kutsuneet sitцє salasana kaksi tai jotain muuta.
Olen vain loogisesti tarkkailun ettцє nцєmцє kaksi ovat samoja.
Else-- se kцєцєntyy pois tцєmцє on Mr. Boole again-- totuusarvon, valintaruutu.
Joten jos sanon, huudahdus point-- jos ei form.agreement.checked,
huutaa kцєyttцєjцє samoin.
>> Joten tцєmцє syntaksi nцєet on hyvin yleinen JavaScript,
jos sinulla on pistein erotettu.
Aloitat objekti tцєцєllцє.
Voit sukeltaa syvemmцєlle ja omaisuutta kuten salasanan.
Ja sitten saat sen todellisen arvon.
Ja vielцє, tцєssцє on panos.
Tцєssцє on Salasana.
Ja sen arvo on riippumatta ihmisen on todella kirjoitettu.
>> Niin kaikissa nцєissцє tapauksissa, palasin vцєцєrцє.
Mutta jos ei, palaan totta.
Ja nyt nцєemme pakottavia kцєyttцІ kun
voit palata false lopettaa se, mitцє kцєyttцєjцєn tekemцєssцє
ja hцєnet tai hцєntцє valitsemaan uudelleen tai kirjoita uudelleen.
Muuten palaamme totta.
>> Ja haluan esitellцє yksi muut muunnelma tцєmцє vain
siemeniцє jonkinlainen kцєsitys siitцє.
No, versiossa 2 Tцєmцєn lomakkeen-2-- Teen sen aallon kцєsi.
Tцєmцє on, niille utelias, jQuery versio,
Niille teistцє, jotka kannattaa harrastella kyseisessцє kirjastossa.
Mutta katsotaanpa start-- ja kysymyksiцє?
Saanen pysцєhdy hetkeksi, koska ettцє oli nopea ja paljon.
>> Mutta mukava asia tцєssцє on, ettцє kaikki koodi on melko sama.
Uusia juttuja on mitцє on Dom?
Mitцє nцєmцє suorakulmioita?
Mitцє nцєmцє solmut?
Mikцє anonyymi funktio?
Mikцє tapahtumankцєsittelijцєnцє?
Mutta onneksi suurin osa joka on vain tцєysi ympyrцє pцєцєssцє vaikkapa viikko nolla.
Selvцє.
Joten jotain hieman mielenkiintoisempaa?
No, ensinnцєkin, anna minun mennцє eteenpцєin ja avata Google Mapsin.
Ja huomaat, ettцє hetki, on sekunnin murto,
huomaa, mitцє tapahtuu, kun En osoita tarpeeksi nopeasti.
Ja tцєssцє yhteydessцє Harvardin on niin nopeasti, ettцє et todella huomaa sitцє.
Mutta mitцє sellainen tavallaan nцєhdцє jos napsautan ja vetцєцє todella nopeasti?
Ne teistцє katsomassa verkossa, jos hidas tцєmцєn 0.5x nopeus,
nцєet tцєmцєn paremmin.
>> Mitцє oli tapahtumassa juuri ennen klikkasin ja vetцєцє?
Yritцєn here-- anna minun tehdцє jotain muuta, kuten 90210.
Mennцєцєn kaukana.
Se oli todella nopea, liian.
Entцє Disney World?
Siellцє mennцєцєn.
OK.
Mitцє sinцє nцєe sekunnin murto?
Aivan, kuten, aukiot, eikцІ?
Paikanvaraajia laatat?
>> No, mitцє tцєцєllцє tapahtuu?
Google Maps on mukava esimerkki tцєmцє tekniikka ettцє kutsutaan AJAX.
Ja tцєmцє on silloin alamme Kцєytцє JavaScript erityisen
houkutteleva tavalla.
Takaisin seuraavana pцєivцєnцє, oli Tцєmцєn sivuston nimeltцє MapQuest.
Ja minun olisi pitцєnyt kuvakaappaus tцєmцєn 1990-luvulta,
jossa jos halusi etsiцє tцєцєllцє kartalla,
voit kirjaimellisesti klikkaa nuolta ylцІs alkuun, ettцє nцєytin sinulle
eri neliцІn kartan.
Jos halusi siirtyцє vasemmalle, te napsautti nuoli, joka osoitti sinulle
eri neliцІn kartan.
Ja jotkut sivustot vielцє tehdцє tцєmцєn tцєnцєцєn.
Mutta vaikka MapQuest on saanut parempi, kuten Google Mapsissa.
>> Sen sijaan, mitцє parempi nцєmцє pцєivцєцє on sivustoja, jotka kцєyttцєvцєt AJAX.
AJAX-- joka tunnetaan myцІs Asynchronous JavaScript ja XML,
joka on vain hieno tapa sanoa teknologia tai tekniikka,
mahdollistaa selaimen JavaScript lisцєmaksujen HTTP-pyyntцІjen
kun sivu on ladattu.
Mitцє tцєmцє tarkoittaa?
No, se olisi erцєцєnlainen цєrsyttцєvцєцє Gmailissa
jos aina halunnut tarkistaa sцєhkцІpostisi,
olisit kirjaimellisesti lyцІdцє Ctrl-R tai Komento-R tai napsauta Pцєivitцє painike
ja koko hiton sivu olisi uudelleen.
Oikea?
Se flash valkoinen luultavasti toiseen.
Nцєkisitte tyhmцє etenemispalkki.
Ja vain nцєhdцє, jos sinulla on uusi posti, koko web-sivun ja URL
olet olisi ladata.
>> Mutta se ei ole mitцє tapahtuu Gmailissa.
Oikea?
Kun saat uuden sцєhkцІpostin Gmail, mitцє tapahtuu ruudulla?
Se vain osoittaa ylцІs, oikea?
Se vain maagisesti nцєyttцєцє uutena rivin taulukossa.
Joka todella merkitsee ihmisarvoisen mцєцєrцє monimutkaisuus.
Itse asiassa, jos ajattelee tцєmцє puu, joka vaikka on yksinkertainen tцєцєllцє,
Gmail-- ja olin on tarkasteltava klo koodi on sure--
luultavasti on HTML-taulukon tai ehkцє JцєrjestцєmцєtцІn lista, ettцє se tekee
jokainen sцєhkцІpostilaatikoitaan sцєhkцІposteja.
>> Ja joten jos kuvitella tцєmцє on on puu muistissa, kun olet
Gmailin ettцє nцєyttцєцє sellaista tavallaan kuten tцєmцє, kun Google tajuaa, ooh,
sinulla on uuden sцєhkцІpostiviestin, se ei haluavat rakentaa koko puun.
Pikemminkin se haluaa lцІytцєцє solmun puu, joka edustaa postilaatikkoosi
ja vain lisцєtцє uusi solmu.
>> Joten hyvin samanlainen PSET viisi, jossa oli lisцєtцє solmut tiiviste,
Vastaavasti Google, kautta JavaScript-koodia, joka on kirjoitettu,
poikittainen tцєmцє puu, selvittцєцє missцє on se Saapuneet osa ikkunan,
ja sitten lisцєtцє uuden rivin.
Ja uusi rivi vain tarkoittaa yksi tai enemmцєn uusia solmuja puussa.
>> Ja niin AJAX on tцєmцє tekniikka joka mahdollistaa juuri nцєin.
Kun olet kцєynyt URL, mutta hullu kauan se on,
ja kun sivulla on ladattu, voit silti
napata enemmцєn tietoja internet-- onko se
sцєhkцІpostia tai laatta map-- napata se kulissien takana
ja aseta se sivulle niin ettцє ihmisen ei oikeastaan
tarvitse odottaa sitцє.
>> Facebook Messenger toimii samalla tavalla.
Useita muita websites-- Voi, itse asiassa, vaikka tцєmцє.
Tarkoitan, tцєmцє on suoraan sanoen erцєцєnlainen цєrsyttцєvцєцє on nцєinцє pцєivinцє.
Jos minцє alkaa etsiцє cats-- tцєmцєn on sellainen kamala kцєyttцІkokemuksen.
Se vain alkaa hakea minulle.
No mitцє se tekee?
URL ei ole juurikaan muuttunut koska aloin kirjoittaa.
Mutta mitцє tapahtuu kaikkialla wire-- OK, hmm mielenkiintoinen.
Mitцє on meneillцєцєn koko lanka tцєssцє vain saa weirder.
>> OK.
Joten anna minun mennцє eteenpцєin ja tarkasta elementti ja mene Verkko-vцєlilehti
ja yrittцєцє tehdцє tцєtцє tekninen ja vцєhemmцєn noin kissoja.
Kuin kirjoitan, kirjaimellisesti, kissat and-- mitцє tapahtuu
per-- En aio klikata ettцє.
Selvцє.
Joten tцєцєllцє, mitцє tapahtuu joka kerta kun kirjoitat merkin, ilmeisesti?
Kuten, alhainen?
Mitцє tapahtuu kunkin nцєistцє merkkiцє Olen kirjoittamalla minun nцєppцєimistцІ?
Joo?
YleisцІ: [цєцєnetцІn].
>> DAVID MALAN: Aivan.
Kukin nцєistцє merkeistцє on menossa Google, yksi kerrallaan.
He ovat rakentamassa merkkijono niiden palvelin, joka edustaa
mitцє olen kirjoittanut toistaiseksi.
Ja joka kerta olen tyyppi toinen hahmo, ne
kцєyttцєцє salainen kastike hakualgoritmi ja selvittцєцє,
Tarkoittaako hцєn tцєllцє kissa sivu tai tцєmцє kissa sivun tai vastaavaa?
Joten jossain mielessцє, se antaa minulle parempi kokemus, ettцє en edes
tцєytyy suorittaa minun ajatukseni.
Ja todellakin, se on hyцІdyllinen asia, Automaattinen tцєydennys yleensцє.
Jos heidцєn algoritmit ovat tarpeeksi hyvцє ja jos minun haut ovat ilmeisiцє tarpeeksi,
Minulla ei tarvitse kirjoittaa koko sanan.
He kertoa minulle, mitцє se on olen todella etsivцєt.
Joten mitцє Google kutsuu instant haku on vain AJAX,
kцєyttцєцє koodin, jonka avulla ne voivat pyytцєцє lisцєsisцєltцІцє verkkoselaimen kautta
kulissien takana kцєyttцєen tцєtцє uusi kieli, JavaScript.
Meillцє on pari minuuttia jцєljellцє.
Ja haluaisin kutsua kaverini Colton ylцІs lavalle,
koska se tuntui erityisesti hauskaa viimeksi
ottaa kцєyttцІцІn teknologiaa ettцє jotkut teistцє
ovat ilmaisseet kiinnostuksensa vuonna lopullista hankkeisiin.
Ajattelimme se olis hauska tuoda ylцІs vapaaehtoinen, vaikka, tцєnцєцєn
nцєyttцєцє lisцєksi tцєmцє joka mahdollistaa sinцє-- joo,
Minцє nцєin tцєmцєn korttinsa ensin.
Tule ylцІs.
Erittцєin hyvin tehty.
Hyvцє tyцІ.
Aion hankkeen tцєtцє nцєyttцІ vain hetken.
Mikцє sinun nimesi on kaikille?
>> EFA: Olen Efa.
>> DAVID MALAN: Etha?
>> EFA: Efa.
>> DAVID MALAN: Efa?
>> EFA: Joo.
>> DAVID MALAN: Kiva nцєhdцє sinua.
Selvцє.
Nyt tцєmцє valmiiksi.
Tule yli keskelle Colton tцєцєllцє.
Mitцє Colton on kцєsissцєцєn tцєnцєцєn on kaukosцєцєdin.
Joten sen sijaan vain seistцє siellцє kolmiulotteisessa maailmassa katselee ympцєrilleen
kuten Colton teki, nyt Efa voi itse kцєvellцє ympцєri menemцєllцє ylцІs,
alas, vasemmalle ja oikealle kuten Nintendo tai Xbox-ohjain.
EFA: Aion pudota pois lavalta.
DAVID MALAN: minцє seistцє noin tцєnne.
Mutta se on riski.
OK.
Niin mene eteenpцєin ja laittaa ne.
Anna minun mennцє eteenpцєin ja vaihtaa nцєytцІn tцєцєllцє.
Saanen himmentцєцє valoja.
Ja Colton, haluan tulevat seistцє vieressцєsi.
>> Haluatko selittцєцє tцєцєllцє kanssa mic mitцє teemme?
Ole hyvцє.
>> COLTON: Toki.
Joten nyt olemme lataamisen Oculus,
Luulen operating-- ei toimi jцєrjestelmцє, mutta pцєцєohjelma, jossa
voit kцєyttцєцє kaikki pelit ja sovellukset, jotka ovat kirjastossa.
Joten nyt, sen pitцєisi sanoa napauttamalla kosketuslevyцє alkaa.
Touchpad tulee olemaan oikealla puolella kuulokkeet.
Niin mene eteenpцєin ja tap--
EFA: Voi mies.
DAVID MALAN: Joo, siellцє mennцєцєn.
Laatu Efa nцєkee on paljon korkeampi laatu.
Tцєmцє on vain Wi-Fi tцєцєllцє.
COLTON: Mitцє olet menossa haluavat tehdцє
on katseensa alkuun nцєytцІn oikeassa.
Jep, ettцє peli hyvin oikeassa ylцєkulmassa.
Ja sitten kun olet valinnut se, kosketa kosketuslevy uudelleen.
Mielestцєni sen Dreadhalls.
Ja sitten tцєssцє on a-- tцєцєllцє, anna minulle pidцє lasit sinulle.
>> Joten en juuri antoi hцєnelle ohjain.
Joten nyt hцєn voi hallita peliцє.
Hцєn voi liikkua ja tavaraa niin.
Niin mene eteenpцєin ja etsiцє ylцІs.
Sinun pitцєisi nцєhdцє uuden pelin.
Niin mene eteenpцєin ja voit tehdцє sen.
Nyt sinun pitцєisi pystyцє ohjaamaan itseцєsi ohjain,
samoin, kun peli lataa tцєцєllцє.
Tцєmцє voi olla hieman pelottavaa.
>> EFA: Nyt kerrot minulle.
OK.
>> COLTON: Selvцє.
Joten varmista, ettцє voit liikkua.
OK.
Voit liikkua.
Tцєydellinen.
Joten jos katsot alas, sinulla on kartta.
Kartta nцєyttцєцє, missцє olet.
Voit katsoa ympцєri huonetta.
Voit tцєysin kцєцєntyцє ympцєri.
Joo, tцєsmцєlleen.
Kцєцєnny ympцєri.
>> Niin katso vasemmalla.
Mielestцєni siinцє on jotain voit poimia tynnyrin huoneessa.
>> EFA: Miten saan kartta pois tieltцє?
COLTON: Katso ylцІs.
Vain etsiцє.
Selvцє.
Ole hyvцє.
Nyt mennцє eteenpцєin ja vain kцєцєntцєцє ympцєri.
Niin katso kauemmaksi vasemmalla.
Pidцє liikkuu vasemmalle.
Pidцє nцєkцІinen vasemmalle.
Anna mennцє.
Joo.
>> EFA: Ai, niin.
>> COLTON: Joo.
Kцєvele kohti se ohjain.
Ole hyvцє.
Nyt pitцєisi sanoa noutaa.
Ole hyvцє.
Noutaa.
Selvцє.
Nyt, pцєцєstцє pois tцєstцє huoneesta.
Menkцєцє ja kцєvele tuosta ovesta.
Joten aiot hold-- se sanoo pidцє painiketta vцєkisin auki.
Joten mene eteenpцєin ja pidцє painiketta.
Jep, pakottaa se avaa.
Selvцє.
Hyvцє tyцІ.
Nyt olemme kцєvely ulos huoneesta.
Joten aion jцєttцєцє loput ylцІs teille ja katso mitцє saat selville.
EFA: En aio pimeцєssцє huoneessa.
Hei odota.
Nyt minun tцєytyy mennцє alas tumma sali?
OK, Menen takaisin [kuultavissa].
COLTON: Selvцє.
Jotkut enemmцєn kohteita poimia.
Nцєyttцєцє joitakin kolikoita.
Se lukko pick.
Joten jos lцІydцєt lukittu ovi, voit kцєyttцєцє sitцє.
Oletko peloissasi?
>> EFA: Ei vielцє.
COLTON: OK.
>> Pretend-- joo.
Vain teeskennellцє olet todella seisoo siellцє.
Ja jos otat around-- sinun tцєytyy tottua siihen.
Mutta se on jцєrkevцєцє.
DAVID MALAN: Ja kun Efa edelleen pelata, koska voisimme tehdцє tцєmцєn koko pцєivцєn,
voimme kaikki TipToe tцєцєllцє.
Mutta meillцє on kaksi muuta paria, jos haluat tulla ja pelata.
Muuten, nцєemme ensi keskiviikkona.
Kiitos meidцєn vapaaehtoinen tцєnцєцєn.
[APPLAUSE]
>> [MUSIC - "SEINFELD Theme"]
SPEAKER 1: No, olen laittamalla uusi PL asentaa.
Muutin juuri OLPF--
>> SPEAKER 2: Mitцє juuri sinцє teet?
>> SPEAKER 1: No, jokainen these-- tцєцєllцє, minцє nцєytцєn sinulle tцєmцє yksi tцєцєllцє.
Voit nцєhdцє sen tцєцєllцє.
>> SPEAKER 3: Mielestцєni olen hyvцє nцєitцє.
Haluatko lisцєцє?
>> SPEAKER 4: Ei, olen hyvцє. [ц└цєnetцІn].
>> SPEAKER 3: Ei, [цєцєnetцІn].
Ota muutama.
SPEAKER 1: toinen vцєri.
SPEAKER 2: OK.
SPEAKER 1: Joten lopulta mitцє se ei se sцєцєtцєцє vцєri of--