JASON HIRSCHHORN: Karibu, kila mtu, kwa wiki 10. Hii ni wiki ya kusisimua kwa sababu kesho ni Quiz 1, ambayo sisi kupata katika pili. Leo katika sehemu, sisi ni kwenda juu ya baadhi ya rasilimali kwa ajili ya jaribio, na kisha nitajibu yeyote na wote maswali guys na. Na sisi hatimaye kuishia na baadhi ya matatizo mazoezi. Tunaweza kutumia sehemu nzima kujibu maswali. Tunaweza kutumia sehemu nzima kwenda juu ya matatizo mazoezi. Sisi tu kupanua kujaza nafasi na wakati tuna. Basi, mimi kuweka orodha hii juu ya kila wiki, lakini ni muhimu hasa wiki hii. Kwa ajili ya kusoma, kama una si ilianza tayari, oh mvulana. Lakini pengine umeingia tayari. Na wewe ni kwenda kupitia vifaa na rasilimali waliotajwa hapa. Napenda sana kupendekeza idadi ya hawa. Hasa, maelezo ya hotuba ni incredibly muhimu na kusaidia. study.cs50.net hutoa primer kubwa juu ya mengi ya mada sisi mifuniko. Pia ina baadhi kubwa mazoezi ya matatizo. Na kisha, Google ni kubwa, pia. Sijui nini d kuitumia kwa ajili ya. Lakini kutumia Google, kama vile. Kufikia nje na mimi kama una maswali, maoni, au wasiwasi. Kuangalia juu ya mapitio ya kikao cha slides kutoka jana usiku. Au, kama una muda fulani, kuangalia video. Wao kutoa mengi ya manufaa vifaa na habari. Na kujaribu na kufunika kama si wote, wengi wa mada tumekuwa kufunikwa na kwamba ili kuona juu ya jaribio. Akizungumza ya jaribio, kwamba itakuwa kesho. Ni dakika 75 kwa muda mrefu. Wengi wenu ni kuchukua saa 1 usiku, na baadhi yenu ni kuchukua saa 5:30. Kwa wakati wewe ni kuchukua na eneo wewe ni kuchukua, kuhakikisha wewe kuangalia nje ya hati juu ya homepage CS50.net. Kumbuka kwamba unaweza kupata moja 8 1/2 na 11 karatasi ya kuchukua na wewe. Mara nyingi, watu wala kutumia hii karatasi wakati wote wakati wa jaribio. Lakini kwa kweli, ni incredibly kusaidia utafiti chombo. Hivyo kuweka pamoja karatasi kwamba ni nini Mimi alitumia pengine saa tatu au nne kufanya wakati mimi nilikuwa kusoma kwa CS50, na kwamba alikuwa kwa urahisi zaidi na manufaa njia ya mimi kujifunza kwa jaribio. Hivyo hata kama una baadhi ya watu wengine utafiti viongozi kuangalia na kutumia kama rejea, mimi sana kupendekeza kufanya utafiti yako mwenyewe mwongozo, kuweka mambo ambayo pamoja. Hiyo inasaidia kujifunza yote ya nyenzo. Mwisho lakini si mdogo katika sehemu hii, baada ya jaribio kesho kuna mtu zaidi hotuba - Jumatatu ijayo. Kuna moja zaidi sehemu, si ijayo Jumanne mbele ya Shukrani, lakini Jumanne baada ya hapo. Tutaweza kuwa na mkutano pamoja kwa ajili ya fainali goodbye chama na pia kufanya baadhi ya baridi mambo ya kupata wewe guys msisimko juu ya masomo zaidi katika sayansi ya kompyuta. Kuna mradi mmoja zaidi, moja zaidi haki, moja zaidi hackathon. Sisi ni inakaribia mwisho wa CS50, ambayo ni ya kusisimua - lakini pia, kama wewe ni kama yangu, kidogo kusikitisha. Kabla ya kusonga mbele, haina mtu yeyote kuwa maswali yoyote juu ya nini tumekuwa kufunikwa hadi sasa? OK, vizuri hebu kwenda juu ya baadhi ya maswali kwa kuwa kwa jaribio na mada tupate cover. Hivyo hii ni orodha kwamba mimi kuweka pamoja. Ni kwa maana hakuna kamilifu, lakini hopefully jog kumbukumbu yako kama wewe na baadhi ya maswali kuhusu yoyote ya hizi mada, au kama una maswali kuhusu matatizo mazoezi kutoka Quizzes katika miaka ya nyuma. Mimi nilikuwa na maswali kadhaa waliokuwa yaliyopelekwa kwangu, lakini nataka kushikilia mbali juu ya wale ajili ya pili. Je, mtu yeyote una maswali yoyote, matatizo hawakuelewa, majibu hawakuelewa kupata sisi kuanza? Avi. Watazamaji: Je, unaweza tu kwenda juu DOM na Ajax kweli haraka? Kama, nini tunahitaji kujua au lazima kuelewa juu yao? JASON HIRSCHHORN: Mimi kwenda kujibu ujumla swali hili, nini mimi unahitaji kujua kuhusu kutokana na mada x? Kwa sababu mimi kuwa wengi hisia ya ninyi ni kwenda kuuliza mimi kwamba, au ni curious juu ya hilo. Hivyo kiasi kwamba mada ilikuwa kufunikwa katika hotuba, au sehemu, au juu ya study.cs50.net, kuweka tatizo, wewe wanapaswa kuwa ukoo na yake. Hivyo huna haja ya kujua kila aina ya tag hiyo inapatikana katika HTML au kila aina ya sifa au mali unaweza kutoa kitu katika CSS. Lakini kama wewe aliona ni katika hotuba mfano, kama wewe aliona ni katika tatizo kuweka, unapaswa pengine kuwa na mazoea pamoja na hayo, hasa mambo aliona katika hotuba. Kwa hiyo tulijadili hati kitu mfano kidogo katika sehemu, zaidi katika hotuba. Unapaswa kuwa na mazoea na kwamba sehemu kubwa ya yake. Na unapaswa kuwa na mazoea na Ajax kwa kiwango sawa. Sisi kamwe kuona incredibly ya juu au mifano ngumu ya Ajax, hivyo wewe si kwenda kuulizwa kufanya kitu incredibly ngumu. Lakini unaweza kuuliza, jinsi gani mimi kufanya wito kwa kutumia Ajax jQuery? Ambayo ni kitu wameweza kuona idadi mara kabla ya, katika kupitia kikao na katika hotuba, na ni mbili-ish tu mistari ya kificho. Hivyo kwamba ni kitu lazima kuwa familiar with. Lakini tena, kwa mada haya yote, kama wameweza kuonekana ni kabla ya, ni haki mchezo. Na sisi kuuliza wewe - ni wazi, sisi ni kwenda kuuliza mambo wewe wewe hawajaona kabla ya. Coding kitu una si kuona mbele. Ambayo si kusema kuwa si kuonekana zana kutatua kuwa tatizo kabla ya. Umeona zana hizo. Kwa mfano, juu ya Quiz 1, kama unahitaji na kanuni strlen. Sisi si kutolewa strlen kabla ya. Lakini unajua jinsi ya kutumia kwa kitanzi, unajua jinsi ya kutumia kama masharti. Unajua jinsi ya kuandika vigezo katika C. Ni kwenda kuwa kitu kimoja hapa. Wewe si kwenda kuulizwa kufanya chochote ambacho si kuona mbele, lakini unaweza kuulizwa, kama, kuweka kitu pamoja katika njia riwaya, au kutatua aina tofauti ya tatizo. Sorry, hiyo haikuwa maalum yako swali, lakini siwezi kujibu kuhusu kila mada moja nini kufanya au hawana haja ya kujua. Lakini pia, sorry, jambo la mwisho juu ya hilo. Sisi kuwa alitumia muda kiasi kikubwa zaidi katika orodha ya kiungo kuliko sisi juu ya Ajax. Hakuwa kutumia Ajax katika kuweka tatizo. Moja ya sifa kuu ya kwamba kuweka tatizo kwamba alikuwa orodha ya kiungo. Na sisi alitumia muda mwingi katika hotuba na sehemu ya kutumia. Hivyo, ni tabia mbaya orodha kiungo kuja zaidi mara nyingi juu ya jaribio kuliko Ajax mapenzi. Au maswali baada ya kufanya na kiungo orodha itakuwa yenye thamani ya pointi zaidi. Hivyo unaweza hakika kulenga na nyembamba katika juu ya mambo ambayo ni zaidi uwezekano wa kuja kwa sababu tuna alitumia muda zaidi juu yao. OK maswali yoyote? Yeah. Watazamaji: Je, sisi kwenda juu ya matumizi ya kazi bila majina katika JavaScript? Mimi nina ni kuchanganyikiwa kidogo juu ya hilo. JASON HIRSCHHORN: Kwa hiyo katika JavaScript - Mimi nina kujaribu kufikiri jinsi mimi inaweza kuandika hii juu ya - hivyo hebu kweli kufungua kanuni hii. Hivyo hii ni kanuni ya kwamba sisi alivyofanya wiki iliyopita. Na wameweza kuona hii kabla ya kama wewe walikuwa hapa katika sehemu wiki iliyopita. Au wameweza kuona kitu sawa na hii kabla ya. Lakini unaweza kuangalia line huu wa kwanza. Hii ni jinsi gani kuanza - kila mtu kuona hili kabla ya. Kama unataka kuweka baadhi ya JavaScript code, kuiweka ndani ya hii, kuchukua unatumia JQuery. Hii ni kusema, si kufanya kitu chochote mpaka hati ya kubeba. Na kisha, Curt, unaweza kuona haki hapa sisi ni kufanya kitu kama hii - kazi wazi paren, imefungwa paren. Kwa hiyo sisi si kutoa hii kazi jina. Sisi si kwenda kufafanua kazi hii zinatakiwa kukimbia na kisha kuiita kundi la mara kwa mara. Sisi ni kusema tu hati hii tayari inachukua kazi. michache ya mambo ya kufanya. Na hatutaki kutumia muda kutoa ni jina au kuokoa kwa kudumu. Sisi tu unataka kukimbia baadhi ya mambo. Hivyo bila majina kazi aina ya mtumishi ajili hiyo. Wakati wewe si kwenda kutumia kitu tena na tena, hivyo huna haja ya kuwapa jina - wewe tu wanataka kutumia mara moja - ungependa tu kusema kazi, kwa mfano, katika kesi hii, na wewe tu kufafanua kitu ambacho unaweza kutoa jina. Kama, sisi inaweza kuvuta kazi hii nje na kuwapa jina na kisha wito kwamba kazi hapa. Lakini hatuna haja ya kwa sababu hatuna wanataka kupoteza muda kutoa ni jina au kupoteza kitu katika jina nafasi yetu. Na utaona kwamba mengi. Kwa mfano, tunaona kwamba mengi katika hii kificho, lakini wameweza kuona hii kabla ya wakati bonyeza kitu - kukimbia aina hii ya maadili. Tunaweza kufafanua kificho kwamba tunataka kwa kukimbia wakati sisi click, katika kesi hii, ID hii, kama kazi tofauti na kisha kukimbia kazi hiyo. Lakini katika kesi hii, sisi ni kuruka tu kwamba hatua na kusonga ndani hapa na tu na kufafanua kila kitu kwamba tunataka kutokea na si kutoa jina. Kwamba bado wanaweza kuwa na akajibu swali lako. Watazamaji: Hapana, ni gani. I mean, mimi nadhani si tu kwa kweli kupata nini itakuwa kazi wakati wote, ingawa. Kwa sababu si kweli kuwa kuitwa. Ni kweli haina jina. JASON HIRSCHHORN: Ni kazi katika maana kwamba ni mfululizo wa hatua, kama bila kuweka katika kazi. Na kisha kwamba ni kwa nini sisi kuwaita ni bila majina kazi. Sisi siyo kwenda kuwapa jina. Sisi siyo kwenda kwa kupoteza kujaribu jina hilo, lakini tunaweza. Anonymous kazi, wewe Daima unaweza kutoa jina. Hivyo kwa mfano, hii code hapa, tunaweza kuweka kanuni hii ndani ya kazi na kisha kuwaita kazi hii hapa. Badala yake, tunasema, sisi siyo kwenda kujisumbua na hiyo. Sisi ni kwenda tu kuandika yote hapa. Ni kama wakati mwingine wewe ni kuandika kitanzi nne katika C - wewe guys tumeona hii kabla - labda wewe ni iterating kupitia forloop ndani ya i sawa na 0. Mimi ni chini ya strlen. Au wewe ni kwenda kwa baadhi safu, unaweza kuokoa safu index i katika baadhi ya kutofautiana. Na unaweza kutumia kutofautiana. Hivyo huna haja ya kuandika upya safu bracket i tena na tena na tena. Na hiyo ni aina ya kama dummy kutofautiana. Ni si kutumikia kusudi sana chochote zaidi kufanya code yako kidogo safi na rahisi kusoma. Sawa kazi hapa. Tu inafanya kuwa rahisi kidogo, lakini functionally hakuna tofauti. Je, hiyo kujibu swali lako? Watazamaji: Ndiyo. JASON HIRSCHHORN: OK .. Mario? Watazamaji: Jana wao mara nyingi kuweka kazi mabano tukio hilo. Je, hiyo inamaanisha kitu? Au ni kwa ajili ya mambo kama kwamba watafanya document.ready tukio kazi. JASON HIRSCHHORN: Tumeona hii, na tena, hayo ni mambo madogo kwamba pengine mimi sitaki kutumia muda sana juu ya. Kwa sababu wakati mwingine sitaki watu kupata freaked nje kuwa hao hawana kusikia kuhusu mambo haya kiasi hicho. Lakini sisi kuongea kidogo kuhusu tukio handlers. Hivyo kitu kinachotokea, na kisha kazi hii ni kunyongwa. Na kisha sisi pia wanataka kujua baadhi ya maelezo kuhusu nini kilichotokea katika tukio hili. Hivyo kufikiri nyuma kuweka tatizo 4. Kwamba pengine njia rahisi ya kuelewa kwamba katika mapumziko nje. Kulikuwa na baadhi ya kanuni - kama tukio lingetokea, lakini tukio hilo maana mambo mengi. Kama inaweza kuwa na maana panya ni clicked, ni inaweza kuwa na maana wewe hit arrow muhimu, et kadhalika, na kadhalika. Lakini ni wote kuokolewa katika hii generic kitu kinachoitwa matukio. Na kisha tunaweza kusema, ni tukio hili jambo hili? Au ni tukio hili jambo hili? Au, ni aina gani kilichotokea na tukio hilo kuwa? Hivyo ndiyo sababu kujenga kwamba variable huko kuokoa maelezo ya ziada juu ya nini hasa kilichotokea kwamba wewe ni kwenda kutaka kutumia katika kazi. Lakini tena, kwamba pengine ni moja ya mambo chini ya muhimu kuwa super familiar with. OK, nini maswali mengine na watu alikuwa, au vitalu kikwazo wameweza yaliyojitokeza wakati kupitia upya? Tutaweza nyuma katika orodha hiyo. Nini kuhusu wakati wa mazoezi ya Quizzes, kama watu wamechukua wale ambao tayari? Ni nini baadhi ya matatizo ambayo tripped nyie up? Mimi najua kwa hakika kwamba mwaka jana Jaribio ilikuwa ngumu kweli. Watazamaji: Je, unaweza kueleza nini Mashambulizi SQL sindano ni? JASON HIRSCHHORN: OK, kubwa. Hivyo kuongelea hii kidogo. Kuna hotuba juu ya usalama. Na tena, kama nilivyoeleza awali, hii ni kando. Lakini utakuwa frustrated juu ya jaribio wakati kusoma baadhi ya wadogo wawili hatua swali, na wewe ni kama, wakati je, mimi milele kujifunza kwamba? Mambo yote hayo katika hotuba wale kwamba hawakuwa unafikiri zinahitajika kujua, au unaweza Gloss juu ya sababu hawakuwa na kufanya na tatizo kuweka, wale kuna uwezekano kuja tena juu ya jaribio. Hivyo, baridi, mambo furaha kwamba wewe tu wazo David alikuwa akiwaambia kwa wewe kufurahia, alipokuwa katika kumwambia kwa wewe kufurahia na kufanya wewe tu kuwa super msisimko juu ya kujifunza kila kitu huko ni kujifunza kuhusu sayansi ya kompyuta. Mambo hayo pia kuja juu ya Quizzes. Kwa hiyo, hata haya mambo madogo kwamba hakuwa moja kwa moja kuhusiana na tatizo lako kuweka, kama nyie ni ukoo na kutoka Quiz 0, pengine kuja. Na hii ni mfano mzuri ya kitu fulani. Hivyo SQL sindano mashambulizi ni wakati kupata taarifa kutoka kwa mtumiaji na unataka kuingiza ndani ya meza kwa kutumia SQL kuingiza taarifa, lakini hakuwa kumsafisha pembejeo kabla ya muda. Hivyo, ni wazi tumeona Kauli SQL. Mimi itabidi kufungua - hebu kwenda - tutaweza kwenda mapitio - Nadhani, ambaye kufunikwa? Nadhani Samala alivyofanya. Ili tuweze kupata - Watazamaji: wapi kupata hii? JASON HIRSCHHORN: Hivyo kama wewe kwenda CS50.net, chemshabongo, na kisha unaweza kitabu juu ya kupata na slides kutokana na tathmini kikao. Lakini unaweza kuona hii ni mfano mzuri ya sindano mashambulizi SQL. Sisi kuchukua baadhi ya taarifa kutoka kwa mtumiaji na wao kutupatia kamba, na kisha sisi wanataka kuingiza kamba kwamba ndani ya database. Kwa ujumla sisi ni kwenda kumsafisha kwamba pembejeo, ambayo ina maana kuna baadhi wahusika kuwa ni ya hatari. Kwa mfano, katika masharti SQL, hizi quotes - quotes moja au quotes mara mbili - maana kitu. Maana mwisho kamba hii hapa. Na hivyo kama user anatoa moja au quote mara mbili, wanaweza kuwa kujaribu safari hadi SQL yako swala na kuingiza baadhi ya mambo mabaya ndani yake. Na kama wao kufanya hivyo, hawakuweza kupata udhibiti wa Mbegu yako au kufanya baadhi ya mambo ambayo hawataki wafanye. Hivyo ndiyo sababu wakati sisi kuchukua SQL maswali, sisi kumsafisha pembejeo kabla ya kuweka katika database, ambayo ina maana sisi kuepuka wahusika hao. Tutaweza kuzungumzia kwamba katika pili. Lakini hadithi muda mfupi, SQL sindano mashambulizi ni kama huna kufanya hivyo - kama huna kutunza pembejeo wao alitoa wewe kabla ya kuweka yako database, wanaweza, kama unaweza kuona chini hapa, kukimbia hoja kwamba, kwa kweli - wao kuweka katika kanuni zao chini hapa na hii line kuchagua chini hapa kuchagua kila kitu kutoka meza bila kujali ya nini password ni kutolewa. Kwa sababu una au 1 ni sawa na 1. Hivyo ni kimsingi, hadithi muda mfupi, njia ya kuchukua juu ya database. swali, basi, kwa ajili yenu guys, ni ambapo katika p seti 7 gani kumsafisha wote pembejeo kwa maswali yako SQL? Wapi hatua kwamba kutokea? Wapi kuzuia SQL sindano mashambulizi kutoka kinachotokea katika p kuweka 7? Yeah. Watazamaji: Crypt? JASON HIRSCHHORN: Kwa hiyo haikuwa Crypt. Sisi hakufanya kufanya hivyo kwa hii tatizo fulani kuweka, lakini hutokea katika kazi swala. Sisi kwa kweli aliandika kwa ajili yenu, na sisi alichukua huduma ya sanitizing pembejeo kwa ajili yenu. Lakini katika miaka ya nyuma, wanafunzi kuwa na aina pembejeo juu yao wenyewe. Katika p kuweka 7, mengi ya wewe - napenda kufungua faili nyingine moja. Hivyo itabidi taarifa juu hapa mengi ya watu, katika kuweka tatizo 7, hakuwa na wito wa kazi hii juu ya masharti. Kazi hii, htmlspecialchars, tena - kamba hii inaweza kuwa na baadhi ya mambo kwamba katika HTML maana kitu kingine. Kama brace, mraba, au pembe bracket maana kitu katika HTML. Na hivyo kama wewe magazeti kwamba nje kwa screen au kama wewe tu kuchukua na magazeti kwamba nje kwa HTML yako, nguvu kwamba kufanya kitu wala kutarajia. Hivyo htmlspecialchars huenda juu ya wale wote wahusika kuwa na maalum mkutano na kuepuka yao. Hivyo anapata kuchapishwa nje kama Nakala unataka kuona, badala ya screwing up HTML yako. Sisi kuitwa kazi hiyo katika header. Na mengi ya watu alisahau wito kwamba kazi katika code walikuwa kuandika. Hivyo, kwa mfano, kama hisa jina na angle bracket ndani yake na alisahau kuwaita kazi hii, angle kwamba bracket inaweza kuwa kutupwa mbali nini HTML yako inaonekana kama. Lakini wito kazi hii kutoroka kwamba hivyo ni kweli Prints nje kama angle bracket na haina kutupa mbali HTML code yako. sababu hiyo tumeona, wakati mwingine, mikwaju kabla ya quotes mbili katika printf line kwa sababu hatutaki quotes mbili chini kamba. Tunataka magazeti yao nje kwa screen. Hivyo hii yote ni wazo moja. Je, hiyo kujibu swali lako? Watazamaji: Aina ya. JASON HIRSCHHORN: Je, na ifuatavyo-up? Watazamaji: Nadhani SQL sindano mashambulizi ina nini na kwamba? Sielewi jinsi mbili ni kuhusiana. Kwa nini wewe kufanya specialchars? JASON HIRSCHHORN: OK, hivyo SQL sindano mashambulizi ni wakati kuingiza baadhi masharti malicious katika mtu wa mpango, na wao tu kuchukua na kukimbia SQL swala kwa kamba wewe akawapa. Kama unaweza kuona hapa chini, kwamba inaweza kuwa tatizo. Hivyo njia kuzuia dhidi ya kwamba ni kuchukua kamba zao kwamba wao kutoa kwako - basi kamba haki hii hapa - na kumsafisha yake. Wewe kuepuka mambo yote ni uwezekano wa tatizo. Hivyo huna kutafsiri yao kama kitu kwamba maana yake ni kitu. Na mfano wa kwamba pamoja na HTML ni kazi hii. Hivyo ni wazo sawa hapa. Na mimi mara tu kuonyesha nyingine mifano ya wakati wameweza kuonekana wazo hili kabla ya. Ya kukimbia pembejeo user kabla ya uchapishaji nje kwa screen au kuweka ndani ya taarifa SQL. Watazamaji: Hivyo katika kesi hii, user ni messing na programu. JASON HIRSCHHORN: Ndiyo. Na wote wa mashambulizi hayo ya usalama, kwamba daima kwa ujumla mtumiaji, au mtu, ni kujaribu kwa fujo na wewe, programu. Na hawa ni njia unaweza kuzuia dhidi yao. Watazamaji: Kwa hiyo mimi na swali juu ya kazi hash. Katika Quiz 1 kutoka 2011, kuna mambo mawili maswali kuhusu hashes upande mmoja. Na mimi mara wanashangaa tu nini kuwa na maana. JASON HIRSCHHORN: OK, ambayo jaribio? 2011? Watazamaji: Yeah. Watazamaji: Quiz 1? Watazamaji: [inaudible]. Hiyo ni kama hashing password. Hiyo si kuweka mambo - JASON HIRSCHHORN: Je, ukurasa ilikuwa ni? Watazamaji: Nadhani ilikuwa ni 9 au 10, au wote wawili. JASON HIRSCHHORN: zote haki, kwenda mbele, Curt. Unaweza kujibu wakati sisi kuangalia. Watazamaji: Nadhani ni kuzungumza kuhusu hashing password. Kama, wakati mtu kuingia ndani ya password, kugeuka kuwa katika jambo encrypted. Hiyo ni password hash, ambayo ni tofauti na hash kazi ambayo unaweka kitu katika meza hash. JASON HIRSCHHORN: Hebu kuona. Ngoja nikuondoe kile wao kutoa kama jibu. Na kisha tutaweza kutembea kwa njia yake. Hivyo Curt alitoa mfano kubwa cha njia moja hash. Wakati tumeona hii kabla, sisi kuchukua password na kugeuka - kumbuka, katika p kuweka 7, mtu anaweza na password kwamba password tu, lakini kisha anapata encrypted katika baadhi kitu kweli kwa muda mrefu. njia moja hash maana yake ni rahisi sana kwenda kutoka njia moja hadi nyingine, lakini ni vigumu sana kwenda kutoka njia nyingine nyuma. Na hivyo unajua, wakati walikuwa kuangalia nywila ya watu katika tatizo kuweka 7, ungependa kuchukua yao - hivyo, kwa mfano, wanasema alitaka kubadili password yao, waombe kwa password yao ya zamani. Alichukua password yao ya zamani. Wewe encrypted yake. Na kisha ikilinganishwa encryptions mbili badala ya unencrypting awali moja, kwa sababu ni kweli vigumu kwenda kwa njia hiyo. Yeah. Watazamaji: Jinsi katika kina gani yetu uelewa wa telnet kuwa? JASON HIRSCHHORN: Kama ni imeelezwa kwa ufupi katika hotuba, tu kwa kifupi akili. Tena, nyuma ya jibu swali Avi ya - mambo zaidi kuja, zaidi ya uwezekano ni wewe kuwa super familiar nao. Kama wameweza tu kuja katika hotuba, hiyo ni sehemu moja. Lakini kama wao kuja katika hotuba, sehemu, na kuweka tatizo, basi pengine kuwa super familiar nao. Kwa hiyo mimi alikuwa swali kutoka mapema kuhusu - ni mara kuanguka 2010 - Quiz 1, hebu vuta up - swali hili mwingi na foleni, ambayo sisi alifanya kutumia kidogo ya haki ya wakati kuzungumza juu katika hotuba, hata ingawa sisi si kweli milele hit katika sehemu. Hivyo swali hili ni kutoa mfululizo amri na kuuliza nini anapata kuchapishwa katika kesi hii. Hivyo hii ni swali nzuri kabisa ambayo yanaweza kuulizwa yenu guys, na kisha guys lazima kuwa na uwezo wa kujibu. Hivyo kwa nini si ukiangalia hiyo kwa ajili ya 30 sekunde, na kisha kama mtu yeyote anataka kupendekeza majibu kwangu, na kisha tutaweza kutembea kwa njia yake. Haki zote, ambaye ana jibu swali 27? Yeah. Watazamaji: Je, ni 1, 2, 3, 3? JASON HIRSCHHORN: Hiyo ni haki. 27 ni 1, 2, 3, 3. Hivyo basi tuangalie jinsi sisi got kwamba. Kwanza, sisi ni kusema, kama s ni foleni, nini anapata kuchapishwa? Hivyo q ni mara ya kwanza, kwanza nje. Tumeona kuwa kabla ya. Tuliona picha ya watu kusubiri Apple Hifadhi kununua baadhi ya bidhaa. watu wa kwanza katika ni watu kwanza nje. mambo ya kwanza katika foleni ni mambo ya kwanza nje. Hivyo kama sisi kushinikiza kitu katika foleni, kushinikiza 1, basi sisi pop 1. Picha tu ina maana ya kuchukua nje. Katika kesi hiyo, tu kuchukua kitu nje. Sisi kuchukua nje kwanza kitu, kwamba ni 1. Hivyo tutaweza kuweka mambo sisi magazeti chini zaidi ya hapa. Hii ni tena katika foleni yetu. Kisha sisi kushinikiza juu ya 2 na 3, na sisi pop mbali Jambo la kwanza. Tena, kwa sababu ni foleni. Ili tuweze kupata 2, kisha sisi kuweka juu ya mwingine 3 na kuita pop tena. 3 yetu ni ya kwanza. Na wakati huo tulikuwa na rundo zima la mambo mengine na wito pop. Lakini tena, kwani hii ni foleni, kwanza katika, nje ya kwanza. Sisi kuchukua nje Jambo la kwanza kwamba alikuwa milele kuweka in Hiyo ni 3 yetu. Na, katika kesi hii, hatuna wasiwasi kuhusu wale wote mambo mengine. Hivyo kwamba ni kama hii ni foleni. Maswali yoyote kuhusu foleni? stack ya tofauti. Ni kifupi tuna nini kwa ajili ya kuelewa stack? Watazamaji: Mwisho, kwanza nje. JASON HIRSCHHORN: LIFO, nadhani. Mwisho katika, kwanza nje. Hivyo tuliona mfano wa stack ya trays katika dining hall. Chochote tray ni juu anapata ilichukua. Na kisha kama trays mwezi ujao katika, wao kupata kuweka juu. Na kisha chochote ni juu ya juu anapata ilichukua. Hivyo wale trays juu ya nguvu chini kukaa huko kwa muda. Katika kesi hiyo, tena, tutaweza kuteka hii nje. Sisi kushinikiza juu ya moja, hivyo mtu ni mara ya kwanza katika mstari. Na sisi pop kitu mbali. Na kuna kitu moja tu huko, hivyo sisi kusonga 1 hapa chini. Kisha sisi kuweka juu ya 2 na 3 na sisi pop kitu mbali. Lakini tena, kwani hii ni foleni - au hii ni stack, badala - sisi kuchukua chochote mara ya mwisho. Chochote ni katika mwisho hutoka nje ya kwanza. Na 3 ni ya mwisho. Hivyo sisi kuweka 3 chini ya hapo, kisha sisi kuweka juu ya mwingine 3 na sisi pop kitu tena. Hatimaye, sisi kuweka juu ya 4, 5, 6, na 7, na hapa sisi pop. Na kwa sababu ni stack, sisi kuchukua chochote ilikuwa kuweka katika mwisho na kuandika kwamba hapa chini. Hivyo sisi kuishia na 1, 3, 3, 7. Je, mtu yeyote una maswali yoyote kuhusu mwingi au foleni, au mfano huu? OK. Hebu kwenda nyuma ya orodha ya mada. Si kwa njia hiyo, kwa njia hii. Ni maswali gani watu wengine na gani? Watazamaji: Mimi si kujua jinsi ya muhimu hii ni, lakini mimi nilikuwa kuchanganyikiwa na tofauti kati ya aina mbalimbali za lugha kama ghafi, ulioandaliwa, kufasiriwa. JASON HIRSCHHORN: Hiyo ni swali zuri. Nadhani ni kiasi fulani muhimu, hivyo hebu kwenda juu yake haraka. lugha kubwa tumeona hadi sasa ni C, PHP, na JavaScript, katika suala ya programu lugha. HTML, kama zilizotajwa, si lugha ya programu. Ni lugha ghafi. Na kisha tuna CSS, ambayo pia ni si lugha ya programu. Tumekuwa pia kuonekana SQL, ambayo si lugha ya programu aidha. Hivyo SQL utapata kuandika maswali kwa database. HTML ni lugha ghafi. Ni amefafanua jinsi mambo muundo. Na CSS utapata style mambo. Kwamba pengine kiwango kwa nini unahitaji kujua kuhusu wale watatu. Lakini ni zaidi ya kuvutia na takwimu nje tofauti kati ya C, PHP, na JavaScript. Hivyo moja ya tofauti kubwa, kama zilizotajwa, ni jinsi gani ni ulioandaliwa, au chochote sawa ni. Hivyo C ni ulioandaliwa. Sisi daima kukimbia compiler. Na kisha ambapo ni makosa yako wakati wewe kukimbia C compiler? Ambapo gani kuonyesha makosa Katika code yako? Jinsi gani unajua kuna makosa katika kanuni yako katika C? Watazamaji: Inaonyesha katika terminal. JASON HIRSCHHORN: Inaonyesha wewe katika terminal kama wewe ni kuandaa. Na kama kuna makosa, ni si kweli kukusanya yake. Hivyo unajua kuwa kuna makosa haki mbali, kabla ya muda, kabla ya hata kukimbia code yako. Bila shaka, ili kukimbia code yako na kupata segmentation kosa, lakini kwamba alikuwa pengine kwa sababu alifanya baadhi silly mantiki kitu. Lakini code yako na kitaalam wote sahihi na kuweza kukimbia. Hivyo C code anapata ulioandaliwa kabla ya muda. Nini kuhusu PHP code? Ambapo na makosa katika PHP code yako? Jinsi gani unajua alikuwa makosa katika PHP code yako? Watazamaji: kukimbia wakati? JASON HIRSCHHORN: Yeah, wakati kukimbia yake, kukimbia PHP code nyuma. Na basi ingekuwa kuonyesha screen. Unaweza kuona baadhi ya mambo ya juu, lakini kisha ungependa kuona, kama, baadhi machungwa, ugly meza. Na hiyo kukupa line ya simu na kusema, blah, blah, blah, mambo haya hawakuwa na kazi. Hivyo PHP ni kufasiriwa mstari kwa mstari na kunyongwa juu ya server. Na kisha matokeo ni alimtuma juu na wewe. Kubwa. Kunyongwa katika line server na line na kisha kutumwa juu ya na wewe. Na kama kuna kosa, kutakuwa na kutuma ninyi makosa, lakini unaweza kuwa na kujipatia baadhi ya mambo kabla ya muda. Hivyo baadhi ya anaweza kuwa kazi, lakini baadaye, baadhi ya mambo wanaweza kuwa na si kazi. Nini kuhusu JavaScript? Wapi unaweza kuona JavaScript makosa? Katika p kuweka 8, wakati got makosa, jinsi gani unajua? Ambapo itakuwa ni kuonyesha up? Watazamaji: Katika console, chini. JASON HIRSCHHORN: Katika console, juu ya chini. Itakuwa pia kukupa line ya simu, na ingekuwa show up juu ya chini. Na JavaScript si kunyongwa kwenye kompyuta. JavaScript alitumwa kwa kompyuta yako, na kisha wakati ni wakati wa kuendesha JavaScript, JavaScript mara kukimbia mstari kwa mstari juu ya mteja, upande wako. Si server, upande mteja. Na vile vile, ilikuwa ni kukimbia mstari kwa mstari. Na wakati ungependa kupata makosa, ingekuwa show up chini. Vile vile kwa PHP, baadhi ya nguvu nitafanya, na kisha unaweza kupata makosa ya baadaye. Pia, kidogo tofauti na PHP, kama got JavaScript makosa - kusema hakufanya haki kanuni kwa ajili ya sanduku tahadhari - unaweza kushika kuendesha programu yako. sanduku macho bila kazi, lakini mpango wako itakuwa nzuri. Labda tu kazi hiyo bila kushindwa. Hivyo kuna baadhi ya kubwa tofauti katika suala la jinsi gani hizi lugha, au jinsi programu code kuandika ni kweli tathmini. Pia kuna tofauti nyingine katika suala la - tofauti kubwa tumeona katika suala la vigezo katika lugha mbalimbali. Basi unaweza mtu yeyote nipe tofauti kati ya vigezo katika lugha tatu? Ndiyo. Watazamaji: Katika C, wao ni madhubuti typed. Katika wengine wawili, wao ni loosely typed. JASON HIRSCHHORN: Na nini maana gani? Watazamaji: Hiyo katika C, una kutangaza aina ya kutofautiana wakati kutangaza variable, kama interbool au char. JASON HIRSCHHORN: Excellent. Katika C, sisi daima alikuwa na kuweka aina ya kutofautiana. Na tunaweza si kweli kuchanganya aina. Unaweza kufanya integer pamoja na kamba. Lakini kama tumeona katika hizi nyingine lugha, kwa kweli unaweza kuchanganya aina, na kamwe kweli na kutoa kitu aina, milele. Hivyo ni jinsi gani sisi kujua mambo ni vigezo katika PHP na JavaScript? Watazamaji: Katika PHP, wao kuanza kwa ishara ya dola. Katika JavaScript, wakati kutangaza yao, unaweza kuwa na bar. JASON HIRSCHHORN: Haki. Hivyo katika PHP, wao kuanza kwa ishara ya dola. Katika JavaScript, wao kuwa na bar, ingawa wakati mwingine si kweli kuwa na bar. Lakini hiyo ni sahihi. Hivyo hiyo ni tofauti kubwa kati ya vigezo. Nadhani wale ni pengine, off juu ya kichwa yangu, kubwa mbili tofauti kati ya hizi lugha tatu. Lakini, yeah. Watazamaji: Na wigo wa C vigezo ni vikwazo kwa braces curly, ambapo wale wengine, ni tu kama, kufa kama ni katika kazi tu, lakini vinginevyo, it's - JASON HIRSCHHORN: Haki. Hivyo wigo wa ni tofauti kidogo katika C. Kama unakumbuka, braces curly kufafanua wigo wa vigezo. Hivyo kama ni ilipewa ndani ikiwa hali, ambayo ni ndani kwa ajili ya kitanzi, variable tu ipo huko. Katika JavaScript, kama variable inaelezwa ndani ikiwa hali - ndani kwa ajili ya kitanzi - kutakuwa na kuwepo kwa kazi hiyo, lakini haipo nje kazi hiyo. Hivyo wigo wa ni kidogo rahisi zaidi katika JavaScript na PHP. Hiyo kujibu swali? OK, maswali yoyote? Tunaweza kufanya dakika nne zaidi ya maswali, kisha tutaweza kuruka ndani ya coding. Watazamaji: Je, sisi kwenda katika Ajax na majadiliano juu ya kile ambacho ni? JASON HIRSCHHORN: Majadiliano na Avi baada ya. Aliuliza swali kwamba hapo awali. Watazamaji: mbaya wangu. JASON HIRSCHHORN: Hakuna wasiwasi. Watazamaji: Ni nini hasa ni JSON? JASON HIRSCHHORN: JSON ni nini? Nini swali lako? Watazamaji: Just kweli haraka, tofauti kati ya magazeti na echo katika PHP. JASON HIRSCHHORN: Kwa nini si google tofauti kati ya magazeti na echo? Kidogo tofauti. Si kwamba kubwa ya mpango huo. Lakini unapaswa dhahiri google ni, na kwamba nitakupa jibu nzuri. JSON, pengine kubwa ya mpango huo. Anasimama kwa JavaScript Object nukuu. Na lini sisi kuonekana JSON zikitumika? Wakati umeona - kwa nini hata kujua neno JSON? Wakati umeona hivyo? Watazamaji: Wakati sisi kupata hisa ananukuu kwa fedha. JASON HIRSCHHORN: Hivyo wewe aliona wakati walikuwa kupata hisa ananukuu kwa fedha. Na kwa nini unaweza kuona ni? Watazamaji: Wakati tulipokuwa kurejesha taarifa zote kwamba alikuja katika muundo huo. JASON HIRSCHHORN: Hivyo wewe bila kupata - yeah. Kwenda mbele. Watazamaji: [inaudible] habari nje ya kitu chote? JASON HIRSCHHORN: Wote wale kuweka pamoja ni jibu sisi ni kuangalia kwa. Unataka habari kutoka hii webpage nyingine. Na wewe bila matumaini kwamba wakati uko kupata taarifa kwamba, itakuwa iliyotolewa na wewe katika baadhi ya aina ya sanifu format. Kila mtu pengine ni ukoo na maadili ya comma-kutengwa. Unaweza kuuza nje Excel spreadsheet au aina yoyote ya spreadsheet kama orodha ya maadili comma-kutengwa. Na koma kugawanya nyanja mbalimbali. JavaScript Object nukuu - JSON - ni aina nyingine ya sanifu layout ya mambo. Na kwamba ni mara nyingi jinsi sisi retrieve habari kutoka maswali yetu Ajax. Hivyo katika kesi hii, tulipata ni kutoka Yahoo tovuti. Wao kurudi mambo kwa sisi katika JSON kitu. Na kisha sisi kujua, kwa sababu ni kiwango, nini ni kwenda kuangalia kama. Ili tuweze iterate kupitia safu hiyo kurudi kwetu, safu ya vitu kwamba ni kurejea kwetu. Sisi pengine haja ya kujua funguo, lakini kwa ujumla kukupa nyaraka katika tovuti wakati wewe ni kuchota baadhi JSON nukuu kwa ajili yao. Kadhalika, unaweza JSON encode kitu. Hivyo kuna kazi JSON kusisitiza encode. Na hivyo unaweza kuchukua kitu kwamba umeunda, JSON encode, na kupita juu ya kitu fulani mwingine, kama unataka. Na JSON Decode pia lipo kwa ajili ya kusudi sawa, au kwa kinyume kusudi. Watazamaji: Je, tunahitaji kujua coding kwa ajili ya mbao hash na inajaribu? Au je, tunataka tu haja ya kuelewa jinsi re kutumika, conceptually? JASON HIRSCHHORN: Kwa hiyo, kunyanyua mkono wako kama alivyofanya hash meza kwa p kuweka 4 na orodha ya kiungo. Au p kuweka 5. Ili kwamba ilikuwa idadi kubwa ya watu. P kuweka 5, 6, ambaye anajua. muda mrefu uliopita. Hivyo idadi kubwa ya alivyofanya hash meza na orodha ya kiungo. Na kwa sababu kwamba pengine zaidi njia ya kawaida, na kwa sababu sisi alitumia muda mwingi kufanya orodha ya kiungo na hash meza, unapaswa pengine kuwa na pretty ukoo na jinsi ya kanuni hash meza na orodha ya kiungo. Na kama unadhani nyuma na tatizo kwamba kuweka, ilikuwa si kweli kwa bidii kama ilivyotarajiwa. Na kulikuwa na mengi chini ya code kuliko ilivyotarajiwa. Napenda kusema unapaswa kujua jinsi ya ya kificho hash meza au orodha ya kiungo. Si kwamba Ningependa kuulizwa kwamba, lazima, lakini ni lazima bila ya shaka tunajua kwamba. Pia, kama wewe kuangalia njia ya zamani Quizzes, kumekuwa na mengi ya maswali juu ya kuandika kazi juu ya orodha ya kiungo au orodha ya mara mbili-zinazoungwa. Hiyo inaonekana kuja kila mwaka moja. Haki kuingiza kwenye orodha ya kiungo, haki kufuta kutoka orodha kiungo, haki kuingiza kwa orodha doubly-wanaohusishwa na kadhalika. Hivyo basi, mimi kuhisi pretty vizuri akisema unapaswa kujua kwamba. Kwa kujaribu, napenda kusema lazima bila ya shaka tunajua jinsi inavyofanya kazi, na labda kutoa baadhi ya pseudocode kwa jinsi na kanuni na kuweka it up. Lakini bila kuwa na jambo baya zaidi katika dunia kama hakuwa na kujua jinsi ya kanuni ni katika C. Itakuwa kubwa kama wewe alijua jinsi ya kanuni katika C, lakini nadhani pengine pseudocode kwa kujaribu ingekuwa kuwa wengi bila haja ya kujua kwa kujaribu. Watazamaji: Kinga ya ziada ya mikopo? JASON HIRSCHHORN: Na sawa na, kama sisi kwenda katika miti binary search, huenda haja - na ve kuonekana katika siku za nyuma, tumefanya mengi ya - unajua jinsi ya binary search mti kazi. Unapaswa pengine kuwa na uwezo wa kuweka moja up katika Pseudo code. Lakini kwa sababu idadi kubwa ya watu hakufanya hivyo juu ya tatizo kuweka, ningesema pengine ni chini ya muhimu kwamba unajua jinsi ya kanuni na kuweka juu ya mti kama hiyo. Maswali yoyote mengine? Pia, tunaweza kuuliza yao katika kama sisi kwenda kwa njia ya baadhi ya matatizo. OK, tunakwenda ya kusonga mbele. Ruka kwamba slide kwa sasa. Akizungumza ya miti, kwamba ni mara ya kwanza swali nina kwa nyie. Kwa sababu hili ni tatizo. Napenda kusema ni uwezekano mkubwa itabidi kupata tatizo kama hii juu ya jaribio yako kuuliza na kanuni baadhi ya aina ya kuingiza, kufuta, search, kwa ajili ya aina moja muundo wa data tumeona. Kuja juu kila mwaka na sisi alitumia muda mwingi nusu ya pili ya hii muhula kwenda juu aina hizi data. Hivyo sasa hivi, nimekuwa inavyoelezwa node katika binary search mti. Na nini Ningependa kufanya ni kutokana na binary search mti kwamba kuanza wakati huu mzizi nyota node, kukamilisha utekelezaji wa kazi chini, ambayo hufanyika kuwa kupata kazi. Na kufanya hivyo pamoja na bila recursions. Basi, mimi nataka wewe uandike kazi mbili. Moja kufanya hivyo kwa kujirudia, moja kufanya hivyo bila recursion. Na wala kudhani kwamba mizizi itakuwa mashirika yasiyo ya null. Hivyo sisi ni kuangalia kwa integer i katika mti kuanzia saa mizizi, na sisi haja kuandika hii recursively na iteratively. Yeah. Watazamaji: Kwa hiyo unataka sisi kurudi kweli kama sisi kupata hiyo, na uongo kama sisi si kupata hiyo. JASON HIRSCHHORN: Je, unajua? Jinsi gani unajua kwamba? Watazamaji: Nilikuwa kuuliza kwanza, lakini mimi nilikuwa kuchukua, kwa sababu anasema bool katika mwanzo wa kazi. JASON HIRSCHHORN: Haki. Ni anasema bool, hivyo mimi hata haja ya kukuambia nini mimi wanatarajia kurudi kwa sababu anasema haki pale. Lakini hiyo ni haki. Kurudi, kweli au uongo. Basi, kabla ya kuanza, napenda kupendekeza, kama wewe ni usio wa kawaida na miti binary search, haraka kuchora picha ya kupata yako akili, kulia. Hiyo pia kukusaidia wakati wa kuandika code yako na kuangalia ni. Tena, pia hawana kiasi kwamba wakati juu ya jaribio kufanya mambo yote kwamba sisi kuuliza wewe kufanya. Hivyo kuandika Pseudo code ni msaada sana. Na sisi kwa ujumla kutoa juu - kama pseudocode ni kikamilifu sahihi, kwamba kwa ujumla 50% ya swali. Hivyo si utawala ngumu na ya haraka, lakini kama wewe andika tu pseudocode na ni sahihi, ni kwa ujumla 50%. Hivyo ningependa daima kupendekeza - kama wewe ni taabu kwa muda, au hata kama wewe ni kujaribu tu na takwimu ni nje - kuanzia na pseudocode. Na hatimaye, kama unaweza kuandika hii wote katika C, ambayo itakuwa ya ajabu. Basi hebu kuchukua dakika tatu kufanya kazi katika mpango huu. Na kisha sisi ni kwenda kuandika pseudocode kwa ajili yake mara moja tu, na kisha tunakwenda kanuni ni recursively na kisha iteratively. Kama una maswali yoyote, jisikie bure kunyanyua mkono wako. Furaha kutembea na kuwajibu kabla ya kuanza kama kikundi. Hebu kuanza, na tunakwenda pseudocode toleo kujirudia ya hii, na kisha sisi kanuni ni. Hivyo kazi ya kujirudia mahitaji ya mambo mawili. Hii inaweza kuwa swali hilo unaweza kuulizwa. Mahitaji ya mambo mawili. Ambao wanaweza kuinua mikono yao na kuniambia mambo gani mawili ya kujirudia kazi mahitaji? Kwa ufafanuzi ina mambo mawili. Ni mambo hayo mawili ni nini? New mikono. Ndiyo, Alden. Watazamaji: Kwa hiyo mimi nina uhakika hasa kama hii ni istilahi, lakini - JASON HIRSCHHORN: Nina furaha wewe ni kuongeza mkono wako. Watazamaji: Ni mahitaji kesi ya msingi, na inahitaji hatua ya kujirudia. JASON HIRSCHHORN: Perfect. Inahitaji kesi ya msingi na kujirudia hatua. Basi nini kesi wetu wa msingi hapa ni nani? Watazamaji: F mzizi ni sawa na sawa null. Sorry, tu katika pseudocode, kama ni null. Mizizi ya mti ikiwa ni null. JASON HIRSCHHORN: Kama mzizi ni null. Hiyo ni bora. Hiyo ni kesi yetu ya msingi. Hiyo ni nini tunakwenda kuangalia kila wakati. Na kesi ya msingi ni Jambo la kwanza kufanya. Kama hit kesi ya msingi, wewe ni kosa. Sasa tunahitaji wito wetu kujirudia, na ningependa kuwa tayari bet sisi haja ya wanandoa kujirudia wito hapa. Kwa sababu ni mti, na sisi inaweza kwenda njia nyingi. Hivyo kama mzizi ni null, sisi ni nzuri. Je, wewe kupendekeza? Na sasa mimi nina kwenda kuanza wito nje juu ya nyie, kwa sababu najua nyie wote tunajua hii. Lakini Annie, kile lazima mstari wa pili kuwa? Nini kama sisi kupatikana? Tufanye nini? Watazamaji: Kama sisi kupatikana? JASON HIRSCHHORN: Au nini lazima kwamba - nipe pseudocode kwa line ambapo sisi kupatikana. Watazamaji: Kama i sawa na mzizi i? JASON HIRSCHHORN: Na kisha tunafanya nini? Watazamaji: Kurudi kweli. JASON HIRSCHHORN: Mkuu. Hivyo kama i ni i - oh, wao ni wote walitoa wito wa i. Kwamba anapata utata. Lakini kama i ni i kurudi kweli. Kwamba pengine ijayo kitu tunapaswa kufanya. Hufanya akili. Sawa, sasa hatujafanya kujirudia wetu simu bado, ingawa, kwa sababu kujirudia wito kuita kazi hii tena. Hivyo kile lazima ijayo mstari wa pseudocode kuwa? Anna. Watazamaji: upande wa kushoto. JASON HIRSCHHORN: Kuwa mahususi, ingawa. Hii ni binary search mti, ili kile haina kuangalia upande wa kushoto litahusisha? Watazamaji: Kwa hiyo node - Samahani, mizizi. Na kisha mshale wa kushoto. Node, node, sorry. Mimi si kusoma vizuri. Ni wito node, sawa? JASON HIRSCHHORN: Ni kuitwa mzizi kwa kuwa kazi, lakini ama njia. upande wa kushoto - yeah? Watazamaji: Kama hana sawa i, kisha sisi ni kwenda kuwaita kazi tena? JASON HIRSCHHORN: Hiyo ni haki. Kama haina sawa i, tunakwenda kuwaita kazi tena. Lakini upande gani ya mti sisi ni kwenda kuwaita kazi tena? Watazamaji: Upande wa kushoto. JASON HIRSCHHORN: Sisi ni daima kwenda kuwaita ni kushoto, ikiwa ni haina sawa yake. Watazamaji: Oh, sorry. Wito juu ya haki. JASON HIRSCHHORN: Tunataka kujua hasa, ingawa - kumbuka, katika binary search mti, kila kitu kwa upande wa kushoto ni ndogo. Kila kitu kwa haki upande wa ni kubwa zaidi. Hivyo si tu - yeah, kwenda mbele. Watazamaji: Kama ni chini ya i, kisha - kama ni upande wa kushoto - JASON HIRSCHHORN: Hivyo kama ri ni chini ya - hivyo kama idadi yetu ni chini ya i, upande gani tunataka kwenda kwa? Watazamaji: Tunataka kwenda kwa upande wa kulia. JASON HIRSCHHORN: Tunataka kwenda - napenda kuchora mti haraka. Kama hii ni 5, hii itakuwa 3. Hivyo kama ri ni chini ya miaka mitano, nini upande tunataka kwenda? Watazamaji: Sorry, ni nini? JASON HIRSCHHORN: idadi yetu ni kidogo kuliko idadi tuko kuangalia hivi sasa. Watazamaji: Oh, kisha tunataka kwenda upande wa kushoto. Yeah. Sorry. JASON HIRSCHHORN: Hasa. Hakuna wasiwasi. Katika binary search mti, kila kitu chini ni upande wa kushoto, mkubwa ni haki. Hivyo kama idadi yetu ni chini ya i sisi ni kuangalia - kwa sababu unaweza kuona katika node, ina i - kisha unataka kwenda upande wa kushoto. Na hii ni moja rahisi. Ni nini mwingine wa mstari wa pseudocode tunahitaji kuandika? Carlos? Watazamaji: Same kitu, wewe tu kubadili kwa zaidi ya ishara na kwenda kulia. JASON HIRSCHHORN: Je, unaweza kusema ni mara moja zaidi? Watazamaji: Kama idadi yetu ni kubwa kuliko i, kwenda kulia. JASON HIRSCHHORN: Excellent kazi juu ya pseudocode. Hebu kufanya hivyo katika kanuni ya kweli. Na tena, pseudocode hii itakuwa pengine kupata, kwa sababu ni sahihi, 50% juu ya swali hili. Lakini pseudocode hii pia inasababisha moja kwa moja, kimsingi, katika kanuni. Hivyo basi sisi kufanya hivyo katika C. Nani anaweza kutoa mimi mstari wa kwanza wa kanuni? Kwa kweli, kwanza, kabla ya kufanya kwamba, ngoja nikuondoe juu ya - Watazamaji: Nina swali. Kwa nini Indent line Mimi niliwapeni? JASON HIRSCHHORN: Kwa sababu Sikuweza kuandika. Mimi sijui. Wewe ni haki. Line kwamba wanapaswa kuwa zaidi ya hapo. OK, hapa ni kazi yetu. Na ngoja nikuondoe juu, pia, tafsiri yetu ya node. Nini kinatokea kama hatukuwa kuandika typedef? Je, mtu yeyote kujua? Watazamaji: Itakuwa si kukusanya. JASON HIRSCHHORN: Ingekuwa kukusanya, yeah. Watazamaji: Je, ni tu kutangaza moja mfano badala ya kuifanya mpya aina unaweza kutangaza nyingi matukio ya? JASON HIRSCHHORN: Kwa hiyo ingekuwa si kujua - ingekuwa si tu kutangaza aina moja. Wewe bado anaweza kufanya mengi ya nodes. Watazamaji: Lakini bila sisi kuwa na kuandika struct node kila wakati? JASON HIRSCHHORN: Hiyo ni haki. Wewe ingekuwa kuandika struct node kila wakati, badala ya node tu. Lakini kwa typedef, unaweza tu kuandika node kila wakati. OK, ambaye haijatoa - yeah, Avica. Watazamaji: Kama mzizi ni sawa na usawa null, kurudi uongo. JASON HIRSCHHORN: Mkuu, na hiyo kesi yetu ya msingi. Ijayo mstari wa kanuni. Mtu ambaye si kutokana na mimi mstari wa kanuni bado? Yeah. Watazamaji: Mizizi arrow i ni sawa sawa na i. Kisha kurudi kweli. JASON HIRSCHHORN: Mkuu. Ijayo line? Yeah. Mtu mwingine? Na kisha unaweza kwenda ijayo. Watazamaji: Else mizizi ya mti ikiwa arrow i ni chini ya i kurudi kazi kuitwa kupata mizizi - JASON HIRSCHHORN: Sorry. Watazamaji: Return kupata mzizi anasema kwa upande wa kushoto comma i. JASON HIRSCHHORN: Hivyo kama ri ni mkubwa kuliko kitu katika mti, tunataka kwenda kushoto? Watazamaji: Hapana, Mimi nilikuwa na kwamba switched. JASON HIRSCHHORN: Ni moja? Watazamaji: Hapana, yeah. Nina chini ya ishara huko. JASON HIRSCHHORN: Haki, kama ri ni chini ya nini katika mizizi - mizizi yetu sasa - kisha sisi wanataka kwenda kushoto. Na ni nini mstari wa mwisho, wewe? Watazamaji: Kimsingi kitu kimoja, ila kubadili zaidi au sawa na chini ya na kushoto na kulia. JASON HIRSCHHORN: Excellent. Je, mtu yeyote una maswali yoyote kuhusu hili? Kwa hiyo baadhi ya mambo mengine ambayo ingekuwa wamekuwa sahihi ni kwamba inaweza kuwa-ltiff. Nadhani, kitaalam, hakuna hizi kweli pia haja ya kuwa na-ltiff. Pia, kuna pengine tu kesi moja hapa chini. Hivyo kwamba pengine kesi yako ya mwisho. Huna hata haja ya kuwa-ltiff. Lakini pengine nzuri ya kuandika yake, kuwa wazi. Yeah. Watazamaji: Hivyo wewe sidhani jaribio - kama sisi kufanya makosa, kwa mfano, katika syntax - syntax makosa kidogo - jinsi gani kwamba kupata kuchukuliwa katika jaribio? JASON HIRSCHHORN: Kwa ujumla juu ya jaribio, ndogo makosa syntax au ndogo makosa style si kupoteza pointi. Hivyo kama wewe alisahau semicolon hapa, itakuwa OK. Kama alisahau karibu mabano hii, kwamba itakuwa sawa. Makosa makubwa syntax kwamba kubadilisha maana ya maadili ya kazi yako kasi, unaweza kupata kuchukuliwa mbali pointi kwa. Au kwa ujumla, grading wewe tu juu ya iwapo au si yako kazi code, hata - si mpango wake sana, na si mtindo wake. Hebu sasa ya kificho iterative toleo la kupata. Hivyo ni kwenda kuwa pretty sawa, lakini kuna hakika ya kwenda kuwa baadhi ya tofauti muhimu. Hata hivyo, pseudocode wetu pengine unaweza kwenda - sisi bado wanaweza kuchukua line moja ya pseudocode na takwimu nini line ni katika kesi hii. Hivyo katika toleo iterative, nini unafikiri, Julia, lazima kuwa mstari wa kwanza? Watazamaji: Tena, katika iterative boolean, unahitaji kuanzisha a kwa kitanzi, sawa? JASON HIRSCHHORN: OK. Watazamaji: Hivyo kwa kama, k, kwa x sawa na 0, x ni chini ya i. Au hakuna, x ni chini ya ukubwa wa mti. JASON HIRSCHHORN: mti. Kwa hiyo sisi si kweli kujua ukubwa wa mti, na sisi si kweli kujua kwa mara ngapi tunaweza kwenda, hivyo nini aina tofauti ya kitanzi ambayo inaweza kuwa bora katika kesi hii? Watazamaji: Kama mwingine? JASON HIRSCHHORN: Kama mwingine hawezi kuwa kitanzi. Basi nini aina ya kitanzi tunaweza tu kwenda mpaka baadhi ya kesi ni alikutana? Nini nyingine tu ya aina ya kitanzi katika C badala ya kwa kitanzi? Watazamaji: Wakati. JASON HIRSCHHORN: Wakati, hasa. Katika wakati kitanzi, wala haja ya kujua jinsi - kitanzi wakati na kwa kitanzi anaweza kufanya halisi kitu kimoja, lakini kitu kizuri kuhusu wakati kitanzi ni hatuna haja kujua jinsi kubwa mti yetu ni. Hivyo sisi ni kwenda mpaka nini? Watazamaji: Mpaka sawa na ukubwa wa - JASON HIRSCHHORN: Naam, ni sana sawa na kesi yetu ya kujirudia. Hivyo - Watazamaji: Wakati mizizi i si gani i sawa. JASON HIRSCHHORN: Hiyo ni kweli karibu. Wakati mzizi i - hebu jaribu hilo. Sidhani [inaudible] ambapo mizizi i haina sawa i. Tupate unahitaji mabadiliko hayo katika kidogo kidogo, lakini inaonekana kuwa kama ni pretty nzuri, kwa sasa. Hivyo tutaweza kufanya hivyo. Pia, kumbuka, hatuwezi kudhani kwa swali. Huwezi kudhani kwamba mizizi itakuwa mashirika yasiyo ya null. Basi je, unafikiri sana Jambo la kwanza tunapaswa kufanya ni? Watazamaji: Just kufanya hivyo kitu kama kabla ya. Mizizi ya mti ikiwa ni sawa na usawa null, kurudi uongo. JASON HIRSCHHORN: Mkuu. Hivyo inaweza kuwa null. Hivyo tunataka kujikwamua ya mara moja. Na kisha tunakwenda kuangalia kama mizizi i gani i si sawa. Kwa hiyo, kusema sisi ni kutafuta katika mti huu kwa 3, mzizi i haina sawa i, sasa tuko katika wakati wetu kitanzi. Tufanye nini unataka kufanya nini? Na tena, ni kwenda kuwa pretty sawa na toleo yetu ya kujirudia. Yeah. Watazamaji: Hivyo wewe d wanataka iterate, au kuendelea chini ya mti kwa muda mrefu kama mzizi si sawa na null. JASON HIRSCHHORN: Kama kwa muda mrefu kama mzizi si sawa na null? Watazamaji: dash mzizi i si sawa na null. Tu mzizi, yeah. Kwa muda mrefu kama mzizi ni si sawa na null. JASON HIRSCHHORN: Kwa hiyo unataka na mabadiliko ya ndani mizizi hii haina sawa null? Watazamaji: Yeah. Watazamaji: Tunaweza kuchanganya haya, sawa? Hatuna haja ya kama, awali. JASON HIRSCHHORN: OK, hivyo kama sisi Don 't - kama sisi kuchanganya yao, hivyo sisi ni kwenda kufanya wakati mzizi haina sawa null, na mizizi ya mti ikiwa hutokea kwa kuwa null katika mwanzo, tunafanya nini hapa chini? Watazamaji: Kurudi uongo. JASON HIRSCHHORN: Mkuu. Hivyo njia zote mbili pengine ingekuwa kazi. Hii ni njia tofauti, na huu unachanganya yake. Lakini tena, kama alivyofanya kwa vyovyote vile, sisi ni si kwenda kuchukua mbali kubuni anasema juu ya jaribio. Lakini hii inaonekana ni nzuri. Hivyo wakati mzizi haina sawa null, ni nini kwanza kitu tunataka kuangalia? Mtu mwingine? Null, nini jambo la kwanza? Watazamaji: Kama ri ni chini ya - oh, mimi nadhani, kama sisi tayari kupatikana katika mizizi. Hivyo kama mzizi arrow i ni sawa na i - JASON HIRSCHHORN: Sorry? Watazamaji: Kama mzizi arrow i ni sawa na sawa na i - JASON HIRSCHHORN: Tufanye nini? Watazamaji: Kurudi kweli. JASON HIRSCHHORN: Mkuu. Na nini hapo? Jeff, nini mstari wa pili wa kanuni? Watazamaji: Kama i ni chini ya mzizi arrow i, kisha mzizi ni sawa na mzizi arrow wa kushoto. JASON HIRSCHHORN: Mizizi ya usawa mizizi arrow kushoto. Hivyo kwamba pengine kubwa tofauti hapa katika hii iterative toleo kinyume na kujirudia version. toleo kujirudia, sisi kuwaita kazi tena. Tutaweza kuwa na kuhuisha mzizi wakati sisi kuwaita kazi mpya. Hapa sisi siyo wito kazi mpya. Sisi ni tu kuongezea tu mizizi katika kazi hii. Hiyo ni bora. Na ni mstari wa mwisho wa code nini? Yeah, Mario? Watazamaji: Else mzizi usawa mizizi kulia mshale. JASON HIRSCHHORN: Sorry? Watazamaji: Mizizi ya usawa mizizi kulia mshale. JASON HIRSCHHORN: Unaweza pia kuandika kitu kama hii? Watazamaji: Mimi sijui. JASON HIRSCHHORN: Huwezi. Huwezi kufanya usawa plus. OK, hivyo hii inaonekana ni nzuri. Mbona sisi tu kufanya hivyo safi it up. Hii inaonekana kubwa, na hii itakuwa kazi. Na tunataka kuvunja nje. Mizizi ya mti ikiwa kushoto alikuwa null au mzizi wa kulia mara null, tunataka kuja hapa. Mizizi itakuwa sawa na null. Tunatarajia kuvunja nje ya kitanzi yetu, na tunatarajia kurudi uongo. Hivyo wakati sisi kuvunja nje ya kitanzi, sisi kurudi uongo. Na tena, wakati kitanzi mara kamili hapa kwa sababu hatujui jinsi kubwa mti yetu ni. Sisi walijaribu kuandika kwa kitanzi, lakini sisi barabara nimepata kufikiri ni jinsi gani kubwa ni kabla ya muda. Yeah. Watazamaji: Kama hii si binary search mti, itakuwa kweli math-y kuandika ni iteratively, sawa? Kama, kama ni mti, lakini si lazima - hivyo ilikuwa si wote ndogo upande wa kushoto, na wote kubwa juu ya haki. Itakuwa vigumu kweli kweli iterate juu yake, sawa? Tunatarajia kuwa na kuokoa kile ilikuwa mapema juu ya mti katika na kurudi nyuma, na mambo kama hayo. JASON HIRSCHHORN: Kama siyo binary search mti, kama ilikuwa ni mti na mambo yalikuwa si yamepangwa kama hii - na sisi barabara mapema wakati Anna ilikuwa kutusaidia kwamba kufanya hivyo sorted inatusaidia mengi - tunataka haja ya, ndiyo, daima kuokoa ambapo tulikuwa hapo awali. Lakini kuna inaweza kuwa mengi ya ambapo tulikuwa previouslys. Kuna inaweza kuwa mengi ya nodes mzazi. Pengine njia bora ya kufanya hivyo ingekuwa kuwa kuweka kusukuma mambo kwenye baadhi aina ya stack au foleni. Wewe kamwe haja ya Kanuni hii kwa sababu ni tatizo ngumu. Lakini kushinikiza baadhi ya mambo kwenye stack au foleni na kisha pop yao mbali, na kisha kutathmini yao. Na kisha kuwa na baadhi ya kitu kingine ambapo wewe ni kweli kuweka nodes, na kisha kuunda hiyo, na kisha kutafuta njia ya hiyo. Hiyo inaweza kuwa njia bora ya kufanya hivyo. OK, maswali yoyote kuhusu tatizo hili? Watazamaji: Hii ni hali ya kuhusiana. Je, sisi kuwa na kulinganisha mara kukimbia kwa ajili ya mbao hash, binary miti search, na kadhalika? JASON HIRSCHHORN: Pengine. Basi hebu kufanya hivyo kweli haraka. Kukimbia wakati kwa hash meza - nini wengine ni? Kisha mti? Watazamaji: orodha ya Link. JASON HIRSCHHORN: OK, hebu kufanya kuingiza. Ni O kubwa ya kuingiza nini juu ya meza hash? Ni mawazo gani wewe ni kufanya? Watazamaji: Wewe ni kuingiza katika mwanzo wa orodha ya kiungo. JASON HIRSCHHORN: Pengine kwanza Dhana ni kwamba hakuna migongano. Kama hakuna migongano, basi wakati kuingizwa ni moja. Kama kuna migongano, na wewe ni kufanya tofauti chaining na kuingiza mwanzoni mwa orodha ya kiungo, kisha kuingizwa ni pia mara kwa mara. Kama wewe ni kufanya meza hash lakini na njia tofauti za kushughulikia na migongano, nini njia tofauti? Nini ni njia mbalimbali ya kushughulika na mgongano katika meza hash? Watazamaji: programu Linear. JASON HIRSCHHORN: programu Linear. Hivyo sisi ni kwenda kuendelea kutafuta kwa ajili ya pili wazi doa. Hiyo si mara kwa mara kuingizwa wakati. Unaweza kuwa na kwenda kwa njia ya meza nzima, ili inaweza kuwa O kubwa ya n. Yeah. Watazamaji: Vinginevyo tu chaining? JASON HIRSCHHORN: Sisi tulikuwa tofauti chaining. Hiyo ilikuwa moja ya kwanza. Hiyo ni nini orodha ya kiungo. jina dhana ni tofauti chaining. Inaweza kuwa aina yoyote ya orodha muundo sisi kutokea kwa kufanya katika orodha ya kiungo. Hivyo tena, kuingizwa kwenye meza hash inaweza kuwa wakati mara kwa mara. Nini kuhusu kuingizwa katika foleni stacker? Watazamaji: Je, si kwamba mara kwa mara? JASON HIRSCHHORN: Ni wakati mara kwa mara. Wewe tu kusukuma juu. OK. Insertion, ni nini wale wengine? On kujaribu? O kubwa ya kuingizwa juu ya kujaribu ni nini? Watazamaji: Length ni mara kwa mara. Urefu wa muda mrefu zaidi - urefu wa neno wewe ni kuingiza. JASON HIRSCHHORN: Sorry? Kusubiri, hivyo nini mimi kusikia? Ulisema - nini kusema? Mara jibu lako, Marcus nini? Watazamaji: urefu wa neno wewe ni kuingiza katika wahusika, kuchukua ni tabia ya kujaribu. JASON HIRSCHHORN: OK, hivyo urefu wa neno. Tutaweza kufanya dhana kwamba ni kamba ya wahusika. Wewe alisema kitu tofauti, ingawa. Ulisema urefu wa muda mrefu zaidi neno. Watazamaji: Hiyo tu mara kwa mara, sawa? JASON HIRSCHHORN: Kwa nini ni kuwa mara kwa mara? Watazamaji: Kama, kama matumizi ya kubwa O nukuu, basi haina kutofautiana kulingana juu ya idadi ya mambo ambayo tayari katika kujaribu. JASON HIRSCHHORN: Hivyo sisi ingekuwa kusema ni wakati mara kwa mara. Ni kuingizwa mara kwa mara, na hiyo ni kwa sababu wazo hili - kusema tuna neno kwamba 45, au neno kwamba 60, kwamba ina idadi mara kwa mara. Na ingekuwa tu kuingizwa katika wakati mara kwa mara. Katika mazoezi ingawa, bila kuwa, wazi, kutokea katika millisecond moja, kwa mfano. Lakini tunataka kusema kubwa O ni mara kwa mara kwa kujaribu. Na kwamba ni mmoja wa wake faida kubwa. Nini kuhusu kuingizwa katika orodha kiungo? Tu generic, yamepangwa kiungo orodha? Yeah. Watazamaji: Mimi nilikuwa na swali. Juu ya mtihani, wao milele kuomba sisi kuingizwa wakati kwamba hatua nne, au kitu? Au ni tu - unaposema kuingizwa wakati ni moja, kwamba tu ina maana wakati mara kwa mara? JASON HIRSCHHORN: Yeah, wangeweza daima kuuliza, ni O kubwa ya n? Big O logi n? N mraba mara kwa mara. Wale ni kweli tu ndio unahitaji kujua. Nini kuhusu kuingizwa kwenye yamepangwa orodha kiungo? Watazamaji: Mimi nilikuwa na swali - swali - JASON HIRSCHHORN: ni jibu gani swali hilo, ingawa? Watazamaji: Ngoja, nini kuuliza? JASON HIRSCHHORN: ni O kubwa ya nini kuingizwa ndani ya yamepangwa kiungo orodha? Watazamaji: Moja? Hakuna kusubiri, No kusubiri, n. JASON HIRSCHHORN: N. Licha ya kiungo orodha. Na kile ambacho swali lako? Watazamaji: Kwa hiyo ungeandika o ya k au o ya 1 kwa - JASON HIRSCHHORN: Oh. Napenda kuandika o ya 1, pengine. Kulikuwa na muundo mtu mwingine data kwamba ingekuwa nzuri. Mti, binary search mti. Nini kuingizwa juu ya binary search mti? Watazamaji: Ingia. JASON HIRSCHHORN: Hivyo, ni nini mbaya kesi katika binary search mti? Hivyo kama sisi kutokea kwa kuanza saa 5, na kila idadi ni kubwa zaidi kuliko 5, kisha sisi tumepewa 5, 7, 9, 11, na kadhalika. Katika kesi hiyo, kimsingi ni tu kiungo orodha, na tunahitaji kuingiza wote njia mwishoni. Hivyo ni O kubwa ya n. Hiyo inaweza kuwa kesi yetu mbaya juu ya binary search mti. Ni wazi, kamwe kujenga binary search mti na 5 katika katikati, kujua 5 itakuwa kuwa idadi ya chini. Lakini inaweza kuwa, kama wewe ni kuanzia mwanzo. Maswali yoyote juu ya hili kabla mimi kuendelea na swali jingine? Hiyo ilikuwa ni swali zuri. Napenda kujua O kubwa ya - Watazamaji: Je kuhusu kutafuta kwa wale nne? JASON HIRSCHHORN: Dhahiri sisi Kwa kutafuta na kuchagua. Sisi walifanya walio kuwa algorithms yote, sawa. Kusubiri, ni kwamba kwa Quiz 1? Ilikuwa kwamba kufunikwa - hakuwa tayari na kwamba swali juu ya Quiz 1? kubwa O Runtime ya kutafuta binary, kuingizwa aina, Bubble aina? Watazamaji: Yeah. JASON HIRSCHHORN: Kama alikuwa na kwamba swali juu ya Quiz 0, ni tabia mbaya wewe si kupata huo halisi swali juu ya Quiz 1. Inaweza kuwa bado vizuri kujua hizo. Unapaswa hopefully kujua gh tayari. Lakini wengine runtimes logarithmic pengine ni vizuri kujua. Mambo ambayo hayakushughulikiwa juu ya Quiz 0. Kama ilivyo kwa haya yote juu ya haya abstract data aina. OK, hebu kusonga mbele. Hii ni moja ya lazima pretty haraka. Na hii ni lugha mpya tuna si kweli kutolewa katika kabla ya. Hili ni swali kuuliza na kanuni katika PHP. Hivyo kufikiria PHP safu chini. Kuandika PHP na / au HTML codes vile kwamba Matokeo mbili safu meza na TFS majina na nyumba. Sijawahi jambo hili kabla, tatizo hili maalum. Lakini hii ni lazima kuwa na mazoea sana kwa nini alifanya katika kuweka tatizo 7. Hivyo napenda kuwa tayari bet utakuwa aliuliza na kanuni kitu katika PHP kwamba ni sawa na nini alifanya katika kuweka tatizo 7. Kwanza, safu ni kwamba maalum. Ni aina gani ya safu hii ni? Watazamaji: associative. JASON HIRSCHHORN: Ni associative safu. Na nini tofauti kati ya associative safu na kitu? Watazamaji: safu kitu ina index integers, na safu associative ni ripoti ya kamba, au kitu kama hicho. JASON HIRSCHHORN: Hivyo safu ya vitu bila kuwa na fahirisi ya integers, lakini kitu ana mashamba. Ina wale majina mashamba kama jina, nyumba, mwanafunzi. Je, una wazo? Watazamaji: Naam, associative safu ni katika PHP, sawa? Na kitu ni katika JavaScript? JASON HIRSCHHORN: Uaminifu, hakuna mabadiliko ya kweli kati ya mbili. Wote wana masharti kama funguo, na unaweza na kimsingi kitu kama thamani. Lugha mbalimbali simu moja kitu associative safu, jambo moja kitu. Hivyo kwa uaminifu, hakuna halisi tofauti, lakini kuna shaka baadhi tofauti syntactical kati ya mbili. Yeah. Watazamaji: Hivyo ni kitu pia kutolewa chini ya kofia kama meza hash, basi? JASON HIRSCHHORN: Ni nini maana, kutolewa chini ya kofia? Watazamaji: Tuliambiwa kwamba associative safu mara kitaalam a hash meza. Hivyo ni kitu pia kitaalam hash meza? JASON HIRSCHHORN: Mimi si kwenda kujibu swali hilo. Mimi itabidi kupata nyuma yenu juu ya hilo. Lakini napenda kufikiria ama ya wale kama hiyo. Lakini, kwa njia yoyote, associative safu na kitu, kwa ujumla, watu kutumia wale suala kubadilishana. Katika kesi hiyo, sehemu ya baridi ni unaweza kutumia funguo. Masharti kama funguo, badala ya rahisi tu idadi. Hivyo nimekuwa kuzungumza juu ya hii kwa muda. Hopefully, baadhi ya watu na kujipatia kuanza juu ya hili. Sisi ni kwenda kuandika baadhi PHP na HTML code, kama kwamba sisi kupata mbili safu meza na TFS majina na nyumba. OK, mimi pia napenda header mstari juu ya meza hii. Hivyo nina kwenda kwa kupata moja kwa moja katika hili. Tunakwenda faili, mpya, na tunakwenda - OK. Je, mimi kuanza meza? Nini tag, Michael, kuanza meza? Watazamaji: Table. JASON HIRSCHHORN: Table. Na kama mimi kufungua tag, nini mwingine Ninahitaji? Watazamaji: kichwa? Au, mimi nadhani, darasa. JASON HIRSCHHORN: Kwa hiyo, sorry. Kudhani kwamba tumekuwa tayari imeandikwa doctab, HTML, mambo ambayo yote. Lakini kama mimi kufungua tag hii meza, nini mwingine nahitaji kuandika? kwa kuhalalisha HTML? Watazamaji: Funga. JASON HIRSCHHORN: Karibu tag. Je, mimi kuandika tag karibu meza? Watazamaji: Dot kufyeka meza. JASON HIRSCHHORN: kufyeka meza, kubwa. Pengine inafanya hisia kuandika wote ya wale pamoja kwa sababu nimepata kufanya hivyo. OK, kama nataka mstari header, jinsi ya kufanya Mimi kuandika mstari header na vyeo? Watazamaji: Je, ni chini ya ya 10 hr karibu - TR, yeah. JASON HIRSCHHORN: TR? Watazamaji: Kisha kitu kimoja, slash, yeah. JASON HIRSCHHORN: OK, na nipe safu mbili. Watazamaji: T D? JASON HIRSCHHORN: OK. Nataka safu mbili. Je, hii nipe nguzo mbili? Jinsi nguzo wengi ni hii? Moja. Basi hebu nakala na kuweka hii. Hivyo kweli, juu ya jaribio, kanuni hii yote kwamba tumekuwa imeandikwa hivyo mbali mara kweli aliyopewa na wewe. Lakini lazima pengine bado kujua jinsi ya kuandika. Yeah. Watazamaji: nyumba yako ni kati ya mbili. JASON HIRSCHHORN: Boom. Ni lazima kwenda kulia huko, sawa? Wito nzuri. Hivyo tena, kanuni hii yote ni kweli aliyopewa na wewe juu ya jaribio halisi. Lakini ni furaha kuandika, na anapaswa kujua namna ya kuandika. Hivyo hii ni wapi unahitaji kuanza code yako. Kwa nini tunahitaji kuandika hapa hapa? Sorry, mimi haja ya kubadili jina la faili hii. Hivyo sisi kuokolewa katika. HTML file, si katika. PHP file. Mambo haya itakuwa na maana kitu katika. PHP file. Hivyo sisi ni katika. HTML file. Jambo la kwanza ni nini Mimi haja ya kuandika? Nataka kuweka baadhi PHP code katika HTML. Watazamaji: PHP, kama karoti mwingine na alama swali PHP, sawa? JASON HIRSCHHORN: Mkuu. Na jinsi gani mimi mwisho kwamba? Watazamaji: Kwa alama ya swali. JASON HIRSCHHORN: Hiyo ni kubwa. Hiyo ni jambo la kwanza mimi haja kama nataka kuweka baadhi ya kanuni PHP katika hapa. Watazamaji: Nilidhani PHP. file inaweza kuchukua HTML. JASON HIRSCHHORN: Yeah. . PHP file wanaweza kuchukua baadhi ya HTML na kuonyeshwa. Hiyo ilikuwa mbaya wangu. Mimi nilikuwa tu kujaribu kuiga nini ilikuwa juu ya jaribio. OK, pole kwa kuwavurugia wewe. Ndiyo, practice.HTML. Sasa sisi ni kwenda kuweka baadhi ya kanuni PHP in Ni nini mstari wa kwanza wa PHP code mimi lazima kuandika? Mimi nina kwenda kupitia safu hii na kufanya hivyo katika meza. Yeah. Watazamaji: Unaweza ama matumizi ya a kwa H kitanzi au kwa kitanzi. JASON HIRSCHHORN: Sawa, nini unataka kutumia? Watazamaji: napenda kutumia kwa kitanzi. Kwa maana, na kisha kufanya ishara ya dola i ni sawa na 0 semicolon dola ishara i chini ya 2. Na kisha semicolon i dola ishara i pamoja na plus. JASON HIRSCHHORN: Je, unajua kutumia 2? Watazamaji: Kwa sababu kulikuwa na mbili arrays associative ndani ya kubwa associative safu. JASON HIRSCHHORN: Kwa hiyo ni jambo kubwa ya si safu mshirika. jambo kubwa tu safu ya kawaida. Lakini wewe ni haki, kuna arrays mbili associative ndani ya safu yetu kubwa. Hiyo ni kwa nini wewe kutumia mbili. Mimi najisikia kukosa raha kuchukua kwamba wao ni 2, hivyo nini njia ya kuandika hii bila kuchukua kwamba wao ni 2? Watazamaji: [inaudible]? JASON HIRSCHHORN: OK, jinsi wala kuandika kwamba? Watazamaji: foreach ishara ya dola TFS au kama dola ishara tf. JASON HIRSCHHORN: OK, hivyo kwa kila TFS kama TFS, mimi nataka, sasa tena, na meza yangu. Hivyo ambaye anaweza nipe mstari wa pili wa kanuni? Watazamaji: Print, na kisha katika Nukuu, bracket tr mwisho bracket, mwisho quote. Mwisho mabano, semicolon. JASON HIRSCHHORN: OK, na nini kwamba anaenda kufanya nini? Watazamaji: Ni kwenda kusema, safu mpya. Ni kwenda kuweka tag kwa safu mpya. JASON HIRSCHHORN: Haki, PHP hii, kama kuongelea mapema - hii PHP ni kwenda kuwa tathmini, na kisha ni kwenda magazeti nje kwa hii file a meza tow, na kisha kuwa HTML itakuwa tathmini. Sisi ni kuiga tu hii HTML tulikuwa hapa. Yeah. Watazamaji: [inaudible]? JASON HIRSCHHORN: Sorry? Ni haki hapa. Kuanguka 2012. Je, si kuangalia majibu, hebu kutatua kwa pamoja. Hivyo sisi magazeti mstari meza. Basi, wewe ni pengine katika swing ya mambo. Nini mstari wa pili code tunahitaji kuandika? Assam, nipe mstari wa pili code. Watazamaji: You haja jina tf ya. Tf wazi mabano alama ya kutaja jina mabano imefungwa. JASON HIRSCHHORN Nipe jina yao. Watazamaji: You haja ya magazeti kwamba. [INTERPOSING SAUTI] JASON HIRSCHHORN: OK, jinsi gani mimi magazeti? [INTERPOSING SAUTI] JASON HIRSCHHORN: mimi kukosa kitu sasa. Nini mimi missing? Watazamaji: You haja ishara ya dola. JASON HIRSCHHORN: Nini mwingine mimi missing? Wote tumekuwa kuchapishwa hadi sasa ni tr. Watazamaji: Karibu tr baada ya yake. JASON HIRSCHHORN: Kwa hiyo, tunahitaji kwa karibu tr baada ya. Ambaye anaona nini sisi ni kukosa juu ya line 16? Yeah, Anna. Watazamaji: You haja ya kufungua td na braces curly. JASON HIRSCHHORN: Na ambapo wala sisi kuweka braces curly? Watazamaji: Around jina tf. JASON HIRSCHHORN: Kama hii? Watazamaji: Yeah. Na kisha kufunga td. JASON HIRSCHHORN: Kama kwamba? Watazamaji: Je, unahitaji mbili quotation alama karibu na braces curly? JASON HIRSCHHORN: Haki hapa? No, unaweza kufanya hivyo. Ili ni kweli kabisa. Yeah. Watazamaji: Kwa hiyo tofauti kati ya kuwa na encatenating na dots, kama matumizi ya dots, utaweza kuwa na alama mbili quotation, kisha dot, kisha dot - JASON HIRSCHHORN: Sahihi. Hivyo ni kusema kuna mwisho njia ya kuandika hii kama hiyo. Nini concatenation operator katika JavaScript? Watazamaji: ishara plus. Alisahau kuweka curly wanakabiliwa na nyuma. JASON HIRSCHHORN: Mkuu. Na kuna moja zaidi line ya maadili ya kukosa. Ambaye anaweza nipe mstari wa mwisho ya maadili ya sisi ni kukosa? Watazamaji: Just halisi kitu kimoja, tu na nyumba badala ya jina. Kubwa JASON HIRSCHHORN: Mkuu. Na syntax yako ni haki hasa kwa ajili ya kupata mambo katika safu mshirika. Hivyo katika jaribio halisi, wewe ni kweli kutokana na hadi hapa. Hivyo kanuni hii ilitolewa na wewe. Wote alikuwa na kuandika yalikuwa haya mistari minne na kumbuka karibu tag meza. You guys kweli alifanya wote na kwamba zaidi. Yeah. Watazamaji: Hivyo itakuwa functionally sawa kama wewe tu alikuwa kwamba wote katika moja kubwa magazeti wito, sawa? Na kisha tu concatenated juu, na kadhalika? JASON HIRSCHHORN: Kama kwamba? Watazamaji: Yeah. Ni tu bila kuangalia vizuri kama ungekuwa kuangalia ni wakati wewe ni ukaguzi hiki kwenye tovuti yako, sawa? JASON HIRSCHHORN: nakubaliana na hilo. Kama mimi kubeba tovuti hii, ingekuwa mimi kuwa uwezo wa kuona hii code PHP, milele? Watazamaji: Hapana JASON HIRSCHHORN: Hapana Na kwa kweli, mimi bila. Watazamaji: Hii si HTML, sawa? Basi unaweza kuwa na uwezo wa - JASON HIRSCHHORN: Kwa hiyo PHP hii ingekuwa tathmini upande server. PHP daima ni tathmini upande server, hivyo wewe ni kamwe na uwezo wa kuona PHP code. Watazamaji: Lakini Ningependa kuwa na uwezo kwa kuona matokeo ya prints. JASON HIRSCHHORN: Haki. Na hivyo kwa uaminifu nguvu si kuweka yote kwenye mstari. Huenda muundo ni nicely kwa ajili yenu, au inaweza kuiweka kwenye mstari mmoja. Wazi. Lakini ndiyo, hatua nzuri. Watazamaji: Jinsi kuja kuna hakuna mwangaza asilia kwa ajili ya yoyote ya amri PHP? Kwa sababu Nakumbuka kuona kwamba. JASON HIRSCHHORN: Kwa sababu ni . HTML faili up hapa juu. Kuna kwenda. Watazamaji: Kama sisi alifanya njia ya awali na kwa tanzi, haki, kama sisi alitaka kupata TFS, ingekuwa sisi kufanya TFS bracket 0 bracket, kisha [Inaudible]? JASON HIRSCHHORN: You ingekuwa - hivyo ni kusema kwa kwa kitanzi, wewe bila kufanya katika dola ishara TFS bracket 1 au i, haki. Au ishara ya dola i karibu bracket na kisha mraba bracket quotes mbili, yeah. OK, bora. Tuna moja zaidi ya haraka moja. Dakika ya saba, hivyo nataka kwenda juu ya hili. Huu ni mfano mwingine. Sisi ni sasa lugha nyingine kabisa. Tuna baadhi ya kanuni HTML. Ni aina ya ndogo ya screen, lakini Mimi nataka wewe kuangalia njia ni kweli haraka, na unaweza mtu niambie, kama ningekuwa kupakia ukurasa huu mtandao, nini napenda kuona kitu gani? Kuelezea kila kitu kuhusu webpage hii. Nuhu? Gani mimi kuona kitu gani? Watazamaji: Kanuni mwishoni mbele ya Google na kujisikia kwa maandishi na a kuwasilisha kifungo. JASON HIRSCHHORN: Na nini itakuwa kifungo kusema? Watazamaji: Kuwasilisha. Oh, search. Mimi nina sorry. JASON HIRSCHHORN: Ni kusema search. Kumbuka, jina. Tufanye nini kutumia jina kwa? Hii sifa jina, nini kutumika kwa ajili ya? [INTERPOSING SAUTI] Watazamaji: Hiyo ni jina lake kwa wakati ni clicked? JASON HIRSCHHORN: Hiyo inaweza kuwa. Lakini je, sisi kwa ujumla kuona - kwa nini ni sisi kutoa hii foleni jina? Kwa nini sisi kuona kwamba? Yeah. Watazamaji: Je, si kwamba kuwa index ya kutofautiana super duniani? JASON HIRSCHHORN: Yeah, kwa ujumla wakati aina hii itakuwa kuwasilisha, na kisha ambapo gani hii kuwasilisha? Nini ukurasa? Nuhu, nini ukurasa gani hii kuwasilisha? Watazamaji: Mimi nina uhakika. JASON HIRSCHHORN wapi inaweza tunaweza kupata hiyo? Wapi kupata nini ukurasa ni elekeza kwa? Nini mstari wa kanuni? Watazamaji: Fomu action. JASON HIRSCHHORN: Hasa. Action. Hivyo elekeza ukurasa search. Search backslash. Ili ni kweli kabisa. Ni njia gani? Watazamaji: Kupata. JASON HIRSCHHORN: Kupata. Hasa. Hivyo sisi kusoma hii. Hii ni kwenda kuwa aina. Uko sahihi kabisa. Mambo mawili juu ya fomu, jina la ukurasa na juu itakuwa Google. Hivyo hapa ni maswali mawili lazima kuwa na uwezo wa kujibu kuhusu ukurasa huu. Kama HTML hii anaishi katika tovuti hii na user pembejeo mdudu katika kifungu hiki shamba haki hapa, nini URL mapenzi user kupata mwenyewe juu ya kuwasilisha fomu? Hivyo tuna haki hii hapa. Mimi nina kwenda nyuma ukurasa huu, ingawa. Mimi itabidi kuandika juu ya sehemu hii ya kwanza. Je, kila mtu kuona zaidi ya hapa? OK, Mario, unafikiri kujua? Nini ukurasa? Watazamaji: backslash search. JASON HIRSCHHORN: Mimi kwenda kwa hoja chini hapa. OK, backslash search swali alama q ni sawa na mdudu. Mtu yeyote kuwa na maoni tofauti? Yeah. Hivyo ni jinsi gani sisi kupata hii? Vizuri, tumeona hili kabla. Na wewe kuja na hili mapema. Wewe walikuwa sahihi, Nuhu hatua kutuambia nini ukurasa tunakwenda. Tunajua pia njia gani. Sisi ni kufanya kupata. Na tofauti kati ya kupata na baada ya ni kwamba kupata maonyesho katika URL na baada ya hana. Basi, ikiwa mimi aliandika makala haki pale katika njia, nini itakuwa tofauti? Watazamaji: Ni ingekuwa tu kuwa slash search. JASON HIRSCHHORN: Ingekuwa tu kuwa kufyeka search. Hakuna juu ya hapa ingeweza kutokea. Lakini kwa sababu ni kupata, URL ni kuonyeshwa kama ifuatavyo. La kwanza tunaona swali na tunaona jina na thamani. Kusema kulikuwa na shamba moja nyingine ya maandishi na Mimi akampa jina la r na mimi pembejeo a thamani, caterpillar. Gani hii sasa kuangalia kama? Mimi shamba moja zaidi maandishi, mimi kutoa Jina la r na thamani ya caterpillar. Watazamaji: Baada ya bar utaweza na Ampersand caterpillar. JASON HIRSCHHORN: Hiyo ni si Ampersand. Watazamaji: Au tu chochote na mfano. JASON HIRSCHHORN: Yeah, no. Wewe walikuwa sahihi, mimi ilikuwa na makosa. Hiyo ni kama g. Watazamaji: Caterpillar. r sawa na caterpillar, sorry. JASON HIRSCHHORN: Je, kuna hakuna r huko? Watazamaji: Hapana, hakuna ni. JASON HIRSCHHORN: Tutazungumzia juu ya kwamba baada ya darasa. Hiyo ni kweli kabisa. Hivyo na ni sahihi. Na kisha unaweza kuwa na wengi wa hawa, na wangeweza yote concatenated pamoja na kuwa na. Ili ni kweli kabisa. Kuna swali moja zaidi. Mchoro HTML huu DOM, kuanzia na hati. Tunaweza kufanya hivyo katika dakika mbili. Tutaweza kufanya hivyo zaidi ya hapa. Nitakwenda nyuma na tovuti hii. OK, sisi kuanza na hati. Nini hapo? Hivyo wakati wewe ni kusoma kwa njia ya - Watazamaji: HTML. JASON HIRSCHHORN: HTML ni ijayo. Sisi ni kwenda tag na tag. Nini baada ya HTML? Watazamaji: Mkuu. JASON HIRSCHHORN: Mkuu. Nini baada ya kichwa? Watazamaji: Title. JASON HIRSCHHORN: Title. Na cheo ina thamani ya Google, lakini mimi si kwenda kwa kuandika kwamba katika kwa sasa. OK, ambapo gani mwili kwenda? Watazamaji: Pia kuja mbali ya HTML. JASON HIRSCHHORN: Hasa. Mwili huja mbali ya hapa. Je, kila mtu kuona ni kwa nini hiyo kesi? Unapaswa pengine kuwa na uwezo wa kufikiri nje hii, pia, hata kama sikuwa na hii nzuri indentation. indentation aina ya anatoa ni mbali, lakini unaweza kuona kwamba tag kichwa ina yamefungwa, ambayo ina maana sisi pengine hawezi kwenda chini hapa. Tunahitaji kwenda nyuma hadi chochote alikuwa na haki kabla ya kichwa tag, au chini ya hiyo. Sisi ni hata kwa tag kichwa. Na chini ya mwili huenda aina. Chini ya fomu, kuna pembejeo mbili. OK. Hayo ni yote Mimi got. Quiz 1 ni kesho. Mimi hivyo msisimko kwa nyie. Ni kwenda kuwa mlipuko huo. Kama una - Watazamaji: [makofi] JASON HIRSCHHORN: Oh kuacha, kuacha. Lakini hakuna, mimi nina kidding. Kama una maswali yoyote, haki baada ya sehemu, mimi itabidi kuwa nje. Kama una maswali yoyote usiku wa leo, kujisikia huru na simu, barua pepe, Gchat, carrier njiwa yangu. Bahati nzuri kesho. Kuwa na ajabu shukrani mapumziko, kama si kuona kabla ya hapo. Na mimi nitawaona baada ya Shukrani Jumanne kwa ajili ya fainali wetu sehemu ya chama milele. Watazamaji: [inaudible]. JASON HIRSCHHORN: Mkuu. OK, Mimi nitawaoneni guys ijayo wiki, au wiki mbili zijazo. Na bahati nzuri kesho.