ANDI Peng: Aħna kważi permezz kollha psets. Fil-fatt, aħna qed permezz tal-maġġoranza mill-psets aktar diffiċli. Allura aħna qed attwalment biss ser tip ta 'riħ permezz tal-koppja li jmiss ta 'ġimgħat. Aħna ser jibda jitkellem dwar tagħna proġetti finali, l-avvenimenti ġejjin up fil-ġimgħat li ġejjin. U l-ħajja se jkun breeze. Allura mhux wisq illum. Nisperaw, fil-fatt se riħ permezz tal-aġenda għal-lum, u mbagħad tkun minn hawn ma 'xi żmien li spare parts. Ukoll, nixtieq li ruhna għan-nuqqas ta 'kandju llum. I do not know għaliex. Iżda fil-ġimgħa li jwassal Halloween, nixtieq tinsa kandju. Hekk jien attwalment biss vast diżappunt lilek dritt issa. Minħabba I litteralment remember kandju għal kull klassi waħda, iżda Halloween. Iżda ġimgħa d-dieħla, I se jġib jirduppjaw l-ammont ta 'kandju biex tpatti għal dan, kollu għalik. Dan ser ikun kbir. So I jkollhom koppja ta 'avviżi dwar xi iskedar. Għandi xi kwistjonijiet iskedar. Allura aħna qed tmur biex jimxu fuq jitkellmu dwar dak li sejjaħ chmod. Aħna qed tmur biex jitkellmu dwar malajr TCP / IP HTTP. U allura aħna qed tmur għall-kodiċi tagħna website stess jużaw HTML u CSS. U allura jien ser jitilqu effettivament mill forsi bħal 20 minuta biex jitkellmu dwar pset6. Minħabba pset6 huwa attwalment ħafna ta ' għalf li konna diġà rajna qabel, imma jien ridt li jġedded xi wħud minn dawk il-kunċetti kif ukoll jgħallmu koppja funzjonijiet ġodda. Kessaħ. Allura l-ewwel nett, merħba lura mill pawża. Nispera li int break kien pjaċevoli. Would ma inti tagħmel għall break? UDJENZA: Marru lejn New York. ANDI Peng: Inti marru lejn New York? I think nofs iskola tagħna marru lejn New York. Kollox sew. I jintefqu ħafna mill break tiegħi sedentarji fl Netflixing sodda. U kien żmien tajjeb. Imma aħna issa lura, lura fl sessjoni, lura fil-swing ta 'affarijiet. Għandna pset minħabba dan il-ġimgħa f'nofsinhar. I think inti stajt diġà telgħet kwizz tiegħek, yeah? Allura xi ħadd ieħor li għandu ma kellhomx kwizzijiet tagħhom, jekk jogħġbok ġejjin u tikseb kwizzijiet tiegħek mill me fl-aħħar tat-taqsima. Jew track me isfel fuq il-kampus. I ser ikollhom it miegħi x'imkien. Proġett finali tagħna proposta 'qabel wkoll. Għalhekk għal dawk ta 'magħna li qatt ma ħadu din il-klassi qabel, il capstone ta CS50 huwa ferm wassal dan proġett grand li l-istudenti tipproponi. U l-proposta pre, biss idea ġenerali ta 'dak li wieħed jista' jkun irid jagħmel għall tagħhom proġett, li l-idea hija dovuta Tnejn, tnejn li jmiss f'nofsinhar. So pretty ħafna, David naħseb se jitkellmu aktar dwar dan fil lecture jekk huwa ma jkollux diġà. U hemm page solidu fuq il-websajt tagħna jispjega ir-rekwiżiti kollha tal-proġett. Iżda essenzjalment, pick kwalunkwe suġġett li inti stajt kienu interessati fil matul iż-żmien tiegħek hawn fil CS, kemm jekk ikun jew logħob disinn jew video jew xi ħaġa. U inti tista 'verament tip ta' issa tapplika xi wħud mill-lezzjonijiet li konna tgħallimna hawn fil CS50-- hi, welcome-- li pretty ħafna twettiq proġett finali ta 'l-għażla tiegħek. Kollha li it-tnejn dovut huwa biss blurb qasir permezz ta 'email lili, sentenza malajr, simili, ħej, Andi, Ninsab verament interessati fit-tfassil logħba li ma dan għal IOS. Kessaħ. Just let me inizjali qasir tiegħek ideat għal proġetti finali tiegħek. U aħna ser nitkellmu permezz jew le li huwa attwalment idea tajba jew le, jekk din hija idea fattibbli jew le. Iżda biss l-proposta pre huwa dovut it-tnejn li jmiss. pset6, web-- sabiħ tagħna li huwa żbaljat. Pset7? pset6? Huwa pset6, id-dritt? pset6, server web tagħna, huwa dovut Il-Ġimgħa f'nofsinhar bil-ġurnata tard. Ħinijiet tal-uffiċċju jerġa normalment mit-Tnejn sal-Ħamis 8:00-11:00 din il-ġimgħa. I think Commons għall it-tliet iljieli li jmiss. Kessaħ. Qabel kellna fis materjal, ħadd ma xi mistoqsijiet, ċajt, stejjer? What did you do għal waqfa jaqgħu? UDJENZA: What do I? ANDI Peng: Diġà huwa etajiet ilu fil-fatt. Christabel marru lejn New York. I qagħdu hawn u Netflixed. UDJENZA: Oh, yeah I kien hawn. ANDI Peng: Oh, OK. UDJENZA: I ma tiftakarx dak speċifikament. ANDI Peng: Li OK. UDJENZA: probabbilment Netflixing. ANDI Peng: Netflixing. Yeah, huwa żmien tajjeb. KOLLOX SEW. Kull dritt. Kwalunkwe mistoqsijiet qabel aħna jaqbżu fis materjal? Ukoll, aħna qed tmur biex tipprova veloċità permezz sezzjoni llum, mhux wisq biex ikopri. U wieħed jittama, aħna ser tingħata hawn daqsxejn kmieni. Sorry għal mhux ħelu, ukoll. I'ma diżappunt, speċjalment matul Halloween. Kull dritt. Kessaħ. Allura aħna qed tmur biex jibda jitkellem dwar argument kmand tal-linja imsejħa chmod. chmod, kollox huwa hija biss sistema Unix sejħa immexxija mill-linja tal-kmand għall-bidla permessi fajl. Hekk per eżempju, konna kollha ltaqgħet ma 'paġna bħal dan probabbilment f'xi żmien fil ħajja tagħna li tkun l-internet utent, fejn server web tagħna tatna l-iżball ta 'Projbit. Inti ma għandekx permess għall-aċċess, yadda, yadda, yadda, fuq dan is-server. Dak kollu verament ifisser hija li l-permessi li kienu mehmuża għal dak kollu paġna inti kienu jippruvaw aċċess ma kinux miftuħa għalik. So pretty ħafna, chmod huwa l-mod li bih nistgħu timmodifika dawk permessi tas-sistema li kulħadd jingħata, l-utent, il-grupp, jew fid-dinja, jew kwalunkwe tagħqida ta 'dawn aċċess għal ċerti fajls, direttorji, xejn verament, kwalunkwe tip ta 'sistema fuq sistema operattiva. Mela jekk xi waħda mill guys kompjuters jekk inti tħoss bħal wara flimkien miegħi llum, totalment tħossok liberu li biss tip affarijiet in. Jekk le, inti tista 'sempliċement hang out. Hekk jien ser fil-fatt pull up terminal tiegħi dritt issa. Allura l-kmand biex imexxu chmod, jew għall-inqas ftit li jelenka l-permessi ta tiegħek Directory fajl, huwa biss ls-l. Kif tistgħu taraw, mazz ta ' Jittieħed pops up li ħafna minnhom huwa importanti għalina fuq in-naħa tax-xellug hawn. You guys tara mazz ta 'rs, WS, 1 /. Yeah. Dawk huma essenzjalment biss l-permessi fajl biex jispjegaw dak ċertu direttorji u files fis-sistema tiegħek jkollhom. Mela ejja jmorru lura għall il power point hawn. Allura minbarra l-ismijiet tal-fajls kif inti guys tista 'tara fuq il-lemin, aħna qed ifittxu li tara essenzjalment biss il-kolonna fuq ix-xellug. Allura minbarra għal ftit l-ismijiet tal-fajls, aħna jista 'jara l-permessi ta' fajls, tagħhom grupp sid, l-isem tal-grupp, id-data li l-fajl kien l-aħħar modifikati, eċċetera. Tista 'tara ħafna affarijiet li jużaw chmod. Allura l-mod li naqraw chmod hija li l-ewwel ittra aħna pretty ħafna jinjoraw f'termini ta 'permessi qari. L-ewwel ittra biss tgħidilna dak li tip ta 'sistema li aħna qed jaċċessaw. d, f'dan il-każ, huwa folder jew id-direttorju. Allura aħna nafu li bħalissa workspace tiegħi taqsima seba kienet direttorju. U allura inti tara tliet triads, essenzjalment biss tliet settijiet ta 'tliet karattri. U inti tista 'taħseb ta' kull bħala daqsxejn. Allura inti biss għandek tliet settijiet ta ' tliet bits, disa bits b'kollox. Inti jittrattawhom fi gruppi ta 'tlieta. Allura l-ewwel grupp ta 'tliet huwa dejjem permessi utent tiegħek. Tieni grupp ta 'tliet tiegħek huwa dejjem permessi grupp tiegħek. U t-tielet sett ta 'tliet tiegħek huwa dejjem bħall-dinja, l-permessi kullimkien. So I raden l-faċli mistoqsija li titlob huwa dak li huwa id-differenza bejn utent u l-grupp. Id-differenza ewlenija bejn l-utent u l-grupp huwa li utent huwa biss int personalment aċċess kwalunkwe huwa dritt issa. A grupp jista 'jkun jekk għandek multipli utenti fuq waħda kompjuter, per eżempju. Kollha kemm huma jistgħu jiġu ttrattati bħala grupp. U allura l-dinja hija biss id-dinja, kulħadd. Allura nistgħu naraw aktar tard kif nistgħu timmodifika dawk fis-permessi differenti. So pretty ħafna, aħna qed ser xorta tiffoka min-naħa fuq ix-xellug, fejn għall CS50 direttorju naraw drwx, fejn il-r sempliċiment ifisser li huwa tinqara. Il w ifisser biss li huwa writable. U allura l-x biss ifisser li huwa eżegwibbli. Youd jaħsbu li tip ta ma jagħmilx sens. Għandu jkun e. Iżda x-fatt tip ta ' jaħdem ftit aħjar, għaliex inti tista tiftakar aħjar. Allura t-tliet tipi ta 'affarijiet li inti jista 'jagħmel, inti tista' jew taqra fajl, inti jista 'jkollhom permess biex jiktbu fajl, jew inti jista 'jkollhom permess biex tesegwixxi fajl. U għalhekk l-mod li għandna attwalment jirrappreżentaw dawk bits hija n-numri 4, 2, u 1. Allura xi ħaġa li l-tinqara hija rappreżentata mill-għadd ta '4. Kwalunkwe ħaġa li l-writable hija rappreżentata minn 2. U dak kollu li huwa eżegwibbli kif irrappreżentat mill-1. Allura f'dan is-sens, nistgħu wkoll jirrappreżentaw dawn numbers-- hi, welcome, b'mod differenti. Jiddispjacini. Qabel kulħadd, jien ser sku f'isem kulħadd jidħlu fil-klassi issa. I nesa kandju illum. Jien sorry jien nuqqas din il-ġimgħa ta 'Halloween. I se jġib doppju tal-ammont ta ' kandju ħin li jmiss biex tpatti għal dan. Iżda anyways, sorry dwar li guys, sorry. Allura l-mod li nistgħu attwalment input kmand tagħna l-argument hija aħna tista 'tagħmel chmod permessi mmejla grupp, fejn il-grupp huwa biss x'ikun grupp aħna qed tipprova bidla. U l-permessi huma xi rridu li żżid magħha. Hekk per eżempju, il- plus żżid permessi, u l naqqas jneħħi permessi. U t-tipi ta 'grupp għandna tagħna għal kulħadd, u għall-utenti, g għal gruppi, jew o għal oħrajn. Huwa daqsxejn astratt dritt issa. Iżda aħna ser jmorru fuq ftit eżempji biss biex juru dan reali malajr. Kulħadd tajjeb dwar dan slide, so I tista 'timxi fuq? Kessaħ. Hekk per eżempju, rwx. Qabel nitkellmu dwar x'tirrappreżenta, ewwel nett dak ma rwx jfisser? Jekk tara li dan ċerti fajl għandha permessi tat rwx, xi jfisser l- persuna tista 'tkun kapaċi li jagħmlu? UDJENZA: Aqra, jiktbu u tesegwixxi. ANDI Peng: Yeah, eżattament. Inti tista 'taqra jiktbu u tesegwixxi. Minħabba t-tliet dawk karattri huma preżenti. Mela jekk immorru quddiem u jitkellmu dwar dan f'termini ta 'bits, l rwx jistgħu wkoll ikunu rappreżentati kif 700. Għaliex kif tistgħu taraw fi kwalunkwe tip ta 'fajl permess tad-direttorju, hemm tliet triads. F'dan il-każ, biss l-ewwel trijade tkun xi ħaġa hemmhekk. Allura f'dan il-każ, il-r huwa 4, l w huwa 2, u l-x hija l-1. Jekk inti żid flimkien, huwa 7. U hekk jekk inti jikkonvertu li Binarju, huwa 700. Minħabba 7 hija l-ewwel trijade. 0, m'hemm xejn preżenti fit-tieni trijade. U allura hemm xejn preżenti fid it-tielet trijade, b'tali mod li għamilhom 0 ieħor. Allura fl-istess sens, mazz ta triads jistgħu jkunu rappreżentati biss fi bits, biss fil-binarju kif ukoll. Allura 700 ifisser l-istess ħaġa eżatt kif rwx ------ f'termini ta 'permessi. Kulħadd ċara dwar dan? Kessaħ. U għalhekk chmod 111 jagħti li permessi għall-fajl? Jagħtuk guys koppja sekondi biex jikkonvertu dan. Ftakar, l-ewwel trijade huwa għall-utent. It-tieni trijade huwa għall-grupp. U t-tielet trijade hija għal kulħadd. U għalhekk chmod 111 jagħti li tip ta 'permessi u lil min? Ħu ftit sekondi biex taħseb dwarha u terga 'lura. Yeah. UDJENZA: Allura kulħadd jista esegwit. ANDI Peng: Yup, eżattament. UDJENZA: Iżda ħadd ma jista 'jaqra jew jikteb. ANDI Peng: U li tħossok liberu biex jispjegaw għal kulħadd kif inti waslet għall-konklużjoni. UDJENZA: Well, għall-utent, il- grupp, u d-dinja, huwa kollha 1, li huwa l-kodiċi għall eżekutibbli. ANDI Peng: Yeah, eżattament. Allura 1, f'dan il-każ, kollox aħna nafu huwa li dan huwa l-kodiċi eżekutibbli. Minħabba qari huwa ta '4. Kitba hija 2. U l-eżekutibbli huwa 1. Allura huwa tliet triads huma 1, li ifisser li għad-dinja, lill-utent, u lill-grupp, huma huma kollha eżekutibbli. Kulħadd tajba ma 'dak? KOLLOX SEW. U għalhekk l-mod tat-tieni li nistgħu attwalment tikteb dan ukoll huwa inti tista 'biss tagħmel chmod plus x. a mezzi kollha jew kulħadd. Il plus ifisser li jingħataw permessi għall. U allura l-x mezzi eżekutibbli. Allura hemm żewġ jikkmanda huma attwalment identiċi. Mela jekk inti tixtieq li tmexxi B'dan terminal tiegħek, inti tagħmel chmod 111, l-isem ta ' direttorju tiegħek jew fajl tiegħek. Jew inti tista 'tagħmel chmod plus x, isem ta 'fajl tiegħek direttorju. L-istess ħaġa, biss mod aktar faċli, forsi, għal xi wħud li jirrappreżenta jew bidla permessi fajl. Kull OK wieħed ma chmod qabel nimxu fuq? Kessaħ. Allura issa aħna qed tmur ras fis- ftit slides ta 'kunċetti astratti ħafna li jien pretty ħafna ser riħ permezz. U huwa totalment OK jekk inti ma jifhmux kollox. Anke issa, I għadhom ma verament tifhem kollox kompletament. Iżda huwa aktar ta 'jkollna il-fehim ogħla livell ta 'kif xi wħud minn dawn l-affarijiet jaħdmu. Allura aħna qed tmur biex jitkellmu malajr dwar TCP / IP, li huwa biss Trażmissjoni Kontroll Protokoll mmejla Internet Protocol. Recall minn lecture, David, ma hu jgħallmu l-eżempju fejn hu d jgħaddi in-noti fl-istess pakkett sa bħall-quċċata tas-sala lecture? Allura fil-sala iskola liġi David wera essenzjalment kif TCP / IP jaħdem fi sens li kull ma hija qed mezz li jiġi żgurat li d-data tkun ingħatat madwar server jew fuq l-internet. Għalhekk fl-eżempju tal-pakkett u l-messaġġ, l-utent fl-aħħar setgħet tara li, oh, I meħtieġa biex jirċievu erba pakketti ta 'informazzjoni. Imma I attwalment riċevuti biss tlieta. Dan ifisser I trid tkun nieqsa waħda. U wieħed ma ġiet ikkunsinnata. U hekk TCP / IP fuq l-internet, permezz tal-kompjuter tiegħek u s-server, ma l-istess ħaġa eżatt. Kull ma huwa jispeċifika qafas li fih data mitlufa pakketti jistgħu jiġu resent u riċevuti. Bħall fuq l-internet meta inti qed tipprova aċċess għall-fajls online jew tibgħat fajls lill ħabib tiegħek jew tħares lejn web browsers, eluf u eluf ta 'biljuni u biljuni ta 'bytes informazzjoni huma trasferiti kull millisekonda. U huwa tassew, tassew konfużjoni. U huwa verament diffiċli li tassew taf liema kien mibgħut u dak li ma jkunux intbagħtu. U hekk TCP / IP biss jispeċifika biex iwaqqfu qafas koerenti fejn web tiegħek browser u server tiegħek tista tip ta tikkomunika ma 'xulxin, biss kun żgur li pakketti huma kollha hawn u xejn mitlufa u d-data kollha li inti mitlub huwa attwalment wiri kif suppost. Kulħadd OK fuq biss li ħafna livell għoli fil-qosor jifhmu? Kessaħ. Mela allura aħna qed tmur biex jimxu fis jitkellem dwar HTTP, li huwa biss Portugues Transfer Protocol. HTTP, kollox huwa huwa dak kollu kwalunkwe paġna jew file huwa aċċessibbli fuq il-websajt tiegħek, l-server jirritorna HTTP kodiċi istatus b'rispons għat-talba jagħmlu ċert li jew, oh, din it-talba għaddiet. U s kollox juri kif suppost. Or, oh, no, 404. Xi ħaġa li marret ħażin. Oh, I ma jistgħu juru. Kollox huwa huwa li kwalunkwe inti qed tipprova aċċess, użu kif l-utent qed jippruvaw jiksbu aċċess, fuq il-internet-- biss tagħmel ċert li inti jew għandek b'suċċess aċċessata kwalunkwe kien jew le aċċessata b'suċċess kwalunkwe kien. U għalhekk l-istatus HTTP kodiċi biss tagħtik mezz li jkunu jistgħu jsiru jafu jekk jew le ma kienx ta 'suċċess jew le. Hekk per eżempju, eżempju talba. Tista 'tara hawn huwa normalment tipikament erbgħa linji. Għandna HTTP IKOLLOK 1.1, li huwa biss il-metodu talba URL, il-protokoll verżjoni, l-isem qasam, u l-valur qasam. Sabiex l-ebda bżonn li kompletament jimmemorizza xejn hawn. Just tip ta jiffamiljarizzaw ruħek ma kif dawn ħarsa. F'dan l-eżempju, it-talba metodu URL huwa biss dak kollu talba inti tibgħat l-server. Bħal, ħej, server, I verament irridu li aċċess yadda, yadda, yadda, paġna HTTP. Il-verżjoni protokoll huwa biss x'ikun verżjoni ospitanti tiegħek jew server tiegħek qed tuża aċċess għal informazzjoni. L-isem il-qasam huwa l-websajt jew l- URL li inti qed tipprova aċċess, f'dan il-każ, www.apple.com. U l-valur qasam huwa biss tipikament isem, il-valur. U jista 'jkun kwalunkwe tip ta' kombinazzjoni ta 'ittri jew numri jew ikun x'ikun. Allura talba tipiku, hekk liema kompjuter tiegħek fil-fatt jibgħat lis-server li tgħid, ħej, inti taf dak I bżonn dan murija, li t-tip ta 'talba li huma fil-fatt tirċievi. Eżempju rispons ta 'dak l- server jibgħat lura lilek Ikun pjuttost l-istess ħaġa, ħlief b'kodiċi status fil-quċċata. Allura 200, 2 0 0 hija dejjem il-kodiċi istatus għall OK. Bħal, OK, din it-talba għaddiet. You kienu kapaċi jaċċessa kollox korrett. Life hija tajba. Life huwa multa. Kollox huwa totalment tajba. U hekk dan biss jgħidlekx browser tiegħek u server tiegħek, ħej, tajba kollox s. Sibt l-informazzjoni kollha I bżonn. Kessaħ. Iżda l-problema hija kultant problemi toħroġ meta inti have-- aħħar naħseb I tkellem dwar duplikati. Inti għandek reazzjonijiet inqas tajba. Hekk per eżempju, 404 huwa l-Page Mhux tinsab. Inti xi kultant ikollhom aċċess Projbit. Inti għandek varji oħra kodiċijiet ta 'stat li jien ċert li inti stajt kollha raw meta int tipprova tagħmel riċerka fuq l-internet. U browser tiegħek jagħtik l-, no, ma tistax aċċess. U int simili, ukoll, ħażin. Hekk biss pretty ħafna, hemm xi kodiċijiet ta 'stat pretty komuni. Forsi tiffamiljarizza ruħek ma liema dawn huma. Il-wieħed funniest li I think stajt qatt semgħu of-- jekk jiġri li wieħed ifittex kollha kemm huma online, għal xi raġuni hemm attwalment kodiċi status reali imsejħa 418 I'ma teapot. I Googled fejn il oriġini ta 'dan kien minn. U apparentement Fools April waħda " Għexieren ta 'snin Jum koppja ilu, xi ħadd had hilarious li toħloq kodiċi status ġdid imsejjaħ 418 I'ma teapot. Leġittimament, l-isem ta 'din kodiċi tissejjaħ jien teapot. Ninsa dak il-paġna għandek mur fil-fatt jagħmlu dan display. Imma apparentement, inti tista 'attwalment jiksbu kodiċi istatus ta jien teapot b'xi permezz tagħmel xi ħaġa. Allura hemm mijiet u mijiet ta 'kodiċijiet ta' stat. Xi wħud minnhom jagħmlu aktar sens minn oħrajn. Iżda pretty ħafna biss jiffamiljarizzaw yourself ma 'dawk l-aktar komuni. Il-korp entità rikjesta hi qasir u stout, apparentement. Allura xi kultant hemm aktar Żbalji biża minn jien teapot. Iżda dan huwa wieħed li raden I inti tip ta 'tama li hit. Imma ma naħsibx li inti se. Kulħadd tajba fuq biss status kodiċijiet, talbiet, proċessi, teħid żgur informazzjoni hija mogħtija kif suppost? Allura issa aħna qed tmur biex transizzjoni fi ta 'parti gost ta' taqsima llum, fejn nitkellmu ftit dwar HTML. HTML, kollox huwa HyperText Lingwa markup. Huwa biss il-lingwa standard li tuża biex joħolqu l-web paġni fuq l-internet. Allura kull paġna web, x'hemm paġna tiegħek web favoriti? X'hemm page tiegħek web favoriti? UDJENZA: [inaudible]. ANDI Peng: Jiddispjacini? UDJENZA: Tumblr. ANDI Peng: Tumblr. Allura Tumblr hija miktuba fil HTML. U hekk aħna ser fil-fatt jgħaddu u play madwar ma 'xi wħud minn dawn l-affarijiet aktar tard. Kollox pretty ħafna għandek ħtieġa li jitgħallmu, li jkunu jafu, li tikteb HTML inti tista 'probabbilment biss Google fuq l-internet. HTML, mhuwiex ta 'programm bħal C fejn inti tista 'toħloq varjabbli u jagħmlu affarijiet jibred magħha. Huwa aktar ta 'ftit, oh, dan huwa kif I tixtieq affarijiet li jidhru fuq il-websajt tiegħi. U jien biss se tqiegħed fil. U li għaddej biex stil lilha. Allura HTML, f'ċertu sens, huwa bħad a ifformattjar jew template lingwa. Huwa ħafna aktar faċli. Huwa ħafna aktar faċli biex jitgħallmu, ħafna aktar faċli biex jiktbu fil minn programmazzjoni tipiċi tiegħek lingwa, faċli ħafna, ferm faċli aċċessibbli u faċli. Allura aħna qed attwalment se jkollu madwar, ikteb paġni tagħna stess illum. Iżda qabel nibdew, I biss jixtiequ jmorru fuq xi aħjar prattiki fil-qosor. Minħabba HTML hija tali faċli lingwa u għaliex anki jekk inti tagħmel ftit affarijiet żbaljati, xi kultant ma jistgħux avviż, aħna tixtieq li tagħmel ċert li aħna qed fil-fatt li jeħel mal-aħjar prattiki tagħna biex tiżgura li l-affarijiet li jista 'jkun għaddej madwar iżda mhux dejjem se tmurx dritt kun żgur li dawn qed minimizzat. So pretty ħafna, kun żgur għeluq tags kollha tiegħek tiegħek meta int bil-miktub fil HTML. Jekk int ftuħ ta ' korp, tagħmel żgur li int jagħlquha ma 'korp x'imkien. Inti tixtieq li tagħmel ċert li tiegħek paġna tal-web tivvalida bl-użu dak li sejjaħ il-validator W3. Inti tista 'sempliċement Google li online, u hemm rabta magħha. U allura inti tixtieq li HTML separata, li huwa lingwa markup tiegħek mill-istil tiegħek, li hija l-lingwa CSS li David wera li aħna wkoll qed se jkollu daqsxejn bil lecture. Kessaħ. Allura ghaċ tixtieq li tmexxi HTML fuq l-appliance CS50, aħna qed tmur biex tmexxi programm imsejjaħ apache, li kollha huwa biss mibnija web server li kulħadd fil CS50 għandha aċċess għall. Aħna sejħa hija apache50 biss għaliex aħna simili għal sejħa kollox 50 fil CS50. Allura l-mod li tibda l-web CS50 server huwa billi jittajpja fuq kmand tiegħek linja apache50 tibda dot. U jekk inti tixtieq li ttemm fi kwalunkwe ħin, inti apache50 jintemm mhux dot. U inti biss hit Ikteb. U għandu jkun intestatura up here dalwaqt. Yup. Hekk jien biss se malajr jmorru fuq eżempju ta 'paġna web verament qasir. U aħna qed tmur biex jonfqu bħal 10, 15-il minuta logħob madwar kitba paġni web tagħna stess. KOLLOX SEW. Allura hawn fil-IDE-- jista kulħadd jara li? Mhux ezatt. Hawnhekk, I ser zoom. Stajt biss ltqajna din it-template qasira hawn ma 'xejn fil-fatt fiha. Aħna biss se malajr jikteb programm HTML li aħna biss jgħidu bonjour għad-dinja. Allura istess ħaġa bħat fis-C, issa aħna qed biss se tagħmel dan fil HTML. Hawn xi ħadd li tixtieq li attwalment biss ipprova jagħti lili l-ewwel ħaġa li għandek jkollhom jitqiegħdu fuq dokument HTML? Yeah. UDJENZA: Il parentesi, l-[inaudible]. ANDI Peng: Yep. Allura xi ħaġa li ħafna uniku li HTML li aħna tipikament tradizzjonalment ma jiltaqgħu fil-kmand oħra lingwi ta 'programmar livell line hija li aħna attwalment ispeċifika t-tip tal-fajl li dan se jkun fil-quċċata tal-kodiċi tagħna. Allura f'dan il-instance-- I think dak l-kmand dritt, id-dritt? Yup. Fil-quċċata, inti biss tixtieq li tinkludi bang html DOCTYPE fil-parentesi biss li tgħid kompjuter tiegħek, ħej, oqgħod attent. U dokument HTML huwa li ġejjin. U allura kif irridu li tibda off fajl tagħna? Jekk aħna biss irrid ngħid bonjour, għandhom web page li tgħid bonjour għad-dinja, kif do we go dwar il-bini dan? Attwalment, ejja dawwar lill-Google. U aħna jistgħu attwalment jagħmlu dan. Yup. Hemm immorru. Allura HTML. Kif tistgħu taraw, browser tiegħi huwa attwalment awtomatikament grafika din għalija. Istess ħaġa bħat fis-C, meta inti toħloq Brace kaboċċi miftuħa, browser tiegħek awtomatikament iżid fil Brace kaboċċi qrib. Fortunatament, IDE tagħna tant iħobb li tagħmel dan għalina kif ukoll. Allura issa nistgħu tip ta 'tip il-bidu ta 'tikketta, u li għaddej biex dejjem tgħidilna li ftakar li tip-aħħar tal-tag. Naħseb li dan jeħtieġ li jiġi kapitalizzat. U allura aħna tixtieq iżżid, dejjem, ras li fih huwa t-titlu. Aħna biss trid forsi sejħa dan hello, u mbagħad korp. U hemm inti tmur. Dan huwa attwalment dokument HTML tagħna. Allura l-mod li kull dokument HTML huwa dejjem styled in-- istess ħaġa bl null prinċipali int. Int dejjem tixtieq li jkollok HTML tag miftuħ u qrib fil-quċċata u fil-qiegħ tal-kodiċi tiegħek. Inti tixtieq li jkollok kap ġewwa tal li fih it-titolu, biss x'ikun se juru l-tab tal-web tiegħek paġna, u mbagħad korp ġewwa li fil-fatt se juru l-kontenut ta 'kwalunkwe inti tixtieq li tagħmel. Mela jekk int riedu tmexxi effettivament dan, jien ser zoom lura out. Inti tista 'tabilħaqq tibda apache50 tibda dot. Kessaħ. U hekk kif tistgħu taraw, issa din ir-rabta għandha popped up. Hija tgħid sit tiegħek issa hija disponibbli f'xi link hawn taħt. Allura kollha IDE tagħna done-- mhux IDE, sorry-- yeah, IDE tagħna għamlet hija toħloq web link li fuqhom kollha tal-paġni web tagħna jistgħu jiġu aċċessati fuq is-server. Mela ejja tagħti ħarsa hawn. Ejja ikklikkja fuq dan, mur hello.html. U inti tara sempliċi ħafna paġna tal-web għall bonjour dinja. KOLLOX SEW. Aħna fil-fatt se biss jkollhom everyone-- yeah, x'hemm up? UDJENZA: Għandi mistoqsija bażika. ANDI Peng: Yup. UDJENZA: Kif inti tiffranka fajl tiegħek bħala HTML? ANDI Peng: Yeah. Mela jekk jien kienu li toħloq fajl ġdid, jekk I do File New, Untittle, jekk I do, section.html, boma, li kollox nagħmel. UDJENZA: [inaudible]? ANDI Peng: Le UDJENZA: [inaudible]. ANDI Peng: Le UDJENZA: [inaudible]. ANDI Peng: Yeah. Pretty ħafna, l-estensjoni fuq l-fajl li huwa ġewwa IDE tiegħek, li jirrakkonta l-kompjuter, li jirrakkonta l-browser, ħej, oqgħod attent. Dan se jkun kodiċi miktub f'din il-lingwa. Hekk per eżempju, fl-Microsoft Word, liema do dokumenti kollha Word jispiċċa bil, dak estensjoni? .doc jew docx, id-dritt? Dak kollu li ma huwa jispeċifika għal tiegħek sistema operattiva, ħej, inti stajt ltqajna dokument Word ġejjin up. Miftuħa mal-Kelma. Istess ħaġa ma PDFs. Hija jaf, oh, I bżonn biex jiftħu dan il-fajl ma Adobe Reader jew Adobe Acrobat. U hekk estensjonijiet jopera l- istess mod bħal fil-kompjuter tiegħek. Jekk inti tispeċifika paġna kodiċi tiegħek li jiġi msemmi HTML, allura jaf, oh, inti stajt ltqajna HTML code. Jien ser titratta dan bħala kodiċi html. Allura huwa super intelliġenti f'dan is-sens. Sabiex kulħadd, ejja jieħdu l-istess 10 minuta u biss joħolqu websajts tagħna stess. Ejja żid fl-affarijiet sabiħ. Ħossok liberu li tgħid xi trid. I biss jixtiequ jagħmlu ċert li servers kulħadd qed jitħaddmu b'mod korrett qabel we inti ħielsa fil-pset. Għaliex jekk servers tiegħek ma jmorrux għall-pset, li se jkun tassew, tassew ħżiena. Jien biss se float madwar u tara dak li kulħadd ta 'ħidma fuq. Kif inhi sejra? UDJENZA: I biss daru fuq il-kompjuter tiegħi. ANDI Peng: Li OK. UDJENZA: [inaudible]. ANDI Peng: Just IDE tiegħek. Yeah. UDJENZA: [inaudible]. ANDI Peng: Huwa OK. UDJENZA: [inaudible]. ANDI Peng: Totally multa. Huwa kulħadd aċċess server OK web tagħhom? Huwa apache50 running OK? I think f'xi 'sezzjonijiet oħra, aħna kellhom kwistjonijiet ma 'nies mhux li jkun hemm aċċess l-server. Yeah. Allura inti biss run apache50 ispazju tibda perjodu ispazju. UDJENZA: [inaudible]. ANDI Peng: Yup. Tajba? UDJENZA: [inaudible]. ANDI Peng: Oh, OK. Allura int suppost li jkollhom spazju. Allura apache50-- UDJENZA: I did. ANDI Peng: spazju --start. UDJENZA: Oh, l-ispazju dot. ANDI Peng: Yup, l-ispazju dot. Hemm inti tmur. Mela allura jekk għandek paġna HTML maħluqa, allura inti tista 'biss tmur direttament għar-rabta li din tispeċifika. U inti għandek tkun tista 'aċċess għaliha. Kulħadd kien kapaċi aċċess paġni web tagħhom OK? UDJENZA: [inaudible]. ANDI Peng: Oh, dan huwa OK. UDJENZA: [inaudible]. ANDI Peng: Yeah. I think inti tista 'attwalment tiftaħ fi żmien browser tiegħek, browser u mhux biss IDE browser tiegħek. Yeah, I think jekk inti kopja u paste. UDJENZA: U mbagħad kif nistgħu idawruh off? [Inaudible] ANDI Peng: Yeah, inti tagħmel apache50 tieqaf bl-ebda perjodu. Yup. UDJENZA: [inaudible]. ANDI Peng: Bl-ebda perjodu. Yeah. Hemm immorru. Yup. Aħna ħolqien ta 'paġni tal-web tagħna stess. UDJENZA: Oh, berred. ANDI Peng: Yeah. UDJENZA: Għandi mistoqsija. Allura apache 50-- ANDI Peng: 50, yeah. UDJENZA: [inaudible]. ANDI Peng: What? Dan huwa stramb. Ara, dan kien tip tal-kwistjoni li kien qed jiġri qabel. KOLLOX SEW. Ara lili wara taqsima. Għaliex aħna qed ikollhom xi kwistjonijiet mal-server. U inti tixtieq li tagħmel żgur li server tiegħek huwa tmexxija qabel tibda l-pset. Għaliex inti qed tmur biex bżonnha. Yeah. Hemm xi ħadd ieħor li ma kienx kapaċi jiksbu server tagħhom tibda? Għal dawk minnkom li tixtieq iżżid stil addizzjonali għall-paġni web tiegħek, nistgħu attwalment jagħmlu dak David għamlet fil lecture kif ukoll, li hija toħloq stil addizzjonali folja, li hija dot CSS, Cascading Style Sheet u attwalment biss iżżidhiex in. Hekk per eżempju, stajt biss maħluqa pretty ħafna kważi l-istess wieħed eżatt David għamlet fil lecture. Tista 'pretty ħafna biss jagħmel ġisem. Għandek dak huma msejħa tags li fih inti tista 'tapplika għal IDE tkun xi taqsima inti tixtieq fi ħdan tiegħek attwali għall-paġna HTML. Hekk il-korp tal-paġna, inti tista 'tagħmel it-test center allinjament. U mbagħad I ser kreattivi a tag imsejjaħ top ġewwa li nixtieq dawn l-affarijiet għall jiġri, tassenja daqs tal-pixel akbar għall-font. Irrid li l-piż font li jkunu kuraġġużi. U nixtieq l-kulur li jkun blu, biss arbitrarju valuri li I iddeċieda li jagħżlu. I tista 'toħloq tag oħra msejħa nofs. Daqs tat-tipa, jagħmilha daqsxejn iżgħar. U mbagħad I tista 'toħloq tag ieħor imsejħa qiegħ fejn Irrid li l-daqs tat-tipa tkun saħansitra iżgħar għadu. U so pretty ħafna dan huwa biss eżempju tal-kodiċi sors jew sors folji stil li huwa faċli ħafna li biss Google. Jekk inti tgħidli, oh, I tixtieq font tiegħi li jiġu italicized u aħdar skur, inti tista 'probabbilment Google, u mbagħad se jgħidlek l-tags jew IDs xierqa biex joħolqu. U għalhekk l-mod li inti fil-fatt tip ta jkollhom din fuq dokument HTML jew l-użu huwa kull ma għandek tagħmel hawnhekk huwa l-kap żid link għall-karta tal-istil. Allura inti tista 'sempliċement rabta ugwali href ikun x'ikun l-isem ta 'karta tal-istil tiegħek hu. U allura l-relazzjoni hija folja stil. Allura fi kwalunkwe dokument HTML, sakemm kif inti jinkludu din il-folja CSS dot, inti għandek tkun tista 'aċċess u jkollhom il-kwalitajiet hemmhekk. Hekk per eżempju, hawn stajt biss joħolqu eżempju ieħor paġna web. Dan huwa merħba lill-sezzjoni CS50 Tlieta minn 02:00 sa 03:30 miegħi. U allura stajt miżjud dehra sabiħ li aħna potenzjalment għandhom ikunu jistgħu jaraw. Mela jekk inti tagħti ħarsa hawn, jekk inti tmur biex style.html, ħloqna paġna web ma 'qtates. Minħabba kitten huma tal-biża. Allura żżid immaġini huwa biss img link SRC. Pretty ħafna, jekk hemm kwalunkwe tip ta 'karatteristika inti trid iżżid li tiegħek website-- so ejja ngħidu, inti tixtieq iżżid menu jew bar tfittxija jew simili l image-- biss Google kif għandek tagħmel dan. U inti biss plop f'dak format. U inti tista 'sempliċement pretty ħafna biss żid in. Huwa tassew, tassew faċli. Aħna qed joħolqu tagħna stess paġni web dritt issa. Jekk trid-- UDJENZA: [inaudible] ANDI Peng: Jiddispjacini? UDJENZA: [inaudible]. ANDI Peng: Oh, il- div huwa biss diviżjoni javżak me li, oh, I jkollhom sezzjoni ċerta msejħa nofs li fihom jien applikazzjoni tag CSS tiegħi, u mbagħad diviżjoni oħra tiegħi mal-qiegħ. Li kollox huwa tghidlek. Għaliex dan huwa sbieħ li jżomm affarijiet pulita sabiex, sabiex il-programm ikun jaf kif eżattament jiddekorri. U think I tista 'kopja paste dan fil-browser attwali tiegħi ukoll. Għandu jkun multa. Yeah. Yay. Mela jekk kulħadd jixtieq li biss ipprova ħolqien ta 'paġna web, aħna ser tagħti ieħor żewġ jew tliet minuti. I biss jixtiequ jagħmlu ċert servers kulħadd qed jitħaddmu u kulħadd għandu idea ta 'kif għandek tagħmel dan. Jekk inti guys tixtieq li tieħu kompjuters tiegħek. Still ma tkunx qed taħdem? UDJENZA: Jien biss [inaudible]. ANDI Peng: Forsi jippruvaw jaġġornaw 50 kif ukoll. Yeah. UDJENZA: [inaudible]. ANDI Peng: Yeah. Allura l-mod li tibda ġdid web server fuq l-IDE huwa biss do apache50 ispazju bidu ispazju dot. I biss riedu jagħmlu ċert servers kulħadd qed jitħaddmu OK. UDJENZA: Hawnhekk, fuq it-terminal? ANDI Peng: Yeah. UDJENZA: [inaudible]. ANDI Peng: Apache. Fil-fatt, naħseb li int running xi ħaġa diġà. Yeah, int fil-fatt tmexxija ta 'server differenti. Yeah, int tajba. Sakemm dik ta 'ħidma, int OK. UDJENZA: OK. ANDI Peng: Hemm żewġ modi biex imexxu servers. Dan sakemm wieħed mill-modi qed taħdem, dan kollu dritt. Aħna ser nieħdu ieħor minuta biss it-tip ta 'finitura up l-irfinar jmiss ta 'kwalunkwe web page inti guys riedu jagħmlu. Qed kulħadd jaħdem bil-mod? Servers Kulħadd huma tmexxija minbarra għall tiegħek? Aħna ser figura li out. U s HTML pjuttost sempliċi. So I think we qed kollha tajbin. Yeah. I ser jiġu lura. UDJENZA: [inaudible]. ANDI Peng: OK. UDJENZA: Allura huwa biss bdew tagħbija up. ANDI Peng: Nru inkwiet. Allura HTML, hemm source code li se jkun online wara taqsima. Ukoll, David għandha entità sħiħa mazz online kif ukoll. Just tip ta 't'għajn fuqha li tara kif paġni HTML huma miktuba. Huwa pjuttost faċli. Xi ħaġa li inti ma taf, inti pretty ħafna biss Google u int tajba. I biss jixtiequ jagħmlu ċert li servers tiegħek huma running. UDJENZA: Ma tagħmel dan spiss? ANDI Peng: Huwa qatt ma ġara lili. Ma kontx naf dan jista 'wkoll hibernate. UDJENZA: [inaudible]. ANDI Peng: I think everyone-- minjiera qatt hibernated qabel. U jien ma nafx għaliex. Huwa stramb. UDJENZA: [inaudible]. ANDI Peng: hu tiegħek hibernating? UDJENZA: [inaudible]. ANDI Peng: Yeah. UDJENZA: Huwa OK. Allura ladarba huwa miftuħ. ANDI Peng: OK. Aħna ser titratta dwar xi uħud server Kwistjonijiet wara taqsima. Inti għandek tkun multa. Għalkemm, inti tixtieq li tagħmel żgur li int tikseb minnhom solvuti qabel ma titlaq. Għaliex jekk server tiegħek ma tkunx qed taħdem, allura int mhux se tkun tista 'tagħmel l- pset, bħal kull parti tal-pset. Allura inti tixtieq li tagħmel ċert li din ta 'ħidma. Kessaħ. Kull dritt. Say addiju qtates. I qattgħu żmien twil tfittex li stampa kitten li jitpoġġew fuq. Allura, anyways. UDJENZA: [inaudible]. ANDI Peng: Jiddispjacini? UDJENZA: [inaudible]. ANDI Peng: Naħseb li huwa fuq il-websajt. Bħall-spec? UDJENZA: [inaudible]. Naħseb li l-spec huwa biss online f'seba ġimgħa. Naħseb huwa msejjaħ pset6, anke jekk aħna qed fuq seba ġimgħa, li huwa daqsxejn computing. UDJENZA: Imma I tfisser jekk inti tixtieq tfittex at-- jekk inti tixtieq li pull up verżjoni tagħna ta ' is-sit web minn qtugħ tagħna? Allura bħall server.c huwa l-pset, id-dritt? Jekk inti tixtieq li tħares lejn dan, simili kif hija għandha tivverifika out? ANDI Peng: Oh, hekk fil-fatt l-pset, kollox aħna qed tagħmel hawnhekk huwa implementing-- hawn, I ser imorru fuq dan fil-qosor. Allura għal kulħadd li jinsab biss gotten għat-taqsima, inti guys huma fil xortih. Hemm materjal ftit li attwalment tkopri llum. Jien biss se jqattgħu l-li jmiss Fil-20 minuta ser tgħin biex jiġu pset. Minħabba li hemm xi utli funzjonijiet li se jgħinu l-ħajja tiegħek. U wieħed jittama, aħna ser tkun 'il barra minn hawn bl-istess 20 minuta. KOLLOX SEW. Allura pset7 hija żbaljata. Anki jekk aħna qed dwar ġimgħa seba ', huwa attwalment pset6. I ser bidla li. Kollha għandna qed tagħmel fil pset6 qed toħloq web server. Ħsejjes super scary. U speċjalment għal dawk minnkom li diġà ħares lejn il-kodiċi ta 'distribuzzjoni, hemm ħafna ta 'kodiċi, lott ta' kodiċi. Iżda huwa totalment OK. Minħabba li l-nitty mrammel parti li attwalment joħolqu l-server isir minn għandna. Kollha qed verament mitlub tagħmel dan pset huwa biss li jagħmlu xi manipulazzjoni string fl file I / O. Huwa fil-fatt bħal pjuttost sempliċi. Allura meta inti l-ewwel tniżżel that-- li hawn fil-fatt diġà jitniżżel l pset u meħuda ħarsa? Kull dritt. Yeah. Hemm simili 500 linji ta 'kodiċi li int se tkun simili, X'qed jigri? U li totalment multa. Kun żgur li tara l-throughs jimxu. Minħabba David and-- I do not know. I ma naħsibx li huwa Zamyla, dan wieħed. Imma naħseb xi oħra walk-throughs huma pjuttost utli f'termini ta ' biss kiri taf dak li qed jiġri ġewwa tal-kodiċi tiegħek. U huwa totalment OK. Minħabba li l-erba 'funzjonijiet li int mitluba li jimplimentaw jkunu attwalment żero ma 'l-server attwali. Kull ma għandek tagħmel huwa biss parsing kordi differenti, tiftix permezz kordi, biex tagħmel affarijiet żgur qed jagħmlu dak li qed suppost li tkun qiegħda tagħmel. Allura f'dan is-sens, hemm xi funzjonijiet ħafna, utli ħafna, speċjalment għall string manipulazzjoni, li aħna għandna lkoll jmorru fuq li ħsibt I d jkun utli ħafna għalik guys jitgħallmu qabel ma tipprova l-pset. U dawn qed kollha jinsabu fi ħdan librerija string.h tiegħek. Hemm probabbilment aktar utli funzjonijiet I mhux inklużi hawnhekk, minħabba I jew qatt jużawhom jew forsi I biss ma nafx dawn jeżistu. Ħossok liberu li t'għajn permezz student.h. Minħabba li hemm għaddej li jkun hemm ħafna ta 'funzjonijiet li huma utli ħafna. Allura l-sitt li nuża l-aktar fil tiegħi pset I meta kienet tagħmel dan din il-ġimgħa fil-passat kienu strtok, strchr, strrcher, strstr, strcasecmp, u strcpy. U għalhekk l-aħħar tnejn jistgħu jidhru pretty familjari għal ħafna minnkom. Każ Str jqabblu, kollox ma huwa tqabbel kordi li jiġu verifikati għall-ugwaljanza, inklużi każ. U strcpy biss kopji string fi buffer wieħed. U hekk dawn iż-żewġ għandhom jidhru ħafna familjari għalik guys f'dan il-punt. Għaliex aħna ħadthom użati minnhom ħafna, speċjalment għall-aħħar psets. Iżda l-ewwel erba 'forsi inti ma bbenefikawx s'issa. Imma jien ser biss jimxu permezz tagħhom. Minħabba dawn qed tmur biex jagħmlu l-ħajja tiegħek tassew, tassew faċli for-- mhux faċli, iżda ħafna aktar faċli għal dan pset jmiss. KOLLOX SEW. Allura char * strtok, dan huwa l-funzjoni definizzjoni għal din il-funzjoni li jinsabu fi ħdan il-sekwenza, h librerija. Jekk tingħata l-input ta char * spag, li huwa biss string, jew char kostanti * deliminator, delim-qasir, kull ma qed jagħmel qed tikser l-akbar string ġo serje ta 'dak li nsejħu tokens separati minn ċertu valur. Allura f'ċertu sens, jekk I kellhom jagħtu inti section.7.php, dan huwa string. Allura li tkun jekk I kellhom jgħaddu f'dan bħala str tiegħi, my char * str, jekk deliminator tiegħi kien dot, dan kollu se tagħmel huwa tfittxija permezz sekwenza. U l-ewwel darba li jara dot, ikun biss ritorn lejn il-pointer l-aħħar token misjuba fis-sekwenza qabel dan. Għalhekk imur dritt hawn. U kien biss jagħtu me 7.php. U jekk jien kienu li jsejħu l- funzjoni waħda aktar ħin, dan jagħti me biss il-PHP. U hekk dan kollu funzjoni qed tagħmel huwa jitkissru l-sekwenza akbar fis kordi iżgħar jiddependi fuq dak li qed tfittex. U għalhekk, pereżempju, fil ħarsa up tiegħek funzjoni jekk inti tixtieq li tħares lejn dak ċerti karattri tiġi implimentata jew jekk tikek jiġri jew estensjonijiet jiġri, din il-funzjoni tkun pjuttost utli. Yeah. Tinkwetax. Dan se kollha be-- yeah, x'hemm up? UDJENZA: Allura fl-ewwel linja, jekk aħna kienu jużaw dan l-eżempju, dak li aħna ddaħħal fil-li? ANDI Peng: Yeah. Int tkun biss sejħa a strtok delim comma sekwenza. U string hija ugwali għal section.7.php. U allura int delim jista 'jkun ugwali għal ftit dot. UDJENZA: OK. ANDI Peng: Yeah. Eżatt bħal dik. Kollha dawn il-funzjonijiet huma pjuttost simili meta aħna jgħaddu minnhom. Huma biss tagħmel affarijiet ftit differenti. Iżda dawn qed kollha ser jagħmlu l-ħajja tiegħek ħafna aktar faċli. It-tieni funzjoni, din l waħda simili super, super, super importanti, huwa the-- istiva up. Oops. Tfittxijiet Strchr għall-ewwel occurrence-- attwalment, yeah. Strchr hija l-funzjoni li I definitely biss marru fuq. Allura jinjora dak li għidt għall-ewwel funzjoni. Huwa attwalment imsejħa strchr. Allura dak li ġara hawnhekk hija jekk inti ngħataw string fil-char c, dan jagħti biss inti tkun xi tkun li kien. Yeah. Allura jaħsbu li bħala str, li huwa string, u CHR kif char. Allura kollha qed tipprova tagħmel hu tfittxija tapplika jekk char huwa fi string. U għalhekk tfittxijiet għall-ewwel okkorrenza tal-karattru c fil-str sekwenza. UDJENZA: [inaudible]. ANDI Peng: Yup. U mbagħad jekk din ma sabx dan, li għaddej biex jirritornaw NULL. Allura xi ħaġa li għaddej biex tkun ferm utli għalik guys meta jagħmlu l-pset jekk, ngħidu, inti kienu qed ifittxu għal estensjoni bħal docx għal Word dokument jew pdf għal dokument PDF, inti tista 'tip ta' użu minnha biex tfittex għal kwalunkwe huwa wara kull darba li tara tikka, right? U għalhekk pretty ħafna, jekk inti mmexxija li permezz tal-funzjoni, jekk dan jirritorna NULL, imbagħad inti taf li ma jsibuha dot, li jfisser dan hija b'mod ċar estensjoni fajl validu. Jew jekk dan jirritorna xi ħaġa, imbagħad inti taf li għaddej biex jirritorna kwalunkwe ta fil-fatt wara l-estensjoni. Allura dawk minnkom li kellhom bdiet tfittex permezz lookup u parse, tal din il-funzjoni se tkun super utli. Allura aħna qed attwalment għaddejjin li juru jużaw dan. Għaliex ma inti guys tipprova tikteb funzjoni BOOL sentenza char * i li jirritorna minnu jekk i huwa sentenza u falza mod ieħor. Allura ħjiel, int ser li probabbilment jużaw strchr. Jew inti biss tfittex fil- string għal ċertu karattru. U hekk fil-sentenza, dak li jifred sentenza minn non-sentenza, liema karattru speċifiku? UDJENZA: A ispazju. ANDI Peng: A ispazju, id-dritt? U iva, liema do we probabbilment se trid tagħmel fi ħdan din il-funzjoni hawn? UDJENZA: [inaudible]. ANDI Peng: Aħna qed tmur jridu strchr string għad-dehra ta 'l-ispazju. Għaliex jekk dan jirritorna xi ħaġa, imbagħad nafu li dan għandu jkun sentenza. Dan ifisser li għandna ikollhom spazju f'dan sekwenza. Jekk hemm l-ebda spazju, allura nafu li, ħej, raden mhuwiex string. Huwa probabbilment biss kelma verament twila. So I ser jagħtuk guys koppja minuti biex tikteb din il-funzjoni. Yeah. UDJENZA: Did ikollok din is-sekwenza mill-utent? ANDI Peng: Yeah. Allura dan huwa biss funzjoni. Allura immaġina ġewwa funzjoni prinċipali tiegħek inti diġà have-- ejja mur hawn. KOLLOX SEW. Hekk stajt bil-miktub dan il-programm fejn I jkollhom il-funzjoni prinċipali tiegħi fejn Stajt biss ħolqot żewġ kordi. L-ewwel waħda hija Hi, jien jisimni huwa Andi-- b'mod ċar, sentenza. Tieni wieħed tiegħi huwa biss Andi, b'mod ċar mhux tikkundanna. U hekk niġri kemm ta 'dawk kordi permezz din il-funzjoni. Irrid inti guys li tikteb sentenza kiesaħ. U jien ħażna dawk il-valuri, u mbagħad biss tistamphom out. Allura taħseb li l-utent huwa ser jgħaddu fi string. U allura int ser essenzjalment ċifra barra jekk huwa sentenza jew le u r-ritorn vera jew falza kif xieraq. Jekk inti guys tixtieq li tagħti Riżultat pożittiv jew kapijiet up, nod ras, xi ħadd lest biex jibda dan, li d tkun tajba. Forsi bħal 30 sekonda aktar? Kull dritt. Ejja naraw jekk inti tista 'tipprova kitba din il-funzjoni. So psewdo coding-- Jien biss ser tip ta 'walk permezz ta' dan id-dritt issa. Pretty ħafna, nafu l- funzjoni li għandna bżonn l-użu. Aħna ser sejħa dik il-funzjoni fuq string tagħna u tfittxija għal spazju. Jekk dan jirritorna xi ħaġa, allura irridu jafu li, b'mod ċar, dan huwa sentenza. Għaliex hemm spazji. Allura aħna qed tmur biex jirritornaw veru. Else, aħna qed tmur biex jirritornaw falza. Hawn xi ħadd li tixtieq li tagħti me l-ewwel linja tal-kodiċi li aħna qed attwalment għaddejjin għall-użu biex tikteb dan? Huwa fil-fatt l-agħar linja tal-kodiċi kif ukoll. Yeah. UDJENZA: Jekk strtok s-- ANDI Peng: Just strchr. UDJENZA: [INTERPOSING VOICES] ispazju mhuwiex ugwali għal nulla. ANDI Peng: Kessaħ. Eżattament id-dritt. Kulħadd jifhem li l-ewwel linja? Aħna ser sejħa strstr, li huwa funzjoni li tfittxijiet il-s string għall-char ta 'spazju. U jekk hija tqis, li għaddej biex ritorn pointer li fejn dan ikun. Jekk ma jsibuha, li għaddej biex jirritornaw NULL. Mela jekk dan jirritorna xi ħaġa oħra għajr NULL, allura nafuha sab spazju. Does li jagħmel sens? Kessaħ. Kull dritt. Allura jekk aħna nafu huwa sabet ispazju, dak li rridu nagħmlu? UDJENZA: Ritorn veru. ANDI Peng: Yup. Ritorn veru. U mbagħad, xi ħadd tixtieq li jispiċċaw il-funzjoni għalija? Yeah. Else, biss bħal dik. U jippruvaw kompilazzjoni dan. Yup. Allura kif inti guys tista 'tara mill- outputs, ftakar Booleans fil C huma dejjem espressi binarja. 1 huwa veru. 0 hija falza. Jekk konna biex imexxu dan funzjoni fuq string wieħed, li huwa Hi, Andi-- isem tiegħi b'mod ċar, li sentence---riżultat stampata għal 1 li huwa veru. It-tieni wieħed, li huwa biss kelma, ir-riżultat stampata għal 0, li hija falza. Kulħadd tip ċara ta 'dwar kif din il-funzjoni kien miktub? Yeah. UDJENZA: Nistgħu wkoll jagħmlu, minflok ma ugwali ebda, huwa daqs ugwali 0, b'tali mod li huwa ugwali għal? ANDI Peng: Le Minħabba strchr hija funzjoni. Jien ser lura għal dan. Allura x'inhu l-tip ta 'ritorn tal-funzjoni strchr tagħna? UDJENZA: Oh, OK. Jew NULL. ANDI Peng: Yeah. Huwa char * li tg me li kwalunkwe din il-funzjoni se ritorn, li għaddej biex tkun pointer. Jew il-pointer se tkun tipponta lejn fejn huwa sabuha, jew li għaddej biex jirritorna a pointer biex null. Fi kwalunkwe ċirkustanza, li għaddej li jirritornaw pointer għal xi ħaġa. U hekk jekk inti kienu li jqabblu din hija ugwali għal, ugwali, 0, int ser tikseb żball kumpilazzjoni. Minħabba li għaddej biex jirritornaw pointer. U int ser tipprova tqabbel pointer għal numru sħiħ. U l-kompjuter mhux ser bħal dik. Yeah, eżattament. Kessaħ. Kulħadd tajba? U t-tieni, aħna qed tmur biex tmur fuq funzjoni msejħa strstr. Nru inkwiet jekk dawn funzjonijiet huma konfuża inti. Huma qed konfuża lili. Bħala tali, inti guys tista raw, dawn kollha ħoss pretty ħafna l-istess. Just meta int konfuż, iġbed il-librerija string.h. U inti guys tista sort li permezz tiegħu s wieħed li. Allura strstr, dak kollu li ma huwa tfittxijiet string għal string oħra kollha. Għalhekk, fejn strchr biss tfittxijiet għal karattru wieħed, tfittxijiet strstr għal string kollu. So I riedu li taqra, I ma jafu, Hi, jien jisimni Andi. U l-isem aqwa ħabib tiegħi huwa wkoll Andi. Jekk jien ridt li tfittex f'dan sentenza għall-kelma kollu ta 'Andi, labra tiegħi kien ikun tkun xi tkun qed tfittex. U haystack tiegħek huwa dak kollu qed tfittex għal dan fil. Mela jekk inti qed tfittex għal kelma speċifiku fi sentenza, din il-kelma se tkun labra tiegħek. U allura l-piena innifsu se tkun haystack tiegħek. U għalhekk hija biss tfittxijiet l-ewwel okkorrenza tal-labra sekwenza fil-haystack sekwenza. Tmur lura l-pointer l-ewwel okkorrenza. Ħlief, ftakar f'dan il-każ, huwa l- ewwel okkorrenza tas-sekwenza sħiħa li int tiftix għal, mhux biss karattru. U għalhekk dan huwa kważi l- istess ħaġa bħall-funzjoni aħna biss ma, biss ma daqsxejn aktar speċifiċità. Għax int tiftix għal aktar milli sempliċiment karattru wieħed. U l-użu huwa l-istess eżatt bħal dak li aħna biss għamlet. Kulhadd OK ma 'dan? KOLLOX SEW. Aħħar wieħed aħna qed tmur biex tmur fuq hija strrchr, li mhuwiex konfuż ma strstr jew ma strchr. strrchr għandu r żejda fil hemmhekk. Ikunu attenti meta inti qed ittajpjar. Inti tista 'ssib ruħek inkluż R żejda jew li ma tinkludix r, u mbagħad funzjoni tiegħek huwa ltqajna mhuwiex sejjer jaħdem. U int se jiġu konfużi. Oqgħod attent li inti qed titkellem dawn il-funzjonijiet kollha dritt. Allura strrchr huwa l-eżatt istess ħaġa bħat strchr ħlief tfittxijiet għal mhux l-ewwel okkorrenza ta 'karattru speċifiku, iżda pjuttost l-aħħar okkorrenza. U għalhekk, f'dan is-sens, huwa kważi l-istess eżatt. Iżda minflok ta 'ċaqliq tibgħat fi string, int ser tkun miexja lura fi string. Istess ħaġa eżatt, int biss tiftix f'ordni differenti. U hekk dan jista 'jkun super, super utli għall Lookup tiegħek funzjoni, l-ewwel funzjoni fuq pset tiegħek. Ejja nippretendu li aħna meħtieġa biex jiktbu funzjoni ta 'estensjoni null li aħna jgħaddi char kostanti isem * fajl, biss string, isem fajl, li jieħu f'dak isem u stampi l-estensjoni ta 'dan il-fajl. Għalhekk, per eżempju, jekk I kellhom jgħaddu fis-sekwenza ta 'pset7.zip, li għaddej biex jistampa biss l-estensjoni, li huwa zip. U dan tkun taħdem għal kwalunkwe tip ta 'estensjoni, docx għall Word jew pdf għal PDF fajl jew html għal file HTML. Pretty ħafna, jiktbu funzjoni li tista 'tagħmel dan. Jien fil-fatt se jisswiċċja għall-IDE. Mhuwiex load-- hemm immorru. So I kollha ghamilt hawnhekk huwa ħolqot char *, l-ewwel string, imsejħa pset7.zip. Jien ser zoom. Stajt ħolqot it-tieni string imsejħa finalpaper.docx. U jiktbu me funzjoni li meta imsejħa se biss print out l-estensjonijiet isem fajl. Forsi tieħu ftit minuti biex jaħsbu dwar kif int ser tagħmel dan. Ftit aktar ta 'sfida mill-aħħar waħda, iżda l-użu huwa kważi eżattament l-istess. Yeah. Allura jiktbu funzjoni tissejjaħ estensjoni li, jekk I jagħtuk l-isem ta 'fajl, jekk kienu I li jtik pset7.zip-- I li inti jistampa biss il-zip. Jekk I jagħtuk simili finalpaper.docx, biss jistampa l-docx, biss l-estensjoni ta 'kwalunkwe fajl. Dan fil-fatt biss jieħu żewġ linji ta 'kodiċi. Sabiex jippruvaw biex tara jekk inti jista forsi jagħmlu dan f'dak. Fil-fatt, huwa biss jieħu linja waħda tal-kodiċi. Iżda żewġ linji huwa probabbilment aktar standard. Liema funzjoni aħna probabbilment tmur jridu sejħa? UDJENZA: strrchr. ANDI Peng: strrchr, id-dritt. Għaliex aħna qed tfittex mix-xellug lemin. I ma jtik guys eżempju bħal dan, imma jekk jien ħadt eżempju bħal www.apple.com u I biss riedu l com, huwa d jkun eżempju ta 'fejn inti tixtieq li jsejħu l-aħħar istanza tal-perjodu u mhux l-ewwel, id-dritt? Jekk inti kienu strchr sejħa, huwa kieku stajt tak l apple.com. Jekk inti imsejħa strrchr, huwa kieku taw inti l-com. U sabiex ikunu attenti li fuqhom ways-- fl-eżempju tiegħi, inti tista 'probabbilment jista' jkollhom biss bil-miktub billi tuża strchr, peress li hemm wieħed biss dot. Iżda fil-każijiet l-oħra, li ma jistax ikun il-każ. U għalhekk dejjem jippruvaw biex disinn kodiċi tiegħek ukoll, sabiex that-- yeah? UDJENZA: Allura fil- eżempju inti biss qal, meta inti tagħmel strrchr dan ikun jagħtuk Com jew kemm toħroġ? ANDI Peng: Ikun jagħtik l-com. UDJENZA: OK. ANDI Peng: Yeah. Hija tfakkar li fejn sabuha. Yeah. 30 sekonda forsi? Yeah. Kulħadd tajba jew forsi ftit aktar żmien? Turija tal-idejn? Uri 'rjus? Kessaħ. Kull min jixtiequ li tagħti me l-ewwel linja ta 'kodiċi għal dan il-programm? UDJENZA: [inaudible]. ANDI Peng: Allura l-ewwel nett, ejja forsi din tinqasam. Allura dak li huwa t-tip ritorn ta strrchr? Ejja ħa mmorru lura. strrchr, liema hija t-tip ta 'ritorn? UDJENZA: Char * ANDI Peng: Huwa char *, id-dritt? Li jfisser li int probabbilment se li jixtiequ joħolqu char ieħor * it-tip tal-maħżen kull meta huwa jirritornaw lejn, id-dritt? Għaliex jekk inti sejħa l strrchr funzjoni, li għaddej biex jagħtuk pointer biex kull fejn hija kkonstatat dak il-perjodu li għadda, id-dritt? Imma int tmur jridu tinżamm din x'imkien, right? U hekk kif nistgħu kodiċi dan fil-programm tagħna? UDJENZA: Inti tagħmel l char * [inaudible]. ANDI Peng: Yep. UDJENZA: [inaudible]. ANDI Peng: strrchr. Yeah. Oh, qbiżt r hemmhekk. UDJENZA: Isem File [inaudible]. X'inhu dan? Oh, huwa biss i. ANDI Peng: Oh, huwa biss i. Yup, sorry. Bad tiegħi. Eżempji ma jaqblu. UDJENZA: U mbagħad dot. ANDI Peng: Yup. Ikunu attenti meta inti guys are-- hawn, let me zoom. Hemm immorru. Ikunu attenti meta inti guys ittajpjar, speċjalment meta int tagħmel biss char. Huwa verament faċli biex aċċidentalment biss do kwotazzjonijiet doppja minflok waħda. Li mhux se taħdem. Kompilatur tiegħek se jilmentaw. U funzjoni tiegħek huwa biss mhux se jimxu. U sabiex ikunu attenti meta int tagħmel affarijiet ma Chars li huwa kwotazzjonijiet uniku. U għalhekk ma din il-linja ta ' kodiċi jagħmel sens għal kulħadd? Aħna qed joħolqu pointer char *. Minħabba prospetti strrchr xi ħaġa ta 'tip pointer. U hekk aħna qed tmur biex sejħa strchr fuq ls, li huwa l-sekwenza, il-fajl isem, li aħna qed tgħaddi fil. U aħna qed tfittex l-aħħar eżempju ta 'perjodu, li huwa biss il-kwotazzjoni wieħed dot kwotazzjoni waħda. Yeah. UDJENZA: Meta tagħmel nużaw kwotazzjonijiet doppja u meta tagħmel nużaw kwotazzjonijiet uniku? ANDI Peng: Yeah. Kwotazzjonijiet hekk doppja huma dejjem użat meta inti jkollhom sensiela ta 'aktar minn waħda biss. Mela jekk inti qed tagħmel strstr, li huwa dak li inti tfittxija string għal string, inti jittrasferixxi din fil-kwotazzjonijiet doppja. Iżda kwalunkwe ħin huwa biss karattru wieħed, inti tixtieq li tagħmel kwotazzjonijiet uniku. Hija ħaġa tajba li wieħed iżomm f'moħħu. Allura issa li għandna tagħna pointer, dak li nagħmlu miegħu? Jien inti titlob guys biex istampar out, id-dritt? Allura [inaudible], inti tixtieq li agħtini l-linja tal-kodiċi? UDJENZA: printf-- ANDI Peng: Yeah. UDJENZA: --you bżonn detentur post. ANDI Peng: Yup. UDJENZA: Stampa d-detentur post. I do not know dak il-post detentur huwa iżda punt għaliha. KOLLOX SEW. Ejja skip li għal issa imbagħad. UDJENZA: U mbagħad comma-- ANDI Peng: Pointer, id-dritt? UDJENZA: Pointer, Yup. ANDI Peng: Allura tip ta 'kwistjoni trick, għandha x'taqsam ma 'pointers u kordi li konna tip ta 'tkellem dwar diġà. X'tip ta 'detentur post do we bżonn għal pointer għal char *? UDJENZA: [inaudible]. ANDI Peng: Yeah. Huwa aktar faċli milli inti guys taħseb li hu. UDJENZA: String? ANDI Peng: Huwa biss string, eżattament. Minħabba ftakar kordi ma tassew jeżistu. A char * huwa l-eżatt istess ħaġa bħala sekwenza. U sabiex verament dan i huwa dak kellu jintuża kollha flimkien. KOLLOX SEW. Ejja naraw jekk nistgħu nippruvaw running dan. Ejja nagħmlu jagħmlu estensjoni. Kessaħ. You guys tara kif I mogħtija fl- psset7.zip u l finalpaper.docx, u hija biss prints out il zip u l docx? Jagħmel sens? OK So I think fil-ħarsa tiegħek up funzjoni fil pset tiegħek int ser jiġi mistoqsi jekk il- string għandu jispiċċa ċerti, inti għandek tagħti ċertu kodiċi żball. U hekk dan se jkun pretty orribbli. Għaliex jekk inti tista figura barra dak l-estensjoni hija, inti tista 'mbagħad iqabblu li estensjoni biex tara jekk logħbiet up b'estensjoni ċerti. U allura inti tista 'tmur lura messaġġ ta 'żball, id-dritt? Yeah. UDJENZA: Allura aħna ma iżżid 1 jew xi ħaġa? Il pointer se jmorru għall the-- ANDI Peng: Nope. UDJENZA: --point wara. ANDI Peng: Yeah. Hija tfakkar eżattament għall fejn l-okkorrenza kienet. Hekk per eżempju hawn, aħna qed tiftix għall-perjodu. Allura li għaddej biex jirritorna a pointer għall-perjodu. U allura li għaddej biex jistampaw l li jibda mid-perjodu. Allura inti m'għandekx bżonn li jiżdiedu 1. Għalkemm, huwa totalment multa li, jekk int qatt ċert, li biss tip tal tittestja out yourself. Tibni programm kampjun. Tittestja out yourself u tara fejn huwa istampar. Li wkoll mhux mod ħażin biex tagħmel dan. Kessaħ. U li pretty ħafna kollha Kelli għalik guys illum. Għamilna ħafna ta 'għalf pset llum. Allura meta fid-dubju, bħal I said, dejjem tfittex up il-librerija string.h għal dan pset. Hemm għaddej li jkun hemm ħafna ta ' funzjoni fil hemm li jista 'jkun utli. Xi ma tista 'tkun utli. I do not know verament. Wade permezz tagħha, hemm mazz sħiħ minnhom. strstr, strchr, strrchr huma super, super utli, kif ukoll l strcpys u strcasecmps li aħna stajt diġà użati. Huwa biss ħafna messing madwar il kordi, li jiddetermina jekk dawn qed ugwali, jkollna Jittieħed out ta 'spag, u tkun tista 'tiftaħ fajls korrett. Huwa ħafna tal-fajl I / O. pset verament mhux ħażin. Inti qed tmur biex tieħu tħares lejn din, niżżlu, u ara mazz sħiħ ta 'kodiċi. Nru inkwiet, il-kodiċi inti attwalment jikteb mhix ħażina fil-livelli kollha. Jekk xi ħadd ikollu kwistjonijiet ma tagħhom server, come tara lili wara sezzjoni. Ruhna għal darb'oħra għal mhux jġibu kandju għall Halloween. I do not know dak li kien ħażin miegħi. Imma se jkollna doppja il-kandju ħin li jmiss. U Xorti tajba fil pset tiegħek din il-ġimgħa. Yup.