>> SPEAKER 1: Wszystko, tak mile widziany.
To CS50.
I to jest początek tygodnia dziewięć.
I jest to początek końca Twój czas w CS50, w którym
Przejście się wreszcie do sieci aspektem oczywiście, gdzie będziesz
okazać, że wiele podstaw, że my eksportujemy za tydzień
jeszcze wrócić do odwiedzenia, lub prześladować, z nami.
Ale teraz, przekonasz się, że jest to rząd wielkości łatwiejsze
realizacji określonych zadań i rozwiązania pewnych problemów -
tak bardzo, że nawet jeśli myśli niektóre zestawy zadań były zabawne w ich
własny sposób, myślę, że znajdziesz że p zestaw 7, s. zestaw 8, a następnie,
Ostatecznie projekt końcowy będzie tym bardziej satysfakcjonujące, bo będziesz
okazać, że zaczynamy brać za pewnik teraz takie rzeczy jak zarządzanie pamięcią, a
wskaźniki, a co się dzieje on pod maską.
I znowu, tematycznych, wszystko przez Semestr jest to nakładanie
i warstw.
A teraz jesteśmy jakby się tutaj, stojąc na
ramiona tydzień przeszłości.
>> Teraz pamiętam z ostatniej chwili, że mówił o tym, jak internet działa.
I to był chyba uproszczeniem, ale pamiętaj, że
każdy komputer na świecie ma adres zajęcia, choć jest to trochę
uproszczeniem nadal.
A te adresy są używane do jednoznacznego identyfikacji maszyn, tak aby
podczas wysyłania informacji lub pakietów że tak powiem, mogą mieć pochodzenie
adres i adres docelowy.
I te same adresy IP mogą być używane zarówno dobre, jak i na złe,
do śledzenia użytkownika, na przykład.
W rzeczywistości każdy z was z laptopem otworzyć się, czy telefon w telefonie
kieszeni, ma adres IP na sieci Harvardu.
I to nie jest takie trudne do skorelowane, że kto i gdzie
są te dni.
Ale o tym może w przyszłości.
>> Teraz pomyślałem, że przywrócić niektóre wspomnienia [? poprawić?] i daje
kolejny klip z pokazują, może znaleźć znajome.
Gdybyśmy mogli przyciemnić światła w ciągu kilku sekund.
W Numb3rs show.
>> Głośnik 2: Jest to 32-bitowy adres IPP4.
>> SPEAKER 3: IPP, jak w internecie?
>> Głośnik 2: Sieć prywatna.
Do sieci prywatnej Amita jest.
Ona jest tak niesamowite.
>> SPEAKER 3: Chodź, Charlie.
>> Głośnik 2: Jest.
Adres IP lustro.
Ona pozwalając nam oglądać to, co ona robi w czasie rzeczywistym.
>> SPEAKER 1: OK, więc kilka rzeczy tak z tym obrazem.
Tak więc jeden i ten jest dopuszczalny, jest to rzeczywiście
nie podany adres IP.
Podany adres IP musi być liczbami w postaci w.x.y.z, gdzie każdy z
te litery od 0 do 255.
Ale to dobrze, bo tak jak filmy gdzie oni fałszywe numery telefonów,
oni fałszywy adres IP.
W rzeczywistości nie trafić fizycznych serwerów.
>> Ale pamiętajcie, to jest przeglądarka.
A przeglądarki nie rozpocząć drukowanie kod komputerowy tak.
A jeśli spojrzeć głębiej, zauważysz że język, że widzisz
na ekranie jest nazywany językiem Objective C, który jest językiem
które aplikacje iPhone są zapisywane, zwłaszcza te z udziałem
kredki, jak widać z Kod źródłowy tutaj.
>> OK, myślałem, że to było zabawne.
Więc ten fragment kodu ma absolutnie nic wspólnego z tym, co
szczególności odcinek był o.
Więc żart rodzaju na ludzi biorąc za to pewnik.
Ale to nie wszystko, że trudno dostać tych szczegółów technicznych.
A ja zachęcam.
I rzeczywiście, 50 może być bardzo dobrze zepsuć Wiele programów telewizyjnych i filmów, albo
bo przekonasz się, że to jest po prostu nie jest możliwe, co oni
robi na ekranie.
Ale rzeczywiście, jest to kod, który może zobaczyć go w aplikacji iPhone
lub Mac aplikacji OS.
To nie ma nic w ogóle do czynienia z bezpieczeństwem.
Tak więc miej oko na więcej takie rzeczy jak to. zabawa
>> Ale dziś zaczynamy nurkować w naprawdę głęboko do całego szeregu języków.
Rzeczywiście, jeden z nadrzędnych dania na wynos z tej części
Kurs nie jest aby nauczyć się programować w PHP, nie do nauki SQL per se, nie
do nauki JavaScript per se, ale raczej uczyć się, jak uczyć
yourself nowe języki, bo rzeczywiście, zaczynamy się teraz
kółka się tak, że po kursu od końca, nie należy się spodziewać 20
Specyfikacja strona powiedzieć, jak wdrożyć jakiś program.
Masz wystarczająco dużo składników, w swoim umysł, i wystarczająco dużo narzędzi w narzędziu
kit, z których do rozpoczęcia budowy rozwiązania problemów będących przedmiotem zainteresowania
jesteś dla jakiejś grupy studentów, dla niektórych cokolwiek projekt badawczy, czy naprawdę
interesujące dla ciebie.
>> Więc ku tym celu przypomnieć, że jest to picture my ciągnęliśmy to ostatni raz.
A to dwa komputery, klient i sever, mówi do siebie.
I protokół, język, tak aby mówią, że te dwa komputery się
nie mówiąc nazywa HTTP.
A to tylko protokół używany przez komputery do przesyłania informacji na
World Wide Web.
Web, oczywiście, jest tylko jedna usługa który działa na szczycie
tzw. internet.
Co jest inna usługa na top w internecie w dzisiejszych czasach?
Niektóre protokoły lub - co to jest?
>> PUBLICZNOŚCI: FTP.
>> SPEAKER 1: FTP.
File Transfer Protocol więc jest inny.
Większość z was prawdopodobnie nie zostały wykorzystane.
Ale większość z was prawdopodobnie używali rzeczy, jak Gchat lub momentem
messaging bardziej ogólnie, pewnością email.
A te też są to usługi, które działają na top z Internetu, ponieważ w
Koniec dnia, sam internet naprawdę tylko uzyskać dane z punktu A do
Punkt B. I to wykorzystuje kilka Cząstki się jeden lub dwa z nich
z nich najbardziej ogólnie nazywa TCP / IP, to znaczy, że jeden komputer
Internet może być rzeczywiście robi różne rzeczy, e-mail,
i Web, i tak dalej.
Google ma dużo tego.
Więc jak to usługi te jednoznacznie zidentyfikowany, nie możemy powiedzieć, na komputerze
, które mogą być w rzeczywistości robi wiele rzeczy?
>> Numer portu.
A to tylko arbitralne ludzkie konwencje, takie jak 80 to sieć, 443 jest
szyfrowane web, 25 jest e-mail.
I jest kiście innych.
A te liczby są po prostu wliczone w Pakiety te informacje, te
virtual koperty, które faktycznie zawierał wniosek lub odpowiedź.
>> Więc kiedy wrócisz odpowiedź od web, zwykle, nie widać żadnych
Liczby w żaden sposób, jeśli chodzi o kod stanu reakcji.
W rzeczywistości nie zobaczyć wewnętrzne funkcjonowanie
pakiety, które pochodzą z powrotem.
Ale 200 rzeczywiście znaczy OK.
A to oznacza, wszystko jest dobrze.
Być może już kilka z nich.
Który jest prawdopodobnie najczęściej widziałem w internecie?
>> 404.
To po prostu oznacza, nie znaleziono pliku.
To oznacza, że ​​ktoś spieprzył.
Zrobiłeś przez pomyłki adres URL, lub ktoś indziej nie dając Ci
nieprawidłowy adres URL, albo usunąć pliku i URL jest nadal
są wykorzystywane przez ludzi.
Więc z wielu powodów może wyjaśnić dlaczego plik nie został znaleziony.
I zobaczysz, w najbliższych tygodniach, te inne kody błędów, i będziesz
skorzystać z niektórych z nich.
Najgorsze jest to 500.
Jeśli pojawi się błąd 500 w kodzie masz napisane, myśleć, że jako swego rodzaju
analog usterek SEG w świat programowania WWW.
To nie jest aż tak tragiczna.
Ale to tylko oznacza, że ​​gdzieś, Ci spieprzył.
Więc czekamy na te.
>> Ale zobaczymy, czy możemy zobaczyć je w kontekście.
Pozwólcie mi odejść do przeglądarki tutaj i wykonaj następujące czynności.
Więc to jest Chrome, co dzieje się zostać zainstalowany w urządzeniu.
Ale najbardziej każda przeglądarka te dni ma niektóre równoważną funkcjonalność.
Mam zamiar iść do Chrome menu, i przejdź do menu Narzędzia, a ja pójdę
Narzędzia dla programistów.
I zobaczysz, że ten mały panel otwiera się w dolnej części okna.
Kolejny skrót, szczerze mówiąc, że zwykle używają sobie jest Kliknij prawym przyciskiem myszy
lub sterowania kliknij gdziekolwiek w sieci strona i po prostu iść do kontroli elementu.
I to nie tylko otwarte to ma dla Ciebie.
Będzie również otworzyć, szczególnie, Część elementów na
lewej stronie.
>> Więc jesteśmy oczywiście widząc Google.
Oni zmienili logo dziś.
Ale gdybym przewijać się tutaj, zawiadomienia że pod elementami, widać
co nazywa HTML, HyperText Markup Języka, a to jest język
że ten i wszystkie strony internetowe, naprawdę, są napisane w.
Ale to właściwie sformatowany nam o wiele bardziej czytelnie
niż to zwykle jest.
W rzeczywistości, jeśli pomniejszyć, a ja zamiast wystarczy kliknąć prawym przyciskiem lub sterowania kliknij
kliknij na stronie, a następnie przejdź do Widok Źródło strony, to jest dosłownie to, co
Google zesłany do mojej przeglądarce.
>> Więc niektóre osoby lub osób napisał Google.com za pomocą tego kodu źródłowego.
Większość z nich nie jest HTML.
To rzeczywiście nazywa język JavaScript, który
dojdziemy do środa.
Ale co Chrome, a co każda przeglądarka może zrobić dla nas, niby zobaczyć
obok wszystkich rozpraszających szalony składnia i ponownie włożyć spacje
dla nas, a nawet podświetlanie składni, lub kolorowanie rzeczy dla nas.
Więc przekonasz się, że te tak zwane narzędzia deweloperskie wbudowane w przeglądarkach
sprawi, że życie tak, o wiele łatwiej ponieważ można zbadać, za pośrednictwem tego menu
interfejs, co dokładnie bazowego Kod źródłowy jest dla
każda strona w internecie.
I rzeczywiście, jest to jeden z najbardziej skutecznych sposobów, aby dowiedzieć się jak to zrobić
coś nowego, przynajmniej jeśli strona nie jest tak skomplikowane jak się przytłoczyć, jest
aby zacząć zabawę to HTML, spójrz na jej tzw CSS, który Przyjdziemy
się trochę, jak również, aby zrozumienie, w jaki sposób programista
wdrożone niektóre szczególności Funkcja strony.
>> Ale bardziej technicznie ciekawe prawo teraz to będzie to.
Jeśli pójdę do karty sieciowej, niech teraz usunąć tego.
Zamierzam kliknij mały symbol krzyża tutaj, a następnie
przejść do innej strony internetowej.
A ja po prostu się wpisz w serwisie Facebook.com.
No HTTP nie HTTPS, nie WWW.
Niech rzeczywiście zobaczyć, co się dzieje tutaj.
>> Wprowadź.
Teraz zauważyć całą masę rzeczy, po prostu pojawił się w tym panelu dolnym, w
dodatek do strony internetowej pojawiają się na górze.
Mam zamiar przejść z powrotem do Zakładka Sieć tutaj i mam zamiar
kliknij w pierwszym rzędzie.
Co to narzędzie będzie się nam ujawnić jest każdy z żądań HTTP
, które szybko po prostu wróciłem i powrotem pomiędzy moja przeglądarka
i serwera Facebooka.
I tak każdy z tych wierszy reprezentuje jeden taki wniosek lub
Odpowiedź, jeden lub więcej te wirtualne koperty.
Lub bardziej przypadkowo, to jak człowiek jak osoba, klient w
restauracja, z prośbą o coś i znowu, i znowu.
A kelner zwala go z powrotem po jednym na raz.
>> Więc teraz, jeśli powiększyć to, zawiadomienia i będzie to coś takiego
że jesteś mile widziane i zachęcane bawić się na własną rękę, bo
nie będzie go przez wszystko bardzo szczegółowo.
Ale zauważysz Kilka sub tabs tutaj -
Nagłówki, podgląd, odpowiedzi, Cookies i timing.
Mam zamiar po prostu spojrzeć na nagłówki teraz, ponieważ są mało
składniki wewnątrz koperty tego pomocy danych do iz miejsc.
>> Więc po pierwsze, pozwól mi kliknij to, Zobacz Źródło obok nagłówków żądania.
Jest wniosek, że moja przeglądarka, Chrom, w tym przypadku, wysłane wewnątrz
że wirtualny koperta.
Pamiętacie w zeszłym tygodniu ręcznie wpisać go podczas
udając się przeglądarka.
Następnie przypomniał, że jest to serwer patrząc na nazwie hosta
Facebook.com.
I jest jeszcze bardziej tajemnicze Informacje, które będziemy machać
nasze ręce na razie.
>> Ale jeśli zacznę przewijać teraz okno, niech mi się
nagłówki odpowiedzi.
To było to, co znajduje się w wirtualnych koperta, że ​​wrócił z
Facebook.com.
A jeśli kliknę Pokaż źródło właśnie aby zobaczyć surowy tekst niego,
zauważyć kilka rzeczy.
One, Facebook mówi także sam protokół, wersja 1.1 tej decyzji.
Więc to jest miłe.
Ale kod statusu 301, przeniósł się na stałe.
>> A gdzie do cholery udało Facebook iść?
Co to jest stara się przekazać do nas?
Cóż, zauważyć tu jest inny header nazywa Lokalizacja.
Więc dlaczego Facebook mówi mi, że przeniósł się na stałe do tego adresu URL
obok lokalizacji?
Zapomniałem www.
>> Więc to był mój wybór.
W rzeczywistości, większość z nas rzadko, chyba, wpisz www.whatever.com te dni.
Ale okazuje się, administratora systemu, jak Facebooka, może
konfigurując serwery w taki sposób, że albo Facebook.com działa, lub
www.Facebook.com działa, albo, tak naprawdę, takie prefix przed ich
nazwa domeny.
Więc zrobili to za nas.
I są one skierowanie do nas, prawdopodobnie dla niektórych technicznych,
kilka powodów marketingowych.
Oni po prostu chcą canonicalize na www.Facebook.com.
>> Ale to nie do końca to.
Gdybym przewiń tutaj, niech zobacz co się dzieje.
To mówi mi, że przeniósł się na stałe do
http://www.Facebook.com.
Więc spójrzmy na drugiego wniosku że moja przeglądarka wysyła.
Niestety, wygląda na to Facebook przeniósł się ponownie, ponieważ sekundy
wniosek, zaznaczając, że adres URL, a nie, mówi, że też, przeniesiona
stałe.
I niech mi tu przewijać do nagłówków odpowiedzi.
Gdzie jest Facebook już teraz?
>> Więc HTTPS.
Więc teraz Facebook rozpoczął, zwłaszcza w świetle aktualnej
wydarzenia w ostatnich miesiącach, szczególnie i także w ciągu ostatnich kilku lat
zmusić wszystkich swoich użytkowników, w dobrym sposób, aby korzystać z protokołu HTTPS, który jest bardziej
zabezpieczyć, choć nie do końca bezpieczne.
A więc teraz moja strona, moja przeglądarka jest zamierza zwrócić tę trzecią URL.
A teraz wreszcie mamy inaczej niewidzialna 200 OK.
>> Tak więc to, co w świecie lub wszystkich te inne wiersze tutaj.
I dosłownie wpisane jedno, a my Przeglądarka wydaje się o jak
20 jakieś dziwne rzeczy.
Co to jest?
>> PUBLICZNOŚCI: Scripts?
>> SPEAKER 1: skryptów, więc inne pliki napisany w języku zwanym
JavaScript, który ponownie, my będziemy zobaczyć trochę w środę.
Co jeszcze?
Arkusze stylów.
Więc coś w języku zwanym CSS, co zobaczymy za chwilę.
Gif, JPEG i PNG, a także fotografie, i pliki filmowe - co strona internetowa
jest to najprawdopodobniej postaci pliku.
A więc co widzimy po lewej stronie znajduje się wszystkie pliki
że Chrome miał do pobrania, rekurencyjnie, jeśli chcesz, aby
składających się na całokształt strony.
>> Więc to, co widzieliśmy przed chwilą z Google, gdy klikam na elementach
Zakładka ta, na pewno, jest HTML, język, który komponuje tę stronę.
Ale jest kiście innymi.
Jest logo.
Jest te sina Ikony tam.
I jest jeszcze na inne elementy strony, które mogą być same
osobne pliki.
>> Więc co jest ładne o przeglądarce jest to, że wygląda na języku mamy zamiar
, aby zacząć pisać, czy masz już zaczął pisać w P zestaw 7, dane
się, gdzie te pliki żyć, a idzie i chwyta je dobrze.
I nie mogę podkreślić wystarczająco dużo, nawet choć niektóre może to wyglądać nieco
arcane lub przytłaczająca na pierwszy rzut oka, uczenia się, jak zaprogramować
aplikacje dla sieci, to bezcenne do zrozumienia, jak te
małe narzędzia pracy.
Są trochę jak GDB jak narzędzia, ale znacznie prostsze, w końcu, w użyciu -
i naprawdę daje oczy na to, co byliśmy biorąc za pewnik, dla
już od jakiegoś czasu.
>> Więc co możemy teraz zrobić z ta informacja?
Cóż, faktycznie przyjrzeć zasady leżące u podstaw HTML.
A my odroczyć, a już mamy, do sekcje w tym tygodniu, do problemu
zestaw 7 specyfikacji, niektóre z bardziej dane z tych języków.
Ale zobaczmy, czy nie możemy malować obraz tego, co należy rozumieć
ogólnie tutaj.
>> Więc HTML, Hypertext Markup Language, nie jest językiem programowania.
Co to tak naprawdę oznacza?
Więc HTML wygląda tak.
A niektórzy z Was już o tym wiedzą.
Niektórzy z was robi przez jakiś czas.
Ale zobaczmy, czy nie możemy wypełnić w niektórych puste, jak również.
Więc zauważyć kilka rzeczy tutaj.
Jeden, to tylko tekst.
Tak to jest jak kod źródłowy w C, lub jakiś inny język.
>> Zauważ, że nie wydaje się wzór tutaj.
Nie ma wcięcia, ale technicznie wcięcia jest tylko ludzka
konwencji.
A przeglądarki nie obchodzi, czy jest nowa linie i karty jak widzimy tam.
Zauważmy jednak, że jest symetrie tutaj.
Nie ma co Zadzwonię, na górze tego pliku, otwarte tag lub początek
tag, zwany HTML.
A potem, w dole, całkowicie pokryte w górę, podobnie jak robimy z klamrami,
widzimy otwarty uchwyt, do przodu slash, HTML, nawiasu.
Więc to odpowiada blisko tag tag lub koniec, dla tej rzeczy.
>> Razem, wszystko wewnątrz tzw. open i close tag tag
komponować, co my nazywamy element.
I zobaczymy, za chwilę, że to naprawdę jak węzeł w drzewa.
Bo jeśli myślisz o now wcięcia, które jest domyślnie tu,
niby mają, jak, dziadkowie węzeł o nazwie HTML.
Ile dzieci można powiedzieć, w oparciu na tym zdjęciu, HTML element ma?
>> Więc prawdopodobnie dwa.
Jednym z nich jest elementem głowy, najwyraźniej.
I jeden jest elementem ciała.
I dlaczego dwoje dzieci?
Cóż, jestem tylko trochę wywodząc, że jeśli Mam otwarte tag głowy, a następnie
close tag głowy, to elementem.
A potem, jeśli nie ma innego otwarte nadwozie tag i blisko tag ciała, to jak
kolejny element.
Więc w tym sensie, że jeśli rodzaj obracania zdjęcie na swojej stronie, to
jakby znacznik HTML, a następnie tag głowy, a następnie tag ciała i
potem jakiś tekst, hello world, zwisające off znacznika ciele.
>> Tak więc możemy narysować, że może wyglądać tak.
Kształty są arbitralne.
Zauważmy jednak, że użyłem rodzaju elipsy na szczycie reprezentować
Sam dokument.
Okazuje się, że mogą być inne rzeczy wewnątrz strony internetowej, która I już nie
Sporządzono tutaj.
Więc mamy zamiar jeszcze powiesić HTML Węzeł się z tak zwanego korzenia.
I wtedy mamy głowę i ciało i tytuł, informacja,
który jest zagnieżdżony dalej.
I nie przeszkadzało wprowadzenie dodatkowej linii podziały wewnątrz tagu tytułu.
To po prostu czułem się jakby to był już trochę zbyt gadatliwy.
Więc zostawiłem go w jednym wierszu, z open tytuł, hello world, blisko tytułu.
A potem mamy jakiś tekst zwisające off of here.
>> Więc ten obraz wróci do nas, gdy nurkowania w JavaScripcie.
I zrozumienie, że kiedy napisz HTML tak, co
jest przeglądarka robi?
Cóż, nie musimy martwić się o jak to robi, lub co
Algorytm, ale pod koniec dnia, gdy przeglądarka otrzymuje HTML jak
że z Facebook lub Google, analizuje to, że tak powiem, to czyta,
z czymś fread, od góry do dołu, od lewej do prawej, i jak to
zdaje sobie sprawę, oh, otwartego znacznika, a następnie zamknij tag, zaczyna malloc, że tak powiem,
węzeł w drzewie.
A gdy napotka, jak już dorozumianych tutaj z wcięciem,
węzeł dziecko, to mallocs węzeł dla że i dołączone, że do drzewa.
>> Tak więc, struktura drzewa, drzewa binarne, drzewa trójskładnikowych i większe drzewa, które
my spojrzał na tydzień lub dwa temu, zawiadomienie że sama zasada
wraca do nas.
A kto realizowane, Chrome, co Zespół zrobił, prawdopodobnie miał
wdrożyć jakąś strukturę drzewa pod maską.
I to samo w sobie jest prawdopodobnie w język C lub C + +, lub niższe
poziom języka, który my będziemy teraz używać na szczycie sieci.
>> Więc teraz, być może, będzie to więcej sensu.
Aktualny tatuaż z jakimś facetem, kto może żałować w końcu, rodzaj.
OK, wszystko w porządku, więc dużo humoru internetowej.
To nie jest naprawdę dzieje na tak dobrze dzisiaj.
Będziemy więc dalej.
Dobrze.
>> Warto więc przyjrzeć się teraz na kilka przykładów.
Najprostszy co może być to.
Mam zamiar iść do przodu i otworzyć w gedit plik o nazwie hello.php.
A w środku tego, mam zamiar szybko po prostu to zrobić, printf, zacytować
cytatu, "hello world".
>> Tak więc informacja, i zrobię mój backslash n, I już nie przeszkadza uznaniu głównym.
Okazuje się, w php, i wiele języki, nie trzeba głównym
funkcji per se.
Możesz po prostu zacząć pisać Twój program.
Teraz, kiedy zapisać ten plik, zauważysz, że jestem będzie musiał wykonać następujące czynności.
I nie zamierzam wykorzystać zrobić, a ja nie jestem zamierzasz używać szczęk ponieważ PHP, w przeciwieństwie do
C, nie opracowano język.
To, co nazywa się interpretować język, co oznacza, że ​​go uruchomić
jako wejście przez inny program nazywa tłumacza.
A że program odczytuje go, od góry do dołu, od lewej do prawej, a nie
cokolwiek powiedzieć to zrobić.
>> Więc w tym przypadku tutaj mam jeden wiersz, który mówi printf.
Więc kiedy ten kod źródłowy, hello.php, choć program
dzieje się, wygodnie, być nazywany PHP że PHP program będzie czytał
tego pliku, od góry do dołu, od lewej do prawej, i to będzie robić to, co
powiedzieć to zrobić - wykonywanie kodu, a jeśli nie uznaje czegoś, po prostu
plucie to.
Więc mam zamiar iść do przodu i uruchomić PHP z hello.php.
Wprowadź.
>> A to nie całkiem to, czego chciałem.
Cóż, to dlaczego?
Cóż, PHP jest językiem, który jest właściwie przeznaczony do dość
spleciona z sieci.
Podczas tworzenia stron internetowych w tym języku PHP, jak to już wkrótce, my będziemy
chcę zrobić coś podobnego druku z linii, takich jak ta.
>> Więc mam zamiar to zrobić.
Otwarty uchwyt, znak zapytania, PHP, i teraz mam zamiar wciąć tylko utrzymać
rzeczy ładne.
A teraz mam zamiar zrobić pytanie znak nawiasu.
Więc jest nieco asymetrii tutaj.
Nie rób tego.
I nie robić slash, więc PHP jest trochę inny.
>> Ale teraz, jeśli ponownie uruchomić ten program, PHP hello.php, teraz ja
rzeczywiście dostać Hello World.
I zobaczymy, dlaczego to jest cenne.
Jeden, to pozwala mi określić, bardzo wyraźnie, to jest
Kod, wykonanie tego.
I to jest rzeczywiście to, co je specjalne znaczniki sugerować tutaj.
>> Ale oznacza to również, że jeśli po prostu zrobić coś jak ja mają tu, że
Oznacza to, że, dosłownie, że po prostu być wydrukowane bez konieczności
faktycznie zadzwonić printf lub drukowania, lub podobną funkcję.
Więc wracamy do za chwilę.
>> Po pierwsze, zróbmy to.
Wewnątrz urządzenia, mamy katalog o nazwie vhosts, na wirtualnych
Gospodarze, slash hosta lokalnego, slash publicznej.
Więc to jest trochę rozwlekły, ale długa historia Krótko mówiąc, urządzenie nie jest zaprojektowane
tylko wspierać C. Jest to także zaprojektowany do obsługi PHP.
Ale jest też przeznaczony do web serwer i serwer bazy danych.
I to jest zaprojektowane i dobrze skonfigurowany, się przypomina dowolny
handlowych firmą hostingową, która możesz zapłacić 5 dolarów miesięcznie,
100 dolarów miesięcznie.
Cokolwiek usługa jest, to skonfigurowane są bardzo podobne do
prawdziwy serwer światowa produkcja.
>> A co to oznacza to, że działa na Urządzenie jest oprogramowanie serwera WWW.
Zdarza się nazywać Apache.
To jest po prostu za darmo i open source, i bardzo popularne.
I mamy skonfigurowany Apache wiedzieć że jeśli odwiedzić pewną URL, z
Chrome lub dowolnej przeglądarki wewnątrz Urządzenie, zajrzeć do tego katalogu
do plików, które Użytkownik żąda.
>> Innymi słowy, niech mnie zrób to.
Wewnątrz mojego katalogu publicznym, będę iść do przodu i utworzyć plik
nazwie index.html.
To daje mi kartę tutaj.
I zamierzam iść bardzo szybko i iść do przodu i walić się
ten program tutaj.
DOCTYPE HTML, który teraz, po prostu Zakładam, że masz pisać.
To tylko arcane tag, który nie jest naprawdę tag HTML, który określa, że
tutaj jest trochę HTML.
>> Mam zamiar iść do przodu i ponownie to, co widzieliśmy przed chwilą.
Oto szef stronie.
Wewnątrz głowicy było -
więc tytuł.
Będziemy więc przywitać, świat.
A potem tu był tag body.
Pozwól mi zamknąć tag ciała.
A potem tu będę też powiedzieć, tak dla jasności, hello world.
>> Tak to jest, zapewne, najprostszy możliwe strony internetowej można
może sprawić, że to ważne.
To jest składniowo poprawne.
Wszystko, co otwarte jest zamknięte.
Wszystko jest ładnie w stylizacja i wcięte.
Zobaczmy więc teraz, jak ja mogą uzyskać dostęp do tego pliku.
>> Cóż, pozwól mi iść do Chrome tutaj.
I pozwól mi iść do http://localhost/index.html.
Więc co jest lokalny komputer?
Cóż, większość z dowolnego komputera na świecie, Linux, Mac OS, Windows, ma pseudonim
nazwie hosta lokalnego.
Więc jeśli kiedykolwiek chce rozmawiać do własnego komputera -
aczkolwiek, dziwnie odruchowo -
nazywasz siebie host lokalny.
Bez względu na rzeczywisty komputer jest nazywa, czy to Dawida MacBook
Air, czy coś więcej verbose tak.
>> Więc ten URL jest najwyraźniej zamiar użyć HTTP do rozmowy na lokalnym komputerze,
sam komputer, urządzenia, i to się zapytać, po prostu wziąć
odgadnąć, co plik?
Index.html.
Tak więc urządzenie zostało skonfigurowane naprzód wiedzieć, że jeśli pytam
na coś takiego index.html, poszukaj w folderze o nazwie vhosts, w
folder o nazwie localhost, w folderze tam nazywa public.
To miejsce, gdzie wszystkie moje publiczności Pliki będą.
Więc jestem teraz uderzy Enter.
>> I cholera, nie jest to zabronione Komunikat, który zwie się 403, z
kod numeryczny dla niego.
Więc co jest nie tak tutaj?
Cóż, to nie wystarczy po prostu umieścić plik wewnątrz mojego folderu.
Muszę faktycznie wykonaj następujące czynności.
>> Pozwólcie mi odejść do mojego katalogu vhosts, do localhost, do społeczeństwa, i niech
mi zrobić l rozdzielczą ls.
I jest kilka innych rzeczy tu do dzisiejszych potrzeb.
Zauważmy jednak, po lewej stronie, obok do index.html, widzimy tylko jedno RW.
I w przeszłości, co został RW stał?
>> Tylko czytać i pisać.
Fakt, że mówi RW po lewej Oznacza to, Ja, właściciel tego pliku,
czytać lub pisać.
Ale muszę niech wszyscy ludzie w Świat przeczytać, choć nie napisać.
Więc mam zamiar zmienić tryb plik, chmod, wszystko Plus r dać
wszyscy prawo odczytu plik o nazwie index.html.
>> I jeśli teraz powtórz l kreska ls, zawiadomienie że tutaj, kilka
R-tych pojawiło się.
A teraz, spec idzie bardziej szczegółowo.
Dla P zestaw 7, które oznacza po prostu każdy może teraz odczytać ten plik.
Jeśli wrócę do mojej przeglądarce teraz i ponownie, voila.
Hello world.
>> I mogę nawet otworzyć moje narzędzia Chrome i zobaczyć, jak z Google i
Facebook, który jest mój HTML, sformatowany mało
inaczej i kolorowy.
Jeśli pójdę do karty sieciowej i włóż strony, zauważysz, że jest uzyskać
wnioskować, że Chrome jest wysyłanie do urządzenia.
Jest za to 200 dany plik.
Tak w skrócie, jest to, jak to wszystko różne elementy idą razem.
Tak się składa, że ​​serwer WWW używamy w tej chwili nie jest odległy,
jak Facebook.
Jest to dosłownie na tym samym komputerze, co jest zupełnie OK.
>> Co jeszcze możemy zrobić na stronie internetowej?
Cóż, po prostu, niech wiatr poprzez Kilka z tych rzeczy.
Ale pozwól mi iść do przodu i ponownie Gedit z index.html.
I pozwól mi iść dalej i powiedzieć cześć CS50, zapisać ten plik, przejdź do
Przeglądarka, bardzo rozczarowująca zmiana.
>> Ale co, jeśli chcemy rzeczywiście link do czegoś teraz?
Tak więc okazuje się, że możemy mieć Linki w HTML, które są po prostu tags
sami.
Zdarza się nazywać tag kotwicy. href równa
https://www.cs50.net, www.cs50.net zamknij cudzysłów, nawias zamknięty.
A teraz zobaczmy co else będzie dalej.
>> Mam otwarty znacznik.
I teraz trzeba dać Zwrot jak CS50.
Pozwól mi zamknąć znacznik.
I zauważyć kilka rzeczy.
Mimo, że jest to tajemnicze rzeczy tutaj, nie powtarza go, gdy
zamknąć znacznik.
Wystarczy zamknąć tag z nazwy sam.
I to jest to, co jest znane jako atrybut o wartości.
Atrybuty tylko zmodyfikować zachowanie jakiegoś znacznika wewnątrz strony.
>> Więc to jest określenie, że hiper odniesienia, fantazyjny sposób na powiedzenie
Adres URL tej kotwicy, do tego Informacje powinny być CS50.net.
I tekst, który chcemy pokazać Użytkownik nie jest surowy URL, ale raczej
CS50 słowo.
>> Więc jeśli teraz przeładować, pozwól mi powiększyć do jasność, pozwól mi odświeżyć stronę,
zauważyć, że mamy tę starą szkołę niebieski, podkreślony link.
A jeśli unoszą się nad nim, a to będzie być trudne, aby zobaczyć, w lewym dolnym rogu
w górnym lewym rogu ekranu, zauważysz że mówi URL, do którego
Mam zamiar iść.
A jeśli kliknij tam, voila, teraz jestem tworzenia stron internetowych.
A jakie doprowadziły siebie na stronie głównej.
>> Zauważmy jednak, jakim potencjałem to nam oferuje.
Bezpieczeństwo jest bardzo w modzie w tych dniach.
Co zrobić, gdy zamiast powiedzieć coś , a ja zamiast iść do, powiedzmy, niech
zobacz, fakeCS50.net.
Odśwież stronę.
>> OK, więc zauważyć, że wciąż wygląda jak jestem będzie CS50, chyba bystry oka
zauważą zamierzam udawać CS50.
Zgaduję, że ta domena nie jest pobierana.
OK, więc to nie jest dostępne.
Więc to jest dobre.
Nikt nie ma rzeczywiście, że domena.
>> Ale bądźmy trochę bardziej złośliwy bo to jest głupie.
Co jeśli zmienimy to Paypal.
A co, jeśli nazywamy to, jak, www.paypal.badguy.com,
niezależnie od domeny.
To prawdopodobnie nie istnieje.
Więc teraz chciałbym odświeżyć stronę.
A tu mamy coś w rodzaju phishingu Atak, P-H-I-S-H-I-N-G, która jest
głupie słowo podane na atak dociera do informacji ryb, lub, lepiej
jeszcze, pieniądze z ludzi przez oszukiwanie ich do ujawnienia informacji, które
nie można inaczej zrobić.
Wygląda to zupełnie legalne, prawda?
Muszę mieć link do Paypal.com.
W uczciwości, gdybym sexed go z niektórych grafika, możemy sprawić wrażenie
bardziej jak PayPal.
Prawda?
Bo może, jak na bok, Mogłem iść do Paypal.com.
I właśnie widzieliśmy, jak mogę zobacz wszystkie ich HTML.
Może po prostu skopiuj go i ponownie Estetyka Paypal zamiast iść
old school tutaj.
Zauważmy jednak, oczywiście, i jest to trochę mała jeszcze, tylko w dolnej części
lewym rogu, w jak 10 pkt font, widzisz co URL jesteś
faktycznie będzie prowadził do.
>> I tak, jeśli kiedykolwiek dostał spam mówiąc iść do przodu, a ty konto
została naruszona.
Kliknij ten link i daj nam znać hasło, dzięki czemu możemy zapewnić, że jesteś
Ci, nigdy nie zrobić.
Te rzeczy powinny przejść bez słowa.
Ale to jest cudownie zabawny i tragiczne, jak co roku, wydaje się to
się do niektórych niezerowe liczba osób.
>> I to jest piękno z phishingiem.
Możesz wysłać milion e-maili.
A jeśli nawet 0,01% osób faktycznie kliknij na Paypal i dać Ci
hasło, że wciąż niezerowa ludzi, którzy właśnie dając
Ci ich pieniądze.
I wysyłanie wiadomości e-mail, oczywiście, jest dość łatwe i zasadniczo wolne
te dni.
>> Więc krótko mówiąc, cudownie Piękny pomysł, prawda?
Lat temu, to był najwcześniejszy web, umożliwiając sieć
hiperłącza między zasobami.
Ale tak szybko, to może być wykorzystane do złych celów.
I e-mail, wystarczy powiedzieć, to dzień, nie HTML osadzony wewnątrz.
>> Cóż, niech mi tylko jedna rzecz.
A my odroczyć sekcji w dużej mierze Problem ustawić siedem, co pozwala na
poznaj dane.
Ale pozwól mi iść do przodu i zrobić kilka rzeczy.
Mam zamiar iść i oświadczyć co nazywa div, lub
Podział, strony.
Pozwól mi zamknąć ten znacznik div.
>> A ja powiem up tutaj górze strony.
I wtedy poniżej tego, mam zamiar zrobić coś innego div, blisko tego
tag, a nie w dolnej części strony.
I niech go zapisać.
>> Więc teraz wróćmy do mojego pliku.
Bardzo rozczarowująca.
Ale to, co służy do podziału, pod maską, jest to rzeczywiście
ładny element konstrukcyjny.
Nie ma żadnych estetyki, o ile widzimy, poza, oczywiście,
oddanie rzeczy na nowych liniach.
>> Ale zauważ, jak na bok, po prostu uderzając Wprowadź nie wyciąć w HTML jak to
ma w C. Można by pomyśleć, że to zamiar umieścić ładne, duże luki między
górze i na dole strony.
Ale to ignorowane.
Biała przestrzeń jest w zasadzie ignorowane stron internetowych innych niż pierwszy
znaków spacji lub powrót karetki, że trafisz na klawiaturze.
Jeśli chcesz więcej przerwy linii, trzeba określić samemu.
>> Więc mam zamiar zrobić kilka rzeczy tutaj, aby zobaczyć co się dzieje.
Mam zamiar dodać atrybut istnieje I znowu, tak jak się uczyć
co przypisuje istnieje, co tagi istnieją, Naprawdę, jest na forum odnośników.
HTML jest rodzajem języka - to nie język programowania.
Jest to język znaczników - że po dobre pół godziny, może, godzina z
to, na pewno zrozumieć, najbardziej prawdopodobne, idea.
A potem szukaj Google oddalony jest wszystko możliwe tags, że może być
zainteresowany
I za spec, który jest dość mile widziane i zachęcane tutaj.
>> Więc teraz pozwól mi iść do przodu i coś jak to zrobić.
Background-color.
A teraz, mam zamiar zrobić coś jak czerwony, średnik.
I można to zrobić w kilka różnych sposobów.
Jestem tylko trochę wpisanie go jako Super wyraźnie, jak to możliwe.
>> Ale okazuje się, że ta wartość jest co nazywa CSS, Cascading Style
Arkusze, które jest kolejnym języka w ogóle.
CSS nie ma nic wspólnego z otwarte znaczniki i Zamknij tagi.
Ma to związek z właściwościami.
>> I właściwości są po prostu wartość klucza par, co oznacza po prostu jakieś słowo,
jelita grubego, a nawet inne słowo.
A jeśli masz wiele z nich, czy tylko jeden tutaj, możesz skończyć z
średnik, tylko dla jasności.
Ale to też będzie działać tutaj.
>> Teraz co to robić?
Można się domyślić.
Pozwólcie mi iść do przodu i przeładuj stronę.
A teraz to naprawdę idzie.
Więc górze mojej stronie jest czerwona.
Ale to, co jest kluczem do tego jest to, że wspomniałem wcześniej, że div daje
Podział strony.
I to jest rzeczywiście to, co robi.
To zasadniczo dzieli stronę na prostokąt, który można następnie
manipulować.
>> I to pojęcie prostokątów jest rodzaj przekonujące w tym, że jeśli myślisz o
Najbardziej każdej strony, prawdopodobnie niektóre struktury do niego.
Większość z was zapewne rzadko Strona główna Facebooka, jeśli jesteś zalogowany
w każdym momencie.
>> Ale na stronie głównej Facebooka, jest jakiś div na górze.
I nie może być w prosty jako jeden div, ale nie ma
prostokątny obszar tam.
Pozostała część strony jest jak ogromne div, jak wiele
większy prostokątny obszar.
Więc krótko mówiąc, tylko poprzez te małe cegiełki, z
Zdolność do rzeczy model jako prostokąty, czy szerokie lub wąskie, można również
aby kolumny potencjalnie pozwala na układu strony, naprawdę, jakkolwiek
pragnie.
Jesteśmy naprawdę tylko zarysowania powierzchni tutaj.
>> Rzeczywiście, jeśli zrobić jedną drugą, pozwól mi iść dalej i zrobić styl,
background-color, zrobimy coś jak niebieski, cytaty bliskich.
Miejmy Przeładuj.
Więc teraz to się jeszcze brzydsze.
Ale teraz mogę trochę popisać mój P ustawić pięć umiejętności, prawda?
Red.
Przypomina mi RGB, Red Zielony Niebieski trzyosobowe.
Cóż, jak się okazuje, w programowaniu WWW lub projektowanie stron internetowych, które to jest, mamy
nic nie jest jeszcze zaprogramowany per se, można rzeczywiście
posiada kod szesnastkowy.
Więc coś, coś, coś coś, coś, coś.
Więc można mieć sześć szesnastkowych znaków, lub trzy, w niektórych przypadkach,
a każdy z tych znaków zapytania musi być cyfry szesnastkowe,
od zera do f.
>> Jeśli chcę mieć dużo czerwieni, a nie zielony, a nie niebieski, co jest
Przeciwieństwem zera przy użyciu hex?
To f.
Więc można zrobić ff, zero zero, zero zero, Zapisz to, a teraz przychodzą tutaj.
I właściwie nie widać zmian.
Więc cytat cytatu "czerwony" jest najwyraźniej synonimem dla wszystkich czerwonych,
nie zielone, nie niebieskie.
Tymczasem niech celowo zmienić ten się czymś
losowy, jak ABCDF.
>> Zobaczmy, co to jest.
To naprawdę ładny niebieski, faktycznie, baby blue.
W porządku, więc to tylko teraz nieco losowe kombinacje
znaków.
Więc nie ugrzęznąć tutaj.
Ale znowu, to mówi do precyzji że można zacząć
zastosowanie - nawet jeśli bardzo przytłoczeni o estetyce.
W rzeczywistości, jeśli naprawdę chcesz być pod wrażeniem, pozwól mi iść dalej i zmienić
rozmiar czcionki, na przykład.
I zauważyć, średnik, który jest niezbędne tam.
>> Rozmiar czcionki, możemy być po prostu śmieszne o, 96 pkt.
Zapisz to.
Wow, to jest duży rozmiar czcionki.
W porządku, więc jest to bardzo łatwe.
I rzeczywiście, jesteś w zasadzie widząc bardzo pierwsza strona internetowa zrobiłem
lat temu, kiedy po raz pierwszy Nauczyłem się tej rzeczy.
To bardzo proste, aby było ohydne rzeczy szybko.
>> A jeśli jesteś zaznajomiony z Wayback Maszyna na archive.org, to
można znaleźć wszystkie moje ohydne stron undergrad internetowych.
Jeden miał Kermit Żaba na froncie.
Poszedłem przez fazę, w którym myślałem fajnie było wziąć tło
czerwona kurtyna, kiedy dowiedziałem się, w jaki sposób can zdjęć terakota znowu, i znowu, i
ponownie, aby wypełnić stronę z big tandetny czerwona kurtyna.
A potem, na szczycie tego, była ikona że trzeba było kliknąć, aby wejść do domu
strona dlatego, że był bardzo w modzie.
>> I wtedy mój pierwszy program, jaki kiedykolwiek napisał Nie było w PHP, ale w języku
nazwie Pearl, napisał książkę, która gościa to naprawdę fajna rzecz, że
Wiele osób spodziewa się mieć na stronie głównej.
Kiedy dotrzesz do strony, oni chcą zalogować się i powiedzieć, kim jesteś,
i dlaczego tu jesteś.
To jest bardzo 1990 web design style.
>> Ale te dni, z pewnością, mamy się dużo dalej.
I zobaczysz, w sekcji, a nawet w problem ustawić siedem, by
Wykorzystując biblioteki te dni, to o wiele łatwiejsze
ładniejsze rzeczy szybko.
Naprawdę tutaj jesteśmy tylko zarysowania powierzchni, co można zrobić
stylistycznie.
>> I faktycznie, już, podkreślam że to już się brzydki, nie
tylko estetyczne, ale pod względem od stylu mojego kodu, lub
projekt mojego kodu.
Mam obecnie comingled HTML, który jest zielonkawe otwarte tagi tam, z
Właściwości CSS, które jest całkowicie legalne.
To jest naprawdę, gdzie język miał swoje początki.
>> Ale w interesie czystej konstrukcji, tak jak zaczęliśmy rzeczy faktoringu
się z plików C do plików. h, niech ja właściwie praktykować tego rodzaju
Zasada i zacząć robić zamiast tego.
Powiem tag stylu tutaj, które istnieje również w formacie HTML, i niech mnie
określić następujące.
Pozwól mi usunąć.
Kolor tła będzie czerwony.
Zamierzam usunąć całkowicie.
Mam zamiar pozbyć się stylu atrybut, i mam zamiar do jednoznacznego
zidentyfikować ten div słowem -
arbitralnie, ale rozsądnie, cytuję koniec cytatu "top". I id jest specjalnym
atrybut, który jednoznacznie definiuje pewien element HTML
jako mające ten identyfikator.
>> Jeśli teraz chcemy stylizowane nim tutaj w Szef mojej stronie, wewnątrz
tag style, zauważysz, że Mogę zrobić hash szczyt.
A potem można umieścić kilka kręcone szelki, przypominające C, a następnie niech
ja wklej w tym stylizacji.
I niech śmiało tutaj i przewidywania gdzie mam się z tym.
Chciałbym również stworzyć jeden dla div dolnej.
Pozwól mi złapać tę ohydną kod dół tutaj, umieścić go tutaj, a ja będę
trochę więcej anal teraz i stylizowane to tylko o oddanie rzeczy na własną rękę
linia, kończąc średnikiem.
Pozwól mi pozbyć się znacznika stylu.
>> Ale ja nie skończyłem.
I trzeba zrobić jedną rzecz.
Tak, id równa cytatu, cytuję "dno" lub cokolwiek id chcę
dać tego elementu.
Teraz, pozwól mi wrócić tutaj.
I to jest okropne.
Nie mogę poradzić sobie z 96 pkt.
Zróbmy 24 punkt.
Lub może być bardziej precyzyjne.
Możesz faktycznie korzysta pikseli, px, więc że naprawdę można uzyskać drobniejsze ziarno
kontrolę nad swoją stronę.
>> Tak na marginesie, to nie koniecznie Najlepiej, jeśli użytkownicy, dla
Powody dostępności, chcą możliwość zwiększenia wielkości.
Więc sobie sprawę, że istnieją sposoby na zrobienie rzeczy, które nie muszą
trudno wszystko kod.
>> W porządku, więc jest większy, 24 pkt, niż cokolwiek domyślnie.
Ale teraz to trochę czystsze.
I pozwól mi wziąć ten jeden krok dalej.
Podobnie jak pomysł plików nagłówkowych, zauważyć, że jesteśmy o krok bliżej do tego.
Mam zbitek, ale nadal w lewo, wewnątrz mojej strony, przepisy te CSS.
Dlaczego może chcę zrobić ten jeden krok dalej, usunąć to całkowicie, a
umieścić go w osobnym pliku?
>> Więc mogę używać go, prawda?
To tylko rodzaj intuicji teraz.
Przedtem twierdził, że to właśnie coraz brzydki o styl
atrybuty wewnątrz div się.
Ale tylko trochę pomyśleć, że dzięki.
Jako strona uzyskuje coraz dłużej, jeśli jesteś wprowadzenie tu i tu, i
tutaj i tutaj, wszystkie te różne kolory i rozmiary czcionek i inne takie
atrybuty, strona jest bardzo szybko stanie się niewykonalna dla Ciebie.
>> Jeśli ktoś przychodzi do was i mówi, oh, wiesz co?
Naprawdę chciałbym, aby zmienić rozmiar czcionki o dwa dodatkowe punkty, to
może iść i znaleźć i zastąpić Ogromna liczba linii kodu.
To o wiele bardziej przekonujące scentralizować wszystkie takie estetyka tutaj.
Ale jeśli chcesz, aby ponownie użyć tych estetyka w wielu stronach internetowych, wszystkie
bardziej atrakcyjne do na przykład, utworzyć plik
wywoływana z tych treści.
>> I pozwól mi to zrobić.
Zapisz ten plik.
Mówię styles.css, arbitralne, ale konwencjonalny.
Włożę go w domu Johna Harvarda Teraz dla uproszczenia Katalogu.
I co mogę zrobić w mojej stronie internetowej jest uzyskać pozbyć znacznika stylu zupełnie,
i nieco unintuitively, użyj łącza tag, który nie daje link
hiperłącza, klikalny sens, ale gdy mówię, związek, href równa
styles.css.
A związek, że ten element jest z strony internetowej ma służyć jako
jego arkusz stylów.
>> Więc jak to poznam?
One, po prostu przeczytać instrukcję, albo Google wokół, i
spojrzeć na różnych zasobów.
To znaczy, że dobrze jest, jak można odebrać tego rodzaju techniki, oraz, zgodnie
z tego pomysłu nauczania się nowy języki, ponownie, przekonasz się, że
jest tylko skończona liczba rzeczy w każdym języku, który, gdy pojawi się
im, przekonasz się, że to robi szybciej i szybciej pisać.
Rzeczywiście, nauka nowego programowania Język jest więc znacznie szybciej niż nowy
językiem, bo te rzeczy są znacznie mniejsze i znacznie więcej
precyzyjnie określone.
>> Ale mam trochę podkreślił anomalią tutaj.
Dlaczego I podkreślił to ukośnik tutaj?
Bo muszę zamknąć znacznik.
Powinienem zamknąć znacznik.
A znajdziesz niezliczone zasoby online, które nie
koniecznie Zamknij tagi.
I realistycznie, nie jest ściśle technicznych konieczne i istnieje
Przyczyny rzeczywistości przeglądarki są tylko dość tolerancyjne na błędy w sieci
stron, na lepsze lub na gorsze, ale przeważnie gorzej.
>> Więc to tutaj jest po prostu czystszy sposób mówiąc coś głupiego, jak to,
gdzie jeśli chcesz otworzyć link tag ale zamknąć go, naprawdę nie ma pojęcia
zawartości dla tagu łącza.
To po prostu oznacza to obciążenia złożyć i umieścić go tutaj.
To jest jak ostry include w C możesz otworzyć i zamknąć tag wszystkie na raz
w tym samym znacznikiem.
I nie ma innych przykładów tego.
To nie jest sposób, aby to zrobić, ale br tag, do łamania linii, jeśli
naprawdę chciał osiągnąć to, co ja próby przed uderzając Wprowadź, jeżeli
I wyraźnie powiedzieć, nowej linii, przerwy w linii, nowej linii, przerwy w linii, a
załaduj tę stronę, teraz można zauważyć, , że na dole strony jest
rzeczywiście, wiele dalej w u dołu strony.
Ale nawet, że można zrobić dużo więcej czysto z CSS, a także z okazji,
iz drugiej takiej estetyce techniki.
>> Więc teraz, że dania na wynos to to.
W HTML, mamy te rzeczy zwane tagi.
W CSS, mamy te rzeczy nazywa właściwości.
Możemy comingle tych dwóch językach, albo za pomocą atrybutu style,
lub tag styl, albo najlepiej jeszcze, factoring to się w ogóle, jak to zrobić
w problemu ustawić 7.
Pytania, a następnie, o koncepcyjne podstawy tutaj?
>> PUBLICZNOŚCI: Mam pytanie.
>> SPEAKER 1: O, przepraszam.
>> PUBLICZNOŚCI: Dlaczego nie było kolorowe -
>> SPEAKER 1: Oh, w drugiej karcie?
To tutaj?
>> PUBLICZNOŚCI: No, to jak -
>> SPEAKER 1: Oh, to dlatego, I był ewidentnie niechlujstwa.
I umieścić plik w niewłaściwym miejscu.
Więc jeśli rzeczywiście umieścić go tutaj, a ja chmod go, wszystko + r dla styles.css i
teraz odświeżyć stronę, teraz uzyskać stylizację powrotem.
A ponieważ rozmiary czcionek są różne, nie widzimy już tak dużo
white space.
My zamiast zobaczyć, co jest domyślnym jest zamiast.
Dobre pytanie.
Tak?
>> PUBLICZNOŚCI: Dlaczego jest link tag wewnątrz nagłówka?
>> SPEAKER 1: Dlaczego linki wewnątrz znacznika nagłówka -
Krótka odpowiedź, tylko dlatego.
To jest to, co postanowiono.
To miejsce, gdzie iść, gdy łącza tags masz to, co się nazywa
zewnętrzny arkusz stylów.
Inne pytania?
>> Dobrze, dobrze zróbmy to.
Mamy dużo zabawy przed nami dzisiaj.
To tylko zarysowania powierzchnia CSS.
Zróbmy to.
Weźmy tu pięć minut przerwy bo, na mój e-mail, niech wiszą
tam do 02:30-owski dziś.
Ale jeśli masz do zostawić, to w porządku.
Ale będziemy posuwać się do przodu, po pięć minut przerwy.
I dowiemy się co nieco o PHP, MySQL i wiele więcej.
>> W porządku, więc spróbujmy teraz, aby związać kilka z tych pomysłów razem i zrobić,
powiedzieć, własne wyszukiwarki.
Zauważyłem, raczej z ciekawością, dodaje.
Kiedy jesteś na Google.com, jesteś zazwyczaj w adresie URL jak ten tutaj
z czego po dot com.
Ale jeśli mogę szukać czegoś głupiego jak koty, i naciśnij klawisz Enter, dostaniemy - nie
głupie, ale wiesz.
>> OK, aby zauważyć, na górnej stronie, Teraz, adres URL jest, oczywiście, zmienić.
I to nie jest coś, nowe do każdego z nas.
Po kliknięciu łącza i takie tam dzieje się w sieci.
Ale co ciekawe tutaj jest następujący.
Jest całe mnóstwo bałaganu, ale niech mnie wyrzucić rzeczy, że ja nie
bardzo rozumiem, czy nie naprawdę wyglądają istotne.
>> Pozwól mi pozbyć się tego.
Pozwól mi pozbyć się tego.
I niech mi tylko pozbyć z tym wszystkim.
A teraz zauważyć, że koty to w adresie URL, następnie z q, to ​​równa
się przed nim.
Tak więc okazuje się, jest to, jak Jak to działa, jeśli chodzi
na wejściu i wyjściu.
>> Od dawna mówił o czarne skrzynki, prawda?
Tak więc, jeśli jest to realizowane funkcje tutaj jako czarna skrzynka, to ma wejście
i tworzy wyjście, dobrze, oznacza przez którego wkład do
strona jest w drodze, często, jego URL.
Wystarczy postawić znak zapytania a następnie klucza równa wartości.
A potem może Ampersand, a następnie Innym kluczowym jest równa wartości, to może
kolejny Ampersand, klucz jest równy wartości.
To, w jaki sposób przekazać w klawisze i wartości, pary wejść.
>> Więc jeśli uderzę Wprowadź teraz, co jest ciekawe o Google jest to, że wszystkie
że bałagan Usunąłem nie pojawia jest to bezwzględnie konieczne.
Wszystko czego potrzebujesz, aby wysłać do Google jest pytanie mark q równa koty dostać
kopię kilka kotów.
Cóż, implikacja, że ​​to, jest, jeśli podciągnąć gedit, zacząłem
podejmowania własnej wyszukiwarki tutaj w pliku o nazwie seach0.html.
>> I pozwól mi iść dalej i usunąć jedna linia, którą
były nie powinien zobaczyć.
A teraz pozwól mi iść do mojego przeglądarce tak nie do Google, i przejść do
http://localhost.
I to się dzieje, aby w drodze.
Więc będziemy musieli pożegnać się z że teraz, przenieść to tutaj,
oh, teraz będziemy musieli pożegnać się z tym plikiem.
>> Gdy masz plik o nazwie index.html lub index.php w
katalog, jeśli serwer jest skonfigurowany w ten sposób, co będziesz
zobacz, domyślnie jest treść, która plik, a nie lista
katalog, jak chciałem tutaj.
Więcej na ten temat w specyfikacji.
Nie widzę.
>> Więc to jest to, co tak naprawdę chciał.
Ale chwilę temu, nie było W tym folderze plik o nazwie
index.html i index.php.
I tak serwer był pokazano mi te pliki.
Zamiast tego, chcę tego katalogu wymieniając tutaj.
>> Więc mam zamiar iść do CSS i przejść do search0.
I twierdzą, że jest to to będzie początek mój własny konkurencyjny
wyszukiwarki.
A do tego, mam zamiar iść w tutaj, w CSS, i otworzyć się
gedit, wyszukiwania 0.
Ale niestety, nie nie wiele się tu dzieje.
Ja tylko użyć tagu nagłówka, który dzieje się nazywać H1, który
zasadniczo oznacza duży i bold, i to wszystko.
Ale sposób, w jaki możemy zapewniają wejścia są przez nich
rzeczy nazywane formy.
>> Więc pozwól mi iść do przodu i otworzyć i zamknąć, zapobiegawczo, tag formularz.
I pozwól mi iść do przodu i robić coś takiego.
Wejście typu równa tekst.
A potem niech zamknąć tag w ciągu wsporniki siebie.
I nie trzeba do początku pola tekstowego i zatrzymać pole tekstowe.
To właśnie tam będzie, czy nie.
>> A następnie poniżej, zróbmy Typ wejścia wynosi przedstawienia.
Zapisz.
A teraz zróbmy szybkie sanity check.
Miejmy przeładować.
>> OK, więc to nie jest źle.
To nie w stylu Google jest, ale to dość blisko.
Tam jest pole tekstowe.
Mogę wpisać kilka rzeczy w, naciśnij Enter, ale nic się nie dzieje jeszcze.
A to dlatego, że nie określono działania dla tej postaci, że tak powiem.
Tak więc, jeśli wrócę do elementu formularza, Okazuje się, i wiem, że to tylko
z konieczności zapoznania się z dokumentacją, która tag forma ma atrybut
nazywa działanie to jest URL strony internetowej, do której
Aby wysłać formularz.
>> I naprawdę nie sądzę, że mamy czas do wdrożyć cały tylny koniec dla
sprawdzić dzisiaj silnik.
Więc jesteśmy po prostu powiedzieć, co, przejdź na stronę google.com / search.
A teraz pozwól mi zamknąć moje wypowiedzi.
I pozwól mi dalej określić, że Sposób korzystania dzieje
na miano uzyskać.
>> Krótko mówiąc, jest na dwa sposoby, w najmniej, że można przekazywać informacje
z przeglądarki do serwera.
Jedno jest dostać, a dla dzisiejszych potrzeb, znaczy to tylko w adresie URL.
Widzisz dokładnie znaków zapytania znaki równości i Ampersands że
widzieliśmy wcześniej.
Albo istnieje alternatywa nazywa post.
Na razie wiemy, że post jest często używany gdy chcesz przesyłać pliki, jak
zdjęcia i tak dalej, lub gdy chcesz przedstawienia informacji o karcie kredytowej, lub
Hasła, coś, co nie działa sensu, koncepcyjnie, lub
bezpieczeństwo mądry, do końca się w adresie URL Twoja przeglądarka, gdzie rodzice podglądanie,
lub współlokatorów, czy ktokolwiek z dostępem do komputera może zobaczyć.
>> Warto więc zapisać, że tutaj.
I muszę zrobić jedną rzecz.
Nie wystarczy po prostu mówią mi pole tekstowe.
Muszę dać tej dziedzinie-tych cenią nazwę.
Więc pozwól mi pożyczyć wyboru przez Google Nazwy, Q i określić, że druga
przypisują I naprawdę nie obchodzi Nazwa przycisku Wyślij.
Wszystko mi zależy jest złożenie co użytkownik wpisze w.
>> A teraz to jest rodzaj brzydki.
To po prostu mówi przedstawienia.
Okazuje się, i wiem to z dokumentacja, można rzeczywiście powiedzieć,
wartość jest równa cytat cytatu "CS50 seach, "blisko cytat.
Następnie niech przeładować ponownie.
Więc naciskamy Command-R, lub Control-R na klawiaturze, aby przeładować.
>> Teraz mamy bardziej interesujące wyszukiwarki.
Nie dość wyglądać Google jeszcze, choć.
Więc śmiało tu i zrobić sobie małą przerwę linii.
>> OK, więc teraz mamy Google.
Tak naprawdę prawie nie ma Google.
Więc teraz, co się stanie?
Zamierzam pisać w czymś jak koty.
A przeglądarka będzie analizować które stanowią, że określone.
I to się dzieje, aby wysłać Użytkownik tej zawartości.
Tak więc w tym momencie, z jakiegoś powodu ciekawym, Mam więcej informacji na temat zasobów
niż o rzeczywistych kotów.
Ale to dobrze, bo zauważy my wciąż Skończyło się tutaj, q wynosi koty.
>> Więc krótko mówiąc, wydaje się dość trywialne, aby uzyskać danych od użytkownika.
I żeby być w porządku, nie ma kiście innych rodzajów polach.
Nie ma pola wyboru, a trochę wzajemnie wyłączne przyciski radiowe, i
rozwijanych menu, i wiele innych.
Ale wszystkie te są stosunkowo łatwo realizowane jako
to pole tekst był.
I w końcu, po prostu musimy zrobić czy ktoś słucha na inne
końca linii w celu uzyskania, że informacji przetwarzanych, w jakiś sposób, i
przywrócić nam nasze koty.
>> Przyjrzyjmy się nieco bardziej zaangażowani przykład.
Pozwólcie mi odejść do mojego vhosta katalogu, do hosta lokalnego, publicznej, a gdzie
umieścić dzisiejszą kod źródłowy.
Wszystko to będzie na przebieg tych strona dla Ciebie majstrować przy.
A jeśli pójdę do froshims, pozwól mi otworzyć up ten plik teraz, froshim0.php.
Ten jest trochę bardziej gadatliwy, więc nie będziemy pisać to od nowa.
Ale tylko zauważy się kilka nieco znajome cechy.
>> Jeden, tag forma, inna akcja.
Nie jest to pełny adres URL jest.
Teraz to podobno do pliku o nazwie register0.php, ponieważ w chwili,
Zamierzam nauczyć sobie trochę coś o PHP, programowanie
Język, ponieważ PHP może być stosowany do wdrożenia, co Google realizowane jako
back end swoich wyszukiwarkach.
>> Google, w rzeczywistości, prawdopodobnie używa niektóre Pythona, niektóre C + +, oraz
bukiety innych językach.
Ale możemy z pewnością wprowadzić wyszukiwanie Wyniki z wykorzystaniem PHP, jeśli chcieliśmy.
Ale teraz będziemy trzymać to proste.
I to jest rzeczywiście przypomina jednego z innych stron pierwszych I
wykonane rok temu.
>> Powrót w mój dzień, jesteś zarejestrowany stacjonarne sport jako student pierwszego roku od
wypełnienie kawałek papieru, spacery w stoczni, i upuszczenie go w
skrzynki z Proctor w Wigglesworth, i to, w jaki sposób
zarejestrowany.
I tak mój projekt wkrótce po CS50, było umieścić, że, co czyni mistrza
Poczucie, na stronie internetowej, co nie było jak w modzie, a następnie, jak to jest teraz.
Ale wszystko, co musiałem zrobić, to stworzyć, w istocie, formularz HTML.
>> A że forma wyglądała mniej więcej tak.
Miałem wejście Freshman Nazwa.
Miałem innego pola wyboru, czy lub nie chcieli być kapitanem, co
ich płci był, i co ich akademiku był.
I wtedy trudno kodowane w rzeczy jak Apley Trybunału i Canaday,
Szarości, i tak dalej.
>> Więc znowu, nowe tagi.
Nie widziałem ich wcześniej, nowy atrybuty, ale dość łatwo dostępne.
Po zobaczyć przykład, możesz rodzaju z pożyczyć ten pomysł i zrobić spadek
down menu dla większości wszystkiego.
Ale to, co jest kluczem jest to, że każdy z te rzeczy mają nazwy.
, A na dole tej postaci, jest Przycisk submit, których etykieta,
lub wartość, jest rejestr.
>> Więc chodźmy do tej strony.
Pozwól mi wrócić do wpis katalogu.
Pozwólcie mi iść do froshims, i przejdź do froshim0.php.
Więc to jest ohydne, żeby być w porządku.
Mogłem więc zdecydowanie stylizować tego z niektórych CSS, mogłem zrobić jakiś
grafika, może dodać kilka kolorów, i zrobić to ładniej.
Ale funkcjonalnie, będę argumentować, że ta jest rzeczywiście bardzo kompletny.
>> Niestety, gdy wypełniam to obecnie, David, kapitanie, Male, będziemy wybierać,
powiedzmy Matthews, Rejestracja, wszystko, co się dzieje, jest to.
Zauważmy jednak, kilka bram.
Jedno, co plik wrócił tych Wyniki, najwyraźniej?
Tak to jest, rzeczywiście, register0.php.
Tak więc fakt, że widzieliśmy, że działania wartość chwilą dla register0, to
potwierdza, że ​​rzeczywiście zakończony się w danym pliku.
>> Teraz jest to po prostu brzydkie tekst.
Zauważmy jednak, że ten tekst jest pochodzących z lokalnego komputera,
które jest z urządzenia.
Pomyśl teraz, jak tylko urządzenie serwer, który może być w
Science Center.
Może to być w rzeczywistej sieci.
Więc to jest publicznie dostępne.
>> Tak wyraźnie, istnieje jakiś sposób przekazywania stanowić wkład pole do serwera
tak, że może zrobić coś z nimi.
Niestety, register0 jest dość głupie.
Wszystko to nie jest wydrukować tablicę , który wygląda tak.
I to nie jest tablica w poczucie, że go znamy.
Okazuje się, że w PHP, i wiele języki, mają nie tylko liczbowo
Tablice indeksowane, których pierwszy indeks jest zero, jeden, potem dwa, potem kropka,
dot, dot, n minus 1.
>> To jest to, co się nazywa asocjacyjna.
Tablica asocjacyjna jest taki, w którym można przechowywać kluczowych par wartości, w którym
Klucz nie jest koniecznie numer.
To może być w rzeczywistości ciąg, słowo.
I tak może to być realizowane, pod maską, jak się okazuje,
stosując strukturę danych znany jako?
Myśl coś dramatycznego miało się wydarzyć -
hash table.
>> Więc hash table, przypomnijmy, ci z was, kto to zrobił dla zbioru P 6, a nawet przywołać
to, co najmniej, nawet jeśli nie spróbować, tabeli mieszania, w naszym użycia, został użyty do
tylko zapisać słowa.
Ale tak naprawdę, to były przechowywania klucze i wartości.
Jeśli realizowane tabeli mieszania dla P zestaw 6 słownika, klawisze były
same słowa, i wartości były skutecznie prawdziwe lub fałszywe.
Tak, tutaj, lub w sposób dorozumiany, nie, nie tutaj.
>> Cóż, możemy generalizować, że pomysł.
I możemy użyć bardzo podobne dane Struktura do przechowywania nie ciąg
sobie sam w tabeli mieszania, ale Załóżmy, że w każdym z Państwa hash
Stołu węzły.
I można to zrobić nawet w próbie , a nie tylko mieć bool.
Można mieć coś innego.
Co zrobić, jeśli klucz nie był Maxwell, na instancji, ale cytatu cytat "name" lub
Cytując cytatu "Kapitan". A wewnątrz Twoja struktura danych C, można umieścić
wartość, nie tylko logiczna, ale wartości jak cytatem cytatu "Dawida", lub
"M" lub "Matthews," i tak dalej.
>> Więc tych samych struktur danych użyliśmy podobno istnieją w innych językach.
A ja twierdzą, że są w rzeczywistości dużo, znacznie prostszy dostęp tutaj.
Załóżmy bowiem spojrzeć teraz w jakimś takim składni.
>> Mam zamiar przejść do katalogu PHP.
I mam zamiar otworzyć się lepiej wersja Hello-0 od wcześniej.
Zauważ, że wszystko, co zrobił, było dodać kilka uwag.
Można więc pozbyć się tego szaleństwa.
>> A ten program rzeczywiście drukuje witam, bo już uzgodnienia między
tagi, które chcę wykonać ten kod.
Teraz zobaczymy za chwilę dlaczego to jest przydatne.
Ale Otwórzmy jeden inny przykład.
Pozwólcie mi iść do przodu i otworzyć się powiedzieć, gedit warunków jednego.
>> To jest sposób, w czasie teraz.
Ale tydzień temu, myślę, że w tym tygodniu jeden lub tydzień dwa, mieliśmy o nazwie przykład
conditions1.c.
I postanowiłem reimplement w PHP, tylko rodzaj podkreślić, że
PHP, składniowo, jest niemal identyczna do C. Nie jest to ogromny skok jest
z ostatniego tygodnia do tego.
>> Wskazówka na górze tego programu, które zaczyna, tak jak poprzednio, z niektórymi
Komentarze, które będę pozbyć z jako rozrywkę.
Zauważ, że jestem w PHP Tryb, w tym pliku.
Więc tego kodu, zobaczymy, będzie uzyskać wykonywane.
Zauważ, że jest readline, co jest prawdopodobnie
analog w PHP z GetString.
Zauważ, że jest to trochę inaczej.
Tak naprawdę określić monit o Funkcja o nazwie przeczytać wiersz, a to
to, co widzi użytkownik.
Więc nie musisz się printf ręcznie.
Ale to nie jest wielka sprawa.
Idę do sklepu, wewnątrz $ n, zwrotu wartości tego, więc bez względu na
użytkownik wpisze to ich int.
I jeszcze ciekawostka.
Okazuje się, w PHP, każdą zmienną po prostu musi być poprzedzona
ze znakiem dolara.
Jest to trochę denerwujące.
Zauważmy jednak, co ja nie zrobiłem w PHP.
Czego brakuje z lewej strony strona znak równości?
>> Brak wzmianki o rodzaju.
Więc to jest różne od C. Na lepsze czy na gorsze, PHP jest luźno
wpisany język.
To ma numerów.
To ma strun.
To ma logicznych.
I to ma niewiele inne typy danych.
Ale ty, programista, zwykle nie musisz się martwić o nich.
Plusem jest to, że to sprawia, że to trochę łatwiejsze do programu.
Możesz myśleć trochę mniej.
Minusem jest też otwiera się do potencjalne błędy, jeśli przypadkowo
leczeniu wielu jako ciąg, ciąg jak liczba, potencjalnie, ale nawet
następnie, PHP i wiele języków są bardzo tolerancyjni.
Będą korzystać z tego, co się nazywa niejawny odlewania.
A jeśli spróbujesz użyć n w kontekście liczbowego sytuacji, to będzie
konwersji, co tutaj będzie ciąg, ponieważ jeśli użytkownik wpisze
coś, a otrzymasz wynik, jak z readline, lub uzyskać ciąg,
, że zamierza powrócić ciąg.
>> Ale zauważ, kilka wierszy później sprawdź, czy N jest większe niż zero.
Więc PHP będzie niejawnie rzutować my "Ciąg" 123, czy cokolwiek użytkownik
typy w, do wew.
Tak w skrócie, rzeczy po prostu działa wiele bardziej intuicyjny.
Więc teraz zacząć się zrelaksować kilka rzeczy, które zrobiliśmy w przeszłości.
>> Wiele z tych rzeczy jest sam, choć.
Wciąż nie jest równa jest równa.
Tak na marginesie PHP ma również równa jest równa taniej, ale o tym, być może, w
przyszłość.
To było.
Typo ale dwa znaki równości oznacza same rzeczą, tak jak poprzednio, dla porównania.
printf oznacza to samo, co wcześniej.
Backslash n oznacza same coś jak wcześniej.
>> Więc jak mam uruchomić ten program?
Cóż, tak jak poprzednio, jeśli zrobić w PHP, conditions1.php i wpisz
liczba jak 123.
To jest liczba dodatnia.
Jeśli wpisać 0, I pick 0.
A jeśli wpisuję w negatywnym 123, otrzymuję kopię liczbę ujemną, która jest tylko
powiedzieć, składniowo, PHP jest super, bardzo podobny.
>> Więc dlaczego to jest teraz przydatne w kontekście internetowej?
Dobrze, wróćmy do tego froshims Przykładem, który wyglądał,
znowu, jak to tutaj.
I niech faktycznie podciągnąć stronę internetową ponownie, co wyglądało jak to.
Co możemy zrobić z danych, które jest przekazywane?
>> Cóż, pozwól mi otworzyć się nowsza wersja tego.
I zobaczysz, że problem Specyfikacja zestawy poprowadzi Cię
przez kilka z nich.
Zamiast zacząć od zera, spójrzmy na froshims3,
co robi nieco więcej.
>> Wskazówka pierwsze, rzeczywiście, otwórzmy to, co 0 było, więc widzisz
co rejestr 0 było.
Zauważ, co rejestr 0 zrobił.
Jeden mam komentarze na początku.
Usuń te, i skupić się tylko na tym.
Większość elementów register0.php są, oczywiście, w jakim języku?
Tylko surowe PHP.
>> Więc uprzedzenia, ten plik nie daje się uruchomić się, w tej chwili, wspornikiem otwartym,
znak zapytania, PHP.
PHP nie pozwala przenikają Kod PHP ze znacznikami HTML.
Ale ja zrobiłem, że tu wewnątrz strony tutaj.
>> Teraz znowu, że znasz tylko ten z po przejrzeniu instrukcji. print_r,
Okazuje się, że jest print_recursive. _recursive A to tylko poręczne
funkcja użyteczności, że tylko drukuje, rekurencyjnie, co tylko oddać go.
Jeśli strony to tablicę, będzie to wydrukować tablicę.
Jeśli strony jest wiele, będzie to wydrukować numer.
Strony to ciąg, to będziesz wydrukować ciąg.
Jeśli strony to tabeli mieszania, to wypisze tabeli mieszania.
Nie musisz pisać wszystko tego kodeksu siebie.
>> Teraz zauważył, że jestem wprowadzania Tryb PHP tutaj.
Jestem wyjściu z trybu PHP tutaj.
Tak więc, gdy serwer odczytuje ten plik od góry do dołu, od lewej do prawej, bo
kończy się w pliku o nazwie. php, , co nie jest w środku znaczników PHP
tylko będzie pluć się, jak surowy HTML.
No big deal.
Ale jak tylko serwer zauważy ta, to powie, że nie powinienem
wypluć, dosłownie, print_r z postu.
Należy wykonać następujące linii kodu.
>> Tak więc ostatnie pytanie, a następnie, z archiwum jest dobrze, co do cholery jest?
Zgadnij.
Co to jest $ _POST, chyba?
>> PUBLICZNOŚCI: [niesłyszalne]
>> SPEAKER 1: Tak, przy przesyłaniu danych.
Przypomnijmy, niech przewijania w Czas na chwilę.
froshim0 znów wyglądał tak.
A super większość to tylko HTML.
Ponownie, niektóre tagi nie mają widać jeszcze, lub z którymi
już znasz.
Ale co ciekawe to było.
Ta linia jest to, co naprawdę łączy to do naszego register0.php pliku.
Jestem składania pocztą metody.
A to oznacza, że ​​parametry użytkownik wpisze nie są
skończy gdzie.
>> Nie zamierzamy pokazać się w adresie URL.
Są one nadal będzie wysyłane z Klient, z przeglądarki, aby
Serwer, ale tylko poprzez inne Mechanizm, który będziemy odstąpić nasze ręce
co na dziś, ale nie jest w adresie URL.
Ale zwróć uwagę na relacje teraz z Post, który, zgodnie z konwencją, jest
małe tutaj.
>> Ale jeśli otworzyć register0.php, Jestem widocznie drukowania tego.
Jest to więc rodzaj dziwne nazewnictwo.
Ale to, co jest miłe w PHP jest to, że kiedy PHP w kontekście sieci, a nie na
linii poleceń, tak jak ja przed chwilą, kiedy faktycznie używanego w internecie
Strona, w vhosta katalogu, jak my, automatycznie będzie PHP wypełnić ten
rzeczą, która jest tablicą asocjacyjną, że tak powiem, tabeli mieszania z
wszystko, co użytkownik wpisze w.
>> W skrócie, $ _POST wszystkich nasadek jest zmienna globalna, że ​​PHP tylko
magicznie tworzy dla Ciebie, kiedy PHP w kontekście internetowej.
I to stawia w jej wnętrzu wszystkie Nazwy parametrów w postaci tego
został złożony do tego pliku i wszystkich wartości, które użytkownik wpisze w.
Więc ręce do Ciebie, co użytkownik wpisany w tej formie.
>> Zanim więc, mamy naprawdę głupiego wyjścia po prostu widząc to, ponieważ wszystko co zrobiłem
został rekursywnie wydrukować tej tablicy.
Kluczem jest nazwa, wartość jest David.
Kluczem jest kapitan.
Wartość jest.
I podwójna strzałka i kąt Wspornik nie jest to tylko przypadkowe.
To nie jest kod.
Jest to po prostu sposób na pokazanie PHP cię jaka jest wartość pewnego klucza jest.
>> Ale teraz chciałbym zaproponować, aby w froshIMs3, to prawie identyczne
oprócz tego, że podnosi się do tego pliku.
I znowu jedziemy do rodzaju tylko spojrzeć na to, po prostu, aby zobaczyć niektóre
składnia, ale zauważ, co ten plik jest.
Zgadnij po prostu opiera się na liniach Kod, który prawdopodobnie wyglądasz
Greckiego, do pewnego stopnia, najwyraźniej robi.
>> Ten plik jest w jakiś sposób związane do poczty e-mail.
Więc co jest ten program robi?
W tej wersji, gdybym rzeczywiście wypełnić formularz - i pozwól mi iść do
froshIMs3 nie froshIMs0 -
Formularz wygląda tak samo.
David, kapitan, mężczyzna, akademik, Matthews.
Ale jeśli mogę przesłać ten plik ten jest pójdzie do register3.php.
>> I twierdzą, patrząc na to kod źródłowy, to będzie
jakoś wiązać mail.
Pozwólcie mi iść do przodu i otworzyć ten w większym okna, tak że
widać bardziej czysto.
Jesteśmy w vhosts, hosta lokalnego, public, froshims.
Zamierzam otworzyć inny Program, tak więc
może zobacz więcej na raz.
>> Więc teraz tu zauważyć kilka rzeczy.
Na początku pliku jest otwarty wspornik, znak zapytania, PHP.
Potem jest kilka uwag, które możemy zignorować, jest
nieciekawe teraz.
>> Teraz nie ma tego.
Okazuje PHP ma wiele kodu nazywa wymagają.
Jest to bardzo podobne w duchu do C jest to, które obejmują hash
zasadniczo chwyta zawartość niektórych inny plik i po prostu plops je tutaj,
więc można z nich korzystać.
W tym przypadku urządzenie posiada, preinstalowany, biblioteka, bezpłatne i
Biblioteka open source o nazwie PHP mailer, że każdy może
pobrać z Internetu.
My po prostu zrobiliśmy to za Ciebie.
A to oznacza, że ​​mają teraz e-mail funkcjonalność do mojej dyspozycji.
>> Teraz zauważyć kilka rzeczy.
Zamierzam sprawdzić poprawność formularza składania.
Okazuje się, PHP, jeden, ma okrzyk punktów za nie, podobnie jak operator
C. Ale PHP posiada również funkcję zwane puste.
>> Pusty po prostu zwraca true, jeśli wartość z rzeczy, którą należy oddać je w
nawiasów jest pusta, tak jak użytkownik nie wpisać niczego w.
Więc to mówi, i zawiadomienia składnia, bardzo przypomina C, jeśli
Nazwa klucza, więc nazwa pola w formularzu, który został złożony za pośrednictwem poczty, przez
Użytkownik, nie jest pusta, a ich płeć nie jest pusty w postaci, w
dobrze, a ich akademiku nie jest pusty -
ale zauważ, że nie dbają o Rotmistrzu, Więc co zrobimy?
>> Zamierzam wykonać ta linia kodu.
A może myślisz, że tego rodzaju jak malloc, ale jest to trochę
hodowcy niż.
Ale na razie to daje mi specjalne struct typu PHP mailer.
Ale ignorowanie słów nowego na dzisiaj.
>> Teraz mam zamiar wywołać funkcję o nazwie IsSMTP, który mówi, używać SMTP.
To jest port 25, tak jak wideo w zeszłym tygodniu, kiedy rzecz została rzucanie
maile do zapory.
Port 25 jest SMTP.
SMTP oznacza korzystanie z serwera poczty.
Który z nich, możemy użyć Absolwenci Harvardu SMTP.fas.harvard.edu.
>> Możemy ustawić z adresu być John Harvard-tych.
Gdybym przewijać dalej, można ustawić adres odbiorcy, po prostu
arbitralnie, jest John Harvard jest tak dobrze.
Więc on będzie się wysyłając sobie.
>> Teraz mogę ustawić temat jest rejestracja.
I mogę ustawić ciało Wyślij następująco.
Ta linia wygląda nieco bardziej tajemnicze, ale to tylko dlatego, że jest wiele
informacji w nim.
One, nie dot operator.
Ktoś musi wiedzieć, co już operator kropki robi.
Jest połączeniem.
Więc jeśli chcesz mieć ciąg w PHP, i dołączyć je, lub poprzedzić go, aby
inna w PHP, dzięki Bogu, nie trzeba używać strcopy i malloc,
i wszystko to już.
>> Jeśli chcesz, aby złączyć dwa ciągi, kto dba o pamięci.
Niech postać PHP, że dla ciebie.
Co PHP zrobi z operatorem dot tutaj jest po prostu zrobić duży zdanie out
tej linii, linia ta, linia ta, ta linia.
A teraz informacja, że ​​będzie do podłączania wartości.
Więc email, że John Harvard dzieje otrzymywać dosłownie powie
Nazwa, okrężnicy, coś, a raczej to my zamknąć ciąg i złączyć na
co użytkownik wpisze w, to nowa linia.
>> Potem, w następnym wierszu John Harvard-tych e-mail, to powie
Kapitanie, On albo nic.
To powie płeć, mężczyzna czy kobieta.
Dorm będzie Matthews w moim przypadku.
I wtedy zauważył znajomą średnik na końcu.
A potem, na dole, anons, nieco tajemnicze jeszcze, ale znowu, po
wzór, które staną się bardziej znane po P zestaw 7, czy wysyłanie poczty
zwraca false, a następnie iść do przodu i umrzeć.
>> Więc PHP ma funkcję o nazwie die, które dosłownie, po prostu zabija
stronie internetowej i po prostu drukuje cokolwiek powiedz to - jego umiera
słowa, że ​​tak powiem.
A, że w przypadku, wydrukuje Informacje co do błędu
co się stało się nie udać.
Więc krótko mówiąc, to co mamy Jest to przykład, w którym, gdy użytkownik
przesyła formularz, froshim0, froshims3.php, to idzie do
register3.php.
Ale register3.php następnie przechodzi wykonywanie wszystkich tych linii.
>> Więc jest kilka wynos wziąć tutaj.
Jeden, to najwyraźniej dość łatwe, programowo, wysyłać e-maile,
, co jest dobre.
Gdy użytkownicy zarejestrować się do witryny, w W tym przypadku, kiedy zarejestrować swoje
sportu, możesz napisz pierwszoroczniak Proctor, czy John
Harvard, w tym przypadku.
>> Ale to również oznacza, że ​​można robić, co?
Wyślij e-mail z każdego, dla każdego.
I to jest bardzo prawdziwe.
To nie jest tak łatwo zrobić, jeśli jesteś przyzwyczajony do korzystania z Gmaila.
Ale jeśli kiedykolwiek używane Eudora lub Outlook, można bardzo dużo powiedzieć
serwer poczty, że jesteś kim chcesz.
I to jest, gdy trzeba umieścić na że kapelusz i powiedzieć, nie rób tego.
Ale to jest świadectwem, jak łatwo jest do wykonywania ataków typu phishing oraz
wysyłanie anonimowych e-maili, a spam, bardziej ogólnie.
I tak naprawdę sprowadza się do Fakt, że wszystko czego potrzebujesz to trochę
dostęp programowy.
>> Tak na marginesie, moim spotkaniu najbliższego z board ad, mój pierwszy rok,
Wtedy odkryłem fajny oszukać, że wow, można
wysyłać e-maile od nikogo.
I tak byliśmy na jakiś głupi Argument, dosłownie, w Matthews,
wśród mojej grupy Proctora.
I nawet nie pamiętam jaki problem był.
Ale chciałem spróbować umieścić końca tej głupiej dyskusji.
>> Postanowiłem więc będę po prostu wysłać e-mail do mojej grupy Proctora, udaje
inny facet, z których opinii mi nie zgodził się, i mieć go zgodzić się
co moim zdaniem było w ta konkretna debata.
I tak sfałszowane przy użyciu tego e-maila technika w duchu podobnym do tego.
Ale to było rzeczywiście łatwiej w tym czasie.
Hit wysłać.
Nie był zadowolony, ani nie zostały board ad.
>> A ja bardzo szybko złowioną sekundy, ponieważ, jak wiecie, podpisać
pocztę w pewien sposób.
I choć to zrobić ręcznie, w dużej część, 15 lat później, bo jestem
traumatycznym, że.
Nie mam podpisu na mój e-mail teraz.
Ale w 1995 roku, miałem tylko sig, podpis w moim e-mail.
Więc nie było to uwaga mówiąc, Drogi Grupa Proctor, I pogodzić moje zdanie
i zgadzam się z Dawidem, podpisała więc i tak, nowa linia, nowa linia, DJM.
>> Więc nie rób tego, lub w ogóle, wziąć Zaletą tej techniki.
Jednak podczas tworzenia strony internetowej, jak na Twój projekt końcowy, podczas
strona coś przedsiębiorczości, to jest jak, pragmatycznie, można
wykorzystujące inne usługi w Internecie jak wiadomości, a następnie w rzeczywistości
wysłać rzeczy za pomocą kodu.
>> Więc jak możemy poprawić na to?
Cóż, najpierw weźmy szybki objazd niektóre z rzeczy, które zobaczysz,
, a następnie spójrz na Kilka przykładów.
Tak jeden, uspokoić, bo lecimy przez PHP.
I wiem, że w pewnym momencie, musisz faktycznie rozpocząć pisanie tego, jeśli
jeszcze tego nie zrobiłeś.
Uświadom sobie, że jeden, główny jest rodzaju od zewnątrz okno z PHP.
Jeśli chcesz napisać kod, który otrzymuje wykonywane, po prostu zacząć pisać go w
Plik o nazwie. php, tak długo, jak długo masz otwartą wspornik
znak zapytania PHP tag.
>> Zauważmy jednak, są to Warunki w PHP.
Zauważ, to jest dokładnie ten sam slajd mieliśmy w tydzień jeden, kiedy mieliśmy
warunki C. Warunki w PHP są strukturalnie i
składniowo same.
Jedyną różnicą jest, jeśli masz zmienne zaangażowany, masz te
znaki dolara.
>> Tymczasem wyrażenia logiczne wyglądać podobnie jak ten na
lub-ing lub i-ing razem.
Przełączniki wyglądać dokładnie tak samo.
Co jest miłe w PHP, natomiast w C, przełączniki mają być sprawy dotyczące
prymitywy jak liczb całkowitych lub znaków, w PHP Twoje stwierdzenia przypadków może być rzeczywiście
na cały łańcuchów, który jest rzeczywiście ładne.
Zaoszczędzić trochę czasu.
Nie można tego zrobić w C.
>> Oto na pętli w PHP.
To jest identyczne.
Może mieć pewne znaki dolara dla zmiennych.
Nie trzeba wspomnieć, że coś jest int.
Wystarczy zadeklarować ze znakiem dolara i nazwa zmiennej.
Ale dla pętli jest taki sam.
Pętla jest taki sam.
Zrobić, gdy pętla jest taki sam.
>> To jest trochę inaczej.
A więc z PHP z tablicy, można statycznie zadeklarować tablicę, jak w C,
ale użyć nawiasów kwadratowych.
W języku C, należy użyć nawiasów klamrowych, jeśli nawet nie wiedział, że.
Ale to jest w rzeczywistości bardzo często w PHP zadeklarować tablicę, w tym przypadku,
liczb i zadzwonić numery zmiennych.
>> Zmienne sami wyglądać.
Tutaj jest ciąg, zacytować cytatu "hello świat. "Można mieć odwrotny ukośnik n.
I po prostu nie w tym przypadku.
>> Teraz jest to ciekawa konstrukcja.
C nie ma tego.
Ale to jest bardzo pomocne.
I zobaczysz, to w zestawie P 7 Spec - dla każdej konstrukcji.
Jeśli chcesz powtórzyć na wszystkich elementy tablicy, nie musisz
do czynienia z $ i oraz $ n, i + +, i to wszystko.
Można dosłownie powiedzieć, w PHP, to -
dla każdej liczby, jak wielu, tak Jestem zakładając, że $ numbers
jest tablicą liczb.
A kiedy mówię do każdego numerami w ilości, to będzie
automatycznie, tak jak moja pętla wykonuje, aktualizować, na każdej iteracji, wartość
wewnątrz numeru znak dolara -
znowu, i znowu, i znowu pieszo dla mnie na tej tablicy.
Więc to tylko oszczędza nam kod.
Brak średniki, no + + 's, no i to, Nie N-tych, to jest po prostu ładny.
>> Ale PHP ma również ten.
I to jest bardzo potężne.
I będziesz używać, ręce on, w P ustawić 7.
I asocjacyjna jest również uznane w nawiasach kwadratowych.
Ale zwróć uwagę na składnię teraz.
To przypomina to, co widzieliśmy z print_r chwilą.
Ile kluczy, jako mały zdroworozsądkowe sprawdzenie, ma ta tablica wydaje się mieć.
>> Więc to ma dwa.
A ja nazywam tę tablicę.
Ale czy to pomaga, można myśleć tej tabeli jako skrótu lub jako
asocjacyjna.
Ale to jest po prostu inna typ tablicy.
I znowu, różne języki mieć te.
Zobaczymy coś podobnego w JavaScript, jak również.
Są dwa klucze.
Jednym z nich jest cytatu cytat, "symbol", jeden jest Cytując cytatu "cena". A te klucze
Każdy z nich posiada wartość.
W tym przypadku wartość symbolu FB, dla Facebook, a ceną jego wartość to 49, 26,
który był Zdjęcie Facebooka cena jak z rana.
>> Tak więc to, co jest przydatne informacje asocjacyjna.
Mogłem mieć numerycznie indeksowana tablica z tylko
proste nawiasach kwadratowych.
A może miałem znak dolara cytat równa właśnie tego.
Pozwól, że rzeczywiście to zrobić.
Załóżmy, że zamiast po prostu oświadczył ta tablica tak.
To jest całkowicie poprawny, składniowo.
To nie traci żadnych informacji, per se.
Nadal widzę, że symbol jest fb, a cena wynosi 49, 26.
Więc dlaczego są zespolone tablice ważne?
>> PUBLICZNOŚCI: Nie musisz pamiętać gdzie umieścić rzeczy.
>> SPEAKER 1: Dokładnie, nie trzeba Zapamiętaj, gdzie umieścić rzeczy.
Nie masz arbitralnie pamiętać że symbol stock jest uchwytem zero
, a ceny akcji w przedziale jednego, co jest szczególnie niebezpieczne, jeśli
zmienić ten stan rzeczy, w końcu.
Jest o wiele ładniejsza skojarzyć to, co my nazywamy metadanych
ze swoimi rzeczywistymi danymi.
Chciałbym twierdzić, że to, co naprawdę obchodzi tutaj o fb i 49, 26.
Symbol i cena to metadane , który opisuje dane nam
faktycznie zależy.
Ale to tylko tyle łatwiej dostępne.
>> Teraz, jak na bok to, co jest cena, którą płacimy?
Robiliśmy to w CS50 na tydzień.
Funkcja ta musi się w pewnym kosztem.
Pamięć.
Więc nie tylko przechowywaniem 32-bit liczbę całkowitą, na przykład.
Jesteś przechowywania symbol / 0, prawdopodobnie.
Więc używasz więcej pamięci.
>> I co jest wydajność szuka czegoś w
asocjacyjna, chyba?
To prawdopodobnie wolniej.
Losowe dostęp jest ładne, zwłaszcza kiedy można zrobić wyszukiwanie binarne.
Ale jeśli rzeczywiście teraz nie patrząc numerów, ale na smyczki, to
naprawdę jest realizowany pod kaptur, prawdopodobnie w tabeli mieszania, gdzie
można użyć tabeli mieszania z oddzielnym łańcuchowych.
Albo użyć spróbować faktycznie przechowywania wartości.
Więc może można zrobić, stały czas, ale trzeba jeszcze patrzeć na S-Y-M-B-O-L,
potencjalnie, zamiast tylko 32 bity szukać coś.
Więc jeszcze raz, te same idee nadchodzi powrotem do nawrotów w tym kontekście.
>> Ale znowu, PHP ma teraz niektóre bardzo globalnych, które, jak się okazuje, są
tablice asocjacyjne.
Widzieliśmy jedną chwilą, $ _POST.
I że super globalnych ma klucze i wartości.
Konkretnie, klucze linii z czego?
Gdzie klucze w $ _POST pochodzą?
Wystarczy zakręcić?
>> PUBLICZNOŚCI: Nazwa.
>> SPEAKER 1: Imię i nazwisko, to gdzie?
>> PUBLICZNOŚCI: [niesłyszalne]
>> SPEAKER 1: Nazwa jest atrybut.
No gdzie, skąd oni pierwotnie pochodzą z?
Forma.
Tak więc, jeśli strona HTML zawiera znacznik formularza wewnątrz którego są pewne nakłady, jak
pola wyboru, pola tekstowe, rozwijane menu, z których każdy ma swoją nazwę, te
Nazwy skończyć jako kluczy w $ _POST, a szczerze mówiąc, o to chodzi, $ _GET.
Jeśli metoda get, sam pomysł.
To jest po prostu w innym super-Global.
I wartości, oczywiście, pochodzić od co użytkownik wpisał się w jego lub
jej przeglądarki.
>> Ale jest kilka innych.
Jest ciasteczko, które my będziemy wrócić w końcu.
Ale to są rzeczy, które znasz internetowa korzysta na niektóre dobra lub zła.
Ale wrócimy do tego.
Server i sesji, a te dwa mieć jakieś specjalne narzędzia.
>> Ale rzućmy okiem na to.
Pozwólcie mi iść do przodu i otworzyć przykład nazywa mvc0.php Więc MVC
oznacza poniżej.
I wprowadzimy tego wcześniej, niż jest typowy, bardzo, aby można projektowania
Set Problem 7, a także ostateczne projekty, w rodzaju przemysłu
standardowy sposób i czysty sposób.
Jest to dobry projekt.
>> Więc jesteś by zobaczyć, i będziesz doświadczenie, w P zestaw 7, paradygmatu, sortowania
z myślenia programowania, który wygląda trochę coś takiego.
M dla modelu C, do kontrolera, V Widok.
Krótko mówiąc, jest po prostu rodzaj MVC metodologii, sposób dokonywania
Strony, w szczególności, za pomocą którego można umieścić wszystkie swoje, frazy głupi -
logika biznesowa -
wszystkie swoje własności intelektualnej w co nazywa kontrolera, plik
jak index.php, bo widzimy, quote.php lub buy.php.
>> W kontekście zestawu Problem 7, twój Modele zawierają zwykle dane,
wszystko związane z bazą danych, a my będziemy w końcu zobaczyć, a swoje poglądy
zawierają estetykę TWOJEGO site, HTML, CSS.
Więc już się o tym w C mało bit za pomocą plików. godzin.
Naprawdę widziałem przed chwilą z CSS, przez faktoringu stylizacji CSS
rzeczy z naszej HTML.
>> Więc MVC jest naprawdę tylko o rysunek Linie w piasku i mówiąc,
ciekawe Kod programowania dla swojego Strona należy do tego, co my nazywamy
kontroler.
Rzeczy związane z bazą danych zazwyczaj kończy się w modelu.
Ale zobaczymy, w komplecie Problem 7, my seryjnej C i M, aby utrzymać prostą.
Ale widok jest gdzie wszystkie kodu HTML i estetyka zazwyczaj przejść.
>> Więc co to oznacza w ujęciu realnym?
Cóż, pozwól mi odejść do naszego MVC katalog następująco.
I zobaczysz więcej z nich koncertował przez w specyfikacji.
Więc w mvc0, I twierdzą, że jest to, jak, wersja 0 stron CS50 jest.
>> Wszyscy mamy pewne HTML, jak duży tag h1, najwyraźniej.
A potem lista punktowana.
Nigdy nie widziałem listy punktowanej wcześniej, ale nic wielkiego.
Niech szybko zajrzeć na kodzie źródłowym.
Okazuje się, listę nieuporządkowaną kulami jest otwarta ul wspornik z jedną lub
więcej pozycji lista Li.
Więc Ogłoszenie o to tag kotwicy.
Widzieliśmy, że chwilę temu.
>> Tak to jest jak się wdrożyć ta strona.
Mam dwa łącza, dwa listy elementów, jeden ul dla listy nieuporządkowanej, i koniec
Wynik, estetycznie, jest to bardzo ładna strona, wersja 0 tutaj.
Ale co ciekawe, jak to jest obecnie jest realizowany pod maską.
>> Pozwólcie mi iść do gedit i otwarcie tego Pierwszy przykład namalować obraz.
A my będziemy patrzeć na to, co jest błędne, potencjalnie tutaj.
Teraz, jeśli pójdę do localhost, publicznym, MVC, zauważysz kilka plików.
Mam zamiar zadzwonić do nich, na Moment, wszystkie sterowniki.
Ale to trochę nadużycie, ponieważ zobaczysz wszystko jest zmieszane
wewnątrz nich.
>> I pozwól mi wejść do środka z index.php.
I widzimy, dosłownie, ten sam kod HTML.
Więc nawet jeśli ten plik kończy się w . Php, to nie znaczy, że musi
mieć dowolny kod PHP.
To może być po prostu surowy HTML, choć to trochę głupie.
Zauważmy jednak, że nie ma open bracket PHP oznaczyć, z wyjątkiem tego, co, szczerze mówiąc,
jest tylko tam, aby służyć jako komentarz.
Ale to nie jest funkcjonalnie nawet, że interesujące.
>> Ale to zauważyć.
Co ciekawe jest to, co teraz Zmiany na tej stronie.
Pozwól mi kliknąć wykładów.
I zauważyć URL ma się zmienić.
Teraz jestem w lectures.php.
Pozwól mi kliknąć zero.
Teraz jestem w week0.php A teraz mi otworzyć te pliki w gedit.
Nie tylko index, ale niech mi otworzyć się wykłady.
I niech mi pozbyć komentarzach skupić się na tej części tylko.
>> A teraz pozwól mi otworzyć tylko jeden, week0.php, wyrzucić komentarz
żeby to posprzątać.
A teraz zauważyć, co następuje.
Myślenie naprawdę rodzaj dokładnie o design, i zróbmy go wiersz
do tego samego, co można zrobić lepiej tutaj, jak myślisz?
>> Jak mogłem zrobić kilku tygodni?
Jak o tym.
Tak to jest, jak zrobiłem tydzień jeden.
I udał się do pliku, Nowy, Wklej, Zapisz, week1.php, a następnie udałem się tutaj.
I zmienił jeden -
co to było, jeden do piątku.
Zmieniłem zera do jednego.
Zmieniłem to do jednego.
>> OK, więc teraz spojrzeć na moje pliki.
Co można było zrobić inaczej?
Gdzie jest okazja, być może?
Więc jest szansa, aby rozpocząć factoring te rzeczy na zewnątrz.
Pozwól mi otworzyć, jako spoiler, dla co zobaczymy w zestawie P 7.
Jeśli otworzyć się teraz, index.php w wersji pięć z tego, że wygląda tak
bardziej tajemnicze, prawda.
>> Ale teraz, jest to, co ja nazywam Kontroler, który jest kontrolowanie
Logika mojej stronie.
I można rodzaj rekonstrukcji, intuicyjnie, być może, co się dzieje.
Na pierwszej linii, to trochę tajemnicze.
Zauważmy jednak, jestem wymagający, jak z ostre obejmują, plik o nazwie
helpers.php.
A potem dzwonię, najwyraźniej, Funkcja o nazwie renderowania, przekazując
dwa argumenty.
>> Jednym z nich jest cytatu, cytuję nagłówek.
A drugi jest, jakie typ danych jest to, oparte
na nasz składnia wcześniej?
Jest to związane array.
Konkretnie, to przechodzi w tytule z niektórych metadanych, które przypomina
mi, co to jest, a jej wartość.
Wtedy widzę zakodowana ul, więc niektóre surowe HTML.
Ale jestem z powrotem w tryb PHP wywołanie renderowania funkcji.
Tak więc, nawet jeśli nigdy nie używane HTML lub PHP wcześniej, a mimo to wygląda
straszniejsze, dlaczego jest to prawdopodobnie lepszy projekt?
Co jest lepsze o nim, oparta na wnioskowaniu?
>> PUBLICZNOŚCI: [niesłyszalne]
>> SPEAKER 1: Mniej zwolnionych w które nie ma więcej HTML tag, nie więcej
Szefowie tag, tag ciała nie więcej w każdym cholernym pliku.
Zamiast tego mam zbitek podobieństwa i przypuszczalnie umieścić je
do pliku w jakiś sposób związane do nagłówka.
I to samo dla bliskiej ciała tag, blisko HTML tag.
To chyba tu, wewnątrz w stopce gdzieś.
I zobaczysz, w komplecie Problem 7, mały objazd przez to.
>> Tak więc to, co jest przed nami?
Jedyną rzeczą, której nie są w stanie jeszcze jest właściwie przechowywać dane.
I co z tego zaczniemy widzieć Środa, na przykład, jest to, że
stary przyjaciel Excel lub numerów, pozwala przechowywać wiele
Dane w wierszach i kolumnach.
Okazuje się, że można to zrobić w co nazwie bazy danych, programowo.
maniakalny I okazuje się, po tym, będziemy mogli przechowywać takie rzeczy jak
tego, co można zobaczyć ponownie w zestawie P 7, cała masa nazw użytkowników i
haseł, z czego ten ostatni jest rzeczywiście zaszyfrowane, podobnie jak oni
były w wydaniu hakerów pUstaw 2 za.
I w końcu, można zaimplementować to, własne Etrade-jak strona, która
realizuje wspólnie CS50 finansów.
>> Wreszcie, ponieważ byliśmy tu tak późno dzisiaj, jeśli wrócisz do tej części
kampusu, na 16:00 dzisiaj, będziemy daje nie tylko porady, w SCE
Doradztwo Targi, na 16:00 w Maxwell-Dworkin, podamy niektóre
Sen Americone, Cherry Garcia, Chocolate Fudge Brownie, Chocolate
Chip Cookie Dough, a kiedy Google Chunky Monkey, to masz.
Więc wszystko to czeka na 04:00 PM w Maxwell-Dworkin.
Do zobaczenia w środę również.
>> Głośnik 2: Na następny CS50, RJ śpi w.
>> RJ: Mój punkt!
Ha!
Oh,