[Music kucheza] DAVID J Malan: zote haki, kuwakaribisha nyuma. Hii ni CS50. Hii ni ya mwisho wa wiki saba. Na ni mwisho wa scavenger kuwinda na tatizo kuweka nne kwamba unaweza kukumbuka. Baada ya kupona yote ya JPEGs wale wa wafanyakazi, wewe walikuwa changamoto, kama Ningependa, kupiga picha mwenyewe na kama wengi ya folks wale kama unaweza. Tulipata rundo zima la maoni zaidi ya wiki chache zilizopita, Hakika, kabisa haki chache kabla ya saa sita mchana leo, baadhi ya ambayo ni wale hapa, hawakupata hapa in-- inaonekana like-- Annenberg Hall katika masaa ya ofisi, moja hapa katika Lowell Nyumba na Nick. Hapa ni Ramon kuwa hawakupata juu ya simu. Hii ilikuwa katika CS50 chakula cha mchana. Hii ilikuwa Jason Skyping na classmate ubunifu zaidi, ambao alipiga simu kwa njia hii. Sisi hawajui nini hii ilikuwa. [Kicheko] DAVID J Malan: Lakini kwamba thamani gigabyte. Hapa ni Chang, ambaye halisi mbio mbali ya hatua kuepuka kuwa picha moja siku, lakini hatimaye alikamatwa. Hapa ni Nick. Hapa ni Nick. Hapa ni Nick. Na hapa ni Alison chini kwa mashamba. Na Zamyla hata lilipatikana katika ushindani ballroom. Hivyo sisi kwenda kwa njia picha hizi, kufikiri ambao kuwasilishwa zaidi mwanzo, na ujira moja ya tuzo fabulous, kama aliahidi katika spec. Na tutaweza pia kufuatilia kuhusu nafasi hiyo ilikuwa kushiriki. michache ya announcements-- hivyo chakula cha mchana ni, tena, hii Ijumaa saa 13:15. Kama Ningependa kujiunga na sisi, RSVP katika URL hapa. Jason inaonekana tena hapa kutoka moja ya sehemu ya miaka michache nyuma, ambayo kilichotokea kuanguka juu ya Halloween. Na kwa kweli, yeye wamevaa kama pumpkin kwamba mwaka fulani. Kama wewe kuangalia sehemu hii yake kutoka 2011 kifungu nane, kama wewe ni curious, katika CS50.tv, nadhani hii ilikuwa mwaka ambao pampu yake ya hewa alikuwa anafanya kazi. Kama kisha kuangalia Sehemu hiyo katika 2012, utaona hii Jason kiasi deflated, tangu suti tena liweze kufanya kazi, ambayo ni tu kusema Ijumaa hii, kama wewe d kama kuchonga malenge na Daven na Gabe na wengine, RSVP kwa vichwa katika cs50.harvard.edu eneo. Ni ahadi kuwa furaha kubwa. Daven, sisi ni aliiambia, ina kuchonga Pumpkins zote za maisha yake. Gabriel kutoka Brazil hajawahi kuchonga malenge kwa Halloween. Hivyo kuwa huko pamoja nao anapojifunza. Semina, meanwhile-- hivyo itabidi kujifunza haraka kuhusu nini matarajio yetu ni kwa ajili ya mradi wa mwisho, ambayo kimsingi itakuwa kuchemsha chini kwa kubuni na kutekeleza zaidi ya mradi wowote wa maslahi kwa wewe, angalau chini ya idhini na uongozi kutoka mafundisho wenzako. Kuelekea mwisho wa muhula, sisi kuanzisha simu ya semina, ambayo ni madarasa hiari wakiongozwa na wenzake mafundisho na Harvard wafanyakazi, marafiki bila shaka hela chuo, juu ya mada mbalimbali kwamba ni tangential kwa Bila shaka ya mtaala msingi lakini hata hivyo husika, furaha, na tofauti kwa uwezo miradi ya mwisho. Kwa mfano, kwanza, kama Ningependa kujiandikisha, kichwa na kwamba URL huko. Na hii ni lineup kwa semina ya mwaka huu peke yake. Lakini kutambua tuna kadhaa ya semina kutoka miaka ya nyuma, ambayo yote ni wanaohusishwa katika Semina orodha chaguo la tovuti shaka ya. Hivyo kama wewe ni kufikiri kuhusu kwenda nje ya eneo lako la faraja au kuokota baadhi ujuzi mpya, kwa mfano, programu iPhone programu na Swift, lugha mpya kutoka Apple au Lengo-C au Android programu au programu [? kumtambulisha?] balbu mwanga, au yoyote ya mada hapa na zaidi, kuangalia kutokana nje ukurasa wa usajili. Hivyo sisi ilianza na alihitimisha juu ya Jumatatu na kuangalia HTTP. Hivyo haraka refresher-- HTTP, HyperText Transfer Itifaki. Lakini ni nini kwamba kweli maana? Je, hiyo kweli maana? Ni kwamba mkono? Najua wewe ni tu scratching kichwa yako. Lakini unataka kupendekeza nini HTTP ni? Kompyuta Jinsi: watazamaji kuwasiliana na [inaudible]. DAVID J Malan: Mimi amekosa sehemu ya mwisho. Jinsi ya kompyuta kuwasiliana with-- Watazamaji: Internet servrar. DAVID J Malan: Good-- na biashara watumishi, na hasa, servrar mtandao. Kwa sababu wanakumbuka, kuna rundo la huduma kwenye mtandao, baadhi ya ambayo matumizi ya kila siku pengine kati ya mazungumzo na ujumbe, mazungumzo, na mtandao, na barua pepe, na kama. Na HTTP ni tu itifaki ambayo browsers mtandao kusema wakati kuwasiliana na servrar mtandao, na kinyume chake. Na Analog katika dunia ya binadamu inaweza kuwa, Mimi kupanua mkono wangu kuitingisha baadhi nyingine za binadamu na yeye au yeye inatambua kwa kupanua wake au mkono wake vilevile. Ili tu itifaki, seti ya mikataba. Na nini kweli ni mikataba hayo? Vizuri, ni tu majipu chini kutuma ujumbe na kurudi, kama sisi taswira hapa. Na kuna michache ya njia katika ambayo unaweza kutuma ujumbe hizi. Na labda zaidi kawaida inajulikana kama kupata. Na tutaweza kuona tofauti hii kabla ya muda mrefu. Lakini kupata ombi kutoka browser server tu inaonekana kama hii. Ni kundi la Nakala kwamba unaweka ndani ya bahasha virtual. Nje ya kwamba bahasha kwenda vipande michache ya maelezo. Nini mahitaji ya kwenda juu ya bahasha, hivyo kusema, ili kupata ombi kama hii kutoka kwangu mtandao wa kompyuta? Yeah. Watazamaji: anwani yako ya IP. DAVID J Malan: anwani yangu ya IP katika Kutoka uwanja, ili kuzungumza, na bila shaka, mpokeaji anwani ya IP. Lakini katika kesi ya mtandao pakiti, tunahitaji undani zaidi kidogo Ni kutosha tu kutuma bahasha kwa server, sababu kwamba server inaweza kuwa kusikiliza kwa aina tofauti ya biashara ya trafiki. Hivyo kile kingine tunahitaji badala ya mpokeaji IP? Yeah? Watazamaji: Je, ni TCP? DAVID J Malan: Good. TCP-- Watazamaji: mitaani. DAVID J Malan: mitaani, au bandari, kama ni kuitwa. Karibu, lakini bandari TCP idadi. Na kuna kundi la hizi. Lakini hakika ukoo lazima hatimaye kuwa 80, ambayo ni default moja kutumika kwa ajili ya trafiki mtandao. Na mwingine ukoo moja hivi karibuni itakuwa 443, ambayo ni kutumika kwa ajili ya salama ya mtandao trafiki, URLs kwamba kuanza na https. Hivyo hii ni yale yanayoendelea ndani ya kwamba bahasha. Na kupata / tu maana, kutoa mimi default mtandao ukurasa. Nipe mizizi ya ngumu kuendesha gari juu ya kwamba mtandao wa kompyuta. Na hopefully, mtandao server kujibu na, OK na idadi ya 200, ambayo ni haki mkataba akisema, ndiyo, kila ni kweli sawa. Hapa ni ukurasa. aina ya ukurasa wa mtandao ni kwenda kuwa maandishi, lakini zaidi hasa, HTML, ambayo sisi ni juu ya kupiga mbizi tena ndani. Na dot dot dot tu njia, hapa ni HTML. Na hiyo ambapo sisi kuchukua hadithi leo, kweli kuandika HTML, HyperText ghafi lugha, ambayo ni lugha ambayo kurasa za mtandao yameandikwa. Siyo lugha ya programu. Hakuna kazi au loops au masharti. Ni ghafi lugha, pamoja tena kuona leo, kwamba utapata bayana jinsi ya muundo na stylize aesthetically ukurasa wa mtandao. Hivyo hii ilikuwa ni moja na tu ukurasa sisi kweli inaonekana katika, kama ufupi, juu ya Jumatatu. Na taarifa chache salient sifa. Kuna mengi ya wazi angled bracket na karibu angled bracket. Katika kati ya wale angled mabano ni maneno. Na sisi ni kwenda kuanza wito wale maneno ya vitambulisho. Hivyo wazi bracket kichwa na kufungwa bracket kichwa ni wazi na kufungwa vitambulisho, au mwanzo na mwisho vitambulisho mtiririko huo, wa HTML kipengele, kama tutaweza simu yake, kuitwa kichwa. Na jargon hiyo inatumika kwa mwili katika HTML na kadhalika. Na nini ni nzuri ni HTML-- na kwa kweli, tutaweza kutumia muda sana kidogo juu yake, kwa sababu wewe utakuwa wengi tu kufikiri nini makala ina wakati kweli kuwa tatizo halisi kwa solve-- utapata kwamba browser ni pretty bubu. Ni tu kwenda kwa do-- si tofauti a computer-- nini kuwaambia ni kufanya. Na hivyo wakati una wazi bracket HTML saa ya juu sana huko, kwamba kimsingi tu ina maana, hey, browser, inakuja ukurasa wa mtandao imeandikwa katika HTML. Wakati anaona mabano wazi kichwa, hiyo ina maana tu, hey, browser, inakuja kichwa, au topmost sehemu ya mtandao ukurasa wangu. Wakati anaona imefungwa mabano kichwa, kwamba tu maana, hey, hiyo ni kwa ajili ya kichwa. Kusubiri kwa kitu kingine. Na kwamba kitu kingine ni inaonekana itakuwa mwili. Na wakati huna tag, kama una tu hello, comma, dunia, kwamba tu kwenda kuwa maandishi mbichi kwamba hatimaye ni kuonyeshwa katika screen. Sasa, utasikia taarifa pia indentation hapa. Pengine unaweza infer jinsi sisi ni stylizing yake. Kila wakati mimi kufungua tag, hivyo kusema, mimi Indent. Na kila wakati mimi kufunga tag, mimi un-Indent, sawa katika roho kwa braces curly. Na zaidi ya kwamba, mimi nina aina ya kutumia hukumu yangu. Taarifa kwamba Sikutaka kupiga Kuingia ndani ya kwamba tag cheo. Kwa nini? Naam, mimi tu aliamua inaonekana safi kidogo kwangu, binadamu, tu bother kufanya hivyo. Hivyo tena, kuna baadhi ya hukumu wito tu kama kuna katika C au lugha yoyote. Lakini taarifa pia kwamba indentation hii imejikita kwenye mfano wa akili, si kwa zaidi ya magumu. Lakini mti, haki? Kama unafikiri ya mtandao ukurasa, inaonekana iliyoandikwa kama hii, kama kuwa nicely indented kwa njia hiyo, unaweza karibu kufikiri ya mabano wazi HTML imefungwa mabano tag ni kugawa mizizi ya nodi, mti familia style nodi katika mtindo wa miti sisi inaonekana katika Ijumaa iliyopita. Na hakika, tuna juu ya haki hapa nini tutaweza kuwaita DOM, D-O-M, hati kitu mfano, njia dhana ya kusema mti kwamba inawakilisha kwamba HTML. Na taarifa kwamba HTML ina, tutaweza kusema, kama familia mti, watoto wawili. Kushoto ni kichwa. Juu ya haki ni mwili. Na kama mindless mawazo zoezi, kichwa, bila shaka, ana watoto wangapi kulingana na muundo huu? Hivyo moja tu, title-- na kwamba ni kwa nini tuna mshale kwenda kutoka kichwa na cheo. Hivyo ni kama kwamba ingawa mtu katika familia mti alikuwa wa ukoo mmoja tu. Na kisha cheo yenyewe unaweza kuwa alisema kuwa mtoto pia. Kumbuka kwamba HTML alikuwa hello, comma, dunia chini yake. Na nimekuwa tu inayotolewa ndani mviringo badala ya Mstatili tu kufikisha semantically kwamba hata kama ni nodi katika mti, ili kuzungumza, ni aina ya kimsingi tofauti. Siyo tag. Au vizuri zaidi, si kipengele. Ni ya maandishi tu nodi, kama wewe. Lakini hizi ni kabisa holela binadamu makongamano. Hii ni sasa tu njia yangu ya anayewakilisha nini mimi itabidi kama jumla ya mabao kuwaita hati. Na kama kando, jambo katika super juu ya mkono wa kushoto kona, bracket wazi Moderators kumweka doc aina HTML, hii inaonekana kama tag, lakini ni wajinga kona kesi ambapo kwamba ni tu pale, kunakiliwa na pasted zinaonyesha browsers hii ni toleo HTML 5. dunia anaendelea kubadilisha nini mstari wa kwanza wa kanuni katika ukurasa lazima. Hii ina maana ya toleo 5. Hivyo hana kabisa kuangalia kama watu wengine. Haki wote, hivyo pamoja na kwamba Alisema, itabidi sasa kufahamu huu haki hii kijinga tattoo mtu got. [Kicheko] DAVID J Malan: zote haki, na sasa hebu kweli kupiga mbizi ndani ya kufanya kitu na hili. Utasikia kukumbuka wakati huo iliyopita Mimi kufunguliwa CS50 Appliance na mimi alifanya kitu kama rahisi kama kufungua gedit. Na mimi kuokolewa faili hata kwenye desktop-- yangu mahali pa special-- kama hello.html. Hivyo basi mimi kufanya hivyo again-- hello.html kuingia. Na sasa katika faili hili, mimi nina kwenda kwenda mbele na kuiga kile sisi tu saw-- doc aina html Kisha mimi nina kwenda kufanya wazi bracket html imefungwa bracket. Na kisha mimi nina kwenda preemptively kufungua na kufunga tag. Kwa nini? Tu hivyo mimi si kusahau baadaye. Ni tu mazoezi mazuri, kama ufunguzi na kufunga braces curly wote mara moja. Na kisha nini alikuja ijayo? Unaweza kufikiri ya tatoo. Watazamaji: kichwa. DAVID J Malan: kichwa. Na kisha katika hapa, mimi alikuwa na cheo, nadhani. Na cheo ilikuwa kiholela, hello, dunia karibu cheo. Na kisha chini hapa, mwili, ya course-- basi sisi kuifunga tag mwili. Na kisha tu kiasi fulani redundantly, Mimi nilikuwa kitu kimoja chini hapa. Hivyo mimi kudai kwamba hii ni ukurasa wa mtandao. Hii ni kitu ambacho inaweza sasa wanaishi kwenye mtandao, ingawa bila shaka, ni halisi wanaoishi kwenye eneo kazi yangu hivi sasa. Lakini kwa kweli, kama mimi kupunguza gedit, Mimi itabidi kuona kwenye desktop yangu icon yake. Hata ingawa hii ni appliance, unaweza kufanya hivyo juu ya Mac OS bila TextEdit au Madirisha na Notepad hata. Na kama mimi kwenda mbele na click mara mbili kwamba hata, na select-- vizuri, hebu si kuchagua kuwa kwa sababu Chrome si kufungua. Hebu kwenda mbele na kufungua Chrome. Na kisha kufanya amri-O kwa wazi Na navigate kwa desktop yangu na kufungua faili hilo. Hiyo ni jinsi browser kutafsiri HTML, juu hadi chini, kushoto na kulia. Hey, browser hapa HTML. Hapa ni kichwa. Hapa ni cheo. Hapa ni mwili. Na kwa kweli, hii ni jinsi gani ni mithili kwamba ukurasa wa mtandao. Lakini taarifa URL. Hakuna wa unaweza kuvuta up maalum hii ukurasa juu ya Laptops yako sasa hivi, hata ndani ya yako appliance kupitia URL, sababu faili: // inaonyesha ni kweli juu ya mfumo faili yangu, gari yangu ngumu, si zako. Hivyo hii si yote muhimu. Hebu sasa kuondoka kuelekea kutumia halisi mtandao wa kompyuta. Na zinageuka CS50 Appliance ni zaidi ya mazingira ambapo unaweza kuandika C kificho na kukusanya na kukimbia kama tumekuwa kufanya. Ni pia imekuwa kimeundwa na wafanyakazi kuwakilisha kawaida mtandao server kwamba kwenye mtandao, moja kwamba unaweza kulipa kwa au moja kwamba ni katika kinachojulikana wingu. Na ni mbio kiwango bure wazi chanzo programu, kwa mfano, kitu aitwaye Apache, ambayo ni labda bado maarufu mtandao server programu katika dunia kwamba maelfu ya Nje kutumia leo. Na pia hata ina programu kama MySQL, ambayo ni server database kwamba tutaweza hatimaye kupata, ambayo ni tu kusema Siwezi kuanza kutibu appliance yangu kama full fledged kompyuta kwamba mimi si kulipa kwa ajili ya mahali pengine. Ni maisha tu juu ya mbali yangu mwenyewe kwa maendeleo na urahisi makusudi. Basi hebu kwenda mbele na kuchukua fursa hii. Mimi nina kwenda mbele na kufungua dirisha terminal. Na mimi nina kwenda mbele na move-- kweli, kwanza mimi nina kwenda navigate kwa desktop yangu. Kama mimi kufanya ls, kuna hello.html. Na mimi nina kwenda mbele na kuanza kutumia directory mpya tumekuwa si kutumika kabla ya leo. hello.html-- mimi nina kwenda kwa hoja kwa ../vhosts kwa virtual hosts-- zaidi juu ya kwamba katika future-- na kisha katika saraka aitwaye localhost, ambayo ni jina la utani aliyopewa karibu kompyuta yoyote, kama ni Mac, PC, au Linux kompyuta, na kisha hasa katika saraka ya kwamba sisi, wafanyakazi tayari kuundwa kwa wewe wakati wewe kupakuliwa appliance aitwaye umma. Na kama jina lake anapendekeza, kitu chochote Mimi kuweka katika folder hili, katika nadharia, ni kwenda sasa kuwa umma, angalau kwa watu ambao wana moja kwa moja uhusiano na kompyuta yangu. Hivyo sasa napenda kwenda mbele na kufanya cd kwa saraka kwamba huo hivyo siwezi kuona nini kinachoendelea na ls aina. Na kwa kweli, hiyo ni Kitu pekee katika huko. Mimi kudai kwamba sasa kwa sababu mimi kuweka hii faili hello.html ndani ya saraka aitwaye ndani ya umma wa directory aitwaye localhost ndani ya saraka aitwaye vhosts, ambayo shukrani kwa CS50 wafanyakazi imekuwa kabla ya kimeundwa kuwa mizizi ya mtandao wa kompyuta yako, Siwezi sasa hopefully kufanya hivyo. Mimi nina kwenda kufungua tabo mpya. Na mimi nina kwenda si na faili: //. Mimi nina kwenda kutumia halisi http / localhost, ambayo tena, ni jina la utani kwa server yangu mwenyewe. Na kisha mimi nina kwenda kwa nini faili jina, tu kuwa wazi? Ambapo ni hadithi hii pengine ni kwenda? hello.html. Hivyo kwa maneno mengine, nataka sasa hii ni kompyuta yangu mwenyewe, appliance yangu mwenyewe, kama ingawa ni server halisi. Jina la utani wake ni localhost. Lakini kufikiri ya localhost kama kama Facebook.com google.com, chochote. Ni tu jina langu mitaa. Na kisha mwisho nataka ni katika mizizi ya gari ngumu, hivyo kusema, au mzizi wa mtandao wa kompyuta, Ergo kufyeka mbele na kisha jina la faili hello.html. Napenda zoom nje na hit Enter. Na kwa kweli, sasa kuna mtandao ukurasa wangu. Hivyo ni tofauti kidogo. Na ni tu kama aghali. Hii ni toleo la zamani. Napenda kuogopa font nyuma. Hii ni ya zamani. Hii ni mpya. Lakini nini kinatokea kimsingi sasa ni kwamba HTTP ni kuwa kutumika. Hebu kufanya hili kidogo wazi zaidi au, kama wewe, zaidi kidogo ngumu. Napenda kwenda chini kulia mkono kona ya appliance yangu. Na taarifa kwamba yote hii muda, kuna kuwa idadi. Hiyo ni anwani kipekee ya CS50 Appliance yako. Ni anwani binafsi, kama alisema kwa 172.16, ambayo tu ina maana tu kimwili wanaweza kupata server mtandao huu. Kila kitu firewalled na nicely ulinzi kutoka mapumziko ya dunia kwa sababu ya hii akihutubia. Na sasa taarifa ingawa kama mimi kwenda anwani hii, si katika appliance yangu, lakini katika Mac OS-- mimi nina kwenda kwenda nyuma zaidi ya hapa. Hii ni Mac yangu sasa. Na sasa mimi nina kwenda kufungua hili toleo la Chrome hapa. Na mimi nina kwenda kwa http: //172.16.25 / Na mimi kusahau rest-- 133. Hivyo nina kwenda kutembelea kutoka Mac yangu IP kwamba /hello.html kuingia. Na sasa naona kutoka Mac yangu kwamba CS50 Appliance yangu, ambaye ni IP ni kwamba idadi, ni kweli tabia kama server mtandao kwenye mtandao. Haina nzuri rahisi kukumbuka jina kama Facebook.com, lakini ni kwa kutumia HTTP inaonekana, hata kama Chrome ni aina ya kurahisisha dunia kwa ajili yetu lakini si kuonyesha sisi HTTP. Lakini hii ni kweli hasa kwamba. Chrome ni kuokoa baadhi tu keystrokes siku hizi. Na kwamba ni nini sisi sasa kuona. Hivyo kwamba wote faini na nzuri. Lakini ni ukurasa pretty aghali. Napenda kwenda na kufanya kitu tofauti kidogo sasa. Hivyo basi mimi kwenda nyuma gedit. Na badala ya hello, dunia, hebu kuweka picha. Na mimi alidai kutoka before-- niende ndani ya localhost directory yangu ya umma. Na basi mimi kwenda mbele na nakala rundo zima la files kutoka leo kutoka Dropbox folder yangu katika hapa. Sasa kama mimi aina ls, kuangalia katika mafaili yote haya kwamba nimepata kusambazwa na tovuti shaka ya mapema ya leo, moja ambayo bado ni hello.html. Hivyo kuna kuwa moja. Na kukumbuka hii moja silly kutoka mwisho time-- cat.jpg. Hivyo basi mimi kujaribu embed cat.jpg ndani ya mtandao ukurasa wangu. Mimi nina kwenda mbele na kufanya cat.jpg, kuokoa. Napenda kwenda nyuma Chrome. Na napenda kuvuta font na sasa Reload. Lo, ambapo mimi kuweka hii? Standby-- mimi bado wana umri toleo kutoka desktop wazi yangu. Hivyo basi mimi kwenda katika vhost yangu, yangu localhost, umma wangu, na hello.html. Hivyo sasa napenda kwenda mbele na kusema cat.jpg ndani ya mwili ambapo mimi unataka kuwa kuonyeshwa na Reload. Bila shaka, hii si sahihi. Hivyo mimi haja ya kuwaambia browser kidogo makusudi zaidi nini nataka kufanya. Kuandika tu jina ni wazi si ya kutosha. Hivyo kukumbuka kuwa kulikuwa na mwingine tag, picha, img kwa muda mfupi. Hii ni kwa sababu binadamu tu si kama aina kamili maneno. Na kisha tunaweza kufanya chanzo = "cat.jpg". Na sasa mimi nina kwenda kufanya jambo moja tofauti hapa. Ingawa yote ya vitambulisho yetu hivi sasa na alikuwa wazo hili la kuanza tag na tag mwisho, hiyo haina kweli kufanya maana kwa picha, haki? picha ni aidha huko au si huko. Na hivyo binadamu kuwa na kuja up na mkataba rahisi. Wakati una tag kwamba unaweza wote kuanza na kuishia katika time-- sawa inaweza kuwa tupu, hivyo speak-- tu kuweka kufyeka mbele ndani ya tag mwishoni sana. Sasa basi mimi kwenda nyuma browser yangu. Kugonga Reload Damn, kitu kibaya. Ve pengine kuona hii mara kwa mara kwenye mtandao, hata kama ni si makosa yako. Ni kosa mtandao wa kompyuta ya. Nini odes hii wanaonekana zinaonyesha? Ni kuvunjwa. Hiyo ambapo picha ni mwanachama. Yeah? Watazamaji: Lakini haina kupata picha. DAVID J Malan: Ni haina kupata picha. Kwamba, au hata mbaya, labda haina hata kuwepo. Hebu angalia kama hatuwezi kutambua kwamba. Kumbuka kutoka mara ya mwisho kwamba kama katika Chrome, katika appliance, au hata juu ya Mac au PC yako, kwenda orodha Developer na kwenda Developer Tools chaguo, ambayo pengine wameweza si kutumika sana au milele. Na kama mimi kwenda Mtandao na upya ukurasa, hebu kweli kuangalia HTTP maombi ya kuwa ni kuwa alifanya. Inaonekana kama hello.html ni Hakika OK, hivyo 200. Lakini cat.jpg ni 403. Hivyo si 404. Faili pengine lipo. 403 ina maana haramu. Hivyo hii ni utata kidogo. Mimi nina kwenda nyuma terminal dirisha yangu. Napenda kuvuta up hapa. Na napenda kufanya ls. Kuna wale files huo. Sasa basi mimi kufanya ls-l, ambayo umefanya pengine kutumika kabla ya kuangalia faili ukubwa labda au timestamps. Na tunaona rundo zima la habari balaa. Lakini taarifa maelezo ya wachache. Hapa ni hello.html katika hii mstari hapa na hapa ni cat.jpg. Na ni tu appliance kuwa user kirafiki na kuonyesha JPEG ya katika zambarau kama hii. Lakini kile kingine ni tofauti badala ya ukubwa faili na faili jina? Watazamaji: [inaudible]. DAVID J Malan: Yeah, kuna mbili zaidi ya R zaidi ya hapa. Taarifa ya nini hello.html ina kinachoendelea. Hivyo ni zamu nje kwamba jina la hii ya umma directory ni muhimu. Chochote katika orodha hii ni maana ya kuwa umma. Lakini si ya kutosha tu kuacha files katika huko. Wewe pia haja ya kubadili mfumo wa mafaili, kubadili ruhusa ya faili proactively si kuwa mazingira ya msingi, ambayo ni kwamba tu siwezi kusoma na kuandika, mimi kuwa mmiliki. Nataka dunia nzima kila mtu kuwa na uwezo wa kusoma faili yangu, hivyo kusema. Kusoma maana tu kuangalia yake. Na kwa kweli, kama utaona katika tatizo kuweka saba, kwamba ni nini maana hizi R. Maana hizi mbili R basi kila mtu mwingine katika dunia pia kusoma, hasa sasa kwamba ni katika orodha hii. Hivyo njia rahisi ya kurekebisha hii ni kwenda haraka yangu na kufanya chmod kwa ajili ya mabadiliko mode na kisha kufanya + r, kabisa, kila mtu, kila, pamoja na r kwa kusoma, na kisha cat.jpg kuingia. Kitu inaonekana kutokea, ambayo kawaida maana jambo jema. Hivyo ls-l again-- sasa hebu tuangalie cat.jpg. Na ruhusa hii wanaonekana kuwa iliyopita. Kama kando, kama wewe kufanya makosa na wewe, kwa mfano, tu alifanya your-- sijui know-- insha hadharani kupatikana kwa ajali, unaweza kufanya kinyume, chmod-r. Ingawa kusema ukweli, ni lazima si kuwa katika orodha ya umma anyway kama hiyo ya wasiwasi. Hivyo sasa hebu kwenda nyuma browser yangu na Reload. Na mimi nina kwenda click Ghostbusters kidogo ishara ya wazi kuwa sehemu ya screen ili tuweze kuona maombi mapya. Na kwa kweli, hapa ni Grump Cat kutoka kabla. Lakini muhimu zaidi, kitaalam, kuna idadi 200, ambayo ina maana sisi got ni sawa. Haki wote, hivyo kwamba wote faini na nzuri. Lakini sisi siyo kufanya bora ya Nje, wala ni sisi kwenda kujaribu ngumu sana kufanya fanciest ya Nje leo. Lakini hebu angalau kufanya kitu super ukoo kabla rattling mbali chache vitambulisho vingine. Hivyo nadhani hawataki tu paka hapa. Tuseme mimi kwa kweli wanataka hii paka zilizounganishwa na kitu. Mimi ili, kwa mfano kufanya kitu kama hii. a kwa nanga href kwa mfumuko kumbukumbu equals-- na hebu tu kufanya kitu kama www.google.com karibu kunukuu mabano karibu. Na sasa kutafuta paka. Karibu nanga tag. Hivyo hii ina aina moja tu undani wa kimsingi mwezi. tag bila shaka, ni tofauti. Ni jina a kwa nanga href au mfumuko kumbukumbu. Lakini muhimu zaidi, kuna kipengele hiki syntactical hapa. Hii ni nini tutaweza kuanza wito si tag, lakini sifa. Na sifa ni kitu ambacho modifies tabia ya tag. Na hii sifa, href, njia kurekebisha tabia ya nanga hii hivyo kwamba wakati ni clicked, unaendelea kwa URL hii hapa. Na bila shaka, kwamba URL ni Google. Wakati huo huo, ni nini hii Nakala hapa kwenda kuwa? Naam, kwamba kinaendelea kuwa nini binadamu kweli anaona kama pigwa mstari kiungo, rahisi kama hayo. Basi hebu jaribu hii. Napenda kuokoa ni. Mimi bado katika hello.html. Lakini katika matoleo online, utaona majina halisi faili sisi kabla ya tayari. Basi mimi kwenda mbele na Reload. Na sasa ni sana aghali ukurasa bado. Lakini kama mimi hover juu there-- na ni kidogo kidogo, but-- unaweza kuona katika chini mkono wa kushoto kona ya screen yako, ni kweli kwenda google.com. Na kama mimi click kwamba, itakuwa whisk mimi njia ya Google halisi. Lakini taarifa hapa fursa kwa unyonyaji, kama kando. Na tutaweza kuja nyuma nyingine masuala ya usalama kabla ya muda mrefu. Sababu kuna mgawanyiko huu kati ya wapi kwenda na nini kusema, unaweza kufanya kitu kama this-- http://www.google.com. OK, na sasa kama mimi upya baada ya kuokoa ukurasa kwamba, inaonekana kama mimi nina kwenda kwa Google. Lakini hakuna sababu mimi kwenda Google, haki? Mimi inaweza kweli kwenda kitu kama badguy.com, upya ukurasa hapa. Na ilani, bado inaonekana kama Google. Na kama tu mimi nina mkali kutosha hover juu hapa kufanya mimi kuona ni hata kwenda kwenda kwa eneo tofauti. Hivyo kama wameweza milele wamezipata barua pepe, hasa mmoja kutoka PayPal, au inaonekana kutoka PayPal kuuliza wewe kuingia katika akaunti yako, hii ni nini unapaswa kamwe milele click viungo katika barua pepe, kusema ukweli, viungo yoyote katika barua pepe. Kama unajua una halisi fedha katika PayPal au Benki ya Amerika au Fidelity au yoyote tovuti, manually aina yake katika. Kwa sababu ya kuangalia jinsi gani ni rahisi kwa hila mtu katika kuwasilisha kile Inaonekana kama kiungo. Lakini ni kweli inaweza kwenda kabisa mahali popote. Na kuna mbali zaidi vitisho kuliko huu. Kwa kweli, hii ni kidogo ya tangent sasa, lakini moja ya ndio bora nimeziona ambayo tangu kufungwa, ni mtu imesababisha watu to-- hivyo hii anaweza kusema, click hapa kuingia katika yako akaunti, akaunti ya benki. Na hii ilikuwa Benki ya Magharibi. Hivyo mtu kununuliwa hii. Na ni rahisi kidogo kuona katika mono spaced font zoomed katika juu ya projector 30-mguu. Lakini wakati ni font ndogo katika email kwamba wewe ni kupokea, hii inaonekana kama bankofthewest.com, si bankofthevvest.com, ambayo mtu alikuwa kulipwa $ 10 na kununua. Na kisha hii aliwaongoza sawa wa baadhi ya tovuti mbaya. Na utaona too-- kweli tunaweza kufanya this-- kama mimi kwenda kwenye tovuti halisi, bankofthewest.com, tena, wanakumbuka kutoka wakati wa mwisho kwamba kama hii ni mtandao ukurasa yao na wewe ni curious kama jinsi kazi, unaweza shaka kwenda Developer zana Chrome. Na unaweza kuona yote ya HTML nicely formatted huko. Lakini zaidi kwa uhakika, you cam-- hebu kuifunga this-- unaweza kwenda kwa View Developer View Source. Mbona si mimi tu nakala yote ya kwamba Na kisha mimi unaweza kwenda katika kidogo yangu dirisha gedit hapa na kufanya mtandao wangu mwenyewe ukurasa. Ila hii katika hello.html. Na pengine hii ni kwenda kuvunja, sababu si rahisi kwa kawaida hii. Lakini sasa kama mimi upya ukurasa wangu mwenyewe juu ya yangu mwenyewe CS50 Appliance na kugonga Reload, OK, baadhi ya mambo kuvunja. Lakini nina pretty karibu na kuwa na benki yangu mwenyewe tovuti, haki? Yote hii HTML-- [Kicheko] DAVID J Malan: --I hakuwa actually-- na wewe kujua kuna mtu huko nje ambao ingekuwa kweli click viungo hizi pia. Hivyo ni wazi, baadhi ya mambo kuvunja. Lakini hiyo ni kwenda kusababisha sisi katika majadiliano, usiokuwa sasa hivi, kama yale CSS, cascading style, ni, na jinsi wewe kweli download nyingine files HTML na JPEG faili GIF files kwamba tovuti wanaweza kutumia. Lakini yote ya kwamba ni accomplishable. Lakini ni kweli majipu chini hizi rahisi sana heuristics. Hivyo sasa hebu tu skim kwa njia ya mifano michache mingine ya HTML tu kukupa hisia ya kile kingine unaweza kufanya. Kwa mfano, hii ni list.html. Tuseme nilitaka kufanya ukurasa wa mtandao pamoja na orodha ya nyumba katika quad. Mimi wanaweza kutumia ul tag kwa unordered orodha na kisha orodha ya bidhaa mtoto na kisha iterate over-- au orodha, rather-- nyumba katika swali. Na kama mimi kufungua hili, hebu kufanya hili. Hebu kwenda si kwa hello.html, lakini kwa list.html. Damn it. Je, mimi kurekebisha hili? Ni suala hilo ni kama kabla, haki? Hivyo basi mimi kufanya chmod-- oops-- chmod a + r ya list.html. Na sasa kama mimi kwenda nyuma browser yangu na click Reload, huko ni. Hivyo kama wameweza milele alitaka kufanya orodha Vitone, unaweza kufanya hivyo. Kama unataka kuwa super dhana na kufanya orodha kuamuru, si orodha unordered, kubadili wale ol, upya ukurasa, na sasa browser idadi hiyo kwa ajili yenu. Kile kingine tunaweza kufanya? Vizuri, wanandoa wa others-- kama nimepata aya ya muda mrefu ya text-- kwa mfano, baadhi ya Nakala latin kama this-- na unataka katika aya tofauti, p wazi, s karibu kwa aya tag. Na kufanya hivyo tena na tena. Na kama mimi sasa kufungua faili hili, paragraphs.html, vizuri, hii ni kupata annoying. Hivyo sasa hebu tu kwenda nyuma yangu haraka, chmod + r r nyota .html-- nzuri kidogo kadi ya pori hivyo kusema. Ni lazima kurekebisha yote ya matatizo haya kwa ajili yangu. Hebu upya. Kuna aya tatu. Na sasa hebu kwenda mbele na kufungua moja nyingine. Vipi kuhusu meza? Utasikia taarifa inaonekana meza kidogo ngumu zaidi. Lakini ni idea-- sawa tag wazi, tag wazi, wazi, wazi, wazi, karibu tag, tag wazi. Na haya kutokea kusimama kwa meza, ambaye mpaka ni inaonekana itakuwa unene 1-- chochote kwamba mstari means-- meza, meza data, ambayo ina maana kiini. Na kama mimi kwenda nyuma browser yangu hapa na kwenda table.html, unaweza kuona kitu kama hii, hideous. Lakini tutaweza kupata kwa uhakika ambapo tunaweza kweli kufanya mambo prettier kuliko ile. Hivyo basi mimi inasema kwa sasa. Kuna mashada ya zaidi ya vitambulisho. Na HTML ni ajabu kuchukua kwa sababu, kusema ukweli, wote unahitaji kufanya ni kuangalia kurasa za mtandao zilizopo na ambayo wewe ni ukoo. Na wewe ni kama, oh, hiyo ni jinsi walivyofanya hii aesthetically. Au unaweza kuangalia juu ya yoyote online rasilimali na jinsi HTML kazi, na utaona kwamba kuna msamiati mzima wa vitambulisho vingine. Lakini kwa mtindo rahisi ya akili peke kwamba karibu tag yoyote kufungua ina kuwa imefungwa, ni kweli haina inatosha kufundisha mwenyewe HTML baada kuelewa mawazo haya ya msingi ya vitambulisho na sifa na vizuri formedness kwamba tumekuwa aliyesema kuhusu, kufunga kitu chochote ili tupate kufungua hivyo kwamba hatuna kuwachanganya browser. Basi hebu sasa kuchukua hii kwa ngazi zaidi ya kuvutia kwa kwenda halisi. Na hebu kwenda Mac yangu hapa, kwa google.com. Na sasa notice-- hebu kufanya hili. Mimi gong kwenda Mazingira, Search vipimo. Nataka kugeuka mbali hii papo annoying matokeo Jambo ambapo ni mara moja kuanza kukabiliana na kuandika yako. Hebu kufanya hii shule wakubwa hivyo sisi kweli kuona nini kinaendelea. Hivyo nina kwenda kuokoa yangu Mazingira Google hapa. Na sasa notice-- mimi nina kwenda kutafuta kitu kama paka. Na ni bado kufanya auto kamili hapa, lakini kulingana na mambo watu kuwa typed katika siku za nyuma. Lakini taarifa nini kinaendelea kutokea. Katika URL wakati ni hii, tu google.com. Na kitaalam, ni kufyeka. Google kuokoa tu tabia na si kuonyesha kwetu kwamba. Wao ni kuonyesha sisi https, tu kuwa super kumtuliza kwamba sisi ni katika salama au encrypted ukurasa. Hivyo basi mimi kwenda mbele na kutafuta kwa ajili ya paka. Sasa hii got kweli balaa haraka. Angalia urefu wa URL hii. Lakini zinageuka kuwa wengi wa mambo haya katika URL ni kweli pretty maana. Mimi nina kwenda kuanza kufuta mambo Sielewi. Mimi naona paka. Mimi kuelewa paka. Sijui kwa nini paka ni huko tena. Mimi kwa kweli sijui nini nonsense hii ni. Hivyo mimi nina kwenda tu kuweka kuonyesha na kufuta mambo kwamba mimi sielewi, distilling URL katika tu hii. Sasa basi mimi kupata kuingia tena. Inaonekana kama Google bado kazi. Hivyo kwa sababu fulani, wao ni kuongeza mengi ya mambo kwa URL yao kwa default. Lakini si madhubuti required. Hivyo kile ni nzuri kuhusu hili? Naam, basi mimi kwenda mbele na kufungua Chrome Inspekta. Kuna kidogo panya mkato kwa ajili yake. Kwenda tab Network. Na sasa napenda upya ukurasa hii mara moja zaidi. Na mimi nina kufanya kuhama. Kama kando, browsers huwa na cache au kuokoa habari tu kwa ajili ya ufanisi ya. Lakini kwa kawaida, kufanya kuhama na reloading mapenzi nguvu kila kitu kuanza juu tangu mwanzo. Na kwamba ni nini nataka kufanya hapa. Na taarifa zote hizi safu kwamba tu alionekana. Ni zinageuka kuwa katika mtandao wowote ukurasa, huenda kuna faili moja tu involved-- hello.html-- au kuna inaweza kuwa 52, kama katika kesi hii. Wakati mimi kutembelea google.com, inaonekana, browser yangu linaanza 52 tofauti maombi HTTP. Kwa nini ni kwamba? Naam, kuangalia nini ndani ya hii juu ya mtandao ukurasa up. Kuna si tu maandishi, lakini kuna picha halisi ya paka juu ya haki. Kuna rangi alama juu hapa upande wa kushoto. Kuna yote ya icons hizi kwa kipaza sauti na kadhalika. Kuna mengi ya vipande, kujenga vitalu, vipande mwanzo, kama wewe, ukurasa wa tovuti hii. Na nini browser ni kufanya juu ya kupata faili ya kwanza kabisa, ambayo ni hii safu hapa, ni kimsingi iterating juu ya HTML juu hadi chini, kushoto na kulia, kuangalia kwa mambo kama vitambulisho picha au vitambulisho vingine kuwa ni kutaja files nyingine na wakati anaona yao, huenda na fetches yao kupitia HTTP, faida yote bahasha Fumbo, na kisha maonyesho yao katika eneo sahihi katika ukurasa wa mtandao. Lakini taarifa hapa kama mimi kuzingatia kwanza paka kutupa, utafutaji, taarifa kwamba, kwa kweli ni kutumia HTTP 1.1. Na kwa bahati mbaya, Google Chrome hivi sasa katika toleo 39 ni aina ya dumbing mambo chini na si kuonyesha sisi headers halisi. Lakini kile kweli alimtuma ombi kwa si kufyeka, lakini / search? q = paka. Sasa, kwa nini ni kwamba ni muhimu? Naam, mimi nina kwenda kudai kutokana na hii kama wewe Google inasaidia maswali ya aina hii, kwa nini si mimi kutekeleza tafuta yangu mwenyewe injini kwa ajili ya CS50, lakini tu mbele mwisho, tu graphical user interface. Na tutaweza outsource mwisho ya nyuma, tafuta halisi matokeo kwa Google. Hivyo ni jinsi gani mimi kufanya hivyo? Naam, napenda kwenda katika gedit zaidi ya hapa. Na napenda kwenda mbele na kufungua up, hebu sema, faili mpya. Na mimi nina kwenda kuokoa hii muda kama search-0.html. Na kisha hatimaye, tutaweza kufunga mbele kwa moja mimi kabla ya tayari. Na mimi nina kwenda haraka mjeledi juu ya doc aina html mabano wazi html karibu mabano html. Kisha mimi nina kwenda kufanya kichwa kichwa karibu cheo wazi CS50 Kutafuta badala ya Google search. Chini hapa mimi nina kwenda kuwa mwili, mwili chini hapa karibu. Na sasa mimi haja CS50 Search. Na kwa kweli, hebu kujenga hii incrementally. Mimi nina kwenda mbele na kufunga huu na kweli kuiweka katika saraka yangu ya umma. Basi nipe dakika moja tu. search-0.html-- mimi nina kwenda temporally kuiita search.html. Mimi nina kwenda chmod ni + r search.html. Na sasa mimi nina kwenda kuufungua. Haki wote, ili kwamba ilikuwa ya haraka. Lakini lengo tu alikuwa kupata yetu kwa uhakika ya kuwa andiko hili faili inayoitwa search.html. Hivyo si mengi ya kuangalia bado. Hakika, kama mimi kwenda browser yangu, na kwenda search.html, kwamba ni yote ni. Lakini unajua nini? Mimi inaweza kuwa ni kidogo fancier. Mimi kusoma katika kitabu kwamba kuna kichwa tag aitwaye H 1. Na mimi nina kwenda mbele na kutumia H 1 wazi na H 1 karibu. Upya ukurasa. Na sasa ni kubwa na bolder, si wote kwamba kuvutia, lakini angalau ni kimuundo kuvutia zaidi. Lakini sasa napenda kuanzisha tag mwingine. Ni zinageuka kuna tag fomu. Na napenda kuifunga tag kwamba. Na zinageuka kuna ya pembejeo tag kwamba ina sifa aitwaye aina, ambayo ni aina data ya uwanja, kama wewe. Na ni kwenda kuwa ya aina maandishi. Na thamani yake ni kwenda kuwa CS50 Search. Karibu tag. Na kuna kwenda kuwa hakuna dhana ya kufungua na kufunga na vitambulisho tofauti. Napenda kwenda nyuma zaidi ya hapa na kuona nini kinaendelea, Reload. Kupata kuvutia. Inaonekana kama ni uwanja maandishi. Na kwa kweli, mimi sitaki kuweka thamani huko bado. Hebu nirejee nyuma hapa na kwa kweli kupata kuondoa hii thamani kuitunza rahisi. Badala ya thamani, nini nilitaka kutoa jambo hili lilikuwa jina. Na sijui ni nini, hivyo mimi itabidi kuja nyuma na kwamba. Lakini chini ya hapo, nataka kufanya pembejeo aina = kuwasilisha. Na thamani hii itakuwa CS50 Search. Na tutaweza kuona nini mimi wakiongozwa thamani na hili. Wakati mimi upya, mimi wanaonekana sasa mwanzo wa kutafuta yangu mwenyewe injini, super hideous, ingawa kusema ukweli, ni si kutupa mbali na kile Ukurasa Kawaida ya Google inaonekana kama. Kama mimi kwenda hapa sasa, siwezi aina katika paka na hopefully bonyeza Search. Lakini mimi si kabisa kufanyika bado, kwa sababu mimi si kutekelezwa, wazi, database. Mimi si crawled mtandao kwa matokeo ya utafutaji. Hivyo mimi haja ya outsource kwamba kwa Google. Hivyo ni jinsi gani mimi kufanya hivyo? Vizuri, kwanza ya yote mimi haja ya kuongeza na hatua wanampa aina tag yangu kwamba ni http://www.google.com/search. Na mimi kujua kwamba tu kutokana na kuwa na inferred kwa kuangalia kwa karibu URL wao. Na sasa kuchukua nadhani. Kile lazima uwanja huu maandishi pengine kuitwa, kulingana na tulikotoka kutoka mbele? Watazamaji:? Q. DAVID J Malan:? Q. Na hatuna haja kweli swali alama ni zamu nje, lakini q ni kweli ni, q kwa ajili ya swala pengine kwa msingi, kwa sababu tu kwamba nini Larry na Sergey alikuja na miaka iliyopita. Hivyo sasa napenda upya ukurasa huu. Haina kuangalia tofauti kwamba wote. Lakini sasa kuangalia nini kinatokea. Kama mimi aina katika paka na click CS50 Search na basi kwenda, taarifa mimi kupata whisked mbali na halisi Google. Sasa, Google ni kuwa kidogo annoying katika kwamba wao ni appending parameter ya ziada, kama wewe, kwa URL. Hayo ni yote yanayotokea moja kwa moja upande wa Google. sehemu muhimu ni kwamba mimi kuonekana kuwa yanayotokana ombi hili hapa. Na kwa kweli, kwamba ni nini kinatokea. Wakati una HTML kwamba Inaonekana kama hii, hii ni aina ya watengenezaji mtandao nukuu kwa kusema, kwenda mbele na kujenga aina kwamba wakati ni kuwasilishwa, ni kwenda kwenda URL hii. Na wakati URL imetoa maadili kwa mambo kama q, hawaendi tu URL hii. Kweli, nenda swali alama na kisha q = paka. Append parameter, HTTP parameter kama hiyo. Na tu kuwa super sahihi, nini kuwa inferred here-- lakini mimi itakuwa zaidi explicit-- ni kuwa njia nataka kutumia ni kupata, badala ya kitu kama baada, ambayo tutaweza hatimaye kuona. Hivyo katika muda mfupi, tu kwa ufahamu HTML na kutumia baadhi ya vitambulisho haki rahisi, sasa tunaweza kuanza kujenga mbele yetu wenyewe mtumiaji wa mwisho interface na utafutaji injini ya nyuma yake. Lakini hii bila shaka, ni pretty hideous. Hivyo basi mimi kweli kufungua kidogo bora toleo. Hii ni moja mimi tayari katika mapema kwamba ina baadhi ya maoni. Lakini utaona kwamba mimi pretty much recreated yake. Hivyo hii tayari inapatikana online. Na mimi kutokea kwa preemptively kwenda https tu kushika ni rahisi. Na sasa hebu kufungua iteration pili ya hii. Ni toleo 1 badala ya 0. Nini anaruka nje saa wewe kama kidogo tofauti katika mfano huu? Watazamaji: [inaudible]. Yeah, kuna hii kituo cha align maandishi. Hii ni kidogo weird hapa. Lakini hii ni kweli mpya. Na labda nadhani nini kitatokea. Kama mimi kwenda browser yangu sasa na kutembelea search-1.html, karibu kitu kimoja. Lakini ni hatua karibu na kuwa kidogo zaidi pretty. Ni bado mbaya, lakini prettier katika angalau kila kitu s sasa katikati. Hivyo ni zamu nje kwamba kile mimi nina kutumia ni lugha nyingine kabisa inaitwa CSS, cascading style. Na CSS, kusema ukweli, ni aina wa, katika maoni yangu binafsi, atrociously iliyoundwa lugha. Ni annoying sana kukumbuka maelezo yote mbalimbali. Lakini ni nini stylizes dunia nzima mtandao leo. Mimi mashaka mtu. Wote haki. Basi hebu kwenda nyuma hapa na kuona jinsi sisi ni kweli kutumia hii. Na ni zamu nje, angalau ni kweli lugha pretty rahisi. Ni thamani jozi ufunguo tu, mali na maadili, tabia na maadili. Hakika, hapa ni moja mali hizo na thamani. Tu kwa kutumia style sifa juu ya mwili wangu tag na kutoa thamani ya neno koloni na neno jingine, au mali na thamani, Mimi inaweza kuathiri aesthetics ya ukurasa wa mtandao, si lazima muundo bado, lakini aesthetics yake. Na tu kwa googling karibu, mimi kutambua kwamba karatasi CSS, kuachia style, inasaidia mali aitwaye Nakala-align, ambaye thamani unaweza kushoto, kulia, au kituo cha, kwa mfano. Hivyo sasa wakati mimi Reload ukurasa hii, nini sikuwa kupata ilikuwa ukurasa katikati, lakini bado pretty mbaya. Hebu kwenda mbele na kufungua up toleo 2 ya Search. Na sasa taarifa mimi tumefanya zaidi kidogo. Taarifa kuwa hadi hapa ndani ya kichwa tag, kuna inaweza kuwa zaidi ya cheo. Kwa kweli, kuna tag style. Na hii ni mahali ambapo tu anapata kidogo messy kuona CSS wakati mwingine. Taarifa kwamba mimi wanaonekana kuwa na kitu kwamba kimuundo inaonekana tofauti sana. Lakini hapa ni jina la tag nataka stylized. Hapa ni rafiki yetu ya zamani curly braces na kufungwa curly Brace. Na kisha hapa ni kwamba mali na thamani yake. Kama mimi mzigo faili hili, search2.html, Matokeo ya mwisho ni kufanana. Lakini ni hatua kuelekea kubuni bora. By factoring nje CSS hii, nimekuwa si lilichanganyika ni pamoja na HTML yangu. Na kwa kweli, kama tutaweza kuona, mimi naweza kutumia tena mali na maadili haya. Kama nilitaka kufanya mashada ya sehemu ya mtandao ukurasa wangu katikati, Sina aina style = text-align kituo cha kila mahali. Siwezi kuweka katika sehemu moja pengine, kama hadi saa ya juu. Lakini hata hii si kubuni bora. Kwa kweli, moja ya mambo utasikia kujifunza kama wewe kutumia muda zaidi na zaidi kwa programu ya mtandao ni kwamba zaidi unaweza modularize mambo na sababu mambo ya nje kama h files hebu sababu ya mambo nje, kama helpers.c hebu sababu mambo ya nje psets michache iliyopita. Vile vile, nguvu sisi wanataka kufanikisha hili. Hivyo taarifa katika toleo tatu ya search.html nimekuwa kusafishwa juu ya kichwa cha ukurasa na tu ya kuweka katika hili, tag kiungo, ambayo kinyume na jina, haina kukupa hyperlink. Ni viungo faili mwingine kwa njia ya href ambaye thamani katika kesi hii, ni kutafuta-3.css Hivyo mimi kutambua tunakwenda haraka. Lakini yote mimi nina kufanya ni aina ya kusonga mambo kote. Napenda wazi search-3.css. Kuna ni, hakuna kitu kweli yake. Mimi tu kunakiliwa na pasted ndani mpya faili, kiasi kama sisi factored mambo nje ndani ya faili nyingine kabla. Na result-- underwhelming-- kabisa ni kwenda kuwa sawa. Lakini sisi ni kusonga toward-- hakuna, siyo. Oh, najua nini. Hivyo inaonekana kuwa mdudu. Na ni katika baadhi ya hisia. Lakini ngoja kufungua Network tab wangu. Napenda upya ukurasa. Ah, kwa nini CSS si kuwa kutumika? Vizuri, CSS faili, vile vile, ina kuwa dunia someka, hivyo kusema. Na pia sasa haramu. Hivyo basi mimi kufanya chmod a + r ya nyota dot CSS-- whoops-- tuko dot CSS ni tu faili ugani kwa files CSS. Sasa basi mimi kwenda nyuma browser yangu na Reload. OK, vizuri kidogo. Sasa basi mimi kufanya jambo moja iliyopita. Katika kutafuta-4.html. Nina toleo kwamba mimi tu walidhani Ilikuwa ni njia ya baridi, angalau njia zaidi ngumu. Hebu tuangalie matokeo ya kwanza. Kuifunga kutupatia chumba zaidi. Mabadiliko hayo ya kutafuta-4, kuingia. Na sasa rundo la mambo ni kuvunjwa. Mimi nina kwenda nyuma katika saraka yangu hapa. Na sasa mimi nina kwenda tu kufanya chmod ya + r juu ya file-- kwa sababu najua exists-- aitwaye logo.gif, ambayo ni picha. Na sasa Reload. Na wow-- hivyo sasa mimi nina pretty karibu, kusema ukweli, na kama toleo 1999 Google, na kusema ukweli, toleo 2014 ya Google, haki? Hivyo ni sasa kwenda kwa tovuti yao, hatimaye, kama mimi kutafuta paka. Na kwa kweli ni. Lakini ni nini mimi kufanya tofauti katika toleo hili 4? Hivyo sisi si kukaa sana juu ya hapa. Utaona hii katika tatizo kuweka saba hatimaye. Lakini taarifa Nilifanya mambo kadhaa. Mimi ilianzisha div tag, ambayo ni mgawanyiko, sawa katika roho kwa aya tag. Lakini mgawanyiko ni kama, hapa rectangular asiyeonekana kanda ya screen. Hebu kutoa ni ya kipekee kitambulisho, footer, tu ili tuweze kuzungumza kuhusu katika HTML yetu mahali pengine. Hapa ni div mwingine wa ukurasa ambao ID ni kwenda kuwa na maudhui. Ni maudhui ya ukurasa. Na hapa ni header ya ukurasa. Kwa maneno mengine, nimekuwa kimsingi katika HTML ni kiakili kuangalia ukurasa wa mtandao huu kama vipengele tatu, header hapa na Mstatili hii asiyeonekana, yaliyomo katikati, na kisha footer chini chini, hata ingawa hatuwezi kuona mambo hayo. Kwa sababu nataka katika kichwa yangu ya ukurasa hapa, au katika .css faili, Naweza kutumia syntax hii. Header si tag. Ni ID hivyo ni zamu nje kwamba kwa kufanya #header, Mimi sasa unaweza kuomba moja au zaidi mali kwa kichwa. Naweza kufanya maudhui sawa, sawa kwa maudhui hapa. Hivyo kwa mfano, katika footer, ilani yote ya mali hizi mimi nina kuongeza. Na najua zipo tu kwa kusoma juu nyaraka kwa CSS. Ukubwa font ni kwenda kuwa na smaller-- hivyo baadhi ya jamaa font ukubwa. uzito ni kwenda kuwa na ujasiri. Margin-- saizi ngapi karibu wake ni 20 saizi. Na ni kwenda kuwa katikati. Lakini hivi sasa, ukurasa inaonekana kama hii. Kama mimi si radhi na nakala wangu wa kulia huko, Mimi naweza kufanya kitu kama rangi nyekundu. Na kisha mimi inaweza kuokoa hii, upya, na sasa nimekuwa stylized footer. Hivyo hii ni hinting tu katika nguvu ya nini unaweza kufanya katika ukurasa wa mtandao kubadili mambo kote. Na hata baridi kuliko hii, kama unataka poke karibu na tovuti halisi, huwezi kudumu mabadiliko yao. Lakini kama mimi kufungua Chrome Inspekta tena na mimi kwenda si kwa upande wa kushoto hapa, ambayo inaonyesha HTML Facebook, lakini inaonyesha juu ya haki upande wote wa CSS yake, unaweza ama na kubadili mambo juu ya kuruka. Hivyo basi mimi kwenda mbele na kufanya hili. Basi mimi kwenda mbele na kudhibiti click kwenye neno hili random hapa, ishara, na click Kukagua kipengele. Chrome conveniently sana anaruka kwa H 1 tag kwamba Facebook ni kutumia. Na taarifa hapa Facebook ina aina ya lazily ngumu coded font ukubwa kama mali hapa. Hivyo jambo zuri ingawa ni kwamba kama mimi kweli kwenda katika hapa na kusema, oh, Facebook, mimi si kama kwamba 64 saizi, sasa tunaweza kubadili Facebook. Bila shaka, sisi ni tu kubadilisha kwa mimi binafsi kwa sasa. Lakini hii ni tu mwingine chombo katika chombo kit wetu hiyo ni kwenda kuruhusu sisi tweak na kufikiri na pia kutambua masuala katika yetu mtandao kurasa mwenyewe. Na tunaweza vile vile kwenda juu hapa, ambayo ni kitu kimoja. Kama kweli wanataka kupata dhana tu, mimi maana, sasa unaweza kweli mutate ukurasa na kufanya mambo mambo. Hivyo hii ni kwa nini yote muhimu? Naam, hatimaye, sisi ni atataka kuwa uwezo wa kujenga mtandao kurasa kwamba ni inaendeshwa na yetu ncha mwenyewe nyuma, si kwa tu Google na outsourcing mwisho huko. Sisi kwa kweli wanataka thamani, kwa mfano, ya hatua search injini yetu ya sifa ya kwenda si kwa mtu mwingine, lakini kwa kitu kama search.php, ambapo search.php ni juu ya server yetu wenyewe, si juu ya mtu mwingine. Na hivyo kupata huko, sisi kweli haja ya kuanzisha lugha mpya. Hivyo tumekuwa tayari inaonekana katika mwezi mmoja Lugha hapa, au mbili kwa kweli, HTML na CSS. Lakini kwa kweli ni tu kimuundo na aesthetic lugha. Wao siyo programu lugha per se. Na kwamba ni juu kama kiasi rasmi muda kama tutaweza kutumia juu yao. Kwa sababu tutaweza kuanza sasa mpito kwa PHP. Hivyo PHP ni halisi lugha ya programu. Ni lugha ya scripting kwa maana kwamba ni maana ya kuwa nyepesi uzito kuliko kitu kama C. Na ni lugha yake, ambayo ina maana siyo ulioandaliwa. Hivyo kwa kifupi, nini maana wakati sisi alitumia lugha kama c na tulikuwa na kukusanya yake? Nini maana kwa kukusanya C chanzo code? Watazamaji: [inaudible]. DAVID J Malan: Sema tena? Watazamaji: [inaudible]. DAVID J Malan: Perfect. Ni zamu yake ndani ya binary. Ni zamu ndani zeroes na wale kutoka halisi kificho Kiingereza-kama chanzo. Na kisha tunaweza kweli kukimbia wale zeroes na wale kwa kupita yao kwa njia ya CPU na kubonyeza mara mbili icon au kukimbia amri. PHP na Chatu na Ruby na Perl na JavaScript na mashada ya nyingine lugha ni kufasiriwa lugha, ambayo ni kusema huna kukusanya yao. Badala yake, unaweza kuwalisha kama pembejeo kwa mpango ujulikanao mkalimani. Na kwamba mkalimani, ambayo mtu mwingine aliandika, anayesoma chanzo wako kificho juu hadi chini, kushoto na kulia na kutafsiri tu wale mistari na anafanya nini wanasema. Hivyo kama wewe kukutana line kwamba anasema magazeti, haina lazima kubadilisha magazeti kwa zeros sambamba na ndio. Ni tu ina mkalimani hii kama kubwa kama hali hiyo anasema, kama maelekezo programu ni magazeti, basi kufanya yafuatayo. Hivyo anatafsiri yake tu na aina ya hoja kupitia kile wewe ni kuwaambia ni kufanya. Na PHP ni moja ya lugha hizi. Na miaka iliyopita PHP ilitengenezwa just kwa programu ya mtandao. Na ilikuwa awali sloppy sana lugha chafu. Na kwa kweli, kuna mkubwa Kiasi cha mbaya PHP kificho huko nje. Lakini lugha yenyewe ina matured zaidi ya miaka, hivyo kiasi kwamba sasa ni kweli ajabu hatua inayofuata pedagogically kutoka C kwa sababu ni hivyo darned ukoo kwa kila kitu ve tu kuonekana katika wiki chache zilizopita. moja ya awali tofauti tutaweza kuona ni hakuna kazi kubwa ni tena. Baada ya kuanza kuandika code, ni tu kwenda kupata kunyongwa hakuna jambo gani, kama tutaweza kuona katika wakati huu. Wakati huo huo, hapa ni nini kutofautiana inaonekana kama katika PHP. Ni tofauti kidogo, lakini vigumu tu. Katika PHP, kuna si nguvu ya kuandika. Kuna wiki kuandika ni, ambayo tu ina maana kuna aina data kama masharti na idadi na mambo mengine. Lakini huna bother kufafanua nini wao ni tena. PHP takwimu ni nje kwa ajili ya wewe. ishara ya dola ni tu uamuzi kwamba PHP watu alifanya miaka iliyopita kama kwamba kutofautiana yoyote katika PHP tu huanza na ishara ya dola. Ni kweli aina ya muhimu katika kuwa jumps nje saa wewe kidogo zaidi. Lakini baada ya kuwa, hii ni hali katika PHP. Nini tofauti dhidi ya C? Hila question-- kitu, ambayo ni kweli kweli nzuri. Maneno Boolean katika PHP-- huo. Maneno Boolean na na dhidi ya au, swichi, loops, loops, loops-- OK, hii moja ni tofauti. Hivyo ni zamu nje kuna michache ya makala nyingine katika PHP. Mmoja wao ni kweli hii, ambayo ni ya ajabu urahisi. Kama $ namba ni safu kwamba wameweza alitangaza awali katika mpango, una dhana hii kwa kila kujenga kwamba badala ya kufanya yote ya kwamba annoying mimi ni sawa na 0, mimi ni chini ya hii, [? Mimi ++?], kwa kila idadi kama idadi, ambapo kila ya wale dola ishara maadili ni tu kutofautiana, na mwisho unaweza kufikiria kama I. Unaweza kuiita chochote unataka. Mimi kuitwa ni idadi. Hii ni kwenda iterate juu ya safu iitwayo namba. Na juu ya kila iteration, ni kwenda moja kwa moja update kwa ishara ya dola simu kutofautiana ili daima kupata kutofautiana unataka bila ya kuwa na kufanya mabano yoyote mraba nukuu au Indexing katika safu. Zaidi ya kwamba, sisi hata mambo kama arrays, ambayo kuangalia karibu sawa, ila ni ya kawaida sana, kama tutaweza kuona, katika PHP na JavaScript kabla initialize safu kutumia mabano mraba. C anatumia braces curly. Hivyo ni tofauti kidogo, ingawa sisi si kweli kutumia hila kwamba mengi. Lakini hata kwa nguvu zaidi, PHP ina arrays associative, ambayo ni njia ya dhana ya kusema meza hash. Kwa kweli, kama unataka kutangaza hash meza katika PHP, tofauti katika C-- wangapi mstari wa kanuni gani kuchukua ili kweli kutekeleza hash meza katika C? Au wangapi mistari ya kificho ni kuchukua kutekeleza meza hash katika C? Hivyo ni pengine mengi, haki? Ni kadhaa chache, labda 100 au 200. Ni nontrivial. Au ni kuhusu kuwa, kama utasikia haraka kuona, nontrivial kutekeleza meza hash [Inaudible] na pia kujaribu. Lakini katika PHP-- na kusema ukweli, mimi pengine haipaswi kukuambia hii mpaka Monday-- katika PHP, kama unataka meza, kufanyika. Hiyo ni hash table-- hivyo mstari mmoja wa kificho. Na mengi ya lugha ya kufanya hivyo. Kuwa na furaha na pset tano. Hivyo mengi ya lugha ya kufanya hivyo. Wao kukupa uchukuaji wa haya kwamba watu wengine, programmers nyingine, tumemuumba kwa wewe ili unaweza kusimama juu ya mabega yao na kuanza kutumia mawazo kwamba ni super kulazimisha, kama meza hash na miti na anajaribu. Lakini huna lazima kuwa na kutekeleza mambo hayo wewe mwenyewe. Na hivyo hatimaye, nini tunakwenda kutumia PHP kwa ni uwezekano wa kuandika mipango kinachojulikana mstari amri. Tunaweza recreate kila mpango tumekuwa imeandikwa muhula hii hivi sasa, isipokuwa labda kuzuka ambayo inatumia SPL, ambayo ni maalum kwa C kwa sasa. Lakini kila tatizo nyingine kuweka, hakika Mario na Kaisari na Vigenere na [? Ufa?] Na kuendelea, sisi inaweza re-kutekeleza katika PHP, na pengine kidogo kwa urahisi zaidi. Lakini nini sisi ni hatimaye kwenda kutumia PHP kwa ni programu ya mtandao. Na sisi ni kwenda kuanzisha ijayo wiki mfano wa akili, dhana iliyojulikana MVC, mfano mtazamo mtawala, ambayo kama umefanya kosa programu kabla katika chatu au Ruby au mahali pengine, wewe wapate kujua ya timu hii na Reli na Django na kama. Lakini kama wewe ni mpya kwa huu pia, utaona kwamba hii ni kweli sana ya asili upanuzi wa factorization na aina ya kubuni ya kificho kwamba tumekuwa wamekuwa wakifanya katika C. Sisi ni kwenda sasa kutumia baadhi ya masomo hayo kwa PHP ili hatimaye, sisi ni kutekeleza tovuti yetu wenyewe. Na kama wewe ni aina ya mesmerized au inafanyika kwamba sisi ni kwenda kufanya yote ya hivyo haraka, kutambua kwamba karibu kila muhula, karibu 90% ya wanafunzi CS50, ikiwa ni pamoja na wale ambao hawajawahi iliyowekwa mbele, kuishia kufanya miradi ya mwisho kwamba ni kulingana na programu ya mtandao. Na hivyo utaona kwamba anarudi ni kubwa katika wiki ijayo. Hivyo tutaona wewe basi siku ya Jumatatu. SPIKA 1: Na sasa, Deep Mawazo na Daven Farnham. Hash meza. [Kicheko]