[Daqq ta mużika] DAVID J Malan: Kull dritt, welcome lura. Dan huwa CS50. Dan huwa l-aħħar ta 'ġimgħa seba. U huwa l-aħħar ta 'dak kennies kaċċa minn problema stabbiliti erba li inti tista 'recall. Wara tirkupra kollha ta ' dawk JPEGs tal-persunal, inti ġew sfidati, jekk inti tixtieq, li r-ritratt ruħek ma kif ħafna ta 'dawk folks kemm tista'. Aħna ltqajna mazz sħiħ ta 'sottomissjonijiet matul l-aħħar ftit ġimgħat, tabilħaqq, pjuttost dritt ftit qabel nofsinhar illum, li wħud minnhom huma dawk hawn, maqbuda hawn in-- jistenna like-- Annenberg Hall fil ħinijiet tal-uffiċċju, wieħed hawn fil Lowell Kamra ma Nick. Hawn Ramon jinqabdu fuq it-telefon. Dan kien fi ikla CS50. Dan kien Jason Skyping ma classmate aktar kreattivi, li phoned lilu b'dan il-mod. Ma nafux liema dan kien. [Rires] DAVID J Malan: Imma li jiswew gigabyte. Hawnhekk huwa Chang, li litteralment dam off-istadju biex jevitaw li jkunu fotografat wieħed jum, iżda kien eventwalment maqbuda. Hawnhekk huwa Nick. Hawnhekk huwa Nick. Hawnhekk huwa Nick. U hawn huwa Alison mill-oqsma. U Zamyla anki instab fi kompetizzjoni ballroom. Allura aħna se jmorru permezz dawn ir-ritratti, insemmu li ssottometta l-aktar l-aktar kmieni, u l-premju premju wieħed fabulous, kif imwiegħed fil-spec. U aħna ser wkoll segwitu dwar l-ispazju li kien involut. Koppja ta 'announcements-- hekk ikla huwa, għal darb'oħra, dan Ġimgħa fl 1:15. Jekk inti tixtieq li jingħaqdu magħna, RSVP f'dak URL hawn. Jason jerġa jkun jidher hawn minn wieħed tas-sezzjonijiet ftit ta 'snin lura, li ġara li jaqa 'fuq Halloween. U fil-fatt, huwa dressed bħala qara dik is-sena partikolari. Jekk inti tara din it-taqsima tal mit-taqsima tiegħu 2011 tmienja, jekk inti kurjużi, fil CS50.tv, I think din kienet is-sena li fiha arja tal-pompa tiegħu kien jaħdem. Jekk inti mbagħad tara l- taqsima simili fl-2012, tkun taf tara dan Jason ħafna iddeflazzjonat, peress li l-libsa m'għadux servew, li huwa biss li jgħidu nhar il-Ġimgħa, jekk youd simili carve qara ma Daven u Gabe u oħrajn, RSVP lill-kapijiet fl-indirizz cs50.harvard.edu. Li jipprometti li jkun gost kbir. Daven, aħna qed told, minquxin Pumpkins kollha tal-ħajja tiegħu. Gabriel mill-Brażil qatt ma minquxin qara għall Halloween. Allura jkun hemm magħhom kif jiskopri. Seminars, meanwhile-- sabiex inti ser jitgħallmu malajr dwar liema aspettattivi tagħna huma għal il-proġett finali, li essenzjalment se jsarrafx biss fl tfassil u l-implimentazzjoni aktar xi proġett ta 'interess għall- inti, għalkemm soġġetti għall-approvazzjoni u gwida minn sħabi tagħlim tiegħek. Lejn it-tmiem tal- semestru, aħna jintroduċu numru ta 'seminars, li huma klassijiet fakultattivi mmexxija mill-fellows tagħlim u Harvard persunal, ħbieb tal-kors madwar kampus, fuq suġġetti varji li huma tanġenzjali għall- sillabu sottostanti kors ta iżda madankollu applikabbli, gost, u differenti għall-proġetti finali potenzjali. Per eżempju, l-ewwel, jekk inti tixtieq biex jirreġistraw, ras għal dak URL hemmhekk. U dan huwa l-lineup għall seminars din is-sena biss. Imma tirrealizza għandna għexieren ta ' seminars minn snin imgħoddija, li kollha huma marbuta fil-menu Seminars għażla tal-websajt tal-kors tal-. Mela jekk inti qed jaħsbu dwar li jmorru lil hinn żona kumdità tiegħek jew picking up xi ħiliet ġodda, per eżempju, programmazzjoni iPhone apps bi Swift, lingwa ġdida minn Apple jew Oġġettiv-C jew Android apps jew l-ipprogrammar [? CUÉ?] bozoz tad-dawl, jew kwalunkwe mis-suġġetti up hawn u aktar, check dovut l-paġna ta 'reġistrazzjoni. Allura bdejna u konkluż It-tnejn ma tħares lejn HTTP. Allura HTTP refresher-- malajr, HyperText Trasferiment Protokoll. Imma dak li verament ma jfisser? Dak li verament ma jfisser? Huwa li idejn? Naf int biss grif ras tiegħek. Iżda inti tixtieq li tipproponi liema HTTP hu? Udjenza: Kif kompjuters jikkomunikaw ma [inaudible]. DAVID J Malan: tlift l-aħħar parti. Kif il-kompjuters jikkomunikaw with-- Servers Internet: udjenza. DAVID J Malan: Good-- mal internet servers, u speċifikament, servers mill-web. Minħabba recall, hemm mazz ta ' servizzi fuq l-internet, li wħud minnhom tuża probabilment kuljum bejn chat u l-messaġġ, chat, u l-web, u l-email, u simili. U HTTP huwa biss il- protokoll li web browsers jitkellmu meta tikkomunika mal servers mill-web, u viċi versa. U l-Analog fil- dinja tal-bniedem jista 'jkun, I jestendu naħa tiegħi biex ħawwad xi Oħra tal-bniedem u hu jew hi jirrikonoxxi billi testendi tiegħu jew idejn tagħha kif ukoll. Allura dan huwa biss protokoll, sett ta 'konvenzjonijiet. U liema tabilħaqq huma dawk il-konvenzjonijiet? Ukoll, hija biss jeħodna għall jibgħat messaġġi quddiem u lura, kif aħna jidhru hawn. U hemm koppja ta 'modi li tista 'tibgħat dawn il-messaġġi. U forsi l-aktar komuni hija magħrufa bħala get. U aħna ser tara kuntrast għal dan qabel twil. Iżda talba tikseb minn browser għal server biss tidher bħal dan. Huwa mazz ta 'test li tpoġġi ġewwa ta 'pakkett virtwali. Fuq barra ta 'dak pakkett mur biċċiet koppja ta 'dettalji. X'hemm bżonn li jmorru fuq il- pakkett, biex ngħidu hekk, sabiex tikseb talba bħal dan mill me għal web server? Yeah. UDJENZA: Indirizz IP tiegħek. DAVID J Malan: indirizz IP tiegħi fil-qasam Mill, biex ngħidu hekk, u ta 'kors, l- indirizz IP riċevitur. Iżda fil-każ ta 'pakkett web, għandna bżonn ftit aktar dettall Huwa mhux biżżejjed biss biex ibgħat envelop għal server, minħabba li server jista 'jkun jisimgħu għal tipi differenti ta 'traffiku internet. Allura x'iktar do we bżonn minbarra IP tar-riċevitur? Yeah? UDJENZA: Huwa TCP? DAVID J Malan: Tajba. TCP-- UDJENZA: Indirizz. DAVID J Malan: Indirizz, jew port, kif huwa msejjaħ. Qrib, iżda numru port TCP. U hemm mazz ta 'dawn. Iżda b'mod kostanti l-aktar familjari għandhom eventwalment jkun ta '80, li huwa l-default dak użat għat-traffiku tal-web. U ieħor familjari wieħed dalwaqt se tkun 443, li huwa użat għall-web sigur traffiku, URLs li tibda bil https. Allura dan huwa dak li tmur ġewwa ta 'dak il-pakkett. U jiksbu / ifisser biss, jagħtu lili il-web page default. Agħtini l-għerq tal-hard issuq fuq dik web server. U wieħed jittama, il-web server se tirrispondi, OK u n-numru 200, li huwa biss konvenzjoni tgħid, iva, kollha huwa tabilħaqq OK. Hawn il-paġna. It-tip tal-paġna web se jkun it-test, iżda b'mod aktar speċifiku, HTML, li aħna qed madwar biex adsa lura fis. U l-dot dot dot biss mezzi, hawnhekk huwa l-HTML. U li fejn aħna jittellgħu l-istorja llum, fatt bil-miktub HTML, HyperText Markup Language, li hija l-lingwa li biha paġni web huma miktuba. Mhuwiex lingwa ta 'programmar. M'hemm l-ebda funzjonijiet jew ħoloq jew kundizzjonijiet. Huwa lingwa markup, kif ukoll għal darb'oħra tara llum, li jippermetti li inti tispeċifika kif għandhom jistrutturaw u stylize estetikament web page. Allura dan kien il-wieħed u biss paġna aħna verament ħares lejn, jekk fil-qosor, nhar it-Tnejn. U avviż ftit Karatteristiċi ewlenin. Hemm ħafna ta 'open angolata parentesi u bracket angolata qrib. Fil bejn dawk angolata parentesi huma kliem. U aħna qed tmur biex tibda ssejjaħ dawn il-kliem tags. Ras bracket hekk miftuħa u l-kap bracket magħluqa huma l-tags miftuħa u magħluqa, jew il-bidu u tat-tmiem tags rispettivament, ta 'element HTML, kif aħna ser sejħa hija, imsejħa ras. U tapplika l-istess jargon għall-ġisem fil-HTML u ibqa 'sejjer hekk. U x'hemm sbieħ huwa HTML-- u tabilħaqq, aħna ser jqattgħu terriblement ftit ħin fuqha, għaliex inti ser aktar biss insemmu liema karatteristiċi għandu meta inti fil-fatt ikollhom problema konkreta li solve-- inti ser issib li browser huwa pretty dumb. Huwa biss se do-- ma b'differenza a computer-- dak li inti tgħid li tagħmel. U hekk meta jkollok miftuħa HTML parentesi fil-quċċata ħafna hemm, li essenzjalment ifisser biss, ħej, browser, hawn taqa 'paġna web miktub fil HTML. Meta jara bracket miftuħa ras, li biss ifisser, ħej, browser, hawnhekk jidħol l-ras, jew il-porzjon topmost tal-paġna web tiegħi. Meta jara bracket magħluqa ras, li biss ifisser, ħej, thats it għall-ras. Standby għal xi ħaġa oħra. U li xi ħaġa oħra huwa apparentement ser tkun il-korp. U meta inti ma jkollhomx tikketta, bħall- int għadek hello, comma, dinja, li jinsab biss se tkun test nej li finalment hija murija fil-iskrin. Issa, inti ser ikollok avviż wisq l-indentazzjoni hawn. Inti tista 'probabbilment jinferixxu kif aħna qed stylizing dan. Kull darba I tiftaħ tag, biex ngħidu hekk, I inċiż. U kull darba I qrib tikketta, I un-inċiż, simili fl-ispirtu għal ċineg kaboċċi. U lil hinn minn dak, jien tip ta 'użu ġudizzju tiegħi. Avviż li jien ma jolqot laqtu Ikteb ġewwa ta 'dak lametta tal-titolu. Għaliex? Well, I biss iddeċieda li stenna ftit aktar nodfa lili, il-bniedem, għal ftit ma jolqot tagħmel dan. Għalhekk għal darb'oħra, hemm xi sentenza jitlob biss bħal hemm fis-C jew kwalunkwe lingwa. Iżda tinnota wkoll li din indentazzjoni jippresta ruħu għal mudell mentali, ma tgħabbix iżżejjed jikkumplikaw dan. Iżda siġra, id-dritt? Jekk taħseb ta 'web paġna, apparentement bil-miktub bħal dan, bħala nicely inċiża li mod, inti tista 'kważi think tal-kategorija miftuħa HTML tag bracket magħluqa demarkazzjoni l-għerq ta 'node, siġra tal-familja node stil fl-istil tas-siġar ħarisna lejn Ġimgħa li għadda. U fil-fatt, aħna għandna fuq il-lemin hawn dak li aħna ser sejħa DOM, D-O-M, dokument mudell oġġett, mod fancy ta 'tgħid siġra li tirrappreżenta dak HTML. U tinnota li HTML għandha, aħna ser ngħidu, bħal siġra tal-familja, żewġt itfal. Fuq ix-xellug huwa l-kap. Dwar id-dritt huwa l-korp. U biss bħala eżerċizzju ħsieb mindless, ras, naturalment, għandha kemm ħafna tfal skond din l-istruttura? Allura wieħed biss, title-- u hu għalhekk li għandna il-vleġġa jmorru minn ras għat-titolu. Allura huwa bħallikieku dik il-persuna fil- siġra tal-familja kellhom wieħed biss frieħ. U mbagħad titolu innifsu jista jingħad li jkollhom tfal wisq. Ifakkar li l-HTML kellha hello, comma, dinja taħt dan. U stajt sempliċiment irtirat hu fi ħdan ovali minflok ta 'rettangolu biss biex twassal semantikament li anki jekk huwa node fil-siġra, biex ngħidu hekk, huwa tip ta 'fundamentalment differenti. Mhuwiex tag. Jew aktar kif suppost, mhuwiex element. Huwa biss node test, jekk inti se. Iżda dawn huma kompletament konvenzjonijiet umani arbitrarji. Dan huwa biss issa tiegħi mod ta ' li jirrappreżenta dak I ser bħala aggregat sejħa id-dokument. U bħala twarrib, il-ħaġa fil il-kantuniera super top xellug, bracket miftuħa punt exclamation dok tip HTML, dan qisu tikketta, imma hija l-każ kantuniera stupid fejn li huwa biss hemm, kkupjati u pasted biex jindikaw il-browsers dan huwa verżjoni HTML 5. Id-dinja jżomm jinbidlu dak li l- ewwel linja tal-kodiċi fil-paġna għandu jkun. Dan ifisser biss verżjoni 5. Għalhekk ma pjuttost jidhru bħall-oħrajn. Kull dritt, hekk ma 'dik qal, inti ser issa japprezzaw dan pjuttost dan stupid xi ħadd tatwaġġ ltqajna. [Rires] DAVID J Malan: Kull dritt, u issa ejja attwalment adsa fis tagħmel xi ħaġa ma 'dan. Int ser ikollok ifakkar li l-aħħar darba I fetaħ il-Appliance CS50 u jien għamilt xi ħaġa bħala Sempliċi kemm ftuħ gedit. U jien salvat il-fajl anki fuq desktop-- tiegħi mkien special-- kif hello.html. So let me tagħmel dan again-- hello.html Ikteb. U issa f'dan il-fajl, jien ser imorru quddiem u jirreplika dak li aħna biss doc saw-- html tip Imbagħad jien ser do html bracket miftuħa bracket magħluqa. U mbagħad jien ser preemptively tiftaħ u tagħlaq il-lametta. Għaliex? Just so I ma ninsewx aktar tard. Huwa biss prattika tajba, bħall-ftuħ u l-għeluq braces kaboċċi kollu f'daqqa. U allura dak daħal jmiss? Inti tista 'taħseb l-tatwaġġ. UDJENZA: Il-kap. DAVID J Malan: Il-kap. U mbagħad fil hawn, I kellhom it-titolu, I think. U t-titolu kien arbitrarju, hello, titolu qrib dinja. U mbagħad stabbiliti hawn, il-korp, ta ' course-- allura aħna tagħlaq il-lametta tal-ġisem. U mbagħad biss kemmxejn redundantly, I kellha l-istess ħaġa stabbiliti hawn. So I jsostnu li dan huwa web page. Din hija xi ħaġa li issa jistgħu jgħixu fuq il-web, anki jekk naturalment, huwa litteralment jgħixu fuq id-desktop tiegħi dritt issa. Iżda tabilħaqq, jekk I jimminimizzaw gedit, I ser tara fuq id-desktop tiegħi icon tagħha. Anke jekk dan huwa l-appliance, inti tista 'tagħmel dan fuq Mac OS mingħajr TextEdit jew Twieqi bi notepad anke. U jekk immur quddiem u ikklikkja darbtejn li anke, u select-- sew, ejja M'għandekx tagħżel li minħabba Chrome mhuwiex ftuħ. Ejja imorru quddiem u tiftaħ Chrome. U mbagħad do Kmand-O għal open U biex jinnavigaw desktop tiegħi u tiftaħ dan il-fajl. Din hija kif browser jinterpreta HTML, fuq għal isfel, xellug għal-lemin. Ħej, browser hawn HTML. Hawn il-kap. Hawn it-titolu. Hawn il-ġisem. U fil-fatt, dan huwa kif jirrendi dik il-paġna web. Iżda avviż-URL. Xejn tal inti tista 'pull up dan speċifika paġna fuq laptops tiegħek dritt issa, anki ġewwa tal tiegħek appliance permezz ta 'dak URL, minħabba fajl: // jindika huwa attwalment fit-fajl sistema tiegħi, hard drive tiegħi, mhux tiegħek. Allura dan mhux kollha li utli. Ejja issa jimxu lejn użu ta 'web server attwali. U jirriżulta li l-Appliance CS50 huwa aktar minn sempliċiment f'ambjent fejn inti tista 'tikteb kodiċi C u jikkumpilaw u run bħal inti kont qed tagħmel. Hija wkoll ġiet ikkonfigurata mill- persunal li jirrappreżentaw web tipiku server li fuq l-internet, wieħed li inti tista 'tħallas għall jew wieħed li fil-sħaba hekk imsejħa. U huwa taħdem sors standard miftuħ ħielsa software, per eżempju, xi ħaġa imsejħa Apache, li hija forsi għadu l-web-aktar popolari server software fid-dinja li eluf ta 'websajts użu lum. U wkoll anki għandha software simili MySQL, li huwa server database li aħna ser eventwalment tikseb sa, li huwa biss li jgħidu I tista 'tibda trattament appliance tiegħi bħala server żviluppata sħiħa li jien ma tħallas għal x'imkien ieħor. Hija biss jgħix fuq laptop tiegħi stess għall finijiet ta 'żvilupp u l-konvenjenza. Mela ejja imorru quddiem u jieħdu vantaġġ ta 'dan. Jien ser jimxi 'l quddiem u jiftħu tieqa terminal. U jien ser jimxi 'l quddiem u move-- attwalment, l-ewwel jien ser jinnaviga għal desktop tiegħi. Jekk I do ls, hemm hello.html. U jien se jmorru quddiem u tibda tuża direttorju ġdid konna mhux użat qabel illum. hello.html-- Jien ser jimxu li ../vhosts għall hosts-- virtwali aktar fuq li fil-future-- u mbagħad fis direttorju imsejjaħ localhost, li hija l-laqam mogħti għal kważi kwalunkwe kompjuter, kemm jekk huwa Mac, PC, jew Linux kompjuter, u mbagħad speċifikament fis-direttorju li aħna, l-istaff diġà maħluqa għalik meta inti jitniżżel l-appliance imsejħa pubbliku. U kif ismu jissuġġerixxi, xejn Nressaq fil this folder, fit-teorija, se issa tkun pubbliku, għall-inqas għall-persuni li jkollhom dirett konnessjoni mal-kompjuter tiegħi. Allura issa let me imorru quddiem u tagħmel cd din l-istess direttorju so I tista 'tara x'hemm għaddej u ls-tip. U fil-fatt, dak l- unika ħaġa fil hemmhekk. Nitlob issa li minħabba I poġġew dan fajl hello.html ġewwa ta 'direttorju imsejjaħ ġewwa pubblika ta 'direttorju imsejħa localhost ġewwa ta 'direttorju imsejħa vhosts, li grazzi għall-persunal CS50 ġie pre-kkonfigurat biex tkun l-għerq tal-web server tiegħek, I issa jistgħu nisperaw tagħmel dan. Jien ser jiftħu ġdid tab. U jien se jmorru ma fajl: //. Jien ser tuża attwali http / localhost, li għal darb'oħra, huwa l-laqam għall-server tiegħi stess. U mbagħad jien se jmorru għal dak li fajl isem, biss biex tkun ċara? Fejn din l-istorja probabbilment se? hello.html. Allura fi kliem ieħor, nixtieq li issa dan huwa kompjuter tiegħi stess, appliance tiegħi stess, bħallikieku huwa ta 'server attwali. Laqam tiegħu huwa localhost. Imma naħseb ta 'localhost bħala simili Facebook.com google.com, ikun x'ikun. Huwa biss l-isem lokali tiegħi. U allura l-aħħar nixtieq huwa fil- għerq tal-hard drive, biex ngħidu hekk, jew l-għerq tal-web server, għalhekk jimmiraw il quddiem mmejla u mbagħad l-isem ta 'fajl hello.html. Let me zoom out u hit Ikteb. U fil-fatt, issa hemm paġna web tiegħi. Allura huwa kemmxejn differenti. U huwa biss bħala underwhelming. Din hija l-verżjoni l-qadima. Let me tiċkien il-font lura. Dan huwa l-antika. Dan huwa l-ġdida. Imma x'inhu fundamentalment jiġri issa hija li HTTP qed jintuża. Ejja jagħmlu dan ftit aktar ċara jew, jekk inti se, ftit aktar kumplikata. Let me go fuq il-lemin tal-qiegħ lemin ta 'appliance tiegħi. U tinnota li dan kollu ħin, hemm kien numru. Dan huwa l-indirizz uniku ta Appliance CS50 tiegħek. Huwa l-indirizz privat, kif implikat mill-172.16, li ifisser biss biss li inti fiżikament tista 'aċċess din il-web server. Kollox huwa firewalled u nicely protett mill-bqija tad-dinja minħabba dan indirizzar. U issa avviż għalkemm jekk mmur dan l-indirizz, mhux fl-apparat tiegħi, iżda fil Mac OS-- jien ser li jmorru lura fuq hawn. Dan huwa Mac tiegħi issa. U issa jien ser jiftħu din il-verżjoni tal Chrome hawn. U jien se jmorru lil http: //172.16.25 / U ninsa l rest-- 133. Hekk jien ser żjara mill Mac tiegħi dak l-indirizz IP /hello.html Ikteb. U issa nara minn Mac tiegħi li Appliance CS50 tiegħi, li l- Indirizz IP huwa li numru, tabilħaqq iġib ruħu bħal web server fuq l-internet. Huwa ma jkollu sbieħ faċli biex ftakar isem bħal Facebook.com, imma hija użu HTTP apparentement, anki jekk Chrome huwa tip ta 'simplifikazzjoni-dinja għalina imma li ma jurix us HTTP. Iżda dan huwa tabilħaqq eżattament dan. Chrome huwa biss iffrankar xi keystrokes dawn il-jiem. U dan huwa dak li aħna issa tara. Allura li kollox multa u tajba. Imma hija paġna pretty underwhelming. Let me jmorru fi u tagħmel xi ħaġa ftit differenti issa. So let me jmorru lura għall gedit. U minflok ta hello, dinja, ejja tpoġġi immaġini. U jien ma jintalabx mill before-- let me go fis tiegħi pubbliku direttorju localhost. U let me imorru quddiem u kopja mazz sħiħ ta 'fajls mill-lum minn folder Dropbox tiegħi fis hawn. Issa jekk I ls tip, tfittex fuq dawn il-fajls kollha li stajt mqassma mill- websajt kors fl-quddiem tal-lum, wieħed minnhom għadu hello.html. Allura hemm li wieħed. U recall dan wieħed iblah mill-aħħar cat.jpg time--. So let me jippruvaw ssodata cat.jpg ġewwa tal-paġna tal-web tiegħi. Jien ser jimxi 'l quddiem u jagħmlu cat.jpg, jiffrankaw. Let me jmorru lura għall Chrome. U let me zoom fil- font u issa rikarigu. Oops, fejn nressaq dan? Standby-- I għadhom l-qodma Verżjoni minn desktop miftuħa tiegħi. So let me go fis vhost tiegħi, tiegħi localhost, pubbliku tiegħi, u hello.html. Allura issa let me imorru quddiem u jgħidu cat.jpg ġewwa tal-ġisem fejn I tixtieq li jkun murija u rikarigu. Of course, dan mhux korrett. So I bżonn li tgħid il-browser ftit aktar deliberatament dak li nixtieq li tagħmel. Simply ittajpjar l-isem huwa ovvjament mhux biżżejjed. Allura tfakkar li kien hemm ieħor tikketta, immaġni, IMG-qasir. Li jinsab biss għax bnedmin ma bħall-kliem sħiħ tat-tip. U allura nistgħu nagħmlu sors = "cat.jpg". U issa jien se tagħmel ħaġa waħda differenti hawn. Anke jekk kollha tags tagħna s'issa jkollhom kellhom dan il-kunċett ta ' tibda tag u tikketta għan, li ma verament tagħmel sens għal immaġni, id-dritt? An image huwa jew hemm jew m'hemmx. U għalhekk il-bnedmin waslu up ma 'konvenzjoni sempliċi. Meta għandek tag li tista 'kemm jibdew u jispiċċaw fl-istess time-- jista 'jkun vojta, hekk li speak-- biss tpoġġi l-quddiem mmejla ġewwa tal-lametta fl-aħħar ħafna. Issa let me jmorru lura lill-browser tiegħi. Hit Reload Indanna, xi ħaġa ħażin. You ħadthom probabbilment jidhru dan kultant fuq il-web, anki jekk huwa ma kienx tort tiegħek. Huwa tort tal-web server. Liema odes dan jidher li jindika? Huwa imkisser. Li meta l-immaġini jappartjeni. Yeah? UDJENZA: Iżda dan ma jkunx jkollhom aċċess għall-immaġini. DAVID J Malan: ma jkollhom aċċess għall-immaġini. Li, jew saħansitra agħar, forsi ma jeżistux. Ejja naraw jekk aħna ma tistax jiddijanjostikaw dan. Recall minn aħħar darba li jekk fil Chrome, fl-appliance, jew anki fuq Mac tiegħek jew PC, inti mur fil-menu Developer u mur l-Għodod Developer għażla, li probabbilment inti stajt ma tintużax ħafna jew qatt. U jekk immur għal network u rikarigu-paġna, ejja attwalment tħares lejn l-HTTP jitlob li ikunu qed isiru. Jidher qisu hello.html huwa tabilħaqq OK, għalhekk il-200. Iżda cat.jpg huwa 403. Allura huwa mhux 404. File probabbilment teżisti. 403 ifisser pprojbit. Allura dan huwa ftit konfuża. Jien se jmorru lura tieqa terminal tiegħi. Let me zoom up here. U let me do ls. Hemm dawk l-istess fajls. Issa let me do ls-l, li inti stajt probabilment użat qabel biex tħares lejn fajl daqsijiet forsi jew timestamps. U naraw mazz sħiħ ta ' informazzjoni kbira. Imma avviż ftit dettalji. Hawn hello.html f'dan ringiela hawn u hawn cat.jpg. U huwa biss l-appliance li tkun friendly billi tenfasizza l JPEG utent vjola bħal dan. Imma dak inkella huwa differenti ħdejn il-daqs tal-fajl u l-isem fajl? UDJENZA: [inaudible]. DAVID J Malan: Yeah, hemm żewġ aktar R matul hawn. Avviż dak hello.html jkun għaddej. Għalhekk jirriżulta li l-isem ta ' dan pubblika direttorju huwa importanti. Xejn f'dan id-direttorju huwa maħsub li jkun pubbliku. Iżda mhux biżżejjed biss biex qatra fajls fil hemmhekk. Għandek bżonn ukoll li tinbidel il-mod tal-fajls, jibdlu l-permessi ta ' l-fajl biex b'mod proattiv ma jkollu ssettjar default, li hija li huwa biss I tista 'taqra u jiktbu, I tkun is-sid. Irrid li l-kulħadd kollu dinja biex jkun kapaċi li jaqra fajl tiegħi, biex ngħidu hekk. Aqra ifisser biss tarah. U fil-fatt, kif tkun taf tara fil-problema sett seba, dan huwa dak medju ta 'dawn R. Medja Dawn iż-żewġ R let kulħadd ieħor fid-dinja taqra wkoll, speċjalment issa li huwa f'dan id-direttorju. Allura l-eħfef mod biex jiffissaw dan huwa li mur fil-pront tiegħi u jagħmlu chmod għall-bidla modalità u mbagħad do a + r, għal kollox, kulħadd, kollha, flimkien ma 'r għall read, u mbagħad cat.jpg Ikteb. Xejn ma jidher li jiġri, li normalment ifisser ħaġa tajba. Hekk ls-l again-- issa ejja nħarsu lejn cat.jpg. U dan il-permess jidhru li nbidlu. Bħala twarrib, jekk inti tagħmel żball u inti, per eżempju, biss magħmula your-- I ma know-- essay aċċessibbli għall-pubbliku mill-inċident, inti tista 'tagħmel l-oppost, chmod a-r. Għalkemm franchement, dan m'għandux tkun fil-direttorju pubbliku xorta waħda jekk dan huwa l-tħassib. Allura issa ejja mmorru lura għall browser tiegħi u rikarigu. U jien ser ikklikkja il-Ghostbusters ftit simbolu ċar li parti mill- iskrin sabiex nistgħu naraw talbiet ġodda. U fil-fatt, hawnhekk huwa Cat Grump minn qabel. Iżda aktar importanti, teknikament, hemm in-numru 200, li ifisser li aħna ltqajna OK. Kull dritt, hekk li kollox multa u tajba. Iżda aħna ma tkunx qed tagħmel l-aħjar ta 'websajts, u lanqas ma huma aħna ser jippruvaw wisq diffiċli biex jagħmlu l-fanciest 'websajts llum. Imma ejja mill-inqas jagħmlu xi ħaġa super familjari qabel jinstemgħu off tags oħra ftit. So suppose I ma jridux biss qattus hawn. Suppose I attwalment jixtiequ dan qattus biex tagħmel link għal xi ħaġa. I jista ', per eżempju tagħmel xi ħaġa bħal din. a għal ankra href għall equals-- referenza iper u ejja biss tagħmel xi ħaġa bħal www.google.com qrib jikkwotaw bracket qrib. U issa tiftix għall-qtates. Tag ankra qrib. Allura dan għandu sort wieħed biss dettall tal fundamentalment ġdid. Il-lametta tal-kors, huwa differenti. Hu l-isem ta 'għall-ankra referenza href jew iper. Iżda aktar importanti, hemm din il-karatteristika sintattika hawn. Dan huwa dak li aħna ser tibda sejħa mhux tikketta, iżda attribut. U attribut hija xi ħaġa li timmodifika l-imġiba ta 'tag. U dan l-attribut, href, mezzi jimmodifikaw l-imġiba ta 'dan ankra b'tali mod li meta huwa għafast, din tmur lil dan il-URL hawn. U ovvjament, dan URL huwa Google. Sadanittant, dak li huwa dan test hawn se tkun? Ukoll, li għaddej biex tkun dak li l-bniedem fil-fatt jara bħala l-enfasizza rabta, sempliċi bħal dik. Mela ejja jippruvaw dan. Let me isalvawh. Jien xorta fil hello.html. Iżda fil-verżjonijiet online, inti ser tara l-ismijiet attwali fajl aħna mħejjija minn qabel. Let me imorru quddiem u rikarigu. U issa huwa ħafna paġna underwhelming xorta. Imma jekk jien imbagħad jerġgħu jsiru fuq there-- u huwa ftit żgħira, but-- tista 'tara fil-qiegħ rokna tax-xellug tal-iskrin tiegħek, huwa tabilħaqq għaddej biex google.com. U jekk I ikklikkja li, li se whisk me mod għall-Google attwali. Iżda avviż hawn opportunità għar isfruttament, biss bħala twarrib. U aħna ser terga 'lura għal ieħor kwistjonijiet ta 'sigurtà qabel twil. Għaliex hemm din id-dikotomija bejn fejn inti tmur u dak li jgħidu, inti tista 'tagħmel xi ħaġa simili this-- http://www.google.com. OK, u issa jekk I rikarigu wara iffrankar dik il-paġna, jidher qisu jien ser tmur Google. Iżda hemm ebda raġuni I ikollhom imorru għall Google, id-dritt? I tista 'attwalment tmur għal xi ħaġa bħal badguy.com, rikarigu-paġna hawn fuq. U avżat, hija xorta qisu Google. U biss jekk jien sharp biżżejjed biex imbagħad jerġgħu hawn fuq do I tara huwa lanqas se mur għal post differenti. Mela jekk inti stajt qatt gotten email, speċjalment wieħed minn Paypal, jew apparentement mill Paypal inti titlob log fil għall-kont tiegħek, dan huwa għalfejn inti għandek qatt qatt ikklikkja links fl-emails, franchement, xi links fl-emails. Jekk inti taf li għandek attwali flus fil Paypal jew Bank ta 'l-Amerika jew fedeltà jew kwalunkwe website, manwalment tip fil. Għaliex tħares kemm huwa faċli biex trick xi ħadd fis jippreżentaw liema qisu rabta. Iżda fil-fatt jista ' tmur assolutament kullimkien. U hemm ferm akbar theddid minn dan. Fil-fatt, dan huwa daqsxejn ta 'tanġent issa, iżda wieħed mill-aħjar fosthom jien qatt raw li wara ġie magħluq, huwa xi ħadd wassal nies to-- għalhekk dan jista 'jgħid, ikklikkja hawn biex log fis tiegħek kont, kont bankarju. U dan kien Bank tal-Punent. Allura xi ħadd mixtrija dan. U huwa ftit aktar faċli biex tara dan fil-mono spazjati font żżomjati fl fuq projector 30-sieq. Imma meta huwa font żgħar fi email li int tirċievi, dan qisu bankofthewest.com, mhux bankofthevvest.com, li xi ħadd kien mħallsa $ 10 sa jixtru. U allura dan wassal biex il- ekwivalenti ta 'xi websajt ħażina. U tkun taf tara too-- attwalment nistgħu nagħmlu this-- jekk I tmur fil-websajt attwali, bankofthewest.com, għal darb'oħra, irtirar mill-aħħar darba li jekk dan huwa il-paġna web tagħhom u int kurjużi dwar kif taħdem, inti tista 'ċertament tmur lil Għodod iżviluppatur Chrome. U inti tista 'tara kollha ta' l- HTML nicely formattjati hemmhekk. Iżda aktar lejn il-punt, inti cam-- ejja qrib this-- inti tista 'tmur View Developer View Sors. Għaliex ma I biss kopja kollha ta 'dik U mbagħad I tista 'tmur fil-tieqa tiegħi gedit ftit hawn u tagħmel il-paġna tiegħi stess web. Ħlief dan fil hello.html. U probabbilment dan se break, għaliex mhuwiex dan faċli normalment. Imma issa jekk I rikarigu-paġna tiegħi stess fuq tiegħi stess CS50 Appliance u rikarigu hit, OK, xi għalf kissru. Imma jien pretty qrib biex wara website bankarja tiegħi stess, id-dritt? Kollha ta 'dan HTML-- [Rires] DAVID J Malan: --I ma actually-- u int taf hemm xi ħadd hemmhekk li fil-fatt ikklikkja dawn ir-rabtiet wisq. Allura ċar, xi għalf kissru. Iżda li għaddej biex twassal lilna fis diskussjoni, bla bżonn dritt issa, bħala dak li CSS, Cascading Style Sheets, huma, u kif inti fil-fatt tniżżel il-fajls oħra HTML u JPEG fajls GIF fajls li il-websajt tista 'tuża. Iżda kollha ta 'dan huwa accomplishable. Imma huwa verament jeħodna għall dawn heuristics sempliċi ħafna. Allura issa ejja biss skim permezz ta ' ftit eżempji oħra ta 'HTML biss biex jagħtuk sens ta 'dak li inkella inti tista' tagħmel. Per eżempju, dan huwa list.html. Suppose I riedu jagħmlu web page ma 'lista ta' djar fil-quad. I jistgħu jużaw l-tikketta ul għal unordered lista u mbagħad l-oġġett lista tfal u mbagħad jtenni over-- jew lista, rather---djar in kwistjoni. U jekk I miftuħa dan up, ejja tagħmel dan. Ejja ħa mmorru ma hello.html, imma biex list.html. Kkritikat dan. Kif nista jiffissaw dan? Huwa l-istess kwistjoni bħal qabel, id-dritt? So let me do oops-- chmod-- r ta 'list.html chmod a +. U issa jekk immur lura lill-browser tiegħi u kklikkja Reload, hemm hu. Mela jekk inti stajt qatt riedu jagħmlu lista bulleted, inti tista 'tagħmel dan. Jekk inti tixtieq li tkun super fancy u jagħmlu lista ordnat, mhix lista unordered, bidla dawk li ol, rikarigu-paġna, u issa l-browser se numru dan għalik. X'iktar nagħmlu? Well, koppja ta 'others-- jekk inti stajt ltqajna paragrafi twal ta 'text-- per eżempju, xi Test Latin bħal this-- u inti tixtieq li f'paragrafi separati, p miftuħa, p qrib għall-paragrafu tag. U jagħmlu mill-ġdid u għal darb'oħra. U jekk I issa jiftħu dan il-fajl, paragraphs.html, ukoll, dan huwa jkollna annoying. Allura issa ejja biss jmorru lura għall tiegħi pront, chmod a + stilla r r .html-- karta sbieħ selvaġġi ftit biex ngħidu hekk. Għandha tiffissa kollha dawn il-problemi għalija. Ejja rikarigu. Hemm tliet paragrafi. U issa ejja imorru quddiem u jiftħu ieħor. Kif madwar mejda? Int ser ikollok avviż mejda jistenna ftit aktar kumplessa. Imma hija l-istess idea-- tag miftuħa, lametta miftuħ, miftuħa, miftuħa, miftuħa, lametta qrib, lametta miftuħ. U dawn jiġri toqgħod għal tabella, li l-fruntieri hija apparentement ser ikun ħxuna 1-- x'ikun li ringiela tabella means--, tabella data, li jfisser ċellola. U jekk immur lura lill-browser tiegħi hawn u mur table.html, inti tista 'tara xi ħaġa bħal dan, hideous. Iżda aħna ser jasal sal-punt fejn nistgħu attwalment tagħmel affarijiet prettier minn dak. So let me jistipulaw għal issa. Hemm għenieqed ta 'tags aktar. U HTML huwa wunderbare li jittellgħu għaliex, franchement, kull ma għandek bżonn tagħmel huwa tħares lejn paġni web eżistenti li magħhom int familjari. U int simili, oh, li kif huma għamlu dan estetikament. Jew inti tista 'tfittex up xi online riżorsi kif HTML xogħlijiet, u tkun taf tara li hemm vokabularju sħiħ ta 'tikketti oħrajn. Iżda mal-mudell mentali sempliċi alone li kważi kull tabella inti tiftaħ għandha tingħalaq, huwa verament ma biżżejjed biex jgħallmu lilu nnifsu HTML wara jifhmu dawn l-ideat bażiċi ta 'tags u l-attributi u l-formedness tajjeb li konna tkellimna dwar, xejn għeluq li nistgħu miftuħa hekk li aħna ma jħawdu browser. Mela ejja issa tieħu dan livell aktar interessanti billi tmur l-attwali. U ejja mur Mac tiegħi hawn, biex google.com. U issa notice-- ejja tagħmel dan. Jien gong biex tmur Settings, Fittex Settings. Irrid li jduru off dan instant annoying Ħaġa riżultati fejn immedjatament jibda jirrispondu għall ittajpjar tiegħek. Ejja nagħmlu din l-iskola anzjani hekk aħna attwalment ara x'inhu għaddej. Hekk jien ser tiffranka tiegħi Settings google hawn. U issa notice-- jien se tfittxija għal xi ħaġa bħal qtates. U huwa għadu tagħmel auto kompluta hawn, iżda bbażata fuq affarijiet nies ittajpjat fil-passat. Imma avviż x'inhu jiġri. Fil-URL fil-mument huwa dan, biss google.com. U teknikament, huwa slash. Google biss iffrankar ta 'karattru u ma juru lilna li. Huma qed juru us https, biss li tkun super rassikuranti li aħna qed fi paġna sigur jew encrypted. So let me imorru quddiem u tfittxija għall-qtates. Issa dan ltqajna verament kbira malajr. Ħares lejn it-tul ta 'dan il-URL. Iżda jirriżulta li ħafna mill dan il-għalf fil-URL huwa attwalment pretty inutli. Jien ser tibda tħassar affarijiet I ma jifhmux. Nara qtates. Nifhem qtates. I do not know għaliex qtates huma hemmhekk mill-ġdid. I verament ma nafx dak li dan nonsense huwa. Hekk jien biss se żżomm tenfasizza u tħassar Jittieħed li jien ma jifhmux, distillar il-URL fis biss dan. Issa let me nikseb jidħlu mill-ġdid. Jidher qisu Google għadu jaħdem. Allura għal xi raġuni, dawn qed żżid lott ta 'għalf għall-kontumaċja URL tagħhom. Iżda mhuwiex strettament meħtieġ. Allura dak li huwa sbieħ dwar dan? Well, let me imorru quddiem u jiftħu Ispettur Chrome. Hemm shortcut ġurdien ftit għal dan. Mur għall-tab Network. U issa let me rikarigu din il-paġna darba aktar. U jien azjenda Shift. Bħala twarrib, browsers tendenza li cache jew ħlief informazzjoni biss għall-finijiet effiċjenza tal. Iżda ġeneralment, żamma Shift u tagħbija mill-ġdid se seħħ kollox li tibda fuq mill-bidu. U dan huwa dak li nixtieq do hawnhekk. U avviż kollha ta 'dawn ringieli li biss deher. Jirriżulta li fi kwalunkwe web partikolari paġna, jista 'jkun hemm biss wieħed fajl involved-- hello.html-- jew hemm jista 'jkun 52, bħal f'dan il-każ. Meta I żjara google.com, apparentement, browser tiegħi kicks off 52 talbiet HTTP separati. Għaliex huwa li? Well, ħarsa lejn x'hemm ġewwa ta 'din il-web-paġna top up. Hemm mhux biss it-test, iżda hemm immaġini attwali tal-qtates aktar lejn il-lemin. Hemm logo mlewna up hawn fuq xellug. Hemm kollha ta 'dawn ikoni għal mikrofonu u ibqa 'sejjer hekk. Hemm ħafna ta 'biċċiet, il-bini blokki, biċċiet scratch, jekk inti se, għal din il-paġna web. U dak il-browser qed tagħmel fuq jkollna l-ewwel fajl, li huwa dan ringiela hawnhekk, huwa essenzjalment mtennija matul il-quċċata HTML għal isfel, xellug għal-lemin, tfittex affarijiet simili tags immaġni jew tikketti oħra li huma jsemmu fajls oħra u meta jarhom, tmur u fetches minnhom permezz HTTP, sħaħ vijabbli metafora pakkett, u mbagħad turihom fil- post xieraq fil-web page. Imma avviż hawn jekk I tiffoka fuq l-ewwel qtates tarmi, tfittxija, avviż li, tabilħaqq huwa tuża HTTP 1.1. U sfortunatament, Google Chrome dritt issa fil-verżjoni 39 huwa tip ta 'affarijiet dumbing isfel u ma juru us-headers attwali. Imma dak li kien tabilħaqq bagħtu hija talba għal mhux mmejla, iżda / tfittxija? q = qtates. Issa, għaliex huwa li importanti? Well, jien ser jiddeduċu minn dan li jekk inti Google jappoġġja mistoqsijiet ta 'din il-formola, għaliex ma I jimplimenta tfittxija tiegħi stess magna għall CS50, iżda biss il-quddiem aħħar, biss l-user interface grafika. U aħna ser jesternalizzaw l-aħħar lura, it-tfittxija attwali riżultati lill-Google. Allura kif nista 'nagħmlu dan? Well, let me go fis gedit hawn fuq. U let me imorru quddiem u tiftaħ up, ejja ngħidu, fajl ġdid. U jien ser tiffranka din temporanjament bħala tfittxija 0.html. U mbagħad eventwalment, aħna ser malajr ħerqa l-wieħed I mħejjija minn qabel. U jien ser malajr Whip up tip dok html html bracket miftuħa html bracket qrib. Imbagħad Jien ser tagħmel ras ras qrib titolu miftuħa CS50 Fittex minflok Google search. Down hawn jien ser ikollhom il-korp, korp stabbiliti hawn qrib. U issa għandi bżonn CS50 Fittex. U fil-fatt, ejja jibnu din inkrementali. Jien ser jimxi 'l quddiem u jagħlqu dan u attwalment poġġih fil f'direttorju pubbliku tiegħi. Allura tagħti me wieħed biss mument. tfittxija 0.html-- jien ser temporalment sejħa hija search.html. Jien ser chmod hu search.html + r. U issa jien ser tiftħu. Kull dritt, hekk li kien mgħaġġel. Iżda l-għan sempliċement kienet biex nikseb us sal-punt ta 'wara dan it-test fajl imsejħa search.html. Hekk mhux wisq li tħares lejn s'issa. Tabilħaqq, jekk immur browser tiegħi, u mur search.html, li kollox huwa. Imma inti taf liema? I tista 'tkun ftit fancier. I jaqra fi ktieb li hemm intestatura tag imsejjaħ H1. U jien ser jimxi 'l quddiem u tuża dak h1 miftuħ u h1 qrib. Rikarigu-paġna. U issa huwa akbar u aktar kuraġġuża, mhux kollha li interessanti, iżda mill-inqas strutturalment aktar interessanti. Imma issa let me jintroduċu tag ieħor. Jirriżulta hemm forma tag. U let me qrib dik tag. U jirriżulta hemm tag ta 'input li għandha attribut imsejħa tip, li huwa t-tip tad-data tal-qasam, jekk inti se. U se tkun ta 'test tip. U l-valur tagħha huwa għaddej li tkun CS50 Fittex. Tag qrib. U hemm għaddej li jkun hemm ebda kunċett ta ' ftuħ u l-għeluq ma tags separati. Let me jmorru lura hawn fuq u tara x'inhu għaddej, rikarigu. Getting interessanti. Jidher qisu dan huwa qasam tat-test. U fil-fatt, I ma riedx li nagħtu valur wasalniex. Let me jmorru lura hawn u fil-fatt tikseb rid ta 'dan il-valur li jżommha sempliċi. Minflok valur, dak li ridt li jagħti dan ħaġa kien isem. U jien ma nafx dak li hi, so I ser jiġu lura għal dak. Iżda taħt dak, nixtieq tagħmel tip input = jissottomettu. U dan il-valur se jkun CS50 Fittex. U aħna ser tara għaliex I għamel il-valur għal dan. Meta I rikarigu, I jidhru li issa għandhom l-bidu ta 'tfittxija tiegħi stess magna, super hideous, għalkemm franchement, huwa mhux tarmi l bogħod minn dak Paġna Google default Dehra. Jekk immur hawn issa, I tista 'tip qtates u nisperaw kklikkja Search. Imma jien ma pjuttost isir s'issa, minħabba I ma implimentawx, ovvjament, database. I ma crawled il- web għal riżultati tat-tiftix. So I bżonn li jesternalizzaw li biex Google. Allura kif nista 'nagħmlu dan? Ukoll, l-ewwel nett I bżonn li jiżdiedu u l-azzjoni tattribwixxi lil forma tag tiegħi li huwa http://www.google.com/search. U naf li biss milli jkollhom dedotta billi tħares mill-qrib fil URL tagħhom. U issa tieħu raden. X'għandu dan il-qasam it-test probabbilment jiġi msejjaħ, ibbażata fuq fejn aħna daħal minn qabel? UDJENZA:? Q. DAVID J Malan:? Q. U aħna ma attwalment bżonn kwistjoni trade mark jirriżulta, iżda q hija tabilħaqq, q għal mistoqsija probabbilment mill default, sempliċement minħabba li l- dak Larry u Sergey ħarāet ma 'snin ilu. Allura issa let me Reload this Page. Hija ma tfittex kollha li differenti. Imma issa watch x'jiġri. Jekk tip I fil-qtates u ikklikkja CS50 Fittex u itlaq, Avviż niġi whisked bogħod biex attwali Google. Issa, Google qed ftit tedjanti fil li dawn qed jpoġġu parametru addizzjonali, jekk inti se, għall-URL. Li kollox jiġri awtomatikament fuq il-ġenb Google. Il-parti importanti huwa li I jidhru li ġġeneraw din it-talba hawn. U fil-fatt, dan huwa dak li jiġri. Meta inti għandek HTML li tidher bħal dan, dan huwa tip ta iżviluppaturi tal-web notazzjoni biex tgħid, imorru quddiem u joħloq forma li meta huwa sottomess, li għaddej biex tmur dan il-URL. U meta l-URL pprovda Valuri għal affarijiet bħall-q, ma jmorrux biss biex dan il-URL. Attwalment, mur għall-mistoqsija marka u mbagħad q = qtates. Tehmeż il-parametru, il- Parametru HTTP bħal dik. U biss sabiex ikunu super preċiża, dak li qed dedott here-- imma jien ser tkun aktar explicit-- huwa li l-metodu nixtieq li jużaw hu li tikseb, minflok xi ħaġa bħal post, li aħna ser eventwalment tara. Allura fil-qosor, sempliċiment billi fehim HTML u tuża xi tags pjuttost sempliċi, aħna issa tista 'tibda biex joħolqu utent tagħna stess tarf ta 'quddiem interface ma 'tfittxija magna warajh. Iżda dan naturalment, huwa pjuttost hideous. So let me attwalment jiftħu verżjoni kemmxejn aħjar. Dan huwa l-waħda I ippreparat javvanzaw li għandha xi kummenti. Imma inti taf tara li I pretty ħafna recreated dan. Allura dan huwa diġà disponibbli online. U jien ma jiġri preemptively mur https biss biex jżommha sempliċi. U issa ejja tiftaħ iterazzjoni li jmiss ta 'dan. Hija l-verżjoni 1 minflok ta '0. Liema jumps fil inti bħala ftit differenti f'dan l-eżempju? UDJENZA: [inaudible]. Yeah, hemm dan iċ-ċentru jallinjaw it-test. Dan huwa ftit stramb up here. Iżda din hija tabilħaqq ġdida. U forsi raden x'inhu jiġri. Jekk mmur browser tiegħi issa u żur tfittxija 1.html, huwa kważi l-istess ħaġa. Imma hija pass eqreb lejn tkun ftit aktar pretty. Huwa għadu ikrah, iżda prettier f'dak inqas kollox issa s ċċentrata. Għalhekk jirriżulta li dak li jien jużaw hija lingwa oħra għal kollox imsejħa CSS, folji stil cascading. U CSS, franchement, huwa tip ta ', fl-opinjoni personali tiegħi, lingwa atrociously mfassla. Huwa ħafna annoying li tiftakar Id-dettalji kollha varji. Iżda huwa dak stylizes l illum web kollu dinjija. I reċidiv xi ħadd. Kull dritt. Mela ejja jmorru lura hawn u tara kif aħna qed attwalment jużaw dan. U jirriżulta, mill-inqas huwa attwalment lingwa pjuttost sempliċi. Huwa biss pari b'valur ewlenin, proprjetajiet u l-valuri, il-proprjetajiet u l-valuri. Tabilħaqq, hawnhekk huwa wieħed dik il-proprjetà u l-valur. Sempliċiment bl-użu l-istil attribut fuq tag ġisem tiegħi u jtuha valur ta ' kolon kelma u kelma oħra, jew proprjetà u valur, I jistgħu jaffettwaw l-estetika tal-paġna tal-web, ma neċessarjament l-istruttura għadhom, iżda l-estetika ta 'dan. U biss mill Googling madwar, I realizzata li l-folji CSS, stil cascading, jappoġġja proprjetà msejħa test għall allinjament, li l-valur jista ' jitħalla, id-dritt, jew ċentru, per eżempju. Allura issa meta I rikarigu din il-paġna, dak I ma jiksbu kien paġna ċċentrata, iżda xorta pretty ikrah. Ejja imorru quddiem u tiftaħ up-verżjoni 2 tal Search. U issa avviż jien ghamilt ftit aktar. Avviż li up here ġewwa tar-ras tag, jista 'jkun hemm aktar minn titolu. Fil-fatt, hemm tag stil. U dan huwa fejn biss gets a ftit CSS jaraw messy kultant. Avviż li I jidhru li jkollhom xi ħaġa li strutturalment jistenna differenti ħafna. Iżda hawnhekk huwa l-isem ta ' l-tikketta Irrid stilizzata. Hawnhekk huma ħbieb antiki tagħna kaboċċi braces u Brace kaboċċi magħluqa. U allura hawnhekk hija li proprjetà u l-valur tagħha. Jekk I tagħbija dan il-fajl, search2.html, ir-riżultat aħħari huwa identiku. Imma hija pass lejn tfassil aħjar. Billi factoring out dan CSS, stajt mhux mħallta ma HTML tiegħi. U fil-fatt, kif Ser naraw, I jistgħu użu mill-ġdid dawn il-proprjetajiet u l-valuri. Jekk jien ridt li jagħmlu għenieqed ta ' partijiet ta 'paġna tal-web tiegħi ċċentrata, I ma għandek tip stil = test-allinjament ċentru kollha fuq il-post. I tista 'tpoġġi f'post wieħed forsi, bħall up fil-quċċata. Iżda anke dan mhuwiex l-aħjar disinn. Fil-fatt, waħda mill-affarijiet li inti ser jitgħallmu kif inti jonfqu aktar u aktar ħin mal- programmazzjoni web huwa li l-aktar inti tista ' modularize affarijiet u affarijiet fattur out bħal fajls .h ejjew Jittieħed fattur out, simili helpers.c Ejjew affarijiet fattur out xi psets ftit ilu. Bl-istess mod, jista aħna tixtieq li jinkiseb dan. Allura avviż fil-verżjoni tlieta mill search.html stajt mnaddfa-kap ta ' il-paġna u biss jitqiegħed f'dan, tikketta rabta, li kuntrarju għall-isem, ma jtik hyperlink. Hija links għal fajl ieħor permezz ta ' l href li l-valur f'dan il-każ, huwa tfittxija 3.css So I realizzata aħna qed tmur malajr. Iżda kollha li qed nagħmel huwa tip ta 'affarijiet li jiċċaqalqu madwar. Let me miftuħa tfittxija 3.css. Hemm hu, xejn verament lilha. I biss kkupjati u pasted hija fis ġdid fajl, ferm simili aħna f'fatturi Jittieħed out ġewwa fajls oħra qabel. U l-result-- kompletament underwhelming-- se tkun eżattament l-istess. Iżda aħna qed jiċċaqilqu toward-- ebda, mhuwiex. Oh, I know għaliex. Għalhekk jidher li jkun bug. U huwa f'xi sens. Iżda let me tiftaħ tab Network tiegħi. Let me rikarigu-paġna. Ah, għaliex hi l-CSS ma jiġux applikati? Ukoll, il-fajl CSS, b'mod simili, għandha li tkun dinja tinqara, biex ngħidu hekk. U wisq bħalissa pprojbit. So let me do chmod a + R ta 'star dot CSS-- whoops-- aħna qed dot CSS huwa biss il- fajl estensjoni għall-fajls CSS. Issa let me jmorru lura għal browser tiegħi u rikarigu. OK, ftit aħjar. Issa let me do aħħar ħaġa waħda. Fit-tfittxija-4.html. I jkollhom verżjoni li I maħsub biss kien mod cooler, għalkemm b'mod aktar kkumplikata. Ejja nħarsu lejn ir-riżultat ewwel. Jagħlqu dan biex tagħtina aktar spazju. Tbiddel dan tiftix-4, Ikteb. U issa mazz ta 'affarijiet huma mqassma. Jien se jmorru lura fis direttorju tiegħi hawn. U issa jien biss se jagħmlu a chmod ta '+ r fuq file-- għaliex naf li exists-- msejjaħ logo.gif, li hija immaġni. U issa rikarigu. U wow-- hekk issa jien pjuttost qrib, franchement, li bħall-verżjoni 1999 ta 'Google, u franchement, il-verżjoni 2014 ta 'Google, dritt? Allura issa għaddej għall-websajt tagħhom, finalment, jekk I tfittxija għall-qtates. U tabilħaqq huwa. Imma dak li ma nagħmel differenti f'dan il-verżjoni 4? Allura aħna mhux se nitkellem wisq fuq it here. Int ser ikollok tara dan fil-problema sett seba eventwalment. Imma avviż Jien għamilt ftit affarijiet. I introduċiet div tag, li hija diviżjoni, simili fl-ispirtu għal paragrafu tag. Iżda diviżjoni huwa bħad, hawn reġjun inviżibbli rettangolari tal-iskrin. Ejja tagħtiha unika identifikatur, footer, biss sabiex inkunu nistgħu nitkellmu dwar fil HTML tagħna x'imkien ieħor. Hawnhekk huwa div ieħor tal-paġna li ID se tkun kontenut. Hu l-kontenut tal-paġna. U sa hawn huwa l-header tal-paġna. Fi kliem ieħor, stajt essenzjalment fil HTML am mentalment viewing din il-paġna web bħala tliet komponenti, header up here ma dan ir-rettangolu inviżibbli, il-kontenut fin-nofs, u mbagħad l-footer stabbiliti hawn taħt, anke jekk aħna ma tara dawk l-affarijiet. Għaliex nixtieq li fil my head tal paġna hawn, jew fajl .css, I jistgħu jużaw dan sintassi. Header mhix tag. Huwa ta 'ID hekk jirriżulta li billi tagħmel #header, I issa jistgħu japplikaw waħda jew aktar proprjetajiet għall-header. I tista 'tagħmel l-istess kontenut, l-istess għall-kontenut hawn. Allura per eżempju, fil-footer, avviż kollha ta 'dawn il-proprjetajiet jien żżid. U naf dawn jeżistu biss mill-qari up fuq id-dokumentazzjoni għal CSS. Daqs tat-tipa se tkun smaller-- għalhekk xi daqs tat-tipa relattiv. Il-piż se tkun kuraġġużi. Margin-- kemm pixels madwar it-- huwa ta '20 pixels. U li għaddej biex jiġu ċċentrata. Imma issa dritt, il-paġna tidher bħal dan. Jekk jien ma kuntent bl Kopja tiegħi hemm dritt, I jistgħu jagħmlu xi ħaġa simili kulur aħmar. U mbagħad I tista 'tiffranka dan, rikarigu, u issa stajt stilizzata l footer. Allura dan huwa biss ssemmi fil-power ta 'dak li inti tista' tagħmel fil-paġna web biex ibiddlu l-affarijiet madwar. U anke cooler minn dan, jekk inti tixtieq poke madwar ma 'websajts attwali, inti ma tistax b'mod permanenti bidla minnhom. Imma jekk jien jiftħu Spettur Chrome darb'oħra u mmur mhux għall-naħa tax-xellug hawn, li turi HTML Facebook, iżda juri fuq il-lemin naħa kollha ta 'CSS tagħha, inti tista 'jew u ibiddlu l-affarijiet fuq il-fly. So let me go quddiem u tagħmel dan. Let me imorru quddiem u l-kontroll ikklikkja fuq din il-kelma każwali hawn, jiffirmaw, u kklikkja Spezzjona Element. Chrome konvenjenti ħafna jumps biex l-tikketta H1 li Facebook qed tuża. U avviż hawn Facebook għandu tip ta 'lazily hard kodifikati daqs tat-tipa bħala proprjetà hawn. Allura l-ħaġa jibred għalkemm huwa li jekk I attwalment tmur fil hawn u jgħidu, oh, Facebook, I ma simili li 64 pixels, aħna issa jistgħu jbiddlu Facebook. Of course, aħna qed jinbidlu biss għalija personalment fil-mument. Iżda din hija biss ieħor għodda kit għodda tagħna li għaddej biex inessu tweak u ċifra barra u wkoll jiddijanjosaw kwistjonijiet fil-paġni web tagħna stess. U nistgħu simili tmur fuq hawnhekk, li huwa l-istess ħaġa. Jekk int verament tixtieq tikseb fancy, I mean, issa inti tista 'verament jindiblu il-paġna u jagħmlu affarijiet crazy. Allura għaliex din hija kollha utli? Well, finalment, aħna qed ser trid tkun kapaċi joħolqu paġni web li huma misjuqa minn truf lura tagħna stess, mhux bi ftit Google u esternalizzazzjoni-aħħar lura hemmhekk. Aħna fil-fatt tixtieq l- valur, per eżempju, ta 'azzjoni search engine tagħna tattribwixxi lil jmorru ma xi ħadd ieħor, iżda għal xi ħaġa bħal search.php, fejn search.php huwa fuq server tagħna stess, mhux fuq xi ħadd ieħor. U hekk li naslu s'hemm, aħna fil-fatt ħtieġa li tiġi introdotta lingwa ġdida. Allura aħna stajt diġà ħares lejn waħda ġdida lingwa hawn, jew tnejn verament, HTML u CSS. Imma dawn huma tassew ftit lingwi strutturali u estetiċi. Dawn mhux qed programmazzjoni lingwi per se. U li dwar kemm formali żmien kif aħna ser jonfqu fuqhom. Għaliex aħna ser tibda issa biex jgħaddi għal PHP. Allura PHP hija attwali lingwa ta 'programmar. Huwa lingwa scripting fis-sens li huwa maħsub li jkun ta 'piż eħfef minn xi ħaġa bħal C. U huwa lingwa interpretat, li jfisser mhuwiex ikkompilati. Allura fil-qosor, dak li ma jfisser meta aħna użati lingwa bħal c u kellna biex jikkompilaw dan? Dak ma jfisser li jikkompilaw kodiċi sors C? UDJENZA: [inaudible]. DAVID J Malan: Say mill-ġdid? UDJENZA: [inaudible]. DAVID J Malan: Perfect. Hija jibdel din in binarja. Hija jibdel din in zeroes u dawk mill-kodiċi sors Ingliż simili attwali. U allura nistgħu attwalment run dawk zeroes u dawk billi tgħaddi minnhom permezz tal- CPU billi tikklikkja darbtejn l-ikona jew running kmand. PHP u Python u Ruby u Perl u JavaScript u għenieqed ta 'oħrajn lingwi huma interpretati lingwi, li huwa li jgħidu inti ma jikkompilawha. Pjuttost, inti għalf minnhom bħala input biex programm imsejjaħ 'interpretu. U li interpretu, li xi ħadd ieħor kiteb, jaqra sors tiegħek kodiċi fuq għal isfel, xellug għal-lemin u biss tinterpreta dawk il-linji u ma dak you say. Mela jekk inti tiltaqa 'ma' linja li tgħid istampar, dan ma jfissirx neċessarjament jikkonvertu print li l-żerijiet korrispondenti u dawk. Hija biss għandha dan interpretu bħal a jekk il-kundizzjoni kbir li jgħid, jekk istruzzjoni programmer hija istampar, allura jagħmel dan li ġej. Għalhekk tinterpreta dan biss billi tip ta 'raġunament permezz ta 'dak int javżak li tagħmel. U PHP hija waħda minn dawn il-lingwi. U s-snin PHP ilu kienet imfassla preċiżament għall-ipprogrammar tal-web. U kien inizjalment lingwa messy sloppy ħafna. U fil-fatt, hemm enormi ammont tal-kodiċi PHP ħażina hemmhekk. Iżda l-lingwa nnifisha kiber matul is-snin, tant li issa huwa attwalment pass mill-isbaħ li jmiss pedagoġikament minn C għaliex dan huwa hekk darned familjari kollox inti stajt biss tidher fl-aħħar ftit ġimgħat. Id-differenza waħda inizjali aħna ser tara m'hemm l-ebda funzjoni prinċipali jibqgħalu. Meta inti tibda bil-miktub kodiċi, huwa biss se tikseb esegwita x'ikun, kif aħna ser tara fil-mument. Sadanittant, hawn hu dak ta ' varjabbli qisu fil-PHP. Huwa ftit differenti, iżda biss bilkemm. Fil-PHP, hemm Ma ittajpjar qawwija. Hemm ġimgħa ittajpjar, li ifisser biss hemm huma tipi ta 'data bħal kordi u n-numri u affarijiet oħra. Imma inti ma jolqot li tispeċifika dak li huma aktar. PHP figuri it out għalik. Is-sinjal dollaru huwa biss deċiżjoni li l-poplu PHP magħmula snin ilu tali li kwalunkwe varjabbli fil-PHP biss jibda b'sinjal dollaru. Huwa fil-fatt tip ta 'utli f'dak jumps fil inti ftit aktar. Iżda wara li, dan hija kundizzjoni fil-PHP. X'hemm differenti versus C? Trick question-- xejn, li huwa attwalment tassew sbieħ. Espressjonijiet Boolean fil PHP---istess. Espressjonijiet Boolean ma 'u versus jew, swiċċijiet, loops, loops, loops-- OK, dan huwa wieħed differenti. Għalhekk jirriżulta li hemm Koppja ta 'fatturi oħra fil-PHP. Waħda minnhom hija attwalment dan, li huwa wonderfully konvenjenti. Jekk $ numri huwa array li inti stajt iddikjarata preċedentement fil-programm, għandek dan fancy għal kull jinbena li minflok tagħmel kollha ta 'dak I annoying ikun egwali għal 0, I huwa inqas minn dan, [? I ++?], għal kull numri bħal numru, fejn kull ta 'dawk il-valuri sinjal dollaru huwa biss varjabbli, u l-aħħar inti tista 'taħseb bħala I. Inti tista 'sejħa hija xi ħaġa li trid. I sejħitilha numru. Dan se jtenni fuq l-array imsejħa numri. U fuq kull iterazzjoni, huwa ser taġġorna awtomatikament għalik l-għadd sinjal dollaru varjabbli sabiex inti kontinwament jkollhom aċċess għall-varjabbli trid mingħajr ma jkollhom jagħmlu xi bracket kwadru notazzjoni jew indiċjar fis firxa. Lil hinn minn dan, aħna anke jkollhom affarijiet simili arrays, li tfittex kważi l-istess, ħlief huwa komuni ħafna, kif aħna ser tara, kemm fil-PHP u JavaScript pre initialize firxa użu parentesi kwadri. C użi braces kaboċċi. Allura huwa kemmxejn differenti, anke jekk aħna ma verament jużaw dik trick ħafna. Iżda anke aktar qawwi, PHP arrays assoċjattiva, li huwa mod fancy ta 'tgħid tabelli hash. Fil-fatt, jekk inti tixtieq li tiddikjara hash tabella fil-PHP, b'differenza C-- kemm linji ta 'kodiċi ma jieħdu biex fil-fatt jimplimentaw tabella hash fil C? Jew kif ħafna linji tal-kodiċi huwa jieħdu sabiex jimplementaw tabella hash fil C? Allura huwa probabbilment ħafna, id-dritt? Huwa ftit tużżana, forsi 100 jew 200. Huwa nontrivial. Jew huwa dwar li tkun, bħala tkun taf dalwaqt tara, nontrivial biex jimplimentaw tabella hash [Inaudible] u wkoll jipprova. Iżda fil PHP-- u franchement, I probabbilment ma għandu jgħidlek dan sakemm Monday-- fil-PHP, jekk inti tixtieq tabella, isir. Li l-hash table-- hekk b'linja waħda tal-kodiċi. U A lott ta 'lingwi tagħmel dan. Have fun ma pset ħamsa. Allura ħafna ta 'lingwi tagħmel dan. Huma jagħtuk dawn estrazzjonijiet li nies oħra, programmaturi oħra, ħolqu għalik sabiex inti tista 'toqgħod fuq l-ispallejn u tibda tuża l-ideat li huma super konvinċenti, bħal tabelli hash u siġar u tipprova. Imma inti ma neċessarjament ikollhom jimplimentaw dawk l-affarijiet yourself. U għalhekk finalment, liema aħna qed tmur għall-użu PHP għall huwa potenzjalment miktub programmi tal-hekk imsejħa linja tal-kmand. Nistgħu jirrikreaw kull programm konna bil-miktub dan is-semestru s'issa, ħlief forsi tbegħid li juża SPL, li hija speċifika għall C fil-mument. Iżda kull problema oħra stabbilita, ċertament Mario u Caesar u Vigenere u [? Xquq?] U onward, aħna tista terġa 'timplimenta fil-PHP, u probabbilment ftit aktar faċilment. Imma dak li aħna qed finalment tmur għall-użu PHP għall huwa l-ipprogrammar tal-web. U aħna qed tmur biex jintroduċu jmiss ġimgħa mudell mentali, mudell imsejjaħ MVC, kontrollur fehma mudell, li jekk inti ghamilt programmazzjoni qabel fl-Python jew Ruby jew x'imkien ieħor, inti tista 'taf ta' dan it-tim ma Binarji u Django u simili. Imma jekk int ġodda għall- dan ukoll, inti ser tara li dan huwa attwalment naturali ħafna estensjoni tal-factorization u t-tip ta 'disinn ta 'kodiċi li konna qed tagħmel fil-C. Aħna qed tmur biex issa japplikaw xi wħud minn dawk il-lezzjonijiet għall PHP hekk li finalment, aħna implimentazzjoni websajts tagħna stess. U jekk int-tip ta ' mesmerized jew étonné li aħna qed tmur biex tagħmel kollha ta 'l-hekk malajr, tirrealizza li kważi kull semestru, kważi 90% ta 'studenti CS50, inklużi dawk li qatt programmati qabel, jispiċċaw jagħmlu proġetti finali li huma bbażati fuq programmazzjoni web. U għalhekk inti se tara li l-prospetti huma għolja fil-ġimgħat li ġejjin. Allura aħna se tara inti mbagħad nhar it-Tnejn. SPEAKER 1: U issa, Deep Ħsibijiet mill Daven Farnham. Tabelli hash. [Rires]