ANDI PENG: Sisi ni karibu kupitia psets wote. Kwa kweli, sisi ni kupitia idadi kubwa ya psets ngumu sana. Hivyo sisi ni kweli tu kwenda aina ya upepo kupitia michache ijayo ya wiki. Tunakwenda kuanza kuzungumza juu yetu miradi ya mwisho, matukio kuja juu katika wiki chache zijazo. Na maisha itakuwa breeze. Hivyo si sana leo. Hopefully, kwa kweli breeze kupitia ajenda ya leo, na kisha kuwa nje ya hapa pamoja na baadhi ya muda wa vipuri. Pia, nataka kuomba msamaha kwa ukosefu wa pipi leo. Mimi sijui ni kwa nini. Lakini katika wiki kuongoza hadi Halloween, napenda kusahau pipi. Kwa hiyo mimi nina kweli tu kubwa tamaa na wewe hivi sasa. Kwa sababu mimi literally kumbuka pipi kwa kila darasa moja, lakini halloween. Lakini wiki ijayo, nitaleta mara mbili ya kiasi cha pipi kwa ajili ya kufanya kwamba, wote kwa ajili yenu. Ni utakuwa mkubwa. Hivyo mimi kuwa wanandoa wa matangazo kuhusu baadhi ratiba. Mimi na baadhi ya masuala ya ratiba. Kisha tunakwenda hoja juu ya majadiliano juu ya kile kinachoitwa chmod. Tunakwenda kuzungumzia haraka TCP / IP HTTP. Na kisha tunakwenda kanuni yetu tovuti mwenyewe kwa kutumia HTML na CSS. Na kisha mimi itabidi kweli kuondoka labda kama dakika 20 kwa majadiliano juu ya pset6. Kwa sababu pset6 ni kweli mengi ya mambo ambayo tumekuwa tayari kuona mbele, lakini nilitaka kupata mahitaji baadhi ya dhana hizo kama vile kufundisha wanandoa kazi mpya. Baridi. Hivyo kwanza ya yote, kuwakaribisha nyuma kutoka mapumziko. Natumaini wewe ni mapumziko alikuwa kufurahisha. Je, ulifanya kwa mapumziko? Watazamaji: Akaenda New York. ANDI PENG: Wewe akaenda New York? Nadhani nusu shule zetu alikwenda New York. Ni sawa. Mimi ilitumia zaidi ya mapumziko yangu wanao kaa tu katika kitanda Netflixing. Na ilikuwa wakati mzuri. Lakini sasa tuko nyuma, nyuma katika kikao, nyuma katika utendaji wa mambo. Tuna pset kutokana Ijumaa hii saa sita mchana. Nadhani umefanya tayari ilichukua Jaribio yako, yeah? Hivyo mtu mwingine ambaye ana si alikuwa Quizzes zao, tafadhali kuja na kupata Quizzes yako kutoka kwangu mwishoni mwa sehemu. Au kufuatilia yangu chini juu ya chuo. Mimi itabidi ni pamoja nami mahali fulani. Mradi wetu wa mwisho kabla ya pendekezo pia. Hivyo kwa wale wa kwetu ambao hawajawahi kuchukuliwa darasa hili kabla, jiwe kuu la msingi la CS50 ni mengi sana kilele katika hii kuu mradi huo wanafunzi kupendekeza. Na pendekezo kabla ya, tu wazo la jumla nini moja kutaka kufanya kwa wao mradi, wazo kwamba ni kutokana Jumatatu, Jumatatu ijayo saa sita mchana. Hivyo pretty much, David Nadhani mapenzi kuzungumza zaidi kuhusu hili katika hotuba kama ana si tayari. Na kuna ukurasa imara kwenye tovuti yetu kueleza mahitaji yote ya mradi huo. Lakini kimsingi, pick mada yoyote kwamba wameweza wamekuwa nia ya katika muda wako hapa katika CS, iwe ni michezo ya kubahatisha au kubuni au video au kitu chochote. Na unaweza kweli aina ya sasa kutumia baadhi ya masomo kuwa tumejifunza hapa katika CS50 hi, welcome-- kwa pretty much kufanya mradi wa mwisho wa uchaguzi wako. Yote yale ambayo ni kutokana Jumatatu ni tu blurb mafupi kupitia barua pepe kwangu, hukumu ya haraka, kama, hey, Andi, Mimi nina kweli nia ya kubuni mchezo kwamba hana huu kwa iOS. Baridi. Napenda tu ya awali yako mafupi mawazo kwa ajili ya miradi yako ya mwisho. Na tutaweza majadiliano kupitia iwapo au kwamba ni kweli wazo nzuri au la, kama ni wazo upembuzi yakinifu au la. Lakini pendekezo kabla ya tu ni kutokana Jumatatu ijayo. pset6, web-- yetu nzuri kwamba ni makosa. Pset7? pset6? Ni pset6, sawa? pset6, mtandao wetu server, ni kutokana Ijumaa saa sita mchana na siku marehemu. Masaa ya ofisi kuanza kwa kawaida kuanzia Jumatatu Alhamisi 8:00-11:00 wiki hii. Nadhani huru kwa mitatu ijayo usiku. Baridi. Kabla tulikuwa katika nyenzo, je mtu yeyote una maswali yoyote, utani, hadithi? Mlifanya nini kwa ajili ya kuanguka mapumziko? Watazamaji: Je, mimi kufanya? ANDI PENG Tayari ni miaka iliyopita kweli. Christabel alikwenda New York. Mimi kukaa hapa na Netflixed. Watazamaji: Oh, yeah nilikuwa hapa. ANDI PENG: Oh, Sawa. Watazamaji: Sikumbuki nini hasa. ANDI PENG: Hiyo ni sawa. Watazamaji: Netflixing pengine. ANDI PENG: Netflixing. Naam, ni wakati mzuri. SAWA. Sawa. Maswali yoyote kabla sisi kuruka ndani ya kidunia? Pia, sisi ni kwenda kujaribu kwa kasi kupitia sehemu leo, si sana ili kufidia. Na hopefully, tutaweza kupata nje hapa kidogo mapema. Pole kwa si pipi, pia. Mimi nina tamaa, hasa wakati wa halloween. Sawa. Baridi. Hivyo sisi ni kwenda kuanza kuzungumza juu ya mstari amri hoja aitwaye chmod. chmod, yote ni ni tu mfumo Unix wito uliofanywa kutoka mstari amri kubadili ruhusa file. Hivyo kwa mfano, tumekuwa zote yaliyojitokeza ukurasa kama hii pengine wakati mwingine katika maisha yetu span ya kuwa biashara user, ambapo mtandao wetu server ina ametupa makosa ya Haramu. Huna ruhusa ya kupata, yadda, yadda, yadda, kwenye kompyuta hii. Yote kweli ina maana ni kwamba ruhusa kwamba walikuwa zinatokana na chochote ukurasa ungekuwa kujaribu kupata hawakuwa wazi kwa wewe. Hivyo pretty much, chmod ni njia ambayo tunaweza kurekebisha mfumo ruhusa wale ili kumpa kila mmoja, user, kundi, au dunia, au yoyote mchanganyiko wa wale upatikanaji kwa baadhi ya mafaili, directories, kitu chochote kweli, aina yoyote ya mfumo juu ya mfumo wa uendeshaji. Hivyo kama yoyote ya guys kuwa kompyuta kama wewe kujisikia kama yafuatayo pamoja na mimi leo, kabisa kujisikia huru na aina tu mambo katika. Kama siyo, unaweza tu hutegemea nje. Hivyo nina kwenda kwa kweli kuvuta up wastaafu yangu hivi sasa. Hivyo amri ya kuendesha chmod, au angalau tu kuorodhesha ruhusa ya yako faili directory, ni tu ls-l. Kama unaweza kuona, kundi la mambo pops up ambao wengi ni muhimu kwetu juu ya mkono wa kushoto upande hapa. Nyie kuona rundo la rs, ws, 1 /. Naam. Hayo ni kimsingi tu ruhusa wote faili kueleza kile directories fulani na mafaili ndani ya mfumo wako nayo. Basi hebu kwenda nyuma ya nguvu uhakika hapa. Hivyo kwa kuongeza majina ya faili kama nyie unaweza kuona juu ya haki, sisi ni kuangalia kuona kimsingi tu safu upande wa kushoto. Hivyo kwa kuongeza tu majina ya faili, sisi Unaweza kuona ruhusa ya mafaili, wao mmiliki wa kikundi, jina la kikundi, tarehe kwamba faili kwa mara ya mwisho iliyopita, na kadhalika. Unaweza kuona mambo mengi kwa kutumia chmod. Hivyo njia kwamba sisi kusoma chmod ni kwamba barua ya kwanza sisi pretty much kupuuza katika suala la vibali vya kusoma. Barua ya kwanza tu inatuambia nini aina ya mfumo wa sisi ni kupata. d, katika kesi hii, ni folder au directory. Hivyo tunajua kwamba kwa sasa workspace yangu kifungu cha saba ilikuwa directory. Na kisha unaweza kuona tatu triads, kimsingi tu seti tatu ya herufi tatu. Na unaweza kufikiria kila kama kidogo. Hivyo wewe tu na seti tatu ya bits tatu, bits tisa katika jumla. Wewe kutibu yao katika makundi ya watu watatu. Hivyo kundi la kwanza la tatu ni Daima yako user ruhusa. Kundi lako la pili la tatu ni Daima yako kundi ruhusa. Na kuweka yako ya tatu ya tatu Daima ni kama dunia, kila mahali ruhusa. Kwa hiyo mimi nadhani rahisi kuuliza swali ni nini Tofauti kati ya mtumiaji na kikundi. Tofauti kubwa kati ya mtumiaji na kundi ni kwamba mtumiaji ni wewe binafsi kupata chochote ni haki ya sasa. Inaweza kuwa kundi kama una nyingi watumiaji kwenye kompyuta moja, kwa mfano. Wote inaweza kutibiwa kama kundi. Na kisha dunia ni tu dunia, kila mtu. Ili tuweze kuona baadaye jinsi tunaweza kurekebisha hayo katika ruhusa tofauti. Hivyo pretty much, tuko kwenda bado kuzingatia kwa upande wa kushoto, ambapo kwa directory CS50 tunaona drwx, ambapo r tu ina maana ni someka. W ina maana tu ni writable. Na kisha x tu ina maana ni kutekelezwa. Wewe d kufikiri ni aina ya haina mantiki. Ni lazima e. Lakini x kweli aina ya kazi vizuri kidogo, kwa sababu unaweza kukumbuka vizuri zaidi. Hivyo aina tatu za mambo anaweza kufanya, unaweza ama kusoma faili, unaweza kuwa na ruhusa ya kuandika faili, au unaweza kuwa na ruhusa kutekeleza file. Na hivyo kwa njia hiyo sisi kweli kuwakilisha watu katika vipande ni nambari 4, 2, na 1. Hivyo chochote hiyo ni someka ni kuwakilishwa na idadi ya 4. Chochote hiyo ni writable ni kuwakilishwa na 2. Na kitu chochote hiyo ni kutekelezwa kama kuwakilishwa na 1. Hivyo kwa mantiki hii, tunaweza pia kuwakilisha numbers-- hizi hi, kuwakaribisha, katika njia tofauti. Pole. Kabla ya kila mtu, mimi nina kwenda kwa kuomba msamaha kwa niaba ya watu wote kuingia darasani sasa. I forgot pipi leo. Nasikitika mimi nina kushindwa wiki hii ya Halloween. Mimi kuleta mara mbili ya kiasi cha pipi wakati mwingine kwa ajili ya kufanya hivyo. Lakini anyways, pole juu ya hilo guys, pole. Hivyo njia kwamba tunaweza kweli pembejeo juu ya amri yetu Hoja ni sisi anaweza kufanya chmod kundi kufyeka ruhusa, ambapo kundi ni tu chochote Kundi sisi ni kujaribu kubadili. Na ruhusa ni chochote tunataka kuongeza kuwa. Hivyo kwa mfano, pamoja na anaongeza ruhusa, na Ondoa inachukua mbali ruhusa. Na aina ya kundi tuna a wetu kwa wote, u kwa watumiaji, g kwa makundi, au o kwa watu wengine. Ni kidogo abstract hivi sasa. Lakini tutaweza kwenda juu mifano michache tu kuonyesha haraka hii ya kweli. Kila mtu mwema juu ya hili slide, hivyo siwezi kuendelea na? Baridi. Hivyo kwa mfano, rwx. Kabla ya sisi majadiliano juu ya nini inawakilisha, Awali ya yote nini rwx maana gani? Ukiona kuwa huyu mmoja faili ana ruhusa ya rwx, hiyo ina maana gani mtu anaweza kuwa na uwezo wa kufanya? Watazamaji: Soma, kuandika na kutekeleza. ANDI PENG: Yeah, kwa uhakika. Unaweza kusoma kuandika na kutekeleza. Kwa sababu wote watatu wa wale wahusika ni sasa. Hivyo kama sisi kwenda mbele na majadiliano kuhusu hili katika suala la bits, rwx pia inaweza kuwakilishwa kama 700. Kwa sababu kama unaweza kuona katika yoyote aina ya faili directory ruhusa, kuna triads tatu. Katika kesi hiyo, tu kwanza triad ina chochote huko. Hivyo katika kesi hii, r ni 4, w ni 2, na x ni 1. Ikiwa kuongeza wale pamoja, ni 7. Na hivyo kama wewe kubadili kwa binary, ni 700. Kwa sababu 7 ni triad kwanza. 0, kuna kitu sasa katika triad pili. Na kisha kuna kitu waliopo katika triad tatu, hivyo hiyo ni mwingine 0. Hivyo kwa mantiki hiyo hiyo, kundi la triads inaweza kuwakilishwa tu katika bits, tu katika mapacha pia. Hivyo 700 ina maana halisi kitu kimoja kama rwx ------ katika suala la ruhusa. Kila mtu wazi juu ya hilo? Baridi. Na hivyo chmod 111 bila kutoa ambayo ruhusa ya faili? Kukupa guys wanandoa sekunde kubadili hili. Kumbuka, kwanza triad ni kwa mtumiaji. Triad pili ni kwa kundi hilo. Na triad tatu ni kwa kila mtu. Na hivyo chmod 111 bila kutoa ambayo aina ya ruhusa na kwa nani? Kuchukua sekunde kadhaa kwa kufikiri juu yake na kurudi tena. Naam. Watazamaji: Hivyo kila mtu anaweza nitafanya hivyo. ANDI PENG: Yup, hasa. Watazamaji: Lakini hakuna mtu anaweza kusoma wala kuandika. ANDI PENG: Na kujisikia huru kuelezea kwa kila mtu jinsi hitimisho kwamba. Watazamaji: Naam, kwa mtumiaji, kikundi, na dunia, ni wote 1, ambayo ni kificho kwa kutekelezwa. ANDI PENG: Yeah, kwa uhakika. Hivyo 1, katika kesi hii, kila tunajua ni kwamba ni kificho kutekelezwa. Kwa sababu kusoma ni 4. Kuandika ni 2. Na kutekelezwa ni 1. Hivyo ni triads zote tatu ni 1, kwamba maana yake ni kwamba kwa dunia, kwa mtumiaji, na kwa kundi, wao wote ni kutekelezwa. Kila mtu mzuri na kwamba? SAWA. Na hivyo njia pili kwamba tunaweza kweli kuandika hii pia ni wewe inaweza tu kufanya chmod pamoja na x. a ina maana wote au kila mtu. Pamoja na maana yake ni kutoa ruhusa kwa. Na kisha x maana kutekelezwa. Hivyo kuna amri mbili ni kweli kufanana. Hivyo kama unataka kukimbia huu katika terminal yako, kufanya chmod 111, jina la saraka yako au faili yako. Au unaweza kufanya chmod pamoja na x, jina la directory faili yako. Same kitu, kama njia rahisi, pengine, kwa baadhi ya kuwakilisha au mabadiliko faili ruhusa. Kila OK moja kwa chmod kabla ya sisi kuondoka? Baridi. Hivyo sasa tunakwenda kichwa katika slides chache ya dhana ya kufikirika sana kwamba mimi nina pretty much kwenda breeze kupitia. Na ni sawa kabisa kama wewe hawaelewi mambo yote. Hata sasa, mimi bado si kweli kuelewa kila kitu kabisa. Lakini ni zaidi ya kupata ngazi ya juu ufahamu jinsi baadhi ya mambo haya kazi. Hivyo sisi ni kwenda kuzungumza haraka kuhusu TCP / IP, ambayo ni haki Kudhibiti Maambukizi Itifaki kufyeka Itifaki ya internet. Kumbuka kutoka hotuba, Daudi, je yeye kufundisha mfano ambapo yeye d kupita maelezo katika bahasha hadi kama juu ya ukumbi? Hivyo katika ukumbi sheria shule Daudi alionyesha kimsingi jinsi TCP / IP kazi katika maana kwamba wote ni ni ni njia ya kuhakikisha kwamba takwimu imekuwa mikononi hela server au kwenye mtandao. Hivyo katika mfano wa bahasha na ujumbe, user mwishoni mwa naweza kuona kuwa, loo, mimi zinahitajika kupokea pakiti nne za maelezo. Lakini mimi kwa kweli kupokea tatu tu. Hiyo ina maana mimi lazima kukosa moja. Na mtu mmoja aliyekuwa na si mikononi. Na hivyo TCP / IP kwenye mtandao, kupitia kompyuta yako na kompyuta, anafanya exact kitu. All yake ni bayana utaratibu ambao data waliopotea pakiti inaweza atapewa na kupokelewa. Kama kwenye mtandao wakati wewe ni kujaribu kupata files online au kutuma files kwa rafiki yako au kuangalia mtandao browsers, maelfu na maelfu ya mabilioni na mabilioni ya ka maelezo ni kuhamishwa kwa millisecond. Na ni kweli, kweli utata. Na ni kweli ni vigumu kweli kujua nini wametumwa na nini si wametumwa. Na hivyo TCP / IP tu bayana mfumo kushikamana ambao mtandao wako browser na kompyuta yako Unaweza aina ya kuwasiliana na kila mmoja, tu kuhakikisha kwamba pakiti ni zote hapa na hakuna kitu waliopotea na takwimu zote kwamba aliomba ni kweli kuonyesha vizuri. Kila mtu sawa juu tu kwamba sana kifupi ngazi ya juu wanaelewa? Baridi. Hivyo basi tunakwenda hoja ndani ya kuzungumza juu ya HTTP, ambayo ni tu HyperText Transfer itifaki. HTTP, yote ni ni chochote ukurasa wowote au faili ni kupatikana kwenye tovuti yako, server HTTP anarudi hali kificho katika kukabiliana ombi kuhakikisha kuwa ama, loo, ombi hili safari kwa kupitia. Na kila kitu ni kuonyesha vizuri. Au, loo, hapana, 404. Kitu potoka. Ah, siwezi kuonyesha. Wote ni ni kwamba kila wewe ni kujaribu kupata, kutumia kama mtumiaji ni kujaribu kupata, juu ya internet-- tu kuhakikisha kwamba ama kuwa na mafanikio kupatikana chochote ilikuwa au si mafanikio kupatikana chochote hivyo. Na hivyo hali HTTP kificho tu hutoa njia ya kuwa na uwezo wa kujua kama au si ilikuwa na mafanikio au la. Hivyo kwa mfano, ombi mfano. Unaweza kuona hapa ni Kwa kawaida kawaida nne mistari. Tuna GET HTTP 1.1, ambayo ni tu Njia ombi URL, itifaki toleo la, jina shamba, na thamani ya shamba. Hivyo hakuna haja ya kabisa kukariri kitu chochote hapa. Tu aina ya familiarize mwenyewe na jinsi hizi kuangalia. Katika mfano huu, njia ombi URL ni ombi lolote la wewe ni kutuma server. Kama, hey, kompyuta, kwa kweli mimi nataka upatikanaji yadda, yadda, yadda, ukurasa HTTP. Toleo la itifaki ni tu chochote toleo la jeshi yako au kompyuta yako ni kwa kutumia ya kupata habari. Jina uwanja ni tovuti au URL kwamba wewe ni kujaribu kupata, katika kesi hiyo, www.apple.com. Na thamani uwanja ni tu kawaida jina, thamani. Na inaweza kuwa aina yoyote ya macho ya barua au namba au chochote. Hivyo ombi kawaida, hivyo nini kompyuta yako kweli inapeleka kwa kompyuta kwamba anasema, hey, unajua nini mimi haja hii kuonyeshwa, hiyo ni aina ya ombi kwamba kwa kweli kupokea. Mfano majibu ya kile server atatuma nyuma yenu itakuwa pretty much kitu kimoja, ila kwa hali ya kificho juu. Hivyo 200, 2 0 0 daima hali kificho kwa sawa. Kama, sawa, ombi hili safari kwa kupitia. Ungekuwa na uwezo wa kupata kila kitu kwa usahihi. Maisha ni mazuri. Maisha ni nzuri. Kila kitu ni nzuri kabisa. Na hivyo hii anaelezea tu browser yako na kompyuta yako, hey, mambo yote ya wema. I got habari zote nahitaji. Baridi. Lakini tatizo ni wakati mwingine matatizo kuja wakati have-- mwisho nadhani Mimi kuongelea kuhusu marudio. Una majibu chini nzuri. Hivyo kwa mfano, 404 ni Ukurasa Haukupatikana. Wewe wakati mwingine wanapata Haramu. Una mbalimbali mengine codes hali kwamba mimi nina uhakika umefanya wote kuonekana wakati uko kujaribu kufanya utafiti kwenye mtandao. Na kisakuzi chako anatoa , hapana, hawawezi kupata. Na wewe ni kama, vizuri, crap. Hivyo tu pretty much, kuna baadhi codes hali pretty kawaida. Labda familiarize mwenyewe na ambayo ndio wale ni. Moja funniest kwamba Nadhani nimekuwa milele kusikia of-- kama kutokea kwa kuangalia juu wote online, kwa sababu fulani kuna kweli kweli hali ya kificho aitwaye 418 mimi nina buli. Mimi googled ambapo asili ya hii mara kutoka. Na inaonekana moja Aprili wajinga ' Miongo siku kadhaa iliyopita, mtu walidhani itakuwa hilarious kujenga mpya hadhi kificho aitwaye 418 Mimi nina buli. Kihalali, jina ya hii kificho inaitwa mimi nina buli. Mimi kusahau kile ukurasa una kwenda kwa kweli kufanya onyesho hilo. Lakini inaonekana, unaweza kweli kupata hadhi kanuni za mimi nina buli kwa namna fulani kupitia kufanya kitu. Hivyo kuna mamia na mamia ya codes hali. Baadhi yao kufanya zaidi maana kuliko wengine. Lakini pretty much tu familiarize mwenyewe na ndio ya kawaida. Aliomba chombo mwili ni short na magumu, inaonekana. Hivyo wakati mwingine kuna zaidi Makosa ya kutisha kuliko mimi nina buli. Lakini hii ni moja kwamba mimi nadhani aina ya matumaini ya kugonga. Lakini sidhani kama wewe. Kila mtu mwema juu ya hadhi tu codes, maombi, taratibu, maamuzi Maelezo uhakika ni kutolewa ipasavyo? Hivyo sasa tunakwenda mpito ndani ya ya sehemu ya kujifurahisha ya sehemu leo, ambapo sisi kuzungumza kidogo kuhusu HTML. HTML, yote ni HyperText Ghafi lugha. Ni tu lugha kiwango cha wewe kutumia ili kujenga mtandao wote kurasa kwenye mtandao. Hivyo ukurasa wowote mtandao, nini favorite mtandao ukurasa wako? Nini favorite mtandao ukurasa wako? Watazamaji: [inaudible]. ANDI PENG: Sorry? Watazamaji: Tumblr. ANDI PENG: Tumblr. Hivyo Tumblr imeandikwa katika HTML. Na hivyo tutaweza kweli kwenda kwa njia na kucheza karibu na baadhi ya mambo haya baadae. Pretty much kila kitu wanahitaji kujifunza, kujua, kuandika HTML unaweza pengine tu Google kwenye mtandao. HTML, siyo mpango kama C ambapo unaweza kujenga vigezo na kufanya mambo ya baridi na hayo. Ni zaidi ya tu, loo, hii ni jinsi gani mimi wanataka mambo ya kuonekana kwenye tovuti yangu. Na mimi nina kwenda tu kuiweka katika. Na itakuja style yake. Hivyo HTML, kwa maana, ni tu kama formatting au template lugha. Ni rahisi sana. Ni rahisi sana kujifunza, rahisi sana kuandika katika kuliko programu yako ya kawaida lugha, ni rahisi sana, user sana kupatikana na kirafiki. Hivyo sisi ni kweli kwenda kucheza kote, kuandika kurasa yetu wenyewe leo. Lakini kabla ya kuanza, mimi nataka tu kwenda juu baadhi ya mazoea kifupi bora. Kwa sababu HTML vile ni rahisi lugha na kwa sababu hata kama wewe kufanya mambo kadhaa mabaya, wakati mwingine inaweza taarifa, tunataka kuhakikisha kwamba tuko kweli waliandamana desturi zetu bora kuhakikisha kwamba mambo ambayo inaweza kuwa wakizunguka lakini si mara zote kwenda kwenda kulia kuhakikisha kwamba wao ni kupunguzwa. Hivyo pretty much, kuhakikisha kufunga yako vitambulisho yako yote wakati wewe ni kuandika katika HTML. Kama wewe ni kufungua mwili, kuhakikisha uko kufunga ni pamoja na mwili mahali fulani. Unataka kuhakikisha kwamba wako mtandao ukurasa linatambulisha kwa kutumia kile kinachoitwa W3 Validator. Unaweza tu Google kwamba online, na kuna kiungo yake. Na kisha unataka HTML tofauti, ambayo ni lugha yako ghafi kutoka style yako, ambayo ni lugha CSS kwamba Daudi imeonesha kwamba tuko pia kwenda kucheza kidogo na hotuba. Baridi. Hivyo wakati wowote unataka kukimbia HTML juu ya appliance CS50, tunakwenda kukimbia mpango ujulikanao apache, ambao wote ni tu kujengwa katika mtandao wa kompyuta kwamba kila mtu katika CS50 wanapata. Sisi kuiita apache50 kwa sababu sisi tu kama kuwaita kila kitu 50 katika CS50. Hivyo njia kwamba kuanza CS50 mtandao server ni kwa kuandika juu ya amri yako mstari apache50 kuanza nukta. Na kama unataka mwisho ni wakati wowote muda, huna apache50 mwisho hakuna nukta. Na wewe tu hit Enter. Na ni lazima viongozi juu hapa hivi karibuni. Yup. Hivyo mimi nina kwenda tu kwa haraka kwenda juu mfano wa kweli kwa kifupi mtandao ukurasa. Na sisi ni kwenda kutumia kama 10, dakika 15 kucheza karibu kuandika wetu kurasa za mtandao mwenyewe. SAWA. Hivyo hapa katika IDE-- unaweza kuona kwamba kila mtu? Si, kwa kweli. Hapa, mimi itabidi kuvuta. Nimekuwa tu got kigezo hiki kifupi hapa bila kitu kweli ndani yake. Sisi ni kwenda tu kwa haraka kuandika Mpango HTML ambayo sisi tu kusema hello dunia. Jambo hivyo kama hicho katika C, sasa tuko tu kwenda kufanya hivyo katika HTML. Je, mtu yeyote wanataka kweli tu kujaribu kunipa Jambo la kwanza ingekuwa kuweka katika HTML hati? Naam. Watazamaji: mabano, [inaudible]. ANDI PENG: Yep. Hivyo kitu ambacho ni ya kipekee sana kwa HTML kwamba sisi kawaida jadi hawana kukutana katika amri mengine lugha ya programu line cha ni kwamba sisi kweli kwa kutaja aina ya faili kwamba hii ni kwenda kuwa juu ya kanuni zetu. Hivyo katika instance-- hii nadhani hiyo ni amri sahihi, sawa? Yup. Saa ya juu, wewe tu unataka ni pamoja na bang DOCTYPE html katika mabano tu kuwaambia kompyuta yako, hey, kuangalia nje. Na HTML hati anakuja. Na kisha jinsi gani tunataka kuanza mbali faili zetu? Kama sisi tu wanataka kusema hello, na ukurasa wa mtandao kwamba anasema hello dunia, jinsi gani sisi kwenda kuhusu kujenga hili? Kwa kweli, hebu kurejea kwa Google. Na tunaweza kweli kufanya hivyo. Yup. Kuna sisi kwenda. Hivyo HTML. Kama unaweza kuona, browser yangu ni kweli moja kwa moja styling hii kwa ajili yangu. Kitu kimoja kama katika C, wakati kujenga wazi curly brace, kisakuzi chako moja kwa moja Anaongeza katika karibu curly brace. Kwa bahati nzuri, IDE yetu anapenda kufanya hivyo kwa ajili yetu pia. Hivyo sasa tunaweza aina ya aina mwanzo wa tag, na itakuja siku zote kutuambia kwa kumbuka aina mwishoni mwa tag. Nadhani hii inahitaji mtaji. Na kisha tunataka kuongeza, siku zote, kichwa ambayo ni cheo. Sisi tu wanataka labda kuwaita hodi huu, na kisha mwili. Na kuna kwenda. Kwamba ni kweli HTML yetu hati. Hivyo njia kwamba hati yoyote HTML daima haswa in-- kitu kimoja kwa int kuu utupu. Siku zote unataka kuwa HTML wazi na karibu tag kwa juu na chini ya kanuni yako. Unataka kuwa na kichwa ndani ya ambayo ina jina, tu chochote ni kwenda kuonyesha tab ya mtandao wako ukurasa, na kisha mwili ndani ya ambayo kwa kweli kuonyesha maudhui ya chochote unataka kufanya. Hivyo kama alitaka kweli kuendesha hivyo, mimi nina kwenda kuvuta nyuma nje. Unaweza kweli kuanza apache50 kuanza nukta. Baridi. Na hivyo kama unaweza kuona, sasa kiungo huu popped up. Inasema tovuti yako ni sasa zinapatikana katika baadhi link hapo chini. Basi wote IDE yetu ina done-- si IDE, sorry-- yeah, IDE yetu amefanya ni kujenga mtandao kiungo juu ambayo yote ya kurasa za mtandao wetu kulipata kwenye kompyuta. Hivyo hebu tuangalie hapa. Hebu click kwenye hii, kwenda hello.html. Na unaona rahisi sana ukurasa wa mtandao kwa hujambo dunia. SAWA. Sisi ni kweli kwenda tu na everyone-- yeah, mambo? Watazamaji: Nina swali la msingi. ANDI PENG: Yup. Watazamaji: Je, wewe kuokoa file yako kama HTML? ANDI PENG: Naam. Hivyo kama ningekuwa kuunda faili mpya, kama mimi kufanya New Picha, Untittle, ikiwa ninazifanya, section.html, boom, hayo ni yote mimi kufanya. Watazamaji: [inaudible]? ANDI PENG: Hapana Watazamaji: [inaudible]. ANDI PENG: Hapana Watazamaji: [inaudible]. ANDI PENG: Naam. Pretty sana, ugani juu ya faili kwamba ni ndani ya IDE yako, kwamba anaelezea kompyuta, kwamba anaelezea browser, hey, kuangalia nje. Hii ni kwenda kuwa kificho Imeandikwa katika lugha hii. Hivyo kwa mfano, katika Microsoft Neno, je nyaraka zote neno mwisho na, ugani nini? doc docx au, sawa? Wote kwamba hana ni bayana kwa mfumo wa uendeshaji wako, hey, nimepata Neno hati kuja juu. Kufungua na Neno. Same kitu na PDFs. Ni anajua, loo, nahitaji kufungua faili hili na Adobe Reader au Adobe Acrobat. Na hivyo upanuzi kazi njia ile ile kama katika kompyuta yako. Kama wewe taja ukurasa kanuni yako jina lake litajwe HTML, basi anajua, loo, nimepata HTML. Mimi nina kwenda kutibu kama html. Hivyo ni super smart kwa maana kwamba. Hivyo kila mtu, hebu kuchukua kama dakika 10 na tu kuunda tovuti yetu wenyewe. Hebu kuongeza katika mambo nzuri. Kujisikia huru kusema chochote unataka. Mimi nataka tu kuhakikisha kwamba watumishi wa kila mtu ni mbio usahihi kabla ya sisi huru wewe katika pset. Kwa sababu kama seva yako si kukimbia kwa pset, ambayo itakuwa kweli, kweli mbaya. Mimi tu kwenda kwa kuelea kuzunguka na kuona nini kila mtu kazi. Jinsi ni yake kwenda? Watazamaji: Mimi tu akageuka kwenye kompyuta yangu. ANDI PENG: Hiyo ni sawa. Watazamaji: [inaudible]. ANDI PENG: Tu IDE yako. Naam. Watazamaji: [inaudible]. ANDI PENG: Ni sawa. Watazamaji: [inaudible]. ANDI PENG: Kabisa faini. Ni kila mtu kupata mtandao wao server sawa? Ni apache50 mbio OK? Nadhani katika baadhi ya sehemu nyingine, sisi alikuwa na masuala na watu si kuwa na uwezo wa kupata server. Naam. Hivyo kukimbia tu apache50 nafasi ya kuanza kipindi nafasi. Watazamaji: [inaudible]. ANDI PENG: Yup. Nzuri? Watazamaji: [inaudible]. ANDI PENG: Oh, Sawa. Hivyo wewe ni zinatakiwa kuwa na nafasi. Hivyo apache50-- Watazamaji: mimi. ANDI PENG: nafasi --start. Watazamaji: Oh, nafasi nukta. ANDI PENG: Yup, nafasi nukta. Kuna kwenda. Hivyo basi kama una HTML ukurasa kuundwa, basi unaweza tu kwenda moja kwa moja kwa kiungo kwamba unasema. Na unapaswa kuwa na uwezo wa kupata huduma hiyo. Kila mtu na uwezo wa kupata kurasa zao mtandao OK? Watazamaji: [inaudible]. ANDI PENG: Oh, hiyo ni sawa. Watazamaji: [inaudible]. ANDI PENG: Naam. Nadhani unaweza kweli kufungua ndani kisakuzi chako, browser na IDE yako si tu browser. Yeah, nadhani kama wewe nakala na kuweka. Watazamaji: Na kisha jinsi gani sisi kugeuka kuwa mbali? [Inaudible] ANDI PENG: Yeah, unaweza kufanya apache50 kuacha na hakuna kipindi hicho. Yup. Watazamaji: [inaudible]. ANDI PENG: Na hakuna kipindi hicho. Naam. Kuna sisi kwenda. Yup. Sisi ni kujenga kurasa za mtandao wetu wenyewe. Watazamaji: Oh, baridi. ANDI PENG: Naam. Watazamaji: Nina swali. Hivyo apache 50-- ANDI PENG: 50, yeah. Watazamaji: [inaudible]. ANDI PENG: nini? Hiyo ni ajabu. Angalia, kwamba ilikuwa ni aina ya suala kwamba kilichojitokeza kabla. SAWA. Kuniona baada ya kifungu. Kwa sababu sisi ni kuwa baadhi masuala na kompyuta. Na unataka kufanya kuhakikisha kwamba kompyuta yako ni mbio kabla ya kuanza pset. Kwa sababu wewe ni kwenda haja yake. Naam. Je, kuna mtu mwingine kwamba haijawahi uwezo wa kupata server zao kuanza? Kwa wale ambao wanataka kuongeza style ziada kwa mtandao kurasa yako, sisi kweli wanaweza kufanya nini Daudi alifanya katika hotuba pia, ambayo ni kujenga style ziada karatasi, ambayo ni nukta CSS, Kuachia Sinema Sheet na kweli tu kuongeza kuwa katika. Hivyo kwa mfano, nimekuwa tu kuundwa pretty much karibu exact moja Daudi alifanya katika hotuba. Unaweza pretty much tu kufanya mwili. Una kile kinachojulikana vitambulisho ambao unaweza kuomba kwa IDE sehemu chochote unataka ndani ya yako halisi ya HTML ukurasa. Hivyo mwili wa ukurasa, wewe anaweza kufanya maandishi kituo cha align. Na kisha mimi itabidi ubunifu tag aitwaye juu ndani ya ambao nataka mambo haya kwa kutokea, kuwapa kubwa pixel ukubwa kwa herufi. Nataka font uzito kwa kuwa na ujasiri. Na mimi nataka rangi ya kuwa bluu, tu kiholela maadili ambayo niliamua kuchagua. Siwezi kujenga tag mwingine aitwaye katikati. Ukubwa wa herufi, kufanya hivyo kidogo kidogo. Na kisha mimi wanaweza kujenga tag mwingine aitwaye chini ambapo nataka ukubwa wa herufi kuwa hata kidogo bado. Na hivyo pretty much huu ni mfano tu ya chanzo kanuni au chanzo karatasi style kwamba ni rahisi sana tu Google. Kama umesema, loo, nataka herufi yangu kuwa italicized na kijani, pengine unaweza Google, na kisha itakuambia vitambulisho sahihi au Vitambulisho vya kujenga. Na hivyo kwa njia hiyo wewe ungekuwa kweli aina ya kuwa hii katika HTML hati au kuitumia ni wote una kufanya hapa ni karibu na kichwa kuongeza zilizounganishwa na karatasi style. Hivyo unaweza tu kuhusisha sawa href jina lolote la karatasi yako style ni. Na kisha uhusiano ni karatasi style. Hivyo ndani ya hati yoyote HTML, kwa muda mrefu kama wewe ni pamoja na hii nukta CSS karatasi, unapaswa kuwa na uwezo wa kupata na kuwa na mali pale. Hivyo kwa mfano, hapa nimekuwa tu kujenga mfano mwingine mtandao ukurasa. Hii ni kuwakaribisha kwa CS50 sehemu Jumanne 2:00-03:30 na mimi. Na kisha nimekuwa aliongeza picha nzuri kwamba sisi uwezekano inapaswa kuwa na uwezo wa kuona. Hivyo kama wewe kuangalia hapa, ukienda upande wa style.html, sisi aliumba ukurasa wa mtandao na kittens. Kwa sababu kitten ni kutisha. Hivyo kuongeza picha ni IMG tu SRC kiungo. Pretty sana, kama kuna aina yoyote ya kipengele unataka kuongeza yako website-- hivyo hebu sema, unataka kuongeza orodha au bar kutafuta au kama image-- tu Google jinsi ya kufanya hivyo. Na wewe tu plop katika muundo huo. Na unaweza tu pretty mengi tu kuongeza kuwa katika. Ni kweli, kweli ni rahisi. Sisi ni kujenga yetu wenyewe kurasa za mtandao kwa sasa. Kama unataka to-- Watazamaji: [inaudible] ANDI PENG: Sorry? Watazamaji: [inaudible]. ANDI PENG: Oh, div ni mgawanyiko kuniambia kuwa, loo, nina sehemu fulani aitwaye katikati katika ambayo mimi nina kutumia CSS yangu tag, na kisha mgawanyiko yangu nyingine pamoja chini. Hayo ni yote ni kuwaambia ninyi. Kwa sababu ni nzuri na kuweka mambo nadhifu ili, hivyo mpango anajua jinsi gani hasa kukimbia. Na nadhani unaweza nakala kuweka hii ndani ya browser yangu halisi pia. Ni lazima faini. Naam. Yay. Hivyo kama kila mtu anataka tu kujaribu kujenga mtandao, tutaweza kuchukua dakika mbili tatu. Nataka tu kuhakikisha watumishi wa kila mtu ni mbio na kila mtu ana wazo la jinsi ya kufanya hivyo. Kama wewe guys wanataka kuchukua nje kompyuta yako. Bado si kazi? Watazamaji: Mimi tu [inaudible]. ANDI PENG: Labda kujaribu kuboresha 50 pia. Naam. Watazamaji: [inaudible]. ANDI PENG: Naam. Hivyo njia kwamba kuanza mwezi mtandao wa kompyuta juu ya IDE ni kufanya apache50 nafasi kuanza nafasi nukta. Mimi nilitaka kuhakikisha watumishi wa kila mtu ni mbio sawa. Watazamaji: Hapa, juu ya wastaafu? ANDI PENG: Naam. Watazamaji: [inaudible]. ANDI PENG: Apache. Kweli, nadhani uko mbio kitu tayari. Yeah, wewe ni kweli mbio server mbalimbali. Yeah, wewe ni vizuri. Muda mrefu kama hiyo kazi, uko sawa. Watazamaji: Sawa. ANDI PENG: Kuna wawili njia za kuendesha servrar. Hivyo muda mrefu kama moja ya njia ni kazi, ni wote wa kulia. Tutaweza kuchukua dakika mwingine tu aina ya kumaliza up kugusa kumaliza wa chochote mtandao ukurasa nyie alitaka kufanya. Ni kila mtu kufanya kazi kwa njia? Watumishi wa kila mtu ni mbio badala ya yako? Tutaweza kufikiri kuwa nje. Na HTML ya haki rahisi. Hivyo nadhani tuko kila tendo jema. Naam. Nitarudi. Watazamaji: [inaudible]. ANDI PENG: Sawa. Watazamaji: Hivyo ni tu kuanza kupakia juu. ANDI PENG: Hakuna wasiwasi. Hivyo HTML, kuna chanzo kificho kwamba Itakuwa online baada ya sehemu. Pia, Daudi ana nzima rundo online kama vile. Tu aina ya mtazamo juu yake kwa kuona jinsi kurasa HTML yameandikwa. Ni haki rahisi. Kitu chochote sijui, wewe pretty mengi tu Google na wewe ni vizuri. Mimi nataka tu kuhakikisha kwamba seva yako ni mbio. Watazamaji: Je, ni kufanya hivyo mara nyingi? ANDI PENG: Ni kamwe kilichotokea kwangu. Sikujua ingeweza hata hibernate. Watazamaji: [inaudible]. ANDI PENG: Nadhani everyone-- yangu hajawahi hibernated kabla. Na mimi sijui ni kwa nini. Ni weird. Watazamaji: [inaudible]. ANDI PENG: Je, wako hibernating? Watazamaji: [inaudible]. ANDI PENG: Naam. Watazamaji: Ni sawa. Hivyo mara moja ni wazi. ANDI PENG: Sawa. Tutaweza kukabiliana na baadhi server masuala baada ya sehemu. Unapaswa kuwa safi. Pamoja na kwamba, wewe unataka kuhakikisha wewe kupata yao kutatuliwa kabla ya kuondoka. Kwa sababu kama server yako si kukimbia, basi uko si kwenda kuwa na uwezo wa kufanya pset, kama sehemu yoyote ya pset. Kwa hiyo unataka kuhakikisha kwamba hiyo ni kazi. Baridi. Sawa. Kusema kwaheri kittens. Mimi alitumia muda mrefu kuangalia kwa kwamba kitten picha ya kuweka kwenye. Hivyo, anyways. Watazamaji: [inaudible]. ANDI PENG: Sorry? Watazamaji: [inaudible]. ANDI PENG: Nadhani ni kwenye tovuti. Kama spec? Watazamaji: [inaudible]. Nadhani spec ni online katika wiki saba. Nadhani ni kuitwa pset6, hata ingawa sisi ni juu ya wiki saba, ambayo ni kidogo kompyuta. Watazamaji: Lakini mimi maana kama wewe wanataka kuangalia kama wewe at-- wanataka kuvuta up toleo yetu ya mtandao kutoka Kuzuia zetu? Hivyo kama server.c ni pset, sawa? Kama unataka kuangalia hii, kama jinsi ni hundi nje? ANDI PENG: Oh, hivyo kweli pset, kila tuko kufanya hapa ni implementing-- hapa, Nitakwenda juu kwa ufupi hii. Hivyo kwa kila mtu kwamba tu wamezipata kwa sehemu, nyie ni katika bahati. Kuna nyenzo kidogo sana kwa kweli kufunika leo. Mimi tu kwenda kutumia ijayo Muda wa dakika 20 kwenda juu pset msaada. Kwa sababu kuna baadhi ya manufaa kazi ambayo itasaidia maisha yako. Na hopefully, tutaweza kuwa nje ya hapa katika kama muda wa dakika 20. SAWA. Hivyo pset7 ni makosa. Hata kama sisi ni juu ya wiki saba, ni kweli pset6. Mimi itabidi mabadiliko hayo. Wote sisi ni kufanya katika pset6 ni kujenga mtandao wa kompyuta. Kwamba inaonekana super inatisha. Na hasa kwa wale ambao tayari inaonekana katika usambazaji kificho, kuna mengi ya kificho, mengi ya maadili. Lakini ni kabisa sawa. Kwa sababu nitty gritty sehemu ya kweli kujenga server ni kufanyika kwa sisi. Wote wewe ni kweli aliuliza kufanya katika pset hii ni tu kufanya baadhi ya matumizi mabaya kamba katika faili I / O. Ni kweli kama haki rahisi. Hivyo wakati wewe kwanza download that-- ambao hapa ina kweli tayari kupakuliwa pset na kuchukuliwa kuangalia? Sawa. Naam. Kuna kama mistari 500 ya kanuni kuwa wewe ni kwenda kuwa kama, kile kinachoendelea? Na hiyo ndiyo kabisa faini. Kuhakikisha kuangalia kutembea-throughs. Kwa sababu Daudi and-- Sijui. Sidhani kama ni Zamyla, hii moja. Lakini nadhani baadhi ya wengine kutembea-throughs ni haki kusaidia katika suala la tu kuruhusu unajua kile kinachoendelea ndani ya kanuni yako. Na ni kabisa sawa. Kwa sababu kazi nne kwamba wewe ni Aliuliza kutekeleza na kwa kweli sifuri kufanya na kompyuta halisi. Wote una kufanya ni tu parsing masharti tofauti, kutafuta njia masharti, kufanya mambo uhakika ni kufanya nini re walidhani kuwa kufanya. Hivyo na athari hiyo, kuna baadhi ya majukumu sana, muhimu sana, hasa kwa kamba kudanganywa, kwamba sisi lazima wote kwenda juu kwamba mimi nilifikiri d kuwa muhimu sana kwa nyie kujifunza kabla ya kujaribu pset. Na wao ni wote zilizomo ndani ya maktaba yako string.h. Kuna pengine muhimu zaidi kazi mimi si pamoja hapa, kwa sababu mimi ama kamwe kuzitumia au labda mimi tu hakujua zipo. Kujisikia huru na mtazamo kupitia student.h. Kwa sababu kuna kwenda kuwa mengi ya kazi ambayo ni muhimu sana. Hivyo sita kwamba mimi kutumia zaidi katika wangu pset wakati mimi alikuwa akifanya hivyo wiki hii iliyopita walikuwa strtok, strchr, strrcher, strstr, strcasecmp, na strcpy. Na hivyo mwisho mbili inaweza kuonekana pretty ukoo kwa wengi wenu. Str kesi kulinganisha, yote ni gani ni kulinganisha masharti kuangalia yao kwa usawa, ikiwa ni pamoja na kesi. Na strcpy tu nakala kamba moja katika buffer. Na hivyo wale wawili asije akaonekana sana ukoo kwa nyie katika hatua hii. Kwa sababu tumekuwa kutumika yao mengi, hasa kwa psets mwisho. Lakini nne za kwanza labda hawajaona hadi sasa. Lakini mimi nina kwenda kutembea tu kwa njia yao. Kwa sababu wao ni kwenda kufanya maisha yako kweli, kweli rahisi for-- si rahisi, lakini rahisi sana kwa pset hii ya ujao. SAWA. Hivyo * Char strtok, hii ni kazi ufafanuzi kwa kazi hii zilizomo ndani ya kamba, maktaba h. Kama unapewa mchango wa * Char kamba, ambayo ni kamba tu, au char mara kwa mara * deliminator, delim kwa muda mfupi, zote ni kufanya ni kuvunja kubwa kamba katika mfululizo wa kile tunachokiita ishara kutengwa kwa thamani fulani. Hivyo kwa mantiki, kama ningekuwa kutoa wewe section.7.php, hii ni kamba. Hivyo kwamba itakuwa kama ningekuwa kupita katika hili kama str yangu, char yangu * str, kama deliminator yangu ilikuwa nukta, hii yote ingekuwa kufanya ni kutafuta kupitia kamba. Na mara ya kwanza anaona dot, ingekuwa tu kurudi pointer kwa ishara mwisho kupatikana katika kamba kabla huu. Hivyo aliamua kwenda hapa hapa. Na ingekuwa tu nipe 7.php. Na kama ningekuwa kuwaita kazi mara moja zaidi, ingekuwa nipe tu php. Na hivyo wote kazi hii ni kufanya ni kuvunja chini kamba kubwa ndani ya masharti ndogo kutegemea juu ya nini wewe kutafuta. Na hivyo kwa mfano, katika kuangalia juu yako kazi kama unataka kuangalia nini baadhi ya wahusika kuja juu au kama nukta kutokea au upanuzi kutokea, kazi hii itakuwa ni haki muhimu. Naam. Hakuna wasiwasi. Hii itakuwa zote be-- yeah, mambo? Watazamaji: Hivyo katika mstari wa kwanza, kama tungetumia mfano huu, gani sisi kuingiza katika hilo? ANDI PENG: Naam. Wewe ingekuwa tu kuwaita strtok kamba comma delim. Na kamba ni sawa na section.7.php. Na kisha uko delim inaweza kuwa sawa na tu dot. Watazamaji: Sawa. ANDI PENG: Naam. Tu kama hiyo. Kazi hizi zote ni haki sawa wakati sisi kwenda kwa njia yao. Wao tu kufanya mambo tofauti kidogo. Lakini wao ni wote kwenda kufanya maisha yako rahisi sana. Kazi ya pili, moja hii ya kama super, super, super muhimu, ni the-- kushikilia juu. Oops. Misako Strchr kwa kwanza occurrence-- kweli, yeah. Strchr ni kazi ambayo Mimi dhahiri tu akaenda juu. Hivyo kupuuza kile alisema kwa kazi ya kwanza. Ni kweli kuitwa strchr. Hivyo gani kilichotokea hapa ni kama wewe walipewa kamba katika Char c, ingekuwa tu kutoa wewe chochote kwamba alikuwa. Naam. Hivyo kufikiria kama str, ambayo ni kamba, na chr kama Char. Hivyo wote ni kujaribu kufanya ni kutafuta kwa ambapo char ni ndani ya kamba. Na hivyo utafutaji kwa ajili ya kwanza tukio la tabia c katika kamba str. Watazamaji: [inaudible]. ANDI PENG: Yup. Na kisha kama hakuwa na kupata hivyo, ni kwenda na kurudi null. Hivyo kitu ambacho kinaendelea kuwa sana muhimu kwa nyie katika kufanya pset kama, kusema, walikuwa wanatafuta ugani kama docx kwa Neno hati au Pdf kwa hati PDF, unaweza aina ya kuitumia kuangalia kwa chochote ni baadaye kila wakati kuona nukta, sawa? Na hivyo pretty much, kama wewe kukimbia ili kwa njia ya kazi, kama kuirudisha NULL, basi, unajua kwamba hakuwa na kupata hiyo nukta, ambayo ina maana hii wazi si tawi la faili sahihi. Au kama kuirudisha kitu, basi, unajua ni kwenda na kurudi chochote ya kweli baada ya ugani. Hivyo wale ambao walikuwa na kuanza kutafuta njia chaguo- na Hazrat, kazi hii ya kwenda kuwa super manufaa. Hivyo sisi ni kweli kwenda kuonyesha kwa kutumia hii. Mbona nyie kujaribu kuandika kazi bool hukumu Char * s kwamba tu anarudi kweli kama s ni Hukumu na uongo vinginevyo. Hivyo ladha, wewe ni kwenda kwa pengine kutumia strchr. Au wewe tu kutafuta katika kamba kwa tabia fulani. Na hivyo katika hukumu, inatofautisha hukumu na wasiokuwa hukumu, nini tabia maalum? Watazamaji: nafasi. ANDI PENG: nafasi, haki? Na hivyo je, sisi pengine ni kwenda wanataka kufanya ndani ya kazi hii hapa? Watazamaji: [inaudible]. ANDI PENG: Sisi ni kwenda kutaka strchr kamba kwa muonekano wa nafasi. Kwa sababu kama kuirudisha kitu, basi Tunajua kwamba hii ni lazima hukumu. Hiyo ina maana kwamba ni lazima kuwa na nafasi katika kamba hii. Kama hakuna nafasi, basi tunajua kwamba, hey, nadhani ni si kamba. Pengine ni tu neno kweli kwa muda mrefu. Hivyo mimi nitakupa guys wanandoa Dakika kuandika kazi hii. Naam. Watazamaji: Je, kupata kamba hii kutoka kwa mtumiaji? ANDI PENG: Naam. Hivyo hii ni tu kazi. Hivyo kufikiria ndani ya kazi yako kuu wewe tayari have-- twende hapa. SAWA. Hivyo nimekuwa imeandikwa mpango huu ambapo Nina kazi yangu kuu ambapo Nimekuwa tu kuundwa masharti mawili. Wa kwanza ni Hi, jina langu ni Andi-- wazi, hukumu. Moja yangu ya pili ni tu Andi, ni wazi kuwa si hukumu. Na hivyo mimi nina mbio wote wawili wa wale masharti kupitia kazi hii. Nataka nyie kuandika hukumu baridi. Na mimi nina kuhifadhi maadili hayo, na kisha tu uchapishaji yao nje. Hivyo kufikiri kwamba mtumiaji ni kwenda kupita katika kamba. Na kisha wewe ni kwenda kimsingi kufikiri kama ni adhabu au si na kurudi kweli au uongo ipasavyo. Kama nyie nataka kutoa Thumbs up au vichwa juu, kichwa nod, ni mtu yeyote tayari kwa kuanza huu, kwamba d kuwa nzuri. Labda kama 30 sekunde zaidi? Sawa. Hebu angalia kama unaweza kujaribu kuandika kazi hii. Hivyo Pseudo coding-- mimi nina kwenda tu kwa aina ya kutembea kwa njia ya haki hii sasa. Pretty sana, tunajua kazi ambayo tunahitaji kutumia. Tunakwenda kuwaita kazi kwamba juu ya kamba yetu na kutafuta nafasi. Kama kuirudisha kitu, basi ni lazima tunajua kwamba, ni wazi kuwa, hii ni adhabu. Kwa sababu kuna nafasi. Kisha tunakwenda kurudi kweli. Kingine, tunakwenda kurudi uongo. Je, mtu yeyote unataka kutoa mimi mstari wa kwanza wa kanuni kwamba sisi ni kweli kwenda kutumia kuandika hii? Ni kweli gumu mstari wa kanuni vilevile. Naam. Watazamaji: Kama strtok s-- ANDI PENG: Tu strchr. Watazamaji: [INTERPOSING SAUTI] nafasi si sawa kwa null. ANDI PENG: Moto. Sahihi kabisa. Kila mtu kuelewa kwamba mstari wa kwanza? Sisi ni kwenda kuwaita strstr, ambayo ni kazi kwamba utafutaji kamba s kwa char wa nafasi. Na kama anaona jambo hilo, ni kwenda kurudi pointer ambapo kwamba ni. Kama haina kupata hiyo, ni kwenda na kurudi null. Hivyo kama kuirudisha kitu kingine chochote zaidi NULL, basi tunajua ni kupatikana nafasi. Je, hiyo mantiki? Baridi. Sawa. Hivyo, ikiwa tunajua ni kupatikana nafasi, je, tunataka kufanya? Watazamaji: Return kweli. ANDI PENG: Yup. Kurudi kweli. Na kisha, mtu unataka kumaliza up kazi kwa ajili yangu? Naam. Kingine chochote, tu kama hiyo. Na kujaribu kuandaa hii. Yup. Hivyo kama wewe guys unaweza kuona kutoka matokeo, kumbuka Booleans katika C ni daima walionyesha katika binary. 1 ni kweli. 0 ni uongo. Kama tulikuwa na kukimbia hii kazi juu ya kamba moja, ambayo ni Hi, jina langu Andi-- wazi, sentence-- matokeo kuchapishwa kwa 1 ambayo ni ya kweli. Moja ya pili, ambayo ni haki neno, matokeo kuchapishwa 0, ambayo ni ya uongo. Kila mtu wazi aina ya juu ya jinsi kazi hii iliandikwa? Naam. Watazamaji: Je, sisi pia kufanya, badala ya haina sawa hapana, sawa sawa na 0, ili ni sawa na? ANDI PENG: Hapana Kwa sababu strchr ni kazi. Mimi nina kwenda kwa nyuma kwa hili. Basi nini aina ya kurudi ya strchr yetu kufanya kazi? Watazamaji: Oh, Sawa. Au NULL. ANDI PENG: Naam. Ni * Char kwamba anasema mimi kwamba chochote kazi hii ni kwenda na kurudi, ni kwenda kuwa pointer. Aidha pointer ni kwenda kuwa akizungumzia ambapo ni kupatikana, au ni kwenda na kurudi pointer null. Katika hali ama, ni kwenda kurudi pointer kitu. Na hivyo kama ungekuwa na equate hii ni sawa na, sawa, 0, wewe ni kwenda kupata mkusanyiko makosa. Kwa sababu ni kwenda na kurudi pointer. Na wewe ni kwenda kujaribu kwa kulinganisha pointer integer. Na kompyuta siyo kwenda kama hiyo. Yeah, kwa uhakika. Baridi. Kila mtu mwema? Na pili, tunakwenda kwenda zaidi ya kazi kuitwa strstr. Hakuna wasiwasi kama hawa kazi ni utata wewe. Wao ni utata yangu. Kama vile, nyie inaweza kuwa na kuonekana, wote sauti pretty kiasi sawa. Tu wakati wowote wewe ni kuchanganyikiwa, kuvuta up maktaba string.h. Na nyie unaweza aina kwa njia ambayo mtu ambayo. Hivyo strstr, kila kwamba hana ni misako kamba kwa ujumla kamba mengine. Hivyo ambapo strchr tu misako kwa tabia moja, misako strstr kwa kamba nzima. Hivyo nilitaka kuangalia katika, sijui Unajua, Hi, jina langu ni Andi. Na jina rafiki yangu bora ni pia Andi. Kama nilitaka kuangalia katika hii adhabu kwa neno lote la Andi, sindano wangu ingekuwa chochote wewe ni kutafuta. Na haystack yako ni chochote wewe kutafuta hayo katika. Hivyo kama wewe ni kuangalia kwa neno maalum ndani ya hukumu hiyo, neno kwamba ni kwenda kuwa sindano yako. Na kisha hukumu yenyewe ni kwenda kuwa haystack yako. Na hivyo misako tu tukio la kwanza ya kamba sindano katika kamba haystack. Kuirudisha pointer tukio la kwanza. Ila, kumbuka katika kesi hii, ni tukio la kwanza wa kamba nzima kwamba wewe ni kutafuta kwa, si tu tabia. Na hivyo hii ni karibu kitu kimoja kama kazi sisi tu alifanya, tu na kidogo zaidi maalum. Kwa sababu wewe ni kwa ajili ya kutafuta zaidi ya tabia moja tu. Na matumizi ni exact kama moja kwamba sisi tu alivyofanya. Kila mtu sawa na hili? SAWA. Mwisho moja tunakwenda kwenda zaidi ni strrchr, ambayo si kuchanganyikiwa na strstr au kwa strchr. strrchr ina r ziada katika huko. Kuwa makini wakati wewe ni kuandika. Unaweza kupata mwenyewe ikiwa ni pamoja na r ziada au si ikiwa ni pamoja na r, na kisha kazi yako ni got si kwenda kufanya kazi. Na wewe ni kwenda kuwa na kuchanganyikiwa. Kuwa makini kwamba wewe ni herufi kazi hizi zote haki. Hivyo strrchr ni halisi kitu kimoja kama strchr isipokuwa utafutaji kwa ajili ya kwanza si tukio la tabia maalum, bali tukio la mwisho. Na hivyo, kwa maana kwamba, ni karibu exact. Lakini badala ya kusonga mbele katika kamba, wewe ni kwenda kuwa na kuhamia nyuma katika kamba. Halisi kitu kimoja, wewe tu kutafuta ili tofauti. Na hivyo hii inaweza kuwa super, super muhimu kwa chaguo-yako kazi, kwanza kazi juu ya pset yako. Hebu kujifanya kuwa sisi zinahitajika kuandika kazi ya utupu ugani ambayo sisi kupita char mara kwa mara * faili jina, kamba tu, jina la faili, kwamba inachukua katika jina hilo na prints nje upanuzi wa faili hilo. Hivyo kwa mfano, kama ningekuwa kupita katika kamba ya pset7.zip, ni kwenda magazeti nje tu ugani, ambayo ni zip. Na hii ingekuwa kazi kwa aina yoyote ya ugani, docx kwa Neno au Pdf kwa PDF faili au .html kwa HTML faili. Pretty sana, kuandika kazi ambayo anaweza kufanya hivyo. Mimi nina kweli kwenda kwa kubadili juu ya IDE. Si load-- kuna sisi kwenda. Basi wote nimepata kufanyika hapa ni umba * Char, kamba ya kwanza, aitwaye pset7.zip. Mimi nina kwenda kuvuta. Nimekuwa kuundwa kamba pili aitwaye finalpaper.docx. Na kuandika mimi kazi ambayo wakati aitwaye ni kwenda tu magazeti nje upanuzi jina la faili. Labda kuchukua dakika kadhaa kufikiri kuhusu jinsi wewe ni kwenda kufanya hivyo. Kidogo changamoto zaidi kuliko mtu wa mwisho, lakini matumizi ni karibu sawa. Naam. Hivyo kuandika kazi kuitwa ugani kwamba, kama mimi kukupa jina la faili, kama ningekuwa kukupa pset7.zip-- mimi nataka wewe magazeti nje tu zip. Kama mimi kutoa wewe kama finalpaper.docx, tu magazeti nje docx, tu ni upanuzi wa faili yoyote. Hii kweli tu inachukua mistari miwili ya kificho. Hivyo kujaribu kuona kama wewe Unaweza labda kufanya hivyo katika jambo hilo. Kweli, tu inachukua moja mstari wa kanuni. Lakini mistari miwili ni kiwango pengine zaidi. Nini kazi ni sisi pengine atataka wito? Watazamaji: strrchr. ANDI PENG: strrchr, haki. Kwa sababu sisi ni kuangalia kutoka kushoto wa kulia. Mimi hakutoa nyie mfano kama hii, lakini kama mimi alitoa mfano kama www.apple.com na mimi nilitaka Com, ni d kuwa mfano wa ambapo unataka simu mfano wa mwisho ya kipindi na sio wa kwanza, sawa? Kama ungekuwa wito strchr, ni ingekuwa wameweza kupeni apple.com. Kama wewe kuitwa strrchr, ni angekupa .com. Na hivyo kuwa makini juu ya ambayo ways-- katika mfano wangu, labda unaweza kuwa na tu imeandikwa kwa kutumia strchr, tangu kuna moja tu nukta. Lakini katika matukio mengine, ambayo yanaweza kuwa si kesi. Na hivyo daima kujaribu kubuni kanuni yako vizuri, hivyo that-- yeah? Watazamaji: Hivyo katika mfano wewe tu alisema, wakati huna strrchr ingekuwa kukupa .com au kuja tu? ANDI PENG: Ingekuwa kukupa .com. Watazamaji: Sawa. ANDI PENG: Naam. Inaelekeza katika ambako kupatikana. Naam. Sekunde 30 labda? Naam. Kila mtu mwema au wakati labda kidogo zaidi? Show ya mikono? Show ya vichwa? Baridi. Mtu yeyote wanataka kunipa kwanza mstari wa kanuni kwa mpango huu? Watazamaji: [inaudible]. ANDI PENG: Hivyo kwanza ya yote, hebu labda kuvunja hii chini. Hivyo ni aina ya kurudi strrchr nini? Hebu kwenda nyuma. strrchr, ni nini aina ya kurudi? Watazamaji: Char * ANDI PENG: Ni * Char, sawa? Ambayo ina maana kwamba pengine wewe kwenda kutaka kuunda nyingine * Char kwa aina ya kuhifadhi wakati wowote ni kurudi, sawa? Kwa sababu kama wewe piga kazi strrchr, itakuja kukupa pointer popote iligundua kuwa kipindi cha mwisho, sawa? Lakini wewe ni kwenda kutaka kuhifadhi kwamba mahali fulani, sawa? Na hivyo ni jinsi gani sisi kanuni huu katika mpango wetu? Watazamaji: Unaweza kufanya * Char [inaudible]. ANDI PENG: Yep. Watazamaji: [inaudible]. ANDI PENG: strrchr. Naam. Loo, amekosa r huko. Watazamaji: Picha jina [inaudible]. Ni nini? Loo, Ni s tu. ANDI PENG: Oh, ni s tu. Yup, pole. Ubaya wangu. Mifano hakuwa na mechi. Watazamaji: Na kisha dot. ANDI PENG: Yup. Kuwa makini wakati nyie are-- hapa, napenda kuvuta. Kuna sisi kwenda. Kuwa makini wakati nyie ni kuandika, hasa wakati unafanya tu Char. Ni kweli ni rahisi kwa ajali tu kufanya quotes mbili badala ya moja. Hiyo si kazi. Compiler yako anaenda kulalamika. Na kazi yako ni sio tu kwenda kukimbia. Na hivyo kuwa makini wakati unafanya mambo na chars kwamba ni quotes moja. Na hivyo haina mstari huu wa kificho mantiki kwa kila mtu? Sisi ni kujenga * Char pointer. Kwa sababu strrchr anarudi kitu ya aina pointer. Na hivyo sisi ni kwenda kuwaita strchr juu ya s, ambayo ni kamba, faili jina, kwamba sisi ni kupita katika. Na sisi ni kuangalia kwa mwisho mfano wa kipindi, ambayo ni tu kunukuu moja nukta moja kunukuu. Naam. Watazamaji: Wakati gani sisi kutumia quotes mbili na wakati kufanya sisi kutumia quotes moja? ANDI PENG: Naam. Quotes hivyo mara mbili ni daima kutumika wakati na kamba ya zaidi ya moja tu. Hivyo kama wewe ni kufanya strstr, ambayo ni moja kwamba kutafuta kamba kwa kamba, wewe ingekuwa kupita katika quotes mbili. Lakini wakati wowote ni tu tabia moja, unataka kufanya quotes moja. Ni jambo zuri kukumbuka. Hivyo sasa kwamba tuna yetu pointer, tunafanya nini kwa hayo? Mimi nina kuuliza nyie uchapishaji ni nje, sawa? Hivyo [inaudible], unataka nipe mstari wa kanuni? Watazamaji: printf-- ANDI PENG: Naam. Watazamaji: --you haja mmiliki mahali. ANDI PENG: Yup. Watazamaji: Magazeti mmiliki mahali. Sijui nini mahali mmiliki ni lakini hatua hiyo. SAWA. Hebu ruka kwamba kwa sasa wakati huo. Watazamaji: Na kisha comma-- ANDI PENG: Pointer, sawa? Watazamaji: Pointer, yup. ANDI PENG: Kwa hiyo aina ya swali hila, ina nini na kuyatumia na masharti kwamba tumekuwa aina ya kuongelea tayari. Ni aina gani ya mmiliki mahali gani sisi haja kwa pointer kwa * Char? Watazamaji: [inaudible]. ANDI PENG: Naam. Ni rahisi zaidi kuliko nyie wanadhani ni. Watazamaji: Kamba? ANDI PENG: Ni tu kamba, hasa. Kwa sababu kumbuka masharti si kweli zipo. * Char ni halisi kitu kimoja kama kamba. Na hivyo kweli hii ndiyo ndiyo lazima zimetumika wote pamoja. SAWA. Hebu tuone kama tunaweza kujaribu kuendesha hii. Hebu kufanya kufanya ugani. Baridi. Nyie kuona ni jinsi mimi kupita katika psset7.zip na finalpaper.docx, na ni tu Prints nje zip na docx? Mantiki? OK Hivyo nadhani katika kuangalia yako up kazi katika pset yako uko kwenda kuulizwa kama kamba ina mwisho fulani, una kutoa baadhi ya makosa kificho. Na hivyo hii itakuwa pretty kubwa. Kwa sababu kama unaweza kufikiri nini ugani ni, unaweza kisha kulinganisha kwamba ugani ili kuona kama ni mechi hadi na ugani fulani. Na kisha unaweza kurudi ujumbe wa makosa, haki? Naam. Watazamaji: Hivyo hatuna kuwa na kuongeza 1 au kitu chochote? Pointer watakwenda the-- ANDI PENG: Nope. Watazamaji: --point baada yake. ANDI PENG: Naam. Inaelekeza hasa kwa ambapo tukio alikuwa. Hivyo kwa mfano hapa, tuko kwa ajili ya kutafuta kipindi hicho. Hivyo ni kwenda na kurudi pointer kipindi hicho. Na kisha kwenda magazeti nje kuanzia saa kipindi hicho. Hivyo huna haja ya kuongeza 1. Pamoja na kwamba, ni kabisa faini kwa, kama wewe ni milele uhakika, tu aina ya mtihani ni nje mwenyewe. Kujenga mpango sampuli. Mtihani ni nje mwenyewe na kuona ambapo ni uchapishaji. Hiyo ni pia si njia mbaya kufanya hivyo. Baridi. Na hiyo ndiyo pretty much wote Mimi nilikuwa kwa nyie leo. Sisi alifanya mengi ya pset mambo leo. Hivyo wakati katika shaka, kama Nilisema, daima kuangalia juu maktaba string.h kwa pset hii. Kuna kwenda kuwa mengi ya kazi katika pale kwamba inaweza kuwa na manufaa. Baadhi inaweza kuwa na manufaa. Mimi kwa kweli sijui. Wade kwa njia hiyo, kuna rundo zima la yao. strstr, strchr, strrchr ni super, super manufaa, kama vile strcpys na strcasecmps kwamba tumekuwa tayari kutumika. Ni mengi tu ya messing karibu na masharti, kuamua kama uko sawa, kupata mambo ya nje ya masharti, na kuwa na uwezo wa kufungua files kwa usahihi. Ni mengi ya faili I / O. pset kweli siyo mbaya. Wewe ni kwenda kuchukua ukiangalia hiyo, kushusha ni, na kuona rundo zima la kanuni. Hakuna wasiwasi, kanuni na wewe kweli kuandika si mbaya wakati wote. Kama mtu ana masuala na wao server, kuja kuniona baada ya kifungu. Kuomba msamaha kwa mara nyingine tena kwa si kuleta pipi kwa Halloween. Sijui nini ilikuwa na makosa na mimi. Lakini tutakuwa na mara mbili pipi wakati ujao. Na bahati nzuri katika pset yako wiki hii. Yup.