[Jwe mizik] DAVID J Malan: Tout dwa, akeyi tounen. Sa a se CS50. Sa a se nan fen semèn sèt. Lè li nan nan fen ki chasse lachas soti nan pwoblèm mete kat ke ou ta ka sonje. Apre rekipere tout nan moun JPEGs nan anplwaye yo, ou te defye, si ou ta renmen, pran foto tèt ou ak kòm anpil nan tout sa yo jan ke ou kapab. Nou gen yon pakèt antye nan observation sou semèn ki sot pase yo kèk, tout bon, byen yon dwa kèk anvan midi jodi a, kèk nan yo ki yo se moun isit la, kenbe isit la in-- sanble like-- Annenberg Hall nan lè biwo louvri, yon sèl isit la nan Lowell House ak Nick. Isit la nan Ramon ke yo te kenbe sou telefòn la. Sa a te nan yon manje midi CS50. Sa a te Jason Skyping ak yon kondisip klas plis kreyatif, ki moun ki telefone l 'nan fason sa. Nou pa konnen ki sa sa a te ye a. [Ri] DAVID J Malan: Men, sa a, se vo yon jigokte. Isit la se Chang, ki moun ki literalman kouri sou sèn nan pou fè pou evite ke yo te pran foto yon sèl jou, men li te evantyèlman sot pran yo. Isit la se Nick. Isit la se Nick. Isit la se Nick. Ak isit la se Alison desann nan jaden yo. Epi Zamyla menm te jwenn nan yon konpetisyon salon. Se konsa, nou pral ale nan foto sa yo, figi konnen ki soumèt pi plis nan pi bonè, ak rekonpans lan yon sèl pwi Fabulous, kòm te pwomèt nan espèk a. Epitou, n ap tou swiv moute sou espas ki la ki te enplike nan sa. Yon koup la announcements-- konsa manje midi se, ankò, sa a Vandredi nan 1:15 PM. Si ou ta renmen rantre nan nou, RSVP nan ki URL isit la. Jason parèt ankò isit la soti nan yon nan seksyon yo ki yon koup nan ane tounen, ki te rive yo tonbe sou Halloween. Ak tout bon, li abiye tankou yon joumou ane sa a an patikilye. Si ou gade seksyon sa a nan soti nan 2011 seksyon l ' uit, si ou se kirye, nan CS50.tv, mwen panse ke sa a te ane a nan ki ponp lè l 'te ap travay. Si ou Lè sa a, gade nan menm jan seksyon an 2012, ou pral wè sa a anpil Jason degonfle, depi pwosè a pa gen okenn ankò fonksyone, ki se sèlman vle di sa a Vandredi, si ou ta renmen yo skilte yon joumou ak Daven ak Gabe ak lòt moun, RSVP tèt yo nan adrès cs50.harvard.edu. Li pwomès yo dwe gwo plezi. Daven, nou ap di, li te fè mete pòtre joumou tout nan lavi l 'yo. Gabriel soti nan Brazil gen pa janm fè mete pòtre yon joumou pou Halloween. Se konsa, dwe gen avèk yo kòm li aprann. Seminè, meanwhile-- se konsa ou pral aprann vit sou sa ki ap atann nou an yo se pou pwojè final la, ki esansyèlman pral bouyi desann nan yap devlope ak enplemante pi nenpòt pwojè nan enterè ou, kwake sijè a apwobasyon an ak konsèy nan men parèy ansèyman ou. Nan direksyon nan fen a semès, nou prezante yon nimewo nan seminè yo, ki se si ou vle klas ki te dirije pa zanmi pou anseye ak Harvard anplwaye yo, zanmi nan kou a nan tout lakou lekòl la, sou plizyè sijè ki se tanjansyèl a kache progranm kou a men Alòske aplikab, plezi, ak diferan pou potansyèl pwojè final la. Pou egzanp, an premye, si ou ta renmen yo enskri, tèt ak sa yo ki URL la. Lè sa a se pwogramasyon an pou seminè ane sa a pou kont li. Men mwen reyalize nou gen plizyè douzèn seminè soti nan ane ki sot pase, nan tout ki yo lye nan meni an Seminè opsyon nan sit entènèt kou a. Se konsa, si w ap panse sou ale pi lwen pase zòn konfò ou oswa davwa ke yo pran kèk nouvo teknik, pou egzanp, pwogramasyon ifon apps ak Swift, yon nouvo lang soti nan Apple oswa Objektif-C oswa apps android oswa pwogram [? siy?] anpoul limyè, oswa nenpòt ki nan sijè ki moute isit la ak plis ankò, akòz chèk soti paj la enskripsyon an. Se konsa, nou te kòmanse ak konkli sou Lendi ak gade nan HTTP. Se konsa, rapid HTTP refresher--, Ipèrtèkst Transfè Pwotokòl. Men, sa ki ki vrèman vle di? Ki sa ki ki vrèman vle di? Eske se sa ke yon men? Mwen konnen w ap sèlman grate tèt ou. Men, ou vle pwopoze sa HTTP se? ODYANS: Ki jan òdinatè kominike avèk [fèbl]. DAVID J Malan: mwen rate yon pati an dènye. Ki jan òdinatè kominike with-- Serveurs Entènèt: ODYANS. DAVID J Malan: Good-- ak entènèt serveurs, ak espesyalman, serveurs entènèt. Paske sonje, gen nan yon pakèt moun sou sèvis sou entènèt la, kèk nan yo ki ou itilize pwobableman chak jou ant chat ak mesaj, chat, ak entènèt, ak imel, ak renmen an. Epi HTTP se jis nan pwotokòl ki navigatè entènèt pale lè kominike ak serveurs entènèt, ak vis vèrsa. Ak analòg la nan la mond imen ta kapab, Mwen pwolonje men m 'souke kèk lòt la moun ak li oswa li te rekonèt pa pwolonje li oswa men l 'kòm byen. Se konsa, sa se sèlman yon pwotokòl, yon seri konvansyon. Ak sa ki tout bon moun sa yo ki konvansyon? Oke, li jis klou desann nan voye mesaj retounen ak lide, jan nou montre isit la. Apre sa, nan yon koup nan fason an ki ou ka voye mesaj sa yo. E petèt pi plis nan komen se li te ye kòm jwenn. Epitou, n ap wè yon kontras nan sa a anvan lontan. Men, yon demann jwenn ki sòti nan yon navigatè nan sèvè jis sanble tankou sa a. Li se yon pakèt moun sou tèks ki li mete andedan nan yon anvlòp vityèl. Sou deyò a nan ki anvlòp ale yon moso koup la plis detay. Ki sa ki bezwen yo ale sou la anvlòp, se konsa pale, yo nan lòd jwenn yon demann tankou sa a soti nan m 'nan yon sèvè sit entènèt? Yeah. ODYANS: Adrès IP ou. DAVID J Malan: adrès IP mwen nan Soti nan jaden an, se konsa pale, ak nan kou, nan IP adrès moun k ap resevwa a. Men, nan ka a nan yon pake entènèt, nou bezwen yon ti kras plis detay Li pa ase jis yo voye yon anvlòp nan yon sèvè, paske sa ta ka sèvè koute pou diferan nan trafik entènèt. Se konsa, ki lòt bagay nou bezwen san konte moun k ap resevwa IP la? Yeah? ODYANS: Èske li tchp? DAVID J Malan: Bon. TCP-- ODYANS: Adrès. DAVID J Malan: Adrès, oswa pò, kòm sa yo rele. Fèmen, men yon nimewo pò tchp. Apre sa, nan yon pakèt moun sou sa yo. Men, siman pi plis nan abitye ta dwe evantyèlman gen 80, ki se default la yon sèl itilize pou trafik entènèt. Ak yon lòt abitye yon sèl byento yo pral 443, ki te itilize pou sekirite entènèt trafik, URL ki kòmanse ak https. Se konsa, sa a se sa ki ale andedan nan ki anvlòp. Epi pou yo jwenn / jis vle di, bay m 'paj wèb la default. Ban m 'rasin lan nan difisil nan kondwi sou ki sèvè wèb. Ak èspere ke, entènèt la sèvè pral reponn ak, OK ak nimewo a 200, ki se jis yon konvansyon li di: repons lan se wi, tout se vre OK. Isit la nan paj la. Kalite a nan paj wèb la ki pral gen tèks, men plis espesyalman, HTML, ki nou ap sou yo plonje tounen antre nan. Epi dot dot dot la jis vle di, isit la se HTML la. Epi sa a, kote nou ranmase istwa a jodi a, aktyèlman ekri HTML, Ipèrtèkst markeup lang, ki se lang la nan ki yo ekri paj wèb. Li pa yon lang programmation. Gen nan pa gen fonksyon oswa pasan oswa kondisyon. Li se yon lang markeup, kòm byen ankò wè jodi a, ki pèmèt ou presize ki jan yo estrikti ak stilize estetik yon paj entènèt. Se konsa, sa a te yon sèl nan epi sèlman paj nou reyèlman gade, si yon ti tan, nan Lendi. Ak Avi yon kèk Karakteristik essayant. Genyen yon anpil nan louvri Incline bracket ak fèmen bracket Incline. Nan ant moun Incline parantèz yo se mo yo. Apre sa, nou ap ale nan kòmanse rele mo sa yo Tags. Se konsa, louvri tèt bracket ak fèmen bracket tèt se etikèt yo ouvè ak fèmen, oswa kòmansman ak nan fen Tags yo respektivman, nan yon eleman HTML, menm jan nou pral rele li, ki rele tèt yo. Ak menm bagay jagon an aplike nan kò nan HTML ak pou fè. Ak sa ki nan bèl se HTML-- ak tout bon, nou pral depanse fò anpil ti tan sou li, paske ou pral sitou jis konnen sa ki karakteristik li gen lè ou aktyèlman gen yon pwoblèm konkrè solve-- w ap jwenn ki yon navigatè se trè bèbè. Li nan jis ale nan do-- pa kontrèman ak yon computer-- sa ou di li fè. Se konsa, lè ou gen louvri bracket HTML nan tèt la anpil la, ki esansyèlman jis vle di, hey, navigatè, isit la vini yon paj entènèt ekri nan HTML. Lè li wè louvri bracket tèt, ki jis vle di, hey, navigatè, isit la vini tèt la, oswa pòsyon nan topmost nan paj entènèt mwen an. Lè li wè yon bracket fèmen tèt, ki jis vle di, hey, sa a, se li pou tèt la. Sibstiti pou yon lòt bagay. Epi sa yon lòt bagay se aparamman pral fè kò a. Men, lè ou pa gen yon tag, tankou ou gen jis hello, vigil, mond, ki nan jis pral fè tèks anvan tout koreksyon ki finalman se parèt nan ekran an. Koulye a, ou pral avi twò dekoupaj an isit la. Ou ka pwobableman dégager ki jan nou ap stylizing li. Chak fwa mwen louvri yon tag, se konsa pale, mwen indent. Men, chak fwa mwen fèmen yon tag, mwen un-indent, menm jan an nan lespri aparèy òtopedik Curly. Epi pi lwen pase sa, mwen kalite lè l sèvi avèk jijman mwen. Avi ke mwen pa t 'bezwen deranje frape Antre andedan nan ki tag tit. Poukisa? Bon, mwen jis deside li gade yon ti kras cleaner m ', moun lan, a jis pa anmède fè sa. Se konsa, ankò, gen nan kèk jijman apèl jis tankou gen nan C oswa nenpòt lang. Men, remake twò ki dekoupaj sa a Confer tèt li yon modèl mantal, pa plis pase konplike li. Men, yon pye bwa, dwa? Si ou panse nan yon sit entènèt paj, aparamman ekri tankou sa a, tankou se te joliman utilize fason sa a, ou ka prèske panse a bracket la louvri HTML tag fèmen bracket se delimiter rasin lan nan yon ne, yon pye bwa fanmi style ne nan style la nan pyebwa yo nou te gade Vandredi dènye. Ak tout bon, nou gen isit la sou bò dwat la ki sa nou pral rele yon Dom, D-O-M, dokiman modèl objè, yon fason anpenpan nan li di yon pye bwa ki reprezante ki HTML. Ak avi ke HTML gen, nou pral di, tankou yon pyebwa fanmi yo, de timoun yo. Sou bò gòch la se tèt. Sou bò dwat la se kò. Ak jis kòm yon fè egzèsis panse estipid, tèt, nan kou, gen konbyen timoun dapre estrikti sa a? Se konsa, jis yon sèl, title-- ak Se poutèt sa nou gen flèch la pral soti nan tèt nan tit la. Se konsa, li tankou si moun sa a nan la pyebwa fanmi te gen sèlman yon sèl pitit. Lè sa a, tit tèt li kapab dwe di yo fè yon timoun tou. Sonje byen, HTML a te gen hello, vigil, mond anba li. Apre sa, mwen te tou senpleman trase li nan yon oval olye pou yo yon rektang jis tansmèt Semantics ke menm si li nan yon ne nan pye bwa a, se konsa pale, li nan sòt de fondamantalman diferan. Li pa yon tag. Oswa plis byen, li pa yon eleman. Se jis nan yon ne tèks, si ou pral. Men, sa yo, se konplètman abitrè konvansyon imen. Sa a se jis kounye a wout mwen nan repwezantan ki sa mwen pral kòm yon total rele dokiman an. Epi kòm yon sou kote, bagay la nan kwen an super tèt men gòch, louvri bracket pwen esklamasyon doc kalite HTML, sa a sanble yon tag, men li la ka a kwen estipid kote ki se jis la, kopye ak kole pou montre pou navigatè yo sa a se HTML vèsyon 5. Mond lan kenbe chanje sa a premye liy nan kòd nan yon paj yo ta dwe. Sa a jis vle di vèsyon 5. Se konsa, li fè sa pa byen gade tankou lòt moun yo. Tout dwa, se konsa ak sa di, ou pral kounye a apresye sa a san patipri sa a estipid tatoo yon moun te resevwa. [Ri] DAVID J Malan: Tout dwa, e kounye a, kite a aktyèlman plonje nan fè yon bagay ak sa. Ou ap raple se dènye fwa Mwen louvri moute aparèy la CS50 ak mwen te fè yon bagay kòm senp tankou ouvèti moute jdi. Apre sa, mwen sove dosye a menm sou desktop-- mwen okenn kote special-- kòm hello.html. Se konsa, kite m 'fè sa again-- hello.html Antre nan. Epi, koulye a nan sa a ranpli, mwen pral ale pi devan epi replike sa nou jis saw-- doc kalite html Lè sa a, mwen pral fè louvri bracket html fèmen bracket. Lè sa a, mwen pral preemptively ouvè epi fèmen tag la. Poukisa? Jis Se konsa, mwen pa bliye pita. Se jis bon pratik, tankou ouvèti ak fèmti aparèy òtopedik Curly tout nan yon fwa. Lè sa a, kisa ki vini apre a? Ou ka panse a tatoo la. ODYANS: Tèt la. DAVID J Malan: Tèt la. Lè sa a, nan isit la, mwen te gen tit la, mwen panse ke. Ak tit la te abitrèman, hello, mond pre tit. Lè sa a, desann isit la, kò a, nan course-- lè sa a nou fèmen tag nan kò. Lè sa a, jis yon ti jan redundantly, Mwen te gen menm bagay la desann isit la. Se konsa, mwen reklamasyon ke sa a se yon paj entènèt. Sa a se yon bagay ki te kapab kounye a ap viv sou entènèt la, menm si nan kou, li nan literalman k ap viv sou Desktop m 'kounye a. Men, tout bon, si mwen minimize jdi, Mwen pral wè sou Desktop mwen an icon li yo. Menm si sa a se aparèy la, ou ta ka fè sa a sou Mac OS san yo pa TextEdit oswa Windows ak notepad menm. Men, si mwen ale pi devan epi double Sur ke menm, ak select-- byen, se pou yo pa chwazi pou sa paske Chrome pa nan ouvèti. Se pou nou ale pi devan epi louvri Chrome. Lè sa a, fè lòd-O pou louvri Ak navige nan Desktop m ' ak louvri ki dosye. Sa se ki jan yon navigatè entèprete HTML, anwo jouk anba, gòch a dwat. Hey, navigatè isit la nan HTML. Isit la nan tèt la. Isit la nan tit la. Isit la nan kò a. Ak tout bon, sa a se ki jan li rann ke paj entènèt. Men, remake URL la. Okenn nan ou ta ka rale moute espesifik sa a paj sou laptops ou kounye a, menm andedan nan ou aparèy via ki URL, paske dosye: // endike li la aktyèlman sou sistèm dosye mwen, kondwi difisil m 'yo, pa pou ou. Se konsa, sa a se pa tout sa ki itil. Se pou nou kounye a deplase nan direksyon lè l sèvi avèk yon sèvè sit entènèt vrè. Epi li vire soti aparèy la CS50 se pi plis pase jis yon anviwònman kote ou ka ekri C kòd epi pou konpile epi kouri li tankou ou ve yo te fè a. Li te tou te configuré pa la anplwaye yo reprezante yon sit entènèt tipik sèvè sa a, se sou entènèt la, yon sèl ke ou ta ka peye pou oswa yon sèl sa a, se nan syèl la sa yo rele. Epi li kouri estanda sous gratis louvri lojisyèl, pou egzanp, yon bagay rele Apache, ki se petèt toujou entènèt la ki pi popilè sèvè lojisyèl nan mond lan ke dè milye de sit itilize jodi a. Ak li tou menm gen lojisyèl tankou miskl, ki se yon sèvè baz done ke nou pral evantyèlman ale nan, ki se sèlman vle di Mwen ka kòmanse trete aparèy mwen kòm yon sèvè plen véritable ke mwen pa pou peye pou yon lòt kote. Li jis ap viv sou laptop pwòp mwen an pou devlopman ak konvenyans rezon. Se konsa, kite a ale pi devan epi pran avantaj de sa a. Mwen pral ale pi devan epi louvri moute yon fenèt tèminal. Men, mwen pral ale pi devan epi move-- aktyèlman, premye mwen se ale nan navige nan Desktop m 'yo. Si m 'fè ls, gen nan hello.html. Apre sa, mwen pral ale pi devan epi kòmanse lè l sèvi avèk yon anyè nouvo nou te pa itilize anvan jodi a. hello.html-- mwen pral pou avanse pou pi ../vhosts pou hosts-- vityèl plis sou sa nan tan kap vini la ak Lè sa a, nan yon anyè rele localhost, ki se tinon a bay prèske nenpòt òdinatè, si li nan yon Mac, PC, oswa òdinatè Linux, ak Lè sa a espesyalman nan yon anyè ke nou, anplwaye a deja kreye pou ou lè ou telechaje aparèy la rele piblik. Epi kòm non li sijere, anyen Mwen mete nan sa a folder, nan teyori, ki pral kounye a dwe piblik, omwen nan moun ki gen yon dirèk koneksyon sou òdinatè mwen an. Se konsa, kounye a kite m 'ale pi devan epi fè CD ak sa yo ki anyè menm Se konsa, mwen ka wè sa ki nan ale sou yo ak sou ls kalite. Ak tout bon, sa a, se la sèlman bagay an la. Mwen reklame kounye a ke paske mwen te mete sa a ranpli hello.html andedan nan yon anyè rele anndan piblik la yon anyè rele localhost andedan nan yon anyè rele vost, ki gras a anplwaye CS50 ki te pre-configuré yo dwe rasin lan nan sèvè entènèt ou an, Mwen kapab kounye a èspere ke fè sa. Mwen pral louvri moute yon tab nouvo. Apre sa, mwen pral ale pa nan pote: //. Mwen pral sèvi ak aktyèl http / localhost, ki ankò, se tinon a pou sèvè pwòp mwen. Lè sa a, mwen pral pou yo ale nan sa ki ranpli non, jis yo dwe klè? Ki kote istwa sa a pwobableman ale? hello.html. Se konsa, nan lòt mo, mwen vle kounye a sa a se òdinatè pwòp m 'yo, aparèy pwòp mwen an, tankou si li nan yon sèvè vrè. Se tinon li yo lokalost. Men, panse a localhost kòm tankou Facebook.com google.com, kèlkeswa sa. Se jis nan non lokal mwen. Lè sa a, final la mwen vle se nan la rasin nan kondwi a difisil, se konsa pale, oswa rasin lan nan sèvè wèb la, èrgo koupe nan pi devan ak Lè sa a, File name hello.html la. Kite m 'rale soti ak frape Mete. Ak tout bon, gen se kounye a paj entènèt mwen an. Se konsa, li yon ti kras diferan. Lè li nan jis kòm underwhelming. Sa a se vèsyon an fin vye granmoun. Kite m 'retresi font la tounen. Sa a se fin vye granmoun lan. Sa a se nouvo la. Men, sa k ap pase fondamantalman kounye a se ke HTTP se ke yo te itilize. Se pou nou fè sa-a yon ti kras plis klè oswa, si ou pral, yon ti kras pi plis konplike. Kite m 'ale nan bò dwat la anba kwen men nan aparèy m 'yo. Ak avi ke tout bagay sa a tan, te gen yon kantite. Sa se adrès la inik nan Aparèy CS50 ou yo. Li nan yon adrès prive, kòm enplisit pa 172,16 a, ki jis vle di sèlman ou fizikman kapab jwenn aksè nan sèvè wèb sa a. Tout se firewalled ak joliman pwoteje soti nan rès la nan mond lan paske nan sa adrese. Epi, koulye a remake menm si si m 'ale nan adrès sa a, pa nan aparèy m 'yo, men nan Mac OS-- mwen pral ale tounen sou isit la. Sa a se Mac mwen an kounye a. Epi, koulye a mwen pral louvri moute sa a vèsyon an Chrome isit la. Men, mwen pral pou yo ale nan http: //172.16.25 / Ak mwen bliye 133 nan rest--. Se konsa, mwen pral vizite soti nan Mac mwen an ki adrès IP /hello.html Antre nan. Epi, koulye a mwen wè soti nan Mac mwen an ki Aparèy CS50 mwen, ki moun ki nan Adrès IP se ke nimewo, se vre konpòte tankou yon sèvè sit entènèt sou entènèt la. Li pa gen yon bèl fasil sonje non tankou Facebook.com, men li la lè l sèvi avèk HTTP aparamman, menm si Chrome se kalite senplifye mond lan pou nou, men se pa ki montre nou HTTP. Men, sa a se vre egzakteman sa. Chrome se jis ekonomize kèk frap jou sa yo. Epi sa a, sa nou wè koulye a. Se konsa, sa a, se tout bon ak bon. Men, li la yon paj trè underwhelming. Kite m 'ale nan ak fè yon bagay yon ti kras diferan kounye a. Se konsa, kite m 'ale tounen nan jdi. Ak olye pou yo hello, mond, kite a mete yon imaj. Apre sa, mwen te deklare ke soti nan fè anvan kite m 'ale nan m 'piblik anyè localhost. Ak kite m 'ale pi devan epi kopye yon pakèt antye nan dosye soti nan jodi a soti nan folder Dropbox m 'nan isit la. Koulye a, si mwen tape ls, gade nan tout sa yo dosye ke mwen te distribye nan la sit entènèt kou a nan avanse, ki se jounen jodi a, youn nan ki se toujou hello.html. Se konsa, gen nan ke yon moun. Epi sonje yon sèl enbesil sa a soti nan dènye cat.jpg time--. Se konsa, kite m 'eseye Afiche cat.jpg andedan nan paj entènèt mwen an. Mwen pral ale pi devan ak fè cat.jpg, sove. Kite m 'ale tounen nan Chrome. Ak kite m 'rale nan la font e kounye a, recharger. Wouch, kote mwen mete sa a? Standby-- mwen toujou gen fin vye granmoun lan vèsyon soti nan louvri Desktop m 'yo. Se konsa, kite m 'ale nan vhost mwen, mwen localhost, piblik mwen an, epi hello.html. Se konsa, kounye a kite m 'ale pi devan epi di cat.jpg andedan nan kò a kote mwen vle li nan dwe parèt ak recharger. Natirèlman, sa a se pa kòrèk. Se konsa, mwen bezwen di navigatè a yon ti kras plis fè espre sa m 'vle li fè. Senpleman tape non an se evidamman pa ase. Se konsa, sonje ke te gen yon lòt tag, imaj, img pou kout. Se jis paske moun pa renmen kalite mo sa yo plen. Lè sa a, nou ka fè sous = "cat.jpg". Epi, koulye a, mwen pral fè yon sèl bagay diferan isit la. Menm si tout nan Tags nou konsa byen lwen gen te gen sa a nosyon nan yon kòmanse tag ak yon tag fen, ki pa vrèman fè sans pou yon imaj, dwa? Yon imaj se swa gen oswa pa la. Se konsa, moun yo te vini moute ak yon konvansyon ki pi senp. Lè ou gen yon tag ki ka tou de kòmanse epi fini nan menm time-- la li kapab vid, se konsa pale jis mete koupe a pi devan andedan nan tag nan nan fen an trè. Koulye a, kite m 'ale tounen nan navigatè m' yo. Frape Reload Modi, yon bagay ki nan mal. Ou te pwobableman wè sa a detanzantan sou entènèt la, menm si li pa te gen fòt ou. Li nan fòt sèvè wèb la a. Ki sa ki od sa a sanble yo endike? Li nan kase. Sa a kote imaj la ki dwe. Yeah? ODYANS: Men, li pa fè sa gen aksè a imaj la. DAVID J Malan: Li pa fè sa gen aksè a imaj la. Sa, oswa menm pi mal, petèt li pa menm egziste. Ann wè si nou pa ka fè dyagnostik sa. Sonje byen soti nan dènye fwa ke si nan Chrome, nan aparèy la, oswa menm sou Mac ou a oswa PC, ou ale nan meni an Developer epi ale nan Developer Zouti yo opsyon, ki pwobableman ou te pa itilize lajan oswa tout tan. Men, si m 'ale nan Rezo ak Reload paj la, kite a aktyèlman gade nan HTTP a demann sa ki te fè fè yo. Li sanble ke se hello.html tout bon OK, kon sa 200 an. Men, cat.jpg se yon 403. Se konsa, li pa yon 404. File pwobableman egziste. 403 vle di entèdi. Se konsa, sa a se yon ti kras konfizyon. Mwen pral tounen nan fenèt tèminal m 'yo. Kite m 'rale nan moute isit la. Ak kite m 'fè yon ls. Genyen sa yo dosye menm. Koulye a, kite m 'fè yon ls-l, ki ou te pwobableman itilize anvan fè yon gade nan dosye gwosè petèt oswa timèstanp. Lè nou wè yon pakèt antye nan enfòmasyon akablan yo. Men, remake kèk detay. Isit la nan hello.html nan sa a ranje isit la ak isit la nan cat.jpg. Lè li nan jis aparèy la ke yo te itilizatè zanmitay pa en JPEG a nan koulè wouj violèt tankou sa a. Men, ki lòt bagay se diferan bò kote gwosè a dosye ak non an dosye? ODYANS: [fèbl]. DAVID J Malan: Yeah, gen nan de plis R la sou isit la. Avi sa hello.html te pral sou. Se konsa, li sanble ke non an nan sa a piblik anyè se enpòtan. Nenpòt bagay nan anyè sa a ki te vle di yo dwe piblik. Men, li la pa ase jis yo gout dosye nan la. Ou bezwen tou chanje mòd nan dosye yo, chanje autorisations yo nan dosye a dinamik pa gen anviwònman an default, ki se ke se sèlman mwen ka li epi ekri li, mwen ke yo te mèt kay la. Mwen vle tout moun nan mond antye rive sou kapab li dosye mwen, se konsa pale. Li jis vle di wè li. Ak tout bon, kòm ou pral wè nan pwoblèm pran sèt, se sa ki vle di sa yo R la. Vle di de R la sa yo kite tout moun lòt moun nan mond lan tou li li l ', espesyalman kounye a ke li nan nan anyè sa a. Se konsa, fason a ki pi senp yo ranje sa a se yo ale nan èd memwa m 'ak fè chmod pou chanjman mòd ak Lè sa a fè yon + r, nèt, tout moun, tout, plis r pou lecture, ak Lè sa a cat.jpg Antre nan. Pa gen anyen sanble rive, ki souvan sa vle di yon bon bagay. Se konsa, ls-l again-- kounye a kite a gade nan cat.jpg. Ak pèmisyon sa a sanble yo te chanje. Kòm yon sou kote, si ou fè yon erè, epi ou, pou egzanp, jis te fè your-- Mwen pa know-- redaksyon piblikman aksesib pa aksidan, ou ka fè opoze a, chmod yon-r. Menm si franchman, li pa ta dwe dwe nan anyè a piblik de tout fason si sa a enkyetid la. Se konsa, kounye a kite a tounen nan navigatè m 'ak Reload. Men, mwen pral klike ti kras Ghostbusters la senbòl klè ke yon pati nan la ekran pou nou ka wè demann nouvo. Ak tout bon, isit la se Grump Cat soti nan anvan. Men plis enpòtan, teknikman, gen nimewo a 200, ki vle di nou te resevwa li OK. Tout dwa, se konsa sa a, se tout bon epi li bon. Men, nou pa ap fè pi bon an nan sit entènèt, ni nou pral eseye twò difisil yo fè fanciest nan sit jodi a. Men, kite a omwen fè yon bagay super abitye anvan formidable koupe yon kèk lòt Tags. Se konsa, ta kwè mwen pa jis vle yon chat isit la. Sipoze mwen aktyèlman vle sa a chat ap mennen nan yon bagay. Mwen ta ka, pou egzanp fè yon bagay tankou sa a. yon pou jete lank href pou ultra equals-- referans ak kite yo jis fè yon bagay tankou www.google.com fèmen site fèmen bracket. Epi, koulye a fè rechèch pou chat. Fèmen tag jete lank. Se konsa, sa gen sèlman yon sòt a fondamantalman nouvo detay. Tag a nan kou, se diferan. Li nan non yon an pou jete lank href oswa ultra referans. Men, pi enpòtan, gen nan karakteristik sa a sentaks isit la. Sa a se sa nou pral kòmanse rele pa yon tag, men yon atribi. Epi yon atribi se yon bagay ki modifye konpòtman an nan yon tag. Lè sa a atribi, href, vle di modifye konpòtman an nan jete lank sa a se konsa ke lè li nan klike, li ale nan sa a URL isit la. Ak nan kou, ki URL se Google. Pandan se tan, ki sa ki sa a tèks isit la pral fè? Oke, ki k ap pase yo dwe sa moun nan aktyèlman wè kòm souliye nan lyen, kòm senp tankou sa. Se konsa, kite a eseye sa a. Kite m 'sove li. Mwen se toujou nan hello.html. Men, nan vèsyon yo sou entènèt, ou pral wè non yo dosye aktyèl nou pre-prepare. Kite m 'ale pi devan epi recharger. Epi, koulye a li nan yon trè underwhelming paj toujou. Men, si mwen hover sou there-- ak li nan yon ti kras ti, but-- ou ka wè nan pati anba a kwen men gòch nan ekran ou a, li nan tout bon ale nan google.com. Men, si mwen klike sou ki, li pral fwe m 'fason yo Google a vrè. Men, remake isit la yon opòtinite pou eksplwatasyon, jis kòm yon sou kote. Apre sa, nou pral tounen vin jwenn lòt pwoblèm nan sekirite anvan lontan. Paske gen nan dikotomi sa a ant kote ou ale ak sa ou di, ou ta ka fè yon bagay tankou this-- http://www.google.com. OK, e kounye a, si mwen Reload apre ekonomize paj sa, li sanble, mwen pral pou yo ale nan Google. Men, gen nan pa gen rezon mwen gen pou ale nan Google, dwa? Mwen te kapab aktyèlman ale nan yon bagay tankou badguy.com, Reload paj la sou isit la. Ak Avi, li toujou sanble Google. Ak sèlman si mwen byen file ase yo hover sou isit la fè mwen wè li nan menm ale nan ale nan yon kote diferan. Se konsa, si ou te janm vinn yon imèl, espesyalman yon sèl soti nan Paypal, oswa w pèdi soti nan Paypal mande w ouvri sesyon an nan kont ou, sa a se poukisa ou ta dwe pa janm tout tan tout tan klike sou lyen nan imèl, franchman, nenpòt lyen nan imèl. Si ou konnen ou gen aktyèl lajan nan Paypal oswa Bank nan Amerik oswa Fidelity oswa nenpòt sit entènèt, manyèlman tape l 'nan. Paske gade ki jan li fasil se je chèch yon moun nan prezante sa sanble yon lyen. Men, li aktyèlman te kapab ale absoliman nenpòt kote. Apre sa, nan byen lwen pi gwo menas pase sa a. An reyalite, sa a se yon ti jan nan yon tanjant, koulye a, men se yon sèl nan yo menm ki pi bon mwen te janm wè ki te gen depi lè yo te fèmen, se yon moun fè pèp to-- kidonk sa a ta ka di, klike isit la yo ale nan ou kont, yon kont labank. Lè sa a te Bank nan Wès la. Se konsa, yon moun te achte sa a. Lè li nan yon ti kras pi fasil yo wè li nan yon monokrom espace font agrandi nan sou yon pwojektè 30-pye. Men, lè li la ti font nan yon imel ke w ap resevwa, sa a sanble bankofthewest.com, pa bankofthevvest.com, kote gen yon moun te peye $ 10 yo achte. Lè sa a, sa a mennen yo nan la ekivalan nan kèk sit entènèt move. Epi ou pral wè too-- aktyèlman nou ka fè this-- si mwen ale nan sit entènèt aktyèl la, bankofthewest.com, ankò, sonje soti nan dènye fwa ke si sa a se paj entènèt yo epi yo w ap kirye ki di kòman li ap travay, ou kapab sètènman ale nan Pwomotè zouti Chrome a. Epi ou ka wè tout nan la HTML joliman fòma a. Men, plis nan pwen an, ou cam-- kite nan fèmen this-- ou ka ale nan View Developer View Sous. Poukisa nou pa mwen jis kopi nan tout sa Lè sa a, mwen ka ale nan fenèt ti kras jdi mwen isit la, epi fè pwòp sit web mwen. Sove sa a nan hello.html. Ak pwobableman sa a ki pral kraze, paske li pa sa a fasil anjeneral. Men koulye a, si mwen Reload paj pwòp m 'sou pwòp mwen CS50 Aparèy ak frape Reload, OK, kèk bagay te kraze yo. Men, mwen se trè fèmen nan li te gen pwòp sit entènèt bankè m 'yo, dwa? Tout sa HTML-- [Ri] DAVID J Malan: --I pa t 'aktyèlman epi ou konnen gen nan yon moun soti gen moun ki ta aktyèlman klike sou lyen sa yo tou. Se konsa, byen klè, kèk bagay te kraze yo. Men, ki nan ale nan mennen nou nan yon diskisyon, san nesesite kounye a, tankou sa ki CSS, kaskad dra style, yo, ak ki jan ou aktyèlman download lòt dosye yo HTML ak JPEG dosye GIF dosye ki sit entènèt la ta ka lè l sèvi avèk. Men, nan tout sa a se accomplishable. Men, li vrèman klou desann nan sa yo eristik trè senp. Se konsa, kounye a kite a jis ekreme nan yon koup la lòt egzanp nan HTML jis yo ba ou yon sans nan ki lòt bagay ou kapab fè. Pou egzanp, sa a se list.html. Sipoze mwen te vle fè yon paj wèb ak yon lis nan kay nan kwadwilatè a. Mwen ta ka sèvi ak tag nan ul pou unordered lis ak Lè sa a timoun nan lis atik ak Lè sa a repekte over-- oswa lis, rather-- kay yo nan kesyon an. Men, si mwen louvri sa a leve, kite a fè sa. Ann al pa hello.html, men yo list.html. Damn li. Kouman pou mwen ranje sa a? Li nan pwoblèm nan menm jan ak anvan, dwa? Se konsa, kite m 'fè chmod-- oops-- chmod yon + r nan list.html. Epi, koulye a si mwen tounen nan navigatè m ' epi klike Reload, gen li ye. Se konsa, si ou te janm te vle fè yon lis pus, ou ka fè sa. Si ou vle yo dwe Super anpenpan, epi fè yon lis te bay lòd, pa yon lis unordered, chanje moun ol, Reload paj la, epi kounye a navigatè a ap konte li pou ou. Ki lòt bagay nou ka fè? Oke, yon koup la others-- si ou te gen paragraf long nan text-- pou egzanp, gen kèk Tèks Latin tankou this-- epi ou vle li nan paragraf ki apa a, louvri p, fèmen p pou tag nan paragraf. Ak fè li ankò e ankò. Men, si mwen kounye a louvri moute sa a ranpli, paragraphs.html, byen, sa a a ap vin anmèdan. Se konsa, kounye a kite a jis ale tounen nan m ' rapid, chmod yon + r r zetwal .html-- yon bèl kat nan bwa ti kras se konsa pale. Li ta dwe ranje tout nan pwoblèm sa yo pou mwen. Se pou yo recharger. Genyen twa paragraf yo. Epi, koulye a kite a ale pi devan epi louvri moute yon lòt. Kouman sou tab? Ou pral remake sanble tab yon ti kras plis konplèks. Men, li la menm idea-- la tag louvri, louvri tag, louvri, louvri, louvri, fèmen tag, louvri tag. Ak sa yo rive kanpe pou tab, ki gen fwontyè se aparamman pral gen yon epesè 1-- tou sa ki ranje tab means--, tab done, ki vle di yon selil. Men, si mwen tounen nan navigatè m ' isit la epi ale nan table.html, ou ka wè yon bagay tankou sa a, efreyan. Men, nou pral jwenn nan pwen an kote nou ka aktyèlman fè bagay sa yo bèl pase pase sa. Se pou m 'ladann pou kounye a. Genyen grap nan plis Tags. Ak HTML se bèl bagay nan ranmase paske, franchman, tout sa ou bezwen fè se gade nan paj wèb ki egziste deja ak kote ou ap abitye. Epi w ap tankou, o, sa a jan yo te fè sa a estetik. Oswa ou ka gade moute nenpòt sou entènèt resous ki di kòman HTML ap travay, epi ou pral wè ke gen nan yon vokabilè antye nan lòt Tags. Men, avèk modèl la senp mantal pou kont li ki prèske nenpòt tag ou louvri te yo dwe fèmen, li vrèman sifi yo anseye tèt li HTML apre konprann sa yo lide debaz yo nan Tags ak atribi figi ak-formedness a byen ke nou te pale osijè de, fèmen nenpòt ki bagay ki nou ta ka louvri pou nou pa konfonn yon navigatè. Se konsa, kite a kounye a pran sa a yon nivo plis enteresan pa ale nan aktyèl la. Li kite yo ale nan Mac mwen an isit la, nan google.com. Epi, koulye a avi kite a fè sa. Mwen gong pou yo ale nan Anviwònman, Search Anviwònman. Mwen vle fèmen sa a enstantane anmèdan rezilta bagay kote li imedyatman kòmanse reponn a sezisman ou. Se pou yo fè sa a lekòl la pi gran se konsa nou aktyèlman wè sa ki k ap pase sou. Se konsa, mwen pral pou konsève pou m ' Google anviwònman isit la. Epi, koulye a avi, mwen pral rechèch pou yon bagay tankou chat. Epi li toujou ap fè oto konplè isit la, men ki baze sou ki bagay moun te tape nan tan lontan an. Men, remake sa k pral rive. Nan URL la nan moman sa a se sa a, jis google.com. Ak teknikman, li nan koupe. Google nan jis ekonomize yon karaktè epi yo pa ki montre nou sa. Yo montre nou https, jis yo dwe Super rasire ke nou ap nan yon paj an sekirite oswa chiffres. Se konsa, kite m 'ale pi devan epi fè rechèch pou chat. Koulye a, sa a te resevwa reyèlman akablan byen vit. Gade nan longè a nan sa a URL. Men, li sanble ke pi fò nan bagay sa a nan URL la se aktyèlman trè initil. Mwen pral kòmanse efase bagay mwen pa konprann. Mwen wè chat. Mwen konprann chat. Mwen pa konnen poukisa chat ki genyen ankò. Mwen vrèman pa konnen sa istwa san sans sa a se. Se konsa, mwen jis ale nan kenbe en ak efase bagay ke mwen pa konprann, distile URL la nan jis sa a. Koulye a, kite m 'debarase antre nan ankò. Li sanble tankou Google toujou ap travay. Se konsa, pou kèk rezon, yo ap ajoute yon anpil nan bagay pa default URL yo. Men, li pa nan estrikteman nesesè. Se konsa, sa se bèl sou sa a? Oke, kite m 'ale pi devan epi louvri moute Enspektè Chrome a. Genyen yon ti kras chemen kout sourit pou li. Ale nan tab la Network. Epi, koulye a kite m 'Reload paj sa a yon fwa plis. Apre sa, mwen kenbe Shift. Kòm yon sou kote, navigatè yo gen tandans Cache oswa sove enfòmasyon jis pou dedomajman pou efikasite la. Men, anjeneral, kenbe Shift ak rupture ap fòse tout bagay kòmanse sou depi nan konmansman an. Epi sa a, sa m 'vle fè isit la. Ak Avi tout moun sa yo ranje ki jis parèt. Li sanble ke nan nenpòt sit entènèt yo bay paj, ka gen sèlman yon sèl dosye involved-- hello.html-- oswa gen ta kapab 52, tankou nan ka sa a. Lè m 'ale nan google.com, aparamman, navigatè m ' anvwaye 52 demann HTTP ki apa a. Poukisa se sa? Oke, gade nan sa ki andedan nan sit entènèt paj moute sa a tèt. Genyen pa sèlman tèks, men gen nan imaj aktyèl nan chat sou nan bò dwat la. Genyen yon logo kolore moute isit la sou bò gòch. Genyen tout nan ikon sa yo pou yon mikwofòn ak pou fè. Genyen yon anpil nan moso, bati blòk, moso grafouyen, si ou pral, nan paj sa a web. Ak sa ki navigatè a ap fè sou ap resevwa dosye a trè premye, ki se ranje sa a isit la, li se esansyèlman iteration sou tèt la HTML jouk anba, gòch a dwat, kap chèche bagay sa yo tankou Tags imaj oswa lòt Tags ke yo mansyone lòt dosye ak lè li wè yo, ale ak èkstre yo via HTTP, solid antye anvlòp metafò, ak Lè sa a montre yo nan la kote ki apwopriye nan paj wèb la. Men, remake isit la si mwen konsantre sou premye chat yo voye jete, rechèch, remake ke, tout bon li la lè l sèvi avèk HTTP 1.1. Men, malerezman, Google Chrome kounye a nan vèsyon 39 se kalite bagay dumbing desann ak pa montre nou tèt yo vrè. Men, sa ki te voye tout bon se yon demann pou pa koupe, men / rechèch? q = chat. Koulye a, poukisa se ke enpòtan? Oke, mwen pral dégager sa a soti nan ke si ou Google sipòte demann nan fòm sa a, poukisa pa mwen aplike rechèch pwòp mwen motè pou CS50, men jis devan an fen, jis koòdone nan itilizatè grafik. Epitou, n ap konfye fen a tounen, rechèch aktyèl la rezilta sou Google. Se konsa, kouman mwen ka fè sa? Oke, kite m 'ale nan jdi sou isit la. Ak kite m 'ale pi devan epi louvri moute, kite la di, yon dosye nouvo. Men, mwen pral pou konsève pou sa a pou yon ti tan kòm rechèch-0.html. Lè sa a, evantyèlman, nou pral vit pou pi devan pou yon sèl la mwen pre-prepare. Men, mwen pral byen vit fwe moute kalite doc html louvri bracket html fèmen bracket html. Lè sa a, mwen pral fè tèt fèmen tèt tit louvri CS50 Rechèch olye pou yo Google rechèch. Desann isit la mwen pral gen kò a, kò desann isit la fèmen. Epi, koulye a mwen bezwen CS50 Search. Ak aktyèlman, se pou yo bati sa a incrémentielle. Mwen pral ale pi devan epi fèmen sa a epi aktyèlman mete l 'nan anyè piblik m' yo. Se konsa, ban m 'jis youn ti moman. rechèch-0.html-- mwen pral tanporèlman rele li search.html. Mwen pral chmod li yon search.html + r. Epi, koulye a mwen pral louvri li. Tout dwa, se konsa sa ki te vit. Men, objektif la tou senpleman te jwenn nou nan pwen an ki gen tèks sa a dosye rele search.html. Se konsa, pa anpil fè yon gade nan ankò. Vreman vre, si m 'ale nan navigatè m', ak ale nan search.html, ki nan tout li ye. Men, ou konnen ki sa? Mwen kapab yon ti kras amateur. Mwen li nan yon liv ki gen nan yon tit tag rele H1. Men, mwen pral ale pi devan epi sèvi ak sa H1 ouvè ak fèmen H1. Reload paj la. Epi, koulye a li nan pi gwo ak odasyeu, pa tout sa ki enteresan, men omwen li struktural plis enteresan. Men koulye a, kite m 'prezante yon lòt tag. Li sanble gen nan yon tag fòm. Ak kite m 'fèmen ki tag. Epi li vire soti gen nan yon tag opinyon ki gen yon atribi rele kalite, ki se tip nan done nan jaden an, si ou pral. Epi se pral fè nan tèks kalite. Epi se valè li yo pral yo dwe CS50 Search. Fèmen tag. Apre sa, k ap pase yo dwe pa gen okenn nosyon nan louvri ak fèmti ak tags ki apa a. Kite m 'ale tounen sou isit la ak wè sa ki k ap pase sou, recharger. Lè w enteresan. Li sanble ke li nan yon jaden tèks. Ak aktyèlman, mwen pa t 'vle yo mete yon valè gen ankò. Kite m 'ale tounen isit la ak aktyèlman jwenn m de sa a valè a kenbe li senp. Olye pou yo yon valè, ki sa mwen te vle bay bagay sa a se te yon non. Apre sa, mwen pa konnen sa li ye, Se konsa, mwen pral tounen vin jwenn sa. Men, anba a ki, mwen vle fè kalite opinyon = soumèt. Ak valè sa a pral CS50 Search. Epitou, n ap wè poukisa mwen deplase valè nan nan sa a. Lè m 'Reload, mwen sanble yo kounye a gen kòmanse yo nan rechèch pwòp mwen motè, super efreyan, menm si franchman, li nan pa yon jete byen lwen soti nan sa ki Paj default Google la sanble. Si m 'ale isit la kounye a, mwen ka tape nan chat, ak èspere ke klike Search. Men, mwen pa byen fè ankò, paske mwen pa te aplike, evidamman, yon baz done. Mwen pa te ranpa a entènèt pou rezilta rechèch. Se konsa, mwen bezwen konfye ki sou Google. Se konsa, kouman mwen fè sa? Oke, premye nan tout mwen bezwen ajoute ak aksyon atribi tag fòm mwen ke se http://www.google.com/search. Apre sa, mwen konnen ke se sèlman soti nan gen dedwi pa gade ak anpil atansyon nan URL la yo. Epi, koulye a pran yon devine. Kisa mwen ta dwe sa jaden tèks pwobableman dwe rele, ki baze sou ki kote nou te vin soti nan anvan an? ODYANS:? Q. DAVID J Malan:? Q. Epi nou pa aktyèlman bezwen kesyon make li vire soti, men q se vre li, q pou rechèch pwobableman pa default, jis paske sa a, se sa Larry ak Sergey te vini ak ane de sa. Se konsa, kounye a kite m 'Reload paj sa a. Li pa gade tout sa ki diferan. Men koulye a, gade sa ki rive. Si m 'tape nan chat ak klike sou CS50 Search ak kite ale, remake mwen jwenn whisked ale nan aktyèl Google. Koulye a, Google se ke yo te yon ti kras anmèdan nan yo ke yo ap ajou yon paramèt adisyonèl, si ou pral, nan URL la. Sa a tout kap pase otomatikman sou Google bò. Pati nan enpòtan se ke mwen sanble yo te pwodwi demann sa a isit la. Ak tout bon, sa a, se sa ki rive. Lè ou gen HTML ki sanble tankou sa a, sa a se sòt de devlopè entènèt notasyon pou li di, ale pi devan epi kreye yon fòm ki lè li nan soumèt, li a pral pou yo ale nan URL sa a. Lè te URL la bay valè pou bagay sa yo tankou q, pa ale jis nan URL sa a. Aktyèlman, ale nan kesyon make ak Lè sa a q = chat. Kole paramèt la, nan Paramèt HTTP tankou sa. Ak jis yo dwe Super egzak, sa k ap dedwi isit lan-- men mwen pral gen plis explicit-- se ke metòd la mwen vle sèvi ak se jwenn, olye pou yo yon bagay tankou pòs, ki nou pral evantyèlman wè. Se konsa, nan kout, tou senpleman pa konprann HTML ak lè l sèvi avèk kèk Tags jistis senp, nou kapab kounye a kòmanse kreye pwòp devan itilizatè fen nou an koòdone ak yon rechèch motè dèyè li. Men, sa a nan kou, se trè efreyan. Se konsa, kite m 'aktyèlman louvri moute yon vèsyon yon ti kras pi byen. Sa a se yon sèl la mwen prepare nan avanse ki gen kèk kòmantè. Men, ou pral wè ke mwen bèl anpil rkre li. Se konsa, sa a se deja disponib sou entènèt. Apre sa, mwen t 'rive preemptively ale nan https jis kenbe li senp. Epi, koulye a kite a louvri moute yon iterasyon pwochen nan sa a. Se vèsyon 1 olye pou yo 0. Ki sa ki sote soti nan ou kòm yon ti kras diferan nan egzanp sa a? ODYANS: [fèbl]. Yeah, gen nan sa a sant aliman tèks. Sa a se yon ti kras etranj moute isit la. Men, sa a se vre nouvo. E petèt devine kisa ki pral rive. Si m 'ale nan navigatè m' kounye a ak vizite rechèch-1.html, li nan prèske menm bagay la. Men, li la yon etap pi pre ke yo te yon ti kras pi plis bèl. Li nan toujou lèd, men bèl pase nan ki omwen tout bagay a kounye a santre. Se konsa, li vire soti ke sa m ap lè l sèvi avèk se yon lòt lang tout ansanm rele CSS, kaskad dra style. Ak CSS, franchman, se kalite nan, nan opinyon pèsonèl mwen, yon lang atrociously fèt. Li se trè anmèdan yo sonje tout detay yo divès kalite. Men, li se sa ki stylizes la tout entènèt atravè lemond jodi a. Mwen kouri kite yon moun. Tout dwa. Se konsa, kite a ale tounen isit la ak wè ki jan nou ap aktyèlman lè l sèvi avèk sa a. Epi li vire soti, omwen li a aktyèlman yon lang trè senp. Se jis nan valè kle pè, pwopriyete ak valè, pwopriyete ak valè. Vreman vre, isit la se youn pwopriyete sa yo ak valè. Senpleman lè l sèvi avèk style la atribi sou tag kò mwen an ak bay li yon valè nan yon kolon mo ak yon lòt mo, oswa yon pwopriyete ak yon valè, Mwen kapab afekte estetik yo nan paj wèb la, pa nesesèman estrikti a ankò, men estetik yo nan li. Ak jis pa Googling alantou li, mwen reyalize ki fèy papye CSS, style kaskad, sipòte yon pwopriyete rele tèks-aliman, ki gen valè kapab dwe kite, dwa, oswa sant, pou egzanp. Se konsa, kounye a lè mwen Reload paj sa a, ki sa mwen t 'jwenn te yon paj santre, men yo toujou trè lèd. Se pou nou ale pi devan epi louvri moute vèsyon 2 nan rechèch la. Epi, koulye a remake mwen te fè yon ti kras plis. Remake moute isit la andedan nan tèt la tag, kapab genyen plis pase tit. An reyalite, gen nan yon tag style. Lè sa a se kote li jis vin yon ti kras sal CSS Vue pafwa. Avi ke mwen sanble yo gen yon bagay ki struktural sanble anpil diferan. Men, isit la se non an nan tag a mwen vle stilize. Isit la yo se zanmi fin vye granmoun nou an Curly aparèy òtopedik ak fèmen atèl Curly. Lè sa a, isit la se ke pwopriyete ak valè li yo. Si m 'chaje sa a ranpli, search2.html, rezilta nan fen se idantik. Men, li la yon etap nan direksyon pi bon konsepsyon. Pa faktè soti CSS sa a, mwen te pa melanje l 'ak HTML m' yo. Ak tout bon, jan nou pral wè, mwen te kapab jam itilize sa yo pwopriyete ak valè. Si m 'te vle fè grap rezen pati ki gen nan paj entènèt mwen an santre, Mwen pa gen tape kalite = tèks-aliman sant sou tout plas la. Mwen ka mete nan yon sèl kote petèt, renmen moute nan tèt la. Men, menm sa a se pa desen an pi byen. An reyalite, youn nan bagay ki ou pral aprann kòm ou depanse pi plis ak plis tan ak pwogram entènèt se ke plis a ou kapab modularize bagay sa yo ak bagay sa yo faktè soti tankou dosye h se pou nou bagay faktè soti, renmen helpers.c se pou nou bagay faktè soti yon psets kèk de sa. Menm jan tou, ta ka nou vle reyalize sa a. Se konsa, remake nan vèsyon twa nan search.html Mwen te netwaye tèt la nan paj la epi jis mete nan sa a, yon tag lyen, ki kontrè ak non an, pa ba ou yon ipèrlenk. Li lyen ki mennen nan yon lòt dosye pa fason pou yon href ki gen valè nan ka sa a, se rechèch-3.css Se konsa, mwen reyalize nou ap ale byen vit. Men, tout mwen fè se kalite nan k ap deplase bagay sa yo alantou. Kite m 'louvri rechèch-3.css. Gen li se, pa gen anyen vrèman nan li. Mwen jis kopye ak kole l 'nan yon nouvo ranpli, anpil tankou nou faktè bagay soti nan lòt dosye anvan. Epi result-- la konplètman underwhelming-- a pwal ekzakteman menm bagay la. Men, nou ap deplase toward-- pa gen okenn, li pa. Oh, mwen konnen poukisa. Se konsa, li sanble yo dwe yon ensèk. Epi li se nan kèk sans. Men, se pou m 'louvri moute tab Rezo mwen. Kite m 'Reload paj la. Ah, poukisa se CSS la pa te aplike? Oke, dosye a CSS, Menm jan an tou, gen yo dwe mond lizib, se konsa pale. Epi li twò se kounye a entèdi. Se konsa, kite m 'fè yon chmod yon + r nan zetwal dot CSS-- whoops-- nou ap dot CSS se jis nan ekstansyon dosye pou dosye CSS. Koulye a, kite m 'ale tounen nan navigatè m 'ak Reload. OK, yon ti kras pi byen. Koulye a, kite m 'fè yon sèl bagay dènye. Nan rechèch-4.html. Mwen gen yon vèsyon ke mwen jis te panse te fason pi fre, kwake fason pi plis konplike. Se pou yo gade nan rezilta a an premye. Fèmen sa a ban nou plis chanm. Chanje sa a nan rechèch-4, Antre. Epi, koulye a yo yon pakèt moun sou bagay sa yo kase. Mwen pral tounen nan anyè m 'isit la. Epi, koulye a, mwen jis pral fè yon chmod nan yon + r sou yon file-- paske mwen konnen li exists-- rele logo.gif, ki se yon imaj. Epi, koulye a recharger. Epi wow-- se konsa kounye a mwen se bèl fèmen, franchman, renmen vèsyon an 1999 nan Google, ak franchman, vèsyon an 2014 nan Google, dwa? Se konsa, li kounye a ale nan sit entènèt yo, finalman, si mwen fè rechèch pou chat. Ak tout bon li ye. Men, sa ki t 'mwen fè yon fason diferan nan vèsyon sa-a 4? Se konsa, nou pa pral rete twòp sou li isit la. Ou pral wè sa a nan pwoblèm pran sèt evantyèlman. Men, remake mwen te fè yon bagay kèk. Mwen prezante yon div tag, ki se divizyon, menm jan an nan lespri nan yon tag paragraf. Men, yon divizyon se jis tankou, isit la nan yon rejyon rektangilè envizib nan ekran an. Se pou yo bay li yon inik idantifyan, yon footer, jis pou nou ka pale sou li nan HTML nou an yon lòt kote. Isit la se yon lòt div nan paj la ki gen ID a pwal kontni. Li nan kontni an nan paj la. Ak moute isit la se header a nan paj la. Nan lòt mo, mwen te esansyèlman nan HTML menm mantalman gade paj entènèt sa a kòm twa eleman, yon header moute isit la ak rektang envizib sa a, kontni an nan mitan an, ak Lè sa a footer a desann anba a, menm menm si nou pa wè bagay sa yo. Paske mwen vle nan tèt mwen nan paj isit la, oswa nan yon dosye CSS, Mwen ka itilize sa a sentaks. Header se pa yon tag. Se yon ID konsa li vire soti ki pa fè # header, Mwen kapab kounye a aplike youn oswa plis pwopriyete header la. Mwen kapab fè kontni an menm, menm bagay la tou pou kontni isit la. Se konsa, pou egzanp, nan footer a, avi tout nan sa yo pwopriyete mwen ajoute. Apre sa, mwen konnen yo egziste jis pa lekti moute sou dokiman an pou CSS. Gwosè Font a pwal smaller-- se konsa kèk relatif font size. Pwa a se pral fè karaktè fonse. Margin-- konbyen piksèl alantou l-- se 20 piksèl. Epi li k ap pase yo dwe santre. Men, kounye a, paj la sanble tankou sa a. Si mwen pa kontan ak kopi m 'dwa a, Mwen te kapab fè yon bagay tankou koulè wouj. Lè sa a, mwen ka sove sa a, Reload, e kounye a, mwen te stilize footer la. Se konsa, sa a se jis Sa anpeche nan pouvwa a nan sa ki ou ka fè nan yon paj entènèt chanje bagay sa yo alantou. E menm pi fre pase sa a, si ou vle pike otou ak sit aktyèl, ou pa kapab pou tout tan chanje yo. Men, si mwen louvri moute Enspektè Chrome a ankò epi mwen pa ale nan bò men gòch isit la, ki montre HTML Facebook a, men montre sou bò dwat la bò men tout nan CSS li yo, ou ka swa ak chanje bagay sa yo sou vole a. Se konsa, kite m 'ale pi devan epi fè sa. Kite m 'ale pi devan ak kontwòl klike sou pawòl Bondye sa a o aza isit la, siyen, ak klike sou Enspekte Eleman. Chrome trè fasilman sote tag nan H1 ki Facebook ap itilize ap itilize. Ak Avi isit la Facebook gen kalite paresezman difisil kode font size kòm yon pwopriyete isit la. Se konsa, bagay la fre si se ke si mwen aktyèlman ale nan isit la epi di, o, Facebook, mwen pa renmen sa 64 piksèl, nou kapab kounye a chanje Facebook. Natirèlman, nou ap sèlman chanje li pou m 'pèsonèlman nan moman an. Men, sa a se jis yon lòt zouti nan twous zouti nou an ki nan ale nan pèmèt nou ajiste ak figi konnen epi tou dyagnostik pwoblèm nan pwòp paj wèb nou an. Apre sa, nou te kapab Menm jan an tou ale sou isit la, ki se menm bagay la. Si ou reyèlman vle jwenn anpenpan, Mwen vle di, kounye a ou ka reyèlman k ap paj la ak fè bagay sa yo fou. Se konsa, poukisa se sa a tout itil? Oke, finalman, nou ap ale nan vle gen kapab kreye paj wèb ki ki kondwi pa pwòp bout tounen nou an, pa pa jis Google ak externalisation fen a tounen la. Nou aktyèlman vle a valè, pou egzanp, nan aksyon motè rechèch nou an atribi yo ale pa yon lòt moun, men yo yon bagay tankou search.php, ki kote search.php se sou sèvè pwòp nou an, pa sou lòt bagay yon moun. Se konsa, yo ka resevwa gen, nou aktyèlman bezwen prezante yon nouvo lang. Se konsa, nou te deja gade yon nouvo lang isit la, oubyen de reyèlman, HTML ak CSS. Men, yo te reyèlman yo se jis estriktirèl ak ayestetik lang. Yo pa ap pwogramasyon lang se pou chak. Epi sa a, sou kòm anpil fòmèl tan kòm nou pral depanse sou yo. Paske nou pral kòmanse kounye a pou tranzisyon nan PHP. Se konsa, PHP se yon vrè lang programmation. Li se yon lang scripting nan sans ke li nan vle di yo dwe pi lejè pwa pase yon bagay tankou C. Lè li nan yon lang entèprete, ki vle di li pa nan konpile. Se konsa, nan yon Nutshell, ki sa sa vle di lè nou itilize yon lang tankou c epi nou te gen yo konpile li? Kisa sa vle di konpile C kòd sous? ODYANS: [fèbl]. DAVID J Malan: Di l 'ankò? ODYANS: [fèbl]. DAVID J Malan: pafè. Li sanble l 'nan binè. Li sanble l 'nan zero ak moun yo soti nan aktyèl angle ki tankou kòd sous. Lè sa a, nou kapab aktyèlman kouri moun zero ak moun yo pa pase yo nan la CPU pa doub klike yon icon oswa kouri yon lòd. PHP ak Piton ak Ruby ak pèrl ak JavaScript ak grap nan lòt lang yo entèprete lang, sa vle di ou pa konpile yo. Olye de sa, ou ba yo manje kòm opinyon yon pwogram yo rele yon entèprèt. Epi sa entèprèt, ki yon lòt moun te ekri, li sous Kòd tèt ou a anba, gòch a dwat ak jis entèprete liy sa yo ak fè sa ou di. Se konsa, si ou rankontre yon liy ki di ekri ak lèt ​​detache, li pa nesesèman konvèti ekri an lèt detache zewo yo ki koresponn ak inite. Li jis gen sa a entèprèt tankou yon si kondisyon gwo ki di, si enstriksyon pwogramè a se ekri ak lèt ​​detache, lè sa a fè bagay sa a. Se konsa, li entèprete li jis pa kalite rezònman anba sa w ap di li fè. Ak PHP se youn nan lang sa yo. Ak PHP ane de sa te fèt jisteman pou pwogram entènèt. Epi li te okòmansman yon trè peu ak lang sal. Ak tout bon, gen nan yon gwo kantite lajan nan move Kòd PHP yo deyò. Men, lang nan tèt li gen ase matirite sou ane yo, anpil pou ke kounye a li nan aktyèlman yon bèl bagay pwochen etap pedagojik soti nan C paske li nan se konsa abitye nan tout bagay fichu ou te jis wè nan semèn ki sot pase kèk. Youn premye Diferans lan nou pral wè se gen nan pa gen fonksyon prensipal ankò. Lè w kòmanse Kòd ekri, li nan jis pwal jwenn egzekite pa gen pwoblèm sa, jan nou pral wè nan yon moman. Pandan se tan, isit la nan ki sa yon varyab sanble nan PHP. Li se yon ti kras diferan, men se sèlman apèn. Nan PHP, gen nan pa fò sezisman. Genyen semèn sezisman, ki jis vle di gen yo se done kalite tankou strings ak nimewo ak lòt bagay. Men, ou pa bezwen deranje espesifye ki sa yo ye ankò. PHP figi li soti pou ou. Siyen an dola se jis yon desizyon ke moun yo te fè PHP ane Anons sa pibliye depi sa yo ki nenpòt ki varyab nan PHP jis kòmanse ak yon siy dola. Li nan aktyèlman kalite itil nan ki li sote soti nan ou yon ti kras plis. Men, apre sa, sa a se yon kondisyon nan PHP. Ki sa ki nan diferan kont C? Trick question-- pa gen anyen, ki se aktyèlman reyèlman bèl. Ekspresyon Boolean nan PHP-- menm bagay la. Ekspresyon Boolean ak ak kont oswa, switch, pasan, pasan, loops-- OK, yon sèl sa a se diferan. Se konsa, li vire soti gen nan yon koup la lòt karakteristik nan PHP. Youn nan yo se aktyèlman sa a, ki se bèl pratik. Si $ nimewo se yon etalaj ke ou te te deklare deja nan yon pwogram, ou gen anpenpan sa a pou chak konstwi ki olye pou yo fè nan tout sa anmèdan mwen egal 0, mwen se mwens pase sa a, [? Mwen ++?], pou chak nimewo kòm nimewo, kote chak nan valè sa yo siy dola se jis yon varyab, ak lèt ​​la ou ka panse a kòm I. Ou te kapab rele li anyen ou vle. Mwen rele l 'nimewo. Sa a se pral repekte sou etalaj la rele nimewo. Yo, epi sou chak iterasyon, li nan ale nan otomatikman mete ajou pou ou nimewo a siy dola varyab pou ke ou toujou ap gen aksè a varyab la ou vle san yo pa gen fè nenpòt bracket kare notasyon oswa Indexing nan yon etalaj. Beyond sa, nou menm gen bagay sa yo tankou ranje, ki gade prèske menm bagay la, eksepte li nan trè komen, menm jan nou pral wè, tou de nan PHP ak JavaScript nan pre inisyalize yon etalaj lè l sèvi avèk parantèz kare. C sèvi ak aparèy òtopedik Curly. Se konsa, li yon ti kras diferan, menm si nou pa t 'reyèlman sèvi ak sa jwe fent anpil. Men, menm plis pwisan, PHP gen ranje asosyatif, ki se yon fason anpenpan nan di tab regle. An reyalite, si ou vle deklare yon regle tab nan PHP, kontrèman ak nan C-- konbyen liy nan kòd sa te pran aktyèlman aplike yon tab regle nan C? Oswa ki jan anpil liy nan kòd se li pran aplike yon tab regle nan C? Se konsa, li la pwobableman yon anpil, dwa? Li nan yon douzèn kèk, petèt 100 oswa 200. Li nan nontrivial. Oswa li a sou yo dwe, kòm ou pral byento wè, nontrivial aplike yon tab regle [Fèbl] epi tou yon eseye. Men, nan PHP-- ak franchman, mwen pwobableman pa ta dwe di ou sa a jouk Monday-- nan PHP, si ou vle yon tab, fè. Sa se yon regle table-- konsa ak yon sèl liy nan kòd. Epi Yon anpil nan lang fè sa. Pran plezi ak pset senk. Se konsa, yon anpil nan lang fè sa. Yo ba ou Abstraksyon sa yo ke lòt moun, lòt pwogramasyon, te kreye pou ou pou ke ou ka kanpe sou zepòl yo epi yo kòmanse lè l sèvi avèk ide ki yo se super irezistib, tankou tab regle ak pye bwa epi eseye. Men, ou pa nesesèman gen yo aplike bagay sa yo tèt ou. Se konsa, finalman, sa ki nou ap ale nan sèvi ak PHP pou se potansyèlman ekri pwogram nan liy lan bay lòd sa yo rele. Nou te ka rkree chak pwogram nou te ekri sa a semès konsa byen lwen, eksepte petèt pti ki itilize spl, ki se espesifik nan C nan moman an. Men, chak pwoblèm lòt mete, sètènman Mario ak Seza tande kòz ak Vigenere ak [? Krak?] Ak pati, nou te kapab re-aplike nan PHP, ak pwobableman yon ti kras pi fasil. Men, sa ki nou ap finalman pral yo sèvi ak PHP pou se pwogram entènèt. Epi nou ap ale nan entwodui pwochen semèn yon modèl mantal, yon paradigm rele Mv, modèl View kontwolè, ki si ou te fè pwogramasyon anvan nan Piton oswa Ruby oswa yon lòt kote, ou ta ka konnen nan ekip sa a ak Ray ak django ak renmen an. Men, si ou se nouvo nan sa a tou, ou pral wè ke sa a se aktyèlman yon trè natirèl ekstansyon pou faktorizasyon a ak sòt la nan konsepsyon nan kòd ki nou te te fè nan C. Nou pral kounye a aplike kèk nan moun leson PHP se konsa ke finalman, nou se mete ann aplikasyon sit pwòp nou yo. Epi si w ap sòt de ipnotize oswa sezi ke nou ap ale nan fè tout nan la vit konsa, reyalize ke prèske chak semès, prèske 90% elèv CS50, ki gen ladan moun ki pa janm pwograme anvan, fini fè pwojè final ki yo baze sou pwogram entènèt. Se konsa, ou pral wè ke retounen yo yo wo anpil nan semèn kap vini. Se konsa, nou pral wè ou Lè sa a, nan Lendi. Oratè 1: Epi, koulye a, Deep Refleksyon pa Daven Farnham. Tab regle. [Ri]