>> JASON Hirschhorn: Sveiki, visi, kad 10 savaitę.
Tai jaudinantis savaitę, nes rytoj Viktorina 1, kuris gausime
kad per sekundę.
Šiandien skyriuje, mes ketiname eiti daugiau nei keletas viktorinoje ištekliai ir
tada aš atsakyti į visus ir viską Klausimai jums vaikinai.
Ir mes galų gale su kai praktikos problemos.
>> Mes galime praleisti visą skyrių atsakydamas į klausimus.
Mes galime praleisti visą skyrių vyksta per praktikos problemų.
Mes tiesiog išplėsti užpildyti erdvės ir laiko turime.
>> Todėl aš įdėti šį sąrašą kiekvieną savaitę, tačiau tai ypač svarbu šią savaitę.
Studijuoti, jei jūs neturite jau prasidėjo, o berniukas.
Bet tikiuosi, jūs jau prasidėjo.
Ir jūs ketinate per medžiagų ir ištekliai išvardyti čia.
Aš labai rekomenduoju jų skaičius.
>> Visų pirma paskaita banknotai nepaprastai svarbi ir naudinga.
Study.cs50.net suteikia puikus gruntas ant daug
temos mes padengti.
Ji taip pat turi puikiai praktikos problemas.
Ir tada, "Google" yra puikus, taip pat.
Aš nežinau, ką jūs norite jį naudoti.
Tačiau naudoti "Google", taip pat.
>> Pasiekti, kad man, jei turite kokių nors Klausimai, komentarai, ar susirūpinimą.
Pažiūrėkit sesijos apžvalgos skaidres iš praeitą naktį.
Arba, jei turite šiek tiek laiko, žiūrėti video.
Jie teikia naudinga daug medžiaga ir informacija.
Ir pabandyti padengti, jeigu ne visi, daugelis temos mes, kuriems ir kad jūs
gali pamatyti viktorinoje.
>> Kalbant apie viktoriną, kad bus rytoj.
Tai 75 minučių.
Daugelis iš jūsų jį vartoti 1 val, o kai kurie iš jūsų yra
jį vartoti 05:30.
Šiuo metu jūs vartojate jį ir vieta, į kurią atsižvelgiant jį, įsitikinkite, kad
paimate dokumentą ant CS50.net puslapyje.
>> Nepamirškite, kad jūs galite gauti vieną 8 1/2 11 lapo pasiimti su savimi.
Neretai žmonės nesinaudoja tai lapas išvis per viktorina.
Bet iš tikrųjų, tai yra neįtikėtinai naudinga tyrimo priemonė.
Taigi, komponavimas, kad lapas yra kas Aš praleido tikriausiai tris ar keturias valandas
darote, kai mokiausi už CS50, ir kad buvo lengvai labiausiai naudinga
būdu galėčiau studijuoti viktorinoje.
Taigi, net jei jūs turite kai kurių kitų žmonių studijų vadovų pažvelgti ir
naudoti kaip nuorodas, aš labai rekomenduoju kurti savo studijų vadovas, išleisti
kad kita kartu.
Tai tikrai padės jums sužinoti visos medžiagos.
>> Paskutinis, bet ne mažiau Šiame skyriuje po rytojaus viktorina yra vienas
daugiau paskaita -
kitą pirmadienį.
Yra dar vienas skyrius, nėra šalia Antradienis, prieš Padėkos, bet
Antradienis po to.
Mes susitiksime kartu galutinis sudie šalis ir taip pat daro kai kurie atvėsti
ką jums vaikinai susijaudinęs apie tolesni tyrimai kompiuterių mokslo.
>> Yra dar vienas projektas, dar vienas teisinga, dar vienas hackathon.
Mes artėja prie CS50 pabaigos, kuris yra įdomus -
bet taip pat, jei jūs kaip man šiek tiek liūdna.
Prieš judėti į priekį, ar kas nors turi kokių nors klausimų apie tai, kas
mes, kuriems iki šiol?
>> Gerai, gerai eikime per kai kuriuos klausimus kad jūs turite už viktoriną ir pranešimus
mes galime padengti.
Taigi tai yra sąrašas, kad aš kartu sudėjus.
Tai jokiu būdu nėra baigtinis, tačiau tikiuosi bus stumtelėti savo atminties, jei jums
turėti tam tikrą informaciją apie bet kurį iš šių klausimų temos, arba, jei turite klausimų apie
praktikos problemos iš viktorinos metais anksčiau.
>> Turėjau keletą klausimų, kurie buvo išsiųsta į mane, bet aš noriu turėti ne
tiems sekundę.
Ar kas nors turi kokių nors klausimų, problemų jie nesuprato,
Atsakymai jie nesuprato gauti mums pradėti?
Avi.
>> Auditorija: Ar jūs tiesiog eiti per DOM, Ajax, tikrai greitai?
Kaip, ką mes turime žinoti ar turėtų suprasti apie juos?
>> JASON Hirschhorn: Aš ruošiuosi atsakyti paprastai šis klausimas, ką aš
reikia žinoti apie tikrą temą x?
Nes aš turiu jausmas, kad daugelis iš jūsų ketinate man paprašyti, kad arba yra
įdomu apie tai.
Taigi tiek, kad tema buvo įtraukti į paskaitą, ar skyriuje, arba
study.cs50.net, problema nustatyti, jūs turi būti susipažinę su ja.
>> Taigi jums nereikia žinoti, kokio tipo Tag kad turima HTML arba
kiekvienas atributas ar turto rūšis galite duoti kažką CSS.
Bet jei jūs pamatė ją paskaitų, pavyzdžiui, jei matėte jį problemos
rinkinys, jūs tikriausiai turėtų būti susipažinę su juo, ypač ką matėte
į paskaitą.
Taigi, mes aptarė dokumentą Objektinis modelis šiek tiek per
labiau, kad skyriuje, į paskaitą.
Jūs turite būti susipažinę su, kad daug.
>> Ir jums turėtų būti susipažinę su AJAX tokiu pačiu mastu.
Mes niekada matė neįtikėtinai pažangios arba Sudėtingesni pavyzdžiai Ajax, todėl
esate nesiruošia būti paprašyta padaryti kažkas neįtikėtinai sudėtinga.
Tačiau jums gali būti paprašyta, kaip man padaryti Ajax skambinti naudojant JQuery?
Kuris yra kažkas, ką mačiau numerį kartų prieš, tiek
peržiūrėti sesijos ir į paskaitą, ir tai tik du ish eilučių kodo.
>> Taigi, kad yra kažkas, jūs turėtumėte būti susipažinę su.
Bet vėl, visų šių temų, jei mačiau jį
anksčiau, tai yra teisingas žaidimas.
Ir mes galime paprašyti jūsų - žinoma, mes ketina prašyti apie tai, ko
nemačiau anksčiau.
Kodavimo ką turite ne matęs.
Kuris yra ne pasakyti, jūs ne vertinti priemones, siekiant išspręsti
kad problema anksčiau.
Jūs matėte tuos įrankius.
>> Pavyzdžiui, viktorina 1, jei jums reikia koduoti strlen.
Mes ne koduojami strlen anksčiau.
Bet jūs žinote, kaip naudoti už linijos, žinote, kaip naudoti, jei sąlygos.
Jūs žinote, kaip rašyti kintamuosius C Tai bus tas pats čia.
Jūs esate nesiruošia būti paprašyta padaryti nieko jūs dar nematėte anksčiau, bet
jums gali būti paprašyta, kaip, įdėti kažkas kartu nauju būdu, arba
spręsti skirtingo tipo problema.
>> Atsiprašome, kad nebuvo konkrečiai jūsų klausimas, bet aš negaliu atsakyti apie
kiekvieną temą, ką daryti ar nereikia žinoti.
Bet taip pat, atsiprašau, paskutinis dalykas, apie tai.
Mes praleido daug daugiau laiko nuorodą sąrašus, nei turime apie Ajax.
Tu negali naudoti Ajax probleminę rinkinys.
Vienas iš pagrindinių funkcijų, kad problema nustatyti, kad buvo nuoroda sąrašus.
Ir mes praleido daug laiko paskaita ir skyrių jį naudoti.
>> Taigi, šansai yra nuoroda sąrašas ateis daugiau dažnai nei Ajax valios viktorina.
Ar klausimai, turintys daryti su nuorodą sąrašas bus verta daugiau taškų.
Taigi, galite tikrai dėmesio ir siauras į dalykus, kurie labiau
gali sugalvoti, nes mes turime daugiau laiko praleido ant jų.
>> Gerai kitus klausimus?
Taip.
>> Auditorija: Ar mes galime eiti per naudojimo anoniminės funkcijos JavaScript?
Aš yra šiek tiek supainioti apie tai.
>> JASON Hirschhorn: Taigi JavaScript -
Bandau galvoti, kaip aš galėtų rašyti tai apie -
tad iš tikrųjų atverti šį kodą.
Taigi tai yra kodas, kad mes padarėme praėjusią savaitę.
Ir mačiau tai anksčiau, jei čia skyriuje buvo praėjusią savaitę.
Arba jūs mačiau kažką panašus į anksčiau.
>> Bet jūs galite pažvelgti į šią pirmoje eilutėje.
Tai kaip jums pradėti -
visi matė tai anksčiau.
Jei norite įdėti šiek JavaScript kodą, jūs įdėti jį viduje tai, darant prielaidą,
jūs naudojate JQuery.
Tai sakydamas, nereikia nieko daryti tol, kol dokumento pakrautas.
>> Ir tada, Curt, matote čia mes darome kažką panašaus į tai -
funkcija atviros skliaustas, uždaras skliaustas.
Taigi mes ne suteikti tai veikti vardą.
Mes neketiname nustatyti šią funkciją Manoma, kad paleisti ir tada
ją vadina kartų krūva.
Mes tiesiog pasakyti šį dokumentą jau trunka funkcija.
Ką daryti pora.
>> Ir mes nenorime praleisti laiką suteikiant jam pavadinimą arba išsaugoti jį
Ilgalaikiškumas.
Mes tiesiog norime paleisti kai kuriuos dalykus.
Taigi anoniminis funkcija rūšiuoti iš tarnauja šiam tikslui.
Jei nesate ketinate naudoti kažką vėl ir vėl, todėl jums nereikia
suteikti jai pavadinimą - tiesiog norite naudoti ją kartą -
jūs tiesiog pasakyti funkciją, už Pavyzdžiui, šiuo atveju, ir jūs tiesiog
kažką nustatyti, kad galite suteikti pavadinimą.
>> Kaip galėtume traukti šią funkciją iš ir suteikti jai pavadinimą ir tada skambinti, kad
veikti čia.
Bet mes nereikia, nes mes ne nori gaišti laiko suteikti jai pavadinimą arba
eikvoti nors mūsų vardas erdvėje.
Ir pamatysite, kad daug.
Pavyzdžiui, matome, kad šioje daug kodas, bet kai mačiau tai anksčiau, kai
Spustelėjus kažką -
paleisti šį kodą tipą.
>> Mes galime nustatyti kodą, kad mes norime paleisti, kai mes spustelėkite, šiuo atveju,
šis ID, kaip atskira funkcija ir paleiskite šią funkciją.
Tačiau šiuo atveju, mes tiesiog praleidžiant kad žingsnis ir perkelti jį į čia ir
tiesiog viską apibrėžiant kad mes norime, kad taip atsitiktų ir
ne suteikiant jai vardą.
Kad vis dar gali neturėti atsakė į jūsų klausimą.
>> PUBLIKA: Ne, tai nėra.
Aš turiu galvoje, aš manau, aš tiesiog nelabai gauti, kodėl jis būtų
veikia ne visi, nors.
Kadangi tai tikrai nėra vadinamas.
Jis tikrai ne turėti pavadinimą.
>> JASON Hirschhorn: Tai yra funkcija ta prasme, kad tai tikrų veiksmų,
kaip galėtumėte įdėti į funkciją.
Ir tada tai kodėl mes vadiname anoniminę funkcija.
Mes neketiname suteikti jai pavadinimą.
Mes neketiname gaišti bando jį pavadinti, bet mes galime.
>> Anoniminiai funkcijas, jūs visada galite suteikti pavadinimą.
Taigi, pavyzdžiui, šis kodas čia, mes galime įdėti šį kodą viduje
funkcija ir tada skambinti ši funkcija čia.
Vietoj to, mes sakome, mes neketiname rūpintis, kad.
Mes tik ketina rašyti viskas čia.
>> Tai kaip kartais, kai rašote keturių kilpa C - vaikinai
mačiau tai anksčiau - gal jūs iteravimu per forloop
į I lygus 0.
I yra mažiau nei strlen.
Arba jūs ketinate per kai masyvas, galite sutaupyti masyvo
i indeksas tam tikru kintamuoju.
Ir jūs naudojate, kad kintamasis.
Taigi jums nereikia perrašyti masyvas laikiklis aš vėl ir vėl ir vėl.
>> Ir tai tarsi fiktyvus kintamasis.
Ji tarnauja ne daug paskirtį, išskyrus kad jūsų kodas tiek švaresnis
ir lengviau skaityti.
Panašią funkciją čia.
Tiesiog todėl šiek tiek lengviau, tačiau funkciškai nėra skirtumo.
Ar tai atsakymas į jūsų klausimą?
>> PUBLIKA: Taip.
>> JASON Hirschhorn: Gerai ..
Mario?
>> PUBLIKA: Vakar jie dažnai įdėti funkcija skliausteliuose renginį.
Ar tai reiškia, kad kažką?
Arba tai už tokius dalykus kaip kad jie darytų
document.ready funkcija renginį.
>> JASON Hirschhorn: Mes matėme tai, ir Vėlgi, tai yra mažesni dalykai
tikriausiai aš nenoriu praleidžia per daug laiko.
Nes kartais aš nenoriu žmonių gauti jaudinuos, kad jie neturi
girdėjote apie šiuos dalykus, kad daug.
Bet mes kalbėjome šiek tiek apie Renginio krautuvai.
Taigi, kažkas atsitinka, tada ši funkcija yra įvykdytas.
Ir tada mes taip pat norime žinoti kai kurios detalės apie tai, kas
atsitiko šį įvykį.
>> Taigi manau atgal į problemą nustatyti 4.
Tai turbūt lengviausias būdas suprasti, kad išeiti.
Padaryta tam tikra kodas -
kaip renginys įvyktų, tačiau įvykis gali reikšti daug dalykų.
Jei galėtų reikšti pele paspausti, kad galėtų reikšti paspausite rodyklės klavišą, et
tt, ir tt.
>> Bet visa tai išsaugota tai bendrinis dalykas, vadinamas renginius.
Ir tada mes galime pasakyti, yra šis renginys šis dalykas?
Ar tai įvykis šis dalykas?
Arba, kokios įvyko su tokiu atveju?
Štai kodėl jums sukurti, kad kintamasis ten įrašyti šios papildomos informacijos
apie tai, kas tiksliai atsitiko, kad jūs ketinate norite
naudoti ir funkcija.
Bet vėl, tai tikriausiai yra viena iš mažiau svarbių dalykų, super
susipažinę su.
>> Gerai, ką kiti klausimai turi žmones turėjo arba sunkino jie
susidūrė peržiūrint?
Mes grįžti į tą sąrašą.
Ką apie praktikos metu viktorinos, jei žmonių ėmėsi jau?
Kas buvo keletas problemų, kurios paslydau jums vaikinai iki?
Aš žinau, už tai, kad praėjusių metų viktorina buvo tikrai sunku.
>> Auditorija: Ar galite paaiškinti, ką SQL injekcijos ataka?
>> JASON Hirschhorn: Gerai, puiku.
Taigi mes kalbėjome apie tai šiek tiek.
Yra saugumo paskaita.
Ir vėl, kaip jau minėjau anksčiau, tai panaikinti.
Bet jums bus nusivylė dėl viktorinoje kai jūs skaitote tam tikrą nedidelį du tašką
klausimas, ir jūs kaip, kada aš kada nors išmoks, kad?
>> Visus tuos dalykus tose paskaitose kad jūs ne manote, kad reikia
žinoti, ar galima nuslėpti, nes jie neturėjo daryti su
problema rinkinys, tie, greičiausiai, bus sugalvoti vėl viktorinoje.
Taigi, cool, įdomus dalykų, kad jūs tiesiog maniau Dovydas sako jums, kad
mėgautis, jis buvo sakau jums, kad patinka ir, kad jums tiesiog super
susijaudinęs apie mokymosi viską yra išmokti
apie kompiuterių mokslo.
Tie dalykai taip pat sugalvoti viktorinos.
Taigi, net ir šie maži dalykai, kurie nebuvo tiesiogiai susiję su jūsų problema
nustatyti, kaip jūs vaikinai yra susipažinęs su iš Viktorina 0, tikriausiai sugalvoti.
Ir tai yra geras pavyzdys kažką.
>> Taigi SQL injekcijos išpuolių, kai jūs gauti tam tikrą informaciją iš vartotojo ir
norite įterpti jį į lentelę, naudojant SQL įterpti pareiškimą, bet jūs
nebuvo išvalyti įvestį iš anksto.
Taigi, akivaizdu, mes matėme SQL.
Aš tiesiog atverti -
eikime -
eisime į peržiūrą -
Manau, kas tai yra?
Manau Samalavičius padarė.
Taigi, mes galime gauti -
>> PUBLIKA: Kur radote tai?
>> JASON Hirschhorn: Taigi, jei jūs einate į CS50.net, viktorinos, tada jūs galite
pereikite per ir gauti skaidres iš peržiūros sesijos.
Bet matote, tai yra geras pavyzdys iš SQL injekcijos ataką.
Mes šiek tiek informacijos iš vartotojo ir jie mums eilutę, ir tada mes
norite įterpti, kad eilutė į duomenų bazę.
Apskritai, mes ketiname išvalyti, kad įėjimas, o tai reiškia, yra keletas
simbolių, kurie yra pavojingi.
>> Pavyzdžiui, SQL eilutes, Šios citatos -
vieno arba dvigubomis kabutėmis -
reiškia kažką.
Jie reiškia nutraukti šią eilutę čia.
Ir jeigu vartotojas suteikia jums vieną arba dvigubos kabutės, jie gali būti
bando į kelionę savo SQL užklausą ir įterpti blogų dalykų į jį.
Ir jei jie, kad jie galėtų įgyti kontroliuoti savo duomenų bazės arba ką nors
dalykų, kad jūs nenorite, kad jie padaryti.
>> Štai kodėl, kai mes SQL užklausas, mes išvalyti įvestį prieš
išleisti ją į duomenų bazę, kuri reiškia, kad mes išvengti šių simbolių.
Mes kalbame apie tai per sekundę.
Bet ilga istorija trumpa, SQL injekcijos ataka yra, jei jūs neturite padaryti -
jei jums nereikia rūpintis įėjimo jie davė jums prieš pateikdami savo
duomenų bazės, jie gali, kaip matote žemyn čia paleisti užklausą, kad iš tiesų -
jie įdėti savo kodą čia apačioje ir tai pasirinkite linija žemyn čia bus pasirinkti
viskas nuo stalo nesvarbu kas yra suteiktas slaptažodis.
Kadangi jūs turite arba 1 yra lygus 1.
>> Taigi, tai, iš esmės, ilga istorija trumpa, būdas perimti duomenų bazę.
Klausimas, tada jums vaikinai yra kur p rinkinių 7 tu išvalyti visus
jūsų SQL užklausų įėjimai?
Kur, kad žingsnis atsitikti?
Jeigu jums išvengti SQL injection atakų vyksta p nustatytas 7?
Taip.
>> PUBLIKA: Kripta?
>> JASON Hirschhorn: Taigi jis nebuvo kriptoje.
Mes ne jums tai padaryti už tai pirma problema nustatyti, bet tai atsitinka
užklausos funkcija.
Mes iš tikrųjų ją parašė jums, ir mes rūpinosi
valyti įėjimai jums.
Tačiau ankstesniais metais, studentai turėjo įveskite savo jėgomis įėjimai.
Į p rinkinį 7, iš jūsų daug -
leiskite man atverti dar vieną bylą.
>> Taigi, jūs pastebėsite, čia daug daug žmonių, ir problema nustatytą 7, neragino
ši funkcija stygos.
Ši funkcija, htmlspecialchars, vėl -
Ši eilutė gali turėti kai kurių dalykų kad HTML reiškia kažką kita.
Kaip petnešomis, kvadrato ar kampu laikiklis reiškia kažką HTML.
>> Ir todėl jei spausdinate, kad iš į ekranas arba jei jūs tiesiog imtis, kad ir
spausdinti, kad iš savo HTML, kurie gali kažką daryti, jums nereikia tikėtis.
Taigi htmlspecialchars eina per visus tuos ženklai, kurie turi ypatingą
susitikimų ir išbėga juos.
Taigi jis bus atspausdinti kaip tekstą norite pamatyti, o ne
sriegia savo HTML.
Mes raginome, kad funkcijos antraštėje.
Ir daug žmonių pamiršo skambinti, kad funkcija
kodas buvo raštu.
>> Taigi, jei, pavyzdžiui, vertybinių popierių pavadinimas buvo Konsolė į jį ir jūs užmiršote
skambinti šią funkciją, kad kampas laikiklis gali mesti ne ką
Jūsų HTML atrodė.
Tačiau paskambinus šią funkciją pabėgs kad taip iš tikrųjų spausdina kaip
Kronšteinai ir neturi mesti išjungti savo HTML kodą.
>> Dėl tos pačios priežasties mes matėme, kartais, nerijos iki dvigubų kabučių
printf linija, nes mes nenorime kabutes žemyn eilutę.
Norime juos spausdinti dėmesį į ekrane.
Taigi visa tai yra pati idėja.
Ar tai atsakymas į jūsų klausimą?
>> PUBLIKA: rūšis.
>> JASON Hirschhorn: Ar jums turėti tolesnių?
>> PUBLIKA: Manau, SQL injekcijos ataka turi daryti su tuo?
Aš nesuprantu, kaip du yra susiję.
Kodėl jūs darytumėte su specialchars?
>> JASON Hirschhorn: Gerai, kad "SQL injekcijos išpuolių kai injekcijos
kai kenksminga stygos į kažkieno programa, ir jie tiesiog nuneškite jį ir paleisti
SQL užklausos su virvele davei jiems.
Kaip matote čia apačioje, kad gali būti problemiškas.
Taigi, kaip jums išvengti prieš tai jūs imtis savo eilutę, kad jie
jūs - taip šios eilutės čia -
ir jums išvalyti jį.
Pabėgti visus dalykus, kurie yra potencialiai problematiškas.
Taigi jums nereikia aiškinti juos kaip kažką tai reiškia, kad kažką.
>> Ir to pavyzdys su HTML yra ši funkcija.
Taigi, tai pati idėja čia.
Ir man buvo tiesiog parodyti jums, kita pavyzdžiai, kai jūs
matęs šią idėją.
Pabėgti vartotojo įvestį prieš spausdinant ji iš į ekraną arba išleidimą
viduje SQL.
>> PUBLIKA: Taigi šiuo atveju vartotojas Messing su programuotoju.
>> JASON Hirschhorn: Taip.
Su visais iš šių saugumo atakų, tai visada paprastai vartotojas ar
kažkas, bando netvarka su jumis, programuotojas.
Ir tai yra būdų, kaip galite apsisaugoti nuo jų.
>> PUBLIKA: Taigi turiu klausimą apie maišos funkcijas.
Viktorina 1 iš 2011, yra du klausimai apie vienpusių masyvuose.
Ir man buvo tiesiog įdomu, ką tai reiškia.
>> JASON Hirschhorn: Gerai, o viktorina?
2011?
>> PUBLIKA: Taip.
>> PUBLIKA: Viktorina 1?
>> PUBLIKA: [nesigirdi].
Štai kaip maišos slaptažodį.
Tai ne išleidimą dalykų -
>> JASON Hirschhorn: Kas puslapis buvo?
>> PUBLIKA: Aš manau, kad tai buvo 9 arba 10, arba abu.
>> JASON Hirschhorn: Viskas gerai, eiti į priekį, Curt.
Jūs galite atsakyti, o mes žiūrime.
>> PUBLIKA: Manau, kad tai kalbėti apie maišos slaptažodį.
Kaip, kai kas nors įveda slaptažodį jūs pasukite jį į saugiame dalykas.
Štai slaptažodį maišos, kuris yra skiriasi nuo maišos funkcija, kad
nurodo kažką į maišos lentelėje.
>> JASON Hirschhorn: Pažiūrėkime.
Leiskite atsigriebti ką jie duoti kaip atsakyti.
Ir tada mes vaikščioti per ją.
>> Taigi Curt davė puikus pavyzdys iš vienpusio maišos.
Kai mes matėme prieš tai, mes imtis savo slaptažodį ir pasukite -
atminkite, kad p rinkinį 7, nors gali turėti slaptažodį, kad tik slaptažodis,
bet tada jis bus šifruojamas į kai tikrai ilgai dalykas.
Vienpusio kodavimo būdu reiškia, kad jis yra labai lengva pereiti nuo vieno būdas kitas, bet
tai labai sunku pereiti nuo Kitas būdas atgal.
>> Ir taip, jūs žinote, kai jūs buvo patikrinti žmonių slaptažodžius problema
nustatyti 7, galėtumėte imtis jų -
todėl, pavyzdžiui, pasakyti, kad jie norėjo pakeisti savo slaptažodį, galite paprašyti
savo senąjį slaptažodį.
Jūs paėmė savo seną slaptažodį.
Jūs užšifruoti ją.
Ir tada palyginti dviejų šifravimą o ne unencrypting originalą
vienas, nes tai tikrai sunkiai eiti, kad taip.
Taip.
>> PUBLIKA: Kaip išsamiai daro mūsų supratimas telnet turi būti?
>> JASON Hirschhorn: Jei jau buvo minėta trumpai paskaitą, tiesiog trumpai
supratimas.
Vėlgi, grįžti į atsakymą į AVI klausimą -
daugiau dalykų sugalvoti, tuo labiau tikėtina, tai jūs turite būti super
susipažinęs su jais.
Jei jie tik atėjo į paskaitą, tai tik viena vieta.
Bet jei jie sugalvoti paskaitą, sekcija, ir problema nustatyti, tada jūs
tikriausiai turite būti super susipažinęs su jais.
>> Taigi turėjau klausimą iš anksčiau apie -
Ar buvo rudenį 2010 -
Viktorina 1, galime atsigriebti -
šis klausimas į kaminus ir eilėse, kuri mes padarėme praleisti teisingą bitų laiko
kalbame apie paskaitą, net nors mes nelabai
kada nors nukentėjo jį skyriuje.
Taigi šis klausimas yra suteikti jums seriją komandų ir klausia, ką
bus spausdinami šioje byloje.
Taigi tai yra visiškai pagrįstas klausimas kad gali būti paprašyta iš jūsų
vaikinai, ir tada vaikinai turėtų gebėti atsakyti į jį.
>> Tad kodėl gi ne pažvelgti į jį 30 sekundžių, o po to, jei kas nors nori
siūlyti į mane atsakymus ir tada mes vaikščioti per ją.
Viskas gerai, kas turi atsakyti į 27 klausimą?
Taip.
>> Auditorija: Ar 1, 2, 3, 3?
>> JASON Hirschhorn: Tai tiesa.
27 yra 1, 2, 3, 3.
Taigi pažvelkime, kaip mes turime, kad.
>> Pirma, mes sakome, jei s eilė, ką gauna atspausdintas?
Taigi q yra pirmoji, pirmoji iš.
Mes matėme, kad prieš.
Matėme žmonių paveikslėlį laukia prie "Apple"
Parduotuvę nusipirkti produktą.
Pirmieji žmonės yra pirmieji žmonės iš.
Pirmieji dalykų eilę yra pirmieji dalykus.
>> Taigi, jei mes stumti kažką į eilę, jūs stumti 1, tada mes pop 1.
Pop tiesiog reiškia imti.
Tokiu atveju, tiesiog ką nors.
Mes imti pirmas dalykas, tai 1.
Taigi, mes įdėti ką mes spausdinti žemyn per čia.
Tai nebėra mūsų eilėje.
>> Tada mes stumti ant 2 ir 3, ir mes nusibaigti pirmas dalykas.
Dar kartą, nes tai eilė.
Taigi, mes gauname 2, tada mes įdėti kitą 3 ir vėl paskambinti pasipriešinimo.
Mūsų 3 yra pirmasis.
>> Ir tada mes turėjome visa krūva kitų dalykų, ir kvietimas Pop.
Bet vėl, nes tai yra eilė, first in, first out.
Mes imti pirmas dalykas, , kuris buvo kada nors įdėti in
Tai mūsų 3.
Ir šiuo atveju mes neturime nerimauti apie visus tuos kitus dalykus.
Štai, jei tai yra eilė.
Bet apie eilę klausimų?
>> Kamino viskas kitaip.
Kas yra akronimas turime suprasti kamino?
>> PUBLIKA: paskutinis, first out.
>> JASON Hirschhorn: LIFO, manau.
Paskutinė, first out.
Taigi mes matė kamino pavyzdį iš laikiklių valgomajame.
Nepriklausomai dėklas ant gauna pakėlė.
Ir tada, jei Nauji padėklai į, jie gauna įdėti ant viršaus.
Ir tada kokia yra top gauna pakėlė.
Taigi tie, padėklai ant dugno galybe ten kurį laiką.
>> Tokiu atveju, dar kartą, mes atkreipia į tai dėmesį.
Mes stumti ant vieno, todėl vienas yra pirmoji linija.
Ir mes pop ką nors ne.
Ir yra tik vienas dalykas, ten, taip mes einame 1 čia.
Tada mes įdėti 2 ir 3 ir mes pop ką nors ne.
>> Bet vėl, nes tai yra eilė -
ar tai kamino, o -
mes imtis bet buvo paskutinis.
Koks yra paskutinis išeina pirmas.
Ir 3 yra paskutinis.
Taigi, mes įdėti 3 ten, tada mes įdėti kitą 3 ir mes
vėl pop kažką.
Galiausiai, mes įdėti į 4, 5, 6 ir 7, ir čia mes pop.
Ir todėl tai kamino, mes kokia buvo pradėtas praėjusių ir rašyti
kad čia.
Taigi, mes galų gale su 1, 3, 3, 7.
Ar kas nors turi kokių nors klausimų kaminai ar eiles, ar šis pavyzdys?
>> Gerai.
Grįžkime į temų sąrašą.
Ne todėl, kad būdas, šis būdas.
Kokie kiti klausimai žmonės turi?
>> PUBLIKA: aš nežinau, kaip svarbu tai yra, bet man buvo supainioti
skirtumas tarp skirtingų tipų kalbomis, pavyzdžiui, žymėjimo, kaupiami,
aiškinti.
>> JASON Hirschhorn: Štai geras klausimas.
Manau, kad yra šiek tiek svarbu, todėl galime eiti per jį greitai.
Didieji kalbos mes matėme iki šiol yra C, PHP ir JavaScript, kalbant
programavimo kalbų.
HTML, kaip Jūs minėjote, nėra programavimo kalba.
Tai žymėjimo kalba.
Ir tada mes turime CSS, kuris taip pat nėra programavimo kalba.
>> Mes taip pat matėme SQL, kuris nėra programavimo kalba, arba.
Taigi SQL leidžia rašyti užklausas dėl duomenų bazę.
HTML žymėjimo kalba.
Jis apibrėžia, kaip viskas yra struktūrizuoti.
Ir CSS leidžia jums stiliaus dalykus.
Tai turbūt, kiek už tai, ką reikia žinoti apie šių trijų.
Bet tai įdomiau figūra iš tarp C, PHP skirtumų,
ir JavaScript.
>> Taigi vienas iš didžiausių skirtumų, kaip Jūs minėjote, yra tai, kaip jie
duomenis, arba bet ekvivalentas yra.
Taigi C surinkti.
Mes visada paleisti kompiliatorių.
Ir tada, kai jūsų klaidos paleidus C kompiliatorių?
Kur ji rodo jums Klaidos savo kodą?
Kaip jūs žinote, ten klaidos kodą į C?
>> PUBLIKA: Tai rodo, terminale.
>> JASON Hirschhorn: Jis rodo jums terminalas, kaip jūs rinkti.
Ir jei yra klaidų, ji nebus tikrai kaupia jį.
Taigi jūs žinote, kad yra klaidų, teisė toli, iš anksto, prieš jus
net paleisti savo kodą.
>> Žinoma, jūs galite paleisti savo kodą ir gauti segmentavimo kaltės, bet tai buvo
tikriausiai todėl, kad tu kai kvaila logika dalykas.
Bet jūsų kodas su techniškai teisingi ir gali paleisti.
Taigi C kodas bus surinkti iš anksto.
Ką apie PHP kodo?
Jeigu buvo klaidų savo PHP kodą?
Kaip jūs žinote, buvo klaidų Savo PHP kodas?
>> PUBLIKA: Pradėti laiką?
>> JASON Hirschhorn: Taip, kai jūs būtų paleisti jį, jums bus paleisti
PHP kodą į nugarą.
Ir tada bus rodomi ekrane.
Jūs galite pamatyti keletą dalykų ant viršaus, bet tada jūs pamatysite, kaip, kai
oranžinė, negraži stalo.
Ir tai duos jums eilutės numeris ir tarkim, bla, bla, bla, ši medžiaga
neveikia.
>> Taigi PHP aiškinama pagal kiekvieną eilutę ir vykdomas serveryje.
Ir tada rezultatas yra siunčiami į jus.
Didysis.
Vykdomi serverio eilutė po eilutės ir tada siunčiami į jus.
Ir jei yra klaida, jis bus siųsti jūs klaida, bet jums gali tekti
šiokio tokio stuff iš anksto.
Taigi, kai ji galėjo apdorotas, bet vėliau, kai kurių dalykų gali neturėti
neveikė.
>> Ką apie JavaScript?
Kur tu matei JavaScript klaidų?
Į p nustatytas 8, kai jūs turite klaida, kaip tu žinai?
Kur ji pasirodys?
>> PUBLIKA: Be konsolės apačioje.
>> JASON Hirschhorn: Be konsolė, ant dugno.
Tai taip pat suteiks jums eilutės numeris, ir tai būtų
parodyti ant dugno.
Ir JavaScript nebuvo įvykdytas serveryje.
"JavaScript" buvo išsiųstas į jūsų kompiuterį, ir tada, kai atėjo laikas paleisti
JavaScript "JavaScript" buvo paleisti pagal kiekvieną eilutę apie
klientas, jūsų pusėje.
Ne serverio, kliento pusėje.
>> Ir panašiai, tai buvo paleisti pagal kiekvieną eilutę.
Ir tada, kai jūs gaunate klaidos pranešimą, būtų rodomas apačioje.
Panašiai kaip PHP, kai jis gali vykdyti, ir tada jūs galite gauti
klaidos vėliau.
>> Be to, šiek tiek skirtingai PHP, jei turite JavaScript klaida -
sako, tu negali padaryti teisę kodas perspėjimo lange -
galima nuolat veikia savo programą.
Langelyje įspėjimo nebūtų dirbti, bet jūsų programa bus gerai.
Tiesiog gal tai funkcija žlugs.
>> Taigi, čia yra keletas didžiausių skirtumas pagal tai, kaip jie
kalbos, arba, kaip programinis kodas rašote iš tikrųjų vertinama.
Yra ir kitų skirtumų sąlygos - didžiausias skirtumas
mes matėme, kalbant apie kintamuosius į įvairias kalbas.
Taigi gali kas nors duoti man skirtumas tarp kintamųjų
trimis kalbomis?
Taip.
>> PUBLIKA: C, jie griežtai įvedėte.
Kitų dviejų, jie laisvai atspausdinti.
>> JASON Hirschhorn: O Ką tai reiškia?
>> Auditorija: Kad C, turite deklaruoti kintamojo tipas, kai
Jūs pareiškiate kintamąjį, kaip interbool arba char.
>> JASON Hirschhorn: Puikus.
C, mes visada turėjo pateikti kintamojo tipas.
Ir mes tikrai negalėjo maišyti tipai.
Jūs negalėjo padaryti sveikasis skaičius plius eilutė.
Tačiau, kaip matėme tai kita kalbos, jūs iš tikrųjų galite maišyti tipai,
ir jūs niekada tikrai turi duoti kažkas tipo, kada nors.
>> Taigi, kaip mes žinome, kas yra kintamieji PHP ir JavaScript?
>> PUBLIKA: PHP, jie pradeda su dolerio ženklu.
Be JavaScript, kai deklaruoti juos, jūs turite turėti bar.
>> JASON Hirschhorn: Teisė.
Taigi, PHP, jie pradeda su dolerio ženklu.
Be JavaScript, jie turi turėti juostą, nors kartais jie nėra iš tikrųjų
turėti barą.
Bet tai teisinga.
>> Štai didelis skirtumas tarp kintamųjų.
Manau, tie, kurie galbūt ne viršuje mano galva, dviejų didžiausių
skirtumai tarp šių trys kalbos.
Bet, taip.
>> PUBLIKA: Ir C kintamųjų taikymo sritis tik su garbanotieji petnešų,
kur kiti projektai, tai tiesiog patinka, jis miršta, jei ji tik funkcijos,
bet kitaip, <input -
>> JASON Hirschhorn: Teisė.
Taigi apimtis yra šiek tiek skiriasi C. Kaip pamenate, garbanotas petnešos apibrėžti
kintamųjų taikymo sritis.
Taigi, jei ji buvo apibūdinta viduje, jei sąlyga, kuri yra viduje už linijos,
kintamasis egzistuoja tik ten.
>> Be JavaScript, jeigu kintamasis rodiklis apibrėžiamas viduje, jei sąlyga -
viduje už linijos - jis bus egzistuoja kad funkcija, tačiau ji nėra
už tą funkciją.
Taigi apimtis yra šiek tiek lankstesnis JavaScript ir PHP.
Kad atsakyti į klausimą?
Gerai, visi kiti klausimai?
Mes galime padaryti dar keturis minučių klausimus, tada
mes peršokti į kodavimą.
>> Auditorija: mes galime eiti į "Ajax" ir kalbėti apie tai, kas tai yra?
>> JASON Hirschhorn: po Pasitarkite su AVI.
Jis paprašė šį klausimą anksčiau.
>> PUBLIKA: Mano blogas.
>> JASON Hirschhorn: Jokių rūpesčių.
>> PUBLIKA: Kas yra JSON?
>> JASON Hirschhorn: Kas yra JSON?
Koks jūsų klausimas?
>> PUBLIKA: Tiesiog labai greitai, Skirtumas tarp
Spausdinimo ir aidas PHP.
>> JASON Hirschhorn: Kodėl gi ne jums google tarp spaudos ir echo skirtumas?
Nedidelis skirtumas.
Ne todėl, kad didelė spręsti.
Bet jūs tikrai turėtų google it, ir kad duos jums gerą atsakymą.
>> JSON, tikriausiai didesnis sandėrio.
Stovai JavaScript Object Žymėjimai.
Ir kai mes matėme JSON yra naudojami?
Kai matei -
kodėl jūs net žinoti žodį JSON?
Kai tu tai matei?
>> PUBLIKA: Kai mes buvo gauti biržos akcijų už finansus.
>> JASON Hirschhorn: Taigi matėte tai, kai buvo gauti
biržos akcijų už finansus.
Ir kodėl jūs jį pamatyti?
>> PUBLIKA: Kai mes buvome išrinkti visos informacijos, kuri
atėjo į šį formatą.
>> JASON Hirschhorn: Taigi jūs galėtumėte gauti -
taip.
Eiti į priekį.
>> PUBLIKA: [nesigirdi] informacija iš objekto?
>> JASON Hirschhorn: Abu tie kartu sudėjus yra atsakymas
mes ieškome.
Norite gauti informacijos iš tai kita svetainė.
Ir jūs tikiuosi, kad, kai esate gauti šią informaciją, būtų
pateikti jums kai tipo standartizuoto formato.
>> Kiekvienas turbūt žino su kableliais atskirtos reikšmės.
Galite eksportuoti skaičiuoklę Excel ar bet skaičiuoklę tipo kaip sąrašo
kableliais atskirtų reikšmių.
Ir kablelių padalinti visiems įvairiose srityse.
JavaScript objektas Žymėjimas -
JSON -
yra dar vienas standartinis tipas išdėstymas dalykų.
Ir tai dažnai, kaip mes gauti informacija iš mūsų Ajax užklausomis.
>> Taigi šiuo atveju, mes turime jį iš Yahoo svetainės.
Jie grįžta dalykus mums į JSON.
Ir tada mes žinome, nes tai standartas, ką jis
atrodys.
Taigi, mes galime pakartoti per masyvo tai mums grąžintas, iš masyvo
objektai, kurie atsiunčiami į mus.
>> Mes tikriausiai reikia žinoti raktus, bet jie paprastai suteikia jums
dokumentacija tinklavietės jūs surenkate tam tikrą JSON
Žymėjimas jiems.
Be to, galite JSON koduoti objektą.
Taigi, čia yra funkcija JSON pabrėžti koduoti.
Ir todėl jūs galite imtis objektą, jūs sukūrėte, JSON koduoti, ir
perduoti jį į kažką kitur, jei norite.
Ir JSON iššifruoti taip pat egzistuoja Panašaus tikslo, arba
priešais tikslas.
>> Auditorija: Ar mums reikia žinoti, kodavimo už maišos lenteles ir bando?
O gal mes tiesiog reikia suprasti, kaip jie naudojami, konceptualiai?
>> JASON Hirschhorn: Taigi, pakelkite ranką jei tu maišos lentelė p nustatytas 4
su nuoroda sąrašą.
Arba p nustatyti 5.
Taigi, tai buvo didžioji dauguma žmonių.
P nustatyti 5, 6, kas žino.
Seniai.
>> Taigi dauguma tu maišos lenteles su nuoroda sąrašus.
Ir todėl, kad tikriausiai daugiau bendras požiūris, ir todėl, kad mes praleido
daug laiko darai saitą sąrašus ir maišos stalai, jūs tikriausiai turėtų būti
gana susipažinę su, kaip koduoti maišos lentelė ir nuoroda, sąrašas.
>> Ir jei manote, kad į šią problemą nustatyti, tai buvo tikrai ne
kaip sunku, kaip jūs tikėjotės.
Ir ten buvo daug mažiau kodas nei jūs tikėjotės.
Sakyčiau, turėtumėte žinoti, kaip kodą maišos lentelę ar nuorodą sąrašą.
Ne todėl, kad norite būti paprašyta, kad nebūtinai, bet jūs turėtumėte
tikrai žinau, kad.
>> Be to, jei jūs žiūrite per pastaruosius viktorinos, ten buvo daug "
klausimai apie rašymo funkcijas Nuoroda sąrašus arba dvigubai Tinkliniai sąrašai.
Tai atrodo sugalvoti kiekvienais metais.
Teisė įterpti nuorodą sąraše dešiniuoju ištrinti iš nuorodų sąraše dešiniuoju įterpti
už dvigubai susietos sąrašą, ir tt.
Taigi, kad, manau, gana patogus sakydamas, turėtumėte žinoti, kad.
>> Dėl bandymas, sakyčiau jums reikia tikrai žinote, kaip tai veikia, o gal
suteikti tam tikrą Pseudocode kiek kodą jį ir ją įsteigti.
Bet tai nebūtų blogiausias dalykas pasaulis, jei jūs nežinote, kaip
koduoti jį C. Būtų puiku, jei jums žinojo, kaip koduoti jį į C, bet manau,
tikriausiai Pseudocode už bandymas būtų būti labiausiai jums reikės
žinoti, kad pabandyti.
>> PUBLIKA: Papildomas kreditas?
>> JASON Hirschhorn: Ir tas pats su, jei mes eiti į dvejetainius paieškos medžius, galbūt
reikia - ir jūs matėte anksčiau, mes padarėme daug daug - jūs žinote, kaip
dvejetainis paieškos medis darbai.
Jūs tikriausiai turėtų galėti susikurti ir pseudo kodu.
Bet kadangi dauguma žmonių nepadarė, kad problemos
rinkinys, sakyčiau, tai tikriausiai mažiau svarbu, kad žinote, kaip kodą
ir įsteigti panašaus medį.
>> Visi kiti klausimai?
Be to, mes galime paprašyti per kaip mes pereiti per kai kurias problemas.
Gerai, mes ketiname pereiti.
Pereiti tą skaidrę dabar.
>> Kalbėdamas apie medžius, tai yra pirmasis klausimas turiu jums vaikinai.
Kadangi tai yra problema.
Sakyčiau, tai labai tikėtina, jums gauti kaip ši problema jūsų viktorinoje
klausia jums koduoti kai įdėklo tipą ištrinti, ieškoti, vieno tipo
Duomenų struktūros matėme.
>> Kad ateina kasmet ir mes praleido daug laiko antrosios pusės tai
semestrą vyksta per šių duomenų tipų.
Taigi dabar, aš apibrėžta mazgas dvejetainis paieškos medis.
Ir tai, ką aš norėčiau, kad jūs padaryti skiriamas dvejetainis paieškos medis, kuris prasideda
Šiuo mazgas žvaigžd šaknų, baigti įgyvendinimas žemiau funkcija,
kuris atsitinka būti radinys funkcija.
Ir tai padaryti ir be Rekursija.
>> Taigi aš noriu jums parašyti dvi funkcijas.
Vienas daro tai su rekursijos, vienas Tokiu būdu be rekursijos.
Ir nemanykite, kad šaknis, bus ne tuščias.
Taigi, mes ieškome sveikojo i Medis prasideda nuo šaknų, ir mes turime
rašyti tai rekursyviai ir keletą kartų.
Taip.
>> PUBLIKA: Taigi jūs norite mums grąžina true jei mes jį rasti, ir false, jei mes
nerandate.
>> JASON Hirschhorn: Kaip jūs sužinojote?
Kaip jūs žinote, kad?
>> PUBLIKA: aš klausiau pirma, bet buvau darant prielaidą, kad, nes ji sako, bool ne
iš funkcijos pradžia.
>> JASON Hirschhorn: Teisė.
Ji sako, bool, kad aš net nereikia pasakyti, ką aš tikiuosi jums grįžti
nes jis sako tiesiai ten.
Bet tai tiesa.
Grįžti, true arba false.
>> Taigi, prieš jums pradėti, aš norėčiau rekomenduoti, jei esate susipažinę su
dvejetainiai paieškos medžiai, greitai piešimo jos nuotrauką, kurią norite gauti savo
suprasti, teisingai.
Tai taip pat padės jums rašant savo kodą ir jį tikrinti.
Vėlgi, jūs taip pat neturi, kad daug laiku viktorinos daryti visus dalykus
kad mes prašome jus padaryti.
Taigi raštu pseudo kodą yra labai naudinga.
>> Ir mes paprastai suteikia apie -
jei Pseudocode puikiai teisinga, tai
paprastai 50% dėl klausimo.
Taigi, tai nėra sunku ir greitai taisyklės, bet jei jūs tiesiog parašyti Pseudocode ir tai
teisinga, tai paprastai 50%.
Taigi, aš visada rekomenduoju -
jei esate skubėti, arba net jei jūs tiesiog bando suprasti jį -
pradedant Pseudocode.
Ir pagaliau, jei jūs galite parašyti šį visi C, kad būtų fantastiška.
>> Taigi, galime paimti tris minutes dirbti su šia programa.
Ir tada mes ketiname rašyti Pseudocode jį tik vieną kartą, ir tada
mes ketiname kodą jį rekursyviai ir tada keletą kartų.
>> Jei turite kokių nors klausimų, nedvejodami nemokamai pakelti ranką.
Malonu vaikščioti aplink ir į juos atsakyti prieš pradedant kaip grupė.
>> Leiskite mums vėl, ir mes ketiname Pseudocode grįžtamojo versiją
tai, ir tada mes koduoti jį.
Taigi grįžtamojo funkcija reikia dviejų dalykų.
Tai gali būti klausimas, Jums gali būti prašoma.
Reikia dviejų dalykų.
Kas gali pakelti ranką ir pasakyti man kas du dalykai rekursywny
funkcija turi?
Pagal apibrėžimą ji turi du dalykus.
Kas yra tie du dalykai?
Naujos rankas.
Taip, Alden.
>> PUBLIKA: Taigi, aš nesu visiškai tikras, ar tai terminologija, bet -
>> JASON Hirschhorn: Džiaugiuosi, jūs padidinti savo ranką.
>> PUBLIKA: Reikia bazinį atvejį, ir ji turi rekursinį žingsnį.
>> JASON Hirschhorn: Perfect.
Ji turi pagrindo bylą ir rekursywny žingsnis.
Taigi, kas yra mūsų pagrindas šiuo atveju?
>> PUBLIKA: F šaknis Lygu lygu null.
Atsiprašome, tik Pseudocode, jei jis tuščias.
Jei šaknis yra niekinis.
>> JASON Hirschhorn: Jei šaknis yra niekinis.
Tai puikus.
Tai mūsų bazinį scenarijų.
Štai ką mes ketiname patikrinti kiekvieną kartą.
Ir bazinį scenarijų yra Pirmas dalykas, kurį jūs darote.
Jei paspausite pagrindą, baigsite.
>> Dabar mes turime mūsų rekursinį skambutį, ir aš būti pasirengęs bet mes turime pora
rekursywny ragina čia.
Nes tai medis, ir mes gali eiti kelis būdus.
Taigi, jei šaknis yra niekinis, mes geri.
>> Ką galėtumėte pasiūlyti?
Ir dabar aš ruošiuosi pradėti skambinama iš apie jus vaikinai, nes aš žinau, jūs vaikinai
visi tai žino.
Tačiau Annie, kas turėtų kitą eilutę būti?
Ką daryti, jei mes ją radau?
Ką mes darome?
>> PUBLIKA: Jei mes ją radau?
>> JASON Hirschhorn: Arba ką turėtų būti, kad -
duok man už Pseudocode Linija, kur mes ją radau.
>> PUBLIKA: Jei aš Lygu i šaknis?
>> JASON Hirschhorn: O tada ką mes darome?
>> PUBLIKA: Grįžti tiesa.
>> JASON Hirschhorn: Didysis.
Taigi, jei i yra i -
oh, jie abu vadinami i.
Tai pasireiškia paini.
Bet jei i yra i grąžina true.
Tai tikriausiai kitą dalykas, mes turime padaryti.
Prasmę.
>> Gerai, dabar mes nepadarė mūsų rekursyvūs paskambinti dar, nors, nes grįžtamojo
skambutis vėl skambinti šią funkciją.
Taigi, kas turėtų kitą linija Pseudocode būti?
Ana.
>> PUBLIKA: kairėje pusėje.
>> JASON Hirschhorn: Būkite konkretus, nors.
Tai dvejetainis paieškos medis, tai kas nėra patikrinti kairiuoju kraštu reiškia?
>> PUBLIKA: Taigi mazgas -
Aš atsiprašau, šaknis.
Ir tada arrow kairėje.
Mazgas, mazgas, atsiprašau.
Aš ne skaityti jį tinkamai.
Tai vadinama mazgas, tiesa?
>> JASON Hirschhorn: Jis bus vadinamas šaknis tai veiklai, tačiau bet kuriuo atveju.
Kairėje pusėje - taip?
>> PUBLIKA: Jei ji nėra lygi i tada mes ketiname kreiptis
vėl funkcija?
>> JASON Hirschhorn: Tai tiesa.
Jei ji nėra lygi i, mes ketiname vėl paskambinti funkcija.
Bet kas pusė medžio mes einame skambinti funkciją dar kartą?
>> PUBLIKA: Kairėje pusėje.
>> JASON Hirschhorn: Mes ne visada ketina jį vadiname kairėje, jei jis
nėra lygi jį.
>> PUBLIKA: Oi, atsiprašau.
Skambinkite dešinėje.
>> JASON Hirschhorn: Norime žinoti Konkrečiau, nors - atminkite, kad
dvejetainis paieškos medis, viskas kairėje pusėje yra mažesnis.
Viskas į dešinę pusėje yra didesnis.
Taigi, tai tik ne - Taip, eiti į priekį.
>> PUBLIKA: Jei tai yra mažiau už mane, tada -
jei tai kairėje -
>> JASON Hirschhorn: Taigi, jei ri yra mažesnis nei -
Taigi, jei mūsų skaičius yra mažesnis nei i, Kieno pusėje mes norime eiti į?
>> PUBLIKA: Mes norime eiti į dešinę pusę.
>> JASON Hirschhorn: Mes norime eiti -
leiskite man atkreipti greitai medį.
Jei tai yra 5, tai bus 3.
Taigi, jei ri yra mažesnis už penkis, kas pusėje mes norime eiti?
>> PUBLIKA: Atsiprašome, ką?
>> JASON Hirschhorn: Mūsų skaičius yra mažiau negu juos mes
žiūri dabar.
>> Auditorija: O, tai mes norime eiti į kairę pusę.
Taip.
Atsiprašau.
>> JASON Hirschhorn: Būtent.
Jokių rūpesčių.
Dvejetaine paieška medžio, viskas mažesnis yra į kairę,
didesnis yra į dešinę.
Taigi, jei mūsų skaičius yra mažesnis nei i mes patikrinti -
nes matote mazgas, jis yra i -
tada jūs norite eiti į kairę.
>> Ir tai yra lengva.
Kas tai yra kita linija Pseudocode mes turime rašyti?
Carlos?
>> PUBLIKA: Tas pats, jūs tiesiog pereiti jis didesnis nei ženklą
ir eiti į dešinę.
>> JASON Hirschhorn: Ar galite sako, kad dar kartą?
>> PUBLIKA: Jei mūsų skaičius yra didesnis nei aš, eiti į dešinę.
>> JASON Hirschhorn: Puikiai darbas ant Pseudocode.
Leiskite mums tai padaryti realiame kodą.
Ir vėl, tai Pseudocode bus tikriausiai jums, nes tai
teisingi, 50% šiuo klausimu.
Bet tai Pseudocode pat verčia vieną vieną, iš esmės, į kodą.
>> Taigi, darykime tai C. Kas gali suteikti man pirmoji eilutė kodo?
Tiesą sakant, pirma, prieš aš kad, leiskite man sustoti -
>> PUBLIKA: Turiu klausimą.
Kodėl įtrauka linija aš jums davė?
>> JASON Hirschhorn: Kadangi Aš negalėjau rašyti.
Nežinau.
Jūs teisus.
Kad linija turi būti ten.
>> Gerai, čia yra mūsų funkcija.
Ir leiskite man sustoti, taip pat, mūsų apibrėžimas mazgas.
Kas atsitiks, jei mes ne rašyti Typedef?
Ar kas nors žino?
>> PUBLIKA: Tai ne kaupti.
>> JASON Hirschhorn: Tai būtų kaupti, taip.
>> Auditorija: Ar tai tiesiog paskelbti vieną Pavyzdžiui užuot tai nauja
įveskite galite paskelbti keletą atvejų?
>> JASON Hirschhorn: Taigi tai ne žinau - tai ne
tiesiog paskelbti vienos rūšies.
Jūs vis dar gali padaryti daug mazgų.
>> Auditorija: Bet ar ne mes turime rašyti struct mazgas kiekvieną kartą?
>> JASON Hirschhorn: Tai tiesa.
Jums reikės rašyti struct mazgas kiekvieną kartą, o ne tik mazgas.
Bet Typedef, galite tiesiog rašyti mazgas kiekvieną kartą.
Gerai, kas nedavė - taip, Avica.
>> PUBLIKA: Jei šaknis lygu lygu null, return false.
>> JASON Hirschhorn: Didysis, ir kad mūsų bazinį scenarijų.
Kitas eilutė kodo.
Kažkas, kas nedavė man kodo eilutę dar?
Taip.
>> PUBLIKA: Root rodyklė i yra lygi lygi i.
Tada grįžkite tiesa.
>> JASON Hirschhorn: Didysis.
Kitas linija?
Taip.
Kažkas?
Ir tada jūs galite eiti toliau.
>> PUBLIKA: else if šaknis rodyklė i yra mažiau nei aš grįžti
funkcija vadinama atradimas šaknis -
>> JASON Hirschhorn: Atsiprašome.
>> PUBLIKA: Grįžti radinys šaknis pažymi į kairę kablelis i.
>> JASON Hirschhorn: Taigi, jei ri yra didesnis nei medyje dalykas, mes norime
eiti į kairę?
>> PUBLIKA: Ne, aš turėjau, kad įjungtas.
>> JASON Hirschhorn: Kuris?
>> PUBLIKA: Ne, taip.
Turiu mažiau nei pasirašyti ten.
>> JASON Hirschhorn: Teisė, jei ri yra mažiau nei kas yra root -
dabartinis mūsų šaknis - tada mes nori eiti į kairę.
Ir kas paskutinė eilutė, jūs?
>> Auditorija: Iš esmės tas pats, išskyrus pereiti didesnis arba
lygūs mažiau kaip ir iš kairės į dešinę.
>> JASON Hirschhorn: Puikus.
Ar kas nors turi kokių nors klausimų, apie tai?
Taigi, keletas kitų dalykų, kad būtų buvo teisinga yra tai, kad
gali būti-ltiff.
Atspėk, techniškai, nei vienas iš jų tikrai taip turi būti-ltiff.
>> Be to, ten tikriausiai tik vienas atvejis čia.
Taigi, tai tikriausiai jūsų paskutinis atvejis.
Jūs net nereikia, kad-ltiff.
Bet tikriausiai gerai parašyti tai, kad būtų aišku.
Taip.
>> PUBLIKA: Taigi jums nereikia galvoti viktorinoje - jei mes darome klaidų, pavyzdžiui,
sintaksės -
mažai sintaksės klaidos -
kaip, kad gauti imtasi viktorinoje?
>> JASON Hirschhorn: Paprastai nuo viktorinos, mažas sintaksės klaidų ar mažas
stiliaus klaidos nepraranda jums taškų.
Taigi, jei Jūs pamiršote kabliataškį čia, tai būtų gerai.
Jei pamiršote uždaryti šį skliaustų, kad būtų gerai.
>> Milžiniškas sintaksės klaidų, kurie keičia funkcinė reikšmė kodą
dramatiškai, galite gauti prigijo taškus.
Arba apskritai, tiesiog klasifikavimo jums nuo to, ar jūsų
kodas funkcijos, net -
ne jo dizainas tiek daug, o ne jo stilius.
>> Leiskite dabar koduoti kartotinis portalo rasti.
Taigi, tai bus gana panašūs, tačiau ten tikrai bus
kai kurie pagrindiniai skirtumai.
Tačiau mūsų Pseudocode greičiausiai gali eiti -
mes vis dar galime priimti vieną liniją Pseudocode ir išsiaiškinti, kas
linija yra šiuo atveju.
>> Taigi kartotinis versiją, kas Kaip manote, Julija, turėtų
būti pirmoje eilutėje?
>> PUBLIKA: Vėl gi, kartotinis boolean, jums reikia sukurti už linijos, tiesa?
>> JASON Hirschhorn: Gerai.
>> PUBLIKA: Taigi, kaip, k, kai x lygi 0, x yra mažiau nei aš.
Ar ne, čia x yra mažiau nei dydis nuo medžio.
>> JASON Hirschhorn: medis.
Taigi mes tikrai žinome dydį medis, ir mes tikrai žinome,
kiek kartų mes galime eiti, tai kas skirtingo tipo kilpa, kuri gali būti
geriau tokiu atveju?
>> PUBLIKA: Jei dar?
>> JASON Hirschhorn: Jei dar negali būti kilpa.
Taigi, kas iš kilpos tipo mes galime tiesiog eiti kol kai byla yra įvykdytos?
Kas tik kitos rūšies kilpos C be už linijos?
>> PUBLIKA: Nors.
>> JASON Hirschhorn: Nors tiksliai.
Be while cikle, ar ne reikia žinoti, kaip -
o linijos ir linijos gali padaryti tą patį dalyką, bet malonus dalykas
apie o kilpa mums nereikia žinoti, kaip didelis mūsų medis.
Taigi, mes ketiname eiti, kol kas?
>> PUBLIKA: Iki ji lygi iš dydis -
>> JASON Hirschhorn: Na, tai labai panašus į mūsų grįžtamojo atveju.
Taigi -
>> PUBLIKA: Nors šaknis i nėra lygi i.
>> JASON Hirschhorn: Tai tikrai arti.
Nors šaknis i -
pabandykime jį.
Nemanau [nesigirdi]
kur šaknis i nėra lygi i.
Mes gali tekti pakeisti jį mažai šiek tiek, bet tai skamba kaip ji gana
gerai, dabar.
Taigi, mes tai padarysime.
>> Be to, nepamirškite, mes negalime prisiimti už klausimą.
Jūs neturite manyti, kad šaknis, bus ne tuščias.
Taigi, ką manote, labai Pirmas dalykas, kurį turime padaryti, tai?
>> PUBLIKA: Tiesiog daryk pats dalykas, kaip ir anksčiau.
Jei šaknis lygu lygu null, return false.
>> JASON Hirschhorn: Didysis.
Taigi, tai gali būti niekinis.
Taigi, mes norime atsikratyti IT karto.
Ir tada mes ketiname patikrinti, ar šaknis aš ne vienodas i.
Taigi, tarkime, mes ieškome šiuo medžiu už 3, šaknų aš ne lygūs i dabar
mes mūsų while cikle.
Ką mes norime padaryti?
Ir vėl, tai bus gana panašus į mūsų grįžtamojo versiją.
Taip.
>> PUBLIKA: Taigi jūs norite pakartoti, arba nesustoti medį, kol
šaknis nėra lygus nulis.
>> JASON Hirschhorn: Tol, kol šaknis yra nelygus null?
>> PUBLIKA: šaknis brūkšnys i nėra lygus nulis.
Tiesiog šaknis, taip.
Kaip ilgai, kaip šaknis yra nelygus null.
>> JASON Hirschhorn: Taigi jūs norite tai pakeisti į root
nėra lygi null?
>> PUBLIKA: Taip.
>> Auditorija: Mes galime derinti tai, tiesa?
Mums nereikia, kad, jei iš pradžių.
>> JASON Hirschhorn: Gerai, kad, jei mes NeraŠykiTe -
jei mes juos sujungti, todėl mes ketiname daryti o šaknis nėra vienodas null, ir
jei šaknis atsitinka, yra niekinis ne pradžioje, ką mes darome čia apačioje?
>> PUBLIKA: Grįžti klaidinga.
>> JASON Hirschhorn: Didysis.
Taigi abi puses tikriausiai būtų dirbę.
Tai kitaip, ir tai sujungia jį.
Bet vėl, jei tu bet kuriuo atveju, mes nesiruošia nusiimti dizainą
primena apie viktorinos.
Bet tai gerai atrodo.
>> Taigi, nors šaknis nėra lygi null, kas pirmas
dalykas, mes norime patikrinti?
Kažkas?
Null, kas pirmas dalykas?
>> PUBLIKA: Jei ri yra mažesnis nei -
oi, manau, jei jau rasti jį į šaknis.
Taigi, jei šaknis rodyklė i yra lygi i -
>> JASON Hirschhorn: Atsiprašome?
>> PUBLIKA: Jei šaknis rodyklė i lygu lygu i -
>> JASON Hirschhorn: Ką mes darome?
>> PUBLIKA: Grįžti tiesa.
>> JASON Hirschhorn: Didysis.
Ir kas toliau?
Jeffas, kas kitą eilutę kodo?
>> PUBLIKA: Jeigu i yra mažiau nei šaknies rodykle aš, tada šaknis lygu šaknis rodyklės į kairę.
>> JASON Hirschhorn: Root lygu šaknis rodyklė į kairę.
Taigi, tai tikriausiai didžiausias skirtumas čia tai iteracinis
versija kitaip nei rekursywny versija.
Rekursywny versija, mes vėl paskambinti funkcija.
Mes atnaujinsime šaknį, kai mes vadiname naują funkciją.
Čia mes neplaukia naują funkciją.
Mes tiesiog tiesiog atnaujinti šaknis šioje funkcijoje.
Tai puikus.
Ir kas yra paskutinė eilutė kodo?
Taip, Mario?
>> PUBLIKA: Else šaknų lygu šaknis rodyklė į dešinę.
>> JASON Hirschhorn: Atsiprašome?
>> PUBLIKA: Root lygu šaknis rodyklė į dešinę.
>> JASON Hirschhorn: Ar jums taip pat rašyti kažką panašaus į tai?
>> PUBLIKA: aš neįsivaizduoju.
>> JASON Hirschhorn: Jūs negali.
Jūs negalite padaryti, plius lygu.
Gerai, kad tai gerai atrodo.
Kodėl mes tiesiog padaryti, kad išvalyti jį.
Tai atrodo puikiai, ir tai veikia.
Ir mes norėtume išeiti.
>> Jei šaknis kairėje buvo niekinis arba šaknis teisė buvo niekinis, mes ateis čia.
Šaknų būtų lygus nulis.
Mes norime išeiti iš mūsų kilpa, ir mes norime grįžti klaidinga.
Taigi, kai mes išeiti iš kilpa, mes return false.
>> Ir vėl, o kilpa buvo tobula čia, nes mes nežinome, kaip
didelis mūsų medis.
Mes bandėme rašyti už linijos, bet mes supratau, jūs turite išsiaiškinti, kaip
didelis jis yra iš anksto.
Taip.
>> PUBLIKA: Jei tai būtų ne dvejetainis paieška medis, tai būtų realus matematikos y
rašyti keletą kartų, tiesa?
Kaip, jei tai buvo medis, bet nebūtinai -
tai buvo ne visi mažesni kairėje, ir visi didesni dešinėje.
Būtų tikrai sunku kad paeiliui per jį, tiesa?
Mes norime turėti išsaugoti tai, kas buvo anksčiau ant į medį ir grįžti,
ir stuff like that.
>> JASON Hirschhorn: Jei jis buvo ne dvejetainis paieška medis, jei tai buvo tik
medis ir viskas buvo ne rūšiuojami kaip šis -
ir mes supratome, anksčiau, kai Ana buvo padėti mums, kad padaryti jį
surikiuota padeda mums daug -
mums reikia, taip, visada išsaugokite kur mes buvome anksčiau.
Bet ten gali būti daug " kur mes buvome previouslys.
Gali būti, kad patronuojančių mazgų daug.
>> Turbūt geriausias būdas tai padaryti, kad būtų būti nuolat stumti dalykų į kai
tipo kamino ar eilėje.
Jūs niekada reikia koduoti tai nes tai sudėtingas uždavinys.
Bet jūs stumti keletą dalykų ant kamino ar eilėje ir tada pop juos išjungti, ir
tada jas įvertinti.
>> Ir tada kai kitas dalykas, kur jūs iš tikrųjų pradėti mazgus ir
tada sukurti, kad ir tada ieškoti, kad.
Tai gali būti geriausias būdas tai padaryti.
Gerai, bet klausimus apie šią problemą?
>> PUBLIKA: Tai yra susijusios pastabos.
Ar mes turime palyginti run kartus už maišos lenteles, dvejetainis
paieškos medžiai, ir tt?
>> JASON Hirschhorn: Tikriausiai.
Taigi, galime padaryti, kad tikrai greitai.
Pradėti laiko maišos lentelės -
kas kiti?
Dvejetainis medis?
>> PUBLIKA: Nuoroda sąrašai.
>> JASON Hirschhorn: Gerai, galime padaryti įdėklą.
Kas yra didelis O įdėklu išmaišymo stalo?
Kokios yra prielaidos darote?
>> Auditorija: Jūs įstatykite pradžioje nuorodų sąrašą.
>> JASON Hirschhorn: Tikriausiai pirmas prielaida nėra susidūrimų.
Jei nėra jokių susidūrimų, tada įterpimo laikas yra vienas.
Jei yra susidūrimai, ir jūs daro atskirą jungimo ir įterpti
prie nuorodų sąrašo pradžioje, tada įterpimo taip pat pastovus.
>> Jei darai maišos lentelę, bet jūs turėti skirtingą metodą sprendžiant
su susidūrimų, kas kitoks metodas?
Kas yra kitoks būdas , susijusius su
collision maišos lentelės?
>> PUBLIKA: Tiesinis programavimas.
>> JASON Hirschhorn: Tiesinis programavimas.
Taigi, mes ketiname nuolat ieško kito atviro vietoje.
Tai nėra pastovus įterpimo laikas.
Jūs galite eiti per Visa lentelė, kad
gali būti didelis O n.
Taip.
>> PUBLIKA: Kitaip tiesiog susiejami?
>> JASON Hirschhorn: Mes atlikome atskiras susiejami.
Tai buvo pirmasis.
Štai kas nuoroda, sąrašas.
Išgalvotas pavadinimas yra atskiras susiejami.
Tai gali būti bet kuris iš sąrašo struktūros tipas mes atsitikti daryti nuorodą sąrašą.
>> Taigi dar kartą, įterpimas į maišos lentelė gali būti pastovus laikas.
Ką apie budas dėl krautuvas eilėje?
>> Auditorija: Ar ne tai, kad pastovus?
>> JASON Hirschhorn: Tai pastovus laikas.
Jūs tiesiog stumti jį.
Gerai.
Intarpas, kokie buvo kiti projektai?
Apie bandymas?
Kas yra didelis O pridedamą pabandyti?
>> PUBLIKA: ilgis yra pastovus.
Ilgis ilgiausias -
žodžio ilgis jūs įterpti.
>> JASON Hirschhorn: Atsiprašome?
Palaukite, todėl tai, ką aš girdžiu?
Tu sakei, - ką tu sakai?
Koks buvo jūsų atsakymas Marcus?
>> PUBLIKA: žodžio ilgis jūs įterpiant rašmenimis,
darant prielaidą, kad tai simbolis bandymas.
>> JASON Hirschhorn: Gerai, kad žodžio ilgis.
Mes padarysime prielaidą, kad tai simbolių eilutė.
Jūs sakėte kažką kitą, nors.
Jūs sakėte, ilgis ilgiausią žodį.
>> PUBLIKA: Tai tik konstanta, tiesa?
>> JASON Hirschhorn: Kodėl gi tai būtų pastovus?
>> PUBLIKA: Kaip, jei jūs naudojate didelis O žymėjimas, tada jis neturi skirtis priklausomai
dėl dalykų, kad yra jau pabandyti.
>> JASON Hirschhorn: Taigi mes norėtume pasakyti, kad nuolatinis laiko.
Tai pastovus intarpas, ir tai todėl, kad ši idėja -
sako, kad mes turime žodį, kad yra 45, ar žodis, kuris yra 60, kad
turi pastovų skaičių.
Ir jis tiesiog būtų įtraukta nuolat laiko.
>> Praktikoje, nors ji nebūtų, žinoma, įvyks vienos milisekundės,
pavyzdžiui.
Bet mes norėtume pasakyti didelis O yra konstantos pabandyti.
Ir tai yra vienas iš jos Didžiausi privalumai.
>> Ką apie įstatomas nuorodą sąrašą?
Tiesiog bendrinis, rūšiuojami nuoroda sąrašas?
Taip.
>> PUBLIKA: turėjau klausimų.
Apie bandymą, būtų jie kada nors užduoti mums į įterpimo laikas tai keturi žingsniai,
ar kažką?
Ar tai tiesiog -
kai jūs sakote, įterpimo laikas yra vienas, kad tiesiog reiškia pastovų laiką?
>> JASON Hirschhorn: Taip, jie būtų visada paklausti, tai didelis O n?
Didelės O log n?
N kvadratu pastovus.
Tai yra tikrai tik tuos, kurie jums reikia žinoti.
Ką apie įterpimo į rūšiuoti nuorodų sąrašą?
>> PUBLIKA: turėjau klausimų -
klausimas -
>> JASON Hirschhorn: Kas yra atsakymas į šį klausimą, nors?
>> PUBLIKA: Palaukite, ką tu paklausti?
>> JASON Hirschhorn: Kas yra didelis O įterpimo į surūšiuotų nuorodų sąrašą?
>> PUBLIKA: Vienas?
Ne laukti, Nr laukti n.
>> JASON Hirschhorn N. Be nuoroda, sąrašas.
O kas buvo tavo klausimas?
>> PUBLIKA: Taigi jūs rašyti O k arba Ö 1 už -
>> JASON Hirschhorn: oh.
Rašyčiau O 1, tikriausiai.
Ten buvo vienas kitas duomenų struktūros kad būtų buvę gerai.
Medis, dvejetainis paieškos medis.
Kas įterpimo į dvejetainis paieškos medis?
>> PUBLIKA: Vartotojas.
>> JASON Hirschhorn: Taigi, kas yra blogiausia atveju dvejetainis paieškos medis?
Taigi, jei mes atsitikti prasideda 5, o kiekvienas skaičius yra didesnis nei 5, tada
mes turime 5, 7, 9, 11, ir tt.
Šiuo atveju, tai iš esmės tik nuoroda sąrašas, ir mes turime įtraukti visus
pabaigoje būdas.
Taigi tai didelis O n.
>> Tai galėtų būti mūsų blogiausias atvejis apie dvejetainis paieškos medis.
Akivaizdu, kad jūs niekada statyti dvejetainis paieškos medis 5
viduryje, žinodamas, 5 būtų būti mažiausias skaičius.
Bet tai gali būti, jei esate pradėti nuo nulio.
Bet apie tai prieš klausimų aš pereiti į kitą klausimą?
Tai buvo geras klausimas.
Norėčiau žinoti, didelis Ö -
>> PUBLIKA: Kas apie paiešką už tas keturias?
>> JASON Hirschhorn: Tikrai mes neturėjo paieškos ir rūšiavimo.
Mes padarėme visus tuos algoritmus, tiesa.
Palaukite, buvo, kad viktorina 1?
Buvo tas, kuriam -
Jūs jau turite, kad klausimas apie Testas 1?
Didelės O Runtime dvejetainis paieškos, įterpimo rūšiuoti, burbulas rūšiuoti?
>> PUBLIKA: Taip.
>> JASON Hirschhorn: Jei turėjo, kad klausimas apie Testas 0, šansai yra, jūs ne
gauti tą patį tiksliai klausimą apie Testas 1.
Gali būti dar gerai žinoti jų.
Jūs, tikiuosi, turėtų žinoti, gh jau.
>> Tačiau kiti logaritmine katilas tikriausiai gera žinoti.
Daiktai, kuriems nebuvo taikoma dėl Testas 0.
Kaip visų šių subjektų šie abstraktūs duomenų tipai.
>> Gerai, galime judėti pirmyn.
Tai vienas turėtų būti gana greitai.
Ir tai yra nauja kalba mes ne faktiškai koduojami anksčiau.
Tai klausimas klausia koduoti PHP.
Todėl mano, kad PHP masyvas žemiau.
Rašyti PHP ir / arba HTML kodus taip, kad ji išveda dviejų stulpelių lentelę su TFS
pavadinimai ir namų.
>> Jūs niekada padaryti prieš tai, ši konkreti problema.
Tačiau tai neturėtų būti labai gerai susipažinęs su ką jūs nuveikėte problema nustatyti 7.
Taigi, būčiau pasirengęs bet jums bus prašoma kodą kažką PHP, kad
yra labai panašus į tai, ką padarė problema nustatyti 7.
>> Pirma, masyvas yra ne tai, kad konkretus.
Kokio tipo matrica tai yra?
>> PUBLIKA: asociatyvus.
>> JASON Hirschhorn: Tai masyvą.
Ir kas tarp skirtumas masyvą ir objektas?
>> PUBLIKA: objektas masyvas turi indeksą sveikųjų skaičių, ir masyvą
yra Styga indeksas, ar kažkas panašaus.
>> JASON Hirschhorn: Taigi masyvas objektai būtų indeksai
sveikieji skaičiai, bet objektas turi laukus.
Ji šiose srityse pavadinimų, kaip pavadinimas, namas, studentas.
Ar turite idėją?
>> PUBLIKA: Na, asociatyvus masyvas PHP, tiesa?
Ir objektas yra JavaScript?
>> JASON Hirschhorn: Sąžiningai, nėra tikras skirtumas tarp šių dviejų.
Abi turi eilutes kaip raktus, ir gali turi iš esmės nieko kaip vertę.
Skirtingos kalbos skambinti vienu dalykas masyvą,
vienas dalykas, objektas.
Taigi, nuoširdžiai, tikrai nėra skirtumas, bet yra žinoma, kai kurie
sintaksiniai skirtumai tarp šių dviejų.
Taip.
>> PUBLIKA: Taigi yra objektas taip pat koduojami pagal dangtis kaip maišos lentelės, tada?
>> JASON Hirschhorn: Ką jūs reiškia, koduojamos po kapotu?
>> PUBLIKA: Mums buvo pasakyta, kad asociatyvus masyvas buvo techniškai
maišos lentelę.
Taigi yra objektas taip pat techniškai maišos lentelė?
>> JASON Hirschhorn: Nesiruošiu atsakyti į šį klausimą.
Aš su jumis apie tai.
Bet aš ne galvoti arba tų, kaip kad.
Tačiau, bet kokiu būdu, masyvą ir objektas, dažniausiai žmonės naudoja tuos
terminai sinonimai.
Šiuo atveju, kietas dalis tai galite naudoti mygtukus.
Stygos kaip raktus, o ne tik paprasti numeriai.
>> Taigi, aš kalbu apie tai tam tikrą laiką.
Tikimės, kad kai kurie žmonės turi Dotarłeś pradėjo apie tai.
Mes ketiname parašyti keletą PHP ir HTML kodas, pavyzdžiui, kad mes gauname dviejų stulpelių
stalas su TFS pavadinimų ir namų.
>> Gerai, aš taip pat norėčiau antraštę eilutėje šia lentele.
Taigi, aš ruošiuosi gauti tiesiai į tai.
Mes ketiname failą, naujas, ir mes ketiname -
>> Gerai.
Kaip man pradėti stalo?
Kas žymeles, Mykolas, pradėti lentelę?
>> PUBLIKA: Lentelė.
>> JASON Hirschhorn: Lentelė.
Ir jeigu aš atidarau žymą, ką dar man reikia?
>> PUBLIKA: galvos?
Arba, manau, klasė.
>> JASON Hirschhorn: Taigi, atsiprašau.
Tarkime, kad mes jau parašyta doctab, HTML, visi, kad kita.
Bet jei aš atidaryti šį stalo tegus, ką dar turiu rašyti?
už patvirtinti HTML?
>> PUBLIKA: Uždarykite jį.
>> JASON Hirschhorn: Uždarykite tegus.
Kaip man parašyti arti stalo tegus?
>> PUBLIKA: Dot velniop lentelę.
>> JASON Hirschhorn: Slash lentelę, puikus.
Tikriausiai prasminga rašyti tiek tų kartu, nes
jūs turite padaryti jį.
Gerai, jei aš noriu antraštės eilutę, kaip tai padaryti Rašau antraštės eilutę su pavadinimais?
>> Auditorija: Ar mažiau kaip 10 val pabaigą -
TR, taip.
>> JASON Hirschhorn TR?
>> PUBLIKA: Tada tas pats, velniop, taip.
>> JASON Hirschhorn: Gerai, man du stulpelius.
>> PUBLIKA: T D?
>> JASON Hirschhorn: Gerai.
Noriu du stulpelius.
Ar tai man du stulpelius?
Kiek stulpeliai tai yra?
Vienas.
Taigi galime nukopijuoti tai.
>> Taigi iš tikrųjų, dėl viktorinos, visa tai kodas kad parašiau iki šiol buvo
dėmesys į jus.
Bet jūs tikriausiai turėtų dar žinote, kaip rašyti.
Taip.
>> PUBLIKA: Jūsų namai yra tarp šių dviejų.
>> JASON Hirschhorn: bumas.
Reikia eiti tiesiai ten, tiesa?
Geras skambutis.
Taigi dar kartą, visa tai kodas yra iš tikrųjų jums duota faktine viktorina.
Bet tai smagu rašyti, ir jūs turėtų žinoti, kaip rašyti.
Taigi, tai yra ten, kur reikia pradėti savo kodą.
Ką mes turime rašyti čia?
>> Atsiprašome, man reikia pakeisti Šio failo pavadinimas.
Taigi, mes išgelbėti jį. HTML failą negali. PHP failą.
Šie dalykai būtų nieko nereiškia į. PHP failą.
Taigi mes į. HTML failą.
Koks yra pirmas dalykas, Man reikia rašyti?
Noriu įdėti šiek tiek PHP kodas į HTML.
>> PUBLIKA: PHP, kaip ir kitos morkų ir klaustukas PHP, tiesa?
>> JASON Hirschhorn: Didysis.
Ir kaip man baigti, kad?
>> PUBLIKA: Su klaustuku.
>> JASON Hirschhorn: Tai puiku.
Tai pirmas dalykas, man reikia, jei noriu įdėti šiek tiek PHP kodą čia.
>> PUBLIKA:. Maniau, PHP byla gali trukti HTML.
>> JASON Hirschhorn: Taip.
. PHP failas gali šiek tiek HTML ir rodomas.
Tai buvo mano blogas.
Aš tiesiog bando imituoti ką jis buvo viktorinoje.
>> Gerai, atsiprašau suklaidinti jus.
Taip, practice.HTML.
Dabar mes ketiname daryti kai PHP kodą in
Kas yra pirmoji eilutė PHP kodas turėčiau rašyti?
Aš ruošiuosi eiti per šio masyvo ir padaryti ją į lentelę.
Taip.
>> Auditorija: Jūs galite naudoti arba H linijos ar už kilpos.
>> JASON Hirschhorn: Gerai, tai, ką jūs norite naudoti?
>> PUBLIKA: Norėčiau naudoti už linijos.
Nes tada jūs dolerio ženklas I lygus 0 kabliataškiais dolerį
pasirašyti aš mažiau nei 2.
Ir tada kabliataškis i doleris pasirašyti i plus plus.
>> JASON Hirschhorn: Kaip padaryti žinote naudoti 2?
>> PUBLIKA: Nes ten buvo du Association masyvai per didesni
masyvą.
>> JASON Hirschhorn: Taigi didelis daiktas nėra asocijuota masyvo.
Didelis dalykas yra tiesiog normalus masyvo.
Bet tu teisus, yra du Association masyvai
viduje mūsų didesnio masyvo.
Štai kodėl jūs naudojate du.
Aš jaustis nepatogiai darant prielaidą, kad jie 2, tai kas yra būdas rašyti
tai be darant prielaidą, kad jie 2?
>> PUBLIKA: [nesigirdi]?
>> JASON Hirschhorn: Gerai, kaip Jūs rašote, kad?
>> PUBLIKA: foreach dolerio ženklas TFS arba kaip dolerio ženklas tf.
>> JASON Hirschhorn: Gerai, kad kiekvienam TFS kaip TFS, noriu dabar
vėl turiu lentelę.
Taigi, kas gali duoti man kitą eilutę kodo?
>> PUBLIKA: Spausdinti, tada citatos, laikiklis tr pabaiga
laikiklis, pabaiga citata.
Galutiniai skliausteliuose, kabliataškis.
>> JASON Hirschhorn: Gerai, Kas tai ketinate daryti?
>> PUBLIKA: Jis sakys, naują eilutę.
Ji ketina pateikti pažymėti naujos eilutės.
>> JASON Hirschhorn: Teisė, tai PHP, kaip ir mes kalbėjome apie tai anksčiau - tai
PHP bus įvertintas, o tada jis ketina išspausdinti šį paduoti
stalo gniūžtės, o tada, kad HTML bus vertinami.
Mes tiesiog kopijuodami tai HTML mes turėjome čia.
Taip.
>> PUBLIKA: [nesigirdi]?
>> JASON Hirschhorn: Atsiprašome?
Tai čia.
Fall 2012.
Nežiūrėkite į atsakymus, tegul ją išspręsti kartu.
Taigi mes spausdinti lentelės eilutę.
Taigi, jūs tikriausiai dalykų, sūpynės.
Kas kitas linija kodas turime rašyti?
Asamo, duok man kitą eilutę kodo.
>> Auditorija: Jūs turite TF vardą.
Tf atvira laikikliai kabutės pavadinimas uždarus skliaustelius.
>> JASON Hirschhorn: Duok man savo vardą.
>> Auditorija: Jūs reikia atspausdinti, kad.
>> [Tarpines BALSAI]
>> JASON Hirschhorn: Gerai, kaip man jį atspausdinti?
>> [Tarpines BALSAI]
>> JASON Hirschhorn: Aš trūksta kažkas dabar.
Ką aš trūksta?
>> Auditorija: Jūs turite dolerio ženklas.
>> JASON Hirschhorn: Kas nors aš trūksta?
Visi mes spausdinami iki šiol yra tr.
>> PUBLIKA: Uždarykite tr po jo.
>> JASON Hirschhorn: Taigi turime kad po uždaryti tr.
Kas mato tai, ką mes trūkstamus on line 16?
Taip, Ana.
>> Auditorija: Jūs turite atidaryti td ir garbanotas petnešos.
>> JASON Hirschhorn: O kur mes įdėti garbanotas petnešos?
>> PUBLIKA: Aplink tf vardą.
>> JASON Hirschhorn: Kaip tai?
>> PUBLIKA: Taip.
Ir tada uždarykite td.
>> JASON Hirschhorn: Kaip tai?
>> Auditorija: Ar jums reikia dvigubo citata ženklai šalia garbanotas petnešos?
>> JASON Hirschhorn: Štai čia?
Ne, nereikia.
Štai visiškai teisus.
Taip.
>> PUBLIKA: Taigi tarp to skirtumo ir encatenating taškais yra, jei
naudoti taškų, jūs turite turėti dvigubų kabučių, tada taškas,
tada taškas -
>> JASON Hirschhorn: Teisingai.
Taigi jūs sakote, nėra galutinis būdas tai rašau, kaip kad.
Kas sujungimas operatorius JavaScript?
>> PUBLIKA: pliuso ženklas.
Jūs pamiršo įdėti garbanotas petnešomis atgal.
>> JASON Hirschhorn: Didysis.
Ir yra dar viena eilutė kodo nėra.
Kas gali duoti man paskutinė eilutė kodo, mes trūkstamus?
>> PUBLIKA: Tiesiog tą patį dalyką, tik su namuose, o ne pavadinimą.
Puikus
>> JASON Hirschhorn: Didysis.
Ir jūsų sintaksė tiksliai tinka gauti dalykų asocijuota masyvo.
Taigi faktinis viktorinoje, jums yra faktiškai suteiktas iki čia.
Taigi šis kodas buvo jums duota.
Viskas, ką jums teko rašyti buvo jos keturios eilutės ir nepamirškite
uždaryti stalo tegus.
Vaikinai iš tikrųjų visa tai ir dar daugiau.
Taip.
>> PUBLIKA: Taigi būtų funkciškai tą patį, jei tik turėjo, kad visi
vienas didelis spausdinimo skambutis, tiesa?
Ir tada tiesiog sujungtas jis įjungtas, ir tt?
>> JASON Hirschhorn: Kaip tai?
>> PUBLIKA: Taip.
Jis tiesiog nebūtų atrodo gerai, jei buvo žiūri į jį, kai jūs tikrinimas
svetainėje elementas, tiesa?
>> JASON Hirschhorn: Sutinku.
Jei aš pakrauta šį tinklalapį, tai aš galės pamatyti šį PHP kodą, kada?
>> PUBLIKA: Ne
>> JASON Hirschhorn: Ne
Ir iš tikrųjų, aš ne.
>> PUBLIKA: Tai ne HTML, tiesa?
Taigi jums gali būti suteikta galimybė -
>> JASON Hirschhorn: Taigi tai PHP būtų būti įvertintas serverio pusėje.
PHP yra visada vertinamas serverio pusėje, todėl jūs niekada negali pamatyti PHP kodą.
>> Auditorija: Bet jūs norite turėti galimybę pamatyti atspaudų rezultatą.
>> JASON Hirschhorn: Teisė.
Ir jis nuoširdžiai gali ne padėkite jį visi ant linijos.
Tai gali formatuoti gražiai už jus, ar jis gali įdėti jį į vieną eilutę.
Neaiški.
Bet taip, gera vieta.
>> PUBLIKA: Kaip čia manimi jokio teksto paryškinimas
bet PHP komandas?
Nes aš atsimenu, matau, kad.
>> JASON Hirschhorn: Kadangi tai . HTML byla čia viršuje.
Ten jūs einate.
>> PUBLIKA: Jeigu mes padarėme pradinį metodą su už linijų, tiesa, jei mes
norėjo atidaryti TFS, būtume padaryti TFS laikiklis 0 laikiklį, tada
[Nesigirdi]?
>> JASON Hirschhorn: Galima būtų -
todėl jūs sakydamas už linijos, jūs darytų dolerio ženklas TFS laikiklis 1
arba i dešinę.
Arba dolerio ženklas uždaryti laikiklis ir tada kvadratas laikiklis
kabutes, taip.
>> Gerai, puikus.
Mes turime dar vieną greitą vieną.
Septynios minutės, todėl aš noriu eiti per šį vieną.
Tai dar vienas pavyzdys.
Mes dabar visiškai kita kalba.
>> Mes turime HTML kodą.
Tai tipo maža ekrane, bet Noriu jums ieškoti per ją tikrai
greitai, ir gali kas nors pasakykite man, jei aš įkelti šį interneto puslapį,
ką aš matau?
Aprašykite viską apie šis tinklalapis.
Nojus?
Ką aš matau?
>> PUBLIKA: Kodas į priekinės "Google" dėl pasiūlymo teksto ir jausti
mygtuką "Siųsti".
>> JASON Hirschhorn: Ir kas būtų mygtukas pasakyti?
>> Auditorija: "Siųsti".
Oh, paieška.
Aš atsiprašau.
>> JASON Hirschhorn: Tai sakyčiau paiešką.
Atminkite, pavadinimą.
Ką mes naudojame pavadinimas?
Šis pavadinimas atributas, kas kad naudojami?
>> [Tarpines BALSAI]
>> PUBLIKA: Tai jo pavadinimas , kai jis paspaudžia?
>> JASON Hirschhorn: Tai galėtų būti.
Bet ką mes paprastai pamatyti - kodėl mes suteikti šią vardas eilę?
Kodėl mes matome, kad?
Taip.
>> Auditorija: Ar ne tai, kad tapti puslapis iš super pasaulinį kintamąjį?
>> JASON Hirschhorn: Taip, paprastai, kai ši forma bus pateikti ir tada, kai
tai pateikti taip, kad?
Kas puslapis?
Nojus, kokį puslapį tai pateikti taip, kad?
>> PUBLIKA: Aš nesu įsitikinęs.
>> JASON Hirschhorn: Kur gali mes galime jį rasti?
Kur rasti ką puslapis tai teikia?
Kas linija kodą?
>> PUBLIKA: Forma veiksmų.
>> JASON Hirschhorn: Būtent.
Veiksmų.
Taigi ji teigia, kad į paieškos puslapį.
Backslash paieška.
Štai visiškai teisus.
Koks metodas?
>> PUBLIKA: Get.
>> JASON Hirschhorn: Get.
Būtent.
Taigi, mes tai perskaityti.
Tai bus forma.
Jūs esate visiškai teisus.
Du dalykai, dėl formos, iš pavadinimas puslapis ir viršuje būtų "Google".
>> Taigi, čia yra du klausimai, kuriuos turėtų gebėti atsakyti apie šį puslapį.
Jei tai HTML gyvena šioje svetainėje ir vartotojo įėjimai klaidą į šio teksto
laukas čia, kas URL bus vartotojo susirasti save nuo
pateikimo formą?
>> Taigi, mes turime tai čia.
Aš ruošiuosi grįžti į šiuo puslapiu, nors.
Aš parašiau šią pirmąją dalį.
Ar visi gali matyti čia?
Gerai Mario, jūs manote, kad žinote?
Kas puslapis?
>> PUBLIKA: ukośnikiem paieška.
>> JASON Hirschhorn: Aš ruošiuosi perkelti čia.
Gerai, Backslash paieška klausimas ženklas Q yra klaida.
Kiekvienas turi skirtingą pasiūlymą?
Taip.
>> Taigi, kaip mes gauti?
Na, mes matėme anksčiau.
Ir jūs atėjo su tai anksčiau.
Tu buvai teisus, Nojus, kad veiksmas pasakoja mums, ką
Puslapis mes ketiname.
>> Mes taip pat žinome, kokį metodą taikyti.
Mes darome gauti.
Ir tarp GET ir POST skirtumas yra tai, kad gauti ekranų į URL
ir po ne.
Taigi, jei aš parašiau postą teisę ten metodas, kas būtų kitaip?
>> PUBLIKA: būtų tiesiog būti įstrižas brūkšnys paieška.
>> JASON Hirschhorn: Tai būtų būti tiesiog velniop paiešką.
Nieko čia nutiktų.
Bet kadangi tai gauti, URL rodoma taip.
Pirmiausia matome, klaustuką ir matome pavadinimą ir vertę.
Pasakykite, ten buvo vienas kitas teksto laukas ir Aš davė jai r vardą ir Įvedžiau
vertė, vikšras.
Kas būtų tai dabar atrodo?
Turiu dar vieną teksto laukas, duodu pavadinimas R ir vertė vikšras.
>> PUBLIKA: Po baro jūs turite ampersand vikšras.
>> JASON Hirschhorn: Štai ne ženklui.
>> PUBLIKA: Arba tiesiog kokia ir simbolis.
>> JASON Hirschhorn: Taip, ne.
Jūs teisūs, aš klydau.
Štai kaip g.
>> PUBLIKA: Caterpillar.
r Lygu vikšras, atsiprašau.
>> JASON Hirschhorn: Ar ne ten r?
>> PUBLIKA: Ne, nėra.
>> JASON Hirschhorn: Pakalbėsime apie tai po klasę.
Būtent dešinėje.
Taigi ir yra teisinga.
Ir tada jūs galite turėti daug iš jų, ir jie visi turi būti sujungiamos
kartu su kad ir.
Štai visiškai teisus.
>> Yra dar vienas klausimas.
Nubrėžkite HTML DOM, pradedant su dokumentu.
Mes galime tai padaryti, per dvi minutes.
Mes tai padaryti čia.
Aš eisiu į šį tinklalapį.
Gerai, mes pradedame su dokumentu.
>> Kas toliau?
Taigi, kai jūs skaitote per -
>> PUBLIKA: HTML.
>> JASON Hirschhorn: HTML kitą.
Mes ketiname eiti tegus pagal žymę.
Kas po HTML?
>> PUBLIKA: vadovas.
>> JASON Hirschhorn: vadovas.
Kas po galvos?
>> PUBLIKA: Pavadinimas.
>> JASON Hirschhorn: Pavadinimas.
Ir pavadinimas turi reikšmę "Google", bet aš nesiruošia
rašoma, kad dabar.
Gerai, jei nėra kūno eiti?
>> PUBLIKA: Taip pat ateina ne iš HTML.
>> JASON Hirschhorn: Būtent.
Kūno atsiklijuoja čia.
Ar visiems suprasti, kodėl tai atvejis?
Jūs tikriausiai turėtų būti suteikta galimybė suprasti tai atlikti, taip pat, net jei aš neturėjo
tai gražus įdubimas.
>> Įdubimas tarsi suteikia jai toli, , bet jūs galite pamatyti, kad galva tag
buvo uždarytas, o tai reiškia, mes tikriausiai negali eiti čia.
Mums reikia grįžti iki nesvarbu buvo teisus prieš galvos
žyma, ar po to.
Mes net galvos žyma.
>> Ir pagal kūną eina forma.
Pagal formą, yra du įėjimai.
Gerai.
Tai viskas, ką aš turiu.
Viktorina 1 yra rytoj.
Aš taip susijaudinęs jums vaikinai.
Tai bus sprogimas.
>> Jei turite -
>> PUBLIKA: [Plojimai]
>> JASON Hirschhorn: O sustabdyti, sustoti.
Bet ne, aš nejuokauju.
Jei turite kokių nors klausimų, teisė po skirsnio, aš ne.
Jei turite kokių nors klausimų, šį vakarą, nedvejodami skambinkite, elektroninio pašto, gchat,
vežėjas karvelis mane.
Sėkmės rytoj.
Turi nuostabią padėkos pertraukos, jei aš nematau, jums iki to.
Ir aš jus pamatysiu po Padėkos Antradienį mūsų finale
skyrius šalis bet kada.
>> PUBLIKA: [nesigirdi].
>> JASON Hirschhorn: Didysis.
Gerai, aš pamatysiu vaikinai kitą savaitę ar dvi savaites.
Ir sekmes rytoj.