JASON Hirschhorna: Dobrodošli vsakdo osem teden. Imamo zanimiv teden pred nami. Vidva sta se potopil v tem zadnjem paru predavanj v PHP, SQL, HTML, CSS, tako Štiri čisto nov jezik, ki se odvijajo prevzeti ostalim ta tečaj. Bomo izvedeli tudi nekaj drugih jeziki pred koncem Seveda je. Ampak vseeno, treba posebej poudarjati, da je to zelo razburljiv čas v CS50, zdaj pa obvlada C, navidezno, in so prehodom na programiranje za spletne strani. Torej ta teden, smo šli na tornado turnejo po štirih jeziki, sem omenil, HTML, CSS, PHP in SQL. In upam, da bomo zapustili veliko čas ob koncu oddelka za pogovor O tem tednu P sklop in odgovor vsa vprašanja, ki jih imajo vsi. Vsak teden, ista Seznam virov za vas, da vam pomaga pri teden problem nastaviti in bo nad materialom - vendar ta teden predvsem za to spletnih problem določa, da so kopica drugih virov iz tam, da vam bo verjetno našli neverjetno koristno. Jaz jih imam tukaj. Jaz ti bom email to po oddelku, in to tudi na spletu. Ampak predvsem, obstaja veliko Velike viri tam. Obstajajo tudi nekaj ne tako velik tisti, zato bodite pozorni na njih. Toda na ta diapozitiv, imam štiri dobro sredstva, po eno za vsako jeziki, ki jih boste delovne s tem tednu - en referenčni list za HTML, Referenčni list za CSS. Ta pravica je tu priročnik PHP. Torej, namesto tipkanja človeka in potem PHP ukaz, to je, če bi pojdi poiskati funkcijo prototip in primeri, in tudi nekaj nasvetov in triki za uporabo PHP funkcij. Boste uporabo te spletne strani pogosto, zato vas pozivam, da postanejo seznanjeni z njo. To je lahko malo tehnični, vendar zagotavlja tudi tono virov in Primeri za vse funkcije in tudi drugi, kot so, kako uporabljati nize ali različne vrste spremenljivk. Ta spletna stran je zelo koristno za PHP. In potem, za SQL, če si se potopil v to Problem set teden, boste vedeli, da smo z bazo podatkov. In imamo dostop do te baze podatkov prek razmeroma lep uporabniški vmesnik. Ali pa, da je eden od načinov za dostop da je baza podatkov. Uporabniški vmesnik je imenovano phpMyAdmin. Tam je jeziček SQL, ki se bomo poglej kasneje danes. In lahko vnesete v svojo vzorčno SQL poizvedbe, početi stvari v svojo podatkovno bazo in nato zaženite teh poizvedb. In če si pravilno, bo to reči, ta je pravilna. Če so nepravilni, se bo recimo, da je napačna. To je odličen kraj za vadbo SQL poizvedb, preden jih pišete v kodo, da poskrbite, da boste imajo obliko pravilne. Končno, ena druga spletna tukaj. To je spletna stran, kjer si lahko pojdi in preverite, ali vaš HTML koda je veljavna. Torej, preden vklopite vaše težave nastavitev ta teden, poskrbite, da vse vaš HTML je veljavna. Prejšnji teden je bil zaženete valgrind, da poskrbite, da boste imeli nobenih spomin razpoka. Ta teden, morate zagotoviti vse vašega koda je veljavna HTML5. Če to ne velja HTML5, si bo dobil točke off. Zato poskrbite, da - samo zato, ker deluje ne pomeni, da je v celoti veljaven. Teči kodo preko te spletne strani preden ga noter Še enkrat, tukaj je spletna stran. Če imate kakršne koli povratne informacije zame, imamo nekaj več odsekov levo in sem vedno rad naredil, kar sem lahko, da Vse vas z najboljšo poglavju doživeti mogoče. Torej, povej mi, če je karkoli kar lahko storimo za izboljšanje ali če obstajajo Stvari, ki jih vidite, da sem lahko naredil bolje. Hvala, Avi. Daj ga na spletni strani. To je bilo kolo sem imel, ko sem je bil, recimo, štiri doma. To je Teenage Mutant Ninja Turtle kolesarjenje, v primeru, da ne more povedati, ker je malo zamegljen. Lahko ga dobite sedaj na ToysRUs za, mislim, približno 100 $. Ampak značilnost tega kolesa, ki ga želim ste pozorni na gre tukaj. To so kolesa usposabljanja. Do sedaj ste bili ročni skozi C. In smo si vzeli daljši čas, dva meseca plus, iti skozi C. Za teh nekaj naslednjih jezikov ne gremo na Toliko časa. Kolesa usposabljanja so se snele. In bomo, da se potopite v teh jeziki, hitro in premikate skozi jih hitro, kar pa ne pomeni, da smo le, da bo pustil plavanje tam z ničemer ne bi podprli sami ali pa ugotoviti, kako ti jeziki delati. Pravkar sem ti pokazal seznam vire, ki vam pomaga. Toda ne pozabite, da je PHP neverjetno podobno C. Bomo šli čez je danes in nekatere razlike. Toda za večino del, obstajajo za zank. Obstaja če pogoji. Ko boste želeli rešiti problem, boste uporabili Kombinacija teh. To je zelo podobno. Logika mora biti zelo podoben kaj ste storili v preteklosti. Kaj je res novo ta teden sintakso in kako izraziti sebe. In želite napisati zanko, vendar lahko izgleda malo drugače. Ali želite ustvariti niz, vendar je lahko izgleda malo drugače. Torej, imejte v mislih, da se premika naprej, logika je zelo podobna, kar ste storili v preteklosti. Vendar ste zdaj dogaja, da se srečujejo Veliko novega sintakse. In ne bomo, da sprehod skozi vsi elementi skladnje. Tako da je res odvisno od vas, da ugotovimo, na spletu ali prek stika na Razpravljati, ali mi pošljete ali govoriš drug drugega, kako pisati stvari PHP in kako napisati SQL poizvedb in kako uporabljati HTML in CSS. Ampak samo toliko, da veš, da to ni tako se trudimo, da vas vrže ven spet plavati morskih psov. To je tisto, kar se bo verjetno naredil z vaš končni projekt, če izberete drugačen jezik, kot IOS in Cilj C, ali če ste se odločili, da začnete programiranje v prihodnosti in potopite v drugih jezikih, kot Python ali Ruby. Pogosto, logika je zelo podoben po vseh teh jezikov in sintaksa je tisto, kar je drugačno. In to bo odvisno od vas, saj programer, da gredo uporabo spleta sredstva, ki so na voljo za vas in sliki izvedeti, kako, da izrazijo, kaj veš, kako za izraz C, pri drugačen jezik. Torej je to dobra praksa, tako za vaš končni projekt, in še enkrat, za kaj boste verjetno storili Po odhodu CS50. Preden gremo naprej, ne kdo Za vsa vprašanja o tem, kaj Sem naredil do zdaj? Super. Gremo naprej. Najprej bomo na kratko pogovorila o ukazom chmod. To bomo storili na začetku vaših težav nastaviti. Eden od prvih navodilih za vas, ko ste prenesli distribucija koda, je, da spremenite Dovoljenja za datoteke in imenikov, ki ste jih prejeli. Lahko kdo ugibal, ali vedo, Zato je pomembno, da spremenite Dovoljenja za določene datoteke in imenikov na vašem računalniku? Avi - PUBLIKA: Potem nihče razen si lahko ogledate, kaj delaš? JASON Hirschhorna: OK. Torej, če želimo, da dajo nekaj na web in ste dovoljenja nastavljena, da Samo si lahko ogledate nekaj, potem nihče drug ne more videli, kaj ste ustvarili. Kaj še? Ja. PUBLIKA: Prevent kdo drug, ki ga Ne želim videti nekaj, od vidim nekaj. JASON Hirschhorna: To je tudi res. Verjetno je del kode, ki pišete, da vam ne hočete, da ljudje vidijo. Verjetno si v redu z ljudi vidi vaš HTML in vaš JavaScript. Vendar vaš PHP, zadnji konec kodo, veliko logika kodo, morda Stvari, ki hranijo nekatere od vaših gesel za zbirko podatkov, ne veš bi ljudje videli, da vrsta informacij. Zato je pomembno, da vsaka datoteka in Imenik ustvarjamo ima dovoljenja ki se uporablja za to, ali ne želimo da ljudje vidijo te vrste datotek in imenikov in lahko dostopa do njih in morda celo spremeniti. Torej obstajajo tri vrste dovoljenj. Tam je branje dovoljenje, kar pomeni, si lahko preberete datoteko ali seznam s Vsebina imenik. Tam je dovoljenje za pisanje, ki pomeni, da se lahko spremenite datoteko ali spremembo Imenik in nato izvesti dovoljenje, kar pomeni, da lahko izvršitev datoteko ali bolje, vas lahko premaknete v imenik. Torej CD nekaj, če imate dovoljenje za izvršbo, lahko premaknete v tem imeniku. To je kratek primer. Again, ste šli čez to v problem nastaviti. Vendar sem ustvariti imenik z ukazom mkdir. Jaz spremenite dovoljenja. Ti dve liniji dejansko storiti točno isto stvar. To je za ponazoritev, da je sintaksa za spreminjanje dovoljenj, če ga imaš + x ali 711, to so enaki. Bomo pogledali na to lepo mizo. Vidimo, da so uporabniku Dovoljenja prvi. Da vi, posameznik je, in vaš strežnik, potencialno. In potem je tu še skupina in drugi. Razlike med tistimi, dva sta relativno nepomembno. Torej na splošno, bomo pavšalni tistih skupaj. Ampak v bistvu, če imamo datoteko imenovano tudi, da želimo biti mogli urediti sami in da želimo drugi pa, da se lahko izvrši, to dovoljenje 711. In vidimo, da dol Tukaj v tej tabeli. Imamo branje, pisanje in izvajanje. Za vsakega od nas, želimo biti sposoben narediti tega. Skupine in druge, smo le želeli da bi bili sposobni izvesti. Tako smo prevedli v številnih Dovoljenje je skozi binarno. Torej, če imamo tri tisti, ki je 1. v stolpcu Ones, 1 v dvoje stolpec, stolpec 1 se štiric. To je 7 tam. In to dovoljenje je 1. To dovoljenje je 1. Torej, 711, ko je enaka daje sami branje, pisanje in izvajanje, in vsi ostali izvajati privilegije. Ta postavka prav tukaj, smo na splošno bodo morali brati in pisati, ko smo ustvariti imenik. Torej, ta vrstica tu samo dodaja izvršitev privilegiji za vse. Zato, da bi bilo podobno, v Poleg tega, kar imamo, dodatkom 1, 1, 1 do vsakogar. Ker to, da je nepotrebna dodati brati in pisati. Ampak, če boste uporabili številke, ne moreš kar nekaj dodati. Prepišete karkoli dovoljenje je bilo tam in jih izvaja z novo Številka, ki jo dajejo. To je bilo precej hitro. Ima kdo kakšna vprašanja o spreminjanju dovoljenj? OK. Če imam datoteko PHP, kakšna dovoljenja Ne želim, da bi imel? To je v problem set spec. Torej si lahko ogledate na spec in potem pa mi preberi odgovor. PUBLIKA: Želite uporabnika na Prebral-dovoljenja za pisanje. In hočeš vsi drugega, da nimajo nič. JASON Hirschhorna: In kaj številke pa je to? PUBLIKA: 600. JASON Hirschhorna: 600. Torej chmod 600 - vsakič, ko natisnete PHP file, ga chmod 600. OK. Imam imenik. Nekdo poleg Jeff, Imam datoteko mapo. Kakšna dovoljenja ne želim da bi v to mapo - tudi problem nastavljena spec, spodaj desno tega odgovora ali prejšnji odgovor? Prav tako lahko na slide - Marcus. PUBLIKA: Za mapo, to je 711. JASON Hirschhorna: 711 - tako mapo, ki jo želite dati 711. Želite, da bi lahko prebral to mapo, spremenite imenikov, premakniti v ta mapa. In hočeš vsi ostali, da bi lahko znajti v tej mapi, vendar Ni nujno spremeniti njegovo vsebino. Kaj pa niso PHP datoteke, pravijo, datoteko JavaScript? Kakšna dovoljenja hočemo da bi te vrste datoteke? PUBLIKA: 644. JASON Hirschhorna: 644 - Zakaj bi jo dal 644? PUBLIKA: Če želite, da drugi ljudje prebrali. In ti brati ali pisati ga. JASON Hirschhorna: Torej redu, vsi še lahko prebrali, da je JavaScript datoteko. In lahko spremenijo, da se poleg da bi mogli prebrati. Tako je eden od najpogostejših hroščev ljudi imajo s tem problemom določiti, in njihove končni projekt, če je spletna final Projekt, ne bodo nastavili pravilnih dovoljenj. In ne bodo mogli da vidim svoje spletne strani. Ali določen del svoje spletne strani. Zato poskrbite, da nastavite Dovoljenja pravilno. Ne le domnevati, da bo to naredil namesto vas. OK. To je majhna stvar, ki smo jih preživeli dober časa na, tako lahko bi jo nohtov. Gremo naprej v HTML. In še enkrat, za teh naslednjih štirih temah, smo šli skozi njih relativno hitro. Zato vas prosimo, da me ustavi pri katerikoli čas, če imate kakršnakoli vprašanja, ali oni so povezani s tem, kar sem kritje ali kaj od predavanja ali celo problem nastavljena. Ustavi me, ko boste morali. Ko pridemo do konca, bomo samo začeti bo čez problema nizu. Torej HTML je kratica za Hypertext Označevalni jezik. To ni programski jezik. Vse to pa je struktura vaša vsebina in tudi nekatere metapodatke. Tako na primer, verjetno je veliko ste uporabili Facebook prej. In lahko vsebujejo povezave na ali pa lahko dal link, kot je vaš status. In potem, boste opazili, da je povezava je vedno lepo sliko z njim in nekaj besedila. Na splošno, da je nekaj meta za spletno stran. In to je Facebook specifičnih meta. In potem, ko je prebral, da Facebook stran in vstavljanje to povezavo, da Izgleda za posebne metapodatkov, tako da ve, kaj je slika za prikaz, kaj Naslov za prikaz, in kaj abstraktno besedilo za prikaz. Tako bomo lahko vključujejo metapodatke s našo spletno stran z uporabo HTML. In tudi nam pomaga strukturo vsebino, na splošno, katere želimo iti kam. Vse v HTML je element. In elementi prav tukaj - To CS50, besedilo je element. In to je nekaj oznak. To ima to oznako. In smo opazili, da je na začetku in nato poševnica, tako zapiranje oznako na koncu. Včasih tam ni odprta tag in blizu tag. Obstaja samo ena stvar. Bomo videli primer, da na naslednjo stran. Torej vam ni treba odprt in blizu tag. Toda za to, smo obdaja to CS50 element v sidro tag. In v bistvu, te oznake povej Brskalnik, kaj storiti z Zlasti element. Torej še enkrat, CS50 je besedilo bomo videli. In da se bo Vrsta sidra. Sidro se v bistvu uporablja za povezave do nečesa. Še posebej, kot si lahko že povedati, da je to povezati z CS50 strani. Naslednji del oznake - ali na splošno, del oznake so atributov. In vidimo tukaj, da tag ima eno atribut, to href atribut. In jih spremeniti posebno oznako. Dejansko, če bi v eni od spletne strani ali sklici sem ti dal pred ali poglej gor oznako na spletu, boste opazili, obstajajo ton potencialni atributi. To je verjetno ena najbolj pogosti. To mi je povedal, da ustvarite povezavo na posebni spletni strani. In atribute splošno so podane, če ni podana izključno v parih vrednosti ključa. Torej, tukaj je ključ, href. In vrednost je to tukaj. In da bo prišel prav kasneje, ko smo začeli uporabljati nekatere knjižnice Pomagajte nam kodo v JavaScript ali pisati HTML vsebine. Mi se pogosto dogaja, da se - tako kot mi bi naredil niz nosilec 0 in da bi nam dal neko vrednost. V prihodnosti bomo lahko delaš veliko stvari, kot nekaj, kar nosilcem href. In da nam bo dal vrednost href, ali če želimo posodobiti href ključ, nato pa ji dati Poseben pomen. Torej, tako kot z nizi, kjer smo imeli Tipka 0 ali tipko 1 ali tipko 2 ali celo z hash tabelo, no, s svojimi razpršene tabele kot tudi, ste verjetno imeli - to je matrika, tako ključna 0, 1 tipka, tipka 2. Da je indeks tam, smo lahko mislim, da je ključ. In vrednost je glede na je bil tam shranjeni. Vse te lastnosti so parov ključ-vrednost. In da bo pomembno za spreminjanje jih ali jih posodobiti ali jih vstavite pozneje. Nazadnje, ko ste videli to strukturo prej, ampak to je najbolj osnovna Struktura strani HTML. Na vrhu, vam povemo, da To je v bistvu HTML. In potem imamo odprt HTML tag in blizu HTML tag. Torej je vse v notranjosti to je HTML. Vidimo glavo in telo. Glava dokumenta običajno vključuje kaj? Kakršne koli ugibanja, za kar si dal v glavo? PUBLIKA: Si dal naslov in slog. JASON Hirschhorna: naslov. To je bil velik ugibanje. Morda sem ti namignil, da. Katere so nekatere druge stvari? Omenili smo eno od njih, ki Morda gre v glavo. PUBLIKA: Rekel je, slogi. JASON Hirschhorna: Styles - tako da, če želite povezati v JavaScriptu ali celo CSS, kar govoriš O, ko govoriš O stilov. Še ena datoteka, ki jo želite povezati v izven datoteke, ki bodo verjetno bo v glavi. Kaj še? Omenili smo nekaj diapozitivov Pred ena od stvari, ki HTML lahko stori za vas. To lahko zagotovi - Začne se z M - PUBLIKA: metapodatkov. JASON Hirschhorna: Metadata - tako veliko metapodatkov bo šel v glavo, ker to ne bo nujno potrebno da se del telesa svojo kodo. To je na splošno - telo vsebina, kaj kdo vidi. In tako sem dal proč odgovor na moje naslednje vprašanje. Toda v telesu na splošno vsebnost da se dogaja, da se prikaže na spletni strani. Kot bomo videli, zapletenih spletnih strani ponavadi mešata ali spremenite gor kaj dajo v glavi in ​​telesu. Ampak na splošno, glava vsebuje stvari da se uporabnik ne bo vidite na zaslonu. Povezuje v drugih datotekah in zagotavlja metapodatke. Ker telo vsebuje vse Uporabnik bo videl. Vsaka ideja, kaj pomeni ta p tag? PUBLIKA: Točka? PUBLIKA: Print. PUBLIKA: To ne pomeni tiskanje. PUBLIKA: Ali to pomeni točko? JASON Hirschhorna: Točka - tako da je ta odstavek. In to p tag, jaz bi samo vnesli To na zaslonu in nato vključeni prelom vrstice Na koncu tega. Ali kdo ve, kako vključiti prelom vrstice? PUBLIKA: pr - JASON Hirschhorna: pr - PUBLIKA: Slash pr? JASON Hirschhorna: pr poševnica stojala za prelom vrstice. Ampak odstavki so specifični oblikovanje. In bomo prišli do oblikovanja v drugič, ko govorimo o CSS. Ampak vse znotraj teh str oznak bo imela nekaj privzeto oblikovanje povezano z njo, verjetno nekaj razmik med različna odstavki. In bo to eden od načinov za razlikovanje bloki kode. Kakršne koli druge oznake - kakšne so druge oznake, ki ste jih videli? JASON Hirschhorna: h1 skozi H6. H1 skozi H6, in kaj je to? PUBLIKA: bo, označuje, kako velika in krepko črke so. JASON Hirschhorna: Right, stoji za glavo. In tako header1 je velika glava. To bo verjetno privzeto, krepko, Velika velikost črk, verjetno osredotočen na zaslon, vse tja do H6, ki je manjša velikost črk, manj je poudaril. Seveda, lahko v ste CSS datoteka ali nekje v kodi - ki, še enkrat, bomo prišli do, da v sekundi - spremeniti tisto, privzeto vedenje od h1 tag je. Toda ne pozabite, da Chrome, Safari, Firefox, Internet Explorer vsi privzeto išče veliko Te standardne oznake. Lahko še enkrat, vedno spremenite kako izgledajo. Kakršne koli druge oznake, da vsi je videl? Ja - PUBLIKA: div stran. JASON Hirschhorna: div tag - div tag nima vgrajenega format, na SE, ki se uporablja za blokiranje off različne vrste kode. Kakršne koli druge oznake? Da. PUBLIKA: li - JASON Hirschhorna: li - kaj je za li? PUBLIKA: Seznam. PUBLIKA: Seznam JASON Hirschhorna: li je Za seznam elementov. Obstajata dve vrsti seznamov. Kaj sta dve vrsti? PUBLIKA: urejene in neurejene. JASON Hirschhorna: Ž in neurejene - tako ul stojala za neurejen seznam. To je, če hočeš kroglo poudariti, seznam nabojev. Urejen seznam, je oštevilčen seznam. In tako boš naredil odprto ul oznako in nato ton seznama elementov in nato zaprite ul oznako. in da bo ustvarili neurejen seznam. Bomo videli nekaj primerov HTML v bit. Vendar pred tem, želim priti do CSS. In CSS je kratica za Cascading Slogov. In to je zelo tesno povezana v HTML, vendar nekoliko drugačen. To vam pomaga oblikovati vse vsebine da HTML struktur. Torej v CSS, smo na splošno ne želijo stil vsak glave ali vsak same slike ali vsak edini odstavek. Želimo, da stil nekatere elemente ali morda specifičen element. In tako smo stil specifičnega element je, da ga je ID. Torej je to atribut. Ima ključ in vrednost. ID je ključnega pomena. Logo je vrednost. Izbral sem logotip naključno. In če daš nekaj identificirala, na splošno je treba, da je treba samo je eden od elementov. In potem, v slogi, lahko slog, ki zlasti element, pa si ga želite videti. Če želite slog številne Elementi, morda je gotovo razred glav, le nekaj vaših glavah. Mogoče je header in slike in odstavek si vsi želimo, da se na sredino. Potem lahko daš teh skupin elementov vsi razred. In lahko daš razredu Posebni slogi. Torej ID in razred sta dva načina break up kodo, tako da boste lahko pomaga biti bolj natančno, kaj slog. Obstajajo trije načini za stil. Prvi je, z Ta slog atribut. Torej vidite, ključ stil je stil. Vrednost slog je dejansko še en ključni seznam vrednosti. V tem primeru sem izbral en ključ, text-align. In sem rekel, center. Morda se sprašujete, pri tem točka, kako sem vedel text-align. Kaj to sploh naredil? To je veliko vprašanje vprašati, in bomo priti v sekundi. Torej, to je eden od načinov, da stil nekaj, daj mu slog atribut. Drug način, da stil nekaj je - to je Akshar že omenili. Lahko uporabite slog oznake in dal, da v glavi dokumenta HTML. Torej ste v bistvu rekel, vsebina notri je nekatere vsebine slog. In format za to je stvar, ki jo želijo stil in nato znotraj zaviti oklepaji, ključna vrednota par atribute, ki jih želite dati da je posebna vrsta elementa. Končno, in to Najpogostejši način. In to je način to storiti v nizu str 7. To je zunanji slog stanja. Torej imate. Css datoteko. In znotraj njega, boste videli veliko Stvari, ki izgledajo kot to, ime neke vrste elementa ali osebno ali razred in nato znotraj kodrasti naramnice, seznam ključnih parov vrednosti. Seveda, če ste ustvarili zunanji datoteka, boste morali vključevati - oster vključujejo, da bi je analogija C - v HTML datoteko. Tako da boste morali to vključiti Koda v HTML datoteko. To pa ime datoteke in ob predpostavki, da je v istem imeniku. OK. To je bilo veliko. In sedaj gremo dihati in pogled na neki pravega, živega spletne strani in raziskati to bolj. Toda preden bomo to storili, ne kdo Za vsa vprašanja? Torej, če želite, da to storijo, skupaj z mi, lahko gremo na aparat. In sem se odločil domačo stran CS50. To lahko storite s katero koli spletno stran. Ampak zakaj ne bi začeli z CS50 domačo stran? Oglejmo osvežiti. Pravzaprav sem zelo priporočam delaš to skupaj z mano, ker tisto, kar smo se boš pa zdaj se bo neverjetno priročno za vas, ne samo v P-Set 7, ampak v P-Set 8, kot tudi. Ja. PUBLIKA: Ali obstaja način, da to komentarje v HTML, ne da bi z uporabo PHP? JASON Hirschhorna: Ja, lahko dajo pripombe v HTML. PUBLIKA: Kaj je skladnja? PUBLIKA: Klicaj dash dash. PUBLIKA: OK. JASON Hirschhorna: Da. To je sintaksa. Lahko dajo pripombe v HTML. Lahko dajo pripombe v PHP. Kot boste videli, komentar v HTML bo Še vedno pokažejo, ko gledamo HTML izvorne kode za posamezno lokacijo. Torej, to cs50.net. Če desno kliknete na najsodobnejši Brskalniki na večini vseh strani, si lahko ogledate vir stran. Torej, kaj je storiti, da na CS50. In glej no glej, smo glej velikan stvar. CS50 dejansko izgleda zelo lepo. Veliko spletnih strani, ne bodo poglej propadati. Če greste na Googlovo domačo stran in jo odprli. To ne bo videti propadati. Ampak, ste opazili, da je na vrhu - To je nekako majhna. Naj bo to večji. OK. Na vrhu DOCTYPE HTML, to je znano. Potem bomo videli odprto oznako HTML in glava, tukaj, vsi teh meta oznake. In si lahko ogledate ta OG, ne bo šel v to zdaj. Vendar sem skoraj pozitivno, da na tistih, ki bi se Facebook. To je pravzaprav Facebook. Mislim, da stoji za odprto grafu. Torej, se spomnite, sem omenil da je Metapodatki Faceboook specifična lahko dati na stran. To je tisto, kar je tukaj. Torej, ko boste povezali ta stran na Facebooku, Slika se dogaja, da pokažejo je to slika tukaj. In ti dejansko videli, da je Facebook, saj je Facebook slik. Ampak vseeno, smo dobili stran. Torej, imamo nekaj metapodatkov oznak tukaj. Vidimo naslov CS50. In spet, je naslov, kaj se dogaja tu v zavihku brskalnika. To vidimo se povezuje na, tukaj, Zunanja datoteka JavaScript. Nismo govorili JavaScript veliko, ampak naslednji teden - in seveda, če delaš spletno problem niz, boste uporabljali JavaScript. To je, kako povezati na zunanji JavaScript slik. Vidimo tukaj, končno, CSS slogi, ki dokumentira ti stili te kode. Oglejmo dejansko odpre, da gor in poglej res hitro. To izgleda noro. Ni šans, da bi bilo lahko prebrali. Torej lahko zdaj, čeprav, če ste vzeli videz, lahko nekako videli, da obstajajo - tam gremo. , Ki je videti kot nekaj, kar smo videli pred, barva ozadja, jo nastavite enaka do neke rdeče-zeleno-modro vrednosti. Te stvari nekako ne bi smel videti, da tuja, čeprav, ko je predstavila kot je ta, je lahko malo prepričljivo. Mi ne bomo pogled na to CSS datoteko ali preživijo veliko časa na njej, ker je, še enkrat, zelo težko prebrati. Vrnimo se k temu HTML stran za CS50. In naj se pomaknite na telesu. In v notranjosti vidimo to div tag. Vidimo glavo tukaj. Vidimo sidro oznako. In ta seznam element dati poseben razred. In vidimo, da razred ponavljati znova in znova. Tukaj ste Curtis. Obstaja komentar v HTML5. In kot ste opazili, smo še vedno lahko vidite da, ampak ne prikazujejo. Pravzaprav je res zanimivo. Izgleda, da ta seznam scores element je komentiral ven. Če gremo na to stran, še enkrat, pa še vedno se pojavi tam, tako zanimivo. Oh, to je zato, ker to naslednje vrstice. Kaj še vidimo v interesu? Preostanek je to bolj zmedeno, v , ki se ukvarjajo s tem desni polovici Spletna stran, ki je malo malce bolj zapletena. Torej, to je tisto, kar nekatere HTML bo izgledal. Za mene, čeprav je to malo veliko, in to ne pomagaj mi, da je veliko. Vendar pa je nekaj, kar ne, v resnici, pomaga mi veliko. In to je tisto, kar ga uporabljam, ko sem jaz poskuša ugotoviti, kako nekaj videti takšna, kot je, ali kako lahko Jaz spreminjam svojo spletno stran. In to je orodje za razvijalce ki je vgrajen v Chrome. Torej, če greš na ta tri bare desno tukaj in pojdi do orodja kliknite Orodja za razvijalce, bo malo okno pop na dnu strani. In predvsem, Chrome, saj je čudovito, bo format to okno in vzemite HTML in bi bilo videti Veliko lepše za vas. Torej, zdaj je dejansko nekaj Zložljiva HTML, ki jih lahko razišče, da se preveri elemente strani. Če želimo, da pogled na telo, dejansko izpostavlja. Ko se premikate skozi del HTML, določenimi v tem oknu, bo označi del Govori o v velikem oknu. Naj še enkrat poskusila blow up to malo. OK. Torej, odprimo telo. In jaz sem se pomikate v tem levem div. In opazite, da je poudarjanje To levo polovico zaslona. Torej, dajmo kliknite na to in razširiti, da. V njem, zgleda obstajata dve divs. Tam je najprej div. Ne vidim, da je poudarjena. Ne vem, ampak izgleda, da je to Drugi, levo notranjo, je vsebnost na levi strani zaslona. Potem je tu še ta stvar imenovano glavo. Izgleda, da je poudarjanje del CS50. Če smo odprti, da se vidimo, da je nič več kot glavi 1. To je dal ID, in to je Glede na besedilo CS50. Torej še enkrat, gledaš skozi to konzole ali z uporabo orodij za razvijalce plošča na dnu zaslona znamk raziskovati to spletno stran, upajmo, veliko manj zastrašujoče in veliko bolj dostopno. Prav tako nam omogoča, da razumejo, da ta spletna stran, čeprav je videti zelo lepa in lepo, ni vse, da je veliko več kot tisto, kar bo delaš na Problem Set 7. In to je popolnoma znotraj vaša sposobnost za ustvarjanje. Če želimo - druga kul stvar o uporabi teh orodij, če kliknete z desnim gumbom na Naslov lahko urejate HTML. Torej, recimo ji Jason. In zdaj boste opazili, da so se spremenile HTML na tej strani. Seveda nisem spremenila to trajno. Če sem osvežite svoj brskalnik, nato pa bi pojdite nazaj na prvotno HTML. Ampak včasih želim, da debug svoj zbornik, in ne želim videti samo še moje gedit okno in poskusite in razumeli kaj se dogaja. Rad bi videl, kaj se bo zgodilo v živo. Torej bom urediti kodo, kot je ta, in dobili je tako, kot sem jo želeli videti. In potem bom naredil Spremembe v mojo kodo. In se mi zdi, da je veliko lažje ko lahko narediš stvari sprašuje, kot je ta. Recimo, še enkrat, želimo, da bi drugi priložnost, saj smo z raziskovanjem HTML in CSS zdaj. Jaz lahko uredite HTML zdaj. In jaz bom vključiti povezavo. Tako da bom za spremembo CS50 dom stran, tako da bo povezava na - recimo - mojo domačo stran. Kaj je ime, če kdo spominja, ali kaj je atribut želim dati na kartici sidro, ko želim je povezati nekje drugje? PUBLIKA: href? JASON Hirschhorna: href - Torej, zdaj, boste videli, da obstaja je bilo poudarjeno, pod Jasona. To je zato, ker Chrome, ki ga privzeto, daje sidra je podčrtano. Verjetno ste že opazili, da je pred ko ste šli na spletno stran. Stvari, ki so povezave je poudaril in v modri barvi. Privzeti slog za povezavo je na splošno poudariti in ga dal v modro. Če mi ni všeč, da To lahko spremenim. Pa ga bomo spremenili v sekundi. Toda zdaj, prav tako opazili, da, če sem hover zaradi tega je v spodnjem levem zaslon, tik nad besednimi elementi je povezava, ki sem ga dal. Torej, če sem kliknite na to - in smo lahko desni klik na to, odprete nov zavihek. To ni pravzaprav moja domača stran. To je samo moje ime. Tukaj imaš. Mi smo zdaj jo spremeniti v povezavo. Oglejmo si nekaj CSS, kot dobro. Lepa stvar - in bom bi to malo manjša - okoli ta konzola je, da je noro CSS list smo videli prej, da je bilo res težko razčleniti, je zdaj lepo določenimi za nas na levi strani te plošče. Tako smo lahko ogledate. In če smo razširili ta zavihek Slogi smo lahko vidite vseh različnih stilov , ki so povezani z, v tem primeru To zlasti element, to povezava element. Če bomo jeziček sestavljene stilov, da Pravkar nam kaže, ni tam, kjer je vse prihaja, vendar v bistvu vsi ti stili, ki delujejo na To zlasti element prav zdaj. In recimo, želimo Da lahko spremeni bit. Torej, to je vse sloge, ki so , ki delujejo na tem elementu. Recimo, da želimo to spremeniti, saj smo želijo videti, kako kaj izgleda. In mi samo igramo okoli zdaj. Ali želimo preizkusiti nekaj ven, preden pisanjem v šifrah in potiskanje je in zaradi česar je življenje. Lahko gremo na zavihek Slogi. In v prvem polju je pravi, element.style. In tukaj, lahko vstavite, lahko dodate nekaj. Torej, želim - pojdimo na moj link in nastavite barvo ozadja. In to dejansko autofills za vas, vse možne lastnosti. Barva ozadja, in želim, da bi to modro. Blus ni beseda. Blue je beseda. Pa vidim, da pridejo gor? Oh, je to zato, ker je v href? OK. Torej, jaz ne vidim nobenih sprememb tukaj. In to zato, ker, če smo poudarili povezavo, boste opazili, da je povezava se dejansko ne nadzoruje lastnosti tega posameznega elementa. Pravzaprav, če smo odprli povezavo, ta glava tukaj, da je nadzoruje, kako izgleda. Torej, če želim, da bi ozadje modra, dejansko sem moral spremeniti Barva ozadja na Glava element. In zdaj smo videli, da Ozadje je modro. Torej, še enkrat, to se hitro lahko grem prek tega materiala precej hitro. Ampak to je v bistvu tisto, kar boste, da se delaš. Ni na Problem Set 7, vsekakor pa, ko ste kodiranje na spletu. OK. Želim, da bi v ozadju modro. Čeprav je v tem primeru modra izgleda precej grdo. Lahko grem noter, igral. Vidim, da ga spreminja v modro ne deluje na a. Moram dejansko spreminjanje glave element vključiti modra ozadje. In potem, če potem sem šel nazaj na moj CSS Datoteka, kako dejansko določiti to Ozadje je modro in da bi to palico spremembe? Ker če bomo opazili, če bom osvežitev stran, se vse spremembe, ki sem odšla. Tako sem spoznal, OK, moj Ozadje je modro. Moram iti v to header1 element in spremenite barvo ozadja modro. Kako dejansko narediti to spremembo? No, spomniti, da če gremo noter tukaj se glava, Naslov ima ID. In to je naslov. In tako v naši datoteki CSS, lahko rečemo, OK, vzeti kaj z ID naslova in da ga to dodatno premoženje. Kako reference nekaj z ID naslova, vse ideje, ali komerkoli veš, kako se sklicujete ID-ji v naši CSS datoteko? Hash, ki je ravno prav. In si dobil namig, da je tukaj. Torej nekje v tej datoteki CSS, tam je ta vrstica kode - # # Levo levo-notranja # # header naslov. In to ji daje spodnji rob, opredelitev spodnjem robu za to Zlasti element. No, če sem hotel to spremeniti, Jaz bi šel v to CSS datoteko. In sem lahko bodisi zdi del datoteke CSS. Ali lahko pišem sam. To lahko storim hash naslov kodrasti opornik in potem barva ozadja debelega črevesa modra podpičje in blizu, da kodrasti brace. In da bi spremenila ozadje Barva tega elementa modro. Razlog, da vam tako veliko, tukaj je to, da je potrebno v tem primeru ker naslov je edinstven ID. Toda kaj lahko storite, je nest stvari. Torej, to je rekel, OK, pojdite na levo. To je zelo majhna. Se opravičujem za to. Ampak gre za stvar, z ID levo. Notranjost, da si za Stvar z ID levo notranjo. Znotraj tega poglej, poglej za stvar z ID glavo. Notranjost, da si za stvar Naslov oglasa in spremenite naslov ID. Torej je to samo način, gnezditvenih stvari. Nekateri ljudje radi gnezda, saj to omogoča malo bolj jasno. Videli boste tukaj tudi, kajne tu ni hash. To je samo H1. To je zato, ker je podan h1 ime generično oznako. In tam so nekateri CSS lastnosti povezana z vsako posamezno H1. Torej, če sem našel drugo H1 na tej strani Rad bi tudi videl, da je ta stil uporablja za to, kot dobro. Če bi želel uporabiti slog na razred, kako sklicevati na razred ali govorimo o razredu v datoteki CSS? PUBLIKA: Dot. JASON Hirschhorna: To je s piko. Torej, vrnimo se na to stran, preden. Če naredim hash ID. To se spreminja slog na stvar, z ID. Ali mi je, če sem naredil hash logotip, ki je iskanju stvar z ID logotipa in mu daje poseben CSS stil. Če naredim nekaj. Top, da je iskanje vse, kar je z razredom vrhu spreminjajo svoje sloge. Če mi preprosto H1, da najde vsak enoposteljne H1 in mu daje ne glede na slog želim dati. Če naredim H1 prostor in potem. Vrh. Da bo šel poiskati vse H1S in nato Vsi tisti z razredom vrhu in spremenite samo tiste sloge kar hočem dati. In še enkrat, bi lahko napisal nekaj tega sami. Ampak mi ne bi tako daleč prišel. Veliko bolje, se zdi, da dejansko šel na resnično živeti spletni strani in videli, kako to počnejo in pogled na vse fantastične stvari, ki jih dobite storiti. Oglejmo si še en spletni strani preden gremo naprej. In to je tista, ki jo boste verjetno navaditi. To je CS50 Finance. Torej še enkrat, lahko dejansko šel v in upoštevajte ta CSS datoteko na vašem računalnik, ker ste to prenesli CSS datoteke, če ste jo prenesli Problem nastavite. Lahko gremo na Orodja in Orodja za razvijalce. In smo videli veliko enostavnejši postavitev HTML. Imamo zgornjem, srednjem in dno. In spet, nekaj, kar bi moralo biti seznanjeni s tem, ker si pogledal s kodo za distribucijo za določen problem ta teden. Na vrhu je, na oznako, same slike klical. In da je vir slike. Povedati, da sem končala vse, česa Želel sem, da bi se problem Set 7. In to je pravilno, vendar Želim spremeniti, kako to izgleda. In želim, da spremenite ozadje na vrhu strani k, na primer, modra. Če bi bila jaz, bi prišel v tu in ugotoviti, OK, kaj Ne želim spremeniti. Poglejmo, div ID vrh, ki izgleda kot na vrhu strani. Torej, pojdimo tja. Poskusimo spreminja barva ozadja. Pojdimo narediti Alice modro, saj to je lepše ena. In boste opazili, da - vam verjetno ne vidi. Vendar pa obstaja svetlo modra, skupaj z logom CS50. Kaj je to spremenilo, namesto rdeče. In boste opazili, zdaj sem spremenila barva ozadja v rdečo. Torej, zdaj jaz bi šel v mojo CSS datoteko in tip # top zavite paren tukaj. Lahko vidite kodo pravico tukaj, kodrasti naramnicami. In potem bi dodal ozadje color, rdečo. In potem, tam bi biti kodrasti brace. Torej, to je, kako bi se razišče in eksperimentirajo z formatiranje na CS50 Finance stran. Jaz bi to naredil tukaj in preizkus se izvajajo na mojem brskalniku. In potem sem lahko šel v mojo dejansko kodo in spremembe, ki bodo dejansko šel v živo in da ljudje dejansko videli, če bi prišli do moja posebna spletna stran. OK. To je bilo veliko. Opravičujem se za tekoč skozi je tako hitro. Ima kdo kakšna vprašanja sploh o HTML ali CSS? PUBLIKA: Lahko greš čez kako povezana, kar je postal Jason, spet? JASON Hirschhorna: Kaj Ali mislite, povezana? PUBLIKA: Ste pod pogojem, povezavo do drugega spletne strani, s pomočjo sidro. JASON Hirschhorna: Torej ste sprašuje, samo na splošno, kako si narediti povezavo? OBČINSTVO: Ja. JASON Hirschhorna: OK. Koda za izdelavo povezave - PUBLIKA: Ne, kot v HTML. JASON Hirschhorna: Tu dol, misliš? Torej, če želim vključiti povezavo nekje, recimo, da je to HTML na moji stran tukaj. To je HTML. Mogoče je odprta v datoteko index.html. Grem noter Imejmo to avtorsko pravico Johna Harvard povezava do nečesa. Torej bomo urediti vse to kot HTML. Vse, kar morate storiti je vključiti a, tako oklepati tesno nosilec na začetka in nato nosilec poševnica blizu nosilec konec. Torej, zdaj sem vključen sidro oznako. In dejansko, če kliknete od tega bo zdaj formatirali urediti kot HTML. In rekli smo želeli povezati. Ti bi mi href atribut. In smo rekli - In zdaj, ko opazite, avtorske pravice John Harvard je modre barve. In ko sem se pomaknite preko to pa je zdaj povezava. Torej lahko pišete to kodo. Lahko obkrožajo precej karkoli želite v sidro dostavek in ga obrnite v povezavo. PUBLIKA: OK. Imam jo. JASON Hirschhorna: če In nisem hotel to - seveda, včasih ljudje mislim, da te stvari, da samo poglej blue generično in poudaril, so ni najlepši način, da bi povezavo. Torej, če sem prišel tja, boste videli, da je nekje v datoteki CSS, je napisal to in potem dve zaviti oklepaji. Torej, recimo, da za povezave, ne vem želijo, da bi postala modra, ne bom želite barvo povezavo do je to lepo magenta. Dajmo ji dajejo barvo. Pojdimo magenta. Zdaj, vse povezave na moji strani imajo postala to lepo barva magenta. Nekateri ljudje ne marajo barve sploh. Nekateri ljudje ne marajo, poudarja. Vam izbrati. S povezavami, ki jih lahko slog, kako so poglej ko ste jih obiskali. Kot boste opazili na veliko strani, povezave obarva vijolično na ste jih obiskali. Lahko spremenite to barvo, kot dobro. Ja. PUBLIKA: Torej si jo spremenite za vsako posamezno povezavo. Ampak, če si hotel narediti to povezavo sam bi si naredil v ID spodaj, ali kaj? JASON Hirschhorna: Torej, veliko vprašanje. Kot si opazil sem, sem zamenjal nekaj del CSS, ki se uporablja za vse, kar je A. Če sem hotel samo naredi to povezavo na dnu, I bi šel na moj CSS datoteko in verjetno narediti tako kot si rekel, hašiš Spodnji prostor. In da mi ne bi bilo vse kot v dnu. Ali pa, alternativno, najsi bo to dal edinstven ID, in potem samo naredi hash povezavo. In da bi mi dovolite da se to spremeni ven. Vendar samo doling ID Prisilno je na splošno slab praksa, ker tisti, mora biti edinstvena. In bolj ko imajo tiste, jo lahko dobite malo zmedeno. Ja. PUBLIKA: Lahko daš isto ID na več lastnikov? JASON Hirschhorna: Tehnično, ja. Nič se ne bo ustaviti, vendar pa ne bi si ga morali dati razred. Ok, katera koli druga vprašanja o HTML ali CSS? OK. Dovolite nam, pojdite na PHP. Oh, ja. PUBLIKA: Kaj je o teh spletne strani, ki pomeni, da lahko urejate jih pred nas osveži. Ampak, ko smo osvežili se preklopi nazaj na začetno HTML? JASON Hirschhorna: Great vprašanje - tako da, ko smo to naložen Spletna stran, to je HTML. In to je JavaScript. Njena PHP se izvrši, da nam karkoli vrsta spletne strani vidimo. In to je ustvaril nekaj HTML, nekateri JavaScript, CSS in nekaj. In da je sedaj na voljo z našega računalnika. In kopijo teh datotek shranjene lokalno na našem računalniku, zaenkrat. Tako smo lahko uredite, da lokalno kopijo. Seveda pa ne bomo urejanja kopija strežnika. In ko smo osvežite stran, smo dobili še eno kopijo strežnika. In tako vidimo stvari nazaj, kot so bili. Če nam je uspelo, od tukaj, da uredite Uradna spletna stran, bi imeli veliko problemov. OBČINSTVO: Ja, zato smo lahko prebrali in pisati to kopijo. JASON Hirschhorna: Right. Delava samo lokalne spremembe tukaj, ampak spet, zelo koristna za raziskovanje, velikokrat. Ko pišem svoj zadnji projekt, za Na primer, želim videti, kako nekateri Spletna stran je kaj videti Tako so naredili. Jaz bom šel v in uporabo te podokno navzdol tukaj, da pogledati, kaj CSS so dali je ali kakšne barve so izbrali ali kako Razumem, tako da, ko je lebdel nad nečim, seznam prišel dol v lepo kaskadno način. To je odličen način, da preverite, kaj drugi spletne strani narediti in sposoditi od njih. Pojdimo na PHP. PHP je kratica za, na rekurziven smislu, PHP Hypertext Processor. In PHP, kaj se dogaja, da storijo se izvrši kodo strežnika. Torej ne bomo nikoli videli PHP kodo. Se pa lepo igrati z HTML in pogosto ustvarja Veliko HTML kodo. Ampak kot boste seznanjeni s Problem Nastavite 7, bo vaš PHP kodo izvršiti, ustvariti nekaj HTML, in to je tisto, Uporabnik bo na koncu ogleda. PHP je neverjetno podoben C. Vendar pa obstaja nekaj razlike in te razlike je pomembno omeniti. Ena razlika je v tem spremenljivke v PHP ohlapno vnesli. Ima kdo občutek kaj to pomeni? PUBLIKA: Ni potrebe, da ga odda sami. Tako kot ni treba pisati v besedilu. JASON Hirschhorna: Jaz ne bi uporabila Beseda cast, ampak ja, ni potrebe, da ugotovi, Tip za določeno spremenljivko. Kako namesto tega izjavljamo spremenljivka? PUBLIKA: Uporabite znak za dolar. JASON Hirschhorna: Uporabite znak za dolar. Torej $ x je spremenljivka. $ 1 je spremenljiva. $ String je spremenljiva. Tisti, spremenljivke, $ x lahko je celo število. Potem bi bilo niz. Nato bi bilo znak. To sploh ni pomembno. Prav tako kul stvar PHP je, recimo, $ x je niz ena. In $ y je znak ena. Dodate lahko $ x in y $, in ga bomo vam 2, kar ste pričakovali. Tako da so operacije v PHP. Zato, ker je ohlapno tipkal spremenljivke, nekatere implicitne pretvorbe je naredil za vas in nekatere operacije. To lahko storite operacije na stvari različnih tipov. Ker je pred, imate pogosto napako v C rek, to ni tip da je morala iti tukaj. Edine stvari te vrste lahko šel tukaj. Ne boš šel, da bi dobili te vrste napake, na splošno v PHP. Torej to je ena velika razlika - kako ravnamo s spremenljivkami. Druga velika razlika je, da PHP koda je razlaga. Ker mora, je prevedena koda C. Kaj to pomeni? No, za C kodo, ki jo je pretekel je skozi prevajalnik. Ste ustvarili binarno datoteko. In si tekel, da binarno datoteko. Vzel si poskrbel za vse napake, preden ste ustvarili binarno datoteko. Seveda pa bi bilo segmentacije napake, ko je pretekel binarna datoteka. Vendar pa to ni všeč, da si pozabil vključiti opredelitev printf, ali niste uporabili spremenljivko in samo ustvarila nepotrebno spremenljivko. Ali pa ni opredelil Funkcija prototip. Vse, kar se je zgodilo, preden ste pripravljeni. To vam je dal vse napake ali slabo stvari, ki se zdijo se lahko zgodi. In potem si imel vaš 0 in 1 slika, ki jo je pretekel. PHP koda ne deluje tako. Ti boš, da napišete PHP kodo. Potem, boste ga shranite, verjetno. In vsaj v P-Set 7, si bo osvežiti svoj spletni brskalnik in boste videli, kaj se je zgodilo. Boš videl izhoda te kode PHP. Morda boste prav tako videli, na vrhu vaše strani, napaka. Ker si imel nekaj Napaka v PHP. Morda boste še vedno videli preostanek Spletna stran je videti v redu. Vendar je en del je narobe, in tam napaka v tem kraju. In to zato, ker ta del vaš PHP koda ne deluje. Dejansko, ko jih izvajate, ko vam iti nekaj podobnega by.php. To se dogaja, da gredo skozi vaš PHP datoteko po vrsticah in ga izvršiti takrat in šele takrat. To se ne dogaja, da ga pripravijo pred čas, ali sestaviti eno kopijo in nato dati da pripravijo kopijo vsem. Vsakič, ko se dogaja, da gredo skozi po vrsticah in ga izvesti. Tako da bi nekatere linije delujejo in izhodna nekaj pravilna. In druge linije se lahko razdelijo in namesto izhod napake. Torej, ko debugging PHP, smo zaradi vam nekaj koristnih stvari Da bi vam pomagali debug, kot so Funkcija odlagališče. Ampak na splošno, si bo da se te napake. In to je, kako boste Vem, da si nekaj narobe. Ampak ste samo videli napako ko ste dejansko vozijo kodo. Drug pomemben vidik PHP in izdelava spletnih strani, je ideja get v primerjavi pošti. Ali lahko kdo razloži, kaj je razlika med zaslužiti in post ste? Nihče - ja. PUBLIKA: Ali ni ena izmed njih naj uporabnik vidi podatke, in eden od njih ne? JASON Hirschhorna: Great. Ja, imaš kaj za dodati? PUBLIKA: I thin objava super-globalna spremenljivka. JASON Hirschhorna: Torej oba spremenljivke so dana za vas. To so le spremenljivke. In veste, oni so spremenljivke, ker tukaj sem uporabite znak za dolar. To so spremenljivke, navedene da vas z PHP. In ko se premikate med spletnimi stranmi, želite prihraniti nekaj informacij. Boste verjetno želeli rešiti, če Uporabnik je prijavljen To se ne shranijo v GET in POST. , Ki je shranjena v nekaj drugega, drugačna spremenljivka. Ali kdo ve, kaj spremenljivka, ki je shranjena leta, ali kaj spremenljivka lahko uporabite v P-Set 7, se prepričajte, da Uporabnik je prijavljen? $ _SESSION, Da je ravno prav, verjetno pomembno, da so seznanjeni z imena teh stvari uporabljate pogosto. Torej boste uporabili spremenljivko sejo za shranjevanje informacije od strani do strani. To je zelo spremenljiva. Obstaja na vsaki strani, morda kot Globalna spremenljivka, če želite, da razmišljajo pa je tako. Obstaja nekaj drugih spremenljivk , ki vam omogočajo, da prenos podatkov od strani do strani. Še posebej tisti, ki se bomo osredotočili na so GET in POST spremenljivke. V PHP so izgledali $ _GET In $ _POST. In razlika, kot je Marcus opozoril ven, med njima je, da Podatki v $ _GET je prikazan v URL. Torej, če gledamo tukaj, bomo videli povezavo YouTube. Vidimo to vprašaj. Vidimo v = in nato nekaj vrednosti. Nazaj na tej ideji ključna vrednota par, v je ključ. In tukaj je vrednost. Torej, če bi šli na to stran ali kodiranje na tej strani, bi morali spremenljivka imenovan $ _GET. Če smo šli na $ _GET oklepaj "v" zaklepaj, zelo podobna matriki zapis, to je sodelavec niz zato, ker mi ne uporabljajo indeksov. So bili z uporabo nizov so ključi. Vendar zelo podobna ideja. Če bomo šli mi, bi dobil to vrednost. Na tej strani, bi morali biti sposobni Za uporabo te vrednosti. Če bomo dejansko videti, kaj je pojdite na strani YouTube. Kaj video moramo gledati? Ta se ljudje Hobbit navijače? PUBLIKA: Da. JASON Hirschhorna: Torej sem kopiranje njihov delež URL in prilepite v novem oknu. In zdaj, če pogledaš gor, boste opazili, da še enkrat - Bom kopiranje in prilepite v gedit, tako da bomo lahko videli, da večji. Opazili boste, da ima to vprašanje mark. Vprašaj označuje, da je vse po tem se bo shranijo v get spremenljivko. Nato ima v, da je prva ključ in ta prva vrednost. Ampersand je nekaj posebnega. Ampersand je rekel, OK, smo končalo prvo vrednost. Zdaj smo se gibljejo na drugo par ključev vrednost. Tu je ključ imenuje funkcija, in vrednost je youtu.be. Torej, če sem bil kodiranja to stran in nekdo šel na ta URL in sem imel Mogoče watch.php. In jaz sem to kodiranje. In sem lahko uporabite spremenljivko $ _GET. In jaz bi imela v, in Jaz bi imel funkcijo. In če uporabim proti ključ, sem bi dobil to vrednost. In če sem $ _GET oklepaj "funkcijo" zaklepaj, bi jaz dobil to vrednost. Še enkrat, to ne pomeni nujno uporabljata za - Očitno je, da YouTube ključe in vrednosti in se informacije ne veljajo za Naš problem Set 7. Vendar pa obstajajo nekatere stvari, ki jih prenese prek priti v našo Problem Set 7. In seveda, ko greš na spletno stran ali kodiranje svojo stran, $ _GET Bo prišel prav Ko vaš kodiranja. Kar je eden od razlogov za uporabo $ _GET takrat, če se daje nobene zasebnosti? Vidiš vse te informacije , ki se je prenesla. To je vse prikaže uporabniku. Ampak kaj je eden od razlogov, da boste morda želite prihraniti nekaj v $ _GET, kot nasprotju z $ _POST? Zakaj bi si želeli to storiti? Vse je v redu. Prosil sem te, v Quiz 1. Kaj je pro za $ _GET? Kaj je še ena pro? Ja - PUBLIKA: To je lažje izmenjavo informacij. JASON Hirschhorna: Mislim, to je super. To je lažje za izmenjavo informacij. To je lažje za zaznamek. Sedaj lahko zaznamke, YouTube.com / uro? V = nekaj in pojdi v tem posebnem video. Če YouTube Vedno je POST zahtevke za različnih strani, vsak YouTube URL bi YouTube.com. Ne moreš zaznamek sam video. Ker če rečeš delijo to povezavo Z nekom, ki jih ne avtomatično dobili vaš post spremenljivko. Oni ravno to povezavo in link je enak za vse. Tako, da je ena Pro. To vam omogoča, da zaznamek to podatke ali te informacije deliti ali bi bilo malo bolj uporabniku prijazen. Seveda, ni zasebnosti, tako da imamo to objavo spremenljivko. In post informacija ni prikazan v URL. To ni povsem zasebne. Ampak to je malo več zasebnosti. In tako boste videli ta URL tukaj, cs50.net. , Ali ste prijavljeni v Spletna stran, to se dogaja, da imajo enake URL, cs50.net. Očitno je, da je nekaj drugače, če ste prijavljeni na spletni strani. Imate eno, verjetno input PIN. In je bilo potrjeno, da s strežnikom. In to je verjetno prihranek nekatere druge informacije. Ampak URL ne spremeni na vseh. In tako, da je v primeru, ko Nekaj ​​se pošlje po pošti. URL ne spremeni. Te informacije POST ni prikazan v URL. Toda nekateri državni spremenilo, in morda obstajajo nekateri podatki ne shranijo v POST spremenljivka. Žal mi je. Preden sem šel v SQL, vsaka Vprašanja o PHP, še zlasti, Vprašanja o stvareh, ki jih ni šel čez da ste našli ali sintaksa ali logična vprašanja o PHP? OK. Končni jezik, ki ga bo interakcija s tega tedna ne Structured Query Language, SQL, izgovarja nadaljevanje pogosto. , Ki vam omogoča interakcijo z Baza podatkov v formalno. In ima zelo lepo s PHP. Kot boste videli v Problem Set 7, ki smo jih dal funkcijo imenovano poizvedbo. In to traja niz SQL in izvede da poizvedba na podatkovni bazi. V preteklih letih, ki jih ni bilo glede na to funkcijo. Boste morali uporabiti PHP funkcije, da bi poizvedba v bazi podatkov in preverjanjem za napake in nato dobili rezultate. In pravzaprav, to ni tako težko, ker še enkrat, se predvaja zelo lepo s PHP. In PHP vam veliko funkcij za interakcijo z bazo podatkov SQL. Tako pogosto, dva ti gredo skupaj. Seveda, lahko vplivajo Podatkovna baza SQL s katerim koli številne druge jezike. Ampak PHP je super, da izberejo eno. Baza podatkov - bomo šli čez to hitro, ker to je buzz beseda, bomo začnete uporabljati pogosto - je zbirka tabel. Tako bomo lahko pomislim kot Excelove datoteke. Excel datoteka ima več zavihkov na dnu ekrana. Vsaka kartica bomo danes imenujemo tabelo, v kateri Tabela je zbirka vrstic. In kaj je vrstica? No, vrstica je, da je ista stvar v Excelove datoteke. Da le ima določene vrednosti za vsako glede na polje ali drug dal stolpec. To je kot vnos v tabeli. To je študent, ki ima osebno, a specifična ID, in posebno ime in posebna hiša. Torej Baza podatkov je zbirka tabel. In mize so same število vrstic ali zapisi. Obstajajo tudi, v vsakem mize, nekatera polja. In da določa, kaj je vsak zapis dogaja, da imajo polja včasih imenujemo stolpce, ampak na splošno imenujemo polja. V tej zelo preprosti mizi, imam tri polja, polje ID, uporabniško ime polje in polje hašiš. In imam tri vrstice. Zdaj, oni so prazne. Verjetno ne bi bila prazna če je to moja resnična baze podatkov. Torej, če ste uporabljali program Excel, ki je podobna ideja s tem, kar si naredil v Excelu, čeprav seveda, zdaj gremo, da bi lahko narediti veliko močnejši stvari na Podatki, ki so shranjeni v naši podatkovni bazi. Ti bodo sami ustvariti eno Podatkovna baza za Problem Set 7. Vendar boste Ustvarjanje več tabele v zbirki podatkov. Odprla se vam bo ustvarjanje baze podatkov ali miza za uporabnike. Boste tudi ustvariti tabelo za Verjetno transakcije prodaja, da tir od njih, ker morate izvajati funkcijo zgodovine. Oba te tabele bodo imele različnih področjih. Na primer, na področju uporabnik, verjetno želeli svoje uporabniško ime in ID in razpršitev svoje geslo. V tabeli staležih, ki spremlja zgodovine ali zgodovine mizo, si verjetno ne potrebujete uporabniško ime in razpršitve in ID. Boste verjetno potrebovali le eno od tistih, vrednote, ki so edinstveni, da se povezujejo je z danim uporabnika. Ampak potem, ki jih želite shraniti drugo stvari, kot so, koliko je ura je bil posel. Kaj zalog je kupil ali prodal? Koliko delnice zalogi je kupil ali prodal? Kakšna je bila cena, po kateri stock je kupil ali prodal? Torej še enkrat, boste v stiku strani s podatkovnimi zbirkami, ki je dogaja, da imajo več tabel. Vsaka tabela se dogaja, da imajo svoj nabor polj. Vendar pa bo verjetno podoben polje v vsaki tabeli, ki jih poveže med seboj. Ponavadi je to polje ID. Kajti če ima vsak uporabnik edinstven ID in ga povežemo z ID vsak transakcija, ki uporabniku omogoča, ali Vse to uporabnikove zgodovine. In imate uporabniškega ID. Lahko dobite informacije bodisi iz tabele. Lahko bi dobili svoje uporabniško ime in ti lahko dobite vse svoje posle. Vsa vprašanja o bazah podatkov, ali posebna vprašanja? Pravzaprav, kaj je menilo, da. Tam bomo na dveh straneh. Torej obstajajo štiri operacije na baze podatkov, ki jih boste uporabljali v Problem Nastavite 7 in verjetno kdaj uporabljali. Prva stvar, ki jo želite storiti, je vstaviti nov zapis v tabeli ali Nova vrstica v tabeli. To je generična funkcija, generična oblika, te poizvedbe SQL. Vstavite v tabelo, ne glede na stolpce želite vstaviti, in nato vrednote, ki si bodo želeli da v teh stolpcih ali poljih. Če imate več tabel v Podatkovna baza ali več baz podatkov, bi morali določiti tudi baze podatkov in tabelo, ki jo želite postaviti stvari v. Ampak zelo preprosta, če želite vstaviti v nekaj, pravite, tukaj so Polja želim vstaviti. In tu so vrednosti. V nekaterih tabelah, tudi, in to uporabnikov miza je dober primer. Verjetno v tem priročniku za mizo in verjetno v vašem uporabnikov tabelo v P-Set 7, tam ni samo vrednost uporabniško ime. Tam ni samo denarna vrednost, ali polja, ne. Na voljo je tudi polje ID. Ne bom vstaviti ta ID polje. To se dogaja, da je treba dati me samodejno, ko Vstavi se nov rekord. Torej je nekaj polja, ki ga lahko nastavite tako, da samodejno. Morda želite dati vsakemu uporabniku 10.000 $ gotovine off kij. Tako da mi ni treba vstaviti število denarnih tukaj. Vse kar potrebujete je, da vstavite uporabniško ime. In potem se bo polje gotovino pre-poseljena in polje ID bo predhodno poseljena. Torej velikokrat, ne bomo vstavljanje Nekaj ​​na vseh področjih, saj ta druga pa so že poseljena. Ker to je, kako smo ustanovljen tisto mizo. Druga stvar, ki jo boš želite storiti, je izbrisati zapis. Brisanje nekaj je zelo preprosta. Daš na mizo, kjer želite izbrisati nekaj iz. In ste rekli, v redu, želim izbrisati zapis, ki ima uporabniško ime Mila. Ali pa želite izbrisati vse zapise, ki imeti uporabniško ime Milo ali da so bili Transakcija od uporabnika ID številke 2. Vsa vprašanja glede te teme dve vrsti poizvedb? PUBLIKA: [neslišno]. JASON Hirschhorna: Da. Zato bom uporabila vrstico in rekord izmenično in nekatere s kolono in na terenu. Ampak ena vrstica je en zapis. En stolpec je eno polje, bo nazaj k tej tabeli. OK. Naslednja stvar, ki ste verjetno tekoč storiti, je dobil nekaj Podatki iz tabele. To je Izberi poizvedbo. In še enkrat, kaj tabela sem izberete? In kakšna kolona ne želim, da izberete, ali kakšno vrednost ne želim, da izberete in od katerih vrstica? Torej Select je malo specifična. Sem rekel, v redu, želim te tabele. In potem hočem uporabniško ime stolpca in Hočem jo v vrstici z ID 2. To je eden od načinov, da to Select. Ali lahko rečem, dajte mi vsak enim uporabniškim imenom. Ali lahko rečem, da mi je celoten Vrstica iz te tabele, kadar je ime je 1. Torej, obstaja nekaj različnih načinov za narediti Izberite poizvedbe, odvisno od tega, kako veliko informacij, kar želite, Vedno lahko preprosto izberete vse od tega določeno tabelo in nato zanke skozi njo, pobiral stvari, ki jih želite. Toda ne pozabite, če ste izbiro Veliko stvari iz tabele in ti imajo res veliko mizo, bo to trajalo nekaj časa, zato najbolje, da samo nekateri stvari, ki jih boš na koncu z uporabo. Prav tako, z izbranimi in z vsemi temi drugi SQL ukaze, kot tudi, da sem vam različico gole kosti. Ampak pravijo, jaz izberete uporabnike in želim, da jih natisnete ven po abecedi, Lahko izberete vse uporabnike in potem nekako jih po abecednem vrstnem redu v moji kodi. Ali obstaja način, da napišete select poizvedbe, da izbere stvari abecedni moda, ki temelji off poseben stolpec, bodisi naraščajoče ali spušča. Torej, imejte v mislih, da je veliko tega, kar ste želite storiti, se verjetno lahko izvede na poizvedbe s pomočjo dodatne atribut. Torej, poglej gor te poizvedbe na spletu ali druge stvari, ki jih lahko naredite z njimi poizvedbe, ki jih širi. Končno, zadnja stvar, ki jo želite storiti ni nekaj vstavili ali izbrisati nekaj, vendar ne posodobiti nekaj. In to je naredil s posodobitvijo poizvedbe, in še enkrat, kaj tabela. In kakšna sprememba ne želim narediti? In katera vrstica ali zapis narediti Želim, da bi to spremembo? Vsa vprašanja o SQL? OK. Torej, imamo približno 15 minut. In to je zadnja drsna imam. In upam, da je to zadnji slide je Dober segue v problem določiti, ker razumevanju, kjer želimo vstavite zapise, jih izbrisati, izberite njih, in jih ustrezno prilagodi nam bo pomagalo razumeti logiko in večji pretok problematičnih Set 7. Tako da vem vse odgovore na ta vprašanja. Ne bom vam povedati vseh odgovorov. Ampak, če bi kdo drug rad predstavi vprašanje skupino ali odgovoriti na eno od teh vprašanje, smo lahko uporabo, ki kot jumping off točke do govorimo o problemu nizu. Ali pa, če ima nekdo več generično Vprašanje off problem niz, občutek prosimo, da vprašati tudi to. In lahko začnemo tam. Imejte v mislih, da ste se tiho škoduje vsem. Ja. PUBLIKA: Torej je edini način, da prenese spremenljivke in iz različnih spletnih strani, ali najprimernejši način, z uporabo POST ali GET? JASON Hirschhorna: Torej, ja, to je najbolj priročen način za povedati - če nekdo izpolni obrazec - dobijo informacije o drugi spletu stran, z uporabo GET ali POST. Zaradi okviru smo s pomočjo V ta sklop problemov, boste opazili, da, veliko krat smo postala drugo stran. Ali smo mi postane še eno datoteko, ne nujno drugo stran. Tako peljemo v spremenljivko. In potem, saj postane HTML stran, s pomočjo Podatki iz te spremenljivke. , Ki je tehnično ni mimo informacij med različnih spletnih straneh. To je mimo informacije med različnimi datotekami. In tako smo lahko uporabite katero koli spremenljivka za to. Ampak ja, če smo želeli prenesti Podatki iz določenega stran drugo stran, GET in POST bi je način za to. Katera koli druga vprašanja o problem nastaviti? OK. Gremo skozi, potem specifična del problema nastaviti. Boste morali, v eni točki, prikaz portfelja nekoga na zaslon. Kaj imam v mislih, ko sem rekel portfelja, V okviru tega problema, ki? PUBLIKA: To je kot zalog, ki jih še kako veliko delnice imajo v lasti, cena in koliko denar, ki so ga zapustili. JASON Hirschhorna: Sliši se super. Torej, želim prikazati vse zaloge jih imajo v lasti za vsako delniška družba, je delnice in verjetno koliko je to vredno in nato ločena spremenljivka, koliko denarja imajo v lasti. Tako pravijo želim opisati to. Začnimo govoriti o tem, kako bi lahko iti o tem, da je tisto, kar mize sem bo treba imeti za biti sposoben narediti. Ja - PUBLIKA: uporabniki No, in potem, mislim, lahko naredite tabelo imenovano Delnice ali nekaj takega, kar bi bil, koliko ste jih kupili. JASON Hirschhorna: OK. Torej bom potreboval tabelo imenovano Uporabniki, ki beleži uporabniško ime, verjetno, verjetno nekaj ID, Verjetno geslo posameznika. Kaj je nekaj drugega, da pravkar rekel, da je povezana? Nekdo poleg Mihaela, kar je nekaj drugega, kar je povezano z vsak uporabnik, ki je edinstven z njimi? PUBLIKA: ID. JASON Hirschhorna: ID - kaj je še ena stvar, ki smo Verjetno bodo hoteli prikazati na tej strani? PUBLIKA: Njihovo ime. JASON Hirschhorna: Njihovo ime - kaj je še ena stvar, povezana s to Poseben problem nastaviti? PUBLIKA: Kaj zaloge imajo v lasti - JASON Hirschhorna: Tam se bodo biti veliko zaloge, kaj jih imajo v lasti. Kaj je še ena posebna vrednost, čeprav, da se dogaja, da imajo povezana z njimi? Kako se bo kupil in prodajajo svoje zaloge? PUBLIKA: Gotovina. JASON Hirschhorna: Oni dogaja, da imajo denar. Torej, vsak uporabnik bo imel ena vrednost za denar. In to se dogaja, da se edinstven za vsakega uporabnika. Torej v uporabnikovi mizi, je vseeno Občutek, da dajo v gotovini. Lahko, seveda, ustvarite drugo tabela, ki ima ID in uporabnikov njihovih vrednost denarja. Ampak to nima smisla. Smiselno je, da enostavno vse to v eni tabeli. Torej bomo imeli mizo s to informacijo. In potem, kaj je drugi tabeli bomo imeli? Rekel si tabelo zalog. Kaj pa dajanje v miza Zaloge? Vsakdo, ideje - PUBLIKA: družba. JASON Hirschhorna: Greva postaviti v imenu podjetje, zato AAPL za Apple. Ja. PUBLIKA: Koliko delnic in koliko so vredni. JASON Hirschhorna: Koliko delnic, koliko so vredni - kar je nekaj drugega smo potrebujejo v tej tabeli? PUBLIKA: ID uporabnika indeks je. JASON Hirschhorna: User ID. Torej, v tej tabeli, se bomo Verjetno imate - recimo, če je nekdo, ki ima v lasti Tri delnice, tri vrstice, vsaka s da uporabniško ime ali uporabnik, ki posameznika ID, vendar drugačno ime podjetja, različno število delnic domnevno in drugačno vrednost za vsako ceno teh zalog. Še enkrat, kaj sem zdaj rekel ne nujno izvajanje, ker se zavedaš, da so nekaj več učinkoviti načini za njeno izvajanje. Ampak to je dober kraj za začetek. OK. Torej, to sta dve tabeli, ki jih imamo. Sedaj želimo prikazati te strani. Kaj je prva vrsta poizvedbe mi bi morali narediti. Na vsaki strani, predpostavlja, da je uporabnik prijavljeni, imamo svoje uporabniško ime. Torej, kaj je prva vrsta dvomih, moramo narediti? Ja. PUBLIKA: Njihova ID uporabnika. JASON Hirschhorna: Imamo svoje uporabniško ime, ko smo začeli kodi začetek naše strani. Torej, kaj je prva vrsta mi poizvedbe potrebujete, da bi, glede na uporabnikovo ID? Šli smo v štirih vrstah. Tam je le štiri možne odgovore. PUBLIKA: Prav je, da izberete zapis. JASON Hirschhorna: Izberite - želimo, da izberete uporabnikov tabela, da bi dobili, recimo, njihov znesek denarja. In lahko natisnete znesek gotovine na vrhu zaslona. OK. Kaj je naslednji tip dvomih, želimo narediti? Imamo nekaj drugih stvari moramo prikazati. Tisti, ki so shranjeni v drugi tabeli. Torej, kako bomo dobili? PUBLIKA: Izberete za njih. JASON Hirschhorna: Select - spet, obstajajo le štiri možnosti. Izberite verjetno zveni kot pravega. Torej moramo narediti še en poizvedbo za izbiranje, ponovno uporabo te uporabniškim imenom. In zdaj smo želeli vrniti ne samo enega vrstica, bu vse vrstice, ki se ujemajo z našo Merila, kjer uporabnik ID enak 1. In potem lahko gremo in kaj zanko samo tiskanje vseh tistih, ki se izvajajo na zaslonu, mogoče natisniti podjetje iz vsak od tiste na zaslonu. Super, to zveni kot, da je prikazovanje portfelj, ne veliko več zapleten kot to. OK, uporabnik nato odloči, da so veliko denarja, ki ostane. In želijo kupiti nekaj več deležev staleža. Recimo, da so že v lasti stock preveč te družbe. Tako da gredo na vašo buy strani. So vhod firma. Kaj je poizvedba, po vnosu Ime podjetja, ki jih morate izvesti naslednje? Ja. PUBLIKA: Update. JASON Hirschhorna: Update - in kaj miza želite posodobiti? PUBLIKA: Njihova miza, ki temelji na njihovo ID številko? JASON Hirschhorna: Torej posodobiti Ne uporabnikov miza - tako da posodobite tabelo zalogam, kadar ID uporabnika ne le ujema, vendar Ime zalog ujema tudi. Boste dobili nekaj vrednosti. In potem boste želeli, da to vrednost in dodali pa so številne staleže želeli kupiti od njega. Torej si ne želite, da slepo prepiše te vrednosti. Lahko pa, v resnici, da tega začetnega cenimo in samo posodobiti. Lahko vam je všeč plus enaka, ne samo enakimi. Kaj je nekaj, čeprav - če smo razmišljal o tem in si želimo, da bi robustna, kot je mogoče - bi morali storiti preden smo zagnati poizvedbo za posodabljanje? Želijo kupiti pet let Apple. Vsaka delnica Apple je 200 $. PUBLIKA: Morali bi preveriti denar prvi. JASON Hirschhorna: Morali bi preveri denarja prvi. Moramo prepričati, da imajo dovolj denarja. Kakšne poizvedbe lahko izvrši na se prepričajte, da imate dovolj denarja? PUBLIKA: Še en Izberi. JASON Hirschhorna: Izberite - smo izbrali na podlagi njihovega ID uporabnika, , da bi dobili svojo vrednost denarja. Naredil nekaj hitrih math. In če je, da prehaja muster, imajo dovolj denarja. Potem bomo lahko vodijo našo posodobitev. Ali pa morda, če ne, se peljemo potem. Dajemo jim opozorilo. OK. Pravijo, da nimajo podjetje. Oni kupujejo novo podjetje. Oni kupujejo Microsoft. Kakšno poizvedb želimo narediti, če želijo kupiti Microsoft? In ne v lasti nobene Microsoft. Ne Manu, kdo, kdo poleg Marcusa? Carlos - PUBLIKA: Select, se prepričajte, da imajo dovolj denarja. JASON Hirschhorna: Sliši se dobro. PUBLIKA: In potem vstavite na [neslišno]. JASON Hirschhorna: Točno tako, da smo dogaja, da želite vstaviti v tabeli zalog. In bomo želite vstaviti. Mi lahko vstavite svoje uporabniško ime, ime podjetja, in koliko delnic ki jih želijo kupiti. Katere so nekatere druge postopke, ki so strani ali funkcionalnost, s katerimi boste bodo morali izvajati v P-Set 7, da bi morali iti čez? PUBLIKA: Pravzaprav, sem nekako imajo Vprašanje o tem. Preden prikažete portfelja, je treba vam preverja spletno stran Yahoo je Prepričajte se, da cene delnic niso spremenile? JASON Hirschhorna: To zvoki kot dobra ideja. Torej, kaj Marcus je rekel je, OK, zaloge Cene se nenehno spreminjajo. V zalogah, ki jih imajo v lasti mizo, naše miza imenuje Zaloge, bi lahko prihranili cena zalogi so ga kupili pri. Vendar to ne zdi, da je robusten, zaradi cene zalogi je nenehno se bo spremenilo. Torej v resnici, vam verjetno ne potrebujete da shranite ceno staleža. Ampak vsakič, ko pokažejo svojo portfelj, osvežite ali posodobiti cena zalogi. In če imate - in ste že. Vem, da ste vsi pogledal v Problem določa že nazaj. Ti so spoznali, da smo pisno nekateri koda za vas, ki vam bo omogočilo da bi dobili ceno staleža, ime podjetja. Torej, ja, to verjetno zveni malo bolj robusten. Vendar pa ta tabela ni nujno potrebujejo da shranite ceno staleža. OK. Katere so nekatere druge vi funkcionalnosti morali izvajati ta teden, da lahko govorimo o? Rad bi govoril o njih. Kaj hočeš pogovarjati? To je verjetno v tem spec. Jaz bi samo pomaknite navzdol do dna na spec in prosite zame prvo besedo boste videli, da nima smisla. Ena druga funkcionalnost - Pogovorimo se o eni. Začeli bomo tam. PUBLIKA: Zapis zgodovine. JASON Hirschhorna: Snemanje zgodovina, veliki. Torej boste morali slediti v zgodovino transakcij. Torej hočeš, da spremljate vsak Tokrat so nakup ali prodajo delnic. Kupil sem svoj vozni park. Pravkar smo rekli, da je verjetno smiselno vključiti Select, da bi dobili njihovo znesek denarja in preverite nazaj. Verjetno je pametno, nato vključiti vstavite ali posodobitev, odvisno od ali jih imajo v lasti ta stalež. Če želimo tudi, da bi spremljali zgodovina, kako lahko to storimo? Ali da gredo v tabeli staležu? PUBLIKA: Ne JASON Hirschhorna: No verjetno gre v drugi tabeli. Ker pravijo, da kupite 10 delnice Apple. Potem si kupi še 10 delnic. Hočeš vleči ločene evidence. To sta dve ločeni posli. Torej, imamo še eno mizo, Zgodovina miza. Torej, še enkrat, kupimo. Mi izvršiti Izberi, nato Insert ali Update. Kaj naj naredimo sedaj? Kaj je naslednja poizvedba jih izvajamo ko smo nekaj kupi? Želimo slediti zgodovini. Ja. PUBLIKA: Želite slediti preveč ni poslov. JASON Hirschhorna: No, preden smo povedati, kakšne vrste posla, kaj hočemo - Katera vrsta poizvedbe, Carlos, bi Dovolite nam, da spremljate stvari na splošno? Imate štiri ugibanja. Katerega misliš? PUBLIKA: Posodobitev. JASON Hirschhorna: Ni posodobiti. Kaj je tvoj drugi ugibati? PUBLIKA: Izbira. JASON Hirschhorna: Če želite obdržati tir nečesa, boste verjetno želeli da jo napišite nekje ali ga shranite za pozneje. Torej, če ne posodobite, nato pa - PUBLIKA: ga vstavite. JASON Hirschhorna: Insert, pa gremo. Ja, tako da izberete količino denar imajo, zveni odlično. Nimajo dovolj denarja. Ta transakcija ne bo delovala. Ne, vam ni treba slediti transakcijo, če to ne deluje. Ali pa, če želite, da jim težko. Vendar vam ni treba. Potem, ko vstavite ali sprememba v svoje zaloge tabeli. In zdaj imate drugo mizo. Imate svojo zgodovino tabelo ali karkoli hočeš, da ga pokličem. In v tej tabeli, vas bo vstaviti novo vrstico. To je verjetno, da bo imajo uporabniškega ID. To je verjetno, da bo imela ime zalogi. To je verjetno, da bo imela Čas, ki so ga ubili. In v tem primeru, te bom verjetno želite vstaviti ceno. Ker za zgodovino, ne veš zanima me, kaj trenutna cena. Vam ni vseeno, kaj je cena, ko jih kupil ali prodal nekaj. Torej, to zveni kot, da izvedejo odkup celoti vključuje več različnih SQL poizvedb, Ampak pošteno, ni da je veliko kode na splošno. OK. In da skrbi za zgodovino. Recimo, da želimo prikazati našo zgodovino. Pogovarjala sva se o prikazovanju naš portfelj. Kako bomo prikazati naša zgodovina? PUBLIKA: Verjetno kronološko. JASON Hirschhorna: Verjetno kronološko - kaj poizvedba misliš, da bi uporabil? PUBLIKA: izberite. JASON Hirschhorna: izberite - izberite morda vse vrstice iz te tabele , ki se ujemajo z uporabniškim imenom in potem jih prikazati kronološko, Sliši se dobro. Ali bomo morali napisati kodo razvrstiti skozi ta seznam? PUBLIKA: Ne, ker si rekel, nam je rastoče in padajoče stvar. JASON Hirschhorna: Thing? OBČINSTVO: Ja. JASON Hirschhorna: Ja. OK, ne spremenijo v kodi se mi, da Ročno razvrsti skozi vaše poizvedbe, da jih razvrstite. Ta številka je že dano. Lahko napišete poizvedbo za izbiranje ki razvršča stvari. Jih prej rešiti in jih nato natisnete. To naredi tako veliko bolj smiselno narediti je na ta način, kot drugi način. Da. PUBLIKA: Ali moramo jih prej rešiti? Vas to pomeni neke jim v podatkovni bazi? JASON Hirschhorna: Select poizvedbe jih vrne ste uredili. Torej ne da, namesto da bi jih morali vrnitev na vas v naključnem vrstnem redu in nato pa jih sami rešiti. Ja. PUBLIKA: Ali obstaja način, da se ohranja razporejene v same baze, tako da vam ni treba razvrstiti da vsakič, ko - PUBLIKA: Lahko ga vstavite razvrščeni? JASON Hirschhorna: Vprašanje - sploh pomembno, da so stvari razporejene v podatkovni bazi? PUBLIKA: Ne JASON Hirschhorna: No, so razporejene. Oni so razporejene kronološko. Ampak kaj je domnevati, da so stvari razporejene kronološko, od vrha do dna. Imamo Google obliko. Kadarkoli nekdo odgovarja na naše Googlu oblikujejo, samo dobi dal v spodnji tabeli. Ali je pomembno, da so stvari razporejene kronološko, ne? PUBLIKA: Če ni kronološko, vam ni treba vsakič razvrstite ste vzeli info ven. Ampak, če je to že urejeno, kajne ne bi bilo treba storiti, da se dodatno klic funkcije? JASON Hirschhorna: Tako da je pravzaprav dobro izhodišče. Za nas kot programerji, to lahko pomembno. In lahko si želimo, da bi našli zbirko podatkov ki ne uredi zadeve kronološko. Ali ustanovi našo bazo podatkov, tako da ohranja Stvari razvrščena glede na ID uporabnika. Torej, na ta način, recimo, imamo 1000 uporabniškim imenom. Ali Facebook, imamo milijone ID-jev uporabnikov. Nočemo, da bi naša tabela, da samo naključno ali naša baza podatkov, da bi naključno. Bilo bi lepo, če vse ID-ji uporabnikov so bile razporejene. Torej, potem bi lahko naletite binarne iskanja na naši mizi in potem samo najti specifični kos. Torej, ja, glede na to - če se povečajo, bomo morda želeli, da bi našli zbirko podatkov da hrani stvari razvrščena v drugačni način, tako da se te poizvedbe bi trajalo manj časa. In mi ni bilo treba iti skozi naše celotna baza podatkov v vsako vrstico v glede na tabelo. Toda raven delamo na, smo vam ni treba skrbeti za ohranjanje Stvari razporejene. Domnevamo lahko, da čas, ki je potreben da poizvedba teči se bo zanemarljiv, saj tisto, kar imamo opravka. Ampak ja, super ideja - kot smo lestvici navzgor, je morda smiselno, da se oblikujejo naše Baza podatkov v malo drugačen način. Še zadnja načrtovanje baz podatkov, kar si želim omeniti tudi, ker boste se razvrstijo, ali dosegel precej, na oblikovanje zbirke podatkov. Govorila sva o tem. Gotovina je edinstven za vsakega uporabnika. Torej imaš tabelo imenovano denar, ki ima svoje uporabniško ime in njihovo količino gotovine in nato tabelo imenovano Uporabniki, ki ima svoj uporabniku ID in njihovo ime. Te mize map na vsakem druga proti ena. To je verjetno smiselno, da bi bili eno tabelo. Torej, kaj je domnevati, da imate uporabnika tabela, ki spremlja uporabniška imena in denar. Zdaj imate tabelo, ki ima Zaloge posameznik poseduje. In posameznik lahko lastnik več kot ene surovine. Torej ti ne map na drugega eden ena proti. To nima nobenega smisla, da ima en velikan tabela, ki ima 30 zapisov, ki vsi ponavljajo uporabniško ime, ki vse ponovite geslo, da so vsi Ponavljam več denarja. Ampak vsak ima morda drugačen zaloge ime ali drugačno ceno delnic. To nima nobenega smisla, da imajo da mnoge velike evidence. Bodi pameten o tem, kdaj boste ustvarili ti podatkovne baze, tako da ne delate nekaj neumno, kot da ponavljanje veliko nepotrebnih informacij. OK. Imamo dve minuti zapustili. Ljudje zunaj smo veseli, da se pridružijo nam, ali je verjetno, verjetno, ustanovitev lastnega razred. Ima kdo kakšna vprašanja preden smo končal? OK, to je bil res tornado skozi vse. Opravičujem se, da je morala biti tako hiter in da ne bi moglo biti, kot je hands-on ta teden, kot bi sem želel, da bi bili. Ampak, če imate kakršnakoli vprašanja o kaj smo šli skozi ali karkoli v ta problem set - izrazi predpostavka, da ste ga prebrali in dal v dobri veri truda - vas prosimo, da me email ali stik z mano. Jaz sem več kot vesel, da delo prek kodo z vami ali odgovorili na vsa vprašanja, ki jih imajo. Imejte v mislih, da je ta teden, veliko vaš čas se bo porabil učenje novo sintakso in poskuša razumeti kako napisati SQL poizvedb ali PHP funkcije ali se ukvarjajo z MVC okvir. Veliko svojega časa ta teden verjetno ne bo poskušal ugotoviti, noro logiko, da smo vas prosi, da storijo. Veliko tega smo ravno preletel je relativno enostavna. Torej to ne pomeni čakati do zadnje minute. Ampak to ne pomeni, prilagoditi, kako vam vaše ustrezno delo, se prepričajte, ste razumevanje in učenju sintakso. Torej nisi, kar naenkrat, vedoč točno tisto, kar želite storiti, ampak brez ideje, kako točno napisati. OK, se vidiva naslednji teden.