SPEAKER 1: All, dritt welcome back. Dan huwa CS50. U dan huwa l-bidu ta 'disa' ġimgħa. U dan huwa l-bidu tal-bqija tal- ħin tiegħek CS50, li aħna transizzjoni issa, finalment, lill-web aspett tal-kors, fejn inti ser issib li ħafna ta 'l-elementi fundamentali li konna qed jesporta għal ġimgħat xorta terga 'lura biex iżuru, jew haunt, us. Imma issa, inti ser issib li huwa ta ' ordni ta 'kobor aktar faċli biex twettaq ċerti kompiti u isolvu ċerti problemi - tant li anki jekk int ħsibt ċerti settijiet problematika kienu qegħdin gost fil tagħhom stess mod, naħseb li inti ser issib li tistabbilixxi p 7, p stabbiliti 8, u mbagħad, finalment, il-proġett finali se jkun l-aktar sodisfazzjoni għaliex inti taf issib li aħna jibdew jieħdu għal mogħtija issa l-affarijiet bħall-ġestjoni tal-memorja, u pointers, u dak li għaddej fuq taħt il-barnuża. U għal darb'oħra, tematiċi, kollha matul il- semestru kienet din saffi u saffi. U issa aħna qed tip ta 'up hawn, wieqfa fuq il- ispallejn tal ġimgħat li għaddew. Issa, jiġbor lura mingħand aħħar darba li aħna tkellem dwar kif l-internet maħduma. U dan kien forsi oversimplification, imma ftakar li kull kompjuter fid-dinja għandu IP jindirizzaw, għalkemm dan l-daqsxejn ta ' oversimplification xorta. U dawk l-indirizzi huma użati biex unikament jidentifikaw magni b'tali mod li meta inti tibgħat l-informazzjoni, jew pakketti, biex ngħidu hekk, huma jista 'jkollhom oriġini indirizz u l-indirizz destinazzjoni. U dawk l-istess indirizzi IP jistgħu jintużaw kemm għall-ġid u wkoll għall-ħażen, li track inti, per eżempju. Fil-fatt, kull wieħed u waħda minnkom bil-laptop miftuħa issa, jew telefon fil tiegħek but, għandha l-indirizz IP fuq in-netwerk Harvard. U huwa mhux kollha li diffiċli li jikkorrelataw li min u fejn inti huma dawn il-jiem. Iżda aktar fuq li forsi fil-futur. Now I ħsibt I d jġib lura xi memorji ta '[? itejbu?] u jagħtuk clip ieħor minn juru inti tista 'ssib familjari. Jekk nistgħu dim-dwal għal ftit ftit sekondi. Il Numb3rs juru. SPEAKER 2: Huwa indirizz IPP4 32-bit. SPEAKER 3: IPP, kif fil-internet? SPEAKER 2: Netwerk Privat. Biex netwerk privat Amita tal. Hija hekk aqwa. SPEAKER 3: Come on, Charlie. SPEAKER 2: Huwa. A indirizz IP mera. Hi kiri us jaraw dak hi qed jagħmel fil-ħin reali. SPEAKER 1: OK, so a ftit affarijiet ħażin ma 'din l-istampa. Allura wieħed, u dan huwa wieħed aċċettabbli, dan huwa attwalment ma indirizz IP validu. A indirizz IP validu għandu jkun numri tal-formola w.x.y.z, fejn kull waħda dawn l-ittri hija 0-255. Iżda li l-multa minħabba biss bħall- movies meta dawn ikunu numri tat-telefon foloz, huma foloz indirizzi IP. Inti ma attwalment tolqot servers reali. Imma mind you, dan huwa browser. U browsers ma tibda outputting kodiċi tal-kompjuter bħal dan. U jekk inħarsu ftit aktar profonda, avviż li l-lingwa li dawn qed jaraw fuq l-iskrin hija lingwa msejħa Għan Ċ, li hija l-lingwa li li apps iPhone huma miktuba, partikolarment dawk li jinvolvu krejons, kif tista 'tara mill- il-kodiċi tas-sors hawn. OK, ħsibt li dan kien umoristiċi. Allura dan snippet tal-kodiċi għandha assolutament x'taqsam xejn ma 'kwalunkwe dan partikolari episodju kien madwar. Allura l-Joke huwa tip dwar il-folks tieħu għal din tingħata. Iżda dan mhux kollox li diffiċli biex jiksbu dawn id-dettalji tekniċi dritt. U nixtieq ninkoraġġukom. U fil-fatt, 50 tista 'tajjeb ħafna jħassru ħafna ta 'juri TV u films jew inti għaliex inti ser issib li huwa biss mhux possibbli dak li qed tagħmel fuq l-iskrin. Iżda fil-fatt, dan huwa l-kodiċi li inti tista 'tara dan fl-applikazzjoni iPhone jew l-applikazzjoni OS Mac. Hija għandha x'taqsam xejn affattu li tagħmel ma 'sigurtà. Allura żżomm għajnejk out għal aktar dawn l-affarijiet divertenti bħal dik. Iżda llum aħna jibdew adsa verament profondament għal firxa sħiħa ta 'lingwi. An tabilħaqq, wieħed mill-globali takeaways ta dan il-porzjon tal- kors ma jitgħallmu kif program fil-PHP, ma jitgħallmu SQL per se, ma jitgħallmu JavaScript per se, iżda pjuttost biex jgħallmu lilek innifsek kif jgħallmu yourself lingwi ġodda għaliex, fil-fatt, aħna tibda tieħu issa l- roti ta 'taħriġ off sabiex wara aħħar course, inti ma jistennewx 20 ispeċifikazzjoni paġna li tgħid kif inti biex timplimenta uħud programm. Inti għandek l-ingredjenti biżżejjed fil tiegħek moħħ, u għodod biżżejjed fil għodda tiegħek kit, li biex jibda jinbena soluzzjonijiet għall-problemi ta 'interess għall- inti għal xi grupp istudenti, għal xi proġett ta 'riċerka, jew verament xejn ta 'interess għalik. Allura lejn dak il-għan, ifakkar li dan kien l-istampa fassalna dan aħħar darba. U dan huwa żewġ kompjuters, klijent u qtugħ, jitkellmu ma 'xulxin. U l-protokoll, il-lingwa, hekk li jitkellmu, li dawn iż-żewġ kompjuters jiġri li jitkellem huwa msejjaħ HTTP. U dan huwa biss il-protokoll użat mill- kompjuters li tittrasferixxi informazzjoni fuq il-world wide web. Il-web, naturalment, huwa biss servizz wieħed li timxi fuq quċċata ta 'l- hekk imsejħa internet. X'hemm servizz ieħor disponibbli fuq quċċata tal-internet f'dawn il-jiem? Xi protokoll ieħor jew - dak li? UDJENZA: FTP. SPEAKER 1: FTP. Allura File Protokoll Trasferiment huwa ieħor. Ħafna mill inti probabilment ma jkunux użati. Iżda ħafna inti probabilment użati affarijiet simili Gchat, jew instant messaġġi b'mod aktar ġenerali, ċertament email. U dawk, wisq, huma servizzi li jimxu fuq quċċata tal-internet għaliex, fil- aħħar tal-ġurnata, l-internet innifsu verament biss tikseb data minn punt A sa punt B. U juża numru ta ' partiċelli nnifisha, wieħed minnhom jew tnejn minnhom aktar imsejħa TCP / IP ġenerali, li huwa li jgħidu li wieħed kompjuter fuq l-internet jista 'attwalment tkun qiegħda tagħmel affarijiet differenti, email, u web, u oħrajn. Google ma ħafna ta 'dan. Allura kif huma dawk is-servizzi unikament identifikati, ma nistgħu ngħidu, fuq kompjuter li jistgħu fil-fatt tkun qiegħda tagħmel affarijiet multipli? In-numru tal-port. U dawn huma biss tal-bniedem arbitrarja konvenzjonijiet bħal 80 huwa web, 443 huwa encrypted web, 25 huwa email. U hemm għenieqed ta 'oħrajn. U dawn in-numri huma sempliċiment inklużi dawn il-pakketti ta 'informazzjoni, dawk pakkett virtwali, li attwalment fihom talba jew risposta. Allura meta ikollok lura 'risposta mill- web, tipikament, inti ma tara l-ebda numri affattu f'termini tal- kodiċi istat tar-rispons. Inti ma attwalment ara l- ħidma interna ta 'l- pakketti li jiġu lura. Iżda 200 tassew ifisser OK. U dan ifisser kollox huwa tajjeb. Inti tista raw mazz ta 'dawn. Li hija probabbilment l-aktar komuni inti stajt tidher fuq il-web? 404. Dan ifisser biss fajl ma nstabx. Dan ifisser xi ħadd invitat up. Inti ma mistyping mill-URL, jew xi ħadd inkella ma billi jagħtik URL invalida, jew imħassra l- fajl u l-URL għadu qed jintużaw minn nies. Allura kull numru ta 'raġunijiet jistgħu jispjegaw għaliex fajl ma jinstabx. U tkun taf tara, fil-ġimgħat li ġejjin, dawn kodiċi ta 'żbalji oħra, u tkun taf jieħdu vantaġġ ta 'xi wħud minnhom. L-agħar huwa 500. Jekk ikollok żball 500 fil-kodiċi inti ħadthom bil-miktub, jaħsbu li bħala tip ta 'l- Analog ta 'difetti seg fil- dinja ta 'programmazzjoni web. Huwa mhux daqshekk dire. Iżda dan ifisser biss li, x'imkien, inti invitat up. Allura bil-ħerqa li dawk. Imma ejja ara jekk nistgħu tara dawn fil-kuntest. Let me go għal browser hawn u tagħmel dan li ġej. Allura dan huwa Chrome, li jiġri li tkun installata fil-appliance. Iżda aktar minn darba kull browser dawn il-jiem għandha xi funzjonalità ekwivalenti. Jien ser jitla 'menu tal-Chrome, u mur Għodod, u jien se jmorru li Developer Tools. U tkun taf tara li dan il-panel ftit jiftaħ fil-qiegħ tat-tieqa. Shortcut ieħor, li tkun onest, li jien normalment juża myself huwa li Right click jew Control ikklikkja kullimkien fuq il-web paġna u biss jmorru għall Spezzjona Element. U li mhux biss se tiftaħ dan għandhom għalik. Din se tiftaħ, speċifikament, il-porzjon Elementi fuq naħa tax-xellug. Allura aħna qed ovvjament jaraw Google. Huma mibdula logo tagħhom illum. Imma fuq jekk I iscroll up hawn, avviż li taħt Elementi, tara dak li sejjaħ HTML, HyperText Markup Lingwa, u dan huwa l-lingwa li dan u kollha paġni web, verament, huma miktuba pulzieri Iżda huwa attwalment ifformattjat għat us tant aktar readably milli normalment huwa. Fil-fatt, jekk I zoom out, u I minflok biss Dritt ikklikkja jew kontroll Ikklikkja ikklikkja fuq il-paġna, u mbagħad mur View Page Source, dan huwa litteralment dak Google mibgħuta sa browser tiegħi. Allura xi persuna jew persuni kiteb Google.com jużaw dan source code. Ħafna minn dan huwa ma HTML. Huwa fil-fatt lingwa msejħa JavaScript, li aħna ser jaslu għal nhar l-Erbgħa. Imma dak Chrome, u dak li kull browser tista 'tagħmel għalina, hija tip ta' tara passat kollha tal-distrazzjonijiet ta 'l- sintassi crazy, u jerġgħu jdaħħlu l-ispazju abjad għalina, u anki sintassi jenfasizzaw, jew colorize affarijiet għalina. Allura inti ser issib li dawn l-hekk imsejħa għodod iżviluppatur mibnija fis browsers se jagħmlu l-ħajja tiegħek sabiex, tant faċli għaliex inti tista 'tesplora, permezz ta' din menu interface, eżattament dak li l-sottostanti kodiċi ta 'sors għall kwalunkwe paġna fuq l-internet. U fil-fatt, dan huwa wieħed mill-aktar modi effettivi biex jitgħallmu kif jagħmlu xi ħaġa ġdida, għall-inqas jekk il-paġna mhuwiex tant kumplessa bħala li jisbqu, hija biex tibda poking madwar huwa HTML, tfittex fil-hekk imsejħa CSS tagħha, li aħna ser jidħlu għal daqsxejn kif ukoll, biex tikseb fehim ta 'kif dak programmer implimentati xi partikolari karatteristika tal-paġna. Dritt iżda teknikament aktar interessanti issa li għaddej biex jkun dan. Jekk immur għall-tab Netwerk, ejja issa ċar dan. Jien ser ikklikkja l-ftit jaqsmu simbolu hawn, u mbagħad mur sit ieħor. U jien biss se tip fil Facebook.com. Nru HTTP, HTTPS ebda, no WWW. Ejja attwalment ara x'jiġri hawn. Ikteb. Issa avviż mazz sħiħ ta 'għalf biss deher fil dan il-panel tal-qiegħ, fl Minbarra l-paġna web jidhru fil-quċċata. Jien ser iscroll back up fil- Network tab hawn, u jien ser ikklikkja fuq l-ewwel filliera. X'inhu din l-għodda se jiżvelaw lilna huwa kull wieħed mill-talbiet HTTP li malajr biss marru lura u lura bejn browser tiegħi u server Facebook. U hekk kull wieħed minn dawk ringieli jirrappreżenta wieħed talba jew rispons, wieħed jew aktar ta ' dawk pakkett virtwali. Jew aktar każwali, huwa simili persuna bħal persuna, klijent fil- restorant, titlob xi ħaġa għal darb'oħra, u għal darb'oħra, u għal darb'oħra. U l-wejter jżomm jġibu lura waħda kull darba. Allura issa, jekk I zoom fil dwar dan, avviż u dan se jkun l-tip ta 'ħaġa li int jilqgħu għal u mħeġġa li jilagħbu bil fuq tiegħek, għaliex aħna mhux se jmorru permezz kollox fid-dettal ħafna. Imma avviż hemm ftit tabs sub hawn - Headers, preview, Rispons, Cookies, u ż-żmien. Jien biss ser tħares lejn headers għal issa minħabba li dawn huma ftit ingredjenti ġewwa tal-pakkett li jgħinu data tikseb lejn u minn postijiet. Allura l-ewwel, let me ikklikkja dan, View Sors jmiss Headers Talba. Hemm talba li browser tiegħi, Chrome, f'dan il-każ, mibgħuta ġewwa ta ' dak il-pakkett virtwali. Int ser ikollok ifakkar aħħar ġimgħa I ittajpjat manwalment waqt li feint tkun browser. Imbagħad fakkret lill-server li huwa tfittex l-ospitanti imsejħa Facebook.com. U allura hemm ftit aktar arcane informazzjoni li aħna ser mewġa idejn tagħna għal issa. Imma jekk nibda biex iscroll issa din il-possibilità, let me jiksbu l- headers rispons. Dan kien x'hemm fil-virtwali pakkett li daħlu lura mill- Facebook.com. U jekk I ikklikkja View Sors biss biex tara t-test prima ta 'dan, avviż ftit affarijiet. Waħda, Facebook wkoll titkellem l-istess protokoll, verżjoni 1.1 tagħha. Allura li sbieħ. Iżda kodiċi istat 301, mċaqalqa b'mod permanenti. Ukoll, fejn l-Heck ma Facebook imorru? X'hemm dan tipprova twassal lilna? Ukoll, avviż stabbiliti hawn hemm ieħor header imsejħa Location. Allura għaliex huwa Facebook javżak me li huma mċaqalqa b'mod permanenti għal dak URL jmiss Location? I nesa l-www. Allura li kien l-għażla tiegħi. Fil-fatt, ħafna minna rari, probabbilment, tip www.whatever.com dawn il-jiem. Iżda jirriżulta minn amministratur tas-sistema, bħal Facebook, jistgħu kkonfigurat servers tagħhom b'tali mod li jew Facebook.com taħdem, jew www.Facebook.com xogħlijiet, jew, tassew, xi prefiss bħal quddiem tagħhom isem tad-dominju. Allura li ghamilt dan għalina. U huma ridirezzjonar magħna, probabbilment għal xi teknika, xi raġunijiet marketing. Huma biss jixtiequ canonicalize fuq www.Facebook.com. Iżda li mhux pjuttost dan. Jekk I iscroll hawn, ejja tara x'jiġri. Dan huwa javżak me aħna trasferiti permanentement http://www.Facebook.com. Mela ejja nħarsu lejn it-tieni talba li browser tiegħi jibgħat. Sfortunatament, jidher qisu Facebook mxiet mill-ġdid minħabba t-tieni talba, billi jintgħażel dak URL minflok, jgħid li, wisq, mċaqalqa b'mod permanenti. U let me iscroll hawn għall-headers rispons. Fejn ikun Facebook marret issa? Allura HTTPS. Allura issa Facebook bdiet, partikolarment fid-dawl tal-kurrent avvenimenti fl-aħħar xhur, speċjalment u wkoll fl-aħħar ftit ta 'snin biex iġġiegħel kollha ta 'utenti tagħhom, b'mod tajba mod, l-użu HTTPS, li huwa aktar jiżguraw, għalkemm mhux kompletament sigura. U hekk issa page tiegħi, browser tiegħi huwa ser titlob din it-tielet URL. U issa, finalment, irridu jiksbu l- inkella ma tidhirx 200 OK. Allura dak li fid-dinja kollha jew ta ' dawn ringieli oħra stabbiliti hawn. I litteralment ittajpjat ħaġa waħda, u tiegħi browser jidher li talbu simili 20 xi affarijiet fard. X'inhu dan? UDJENZA: Scripts? SPEAKER 1: Skripts, fajls oħra hekk miktuba f'lingwa imsejjaħ JavaScript, li, għal darb'oħra, aħna ser tara daqsxejn ta 'nhar l-Erbgħa. X'aktar? Folji stil. Allura xi ħaġa f'lingwa imsejjaħ CSS, li aħna ser tara fil-bit. Gifs, u JPEGs, u PNGs, u stampi, u fajls movie - ikun x'ikun il-web page tkun x'aktarx isir il-forma ta 'fajl. U hekk dak li aħna qed tara fuq ix-xellug naħa hemm kollha tal-fajls li Chrome kellhom biex tniżżel, recursively, jekk inti se, sabiex jikkomponu l-intier tal-paġna. Allura dak li rajna mument ilu ma 'Google, jekk I ikklikkja fuq l-Elementi tab, dan, żgur, huwa l-HTML, l- lingwa li composés din il-paġna. Iżda hemm għenieqed ta 'affarijiet oħra. Hemm logo. Hemm dawk blu ish ikoni hemmhekk. U hemm elementi oħra għadhom fuq il-paġna li nfushom jistgħu jkunu files separati. Allura x'hemm sbieħ dwar browser hija li tħares lejn il-lingwa aħna qed tmur biex tibda tikteb, jew inti ħadthom diġà kitba bdiet fl P sett 7, iċ-ċifri taf fejn dawk il-fajls ħajjin, u tmur u grabs lilhom ukoll. U jien ma jistax jenfasizza biżżejjed, anki għalkemm xi wħud dan jista 'tfittex ftit arcane jew enormi fl-ewwel daqqa t'għajn, tagħlim kif program applikazzjonijiet għall-web, huwa imprezzabbli li wieħed jifhem kif dawn għodod ftit xogħol. Dawn huma tip simili GDB bħal għodod, iżda ferm aktar sempliċi, finalment, għall-użu - u verament jagħtik għajnejn lejn dak aħna kont qed tieħu għall mogħtija għal żmien pjuttost twil issa. Allura x'nistgħu nagħmlu issa ma din l-informazzjoni? Well, ejja fil-fatt tagħti ħarsa lejn il-kunċetti sottostanti HTML. U aħna ser tiddifferixxi, kif diġà għandna, li sezzjonijiet din il-ġimgħa, għall-problema stabbiliti 7 ispeċifikazzjoni, li xi wħud mill-aktar dettalji ta 'dawn il-lingwi. Imma ejja ara jekk ma nkunux nistgħu żebgħa stampa ta 'dak li inti għandek tifhem globali hawn. Allura HTML, HyperText Markup Language, ma tkunx lingwa ta 'programmar. Dak li verament ma jfisser? Allura HTML tidher bħal dan. U xi wħud minnkom diġà jafu dan. Xi wħud minnkom qed tagħmel dan għal xi żmien. Imma ejja ara jekk aħna ma jistgħux jimlew f'xi blanks ukoll. Allura avviż ftit affarijiet hawn. Waħda, huwa biss test. Allura huwa biss bħal source code C, jew xi lingwa oħra. Avviż li jidher li hemm tendenza hawn. Hemm indentazzjoni, iżda teknikament l-indentazzjoni huwa biss tal-bniedem konvenzjoni. A browsers ma care jekk hemm ġdida linji u tabs simili naraw hemmhekk. Iżda avviż li hemm symmetries hawn. Hemm dak I ser sejħa, fil-quċċata ta ' dan il-fajl, il-lametta miftuħ, jew il-bidu tag, imsejħa HTML. U mbagħad, stabbiliti hawn taħt, perfettament infurrati up, ħafna bħal nagħmlu b'ċineg kaboċċi, naraw parentesi miftuħa, quddiem mmejla, HTML, parentesi magħluqa. Allura dak l-għeluq korrispondenti tikketta, jew tarf tag, għal dak ħaġa. Flimkien, kollox ġewwa tal- hekk imsejħa tag miftuħ u qrib tag compose dak li aħna ser sejħa element. U aħna ser ara, b'mod ftit mument, huwa verament bħal node fi siġar. Għaliex jekk inti taħseb dwar issa l- Indentazzjoni thats implikat hawn, inti tip ta 'jkollhom, bħal, grandparent node imsejħa HTML. Kif it-tfal ħafna jista you say, ibbażata fuq din l-istampa, l-element HTML għandha? Allura probabbilment tnejn. Wieħed huwa l-element tar-ras, apparentament. U wieħed huwa l-element tal-ġisem. U għaliex żewġt itfal? Well, jien biss tip ta 'deduzzjoni li jekk I jkollhom tikketta ras miftuħa u mbagħad tag ras qrib, li element. U mbagħad, jekk ikun hemm korp ieħor miftuħ tag u tag korp qrib, li huwa simili element ieħor. Allura fis-sens li jekk I tip ta 'jduru l-istampa fuq il-ġenb tiegħu, huwa simili li jkollhom tag HTML, u mbagħad tag ras, u mbagħad tag ġisem, u imbagħad xi test, bonjour dinja, dangling off tal-lametta korp innifsu. Allura nistgħu tfassal stampa li tista 'tidher bħal dan. Il-forom huma arbitrarji. Iżda tinnota li stajt użati sort ta ' ellissi fil-quċċata li jirrappreżentaw il- dokument innifsu. Jirriżulta jista 'jkun hemm Jittieħed oħra ġewwa ta 'paġna web li stajt ma mfassla hawn. Allura aħna qed tmur biex saħansitra hang l-HTML node off ta 'l-hekk imsejħa dokument node. U allura għandna ras u ġisem u titolu, avviż, li hija nested aktar. I ma jolqot tqegħid linja addizzjonali waqfiet ġewwa tal-lametta tal-titolu. Hija biss qisni kien jkollna a wisq verbose ftit. So I xellug f'linja waħda hemm, ma titolu miftuħa, bonjour dinja, titolu qrib. U allura aħna għandna xi test dangling off ta 'hawn. Allura din l-istampa se terga 'lura għalina meta aħna adsa fis JavaScript. U intendiment li meta inti tikteb HTML bħal dan, dak li hija browser tagħmel? Well, aħna ma jkollhomx għalfejn tinkwieta dwar kif qed jagħmel dan, jew ma 'dak algoritmu, iżda fl-aħħar tal-ġurnata, meta jirċievi browser HTML simili li, mill Facebook jew Google, huwa parses dan, biex ngħidu hekk, jgħid dan, ma 'xi ħaġa bħal fread, fuq għal qiegħ, xellug għal-lemin, u kif jirrealizza, oh, tag miftuħa, u mbagħad mill-qrib tag, jibda malloc, biex ngħidu hekk, a node fil-siġra. U meta ssib, kif konna implikat hawn mal-indentazzjoni, a node tfal, hija mallocs node għal dak u mehmuża li għall-siġra. Allura l-istrutturi tas-siġar, siġar binarju, siġar ternarji, u siġar akbar, li aħna glanced fil-ġimgħa jew tnejn ilu, avviż li l-istess prinċipju huwa ġejjin lura lilna. U min implimentati, Chrome kwalunkwe tim ma li, preżumibbilment kellha biex timplimenta xi tip ta 'struttura ta' siġra taħt il-barnuża. U li hi stess hija probabbilment fil- lingwa bħal C, jew C + +, jew inqas lingwa livell li aħna ser issa jużaw atop-web. Allura issa, forsi, dan se jagħmel aktar sens. Tatwaġġ attwali minn xi Guy li jistgħu jiddispjaċina minnu eventwalment, tip ta '. OK, id-dritt, u għalhekk ħafna ta 'umoriżmu web. Mhuwiex verament se fuq hekk ukoll illum. Allura aħna ser jimxu fuq. Kull dritt. Mela ejja tagħti ħarsa issa fi ftit eżempji. L-aktar sempliċi possibbli Ħaġa jista 'jkun dan. Jien ser jimxi 'l quddiem u tiftaħ fi gedit fajl imsejjaħ hello.php. U ġewwa ta 'hawn, jien ser malajr biss tagħmel dan, printf, ikkwota unquote, "bonjour dinja." Allura avviż, u jien ser tagħmel backslash n tiegħi, Stajt ma bothered li tiddikjara prinċipali. Jirriżulta, fil-PHP, u ħafna ta ' lingwi, inti m'għandekx bżonn prinċipali funzjoni per se. Tista 'biss tibda bil-miktub program tiegħek. Issa, meta I ħlief dan il-fajl, avviż jien ser ikollhom jagħmlu dan li ġej. Jien mhux ser tuża tagħmel, u jien ma ser tuża clang għaliex PHP, b'differenza C, ma tkunx lingwa miġbura. Huwa dak li jissejjaħ interpretat lingwa, li jfisser li inti run bħala input permezz tal-programm ieħor jissejjaħ interpretu. U dak il-programm jaqraha, fuq għal qiegħ, xellug għal-lemin, u ma tkun xi tkun għid li tagħmel. Allura f'dan il-każ hawnhekk għandi linja waħda li tgħid printf. Allura meta I run dan is-sors kodiċi, hello.php, għalkemm program li jiġri, konvenjenti, li għandu jissejjaħ PHP, li PHP programm ser jinqara dan il-fajl, fuq għal isfel, xellug għal-lemin, u li għaddej biex jagħmlu dak I għid li tagħmel - eżekuzzjoni kodiċi, u jekk ma tirrikonoxxix xi ħaġa, biss tobżoq it out. Hekk jien ser jimxi 'l quddiem u run PHP ta hello.php. Ikteb. U li mhux pjuttost dak I maħsub. Well, għaliex huwa li? Ukoll, PHP hija lingwa li attwalment mfassla sabiex ikunu pjuttost marbuta mal-web. Meta jagħmlu paġni web ma 'din il-lingwa PHP, kif aħna ser malajr tara, aħna ser trid tagħmel xi ħaġa simili istampar out linji bħal dan. Hekk jien ser jagħmlu dan. Bracket miftuħa, marka kwistjoni, PHP, u issa jien biss se inċiż biss biex iżommu affarijiet sbieħ. U issa jien se tagħmel mistoqsija jimmarkaw parentesi magħluqa. Allura hemm daqsxejn ta 'assimetrija hawn. Inti ma tagħmel dan. U inti ma tagħmel slash, hekk PHP huwa xi ftit differenti. Imma issa, jekk I terġa dan il-programm, PHP hello.php, issa I fil-fatt tikseb World Hello. U aħna ser tara għaliex dan huwa ta 'valur. Wieħed, tippermetti lili biex jispeċifikaw, super espliċitament, dan huwa kodiċi, tesegwixxi dan. U dan huwa tabilħaqq liema dawn tags speċjali jimplikaw hawn. Iżda jfisser ukoll li jekk I biss tagħmel xi ħaġa bħal I jimmiraw hawn fuq, li ifisser li, litteralment, li se biss jiġu stampati mingħajr il-ħtieġa li attwalment sejħa printf, jew stampata, jew kwalunkwe funzjoni simili. Allura aħna ser terga 'lura għal dik fi ftit mument. Ewwelnett, ejja tagħmel dan. Ġewwa tal-appliance, għandna direttorju imsejjaħ Vhosts, għall virtwali hosts, mmejla ospitanti lokali, mmejla pubbliku. Allura huwa verbose bit, iżda storja twila qasir, l-appliance hija mfassla mhux biss għall-appoġġ C. Huwa wkoll mfassla għall-appoġġ PHP. Imma hija wkoll maħsuba biex tkun web server, u server database. U li huwa maħsub, u verament konfigurati, li jkun reminixxenti ta 'kwalunkwe kummerċjali web hosting kumpanija li inti tista 'tħallas $ 5 a xahar għal, $ 100 fix-xahar għal. Tkun xi tkun is-servizz huwa, huwa konfigurati li huma simili ħafna għal reali server produzzjoni dinjija. U dak li tfisser hija li taħdem fuq l-appliance huwa softwer server web. Dan jiġri li għandu jissejjaħ Apache. Huwa biss b'xejn, u sors miftuħ, u popolari ħafna. U aħna għandna kkonfigurat Apache li tkun taf li jekk I żjara URL ċerti, ma Chrome jew kwalunkwe browser ġewwa tal- appliance, li tħares lejn dan id-direttorju għall-fajls li l- utent qed titlob. Fi kliem ieħor, let me imorru quddiem u tagħmel dan. Ġewwa ta 'direttorju pubbliku tiegħi, jien ser jimxi 'l quddiem u toħloq fajl imsejħa index.html. Li tagħti me l-tab hawn. U jien se jmorru malajr ħafna u jimxi 'l quddiem u bang out dan il-programm hawn. DOCTYPE HTML, li għal issa, biss jassumi inti għandek tip. Huwa biss tag arcane, li mhux verament tag HTML, li tispeċifika li hawnhekk jidħol xi HTML. Jien ser jimxi 'l quddiem u oħloq dak rajna mument ilu. Hawn il-kap tal-paġna. Ġewwa l-ras kien l - hekk titolu. Allura aħna ser jgħidu bonjour, dinja. U mbagħad stabbiliti hawn kien l-tikketta ġisem. Let me tagħlaq il-tag ġisem. U mbagħad fil hawn I ser jgħidu wkoll, biss għaċ-ċarezza, bonjour dinja. Allura dan huwa, forsi, l-eħfef paġna web possibbli għalik tista 'tagħmel dan huwa validu. Huwa sintattikament validu. Dak kollu li huwa magħluq jinfetaħ. Kollox huwa nicely fl styled u indentata. Mela ejja ara issa kif I tista 'aċċess dan il-fajl. Well, let me mur Chrome hawn. U let me go għal http://localhost/index.html. Allura x'hemm ospitanti lokali? Ukoll, ħafna kwalunkwe kompjuter fid-dinja, Linux, Mac OS, Windows, għandu laqam imsejħa ospitanti lokali. Mela jekk inti qatt tixtieq li nitkellmu lill-kompjuter tiegħek - għalkemm, oddly reflexively - inti sejħa yourself ospitanti lokali. X'ikun kompjuter tiegħek attwali hija imsejħa, kemm jekk huwa MacBook David Arja, jew xi ħaġa aktar verbose bħal dik. Allura dan il-URL li apparentament huwa ser tuża l HTTP li tkellem lill-ospitanti lokali, l-istess kompjuter, l-appliance, u li għaddej biex titlob, ħu raden, liema fajl? Index.html. Allura l-apparat ikun ikkonfigurat javvanzaw li tkun taf li jekk jien tistaqsi għal xi ħaġa bħal index.html, tfittex fil-folder imsejjaħ Vhosts, b'mod folder imsejjaħ localhost, fil-folder hemmhekk imsejħa pubbliku. Li fejn kollha ta pubbliku tiegħi fajls ser ikunu. Hekk jien issa ser jintlaqtu Ikteb. U kkritikat, hemm dik projbit messaġġ, magħrufa wkoll bħala 403, l- kodiċi numeriku għaliha. Allura x'hemm ħażin hawn? Ukoll, mhuwiex biżżejjed li biss jitqiegħed il-fajl ġewwa ta 'folder tiegħi. I bżonn fil-fatt jagħmlu dan li ġej. Let me jmorru fis Vhosts direttorju tiegħi, fis localhost, fis pubbliku, u ħalli me do ls l sing. U hemm affarijiet oħra ftit fil hawn għal skopijiet lum. Imma avviż fuq in-naħa tax-xellug, li jmiss li index.html, aħna biss tara wieħed RW. U fil-passat, liema tkun RW ilha għal? Just taqra jew tikteb. Il-fatt li jgħid rw fuq ix-xellug ifisser I, is-sid ta 'dan il-fajl, jista' taqra jew tikteb. Imma I bżonn biex in-nies kollha fil- dinja taqra dan, għalkemm mhux tiktibha. Hekk jien se jibdlu l-mod ta 'l- fajl, chmod, r kollox plus li tagħti kulħadd jaqra permess fuq il- inkartament imsejjaħ index.html. U jekk I issa retype l sing ls, avviż li, minn hawn, ftit aktar Tal R popped up. U għal issa, il-spec tmur aktar fid-dettall. Għal P sett 7, li ifisser biss kulħadd issa tista 'taqra dan il-fajl. Jekk immur lura lill-browser tiegħi issa u rikarigu, voila. Hello dinja. U nista 'anki tiftaħ għodod Chrome tiegħi u ara, bħad ma 'Google u Facebook li hemm HTML tiegħi, ifformattjat ftit colorized differenti u. Jekk immur għall-tab netwerk u rikarigu il-paġna, avviż li hemm il-nikseb jitlob li Chrome hija li jibgħat l-appliance. Hemm il-200 għal dak partikolari fajl. Għalhekk fil-qosor, dan huwa kif dawn kollha diversi biċċiet huma ġejjin flimkien. Dan biss hekk jiġri li l-web server aħna qed jużaw id-dritt issa mhux remot, bħal Facebook. Huwa litteralment fuq l-istess kompjuter, li huwa perfettament OK. Allura dak li aktar tista nagħmlu fil-paġna web? Well, just, ejja riħ permezz koppja ta 'dawn l-affarijiet. Iżda let me imorru quddiem u terġa 'tiftaħ Gedit ma index.html. U let me imorru quddiem u jgħidu bonjour CS50, jiffranka dan il-fajl, mur lura għall- browser, bidla verament underwhelming. Imma x'jiġri jekk irridu li attwalment link għal xi ħaġa issa? Għalhekk jirriżulta li jista 'jkollna l- rabtiet fil HTML li huma biss tags infushom. Dan jiġri li jkun jismu l- ankra tag. a href ugwali https://www.cs50.net, www.cs50.net kwotazzjoni mill-qrib, parentesi magħluqa. U issa ejja ara dak inkella jiġi jmiss. Stajt fetaħ il-tag. I issa jeħtieġ li tagħtiha frażi bħal CS50. Let me tagħlaq il-tag. U avviż ftit affarijiet. Anki jekk hemm dan ħaġa cryptic hawn, I ma ripetuti meta inti tagħlaq il-tag. Inti biss mill-qrib l-tikketta bl-isem tagħha waħdu. U dan huwa dak magħruf bħala attribut b'valur. Attributi biss jimmodifikaw l-imġiba ta 'xi tag ġewwa ta' paġna. Allura dan huwa jispeċifika li l-iper referenza, il-mod fancy ta 'tgħid l- URL għal dan ankra, għal dan link, għandu jkun CS50.net. U t-test li aħna rridu li juru l- utent ma tkunx dik URL prima, iżda pjuttost l-CS50 kelma. Mela jekk issa I rikarigu, let me zoom fl għal ċarezza, let me rikarigu-paġna, avviż li aħna għandna din l-iskola antika blu enfasizzat link. U jekk I imbagħad jerġgħu fuqha, u li għaddej tkun iebsa biex tara, fil-qiegħ tax-xellug fuq tal-lemin tal-iskrin, avviż li jgħid l-URL li Jien se jmorru. U jekk I ikklikkja hemmhekk, voila, issa jien jagħmlu paġni web. U konna wassal lilna nfusna għall-home page. Imma avviż liema potenzjal dan joffri us. Sigurtà huwa ferm Vogue dawn il-jiem. X'jiġri jekk I minflok ngħid xi ħaġa simili dan, u I minflok tmur għal, per eżempju, ejja tara, fakeCS50.net. Reload this page. OK, hekk avviż xorta qisu jien ser CS50, sakemm għajnejk astute se Avviż jien ser CS50 foloz. Jien guessing dan id-dominju ma tittieħed. OK, dan mhuwiex disponibbli. Allura li tajjeb. Ħadd ma attwalment għandha dak dominju. Imma ejja jkun ftit aktar malizzjużi għaliex dan huwa tip ta 'stupid. X'jiġri jekk nibdlu dan Paypal. U jekk dak li nsejħu dan, bħal, www.paypal.badguy.com, ikun x'ikun l-dominju huwa. Li probabbilment jeżisti. Allura issa let me rikarigu-paġna. U hawn aħna għandna tip ta 'phishing attakk, P-H-I-S-H-I-N-G, li hija l- kelma iblah mogħtija għal attakk li tipprova informazzjoni ħut, jew, aħjar għadhom, flus, mill-poplu mill tricking minnhom fis jipprovdu informazzjoni li dawn ma kieku kienu jwettqu. Dan jistenna totalment leġittimu, right? I għandu jkollhom rabta hawn biex Paypal.com. Fl-ġustizzja, jekk I sexed it up ma 'xi grafika, nistgħu jagħmluha ħarsa aktar bħal PayPal. Dritt? Minħabba I tista ', bħala twarrib, I tista 'tmur għall Paypal.com. U aħna stajt biss jara kif nista ' tara kollha ta 'HTML tagħhom. I tista 'biss kopja u oħloq mill- estetika ta Paypal aktar milli jmorru iskola antika hawn. Iżda avviż, naturalment, u huwa ftit żgħir xorta, biss fil-qiegħ rokna tax-xellug, fil bħal punt 10 font, inti tara dak URL int fil-fatt se jiġu mġiegħla. U hekk jekk inti stajt qatt gotten spam qal jimxi 'l quddiem, u int kont tkun ġiet kompromessa. Jekk jogħġbok ikklikkja din ir-rabta u jgħidilna password tiegħek sabiex jirnexxielna niżguraw int inti, qatt ma tagħmel dan. Dawn l-affarijiet għandhom jimxi mingħajr ma tgħid. Iżda huwa wonderfully divertenti, u traġiċi, kif kull sena dan jidher li jiġri li xi nuqqas ta 'żero numru ta 'nies. U dak l-sbuħija ta 'phishing. Tista 'tibgħat emails miljun. U anki jekk 0.01% tan-nies fil-fatt ikklikkja fuq Paypal u jagħtuk tiegħek password, li għadu numru mhux żero ta 'nies li ħadthom biss jagħtu flus tagħhom. U jibgħat emails, naturalment, huwa pjuttost faċli u, essenzjalment, free dawn il-jiem. Allura storja twila fil-qosor, wonderfully idea sbieħ, id-dritt? Snin ilu, dan kien l-aktar kmieni web, li tippermetti web ta ' hyperlinks bejn ir-riżorsi. Iżda hekk malajr jista 'jkun użati għal skopijiet morda. U l-email, huwa biżżejjed li jingħad, dawn jiem, kienu inkorporati ġewwa HTML. Well, let me biss ħaġa waħda oħra. U aħna ser tipposponi l-aktar għal sezzjoni problema stabbiliti seba biex jippermettu li inti tesplora l-partikolaritajiet. Iżda let me imorru quddiem u nagħmlu ftit affarijiet hawn. Jien se jmorru fi u tiddikjara dak li sejjaħ a div, jew diviżjoni, tal-paġna. Let me tagħlaq dik tag div. U jien se ngħid up hawn fuq tal-paġna. U allura hawn taħt dan, jien ser tagħmel xi ħaġa bħal div ieħor, jagħlqu dan tag, u jagħmlu qiegħ tal-paġna. U ejja isalvawh. Allura issa ejja mmorru lura għall-fajl tiegħi. Underwhelming ħafna. Imma dak diviżjoni huwa użat għal, taħt il-barnuża, huwa huwa attwalment element strutturali sbieħ. Huwa ma jkollu ebda estetika safejn nistgħu naraw, minbarra, apparentement, tqegħid affarijiet fuq linji ġodda. Iżda l-avviż, bħala twarrib, biss laqtu Ikteb ma taqtgħu fil HTML bhalu ma fl C. Għandek mnejn taħseb li dan huwa se timplimenta distakk kbir bejn sbieħ il-quċċata u fil-qiegħ tal-paġna. Iżda huwa injorat. Ispazju White essenzjalment injorat paġni web oħra mill-ewwel ħafna karattru bar-ispazju, jew ġarr ritorn, li inti hit fuq il-keyboard. Jekk trid aktar linja pawżi, inti jkollhom jispeċifikaw it yourself. Hekk jien ser nagħmlu ftit affarijiet hawn biex turi x'inhu għaddej. Jien ser iżid attribut li teżisti U għal darb'oħra, il-mod inti titgħallem dak attributi jeżisti, dak jeżistu tags, verament, huwa referenzi online. HTML huwa t-tip tal-lingwa - huwa mhux lingwa ta 'programmar. Huwa lingwa markup - li wara tajba nofs siegħa, forsi, siegħa ma dan, inti ser żgur taqbadha, aktar probabbli, l-idea bażika. U mbagħad Google search bogħod hija kollha l-tags possibbli li inti jista 'jkun interessati pulzieri U kull l-spec, li huwa pjuttost welcome u mħeġġa hawn. Allura issa let me imorru quddiem u tagħmel xi ħaġa bħal din. Sfond bil-kulur. U issa, jien ser tagħmel xi ħaġa bħall-aħmar, b'waqfa u virgola. U inti tista 'tagħmel dan fil- modi differenti ftit. Jien biss tip ta 'ittajpjar bħala super espliċitament kemm jista 'jkun. Iżda jirriżulta li dan il-valur hawnhekk huwa dak li sejjaħ CSS, Cascading Style Folji, li huwa ieħor lingwa għal kollox. CSS m'għandha x'taqsam xejn ma ' miftuħa tags u tikketti qrib. Hija għandha tagħmel il-proprjetajiet. U l-proprjetajiet huma sempliċement użu ewlieni pari, li jfisser biss uħud kelma, kolon, u mbagħad ftit kelma oħra. U jekk għandek dawk multipli, jew biss wieħed hawn, inti tista 'tispiċċa dan bil- virgola, biss għaċ-ċarezza. Iżda dan, wisq, se jaħdem hawn. Issa x'inhu dan se jagħmlu? Inti tista 'probabbilment raden. Let me imorru quddiem u rikarigu din il-paġna. U issa huwa verament ġejjin flimkien. Allura fuq tal-paġna tiegħi huwa aħmar. Imma x'hemm prinċipali hawnhekk hija li, semmejt qabel, li div jagħtik diviżjoni tal-paġna. U li tassew dak li tagħmel. Hija essenzjalment taqsam il-paġna fil- rettangolu li inti tista 'mbagħad jimmanipulaw. U dan il-kunċett ta 'rettangoli huwa tip ta' konvinċenti peress li, jekk taħseb ta ' aktar xi website, hemm probabilment xi struttura lilha. Ħafna mill inti probabilment rarament li jseħħu Homepage Facebook jekk int illoggjat fil-ħin kollu. Imma fuq home page Facebook, hemm xi tip ta 'div tul il-quċċata. U jista 'ma jkunx sempliċi bħala div wieħed, iżda hemm reġjun rettangolari hemm. Il-bqija tal-paġna huwa simili a div enormi, bħal ħafna reġjun rettangolari akbar. Allura storja twila fil-qosor, biss billi dawn il-blokok tal-bini ftit, l- abbiltà li affarijiet mudell bħala rettangoli, jekk wiesgħa jew dejqa, inti tista 'ukoll jagħmlu kolonni potenzjalment, jippermettilek li jistabbilixxu l-paġni, verament, madankollu inti jixtieq. Aħna verament ftit grif il-wiċċ hawnhekk. Tabilħaqq, jekk I do wieħed ieħor, let me imorru quddiem u tagħmel stil, isfond bil-kulur, aħna ser nagħmlu xi ħaġa bħal blu, kwotazzjonijiet qrib. Ejja rikarigu dan. Allura issa huwa jkollna saħansitra uglier. Imma issa I jistgħu tip ta 'juru off P tiegħi stabbiliti ħames ħiliet, id-dritt? Red. Huwa jfakkar me tal RGB, Red Green triples Blue. Ukoll, jirriżulta fl-ipprogrammar tal-web, jew disinn web, li huwa dan, konna għadha programmati xejn per se, inti tista 'attwalment jkollhom kodiċi hexadeċimali. Allura xi ħaġa ħaġa, xi ħaġa xi ħaġa, xi ħaġa ħaġa. Allura inti jista 'jkollhom sitt hexadecimal karattri, jew tliet, f'xi każijiet, u kull waħda minn dawn trade marks in kwistjoni Irid ikun hemm numri hexadecimal, żero permezz f. Jekk irrid li jkollhom ħafna ta 'aħmar, u ebda aħdar, u l-ebda blu, x'inhu l- oppost ta 'zero meta jużaw hex? Huwa f. So I tista 'tagħmel ff, zero zero, zero zero, Ħlief dan, u issa wasal stabbiliti hawn. U jien ma attwalment tara bidla. Allura unquote kwotazzjoni "aħmar" hija apparentement sinonimu għal kulħadd aħmar, ebda aħdar, l-ebda blu. Sadanittant, ejja bidla deliberatament dan wieħed li tkun xi ħaġa każwali, bħall ABCDF. Ejja naraw dak li hu. Huwa tassew sbieħ blu, attwalment, baby blu. Kull dritt, hekk dawn huma biss issa kombinazzjonijiet kemmxejn każwali ta ' karattri. Allura aħna mhux se tikseb bogged fil hawn. Iżda għal darb'oħra, dan titkellem mal-preċiżjoni li inti tista 'tibda japplikaw - anki jekk int ħafna megħlub mill-estetika. Fil-fatt, jekk int verament tixtieq li tkun impressjonat, let me imorru quddiem u l-bidla id-daqs tat-tipa, per eżempju. U avviż-virgola, li huwa meħtieġ hemmhekk. Daqs tat-tipa, nistgħu jkun biss redikoli hawn, 96 punt. Ħlief dan. Ara naqra, li qies ta 'tipa kbira. Kull dritt, hekk huwa faċli ħafna. U fil-fatt, int essenzjalment tara l-ewwel paġna web I magħmula snin ilu, meta I ewwel tgħallmu dan il-għalf. Huwa faċli ħafna biex jagħmlu ħafna affarijiet hideous malajr. U jekk int familjari ma 'l-Wayback Magni fuq archive.org, inti tista 'ssib kollha hideous tiegħi paġni web Undergrad. Wieħed kellu Kermit l-żrinġijiet fuq il-front. I marru permezz ta 'fażi fejn ħsibt kien jibred li jieħu l-isfond ta ' purtiera ħamra, meta tgħallimt kif inti tista immaġini maduma darb'oħra, u għal darb'oħra, u għal darb'oħra, biex timla paġna ma purtiera ħamra big tacky. U mbagħad, fuq quċċata ta 'dan, kien ikona li inti kellhom ikklikkja biex jidħol dar tiegħi paġna minħabba li kien ħafna fil Vogue. U allura l-ewwel programm tiegħi I qatt kiteb ma kienx fil-PHP, iżda f'lingwa imsejħa Pearl, kiteb ktieb mistieden, li hija ħaġa verament jibred li Ħafna nies jistennew li inti li jkollhom fuq home-page. Meta ikollok il-paġna, huma jridu li inti li jiffirma fis, u jgħidu min int, u għaliex int hemm. Dan huwa ferm 1990 web disinn stil. Iżda dawn il-ġranet, żgur, aħna ħadthom come ħafna farther. U tkun taf tara, fis-sezzjoni, u anki fil-problema stabbilita seba, billi lieva libreriji dawn il-ġranet, huwa daqstant faċli li tagħmel affarijiet prettier malajr. Really hawn, aħna qed biss grif il-wiċċ ta 'x'tista' tagħmel stylistically. U fil-fatt, diġà, let me jenfasizzaw li dan diġà jkollna ikrah, ma biss estetikament, iżda wkoll f'termini ta 'stil ta' kodiċi tiegħi, jew il- disinn tal-kodiċi tiegħi. I bħalissa għandhom comingled HTML, li huwa l-tags miftuħa aħdar hemmhekk, ma Proprjetajiet CSS, li huwa totalment leġittimu. Dan huwa verament fejn il-lingwa kienet l-oriġini tagħha. Iżda fl-interess ta 'disinn nadif, ferm simili bdejna Jittieħed factoring barra mill-fajls C fis. fajls h, let me attwalment prattika li tip ta ' prinċipju u jibdew jagħmlu dan minflok. Let me tpoġġi tag stil up hawn, li teżisti wkoll fil-HTML, u let me jispeċifikaw dan li ġej. Let me tħassar din. Isfond bil-kulur se jkun aħmar. Jien ser jitħassar dan kompletament. Jien ser jeħles mill-istil attribut, u jien ser unikament jidentifikaw dan div ma 'kelma - arbitrarju, iżda raġonevolment, kwotazzjoni unquote "top." U id huwa speċjali attribut li jiddefinixxi unikament element HTML ċerti bħala li dik id. Jekk I issa jridu stilizzata dan, up hawn il-kap tal-paġna tiegħi, ġewwieni tal- tag stil, avviż li I tista 'tagħmel top hash. U mbagħad I tista 'tpoġġi ftit kaboċċi braces, reminixxenti ta 'C, u mbagħad ħalli me paste f'dak stylization. U let me imorru quddiem u jantiċipaw hawn fejn jien jmorru ma 'dan. Let me wkoll toħloq waħda għall-div qiegħ. Let me grab dan il-kodiċi hideous minn isfel hawn, poġġih fil hawn, u jien ser tkun ftit aktar anali issa u stilizzata li bi ftit tqegħid affarijiet fuq tagħhom stess linja, li jintemm semicolons. Let me jeħles mill-istil tag. Imma jien ma isir s'issa. I bżonn tagħmel ħaġa waħda oħra. Yeah, id ugwali kwotazzjoni unquote, "qiegħ," jew kwalunkwe id Irrid jagħtu dak l-element. Issa, let me jmorru lura minn hawn. U dan huwa atroċi. I ma jistax jittratta ma 96 punt. Ejja nagħmlu 24 punt. Jew inti tista 'tkun aktar preċiża. Inti tista 'attwalment tuża pixels, PX, sabiex li int verament tikseb qamħ ifjen kontroll fuq il-paġna tiegħek. Bħala twarrib, li mhux neċessarjament l-aħjar ħaġa jekk l-utenti, għall- raġunijiet aċċessibbiltà, trid tkun kapaċi li żżid daqsijiet. Allura jirrealizzaw li hemm modi ta 'kif isir affarijiet li mhux bilfors kollox hard kodiċi. Kull dritt, hekk huwa akbar, 24 punt, minn ikun x'ikun l-default. Iżda issa huwa aktar nadifa ftit. U let me jieħdu dan il-pass wieħed ulterjuri. Eżattament bħall-idea ta 'fajls header, avviż aħna qed pass eqreb lejn dan. Għandi out fatturati, iżda xorta ħallew, ġewwa tal-paġna tiegħi, dawk ir-regoli CSS. Għaliex jista I tixtieq li tieħu dan il-pass wieħed ulterjuri, neħħi dan għal kollox, u poġġih fil-fajl separat? So I tista 'użu mill-ġdid, id-dritt? Dan huwa biss tip ta 'intwizzjoni dritt issa. Qabel, I qal li kien biss jkollna ikrah li l-istil attributi ġewwa tal- divs infushom. Iżda biss tip ta 'jaħsbu li permezz. Kif page tiegħek jitbaxxa aktar u aktar, jekk int tqegħid hawn, u hawn, u hawn, u hawn, dawn kollha differenti kuluri, u daqsijiet font, u oħrajn bħal dawn attributi, il-paġna tiegħek huwa malajr ħafna se ssir maniġjabbli għalik. Jekk xi ħadd jidħol sa inti u jgħid, oh, inti taf liema? I d verament jixtieq li Tibdilx id-daqs tat-tipa minn żewġ punti addizzjonali, inti jista 'jkollok tmur u ssib u jissostitwixxi numru kbir ta 'linji ta' kodiċi. Huwa ħafna aktar konvinċenti li tiċċentralizza kollha estetika bħal dawn hawn. Imma jekk inti tixtieq li użu mill-ġdid dawk estetika fl paġni web multipli, kollha l-aktar konvinċenti biex, għal Pereżempju, toħloq fajl imsejħa ma 'dawk kontenuti. U let me tagħmel dan. Ħlief dan il-fajl. I say styles.css, arbitrarja, iżda konvenzjonali. I ser poġġih fid-dar John Harvard Direttorju issa għas-sempliċità. U dak I tista 'tagħmel fil-paġna web tiegħi huwa li tikseb rid tal-lametta stil għal kollox, u kemmxejn unintuitively, uża link tag, li ma jagħtuk rabta fil l-hyperlink, sens clickable, iżda fejn I say link, href ugwali styles.css. U r-relazzjoni li dan l-element jkun ma 'l-web page huwa li jservu bħala karta tal-istil tagħha. Allura kif ma naf dan? Waħda, inti biss aqra l-manwal, jew inti Google madwar, u inti tħares lejn diversi riżorsi. I mean, li verament huwa kif inti pick up tekniki bħal dan, u, konsistenti ma din l-idea tat-tagħlim lilu nnifsu ġdida lingwi, għal darb'oħra, inti ser issib li hemm biss numru finit ta 'affarijiet għal kwalunkwe lingwa li, ladarba ikollok minnhom, inti ser issib li jiġrilha aktar mgħaġġel u aktar malajr li tikteb. Tabilħaqq, it-tagħlim ta 'programmazzjoni l-ġdid lingwa hija tant mgħaġġla minn ġdida lingwa mitkellma minħabba dawn l-affarijiet huma ħafna iżgħar u ħafna aktar iddefinit b'mod preċiż. Imma stajt enfasizzat daqsxejn ta anomalija hawn. Għaliex I enfasizzaw dan quddiem mmejla hawn? Minħabba I jkollhom mill-qrib l-tikketta. I għandhom tagħlaq il-tag. U inti ser issib riżorsi innumerabbli online li ma neċessarjament tags qrib. U realistiku, mhuwiex strettament meħtieġa għall teknika u hemm raġunijiet ta 'realtà, browsers huma biss pjuttost tolleranti ta 'żbalji fil-web paġni, għall-aħjar jew għall-agħar, imma l-aktar għall-agħar. Allura dan hawnhekk huwa biss mod cleaner ta ' tgħid xi ħaġa stupid bħal dan, fejn jekk inti tixtieq li tiftaħ il-link tag iżda qrib dan, hemm verament ebda idea ta 'kontenut għal tag link. Dan ifisser biss tagħbija dan fajl u poġġih hawn. Huwa simili sharp jinkludu fl C. Tista ' tiftaħ u tagħlaq tag kollha f'daqqa fl-istess tag. U hemm eżempji oħra ta 'dan. Dan mhuwiex il-mod biex isir dan, iżda il-lametta br, għal pawżi linja, jekk I verament riedu jiksbu dak I kien jippruvaw qabel billi jolqot Daħħal, jekk I espliċitament jgħidu linja break, linja break, linja break, linja break, u allura rikarigu din il-paġna, issa inti ser ikollok avviż li qiegħ tal-paġna hija, tabilħaqq, ħafna farther fl il-qiegħ tal-paġna. Iżda anke li jista 'jsir ħafna aktar nadif ma 'CSS, u b'marġini, u ma 'estetika ieħor tekniki. Allura għal issa, il-takeaways huma dan. Fl HTML, għandna dawn affarijiet imsejħa tags. Fl CSS, għandna dawn l-affarijiet imsejħa proprjetajiet. Nistgħu comingle dawn iż-żewġ lingwi, jew bl-użu tal-attribut stil, jew il-lametta istil, jew għadhom aħjar, factoring it out għal kollox, kif nagħmlu fil-problema stabbilita 7. Mistoqsijiet, allura, dwar il- baŜi kunċettwali hawn? UDJENZA: Għandi mistoqsija. SPEAKER 1: Oh, sorry. UDJENZA: Għaliex ma kienx dan kkulurita - SPEAKER 1: Oh, fil-tab oħra? Dan hawn? UDJENZA: Le, bħall-- SPEAKER 1: Oh, dan għaliex I kien qed sloppy. I tpoġġi l-fajl fil-post żbaljat. Hekk jekk I attwalment poġġih hawn, u jien chmod dan, r kollu + għall styles.css, u issa rikarigu-paġna, issa aħna jiksbu l-stylization lura. U minħabba li l-font daqsijiet huma differenti, aħna ma tara pjuttost kemm ispazju abjad. Aħna minflok tara x'inhu l- default minflok. Good kwistjoni. Iva? UDJENZA: Għaliex il-link tag ġewwa l-header? SPEAKER 1: Għaliex huwa l-links ġewwa tag ta 'l-header - risposta qasira, sempliċement minħabba. Dan huwa dak li ġie deċiż. Li meta l-tags rabta imorru meta għandek dak li jissejjaħ karta tal-istil esterna. Mistoqsijiet oħra? Kull dritt, ukoll ejja tagħmel dan. Għandna daqshekk gost li għandna quddiemna llum. Li jinsab biss grif il-wiċċ ta 'CSS. Ejja nagħmlu dan. Ejja jieħu pawża ta 'ħames minuti hawn għaliex, per email tiegħi, ejja hang fil hemm till 02:30 ish illum. Imma jekk inti ma jkollhom biex leave, li l-multa. Iżda aħna ser nimxu 'l quddiem wara waqfa ħames minuti. U aħna ser jitgħallmu ftit xi ħaġa dwar PHP, MySQL, u aktar. Kull dritt, hekk ejja tipprova, issa, li jorbtu ftit ta 'dawn l-ideat flimkien u jagħmlu, jiġifieri, search engine tagħna stess. I ndunat, pjuttost curiously, dan li ġej. Meta inti fuq Google.com, int tipikament fi URL bħal dan wieħed hawn ma 'xejn wara l-com dot. Imma jekk I tfittxija xi ħaġa stupid bħal qtates, u hit Ikteb, aħna ser nikseb - mhux stupid, imma inti taf. OK, hekk avviż, fil-quċċata tal-paġna, issa, il-URL ikun, naturalment, inbidlet. U dan mhux xejn ġdid għal kull wieħed minna. Tikklikkja links u għalf jiġri fuq il-web. Imma x'hemm interessanti hawn huwa dan li ġej. Hemm lott kollu ta 'eki mhux mixtieqa, iżda let me armih għalf li jien ma pjuttost jifhmu jew ma verament tħares rilevanti. Let me teħles minn dan. Let me teħles minn dan. U let me biss jeħles ta 'dan kollu. U issa avviż li l-qtates hija fil-URL, segwit bi q, allura ugwali sinjal quddiem ta 'dan. Għalhekk jirriżulta li dan huwa kif l- mod kif jaħdem meta niġu għall-input u output. Imxejna twil tkellem dwar kaxxi suwed, id-dritt? Hekk jekk dan huwa funzjoni implimentata hawn bħala kaxxa sewda, hija tieħu input u tipproduċi output, ukoll, il-mezzi li bih inti tipprovdi input għal websajt huwa permezz, ta 'spiss, ta' URLs tagħha. Inti sempliċiment ipoġġu marka kwistjoni u mbagħad ewlieni ugwali valur. U allura forsi ampersand, u mbagħad ewlieni ieħor ugwali valur, allura forsi ampersand ieħor, ewlenin ugwali valur. Thats kif inti tgħaddi fil-ċwievet u valuri, pari ta 'inputs. Mela jekk jien hit Ikteb issa, x'hemm interessanti dwar Google hija li kollha li eki mhux mixtieqa I imħassar ma jidhirx li jkun strettament neċessarju. All I bżonn li tibgħat lill-Google hija kwistjoni mark q ugwali qtates biex tikseb lura xi qtates. Ukoll, l-implikazzjoni ta 'dan, allura, hija jekk I pull up gedit, stajt beda jagħmlu search engine tiegħi stess hawn fil-fajl imsejjaħ seach0.html. U let me imorru quddiem u ħassar linja waħda aktar li inti ma kellhomx tara. U issa, let me go fil-browser tiegħi stess, hekk ma Google, u mur http://localhost. U li għaddej biex jiksbu fil-mod. Allura aħna qed tmur biex ngħid addiju li għal issa, jimxu dan hawn fuq, oh, issa aħna qed tmur biex ikollhom jgħidu addiju għal dan il-fajl. Kull meta għandek fajl imsejjaħ index.html jew index.php fil- direttorju, jekk il-web server huwa konfigurati b'dan il-mod, dak li inti ser tara, awtomatikament, hija l-kontenut ta 'dik fajl minflok ma tingħata lista ta 'l- direttorju, kif jien ridt hawn. Aktar dwar dan fil-spec. Inti ma tara li. Allura dan huwa dak I attwalment riedu. Iżda mument ilu, kien hemm fajl f'dan folder imsejjaħ index.html u index.php. U għalhekk l-web server kien juru lili dawn il-fajls. Minflok, nixtieq dan id-direttorju jelenka hawn. Hekk jien se jmorru fil CSS u mur search0. U jien jsostnu li dan huwa se jkun il-bidu ta 'swieq kompetittivi tiegħi stess search engine. U biex tagħmel dan, jien se jmorru fil- hawn, fil CSS, u jiftħu ma gedit, search 0. Iżda sfortunatament, hemm mhux wisq jiġri hawn fuq. All I ma kien juża intestatura tikketta, li jiġri li għandu jissejjaħ h1, li essenzjalment ifisser kbar u grassa, u thats it. Iżda l-mezzi li bihom nistgħu jipprovdu inputs huma permezz ta 'dawn affarijiet imsejħa formoli. So let me go quddiem u tinfetaħ u tingħalaq, preemptively, tag formola hemmhekk. U let me imorru quddiem u tagħmel xi ħaġa bħal din. Input, tip ugwali test. U mbagħad ejja qrib l-tikketta fi ħdan il-parentesi nfushom. I m'għandhomx bżonn biex tibda qasam tat-test u stop qasam test. Huwa biss se jkun hemm jew le. U allura hawn taħt li, ejja tagħmel tip input ugwali jissottomettu. Ħlief dan. U issa ejja biss ma sanità malajr check. Ejja rikarigu. OK, dan huwa mhux ħażin. Mhuwiex stil Google, iżda huwa pjuttost qrib. Hemm qasam tat-test. I tista tip xi għalf fl, hit Ikteb, iżda jiġri xejn s'issa. U dan għaliex jien mhux speċifikat azzjoni għal din il-formola, biex ngħidu hekk. Mela jekk jien jmorru lura għall-element forma, jirriżulta, u naf dan biss milli jkollhom aqra d-dokumentazzjoni, li il-lametta forma jieħu attribut imsejjaħ azzjoni li l-URL tal-websajt li inti trid tibgħat il-formola. I ma verament think we jkollhom il-ħin biex jimplimentaw il-aħħar lura kollu għal tfittxija illum engine. Allura aħna qed biss se ngħid, eh, mur google.com / tfittxija. U issa let me qrib kwotazzjonijiet tiegħi. U let me tispeċifika wkoll li il-metodu li tuża va li għandu jissejjaħ tikseb. Long storja qasira, hemm żewġ modi, fi inqas, li inti tista 'tissottometti informazzjoni mill-browser biex server. Wieħed hu li tikseb, u, għal skopijiet tal-lum, li ifisser biss fil-URL. You see eżattament l-trade marks in kwistjoni, il- ugwali sinjali, u ampersands li rajna qabel. Jew hemm xi imsejħa post alternattiv. Għal issa, jafu li post spiss jintuża meta inti tixtieq li upload fajls, bħal stampi u oħrajn, jew meta inti tixtieq li jissottomettu informazzjoni karta ta 'kreditu, jew passwords, xi ħaġa li hija ma verament jagħmel sens, kunċettwalment, jew sigurtà għaqli, li jispiċċaw fil-URL tal browser tiegħek, fejn snooping ġenituri, jew roommates, jew xi ħadd b'aċċess lill-kompjuter tiegħek tista 'tara. Mela ejja ħlief li hawn. U għandi bżonn biex jagħmlu ħaġa waħda oħra. Ma biżżejjed biss biex jgħidu jagħtu me qasam tat-test. I għandhom jagħtu dik kamp valur isem. So let me jissellef għażla ta 'Google ismijiet, q, u tispeċifika li t-tieni attribut I ma verament jimpurtak l-isem tal-buttuna Submit. All I jimpurtahom qed jissottometti Liema tipi l-utent pulzieri U issa dan huwa tip ta ikrah. Huwa biss jgħid jissottomettu. Jirriżulta, u naf dan mill- dokumentazzjoni, I jistgħu attwalment ngħid valur ugwali kwotazzjoni unquote "cs50 SEACH, "kwotazzjoni qrib. Imbagħad ejja rikarigu-ġdid. So I iżommu laqtu Kmand-R, jew Control-R fuq it-tastiera tiegħi biex jerġgħu jitgħabbew. Issa għandna aktar interessanti search engine. Ma pjuttost dehra Google għadhom, għalkemm. Mela ejja imorru quddiem fil hawn u jagħmlu waqfa linja ftit. OK, hekk issa għandna Google. Aħna fil-fatt kważi do jkollhom Google. Allura issa x'inhu jiġri? Jien ser tip fil xi ħaġa bħal Qtates. U l-browser se parse dik il-forma li I definit. U li għaddej biex jibagħtu l-utent finali għal din URL. Allura dan iż-żmien, għal xi raġuni kurjuż, I ltqajna aktar informazzjoni dwar il-ħażniet minn madwar qtates attwali. Iżda li l-multa minħabba avviż aħna xorta spiċċaw hawn, q ugwali qtates. Storja twila fil-qosor hekk, jidher pjuttost trivjali biex tikseb input mill-utent. U li jkun ġust, hemm għenieqed ta 'tipi oħra ta' forma oqsma. Hemm kaxxi kontroll, u ftit reċiprokament buttuni tar-radju esklussiva, u drop down menus, u aktar. Iżda kollha ta 'dawn huma bħala relattivament faċilment implimentati kif f'dan il-qasam kien test. U finalment, aħna biss għandhom jagħmlu xi ħadd żgur huwa smigħ fuq l-oħra aħħar tal-linja sabiex tikseb dik informazzjoni pproċessata, b'xi, u agħtina lura qtates tagħna. Ejja nħarsu lejn ftit eżempju aktar involuti. Let me jmorru fil-direttorju Vhost tiegħi, fis ospitanti lokali, pubbliku, u fejn I tpoġġi source code tal-lum. Kollha ta 'dan se jkun fuq li l-kors website għalik biex tinker. U jekk immur fis froshims, let me miftuħa up dan il-fajl issa, froshim0.php. Dan wieħed huwa a verbose ftit aktar, sabiex aħna mhux se tikteb din mill-bidu. Iżda biss tinnota issa kemmxejn ftit karatteristiċi familjari. Waħda, tag forma, azzjoni differenti. Mhuwiex URL sħiħ. Issa, huwa apparentement għall-fajl imsejjaħ register0.php għaliex, fil-mument, Jien ser jgħallem myself ftit xi ħaġa dwar PHP, programmazzjoni lingwa, għaliex PHP jistgħu jintużaw biex jimplimentaw dak Google implimentat bħala l-aħħar lura ta 'search engines tagħhom. Google, fir-realtà, probabbilment juża xi Python, xi C + +, u għenieqed ta 'lingwi oħra. Iżda nistgħu ċertament jimplimentaw tfittxija riżultati billi tuża PHP jekk ridna. Iżda għal issa, aħna ser jżommha sempliċi. U dan huwa attwalment reminixxenti ta 'wieħed mill-ewwel websites oħra I magħmula sena ilu. Lura fil-jum tiegħi, inti rreġistrat għal isports intramurali bħala freshman minn jimla biċċa karta, mixi madwar l-tarzna, u twaqqigħ fil l-mailbox ta 'Proctor b'mod Wigglesworth, u li kien kif inti reġistrati. U hekk proġett tiegħi ftit wara CS50, kien li tikkontesta din, li jagħmel perfetta sens, fuq il-web, li ma kienx kif Vogue allura kif inhu issa. Imma kollox aħna kellha tagħmel kien joħolqu, essenzjalment, forma HTML. U li jiffurmaw ħares bejn wieħed u ieħor bħal dan. I kellhom kontribut għall- Isem freshman tal. Kelli ieħor kaxxa kontroll għal jekk jew le ried li jkun kaptan, liema sess tagħhom kien, u dak dorm tagħhom kien. U mbagħad I hard kodifikati fl-affarijiet bħal Apley Qorti, u Canaday, Grays, u oħrajn. Għalhekk għal darb'oħra, tags ġodda. Ma bbenefikawx dawn qabel, ġodda attributi, iżda pjuttost aċċessibbli. Ladarba inti tara eżempju, inti tista 'tip ta tissellef dik l-idea u jagħmlu qatra down menu għal xejn aktar. Imma x'hemm importanti huwa li kull wieħed dawn l-affarijiet għandhom ismijiet. U fil-qiegħ ta 'din il-formola, hemm buttuna issottometti li tikketta, jew il-valur, huwa reġistru. Mela ejja mur din il-paġna. Let me jmorru lura fil- elenkar tad-direttorju. Let me go fis froshims, u mur froshim0.php. Allura huwa hideous, li tkun ġusta. So I jistgħu definittivament stylize dan ma 'xi CSS, I tista' tagħmel xi grafika, forsi żid ftit kuluri, u tagħmel dan prettier. Imma funzjonalment, I d jargumentaw li dan huwa attwalment pretty kompluta. Sfortunatament, meta I timla dan out, David, Kaptan, Male, aħna ser jagħżlu, ejja ngħidu Matthews, reġistru, dak kollu li jiġri huwa dan. Iżda tinnota ftit takeaways. Waħda, liema fajl lura dawk riżultati, apparentement? Għalhekk huwa, tabilħaqq, register0.php. Allura l-fatt li rajna din l-azzjoni valur mument ilu għal register0, dan jikkorrobora li aħna tassew ntemmet up fuq dan il-fajl partikolari. Issa dan huwa biss test ikrah. Iżda avviż li dan it-test huwa ġejjin minn ospitanti lokali, li hija mill-appliance. Aħsbu fil-appliance issa biss bħala a web server li jista 'jkun fil- Science Center. Dan jista 'jkun fuq il-web attwali. Allura huwa aċċessibbli għall-pubbliku. Allura ċar, hemm xi mod li tgħaddi jiffurmaw inputs qasam għal server sabiex ikun jista 'jagħmel xi ħaġa magħhom. Sfortunatament, register0 huwa pretty stupid. Kull ma huwa jistampa firxa li tidher bħal dan. U m'humiex firxa fil- sens li nafuh. Jirriżulta li PHP, u ħafna ta ' lingwi, mhux biss numerikament arrays indiċjati li għandhom indiċi ewwel hija żero, allura wieħed, allura żewġ, imbagħad dot, dot, dot, n minus 1. Dan huwa dak li jissejjaħ firxa assoċjattiva. Firxa assoċjattiva huwa wieħed fejn inti jista 'jaħżen valur pari ewlenin fejn il-muftieħ huwa mhux neċessarjament numru. Dan fil-fatt jista 'jkun string, kelma. U hekk dan jista 'jiġi implimentat, taħt il-barnuża, jirriżulta, permezz ta 'struttura data magħrufa bħala? Ħsieb xi ħaġa drammatiku kien wasal biex jiġri - tabella hash. Allura tabella hash, irtirar, dawk tal inti li ma kien għal P sett 6, jew saħansitra lura dan, mill-inqas anki jekk inti ma jipprova, a tabella hash, fl-użu tagħna, intuża biex biss taħżen kliem. Imma verament, inti kienu ħażna ċwievet u valuri. Jekk inti implimenta tabella hash għal P stabbiliti dizzjunarju 6, il-ċwievet kienu l- kliem stess, u l-valuri kienu vera jew falza b'mod effettiv. Iva, hawn, jew impliċitament, ebda, mhux hawn. Well, nistgħu tiġġeneralizza dik l-idea. U aħna jistgħu jużaw data simili ħafna istruttura biex jaħżnu mhux l-sekwenza ruħha waħidha fit-tabella hash tiegħek, iżda jissoponi li f'kull wieħed mill hash tiegħek lymph mejda tal. U inti tista 'anki tagħmel dan jipprova aktar milli biss ikollhom bool. Jista 'jkollok xi ħaġa oħra. X'jiġri jekk iċ-ċavetta ma kienx Maxwell, għal Pereżempju, imma kwotazzjoni unquote "isem," jew nikkwota unquote "kaptan." U ġewwa ta ' istruttura tiegħek data C, inti tpoġġi valur, mhux biss Boolean, iżda ta 'valur kwotazzjoni simili unquote "David," jew "M," jew "Matthews," u oħrajn. Allura dawk l-istrutturi tad-data istess aħna użati apparentement jeżistu f'lingwi oħra. U I d jargumentaw li qed attwalment ħafna, ferm aktar sempliċi għall-aċċess hawn. Ejja fil-fatt tagħti ħarsa issa f'xi sintassi bħal dan. Jien ser tmur ġo direttorju PHP. U jien ser tiftaħ aħjar verżjoni tal bonjour-0 minn qabel. Avviż li kollha I ma kien żid xi kummenti. Allura nistgħu teħles minn dik distrazzjoni. U dan il-programm tabilħaqq prints bonjour għaliex stajt speċifikati bejn tags li nixtieq li teżegwixxi dan il-kodiċi. Issa, aħna ser tara fil-mument għaliex dan ikun utli. Imma ejja tiftaħ eżempju wieħed ieħor hawn. Let me imorru quddiem u tiftaħ jgħidu, gedit ta 'kondizzjonijiet waħda. Dan huwa mod lura fil-ħin issa. Iżda ġimgħat ilu, I think, fil-ġimgħa waħda jew ġimgħatejn, kellna eżempju imsejħa conditions1.c. U I iddeċieda li reimplement fil PHP, biss it-tip ta 'jenfasizza li PHP, sintattikament, huwa kważi identiku li C. Din mhix qabża kbira minn ġimgħa li għaddiet biex dan. Avviż fil-quċċata ta 'dan il-programm, li jibda, bħal qabel, b'xi kummenti, li jien ser jeħles ta bħala distrazzjoni. Avviż li jien fil-PHP mod li dan il-fajl. Allura dan il-kodiċi, Ser naraw, se tikseb esegwiti. Avviż li hemm readline, li probabbilment hija l- Analog PHP ta getstring. Avviż huwa ftit differenti. Inti fil-fatt tispeċifika pront lill- funzjoni msejħa linja jinqraw, u li l- dak l-utent jara. Allura inti ma għandekx printf manwalment. Iżda li mhux big deal. Jien ser taħżen, ġewwa ta '$ n, il- ritorn valur ta 'dan, sabiex ikun x'ikun il- tipi utent fil huwa int tagħhom. U hawnhekk kurżità ieħor. Jirriżulta, fil-PHP, kwalunkwe varjabbli biss għandha jkollha prefissi b'sinjal dollaru. Huwa ftit annoying. Imma avviż dak I ma jkunux għamlu fil-PHP. X'hemm nieqes mill-naħa tax-xellug naħa tal-ugwali sinjal? Ma ssemmiet l-tip. Allura dan huwa differenti minn C. Għal aħjar jew għall-agħar, PHP huwa laxk lingwa ittajpjat. Huwa ma jkollu numri. Huwa ma jkollu kordi. Huwa ma jkollu Booleans. U dan ma jkollu ftit tipi ta 'data oħra. Imma inti, l-programmer, normalment ma jkollhom jimpurtahom minnhom. Il-rasu ta 'dan huwa li jagħmel hija ftit aktar faċli għall-programm. Inti tista 'taħseb ftit inqas. Il-tnaqqis huwa li tiftaħ ukoll inti sa bugs potenzjali jekk inti aċċidentalment jittrattaw numru bħala string, a string bħala numru, potenzjalment, iżda anke allura, PHP, u ħafna ta 'lingwi, huma pjuttost tolleranti. Huma se jużaw dak li sejjaħ casting impliċita. U jekk inti tipprova tuża n fil-kuntest ta 'sitwazzjoni numerika, se jikkonvertu dak hawn se tkun spag, għaliex jekk it-tipi tal-utent xi ħaġa, u inti tikseb ir-riżultat, kif ma readline, jew tikseb string, li għaddej biex jirritorna string. Iżda l-avviż, linji koppja aktar tard, I jiċċekkjaw jekk n hija akbar minn żero. Allura PHP se impliċitament jitfa tiegħi "String" 123, jew kull utent tipi fil, fi int. Għalhekk fil-qosor, Jittieħed biss xogħlijiet ħafna aktar intuwittivament. Allura aħna issa jibdew jirrilassaw ftit tal- affarijiet li aħna ghamilt fil-passat. A lott ta 'dan il-għalf huwa l-istess, għalkemm. Għadhom ugwali ugwali. Bħala twarrib PHP wkoll ugwali ugwali ugwali, iżda aktar fuq li, forsi, fil il-futur. Dan kien. Typo iżda tnejn ugwali sinjali tfisser l-istess Ħaġa bħal qabel, għall-paragun. printf tfisser l-istess ħaġa bħal qabel. Backslash n tfisser l-istess Ħaġa bħal qabel. Allura kif nista run dan il-programm? Ukoll, bħal qabel, jekk I do PHP, conditions1.php, u tip numru bħall 123. C'est numru pożittiv. Jekk I tip 0, I pick 0. U jekk I tip 123 negattiv, I nikseb back numru negattiv, li huwa biss jiġifieri, sintattikament, PHP huwa super, super simili. Allura għaliex huwa dan issa utli f'kuntest web? Well, ejja mmorru lura għal dan froshims eżempju, li ħares, għal darb'oħra, bħal dan hawn. U ejja attwalment pull up il-paġna web għal darb'oħra, li dehru qishom dan. X'nistgħu nagħmlu mal- data thats sottomessa? Well, let me jiftħu aktar ġodda verżjoni ta 'dan. U tkun taf tara li l-problema ispeċifikazzjoni settijiet mixjiet inti permezz ta 'ftit ta' dawn. Pjuttost milli tibda bil żero, ejja nħarsu lejn froshims3, li ma daqsxejn aktar. Avviż ewwel, fil-fatt, ejja tiftaħ up dak 0 kien, sabiex inti tara dak ir-reġistru 0 kien. Avviż dak reġistru 0 għamlet. Waħda, għandi l-kummenti fil-quċċata. Ħassar dawk u tiffoka biss fuq dan. Ħafna mill-kontenut ta 'register0.php huma, ovvjament, liema lingwa? Just PHP prima. Allura avviż, dan il-fajl ma tibda ma ', fil-mument, parentesi miftuħa, kwistjoni mark, PHP. PHP ma jippermetti li inti intermingle Kodiċi PHP ma HTML tags. Imma jien ghamilt li hawn ġewwa tal-paġna hawn fuq. Issa, għal darb'oħra, youd taf biss dan mill- li ħarist lejn l-manwal. print_r, jirriżulta, huwa print_recursive. _recursive U dan huwa biss handy funzjoni utilità li biss tistampa, recursively, tkun xi tkun inti jagħtih. Jekk inti jagħtih firxa, dan ser jistampaw firxa. Jekk inti jagħtih numru, dan ser jistampa numru. Jagħtih string, dan ser stampar ta 'sekwenza. Jekk inti jagħtih tabella hash, huwa se jistampa tabella hash. Inti ma jkollhom jiktbu kollha tal-imsemmi kodiċi yourself. Issa avviż li jien jidħlu PHP modalità hawn fuq. Jien joħorġu mod PHP hawn fuq. Allura meta l-web server taqra dan il-fajl fuq għal isfel, xellug għal-lemin, minħabba li dan jispiċċa fi file imsejħa. PHP, x'ikun mhux ġewwa tal tags PHP huwa biss se tkun bżiq out, bħal HTML prima. No big deal. Iżda hekk kif l-avviżi tal-web server dan, li għaddej biex ngħid, I m'għandhomx bżiq, litteralment, print_r tal-posta. I għandu jesegwixxi li ġej linja tal-kodiċi. Allura l-aħħar mistoqsija, allura, dan il-fajl huwa, ukoll, dak l-Heck huwa dan? Ħu raden. X'inhu $ _POST, probabbilment? UDJENZA: [inaudible] SPEAKER 1: Yeah, id-data stazzjonati. Recall, ejja iscroll lura fl żmien għal ftit mument. froshim0, għal darb'oħra, dehru qishom dan. Maġġoranza super ta 'dan huwa biss HTML. Għal darb'oħra, xi tags int ma tidher għadhom, jew li magħhom inti diġà huma familjari. Imma l-ħaġa interessanti kien dan. Din il-linja waħda huwa dak li verament jgħaqqad huwa għall-fajl register0.php tagħna. Jien sottomissjoni permezz metodu post. U dan ifisser li l-parametri it-tipi utent fil m'humiex ser jispiċċaw fejn. Huma qed mhux se juru up fil-URL. Huma għadhom għaddejjin li jintbagħtu mill- klijent, mill-browser, għall- server, iżda biss permezz xi oħra mekkaniżmu li aħna ser jirrinunzjaw idejn tagħna fil għal-lum, iżda mhux fil-URL. Iżda avviż-relazzjoni issa ma post, li, b'konvenzjoni, hu zghar hawn. Imma jekk I jiftħu register0.php, Jien apparentement istampar dan. Allura dan huwa tip ta 'stramb tismija konvenzjoni. Imma x'hemm sbieħ fil-PHP huwa li meta użu PHP f'kuntest web, mhux fuq kmand linja bħal I ma mument ilu, meta int fil-fatt tużaha fil-web paġna, f'direttorju Vhost kif aħna, awtomatikament se jimlew din PHP ħaġa, li hija firxa assoċjattiva, biex ngħidu hekk, tabella hash, ma kollox l-utent ittajpjat pulzieri Fil-qosor, $ _POST fil-limiti kollha hija varjabbli globali li PHP biss magically joħloq għalik meta użu PHP f'kuntest web. U li tqiegħed ġewwa ta 'dan kollu ta' l- ismijiet ta 'parametri fil-forma li ġie ppreżentat lill dan il-fajl u kollha ta ' il-valuri li l-utent ittajpjat pulzieri Għalhekk idejn lilek dak l-utent ttajpjata għal dik il-forma. Għalhekk qabel, sirna output verament stupid ta 'ftit jaraw dan minħabba I kollha ma kienet recursively ipprintja din array. Il-muftieħ huwa l-isem, il-valur huwa David. Il-muftieħ huwa Kaptan. Il-valur huwa fuq. U l-vleġġa doppja u l-angolu bracket hemm, dan huwa biss arbitrarju. Dan huwa mhux il-kodiċi. Dan huwa biss mod PHP ta 'turi li inti dak il-valur ta 'xi muftieħ huwa. Imma issa let me tipproponi li fl- froshIMs3, huwa kważi identiku ħlief hija tqis li dan il-fajl. U għal darb'oħra, aħna qed tmur biex tip ta 'ftit t'għajn fil dan, biss biex tara xi sintassi, imma avviż liema dan il-fajl ma. Ħu raden biss ibbażat fuq il-linji ta ' kodiċi, li probabbilment huma look like Grieg, sa ċertu punt, huwa apparentement tagħmel. Dan il-fajl huwa b'xi mod relatati għall-posta, email. Allura dak li huwa dan il-programm tagħmel? F'dan il-verżjoni, jekk kienu I li attwalment jimlew din il-formola - u let me go għal froshIMs3, mhux froshIMs0 - il-forma jistenna l-istess. David, kaptan, raġel, dorm, Matthews. Imma jekk I tissottometti dan, dan il-fajl huwa se jmorru għall register3.php. U nitlob, billi tħares lejn huwa kodiċi tas-sors, li għaddej biex b'xi jinvolvu email. Let me imorru quddiem u tiftaħ dan up fil-tieqa akbar, hekk aħna tista 'tara aktar nadif. Aħna fil Vhosts, ospitanti lokali, pubbliku, froshims. Jien ser tiftaħ differenti programm, biss hekk aħna tista 'tara aktar f'daqqa. Allura issa hawn, avviż ftit affarijiet. Fil-quċċata tal-fajl huwa miftuħ parentesi, kwistjoni mark, PHP. Imbagħad hemm mazz ta 'kummenti, li nistgħu ninjoraw, huwa uninteresting għal issa. Issa hemm dan. Jirriżulta PHP għandha ħafna tal-kodiċi imsejħa jeħtieġu. Dan huwa simili ħafna fl-ispirtu li l-C jinkludu, hash jinkludu, li essenzjalment grabs l-kontenuti ta 'ċerti fajl ieħor u biss plops lilhom hawnhekk, sabiex inti tista 'tużahom. F'dan il-każ, l-appliance għandha, installat minn qabel, librerija, ħielsa u open librerija sors imsejjaħ PHP mailer li kulħadd jista ' tniżżel mill-internet. Aħna biss għamlu dan għalik. U dan ifisser I issa għandhom email funzjonalità għad-dispożizzjoni tiegħi. Issa, avviż ftit affarijiet. Jien ser jivvalida l- sottomissjoni forma ta. Jirriżulta PHP, wieħed, għandha exclamation punti għall-mhux-operatur, bħad C. Iżda PHP wkoll funzjoni imsejħa vojta. Empty jirritorna veru jekk il-valur tal-ħaġa inti jagħtih fl parentesi hija vojta, bħall- l-utent ma tip xejn pulzieri Allura dan huwa qal, u avviż- sintassi, ħafna reminixxenti ta 'C, jekk il- isem ewlieni, sabiex il-kamp isem fil-forma, li ġiet ippreżentata bil-posta, minn l-utent, mhuwiex li vojta, u d- sessi mhux vojta fil-forma kif ukoll, u dorm tagħhom ma tkunx vojta - imma avviż I ma jimpurtahom dwar Kaptan, allura dak li aħna se jagħmlu? Jien ser tesegwixxi din il-linja tal-kodiċi. U inti tista 'taħseb dan it-tip ta' bħal malloc, iżda huwa ftit fancier minn dak. Iżda għal issa dan jagħti me a speċjali Struct tat-tip PHP mailer. Iżda jinjora l-keyword ġodda għal-lum. Issa jien ser sejħa funzjoni msejħa IsSMTP, li jgħid, l-użu SMTP. Dan huwa port 25, bħad-video aħħar ġimgħa, meta l-ħaġa kienet jitfg emails fil-firewall. Port 25 huwa SMTP. SMTP ifisser tuża l-server tal-posta. Liema wieħed, nistgħu nużaw l-Harvard SMTP.fas.harvard.edu. Aħna tista 'tistabbilixxi l-indirizz minn li jkun John Harvard. Jekk I iscroll aktar, I tista 'tistabbilixxi l-indirizz tal-benefiëjarju, biss arbitrarju, li jkun John Harvard kif ukoll. Hekk hu għaddej biex jiġu email innifsu. Now I tista 'tistabbilixxi is-suġġett li jkun reġistrazzjoni. U I tista 'tistabbilixxi l-korp ta 'email kif ġej. Din il-linja jistenna ftit aktar cryptic, iżda li biss għaliex hemm ħafna ta 'informazzjoni fiha. Waħda, hemm operatur dot. Xi ħadd għandhom ikunu jafu liema diġà l-operatur dot ma. Huwa konkatenazzjoni. Mela jekk inti tixtieq li tieħu string fil-PHP, u tehmeż, jew prepend dan, li string ieħor fil-PHP, nirringrazzjaw 'l Alla inti ma jkollhom jużaw strcopy u malloc, u kollha ta 'dan aktar. Jekk inti tixtieq li concatenate żewġ kordi, quién dwar il-memorja. Ħalli figura PHP li out għalik. What PHP se tagħmel mal-operatur dot hawnhekk huwa biss tagħmel sentenza big out ta 'din il-linja, il-linja, din il-linja, il-linja. U issa l-avviż, li għaddej ikunu fejn jitwaħħal fil-valuri. Allura l-email li John Harvard għaddej li jirċievu hija litteralment se ngħid isem, kolon, xi ħaġa, pjuttost, allura aħna tagħlaq il-spag u concatenate fuq ikun x'ikun l-utent ittajpjat fi, imbagħad linja ġdida. Imbagħad, fuq il-linja li jmiss ta 'John Harvard email, li għaddej biex ngħid Kaptan, Fuq jew Xejn. Huwa ser ngħid sess, maskili jew femminili. Dorm se tkun Matthews fil-każ tiegħi. U mbagħad avviż semicolon familjari fl-aħħar nett. U mbagħad, stabbiliti hawn, avviż, kemmxejn cryptic xorta, iżda għal darb'oħra, wara mudell li se jsiru aktar familjari wara P stabbiliti 7, jekk jibgħat il-posta prospetti falz, imbagħad imorru quddiem u jmutu. Allura PHP għandha funzjoni msejħa die, li, litteralment, biss joqtol il- website u biss tistampa kwalunkwe inti tgħid - tagħha hija tmut kliem, biex ngħidu hekk. U li, fil-każ, se print barra dak l-info żball hija għal x'ikun ġara li jmorru ħażin. Allura storja twila fil-qosor hawnhekk, dak li għandna huwa eżempju fejn meta l-utent tissottometti l-formola, froshim0, froshims3.php, din tmur għall- register3.php. Iżda register3.php mbagħad tipproċedi biex tesegwixxi kollha ta 'dawn il-linji. Allura hemm xi aways 'jieħu ftit hawn. Wieħed, huwa apparentement pjuttost faċli, programmatically, li tibgħat emails, li hija tajba. Meta l-utenti jirreġistraw għall-sit tiegħek, fil- F'dan il-każ, meta huma jirreġistraw għall tiegħek isport, inti tista 'email l freshman Procter, jew John Harvard, f'dan il-każ. Iżda dan ifisser ukoll li inti tista 'tagħmel dak? Jibgħat emails minn xi ħadd għal ħadd. U dan huwa ħafna minnu. Dan huwa mhux bħala faċilment isir jekk int użati biex jużaw Gmail. Imma jekk inti stajt qatt jintużaw Eudora jew Outlook, inti tista pretty ħafna tgħid mail server li inti xi ħadd li tixtieq. U dan huwa fejn I bżonn li jitpoġġew fuq li hat u jgħidu, ma tagħmel dan. Iżda din hija xhieda ta 'kemm huwa faċli trid li twettaq attakki phishing, u jibgħat emails anonimi, u spam, b'mod aktar ġenerali. U verament jeħodna għall- fatt li kull ma għandek bżonn huwa xi aċċess programmatiku. Bħala twarrib, eqreb jiltaqgħu tiegħi ma il-bord ad, proprji sena freshman tiegħi, kien meta I skopriet dan berred trick li, wow, inti tista ' jibgħat emails minn xi ħadd. U hekk konna jkollhom xi stupid argument, litteralment, fil-Matthews, fost grupp Procter tiegħi. Jien ma anki tiftakar dak li l-kwistjoni kienet. Imma jien ridt li tipprova tpoġġi l- tmiem dan id-dibattitu stupid. So I iddeċieda I se biss tibgħat email għall-grupp Procter tiegħi, feint tkun il-Guy-oħra, li ma 'l-opinjoni I qablux, u jkollhom lilu qagħditx li kwalunkwe opinjoni tiegħi kien dan id-dibattitu partikolari. U so I falsifikati din l-email bl-użu teknika simili fl-ispirtu għal dan. Iżda kien fil-fatt aktar faċli fil-ħin. Hit tibgħat. Hu ma kienx kuntent, u lanqas ma kienu l-bord ad. U I kien malajr ħafna maqbuda fl sekondi għaliex, kif tafu, I jiffirmaw emails tiegħi fil b'ċertu mod. U għalkemm I tagħmel dan manwalment, fil-kbar parti, 15-il sena aktar tard minħabba I kien trawmatizzati minn dak. I ma jkollhomx firma fuq email tiegħi issa. Iżda fl-1995, I biss kellhom sig, 'firma email tiegħi. Allura kien hemm din in-nota qal, Dear Grupp Procter, I qagħditx opinjoni tiegħi u jaqblu ma 'David, iffirmat hekk u hekk, linja ġdida, linja ġdida, DJM. Allura ma tagħmel dan jew, b'mod ġenerali, jieħu vantaġġ ta 'din it-teknika. Iżda meta jagħmlu websajt, bħal per proġett finali tiegħek, meta jagħmlu website għal xi ħaġa intraprenditorjali, dan huwa kif, pragmatiku, inti tista ' lieva servizzi oħra fuq l-internet bħal mail u mbagħad fil-fatt tibgħat affarijiet jużaw kodiċi. Allura kif nistgħu jtejbu fuq dan? Ukoll, l-ewwel ejja tagħti tour malajr ta ' xi wħud mill-affarijiet li inti ser tara, u mbagħad tagħti ħarsa lejn ftit eżempji. Allura wieħed, biex iserraħ ras, minħabba aħna qed jtajru permezz PHP. U naf, f'xi punt, inti ser ikollok li attwalment tibda tikteb dan jekk inti ma jkunux diġà. Jirrealizzaw li, wieħed, prinċipali huwa tip tal-tieqa ma PHP. Jekk inti tixtieq li jikteb il-kodiċi li gets esegwiti, inti biss tibda bil-miktub fil fajl imsejjaħ. php sakemm inti għandek il-kategorija miftuħa kwistjoni mark PHP tag. Iżda avviż dawn huma kundizzjonijiet fil-PHP. Avviż, dan huwa l-istess slide eżatt kellna fil-ġimgħa meta kellna kondizzjonijiet fil Kundizzjonijiet C. PHP huma strutturalment u sintattikament-istess. Unika differenza reali hija jekk inti ħadthom ltqajna varjabbli involuti, għandek dawk sinjali dollaru. Sadanittant, espressjonijiet Boolean tfittex biss bħal dan għal jew Ing jew u-Ing flimkien. Swiċċijiet ħarsa eżattament l-istess. X'hemm sbieħ fil-PHP, billi C, swiċċijiet għandhom ikunu każijiet fuq primitives bħal ints jew jaħraq, b'mod PHP dikjarazzjonijiet każ tiegħek jista 'attwalment jiġi fuq kordi sħiħ, li huwa attwalment tip ta 'sbieħ. Jiffranka inti xi żmien. Ma setgħux jagħmlu dan fl C. Hawn loop fil PHP. Huwa identiċi. Jista 'jkollha xi sinjali dollaru għall-varjabbli. Inti ma għandekx nsemmux li xi ħaġa hija int. Inti biss tiddikjaraha b'sinjal dollaru u l-isem tal-varjabbli. Iżda għall loop huwa l-istess. A loop filwaqt li huwa l-istess. A tagħmel filwaqt loop huwa l-istess. Dan huwa xi ftit differenti. Allura ma PHP, ma 'firxa, inti tista' statikament jiddikjara firxa, kif fis-C, imma tuża parentesi kwadri. Fl C, inti tuża ċingi kaboċċi, jekk inti anki taf li. Iżda dan huwa attwalment komuni ħafna fil-PHP li jiddikjara firxa, f'dan il-każ, ta 'numri, u jitolbu l- numri varjabbli. Varjabbli infushom teżamina bħal dan. Hawnhekk huwa string, nikkwota unquote "bonjour dinja. "Inti jista 'jkollhom backslash n. I sempliċiment ma f'dan il-każ. Issa dan huwa tibni interessanti. C ma jkollhiex dan. Iżda dan huwa super utli. U tkun taf tara dan P sett 7 spec - a għal kull jinbena. Jekk inti tixtieq li jtennu fuq kollha ta 'l- elementi l-firxa, inti ma għandekx biex jittrattaw $ i $ u n, u + +, u dak kollu. Tista 'litteralment tgħid, fil-PHP, dan - għal kull numri bħala numru, hekk Jien wieħed jassumi li $ numri huwa firxa ta 'numri. U meta ngħid għal kull numri bħala numru, dan se awtomatikament, kif loop tiegħi tesegwixxi, jaġġornaw, fuq kull iterazzjoni, il-valur ġewwa ta 'numru sinjal dollaru - għal darb'oħra, u għal darb'oħra, u għal darb'oħra mixi għalija matul dak array. Allura hija biss jiffranka us kodiċi. Ebda semicolons, l-ebda + + "i, l-ebda i s, ebda tal n, huwa biss sbieħ. Iżda PHP wkoll dan. U dan huwa super qawwija. U inti ser tuża dan, idejn fuq, f'P sett 7. U firxa assoċjattiva huwa ddikjarat ukoll ma parentesi kwadri. Iżda avviż-sintassi issa. Huwa reminixxenti ta 'dak li rajna ma print_r mument ilu. Kemm ċwievet, bħala verifika sanità ftit, ma dan array jidhru li jkollhom. Għalhekk għandha żewġ. U I call dan array. Iżda jekk dan jgħin, inti tista 'taħseb ta 'din it-tabella bħala hash, jew bħala firxa assoċjattiva. Iżda din hija biss differenti tip ta 'firxa. U għal darb'oħra, lingwi differenti jkollhom dawn. Aħna ser tara xi ħaġa simili fl JavaScript ukoll. Hemm żewġ keys. Wieħed huwa unquote kwotazzjoni, "simbolu," wieħed huwa nikkwota unquote "prezz." U dawk keys kull wieħed ikollhom valur. F'dan il-każ il-valur simbolu huwa FB, għal Valur Facebook, u l-prezz huwa 49, 26, li kienet istokk Facebook prezz ta 'dalgħodu. Allura dak li huwa utli dwar firxa assoċjattiva. I seta 'kellu numerikament array indiċjati mal biss parentesi kwadri sempliċi. U I seta 'kellu sinjal dollaru kwotazzjoni ugwali biss dan. Let me fatt jagħmlu dan. Ejja ngħidu I minflok sempliċiment iddikjarata dan array bħal dik. Dan huwa perfettament valida, sintattikament. Ma jitlef l-ebda informazzjoni, per se. I xorta tara li s-simbolu jkun fb, u li l-prezz huwa 49, 26. Allura għaliex huma assoċjattiva arrays konvinċenti? UDJENZA: Inti ma għandekx tiftakar fejn inti tpoġġi Jittieħed. SPEAKER 1: Eżattament, inti ma għandekx li tiftakar fejn inti tpoġġi Jittieħed. Inti ma għandekx tiftakar arbitrarjament dak is-simbolu istokk huwa fil-bracket żero, u l-prezzijiet istokk huwa fil-bracket waħda, li huwa partikolarment perikolużi jekk inti ibiddlu l-affarijiet, eventwalment. Huwa ħafna nicer li jassoċjaw dak li aħna ser sejħa metadata d-data attwali tiegħek. I d jargumentaw li dak li aħna verament kura dwar hawn huwa fb u 49, 26. Is-simbolu u l-prezz huwa metadata li jiddeskrivi d-data we attwalment jimpurtahom. Iżda din hija biss tant aktar faċli għall-aċċess. Issa, bħala twarrib x'hemm il-prezz li nħallsu? Imxejna qed tagħmel dan fil CS50 għal ġimgħat. Din il-karatteristika għandha toħroġ f'xi spejjeż. Memorja. Allura int mhux biss jaħżen 32-bit numru sħiħ, per eżempju. Inti ħażna simbolu / 0, probabbilment. Allura inti qed tuża memorja aktar. U x'inhu l-prestazzjoni ta ' tfittex xi ħaġa up fi firxa assoċjattiva, probabbilment? Huwa probabbilment aktar bil-mod. Aċċess bl-addoċċ huwa sbieħ, speċjalment meta inti tista 'tagħmel tfittxija binarja. Imma jekk int fil-fatt issa qed ifittxu li ma għan-numri, iżda għal kordi, dan verament huwa implimentat taħt il- barnuża, probabbilment bħala tabella hash, fejn tuża jew tabella hash ma ikkatenar separata. Jew tuża jipprova li attwalment jaħżnu l-valuri. Allura forsi inti tista 'tagħmel ħin kostanti, iżda inti xorta għandek tfittex fil S-Y-M-B-O-L, potenzjalment, minflok sempliċiment 32 bits biex tfittex xi ħaġa up. Għalhekk għal darb'oħra, dawk l-istess ideat li ġejjin lura li jerġa 'jiġri f'dan il-kuntest. Iżda għal darb'oħra, PHP issa għandha xi super globals li, jirriżulta, huma arrays assoċjattiva. Rajna wieħed mument ilu, $ _POST. U li jinħtieġu sforzi globali super ċwievet u valuri. Speċifikament, il-keys line up ma 'dak? Fejn l-ċwievet $ _POST jiġu minn? Just biex terġa? UDJENZA: Isem. SPEAKER 1: Isem, fejn? UDJENZA: [inaudible] SPEAKER 1: Isem l-attribut. Ukoll fejn, meta ma huma oriġinarjament ġejjin minn? Il-forma. Mela jekk page HTML għandha tag forma, ġewwieni tagħhom huma xi inputs, bħal kaxxi verifika, kaxxi test, drop down menus, kull wieħed minnhom għandu l-isem, dawk ismijiet jispiċċaw bħala ċwievet fil $ _POST, u, franchement, għal dik il-kwistjoni, $ _GET. Jekk il-metodu huwa get, l-istess idea. Huwa biss fil-super globali differenti. U l-valuri, naturalment, jiġu minn x'ikun l-utent ittajpjat f'mill tiegħu jew browser tagħha. Iżda hemm ftit oħrajn. Hemm cookie, li aħna ser terga 'lura biex eventwalment. Iżda dawk huma l-affarijiet li taf il-web għal xi użi tajjeb jew ħażin. Iżda aħna ser terga 'lura għal dan. Server u sessjoni, u dawk iż-żewġ għandhom xi utilità speċjali. Imma ejja tagħti ħarsa lejn dan. Let me imorru quddiem u tiftaħ eżempju imsejħa mvc0.php Allura MVC stands għal dan li ġej. U aħna jintroduċu dan qabel huwa tipiku, verament, inti tikseb tfassil Sett problema 7, u wkoll proġetti finali, fil-tip ta 'industrija mod standard, u l-mod nadif. Huwa disinn tajjeb. Allura int ser tara, u tkun taf esperjenza, b'mod P sett 7, paradigma, sort ta 'mentalità programmazzjoni, li jistenna ftit xi ħaġa bħal din. M għal Mudell, C għall Kontrollur, V għall View. Long storja qasira, MVC huwa biss tip ta 'metodoloġija, mod ta' teħid websajts, b'mod partikolari, fejn inti jitqiegħdu kollha ta 'tiegħek, frażi stupid - loġika tan-negozju - kollha tal-proprjetà intellettwali tiegħek dak li sejjaħ kontrollur, fajl bħal index.php, jew aħna ser tara, quote.php, jew buy.php. Fil-kuntest ta 'sett Problem 7, tiegħek mudelli tipikament fihom data tiegħek, kull ħaġa relatati ma 'database, kif aħna ser eventwalment tara, u l-fehmiet tiegħek fihom l-estetika tal tiegħek sit, l-HTML, CSS. Allura aħna diġà raw dan fis-C ftit daqsxejn bl-użu. fajls h. Aħna verament raw dan mument ilu ma CSS, mill factoring l stylization CSS Jittieħed out ta HTML tagħna. Allura MVC huwa verament biss dwar tfassil linji fil-ramel u qal, l- kodiċi ta 'programmazzjoni interessanti għall tiegħek website jappartjeni fil dak li aħna inneħħu sejħa tal- kontrollur. Jittieħed relatati ma 'database tipikament jispiċċa fil-mudell. Imma inti taf tara, fil-sett Problem 7, aħna jingħaqdu C u M li jżommha sempliċi. Iżda ħsieb huwa fejn kollha ta 'HTML tiegħek u l-estetika tipikament jmorru. Allura dak li jfisser dan f'termini reali? Well, let me go fis MVC tagħna direttorju kif ġej. U tkun taf tara aktar minn dawn daret kollu jgħaddi spec. Għalhekk fl mvc0, I jsostnu li din hija, bħal, Verżjoni 0 ta 'websajts CS50 tal. Kollha għandna huwa xi HTML, bħal tag h1 big, apparentement. U mbagħad lista bulleted. Stajt qatt lista bulleted qabel, iżda l-ebda big deal. Ejja malajr tħares lejn il-kodiċi sors. Jinstabx lista unordered mal-balal hija miftuħa ul bracket ma 'wieħed jew oġġetti aktar lista, li. Allura avviż hawnhekk hija tag ankra. Rajna li mument ilu. Allura dan huwa kif I implimentati din il-paġna. Stajt ltqajna żewġ links, żewġ oġġetti lista, wieħed ul għal-lista unordered, u t-tmiem riżultat, estetikament, hija din ħafna website pretty, verżjoni 0 hawn. Imma x'hemm interessanti issa hija kif dan huwa implimentat taħt il-barnuża. Let me go fis gedit u jiftħu dan ewwel eżempju li jagħti stampa. U aħna ser tħares lejn x'hemm difettuż, potenzjalment, fil hawn. Issa jekk immur fis localhost, pubbliku, MVC, avviż fajls ftit. Jien ser sejħa dawn, għall- mument, kontrolluri kollha. Iżda li l-daqsxejn ta 'abbuż minħabba tkun taf tara dak kollu s mħallta ġewwa minnhom. U let me go ġewwa tal index.php. U naraw, litteralment, l-istess HTML. Allura anke jekk dan il-fajl tispiċċa fl . PHP, Huwa ma jfissirx li għandha xi kodiċi PHP. Hija tista 'sempliċement tkun HTML prima, għalkemm dan huwa tip ta 'iblah. Imma avviż hemm ebda bracket PHP miftuħa tag, ħlief għal dan, li, franchement, huwa biss hemm biex isservi bħala kumment. Imma dak li mhux funzjonalment anke dik interessanti. Iżda Avviż dan. X'hemm interessanti issa huwa dak bidliet f'din il-paġna. Let me ikklikkja Lectures. U avviż tad-URL wasal biex jinbidel. Issa jien fil lectures.php. Let me ikklikkja żero. Issa jien fil week0.php U issa ejja me tiftaħ dawn il-fajls fil gedit. Mhux biss indiċi, iżda let me jiftħu lectures. U let me jeħles mill-kummenti li tiffoka fuq din il-parti biss. U issa let me jiftħu biss waħda aktar, week0.php, armih-kummenti, biss biex tnaddaf dan up. U issa avviż li ġej. Thinking verament tip ta 'bir-reqqa dwar disinn, u ejja jagħmilha linja l-istess, x'jista 'jsir aħjar hawnhekk, taħseb? Kif ma nagħmel ġimgħa? Kif dwar dan. Allura dan huwa kif I magħmula ġimgħa. I marru sa File, New, Paste, Save, week1.php, u mbagħad I marru fil hawn. U I mibdula waħda - dak li kien dan, wieħed sal-Ġimgħa. I biddel il-żerijiet għal wieħed. I mibdula din għal wieħed. OK, hekk issa tħares lejn fajls tiegħi. X'jista 'jsir b'mod differenti? Fejn hi l-opportunità, forsi? Allura hemm l-opportunità li jibdew factoring dan il-għalf out. Let me jiftħu, bħala spoiler, għal dak li inti ser tara fil P sett 7. Jekk I jiftħu, issa, index.php fil-verżjoni ħamsa ta 'dan, jidher mod aktar cryptic, ċertament. Iżda dan, issa, huwa dak I ser sejħa kontrollur thats kontroll tal- loġika tal-paġna tiegħi. U inti tista 'tip ta' rikostruzzjoni, intuwittivament, forsi, x'inhu għaddej. Fuq l-ewwel linja, huwa ftit cryptic. Imma avviż jien jeħtieġu, bħal ma sharp jinkludu, fajl imsejjaħ helpers.php. U allura jien ssejjaħ, apparentement, a funzjoni, imsejħa jirrendi, li jgħaddi b'mod żewġ argumenti. Wieħed huwa unquote kwotazzjoni, header. U l-oħra, liema tip ta ' tip ta 'data hija din, ibbażata fuq sintassi tagħna qabel? Huwa ta 'firxa assoċjata. Speċifikament, huwa jgħaddi fit-titolu ma 'xi metadata li jfakkar me dak li hu u l-valur tagħha. Imbagħad I tara hard kodifikati ul, għalhekk xi HTML prima. Imma allura jien lura fil-modalità PHP ssejjaħ jirrendi funzjoni. Għalhekk anki jekk inti stajt qatt jintużaw HTML jew PHP qabel, u anki jekk dan jistenna scarier, għaliex huwa probabbli li dan disinn aħjar? X'hemm aħjar dwar dan, ibbażata fuq inferenza? UDJENZA: [inaudible] SPEAKER 1: Inqas żejda f'dak hemm l-ebda lametta aktar HTML, mhux aktar irjus, lametta korp mhux aktar f'kull fajl kkritikat. Minflok, stajt fatturati l- affarijiet komuni u preżumibbilment jpoġġuhom fis-fajl relatat b'xi mod għal header. U istess ħaġa għall-korp mill-qrib tag, il-lametta HTML qrib. Li probabbilment isfel hawn ġewwa tal-footer x'imkien. U tkun taf ara, b'mod sett Problem 7, tour ftit permezz ta 'dan. Allura dak li jinsab quddiem? L-unika ħaġa li għandna ma l-abbiltà għadu għal huwa li attwalment jaħżnu data. U għalhekk dak li aħna ser tibda tara L-Erbgħa, per eżempju, huwa li tiegħek qodma ħabib Excel, jew numri, jippermettilek li taħżen lottijiet ta ' data fir-ringieli u kolonni. Jinstabx inti tista 'tagħmel dan fil x'hemm imsejħa 'database, programmatically. manija U jirriżulta, wara li, aħna ser tkun kapaċi li jaħżen affarijiet simili dan, li tkun taf tara mill-ġdid fl P sett 7, mazz sħiħ ta 'usernames u passwords, b'dawn tal-aħħar huma attwalment encrypted, simili ħafna huma kienu fl-edizzjoni Hacker P sett 2 ta. U eventwalment, inti ser timplimenta dan, stess website Etrade-like tiegħek li timplimenta kollettivament CS50 finanzi. Fl-aħħar nett, peress li inti qagħdu hawn tant tard illum, jekk inti terga 'lura għal din il-parti ta 'kampus, fil 04:00 llum, aħna se jagħtuk mhux biss parir, fuq il-SCEs Jingħataw pariri Ġust, fil 16:00 fil- Maxwell-Dworkin, aħna ser jagħtuk xi Americone Dream, Cherry Garcia, Ċikkulata Fudge Brownie, Ċikkulata Għaġina cookie ċippa, u, meta inti Google Monkey chunky, ikollok dan. Allura kollha ta 'dak jistenna fi 4:00 PM fil Maxwell-Dworkin. Ara inti fuq l-Erbgħa ukoll. SPEAKER 2: Fil-li jmiss CS50, RJ jorqod pulzieri RJ: taqsima My! Ha! Oh,