Jason Hirschhorn: Sveicināti, ikviens, nedēļai 10. Tas ir aizraujošs nedēļā, jo rīt Quiz 1, kurā mēs saņemam uz otru. Šodien sadaļā mēs gatavojamies iet vairāk nekā dažus resursus viktorīnas, un tad es atbildēšu visiem un visiem jautājumiem, jums puiši ir. Un mēs beidzot beigsies ar dažas prakses problēmas. Mēs varam pavadīt visu nodaļu atbildot uz jautājumiem. Mēs varam pavadīt visu nodaļu iet pāri prakses problēmām. Mēs vienkārši paplašināt, lai aizpildītu telpa un laiks mums ir. Tāpēc es šo sarakstu up katru nedēļu, bet tas ir īpaši svarīgi šonedēļ. Studijām, ja jums nav sākās jau, oh boy. Bet, cerams, jūs esat sācis jau. Un jūs ejat cauri materiāliem un resursi šeit. Es ļoti ieteiktu vairāki no tiem. Jo īpaši, lekciju piezīmes neticami svarīgi un noderīgi. Study.cs50.net sniedz lielisks primer par daudz tēmas mēs uz. Tas arī ir dažas lielas praksē problēmas. Un tad, Google ir liels, too. Es nezinu, ko jūs vēlaties to izmantot. Bet izmantot Google, kā arī. Aizsniegt ar mani, ja jums ir Jautājumi, komentāri, vai bažas. Apskatīt pārskatīšanas sesijas slaidi no pēdējā naktī. Vai arī, ja Jums ir kādu laiku, skatīties video. Tie sniedz daudz noderīga materiālus un informāciju. Un mēģināt aptvert, ja ne visi, daudzi tēmas mēs esam, uz kuriem attiecas un ka jūs var redzēt uz viktorīnas. Runājot par viktorīnu, ka būs rīt. Tas ir 75 minūtes garš. Daudzi no jums ir veikt to 1 pulksten, un daži no jums ir ņemot to 5:30. Uz laiku, jūs lietojat, un vietu jūs lietojat to, pārliecinieties, vai jūs izbraukšana dokumentu uz CS50.net mājas lapā. Atcerieties, ka jūs varat saņemt vienu 8 1/2 11 lapas, lai ar Jums. Nereti, cilvēki neizmanto šo lapa vispār viktorīnas laikā. Bet tiešām, tas ir neticami noderīgs pētījuma instruments. Tā liekot kopā, ka lapa ir tas, ko Es pavadīju iespējams, trīs vai četras stundas dara, kad es studēju CS50, un tas bija viegli visnoderīgākie veids, kā es varētu studēt uz viktorīnas. Tātad, pat ja jums ir daži citi cilvēki ir studiju ceļveži apskatīt un izmanto kā atsauces, es ļoti ieteiktu padarot savu studiju guide, liekot ka sīkumi kopā. Tas tiešām palīdz jums uzzināt, visas materiāla. Pēdējais, bet ne mazāk svarīgi šajā sadaļā, parīt viktorīnu tur ir viens vairāk lekcija - nākamajā pirmdienā. Tur ir vēl viens nav sadaļa, nākamais Otrdiena pirms Pateicības, bet Otrdiena pēc tam. Mēs būsim tikšanās kopā galīgo ardievas partija un arī dara dažas atdzist lietas, lai jūs guys sajūsmā turpmākie pētījumi datorzinātnēs. Tur ir vēl viens projekts, vēl viens godīgi, vēl viens hackathon. Mēs esam tuvojas beigām CS50, kas ir aizraujoši - bet, ja jūs, piemēram, man, mazliet skumji. Pirms doties tālāk, vai kāds ir kādi jautājumi par to, kas mēs esam, uz kuriem līdz šim? Labi, bet pieņemsim iet pāri daži jautājumi ka jums ir, lai viktorīnas un tēmas mēs varētu aptvert. Tātad tas ir saraksts, es kopā. Tas nekādā ziņā nav izsmeļošs, bet cerams jog savu atmiņu, ja jums ir daži jautājumi par kādu no šiem tēmas, vai ja jums ir jautājumi par prakse problēmas no viktorīnas gadu iepriekš. Man bija pāris jautājumi, kas bija pa e-pastu man, bet es gribu turēt off tiem uz otru. Vai kāds ir kādi jautājumi, problēmas, viņi nesaprata, Atbildes viņi nesaprata , lai mēs sāktu? Avi. Mērķauditorija: Vai jūs vienkārši iet pāri DOM un Ajax tiešām ātri? Patīk, kas mums ir nepieciešams zināt, vai vajadzētu saprast par viņiem? Jason Hirschhorn: Es esmu gatavojas atbildēt parasti šis jautājums, ko man jāzina par doto tēmu x? Jo man ir sajūta, ka daudzi no jums gatavojas lūgt man, ka, vai ir ziņkārīgs par to. Tātad, lai tādā mērā, ka tēma bija uz lekciju, vai sadaļā, vai study.cs50.net, problēma noteikt, jūs ir pazīstams ar to. Tātad jums nav nepieciešams zināt visu veidu tag, kas ir pieejams HTML vai visu veidu atribūta vai īpašuma Jūs varat dot kaut CSS. Bet, ja jūs redzēja to lekciju, piemēram, ja jūs redzēja to problēmu kas, jums, iespējams, iepazinušies ar to, jo īpaši lietas redzējāt lekciju. Tāpēc mēs apspriedām šo dokumentu objekta modelis mazliet in lekciju sadaļā, vairāk. Jums jāzina ar, ka daudz no tā. Un jums vajadzētu būt pazīstams ar Ajax tādā pašā apjomā. Mēs nekad neredzēja neticami uzlabotas vai sarežģītas piemēri Ajax, tāpēc jūs neesat gatavojas lūgt izdarīt kaut kas neticami sarežģīta. Bet jūs varētu jautāt, kā es varu veikt Ajax zvanu, izmantojot jQuery? Kas ir kaut kas jūs esat redzējuši vairākas reizes pirms, gan pārskata sesija un lekciju, un tas ir tikai divi-ish koda rindiņas. Tātad tas ir kaut kas jums vajadzētu jāpārzina. Bet atkal, par visiem šiem jautājumiem, ja esat redzējuši to pirms, tā ir godīga spēle. Un mēs varētu jautāt jums - protams, mēs esam gatavojas lūgt jums lietas, kas jums neesmu redzējis. Kodēšanas kaut kas jums ir ne redzējis. Kas nav teikt, jums nav redzējis rīkus, lai atrisinātu šī problēma pirms tam. Jūs esat redzējuši šos instrumentus. Tā, piemēram, uz testu 1, ja Jums ir nepieciešams, lai kodu strlen. Mums nav kodēti strlen agrāk. Bet jūs zināt, kā to izmantot, lai cilpas, jūs zināt, kā to izmantot, ja apstākļi. Jūs zināt, kā rakstīt mainīgos C. Tas būs tas pats šeit. Jūs neesat gatavojas lūgt izdarīt kaut kas jums nav redzējis, bet Jūs var lūgt, piemēram, nodot kaut kopā jaunā veidā, vai arī risināt dažāda veida problēmas. Žēl, ka nebija raksturīgi jūsu jautājums, bet es nevaru atbildēt par katru tēmu, ko jūs darīt vai nav nepieciešams zināt. Bet arī, piedodiet, pēdējā lieta, par to. Mums ir pavadījuši daudz vairāk laika uz saites sarakstos, nekā mēs esam uz Ajax. Jums nav izmantot Ajax ar problēmu kopumu. Viens no galvenajiem iezīmes, kas Problēma noteikti tas bija saite sarakstus. Un mēs pavadījām daudz laika lekciju un apakšpunktu to izmanto. Tātad, izredzes ir saite sarakstu nāks klajā vairāk bieži vien uz viktorīnas nekā Ajax gribas. Vai jautājumi, kam sakars ar saiti saraksts būs vērts vairāk punktus. Tātad, jūs noteikti var koncentrēties un šaurs kas par lietām, kas ir vairāk varētu nākt klajā, jo mums ir pavadīja vairāk laika uz tiem. OK kādi citi jautājumi? Jā. Mērķauditorija: Vai mēs ejam pār izmantošanu anonīmas funkcijas JavaScript? Es esmu ir nedaudz mulsina par to. Jason Hirschhorn: Tātad JavaScript - Es cenšos domāt, kā es varētu uzrakstīt šo par - tāpēc pieņemsim patiesībā atvērt šo kodu. Tātad tas ir kods, kas mums bija pagājušajā nedēļā. Un jūs esat redzējis šo, ja pirms bija šeit, sadaļā pagājušajā nedēļā. Vai esat redzējuši kaut ko līdzīgi kā to pirms tam. Bet jūs varat apskatīt šajā pirmajā rindā. Tas ir, kā jūs sākat - visi ir redzējuši to pirms tam. Ja jūs vēlaties, lai daži JavaScript kodu, jūs ielieciet to iekšpusē to, pieņemot, ka jūs izmantojat jQuery. Šis saka, neko nedara līdz brīdim, kad dokumenta ielādēta. Un tad, Kurts, jūs redzat tieši šeit mēs darām kaut kas līdzīgs šim - funkcija atvērt paren, slēgta paren. Tāpēc mēs ne dodot to darbotos nosaukumu. Mēs nebrauksim, lai definētu šo funkciju ir paredzēts darboties, un pēc tam to sauc ķekars reizes. Mēs esam tikai pasakot šo dokumentu jau notiek funkcija. Pāris lietas, ko darīt. Un mēs negribam tērēt laiku dodot tai nosaukumu vai saglabāt to nepārtrauktība. Mēs vienkārši vēlamies, lai palaistu dažas lietas. Tāpēc anonīma funkcija veida gada kalpo šim nolūkam. Ja jūs neesat gatavojas izmantot kaut ko atkal un atkal, tāpēc jums nav nepieciešams lai arī tā nosaukums - jūs vienkārši vēlas to izmantot uzreiz - Jūs vienkārši pateikt funkciju, lai Piemēram, šajā gadījumā, un jūs tikai nosakot kaut kas jūs varētu dot nosaukumu. Tāpat kā mēs varētu pull šo funkciju veikšanu un piešķir tai nosaukumu, un tad to sauc par darboties šeit. Bet mums nav nepieciešams, jo mums nav vēlas tērēt laiku dodot tai nosaukumu vai izšķērdēt kaut mūsu vārdu telpā. Un jūs redzēsiet, ka daudz. Piemēram, mēs redzam, ka daudz šajā kods, bet jūs esat redzējis šo pirms, kad Noklikšķinot uz kaut ko - palaist šāda veida kodu. Mēs varētu noteikt kodu, ko mēs gribam darboties, kad mēs noklikšķiniet, šajā gadījumā, šo ID, kā atsevišķu funkciju un tad palaist šo funkciju. Bet šajā gadījumā mēs esam tikai izlaižot ka soli un pārvietojas to šeit un tikai, lai definētu visu ka mēs vēlamies, lai notikt, un ne dodot tai nosaukumu. Kas vēl var nebūt atbildēja uz jūsu jautājumu. Mērķauditorija: Nē, tā nav. Es domāju, es domāju, es vienkārši nav īsti get kāpēc tas būtu darboties vispār, though. Tāpēc, ka tas nav īsti to sauc. Tas nav īsti vārdu. Jason Hirschhorn: Tā ir funkcija sajūta, ka tas ir virkne soļu, kā jūs varētu īstenot funkciju. Un tad tas ir iemesls, kāpēc mēs aicinām anonīmu funkciju. Mēs nebrauksim, lai dotu tai nosaukumu. Mēs nebrauksim uz atkritumiem mēģināt nosaukt, bet mēs varētu. Anonīmu funkciju, jums vienmēr var dot vārdu. Tā, piemēram, šo kodu šeit, mēs varētu nodot šo kodu iekšā funkcija un tad zvana šī funkcija šeit. Tā vietā, mēs sakām, mēs nebrauksim apgrūtināt ar to. Mēs esam tikai gatavojas rakstīt tas viss šeit. Tas ir tāpat kā reizēm, kad jūs esat rakstiski četras cilpas C - jūs guys esmu redzējis šo pirms - varbūt tu esi atkārtojot caur forloop uz i ir vienāds ar 0. I ir mazāks nekā strlen. Vai jūs iet caur kādu masīvs, jūs varat ietaupīt masīvs indekss i dažās mainīgo. Un jūs izmantojat šo mainīgo. Tātad jums nav nepieciešams pārrakstīt masīvs kronšteins i atkal un atkal un atkal. Un tas ir veida, piemēram, mākslīgais mainīgais. Tas nav kalpo daudz mērķiem, kas nav lai padarītu savu kodu nedaudz tīrāku un vieglāk lasīt. Līdzīgas funkcijas šeit. Tikai padara to mazliet vieglāk, bet funkcionāli nav atšķirības. Tas, ka atbildi uz savu jautājumu? Mērķauditorija: Jā. Jason Hirschhorn: OK .. Mario? Mērķauditorija: Vakar viņi bieži likts funkcija iekavās notikumu. Vai tas kaut ko nozīmē? Vai tas ir par lietām, piemēram, ka viņi darīs document.ready funkcija notikumu. Jason Hirschhorn: Mēs esam redzējuši šo, un atkal, tās ir mazākas lietas, , iespējams, es nevēlos pavada pārāk daudz laika. Jo dažreiz es negribu cilvēkus get freaked, ka tie nav dzirdējis par šīm lietām, ka daudz. Bet mēs runājām mazliet par notikumu apstrādes. Tātad kaut kas notiek, un pēc tam šī funkcija tiek izpildīta. Un tad mēs arī gribam zināt daži par to, ko noticis šajā gadījumā. Tāpēc domāju, ka atpakaļ uz problēmu noteikt 4. Tas ir iespējams, vienkāršākais veids, kā saprotu, ka izcelties. Tur bija daži kodu - piemēram, pasākums varētu notikt, bet notikums var nozīmēt daudzas lietas. Ja varētu nozīmēt pele ir noklikšķinājuši, tas varētu nozīmēt, jūs hit bulttaustiņu, et tā tālāk, un tā tālāk. Bet tas viss ir saglabāts šis vispārējais lieta, ko sauc par notikumiem. Un tad mēs varam teikt, ir šis notikums šī lieta? Vai tas ir notikums šī lieta? Vai, kāda veida noticis ar šo notikumu? Tātad, tas ir iemesls, kāpēc jums izveidot, ka mainīgo tur, lai saglabātu šādas papildu informācijas par to, kas īsti noticis, ka jūs gatavojas vēlaties izmantot funkcijā. Bet atkal, tas ir iespējams, ir viens no mazāk svarīgas lietas, kas ir super iepazinušies ar. Labi, ko citi jautājumi ir cilvēki bija, vai klupšanas akmeni viņi radušās pārskatīšanas laikā? Mēs atpakaļ šajā sarakstā. Kas par prakses viktorīnas laikā, ja cilvēki ir tie, kas jau? Kādas bija dažas problēmas, kas paklupu jums guys up? Es zinu par to, ka pagājušā gada viktorīna bija patiešām grūti. Mērķauditorija: Vai jūs varat izskaidrot, ko SQL injekcijas uzbrukums ir? Jason Hirschhorn: Labi, lieliski. Tātad, mēs runājām par to mazliet. Tur lekciju par drošību. Un atkal, kā jau es minēju iepriekš, Tas ir malā. Bet jums būs neapmierinātas uz viktorīnas kad jūs lasīt nelielas divpunktu jautājums, un jūs, piemēram, ja vai es kādreiz uzzināt, ka? Visas šīs lietas šajās lekcijās ka jūs nedomāju, ka jums ir nepieciešams, lai zināt, vai jūs varētu notušēt, jo viņiem nebija ko darīt ar problēmu kopums, tie, visticamāk, nākt atkal uz viktorīnas. Tātad, atdzesē, jautras lietas, ko jūs vienkārši domāju, Deivids stāsta, lai jūs varētu patīk, viņš stāsta jums, lai jūs varētu patīk, un, lai jūs vienkārši super sajūsmā par mācīšanos visu ir mācīties par datorzinātnes. Šīs lietas arī nākt klajā ar viktorīnas. Tātad, pat šīs mazās lietas, kas nav tieši saistīti ar jūsu problēmu noteikt, kā jūs puiši ir iepazinušies ar no Viktorīna 0, iespējams, nāk uz augšu. Un tas ir labs piemērs par kaut ko. Tāpēc SQL injekcijas uzbrukumiem ir, kad jūs iegūt kādu informāciju no lietotāja un jūs vēlaties, lai to ievietotu tabulu, izmantojot SQL ievietot paziņojumu, bet nav sanitize ievadi pirms laika. Tātad, protams, mēs esam redzējuši SQL. Es vienkārši atvērt - Iesim - mēs iesim uz pārskatīšanu - Es domāju, kurš uz to? Es domāju, ka Samala darīju. Tātad, mēs varam iegūt - Mērķauditorija: Kur jūs atrast šo? Jason Hirschhorn: Tātad, ja jūs apmeklējat CS50.net, viktorīnas, un tad jūs varat ritinātu pāri, un saņemt slaidus No pārskata sesijas. Bet jūs varat redzēt, tas ir labs piemērs no SQL injekcijas uzbrukumu. Mēs ņemam kādu informāciju no lietotāja un tie dod mums virkni, un tad mēs vēlas, lai ievietotu šo string datu bāzē. Parasti mēs sanitize ka ieejas, kas nozīmē, ka ir daži rakstzīmes, kas ir bīstami. Piemēram, SQL virknes, šie citāti - vienu pēdiņām un pēdiņas - kaut ko nozīmē. Tie nozīmē izbeigt šo virkni šeit. Un tāpēc, ja lietotājs dod jums vienotu vai dubultā citāts, tie varētu būt mēģinot ceļojums savu SQL vaicājumu un ievietot dažas sliktas lietas tajā. Un, ja viņi to izdarītu, viņi varētu iegūt kontroli pār savu datu bāzi, vai darīt kādu lietas, ko jūs nevēlaties to darīt. Tātad, tāpēc, kad mēs SQL vaicājumi, mēs sanitize ievadi pirms ievietojot to datu bāzē, kas nozīmē, ka mēs aizbēgt šīs rakstzīmes. Mēs runājam par to, ka sekundē. Bet garš stāsts īss, SQL injekcijas uzbrukums ir, ja jums nav darīt, ka - ja Jums nav rūpēties par ieejas viņi deva jums pirms nodošanas datubāzi, viņi var, kā jūs redzat uz leju šeit, palaist vaicājumu, kas, patiesībā - viņi iegulda savu kodu uz leju šeit un Tas SELECT LINE šeit lejā izvēlēsies viss no galda, neatkarīgi par ko parole ir dota. Jo jums ir vai 1 ir vienāds ar 1. Tātad, tas ir būtībā, garš stāsts īss, veids, kā pārņemt datu bāzi. Jautājums, tad jums puiši ir kur p komplekti 7 jūs sanitize viss izejvielas, lai Jūsu SQL vaicājumu? Kur bija, ka pasākums notiek? Kur jūs novērstu SQL injekcijas uzbrukumi no notiek p noteikts 7? Jā. Mērķauditorija: kapenes? Jason Hirschhorn: Tātad tas nebija kapenes. Mums nav padarīt jūs darīt šo Īpaša problēma noteikt, bet tas notiek vaicājuma funkciju. Mēs faktiski wrote to you, un mēs rūpējās par dezinficēšana izejvielas jums. Bet gadu iepriekš, studentiem ir bijusi rakstīt izejvielas paši. P kopumu 7, daudzi no jums - ļaujiet man atvērt vēl vienu failu. Tātad jūs pamanīsiet šeit daudz cilvēki, jo problēmas, kas 7, nezvana šī funkcija uz stīgām. Šī funkcija, htmlspecialchars, atkal - Šī virkne varētu būt dažas lietas ka HTML nozīmē kaut ko citu. Tāpat kā lencēm, kvadrātveida, vai leņķī kronšteins kaut ko nozīmē HTML. Un tādēļ, ja drukājat, ka, lai ekrāna vai ja jūs vienkārši paņemt to un izdrukāt, ka, lai jūsu HTML, kas varētu darīt kaut ko jums nav gaidīt. Tāpēc htmlspecialchars iet pāri visiem tiem rakstzīmes, kas ir īpaša tikšanās un aizbēg tos. Tāpēc tas izpaužas jāizdrukā kā teksts jūs vēlaties redzēt, nevis skrūvēšanai up jūsu HTML. Mēs sauc šo funkciju galvenē. Un daudzi cilvēki aizmirsa zvans, ka funkciju kods, kuru jūs rakstāt. Tā, piemēram, ja krājuma nosaukums bija leņķiekavas tajā, un tu aizmirsi , lai izsauktu šo funkciju, šo leņķi kronšteins varēja nometusi ko jūsu HTML izskatījās. Bet aicinot šo funkciju izplūdīs ka tik tas faktiski izdrukā, kā leņķiekavas un nav mest pie jūsu HTML kodu. Paša iemesla dēļ mēs esam redzējuši, dažreiz, slashes pirms dubultās pēdiņas printf line jo mēs nevēlamies pēdiņas uz leju virkni. Mēs vēlamies, lai izdrukāt tos out uz ekrāna. Tātad, tas viss ir tas pats iecere. Tas, ka atbildi uz savu jautājumu? Mērķauditorija: Veida. Jason Hirschhorn: Vai jūs ir paveiktā darba? Mērķauditorija: Es domāju, ka SQL injekciju uzbrukums ir saistīts ar to? Es nesaprotu, kā divi ir saistīti. Kāpēc jūs darīt specialchars? Jason Hirschhorn: Labi, tāpēc SQL injekcijas uzbrukums ir tad, kad jūs injicēt daži ļaunprātīgu stīgas uz kāds ir programmu, un viņi vienkārši ņemt to un palaist SQL vaicājumu ar auklu jums deva viņiem. Kā jūs varat redzēt šeit lejā, ka varētu būt problemātiska. Tātad, kā jūs novērstu pret, kas ir Jūs lietojat savu string, ka viņi tu - tā tas string tieši šeit - un jūs sanitize to. Jums izvairīties no visiem lietas, kas ir potenciāli problemātiska. Tātad jums nav interpretēt tos kā kaut ko tas nozīmē, ka kaut kas. Un piemērs, kas ar HTML ir šī funkcija. Tātad, tas ir pati ideja šeit. Un man bija tikai parāda jums cita piemēri, kad esat redzējis šo ideju. Kā izvairīties lietotāja ievadi pirms drukāšanas tā, lai ekrāna vai nodošanas iekšā SQL. AUDITORIJA: Tātad, šajā gadījumā, lietotājs ir messing ar programmētājs. Jason Hirschhorn: Jā. Ar visiem šiem drošības uzbrukumiem, tas vienmēr vispār lietotājs, vai kāds, cenšas izjaukt ar jums, programmētājs. Un tie ir veidi, kā jūs varat novērstu pret viņiem. Mērķauditorija: Tātad man ir jautājums par hash funkcijām. Jo Quiz 1 no 2011, ir divi jautājumi par vienpusēju hashes. Un man bija tikai jautājums ko tas nozīmēja. Jason Hirschhorn: OK, kas viktorīnu? 2011? Mērķauditorija: Jā. Mērķauditorija: Quiz 1? Mērķauditorija: [nedzirdama]. Tas ir tāpat kā sajaukšanai paroli. Tas nav liekot lietām - Jason Hirschhorn: Kāds lapa tas bija? Mērķauditorija: Es domāju, ka tas bija 9 vai 10, vai abus. Jason Hirschhorn: Labi, iet uz priekšu, Kurts. Jūs varat atbildēt, bet mēs skatāmies. Mērķauditorija: Es domāju, ka tas runā par sajaukšanai paroli. Tāpat kā, ja kāds ienāk paroli, Jūs to pārvērst šifrētu lieta. Tas ir paroles hash, kas ir atšķiras no hash funkciju, liek kaut uz hash tabulā. Jason Hirschhorn: Redzēsim. Ļaujiet man uzvilkt to, ko viņi sniedz kā atbildi. Un tad mēs staigāt pa to. Tātad Kurts sniedza lielisku piemēru of vienvirziena hash. Kad mēs esam redzējuši šo pirms mēs ņem paroli un pārvērst - Atcerieties, ka p komplektā 7, kāds varētu ir parole, kas ir tikai parole, bet tad tā kļūst šifrēta daži patiešām ilgi lieta. Vienvirziena hash nozīmē, ka ir ļoti viegli pāriet no viena veidā uz otru, bet tas ir ļoti grūti aiziet no cits veids atpakaļ. Un, lai jūs zināt, kad jūs pārbaudīt cilvēku paroles problēmu noteikt 7, jūs varētu veikt savu - tā, piemēram, ka viņi gribēja mainītu savu paroli, jūs lūgt tos, savu veco paroli. Jums bija savu veco paroli. Jūs šifrēta to. Un tad salīdzina divus encryptions nevis unencrypting oriģinālu viens, jo tas ir patiešām grūti iet šo ceļu. Jā. Mērķauditorija: Kā dziļumā darbojas mūsu izpratne par telnet ir jābūt? Jason Hirschhorn: Ja tas tika minēts īsi lekciju, tikai īss izpratne. Atkal atpakaļ uz atbildi uz avi jautājumu - jo vairāk lietas nāk uz augšu, visticamāk tas ir, jums ir jābūt super iepazinušies ar tiem. Ja viņi tikai nāk klajā ar lekciju, tas ir tikai vienā vietā. Bet, ja viņi nāk klajā ar lekciju, sadaļā, un problēma noteikt, tad jums iespējams, ir jābūt super iepazinušies ar tiem. Tāpēc man bija jautājums, no agrāk par - tas bijis kritums 2010 - Viktorīna 1, pieņemsim uzvilkt - šis jautājums par skursteņi un rindas, ko mēs darījām tērēt taisnīgu mazliet laika runājot par lekciju, pat lai gan mēs neesam īsti kādreiz hit to sadaļā. Tātad šis jautājums ir sniegt jums virkni Komandu un lūdz jums to, ko izpaužas drukāts šajā gadījumā. Tātad tas ir pilnīgi pamatots ir jautājums ka varētu lūgt no jums puiši, un tad jūs guys būtu varētu uz to atbildēt. Tātad, kāpēc nav jums apskatīt to, lai 30 sekundes, un tad, ja kāds vēlas, lai ierosinās atbildes uz mani, un tad mēs staigāt pa to. Visas tiesības, kas ir atbilde līdz 27 jautājumu? Jā. AUDITORIJA: tas ir 1, 2, 3, 3? Jason Hirschhorn: Tieši tā. 27, ir 1, 2, 3, 3. Tātad, pieņemsim apskatīt to, kā mēs saņēmām to. Pirmkārt, mēs sakām, ja s nav rinda, kas izpaužas drukāts? Tāpēc q ir pirmais iekšā, pirmais ārā. Mēs esam redzējuši, ka pirms tam. Mēs redzējām priekšstatu par cilvēku gaida pie Apple Veikalu, lai nopirktu kādu produktu. Pirmie cilvēki ir pirmie cilvēki out. Pirmās lietas rindā ir pirmās lietas, kas. Tātad, ja mēs push kaut kas stājas rindā, jūs push 1, tad mēs pop 1. Pop nozīmē tikai izņemt. Šajā gadījumā, tikai ņemt kaut ko. Mēs izņemt pirmais lieta, kas ir 1. Tāpēc mēs nodot lietas, ko mēs drukāt uz leju vairāk nekā šeit. Tas vairs nav mūsu rindā. Tad mēs push uz 2 un 3, un mēs pop off pirmā lieta. Atkal, jo tas ir rinda. Lai mēs iegūtu 2, tad mēs liekam uz otru 3 un atkal zvanu pop. Mūsu 3 ir pirmais. Un tad mums bija visu ķekars citas lietas, un zvanu pop. Bet atkal, jo tas ir rinda, pirmais iekšā, pirmais ārā. Mēs izņemt pirmā lieta , kas bija kādreiz likts collas Tas ir mūsu 3. Un, šajā gadījumā, mums nav jāuztraucas par visiem tiem citas lietas. Tātad, tas ir, ja tas ir rinda. Visus jautājumus par rindā? Kaudze ir savādāk. Kas ir akronīms mums izpratnei kaudze? Mērķauditorija: pēdējais iekšā, pirmais ārā. Jason Hirschhorn: LIFO, es domāju. Pēdējais iekšā, pirmais ārā. Tāpēc mēs redzējām piemēru kaudze paplātes kādā ēdamzālē. Kāds trauks ir uz augšu izpaužas palielinājies. Un tad, ja jaunas paplātes nāk kas, viņiem likts uz augšu. Un tad kāds ir uz top izpaužas palielinājies. Tātad tie paplātes uz apakšējā varenību tur palikt awhile. Tādā gadījumā atkal, mēs izdarīt šo out. Mēs push uz vienu, tāpēc viens ir pirmais pēc kārtas. Un mēs pop kaut off. Un tur ir tikai viena lieta, kas tur, tāpēc mēs virzāmies 1 leju šeit. Tad mēs liekam uz 2 un 3 mēs pop kaut off. Bet atkal, jo tas ir rinda - vai tas ir kaudze, nevis - mēs kāda bija pēdējā. Kāds ir pēdējais nāk pirmās. Un 3 ir pēdējais. Tāpēc mēs uzdodam 3 tur lejā, tad mēs liekam uz vēl 3, un mēs atkal pop kaut ko. Visbeidzot, mēs laistas 4, 5, 6 un 7, un šeit mēs pop. Un tāpēc, ka tas ir kaudze, mēs kāds tika likts pagājušā un rakstīt kas noteikti šeit. Tāpēc mēs galu galā ar 1, 3, 3, 7. Vai kāds ir kādi jautājumi par skursteņi un rindas, vai šis piemērs? OK. Iesim atpakaļ uz sarakstu tēmām. Ne, ka veidā, šādā veidā. Kādi citi jautājumi, cilvēki ir? Mērķauditorija: Es nezinu, cik svarīgi tas ir, bet man bija sajaukt ar starpība starp dažādiem valodas, piemēram, atzīmes, kas apkopota, interpretēts. Jason Hirschhorn: Tas ir labs jautājums. Es domāju, ka ir diezgan svarīgi, tāpēc iesim pār to ātri. Lielās valodas, mēs esam redzējuši līdz šim ir C, PHP un JavaScript, runājot programmēšanas valodām. HTML, kā jūs minējāt, nav programmēšanas valodu. Tas ir iezīmēšanas valoda. Un tad mums ir CSS, kas ir arī nav programmēšanas valoda. Mēs esam redzējuši SQL, kas nav programmēšanas valodu, vai nu. Tāpēc SQL ļauj jums rakstīt vaicājumus datubāzē. HTML ir iezīmēšanas valoda. Tas nosaka, kā lietas tiek strukturēti. Un CSS ļauj jums pieskaņot lietas. Tas ir iespējams, cik lielā mērā par to, ko jūs ir jāzina par šiem trim. Bet tas ir vairāk interesanti skaitlis no starpības starp C, PHP, un JavaScript. Tātad viena no lielākajām atšķirībām, kā jūs minējāt, ir tas, kā viņi apkopoti, vai kāds ekvivalents ir. Tāpēc C tiek apkopota. Mēs vienmēr palaist kompilatoru. Un tad, kad ir jūsu kļūdas palaižot C kompilatoru? Kur tas parādīs Kļūdas jūsu kodu? Kā jūs zināt, tur ir kļūda savu kodu C? Mērķauditorija: Tas parāda, terminālī. Jason Hirschhorn: Tas parāda jums termināls, kā jūs apkopojot. Un, ja ir kļūdas, tā nav reāli sastādīt to. Tātad, jūs zināt, ka ir kļūdas Right prom, pirms laika, pirms jums pat palaist savu kodu. Protams, jūs varētu vadīt savu kodu un saņemt segmentāciju vaina, bet tas bija iespējams, tāpēc, ka jūs daži dumjš loģika lieta. Bet jūsu kodu ar tehniski visu pareizi un varētu darboties. Tāpēc C kods tiek apkopota pirms laika. Kas par PHP kodu? Kur bija kļūdas jūsu PHP kodu? Kā jūs zināt, ka jums ir kļūdas savu PHP kodu? Mērķauditorija: Run laiks? Jason Hirschhorn: Jā, ja jūs varētu palaist to, jūs varētu palaist PHP kodu muguras. Un tad jūs varētu parādīt ekrānu. Jūs varētu redzēt dažas lietas uz augšu, bet tad jūs varētu redzēt, piemēram, daži oranžs, neglīts galda. Un tas dos jums līniju skaitu un teiksim, blah, blah, blah, šī stuff nestrādāja. Tāpēc PHP interpretē pozīcijai un izpilda serverī. Un tad rezultāts ir nosūtīja pār jums. Lieliski. Izpilda servera pozīcijai un pēc tam to nosūta pa jums. Un, ja tur ir kļūda, tas būs sūtīt Jūs kļūdas, bet jūs varētu būt gotten daži sīkumi pirms laika. Tāpēc daži no tā varētu būt strādājuši, bet vēlāk, daži sīkumi var nebūt nav strādājuši. Kas par JavaScript? Kur jūs redzat JavaScript kļūdas? P noteikts 8, kad jums kļūda, kā jūs zināt? Kur tad tas parādās? Mērķauditorija: In konsole, apakšā. Jason Hirschhorn: In konsole, uz grunts. Tas arī dos jums līniju skaits, un tas būtu parādās apakšā. Un JavaScript nav izpildīts serverī. JavaScript tika nosūtīts uz jūsu datora, un tad, kad tas bija laiks, lai palaistu JavaScript, JavaScript bija vada pozīcijai par klients, jūsu pusē. Ne serveris, klienta pusē. Un tāpat, tas bija vada pozīcijai. Un tad, kad jūs saņemsiet kļūdas, tas parādās apakšā. Līdzīgi kā PHP, daži no tā varētu izpildīt, un tad jūs varētu saņemt kļūda vēlāk. Arī nedaudz atšķirībā no PHP, ja jums JavaScript kļūda - saka, jums nav darīt to tiesības kods brīdinājumu kastē - Jūs varētu skriet savu programmu. Trauksmes lodziņš nevarētu strādāt, bet jūsu programma būtu labi. Tikai varbūt šī funkcija varētu neizdoties. Tātad tur ir daži no lielākajiem atšķirības attiecībā uz to, kā šīs valodām, vai arī kā programmēšanas kodu Rakstot faktiski novērtēti. Ir arī citas atšķirības noteikumi - lielākā atšķirība mēs esam redzējuši gan mainīgo lielumu dažādās valodās. Tātad, var kāds sniegt man atšķirība starp mainīgajiem trijās valodās? Jā. Mērķauditorija: In C, viņi stingri drukāti. Ar pārējiem diviem, viņi brīvi drukāti. Jason Hirschhorn: Un Ko tas nozīmē? Mērķauditorija: Ka C, jums ir atzīt mainīgā tips, kad jūs deklarēt mainīgo, piemēram interbool vai char. Jason Hirschhorn: Excellent. C, mēs vienmēr bija likt tipa mainīgo. Un mēs nevarējām īsti sajaukt veidiem. Jūs nevar darīt veselam skaitlim plus virkne. Bet kā mēs esam redzējuši šīs citas valodas, jūs faktiski var sajaukt veidiem, un jūs nekad tiešām ir jāsniedz kaut tips, jebkad. Tātad, kā mēs zinām, viss ir mainīgie PHP un JavaScript? Mērķauditorija: PHP, viņi sāk ar dolāra zīmi. JavaScript, kad jums paziņot, viņiem, jums ir bārs. Jason Hirschhorn: Right. Tātad PHP, viņi sāk ar dolāra zīmi. JavaScript, viņiem ir bārs, lai gan dažreiz tie nav faktiski ir jābūt bar. Bet tas ir pareizi. Tā ka ir liela atšķirība starp mainīgajiem. Es domāju, ka tie, iespējams, pie top no manas galvas, divi lielākie Atšķirības starp šiem trīs valodas. Bet, jā. Mērķauditorija: Un joma C mainīgo ir tikai cirtaini bikšturi, kur citi tiem, tas ir tāpat kā, tas nomirst, ja tas ir tikai funkciju, bet citādi, it's - Jason Hirschhorn: Right. Tā darbības joma ir nedaudz atšķirīga C. Kā Jūs atceraties, cirtaini bikšturi noteikt joma mainīgajiem. Tātad, ja tas ir noteikts iekšā, ja nosacījums, kas ir iekšā, lai cilpas, mainīgais eksistē tikai tur. JavaScript, ja mainīgais lielums ir definēts iekšpusē, ja nosacījums - iekšā cilpa - tas būs pastāv šī funkcija, bet tas neeksistē ārpus minētās funkcijas. Tā darbības joma ir nedaudz elastīgāku JavaScript un PHP. Ka atbildēt uz jautājumu? OK, kādi citi jautājumi? Mēs varam darīt vēl četras minūtes jautājumu, tad mēs lēkt kodēšanas. Mērķauditorija: Vai mēs ejam uz Ajax un runāt par to, kas tas ir? Jason Hirschhorn: Runā ar Avi pēc. Viņš lūdza šo jautājumu iepriekš. Mērķauditorija: Mana slikti. Jason Hirschhorn: Neraizējieties. Mērķauditorija: Kas tieši ir JSON? Jason Hirschhorn: Kas ir JSON? Kāds ir jūsu jautājums? Mērķauditorija: Tikai ļoti ātri, starpība starp izdrukāt un atbalss PHP. Jason Hirschhorn: Kāpēc jūs google atšķirība starp druku un atbalss? Neliela atšķirība. Ne, ka liels ir galā. Bet jums noteikti vajadzētu google to, un ka došu jums labu atbildi. JSON, iespējams lielāks par darījumu. Stendi JavaScript Object notāciju. Un, kad mēs esam redzējuši JSON tiek izmantota? Ja esat redzējuši - kāpēc jūs pat zināt vārdu JSON? Ja tu esi redzējis? Mērķauditorija: Kad mēs bijām kļūst akciju kotējumus par finansēm. Jason Hirschhorn: Tātad jūs redzēja tas, kad jums bija iegūt akciju kotējumus par finansēm. Un kāpēc jūs to redzat? Mērķauditorija: Kad mēs bijām ielādi visa informācija, kas nāca šajā formātā. Jason Hirschhorn: Tātad jūs varētu saņemt - yeah. Iet uz priekšu. Mērķauditorija: [dzirdams] informācija no objekta? Jason Hirschhorn: Abi no tiem kopā ir atbilde mēs meklējam. Jūs vēlaties informāciju šo citu mājas lapā. Un jūs gribētu cerēt, ka tad, kad jūs esat iegūt šo informāciju, tas būtu iesniegts jums dažu veidu standartizētu formātu. Ikviens ir iespējams, ir iepazinušies ar komatiem atdalītas vērtības. Jūs varat eksportēt Excel izklājlapu vai jebkāda veida izklājlapu kā sarakstu komatu atdalītas vērtības. Un komatus sadalīt visu dažādās jomās. JavaScript Object Apzīmējumi - JSON - ir cita veida standartizētas izkārtojums lietām. Un tas bieži vien ir, kā mēs iegūtu informācija no mūsu Ajax vaicājumiem. Tātad šajā gadījumā, mēs saņēmām to no Yahoo vietā. Viņi atgriežas lietas mums ar JSON objektu. Un tad mēs zinām, ka tas ir standartu, kas tas ir gatavojas izskatās. Tātad, mēs varam atkārtot, izmantojot masīvu kas ir atgriezies pie mums, masīvs objekti, kas atgriezās pie mums. Mums, iespējams, ir nepieciešams zināt, atslēgas, bet tie parasti dod jums dokumentācija mājas lapā, kad ienesat dažas JSON notācija par viņiem. Tāpat jūs varat JSON šifrēt objektu. Tātad tur ir funkcija JSON uzsvērt šifrēt. Un lai jūs varētu veikt objektu, kas Jūs esat izveidojis, JSON šifrēt to un dot kaut ko cits, ja vēlaties. Un JSON atšifrēt arī pastāv Līdzīgs mērķis, vai pretī mērķim. Mērķauditorija: Vai mums ir nepieciešams zināt kodēšanas par hash tabulas un mēģina? Vai arī mēs vienkārši nepieciešams, lai izprastu kā viņi izmanto, konceptuāli? Jason Hirschhorn: Tātad, paaugstināt savu roku ja jūs hash tabulu p noteikts 4 ar saiti sarakstu. Vai p noteikts 5. Tāpēc, ka bija lielākā daļa cilvēku. P noteikts 5, 6, kas zina. Sen. Tāpēc lielākā daļa no jums nebija hash tabulas ar saiti sarakstiem. Un tāpēc, ka tas ir iespējams, vairāk kopēja pieeja, un tāpēc, ka mēs pavadījām daudz laika darot saite sarakstus un hash tabulas, jums, iespējams, būs diezgan pazīstams ar to, kā kodu hash tabulu un saite sarakstu. Un, ja jūs domājat, ka atpakaļ uz šo problēmu uzstādīts, tas nav īsti tik grūti, kā jūs gaidīts. Un tur bija daudz mazāk kods, nekā jūs gaidīts. Es teiktu, ka jums vajadzētu zināt, kā kodu hash tabulu vai saite sarakstu. Ne ka jūs lūgt, ka, obligāti, bet jums vajadzētu noteikti zināt, ka. Tāpat, ja jūs meklēt, izmantojot pagātnes viktorīnas, ir bijuši daudz jautājumi par rakstot funkcijas saite saraksti vai divkārt saistīti saraksti. , Kas, šķiet, nāk klajā katru gadu. Tiesības ievietot uz saites sarakstā, tiesības izdzēst no saiti sarakstā ar peles labo ievietot par divkārt saistīts saraksts, un tā tālāk. Tāpēc, ka es jūtos diezgan komfortabli sakot, jums vajadzētu zināt, ka. Uz mēģinājumu, es teiktu, ka jums vajadzētu noteikti zināt, kā tā darbojas, un varbūt sniegt dažas pseudocode cik ar kodu, un noteikt to uz augšu. Bet tas nebūtu sliktākais lieta pasaule, ja jūs nezināt, kā to kodēt to C. Tas būtu lieliski, ja jums zināja, kā ar kodu to C, bet es domāju, ka iespējams pseudocode par izmēģināt būtu ir visvairāk jums būtu nepieciešams zināt par mēģināt. Mērķauditorija: Extra kredīts? Jason Hirschhorn: Un pats ar, ja mēs iedziļināties bināro meklēšanas koku, jūs varētu vajag - un jūs esat redzējuši agrāk, mēs esam darījuši daudz - jūs zināt, kā bināro meklēšanas koku darbi. Jums vajadzētu, iespējams, varēs iestatīt vienu izveidota pseido kodu. Bet tāpēc, ka lielākā daļa cilvēku nav jādara, kas par problēmu komplekts, es teiktu, ka tas ir iespējams, ir mazāk svarīgi, ka jūs zināt, kā kodu un izveidot koku, piemēram, ka. Kādi citi jautājumi? Arī mēs varam uzdot viņiem visu kā mums iet cauri dažas problēmas. Labi, mēs ejam, lai pārvietotos tālāk. Izlaist šo slaidu tagad. Runājot koku, kas ir pirmais Jautājums man ir par jums puiši. Jo šī ir problēma. Es teiktu, ka tas ir ļoti iespējams, jūs iegūt problēmu, piemēram, šo jūsu viktorīnas lūdzot jums kodu kaut kāda ieliktni veidu, dzēst, meklēt, lai viena veida Datu struktūra, mēs esam redzējuši. Kas nāk klajā katru gadu, un mēs pavadījām Daudz laika otrajā pusē, šajā semestris iet pa šo datu tipu. Tātad tagad, es esmu definējis mezglu bināro meklēšanas koku. Un tas, ko es gribētu, lai jūs to darīt, ir dots bināro meklēšanas koku, kas sākas Šajā mezglā zvaigžņu saknes, pabeigt īstenošana zem funkcijas, kas notiek, find funkcija. Un darīt to ar un bez recursions. Tāpēc es gribu, lai jūs rakstīt divas funkcijas. Viens dara to ar recursion, vienu darot to bez rekursijas. Un nevajag domāt, ka saknes būs ne-null. Tāpēc mēs meklējam skaitlim i koks sākot no saknes, un mums ir nepieciešams rakstīt šo rekursīvi un iteratīvi. Jā. Mērķauditorija: Tātad jūs vēlaties, lai mēs atgriezties true ja mums liekas, un false, ja mēs nav atrast. Jason Hirschhorn: Kā jūs zināt? Kā jūs zināt, ka? Mērķauditorija: Es jautāju pirmo reizi, bet es biju pieņemot, ka tā saka bool at sākums funkcijas. Jason Hirschhorn: Right. Tajā teikts bool, tāpēc man nav pat nepieciešams, lai pateikt, ko es ceru, ka jūs atgriezties jo tā saka labi tur. Bet tas ir labi. Atgriešanās, patiess vai nepatiess. Tātad, pirms jūs sākat, es ieteiktu, Ja Jums ir svešs ar bināro meklēšanas koku, ātri zīmēšanas priekšstatu par to, lai saņemtu savu izpratne, labi. Tas arī palīdzēs jums rakstot jūsu kods un tā pārbaudi. Atkal, jums arī nav, ka daudz laiks viktorīnas darīt visas lietas , ko mēs lūdzam, lai jūs darīt. Lai rakstot pseido kodu ir ļoti noderīga. Un mēs parasti sniedz par - ja pseudocode ir pilnīgi pareizi, tas ir parasti 50% uz jautājumu. Tātad, tas nav grūti un ātri noteikumu, bet, ja Jums tikai rakstīt pseudocode, un tas ir pareizs, tas ir parasti 50%. Tāpēc es vienmēr iesaku - ja jūs spiež laiks, vai pat tad, ja jūs vienkārši mēģina izdomāt it out - sākot ar pseudocode. Un visbeidzot, ja jūs varētu uzrakstīt šo all in C, tas būtu fantastiski. Tātad, pieņemsim trīs minūtes strādāt ar šo programmu. Un tad mēs rakstīt pseudocode to tikai vienu reizi, un pēc tam Mēs ejam, lai kodu to rekursīvi un tad iteratīvi. Ja jums ir kādi jautājumi, droši bezmaksas paceliet roku. Laimīgs staigāt apkārt un atbildēt uz tiem pirms mēs sāktu kā grupa. Ļaujiet mums atsākt, un mēs ejam pseudocode rekursīvas versiju tas, un tad mēs kodu to. Tāpēc rekursīvas funkcijas nepieciešamas divas lietas. Tas varētu būt jautājums, kas Jūs varētu lūgt. Nepieciešamas divas lietas. Kas var paaugstināt savu roku un man pateikt kādas ir divas lietas rekursīvs funkcija ir? Pēc definīcijas tas ir divas lietas. Kas ir šīs divas lietas? Jaunas rokas. Jā, Alden. Mērķauditorija: Tāpēc es neesmu īsti pārliecināts, vai tas ir terminoloģija, bet - Jason Hirschhorn: Es esmu priecīgs jūs paaugstināt savu roku. Mērķauditorija: Tai bāzes lietu, un tai ir rekursīvā soli. Jason Hirschhorn: Perfect. Tas nepieciešams bāzes lietu un rekursīvs solis. Tātad, kas ir mūsu bāzes scenārijs šeit? Mērķauditorija: F root vienāds vienāds null. Žēl, tikai pseudocode, ja tas ir null. Ja sakne ir nulle. Jason Hirschhorn Ja sakne ir nulle. Tas ir lielisks. Tas ir mūsu bāzes scenārijs. Tas ir tas, ko mēs gatavojamies pārbaudīt katru reizi. Un bāzes scenārijs ir Pirmā lieta, ko jūs darāt. Ja jūs hit bāzes gadījumā, jūs esat darīts. Tagad mums ir nepieciešams mūsu rekursīvas zvanu, un es gribētu būtu gatavs bet mums vajag pāris rekursīvas zvani šeit. Jo tas ir koks, un mēs varētu iet vairākos veidos. Tātad, ja sakne ir nulle, mēs esam labi. Ko Jūs ieteiktu? Un tagad es esmu gatavojas sākt nosaucot par jums, puiši, jo es zinu, ka jūs guys visi to zinām. Bet Annie, ko vajadzētu nākamais rindā ir? Ko darīt, ja mēs atradām? Ko mēs darām? Mērķauditorija: Ja mēs atradām? Jason Hirschhorn: Vai kāds tādējādi, ka - iedodiet man pseudocode par līnija, kur mēs atradām. Mērķauditorija: Ja es vienāds sakne i? Jason Hirschhorn: Un tad ko mēs darām? Mērķauditorija: Atgriešanās taisnība. Jason Hirschhorn: Great. Tātad, ja man ir i - ak, viņi abi sauc par i. Kas izpaužas mulsinoši. Bet, ja man ir i atgriezties true. Tas ir iespējams, nākamais lieta, ko mums vajadzētu darīt. Jēga. Labi, tagad mēs neesam darījuši rekursīvā zvanu vēl, lai gan, jo rekursīvas zvans sauktu šo funkciju vēlreiz. Tātad, kas būtu nākamais līnija pseudocode būt? Anna. Mērķauditorija: kreisā puse. Jason Hirschhorn: Specifisku, though. Tas ir bināro meklēšanas koku, lai to, ko tas pārbaudot kreisajā pusē nozīmē? Mērķauditorija: So mezglu - Piedod, saknes. Un tad arrow kreisi. Mezglā, mezglu, sorry. Es neesmu to lasīt pareizi. To sauc mezglā, vai ne? Jason Hirschhorn: To sauks saknes šāds statuss, bet nu tā. Kreisajā pusē - jā? Mērķauditorija: Ja tas nav vienāds i, tad mēs ejam, lai izsauktu funkcija atkal? Jason Hirschhorn: Tieši tā. Ja tā nav vienāda i, mēs ejam , lai izsauktu funkciju atkal. Bet kāda pusē koku mēs ejam , lai izsauktu funkciju atkal? Mērķauditorija: Kreisajā pusē. Jason Hirschhorn: Mēs esam ne vienmēr saukšu to pa kreisi, ja tas nav vienāda to. Mērķauditorija: Ak, piedodiet. Aicināt labi. Jason Hirschhorn: Mēs gribam zināt Konkrētāk, lai gan - atcerieties, kas bināro meklēšanas koku, viss Kreisajā pusē ir mazāka. Viss labi pusē ir lielāks. Tātad, tas ir vienkārši nav - jā, iet uz priekšu. Mērķauditorija: Ja tas ir mazāks nekā i, tad - ja tas ir pa kreisi - Jason Hirschhorn: Tātad, ja ri ir mazāks nekā - Tātad, ja mūsu skaits ir mazāks par i, ko puses mēs vēlamies doties uz? Mērķauditorija: Mēs gribam doties uz labo pusi. Jason Hirschhorn: Mēs gribam iet - ļaujiet man izdarīt ātri koku. Ja tas ir 5, tas ir 3. Tātad, ja ri ir mazāks par pieciem, ko pusē mēs gribam iet uz? Mērķauditorija: Atvainojiet, ko? Jason Hirschhorn: Mūsu skaits ir mazāks kā to mes to meklē tieši tagad. Mērķauditorija: Ak, tad mēs gribam lai dotos uz kreiso pusi. Jā. Piedodiet. Jason Hirschhorn: Tieši tā. Neraizējieties. Bināro meklēšanas koku, viss zemāka pa kreisi, lielāks ir labi. Tātad, ja mūsu skaits ir mazāks par i mēs pārbaudīt - tāpēc, ka jūs redzat mezglā, tas ir i - tad jūs vēlaties, lai iet pa kreisi. Un tas ir viegli vienu. Kas ir tā otra līnija pseudocode mums ir nepieciešams, lai rakstītu? Carlos? Mērķauditorija: Tas pats, jūs vienkārši pārslēgties ka tas ir lielāks nekā zīme un iet uz labo pusi. Jason Hirschhorn: Vai jūs saka to vēl vienu reizi? Mērķauditorija: Ja mūsu skaits ir lielāks nekā es, iet uz labo pusi. Jason Hirschhorn: Excellent darbs uz pseudocode. Darīsim to reālajā kodu. Un atkal, tas pseudocode būs iespējams iegūt jums, jo tas ir pareizi, 50% uz šo jautājumu. Bet tas pseudocode arī pārveido vienu ar vienu, būtībā, par kodu. Tāpēc ļaujiet mums darīt to C. Kas var sniegt man pirmajā rindā kodu? Faktiski, pirmkārt, pirms es to ka, ļaujiet man pull pār - Mērķauditorija: Man ir jautājums. Kāpēc jūs atkāpi line es deva jums? Jason Hirschhorn: Tā Es nevarēju rakstīt. Es nezinu. Tev taisnība. Šī līnija ir tur. Labi, šeit ir mūsu funkcija. Un ļaujiet man pull vairāk, arī, Mūsu definīcija mezglā. Kas notiek, ja mēs neesam rakstīt typedef? Vai kāds zina? Mērķauditorija: Nebūtu sastādīt. Jason Hirschhorn: Tas būtu apkopo, jā. Mērķauditorija: Vai tas vienkārši paziņo, kādu piemēram, tā vietā, padarot to par jaunu tipa jūs varētu deklarēt vairākus gadījumi? Jason Hirschhorn: Tātad tas nebūtu zinu - tas nebūtu vienkārši deklarēt viena veida. Jūs joprojām varētu veikt daudz mezglu. Mērķauditorija: Bet nebūtu mums rakstīt struktūrai mezglu katru reizi? Jason Hirschhorn: Tieši tā. Jums būtu rakstīt struct mezglu katru reizi, tā vietā tikai mezglā. Bet ar typedef, jūs varat vienkārši rakstīt mezglu katru reizi. OK, kurš nav devis - jā, Avica. Mērķauditorija: Ja sakne ir vienāds vienāds null, atgriezties viltus. Jason Hirschhorn: Great, un tas ir mūsu bāzes scenārijs. Nākamais rindā kodu. Kāds, kurš nav devis man koda rindu vēl? Jā. Mērķauditorija: Root arrow i ir vienāds vienāds ar i. Tad atpakaļ taisnība. Jason Hirschhorn: Great. Nākamais rindā? Jā. Kāds cits? Un tad jūs varat doties tālāk. Mērķauditorija: Else ja sakne arrow i ir mazāks nekā i atgriezties funkcija sauc atrast saknes - Jason Hirschhorn: Sorry. Mērķauditorija: Atgriešanās atrast saknes norāda uz kreisi komatu i. Jason Hirschhorn: Tātad, ja ri ir lielāks nekā lieta koku, mēs vēlamies iet pa kreisi? Mērķauditorija: Nē, man bija, ka ieslēgts. Jason Hirschhorn: Kurš? Mērķauditorija: Nē, jā. Man ir mazāk nekā piereģistrēties tur. Jason Hirschhorn: labi, ja ri ir mazāk nekā to, kas ir saknes - Mūsu pašreizējā sakne - tad mēs grib iet pa kreisi. Un, kas ir pēdējā rindā, tu? Mērķauditorija: Būtībā tas pats, izņemot pārslēgties lielāks vai vienāds ar mazāk nekā un kreisās puses uz labo. Jason Hirschhorn: Excellent. Vai kāds ir kādi jautājumi par šo? Tāpēc dažas citas lietas, kas būtu ir pareizi, ka varētu būt-ltiff. Guess, tehniski, neviens no šiem tiešām ir arī jābūt, ltiff. Arī tur ir iespējams, tikai Vienā gadījumā noteikti šeit. Tātad, tas ir iespējams, jūsu pēdējā lieta. Jums pat nav nepieciešams, ka-ltiff. Bet, iespējams, labi, lai rakstītu tā, lai būtu skaidrs. Jā. Mērķauditorija: Tātad jūs nedomāju, viktorīnas - ja mēs kļūdas, piemēram, sintakse - maz sintakses kļūdas - kā tas, kas get veikti viktorīnā? Jason Hirschhorn: Parasti uz viktorīnu, mazs sintakses kļūdas vai mazs stila kļūdas nezaudē jums punktus. Tātad, ja tu aizmirsi semikolu šeit, tas būtu OK. Ja esat aizmirsis aizvērt šo iekavas, tas būtu OK. Milzīgs sintakses kļūdas, kas maina funkcionālā nozīmē jūsu kodu dramatiski, jūs varētu saņemt pacēlies punkti. Vai vispār, vienkārši šķirošanu jums par to, vai jūsu kods funkcijas, pat - ne tā dizains tik daudz, un nevis tā stils. Pieņemsim tagad koda iteratīvs versija atrast. Tātad, tas būs diezgan līdzīgs, bet Ir, protams, būs dažas galvenās atšķirības. Tomēr mūsu pseudocode var droši iet - mēs joprojām var veikt vienu rindiņu pseudocode un skaitlis, ko līnija ir šajā gadījumā. Tātad atkārtotā versijā, ko jūs domājat, Julia, būtu būt pirmajā rindā? Mērķauditorija: Atkal, iteratīvs Būla, Jums ir nepieciešams izveidot uz cilpas, vai ne? Jason Hirschhorn: OK. Mērķauditorija: Tātad, piemēram, K, X ir vienāds ar 0, x ir mazāks nekā i. Vai tās nav, x ir mazāks nekā izmēra koku. Jason Hirschhorn: koks. Tātad mēs īsti nezinām, izmēru koku, un mums nav īsti zināt cik reizes mēs varam iet, lai to, kas ir atšķirīga tipa cilpas, kas varētu būt labāk šajā gadījumā? Mērķauditorija: Ja cits? Jason Hirschhorn: Ja cits nevar būt cilpa. Tātad, kas ir veida cilpas, mēs varam tikai iet, līdz kādu lietu ir izpildīts? Kas ir vienīgais veids cilpas C turklāt par cilpu? Mērķauditorija: gan. Jason Hirschhorn: Lai gan, tieši tā. Jo kamēr cilpa, nav jāzina, kā - kamēr cilpa un cilpa var darīt tieši tas pats, bet jauka lieta aptuveni kamēr cilpa ir mums nav vajadzīga zināt, cik liels mūsu koks. Tāpēc mēs esam gatavojas iet līdz ko? Mērķauditorija: Kamēr tas ir vienāds lielums - Jason Hirschhorn: Nu, tas ir ļoti līdzīgi kā mūsu rekursīva lietu. Tātad - Mērķauditorija: Kaut root i nav vienāds i. Jason Hirschhorn: Tas ir ļoti tuvu. Bet sakne i - pamēģināsim to. Es nedomāju, ka [dzirdams] kur saknes i nav vienāds i. Mums var būt nepieciešams, lai mainītu to nedaudz mazliet, bet izklausās tas ir diezgan labi, tagad. Tāpēc mēs darīsim to. Tāpat arī atcerieties, mēs nevaram pieņemt, par šo jautājumu. Jums nav pieņemt, ka saknes būs ne-null. Tātad, ko jūs domājat, ka ir ļoti Pirmā lieta, ko mums vajadzētu darīt, ir? Mērķauditorija: Just do pašu lieta kā iepriekš. Ja sakne ir vienāds vienāds null, atgriezties viltus. Jason Hirschhorn: Great. Tātad tas varētu būt nulle. Tāpēc mēs vēlamies atbrīvoties par to uzreiz. Un tad mēs ejam pārbaudi, ja saknes i nav vienāda i. Tāpēc, ka mēs esam meklē šajā kokā 3, saknes i nav vienāds i tagad mēs esam mūsu kamēr cilpa. Ko mēs vēlamies darīt? Un atkal, tas būs diezgan līdzīgi kā mūsu rekursīva versiju. Jā. Mērķauditorija: Tātad jūs vēlaties, lai atkārtot vai glabāt iet uz leju koku, kamēr root nav vienāds ar nulli. Jason Hirschhorn: Kamēr root nav vienāds ar null? Mērķauditorija: root domuzīme i nav vienāds ar nulli. Tikai saknes, jā. Kā Kamēr sakne ir nav vienāds ar null. Jason Hirschhorn: Tātad jūs vēlaties mainīt to vērā saknes nav vienāds null? Mērķauditorija: Jā. Mērķauditorija: Mēs varētu apvienot tiem, vai ne? Mums nav nepieciešams, ja sākotnēji. Jason Hirschhorn: Labi, tāpēc, ja mēs Don 't - ja mēs apvienojam tos, tāpēc mēs gatavojamies darīt bet saknes nav vienāda null, un ja saknes notiek, ir null at sākums, ko mēs darām šeit lejā? Mērķauditorija: Atgriešanās nepatiesa. Jason Hirschhorn: Great. Tātad abos virzienos, iespējams, būtu strādājuši. Tas ir atšķirīgs veids, un tas apvieno to. Bet atkal, ja jūs vai nu veidā, mēs esam nav gatavojas pacelties dizains norāda uz viktorīnas. Bet tas izskatās labi. Tāpēc, kamēr saknes nav vienāds null, kas ir pirmais lieta, ko mēs gribam, lai pārbaudītu? Kāds cits? Null, kas ir pirmā lieta? AUDITORIJA: Ja ri ir mazāks nekā - Ak, es domāju, ja mēs jau found to saknes. Tātad, ja root arrow i ir vienāds ar i - Jason Hirschhorn: Sorry? Mērķauditorija: Ja sakne arrow i ir vienāds vienāds ar i - Jason Hirschhorn: Ko mums darīt? Mērķauditorija: Atgriešanās taisnība. Jason Hirschhorn: Great. Un ko tālāk? Jeff, kas ir nākamais rindā kodu? AUDITORIJA: ja i ir mazāks nekā sakņu bultas i, tad sakne ir vienāda sakne bultiņas pa kreisi. Jason Hirschhorn: Sakņu vienāds saknes arrow kreisi. Tātad tas ir iespējams, lielākais Atšķirība šajā iteratīvs versija, atšķirībā no rekursīvā versija. Rekursīvā versija, mēs atkārtoti izsauktu funkciju. Mēs atjaunināšanu saknes, kad mēs saucam par jaunu funkciju. Šeit mēs esam ne aicinot jaunu funkciju. Mēs vienkārši vienkārši atjaunināšanu saknes šo funkciju. Tas ir lielisks. Un kāda ir pēdējā rindā kodu? Jā, Mario? Mērķauditorija: Else sakņu vienāds saknes arrow labi. Jason Hirschhorn: Sorry? Mērķauditorija: Sakņu vienāds saknes arrow labi. Jason Hirschhorn: Vai jums arī rakstīt kaut kas līdzīgs šim? Mērķauditorija: Man nav ne jausmas. Jason Hirschhorn: Jūs nevarat. Jūs nevarat darīt plus vienāds. Labi, lai tas izskatās labi. Kāpēc ne mēs tikai darīt tīrīt to uz augšu. Tas izskatās lieliski, un tas strādā. Un mēs varētu izcelties. Ja sakne kreisi bija null vai saknes tiesības bija nulle, mēs varētu nākt klajā šeit. Saknes būtu vienāds ar null. Mēs gribētu izkļūt no mūsu cilpas, un mēs gribētu atgriezties viltus. Tātad, kad mēs izkļūt no cilpa, mēs atgriežamies nepatiesa. Un atkal, kamēr cilpa bija perfekta šeit, jo mēs nezinām, cik liels mūsu koks ir. Mēs mēģinājām rakstīt par cilpu, bet mēs sapratu tev izdomāt, kā liels tas ir pirms laika. Jā. Mērķauditorija: Ja tas tā nebūtu binārā meklēšanas koks, tas būtu reāls math-y rakstīt to iteratīvi, vai ne? Tāpat kā, ja tas bija koks, bet ne vienmēr - tāpēc tas nebija viss mazāka pa kreisi, un visi lielāks labajā pusē. Tas būtu patiešām grūti atkārtot pār to, vai ne? Mēs ir, lai saglabātu to, kas bija agrāk par kokā un iet atpakaļ, un sīkumi, piemēram, ka. Jason Hirschhorn: Ja tas nav binārā meklēšanas koks, ja tas bija tikai koku un lietas nav sakārtoti kā šis - un mēs sapratām, agrāk, kad Anna bija palīdzēt mums, ka padarot to šķiroti palīdz mums daudz - mums būtu nepieciešams, jā, vienmēr saglabājiet kur mēs bijām agrāk. Bet tur varētu būt daudz kur mēs bijām previouslys. Tur varētu būt daudz vecāka mezgliem. Iespējams, labākais veids, kā to darīt, būtu ir saglabāt stumšanas lietas uz dažām kaudze vai rindā veids. Jūs nekad ir nepieciešams kods šo jo tas ir grūti problēma. Bet jūs push dažas lietas uz kaudze vai rindas, un tad pop tos off, un Pēc tam tos izvērtēt. Un tad ir kāda cita lieta, ja jūs faktiski liekot mezglu, un tad izveidot, un tad meklēt, izmantojot to. Tas varētu būt labākais veids, kā to darīt. OK, kādi jautājumi par šo problēmu? Mērķauditorija: Tas ir par saistītu piezīmi. Mums būs salīdzināt palaist reizes par hash galdi, bināro meklēšanas koki, un tā tālāk? Jason Hirschhorn: Droši vien. Tāpēc pieņemsim to, kas tiešām ātri. Run laiks hash tabulu - kādi ir citi? Bināro koku? Mērķauditorija: Link saraksti. Jason Hirschhorn: Labi, pieņemsim do ieliktni. Kas ir liels O ieliktņa uz hash tabulu? Kas ir pieņēmumi jūs gūstat? Mērķauditorija: Jūs esat ievietojot tajā sākumā saite saraksta. Jason Hirschhorn: Iespējams, pirmais pieņēmums ir, ka nav sadursmes. Ja nav sadursmes, tad ievietošanas laiks ir viens. Ja pastāv sadursmes, un jūs darot atsevišķi aprēķinot ķēžu un ievietojot sākumā saite saraksta tad ievietošana ir arī nemainīgs. Ja jūs darāt hash tabulu, bet jūs ir dažādas metodes, kas nodarbojas ar sadursmēm, kas ir citu metodi? Kas ir atšķirīga metode nodarbojas ar sadursme ar hash tabulu? Mērķauditorija: Linear programmēšana. Jason Hirschhorn: Linear programmēšana. Tātad, mēs ejam, lai saglabātu meklējat nākamo atvērtā vietas. Tas nav konstants ievietošanas laika. Jūs varētu iet cauri visu tabulu, lai varētu būt liels O n. Jā. Mērķauditorija: Pretējā tikai ķēžu? Jason Hirschhorn: Mēs darījām atsevišķa Ķēžu. Tas bija pirmais. Tas ir tas, ko saite sarakstā. Fancy nosaukums ir atsevišķa Ķēžu. Tas varētu būt jebkāda veida saraksta struktūra mēs gadās darīt saite sarakstā. Tātad vēlreiz, ievietošana uz hash tabulu varētu būt nemainīgs laiks. Kas par ievietošanas par krāvējs rindā? Mērķauditorija: Vai tas nav pastāvīgs? Jason Hirschhorn: Tas ir nemainīgs laiks. Jūs vienkārši spiežot to. OK. Ievietošanas, kādi bija citi tiem? Uz izmēģināt? Kas ir liels O pievienošanai izmēģināt? Mērķauditorija: garums ir nemainīgs. Garums visilgāk - garums vārda jūs ievietojot. Jason Hirschhorn: Sorry? Pagaidiet, lai to, ko gan es dzirdu? Jūs teicāt - ko tu teici? Kāds bija jūsu atbilde, Marcus? Mērķauditorija: vārda garums jūs ievietojot burtiem, pieņemot, ka tas ir raksturs mēģināt. Jason Hirschhorn: OK, lai garums vārda. Mēs izdarīt pieņēmumu, ka tas ir rakstzīmju virkne. Jūs teicāt kaut ko citu, lai gan. Jūs teicāt, garums garākā vārda. Mērķauditorija: Tas ir tikai nemainīgs, vai ne? Jason Hirschhorn: Kāpēc būtu tas ir nemainīgs? Mērķauditorija: Tāpat, ja jūs izmantojat Big O apzīmējums, tad tas nav mainīties atkarībā par vairākām lietām, kas ir jau mēģināt. Jason Hirschhorn: Tātad, mēs būtu saka, tas ir nemainīgs laiks. Tas ir nemainīgs ievietošanas, un tas ir tāpēc, ka šī ideja - saka, ka mums ir vārds, kas ir 45, vai vārds, kas ir 60, ka ir konstants numuru. Un tas būtu tikai jāievieto pastāvīgā laikā. Tomēr praksē tā nebūtu, protams, notiek vienu milisekundi, piemēram. Bet mēs teiktu liels O ir konstante izmēģināt. Un tas ir viens no tās lielākajām priekšrocībām. Kas par ievietošanas saite sarakstu? Tikai vispārējs, sakārtoti saite sarakstu? Jā. Mērķauditorija: Man bija jautājums. Par testu, tas viņiem nekad jautājiet mums par ievietošanas laika tas ir četri soļi, vai kaut ko? Vai tas ir tikai - kad jūs sakāt ievietošanas laiks ir viens, tas tikai nozīmē pastāvīgu laiku? Jason Hirschhorn: Jā, tie būtu vienmēr jautāt, tas ir liels O n? Big O log n? N kvadrātā nemainīgs. Tie ir tiešām vienīgais tie, kas jums jāzina. Kas par ievietošanas uz sakārtoti saite sarakstu? Mērķauditorija: Man bija jautājums - jautājums - Jason Hirschhorn: Kāda ir atbilde uz šo jautājumu, lai gan? Mērķauditorija: Pagaidiet, ko jūs lūgt? Jason Hirschhorn: Kas ir liels O ievietošanai sakārtoti saišu sarakstu? Mērķauditorija: One? Nav jāgaida, nav jāgaida, n. Jason Hirschhorn: N. Bez saite sarakstā. Un kāda bija jūsu jautājums? Mērķauditorija: Tātad jūs rakstīt o k vai Ö 1 pret - Jason Hirschhorn: Ak. Es varētu rakstīt o 1, droši vien. Tur bija viens cits datu struktūra ka būtu bijis labi. Koks, bināro meklēšanas koku. Kas pievienošanai bināro meklēšanas koku? AUDITORIJA: Pieteikties. Jason Hirschhorn: Tātad, kas ir vissliktākais gadījums bināro meklēšanas koku? Tātad, ja mēs notikt sākas 5, un ik skaits ir lielāks par 5, tad mēs esam ieguvuši 5, 7, 9, 11, un tā tālāk. Šajā gadījumā, tas ir būtībā tikai saite sarakstu, un mums ir nepieciešams, lai ievietotu visu kā beigās. Tātad, tas ir liels O n. Tas varētu būt mūsu sliktākās par bināro meklēšanas koku. Protams, jūs nekad būvēt bināro meklēšanas koku ar 5 vidū, zinot 5 būtu ir vismazāk. Bet tas varētu būt, ja jūs sākot no nulles. Visus jautājumus par to, pirms es pāriet uz citu jautājumu? Tas bija labs jautājums. Es gribētu zināt, Big O no - Mērķauditorija: Kas par meklēšanu tiem četriem? Jason Hirschhorn: Noteikti mums tomēr meklēšanu un kārtošanu. Mēs to darījām visus šos algoritmus, labi. Gaidīt, bija tas, ka par Viktorīna 1? Bija tas, ka uz - Jūs jau būt, ka Jautājums par Viktorīna 1? Liels O runtime bināro meklēšanu, ievietošanas veida, burbulis šķirot? Mērķauditorija: Jā. Jason Hirschhorn: Ja jums bija, ka Jautājums par Viktorīna 0, izredzes ir, jums nebūs saņemt to pašu precīzu jautājumu par Quiz 1. Varētu būt vēl labi zināt tiem. Jums vajadzētu cerams zināt GH jau. Bet citi logaritmisko runtimes iespējams labi zināt. Lietas, kas nebija nosegtas ar Viktorīna 0. Tāpat kā visiem šiem operatoriem šie abstrakti datu tipi. Labi, pieņemsim pāriet. Tas viens ir diezgan ātri. Un šī ir jauna valoda, mums nav faktiski kodēti pirms tam. Tas ir jautājums, jautā ar kodu PHP. Tāpēc uzskatu, ka PHP masīvs zemāk. Rakstīt PHP un / vai HTML kodu, piemēram, ka tā izvada divu kolonnu tabulu ar TFS nosaukumi un māju. Jūs esat nekad nav darījuši agrāk, šo konkrēto problēmu. Bet tas būtu ļoti pazīstams ko jūs ar problēmu noteikts 7. Tāpēc es būtu gatavs derēt, jums būs lūgts kodu kaut ko, PHP, kas ir ļoti līdzīgs tam, ko jūs darīja problēma noteikti 7. Pirmkārt, masīvs nav tik īpaša. Kāda no masīva veida tas ir? Mērķauditorija: asociatīvā. Jason Hirschhorn: Ir asociatīvā masīva. Un kāda ir atšķirība starp asociatīvā masīva un objektu? Mērķauditorija: objekts masīvs ir indekss veseli skaitļi, un asociatīvā masīva ir indekss virknē, vai kaut kas tamlīdzīgs. Jason Hirschhorn: Tik masīvs priekšmeti būtu rādītājus veseli skaitļi, bet objekts ir lauki. Tas ir šajās jomās nosaukumi, piemēram, nosaukums, mājas, students. Vai jums ir ideja? Mērķauditorija: Nu, asociatīvais masīvs ir PHP, vai ne? Un objekts ir JavaScript? Jason Hirschhorn: Godīgi sakot, nav reālā atšķirība starp diviem. Abi ir virknes, kā atslēgas, un var ir būtībā kaut kā vērtību. Dažādas valodas piezvanīt kādai lieta asociatīvā masīva, viena lieta objekts. Tā godīgi, nav reāla atšķirība, bet tur, protams, daži sintakses atšķirības starp diviem. Jā. Mērķauditorija: Tā ir objekts kodēta arī saskaņā hood kā hash tabulu, tad? Jason Hirschhorn: Ko jūs domāju, kodēti ar kapuci? Mērķauditorija: Mums teica, ka asociatīvā masīvs bija tehniski hash tabulu. Tā ir objekts arī tehniski hash tabulu? Jason Hirschhorn: Es neesmu gatavojas atbildēt uz šo jautājumu. Es nokļūt atpakaļ uz jums par to. Bet es nedomāju, vai nu no tiem, piemēram, ka. Bet, kas jebkādā veidā, asociatīvā masīva un objekts, parasti cilvēki izmanto tos terminus aizstāt. Šajā gadījumā cool daļa ir tā, jūs varat izmantot taustiņus. Stīgas, atslēgas, nevis tikai vienkārši numuri. Tāpēc es esmu runājis par šis awhile. Cerams, ka daži cilvēki ir gotten sākās šo. Mēs ejam, lai uzrakstīt kādu PHP un HTML kods, piemēram, ka mēs iegūtu divu kolonnu galds ar TFS nosaukumiem un māju. Labi, es arī gribētu iesākumu rinda uz šajā tabulā. Tāpēc es esmu gatavojas saņemt tieši uz to. Mēs ejam uz failu, jaunu, un mēs ejam - OK. Kā es varu sākt galda? Kas ir tag, Michael, lai sāktu tabulu? Mērķauditorija: Tabula. Jason Hirschhorn: Tabula. Un, ja es atvērtu tagu, ko vēl man vajag? Mērķauditorija: galva? Vai, es domāju, klases. Jason Hirschhorn: Tātad, sorry. Pieņemsim, ka mēs esam jau rakstīts doctab, HTML, visu, kas stuff. Bet, ja es atveru šo tabulu tagu, ko vēl man vajag rakstīt? lai apstiprinātu HTML? Mērķauditorija: Aizveriet to. Jason Hirschhorn: Aizveriet tagu. Kā es varu uzrakstīt tuvu galda tag? Mērķauditorija: Dot slīpsvītra tabulu. Jason Hirschhorn: Slash tabulu, lieliski. Iespējams, ir jēga rakstīt gan no tiem kopā, jo tev to darīt. Labi, ja es gribu galvenes rindu, kā darīt Es rakstīt galvenes rinda ar nosaukumiem? Mērķauditorija: Vai tas ir mazāk par 10 h tuvu - TR, jā. Jason Hirschhorn: TR? Mērķauditorija: Tad tas pats, slīpsvītra, jā. Jason Hirschhorn: OK, un man divas kolonnas. Mērķauditorija: T D? Jason Hirschhorn: OK. Es gribu divas kolonnas. Vai tas dod man divas kolonnas? Cik kolonnas tas ir? Viens. Tā ļauj kopēt un ielīmēt to. Tik tiešām, uz viktorīnu, viss šis kods ka mēs esam rakstīts līdz šim bija faktiski dota jums. Bet jūs, iespējams, joprojām zināt, kā rakstīt to. Jā. Mērķauditorija: Jūsu māja ir starp diviem. Jason Hirschhorn: Boom. Tam vajadzētu iet labi tur, labi? Labs zvanu. Tātad vēlreiz, viss šis kods ir faktiski dota jums par faktisko viktorīnas. Bet tas ir jautri rakstīt to, un jūs vajadzētu zināt, kā rakstīt to. Tātad, tas ir, ja jums ir nepieciešams, lai sāktu savu kodu. Kas mums ir nepieciešams, lai rakstītu tieši šeit? Sorry, man ir nepieciešams, lai mainītu sauc šo failu. Tātad mēs saglabāti to a. HTML failu, ne a. PHP failu. Šīs lietas nozīmētu neko a. PHP failu. Tāpēc mēs esam tādā. HTML failu. Kas ir pirmā lieta, Man vajag rakstīt? Es gribu, lai kādu PHP kodu HTML. Mērķauditorija: PHP, piemēram, citu burkānu un jautājuma zīme PHP, vai ne? Jason Hirschhorn: Great. Un kā es varu beigt, ka? Mērķauditorija: Ar jautājuma zīmi. Jason Hirschhorn: Tas ir lieliski. Kas ir pirmā lieta, man ir nepieciešams, ja es gribu izvirzīti daži PHP kodu šeit. Mērķauditorija:. Es domāju, PHP failu varētu veikt HTML. Jason Hirschhorn: Jā. . PHP failu var veikt dažus HTML un parādīt. Tas bija mans slikti. Man bija tikai mēģina imitēt kas tas bija par viktorīnas. OK, sorry, lai maldinātu jums. Jā, practice.HTML. Tagad mēs esam gatavojas nodot dažas PHP koda collas Kas ir pirmā līnija PHP koda man vajadzētu rakstīt? Es esmu gatavojas iet caur šo masīvu un padarīt to par tabulā. Jā. Mērķauditorija: Jūs varat vai nu izmantot H sakaru līnijai vai par cilpu. Jason Hirschhorn: OK, kāda Vai jūs vēlaties izmantot? Mērķauditorija: es varētu izmantot, lai cilpu. , Un pēc tam jūs dolāra zīmi i ir vienāds ar 0 semikolu dolāru parakstīt i mazāk nekā 2. Un tad semikolu i dolāru paraksta i plus plus. Jason Hirschhorn: Kā jūs zināt, lietot 2? Mērķauditorija: Jo tur bija divi asociatīvas bloki ietvaros lielāka asociatīvā masīva. Jason Hirschhorn: Tik lielā lieta ir nav asociētā masīvs. Lielā lieta ir tikai normāli masīvs. Bet tev taisnība, tur ir divi asociatīvas bloki iekšpusē mūsu lielākā masīvs. Tas ir iemesls, kāpēc jūs izmantojat divus. Es jūtos neērti, pieņemot, ka viņi ir 2, tāpēc to, kas ir veids, kā rakstīt Tas bez pieņemot, ka viņi 2? Mērķauditorija: [dzirdams]? Jason Hirschhorn: OK, kā Jūs rakstāt, ka? Mērķauditorija: Foreach dolāra zīmi TFS vai līdzīgās dolāra zīmi tf. Jason Hirschhorn: Labi, tāpēc par katru TFS kā TFS, es gribu tagad atkal ir mana galda. Tātad, kas var sniegt man Nākamais rindā kodu? Mērķauditorija: Print, un pēc tam citāti, kronšteinu tr beigas kronšteins, gala cenas. End iekavas, semikolu. Jason Hirschhorn: OK, un to, ka gatavojas darīt? Mērķauditorija: Tas būs teikt, jaunu rindu. Tas notiek, lai atzīmēt jaunu rindu. Jason Hirschhorn: labi, tas PHP, piemēram, mēs runājām par agrāk - tas PHP tiks novērtēti, un pēc tam tas notiek, lai izdrukātu šo failu a galda pakulas, un tad HTML vērtēs. Mēs esam tikai kopējot šo HTML mums bija šeit. Jā. Mērķauditorija: [dzirdams]? Jason Hirschhorn: Sorry? Tas ir labi šeit. Fall 2012. Nav apskatīt atbildes, pieņemsim atrisināt kopā. Tāpēc mēs drukāt tabulas rindu. Tātad, jūs, iespējams, swing lietas. Kas ir nākamais līnija kodu, mums ir nepieciešams, lai rakstītu? Assam, iedodiet man nākamo rindiņu kodu. Mērķauditorija: Jums ir nepieciešams TF vārdu. Tf atvērta kronšteini pēdiņas nosaukt slēgtās iekavās. Jason Hirschhorn: Dod man savu vārdu. Mērķauditorija: Jums ir nepieciešams izdrukāt to. [interposing BALSIS] Jason Hirschhorn: OK, kā es varu izdrukāt to? [interposing BALSIS] Jason Hirschhorn: Es esmu trūkst kaut tagad. Kas man trūkst? Mērķauditorija: Jums ir nepieciešams dolāra zīmi. Jason Hirschhorn: Kas vēl man trūkst? Viss, ko mēs esam uzdrukāts līdz šim ir tr. Mērķauditorija: Aizveriet tr pēc tā. Jason Hirschhorn: Tāpēc mums ir nepieciešams lai pēc tam aizvērtu tr. Kurš redz to, ko mēs esam trūkst 16 rindā? Jā, Anna. Mērķauditorija: Jums ir nepieciešams, lai atvērtu td un cirtaini bikšturi. Jason Hirschhorn: Un kur Vai mēs ieliekam cirtaini bikšturi? Mērķauditorija: Ap tf nosaukumu. Jason Hirschhorn: Tāpat kā šī? Mērķauditorija: Jā. Un pēc tam aizveriet TD. Jason Hirschhorn: piemēram, ka? Mērķauditorija: Vai jums ir nepieciešams dubultā citāts zīmes blakus cirtaini lencēm? Jason Hirschhorn: Tieši šeit? Nē, jums nav. Tātad tas ir tieši labi. Jā. Mērķauditorija: Tātad atšķirība starp to, kas un encatenating ar punktiņiem, ir, ja Jūs izmantot punktus, jūs ir jābūt pēdiņās, tad dot, tad dot - Jason Hirschhorn: Pareizi. Tātad jūs sakāt, ka ir galvenais veids, kā rakstot to, piemēram, ka. Kas konkatenācijas operators JavaScript? Mērķauditorija: plus zīmi. Jūs aizmirsu nodot cirtaini lencēm atpakaļ. Jason Hirschhorn: Great. Un tur ir vēl viena rinda Koda trūkst. Kas var dot man pēdējā rindā Koda mēs esam trūkst? Mērķauditorija: Just tieši tas pats, tikai ar māju, nevis vārda. Liels Jason Hirschhorn: Great. Un jūsu sintakse ir tieši labi, lai iegūt lietas asociētā masīvā. Tā faktisko viktorīnu, jūs esat faktiski sniegta līdz šeit. Tāpēc šis kods ir dota jums. Viss, kas jums bija rakstīt tās bija četras un atcerēties aizveriet tabulu tagu. Jūs puiši tiešām izdarīja visu, un vairāk. Jā. Mērķauditorija: Tātad tas būtu funkcionāli Tas pats, ja jūs tikko bija, ka viss viens liels drukas zvans, vai ne? Un tad tikai saliktās tā tālāk, un tā tālāk? Jason Hirschhorn: piemēram, ka? Mērķauditorija: Jā. Tas vienkārši nav izskatās labi, ja būtu skatoties uz to, kad jūs pārbaudīt elements jūsu mājas lapā, vai ne? Jason Hirschhorn: Es piekrītu. Ja es ielādes šo tīmekļa lapu, es būtu iespēja redzēt šo PHP kodu, nekad? Mērķauditorija: Nē. Jason Hirschhorn: Nē. Un patiesībā, es nebūtu. Mērķauditorija: Tas nav HTML, vai ne? Lai jūs varētu - Jason Hirschhorn: Tātad šis PHP būtu jānovērtē servera pusē. PHP tiek vienmēr vērtēta servera pusē, tāpēc jūs nekad varētu redzēt PHP kodu. Mērķauditorija: Bet jūs varēsiet redzēt rezultātu izdrukas. Jason Hirschhorn: Right. Un godīgi varētu nebūt nodot to visu uz līnijas. Tas varētu formatēt to labi, lai jums, vai tas varētu nodot to vienā rindā. Neskaidrs. Bet jā, labs punkts. Mērķauditorija: Kā tas nākas, tur ir nav teksta izcelšana jebkura no PHP komandas? Jo es atceros redzēt to. Jason Hirschhorn: Tā tas ir . HTML failu šeit augšā. Tur jums iet. Mērķauditorija: Ja mēs darījām sākotnējo metodi ar cilpas, labi, ja mēs vēlējās piekļūt TFS, būtu mēs do TFS kronšteins 0 kronšteinu, tad [Dzirdams]? Jason Hirschhorn: Jūs būtu - lai jūs sakāt, lai uz cilpas, jūs darītu dolāra zīmi TFS grupā 1 vai es, labi. Vai dolāra zīmi i tuvu kronšteinu un tad kvadrātiekavas pēdiņas, jā. Labi, lieliski. Mums ir vēl viens ātrs vienu. Septiņas minūtes, tāpēc es gribu lai iet pa šo vienu. Tas ir vēl viens piemērs. Tagad mēs esam pilnīgi cita valoda. Mums ir dažas HTML kodu. Tas ir sava veida maza uz ekrāna, bet Es gribu, lai jūs skatīties caur to patiešām ātri, un var man kāds pateikt, ja man bija ielādēt šo tīmekļa lapu, tas, ko es vēlētos redzēt? Aprakstīt visu par Šajā mājas lapā. Noah? Ko es gribētu redzēt? AUDITORIJA: Code pie priekšējā galā Google ar izjūtu tekstu un iesniegšanas pogas. Jason Hirschhorn: Un ko būtu poga teikt? Mērķauditorija: Iesniegt. Ak, meklēt. Piedod. Jason Hirschhorn: Tas teiktu meklēšanu. Atcerieties,. Nosaukumu Ko mēs izmantojam nosaukums? Šis nosaukums atribūts, kas ir ka lieto? [interposing BALSIS] Mērķauditorija: Tas ir tā nosaukums , kad tas ir uzklikšķināt? Jason Hirschhorn: Tas varētu būt. Bet tas, ko mēs parasti redzēt - kāpēc mēs sniedzot šo vārdu rindā? Kāpēc mēs redzam, ka? Jā. Mērķauditorija: Vai nav, ka kļuvis indekss par super pasaules mainīgais? Jason Hirschhorn: Jā, parasti gadījumos, kad Šī veidlapa būtu jāiesniedz, un pēc tam, kad būtu tas jāiesniedz? Kas lapa? Noah, kas lapā būs tas iesniedz? Mērķauditorija: Es neesmu pārliecināts. Jason Hirschhorn: Kur mēs varētu atrast to? Ja jūs atradīsiet to, ko page tas iesniedz? Kas līnijas kodu? Mērķauditorija: darbības forma. Jason Hirschhorn: Tieši tā. Darbība. Tātad, tas norāda uz meklēšanas lapu. Slīpsvītru meklēšanu. Tātad tas ir tieši labi. Kādas metodes? AUDITORIJA: Get. Jason Hirschhorn: Get. Tieši tā. Tāpēc mēs lasām šo. Tas būs formā. Tu esi tieši labi. Divas lietas, par formu, nosaukumu lapā un top būtu Google. Tātad, šeit ir divi jautājumi, jums vajadzētu jāspēj atbildēt par šo lapu. Ja tas HTML dzīvo šajā mājas lapā, un lietotājs ievada kļūdu šajā tekstā lauka tepat, kāda URL būs lietotājam atrast sev pēc Iesniedzot šo veidlapu? Tāpēc mums ir šīs tiesības šeit. Es esmu gatavojas doties atpakaļ uz šo lapu, though. Es rakstīt šo pirmo daļu. Var ikviens redzēt nekā šeit? Labi, Mario, jūs domājat, ka jūs zināt? Kas lapa? Mērķauditorija: Reversā slīpsvītra meklēšanu. Jason Hirschhorn: Es eju lai pārvietotos uz leju šeit. OK, reversā slīpsvītra meklēšanas jautājums zīme q ir vienāds kļūdu. Kāds ir cits ieteikums? Jā. Tātad, kā mēs saņemt šo? Nu, mēs esam redzējuši šo pirms. Un jūs nāca klajā ar šo agrāk. Jums bija taisnība, Noah, ka darbība ir stāsta mums to, ko lapa mēs ejam. Mēs arī zinām, kāda metode. Mēs darām get. Un atšķirība starp GET un POST ir tas, ka iegūt parāda URL un pēc nav. Tātad, ja es uzrakstīju post turpat metode, kas būtu atšķirīgs? Mērķauditorija: Tas būtu tikai būt slash meklēšanu. Jason Hirschhorn: Tas būtu vienkārši slīpsvītra meklēšanu. Nekas vairāk nekā šeit varētu notikt. Bet tāpēc, ka tas ir iegūt, URL tiek parādīta šādi. Vispirms mēs redzam jautājuma zīmi un mēs redzam vārdu un vērtību. Saka, tur bija vēl viens teksta lauks un Man bija tā nosaukumu R un I ievade vērtību, kāpurs. Kas būtu tas izskatīsies? Man ir vēl viens teksta lauks, es dodu nosaukums, r un vērtību kāpurs. Mērķauditorija: Pēc bārā jūs ir Ampersand kāpurs. Jason Hirschhorn: Tas ir nav Ampersand. Mērķauditorija: Vai tikai kāds un simbols. Jason Hirschhorn: Jā, nē. Jums bija taisnība, man nebija taisnība. Tas ir tāpat kā g. Mērķauditorija: Caterpillar. r ir vienāds Caterpillar, sorry. Jason Hirschhorn: Vai pastāv nē r tur? Mērķauditorija: Nē, nav. Jason Hirschhorn: Mēs runājam par to, ka pēc klases. Tas ir tieši labi. Tik un tā ir pareiza. Un tad jūs varētu būt daudz no tiem, un viņi visi ir saliktās kopā ar to un. Tātad tas ir tieši labi. Tur ir vēl viens jautājums. Ieskicēt šo HTML ir DOM, sākot ar dokumentu. Mēs varētu darīt, ka divas minūtes. Mēs darīsim to vairāk šeit. Es iešu atpakaļ uz šo mājas lapu. Labi, mēs sākam ar dokumentu. Ko tālāk? Tātad, ja jūs lasāt cauri - Mērķauditorija: HTML. Jason Hirschhorn: HTML ir blakus. Mēs ejam, lai iet tag pēc birkas. Kas pēc HTML? Mērķauditorija: Head. Jason Hirschhorn: vadītājs. Kas ir aiz galvas? Mērķauditorija: nosaukums. Jason Hirschhorn: nosaukums. Un nosaukums ir vērtība Google, bet es neesmu gatavojas raksta, ka tagad. Labi, ja tas ķermenis iet? Mērķauditorija: Arī nāk nost no HTML. Jason Hirschhorn: Tieši tā. Ķermenis nāk nost no šejienes. Vai visi redzēt, kāpēc tas gadījums? Jums vajadzētu, iespējams, varēs izrēķināt šo, arī pat tad, ja man nav Šis jaukais iespiedumiem. Iespieduma veida dod to prom, bet jūs varat redzēt, ka galva tag ir ir slēgtas, kas nozīmē, ka mēs, iespējams, nevar iet uz leju šeit. Mums ir nepieciešams, lai dotos atpakaļ uz augšu, lai kāds bija tieši pirms galvas tag, vai saskaņā ar to. Mēs esam pat ar galvu tag. Un zem ķermeņa iet formā. Saskaņā ar formu, ir divas ieejas. OK. Tas ir viss, ko es saņēmu. Viktorīna 1 ir rīt. Es esmu tik satraukti, lai jūs puiši. Tas būs sprādziens. Ja jums ir - Mērķauditorija: [aplausi] Jason Hirschhorn: Ak stop, stop. Bet nē, es esmu kidding. Ja Jums ir kādi jautājumi, vai ne pēc iedaļas, es būšu ārā. Ja Jums ir kādi jautājumi šovakar, zvaniet, e-pastu, gchat, pasta balodis mani. Good luck rīt. Ir brīnišķīgi Pateicības pārtraukuma, ja es neredzu jums pirms tam. Un es tevi redzēt pēc Pateicības otrdiena mūsu galīgais sadaļā puse jebkad. Mērķauditorija: [nedzirdama]. Jason Hirschhorn: Great. Labi, es redzu, ka jūs guys blakus nedēļas laikā, vai divu nedēļu laikā. Un veiksmi rīt.