JASON HIRSCHHORN: Tervetuloa, kaikille, viikolle 10. Tämä on jännittävä viikko, koska huomenna on Quiz 1, jossa saamme olevassa toisessa. Tänään jaksossa, aiomme mennä yli joitakin resursseja tietokilpailu, ja niin minä vastaamaan kaikkiin ja kaikille kysymyksiä teillä. Ja me lopulta päättyy joitakin käytännön ongelmia. Voimme viettää koko jakso vastaamalla kysymyksiin. Voimme viettää koko jakso menee yli käytännön ongelmia. Me vain laajenee täyttämään tilaa ja aikaa meillä on. Joten laitoin tämän luettelon ajan joka viikko, mutta se on erityisen tärkeää tällä viikolla. Opiskeluun, jos et ole alkoi jo, oh boy. Mutta toivottavasti olet aloittanut jo. Ja olet menossa läpi materiaalit ja resurssien lueteltu tässä. Voin lämpimästi suositella useita näistä. Erityisesti luentomuistiinpanot ovat uskomattoman tärkeää ja hyödyllistä. Study.cs50.net tarjoaa suuri pohjamaali paljon aiheita kävimme. Se on myös hienoja käytännössä ongelmia. Ja sitten, Google on suuri, liian. En tiedä, mitä haluat käyttää sitä. Mutta Google, samoin. Ojenna minulle, jos sinulla on kysymyksiä, kommentteja tai huolenaiheita. Katsokaa tarkastelun istunto diat viime yönä. Tai, jos sinulla on aikaa, Katso video. Ne tarjoavat paljon hyödyllistä materiaalia ja tietoa. Ja yrittää päästä eteenpäin, jos ei kaikki, monet aiheita olemme kattaa ja että olet joita voi tulla tietokilpailu. Puhuminen tietokilpailu, että huomenna. Se on 75 minuuttia pitkä. Monet käytät sitä 1 kello, ja jotkut teistä ovat kun se 05:30. Sillä aikaa olet ottanut sen ja sijainti tulet mukaan, varmista voit tarkistaa asiakirjan on CS50.net etusivulle. Muista, että voit saada yksi 8 1/2 11 arkki ottaa mukaasi. Usein ihmiset eivät käytä tätä arkki aikana lainkaan tietokilpailu. Mutta oikeasti, se on uskomattoman hyödyllinen tutkimus työkalu. Joten koota että levy mitä Vietin luultavasti kolme tai neljä tuntia tekemässä, kun olin opiskelemassa CS50, ja että oli helppo eniten hyötyä miten voisin opiskella tietokilpailuun. Joten vaikka sinulla on joitakin muiden ihmisten opinto-oppaat tarkastella ja käyttää viittauksia, suosittelen lämpimästi tehdä omia opinto-opas, laskemisesta että juttuja yhdessä. Se todella auttaa oppimaan kaikki materiaali. Viimeisenä mutta ei vähäisimpänä tässä osiossa, jälkeen tietokilpailu huomenna olemassa yksi enemmän luento - ensi maanantaina. On vielä yksi kohta, ei ensi Tiistai ennen kiitospäivää, mutta Tiistaina sen jälkeen, että. Tulemme kokous yhdessä lopullisen näkemiin puolueen ja tekee myös hienoja asioita, jotta pääset te innoissaan lisätutkimuksia tietotekniikassa. On vielä yksi projekti, yksi oikeudenmukainen, yksi hackathon. Olemme lähestymässä loppua CS50, joka on jännittävä - mutta myös, jos olet kuten minulle, hieman surullinen. Ennen jatkan, ei kukaan ole kysyttävää, mitä Selvitimme jo tähän mennessä? OK, no mennään yli joitakin kysymyksiä että teillä on tietokilpailu ja aiheita voisimme kattaa. Joten tämä on lista, että olen koonnut. Se ei suinkaan ole tyhjentävä, mutta toivottavasti virkistää muistia, jos on joitakin kysymyksiä jokin näistä aiheita, tai jos sinulla on kysyttävää Käytännössä ongelmia tietokilpailuja menneinä vuosina. Minulla oli pari kysymystä, jotka olivat sähköpostitse minulle, mutta haluan pitää pois niihin toista. Onko kellään mitään kysyttävää, ongelmia he eivät ymmärtäneet, vastauksia he eivät ymmärtäneet päästä meitä alkoi? Avi. Yleisö: Voitko vain mennä yli DOM ja Ajax todella nopeasti? Kuten, mitä meidän täytyy tietää, vai pitäisikö ymmärrä niitä? JASON HIRSCHHORN: Aion vastata Yleensä tämä kysymys, mitä voin tarvitsee tietää kyseiseen aiheeseen x? Koska minulla on tunne monet teistä aiot kysyä minulta, että vai utelias että. Niin siinä määrin, että aihe oli katettu luento, tai osan, tai study.cs50.net, ongelma asetettu, tulisi tuntea sen. Joten sinun ei tarvitse tietää jokainen tyyppi TAG, joka on saatavilla HTML-tai kaikenlaisia ​​määritteen tai omaisuuden voit antaa jotain CSS. Mutta jos näit sen luento esimerkiksi jos näit sen ongelma set, sinun pitäisi luultavasti olla tuttu sen kanssa, erityisesti asioita näit luentosalissa. Joten keskustelimme asiakirja objektimallia hieman jakso, enemmän niin luento. Sinun tulisi tuntea kanssa, että paljon se. Ja sinun pitäisi olla perehtynyt Ajax samassa määrin. Emme nähneet uskomattoman pitkälle edennyt tai monimutkaisia ​​esimerkkejä Ajax, joten et aio pyydetään tekemään jotain uskomattoman monimutkaista. Mutta saatat kysyä, miten voin tehdä Ajax puhelun käyttämällä jQuery? Joka on jotain olet nähnyt numero kertoja ennen, niin arvostelu istunto ja luento, ja se on vain kaksi-ish riviä koodia. Niin, että on jotain sinun pitäisi tunnettava. Mutta jälleen kerran, kaikista näistä aiheista, jos olet nähnyt sen ennen, se on reilu peli. Ja saatamme kysyä sinulta - tietenkin, olemme aio kysyä asioita ole ennen nähneet. Koodaus jotain et ole ennen nähnyt. Mikä ei tarkoita sitä, et ole nähnyt työkaluja ratkaisemaan että ongelma ennen. Olet nähnyt näitä työkaluja. Esimerkiksi tietokilpailu 1, jos sinun täytyy koodata strlen. Emme ole koodattu strlen ennen. Mutta osaat käyttää silmukka, osaat käyttää jos olosuhteet. Osaat kirjoittaa muuttujat C. Se tulee olemaan sama asia täällä. Et aio pyydetään tekemään mitä et ole ennen nähnyt, mutta sinua voidaan pyytää, kuten, laita jotain yhdessä uudella tavalla, tai ratkaista eri tyyppisiä ongelmia. Anteeksi, tuo ei ollut erityisesti omaa kysymys, mutta en voi vastata siitä, jokainen viesti mitä tehdä tai ei tarvitse tietää. Mutta myös, anteeksi, viimeinen asia on, että. Olemme käyttäneet huomattavasti enemmän aikaa on linkkiluetteloitaan kuin meillä on Ajax. Et käytä Ajax ongelma asetettu. Yksi keskeisistä piirteistä, jotka Harjoitus joka oli linkkiluetteloitaan. Ja vietimme paljon aikaa luento ja kohta käyttää sitä. Joten, kertoimet ovat linkkilista keksivät lisää usein tietokilpailu kuin Ajax. Tai kysymyksiä, joiden tekemistä linkki luettelo on arvoltaan enemmän pisteitä. Joten voit varmasti keskittyen ja kapea vuonna asioihin, jotka ovat enemmän todennäköisesti keksiä, koska meillä on viettänyt enemmän aikaa niihin. OK muita kysymyksiä? Joo. Yleisö: Voimmeko mennä yli käyttöä anonyymi toimintoja JavaScript? Olen ovat hieman hämmentynyt siitä. JASON HIRSCHHORN: Joten JavaScript - Yritän miettiä, miten I voisi kirjoittaa tätä - joten katsotaanpa todella avata tämän koodin. Joten tämä on koodi, että teimme viime viikolla. Ja olet nähnyt tämän ennenkin, jos olivat täällä jaksossa viime viikolla. Tai olet nähnyt jotain tämän kaltaista ennen. Mutta voit katsoa tämän ensimmäisellä rivillä. Näin aloitat - kaikki ovat nähneet tämän ennenkin. Jos haluat laittaa JavaScript-koodia, laitat sen sisälle, olettaen käytät jQuery. Tämä sanoo, älä tee mitään ennen kuin asiakirja on ladattu. Ja sitten, Curt, näet täällä teemme jotain tällaista - toiminto auki kantatuote, suljettu paren. Joten me emme anna tämän toimiakseen nimi. Emme aio määritellä tätä toimintoa Rahaston on tarkoitus olla ja sitten kutsuvat sitä kasan kertaa. Olemme vain sanomalla tämä asiakirja jo vie toiminto. Pari asioita. Ja emme halua viettää aikaa antamalla sille nimen tai tallentaa sen ikuisesti. Haluamme vain ajaa joitakin asioita. Joten Nimetön toiminto sort ja palvelee tätä tarkoitusta. Kun et aio käyttää jotain uudestaan ​​ja uudestaan, joten sinun ei tarvitse antaa sille nimi - juuri halua käyttää sitä kerran - voit sanoa vain toiminto, sillä Esimerkiksi tässä tapauksessa, ja olet vain määritellään jotain, voisitte antaa nimi. Like, voisimme vetää tämän toiminnon pois ja antaa sille nimen ja sitten soittaa, että tässä tapauksessa toimi. Mutta emme tarvitse, koska emme halua tuhlata aikaa antaa sille nimen tai tuhlaa jotain nimemme tilaa. Ja näet, että paljon. Esimerkiksi näemme, että paljon tässä koodia, mutta olet nähnyt tämän ennenkin, kun klikkaat jotain - suorittaa tämän tyyppinen koodi. Voisimme määritellä koodin että haluamme juosta kun klikkaa, tässä tapauksessa tämä tunnus, kuten erillisenä toimintona ja sitten ajaa tätä toiminnallisuutta. Mutta tässä tapauksessa, me vain ohita että askel ja se siirretään tänne ja vain määrittelemään kaiken että haluamme tapahtua ja sille ei anneta nimeä. Että vielä ei ehkä ole vastasi kysymykseesi. Yleisö: Ei, se tekee. Tarkoitan, kai en vain ole oikeastaan tajua miksi se olisi toimi lainkaan, vaikka. Koska se ei oikeastaan ​​kutsutaan. Se ei oikeastaan ​​ole nimeä. JASON HIRSCHHORN: Se toiminto siinä mielessä, että se on joukon toimia, niin kun laittaa toiminto. Ja sitten siksi me kutsumme se Nimetön toiminto. Emme aio antaa sille nimi. Emme aio tuhlata yrittää name it, mutta pystyimme. Anonymous toimintoja, sinun voi aina antaa nimi. Niinpä esimerkiksi, tämä koodi täällä, voisimme laittaa tämän koodin sisällä toiminto ja sitten soittaa tämä toiminto täällä. Sen sijaan sanomme, emme aio vaivata kanssa. Olemme juuri menossa kirjoittamaan se kaikki täällä. Se on kuin joskus kun kirjoitat neljä silmukka C - kaverit olen nähnyt tämän ennenkin - ehkä olet iteroimalla läpi forloop osaksi I on 0. I on alle strlen. Tai olet menossa läpi array, voit tallentaa array indeksi i joissakin muuttuja. Ja käytät muuttuja. Joten sinun ei tarvitse kirjoittaa uudelleen array kiinnike i uudestaan ​​ja uudestaan ​​ja uudestaan. Ja se on tavallaan kuin Dummy-muuttuja. Se ei tarjoilla paljon muuhun tarkoitukseen kuin tehdä koodia hieman puhtaampaa ja helpompi lukea. Vastaava toiminto täällä. Juuri tekee siitä hieman helpompaa, mutta toiminnallisesti ei ole mitään eroa. Vastaako tuo kysymykseesi? Yleisö: Kyllä. JASON HIRSCHHORN: OK .. Mario? Yleisö: Eilen he usein laittaa toiminto suluissa tapahtuma. Tarkoittaako se, että jotain? Vai onko asioita, kuten että he tekisivät document.ready toiminto tapahtuma. JASON HIRSCHHORN: Olemme nähneet tämän, ja Nämäkin ovat pienempiä asioita, jotka luultavasti en halua viettää liian paljon aikaa. Koska joskus en halua ihmisiä saada sekaisin, että he eivät ole kuullut näistä asioista niin paljon. Mutta puhuimme vähän siitä tapahtumankäsittelijät. Niin jotain tapahtuu, ja sitten tämä toiminto suoritetaan. Ja sitten haluamme myös tietää joitakin yksityiskohtia siitä, mitä tapahtui tähän tapahtumaan. Niin muistelen Harjoitus 4. Se on luultavasti helpoin tapa ymmärtää, että puhkeaa. Oli koodia - kuten tapahtuma tapahtuisi, mutta tapahtuma voi tarkoittaa monia asioita. Jos voisi tarkoittaa klikataan hiiren, se voisi tarkoittaa osut nuolinäppäintä, et cetera, et cetera. Mutta se kaikki tallennetaan tähän geneeristen asia sanottu tapahtumia. Ja sitten voimme sanoa, on Tässä tapauksessa tämä asia? Vai onko tämä tapahtuma tämä asia? Tai, millainen tapahtui tähän tapahtumaan? Joten siksi luot muuttujan siellä säästää lisätiedotusvaatimusten siitä, mitä tarkalleen ottaen tapahtui, että olet menossa haluavat hyödynnämme toiminto. Mutta jälleen kerran, se on luultavasti yksi vähemmän tärkeitä asioita olla super perehtynyt. OK, mitä muut kysymykset ovat ihmisiä oli tai kompastuskiviä he kohdanneet uudelleen? Me takaisin tuohon luetteloon. Entä aikana harjoitustestejä, jos ihmiset ovat ottaneet jo? Mitkä olivat joitakin ongelmia, jotka lauennut te ylös? Tiedän, että viime vuoden Tietovisa oli todella kova. Yleisö: Voitko selittää, mitä SQL-injektio hyökkäys on? JASON HIRSCHHORN: OK, hyvä. Joten puhuimme tästä vähän. Ei luento turvallisuutta. Ja taas, kuten aiemmin mainitsin, tämä on syrjään. Mutta olet turhautunut siitä tietovisa kun olet lukenut joitakin pieniä kahden pisteen kysymys, ja et pidä, kun Olenko koskaan oppinut? Kaikki nämä asiat Luentojen että ette usko sinun piti tietää, tai voit kaunistella koska heillä ei ollut tekemistä Harjoitus, niitä todennäköisesti keksiä uudelleen tietokilpailu. Joten, viileä, hauskoja asioita, joita juuri Ajattelin David kertoi sinulle nauttia, hän kertoo sinulle, että voit nauttia ja tehdä juuri super innoissaan oppimisen kaiken siellä on oppia noin tietotekniikassa. Nuo asiat myös keksiä tietokilpailuja. Joten, vaikka nämä pienet asiat, jotka eivät liittyä suoraan ongelman set, sillä te olette tuttuja Quiz 0, luultavasti keksiä. Ja tämä on hyvä esimerkki jotain. Joten SQL-injektio hyökkäyksiä on, kun saada joitakin tietoja käyttäjän ja haluat lisätä sen taulukon avulla SQL lisätä maininta, mutta ei puhdistaa tulo etuajassa. Joten, ilmeisesti olemme nähneet SQL. Otan vain avata - mennään - menemme arvostelu - Uskon, joka peitti sen? Mielestäni Samala teki. Jotta voimme saada - Yleisö: Mistä löysit tämän? JASON HIRSCHHORN: Joten jos menet CS50.net, tietokilpailuja, ja sitten voit selaa yli ja saada dioja alkaen tarkastelun istunnossa. Mutta näette, tämä on hyvä esimerkki SQL-injektio hyökkäys. Otamme joitakin tietoja käyttäjän ja he antavat meille merkkijono, ja sitten me haluat lisätä merkkijonon tietokantaan. Yleensä aiomme puhdistaa että tulo, mikä tarkoittaa joitakin merkkejä, jotka ovat vaarallisia. Esimerkiksi SQL jouset, Nämä lainaukset - puolilainausmerkkejä tai lainausmerkkeihin - tarkoittavat jotain. Ne tarkoittavat lopettaa tämän string täällä. Joten jos käyttäjä antaa sinulle yhden tai lainausmerkki, ne voisivat olla yrittää kömmähdys SQL-ja lisätä joitakin huonoja juttuja siihen. Ja jos he tekevät, että he voisivat saada ohjaus tietokannan tai tehdä asioita, joita et halua heidän tekevän. Joten siksi kun otamme SQL kyselyt, me puhdistaa tulo ennen laitat sen tietokantaan, joka tarkoittaa, että meidän paeta näillä merkeillä. Me puhumme, että toisen. Mutta pitkän tarinan lyhyesti, SQL-injektio hyökkäys on jos et tee sitä - jos et pidä huolta tulo he antoivat sinulle ennen kuin laitat tietokanta, he voivat, kuten näet alas Täältä ajaa kyselyn, että itse asiassa - he ovat tehneet heidän koodin tänne ja tämä valittu linja tänne valitsee kaiken pöytä riippumatta mitä salasana annetaan. Koska sinulla on tai 1 on 1. Joten se on periaatteessa, pitkä tarina lyhyt, tapa vallata tietokantaan. Kysymys siis, te, on missä p sarjaa 7 sait puhdistaa kaikki panoksia oman SQL-kyselyjä? Mihin se vaihe tapahtuu? Missä voit estää SQL-injektio hyökkäyksiä tapahtuu p asetettu 7? Joo. Yleisö: Crypt? JASON HIRSCHHORN: Joten se ei ollut kryptassa. Emme tehneet teet tämän tästä Erityisenä ongelmana asetettu, mutta se tapahtuu kyselyn toiminto. Me itse asiassa kirjoitti sen sinulle, ja hoidimme puhdistus tuloa sinulle. Mutta menneinä vuosina, opiskelijoilla on ollut kirjoittaa panoksia omasta. P set 7, monet teistä - haluan avata yhden tiedoston. Niin huomaat täällä paljon ihmisiä, Harjoitus 7, ei soita tämä toiminto jousille. Tämä toiminto, htmlspecialchars, uudelleen - tämä merkkijono saattaa olla joitakin asioita että HTML Tarkoititko jotain muuta. Kuten ahdin, neliö, tai kulma kiinnike tarkoittaa jotain HTML. Ja niin, jos tulostat että ulos näytöllä tai jos vain ottaa sen ja printtaa ulos HTML, että voima tehdä jotain et odota. Joten htmlspecialchars menee kaikille niille merkkejä, jotka ovat erityisiä kokous-ja pakenee heitä. Joten se saa tulostaa kuten tekstissä haluat nähdä, sen sijaan ruuvaamalla jopa HTML. Kutsuimme tätä tehtävää otsikossa. Ja paljon ihmisiä unohdin soittaa, että toiminto koodi olit kirjallisesti. Niinpä esimerkiksi, jos varastossa nimi oli kulmasulkeen siinä ja unohdit kutsua tätä toimintoa, että kulma kiinnike voinut heittää pois mitä HTML näytti. Mutta kutsumalla tätä toimintoa pääsevät pakoon että niin se todella tulostaa ulos kulmasulkeen ja ei heitä pois html-koodiin. Samasta syystä olemme nähneet, joskus, viiltää ennen lainausmerkit vuonna printf linjaa, koska emme halua lainausmerkit alas merkkijono. Haluamme tulostaa ne ulos näytön. Joten kaikki tämä on sama idea. Vastaako tuo kysymykseesi? Yleisö: Tavallaan. JASON HIRSCHHORN: Pidätkö on seurannan? Yleisö: Luulen SQL-injektio hyökkäys on tekemistä sen kanssa? En ymmärrä, miten kaksi liittyy toisiinsa. Miksi tekisit specialchars? JASON HIRSCHHORN: OK, joten SQL injektio hyökkäys on kun pistät jotkut pahansuovat merkkijonojen jonkun ohjelma, ja he vain ottaa sen ja ajaa SQL-kysely narulla annoit heille. Kuten näette täällä, että voisi olla ongelmallista. Joten miten voit estää vastaan, joka on otat heidän merkkijono, että ne antavat sinun - joten tämä string täällä - ja voit puhdistaa sen. Paeta kaikki asiat, jotka ovat mahdollisesti ongelmallisia. Joten et tulkitsee ne jotain joka merkitsee jotain. Ja esimerkiksi, että HTML on tämä toiminto. Joten se on sama ajatus täällä. Ja olin juuri näyttämällä muut esimerkkejä siitä, milloin olet nähnyt tätä ajatusta ennen. Paeta käyttäjä syöttää ennen tulostusta se ulos näytöllä tai laitat sen sisällä SQL. Yleisö: Joten tässä tapauksessa, käyttäjä on Messing kanssa ohjelmoija. JASON HIRSCHHORN: Kyllä. Kun kaikki nämä tietoturvauhkia joka on aina yleensä käyttäjä, tai joku, yrittää sotku kanssasi, ohjelmoija. Ja nämä ovat tavalla voit estää heitä vastaan. Yleisö: Olen siis kysymys noin hash toimintoja. Quiz 1 päivästä 2011, on kaksi kysymyksiä yksipuolinen tiivisteiden. Ja olin juuri mietin mitä se tarkoitti. JASON HIRSCHHORN: OK, joka tietokilpailu? 2011? Yleisö: Joo. Yleisö: Quiz 1? Yleisö: [kuultavissa]. Se on kuin hajautus salasanan. Joka ei hoida asioita - JASON HIRSCHHORN: Mikä sivu se oli? Yleisö: Minusta se oli 9 tai 10, tai molemmat. JASON HIRSCHHORN: Selvä, mennä eteenpäin, Curt. Voit vastata samalla katsomme. Yleisö: Minusta se puhuu noin hajautus salasanan. Kuten, kun joku tulee salasanan, voit muuttaa sen salattu asia. Se salasanan hash, joka on eri hash-funktio, joka laittaa jotain tulee tiiviste. JASON HIRSCHHORN: Katsotaanpa. Saanen vetää ylös mitä he antaa vastauksen. Ja sitten me kulkea läpi. Joten Curt antoi loistava esimerkki of yksisuuntainen hash. Kun olemme nähneet tämän ennenkin, me ottaa salasanan ja käännä - Muistan, p set 7, joku saattaa on salasana, joka on vain salasanan, mutta sitten se saa salattu osaksi joitakin todella pitkä juttu. Yksisuuntainen hash eli se on erittäin helppoa mennä yhdestä suuntaan kuin muut, mutta se on erittäin vaikea siirtyä toisinpäin takaisin. Ja niin tiedät, kun olit tarkkailun ihmisten salasanoja ongelma asettaa 7, voisitte viedä - Niinpä esimerkiksi, sanovat he halusivat vaihtaa salasanaa, kysyt heiltä heidän vanha salasana. Otit heidän vanha salasana. Olet salattu se. Ja vertasi kahta salauksen pikemminkin kuin unencrypting alkuperäinen yksi, koska se on todella vaikea mennä näin. Joo. Yleisö: Kuinka perusteellisesti tekee meidän ymmärrystä telnet olla? JASON HIRSCHHORN: Jos se mainittiin lyhyesti luento, vain lyhyt ymmärrystä. Jälleen takaisin vastaus Avi kysymykseen - enemmän asioita keksiä, sitä todennäköisemmin se on sinun täytyy olla erittäin perehtynyt niihin. Jos he vain keksiä luento, se on vain yksi paikka. Mutta jos he tulevat esille luento, osa, ja ongelma asettaa, sinun todennäköisesti olla super perehtynyt niihin. Joten jouduin kysymykseen aiemmin siitä - IS oli syksyllä 2010 - Quiz 1, nyt vedä ylös - tämän kysymyksen pinot ja jonot, jonka teimme viettää melkoisesti aikaa puhumme luento, jopa vaikka emme ole oikeastaan joskus lyönyt sen osassa. Joten tämä kysymys antaa sinulle sarjan komentoja ja kysyy, mitä tulostetaan tässä tapauksessa. Joten tämä on täysin kohtuullinen kysymys voisivat vaatia teistä kaverit, ja sitten te pitäisi pystyä vastaamaan siihen. Joten miksi et katso sitä varten 30 sekuntia, ja sitten jos joku haluaa ehdottaa vastauksia minulle, ja Sen jälkeen käydään läpi. Okei, joka on vastaus kysymykseen 27? Joo. Yleisö: Onko se 1, 2, 3, 3? JASON HIRSCHHORN: Aivan oikein. 27 on 1, 2, 3, 3. Joten katsotaanpa miten saimme sen. Ensinnäkin me sanomme, jos s on jono, mitä saa painettu? Niin q on first in, first out. Olemme nähneet, että ennen. Näimme kuvan ihmiset odottamassa Apple Säilytä ostamaan tuotteen. Ensimmäinen ihmiset ovat ensimmäiset ihmiset ulos. Ensimmäisiä asioita jonossa ovat ensimmäisiä asioita. Jos siis työntää jotain jonoon, painat 1, sitten pop 1. Pop tarkoittaa vain sitä ottaa. Tässä tapauksessa vain ottaa jotain pois. Otamme pois ensin asia, joka on 1. Joten me laitamme asioita tulostaa alas tänne. Tämä ei ole enää meidän jonossa. Sitten työntää 2 ja 3, ja me kupsahtaa ensimmäinen asia. Uudelleen, koska se on jono. Joten saamme 2, sitten laitamme toiseen 3 ja soittaa pop uudelleen. Meidän 3 on ensimmäinen. Ja sitten meillä oli koko joukko muita asioita ja soittaa pop. Mutta jälleen kerran, koska tämä on jono, first in, first out. Otamme ulos ensimmäinen asia joka on koskaan laittaa sisään Se on meidän 3. Ja tässä tapauksessa meillä ei hätää kaikkia niitä muita asioita. Niin, että jos tämä on jono. Kysyttävää jonossa? Pino on erilainen. Mikä on lyhenne meillä ymmärtämiseksi pino? Yleisö: last in, first out. JASON HIRSCHHORN: LIFO, luulen. Last in, first out. Joten näimme esimerkki pinon välipohjien ruokasalissa. Riippumatta lokero on päällä saa kyytiin. Ja sitten jos uusi lokerot tulevat vuonna, he saavat laittaa päälle. Ja sitten mitä on top saa kyytiin. Joten ne lokerot pohjassa mahti siellä jonkin aikaa. Siinä tapauksessa taas, me will vetää tämän pois. Me työntää yhteen, joten yksi on ensimmäisenä jonossa. Ja me pop jotain pois. Ja siellä on vain yksi asia siellä, joten siirrymme 1 täällä. Sitten laittaa 2 ja 3 ja me pop jotain pois. Mutta jälleen kerran, koska tämä on jono - tai tämä on pino pikemminkin - otamme mitä oli viimeksi. Mitä on viimeksi tulee ulos ensin. Ja 3 on viimeinen. Joten laitoimme 3 sinne, sitten laitamme vielä 3 ja me pop jotain uudelleen. Lopuksi laitamme 4, 5, 6, ja 7, ja tässä me pop. Ja koska se on pino, otamme mitä laitettiin viimeksi ja kirjoittaa että tänne. Joten päädymme 1, 3, 3, 7. Onko kellään mitään kysyttävää pinot tai jonoja, tai tässä esimerkissä? OK. Mennään takaisin aiheluettelosta. Ei sinne, tällä tavalla. Mitä muita kysymyksiä ihmiset ovat? Yleisö: En tiedä, kuinka tärkeää tämä on, mutta olin hämmentynyt eroa eri tyyppisten kieliä kuten markup, koottava, tulkitaan. JASON HIRSCHHORN: Tuo hyvä kysymys. Mielestäni on melko tärkeää, niin mennään yli sen nopeasti. Suurten kielten olemme nähneet tähän mennessä ovat C, PHP ja JavaScript, mitä ohjelmointikieliä. HTML, kuten sanoitte, ei ole ohjelmointikieli. Se on kuvauskieli. Ja sitten meillä on CSS, joka on myös ei ole ohjelmointikieli. Olemme myös nähneet SQL, joka ei ole ohjelmointikieli myöskään. Joten SQL voit kirjoittaa kyselyt tietokantaan. HTML on kuvauskieli. Siinä määritellään, miten asiat ovat rakenteeltaan. Ja CSS voit muotoilla asioita. Se on luultavasti määrin mitä täytyy tietää nämä kolme. Mutta se on enemmän mielenkiintoista kuva välisiä eroja C, PHP, ja JavaScript. Joten yksi suurimmista eroista, kuten sanoitte, on se, miten he koonnut, tai mitä tahansa vastaava on. Joten C on koottu. Haluamme aina ajaa kääntäjä. Ja sitten jos ovat teidän virheitä kun suoritat C-kääntäjä? Jos se näyttää virheet koodissa? Mistä tiedät siellä virhe koodia C? Yleisö: Se näyttää terminaalissa. JASON HIRSCHHORN: Se osoittaa terminaalin olet kokoamisessa. Ja jos on virheitä, se ei oikeastaan ​​kääntää sen. Niin tiedät, että on virheitä oikeassa pois, etuajassa, ennen kuin jopa ajaa koodia. Tietenkin, saatat ajaa koodia ja saada segmentointi vika, mutta se oli luultavasti koska teit joitakin typeriä logiikkaa asia. Mutta koodiasi teknisesti kaikki oikein ja voisi ajaa. Joten C-koodia saa koottu etuajassa. Entä PHP? Missä olivat virheitä PHP-koodin? Miten tiesit oli virheitä oman PHP-koodin? Yleisö: Ajoaika? JASON HIRSCHHORN: Joo, kun kulkisi sitä, et kulkisi PHP-koodin takana. Ja niin voisitte näyttää näytön. Saatat nähdä joitakin asioita päällä, mutta sitten näkisitte, kuten jotkut oranssi, ruma pöytä. Ja se antaisi sinulle linjan numero ja sanoa, blaa, blaa, blaa, tätä tavaraa ei toimi. Joten PHP tulkitaan rivi riviltä ja teloitettiin palvelimen. Ja niin tulos on lähetetään sinulle. Suuri. Teloitettiin palvelimen rivi riviltä ja sitten lähetetään sinulle. Ja jos siellä on virhe, se tulee lähettää sinun virhe, mutta saatat olla saanut joitakin juttuja etuajassa. Joten osa se olisi toiminut, mutta myöhemmin, joitakin juttuja ei ehkä ole ei toiminut. Entä JavaScript? Missä näit JavaScript virheitä? P asetettu 8, kun sai virhe, mistä tiesit? Missä se näkyy? Yleisö: Vuonna konsoli, alareunassa. JASON HIRSCHHORN: In konsoli, pohjassa. Se myös antaa sinulle rivinumero, ja se olisi näy pohjassa. Ja JavaScript sitä ei toteuteta palvelimelle. JavaScript lähetettiin tietokoneeseen, ja sitten kun se oli aika juosta JavaScript, JavaScript oli ajaa rivi kerrallaan asiakas, teidän puolellanne. Ei palvelin, asiakkaan puolella. Ja samalla tavalla, se oli ajaa rivi riviltä. Ja sitten kun saisit virhe, se näy alareunassa. Samoin kuin PHP, joitakin se saattaa toteuttaa, ja niin saatat saada virhe myöhemmin. Myös hieman toisin kuin PHP, jos sait JavaScript virhe - sano et tehnyt oikeutta koodi hälytys laatikko - voit pitää suorittaa ohjelma. Hälytys laatikko ei toimi, mutta ohjelma olisi hienoa. Vain ehkä, että toiminto epäonnistuu. Joten siellä on jotkut suurimmista ero sen suhteen, miten nämä kieliä tai miten ohjelmakoodia kirjoitat todella arvioidaan. On olemassa myös muita eroja ehdot - suurin ero olemme nähneet kannalta muuttujien eri kielillä. Joten voi joku antaa minulle eroa muuttujien välillä näillä kolmella kielellä? Kyllä. Yleisö: In C, he tiukasti kirjoitettu. Kahdessa muussa, he väljästi kirjoitettu. JASON HIRSCHHORN: Ja mitä se tarkoittaa? Yleisö: Että C, sinun täytyy julistaa tyypin muuttujan, kun julistaa muuttuja, kuten interbool tai merkkiä. JASON HIRSCHHORN: Erinomainen. C, meillä oli aina laittaa tyyppinen muuttuja. Ja emme voi oikeastaan ​​sekoita eri. Et voisi tehdä kokonaisluku plus merkkijono. Mutta kuten olemme nähneet näiden muiden kielet, te todella voi sekoittaa tyyppejä, ja et koskaan todella täytyy antaa jotain tyyppiä, koskaan. Joten mistä me tiedämme asiat ovat muuttujia PHP ja JavaScript? Yleisö: PHP, he alkavat kanssa dollarin merkki. JavaScript, kun julistaa niitä, sinulla on oltava bar. JASON HIRSCHHORN: Oikea. Joten PHP, he alkavat kanssa dollarin merkki. JavaScript, niillä on oltava baari, vaikka joskus ne eivät varsinaisesti täytyy olla baarissa. Mutta se on oikein. Niin se on iso ero muuttujien välillä. Mielestäni ne ovat luultavasti pois pääni, kaksi suurinta Erot näiden kolmella kielellä. Mutta, joo. Yleisö: Ja soveltamisala C muuttujien rajoittuu aaltosulkeiden, jos toisilla, se on aivan kuin, se kuolee, jos sitä on toiminto vain, mutta muuten Se on - JASON HIRSCHHORN: Oikea. Joten alue on hieman erilainen C. Muistatko, aaltosulkeita määritellä soveltamisalaan muuttujia. Joten jos se on määritelty sisällä, jos ehto, joka on sisällä silmukan, muuttuja on olemassa vain siellä. JavaScript, jos muuttuja määritellään sisällä jos ehto - sisällä varten silmukka - se tulee olemassa että toiminta, mutta se ei ole ulkopuolella toiminto. Joten soveltamisala on hieman joustavampi JavaScript ja PHP. Tämä vastata kysymykseen? OK, muita kysymyksiä? Voimme tehdä neljä minuuttia kysymyksiä, niin me hypätä koodausta. Yleisö: Voimmeko mennä Ajax ja puhua siitä, mitä se on? JASON HIRSCHHORN: Puhu Avi jälkeen. Hän pyysi, että kysymys aiemmin. Yleisö: My bad. JASON HIRSCHHORN: Ei hätää. Yleisö: Mikä on JSON? JASON HIRSCHHORN: Mikä on JSON? Mikä on kysymys? Yleisö: Vain todella nopeasti, erotus tulostaa ja kaiku PHP. JASON HIRSCHHORN: Miksi et google ero tulostaa ja kaiku? Hienoinen ero. Ei niin iso juttu. Mutta kannattaa ehdottomasti googlettaa, ja että annan sinulle hyvän vastauksen. JSON, luultavasti isompi ja paljon. Sanoista JavaScript Object Notation. Ja kun olemme nähneet JSON käytössä? Kun olet nähnyt - miksi edes tiedä sanan JSON? Milloin olet nähnyt sen? Yleisö: Kun olimme tulossa pörssikurssit rahoitusta. JASON HIRSCHHORN: Eli näit se kun olit saada pörssikurssit rahoitusta. Ja miksi näet sen? Yleisö: Kun olimme noutamista kaikki tiedot, jotka tuli tässä muodossa. JASON HIRSCHHORN: Joten saisit - joo. Mennä eteenpäin. Yleisö: [kuultavissa] tiedot pois esineen? JASON HIRSCHHORN: Molemmat näistä koonnut on vastaus etsimme. Haluat tietoja tämä toinen verkkosivu. Ja voisitte toivoa, että kun olet saada nämä tiedot, olisi esitellyt teille tietyntyyppinen standardoituja muodossa. Kaikki ovat varmasti tuttuja pilkulla erotetut arvot. Voit viedä Excel-taulukon tai tahansa laskentataulukon luettelo pilkulla erotetut arvot. Ja pilkut jaetaan kaikki eri aloilla. JavaScript Object Notation - JSON - on toinen standardoituja ulkoasu asioita. Ja se on usein miten haemme tietoja meidän Ajax kyselyitä. Joten tässä tapauksessa, saimme sen alkaen Yahoo sivuston. He palaavat asioita Meille JSON objekti. Ja sitten me tiedämme, koska se on standardi, miltä tulee näyttämään. Joten voimme kerrata läpi array joka palautetaan meille, joukko esineitä, jotka on palautettu. Emme luultavasti on tiedettävä avaimet, mutta ne yleensä antavat sinulle dokumentaation sivuilla, kun olet hurmaava joitakin JSON merkintätapa heille. Samoin voit JSON koodaavat kohde. Joten on toiminto JSON korostavat koodata. Ja niin voit ottaa objektin olet luonut, JSON koodata sitä, ja anna sitä jotain muuta, jos haluat. Ja JSON purkaa myös olemassa vastaavaan tarkoitukseen tai päinvastainen tarkoitukseen. Yleisö: Tarvitsemmeko tietää koodaus hash taulukoita ja yrittää? Vai meidän täytyy vain ymmärtää miten niitä käytetään, käsitteellisesti? JASON HIRSCHHORN: Niin, nostamaan käden jos et hash table p set 4 kanssa linkkilista. Tai p set 5. Niin että oli valtaosa ihmisistä. P asetettu 5, 6, kuka tietää. Kauan sitten. Joten valtaosa teit hash taulukoita linkkiluetteloitaan. Ja koska se on luultavasti enemmän yhteinen lähestymistapa, ja koska vietimme paljon aikaa tehdä linkkiluetteloitaan ja hash taulukoita, sinun pitäisi luultavasti olla melko perehtynyt miten koodia hash pöytä ja linkkilista. Ja jos muistelen, että ongelma set, ettei se oikeastaan niin kovaa kuin odotettiin. Ja siellä oli paljon vähemmän koodi kuin odotit. Sanoisin sinun pitäisi osata koodata hash table tai linkkilista. Ei siksi, että olisit pyytänyt, että välttämättä, mutta sinun pitäisi varmasti tietää, että. Myös, jos tarkastellaan aiempien tietokilpailuja, on ollut paljon kysymyksiä kirjallisesti toimintoja linkkiluetteloitaan tai kaksinkertaisesti sidottu luetteloita. Joka näyttää tulevan jopa joka ikinen vuosi. Oikea laita linkkiä luettelossa hiiren poistaa linkin luettelossa hiiren aseta varten kaksinkertaisesti linkitetty lista, jne.. Niin, että tunnen aika mukavaksi sano, sinun pitäisi tietää, että. Saat kokeilla, sanoisin sinun pitäisi varmasti tietää, miten se toimii, ja ehkä antaa joitakin pseudokoodi miten koodin siihen ja asettaa se. Mutta se ei olisi pahinta maailma, jos et tiedä miten koodi se C. Olisi hienoa, jos osasi koodi se C, mutta mielestäni luultavasti pseudokoodi kokeilla olisi olla kaikkein tarvitsisit tietää yrittää. Yleisö: Extra luotto? JASON HIRSCHHORN: Ja sama, jos me mennä binäärihaku puita, saatat tarvitsevat - ja olet nähnyt aikaisemmin, olemme tehneet paljon - osaat binäärihakupuu toimii. Sinun pitäisi luultavasti pystyä asettamisesta välikoodissa. Mutta koska suurin osa ihmisistä ei tehdä, että ongelma set, sanoisin se on luultavasti vähemmän tärkeää, että osaat koodata ja perustaa puuhun niin. Muuta kysyttävää? Lisäksi voimme pyytää heitä koko kun käymme läpi joitakin ongelmia. OK, aiomme siirtyä eteenpäin. Ohita dia nyt. Ottaen puita, joka on ensimmäinen Kysymys Olen sinulle kaverit. Koska tämä on ongelma. Sanoisin, että se on erittäin todennäköistä, voit saada ongelma kuin tämä tietokilpailun pyydämme teitä koodin tietyntyyppinen insert, poistaa, etsiä, yhdenlaista tietorakenteen olemme nähneet. Joka tulee joka vuosi ja vietimme paljon aikaa toinen puoli tämän lukukausi menee yli näiden tietojen tyypit. Joten nyt, olen määritellyt solmu vuonna binäärihakupuu. Ja mitä haluan sinun tekevän on annettu binäärihakupuu joka alkaa Tämän solmun tähden root, täydellinen täytäntöönpanon toiminnon alla, joka sattuu olemaan löytää funktio. Ja tehdä sen kanssa ja ilman rekursioiden. Joten haluan sinun kirjoittaa kaksi tehtävää. Yksi teet tämän kanssa rekursio, yksi Näin ilman rekursion. Ja älä oleta, että root on ei-null. Joten etsimme kokonaisluku i puu alkaa tyvestä, ja me tarvitsemme kirjoittaa tämän rekursiivisesti ja iteratiivisesti. Joo. Yleisö: Haluat siis meille return true jos löydämme sen, ja epätosi, jos me eivät löydä sitä. JASON HIRSCHHORN: Mistä tiesit? Mistä tiesit, että? Yleisö: Kysyin ensin, mutta olin olettaen, koska se sanoo bool at alusta-toiminnon. JASON HIRSCHHORN: Oikea. Siinä sanotaan bool, joten minun ei tarvitse edes kertoa mitä odotan sinua palata koska se sanoo tuolla. Mutta se on totta. Palata, totta vai tarua. Joten ennen kuin aloitat, haluan suositella, jos et tunne binäärihaku puita, nopeasti piirtäminen kuva siitä saada ymmärrystä, oikea. Se myös auttaa sinua, kun kirjoitat koodin ja tarkistaa sen. Jälleen, sinun ei myöskään ole niin paljon aikaa tietovisa tehdä kaikki asiat että pyydämme teitä tekemään. Joten kirjoitan pseudokoodina on erittäin hyödyllistä. Ja me yleensä saadaan noin - jos pseudokoodina on täysin oikein, se on yleensä 50% on kysymys. Joten se ei ole kova ja nopea sääntö, mutta jos voit vain kirjoittaa pseudokoodilla ja se on oikea, se on yleensä 50%. Joten olin aina suositella - jos olet kiire, tai vaikka olet vain yrittää tajuta se - alkaen pseudokoodina. Ja lopuksi, jos voisit kirjoittaa tämän kaikki C, että olisi upeaa. Joten kestää kolme minuuttia työskentelemään tämän ohjelman. Ja sitten aiomme kirjoittaa pseudokoodi sitä vain kerran, ja sitten aiomme koodin siihen rekursiivisesti ja sitten iteratiivisesti. Jos sinulla on kysyttävää, ota vapaa nostamaan käden. Hyvää kävellä ja vastata niihin ennen kuin alamme ryhmänä. Olkaamme jatkaa, ja aiomme pseudokoodina rekursiivinen versio Tämän, ja sitten me koodin siihen. Joten rekursiivinen funktio tarvitsee kaksi asiaa. Tämä saattaa olla kysymys, voisit pyytää. Tarvitsee kaksi asiaa. Kuka voi nostaa kätensä ja kertoa minulle mitä kaksi asiaa rekursiivinen toiminto tarvitsee? Määritelmän se on kaksi asiaa. Mitä ovat nämä kaksi asiaa? Uusi käsissä. Kyllä, Alden. Yleisö: Joten en ole aivan varma, onko tämä on terminologiaa, mutta - JASON HIRSCHHORN: Olen iloinen olet nostaa kätesi. Yleisö: Se tarvitsee pohja tapauksessa ja se tarvitsee rekursiivinen askel. JASON HIRSCHHORN: Perfect. Se tarvitsee perusskenaariossa ja rekursiivinen askel. Joten mitä meidän tukikohta tässä tapauksessa? Yleisö: F root vastaa yhtä kuin nolla. Sorry, vain pseudokoodilla, jos se on nolla. Jos juuri on nolla. JASON HIRSCHHORN: Jos juuri on nolla. Se on erinomainen. Se on meidän tukikohta tapauksessa. Sitähän me aiomme tarkistaa joka kerta. Ja pohja tapaus on ensimmäinen asia, et. Jos osut pohja tapauksessa olet valmis. Nyt tarvitaan meidän rekursiokutsu, ja olin valmis lyömään vetoa, tarvitsemme pari rekursiokutsua täällä. Koska se on puu, ja me voisi mennä useita tapoja. Joten jos juuri on null, olemme hyviä. Mitä ehdotatte? Ja nyt aion aloittaa huutaen teitä kaverit, koska tiedän te kaikki tietävät tämän. Mutta Annie, mitä pitäisi seuraavalle riville olla? Mitä jos löysimme sen? Mitä teemme? Yleisö: Jos löysimme sen? JASON HIRSCHHORN: Tai mitä pitäisi olla, että - antaa minulle pseudokoodihajota line josta löysimme sen. Yleisö: Jos I on root i? JASON HIRSCHHORN: Ja mitä sitten teemme? Yleisö: Return totta. JASON HIRSCHHORN: Great. Joten jos i on i - Voi, he molemmat vaatineet i. Joka saa hämmentävää. Mutta jos i on i return true. Se on luultavasti seuraavaksi asia, joka meidän pitäisi tehdä. Järkevää. OK, nyt emme ole tehneet rekursiivinen soittaa vielä, mutta koska rekursiivinen Puhelun kutsuisi tätä toimintoa uudelleen. Joten mitä pitäisi seuraavaksi linja pseudokoodina olla? Anna. Yleisö: vasemmalla puolella. JASON HIRSCHHORN: Ole tarkka, vaikka. Tämä on binäärihakupuu, niin mitä ei tarkkailun vasemmalla puolella aiheuttaa? Yleisö: So solmu - Olen pahoillani, root. Ja sitten nuoli vasemmalle. Solmu, solmu, sorry. En lukenut sen kunnolla. Sitä kutsutaan solmun, eikö? JASON HIRSCHHORN: Sitä kutsutaan root tähän toimintaan, mutta kumpaakaan. Vasemmalla puolella - joo? Yleisö: Jos se ei ole sama i, niin aiomme soittaa toiminto uudelleen? JASON HIRSCHHORN: Aivan oikein. Jos se ei ole yhtä i, aiomme soittaa takaisin toimintaan. Mutta mitä puolelle puu olemme menossa soittaa taas toiminnassa? Yleisö: Vasemmalla puolella. JASON HIRSCHHORN: Emme ole aina soitan sitä vasemmalle, jos se ei equal sitä. Yleisö: Anteeksi. Soita oikealla. JASON HIRSCHHORN: Haluamme tietää Erityisesti, vaikka - Muistakaa, että binäärihakupuu, kaiken vasen puoli on pienempi. Kaikki merkin puolella on suurempi. Joten se ei vain ole - Joo, mennä eteenpäin. Yleisö: Jos se on vähemmän kuin minä, sitten - jos se on vasemmalla - JASON HIRSCHHORN: Joten jos ri on alle - joten jos meidän lukumäärä on pienempi kuin i, Kummalla puolella haluamme mennä? Yleisö: Haluamme mennä oikealle puolelle. JASON HIRSCHHORN: Haluamme mennä - esitän nopeasti puu. Jos tämä on 5, tämä on 3. Joten jos ri on vähemmän kuin viisi, mitä puolella haluamme mennä? Yleisö: Anteeksi, mitä? JASON HIRSCHHORN: Meidän numero on vähemmän kuin olemme katsot juuri nyt. Yleisö: Voi, niin me haluamme Siirry vasemmalle puolelle. Joo. Anteeksi. JASON HIRSCHHORN: Aivan. Ei hätää. Vuonna binäärihakupuu, kaikki alempi on vasemmalla, suurempi on oikea. Joten jos meidän lukumäärä on pienempi kuin i me tarkastamme - koska näet solmu, se on i - sitten haluat mennä vasemmalle. Ja tämä on helppo. Mikä on se toinen rivi pseudokoodina meidän täytyy kirjoittaa? Carlos? Yleisö: Sama juttu, voit vain vaihtaa sen suurempi kuin-merkki ja mene oikealle. JASON HIRSCHHORN: Voitko sano se vielä kerran? Yleisö: Jos meidän numero on suurempi kuin minä, mene oikealle. JASON HIRSCHHORN: Erinomainen työtä pseudokoodina. Tehkäämme tämä todellista koodia. Ja vielä, tämä pseudokoodina tulee luultavasti saada sinut, koska se on oikein, 50% tästä kysymyksestä. Mutta tämä pseudokoodina kääntää myös yksi yhteen, lähinnä osaksi koodia. Tehkäämme tämä C. Kuka voi antaa minulle ensimmäinen rivi koodia? Oikeastaan, ensin, ennen kuin teen että haluan vetää yli - Yleisö: Minulla on kysymys. Miksi sisentää line annoin sinulle? JASON HIRSCHHORN: Koska En voinut kirjoittaa. En tiedä. Olet oikeassa. Tämä linja pitäisi olla tuolla. OK, tässä on meidän tehtävämme. Ja anna minun vetää yli, myös määrittelemme solmun. Mitä tapahtuu, jos emme kirjoittaa typedef? Tietääkö kukaan? Yleisö: Se ei koota. JASON HIRSCHHORN: Olisi koota, joo. Yleisö: Olisiko se vain ilmoittaa yhden Esimerkiksi sen sijaan, että uusi kirjoita voisitte ilmoittaa useita tapauksia? JASON HIRSCHHORN: niin se ei tietää - sillä ei olisi vain julistaa yksi tyyppi. Voisit silti tehdä paljon solmuja. Yleisö: Mutta eikö meidän täytyy kirjoittaa struct solmu joka kerta? JASON HIRSCHHORN: Aivan oikein. Sinun olisi pitänyt kirjoittaa struct solmu joka kerta, eikä vain solmun. Mutta typedef, voit vain kirjoittaa solmu joka ikinen kerta. OK, joka ei ole antanut - joo, Avica. Yleisö: Jos juuren vastaa tasavertaisina null, return false. JASON HIRSCHHORN: Hienoa, ja se on meidän perusta tapauksessa. Seuraava rivi koodia. Joku, joka ei ole antanut minulle koodiriviä vielä? Joo. Yleisö: Root nuoli i on yhtä yhtä kuin i. Palaa sitten totta. JASON HIRSCHHORN: Great. Seuraavalle riville? Joo. Joku muu? Ja sitten voit mennä seuraavaksi. Yleisö: Else jos root arrow i on pienempi kuin palaan toiminto nimeltään find root - JASON HIRSCHHORN: Anteeksi. Yleisö: Return find root viittaa vasemmalle pilkku i. JASON HIRSCHHORN: Joten jos ri on suurempi kuin asia puu, haluamme Siirry vasemmalle? Yleisö: Ei, minulla oli, että kytkettynä. JASON HIRSCHHORN: Kumpi? Yleisö: Ei, joo. Minulla on vähemmän kuin allekirjoittaa siellä. JASON HIRSCHHORN: Aivan, jos ri on vähemmän kuin mitä on root - nykyiseen root - meidän halua mennä vasemmalle. Ja mikä on viimeinen rivi, olet? Yleisö: Periaatteessa sama asia, paitsi kytkin suurempi tai yhtä suuri kuin vähemmän kuin ja vasemmalta oikealle. JASON HIRSCHHORN: Erinomainen. Onko kellään mitään kysyttävää tästä? Joten joitakin muita asioita, jotka olisi onnistuneeksi, että voisi olla-ltiff. Arvaa, teknisesti mikään näistä todella myös oltava-ltiff. Lisäksi siellä on luultavasti vain Yhdessä tapauksessa tänne. Niin se on luultavasti viimeinen asia. Sinun ei edes tarvitse tuota-ltiff. Mutta luultavasti hyvä kirjoittaa se, olla selvillä. Joo. Yleisö: Joten et usko tietokilpailu - jos teemme virheitä, esimerkiksi syntaksin - pikku syntaksivirheitä - Miten se saada ottaa tietokilpailuun? JASON HIRSCHHORN: Yleensä on tietokilpailu, pieni syntaksivirheitä tai pieni tyyli virheet eivät menetä pisteitä. Joten jos olet unohtanut puolipiste täällä, se olisi OK. Jos olet unohtanut sulkea tämän suluissa, se olisi OK. Valtava syntaksivirheitä jotka muuttavat toiminnallinen merkitys koodin dramaattisesti, saatat saada otetaan pois pistettä. Tai yleisesti vain luokittelu sinua siitä, onko sinun koodi toimii, vaikka - ei sen suunnittelu niin paljon, eikä sen tyyli. Katsotaanpa nyt koodata iteratiivinen versio löytää. Joten se tulee olemaan melko samanlaisia, mutta On varmasti olemaan joitakin keskeisiä eroja. Kuitenkin meidän pseudokoodina voi ehkä mennä - voimme silti ottaa yksi rivi pseudokoodina ja selvittää, mitä linja on tässä tapauksessa. Joten iteratiivinen versio, mitä luulette, Julia, olisi olla ensimmäinen rivi? Yleisö: Jälleen iteratiivisin boolean, sinun täytyy perustaa varten silmukka, eikö? JASON HIRSCHHORN: OK. Yleisö: Joten kuten, k, X vastaa 0, x on pienempi kuin i. Tai no, x on pienempi kuin puun kokoa. JASON HIRSCHHORN: puu. Joten emme todellakaan tiedä koko puu, ja emme oikeastaan ​​tiedä kuinka monta kertaa voimme mennä, niin mitä eri tyyppisiä silmukka, joka voi olla parempi tässä tapauksessa? Yleisö: Jos muuta? JASON HIRSCHHORN: Jos muuta ei voi olla silmukka. Niin mitä tyyppi silmukan voimme vain Siirry kunnes joissakin tapauksissa täyttyy? Mikä on ainoa muu silmukan C lisäksi silmukka? Yleisö: Vaikka. JASON HIRSCHHORN: Vaikka tarkalleen. Vuonna while-silmukka, älä täytyy tietää, miten - while-silmukka ja silmukka voi tehdä täsmälleen sama asia, mutta kiva juttu noin kun silmukka emme tarvitse tietää kuinka iso meidän puu on. Joten aiomme mennä kunnes mitä? Yleisö: Kunnes se vastaa koko - JASON HIRSCHHORN: No, se on hyvin samanlainen kuin meidän rekursiivinen tapauksessa. So - Yleisö: Vaikka root i ei ole yhtä i. JASON HIRSCHHORN: Se on todella lähellä. Vaikka root i - Kokeillaan. En usko, että [kuultavissa] missä root i ei ole yhtä kuin i. Saatamme joutua muuttamaan sitä hieman vähän, mutta tuo kuulostaa ihan hyvä, sillä nyt. Joten teemme sen. Muista myös, emme voi olettaa per kysymys. Et olettaa, että root on ei-null. Joten mitä mieltä olette hyvin Ensimmäiseksi meidän pitäisi tehdä, on? Yleisö: Just do saman asia kuin ennen. Jos juuri vastaa tasavertaisten null, return false. JASON HIRSCHHORN: Great. Joten se voisi olla nolla. Joten haluamme päästä eroon IT heti. Ja sitten me aiomme tarkistaa, jos root i ei ole yhtä i. Joten, sanomme etsit tässä puussa 3, root i ei yhtä i, nyt olemme meidän kun silmukka. Mitä haluat tehdä? Ja vielä, se tulee olemaan melko samanlainen kuin meidän rekursiivinen versio. Joo. Yleisö: Joten et haluaisi kerrata tai pitää käynnissä alas puusta niin kauan kuin root ei ole sama kuin nolla. JASON HIRSCHHORN: Niin kauan kuin root ei ole sama nollaamaan? Yleisö: root viiva i ei ole yhtä kuin nolla. Vain root, joo. Koska kauan kuin juuri on ei ole yhtä suuri kuin null. JASON HIRSCHHORN: Haluat muuttaa tämän huomioon root ei ole sama kuin nolla? Yleisö: Joo. Yleisö: Voisimme yhdistää Näiden, eikö? Emme tarvitse, jos aluksi. JASON HIRSCHHORN: OK, joten jos me älkää - jos me yhdistää ne, joten aiomme tehdä kun root ei ole sama null, ja jos juuri sattuu olemaan nollamuotoja alussa, mitä me teemme täällä? Yleisö: return false. JASON HIRSCHHORN: Great. Joten molempiin suuntiin luultavasti olisi toiminut. Tämä on erilainen tapa, ja tämä yhdistää sen. Mutta jälleen kerran, jos et kumpaakaan, olemme aio ottaa pois suunnitteluun pistettä tietokilpailu. Mutta tämä näyttää hyvältä. Joten vaikka root ei ole sama null, mikä on ensimmäinen Emme todellakaan halua tarkistaa? Joku muu? Null, mikä on ensimmäinen asia? Yleisö: Jos ri on alle - Voi kai, jos meillä on jo Löysin sen juuri. Joten jos root nuoli i on yhtä suuri kuin i - JASON HIRSCHHORN: Anteeksi? Yleisö: Jos juuren nuoli I on yhtä kuin i - JASON HIRSCHHORN: Mitä teemme? Yleisö: Return totta. JASON HIRSCHHORN: Great. Ja mitä seuraavaksi? Jeff, mitä seuraavalla rivillä koodia? Yleisö: Jos i on pienempi kuin root arrow i, niin root vastaa root nuoli vasemmalle. JASON HIRSCHHORN: Root tasavertaisina root nuoli vasemmalle. Niin se on luultavasti suurin Ero tässä tässä iteratiivinen versiosta vastakohtana rekursiivinen versio. Rekursiivinen versio, me soittaa takaisin toimintaan. Päivitämme root kun kutsumme uuden toiminnon. Täällä emme ole vaatimassa uuden toiminnon. Me yksinkertaisesti vain päivittää juurta tätä toimintoa. Se on erinomainen. Ja mikä on viimeinen rivi koodia? Joo, Mario? Yleisö: Else root tasavertaisina root nuoli oikealle. JASON HIRSCHHORN: Anteeksi? Yleisö: Root tasavertaisina root nuoli oikealle. JASON HIRSCHHORN: Voisitteko myös kirjoittaa jotain tällaista? Yleisö: Minulla ei ole aavistustakaan. JASON HIRSCHHORN: Et voi. Et voi tehdä plus tasavertaisina. OK, joten tämä näyttää hyvältä. Miksi emme vain tee sitä puhdistaa sitä. Tämä näyttää hyvältä, ja tämä toimisi. Ja me puhkeaisi. Jos root vasemmalle oli nolla tai root oikealle oli null, olisimme tulleet tänne. Root vastaisi null. Olimme puhkeaa meidän silmukka, ja olisimme return false. Kun siis murtautua ulos silmukka, palaamme vääriä. Ja vielä, kun silmukka oli täydellinen tänne, koska emme tiedä, miten iso meidän puu on. Yritimme kirjoittaa silmukka, mutta me tajusi sinulla selvittää, miten suuri se on etuajassa. Joo. AUDIENCE: Jos näin ei binary hakupuu, se olisi todellinen matematiikka-y kirjoittaa sitä iteratiivisesti, eikö? Kuten, jos se oli puu, mutta ei välttämättä - joten se ei ollut pienempi vasemmalla, ja kaikki isommat oikealla. Se olisi todella vaikeaa kerrata sen yli, eikö? Meidän pitäisi pelastaa, mitä oli aikaisemmin on puun ja mennä takaisin, ja muuta vastaavaa. JASON HIRSCHHORN: Jos se ei binary hakupuu, jos se oli vain puu ja asiat eivät olleet lajiteltu näin - ja huomasimme aikaisemmin, kun Anna auttoi meitä, että mikä lajitellut auttaa meitä paljon - meidän olisi, kyllä, aina tallentaa jossa olimme aikaisemmin. Mutta siellä voisi olla paljon missä olimme previouslys. Siellä voisi olla paljon vanhempisolmuja. Luultavasti paras tapa tehdä se olisi olla koettelevat asiat kiinni joitakin tyyppi pinon tai jonon. Et koskaan tarvitse koodata tähän koska se on kova ongelma. Mutta ylität vähän asioita pinoon tai jonoon ja sitten pop niitä pois ja sen jälkeen arvioidaan. Ja sitten on jokin muu asia, jossa olet todella toteuttavat solmuja, ja sitten luoda sen, ja sitten etsiä sitä. Se saattaa olla paras tapa tehdä se. OK, kysyttävää tästä ongelmasta? Yleisö: Tämä on liittyvästä huomautuksesta. Onko meillä vertailla käyntiaikojen hash taulukoita, binary hakupuita, jne.? JASON HIRSCHHORN: Luultavasti. Tehdäänpä että todella nopeasti. Käyntiajan tiiviste - mitä muut ovat? Binääripuu? Yleisö: linkkiluetteloitaan. JASON HIRSCHHORN: OK, tehdään insertti. Mikä on iso O insertin on hash table? Mitä oletuksia teet? Yleisö: Olet lisäämällä at alussa linkkilista. JASON HIRSCHHORN: Luultavasti ensimmäinen Oletuksena on, ei ole törmäyksiä. Jos ei ole törmäyksiä, niin asetettiin paikoilleen on yksi. Jos on törmäyksiä, ja olet tekee erillinen ketjutus ja lisäämällä alussa linkkilista, sitten lisäys on myös vakiona. Jos teet hajautustaulua mutta et on erilainen tapa käsitellä törmäyksiä, mitä eri menetelmällä? Mitä on eri menetelmällä käsitellä yhteentörmäys tiiviste? Yleisö: Lineaarinen ohjelmointi. JASON HIRSCHHORN: Lineaarinen ohjelmointi. Joten aiomme pitää näköinen Seuraavan paikka auki. Se ei ole vakio asetettiin paikoilleen. Voisit mennä läpi koko taulukko, jotta voisi olla iso O n. Joo. Yleisö: Muuten vain ketjuttamalla? JASON HIRSCHHORN: Teimme erillinen ketjutus. Tämä oli ensimmäinen. Sitähän linkkilista. Hieno nimi on erillinen ketjutus. Se voi olla minkä tahansa tyyppinen luettelo rakenne satumme tehdä linkkilista. Joten jälleen, liitetään tiiviste voisi olla vakioaikaisia. Entä lisäys on ajettava jonossa? Yleisö: Eikö se ole vakio? JASON HIRSCHHORN: Se on vakiona aika. Olet vain työntämällä sitä. OK. Lisäyksen, mitkä olivat toisilla? On kokeilla? Mikä on iso O liitetään kokeilla? Yleisö: Pituus on vakio. Pisimmän - pituuden sanan olet lisäämällä. JASON HIRSCHHORN: Anteeksi? Odota, niin mitä kuulin? Sanoit - mitä sanoit? Mikä oli vastaus, Marcus? AUDIENCE: pituus sanan olet sisällytti merkkiä, olettaen, että se on merkki yrittää. JASON HIRSCHHORN: OK, joten pituuden sanan. Teemme oletus, että se merkkijono. Sanoit jotain erilaista, vaikka. Sanoit pituus pisin sana. Yleisö: Se on vain vakio, eikö? JASON HIRSCHHORN: Miksi se on vakio? Yleisö: Kuten, jos käytät iso O merkintä, niin se ei ole vaihdella on monia asioita, jotka ovat jo yrittää. JASON HIRSCHHORN: olisimmekin sanovat että se on pysyvää aika. Se on vakio paikoilleen, ja että koska tämä ajatus - sanoa, että meidän on sana, joka on 45, tai sana, joka on 60, että on vakio määrä. Ja se vain lisätään jatkuvassa aikaa. Käytännössä kuitenkin, se ei olisi, ilmeisesti, tapahtuu yhden millisekunnin, esimerkiksi. Mutta sanoisimme iso O on vakiona yrittää. Ja se on yksi sen suurimmista eduista. Entä työnnetään linkkilista? Vain yleinen, lajiteltu linkkilista? Joo. Yleisö: Minulla oli kysymys. On testi, he koskaan kysy meiltä asetettiin paikoilleen, joka on neljä vaihetta, tai jotain? Vai onko se vain - kun sanot asetettiin paikoilleen on yksi, että juuri tarkoittaa jatkuvaa aikaa? JASON HIRSCHHORN: Joo, ne olisivat aina kysyä, on se iso O n? Big O log n? N potenssiin vakio. Ne ovat oikeastaan ​​ainoa niitä sinun tarvitsee tietää. Entä lisäys päälle lajiteltu linkkilista? Yleisö: Minulla oli kysymys - kysymys - JASON HIRSCHHORN: Mikä on vastaus tähän kysymykseen, vaikka? Yleisö: Odota, mitä sinä kysyt? JASON HIRSCHHORN: Mikä on iso O liittämistä osaksi lajiteltu linkkilista? Yleisö: One? Ei odota, ei odota, n. JASON HIRSCHHORN: N. Lisäksi linkkilista. Ja mikä oli kysymys? Yleisö: Joten voisitteko kirjoittaa o k tai O 1 - JASON HIRSCHHORN: Oh. Voisin kirjoittaa o 1, luultavasti. Oli yksi toinen tietorakenne että olisi ollut hyvä. Puu, binäärihakupuu. Mitä liitetään binäärihakupuu? Yleisö: Kirjaudu. JASON HIRSCHHORN: Joten, mikä on pahin tapauksessa binäärihakupuu? Joten jos satumme alkavat 5, ja jokainen määrä on suurempi kuin 5, niin meillä 5, 7, 9, 11, jne.. Tässä tapauksessa se on pohjimmiltaan vain linkki lista, ja meidän täytyy lisätä kaikki Muuten lopussa. Joten se on iso O n. Se voisi olla meidän pahin on binäärihakupuu. On selvää, et koskaan rakentaa binäärihakupuu kanssa 5 keskellä, tietäen 5 olisi olla pienin määrä. Mutta se voisi olla, jos olet aloittaa tyhjästä. Kysyttävää tästä ennen kuin siirtyä toiseen kysymykseen? Se oli hyvä kysymys. Haluaisin tietää iso O - Yleisö: Entä hakemisen niille neljä? JASON HIRSCHHORN: Ehdottomasti me ei etsiminen ja lajittelu. Teimme kaikki ne algoritmit, oikea. Odota, tuo oli Quiz 1? On joka peitti - sait jo, että kysymys Quiz 1? Iso O runtime binäärihaku, lisäyslajittelu, kupla lajitella? Yleisö: Joo. JASON HIRSCHHORN: Jos sinulla olisi kysymys Quiz 0, kertoimet ovat et saada täsmälleen sama kysymys Quiz 1. Ehkä silti hyvä tietää niistä. Sinun pitäisi toivottavasti tietää gh jo. Mutta muut logaritminen runtimes On luultavasti hyvä tietää. Asiat, joita ei ole peitetty Quiz 0. Kuten kaikki nämä toimijat abstraktit tietotyypit. OK, nyt eteenpäin. Tämä pitäisi olla melko nopeasti. Ja tämä on uusi kieli ei meillä ole todella koodattu ennen. Tämä on kysymys pyynti koodata PHP. Mieti siis PHP array alla. Kirjoita PHP ja / tai HTML-koodit siten, että se lähdöt kahden sarakkeen taulukko TFs nimet ja taloja. Et ole koskaan tehnyt tätä ennen, tämä tietty ongelma. Mutta tämä olisi hyvin tuttu mitä teit Harjoitus 7. Joten olisin valmis lyömään vetoa sinun tulee kysyi koodata jotain PHP, joka on hyvin samanlainen kuin mitä teki Harjoitus 7. Ensinnäkin, array ei ole niin erityisiä. Minkälaista array tämä on? Yleisö: Assosiatiiviset. JASON HIRSCHHORN: Se on assosiatiivinen array. Ja mitä eroa assosiatiivisia array ja kohde? Yleisö: esine array on indeksi kokonaislukujen ja assosiatiivinen array on indeksi merkkijono, tai jotain sellaista. JASON HIRSCHHORN: Niin joukko esineet olisi indeksit kokonaislukuja, mutta kohde on kentät. Se on näillä aloilla nimet kuten nimi, talo, opiskelija. Onko sinulla idea? Yleisö: No, assosiatiivinen array on PHP, eikö? Ja objekti on JavaScript? JASON HIRSCHHORN: Oikeasti, ei ole Todellinen ero näiden kahden välillä. Molemmat ovat merkkijonoja avaimet, ja voi on periaatteessa mitä arvo. Eri kielillä soittaa yhden asia assosiatiivisia array, yksi asia objekti. Joten rehellisesti, ei ole mitään todellista ero, mutta siellä on varmasti jonkin verran syntaktisia erot näiden kahden välillä. Joo. Yleisö: Niin on esine myös koodattu alle huppu hajautustaulun sitten? JASON HIRSCHHORN: Mitä Tarkoitan, koodattu konepellin alle? Yleisö: Meille kerrottiin, että assosiatiivisia array oli teknisesti hash table. Joten on esine myös teknisesti hash table? JASON HIRSCHHORN: En aio vastata tähän kysymykseen. Palaan sinulle siitä. Mutta en halua ajatella kummankaan Näiden niin. Mutta millään tavalla, assosiatiivisia array ja esine, yleensä ihmiset käyttävät näitä termejä synonyymeinä. Tällöin viileä osa on, voit käyttää näppäimiä. Jouset kuten avaimet, eikä niinkään vain yksinkertainen numeroita. Joten olen puhunut Tässä jonkin aikaa. Toivottavasti jotkut ihmiset ovat saanut aloitetaan tällä. Aiomme kirjoittaa joitakin PHP ja HTML koodia, niin että saamme kahden sarakkeen pöytä TF: t nimet ja taloja. OK, minäkin haluan header soudella tässä taulukossa. Joten aion päästä suoraan tähän. Menemme tiedostoon, uusi, ja me aiomme - OK. Miten aloitan pöytä? Mikä tag, Michael, aloittaa pöytään? Yleisö: Taulukko. JASON HIRSCHHORN: Taulukko. Ja jos avaan tag, mitä muuta tarvitsen? Yleisö: pää? Tai luulisin, luokka. JASON HIRSCHHORN: Niin, sorry. Oletetaan, että olemme jo kirjoitettu doctab, HTML, kaikki jutut. Mutta jos avaan tämän taulukon tag, mitä muuta minun täytyy kirjoittaa? ja vahvistaa HTML? Yleisö: sulje se. JASON HIRSCHHORN: Sulje tag. Miten kirjoitan lähellä pöydän tag? Yleisö: Dot slash pöytä. JASON HIRSCHHORN: Slash pöytä, suuri. Luultavasti järkevää kirjoittaa sekä näitä pyyntöjä, koska sinun täytyy tehdä se. OK, jos haluan otsikkorivi, miten Kirjoitan otsikkorivin otsikot? Yleisö: Onko se vähemmän kuin 10 hr lähellä - TR, joo. JASON HIRSCHHORN: TR? Yleisö: Sitten sama asia, slash, joo. JASON HIRSCHHORN: OK, ja antaa minulle kaksi saraketta. Yleisö: T D? JASON HIRSCHHORN: OK. Haluan kaksi saraketta. Tämä antaa minulle kaksi saraketta? Kuinka monta saraketta on tämä? Yksi. Joten kopioi ja liitä tämä. Joten oikeastaan, on tietokilpailu, kaikki tämä koodi että olemme kirjoitettu tähän mennessä ollut todella annetaan sinulle. Mutta sinun pitäisi luultavasti vielä osaa kirjoittaa sitä. Joo. Yleisö: Talosi on näiden kahden välillä. JASON HIRSCHHORN: Boom. Sen pitäisi mennä tuolla, eikö? Hyvä soittaa. Joten jälleen, kaikki tämä koodi on oikeastaan antaa sinulle todellinen tietokilpailu. Mutta se on hauskaa kirjoittaa sitä, ja sinun pitäisi osata kirjoittaa se. Joten tämä on silloin sinun täytyy aloittaa koodia. Mitä meidän täytyy kirjoittaa täällä? Anteeksi, minun täytyy muuttaa tämän tiedoston nimi. Joten me tallentanut sen. HTML-tiedoston, ei. PHP-tiedosto. Nämä asiat merkitsisi mitään vuonna. PHP-tiedosto. Joten olemme. HTML-tiedoston. Mikä on ensimmäinen asia Minun täytyy kirjoittaa? Haluan laittaa PHP koodi HTML. Yleisö: PHP, kuin toinen porkkana ja kysymysmerkki PHP, eikö? JASON HIRSCHHORN: Great. Ja miten voin lopettaa sen? Yleisö: Kun kysymysmerkki. JASON HIRSCHHORN: Sehän on hienoa. Se on ensimmäinen asia, joka minun täytyy, jos haluan laittaa PHP täällä. Yleisö: Luulin. PHP tiedosto voisi HTML. JASON HIRSCHHORN: Joo. . PHP-tiedosto voi kestää jonkin HTML ja näytetään. Se oli minun huono. Yritin vain matkia mitä se oli tietokilpailu. OK, anteeksi hämmentää sinua. Kyllä, practice.HTML. Nyt aiomme laittaa jotkut PHP-koodin sisään Mikä on ensimmäinen rivi PHP minun pitäisi kirjoittaa? Aion käydä läpi tätä array ja tehdä siitä taulukko. Joo. Yleisö: Voit joko käyttää H silmukka tai silmukka. JASON HIRSCHHORN: OK, mitä haluat käyttää? Yleisö: Haluaisin käyttää silmukka. Varten, ja sitten teet dollarin merkki i on yhtä kuin 0 puolipiste dollari merkki Olen alle 2. Ja sitten puolipiste i dollari merkki Olen plus plus. JASON HIRSCHHORN: Miten tiedät käyttää 2? Yleisö: Koska oli kaksi assosiatiiviset taulukot sisällä isompi assosiatiivisia array. JASON HIRSCHHORN: Niin iso juttu: n ei osakkuusyrityksen array. Iso juttu on vain normaalia array. Mutta olet oikeassa, on olemassa kaksi assosiatiiviset taulukot sisällä meidän suurempi joukko. Siksi käytät kahta. Minusta tuntuu epämukavalta olettaen, että ne ovat 2, niin mitä tapa kirjoittaa tämän ilman olettaen, että ne ovat 2? Yleisö: [kuultavissa]? JASON HIRSCHHORN: OK, kuinka sinä kirjoittaa sen? Yleisö: foreach dollarin merkki tfs tai kuten dollarin merkki tf. JASON HIRSCHHORN: OK, joten jokaiselle TF: ä TFS, haluan nyt uudelleen, on minun pöytäni. Eli kuka voi antaa minulle seuraava rivi koodia? Yleisö: Tulosta ja sitten lainauksia, kiinnike tr lopussa kiinnike, Lainaus päättyy. End sulkeisiin, puolipiste. JASON HIRSCHHORN: OK, ja Mitä tuo aiot tehdä? Yleisö: Se aikoo sanoa, uusi rivi. Se tulee laittaa tag uuden rivin. JASON HIRSCHHORN: Aivan, tämä PHP, kuten puhuimme aiemmin - tämä PHP aiotaan arvioida, ja sitten se tulee tulostaa tähän tiedostoon taulukko hinata, ja sitten, että HTML arvioidaan. Me vain kopioimalla tämä HTML meillä oli täällä. Joo. Yleisö: [kuultavissa]? JASON HIRSCHHORN: Anteeksi? Se on täällä. Fall 2012. Älä katso vastauksia, Katsotaanpa ratkaista se yhdessä. Joten me painamme taulukon rivi. Joten olet luultavasti vauhtiin asioita. Mikä on seuraava rivi koodi meidän täytyy kirjoittaa? Assam, anna minulle seuraavalla rivillä koodia. Yleisö: Tarvitset tf nimi. Tf avoin suluissa lainausmerkki name suljettu suluissa. JASON HIRSCHHORN: Anna minulle nimensä. Yleisö: Sinun täytyy tulostaa sen. [Interposing ÄÄNTÄ] JASON HIRSCHHORN: OK, miten voin tulostaa sen? [Interposing ÄÄNTÄ] JASON HIRSCHHORN: olen puuttuu jotain nyt. Mitä minä puuttuu? Yleisö: Tarvitset dollarin merkki. JASON HIRSCHHORN: Mitä muuten olen puuttuu? Kaikki olemme painettu tähän mennessä on tr. Yleisö: Sulje tr sen jälkeen. JASON HIRSCHHORN: Tarvitsemme siis Sulje tr jälkeen. Joka näkee mitä puuttuu rivillä 16? Joo, Anna. Yleisö: Sinun täytyy avata td ja aaltosulkeita. JASON HIRSCHHORN: Ja missä laitamme aaltosulkeita? Yleisö: Noin tf nimi. JASON HIRSCHHORN: Näinkö? Yleisö: Joo. Ja sulje td. JASON HIRSCHHORN: Näinkö? Yleisö: Tarvitaanko lainausmerkkejä markkaa vieressä aaltosulkeiden? JASON HIRSCHHORN: Juuri täällä? Ei, et. Niin, että on aivan oikein. Joo. Yleisö: Niin erotuksen ja encatenating pisteellä on, jos käytät pisteitä, sinun täytyy olla lainausmerkeillä sitten piste, sitten piste - JASON HIRSCHHORN: Oikein. Sanot siellä perimmäinen tapa kirjoittaa tämän niin. Mitä Ketjutusmerkki JavaScript? Yleisö: plusmerkki. Unohdit laittaa kihara ahdin takaisin. JASON HIRSCHHORN: Great. Ja vielä yksi rivi koodia puuttuu. Kuka voi antaa minulle viimeinen rivi koodin meiltä puuttuu? Yleisö: Vain täsmälleen sama asia, vain talon sijasta nimi. Suuri JASON HIRSCHHORN: Great. Ja syntaksi on juuri oikea saada asiat yhdistävät array. Joten todellinen tietokilpailu, olet todella annetaan saakka täällä. Joten tämä koodi on annettu sinulle. Kaikki mitä piti kirjoittaa olivat nämä neljä riviä ja muista Sulje taulukko tag. Te itse tehnyt kaikki tämä ja paljon muuta. Joo. Yleisö: Joten se olisi toiminnallisesti sama, jos juuri oli, että kaikki yksi iso tulostaa puhelun, eikö? Ja sitten vain ketjutetaan sitä, jne.? JASON HIRSCHHORN: Näinkö? Yleisö: Joo. Se vain ei näytä hyvältä, jos olisit katsomalla sitä, kun olet tarkastaa elementti sivuston, eikö? JASON HIRSCHHORN: Olen samaa mieltä. Jos minä ladattu tämän verkkosivun, olisin nähdä tämän PHP, koskaan? Yleisö: Ei. JASON HIRSCHHORN: Ei. Ja todella, en halua. Yleisö: Tämä ei ole HTML, eikö? Joten saatat pystyä - JASON HIRSCHHORN: Eli tämä PHP olisi arvioitava palvelimen puolella. PHP arvioidaan aina palvelimen puolella, joten et koskaan näe PHP. Yleisö: Mutta sinun pystyä katso tulos tulosteita. JASON HIRSCHHORN: Oikea. Ja se rehellisesti ei ehkä laita se kaiken peliin. Se voisi muotoilla sen kauniisti sinulle, tai se voi laittaa sen yhdellä rivillä. Epäselvä. Mutta kyllä, hyvä pointti. Yleisö: Miksi siellä ei tekstiä korostus tahansa PHP komentoja? Koska en muista nähneeni, että. JASON HIRSCHHORN: Koska se on . Html-tiedosto täällä huipulla. Siellä mennään. Yleisö: Jos emme alkuperäisen menetelmän kanssa silmukoita, oikea, jos me halusi käyttää TFS, olisimmeko tehdä tfs kiinnike 0 kiinnike, sitten [Äänetön]? JASON HIRSCHHORN: Olisitte - niin sanot varten silmukka, sinulle tekisi dollarin merkki tfs kiinnike 1 tai i, oikealle. Tai dollarin merkki suljen kiinnike ja sitten hakasulkeen lainausmerkkeihin, joo. OK, erinomainen. Meillä on vielä yksi näkäräinen. Seitsemän minuuttia, joten haluan mennä yli tämän yhden. Tämä on toinen esimerkki. Olemme nyt täysin toista kieltä. Meillä on joitakin HTML-koodia. Se on sellainen pieni ruudulla, mutta Haluan katsoa läpi se todella nopeasti, ja voi joku kertoa minulle, jos olisin ladata tällä sivulla, mitä haluan nähdä? Kuvaile kaiken Tämän verkkosivun. Noah? Mitä minä näen? AUDIENCE: Koodi on etupään Googlesta tuntumaa tekstin ja Lähetä-painiketta. JASON HIRSCHHORN: Ja mitä olisi painiketta sanoa? Yleisö: Lähetä. Voi, haku. Olen pahoillani. JASON HIRSCHHORN: Se sanoisi haku. Muista, nimi. Mitä käytämme nimeä? Tämä nimi määritteen, mitä että käytetään? [Interposing ÄÄNTÄ] Yleisö: Se on nimensä kun se napsautetaan? JASON HIRSCHHORN: Se voisi olla. Mutta mitä me yleensä nähdä - miksi annamme tämän nimen jonossa? Miksi näemme, että? Joo. Yleisö: Eikö se tullut hakemisto super globaali muuttuja? JASON HIRSCHHORN: Joo, yleensä kun Tämän lomakkeen esittäisi, ja sitten jos olisiko tämä esittää? Mikä sivu? Nooa, millä sivulla olisi tämä esittää? Yleisö: En ole varma. JASON HIRSCHHORN: Missä voisi voimme löytää sen? Mistä löydät mitä sivu se esittää? Mitä riviä koodia? Yleisö: Form toimintaa. JASON HIRSCHHORN: Aivan. Action. Joten se esittää hakusivulle. Kenoviiva haku. Niin, että on aivan oikein. Mikä menetelmä? Yleisö: Get. JASON HIRSCHHORN: Get. Täsmälleen. Joten luemme tätä. Tämä tulee olemaan muodossa. Olet aivan oikeassa. Kaksi asiaa lomakkeella, otsikko sivu ja alkuun olisi Google. Joten tässä on kaksi kysymystä sinun pitäisi pystyä vastaamaan tästä sivusta. Jos tämä HTML asuu tällä sivustolla ja käyttäjä syöttää bug tähän tekstiin kentän täällä, mitä URL-osoitteen käyttäjä löytää itsensä heti lomakkeen lähettämistä? Joten meillä on tämä täällä. Aion palata Tältä sivulta vaikka. Kirjoitan tätä ensimmäistä osaa. Voivatko kaikki nähdä täällä? OK, Mario, luulet tietäväsi? Mikä sivu? Yleisö: Backslash haku. JASON HIRSCHHORN: Aion siirtää tänne. OK, kenoviiva haku kysymys Mark Q on yhtä bug. Kellään erilainen ehdotus? Joo. Joten miten saamme tämän? No, olemme nähneet tämän ennenkin. Ja sinä keksi aiemmin. Olit oikeassa, Noah, että toiminta kertoo meille, mitä sivu aiomme. Tiedämme myös, mitä menetelmää. Meillä menee get. Ja ero get ja post on, että saat näkyy URL ja post ei. Joten jos kirjoitin post tuolla menetelmää, mikä olisi erilainen? Yleisö: se vain olla slash haku. JASON HIRSCHHORN: Olisi vain olla slash haku. Mikään täällä tapahtuisi. Mutta koska se on saada, URL näkyy näin. Ensimmäinen näemme kysymysmerkki ja näemme nimen ja arvon. Sano siellä oli yksi muiden tekstikenttään ja Annoin sille nimen r ja I-liitäntä arvo, toukka. Mitä tämä nyt näyttää? Minulla on yksi enemmän tekstiä kenttään, annan nimi r: n ja arvo toukka. Yleisö: Kun baari sinun on Et-toukka. JASON HIRSCHHORN: Tuo ei et-merkki. Yleisö: Tai vain mitä ja symboli. JASON HIRSCHHORN: Joo, ei. Olit oikeassa, olin väärässä. Se on kuin g. Yleisö: Caterpillar. R on yhtä toukka, sorry. JASON HIRSCHHORN: Onko no r siellä? Yleisö: Ei, ei ole. JASON HIRSCHHORN: Jutellaan siitä tunnin jälkeen. Se on aivan oikein. Niin ja on oikea. Ja sitten voi olla monia näistä, ja heidät kaikki ketjutetaan yhdessä, että ja. Niin, että on aivan oikein. On vielä yksi kysymys. Piirrä tämän HTML DOM alkaen kanssa asiakirja. Voisimme tehdä sen kahdessa minuutissa. Teemme sen tänne. Menen takaisin tälle verkkosivulle. OK, aloitamme asiakirja. Mitä seuraavaksi? Joten kun luet läpi - Yleisö: HTML. JASON HIRSCHHORN: HTML on seuraava. Aiomme mennä tag tag. Mitä sen jälkeen HTML? Yleisö: Head. JASON HIRSCHHORN: Head. Mitä sen jälkeen pään? Yleisö: Otsikko. JASON HIRSCHHORN: Otsikko. Ja otsikko arvo on Google, mutta en aio kirjoittaa, että nyt. OK, jos ei kehon mennä? Yleisö: Myös tulossa pois HTML. JASON HIRSCHHORN: Aivan. Body irtoaa täältä. Ei kaikki ymmärrä, miksi näin on? Sinun pitäisi luultavasti pystyä päättelemään tätä, liian, vaikka minulla ei ollut tämä mukava painauma. Sisennys tavallaan antaa sen pois, mutta voit nähdä, että pään tag on suljettu, joten siihen luultavasti voi mennä täällä. Meidän täytyy mennä takaisin ylös mitä oli juuri ennen pään tag, tai että. Olemme jopa pään tag. Ja rungon alle menee muodossa. Lomakkeella on kaksi tuloa. OK. Se on kaikki mitä minulla. Quiz 1 on huomenna. Olen niin innoissani teitä. Se tulee olemaan hauskaa. Jos sinulla on - Yleisö: [APPLAUSE] JASON HIRSCHHORN: Voi lopeta, lopeta. Mutta ei, en ole tosissasi. Jos sinulla on kysyttävää, oikea jakson jälkeen, Odotan ulkona. Jos sinulla on kysyttävää tänä iltana, rohkeasti soittaa, sähköposti, gchat, kyyhkynen minua. Onnea huomenna. On ihana kiitospäivä tauko, jos en näe sinua ennen. Ja minä näen teidät kiitospäivän jälkeinen tiistaina meidän lopullinen jakso puolue koskaan. Yleisö: [kuultavissa]. JASON HIRSCHHORN: Great. OK, minä Nähdään ensi viikon tai kahden viikon kuluttua. Ja onnea huomenna.