Andi Peng: Nou se prèske nan tout psets yo. An reyalite, nou ap nan majorite a a psets yo ki pi difisil. Se konsa, nou ap aktyèlman jis ale nan kalite briz a koup la pwochen de semèn. Nou pwal kòmanse ap pale de nou an pwojè final la, evènman yo k'ap moute nan semèn kap vini yo. Ak lavi yo pral yon briz. Se konsa, pa twòp jodi a. Èspere ke, pral aktyèlman briz a ajanda a pou jodi a, ak Lè sa a dwe soti nan isit la ak kèk tan de rezèv ki piti. Epitou, mwen vle li padon pou mank de sirèt jodi a. Mwen pa konnen poukisa. Men, nan semèn lan ki mennen jiska Halloween, mwen ta bliye sirèt. Se konsa, mwen aktyèlman jis yon vas desepsyon nou la a kounye a. Paske mwen literalman sonje sirèt pou chak klas yon sèl, men Halloween. Men, semèn pwochèn, m'ap mennen double kantite lajan an nan sirèt fè moute pou sa, tout pou ou. Li pral gwo. Se konsa, mwen gen yon koup nan anons konsènan kèk orè. Mwen gen kèk pwoblèm orè. Lè sa a, nou ap ale nan deplase sou li nan pale sou sa yo rele chmod. Nou pral pale sou byen vit tchp / IP HTTP. Lè sa a, nou ap ale nan kòd nou pwòp sit entènèt lè l sèvi avèk HTML ak CSS. Lè sa a, mwen pral aktyèlman kite petèt tankou 20 minit pale sou pset6. Paske pset6 se aktyèlman yon anpil nan bagay ke nou te deja wè anvan, men mwen te vle rafrechi kèk nan konsèp moun osi byen ke anseye yon koup nouvo fonksyon. Fre. Se konsa, premye a tout moun, akeyi tounen soti nan repo. Mwen espere w ap kraze te agreyab. Èske ou te fè pou kraze? ODYANS: Te ale nan New York. Andi Peng: Ou te ale nan New York? Mwen panse ke mwatye lekòl nou an te ale nan New York. Li nan tout dwa. Mwen te pase pi fò nan ti repo m ' sedantèr nan Netflixing kabann. Epi, se te yon bon moman. Men, nou yo kounye a se tounen, tounen nan sesyon, li tounen nan balanse nan de bagay sa yo. Nou gen yon pset akòz sa a Vandredi a midi. Mwen panse ke ou te deja ranmase egzamen ou, yeah? Se konsa, nenpòt lòt moun ki gen pa t 'gen ti tès yo, tanpri vini epi pou yo jwenn ti tès ou nan men m 'nan fen seksyon an. Ou swiv m 'desann sou lakou lekòl la. Mwen pral genyen li avè m 'yon kote. Pwojè final nou pre-pwopozisyon tou. Se konsa, pou moun nan nou ki pa janm te pran klas sa a anvan, Capstone nan CS50 se anpil abouti nan sa a Grand pwojè ki pwopoze elèv yo. Ak-pwopozisyon an pre, jis yon lide jeneral nan sa ki yon sèl ta ka vle pou fè pou yo pwojè, lide sa a se akòz Lendi, Lendi pwochen 'midi a. Se konsa, bèl anpil, David Mwen panse ke pral pale plis sou sa nan konferans si li gen pa deja. Apre sa, nan yon paj solid sou sit entènèt nou eksplike tout kondisyon ki nan pwojè a. Men, esansyèlman, chwazi nenpòt ki sijè ke ou te te enterese nan nan tout tan ou isit la a CS, si li ka bank oswa konsepsyon oswa videyo oswa yon lòt bagay. Apre sa, ou kapab reyèlman kalite kounye a aplike kèk nan leson yo ke nou te aprann isit la nan CS50-- hi, welcome-- bèl anpil fè yon pwojè final la nan chwa ou. Tout sa a, se akòz Lendi se jis yon prezantasyon tou kout via imel m ', yon fraz rapid, tankou, hey, Andi, Mwen vrèman enterese nan desine yon jwèt ki fè bagay sa a pou iOS. Fre. Jis kite m 'premye kout ou lide pou final pwojè ou a. Epitou, n ap pale a si wi ou non ki se aktyèlman yon bon lide oswa ou pa, si li nan yon lide posib oswa ou pa. Men, jis-pwopozisyon an pre se akòz Lendi pwochen. pset6, bèl web-- nou an ki se sa ki mal. Pset7? pset6? Li nan pset6, dwa? pset6, sèvè wèb nou an, se akòz Vandredi a midi ak fen jounen an. Biwo èdtan rezime nòmalman soti nan Lendi a Jedi 8:00 11:00 semèn sa a. Mwen panse ke Commons pou pwochen twa nwit yo. Fre. Anvan nou te gen nan materyèl, fè nenpòt moun ki gen nenpòt kesyon, blag, istwa? Ki sa ou te fè pou sezon otòn kraze? ODYANS: Ki sa mwen fè? Andi Peng: Deja li a laj de sa aktyèlman. Christabel te ale nan New York. Mwen te rete isit la ak Netflixed. ODYANS: Oh, yeah mwen te isit la. Andi Peng: Oh, OK. ODYANS: Mwen pa sonje sa espesyalman. Andi Peng: Sa a OK. ODYANS: Netflixing pwobableman. Andi Peng: Netflixing. Yeah, li nan yon bon moman. OK. Tout dwa. Nenpòt kesyon anvan nou vole nan materyèl? Epitou, nou ap ale nan eseye pi vit nan seksyon jodi a, pa twòp yo kouvri. Apre sa, èspere ke, nou pral jwenn soti isit la yon ti jan bonè. Padon pou pa sirèt, tou. Mwen se yon desepsyon, sitou pandan Halloween. Tout dwa. Fre. Se konsa, nou ap ale nan kòmanse ap pale de yon agiman liy lòd rele chmod. chmod, tout li se se jis yon sistèm UNIX rele fèt soti nan liy la bay lòd chanje autorisations dosye-a. Se konsa, pou egzanp, nou te tout rankontre yon paj tankou sa a pwobableman nenpòt moman nan span lavi nou pou yo te yon entènèt itilizatè, kote sèvè sit entènèt nou an ki gen ban nou erè nan entèdi. Ou pa gen pèmisyon jwenn aksè nan, yadda, yadda, yadda, sou sa a sèvè. Tout sa ki vrèman vle di se ke autorisations yo ki te tache ak tou sa paj ou te ap eseye aksè yo pa t 'louvri ba ou. Se konsa, bèl anpil, chmod se yon fason a nan ki nou ka modifye sa yo sistèm autorisations bay tout moun, itilizatè a, gwoup la, oswa mond lan, oswa nenpòt ki konbinezon de moun aksè nan sèten dosye, repèrtwar, anyen vrèman, nenpòt ki sòt de sistèm sou yon sistèm opere. Se konsa, si nenpòt nan nèg gen òdinatè si ou santi ou tankou sa yo ansanm avè m 'jodi a, totalman santi yo lib yo jis tape bagay a. Si ou pa, ou ka jis pann soti. Se konsa, mwen pral aktyèlman rale moute tèminal m 'kounye a. Se konsa, yo lòd, ki nan kouri chmod, oswa omwen jis nan lis autorisations yo nan ou anyè ranpli, se jis ls-l. Kòm ou ka wè, yon pakèt moun sou bagay Pops leve pi fò nan ki enpòtan yo nou sou bò gòch-men isit la. Ou nèg wè yon pakèt moun sou rs, WS, 1 /. Yeah. Moun sa yo se esansyèlman jis tout autorisations yo dosye a esplike kisa sèten repèrtwar ak dosye ki nan sistèm ou genyen. Se konsa, kite yo ale tounen nan pwen an pouvwa isit la. Se konsa, nan adisyon a non yo dosye kòm ou nèg ka wè sou bò dwat la, nou ap chèche yo wè esansyèlman jis kolòn nan sou bò gòch la. Se konsa, nan adisyon a jis non yo dosye, nou ka wè autorisations yo nan dosye, yo gwoup pwopriyetè a, non an gwoup, dat la ke dosye a te dènye modifye, et setra. Ou ka wè yon bann bagay sa lè l sèvi avèk chmod. Se konsa, fason ke nou li chmod se ke lèt la premye nou bèl anpil inyore an tèm de autorisations lekti. Lèt la premye jis di nou sa di ki kalite sistèm nou ap gen aksè nan. d, nan ka sa a, se yon katab oswa anyè. Se konsa, nou konnen ke kounye a mwen vorkspas seksyon sèt te yon anyè. Lè sa a, ou wè twa Aux, esansyèlman jis twa kouche nan twa karaktè. Epi ou ka panse a chak kòm yon ti jan. Se konsa, ou jis gen twa kouche nan twa Bits, nèf Bits nan total. Ou trete yo an gwoup nan twa. Se konsa, gwoup la premye nan twa se toujou autorisations itilizatè ou yo. Dezyèm gwoup ou nan twa se toujou gwoup autorisations ou yo. , Li mete twazyèm ou a twa se toujou tankou mond lan, toupatou autorisations yo. Se konsa, mwen devine fasil a kesyon mande se ki sa ki diferans ki genyen ant itilizatè yo ak gwoup. Diferans nan prensipal ant itilizatè yo ak gwoup se ke yon itilizatè se jis ou pèsonèlman aksè tou sa li se kounye a. Yon gwoup kapab si ou gen plizyè itilizatè sou yon sèl òdinatè, pou egzanp. Ka tout nan yo trete kòm yon gwoup. Lè sa a, mond lan se jis mond lan, tout moun. Se konsa, nou ka wè pita sou kòman nou kapab modifye sa yo nan autorisations diferan. Se konsa, bèl anpil, nou ap ale nan toujou konsantre sou pati la sou bò gòch la, kote pou anyè CS50 nou wè drwx, kote r a jis vle di li nan lizib. W la jis vle di li nan écritures. Lè sa a, x yo jis vle di li ègzèkutabl. Ou ta panse ke li kalite a pa fè sans. Li ta dwe e. Men, x aktyèlman kalite travay yon ti kras pi byen, paske ou ka sonje li pi byen. Se konsa, twa kalite mouvman yo ak bagay ou ka fè, ou ka swa li yon dosye, ou ka gen pèmisyon yo ekri yon ranpli, oswa ou te kapab gen pèmisyon al touye yon dosye. Se konsa, wout la ke nou aktyèlman reprezante moun ki nan Bits se nimewo yo 4, 2, ak 1. Se konsa, nenpòt ki bagay ki a lizib se reprezante pa kantite 4. Nenpòt bagay sa a, se écritures se reprezante pa 2. Apre sa, nenpòt ki bagay ki a ègzèkutabl kòm reprezante pa 1. Se konsa, nan sans sa a, nou kapab tou reprezante nimewo sa yo hi, akeyi, nan yon fason diferan. Regrèt. Anvan tout moun, mwen pral eskize sou non tout moun k ap antre nan klas la kounye a. Mwen bliye sirèt jodi a. Mwen regrèt mwen se yon echèk semèn sa a nan Halloween. Mwen pral voye yon doub kantite lajan an nan sirèt pwochen fwa fè moute pou li. Men, aniwe, regrèt sou sa nèg, regrèt. Se konsa, fason ke nou kapab aktyèlman opinyon sou lòd nou an agiman an se nou kapab fè chmod autorisations koupe gwoup, kote gwoup la se jis tou sa gwoup nou ap eseye chanje. Apre sa, autorisations yo se tou sa nou vle ajoute nan li. Se konsa, pou egzanp, nan plis ajoute autorisations, ak soustraksyon a pran lwen autorisations. Ak kalite yo nan gwoup nou an nou gen yon pou tout moun, u pou itilizatè yo, g pou gwoup, oswa o pou lòt moun. Li se yon ti jan abstrè kounye a. Men, nou pral ale sou yon egzanp koup jis yo demontre sa a rapid reyèl. Tout moun bon sou sa a glise, se konsa mwen kapab deplase sou? Fre. Se konsa, pou egzanp, rwo. Anvan nou pale sou sa li reprezante, premye a tout sa rwo vle di? Si ou wè ke sa a sèten dosye gen autorisations nan rwo, sa sa vle di nan moun ta ka kapab fè? ODYANS: Li, ekri ak egzekite. Andi Peng: Yeah, egzakteman. Ou ka li ekri ak egzekite. Paske tout twa nan sa yo karaktè yo prezan. Se konsa, si nou ale pi devan epi pale sou sa a an tèm de Bits, rwo nan kapab tou gen pou reprezante kòm 700. Paske jan ou ka wè nan nenpòt sòt de dosye anyè pèmisyon, gen nan twa Aux. Nan ka sa a, se sèlman premye a triyad gen anyen la. Se konsa, nan ka sa a, r a se 4, w la se 2, ak x la se 1. Si ou ajoute sa yo ansanm, li nan 7. Se konsa, si ou konvèti li nan binè, li nan 700. Paske 7 se triyad a an premye. 0, pa gen anyen prezan nan dezyèm triyad la. Lè sa a, pa gen anyen prezan nan twazyèm triyad a, se konsa sa a, se yon lòt 0. Se konsa, nan sans nan menm, yon pakèt moun sou Aux ka reprezante nan Bits jis, jis nan binè kòm byen. Se konsa, 700 vle di menm bagay la egzak kòm rwo ------ an tèm de autorisations. Tout moun klè sou sa? Fre. Se konsa, chmod 111 ta bay ki autorisations nan dosye a? Bay ou nèg yon koup segonn konvèti sa a. Sonje byen, premye a triyad se pou itilizatè a. Dezyèm triyad a se pou gwoup la. Ak twazyèm triyad a se pou tout moun. Se konsa, chmod 111 ta bay ki di ki kalite autorisations ak ki moun? Pran yon segonn koup yo panse sou li ak tounen lakay ou vini. Yeah. ODYANS: Se konsa, tout moun ka egzekite li. Andi Peng: Wi, egzakteman. ODYANS: Men, pèsonn pa ka li oswa ekri. Andi Peng: Epi ou lib pou esplike tout moun ki jan ou rive ki konklizyon. ODYANS: Oke, pou itilizatè a, nan gwoup, ak mond lan, li la tout 1, ki se kòd la pou ègzèkutabl. Andi Peng: Yeah, egzakteman. Se konsa, 1, nan ka sa a, tout sa nou konnen se ki se sa ki kòd la ègzèkutabl. Paske lekti se 4. Ekri se 2. Apre sa, ègzèkutabl a se 1. Se konsa, se tout twa Aux yo se 1, ki vle di ke nan mond lan, nan itilizatè a, ak nan gwoup la, yo , yo tout ègzèkutabl. Tout moun bon ak sa? OK. Se konsa, fason, dezyèm lan ke nou kapab aktyèlman ekri sa a tou se ou te kapab jis fè chmod yon x plis. yon vle di tout oswa tout moun. Plis a vle di bay autorisations yo. Lè sa a, x a vle di ègzèkutabl. Se konsa, gen nan de kòmandman yo aktyèlman ki idantik. Se konsa, si ou vle kouri sa a nan tèminal ou, ou fè chmod 111, non anyè ou oswa dosye ou. Ou, ou kapab fè chmod yon plis x, non nan dosye anyè ou yo. Menm bagay, jis yon fason pi fasil, petèt, pou kèk ki reprezante oswa chanjman dosye autorisations. Chak OK yon sèl ak chmod anvan nou deplase sou? Fre. Se konsa, kounye a nou ap ale nan tèt nan yon glisad kèk nan konsèp trè résumé ke mwen se bèl anpil ale nan briz nan. Lè li nan totalman OK si ou pa konprann tout bagay. Menm koulye a, mwen toujou pa fè sa vrèman konprann tout bagay nèt. Men, li la plis nan ap resevwa konpreyansyon nan Nivo tèt nan ki jan kèk nan bagay sa yo travay. Se konsa, nou ap ale nan pale byen vit sou tchp / IP, ki se jis Transmisyon kontwòl Pwotokòl koupe pwotokòl entènèt. Sonje byen soti nan konferans, David, li te moutre nou egzanp lan kote li ta pase nòt yo nan yon anvlòp jiska renmen tèt la nan sal la konferans? Se konsa, nan oditoryòm nan lekòl lalwa David demontre esansyèlman ki jan tchp / IP ap travay nan sans ke tout li se se yon mwayen pou asire ke done ki te lage atravè yon sèvè oswa sou entènèt la. Se konsa, nan egzanp lan nan anvlòp la ak mesaj la, itilizatè a nan fen a te kapab wè ke, o, mwen te bezwen resevwa kat pakè nan enfòmasyon. Men, mwen aktyèlman sèlman resevwa twa. Sa vle di mwen dwe manke yon sèl. Yonn pa te sove. Se konsa, tchp / IP sou entènèt la, a òdinatè w lan ak sèvè a, fè menm bagay la egzak. Tout li fè se presize yon fondasyon nan ki yon done pèdi pakè ka rayi epi li resevwa. Fè tankou sou entènèt la lè w ap eseye jwenn aksè nan dosye sou entènèt oswa voye dosye ak zanmi ou oswa gade nan sit navigatè, dè milye e dè milye de dè milya ak dè milya nan bytes enfòmasyon yo transfere pou chak milisgond. Lè li nan reyèlman, reyèlman konfizyon. Apre sa, li vrèman difisil yo aktyèlman konnen sa k te voye ak sa ki pa a te voye. Se konsa, tchp / IP jis presize yon fondasyon limenm nan ki entènèt ou navigatè ak sèvè ou ka kalite kominike youn ak lòt, jis asire w ke pakè yo tout isit la e pa gen anyen nan pèdi ak tout done sa yo ke ou mande se aktyèlman montre byen. Tout moun OK sou jis ki trè kout wo nivo konprann? Fre. Se sak fè nou ap ale pou avanse pou pi an ap pale de HTTP, ki se jis Pwotokòl Transfè ipèrtèks. HTTP, tout li se se tou sa nenpòt ki paj oswa dosye ki jwenn aksè sou sit entènèt ou, sèvè a retounen yon HTTP Kòd sitiyasyon an repons a demann lan fè si ke swa, oh, demann sa a mache ale nan tout. Ak tout bagay nan montre byen. Oswa, oh, pa gen okenn, 404. Yon bagay ale mal. Oh, mwen pa ka montre. Tout li se se ke tou sa w ap eseye aksè, itilize kòm itilizatè a ap eseye jwenn aksè nan, sou internet-- la jis fè si ke ou swa gen avèk siksè jwenn aksè tou sa li te oswa ou pa avèk siksè jwenn aksè tou sa li te ye a. Se konsa, estati a HTTP Kòd jis bay ou yon mwayen pou ke yo te kapab konnen si ou non li te gen siksè oswa ou pa. Se konsa, pou egzanp, yon demann egzanp. Ou ka wè isit la li a anjeneral tipikman kat liy yo. Nou gen yon HTTP JWENN 1.1, ki se jis URL la metòd demann, pwotokòl la vèsyon, non an jaden, ak valè a jaden. Se konsa, pa gen okenn bezwen konplètman memorize anyen isit la. Jis kalite familyarize tèt ou ak ki jan sa yo gade. Nan egzanp sa a, metòd demann lan URL se jis tou sa demann w ap voye sèvè a. Tankou, hey, sèvè, mwen reyèlman vle aksè yadda, yadda, yadda, paj HTTP. Vèsyon an pwotokòl se jis tou sa vèsyon lame ou a oswa sèvè ou ap itilize ap itilize jwenn aksè nan enfòmasyon. Non a jaden se sit entènèt la nan oswa URL ki w ap eseye aksè, nan ka sa a, www.apple.com. Ak valè nan jaden se jis tipikman non, valè. Epi, se kapab gen nenpòt ki sòt de konbinezon nan lèt oswa nimewo oswa kèlkeswa sa. Se konsa, yon demann tipik, se konsa sa òdinatè w lan aktyèlman voye nan sèvè a ki di, hey, ou konnen ki sa mwen bezwen sa a parèt, sa a, se ki kalite demann yo ke yo aktyèlman resevwa. Yon repons egzanp sou a sa sèvè ta voye tounen ba ou ta dwe bèl anpil menm bagay la, eksepte ak yon kòd estati nan tèt la. Se konsa, 200, 2 0 0 se toujou kòd a sitiyasyon pou OK. Tankou, OK, demann sa a mache ale nan tout. Ou te kapab jwenn aksè nan tout bagay kòrèkteman. Lavi se bon. Lavi se amann. Tout se totalman bon. Se konsa, sa a jis di navigatè ou a ak sèvè ou, hey, bon tout bagay la. Mwen te resevwa tout enfòmasyon ki mwen bezwen. Fre. Men, pwoblèm nan se pafwa pwoblèm vini lè ou en-dire Mwen panse ke Mwen te pale osijè de Doublon. Ou gen mwens bon repons. Se konsa, pou egzanp, 404 se Page a pa jwenn. Ou pafwa gen yon aksè entèdi. Ou gen plizyè lòt kòd leta ke mwen se asire w ou te tout wè lè w ap ap eseye fè rechèch sou entènèt la. Apre sa, navigatè ou a ba ou , non, pa ka jwenn aksè nan. Epi w ap tankou, byen, krap. Se konsa, jis bèl anpil, gen nan kèk sitiyasyon kòd bèl komen. Petèt familyarize w ak ki moun sa yo se. Yon sèl nan drol ki Mwen panse ke mwen te janm tande de- si ou rive gade moute tout nan yo sou entènèt, pou kèk rezon gen nan aktyèlman yon kòd estati reyèl rele 418 mwen se yon teyèr. Mwen googled kote a orijin nan sa a te soti nan. Ak aparamman yon sèl san konprann avril ' Deseni Jou yon koup de sa, yon moun te panse li ta hilarious yo kreye yon nouvo Kòd sitiyasyon rele 418 Mwen se yon teyèr. Legalman, non an nan sa a se kòd rele mwen se yon teyèr. Mwen bliye sa paj ou gen ale nan aktyèlman fè ekspozisyon sa a. Men, aparamman, ou ka aktyèlman jwenn yon kòd estati an mwen se yon teyèr yon jan kanmenm a fè yon bagay. Se konsa, gen nan dè santèn e dè santèn de kòd estati. Kèk nan yo fè plis sans pase lòt moun. Men, bèl anpil jis familyarize tèt ou ak sa yo ki pi komen. Kò a antite mande se kout ak Intrepid, aparamman. Se konsa, pafwa gen plis erè pè pase mwen se yon teyèr. Men, sa a se youn ki mwen devine ou kalite espere frape. Men, mwen pa panse ke ou pral. Tout moun bon sou estati jis kòd, demann, pwosesis, fè se asire w enfòmasyon delivre byen? Se konsa, kounye a nou ap ale nan tranzisyon an nan yon pati plezi nan seksyon jodi a, kote nou pale yon ti kras sou HTML. HTML, tout li se ipèrtèkst Markeup lang. Se jis lang nan estanda ou itilize yo kreye tout entènèt paj sou entènèt la. Se konsa, nenpòt ki paj entènèt, sa ki nan paj pi renmen sou sit ou a? Ki sa ki nan paj entènèt ou pi renmen? ODYANS: [fèbl]. Andi Peng: Padon? ODYANS: tumblr. Andi Peng: tumblr. Se konsa, tumblr ki ekri nan HTML. Se konsa, nou pral aktyèlman ale nan ak jwe otou ak kèk nan bagay sa yo pita sou. Bèl anpil tout bagay ou bezwen aprann, konnen, yo ekri HTML ou kapab pwobableman jis Google sou entènèt la. HTML, li pa yon pwogram tankou C kote ou ka kreye varyab ak fè bagay sa yo fre ak li. Li nan plis nan jis, o, sa a se ki jan mwen vle bagay sa yo parèt sou sit entènèt mwen an. Apre sa, mwen jis ale nan mete l 'nan. Epi, se k ap pase yo style li. Se konsa, HTML, nan yon sans, li la jis tankou yon fòma oswa modèl lang. Li se yon anpil pi fasil. Li se yon anpil pi fasil yo aprann, yon anpil pi fasil yo ekri nan pase pwogram òdinè ou lang, trè fasil, anpil user aksesib ak zanmitay. Se konsa, nou ap aktyèlman ale nan jwe alantou li, ekri pwòp paj nou an jodi a. Men, anvan nou kòmanse, mwen jis vle ale sou kèk pi bon pratik kout. Paske HTML se tankou yon fasil lang ak paske menm si ou fè yon koup bagay sa ki mal, li pafwa pa gen dwa remake, nou vle asire w ke nou ap aktyèlman konfòme yo avèk pi bon pratik nou an a asire w ke bagay sa yo ke te kapab ale toupatou men yo pa toujou ale pa ale dwat asire w ke yo ap minimize. Se konsa, bèl anpil, asire w ke fèmen tout Tags ou ou lè w ap ekri nan HTML. Si w ap louvri yon kò, asire w ke ou ap fèmen l 'ak yon kò yon kote. Ou vle asire w ke ou paj entènèt lè l sèvi avèk validation sa ki rele W3 validation la. Ou ka jis Google ki sou entènèt, ak gen nan yon ap mennen nan li. Lè sa a, ou vle separe HTML, ki se lang natif markeup ou a soti nan style ou, ki se lang la CSS jan David demontre ke nou ap tou ale nan jwe yon ti jan ak konferans. Fre. Se konsa, nenpòt lè ou vle kouri HTML sou aparèy la CS50, nou ap ale nan kouri nan yon pwogram yo rele Apache, kote tout li se jis yon bati nan sèvè wèb ke tout moun nan CS50 gen aksè a. Nou rele li apache50 jis paske nou renmen rele tout bagay 50 nan CS50. Se konsa, fason nan ki ou kòmanse entènèt la CS50 sèvè se pa sezisman sou lòd ou liy apache50 kòmanse dot. Men, si ou vle fini li nan nenpòt ki tan, ou pa gen okenn dot apache50 fini. Epi ou jis frape Antre nan. Apre sa, li ta dwe tit moute isit la byento. Wi. Se konsa, mwen jis ale nan byen vit ale sou yon egzanp sou yon paj entènèt reyèlman kout. Epi nou ap ale nan depanse tankou 10, 15 minit ap jwe alantou ekri pwòp paj wèb nou an. OK. Se konsa, isit la nan IDE-- nan ka tout moun wè sa? Pa vreman. Isit la, mwen pral rale nan. Mwen te jis te resevwa sa a modèl kout isit la ak pa gen anyen aktyèlman nan li. Nou ap jis ale nan byen vit ekri yon pwogram HTML nan ki nou jis di alo nan mond lan. Se konsa, menm bagay tankou nan C, kounye a nou ap jis ale nan fè l 'nan HTML. Nenpòt moun ki vle aktyèlman jis eseye bay m 'premye bagay la ou ta gen yo mete nan yon dokiman HTML? Yeah. ODYANS: parantèz yo, [fèbl a]. Andi Peng: Oui. Se konsa, yon bagay ki trè inik nan HTML ke nou tipikman tradisyonèlman pa rankontre nan lòt lòd nivo liy lang programmation se ke nou aktyèlman presize kalite a nan dosye ke sa a se pral fè nan tèt yo nan Kòd nou an. Se konsa, nan sa a Mwen panse ke instance-- sa a, se yo lòd, ki dwat, dwa? Wi. Nan tèt la, ou jis vle genyen ladan yo Bang Doktip html nan parantèz jis di òdinatè w lan, hey, gade deyò. Apre sa, HTML dokiman ap vini. Lè sa a, ki jan nou vle yo kòmanse koupe dosye nou an? Si nou jis vle di alo, gen yon paj entènèt ki di alo nan mond lan, ki jan nou ale sou bati sa a? Aktyèlman, se pou yo vire sou Google. Apre sa, nou ka aktyèlman fè sa. Wi. Gen nou ale. Se konsa, HTML. Kòm ou ka wè, navigatè mwen an se aktyèlman otomatikman manier sa a pou mwen. Menm bagay tankou nan C, lè ou kreye yon atèl ouvè Curly, navigatè ou a otomatikman ajoute nan yon atèl fèmen Curly. Chans, IDE nou an renmen fè sa pou nou tou. Se konsa, kounye a nou ka kalite tape nan konmansman an nan yon tag, epi li k ap pase yo toujou di nou sonje yo tape nan fen tag la. Mwen panse ke sa bezwen yo dwe pwofite kapitalize. Lè sa a, nou vle ajoute, toujou, yon tèt nan ki se tit la. Nou jis vle petèt rele alo sa a, ak Lè sa a nan kò moun. Apre sa, ou ale. Sa se aktyèlman dokiman HTML nou an. Se konsa, fason ke nenpòt ki dokiman HTML se toujou menm bagay estile in-- ak int anile prensipal la. Ou toujou vle gen HTML yon tag ouvè ak fèmen nan tèt la ak anba nan kòd ou a. Ou vle gen yon tèt andedan nan ki gen tit la, jis tou sa ki pral montre tab la nan entènèt ou paj, ak Lè sa a yon kò andedan nan yo ki pral aktyèlman montre kontni an nan tou sa ou vle fè. Se konsa, si ou te vle aktyèlman kouri sa a, mwen pral rale tounen soti. Ou ka aktyèlman kòmanse apache50 kòmanse dot. Fre. Se konsa, jan ou ka wè, kounye a te lyen sa a déja moute. Li di sit ou se kounye a disponib nan kèk lyen ki anba a. Se konsa, tout IDE nou an ki gen done-- pa IDE, sorry-- yeah, IDE nou an te fè se kreye yon sit entènèt lyen sou ki nan paj wèb nou an tout ou kapab jwenn aksè sou sèvè a. Se konsa, kite a pran yon gade isit la. Se pou yo klike sou sa a, ale nan hello.html. Epi ou wè yon trè senp paj entènèt pou moun lemonn hello. OK. Nou ap aktyèlman ale nan jis gen everyone-- yeah, sa ki nan ale? ODYANS: Mwen gen yon kesyon de baz yo. Andi Peng: Wi. ODYANS: Ki jan ou sove dosye ou kòm yon HTML? Andi Peng: Yeah. Se konsa, si m 'te yo kreye yon nouvo dosye, si m 'fè New File, Untittle, si m' fè, section.html, boom, sa a, se tout mwen dwe fè. ODYANS: [fèbl]? Andi Peng: No ODYANS: [fèbl]. Andi Peng: No ODYANS: [fèbl]. Andi Peng: Yeah. Bèl anpil, ekstansyon an sou dosye a se sa ki andedan IDE ou, ki di òdinatè a, ki di navigatè a, hey, gade deyò. Sa a se pral yo dwe Kòd ekri nan lang sa a. Se konsa, pou egzanp, nan Microsoft Word, sa ki fè tout dokiman Pawòl fini ak, ki sa ekstansyon? .doc oswa doso, dwa? Tout sa ki fè se Espesifik sistèm opere ou, hey, ou te gen yon dokiman Pawòl vini. Louvri l 'ak Pawòl. Menm bagay ak pdf. Li konnen, oh, mwen bezwen yo louvri moute sa a ranpli ak Adobe Reader oswa Adobe Acrobat. Se konsa, ekstansyon opere nan menm jan tankou nan òdinatè w lan. Si ou presize paj kòd ou a vle yo nonmen non HTML, lè sa a li konnen, oh, ou te gen HTML kòd. Mwen pral trete li kòm Kòd html. Se konsa, li super entelijan nan ki sans. Se konsa, tout moun, kite a pran tankou 10 minit ak jis kreye sit entènèt pwòp nou yo. Se pou nou ajoute nan bagay sa yo bèl. Santi yo lib yo di tou sa ou vle. Mwen jis vle asire w ke serveurs tout moun nan ap kouri kòrèkteman anvan nou libere nou antre nan pset la. Paske si serveurs ou pa kouri pou pset a, ki pral reyèlman, reyèlman move. Mwen jis ale nan flote ozalantou yo ak wè sa ki tout moun nan travay sou. Ki jan nan li prale? ODYANS: Mwen jis vire sou òdinatè mwen an. Andi Peng: Sa a OK. ODYANS: [fèbl]. Andi Peng: Jis IDE ou yo. Yeah. ODYANS: [fèbl]. Andi Peng: Se OK. ODYANS: [fèbl]. Andi Peng: Totalman amann. Èske tout moun gen aksè nan sèvè yo OK entènèt? Èske apache50 kouri OK? Mwen panse ke nan kèk nan lòt seksyon yo ki, nou te gen pwoblèm ak moun ki pa ke yo te kapab jwenn aksè nan sèvè a. Yeah. Se konsa, ou jis kouri apache50 espas kòmanse peryòd espas. ODYANS: [fèbl]. Andi Peng: Wi. Bon? ODYANS: [fèbl]. Andi Peng: Oh, OK. Se konsa, ou ap sipoze gen yon espas. Se konsa, apache50-- ODYANS: Mwen te fè sa. Andi Peng: espas --start. ODYANS: Oh, espas dot. Andi Peng: Wi, espas dot. Gen ou ale. Se sak fè si ou gen yon paj HTML kreye, Lè sa a, ou ka jis ale dirèkteman nan lyen a ke li presize. Apre sa, ou ta dwe kapab jwenn aksè nan li. Tout moun te kapab aksè paj wèb yo OK? ODYANS: [fèbl]. Andi Peng: Oh, sa a, se OK. ODYANS: [fèbl]. Andi Peng: Yeah. Mwen panse ke ou ka aktyèlman louvri li nan navigatè ou a, navigatè epi li pa jis navigatè IDE ou yo. Yeah, mwen panse ke si ou kopye epi kole li. ODYANS: Lè sa a, ki jan nou vire l 'la? [Fèbl] Andi Peng: Yeah, ou fè apache50 sispann ki pa gen okenn peryòd. Wi. ODYANS: [fèbl]. Andi Peng: Ki pa gen okenn peryòd. Yeah. Gen nou ale. Wi. Nou ap kreye pwòp paj wèb nou an. ODYANS: Oh, fre. Andi Peng: Yeah. ODYANS: Mwen gen yon kesyon. Se konsa, Apache 50-- Andi Peng: 50, yeah. ODYANS: [fèbl]. Andi Peng: Ki sa? Sa se etranj. Al gade nan, ki te kalite pwoblèm nan ki te pase anvan. OK. Al gade nan m 'apre seksyon. Paske nou ap gen kèk pwoblèm ak sèvè a. Epi ou vle fè asire w ke sèvè ou a se kouri anvan yo kòmanse pset la. Paske w ap ale nan bezwen li. Yeah. Èske gen nenpòt lòt moun ki pa te kapab jwenn sèvè yo kòmanse? Pou moun nan nou ki vle ajoute plis style nan paj entènèt ou an, nou ka aktyèlman fè sa David te fè nan konferans kòm byen, ki se kreye yon style plis fèy, ki se yon CSS dot, kaskad Fèy Style ak aktyèlman jis ajoute li nan. Se konsa, pou egzanp, Mwen te jis kreye bèl anpil prèske egzak yon sèl la menm David te fè nan konferans. Ou ka bèl anpil jis fè kò. Ou gen sa yo rele Tags nan ki ou ka aplike nan IDE tou sa seksyon ou vle nan ou aktyèl sou HTML paj. Se konsa, kò a nan paj la, ou kapab fè tèks sant aliman. Lè sa a, mwen pral kreyatif yon tag rele tèt andedan nan yo ki mwen vle bagay sa yo rive, bay yon pi gwo gwosè pixel pou font la. Mwen vle pwa a font yo dwe karaktè fonse. Apre sa, mwen vle koulè nan gen ble, jis abitrè valè ki mwen deside chwazi. Mwen kapab kreye yon lòt tag rele presegondè. Gwosè font, fè l 'yon ti jan pi piti. Lè sa a, mwen kapab kreye yon lòt tag rele anba kote mwen vle gwosè a font yo dwe menm pi piti toujou. Se konsa, bèl anpil sa a se jis egzanp a kòd sous oswa sous fèy papye style ke li nan trè fasil a jis Google. Si w di, o, mwen vle font mwen yo dwe italik ak vèt fè nwa, ou kapab pwobableman Google, ak Lè sa a li pral di ou Tags ki apwopriye oswa idantite yo kreye. Se konsa, fason ke ou ta aktyèlman kalite gen sa a nan yon dokiman HTML oswa sèvi ak li se tout sa ou gen fè isit la se nan plas tèt la ajoute yon ap mennen nan fèy la style. Se konsa, ou ka jis konekte egal href tou sa non an nan fèy style ou se. Lè sa a, relasyon ki se yon fèy style. Se konsa, ki nan nenpòt ki dokiman HTML, osi lontan jan ou gen ladan sa a fèy CSS dot, ou ta dwe kapab jwenn aksè nan epi yo gen pwopriyete yo a. Se konsa, pou egzanp, isit la mwen te jis kreye yon lòt paj entènèt egzanp. Sa a se Byenveni nan seksyon CS50 Madi soti nan 2:00 3:30 avè m '. Lè sa a, mwen te ajoute yon imaj bèl ki nou potansyèlman ta dwe kapab wè. Se konsa, si ou pran yon gade isit la, si ou ale nan style.html, nou te kreye yon paj entènèt ak ti chat. Paske ti chat yo pè. Se konsa, pandan l ajoute yon imaj se jis img lyen SRC. Bèl anpil, si gen nan nenpòt ki sòt de karakteristik ou vle pou ajoute pou ou website-- kidonk kite a di, ou vle ajoute yon meni oswa yon bar rechèch oswa tankou yon image-- jis Google ki jan fè sa. Epi ou jis plok nan ki fòma. Epi ou ka jis bèl pi jis ajoute li nan. Li nan reyèlman, reyèlman fasil. Nou ap kreye pwòp nou paj wèb kounye a. Si ou vle-- ODYANS: [fèbl] Andi Peng: Padon? ODYANS: [fèbl]. Andi Peng: Oh, nan div se jis yon divizyon di m 'sa, oh, mwen gen yon seksyon sèten rele mitan nan ki mwen aplike tag CSS mwen, ak Lè sa a lòt divizyon mwen ak anba a. Sa a tout li a di ou. Paske li nan bèl kenbe bagay pwòp yo nan lòd, se konsa pwogram nan konnen ki jan egzakteman nan kouri. Apre sa, panse ke mwen ka kopye kole sa a nan navigatè aktyèl m 'tou. Li ta dwe amann. Yeah. Yay. Se konsa, si tout moun vle jis eseye kreye yon paj entènèt, nou pral pran yon lòt de a twa minit. Mwen jis vle asire w ke serveurs tout moun nan ap kouri ak tout moun gen yon lide pou konnen kijan pou fè sa. Si ou nèg vle pran òdinatè ou yo. Toujou pa travay? ODYANS: Mwen jis [fèbl]. Andi Peng: Petèt eseye aktyalizasyon 50 kòm byen. Yeah. ODYANS: [fèbl]. Andi Peng: Yeah. Se konsa, fason an ke ou kòmanse yon nouvo sèvè wèb sou IDE a se jis fè apache50 kòmansman space space dot. Mwen jis te vle asire w ke serveurs tout moun nan se kouri OK. ODYANS: Isit la, sou tèminal la? Andi Peng: Yeah. ODYANS: [fèbl]. Andi Peng: Apache. Aktyèlman, mwen panse ke w ap kouri yon bagay deja. Yeah, w ap aktyèlman kouri yon sèvè diferan. Yeah, w ap bon. Osi lontan ke ki nan k ap travay, w ap OK. ODYANS: OK. Andi Peng: Genyen de fason yo kouri serveurs. Se konsa, osi lontan ke youn nan fason ki ap travay, li nan tout dwa. Nou pral pran yon lòt minit jis kalite fini manyen yo fini nan tou sa paj entènèt ou nèg te vle fè. Èske tout moun k ap travay nan chemen an? Serveurs Tout moun nan yo se kouri san konte pou ou? Nou pral kalkile ki soti. Apre sa, HTML a san patipri ki senp. Se konsa, mwen panse ke nou ap tout bon. Yeah. Mwen pral tounen. ODYANS: [fèbl]. Andi Peng: OK. ODYANS: Se konsa, li nan jis te kòmanse chaj moute. Andi Peng: Pa gen enkyetid. Se konsa, HTML, gen nan kòd sous ki yo pral sou entènèt apre seksyon. Epitou, David te gen yon antye pakèt moun sou entènèt kòm byen. Jis kalite ti koutje sou sou li a wè ki jan paj HTML sa ekri. Li nan jistis fasil. Nenpòt bagay ou pa konnen, ou bèl pi jis Google epi w ap bon. Mwen jis vle asire w ke serveurs ou yo kouri. ODYANS: li fè sa souvan? Andi Peng: Li pa janm te rive m '. Mwen pa t 'konnen li te kapab menm ibèrnat. ODYANS: [fèbl]. Andi Peng: Mwen panse ke everyone-- m pa janm te hibernated anvan. Apre sa, mwen pa konnen pou ki rezon. Li nan etranj. ODYANS: [fèbl]. Andi Peng: se pou ou ibèrnasyon? ODYANS: [fèbl]. Andi Peng: Yeah. ODYANS: Li nan OK. Se konsa, yon fwa li a louvri. Andi Peng: OK. Nou pral fè fas ak kèk sèvè pwoblèm apre seksyon. Ou ta dwe amann. Malgre ke, ou vle asire w ke ou jwenn yo rezoud anvan ou kite kay la. Paske si sèvè ou a pa kouri, lè sa a ou se pa ale nan kapab fè nan pset, tankou nenpòt ki pati nan pset la. Se konsa, ou vle asire w ke ki ki nan travay. Fre. Tout dwa. Di ti chat orevwa. Mwen te pase yon bon bout tan kap chèche ke foto ti chat yo mete sou. Se konsa, aniwe. ODYANS: [fèbl]. Andi Peng: Padon? ODYANS: [fèbl]. Andi Peng: Mwen panse ke li la sou sit entènèt la. Fè tankou espèk a? ODYANS: [fèbl]. Mwen panse ke espèk a se jis sou entènèt nan semèn sèt. Mwen panse ke sa yo rele pset6, menm si nou ap sou sèt semèn, ki se yon ti jan informatique. ODYANS: Men, mwen vle di si ou vle gade at-- si ou vle rale moute vèsyon nou an nan sit wèb la soti nan SEVER nou an? Se konsa, tankou server.c se pset a, dwa? Si ou vle fè yon gade nan sa a, tankou ki jan li tcheke soti? Andi Peng: Oh, se konsa aktyèlman pset a, tout sa nou ap fè isit la se implementing-- isit la, Mwen pral ale sou yon ti tan sa a. Se konsa, pou tout moun sa se sèlman vinn nan seksyon, ou nèg yo se nan chans. Gen anpil ti materyèl ki aktyèlman kouvri jodi a. Mwen jis pral depanse pwochen an 20 minit ale sou pset èd. Paske gen nan kèk itil fonksyon ki pral ede lavi ou. Ak èspere ke, nou pral dwe soti nan isit la nan tankou 20 minit. OK. Se konsa, pset7 ki mal. Menm si nou ap sou semèn sèt, li la aktyèlman pset6. Mwen pral chanje sa. Tout sa nou ap fè nan pset6 ap kreye yon sèvè sit entènèt. Sa ki son super pè. Apre sa, espesyalman pou moun nan nou ki te deja gade kòd la distribisyon, gen nan yon anpil nan kòd, yon anpil nan kòd. Men, se totalman OK. Paske courageux a nitty yon pati nan aktyèlman kreye se sèvè a fè pa nou. Tout sa ou ap reyèlman mande yo dwe fè nan pset sa a se jis fè kèk manipilasyon fisèl nan dosye mwen / O. Li nan aktyèlman tankou san patipri ki senp. Se konsa, lè ou premye download that-- ki isit la gen aktyèlman deja telechaje pset a epi ki te pran yon gade? Tout dwa. Yeah. Gen a tankou 500 liy nan Kòd ki w ap ale nan dwe tankou, ki sa ki pwal sou? Epi sa a, totalman amann. Asire ou ke ou gade mache-kuvèt yo. Paske David and-- Mwen pa konnen. Mwen pa panse ke li nan Zamyla a, yon sèl sa a. Men mwen panse ke kèk lòt mache-kuvèt yo egalman itil an tèm de jis kite ou konnen sa k ap pase andedan nan kòd ou a. Lè li nan totalman OK. Paske kat fonksyon yo ke w ap mande yo aplike gen aktyèlman zewo fè ak sèvè a vrè. Tout sa yo dwe fè se jis analyzes strings diferan, chèche nan strings, a asire w bagay yo ap fè ki sa yo ap sipoze fè. Se konsa, ak sa yo ki efè, gen kèk fonksyon trè, trè itil, espesyalman pou fisèl manipilasyon, ki nou ta dwe tout ale sou ke mwen te panse mwen ta gen trè itil pou ou nèg yo aprann anvan eseye pset la. Apre sa, yo ap tout ki genyen nan bibliyotèk string.h ou yo. Genyen pwobableman pi plis itil fonksyon mwen pa te enkli isit la, paske mwen pa janm sèvi ak swa yo oswa petèt mwen jis pa t 'konnen yo egziste. Santi yo lib yo ti koutje sou a Student.h. Se paske gen k ap pase yo dwe yon anpil nan fonksyon ki yo trè itil. Se konsa, sis nan ki mwen sèvi ak pi plis nan nan m ' pset lè m 'te fè li semèn sa a sot pase yo te strtok, strchr, strrcher, strstr, strcasecmp, ak strki. Se konsa, dènye de la ki ka sanble yo bèl abitye nan pi fò nan ou. Str ka konpare, tout li fè se konpare strings yo tcheke yo pou egalite, ki gen ladan ka. Apre sa, strki jis kopi youn fisèl nan yon zòn de defans. Se konsa, sa yo de ta dwe sanble trè abitye nan ou nèg nan pwen sa. Paske nou te itilize yo yon anpil, espesyalman pou psets ki sot pase yo. Men, kat la premye petèt nou pa te wè moute jouk kounye a. Men, mwen pral jis mache nan yo. Paske yo ap ale nan fè lavi nou reyèlman, reyèlman fasil pou- pa fasil, men anpil pi fasil pou pset sa a kap vini. OK. Se konsa, Char * strtok, sa a se fonksyon an definisyon pou fonksyon sa a genyen nan fisèl, h bibliyotèk la. Si w ap bay yon opinyon nan Char * fisèl, ki se jis yon fisèl, oswa yon Char * konstan deliminator, delim pou ti bout tan, tout li ap fè se kraze pi gwo a fisèl nan yon seri de sa nou rele marqueur separe pa yon valè sèten. Se konsa, nan yon sans, si m 'te bay ou section.7.php, sa a se yon fisèl. Se konsa, ki ta ka si m 'te pase nan sa a kòm str mwen, Char mwen * str, si m 'te deliminator dot, tout bagay sa a ta fè se rechèch nan fisèl. Apre sa, premye fwa a li wè yon dot, li ta jis retounen nan konsèy la nan dènye a yo te jwenn siy nan fisèl la anvan sa a. Se konsa, li ta ale dwa isit la. Epi li ta jis ban m '7.php. Men, si m 'te a apèl la fonksyone yon lòt fwa ankò, li ta ban m 'jis php la. Se konsa, tout fonksyon sa a ap fè se kraze desann fisèl la pi gwo nan pi piti strings depann sou sa ki w ap chèche pou. Se konsa, pou egzanp, nan fonksyon gade moute ou si ou vle fè yon gade nan ki sa sèten karaktè vini sou oswa si pwen rive oswa ekstansyon rive, fonksyon sa a ta dwe san patipri itil. Yeah. Pa gen enkyetid. Sa a pral tout be-- yeah, sa ki nan ale? ODYANS: Se konsa, nan liy la an premye, si nou te lè l sèvi avèk egzanp sa a, sa nou ta insert nan sa? Andi Peng: Yeah. Ou ta jis rele yon strtok fisèl vigil delim. Apre sa, fisèl ki egal a section.7.php. Lè sa a, w ap delim ta ka egal a jis dot. ODYANS: OK. Andi Peng: Yeah. Jis tankou sa. Tout fonksyon sa yo yo egalman menm jan lè nou ale nan yo. Yo jis fè bagay sa yo yon ti kras diferan. Men, yo ap tout ale nan fè lavi ou yon anpil pi fasil. Dezyèm fonksyon, nan yon sèl sa a tankou super, super, super enpòtan, se the-- kenbe. Wouch. Rechèch Strchr pou premye a occurrence-- aktyèlman, yeah. Strchr se fonksyon an ki Mwen definitivman jis te ale sou. Se konsa, inyore sa m te di pou fonksyon a an premye. Li nan aktyèlman rele strchr. Se konsa, sa ki ta rive isit la se si ou te ba yo yon kòd nan yon Char c, li ta jis bay ou tou sa ki te ye a. Yeah. Se konsa, panse a li kòm str, ki se yon fisèl, ak chr kòm Char. Se konsa, tout w ap eseye fè se rechèch pou kote yon Char se nan yon fisèl. Se konsa, li fouy pou premye a ensidan nan karaktè a c nan str la fisèl. ODYANS: [fèbl]. Andi Peng: Wi. Lè sa a, si li pa t 'jwenn li, li k ap pase yo retounen nil. Se konsa, yon bagay ki k ap pase yo dwe trè itil pou ou nèg nan fè pset la si, di, ou te kap chèche yon ekstansyon tankou yon doso pou yon Pawòl dokiman oswa yon .pdf pou yon dokiman PDF yo, ou ka kalite sèvi ak li nan gade pou tou sa ki apre sa chak fwa ou wè yon dot, dwa? Se konsa, bèl anpil, si ou kouri ke nan fonksyon an, si li retounen nil, lè sa a ou konnen ke li pa t 'jwenn li dot, ki vle di sa a klèman se pa yon ekstansyon dosye ki valid. Oswa si li retounen yon bagay, Lè sa a, ou konnen li pral retounen tou sa a aktyèlman apre ekstansyon sa a. Se konsa, moun nan nou ki te gen te kòmanse kap nan Passage ak analizan, fonksyon sa a pral fè super itil. Se konsa, nou ap aktyèlman pral yo demontre lè l sèvi avèk sa a. Poukisa nou pa ou nèg eseye ekri yon fonksyon bouleen fraz Char * s ki jis retounen vre si a se yon fraz ak fo otreman. Se konsa, allusion, w ap ale pwobableman itilize strchr. Oswa ou jis rechèch nan la fisèl pou yon karaktè sèten. Se konsa, nan yon fraz, sa ki separe yon fraz ki sòti nan yon ki pa Peye-fraz, sa ki karaktè espesifik yo? ODYANS: Yon espas. Andi Peng: Yon espas, dwa? Se konsa, sa nou pwobableman ale nan vle fè nan sa a fonksyon isit la? ODYANS: [fèbl]. Andi Peng: Nou ap ale nan vle strchr fisèl pou aparans nan espas ki la. Paske si li retounen yon bagay, Lè sa a, nou konnen ke sa a dwe yon fraz. Sa vle di ke nou dwe gen yon espas nan fisèl sa a. Si gen nan pa gen espas, Lè sa a, nou konnen sa, hey, devine li pa yon fisèl. Li pwobableman jis yon mo reyèlman long. Se konsa, mwen pral ba ou nèg yon koup minit yo ekri fonksyon sa a. Yeah. ODYANS: Èske ou te jwenn fisèl sa a soti nan itilizatè a? Andi Peng: Yeah. Se konsa, sa a se jis yon fonksyon. Se konsa, imajine andedan fonksyon prensipal ou ou deja en-kite yo ale isit la. OK. Se konsa, mwen te ekri pwogram sa a kote Mwen gen fonksyon prensipal m 'kote Mwen te jis kreye de strings. Yon sèl nan premye se Hi, non mwen se Andi-- byen klè, yon fraz. Dezyèm yon sèl mwen se jis Andi, klèman pa fraz. Se konsa, mwen kouri tou de nan sa yo strings nan fonksyon sa a. Mwen vle ou nèg yo ekri fraz frèt. Apre sa, mwen estoke valè sa yo, ak Lè sa a jis enprime yo deyò. Se konsa, panse ke utilisateur la pou ale nan pase nan yon fisèl. Lè sa a, w ap ale nan esansyèlman figi konnen si li nan yon fraz oswa ou pa epi retounen vre oubyen fo kòmsadwa. Si ou nèg vle bay yon gwo pous monte oswa tèt moute, souke tèt tèt, se nenpòt moun ki nan pare yo kòmanse sa a, ki ta dwe bon. Petèt tankou 30 plis segonn? Tout dwa. Ann wè si ou ka eseye ekri fonksyon sa a. Se konsa, pseudo coding-- mwen jis ale nan kalite mache nan dwa sa-a kounye a. Bèl anpil, nou konnen nan fonksyon ke nou bezwen yo sèvi ak. Nou pral rele ke fonksyon sou fisèl nou yo ak rechèch pou yon espas. Si li retounen yon bagay, Lè sa a, nou dwe konnen ke, byen klè, sa a se yon fraz. Paske gen nan espas. Lè sa a, nou ap ale nan retounen vre. Lòt Bagay, nou ap ale nan retounen fo. Nenpòt moun ki vle bay m 'liy lan premye nan kòd ke nou ap aktyèlman pral yo sèvi ak yo ekri sa a? Li nan aktyèlman pi di a liy nan Kòd kòm byen. Yeah. ODYANS: Si strtok s-- Andi Peng: Jis strchr. ODYANS: [Entèrpozisyon vwa] espas se pa egal a nil. Andi Peng: Cool. Egzakteman dwat. Tout moun konprann ke liy an premye? Nou pral rele strstr, ki se yon fonksyon ki fouy fisèl la a pou Char a nan espas. Men, si li jwenn li, li k ap pase yo retounen yon konsèy nan kote se sa ki. Si li pa jwenn li, li pral retounen nil. Se konsa, si li retounen anyen lòt pase Nil, lè sa a nou konnen li la yo te jwenn yon espas. Ki fè sans? Fre. Tout dwa. Se konsa, si nou konnen li la yo te jwenn yon espas, ki sa nou vle fè? ODYANS: Retounen vre. Andi Peng: Wi. Retounen vre. Lè sa a,, yon moun vle fini fonksyon an pou mwen? Yeah. Lòt Bagay, jis tankou sa. Epi eseye konpile sa a. Wi. Se konsa, kòm ou nèg ka wè nan a sorti, sonje Booleans nan C yo toujou eksprime nan binè. 1 se vre. 0 se fo. Si nou te nan kouri sa a fonksyon sou fisèl yon sèl, ki se Hi, non mwen nan Andi-- byen klè, yon sentence-- rezilta a enprime soti nan 1 ki se vre. Yon sèl nan dezyèm lan, ki se jis yon mo, rezilta enprime soti a 0, ki se fo. Tout moun kalite klè nan sou kòman fonksyon sa a te ekri? Yeah. ODYANS: Èske nou ka tou fè, olye pou yo pa egal pa gen okenn, egal egal 0, se konsa ke li la egal a? Andi Peng: No Paske strchr se yon fonksyon. Mwen pral tounen nan sa a. Se konsa, sa ki nan kalite la retounen nan fonksyon strchr nou an? ODYANS: Oh, OK. Ou NULL. Andi Peng: Yeah. Li se yon * Char ki di m 'tou sa fonksyon sa a ki pral retounen, li nan pral fè yon konsèy. Swa konsèy la a pwal montre nan kote li nan jwenn li, oswa li k ap pase yo retounen yon konsèy nan nil. Nan nenpòt sikonstans, li k ap pase retounen yon konsèy nan yon bagay. Se konsa, si ou te egalize sa a egal, egal, 0, w ap ale nan jwenn yon erè konpilasyon. Paske li k ap pase yo retounen yon konsèy. Apre sa, w ap ale nan eseye konpare yon konsèy nan yon nonb antye relatif. Ak òdinatè a nan pa ale nan renmen sa. Yeah, egzakteman. Fre. Tout moun sa ki bon? Ak Dezyèmman, nou ap ale nan ale plis pase yon fonksyon rele strstr. Pa gen enkyetid si sa yo fonksyon yo konfizyon ou. Yo ap konfizyon m '. Kòm sa yo, ou nèg te kapab wè, yo tout son bèl anpil menm bagay la. Jis chak fwa w ap konfonn, rale moute bibliyotèk la string.h. Apre sa, ou nèg kapab Trier nan ki yon sèl la ki. Se konsa, strstr, tout sa ki fè se rechèch yon afè pou yon antye lòt fisèl. Se konsa, kote strchr jis rechèch pou yon karaktè sèl, rechèch strstr pou yon fisèl tout antye. Se konsa, mwen te vle fè yon gade nan, mwen pa fè sa konnen, Hi, non mwen se Andi. Ak non pi bon zanmi m 'lan se tou Andi. Si mwen te vle gade pou nan sa a fraz pou pawòl Bondye a tout antye de Andi, ta zegwi mwen te tou sa ou ap chèche pou. Apre sa, gwo pile zèb ou a se tou sa w ap chèche pou l 'nan. Se konsa, si w ap chèche pou yon mo ki nan yon fraz espesifik, mo sa a a pwal zegwi ou yo. Lè sa a, fraz la tèt li a pwal gwo pile zèb ou yo. Se konsa, li jis fouy ensidan an premye a zegwi a fisèl nan gwo pile zèb la fisèl. Li retounen konsèy la ensidan an premye. Eksepte, sonje nan ka sa a, li la nan premye ensidan nan fisèl la tout antye ke w ap chèche pou, pa jis yon karaktè. Se konsa, sa a se prèske nan menm bagay kòm fonksyon an nou jis te fè, jis ak yon ti jan plis espesifik. Paske w ap chèche pou pi plis pase jis yon karaktè. Apre sa, l 'a se menm bagay la egzak kòm youn nan ki nou jis te fè. Tout moun OK ak sa a? OK. Dènye yon sèl nou ap ale nan ale sou se strrchr, ki se pa konfonn ak strstr oswa avèk strchr. strrchr gen yon r siplemantè nan la. Fè atansyon lè w ap tape. Ou ka jwenn tèt ou ki gen ladan yon r siplemantè oswa ki pa enkli yon r, ak Lè sa a fonksyon ou se te resevwa pa ale nan travay. Apre sa, w ap ale nan gen konfonn. Fè atansyon ke w ap òtograf tout fonksyon sa yo dwat. Se konsa, strrchr se egzak la menm bagay kòm strchr si se sonde pou pa premye a ensidan nan yon karaktè espesifik, men pito dènye ensidan an. Se konsa, nan sans sa, li nan prèske menm bagay la egzak. Men, olye pou yo k ap deplase voye nan yon fisèl, w ap ale nan dwe deplase bak nan yon fisèl. Egzak menm bagay, w ap jis chèche nan yon lòd diferan. Se konsa, sa a ta ka super, super itil pou Passage ou fonksyon, premye a fonksyon sou pset ou yo. Se pou yo pretann ke nou bezwen yo ekri yon fonksyon nan ekstansyon anile nan ki nou pase yon Char konstan non dosye *, jis yon fisèl, yon non dosye, ki pran an ke non ak simagri soti ekstansyon sa a nan ki dosye-a. Se konsa, pou egzanp, si m 'te pase nan fisèl la nan pset7.zip, li pral ekri ak lèt ​​detache soti jis ekstansyon sa a, ki se .zip. Lè sa a ta travay pou nenpòt ki sòt de ekstansyon, doso pou Pawòl oswa .pdf pou yon PDF ranpli oswa .HTML pou yon dosye HTML. Bèl anpil, ekri yon fonksyon ki ka fè sa. Mwen aktyèlman ale nan chanje sou nan IDE a. Li pa load-- gen nou ale. Se konsa, tout mwen te fè isit la se kreye yon * Char, yon premye fisèl, rele pset7.zip. Mwen pral rale nan. Mwen te kreye yon dezyèm fisèl rele finalpaper.docx. Epi ekri m 'yon fonksyon ki lè rele ki pral jis enprime soti File name ekstansyon yo. Petèt pran yon minit koup yo panse sou ki jan w ap ale nan fè sa. Yon ti kras pi difisil pase yon sèl la pase a, men l 'a se prèske egzakteman menm bagay la. Yeah. Se konsa, ekri yon fonksyon rele ekstansyon sa a, si m 'ba ou non an nan yon dosye, si m 'te ba ou pset7.zip-- mwen vle ou ekri ak lèt ​​detache soti jis .zip a. Si m 'ba ou renmen finalpaper.docx, jis enprime soti doso a, jis ekstansyon sa a nan tou sa dosye. Sa a aktyèlman sèlman pran de liy nan kòd. Se konsa, eseye wè si ou ka petèt fè l 'nan sa. Aktyèlman, li sèlman pran yon sèl liy nan kòd. Men, de liy se pwobableman plis estanda. Ki sa ki fonksyon yo nou pwobableman ale nan vle rele? ODYANS: strrchr. Andi Peng: strrchr, dwa. Paske nou ap chèche soti nan bò gòch a dwat. Mwen pa t 'bay ou nèg yon egzanp tankou sa a, men si mwen te ban nou yon egzanp tankou www.apple.com ak mwen jis te Alexa la, li ta dwe yon egzanp nan kote ou vle rele egzanp ki sot pase a nan peryòd la epi yo pa premye, dwa a? Si ou te rele strchr, li ta te ban nou apple.com la. Si ou rele strrchr, li ta ba ou Alexa la. Se konsa, dwe fè atansyon ki te sou ways-- nan egzanp mwen, ou te kapab pwobableman te kapab gen jis ekri li lè l sèvi avèk strchr, depi gen nan sèlman yon sèl dot. Men, nan lòt ka, ki gen dwa pa ka a. Se konsa, toujou eseye nan konsepsyon kòd ou a byen, se konsa that-- yeah? ODYANS: Se konsa, nan la egzanp ou jis te di, lè ou strrchr li ta ba ou .com oswa jis vini? Andi Peng: Li ta ba ou Alexa la. ODYANS: OK. Andi Peng: Yeah. Li lonje dwèt nan kote li jwenn li. Yeah. 30 segonn petèt? Yeah. Tout moun bon oswa petèt yon ti jan pi plis tan? Montre nan men? Montre nan tèt? Fre. Nenpòt moun ki vle ban m 'premye a liy nan kòd pou pwogram sa a? ODYANS: [fèbl]. Andi Peng: Se konsa, premye nan tout, se pou yo petèt kraze sa a desann. Se konsa, ki sa ki kalite nan retounen nan strrchr? Se pou yo ale tounen. strrchr, ki sa ki kalite nan retounen? ODYANS: Char * Andi Peng: Li se yon * Char, dwa? Ki vle di ke w ap pwobableman pral vle kreye yon lòt * Char nan kalite nan magazen chak fwa li an retounen nan, dwa? Paske si ou rele strrchr nan fonksyon, li pral ba ou yon konsèy nan tout kote li te jwenn ke peryòd dènye a, dwa? Men, w ap ale nan vle magazen ke yon kote, dwa? Se konsa, ki jan nou kode sa a nan pwogram nou an? ODYANS: Ou fè Char * a [fèbl]. Andi Peng: Oui. ODYANS: [fèbl]. Andi Peng: strrchr. Yeah. Oh, rate yon r la. ODYANS: File name [fèbl]. Kisa li ye? Oh, li nan jis s. Andi Peng: Oh, li nan jis s. Wi, regrèt. Move mwen. Men kèk egzanp pa t 'matche ak. ODYANS: Lè sa a, dot. Andi Peng: Wi. Fè atansyon lè ou nèg sont- isit la, kite m 'rale nan. Gen nou ale. Fè atansyon lè ou nèg yo sezisman, espesyalman lè w ap fè jis yon Char. Li nan reyèlman fasil yo aksidantèlman jis fè quotes doub olye ke sèl. Sa pa pral travay. Du ou a pral nan pote plent. Ak fonksyon ou se jis pa ale nan kouri. Se konsa, dwe fè atansyon lè w ap fè bagay sa yo ak charaktèr ke li nan quotes sèl. Se konsa, fè sa ki liy sa a nan Kòd fè sans a tout moun? Nou ap kreye yon konsèy Char *. Paske retounen strrchr yon bagay nan kalite konsèy. Se konsa, nou ap ale nan rele strchr sou a, ki se fisèl la, dosye a non, ke nou ap pase nan. Apre sa, nou ap chèche pou dènye a egzanp nan yon peryòd, ki se jis quote an yon sèl dot sèl quote. Yeah. ODYANS: Lè fè nou itilize quotes doub ak ki lè fè nou itilize quotes sèl? Andi Peng: Yeah. Quotes Se konsa, doub yo toujou itilize lè ou gen yon afè de pi plis pase jis yon sèl. Se konsa, si w ap fè strstr, ki se youn nan ke ou rechèch yon kòd pou fisèl, ou ta pase l 'nan quotes doub. Men, nenpòt ki lè li nan jis yon karaktè sèl, ou vle fè quotes sèl. Li se yon bon bagay kenbe nan tèt ou. Se konsa, kounye a ke nou gen nou an konsèy, ki sa nou fè avèk li? Mwen mande ou nèg enprime li soti, dwa? Se konsa, [fèbl], ou vle ban m 'liy lan nan kòd? ODYANS: printf Andi Peng: Yeah. ODYANS: --you bezwen yon detantè plas. Andi Peng: Wi. ODYANS: Enprime detantè a plas. Mwen pa konnen sa plas la detantè se men pwen A ak li. OK. Se pou nou sote ki pou kounye a lè sa a. ODYANS: Lè sa a, comma-- Andi Peng: Pointer, dwa? ODYANS: Pointer, wi. Andi Peng: Se konsa, kalite yon kesyon Trick, te fè ak endikasyon ak strings ke nou te kalite te pale osijè de deja. Ki kalite detantè plas èske nou bezwen pou yon konsèy pou yon * Char? ODYANS: [fèbl]. Andi Peng: Yeah. Li nan pi fasil pase ou nèg panse ke li se. ODYANS: fisèl? Andi Peng: Se jis nan yon fisèl, egzakteman. Paske sonje strings pa reyèlman egziste. Yon Char * se egzak la menm bagay kòm yon fisèl. Se konsa, reyèlman sa a, se kisa ta dwe yo te itilize tout ansanm. OK. Se pou nou wè si nou ka eseye kouri sa a. Se pou yo fè yon ekstansyon fè. Fre. Ou nèg wè ki jan mwen te pase nan an psset7.zip ak finalpaper.docx a, epi li jis simagri soti .zip a ak doso la? Fè sans? OK Se konsa, mwen panse ke nan gade ou moute fonksyon nan pset ou w ap ale nan dwe mande si nan fisèl gen yon fini sèten, ou oblije bay yon sèten kòd erè. Se konsa, sa a pral trè terib. Paske si ou kapab konnen konnen ki sa ki ekstansyon sa a se, ou ka Lè sa a, konpare ki ekstansyon yo wè si li matche ak moute ak yon ekstansyon sèten. Lè sa a, ou ka retounen yon mesaj erè, dwa? Yeah. ODYANS: Se konsa, nou pa fè sa gen ajoute 1 oswa yon lòt bagay? Konsèy la pral ale nan the-- Andi Peng: Nope. ODYANS: --point apre li. Andi Peng: Yeah. Li lonje dwèt egzakteman nan kote ensidan an te ye a. Se konsa, pou egzanp isit la, nou ap pou chèche peryòd la. Se konsa, li k ap pase yo retounen yon konsèy nan peryòd la. Lè sa a, li pral ekri ak lèt ​​detache soti kòmanse nan peryòd la. Se konsa, ou pa bezwen ajoute 1. Malgre ke, li a totalman amann yo, si w ap janm fin, jis kalite a tès li soti tèt ou. Bati yon pwogram echantiyon. Teste li soti tèt ou ak wè ki kote li a enprime. Sa a tou pa yon move fason yo fè li. Fre. Epi sa a, bèl anpil tout Mwen te gen pou ou nèg jodi a. Nou te fè yon anpil nan bagay pset jodi a. Se konsa, lè gen dout, tankou Mwen te di, toujou gade moute bibliyotèk la string.h pou pset sa a. Gen k ap pase yo gen yon anpil nan fonksyon nan la ki ka itil. Gen kèk yo gen dwa pa itil. Mwen pa vrèman konnen. Wade atravè li, gen nan yon pakèt tout nan yo. strstr, strchr, strrchr yo super, super itil, menm jan tou strcpys yo ak strcasecmps ke nou te deja itilize. Se jis anpil nan pitye otou ak strings, pou detèmine si si yo ap egal, ap resevwa bagay soti nan strings, ak ke yo te kapab louvri dosye kòrèkteman. Li se yon anpil nan dosye mwen / O. pset vrèman pa sa ki move. W ap ale nan pran yon gade nan li, telechaje li, ak wè yon pakèt antye nan kòd. Pa gen enkyetid, kòd a ou aktyèlman ekri se pa move nan tout. Si yon moun gen pwoblèm ak yo sèvè, vini wè m 'apre seksyon. Eskize yon lòt fwa ankò pou pa pote sirèt nan Halloween. Mwen pa konnen sa ki te mal avè m '. Men, nou pral gen doub sirèt la pwochen fwa. Ak bòn chans nan pset ou semèn sa a. Wi.