>> ANDI PENG: Kami ay halos sa lahat ng mga psets.
Sa katunayan, hindi namin sa pamamagitan ng mayorya sa mga pinakamahirap na psets.
Kaya hindi namin talagang lamang pagpunta sa uri ng simoy
sa pamamagitan ng susunod na dalawang linggo.
>> Kami ay pagpunta sa simulan ang pakikipag-usap tungkol sa aming huling proyekto, ang mga kaganapan pagdating up
sa susunod na mga linggo.
At ang buhay ay magiging madali.
Kaya hindi masyadong maraming ngayon.
>> Sana, talagang amihan sa pamamagitan ng mga agenda para sa araw na ito,
at pagkatapos ay sa labas ng dito kasama ang ilang mga oras na matitira.
Gayundin, nais kong humingi ng paumanhin para sa kakulangan ng kendi ngayon.
Hindi ko alam kung bakit.
Ngunit sa linggo nangungunang up Halloween, Gusto ko kalimutan kendi.
>> Kaya ako talagang lamang ng isang malawak na pagkabigo sa iyo sa ngayon.
Dahil tandaan ako literal kendi para sa bawat solong klase, ngunit Halloween.
Subalit sa susunod na linggo, dadalhin ko double ang halaga ng kendi
upang gumawa ng up para sa na, ang lahat ng para sa iyo.
Makikita ito ay mahusay.
>> Kaya ako ay may isang pares ng mga anunsyo tungkol sa ilang mga scheduling.
Mayroon akong ilang mga isyu scheduling.
Pagkatapos kami ay pagpunta sa ilipat sa makipag-usap tungkol sa kung ano ang tinatawag na chmod.
Kami ay pagpunta sa makipag-usap tungkol mabilis na TCP / IP HTTP.
>> At pagkatapos kami ay pagpunta sa code ng aming sariling website gamit ang HTML at CSS.
At pagkatapos ay kukunin ko na talagang umalis siguro tulad ng 20 minuto upang makipag-usap tungkol pset6.
Dahil pset6 ay talagang isang pulutong ng mga bagay-bagay na na namin nakita bago,
ngunit nais ko upang i-refresh ang ilan sa mga konseptong iyon
pati na rin ang magturo sa isang pares ng mga bagong pag-andar.
>> Cool.
Kaya una sa lahat, welcome back mula sa break.
Umaasa ako na kayo pahinga ay kasiya-siya.
Gusto mo gawin mo para sa break?
Madla: Napunta sa New York.
ANDI PENG: Ikaw ay napunta sa New York?
Sa tingin ko half aming paaralan nagpunta sa New York.
Ito ay ang lahat ng karapatan.
Ako na ginugol sa karamihan ng aking pahinga laging nakaupo sa kama Netflixing.
At ito ay isang magandang panahon.
>> Ngunit kami ngayon pabalik, pabalik sa session, bumalik sa ugoy ng mga bagay.
Kami ay may isang pset dahil ito Biyernes sa tanghali.
>> Sa tingin ko na sa iyo na matutunan sa iyong pagsusulit, oo?
Kaya ibang tao na may hindi nagkaroon ng kanilang mga pagsusulit,
mangyaring bumalik at makakuha ng iyong pagsusulit mula sa akin sa dulo ng seksyon.
O subaybayan down ako sa campus.
Kukunin ko ito sa akin sa isang lugar.
>> Pre-proposal aming huling proyekto din.
So, para sa amin na hindi kailanman kinuha klaseng ito ng dati, ang capstone ng CS50
ay napaka culminated sa enggrandeng proyekto na mga mag-aaral ipanukala.
At ang mga pre-proposal, lamang ng isang pangkalahatang ideya
ng kung ano ang maaaring gusto ng isa na gawin para sa kanilang mga proyekto, na ideya ay dahil Lunes,
sa susunod na Lunes sa tanghali.
>> Kaya medyo marami, David tingin ko ay makipag-usap nang higit pa tungkol ito sa panayam
kung siya ay hindi pa.
At mayroong isang solid pahina sa aming website na nagpapaliwanag
lahat ng mga pangangailangan ng mga proyekto.
Ngunit mahalagang, pick anumang paksa na na sa iyo
tinanggal na interesado sa sa kabuuan ng iyong oras dito
sa CS, maging ito ay sa gaming o disenyo o video o anumang bagay.
>> At maaari mong talagang uri ng ngayon ilapat ang ilan sa mga lessons
na aming natutunan dito sa CS50-- hi, welcome-- sa medyo marami ang pagsasagawa
ng isang pangwakas na proyekto ng iyong napili.
Ang lahat ng iyon ay dahil Lunes ay lamang ng isang maikling blurb sa pamamagitan ng email
sa akin, ang isang mabilis na pangungusap, like, hey, Andi,
Ako ay talagang interesado sa pagdidisenyo isang laro na ito ay para sa iOS.
Cool.
Ipaalam lamang sa akin ang iyong mga maikling paunang mga ideya para sa iyong huling proyekto.
At kami ay makipag-usap sa pamamagitan ng kung o hindi iyon ay talagang isang magandang ideya o hindi,
kung ito ay isang magagawa ideya o hindi.
Ngunit lamang ang pre-proposal ay dahil sa susunod na Lunes.
pset6, ang aming kaibig-ibig web-- na ang mali.
Pset7?
pset6?
Ito ay pset6, di ba?
>> pset6, ang aming web server, ay dahil Biyernes sa tanghali sa mga late araw.
Office oras ipagpatuloy normal mula Lunes hanggang Huwebes 8:00-11:00 sa linggong ito.
Sa tingin ko Commons para sa sa susunod na tatlong gabi.
Cool.
Bago namin ay sa materyal, ay kahit sino ay may anumang mga katanungan, jokes, kwento?
Ano ang ginawa mo para sa taglagas break?
>> Madla: Ano gagawin ko?
>> ANDI PENG: Mayroon ito ay edad nakaraan talaga.
Christabel nagpunta sa New York.
Nanatili ako dito at Netflixed.
Madla: Oh, oo ako ay dito.
ANDI PENG: Oh, OK.
Madla: Hindi ko matandaan kung ano ang partikular.
ANDI PENG: Iyon ay OK.
Madla: Netflixing marahil.
ANDI PENG: Netflixing.
Oo, ito ay isang magandang panahon.
SIGE.
Lahat tama.
Ang anumang mga katanungan bago namin tumalon sa materyal?
Gayundin, kami ay pagpunta sa subukan upang mapabilis sa pamamagitan ng seksyon na ngayon,
hindi masyadong maraming upang masakop.
At sana, babalikan ka namin dito ng kaunti maaga.
Paumanhin para sa hindi kendi, din.
Ako ay isang pagkabigo, lalo na sa panahon ng Halloween.
>> Lahat tama.
Cool.
Kaya kami ay pagpunta upang simulan ang pakikipag-usap tungkol isang argument command line na tinatawag chmod.
chmod, ang lahat ng ito ay ay lamang ng isang Unix sistema tawag na isinasagawa mula sa command line
upang baguhin ang mga pahintulot ng file.
Kaya halimbawa, na namin lahat ay nakatagpo ng isang pahina
tulad nito marahil sa ibang panahon sa ang aming buhay ng pagiging isang internet
paggamit, kung saan ang aming web server ay may nagbigay sa atin ng error ng Forbidden.
Wala kang pahintulot na ma-access, yadda, yadda, yadda, sa server na ito.
Lahat na talaga ang ibig sabihin ay na ang mga pahintulot
na ay naka-attach sa kahit anong pahina na iyong sinusubukang i-access
ay hindi bukas para sa iyo.
Kaya medyo marami, chmod ay ang paraan kung saan ang
maaari naming baguhin ang mga pahintulot ng sistema upang mabigyan ang lahat, ang mga gumagamit, ang grupo,
o sa mundo, o anumang kumbinasyon ng mga pag-access
sa mga tiyak na mga file, directories, kahit ano talaga,
anumang uri ng sistema sa isang operating system.
Kaya kung anuman sa mga lalaki ay may mga computer kung sa palagay mo
tulad ng mga sumusunod na kasama sa akin ngayon, ganap na huwag mag-atubiling i-type lamang ng mga bagay
in.
Kung hindi, maaari mo lamang mag-hang out.
Kaya ako pagpunta sa aktwal na hilahin ang aking terminal ngayon.
>> Kaya ang utos na tumakbo chmod, o hindi bababa lamang
sa listahan ng mga pahintulot ng iyong mga direktoryo ng file, ay lamang ng ls-l.
Tulad ng iyong nakikita, ang isang grupo ng mga stuff nagpa-pop up karamihan sa mga ito
ay mahalaga sa amin sa kaliwang side dito.
Ikaw guys makita ng grupo ng PHP, ws, 1 /.
Oo.
>> Ang mga ay mahalagang lamang lahat ng mga pahintulot ng file
upang ipaliwanag kung ano ang ilang mga directories at mga file sa loob ng iyong system na mayroon.
Kaya sabihin bumalik sa ang kapangyarihan point dito.
Kaya sa karagdagan sa mga pangalan ng file bilang ka guys ay maaaring makita sa kanan,
kami ay naghahanap upang makita ang mga mahalagang lamang ang haligi sa kaliwa.
Kaya sa karagdagan sa makatarungan ang mga pangalan ng file, kami ay
maaaring makita ang mga pahintulot ng file, ang kanilang grupo ng may-ari, ang pangalan ng grupo, ang petsa
na ang huling mga file ay mabago, at iba pa.
Maaari mong makita ang isang pulutong ng mga bagay na gamit ang chmod.
Kaya ang paraan na binabasa namin ang chmod ay na ang unang titik namin medyo marami huwag pansinin
sa mga tuntunin ng mga pahintulot sa pagbabasa.
>> Ang unang titik ay nagsasabi lamang sa amin kung ano ang uri ng sistema namin ina-access.
d, sa kasong ito, ay isang folder o direktoryo.
Upang malaman namin na kasalukuyang aking workspace section pitong ay isang directory.
At pagkatapos mong makita ang tatlong triads, mahalagang lamang
tatlong hanay ng mga tatlong character.
At maaari mong isipin ng bawat bilang bit.
>> Kaya mo na lang tatlong hanay ng mga tatlong piraso, siyam na bits sa kabuuan.
Tinatrato mo ang mga ito sa mga grupo ng tatlo.
Kaya ang unang grupo ng tatlo ay palagi ang iyong user permissions.
>> Ang iyong pangalawang grupo ng mga tatlong ay palagi ang iyong mga pahintulot ng pangkat.
At ang iyong mga ikatlong hanay ng tatlong ay palaging tulad ng mundo,
ang lahat ng dako mga pahintulot.
Kaya ako hulaan ang madaling tanong na magtanong ay kung ano ang
ang pagkakaiba sa pagitan ng mga user at mga pangkat.
Ang pangunahing pagkakaiba pagitan ng mga user at pangkat
ay na ang isang user ay lamang sa iyo nang personal pag-access sa anumang mga ito ay ngayon.
Ang isang grupo ay maaaring maging kung mayroon kang maramihang gumagamit sa isang computer, halimbawa.
Lahat ng mga ito ay itinuturing bilang isang grupo.
>> At pagkatapos ay ang mundo ay lamang sa mundo, lahat ng tao.
Kaya maaari naming makita sa ibang pagkakataon sa kung paano namin baguhin ang mga sa iba't ibang mga pahintulot.
Kaya medyo marami, hindi namin pagpunta sa pa rin ang focus
sa bahagi sa kaliwa, kung saan para sa CS50 nakita namin drwx,
kung saan ang r lamang nangangahulugan na ito ay nababasa.
>> W Ang lamang ay nangangahulugang ito ay writable.
At pagkatapos ay ang x lamang nangangahulugan na ito ay executable.
Gusto mo itong isipin uri ng hindi magkaroon ng kahulugan.
Ito ay dapat na e.
Ngunit x tunay na uri ng gawa ng isang maliit na mas mahusay,
dahil maaari mo itong tandaan mas mahusay.
>> Kaya ang tatlong uri ng mga bagay-bagay sa iyo maaaring gawin, maaari mong alinman sa basahin ang isang file,
maaari kang magkaroon ng pahintulot upang makapagsulat ng isang file, o maaari kang magkaroon ng pahintulot
upang magpatakbo ng isang file.
At upang ang mga paraan na kami ay tunay na kumakatawan sa mga sa bits
ay ang mga numero ng 4, 2, at 1.
Kaya ang anumang bagay na nababasa ay kinakatawan ng mga numero ng 4.
>> Anumang bagay na ay writable ay kinakatawan sa pamamagitan ng 2.
At ang anumang bagay na executable na kinakatawan ng 1.
Kaya sa puntong ito, maaari din namin na kumatawan sa mga Numbers
hi, welcome, sa isang iba't ibang mga paraan.
Sorry.
Bago ang lahat, ako ng pagpunta sa Humihingi sa ngalan ng lahat ng tao
pagpasok ng klase ngayon.
Nakalimutan ko ang kendi ngayon.
Sorry ako failure this week ng Halloween.
Dadalhin ko double ang halaga ng kendi sa susunod na pagkakataon na gumawa ng up para dito.
Ngunit pa rin, sorry tungkol na guys sorry,.
>> Kaya ang paraan na aming makakaya aktwal na input sa aming mga utos ang argument ay namin
maaaring gawin chmod pahintulot slash group, kung saan ang grupo ay kahit na ano na lang
grupo namin sinusubukan na baguhin.
At ang pahintulot ay ano man ang gusto naming idagdag ito.
Kaya halimbawa, ang plus nagdadagdag pahintulot,
at ang ibawas tumatagal ang layo ng mga pahintulot.
>> At ang uri ng grupo na namin ang aming isang para sa lahat, u para sa mga gumagamit, g para sa mga pangkat,
o o para sa iba.
Ito ay isang bit abstract ngayon.
Ngunit kami ay pumunta sa paglipas ng ilang mga halimbawa upang ipakita lamang ang mga tunay na mabilis.
Ang bawat mabuting na ito slide, kaya ang maaari kong ilipat sa?
Cool.
>> Kaya halimbawa, rwx.
Bago natin pag-usapan kung ano ang kinakatawan nito, una sa lahat kung ano ang ibig sabihin ng rwx?
Kung nakikita mo na ito ang ilang mga file ay may pahintulot ng rwx,
ano ang ibig sabihin na ang mga tao ay maaaring magawa?
>> Madla: Basahin, magsulat at execute.
>> ANDI PENG: Oo, eksakto.
Maaari mong basahin write at execute.
Dahil ang lahat ng tatlong mga character ay kasalukuyan.
Kaya kung pumunta kami ng maaga at makipag-usap tungkol sa mga ito sa mga tuntunin ng bits,
ang rwx maaari ring kinakatawan bilang 700.
Dahil tulad ng makikita mo sa anumang uri ng pahintulot na direktoryo ng file,
may tatlong triads.
>> Sa kasong ito, ang unang lamang ay may anumang bagay na may tatlong bahagi.
Kaya sa kasong ito, ang r ay 4, ang w ay 2, at ang x ay 1.
Kung nagdagdag ka ng mga sama-sama, ito ay 7.
>> At kaya kung convert mo ito sa binary, ito ay 700.
Dahil 7 ay ang unang bagay na may tatlong.
0, may walang kasalukuyan ay sa ikalawang triad.
At pagkatapos ay may walang kasalukuyan ay sa ang ikatlong bagay na may tatlong, kaya na ang isa pang 0.
>> Kaya sa parehong kahulugan, ng grupo ng triads maaaring katawanin lang sa bits, lamang
sa binary pati na rin.
Kaya 700 ay nangangahulugan na ang parehong bagay tulad ng rwx ------ sa mga tuntunin ng mga pahintulot.
Ang bawat malinaw sa mga iyon?
Cool.
At kaya chmod 111 bigyan na mga pahintulot upang ang file?
Bigyan mo guys ng ilang segundo ang pag-convert na ito.
Tandaan, ang unang triad ay para sa mga gumagamit.
Ang ikalawang bagay na may tatlong ay para sa grupo.
At ang ikatlong triad ay para sa lahat.
>> At kaya chmod 111 bigyan na uri ng mga pahintulot at kanino?
Maglaan ng ilang segundo upang isipin ang tungkol dito at bumalik.
Oo.
>> Madla: Kaya maaari itong maisagawa lahat.
ANDI PENG: Yup, eksakto.
Madla: Ngunit walang sinuman ang maaaring magbasa o magsulat.
ANDI PENG: At huwag mag-atubiling upang ipaliwanag sa lahat ng tao
kung paano ka dumating sa na konklusyon.
>> Madla: Well, para sa mga gumagamit, ang mga grupo, at ang mundo, ang lahat ay 1,
kung saan ay ang code para sa executable.
>> ANDI PENG: Oo, eksakto.
Kaya 1, sa kasong ito, ang lahat ng malaman namin ay na iyon ay ang executable code.
Dahil ang pagbabasa ay 4.
Pagsusulat ay 2.
At ang mga executable ay 1.
Kaya ay ang lahat ng tatlong triads ay 1, na Nangangahulugan ito na sa buong mundo, upang ang mga gumagamit,
at sa grupo, sila ay ang lahat ng executable.
>> Ang bawat mabuting may na?
SIGE.
At upang ang ikalawang paraan na kami ay maaaring aktwal na
isulat ito man ay sa iyo maaaring gawin lamang chmod
isang plus x. isang nangangahulugan na ang lahat o lahat.
Plus Ang ibig sabihin nito ay ang pagbibigay ng mga pahintulot sa.
At pagkatapos ay ang x ay nangangahulugan executable.
Kaya mayroong dalawang utos ay talagang magkapareho.
Kaya kung nais mong magpatakbo ng na ito sa iyong terminal,
gawin mo chmod 111, pangalan ng iyong direktoryo o ang iyong mga file.
O maaari mong gawin chmod isang plus x, pangalan ng iyong file na direktoryo.
Parehong bagay, tulad ng isang mas madaling paraan, marahil, para sa ilang upang kumatawan o pagbabago
pahintulot ng file.
>> Ang bawat isa OK sa chmod bago lumipat kami sa?
Cool.
Kaya ngayon kami ay pagpunta sa ulo sa isang ilang mga slide ng very abstract concepts
na ako ay medyo marami pagpunta sa pamamagitan ng hangin.
At ito ay ganap ang OK kung ikaw hindi maunawaan ang lahat.
>> Kahit ngayon, ko pa rin ay hindi talaga maunawaan ang lahat ng bagay na ganap.
Ngunit ito ay higit pa sa pagkuha ng sa tuktok na antas na pag-unawa
ng kung paano gumagana ang ilan sa mga bagay na ito.
Kaya kami ay pagpunta sa makipag-usap mabilis tungkol TCP / IP,
ang matuwid, Transmission Control Protocol slash Internet Protocol.
>> Pagpapabalik mula sa panayam, David, ay itinuro niya sa iyo
mga halimbawa kung saan gusto niya ipasa ang mga tala sa isang sobre
hanggang sa gusto itaas ng silid para sa panayam?
Kaya sa auditorium law school Nagpakita David mahalagang
paano TCP / IP gumagana sa kamalayan na ang lahat ng ito
ay ay isang paraan ng pagtiyak na ang data ay naihatid na sa kabuuan ng isang server
o sa internet.
Kaya sa halimbawa ng sobre at ang mensahe, ang mga user sa dulo
maaaring makita na, oh, ako na kailangan upang makatanggap ng mga apat na packet ng mga impormasyon.
>> Ngunit ko talagang lamang nakatanggap ng tatlo.
Ito ay nangangahulugan na ako dapat ay kulang ng isa.
At ang isa ay hindi naihatid.
At kaya TCP / IP sa internet, sa pamamagitan ng iyong computer at ang server,
ang ipinapakita ng parehong bagay.
Lahat ng ito ay tukuyin ang isang framework na kung saan ang isang nawalang data
packet maaaring magalit at natanggap.
>> Tulad ng sa internet kapag sinusubukan upang ma-access ang mga file sa online o magpadala ng mga file
sa iyong kaibigan o tumingin sa web browser, libu-libo at libu-libo
ng bilyun-bilyong ng bytes ng impormasyon
ay inililipat sa bawat millisecond.
At ito ay tunay, tunay na nakalilito.
At ito ay tunay na mahirap talagang malaman kung ano ang naipadala
at kung ano ang hindi pa naipapadala.
>> At kaya lang tumutukoy TCP / IP isang cohesive framework
kung saan ang iyong web browser at ang iyong server
Maaari uri ng makipag-usap sa bawat isa, lamang
tiyakin na packet ay lahat dito at wala ni nawalang
at ang lahat ng data na iyong hiniling ay tunay na pagpapakita ng maayos.
Ang bawat OK sa lamang na tunay maikling mataas na antas maintindihan?
Cool.
>> Kaya pagkatapos kami ay pagpunta upang ilipat sa pakikipag-usap tungkol HTTP, na
ay lamang ng Hypertext Transfer Protocol.
HTTP, ang lahat ng mga ito ay ang anuman anumang pahina o file ay na-access sa iyong website,
ang server ay nagbalik ng isang HTTP status code sa tugon
sa kahilingan ng siguraduhin na alinman, oh, nagpunta ang hiling na ito sa pamamagitan ng.
At lahat ng bagay ay lumilitaw nang tama.
O kaya naman, oh, hindi, 404.
May nangyaring mali.
Oh, hindi ko maaaring ipakita.
>> Lahat ng ito ay na kahit na ano sinusubukan mong ma-access,
gamitin bilang user ay sumusubok na ma-access, sa internet-- siguraduhin lamang
na matagumpay mong alinman sa magkaroon ng access anumang ito o hindi
Matagumpay na na-access ang anumang ito ay.
At upang ang mga HTTP status code lang nagbibigay sa iyo
isang paraan ng kawalan ng kakayahang malaman kung o hindi ito ay matagumpay o hindi.
Kaya halimbawa, ang isang halimbawa kahilingan.
>> Maaari mong makita dito ito ay karaniwang karaniwang apat na linya.
Kami ay may isang GET HTTP 1.1, na kung saan ay lamang ang kahilingan paraan URL, ang protocol
na bersyon, ang patlang na pangalan, at ang mga halaga ng patlang.
Kaya hindi na kailangan upang ganap na kabisaduhin ang anumang bagay dito.
Just uri ng pamilyar ang ang iyong sarili sa kung paano ang mga tumingin.
>> Sa halimbawang ito, ang kahilingan na paraan URL ay lamang anumang paghiling
ikaw ay nagpapadala sa server.
Tulad ng, hey, server, talagang gusto kong access yadda, yadda, yadda, HTTP page.
Ang bersyon ng protocol ay kahit na ano na lang bersyon ng iyong host o sa iyong server
ay gumagamit upang ma-access ang impormasyon.
>> Ang patlang ng pangalan ay ang website o ang URL na sinusubukan mong i-access,
sa kasong ito, www.apple.com.
At ang mga halaga ng patlang ay karaniwang lamang pangalan, halaga.
At ito ay maaaring maging anumang uri ng kumbinasyon ng mga titik o numero o ano pa man.
>> Kaya ang isang tipikal na kahilingan, kaya kung ano ang iyong computer talaga
nagpapadala sa server na nagsasabing, hey, alam mo kung ano ang kailangan ko ito na ipinapakita,
iyon ang uri ng kahilingan na sila talaga matanggap.
Ang isang halimbawa tugon ng kung ano ang server ay magpadala ng pabalik sa iyo
ay medyo marami ang mga parehong bagay, maliban sa isang code ng katayuan sa itaas.
Kaya 200, 2 0 0 ay palaging ang code ng katayuan para sa OK.
Tulad ng, OK, nagpunta ang hiling na ito sa pamamagitan ng.
Ikaw ay makakapag-access ang lahat ng bagay nang tama.
Maganda ang buhay.
Life is fine.
Lahat ng bagay ay lubos na mabuti.
>> At kaya ito lamang ay nagsasabi sa iyong browser at iyong server, hey, good ang lahat.
Nakakuha ako ng lahat ng impormasyon na kailangan ko.
Cool.
Ngunit ang problema ay minsan problema dumating up
kapag have-- mong huling tingin ko Usapan ako tungkol nauulit.
Ikaw ay may mas mahusay na mga sagot.
>> Kaya halimbawa, 404 ay ang Page Not Found.
Ikaw minsan ay may isang Forbidden access.
Mayroon kang iba't-ibang mga iba pang mga Mga code ng katayuan na ako
Siguraduhin na ang lahat na iyong nakita na kapag ikaw ay sinusubukan na gawin ang pananaliksik sa internet.
At nagbibigay sa iyo ng iyong browser ang, hindi, hindi maaaring ma-access.
At ikaw ay tulad, well, crap.
>> Kaya lang medyo marami, may ilang medyo karaniwang mga code ng katayuan.
Siguro pamilyar ang iyong sarili sa kung alin ang mga iyon ay.
Ang pinakanakakatawa isa na Sa tingin ko kailanman ko na narinig
of-- kung mangyari sa maghanap ng lahat ng mga ito
online, para sa ilang kadahilanan ay mayroong talagang isang tunay na code ng katayuan
tinatawag na 418 ako tsarera.
>> Googled ko na kung saan ang pinagmulan ng mga ito ay mula sa.
At tila isang April Fools ' Araw ng ilang dekada na ang nakakaraan,
Akala ng isang tao ay ito ay masayang-maingay upang lumikha ng isang bagong code ng katayuan na tinatawag na 418
Ako ay isang tsarera.
Lehitimong, ang pangalan ng mga ito code ay tinatawag na ako tsarera.
>> Nakalimutan ko kung ano ang pahinang mayroon ka na pumunta sa aktwal na gumawa ng ganitong display.
Ngunit sa malas, maaari mong talagang makakuha ng isang code ng katayuan ng Ako
isang tsarera paanuman sa pamamagitan ng paggawa ng isang bagay.
Kaya ang may daan-daan at daan-daang mga code ng katayuan.
>> Ang ilan sa kanila gumawa ng mas maraming kahulugan kaysa sa iba.
Ngunit pamilyar ang medyo mas lamang ang iyong sarili sa mga pinaka-karaniwang mga bago.
Ang hiniling na katawan entity ay maikli at mataba, tila.
>> Kaya minsan may mga karagdagang error nakakatakot kaysa Ako tsarera.
Ngunit ito ay isa na ako hulaan ikaw uri ng pag-asa upang maabot.
Ngunit Hindi sa tingin ko ay ikaw.
Ang bawat mabuting sa status lang codes, mga kahilingan, mga proseso, paggawa ng
siguraduhin na ang impormasyon ay inihatid ng maayos?
>> Kaya ngayon kami ay pagpunta sa transition sa ng isang masayang bahagi ng seksyon ngayon,
kung saan ang usapan namin ng kaunti tungkol sa HTML.
HTML, ang lahat ng mga ito ay HyperText Markup Language.
Ito lang ang standard na wika mong gamitin upang lumikha ng lahat ng web
mga pahina sa internet.
>> Kaya ang anumang mga web page, kung ano ang ang iyong mga paboritong mga web page?
Ano ang iyong paboritong mga web page?
>> Madla: [hindi marinig].
ANDI PENG: Sorry?
>> Madla: Tumblr.
>> ANDI PENG: Tumblr.
Kaya Tumblr ay nakasulat sa HTML.
At kaya kami ay talagang pumunta sa pamamagitan at play sa paligid na may ilan sa mga bagay na ito
sa ibang Pagkakataon.
Medyo magkano ang lahat ng bagay na kailangan mong malaman, na malaman,
sumulat ng HTML maaari mong malamang lamang ng Google sa internet.
>> HTML, ito ay hindi isang programa tulad ng C kung saan maaari kang lumikha ng mga variable na ito at gawin
mga cool na bagay sa mga ito.
Ito ay higit pa lamang, oh, ito ay kung paano ko gusto ang mga bagay na lumabas sa aking website.
At lamang ako ng pagpunta sa ilagay ito sa.
At ito ang nangyayari sa estilo ito.
>> Kaya HTML, sa isang kahulugan, ito ay katulad lamang isang format o template na wika.
Ito ay isang pulutong mas madali.
Ito ay isang pulutong mas madali upang matuto, isang pulutong mas madali na magsulat sa
kaysa sa iyong karaniwang programming wika, napakadali,
tunay user mapupuntahan at friendly.
>> Kaya kami ay tunay na pagpunta upang i-play sa paligid, isulat ang aming sariling mga pahina sa ngayon.
Ngunit bago tayo magsimula, gusto ko lang na pumunta sa paglipas ng ilang mga maikling mga pinakamahusay na kasanayan.
Dahil HTML ay tulad ng isang madaling wika at dahil kahit
kung gagawin mo ng ilang mga bagay na mali, kung minsan ay hindi maaaring mapansin,
nais naming tiyakin na hindi namin talagang pagsunod sa aming mga pinakamahusay na kasanayan
tiyakin na ang mga bagay na kaya ang nangyayari sa paligid ngunit
ay hindi palaging pagpunta sa hindi pumunta sa kanan tiyakin na ang mga ito ay nai-minimize.
>> Kaya medyo marami, siguraduhin iyong pagsasara ng lahat ng iyong mga tag
kapag sumusulat ka sa HTML.
Kung ikaw ay pagbubukas ng isang katawan, tiyakin na ikaw ay
pagsasara ng ito sa isang katawan sa isang lugar.
Gusto mong tiyakin na ang iyong napatunayan ang web page sa pamamagitan ng paggamit
ano ang tinatawag na W3 validator.
Maaari mo lamang Google na online, at mayroong isang link sa mga ito.
>> At pagkatapos ay gusto mong hiwalay na HTML, na kung saan
ay ang iyong markup language mula sa iyong estilo, kung saan ay ang CSS wika na si David
nagpakita na rin kami pagpunta sa play ng kaunti sa panayam.
Cool.
Kaya anumang oras na gusto mong patakbuhin HTML sa CS50 appliance,
kami ay pagpunta sa magpatakbo ng isang programa na tinatawag na Apache,
kung saan ang lahat ng ito ay isang built lamang sa web server na ang lahat sa CS50
may access sa.
Tinatawag namin ito apache50 dahil lamang namin itawag sa lahat ng bagay 50 sa CS50.
>> Kaya ang paraan na simulan mo ang CS50 web server ay sa pamamagitan ng pag-type sa iyong utos
line apache50 simulan tuldok.
At kung gusto mong tapusin ang mga ito sa anumang time, apache50 mo end walang tuldok.
At ikaw ay pindutin lang ang Enter.
At ito ay dapat heading up dito sa lalong madaling panahon.
Oo.
Kaya lang ako pagpunta sa mabilis na pumunta sa paglipas ng isang halimbawa ng isang talagang maikling web page.
At kami ay pagpunta sa gastusin tulad ng 10, 15 minuto sa paglalaro
sa paligid ng pagsusulat ng aming sariling mga pahina ng web.
SIGE.
Kaya dito sa IDE-- Maaari makita ng lahat ang na?
Hindi naman.
Dito, makikita ko mag-zoom in.
>> Lamang ko na nakuha ito maikling template dito sa mga wala sa aktwal na ito.
Kami ay pagpunta upang mabilis na magsulat isang programa ng HTML na kung saan namin lamang
kamustahin sa mundo.
Kaya parehong bagay tulad ng sa C, ngayon hindi namin lamang ang pagpunta sa gawin ito sa HTML.
Kahit sino ba ang gusto na talagang lamang subukan ang pagbibigay sa akin ang unang bagay na
ay kailangang ilagay sa isang HTML na dokumento?
Oo.
>> Madla: Ang mga bracket, ang [hindi marinig].
ANDI PENG: Yep.
Kaya ang isang bagay na lubhang kakaiba sa HTML na karaniwang namin ayon sa kaugalian
hindi makaharap sa iba pang utos antas ng mga wika line programming
ay na namin ang aktwal na tukuyin ang uri ng file
na ito ay magiging sa tuktok ng aming code.
Kaya sa ganitong instance-- tingin ko na ang karapatan na utos, di ba?
Oo.
Sa itaas, gusto mo lamang na isama putok DOCTYPE html sa mga bracket lamang
na sabihin sa iyong computer, hey, tumingin sa labas.
At HTML na dokumento ay darating.
At pagkatapos ay kung paano gawin ang gusto namin upang magsimula sa aming mga file?
Kung gusto lang namin upang kamustahin, magkaroon ng isang web page na nagsasabing hello sa mundo,
paano namin pumunta tungkol sa paggawa na ito?
>> Sa totoo lang, ni-umpisa ng Google ipaalam.
At maaari naming aktwal na gawin ito.
Oo.
Mayroon kaming pumunta.
Kaya HTML.
Tulad ng iyong nakikita, ang aking browser ay talagang Awtomatikong Pag-istilo na ito para sa akin.
>> Parehong bagay tulad ng sa C, kapag kayo lumikha ng isang bukas kulot suhay,
awtomatiko ang iyong browser nagdadagdag sa isang malapit kulot suhay.
Sa kabutihang-palad, ang aming mga IDE nagmamahal sa gawin ito para sa amin pati na rin.
Kaya ngayon maaari naming uri ng type ang simula ng isang tag,
at ito ay pagpunta sa palaging sabihin sa amin upang tandaan na i-type ang katapusan ng tag.
Sa tingin ko ito ay kailangang sa malaking titik.
At pagkatapos ay gusto naming idagdag, palagi, isang ulo sa kung saan ay ang pamagat.
Gusto lang namin na baka tumawag ito hello, at pagkatapos ay katawan.
>> At doon ka pumunta.
Iyon ay talagang aming dokumentong HTML.
Kaya ang paraan na ang anumang mga dokumento na HTML ay laging istilong in-- parehong bagay
may int pangunahing walang bisa.
Gusto mong palaging upang magkaroon ng HTML isang bukas at malapit na tag
sa tuktok at ibaba ng iyong code.
>> Gusto mong magkaroon ng isang ulo sa loob ng na naglalaman ng mga pamagat, ano man lang
ay pagpunta upang ipakita ang mga tab ng iyong web pahina, at pagkatapos ng isang katawan sa loob ng na
ay talagang ipapakita ang nilalaman ng kahit anong gusto mong gawin.
Kaya kung nais mong aktwal na patakbuhin ito, ako pagpunta upang mag-zoom back out.
Maaari mong simulan ang tunay na apache50 simulan tuldok.
Cool.
At sa gayon ay maaari mong makita, ngayon ang link na ito ay pop up.
Sinasabi nito sa iyong site ngayon magagamit sa ilang mga link sa ibaba.
Kaya lahat ng aming mga IDE ay done-- hindi IDE, sorry-- oo,
aming ginawa IDE ay lumikha ng isang web link kung saan ang lahat ng aming mga pahina ng web
Maaaring ma-access sa server.
Kaya sabihin tumagal ng isang pagtingin dito.
>> Mag-click sa mga ito, pumunta sa hello.html Hayaan.
At makikita mo ang isang napaka-simple web page para sa kumusta mundo.
SIGE.
Talagang Kami ay pagpunta sa makatarungan Mayroon everyone-- oo, ano ang up?
>> Madla: Mayroon akong isang pangunahing tanong.
ANDI PENG: Yup.
Madla: Paano mo i-save ang ang iyong file bilang isang HTML?
ANDI PENG: Oo.
Kaya kung ako ay upang lumikha ng isang bagong file, kung gagawin ko New File, Untittle, kung gagawin ko,
section.html, boom, na ang lahat ng kailangan kong gawin.
>> Madla: [hindi marinig]?
ANDI PENG: No.
Madla: [hindi marinig].
ANDI PENG: No.
Madla: [hindi marinig].
ANDI PENG: Oo.
Medyo marami, ang extension na ito sa ang file na ito ay sa loob ng iyong IDE,
na nagsasabi sa mga computer, na Sinasabihan nito ang browser, hey, tumingin sa labas.
Ito ay magiging code nakasulat sa wikang ito.
Kaya halimbawa, sa Microsoft Salita, kung ano ang ginagawa ang lahat ng mga dokumento ng Word
magtapos sa, kung ano ang extension?
.doc o .docx, di ba?
>> Ang lahat ng iyon ay ay tumutukoy sa ang inyong mga operating system, hey,
nakuha mo na ang isang dokumento na Word pagdating up.
Buksan ito sa Word.
Parehong bagay sa mga PDF.
Alam ito, oh, kailangan ko upang buksan ang file na ito
na may Adobe Reader o Adobe Acrobat.
>> At kaya gumana extension ng parehong paraan tulad ng sa iyong computer.
Kung tinukoy mo ang iyong mga code sa pahina na pinangalanan HTML, pagkatapos ay alam ng mga ito,
oh, nakuha mo na ang HTML code.
Pupunta ako sa ituring ito bilang html code.
Kaya ito ay sobrang matalino sa na kahulugan.
>> Kaya lahat ng tao, sabihin tumagal tulad ng 10 minuto at lumikha lamang ang aming sariling mga website.
Ni si sa mga magagandang bagay Hayaan.
Huwag mag-atubiling sabihin kahit anong gusto mo.
Gusto ko lang tiyakin na server ng lahat ay tumatakbo nang tama
bago namin magbakante mo sa pset.
Dahil kung ang iyong server hindi tumatakbo para sa pset,
na magiging tunay, tunay masama.
>> Lamang ako ng pagpunta sa lumutang sa paligid at makita kung ano ang gumagana sa lahat.
Kumusta na?
>> Madla: ko lang naka-on ang aking computer.
>> ANDI PENG: Iyon ay OK.
>> Madla: [hindi marinig].
>> ANDI PENG: ang iyong IDE lang.
Oo.
>> Madla: [hindi marinig].
>> ANDI PENG: Ito ay OK.
>> Madla: [hindi marinig].
ANDI PENG: Ganap fine.
Ay lahat ng tao sa pag-access kanilang mga web server OK?
Ay apache50 tumatakbo OK?
Sa tingin ko sa ilan sa mga ang iba pang mga seksyon, kami ay
may mga isyu sa mga tao ay hindi pagiging ma-access sa server.
Oo.
Kaya mo lamang tumakbo apache50 simulan space period space.
Madla: [hindi marinig].
ANDI PENG: Yup.
Good?
>> Madla: [hindi marinig].
>> ANDI PENG: Oh, OK.
Kaya ikaw ay dapat na magkaroon ng isang space.
Kaya apache50--
>> Madla: ginawa ko.
>> ANDI PENG: --start space.
Madla: Oh, space dot.
ANDI PENG: Yup, space dot.
May pumunta ka.
Kaya nga kung ikaw ay may isang HTML na pahina na nilikha,
pagkatapos ay maaari mo lamang pumunta nang direkta sa link na ito ang tumutukoy.
At maaari mo ring ma-access ito.
>> Ang bawat nagawa upang ma-access ang kanilang mga pahina ng web OK?
>> Madla: [hindi marinig].
ANDI PENG: Oh, na ang OK.
>> Madla: [hindi marinig].
ANDI PENG: Oo.
Sa tingin ko ay maaari mong aktwal na buksan ito sa loob ng iyong browser, browser
at hindi lamang sa iyong IDE browser.
Oo, sa palagay ko kung ikaw ay kopyahin at i-paste ito.
>> Madla: At pagkatapos ay paano namin i-off ito?
[Hindi marinig]
>> ANDI PENG: Oo, gawin mo apache50 itigil na walang period.
Oo.
>> Madla: [hindi marinig].
>> ANDI PENG: Sa pamamagitan ng walang period.
Oo.
Mayroon kaming pumunta.
Oo.
Kami ay ang paglikha ng aming sariling mga pahina ng web.
>> Madla: Oh, cool.
ANDI PENG: Oo.
>> Madla: Mayroon akong tanong.
Kaya Apache 50--
>> ANDI PENG: 50, oo.
>> Madla: [hindi marinig].
>> ANDI PENG: Ano?
Iyon ay kakaiba.
Tingnan, na uri ng isyu na nangyayari bago.
SIGE.
Tingnan akin pagkatapos section.
Dahil sa pagkakaroon namin ang ilang mga mga isyu sa server.
>> At nais mong gumawa ng Siguraduhin na ang iyong server ay
tumatakbo bago simulan ang pset.
Dahil ikaw ay pagpunta sa kailangan ito.
Oo.
Mayroon bang sinumang iba pa na hindi pa maaaring makakuha ng kanilang server upang magsimula?
>> Para sa mga mo na nais na magdagdag ng karagdagang mga estilo sa iyong mga web page,
maaari naming aktwal na gawin kung ano ang Ginawa ni David sa panayam pati na rin,
na kung saan ay lumikha ng isang karagdagang estilo sheet, na kung saan ay isang tuldok CSS, Cascading
Style Sheet at talagang idagdag lamang ito sa.
Kaya halimbawa, lamang ko na nilikha ko medyo marami halos ang eksaktong parehong isa
Ginawa ni David sa panayam.
Maaari mong medyo marami gawin lamang katawan.
>> Mayroon kang kung ano ang tinatawag na tag na kung saan ang Maaari kang mag-aplay sa IDE kahit anong section
gusto mo sa loob ng iyong aktwal na pahina ng HTML.
Kaya ang katawan ng pahina, ikaw maaaring gawin text align center.
At pagkatapos ay makikita ko ang creative isang tag na tinatawag na tuktok sa loob ng
ng kung saan gusto ko ang mga bagay na mangyari, magtalaga ng isang mas malaking sukat pixel
para sa mga font.
Gusto ko ang bigat ng font na naka-bold.
At gusto ko ang kulay sa maging kulay bughaw, lamang arbitrary
mga halaga na ako ay nagpasya na pumili.
Maaari ba akong lumikha ng isa pang tag na tinatawag na gitna.
Laki ng font, gawin itong isang bit mas maliit.
At pagkatapos ay ang maaari kong gumawa ng isa pang tag tinatawag ibaba kung saan gusto ko ang laki ng font
upang maging pa rin kahit na mas maliit.
>> At kaya medyo marami na ito ay halimbawa lamang ng source code o pinagmulan ng mga style sheet
na ito ay tunay madali na lang sa Google.
Kung sinasabi mo, oh, Gusto ko ang aking font na italicized at dark green,
Maaari mong malamang na ang Google, at pagkatapos ito ay magsasabi sa iyo
ang naaangkop na mga tag o ID upang lumikha ng.
At upang ang mga paraan na gagawin mo talaga uri ng mayroon na ito sa isang dokumentong HTML
o gamitin ito ay ang lahat ng kailangan mong na gawin dito ay sa ulo
magdagdag ng isang link sa mga style sheet.
>> Kaya maaari mo lamang i-link href equals ano man ang pangalan ng iyong style sheet
ay.
At pagkatapos ay ang relasyon ay isang style sheet.
Kaya sa loob ng anumang HTML na dokumento, hangga't kapag isinama mo ito dot CSS sheet,
maaari mo ring ma-access ang at may roon ang mga properties.
>> Kaya halimbawa, dito na hindi ko na lang gumawa ng isa pang halimbawa ng web page.
Ito ay malugod na seksyon CS50 Martes 2:00-03:30 sa akin.
At pagkatapos Nagdagdag ako ng isang magandang imahe na dapat namin potensyal na magagawang makita.
>> Kaya't kung ikaw ay kumuha ng isang tumingin dito, kung pupunta ka sa style.html,
lumikha kami ng isang web page gamit ang mga kuting.
Dahil kuting ay kasindak-sindak.
Kaya ang pagdaragdag ng isang imahe ay img lang SRC link.
>> Medyo marami, kung mayroong anumang uri ng mga tampok
na nais mong idagdag sa iyong website-- kaya sabihin nating,
gusto mong magdagdag ng isang menu o isang bar sa paghahanap o tulad
isang image-- lamang ng Google kung paano gawin iyon.
At kayo gumawa ng mapa lamang sa format na iyon.
At maaari mo lamang pretty magkano idagdag lamang ito sa.
Ito ay talagang, talagang madali.
>> Ay ang paglikha ng aming sariling mga pahina ng web ngayon.
Kung gusto mo--
>> Madla: [hindi marinig]
>> ANDI PENG: Sorry?
>> Madla: [hindi marinig].
>> ANDI PENG: Oh, ang mga div ay isang dibisyon lamang
nagsasabi sa akin na, oh, mayroon akong sa isang tiyak na seksyon na tinatawag na
gitna kung saan ako nag-aaplay aking CSS tag, at pagkatapos ay
aking iba pang mga dibisyon sa ibaba.
Iyan na ang lahat na ito ay nagsasabi sa iyo.
Dahil ito ay magaling na panatilihin mga bagay na malinis sa mga order,
kaya alam ng programa kung paano eksaktong upang tumakbo.
At sa tingin ko kopyahin i-paste ito sa aking aktwal na mga browser pati na rin.
Ito ay dapat na fine.
Oo.
Yay.
Kaya kung ang lahat ay nagnanais na lang subukan ang paglikha ng isang web page,
kami ay kumuha ng isa pang dalawa hanggang tatlong minuto.
Gusto ko lang tiyakin server ng lahat ay tumatakbo
at lahat ng tao ay may isang ideya ng kung paano gawin iyon.
Kung ikaw guys nais na kumuha ng iyong mga computer.
Hindi pa rin gumagana?
>> Madla: Ako lang [hindi marinig].
>> ANDI PENG: Siguro subukan ang 50 na rin.
Oo.
Madla: [hindi marinig].
>> ANDI PENG: Oo.
Kaya ang paraan na nagsimula ka ng bagong web server sa IDE ay lamang
gawin apache50 start space space dot.
Nais ko lamang tiyakin server ng lahat ay tumatakbo OK.
>> Madla: Dito, sa terminal?
ANDI PENG: Oo.
Madla: [hindi marinig].
>> ANDI PENG: Apache.
Sa totoo lang, tingin ko ikaw ay pagpapatakbo ng isang bagay na.
Oo, ikaw ay talagang pagpapatakbo ng isang iba't ibang mga server.
Oo, ikaw ay mabuti.
Hangga't na gumagana, ikaw ay OK.
>> Madla: OK.
ANDI PENG: Mayroong dalawang mga paraan upang magpatakbo ng mga server.
Kaya't hangga't ang isa sa mga paraan ay gumagana, ito ay ang lahat ng karapatan.
Kinukuha namin ang isa pang minuto lamang sa uri ng tapusin up
ang pagtatapos touch ng kahit anong Nais web page na iyong guys na gumawa.
>> Gumagana ba ang lahat ng tao sa daan?
Server ng bawa't isa ay tumatakbo bukod para sa iyo?
Susubukan naming malaman na out.
At HTML ni medyo simple.
Kaya sa tingin ko hindi namin ang lahat ng mabuti.
Oo.
Babalik ako.
>> Madla: [hindi marinig].
ANDI PENG: OK.
Madla: Kaya ito lang nagsimula upang i-load up.
ANDI PENG: Huwag mag-alala.
Kaya HTML, may source code na ay magiging online pagkatapos ng seksyon.
Gayundin, David ay may isang buong bungkos online na rin.
Just uri ng sulyap sa paglipas ng ito sa makita kung paano mga HTML na pahina ay nakasulat.
Ito ay medyo madali.
Anumang bagay na hindi mo alam, ikaw pretty marami lang Google at ikaw ay mabuti.
Gusto ko lang tiyakin na ang iyong mga server ay tumatakbo.
>> Madla: ba gawin ito madalas?
>> ANDI PENG: Ito ay hindi kailanman nangyari sa akin.
Hindi ko alam kung ito ay maaaring kahit hibernate.
>> Madla: [hindi marinig].
ANDI PENG: Sa tingin ko everyone-- minahan ay hindi kailanman hibernated bago.
At hindi ko alam kung bakit.
Ito ay kakaiba.
>> Madla: [hindi marinig].
>> ANDI PENG: Ay iyo hibernating?
>> Madla: [hindi marinig].
ANDI PENG: Oo.
Madla: Ito ay OK.
Kaya minsan ito ay bukas.
ANDI PENG: OK.
Susubukan naming harapin ang ilang mga server mga isyu pagkatapos ng section.
Dapat kang maging fine.
Kahit na, gusto mong tiyakin na ikaw ay makuha ang mga ito nalutas bago ka umalis.
Dahil kung ang iyong server hindi tumatakbo, pagkatapos ikaw ay
hindi pagpunta sa magagawang upang gawin ang pset, tulad ng anumang bahagi ng pset.
Kaya nais mong tiyakin na na gumagana.
Cool.
Lahat tama.
Magpaalam kuting.
Ako na ginugol ng isang mahabang oras na naghahanap ng na kuting larawan upang ilagay sa.
So, anyways.
>> Madla: [hindi marinig].
>> ANDI PENG: Sorry?
>> Madla: [hindi marinig].
ANDI PENG: Sa tingin ko ito ay sa website.
Tulad ng mga spec?
>> Madla: [hindi marinig].
Sa tingin ko ang spec ay lamang online sa week pitong.
Sa tingin ko ito ay tinatawag pset6, kahit bagaman hindi namin sa week pitong, na
ay isang bit computing.
Madla: Ngunit ibig sabihin ko kung ikaw nais na tingnan at-- kung ikaw
nais na pull up ang aming bersyon ng ang web site mula sa aming sever?
Kaya tulad server.c ay ang pset, di ba?
Kung nais mong tingnan ang mga ito, tulad ng kung paano ito tseke out?
ANDI PENG: Oh, kaya ang tunay na ang pset, ang lahat ng aming ginagawa
dito ay implementing-- dito, Kukunin ko pumunta sa paglipas ng ito sa madaling sabi.
Kaya para sa lahat ng tao na lang ang tapat na paraan na seksyon, ikaw guys sa kapalaran.
May kaunting materyal upang aktwal na masakop ngayon.
>> Lamang ako pagpunta sa gastusin sa susunod na 20 minuto ang pagpunta sa pset tulong.
Dahil mayroong mga kapaki-pakinabang sa ilang mga mga function na makakatulong sa iyong buhay.
At sana, kami ay magiging out ng mga dito sa tulad ng 20 minuto.
SIGE.
>> Kaya pset7 ay mali.
Kahit na hindi namin sa week pitong, ito ay aktwal na pset6.
Kukunin ko na baguhin iyon.
Lahat ng aming ginagawa sa pset6 ay ang paglikha ng isang web server.
Iyan super nakakatakot.
>> At lalo na para sa mga ng sa iyo na nag
tumingin sa mga code ng pamamahagi, may isang pulutong ng mga code, ang isang pulutong ng code.
Ngunit ito ay ganap na OK.
Dahil ang kutuhin magaspang bahagi ng aktwal na paglikha
ang server ay ginagawa sa pamamagitan amin.
Lahat ng tunay na ikaw ay tinanong na gawin ito sa pset
ay para lamang gawin ang ilang mga string manipulasyon in file I / O. Ito ay talagang
tulad ng medyo simple.
>> Kaya noong una mong i-download ang na- na dito ay aktwal na nai-download
ang pset at kinuha ng isang pagtingin?
Lahat tama.
Oo.
May tulad ng 500 mga linya ng code na kayo ay magiging tulad ng,
Ano ang nangyayari?
At iyon ay lubos na fine.
Siguraduhin mong panoorin ang walk-through.
Dahil si David at- Hindi ko alam.
Hindi sa tingin ko ito ay Zamyla, ang isang ito.
Ngunit sa tingin ko ang ilan sa iba pang mga walk-through ay medyo
kapaki-pakinabang sa mga tuntunin ng paalam sa inyo
kung ano ang nangyayari sa loob ng iyong code.
>> At ito ay ganap ang OK.
Dahil sa apat na mga function na ikaw ay hiniling na ipatupad kung talagang
zero na gawin sa mga aktwal na server.
Lahat ng kailangan nilang gawin ay lamang pag-parse ng iba't ibang mga string,
paghahanap sa pamamagitan ng mga string, upang matiyak na bagay ay ginagawa
kung ano ang kanilang dapat na ginagawa.
>> Kaya sa na epekto, may mga ilang tunay, tunay na kapaki-pakinabang na function,
lalo na para sa string pagmamanipula, na dapat namin ang lahat ng
pumunta sa paglipas na naisip ko na gusto ko maging tunay na kapaki-pakinabang para sa iyo guys
upang malaman bago subukang ang pset.
At lahat sila ay nakapaloob sa loob ng iyong string.h library.
May marahil mas kapaki-pakinabang function Hindi ko pa isinama dito,
dahil hindi ko gamitin ang alinman sa mga ito o marahil ko lamang ay hindi alam na sila umiiral.
>> Huwag mag-atubili na sulyap sa pamamagitan student.h.
Dahil doon ay magiging isang pulutong ng mga function na ay napaka-kapaki-pakinabang.
Kaya ang anim na ang pinaka-in ko bang gamitin ang aking pset kapag ako ay ginagawa ito ang nakaraang linggo
ay strtok, strchr, strrcher, strstr, strcasecmp, at strcpy.
At kaya ang huling dalawang ay maaaring mukhang medyo pamilyar sa karamihan ng sa iyo.
Str case ihambing, ang lahat ng ginagawa nito ay ihambing string upang suriin ang mga ito para sa pagkakapantay-pantay,
kabilang ang kaso.
At strcpy lamang ng mga kopya isang string sa isang buffer.
>> At kaya dapat ang mga dalawang mukhang tunay pamilyar sa iyo guys sa puntong ito.
Dahil ginagamit namin ang mga ito ng isang pulutong, lalo na para sa huling psets.
Ngunit ang unang apat na marahil hindi mo pa nakikita hanggang ngayon.
Ngunit ako pagpunta sa paglalakad lamang sa pamamagitan ng mga ito.
Dahil ang mga ito ay pagpunta sa gawin ang iyong buhay talagang, talagang madali for-- hindi madali,
ngunit marami mas madali para sa mga paparating na pset.
>> SIGE.
Kaya char * strtok, ito ay ang pag-andar kahulugan para sa function na nakapaloob
sa loob ng string, h library.
Kung ikaw ay bibigyan ng isang input ng char * string, na kung saan ay lamang ng isang string,
o ng isang pare-pareho ang char * deliminator, delim para sa maikling,
lahat ng ito ay ginagawa ay paglabag sa mas malaking string sa isang serye ng mga ano ang tawag namin
token na pinaghihiwalay ng isang tiyak na halaga.
Kaya sa isang kahulugan, kung ako ay upang bigyan section.7.php mo, ito ay isang string.
>> Kaya na magiging kung ako ay upang pumasa sa ito bilang aking str, aking char * str,
kung ang aking deliminator ay tuldok, ang lahat ng ito Gusto gawin ay ang paghahanap sa pamamagitan ng string.
At sa unang pagkakataon ay nakikita ito ng isang tuldok, ito ay bumalik lamang sa pointer
sa huling token natagpuan sa string bago ito.
Kaya ito ay pumunta dito mismo.
>> At ito ay magbibigay lamang sa akin 7.php.
At kung ako ay upang tawagan ang gumana nang isa pang beses,
ito ay magbibigay sa akin lamang ang Php.
At sa gayon ang lahat ng function na ito ay ginagawa ay paglabag down sa mas malaking string
sa mas maliit na mga string depende sa kung ano ang iyong hinahanap.
>> At kaya halimbawa, sa ang iyong mga function hitsura up
kung gusto mong tingnan kung ano ang tiyak na mga character ay resulta
o kung tuldok mangyari o mangyayari extension, mga function na ito ay medyo kapaki-pakinabang.
Oo.
Huwag mag-alala.
Ito ay ang lahat be-- oo, ano ang up?
>> Madla: Kaya sa unang linya, kung kami ay gumagamit ng halimbawa na ito,
ano ang gusto namin maisingit iyon?
ANDI PENG: Oo.
Ikaw ay tatawag lamang ng isang strtok string comma delim.
At string ay katumbas section.7.php.
At pagkatapos ikaw ay delim maaaring maging pantay-pantay sa tuldok lang.
>> Madla: OK.
>> ANDI PENG: Oo.
Katulad na.
Lahat ng mga function ay medyo katulad kapag pumunta kami sa pamamagitan ng mga ito.
Sila lamang gawin bahagyang iba't ibang mga bagay.
Ngunit ang lahat ng ito ay pagpunta sa gumawa ng iyong buhay ng maraming mas madali.
Second function, ang isang ito ay tulad ng super, super, super mahalaga,
ay the-- hold up.
>> Oops.
Strchr paghahanap para sa unang occurrence-- talaga, oo.
Strchr ay ang function na Ako ay talagang lamang nagdaraan.
Kaya huwag pansinin kung ano ang sinabi ko para sa unang function.
Talagang Ito ay tinatawag na strchr.
>> Kaya kung ano ang nangyari dito ay kung ikaw ay bibigyan ng isang string sa isang pansamantalang trabaho c,
ito ay magbibigay lamang sa inyo ang anumang na.
Oo.
Kaya sa tingin ng mga ito bilang str, na ay isang string, at chr bilang char.
Kaya lahat ng sinusubukan mong gawin ay ang paghahanap para kung saan ang isang char ay sa loob ng isang string.
At kaya naghanap ito para sa unang pangyayari ng mga karakter
c sa string str.
>> Madla: [hindi marinig].
>> ANDI PENG: Yup.
At pagkatapos ay kung hindi ito mahanap ang ito, ito ay pagpunta upang bumalik null.
Kaya isang bagay na pagpunta sa maging tunay kapaki-pakinabang para sa iyo guys sa paggawa ng pset
kung, halimbawa, ikaw ay naghahanap para sa isang extension tulad ng isang .docx para sa isang Word
dokumento o isang .pdf para sa isang PDF na dokumento, maaari mong uri ng gamitin ito upang tumingin
para sa anumang ay pagkatapos sa bawat oras na makikita mo ang isang tuldok, di ba?
At kaya medyo marami, kung ikaw tumakbo na sa pamamagitan ng mga function,
kung ito ay nagbabalik null, pagkatapos ay alam mo na ito
ay hindi mahanap ito dot, na nangangahulugan na ito malinaw na ay hindi isang wastong file extension.
O kung ito ay nagbabalik isang bagay, pagkatapos ay alam mo
ito ay pagpunta sa bumalik kahit anong ni talagang matapos ang extension.
Kaya mga mo na nagkaroon nagsimula naghahanap sa pamamagitan ng lookup
at mai-parse, function na ito ni magiging sobrang kapaki-pakinabang.
Kaya kami ay tunay na pagpunta upang ipakita ang gamit na ito.
>> Bakit hindi ka guys subukan ang pagsusulat ng function na bool pangungusap char * s na
nagbabalik lamang na tunay na kung s ay isang pangungusap at maling kung hindi man.
Kaya magparamdam, ikaw ay pagpunta upang gamitin ang marahil strchr.
O maghanap ka na lamang sa string para sa isang tiyak na character.
At kaya sa isang pangungusap, kung ano ang naghihiwalay sa isang pangungusap
mula sa isang di-pangungusap, ano ang tiyak na character?
Madla: A space.
ANDI PENG: A space, di ba?
At kaya kung ano ang ginagawa namin marahil pagpunta sa nais na gawin sa loob ng function na ito dito?
>> Madla: [hindi marinig].
>> ANDI PENG: Kami ay pagpunta sa nais na strchr string para sa ang hitsura ng mga puwang.
Dahil kung ito ay nagbabalik ng isang bagay, at pagkatapos ay alam namin na ito ay dapat na isang pangungusap.
Iyon ay nangangahulugan na kailangan namin magkaroon ng isang puwang na ito sa string.
>> Kung walang space, pagkatapos ay alam namin na, hey, hulaan ito ay hindi isang string.
Ito ay marahil lamang ng isang talagang mahabang salita.
Kaya Bibigyan kita ng isang lalaki ng isang pares minuto upang isulat ang function na ito.
Oo.
>> Madla: kang makakuha Ibig ang string na ito mula sa mga gumagamit?
>> ANDI PENG: Oo.
Kaya ito ay isang function na lamang.
Kaya isipin sa loob ng iyong pangunahing pag-andar mayroon ka nang have-- sabihin pumunta dito.
SIGE.
Kaya ako ng nakasulat na programa na ito kung saan Mayroon akong aking mga pangunahing pag-andar na kung saan ang
Lamang ko na nilikha ng dalawang mga string.
Ang unang isa ay Hi, ang aking pangalan ay Andi-- malinaw, isang pangungusap.
Ang aking pangalawang isa ay lamang Andi, malinaw na hindi pangungusap.
>> At kaya ako nagpapatakbo ng parehong ng mga string sa pamamagitan ng function na ito.
Gusto ko sa iyo guys na magsulat cold pangungusap.
At ako sa pag-iimbak ng mga halaga, at pagkatapos lamang print ang mga ito out.
Kaya mag-isip na ang gumagamit ay pagpunta sa pumasa sa isang string.
At pagkatapos ang iyong pagpunta sa mahalagang malaman kung ito ay isang pangungusap o hindi
at bumalik totoo o hindi naaayon.
>> Kung ikaw guys na nais na magbigay ng isang thumbs up o mga ulo up, tango ulo,
ay kahit sino ay handa na upang simulan na ito, na ang gusto ay mabuti.
Siguro tulad ng 30 segundo pa?
Lahat tama.
Tingnan natin kung maaari mong subukan Ipaalam pagsulat na ito function.
>> Kaya palsipikado coding-- lamang ako ng pagpunta sa uri ng paglalakad sa pamamagitan ng mga ito sa ngayon.
Medyo marami, alam namin ang function na kailangan namin upang gamitin.
Kami ay pagpunta sa tawag na function sa aming string at paghahanap para sa isang space.
Kung ito ay nagbabalik ng isang bagay, at pagkatapos ay dapat namin alam na, malinaw, ito ay isang pangungusap.
Dahil mayroong mga puwang.
Pagkatapos kami ay pagpunta sa nagbabalik ng tunay.
Iba Pa, kami ay pagpunta upang bumalik false.
Nais ba ng sinuman na magbigay ng akin ang unang linya ng code
na aktwal na kami ay pagpunta gamitin upang isulat ang mga ito?
Ito ay talagang ang pinakamahirap linya ng code rin.
Oo.
>> Madla: Kung strtok s--
ANDI PENG: strchr lamang.
Madla: [INTERPOSING tinig] space ay hindi kapantay sa null.
>> ANDI PENG: Cool.
Tama.
Ang bawat maunawaan na ang unang linya?
Kami ay pagpunta sa tumawag strstr, na kung saan ay isang function na ang mga paghahanap
ang s string para sa mga char ng space.
At kung ito ay hahanap ng mga ito, ito ay pagpunta sa ibalik ang isang pointer sa kung saan na.
>> Kung ito ay hindi mahanap ito, ito ay pagpunta upang bumalik null.
Kaya kung ito ay nagbabalik ng kahit ano maliban sa Null, pagkatapos namin kung ito ay natagpuan ang isang puwang.
Ba na magkaroon ng kahulugan?
Cool.
Lahat tama.
Kaya kung alam namin ito ay matatagpuan sa isang space, ano ang gusto naming gawin?
Madla: Bumalik totoo.
ANDI PENG: Yup.
Bumalik totoo.
At pagkatapos ay, ang isang tao ay nais na tapusin ang pag-andar para sa akin?
Oo.
Iba Pa, katulad nito.
At subukan ipon na ito.
>> Oo.
Kaya bilang ka guys ay maaaring makita mula sa mga output, tandaan Booleans sa C
ay palaging ipinahayag sa binary.
1 ay totoo.
0 ay hindi totoo.
>> Kung kami ay upang patakbuhin ang function sa string ng isa, na
ay Hi, Andi-- aking pangalan malinaw, ang isang sentence-- ang resulta
naka-print out sa 1 na kung saan ay totoo.
Ang ikalawang isa, na kung saan ay lamang isang salita, ng resulta nakalimbag out
sa 0, na kung saan ay hindi totoo.
Ang bawat malinaw na uri ng sa kung paano mga function na ito ay isinulat?
Oo.
>> Madla: Maaari din namin na gawin, sa halip ng ay hindi pantay hindi, ay katumbas ng katumbas ng 0,
upang ito ay katumbas?
ANDI PENG: No.
Dahil strchr ay isang function.
Pupunta ako upang i-back ito.
Kaya kung ano ang uri ng bumalik ng ating strchr function?
Madla: Oh, OK.
O null.
>> ANDI PENG: Oo.
Ito ay isang pansamantalang trabaho * na nagsasabi sa akin na kahit anong mga function na ito ay pagpunta sa bumalik,
ito ay pagpunta sa maging isang pointer.
Alinman ang pointer ay magiging nakaturo sa kung saan ito ay natagpuan ito,
o ito ay pagpunta upang bumalik isang pointer sa null.
Sa alinmang sitwasyon, ito ay pagpunta upang magbalik ng pointer sa isang bagay.
>> At kaya kung ikaw ay upang equate ito ay katumbas, katumbas, 0,
ikaw ay pagpunta upang makakuha ng isang error compilation.
Dahil ito ay pagpunta upang magbalik ng pointer.
At ikaw ay pagpunta sa subukan upang ihambing ang isang pointer sa isang integer.
At ang computer ay hindi pagpunta sa katulad na.
Oo, eksakto.
Cool.
Ang bawat mabuti?
>> At pangalawa, kami ay pagpunta upang pumunta sa loob ng isang function na tinatawag na strstr.
Huwag mag-alala kung ang mga function ay nakalilito sa iyo.
Ang mga ito ay nakalilito sa akin.
Gaya ng nabanggit, ang iyong guys ay maaaring tumingin, lahat sila tunog medyo marami ang parehong.
Basta sa tuwing ikaw ay nalilito, hilahin pataas ang string.h library.
At ikaw guys maaaring ayusin sa pamamagitan ng na kung saan isang tao.
>> Kaya strstr, ang lahat na ang ginagawa ay mga paghahanap isang string para sa isang buong ibang string.
Kaya kung saan strchr lamang na paghahanap para sa isang solong character,
strstr paghahanap para sa isang buong string.
Kaya ko nais upang tumingin sa, hindi ako alam, Hi, ang aking pangalan ay Andi.
At ang pangalan ng aking matalik na kaibigan ay din Andi.
>> Kung gusto ko upang tumingin para sa mga ito pangungusap para sa buong salita ng Andi,
sana ay naging aking karayom anumang ikaw ay naghahanap para sa.
At ang iyong mga haystack ay kahit na ano naghahanap ka ng mga ito sa loob.
Kaya't kung ikaw ay naghahanap para sa isang tiyak na salita sa loob ng isang pangungusap,
ang salitang iyon ay magiging iyong karayom.
At pagkatapos ay ang kanyang sarili na pangungusap ay magiging iyong haystack.
At kaya naghanap ito lamang ang unang paglitaw
ng string karayom sa string haystack.
Ibinabalik nito ang pointer sa unang paglitaw.
Maliban, tandaan na sa kasong ito, ito ay ang unang paglitaw ng buong string
na kayo ay naghahanap para sa, hindi lamang ng isang character.
>> At kaya ito ay halos ang parehong bagay bilang ang function
lang namin ginawa, lamang na may ng kaunti pang pagtitiyak.
Dahil ikaw ay naghahanap para sa higit sa isang character lamang.
At ang paggamit ay ang eksaktong parehong bilang isa na lang namin ginawa.
Ang bawat OK na ito?
SIGE.
>> Huling isa namin ang pagpunta upang pumunta higit ay strrchr, na kung saan ay hindi
malito strstr o may strchr.
strrchr ay may dagdag na r in doon.
Mag-ingat kapag nagta-type ka.
Maaari mong mahanap ang iyong sarili kasama ng dagdag na r o hindi kabilang ang isang r,
at pagkatapos ang iyong mga function ay hindi pagpunta Nakakuha upang gumana.
At ikaw ay pagpunta sa matulig.
Mag-ingat na kayo ay pagbaybay lahat ng mga function ng karapatan.
>> Kaya strrchr ay ang eksaktong parehong bagay bilang strchr
maliban hahanapin nito hindi ang unang pangyayari ng isang tiyak na character,
ngunit sa halip ang huling paglitaw.
At ito, sa kamalayan na, ito ay halos ang eksaktong parehong.
Ngunit sa halip ng paglipat ipasa sa isang string,
ikaw ay pagpunta sa paglipat paurong sa isang string.
Eksaktong parehong bagay, ikaw lamang naghahanap sa isang iba't ibang mga order.
>> At kaya ito ay maaaring sobrang, sobrang kapaki-pakinabang para sa iyong lookup
function, ang unang function sa iyong pset.
Magpanggap Hayaan na kailangan namin upang makapagsulat ng isang function ng void extension na kung saan namin
pumasa sa isang pare-pareho ang char name * file, lamang ng isang string, ang isang pangalan ng file,
na tumatagal sa pangalang iyon at ng mga kopya out ang extension ng file na iyon.
Kaya halimbawa, kung ako ay upang At mangyayari sa mga string ng pset7.zip,
ito ay pagpunta sa i-print out lang mga extension, na kung saan ay .zip.
At ito ay gumagana para sa anumang uri ng mga extension,
.docx para sa Word o .pdf para sa isang PDF maghain o .html para sa isang file na HTML.
Medyo marami, magsulat ng isang function na maaaring gawin na.
Talagang ako pagpunta sa lilipat papunta sa IDE.
Ito ay hindi load-- doon kami pumunta.
>> Kaya lahat ng nagawa ko dito ay lumikha ng isang pansamantalang trabaho *, first string,
tinatawag pset7.zip.
Pupunta ako upang mag-zoom in.
Lumikha ako ng isang pangalawang string tinatawag finalpaper.docx.
At sumulat sa akin ng isang function na kapag tinatawag ay pagpunta upang i-print out lang
ang mga extension ng file name.
Siguro tumagal ng ilang minuto upang isipin tungkol sa kung paano ka ng pagpunta sa gawin ito.
Bahagyang mas mahirap kaysa sa huling isa,
ngunit ang paggamit ay halos eksaktong pareho.
Oo.
Kaya magsulat ng isang function na tinatawag na extension na, kung ang ibinibigay ko sa iyo ang pangalan ng isang file,
kung ako ay upang bigyan pset7.zip-- mo ako gusto mong i-print out lang ang .zip.
Kung bigyan ako mo finalpaper.docx, i-print lamang ang mga .docx,
lamang ang extension ng kahit anong file.
>> Ito ang tunay na lamang tumatagal ng dalawang linya ng code.
Kaya subukan upang makita kung ikaw Maaari siguro gawin ito sa na.
Talaga, ito lamang tumatagal ng isang linya ng code.
Ngunit dalawang linya ay malamang na mas standard.
Ano ang function na kami ay marahil pagpunta sa nais na tawagan?
>> Madla: strrchr.
>> ANDI PENG: strrchr, right.
Dahil kami ay naghahanap mula sa kanan pakaliwa.
Hindi ko ibigay sa iyo guys isang halimbawa na ito,
ngunit kung ako nagbigay sa iyo ng isang halimbawa tulad ng www.apple.com at gusto ko lang
ang .com, gusto ito ay isang halimbawa ng kung saan na nais mong tawagan ang huling pagkakataon
ng panahon at hindi ang unang, tama?
Kung kayo ay call strchr, ito Gusto ko na ibinigay sa iyo ng apple.com.
>> Kung tinawag mo strrchr, ito ikaw ay bibigyan ng .com.
At kaya maging maingat sa kung aling mga ways-- sa aking halimbawa,
maaari mong marahil ay maaaring magkaroon ng nakasulat lang ito gamit strchr,
dahil mayroon lamang isang tuldok.
Ngunit sa ibang mga pagkakataon, na maaaring hindi ito ang kaso.
At kaya laging subukan na disenyo ang iyong code na rin, kaya na- oo?
>> Madla: Kaya sa Halimbawa sinabi mo lang,
kapag kayo ay strrchr gagawin ito bigyan Com mo o lamang dumating?
>> ANDI PENG: Ito ay magbibigay sa iyo ng .com.
>> Madla: OK.
ANDI PENG: Oo.
Ito mga puntos sa kung saan ito natagpuan ito.
Oo.
30 segundo siguro?
Oo.
Ang bawat mabuti o marahil ng kaunti pang panahon?
Ipakita ng mga kamay?
Ipakita ng ulo?
Cool.
Sinuman na nais upang bigyan ang unang akin linya ng code para sa programang ito?
Madla: [hindi marinig].
>> ANDI PENG: So una sa lahat, ni siguro break na ito down ipaalam.
Kaya kung ano ang uri ng return of strrchr?
Bumalik tayo.
strrchr, ano ang uri ng bumalik?
Madla: char *
ANDI PENG: Ito ay isang pansamantalang trabaho *, di ba?
Na nangangahulugan na ikaw ay marahil pagpunta sa nais na lumikha ng isa pang char * sa uri
ng store sa tuwing ito ay pagbabalik sa, right?
Dahil kung ikaw ay tumawag ang function strrchr,
ito ay pagpunta upang bigyan ka ng isang pointer sa saan man ito na natagpuan na ang huling panahon,
right?
>> Ngunit ikaw ay pagpunta sa nais na imbak na sa isang lugar, di ba?
At kaya paano namin code ito sa aming programa?
Madla: Gumawa ka ang char * [hindi marinig].
ANDI PENG: Yep.
Madla: [hindi marinig].
ANDI PENG: strrchr.
Oo.
Oh, hindi nakuha ng isang r doon.
Madla: Pangalan ng File [hindi marinig].
Ano ito?
Oh, Lamang ito s.
>> ANDI PENG: Oh, ito lamang ay s.
Yup, sorry.
Pagkakamali ko.
Mga halimbawa ay hindi tumugma sa.
>> Madla: At pagkatapos ay tuldok.
>> ANDI PENG: Yup.
Mag-ingat kapag ikaw guys are-- dito, hayaan mo akong mag-zoom in.
Mayroon kaming pumunta.
Mag-ingat kapag ikaw guys ay type, lalo na kapag
ikaw ay gumagawa ng isang pansamantalang trabaho lamang.
Ito ay talagang madaling sinasadyang lamang gawin double quotes sa halip na single.
>> Iyon ay hindi gagana.
Ang iyong tagatala ay pagpunta sa magreklamo.
At ang iyong mga function ay hindi lamang ang pagpunta upang tumakbo.
At kaya maging maingat kapag ikaw ay gumagawa ng mga bagay-bagay
may karakter na ito ay single quotes.
At sa gayon ay ang linyang ito ng code magkaroon ng kahulugan sa lahat ng tao?
Kami ay ang paglikha ng isang pansamantalang trabaho * pointer.
Dahil strrchr nagbabalik isang bagay ng uri pointer.
>> At kaya kami ay pagpunta sa tumawag strchr on s, kung saan ay ang string, ang file
pangalan, na kami ay pagpasa sa.
At kami ay naghahanap para sa huling halimbawa ng isang tagal ng panahon, na kung saan ay
lamang ang nag-iisang quote dot single quote.
Oo.
>> Madla: Kapag ginagamit namin double quotes at kapag nagawa na ginagamit namin single quotes?
>> ANDI PENG: Oo.
Kaya double quotes ay laging ginagamit kapag ikaw
magkaroon ng isang string ng higit pa sa isa.
Kaya't kung ikaw ay gumagawa ng strstr, kung saan ay ang isa na kayo
maghanap ng isang string para sa string, ikaw ay pumasa ito sa loob ng double quotes.
Ngunit anumang oras ito lamang isang solong character,
na nais mong gawin single quotes.
>> Ito ay isang magandang bagay na dapat tandaan.
Kaya ngayon na mayroon kami sa aming pointer, ano ang gagawin namin sa mga ito?
Hinihiling ko sa inyo guys sa pag-print ito, right?
Kaya [hindi marinig], gusto mong bigyan ako ang linya ng code?
>> Madla: printf--
>> ANDI PENG: Oo.
Madla: kailangan --You isang may-hawak ng lugar.
ANDI PENG: Yup.
Madla: I-print ang may-hawak ng lugar.
Hindi ko alam kung ano ang lugar holder ay ngunit point na ito.
>> SIGE.
Ni laktawan na para sa ngayon at pagkatapos ay hayaan.
Madla: At pagkatapos comma--
>> ANDI PENG: Pointer, di ba?
>> Madla: Pointer, yup.
>> ANDI PENG: So uri ng isang kahanga-hangang gawa tanong, ay may kinalaman sa mga payo at mga string
na uri ng na-usapan natin ang tungkol na.
Anong uri ng mga may-hawak ng lugar ang ginagawa namin kailangan para sa isang pointer para sa isang pansamantalang trabaho *?
>> Madla: [hindi marinig].
ANDI PENG: Oo.
Ito ay mas madali kaysa sa tingin mo guys na ito ay.
Madla: String?
ANDI PENG: Ito ay isang string lang, eksakto.
Dahil tandaan string hindi tunay na umiiral.
Ang isang pansamantalang trabaho * ay ang eksaktong parehong bagay bilang isang string.
At kaya talagang ito s ay kung ano ang dapat ay ginagamit sa lahat ng mga kasama.
SIGE.
>> Tingnan natin kung maaari naming subukang patakbuhin natin ito.
Gawin ng isang extension make Hayaan.
Cool.
Ikaw guys makita kung paano ako nakapasa sa psset7.zip at ang finalpaper.docx,
at mga kopya lamang ito .zip at ang .docx?
Magkaroon ng kahulugan?
>> OK Kaya tingin ko sa iyong hitsura up function sa iyong pset ikaw
pagpunta sa ay nagtanong kung ang string ay may isang tiyak na nagtatapos,
kailangan mong magbigay ng isang tiyak na code error.
At kaya ito ay medyo nakalulungkot.
Dahil kung maaari mong malaman kung ano ang mga extension ay,
maaari mong pagkatapos ay ihambing na extension upang makita kung ito ay tumutugma up
may isang tiyak na extension.
At pagkatapos ay maaari kang bumalik isang mensahe ng error, tama?
Oo.
>> Madla: Kaya hindi namin kailangang magdagdag ng 1 o kahit ano?
Pointer ay pumunta sa the--
>> ANDI PENG: Hindi.
>> Madla: --point matapos na ito.
>> ANDI PENG: Oo.
Ito mga puntos eksaktong upang kung saan ang mga kaganapan ay.
Kaya halimbawa dito, hindi namin na naghahanap para sa tagal ng panahon.
Kaya ito ay pagpunta upang bumalik isang pointer sa panahon.
At pagkatapos ito ay pagpunta sa i-print out simula sa panahon.
>> Kaya hindi mo na kailangang magdagdag ng 1.
Kahit na, ito ay ganap na multa na, kung hindi ka sigurado, na uri lamang
ng pagsubok na ito sa iyong sarili.
Bumuo ng isang sample na programa.
Subukan ito sa iyong sarili at makita kung saan ito ay pag-print.
Iyon din hindi isang masamang paraan upang gawin ito.
>> Cool.
At iyon ang halos lahat Nagkaroon na ako para sa iyo guys ngayon.
Ginawa namin ang isang pulutong ng pset stuff ngayon.
Kaya kapag may pagdududa, tulad ng Sinabi ko, laging maghanap
ang string.h library para sa pset.
May pupuntahan maging ng maraming function sa doon na maaaring maging kapaki-pakinabang.
Ang ilan ay maaaring maging kapaki-pakinabang.
Hindi ko talaga alam.
Wade sa pamamagitan nito, may isang buong grupo ng mga ito.
strstr, strchr, strrchr ay super, super helpful, pati na rin ang
ang strcpys at strcasecmps na mayroon na ginamit namin.
>> Ito lang ang pulutong ng panggugulo sa paligid na may string, pagtukoy kung ang mga ito ay pantay-pantay,
pagkuha ng mga bagay-bagay sa labas ng string, at ma-buksan ang tama files.
Ito ay isang pulutong ng mga file I / O. pset ay talagang hindi na masama.
Ikaw ay pagpunta sa tumagal ng isang tingnan ang mga ito, i-download ito,
at makita ang maramihang mga code.
Huwag mag-alala, ang code mo tunay na sumulat ay hindi masama sa lahat.
Kung sinuman ay may mga isyu sa kanilang server, dumating makita ako pagkatapos ng seksyon.
>> Humihingi ng paumanhin sa sandaling muli para sa hindi nagdadala ng kendi sa Halloween.
Hindi ko alam kung ano ang mali sa akin.
Ngunit kami ay may double ang kendi sa susunod na pagkakataon.
At good luck sa iyong pset sa linggong ito.
Oo.