JASON Hirschhorn: Welcome aby každý týden osm. Máme vzrušující týden před sebou. Vy jste se potopil v tomto posledním páru přednášek na PHP, SQL, HTML, CSS, tak Čtyři zbrusu nové jazyky, které se chystají aby si zbytek tohoto kurzu. Budeme také naučit pár jiných jazyky před koncem kursu je. Ale i tak, netřeba říkat, je to velmi vzrušující doba, ve CS50, nyní zvládli C, zdánlivě, a jsou pohybující se na programování webových stránek. Takže tento týden, budeme pokračovat vichřice turné přes čtyři jazyky Jen jsem se zmínil, HTML, CSS, PHP a SQL. A doufejme, že budeme ponechat dostatek čas na konci oddílu mluvit o tomto týdnu P sady a odpovědi jakékoli otázky, které jste všichni mají. Každý týden, stejný seznam zdrojů pro vás, aby vám pomohl s tejden problém nastavit a jít nad materiálem - ale tento týden se zejména na tyto web-based problém sady, existují řada dalších zdrojů z tam, že budete pravděpodobně najít neuvěřitelně užitečné. Mám je tady. Já ti to emailem po řezu, a to je také on-line. Ale zejména, existuje spousta z velké zdroje venku. Tam jsou také některé nejsou tak velké ty, tak se na pozoru před těmi. Ale na tomto snímku, mám čtyři dobré zdroje, jeden pro každou z jazyky, které budete pracovní tohoto týdne - jeden referenční list pro HTML, Referenční list pro CSS. Toto právo je zde PHP manuál. Takže místo psaní člověka a pak PHP příkaz, toto je místo, kde byste jděte se podívat do funkce prototyp a příklady a také několik tipů a triky pro použití PHP funkce. Budete používat tuto stránku často, tak jsem se povzbudit, abyste se stali obeznámeni s tím. To může být trochu technický, ale je také poskytuje spoustu zdrojů a příklady pro všechny funkce a i další, jako například jak používat pole nebo různé typy proměnných. Tato stránka je velmi užitečné pro PHP. A pak, pro SQL, pokud se ponořil do tohoto týden problém sada, budete vědět, že jsme pomocí databáze. A máme přístup k této databázi přes poměrně pěkné uživatelské rozhraní. Nebo to je jediný způsob, jak přístup že databáze. Uživatelské rozhraní je s názvem phpMyAdmin. Je tu kartě SQL, které jsme si podívejte se na později dnes. A můžete zadat do svého vzorku SQL dotazy, jak dělat věci v databázi a pak spustit tyto dotazy. A v případě, že jsou v pořádku, je to říci, tohle je správné. Pokud jsou nesprávné, bude to řekněme, že je to nesprávné. To je skvělé místo pro praxi svůj SQL dotazy před jejich zápisem do váš kód, aby se ujistil, mají formát správný. A konečně, jeden další webové stránky tady. Toto je webová stránka, kde můžete jít a zkontrolujte, zda je zařízení HTML kód je platný. Takže před zapnutím vašich problémů nastavit tento týden, ujistěte se, že všechny vaše HTML je platný. Minulý týden jste měli spustit valgrind, aby ujistěte se, že jste neměl paměťové úniky. Tento týden, musíte zajistit, aby všechny z kódu je platný HTML5. Pokud to není platný HTML5, že jste dostane body pryč. Takže se ujistěte, - jen proto, že to funguje není znamená, že je zcela platný. Spuštění kódu prostřednictvím této webové stránky než ji dovnitř Opět platí, že tady je web. Pokud máte nějaké připomínky pro mě, máme pár více sekcí vlevo, a vždy chci dělat to, co mohu, aby poskytnout vám všechny nejlepší části zkušenosti je to možné. Takže, dejte mi vědět, jestli existuje něco, co bych můžete udělat pro zlepšení, nebo v případě, že jsou věci, které vidíte, že jsem mohl udělat lépe. Děkuji, Avi. Dejte ji na internetových stránkách. To bylo kolo jsem měl, když jsem byla, řekněme, čtyři doma. Je to Teenage Mutant Ninja Turtle cyklistika, v případě, že nemůžete říci, protože je to trochu rozmazaný. Můžete si jej hned na ToysRUs na, myslím, asi 100 dolarů. Ale rysem tohoto kola, které chci si dávat pozor, aby se tyto tady. Jedná se o školení kola. Až do teď, jste byli kapesní přes C A udělali jsme dlouho doba dva měsíce plus, projít C. Pro tyto další pár jazyků, nebudeme se trávit tolik času. Vzdělávací kola spadnutí. A budeme se ponořit do těchto jazyky rychle a pohybovat ně rychle, což ovšem neznamená, že my jen tak nechat plavat tam se žádný způsob, jak podpořit sami, nebo přijít na to, jak tyto jazyky práce. Jen jsem ti ukázal seznam zdroje, které vám pomohou. Ale mějte na paměti, že PHP je neuvěřitelně podobný C. Půjdeme přes se dnes a některé rozdíly. Avšak ve většině případů, tam jsou smyčky. Existuje-li podmínky. Chcete-li vyřešit problém, budete používat kombinace z nich. Je to velmi podobné. Logika by měla být velmi podobná co jste udělali v minulosti. Co je opravdu nového tento týden syntaxe a jak vyjádřit sám sebe. A chcete-li psát pro smyčce, ale může vypadat trochu jinak. Nebo si chcete vytvořit pole, ale může vypadat trochu jinak. Takže mějte na paměti, že v pohybu vpřed, logika je velmi podobné tomu, co jste udělali v minulosti. Ale ty teď bude setkávat mnoho nových syntaxe. A my se nebudeme vás projít všechny prvky syntaxe. Takže je to opravdu jen na vás, abyste zjistili, on-line nebo prostřednictvím natáhl na Diskutujte nebo e-mailem mě, nebo mluvit jeden druhého, jak psát věci PHP a jak psát SQL dotazy a jak používat HTML a CSS. Ale jen tak víte, že to není tak snažíme se vás vyhodit tam znovu plavat se žraloky. To je to, co budete pravděpodobně dělat s váš konečný projekt, pokud se rozhodnete jiný jazyk, stejně jako IOS a Objective C, nebo pokud se rozhodnete začít programování v budoucnosti a ponořit do jiných jazyků, jako je Python nebo Ruby. Často, logika je velmi podobný napříč všemi z těchto jazyků, a Syntaxe je to, co je odlišné. A to bude jen na vás, jak programátor, jít používat web zdroje, které máte k dispozici a na obrázku na to, jak vyjádřit to, co víte, jak vyjádřit v C, ve jiný jazyk. Tak to je dobrá praxe, a to jak pro své Závěrečný projekt, a znovu, pro to, co budete pravděpodobně dělat poté, co opustí CS50. Než budeme pokračovat, nemá někdo máte nějaké otázky o tom, co Jsem udělal tak daleko? Skvělé. Pojďme dál. Za prvé, budeme stručně hovořit o příkazu chmod. To uděláme na začátku vašich problémů nastavit. Jeden z prvních pokynů pro vás, po stažení distribuce kód, je změnit Oprávnění souborů a adresáře, které obdržíte. Může někdo spekulovat nebo vědět proč je důležité změnit oprávnění některých souborů a adresáře na vašem počítači? Avi - DIVÁKŮ: Pak nikdo, s výjimkou můžete vidět, co děláte? JASON Hirschhorn: OK. Takže pokud budeme chtít dát něco na web a máte oprávnění nastavit, aby jen vy můžete vidět něco, pak nikdo nemůže viz to, co jste vytvořili. Co ještě? Jo. DIVÁKŮ: Zabránit někdo jiný, že jste Nechci vidět něco, z vidí něco. JASON Hirschhorn: To je taky pravda. Tam je asi nějaký kód, který píšete, že nemáte Chci, aby lidé viděli. Vy jste pravděpodobně v pořádku s lidmi, kteří vidí vaše HTML a váš JavaScript. Ale vaše PHP, back-end kód, hodně logiku kódu, možná věci, které uchovávají některé z vašich hesel pro databázi, nemusíte Chci, aby lidé viděli, že typ informací. Takže je důležité, aby každý soubor a Adresář vytváříme má oprávnění použitelné k zda nebo ne chceme lidé vidět ty typy souborů a adresáře a musí být schopen se k nim a případně je i měnit. Takže existují tři typy oprávnění. K dispozici je oprávnění pro čtení, což znamená, že si můžete přečíst soubor nebo seznam na Obsah adresáře. K dispozici je povolení zápisu, který znamená, že můžete změnit soubor nebo změnu adresáře a pak spustit povolení, což znamená, že můžete spustit soubor nebo spíše vás můžete přesunout do adresáře. Takže CD něco, pokud máte oprávnění jej vykonat, můžete přesunout do tohoto adresáře. Jedná se o krátký příklad. Opět platí, že jste šel na to v problému nastavení. Ale já jsem vytvořit adresář pomocí příkazu mkdir. I změnit oprávnění. Tyto dva řádky vlastně dělat přesně to samé. Je to pro ilustraci, že syntaxe změně oprávnění, ať už děláte + x nebo 711, ty jsou stejné. Podíváme se na této pěkné tabulky. Vidíme, že existuje uživatel oprávnění jako první. To jsi ty, individuální a server, potenciálně. A pak je tu skupina a další. Rozdíly mezi ty, dva ar poměrně triviální. Takže obecně, budeme házet jsou spolu. Ale v podstatě, pokud máme soubor tzv. zahrnuje, že chceme být moci upravovat sami, a že chceme jiní, aby mohli provést, je povolení 711. A vidíme, že se zde v této tabulce. Máme pro čtení, zápis a provádění. Pro každého z nás, chceme být schopni to udělat ty. Group a další, jen chceme aby byli schopni provést. Způsob, jak překládat, že do několika povolení je přes binární. Takže pokud máme tři ty, to je 1 ve sloupci ones, 1 ve dvojicích sloupec, 1 je čtyřky sloupec. Je to 7. tady. A toto oprávnění je 1. Toto oprávnění je 1. A 711, je-li stejný tak, že sami číst, psát a spouštět, a všichni ostatní vykonat oprávnění. Tato linka tady, jsme se obecně bude se číst a psát, když jsme vytvořit adresář. Takže tento řádek tady jen přidává spustit oprávnění pro každého. Tak, že by podobný, v Kromě toho, co máme, přidáním 1, 1, 1 pro každého. Že to, že je to zbytečné přidat číst a psát. Ale pokud budete používat čísla, můžete nejen něco přidat. Můžete přepsat cokoliv povolení byly tam a implementovat je s novou číslo dáte. To bylo docela rychle. Má někdo nějaké otázky, o změně oprávnění? OK. Mám-li soubor, PHP, jaké oprávnění chci to mít? To je ten problém nastavené spec. Takže se můžete podívat na spec a pak mi četl odpověď. DIVÁKŮ: Chcete uživateli mít oprávnění pro čtení a zápis. A chcete každý jiný mít nic. JASON Hirschhorn: A co čísla je, že? DIVÁKŮ: 600. JASON Hirschhorn: 600. Takže chmod 600 - kdykoli vytisknout soubor PHP, chmod to 600. OK. Mám adresář. Někdo vedle Jeffa, Mám složku souborů. Jaká oprávnění chci aby do této složky - také v problému nastavení spec, hned pod tímto odpovědi nebo předchozí odpověď? Také potenciálně na snímku - Marcus. DIVÁKŮ: Pro složka, je to 711. JASON Hirschhorn: 711 - tak složku, kterou chcete dát 711. Chcete-li být schopni číst tuto složku, změnit adresáře, přesunout do že složka. A chcete všichni ostatní, aby mohli pro navigaci v rámci této složky, ale nemusí nutně měnit jeho obsah. Co o souboru non-PHP, říci, soubor JavaScript? Jaká oprávnění chceme aby tento typ souboru? DIVÁKŮ: 644. JASON Hirschhorn: 644 - Proto chceme dát 644? DIVÁKŮ: Pokud chcete, aby ostatní lidé číst. A budete číst nebo psát. JASON Hirschhorn: Tak jo, všichni jiný nemůže číst tento soubor JavaScript. A můžete změnit, kromě že jsou schopni si ji přečíst. Takže jeden z nejčastějších bugs lidí se s tímto problémem nastavit a jejich Konečný projekt, pokud je to webová finále Projekt se, že nebudou mít nastavena správná oprávnění. A nebudou moci vidět své webové stránky. Nebo určitou část svých internetových stránkách. Takže ujistěte se, že jste nastavili oprávnění správně. Nepoužívejte jen předpokládat, že to bude to automaticky za vás. OK. To byla maličkost, že jsme strávili dobré množství času, takže bychom to mohli hřebík. Pojďme se přesunout na HTML. A opět, pro tyto další čtyři témata, jsme jít přes ně poměrně rychle. Tak neváhejte mě zastavit v kterékoli čas, pokud máte nějaké dotazy, ať už souvisí s tím, co jsem pokrýt nebo něco z přednášky nebo i od problému nastavení. Přestaň mě, kdykoliv budete potřebovat. Když se dostanete na konec, budeme jen začít chodit na problémové sady. Takže HTML je zkratka pro Hypertext Markup Language. Nejedná se o programovací jazyk. Vše, co to udělá, je struktura váš obsah a také některé metadata. Tak například, že mnoho jste již dříve použit Facebook. A ty mohou obsahovat odkazy na, nebo Můžete dát odkaz jako stav. A pak zjistíte, že odkaz Vždy má pěkný obrázek ní a nějakým textem. Obecně platí, že je nějaký metadata pro webové stránky. A je to Facebook specifická metadata. A pak, když Facebook je čtení, které stránky a vložení na tento odkaz, je hledá pro konkrétní metadata, takže je ví, co obraz zobrazuje, co Název se zobrazí, a to, co abstraktní text zobrazit. Takže můžeme zahrnout metadata se Naše webové stránky pomocí HTML. A to nám také pomáhá strukturu obsah, obecně, co Chceme jít tam, kam. Všechno, co v HTML je element. A prvky přímo zde - Tento CS50, text je element. A to má nějaké tagy. Má tento tag. A jsme si všimli, že je na začátek a pak lomítko, tak zavírání tag na konci. Někdy tam není otevřená tag a zavřít tag. Je tu jen jedna věc. Uvidíme příklad, který na další snímek. Takže nemusíte otevřený a zavřít tag. Ale pro to, jsme zpevňující to CS50 prvek ve značce a kotvy. A v podstatě, tyto značky řekněte prohlížeč, co dělat s konkrétní prvek. Takže znovu, CS50 je text budeme vidět. A to se bude typ kotvy. Anchor je v podstatě používá odkazy na něco. Zejména, jak můžete již říct, je to odkazují na CS50 stránku. Další část značky - nebo obecně, část tagy jsou atributy. A my jsme tady vidět, že tag má jeden atribut, tento atribut href. A oni modifikují konkrétní značku. Ve skutečnosti, pokud půjdete do jedné z webové stránky nebo odkazy co jsem ti dal před nebo vyhledat tag on-line, všimnete si, že jsou tuny potenciální atributy. To je pravděpodobně jedním z nejčastějších. To mi říká, vytvořit odkazují na konkrétní webové stránky. A atributy jsou obecně uvedeny, ne-li výhradně, stejně, v dvojic klíč-hodnota. Tak tady je klíč, href. A hodnota je to tady. A to se bude hodit později, když začneme používat některé knihovny Pomozte nám kód v JavaScriptu nebo psát obsah HTML. Jsme často bude - stejně jako my by to pole držák 0 a že by nám dát nějaké hodnoty. V budoucnu budeme dělat hodně věci, jako něco, co držáku href. A že budeme mít hodnotu href, nebo chceme-li aktualizovat href klíč a pak dát konkrétní hodnota. Takže stejně jako s poli, kde jsme měli Klíčovým 0 nebo tlačítko 1 nebo tlačítko 2, nebo dokonce s hash tabulky, dobře, se svými hashovací tabulky stejně, pravděpodobně jste měli - to bylo pole, takže klíč 0, tlačítko 1, klávesa 2. Tam, že index, můžeme myslíte, že jako klíč. A hodnota je cokoliv byla tam uložena. Všechny z těchto atributů jsou dvojice klíč-hodnota. A to je důležité pro změnu jim nebo jejich aktualizaci nebo vložením později. Nakonec, když jste viděli tuto strukturu předtím, ale to je nejzákladnější Struktura HTML stránky. Na vrcholu jsme vám říct, že To je ve skutečnosti HTML. A pak tu máme otevřenou HTML tag a blízký HTML tag. Takže všechno uvnitř to je HTML. Vidíme hlavu a tělo. Hlava dokumentu obecně zahrnuje, co? Jakékoli odhady pro to, co dát do hlavy? DIVÁKŮ: Dáte název a styl. JASON Hirschhorn: názvu. To byl skvělý odhad. Možná jsem se naklonil tě na. Jaké jsou některé další věci? Zmínili jsme se jednoho z nich, který může jít v čele. DIVÁKŮ: Řekl, styly. JASON Hirschhorn: Styly - takže pokud chcete propojit v JavaScriptu nebo dokonce CSS, které mluvíte o tom, kdy mluvíte o stylech. Další soubor, který chcete propojit na mimo soubor, který se pravděpodobně bude v hlavě. Co ještě? Zmínili jsme několik snímků před jednou z věcí, které HTML může udělat pro vás. To může poskytnout - začíná s M - DIVÁKŮ: Metadata. JASON Hirschhorn: Metadata - tak hodně metadat půjde do hlavy, , protože to není nezbytně nutné, být součástí těla vašeho kódu. To je obecně - tělo je obsah, to, co někdo vidí. A tak jsem dal pryč odpověď k mé další otázce. Ale v těle, je obsah obecně že to bude zobrazen na webové stránce. Jak uvidíme, složité webové stránky mají tendenci se prolínat nebo změnit to, co dali do hlavy a těla. Ale obecně platí, že hlava obsahuje věci že uživatel nebude vidět na obrazovce. Spojuje v jiných souborech a poskytuje metadata. Vzhledem k tomu, tělo obsahuje vše, co uživatel uvidí. Máte ponětí, co to p tag znamená? DIVÁKŮ: Odstavec? DIVÁKŮ: Tisk. DIVÁKŮ: To neznamená, že tisk. DIVÁKŮ: Znamená to, odstavec? JASON Hirschhorn: Odstavec - tak to je bod. A to p tag, mohl jsem jen napsal to na obrazovce a poté včetně zalomení řádku na konci to. Ví někdo, jak se patří zalomení řádku? DIVÁKŮ: pr - JASON Hirschhorn: pr - DIVÁKŮ: Slash pr? JASON Hirschhorn: pr slash je zkratka pro zalomení řádku. Ale odstavce mají specifické formátování. A dostaneme se k formátování druhý, když mluvíme o CSS. Ale všechno, co v těchto p tagy bude mít nějaký výchozí formátování s ní spojené, pravděpodobně některé rozteč mezi různé odstavce. A bude to jediný způsob, jak odlišit bloky kódu. Všechny ostatní značky - Jaké jsou další značky, které jste viděli? JASON Hirschhorn: h1 až h6. h1 až h6, a co je to? DIVÁKŮ: To bude znamenat, jak velký a tučně jsou písmena. JASON Hirschhorn: Právo, je zkratka pro záhlaví. A tak header1 je velká hlavička. Bude to asi tím, že ve výchozím nastavení, bude tučný, velké písmo, patrně se soustředil na obrazovky, celou cestu až do h6, které je menší velikost písma, méně zdůraznil. Samozřejmě, že je to možné, v tobě to CSS soubor nebo někde v kódu - což, znovu, dostaneme se k tomu za sekundu - změnit to, co je výchozí chování ze tag h1 je. Ale mějte na paměti, že Chrome, Safari, Firefox, Internet Explorer mají výchozí hledá hodně Tyto standardní tagy. Můžete znovu, vždy změnit jak vypadají. Všechny ostatní značky, které každý viděl? Jo - DIVÁKŮ: div stránky. JASON Hirschhorn: div tag - tag div nemá žádný předdefinovaný formát, na se, že se používá k blokování off různé typy kódu. Jakékoliv jiné značky? Ano. DIVÁKŮ: Li - JASON Hirschhorn: Li - co je li pro? DIVÁKŮ: List. DIVÁKŮ: Seznam JASON Hirschhorn: li je pro prvky seznamu. K dispozici jsou dva typy seznamů. Jaké jsou dva typy? DIVÁKŮ: Objednané a neuspořádané. JASON Hirschhorn: Objednané a neuspořádané - takže ul. stojany pro neuspořádané seznamu. To je, pokud chcete kulku bod, seznam kulek. Objednat seznam číslovaný seznam. A tak budete dělat ul. značku otevřený a pak tun seznam prvků a pak zavřít tag ul. a že bude vytvoření seznamu. Jedeme se podívat na nějaké příklady HTML v trochu. Ale do té doby, chci se dostat do CSS. A CSS je zkratka pro kaskádové Stylů. A to je velmi úzce souvisí HTML, ale mírně odlišné. To vám pomůže formátování veškerý obsah že HTML konstrukce. Takže v CSS, obvykle nechceme styl každý záhlaví nebo každý jeden obrázek, nebo každý jeden bod. Chceme styl některé prvky nebo možná specifický prvek. A způsob, jakým styl specifický prvkem je, aby to ID. Tak tohle je atribut. To má klíč a hodnotu. ID je klíčem. Logo je hodnota. Vybral jsem si logo náhodně. A pokud dáte něco identifikátor, Obecně platí, že by měla být pouze do jednoho prvku. A pak, v souboru stylů, můžete styl, který konkrétní prvek, ale chcete, aby to vypadalo. Chcete-li styl řadu prvky, možná je to určitá třída záhlaví, pouze některé ze svých hlaviček. Možná je to záhlaví a obrazu a odstavec všichni chtějí být ve středu. Pak si můžete dát těmto skupinám prvků všechny třídy. A vy můžete dát třídě specifické styly. Takže ID a třídy jsou dva způsoby, jak rozbít svůj kód, takže můžete pomoci stát konkrétnější v tom, co styl. Existují tři způsoby, jak styl. První z nich je, že se Tento atribut style. Takže vidíte, styl klíč styl. Hodnota styl je vlastně další list hodnota klíče. V tomto případě jsem si vybral jeden klíč, text-align. A já jsem řekl, centrum. Můžete se ptát sami sebe na tuto bod, jak jsem věděl, o zarovnání textu. Co to vůbec dělat? To je velká otázka se zeptat, a budeme se tam dostat ve vteřině. Takže to je jeden způsob, jak styl něco, dej mu atribut style. Dalším způsobem, jak styl je něco, co - To je Akshar již bylo zmíněno. Můžete použít tagy stylu a dal, že v čele svého dokumentu HTML. Takže jste v podstatě řekl, Obsah vnitřní zde je nějaký obsah styl. A formát pro které je věc, kterou Chcete styl a pak, uvnitř složené závorky, hodnota dvojice klíč atributy, které chcete dát že určitý typ prvku. A konečně, a to je Nejčastějším způsobem. A to je způsob, jak to v sadě s. 7. Je to externí stylů. Takže máte soubor. Css. A uvnitř ní, uvidíte spoustu věci, které vypadají jako to, název nějakého typu prvku nebo ID nebo třídy a pak, uvnitř kudrnaté šle, seznam klíčových párů hodnot. Samozřejmě, pokud vytvoříte externí soubor, budete je třeba ji zahrnout - ostré jsou, že by být analogie C - v souboru HTML. Takže budete muset zahrnout tento Kód v souboru HTML. Toto je název souboru a za předpokladu, že je ve stejném adresáři. OK. To bylo hodně. A my teď bude dýchat a dívat se na nějaké skutečné, živé webové stránky a prozkoumat to více. Ale dříve, než to uděláme, nemá někdo nějaké dotazy? Takže pokud chcete, aby to spolu s me, můžeme jít do spotřebiče. A já jsem si vybral domovskou stránku CS50. Můžete to udělat s jakoukoli webovou stránku. Ale proč nezačít s CS50 stránka? Pojďme obnovit. Skutečně vřele doporučuji děláš to se mnou, protože to, co jsme budou dělat teď bude neuvěřitelně užitečné pro vás, a to nejen v P-Set 7, ale v P-Set 8 a rovněž. Jo. DIVÁKŮ: Existuje způsob, jak to udělat komentáře ve formátu HTML, bez použití PHP? JASON Hirschhorn: Ano, můžete vznést připomínky ve formátu HTML. DIVÁKŮ: Co je syntaxe? DIVÁKŮ: Vykřičník pomlčka pomlčka. DIVÁKŮ: OK. JASON Hirschhorn: Ano. To je syntaxe. Můžete vznést připomínky ve formátu HTML. Můžete podávat připomínky v PHP. Jak uvidíte, komentář v HTML bude ještě objeví, když se podíváme na HTML zdrojový kód konkrétního místa. Tak to cs50.net. Pokud kliknete pravým tlačítkem myši na nejmodernější prohlížeče na většině libovolné stránce, můžete zobrazit zdrojová stránka. Takže pojďme udělat, že na CS50. A hle, jsme viz obří věc. CS50 vlastně vypadá docela hezky. Mnoho webových stránek nebude podívejte se toto pěkné. Pokud půjdete na Google homepage a otevřete ji. To nebude vypadat tak hezky. Ale zjistíte, že na vrcholu - to je docela malý. Udělejme to větší. OK. V horní, DOCTYPE HTML, to je známé. Pak vidíme otevřenou HTML tag a hlava, tady, všichni z těchto meta tagy. A vidíte tuto OG, ne jít do toho hned. Ale jsem si téměř jistá, že na ty by Facebook. To je vlastně Facebook. Myslím, že to je zkratka pro otevřený graf. Takže pamatujte, že jsem se zmínit, že je Faceboook specifická metadata můžete dát na stránku. To je to, co je tady. Takže, když odkaz na tuto stránku na Facebooku, obraz to bude ukázat Je to obrázek právě zde. A je skutečně vidět, že je to Facebook, protože je to obrázek Facebook. Ale tak jako tak, jsme stále stranou. Takže máme několik značek metadat zde. Vidíme titul CS50. A opět, titul je, co se děje tady v záložce prohlížeče. Vidíme to je propojení v, tady, externí soubor JavaScript. Nemluvili jsme o JavaScriptu moc, ale příští týden - a samozřejmě, pokud děláte webový problém sadu, budete používat JavaScript. To je, jak se spojit v externí JavaScript soubory. Jsme tady vidět, konečně, CSS stylů, které dokumentuje tato styly tohoto kódu. Pojďme skutečně otevřít, že a podívejte se opravdu rychle. Vypadá to šílené. Neexistuje žádný způsob, jak by se schopen přečíst. Takže můžete ve skutečnosti však, pokud budete mít vzhled, můžete trochu vidět, že jsou - tam jdeme. To vypadá jako něco, co jsme viděli před, barva pozadí, nastavením rovna nějaké červeno-zelená-modrá hodnoty. Tohle nějak by se nezdá, že cizí, i když, pokud jsou předkládány jako je tato, může to být trošku složitější. Nebudeme se dívat na tomto souboru CSS nebo tráví hodně času na to, protože to je, opět, dost těžko číst. Vraťme se k tomu HTML stránka pro CS50. A pojďme přejděte k tělu. A uvnitř vidíme, tento tag div. Vidíme záhlaví tady. Vidíme značku kotvy. A tento prvek seznamu je vzhledem k specifické třídy. A vidíme, že třída opakované znovu a znovu. Tady jste Curtis. Tam je komentář v HTML5. A jak jste si všimli, můžeme ještě vidět to, ale není to ukazovat. Je to opravdu velmi zajímavé. Vypadá to, že v tomto seznamu skóre element je mimo komentář. Pokud půjdeme na této stránce, znovu, stále Zobrazí se tam, tak zajímavé. Oh, to je důvod, proč, protože tohoto dalšího řádku. Co ještě můžeme vidět ze zájmu? Zbytek je více matoucí, v zabývající se touto pravé polovině webové stránky, což je málo trochu složitější. Takže to je to, co někteří HTML bude vypadat. Pro mě i když je to trochu ohromující, a to není pomoz mi, že hodně. Nicméně, tam je něco, co se, ve skutečnosti, pomozte mi hodně. A to je to, co mám použít, když jsem si se snaží přijít na to, jak něco vypadá tak, jak to dělá, nebo jak může Provedl jsem změny v mém webu. A to je vývojářský nástroj , která je postavena na Chrome. Takže pokud jdete na těchto třech barů právo tady a jít dolů k nástrojům klikněte na Nástroje pro vývojáře, bude trochu okno pop-up v dolní části stránky. A zejména, Chrome, protože je nádherný, bude formátovat toto okno a se HTML a aby to vypadalo, mnohem lepší pro vás. Takže teď je to vlastně nějaký skládací HTML, které si můžete prohlédnout na inspekci prvky na stránce. Pokud se chcete podívat na tělo, to vlastně upozorňuje. Při posouvání po část HTML, v tomto okně, bude zdůraznit roli to mluví o ve velkém okně. Takže dovolte mi, abych ještě jednou zkusit a vyhodit to až trochu. OK. Takže pojďme otevřít tělo. A já rolování během tohoto levé div. A zjistíte, že je to zvýraznění Tento levé polovině obrazovky. Takže pojďme klikněte na to a rozšířit to. Uvnitř ní, vypadá to, že jsou tam dva divs. Tam je to první div. Nevidím, že zvýrazněny. Já nevím, ale vypadá to, že tento Druhá, levá vnitřní, je obsah na levé straně obrazovky. Pak je tu ta věc s názvem záhlaví. Vypadá to, že je zvýraznění CS50 část. Pokud jsme se otevřít, že až, vidíme, že je to nic víc, než 1 záhlaví. Je dána ID, a to vzhledem k textu CS50. Takže znovu, při pohledu na ni přes tento konzole nebo pomocí nástroje pro vývojáře tabule v dolní části obrazovky značek zkoumání této webové stránky, doufejme, mnohem méně zastrašující a mnohem přístupnější. To také umožňuje nám pochopit, že Tato webová stránka, i když to vypadá velmi hezká a milá, není tak moc více než to, co budete mít dělá na Problem Set 7. A to je zcela v rámci Vaše schopnost vytvořit. Pokud chceme, aby - Další super věc, o použití těchto nástroje je, pokud kliknete pravým tlačítkem na názvu, můžete upravit kód HTML. Takže říkejme ji Jason. A teď si všimnete, jsem se změnil HTML na této stránce. Samozřejmě, že jsem se nezměnil trvale. Mám-li aktualizovat svůj prohlížeč, pak by vrátit se k původnímu HTML. Ale někdy chci ladit můj kód, a já nechci vypadat jen můj okna gedit a pokusit se pochopit, co se děje. Chci vidět, co se stane živou. Tak jsem si upravit kód, jako je toto, a získat je to tak, jak chci, aby to vypadalo. A pak budu dělat změny v mém kódu. A zjistil jsem, že je to mnohem jednodušší, když si můžete dělat věci, okamžitě, takhle. Řekni, znovu, chceme, aby další šanci, protože jsme zkoumání s HTML a CSS teď. Mohu upravit kód HTML právě teď. A já jdu uvést odkaz. Takže budu měnit CS50 domov strana, tak to bude odkazovat na - řekněme - domovskou stránku. Jak se jmenuje, jestli někdo vzpomíná, nebo Co je atribut chci dát na kartě kotvy, když chci to spojit někde jinde? DIVÁKŮ: href? JASON Hirschhorn: href - Takže teď, uvidíte, že tam je podtržení pod Jasona. To je proto, že Chrome, ve výchozím nastavení, dává kotvy podtržení. Pravděpodobně jste již viděli, že před když jste šli do webové stránky. Věci, které jsou odkazy jsou podtržené a modré. Výchozí styl pro odkaz je obecně zdůraznit a vložte jej do modré. Pokud se mi nelíbí, že Mohu změnit. A my jej změnit ve vteřině. Ale teď, také všimnout, že, když jsem vznášet nad tím, v levém dolním rohu obrazovce, přímo nad slovními prvky je odkaz, který jsem dal. Takže když jsem to udělal, klikněte na tento - a můžeme klikněte pravým tlačítkem myši na tento, otevřete novou kartu. To není ve skutečnosti jako domovskou stránku. Je to jen mé jméno. Tady to je. Nyní jsme proměnit odkaz. Pojďme prozkoumat některé CSS stejně. Krásná věc - a já jdu na aby to trochu menší - o tato konzola je, že blázen CSS list jsme viděli předtím, to bylo opravdu obtížné analyzovat, je nyní krásně stanoveny pro nás na levé straně z tohoto panelu. Takže se můžeme podívat. A když jsme se rozšířit tuto kartu styly, jsme Můžete vidět všechny různé styly které jsou spojeny s, v tomto případě, tento konkrétní prvek, v tomto link element. Pokud budeme dělat na kartu složené styly, které jen nám ukazuje, ne tam, kde všechno pochází, ale v podstatě všechny z nich styly, které jsou činné na tento konkrétní prvek právě teď. A řekněme, že chceme Pokud ji chcete změnit trochu. Tak to je všechny styly, které jsou pracující na tomto prvku. Řekněme, že chceme-li ji změnit, protože jsme chcete vidět, jak něco vypadá. A my jen hrát asi právě teď. Nebo si chcete vyzkoušet něco, před psaní do kódu a stisknutím to a dělat to žít. Můžeme jít na záložku styly. A v prvním poli je říká, element.style. A tady, můžete vložit, můžete přidat něco. Tak jsem chtěl - pojďme do mého odkazu a nastavit barvu pozadí. A to vlastně autofills to pro vás, všechny možné vlastnosti. Barva pozadí, a já chci aby se ta modrá. Blus není slovo. Modrá je slovo. Už vidím, že přijít? Oh, je to proto, že je v href? OK. Takže nevidím tady žádné změny. A to proto, že, pokud bychom zdůraznit, odkaz, zjistíte, že odkaz není ve skutečnosti řízení Vlastnosti tohoto konkrétního prvku. Je to vlastně, když jsme otevřít odkaz, toto záhlaví tady to je řízení, jak to vypadá. Takže pokud chci, aby se na pozadí modrá, jsem skutečně změnit barvy na pozadí header element. A nyní vidíme, že pozadí je modrá. Takže znovu, tak rychle by mohlo jít prostřednictvím tohoto materiálu velmi rychle. Ale to je v podstatě to, co budete dělat. Není to o problému Sada 7, ale jistě, když jste kódování na webu. OK. Chci, aby na pozadí modré. I když v tomto případě, modrá vypadá dost ošklivě. Můžu jít sem, hrát si. Vidím, že jej změnit na modrou nefunguje na a.. Mám skutečně změnit záhlaví prvkem, který zahrnuje modrý pozadí. A pak, jestli pak jdu zpátky do CSS soubor, jak to vlastně nastavit tento pozadí je modrý a tuto změnu hůl? Vzhledem k tomu, pokud si všimneme, když jsem aktualizovat stránky, všechny změny, které jsem provedl, jsou pryč. Tak jsem si uvědomil, OK, můj pozadí je modrá. Musím jít do té header1 prvku a změnit barvu pozadí na modrou. Jak mám vlastně dělat tuto změnu? No, vzpomínám, že když půjdeme dovnitř odsud, to záhlaví, Název má ID. A to je titul. A tak se v našem souboru CSS, můžeme říci, OK, vzít něco s ID vlastnictví a dát tuto dodatečnou vlastnost. Jak můžeme odkazovat na něco, co se ID titulu, jakékoli nápady, nebo kohokoliv vědět, jak se odkazovat na ID v našem souboru CSS? Hash, to je přesně to pravé. A máš náznak, že právě zde. Takže někde v tomto souboru CSS, je tu tento řádek kódu - # # Doleva levou vnitřní titul # header #. A to dávat to okraj dna, definování okraje spodní části této konkrétní prvek. No, pokud jsem chtěl změnit, Chtěl bych jít do tohoto souboru CSS. A mohl bych buď najít to část souboru CSS. Nebo bych mohl napsat sám. Mohl bych udělat hash názvu složená závorka a pak se barva pozadí tlustého střeva modrá středník a blízko, že složená závorka. A to by se změnit pozadí Barva tohoto prvku na modrou. Důvod, proč vám tolik je zde to, že je nutné v tomto případě, protože titul je unikátní ID. Ale co můžete udělat, je hnízdo věci. Tak to říká, OK, přejděte doleva. To je velmi malý. Omlouvám se za to. Ale jít na věc s ID vlevo. Uvnitř toho, podívejte se na věc s ID odešel vnitřní. Uvnitř tohoto pohledu, podívejte se věc s ID záhlaví. Uvnitř toho, podívejte se na věc ID titul a změnit název ID. Takže je to jen způsob, jak hnízdních věcí. Někteří lidé, jako je hnízdo, protože to dělá to trochu jasnější. Uvidíte tady také právo zde, není hash. Je to jen h1. To je proto, že h1 je uveden jméno generické značky. A tam jsou některé vlastnosti CSS spojené s každou h1. Takže když jsem našel další h1 na této stránce, Chtěl bych také vidět, že tento styl byl aplikován na to, jak dobře. Pokud bych chtěl použít styl třídy, Jak mohu odkazovat na třídu nebo mluvit o třídy v souboru CSS? DIVÁKŮ: Dot. JASON Hirschhorn: Je to s tečkou. Takže pojďme zpět na tuto stránku před. Kdybych to hash ID. To mění styl na věci s ID. Nebo Omlouvám se, jestli jsem to hash logo, které je najít tu věc s ID loga a dávat to zvláštní CSS styl. Pokud jsem něco udělat. Nahoře, to je hledání vše s třídou horní a mění své styly. Kdybych to prostě h1, že najde každý jednotlivé h1 a dává to, co styl chci dát. Pokud se mi h1 prostor a tam. Vrchol. To půjde najít všechny H1S a pak všechny ty, s třídou horní a pak změnit pouze ty styly, které co chci dát. A opět, můžeme zapsat někteří to sami. Ale neměli bychom se dostali tak daleko. Mnohem lepší, zdá se, že skutečně jít na skutečné živé webové stránky a uvidíte, jak dělají to, a podívat se na všechny fantastické věci, dostanete k tomu. Pojďme se podívat na jeden další webové stránky předtím, než jsme dál. A to je ten, který budete pravděpodobně seznámit se s. To je CS50 Finance. Takže znovu, můžete skutečně jít a sledovat tento soubor CSS na vašem počítač, protože jste si stáhli tento CSS soubor, pokud jste si stáhli problém nastavit. Můžeme jít do Nástroje a Nástroje pro vývojáře. A vidíme mnohem jednodušší rozvržení HTML. Máme horní, střední a dolní. A opět, něco, co by mělo být obeznámeni s, protože jste se podíval prostřednictvím distribuční kód Pro nastavení tohoto týdne problém. V horní části je, na kód, jeden snímek s názvem. A to je zdroj obrazu. Řekněme, že jsem dokončil všechno, co Chtěl jsem, aby na problému Sada 7. A to funguje správně, ale Chci se změnit, jak to vypadá. A já chci změnit pozadí z horní části stránky na, například modrá. Pokud by to byla já, tak bych přijít zde a zjistit, OK, co chci změnit. Podívejme se, div id vrchol, který vypadá stejně jako v horní části stránky. Takže pojďme tam. Zkusme mění barva pozadí. Pojďme udělat Alice modré, protože že je hezčí jeden. A všimněte si, že - si asi nelze vidět. Ale tam je světle modrá, vedle CS50 logem. Pojďme to změnit, místo na červenou. A všimněte si, teď jsem změnil barvu pozadí na červenou. Takže teď bych jít do svého CSS souboru a typ # top složené závorce tady. Můžete vidět kód právo zde, složená závorka. A pak bych chtěl doplnit, pozadí zbarvenã, červenými. A pak by tam být složená závorka. Tak to je, jak bych prozkoumat a experimentovat s formátováním na CS50 Finance místo. Mohl bych to udělat tady a zkoušky že se na mém prohlížeči. A pak, mohl bych jít do svého aktuálního kódu a provést změny, které budou skutečně jít žít, a že lidé skutečně vidět, kdyby přišel můj konkrétní místo. OK. To bylo hodně. Omlouvám se za procházel to tak rychle. Má někdo nějaké otázky, vůbec o HTML nebo CSS? DIVÁKŮ: Můžete prostě jít nad tím, jak si souvisí to, co se stalo Jason znovu? JASON Hirschhorn: Co myslíš tím spojené? DIVÁKŮ: pokud jste odkaz na jiný webové stránky, pomocí kotvy. JASON Hirschhorn: Takže se ptáš, jen obecně, jak si udělat odkaz? DIVÁKŮ: Jo. JASON Hirschhorn: OK. Kód pro výrobu spojení - DIVÁKŮ: No, jako v HTML. JASON Hirschhorn: Tady dole, myslíš? Takže pokud chci, aby zahrnoval odkaz někde, řekněme, to je HTML na můj stránky tady. Toto je HTML. Možná je to otevřeno v souboru index.html. Jdu dovnitř Pojďme se autorského práva John Harvard odkaz na něco. Takže budeme upravovat vše jako HTML. Vše, co udělat, je zahrnout A, tak úhelník úzký držák na začíná, a pak držák lomítko závorka na konci. Takže teď jsem součástí tag kotvy. A skutečně, pokud klepnete na tlačítko z toho, bude nyní Formátování je upravovat jako HTML. A říkají, chceme propojit. Měli bychom vám atribut href. A my říkáme - A teď, když si všimnete, copyright John Harvard je modrá. A když jsem se procházet přes to, že je to teď odkaz. Takže můžete psát tento kód. Můžete obklopují skoro nic Chcete-v tagu kotvy a otočte jej do vazby. DIVÁKŮ: OK. Mám to. JASON Hirschhorn: A kdybych nechtěl to - samozřejmě, někdy lidé mají tendenci se, že tyto věci, které prostě vypadají modrá obecně a zdůraznila, jsou není nejhezčí způsob, jak odkaz. Takže když jsem přišel sem, uvidíte, že, někde v souboru CSS, je napsal tohle a pak dvě složené závorky. Takže řekněme, že pro odkazy, vůbec se mi nelíbí chcete, aby se stal modrý, spíše jsem chcete barvu odkazem na je to pěkné magenta. Pojďme dát barvu. Pojďme vybrat purpurovou. Nyní, všechny odkazy na mé stránky mají stát se to pěkná barva magenta. Někteří lidé nemají rádi barvy vůbec. Někteří lidé nemají rádi podtržení. Můžete si vybrat. S odkazy, můžete styl, jak se podívejte se poté, co jste je navštívili. Jak jste si všimli na mnoha stránkách, Odkazy se zbarví do fialova na vás navštívit. Můžete změnit tuto barvu stejně. Jo. DIVÁKŮ: Tak to změnit pro každou linku. Ale pokud jste právě chtěli udělat, aby odkaz samo o sobě, by si prostě v ID spodní nebo tak něco? JASON Hirschhorn: Takže velká otázka. Jak jste si tady všiml, jsem změnil některé část CSS, které se vztahují k vše, co je A. Pokud bych chtěl jen to, že odkaz na dně, I by jít do mého souboru CSS a pravděpodobně dělat, stejně jako jste řekl, hash Spodní prostor. A že by se mi vše jako ve spodní části. Nebo bych mohl, případně jej jedinečný identifikátor, a pak už jen udělat hash odkaz. A že by se mi, aby změnit to. Nicméně, jen rozdává ID chtě nechtě je obecně špatný praxe, protože ty by měl být jedinečný. A čím více budete mít ty, to může být trochu matoucí. Jo. DIVÁKŮ: Můžeš dát stejný ID pro více vlastníků? JASON Hirschhorn: Technicky vzato, ano. Nic se zastavit, ale vy by neměla byste jej měli dát třídu. OK, všechny ostatní otázky o HTML nebo CSS? OK. Pojďme se přesunout na PHP. Oh, ano. DIVÁKŮ: Co je o nich webové stránky, které znamená, že můžeme upravovat ně, než jsme se občerstvit. Ale jakmile jsme se občerstvit se vrátí zpět na úvodní HTML? JASON Hirschhorn: Velká otázka - takže když jsme načtení tohoto webové stránky, je to HTML. A je to JavaScript. Jeho PHP je proveden na nám cokoliv typ webové stránky vidíme. A to vytvořil nějaký HTML, některé JavaScript, a některé CSS. A to je nyní přístupná podle našeho počítače. A kopie těchto souborů je uložena lokálně na našem počítači, v současné době. Takže můžeme upravovat, že lokální kopii. Ale samozřejmě, nejsme úpravách kopie serveru. A když jsme se aktualizovat stránku, dostaneme další kopii serveru. A tak vidíme věci zpět tak, jak byly. Pokud bychom byli schopni, odtud, upravit oficiální webové stránky, měli bychom mít hodně problémů. DIVÁKŮ: Jo, takže můžeme číst a napsat, že kopie. JASON Hirschhorn: Správně. Jsme jen dělat místní změny zde, ale opět, velmi užitečné pro zkoumání, častokrát. Když píšu svůj poslední projekt, na příklad, chci vidět, jak někteří webová stránka něco vzhled způsob, jakým to udělal. Půjdu dovnitř a použít tento panel dolů zde, podívat se na to, co CSS dali to, nebo jakou barvu si vybral, nebo jak se to mám tak, že když se vznášel nad něčím, seznam sestoupil v pěkném kaskádové módy. Je to skvělý způsob, jak kontrolovat, jaké další webové stránky udělat a půjčovat si od nich. Pojďme se přesunout na PHP. PHP znamená, v rekurzivní smyslu, PHP Hypertext Processor. A PHP, co to bude dělat je spustit kód na straně serveru. Takže jsme nikdy vidět PHP kód. Nicméně, to hraje dobře s HTML a často vytváří hodně HTML kódu. Ale jak budete seznámeni s problémovými Sada 7 bude vaše PHP kód spustit, vytvářet nějaké HTML, a to je to, co uživatel skončí vidět. PHP je neuvěřitelně podobný C. Nicméně, existuje několik rozdíly a tyto rozdíly je důležité si uvědomit. Jeden rozdíl je, že proměnné V PHP jsou volně zadali. Má někdo pocit, o tom, co to znamená? DIVÁKŮ: Není potřeba to obsazení sami. Stejně jako není třeba psát v textu. JASON Hirschhorn: Já bych použít Slovo obsazení, ale ano, není třeba deklarovat typu pro určité proměnné. Jak se místo toho budeme deklarovat proměnnou? DIVÁKŮ: Použijte znak dolaru. JASON Hirschhorn: Použijte znak dolaru. Takže $ x je variabilní. $ 1 proměnná. $ String je variabilní. Ti proměnné $ x mohla je celé číslo. Pak by to mohlo být řetězec. Pak by to mohlo být znak. Je to opravdu nezáleží. Také, super věc o PHP je, řekněme, $ x je jeden řetězec. A $ y je postava jednou. Můžete přidat $ x a $ y, a to ti dva, co byste očekávali. Takže tam jsou operace v PHP. Vzhledem k tomu, že je volně typy proměnných, některé implicitní obsazení je pro tebe udělal a některé operace. Můžete to udělat operace na věci různých typů. Zatímco dříve se často dostanete chybu v C rčení, že to není typ že to má jít sem. Pouze věci tohoto typu může jít sem. Nebudete dostat tento typ chyby, obvykle v PHP. Takže to je jeden velký rozdíl - jak se vypořádat s proměnnými. Druhým velkým rozdílem je, že PHP kód je interpretován. Wheres, C kód je sestaven. Co to znamená? No, pro C kódu, který běžel je to přes překladač. Generované jste binární soubor. A jste spustili tento binární soubor. Můžete se postaral o všechny chyby před můžete generované binární soubor. Samozřejmě, že by mohl být Segmentace chyby, když jste spustili binární soubor. Ale není to tak, že jste zapomněli zahrnout definice printf, nebo jste nepoužili proměnnou a jen vytvořila zbytečné proměnné. Nebo jste si definovat prototyp funkce. Vše, co se stalo předtím, než jste si zkompiloval. To vám dal všechny chyby a špatné věci, že si mysleli, by se mohlo stát. A pak jste měli váš 0 a 1 soubor, který běžel. PHP kód nefunguje takhle. Budeš psát PHP kód. Pak budete uložit, pravděpodobně. A alespoň v P-Set 7, budete aktualizovat webový prohlížeč, a budete vidět, co se stalo. Budeš vidět výstup tohoto kódu PHP. Můžete také vidět, v horní části vaší stránky, chyba. Protože jste měli nějaké Chyba v PHP. Ty by mohly ještě vidět zbytek webová stránka vypadá v pořádku. Ale jedna část je špatné, a tam je Chyba v tomto místě. A to proto, že část Váš PHP kód nefunguje. Opravdu, po spuštění, když vám přejít na něco jako by.php. Je to jít přes PHP soubor řádek po řádku a spusťte jej tehdy a jen tehdy. Nebude to zkompilovat před čas nebo sestavit jednu kopii a pak dát které sestavil kopii všem. Pokaždé, bude to projít řádek po řádku a spusťte jej. Takže některé linky by mohlo fungovat a Výstup něco v pořádku. A další řádky mohou být rozděleny a místo výstupu chyba. Takže při ladění PHP, dali jsme Jste pár užitečných věcí Abychom vám pomohli ladění, stejně jako Funkce dump. Ale obecně, budete vidět tyto chyby. A to je to, jak budete vím, že udělal něco špatného. Ale vy jste jen uvidí chybu jakmile jste skutečně spustit kód. Dalším důležitým aspektem PHP a vývoj webových aplikací je myšlenka get proti poštou. Může mi někdo vysvětlit, jaký je rozdíl mezi získat a po jsou? Nikdo - Ano. DIVÁKŮ: Má to jeden z nich umožňují uživateli zobrazit data, a jeden z nich ne? JASON Hirschhorn: Skvělé. Jo, máš něco dodat? DIVÁKŮ: I tenká příspěvek je super-globální proměnná. JASON Hirschhorn: Takže z těchto obou proměnné jsou uvedeny na vás. To jsou jen proměnné. A víte, že jsou proměnné, protože tady jsem použít znak dolaru. Jedná se o proměnné uvedené vám PHP. A když se budete pohybovat mezi stránkami, Chcete-li ušetřit nějaké informace. Pravděpodobně budete chtít ušetřit, pokud uživatel je přihlášen To není uložen v GET a POST. To je uložen v něco jiného, jiná proměnná. Ví někdo, co proměnná, která je uložena v, nebo to, co proměnná, kterou používáte v P-Set 7, aby se ujistil, že uživatel je přihlášen? $ _SESSION, Že je to přesně to pravé, pravděpodobně důležité, aby se seznámili s názvy těchto věcí často používáte. Takže můžete použít proměnné relace uložit informace ze stránky na stránku. To je velmi variabilní. To existuje na každé stránce, možná jako globální proměnná, chcete-li, že o to takhle. Existuje několik dalších proměnných které umožňují přenos informací ze stránky na stránku. Zejména ty, které jsme se zaměříme na jsou GET a POST proměnné. V PHP vypadají jako $ _GET A $ _POST. A je rozdíl, jak uvedl Marcus ven, mezi dvěma z nich je to, že Informace v $ _GET je zobrazí v URL. Takže pokud se podíváme sem, vidíme odkaz na YouTube. Vidíme tento otazník. Vidíme v = a pak nějakou hodnotu. Zpět na této myšlence klíčové hodnoty pár, v je klíčem. A tady je hodnota. Takže pokud bychom měli jít na tuto stránku nebo kódování na této stránce, budeme mít proměnné s názvem $ _GET. Pokud bychom šli do $ _GET levá závorka "v" zavřít držák, velmi podobný pole notace, je to spolupracovník pole protože nejsme pomocí indexů. Byly pomocí řetězce jako klíče. Ale velmi podobný nápad. Pokud jsme šli my, by se tuto hodnotu. Na této stránce bychom být schopni K použití této hodnoty. Pokud bychom skutečně vypadat, pojďme přejít na stránku YouTube. Jaké videa bychom měli sledovat? Tohle jsou lidé hobit fanoušky? DIVÁKŮ: Ano. JASON Hirschhorn: Tak jsem kopírování jejich podíl URL a vložením v novém okně. A teď, když se podíváte sem, budete si muset vybrat Všimněte si, že, opět - Budu zkopírovat a vložit do gedit, tak můžeme vidět, že větší. Určitě jste si všimli, že má Tento otazník. Otazník označuje, že vše poté, co to bude uložen v proměnné get. To má pak V, to je první klíč a to první hodnota. Ampersand je zvláštní. Ampersand říká, OK, jsme dokončil první hodnotu. Nyní jsme se přestěhovali na jiná hodnota dvojice klíč. Zde je klíč se nazývá funkce, a je hodnota youtu.be. Takže když jsem byl kódování tuto stránku a někdo šel na tuto adresu URL a já jsem měl Možná watch.php. A já jsem byl kódování to. A mohl bych použít proměnnou $ _GET. A já bych si v, a Chtěl bych mít funkci. A pokud mohu použít klávesu V, I by se tuto hodnotu. A jestli jsem udělal $ _GET držák "funkce" závorka, bych si tuto hodnotu. Opět platí, že není nutně se vztahují na - Je zřejmé, že klíče a hodnoty YouTube a získejte informace se nevztahuje na Náš problém Set 7. Ale tam jsou některé věci, které jsme projít přes GET v našem problému Set 7. A samozřejmě, když jdete na webovou stránku nebo kódování své vlastní stránky, $ _GET Přijde vhod když si kódování. Jaký je jeden z důvodů, použít $ _GET tedy, v případě, že neposkytuje žádné soukromí? Vidíte všechny tyto informace že je přenášena. Je to všechno zobrazí uživateli. Ale to, co je jeden z důvodů, který by mohl chcete uložit něco do $ _GET, as na rozdíl od $ _POST? Proč budete chtít dělat, že? Dobrá. Ptal jsem se vás Quiz 1. Co je pro o $ _GET? Co je to jeden pro? Jo - DIVÁKŮ: Je to jednodušší sdílet informace. JASON Hirschhorn: Myslím, že To je skvělé. Je to snazší sdílení informací. Je to jednodušší na záložku. Můžete si uložit hned, YouTube.com / watch? V = něco a jít v tomto konkrétním videu. Pokud YouTube vždycky žádosti POST různých stránek, každá URL YouTube by YouTube.com. Dalo by se záložku jediné video. Vzhledem k tomu, když řeknete, že sdílený odkaz s někým jiným, ale ne automaticky získat vaši poštovní proměnné. Jsou to jen dostat na tento odkaz, a odkaz je stejný pro všechny. Takže to je jedna pro. To vám umožní uložení mezi oblíbené informace nebo tyto informace sdílet nebo aby to trochu více uživatelsky příjemný. Samozřejmě, není tam žádný soukromí, takže máme tento příspěvek proměnnou. A po informace není zobrazí v URL. Není to zcela soukromá. Ale to je nepatrně větší soukromí. A tak uvidíte tuto adresu URL tady dole, cs50.net. Ať už jste přihlášeni do webové stránky, bude to mít stejný URL, cs50.net. Je zřejmé, že něco, co se liší, pokud jste přihlášeni do webové stránky. Máte, jeden, pravděpodobně vstupní PIN. A to se potvrdilo, že se serverem. A je to asi šetří některé další informace. Ale URL nezmění vůbec. A tak to je případ, kdy něco, co je zasílán poštou. URL se nemění. Tato informace POST není zobrazí v URL. Ale někteří stav změnil, a možná tam je nějaká informace uložené v POST proměnné. Promiňte. předtím, než jsem se jít do SQL, každá otázky o PHP, a to zejména, otázky týkající se věci, které jsme neměli jít přes které jste našli nebo jakékoliv syntaxe nebo logické otázky o PHP? OK. Konečný jazyk bude interakci s tohoto týdne je Structured Query Language, SQL, prohlásil pokračování často. To vám umožní komunikovat s Databáze formalizovaným způsobem. A to hraje velmi pěkně s PHP. Jak uvidíte v problémových Sada 7, my máme vám dal funkci nazvanou dotazu. A to trvá řetězec SQL a provede že dotaz na databázi. V minulých letech, jste nebyli vzhledem k této funkci. Vy jste měli používat PHP funkce, aby se dotaz na databázi a kontrolu chyby a pak se výsledky. A vlastně, že to není tak těžké, protože opět hraje velmi pěkně s PHP. A PHP vám dává spoustu funkcí komunikovat s SQL databází. Tak často, dva tito jdou ruku v ruce. Samozřejmě, že můžete komunikovat s SQL databáze s některou řada dalších jazyků. Ale PHP je skvělý z nich si vybrat. Databáze - půjdeme přes to rychle, protože to je Buzz slovo jedeme do začít používat často - je kolekce tabulek. Takže můžeme myslet na to, jako soubor aplikace Excel. Soubor Excel obsahuje několik záložek na spodní části obrazovky. Každá karta budeme dnes nazýváme tabulku, kde tabulka je kolekce řádků. A co je řádek? No, řádek je, že totéž v souboru aplikace Excel. To jen má určité hodnoty pro každý v dané oblasti nebo každý daný sloupec. Je to jako položku v tabulce. Je to student, který má ID, což je specifické ID, a specifický název a konkrétní dům. Takže je databáze kolekce tabulek. A tabulky jsou samy počet řádků nebo záznamů. K dispozici jsou také v každém tabulky, některá pole. A to určuje, co každý záznam je bude mít, pole někdy nazýván sloupce, ale obecně nazývají pole. V této velmi jednoduché tabulky, mám tři pole, pole ID, uživatelské jméno pole a hash pole. A já mám tři řádky. Právě teď, jsou prázdná. Nejspíš by neměl být prázdný jestli to byl můj skutečný databáze. Takže pokud jste použili Excel, podobný nápad na to, co děláte v aplikaci Excel, i když, Je zřejmé, že nyní budeme moci dělat mnohem silnější věci na informace, které jsou uloženy v naší databázi. Budete vytvářet si jeden databáze Problem Set 7. Ale budete vytvářet násobek tabulky v databázi. Budete vytvoření databáze nebo tabulky pro uživatele. Budete také vytvoření tabulky pro pravděpodobně skladové transakce, aby se track z nich, protože budete muset implementovat funkci historie. Obě tyto tabulky budou mít různých oblastech. Například, v uživatelské oblasti, je pravděpodobně budete chtít své uživatelské jméno a ID a hash své heslo. V tabulce zásoby, které eviduje historie nebo tabulky historie, můžete pravděpodobně nebudete potřebovat uživatelské jméno a hash a ID. Budete pravděpodobně potřebovat pouze jeden z nich hodnoty, které jsou jedinečné, asociovat se s daným uživatelem. Ale pak, chcete uložit další věci, jako to, co čas byla transakce provedena. Co zboží bylo koupit nebo prodat? Kolik akcie skladem koupil nebo prodal? Jaká byla cena, za kterou skladem koupil nebo prodal? Takže znovu, budete se interakce s databází, která je bude mít více tabulek. Každá tabulka bude mít vlastní sadu polí. Nicméně, tam bude pravděpodobně podobný pole v každé tabulce, která se týká jejich navzájem. Obvykle se jedná o ID pole. Protože pokud každý uživatel má unikátní ID a spojíte, že ID s každým transakce, které uživatel provede nebo celé historii daného uživatele. A budete mít ID uživatele. Můžete získat informace z obou tabulky. Můžete získat své uživatelské jméno, a vy může dostat všechny své transakce. Jakékoliv dotazy týkající se databází, nebo specifické otázky? Ve skutečnosti, pojďme si myslí, že. Budeme tam do dvou stran. Takže tam jsou čtyři operace na databází, které budete používat v Problém Set 7 a pravděpodobně někdy používat. První věc, kterou chcete udělat, je vložit nový záznam do tabulky nebo nový řádek do tabulky. Jedná se o obecný funkce, obecné formě, z toho SQL dotazu. INSERT INTO tabulka, bez ohledu na sloupce Chcete-li vložit a pak hodnoty, které budete chtít dát do těch sloupců nebo polí. Pokud máte více tabulek v databáze nebo více databází, vy může rovněž nutné zadat databázi a tabulky, které chcete dát věci do. Ale velmi jednoduché, pokud chcete vložit do něčeho, říkáte, zde jsou Pole Chci vložit do. A tady jsou hodnoty. V některých tabulkách, také, a to uživatele Tabulka je dobrým příkladem. Pravděpodobně v tabulce tomto návodu a pravděpodobně v tabulce svého uživatele v P-Set 7, že to není jen hodnota uživatelské jméno. Tam to není jen peněžní hodnota, nebo pole, spíše. K dispozici je také pole ID. Nebudu vložit, že pole ID. To bude věnována me automaticky, když je vložen nový záznam. Takže tam je nějaké pole, které Můžete nastavit, aby se automaticky. Možná, že chcete dát každému uživateli 10000 dolarů v hotovosti bat. Tak jsem se nemusíte vložit množství hotovosti zde. Vše, co potřebujete, je vložit uživatelské jméno. A pak, v hotovosti pole bude předem vyplněny, a číslo pole bude být předem vyplněny. Tak často, nejsme vložení něco, co do každé oblasti, protože ty ostatní pole jsou pre-obydlený. Vzhledem k tomu, že to, jak se nastavit tuto tabulku. Druhá věc, kterou budete chci udělat, je odstranit záznam. Odstranění něco je velmi jednoduché. Dáte na tabulku, do které chcete vymazat něco z. A vy říkáte, OK, chci smazat záznam, který má uživatelské jméno Milo. Nebo si chcete odstranit všechny záznamy, které mít uživatelské jméno Milo, nebo že byly transakce z ID uživatele počtu 2. Jakékoliv dotazy týkající se těchto dva typy dotazů? DIVÁKŮ: [neslyšitelné]. JASON Hirschhorn: Ano. Takže budu používat řádek a záznam zaměnitelně a některé se sloupci a poli. Ale jeden řádek je jeden záznam. Jeden sloupec je jedno pole, bude zpět k této tabulce. OK. Další věc, kterou budete pravděpodobně chystá udělat, je sehnat Informace z tabulky. To je výběrový dotaz. A opět, co tabulka mám výběrem z? A co sloupec to chci vybrat, nebo jakou hodnotu si chci vybrat a z nichž řada? Takže Select je trochu specifická. Já říkám, OK, chci tuto tabulku. A pak chci uživatelské jméno sloupce, a Já ho chci od řádku s ID 2. To je jeden způsob, jak udělat Vybrat. Nebo můžu říct, dej mi každý jedno jméno. Nebo můžu říct, dej mi celý ř. z této tabulky, kde uživatelské jméno je 1. Takže existuje několik různých způsobů, jak dělat Vybrat dotazy, v závislosti na tom, jak mnoho informací chcete, Vždy se můžete jen vybrat vše z této konkrétní tabulky a pak smyčkou přes to, vybírala věci, které chcete. Ale mějte na paměti, pokud jste výběr Spousta věcí z tabulky a mít opravdu velký stůl, který bude mít nějaký čas, takže nejlépe vybrat pouze věci, které se chystáte skončit použití. Také se Select a se všemi z nich jiný SQL příkazy stejně, já jsem která vám verzi kostrbatý. Ale říct, že jsem výběr uživatele a chci je vytisknout abecedně, Nemohl jsem vybrat všechny uživatele a pak třídit je abecedně v mém kódu. Nebo existuje způsob, jak napsat select dotaz, který vybere věci abecední móda, založený mimo zvláštní sloupec, a to buď vzestupně nebo sestupně. Takže mějte na paměti, že mnoho z toho, co Chcete udělat lze pravděpodobně provést dotaz prostřednictvím další atribut. Takže se podívat do těchto dotazů on-line nebo jiné věci, které můžete dělat s těmito Dotazy k jejich expanzi. Konečně, poslední věc, kterou chcete udělat, není vkládat něco nebo odstranit něco, ale spíše něco aktualizovat. A co se děje s aktualizací dotaz, a znovu, co stůl. A co změna to chci dělat? A který řádek nebo záznam provést Chci, aby tuto změnu? Jakékoliv dotazy týkající se SQL? OK. Takže máme asi 15 minut. A to je poslední snímek mám. A doufejme, že tento poslední snímek je dobrá finta do problému nastavení, protože pochopení toho, kde chceme, aby vložit záznamy, mazat je, zvolte ně, a aktualizovat je nám pomůže porozumět větší logiku a průtoku problémově Set 7. Takže vím, že všechny odpovědi na tyto otázky. Nebudu vám říct, všechny odpovědi. Ale pokud někdo by chtěl předložit otázku do skupiny nebo odpověď na jednu z těchto otázky, můžeme použít jako skákání z bodu do mluvit o problému sady. Nebo pokud někdo má obecnější otázka mimo problémové sady, pocit se zeptat, že stejně. A můžeme začít tam. Mějte na paměti, že budete mlčet je bolí každého. Jo. DIVÁKŮ: Takže je jediný způsob, jak předat proměnné a z různých webových stránek, nebo nejvhodnější způsob, pomocí POST nebo GET? JASON Hirschhorn: Takže ano, to je Nejpohodlnější způsob, jak říct - když někdo vyplní formulář - získat informace o jiném webu stránky, pomocí GET nebo POST. Protože rámci jsme pomocí v tomto problému nastavení, zjistíte, že mnohokrát jsme činí další stránku. jsme Nebo činí jiný soubor, není nutně jinou stránku. Takže jsme se projít do proměnné. A pak, to činí HTML stránky, pomocí informace z této proměnné. To není technicky absolvování informací mezi různé webové stránky. To je předávání informací mezi různými soubory. A tak můžeme použít jakýkoli Proměnná to udělat. Ale ano, pokud bychom chtěli předat informace z určité stránky další stránka, GET a POST by být způsob, jak to udělat. Jakékoliv další otázky týkající se problém nastavit? OK. Pojďme se projít, pak konkrétní součástí problému nastavení. Budete muset, na jednom místě, zobrazit portfolio něčí na obrazovce. Co mám na mysli, když říkám, portfolia, v rámci tohoto problému nastavení? DIVÁKŮ: Je to jako zásoby, že mají how, mnoho akcií, které vlastní, cena, a kolik Peníze, které opustili. JASON Hirschhorn: To zní skvěle. Tak jsem chtěl zobrazit všechny akcie které vlastní pro každý Akciová společnost je Akcie a pravděpodobně, jak moc je to stojí za to, a pak samostatná proměnná, kolik peněz jim vlastní. Tak, že chci popsat, že. Začněme mluvit o tom, jak bych mohl jít o tom, že to, co tabulky jsem bude muset mít na být schopen to udělat. Jo - DIVÁKŮ: Uživatelé No, a pak, myslím, můžete vytvořit tabulku s názvem Akcie nebo něco takového, který by se, kolik že jsem koupil. JASON Hirschhorn: OK. Takže budu potřebovat tabulku s názvem Uživatelé, které udržuje informace o uživatelské jméno, pravděpodobně, pravděpodobně nějaký ID, Pravděpodobně heslo jednotlivce. Co je to něco jiného, ​​že jste jen řekl, že je spojena? Někdo vedle Michaela, co je něco jiného, ​​co je spojeno s každý uživatel, jedinečné pro ně? DIVÁKŮ: ID. JASON Hirschhorn: ID - co je jedna věc, že ​​jsme pravděpodobně bude chtít zobrazit na této stránce? DIVÁKŮ: Jejich jméno. JASON Hirschhorn: Jejich název - to, co je další věc týkající se této zejména problém nastavit? DIVÁKŮ: Co zásoby, které vlastní - JASON Hirschhorn: Tam se se hodně z toho, co akcie, které vlastní. Co je to jedna konkrétní hodnota však, že budou mít s nimi spojené? Jak se chystáte koupit a prodávat své akcie? DIVÁKŮ: Cash. JASON Hirschhorn: Jsou bude mít peníze. Každý uživatel tak bude mít jedna hodnota za peníze. A že to bude Unikátní každého uživatele. Takže v tabulce uživatele, to dělá smysl, aby v hotovosti. Dalo by se, samozřejmě, vytvořit další tabulka, která má ID uživatele a jejich hodnota hotovosti. Ale to nedává smysl. Má smysl jen dát to vše v jedné tabulce. Takže budeme mít tabulku s těmito informacemi. A pak, co je to druhé tabulce budeme mít? Říkal jsi, tabulku zásob. Co jsme uvedení v tabulka Zásoby? Každý, nápady - Diváků: Společnost. JASON Hirschhorn: Chystáme aby ve jménu společnost, tak AAPL pro Apple. Jo. DIVÁKŮ: Kolik akcií a kolik to stojí. JASON Hirschhorn: Kolik akcií, kolik to stojí - Co je to něco, co bychom je třeba v této tabulce? DIVÁKŮ: ID uživatele na index to. JASON Hirschhorn: ID uživatele. Takže v této tabulce, budeme pravděpodobně - řekněme, jestli je to někdo, kdo je vlastníkem Tři zásoby, tři řádky, každý s že ID uživatele nebo uživatele, který jednotlivce ID, ale jiný název společnosti, rozdílného počtu akcií pravděpodobně, a cena jiná hodnota pro každý z těchto zásob. Opět platí, že to, co jsem teď řekl, není nutně implementace, protože si uvědomíte, že jsou některé další efektivní způsoby, jak ji realizovat. Ale to je dobré místo pro start. OK. Takže to jsou dvě tabulky máme. Nyní chceme zobrazit tuto stránku. Co je první typ dotazu budeme muset provést. Na každé stránce, předpokládá, že je uživatel přihlášen, máme své uživatelské ID. Takže to, co je první typ dotaz musíme udělat? Jo. DIVÁKŮ: Jejich ID uživatele. JASON Hirschhorn: Máme své uživatelské jméno, když začínáme kódu na začátek naší stránce. Takže to, co je první typ dotazu my třeba, aby se vzhledem k tomu, ID uživatele? Šli jsme přes čtyři typy. Je tu jen čtyři možné odpovědi. DIVÁKŮ: Je zvolte záznam. JASON Hirschhorn: Zvolte - chceme vybrat z uživatele tabulka, aby se, řekněme, jejich množství hotovosti. A můžeme vytisknout částku v hotovosti v horní části obrazovky. OK. Jaký je další typ dotaz chceme dělat? Máme některé další věci musíme k zobrazení. Ty jsou uloženy v jiné tabulce. Tak jak se dostaneme, že? DIVÁKŮ: Můžete vybrat pro ně. JASON Hirschhorn: Select - opět, tam jsou jen čtyři možnosti. Vyberte pravděpodobně zní jako ten pravý. Takže musíme udělat další výběrový dotaz, opět pomocí tohoto uživatelského ID. A teď, chceme se vrátit ne jen jeden řada BU všechny řádky, které odpovídají dotazy kritéria, kdy ID uživatele rovná 1. A pak můžeme jít a nechat smyčku jen vytisknout všechny, kteří se na obrazovce, Možná vytisknout společnost od každý z nich na obrazovce. Skvělé, to zní, jako že je to zobrazení portfolia, nic víc komplikovanější než to. OK, pak uživatel rozhodne, že mají spoustu peněz zbude. A chtějí koupit nějaké více podílů na populaci. Řekněme, že již vlastníte této společnosti stock příliš. Tak jdou do buy stránku. Oni Zadejte název společnosti. Co je dotaz, po vstupu Název firmy, které budete potřebovat, aby provést další? Jo. DIVÁKŮ: Aktualizace. JASON Hirschhorn: aktualizace - a to, co Tabulka chcete aktualizovat? DIVÁKŮ: Jejich stůl, na základě na jejich identifikačního čísla? JASON Hirschhorn: Tak aktualizovat ne stolní uživatele - tak aktualizovat tabulku sklady, ve kterých ID uživatele a to nejen odpovídá, ale skladem název také odpovídá. Budete mít nějakou hodnotu. A pak, budete chtít, aby tuto hodnotu a přidá se však mnoho zásob, které Chcete koupit to. Takže nechcete, aby slepě přepsat tuto hodnotu. Ale je to možné, ve skutečnosti se, že první cení a jen aktualizovat. Můžete to udělat jako plus rovná, spíše než jen sobě rovnými. Co je to něco, co by - pokud jsme přemýšlet o tom a chceme být tak robustní, jak je to možné - bychom měli dělat předtím, než jsme se spustit tento aktualizační dotaz? Chtějí koupit pět let Apple. Každá akcie společnosti Apple je 200 dolarů. DIVÁKŮ: Poprvé jsme měli zkontrolovat peníze. JASON Hirschhorn: Měli bychom zkontrolujte nejprve peníze. Měli bychom se ujistit, že mají dost peněz. Jaký druh dotazu můžeme provést na ujistěte se, že máte dostatek peněz? DIVÁKŮ: Další Select. JASON Hirschhorn: Zvolte - vybíráme na základě jejich ID uživatele, získat jejich hodnoty v hotovosti. Líbí se nějaké rychlé matematiky. A jestli to obstojí, mají dostatek hotovosti. Potom můžeme spustit náš aktualizaci. Nebo možná, pokud ne, míjíme poté. Dáváme jim varování. OK. Říkají, že nemají společnosti. Jsou kupujete novou společnost. Jsou nákupu Microsoft. Jaký druh dotazů chceme dělat, v případě, že chcete koupit Microsoft? A oni nevlastní žádnou Microsoft. Ne Manu, někdo jiný, někdo, kromě Marcus? Carlos - DIVÁKŮ: Zvolte, aby se ujistil, mají dost peněz. JASON Hirschhorn: To zní dobře. DIVÁKŮ: A pak vložíte na [neslyšitelné]. JASON Hirschhorn: Přesně tak, my jsme bude chtít vložit do tabulky zásob. A budeme chtít vložit. Můžeme vložit své uživatelské jméno, název společnosti, a kolik akcií chtějí koupit. Jaké jsou některé další operace, které jsou stránky, nebo funkce, které nablízku bude muset realizovat v P-Set 7, že bychom měli jít znovu? DIVÁKŮ: Vlastně jsem tak trochu se otázka o tomhle. Než začnete zobrazení portfolia, by můžete kontroluje webové stránky Yahoo na Ujistěte se, že ceny akcií se nemění? JASON Hirschhorn: To je zvuk jako dobrý nápad. Takže to, co Marcus se říct, OK, skladem Ceny se neustále mění. V akcií, které vlastní tabulky, naše tabulka s názvem Akcie, mohli bychom ušetřit cena akcií, které koupil na. Ale nezdá se, že robustní, protože cena akcií je neustále se změní. Takže ve skutečnosti, jste pravděpodobně nepotřebujete uložit cenu akcií. Ale pokaždé, když se zobrazí jejich portfolio, můžete obnovit nebo aktualizovat cena akcií. A pokud máte - a Máte již. Vím, že jste všichni podíval do Problém nastaví již zpět. Jste si uvědomil, že jsem napsal nějaký kód pro vás, který vám umožní získat cenu akcie, křestní jméno dané společnosti. Takže ano, to asi zní trochu robustnější. Ale tato tabulka nemusí nutně uložit cenu akcií. OK. Jaké jsou některé další funkce vás je třeba realizovat tento týden můžeme mluvit o? Chci mluvit o nich. Co chceš mluvit? Je to asi v tomto spec. Jen bych přejděte dolů na dno o spec a zeptejte se mě na první slovo uvidíte, že nedává smysl. Jednou z dalších funkcí - pojďme mluvit o jednom. Začneme tam. DIVÁKŮ: Zaznamenávání historie. JASON Hirschhorn: Nahrávání historie, skvělá jedna. Takže budete muset sledovat o historii transakcí. Takže chcete sledovat každý čas se koupit nebo prodat akcie. Koupil jsem akcie. Jen jsme si řekli, to asi dává smysl zahrnout Select, aby se jejich množství peněžních prostředků a znovu zkontrolovat. Je to asi je chytrý pak patří vložení nebo aktualizace, v závislosti na zda nebo ne oni vlastnit této populace. Pokud se chceme také sledovat Historie, jak můžeme udělat, že? Znamená to, že jít v tabulce Akcie? Diváků: Ne JASON Hirschhorn: Ne, to asi jde v jiné tabulce. Vzhledem k tomu, že jste koupit 10 Akcie společnosti Apple. Pak si koupit dalších 10 akcií. Chceš tažení samostatné záznamy. Jedná se o dvě samostatné transakce. Takže máme další tabulku, Historie stůl. Takže znovu, kupujeme. Jsme provést výběr, pak Vložte nebo aktualizace. Co budeme dělat dál? Jaký je další dotaz realizujeme když kupujete něco? Chceme udržovat přehled o historii. Jo. DIVÁKŮ: Chcete-li sledovat příliš nepodařilo transakce. JASON Hirschhorn: No, předtím, než jsme říci, jaký typ transakce, to, co chceme - Jaký typ dotazu, Carlos, by nám umožňují sledovat věcí obecně? Máte čtyři odhady. Který z nich si myslíte? DIVÁKŮ: Aktualizace. JASON Hirschhorn: Ne aktualizovat. Jaký je váš druhý odhad? DIVÁKŮ: Výběr. JASON Hirschhorn: Pokud chcete zachovat stopa něčeho, pravděpodobně budete chtít psát to někde nebo uložit ho na později. Takže pokud nelze aktualizovat, a pak - DIVÁKŮ: Vložte jej. JASON Hirschhorn: Insert, tam jdeme. Ano, tak si vyberte velikost v hotovosti mají, zní skvěle. Nemají dostatek peněz. Že transakce nebude fungovat. Ne, nemusíte sledovat transakce, pokud to nefunguje. Nebo můžete, pokud chcete dát jim zabrat. Ale vy nemusíte. Poté, vložíte nebo aktualizace jejich zásob tabulce. A teď, máte jiné tabulky. Máte své historii tabulku nebo co chcete říkat. A v této tabulce, budete vložit nový řádek. To asi bude mít ID uživatele. Je to pravděpodobně bude mít název skladě. Je to pravděpodobně bude mít čas, že to udělali. A v tomto případě budete pravděpodobně Chci vložit aktuální ceny. Vzhledem k tomu, za historií, nemusíte jedno, co současná cena je. Ty se staráš, co je cena, pokud že koupit nebo prodat něco. Takže to vypadá, realizovat nákup plně zahrnuje počet různých SQL dotazy, ale upřímně řečeno, není že mnohem Kód celkově. OK. A to stará historie. Řekněme, že chceme zobrazit naše dějiny. Mluvili jsme o zobrazování naše portfolio. Jak bychom se zobrazí naše historie? DIVÁKŮ: Pravděpodobně chronologicky. JASON Hirschhorn: Patrně chronologicky - co dotazu si myslíte, že bychom používat? DIVÁKŮ: select. JASON Hirschhorn: select - vyberte možná všechny řádky z tabulky které odpovídají ID uživatele a pak jejich zobrazení chronologicky, Zní to dobře. Potřebujeme psát kód třídit tomto seznamu? DIVÁKŮ: Ne, protože jsi řekl, nás existuje vzestupně a sestupně věc. JASON Hirschhorn: Thing? DIVÁKŮ: Jo. JASON Hirschhorn: Jo. OK, nezapínejte v kódu se mi, že ručně třídí vaše dotazy, je seřadit. Tento kód je již uveden. Můžete napsat výběrový dotaz které třídí věci. Třídit je předem a pak je vytisknout. To je tak mnohem větší smysl dělat to, že způsob, než jiným způsobem. Ano. DIVÁKŮ: Ještě musíme setřídit předem? Znamená to, že máte na mysli druh je v databázi? JASON Hirschhorn: Vybrat dotaz vrátí vám je třídit. Takže to, že spíše než jen jejich vrátit se k vám v náhodném pořadí a pak se jim vyřešit sami. Jo. DIVÁKŮ: Existuje způsob, jak udržet ji uvedena v databázi samotné, tak, aby nemusíte třídit že pokaždé, když - DIVÁKŮ: Můžete jej vložit tříděného? JASON Hirschhorn: Dotaz - záleží na tom, že věci jsou řazeny v databázi? Diváků: Ne JASON Hirschhorn: No, jsou řazeny. Jsou řazeny chronologicky. Ale předpokládejme, že věci jsou řazeny chronologicky, od shora dolů. Máme formu Google. Kdykoliv někdo reaguje na Google našeho tvořit, to prostě dostane dát do spodní části této tabulky. Záleží na tom, které věci jsou řazeny chronologicky ne? DIVÁKŮ: Pokud to není chronologický, nemáte na to vyřešit pokaždé budete mít informace ven. Ale pokud je to již řazeno, nemůžeš Není nutné dělat další volání funkce? JASON Hirschhorn: Tak to je opravdu dobrý postřeh. Pro nás jako programátory, to by mohlo záležet. A my bychom mohli chtít najít databázi že nebude nechte chronologicky. Nebo nastavit v naší databázi, takže je stále věci tříděné podle ID uživatele. Takže takhle, řekněme, máme 1000 ID uživatelů. Nebo Facebook, máme miliony z ID uživatele. Nechceme, aby naše tabulka být jen náhodné nebo naše databáze být náhodný. Bylo by hezké, kdyby všichni ID uživatele byly rozděleny. Takže bychom mohli spustit binární vyhledávání na našem stole a pak už jen najít konkrétní kus. Takže ano, v závislosti na - pokud se ve větším měřítku, bychom mohli chtít najít databázi že uchovávané věci řazeny v jiném způsobem, tak, aby tyto dotazy bude trvat kratší dobu. A my jsme nemuseli projít naší Celá databáze v každém řádku daný stůl. Ale úroveň pracujeme na, jsme Nemusíte se starat o udržení věci řazeny. Můžeme předpokládat, že čas potřebný že dotaz na spuštění bude zanedbatelná, vzhledem k tomu, co máme co do činění se. Ale ano, skvělý nápad - jak navýšit, to by mohlo dávat smysl navrhovat naše databáze v trochu jiným způsobem. Jeden konečný návrh databáze, co chci zmínit, jak dobře, protože budete se třídí, nebo zaznamenal spíše na design vaší databáze. Mluvili jsme o tom. Cash je unikátní pro každého uživatele. Takže máte tabulku s názvem peníze, které má své ID uživatele a jejich množství hotovosti a pak tabulka s názvem Uživatelé, které má jejich uživatel ID a jejich uživatelské jméno. Mapa Tyto tabulky na každé druhý-to-one. Je to asi smysl pro , aby byly jedna tabulka. Takže předpokládejme, že máte uživatele tabulka, která udržuje uživatelská jména a hotovosti. Nyní máte tabulku, která má zásoby individuální vlastní. A jednotlivec může vlastnit více než jeden sklad. Tak to Nemapujte na navzájem jedna k jedné. To nedává smysl, aby se jeden obří tabulka, která má 30 záznamy, které vše opakovat uživatelské jméno, které všechny opakovat hesla, že všichni opakovat řadu hotovosti. Ale každý má možná jiný zásoby Název nebo jiný ceny akcií. To nedává smysl, aby se že mnoho velkých záznamy. Buďte rozumní o tom, kdy můžete vytvořit tyto databáze, takže neděláte něco hloupé jako to, že opakování spousta zbytečných informací. OK. Máme dvě minuty. Lidé venku jsou rádi, že připojit se my, nebo snad, pravděpodobně, založit vlastní třídu. Má někdo nějaké otázky, předtím, než jsme skončit? OK, to byl opravdu vichřice přes všechno. Omlouvám se, že to muselo být tak rychlý a že jsme nemohli být jako hands-on tento týden, jak bych si rád byl. Ale pokud máte jakékoliv dotazy týkající se něco, co bychom přešli, nebo něco v Tento problém set - Za předpokladu, že jste si to a dal v dobré víře úsilí - neváhejte mě e-mail nebo kontaktujte mě. Jsem více než šťastný, že práce přes Váš kód s vámi nebo zodpoví všechny otázky, které jste. Mějte na paměti, že tento týden, hodně z váš čas bude vynaloženo učení Nová syntaxe a snaží se pochopit jak psát SQL dotazy nebo PHP funkce nebo se zabývají MVC framework. Hodně času tento týden pravděpodobně nebude se snaží přijít na to, šílené logiky, že jsme žádá vás o to. Hodně z toho jsme prostě šli přes je relativně jednoduché. Takže to neznamená, že čekat až do poslední minuty. Ale znamená to nastavit, jak dělat svou pracovat v souladu, aby se ujistil, máte pochopení a učit syntaxi. Takže nejsi, z ničeho nic, protože věděl, přesně to, co chcete dělat, ale s žádnou představu, jak přesně to napsat. OK, uvidíme se příští týden.