>> ANDI Peng: Olemme melkein läpi kaikki psets.
Itse asiassa, olemme kautta enemmistön vaikeimmista psets.
Joten olemme oikeastaan ​​vain menossa eräänlainen tuulta
kautta seuraavan parin viikon.
>> Aiomme alkaa puhua meidän lopullinen hankkeita, tapahtumia tulossa
vuonna lähiviikkoina.
Ja elämä on helppoa.
Joten ei liikaa tänään.
>> Toivottavasti todella tuulta kautta tämän päivän esityslistaa,
ja sitten pois täältä joidenkin aikaa tuhlattavaksi.
Lisäksi haluan pyytää anteeksi puutetta karkkia tänään.
En tiedä miksi.
Mutta viikon edeltävällä Halloween, haluan unohtaa karkkia.
>> Joten olen oikeastaan ​​vain valtava pettymys sinulle juuri nyt.
Koska minä kirjaimellisesti muistan karkkia jokaisesta luokan, mutta Halloween.
Mutta ensi viikolla, minä tuon kaksinkertainen määrä karkkia
kuromiseksi, että kaikki sinulle.
Se tulee olemaan suuri.
>> Joten minulla on pari ilmoitukset koskevat joitakin aikataulutus.
Minulla on aikataulujen kysymyksiä.
Sitten aiomme siirtyä puhua mitä kutsutaan chmod.
Aiomme puhua nopeasti TCP / IP HTTP.
>> Ja sitten me aiomme koodia meidän oma verkkosivusto HTML ja CSS.
Ja sitten minä itse jättää ehkä kuten 20 minuuttia puhua pset6.
Koska pset6 on todella paljon kamaa, että olemme jo nähneet aiemmin,
mutta halusin virkistää jotkut näistä käsitteistä
sekä opettaa pari uusia toimintoja.
>> Viileä.
Joten ensinnäkin, tervetuloa takaisin tauko.
Toivottavasti olet tauko oli nautittavaa.
Onko teit tauko?
Yleisö: Meni New York.
ANDI Peng: Menit New Yorkiin?
Mielestäni puoli koulumme meni New Yorkiin.
Ei se haittaa.
Olen viettänyt suurimman osan tauko istumista sängyssä Netflixing.
Ja se oli hyvä aika.
>> Mutta olemme nyt takaisin, takaisin istunto, takaisin vauhtiin asioita.
Meillä PSET johtuu perjantaina keskipäivällä.
>> Mielestäni olet jo kyytiin tietokilpailu, joo?
Joten kukaan muukaan, joka on ei ollut heidän tietokilpailuja,
tulkaa ja saat tietokilpailuja minulta lopussa osassa.
Tai seurata minua alas kampuksella.
Otan sen minulle jonnekin.
>> Opinnäytetyömme valmiiksi ehdotuksen myös.
Joten niille meistä, jotka eivät ole koskaan Tämän luokan ennen, huippukivi CS50
on hyvin paljon huipentui tässä grand projekti opiskelijat ehdottaa.
Ja alustava ehdotus, vain yleinen ajatus
siitä, mitä kannattaa tehdä niiden projekti, että ajatus johtuu maanantai
ensi maanantaina keskipäivällä.
>> Niin aika paljon, David uskoakseni puhua enemmän tästä luento
jos hän ei jo.
Ja siellä on kiinteä sivu sivuillamme selitetään
kaikki vaatimukset hankkeen.
Mutta pohjimmiltaan, pick tahansa aiheesta, että olet
ollut kiinnostunut koko aikaa täällä
CS, olipa se pelaamista tai suunnittelu tai videon tai mitään.
>> Ja voit todella sellainen nyt soveltaa joitakin opetuksista
että olemme oppineet täällä CS50-- hi, welcome-- melko paljon johtamiseen
Opinnäytetyön valintasi.
Kaikki se johtuu maanantai on vain lyhyt liepeet sähköpostitse
minulle, nopea lause, kuten, hei, Andi,
Olen todella kiinnostunut suunnittelussa peli, joka tekee tämän iOS.
Viileä.
Anna minulle lyhyt alkuperäisen ideoita opinnäytetöiden.
Ja jutellaan läpi vai ei että on todella hyvä idea tai ei,
jos se on mahdollista idea vai ei.
Mutta vain alustavan ehdotuksen johtuu ensi maanantaina.
pset6, meidän ihana web-- että on väärin.
Pset7?
pset6?
Se on pset6, eikö?
>> pset6, web-palvelin, johtuu Perjantaina keskipäivällä kanssa myöhään päivä.
Virka jatkaa normaalisti maanantaista torstaihin 8:00-11:00 tällä viikolla.
Mielestäni Commons seuraava kolme yötä.
Viileä.
Ennen meillä oli aineeksi, ei kukaan on kysyttävää, vitsejä, tarinoita?
Mitä teit syksyllä tauko?
>> Yleisö: Mitä teen?
>> ANDI Peng: Jo se on aikoja sitten oikeastaan.
Christabel meni New Yorkiin.
Olen asunut täällä ja Netflixed.
Yleisö: Ai, joo olin täällä.
ANDI Peng: Oh, OK.
Yleisö: En muista mitä nimenomaan.
ANDI Peng: Ei se mitään.
Yleisö: Netflixing luultavasti.
ANDI Peng: Netflixing.
Joo, se on hyvä aika.
OK.
Selvä.
Kaikki kysymykset ennen me hypätä materiaalia?
Lisäksi aiomme yrittää nopeuttaa kautta jakso tänään,
ei liikaa kattamiseen.
Ja toivottavasti saamme täällä hieman aikaista.
Anteeksi ei karkkia, myös.
Olen pettynyt, varsinkin Halloween.
>> Selvä.
Viileä.
Joten aiomme alkaa puhua komentorivillä kutsutaan chmod.
chmod, kaikki se on vain Unix-järjestelmä soittaa johdetaan komentoriviltä
muuttaa tiedoston käyttöoikeuksia.
Niinpä esimerkiksi, olemme kaikki kohtasi sivu
kuten tämä luultavasti joskus meidän käyttöikä on internet
käyttäjä, jossa meidän web-palvelin on antanut meille virheen kielletty.
Sinulla ei ole lupaa käyttää, yadda, yadda, yadda, tällä palvelimella.
Kaikki tämä todella tarkoittaa on, että käyttöoikeudet
jotka on liitetty mitä tahansa sivu yritit pääsy
ei avoinna sinulle.
Niin aika paljon, chmod on tapa, jolla
voimme muuttaa ne pääsyoikeuksien antaa kaikille, käyttäjä, ryhmä,
tai maailma, tai yhdistelmä näistä pääsy
tiettyjä tiedostoja, hakemistoja, mitään todella,
minkäänlaista järjestelmän käyttöjärjestelmä.
Joten jos jokin kaverit ovat tietokoneet jos tunnet
kuten seuraavat kanssani tänään, täysin vapaasti kirjoita asioita
kaupungissa.
Jos ei, voit vain hengailla.
Joten aion todella vetää minun terminaali juuri nyt.
>> Joten komento suorittaa chmod, tai ainakin vain
luetella käyttöoikeudet oman hakemiston, on vain ls-l.
Kuten näette, joukko juttuja avautuu joista useimmat
on tärkeää meille vasemmalla puolella täällä.
Näittekö joukko rs, WS, 1 /.
Joo.
>> Ne ovat pohjimmiltaan vain kaikki tiedoston käyttöoikeuksia
selittää mitä hakemistoihin ja tiedostot omassa järjestelmässä on.
Joten mennään takaisin Power Point täällä.
Joten lisäksi tiedostojen nimet kuten te voi nähdä oikealla,
etsimme nähdä olennaisesti vain sarake vasemmalla.
Joten lisäksi vain tiedostojen nimet, me
voi nähdä oikeudet tiedostojen, niiden omistajaryhmä, ryhmän nimi, päivämäärä
että tiedostoa on viimeksi muutettu, jne.
Voit nähdä paljon asioita käyttäen chmod.
Niin että luemme chmod on, että ensimmäinen kirjain olemme melko paljon sivuuttaa
kannalta lukuoikeus.
>> Ensimmäinen kirjain vain kertoo meille, mitä tyyppinen järjestelmä olemme päästä.
d, tässä tapauksessa on kansio tai hakemisto.
Joten tiedämme, että tällä hetkellä minun työtila kohta seitsemän oli hakemistossa.
Ja sitten näet kolme kolmisoinnut lähinnä vain
kolme sarjaa kolme merkkiä.
Ja voit ajatella kunkin kuin hieman.
>> Joten sinun tarvitsee vain kolme sarjaa kolme bittiä, yhdeksän bittiä yhteensä.
Kohtelet niitä ryhmissä kolme.
Joten ensimmäinen ryhmä kolme on aina teidän käyttöoikeuksia.
>> Toiseen ryhmään kolme on aina ryhmäsi käyttöoikeudet.
Ja kolmas asettaa kolme on aina kuin maailma,
kaikkialla käyttöoikeudet.
Joten kai helppo kysymys on mitä on
ero käyttäjän ja ryhmän.
Suurin ero välillä käyttäjän ja ryhmän
on, että käyttäjä on juuri sinulle henkilökohtaisesti päästä mitä se on nyt.
Ryhmä voi olla, jos sinulla on useita käyttäjiä yksi tietokone, esimerkiksi.
Kaikki ne voidaan pitää ryhmittymänä.
>> Ja sitten maailma on vain maailmassa jokainen.
Jotta voimme nähdä myöhemmin, miten voimme muokata niitä eri käyttöoikeuksia.
Niin aika paljon, olemme menossa silti keskittyä
puolelta vasemmalla, jossa hakemiston CS50 näemme drwx,
jossa R tarkoittaa vain sitä, se on luettavissa.
>> W tarkoittaa vain sitä, se on kirjoitettava.
Ja sitten x vain tarkoittaa että se on suoritettavan.
Luulisi se sellainen ja ei ole mitään järkeä.
Sen pitäisi olla e.
Mutta x oikeastaan ​​eräänlainen toimii hieman paremmin,
koska voit muistaa sen paremmin.
>> Joten kolme asioita voi tehdä, voit joko lukea tiedoston,
voit on lupa kirjoittaa tiedoston, tai voit olla lupa
suorittaa tiedoston.
Ja niin että me todella edustavat niitä bitteinä
on numerot 4, 2, ja 1.
Niin mitään, että on luettava on edustaa useissa 4.
>> Kaikki, mikä on kirjoitettava edustaa 2.
Ja kaikki, mikä suoritettavia jota edustaa 1.
Joten tässä mielessä, voimme myös edustavat nämä numbers--
hi, tervetuloa, eri tavalla.
Anteeksi.
Ennen, aion anteeksi kaikkien puolesta
kirjoittamalla luokan nyt.
Unohdin karkkia tänään.
Olen pahoillani, että olen epäonnistunut tällä viikolla Halloween.
Minä tuon kaksinkertainen määrä karkkia seuraavan kerran muodostavat sen.
Mutta anyways, anteeksi siitä kaverit, anteeksi.
>> Niin että voimme todella syöttää meidän komento argumentti on meidän
voi tehdä chmod ryhmä slash oikeudet, jos ryhmä on juuri mitä
ryhmä yritämme muuttaa.
Ja käyttöoikeudet ovat mitä haluamme lisätä siihen.
Niinpä esimerkiksi, plus lisää oikeuksia,
ja Vähennä vie käyttöoikeudet.
>> Ja tyypit ryhmän meillä on kaikille, U käyttäjille, g ryhmille,
tai o muille.
Se on vähän abstrakti juuri nyt.
Mutta me mennä yli pari esimerkkiä juuri tämän osoittamiseksi todella nopeasti.
Jokainen hyvä tästä liukumäki, joten voin siirtyä eteenpäin?
Viileä.
>> Niinpä esimerkiksi, rwx.
Ennen kuin puhumme mitä se edustaa, ensinnäkin mitä rwx tarkoittaa?
Jos huomaat, että tämä tietty tiedosto on käyttöoikeuksia rwx,
mitä se tarkoittaa henkilö voi pystyä tekemään?
>> Yleisö: lukea, kirjoittaa ja suorittaa.
>> ANDI Peng: Joo, täsmälleen.
Voit lukea kirjoittaa ja suorittaa.
Koska kaikki kolme näistä hahmot ovat läsnä.
Joten jos me mennä eteenpäin ja puhua tästä bitteinä,
rwx voidaan myös edustettuina 700.
Koska kuten näette tahansa eräänlainen hakemiston lupaa,
siellä on kolme kolmisoinnut.
>> Tässä tapauksessa vain ensimmäinen kolmikko on mitään siellä.
Joten tässä tapauksessa, r on 4, w on 2, ja x on 1.
Jos lisäät ne yhdessä, se on 7.
>> Ja joten jos muuntaa se binääri, se on 700.
Koska 7 on ensimmäinen kolmikko.
0, ei ole mitään esillä toisessa kolmikko.
Ja sitten ei ole mitään läsnä kolmas kolmikko, niin se on toinen 0.
>> Joten samassa mielessä joukko kolmisoinnut voidaan esittää vain bitteinä, vain
binary samoin.
Joten 700 tarkoittaa täsmälleen sama asia kuin rwx ------ kannalta käyttöoikeudet.
Jokainen selvää siitä?
Viileä.
Ja niin chmod 111 antaisi joka käyttöoikeudet tiedosto?
Antaa te pari sekuntia muuntaa tämän.
Muista, ensimmäinen kolmikko on käyttäjälle.
Toinen kolmikko on ryhmälle.
Ja kolmas kolmikko on kaikille.
>> Ja niin chmod 111 antaisi joka tyyppi käyttöoikeudet ja kenelle?
Kestää muutaman sekunnin mieti sitä ja tulla takaisin.
Joo.
>> Yleisö: joten jokainen voi suorittaa sen.
ANDI Peng: Joo, täsmälleen.
Yleisö: Mutta kukaan ei voi lukea tai kirjoittaa.
ANDI Peng: Ja rohkeasti selittämään kaikille
miten tulit tähän johtopäätökseen.
>> Yleisö: No, käyttäjälle, ryhmä, ja maailma, se on kaikki 1,
joka on koodi suoritettavan.
>> ANDI Peng: Joo, täsmälleen.
Joten 1, tässä tapauksessa kaikki tiedämme on että on koodia.
Koska lukeminen on 4.
Kirjoittaminen on 2.
Ja executable on 1.
Joten on kaikki kolme kolmisoinnut ovat 1, että tarkoittaa, että maailmalle, käyttäjälle,
ja ryhmään, he ovat kaikki suoritettavat.
>> Jokainen hyvä, että?
OK.
Ja niin toinen tapa että voimme todella
kirjoittaa tämä myös on sinua voisi vain tehdä chmod
plus X. tarkoitetaan kaikkia tai kaikille.
Plus tarkoittaa sitä oikeuksia.
Ja sitten x tarkoittaa suoritettavan.
Joten ei kaksi komentoa ovat todella samanlaisia.
Joten jos haluat suorittaa tämä teidän terminaali,
teet chmod 111, nimi hakemistoon tai tiedoston.
Tai voit tehdä chmod plus X, nimi hakemistoon tiedoston.
Sama juttu, vain helpompi tapa, ehkä joidenkin edustamaan tai muutos
tiedostojen oikeudet.
>> Jokainen OK chmod Ennen kuin siirrymme?
Viileä.
Joten nyt aiomme päänsä muutaman dioja hyvin abstrakteja käsitteitä
että olen aika paljon menossa tuulta kautta.
Ja se on täysin OK, jos eivät ymmärrä kaikkea.
>> Jo nyt, en vieläkään ole oikeastaan ymmärtää kaiken täydellisesti.
Mutta se on enemmän saada ylätason ymmärtämistä
miten jotkut näistä asiat toimivat.
Joten aiomme puhua nopeasti noin TCP / IP,
joka on vain Transmission Control Pöytäkirja slash Internet Protocol.
>> Muistamme luento, David, hän opettaa sinulle
esimerkki, jossa hän oli kulkea toteaa kirjekuoressa
asti kuten huipulle salissa?
Joten laissa koulun auditorio David osoitti olennaisesti
miten TCP / IP toimii siinä mielessä, että kaikki se
on on keino varmistaa, että tiedot on toimitettu yli palvelimella
tai internetissä.
Joten esimerkissä kirjekuoren ja viesti, käyttäjä lopussa
näki, oi, minun piti saada neljä pakettia tietoa.
>> Mutta olen itse saanut vain kolme.
Tämä tarkoittaa, että minun on puuttuu yksi.
Ja yksi ei toimitettu.
Ja niin TCP / IP internetissä, kautta tietokoneen ja palvelimen,
tekee täsmälleen sama asia.
Kaikki se on täsmennettävä puitteet, joissa kadonneet tiedot
paketit voidaan paheksua ja saanut.
>> Kuten Internetissä kun yrität käyttää tiedostoja verkossa tai lähettää tiedostoja
ystäväsi tai katsoa web selaimet, tuhannet ja tuhannet
miljardeja ja miljardeja tavujen tietojen
siirretään millisekunnissa.
Ja se on todella, todella sekava.
Ja se on todella vaikea oikeastaan ​​tiedä mitä on lähetetty
ja mitä ei ole lähetetty.
>> Ja niin TCP / IP vain täsmennetään yhtenäinen kehys
jossa web selaimen ja palvelimen
voi sellaista viestiä toistensa kanssa, juuri
varmista, että paketit ovat kaikki täällä ja mitään Lost
ja kaikki tiedot, jotka olet pyytänyt on todella näyttää oikein.
Jokainen OK juuri niin hyvin lyhyt korkea ymmärtää?
Viileä.
>> Niin silloin me siirrymme osaksi puhumme HTTP, joka
on vain Hypertext Transfer Protocol.
HTTP, kaikki se on on mitä tahansa sivu tai tiedostoa käytetään sivuston,
palvelin palauttaa HTTP tilakoodi vastauksena
pyynnön varmistaa, että joko, oi, tämä pyyntö meni läpi.
Ja kaikki on näy oikein.
Tai, Voi ei, 404.
Jotain meni pieleen.
Voi, en voi näyttää.
>> Kaikki se on on, että mitä tahansa yrität käyttää,
käyttää käyttäjä yrittää käyttää, on internet-- vain varmista
että sinulla on joko onnistuneesti näytetty mitä se oli tai ei
onnistuneesti käytetyn mitä se oli.
Ja niin HTTP tila koodi vain tarjoaa sinulle
keino voisivat tietää, onko tai ei se onnistunut vai ei.
Niinpä esimerkiksi, esimerkiksi pyynnön.
>> Voit nähdä täällä se yleensä tyypillisesti neljä riviä.
Meillä GET HTTP 1.1, joka on vain menetelmä URL-osoitteen, protokollan
versio, kentän nimi, ja kentän arvo.
Joten ei tarvitse kokonaan muistaa mitään täällä.
Juuri sellainen tuntemaan itsesi, miten nämä näyttävät.
>> Tässä esimerkissä menetelmä on pyyntö URL-osoite on vain mitä pyyntö
olet lähettämässä palvelimelta.
Kuten, hei, palvelin, en todellakaan halua pääsy yadda, yadda, yadda, HTTP sivu.
Protokolla versio on vain mitä versio isäntä tai palvelimen
käyttää saada tietoa.
>> Kentän nimi on sivuston tai URL että yrität käyttää,
tässä tapauksessa www.apple.com.
Ja kentän arvo on vain tyypillisesti nimi, arvo.
Ja se voi olla minkäänlaista yhdistelmä kirjaimia tai numeroita tai mitä tahansa.
>> Joten tyypillinen pyynnön, joten mitä tietokoneen todella
lähettää palvelimelle, joka sanoo, hei, Tiedätkö mitä tarvitsen tämän näkyvissä,
että on sellainen pyyntö että he todellisuudessa saavat.
Esimerkiksi vaste mitä palvelin lähettäisi takaisin sinulle
olisi melko sama asia, paitsi tilakoodi yläreunassa.
Joten 200, 2 0 0 on aina tila koodi OK.
Kuten, OK, tämä pyyntö meni läpi.
Voit pystyivät käyttämään kaikki oikein.
Elämä on hyvää.
Elämä on hieno.
Kaikki on täysin hyvä.
>> Ja niin tämä vain kertoo selaimen ja palvelimelle, hei, kaikki on hyvä.
Sain kaikki tiedot tarvitsen.
Viileä.
Mutta ongelma on joskus ongelmia keksiä
kun have-- kestää mielestäni Puhuin kaksoiskappaleet.
Sinulla on vähemmän hyviä vastauksia.
>> Niinpä esimerkiksi, 404 on Sivua ei löydy.
Joskus on Kielletty pääsy.
Sinulla on useita muita tilakoodit että olen
varmasti kaikki nähneet, kun olet yrittää tehdä tutkimusta Internetissä.
Ja selaimen saat , ei, ei voi käyttää.
Ja olet kuin, no, paska.
>> Joten aika paljon, siellä on joitakin melko yhteisiä tilakoodeja.
Ehkä tuntemaan itsesi kanssa mitkä ne ovat.
Hauskin joka Mielestäni olen koskaan kuullut
of-- jos satut etsiä ne kaikki
verkossa, jostain syystä siellä todella todellinen tilakoodi
nimeltään 418 Olen teekannu.
>> Googled jossa alkuperä oli peräisin.
Ja ilmeisesti yksi Aprillipäivä " Päivä pari vuosikymmentä sitten,
joku ajatteli, että olisi hilpeä luoda uuden tilakoodi nimeltään 418
Olen teekannu.
Laillisesti, nimi tämän koodi kutsutaan Olen teekannu.
>> Unohdan mitä sivulla on mennä todella tehdä tämän näytön.
Mutta ilmeisesti, voit itse saada tilakoodin olen
teekannu jotenkin kautta tekee jotain.
Joten ei satoja ja satoja tilakoodien.
>> Jotkut heistä tehdä enemmän merkityksessä kuin toiset.
Mutta aika paljon vain tuntemaan itseäsi yleisimpiä.
Pyydetty kokonaisuus elin on lyhyt ja tanakka, ilmeisesti.
>> Joten joskus on enemmän pelottavaa virheitä kuin minä olen teekannu.
Mutta tämä on yksi, joka kai te sellaista toivoa osuma.
Mutta en usko, että tulet.
Jokainen hyvältä vain tila koodit, pyynnöt, prosessit, valmistus
varma tieto toimitetaan oikein?
>> Joten nyt aiomme siirtyminen osaksi hauska jaksossa tänään,
jossa puhumme hieman siitä HTML.
HTML, kaikki se on HyperText Markup Language.
Se on vain tavallinen kieli käytät luoda kaikki web
sivuja Internetissä.
>> Joten tahansa sivulta, mitä suosikki web-sivun?
Mikä on sinun suosikki web-sivun?
>> Yleisö: [äänetön].
ANDI Peng: Anteeksi?
>> Yleisö: Tumblr.
>> ANDI Peng: Tumblr.
Joten Tumblr on kirjoitettu HTML.
Ja niin me itse mennä läpi ja leikkiä joitakin näistä asioista
myöhemmin.
Aika paljon kaikkea mitä täytyy oppia, tietää,
kirjoittaa HTML voit luultavasti vain Google internetissä.
>> HTML, se ei ole ohjelma kuten C jossa voit luoda muuttujia ja tehdä
hienoja asioita sen kanssa.
Se on enemmän vain, oi, tämä on miten haluavat asioita näkyvän minun verkkosivuilla.
Ja olen juuri menossa laittaa se.
Ja se tulee tyyli sitä.
>> Niin HTML, tavallaan, se on aivan kuin muotoilua tai mallin kieli.
Se on paljon helpompaa.
Se on paljon helpompi oppia, paljon helpompi kirjoittaa
kuin tyypillinen ohjelmointi kieli, erittäin helppo,
erittäin käyttäjäystävällinen saatavilla ja ystävällinen.
>> Joten olemme todella tulee pelata ympärillä, kirjoittaa omia sivuja tänään.
Mutta ennen kuin aloitamme, haluan vain mene yli joitakin lyhyitä parhaita käytäntöjä.
Koska HTML on niin helppo kieli ja koska jopa
jos et pari asioita väärin, joskus ei välttämättä huomaa,
Haluamme varmistaa, että olemme todella kiinni parhaita käytäntöjä
varmistaa, että asioita, jotka voitaisiin menee noin, mutta
eivät aina tule mennä oikealle varmista, että ne minimoitu.
>> Niin aika paljon, varmista teidän sulkemalla kaikki tunnisteet
kun olet kirjallisesti HTML.
Jos avaat elin, varmista, että olet
sulkeminen se elin jonnekin.
Haluat varmistaa, että verkkosivu vahvistaa käyttämällä
mitä kutsutaan W3 Validator.
Voit vain Google että verkossa, ja siellä on linkki siihen.
>> Ja sitten haluat erillinen HTML, joka
on merkkauskieli teidän tyyli, joka on CSS kieli että David
osoittaneet, että olemme myös menossa pelaamaan hieman kanssa luento.
Viileä.
Joten milloin haluat suorittaa HTML CS50 laite,
aiomme ajaa ohjelma nimeltä Apache,
jossa kaikki se on vain rakennettu web-palvelin, että kaikki CS50
on pääsy.
Me kutsumme sitä apache50 vain koska me haluavat soittaa kaikki 50 CS50.
>> Niin että aloitat CS50 web palvelin on kirjoittamalla teidän komento
line apache50 alkaa pisteellä.
Ja jos haluat lopettaa sen milloin tahansa aika, et apache50 päättyä pisteellä.
Ja juuri paina Enter.
Ja se olisi menossa ylös täällä pian.
Jep.
Joten olen juuri menossa nopeasti mennä yli esimerkki todella lyhyt sivun.
Ja aiomme viettää kuten 10, 15 minuuttia pelissä
noin kirjallisesti oman web-sivuja.
OK.
Joten täällä IDE-- voi jokainen nähdä, että?
Ei oikeastaan.
Täällä minä suurentaa.
>> Olen juuri saanut tämän lyhyen mallin täällä mitään todella sitä.
Olemme juuri menossa nopeasti kirjoittaa HTML-ohjelma, jossa me vain
tervehtimään maailmalle.
Joten sama asia kuin C, nyt olemme juuri menossa tekemään sen HTML.
Onko kukaan halua oikeastaan ​​vain yritä antaa minulle ensimmäinen asia
olisi laittaa HTML-dokumentti?
Joo.
>> Yleisö: suluissa, [äänetön].
ANDI Peng: Jep.
Joten jotain, joka on hyvin ainutlaatuinen HTML että me tyypillisesti perinteisesti
eivät kohtaa muissa komento linjatason ohjelmointikielet
on, että me todella Määritä tiedostotyyppi
että tämä tulee olemaan yläreunassa meidän koodi.
Joten tässä instance-- mielestäni se oikea komento, eikö?
Jep.
Ylimpänä, haluat vain sisällyttää bang DOCTYPE html suluissa vain
kertoa tietokoneeseen, hei, varo.
Ja HTML-dokumentti on tulossa.
Ja sitten miten me haluamme alkajaisiksi meidän tiedosto?
Jos me vain sanoa hei, on verkkosivu, jossa lukee hei maailmalle,
miten osaamme rakentaa tätä?
>> Oikeastaan, nyt kääntyä Googlen.
Ja voimme todella tehdä tämän.
Jep.
Siellä mennään.
Niin HTML.
Kuten näette, minun selain on todella automaattisesti muotoilu tämän minulle.
>> Sama asia kuin C, kun luoda avoin kihara ahdin,
selaimen automaattisesti lisää tiiviissä kihara ahdin.
Onneksi meidän IDE rakastaa tehdä tämän meille samoin.
Joten nyt voimme sellaista kirjoittaa alussa tag,
ja se tulee aina kertoa meille Muista kirjoittaa loppuun tag.
Mielestäni tämä on aktivoitu.
Ja sitten haluamme lisätä, aina, pää, jossa on otsikko.
Me vain haluamme ehkä soittaa Tämän Hei, ja sitten elin.
>> Ja siellä mennään.
Se on oikeastaan ​​meidän HTML-dokumentti.
Niin että kaikki HTML-asiakirja on aina tyylistä in-- sama asia
int main mitätön.
Haluat aina olla HTML avata ja sulkea tag
yläosassa ja alaosassa koodin.
>> Haluat olla pään sisällä joka sisältää otsikon, juuri mitä
on menossa näyttämään välilehden Web sivu, ja sitten elin jonka sisällä
todella näyttää sisällön ja mitä haluat tehdä.
Joten jos halusi todella ajaa tämä, aion zoomata takaisin ulos.
Voit todella alkaa apache50 aloittaa piste.
Viileä.
Ja niin näette, nyt linkki on piipahti.
Siinä sanotaan sivustosi on nyt saatavilla jossain linkistä.
Joten kaikki IDE on done-- ei IDE, sorry-- joo,
meidän IDE on tehnyt on luoda web- linkki, johon kaikki sivuillamme
pääsee palvelimelle.
Joten katsomaan täällä.
>> Katsotaanpa klikkaa tästä, mene hello.html.
Ja näet hyvin yksinkertainen kotisivulta Hello World.
OK.
Olemme itse asiassa menossa vain on everyone-- joo, mitä kuuluu?
>> Yleisö: Minulla on peruskysymys.
ANDI Peng: Jep.
Yleisö: Miten säästät tiedosto HTML?
ANDI Peng: Joo.
Joten jos olisin luoda uuden tiedoston, jos en Uusi tiedosto, Untittle, jos en,
section.html, puomi, siinä kaikki minun täytyy tehdä.
>> Yleisö: [äänetön]?
ANDI Peng: Ei.
Yleisö: [äänetön].
ANDI Peng: Ei.
Yleisö: [äänetön].
ANDI Peng: Joo.
Aika paljon, laajennus tiedosto, joka on sisällä IDE,
joka kertoo tietokone, että kertoo selaimen, hei, varo.
Tämä tulee olemaan koodi kirjoitettu tällä kielellä.
Niinpä esimerkiksi, Microsoft Sana, mitä tehdä kaikki Word-asiakirjoja
päättyä, mitä laajennus?
.doc tai .docx, eikö?
>> Kaikki tämä vain määritetään, käyttöjärjestelmän, hei,
sinulla Word-dokumentti tulossa.
Avaa se Word.
Sama juttu PDF.
Se tietää, oh, tarvitsen avaamaan tämän tiedoston
Adobe Reader tai Adobe Acrobat.
>> Ja niin laajennukset toimivat samalla tavalla kuin tietokoneessa.
Jos määrität koodisivu nimetä HTML, niin se tietää,
oh, sinulla HTML-koodia.
Aion käsitellä sitä html-koodia.
Joten se on erittäin älykäs siinä mielessä.
>> Joten kaikki, sallikaa kuin 10 minuuttia ja vain luoda omia sivustoja.
Katsotaanpa lisätä ihanaa.
Voit vapaasti sanoa mitä haluat.
Haluan vain varmistaa, että kaikkien palvelimet ovat käynnissä oikein
ennen kuin me vapauttaa sinut PSET.
Koska jos palvelimet eivät juosta PSET,
että on todella, todella huono.
>> Olen juuri menossa kellumaan ja nähdä, mitä kaikki on työskennellyt.
Kuinka menee?
>> Yleisö: Olen juuri täyttänyt minun tietokone.
>> ANDI Peng: Ei se mitään.
>> Yleisö: [äänetön].
>> ANDI Peng: Vain teidän IDE.
Joo.
>> Yleisö: [äänetön].
>> ANDI Peng: Ei se mitään.
>> Yleisö: [äänetön].
ANDI Peng: Täysin hieno.
Ovatko kaikki pääsy niiden web-palvelin OK?
On apache50 käynnissä OK?
Mielestäni joissakin muut pääluokat, me
oli kysymyksiä ihmisten ei on saada palvelimelle.
Joo.
Joten sinun tarvitsee vain ajaa apache50 space aloittaa space aikana.
Yleisö: [äänetön].
ANDI Peng: Jep.
Hyvä?
>> Yleisö: [äänetön].
>> ANDI Peng: Oh, OK.
Joten sinun pitäisi olla tilaa.
Niin apache50--
>> Yleisö: Tein.
>> ANDI Peng: --start tilaa.
Yleisö: Voi, tilaa piste.
ANDI Peng: Joo, tilaa piste.
Ole hyvä.
Niin sitten jos sinulla on HTML-sivu,
niin voit mennä suoraan linkin että se määrittelee.
Ja sinun pitäisi pystyä käyttää sitä.
>> Jokainen pystynyt pääsyn niiden verkkosivuja OK?
>> Yleisö: [äänetön].
ANDI Peng: Voi, se on OK.
>> Yleisö: [äänetön].
ANDI Peng: Joo.
Mielestäni voit todella avata se sisällä selaimen, selain
ja ei vain IDE selaimen.
Luulen, jos kopioit ja liitä se.
>> Yleisö: Ja sitten miten voimme sammuttaa sen?
[KUULUMATON]
>> ANDI Peng: Joo, et apache50 lopettaa ilman pistettä.
Jep.
>> Yleisö: [äänetön].
>> ANDI Peng: Ilman aikana.
Joo.
Siellä mennään.
Jep.
Luomme oman web-sivuja.
>> Yleisö: Voi, viileä.
ANDI Peng: Joo.
>> Yleisö: Minulla on kysymys.
Niin Apache 50--
>> ANDI Peng: 50, joo.
>> Yleisö: [äänetön].
>> ANDI Peng: Mitä?
Se on outoa.
Katso, että oli sellainen kysymys että tapahtui ennen.
OK.
Katso minua jakson jälkeen.
Koska meillä on joitakin ongelmia palvelimen.
>> Ja haluat tehdä Varmista, että palvelin on
käynnissä ennen PSET.
Koska olet menossa tarvitse sitä.
Joo.
Onko kukaan muu, joka ei ole saada heidän palvelimelle aloittaa?
>> Niille teistä, jotka haluavat lisätä lisää tyyliä Web-sivuja,
voimme todella tehdä mitä Daavid teki luento samoin,
joka on luoda ylimääräinen tyyli levy, joka on piste CSS, CSS
Style Sheet ja oikeastaan ​​vain lisää se.
Niinpä esimerkiksi, olen juuri luonut melko paljon lähes täsmälleen sama
Daavid luento.
Voit melko paljon vain tehdä ruumiin.
>> Sinulla mitä kutsutaan tagit jossa voit hakea IDE riippumatta jakso
haluat omassa todellinen HTML sivulle.
Joten elin sivulta voi tehdä tekstiä align keskus.
Ja sitten minä luova tag kutsutaan alkuun sisällä
josta haluan nämä asiat tapahtua, antaa suuremman pikselikoko
fontin.
Haluan fontin painon olla rohkea.
Ja haluan väriä olla sininen, vain mielivaltainen
arvot että päätin valita.
Voin luoda toisen tunnisteen kutsutaan keskellä.
Fonttikoko, tee se hieman pienempi.
Ja sitten voin luoda toisen tunnisteen nimeltään pohja jossa haluan fontin kokoa
olla jopa pienempi vielä.
>> Ja niin aika paljon tämä on vain esimerkki lähdekoodin tai lähde tyylisivut
että se on hyvin helppoa vain Google.
Jos sanot, OH, haluan font voidaan kursivoida ja tummanvihreä,
Voit ehkä Google, ja sitten se kertoo
asianmukaiset tunnisteet tai tunnukset luoda.
Ja niin että te todella Tällainen on tämä HTML dokumentti
tai käyttää sitä on kaikki mitä on tehdä täällä on kärjessä
lisätä linkin tyylisivu.
>> Joten voit linkittää href tasavertaisten mikä nimi tyylisivuusi
on.
Ja sitten suhde on tyylisivu.
Joten missä tahansa HTML-dokumentin, kunhan kun lisäät tämän piste CSS arkki,
sinun pitäisi pystyä käyttämään ja on ominaisuuksia siellä.
>> Niinpä esimerkiksi, tässä olen juuri luoda toinen esimerkki sivun.
Tämä on tervetullut CS50 § Tiistaisin 2:00-03:30 kanssani.
Ja sitten Olen lisännyt ihana kuva, meidän mahdollisesti pitäisi pystyä näkemään.
>> Joten jos olet katsomaan täällä, jos menet style.html,
loimme sivun pentuja.
Koska kissanpentu ovat mahtavia.
Joten lisäämällä kuva on vain img src linkkiä.
>> Aika paljon, jos on minkäänlaista ominaisuus
haluat lisätä website-- joten sanokaamme,
haluat lisätä valikkoon tai hakupalkki tai kuten
image-- vain Googlen miten se tehdään.
Ja juuri plop tässä muodossa.
Ja voit vain melko paljon vain lisätä sitä.
Se on todella, todella helppoa.
>> Olemme luomassa omaa verkkosivuja juuri nyt.
Jos haluat--
>> Yleisö: [äänetön]
>> ANDI Peng: Anteeksi?
>> Yleisö: [äänetön].
>> ANDI Peng: Oh, div on vain jako
kertoa minulle, että, oi, minulla on tietty osio nimeltä
keskimmäinen jossa olen soveltamalla CSS tag, ja sitten
minun toinen jako kanssa pohja.
Siinä kaikki se kertoo sinulle.
Koska se on mukava pitää asiat siisti kunnossa,
joten ohjelma osaa tarkalleen ajaa.
Ja mielestäni voi kopioida liitä tämä minun todellinen selaimen samoin.
Sen pitäisi olla kunnossa.
Joo.
Jee.
Joten jos jokainen haluaa vain yritä luoda web-sivun,
otamme vielä kahdesta kolmeen minuuttiin.
Haluan vain varmistaa kaikkien palvelimet ovat käynnissä
ja jokaisella on ajatus, miten se tehdään.
Jos kaverit haluavat ottaa tietokoneet.
Vielä ei toimi?
>> Yleisö: Olen vain [kuultavissa].
>> ANDI Peng: Ehkä yrittää päivittää 50 samoin.
Joo.
Yleisö: [äänetön].
>> ANDI Peng: Joo.
Niin että aloitat uuden web-palvelin IDE on vain
do apache50 space alusta tilaa dot.
Halusin vain varmistaa kaikkien palvelimet ovat käynnissä OK.
>> Yleisö: Täällä, terminaali?
ANDI Peng: Joo.
Yleisö: [äänetön].
>> ANDI Peng: Apache.
Itse asiassa luulen että olet käynnissä jotain jo.
Joo, olet todella käynnissä eri palvelimelle.
Joo, olet hyvä.
Kunhan työskentelee, olet kunnossa.
>> Yleisö: OK.
ANDI Peng: Ei kaksi tapoja käyttää palvelimia.
Niin kauan kuin yksi tapa toimii, se on kunnossa.
Otamme toinen minuutti vain sellaista loppuun asti
viimeistely riippumatta verkkosivu te halusi tehdä.
>> On kaikille, jotka työskentelevät muuten?
Kaikkien palvelimet ovat käynnissä lisäksi omasi?
Me sen selville.
Ja HTML: n melko yksinkertainen.
Joten mielestäni olemme kaikki hyviä.
Joo.
Tulen takaisin.
>> Yleisö: [äänetön].
ANDI Peng: OK.
Yleisö: Joten se on vain alkoi kasapäin.
ANDI Peng: Ei hätää.
Niin HTML, siellä on lähdekoodi, joka on verkossa jakson jälkeen.
Myös David on koko nippu verkossa hyvin.
Juuri sellainen silmäyksellä yli sen miten HTML-sivut on kirjoitettu.
Se on melko helppoa.
Mitään et tiedä, olet kaunis paljon vain Google ja olet hyvä.
Haluan vain varmistaa, että palvelimet ovat käynnissä.
>> Yleisö: Onko se tehdä tämän usein?
>> ANDI Peng: Ei ole koskaan tapahtunut minulle.
En tiennyt se voisi jopa lepotilaan.
>> Yleisö: [äänetön].
ANDI Peng: Luulen everyone-- minun ei ole koskaan hibernated ennen.
Ja en tiedä miksi.
Se on outoa.
>> Yleisö: [äänetön].
>> ANDI Peng: Onko sinun lepotilassa?
>> Yleisö: [äänetön].
ANDI Peng: Joo.
Yleisö: Se on OK.
Joten kun se on auki.
ANDI Peng: OK.
Me käsitellä joitakin palvelimen kysymyksiä jakson jälkeen.
Sinun pitäisi olla kunnossa.
Vaikka haluat varmista, että olet saada ne ratkaistua ennen kuin lähdet.
Koska jos palvelimen ei ole käynnissä, niin olet
aio voi tehdä PSET, kuten kaikki osa PSET.
Joten haluat varmistaa että toimii.
Viileä.
Selvä.
Hyvästellä pennut.
Vietin kauan aikaa etsimässä että kissanpentu kuva laittaa.
Niin, anyways.
>> Yleisö: [äänetön].
>> ANDI Peng: Anteeksi?
>> Yleisö: [äänetön].
ANDI Peng: Minusta se on sivuilla.
Kuten spec?
>> Yleisö: [äänetön].
Mielestäni spec on vain verkossa viikolla seitsemän.
Mielestäni se on nimeltään pset6, jopa vaikka olemme viikolla seitsemän, joka
on vähän tietojenkäsittely.
Yleisö: Mutta en tarkoita jos haluamme näyttää at-- jos
haluavat vetää meidän versio Web-sivuston meidän katkaista?
Niin kuin server.c on PSET, eikö?
Jos haluat tarkastella tätä, kuten miten se on kunnossa?
ANDI Peng: Voi, niin oikeastaan PSET, kaikki teemme
täällä on implementing-- täällä, Menen tänä lyhyesti.
Joten kaikille, että on juuri saanut §, te onnea.
On hyvin vähän materiaalia todella kattaa tänään.
>> Olen juuri menossa viettää seuraavat 20 minuuttia menee yli PSET apua.
Koska siellä joitakin hyödyllisiä toiminnot, jotka auttavat elämääsi.
Ja toivottavasti me ulos ja täällä kuten 20 minuuttia.
OK.
>> Joten pset7 on väärä.
Vaikka olemme viikolla seitsemän, se on todella pset6.
Minä muuttaa sitä.
Kaikki olemme tekemässä pset6 luo web-palvelin.
Kuulostaa erittäin pelottavalta.
>> Ja varsinkin niille teistä, jotka ovat jo
Katsoin jakelu koodi, siellä on paljon koodia, paljon koodia.
Mutta on täysin OK.
Koska Nitty Gritty osa itse luoda
palvelin tapahtuu meille.
Kaikki olet todella pyytänyt tehdä tässä PSET
on vain tehdä joitakin merkkijono manipulointia tiedoston I / O. Se on oikeastaan
kuten melko yksinkertainen.
>> Joten kun ensin ladata that-- jotka täällä on todella jo ladannut
PSET ja ottanut tarkastella?
Selvä.
Joo.
Siellä on kuin 500 riviä koodia että aiot olla,
mitä on tekeillä?
Ja se on täysin hieno.
Varmista, että olet katsella walk-through.
Koska David and-- En tiedä.
En usko, että se on Zamyla n, tämä.
Mutta mielestäni jotkut muut walk-through ovat melko
hyödyllinen suhteen vain voit tietää
mitä tapahtuu sisällä oman koodin.
>> Ja se on täysin ok.
Koska neljä toimintoa, että olet pyydetään toteuttamaan olla todella
nolla tekemistä todellisen palvelimen.
Kaikki ne on tehdä, on vain jäsennys eri jouset,
hakuja jouset, varmistaa asiat tekevät
mitä he pitäisi tehdä.
>> Niin asia on joitakin erittäin, erittäin hyödyllisiä toimintoja,
erityisesti string manipulointi, että meidän kaikkien pitäisi
mennä yli, että Ajattelin erittäin hyödyllinen te
oppia ennen kuin yrität PSET.
Ja he kaikki sisältyvät omassa string.h kirjasto.
On luultavasti enemmän hyötyä toiminnot En ole tässä,
koska olen joko koskaan käytä niitä tai ehkä en vain tiennyt ne ovat olemassa.
>> Voit vapaasti lyhyesti läpi student.h.
Koska siellä tulee olemaan paljon toimintoja, jotka ovat erittäin hyödyllisiä.
Niin kuusi että käytän eniten minun PSET kun tein sen viime viikolla
olivat strtok, strchr, strrcher, strstr, strcasecmp, ja strcpy.
Ja niin kaksi viimeistä voi tuntua melko tuttuja useimmille teistä.
Str tapauksessa verrata, se vain vertailla jouset tarkistaa ne tasa-arvon,
mukaan lukien tapaus.
Ja strcpy vain kopioi yksi merkkijono puskuriin.
>> Ja niin nämä kaksi pitäisi vaikuttaa hyvin tuttu te tässä vaiheessa.
Koska olemme käyttäneet niitä paljon, erityisesti viime psets.
Mutta neljä ensimmäistä ehkä et ole nähnyt asti nyt.
Mutta aion vain kävellä niiden läpi.
Koska he aikovat tehdä elämästänne todella, todella helppoa for-- ole helppoa,
mutta paljon helpompi tulevana PSET.
>> OK.
Joten char * strtok, tämä on toiminto määritelmä tätä toimintoa sisälsi
sisällä merkkijono, h kirjasto.
Jos sinulle annetaan panos char * merkkijono, joka on vain merkkijono,
tai vakio char * deliminator, delim lyhyitä,
kaikki se tekee rikkoo suurempi merkkijono useisiin mitä me kutsumme
rahakkeita erotettu tietty arvo.
Joten tavallaan, jos olisin antaa te section.7.php, tämä on merkkijono.
>> Jotta olisi, jos olisin välittää tässä minun Str, minun char * str,
jos deliminator oli piste, kaikki tämä olisi vain etsiä kautta merkkijono.
Ja ensimmäistä kertaa se näkee piste, se vain palaa osoitin
viimeiseen merkki löytyi merkkijonon ennen tätä.
Joten se menisi täällä.
>> Ja se vain antaa minulle 7.php.
Ja jos olisin soittaa toimivat vielä kerran,
se antaisi minulle vain .php.
Ja niin kaikki tämä toiminto tekee pilkkoo suurempi merkkijono
pienempiin jouset riippuen mitä etsit.
>> Ja niin esimerkiksi ulkoasua up-toiminto
jos haluat katsoa, ​​mitä tiettyjä merkkejä tapahtua
tai jos pisteitä tapahtua tai laajennuksia tapahtuu, tämä toiminto olisi melko hyödyllisenä.
Joo.
Ei huolia.
Tämä kaikki be-- joo, mitä kuuluu?
>> Yleisö: Eli ensimmäisellä rivillä, jos käytimme tätä esimerkkiä,
mitä me lisätä tuohon?
ANDI Peng: Joo.
Olisit vain soittaa strtok merkkijono pilkku erotin.
Ja merkkijono on yhtä kuin section.7.php.
Ja sitten olet delim voisi olla yhtä suuri kuin vain piste.
>> Yleisö: OK.
>> ANDI Peng: Joo.
Noin vain.
Kaikki nämä toiminnot ovat melko samanlainen kun käymme läpi niitä.
He vain tehdä hieman eri asioita.
Mutta he kaikki aikovat tehdä elämästäsi paljon helpompaa.
Toinen funktio, tämä on kuin super, super, super tärkeä,
on the-- kestä.
>> Oho.
Strchr etsii ensimmäisen occurrence-- todella, joo.
Strchr on toiminto, joka Olen ehdottomasti vain meni yli.
Joten unohda mitä sanoin ensimmäisen funktion.
Se on oikeastaan ​​kutsutaan strchr.
>> Joten mitä tapahtui tässä jos sait merkkijonon char C,
se vain antaa te mitä se oli.
Joo.
Joten ajattele sitä Str, joka on merkkijono, ja chr kuten nieriä.
Joten kaikki yrität tehdä, on haku Sillä missä nieriä on sisällä merkkijono.
Ja niin se etsii ensimmäisen esiintyminen merkki
C merkkijonon str.
>> Yleisö: [äänetön].
>> ANDI Peng: Jep.
Ja sitten jos se ei löytänyt se, se tulee palauttaa NULL.
Joten jotain, joka tulee olemaan hyvin hyödyllinen te tekemään PSET
jos, sanovat, olit etsimässä laajennus kuten .docx Word-
asiakirja tai .pdf varten PDF-dokumentti, voit eräänlainen käyttää sitä näyttää
jostain on jälkeenpäin joka kerta kun näet piste, eikö?
Ja niin melko paljon, jos ajaa syötön toiminto,
jos se palaa NULL, niin tiedät, että se
ei löydä sitä piste, mikä tarkoittaa tämä selvästikään ei ole kelvollinen tiedostopääte.
Tai jos se palaa jotain, niin tiedät
se tulee palauttaa mitä n todella laajentamisen jälkeen.
Joten ne teistä, jotka olivat alkoi katsellut haku
ja jäsentää, tämä funktion olemaan erittäin hyödyllinen.
Joten olemme todella menossa osoittamiseksi käyttämällä tätä.
>> Miksi et kaverit yrittää kirjoittaa toiminto bool virke char * s, että
vain palauttaa true jos s on virkkeen ja väärä muuten.
Joten vihje, olet menossa luultavasti käyttää strchr.
Tai et vain etsiä merkkijono tietyn merkin.
Ja niin lauseen, mikä erottaa lause
ei-lause, mitä erityisluonnetta?
Yleisö: tilaa.
ANDI Peng: tila, eikö?
Ja niin mitä me luultavasti halua tehdä tämän toiminnon täällä?
>> Yleisö: [äänetön].
>> ANDI Peng: Aiomme haluavat strchr merkkijono ulkonäkö tilaa.
Koska jos se palaa jotain, sitten me tiedämme, että tämä on lause.
Tämä tarkoittaa, että meidän on on tilaa tässä merkkijono.
>> Jos ei ole tilaa, niin tiedämme että, hei, kai se ei ole merkkijono.
Se on luultavasti vain todella pitkä sana.
Niin minä annan te pari minuuttia kirjoittamaan tätä toimintoa.
Joo.
>> Yleisö: Saitko Tämän merkkijonon käyttäjä?
>> ANDI Peng: Joo.
Joten tämä on vain funktio.
Joten kuvitella sisällä päätehtävä olet jo have-- mennään täällä.
OK.
Joten olen kirjoittanut tämän ohjelma, jossa Minulla on päätehtävä jossa
Olen juuri luonut kaksi merkkijonoa.
Ensimmäinen on Hei, nimeni on Andi-- selvästi, lause.
Toinen yksi on vain Andi, selvästikään ole tuomita.
>> Ja niin olen käynnissä molemmat näistä jouset tämän toiminnon kautta.
Haluan te kirjoittaa kylmä lauseen.
Ja olen tallentamiseen näitä arvoja, ja sitten vain tulostamalla ne pois.
Ajattele, että käyttäjä on menossa ohi merkkijono.
Ja sitten aiot olennaisesti selvittää, jos se lause vai ei
ja palata totta vai tarua vastaavasti.
>> Jos kaverit haluavat antaa peukkua tai heads up, pää nyökkää,
on joku on valmis aloittamaan tämä, että olisin hyvä.
Ehkä kuten 30 sekuntia?
Selvä.
Katsotaanpa, jos voit kokeilla Kirjoitan tätä toimintoa.
>> Joten pseudo coding-- olen juuri menossa sellainen kävelee juuri nyt.
Aika paljon, tiedämme toiminto, joka meidän on käytettävä.
Aiomme soittaa että toiminto meidän merkkijonon ja etsiä tilaa.
Jos se palaa jotain, meidän on tietävät, että selvästi, tämä on lause.
Koska siellä tilat.
Sitten aiomme palata totta.
Else, aiomme return false.
Onko kukaan halua antaa minulle ensimmäinen rivi koodia
että olemme todella menossa käyttää kirjoittaa tähän?
Se on itse asiassa vaikeinta koodiriviä samoin.
Joo.
>> Yleisö: Jos strtok s--
ANDI Peng: Vain strchr.
Yleisö: [väliin VOICES] tila ei ole sama kuin null.
>> ANDI Peng: Cool.
Täsmälleen oikea.
Jokainen ymmärtää, että ensimmäinen rivi?
Aiomme soittaa strstr, joka on toiminto, joka hakee
merkkijono s char tilaa.
Ja jos se pitää, se tulee palata osoitin, jos se on.
>> Jos se ei löydä sitä, se tulee palauttaa NULL.
Joten jos se palaa muuta kuin NULL, niin tiedämme se on löytänyt tilaa.
Onko siinä järkeä?
Viileä.
Selvä.
Joten jos me tiedämme, se on löytänyt tilaa, mitä haluamme tehdä?
Yleisö: return true.
ANDI Peng: Jep.
Return true.
Ja sitten, joku haluaa loppuun asti toiminto minulle?
Joo.
Else, noin vain.
Ja kokeile laadinnassa.
>> Jep.
Niin te voi nähdä lähdöt, muistaa Booleans C
ilmaistaan ​​aina binary.
1 on tosi.
0 on väärä.
>> Jos me suorittaa tämän toiminto string yksi, joka
on Hei, minun nimeni Andi-- selvästi, sentence-- tulos
tulostaa 1, mikä on totta.
Toinen, joka on vain sana, tulos tulostetaan
0, joka on väärä.
Jokainen selkeä eräänlainen miten tämä toiminto on kirjoitettu?
Joo.
>> Yleisö: Voimmeko myös tehdä, sen sijaan ei vastaa mitään, vastaa yhtä kuin 0,
niin että se on yhtä suuri?
ANDI Peng: Ei.
Koska strchr on funktio.
Aion takaisin tähän.
Niin mitä palautuva meidän strchr toiminto?
Yleisö: Voi, OK.
Tai tyhjä.
>> ANDI Peng: Joo.
Se on char *, joka kertoo minulle, että mitä tämä toiminto on palaavansa,
se tulee olemaan osoitin.
Joko osoitin tulee olemaan osoittaa missä se on löytänyt sen,
tai se tulee palauttaa osoitin null.
Kummassakin seikka, se on menossa palata osoitin jotain.
>> Ja niin jos olit rinnastaa tämä vastaa, vastaa, 0,
aiot saada käännösvirhe.
Koska se tulee palauttaa osoittimen.
Ja olet menossa yrittää verrata osoitin kokonaisluku.
Ja tietokone ei ole tule pitämään siitä.
Joo, täsmälleen.
Viileä.
Jokainen hyvä?
>> Ja toiseksi, aiomme mennä yli toiminto nimeltään strstr.
Ei hätää, jos nämä toiminnot ovat hämmentäviä sinua.
He sekava minulle.
Sellaisenaan, te voisi nähnyt, ne kaikki kuulostavat melko sama.
Juuri kun olet hämmentynyt, vedä ylös string.h kirjasto.
Ja te voi lajitella jonka kautta oman jotka.
>> Joten strstr, tämä vain haut merkkijono koko muu merkkijono.
Joten jos strchr vain hakuja yhden merkin,
strstr etsii koko merkkijono.
Joten halusin katsoa, ​​en tietää, Hei, nimeni on Andi.
Ja paras ystäväni nimi on myös Andi.
>> Jos halusin etsiä tässä lause koko sanan Andi,
minun neula olisi ollut mitä etsit.
Ja heinäsuovasta on mitä etsit sitä.
Joten jos etsit tietyn sanan sisällä lause,
että sana tulee olemaan neulan.
Ja sitten lause itse tulee olemaan teidän heinäsuovasta.
Ja niin se vain hakee ensimmäinen esiintyminen
merkkijonon neula merkkijonon heinäsuovasta.
Se palauttaa osoittimen ensimmäiseen esiintyminen.
Paitsi, muistakaa tässä tapauksessa, se on ensimmäinen esiintyminen koko merkkijono
että etsit varten, ei vain merkki.
>> Ja niin tämä on melkein sama asia kuin toiminto
me vain teimme, pelkästään hieman spesifisyys.
Koska etsit enemmän kuin vain yksi merkki.
Ja käyttö on täsmälleen sama kuin se, joka me vain teimme.
Jokainen OK tämän?
OK.
>> Viimeinen aiomme mennä yli on strrchr, joka ei ole
sekoittaa strstr tai strchr.
strrchr on ylimääräinen r siellä.
Ole varovainen, kun kirjoitat.
Saatat löytää itsesi mukaan lukien ylimääräinen r tai ilman R,
ja sitten toiminto ei todella ei tule toimimaan.
Ja aiot olla hämmentynyt.
Ole tarkkana, että olet oikeinkirjoitus kaikki nämä toiminnot oikea.
>> Joten strrchr on tarkka sama asia kuin strchr
paitsi se etsii ole ensimmäinen esiintyminen erityisluonnetta,
vaan viimeinen esiintyminen.
Ja niin, siinä mielessä, se on lähes täsmälleen sama.
Mutta sen sijaan liikkuvat eteenpäin merkkijono,
aiot siirtymässä taaksepäin merkkijono.
Täsmälleen sama asia, olet vain hakuja eri järjestyksessä.
>> Ja niin tämä voisi olla super, super hyödyllinen oman haku
toiminto, ensimmäinen toiminto teidän PSET.
Teeskennelläänpä että meidän piti kirjoittaa funktio void laajennus, jossa me
pass vakio char * tiedoston nimi, vain merkkijono, tiedoston nimi,
joka vie tämän nimen ja tulostaa ulos laajentaminen tiedoston.
Niinpä esimerkiksi, jos olisin kulkea merkkijono pset7.zip,
se tulee tulostaa vain laajennus, joka on .zip.
Ja tämä toimisi minkäänlaista laajennus,
Docx Word tai .pdf varten PDF tiedosto tai .html varten HTML-tiedoston.
Aika paljon, kirjoittaa toiminto, joka voi tehdä sitä.
Olen todella menossa siirtyä IDE.
Se ei load-- siellä mennään.
>> Joten kaikki Olen tehnyt tässä luotu char *, ensimmäinen merkkijono,
nimeltään pset7.zip.
Aion zoomata.
Olen luonut toinen merkkijono nimeltään finalpaper.docx.
Ja kirjoittaa minulle toiminto, että kun kutsuttu aikoo vain tulostaa
tiedostotunnisteet.
Ehkä kestää muutaman minuutin ajatella miten aiot tehdä tämän.
Hieman haastavampaa kuin viimeinen,
mutta käyttö on lähes täsmälleen sama.
Joo.
Joten kirjoittaa toiminto nimeltään laajennus että, jos annan sinulle nimen tiedoston,
jos olisin antaa sinulle pset7.zip-- I haluavat sinun tulostaa vain .zip.
Jos annan pidät finalpaper.docx, vain tulostaa .docx,
vain laajentaminen tahansa tiedoston.
>> Tämä oikeastaan ​​vain kestää kaksi riviä koodia.
Joten yrittää nähdä, jos olet voi ehkä tehdä sen, että.
Oikeastaan ​​se vain ottaa yhtä riviä koodia.
Mutta kaksi riviä on luultavasti enemmän vakio.
Mitä toiminto olemme luultavasti menossa halua soittaa?
>> Yleisö: strrchr.
>> ANDI Peng: strrchr, oikea.
Koska me etsimme oikealta vasemmalle.
En anna sinulle kaverit Esimerkiksi näin,
mutta jos annoin teille esimerkin kaltainen www.apple.com ja halusin vain
.com, se halua olla esimerkki siitä, missä haluat soittaa viime kädessä
kauden ja ole ensimmäinen, eikö?
Jos olisit puhelun strchr, se olis antanut sinulle apple.com.
>> Jos soitit strrchr, se antaisi sinulle .com.
Ja joten ole varovainen, jona ways-- minun esimerkiksi
voisit ehkä voisi olla juuri kirjoittanut sitä käyttämällä strchr,
koska on vain yksi piste.
Mutta muissa tapauksissa, että ei voi olla kyse.
Ja niin aina yrittää suunnitella koodi hyvin, joten that-- joo?
>> Yleisö: Joten Esimerkiksi juuri sanoi,
kun et strrchr se olisi antaa sinulle .com tai juuri tullut?
>> ANDI Peng: Se antaisi sinulle .com.
>> Yleisö: OK.
ANDI Peng: Joo.
Se viittaa, jossa se totesi sen.
Joo.
30 sekuntia ehkä?
Joo.
Jokainen hyvä tai ehkä vähän enemmän aikaa?
Kättä?
Näytä päämiesten?
Viileä.
Kukaan halua antaa minulle ensimmäinen koodiriviä tämän ohjelman?
Yleisö: [äänetön].
>> ANDI Peng: Niin ensinnäkin, Katsotaanpa ehkä rikkoa tämän alas.
Joten mikä on paluu tyyppi strrchr?
Mennään takaisin.
strrchr, mikä on palautuva?
Yleisö: Char *
ANDI Peng: Se on char *, eikö?
Mikä tarkoittaa, että olet todennäköisesti menossa halua luoda toisen char * eräänlainen
myymälä aina kun se on palaavat, eikö?
Koska jos soitat toiminto strrchr,
se tulee antaa sinulle osoitin missä se totesi, että viime kaudella,
oikea?
>> Mutta olet menossa haluavat tallentaa että jossain, eikö?
Ja niin miten me koodia tämä meidän ohjelma?
Yleisö: Teet char * [kuultavissa].
ANDI Peng: Jep.
Yleisö: [äänetön].
ANDI Peng: strrchr.
Joo.
Voi, jäi r siellä.
Yleisö: Tiedostonimi [kuultavissa].
Mikä se on?
Voi, se on vain s.
>> ANDI Peng: Oh, se on vain s.
Joo, anteeksi.
Minun mokani.
Esimerkit eivät täsmänneet.
>> Yleisö: Ja sitten piste.
>> ANDI Peng: Jep.
Ole varovainen, kun te are-- täällä, haluaisin suurentaa.
Siellä mennään.
Ole varovainen, kun te kirjoitat, varsinkin kun
teet vain merkkiä.
Se on todella helppo vahingossa vain tehdä kaksinkertainen lainausmerkkejä sijaan yhden.
>> Se ei toimi.
Kääntäjä on menossa valittaa.
Ja funktio on vain aio juosta.
Ja joten ole varovainen, kun teet asioita
kanssa merkkiä, että se on yhden lainausmerkkejä.
Ja niin tekee tätä linjaa koodi järkevää kaikille?
Luomme char * osoitin.
Koska strrchr tuotto jotain tyypin osoitin.
>> Ja niin me aiomme soittaa strchr S, joka on merkkijono, tiedosto
nimi, että olemme ohimennen.
Ja etsimme viimeisen esiintymä ajan, joka on
vain yksi tarjous piste tarjouksen.
Joo.
>> Yleisö: Milloin me käyttämällä lainausmerkkejä ja kun me Käytä puolilainausmerkkejä?
>> ANDI Peng: Joo.
Joten lainausmerkit ovat käytetään aina kun
on merkkijono enemmän kuin vain yksi.
Joten jos teet strstr, joka on yksi että te
etsi merkkijono merkkijono, sinulle kulkisi se lainausmerkkeihin.
Mutta tahansa se on vain yhden merkin,
haluat tehdä puolilainausmerkkejä.
>> Se on hyvä asia pitää mielessä.
Joten nyt meillä on osoitin, mitä me teemme sen kanssa?
Pyydän sinua kaverit tulostamalla, eikö?
Niin [mahdoton kuulla], haluat antaa minulle rivi koodia?
>> Yleisö: printf--
>> ANDI Peng: Joo.
Yleisö: --you tarvitset paikan haltijalle.
ANDI Peng: Jep.
Yleisö: Tulosta paikka haltija.
En tiedä, mitä paikka haltija on mutta kohta se.
>> OK.
Katsotaanpa skip että nyt sitten.
Yleisö: Ja sitten comma--
>> ANDI Peng: Pointer, eikö?
>> Yleisö: Pointer, yup.
>> ANDI Peng: Niin sellainen temppu kysymys, liittyy viitteitä ja jouset
että olemme tavallaan puhuneet jo.
Millainen paikka haltijan me tarvitset osoitin char *?
>> Yleisö: [äänetön].
ANDI Peng: Joo.
Se on helpompaa kuin te luulette.
Yleisö: String?
ANDI Peng: Se on vain merkkijono, tarkalleen.
Koska muistaa jouset ei ole edes olemassa.
Char * on tarkka sama asia kuin merkkijono.
Ja niin todella tämä s on mitä olisi pitänyt käyttää koko ajan.
OK.
>> Katsotaanpa, jos voimme kokeilla tätä.
Tehdään tehdä laajennus.
Viileä.
Näittekö miten hyväksyttiin psset7.zip ja finalpaper.docx,
ja se vain tulostaa zip ja Docx?
Käydä järkeen?
>> Ok, niin mielestäni teidän Look Up toiminto oman PSET olet
aiotaan kysytään merkkijono on tietty päättyy,
sinun täytyy antaa tietty virhekoodi.
Ja niin tämä on aika kauheaa.
Koska jos voit selvittää mitä laajennus on,
voit sitten vertailla että laajennus nähdä, jos se vastaa ylös
tietyllä laajennus.
Ja sitten voit palata virheilmoitus, eikö?
Joo.
>> Yleisö: joten emme täytyy lisätä 1 tai jotain?
Osoitin menee the--
>> ANDI Peng: Ei.
>> YLEISÖ: --point sen jälkeen.
>> ANDI Peng: Joo.
Se osoittaa tarkasti jossa esiintyminen oli.
Niinpä esimerkiksi täällä, olemme etsivät ajan.
Joten se tulee palauttaa osoitin aikana.
Ja sitten se tulee tulostaa ulos alkaen aikana.
>> Joten sinun ei tarvitse lisätä 1.
Vaikka se on täysin hienoa, jos olet koskaan epävarma, vain ystävällinen
ja testata sitä itse.
Rakenna näyte ohjelma.
Testata sitä itse ja nähdä, missä se on tulostus.
Se ei myöskään ole huono tapa tehdä se.
>> Viileä.
Ja se on aika paljon kaikki Minulla oli teitä tänään.
Teimme paljon PSET tavaraa tänään.
Joten jos on epävarma, kuten Sanoin, aina etsiä
string.h kirjaston tämän PSET.
Siellä tulee olemaan paljon toiminto siellä jotka voivat olla hyödyllisiä.
Jotkut voivat olla hyödyllisiä.
En todellakaan tiedä.
Kahlata läpi, siellä koko joukko niitä.
strstr, strchr, strrchr ovat super, super avulias, sekä
strcpys ja strcasecmps että olemme jo käytetty.
>> Se on vain paljon kikkailunsa jouset, määritettäessä, jos he yhtä suuri,
saada tavaraa pois jouset, ja se voi avata tiedostoja oikein.
Se on paljon tiedoston I / O. PSET on oikeastaan ​​ole niin paha.
Olet menossa ottamaan katsoa sitä, lataa se,
ja nähdä koko joukko koodin.
Ei hätää, koodin oikeastaan ​​kirjoittaa ei ole huono ollenkaan.
Jos joku on ongelmia niiden palvelin, tule katsomaan minua jakson jälkeen.
>> Pahoittelen vielä kerran ei tuo karkkia Halloween.
En tiedä, mikä minua vaivasi.
Mutta meillä on kaksinkertainen karkkia seuraavan kerran.
Ja onnea teidän PSET tällä viikolla.
Jep.