R.J. AQUINO: Let besterik ez Hasteko. Beraz, hau Quiz 1 da. Hemen goi-mailako informazioa dator. Buruz galdetegia orrialdea honetan URL, jada ez CS50.net, nahiz eta oraindik ere lan egingo du. It CS50.harvard.edu/quizzes/2013/1 da. Handi Honi buruz orriak da, diozu non eta noiz, hots, hurrengo asteazkenean gelak mordo batean. Eta hurrengo asteazkenean arabera, I bi egun esan nahi hemendik aurrera. Informazio hori guztia hor dago. Baina pilatutako da. Beraz, dena du lehen erdiko urtea da potentzialki galdetegi oinarrituta, ezin duzu benetan egin aurreratu delako C gauza gabe baldintza gero eta begiztak eta antzekoak egiteko. Baina badira du arreta bat izango da geroztik Quiz 0 estalita material, structs eta fitxategi hasita I / O. Da normalean gehiago Quiz 0 baino erronka. Bataz besteko puntuazioa normalean txikiagoa da. Aztertzeko gogor. Ikasten ari zaren bitartean, ziur erabili CS50/discuss zure galdera bidaltzeko eta besteen galderak irakurtzeko. Beraz, ez baduzu edozein zalantza, saioa hasi eta irakurri lagunen galderei. Seguruenik Oraindik dute galdera ona. Eta praktika galdetegiek hartu. Izan gara galdetegiak emanez zazpi edo zortzi urte. Guztiak ari dira online. Etorkizunean galdera antzekoak dira galdera zaharra da. Hori da guk nola egiten dugu. Galdetegia ez da existitzen oraindik. Gurekin ez dute ikusi. Baina itxura da aurreko galdetegiak. Berrikuspena saio honetarako, hau ez da Gai zerrenda zehatza. Ezin duzu besterik joateko hau eta gero primeran galdetegia prest egon. Bestela, ez litzateke duten galdetegi bat askoz. Eta hau ere ez da derrigorrez edozein buruz jakin behar duzun guztia Emandako gaia. Ekarri duzu busti gauzak egiteko Nik estaltzen dugu, gogorarazten dugu zer estalita, eta modu horrek estaliko dugu. Baina urrunago joan izan eta izango duzu sakonagoa denean ikastera bikoitzeko check nahi duzun edozein eman dena badakiela gaia eta hori dituzun bete zirela txoko guztiak hitzaldia estalita. Galdetegi notak esango dizu joateko Eskribau ohar, erlojuari hitzaldia bideoak. Duten modu ona ziur duzun egiteko zure bases guztiak estalita. Beraz, ez hasi, noiz hauetan egin nuen diapositibak, non aurkitu nuen jarri saiatu nintzen informazio. Beraz File I / O, esate baterako, Aste 7a Astelehena-en hitzaldia, eta argitaratu 6 atal eta Arazoa Ezarri guztiek dute Irudiari buruzko informazioa I / O. Egin dut honen gaia bakoitzeko. Beraz izenburua diapositibak horiek may duzu lagungarria izan. Beraz, hemen dugu File I / O. Gogoratu, in Arazoa Ezarri 5, erabili dugu fopen, fclose, fwrite, fread, eta fseek. Haber 30ish JPEGs berreskuratu eta tamaina aldatu eta messed ondoren ekin bitmap, nahiko ezaguna izan behar dituzu funtzio hauekin eta nola funtzionatzen duten. Jada ez zara ezagutzen bada, zalantzarik berrikusi itzazu. Eta ziurtatu ulertzen zer desberdinetako argudioak dira, denean erabiltzen ari dira. Baina ohikoa fitxategia lotutako gertakari bitxiak bidali zuri buruz galde daiteke - bai, ahaztu baduzu egiaztatu bada fopen benetan lan joan aurretik duzu fitxategia eraldatu. Txarra izan daiteke. Ahaztu baduzu fitxategi batean fclose fopened duzula, antzekoa da memoria leak. Hori nahiko txarra. Eta ahantzi dut baduzu egiaztatzeko lerro amaierara iritsi aurretik da idazten hasteko. Beraz, esan baduzu, beno, naiz I fitxategia amaieran. Give me 5 byte gehiago. Beno, hori da, ziurrenik, ez da joan lan modu espero duzu. Hori da benetan File I / O, beraz, askoz ere egin dugulako arazoa ezarri. Beraz ulertu baduzu zer gertatzen zen Arazoa Ezarri 5, gogoratu bitmats du eta JPEGs, ondoren Ziurrenera guztiak Fitxategi ezarri I / O. Pixka bat izanez fuzzy, behin betiko arazo hori berrikusteko ezarri eta lotutako materiala. Structs gaia duten on ziren Quiz 0 eta Quiz 1 arteko lerroa. Ez nahiko Quiz 0 ebaki. Beraz, behin betiko izango Galdetegi 1, Aste 7, astelehena. Zer da egitura bat? Hemen eta egitura bat erakusten dugu. Da mota berri bat bezalakoa da. Da edukiontzi bat bezala anitz eremuetarako. Kasu honetan, nik egiturari izendatu dugu duten bi eremu ditu ikaslearen - duten deitzen ari gara kate baten izena eta int bat duten adina deitzen ari gara. Beraz, ikasle inguru pasatzen dut edo dut ikasle aldatu, gai izango naiz beren izena eta beren adina sartzeko. Dezagun kode batzuk horrentzako. Hemen deklaratu dut ikusten dugun a student s, besterik ez bezalakoa Edozein aldagai deklaratzen dut - int x, int y, et cetera. Bertan, ikasleak s da. Hasten ezer ez zuen bere eremuetan. Hargatik horiek ezarri en. Dot dituzten egitura baten eremuak ezarri duzu. Beraz, hemen esan dut s.name duten = RJ. Eta s.age = 21. Eremuak ere zuk egunera dezakezu litzaidake eguneratu modu berean aldagai baten balioa. Beraz, nire izena aldatu RJ ordutegian oinarritzen nahi dut R.J. egiteko epeak ez idatzita duen Bide zuzena. It s.name litzateke = RJ, bera da jatorriz, esan dugun bezala. Eta, ondoren, horiek sartu ahal izango duzu. Beraz, ezarri dugu beraiekin. Eguneratu dugu beraiekin. Ere ahal izango duzu bertan sartzeko Era berean jarraitzen zuten. Beraz, hemen, ateratzen naiz inprimatzeko R.J. 21 urte ditu. Eta balio horiek naiz sartzen s.name eta s.age batera. Beraz structs sartzean da dot idazkera honekin. Yep, zalantzan? AUDIENCE: Ba al dago on arrazoia Aurreko diapositiba ez duzula jarri Ikaslea goiko lerroan, typedef bezalako on struct ikaslea eta gero amaieran ikasleari? R.J. AQUINO: Galdera izan zen, on diapositiba honetan, nik normalean ikusi dugu typedef egitura nodo eta gero struct zelaietan eta gero hitza nodoak. Eta nola etortzen ez nuen esan, typedef struct ikasleari eta, ondoren, egiturari eta ondoren ikaslea eremuetan? Arrazoia da, ez ditut behar egitura, barruan Bera eskuratzeko. Beraz ondo dago kanpoan uzteko izenik gabe. Dut besterik gabe utzi ahal izango da, baita struct anonimo bat. Arrazoia da egin dugu lotutako zerrendak eta Gauza da barrutik behar duzulako struct nodo izar bat erreferentzia egiteko. Beraz, eta egitura ditu izen bat dute, Nahi izan ezkero beranduago beraz sar zaitezke. Xehetasuna adin txikikoa da. Baina normalean ikusiko dituzu struct typedef giltza kizkur ez duzu behar bada izena eta typedef struct izen batzuk giltza kizkur eta jarraian izango bada izena jarri behar. Beraz, galdera ona da. Eta puntu horretan, aldatu ohi dugu structs eta structs gainditu inguruan egindako erreferentzia, ez balioaren arabera. Beraz, besterik ez dugu pasatzen dugu inguruan erakusleak structs ordez inguruan pasatuz ESTRATEGIKOA beraiek. Beraz zu oso maiz izango da erabiliz, kasu honetan, ikasleak * edo egitura nodo * edo nodo * ordez ikasle edo nodo daudelarik. Beraz, hemen, esan dut, Ados, aldagai ptr du da e-helbidea izango. Honez erakuslea izango da Ikaslearen R.J. izateko Beraz, arlo horietan dugu eskuratu ahal bera ezer lortu dugun bezala. Lehenengoa, identifikazio erreferentzia erakuslea eta egitura lortzeko. Hori da * ptr eta gero puntu bat eta orduan adina. Beraz eremuan sartzeko, eta eguneratu dut orain 22, delako, dezagun esan, nire urtebetetzea izan zen. Ez dago shortcut sintaxia gezi hemen erabiliz. Beraz ptr gezi adina besterik ez da * ptr.age berdina. Orain, zerbait izan dituzu da memorizatzeko eta gogoratu. Hura pset6 asko erabiltzen duzu, speller pset. Baina hau da benetan zer ari den gertatzen kanpaia azpian da. Honez erakuslea dereferencing da eta, ondoren, sartzeagatik. Galdera? IKUSLEEN: [INAUDIBLE]. R.J. AQUINO: Beraz, zergatik dugu erabiltzen ari erakusleak ordez du structs gisa ESTRATEGIKOA beraiek? Arrazoia duzu pasatzen ari bazara izango litzateke funtzio bat eta egitura bat, ez ziurrenik besterik ez 4 edo hala inguruan gainditu nahi erakuslea adierazten duten byte, gisa potentzialki 30 edo aurka 40 byte duten egiturari dira. Beraz, zerbait pasatuz funtzio bat errazagoa da gauza laburrean txikiagoa da. Galdera? AUDIENCE: Zuk aipatu izan liteke hau hasieran, baina hor daude beste diapositibak sortu [INAUDIBLE] on? R.J. AQUINO: diapositibak hauek izango berrikuspena saioaren ondoren sortu. Bidali dugu horiek web orrian. Beraz, mugitzen eta on apur bat mugitzen azkarrago, datu buruz hitz goaz egiturak. Asko dira. Horietako sorta bat estaltzen dugu. Hona hemen zer ulertu behar duzu Datu egitura buruz. Benetan behar duzu altuan ulertzen Maila Egitura bakoitza zer den. Daiteke ingelesez azaldu duzu zure lagun hartu ez duela CS50 nola gure datuak antolatzen ari gara eta zergatik dugu litzaidake beharreko zerbait erabiliz modu horretan? Hori gauza bat da. Gauza bi, ulertu ezartzeko. Beraz, ulertzeko gauza horiek nola erabili C. Eta dugu hau baino gehiago egingo du. Eta gero gauza hiru jakin beharko litzateke aldiz exekutatu eta mugak hainbat egitura erabiltzen ari zarela. Beraz, ulertzen zergatik erabiliko zenuke bat hash taula array bat izan beharrean. Ulertzen nola azkar, batez beste, hash taula bat sartzean da. Zer eragiketak azkarrak dira ulertu lotutako zerrenda baina array on motela eta alderantziz. Beraz, hori ulertzeko, izango behar duzu Jakin Big-O idazkera ulertzen nola horiei buruz hitz gauza mota. Eta egingo duten buruz hitz egiten dugu. Beraz, lehenengo gauza, lotuta zerrendak. Hemen maila altuko irudi bat da lotuta zerrenda. Hau erakusten dugu klasean. Normalean 10 pertsona dugu agertokian zutik. Baina nodo multzo bat dugu, non bakoitzak nodo balio batzuk eta erakuslea ditu bere hurrengo balioari. Beraz, nodo batetik bestera hurrengo, zuk bakarrik esan, hurrengo nodoa eman dit. Nodo duzu. Eman dit hurrengo nodoa. Nodo duzu. Eman dit hurrengo nodo eta abar arte ez dago nodo ezkerreko da. Beraz jarraitzeko buruz hitz maila altua da. Oso erraza da gauzak txertatu lotutako zerrenda batean. Ez baduzu ordena zaintzeko, dezakezu besterik jaregin eskubidea hasieran. Duten etengabeko denbora da. Baina zaila da balore bat aurkitzeko. Duzun galdetu saiatzen bada, da nire zerrendan zazpi? Bidez joan behar duzu Balio bakoitza. Hau da, zazpi? Hau da, zazpi? Hau da, zazpi? Hau da, zazpi? Behin eta berriro. Eta hori da, O (n). Beraz, galdetegia ikasten, alderatu honetan array. Ados da hori? Argiak joan iluntzeko. Ados. Noiz lotuta zerrenda hobea da? Noiz array bat da hobea? Hargatik begiratu kode batzuk. Hemen potentzialak nodo bat da. Egitura bat da. Int n bat du, eta horrek gure balioa izango da. Eta egitura nodo * ditu ondoan, eta horrek Gure hurrengo nodo erakuslea da. Beraz, hemen, ikus dezakegu gertatu garela int bat jarri dute gure nodo batean. Baina honi lotuta char zerrenda bat balitz ko edo lotuta karroza zerrenda bat, dugun guztiz ere hori egin izan. Pset6 gogoratu, ziurrenik izan duzu bat lotuta char bidalia edo besterik zerrenda char estatikoan arrayak. Dezagun hemen eragiketa bikainean. Beraz berri bat txertatu nahi dugu n gure lotutako zerrenda sartu. Hasten gara ateratzen burua erakuslea dela batera Nodo hau erakuslea duela n balioa eta erakuslea baten ondoan hori Nodo hau puntu balio bat da n eta nulua hurrengo batean, zeren azken nodoa da. Beraz, denbora interes, egingo dut jarri kodearen guztiak pantailan. Eta horren bidez dugu oinez lerro batzuk aldi berean. Beraz, hemen kodearen da. Espero dut irakurgarria da. Lehenengo gauza egiten dugu nodoaren malloc dugu. Beraz nodoaren erakuslea egiten duten ez da nahiko izan ezer ezarri bertan oraindik sortu. Ziur hori egin egiaztatu dugu nodo berria ez da nulua. Bestela, amore ematen dugu. Beraz izana egiaztatuko duten, gaur egun dugun balioak ezartzeko nodo batean. Beraz, kokatu dugu n berria gure n zelaira sartu. Eta hurrengo erakuslea da seinalatu ezarri dugu jatorrizko burua, ahal dugu, beraz orain txertatuko honetan gure zerrendan sartu nodoa. Azkenik, globala den puntua dugu gure nodo berria, horrela geunden bada burua etan hasiko da, hau izango genuke ordez lehen nodo berria lehen nodo zaharra. Eta funtzio hori irteten denean, aldagai nodo berria jada ez da existitzen, funtzioa tokiko zelako han. Beraz, hau mundu egoera da. Gure burua global gure berrietara seinalatzen lehen nodoa, horrek seinalatzen gure jatorrizko lehen nodoa, zein puntu horren ondoren nodo. Duten txertatze zen. Espero dut hori izan nahiko zuzenean jarraitu. Zalantzarik, irudi bat marraztu. Beraz, buruz hitz egiten duela iruditzen zait lotuta zerrendak eta begira Oso kodea ez da lagungarria. Bati lotuta argazki bat begira berriz zerrenda esker, uste me, oh, beraz, Nodo hau daukat hemen. Baina erakuslea eguneratzeko badut, sortu deskonektatu bueltarik. Eta ahaztu nuen non nodo doa. Eta kode irteten da. Eta hainbat nodo duzu duten deskonektatzen dira. Eta ez duzu, azkenean, nahi duzun zerrendatik. Beraz Irudian marraztu eta egin bada urratsez urrats, zorionez, ikusiko duzu gauzen ordena zuzena terminoetan erakusleak eguneratzeko ziurtatu zerrendan elkarrekin dator. Txertatu nahiko erraza da. Bat zailagoa bat litzateke ordenatutako zerrendan sartzea. Funtzioa zailagoa da ezabatu eta jakin, beraz, zerrenda baten bidez bilatzen ikusten den zerbait da, bada ez. Agian pset6 in this zenuen duzunean hash taula lortu eta esan duzu, ondo, sagar hitza da nire zerrenda lotuta? Beraz, dagoeneko egin daiteke hau. Baina zalantzarik gabe, freskatzeko zure memoria eta saiatu aurkitu reimplement eta reimplement lotutako zerrenda bat ezabatzeko. Fun Alboko ohar, han ere bi aldiz-lotuta zerrendak, non duzu bai aurrera eta seinalatu duten erakusleak atzera, beraz, joan liteke hurrengo nodo eta aurreko nodoa. Eta han iazko buruzko galdera bat izan zen mota horretako galdetegi, hizketan buruzko bi aldiz-zerrendak lotuta. Orain, egitura bat Oraindik duzu, hori da nahiko ezagunak dira, zeren gehienetan zuetako seguruenik erabiltzen pset6 da. Hemen bat hori da pixka bat gutxiago ezagutzen da. Alboko ohar bat, uste dut Quiz 1 dela nagusiki Quiz 0 baino gogorragoa, zeren gauzak, egiten ari zaren duzu ez dute askoz ere egin. Nahi duten beste modu bat jarri, Quiz 0, C. asko idatzi izan duzu Eta gu C. buruz galdetu duzu Quiz 1, zuri galdetzeko buruzko goaz PHP eta JavaScript, eta zuk ez askoz gisa idatzia. Zuri galdetzeko C-kodearen buruzko goaz duten ez duzu idatzita bezala askoz, C stuff aurreratu honetan. Beraz, behin betiko, praktikatu stuff dugu buruz hitz egin zuen hitzaldian duzula ez derrigorrez egin arazoa multzoa. Horietatik hitz egin, ez duzu idatzia arazo bat on pila bat ezarri. Baina hitzaldia izan zen. Hona hemen maila altuko irudi pilak urtero erakusten duten dugu. Da erretiluak pila in da the Mather jantokia. Goi-mailan, pila bat dira azken urtean, lehen datu egitura. Horrek esan nahi bazoazela gauzak jarri ahal izateko - 1, 3, 7, 12, 14, 0 negatiboa. Gauza bat ezin nuen izan esan - negatiboak 3, 0. Sartu gauza horiek guztiak jartzen duzun Eta azkena jarri da lehenengoa Alde hori atera du. Beraz, bi eragiketak duzu - bultza eta pop. Duenean zela dut guztia hau bezalako keinuak bultza dira. Eta orduan iritsi nintzen grab aldera zerbait edo gainean iristeko grab zerbait, hori laster ekarriko. Beraz, pilak martxan jarri ahal izateko joan. Eta horiek erakutsi dugu hitzaldia array erabiliz. Baina horiek egin ahal izango duzu lotutako zerrendak erabiliz. Pila bat datuak kontzeptuala da egitura, ez bat gustatzen ezartzeko-jakin bat. Beraz, zer da begirada litzateke? Motatako hau atsegin du begiratu litzateke. Zenbaki oso tamaina bat nahi duzuna. Eta balioak array bat izan zinela duten erretiluak deitzen ari gara, hori delako zer irudi izan zen gurekin - int erretiluak - eta, ondoren, gehienezko edukiera batzuk. Beraz, zer itxura bultza litzateke? Beno, pila ren bat badugu, orduan bultza ak aldera zerbait, lortuko genuke ren tamaina. Eta hori hurrengoa izango litzateke gure array toki irekiak. Beraz, gure pila hiru gauza behar badugu, Orduz erretiluak 3 hurrengoa izango litzateke Leku irekia, delako 0, 1, eta 2 dagoeneko bete dira. Beraz, balioa jarri dugu sartu s.trays [s.size], hirugarren puntura. Eta gero esan s.size Kontatzailea dugu, hey, hiru gauza izan genuen aurretik. Orain, lau ditugu. Beraz bultza duzun hurrengo aldian, zaren zerbait jarri 4 sartu. Edo pop duzun hurrengo aldian, bazoazela Eta 3 ordez 4 edo dena begiratu. Eta gero, egia itzuliko dugu nahi esan, beno, lortu dugu. Honetan lan egin zuen. Arau nagusi gisa, bada hori da funtzio bat Egia itzultzeko edo ustezko faltsuak beti itzultzen egia, you may zerbait gaizki egin. Beraz, ez du lan? Ondo, 1 ondo funtzionatzen du, eta 2 eta 3, eta 4, eta bost. Baina demagun nire ahalmena iritsi nintzen. Nik orduan arazo bat sartu exekutatu, zeren tamaina ahalmena berdina bada, naiz orain zerbait jartzea sartu nahian array non ez dut lekua izan. Beraz, check gutxian hau konpontzeko. == EDUKIERA s.size bada, itzultzeko faltsua. Bestela, joan eta egin egin dugu. Beraz, zer gehiago ezin eskatu dugu pilak buruz? Zer gehiago ikasi behar duzu? Zer gehiago landu behar duzu? Beno, pop ezartzeko. Dagoeneko egin dugu bultza. Duten konpondu dut. Ez ezartzeko array bat, non lotutako zerrenda bat erabiliz gero, agian. Ez int bat ezartzeko. Ints egin dugu hemen. Baina karroza izan zitekeen. Kateak dut izan zitekeen. Char bidalia izan zitekeen. Begiratu mota egiteko iragana galdetegiak at galdera pila buruz galdetu dugu. Esan dut pilak estali dugula inguruan bera dugu estaltzen haiek bezala urte iragan. Beraz quiz galderak egin beharko lukete adierazle ona izan. Are azkarrago aurrera, ilarak. Pilak bezala ari dira. Baina lehen ari dira, lehena inprimatu. Oraindik British bada, hitza ilaran ziurrenik zentzu asko egin duzu. Bestela, izan ahal izango duzu entzun lerro gisa. Lerroan bezala lan egiten dute Apple dendan. Erakusteko 3:00 etan lehen pertsonan Goizeko lehen da Pertsona bere iPad erosteko. Beraz, bi eragiketak dugu - enqueue eta adierazten. Enqueue jartzen norbait lerroan. Adierazten tira lehenengoa Pertsona gelditu du. Berriz ere, egin dezakegun hau array bat. Beraz, egiturari dugu da hitzaldia erakutsi? Ko hau izan zen. Berriz ere, zenbakiak. Berriz ere, tamaina eta gauza berri honen aurrean. Zergatik ez dago aurrean zerbait deitzen? Da hurrengoa indizea da elementu adierazten du. Besterik ez da barrutik jarraipena erakusteko lehen zentzuduna, hain dugu tira ahal denean behar dugu. Zalantzarik hitzaldia notak begiratu eta saiatu enqueue eta adierazten ezartzeko galdeketa bidaltzen denean ikasten. Gauza garrantzitsu pentsatzen. Inguruan biltzeko bada aurrealdean gehi tamaina edukiera baino handiagoa bukatzen. Berriz ere, zure egitura betetzen denean, arazo bat joan zaren. Hash ikusi aurretik duzu mahaiak. Duzun gehienak seguruenik ezarri horiek pset6 da. Helburua O egitura bat da (1) etengabeko denbora txertatzeko eta O (1) etengabeko denbora bilaketa. CS50, hau inplementatu dugun bezala zerrendak lotuta array bat. Gako hash taula bat egiteko osagaia hash funtzioa da. Beraz, zure sarrera bihurtzen du, demagun, hiztegi, hitz bat, zenbaki bat sartu, hau da, gure indizea izango da. Eta indize horretan erabiliko dugu gure array sartu. Hortaz, hona hemen gutxi irudi cute bat da etik study.50.net. Sartu hitz guztiak bota dugu gure hash funtzioa. Eta hash funtzioa esaten digu non hitz horiek jartzea. Hori guztia handia bertan lurrak han zirrikitua bakoitzeko hitza bakarra. Baina gogoratu duzun bezala pset6 batetik, ez dago zirrikituetan baino hitz gehiago dira. Beraz, zer gertatzen da, zuk talka bat lortzeko? Ordez balio bat gordetzeko urtean, demagun, hash taula 3, zuk lotuta zerrenda gordetzeko. Eta beraz, ordez cantaloupe izatearen Hemen, lotutako zerrenda bat izango litzateke, non lehen nodo cantaloupe da. Eta hurrengo nodo katu da. Eta hirugarren nodo talka da, dezagun esan, hitz horiek guztiak hasiko delako C.-ekin Beraz, duzun gehienak egin hau pset6 da. Ez zenuen hash taula bat egin bada pset6 on eta antzeko zerbait saiatu zara trie bat, zalantzarik hash taulak berrikusi. Zenuen ez bada pset6 on, zalantzarik hash taulak berrikusi. Eta hori egin duzu pset6 bada eta ez da lan nahiko eskubidea eta zuk arazoak asko izan zituzten, eta, zalantzarik hash taulak berrikusi. Beraz, ikasgaia benetan da behin betiko hash taulak berrikusi. Duzu gutxiengo zabala saiatu daudelarik pset6 saiatzen. Goi mailako argazkia. Honen antzeko zerbait, da non bakoitzak nodo haurrek multzo bat, non bakoitzak Umea gutun bat dagokio. Eta nodo bakoitzean, gainera, adierazi du, beno, hitz bat naiz. Beraz, kasu honetan, hitzaren Maxwell, M jarraitzen duzu bada nahi bat egiteko X-W-E-L-L eta ondoren jarraitu bat gehiago. Eta ikur hau, delta, lortuko duzu eta horrek honek hitz bat da esan nahi adierazten dugu. Beraz Maxwell hitz bat da. Deltak horiek esanahi osoan dira hitzak eta horrek gauzak are gauzak ez dira. Beraz pset6, datu dugu gordetzen batera gure nodo edozein zen "I am a hitza. "Eta saiatzen buruz cool gauza da txertatzeko frogatzen dute eta O (luzera hitz baten) bilatzea. Beraz, besterik gabe, Maxwell bidez lortu, ez da M-A-X-W-E-L-L. Beraz, zazpi edo zortzi - Ezin dut zenbatu - den amaiera lortzeko urrats eta gauzak begiratu. Ezartzeko, beraz, azkar hemen. Rob bati lotuta bidez joan bere postmortem zerrendatu. Beraz, egiaztatu dituen. Barkatu. Bere postmortem trie baten bitartez joan zen. Beraz, egiaztatu dituen. Baina funtsean duzu nodo bakoitzak 27 hurrengo nodoak eta inork erakusleak Boolearrak naiz hitz bat. Begiratu Rob postmortem nola eman hau benetan inplementatu. Gure betiko egitura, gure zuhaitzak eta bitar bilaketa zuhaitzak. Beraz, horiei begira, horiek nola estaltzen ziren azkenaldian gehien Astea 8, astelehena. Zuhaitz bat trie baten antzekoa da, zuk izan ezik ez dute zertan 27 nodes at puntu bakoitzean. Eta ez duzu datu horiek eduki bakoitzean - hori ondorioztatzen du ala urrats bidea ez du axola. Berriz trie bat, bidearen goiko tik behean, Maxwell, guretzat garrantzitsua izan zen. Baina nodo bakoitzak anitz umeak, agian. Hiztegia gehiago batzuk ditugu. Zuhaitzaren erroa , oso goian dago. Eta hori oso beheragoen esaten dugu duten ez dute nodo haurrek hostoak dira. Beraz trie bat bezala, zuhaitz bat da nodoen egitura bat. Duten goaz zuhaitz mota arrunt bat buruz hitz zuhaitz bitar bat da, non Nodo bakoitzean ez haurrak edo ditu seme-alaba bat edo bi seme-alaba. Beraz, argazki hau hemen ez da Zuhaitz bitar bat, zeren nodo 3 hiru seme-alaba ditu. Baina horiek, gainerakoak alde batetara bagenitu hura zuhaitz bitar bat delako jabetza duten nodo bakoitzean erakusten zero, bat, edo bi seme-alaba ditu. Beraz, nola liteke hau adierazi nahi dugu kodean? Nodo bat non nodo bakoitzak izan dugu barruan zenbaki oso bat, eta baita ezker aldean zuhaitzaren erakuslea gisa eta on zuhaitza erakuslea eskubidea, beraz, bi seme-alaba ditu. Nola da hau baliagarria? Beno, buruzko arauak egin badugu non gauden nodes jarri, bilaketa azkarrago egin ahal izango dugu. Beraz, ez dago bilaketa bitarra kontzeptua bat da Zuhaitz, non nodo guztiak utzi Azpizuhaitza balio txikiagoa ari gara begira nodo baino. Eta eskuineko Azpizuhaitza nodo guztiak Balio handiagoa dute erroko nodoa baino. Orain, hitz asko itxura. Jarri bikoitzaren barruan noa Komatxo eta erakusteko argazki bat. Hortaz, hona hemen adibide bat da binary bilaketa zuhaitz bat. Ikusten hasten gara 10. Ezkerrean dagoen guztia 10 baino txikiagoa da. Eta eskubidea dena hura baino handiagoa da. Baina are gehiago, hori baino, nodo bakoitzean Zuhaitzaren jabetza hori adierazten. Beraz nodoaren 7 ditu 3 bat egiteko utzi eta 9 bat eskuinera. Beraz, horiek guztiak 10 baino txikiagoak dira. Baina besterik ez dutenei begira, 7 baino ez du 3 haren ezkerreko eta 9 bere eskubidea da. Eta, era berean, eskuinaldetik, 15 ditu 14 haren ezkerreko eta 50 haren eskuinaldean emateko. Beraz, han hiru nodo, 15, 14, eta 50, dira, halaber, baliozko zuhaitz bitarra edo baliozko bitar bilaketa zuhaitza. Eta guztiak 10 baino handiagoak ari dira. Beraz, izan badira eskuin han. Ba al dago galdera bat? AUDIENCE: Zelan zuk aurre denean bi sevens duzu? R.J. AQUINO: Bai. Nola aurre bi balioekin duzu berdinak dira? Zenbait bitar bilaketa zuhaitzak esan duzun bikoiztuak ez ikusi, helburua da delako besterik esan, ikusi dut gauza horiek orain arte. Zenbait bitar bilaketa zuhaitzak esan dezakegu nodoaren barruan kopuruan izan. Besteak beste, esan liteke hori guztia ezkerretara baino gutxiago edo berdina da. Eta eskubidea dena baino handiagoa da. Araberakoa da zer Arazoa da konpontzen ari zaren. Hiztegi bat, beraz, esate baterako, zuk Ez litzateke bikoiztuak buruzko zaintzeko. Bota nahi duzun izarrekin. Baina beste arazo batzuk agian zaintzeko. AUDIENCE: Posible al da izan 1 a 15 ezkerraldean, zein da 10 baino gutxiago? R.J. AQUINO: N º 14 izan ziren hemen 1 bat bada, hau litzateke ez du baliozko bitar bilaketa zuhaitza izan, delako eskuinean dagoen guztia 10 ditu baino handiagoa izan. Eta ikusiko dugu zergatik. Bilaketa lurra nire helburua bada 14 aurkitu, hasteko erro dut. Beraz, begiratu nuen. Ados. Erro etan hasiko goaz. Begiratu 10. Beno, 14, gure xede, 10 baino handiagoa da. Beraz, eskuin aldean egon behar du. Hau oso telefono osoa antzekoa da Liburu gauza egin genuen, bitarra bilatu han. Baina bilaketa bitarra ordez array bat, bitar gara Zuhaitz hau bilatzen. Beraz ari gara oraindik 14 bila. Beno, 14 15 baino txikiagoa da. Beraz, gure zuhaitzean bada, muztioa Arlo honetan hemen egotea. Eskubi aldean egon behar du 10 eta 15eko ezkerrera. Eta horrela nodo hau egiaztatu dugu. Eta yay, aurkitu dugu 14. Ez dut horren bidez oinez joan. Baina hemen kodearen da. Benetan da nahiko erraza, hau recursive delako. Zer izan den galdetegi bat egiten duzun galdetzen dugu? Kode hau idatzi behar duzu eskatu genezake. Kode hori egin dezazuen eskatu izan dugu eta kode hori aldatu eta azaldu zer egiten ari da. Bai. Galdera? AUDIENCE: Are diapositibak hauetan izango da eskuragarri egongo da azken aldia ziren bezala? R.J. AQUINO: Bai. Beraz diapositibak horiek behin betiko egingo bidalia izan. AUDIENCE: benetan ari dira posted oraintxe web orrian. David besterik egin. R.J. AQUINO: diapositibak hauek daude oraintxe web orrian. Dut seguruenik adabakia egingo gora pare bat typos adierazi dut eta horiek konpontzeko. Baina badira korronte bat bertsioa gunean. Beste batzuek gauzak egin duzun galdetu izan dugu - idatzi txertatze. Etorriko bertsio bat idatzi funtzioa errekurtsiboa erakutsi besterik ez dugu zuk edo gauza horiei buruz hitz egiteko, bezala paragrafoetan, hitzak, esaldiak ere. Run aldiz alderatuz eta azalduz zer bitar bat erabili nahi zenuke bilaketa ordez baten zuhaitza hash taula, esate baterako. Beraz, egitura horiek ulertu maila nahiko sakon batean. Nola idatzi ulertzen, nola horiek erabili, nola haiei buruz hitz egiteko. Eta duzun guztia ezar dugu. Galdera? AUDIENCE: Noiz idazten ari zaren binary bilaketa zuhaitz, nola egiten duzu zer balioa zehazteko beraz, eta erro bezala? R.J. AQUINO: Galdera izan zen, zer balioa ez root bezala egin duzu? Zure kodea arabera, zuk erro global bat izan dezake. Beraz zugan litekeena beharbada izan dute Hash taula global bat pset6. Edo erro pasatzeko dezakezu argumentu gisa ere. Beraz, bilaketa-funtzioa hau hemen nodo bat argumentu * hartzen. Eta, beraz, edozein dela nodoa izango gertatuko duzu begira bat tratatzeko ari zaren Zure erro gisa denean pasatzen sartu duzu Eta multzo guztiak nago. Horiek nire txirrista daude. Hurrengo pertsonaren swap etorri ahal ordenagailu eramangarri bat eta mic in. ROB BOWDEN: agian izan dudala uste dut galdera hori interpretatu ezberdinean. Baina gisa interpretatu nuen, baduzu zenbakiak 1, 2, eta 3, nola egiten dugun Ezagutzen 2 erro egiteko aurrean edo 1 eta 3? Egin dugu erro 2 bada, orduan nicely da 1 eta 3 ezkerrera eta eskuinera. Baina bada 1 erroa da, gero da 1 arte goian, 2 markagailuan, 3 eskuinera. Beraz, besterik ezean, ez dakizu zer erro dadin. Eta edozein algoritmoarentzat ari gara zain ematen duzu, besterik gabe, lehenengo gauza duzu txertatze erroa izango litzateke. Edo zuhaitz bitar bat emango genuke duzun dagoeneko existitzen dela erro bat dauka. Baina beste algoritmo existitzen da, hala nola, erro eguneratuko da, eta horrela izanez gero azkenean, egoera non da 1, 2, 3, automatikoki litzateke eguneratzeko erro berria 2 egin eta, beraz, eta oraindik ere, nicely orekatua. ANGELA LINKS: Cool. Hey, guys. Angela naiz. Eta ez dut amaitzeko, gure C joan eta, ondoren, gure web batzuk sartu teknologia - HTTP, HTML eta CSS. Beraz, lehenengo gauza da buffer gainezkatzea erasoak. Beraz, dezagun kode hau begirada bat. Nahiko erraza da. Badira funtzio lelo bat da. Eta ez du ezer itzuli. Baina hartzen erakuslea da bar izeneko kate bat. Eta nik hau aldarrikatu joan buffer, zein pertsonaia bat da array duten 12 slots ditu. Eta memcpy erabiltzen du, hau da, besterik gabe, bat funtzio hori helbide batetik kopiak beste bat sartu. Beraz, hau da, sartu kopiatu nahian edozein dela ere gure buffer bar apuntatzen da. Beraz, edozein ideia zer gertatzen da kode honekin? AUDIENCE: bar baino luzeagoa bada C, gainidatzi egingo dira. ANGELA LINKS: Bai, hain zuzen. Bermea ez daukagu ​​duten taberna da 12 baino gutxiago izango. Besterik zenbait zenbaki arbitrarioak 12 egin genituen. Eta, bezalako dezagun espero geunden duten gure erabiltzailearen sarrera txikiagoa da, 12 karaktereko luzera. Beraz, mundu ideal batean, gure sarrera bada espero beti bezala, eta gero lortu dugu , kaixo bezala zerbait. Hori da, 12 karaktere baino gutxiago. Bertan lortzen char c sartu irakurri. Eta, ondoren, zerbait egin dugu berarekin. Ez da benetan axola. Baina pertsona gaiztoren bat egin izan zerbait gehiago hau bezalako, non dira ematen diguten edozein dela taberna seinalatuz da, nik array erraldoi hau seinalatu of besterik A. Eta hau da bidea 12 baino luzeagoa. Beraz, modu guztiak joan behera hemen bueltan nora Helbide izan erabiltzen. Beraz, demagun funtzio honetan da foo izeneko. Agian beste batzuek zuten foo izeneko funtzioa, izan zen nagusia deituta. Beraz foo martxan dagoenean, berau behar nora itzultzeko ezagutzeko. Foo izendatu funtzio batzuek deitzen bada baz, hura dela jakin behar du baz itzuli got. Eta hori bueltan zer helbide honetan da behera hemen da gurekin kontatzea. Baina Gainidatzi dugu beste batzuekin bada helbidea, kasu honetan, hau da, bat at helbide ordezkaritza Oso buffer honen hasieratik, eta gero zer benetan gertatuko dela ordez baz atzera itzultzeko, gure funtzioa deitu, besterik ez da Kode hori aurrealdean joango gara. Eta hau izan zen bada ez delako bat maltzurren hacker dude zetorren eta injektatu hau, orduan, agian, kopuru hori A-ren A ez da, benetan. Eta benetan besterik kodea duten saltoak ordenagailuko edo zerbait. Beraz moduko honi buruz defentsa izateko gauza, inoiz ez du bere gain hartzen duzu erabiltzailearen sarrera da nolabaiteko karaktere-kopurua. Adibidez, egiten ari denean zinen speller, kontatu ziren hitzak zirela 40 karaktere izango bakarrik joan gehienez luzean. Eta hori ona izan zen. Baina ez bada, orduan izango litzateke ziurtatu 45 irakur bakarrik aldi berean pertsonaiak. Bestela, agian gainidatziko duzu Zure buffer. Duten edozein galdera. Bai. AUDIENCE: Ezin hitz egin besterik ez duzu horiei buruz zerbait gehiago? ANGELA LINKS: Barkatu. Bai. AUDIENCE: mic besterik bideoa da. Egingo da, eta saiatzen naiz proiektua. Hi, mutil. Sup? Hargatik baino gehiago gauza batzuk joaten diren CS50 liburutegia, zein duzula erabiliz seihilekoa guztiak, batez ere, erabiltzailearen sarrera lortzeko. Jakingo duzuen bezala, besteak beste, zuk CS50 du besterik CS50.h, eginez liburutegian bertan prototipo guztiak baino erabil ditzakezun funtzioak, bezalako GetString eta GetInt, eta GetFloat, et cetera. Eta bat lerro hau da CS50 en liburutegi kate bat definitzen duena, eta horrek you guys guztiak orain jakin char bat besterik ez da *. Baina dezagun peek at GetString nola funtzionatzen. Hau oso laburtutako bertsio bat da. CS50 liburutegia fitxategiak gora tira dezakezu , nire ustez, batetik manuals.CS50.net. Eta irakurri ahal izango duzu bitartez benetako funtzioa. Baina hau estaltzen batzuk zati garrantzitsua da. Beraz buffer batzuk sortu dugu gaitasun batzuk. Eta zer egiten du pertsonaia bat lortuko dugu etik n estandarra aldi berean. Hori da, non erabiltzaileak input kontsolan testua. Eta horrela goaz batean irakurri joan pertsonaia hain luzea ez da, berri gisa line eta ez da fitxategiaren amaieran, eta horrek sarrera estandarra amaiera da. Eta horretan irakurri dugu pertsonaia bakoitzeko, pertsonaia hori amaitzen gehituz gero karaktere kopurua irakurtzen dugu eta hori da gure ahalmena baino gehiago, orduan zer egiten dugun da tamainaz aldatu besterik ez dugu gure buffer da birritan betiere horrela. Beraz, berriro ere, hau buffer aurka babesteko gainezkatzea erasoak, irakurtzen duzulako garai batean pertsonaia bat. Eta bada edozein unetan irakur zuk ere asko, zure buffer zabaltzeko besterik ez duzu. , Biderkatu bi eginda. Eta gero, gela gehiago egin behar duzu. Bestela, gehitu besterik ez duzu bufferra pertsonaia bat. Eta duzun guztia irakurri ondoren pertsonaiak, bufferraren txikitu egingo da atzealdean tamaina normala behera, gehigarri bat null amaierako, eta gero itzultzeko. Orain, dezagun GetInt at. Dezakezu guys irakurri hau? Pixka batean dezaket txikiagotzeko. Ez dakit ordenagailuak nola funtzionatzen. Never mind. Ezin dut Handiagotzeko behar bezala. Hau da, benetan gogorra. Sentitzen dut. Dezagun honetan begiratu besterik. Beraz, zer GetInt ez da lehen irakurtzen GetString, kate batean eta horrek aurretik Nik inplementatu dugu. Eta hemen, kontuan izan da zati garrantzitsu bada amaitzen dela partekatzea honetan irakurketa ez benetan kate bat bezalakoa da, ondoren itzuliko INT_MAX dugu besterik porrota irudikatzeko. Zergatik itzuliko gara INT_MAX ordez negatibo 1 edo 1? Ideia bat? IKUSLEEN: [INAUDIBLE] negatibo 1 bat. ANGELA LINKS: Bai, hain zuzen. Beraz, modu justuago nahi litekeena sarrera 1 edo 1 negatiboa den galdetutakoan garren bat eta edozein n-garren Maxes da. Izugarria da. Ziurrenik ari, ez erabiltzea da joan. Beraz, hau diseinu erabaki bat bezalakoa da Ziur ez duzu nahi gabe egin Akats bat itzuli edo ez duzu itzultzeko 1, hau analizatu liteke Erantzun zuzena baten ondorioz. Lerro bat ez da hala bada existitzen, INT-tan itzuliko gara. Bestela, sscanf erabiltzen dugu, horrek scanf bezala da. Baina irakurtzen du kate bat da. Eta formatua hau dugu katea, eta horrek%% i c da. Eta saiatu gara eta datozen ekin erabiltzaileari eman zigun dena delakoa. Datorren gauza kopuruaren nahi dugu 1 izango da, eta horrek esan nahi dugun bakarra benetan zenbaki oso bat etor dadin nahi agian zuri inguratuta espazioa, agian ez. Kasu honetan, zerbait jarri ezkero barra bezala, barra ez dator batere, ez dago behar izan duelako hasieran zenbaki oso bat. Beraz sscan aktibatuta inoiz ez 0. Beraz, ez duzu itzultzeko. Bestela, zerbait jarri ezkero bezala 1, 2, 3, A, B, C, duten partiduak bai osokoa baina ere ondoren pertsonaiaren. Beraz, 2 itzuliko da sscanf, zein ere ez da ideal. Ez duzu nahi 1, 2, 3, A, B, C baliozko int bat izan. Beraz, hori ere ez du funtzionatzen. Baina esan 50 antzeko zerbait jarri duzu. I duten% bat egingo du, eta horrek esan nahi n sartu irakurri lortuko du. Eta, orain, n 50 zenbakia izango ditu. Eta gero itzuli ahal izango duzu. Bestela, Berriz saiatu hit duzu. Eta ondoren doana besterik ez da berriro arte sarrera egoki bat lortuko duzu erabiltzaileari from. Duten edozein galdera? AUDIENCE: Beraz inprimatu zinen arte GetInt balioa [INAUDIBLE] on litzateke besterik osokoa eta max? ANGELA LINKS: Bai. Beraz GetInt erabiltzen bada, bere gain hartu behar duzu ez duzula nahi garren max izateko baliozko sarrera bat izan, zoaz ari delako bereganatzeko duten hori txarra zen. AUDIENCE: bada ez dugu char c dute eta Norbait 1, 2, 3, Sam jarri, litzateke oraindik ere, 1, 2, 3 lan? ANGELA LINKS: uste dut lan litzateke. Baina ez duzu 123Sam nahi baliozko sarrera bat izango da erabiltzaile batek. Hori ez da benetan int. Beraz, ez dirudi arrazoizko da analizatu int bat gisa. Ados. Kasu horretan, dezagun mugimendua Internetera on. Beraz HTTP ez da hizkuntza bat. HTTP besterik estandar multzo batentzat nola bezeroen gauzak bidaltzen duzunean, hori da zuk, zerbitzariak. Duten web orrian beste pertsona da. Beraz HTTP Hipertestua stands Transferitzeko protokoloa. Bihotza eta arima da web osoan. Hipertestu zatia besterik HTML aipatzen. Transferitzea bezalako bezeroentzat da eskaerak bidali ahal izango duzu zerbitzariak, erantzunak emateko. Eta protokoloa besterik ez da, nola egiten zerbitzari batera portatzen espero duzu? Eta nola portatzen ustezko duzu besteak beste, hori arintzea dezakezu komunikazio prozesua? Beraz HTTP eskaerak honen antzekoa bilatzeko. GET eskaera mota da. Zaudete ikusi GET eskaerak eta POST eskaerak. Bigarren gauza han, / ninduen, hori da besterik URIaren edo non duzun URL antolatzailea barruan joan nahi. Beraz, eskaera hau egiteko eskatuz orria, www.facebook.com / ni bezala. Eta GET eskaera bat da. Eta gero HTTP/1.1 hau, hori besterik erabiltzen ari zaren HTTP bertsioa. 1,1 Ia beti. Eta gero, ez sorta bat da beste gauza gehiegi du. Benetan ikusi ahal horiek baduzu ireki zure kontsola zaudenean sarea arakatzeko. Erantzunak bilatzeko zerbait gehiago hau bezalako. Goiko zatia da, berriro, HTTP mota erabiltzen ari zaren egoera kode bat ondoren. Beraz, 200 OK da guztia lan egin zuen. Hemen zure edukia da. Zure edukiak, jarraitu du. Eta gero esango dizu zer nolako too edukia eta beste gauzak. Status kode ziren, badaude batzuk garrantzitsu batzuk jakin behar duzu. 200 OK guztia urrezko bezalakoa da. Guztia lanak. 403 Forbidden. Hau Seguruenik ikusi duzu ahazten baduzu zerbait behar bezala chmod izateko. Ez duzula izan esan nahi du baimenik eskuinetik sartzeko duen zerbitzarian. , Gauzak bezala, ez dago, ezin duzu ikusi. 404 esan nahi gauza hori ez da existitzen. Ez da aurkitu. Seguruenik asko ikusten duzu. 500 Zerbitzariaren barne akatsa izan ohi da zerbait aldean gaizki joan bezalako zerbitzariaren. Beraz, noiz pset7 ezartzeko zinen, PHP erroreak izan baduzu, ezin izan duzu benetan orrira joan eta ikusi bat PHP error stuff sorta osoa. Baina horrek ez du normalean gertatuko, delako webgune ez benetan nahi esango dizu zergatik bere atarian hautsi da. Baliteke besterik itzuliko dira bat 500 Zerbitzariaren barne errorea. Eta orduan, 418 teapot bat naiz. Badira buruzko istorio bat da zergatik hori gauza bat da. Baina horri buruz irakurri dezakezu zure denbora propioa. Ez dago sorta osoa da beste egoera kode gehiegi. Baina horiek ez dira direnak jakin behar duzu. Hargatik hitz egiteko HTML buruz. HTML, gogoan, ez da bat programazio-lengoaia. Da markaketa lengoaia bat. Horrek esan nahi du edukia deskribatzen du. Kontatzen da zer itxura HTML dokumentu bat bezalakoa edo ez zer itxura baina nola egituratzen da. Beraz, egitura bat definitzen du eta web orrien semantika. Da bezala, honek paragrafo bat da. Hau agindu zerrenda bat da. Hau nire orriaren atal bat bezalakoa da. Hemen izenburua da. Horrelako gauzak gertatzen. Ez du estilo hori edozein, zeren zer CSS egiten duzun da. Eta itxura serie bat bezala of habiaratu tags. Beraz, oso oinarrizko adibide bat erabili HTML orria, DOCTYPE duzu deklarazioa han. DOCTYPE deklarazio hau da , esanez HTML5 erabiltzen ari gara. Ondoren, HTML big etiketa duzu. Buru bat eta gorputz bat dauka. Buru barruan, izenburua duzu. Hori zer izenburuan doa zure nabigatzailearen barran. Lotzen link etiketa bat behar dugu kanpoko estilo-orri batean. Eta, ondoren, tira gidoi bat dugu kanpoko JavaScript batetik baita. Eta, ondoren, gure gorputza barrutik da, benetan zer lortzen orrian erakusten. Paragrafo bat lortu dugu, eta, ondoren, bat paragrafo horren barruan irudia. Ko hau kittens argazki bat da. Nabarituko irudian Etiketa ixten bera. Beraz, irudi bat inaugurazio ordez eta gero beste bat / irudia egiten, duzu besterik ez dute barra txiki honetan hemen, eta horrek ixten du. Eta irudi-etiketa ere gako hau dauka balioa atributu alt deritzo. Hori da, testu alternatiboa gertatzen denean haren gainetik pasatzean. HTML elementu gehienak funtsezko balio batzuk dela eman dezake, zenbait gauza customization. Bai. IKUSLEEN: [INAUDIBLE]. ANGELA LINKS: Beno, beraz, bat da etiketan atributua. Beraz duzu jQuery erabiliz gero, ezin izan duzu egin hautatu image.getAttribute. Eta ondoren bilatu dezakezu alt atributua lortu. Eta kittens emango dizu. HTML, sarrera inprimakiak gogoratu baduzu elementuen izen atributuak izango dute. Eta hori da PHP erabiltzen bidali denean formulario bat da aurkeztutako eskaerak. AUDIENCE: Ba zerbait aipatu duzu kittens.jpg nola erabiltzen baduzu, edo buruz duten falta du zerbait fitxategia karpetak edo fitxategiak? ANGELA LINKS: Bai. Beraz, hau da zer erlatiboa deitzen bidea, zeren ez naiz emanez duzu bide osoa. Hau denean C bezalakoa da fopen egiten baduzu fitxategi batzuk, baduzu fopen hi.txt, hori hi.txt arte berean egotea espero da gida, gehiago bat eman ezean bide konplexua. AUDIENCE: Beraz, zehaztu ahal izango duzu Horrek karpeta [INAUDIBLE]? ANGELA LINKS: Bai. Eta gora begiratu dezakezu nola egiten den. Baina kittens.jpg ateratzeko nahiko banu guraso direktorioa, egin nahi dut .. / Kittens.jpg. Bai. Barkatu. Bai. Oh man, galdera ahaztu dut. Zein zen galdera? Oh, galdera da, kittens.jpg zen espero den direktorio berean egon? Eta, kasu honetan, hau da. Baina ezin duzu ere bide jakin bat ematen diote du, hala nola, ez dela izan. Ona? CSS. Beraz, CSS, HTML bezala, ez da programazio hizkuntza bat. CSS besterik estetika arau-multzo bat da. Kaskadako estilo-orriak nabarmentzen da. Eta horrekin batera erabiltzen duzun Estilo orriak egiteko HTML batera. Beraz, ez dago hiru modu daude bertan sar ditzakezu. Egin ahal izango duzu modu bat buruan da Zure HTML zatia, besterik gabe, ahal duzun estilo fitxa ireki eta gero makila CSS batzuk han dauden arauak. Nahiko OK. Bai. AUDIENCE: Ezin horiek jarri duzu estilo, arteko dezagun in etiketa adibidez, gorputz eta / gorputza. Eta gero Sorozabal izango litzateke gorputza bakarrik. ANGELA LINKS: ezin izan duzu. Lan egingo du. Baina ez behar duzu, Sorozabal delako da metadatuak mota hori behar joan dokumentuaren buruan. Gorputza benetan bakarrik eduki beharko zer benetan joan erakutsi zure orrialdean. AUDIENCE: Beraz, jarri duzun estiloa zure burua estilo berri Web orri osoa, ezta? ANGELA LINKS: Bai. Beraz estilo jarriz hemen, CSS arau horiek izango da orrialde osoa oinarritutako aplikatzen Beren selectors. Beraz, hobeto egin behar da horren ordez style etiketa bat izatea zure burua, Kanpoko estilo bat lotura hori duzun erakutsi dut fitxa bezala dagoen Aurreko adibidea. Zer da hau ez da saiatzen da eta aurkitzen du style.css fitxategia eta ondoren tira eta erabiltzen duen bezala orriaren estiloak. Eta zure style.css litzateke besterik itxura hau. Besterik ez litzateke CSS mordo bat izango da. Eta azkenik, badira beste modu bat duzu CSS sar daitezke, eta zuk benetan ez da inoiz egin behar. Dei inline Sorozabal da. Eta, beraz, edozein HTML elementu can ere estilo atributu bat hartu. Eta gero, estilo atributu horretan, du CSS arauak eman dezakezu. Beraz, kasu honetan, edozein div naiz hementxe definitzeko, nik joan behar atzealde beltz bat izatea eta testu zuri kolore bat. Baina ez duzu hori egin, ez duelako zer hau da zure estetika da jartzen du Zure HTML barruan. Eta izan dugu HTML buruz hitz egiten jakin dut egitura da eta CSS estilo da. Hori eginez gero, hura nahasten elkarrekin. Eta ez da oso garbi. Beraz, ez egin hori. CSS adibide bat erabiliz, han, dugu hautatu HTML gorputzean dokumentala. Eta zu bezala, guztia en dugu Comic Sans izango. Ere ez dut gomendatzen. Baina hori egin ahal izango duzu. Hementxe bigarren araua, joan da on elementu hautatzeko izena nagusiekin orrialdetan. Beraz, edozein dela HTML elementu, izena esan dut = Nagusiak, naiz bat eman nahi dut 20-pixel marjina eta lerrokatu guztia, Testu guztiak, erdian. Azken gauza CSS klasea arabera aukeratzen. Beraz orrian elementu edozein dudan eman atalean klase bat, noa egiteko atzeko planoaren kolorea urdin argiz. Yep. Hori da, I got guztiak. Galdera? AUDIENCE: Zer hashtag egiten du nagusia aurretik egin? ANGELA LINKS: Galdera da, zer egiten duen do nagusiaren aurretik hashtag? Kasu honetan, en hash balioa CSS identifikazio arabera hautatu du. HTML elementu batzuk izan nuen hala bada, bezalako divID =, CSS arau hau hautatzen nagusia izena nagusiarekin gauza. Eta, era berean, aurrean epea atalean CSS klasea by hautatu edo da HTML klasearen arabera hautatu. AUDIENCE: Zergatik ez dago bat aurretik du Hondo koloretan 6? ANGELA LINKS: Bai. Beraz, galdera da, zergatik dago 6 baino lehen egiaztapen bat? Hau da, hash baino ezberdinetan. Horrek esan nahi ematen ari zaren kolorea hamaseitarra. Beraz hex koloreak, hau besterik Kolore bat adierazten du. Eta RGB hirukoiztu gogoratzen duzu denean zenuen Kernet pset? Honen antzekoa da. Lehen bi digituak adierazten zenbat gorri kolorea da. Bigarren bi adierazteko zenbat berdea. Eta hirugarrena adierazten zenbat urdina. Eta hash da hau va kolore bat irudikatzeko. Beraz, 0, 0, 0, 0, 0, 0-tik ezer F, F, F, F, F, gehienez, F balio du. Batzuk baliozko ahal duten kolorea da egon zure nabigatzaileak bistaratuko. Galdera? AUDIENCE: Zertan desberdintzen NAN eta klase by erabiliz? ANGELA LINKS: Galdera da, zer da arteko aldea NAN eta klase by erabiliz? Duzu elementu bakarra izan dezakete batean HTML dokumentu horretan izena eman du. Nire orrialdean gauza bat hain bakarrik onartzen da ID nagusia izatea. Beraz, erabili duzun honen goiburua da. Hau nabigazioa da. Honen oina. Klaseak ezberdinak dira, ahal duzulako klaseak aplikatu HTML elementu askok bezala nahi duzun bezala. Beraz, adibidez, klase atalean egin nuen, ez da, seguruenik bat baino gehiago delako nire orrian atalean. Besterik ez duzu onartzen asko izan dela orrian elementu bera duten klase baina NAN jakin batekin bat bakarrik. AUDIENCE: Beraz dot adierazten klasean? ANGELA LINKS: Bai. Dot batek klase bat irudikatzen du. Cool. Hori da dena lortu dut, mutilak. Eskerrik asko. [Txaloak] ZAMYLA Chan: Hi, guztiontzat. Zamyla naiz. Egon PHP estaltzen noa, MVC, eta SQL gaur. Materiala dela izango izan dut asko estaltzen da nahiko askoz izango da eskubidea pset7 daudelarik. Ondo da. Beraz, zer da PHP? PHP PHP Hipertestu stands Preprocessor. Beraz, berez, errekurtsiboa da izendatzeko, hau da, oso politak. PHP zerbitzariaren aldeko scripting hizkuntza bat da, eta motorra ematen du eta underpinnings logikoa gure web. Beraz Angela asko hitz egin HTML buruzko eta CSS egitura egingo webgunearen. Baina zer aldatu nahi baduzu edukia dinamikoki edo bada aldatzen oinarritutako erabiltzaile edo on zenbait baldintza? Hori da, non PHP dator sartu Orain, normalean, PHP gutxi batzuk iraun dezake lerro gutxiago gauza bera ezartzeko C. Hori da PHP maneiatzen delako memoria programatzailea kudeaketa, beharrik malloc gurekin aurka doan, horrelako gauzak. Baina geroztik PHP interpretazio bat da hizkuntza, normalean, agian exekutatu C baino pixka bat motelago, eta horrek konpilatutako hizkuntza bat da. Dugu programazio mugitzen ari delako hizkuntzak, utzi ditzagun nola sintaxia desberdinak izango dira. Dezagun oso ez egiteko kontuz en lortuko honetan nahastu. PHP sintaxia, beraz, egiten ari zaren ala ez HTML baten barruan zure PHP galera arazoak fitxategia edo. php fitxategia batean bera, zuk kodearen ixteko ireki behar PHP eta itxitako PHP bezalako etiketa honela, pantailan bezala. PHP aldagaiak. Aldagai bakoitza egingo batekin hasi $ ikurra izenaren jarraian Zure aldakorra. Orain, PHP aldagaiak baziren idatzi dira, horrek esan nahi du ez duzula behar Datu zer mota adierazteko denean deklaratzen ari zaren. Hala ere, horrek ez du esan nahi dutela ez dute batere mota izan. Aldagai bat deklaratzen dut, eta hala bada, besterik ezarri berdinak 1 da, eta ondoren, deklaratzen dut beste aldagai bat, ezarri berdina "1," eta ondoren 1.0 beste bat, ondo, berdintasun-motaren arabera operadore dut erabili, konparatu nahi badut mota guztietan, eta gero berdina egingo dute. Baina ziurtatu egin nahi badut du motak dira berdinak, PHP, oraindik ere egin dezakezu , hori ez dugun arren adierazteko zer motatako denean dugu lehen egiteko fitxategia. Orain, PHP, gauden arren gehiagoko programazioa aldatu C hizkuntzak, oraindik ere ez dugu gure trusty baldintza bada, besterik ez hau bezalako. Oraindik gure bitartean begiztak dugu, besterik Hau atsegin, non jarri duzu zure Baldintza eta gero begizta gorputzaren. Eta orduan ere izan dugu gure loop, normalean itxura hau. Gorako guztiak batetik bestera joateko nahi nuen hala bada bederatzi psets eta bidali eta dei bat funtzioa submitPset, orduan egin ahal izango dut hemen, eta zuk guys dute guztia Puntu honetan egiten da. Zorionak, bide batez. Kamera, jende esan, eskerrik asko. Orain, ez baduzu nahi, besterik gabe erabili hau loop, orduan PHP benetan ere ditu gauzak izeneko foreach begiztak. Beraz, zenbaki osoen array bat, 0 banu 8 bidez, array psets gordetzen dira, Orduz foreach begizta bat izan dut psets zenbaki behin baino gehiagotan iterates. Eta gero, bera deitu izan dut zortzi aldiz funtzionatu, aurretik egin nuen bezala. Beraz, hau begizta bakoitzaren atsegina da, zeren ez duzu ez dakizu bada array luzera zehatza duzula dute, ondoren foreach begizta hau erabiliz arduratuko da hori zuretzat. Beraz psets egin nuen array gisa. Dezagun hartan. PHP arrayak dira normalean berdina duten C, dugu zeuzkatenak non matrizeak deklaratu dezakezu. Eta hemen, array bat hutsik deklaratu ahal izango dut eta, ondoren, eraikitzeko sortu dinamikoki erabiliz indizeek osokoak bezala. Beraz, indizea 0, naiz gordetzeko noa zenbaki oso bat izeneko 1. Indizea 1 nire zerrendaren etan, egingo dut 2 balioa gordetzeko. Eta hirugarren indizea baina at the Bigarren zenbakia, naiz joan 12 zenbakia gordetzeko. Orain, hau da, en fin funtzionatzen duen ondo funtzionatzen du. Baina esan axola zait Indize bakoitzak zer dauka. Niretzat, indizea 0 esan nahi nola katu asko daukat. Eta indizearen 1 esan nahi nola hontza asko daukat. Eta hurrengo bat txakurrak zenbat esan nahi du. Beno, ondoren, hori zehaztu behar da, horren ordez gogoratzeko 0 erlazionatzen izatearen hontza katuak eta 1, erabili ahal izango dut elkartze-array, eta horrek esan nahi du, ordez zenbaki osoko nire indize gisa, Benetan dut kateak erabili dezakete. Beraz, hau oso erabilgarria da. Eta dituzun funtsean, besterik ordezkatu kateak osokoak izan. Eta ez dago bat izanez Elkartze-array. Bai. AUDIENCE: Ba al dago arrazoirik zergatik ez dago bigarrenarentzat azpimarraz zatia, nire zerrenda array duelako. ZAMYLA Chan: Galdera izan zen, da ez dago arrazoirik zergatik ez dago bat nire eta zerrendaren artean azpimarra? N º Hori besterik nola izendatzen dut nire aldakorra. AUDIENCE: lehenik, On lerro, hitz bat da. ZAMYLA Chan: Nire apologies. Duten konpondu dut. Bai. Izen bereko aldagai izan behar dute. Ona harrapatzeko. Ados. Beraz dezagun aurrera katea lotuz. Bi kateak hartu nahi dut, bada, ondoren, horiek kateatu ahal dut dot operadorea batera. Beraz Milo daukat lehen izen gisa bada eta Banana abizena moduan, ondoren dot operadorea eta kateatuz ondoren espazio bat jarriz artean dauka Milo duten kate bat egingo du Platano, eta horrek I then echo dezakete edo, hobeto esanda, inprimatu. Oihartzuna hitz, hitz egin dezagun gutxi erabilgarria buruz - trabatzen. Sentitzen dut. Erabilgarria PHP funtzio batzuk. Beraz, izan dugu - zailtasun teknikoak. Bigarrena. Hura bidali nuen. PowerPoint arazoak. Eta itzuli gara PHP funtzioak. Eta itzuli gara PHP funtzioak. Beraz, eskatzen dugu funtzioa, non fitxategi batean bada, hemen da, besterik fitxategi baten adibidea duten Dut agian pasatu sartu Ondoren PHP kodea duten bilduko ditu fitxategi hori dut adierazi from. Eta ebaluatzea izango da sartu Ondoren ere izan dugu oihartzuna, eta horrek paralelo bat printf da. Irteera paralelo bat hondatu da, horietatik bloke irteten da Oraindik duten sartu kodea Eta gero, txekeak hutsik ala bat eman aldagai nulua edo zero edo bezalakoa da dena delakoa da hutsik izatearen parekatzen da. Bai. AUDIENCE: kate lotuz For dot operadorea bat, PHP, zera dela, JavaScript non nik erabiliz bertan bera lotuz eman dot esan nahi plus? Beraz, izen-abizenak eman, dolarrak izan dezakezu sinatzeko lehenengo + eta gero + iraungo? ZAMYLA Chan: Bai. Galdera izan zen PHP ote dugu kate lotuz bera erabil dezakete JavaScript gisa pluses batera. Eta Joseph egingo duten bihurtu geroago. Horretan diapositiba bat du uste dut. Egia esan, desberdina da. Beraz, JavaScript, erabili behar duzun gehi kateak kateatzeko. Eta PHP, izan nahi duzu dot operadorea erabili. Hain desberdinak ari dira. Ados. Beraz, gaur egun ditudan guztiak estaltzen dugu PHP hau, non egiten du benetan erabilgarri etorriko? Beno, orduan erabilgarri egiten dugunean konbinatzeko aukera izanen gure HTML batera. Beraz, gure PHP emango digu boterea orri baten HTML edukia aurretik aldatu bere kargatzeko. Beraz oinarritutako baldintza ezberdinetan, normalean, erabiltzaile jakin hori da sartu zarela, erakutsi ahal dugu informazio desberdinak. Linda, ez zuen galdera bat duzu? IKUSLEEN: Ezin duzu kateatu Zenbaki oso bat ere? ZAMYLA Chan: Bai, egin dezakezu. Beraz, galdera ahal bada zen kateatu osokoak edo beste variable.s orain, mugitzen dugu MVC, eta horrek Erabiltzen ditugun paradigma bat da pset7 eta web diseinatzaile asko erabili kodearen antolatzeko fitxategi batean euren webgunean. M modeloa dago. Eta, batez ere, eredu fitxategiak izango dituzte hizpide datu-basea elkarrekintzak ere. Ikusteko fitxategiak, erlazionatzen dute Webgunean estetika. Eta Controller heldulekuak erabiltzaileen eskaerak, parses datuak beste logika du,. Pset7 urtean, eredu konbinatuko dugu eta arduraduna. Eta kontrolagailu deitu besterik ez dugu haiek eta jartzea direktorioa publikoan. Eta ikuspegi fitxategiak berriz, horiek erabili dugun bezala templates direktorioan templates. Beraz, diagrama hau hemen ere adierazten zatiketa mota bera duten Eredu eta morea kontroladorea Hemen ezker aldean eta eskubideari buruzko ikuspegia. Beraz, hau eskematiko bat da duzula batzuk Bulegoaren ordutegia edo at ikusi ahal izango duten marrazketa ginen ahala diagrama ziren kalkulatzen zure pset. Beraz, hemen, controller jakin batean, eredu bat kontroladore, dugu funtzio SQL kontsultak erlazionatzeko datu-basea, PHP logika exekutatzean. Agian bilatuko litzateke Yahoo! in stock bat Finantzak. Edo, agian, ez zenuke besterik gabe jarraitzea ikusteko erabiltzaile batek izan aurkeztu ala bat osatzeko dagoeneko izatea aurretik bisitatu zure orria. Eta gero render zenuke bat osatzeko hemen. Ondoren inprimaki izan dira aurkeztu Erabiltzaileak, hori izan zen ekintza Inprimakia en HTML etiketan zehazten orrialdean adierazten zela Datu hori itzultzen. Beraz, informazio hori guztia litzateke bidaliko atzera zure kontroladorea da. Ondoren, seguruenik egingo lukeen duzu pixka bat gehiago Logika horretan eta agian exekutatu gutxitara SQL datu-basean kontsultak gero eta ondoren, azkenik, etorri nicely batekin Informazio multzo josia duzula litzateke pasatzeko beste txantiloi batzuk sartu informazio hori bistaratzea. Orain, nola ez, benetan pakete dugu Informazio osatzen duten? Beno, izeneko Errendatu funtzio bat dugu duten functions.php fitxategian zen pset7, non izenean pasatzen duzu fitxategi bat, txantiloi baten izena. Eta gero ere pasako duzu elkartze-array bat. Eta beraz, elkartze-array horrek adierazten ezberdinetan informazioaren sartu gainditu nahi duzula Orain, zer konstante izango da adibide horiek duten gakoak edo, baizik eta, elkartze honen gakoak arrayak, horiek dira zer izan da joan plantilla egindako etengabeko berreskuratu nahi? berau behar badaki delako Mezu zerbait izeneko edo deitu izena. Eta ondoren eskuinera egiten duen gauza da, Benetako balioak, beraz, kasu honetan, nor mutiko eta Milo ona, horiek joan dira balioak dira aldatzen ari izan kontroladorea duten aldi bakoitzean aldatzen edo oinarritutako baldintza jakin bat eta duten igaroko sartu Beraz, hemen templates in, ikusiko dugu dugun HTML karaktere bereziak erabiltzen dira, besterik esanahi du, nahi dugun peer katea lortzeko duen Erabiltzaileak bertan sartu Eta ordezkatu nahi dugu hor mezua. Beraz, orduan, egia esan, ikusi dugu fitxategia, espezifikoak Informazio da gainditu oraindik sartu Kontuan gakoa nola errendatu obra dela duen elkartze horren gakoak arrayak, bihurtu aldagai horiek izenak hemen. Eta, beraz, funtsezko duten baloreak Elkartze-array gero bihurtzen du aldagaiaren balioa. Orain, dezagun aurrera SQL izateko. Nabarmentzen egituratuak eman da Galdekatzeko Hizkuntza. Eta, beraz, hau programazio bat besterik ez da hizkuntza diseinatutako datu baseak kudeatzeko. Eta erabilgarri izan zen hura guretzat in gure pset7 finantzak webgunea. Funtsean, modu erraz bat besterik ez da jarraipena eta objektuak eta taulak kudeatu eta horiek lotzeko elkarri. Orain, zure SQL datu pentsatzea funtsean Excel fitxategi gisa, agian, anitz fitxaduna orriak. Beraz, mahai bat baino gehiago izan dezakezu, agian, beste bat loturik. Eta Excel bezala, asko izan gara funtzionalitatea nahi dugun. Esate baterako, hauta dezakegu zenbait ilaratan. Informazioa txertatzeko aukera izango dugu. Errenkada eguneratu ahal izango dugu. Eta ditugun gauzak ere ezaba ditzakezu. SQL obra hautatu ilaratan aukeratuz edo batetik zehaztutako zutabe ilara zehatz bat betetzen duten datu-basea irizpide duzula adierazteko. Beraz, hemen baino gehiago denean hautatu ikusten dut *-tik morroiak non etxe = Ravenclaw, ondoren * Hautatzen dut, eta horrek esan nahi dut Zutabe bakoitza hautatuz horretan morroiak mahai baina bada bakarrik arraunean Etxe zutabea berdinen Ravenclaw. Orain, hau purua edo SQL da. Joan nintzen phpMyAdmin, hau da, sartu, hala bada arte kudeatzeko erabiltzen dugun modu zehatz gure datubaseak Ondoren, sartu izan dut phpMyAdmin webgunean sartu duten. Eta hori exekutatu litzateke. Baina benetan egin nahi dugun PHP aldean duten. Beraz, zer egin dugu? Beno, kontsulta funtzioa, erabiltzen dugu eta horrek funtsean SQL kontsulta duten exekutatzen. Erabiliz? leku-marka gisa, jakin ahal izango dugu pasatzen gure katea balio dugula ordeztu nahi. Beraz, agian desberdinak gordetzeko naiz curr_house dauden balioak, zein egungo etxea adierazten dudala igaro naiz. Beraz dut horretan gainditu ahal leku-marka gisa galdera-marka batekin. Eta gero egingo funtsean exekutatu dut aurretik egin nuen gauza bera bezala, salbu gaur egun, naiz PHP dut. Kontsulta bat itzuliko da Elkartze-array. Eta naiz gordetzeko lerrotan noa. Orain, kontsulta beti huts egin dezake. Agian SQL kontsulta ezin exekutatu taulan existitzen ez delako. Edo, agian, zutabea ez da existitzen. Zerbait gaizki joan da. Beno, kasu horretan, nahi egin dituzu ziurtatu check duzula ala kontsulta itzuli faltsua. Eta hori hirukoitza erabiliz da berdinen operazioa han. Eta, ondoren, I Barkatu hau da, beste CS50 funtzioa, mezu batean pasatzen. Eta begiratzen duzu Barkatu, hori guztia sartu bada benetan ez da errendatu apology.php. Bai. AUDIENCE: Ezin zer dela azaldu duzu izarra hautatu eta bertatik artean ez? ZAMYLA Chan: Bai, erabat. Beraz hautatu eta bertatik arteko izar esan nahi osoan hautatu nahi dut nire mahaitik ilara osoa. I adierazitako Nik ezin hautatu izendatzeko, urtean, etxea. Eta I litzateke hiru horiek bakarrik lor nire taulako zutabeak. Baina hautatu * diot bada, orduan ez dut lortzeko zutabe duten guztia. Ondoren, naiz zuk joan lehen atzealdean. AUDIENCE: Beraz, hau da, oraindik SQL in, ezta? Kontsulta hau da edo PHP hau? ZAMYLA Chan: Oraindik kontsulta batean bizi gara. Beraz, hau PHP da. Beraz PHP funtzioa kontsulta erabiliz, SQL kontsulta bat exekutatzen ari gara. AUDIENCE: SQL ezer Is Maiuskulak, bezala hautatu edo morroiak edo etxea? ZAMYLA Chan: ezer Is SQL kasu bereizten dira? Beraz, nik uste dut, bai. Dut uste AUKERATU eta FROM eta NON kasu bereizten dira. Ez? ROB BOWDEN: Beraz, kontrakoa da. Zutabe izenak eta mahai bitartekoak, horiek guztiak kasu bereizten dira. Baina hitz giltzarriak MySQL edozein, bezalako SELECT, FROM, eta NON, horiek ez dira kasu bereizten. Ados. Beraz, zer esan dut kontrakoa. Beraz MySQL keywords guztia - hautatu, jatorriaz, - horiek ez dira maiuskulak bereizten. Baina beste guztia da. Ados. Aurrean duzu. AUDIENCE: ilaratan $ dut bada terminoetan ilara bat baino gehiago da, ez du esan nahi besterik elkartze-array bat bihurtzen? ZAMYLA Chan: Galdera izan zen bada ilaratan ilara bat baino gehiago ditu, eta ez du elkartze-array bat bihurtu da? Beraz, elkartze array bat da Dagoeneko arrayak. Han ilara bakarra Beraz, nahiz itzuli zen, eta gero joan behar duzuna indizea 0 emaitza hori. Eta, ondoren, lehenengo errenkadan duten nahi duzuna. Bai, Belinda? AUDIENCE: Noiz === erabiliz gero, hau da instantzia bakarra? Edo daude beste batzuk? ZAMYLA Chan: Beraz, kasu honetan, === mota guztietan ez konparazio bat da. Barkatu. === Konparazio bat da duten mota konparatzen. Eta gero == mota guztietan konparatzen. IKUSLEEN: zer azaldu duzu ilaratan egoera honetan da? Da arraunean datuen it? ZAMYLA Chan: hurrengo diapositiba ere, naiz zer ilaratan da azaldu behar. Beraz, ez duzu axola eusten off horretan. Eta ondoren bizkarrean duzu? AUDIENCE: kontsulta bezalako funtzio baterako, errendatu eta barkatu [INAUDIBLE]? ZAMYLA Chan: Galdera izan ote zen funtzio horiek - kontsulta, barkatu, eta errendatu - ohikoak dira PHP zehar. Hauek dira duten CS50 pset7 idatzi. Eta Jay? AUDIENCE: Noiz esan behar duzun $ _saioa, Identifikazioak da soilik hori? Edo ezin esan duzu hemen? ZAMYLA Chan: Galdera izan zen, noiz $ _saioa erabili dugu, hori zehatz bat izan zen Idazteko erabiltzen ari garen aldagai global. Hemen aldagai hau da, joan gure funtzioa tokiko izan. Beraz, besterik ez gara geratuko aldagai berri bat. AUDIENCE: nola da barkatu inplementatu? ZAMYLA Chan: Galdera izan zen, Nola Barkatu inplementatu? Eta uste dut, hau da, benetan ona izan praktika onak guys joan sartu the functions.php atal eta begiratu Barkatu eta ikusi nola izan dezakezu egin it yourself. Beraz, utzi ahal dizut baina besterik begiratzen baduzu duten barkatu esatea, ondoren mezua duzula hartzen du aurkeztu barkatu, eta, ondoren, mezua bat errendatzen. Galdera gehiago? Maite dut galdera. Beraz eduki horiek datozen. IKUSLEEN: [INAUDIBLE] echo edo inprimatu han? ZAMYLA Chan: Galdera izan zen, ezin besterik jarri dugu echo edo inprimatu han. Beraz, zerbait egin beharko lukete apur bat desberdinak. Duen kontsulta inprimatutako zukeen horretan huts egin du - ondo, oraintxe, benetan gara gure controller in. Beraz, ez benetan behar dugu HTML sortu hemen. Apologize.php kantari barkatu benetan apology.php birzuzenketak duzu. Ados. Beraz, gaur egun, goazen on Helbideari du buruz lehenago galdera zer ilaratan benetan da. Beno, kontsulta itzuliko da Lerro array bat. Eta ilara bakoitzean irudikatzen da elkartze-array bat da. SQL kontsulta batzuk eta I exekutatu dut hala bada Emaitza gordetzen dut lerroetan, ondoren foreach begizta bat erabiliz, ondoren array ilaratan - izen han lehen bat da. Eta ondoren, naiz deitzera joan han $ ilara ilara bakoitzean. Beraz, hori baino gehiago errepikatzean, ezin dut, ondoren Emandako ilara izena zutabean sartzeko, Urte zutabean, eta etxe zutabea. Ohartu naiz, ez lirateke gai egin hau errenkada batekin, errenkada-indizea delako izena ez da existitzen. Errenkadak besterik array bat da elkartze-array. Beraz, bi maila izan duzu han. Behin Lerro array duzu, hori sartu behar duzu. Eta ondoren zutabe izan dezakezu sarbidea. Hori egin zuen argi eta garbi? Bai, aurrean? IKUSLEEN: [INAUDIBLE] ireki Parentesi [INAUDIBLE] for? ZAMYLA Chan: Barkatu? AUDIENCE: irekia Parentesi hauek. ZAMYLA Chan: Hauek hemen? Hori da, besteak beste, aukera ematen dit aldagai hori. Bai. AUDIENCE: duzunean inprimatu, zaude HTML kodean inprimatzeko? ZAMYLA Chan: Bai. When I inprimatu, hau da hemen barruan nire txantiloia orain, beraz, nire MVC metodoaren ikuspegitik. So I HTML sartu inprimatzeko naiz. Joan ginen sustatzailearen sartu Beraz, bada: AUDIENCE Tresna hau exekutatzen ondoren, ezin izan dugu benetan kodea duten? ZAMYLA Chan: Hori handia Galdera, bai. Joan zinen beraz bada garapen tresnak sartu Firefox Firebug erabiliz edo in Chrome, orduan bai, egin dezakezu ikus HTML espezifikoak. Beraz, ez litzateke $ ilara ["izena"] erakusteko. Hortxe erakutsiko luke Izen ilara horretan dagoela. AUDIENCE: Just alea orokor bat, zer tr dira eta td gisa definitzen? Zergatik genuke [INAUDIBLE]? ZAMYLA Chan: Table ilara tr, taula ondoren td zutabea. Ados. AUDIENCE: Bai, taulako datuak da. ZAMYLA Chan: Table datuak. Bai. AUDIENCE: Lerro bat da, eta bertan, ilara tratatzen da zutabe bat bezala? ZAMYLA Chan: Barkatu. Ezin errepikatu duzu? AUDIENCE: nola egiten duzun ikusteko ilaratan? ZAMYLA Chan: Nola litzateke ikusteko duzun zer nolako bidea errenkaden? Duzu hitz egiten horiei buruz ilaratan hemen edo tr ilara? AUDIENCE: ilarek. ZAMYLA Chan: ilaratan hauek hemen? Ikusteko nuke hau bezalako Nire kontsulta exekutatu dut. Eta esaten du, OK, daukat bai 0 n irizpideekin bat datozen errenkadetan zenbatekoa duten galdekatu izan duzu. Beraz lerroen kopurua batzuk ditut. Beraz, errenkadak, the $ ilaratan, denda bakoitzaren array bat ilaratan horietakoa. Beraz, horietako bat bada ere, ez da oraindik ere bat egin du errenkadak array bat. Beraz, ondoren, adibidez, hau da, duzunean eskuratu antzekoa erabiltzaile batzuen cachea. Eta irizpideekin bat ez zen han Identifikazio saio ID berdinak. Benetan, lerro bat baino ez da hori bat etor liteke. Baina oraindik errenkadak besterik lerro bat itzuli. Beraz, errenkadak joan nahi duzuna, 0 indizea, indize katxea benetan zure cache iristeko. AUDIENCE: Is inprimatu funtzioa gauza bera echo en? ZAMYLA Chan: Bai. Bai. Inprimatu bereko oihartzuna. AUDIENCE: foreach begizta Is the bakarra indizea modu ilaratan sartu? ZAMYLA Chan: Is foreach begizta bat hori ahal duzun modu bakarra errenkaden bidez batetik bestera joateko? N º Ere erabili ahal izango loop, betiere badakiela luzera ilara en array. AUDIENCE: Ezin izan da sartzen zaren ilara bat erabiliz [INAUDIBLE] gisa? ZAMYLA Chan: Beraz ezin duzu Bera eskuratzeko besterik ilara erabiltzen ez baduzu dute bat foreach begizta emandako Ez baduzu ilara deklaratu. Bai. Bai, zuri ere. AUDIENCE: Beraz, zer tr eta td egin? ZAMYLA Chan: Beraz, tr eta td XHTML etiketa dira. tr hasiera adierazten taulako ilara bat. Eta td bakoitzeko bat adierazten taulako datuak zutabe berria. AUDIENCE: zer ilara baten bisuala For dagoen bezala, imajinatu SQL, nola ilara bat dute. [INAUDIBLE]. ZAMYLA Chan: Bai. Hori puntu bat da. Errenkadak bezala ikusteko dezakezu bezalako Excel taula batean, besterik ilara zerrenda. Ados. Ondo da. Beraz, gaur egun dugun hautatu baino gehiago joan, bada han ez dira galdera gehiago edozein, dugu joan baino gehiago txertatze aldera. Batzuk txertatu nahi nuen hala bada mahai eta txertatzeko zenbait zutabe balioak, nire burua txertatzeko nezakeen Ravenclaw urteko 7 urtean sartu. Baina batzuetan ez dago bikoiztuak izan liteke balioak, ikusi bezala pset7 in dugunean ziren gure zorroa eguneratzeko. Beraz, kasu honetan, ON erabili nahi dugu BIKOIZTEKO KEY UPDATE, beraz, ez dugu multiple rows gordetzeko berdinarekin baloratzen baizik eguneratzeko. Ondoren eguneratzea benetan behar dugu, eta hori ez da txertatze. Besterik non eguneratu update bat da bat eman taula jakin batean irizpideak, eta, ondoren, azkenik, ezabatu eta horrek oso antzeko gauza bat egiten du. AUDIENCE: Ezin laburki duzu bikoiztuak gakoa baino gehiago joan? ZAMYLA Chan: Bai. Funtsean hemen, daukat INSERT INTO gringotts, da, galeoi, balio horiek. Baina izena, ustez, gako bakarra da balioa sortu MySQL taulan. Beraz, I dagoeneko izena ezarri bada, gero ezin dut lerro berri bat sartzeko. Ez du hala bada existitzen dagoeneko, gero eguneratu behar dut. Zuri batean erdian. IKUSLEEN: txertatu, eguneratu, ezabatu, eta hautatu, dira horiek guztiak eskuragarri lokalean [INAUDIBLE]? ZAMYLA Chan: Beraz txertatzeko, eguneratzea, ezabatu eta hautatu SQL kontsulta guztiak dira. Beraz, SQL erabiltzen ari zara, betiere, horiek eskuragarri izango dituzu. AUDIENCE: iragana galdetegiak ra - galdera hori tratatzen zen taula bat izan duzu, eta nahi izanez txertatzeko test partiturak batean eta sartu zure izena, beraz, ez du utzi [INAUDIBLE] test zure lagunaren puntuazioa. Nola litzateke hori egin txertatze duzu? ZAMYLA Chan: Beraz, galdera zen buruz epe ertainean aurreko galdera bat. Ez nago horren jakitun oraintxe bat da. Beraz, agian, gero, nahi baduzu etorri eta erakutsi, eta gero ahal ditut zalantzarik gabe emango dizu aholku. Baina gauzak txertatzeak hitz egiten, atsegin norbaiten puntuazioa hartzen duzunean ez luke, Hizpidea SQL injection erasoak. Beraz, SQL injection eraso bat da, funtsean non norbaitek hartzen du segurtasuna baxua abantaila era horretan datu in zaren hartuz. Beraz, hemen, besterik ez CS50 finantzetan bezala, gunean sartzean dugu, bat dezakegu sartu login formularioa username, lehen testu-koadroan, eta eta sartu pasahitza batean. Agian, gure PHP kodea begiratu dezake honen antzeko zerbait, non $ username da post-datuak-izena eta pasahitza post-datuak pasahitza da. Eta gero, gure kontsulta exekutatu besterik ez dugu, esan, Ados, bai, gure kontsulta da, joan gure erabiltzaileen artean hautatzeko, non erabiltzailearen izena da bat dutela aurkeztu. Eta pasahitza pasahitza da, pasahitzak bat egiten duten zentzua. Orain, zer bada ordez benetan dagoen Benetako pasahitz bat aurkezteko, bezalako 12345 eta dioen prong at asmatzen pasahitza eta hack saiatzen euren Kontu, zer ordez bada hau aurkeztu dute. Urtean agian idatz zezaketen pasahitz bat asmatzeko. Eta orduan bukatuko lukete du aurrekontua ondoren idatzi edo 1 = 1. Zuzenean fin litzateke SQL sartu galdekatzeko honen antzeko zerbait bilatzeko. Aukeratu erabiltzaileen non username = Prongs eta pasahitza berdinen lily or 1 = 1. Beraz, bai pasahitza ditu zuzena edo 1 = 1 izango da, eta hori egia da beti. Beraz, kasu honetan, funtsean, erabiltzaile batek ezin aprobetxatu honen eta besterik gabe hasi beren burua eta hack norbaiten kontu. Beraz, horregatik saihestu nahi dugu Norbaitek hau egin beharrik. Baina zorionez, kontsulta eginda funtzioa leku igaroz hartuko honen arreta zuretzat. Ere, normalean duzu inoiz nahi pasahitzak ematea bidali beraiek. Horregatik hashed dugu edo enkripatutako CS50 finantzetan horiek. AUDIENCE: iragana Galdetegia hitz egin buruz MySQL ihes kateak. Ez kezkatu behar dugu? ZAMYLA Chan: Hori galdera ona da. MySQL ihes kateak da behin betiko bat funtzio hori gure kontsultan erabiltzen zen. Baina zalantzarik duten begiratu. Esango nuke, hori da arrazoizko joko jakin litzaidake hori deitu behar duzu kate bat funtzionatzeko. Bai, Belinda? AUDIENCE: Nola dakizu noiz da komatxo bakunak edo komatxo? Eta, gainera, sentitzen dut hitzaldia duzu ez izatea zerbait aipatu [INAUDIBLE] edo zerbait edo amaieran bigarren barra arrunta. Nik uste dut, adierazi zuen hitzaldia duten zauden ustezko apostrophe 1 izan eta orduan ez dute apostrophes edo zerbait. IKUSLEEN: [INAUDIBLE]. AUDIENCE: Gauza azken singlea da hor aurrekontua bigarren kutxa horretan behar ez izan. [INAUDIBLE] Delako azken singlea Ateratzen dituzun aipatu eta etortzeko horiek edukiagatik non pasahitza da, duzula bada kontsulta, han at barra arrunta da Dagoeneko amaieran. Barra arrunta duten erabili nahi duzun dena aurpegiak bat bezala [INAUDIBLE]. Beraz, zer da, benetan, testu horretan kutxa Ez behar duten. ZAMYLA Chan: aldatu dut. Ados. Ez daude, zalantzarik izanez gero, orduan ez dut gainditu gainean Joseph hitz JavaScript buruz, et cetera. [Txaloak] JOSEPH ONG: Beraz exekutatzen ari gara pixka bat atzean. Beraz, joan egin behar izanez gero, hori OK. Baina zure buruak behera mantentzea eskatu dugu Oraindik erdian bada, hurrengo batean ez jarri kamera blokeatu eta erabiltzen dituzun itzuli irteera behar izanez gero. Naiz Joseph bide batez. Hi. Proba, test. Dan, ona da hori? Cool. Beraz bideoa ere argitaratu egingo da dutenentzat online duten orain utzi behar. Baldar. Ados. Beraz galdetegi berrikuspena. Hau katu bat da. Orain, Javascript, hau da, agian, ez you guys batzuk aww gisa. Ados. Beraz, lehenengo, Zamyla gogoratzen. Gogoratu PHP dela zerbitzaria exekutatu. Eta asko aldiz, you guys idatzi begiztak PHP daudelarik HTML inprimatu, ezta? Beraz, behin kodea duten exekutatzen, hori HTML irteera ateratzen duzula inprimatu lortzen erabiltzaileari bidaltzen. Eta behin hori gertatzen, PHP gehiago ez ahal da abiarazi, orria birkargatu gabe, of Jakina, horrek PHP reexecutes. Baina behin inprimatu HTML zaituen, ezin duzu joan edonon. Beraz HTML bidaliko zaion gehiagoko erabiltzaileari, zein nabigatzaile da hemen baino gehiago, non Milo ordenagailua erabiltzen ari da. Eta hain ongi, badira hainbat gauza behin HTML bidaltzen diogu erabiltzaileari. Batzuetan antzeko zerbait egin nahi dugu zerbait gainean sakatzen baduzu, nahi dugun Alerta kaxak gora pop-mota horiek elkarrekintzak, duzun unean antzekoak gakoa, zerbait klik orri, zerbait gertatuko nahi dut. Beno, ezin duzu PHP reexecute kode behin HTML ezarrita dagoela. Beraz, nola egin duzu hau? Izeneko hizkuntza berri bat aurkeztu dugu Ikusteko Javascript-a, zein nabigatzailean exekutatzen duten gauzak egiteko aukera ematen du jasotakoan HTMLra Zerbitzaritik horiek. Eta hau da, zergatik bat bezero-aldeko deitzen dugun programazio-lengoaia. Lan egiten du zure ordenagailuan du - bezeroak. Orain arte horri buruzko edozein galdera? Paradigma zentzua duen jendea? Ados. Ona. Ondo da. Beraz kontutan lehenengo gauza Ikusteko Javascript-a da, ez da PHP. Ezberdinen sintaxia batzuk dute, horrek hori izan dugu. Eta erabilpen oso desberdinak dituzte. Ikusteko Javascript-a, berriro ere, zure nabigatzaileak, bezeroak. Zerbitzari nonbait exekutatzen norbaiten on informazioa bidaltzen duen ordenagailua duzu, zuzendu? Beraz PHP kodea idatzi duzuna egiten badiegu azterketa-galdera bat, ez idatzi JavaScript eta alderantziz. Besterik galtzen duzu puntuak, eta ez da eskubidea. Hargatik batzuk sartu sintaxia aldeak - Ikusteko Javascript-a atera du! eta PHP eskuinaldean. Rekin nabarituko duzu lehenengo gauza JavaScript, aldagai aldarrikatzen dugu batera the var keyword - V-A-R. PHP dolarraren ikurra erabiltzen, Zamyla eztabaidatu lehenago bezala. Elkartze bat aldarrikatu nahi izan ezkero array, familiarrak sintaxia ikusiko dugu on PHP eskuinaldean. Ezkerreko aldean, ordez giltza kizkur erabiltzen duzun. Eta, ondoren, zure gakoak ezker aldean daude. Ondoren bi puntu behar duzu. Eta gero balioak duzu nahi duzula. Beraz, hau da nola egin nahi duzun PHP bigarren horrekin eskuinaldean duten Milo hasten line. Eta hori nola egin nahi duzun buruzko utzi albo JavaScript nahi baduzu zer objektu bat deitzen dugu. Eta JavaScript objektuak dira besterik elkartze-array. Beraz eremuetan sartzeko, nahi baduzu PHP bracket sintaxia hau erabili ahal duzu. Eta modu honetan, berriro ezar ditzakezu jabea Lauren arlo honetan. Beno, JavaScript, bada nahi bat eremu bat sartzeko eta aldatzeko, ahal duzun dot sintaxia erabili. Halaber bracket sintaxia erabil dezakezu. Baina ezin duzu erabili dot PHP sintaxia. Horrek ez du funtzionatzen. PHP bakarrik lan egiten du. Eta, azkenik, gauzak inprimatu nahi kontsola, console.log, erabiltzen duzun horrek you guys asko erabili pset8 in. Duten console.log dezakezu. Array bat inprimatu nahi baduzu PHP, r inprimatu erabili behar duzu. Eta eskuinaldean, i hash ikusten duzuna kate han lotuz. Norbaitek galdetu lehenago. JavaScript plus bat erabiltzen dut. Zerbait kateatu nahi badut PHP, dot erabiltzen dut. Horiek desberdinak dira. Duzun PHP kodea idazten ari bazara, ez dute plus bat erabili. Duzu Javascript idazten ari bada kodea, ez dot idazten. Oker izango da. Eta triste izango duzu. Beraz sintaxia desberdintasunak. Zure sintaxia ezagutzen, zeren izan baduzu galdera bat idatzi eta sintaxia erabili behar dituzu Hizkuntza okerra batetik, ez da lan egiteko. Eta okerra izango da. Hargatik hitz egiteko kontrol batzuk buruz desberdintasunak osotasunean, nola erabiltzen duzun Horietako bakoitzean begiztak. Zamyla eskuineko aldean aurreratu zaio. Stuff eskuinaldean ezaguna izan behar du. Hona ezkerreko aldean. Noiz n JavaScript loop erabiliz gero, Zure begizta aldakorra, var i han, array-gakoak baino gehiago begizta. Beraz ikusten duzu izena, etxea, eta rola. I console.log badut, ez dut lortzen izena, etxea, eta rola. Horiek gakoak dira. JavaScript, foreach begizta bat doa array honen balioen gainetik. Beraz nabarituko duzu Oraindik biek i. Baina hemen PHP aldean ere, bistaratzen Milo, CS50, eta maskota daudelarik. Horiek PHP diren balioak dira. Beraz hemen bi horiek nola desberdinak dira hizkuntza ezberdinen in. Beraz duzu foreach bat erabiltzen ari bazara begizta, ez du bere gain hartzen duela gakoak ematen dizu. Eta zuk bat erabiltzen ari bazara n loop, ez suposatuko balioak ere erakusten ditu. Du honek zentzurik orain arte? Hurrengo diapositiba dago erakusteko joan kontrakoa nola sartu ahal izango duzu hemen horietako bakoitzean. Beno, gakoa baduzu JavaScript eta balioa nahi duzun izarrekin, indizea besterik ez dituzu sartu horrekin array. Beraz, i Milo lortuko zer nahi baduzu - balioekin. Han PHP sintaxia ezberdinak hau da. Benetan jakin nahi izanez gero, ez dut Uste dut oraindik erakutsi dugu zuretzat. Baina Oraindik Interesik baduzue, erabili ahal izango dituzu eskubideari buruzko sintaxia osagarriak honetan Albo egingo benetan utzi lortuko duzu PHP gakoak denean erabiltzen ari zaren bat foreach begizta. Bitxikeriak pixka bat, beraz, besterik gabe, Oraindik Interesik baduzue. Beraz, besterik gabe frogatzen du bi begiztak hauen arteko desberdintasunak. Ez nahastu zaudenean galdera bat programatzeko. Horri buruzko edozein galdera. Cool. Ondo da. JavaScript objektuak. Haiei buruz hitz egin dut. Elkartze-array bezala ari dira. Gauza bat kontutan izan zuk nahi nuke Hemen da elkartze batean balio bat array JavaScript ezer izan daiteke. Daiteke, nahiz eta funtzio bat izango da, atsegin han. Funtzio bat izan dut gako baten balioa da. Eta funtzio hori deitu nahi badut, Azala sartzeko besterik ez dut. Eta, ondoren, parentesi jarri dut horren ondoren. Eta hori egiten du lan. Beraz, edozein galdera? Ez? Ados. Ona. JavaScript, PHP bezala, baziren idatziko da. Zer esan nahi du? Mota izan du. Baina JavaScript bat aldarrikatu duzu aldakorra, var i esan duzu. Ez duzu esan. Hori ez da gauza bat. Esatea besterik ez duzu aldagai bat da. Eta gero JavaScript maneiatzen ditu du zuretzat kanpaia azpian motak. Libreki dugun artean bihurtzeko mota hau delako. Beraz, izarrekin hasten i zenbaki gisa kasu honetan. Eta, ondoren, kate bat daukat. Eta i gehitu diot. Eta hori berriro ezar dut atzera i sartu. Beraz, lehen lerro horretan, i kopurua da. Bigarren lerroan, i bihurtzen da bat reassignment egin nuen katea ondoren. Eta hemen, naiz besterik kateatuz dut zenbaki hori kate gainean. Beraz, ikusi duzun i bat izan zen, nahiz lehenengo zatian osoko zenbakia, ordenatu da ari bat bihurtu bezalakoak katea eta ondoren gehitu ari kaixo kate horren gainean. Eta beraz, zer esan nahi dut solteak Idazteko arabera. Hori arteko bihurtzeko duzula mota oso erraz. Eta ez du bota abisuak at gustatzen zaizu C egiten du. Beraz, i, orain dauka kaixo 123 katea da. Hurrengoa. Halaber, libreki alderatu dezakegu moten artean. Beraz, erabili bada besterik == duzu, oso PHP, Javascript bezala Antzeko gauza bat du. Katea 123 zenbakiaren berdina da 123 denean bikoitza berdinak erabili duzu. Noiz berdinen hirukoitza erabiltzen zelarik, Ziur hori egin nahi du mota bera da. Duen katea da beraz delako eta hori da zenbaki bat, biak ari dira, nahiz 123, noiz hirukoitza erabiltzen duzun berdin, faltsuak lortzen duzu. Bikoitza berdinen kasuan, egia lortuko duzu, bikoitza berdinak ez du delako mota buruzko zaintzeko. Berdinen Triple mota buruz zaintzen du. Galdera? Ados. Eta JavaScript buruz gauza bat da esparrua global mota da Oraindik ezean funtzio batean. Eta bera funtzionatzen duen PHP benetan modu. Beraz, goazen adibide honen bidez. I ezarri dut 999. Eta ondoren hau sartu dut begizta. Beraz dut inprimatzeko naiz bada i daudelarik honetan egon begizta, espero dut 0, 1, 2, 3, 4. Lortzeko i = 4 nuen. I zatituko da orain eta 5 etan begizta eman amaieran. Eta gero hausten kanpo begiztaren da, ez duelako betetzen du baldintzatzen jada. Zer pentsatzen duzula hurrengo console.log inprimatzen? Beraz, zer C. egin litzateke C, delako var bezalakoa izan i kanpo baduzu eta ald i begizta baten barruan duzu, bat bezala loop, orduan egiten du, hala nola, Honez scoped dela bien i ren ezberdinak dira. Ikusteko Javascript-a, besterik izango da begira ezazu i bera bezala. Lortu dut 5a duten balioa zegoelako irten ondoren begizta daudelarik. Beraz, i en i horiek berdinak dira. Ez duela zentzurik? Beno, zentzuzkoa denez JavaScript ikuspegitik. Baina paradigma bera ez du eraman baino gehiago C. nahi dute scoping arau desberdinetan. Bai. IKUSLEEN: [INAUDIBLE] funtzioa [INAUDIBLE] kanpo? JOSEPH ONG: Beraz, horrek funtzio kanpo? Beraz, hori lortu dut bigarren bat besterik ez. Beraz foo deitzen dugun (i). Hau pasatzen i foo sartu, zatituko da, eta, ondoren, erregistroak. Beraz, 5 izan zen. Beraz 6 bihurtzen da. Baina zer buruz ari naiz da funtzio horretan i duten. Parametro bat delako, hura da funtzio hori scoped. Beraz, behin I benetan ateratzeko funtzioa, nik orain joan i zaharra itzuli. I hori bakarrik scoped dagoelako da funtzio bat da. Eta esparrua eta funtzioak behar dugu. Baina ez dugu norainokoa izan kanpo JavaScript funtzio. Ez duela zentzurik? Bai. Galdera. AUDIENCE: Same [INAUDIBLE]? JOSEPH ONG: Beraz, bai. PHP, gauza mota bera da. Han sotiltasun apur bat benetan da. Baina eskatzen ahal duzu nitaz berrikuspenaren ondoren. Ez benetan behar duzun jakin galdetegia sotiltasun duten. Egiteko xede guztietarako, bezalako aldagaiak, global eta PHP, salbu Oraindik funtzio bat dute, bera JavaScript gauza. Bai. AUDIENCE: Zergatik hau onartzen da Ikusteko Javascript-a eta no non bestela? JOSEPH ONG: Beraz, zergatik onartzen da Ikusteko Javascript-a eta ez C? Besterik ez duenarentzat zen dituzten JavaScript erabaki honetako OK zela Ikusteko Javascript-a. Beraz, besterik ez da programazio-lengoaia bat bezala konbentzio esango genuke gisa. Bai. AUDIENCE: Beraz, zergatik egin 6tik 5 joan da? JOSEPH ONG: Beraz 6tik 5 gutxitu da, delako i pasa foo sartu dut, hori i foo barruan dago orain foo scoped, esparrua funtzio existitzen delako Ikusteko Javascript-a. Baina behin hemendik dut, delako zen funtzioa scoped, besterik ez dut erregularra i zela barrutik erabiliz kontrol fluxua gainerako. Zentzurik? Ahal izango mugitzeko I? Ondo da. Cool. Hau onartzea objektu da egiten ari gara egiten. Nola pasatzen duzu badakizu C dezakezu sartu array benetan array aldatzeko? Ikusteko Javascript-a gauza bera da. Objektu bat pasatzen dut, bada, kasu honetan, I gainditu Milo catify funtzio honetan sartu. Milo hasten. Bere izena Milo Banana da. Objektu pasatzeko funtzio bat sartu dut Objektu bat, elkartze bat delako JavaScript array. Noiz eragiketa bat burutu dut Funtzio horretan, izango da benetan objektu aldatzeko. Beraz, hau bakarrik izango du objektuak gertatuko JavaScript k bezala gertatzen C. Beraz Milo izenaren barruan arrayak egiteko benetan egingo bihurtu katu orain. Ez duela zentzurik? Beraz, hau bakarrik objektuekin lan egiten du. Objektuak egiten ari gara egiten. Bai. AUDIENCE: Beraz, esaten ari zaren i aldagai kontrastea. JOSEPH ONG: Bai. Zein aldagai i besterik ez zen zenbaki bat, ezta? C bezalakoa denean bat pasatzen duzu osoko zenbakia bat, kopia bat egiten du. Eta, array bat pasatzen duzu, benetan benetako array aldatzen C. Gauza bera gertatzen da Kasu honetan JavaScript. Ondo da. Eta hurrengoa, Milo triste dagoelako Orain zuen katu bat. Izan zen benetan Milo ondoren albaitariak bidaia batzuk. Beraz, nola ez JavaScript erabili dugu Web orri batean? Bertan sar daitezke dugu. Hau banda tags duen HTML kodea da. Beraz banda tags han daukat. Eta gero JavaScript batzuk jarri dut gidoi tags barruan kodea. Eta gero hau exekutatzen ditu. Noiz egin ezazu besterik ez dut hau bezala, ez da inline JavaScript izeneko. Narratsa mota da, ez duelako Ikusteko Javascript-a da, benetan HTML en. Hobeto modu bat hau egiteko, askoz ikusgarriago, da zure JavaScript batean idazten kanpoko fitxategi eta ondoren ematen iturri batekin gidoi etiketa. Eta hau izango da JavaScript fitxategi hori joan eta irakurri Javascript kodearen etik duen fitxategia ordez. Eta modu horretan, ez duzu asko Zure hasieran JavaScript HTML fitxategia, eta horrek benetan narratsa. Jarri besterik ez duzu nonbait. Eta ondoren irakurriko luke bertatik. Ba al du zentzurik? Laneratze gaietan. Kasu zehatz honetan, gidoi gorputza baino lehen da. Beraz, noiz duten exekutatu dut, ez dago gorputzean ezer ez oraindik. Agian pixka bat gehiago egingo susma denean hurrengo zatia honek erakusten dut. Kasu honetan, gidoia div ondoren dator. Beraz div benetan agertzen lehen orrian. Hementxe zirkulu gorri txiki honetan, Testuan agertzen ikusten duzu. Eta gero, alerta erakusten du. Lehenengo kasuan, delako gidoia div aurretik izan zen, Alerta erakusten dute lehenik. Eta gero div erakusten sortu ondoren koadroan baztertu duzu. Beraz exekuzioa axola. Beraz, jarraituko dugu hau kontuan. Hau garrantzitsua izango da pixka batean. Ados. Beraz, bai, nola ez, itxaron egin arte Orrialde osoa ondoren kargatu aurretik kodea batzuk exekutatu? Egingo hau apur bat sartu dugu Pixka geroago gehiegi. Baina besterik placement hau mantentzea Kontuan gaietan denean dugu diapositiba bestera etorriko. Beraz DOM iritsiko gara orain. Eta zer da DOM? Beraz begiratzen baduzu HTML kode at, besterik ez da testua pantailan mordo bat. Beraz, nola daki JavaScript duten honek HTML elementu bat da? Beraz, memoria batzuk izan dugu honen ordezkaritza egitura horretan dugu. Eta betiere hau dugu oroimenean JavaScript ordezkaritza, deitzen dugun DOM dela. Eta modu bat besterik ez duten pertsonen erabaki da hori irudikatu behar dugu HTML egitura gisa. Eta zer DOM honen itxura? Beno, memoria ordezkari gisa, testu hau hartuko dugu. Eta piztu dugun memorian ordezkaritza. Beraz, hau HTML da. Beraz, lehen begiratu dugun bakoitzean DOM zuhaitz dokumentu bat du. Itxura zuhaitz bat bezalakoa da. Eta dokumentua HTML dauka Etiketa, benetan dena orain, honen barruan. HTML etiketa bi seme-alaba ditu. Buru bat du. Buru duela, begiratzen baduzu koska at han nola egituratzen at itxi tags artean, burua ume bat dauka. Umearen izenburua da. Zehazki. Orain, gorputzaren ume bat behar dugu. Eta gero, gorputz hori bat familia izeneko ume. Eta familia, hiru seme-alaba ditu - zaharrena, erdian, eta gazteena. Beraz diagrama bat nola marraztu jakin behar duzu Hau atsegin duzunean galdetzen dugu nola diagrama bat marrazteko denean ematen diogu duzu ezkerreko aldean HTML. DOM zuhaitzaren nola ekoizteko ezagutzen. Eta gauza horiek barruan, ez dago besterik testu batzuk, eta irudikatzen dut kutxak txiki gisa. DOM zuhaitz egitura du hori egiteko zentzu eta zer DOM da? Beraz, zer nabarmentzen du p egiteko? Hemen baino gehiago, p du han Etiketa horretan adierazten batean paragrafoan etiketa HTML. Beraz, begiratu dezakezu gora. Baina esan nahi du besterik ez da zenbait da testua dute. Eta lehenetsi CSS Sorozabal batzuk ditu, paragrafoan etiketa bat delako. Baina ez benetan kezkatu zati hori gehiegi. Besterik ez dakit leku-marka bat da testu batengatik. Bai. Galdera? Bai. AUDIENCE: Aipatu duzu besterik CSS. Hash familia eta hash balioa stuff hori guztia da, funtsean, CSS in identifikazioak ordezkari? JOSEPH ONG: Bai, hain zuzen. Egiaztapenekin horiek zer lortu dut bigarren batean esan. Angela CSS gora joan zenean, berak CSS selectors buruz hitz egin zuen. Hauek dira CSS selectors duten zuen buruz hitz egiten zen. Bai, Rob? ROB BOWDEN: I ere komentatu litzateke DOM etiketa duten titulu barrutik testu nodo bat ere. JOSEPH ONG: Eskuin. Title etiketa barruan beraz, Testu DOM batzuk ditut. Beraz, benetan, titulu hau bat bezalakoa izan behar du kutxa txiki datozen off da, baita. Baina ez du benetan axola gehiegi kasu honetan askoz. Ez dugu benetan testu nodes buruzko zaintzeko, deitu dugu, gehiegi. Ados, egiten dugu. Antza denez, egiten dugu. Eta egingo konpondu dut dut Igoko dut berriro. Ez duela zentzurik? Beraz, nola ez lan DOM dugu? Aurre duzunean DOM batera Ikusteko Javascript-a, bi urrats daude. DOM elementu bat hautatu duzu. Eta gero gauzak egiten duzun arte. Beraz, kasu honetan, abstraktuan, dut erdiko elementua hautatuta. Eta gero gauzak egiteko adibide bat da testua aldatzen litzateke. Erabiltzen Bob izan. Orain, zer egin behar dut izan dut aldatu Bob Milo kasu honetan. Beraz, nola ez benetan egiten dugu hau? Nola ez duzun galdetzea egiten dugu? Eta zenbat gauza egiten ez dugu egin Gauza behin hartu dugu? Beno, bide asko guys ikasi ezazu klase honetan zerbait dugu erabiliz jQuery izeneko. Beraz, zer da jQuery? jQuery liburutegi bat egiten da JavaScript errazago idazten. Beraz, norbait denbora hartu eta idatzi zuen jQuery. jQuery benetan idazten da JavaScript. Eta gero hau egin zuten, izan ere, gaur egun dugun funtzio sorta osoa izan duten erabili ahal izango dugu egin, gure Benetan erraza bizi. Beraz, zer dira, batzuk gauzak egiten? Elementuak hautatzen errazagoa egiten du. HTML aldatuz egiten du, klaseak gehitzea errazagoa. Ajax errazagoa egiten du. Egingo duten iritsiko gara bigarren bat. Eta C liburutegiak antzekoa da. Beraz, besteak beste, zuk string.h, get strlen duzu. Strcpy lortuko duzu, gauza horiek guztiak. Noiz artean, zuk jQuery, lortuko duzu polit aldaketara elementuak aukeratzeko moduak gauzak, et cetera. Aparteko funtzionalitate lortu duzu Javascript ez du ematen dizu. Beraz jQuery ez da Javascript. jQuery liburutegi bat hori idatzita dago JavaScript JavaScript hace errazago idazten. Beraz jQuery ez da programazio bat hizkuntza. Baina JavaScript da. egiteko. Ziurtatu zure terminologia lortuko duzu eskuineko. Zalantzaren bat? Bai. Dela galdera bat? Ondo da. Beraz, nola ez jQuery erabiltzen duzu? Beno, batzuk idazten ari zaren JavaScript kodea eta bat sartuko duzu jQuery zure fitxategia goialdean gisa gidoi fitxategia, dolarraren ikurra erabiltzen duzu orain jQuery sarbidea lortzeko. Eta hau da, ez dira gauza dolarraren PHP ikurra. Ikur berdina duzu da zure teklatuan idatzi. Baina oso gauza desberdinak esan nahi dute. Dolarraren PHP zeinua esan nahi du honek da aldagai bat nola deklaratzen dut. Ikusteko Javascript-a denean, nik barne zugan jQuery, jQuery nabarmentzen da. Beraz, mantentzea kontuan. Beraz, nola liteke DOM elementuak aukeratu dugu? Beno, noiz egiten duzun itsusiak JavaScript Bide, gehiagok erabiltzen dokumentatzeko aldagai global. Eta, ondoren, elementu lortzen duzu identifikazio familiak. Hau da, benetan luze eta wordy eta ez da oso atsegina. Edo elementu guztiak eskuratu ahal izango dituzu duten p etiketa bat dira. Hori ere lan egiten du JavaScript. Baina inoiz ez benetan erakutsi dugu duzu sintaxia gehiegi. Zer erakutsi dugu jQuery zen duzu. Beraz hautatzaileak duten osoa sortu ez dagoela zen JavaScript adierazten besterik lortzen Oso polita dolarraren honetara kondentsatzen hashtag familia sinatzeko. Eta $ p, besterik gabe, non esan bezala. P etiketa guztiak hautatu nahi baduzu familia baten barruan, espazio bat jarri dugu bien arteko. Eta orain, lortuko dugu p guztian familia baten barruan tags. Eta itxura ezagutzen? Beno, Angela buruz hitz egin zuen CSS selectors. Emadazu segundo bat. Eta beraz, elementu bat hautatzeko, Gauza bera erabili besterik ez duzu zuk bezala CSS hautatzailea batekin egingo lukeen. Egiaztapen bat jartzen baduzu aurrean Da, izena arabera aukeratuko du. Dot bat klaseen arabera aukeratzen. Baduzu gauza besterik gabe egiaztapenekin edo puntuak, etiketa horiek aukeratzen da. Galdera. Bai? AUDIENCE: Noiz dot erabiltzen dugu gure HTML, ez da jQuery? JOSEPH ONG: Dot gure HTML Ikusteko Javascript-a gauza bat da. Ez da jQuery gauza bat. Bide asko guys ikasi berarekin jQuery da. html erabili. Eta, ondoren, pasatu duzuna HTML izango da. Beraz, hori lortu dut besterik bigarren bat, benetan. Beraz, nola ez stuff egin dugu elementu behar behin gehiago aukeratu dugu? Beraz, adibide bat elementu bat hautatuz. Beraz, orain, gauzak egin nahi dugu. Beraz, kasu honetan, utzi atzera me aurreko diapositibara. Bob aurretik izan zen. Eta hori aldatu nahi dut Milo HTML barruan. Beraz HTML funtzioa deitzen dut elementu batetik. HTML funtzioa dela elementu metodo bat. Eta ondoren ematen dut zer HTML Izan nahi dut. Eta ordezkatzen besterik ez da zer da barrutik dena delakoa dut eman etiketa duten. Bai. Galdera? AUDIENCE: hashtag erabiltzen da bakarra jQuery da. [INAUDIBLE] ez genuke erabili duten. JOSEPH ONG: Bai, hain zuzen. Baina ez kezkatu gehiegi JavaScript purua buruz. Besterik ez duzu guys zentratu nahi dut nola duzun egingo lukeen jQuery batera, delako hori garrantzitsua izango da zatia galdetegi da. Eskuinera. Zehazki. Beraz hashtag hori ikusten duzu, beraz dagokio elementu hautatzeko ekin izena erdian delako hashtag duten. Hashtag izena esan nahi du. Eta elementu honen erdian ID bat. Beraz, hori elementua hautatzea dugu. IKUSLEEN: [INAUDIBLE]. dolarraren ikurra hashtag [INAUDIBLE]? JOSEPH ONG: Beraz, ez. Galdera da erabili. Balioa. Eta. Balioa bakarrik elementuekin lan egiten du duten inputak dira. JQuery ere, izango litzateke . Val, ez. Balioa. Beraz, adibide txiki bat eskuratu dut Guztiak erakusten konbinatuta bigarren batean. Baina hau snippet pixka bat balio uste dut zentzuzkoa jendea hain urrun. HTML aldatu nahi, HTML metodoa deitu. Bai. AUDIENCE: Ezin azaldu metodoa berriro? JOSEPH ONG: Beraz, metodo bat besterik ez da bat inork dagokio funtzioa, hau kasuan, DOM elementu horietako bat, dut ikusten duzulako lehenengo elementua hautatuta. Egia esan, utzi sagua erabili me. Elementu hautatutako dut lehen. Eta ondoren HTML honek deitu nuen funtzionatu egiten zuela. Eta funtzio hori pertenece delako gauza hau da, metodo bat deitzen dugu. Hori besterik ez da izena fancy bat da. Esan hori berriro. Beraz, gogoratu, hautatuta dugu elementua orain. Eta nik jarri genituen barruan elementu aldakorra da. Zuzentzeko? Beraz, on HTML aldatu nahi dugu Barruan, Bob aurretik izan zen, duzulako testu hori aldatzeko Milo nahi. Beraz HTML deitzen diogu. Eta esango dugu zer HTML barruan elementu hori gaur egun izan behar du. Eta beraz, aldatzen da Milo, eman dut delako Milo. AUDIENCE: Beraz, elkarrekin lanean ari ziren. [INAUDIBLE] JOSEPH ONG: Bai, bai. Elkarrekin lanean ari ziren. Beraz, horietako bat aukeratzen du elementua lehen. Eta bigarrena ez duen zerbait. Bai. IKUSLEEN: [INAUDIBLE]. Metodo hau da HTML ezberdina bada berdintasunaren benetako metodoa duzu. JOSEPH ONG: Bai. Duten beste metodo bat da. Duten beste metodo bat da. Eta hori estali ahal izango dugu bigarren bat besterik ez denean adibide bat lortuko dugu. Egiteko azkartzeko dugu ziurtatu egin nahi dut dugun denbora agortzen ari delako. Baina modu exekutatu dugu denboran zehar orain. Ados. Cool. Beraz klase bat gehitu nahi baduzu, ez dago halaber add klasearen metodo bat. Hau besterik ez da zer adibidea da jQuery egin dezakezu. Hori besterik klase bat gehitzen. Kendu nahi izan ezkero, remove dei dezakezu. Hori besterik ez, beste gauza egin dezakezu. Gauza egin dezakezu adibide beraz gehiago. Beraz ahal jarri besterik ez dut at Hau atsegin goian? Gazteena kendu. Ikusteko Javascript-a duten exekutatu dut besterik ez bada, nire fitxategia goialdean, lan egingo? Eskuinera. Delako erdian ez da existitzen oraindik. Beraz, hau ez da lanera joan. Exekuzioa ordena. Lehenengoa doa goian da. Zer? AUDIENCE: gazteenak ez da existitzen oraindik? JOSEPH ONG: Bai. Gazteena ez da existitzen oraindik. Zehazki. AUDIENCE: erdian esan duzu. JOSEPH ONG: Barkatu. Gazteena ez da existitzen oraindik. Eta beste gauza da, ez daukat barne jQuery du fitxategia eskatu gidoi src. Beraz, ez da lanera joan. Egia esan, ez nuen horretan hurrengo diapositiba, hau da, suposatzen duten edo konpondu. Baina modu honetan egiten dugu JavaScript da da gertaera bultzatuta. Beraz, zer egiten dugu ekitaldi bat erabili dugu Handler hau gerta dadin. Eta, beraz, dokumentua aukeratu dut ezartzeko lehen. , Esan nuen Ados, dokumentua denean prest, utzi funtzioa exekutatu me. Beraz, sintaxia bide hori guztia. Dokumentuan hautatutako dut. Orain, dokumentua denean prest, funtzioa exekutatu. Eta beraz, hemen dokumentuan denean prest, eta horrek esan nahi HTML guztiak ditu kargatutako, orduan funtzioa exekutatu I duten elementu hori kentzen. Eta beraz, orain, funtzio hau exekutatu gainditu prest sartu ditut, naiz bermatuta duten on HTML guztiak orria da lehen existitzen da joan. Bai. Galdera? AUDIENCE: Zein da gertaera hitzarekin funtzioa barruan? JOSEPH ONG: Beraz, gertaera keyword duten funtzioaren parametro bat besterik ez da, lortzen funtziora pasatako Nolanahi ere. Zerbait besterik ez dela doan lortuko duzu. Noiz gako kudeatzaileen erabiltzen ari zaren pset8, gertaera dela esan izan du, Adibidez, zein giltza sakatzen duzu. Kasu honetan, prest ekitaldi batean, super benetan erabilgarria da ez. Baina gakoa behera ekitaldi bat, gehiago da erabilgarria, ezagutu duzulako eta horrek gakoa sakatzen duzun gako sartzeagatik Ekitaldia objektu off kodea. Zuzentzeko? Ez duela zentzurik? Ados. Bai. Galdera? AUDIENCE: Beraz daiteke jarri Script etiketa beherago? JOSEPH ONG: Beraz, bai. Gidoia jarri ahal izango duzu txikiagoa etiketatu behera. Baina, ondoren, besterik gabe bihurtzen da benetan narratsa. Eta guztiak zentralizatu nahi dugu gure leku batean kodea duen. Eta hau egin ahal izango ditugu. Gogoratu lehenago esan dut, ez da hobea Bide elementu daudela ziurtatzeko orrian exekutatzen kodea aurretik? Eta hau modu polit bat besterik ez da hori betetzeko zenuke. IKUSLEEN: [INAUDIBLE]. JOSEPH ONG: Bai. Oraindik ere nahi duzu izan, ezta? Delako gogoratu, sartzen zaren orriaren goialdean fitxategia. Beraz, lehen exekutatu aurretik joan lortuko orriaren beheko duzu. Ados. Beraz ere desberdin bat gehitu dezakezu Ekitaldia handler mota. Ko hau prozesu besterik ez clicks. When I gazteena sakatu, ondoren pop izango da alerta bat. Hau besterik ez da desberdin bat ekitaldi mota. Prest ekitaldi ez bezala, orain duzu Jasotzen duzun orduan klik gertaera erabili elementu baten gainean klik. Eta, beraz, kasu honetan, gogoratu, sakatu kudeatzailea da gazteena atxikia. Beraz bakarrik gertatzen denean On gazteena sakatu dut. Eta bestea, prest ekitaldi batean zen dokumentu atxikia. Beraz dokumentuaren zain ezazu prest egon. Zentzurik? Nik uste dut, ezin dut aurrera egiteko. Bai. Galdera? IKUSLEEN: [INAUDIBLE]. kasu honetan [INAUDIBLE] erabiltzen duzun. JOSEPH ONG: Oh, bai, izan ere, honetan kasuan, eta gazteenen artean itxaron beharko dut Lehenengo pantailan agertuko elementu Klik handler dut erantsi aurretik da, eta horregatik, bere barruko jarri dut dokumentu bat prest. Ados. Eta hurrengoa, beraz, horren adibide handi bat da guztia nola konbinatu nahi duzun. Hau besterik inprimaki balioztapen bat da duzun hitzaldia ikusi. Beraz, hartu, urratsez urrats, gisa honen bidez joan. Eta erabat OK izango da. Besterik irakurri goitik behera. Inprimaki bat daukat behealdean. Dokumentuak prest dago, bat erantsi dut submit handler formulariora, hala nola, denean inprimakia aurkeztu nuen, baloreak eskuratu dut Sarrerek horietako bakoitzaren barruan. Eta egiaztatu dut hutsik bada. Hutsik bada, faltsua itzuliko dut, zeren Ez dut nahi inprimakia aurkeztu behar, Inprimakia gaizki dagoelako. Pasahitza da hutsik bada edo gutxiago da zortzi karaktere baino, ez dut aurkez Inprimakia, hori okerra da ere delako. Eta bueltan faltsua besterik eragozten aurkezteko eta egindako formularioa orri berri bat egingo. Eta, zorionez, hau zentzurik. You guys ibiltzeko behar dela uste dut kodea urrats hau urrats zeure arabera. Eta behin ulertzen zer hautatu du elementu eta egin gauza da benetan dakar, hau izango da egin Zentzu asko bat duzu. Bai? AUDIENCE: Zer esan nahi du izena = esan nahi konturik? JOSEPH ONG: Beraz, izena = erabiltzaile-izen eta izena = pasahitza besterik esan nahi begiratu edozein dela atributua hautatzen ari zaren. Eta gero dator. Beraz, izena emateko sartu dugu. Eta, ondoren, begiratu sarrera guztietan dugu eta izena emateko. Eta, ondoren, inork non izena jaso dugu atributua erabiltzaile izen berdina da. Beraz lehen hautatzailea duten hautatzen bakarrik erabiltzaile-izen sarrera. Eta bigarren hautatzaileak hori bakarrik aukeratzen pasahitza horiek bat, zeren beren izena atributu gisa ezartzeko zer behar dira izan. Galdera? AUDIENCE: aurkezteko eta, nola ez du beheko, goiko zatia konpontzeko? JOSEPH ONG: Beraz, hori delako ekitaldi kudeatzailearen. Beraz aurkezteko ekitaldi bat ari gara zain lortzen formularioa tiro. Eta hori dela aurkez guztiak. Zergatik deitzen dut aurkez han? Da, dio inprimakia aurkeztu, Aurkezteko ekitaldi bat lortu dut. Hargatik atzematen besterik zidan eta ondoren, kode hau exekutatu beharrean. Bai? AUDIENCE: Zergatik ez dituzu funtzioa gertaera izatea? Zergatik ezin duzu besterik ez [INAUDIBLE]? JOSEPH ONG: JavaScript, duzulako funtzioak deklaratzen. Hori besterik ez nola funtzionatzen duen JavaScript. Egingo da esan behar duzu funtzioa exekutatu. Beraz ari zaren kontatzea zarela funtzio bat hemen espero ordez besterik gabe giltza kizkur. AUDIENCE: Eta funtzioa edozein dela ere, honako hau da? JOSEPH ONG: Bai. Funtzioa da, edozein dela ere barruan giltza kizkur ondoren funtzio keyword duten. Bai? IKUSLEEN: [INAUDIBLE]. JOSEPH ONG: submit For? AUDIENCE: Ez, funtzioa gertaera gabe. JOSEPH ONG: Bai. Beraz gertaera gabe, duten izan dezakezu. Behar ez duzun gertaera bada, ondoren, besterik gabe dezakezu ezikusia. Baina egiten baduzu, orduan duzun besterik jarri han. Bai. Quick galdera? IKUSLEEN: [INAUDIBLE]. JOSEPH ONG: Bai. Zer egin behar duzulako, eta document.ready besterik dio guztiak itxaron lehen kargatu orrian HTML. Eta, normalean, zure elementuak nahi dituzun lekua edozein kodea exekutatu aurretik. Ondo da. Ra Ajax heldu behar dugu. Ez dugu denbora asko. Beraz, pros eta Cons. JavaScript errazagoa saiatu da jQuery batera idaztea. Baina jQuery motatako motela da. Da bezala PHP C baino motelagoa da, Honez interpretatu delako. Eta jQuery da pixka bat baino motelagoa Ikusteko Javascript-a, asko egiten duelako da kanpaia azpian gauzak. Eta, beraz, jQuery erabiltzen ari bazara, hura da baino pixka bat motelagoa Ikusteko Javascript-a, nahiz eta polit dotorezia ematen dizu. Eta, azkenik, Ajax. Beraz, Ajax-ekin orain arte, ez duzu ikusi Ajax Oraindik pset7 dagokionez, zeren denean egin duzun, bidaltzen duzun aurrekontua egiteko inprimaki bat. Orri berri bat kargatu du. Beraz flash zuri handi hau lortuko duzu orrian duten bitartean bigarren orrialdean kargak, zuzena? Benetan polita izango litzateke baduzu ez zuen flash hau. Facebook bezalako, baduzu korrituko besterik behean, eduki berriak gehitzen Orrialde osoa freskagarria gabe. Beraz, honen antzeko zerbait polita izango litzateke. Hau da JavaScript kodea ezkerreko aldean. Sarrera horren barruan, zer da lortu duzu. Yahoo!-tik stock informazio lortuko duzu Eta, ondoren, kate handi bat egin duzula dio, OK, hau mezuan nahi dut pantailan erakusteko. Eta, ondoren, mezu horren barruan jarri duzu lortzen HTML elementu batzuen pantailan agertuko. Beraz, hori da hemen gertatzen ari den guztia. Beraz, funtsean, hau da dena delako Ikusteko Javascript-a eta ez duzu exekutatu jada PHP, hau ziurtatu egingo orriaren horrek ez du freskatzen. Beraz, hau da, besterik gabe, ideia abstraktu bat dela hemen esaten dut oraingoz. Ideia abstraktu dela egiten baduzu JavaScript guztiak, ez duzu bat orria freskatu. Baina nola ez, benetan egin nahi duzu hau? Beno, egia esan, Hizpidea Lehenengo honek arazo bat. Arazoa JavaScript dago, exekuzioa sinkronoa da. Beraz, bat itxaron beharko duzu lerroa aurretik amaitzeko hurrengo lerroan exekutatu. Eta zer baino gehiago noa bada Yahoo! izateko, eta euren zerbitzarietan oso mantsoak dira, eta Horietako hiru segundo behar izaten da ematen dit atzera stock Datu hori? Noiz prezioa linea hit dut, bada exekuzioa sinkronoak da, dituen lehenetsi, zer besterik egin egingo da Zure nabigatzaileak da for saltoki joan hiru segundo. Eta ez duzu egin ahal izango da ezer datuak lortzen bitartean. Honez izoztu egingo da. Eta hori da txarra. Ez duzu erabiltzaile batek nahi Web orri izoztuak bat. Zuzentzeko? Hori besterik ez txarra. Denek ados? Facebook da eta arakatuz bazabiltza izoztu eta ezin duzu ezer egin, zuk get benetan zapuztu. Beraz, konponbidea da zerbait egiten dugu asinkronoak ordez. Beraz, gauza guztiak asinkronoak hau dio da, naiz hau eskatzen dut Datu batzuk URL. Eta gero noa jarraitzea. Besterik ez naiz exekutatzen jarraitzea edozein dela ere, hori izan zen horren ondoren kodea. Eta gero direnean datuak prest dagoela, gero prozesatu egingo dut. Hori da dena esaten da. AUDIENCE: Ajax besterik egiten kodea asinkronoak? JOSEPH ONG: asinkrono bat da datuak mezuak jasotzeko modurik. Beraz Ajax buruzko gauza lehen da datuak eskuratu zidan aukera dago kanpoko web from. Eta bigarren gauza da ziurtatu egiten du nire orrialdera ez duela saltoki naiz berriz datu horiek eskuratzea. Dela zati asinkronoak da. Off doa nonbait delako, dut esan duelako bitartean gertatzen mantentzen dut Honez datu horiek eskuratzen du, hau egiten asinkronoak. Exekutatzean mantentzen dut. Beraz asinkronoak hori mantentzeko Kontuan izan ideia. Eta zuk erakutsi dut zer aldea da. Sinkronoak bertsioa ezkerreko aldean dago. Bertsio asinkrono eskuinaldean dago. Zenbakiak behatu ikusi eta horrek urratsei dagozkie zer lerro bakoitzean exekutatzen da. Han, alerta erakusten dute lehenik. Delako Yahoo! stock informazioa lortzean hiru segundo irauten du, besaulki-patioa hiru segundo. Eta gero, prezioaren alertak da hiru segundo horiek ondoren. Beraz, gaur egun, alerta ikuskizunak Garai hartan sortu - hiru segundo sartu Eta ondoren egindako alertak da horren ondoren. Beraz, besterik gabe, urratsez urrats doa. Zer you guys bezala onartuko luke, zuzena? Exekuzioa asinkronoak batera, lehen ohartarazi duzu. Ondoren, bagoaz URL honetara. Eta, esan duzu noa joan datuak soilik eskatu. Eta gero, ez naiz joan geroago prozesatu. Beraz berehala exekutatzen da hurrengo lerroan egiten dut horren ondoren eskaera asinkronoak. Beraz, a 0.001 segundotan, alerta hi ikusten duzu. Funtzio hori, alerta bye exekutatu. Eta promesa bat egin nuen delako dut Datuak geroago prozesatu litzateke, zer gertatzen denean, datu horiek bueltatzen hiru segundo geroago, gero exekutatu dut funtzioa izan dut han. Bai? AUDIENCE: Ezin duzu zehaztu edo argitzeko Ajax zer esan nahi du? JOSEPH ONG: Beraz Ajax modu bat da hori badut datuak behar denean nago web gune batean eta biok ez orria freskatu nahi, orduan Ajax izeneko teknologia hau erabiltzen dut. Funtsean, besterik esan nahi, joan eskuratu Beste webgune batetik datuak. Eta egin ezazu modu bat besterik ez ez stall nire web orrian. AUDIENCE: Beraz, hori da, berezko antolaketa Ikusteko Javascript-a edo jQuery parte? JOSEPH ONG: Beraz, norbaitek egin modu bat idatzi hau JavaScript aspaldi batean. Puntu bat, ez da existitzen. Eta beraz, norbaitek teknika hau asmatu pertsonek datu horiek eskatu ahal izateko moda hau. Eta gauza batzuk idatzi dute egin zuretzat. Eta jQuery besterik ematen dizu honetan egin behar den oso polita modu $ honekin. lortzeko funtzioa. galdera? I buruzko galderak erantzun ahal izango Ajax guero gehiegi. Hemen izango naiz. Beraz gabe datuak eskuratu en gurekin utzi orria freskatzen. Eta hori egin en gugan utzi modu asinkrono batek ez du orriaren izozteko. Luzeegia, ez irakurri bada azalpen luzeegia zen zuretzat. Beraz, azkenik, gurutze-gune scripting erasoak. Hau ikusi genuen Zamyla batera. Bada nire datu base norbait izen hau dauka, Script etiketa hau, eta nik da nire orrialdean kode batzuk izan duten grabatuak pertsonen ilara batean izenak, edo daukat itzazu JavaScript kode batzuk txertatzen Izen hori orrialdean sartu, zer HTML lortzen ekoiztu? Beno, HTML etiketa inprimatu dut. Etiketa guztiak inprimatzen ditut. Lortuko zatia inprimatzeko non nago nahi dut nire lagunekin atera. Lauren inprimatu dut. Milo inprimatu. Eta gero, nire izena basean gidoiaren mezua da unflattering Facebook egoera. Hau txertatuko dut delako orrian sartu badirudi JavaScript, bezalakoa delako Orri honetan erabiltzaileari bidaltzen lortzen, bertan lortzen JavaScript gisa exekutatu. Eta, beraz, hau da, zer deitzen dugun cross-site scripting erasoa. Norbaitek informazio maltzurren jartzen hasi Zure datu-basea ezin duten dagozkie kate batzuk osagarriak edo JavaScript kate batzuk. Eta noiz lortzen inprimatutako joan moda hau orrialdetan, orduan zer gertatzen da txarra kodea duten exekutatu baina ez dut nahi exekutatu ahal izateko da. Eta hori guztia bat gurutze-gune da scripting erasoa da. Eta modu inguruan lortuko duzu hau da bezalako Zamyla esan. Gauzak biltzeko besterik ez duzu hemen HTML karaktere bereziak. Eta hau HTML chars bereziak PHP da funtzio horren moduko hau eragozten du duzu gertatzen ari den gauza maltzurren bat izanez gero Zure datu-basean katea. Ihes besterik ez da, beraz, ez du get HTML gisa interpretatu. Parentesi txiki ordezkatzen entitate deitzen dugun honekin. Eta hau baino gehiago joan ginen hitzaldia gehiegi. Baietz uste dut you guys izan behar du horretan eusten on bat. Galdera? Bai. AUDIENCE: Beraz, nola litzateke [INAUDIBLE]? JOSEPH ONG: berriro Say duten. AUDIENCE: nola monitore litzateke - JOSEPH ONG: Eskuin. Beraz, zerbait dioen, duzu denean Naiteke, mota nire izenean. Alor horretan I idatzi besterik ez, nire izena da stript post unflattering Facebook status itxi gidoi etiketa. Eta hori lortzen jarri datu-basea, ezin delako esan norbait munduan ez du izenik, bertan ezker gezi bat edo batera Hitz bertan gidoi. Horrek ez du benetan zentzurik. Beraz, besterik ez dut nahi ziurtatu egin dut sanitize stuff dut inprimatu aurretik orrialdera daudelarik. IKUSLEEN: HTML txartelak bereziak eragozten gidoi etiketak? JOSEPH ONG: Bai. Beraz, ez du eragotziko gidoi etiketak. Egiten besterik ziurtatu du Script etiketa ez lortu HTML edo gisa interpreta - bai. Ateratzen besterik ez da zer Benetan da. Ondo da. Beraz, galdetegi berrikuspena izan zen. Cool. [Txaloak]