[MUZIKO Ludante] SPEAKER 1: Bone, ĉiuj. Bonvenon al via lasta sekcio kun mi. Jam pasis tute semestro. Mi ne povas kredi ĉi estas, kiel, semajno 12 aŭ 11, iel simile. Sed ĉar ĝi estas nia lasta sekcio, ni havas multajn dolĉaĵoj. Kaj mi tuj provos kaj Prep vin tiel kiel mi povas por via kvizo merkrede. Do probable ne la plej bona maniero, kiel, fine sekcio kun kvizo revizio. Sed ni provos kaj fari ĝin amuza. Kaj ĉiam dolĉaĵoj. Do espereble, ke faros ĝin pli bone. Via kvizon tuj estos bela multa la sama aĵo kiel Kvizo Nulo. Ĝi tuj estos la sama formato, sama longo. Vi estos en ĉambroj disĵetitaj trans campus, ĉar tie proksimas al 900 de vi, kaj ni ne povas cxiuj opinias vin en ĉambroj kiel ĉi. Do nepre rigardu ĉiuj la Kvizo Unu dokumentado Enreta ĉe cs50.harvard.edu ĉinokte aŭ morgaŭ nokte. Certiĝu vi scias kie vi estas irante, kion vi bezonas por porti. Vere, vi nur bezonas alporti mem kaj krajono, kaj vi devus esti bone. La demandoj estos tre tre la sama. Tie verŝajne paro multnombraj elekto, paro mallonga respondo, iu kodigo, eble iuj vera / malvera, egalante specoj de aĵoj. Do vi ne devas tro surprizita de la formato. Kio povas esti mirinda estas la longo, kiu, en antaŭaj jaroj, estis multe pli longaj. En mia jaro, mi ne havas solan amikon ke memoro finante la ekzameno. Esas kiel multnombraj paĝoj entajpas nenion. Do la longeco povas esti ia disorienting ĝuste ĉar en iuj jaroj, ĝi havas estis multe pli longa ol Kvizo Unu. Mi havas neniun ideon kio ĝi estas Tuj Estos kiel tiu jaro, sed ĝi estas io esti konscia de. Aldone, la difficulty-- personoj inklinas trovi Kvizo Unu multe pli malfacila ol Kvizo Nulo. Denove, sciu, se vi speco de marŝante el sentante iom maltrankvilaj ĉar vi ne faris tiel kiel vi pensis vi aŭ vi sentas kiel vi ne faru tiel kiel vi faris en Kvizo Unu, memoru ke estas probable Multaj aliaj homoj sentas ke vojo. Mi estis definitive unu el tiuj homoj. Kvizo unu, kiel, ĵetis min por banto. Kaj miaj amikoj havas tiun grandan bildo de ilin ĉe JP Licks ia kun tiuj grandegaj sundaes, estante kiel, Kvizo Unu, kaj rigardante kiel ili estas en larmoj. Do estas ĝenerala sento. Ĝi estas malmola provo, ĝi estas malmola kvizo. Evidente, se vi elvenis kaj vi sentas vin lulas ŝin, por vi. Sed scias ke vi estas probable not-- Vi preskaŭ plej definitive ne sole se vi irados ekstere senti, he, probable povus esti pliboniĝis. Estas malmola. Hmm. Publiko: Kiom ĝi kostas valoras rilate al [inaudible]? SPEAKER 1: Valoras la sama. Yeah. Sed denove, ĝi estas ankaŭ tuj estos tuŝita por kiel la resto de la klaso faras, kiel via sekcio faras, Kiom vi plibonigis kun la tempo. Grading estas iomete de nigra skatolo. Do kion la efektiva nombro aŭ procenton vi ricevas ne nepre kiel rekte korelaciis kun la lernojaro vi estas iranta akiri. Tie estas multa faktoroj kiuj iras en ĝin. Do kun tio, ni tuj iri tra iu kvizo revizio. Mi nur tuj kuri ĉi kiel lasta horo por infanoj. Mi havas ĉiujn respondojn al kvizo Unu el pasinta jaro. Do se vi infanoj volas tiri ke sur vian propran komputiloj, se vi jam prenis ĉi ekzameno antaŭe kaj vi havas demandojn, Mi pensadis ni povis ĝuste iri tra iu de la pli malfacila sur tio. Do ni povas paroli pri tio, eble ricevas iom pli _insight_ en la intuicio malantaŭ iuj de tiuj demandoj, kiel alproksimigi ilin. Siavice, kiel lasta fojo, Mi havas 100-slide ferdeko kiu havas esence ĉiuj de la diapozitivoj kiuj mi pretigis por antaŭa sekcioj de post via lasta quiz-- mi havi en tiu ferdeko. Do ni povas iri tra sufiĉe tre ion ke ni parolis pri antemano kiu eble vin deziras iom pli klarigo plu. Ni povus fari tion unue. Sed alie, mi estas súper feliĉa nur por speco de laboro tra tiuj problemoj kun vi. Kaj mi estas vere tie por centri en kio vi uloj pensas estus pli grava koncentriĝi pri. Kiel, evidente, ĉiuj ĉi tiujn aferojn estas grava. Speciale dum ni marŝos tra Kvizo Unu, Mi definitive atentigi aĵojn kiel, ho, tio ĉi povus esti io vi vere volas scii aux volas havi en via Gvidfolio. Mi povas rakonti al vi aĵojn kiel ni ia trairu. Do en tiu noto, estas tie ajna aferoj ke vi uloj ŝatus transiru? Ankaŭ, se mi ne havas ĝin en mia ferdeko, ni povas tiri ion en la reto, aŭ ni povas klopodi fari supren ekzemplo sur la muŝo. Sed ajna konceptoj kiujn vi infanoj estas iom nebula plu. [? Brian,?] Ĉu have-- Publiko: Ho, cxu estas akumula? Kiel estas la aĵoj sur Kvizo Nulo tuj estos tie? SPEAKER 1: Estas tuteca, sed estas multe pli de emfazo sur aĵoj post via lasta kvizo. Do evidente, vi uloj havas lernis pri variabloj, kaj maŝojn, kaj conditionals. Kaj ĝi ne estas kiel tiuj ĵus foriros, ĉar ili estas evidente propraj al ĉiu alie ni lernis nun. Tie povus esti demando sur la varoj, aŭ tie Povus esti sur malsamaj serĉoj. Aŭ povus esti paro demandoj pri eble io vi devi fari kun kompilante aŭ malsamaj eraroj. Sed se vi jam rigardis Kvizo Unu el la pasinta jaro, vi rimarkos ke ĝi estas tre centris en aferoj kiuj okazis de post via lasta kvizo. Kial tiu pordo ĉiam ŝlosita? Ĝi vere ĝenas min. Ĉar mi ĉiam provas iri tra ĝi. Tiel ke estas sufiĉe da kiom la kvizo estos. Do estas tie ajna konceptoj kiuj vi uloj ŝatus transiru? Aŭ ni povas salti rekte en nur rigardi Kvizo Unu de lasta jaro kaj speco de iri tra praktiko demandojn tie. Ni povas ankaŭ ŝanĝi reen. Tio ne estas unu-tempo tiaj aferoj. Ajna demandoj? Jes. Publiko: Ĉu mi demandu al demando pri another-- SPEAKER 1: Alia? Publiko: Tiu estas el alia jaro. SPEAKER 1: Yeah. Ni povas ankaŭ fari alian jaron. Publiko: OK. Tial en 2011. SPEAKER 1: 2011. Ooh, kiu estis la jaron antaŭ mi. Lasu min eltiri ĉi supre. Publiko: mi pensas. SPEAKER 1: Ĉi aspekto rilatumo estas ĵetante min. Publiko: 11 kaj 12. SPEAKER 1: 11 kaj 12. Akcepti. Nu, jen, kial ni ne faru tion? Vi guys-- ĉiuj nur prenu paro de minutoj por serĉi tra kvizojn. Kaj ni kompilos liston. Kaj tiam ni iros tra ili. Bone? Dum mi ricevos multajn de tiu stuff starigis. Akcepti. Mi ĵus estis skribonta tion surpapere. 2011, 11 kaj 12? Mi nur tuj ŝanĝos ĉi montriĝo. Akcepti. Tio estas pli bone. Ĉi super. Bone. Ajnulo havas ajnan ke ili ŝatus komenci kun? Ankaŭ, forgesis diri, se vi volas pli de aro da homoj parolas en vi kaj simple donante vin fendo Kompreneble en la lastaj ses semajnoj, ni kuras revizion kunsido de 7:00 al 8:30 ĉinokte en Nordokcidento B103, kiu ankaŭ okazis lastan fojon, kie tuj estu mi, Hannah, Daven, kun Gabe kaj Rob speco de helpi el la benko de ĝuste speco de ĵetante ĉiuj la informon ke vi eble volas havi en via Gvidfolio, slash, scii ĝenerale tie. Publiko: Tio estas rete, ĉu ne? SPEAKER 1: Estas ankaŭ rete. Do vi povas same resti ekster tiu Icky vetero, iru al via dormejo, kaj live stream ĝi se vi ŝatus. Mi certas ke multaj people-- Mi scias mi volus faru, ke se mi estus en via ŝuoj. Akcepti. Do kial ni ne komencu with-- dum vi guys-- espereble, vi serĉas tra. Se ne, mi povus simple komenci labori tra malsamaj aĵoj sur Kvizo Unu de lasta jaro, krom se vi havas specifajn demandojn. Ni komencu per tiu pridubi tie pri stakoj. Do ne ĉiuj memoras speco de kia stako estas? Kiel ni kutimas to-- povas paroli simple doni Min ĝeneralan priskribon de stako? Tipo de datumstrukturo. Akcepti. Do estas unu el la datumstrukturoj ke ni atendas ke vi estu familiara with-- ŝatas stakoj, sensilo, vostoj, ktp. Jes. Publiko: Kiel Unua En, Last Ek, iu. SPEAKER 1: Estas Unue En, Last Out. Trafe. Do pilo estas ekzakte kion ni kutimas pensi pri kiam pensas de stako da aĵoj. Do stako de platoj. La unua plato vi malaltigis tuj estos malsupre, kaj ĝi tuj estos la lasta Kiu vi forigas fine. Ĉar ili pilo supren. Kaj vi prenos la unu el la malsupro, tipe, aĵoj Crash kaj rompi. Do Stacks vi povas pensi nur ŝatas stako de platoj. Aŭ la ekzemplo ni ĉiam ŝatas uzi estas en la D haloj, vi havas la pletoj, ili ĉiuj stakigita supren, kaj vi prenu el la supro. Do la lasta en estas la unua unu eksteren. Akcepti. Do en la kazo tie, ni vidu ni have-- Mi scivolas se mi povas efektive zomi iomete. Do ni havas ĉi struct tie. Dekstra? Do vi havas iuj struct kiu havas kelkaj int nombroj de kapablo. Do kion ni pensas ke reprezentas? Jen tabelo kun grandeco kapablo. Do tio vere reprezentas nia stako ĝenerale. Nia stako estas vere nur tabelo kun iu aro nombro kiu estas lia max, tio estas, lia kapablo. Kaj tiam ni havas kelkajn int grandeco, kiu estos spuri la grandeco de nia stako laŭlonge de la kurso de kiam ni uzas ĝin. OK? En ĉi tiu kazo ĉi tie, ni diru ke nia pilo grandeco estis inicializado al 0. Do ni havas malplenan stakon nun. Kaj poste ni volas kompletigi la efektivigo de popo tia, ke ĝi redonas la int supre. Kaj tiam se estas malplena, revenas negativa 1. OK? Do mi volas vin infanoj simple pensi pri kio ni povus fari tie. Kio povus esti unu el la unuaj tion ni volus kontroli? Estas granda afero ĉi tie. Whenever ĝi says-- se ekzistas iam iuj Se aserto, kiel "Se stako estas malplena," aŭ "Se tiu revenas nula," aŭ "Se ĉi tio estas kio ajn" - sorry. Publiko: Verku Se komunikaĵo. SPEAKER 1: Dekstra. Vi povus skribi Se komunikaĵo. Kaj tio estas probable unu el la unuaj aferoj vi volas kontroli. Akcepti. Kiam ajn ili donos vin speco de kiel angulo kazo kiel tiu, kiu estas tipe unu el la unuaj aĵoj vi tuj kontroli en via kodo. Ankaŭ, iu por rekoni por la kvizo estas se vi havas ineficiente vojo fari ion, skribu. Ĉar ni ne grading vi sur dezajno, ni estas grading vin sur praveco por kvizojn. Do eĉ se oni scias ke ĝi estas la super malbona maniero fari ion sed laboru, skribi ĝin malsupren, OK? Laŭvorte, mi vidis kapridojn lasta year-- se vi rigardas la pasintjara unu, ili estas similaj, do la Mario piramido. Kaj ili laŭvorte simple faris "print, hash, print, hash, hash, print, hash, hash, hash. " Sed estas korekta. Ĝi kion ni rakontis al: tiel vi ne povas preni punktoj ekstere. Se vi estas malsupren al la drato, evidente, vi volas preni pli eleganta solvo, kaj la plej eleganta solvo probable esti malpli kodo, kio signifas ke vi probable havas pli altan ŝancon esti prava. Sed se vi estas kiel, vi scias kion, ne, mi ne havas tempon, mi scias ĉi estas solvo, ĝi ne estas la plej bona, skribu tion. Kaj vi eĉ povas skribi sur la flanko, mi konas ĉi estas teruraj, sed mi scias funkcias. Do nur kapoj-supren. Akcepti. Do evidente, unue Estas ĉi Se komunikaĵo. Do kion ni pensas ĉi Se deklaro tuj estos? Kaj fakte, lasu min libera mian grandan Sublima redaktoro. Mi iras al kodi ĉi kaj tiam montri vin infanoj kiam ĝi estos farita. Do int popo. Akcepti. Do se ni havas ĉi int pop void-- tial evidente, tiu estas iu funkcio kiu prenas en nenion kaj revenas entjero, dekstra? Do estas ĝuste babilos pri tiu stako ke ni kreis. Do simple tradukante ĉi lasta frazo, "se stako estas malplena, popo devus reveni negativa 1, "kiom eble ni faru tion? Do se kio? Kiel ni scias ke la stako estas malplena? Estas nur grandeco egalas 0. Stack.size egalas 0. Ankaŭ, mi specon de skribado blinda tie. Do se mi faros neniun typos-- ho, ankaŭ forgesis mencii tion. Pasintsemajne, mi tute komprenis kio nia problemo estis kun JavaScript. Ne capitalizar mi kaj D. Vi devus nur capitalizar mi kaj akiri elementon Id. Kaj tio estis la tuta eraro. Do se vi infanoj reiros kaj efektive trarigardi mian kodon, se vi nur faru ĉiun minuskla d, "forgesas elemento Id" ĝi funkcios. Do kiel mi promesis, mi estis tre proksima. Mi nur majuskle ion Mi ne supozas, ke Mi certas ke vi uloj havis en via lasta PSET. Do se nia grandeco egalas 0, kion ni devis fari? Publiko: Reiru negativa 1. SPEAKER 1: Reiru negativa 1. Cool. Do nun kion ni faru? Ni volas pop ion. Nun jen estas la afero kie ni havas ion. Nia grandeco estas pli granda ol 1 aŭ pli granda ol 0, dekstra? Ni fakte havas iun tie. Do kion ni volas fari estas ni volas reveni tie ĉi. Ni intencas ke ni volas reveni supro de stako. OK? Do kiel eble ni faru tion? Kiel ni revenos al la supro de la pilo? Memoru, nia stako estas nur tabelo, dekstra? Ĝi havas iu kapablo ke ni donis gxin. Kiel ni jam metis tion on-- aŭ reale, ni tuj skribu "puŝi" post tiu. Se la aĵoj estas en there-- eble bildon helpos. Hm, mi ŝatas grandajn kreto bona. Do if-- kaj eblas simple pensu pri ĉi tion kiel nia stako. Do tiu estas 0, 1, 2. Mi ne scias kial mia skatoloj plialtigas pli malgrandaj. Sed tie. Akcepti. Do ĉi tiu estas iom pilo kun kapacito de 5. Kaj ni diris ke ni havas ion tie kaj ni havas iun ĉi tie. Do je ĉi tiu punkto, nia grandeco estas egala al kio? 2. Kaj se ni volas popo io ekstere de ĝi, tio signifas ke ni volas ricevi forigi tiun rajton tie. OK? Do kiel estus ni revenos ĉi valoro? Publiko: Grandeco minus 1. SPEAKER 1: Dekstra. Do grandeco minus 1, aŭ vi povus fari grandeco minus minus. Sed ni ne povas simple fari grandeco. Estas ene de struct, dekstra? Do stack.struct. aŭ stack.size. Tio estas nia indekso dekstra tie. OK? Kaj tiam se ni rigardas reen ĉe nia struct tie, ni rimarkos, ke al efektive aliri la tabelo, Ni bezonas fari stack.numbers por fakte konsentas ke tabelo. Por ke revenas la supro de la stako. Sed ion that-- se vi ĉiuj aspektas ĉe la respondo ŝlosilo, tiu estas ĉiuj ili doni al vi. Do ĉi tiu estas tio. Sed mi povus argumenti, ke ili estas miss-- ooh, ne kion mi volis. Mi povus argumenti ke ili estas mankas io, because-- jes. Publiko: malgrandiĝi la grandeco. SPEAKER 1: Dekstra. Ni devas malgrandiĝi nia grandeco nun. Do kio estas malfacila pri tiu estas iam vi revenos io, via funkcia irante eliro, dekstra? Do kion ni povus fari estas reale malgrandiĝi nia grandeco unue. Kaj tiam ni povas simple stack.size. Ni povas nur uzi stack.size kiel nia indekso, ni ne povis? Ĉar se stack.size estas 2, ni dekremento ĝin. Kaj do ĝi estas 1, kio estas nia reala indice. Iam ni forigi tion, ni efektive nur havas unu aĵon en nia tabelo. Prave ambaŭ. Publiko: [inaudible]? SPEAKER 1: Nu, en tiu kazo, ni ĵus revenis la elemento ĉe la supro, kiu estas apud nia grandeco kiu estas ĉe la supro. Sed ni ne faris ion al la grandeco post ni apartigis en tiu elemento. Tiu ne ŝanĝis nian grandecon ankoraŭ. Tiu faras reale imanente ŝanĝi nia grandeco. Sed por fari ĝin iom pli klara, vi povus fari stack.size minus minus. Por mi, ĝi faras ĝin, mi ne scias, iom pli klara that-- ah, ke vi efektive ŝanĝanta la grandeco kaj revenante ĝin. La alia vojo estas fajna, ĉar vi estis ŝanĝante kaj reveninte samtempe. Sed tio estas nur alia maniero de skribi tio, kion mi volis montri vi uloj. Ĉu tio havas sencon? Stacks, mi pensas, estas multe pli facile ol vostoj. [Ridadoj] Akcepti. Ĉu vi havas specifajn demandojn proksimume 11 kaj 12, aŭ just-- Publiko: mi kredas ke estis la stako. SPEAKER 1: La pilo grandeco? Publiko: Yeah. SPEAKER 1: Gotcha. Akcepti. Yeah, vi povus fari ĝin en unu el tiuj du vojoj. Akcepti. Do nun ni havas la aliaj unu. Tiu estas vere stranga, kiel Ne havante ĉi sur mia ekrano. Do se ni rigardas tie, ni nun volas kompletigi la efektivigo de puŝo, kiu fakte metas ion, iras kaj enmetas ion en niajn queue, aux en nia stako. OK? Do se ni rimarkos, ni havas paron de aĵoj. Ni havas niajn great-- se ĉio alia, kiam ajn ni havas unu el tiuj, vi uloj devus almenaŭ akiri duone punkton, ĉar ĉiuj vi devas fari estas konverti la jeonon C. Kaj ili donos al vi la duonon de ĝi. Do "se pilo estas plena aŭ ĝi estas negativa, tiam puŝi devus reveni falsaj. " OK? Do ni nur volas pozitiva entjeroj esti sur nia stako. Bone? Kaj tiu tuj ĉu reveni vera aŭ malvera. Do ni devus [inaudible] bool. Akcepti. Do tradukante. Publiko: [inaudible]. SPEAKER 1: Ho, dankon. Yeah. Jen kial mi havas vi uloj. Int n. Perfekta. Ĉar ni metante ion sur nia stako. Ni vere bezonas iom numeron. Akcepti. Do simple prenante tiu lasta linio ke ili donis al ni, nia speco de angulo kazoj, Kion vi pensas, ke ni havas ĉi tie? Evidente, ni tuj havos iun Se. Akcepti. Do ni pensis: Se nia stako estas plena aŭ se n estas negativa. Do probable plej facila komenci kun, do se n estas malpli ol 0 or-- memoras vian belan KAJ kaj AŬ operatoroj tie. Kiel ni kontrolu al vidi se nia pilo estas plena? Kio okazas? Publiko: Grandeco egala kapablo. SPEAKER 1: Ekzakte. Perfekta. Akcepti. Kaj kion fari ni volas fari tie? Publiko: Reiru falsaj. SPEAKER 1: Reiru falsaj. Perfekta. Do duonvoje tie, ĉu ne? Almenaŭ, vi uloj havos la duonon de tiu. Do ni pensas pri tio. Do tiu estas la stako ni starti kun. Ni provas meti iu elemento en ĉi tie. Ni havas grandecon kiu estas egala al 2 nun. Ni havas kapablon kiu egalas al 5. Kaj diru ni havas iu n tio egala al 3. Do ni devas enigo 3 en ĉi tiu spaco. Kaj ni bezonas enigi ĝin en indekso 2. Dekstra? Do kiel eble ni faru tion? Provante assign-- ni volas konsenti niajn tabelo. Do stack.numbers. Sed je kiu indice farus ni volas ke tiu esti? Publiko: [inaudible]. SPEAKER 1: Yeah. Stack.size. Kaj ni volas ke al egalaj n, ĉu ne? Publiko: [inaudible]. SPEAKER 1: mi estis fakte nur rigardi tion. Mi pensas ke estas malprava. Publiko: Cxu vi ne volas la spaco preter la nuna amplekso? SPEAKER 1: Nu, se ni rigardas tien, nia grandeco ĉe tiu punkto estas 2. Ni volas ke ĝi iru en indekso 2, ĉar tiu estas la supro de nia stako. Do mi dirus ke gxi estu stack.size, kaj tiam vi pliigus stack.size. Ĉu ĉiuj konsentas? Mi kredas ke mi samopinias kun tio. Vi ĉiuj povas argumenti kun mi se vi volus. Aŭ ne argumentas, sed ni povas diskuti tion. Publiko: [inaudible]. SPEAKER 1: Hmm, estas kie ĝi estas malfermi pro nulo indeksado. Do dum kiu en la unua parto, Mi opiniis, ke ili eraras, kaj ili estis efektive pravas, ĉi parto, mi efektive pensas ke ili estis malĝustaj. Mi dirus vi devus definitive input ŝin tie. Mi kredas ke ĉiuj samopinias ni havas grandecon de 2. Tio estas ĝuste kie ni volas nia nova nombro iri. Do stack.numbers je stack.size devus egalus n. Kaj poste ni pliigo la stack.size. ++. Kaj tiam kion ni volas fari? Estas unu lasta afero ni devas do se ni sukcese enmetita ĉi? Reiru vera. Kaj nun vi faris. Do mi sentas min kiel estis la tuta minus minus stack.size kaj stack.size ++ ke paneas aĵojn. Uf. Mi keep-- mi havas genuo-jerk inklinon ĉiam trafis Kontrolo, S, ĉar mi neniam volas perdi neniun de mia laboro. Sed mi ne bezonas fari tion nun. Akcepti. Por ke estis pilo. Cool. Ĉu estas io? Ĉu vi uloj trovi ajnan aliaj demandoj kiujn oni kredus plaĉas al transiru el malposta kvizojn? Se ne, ni povas ia komenci parolante tra Kvizo Unu el pasinta jaro. Jes. Publiko: Por la unua parto, mi ne vere kompreni kiel vi viŝis la numeron. Ĉu ne estas ankoraŭ tie? SPEAKER 1: La nombro estas ankoraŭ tie. Sed kio okazas estas ke ĉar vi havas rakontis ĝin ke la supro de via pilo estas ĉi tie, kiam vi iros aldoni ion sur la pilo, ĝi estos simple anstataŭigi ĝin. Publiko: Oh, OK. SPEAKER 1: Yeah. Do ĝi estas kvazaŭ li forgesis kaj ĝi estas tie tipo de aĵo kvankam estas tie. Publiko: [inaudible] aŭ ion? SPEAKER 1: No. Ĉar ni estas en tabelo, vi ne havas maltrankviligi about-- Vi simple nuligi ĝin kiam vi bezonas ĝin. Bone. Ajna alia demandojn? Se ne, ni nur tuj komenci labori tra. Yeah. Publiko: Bone, ĉi tiu estas en la 2013, sed nur trairante la SQL ajxoj. SPEAKER 1: SQL? Akcepti. Do tiu estas 26 tra 29. Publiko: Yeah. SPEAKER 1: OK. Lovely. Ni tiri tiujn supren. Ho, rigardu. Ĉu vi uloj ĝuas la Steve Ballmer paroli, la vojo? Estis sufiĉe amuza, miaopinie. Mi ravas ke ĉiufoje mi elvoku CS50 La retpaĝaro dum sekcio, estas kiel, oh, spekti sekcio. Kaj mi estas kiel, mm. Publiko: Ĉu ni povas fari tion? SPEAKER 1: Ni tion faros fine. Kiom estas tio? Ĉar mi scias ke vi infanoj ĉiam volis. Do ni faros tion je la fino. Unu demandoj. Publiko: [inaudible]. SPEAKER 1: Estos pli meta sekcio. Publiko: Estas kiel 5 sekundoj. Publiko: Really? Publiko: Estas kiel 20 duaj. [Intermetante Voĉoj] [Ridado] SPEAKER 1: mi plaĉas vi jam farita tio, kio estas kio faras min pli feliĉa. Akcepti. 26. Akcepti. Reale, ni nur tuj speguli ĉi nun, ĉar mi ne povas. Tio estas ĝena. Akcepti. Nun mi povas vidi ĉion. Lovely. Akcepti. Do evidente, tiu devus alporti reen grandaj memoroj de [? CSG?] Financoj. Duono de vi pri esti la via gradita nun. La alia duono mi alvenos al tre, tre frue, mi promesas. Do ni havas iujn SQL tablo tio Kontoj tie. Probable simila al via infanoj 'uzanto tabloj. Kaj ni havas iun numeron kiu estis PRIMARIA ŝlosilo kaj prezentas 12-cifera konto nombro. Kaj ekvilibro estas kiom mono havas. Kaj la defaŭlta valoro estas 100. Kaj donu ilin $ 100 ajnan tempo malfermi konton. Mi deziras mian bankon faris tion. Akcepti. Do ni volas kompletigi la skemon per preciziganta apud numeron en ekvilibro la taŭgaj SQL tipo. Do kion vi uloj pensas estus speco de kiel via genuo-jerk reago por tipoj por tiuj du? Publiko: Int. SPEAKER 1: An int. Akcepti. Kaj tiam por ekvilibron? Decimala. Akcepti. Do dekuma pravas. Int estas apude. Speco de la big signifas tio substrekitajn 12-ciferaj konto nombro. Kiam ajn ni havas ion tio estas pli grandaj ol ok ciferoj, Ili volas ke vi uzas grandajn int, kiu miaopinie is-- Publiko: Ĉu tio estas justa SQL? SPEAKER 1: Ĝi estas la nura tempo mi aŭdis di qua esas SQL-- kiel uzante granda int. Estas nur por doni al vi iom pli precizeco, certigi ke vi ne estas disversxigxinta tipo afero. En ĉiuj honesteco, Mi pensas ĉi estas definitive unu el la aĵoj kie estas kiel, oh, ĝi estas signifita por homoj kiu havas iom pli kono de SQL. Ni neniam parolis pri big ints en via PSET. Do estas speco de kiel mi malpli certas se vi metas int, tio estis duonon kredito. Kaj kiel mi diris antaŭe, estas irante esti iuj demandoj kiujn estas apenaŭ intencis malhelpi vin portos, Por ke ne ĉiuj ricevas 100. Ĉar kompreneble, Estas iuj homoj en CS50 kiu estis farante tion por kiel ok jaroj, kaj vi estas kiel, kion vi faras? Sed yeah. Dekuma por ekvilibro estis tiu evidenta unu. Kaj tiam grandaj int por nombro ĝuste ĉar de tiu, kiel, substrekitajn 12-ciferaj. Kiam ajn io estas en negrita aŭ ĝi estas emfazata, kiel, atentu gxin. Ni ne faras tion ĝuste ĉar. Akcepti. Do "supozas ke la banko postulas oni $ 20 ĉiumonate kotizo sur ĉiuj kontoj. Kun kio informpeto povis la bankon dedukti $ 20 de ĉiu konto eĉ se ĝi rezultas el iuj negativaj ekvilibrojn? " Do ni komencu simpla. Ni havas kvar ĉefajn komandoj por SQL, kiu estas? Ĉu vi uloj memoras la kvar grandaj aĵoj kiujn mi diris al vi? UPDATE, DELETE, Select, kaj insert. Perfekta. Got ĝin. Do kion ni pensas heroajxoj esti plej utila por ĉi tiu? Ni are-- UPDATE. Trafe. Do ĝisdatigo, ĉar ni serĉas ĉe kontoj kiuj jam ekzistas. Do memoru nian ĝeneralan tiaj aferoj estas ĝisdatigo. Kaj tiam kio venas post UPDATE? Ni havas kelkajn tablo ke ni referenco. Do se mi elsxiros Sublima again-- UPDATE. Do tiu estas ĝenerala formato. Do ni havas UPDATE tablo. Kaj tiam kio estas la sekvanta afero, kiun ni havas? Vi povas fari kie. Kaj tiam ni havas kelkajn calificador tie. Kaj tiam kion ni havas nun? Ni havas kelkajn SET-- ion egala al io. Bla egalas bla. Ĝisdatigita bla. Dekstra? Do jen kiel la ĝenerala ideo por iu ĝisdatigo. OK? Do ni komencu plenigante ĉi en kun kion ĝi devus esti. Do kio tablo ni parolis? Kontoj. Kaj tiam en tiu kazo, kio estas vere malvarmeta Estas ni parolas pri konkretaj uzantoj ene nia rakontas, aux cxu ni parolas pri ĉiuj uzantoj? Ni parolas pri ĉiuj uzantoj. Do en tiu kazo, ni povas simple forviŝi ĉi KIE klasifikita. La KIE estas nur kiam vi volas limigi kion vi ŝanĝiĝas. Se vi volas ŝanĝi la tutan tablo, vi povas simple faligi tion. Akcepti. Do nun ni estas je nia SET parto. Kion ni volas ŝanĝi? Publiko: Bilanco. SPEAKER 1: Bilanco. Kaj ni iras to-- kiom estas ni tuj ŝanĝos ekvilibron? Ni havas $ 20 kotizo, dekstra? Minus 20. Kaj ili diris ke estas OK se ni havos negativajn ekvilibrojn. Do en ĉi tiu kazo, vi ne bezonas fari pluan eraro kontrolanta. OK? Tio estas laŭvorte ĉiuj vi devas fari. Cool? Akcepti. Do ni iru tra la venonta unu. "Kun kio SQL query povis la bankon elsxuti la konto nombroj de lia plej riĉaj klientoj kun ekvilibrigas granda ol $ 1,000? " Se via banko kaj via riĉaj klientoj estas ĝuste tiuj kun pli ol $ 1.000, Mi sentas kiel vi estas faras iun malbone. Kiel, kiel ne bankon postvivi en tiu? Kiel, tiu intereso, ne tute sufiĉa. Akcepti. Kun ĉi tia afero, kia do vi pensas, de niaj kvar funkcioj, ĉu vi kredas ke ni tuj uzos? ELEKTU. Perfekta. ELEKTU. Akcepti. Do ni elektado ensalutilo EL tablo. Kaj tiam KIE kondiĉo. Do kiel ni iru tra tiujn, mi simple irante doni vi uloj ĝeneralan refresher sur la ĝenerala formato de ĉiu de ĉi tiuj. Do ni elektu ian el [? afero. ?] En tiu kazo, ĉi tiu tuj estos tipe iu kolumno. Do en nia kazo, ni havas nombro, ekvilibro. En via infanoj 'kazo, eble estis ID, nomo, pasvorto. Ajna el tiuj kolumnoj, kiuj estas tipe kion ni selektas. Do en ĉi tiu kazo tie, kiuj speco de kolumno, kio ensalutilo ni tiranta de nia tablo? Kion ĝi petas nin por? Ĝi petas al ni por nia nombro, ĉu ne? La konto nombroj. Do memoru, nur cifero en tiu kazo. Se vi uloj iam havis la eraro, kiu brila oranĝo skatolo venus supren. Gxi estis kiel, neatenditaj remi en, kiel ajn. Tio estas ĉar vi nomis via tablo malbone, vero? Do estu certa ke vi estas nomante la kolumno korekte. Do el tablo, nia tablo estas nomita kontoj. Denove, certigu ke vi estas referenco via tablo ĝuste. Kaj tiam kio estas nia kondiĉo tie? Kion ni serĉas? Ni volas niajn ricxuloj. Jes. Do ekvilibrigi granda ol 1.000. Tie vi iru. Tio estas via demando. Ne tro malbona, dekstra? Akcepti. Do nun nia lasta. Kun tiu, ni breezing tra. Akcepti. Do nun "kun kion informpeto povis la bordo proksime, tio estas:, delete "- vi ne amas, kiel ili nur donis vin DELETE-- "Ĉiu konto kiu havas ekvilibron de 0?" Mi kredas ke ni povas ĉiuj konsentas ni estas probable tuj estos uzante DELETE. Mi estas bonvenaj preni ajnan diskuto ĉirkaŭ tiu. Sed mi kredas ke estas sufiĉe sekuraj por diri ke ni povus uzi DELETE. Do ni tuj DELETE iuj uzantoj de tablo, KIE kondiĉo. Do sama speco de aĵo kiel ELEKTU. Do en ĉi case-- Ho, pardonon. Mi devus DELETE FROM. Ĉar DELETE volo forviŝi la tutan vicon. Do ni ne bezonas paroli pri kio specifajn aferojn pri uzanto ni estas forigo. Se ni forviŝi uzanto, ni estas viŝante ĉion pri ili. Do en ĉi tiu kazo, ni nur bezonas plenigi nian KIE kaj nia kondiĉo. Do nia tablo estas nur nia rakontas tablo, kiel ni estis faranta. Kaj tiam kio estas nia kondiĉo tie? Publiko: Bilanco. SPEAKER 1: Bilanco egalas 0. Korekta. Ĉiuj bonaj. Jes. Publiko: [inaudible]. SPEAKER 1: Do DELETE imanente forigas ĉion. Do dum kiu kun ELEKTU, ELEKTU prenas en iuj kolumnoj kiun vi volas revenis. Se vi volas ĉion pri uzanto revenis, vi uzas stelon. Steloj diras, reveni al mi ĉion de tiu uzanto. Aŭ se vi metis KIE stelo, kiu signifas nur donu al mi cxion. Sed DELETE propre havas tiun. Do se vi diras, DELETE el kontoj kie ekvilibro egalas 0, ĝi tuj trairu. Kaj ĉie ke ekvilibro estas egalaj al 0, ĝi propre faras tion. Ĝi devos forviŝi ĉion. La stelo estas pli for-- kun ELEKTU aŭ UPDATE, ĝi estas paroli pli pri la individuaj kampoj responda al uzanto. Do kiam vi SELECT star de tablo KIE ID egalas 1, kiu revenas al vi ĉion pri la uzanton kun ID 1. Se vi volus fari ELEKTU nombro aŭ SELECT ID komo nomo de uzantoj KIE ID egalas 1, ke ĝuste redonas lian numeron aŭ ilia IRU kaj ilia nomo. OK? Do ni uzas stelon en tiu kazo al donas al ni ĉion pri uzanto. Kaj DELETE propre faras tion. Ĝi ne nur forigi la IRU, aŭ nur la nomon, aŭ kion ajn. Yeah, ne. Tio simple forigas la tutan uzanto. Do ni ne devas maltrankviligi pri la stelo tie. Se vi volas forigi ĉio, vi povus fari tion, kaj ĉi tion nur faligi ĉion. Sed tipe, vi ne volas fari tion. Sed se vi iam volas forigi ĉio, vi povus fari tion. Akcepti. Ĉu vi uloj trovis aliajn demandojn? Jes. Publiko: Ĉu vi povas fari 26? SPEAKER 1: 26 ni ĵus faris. Publiko: Ho, 25, pardonon. SPEAKER 1: 25. Akcepti. 25. Oh. Ili faras Javascript. Ho, mi ne povas kredi ĝin. Mi tuj salaton nin denove, knaboj. Akcepti. Ni akiris ĉi. Ni intencas fari ĉi tiun laboron. Ha, jQuery. Fun. Akcepti. Do ni tuj kompletigi la implementación de la retpaĝo tiel ke se ili vizitas, input ilia nomo, kaj submeti la formo, ili havas tiun grandan garde fenestro kiu tuj aperos. Do, frazoj kun atentigoj, ni scias ke ni tuj devas uzi javaskripton. Yay, Ĝavoskripto. Kaj se ili malsukcesos enigi oni nomo antaŭ sendado formo, Neniu atentigo devus aperi. Do vi povas uzi jQuery, sed vi ne devas. Do mi lasos vin infanoj labori sur ĉi nur por kelkaj minutoj. Pensu ĝin. Kaj tiam ni programi ĝin. Slash mi tuj provos kaj pensi pri la bona maniero klarigi tiun respondon al vi. Bone. Ni akiros gxin starigu. Akcepti. Do ni nur iri marŝi tra ĉi, ĉar mi scias, jQuery estas iom konfuza. Ĝavoskripto. Estas iom el tie. Do kion ni volas fari estas [Inaudible] fakte solvita tiu problemo kun jQuery. Do se vi memoras, jQuery estas nur biblioteko Tio estas nur konstruita sur supro de Ĝavoskripto. Ĝi estas signifis fari vian vivon iom pli facila. Mi certe, se vi havas tempon, transrigardi iom de la dokumentado por jQuery. Sed ĝi estas tre simila al JavaScript. Ĝi sukcese simila paradigmoj, kie vi utiligas ĉi skalara operatoro nomi funkcioj sur celoj kiuj vi havas. Do kion ni havas ĉi tie estas por jQuery, vi devus ĉiam havas tiun specon de envoltorio, kio estas la $ (Dokumento) .ready (funkcio) funkcio en parantezoj tie. Akcepti. Do tio ĉi povus esti io volas en via Gvidfolio. Ĉar almenaŭ, vi povas havi la envoltorio por via jQuery. Kaj ĝi malebligos almenaŭ akiri vi disiĝi vojojn tie. Do en la sama maniero kiun ni parolis multe pri Ĝavoskripto, kaj ni devus komenci per rigardado je kio ni provas eldoni aŭ kion ni provas ŝanĝi. Kaj kiu tipe esti la unua afero, kiun ni volus meti en. Do en ĉi tiu kazo, se ni reiru al tiu tie kaj ni rigardas nian formon ĉi tie, ni havas ĉi enigoj, Bone, tiu identigilo de enigoj. Kaj ni scias ke Based sur nian demandon, ni estas ĉu volus ĵeti eraro se tiu estas malplena, aŭ ni tuj metis tiu en garde, dekstra? Do verŝajne sekure diri ke ni estas tuj estos kontraktanta kun enigoj tie. jQuery estas tre similaj en tio se ni pensas reen al CSS ion kun ID ni rigardas kun hash. Nenio kun klaso ni rigardis per punkto, dekstra? Do en la sama vojo tie, kio ni parolas estas enigoj. Ni vidis ke enigoj estas IRU ene nia formo. Do ni iras al referi al ĝi kiel tia. Enigoj. OK? Do kiam en dubo, eĉ se vi havas nenie, se vi estas vere certas pri kiel alproksimigi ĉi, Al, havi tiu envoltorio. Do komencu tie per la envoltorio por jQuery. B, certigu ke vi scias kio vi ŝanĝas. Kiam en dubo, enkalkulu en iu, kaj do streketo ajn vi opinias vi devus fari per ĝi. Publiko: Kio estas la envoltorio? SPEAKER 1: La envoltorio Estas ĉi tiu unua linio. Do tiu diras, atendu mia dokumento estas preta. Tiam komenci metante kun aĵoj. OK? Do ni scias ke ni estas rompado kun enigoj. Do ni estas kiel, nu bone, enigoj estas nia formo. Tio estas nia IRU. Do, tio estas kion ni estas tuj estos serĉanta. Kaj ni volas vidi kio okazas kiam tiu formo estas prezentita, dekstra? Do kiel ni povus pensi, ni havos kelkajn .submit. Do .submit nur diras, OK, ĉi formo ke ni referencita kun hash enigoj, kiam ĝi estos prezentita, ekzekuti io alia. Do ni tuj havos iun funkcion. Rimarku ni havas anonimajn funkciojn tie. Ni havas anoniman funkcion tie. Jes. Publiko: Ĉu ŝi ĉiam estos .submit, aŭ ĝi estas nur ĉar en la HTML, Ni faris la butono tipo Proponu? SPEAKER 1: Oni devas .submit, ĉar ĝi estas iu formo kiun ni submetas. Ĉar ĉi .submit ne nepre respondas al kion la butono estas kiel nomi. Sed la fakto ke ĝi estas formas ke ni sendado. Akcepti. Do rimarki anonima funkcio tie ke says-- Publiko: Mi ne vere kompreni anonima funkcioj. SPEAKER 1: Do anonima funkcioj, ili estas nur funkcioj kiuj ne havas nomon. Do anstataŭ havi kelkajn ĉefa funkcio ke calls-- ni povus diri: Se dokumenton preta, tiam nomus enigoj. Kaj tiam, kiam prezentis, call-- kiel, se tiel-kaj-tiel prezentita, ni volonte nomas alian funkcion. Anonima funkcio simple ne havas nomon, kaj ĝi estos simple ekzekuti ene tiajn aferojn. Do en ĉi tiu kazo, kion tiu diras estas, Kiam niaj dokumento estas preta, ekzekuti ĉi tiu funkcio. Tiu funkcio estas formita ĉio ene tie. Kaj tiam la sekva tavolo en estas, nu bone, kiam enigoj prezentita, ekzekuti ĉi. Estas nur maniero de signifanta kio devus esti ekzekutita kiam. Estas laŭvorte nur funkcio kiu ne havas nomon, do ili emas anidar en reciproke, ĉar vi ne povas nomi ilin laŭnome. OK? Laŭvorte, anonima funkcio estas nur funkcio sen nomo. Estas tio. Simple maniero encapsular malsamaj aferoj ke ni volas ekzekutita je specifaj tempoj. Publiko: [inaudible]. SPEAKER 1: La Vent? Kie? Publiko: En la krampoj post funkcio? SPEAKER 1: Post funkcioj. Kiun? Publiko: Ambaŭ. Se vi metis, kiel, okazaĵo, aŭ se vi metis diskuton tien, ĉu esti malĝusta? SPEAKER 1: En tiu kazo, mi supozas vi povus meti argumenton tien. Sed ĉar ni ne bezonas argumenton, ne estu. Kiel, ĝi estas la tuto, kiel, vi devus nur havi proprajxon necesaj tiaj aferoj. En la sama maniero kiu se ni havis neniun funkcio kiu havas int ĉefa void-- kiel, kun int ĉefa malplenon, vi povus fari int arg v ajn. Sed se vi ne bezonas tiujn, oni ne devus havi ilin tien. Sama afero. Emma, ​​cxu vi havas demandon? Akcepti. Cool. Akcepti. Do kion ni havas ĝis nun estas kiam nia dokumento preta, ekzekuti ĉi. Nun ni rigardas kiam ĝi estos prezentita. Do nun ni efektive havas varon de la karno de nia afero. Do ni bezonos akiri la valoron kiu la uzanto prezentita, ĉu tio esti nomo aŭ malplenaj. Kaj tiam ni bezonas ĉu reveno tiu garde aŭ ĵeti eraro. De ajna formo. Nu do kiel ni deklari variablo en JavaScript? Var. Do ni diru, var nomon equals-- aŭ efektive, ni fari valoro de kiam mi kredas ke estas nomo. Akcepti. Do ni havas iujn valoron tie ke ni deziras tiri el nia enigoj formo. Do en la sama maniero kiu ni ia faris enigoj, povas iu diri al mi kion ni pri la mistero ene tien se ni volis atingi la nomo de la formo? Kaj se ni retrorigardas al nia formo tie, ni rimarkos, ke ni havas ID de nomo. Publiko: [inaudible]. SPEAKER 1: Vi ne Pensi de ĝi tiel tablo. Vi ne bezonas zorgi pri tio. Do ni simple devos iun nomon. Kaj tiam ĉar JavaScript kaj aĵoj Estas stranga, ni ne povas simple fari "nomon." Ni fakte devos alvoki iu funkcio kiu donas al ni, kiel, la valoro de tiu identificador. OK? Do tio estas nur .val. Publiko: [inaudible]. SPEAKER 1: OK. Do kun JavaScript, tian afero ĝuste ĉi tie apenaŭ travivas. Kaj vi povus pensi de ĉi as-- estas kiel preskaŭ getElementById, kie getElementById devus reale redoni la plena afero al vi. La $ ("# nomo") estas simple kiel, OK, mi havas ĝin, mi povas konsenti li, sed se vi vere volas ĝin redoni la valoron al you-- Publiko: Ĉu kiel puntero? SPEAKER 1: Estas speco de kiel puntero. Vi povus pensi pri tio kiel ia ŝatas puntero. Kiel, ĝi diras, OK, Mi scias kiel iri tien, sed por reale preni la valoron el ĝin, vi devos eksplicite peti ĝin. Kaj bedaŭrinde, evidente, ni ne fari tro multe kun JavaScript kaj jQuery. Do ĝi tuj venas malsupren al kiom vi guys-- kion vi hazarde scias, kion vi hazarde vidis, kaj kio vi povas speco de logike konjekti je. Ĉar kelkaj el tiuj aferoj, vi povus probable akiri duonvoje tie. Sed akiri ĝin tute pravas, Mi pensas ĉi tiun problemon probable havis unu el la plej malaltaj interpunkcioj. Publiko: Kiel, ekzemple, por [inaudible] enigoj, kial vi ne devos meti val tie? SPEAKER 1: Ĉar ĉi tiu? Publiko: Yeah. SPEAKER 1: Yeah. Ĉar tiu estas speco de ŝati, kiel ni diris, iuj puntero, kaj tiu estas mia referenco ĝin kaj efektive atingi nin, la valoro. Publiko: Dum [inaudible]? SPEAKER 1: Por enigoj, enigoj estas ĝuste some-- estas kiel ni ĵus rigardante ĝin kiel tuton, kaj ĉi .submit diras ni, kion ni devas scii. jQuery kaj JavaScript estas bizara. Mi scias. Mi scias, knaboj. Mi scias. Ekzistas kialo mi ne fari ttt programado. Just kidding. Mi ne havis sufiĉan ekspozicio al ĝi. Publiko: [inaudible] css. [Ridado] SPEAKER 1: OK, jen CSS. CSS estas ĝuste, kiel, fari aferojn belajn, Ne estas kiel ni trakti datumoj. Ekzistas diferenco tie. Akcepti. Do nun espereble, ĉi part-- ankaŭ, por problemon kiel tiu, kie vi ne koni la sintakson, vi povus esti kiel, OK, vi povus havi iun var valoro kaj estu kiel, supozi mi atingis la valoron ĝuste. Kaj poste vi povus probable skribi ĉi sekva parto. Ĉi sekvan parton volo probable ŝajnas multe pli facila, aŭ farus logika sentita vi uloj. Dum kion ni skribas tiel malproksime, Mi scias ke mi devus esti kiel, umm, yeah, Mi ne scias, ke en la kvizo. Vi povas tute skribi psuedocode kaj tiam rompu en verajn kodo kiam you-- estas speco de kiel math. Se vi iam havis iun mult-parto problemo kie vi ne scias kiel pasi de la unua paŝo, sed ĉio alia fidas sur tiu unua paŝo, Vi nur diru, kiel, supozi x egalas 4. Kaj tiam vi kuras kun ĝi, ĉu ne? Vi povas fari la saman aĵon kun kodo. Do oni povas diri, supozi Mi akiris la valoron pravas. Poste faru ĉi sekva parto tie. Ĉar tiu parto vere devus esti bela logika. Do ni bezonas kontroli se nia valoro estas malplena. Aŭ se estas iu nomo, efektive donu garde. Do kio povus ni volas kontroli? Ni volas havi iun Se. Kion vi pensas niaj Se tuj estos? Ni bezonas kontroli por vidi se valoro is-- se ĝi ne estas malplena kordo. Perfekta. Trafe. Akcepti. Do se tio estas la kazo, Kion ni volas fari? Ni volas ĵeti iu garde, dekstra? Do estas nur atentigo. Kaj tiam kion ni volas ene. Do kion ni supozis havi ene nia garde? Publiko: "Saluton." SPEAKER 1: Komo. Kaj tiam vi infanoj memoru kiel concatenate? Publiko: Plus. SPEAKER 1: Plus. Do ni volas havi pli. Kaj tiam ni bezonas alian krom por nia ekkrion punkto. Cool. Akcepti. Alie, kio povus ni volas fari? Ni ne volas fari ion, ne? Do ni simple reveni falsaj. Ne, kion mi volas fari. Akcepti. Kaj tiam tiuj, de course-- kio estas grava estas memori por fermi via anonima funkcioj. Do se vi rimarkas, ni havas kelkajn funkcio tie kiu finiĝas ĉi tie. Do ni bezonas fermi ĉi unua kaj aldonu punktokomo. Kaj tiam tiu ĉi ankaŭ havas al faru kun anonima funkcio, tial ni fermas ŝin tie. Tio genuo-jerk reago de ŝparado. Jes. Publiko: Ĉu ekzistas kialo that-- ĝuste en ĉiuj ekzemploj en JavaScript ke mi jam vidis, ni havas la unua frizita krampoj sur la sama linio kiel la funkcio? SPEAKER 1: Tio estas stila. Yeah. Kaj efektive, se vi prenas 61, ni fari ĉiuj niaj frizita streĉaj kiu vojo. Huh? Publiko: Se ni faris tion sur la PSET, estas ke malbona por stilo? SPEAKER 1: No. Ni eksplicite rakontis vi uloj fari tion. Sed fakte, tio estas speco de la regante konvencio en multaj C klasoj kaj JavaScript kaj jQuery. Do evidente, mi estas sure-- kaj efektive, se mi estis fari ĉi problemo tute blinda sen sxi rigardis lin, estas probable tre malmultaj manieroj mi estus alveninta ĉi. Mi povus esti kiel, nu bone, eble mi bezonas ekpreni iu kiu estas enigaĵoj. Kaj mi kredas havi la kono kiu, kiel, OK, se mi volas ricevi ion de formo kiu havas ID, Mi aludas al ĝi en tiu maniero, Mi volonte probable bonstata. Mi povus akiri ĉi. Sed vere, la sola afero, kiun mi opinias Mi estus vere akiri estas ĉi tie ĉi. Do estas speco de grave scias, kiel kun ajna malfacila testo, vi speco de elekti vian bataloj, dekstra? Se vi scias ke vi ne tuj ricevas tiu unua parto por jQuery, kiel mi diris, supozas ke vi havas tiun valoron kaj fari kion vi povas kun ĝi. Kaj se vi havas tempon, revenu kaj provi kaj plenigu en la pecoj. Sed ne lasu demandon kiel tiu vere Bog vin malsupren. Pro kio? Tiu estis unu demandon sur jQuery el la tuta ekzameno. Do jes, ĝi estus granda se vi havas ĝin. Publiko: [inaudible] vi bonvenas uzi jQuery. SPEAKER 1: Vi estas bonvena por uzi jQuery. Publiko: OK. [Inaudible]. SPEAKER 1: Kiel vi ne uzas ĝin? Mi devus serĉi tutan mian Javascript. Estas vere multe pli facila, Mi pensas, por uzi jQuery, ĉar jQuery fakte reduktas la kvanto de Ĝavoskripto vi skribas probable pretere, kiel, duono. Do nia kodo probable estus duoble longa sen tio. Do se vi recognize-- la plej grandaj afero forpreni de tiu problemo estas la mastroj. Se vi lanĉo ion de formo, vi tuj uzas citilojn, hash, ajn vi provas aliro. Se ĝi estas submetante, vi volas uzi ion kiel .submit. Vi verŝajne tuj uzos anonima funkcio en tie. Se vi vere bezonas la valoro de io, vi tuj fari citaĵoj, hash, kion ajn tio kampo estas, .val. Kaj rekonante ŝablonoj kiel kiu tuj esti multe pli utila ol vere sciante la nitty aspra. Jes. Publiko: Do ​​se la uzanto submetas sian nomon kaj ĝi kuras tra tiu deklaro, volo ĝi iros malsupren kaj reveni falsaj post tio? SPEAKER 1: Ne, ĉar la atentigo, vi povas pensi pri tio kiel reveno. Yeah. Do ĝi malebligos eliri. Yeah. Publiko: Could You [? loko?] la parentezojn de submit, krampoj, iu? SPEAKER 1: mi faris, mi kredas. Ĉi onia fermita dekstra tie. Kaj tiam tiu unu prenas fermita malsupren tie. Publiko: Ho, ne. Bone. SPEAKER 1: Evidente, iom, iom sintaksaj aferoj tiel, ni verŝajne nur rondiras gxin kaj esti kiel, Ne forgesu vian krampoj. Sed yeah. Akcepti. Ĉu ni havas alia ke ni ŝatus fari? Ĉu vi uloj akiras la duuma arbo unu? Ĉu ni volas iri super tiu unu? Mi sentas kiel duumaj arboj kaj DOMs estu punktoj ke vi uloj akiri bela facile. Mi ne volus vin perdi punktoj sur tio. Akcepti. Ni faru ĉi DOM tie. Mi volegas mian Surfaco do mi povis ĝuste desegni sur la ekrano. Tio estas kion mi uzis por fari lastan jaron. Akcepti. Do kiel mi menciis, ni parolis pri DOM, Document Object Model. Ili probable tuj donos vin iuj iom da fragmento kiel ĉi kaj peti vin krei arbon por ĝi. Kaj tion ĝuste ĉiuj devas vidi kun fluanta tra la etikedoj. Do ni provu kaj faru tion. Ankaŭ, laŭ kutima, se vi uloj faras cxi kvizojn, kiel mi alte rekomendas ke vi faru, kiel praktiko, iu el vi estas kiel, Mi vere ne komprenas kio estas okaz ĉi tie, simple, kompreneble, sendu al mi retleteron kun demando, kaj mi eksplikos kiel bona mi povas. Akcepti. Ni havas iu dokumento, kaj ni havas HTML. Akcepti. Do tiam ni simple analizante la etikedoj ĉi tie, ĉu ne? Do kion ni vidas comes-- kio estas la du subheadings sub HTML? Speciale ĉar ili estas dentado taŭge? Kapo kaj korpo. Ah. Kapo kaj korpo. Lovely. Tial do ni komencu ĉi tie kun kapo. Kio estas sub la kapo? Kio estas la venonta etikedo? Titolo. Kaj tiam ene titolo, kvizo. Akcepti. Do laŭvorte, estas nur promenante tra la etikedoj, OK? Se do ni havas korpo, kiel ni trairos, korpo havas tri aferojn en ĝi, ĉu ne? Ĝi sukcese tri divs. Ĉiu div ricevas sian propran malgrandan skatolon. Kaj kio estas en la unua div? [Inaudible] Kaj tiam la venonta unu estas mezo, kion mi simple tuj mallongigi. Kaj tiam la lasta estas fundo. Do vere, estas nur iranta tra. Kaj ĉar ni tuj donu vi HTML kiu dece dentado, Vi povas laŭvorte simple kuri tra kaj estu kiel, nu bone, ĉi tie estas la HTML. Do ĉi tio estas la plej ekstera angulo, aŭ plej malproksima maldekstra, tiel ke ĝi devas esti lia propra afero. Ili estas en la sama krommargxenon. Do ni scias ke kapo bezonu esti je la sama nivelo kiel korpo, sed sub HTML. Ĝi estas kion ni havas ĉi tie. Kapo kaj korpo estas gefratoj, sed ili estas sub HTML. Kaj tiam ni nur eniru ĉiu el tiuj. Do kapo havas titolon, kiu havas kvizo, kiel ni vidos tie. Kaj tiam en ĉi tiu kazo, ni havas korpo, kiu havas tiujn tri linioj. Do tiuj estas ĉiuj gefratoj ĉiuj sub korpo. OK? Do espereble kiam vi vidos io tiamaniere, vi estas kiel, jes, mi simple akiri desegni arbon. Ĝi estas gonna esti granda. Akcepti. Do volis certigi vi uloj sciis tion. Do kial ni ne iru al 32 kun nia duuma arbo? Ĉar unufoje vi komprenas binaran serĉo arbo, ĝi estas vere ne tiu malbona. Do Everett, mi povas erase-- mi signifas, tiuj estas ĉiuj en linio, ankaŭ. Do se vi havas demandojn. Perdis iom spaco tie, sed estas en ordo. Do duuma serĉo arbo estas simple maniero organizi datumojn ne en tabelo, kie la radiko estas ĉiam pli granda ol la maldekstra infano kaj la radiko estas ĉiam malpli ol la dekstra infano. Akcepti. Do ni havas tiun grandan serĉo arbon tie. Ni havas tiujn numerojn, 34, 59, 20, 106, 36, kaj 52. Kaj ni bezonas organizi ili tiel tia ke la radiko estas pli granda ol ĉio sur la maldekstra flanko kaj ĝi estas malpli ol ĉio sur la dekstra flanko. Kaj tipe, kion vi volas fari estas provi kaj trovi ion pri la duono. Kun duuma serĉo arboj, vi havu ludi ĉirkaŭe iomete kun gxin. Sed en ĉi tiu kazo, ni nur supozas ke ni scias ĉi unua. Do 36 estas nia unua tie. Tipe, mi provus kaj elektu ion proksimume en la mezo ke timige probable cedus la plej bonajn rezultojn. Do nun ni scias ke ĉiu sur transe bezonas esti malpli ol 36. Sed ankaŭ, kion vi povis vidi estas ke ni havas du punktojn super tie. Do se ni scias, ke ni bezonas du nombroj kiuj estas malpli ol la radiko, tiam vi povus simple ordigi tiujn kaj elektu la tria numero. Akcepti. Do kial ni ne komencu per tiu flanko? Do se ni scias ke ĉiu sur transe bezonas esti malpli ol 36-- sed se ni rigardas ĉe ĉi tiu, ni scias ke tiu nombro Devas esti malpli ol tiu nombro, ĉu ne? Pro tiu numero ĉi tie Estas sur la dekstra flanko. Kaj memoru, ĝuste kiel en niaj pli grandaj arbo, ĉiu sur la dekstra bezonas esti pli granda ol la radiko. Tiamaniere, ni scias ke kiom estas en ĉi necesoj esti pli grandaj ol io ajn ĉi tie. OK? Do ni havas du eblojn cxar tiuj du bobeloj. Ni havas 32 kaj 34-- aŭ bedaŭras. 20 kaj 34. Do kiel vi opinias Ni povus meti tion en? Se ĉi tiu devas esti pli granda ol ĉi tiu, tio signifas ke ni volas havas 20 tien kaj 34 ĉi tie. Akcepti. Do en la sama maniero, ni rigardu ĉe tiu speco de sub arbo. Kaj ni diras, OK, ni havas ne 36. Ni havas 106, 52, kaj 59. Dekstra? En ĉi tiu kazo tie, ni scias ke ĉi tiu necesoj havi unu afero estas pli granda ol ĝin kaj unu afero kiu estas malpli ol tio. Dekstra? Do se ni metas tiujn en ordo, estas nur pri trovanta ke meza valoro denove. Do nia meza valoro estas 59. Tial ni diras, OK, kio estas malpli ol 59? Nu, tio estas 52. Kaj kio estas pli granda ol 59? Nu, tio estas 106. OK? Do estas nur iom kiel puzlo. Ĝi tipe helpas, precipe en malgrandaj arboj kiel tiu, se vi nur ordigi ĝin, se vi scii kiom estas maldekstre kaj kiom estas sur la dekstra, kiu povas nur permesas al vi elekti kion devus esti je via radiko. Kaj tiam vi povas speco de labori de tie. Hmm. 33? Certe. Akcepti. Do ni volas krei nodon aŭ duuma serĉo arbo. Kaj ni rigardu kio povus esti en ĝi. Kaj mi kredas ke tiu volo reale esti nia lasta problemo. Ah. Akcepti. Akcepti. Ĉi tio estas kiel kion ni povas pensi kiel nodo, ĉu ne? Ni havas iu valoro, kaj ni scias ke ĝi volas nek eliris kaj dekstra infanoj. Duuma serĉo tree-- ke pere pluvis! maksimume, du infanoj. OK? Ni pripensu kiel ni difinis ligillisto, dekstra? Ni havis iom int ke reprezentis la valoron. Ni havis iom puntero kiu reprezentis kio tuj apud. Duuma serĉo arbo estas tre similaj. Ni ankoraŭ havas iun valoron, n, ke ni donu al ĝi, ĉu ne? Kaj tiam mi tiris ĉi tiuj tre eksplicite kun sagoj, ĉar ili estas efike pointers. OK? Do n estas tipe kio? Estas iu valoro. Kion ni tipe designar kiel? An int. Do ni havas iujn int n aŭ int valoro, aŭ kion ajn vi volas nomi ĝin. Kaj tiam ni havas la maldekstra infano kaj la dekstra infano. Dekstra? Kaj ni scias, ke kion ili estas point-- kio ili montrante? Ili montras al aliaj nodoj, dekstra? Do kiel estus ni deklari nodo puntero? Publiko: [inaudible]. SPEAKER 1: Hmm. Kaj ni tuj devos du el tiuj, dekstra? Kaj tiam ni povas laŭvorte do eliris por la maldekstra infano kaj rajton por la dekstra infano. Actually-- bedaŭras. Ĉar ni bezonas struct. Do struct CXar ni ne finis deklarante nodo ankoraŭ. Do nodo estas ene tie. Estas speco de kiel rekursia difino, ĉu ne? Do kiam ni estas ene tiu difino, ni ne finis deklarante nodo kiel la strukturo, tial ni devas fari struct nodo ĝuste diri, jes, ni estas fakte referenco reen al samaj tajpu aferon. Ke kiel iam ĝi estas kreis, ke la vetero bonos. Do kiom granda vi infanoj opinias ĉi estas? Kio estas la grandeco de tiu strukturo? 12. Kial? Precize. Kaj fakte, unu el la unuaj demandoj unu Kvizo Unu estas proksimume grandecoj, tial mi demandis. Bone. Ni iras al fino, ĉar la DCE estos krias al mi se ni ne faras. Sed se vi uloj havas demandojn, kompreneble, retposxtu al mi, lasu min scii. Vi ĉiuj tuj luli ĝin. Mi estas súper ekscitita. Vi ĉiuj estos farita kiel de merkredo, kaj tiam vi ricevos por labori sur via fino projektoj, kaj ĝi tuj estos imponega. Mi estos tie apud semajno de 4:00 al 4:30 se vi uloj volas veni repreni vian kvizojn. Se vi volas trovi min alifoje aŭ simple koordinato malsama tempo, bonvolu sciigi min. Alie, tio estas nia lasta sekcio. Tiel okazis granda vidi vi uloj. Bonvolu preni pli dolĉa. Kaj bonan sorton en via kvizo.