R.J. Aquino: Ejja biss tibda. Allura dan huwa Quiz 1. Hawn xi informazzjoni ta 'livell għoli. Il-paġna About għall-kwizz huwa f'dan il- URL, m'għadhiex CS50.net, għalkemm dan xorta se taħdem. Huwa CS50.harvard.edu/quizzes/2013/1. Hu l-big About paġna, tghidlek fejn u meta, jiġifieri l-Erbgħa li jmiss fil-mazz ta 'kmamar. U sal-Erbgħa li jmiss, I tfisser żewġ jum minn issa. Din l-informazzjoni hemm. Iżda huwa kumulattiv. Hekk kollox mill-ewwel nofs tas- sena huwa potenzjalment fuq il-kwizz, għaliex inti ma tistax verament tagħmel avvanzat affarijiet C mingħajr jekk il-kundizzjonijiet u għal-linji u simili. Imma se jkun hemm enfasi fuq il- materjal kopert peress Quiz 0, jibda bl structs u File I / O. Huwa tipikament aktar sfida minn Quiz 0. Il-punteġġ medju huwa tipikament aktar baxxi. Studju iebes. Filwaqt li int tistudja, ikunu żguri li jużaw CS50/discuss biex wara l-mistoqsijiet tiegħek u aqra mistoqsijiet nies oħrajn. Mela jekk inti ma għandekx xi mistoqsijiet, login u jaqraw mistoqsijiet ħbieb tiegħek ". Huma qed probabbilment mistoqsijiet tajba. U tieħu l-kwiżż prattika. Imxejna kien jagħti kwizzijiet għal seba 'jew tmien snin issa. Huma qed kollha online. Mistoqsijiet futuri huma simili għall-mistoqsijiet qodma. Thats kif nagħmlu minnhom. L-kwizz s'issa ma jeżistix. Xejn minna raw dan. Iżda se look like kwizzijiet preċedenti. Għal din is-sessjoni reviżjoni, dan mhuwiex lista eżawrjenti ta 'suġġetti. Inti ma tistax biss jattendu dan u mbagħad jkun perfettament lest għall-kwizz. Inkella, ma jkunx li ħafna ta 'kwizz. U dan huwa wkoll mhux neċessarjament dak kollu li għandek bżonn tkun taf dwar kwalunkwe mogħtija suġġett. Huwa maħsub biex jesponu li inti l-affarijiet konna koperti, infakkarkom dak li aħna koperti, u l-mod li aħna koperti minnha. Imma inti se jkollhom imorru ulterjuri u aktar profonda meta inti tistudja biex double check- li inti taf kollox dwar kwalunkwe mogħtija suġġett u li inti stajt mimlija -irkejjen kollha li kienu koperti fil-lecture. In-noti kwizz jgħidlek biex tmur fil- jinnota scribe, watch videos lekċers. Li l-mod tajjeb biex tagħmel żgur li int ħadthom koperti bażijiet kollha tiegħek. Allura jkollna beda, meta I magħmula dawn slides, I ppruvaw li jpoġġi fejn sibt informazzjoni. Allura għal File I / O, per eżempju, Ġimgħa 7, It-tnejn lecture, u l stazzjonati Taqsima 6 u Problem Set kollha għandhom informazzjoni dwar File I / O. I ghamilt dan għal kull suġġett. Allura dawk slides titolu jista ' tkun utli għalik. Allura hawnhekk għandna File I / O. Ftakar, fil- Problema Set 5, użajna fopen, fclose, fwrite, fread, u fseek. Wara li rkuprati 30ish JPEGs u wara li tingħata daqs ieħor u messed ma bitmaps, inti għandek tkun pretty familjari ma 'dawn il-funzjonijiet u kif jaħdmu. Jekk inti m'għadekx familjari, definittivament jirreveduhom. U aċċerta ruħek li tifhem dak li l-argumenti differenti huma, meta jkunu qed jintużaw. Iżda l-bugs relatati mal-fajl komuni inti tista 'tiġi mistoqsi dwar - ukoll, jekk inti ħadthom minsija biex jiċċekkjaw jekk fopen attwalment maħduma qabel ma tmur timmodifika fajl. Dan jista 'jkun ħażin. Jekk inti ħadthom insejt fclose fajl li inti stajt fopened, li huwa simili għal nixxija memorja. Li pretty bad. U jinsa li jiċċekkja jekk inti stajt laħqu t-tmiem tal-fajl qabel ma tibda tikteb lilha. Mela jekk inti tgħidli, ħej, jien fuq l-aħħar tal-fajl. Agħti me 5 bytes aktar. Ukoll, li probabbilment mhux se taħdem il-mod inti tistenna. Li tassew għal File I / O, għaliex għamilna daqstant minnu mal-problema stabbiliti. Mela jekk inti mifhum dak li kien għaddej fil Problem Set 5, ftakar l bitmats u l-JPEGs, allura int probabilment kollha stabbiliti għall File I / O. Jekk dan huwa daqsxejn fuzzy, definittivament tirrevedi din il-problema stabbiliti u l-materjal assoċjati. Structs kienu l-tema li kienu fuq il- linja bejn Quiz 0 u Quiz 1. Ma pjuttost tagħmel il-qatgħa għal Quiz 0. Sabiex dawn ser definittivament fuq Quiz 1, Ġimgħa 7, it-tnejn. X'inhu Istituzzjonjijiet? Here we juru Struct. Huwa simili ta 'tip ġdid. Huwa bħal kontenitur għall-oqsma multipli. F'dan il-każ, konna ddikjarat Istituzzjonjijiet student li għandha żewġ oqsma - string li aħna qed ssejjaħ isem u l int li aħna qed ssejjaħ età. Allura meta I jgħaddu madwar istudenti jew I timmodifika l-istudenti, I ser tkun kapaċi aċċess isem tagħhom u l-età tagħhom. Ejja nħarsu lejn xi kodiċi għal dan. Hawnhekk naraw li stajt iddikjarat student s, bħal Niddikjara kwalunkwe varjabbli - int x, y int, eċċetera. Hawn student s. Huwa jibda ma 'xejn fl-oqsma tiegħu. Mela ejja jistabbilixxu lilhom. Tissettja oqsma ta 'Struct ma dot. Hekk stajt qal hawnhekk li s.name = RJ. U s.age = 21. Tista 'wkoll taġġorna l-oqsma bl-istess mod youd taġġorna il-valur ta 'varjabbli. So I trid tibdel isem tiegħi minn RJ ma ebda perjodi għall R.J. spelt l- mod korrett. Ikun s.name = RJ, l-istess kif għidna oriġinarjament. U allura inti tista 'aċċess għalihom. Allura aħna ħadthom jistabbilixxu lilhom. Imxejna aġġornat minnhom. Tista 'wkoll aċċess għalihom fil-ħafna istess mod. So here, jien istampar R.J. 21 sena. U jien aċċess ta 'dawn il-valuri ma s.name u s.age. Allura thats aċċess structs mal-dot notazzjoni. Yep, mistoqsija? UDJENZA: Hemm raġuni fuq il- slide qabel li inti ma poġġiex student fuq il-linja ta 'fuq, bħall typedef student Istituzzjonjijiet u mbagħad student fl-aħħar? R.J. Aquino: Għalhekk il-kwistjoni kienet, fuq dan slide, konna tipikament dehru typedef node Struct u allura l- oqsma ta 'l-Istituzzjonjijiet u allura l-node kelma. U kif come here I ma jgħidu, typedef student Struct u allura l- oqsma ta 'l-Struct u mbagħad student? Ir-raġuni hija li I m'għandhomx bżonn li aċċess għaliha ġewwa tal-Struct. Allura huwa OK li jitilqu minnu mingħajr isem. I tista 'sempliċement inħallu kif l Struct anonima. Ir-raġuni nagħmlu dan għal listi marbuta u affarijiet huwa għaliex ġewwa għandek bżonn ta 'referenza stilla nodes Struct. Allura l-Struct għandu jkollu isem, sabiex inti tista 'aċċess aktar tard. Huwa dettall minuri. Iżda inti ser tipikament tara typedef Istituzzjonjijiet braces kaboċċi jekk inti m'għandekx bżonn l-isem u typedef Istituzzjonjijiet xi isem segwit minn braces kaboċċi jekk inti se bżonn l-isem. Allura li hija mistoqsija tajba. U fuq dan il-punt, għandna t-tendenza li jimmodifikaw structs u jgħaddu madwar structs minn referenza, mhux mill-valur. Allura aħna ser biss jgħaddu madwar pointers għal structs minflok tgħaddi madwar il- structs infushom. Allura int ħafna drabi ser ikunu użu, f'dan il-każ, student * jew Istituzzjonjijiet node * jew node * minflok l-istudenti jew lymph. So here, stajt qal, OK, il-varjabbli PTR se tkun l-indirizz ta 's. Li għaddej biex tkun l-pointer lill-istudent R.J. Allura nistgħu nibdew fuq dawk l-oqsma l-istess kif aħna tikseb xejn. L-ewwel, ID referenza l-pointer biex jiksbu l-Struct. C'est * PTR u mbagħad dot u mbagħad età. Allura biex jaċċessaw il-qasam, u stajt aġġornati Issa sa 22, minħabba, ejja jiġifieri, kien birthday tiegħi. Hemm sintassi shortcut jużaw il-vleġġa hawn. Età arrow Allura PTR huwa biss l-istess bħal * ptr.age. Issa, li xi ħaġa inti ser ikollok li jimmemorizza u ftakar. You użati ħafna fil pset6, l pset speller. Iżda dan huwa attwalment dak li għaddej fuq taħt il-barnuża. Huwa dereferencing l-pointer u mbagħad jaċċedi għaliha. Mistoqsija? UDJENZA: [inaudible]. R.J. Aquino: Allura għaliex aħna jużaw pointers bħala structs minflok il- structs infushom? Ir-raġuni tkun jekk int tgħaddi a Struct għal funzjoni, inti probabilment jridu jgħaddu madwar biss 4 jew hekk bytes li jirrappreżentaw l-pointer, kif kuntrarju għall-potenzjalment 30 jew 40 bytes li huma l Istituzzjonjijiet. Allura tgħaddi xi ħaġa għal xi funzjoni tkun eħfef meta l-ħaġa hija iżgħar fil-qosor. Mistoqsija? UDJENZA: Inti tista semmejt dan fil-bidu, iżda hemm slides oħra fuq [inaudible]? R.J. Aquino: Dawn slides se jkun up wara s-sessjoni ta 'reviżjoni. Aħna ser post minnhom fuq il-websajt. Allura jimxu fuq u jimxu fuq ftit aktar mgħaġġel, aħna qed tmur biex jitkellmu dwar data istrutturi. Hemm ħafna. We koperti mazz minnhom. Hawn dak li għandek tifhem dwar l-istruttura tad-data. Inti għandek verament jifhem bi għolja livell dak li kull istruttura hija. Inti tista 'tispjega bl-Ingliż tiegħek ħabib li ma jkunx ħa CS50 kif aħna qed jorganizza data tagħna u għaliex aħna'd tkun qed tuża xi ħaġa b'dan il-mod? Dik ħaġa waħda. Ħaġa tnejn, jifhmu l-implimentazzjoni. Allura jifhmu kif jużaw dawn l-affarijiet fl C. U aħna ser jkunu għaddejjin fuq dan. U mbagħad ħaġa tlieta jkunu jafu l- ħinijiet run u l-limitazzjonijiet tal- istrutturi varji li inti qed tuża. Allura wieħed jifhem għaliex inti tuża hash tabella minflok firxa. Jifhmu kif fast, fuq medja, aċċess tabella hash huwa. Jifhmu liema operazzjonijiet huma veloċi fuq lista marbuta iżda bil-mod fuq arrays u vice versa. Allura biex jifhmu li, inti ser ikollok jifhmu notazzjoni Big-O biss li tkun taf kif jitkellmu dwar dawn xorta ta 'affarijiet. U aħna ser nitkellmu dwar dan. Allura l-ewwel ħaġa, listi marbuta. Hawnhekk hija stampa ta 'livell għoli ta 'lista marbuta. Nuru dan fil-klassi. Aħna tipikament ikollhom 10 persuni wieqfa fuq l-istadju. Iżda aħna għandna serje ta 'punti ta' konġunzjoni fejn kull node għandha xi valur u pointer għall-valur li jmiss tagħha. Allura biex tikseb minn node wieħed għall-ieħor, inti biss jgħidu, tagħti me-node li jmiss. Inti għandek li node. Agħtini l-node li jmiss. Inti għandek li node. Agħtini l-node li jmiss u l-bqija sakemm hemm l-ebda xellug node. Allura jkomplu jitkellmu dwar f'livell għoli. Huwa faċli ħafna li daħħal affarijiet fil-lista marbuta. Jekk inti ma 'kura dwar l-ordni, inti tista 'biss qatra dritt fil-bidu. Dak iż-żmien kostanti. Iżda huwa diffiċli li ssib valur. Jekk inti qed tipprova jistaqsu, huwa seba 'fil-lista tiegħi? Ikollok tmur permezz kull valur wieħed. Huwa dan seba? Huwa dan seba? Huwa dan seba? Huwa dan seba? Aktar u aktar mill-ġdid. U li O (n). Allura meta jistudjaw għall-kwizz, tqabbel dan mal arrays. Huwa li OK? Id-dwal marru dim. OK. Meta hija lista irbit aħjar? Meta huwa firxa aħjar? Mela ejja nħarsu lejn xi kodiċi. Hawnhekk huwa node potenzjali. Huwa Struct. Hija għandha n int, li se jkun il-valur tagħna. U għandu node Struct * li jmiss, li huwa pointer tagħna għall-node li jmiss. Allura hawnhekk, nistgħu naraw li aħna ġara li tpoġġi int fl node tagħna. Imma jekk dan kien lista marbut ta 'char stilla jew lista marbut ta 'sufruni, aħna totalment tista 'tagħmel dan wisq. Ftakar fil pset6, inti probabilment kellha lista marbuta ta 'stilel char jew eżatt arrays char statiċi. Ejja nħarsu hawn fuq operazzjoni. Allura aħna tixtieq li daħħal ġdida n fil-lista marbuta tagħna. Nibdew mill b'ras pointer li hija pointer għal dan node li għandha l- valur ta 'n u li jmiss ta' pointer li punti għal dan node huwa valur ta ' n u li jmiss ta null, għaliex huwa l-aħħar node. Għalhekk fl-interess ta 'żmien, I se ipoġġu l-kodiċi fuq l-iskrin. U aħna ser jimxu permezz ta 'dan ftit linji fi żmien. Allura hawnhekk il-kodiċi. Nispera huwa tinqara. L-ewwel ħaġa li nagħmlu huwa aħna malloc a node ġdid. Għalhekk jagħmel pointer għal node ġdid li ma pjuttost jkollhom xejn stabbiliti up fil encore. Aħna jivverifika sabiex ikun żgur li l-node ġdid mhuwiex null. Inkella, aħna għandna biex iċedu. Allura wara li ivverifikat li, aħna issa tistabbilixxi l-valuri fil-node. Allura aħna tpoġġi l-n-ġdid fil-qasam n tagħna. U aħna waqqafna l-pointer li jmiss għall-punt li ir-ras oriġinali, sabiex inkunu nistgħu issa daħħal din node fil-lista tagħna. Fl-aħħarnett, aħna għandna l-punt ewlieni globali biex node ġdid tagħna, hekk li jekk konna biex bidu għal ras, irridu jkunu f'dan ewwel node ġdid minflok l-ewwel node qodma. U meta din il-funzjoni ħruġ, il- varjabbli node ġdid m'għadux jeżisti, għaliex kienet lokali għall-funzjoni. Allura dan huwa l-istat tad-dinja. Ewlieni globali tagħna punti li ġdida tagħna ewwel node, li jindika tagħna ewwel node oriġinali, liema punti għall-node wara dik. Dan kien inserzjoni. Nittama li kien relattivament sempliċi biex isegwu. Meta fid-dubju, tfassal stampa. So I isibu li jitkellem dwar listi konnessi u tħares lejn kodiċi huwa ħafna mhux utli. Billi tħares lejn stampa ta 'marbuta lista tippermetti lili biex jaħsbu, oh, so I jkollhom din node hawn. Imma jekk jien jaġġornaw dik pointer, jispiċċa skonnettjata. U stajt minsija fejn l-node tmur. U l-kodiċi ħruġ. U inti għandek lymph multipli li huma skonnettjata. U inti ma jispiċċaw ma il-lista trid. Mela jekk inti tiġbed l-istampa u tagħmel dan pass pass, wieħed jittama, tkun taf tara l-ordni korretta ta 'affarijiet f'termini ta' taġġorna l-pointers li tagħmel ċert li l-lista jiltaqa 'flimkien. Daħħal huwa relattivament sempliċi. A waħda aktar ikkumplikat tkun inserzjoni ġo lista magħżula. Funzjoni aktar ikkumplikat huwa tħassar u jsibu, sabiex tfittex permezz ta 'lista li ara jekk xi ħaġa hemmhekk. Forsi inti għamilt dan fil pset6 meta inti ltqajna fis tabella hash tiegħek u inti qal, ukoll, huwa l-tuffieħ kelma fil-lista marbuta tiegħi? Allura inti tista 'diġà għamlu dan. Iżda ċert, jġedded memorja tiegħek u jippruvaw reimplement isibu u reimplement tħassar għal lista marbuta. Nota tal-ġenb gost, hemm ukoll doppjament-linked listi, fejn inti għandek pointers dan il-punt kemm quddiem u lura, sabiex inti tista 'tmur għall- node li jmiss u lill-node preċedenti. U kien hemm kwistjoni fuq il-sena li għaddiet kwizz ta 'dak it-tip, jitkellem dwar listi doppjament-linked. Issa, li l-istruttura li int relattivament familjari ma ', minħabba li ħafna minnkom probabbilment tintuża minnhom fuq pset6. Hawn wieħed li l-daqsxejn inqas familjari. Bħala nota tal-ġenb, naħseb li Quiz 1 huwa primarjament aktar diffiċli milli Quiz 0, għaliex l-għalf qed tagħmel, inti ma jsir kemm. Li tikkontesta din mod ieħor, għall Quiz 0, inti kien kiteb ħafna ta 'C. U aħna talab li inti dwar C. Għal Quiz 1, aħna qed tmur biex nitolbuk dwar PHP u JavaScript, li inti ma miktub kemm ta '. Aħna ser jgħidlek dwar C-kodiċi li inti ma miktub kemm ta ', dan il-għalf avvanzati C. Allura definittivament, il-prattika l-għalf we tkellem dwar fl lecture li inti ma neċessarjament tagħmel fuq il-problema sett. Taħdit li, inti ma miktub munzell fuq problema stabbiliti. Iżda kien fil-lecture. Hawn l-istampa ta 'livell għoli ta' stacks li nuru kull sena. Hu l-munzell ta 'dixxijiet fil- l-dining sala Mather. Fuq livell għoli, stacks huma aħħar fl-ewwel out istruttura tad-data. Dan ifisser li inti qed tmur biex l-affarijiet fil - 1, 3, 7, 12, 14, negattiv 0. L-unika ħaġa I ma setax qal - negattiv 3, 0. Inti tpoġġi dawn l-affarijiet pulzieri U l-aħħar waħda inti tpoġġi fil hija l-ewwel wieħed li għaddej biex toħroġ. Allura għandek żewġ operazzjonijiet - timbotta u pop. Kollha ta 'l-istabbiliment li kien I gesturing bħal dan huma push. U mbagħad meta I jilħqu in to grab xi ħaġa jew jilħqu fuq top biex grab xi ħaġa, li pop. Allura aħna qed tmur biex jimplimentaw stacks. U aħna wrew lilhom fl lecture użu arrays. Iżda int tista 'tagħmel lilhom użu ta 'listi marbuta. A munzell hija data konċettwali istruttura, mhux bħal xi waħda speċifika ta 'implimentazzjoni. Allura dak li kieku look like? Hija kienet ser tfittex tip ta 'bħal dan. Youd jkollhom daqs integer. U inti d jkollhom firxa ta 'valuri li aħna qed ssejjaħ trejs, minħabba li l- dak l-istampa kienet għal magħna - int trays - u mbagħad ftit kapaċità massima. Allura dak li timbotta look like? Ukoll, jekk ikollna munzell s, imbagħad imbotta xi ħaġa fuq i, aħna se jiksbu id-daqs tal-i. U li tkun li jmiss post miftuħ ta 'firxa tagħna. Mela jekk għandna tliet affarijiet fil-ċmieni tagħna, allura trays 3 se tkun li jmiss spot miftuħa, għaliex 0, 1, u 2 huma diġà mimlija up. Allura aħna tpoġġi l-valur fis s.trays [s.size], it-tielet post. U allura aħna inkrement s.size jiġifieri, ħej, kellna tliet affarijiet qabel. Issa, għandna erba. Allura l-ħin li jmiss inti timbotta, int ser jitqiegħdu xi ħaġa fis 4. Jew il-ħin li jmiss inti pop, int ser li tħares lejn 3 minflok 4 jew ikun x'ikun. U allura aħna ser jirritornaw veru li jiġifieri, ħej, aħna irnexxielu. Dan maħduma. Bħala regola ta 'thumb, jekk il-funzjoni li l- suppost li jirritornaw vera jew falza dejjem prospetti veru, inti tista ' għamlu xi ħaġa ħażina. Allura ma dan ix-xogħol? Ukoll, hija taħdem multa għal 1, u 2, u 3, u 4, u ħamsa. Imma ejja ngħidu I tilħaq il-kapaċità tiegħi. Stajt imbagħad run fis-problema, għaliex jekk id-daqs huwa l-istess kapaċità, jien issa tipprova xi ħaġa fi firxa fejn I m'għandhomx spazju. Allura check qasir biex jiffissaw dan. Jekk s.size KAPAĊITÀ ==, ritorn foloz. Inkella, mur u jagħmlu dak li għamilna. Allura dak li inkella jista aħna nitolbu dwar għas stacks? X'iktar għandek tistudja? X'iktar għandek prattika? Ukoll, l-implimentazzjoni pop. Aħna diġà għamlu push. I ser jiffissaw dak. A implimentazzjoni non-array, fejn tuża lista marbuta, forsi. A implimentazzjoni mhux int. Aħna ma ints hawn. Iżda dan seta 'kien flowts. I setgħu ġew kordi. Dan seta 'kien istilel char. Ħares lejn kwizzijiet aħħar għat-tipi ta ' mistoqsijiet konna mistoqsija dwar stacks. I ser ngħid li aħna koperti stacks madwar l-istess kif aħna ħadthom koperti minnhom aħħar snin. Allura l-mistoqsijiet kwizz għandhom tkun indikazzjoni tajba. Nimxu 'l quddiem aktar malajr, kjuwijiet. Huma qed simili stacks. Iżda dawn qed l-ewwel fl-ewwel out. Jekk int British, kju il-kelma probabbilment magħmula ħafna sens lilek. Inkella, jista 'jkollok semgħu biha bħala linja. Huma jaħdmu bħal-linja fil-maħżen Apple. L-ewwel persuna li juru up fi 3:00 fil-għodu huwa l-ewwel persuna li jixtru iPad tiegħu. Allura għandna żewġ operazzjonijiet - enqueue u dequeue. Enqueue tpoġġi xi ħadd fil-linja. Dequeue jiġbed l-ewwel persuna off-linja. Għal darb'oħra, nistgħu timplimenta dan ma 'firxa. Allura x'inhi l-Istituzzjonjijiet we wera fil-lecture? Kien dan wieħed. Għal darb'oħra, in-numri. Għal darb'oħra, id-daqs u dan front ħaġa ġdida. Għaliex hemm xi ħaġa imsejħa 'quddiem? Hu l-indiċi tal-li jmiss element li dequeue. Huwa biss internament iżżomm rekord ta ' l-ewwel Guy biex juru up, sabiex inkunu tista 'pull it out meta għandna bżonn. Żgur tħares lejn noti lecture u jippruvaw biex jimplimentaw enqueue u dequeue meta jistudjaw għall-kwizz. Affarijiet importanti li wieħed jaħseb dwar. Tgeżwir madwar jekk il-quddiem flimkien mal- daqs jispiċċa akbar minn kapaċità. Għal darb'oħra, jekk l-istruttura tiegħek hija sħiħa, int se jkollhom problema. Hash tabelli inti stajt tidher qabel. Ħafna mill inti probabilment implimentati dawn fuq pset6. Hija struttura li timmira għall-O (1) inserzjoni ta 'żmien kostanti u O (1) lookup żmien kostanti. Fl CS50, aħna implimentat dan bħala firxa ta 'listi marbuta. Il-komponent ewlieni għal tabella hash hija l-funzjoni hash. Għalhekk tikkonverti input tiegħek, ejja ngħidu, kelma dizzjunarju, f'numru, li se tkun indiċi tagħna. U aħna ser tuża l-indiċi fil-firxa tagħna. Allura hawnhekk stampa ftit ħelu minn study.50.net. Aħna tarmi l-kliem fil funzjoni hash tagħna. U l-funzjoni hash tgħidilna fejn jitqiegħdu dawn il-kliem. Dan huwa kbir fl-art fejn hemm kelma waħda biss għal kull slot. Imma kif tiftakar minn pset6, hemm huma kliem aktar minn slots. Allura x'jiġri meta inti tikseb ħabta? Minflok ħażna valur wieħed, ejja ngħidu, tabella hash 3, inti jaħżnu lista marbuta. U hekk minflok li cantaloupe hawn, inti għandek lista marbuta, fejn l-ewwel node huwa cantaloupe. U l-node li jmiss huwa qattus. U t-tielet node huwa kolliżjoni, ejja jgħidu, għaliex dawn il-kliem kollha jibdew mal C. Għalhekk ħafna mill għamilt dan għal pset6. Jekk inti ma tagħmel tabella hash fuq pset6 u inti attentat xi ħaġa simili a trie, definittivament tirrevedi tabelli hash. Jekk inti ma tagħmel dan fuq pset6, definittivament tirrevedi tabelli hash. U jekk inti ma kien fuq pset6 u hija ma taħdem pjuttost tajba u int kellhom ħafna problemi ma 'dan, definittivament tirrevedi tabelli hash. Allura l-lezzjoni hija verament definittivament tirrevedi tabelli hash. Il-minoranza l-kbira tal inti ppruvaw out tipprova fuq pset6. Stampa ta 'livell għoli. Hija xi ħaġa bħal din, fejn kull node għandha sett ta 'tfal, fejn kull tfal tikkorrispondi għal ittra. U kull node jgħid ukoll, ħej, I am a kelma. Allura f'dan il-każ, il-kelma Maxwell, jekk inti ssegwi l-M għall-A għall- X-W-E-L-L u mbagħad issegwi waħda aktar. U ikollok dan is-simbolu, delta, li aħna turi li tfisser din hija kelma. Allura Maxwell hija kelma. Dawn deltas huma madwar li tfisser li l-affarijiet huma kliem u li affarijiet mhumiex. Għalhekk fl pset6, id-data aħna maħżuna flimkien ma kwalunkwe mill lymph tagħna kien "I am a kelma. "U l-ħaġa jibred dwar jipprova qed juru inserzjoni u lookup fil O (tul ta 'kelma). Hekk biss biex jiksbu permezz Maxwell, huwa M-A-X-W-E-L-L. Allura seba 'jew tmien - I ma jistgħux jgħoddu - passi biex tikseb sa l-aħħar u jiċċekkjaw affarijiet out. Implimentazzjoni hekk malajr hawn. Rob għaddiet minn marbut lista fl postmortem tiegħu. Sabiex jiċċekkjaw li l-. Jiddispjacini. Marru permezz ta 'trie fl postmortem tiegħu. Sabiex jiċċekkjaw li l-. Imma inti bażikament għandhom kull node għandha 27 indikaturi għall-lymph jmiss u wieħed Boolean għal am I kelma. Iċċekkja postmortem Rob għal kif dan fil-fatt tiġi implimentata. Istruttura finali tagħna, siġar tagħna u siġar tfittxija binarja. Allura tħares lejn dawn, dawn kienu koperti aktar reċentement Ġimgħa 8, it-Tnejn. A siġra huwa simili għal trie, ħlief int ma neċessarjament ikollhom 27 lymph fuq kull punt. U inti ma għandekx din id-data f'kull pass li jissinifika jekk l - il-passaġġ ma jimpurtax. Billi trie, il-passaġġ minn fuq għal qiegħ, Maxwell, kien importanti għalina. Iżda kull node għandha multiple tfal, forsi. Għandna xi vokabularju aktar. L-għerq tal-siġra jinsab fil-quċċata ħafna. U aħna ngħidu li l-bottommost ħafna lymph li m'għandhomx tfal huma weraq. Allura bħal trie, siġra struttura ta 'nodes. Tip komuni ta 'siġra li aħna qed tmur biex jitkellmu dwar hija siġra binarju, fejn kull node m'għandha l-ebda tfal jew wild wieħed jew żewġt itfal. Allura din l-istampa hawnhekk mhix siġra binarju, minħabba node 3 għandu tlett itfal. Imma jekk konna li jinjora dawk, il-bqija ta 'dan hija siġra binarja minħabba li juri l-proprjetà li kull node għandha żero, wieħed, jew tnejn tfal. Allura kif nistgħu jesprimu dan fil-kodiċi? Jista 'jkollna node fejn kull node għandha integer ġewwa ta 'dan, kif ukoll bħala pointer għall-siġra fuq ix-xellug u pointer għall-siġra fuq il- tajjeb, sabiex l-żewġt itfal. Kif dan huwa utli? Ukoll, jekk nagħmlu regoli dwar fejn aħna tpoġġi lymph, nistgħu nagħmlu tfittxija malajr. Hekk hemm kunċett ta 'tfittxija binarja siġra, fejn nodes kollha fuq il- subtree xellug għandhom valur iżgħar mill-node aħna qed tħares lejn. U lymph kollha fuq il-subtree dritt ikollhom valur ikbar mill-node għerq. Issa, li tidher simili ħafna ta 'kliem. Jien ser tqiegħed lilha ġewwa ta 'double kwotazzjonijiet u nuruk stampa. Allura hawnhekk huwa eżempju ta ' siġra tfittxija binarja. Ara li aħna tibda bil 10. Kollox għall-xellug tal 10 huwa iżgħar minn dan. U kollox lejn il-lemin hija akbar minn dan. Iżda aktar minn hekk li, kull node fil- l-siġra jesprimi din il-proprjetà. Allura l-node 7 għandha 3 għall- tax-xellug u 9 lejn il-lemin. Għalhekk dawk kollha huma iżgħar minn 10. Iżda tħares lejn biss dawk, 7 għandha 3 għall-xellug tagħha u 9 għad-dritt tiegħu. U l-istess fuq il-lemin, 15 għandha 14 għall-xellug tagħha u 50 għad-dritt tiegħu. Allura t-tliet lymph hemmhekk, 15, 14, u 50, huma wkoll siġra binarju validu jew siġra tfittxija valida binarju. U dawn qed kollha akbar minn 10. Għalhekk huma għandhom jiġu permessi dwar id-dritt hemmhekk. Hemm kwistjoni? UDJENZA: Kif taħseb li jittrattaw meta għandek żewġ sevens? R.J. Aquino: Yeah. Kif inti jittrattaw żewġ valuri li huma l-istess? Xi siġar tfittxija binarja ngħid li inti jinjora duplikati, minħabba l-għan huwa biss biex jgħidu, stajt tidher dawn l-affarijiet s'issa. Xi siġar tfittxija binarja inti tista 'tgħid jkollhom għadd ġewwa tal-node. Oħrajn jista 'jgħid li kollox biex ix-xellug hija inqas minn jew ugwali għal. U kollox lejn il-lemin huwa akbar minn. Huwa biss tiddependi fuq dak li l- problema hija int jissolvew. Għalhekk fl-dizzjunarju, per eżempju, inti ma care about duplikati. Int tkun tarmi dawn isiru. Iżda xi problema oħra li inti tista 'kura. UDJENZA: Huwa possibbli li jkollhom ta '1 għall-xellug tal-15, li huwa inqas minn 10? R.J. Aquino: Le Jekk l-14 hawn kienu 1, dan kieku Ma jkun siġra tfittxija valida binarju, għaliex kollox għad-dritt ta ' 10 għandu jkun akbar minn dan. U aħna ser tara għaliex. Jekk fl-art ta 'tfittxija għan tiegħi huwa isibu 14, nibda l-għerq. So I tfittex. OK. Aħna ser tibda fil-għerq. Ħares lejn 10. Well, 14, Mira tagħna, huwa akbar minn 10. Għalhekk din għandha tkun fuq il-lemin. Dan huwa simili ħafna għall-telefon kollu Ħaġa ktieb għamilna, il-binarju tfittxija hemmhekk. Iżda minflok tiftix binarju fil-firxa, aħna qed binarju tiftix fil din is-siġra. Allura aħna qed għadhom tfittex 14. Well, 14 hija iżgħar minn 15. Mela jekk huwa fil-siġra tagħna, huwa għandu jkun f'dan il-qasam hawn. Għandu jkun għad-dritt ta ' 10 u lejn ix-xellug tal-15. U hekk aħna jivverifikaw dan node. U yay, aħna ħadthom misjuba 14. Jien ma jmur biex jimxu permezz tiegħu. Iżda hawn l-kodiċi. Huwa attwalment relattivament sempliċi, għaliex dan huwa rikursivi. Liema jista aħna nitolbuk tagħmel fuq kwizz? Nistgħu jgħidlek biex tikteb dan il-kodiċi. Nistgħu jgħidlek biex tħares lejn dan il-kodiċi u timmodifika dan il-kodiċi u jispjegaw dak huwa qed jagħmel. Yeah. Mistoqsija? UDJENZA: Huma dawn slides ser ikunu disponibbli kif kienu aħħar darba? R.J. Aquino: Iva. Allura dawn slides definittivament se jiġu stazzjonati. UDJENZA: Huma qed attwalment stazzjonati dritt issa fuq il-websajt. David biss għamlet dan. R.J. Aquino: Is-slides dritt issa fuq il-websajt. I ser probabbilment garża ftit ta ' l-typos I nnutat u tiffissa minnhom. Iżda hemm kurrent verżjoni fis-sit. Oħrajn affarijiet nistgħu nitolbuk tagħmel - jiktbu daħħal. Ikteb verżjoni iterattiv ta 'l- funzjoni jirrikorri aħna biss wera inti jew jitkellem dwar dawn l-affarijiet, bħal fil- paragrafi, fi kliem, fil-sentenzi. Tqabbil-ħinijiet run u jispjega dak li inti tixtieq li tuża binarju siġra tfittxija għal minflok hash tabella, per eżempju. Allura jifhmu dawn l-istrutturi fuq livell pretty fond. Jifhmu kif jiktbu għalihom, kif jużawhom, kif jitkellmu dwarhom. U tkun taf tkun kollha stabbiliti. Mistoqsija? UDJENZA: Meta int bil-miktub l- siġra tfittxija binarju, kif taħseb li jiddeterminaw liema valur jagħmilha bħala l-għerq? R.J. Aquino: Għalhekk il-kwistjoni kienet, liema valur inti tagħmel bħala l-għerq? Jiddependi fuq kodiċi tiegħek, inti jista 'jkollhom għerq globali. Allura inti jista 'jkollok probabbilment kellhom fl pset6 tabella hash globali. Jew inti tista 'tgħaddi l-għerq fl bħala argument. Allura dan tfittxija funzjoni hawn jieħu argument a node *. U sabiex ikun x'ikun node inti jiġri li jkun tħares lejn huwa l-waħda inti qed trattament bħala għerq tiegħek meta inti tgħaddi hija pulzieri U jien kollha stabbiliti. Dawk huma slides tiegħi. Il-persuna li jmiss jista 'jidħol swap fil-laptop u mic. ROB BOWDEN: I think I jista 'jkollhom interpretat din id-domanda differenti. Imma jien interpretata bħala, jekk għandek in-numri 1, 2, u 3, kif nistgħu taf biex tagħmel 2-għerq kontra 1 jew 3? Jekk nagħmlu 2-għerq, allura huwa nicely 1 u 3 lejn ix-xellug u lemin. Imma jekk 1 hija l-għerq, allura huwa 1 lill- top, 2-dritt, 3 lejn il-lemin. Allura billi default, inti ma tafx dak li jagħmel l-għerq. U għal kull algoritmu aħna qed jistennew biex jagħtik, biss l-ewwel ħaġa li għandek daħħal tkun l-għerq. Jew aħna'd jagħtuk siġra binarju li diġà teżisti li għandha għerq. Iżda algoritmi oħra teżisti tali li l-għerq se taġġorna, b'tali mod li jekk inti jispiċċaw fis-sitwazzjoni fejn huwa 1, 2, 3, ikun taġġorna awtomatikament jagħmlu 2-għerq ġdid, b'tali mod li huwa għadu ibbilanċjat nicely. ANGELA LI: Kessaħ. Hey, guys. Jien Angela. U jien ser biex jintemm off C tagħna u mbagħad tmur fis xi wħud mill web tagħna teknoloġiji - HTTP, HTML, u CSS. Allura l-ewwel ħaġa hija buffer attakki overflow. Mela ejja tagħti ħarsa lejn dan il-kodiċi. Huwa pjuttost sempliċi. Hemm foo funzjoni. U ma jerġax lura xejn. Iżda tieħu fil-pointer għal string imsejħa bar. U li għaddej biex jiddikjara dan buffer, li huwa karattru array li għandha 12 slots. U juża memcpy, li huwa biss funzjoni li kopji minn indirizz wieħed għal ieħor. Allura dan qed tipprova li kopja fis buffer tagħna minn kwalunkwe bar hija li tipponta lejn. Allura kull idea x'hemm ħażin ma 'dan il-kodiċi? UDJENZA: Jekk bar huwa itwal minn C, dawn se jissostitwixxu. ANGELA LI: Yeah, eżattament. Għandna l-ebda garanzija li bar se jkun inqas minn 12. Aħna biss għamel xi numru arbitrarju 12. U aħna kienu simili, ejja tama li input utent tagħna huwa inqas minn 12 karattri fit-tul. Allura f'dinja ideali, jekk input tagħna huwa dejjem kif mistenni, allura aħna ser tingħata xi ħaġa simili, bonjour. C'est inqas minn 12-il karattru. Jiġrilha tinqara fis char c. U allura aħna nagħmlu xi ħaġa magħha. Hija ma verament kwistjoni. Iżda persuna malizzjużi jistgħu jagħmlu xi ħaġa aktar bħal dan, fejn agħtina kwalunkwe bar hija li tipponta lejn, li għaddej biex jindikaw din il-firxa enormi ta 'ftit A tal. U dan huwa mod itwal minn 12. Allura li għaddej biex tmur it-triq down hawn biex fejn ir-ritorn indirizz użati biex ikunu. Mela ejja ngħidu din il-funzjoni tissejjaħ foo. Forsi foo ġie mitlub minn xi oħra funzjoni, li kienet tissejjaħ mill-prinċipali. Allura meta foo qed taħdem, jeħtieġ li tkun taf fejn li jirritornaw għall. Jekk foo ġie mitlub minn xi funzjoni msemmija baz, hija għandha tkun taf li huwa qbilna li jmorru lura għall baz. U dak hu li dan l-indirizz ta 'ritorn stabbiliti hawn qed tgħidilna. Imma jekk aħna jissostitwixxu ma 'xi ieħor indirizz, f'dan il-każ, dan huwa rappreżentazzjoni tal-indirizz fl- bidunett ta 'din buffer, allura dak li attwalment jiġri huwa li minflok jirritornaw lura lejn baz, li sejjaħ funzjoni tagħna, huwa biss se jmorru għall-quddiem ta 'dan il-kodiċi. U jekk dan kien hemm minħabba malizzjużi Hacker raġel daħal u injettat dan, allura forsi dan l-ammont ta 'A ma tkunx attwalment A tal. U huwa attwalment biss kodiċi li pawżi kompjuter tiegħek jew xi ħaġa. Allura biex tkun difensiva dwar din it-tip ħaġa, inti għandek qatt jassumi li input utent ċertu ammont ta 'karattri. Per eżempju, meta inti kienu qed jagħmlu speller, inti qalulhom li kliem kienu biss se jkun ta '40 karattri massimu twil. U li kienet tajba. Imma jekk le, allura inti għandek kun żgur li taqra biss 45 karattri fi żmien. Inkella, inti tista jissostitwixxu buffer tiegħek. Kwalunkwe mistoqsijiet dwar dan. Yeah. UDJENZA: Tista 'biss jitkellmu ftit aktar dwar dawn? ANGELA LI: Jiddispjacini. Iva. UDJENZA: Il mic huwa biss għall-video. I se tipprova u l-proġett. Hi, guys. Appoġġ? Mela ejja jmorru fuq ftit affarijiet fil- Librerija CS50, li inti kont qed tuża kollha semestru, l-aktar tikseb input utent. Kif tafu, inti jinkludu l-CS50 librerija bi ftit tagħmel CS50.h, li fiha l-prototipi tal- funzjonijiet li tista 'tuża, bħal GetString u GetInt, u GetFloat, eċċetera. U hemm din il-linja waħda fil-CS50 librerija li jiddefinixxi sekwenza, li inti guys lkoll nafu minn issa huwa biss char *. Iżda ejja tieħu Peek lejn kif GetString xogħlijiet. Din hija verżjoni mqassra ħafna. Inti tista 'pull up-fajls librerija CS50 minn, I think, manuals.CS50.net. U inti tista 'taqra permezz il-funzjoni effettiva. Iżda dan ikopri xi wħud il-partijiet importanti. Allura ħloqna xi buffer ma 'xi kapaċità. U dak li nagħmlu huwa irridu jiksbu karattru wieħed fi żmien mid n standard. Li meta l-inputs utent test fl-console. U hekk aħna qed tmur biex taqra fil- karattru sakemm mhuwiex ġdida line u mhuwiex tmiem tal-fajl, li hija t-tmiem ta 'input standard. U għal kull karattru li naqraw fi, jekk dik il-karattru jispiċċa jżid għan-numru ta 'karattri aħna stajt taqra fi u li hija aktar minn kapaċità tagħna, allura dak li nagħmlu huwa aħna biss resize tagħna buffer b'tali mod li huwa darbtejn sakemm. Għalhekk għal darb'oħra, dan jipproteġi kontra buffer attakki overflow, għaliex inti moqri karattru fi żmien. U jekk fi kwalunkwe punt inti taqra fl wisq ħafna, inti biss jespandu buffer tiegħek. Inti immoltiplika lilha mill tnejn. U allura inti għandek aktar spazju. Inkella, inti biss żid karattru biex jitnaqqas. U wara li tkun ħadthom taqra kollox il- karattri, se tiċkien il-buffer lura għad-daqs normali, żid terminatur null, u mbagħad jirritornaw. Issa, ejja nħarsu lejn GetInt. Tista 'inti guys taqra dan? I jistgħu zoom daqsxejn. I do not know kif il-kompjuters jaħdmu. Qatt f'moħħu. I ma tistax zoom suppost. Dan huwa verament diffiċli. Jien sorry. Ejja biss ħarsa lejn dan. Allura dak GetInt ma huwa l-ewwel taqra fil string minn GetString, li konna implimentati qabel. U l-parti importanti li wieħed jinnota hawnhekk hija jekk dan qsim li jispiċċa qari huwa simili ma attwalment string, allura aħna biss jirritornaw INT_MAX li jirrappreżentaw falliment. Għalfejn nagħmlu ritorn INT_MAX minflok ta negattiv 1 jew 1? Xi ideat? UDJENZA: [inaudible] negattiv 1 fuq waħda. ANGELA LI: Yeah, eżattament. Allura int mod aktar probabbli li biss trid għal input 1 jew negattiva 1 meta imqanqla għal nth u tkun xi tkun Maxes nth. Huwa enormi. Inti probabilment mhux se tużah. Allura dan huwa bħal deċiżjoni disinn li kun żgur li inti ma aċċidentalment ritorn żball jew inti ma jirritornawx 1, li jistgħu jiġu parsed bħala risposta korretta. Hekk jekk linja ma jeżistix, nerġgħu lura INT-MAX. Inkella, nużaw sscanf, li huwa simili scanf. Iżda jgħid minn string. U aħna għandna dan ifformattjat spag, li huwa% i% c. U nippruvaw u jaqblu li ma ikun x'ikun l-utent tana. Aħna rridu li l-numru ta 'affarijiet mqabbla li tkun l-1, li jfisser li aħna biss verament irridu li jaqblu integer mdawra minn forsi abjad ispazju, forsi le. F'dan il-każ, jekk inti tpoġġi xi ħaġa bħal bar, bar ma taqbilx għal kollox, minħabba li jeħtieġ li jkun hemm integer fil-bidu. Mela qatt sscan daru 0. Allura inti ma jirritornawx dan. Alternattivament, jekk inti tpoġġi xi ħaġa simili 1, 2, 3, A, B, C, li logħbiet kemm il-integer iżda wkoll l-karattru wara. Allura sscanf ser jirritorna 2, li huwa wkoll mhux ideali. Inti ma tridx 1, 2, 3, A, B, C biex tkun int valida. Allura li wkoll ma taħdimx. Imma ngħid li inti tpoġġi fil xi ħaġa bħal 50. Li se jaqblu mal-% i, li jfisser se tikseb jinqara fis n. U issa, n se jkun fih in-numru 50. U allura inti tista 'tibagħtu lura. Inkella, inti hit Retry. U mbagħad hija biss tmur aktar mill-ġdid sakemm ikollok input xieraq mill-utent. Kwalunkwe mistoqsijiet dwar dan? UDJENZA: Mela jekk inti kienu li jistampa il-valur tal-GetInt fuq [inaudible] ma jkun biss l-eqreb numru sħiħ u max? ANGELA LI: Yeah. Mela jekk inti tuża GetInt, għandek tassumi li inti ma tridx max nth li jkun input valida, għaliex int ser li wieħed jassumi li dan kien ħażin. UDJENZA: Jekk aħna ma kellhiex char c u xi ħadd tpoġġi fil 1, 2, 3, Sam, ikun jidher għadhom jaħdmu għal 1, 2, 3? ANGELA LI: I think ikun xogħol. Imma inti ma tridx 123Sam li jkun input valida minn utent. Li mhux verament int. Għalhekk ma jidhirx ġust parse dan bħala int. OK. F'dak il-każ, let il-pass ta fuq l-internet. Allura HTTP ma tkunx lingwa. HTTP huwa biss is-sett ta 'standards għall- kif inti tibgħat affarijiet mill-klijenti, li int, li servers. C'est nies oħra fuq il-web. Allura HTTP stands għall Portugues Trasferiment Protokoll. Hu l-qalb u ruħ tal-web kollu. Il-parti ipertestwali biss jirreferi għal HTML. It-trasferiment huwa klijenti bħal inti se tibgħat talbiet biex servers, li jagħtu tweġibiet. U l-protokoll huwa biss, kif do inti tistenna server li jaġixxu? U kif inti suppost li jaġixxu tali li inti tista 'tissimplifika dan proċess ta 'komunikazzjoni? Jitlob HTTP tfittex ħafna bħal dan. IKOLLOK hija t-tip ta 'talba. Inti guys raw talbiet IKOLLOK u talbiet POST. Din it-tieni ħaġa hemmhekk, / me, li l- biss l-URI jew il-URL ta 'fejn inti jridu jmorru fil-ospitanti. Allura din it-talba qed jintalab l paġna, bħal www.facebook.com / me. U huwa IKOLLOK talba. U allura dan HTTP/1.1, li jinsab biss il-verżjoni ta 'HTTP inti qed tuża. Huwa kważi dejjem 1.1. U allura hemm mazz ta 'għalf ieħor wisq. Inti tista 'attwalment tara dawn jekk inti jiftħu tiegħek console meta int browsing il-web. Responses tfittex xi ħaġa aktar bħal dan. Il-parti ta 'fuq hija, għal darb'oħra, il- tip ta 'HTTP inti qed tuża segwit minn kodiċi status. Allura 200 OK huwa kollox jinħadmu. Hawnhekk huwa l-kontenut tiegħek. Kontenut tiegħek se ssegwi. U mbagħad se jgħidlek liema tip tal-kontenut u għalf ieħor wisq. Il-kodiċijiet ta 'stat, hemm ftit dawk importanti li għandek tkun taf. 200 OK huwa simili deheb kollox ta. Kollox xogħlijiet. 403 Projbit. Dan inti stajt probabbilment jidhru jekk insejt li chmod xi ħaġa suppost. Dan ifisser li inti ma għandekx l-permessi dritt għall- aċċess li fuq is-server. Huwa simili, l-ebda, inti ma tistax tara. 404 ifisser li ħaġa ma teżistix. Ma nstabx. You ħadthom probabbilment jidhru li ħafna. 500 Error Server Intern huwa normalment bħal xi ħaġa li marret ħażin fuq in-naħa tal-server. Allura meta inti kienu qed jimplimentaw pset7, jekk kellek żbalji PHP, inti tista ' fil-fatt imorru għall-paġna u ara mazz sħiħ ta 'għalf żball PHP. Iżda li normalment ma jseħħx, għaliex websajts ma verament irridu li jgħidlek il-għaliex is-sit tagħhom hija maqsuma. Huma ser probabbilment biss jirritornaw 500 Error Server Intern. U allura hemm 418 jien teapot. Hemm istorja kollha dwar għaliex li l-ħaġa. Iżda int tista 'taqra dwar dan fil-ħin tiegħek. Hemm mazz sħiħ ta ' kodiċi oħra istatus wisq. Imma dawn huma dawk inti għandek tkun taf. Mela ejja nitkellmu dwar HTML. HTML, ftakar, mhuwiex lingwa ta 'programmar. Huwa lingwa markup. Dan ifisser li jiddeskrivi l-kontenut. Dan jgħidlek liema dokument HTML jistenna simili jew le dak li jidher qisu iżda kif huwa strutturat. Għalhekk jiddefinixxi struttura u semantika ta 'paġni tal-web. Huwa simili, dan huwa il-paragrafu. Din hija lista ordnat. Dan huwa simili taqsima tal-paġna tiegħi. Hawn it-titolu. Hija ma għalf bħal dik. Ma stil xi li, minħabba dan huwa dak li inti tagħmel fil-CSS. U jidher qisu serje tags tal nested. Allura biex jużaw eżempju ta 'verament bażiku Paġna HTML, inti għandek l-DOCTYPE dikjarazzjoni up hemm. Din id-dikjarazzjoni DOCTYPE huwa qal, aħna qed tuża HTML5. Imbagħad għandek l-tikketta HTML big. Fiha ras u korp. Fir-ras, għandek it-titolu. Dak hu li jmur fit-titolu bar tal-browser tiegħek. Għandna tag link li rabtiet fi folja stil estern. U allura għandna skript li jiġbed minn JavaScript esterni kif ukoll. U mbagħad ġewwa l-ġisem tagħna huwa attwalment dak gets murija fuq il-paġna. Imxejna ltqajna paragrafu u mbagħad immaġni ġewwa dak il-paragrafu. Dan wieħed hija stampa ta 'frieħ tal-qtates. Avviż li l-immaġni tag jagħlaq innifsu. Allura minflok ftuħ ma 'immaġni u mbagħad tagħmel / image ieħor, inti biss ikollhom dan slash ftit hawn, li jagħlaq dan. U l-tag immaġini għandha wkoll dan ewlenin attribut valur imsejħa alt. Dak it-test alternattiv li jiġri meta inti imbagħad jerġgħu fuqha. Elementi HTML Ħafna għandhom xi valur ewlieni affarijiet li inti tista 'tagħti dan, diversi customization. Yeah. UDJENZA: [inaudible]. ANGELA LI: Well, dan huwa l- attribut tal-lametta. Mela jekk inti kienu qed jużaw jQuery, inti tista ' jagħmlu image.getAttribute tagħżel. U allura inti tista 'tfittex għall- jiksbu l-attribut alt. U se jagħtik qtates. Jekk tiftakar formoli fl HTML, input Elementi se jkollhom attributi isem. U dan huwa dak PHP juża biex jibgħat talbiet meta bagħat formola. UDJENZA: Ridt insemmi xi ħaġa dwar kif jekk inti tuża kittens.jpg jew xi ħaġa li għandha l-nieqsa fajl folders jew fajls oħra? ANGELA LI: Iva. Allura dan huwa dak li sejjaħ relattiva triq, għaliex jien mhux qed nagħti inti l-traġitt sħiħ. Dan huwa simili meta C jekk inti tagħmel fopen xi fajl, jekk inti hi.txt fopen, li hi.txt hija mistennija li tkun fl-istess direttorju, sakemm inti tagħti aktar triq kumplessi. UDJENZA: Allura inti tista 'tispeċifika li folder [inaudible]? ANGELA LI: Yeah. U inti tista 'tfittex up kif għandek tagħmel dan. Imma jekk jien ridt li tikseb kittens.jpg out tad-direttorju parent, nixtieq nagħmel .. / Kittens.jpg. Yeah. Jiddispjacini. Yeah. Oh bniedem, I nesa l-kwistjoni. Liema kienet il-kwistjoni? Oh, il-kwistjoni kienet hija, kittens.jpg mistenni li jkun fl-istess direttorju? U f'dan il-każ, huwa. Iżda int tista 'wkoll tagħti triq ċerti tali li ma għandhom ikunu. Tajba? CSS. Allura CSS, bħal HTML, mhuwiex lingwa ta 'programmar. CSS huwa biss sensiela ta 'regoli grafika. Hija tirrappreżenta Cascading Style Sheets. U tużah flimkien ma HTML għall-paġni stil. Allura hemm tliet modi inti tista 'tinkludi dan. Mod wieħed kif tista 'tagħmel dan huwa fir-ras porzjon ta HTML tiegħek, inti tista 'sempliċement tiftaħ tag stil u mbagħad stick xi CSS regoli fil hemmhekk. Huwa pjuttost OK. Yeah. UDJENZA: Tista 'tpoġġi dawk tags stil fl bejn, ejja jiġifieri, ġisem u / body. U allura inti tkun grafika biss fil-ġisem. ANGELA LI: Inti tista '. Hija inneħħu xogħol. Imma inti ma għandhom, minħabba l-grafika hija tip tal-metadata li għandhom imorru fil- il-kap tad-dokument tiegħek. Korp għandhom verament ikollhom biss dak li fil-fatt se juru up fuq il-paġna tiegħek. UDJENZA: Allura youd tpoġġi stil fir-ras istil tal- paġna web kollu, id-dritt? ANGELA LI: Yeah. Allura tqegħid stil hawn, dawn ir-regoli CSS se japplikaw għall-paġna kollha bbażati fuq seletturi tagħhom. Allura l-aħjar mod biex tagħmel dan huwa minflok li jkollhom tag stil fir-ras, għandek din link għal stil estern karta bħal I wera inti fil- eżempju preċedenti. X'inhu dan ma huwa tipprova u ssib l- fajl style.css u mbagħad jiġbed fi u użi li bħala l- stili għall-paġna. U style.css tiegħek kieku biss ħarsa bħal dan. Ikun biss mazz ta 'CSS. U fl-aħħarnett, hemm mod ieħor inti jistgħu jinkludu CSS, li int verament m'għandux qatt do. Huwa grafika inline sejħa. U hekk kull element HTML jistgħu wkoll tieħu attribut stil. U mbagħad f'dak attribut istil, inti tista 'tagħtiha regoli CSS. Allura f'dan il-każ, irrispettivament div jien tiddefinixxi dritt hawn, li għaddej biex jkollhom sfond iswed u kulur test abjad. Imma inti m'għandekx tagħmel dan, għaliex dak dan ma huwa li tqiegħed grafika tiegħek ġewwa HTML tiegħek. U naf konna qed nitkellmu dwar HTML huwa istruttura u CSS huwa stil. Jekk inti tagħmel dan, taħlitiet flimkien. U m'humiex nodfa ħafna. Allura ma tagħmel dan. Bl-użu eżempju ta 'CSS, hemm, aħna biss jagħżlu l-korp ta 'l-HTML dokumentarja. U aħna qed simili, ta kollox se tkun Comic Sans. I wkoll ma jirrakkomandaw dan. Iżda int tista 'tagħmel dan. It-tieni regola dritt hawn, li għaddej biex jagħżlu l-element fuq l- paġna ma ID prinċipali. Sabiex ikun x'ikun HTML element, I qal ID = Ewlenija, jien ser jagħti li Marġini 20-pixel u tallinja kollox, it-test kollu, għaċ-ċentru. L-aħħar ħaġa jagħżel skond il-klassi CSS. Allura kull element fuq il-paġna li I taw klassi taqsima, jien ser jagħmilha kulur fl-isfond ta 'dawl blu. Yep. Li kollox sibt. Mistoqsija? UDJENZA: X'tagħmel l-hashtag qabel prinċipali do? ANGELA LI: Il-kwistjoni hija, dak li ma l-hashtag qabel do prinċipali? F'dan il-każ, il-hash fi CSS ifisser tagħżel minn ID. Hekk jekk I kellhom xi element HTML, bħal saret distinzjoni = prinċipali, jagħżel regola dan CSS il-ħaġa ma ID prinċipali. U l-istess, il-perjodu quddiem taqsima hu li tagħżel skont il-klassi CSS jew jagħżel bi klassi HTML. UDJENZA: Għaliex hemm għandu qabel 6 kulur fl-isfond? ANGELA LI: Yeah. Għalhekk il-kwistjoni hija, għaliex hemm a hash qabel l-6? Dan huwa differenti minn dak hash. Dan ifisser li int tagħti kulur hexadecimal. Kuluri Allura hex, dan biss jirrappreżenta kulur. U tiftakar triples RGB meta għamilt l pset forensika? Dan huwa simili. L-ewwel żewġ ċifri jirrappreżentaw kemm aħmar huwa fil-kulur. T-tieni tnejn jirrappreżentaw kemm aħdar. U t-tielet jirrappreżenta kemm blu. U l-hash huwa dan se li jirrappreżentaw kulur. Allura xejn minn 0, 0, 0, 0, 0, 0 sa F, F, F, F, F, F hija valida. Huwa xi kulur validi li jistgħu 'tintwera mill-browser tiegħek. Mistoqsija? UDJENZA: X'hemm differenza bejn użu minn ID u skond il-klassi? ANGELA LI: Il-kwistjoni huwa dak id-differenza bejn użu minn ID u l-klassi? Inti jista 'jkollhom biss element wieħed fi Dokument HTML li għandha ID partikolari. Allura biss ħaġa waħda fuq il-paġna tiegħi huwa permess li jkun ID prinċipali. Allura inti tagħmel użu minnha għal dan huwa l-header. Din hija l-navigazzjoni. Dan huwa l-footer. Klassijiet huma differenti, għaliex inti tista ' japplikaw klassijiet elementi HTML kif ħafna kif tixtieq. Hekk per eżempju, I ma taqsima klassi, għaliex hemm probabbilment aktar minn wieħed taqsima fuq il-paġna tiegħi. Int biss permessi li jkollhom bħala ħafna elementi fuq il-paġna bl-istess klassi iżda wieħed biss minn ċerti ID. UDJENZA: Allura l-dot tirrappreżenta il-klassi? ANGELA LI: Yeah. A dot jirrappreżenta klassi. Kessaħ. Li kollox stajt ltqajna, guys. Grazzi. [Applause] ZAMYLA Chan: Hi, kulħadd. Jien Zamyla. Jien ser tkun tkopri PHP, MVC, u SQL illum. A lott tal-materjal li jien ser tkun kopertura se tkun pretty ħafna dritt barra mill pset7. Kull dritt. Allura dak li huwa PHP? PHP stands għall Portugues PHP Preprocessor. Għalhekk, fih innifsu, huwa rikursivi isem, li huwa pretty jibred. PHP hija lingwa scripting server-ġenb, u jipprovdi l-backend u l-irfid loġiku tal-websajt tagħna. Allura Angela tkellem ħafna dwar il-HTML u CSS li se jagħmlu l-istruttura tal-websajt. Imma x'jiġri jekk inti tixtieq li bidla li kontenut dinamiku jew jekk din tvarja ibbażata fuq l-utent jew ċerti kondizzjonijiet? Li meta PHP taqa pulzieri Issa, tipikament, PHP jista 'jieħu ftit inqas linji biex jimplimentaw l-istess ħaġa fl C. Dan għaliex PHP mankijiet memorja ġestjoni għall-programmer, kuntrarju us jkollhom malloc ħielsa, affarijiet bħal dik. Iżda peress PHP huwa interpretattiva lingwa, tipikament, jista 'jesegwixxi ftit aktar bil-mod minn C, li hija lingwa kkompilata. Għaliex aħna qed jiċċaqilqu programmazzjoni lingwi, ejja nħarsu lejn kif il- sintassi se jkunu differenti. Ejja ikunu attenti ħafna li ma titħawwad ma 'dan. Allura ma sintassi PHP, jekk inti embedding PHP tiegħek ġewwa ta 'HTML fajl jew fi ħdan. fajl PHP innifsu, inti tehmeż il-kodiċi fil-miftuħ PHP u l-tags PHP magħluqa bħall- ġej, simili fuq l-iskrin. Varjabbli fil PHP. Kull varjabbli waħda ser jibda mal is-sinjal $ segwit bl-isem ta ' varjabbli tiegħek. Issa, varjabbli fil PHP huma laxk ittajpjat, li jfisser li inti m'għandekx bżonn biex jindikaw liema dejta tat-tip huwa meta int tiddikjarah. Madankollu, dan ma jfissirx li dawn ma jkollhom xi tipi f'kull. Mela jekk jien niddikjara varjabbli u biss sett huwa ugwali għal 1, u mbagħad niddikjara varjabbli ieħor, huwa stabbilit ugwali għal "1" u mbagħad ieħor wieħed 1.0, ukoll, skond it-tip ta 'ugwaljanza operaturi I-użu, jekk irrid li jqabblu fit-tipi kollha, imbagħad dawn ser ikunu ugwali. Imma jekk jien tixtieq li tagħmel ċert li l- tipi huma ugwali, PHP xorta tista 'tagħmel li, anke jekk aħna ma jindikawx liema tip huwa meta aħna ewwel tagħmel il-fajl. Issa, fil-PHP, anke jekk aħna jaqilbu minn programmazzjoni lingwi minn C, aħna xorta jkollhom tagħna trusty jekk il-kundizzjoni, biss bħal dan. Għad għandna loops filwaqt tagħna, ftit bħal dan, fejn inti tpoġġi fil tiegħek kondizzjoni u allura l- korp tal-linja. U allura aħna wkoll tagħna għall-loop, li tipikament tidher bħal dan. Mela jekk jien ridt li jtenni fuq kollha disa psets u jissottomettu u sejħa submitPset funzjoni, imbagħad I tista 'tagħmel dan hawn, li inti guys kollha jsir minn dan il-punt. Congratulations, mill-mod. Għall-kamera, in-nies qal, grazie. Issa, jekk inti ma jridux biss jużaw dan għall-loop, allura PHP attwalment ukoll jkun affarijiet imsejħa loops foreach. Hekk jekk I kellhom firxa ta 'numri interi, 0 sa 8, maħżuna fil-psets array, imbagħad I jista 'jkollhom loop foreach li ttenni minn kull numru fil psets. U mbagħad I tista 'sejħa l-istess jiffunzjonaw tmien darbiet, bħad I did qabel. Allura dan għal kull loop huwa sabiħ, għax inti ma għandekx li jekk inti ma tafx it-tul eżatt tal-array li inti jkunu, imbagħad bl-użu din loop foreach se jieħdu ħsieb ta 'dan għalik. So I għamel psets bħala firxa. Ejja nħarsu lejn dak. Arrays fl PHP huma tipikament l-istess bħal dawk li kellna fis-C, fejn inti tista 'tiddikjara firxa. U hawn, I tista 'tiddikjara firxa vojta u mbagħad jibnu dinamikament billi juża indiċijiet kif interi. Allura indiċi 0, jien ser taħżen integer jismu 1. Fil indiċi 1 tal-lista tiegħi, jien ser biex jaħżnu l-valur 2. U fit-tielet indiċi iżda l- tieni numru, jien ser jaħżen in-numru 12. Issa, dan huwa multa li jaħdem jaħdem tajjeb. Imma jgħidu huwa importanti li lili dak li kull indiċi istivi. Għalija, l-indiċi 0 ifisser kif qtates ħafna I jkollhom. U l-indiċi 1 ifisser kif ħafna Kokki I jkollhom. U dak li jmiss ifisser klieb kemm. Well, allura li jiġi speċifikat li, minflok ta 'wara li tiftakar 0 tirrigwarda qtates u 1 sa Kokki, I jistgħu jużaw arrays assoċjattiva, li jfisser li minflok numri interi bħala indiċi tiegħi, I jistgħu attwalment jużaw kordi. Allura dan huwa pjuttost utli. U inti stajt bażikament biss sostitwit l-interi bl-kordi. U hemm ikollok xi firxa assoċjattiva. Yeah. UDJENZA: Hemm raġuni għaliex hemm underscore għat-tieni parti, minħabba lista tiegħi għandu l-array. ZAMYLA Chan: Il-kwistjoni kienet, hija hemm raġuni għaliex hemm xi underscore bejn tiegħi u lista? Nru. Thats kemm jien tismija varjabbli tiegħi. UDJENZA: Fuq l-ewwel line, huwa kelma waħda. ZAMYLA Chan: apologies tiegħi. I ser jiffissaw dak. Yeah. Huma għandhom ikunu l-istess isem varjabbli. Qabda tajba. OK. Mela ejja jimxu fuq string konkatenazzjoni. Jekk jien ridt li tieħu żewġ kordi, imbagħad I jistgħu concatenate minnhom mal-operatur dot. Mela jekk ikolli Milo bħala l-ewwel isem u Banana bħala isem aħħar, imbagħad concatenating mal-operatur dot u imbagħad tqegħid spazju bejn se tagħmel string li fih Milo Banana, li I jistgħu mbagħad eku jew, pjuttost, jistampa. Taħdit ta 'eku, ejja nitkellmu dwar utli ftit - oops. Jien sorry. A funzjonijiet PHP utli ftit. Allura aħna għandna l - diffikultajiet tekniċi. Sekonda. I bagħtitu. Problemi bil-PowerPoint. U aħna lura ma 'funzjonijiet PHP. U aħna lura ma 'funzjonijiet PHP. Allura aħna għandna l jeħtieġu funzjoni, fejn jekk inti tgħaddi fil-fajl, hawn huwa biss eżempju ta 'fajl li I jista 'jgħaddi pulzieri Allura li se jinkludi l-kodiċi PHP minn dan il-fajl li I jindikaw. U se jivvaluta dik pulzieri Imbagħad irridu wkoll eku, li huwa parallel għall printf. Ħruġ huwa parallel li jinkiser, li toħroġ mill-blokk ta ' kodiċi li int pulzieri U mbagħad kontrolli vojta jekk mogħti varjabbli huwa simili null jew żero jew dak kollu li huwa ekwiparat ma 'li tkun vojta. Yeah. UDJENZA: Għall-konkatenazzjoni string dot operatur wieħed, fil-PHP, huwa li l- istess bħal fl JavaScript fejn huwa użu l-dot għall konkatenazzjoni ifisser plus? Allura għal isem sħiħ, jista 'jkollok dollaru tiffirma l-ewwel + u mbagħad + aħħar? ZAMYLA Chan: Yeah. Għalhekk il-kwistjoni kienet dwar jekk fil-PHP aħna jistgħu jużaw l-istess konkatenazzjoni string bħal fil JavaScript mal-pluses. U Joseph se jsibu rwieħhom li aktar tard. Naħseb li għandha slide fuq dan. Attwalment, huwa differenti. Għalhekk fl JavaScript, inti għandek bżonn tuża il-plus li concatenate kordi. U fil-PHP, inti għandek jużaw l-operatur dot. Allura jkunu differenti. OK. Allura issa li aħna ħadthom koperti kollha dan PHP, fejn ma dan verament jaqgħu fil handy? Ukoll, niġu fil handy meta aħna jistgħu jikkombinaw dan ma HTML tagħna. Allura PHP tagħna se tagħtina l-poter li tbiddel HTML kontenut tal-paġna qabel ma tagħbija tagħha. Allura ibbażati fuq kondizzjonijiet differenti, normalment l-utent speċifiku li l- illoggjat, nistgħu juru informazzjoni differenti. Linda, ma għandek xi mistoqsija? UDJENZA: Tista concatenate integer wkoll? ZAMYLA Chan: Iva, inti tista '. Għalhekk il-kwistjoni kienet jekk tista ' concatenate interi jew ieħor variable.s issa, nimxu fuq MVC, li hija paradigma li aħna użati fl pset7 u ħafna ta 'web disinjaturi jużaw għal torganizza l-kodiċi fil-fajls fil-website tagħhom. M stands għall-Mudell. U bażikament, fajls mudell se tittratta ma 'interazzjonijiet ma' l-database. View fajls, dawn jirrelataw mal- estetika tal-websajt. U l-kontrollur manki talbiet utent, parses data, ma loġika oħra. Fl pset7, aħna flimkien il-mudell u l-kontrollur. U aħna biss imsejħa minnhom kontrolluri u tpoġġihom fil-direttorju pubbliku. U l-fajls ħsieb, aħna jużawhom bħala templates fil-direttorju templates. Allura dan dijagramma hawn jirrappreżenta wkoll l-istess tip ta 'diviżjoni bil- mudell u l-kontrollur fil-vjola hawn fuq ix-xellug u l-opinjoni fuq il-lemin. Allura dan huwa skematika li xi wħud minnkom tista raw fil Ħinijiet Uffiċċju jew dijagrammi li konna tpinġija kif inti kienu jidhru pset tiegħek. Allura hawn, fi kontrollur partikolari, mudell kontrollur, għandna funzjonijiet li għandhom x'jaqsmu mal juri dubji fuq l-SQL database, eżekuzzjoni loġika PHP. Forsi inti tfittex up stokk fil Yahoo! Finanzi. Jew forsi, inti biss jiċċekkjaw li tara jekk utent kienet ippreżentat jiffurmaw diġà qabel ma żar il-paġna tiegħek. U allura inti jirrendi Formola hawn fuq. Wara kien ġie sottomess li l-formola mill-utent, l-azzjoni li kienet speċifikat fl tag HTML-forma ta jindika l-paġna li prospetti li d-data li. Allura kollha ta 'dik l-informazzjoni tkun jintbagħtu lura lill-kontrollur tiegħek. Imbagħad inti probabilment tagħmel daqsxejn aktar loġika fuq dak u forsi tesegwixxi ftit mistoqsijiet aktar fid-database SQL u allura, finalment, toħroġ bi nicely sett ippakkjat ta 'informazzjoni li inti jgħaddu fis xi template ieħor li tintwera din l-informazzjoni. Issa, kif nistgħu attwalment pakkett li sa l-informazzjoni? Well, aħna għandna funzjoni msejħa jirrendi li kien fil-fajl functions.php fil pset7, fejn inti tgħaddi fl-isem ta ' fajl, l-isem ta 'mudell. U allura inti wkoll jgħaddu firxa assoċjattiva. U hekk li firxa assoċjattiva jirrappreżenta l-informazzjoni differenti li inti tixtieq li tgħaddi pulzieri Issa, dak li għaddej biex tkun kostanti fil- dawn l-eżempji huwa li l-mezzi jew, pjuttost,-ċwievet tal-assoċjattiv arrays, dawn huma dak li għaddej biex tkun mistenni li jkun kostanti mill-mudell, għaliex taf li jeħtieġ xi ħaġa imsejħa messaġġ jew imsejħa isem. U allura l-affarijiet fuq il-lemin, il- valuri reali, hekk f'dan il-każ, li l- tifel tajjeb u Milo, dawk huma għaddejjin li huma l-valuri li qed jinbidlu li l-kontrollur bidliet kull darba jew ibbażati fuq ċerta kondizzjoni u se tgħaddi dik pulzieri Allura hawn fil templates, naraw li aħna qed tuża karattri speċjali HTML, li biss bażikament ifisser li rridu biex jiksbu l-string peer li l- utent tpoġġi pulzieri U rridu li tissostitwixxi messaġġ fil hemmhekk. Mela allura meta aħna attwalment ħsieb il-fajl, il-speċifiku informazzjoni mgħoddija pulzieri Innota li ċ-ċavetta kemm jirrendi xogħlijiet hija li l-mezzi tal-assoċjattiv arrays, dawk jsiru varjabbli ismijiet hawn. U għalhekk il-valuri ta 'dik ewlieni fl- firxa assoċjattiva mbagħad isir l- valur tal-varjabbli. Issa, tikri jimxu fuq SQL. Stands għall Strutturat Mistoqsija Lingwa. U għalhekk din hija biss programmazzjoni lingwa mfassla għall-ġestjoni databases. U wasal fil handy għalina fil- websajt tagħna finanzi pset7. Essenzjalment, huwa biss mod faċli biex track u jimmaniġġjaw oġġetti u tabelli u jorbtuhom ma xulxin. Issa, think ta 'database SQL tiegħek bażikament bħala fajl Excel, forsi, folji tabbed multipli. Allura inti jista 'jkollhom tabelli multipli, forsi, li marbuta ma xulxin. U ħafna bħal Excel, aħna għandna ħafna ta ' l-funzjonalità li rridu. Per eżempju, nistgħu tagħżel ċerti ringieli. Nistgħu daħħal informazzjoni. Nistgħu taġġorna ringieli. U nistgħu wkoll iħassar affarijiet. Il SQL tagħżel xogħlijiet billi tagħżel ringieli jew filliera ta 'kolonni speċifikati minn database li jaqblu ċertu kriterji li inti jindikaw. Allura minn hawn meta nara * agħżel mill- wizards fejn house = Ravenclaw, allura Jien għażla *, li jfisser jien tagħżel kull kolonna waħda f'dak ringiela mit-tabella wizards iżda biss jekk il-kolonna house ugwali Ravenclaw. Issa, dan huwa pur jew SQL. Hekk jekk I marru fis phpmyadmin, li hija il-mod speċifiku li nużaw biex jamministraw databases SQL tagħna, imbagħad I tista 'daħħal li fil-website phpMyAdmin. U li tesegwixxi. Iżda aħna fil-fatt tixtieq li tagħmel li fuq in-naħa PHP. Allura kif nistgħu nagħmlu? Well, aħna nużaw l-funzjoni query, li bażikament tesegwixxi dik mistoqsija SQL. Bl-użu? bħala placeholder, nistgħu jgħaddu f'ċerti valuri għal string tagħna li aħna tixtieq li tieħu post. Hekk forsi jien ħażna differenti valuri fil-curr_house, li jirrappreżenta l-dar attwali li jien għaddejjin. So I jistgħu jgħaddu li bħala placeholder bil-marka kwistjoni. U mbagħad I ser bażikament tesegwixxi l- istess ħaġa kif għamilt qabel, ħlief issa, jien fil-PHP. U mistoqsija se jirritorna firxa assoċjattiva. U jien ser jaħżen fil-ringieli. Issa, mistoqsija tista 'dejjem jonqsu. Forsi l-mistoqsija SQL ma setgħetx teżegwixxi minħabba li l-tabella ma kinux jeżistu. Jew forsi, il-kolonna ma kinux jeżistu. Xi ħaġa li marret ħażin. Ukoll, fil-każ, inti taf tixtieq tagħmel żgur li inti tiċċekkja jekk l- query lura falza. U li bl-użu tal-triple ugwali joperaw fihom. U mbagħad I ruhna, li hija ieħor Funzjoni CS50, li jgħaddi fil-messaġġ. U jekk inti tħares lejn ruhna, dan kollu verament ma huwa jirrendi apology.php. Yeah. UDJENZA: Tista 'tispjega dak li star ma bejn jagħżel u minn? ZAMYLA Chan: Yeah, assolutament. Allura l-istilla fl bejn jagħżel u minn ifisser li nixtieq li jagħżlu l-sħiħ ringiela kollha mit-tabella tiegħi. I jistgħu stajt indikat tagħżel isem, is-sena, house. U nixtieq nikseb dawk biss tlieta kolonni mejda tiegħi. Imma jekk ngħid * agħżel, imbagħad I ser tikseb kollox f'dik il-kolonna. Imbagħad jien se jmorru lilek fid-dahar ewwel. UDJENZA: Allura dan għadu fil SQL, right? Hija din il-mistoqsija jew din hija PHP? ZAMYLA Chan: Aħna fil-mistoqsija. Allura dan huwa fil-PHP. Hekk billi tuża l-mistoqsija funzjoni PHP, aħna qed eżekuzzjoni mistoqsija SQL. UDJENZA: Huwa xejn SQL każ sensittivi, bħall tagħżel jew wizards jew dar? ZAMYLA Chan: Huwa xejn fil SQL każ sensittivi? Nemmen hekk, iva. Nemmen li SELECT u minn U fejn huma każ sensittivi. Nru? ROB BOWDEN: Għalhekk, huwa l-oppost. L-ismijiet kolonna u l-mezzi tal-mejda, dawk kollha huma każ sensittivi. Iżda kwalunkwe mill-kliem ewlenin MySQL, bħal TAGĦŻEL, MINN, u fejn, dawn mhumiex sensittivi każ. OK. Allura l-oppost ta 'dak li għidt. Sabiex kollha tal-kliem kjavi MySQL - jagħżlu, minn, fejn - dawk mhumiex każ sensittivi. Imma kollox huwa. OK. Inti fil-front. UDJENZA: Jekk ikolli $ ringieli f'termini ta ' aktar minn filliera waħda, ma jfissirx li hija biss isir firxa assoċjattiva? ZAMYLA Chan: Għalhekk il-kwistjoni kienet jekk ringieli għandha aktar minn filliera waħda fiha, ma din issir firxa assoċjattiva? Għalhekk huwa firxa ta 'assoċjattiva arrays diġà. Għalhekk anki jekk hemm filliera waħda biss lura, allura inti d jkollhom biex tmur indiċi 0 ta 'dak ir-riżultat. U allura inti d jkollhom li l-ewwel ringiela. Iva, Belinda? UDJENZA: Meta tuża ===, dan huwa l-każ biss? Jew hemm oħrajn? ZAMYLA Chan: Allura f'dan il-każ, === huwa paragun matul tipi. Jiddispjacini. === Huwa paragun li tqabbel it-tipi. U mbagħad == tqabbel fit-tipi kollha. UDJENZA: Tista 'tispjega liema ringieli huwa f'din is-sitwazzjoni? Huwa ringiela ta 'data? ZAMYLA Chan: Fil-slide li jmiss, jien ser jispjegaw dak ringieli hu. Mela jekk inti ma mind azjenda off fuq dan. U allura inti fid-dahar? UDJENZA: Għal funzjonijiet simili mistoqsija, tirrendi u ruhna [inaudible]? ZAMYLA Chan: Il-mistoqsija kienet jekk dawn il-funzjonijiet - mistoqsija, ruhna, u jirrendi - huma komuni madwar PHP. Dawn huma dawk li CS50 kiteb għall pset7. U Jay? UDJENZA: Meta għandek bżonn li jgħidu $ _session, Hija li huwa biss għall-IDs? Jew inti tista qalu li hawn? ZAMYLA Chan: Għalhekk il-kwistjoni kienet, meta nużaw $ _session, li kien speċifiku varjabbli globali inkunu qed tuża. Hawnhekk din il-varjabbli se jkun lokali funzjoni tagħna. Allura aħna qed biss tiddikjara varjabbli ġdid. UDJENZA: Kif ruhna implimentati? ZAMYLA Chan: Il-kwistjoni kienet, kif huwa ruhna implimentata? U naħseb dan huwa attwalment pretty prattika tajba għalik guys li jmorru fis is-sezzjoni functions.php u tħares lejn ruhna u ara kemm inti jista 'jkollhom isir it yourself. So I jistgħu jħallu dak li inti imma biss jgħidu li jekk inti tħares lejn ruhna, allura tieħu l-messaġġ li inti sottomessa ruhna, u mbagħad tirrendi dak il-messaġġ. Kwalunkwe mistoqsijiet aktar? I imħabba mistoqsijiet. Allura jżommuhom ġejjin. UDJENZA: [inaudible] eku jew print hemmhekk? ZAMYLA Chan: Il-kwistjoni kienet, nistgħu mhux biss poġġew eku jew print hemmhekk. Allura li kien jagħmel xi ħaġa kemmxejn differenti. Li kieku stampati query naqset fis li - ukoll, id-dritt issa, aħna qed attwalment kontrollur tagħna. Allura aħna ma attwalment ikollhom HTML stabbilit hawn. Ruhna billi tirrendi apologize.php attwalment redirects inti apology.php. OK. Allura issa, ejja mur fuq biex tindirizza l- mistoqsija minn qabel dwar dak hija verament ringieli. Well, query se terġa 'lura firxa ta 'ringieli. U kull ringiela huwa rappreżentat minn firxa assoċjattiva. Mela jekk stajt esegwiti xi mistoqsija SQL u Stajt maħżuna ir-riżultat fir-ringieli, allura tuża loop foreach, allura l-array isem hija l-ewwel waħda hemm - ringieli. U allura jien ser sejħa kull ringiela fil hemm $ ringiela. Allura mtennija matul dak, I jistgħu mbagħad aċċess kolonna isem il-filliera mogħti, il- kolonna sena, u l-kolonna house. Innota li I ma kienx ikun kapaċi tagħmel dan ma ringieli, minħabba indiċi ringieli isem ma jeżistix. Ringieli huwa biss firxa ta ' arrays assoċjattiva. Allura għandek żewġ livelli hemmhekk. Ladarba inti għandek l-firxa ta 'ringieli, għandek tikseb fis dan. U allura inti tista 'aċċess l-kolonni. Did li jagħmluha ċara? Yeah, quddiem? UDJENZA: [inaudible] tiftaħ parentesi għal [inaudible]? ZAMYLA Chan: Maħfra me? UDJENZA: Il-parentesi miftuħa. ZAMYLA Chan: Dawn hawn? Li tippermetti lili biex jinkludu dak il-varjabbli. Yeah. UDJENZA: Meta inti print, int istampar għall-HTML code? ZAMYLA Chan: Iva. Meta I jistampa, dan hawnhekk huwa ġewwa template tiegħi issa, sabiex fehma tiegħi ta 'metodu MVC. Hekk jien istampar fil-HTML. UDJENZA: Allura jekk aħna marru fis-iżviluppatur għodod wara running dan, nistgħu li attwalment fil-kodiċi? ZAMYLA Chan: Li l-kbir kwistjoni, yeah. Mela jekk inti marru fis-għodod iżviluppatur fl Firefox użu Firebug jew Chrome, allura yeah, inti tista ' tara l-HTML speċifiku. Għalhekk ma juru $ ringiela ["Isem"]. Ikun juri liema isem huwa f'dak il-filliera. UDJENZA: Just kwistjoni ġenerali, liema huma tr u td definit bħala? Għaliex kieku aħna [inaudible]? ZAMYLA Chan: Tabella tr ringiela, tabella imbagħad td kolonna. OK. UDJENZA: Yeah, huwa data mejda. ZAMYLA Chan: data Tabella. Yeah. UDJENZA: Huwa ringiela li fiha l- ringiela jitqies bħal kolonna? ZAMYLA Chan: Jiddispjacini. Inti tista 'tirrepeti li? UDJENZA: Kif Ħares ringieli? ZAMYLA Chan: Kif inti Ħares ringieli fil liema tip ta 'mod? Huma inti titkellem dwar dawn ringieli hawn jew il-fillieri tr? UDJENZA: Ir-ringieli. ZAMYLA Chan: Dawn ringieli hawn? I d Ħares dan bħala I tesegwixxi mistoqsija tiegħi. U jgħid, OK, I jkollhom jew 0 sa n ammont ta 'ringieli li jaqblu mal-kriterji li inti kienu staqsew. So I għandhom xi numru ta 'ringieli. Allura ringieli, ir-ringieli $, ħwienet kull wieħed minn dawk ringieli fil-firxa. Għalhekk anki jekk huwa biss wieħed minnhom, huwa xorta firxa ta 'ringieli li jaqblu magħha. Mela allura, per eżempju, dan huwa simili għal meta inti fetched l-cache mill-utenti. U l-kriterji kienx hemm fejn ID huwa daqs il sessjoni ID. Hemm verament biss ringiela waħda li jista 'jaqbel ma' dak. Iżda xorta ringieli biss lura ringiela waħda. Allura inti d jkollhom biex tmur ringieli, indiċi 0, cache indiċi li tikseb effettivament cache tiegħek. UDJENZA: Huwa l-funzjoni tal-istampar fl eku l-istess ħaġa? ZAMYLA Chan: Iva. Iva. Stampa eku tal-istess. UDJENZA: Huwa l-loop foreach l- uniku mod biex indiċi fis ringieli? ZAMYLA Chan: Huwa loop foreach l-uniku mod li inti tista ' jtenni permezz ringieli? Nru. Tista 'wkoll tuża għal loop, sakemm li taf it-tul tal-firxa tal-filliera ta. UDJENZA: Inti tista 'jkollhom aċċess għaliha użu ta 'ringiela kif [inaudible]? ZAMYLA Chan: Allura inti ma tista 'aċċess biss jużaw ringiela jekk inti ma jkollhom loop foreach sakemm int ma ddikjarat filliera. Iva. Yeah, fil-abjad. UDJENZA: Mela xi do tr u td tagħmel? ZAMYLA Chan: So tr u td huma tags HTML. tr tindika l-bidu ta 'ringiela tabella. U kull td jindika kolonna ġdida data tabella. UDJENZA: Għal viżwali ta 'dak ringiela huwa simili, biss jimmaġina l-SQL, kif dawn ikollhom filliera. [Inaudible]. ZAMYLA Chan: Yeah. Li l-punt kbir. Tista Ħares ringieli bħala biss bħal fil tabella Excel, just il-lista tal-ringieli. OK. Kull dritt. Allura issa li aħna ħadthom marret matul tagħżel, jekk ma jkunx hemm xi mistoqsijiet aktar, aħna ser jmorru fuq fuq daħħal. Mela jekk jien ridt li daħħal fis xi mejda u daħħal ċerti kolonna valuri, I tista 'daħħal myself fis Ravenclaw fis-sena 7. Imma xi kultant jista 'jkun hemm duplikat valuri, kif rajna fil pset7 meta aħna kienu aġġornament portafoll tagħna. Allura f'dan il-każ, irridu li jużaw ON DUPLIKAT KEY AĠĠORNAMENT, hekk li aħna ma taħżen ringieli multipli bl-istess valur iżda pjuttost taġġornah. Imbagħad għandna attwalment ikollhom aġġornament, li mhijiex daħħal. Huwa biss aġġornament fejn inti aġġornament f'ċertu mejda partikolari kriterji u mbagħad, fl-aħħarnett, iħassru, li ma ħaġa simili ħafna. UDJENZA: Tista qosor jmorru fuq il-ċavetta duplikat? ZAMYLA Chan: Yeah. Essenzjalment hawn, għandi DAĦĦAL FIS gringotts, huwa, galleons, dawn il-valuri. Iżda ID, preżumibbilment, huwa ċavetta unika valur stabbilit fit-tabella MySQL. Mela jekk jien diġà li ID stabbilit, allura ma nistax daħħal ringiela ġdida. Hekk jekk dan ma jeżistix diġà, imbagħad I jkollhom jaġġornaw dan. Fin-nofs fil-abjad. UDJENZA: Allura daħħal, aġġorna, ħassar, u tagħżel, huma dawk kollha disponibbli lokalment [inaudible]? ZAMYLA Chan: So daħħal, aġġornament, tħassar, u jagħżlu huma kollha mistoqsijiet SQL. Allura meta inti qed tuża SQL, inti ser ikollok disponibbli. UDJENZA: Lura għall-kwizzijiet passat - kien hemm kwistjoni li ttrattata jekk kellek mejda u riedu daħħal riżultati tat-test wieħed u inti daħħal isem tiegħek għalhekk mhux ser tavżak [Inaudible] test score ħabib tiegħek. Kif inti tagħmel dan ma daħħal? ZAMYLA Chan: Għalhekk il-kwistjoni kienet dwar mistoqsija preċedenti f'nofs it-terminu. Jien ma jkunux konxji ta 'liema wieħed huwa dritt issa. Allura forsi wara, jekk inti tixtieq li toħroġ u juru me, imbagħad I tista ' ċertament jagħtuk tips. Iżda taħdit ta 'inseriment affarijiet, bħal tieħu score xi ħadd meta inti m'għandhomx, ejja nitkellmu dwar SQL attakki injezzjoni. Allura attakk injezzjoni SQL huwa essenzjalment fejn xi ħadd jieħu vantaġġ mill-sigurtà baxxa tal- mod li inti qed tieħu fil-data. Allura fil hawn, bħal fil-finanzi CS50, meta aħna logged in, nistgħu jidħol fil- username fil-forma login, l-ewwel kaxxa ta 'test, u mbagħad tidħol fil-password. Forsi kodiċi PHP tagħna tista 'tidher xi ħaġa bħal din, fejn $ username huwa l-username post-data u password huwa password post-data. U allura aħna biss tesegwixxi mistoqsija tagħna, ngħidu aħna, OK, ukoll, query tagħna se tagħżel minn utenti tagħna, fejn il-username huwa l- wieħed li huma sottomessi. U l-password huwa l-password, jfisser li l-passwords jaqblu. Issa, dak li jekk minflok attwalment jissottomettu password attwali, bħall- 12345 u guessing fil prong li tgħid password u jippruvaw Hack tagħhom kont, dak li jekk minflok huma ppreżentati dan. Huma jistgħu tip fil forsi raden bi password. U allura dawn se finitura l- kwotazzjoni imbagħad it-tip fil-jew 1 = 1. Dan ikun pass direttament fil-SQL mistoqsija tfittex xi ħaġa bħal din. Agħżel minn utenti fejn username = prongs u password huwa ugwali lily jew 1 = 1. Dan jew il-password għandha li tkun korretta jew 1 = 1, li huwa dejjem veru. Allura f'dan il-każ, bażikament, l-utent jista ' jieħdu vantaġġ ta 'dan u biss log ruħhom u Hack kont ta 'xi ħadd. Allura huwa għalhekk li għandna jixtiequ jevitaw xi ħadd li jiġri dan. Iżda fortunatament, il-funzjoni query minn tgħaddi fil-placeholders se tieħu ħsieb ta 'dan għalik. Ukoll, inti ser tipikament qatt ma trid bżonn jippreżenta l-passwords infushom. C'est pourquoi aħna hashed jew encrypted minnhom fil-finanzi CS50. UDJENZA: Il-kwiżż passat tkellmu dwar MySQL kordi salvataġġ. Do we jkollhom għalfejn tinkwieta dwar dan? ZAMYLA Chan: Dik hija mistoqsija tajba. Il-kordi jaħarbu MySQL huwa definittivament funzjoni li kien użat fil-mistoqsija tagħna. Iżda definittivament tħares lejn dan. Id jgħidu li l-kaċċa ġust li tkun taf li youd bżonn iċċempel li jiffunzjonaw fuq string. Yeah, Belinda? UDJENZA: Kif tkun taf meta huwa kwotazzjonijiet uniku jew kwotazzjonijiet doppja? U wkoll, inħoss bħal fil-lecture inti xi ħaġa dwar li ma jissemmiex il-[inaudible] jew xi ħaġa jew il- tieni kwotazzjoni waħda fl-aħħar. Naħseb li huwa mfakkar fil-lecture li int suppost li jkollhom apostrophe 1 u mbagħad ma jkollhom apostrophes jew xi ħaġa. UDJENZA: [inaudible]. UDJENZA: Il-ħaġa hija l-aħħar wieħed kwotazzjoni fil hemm f'dan it-tieni kaxxa m'għandux ikun hemm. [Inaudible] Għaliex meta inti tieħu din l-aħħar waħda nikkwota out u jaqblu dawn għall-kontenut meta l-password huwa, jekk ikollok li query, hemm kwotazzjoni uniku l-aħħar diġà. Inti tixtieq li tuża dik kwotazzjoni waħda bħala waħda li qed tiffaċċja l-waħda [Inaudible]. Allura x'hemm attwalment f'dak test kaxxa m'għandux ikollhom dik. ZAMYLA Chan: jien ser bidla li. OK. Jekk ma jkunx hemm xi mistoqsijiet, imbagħad I ser tgħaddiha lill Joseph biex jitkellmu dwar JavaScript, eċċetera. [Applause] JOSEPH ONG: Allura qed norganizzaw ftit wara. Mela jekk għandek tħalli, li OK. Iżda aħna nitolbu li inti żżomm kapijiet tiegħek isfel jekk int fin-nofs, sabiex inti ma jimblokka l-kamera u tuża il-ħruġ lura jekk għandek. Jien Joseph bil-mod. Hi. Test, test. Dan, huwa li tajba? Kessaħ. Allura l-video se jkunu stazzjonati wkoll online għal dawk li ikollhom iħallu issa. Skomdi. OK. Allura reviżjoni kwizz. Dan huwa qattus. Issa, JavaScript, li hija forsi ma bħala aww għal xi wħud minnkom guys. OK. Allura dak l-ewwel, jiġbor lura mingħand Zamyla. Ftakar li PHP hija jimxu fuq il-server. U lottijiet ta 'drabi, inti guys kiteb loops fil-PHP li jistampa HTML, right? Allura ladarba dan il-kodiċi tesegwixxi, li Output HTML li inti jistampa gets mibgħuta lill-utent. U ladarba dan iseħħ, l-ebda PHP aktar jistgħu jitmexxew, sakemm inti rikarigu-paġna, tal- course, li reexecutes-PHP. Imma ladarba inti jistampa li HTML, inti ma tistax tmur kullimkien. Allura li HTML hija mibgħuta fuq l-utent, li hija l-browser hawn fuq, fejn Milo qed tuża l-kompjuter. U hekk ukoll, hemm diversi affarijiet ladarba aħna jibgħat HTML għall-utent. Kultant rridu nagħmlu xi ħaġa simili meta tikklikkja fuq xi ħaġa, irridu kaxxi ta 'twissija li pop up, dawn it-tipi ta' interazzjonijiet, bħal meta tagħfas il- ewlenin, meta tikklikkja xi ħaġa fuq il- paġna, nixtieq li jiġri xi ħaġa. Ukoll, inti ma tistax reexecute PHP kodiċi darba li HTML huwa stabbilit. Allura kif taħseb li tagħmel dan? We jintroduċu lingwa ġdida msejħa JavaScript, li tmur fil-browser li jippermetti li inti tagħmel affarijiet HTML wara li tirċievi minnhom mill-server. U dan huwa għaliex aħna sejħa hija ta 'naħa tal-klijent lingwa ta 'programmar. Hija taħdem fuq il-kompjuter tiegħek - il-klijent. Xi mistoqsijiet dwar dan s'issa? Li paradigma jagħmel sens li n-nies? OK. Tajba. Kull dritt. Allura l-ewwel ħaġa li wieħed jinnota hija JavaScript mhix PHP. Huma għandhom xi sintassi differenti, li aħna ser jmorru fis. U għandhom użi differenti ħafna. JavaScript, għal darb'oħra, għall tiegħek browser, għall-klijent. Server runs x'imkien fuq xi ħadd ieħor kompjuter li tibgħat l-informazzjoni lilek, tikkoreġi? Allura jekk aħna nitolbuk biex jikteb il-kodiċi PHP fuq kwistjoni eżami, ma jiktbu JavaScript u viċi versa. Tkun taf biss jitilfu punti, u mhux se tkun id-dritt. Mela ejja nikseb fis xi differenzi sintassi - JavaScript fuq ix-xellug u PHP fuq il-lemin. L-ewwel ħaġa tkun taf Avviż ma JavaScript, aħna niddikjaraw varjabbli ma l-keyword var - V-A-R. PHP użat is-sinjal dollaru, kif Zamyla diskuss qabel. Jekk inti tixtieq li jiddikjara assoċjattiva array, naraw l-sintassi familjari fuq il-lemin ma PHP. Fuq in-naħa tax-xellug, minflok tuża braces kaboċċi. U mbagħad ċwievet tiegħek huma fuq ix-xellug. Imbagħad inti għandek kolon. U allura inti għandek l-valuri li tixtieq. Allura dan huwa kif inti tagħmel dan fil-PHP fuq il-lemin ma 'dak tat-tieni Linja li tibda fuq Milo. U dan huwa kif inti tagħmel dan fuq il- xellug ġenb fl JavaScript jekk inti tixtieq nsejħu oġġett. U oġġetti fl JavaScript huma biss arrays assoċjattiva. Mela jekk inti tixtieq li aċċess oqsma, fil- PHP tuża dan sintassi bracket. U b'dan il-mod, inti tista 'jassenja mill-ġdid qasam sid biex Lauren. Ukoll, fl JavaScript, jekk wieħed jixtiequ aċċess għal qasam u l-bidla, inti tista ' jużaw il-dot sintassi. Tista 'wkoll tuża l-sintassi bracket. Imma inti ma tistax tuża l- dot sintassi fil-PHP. Dan mhux se taħdem. Jaħdem biss fil-PHP. U fl-aħħarnett, li jistampaw affarijiet li l- console, tuża console.log, li inti guys jużaw ħafna fil pset8. Tista console.log dik. Jekk inti tixtieq li jistampaw firxa fil- PHP, inti għandek tuża print r. U fuq il-lemin, tara i hash konkatenazzjoni string hemmhekk. Xi ħadd talab qabel. I użu plus JavaScript. Jekk irrid concatenate xi ħaġa fil-PHP, I jużaw il-dot. Dawn huma differenti. Jekk int bil-miktub kodiċi PHP, ma jużawx plus. Jekk int bil-miktub JavaScript kodiċi, ma jiktbu dot. Dan se jkun żbaljat. U tkun taf tkun imdejjaq. Differenzi So sintassi. Know sintassi tiegħek, għaliex jekk inti għandek jiktbu kwistjoni u tuża s-sintassi mill-lingwa ħażin, mhux se taħdem. U se jkun żbaljat. Mela ejja nitkellmu dwar xi kontroll fluss differenzi, kif tuża loops f'kull wieħed minnhom. Zamyla marru fuq il-lemin. Jittieħed fuq il-lemin għandhom ikunu familjari. Ejja nħarsu lejn fuq ix-xellug. Meta tuża għal loop n fl JavaScript, loop varjabbli tiegħek, var i hemmhekk, loop fuq l-ċwievet ta 'l-array. Allura inti tara l-isem, house, u r-rwol. Jekk I console.log i, I nikseb isem, house, u r-rwol. Dawk huma ċ-ċwievet. Fil JavaScript, linja foreach tmur fuq il-valuri ta 'dan array. Allura tinnota li qed kemm i. Iżda fil hawn fuq in-naħa PHP, prints out Milo, CS50, u Mascot. Dawk huma l-valuri fil-PHP. Allura dawn huma kif dawn tnejn huma differenti fil-lingwi differenti. Mela jekk inti qed tuża foreach loop, ma jassumu li jagħtik l-keys. U jekk inti qed tuża għal loop n, ma jassumi li tagħtik il-valuri. Ma dan jagħmel sens s'issa? Il-slide li jmiss se nuruk kif inti tista 'aċċess l-oppost fil- kull wieħed minnhom. Ukoll, jekk inti għandek l-ewlieni fl JavaScript u inti tixtieq l-valur out, inti biss indiċi fil- array ma 'dak. Allura Milo ta 'i se tikseb dak inti tixtieq - il-valuri. Hemm dan sintassi differenti fil-PHP. Jekk verament trid tkun taf dan, jien ma think we ve wera li int s'issa. Imma jekk int interessat, inti tista 'tuża dan sintassi addizzjonali fuq il-lemin naħa li fil-fatt se let ikollok l- ċwievet PHP meta inti qed tuża loop foreach. Hekk biss ftit ta 'trivia jekk int interessat. Allura dan huwa biss sabiex juru l- differenzi bejn dawn iż-żewġ linji. Tħallatx lilhom up meta int programmazzjoni kwistjoni. Xi mistoqsijiet dwar dan. Kessaħ. Kull dritt. JavaScript oġġetti. I tkellmu dwarhom. Huma qed simili arrays assoċjattiva. L-unika ħaġa nixtieq għalik li tinnota hawnhekk hija li valur fi assoċjattiva firxa jistgħu jiġu xejn fl JavaScript. Dan jista 'saħansitra jkun funzjoni, simili hemmhekk. I jkollhom funzjoni li hija valur ta 'ċavetta. U jekk irrid li jikkontestaw din il-funzjoni, I biss aċċess qoxra. U mbagħad I tpoġġi l-parentesi wara dik. U li x-xogħlijiet. Allura xi mistoqsijiet? Nru? OK. Tajba. JavaScript, bħal PHP, huwa laxk ittajpjat. X'ifisser dan? Huwa ma jkollu tipi. Imma meta inti tiddikjara JavaScript varjabbli, inti tgħidli i var. Inti ma jgħidu li din. Li mhux xi ħaġa. Inti biss jgħidu huwa varjabbli. U mbagħad JavaScript se tieħu ħsieb l- tipi taħt il-barnuża għalik. Nistgħu jikkonvertu liberament bejn tipi minħabba dan. Hekk i tibda bħala numru f'dan il-każ. U mbagħad I jkollhom string. And I żid i lilha. U jien jassenja mill-ġdid lura fil i. Allura fuq l-ewwel linja, i huwa n-numru. Fit-tieni linja, i issa isir string wara I jagħmlu l-assenjar mill-ġdid. U hawn, jien biss concatenating dak in-numru fuq il-sekwenza. Allura inti tara li anki jekk i kien numru sħiħ fl-ewwel parti, huwa sort ta 'prodotti simili li jkunu konvertiti għal spag u mbagħad qed jiżdiedu fuq dak string bonjour. U hekk dan huwa dak li jfisser I mill-ittajpjar laxka. Dak li inti jikkonvertu bejn tipi faċilment. U ma tarmi twissijiet lejn tixtieq C ma. Hekk i issa fih bonjour 123 tad-sekwenza. Next. Nistgħu wkoll iqabbel liberament bejn it-tipi. Mela jekk inti biss tuża ==, ħafna bħal fil-PHP, JavaScript ma ħaġa simili. Il string 123 huwa l-istess bħan-numru 123 meta tuża ugwali doppja. Meta użat ugwali triplu, huwa wkoll trid li tiżgura li it-tip huwa l-istess. Hekk minħabba li huwa string u li huwa numru, anki jekk dawn qed kemm 123, meta tuża triple ugwali, ikollok falza. Fil-double ugwali każ, ikollok veru, minħabba ugwali doppja ma jimpurtahom tip. Ugwali Triple ma jimpurtahom tip. Mistoqsijiet? OK. U ħaġa oħra dwar JavaScript huwa iskop huwa tip ta 'globali sakemm int fil-funzjoni. U taħdem l-istess mod PHP attwalment. Mela ejja jgħaddu dan l-eżempju. I sett i sa 999. U mbagħad mmur fis dan għal loop. Mela jekk jien istampar i f'din għal loop, I jistennew 0, 1, 2, 3, 4. Nasal biex i = 4. Hija inkrementi i issa sa 5 fil- tmiem il-għall-loop. U mbagħad pawżi barra mill-linja, minħabba li ma tissodisfax il- kundizzjoni jibqgħalu. X'taħseb li jmiss console.log tistampa? Allura dan huwa dak li se tagħmel fl C. C, għaliex jekk għandek bħal var i barra u inti għandek i var ġewwa loop, bħal għall-loop, allura jagħmel dan b'mod li huwa scoped li ż-żewġ i huma differenti. Fil JavaScript, se biss titratta dan bħala l-istess i. I nikseb 5, minħabba li kien il-valur wara li ħareġ barra mill-linja. Allura dawk i huma l-istess i. Does li jagħmel sens? Ukoll, jagħmel sens minn lat JavaScript. Iżda l-istess paradigma ma jitmexxew għas C. Huma għandhom regoli dwar l-ambitu differenti. Iva. UDJENZA: [inaudible] barra l-funzjoni [inaudible]? JOSEPH ONG: Allura barra li jiffunzjonaw? So I ser jiksbu għal dak fi ftit tieni. Allura aħna sejħa foo (i). Din tgħaddi i fil foo, inkrimenti , u mbagħad zkuk dan. Allura kien 5. Biex dan isir 6. Imma dak li jien jitkellem dwar huwa li i f'dik il-funzjoni. Għaliex dan huwa parametru, huwa scoped għal dik il-funzjoni. Allura ladarba I attwalment tikseb minn dak funzjoni, huwa issa se jmorru lura għall-i qodma. Li i huwa scoped biss minħabba huwa fil-funzjoni. U aħna għandna ambitu u l-funzjonijiet. Iżda aħna ma jkollhomx skop barra tal-funzjonijiet JavaScript. Does li jagħmel sens? Iva. Mistoqsija. UDJENZA: Istess [inaudible]? JOSEPH ONG: So yeah. Fil-PHP, huwa l-istess tip ta 'ħaġa. Hemm subtlety żgħir attwalment. Iżda int tista 'tistaqsi lili dwar li wara r-reviżjoni. Inti ma verament bżonn tkun taf li subtlety għall-kwizz. Għall-finijiet u effetti kollha, bħal varjabbli, globali u PHP, sakemm dawn qed fil-funzjoni, l-istess ħaġa JavaScript. Iva. UDJENZA: Għaliex hija din permess JavaScript u l-ebda fejn ħaddieħor? JOSEPH ONG: Allura għaliex hi permessa fl JavaScript u mhux fis-C? Huwa biss min ħareġ bi JavaScript iddeċieda li dan kien OK fi JavaScript. Allura huwa biss bħal lingwa ta 'programmar konvenzjoni kif aħna ngħid. Iva. UDJENZA: Allura għaliex ma tmur 6-5? JOSEPH ONG: Allura huwa marru 6-5, għaliex meta I għadda i fis foo, li i ġewwa ta 'foo issa scoped li foo, għax l-ambitu jeżisti fil-funzjonijiet JavaScript. Imma darba I toħroġ hawn, għaliex kien scoped il-funzjoni, jien biss użu tal-i regolari li kien ġewwa il-bqija tal-fluss kontroll. Jagħmel sens? Nista jimxu fuq? Kull dritt. Kessaħ. L-aċċettazzjoni ta 'dan huwa oġġetti huma mgħoddija permezz ta 'referenza. Inti taf kif meta inti tgħaddi firxa fis C inti tista ' attwalment jimmodifika l-firxa? Huwa l-istess ħaġa fil-JavaScript. Jekk I jgħaddu oġġett, f'dan il-każ, I mgħoddija Milo fis din il-funzjoni catify. Milo jibda. Ismu huwa Milo Banana. I jgħaddu dak l-oġġett fil-funzjoni għaliex dan huwa oġġett, l assoċjattiv array fl JavaScript. Meta I jwettaq operazzjoni f'dik il-funzjoni, se attwalment ibiddlu l-oġġett. Allura dan jiġri biss għal oġġetti fl JavaScript, biss bhalu jiġri għall arrays ġewwa ta 'isem C. So Milo tal fil-fatt se jsiru qattus issa. Does li jagħmel sens? Allura dan jaħdem biss għal oġġetti. Oġġetti huma mgħoddija permezz ta 'referenza. Iva. UDJENZA: Allura inti qed tgħid li b'kuntrast ma 'varjabbli i. JOSEPH ONG: Yeah. Liema varjabbli i kien biss numru, id-dritt? Huwa simili fis-C meta inti tgħaddi l- Integer a, jagħmel kopja. U meta inti tgħaddi firxa, attwalment bidliet l-firxa attwali C. L-istess ħaġa jiġri ma JavaScript f'dan il-każ. Kull dritt. U li jmiss, Milo huwa imdejjaq għax hu issa qattus. Dan kien fil-fatt Milo wara xi vjaġġ għall-vet. Allura kif nistgħu jużaw JavaScript fil-paġna web? Nistgħu jinkludiha. Dan huwa HTML code ma 'l-tags strixxa. So I jkollhom tags strixxa hemmhekk. U mbagħad I jqajjem xi JavaScript kodiċi fil-tags iskrittura. U allura tesegwixxi dan. Meta I biss tagħmel dan bħal dan, huwa imsejħa JavaScript inline. Huwa tip ta 'messy, minħabba li l- JavaScript huwa attwalment fil-HTML. A aħjar mod biex isir dan, ħafna nicer, huwa li tikteb tiegħek JavaScript fi fajl estern u mbagħad jipprovdu l-tag iskrittura ma 'sors. U dan se jmorru għal dan il-fajl JavaScript u aqra l-kodiċi JavaScript minn dan il-fajl minflok. U b'dan il-mod, inti ma għandekx ħafna ta ' JavaScript fil-bidu tal tiegħek File HTML, li jagħmel huwa verament messy. Inti biss jitqiegħed x'imkien ieħor. U mbagħad se taqrah minn hemm. Ma li jagħmel sens? Kwistjonijiet Pjazzament. F'dan il-każ partikolari, il- iskrittura huwa quddiem il-korp. Allura meta I tesegwixxi dik, hemm xejn fil-ġisem għadhom. Forsi din se tagħmel ftit aktar sens meta I juru din il-parti li jmiss. F'dan il-każ, l-iskrittura jiġi wara l-div. Allura l-div attwalment tidher fuq il-paġna ewwel. Dritt hawn dan iċ-ċirku aħmar ftit, tara t-test jidher. U allura l-allert turi up. Fl-ewwel każ, minħabba li l-iskrittura kien qabel il-div, il- twissija turi up ewwel. U allura l-div turi up wara inti tiċħad l-kaxxa. Allura l-eżekuzzjoni kwistjonijiet. Allura aħna ser jżomm dan f'moħħu. Dan se jkun importanti fi ftit. OK. Hekk ukoll, kif taħseb li jistenna sakemm il- paġna kollha hija mgħobbija allura qabel ma inti tesegwixxi xi kodiċi? Aħna ser tikseb fis dan ftit ftit aktar tard wisq. Iżda biss iżommu dan it-tqegħid kwistjonijiet fil-moħħ għal meta aħna jaslu għal slide ieħor. Allura irridu jiksbu l DOM issa. U dak li huwa DOM? Mela jekk inti tħares lejn HTML code, huwa biss mazz ta 'test fuq l-iskrin. Allura kif ma JavaScript taf li dan huwa element HTML? Hekk aħna li jkollhom xi memorja rappreżentanza ta 'dan istruttura li għandna. U kull meta aħna għandna dan fil-memorja rappreżentazzjoni fil-JavaScript, nagħmlu sejħa li l-DOM. U huwa biss mod li persuni deċiż li għandna jirrappreżenta dan Istruttura HTML bħala. U dan xi DOM look like? Ukoll, fir-rappreżentanza tal-memorja, nieħdu dan it-test. U aħna jibdluh memorja rappreżentazzjoni. Allura dan huwa l-HTML. Allura aħna l-ewwel issir taf li kull Siġra DOM għandha dokument. Jidher qisu siġra. U d-dokument fih l-HTML tikketta, fil-fatt kollox ġewwa ta 'dan issa. Il-lametta HTML għandu żewġt itfal. Hija għandha ras. Dan il-kap, jekk inti tħares lejn indentazzjoni minn hemm lejn kif huwa strutturat bejn il-tags qrib, ras għandha wild. Il-minuri huwa titolu. Eżattament. Issa, għandna tfal korp. U allura dak il-korp ikollu tfal imsejħa familja. U li l-familja għandu tlett itfal - eqdem, tan-nofs, u iżgħar. Allura inti għandek tkun taf kif tfassal dijagramma bħal dan meta aħna nistaqsu kif inti jiġbed dijagramma meta nagħtu inti l-HTML fuq ix-xellug. Taf kif biex jipproduċu l-siġra DOM. U ġewwa ta 'dawn l-affarijiet, hemm biss xi test, li stajt rappreżentati kaxxi bħala ftit. Ma din l-istruttura siġra DOM jagħmlu sens u dak l DOM hu? Allura dak li l p toqgħod għal? Hawn fuq, il-p hemmhekk f'dak tag jirrappreżenta paragrafu tag HTML. Allura inti tista 'tfittex it up. Iżda hija biss ifisser li huwa xi spazju għal xi test. U għandha xi CSS grafika default, għaliex dan huwa punt tag. Imma ma verament tinkwieta dwar dik il-parti wisq. Just taf huwa placeholder għal xi test. Iva. Mistoqsija? Iva. UDJENZA: Inti biss CSS imsemmi. Il-familja hash u l-hash dak kollu li Jittieħed huwa bażikament jirrappreżentaw IDs fl CSS? JOSEPH ONG: Yeah, eżattament. I ser tingħata biex dak li dawn hashes jfissru fit-tieni. Meta Angela marru fuq CSS, hi tkellem dwar seletturi CSS. Dawn huma l-seletturi CSS li hi kien jitkellem dwar. Iva, Rob? ROB BOWDEN: Nixtieq ukoll jikkummentaw li DOM ġewwa ta 'lametta tal-titolu huwa wkoll node test. JOSEPH ONG: Dritt. Allura ġewwa l-tikketta titolu, Għandi xi DOM test. Allura verament, dan it-titolu għandu jkollhom bħal kaxxa ftit ġejjin off ta 'dan ukoll. Iżda dan ma verament kwistjoni wisq f'dan il-każ. Aħna ma verament jimpurtak lymph test, kif insejħulhom, wisq. OK, nagħmlu. Apparentement, nagħmlu. U jien se tiffissa li meta I upload darb'oħra. Does li jagħmel sens? Allura kif nistgħu naħdmu mal-DOM? Kull meta inti jittrattaw mal-DOM b'mod JavaScript, hemm żewġ passi. Inti tagħżel element DOM. U allura inti tagħmel affarijiet lilha. Allura f'dan il-każ, astratt, stajt magħżula l-element nofs. U mbagħad eżempju ta 'kif isir għalf li ikun tibdil fit-test. Li jintuża biex tkun Bob. Issa, dak li għamilt biex kien I mibdula Bob biex Milo f'dan il-każ. Allura kif nistgħu fil-fatt jagħmlu dan? Kif nistgħu nagħmlu l-għażla? U kif nistgħu nagħmlu l-tagħmel għalf li il-ħaġa ladarba aħna ħadt dan? Ukoll, il-mod inti guys jkunu tgħallmu f'din il-klassi huwa billi tuża xi ħaġa li aħna imsejħa jQuery. Allura x'inhu jQuery? jQuery hija librerija li jagħmel JavaScript aktar faċli biex jiktbu. Allura xi ħadd ħa l-ħin u kiteb jQuery. jQuery huwa attwalment miktub fl JavaScript. U allura għaliex ma dan, aħna issa jkollhom mazz sħiħ ta 'funzjonijiet li nistgħu nużaw li jagħmlu tagħna jgħix verament faċli. Allura dak li huma wħud mill- affarijiet huwa ma? Jagħmel għażla elementi aktar faċli. Jagħmel jinbidlu HTML, żżid klassijiet aktar faċli. Jagħmel Ajax aktar faċli. Aħna ser jiksbu għal dak fit-tieni. U huwa analogu għall-libreriji Ċ. Allura inti jinkludu string.h, ikollok strlen. Ikollok strcpy, kollha ta 'dawn l-affarijiet. Meta inti jinkludu jQuery, ikollok sbieħ modi biex tagħżel elementi għat-tibdil affarijiet, eċċetera. Ikollok funzjonalità żejda li JavaScript ma jtik. Allura jQuery mhix JavaScript. jQuery librerija thats miktuba JavaScript li jagħmel JavaScript aktar faċli biex jiktbu. Allura jQuery mhix programmazzjoni lingwa. Iżda JavaScript huwa. jagħmlu. Sure ikollok terminoloġija tiegħek dritt. Kwalunkwe mistoqsijiet? Iva. Hija li kwistjoni? Kull dritt. Allura kif taħseb li tuża jQuery? Ukoll, meta int bil-miktub xi JavaScript kodiċi u inti jinkludu jQuery fil-quċċata tal-fajl tiegħek bħala fajl iskrittura, tuża s-sinjal dollaru issa biex jiksbu aċċess għal jQuery. U dan huwa differenti minn is-sinjal dollaru fil-PHP. Huwa l-istess simbolu inti tip fuq it-tastiera tiegħek. Imma jfissru affarijiet differenti ħafna. Sinjal dollaru fil-PHP ifisser dan huwa kif I tiddikjara varjabbli. Fil JavaScript, meta inti stajt inklużi jQuery, stands għall jQuery. Sabiex iżommu dan f'moħħhom. Allura kif tista aħna tagħżel elementi DOM? Ukoll, meta inti tagħmel dan il-JavaScript ikrah mod, inti aċċess għall- dokument varjabbli globali. U mbagħad ikollok element mill-familja ID. Dan huwa verament twila u wordy u mhux sbieħ ħafna. Jew tista 'tikseb l-elementi kollha li huma tag p. Li taħdem wisq JavaScript. Imma aħna qatt verament wera inti s-sintassi wisq. Dak li aħna wera inti kien jQuery. Allura li selettur kollu up hemm li ġiet espressa JavaScript biss gets ikkondensat għal din dollaru sbieħ ħafna jiffirmaw familja hashtag. U $ p, biss fejn huwa bħal dik. Jekk inti tixtieq li tagħżel tikketti kollha p ġewwa familja, npoġġux spazju bejn it-tnejn. U issa, aħna jiksbu l-p tags ġewwa familja. U ħarsa familjari? Well, Angela tkellmu dwar Seletturi CSS. Agħti me-tieni waħda. U dan sabiex tagħżel element, inti biss tuża l-istess ħaġa kif inti se tagħmel ma 'selettur CSS. Jekk inti tpoġġi hash quddiem ta 'dan, huwa jagħżel minn ID. A dot jagħżel il-klassijiet. Jekk inti biss għandek il-ħaġa mingħajr hashes jew tikek, huwa jagħżel dawk tags. Mistoqsijiet. Iva? UDJENZA: Meta nużaw dot fil tagħna HTML, huwa li mhux jQuery? JOSEPH ONG: Dot fl HTML tagħna hija ħaġa JavaScript. Mhuwiex ħaġa jQuery. Il-mod kif inti guys tgħallmu ma ' jQuery huwa l-użu. html. U allura inti għadda kwalunkwe l-HTML se tkun. So I ser jiksbu għal dak fil biss tieni attwalment. Allura kif nistgħu nagħmlu Jittieħed element ladarba aħna ħadthom magħżula dan? Allura dak eżempju ta ' għażla ta 'element. Allura issa, aħna tixtieq li tagħmel Jittieħed lilha. Allura f'dan il-każ, let me jmorru lura għall-slide ta 'qabel. Kien Bob qabel. U nixtieq li bidla li ġewwa HTML biex Milo. So I sejħa tal-funzjoni HTML mill-element. Dik il-funzjoni HTML huwa metodu ta 'element. U mbagħad I tagħtiha dak Irrid li l-HTML li jkun. U hija biss tissostitwixxi x'hemm ġewwa ta ' li tag bi kwalunkwe I tagħtiha. Iva. Mistoqsija? UDJENZA: Il-hashtag hija użata biss għall-jQuery. [Inaudible] aħna mhumiex se jużaw dan. JOSEPH ONG: Yeah, eżattament. Imma ma jinkwetaw wisq JavaScript dwar pur. I biss li inti guys biex jiffukaw dwar kif għandek tagħmel dan ma jQuery, għaliex li għaddej biex tkun l-importanti parzjalment fuq il-kwizz. Dritt. Eżattament. Allura inti tara li hashtag, b'tali mod li jikkorrispondi biex tagħżel l-element ma nofs ID minħabba li hashtag. Hashtag ifisser ID. U dan l-element għandu ID ta 'linji. Allura dak l-element aħna tagħżel. UDJENZA: [inaudible]. sinjal dollaru hashtag [inaudible]? JOSEPH ONG: Allura l-ebda. Il-kwistjoni hija tista 'tuża. Valur. U. Valur biss xogħlijiet fuq elementi li huma inputs. Fil jQuery, ikun . Val, mhux. Valur. So I ser tingħata biex eżempju żgħir li juri dan kollu flimkien fit-tieni. Imma naħseb dan iservi snippet ftit jagħmel sens li n-nies s'issa. Tixtieq li jibdlu l-HTML, sejħa tal-metodu HTML. Iva. UDJENZA: Tista 'tispjega il-metodu ġdid? JOSEPH ONG: Allura metodu huwa biss funzjoni li jappartjeni għal wieħed, f'dan il- każ, waħda minn dawn l-elementi DOM, għaliex inti tara I magħżula l-element ewwel. Attwalment, let me użu l-maws. I magħżula element ewwel. U mbagħad I sejjaħ din HTML funzjoni li kellha. U minħabba din il-funzjoni jappartjeni għal dan il-ħaġa, aħna sejħa hija metodu. Li jinsab biss isem fancy għal dan. Jgħidu li għal darb'oħra. Mela ftakar, aħna magħżula l-element issa. U konna poġġih ġewwa ta ' il-varjabbli element. Tikkoreġi? Allura meta aħna tixtieq li tibdel il HTML fuq ġewwa, minħabba li kien Bob qabel, int trid tibdel dak it-test għall Milo. Allura aħna sejħa HTML. U aħna għid liema l-HTML ġewwa dak l-element għandu jkun issa. U għalhekk bidliet li Milo, minħabba I tatha Milo. UDJENZA: Allura dawn qed jaħdmu flimkien. [Inaudible] JOSEPH ONG: Yeah, yeah. Huma qed jaħdmu flimkien. Allura wieħed minnhom jagħżel l-element ewwel. U t-tieni waħda ma xi ħaġa li hija. Iva. UDJENZA: [inaudible]. Jekk dan il-metodu huwa differenti minn HTML inti għandek l-metodu ugwali attwali. JOSEPH ONG: Yeah. Dan huwa metodu differenti. Dan huwa metodu differenti. U nistgħu tkopri li ftit tieni meta nikbru għal eżempju. I jixtiequ jagħmlu ċert li aħna tħaffef għaliex aħna qed taħdem barra ta 'żmien. Iżda aħna ħadthom run mod matul iż-żmien issa. OK. Kessaħ. Mela jekk inti tixtieq iżżid klassi, hemm wkoll metodu klassi add. Dan huwa biss eżempju ta 'dak inti tista 'tagħmel ma jQuery. Li biss iżid klassi. Jekk inti tixtieq li tneħħi dan, inti tista 'sejħa neħħi. Li jinsab biss ieħor ħaġa li tista 'tagħmel. Allura iktar eżempji ta 'affarijiet li tista' tagħmel. Allura nista 'biss jitqiegħed fuq il-quċċata bħal dan? Neħħi iżgħar. Jekk I biss tesegwixxi dik JavaScript fuq il-quċċata tal-fajl tiegħi, se li jaħdmu? Dritt. Minħabba nofs s'issa ma jeżistix. Allura dan mhux sejjer jaħdem. Tordna l-eżekuzzjoni. Hija tmur għall-quċċata ewwel. What? UDJENZA: Liżgħar s'issa ma jeżistix? JOSEPH ONG: Yeah. Iżgħar ma jeżistux. Eżattament. UDJENZA: Inti qal nofs. JOSEPH ONG: Jiddispjacini. Iżgħar s'issa ma jeżistix. U l-ħaġa hija I ma jkunux inklużi l jQuery fajl staqsi src iskrittura. Allura li mhux sejjer jaħdem. Actually, I ma tagħmel dan fil- l-slide li jmiss, li suppost li jiffissaw li jew. Iżda l-mod kif nagħmlu dan huwa JavaScript huwa avveniment misjuqa. Allura dak li nagħmlu huwa nużaw avveniment handler biex dan iseħħ. U so I tagħżel id-dokument stabbiliti ewwel. I say, OK, meta d-dokument ikun lest, let me run funzjoni. Allura dak kollu li mezzi sintassi. I magħżula id-dokument. Issa, meta d-dokument ikun lest, imexxu l-funzjoni. U hekk hawn fuq meta d-dokument ikun lest, li jfisser l-HTML għandha mgħobbija, allura I run il-funzjoni li jneħħi dak l-element. U hekk issa, meta I run din il-funzjoni li I għaddew fis lest, jien garantit li l-HTML fuq il- paġna se jeżistu ewwel. Iva. Mistoqsija? UDJENZA: X'inhu l-avveniment keyword fi ħdan il-funzjoni? JOSEPH ONG: Allura dak l-avveniment keyword fil- funzjoni huwa biss parametru li gets mgħoddi għall-funzjoni għal kwalunkwe avveniment. Huwa biss xi ħaġa li ikollok b'xejn. Meta inti qed tuża handlers ewlenin pset8, il-każ jista 'jgħidlek, għall- eżempju, li ewlenin inti ippressat fuq. F'dan il-każ, għal avveniment lesta, huwa attwalment mhux super utli. Iżda għal avveniment isfel ewlenin, huwa aktar utli, għaliex ikollok biex tkun taf liema ewlenin li għandek ippressat billi taċċessa prinċipali kodiċi off dak l-avveniment oġġett. Tikkoreġi? Does li jagħmel sens? OK. Iva. Mistoqsija? UDJENZA: Allura tista 'tpoġġi l- tag iskrittura aktar 'l isfel? JOSEPH ONG: So yeah. Inti tista 'tpoġġi l-iskrittura tag aktar 'l isfel. Iżda mbagħad hija biss isir verament messy. U aħna nixtiequ li tiċċentralizza t tal-kodiċi tagħna f'post wieħed. U dan se jippermetti magħna biex jagħmlu dan. Ftakar qabel I qal hemm nicer mod li jiġi żgurat li l-elementi huma fuq il-paġna qabel ma inti teżegwixxi kodiċi? U dan huwa biss mod sabiħ inti tlesti dan. UDJENZA: [inaudible]. JOSEPH ONG: Yeah. Inti xorta jkollhom, right? Minħabba ftakar, inti inklużi l- fajl fil-quċċata tal-paġna. Allura li għaddej biex tesegwixxi l-ewwel qabel inti tikseb l-qiegħ tal-paġna. OK. Allura inti tista 'wkoll żżid differenti tip ta 'avveniment handler. Dan wieħed biss proċessi klikks. Meta I ikklikkja fuq iżgħar, imbagħad se pop up ma 'twissija. Dan huwa biss differenti tip ta 'avveniment. Kontrarjament għall-avveniment lesta, inti issa jużaw l-avveniment ikklikkja meta inti tirċievi clicks fuq element. U hekk f'dan il-każ, ftakar, l-ikklikkja handler huwa mehmuż ma 'iżgħar. Allura dan jiġri biss meta I ikklikkja fuq iżgħar. U fl-ieħor, l-avveniment lesta kien mehmuż mad-dokument. Għalhekk jistenna għal-dokument biex ikunu lesti. Jagħmel sens? I think I tista 'timxi fuq. Iva. Mistoqsija? UDJENZA: [inaudible]. f'dan il-każ inti tuża [inaudible]. JOSEPH ONG: Oh, yeah, għaliex f'dan il- każ, I jkollhom għalfejn jistennew l-iżgħar element li jidhru fuq l-iskrin ewwel qabel I tista 'tehmeż handler klikk li dan, huwa għalhekk li jien poġġih ġewwa ta 'dokument lesta. OK. U li jmiss, għalhekk dan huwa eżempju kbir ta ' kif inti jikkombinaw kollox. Dan huwa biss eżempju forma validazzjoni inti stajt tidher fil-lecture. Allura teħodha pass pass kif inti tmur permezz ta 'dan. U se tkun totalment OK. Just taqrah minn fuq għal isfel. I jkollhom forma fil-qiegħ. Meta d-dokument huwa lest, I tehmeż tissottometti handler għall-forma, b'tali mod li meta I jissottomettu l-formola, I nikseb il-valuri ġewwa kull wieħed minn dawk l-inputs. U jien tiċċekkja jekk huwa vojt. Jekk huwa vojt, I-ritorn foloz, għaliex Ma rridx li jissottomettu l-formola, minħabba li l-formola hija żbaljata. Jekk l-password huwa vojt jew huwa inqas minn tmien karattri, I ma jissottomettux il-forma, minħabba li wkoll żbaljat. U l-foloz ritorn biss jipprevjeni il-forma milli jissottomettu u jmorru għal paġna ġdida. U wieħed jittama, dan jagħmel sens. I think inti guys għandhom walk permezz dan il-pass kodiċi pass fuq tiegħek. U ladarba inti tifhem dak l tagħżel elementi u tagħmel Jittieħed lilha fil-fatt jinvolvi, din se tagħmel ħafna sens lilek. Iva? UDJENZA: X'tagħmel l- isem = username jfisser? JOSEPH ONG: Allura l-isem = username u isem = password ifisser biss ħarsa lejn il- attribut ta 'kwalunkwe int tagħżel. U mbagħad li għandha biex jaqblu. Allura aħna jmorru fis reġistrazzjoni. U allura aħna nħarsu lejn l-inputs kollha u r-reġistrazzjoni. U allura aħna pick-fejn l-isem wieħed attribut huwa daqs username. Hekk li l-ewwel selettur biss jagħżel l-input username. U li t-tieni selettur tagħżel biss il-password wieħed, għaliex dawk ikollhom attributi isem tagħhom stabbiliti bħala dak dawn qed suppost tkun. Mistoqsija? UDJENZA: Meta tiġi sottomessa, kif ma 'l- parti t'isfel isolvu l-parti ta 'fuq? JOSEPH ONG: Allura dan għaliex tal-handler avveniment. Allura aħna qed jistennew għal tissottometti avveniment li gets sparati mill-formola. U li kollox li jissottomettu. Why do I call jissottomettu up hemm? Huwa jgħid, meta tiġi ppreżentata l-formola, I jiksbu jissottomettu avveniment. So let me biss jinterċettaw dan u imbagħad run dan il-kodiċi minflok. Iva? UDJENZA: Għaliex għandek li jkollhom avveniment funzjoni? Għaliex ma tistax inti biss [inaudible]? JOSEPH ONG: Minħabba fl JavaScript, inti jkollha tiddikjara l-funzjonijiet. Li jinsab biss kif taħdem fl JavaScript. Għandek tgħid li għaddej jiddekorri funzjoni. Allura int javżak li int jistennew funzjoni hawn minflok biss braces kaboċċi. UDJENZA: U l-funzjoni huwa x'ikun ġej? JOSEPH ONG: Yeah. Il-funzjoni hija tkun xi tkun ġewwa l-braces kaboċċi wara li keyword funzjoni. Iva? UDJENZA: [inaudible]. JOSEPH ONG: jissottomettu Għall? UDJENZA: Le, għal funzjoni mingħajr l-avveniment. JOSEPH ONG: Yeah. Allura mingħajr l-avveniment, inti jista 'jkollhom dan. Jekk inti m'għandekx bżonn l-avveniment, allura inti tista 'sempliċement jħalli barra dan. Imma jekk inti tagħmel, allura inti biss jitqiegħed hemmhekk. Iva. Quick kwistjoni? UDJENZA: [inaudible]. JOSEPH ONG: Yeah. Għaliex dak li għandek bżonn tagħmel, il- document.ready biss jgħid stenna għal kulħadd l-HTML fuq il-paġna biex jgħabbi l-ewwel. U normalment, inti tixtieq elementi tiegħek fis-seħħ qabel inti tmexxi kull kodiċi. Kull dritt. Irridu jiksbu Ajax. Aħna ma jkollhom ħafna ħin. Allura vantaġġi u liżvantaġġi. JavaScript huwa jipprova faċli tikteb bil jQuery. Iżda jQuery huwa tip ta kajman. Huwa simili PHP hija aktar baxxa minn C, għaliex dan huwa interpretat. U jQuery huwa daqsxejn kajman minn JavaScript, minħabba li ma lott ta ' affarijiet taħt il-barnuża. U hekk jekk inti qed tuża jQuery, huwa biss ftit kajman minn JavaScript, anki jekk jagħtik eleganti sbieħ. U fl-aħħarnett, Ajax. S'issa ma Ajax, inti ma bbenefikawx Ajax f'termini ta 'pset7 għadhom, għaliex meta inti tagħmel, inti tissottometti formola li kwotazzjoni. Tagħbijiet paġna ġdida. Allura inti tikseb dan flash abjad big fuq il-paġna filwaqt li tagħbijiet tieni paġna, korretta? Ikun tassew sbieħ jekk inti ma kellhomx din flash. Bħal Facebook, jekk inti biss iscroll biex il-qiegħ, hija żżid kontenut ġdid mingħajr iġjeniċi il-paġna kollu. Allura xi ħaġa bħal din ikun sbieħ. Dan huwa kodiċi JavaScript fuq in-naħa tax-xellug. Ikollok dak li hu ġewwa ta 'dak input. Ikollok l-istokk info minn Yahoo! U allura inti tagħmel string kbir li jgħid, OK, dan huwa l-messaġġ li nixtieq juru fuq l-iskrin. U allura inti tpoġġi dak il-messaġġ ġewwa ta 'xi element HTML li gets murija fuq l-iskrin. Allura dak kollu li qed jiġri hawn. Allura bażikament, minħabba li din hija kollha JavaScript u inti m'għandekx bżonn biex imexxu aktar PHP, dan se tagħmel ċert li l-paġna ma jġedded. Allura dan huwa biss idea astratta li jien qal hawn għal issa. L-idea astratta hija li jekk inti tagħmel dan kollha fl JavaScript, inti ma għandekx jġedded il-paġna. Imma kif taħseb fil-fatt jagħmlu dan? Well, attwalment, ejja nitkellmu dwar problema ma 'din l-ewwel. A problema hija fl JavaScript, eżekuzzjoni hija sinkroniku. Allura inti għandek tistenna għal wieħed linja biex jintemm qabel ma tesegwixxi l-linja li jmiss. U jekk dak jien ser fuq Yahoo!, u servers tagħhom huma verament bil-mod, u hija tieħu minnhom tliet sekondi biex tagħti me back li info istokk? Meta I hit li linja tal-prezzijiet, jekk il- eżekuzzjoni hija sinkroniku, kif huwa bl- Konvenzjonalment, liema huwa biss ser tagħmel hu li browser tiegħek ser stall għal tliet sekondi. U int mhux ser ikunu jistgħu jagħmlu xejn filwaqt li jiġrilha li data. Li għaddej biex jiġu ffriżati. U li bad. Inti ma tridx lill-utent biex jkollhom web page iffriżat. Tikkoreġi? Li jinsab biss bad. Kulħadd jaqbel? Jekk int browsing Facebook u tiffriża u inti ma tistax tagħmel xejn, inti jiksbu verament frustrati. Sabiex is-soluzzjoni hija li nagħmlu xi ħaġa mhux sinkroniku minflok. Allura dan kollu ħaġa mhux sinkroniku jgħid hija, jien ser jistaqsu din URL għal xi data. U allura jien ser jibqgħu għaddejjin. Jien biss ser iżommu eżekuzzjoni kwalunkwe kodiċi li kienet wara dik. U mbagħad kull meta dik id-dejta hija lesta, imbagħad I jipproċessaha. Li kollox huwa qal. UDJENZA: Ajax biss jagħmel kodiċi mhux sinkroniku? JOSEPH ONG: Huwa ta 'mhux sinkroniku mod ta 'data fetching. Allura l-ewwel ħaġa dwar Ajax huwa tikri me tikseb data minn websajt estern. U t-tieni ħaġa hija li tagħmel ċert dik il-paġna tiegħi ma stall filwaqt li jien fetching li data. Dik hija l-parti mhux sinkroniku ta 'dan. Għaliex tmur off x'imkien ieħor, minħabba I say I iżommu għaddejjin filwaqt li huwa fetching li d-data, li jagħmilha mhux sinkroniku. I iżommu esekuzzjoni. Sabiex iżommu dan mhux sinkroniku idea f'moħħu. U jien ser nuruk dak li id-differenza hija. Il-verżjoni sinkroniku fuq in-naħa tax-xellug. Il-verżjoni mhux sinkroniku huwa fuq il-lemin. Ħares lejn il-numri biex tara li passi jikkorrispondu għal dak tesegwixxi f'kull linja. Hemmhekk, l-allert turi up ewwel. Minħabba jkollna info istokk mill Yahoo! jieħu tliet sekondi, tilari għal tlett sekondi. U allura allerti li l-prezz wara dawk it-tliet sekondi. Allura Issa, li juri twissija up dak iż-żmien - tliet sekondi pulzieri U allura allerti minn wara dik. Allura hija biss tmur pass pass. Huwa simili dak li inti guys jaċċettaw, korretta? Bil-eżekuzzjoni mhux sinkroniku, inti allert ewwel. Imbagħad inti tmur off għal dan il-URL. U inti tgħid, jien ser staqsi għad-data. U allura jien ser proċess aktar tard. Allura immedjatament tesegwixxi l- linja li jmiss wara I jagħmlu dik talba mhux sinkroniku. Allura 0.001 sekondi, inti tara hi twissija. Tesegwixxi dik il-funzjoni, bye allert. U minħabba I għamel wegħda li I se jipproċessaw id-data aktar tard, liema jiġri huwa meta dik id-data taqa 'lura tliet sekondi wara, allura I run li funzjoni li għandi hemmhekk. Iva? UDJENZA: Tista 'tispeċifika jew tiċċara dak Ajax jfisser? JOSEPH ONG: Allura Ajax huwa mod li jekk I bżonn data meta jien fuq websajt u I Ma rridx li jġedded il-paġna, allura I jużaw din it-teknoloġija msejħa Ajax. Dan essenzjalment ifisser biss, imorru jġibu data minn sit ieħor. U tagħmel dan b'mod li biss ma stall page web tiegħi. UDJENZA: Allura huwa li inerenti parti ta 'JavaScript jew jQuery? JOSEPH ONG: Allura xi ħadd kiteb mod kif tagħmel dan JavaScript żmien twil ilu. Fil-punt wieħed, ma kinux jeżistu. U hekk xi ħadd ivvintat din it-teknika biex jippermetti persuni li jitolbu din id-data b'dan il-mod. U li kiteb xi għalf biex tagħmel dan għalik. U jQuery biss jagħtik dan mod sabiħ ħafna biex jagħmlu dan ma 'dan $. tikseb funzjoni. mistoqsijiet? I tista 'twieġeb mistoqsijiet dwar Ajax afterward wisq. I ser tkun hawn. Għalhekk ejja us jġibu data mingħajr iġjeniċi il-paġna. U ejja nagħmlu dan fil- b'mod asinkronu li ma friża il-paġna. Twil wisq, ma taqra jekk dik Spjegazzjoni kien twil wisq għalik. Allura finalment, cross-site attakki scripting. Rajna dan ma Zamyla. Jekk xi ħadd database tiegħi għandha dan l-isem, li huwa dan il-tikketta iskrittura, u I jkollhom xi kodiċi fuq il-paġna tiegħi li prints l-ismijiet tan-nies fil-filliera, jew għandi xi kodiċi JavaScript li inserts dan l-isem fil-paġna, dak HTML gets prodotta? Well, I jistampa l-tikketta HTML. I jistampa dawn it-tags kollha. I jiksbu l-parti fejn jien istampar out mal-ħbieb tiegħi. I jistampa Lauren out. Hija jistampa Milo out. U mbagħad isem tiegħi fid-database huwa b'kitba post istatus Facebook unflattering. Minħabba I jiddaħħal dan fil-paġna għaliex jidher qisu JavaScript, meta din il-paġna gets mibgħuta lill-utent, jiġrilha esegwiti bħala JavaScript. U hekk dan huwa dak li nsejħu attakk scripting cross-site. Xi ħadd ipoġġi informazzjoni malizzjużi fil database tiegħek li jistgħu jikkorrispondu għal xi string addizzjonali jew xi string JavaScript. U meta jiġrilha stampata lill- paġna b'dan il-mod, allura dak jiġri huwa li kodiċi ħażin gets esegwiti li jien ma riditx għaliha biex tikseb esegwiti. U li kollox lista ta 'sit cross attakk scripting huwa. U l-mod kif inti tikseb madwar dan huwa simili Zamyla qal. Inti biss wrap affarijiet Chars speċjali HTML. U dan HTML Chars speċjali huwa PHP funzjoni li se jipprevjeni dan it-tip ta 'ħaġa jiġri lilek jekk għandek malizzjuż string tiegħek fid-database. Huwa biss taħrab dan, b'tali mod li ma nikseb interpretat bħala HTML. Huwa jissostitwixxi l-parentesi ftit ma 'dak li nsejħu l-entitajiet. U aħna marru fuq dan lecture wisq. So I think inti guys għandu jkollhom ħakma tajba fuq dan. Mistoqsijiet? Iva. UDJENZA: Allura kif kieku il-[inaudible]? JOSEPH ONG: Jgħidu li għal darb'oħra. UDJENZA: Kif tista 'l-monitor - JOSEPH ONG: Dritt. Allura għandek xi ħaġa li tgħid, meta I reġistru, it-tip fl-isem tiegħi. I biss tip il-qasam, jien jisimni stript Facebook post unflattering istatus tag iskrittura qrib. U li biss gets tqiegħed fil- database, għaliex ma nistax ngħid xi ħadd fid-dinja ma jkollux isem bi vleġġa xellug fiha jew il- iskrittura kelma fiha. Dan ma verament jagħmel sens. So I biss għandhom jagħmlu ċert li I sanitize l-għalf qabel I jistampaw biex il-paġna. UDJENZA: Allura l-karti speċjali HTML jimpedixxi l-tags iskrittura? JOSEPH ONG: Yeah. Allura ma timpedixxix l-tags iskrittura. Hija biss jagħmel ċert li l- tags iskrittura ma jsibux interpretat bħala HTML jew - yeah. Hija biss taqa up bħala dak li fil-fatt hu. Kull dritt. Allura li kien ir-reviżjoni kwizz. Kessaħ. [Applause]