JASON HIRSCHHORN: Welcome mindenki héten nyolc. Van egy izgalmas hét áll előttünk. Ti már galamb az elmúlt pár Az előadások a PHP, SQL, HTML, CSS, így a Négy új nyelvet, hogy mennek hogy vegye fel a többi ezt a folyamatot. Azt is megtudhatja, néhány más nyelv előtt tanfolyam végén. De akárhogy is, mondanom sem kell, hogy ez a Nagyon izgalmas időszak CS50, most már elsajátította C, látszólag, és mozog a programozás weboldalak. Tehát ezen a héten, fogunk menni a forgószél túra a négy nyelvek előbb említett, HTML, CSS, PHP és SQL. És remélhetőleg, akkor hagy sok idő végén a szakasz beszélni erről az e heti P készlet és a válasz bármilyen kérdése mind. Minden héten, az ugyanazon a listán erőforrások az Ön számára, hogy segítsen a hét probléma meg és megy mint az anyag - de ezen a héten, különösen, mert ezek a web-alapú probléma készletek, van egy számos egyéb források ki van, amit valószínűleg meg hihetetlenül hasznos. Én őket ide. Én e-mailben ezt a szakasz után, és ez is online. De különösen a rengeteg A nagy erőforrásokat odakinn. Van még néhány nem olyan nagy is, ezért legyen óvatos az ilyen. De ezt a diát, van négy jó források, az egyik az egyes nyelveket fogsz dolgozni az ezen a héten - egy referencia lapot HTML, referencia lap CSS. Ez itt a PHP kézikönyvben. Tehát ahelyett, hogy gépelés férfit, majd a PHP parancs, ez az, ahol lenne menj felnéz a függvény prototípus és példák valamint néhány tippet és trükkök PHP funkciókat. Akkor használja ezt az oldalt gyakran, ezért azt javasoljuk, hogy lesz ismeri. Ez lehet egy kicsit technikai, de ez is biztosít egy csomó erőforrások és példát az összes funkciót és akár más, mint hogy hogyan kell használni tömbök különböző típusú változókat. Ez az oldal nagyon hasznos a PHP. És akkor, az SQL, ha galamb ebbe heti probléma meg, tudni fogod hogy mi használ adatbázist. És hozzáférni az adatbázishoz a a viszonylag szép felhasználói felületen. Vagy ez az egyik módja annak, hogy hozzáférést az adatbázis. A felhasználói felület nevű phpMyAdmin. Van egy SQL fület, amit majd nézd meg később ma. És akkor írja be a mintába SQL lekérdezések, a dolgokat az adatbázisban majd futtassa e kérdések. És ha ők helyes, akkor az azt mondják, ez a helyes. Ha ők helytelen, akkor az mondjuk, ez helytelen. Ez egy remek hely a gyakorlatban a SQL lekérdezések írás előtt azokat a kódot, hogy győződjön meg róla, , hogy a formátum megfelelő. Végül egy másik honlapon itt. Ez az a honlap, ahol lehet menj, és ellenőrizze, hogy a HTML kód érvényes-e. Tehát mielőtt a problémákra be ezen a héten, hogy minden a a HTML érvényes. Múlt héten, akkor már fut valgrind, hogy győződjön meg róla, nem volt memóriavesztés. Ezen a héten, meg kell, hogy minden a kód érvényes HTML5. Ha ez nem érvényes HTML5, akkor majd kap pontot le. Ügyeljen arra, hogy - csak azért, mert működik, nem jelenti, hogy teljes mértékben érvényes. Fuss a kódot a weboldalon keresztül mielőtt be! Ismét itt van a honlapon. Ha bármilyen visszajelzést nekem, mi még pár szakasz maradt, és én mindig akarom csinálni, amit tudok, hogy Önnek minden a legjobb rész élmény lehet. Hadd tudja, ha van valami, amit tehetünk, hogy javítsa, vagy ha vannak dolog, amit látni, hogy én is jobban. Köszönöm, Avi. Tedd a honlapon. Ez volt az a motor volt, amikor volt, mondjuk, négy otthon. Ez egy Teenage Mutant Ninja Turtle kerékpározás, abban az esetben nem lehet megmondani, mert ez egy kicsit homályos. Tudod kap ez most Toysrus , azt hiszem, körülbelül 100 dollárt. De a jellemzője ennek a motor, amit szeretnék meg kell figyelni, hogy ezek a itt. Ezek a képzés kerekek. Eddig, ha már kézi a C. És vettünk egy hosszú idő két hónap, plusz, átmenni C. Ezen következő pár nyelven, mi nem fog költeni, hogy sok időt. A képzés kerekek jönnek ki. És fogunk merülni ezekbe nyelvek és gyorsan mozoghat őket gyorsan, ami nem azt jelenti, hogy mi csak fog elhagyni úszás odakint nem lehet támogatni magad, vagy kitalálni, hogy ezek a nyelvek működik. Én csak azt mutatta, hogy a listát forrásokat, hogy segítsen. De ne feledje, hogy a PHP hihetetlenül hasonló a C. Megyünk át ma és néhány különbség. De a legtöbb, vannak a hurkok. Vannak ha a körülmények. Ha azt szeretné, hogy megoldja a problémát, fogsz használni ezek kombinációja. Ez nagyon hasonlít. A logika kell nagyon hasonlóak mit tettél a múltban. Ami igazán új, ezen a héten a szintaxis és hogyan fejezed ki magad. És azt akarod, hogy írjon egy for ciklus, de a Lehet, hogy néz ki egy kicsit más. Vagy szeretne létrehozni egy tömböt, de Lehet, hogy néz ki egy kicsit más. Tehát ne feledje, hogy halad előre, A logika nagyon hasonló ahhoz, amit tettél a múltban. De te most már lesz találkozás sok új szintaxis. És nem fogunk járni végig minden elemét a szintaxis. Szóval ez tényleg rajtad múlik, hogy kitaláljuk, online vagy elérve a Beszéljétek meg, vagy küldje nekem, vagy beszél egymást, hogyan kell írni a dolgokat PHP, és hogyan kell írni az SQL lekérdezések és hogyan kell használni a HTML és a CSS. De csak hogy tudd, ez nem az próbálunk dobja meg ott ismét úszni a cápák. Ez az, amit valószínűleg csinálni A projekt végső, ha úgy dönt, más nyelven, mint IOS és Objective C, vagy ha úgy dönt, hogy indul programozás a jövőben, és belevetik magukat más nyelven, mint a Python vagy a Ruby. Gyakran a logikája nagyon hasonló minden ezeken a nyelveken, és a szintaxis az, ami más. És ez lesz rajtad, mint a programozó, hogy menjen használja a web álló források az Ön és a szám , hogyan lehet kifejezni, amit tudni, hogyan kifejezni a C, a másik nyelvet. Tehát ez jó gyakorlat, mind a projekt végső, és újra, mit fog valószínűleg nem elhagyása után CS50. Mielőtt továbblépnénk, nem bárki bármilyen kérdése van, milyen Tettem eddig? Remek. Menjünk tovább. Először is, mi fog beszélni röviden a chmod paranccsal. Ez az, mi intézzük elején A problémákra beállítva. Az egyik legelső utasításokat az Ön számára, miután letöltötte a eloszlás kódot, hogy változik a jogosultságait a fájlok és könyvtárak kap. Tud valaki vállalat hiszem, vagy tudja, Ezért fontos, hogy változtassa meg a engedélyek bizonyos fájlok és könyvtárak a számítógépen? Avi - Közönség: Akkor senki, kivéve látod, hogy mit csinálsz? JASON HIRSCHHORN: OK. Tehát, ha azt szeretnénk, hogy valamit a web és Ön engedélyek beállítva, hogy csak akkor lehet látni valamit, akkor senki más nem tud látni, amit létrehozott. Mi van még? Igen. Közönség: Akadályozzuk meg bárki más, hogy nem akar látni valamit, a lát valamit. JASON HIRSCHHORN: Ez igaz is. Van talán valami kód írsz, hogy te nem akarnak az emberek látni. Akkor valószínűleg rendben emberek látni a HTML és a JavaScript. De a PHP, a hátsó kódot, a sok A logika a kódot, talán a dolog, hogy tárolja néhány jelszavak az adatbázis, akkor nem akarnak az emberek látni, hogy típusú információt. Ezért fontos, hogy minden fájlt és könyvtárat hozunk létre engedélyekkel alkalmazható-e vagy sem akarunk az emberek, hogy az ilyen típusú fájlokat és könyvtárak és képes elérni őket és esetleg meg is változtatja azokat. Tehát háromféle engedélyek. Van egy olvasási engedélyt, ami azt jelenti el tudja olvasni a fájlt vagy egy listát a könyvtár tartalmát. Ott van az írási jogosultságot, amely azt jelenti, hogy meg lehet változtatni a fájl vagy változás a könyvtárba, majd a végre engedélyt, ami azt jelenti, hogy végre egy fájl vagy inkább, akkor léphet be a könyvtárba. Tehát CD valamit, ha a engedélyt végrehajtani, akkor mozog ebbe a könyvtárba. Ez egy rövid példa. Ismét, már ment át ez a A probléma meg. De hozzon létre egy könyvtárat az mkdir paranccsal. Tudom megváltoztatni a jogosultságokat. Ez a két vonal ténylegesen pontosan ugyanaz a dolog. Ez mutatja, hogy a szintaxis engedélyeinek módosítása, hogy te az egy vagy a + x 711, ezek azonosak. Nézzük meg ezt a szép asztal. Látjuk, hogy a felhasználó jogosultságokat. Ez maga, az egyén és a a szerver, esetleg. És akkor ott van csoport és mások. A különbségek azoknak Két viszonylag jelentéktelen. Tehát általában, akkor kalap ezek együtt. De alapvetően, ha van egy fájl úgynevezett tartalmazza, hogy mi akarok lenni képes szerkeszteni magunkat, és hogy szeretnénk mások, hogy képes legyen végrehajtani, ez az engedély 711. És azt látjuk, hogy le itt, ebben a táblázatban. Van egy olvasni, írni és végrehajtani. Mindannyiunk számára, szeretnénk képes megtenni azokat. Csoport és mások, mi csak szeretnénk őket, hogy képes legyen végrehajtani. Ahogy mi fordítani, hogy egy több engedélye a bináris. Tehát, ha van három is, ez egy 1 az oszlopban az is, az 1 a kettes oszlop, 1 a négyes oszlopban. Ez a 7. ott. És ez az engedély 1. Ez az engedély 1. Tehát, amikor a 711 ugyanaz, mint ami magunkat olvasni, írni és végrehajtani, és mindenki más végre kiváltságokat. Ez a vonal itt, általában lesz írni és olvasni, amikor hozzon létre egy könyvtárat. Tehát ez a sor itt csak növeli végre kiváltságokat mindenkinek. Szóval ez lenne a rokon, az Amellett, hogy amink van, hozzátéve, 1, 1, 1-től mindenkinek. Mivel ez, ez szükségtelen hozzá írni és olvasni. De ha akarsz használni a számokat, nem lehet csak felvenni valamit. Felülírja bármilyen engedélyt is ott, és végrehajtja azokat az új számot adsz. Ez elég gyors. Van valakinek kérdése a változó jogosultságok? OK. Ha van egy PHP fájl, milyen engedélyek nem akarom, hogy van? Ez a probléma beállított spec. Szóval nézd meg a spec és Ezután felolvasott nekem a választ. Közönség: Azt akarod, hogy a felhasználó olvasási írási jogosultságokat. És azt akarom, hogy mindenki mást, hogy semmi. JASON HIRSCHHORN: És mi számok, hogy az? Közönség: 600. JASON HIRSCHHORN: 600. Tehát chmod 600 - amikor nyomtat PHP fájl chmod azt 600. OK. Van egy könyvtár. Valaki mellett Jeff, Van egy mappát. Milyen engedélyek akarok adni a mappába - továbbá a probléma meg spec, jobbra lent ezt a választ, vagy az előző választ? Szintén lehetséges a slide - Marcus. Közönség: A mappát, ez 711. JASON HIRSCHHORN: 711 - így egy mappát, azt szeretnénk, hogy 711. Azt akarod, hogy képes olvasni azt a mappát, Könyvtárváltáshoz beköltözik a mappába. És azt akarom, hogy mindenki mást, hogy képes navigálni az adott mappában, de nem feltétlenül megváltoztatni a tartalmát. Mi a helyzet a nem-PHP fájlt, azt mondják, a JavaScript fájlt? Milyen engedélyek akarunk hogy az ilyen típusú fájl? Közönség: 644. JASON HIRSCHHORN: 644 - miért akarjuk, hogy ez 644? Közönség: azt szeretné, hogy az emberek olvasni. És olvasni vagy írni. JASON HIRSCHHORN: Így van, mindenki más is olvastam, hogy a JavaScript fájl. És meg lehet változtatni, hogy amellett, hogy képes olvasni. Tehát az egyik leggyakoribb hibákat ember ezzel a problémával van állítva, és azok A projekt végső, ha ez egy web-alapú végső projekt, akkor nem állított a megfelelő engedélyekkel. És nem lesz képes , hogy a honlapon. Vagy egy bizonyos részét saját honlapján. Ügyeljen arra, hogy állítsa be a engedélyek helyesen. Ne csak feltételezni, hogy csinálni automatikusan az Ön számára. OK. Ez egy kis dolog, hogy mi töltött egy jó adag időt, így tudtuk köröm is. Térjünk rá a HTML. És ismét, ezek a következő négy téma, fogunk menni rajtuk keresztül viszonylag gyorsan. Ezért kérjük, hogy ne nekem bármikor időben, ha bármilyen kérdése van, hogy ők kapcsolatban arra, amit fedezni vagy valami Előadás vagy még a probléma beállítva. Állíts meg, amikor csak szükséges. Amikor eljut a végére, mi csak indítsa megy át a probléma meg. Így HTML áll a HyperText Markup Language. Ez nem egy programozási nyelv. Minden ez a struktúra a tartalmat és némi metaadatokat. Így például, feltehetően sok már használta a Facebook előtt. És akkor is linkeket, vagy nem tud egy linket, mint az állapot. És akkor, észre fogod venni, hogy a kapcsolat mindig van egy szép kép hozzá, és némi szöveget. Általában, hogy van néhány metaadat egy weboldalt. És ez a Facebook-specifikus metaadatokat. És akkor, amikor a Facebook olvastam, hogy oldal és beillesztése a linkre, hogy úgy néz ki, az adott metaadatok, így tudja, hogy mit kép megjelenítésére, milyen címet megjeleníteni, és milyen elvont szöveget megjeleníteni. Így lehetnek metaadatok web oldal HTML használatával. És ez is segít bennünket szerkezet a tartalmat, általában, mi akarunk menni, ahol. Minden a HTML elem. És elemek itt - ez CS50, a szöveg az elem. És van néhány címkéket. Van ez a tag. És azt látjuk, van egy olyan, a elején, majd egy perjel a, így a a záró egy tag a végén. Néha, nincs nyitott tag és záró tag. Már csak egy dolog. Meglátjuk, egy példa, hogy a A következő dia. Szóval nem kell a nyílt és a záró tag. De ez, mi encasing ezt CS50 elem az a horgony tag. , És lényegében ezek a címkék mondja a böngésző mit kezdeni az adott elem. Tehát még egyszer, CS50 a szöveg fogunk látni. És ez lesz egyfajta horgony. Anchor alapvetően használják linkeket valamit. Különösen azért, mert akkor már mondani, ez egy kapcsolódik a CS50 honlapján. A következő rész a tag - vagy általánosabban, egy részét címkék attribútumok. És látjuk itt, hogy Az a tag az egyik attribútum, ez a href attribútum. És módosítják az adott tag. Sőt, ha megy az egyik weboldalak, illetve a referenciák, amit adtam előtt, vagy keresse fel az a tag az interneten, észre fogod venni, van egy csomó lehetséges attribútumok. Ez talán az egyik a leggyakoribb. Ez azt mondja nekem, hogy hozzon létre egy hivatkoznak az adott honlapon. És attribútumok általában kapnak, ha nem kizárólag adott, A kulcs-érték párokat. Tehát itt a kulcs, href. És az érték ez itt. És ez jól jöhet később, mikor kezdi el használni egy kis könyvtárak segít kódot JavaScript vagy írjon HTML tartalmat. Gyakran lesz - csakúgy, mint mi tenne array tartó 0 és adna nekünk néhány értéket. A jövőben, mi lesz ennek a sok dolgok, mint valami konzol href. És ez ad nekünk az értéke href, vagy ha meg akarjuk frissíteni a href gombot, majd adja meg egy bizonyos értéket. Szóval, mint a tömbök, ahol volt gombot, 0 vagy 1 gombot, vagy billentyű 2, vagy akár egy hasítótábla, nos, a hash táblák is, akkor valószínűleg már - a volt egy sor, így a 0 gombot, gombok az 1., 2.. Az index ott tudjuk gondolom, hogy a kulcsfontosságú. És az érték, amit tárolták ott. Mindezek a tulajdonságok a kulcs-érték párokat. És ez fontos lesz a változó , vagy frissítése, vagy behelyezése őket később. Végül, láttad ezt a struktúrát előtt, de ez a legalapvetőbb szerkezete HTML oldal. A tetején, azt mondjuk nektek, hogy ez valójában a HTML. És akkor van egy nyitott HTML tag, és egy közeli HTML tag. Tehát minden belsejében ez a HTML-ben. Látjuk a fej és a test. A fej a dokumentum általában magában foglalja, mi? Minden olyan találgatások, amit fel a fejét? Közönség: Ön tesz a cím és a stílus. JASON HIRSCHHORN: A cím. Ez volt egy nagy találgatás. Lehet, hogy jött rá, hogy a. Milyen más dolgokat? Említettük, hogy az egyikben Lehet, hogy megy a fejét. Közönség: Azt mondta, stílusokat. JASON HIRSCHHORN: Styles - ezért ha azt szeretnénk kapcsolni a JavaScript vagy akár a CSS, amit te beszélsz , amikor te beszélsz a stílusokat. Egy másik fájlt, szeretnénk összekapcsolni egy külső fájlt, ami valószínűleg lesz a fejét. Mi van még? Említettük pár diák ezelőtt az egyik dolog, hogy HTML tehetek érted. Ez biztosítja - kezdődik a M - Közönség: metaadatok. JASON HIRSCHHORN: Metadata - így sok A metaadatok megy a fej, mert ez nem feltétlenül szükséges részt venni a testület a kódot. Ez általában - a test a tartalmat, amit valaki lát. És így én csak adtam el a választ hogy a következő kérdés. De a szervezetben általában a tartalmat ez lesz látható a web oldalon. Mint látni fogjuk, bonyolult honlapok hajlamosak összekeverednek vagy módosíthatja azt, amit raktak a fej és a test. De általában, a fej tartalmaz dolgokat , hogy a felhasználó nem fog látni a képernyőn. A linkek más fájlokba és biztosítja a metaadatok. Mivel a test mindent tartalmaz, ami a felhasználó fog látni. Valami ötlet, hogy mi ez a p tag jelent? Közönség: §? Közönség: Print. Közönség: Nem azt jelenti, nyomtatás. Közönség: Ez azt jelenti bekezdés? JASON HIRSCHHORN: § - így ez a bekezdés. És ez a p tag, tudtam volna csak gépelt ez a képernyőn, majd a tartalmazza a sortörés a végén belőle. Tudja valaki, hogy hogyan lehet bevonni sortörést? Közönség: pr - JASON HIRSCHHORN: pr - Közönség: Slash pr? JASON HIRSCHHORN: pr perjel áll a sortörés. De bekezdések konkrét formázás. És mi lesz a formázás a Másodszor, amikor beszélünk CSS. De minden ezekben p címkék lesz néhány alapértelmezett formázása a hozzá kapcsolódó, valószínűleg néhány távolság a különböző bekezdések. És ez lesz az egyik módja annak, hogy különbséget blokk kód. Minden más címkék - milyen más címkéket, hogy láttad? JASON HIRSCHHORN: H1 a h6. h1 a h6, és mi az? Közönség: Ez jelöli, hogy mekkora és merész a betűk. JASON HIRSCHHORN: Jobb, ez áll a fejléc. És így header1 egy nagy fejléc. Ez valószínűleg alapértelmezés szerint, merész, a nagy betűméretet, valószínűleg középre a képernyőn, egészen a h6, amely egy kisebb betűméret, kisebb hangsúlyozta. Természetesen lehet, hogy te vagy CSS fájlban vagy valahol a kódot - amely, Ismét, mi lesz az, hogy egy másik - változtatni az alapértelmezett viselkedés egy h1 tag. De ne felejtsük el, hogy a Chrome, a Safari, Firefox, Internet Explorer mind alapértelmezett néz ki a sok ezeket a szabványos címkéket. Lehet, megint, mindig változik hogyan néznek ki. Minden más címkéket, hogy mindenki látott? Igen - Közönség: A div oldalon. JASON HIRSCHHORN: A div tag - div tag nem rendelkezik semmilyen beépített formában, per se, hogy használják, hogy blokkolja le különböző típusú kódot. Minden más címkéket? Igen. Közönség: Li - JASON HIRSCHHORN: Li - mi li a? Közönség: Lista. Közönség: Lista JASON HIRSCHHORN: li A lista elemei. Kétféle listák. Melyek a két típus? Közönség: Rendezett és rendezetlen. JASON HIRSCHHORN: Rendezett és rendezetlen - így ul állványok A rendezetlen lista. Ez, ha akarsz egy golyó pont, egy listát a golyókat. Rendezett lista készítése egy számozott listát. És akkor nem egy nyitott ul tag, majd tonna lista elemeit, majd zárja be az ul tag. És ez hozzon létre egy rendezetlen lista. Fogunk látni néhány példát A HTML-ben egy kicsit. De addig, azt akarom, hogy a CSS. És CSS rövidítése Cascading Style Sheets. És ez nagyon szorosan összefügg HTML de kicsit más. Ez segít formázni a tartalmat hogy a HTML szerkezetek. Így a CSS, akkor általában nem akar stílus minden egyes fejlécet vagy minden egy kép vagy minden egy bekezdés. Szeretnénk stílus néhány elemét vagy esetleg egy adott elem. És ahogy mi stílust adott elem, hogy ez az azonosító. Tehát ez egy attribútum. Ez egy kulcsot és egy értéket. ID a kulcs. Logo az érték. Felvettem logo véletlenszerűen. És ha adsz valamit egy azonosítót, általában, hogy csak akkor adható, az egyik eleme. És akkor, a stíluslap, akkor stílus az adott elem, de azt akarja, hogy vizsgálja meg. Ha szeretne stílus számos elemek, talán ez egy bizonyos osztály fejlécek, csak néhány fejlécet. Talán ez egy fejléc és egy képet, és a bekezdés, hogy minden akar középre. Akkor lehet, hogy ezen csoportok elemek minden egy osztály. És tudod adni az osztály egyes stílusokat. Így egy azonosító és egy osztály kétféleképpen szakítani a kódot, így segíteni lehet konkrétabb, mit stílusban. Három módja van a stílus. Az első, a ezt a stílust attribútum. Tehát látható, a stílus kulcs stílus. A stílus érték valójában másik kulcsfontosságú érték listából. Ebben az esetben, szedtem Az egyik legfontosabb, text-align. És én azt mondtam, központ. Lehet, hogy megkérdeznéd magadtól ezt pont, hogyan tudok a text-align. Mit jelent, hogy még nem? Ez egy nagy kérdés, és fogunk odaérni a második. Tehát ez az egyik módja annak, hogy stílust valamit, csak, hogy ez a stílus attribútum. Egy másik módja annak, hogy stílust valami - ez Akshar már korábban említettem. Használhatja tag-eket és tedd, hogy a fejét a HTML dokumentumba. Szóval alapvetően azt mondja, A tartalmat a belsejében van néhány stílus tartalmat. És a formátumot, hogy a dolog szeretnék stílust, majd, belsejében kapcsos zárójelek, a kulcs-érték párt a attribútumok, hogy azt szeretnénk, hogy a hogy az adott típusú elem. Végül, és ez a leggyakoribb módja. És ez az, ahogy mi csináld o készlet, 7. Ez egy külső stíluslapot. Szóval van egy. Css fájlt. És belül, akkor egy csomó dolog, hogy néz ki, a név bizonyos típusú elem, vagy a személyi igazolvány vagy egy osztály, majd belsejét göndör nadrágtartó, egy listát a legfontosabb érték párokat. Természetesen, ha létrehoz egy külső fájl fogsz kell, hogy tartalmazza azt - éles közé tartozik, amely a C analógia - a HTML fájlban. Így kell ezt kódot a HTML fájlban. Mivel ez a fájl nevét és feltételezve, hogy ez ebben a könyvtárban. OK. Ez sok volt. És mi most fog lélegezni, és vizsgálja meg néhány igazi, élő honlap és felfedezéséhez több. De mielőtt ezt tesszük, nem bárki Van kérdése? Tehát, ha azt szeretnénk, hogy ezt együtt én, mehetünk a készülék. És én választottam a CS50 honlapon. Ezt megteheti a bármely honlapján. De miért nem kezdjük A CS50 honlapon? Nézzük frissíteni. Igazából nagyon ajánlom csinálsz ezt velem, mert amit fognak tenni most lesz hihetetlenül hasznos az Ön számára, nem csak a P-Set 7, de a P-Set 8 is. Igen. Közönség: Van egy módja annak, hogy megjegyzéseket HTML, anélkül, hogy a PHP? JASON HIRSCHHORN: Igen, akkor észrevételeket tenni a HTML-ben. Közönség: Mi a szintaxis? KÖZÖNSÉG: felkiáltójel kötőjel kötőjel. Közönség: OK. JASON HIRSCHHORN: Igen. Ez a szintaxis. Tudod, hogy megjegyzéseket HTML-ben. Tudod, hogy megjegyzéseket PHP-ben. Mint látni fogod, írja meg véleményét a HTML majd még mindig megjelenik, ha megnézzük a HTML forráskód egy adott oldalon. Tehát ez cs50.net. Ha jobb gombbal a legtöbb modern böngészők a legtöbb olyan oldalon, akkor megtekintheti az oldal forrását. Tehát lássuk, hogy a CS50. És íme, mi hogy egy óriási dolog. CS50 valóban úgy néz ki, nagyon szép. Sok weboldalak nem meg ez a szép. Ha megy a Google honlapján és nyissa fel. Ez nem fog ez a szép. De azt veszi észre, hogy a tetején - ez elég kicsi. Nézzük, hogy ez a nagyobb. OK. A legfelső, DOCTYPE HTML, ez ismerős. Aztán látjuk a nyitott HTML tag a fej, itt, az összes Ezeknek a meta tagek. És látható, ez og, nem fog belemenni, hogy most. De én majdnem pozitív, hogy a ezek lennének a Facebook. Ez valójában a Facebook. Úgy gondolom, hogy áll a nyílt grafikonon. Úgy emlékszem, azt említette, van Faceboook-specifikus metaadat lehet ad egy oldalra. Ez az, ami itt van. Tehát, ha hivatkozik ezt az oldalt a Facebook-on, a kép, hogy fog mutatni ez a kép itt. És tényleg látni, hogy ez Facebook, mert A Facebook képet. De egyébként is, mi megy félre. Tehát van néhány metaadat-címkék itt. Látjuk a CS50 címet. És ismét, a cím az, ami jár itt a böngésző fülön. Látjuk ezt összeköti az, itt, egy külső JavaScript fájlban. Még nem beszéltünk a JavaScript sokat, de a jövő héten - és természetesen, ha csinálsz egy web-alapú probléma meg, akkor a JavaScript. Ez hogyan összekapcsolni a külső JavaScript fájlokat. Látjuk itt, végül a CSS stíluslap, amely dokumentálja ezeket a stílusok a kódot. Nézzük valóban nyissa meg a fel- nézd meg nagyon gyorsan. Ez úgy néz ki őrült. Kizárt, hogy én leszek tudja, hogy olvassa el. Így valójában azonban, ha figyelembe egy pillantást, akkor valami látható, hogy vannak - ott vagyunk. Úgy néz ki, mint valami láttunk előtt, a háttér színe, amely azt egyenlő néhány vörös-zöld-kék értéket. Ez a cucc a fajta nem tűnik olyan külföldi, még akkor is, amikor bemutatta , mint ez, akkor egy kicsit nyomasztó. Nem fogunk nézni ezt a CSS fájlban vagy töltenek sok időt, mert ez ismét elég nehezen olvasható. Térjünk vissza erre a HTML oldalt CS50. És hadd lépjünk le a szervezetben. És benne látjuk ezt div tag. Látjuk a fejléc itt. Látjuk a horgony címkét. És ez a lista elem mivel egy adott osztályban. És azt látjuk, hogy az osztály ismételt újra és újra. Tessék Curtis. Ott van a megjegyzést a HTML5. És ahogy azt veszi észre, még mindig láthatjuk , de ez nem jelenik meg. Ez valóban nagyon érdekes. Úgy néz ki, ez a pontszámok lista elem megjegyzésbe. Ha elmegyünk erre az oldalra, ismét, még mindig jelenik meg ott, olyan érdekes. Ja, azért, mert a Ennek következő sorban. Mi mást látunk érdekes? A többi, ez inkább zavarba ejtő, a foglalkozik ezzel a jobb felét a honlap, ami egy kicsit kicsit bonyolultabb. Tehát ez az, amit egyes HTML fog kinézni. Számomra azonban ez egy kicsit elsöprő, és ez nem segíts nekem, hogy sok. Azonban van valami, ami nem, sőt, segítsen nekem egy csomó. És ez az, amit használ, amikor én vagyok hogy kitaláljam, hogy valami úgy néz ki, ahogy ez, vagy hogyan lehet Azt, hogy módosításokat a honlapomon. És ez egy fejlesztő eszköz amely be van építve Chrome. Tehát, ha megy ez a három bár jobb itt és menj le eszközöket kattintson Developer Tools, egy kis ablak fog felbukkan az az oldal alján. És különösen a króm, hiszen csodálatos, majd formázza ezt az ablakot és hogy a HTML, és ez úgy néz sokkal szebb az Ön számára. Tehát most már tényleg valami összecsukható HTML, hogy tárja fel, hogy ellenőrizze az elemek a lap. Ha azt akarjuk, hogy nézd meg a testet, valójában kiemeli. Ha lépjünk át egy része a HTML, le ebben az ablakban, hogy lesz jelölje ki az a része, hogy beszél arról a nagy ablak. Hadd újra megpróbálja felrobbantani ezt egy kicsit. OK. Szóval nyissa ki a szervezetben. És én görgetés át ezt a bal oldali div. És azt veszi észre, hogy ez kiemelve ez a bal oldalán a képernyőn. Szóval ha rákattint a és bővíteni ezt. Belsejében is, úgy néz ki, mint a van két divs. Van ez az első div. Én nem látom, hogy kiemelve. Nem tudom, de úgy néz ki, mint ez a második, bal belső, az a tartalom, a bal oldalon a képernyő. Aztán ott van ez a dolog az úgynevezett fejléc. Úgy néz ki, hogy van kiemelve A CS50 rész. Ha kinyitjuk, hogy akár, azt látjuk, hogy ez nem más, mint a fejléc 1. Ez adott egy azonosítót, és ez mivel a szöveg CS50. Tehát még egyszer, néztem ezen keresztül konzolt, vagy használja a fejlesztői eszközök panel alján a képernyő teszi feltárása ezen a honlapon, remélhetőleg, a sokkal kevésbé félelmetes, és sokkal könnyebben hozzáférhető. Azt is lehetővé teszi számunkra, hogy megértsük, hogy ezen a honlapon, de úgy néz ki, nagyon szép és jó, nem olyan sok több, mint amit te lesz csinál a probléma meg a 7.. És ez teljesen belül a képességét, hogy hozzon létre. Ha azt akarjuk, hogy - A másik jó dolog ezekkel a eszközök, ha jobb klikk a címet, szerkesztheti a HTML. Így nevezzük Jason. És most, észre fogod venni, én megváltozott A HTML ezen az oldalon. Persze nem változott véglegesen. Ha frissíteni a böngészőt, akkor azt menj vissza az eredeti HTML. De néha azt akarom, hogy hibakeresés kódomat, , és nem akarom, hogy néz ki, az én gedit ablak, és megpróbálja megérteni mi folyik itt. Azt akarom, hogy mi fog történni az élő. Így fogom szerkeszteni kódot, mint ez, és hogy úgy, ahogy én akarom, hogy úgy nézzen ki. És akkor én, hogy a változások a kódot. És azt találják, hogy ez sokkal könnyebb ha meg tudod csinálni a dolgokat, azonnal, ilyesmi. Mondd, ismét azt szeretnénk, hogy egy másik véletlen, hiszen mi vizsgálja az HTML és CSS most. Tudom szerkeszteni a HTML most. És fogok egy linket. Így fogok változtatni CS50 otthonában oldal, így nem fog hivatkoznak - mondjuk - a honlapon. Mi a neve, ha valaki emlékeztet, vagy mi az attribútum akarok adni egy horgony tab, amikor akarom azt kapcsolni valahol máshol? Közönség: href? JASON HIRSCHHORN: href - Tehát most, akkor láthatjuk, hogy egy aláhúzott alatt Jason. Azért, mert Chrome alapértelmezés szerint ad horgonyok aláhúzás. Valószínűleg már látott ilyet ha már elment egy weboldalra. A dolgok, amelyek a kapcsolatok aláhúzott és kék. Az alapértelmezett stílus egy linket az általánosan kiemelni és tedd a kék. Ha nem tetszik, Tudok változtatni. És akkor változtassa meg a második. De most, azt is észre, hogy, ha lebeg mint ez, a bal alsó a képernyő, jobbra fent a szóelemek az a kapcsolat, hogy én adtam. Tehát, ha én tettem kattintson erre - és mi is jobb klikk erre, nyit egy új fület. Ez valójában nem a honlapomon. Ez csak az én nevem. Tessék. Már most kapcsolja be a kapcsolatot. Fedezzük fel néhány CSS is. A szép dolog - és fogok hogy ez egy kicsit kisebb - a ez a konzol, az őrült CSS lap láttuk korábban, hogy tényleg Nehéz értelmezni, most szépen lefektetett minket a bal oldali Az ezen a táblán. Így meg tudjuk nézni. És ha bővíteni ezt a stílust tab, akkor Láthatjuk a különböző stílusok társított, ebben az esetben, az adott elem, ez a kapcsolati elem. Ha ezt az összetett stílusok fülre, hogy csak azt mutatja számunkra, nem ott, ahol minden származik, de lényegében az összes ilyen stílusok működő az adott elem most. És mondjuk, szeretnénk változtatni egy kicsit. Szóval ez az egész a stílusok, amelyek működik az adott elem. Mondd meg akarjuk változtatni, mert szeretné látni, hogy valami úgy néz ki. És mi csak játszani körül most. Vagy szeretnék kipróbálni valamit, mielőtt írásban azt a kódot, és nyomja , és így élnek. Elmehetünk a stílusokat fülre. És az első dobozt, hogy mondja, element.style. És itt, akkor tegye, adhat valamit. Szóval azt akarom, hogy - menjünk a linkre, és a a háttér színét. És ez valóban autofills neked, az összes lehetséges tulajdonságait. Háttér színe, és azt akarom, hogy a kék. Blus nem egy szó. Blue egy szót. Nem látom, hogy jön? Ó, hogy azért, mert ez a href? OK. Szóval nem lát változást itt. És ez azért van, mert, ha kiemeljük a linkre, észre fogod venni, hogy a kapcsolat ténylegesen nem szabályozza a tulajdonságai az adott elem. Igazából, ha kinyitjuk a kapcsolatot, ezt a fejlécet itt ez kontrolling, aminek látszik. Tehát, ha azt szeretnénk, hogy a háttérben kék, én tényleg meg kell változtatni háttérszíne a fejléc elem. És most azt látjuk, hogy a háttér kék. Tehát még egyszer, ez gyorsan lehet majd keresztül ez az anyag elég gyorsan. De ez lényegében az, amit fogsz csinál. Ez nem a probléma meg a 7., de természetesen, amikor kódolás az interneten. OK. Azt szeretnénk, hogy a háttérben a kék. Annak ellenére, hogy ebben az esetben, kék néz ki csúnya. Mehetek itt, a játék körül. Látom, hogy a változó, hogy a kék nem működik az a. Azt, hogy valóban változtatni a fejléc eleme, hogy tartalmazza a kék háttérben. És aztán, ha aztán megyek vissza a CSS fájlt, hogyan tudom tényleg be ezt háttér, hogy a kék és hogy ez a változás bottal? Mert ha azt veszi észre, ha frissíteni kell az oldal, az összes változtatást csináltam elmentek. Szóval rájöttem, OK, én háttér kék. El kell menni, hogy header1 elem és a változás a háttér színe kék. Hogyan valójában, hogy ezt a változást? Nos, emlékszem, hogy ha bemennénk Az itt, ez a fejléc, a címnek van egy azonosító. És ez a címe. És így a CSS fájlban, azt mondhatjuk, OK, hogy semmit ID cím-és adja meg ezt a további tulajdonság. Hogyan hivatkoznak valamit a ID cím, bármilyen ötletet, vagy bárki , hogyan hivatkozni Azonosítók a CSS fájlban? A hash, ez pontosan így van. És van egy csipetnyi, hogy itt van. Tehát valahol ebben a CSS fájlban, ott ezt a kódsort - # # Bal bal belső # header # címet. És ez így ez margin alsó, meghatározó margin alján ezt adott elem. Nos, ha akartam változtatni, Mennék ebbe a CSS fájlban. És én sem találja ezt része a CSS fájlban. Vagy tudnék írni a saját. Tehettem hash cím zárójel és majd a háttérszín colon kék pontosvessző, és közel, hogy zárójel. És ez meg fogja változtatni a háttérben színe ez az elem kékre. Ennek az az oka, hogy kapsz annyi itt , hogy ez szükséges, ebben az esetben, mert a cím egy egyedi azonosító. De mit tehetünk, fészek dolgokat. Tehát ez azt mondja, OK, menj balra. Ez nagyon kicsi. Elnézést kérek, hogy. De megy a dolog ID balra. Belül az, hogy keresse meg a dolog ID bal belső. Belül úgy néz ki, meg a dolog azonosító fejléc. Belül az, hogy néz ki a dolog, ID cím és változtassa meg azonosító címet. Tehát ez csak egy módja A fészkelő dolgokat. Egyesek, mint fészket, mert ez teszi egy kicsit világosabb. Majd meglátod, itt is, a jobb Itt nincs hash. Ez csak h1. Ennek oka, hogy a H1 kap a nevét egy általános címke. És van néhány CSS tulajdonságok kapcsolódó minden egyes h1. Tehát, ha én találtam egy H1 ezen az oldalon, Azt is látjuk, hogy ez a stílus volt alkalmazott azt is. Ha akartam alkalmazni a stílust egy osztály, hogyan hivatkozhat egy osztály, vagy beszélni osztály egy CSS fájlban? Közönség: Dot. JASON HIRSCHHORN: Ez a pont. Akkor térjünk vissza erre az oldalra, mielőtt. Ha én hash azonosítót. Ez változik a stílus A dolog azonosító. Vagy bocs, ha megteszem hash logó, ez megtalálni a dolog ID logo és így ez egy bizonyos CSS stílust. Ha én valamit. Tetején, hogy azon megállapítása mindent az osztály a felső és megváltoztatása stílusokat. Ha nem csak a H1, hogy megtalálja minden egy H1 és ad neki az, amit stílust akarom adni. Ha én H1 helyet, majd. Tetején. Hogy megy megtalálja az összes H1S majd az összes közül az osztály a felső és akkor csak változtatni ezeket a stílusokat, hogy , amit akarok, hogy ez. És ismét, mi lehetett volna írni néhány ilyen a miénk. De nem jutott volna ilyen messzire. Sokkal jobb, úgy tűnik, hogy ténylegesen megy egy igazi élő honlapon, és látom, hogy csinálják, és nézd meg az összes fantasztikus dolgokat csinálom. Nézzük meg még egy website mielőtt lépni. És ez az egyik, hogy akkor valószínűleg megismerjék. Ez CS50 pénzügyminiszter. Tehát még egyszer, akkor valóban menni, és figyelembe ezt a CSS fájlt a számítógépet, mert már letöltötte ezt CSS fájlt, ha a letöltött probléma meg. Elmehetünk az Eszközök és Developer Tools. És azt látjuk, egy sokkal egyszerűbb HTML elrendezés. Van felső, középső és alsó. És ismét, amit meg kell ismeri, mert már látszott az eloszlás kódot az e heti probléma meg. A tetején van, egy a kódot, egy képet nevezett. És ez a forrása a képet. Mondom, hogy kész minden, amit Azt akartam, hogy a probléma meg 7. És ez működik, de a Meg szeretném változtatni, hogyan néz ki. És szeretném megváltoztatni a háttérben A felső oldal, például, a kék. Ha ez nekem, én jönnek itt, és kitalálni, OK, mi akarok változtatni. Lássuk, div ID tetején, úgy néz ki, mint az oldal tetején. Szóval menjünk oda. Nézzük próbálja megváltoztatni a háttérszín. Menjünk csinálni Alice kék, mert ez egy szebb. És észre fogod venni, hogy - valószínűleg nem lehet látni. De van egy világoskék, mellett CS50 logót. Változtassuk meg, ahelyett, hogy a piros. És észre fogod venni, most már csak megváltozott A háttér színe piros. Szóval most megy be a CSS fájlt, és típusú # top göndör paren itt. Láthatjuk a kód helyes Itt, kapcsos zárójel. És akkor, hozzátenném, háttér színes, piros. És akkor, ott lenne egy kapcsos zárójel. Szóval így azt vizsgálja meg, és kísérletezni a formázás a CS50 Finance oldalon. Tudnék csinálni itt és vizsgálati meg a böngészőben. Aztán mehetek be a tényleges kódot és a változások, amelyek tényleg élesben, és hogy az emberek valóban látni, ha voltak, hogy jöjjön az adott oldalon. OK. Ez sok volt. Elnézést megy keresztül ez olyan gyorsan. Van valakinek kérdése egyáltalán a HTML vagy CSS? Közönség: Lehet csak megy át, hogyan kapcsolt mi lett Jason megint? JASON HIRSCHHORN: Milyen érted, kapcsolódik? Közönség: A biztosított egy linket egy másik honlapján, a horgonyt. JASON HIRSCHHORN: Szóval azt kérdezi: csak általánosságban, hogy van egy link? Közönség: Igen. JASON HIRSCHHORN: OK. A kód, hogy egy kapcsolat - Közönség: Nem, mint a HTML. JASON HIRSCHHORN: Itt lent, érted? Tehát, ha azt akarom, hogy tartalmaz egy linket valahol, mondjuk, ez a HTML én oldal itt. Ez a HTML. Lehet, hogy nyitott egy fájlt, index.html. Megyek be Nézzük, hogy a szerzői jogi John Harvard link valamit. Így fogjuk szerkeszteni mindezt, mint a HTML. Amit tettél, többek között az egy, így a Sorozatot a záró zárójel a elején, majd a konzol slash egy záró zárójel a végén. Szóval most már bele egy horgony tag. És valóban, ha rákattint ki ez, most formázza szerkeszteni a HTML. És azt mondják, szeretnénk kapcsolni azt. Mi lenne, hogy a href attribútum. És azt mondjuk - És most, ahogy azt veszi észre, copyright John Harvard kék. És amikor lépjünk át ez, ez most egy link. Szóval lehet írni a kódot. Ön körül elég sok mindent szeretnénk egy horgony tag, és kapcsolja be egy kapcsolat. Közönség: OK. Megvan. JASON HIRSCHHORN: És ha én nem akarom, hogy - persze, néha az emberek hajlamosak gondolni ezeket a dolgokat, hogy csak nézni kék általánosságban és aláhúzással jelölt nem a legszebb módja annak, hogy egy linket. Tehát, ha nem jövök ide, látod, valahol egy CSS fájlban van írta ezt, majd a két kapcsos zárójelek. Tehát mondjuk, hogy a linkeket, én nem akarják őket, hogy kék, hanem azt szeretné, hogy a színe egy linket legyen ez a szép magenta. Nézzük, hogy ez a szín. Nézzük vedd magenta. Most, a linkek az oldalamon van lesz ez a szép színes magenta. Vannak, akik nem szeretik a színeket. Vannak, akik nem szeretik kiemeli. Kapsz felvenni. A linkek segítségével stílus hogyan meg, ha egyszer már meglátogatta őket. Ahogy észre fogod venni, egy csomó oldal, linkek kapcsolja lila meglátogatja őket. Meg lehet változtatni, hogy a színek is. Igen. Közönség: Szóval változtatja minden egyes kapcsolatot. De ha csak azt akartam tenni, hogy a kapcsolat is, akkor csak ezt az azonosító alsó, vagy valami? JASON HIRSCHHORN Szóval jó kérdés. Ahogy észrevettem, itt váltottam néhány része a CSS, hogy érvényes az mindent, ami az A. Ha akartam csak csinálni, hogy a link az alján, azt megy a CSS fájlt, és talán nem csak ahogy mondtad, hash alsó helyet a. És, hogy adna nekem összes Ahogy az alján. Vagy tudtam, alternatívaként, hogy ez a egyedi azonosítót, majd csak ezt hash linket. És ez lehetővé tenné számomra, megváltoztatni ezt. Azonban csak doling ki azonosítók akarva-akaratlanul általában egy rossz gyakorlat, mert ezek a egyedinek kell lennie. És minél több van azokat, akkor lehet egy kicsit zavaros. Igen. Közönség: Tudna ugyanazt ID több tulajdonos? JASON HIRSCHHORN: Gyakorlatilag igen. Semmi sem fog megállítani, de Ne Meg kell adni, hogy egy osztály. OK, minden más kérdés a HTML vagy CSS? OK. Lépjünk be a PHP-t. Ó, igen. Közönség: mi van ezekkel a weboldalak, azt jelenti, hogy lehet szerkeszteni őket, mielőtt frissíteni. De ha egyszer frissítjük visszatér biztonsági másolatot az eredeti HTML-t? JASON HIRSCHHORN: Nagy kérdés - így amikor már betöltve ezt weboldal, ez a HTML. És ez a JavaScriptet. A PHP kerül végrehajtásra, hogy nekünk bármilyen ilyen honlapot látunk. És ez keltett némi HTML, néhány JavaScript, és néhány CSS. És ez most már elérhető a számítógépünk. És egy másolatot a fájlok menti helyileg a számítógépen, egyelőre. Így tudjuk szerkeszteni, hogy a helyi példány. De persze, nem vagyunk szerkesztés a szerver példányt. És amikor frissíteni kell az oldalt, kapunk egy másik szerverre példányt. És így látjuk a dolgokat vissza, mint volt. Ha képesek lennénk, innen, szerkeszteni a hivatalos honlapján, mi lenne sok problémák. Közönség: Igen, így tudjuk olvasni és írni a másolat. JASON HIRSCHHORN: Így van. Mi csak ezzel a helyi változás van, de a lényeg, nagyon hasznos, hogy felfedezzük, sokszor. Amikor írom a projekt végső, a Például, azt szeretném látni, hogy egyes honlap készült valami megjelenés , ahogy ők. Én majd, és ezt a panel le itt, hogy nézd meg, mit CSS adtak a , vagy milyen színű, hogy felvette, vagy hogyan Van úgy, hogy, ha lebegett mint valami, a lista lejött egy szép lépcsőzetes módon. Ez egy nagyszerű módja annak, hogy vizsgálja meg, milyen más honlapok csinálni, és hitelt felvenni. Térjünk rá a PHP. PHP jelentése, a rekurzív értelemben PHP Hypertext Processor. És a PHP, hogy mit fog csinálni az programfuttatási szerver oldalon. Szóval soha nem fog látni a PHP kódot. Ez azonban nem játszik szépen HTML és gyakran generál Sok HTML kódot. De akkor lesz ismerős probléma Állítsa be a 7., a PHP kódot hajt végre, generálni, HTML, és ez az, ami A felhasználó a végén látni. PHP hihetetlenül hasonlít a C- Van azonban egy pár különbségek, és ezek a különbségek fontos megjegyezni. Az egyik különbség az, hogy a változó A PHP gyengén típusos. Van valakinek értelme Az mit jelent? Közönség: Nem kell vesd magad. Mintha nem kell írni a szöveget. JASON HIRSCHHORN: én nem használnám a szó öntött, de igen, nem kell bejelenteni a típus egy adott változó. Hogy helyette tudjuk, hogy egy változót? Közönség: Használjon dollár jel. JASON HIRSCHHORN: Használjon egy dollár jel. Tehát $ x változó. 1 $ egy változó. $ String változó. Azok a változók, $ x lehetett egész szám lehet. Aztán lehet, hogy egy string. Aztán lehet, hogy egy karaktert. Nem igazán számít. Továbbá, a hűvös dolog a PHP, mondjuk, $ x string egy. És a $ y a karakter egy. Felveheti $ x és a $ y, és ez lesz kapsz 2, amit elvárnánk. Tehát vannak olyan műveletek PHP. Mert gyengén típusos változó, Néhány implicit casting történik az Ön számára és egyes műveleteket. Meg tudod csinálni műveleteket dolgokat különböző típusú. Míg korábban, ha gyakran kap egy hiba C mondás, ez nem az a típus hogy kéne menni itt. Egyetlen dolog, az ilyen típusú megy itt. Te nem fog kapni ilyen típusú A hiba általában, PHP-ben. Tehát ez az egyik nagy különbség - hogyan kezeljük a változókat. A másik nagy különbség, hogy PHP kód értelmezése. Wheres, C kód van fordítva. Ez mit jelent? Nos, a C kódot futott át a fordító. A generált bináris fájl. És futott, hogy bináris fájl. Ön vigyázott minden hibát, mielőtt Ön generált bináris fájlt. Persze, lehetett volna szegmentáció hibák, amikor futott a bináris fájl. De nem szeretném, ha elfelejtette, hogy tartalmazza meghatározása printf vagy nem használt változó, és csak létrehozott egy pazarló változót. Vagy, hogy nem határozza meg a függvény prototípus. Minden, ami történt, mielőtt össze. Ez adta meg az összes hiba vagy rossz dolog, hogy gondoltam megtörténhet. És akkor, megvolt az a 0 és 1 fájl futott. PHP kód nem így működik. Fogsz írni a PHP kódot. Akkor fogsz menteni, feltehetően. És legalábbis a P-Set 7 mész hogy frissítse a böngésző, és fogsz, hogy mi történt. Fogod látni a kimeneti Az, hogy a PHP kódot. Lehet, hogy azt is látni, a tetején az oldal, egy hiba. Mert volt néhány hiba a PHP. Lehet, hogy még mindig látni a többi A weboldal nézel ki. De egy része rossz, és van hiba azon a helyen. És ez azért van, mert azt a részét A PHP kód nem működik. Sőt, ha végre, ha megy valami hasonló by.php. Meg fog átmenni a PHP fájlt sorról sorra, és végrehajtja azt akkor és csak akkor. Ez nem fog összeállítani, hogy megelőzve a időt, vagy össze egy példányt, majd adja hogy a lefordított példány mindenkinek. Minden alkalommal, hogy fog átmenni sorról sorra, és végrehajtja azt. Tehát néhány sor is működik, és output valami helyes. És más vonalak is törött és hibaüzenetet helyette. Tehát, ha a hibakeresés PHP, most már adott akkor egy-két hasznos dolgot hogy segítsen hibakeresés, például a dump funkciót. De általában, mész hogy ezeket a hibákat. És ez hogyan fogsz tudom, hogy valami rosszat tett. De te csak akkor fog látni a hiba ha egyszer valóban futtatni a kódot. Egy másik fontos szempont a PHP és a webfejlesztés az ötlet GET versus post. Tud valaki magyarázni, mi a különbség között kap és a poszton? Senki - Igen. Közönség: Nem egy közülük segítségével a felhasználó láthatja az adatokat, és az egyik nem? JASON HIRSCHHORN: Remek. Igen, van valami hozzá? Közönség: Én vékony post egy szuper-globális változót. JASON HIRSCHHORN: Tehát mindkét változók adott neked. Ezek csak változók. És tudod, hogy ők változók mert itt én használja a dollár jel. Ezek a változók adott neked a PHP. És ha mozog a weboldalak között, szeretné menteni néhány információt. Valószínűleg akar menteni, ha a felhasználó bejelentkezett Ez nem menti a GET és a POST. Ez mentett valami mást, egy másik változót. Tudja valaki, hogy mi a változó ez mentett , vagy milyen változót használ a P-Set 7, hogy győződjön meg arról, hogy a felhasználó be van jelentkezve? $ _SESSION, Ez pontosan így van, valószínűleg fontos, hogy tisztában legyünk a nevét ezeket a dolgokat A gyakran használt. Így használja a munkamenet változót menteni információ oldalról oldalra. Ez egy szuper változó. Létezik minden oldalon, talán pont egy globális változót, ha meg akarja gondolni róla, mint ezt. Van egy pár más változó amelyek lehetővé teszik, hogy az átutalási adatokat oldalról oldalra. Különösen azok fogunk összpontosítani a GET és a POST változókat. A PHP úgy néznek ki, mint a $ _GET És $ _POST. És a különbség, mint Marcus hegyes ki, a kettő az, információk $ _GET is jelenik meg az URL-ben. Tehát, ha megnézzük itt, látunk egy YouTube linket. Látjuk ezt kérdőjel. Látjuk v =, majd néhány értéket. Vissza ez a gondolat a kulcs értéke pár, a v a kulcs. És itt van az érték. Tehát, ha mi voltunk, hogy megy ez az oldal, vagy kódolás ezen az oldalon, mi lett volna a változó neve $ _GET. Ha mentünk $ _GET nyitó zárójel "v" záró zárójel, nagyon hasonlít a tömb jelölés, ez a társult tömb mert mi nem használ indexeket. Vajon a húrok a kulcsokat. De nagyon hasonló ötlet. Ha mentünk mi is ezt az értéket. Ezen az oldalon, leszünk képesek hogy ezt az értéket. Ha valóban úgy néz ki, nézzük megy a YouTube oldalra. Mit video kellene nézni? Ez az egy, az emberek Hobbit rajongók? Közönség: Igen. JASON HIRSCHHORN: Szóval másolás részesedésük URL és beillesztés egy új ablakban. És most, ha megnézi itt, akkor észre, hogy ismét - Megyek másold ezt figyelembe gedit, így láthatjuk, hogy nagyobb. Észre fogod venni, hogy van ez a kérdőjel. A kérdőjel jelöli, hogy az minden után lesz mentett a GET változó. Ezután az a v, ez az első és ez az első kulcs értékét. Jel különleges. Ampersand azt mondja, rendben van, akkor elkészült az első érték. Most mozog a másik kulcs-érték párt. Itt a legfontosabb az úgynevezett szolgáltatás, és az érték youtu.be. Tehát, ha én egy kódolási ezt az oldalt, és valaki elment erre az URL, és meg kellett Talán watch.php. És én ezt a kódolás. És tudtam használni a $ _GET változó. És szerettem volna egy v, és Szerettem volna jellemző. És ha használom a v gombbal, azt akkor ezt az értéket. És ha én $ _GET konzol "funkció" záró zárójel, azt, hogy ezt az értéket. Ismét, ez nem feltétlenül vonatkoznak - Nyilvánvaló, hogy a YouTube kulcsokat és értékeket és kap az információ nem vonatkozik a a probléma meg 7. De vannak bizonyos dolgok, amiket át keresztül bejutni a probléma meg 7. És természetesen, ha elmész egy weboldalra vagy kódolás a saját oldalán, a $ _GET Jól jöhet amikor a kódolás. Mi az az egyik oka, hogy a $ _GET akkor, ha nem ad további magánélet? Látod ezt az információt ez átvitele. Ez mind jelenik meg a felhasználónak. De mi az egyik oka annak, hogy lehet, hogy akarja menteni valamit $ _GET, mint szemben a $ _POST? Miért is akarsz csinálni? Rendben van. Azt kérdeztem, Kvíz 1.. Mi a pro a $ _GET? Mi egy profi? Igen - Közönség: Könnyebb megosszák az információkat. JASON HIRSCHHORN: Azt hiszem, ez nagyszerű. Könnyebb megosszák az információkat. Könnyebb könyvjelzőt. Ön a könyvjelző most, YouTube.com / watch? V = valami, és megy hogy az adott videót. Ha a YouTube mindig, POST kérések különböző oldalak minden YouTube URL-t lenne YouTube.com. Nem lehetett könyvjelzőt egy videó. Mert ha azt mondod, a közös, hogy a link valaki mással, nem automatikusan megkapják a hozzászólás változó. Ők csak arra, hogy ezt a kapcsolatot, és a link ugyanaz mindenki számára. Annak érdekében, hogy egy profi. Ez lehetővé teszi a kedvencek közé információk vagy megosztani ezt az információt , vagy, hogy ez egy kicsit inkább felhasználóbarát. Természetesen, nincs magánélet, így van ez a poszt változót. És utáni információ nem jelenik meg az URL-ben. Ez nem teljesen privát. De ez alig több magán. És látni fogod az URL- itt, cs50.net. Függetlenül attól, hogy bejelentkezett a website, ez lesz, hogy ugyanazt a URL, cs50.net. Nyilvánvaló, hogy valami más, ha a be vagy jelentkezve a honlapon. Van, az egyik, talán adja meg a PIN-kódot. És azt megerősítette, hogy a a szerver. És ez valószínűleg megtakarítás néhány más információt. De az URL nem változik egyáltalán. És így, hogy ez a helyzet, amikor a valamit postán. Az URL nem változik. Ez az üzenet az információ nem jelenik meg az URL-ben. De néhány állam megváltozott, és talán van néhány információ mentett POST változó. Bocsánat. mielőtt bemegy SQL, minden kérdések PHP, különösen, kérdésre a dolgokat, mi nem megy át hogy megtalálta, vagy szintaktikai vagy logika kérdések PHP? OK. A végső nyelv lesz kölcsönhatásban áll ezen a héten a Structured Query Language, SQL, kifejezett folytatást gyakran. , Amely lehetővé teszi, hogy befolyásolja a adatbázis formalizált módon. És játszik szépen a PHP. Ahogy látni fogod a probléma meg 7, most már adott neked egy függvényt nevű lekérdezést. És ez tart egy SQL karakterláncot, és végrehajtja lekérdezés az adatbázisban. Az elmúlt években, hogy nem mivel ezt a funkciót. Meg kellett, hogy a PHP funkciókat, hogy a A lekérdezést az adatbázis és ellenőrzés a hibákat, majd a kapott eredményeket. És valóban, ez nem olyan nehéz, mert megint játszik nagyon szépen PHP. És a PHP ad egy csomó funkció hogy befolyásolja a SQL adatbázisba. Oly gyakran, a két Ezek együtt jár. Persze, akkor is kölcsönhatásba Az SQL adatbázis minden Számos más nyelveken. De a PHP egy nagy ember közül lehet választani. Az adatbázis - megyünk át ilyen gyorsan, mert a ez egy buzz szó megyünk használatba gyakran - gyűjteménye táblázatok. Így tudjuk gondolni, hogy Excel fájlt. Excel fájl több lap az a képernyő alján. Minden egyes fül akkor most hívja egy asztal, ahol a egy asztal gyűjteménye sorok. És mi az a sor? Nos, egy sor, hogy ugyanaz a dolog Az Excel fájl. Ez csak bizonyos értékeket az egyes adott területen, vagy minden adott oszlop. Ez olyan, mint egy bejegyzést a táblázatban. Ez egy diák, aki egy azonosító, a speciális azonosító, és egy adott nevet, és a adott ház. Így az adatbázis gyűjtemény táblázatok. És táblázatok maguk a számú sort vagy nyilvántartás. Vannak is, minden asztal, egyes területeken. És, hogy meghatározza, mi az egyes rekord lesz, hogy, mezők néha oszlopok de általában az úgynevezett területeken. Ebben a nagyon egyszerű táblázatot, van három területen, egy azonosító mező, a felhasználónév mezőt, és egy hash területen. És van három sor. Most, ők üres. Ők valószínűleg nem lehet üres ha ez volt az igazi adatbázisban. Tehát, ha már használt Excel, hasonló ötlet hogy amit csinálsz az Excel, mégis, Nyilvánvaló, hogy most mi lesz, hogy képes legyen sokkal erősebb a dolgokat a olyan információt, amely a tárolt az adatbázisunkban. Akkor létre magának egy adatbázis probléma meg 7. De akkor meg kell, hogy többszörös táblák az adatbázisban. Nem lesz létrehozni egy adatbázist vagy egy asztal a felhasználók számára. Nem lesz is létre egy táblázatot Valószínűleg részvény tranzakciók, hogy követni őket, mert meg kell végrehajtása előzményei funkciót. Mindkét tábla lesz különböző területeken. Például, egy felhasználói területen, akkor Valószínűleg azt akarják, hogy a felhasználói név és Azonosítóját és a hash a jelszót. A készletek táblázatban, amely nyomon követi a a történelem, vagy a történelem asztal, Valószínűleg nem kell a felhasználó nevét és a hash és az azonosítót. Valószínűleg csak kell egy ilyen értékek, amelyek egyedi, társult azt egy adott felhasználó. De akkor, a tárolni kívánt egyéb dolgok, mint, mikor volt ügylet. Mi állomány vásárolt vagy eladott? Hány részvény állomány volt, vásárolt vagy eladott? Mi volt az az ár, amelyen a állomány vásárolt vagy eladott? Tehát még egyszer, akkor lesz egymásra egy adatbázis, ami lesz, hogy több asztalt. Minden asztal megy, hogy saját sorozata területeken. Azonban, akkor nagy valószínűséggel lesz egy hasonló mező minden tábla, hogy összefűzi őket egymáshoz. Általában, ez egy azonosító mező. Mert ha minden felhasználónak van egy egyedi azonosító és társult, hogy az ID minden tranzakció, felhasználó által, vagy minden, hogy a felhasználó történetében. És van a felhasználó azonosítóját. Lehet információkat kapni bármelyik asztalra. Lehet kapni a felhasználónevet, és kaphat minden a tranzakciókat. Minden kérdést adatbázisok, vagy konkrét kérdése? Valójában, nézzük meg, hogy. Ott leszünk a két oldala. Tehát négy műveletek adatbázisok, akkor használja a Probléma meg a 7. és a várható valaha is használ. Az első dolog, amit akarok, hogy betét egy új rekordot egy asztal, vagy a új sort a tábla. Ez az általános funkciót, a általános formája, az, hogy az SQL lekérdezést. INSERT INTO az asztalra, amit oszlopok beilleszteni kívánt, majd az értékeket, fogsz szeretne helyezték azokat az oszlopokat vagy mezőket. Ha több tábla egy adatbázis vagy több adatbázis, akkor azt is meg kell adnia az adatbázis és az asztal, amit akar tenni a dolgokat. De nagyon egyszerű, ha szeretnénk beszúrni valami, azt mondja, itt van az mezők akarok szúrni. És itt vannak az értékek. Egyes asztalok is, és ez a felhasználó tábla egy jó példa. Valószínűleg a jelen felhasználói asztal valószínűleg a felhasználó táblázat P-Set 7., ott nem csak egy felhasználónév értéket. Ott nem csak a készpénz értéke, vagy a területen, nem. Van is egy azonosító mezőt. Nem fogom beszúrni, hogy az ID mezőbe. Ez lesz adható meg automatikusan, amikor egy új rekordot egészül ki. Szóval egy kis területen, amit Beállíthatjuk, hogy az automatikus. Lehet, hogy azt szeretnénk, hogy minden felhasználó $ 10,000 készpénz kapásból. Szóval nem kell beszúrni Számos készpénz itt. Csak azt kell beszúrni a felhasználó nevet. És akkor, a készpénz területen az előre kitöltött, és az ID mező előre lakott. Így sokszor, nem vagyunk behelyezése valamit minden területen, mert a a többi mezők előre lakott. Mert hogyan létre, hogy az asztalt. A második dolog, amit fogsz akarom, hogy törölje a rekordot. Törlése valami nagyon egyszerű. Ön adja az asztalhoz, ahol szeretnénk törölni valamit. És azt mondja, rendben, azt akarom, hogy törölje a rekord egy felhasználónevet a Milo. Vagy akarom törölni az összes rekordot, egy felhasználónevet a Milo, vagy amelyek a tranzakció a felhasználói azonosító számot 2.. Bármilyen kérdése a következő Kétféle lekérdezés? Közönség: [hallható]. JASON HIRSCHHORN: Igen. Így fogom használni sor és rekord szinonimaként és néhány oszlop és a területen. De egy sor egy rekord. Egy oszlop egy mezőt, majd vissza erre az asztalra. OK. A következő dolog, amit valószínűleg majd tennie, hogy egy kis információt a táblázatban. Ez egy választó lekérdezést. És ismét, milyen asztal vagyok választásra? És mi oszlop akarok kiválasztásához, vagy milyen értéket akarok kiválasztásához és ahonnan sorban? Tehát a Select egy kicsit speciális. Mondom, rendben, azt akarom, ez a táblázat. És akkor azt akarom, az oszlop felhasználónevet, és Azt akarom, hogy a sort ID 2. Ez az egyik módja a Select. Vagy azt tudom mondani, hogy nekem minden egy felhasználónevet. Vagy azt tudom mondani, hogy nekem egy egész sort a táblázatban, ahol a A felhasználónév 1 lehet. Tehát van egy pár különböző módon do select kérésekben, attól függően, hogy mennyi információt szeretne, Mindig csak válassza ki mindent alapján az adott tábla, majd hurok rajta, szedés ki a dolog, amit akar. De ne feledje, ha kiválasztja egy csomó dolog, egy asztal, és egy igazán nagy tábla, hogy lesz egy kis időt, így a legjobb, ha csak kiválasztásához dolog, hogy fogsz a végén segítségével. Továbbá, a Select és az összes ilyen egyéb SQL parancsokat is, én vagyok így a lecsupaszított verzió. De azt mondják, én kiválasztásával a felhasználók, és szeretnék hogy nyomtassa ki őket betűrendben, Tudtam jelölje ki az összes felhasználó számára, majd a sort ábc a kódomat. Vagy van egy módja, hogy írjon a kiválasztott lekérdezés, amely kiválasztja a dolgok egy abc divat alapján le a adott oszlop növekvő vagy csökkenő. Tehát ne feledje, hogy a sok, amit akarom valószínűleg tenni A lekérdezés egy kiegészítő attribútum. Tehát ne nézz fel ezeket a lekérdezéseket internetes vagy A másik dolog, amit tehetünk ezekkel a lekérdezések bővíteni őket. Végül, az utolsó dolog, amit akarok nem be valamit, vagy törölni valamit, de inkább frissíteni valamit. És ez történik a frissítés lekérdezés, és újra, milyen asztalra. És milyen változást akarok tenni? És melyik sor vagy rekord csinálni Azt akarom, hogy ezt a változást? Bármilyen kérdése az SQL? OK. Tehát körülbelül 15 perc. És ez az utolsó dia van. És remélhetőleg, az utolsó dia egy jó Segue a probléma meg, mert a megértés hol akarunk be feljegyzések, törléshez válasszuk őket, és frissítse őket segíteni fog nekünk megérteni a nagyobb logikát és az áramlás Probléma Set 7. Szóval, tudom, hogy az összes választ ezekre a kérdésekre. Nem fogom elmondani, az összes választ. De ha valaki szeretne be kérdést a csoport vagy választ, hogy egy ilyen kérdés, tudjuk használni, hogy a leugranak pont beszélni a problémát meg. Vagy ha valakinek van egy általánosabb kérdés, ki a probléma meg, úgy érzik szabad megkérdezni, hogy is. És mi lehet kezdeni ott. Ne feledje, hogy hallgatott fáj mindenkinek. Igen. Közönség: Tehát az egyetlen módja annak, hogy adja át változók és a különböző internetes oldalak, vagy a legkényelmesebb módon, a POST vagy GET? JASON HIRSCHHORN: Tehát igen, ez a legkényelmesebb módja annak, hogy - ha a valaki kitölt egy űrlapot - információkat szerezni egy másik web oldal, a GET vagy POST. Mivel a keret mi használ ez a probléma meg, észre fogod venni, , hogy sokszor azt teszi egy másik oldalra. Mi, vagy mi teszi egy másik fájlt, nem feltétlenül egy másik oldalra. Így adja át a változó. És akkor, azt teszi az HTML oldal, a információt, hogy a változó. Technikailag nem halad közötti információcsere különböző internetes oldalakon. Ezt áthaladó információk különböző fájlokat. És így tudjuk használni minden változót erre. De igen, ha azt akartuk, hogy adja át információkat egy adott oldalon másik oldalra, GET és POST lenne az a módja, hogy. Minden más kérdések a probléma meg? OK. Menjünk át, majd egy speciális a probléma része beállítva. Ön lesz szüksége, hogy egy ponton, megjelenítéséhez valaki portfólió a képernyőn. Mit gondolok, amikor azt mondom, portfólió, keretében ez a probléma beállítva? Közönség: Ez olyan, mint a részvények, hogy a van, hogy sok részvényt övék, az ár, és mennyi pénzt hagytak. JASON HIRSCHHORN: Ez jól hangzik. Szóval azt akarom, hogy megjelenjen az összes állomány övék minden részvénytársaság részvények és talán, hogy mennyi ez az ér, majd egy külön változót, mennyi pénzt övék. Tehát mondjuk azt akarom leírni, hogy. Kezdjük beszélünk, hogyan tudnék járni ezzel, hogy, milyen táblák vagyok lesz szüksége, hogy meg kell képes erre. Igen - Közönség: Hát a felhasználók, és aztán, azt hiszem, tudod, hogy egy asztal nevű Részvények vagy valami ilyesmi, ami lenne, hány, hogy már vásárolt. JASON HIRSCHHORN: OK. Szóval szükségem lesz egy asztal nevű A felhasználók, amely nyomon követi a felhasználónév, feltehetően, valószínűleg néhány azonosító, valószínűleg az egyén jelszót. Mi az a valami más, amit csak azt mondta, hogy ez jár? Valaki mellett Michael, mi valami más, társított minden felhasználó, egyedi nekik? Közönség: ID. JASON HIRSCHHORN: ID - mi az az egy dolog, hogy mi vagyunk valószínűleg meg is akar jelenik meg ezen az oldalon? Közönség: a nevüket. JASON HIRSCHHORN: A név - mi A másik dolog ezzel kapcsolatos adott probléma meg? Közönség: Mit készletek övék - JASON HIRSCHHORN: Nem fognak egy csomó, amit a készletek az övék. Mi az egyik az adott érték mégis, , hogy megy, hogy velük kapcsolatban? Hogy mennek vásárolni és eladni a készletek? Közönség: Cash. JASON HIRSCHHORN: Ők megy, hogy a készpénz. Így minden felhasználó megy, hogy egy értéket a készpénz. És ez lesz egyedi minden felhasználó. Így a felhasználó asztal, ez teszi értelme, hogy készpénzben. Lehet, persze, hozzon létre egy másik tábla, amely felhasználói azonosítók és készpénz értéke. De nincs értelme. Logikus, hogy az imént minden, hogy egy asztalnál. Szóval lesz egy asztalra ezt az információt. És akkor, mi van a másik tábla mi lesz, hogy van? Azt mondta, a Stocks asztalra. Mit üzembe A készletek asztalra? Bárki, ötletek - Közönség: A vállalat. JASON HIRSCHHORN: Megyünk , hogy a neve a cég, így AAPL Apple. Igen. Közönség: Hány részvények, mennyit érsz. JASON HIRSCHHORN: Hány részvény, mennyit érnek - mi valami mást is szüksége van, hogy az asztalra? Közönség: A felhasználói azonosítót az indexet. JASON HIRSCHHORN: A felhasználói azonosító. Tehát ebben a táblázatban, fogunk valószínűleg - mondjuk, ha valaki, akinek van három készletek, három sorban, mindegyik hogy a felhasználói azonosító, vagy az egyes felhasználói ID, hanem egy másik cég nevét, a különböző részvények száma feltehetően, és egy másikat értéket minden az ezen állományok. Ismét, amit mondok most nem feltétlenül végrehajtására, mert rájössz, van néhány hatékony módon hajtják végre. De ez egy jó kiindulópont. OK. Tehát ezek a két tábla van. Most szeretnénk megjeleníteni ezt az oldalt. Mi az első típusú lekérdezés meg kellene tenni. Minden oldalon, feltételezhető, hogy a felhasználó bejelentkezett, már a felhasználói azonosítót. Tehát mi az első típusú lekérdezést kell tennünk? Igen. Közönség: A felhasználói azonosítót. JASON HIRSCHHORN: Van a felhasználói azonosító, amikor kezd kódot a elején oldalunkat. Tehát mi az első típusú lekérdezés is kell, hogy, mivel a felhasználó azonosítója? Elmentünk a négy típus. Már csak négy lehetséges válasz. Közönség: Ez válasszuk ki a rekordot. JASON HIRSCHHORN: A Select - azt akarjuk, hogy válassza ki a felhasználó táblát, hogy, mondjuk, a összegű készpénzt. És mi lehet nyomtatni a készpénz mennyisége a képernyő felső részén. OK. Mi a következő típusú lekérdezést szeretnénk csinálni? Van néhány más dolog kell megjeleníteni. Azok kerülnek mentésre egy másik asztalhoz. Szóval, hogyan fogjuk fel? Közönség: Kiválasztod őket. JASON HIRSCHHORN: A Select - ismét már csak négy lehetőség. Válassza valószínűleg hangok mint az igazit. Így kell csinálni egy választó lekérdezés, Ismételje meg a másolást a felhasználói azonosító. És most szeretnénk visszatérni nem csak egy sor, bu minden sort, amely megfelel a szempontok, ahol a felhasználói azonosító értéke 1. És akkor mehetünk, és hagyja, hogy a hurok, csak nyomtassa mindazoknak ki a képernyőn, Lehet, hogy nyomtassa ki a cég minden egyes ilyen a képernyőn. Nagyszerű, hogy úgy hangzik, mint ez megjelenítő portfólió, nem sokkal több bonyolultabb. OK, a felhasználó akkor úgy dönt, hogy a sok pénz maradt. És akarnak vásárolni több részvény állomány. Mondjuk, hogy már a saját ez a cég részvényei is. Így mennek a vásárolni oldalra. Azt adja meg a cég nevét. Mi az a lekérdezés után adja meg a cég nevét, hogy meg kell végre a következő? Igen. Közönség: frissítés. JASON HIRSCHHORN: Frissítve - és mi táblázat akarsz frissíteni? Közönség: A táblázat alapján azok azonosító szám? JASON HIRSCHHORN: Tehát frissíteni nem a felhasználó asztal - így frissíteni a Stocks asztal, ahol a felhasználói azonosító nem csak megfelel, de a állomány név is illeszkedik. Majd egy kis érték. És akkor, akkor szeretné, hogy az érték és adjunk hozzá azonban sok állomány általuk akar vásárolni belőle. Szóval nem akarsz vakon felülírja ezt az értéket. De lehet, sőt, hogy ezt a kezdeti értékelik és csak frissíteni. Meg tudod csinálni, mint egy plusz egyenlő, ahelyett, hogy csak egy az egyenlők. Mi az, amit, bár - ha vagyunk gondolkodtam ezen, és azt akarjuk, hogy olyan erős, mint lehetséges - meg kell tennie mielőtt futni, hogy a frissítő lekérdezés? Azt akarják vásárolni öt éves Apple. Minden részesedése az Apple 200 dollárt. Közönség: Meg kell ellenőrizni a pénz az első. JASON HIRSCHHORN: meg kell ellenőrizze a pénz az első. Meg kell győződnie arról, hogy van elég pénz. Milyen lekérdezés végrehajtjuk a győződjön meg róla, van elég pénz? Közönség: Egy másik Select. JASON HIRSCHHORN: A Select - kiválasztjuk alapján felhasználói azonosító, hogy értékük készpénz. Van néhány gyors matek. És ha ez átmegy gyülekezési, van elég pénz. Akkor futtatni a frissítést. Vagy talán, ha nem, akkor át akkor. Adunk nekik egy figyelmeztetést. OK. Azt mondják, nem a cég. Ők vásárol egy új társaság. Ők vásárol Microsoft. Milyen jellegű kérdések akarunk csinálni, ha meg akarják vásárolni a Microsoft? És nem rendelkezik egyetlen Microsoft. Nem Manu, bárki másnak, bárki kívül Marcus? Carlos - Közönség: A Select, hogy győződjön meg róla, van elég pénz. JASON HIRSCHHORN: Jól hangzik. Közönség: És akkor helyezze A [hallható]. JASON HIRSCHHORN: Pontosan, mi majd a beszúrni kívánt a Stocks asztalra. És fogunk szeretnénk szúrni. Tudjuk be a felhasználói azonosítót, a nevet a cég, és hány részvényt akarnak vásárolni. Milyen más műveletek olyan oldalak vagy a funkcionalitás te kell majd végrehajtani a P-Set 7., hogy menjünk át? Közönség: Igazából ilyen van a kérdés ez. Mielőtt megjelenik a portfolió kell Ön ellenőrzi a Yahoo honlapján, hogy ellenőrizze, hogy a tőzsdei árfolyamok nem változott? JASON HIRSCHHORN: Ez hangok mint egy jó ötlet. Tehát mi Marcus mondani, OK, állomány az árak folyamatosan változnak. A készletek, hogy a saját asztal, a asztal nevű Stocks tudtuk menteni a ára az állomány vásároltak azt. De ez nem úgy tűnik, hogy az erős, mert az ár az állomány folyamatosan fog változni. Tehát valójában, akkor valószínűleg nem kell menteni az ár az állomány. De minden egyes alkalommal, amikor megjelenítik a portfolió, akkor frissíteni vagy frissíteni az ára az állomány. És ha van - és van már. Tudom, hogy minden látszott a probléma hátráltatja már. Azt is felismerték, hogy már írt Néhány kódot az Ön számára, amely lehetővé teszi hogy az ár, a készlet, mivel a cég nevét. Szóval igen, ez valószínűleg hangzik egy kicsit erős. De ez a táblázat nem feltétlenül szükséges menteni az ár az állomány. OK. Milyen más funkciót, hogy kell végrehajtani ezen a héten, hogy beszélhetünk? Szeretnék beszélni velük. Mit akarsz beszélni? Valószínűleg ebben a spec. Én csak lapozzunk aljára A spec és kérdezze meg az első szót látod, hogy nincs értelme. Egy másik funkció - beszéljünk egy. Kezdjük ott. Közönség: Felvétel a történetét. JASON HIRSCHHORN: Felvétel A történelem, a nagy ember. Szóval kell majd nyomon követni A történelem a tranzakciók. Így szeretné nyomon követni minden alkalommal, amikor vásárolni vagy eladni a raktáron. Vettem raktáron. Mi csak azt mondta, hogy lenne értelme hogy tartalmazza a Select, hogy a összegű készpénzt, és látogass vissza. Valószínűleg okos majd magában be vagy egy frissítés, attól függően, függetlenül attól, hogy a saját, hogy az állomány. Ha mi is szeretnénk nyomon követni a történelem, hogyan lehet csinálni? Van, hogy megy a készletek asztalra? Közönség: Nem. JASON HIRSCHHORN: Nem, valószínűleg megy egy másik tábla. Mert mondjuk veszel 10 részvényeit az Apple. Majd veszel egy másik 10-részvényeket. Azt akarod vontatni külön nyilvántartást. Ez két külön ügylet. Tehát van egy másik tábla, a történelem táblázatot. Tehát újra, veszünk. Mi végre a Select, majd a az Insert vagy egy frissítés. Mit csináljunk most? Mi a következő kérdés is végre ha veszel valamit? Szeretnénk nyomon követni a történelem. Igen. Közönség: Azt akarod, hogy nyomon követhesse A sikertelen tranzakciók is. JASON HIRSCHHORN: Nos, mielőtt azt mondják, hogy milyen típusú tranzakciók, mit akarunk - Milyen típusú lekérdezés, Carlos, lenne lehetővé teszik számunkra, hogy nyomon követhesse A dolgok általában? Van négy találgatások. Melyik mit gondolsz? Közönség: frissítése. JASON HIRSCHHORN: nem frissíti. Mi a második találgatás? Közönség: kiválasztása. JASON HIRSCHHORN: Ha meg szeretné tartani track valami, érdemes hogy írd le valahova vagy őrizze meg később. Tehát, ha nem frissíti, akkor - Közönség: Helyezze be. JASON HIRSCHHORN: Insert, meg is vagyunk. Igen, így válogatják ki a készpénz van, jól hangzik. Nem volt elég készpénz. Ez a tranzakció nem fog működni. Nem, nem kell nyomon követni a tranzakciót, ha ez nem működik. Vagy, ha azt szeretné, hogy nekik egy nehéz idő. De nem kell. Ezután be vagy frissítési azok Készletek táblázatban. És most, hogy van a másik asztalnál. Megvan a története asztal vagy amit akar nevezni. És abban a táblázatban, mész beszúrni egy új sort. Ez valószínűleg meg is hogy a felhasználó azonosítója. Ez valószínűleg meg is nevét az állomány. Ez valószínűleg meg is egy időben, hogy csinálták. És ebben az esetben, akkor lesz valószínűleg szeretné szúrni az ár. Mert a történelem, akkor nem érdekel, hogy mi az aktuális ár. Ha érdekel, hogy mi az ára, ha ők vásárolt vagy eladott valamit. Szóval, úgy hangzik, mint, hogy végre felvásárlás magában foglalja egy sor teljesen különböző SQL lekérdezések, de őszintén szólva, nem hogy sok kódot összességében. OK. És, hogy gondoskodik a történelem. Mondjuk, azt akarjuk, hogy megjelenítéséhez a történelem. Beszéltünk megjelenítésére a portfólió. Hogyan tudjuk megjeleníteni a történelmet? Közönség: Feltehetően időrendi sorrendben. JASON HIRSCHHORN: Feltehetően időrendben - mit query gondolsz, mi lenne kezelhető? Közönség: A select. JASON HIRSCHHORN: A select - válassza talán az összes sort a táblázatban amelyek megfelelnek a felhasználói azonosítót, majd a megjeleníti őket időrendben, jól hangzik. Vajon kell írni kódot rendezni a listát? Közönség: Nem, mert azt mondtad Nálunk egy növekvő és a csökkenő dolog. JASON HIRSCHHORN: Thing? Közönség: Igen. JASON HIRSCHHORN: Igen. OK, ne kapcsolja kódot számomra, hogy a kézzel rendezi át a lekérdezéseket, rendezni őket. Ez a kód már adott. Írhatsz egy választó lekérdezés hogy rendezi a dolgokat. Rendezés fel korábban, és majd nyomtassa ki őket. Azt teszi, hogy sokkal több értelme csinálni ez így, mint a másik irányba. Igen. Közönség: Szükség van az rendezni őket előre? Ez azt jelenti, hogy a fajta őket az adatbázisban? JASON HIRSCHHORN: a választó lekérdezést visszatér nektek rendezve. Tehát nem, hogy nem csak azokat visszatér hozzád véletlenszerű sorrendben és sort, majd rájuk. Igen. Közönség: Van egy módja, hogy tartsa rendezve az adatbázisban is, úgy, hogy nem kell rendezni minden alkalommal, amikor - Közönség: tudod helyezze rendezett? JASON HIRSCHHORN: Kérdés - számít, hogy a dolgok rendezve az adatbázisban? Közönség: Nem. JASON HIRSCHHORN: Nos, vannak rendezve. Ők időrendi sorrendben. De tegyük fel, hogy a dolgok sorrendje időrendben, fentről lefelé. Van egy Google formában. Ha valaki válaszol a Google formában, csak lesz fel a alján a táblázat. Számít az, hogy a dolgok sorrendje nem időrendi sorrendben? Közönség: Ha nem kronologikus, nem kell rendezni, hogy minden alkalommal vegye információkat ki. De ha már válogatott, nem tudsz nem kell csinálni, hogy a további függvényhívás? JASON HIRSCHHORN: Ennyi valójában egy jó pont. Számunkra a programozók, lehet, hogy számít. És érdemes találni egy adatbázis ez nem rendezni a dolgokat időrendben. Vagy létre az adatbázist, így tartja a dolgok sorrendje felhasználói azonosító. Tehát így, mondjuk, van 1000 felhasználói azonosítókat. Vagy a Facebook, van millió A felhasználói azonosítók. Mi nem akarjuk, hogy a tábla, hogy csak a Véletlen, vagy az adatbázis véletlenszerű. Jó lenne, ha az összes felhasználói azonosítókat volt rendezve. Akkor tudnánk futni bináris keresést az asztalunkra, majd csak megtalálja a adott darab. Szóval igen, attól függően, hogy - ha felnagyított, talán szeretnék találni egy adatbázishoz tartotta a dolgok sorrendje más módon, hogy ezeket a lekérdezéseket kevesebb időt vesz igénybe. És nem kell átmenni a teljes adatbázis minden egyes sorban egy adott asztalra. De a szinten dolgozunk a mi Nem kell aggódnia tartani dolgok rendezve. Feltételezhetjük, hogy a szükséges időt hogy a lekérdezést futtatni lesz elhanyagolható, mivel mi van dolgunk. De igen, jó ötlet - ahogy bővíteni, talán van értelme, hogy tervezzük meg a adatbázis egy kicsit másképp. Még egy utolsó adatbázis tervezés dolog, amit szeretnék megemlíteni is, mert akkor kell osztályozni, vagy szerzett inkább a a design az adatbázisban. Beszéltünk erről. Készpénz egyedi minden felhasználó. Szóval van egy asztal nevű készpénz megvan a felhasználói azonosító és mennyiségű készpénz, majd egy asztal nevű felhasználó, amely a felhasználói ID és felhasználónév. Azok a táblák map-ra minden más egy-egy. Valószínűleg van értelme őket, hogy egy asztalnál. Tehát tegyük fel, hogy van egy felhasználónak tábla, amely nyomon követi a felhasználói neveket és a készpénz. Most már van egy tábla, amely a állomány egyéni tulajdonosa. És az egyén lehet, hogy a saját több állomány. Tehát ezek nem térkép rá egymást egy-egy. Ennek nincs értelme, hogy egy hatalmas tábla 30 rekordot, Minden ismétlés egy felhasználónevet, hogy az összes ismételje meg a jelszót, hogy az összes ismételje meg a több pénz. De minden van, talán egy másik állomány név, vagy egy másik részvényárfolyam. Ennek nincs értelme, hogy hogy sok nagy rekordot. Légy okos, ha létre ezek a adatbázisokat, hogy te nem csinálsz valami buta ilyesmi, ismétlődő egy csomó felesleges információt. OK. Van két perc van hátra. Az emberek kívülről izgatottan csatlakozni nekünk, vagy talán, valószínűleg, kezdeni a saját kategóriájában. Van valakinek kérdése mielőtt befejezem? OK, ez valóban egy forgószél át mindent. Elnézést kérek, hogy volt, hogy ilyen gyorsan és hogy nem lehet olyan gyakorlati ezen a héten én volna szeretett volna. De ha bármilyen kérdése van bármi átmentünk vagy bármi ez a probléma meg - feltételezve elolvasta, és tedd a jóhiszemű erőfeszítést - bátran e-mailt nekem, vagy lépjen kapcsolatba velem. Én több mint boldog, hogy a munka révén meg a kódot, hogy vagy válaszoljon a kérdése van. Ne feledje, hogy ezen a héten, sok az időt fordítanak a tanulás új szintaxis és megpróbálta megérteni hogyan kell írni az SQL lekérdezések vagy PHP funkciók vagy foglalkozik a MVC keretrendszer. Sok időt ezen a héten valószínűleg nem lehet, hogy kitaláljam, a őrült logikája, hogy mi vagyunk amelyben meg kell csinálni. Sok ez már csak átmentünk a viszonylag egyszerű. Tehát ez nem jelenti azt várni amíg az utolsó pillanatban. De ez nem jelenti azt, beállítását, hogy te a munka ennek megfelelően, hogy győződjön meg róla, te megértése és tanulás a szintaxis. Szóval nem, hirtelen, tudván, pontosan mit akar csinálni, de fogalmam sincs, hogyan kell pontosan megírni. OK, találkozunk jövő héten.