1 00:00:00,000 --> 00:00:11,470 2 00:00:11,470 --> 00:00:12,764 >> SPEAKER 1: Wszystko, tak mile widziany. 3 00:00:12,764 --> 00:00:14,140 To CS50. 4 00:00:14,140 --> 00:00:16,800 I to jest początek tygodnia dziewięć. 5 00:00:16,800 --> 00:00:19,960 I jest to początek końca Twój czas w CS50, w którym 6 00:00:19,960 --> 00:00:23,170 Przejście się wreszcie do sieci aspektem oczywiście, gdzie będziesz 7 00:00:23,170 --> 00:00:26,200 okazać, że wiele podstaw, że my eksportujemy za tydzień 8 00:00:26,200 --> 00:00:29,270 jeszcze wrócić do odwiedzenia, lub prześladować, z nami. 9 00:00:29,270 --> 00:00:33,440 Ale teraz, przekonasz się, że jest to rząd wielkości łatwiejsze 10 00:00:33,440 --> 00:00:36,540 realizacji określonych zadań i rozwiązania pewnych problemów - 11 00:00:36,540 --> 00:00:41,050 tak bardzo, że nawet jeśli myśli niektóre zestawy zadań były zabawne w ich 12 00:00:41,050 --> 00:00:44,200 własny sposób, myślę, że znajdziesz że p zestaw 7, s. zestaw 8, a następnie, 13 00:00:44,200 --> 00:00:47,990 Ostatecznie projekt końcowy będzie tym bardziej satysfakcjonujące, bo będziesz 14 00:00:47,990 --> 00:00:51,830 okazać, że zaczynamy brać za pewnik teraz takie rzeczy jak zarządzanie pamięcią, a 15 00:00:51,830 --> 00:00:54,190 wskaźniki, a co się dzieje on pod maską. 16 00:00:54,190 --> 00:00:57,310 I znowu, tematycznych, wszystko przez Semestr jest to nakładanie 17 00:00:57,310 --> 00:00:58,030 i warstw. 18 00:00:58,030 --> 00:01:00,530 A teraz jesteśmy jakby się tutaj, stojąc na 19 00:01:00,530 --> 00:01:01,930 ramiona tydzień przeszłości. 20 00:01:01,930 --> 00:01:05,360 >> Teraz pamiętam z ostatniej chwili, że mówił o tym, jak internet działa. 21 00:01:05,360 --> 00:01:08,120 I to był chyba uproszczeniem, ale pamiętaj, że 22 00:01:08,120 --> 00:01:12,960 każdy komputer na świecie ma adres zajęcia, choć jest to trochę 23 00:01:12,960 --> 00:01:14,570 uproszczeniem nadal. 24 00:01:14,570 --> 00:01:18,180 A te adresy są używane do jednoznacznego identyfikacji maszyn, tak aby 25 00:01:18,180 --> 00:01:22,010 podczas wysyłania informacji lub pakietów że tak powiem, mogą mieć pochodzenie 26 00:01:22,010 --> 00:01:24,000 adres i adres docelowy. 27 00:01:24,000 --> 00:01:27,830 I te same adresy IP mogą być używane zarówno dobre, jak i na złe, 28 00:01:27,830 --> 00:01:29,270 do śledzenia użytkownika, na przykład. 29 00:01:29,270 --> 00:01:32,200 W rzeczywistości każdy z was z laptopem otworzyć się, czy telefon w telefonie 30 00:01:32,200 --> 00:01:35,070 kieszeni, ma adres IP na sieci Harvardu. 31 00:01:35,070 --> 00:01:39,120 I to nie jest takie trudne do skorelowane, że kto i gdzie 32 00:01:39,120 --> 00:01:40,180 są te dni. 33 00:01:40,180 --> 00:01:42,090 Ale o tym może w przyszłości. 34 00:01:42,090 --> 00:01:46,510 >> Teraz pomyślałem, że przywrócić niektóre wspomnienia [? poprawić?] i daje 35 00:01:46,510 --> 00:01:49,360 kolejny klip z pokazują, może znaleźć znajome. 36 00:01:49,360 --> 00:01:52,710 Gdybyśmy mogli przyciemnić światła w ciągu kilku sekund. 37 00:01:52,710 --> 00:01:53,960 W Numb3rs show. 38 00:01:53,960 --> 00:01:57,510 39 00:01:57,510 --> 00:02:00,540 >> Głośnik 2: Jest to 32-bitowy adres IPP4. 40 00:02:00,540 --> 00:02:01,610 >> SPEAKER 3: IPP, jak w internecie? 41 00:02:01,610 --> 00:02:02,968 >> Głośnik 2: Sieć prywatna. 42 00:02:02,968 --> 00:02:04,960 Do sieci prywatnej Amita jest. 43 00:02:04,960 --> 00:02:16,930 44 00:02:16,930 --> 00:02:19,602 Ona jest tak niesamowite. 45 00:02:19,602 --> 00:02:21,030 >> SPEAKER 3: Chodź, Charlie. 46 00:02:21,030 --> 00:02:21,490 >> Głośnik 2: Jest. 47 00:02:21,490 --> 00:02:22,470 Adres IP lustro. 48 00:02:22,470 --> 00:02:27,680 Ona pozwalając nam oglądać to, co ona robi w czasie rzeczywistym. 49 00:02:27,680 --> 00:02:30,930 >> SPEAKER 1: OK, więc kilka rzeczy tak z tym obrazem. 50 00:02:30,930 --> 00:02:32,920 Tak więc jeden i ten jest dopuszczalny, jest to rzeczywiście 51 00:02:32,920 --> 00:02:34,400 nie podany adres IP. 52 00:02:34,400 --> 00:02:38,190 Podany adres IP musi być liczbami w postaci w.x.y.z, gdzie każdy z 53 00:02:38,190 --> 00:02:40,000 te litery od 0 do 255. 54 00:02:40,000 --> 00:02:42,330 Ale to dobrze, bo tak jak filmy gdzie oni fałszywe numery telefonów, 55 00:02:42,330 --> 00:02:43,520 oni fałszywy adres IP. 56 00:02:43,520 --> 00:02:45,230 W rzeczywistości nie trafić fizycznych serwerów. 57 00:02:45,230 --> 00:02:46,760 >> Ale pamiętajcie, to jest przeglądarka. 58 00:02:46,760 --> 00:02:50,760 A przeglądarki nie rozpocząć drukowanie kod komputerowy tak. 59 00:02:50,760 --> 00:02:54,230 A jeśli spojrzeć głębiej, zauważysz że język, że widzisz 60 00:02:54,230 --> 00:02:57,040 na ekranie jest nazywany językiem Objective C, który jest językiem 61 00:02:57,040 --> 00:02:59,520 które aplikacje iPhone są zapisywane, zwłaszcza te z udziałem 62 00:02:59,520 --> 00:03:03,540 kredki, jak widać z Kod źródłowy tutaj. 63 00:03:03,540 --> 00:03:06,600 64 00:03:06,600 --> 00:03:07,560 >> OK, myślałem, że to było zabawne. 65 00:03:07,560 --> 00:03:12,240 Więc ten fragment kodu ma absolutnie nic wspólnego z tym, co 66 00:03:12,240 --> 00:03:13,940 szczególności odcinek był o. 67 00:03:13,940 --> 00:03:17,590 Więc żart rodzaju na ludzi biorąc za to pewnik. 68 00:03:17,590 --> 00:03:20,220 Ale to nie wszystko, że trudno dostać tych szczegółów technicznych. 69 00:03:20,220 --> 00:03:21,980 A ja zachęcam. 70 00:03:21,980 --> 00:03:25,530 I rzeczywiście, 50 może być bardzo dobrze zepsuć Wiele programów telewizyjnych i filmów, albo 71 00:03:25,530 --> 00:03:27,320 bo przekonasz się, że to jest po prostu nie jest możliwe, co oni 72 00:03:27,320 --> 00:03:28,630 robi na ekranie. 73 00:03:28,630 --> 00:03:31,750 Ale rzeczywiście, jest to kod, który może zobaczyć go w aplikacji iPhone 74 00:03:31,750 --> 00:03:33,640 lub Mac aplikacji OS. 75 00:03:33,640 --> 00:03:35,685 To nie ma nic w ogóle do czynienia z bezpieczeństwem. 76 00:03:35,685 --> 00:03:38,610 Tak więc miej oko na więcej takie rzeczy jak to. zabawa 77 00:03:38,610 --> 00:03:42,720 >> Ale dziś zaczynamy nurkować w naprawdę głęboko do całego szeregu języków. 78 00:03:42,720 --> 00:03:45,410 Rzeczywiście, jeden z nadrzędnych dania na wynos z tej części 79 00:03:45,410 --> 00:03:51,815 Kurs nie jest aby nauczyć się programować w PHP, nie do nauki SQL per se, nie 80 00:03:51,815 --> 00:03:58,100 do nauki JavaScript per se, ale raczej uczyć się, jak uczyć 81 00:03:58,100 --> 00:04:02,030 yourself nowe języki, bo rzeczywiście, zaczynamy się teraz 82 00:04:02,030 --> 00:04:06,020 kółka się tak, że po kursu od końca, nie należy się spodziewać 20 83 00:04:06,020 --> 00:04:08,890 Specyfikacja strona powiedzieć, jak wdrożyć jakiś program. 84 00:04:08,890 --> 00:04:12,970 Masz wystarczająco dużo składników, w swoim umysł, i wystarczająco dużo narzędzi w narzędziu 85 00:04:12,970 --> 00:04:15,750 kit, z których do rozpoczęcia budowy rozwiązania problemów będących przedmiotem zainteresowania 86 00:04:15,750 --> 00:04:19,130 jesteś dla jakiejś grupy studentów, dla niektórych cokolwiek projekt badawczy, czy naprawdę 87 00:04:19,130 --> 00:04:20,140 interesujące dla ciebie. 88 00:04:20,140 --> 00:04:24,150 >> Więc ku tym celu przypomnieć, że jest to picture my ciągnęliśmy to ostatni raz. 89 00:04:24,150 --> 00:04:27,620 A to dwa komputery, klient i sever, mówi do siebie. 90 00:04:27,620 --> 00:04:31,130 I protokół, język, tak aby mówią, że te dwa komputery się 91 00:04:31,130 --> 00:04:33,220 nie mówiąc nazywa HTTP. 92 00:04:33,220 --> 00:04:37,730 A to tylko protokół używany przez komputery do przesyłania informacji na 93 00:04:37,730 --> 00:04:38,710 World Wide Web. 94 00:04:38,710 --> 00:04:41,770 Web, oczywiście, jest tylko jedna usługa który działa na szczycie 95 00:04:41,770 --> 00:04:43,000 tzw. internet. 96 00:04:43,000 --> 00:04:48,660 Co jest inna usługa na top w internecie w dzisiejszych czasach? 97 00:04:48,660 --> 00:04:51,600 Niektóre protokoły lub - co to jest? 98 00:04:51,600 --> 00:04:52,300 >> PUBLICZNOŚCI: FTP. 99 00:04:52,300 --> 00:04:52,790 >> SPEAKER 1: FTP. 100 00:04:52,790 --> 00:04:54,630 File Transfer Protocol więc jest inny. 101 00:04:54,630 --> 00:04:56,050 Większość z was prawdopodobnie nie zostały wykorzystane. 102 00:04:56,050 --> 00:04:58,830 Ale większość z was prawdopodobnie używali rzeczy, jak Gchat lub momentem 103 00:04:58,830 --> 00:05:00,970 messaging bardziej ogólnie, pewnością email. 104 00:05:00,970 --> 00:05:04,470 A te też są to usługi, które działają na top z Internetu, ponieważ w 105 00:05:04,470 --> 00:05:08,180 Koniec dnia, sam internet naprawdę tylko uzyskać dane z punktu A do 106 00:05:08,180 --> 00:05:12,480 Punkt B. I to wykorzystuje kilka Cząstki się jeden lub dwa z nich 107 00:05:12,480 --> 00:05:17,340 z nich najbardziej ogólnie nazywa TCP / IP, to znaczy, że jeden komputer 108 00:05:17,340 --> 00:05:19,960 Internet może być rzeczywiście robi różne rzeczy, e-mail, 109 00:05:19,960 --> 00:05:20,980 i Web, i tak dalej. 110 00:05:20,980 --> 00:05:22,220 Google ma dużo tego. 111 00:05:22,220 --> 00:05:26,310 Więc jak to usługi te jednoznacznie zidentyfikowany, nie możemy powiedzieć, na komputerze 112 00:05:26,310 --> 00:05:29,080 , które mogą być w rzeczywistości robi wiele rzeczy? 113 00:05:29,080 --> 00:05:29,860 >> Numer portu. 114 00:05:29,860 --> 00:05:34,180 A to tylko arbitralne ludzkie konwencje, takie jak 80 to sieć, 443 jest 115 00:05:34,180 --> 00:05:36,580 szyfrowane web, 25 jest e-mail. 116 00:05:36,580 --> 00:05:38,230 I jest kiście innych. 117 00:05:38,230 --> 00:05:41,860 A te liczby są po prostu wliczone w Pakiety te informacje, te 118 00:05:41,860 --> 00:05:46,230 virtual koperty, które faktycznie zawierał wniosek lub odpowiedź. 119 00:05:46,230 --> 00:05:51,300 >> Więc kiedy wrócisz odpowiedź od web, zwykle, nie widać żadnych 120 00:05:51,300 --> 00:05:54,780 Liczby w żaden sposób, jeśli chodzi o kod stanu reakcji. 121 00:05:54,780 --> 00:05:56,770 W rzeczywistości nie zobaczyć wewnętrzne funkcjonowanie 122 00:05:56,770 --> 00:05:58,090 pakiety, które pochodzą z powrotem. 123 00:05:58,090 --> 00:05:59,860 Ale 200 rzeczywiście znaczy OK. 124 00:05:59,860 --> 00:06:01,530 A to oznacza, wszystko jest dobrze. 125 00:06:01,530 --> 00:06:02,870 Być może już kilka z nich. 126 00:06:02,870 --> 00:06:05,710 Który jest prawdopodobnie najczęściej widziałem w internecie? 127 00:06:05,710 --> 00:06:05,980 >> 404. 128 00:06:05,980 --> 00:06:07,330 To po prostu oznacza, nie znaleziono pliku. 129 00:06:07,330 --> 00:06:08,270 To oznacza, że ​​ktoś spieprzył. 130 00:06:08,270 --> 00:06:11,450 Zrobiłeś przez pomyłki adres URL, lub ktoś indziej nie dając Ci 131 00:06:11,450 --> 00:06:15,100 nieprawidłowy adres URL, albo usunąć pliku i URL jest nadal 132 00:06:15,100 --> 00:06:16,130 są wykorzystywane przez ludzi. 133 00:06:16,130 --> 00:06:19,670 Więc z wielu powodów może wyjaśnić dlaczego plik nie został znaleziony. 134 00:06:19,670 --> 00:06:22,990 I zobaczysz, w najbliższych tygodniach, te inne kody błędów, i będziesz 135 00:06:22,990 --> 00:06:24,195 skorzystać z niektórych z nich. 136 00:06:24,195 --> 00:06:25,760 Najgorsze jest to 500. 137 00:06:25,760 --> 00:06:29,820 Jeśli pojawi się błąd 500 w kodzie masz napisane, myśleć, że jako swego rodzaju 138 00:06:29,820 --> 00:06:33,290 analog usterek SEG w świat programowania WWW. 139 00:06:33,290 --> 00:06:34,560 To nie jest aż tak tragiczna. 140 00:06:34,560 --> 00:06:36,660 Ale to tylko oznacza, że ​​gdzieś, Ci spieprzył. 141 00:06:36,660 --> 00:06:38,260 Więc czekamy na te. 142 00:06:38,260 --> 00:06:39,910 >> Ale zobaczymy, czy możemy zobaczyć je w kontekście. 143 00:06:39,910 --> 00:06:43,460 Pozwólcie mi odejść do przeglądarki tutaj i wykonaj następujące czynności. 144 00:06:43,460 --> 00:06:45,710 Więc to jest Chrome, co dzieje się zostać zainstalowany w urządzeniu. 145 00:06:45,710 --> 00:06:49,410 Ale najbardziej każda przeglądarka te dni ma niektóre równoważną funkcjonalność. 146 00:06:49,410 --> 00:06:52,610 Mam zamiar iść do Chrome menu, i przejdź do menu Narzędzia, a ja pójdę 147 00:06:52,610 --> 00:06:53,990 Narzędzia dla programistów. 148 00:06:53,990 --> 00:06:57,040 I zobaczysz, że ten mały panel otwiera się w dolnej części okna. 149 00:06:57,040 --> 00:07:00,190 Kolejny skrót, szczerze mówiąc, że zwykle używają sobie jest Kliknij prawym przyciskiem myszy 150 00:07:00,190 --> 00:07:04,370 lub sterowania kliknij gdziekolwiek w sieci strona i po prostu iść do kontroli elementu. 151 00:07:04,370 --> 00:07:07,440 I to nie tylko otwarte to ma dla Ciebie. 152 00:07:07,440 --> 00:07:10,230 Będzie również otworzyć, szczególnie, Część elementów na 153 00:07:10,230 --> 00:07:11,430 lewej stronie. 154 00:07:11,430 --> 00:07:12,460 >> Więc jesteśmy oczywiście widząc Google. 155 00:07:12,460 --> 00:07:13,930 Oni zmienili logo dziś. 156 00:07:13,930 --> 00:07:20,200 Ale gdybym przewijać się tutaj, zawiadomienia że pod elementami, widać 157 00:07:20,200 --> 00:07:23,460 co nazywa HTML, HyperText Markup Języka, a to jest język 158 00:07:23,460 --> 00:07:26,000 że ten i wszystkie strony internetowe, naprawdę, są napisane w. 159 00:07:26,000 --> 00:07:28,950 Ale to właściwie sformatowany nam o wiele bardziej czytelnie 160 00:07:28,950 --> 00:07:29,970 niż to zwykle jest. 161 00:07:29,970 --> 00:07:34,810 W rzeczywistości, jeśli pomniejszyć, a ja zamiast wystarczy kliknąć prawym przyciskiem lub sterowania kliknij 162 00:07:34,810 --> 00:07:39,630 kliknij na stronie, a następnie przejdź do Widok Źródło strony, to jest dosłownie to, co 163 00:07:39,630 --> 00:07:42,150 Google zesłany do mojej przeglądarce. 164 00:07:42,150 --> 00:07:46,480 >> Więc niektóre osoby lub osób napisał Google.com za pomocą tego kodu źródłowego. 165 00:07:46,480 --> 00:07:47,790 Większość z nich nie jest HTML. 166 00:07:47,790 --> 00:07:49,340 To rzeczywiście nazywa język JavaScript, który 167 00:07:49,340 --> 00:07:50,880 dojdziemy do środa. 168 00:07:50,880 --> 00:07:55,580 Ale co Chrome, a co każda przeglądarka może zrobić dla nas, niby zobaczyć 169 00:07:55,580 --> 00:07:59,610 obok wszystkich rozpraszających szalony składnia i ponownie włożyć spacje 170 00:07:59,610 --> 00:08:02,940 dla nas, a nawet podświetlanie składni, lub kolorowanie rzeczy dla nas. 171 00:08:02,940 --> 00:08:06,470 Więc przekonasz się, że te tak zwane narzędzia deweloperskie wbudowane w przeglądarkach 172 00:08:06,470 --> 00:08:10,830 sprawi, że życie tak, o wiele łatwiej ponieważ można zbadać, za pośrednictwem tego menu 173 00:08:10,830 --> 00:08:13,940 interfejs, co dokładnie bazowego Kod źródłowy jest dla 174 00:08:13,940 --> 00:08:15,750 każda strona w internecie. 175 00:08:15,750 --> 00:08:19,070 I rzeczywiście, jest to jeden z najbardziej skutecznych sposobów, aby dowiedzieć się jak to zrobić 176 00:08:19,070 --> 00:08:22,860 coś nowego, przynajmniej jeśli strona nie jest tak skomplikowane jak się przytłoczyć, jest 177 00:08:22,860 --> 00:08:26,700 aby zacząć zabawę to HTML, spójrz na jej tzw CSS, który Przyjdziemy 178 00:08:26,700 --> 00:08:30,310 się trochę, jak również, aby zrozumienie, w jaki sposób programista 179 00:08:30,310 --> 00:08:33,480 wdrożone niektóre szczególności Funkcja strony. 180 00:08:33,480 --> 00:08:36,530 >> Ale bardziej technicznie ciekawe prawo teraz to będzie to. 181 00:08:36,530 --> 00:08:39,429 Jeśli pójdę do karty sieciowej, niech teraz usunąć tego. 182 00:08:39,429 --> 00:08:43,429 Zamierzam kliknij mały symbol krzyża tutaj, a następnie 183 00:08:43,429 --> 00:08:45,630 przejść do innej strony internetowej. 184 00:08:45,630 --> 00:08:48,430 A ja po prostu się wpisz w serwisie Facebook.com. 185 00:08:48,430 --> 00:08:51,940 No HTTP nie HTTPS, nie WWW. 186 00:08:51,940 --> 00:08:53,850 Niech rzeczywiście zobaczyć, co się dzieje tutaj. 187 00:08:53,850 --> 00:08:55,030 >> Wprowadź. 188 00:08:55,030 --> 00:08:58,480 Teraz zauważyć całą masę rzeczy, po prostu pojawił się w tym panelu dolnym, w 189 00:08:58,480 --> 00:09:00,285 dodatek do strony internetowej pojawiają się na górze. 190 00:09:00,285 --> 00:09:04,890 Mam zamiar przejść z powrotem do Zakładka Sieć tutaj i mam zamiar 191 00:09:04,890 --> 00:09:06,080 kliknij w pierwszym rzędzie. 192 00:09:06,080 --> 00:09:10,580 Co to narzędzie będzie się nam ujawnić jest każdy z żądań HTTP 193 00:09:10,580 --> 00:09:13,550 , które szybko po prostu wróciłem i powrotem pomiędzy moja przeglądarka 194 00:09:13,550 --> 00:09:14,930 i serwera Facebooka. 195 00:09:14,930 --> 00:09:17,830 I tak każdy z tych wierszy reprezentuje jeden taki wniosek lub 196 00:09:17,830 --> 00:09:20,970 Odpowiedź, jeden lub więcej te wirtualne koperty. 197 00:09:20,970 --> 00:09:24,080 Lub bardziej przypadkowo, to jak człowiek jak osoba, klient w 198 00:09:24,080 --> 00:09:26,710 restauracja, z prośbą o coś i znowu, i znowu. 199 00:09:26,710 --> 00:09:29,400 A kelner zwala go z powrotem po jednym na raz. 200 00:09:29,400 --> 00:09:33,850 >> Więc teraz, jeśli powiększyć to, zawiadomienia i będzie to coś takiego 201 00:09:33,850 --> 00:09:36,600 że jesteś mile widziane i zachęcane bawić się na własną rękę, bo 202 00:09:36,600 --> 00:09:38,150 nie będzie go przez wszystko bardzo szczegółowo. 203 00:09:38,150 --> 00:09:40,070 Ale zauważysz Kilka sub tabs tutaj - 204 00:09:40,070 --> 00:09:43,700 Nagłówki, podgląd, odpowiedzi, Cookies i timing. 205 00:09:43,700 --> 00:09:48,280 Mam zamiar po prostu spojrzeć na nagłówki teraz, ponieważ są mało 206 00:09:48,280 --> 00:09:53,600 składniki wewnątrz koperty tego pomocy danych do iz miejsc. 207 00:09:53,600 --> 00:09:57,590 >> Więc po pierwsze, pozwól mi kliknij to, Zobacz Źródło obok nagłówków żądania. 208 00:09:57,590 --> 00:10:01,910 Jest wniosek, że moja przeglądarka, Chrom, w tym przypadku, wysłane wewnątrz 209 00:10:01,910 --> 00:10:02,910 że wirtualny koperta. 210 00:10:02,910 --> 00:10:04,800 Pamiętacie w zeszłym tygodniu ręcznie wpisać go podczas 211 00:10:04,800 --> 00:10:06,380 udając się przeglądarka. 212 00:10:06,380 --> 00:10:09,980 Następnie przypomniał, że jest to serwer patrząc na nazwie hosta 213 00:10:09,980 --> 00:10:10,835 Facebook.com. 214 00:10:10,835 --> 00:10:13,630 I jest jeszcze bardziej tajemnicze Informacje, które będziemy machać 215 00:10:13,630 --> 00:10:14,830 nasze ręce na razie. 216 00:10:14,830 --> 00:10:18,640 >> Ale jeśli zacznę przewijać teraz okno, niech mi się 217 00:10:18,640 --> 00:10:19,980 nagłówki odpowiedzi. 218 00:10:19,980 --> 00:10:23,270 To było to, co znajduje się w wirtualnych koperta, że ​​wrócił z 219 00:10:23,270 --> 00:10:24,095 Facebook.com. 220 00:10:24,095 --> 00:10:27,390 A jeśli kliknę Pokaż źródło właśnie aby zobaczyć surowy tekst niego, 221 00:10:27,390 --> 00:10:28,400 zauważyć kilka rzeczy. 222 00:10:28,400 --> 00:10:32,130 One, Facebook mówi także sam protokół, wersja 1.1 tej decyzji. 223 00:10:32,130 --> 00:10:33,390 Więc to jest miłe. 224 00:10:33,390 --> 00:10:36,820 Ale kod statusu 301, przeniósł się na stałe. 225 00:10:36,820 --> 00:10:38,880 >> A gdzie do cholery udało Facebook iść? 226 00:10:38,880 --> 00:10:40,430 Co to jest stara się przekazać do nas? 227 00:10:40,430 --> 00:10:44,310 Cóż, zauważyć tu jest inny header nazywa Lokalizacja. 228 00:10:44,310 --> 00:10:51,050 Więc dlaczego Facebook mówi mi, że przeniósł się na stałe do tego adresu URL 229 00:10:51,050 --> 00:10:53,580 obok lokalizacji? 230 00:10:53,580 --> 00:10:54,962 Zapomniałem www. 231 00:10:54,962 --> 00:10:56,250 >> Więc to był mój wybór. 232 00:10:56,250 --> 00:11:00,450 W rzeczywistości, większość z nas rzadko, chyba, wpisz www.whatever.com te dni. 233 00:11:00,450 --> 00:11:03,390 Ale okazuje się, administratora systemu, jak Facebooka, może 234 00:11:03,390 --> 00:11:06,800 konfigurując serwery w taki sposób, że albo Facebook.com działa, lub 235 00:11:06,800 --> 00:11:12,450 www.Facebook.com działa, albo, tak naprawdę, takie prefix przed ich 236 00:11:12,450 --> 00:11:13,210 nazwa domeny. 237 00:11:13,210 --> 00:11:14,500 Więc zrobili to za nas. 238 00:11:14,500 --> 00:11:16,910 I są one skierowanie do nas, prawdopodobnie dla niektórych technicznych, 239 00:11:16,910 --> 00:11:18,100 kilka powodów marketingowych. 240 00:11:18,100 --> 00:11:21,570 Oni po prostu chcą canonicalize na www.Facebook.com. 241 00:11:21,570 --> 00:11:24,040 >> Ale to nie do końca to. 242 00:11:24,040 --> 00:11:28,560 Gdybym przewiń tutaj, niech zobacz co się dzieje. 243 00:11:28,560 --> 00:11:30,810 To mówi mi, że przeniósł się na stałe do 244 00:11:30,810 --> 00:11:33,450 http://www.Facebook.com. 245 00:11:33,450 --> 00:11:36,620 Więc spójrzmy na drugiego wniosku że moja przeglądarka wysyła. 246 00:11:36,620 --> 00:11:40,070 Niestety, wygląda na to Facebook przeniósł się ponownie, ponieważ sekundy 247 00:11:40,070 --> 00:11:44,420 wniosek, zaznaczając, że adres URL, a nie, mówi, że też, przeniesiona 248 00:11:44,420 --> 00:11:45,010 stałe. 249 00:11:45,010 --> 00:11:48,140 I niech mi tu przewijać do nagłówków odpowiedzi. 250 00:11:48,140 --> 00:11:51,530 Gdzie jest Facebook już teraz? 251 00:11:51,530 --> 00:11:52,680 >> Więc HTTPS. 252 00:11:52,680 --> 00:11:56,130 Więc teraz Facebook rozpoczął, zwłaszcza w świetle aktualnej 253 00:11:56,130 --> 00:11:59,750 wydarzenia w ostatnich miesiącach, szczególnie i także w ciągu ostatnich kilku lat 254 00:11:59,750 --> 00:12:03,670 zmusić wszystkich swoich użytkowników, w dobrym sposób, aby korzystać z protokołu HTTPS, który jest bardziej 255 00:12:03,670 --> 00:12:06,210 zabezpieczyć, choć nie do końca bezpieczne. 256 00:12:06,210 --> 00:12:10,000 A więc teraz moja strona, moja przeglądarka jest zamierza zwrócić tę trzecią URL. 257 00:12:10,000 --> 00:12:14,710 A teraz wreszcie mamy inaczej niewidzialna 200 OK. 258 00:12:14,710 --> 00:12:18,830 >> Tak więc to, co w świecie lub wszystkich te inne wiersze tutaj. 259 00:12:18,830 --> 00:12:22,630 I dosłownie wpisane jedno, a my Przeglądarka wydaje się o jak 260 00:12:22,630 --> 00:12:23,840 20 jakieś dziwne rzeczy. 261 00:12:23,840 --> 00:12:24,640 Co to jest? 262 00:12:24,640 --> 00:12:25,810 >> PUBLICZNOŚCI: Scripts? 263 00:12:25,810 --> 00:12:28,460 >> SPEAKER 1: skryptów, więc inne pliki napisany w języku zwanym 264 00:12:28,460 --> 00:12:30,780 JavaScript, który ponownie, my będziemy zobaczyć trochę w środę. 265 00:12:30,780 --> 00:12:32,760 Co jeszcze? 266 00:12:32,760 --> 00:12:33,390 Arkusze stylów. 267 00:12:33,390 --> 00:12:36,350 Więc coś w języku zwanym CSS, co zobaczymy za chwilę. 268 00:12:36,350 --> 00:12:40,690 Gif, JPEG i PNG, a także fotografie, i pliki filmowe - co strona internetowa 269 00:12:40,690 --> 00:12:43,280 jest to najprawdopodobniej postaci pliku. 270 00:12:43,280 --> 00:12:46,750 A więc co widzimy po lewej stronie znajduje się wszystkie pliki 271 00:12:46,750 --> 00:12:50,280 że Chrome miał do pobrania, rekurencyjnie, jeśli chcesz, aby 272 00:12:50,280 --> 00:12:52,430 składających się na całokształt strony. 273 00:12:52,430 --> 00:12:56,210 >> Więc to, co widzieliśmy przed chwilą z Google, gdy klikam na elementach 274 00:12:56,210 --> 00:13:00,470 Zakładka ta, na pewno, jest HTML, język, który komponuje tę stronę. 275 00:13:00,470 --> 00:13:01,890 Ale jest kiście innymi. 276 00:13:01,890 --> 00:13:02,640 Jest logo. 277 00:13:02,640 --> 00:13:04,680 Jest te sina Ikony tam. 278 00:13:04,680 --> 00:13:07,610 I jest jeszcze na inne elementy strony, które mogą być same 279 00:13:07,610 --> 00:13:08,610 osobne pliki. 280 00:13:08,610 --> 00:13:11,860 >> Więc co jest ładne o przeglądarce jest to, że wygląda na języku mamy zamiar 281 00:13:11,860 --> 00:13:14,690 , aby zacząć pisać, czy masz już zaczął pisać w P zestaw 7, dane 282 00:13:14,690 --> 00:13:17,970 się, gdzie te pliki żyć, a idzie i chwyta je dobrze. 283 00:13:17,970 --> 00:13:21,010 I nie mogę podkreślić wystarczająco dużo, nawet choć niektóre może to wyglądać nieco 284 00:13:21,010 --> 00:13:24,820 arcane lub przytłaczająca na pierwszy rzut oka, uczenia się, jak zaprogramować 285 00:13:24,820 --> 00:13:28,500 aplikacje dla sieci, to bezcenne do zrozumienia, jak te 286 00:13:28,500 --> 00:13:29,410 małe narzędzia pracy. 287 00:13:29,410 --> 00:13:33,830 Są trochę jak GDB jak narzędzia, ale znacznie prostsze, w końcu, w użyciu - 288 00:13:33,830 --> 00:13:37,690 i naprawdę daje oczy na to, co byliśmy biorąc za pewnik, dla 289 00:13:37,690 --> 00:13:39,170 już od jakiegoś czasu. 290 00:13:39,170 --> 00:13:42,270 >> Więc co możemy teraz zrobić z ta informacja? 291 00:13:42,270 --> 00:13:44,875 Cóż, faktycznie przyjrzeć zasady leżące u podstaw HTML. 292 00:13:44,875 --> 00:13:49,025 A my odroczyć, a już mamy, do sekcje w tym tygodniu, do problemu 293 00:13:49,025 --> 00:13:53,260 zestaw 7 specyfikacji, niektóre z bardziej dane z tych języków. 294 00:13:53,260 --> 00:13:57,020 Ale zobaczmy, czy nie możemy malować obraz tego, co należy rozumieć 295 00:13:57,020 --> 00:13:57,940 ogólnie tutaj. 296 00:13:57,940 --> 00:14:02,280 >> Więc HTML, Hypertext Markup Language, nie jest językiem programowania. 297 00:14:02,280 --> 00:14:03,520 Co to tak naprawdę oznacza? 298 00:14:03,520 --> 00:14:05,690 Więc HTML wygląda tak. 299 00:14:05,690 --> 00:14:06,810 A niektórzy z Was już o tym wiedzą. 300 00:14:06,810 --> 00:14:08,130 Niektórzy z was robi przez jakiś czas. 301 00:14:08,130 --> 00:14:10,270 Ale zobaczmy, czy nie możemy wypełnić w niektórych puste, jak również. 302 00:14:10,270 --> 00:14:11,760 Więc zauważyć kilka rzeczy tutaj. 303 00:14:11,760 --> 00:14:13,030 Jeden, to tylko tekst. 304 00:14:13,030 --> 00:14:15,960 Tak to jest jak kod źródłowy w C, lub jakiś inny język. 305 00:14:15,960 --> 00:14:17,750 >> Zauważ, że nie wydaje się wzór tutaj. 306 00:14:17,750 --> 00:14:20,870 Nie ma wcięcia, ale technicznie wcięcia jest tylko ludzka 307 00:14:20,870 --> 00:14:21,205 konwencji. 308 00:14:21,205 --> 00:14:24,980 A przeglądarki nie obchodzi, czy jest nowa linie i karty jak widzimy tam. 309 00:14:24,980 --> 00:14:27,410 Zauważmy jednak, że jest symetrie tutaj. 310 00:14:27,410 --> 00:14:31,180 Nie ma co Zadzwonię, na górze tego pliku, otwarte tag lub początek 311 00:14:31,180 --> 00:14:33,030 tag, zwany HTML. 312 00:14:33,030 --> 00:14:36,800 A potem, w dole, całkowicie pokryte w górę, podobnie jak robimy z klamrami, 313 00:14:36,800 --> 00:14:40,910 widzimy otwarty uchwyt, do przodu slash, HTML, nawiasu. 314 00:14:40,910 --> 00:14:44,610 Więc to odpowiada blisko tag tag lub koniec, dla tej rzeczy. 315 00:14:44,610 --> 00:14:47,990 >> Razem, wszystko wewnątrz tzw. open i close tag tag 316 00:14:47,990 --> 00:14:50,440 komponować, co my nazywamy element. 317 00:14:50,440 --> 00:14:53,910 I zobaczymy, za chwilę, że to naprawdę jak węzeł w drzewa. 318 00:14:53,910 --> 00:14:57,470 Bo jeśli myślisz o now wcięcia, które jest domyślnie tu, 319 00:14:57,470 --> 00:15:00,780 niby mają, jak, dziadkowie węzeł o nazwie HTML. 320 00:15:00,780 --> 00:15:06,870 Ile dzieci można powiedzieć, w oparciu na tym zdjęciu, HTML element ma? 321 00:15:06,870 --> 00:15:07,720 >> Więc prawdopodobnie dwa. 322 00:15:07,720 --> 00:15:10,240 Jednym z nich jest elementem głowy, najwyraźniej. 323 00:15:10,240 --> 00:15:11,710 I jeden jest elementem ciała. 324 00:15:11,710 --> 00:15:12,555 I dlaczego dwoje dzieci? 325 00:15:12,555 --> 00:15:15,840 Cóż, jestem tylko trochę wywodząc, że jeśli Mam otwarte tag głowy, a następnie 326 00:15:15,840 --> 00:15:17,820 close tag głowy, to elementem. 327 00:15:17,820 --> 00:15:21,200 A potem, jeśli nie ma innego otwarte nadwozie tag i blisko tag ciała, to jak 328 00:15:21,200 --> 00:15:22,340 kolejny element. 329 00:15:22,340 --> 00:15:26,000 Więc w tym sensie, że jeśli rodzaj obracania zdjęcie na swojej stronie, to 330 00:15:26,000 --> 00:15:29,910 jakby znacznik HTML, a następnie tag głowy, a następnie tag ciała i 331 00:15:29,910 --> 00:15:34,290 potem jakiś tekst, hello world, zwisające off znacznika ciele. 332 00:15:34,290 --> 00:15:36,620 >> Tak więc możemy narysować, że może wyglądać tak. 333 00:15:36,620 --> 00:15:38,020 Kształty są arbitralne. 334 00:15:38,020 --> 00:15:40,870 Zauważmy jednak, że użyłem rodzaju elipsy na szczycie reprezentować 335 00:15:40,870 --> 00:15:41,860 Sam dokument. 336 00:15:41,860 --> 00:15:45,980 Okazuje się, że mogą być inne rzeczy wewnątrz strony internetowej, która I już nie 337 00:15:45,980 --> 00:15:46,940 Sporządzono tutaj. 338 00:15:46,940 --> 00:15:50,800 Więc mamy zamiar jeszcze powiesić HTML Węzeł się z tak zwanego korzenia. 339 00:15:50,800 --> 00:15:53,730 I wtedy mamy głowę i ciało i tytuł, informacja, 340 00:15:53,730 --> 00:15:55,360 który jest zagnieżdżony dalej. 341 00:15:55,360 --> 00:15:58,650 I nie przeszkadzało wprowadzenie dodatkowej linii podziały wewnątrz tagu tytułu. 342 00:15:58,650 --> 00:16:02,710 To po prostu czułem się jakby to był już trochę zbyt gadatliwy. 343 00:16:02,710 --> 00:16:07,000 Więc zostawiłem go w jednym wierszu, z open tytuł, hello world, blisko tytułu. 344 00:16:07,000 --> 00:16:09,380 A potem mamy jakiś tekst zwisające off of here. 345 00:16:09,380 --> 00:16:12,200 >> Więc ten obraz wróci do nas, gdy nurkowania w JavaScripcie. 346 00:16:12,200 --> 00:16:15,110 I zrozumienie, że kiedy napisz HTML tak, co 347 00:16:15,110 --> 00:16:16,250 jest przeglądarka robi? 348 00:16:16,250 --> 00:16:19,290 Cóż, nie musimy martwić się o jak to robi, lub co 349 00:16:19,290 --> 00:16:23,090 Algorytm, ale pod koniec dnia, gdy przeglądarka otrzymuje HTML jak 350 00:16:23,090 --> 00:16:27,510 że z Facebook lub Google, analizuje to, że tak powiem, to czyta, 351 00:16:27,510 --> 00:16:31,160 z czymś fread, od góry do dołu, od lewej do prawej, i jak to 352 00:16:31,160 --> 00:16:36,300 zdaje sobie sprawę, oh, otwartego znacznika, a następnie zamknij tag, zaczyna malloc, że tak powiem, 353 00:16:36,300 --> 00:16:37,800 węzeł w drzewie. 354 00:16:37,800 --> 00:16:41,130 A gdy napotka, jak już dorozumianych tutaj z wcięciem, 355 00:16:41,130 --> 00:16:45,400 węzeł dziecko, to mallocs węzeł dla że i dołączone, że do drzewa. 356 00:16:45,400 --> 00:16:49,150 >> Tak więc, struktura drzewa, drzewa binarne, drzewa trójskładnikowych i większe drzewa, które 357 00:16:49,150 --> 00:16:53,380 my spojrzał na tydzień lub dwa temu, zawiadomienie że sama zasada 358 00:16:53,380 --> 00:16:54,220 wraca do nas. 359 00:16:54,220 --> 00:16:57,590 A kto realizowane, Chrome, co Zespół zrobił, prawdopodobnie miał 360 00:16:57,590 --> 00:17:00,800 wdrożyć jakąś strukturę drzewa pod maską. 361 00:17:00,800 --> 00:17:05,329 I to samo w sobie jest prawdopodobnie w język C lub C + +, lub niższe 362 00:17:05,329 --> 00:17:08,540 poziom języka, który my będziemy teraz używać na szczycie sieci. 363 00:17:08,540 --> 00:17:11,200 >> Więc teraz, być może, będzie to więcej sensu. 364 00:17:11,200 --> 00:17:15,420 Aktualny tatuaż z jakimś facetem, kto może żałować w końcu, rodzaj. 365 00:17:15,420 --> 00:17:17,359 OK, wszystko w porządku, więc dużo humoru internetowej. 366 00:17:17,359 --> 00:17:18,599 To nie jest naprawdę dzieje na tak dobrze dzisiaj. 367 00:17:18,599 --> 00:17:19,560 Będziemy więc dalej. 368 00:17:19,560 --> 00:17:20,180 Dobrze. 369 00:17:20,180 --> 00:17:22,760 >> Warto więc przyjrzeć się teraz na kilka przykładów. 370 00:17:22,760 --> 00:17:24,660 Najprostszy co może być to. 371 00:17:24,660 --> 00:17:29,170 Mam zamiar iść do przodu i otworzyć w gedit plik o nazwie hello.php. 372 00:17:29,170 --> 00:17:31,730 373 00:17:31,730 --> 00:17:36,330 A w środku tego, mam zamiar szybko po prostu to zrobić, printf, zacytować 374 00:17:36,330 --> 00:17:38,590 cytatu, "hello world". 375 00:17:38,590 --> 00:17:42,460 >> Tak więc informacja, i zrobię mój backslash n, I już nie przeszkadza uznaniu głównym. 376 00:17:42,460 --> 00:17:45,310 Okazuje się, w php, i wiele języki, nie trzeba głównym 377 00:17:45,310 --> 00:17:46,090 funkcji per se. 378 00:17:46,090 --> 00:17:47,720 Możesz po prostu zacząć pisać Twój program. 379 00:17:47,720 --> 00:17:51,210 Teraz, kiedy zapisać ten plik, zauważysz, że jestem będzie musiał wykonać następujące czynności. 380 00:17:51,210 --> 00:17:55,360 I nie zamierzam wykorzystać zrobić, a ja nie jestem zamierzasz używać szczęk ponieważ PHP, w przeciwieństwie do 381 00:17:55,360 --> 00:17:57,400 C, nie opracowano język. 382 00:17:57,400 --> 00:18:01,400 To, co nazywa się interpretować język, co oznacza, że ​​go uruchomić 383 00:18:01,400 --> 00:18:04,650 jako wejście przez inny program nazywa tłumacza. 384 00:18:04,650 --> 00:18:08,150 A że program odczytuje go, od góry do dołu, od lewej do prawej, a nie 385 00:18:08,150 --> 00:18:09,290 cokolwiek powiedzieć to zrobić. 386 00:18:09,290 --> 00:18:12,920 >> Więc w tym przypadku tutaj mam jeden wiersz, który mówi printf. 387 00:18:12,920 --> 00:18:17,990 Więc kiedy ten kod źródłowy, hello.php, choć program 388 00:18:17,990 --> 00:18:22,830 dzieje się, wygodnie, być nazywany PHP że PHP program będzie czytał 389 00:18:22,830 --> 00:18:26,120 tego pliku, od góry do dołu, od lewej do prawej, i to będzie robić to, co 390 00:18:26,120 --> 00:18:30,110 powiedzieć to zrobić - wykonywanie kodu, a jeśli nie uznaje czegoś, po prostu 391 00:18:30,110 --> 00:18:31,320 plucie to. 392 00:18:31,320 --> 00:18:34,940 Więc mam zamiar iść do przodu i uruchomić PHP z hello.php. 393 00:18:34,940 --> 00:18:37,110 Wprowadź. 394 00:18:37,110 --> 00:18:39,690 >> A to nie całkiem to, czego chciałem. 395 00:18:39,690 --> 00:18:40,530 Cóż, to dlaczego? 396 00:18:40,530 --> 00:18:43,910 Cóż, PHP jest językiem, który jest właściwie przeznaczony do dość 397 00:18:43,910 --> 00:18:46,150 spleciona z sieci. 398 00:18:46,150 --> 00:18:50,460 Podczas tworzenia stron internetowych w tym języku PHP, jak to już wkrótce, my będziemy 399 00:18:50,460 --> 00:18:54,560 chcę zrobić coś podobnego druku z linii, takich jak ta. 400 00:18:54,560 --> 00:18:55,940 >> Więc mam zamiar to zrobić. 401 00:18:55,940 --> 00:19:00,810 Otwarty uchwyt, znak zapytania, PHP, i teraz mam zamiar wciąć tylko utrzymać 402 00:19:00,810 --> 00:19:01,960 rzeczy ładne. 403 00:19:01,960 --> 00:19:04,910 A teraz mam zamiar zrobić pytanie znak nawiasu. 404 00:19:04,910 --> 00:19:06,270 Więc jest nieco asymetrii tutaj. 405 00:19:06,270 --> 00:19:07,490 Nie rób tego. 406 00:19:07,490 --> 00:19:10,530 I nie robić slash, więc PHP jest trochę inny. 407 00:19:10,530 --> 00:19:14,610 >> Ale teraz, jeśli ponownie uruchomić ten program, PHP hello.php, teraz ja 408 00:19:14,610 --> 00:19:16,090 rzeczywiście dostać Hello World. 409 00:19:16,090 --> 00:19:17,750 I zobaczymy, dlaczego to jest cenne. 410 00:19:17,750 --> 00:19:20,960 Jeden, to pozwala mi określić, bardzo wyraźnie, to jest 411 00:19:20,960 --> 00:19:22,480 Kod, wykonanie tego. 412 00:19:22,480 --> 00:19:25,480 I to jest rzeczywiście to, co je specjalne znaczniki sugerować tutaj. 413 00:19:25,480 --> 00:19:30,330 >> Ale oznacza to również, że jeśli po prostu zrobić coś jak ja mają tu, że 414 00:19:30,330 --> 00:19:34,000 Oznacza to, że, dosłownie, że po prostu być wydrukowane bez konieczności 415 00:19:34,000 --> 00:19:36,850 faktycznie zadzwonić printf lub drukowania, lub podobną funkcję. 416 00:19:36,850 --> 00:19:39,445 Więc wracamy do za chwilę. 417 00:19:39,445 --> 00:19:40,470 >> Po pierwsze, zróbmy to. 418 00:19:40,470 --> 00:19:43,950 Wewnątrz urządzenia, mamy katalog o nazwie vhosts, na wirtualnych 419 00:19:43,950 --> 00:19:47,000 Gospodarze, slash hosta lokalnego, slash publicznej. 420 00:19:47,000 --> 00:19:50,240 Więc to jest trochę rozwlekły, ale długa historia Krótko mówiąc, urządzenie nie jest zaprojektowane 421 00:19:50,240 --> 00:19:53,770 tylko wspierać C. Jest to także zaprojektowany do obsługi PHP. 422 00:19:53,770 --> 00:19:57,440 Ale jest też przeznaczony do web serwer i serwer bazy danych. 423 00:19:57,440 --> 00:20:00,230 I to jest zaprojektowane i dobrze skonfigurowany, się przypomina dowolny 424 00:20:00,230 --> 00:20:04,230 handlowych firmą hostingową, która możesz zapłacić 5 dolarów miesięcznie, 425 00:20:04,230 --> 00:20:05,040 100 dolarów miesięcznie. 426 00:20:05,040 --> 00:20:08,200 Cokolwiek usługa jest, to skonfigurowane są bardzo podobne do 427 00:20:08,200 --> 00:20:10,170 prawdziwy serwer światowa produkcja. 428 00:20:10,170 --> 00:20:13,485 >> A co to oznacza to, że działa na Urządzenie jest oprogramowanie serwera WWW. 429 00:20:13,485 --> 00:20:15,060 Zdarza się nazywać Apache. 430 00:20:15,060 --> 00:20:17,790 To jest po prostu za darmo i open source, i bardzo popularne. 431 00:20:17,790 --> 00:20:23,260 I mamy skonfigurowany Apache wiedzieć że jeśli odwiedzić pewną URL, z 432 00:20:23,260 --> 00:20:28,060 Chrome lub dowolnej przeglądarki wewnątrz Urządzenie, zajrzeć do tego katalogu 433 00:20:28,060 --> 00:20:31,030 do plików, które Użytkownik żąda. 434 00:20:31,030 --> 00:20:32,790 >> Innymi słowy, niech mnie zrób to. 435 00:20:32,790 --> 00:20:36,890 Wewnątrz mojego katalogu publicznym, będę iść do przodu i utworzyć plik 436 00:20:36,890 --> 00:20:39,580 nazwie index.html. 437 00:20:39,580 --> 00:20:41,000 To daje mi kartę tutaj. 438 00:20:41,000 --> 00:20:44,210 I zamierzam iść bardzo szybko i iść do przodu i walić się 439 00:20:44,210 --> 00:20:45,010 ten program tutaj. 440 00:20:45,010 --> 00:20:48,410 DOCTYPE HTML, który teraz, po prostu Zakładam, że masz pisać. 441 00:20:48,410 --> 00:20:53,490 To tylko arcane tag, który nie jest naprawdę tag HTML, który określa, że 442 00:20:53,490 --> 00:20:55,050 tutaj jest trochę HTML. 443 00:20:55,050 --> 00:20:57,400 >> Mam zamiar iść do przodu i ponownie to, co widzieliśmy przed chwilą. 444 00:20:57,400 --> 00:20:58,650 Oto szef stronie. 445 00:20:58,650 --> 00:21:01,170 Wewnątrz głowicy było - 446 00:21:01,170 --> 00:21:01,890 więc tytuł. 447 00:21:01,890 --> 00:21:04,340 Będziemy więc przywitać, świat. 448 00:21:04,340 --> 00:21:06,570 A potem tu był tag body. 449 00:21:06,570 --> 00:21:08,580 Pozwól mi zamknąć tag ciała. 450 00:21:08,580 --> 00:21:12,280 A potem tu będę też powiedzieć, tak dla jasności, hello world. 451 00:21:12,280 --> 00:21:14,770 >> Tak to jest, zapewne, najprostszy możliwe strony internetowej można 452 00:21:14,770 --> 00:21:15,770 może sprawić, że to ważne. 453 00:21:15,770 --> 00:21:17,030 To jest składniowo poprawne. 454 00:21:17,030 --> 00:21:18,620 Wszystko, co otwarte jest zamknięte. 455 00:21:18,620 --> 00:21:20,910 Wszystko jest ładnie w stylizacja i wcięte. 456 00:21:20,910 --> 00:21:23,600 Zobaczmy więc teraz, jak ja mogą uzyskać dostęp do tego pliku. 457 00:21:23,600 --> 00:21:25,540 >> Cóż, pozwól mi iść do Chrome tutaj. 458 00:21:25,540 --> 00:21:35,050 I pozwól mi iść do http://localhost/index.html. 459 00:21:35,050 --> 00:21:36,200 Więc co jest lokalny komputer? 460 00:21:36,200 --> 00:21:39,400 Cóż, większość z dowolnego komputera na świecie, Linux, Mac OS, Windows, ma pseudonim 461 00:21:39,400 --> 00:21:40,680 nazwie hosta lokalnego. 462 00:21:40,680 --> 00:21:42,900 Więc jeśli kiedykolwiek chce rozmawiać do własnego komputera - 463 00:21:42,900 --> 00:21:45,140 aczkolwiek, dziwnie odruchowo - 464 00:21:45,140 --> 00:21:47,080 nazywasz siebie host lokalny. 465 00:21:47,080 --> 00:21:50,390 Bez względu na rzeczywisty komputer jest nazywa, czy to Dawida MacBook 466 00:21:50,390 --> 00:21:52,490 Air, czy coś więcej verbose tak. 467 00:21:52,490 --> 00:21:57,760 >> Więc ten URL jest najwyraźniej zamiar użyć HTTP do rozmowy na lokalnym komputerze, 468 00:21:57,760 --> 00:22:00,800 sam komputer, urządzenia, i to się zapytać, po prostu wziąć 469 00:22:00,800 --> 00:22:02,570 odgadnąć, co plik? 470 00:22:02,570 --> 00:22:04,460 Index.html. 471 00:22:04,460 --> 00:22:08,650 Tak więc urządzenie zostało skonfigurowane naprzód wiedzieć, że jeśli pytam 472 00:22:08,650 --> 00:22:13,460 na coś takiego index.html, poszukaj w folderze o nazwie vhosts, w 473 00:22:13,460 --> 00:22:17,950 folder o nazwie localhost, w folderze tam nazywa public. 474 00:22:17,950 --> 00:22:20,400 To miejsce, gdzie wszystkie moje publiczności Pliki będą. 475 00:22:20,400 --> 00:22:22,610 Więc jestem teraz uderzy Enter. 476 00:22:22,610 --> 00:22:27,100 >> I cholera, nie jest to zabronione Komunikat, który zwie się 403, z 477 00:22:27,100 --> 00:22:28,490 kod numeryczny dla niego. 478 00:22:28,490 --> 00:22:30,130 Więc co jest nie tak tutaj? 479 00:22:30,130 --> 00:22:33,210 Cóż, to nie wystarczy po prostu umieścić plik wewnątrz mojego folderu. 480 00:22:33,210 --> 00:22:35,790 Muszę faktycznie wykonaj następujące czynności. 481 00:22:35,790 --> 00:22:40,210 >> Pozwólcie mi odejść do mojego katalogu vhosts, do localhost, do społeczeństwa, i niech 482 00:22:40,210 --> 00:22:41,680 mi zrobić l rozdzielczą ls. 483 00:22:41,680 --> 00:22:44,510 I jest kilka innych rzeczy tu do dzisiejszych potrzeb. 484 00:22:44,510 --> 00:22:50,540 Zauważmy jednak, po lewej stronie, obok do index.html, widzimy tylko jedno RW. 485 00:22:50,540 --> 00:22:53,560 I w przeszłości, co został RW stał? 486 00:22:53,560 --> 00:22:54,240 >> Tylko czytać i pisać. 487 00:22:54,240 --> 00:22:58,000 Fakt, że mówi RW po lewej Oznacza to, Ja, właściciel tego pliku, 488 00:22:58,000 --> 00:22:59,020 czytać lub pisać. 489 00:22:59,020 --> 00:23:05,010 Ale muszę niech wszyscy ludzie w Świat przeczytać, choć nie napisać. 490 00:23:05,010 --> 00:23:09,650 Więc mam zamiar zmienić tryb plik, chmod, wszystko Plus r dać 491 00:23:09,650 --> 00:23:13,910 wszyscy prawo odczytu plik o nazwie index.html. 492 00:23:13,910 --> 00:23:18,040 >> I jeśli teraz powtórz l kreska ls, zawiadomienie że tutaj, kilka 493 00:23:18,040 --> 00:23:19,160 R-tych pojawiło się. 494 00:23:19,160 --> 00:23:21,090 A teraz, spec idzie bardziej szczegółowo. 495 00:23:21,090 --> 00:23:24,450 Dla P zestaw 7, które oznacza po prostu każdy może teraz odczytać ten plik. 496 00:23:24,450 --> 00:23:27,790 Jeśli wrócę do mojej przeglądarce teraz i ponownie, voila. 497 00:23:27,790 --> 00:23:28,750 Hello world. 498 00:23:28,750 --> 00:23:32,260 >> I mogę nawet otworzyć moje narzędzia Chrome i zobaczyć, jak z Google i 499 00:23:32,260 --> 00:23:34,590 Facebook, który jest mój HTML, sformatowany mało 500 00:23:34,590 --> 00:23:35,930 inaczej i kolorowy. 501 00:23:35,930 --> 00:23:40,450 Jeśli pójdę do karty sieciowej i włóż strony, zauważysz, że jest uzyskać 502 00:23:40,450 --> 00:23:42,900 wnioskować, że Chrome jest wysyłanie do urządzenia. 503 00:23:42,900 --> 00:23:46,020 Jest za to 200 dany plik. 504 00:23:46,020 --> 00:23:49,340 Tak w skrócie, jest to, jak to wszystko różne elementy idą razem. 505 00:23:49,340 --> 00:23:53,530 Tak się składa, że ​​serwer WWW używamy w tej chwili nie jest odległy, 506 00:23:53,530 --> 00:23:54,210 jak Facebook. 507 00:23:54,210 --> 00:23:58,330 Jest to dosłownie na tym samym komputerze, co jest zupełnie OK. 508 00:23:58,330 --> 00:24:00,590 >> Co jeszcze możemy zrobić na stronie internetowej? 509 00:24:00,590 --> 00:24:03,110 Cóż, po prostu, niech wiatr poprzez Kilka z tych rzeczy. 510 00:24:03,110 --> 00:24:07,860 Ale pozwól mi iść do przodu i ponownie Gedit z index.html. 511 00:24:07,860 --> 00:24:13,980 I pozwól mi iść dalej i powiedzieć cześć CS50, zapisać ten plik, przejdź do 512 00:24:13,980 --> 00:24:16,260 Przeglądarka, bardzo rozczarowująca zmiana. 513 00:24:16,260 --> 00:24:19,130 >> Ale co, jeśli chcemy rzeczywiście link do czegoś teraz? 514 00:24:19,130 --> 00:24:23,480 Tak więc okazuje się, że możemy mieć Linki w HTML, które są po prostu tags 515 00:24:23,480 --> 00:24:24,140 sami. 516 00:24:24,140 --> 00:24:27,320 Zdarza się nazywać tag kotwicy. href równa 517 00:24:27,320 --> 00:24:33,190 https://www.cs50.net, www.cs50.net zamknij cudzysłów, nawias zamknięty. 518 00:24:33,190 --> 00:24:35,230 A teraz zobaczmy co else będzie dalej. 519 00:24:35,230 --> 00:24:36,500 >> Mam otwarty znacznik. 520 00:24:36,500 --> 00:24:38,990 I teraz trzeba dać Zwrot jak CS50. 521 00:24:38,990 --> 00:24:40,600 Pozwól mi zamknąć znacznik. 522 00:24:40,600 --> 00:24:42,010 I zauważyć kilka rzeczy. 523 00:24:42,010 --> 00:24:45,270 Mimo, że jest to tajemnicze rzeczy tutaj, nie powtarza go, gdy 524 00:24:45,270 --> 00:24:46,010 zamknąć znacznik. 525 00:24:46,010 --> 00:24:48,230 Wystarczy zamknąć tag z nazwy sam. 526 00:24:48,230 --> 00:24:50,940 I to jest to, co jest znane jako atrybut o wartości. 527 00:24:50,940 --> 00:24:56,070 Atrybuty tylko zmodyfikować zachowanie jakiegoś znacznika wewnątrz strony. 528 00:24:56,070 --> 00:24:59,150 >> Więc to jest określenie, że hiper odniesienia, fantazyjny sposób na powiedzenie 529 00:24:59,150 --> 00:25:03,660 Adres URL tej kotwicy, do tego Informacje powinny być CS50.net. 530 00:25:03,660 --> 00:25:07,440 I tekst, który chcemy pokazać Użytkownik nie jest surowy URL, ale raczej 531 00:25:07,440 --> 00:25:08,730 CS50 słowo. 532 00:25:08,730 --> 00:25:13,710 >> Więc jeśli teraz przeładować, pozwól mi powiększyć do jasność, pozwól mi odświeżyć stronę, 533 00:25:13,710 --> 00:25:16,460 zauważyć, że mamy tę starą szkołę niebieski, podkreślony link. 534 00:25:16,460 --> 00:25:20,000 A jeśli unoszą się nad nim, a to będzie być trudne, aby zobaczyć, w lewym dolnym rogu 535 00:25:20,000 --> 00:25:23,690 w górnym lewym rogu ekranu, zauważysz że mówi URL, do którego 536 00:25:23,690 --> 00:25:24,430 Mam zamiar iść. 537 00:25:24,430 --> 00:25:27,940 A jeśli kliknij tam, voila, teraz jestem tworzenia stron internetowych. 538 00:25:27,940 --> 00:25:30,140 A jakie doprowadziły siebie na stronie głównej. 539 00:25:30,140 --> 00:25:32,670 >> Zauważmy jednak, jakim potencjałem to nam oferuje. 540 00:25:32,670 --> 00:25:34,890 Bezpieczeństwo jest bardzo w modzie w tych dniach. 541 00:25:34,890 --> 00:25:41,210 Co zrobić, gdy zamiast powiedzieć coś , a ja zamiast iść do, powiedzmy, niech 542 00:25:41,210 --> 00:25:42,460 zobacz, fakeCS50.net. 543 00:25:42,460 --> 00:25:44,660 544 00:25:44,660 --> 00:25:46,360 Odśwież stronę. 545 00:25:46,360 --> 00:25:50,180 >> OK, więc zauważyć, że wciąż wygląda jak jestem będzie CS50, chyba bystry oka 546 00:25:50,180 --> 00:25:51,560 zauważą zamierzam udawać CS50. 547 00:25:51,560 --> 00:25:54,550 Zgaduję, że ta domena nie jest pobierana. 548 00:25:54,550 --> 00:25:55,960 OK, więc to nie jest dostępne. 549 00:25:55,960 --> 00:25:56,600 Więc to jest dobre. 550 00:25:56,600 --> 00:25:57,900 Nikt nie ma rzeczywiście, że domena. 551 00:25:57,900 --> 00:26:00,380 >> Ale bądźmy trochę bardziej złośliwy bo to jest głupie. 552 00:26:00,380 --> 00:26:02,240 Co jeśli zmienimy to Paypal. 553 00:26:02,240 --> 00:26:09,960 A co, jeśli nazywamy to, jak, www.paypal.badguy.com, 554 00:26:09,960 --> 00:26:12,070 niezależnie od domeny. 555 00:26:12,070 --> 00:26:13,700 To prawdopodobnie nie istnieje. 556 00:26:13,700 --> 00:26:16,260 Więc teraz chciałbym odświeżyć stronę. 557 00:26:16,260 --> 00:26:22,890 A tu mamy coś w rodzaju phishingu Atak, P-H-I-S-H-I-N-G, która jest 558 00:26:22,890 --> 00:26:26,760 głupie słowo podane na atak dociera do informacji ryb, lub, lepiej 559 00:26:26,760 --> 00:26:30,450 jeszcze, pieniądze z ludzi przez oszukiwanie ich do ujawnienia informacji, które 560 00:26:30,450 --> 00:26:31,990 nie można inaczej zrobić. 561 00:26:31,990 --> 00:26:33,500 Wygląda to zupełnie legalne, prawda? 562 00:26:33,500 --> 00:26:34,930 Muszę mieć link do Paypal.com. 563 00:26:34,930 --> 00:26:37,700 564 00:26:37,700 --> 00:26:40,430 W uczciwości, gdybym sexed go z niektórych grafika, możemy sprawić wrażenie 565 00:26:40,430 --> 00:26:41,310 bardziej jak PayPal. 566 00:26:41,310 --> 00:26:41,510 Prawda? 567 00:26:41,510 --> 00:26:43,815 Bo może, jak na bok, Mogłem iść do Paypal.com. 568 00:26:43,815 --> 00:26:47,110 I właśnie widzieliśmy, jak mogę zobacz wszystkie ich HTML. 569 00:26:47,110 --> 00:26:50,560 Może po prostu skopiuj go i ponownie Estetyka Paypal zamiast iść 570 00:26:50,560 --> 00:26:51,490 old school tutaj. 571 00:26:51,490 --> 00:26:55,010 Zauważmy jednak, oczywiście, i jest to trochę mała jeszcze, tylko w dolnej części 572 00:26:55,010 --> 00:26:59,190 lewym rogu, w jak 10 pkt font, widzisz co URL jesteś 573 00:26:59,190 --> 00:27:01,310 faktycznie będzie prowadził do. 574 00:27:01,310 --> 00:27:06,580 >> I tak, jeśli kiedykolwiek dostał spam mówiąc iść do przodu, a ty konto 575 00:27:06,580 --> 00:27:07,420 została naruszona. 576 00:27:07,420 --> 00:27:10,615 Kliknij ten link i daj nam znać hasło, dzięki czemu możemy zapewnić, że jesteś 577 00:27:10,615 --> 00:27:13,010 Ci, nigdy nie zrobić. 578 00:27:13,010 --> 00:27:14,180 Te rzeczy powinny przejść bez słowa. 579 00:27:14,180 --> 00:27:17,670 Ale to jest cudownie zabawny i tragiczne, jak co roku, wydaje się to 580 00:27:17,670 --> 00:27:19,660 się do niektórych niezerowe liczba osób. 581 00:27:19,660 --> 00:27:21,400 >> I to jest piękno z phishingiem. 582 00:27:21,400 --> 00:27:23,160 Możesz wysłać milion e-maili. 583 00:27:23,160 --> 00:27:27,720 A jeśli nawet 0,01% osób faktycznie kliknij na Paypal i dać Ci 584 00:27:27,720 --> 00:27:31,040 hasło, że wciąż niezerowa ludzi, którzy właśnie dając 585 00:27:31,040 --> 00:27:32,200 Ci ich pieniądze. 586 00:27:32,200 --> 00:27:36,170 I wysyłanie wiadomości e-mail, oczywiście, jest dość łatwe i zasadniczo wolne 587 00:27:36,170 --> 00:27:36,970 te dni. 588 00:27:36,970 --> 00:27:40,410 >> Więc krótko mówiąc, cudownie Piękny pomysł, prawda? 589 00:27:40,410 --> 00:27:44,620 Lat temu, to był najwcześniejszy web, umożliwiając sieć 590 00:27:44,620 --> 00:27:46,330 hiperłącza między zasobami. 591 00:27:46,330 --> 00:27:49,520 Ale tak szybko, to może być wykorzystane do złych celów. 592 00:27:49,520 --> 00:27:54,100 I e-mail, wystarczy powiedzieć, to dzień, nie HTML osadzony wewnątrz. 593 00:27:54,100 --> 00:27:55,410 >> Cóż, niech mi tylko jedna rzecz. 594 00:27:55,410 --> 00:27:58,640 A my odroczyć sekcji w dużej mierze Problem ustawić siedem, co pozwala na 595 00:27:58,640 --> 00:28:00,000 poznaj dane. 596 00:28:00,000 --> 00:28:01,990 Ale pozwól mi iść do przodu i zrobić kilka rzeczy. 597 00:28:01,990 --> 00:28:04,840 Mam zamiar iść i oświadczyć co nazywa div, lub 598 00:28:04,840 --> 00:28:06,080 Podział, strony. 599 00:28:06,080 --> 00:28:07,770 Pozwól mi zamknąć ten znacznik div. 600 00:28:07,770 --> 00:28:11,460 >> A ja powiem up tutaj górze strony. 601 00:28:11,460 --> 00:28:14,940 I wtedy poniżej tego, mam zamiar zrobić coś innego div, blisko tego 602 00:28:14,940 --> 00:28:17,800 tag, a nie w dolnej części strony. 603 00:28:17,800 --> 00:28:18,840 I niech go zapisać. 604 00:28:18,840 --> 00:28:21,040 >> Więc teraz wróćmy do mojego pliku. 605 00:28:21,040 --> 00:28:22,120 Bardzo rozczarowująca. 606 00:28:22,120 --> 00:28:25,520 Ale to, co służy do podziału, pod maską, jest to rzeczywiście 607 00:28:25,520 --> 00:28:26,920 ładny element konstrukcyjny. 608 00:28:26,920 --> 00:28:30,300 Nie ma żadnych estetyki, o ile widzimy, poza, oczywiście, 609 00:28:30,300 --> 00:28:31,890 oddanie rzeczy na nowych liniach. 610 00:28:31,890 --> 00:28:36,290 >> Ale zauważ, jak na bok, po prostu uderzając Wprowadź nie wyciąć w HTML jak to 611 00:28:36,290 --> 00:28:39,840 ma w C. Można by pomyśleć, że to zamiar umieścić ładne, duże luki między 612 00:28:39,840 --> 00:28:41,300 górze i na dole strony. 613 00:28:41,300 --> 00:28:43,420 Ale to ignorowane. 614 00:28:43,420 --> 00:28:48,040 Biała przestrzeń jest w zasadzie ignorowane stron internetowych innych niż pierwszy 615 00:28:48,040 --> 00:28:51,530 znaków spacji lub powrót karetki, że trafisz na klawiaturze. 616 00:28:51,530 --> 00:28:55,370 Jeśli chcesz więcej przerwy linii, trzeba określić samemu. 617 00:28:55,370 --> 00:28:59,080 >> Więc mam zamiar zrobić kilka rzeczy tutaj, aby zobaczyć co się dzieje. 618 00:28:59,080 --> 00:29:02,700 Mam zamiar dodać atrybut istnieje I znowu, tak jak się uczyć 619 00:29:02,700 --> 00:29:07,110 co przypisuje istnieje, co tagi istnieją, Naprawdę, jest na forum odnośników. 620 00:29:07,110 --> 00:29:09,750 HTML jest rodzajem języka - to nie język programowania. 621 00:29:09,750 --> 00:29:12,460 Jest to język znaczników - że po dobre pół godziny, może, godzina z 622 00:29:12,460 --> 00:29:15,930 to, na pewno zrozumieć, najbardziej prawdopodobne, idea. 623 00:29:15,930 --> 00:29:20,350 A potem szukaj Google oddalony jest wszystko możliwe tags, że może być 624 00:29:20,350 --> 00:29:21,170 zainteresowany 625 00:29:21,170 --> 00:29:24,290 I za spec, który jest dość mile widziane i zachęcane tutaj. 626 00:29:24,290 --> 00:29:26,120 >> Więc teraz pozwól mi iść do przodu i coś jak to zrobić. 627 00:29:26,120 --> 00:29:28,690 Background-color. 628 00:29:28,690 --> 00:29:32,060 A teraz, mam zamiar zrobić coś jak czerwony, średnik. 629 00:29:32,060 --> 00:29:33,970 I można to zrobić w kilka różnych sposobów. 630 00:29:33,970 --> 00:29:36,770 Jestem tylko trochę wpisanie go jako Super wyraźnie, jak to możliwe. 631 00:29:36,770 --> 00:29:41,960 >> Ale okazuje się, że ta wartość jest co nazywa CSS, Cascading Style 632 00:29:41,960 --> 00:29:43,700 Arkusze, które jest kolejnym języka w ogóle. 633 00:29:43,700 --> 00:29:46,770 CSS nie ma nic wspólnego z otwarte znaczniki i Zamknij tagi. 634 00:29:46,770 --> 00:29:48,230 Ma to związek z właściwościami. 635 00:29:48,230 --> 00:29:52,660 >> I właściwości są po prostu wartość klucza par, co oznacza po prostu jakieś słowo, 636 00:29:52,660 --> 00:29:54,680 jelita grubego, a nawet inne słowo. 637 00:29:54,680 --> 00:29:57,940 A jeśli masz wiele z nich, czy tylko jeden tutaj, możesz skończyć z 638 00:29:57,940 --> 00:29:59,390 średnik, tylko dla jasności. 639 00:29:59,390 --> 00:30:01,370 Ale to też będzie działać tutaj. 640 00:30:01,370 --> 00:30:02,500 >> Teraz co to robić? 641 00:30:02,500 --> 00:30:03,610 Można się domyślić. 642 00:30:03,610 --> 00:30:05,930 Pozwólcie mi iść do przodu i przeładuj stronę. 643 00:30:05,930 --> 00:30:07,300 A teraz to naprawdę idzie. 644 00:30:07,300 --> 00:30:09,150 Więc górze mojej stronie jest czerwona. 645 00:30:09,150 --> 00:30:12,380 Ale to, co jest kluczem do tego jest to, że wspomniałem wcześniej, że div daje 646 00:30:12,380 --> 00:30:13,220 Podział strony. 647 00:30:13,220 --> 00:30:14,410 I to jest rzeczywiście to, co robi. 648 00:30:14,410 --> 00:30:17,920 To zasadniczo dzieli stronę na prostokąt, który można następnie 649 00:30:17,920 --> 00:30:18,720 manipulować. 650 00:30:18,720 --> 00:30:22,330 >> I to pojęcie prostokątów jest rodzaj przekonujące w tym, że jeśli myślisz o 651 00:30:22,330 --> 00:30:26,410 Najbardziej każdej strony, prawdopodobnie niektóre struktury do niego. 652 00:30:26,410 --> 00:30:29,620 Większość z was zapewne rzadko Strona główna Facebooka, jeśli jesteś zalogowany 653 00:30:29,620 --> 00:30:30,440 w każdym momencie. 654 00:30:30,440 --> 00:30:33,920 >> Ale na stronie głównej Facebooka, jest jakiś div na górze. 655 00:30:33,920 --> 00:30:36,140 I nie może być w prosty jako jeden div, ale nie ma 656 00:30:36,140 --> 00:30:37,560 prostokątny obszar tam. 657 00:30:37,560 --> 00:30:40,290 Pozostała część strony jest jak ogromne div, jak wiele 658 00:30:40,290 --> 00:30:41,910 większy prostokątny obszar. 659 00:30:41,910 --> 00:30:44,540 Więc krótko mówiąc, tylko poprzez te małe cegiełki, z 660 00:30:44,540 --> 00:30:49,250 Zdolność do rzeczy model jako prostokąty, czy szerokie lub wąskie, można również 661 00:30:49,250 --> 00:30:53,680 aby kolumny potencjalnie pozwala na układu strony, naprawdę, jakkolwiek 662 00:30:53,680 --> 00:30:54,100 pragnie. 663 00:30:54,100 --> 00:30:56,170 Jesteśmy naprawdę tylko zarysowania powierzchni tutaj. 664 00:30:56,170 --> 00:30:59,820 >> Rzeczywiście, jeśli zrobić jedną drugą, pozwól mi iść dalej i zrobić styl, 665 00:30:59,820 --> 00:31:05,410 background-color, zrobimy coś jak niebieski, cytaty bliskich. 666 00:31:05,410 --> 00:31:06,620 Miejmy Przeładuj. 667 00:31:06,620 --> 00:31:08,260 Więc teraz to się jeszcze brzydsze. 668 00:31:08,260 --> 00:31:11,520 Ale teraz mogę trochę popisać mój P ustawić pięć umiejętności, prawda? 669 00:31:11,520 --> 00:31:12,690 Red. 670 00:31:12,690 --> 00:31:15,640 Przypomina mi RGB, Red Zielony Niebieski trzyosobowe. 671 00:31:15,640 --> 00:31:19,330 Cóż, jak się okazuje, w programowaniu WWW lub projektowanie stron internetowych, które to jest, mamy 672 00:31:19,330 --> 00:31:21,650 nic nie jest jeszcze zaprogramowany per se, można rzeczywiście 673 00:31:21,650 --> 00:31:22,880 posiada kod szesnastkowy. 674 00:31:22,880 --> 00:31:26,480 Więc coś, coś, coś coś, coś, coś. 675 00:31:26,480 --> 00:31:30,650 Więc można mieć sześć szesnastkowych znaków, lub trzy, w niektórych przypadkach, 676 00:31:30,650 --> 00:31:33,480 a każdy z tych znaków zapytania musi być cyfry szesnastkowe, 677 00:31:33,480 --> 00:31:34,985 od zera do f. 678 00:31:34,985 --> 00:31:41,000 >> Jeśli chcę mieć dużo czerwieni, a nie zielony, a nie niebieski, co jest 679 00:31:41,000 --> 00:31:43,740 Przeciwieństwem zera przy użyciu hex? 680 00:31:43,740 --> 00:31:44,480 To f. 681 00:31:44,480 --> 00:31:51,130 Więc można zrobić ff, zero zero, zero zero, Zapisz to, a teraz przychodzą tutaj. 682 00:31:51,130 --> 00:31:52,700 I właściwie nie widać zmian. 683 00:31:52,700 --> 00:31:56,230 Więc cytat cytatu "czerwony" jest najwyraźniej synonimem dla wszystkich czerwonych, 684 00:31:56,230 --> 00:31:57,610 nie zielone, nie niebieskie. 685 00:31:57,610 --> 00:31:59,960 Tymczasem niech celowo zmienić ten się czymś 686 00:31:59,960 --> 00:32:01,210 losowy, jak ABCDF. 687 00:32:01,210 --> 00:32:03,790 688 00:32:03,790 --> 00:32:05,860 >> Zobaczmy, co to jest. 689 00:32:05,860 --> 00:32:08,530 To naprawdę ładny niebieski, faktycznie, baby blue. 690 00:32:08,530 --> 00:32:11,820 W porządku, więc to tylko teraz nieco losowe kombinacje 691 00:32:11,820 --> 00:32:12,210 znaków. 692 00:32:12,210 --> 00:32:13,410 Więc nie ugrzęznąć tutaj. 693 00:32:13,410 --> 00:32:15,930 Ale znowu, to mówi do precyzji że można zacząć 694 00:32:15,930 --> 00:32:19,090 zastosowanie - nawet jeśli bardzo przytłoczeni o estetyce. 695 00:32:19,090 --> 00:32:21,750 W rzeczywistości, jeśli naprawdę chcesz być pod wrażeniem, pozwól mi iść dalej i zmienić 696 00:32:21,750 --> 00:32:23,500 rozmiar czcionki, na przykład. 697 00:32:23,500 --> 00:32:25,960 I zauważyć, średnik, który jest niezbędne tam. 698 00:32:25,960 --> 00:32:29,570 >> Rozmiar czcionki, możemy być po prostu śmieszne o, 96 pkt. 699 00:32:29,570 --> 00:32:31,280 Zapisz to. 700 00:32:31,280 --> 00:32:33,670 Wow, to jest duży rozmiar czcionki. 701 00:32:33,670 --> 00:32:35,490 W porządku, więc jest to bardzo łatwe. 702 00:32:35,490 --> 00:32:38,260 I rzeczywiście, jesteś w zasadzie widząc bardzo pierwsza strona internetowa zrobiłem 703 00:32:38,260 --> 00:32:40,060 lat temu, kiedy po raz pierwszy Nauczyłem się tej rzeczy. 704 00:32:40,060 --> 00:32:42,190 To bardzo proste, aby było ohydne rzeczy szybko. 705 00:32:42,190 --> 00:32:46,115 >> A jeśli jesteś zaznajomiony z Wayback Maszyna na archive.org, to 706 00:32:46,115 --> 00:32:48,210 można znaleźć wszystkie moje ohydne stron undergrad internetowych. 707 00:32:48,210 --> 00:32:50,090 Jeden miał Kermit Żaba na froncie. 708 00:32:50,090 --> 00:32:53,150 Poszedłem przez fazę, w którym myślałem fajnie było wziąć tło 709 00:32:53,150 --> 00:32:56,320 czerwona kurtyna, kiedy dowiedziałem się, w jaki sposób can zdjęć terakota znowu, i znowu, i 710 00:32:56,320 --> 00:32:59,540 ponownie, aby wypełnić stronę z big tandetny czerwona kurtyna. 711 00:32:59,540 --> 00:33:03,120 A potem, na szczycie tego, była ikona że trzeba było kliknąć, aby wejść do domu 712 00:33:03,120 --> 00:33:04,960 strona dlatego, że był bardzo w modzie. 713 00:33:04,960 --> 00:33:08,870 >> I wtedy mój pierwszy program, jaki kiedykolwiek napisał Nie było w PHP, ale w języku 714 00:33:08,870 --> 00:33:12,260 nazwie Pearl, napisał książkę, która gościa to naprawdę fajna rzecz, że 715 00:33:12,260 --> 00:33:14,250 Wiele osób spodziewa się mieć na stronie głównej. 716 00:33:14,250 --> 00:33:17,510 Kiedy dotrzesz do strony, oni chcą zalogować się i powiedzieć, kim jesteś, 717 00:33:17,510 --> 00:33:18,720 i dlaczego tu jesteś. 718 00:33:18,720 --> 00:33:21,320 To jest bardzo 1990 web design style. 719 00:33:21,320 --> 00:33:24,130 >> Ale te dni, z pewnością, mamy się dużo dalej. 720 00:33:24,130 --> 00:33:27,560 I zobaczysz, w sekcji, a nawet w problem ustawić siedem, by 721 00:33:27,560 --> 00:33:31,570 Wykorzystując biblioteki te dni, to o wiele łatwiejsze 722 00:33:31,570 --> 00:33:33,400 ładniejsze rzeczy szybko. 723 00:33:33,400 --> 00:33:36,550 Naprawdę tutaj jesteśmy tylko zarysowania powierzchni, co można zrobić 724 00:33:36,550 --> 00:33:37,400 stylistycznie. 725 00:33:37,400 --> 00:33:41,660 >> I faktycznie, już, podkreślam że to już się brzydki, nie 726 00:33:41,660 --> 00:33:46,030 tylko estetyczne, ale pod względem od stylu mojego kodu, lub 727 00:33:46,030 --> 00:33:47,260 projekt mojego kodu. 728 00:33:47,260 --> 00:33:52,350 Mam obecnie comingled HTML, który jest zielonkawe otwarte tagi tam, z 729 00:33:52,350 --> 00:33:55,160 Właściwości CSS, które jest całkowicie legalne. 730 00:33:55,160 --> 00:33:57,200 To jest naprawdę, gdzie język miał swoje początki. 731 00:33:57,200 --> 00:34:01,030 >> Ale w interesie czystej konstrukcji, tak jak zaczęliśmy rzeczy faktoringu 732 00:34:01,030 --> 00:34:05,370 się z plików C do plików. h, niech ja właściwie praktykować tego rodzaju 733 00:34:05,370 --> 00:34:07,990 Zasada i zacząć robić zamiast tego. 734 00:34:07,990 --> 00:34:13,280 Powiem tag stylu tutaj, które istnieje również w formacie HTML, i niech mnie 735 00:34:13,280 --> 00:34:15,330 określić następujące. 736 00:34:15,330 --> 00:34:16,360 Pozwól mi usunąć. 737 00:34:16,360 --> 00:34:18,110 Kolor tła będzie czerwony. 738 00:34:18,110 --> 00:34:19,800 Zamierzam usunąć całkowicie. 739 00:34:19,800 --> 00:34:22,580 Mam zamiar pozbyć się stylu atrybut, i mam zamiar do jednoznacznego 740 00:34:22,580 --> 00:34:24,620 zidentyfikować ten div słowem - 741 00:34:24,620 --> 00:34:28,750 arbitralnie, ale rozsądnie, cytuję koniec cytatu "top". I id jest specjalnym 742 00:34:28,750 --> 00:34:32,530 atrybut, który jednoznacznie definiuje pewien element HTML 743 00:34:32,530 --> 00:34:33,850 jako mające ten identyfikator. 744 00:34:33,850 --> 00:34:37,969 >> Jeśli teraz chcemy stylizowane nim tutaj w Szef mojej stronie, wewnątrz 745 00:34:37,969 --> 00:34:41,730 tag style, zauważysz, że Mogę zrobić hash szczyt. 746 00:34:41,730 --> 00:34:45,300 A potem można umieścić kilka kręcone szelki, przypominające C, a następnie niech 747 00:34:45,300 --> 00:34:47,130 ja wklej w tym stylizacji. 748 00:34:47,130 --> 00:34:49,929 I niech śmiało tutaj i przewidywania gdzie mam się z tym. 749 00:34:49,929 --> 00:34:53,380 Chciałbym również stworzyć jeden dla div dolnej. 750 00:34:53,380 --> 00:34:58,010 Pozwól mi złapać tę ohydną kod dół tutaj, umieścić go tutaj, a ja będę 751 00:34:58,010 --> 00:35:00,770 trochę więcej anal teraz i stylizowane to tylko o oddanie rzeczy na własną rękę 752 00:35:00,770 --> 00:35:02,540 linia, kończąc średnikiem. 753 00:35:02,540 --> 00:35:04,430 Pozwól mi pozbyć się znacznika stylu. 754 00:35:04,430 --> 00:35:05,320 >> Ale ja nie skończyłem. 755 00:35:05,320 --> 00:35:07,406 I trzeba zrobić jedną rzecz. 756 00:35:07,406 --> 00:35:10,070 Tak, id równa cytatu, cytuję "dno" lub cokolwiek id chcę 757 00:35:10,070 --> 00:35:11,740 dać tego elementu. 758 00:35:11,740 --> 00:35:13,420 Teraz, pozwól mi wrócić tutaj. 759 00:35:13,420 --> 00:35:14,360 I to jest okropne. 760 00:35:14,360 --> 00:35:15,805 Nie mogę poradzić sobie z 96 pkt. 761 00:35:15,805 --> 00:35:16,960 Zróbmy 24 punkt. 762 00:35:16,960 --> 00:35:18,320 Lub może być bardziej precyzyjne. 763 00:35:18,320 --> 00:35:21,800 Możesz faktycznie korzysta pikseli, px, więc że naprawdę można uzyskać drobniejsze ziarno 764 00:35:21,800 --> 00:35:23,220 kontrolę nad swoją stronę. 765 00:35:23,220 --> 00:35:26,860 >> Tak na marginesie, to nie koniecznie Najlepiej, jeśli użytkownicy, dla 766 00:35:26,860 --> 00:35:29,650 Powody dostępności, chcą możliwość zwiększenia wielkości. 767 00:35:29,650 --> 00:35:32,650 Więc sobie sprawę, że istnieją sposoby na zrobienie rzeczy, które nie muszą 768 00:35:32,650 --> 00:35:34,230 trudno wszystko kod. 769 00:35:34,230 --> 00:35:37,220 >> W porządku, więc jest większy, 24 pkt, niż cokolwiek domyślnie. 770 00:35:37,220 --> 00:35:38,630 Ale teraz to trochę czystsze. 771 00:35:38,630 --> 00:35:40,230 I pozwól mi wziąć ten jeden krok dalej. 772 00:35:40,230 --> 00:35:47,220 Podobnie jak pomysł plików nagłówkowych, zauważyć, że jesteśmy o krok bliżej do tego. 773 00:35:47,220 --> 00:35:52,000 Mam zbitek, ale nadal w lewo, wewnątrz mojej strony, przepisy te CSS. 774 00:35:52,000 --> 00:35:56,200 Dlaczego może chcę zrobić ten jeden krok dalej, usunąć to całkowicie, a 775 00:35:56,200 --> 00:35:59,860 umieścić go w osobnym pliku? 776 00:35:59,860 --> 00:36:01,070 >> Więc mogę używać go, prawda? 777 00:36:01,070 --> 00:36:03,155 To tylko rodzaj intuicji teraz. 778 00:36:03,155 --> 00:36:06,340 Przedtem twierdził, że to właśnie coraz brzydki o styl 779 00:36:06,340 --> 00:36:08,480 atrybuty wewnątrz div się. 780 00:36:08,480 --> 00:36:09,750 Ale tylko trochę pomyśleć, że dzięki. 781 00:36:09,750 --> 00:36:13,560 Jako strona uzyskuje coraz dłużej, jeśli jesteś wprowadzenie tu i tu, i 782 00:36:13,560 --> 00:36:18,350 tutaj i tutaj, wszystkie te różne kolory i rozmiary czcionek i inne takie 783 00:36:18,350 --> 00:36:22,550 atrybuty, strona jest bardzo szybko stanie się niewykonalna dla Ciebie. 784 00:36:22,550 --> 00:36:24,570 >> Jeśli ktoś przychodzi do was i mówi, oh, wiesz co? 785 00:36:24,570 --> 00:36:28,070 Naprawdę chciałbym, aby zmienić rozmiar czcionki o dwa dodatkowe punkty, to 786 00:36:28,070 --> 00:36:31,275 może iść i znaleźć i zastąpić Ogromna liczba linii kodu. 787 00:36:31,275 --> 00:36:35,170 To o wiele bardziej przekonujące scentralizować wszystkie takie estetyka tutaj. 788 00:36:35,170 --> 00:36:38,850 Ale jeśli chcesz, aby ponownie użyć tych estetyka w wielu stronach internetowych, wszystkie 789 00:36:38,850 --> 00:36:41,100 bardziej atrakcyjne do na przykład, utworzyć plik 790 00:36:41,100 --> 00:36:45,290 wywoływana z tych treści. 791 00:36:45,290 --> 00:36:46,680 >> I pozwól mi to zrobić. 792 00:36:46,680 --> 00:36:51,150 793 00:36:51,150 --> 00:36:51,920 Zapisz ten plik. 794 00:36:51,920 --> 00:36:55,580 Mówię styles.css, arbitralne, ale konwencjonalny. 795 00:36:55,580 --> 00:36:58,770 Włożę go w domu Johna Harvarda Teraz dla uproszczenia Katalogu. 796 00:36:58,770 --> 00:37:03,880 I co mogę zrobić w mojej stronie internetowej jest uzyskać pozbyć znacznika stylu zupełnie, 797 00:37:03,880 --> 00:37:08,270 i nieco unintuitively, użyj łącza tag, który nie daje link 798 00:37:08,270 --> 00:37:13,140 hiperłącza, klikalny sens, ale gdy mówię, związek, href równa 799 00:37:13,140 --> 00:37:15,120 styles.css. 800 00:37:15,120 --> 00:37:20,050 A związek, że ten element jest z strony internetowej ma służyć jako 801 00:37:20,050 --> 00:37:21,280 jego arkusz stylów. 802 00:37:21,280 --> 00:37:22,670 >> Więc jak to poznam? 803 00:37:22,670 --> 00:37:25,950 One, po prostu przeczytać instrukcję, albo Google wokół, i 804 00:37:25,950 --> 00:37:27,000 spojrzeć na różnych zasobów. 805 00:37:27,000 --> 00:37:30,520 To znaczy, że dobrze jest, jak można odebrać tego rodzaju techniki, oraz, zgodnie 806 00:37:30,520 --> 00:37:34,720 z tego pomysłu nauczania się nowy języki, ponownie, przekonasz się, że 807 00:37:34,720 --> 00:37:38,830 jest tylko skończona liczba rzeczy w każdym języku, który, gdy pojawi się 808 00:37:38,830 --> 00:37:41,310 im, przekonasz się, że to robi szybciej i szybciej pisać. 809 00:37:41,310 --> 00:37:44,180 Rzeczywiście, nauka nowego programowania Język jest więc znacznie szybciej niż nowy 810 00:37:44,180 --> 00:37:47,380 językiem, bo te rzeczy są znacznie mniejsze i znacznie więcej 811 00:37:47,380 --> 00:37:48,820 precyzyjnie określone. 812 00:37:48,820 --> 00:37:51,590 >> Ale mam trochę podkreślił anomalią tutaj. 813 00:37:51,590 --> 00:37:57,750 Dlaczego I podkreślił to ukośnik tutaj? 814 00:37:57,750 --> 00:37:59,420 Bo muszę zamknąć znacznik. 815 00:37:59,420 --> 00:38:00,530 Powinienem zamknąć znacznik. 816 00:38:00,530 --> 00:38:02,750 A znajdziesz niezliczone zasoby online, które nie 817 00:38:02,750 --> 00:38:04,080 koniecznie Zamknij tagi. 818 00:38:04,080 --> 00:38:08,770 I realistycznie, nie jest ściśle technicznych konieczne i istnieje 819 00:38:08,770 --> 00:38:11,950 Przyczyny rzeczywistości przeglądarki są tylko dość tolerancyjne na błędy w sieci 820 00:38:11,950 --> 00:38:14,360 stron, na lepsze lub na gorsze, ale przeważnie gorzej. 821 00:38:14,360 --> 00:38:18,830 >> Więc to tutaj jest po prostu czystszy sposób mówiąc coś głupiego, jak to, 822 00:38:18,830 --> 00:38:22,330 gdzie jeśli chcesz otworzyć link tag ale zamknąć go, naprawdę nie ma pojęcia 823 00:38:22,330 --> 00:38:23,720 zawartości dla tagu łącza. 824 00:38:23,720 --> 00:38:26,000 To po prostu oznacza to obciążenia złożyć i umieścić go tutaj. 825 00:38:26,000 --> 00:38:30,610 To jest jak ostry include w C możesz otworzyć i zamknąć tag wszystkie na raz 826 00:38:30,610 --> 00:38:31,660 w tym samym znacznikiem. 827 00:38:31,660 --> 00:38:33,520 I nie ma innych przykładów tego. 828 00:38:33,520 --> 00:38:37,280 To nie jest sposób, aby to zrobić, ale br tag, do łamania linii, jeśli 829 00:38:37,280 --> 00:38:41,780 naprawdę chciał osiągnąć to, co ja próby przed uderzając Wprowadź, jeżeli 830 00:38:41,780 --> 00:38:45,380 I wyraźnie powiedzieć, nowej linii, przerwy w linii, nowej linii, przerwy w linii, a 831 00:38:45,380 --> 00:38:49,100 załaduj tę stronę, teraz można zauważyć, , że na dole strony jest 832 00:38:49,100 --> 00:38:51,940 rzeczywiście, wiele dalej w u dołu strony. 833 00:38:51,940 --> 00:38:55,840 Ale nawet, że można zrobić dużo więcej czysto z CSS, a także z okazji, 834 00:38:55,840 --> 00:38:58,120 iz drugiej takiej estetyce techniki. 835 00:38:58,120 --> 00:38:59,940 >> Więc teraz, że dania na wynos to to. 836 00:38:59,940 --> 00:39:02,320 W HTML, mamy te rzeczy zwane tagi. 837 00:39:02,320 --> 00:39:04,830 W CSS, mamy te rzeczy nazywa właściwości. 838 00:39:04,830 --> 00:39:08,700 Możemy comingle tych dwóch językach, albo za pomocą atrybutu style, 839 00:39:08,700 --> 00:39:14,240 lub tag styl, albo najlepiej jeszcze, factoring to się w ogóle, jak to zrobić 840 00:39:14,240 --> 00:39:17,270 w problemu ustawić 7. 841 00:39:17,270 --> 00:39:23,820 Pytania, a następnie, o koncepcyjne podstawy tutaj? 842 00:39:23,820 --> 00:39:24,740 >> PUBLICZNOŚCI: Mam pytanie. 843 00:39:24,740 --> 00:39:25,630 >> SPEAKER 1: O, przepraszam. 844 00:39:25,630 --> 00:39:28,880 >> PUBLICZNOŚCI: Dlaczego nie było kolorowe - 845 00:39:28,880 --> 00:39:31,410 >> SPEAKER 1: Oh, w drugiej karcie? 846 00:39:31,410 --> 00:39:32,232 To tutaj? 847 00:39:32,232 --> 00:39:33,482 >> PUBLICZNOŚCI: No, to jak - 848 00:39:33,482 --> 00:39:35,330 849 00:39:35,330 --> 00:39:39,480 >> SPEAKER 1: Oh, to dlatego, I był ewidentnie niechlujstwa. 850 00:39:39,480 --> 00:39:41,350 I umieścić plik w niewłaściwym miejscu. 851 00:39:41,350 --> 00:39:47,840 Więc jeśli rzeczywiście umieścić go tutaj, a ja chmod go, wszystko + r dla styles.css i 852 00:39:47,840 --> 00:39:52,050 teraz odświeżyć stronę, teraz uzyskać stylizację powrotem. 853 00:39:52,050 --> 00:39:54,530 A ponieważ rozmiary czcionek są różne, nie widzimy już tak dużo 854 00:39:54,530 --> 00:39:55,010 white space. 855 00:39:55,010 --> 00:39:58,240 My zamiast zobaczyć, co jest domyślnym jest zamiast. 856 00:39:58,240 --> 00:40:00,050 Dobre pytanie. 857 00:40:00,050 --> 00:40:00,846 Tak? 858 00:40:00,846 --> 00:40:02,630 >> PUBLICZNOŚCI: Dlaczego jest link tag wewnątrz nagłówka? 859 00:40:02,630 --> 00:40:06,270 >> SPEAKER 1: Dlaczego linki wewnątrz znacznika nagłówka - 860 00:40:06,270 --> 00:40:07,650 Krótka odpowiedź, tylko dlatego. 861 00:40:07,650 --> 00:40:08,930 To jest to, co postanowiono. 862 00:40:08,930 --> 00:40:10,720 To miejsce, gdzie iść, gdy łącza tags masz to, co się nazywa 863 00:40:10,720 --> 00:40:13,650 zewnętrzny arkusz stylów. 864 00:40:13,650 --> 00:40:16,430 Inne pytania? 865 00:40:16,430 --> 00:40:17,770 >> Dobrze, dobrze zróbmy to. 866 00:40:17,770 --> 00:40:20,500 Mamy dużo zabawy przed nami dzisiaj. 867 00:40:20,500 --> 00:40:22,480 To tylko zarysowania powierzchnia CSS. 868 00:40:22,480 --> 00:40:23,010 Zróbmy to. 869 00:40:23,010 --> 00:40:25,980 Weźmy tu pięć minut przerwy bo, na mój e-mail, niech wiszą 870 00:40:25,980 --> 00:40:27,200 tam do 02:30-owski dziś. 871 00:40:27,200 --> 00:40:28,540 Ale jeśli masz do zostawić, to w porządku. 872 00:40:28,540 --> 00:40:30,380 Ale będziemy posuwać się do przodu, po pięć minut przerwy. 873 00:40:30,380 --> 00:40:35,930 I dowiemy się co nieco o PHP, MySQL i wiele więcej. 874 00:40:35,930 --> 00:40:44,520 >> W porządku, więc spróbujmy teraz, aby związać kilka z tych pomysłów razem i zrobić, 875 00:40:44,520 --> 00:40:46,180 powiedzieć, własne wyszukiwarki. 876 00:40:46,180 --> 00:40:48,570 Zauważyłem, raczej z ciekawością, dodaje. 877 00:40:48,570 --> 00:40:52,610 Kiedy jesteś na Google.com, jesteś zazwyczaj w adresie URL jak ten tutaj 878 00:40:52,610 --> 00:40:54,870 z czego po dot com. 879 00:40:54,870 --> 00:40:59,760 Ale jeśli mogę szukać czegoś głupiego jak koty, i naciśnij klawisz Enter, dostaniemy - nie 880 00:40:59,760 --> 00:41:01,300 głupie, ale wiesz. 881 00:41:01,300 --> 00:41:05,410 >> OK, aby zauważyć, na górnej stronie, Teraz, adres URL jest, oczywiście, zmienić. 882 00:41:05,410 --> 00:41:07,190 I to nie jest coś, nowe do każdego z nas. 883 00:41:07,190 --> 00:41:09,290 Po kliknięciu łącza i takie tam dzieje się w sieci. 884 00:41:09,290 --> 00:41:11,420 Ale co ciekawe tutaj jest następujący. 885 00:41:11,420 --> 00:41:14,500 Jest całe mnóstwo bałaganu, ale niech mnie wyrzucić rzeczy, że ja nie 886 00:41:14,500 --> 00:41:16,600 bardzo rozumiem, czy nie naprawdę wyglądają istotne. 887 00:41:16,600 --> 00:41:18,490 >> Pozwól mi pozbyć się tego. 888 00:41:18,490 --> 00:41:20,030 Pozwól mi pozbyć się tego. 889 00:41:20,030 --> 00:41:22,630 I niech mi tylko pozbyć z tym wszystkim. 890 00:41:22,630 --> 00:41:28,840 A teraz zauważyć, że koty to w adresie URL, następnie z q, to ​​równa 891 00:41:28,840 --> 00:41:29,710 się przed nim. 892 00:41:29,710 --> 00:41:32,110 Tak więc okazuje się, jest to, jak Jak to działa, jeśli chodzi 893 00:41:32,110 --> 00:41:33,360 na wejściu i wyjściu. 894 00:41:33,360 --> 00:41:37,510 >> Od dawna mówił o czarne skrzynki, prawda? 895 00:41:37,510 --> 00:41:41,650 Tak więc, jeśli jest to realizowane funkcje tutaj jako czarna skrzynka, to ma wejście 896 00:41:41,650 --> 00:41:45,290 i tworzy wyjście, dobrze, oznacza przez którego wkład do 897 00:41:45,290 --> 00:41:49,270 strona jest w drodze, często, jego URL. 898 00:41:49,270 --> 00:41:52,850 Wystarczy postawić znak zapytania a następnie klucza równa wartości. 899 00:41:52,850 --> 00:41:56,740 A potem może Ampersand, a następnie Innym kluczowym jest równa wartości, to może 900 00:41:56,740 --> 00:41:58,810 kolejny Ampersand, klucz jest równy wartości. 901 00:41:58,810 --> 00:42:03,030 To, w jaki sposób przekazać w klawisze i wartości, pary wejść. 902 00:42:03,030 --> 00:42:07,050 >> Więc jeśli uderzę Wprowadź teraz, co jest ciekawe o Google jest to, że wszystkie 903 00:42:07,050 --> 00:42:10,420 że bałagan Usunąłem nie pojawia jest to bezwzględnie konieczne. 904 00:42:10,420 --> 00:42:15,120 Wszystko czego potrzebujesz, aby wysłać do Google jest pytanie mark q równa koty dostać 905 00:42:15,120 --> 00:42:16,160 kopię kilka kotów. 906 00:42:16,160 --> 00:42:20,160 Cóż, implikacja, że ​​to, jest, jeśli podciągnąć gedit, zacząłem 907 00:42:20,160 --> 00:42:24,360 podejmowania własnej wyszukiwarki tutaj w pliku o nazwie seach0.html. 908 00:42:24,360 --> 00:42:26,750 >> I pozwól mi iść dalej i usunąć jedna linia, którą 909 00:42:26,750 --> 00:42:27,910 były nie powinien zobaczyć. 910 00:42:27,910 --> 00:42:31,070 A teraz pozwól mi iść do mojego przeglądarce tak nie do Google, i przejść do 911 00:42:31,070 --> 00:42:34,900 http://localhost. 912 00:42:34,900 --> 00:42:36,220 I to się dzieje, aby w drodze. 913 00:42:36,220 --> 00:42:43,240 Więc będziemy musieli pożegnać się z że teraz, przenieść to tutaj, 914 00:42:43,240 --> 00:42:46,270 oh, teraz będziemy musieli pożegnać się z tym plikiem. 915 00:42:46,270 --> 00:42:51,700 >> Gdy masz plik o nazwie index.html lub index.php w 916 00:42:51,700 --> 00:42:54,980 katalog, jeśli serwer jest skonfigurowany w ten sposób, co będziesz 917 00:42:54,980 --> 00:42:59,600 zobacz, domyślnie jest treść, która plik, a nie lista 918 00:42:59,600 --> 00:43:02,330 katalog, jak chciałem tutaj. 919 00:43:02,330 --> 00:43:03,750 Więcej na ten temat w specyfikacji. 920 00:43:03,750 --> 00:43:04,610 Nie widzę. 921 00:43:04,610 --> 00:43:06,360 >> Więc to jest to, co tak naprawdę chciał. 922 00:43:06,360 --> 00:43:08,810 Ale chwilę temu, nie było W tym folderze plik o nazwie 923 00:43:08,810 --> 00:43:11,290 index.html i index.php. 924 00:43:11,290 --> 00:43:13,380 I tak serwer był pokazano mi te pliki. 925 00:43:13,380 --> 00:43:15,900 Zamiast tego, chcę tego katalogu wymieniając tutaj. 926 00:43:15,900 --> 00:43:18,340 >> Więc mam zamiar iść do CSS i przejść do search0. 927 00:43:18,340 --> 00:43:21,770 I twierdzą, że jest to to będzie początek mój własny konkurencyjny 928 00:43:21,770 --> 00:43:22,490 wyszukiwarki. 929 00:43:22,490 --> 00:43:27,630 A do tego, mam zamiar iść w tutaj, w CSS, i otworzyć się 930 00:43:27,630 --> 00:43:30,190 gedit, wyszukiwania 0. 931 00:43:30,190 --> 00:43:32,280 Ale niestety, nie nie wiele się tu dzieje. 932 00:43:32,280 --> 00:43:35,690 Ja tylko użyć tagu nagłówka, który dzieje się nazywać H1, który 933 00:43:35,690 --> 00:43:38,180 zasadniczo oznacza duży i bold, i to wszystko. 934 00:43:38,180 --> 00:43:40,810 Ale sposób, w jaki możemy zapewniają wejścia są przez nich 935 00:43:40,810 --> 00:43:42,180 rzeczy nazywane formy. 936 00:43:42,180 --> 00:43:46,040 >> Więc pozwól mi iść do przodu i otworzyć i zamknąć, zapobiegawczo, tag formularz. 937 00:43:46,040 --> 00:43:48,060 I pozwól mi iść do przodu i robić coś takiego. 938 00:43:48,060 --> 00:43:51,430 Wejście typu równa tekst. 939 00:43:51,430 --> 00:43:56,320 A potem niech zamknąć tag w ciągu wsporniki siebie. 940 00:43:56,320 --> 00:43:58,800 I nie trzeba do początku pola tekstowego i zatrzymać pole tekstowe. 941 00:43:58,800 --> 00:44:01,080 To właśnie tam będzie, czy nie. 942 00:44:01,080 --> 00:44:06,210 >> A następnie poniżej, zróbmy Typ wejścia wynosi przedstawienia. 943 00:44:06,210 --> 00:44:06,870 Zapisz. 944 00:44:06,870 --> 00:44:08,630 A teraz zróbmy szybkie sanity check. 945 00:44:08,630 --> 00:44:09,820 Miejmy przeładować. 946 00:44:09,820 --> 00:44:10,890 >> OK, więc to nie jest źle. 947 00:44:10,890 --> 00:44:13,260 To nie w stylu Google jest, ale to dość blisko. 948 00:44:13,260 --> 00:44:13,920 Tam jest pole tekstowe. 949 00:44:13,920 --> 00:44:17,190 Mogę wpisać kilka rzeczy w, naciśnij Enter, ale nic się nie dzieje jeszcze. 950 00:44:17,190 --> 00:44:21,090 A to dlatego, że nie określono działania dla tej postaci, że tak powiem. 951 00:44:21,090 --> 00:44:23,860 Tak więc, jeśli wrócę do elementu formularza, Okazuje się, i wiem, że to tylko 952 00:44:23,860 --> 00:44:27,460 z konieczności zapoznania się z dokumentacją, która tag forma ma atrybut 953 00:44:27,460 --> 00:44:31,880 nazywa działanie to jest URL strony internetowej, do której 954 00:44:31,880 --> 00:44:34,790 Aby wysłać formularz. 955 00:44:34,790 --> 00:44:37,610 >> I naprawdę nie sądzę, że mamy czas do wdrożyć cały tylny koniec dla 956 00:44:37,610 --> 00:44:38,570 sprawdzić dzisiaj silnik. 957 00:44:38,570 --> 00:44:41,900 Więc jesteśmy po prostu powiedzieć, co, przejdź na stronę google.com / search. 958 00:44:41,900 --> 00:44:43,450 A teraz pozwól mi zamknąć moje wypowiedzi. 959 00:44:43,450 --> 00:44:46,070 I pozwól mi dalej określić, że Sposób korzystania dzieje 960 00:44:46,070 --> 00:44:47,120 na miano uzyskać. 961 00:44:47,120 --> 00:44:50,650 >> Krótko mówiąc, jest na dwa sposoby, w najmniej, że można przekazywać informacje 962 00:44:50,650 --> 00:44:51,880 z przeglądarki do serwera. 963 00:44:51,880 --> 00:44:55,340 Jedno jest dostać, a dla dzisiejszych potrzeb, znaczy to tylko w adresie URL. 964 00:44:55,340 --> 00:44:58,730 Widzisz dokładnie znaków zapytania znaki równości i Ampersands że 965 00:44:58,730 --> 00:44:59,780 widzieliśmy wcześniej. 966 00:44:59,780 --> 00:45:02,890 Albo istnieje alternatywa nazywa post. 967 00:45:02,890 --> 00:45:06,490 Na razie wiemy, że post jest często używany gdy chcesz przesyłać pliki, jak 968 00:45:06,490 --> 00:45:09,820 zdjęcia i tak dalej, lub gdy chcesz przedstawienia informacji o karcie kredytowej, lub 969 00:45:09,820 --> 00:45:13,810 Hasła, coś, co nie działa sensu, koncepcyjnie, lub 970 00:45:13,810 --> 00:45:18,020 bezpieczeństwo mądry, do końca się w adresie URL Twoja przeglądarka, gdzie rodzice podglądanie, 971 00:45:18,020 --> 00:45:21,520 lub współlokatorów, czy ktokolwiek z dostępem do komputera może zobaczyć. 972 00:45:21,520 --> 00:45:23,110 >> Warto więc zapisać, że tutaj. 973 00:45:23,110 --> 00:45:24,480 I muszę zrobić jedną rzecz. 974 00:45:24,480 --> 00:45:27,250 Nie wystarczy po prostu mówią mi pole tekstowe. 975 00:45:27,250 --> 00:45:29,850 Muszę dać tej dziedzinie-tych cenią nazwę. 976 00:45:29,850 --> 00:45:34,500 Więc pozwól mi pożyczyć wyboru przez Google Nazwy, Q i określić, że druga 977 00:45:34,500 --> 00:45:38,150 przypisują I naprawdę nie obchodzi Nazwa przycisku Wyślij. 978 00:45:38,150 --> 00:45:40,890 Wszystko mi zależy jest złożenie co użytkownik wpisze w. 979 00:45:40,890 --> 00:45:41,940 >> A teraz to jest rodzaj brzydki. 980 00:45:41,940 --> 00:45:42,820 To po prostu mówi przedstawienia. 981 00:45:42,820 --> 00:45:46,350 Okazuje się, i wiem to z dokumentacja, można rzeczywiście powiedzieć, 982 00:45:46,350 --> 00:45:51,710 wartość jest równa cytat cytatu "CS50 seach, "blisko cytat. 983 00:45:51,710 --> 00:45:53,030 Następnie niech przeładować ponownie. 984 00:45:53,030 --> 00:45:57,020 Więc naciskamy Command-R, lub Control-R na klawiaturze, aby przeładować. 985 00:45:57,020 --> 00:45:58,605 >> Teraz mamy bardziej interesujące wyszukiwarki. 986 00:45:58,605 --> 00:46:00,340 Nie dość wyglądać Google jeszcze, choć. 987 00:46:00,340 --> 00:46:04,100 Więc śmiało tu i zrobić sobie małą przerwę linii. 988 00:46:04,100 --> 00:46:06,066 >> OK, więc teraz mamy Google. 989 00:46:06,066 --> 00:46:08,260 Tak naprawdę prawie nie ma Google. 990 00:46:08,260 --> 00:46:10,460 Więc teraz, co się stanie? 991 00:46:10,460 --> 00:46:12,220 Zamierzam pisać w czymś jak koty. 992 00:46:12,220 --> 00:46:16,570 A przeglądarka będzie analizować które stanowią, że określone. 993 00:46:16,570 --> 00:46:19,470 I to się dzieje, aby wysłać Użytkownik tej zawartości. 994 00:46:19,470 --> 00:46:23,420 Tak więc w tym momencie, z jakiegoś powodu ciekawym, Mam więcej informacji na temat zasobów 995 00:46:23,420 --> 00:46:24,410 niż o rzeczywistych kotów. 996 00:46:24,410 --> 00:46:30,580 Ale to dobrze, bo zauważy my wciąż Skończyło się tutaj, q wynosi koty. 997 00:46:30,580 --> 00:46:35,200 >> Więc krótko mówiąc, wydaje się dość trywialne, aby uzyskać danych od użytkownika. 998 00:46:35,200 --> 00:46:38,190 I żeby być w porządku, nie ma kiście innych rodzajów polach. 999 00:46:38,190 --> 00:46:41,510 Nie ma pola wyboru, a trochę wzajemnie wyłączne przyciski radiowe, i 1000 00:46:41,510 --> 00:46:42,960 rozwijanych menu, i wiele innych. 1001 00:46:42,960 --> 00:46:46,160 Ale wszystkie te są stosunkowo łatwo realizowane jako 1002 00:46:46,160 --> 00:46:48,040 to pole tekst był. 1003 00:46:48,040 --> 00:46:52,050 I w końcu, po prostu musimy zrobić czy ktoś słucha na inne 1004 00:46:52,050 --> 00:46:56,490 końca linii w celu uzyskania, że informacji przetwarzanych, w jakiś sposób, i 1005 00:46:56,490 --> 00:46:58,440 przywrócić nam nasze koty. 1006 00:46:58,440 --> 00:47:00,840 >> Przyjrzyjmy się nieco bardziej zaangażowani przykład. 1007 00:47:00,840 --> 00:47:06,020 Pozwólcie mi odejść do mojego vhosta katalogu, do hosta lokalnego, publicznej, a gdzie 1008 00:47:06,020 --> 00:47:06,980 umieścić dzisiejszą kod źródłowy. 1009 00:47:06,980 --> 00:47:09,800 Wszystko to będzie na przebieg tych strona dla Ciebie majstrować przy. 1010 00:47:09,800 --> 00:47:15,420 A jeśli pójdę do froshims, pozwól mi otworzyć up ten plik teraz, froshim0.php. 1011 00:47:15,420 --> 00:47:18,460 Ten jest trochę bardziej gadatliwy, więc nie będziemy pisać to od nowa. 1012 00:47:18,460 --> 00:47:21,970 Ale tylko zauważy się kilka nieco znajome cechy. 1013 00:47:21,970 --> 00:47:24,550 >> Jeden, tag forma, inna akcja. 1014 00:47:24,550 --> 00:47:25,670 Nie jest to pełny adres URL jest. 1015 00:47:25,670 --> 00:47:29,930 Teraz to podobno do pliku o nazwie register0.php, ponieważ w chwili, 1016 00:47:29,930 --> 00:47:32,660 Zamierzam nauczyć sobie trochę coś o PHP, programowanie 1017 00:47:32,660 --> 00:47:37,360 Język, ponieważ PHP może być stosowany do wdrożenia, co Google realizowane jako 1018 00:47:37,360 --> 00:47:39,650 back end swoich wyszukiwarkach. 1019 00:47:39,650 --> 00:47:42,890 >> Google, w rzeczywistości, prawdopodobnie używa niektóre Pythona, niektóre C + +, oraz 1020 00:47:42,890 --> 00:47:44,230 bukiety innych językach. 1021 00:47:44,230 --> 00:47:48,230 Ale możemy z pewnością wprowadzić wyszukiwanie Wyniki z wykorzystaniem PHP, jeśli chcieliśmy. 1022 00:47:48,230 --> 00:47:49,610 Ale teraz będziemy trzymać to proste. 1023 00:47:49,610 --> 00:47:53,320 I to jest rzeczywiście przypomina jednego z innych stron pierwszych I 1024 00:47:53,320 --> 00:47:54,490 wykonane rok temu. 1025 00:47:54,490 --> 00:47:58,160 >> Powrót w mój dzień, jesteś zarejestrowany stacjonarne sport jako student pierwszego roku od 1026 00:47:58,160 --> 00:48:00,880 wypełnienie kawałek papieru, spacery w stoczni, i upuszczenie go w 1027 00:48:00,880 --> 00:48:04,890 skrzynki z Proctor w Wigglesworth, i to, w jaki sposób 1028 00:48:04,890 --> 00:48:05,460 zarejestrowany. 1029 00:48:05,460 --> 00:48:09,650 I tak mój projekt wkrótce po CS50, było umieścić, że, co czyni mistrza 1030 00:48:09,650 --> 00:48:13,460 Poczucie, na stronie internetowej, co nie było jak w modzie, a następnie, jak to jest teraz. 1031 00:48:13,460 --> 00:48:17,510 Ale wszystko, co musiałem zrobić, to stworzyć, w istocie, formularz HTML. 1032 00:48:17,510 --> 00:48:19,640 >> A że forma wyglądała mniej więcej tak. 1033 00:48:19,640 --> 00:48:22,480 Miałem wejście Freshman Nazwa. 1034 00:48:22,480 --> 00:48:27,780 Miałem innego pola wyboru, czy lub nie chcieli być kapitanem, co 1035 00:48:27,780 --> 00:48:30,400 ich płci był, i co ich akademiku był. 1036 00:48:30,400 --> 00:48:33,370 I wtedy trudno kodowane w rzeczy jak Apley Trybunału i Canaday, 1037 00:48:33,370 --> 00:48:34,880 Szarości, i tak dalej. 1038 00:48:34,880 --> 00:48:36,300 >> Więc znowu, nowe tagi. 1039 00:48:36,300 --> 00:48:39,820 Nie widziałem ich wcześniej, nowy atrybuty, ale dość łatwo dostępne. 1040 00:48:39,820 --> 00:48:42,360 Po zobaczyć przykład, możesz rodzaju z pożyczyć ten pomysł i zrobić spadek 1041 00:48:42,360 --> 00:48:43,820 down menu dla większości wszystkiego. 1042 00:48:43,820 --> 00:48:46,350 Ale to, co jest kluczem jest to, że każdy z te rzeczy mają nazwy. 1043 00:48:46,350 --> 00:48:49,720 , A na dole tej postaci, jest Przycisk submit, których etykieta, 1044 00:48:49,720 --> 00:48:51,510 lub wartość, jest rejestr. 1045 00:48:51,510 --> 00:48:52,670 >> Więc chodźmy do tej strony. 1046 00:48:52,670 --> 00:48:55,050 Pozwól mi wrócić do wpis katalogu. 1047 00:48:55,050 --> 00:48:59,410 Pozwólcie mi iść do froshims, i przejdź do froshim0.php. 1048 00:48:59,410 --> 00:49:01,150 Więc to jest ohydne, żeby być w porządku. 1049 00:49:01,150 --> 00:49:03,950 Mogłem więc zdecydowanie stylizować tego z niektórych CSS, mogłem zrobić jakiś 1050 00:49:03,950 --> 00:49:06,890 grafika, może dodać kilka kolorów, i zrobić to ładniej. 1051 00:49:06,890 --> 00:49:10,530 Ale funkcjonalnie, będę argumentować, że ta jest rzeczywiście bardzo kompletny. 1052 00:49:10,530 --> 00:49:15,190 >> Niestety, gdy wypełniam to obecnie, David, kapitanie, Male, będziemy wybierać, 1053 00:49:15,190 --> 00:49:20,510 powiedzmy Matthews, Rejestracja, wszystko, co się dzieje, jest to. 1054 00:49:20,510 --> 00:49:21,910 Zauważmy jednak, kilka bram. 1055 00:49:21,910 --> 00:49:27,130 Jedno, co plik wrócił tych Wyniki, najwyraźniej? 1056 00:49:27,130 --> 00:49:29,470 Tak to jest, rzeczywiście, register0.php. 1057 00:49:29,470 --> 00:49:34,570 Tak więc fakt, że widzieliśmy, że działania wartość chwilą dla register0, to 1058 00:49:34,570 --> 00:49:37,500 potwierdza, że ​​rzeczywiście zakończony się w danym pliku. 1059 00:49:37,500 --> 00:49:39,040 >> Teraz jest to po prostu brzydkie tekst. 1060 00:49:39,040 --> 00:49:42,810 Zauważmy jednak, że ten tekst jest pochodzących z lokalnego komputera, 1061 00:49:42,810 --> 00:49:44,170 które jest z urządzenia. 1062 00:49:44,170 --> 00:49:46,350 Pomyśl teraz, jak tylko urządzenie serwer, który może być w 1063 00:49:46,350 --> 00:49:46,910 Science Center. 1064 00:49:46,910 --> 00:49:48,060 Może to być w rzeczywistej sieci. 1065 00:49:48,060 --> 00:49:49,850 Więc to jest publicznie dostępne. 1066 00:49:49,850 --> 00:49:55,480 >> Tak wyraźnie, istnieje jakiś sposób przekazywania stanowić wkład pole do serwera 1067 00:49:55,480 --> 00:49:56,840 tak, że może zrobić coś z nimi. 1068 00:49:56,840 --> 00:49:59,020 Niestety, register0 jest dość głupie. 1069 00:49:59,020 --> 00:50:01,870 Wszystko to nie jest wydrukować tablicę , który wygląda tak. 1070 00:50:01,870 --> 00:50:04,790 I to nie jest tablica w poczucie, że go znamy. 1071 00:50:04,790 --> 00:50:08,760 Okazuje się, że w PHP, i wiele języki, mają nie tylko liczbowo 1072 00:50:08,760 --> 00:50:12,350 Tablice indeksowane, których pierwszy indeks jest zero, jeden, potem dwa, potem kropka, 1073 00:50:12,350 --> 00:50:13,780 dot, dot, n minus 1. 1074 00:50:13,780 --> 00:50:16,400 >> To jest to, co się nazywa asocjacyjna. 1075 00:50:16,400 --> 00:50:21,150 Tablica asocjacyjna jest taki, w którym można przechowywać kluczowych par wartości, w którym 1076 00:50:21,150 --> 00:50:23,160 Klucz nie jest koniecznie numer. 1077 00:50:23,160 --> 00:50:25,580 To może być w rzeczywistości ciąg, słowo. 1078 00:50:25,580 --> 00:50:28,230 I tak może to być realizowane, pod maską, jak się okazuje, 1079 00:50:28,230 --> 00:50:31,896 stosując strukturę danych znany jako? 1080 00:50:31,896 --> 00:50:33,600 Myśl coś dramatycznego miało się wydarzyć - 1081 00:50:33,600 --> 00:50:34,840 hash table. 1082 00:50:34,840 --> 00:50:38,955 >> Więc hash table, przypomnijmy, ci z was, kto to zrobił dla zbioru P 6, a nawet przywołać 1083 00:50:38,955 --> 00:50:44,110 to, co najmniej, nawet jeśli nie spróbować, tabeli mieszania, w naszym użycia, został użyty do 1084 00:50:44,110 --> 00:50:45,090 tylko zapisać słowa. 1085 00:50:45,090 --> 00:50:47,980 Ale tak naprawdę, to były przechowywania klucze i wartości. 1086 00:50:47,980 --> 00:50:51,940 Jeśli realizowane tabeli mieszania dla P zestaw 6 słownika, klawisze były 1087 00:50:51,940 --> 00:50:56,890 same słowa, i wartości były skutecznie prawdziwe lub fałszywe. 1088 00:50:56,890 --> 00:51:00,190 Tak, tutaj, lub w sposób dorozumiany, nie, nie tutaj. 1089 00:51:00,190 --> 00:51:02,140 >> Cóż, możemy generalizować, że pomysł. 1090 00:51:02,140 --> 00:51:06,230 I możemy użyć bardzo podobne dane Struktura do przechowywania nie ciąg 1091 00:51:06,230 --> 00:51:10,180 sobie sam w tabeli mieszania, ale Załóżmy, że w każdym z Państwa hash 1092 00:51:10,180 --> 00:51:11,130 Stołu węzły. 1093 00:51:11,130 --> 00:51:14,210 I można to zrobić nawet w próbie , a nie tylko mieć bool. 1094 00:51:14,210 --> 00:51:15,350 Można mieć coś innego. 1095 00:51:15,350 --> 00:51:19,590 Co zrobić, jeśli klucz nie był Maxwell, na instancji, ale cytatu cytat "name" lub 1096 00:51:19,590 --> 00:51:22,900 Cytując cytatu "Kapitan". A wewnątrz Twoja struktura danych C, można umieścić 1097 00:51:22,900 --> 00:51:26,170 wartość, nie tylko logiczna, ale wartości jak cytatem cytatu "Dawida", lub 1098 00:51:26,170 --> 00:51:28,690 "M" lub "Matthews," i tak dalej. 1099 00:51:28,690 --> 00:51:33,170 >> Więc tych samych struktur danych użyliśmy podobno istnieją w innych językach. 1100 00:51:33,170 --> 00:51:37,650 A ja twierdzą, że są w rzeczywistości dużo, znacznie prostszy dostęp tutaj. 1101 00:51:37,650 --> 00:51:40,300 Załóżmy bowiem spojrzeć teraz w jakimś takim składni. 1102 00:51:40,300 --> 00:51:43,120 >> Mam zamiar przejść do katalogu PHP. 1103 00:51:43,120 --> 00:51:48,390 I mam zamiar otworzyć się lepiej wersja Hello-0 od wcześniej. 1104 00:51:48,390 --> 00:51:50,270 Zauważ, że wszystko, co zrobił, było dodać kilka uwag. 1105 00:51:50,270 --> 00:51:52,530 Można więc pozbyć się tego szaleństwa. 1106 00:51:52,530 --> 00:51:57,610 >> A ten program rzeczywiście drukuje witam, bo już uzgodnienia między 1107 00:51:57,610 --> 00:52:01,420 tagi, które chcę wykonać ten kod. 1108 00:52:01,420 --> 00:52:03,380 Teraz zobaczymy za chwilę dlaczego to jest przydatne. 1109 00:52:03,380 --> 00:52:05,630 Ale Otwórzmy jeden inny przykład. 1110 00:52:05,630 --> 00:52:10,430 Pozwólcie mi iść do przodu i otworzyć się powiedzieć, gedit warunków jednego. 1111 00:52:10,430 --> 00:52:12,970 >> To jest sposób, w czasie teraz. 1112 00:52:12,970 --> 00:52:16,320 Ale tydzień temu, myślę, że w tym tygodniu jeden lub tydzień dwa, mieliśmy o nazwie przykład 1113 00:52:16,320 --> 00:52:18,470 conditions1.c. 1114 00:52:18,470 --> 00:52:22,050 I postanowiłem reimplement w PHP, tylko rodzaj podkreślić, że 1115 00:52:22,050 --> 00:52:26,500 PHP, składniowo, jest niemal identyczna do C. Nie jest to ogromny skok jest 1116 00:52:26,500 --> 00:52:27,840 z ostatniego tygodnia do tego. 1117 00:52:27,840 --> 00:52:31,230 >> Wskazówka na górze tego programu, które zaczyna, tak jak poprzednio, z niektórymi 1118 00:52:31,230 --> 00:52:34,260 Komentarze, które będę pozbyć z jako rozrywkę. 1119 00:52:34,260 --> 00:52:37,410 Zauważ, że jestem w PHP Tryb, w tym pliku. 1120 00:52:37,410 --> 00:52:40,160 Więc tego kodu, zobaczymy, będzie uzyskać wykonywane. 1121 00:52:40,160 --> 00:52:42,670 Zauważ, że jest readline, co jest prawdopodobnie 1122 00:52:42,670 --> 00:52:46,230 analog w PHP z GetString. 1123 00:52:46,230 --> 00:52:47,390 Zauważ, że jest to trochę inaczej. 1124 00:52:47,390 --> 00:52:51,410 Tak naprawdę określić monit o Funkcja o nazwie przeczytać wiersz, a to 1125 00:52:51,410 --> 00:52:52,180 to, co widzi użytkownik. 1126 00:52:52,180 --> 00:52:53,520 Więc nie musisz się printf ręcznie. 1127 00:52:53,520 --> 00:52:54,860 Ale to nie jest wielka sprawa. 1128 00:52:54,860 --> 00:52:59,150 Idę do sklepu, wewnątrz $ n, zwrotu wartości tego, więc bez względu na 1129 00:52:59,150 --> 00:53:00,490 użytkownik wpisze to ich int. 1130 00:53:00,490 --> 00:53:01,660 I jeszcze ciekawostka. 1131 00:53:01,660 --> 00:53:05,810 Okazuje się, w PHP, każdą zmienną po prostu musi być poprzedzona 1132 00:53:05,810 --> 00:53:06,970 ze znakiem dolara. 1133 00:53:06,970 --> 00:53:08,110 Jest to trochę denerwujące. 1134 00:53:08,110 --> 00:53:10,870 Zauważmy jednak, co ja nie zrobiłem w PHP. 1135 00:53:10,870 --> 00:53:13,980 Czego brakuje z lewej strony strona znak równości? 1136 00:53:13,980 --> 00:53:15,430 >> Brak wzmianki o rodzaju. 1137 00:53:15,430 --> 00:53:19,400 Więc to jest różne od C. Na lepsze czy na gorsze, PHP jest luźno 1138 00:53:19,400 --> 00:53:20,550 wpisany język. 1139 00:53:20,550 --> 00:53:22,010 To ma numerów. 1140 00:53:22,010 --> 00:53:23,240 To ma strun. 1141 00:53:23,240 --> 00:53:24,015 To ma logicznych. 1142 00:53:24,015 --> 00:53:26,220 I to ma niewiele inne typy danych. 1143 00:53:26,220 --> 00:53:30,570 Ale ty, programista, zwykle nie musisz się martwić o nich. 1144 00:53:30,570 --> 00:53:34,010 Plusem jest to, że to sprawia, że to trochę łatwiejsze do programu. 1145 00:53:34,010 --> 00:53:35,380 Możesz myśleć trochę mniej. 1146 00:53:35,380 --> 00:53:39,840 Minusem jest też otwiera się do potencjalne błędy, jeśli przypadkowo 1147 00:53:39,840 --> 00:53:43,080 leczeniu wielu jako ciąg, ciąg jak liczba, potencjalnie, ale nawet 1148 00:53:43,080 --> 00:53:46,150 następnie, PHP i wiele języków są bardzo tolerancyjni. 1149 00:53:46,150 --> 00:53:49,050 Będą korzystać z tego, co się nazywa niejawny odlewania. 1150 00:53:49,050 --> 00:53:55,220 A jeśli spróbujesz użyć n w kontekście liczbowego sytuacji, to będzie 1151 00:53:55,220 --> 00:53:58,040 konwersji, co tutaj będzie ciąg, ponieważ jeśli użytkownik wpisze 1152 00:53:58,040 --> 00:54:01,570 coś, a otrzymasz wynik, jak z readline, lub uzyskać ciąg, 1153 00:54:01,570 --> 00:54:02,910 , że zamierza powrócić ciąg. 1154 00:54:02,910 --> 00:54:07,360 >> Ale zauważ, kilka wierszy później sprawdź, czy N jest większe niż zero. 1155 00:54:07,360 --> 00:54:13,370 Więc PHP będzie niejawnie rzutować my "Ciąg" 123, czy cokolwiek użytkownik 1156 00:54:13,370 --> 00:54:14,860 typy w, do wew. 1157 00:54:14,860 --> 00:54:18,730 Tak w skrócie, rzeczy po prostu działa wiele bardziej intuicyjny. 1158 00:54:18,730 --> 00:54:23,410 Więc teraz zacząć się zrelaksować kilka rzeczy, które zrobiliśmy w przeszłości. 1159 00:54:23,410 --> 00:54:24,780 >> Wiele z tych rzeczy jest sam, choć. 1160 00:54:24,780 --> 00:54:26,340 Wciąż nie jest równa jest równa. 1161 00:54:26,340 --> 00:54:30,350 Tak na marginesie PHP ma również równa jest równa taniej, ale o tym, być może, w 1162 00:54:30,350 --> 00:54:30,850 przyszłość. 1163 00:54:30,850 --> 00:54:31,150 To było. 1164 00:54:31,150 --> 00:54:35,660 Typo ale dwa znaki równości oznacza same rzeczą, tak jak poprzednio, dla porównania. 1165 00:54:35,660 --> 00:54:37,060 printf oznacza to samo, co wcześniej. 1166 00:54:37,060 --> 00:54:39,160 Backslash n oznacza same coś jak wcześniej. 1167 00:54:39,160 --> 00:54:40,390 >> Więc jak mam uruchomić ten program? 1168 00:54:40,390 --> 00:54:44,400 Cóż, tak jak poprzednio, jeśli zrobić w PHP, conditions1.php i wpisz 1169 00:54:44,400 --> 00:54:46,560 liczba jak 123. 1170 00:54:46,560 --> 00:54:47,720 To jest liczba dodatnia. 1171 00:54:47,720 --> 00:54:49,510 Jeśli wpisać 0, I pick 0. 1172 00:54:49,510 --> 00:54:53,700 A jeśli wpisuję w negatywnym 123, otrzymuję kopię liczbę ujemną, która jest tylko 1173 00:54:53,700 --> 00:54:59,050 powiedzieć, składniowo, PHP jest super, bardzo podobny. 1174 00:54:59,050 --> 00:55:03,250 >> Więc dlaczego to jest teraz przydatne w kontekście internetowej? 1175 00:55:03,250 --> 00:55:06,710 Dobrze, wróćmy do tego froshims Przykładem, który wyglądał, 1176 00:55:06,710 --> 00:55:08,600 znowu, jak to tutaj. 1177 00:55:08,600 --> 00:55:11,580 I niech faktycznie podciągnąć stronę internetową ponownie, co wyglądało jak to. 1178 00:55:11,580 --> 00:55:14,930 Co możemy zrobić z danych, które jest przekazywane? 1179 00:55:14,930 --> 00:55:18,770 >> Cóż, pozwól mi otworzyć się nowsza wersja tego. 1180 00:55:18,770 --> 00:55:20,920 I zobaczysz, że problem Specyfikacja zestawy poprowadzi Cię 1181 00:55:20,920 --> 00:55:22,850 przez kilka z nich. 1182 00:55:22,850 --> 00:55:29,610 Zamiast zacząć od zera, spójrzmy na froshims3, 1183 00:55:29,610 --> 00:55:31,410 co robi nieco więcej. 1184 00:55:31,410 --> 00:55:34,780 >> Wskazówka pierwsze, rzeczywiście, otwórzmy to, co 0 było, więc widzisz 1185 00:55:34,780 --> 00:55:37,170 co rejestr 0 było. 1186 00:55:37,170 --> 00:55:40,040 Zauważ, co rejestr 0 zrobił. 1187 00:55:40,040 --> 00:55:41,730 Jeden mam komentarze na początku. 1188 00:55:41,730 --> 00:55:43,900 Usuń te, i skupić się tylko na tym. 1189 00:55:43,900 --> 00:55:48,730 Większość elementów register0.php są, oczywiście, w jakim języku? 1190 00:55:48,730 --> 00:55:49,980 Tylko surowe PHP. 1191 00:55:49,980 --> 00:55:53,430 >> Więc uprzedzenia, ten plik nie daje się uruchomić się, w tej chwili, wspornikiem otwartym, 1192 00:55:53,430 --> 00:55:54,970 znak zapytania, PHP. 1193 00:55:54,970 --> 00:55:59,800 PHP nie pozwala przenikają Kod PHP ze znacznikami HTML. 1194 00:55:59,800 --> 00:56:04,130 Ale ja zrobiłem, że tu wewnątrz strony tutaj. 1195 00:56:04,130 --> 00:56:08,180 >> Teraz znowu, że znasz tylko ten z po przejrzeniu instrukcji. print_r, 1196 00:56:08,180 --> 00:56:13,410 Okazuje się, że jest print_recursive. _recursive A to tylko poręczne 1197 00:56:13,410 --> 00:56:16,780 funkcja użyteczności, że tylko drukuje, rekurencyjnie, co tylko oddać go. 1198 00:56:16,780 --> 00:56:18,760 Jeśli strony to tablicę, będzie to wydrukować tablicę. 1199 00:56:18,760 --> 00:56:20,180 Jeśli strony jest wiele, będzie to wydrukować numer. 1200 00:56:20,180 --> 00:56:21,570 Strony to ciąg, to będziesz wydrukować ciąg. 1201 00:56:21,570 --> 00:56:24,500 Jeśli strony to tabeli mieszania, to wypisze tabeli mieszania. 1202 00:56:24,500 --> 00:56:26,730 Nie musisz pisać wszystko tego kodeksu siebie. 1203 00:56:26,730 --> 00:56:29,490 >> Teraz zauważył, że jestem wprowadzania Tryb PHP tutaj. 1204 00:56:29,490 --> 00:56:32,070 Jestem wyjściu z trybu PHP tutaj. 1205 00:56:32,070 --> 00:56:35,950 Tak więc, gdy serwer odczytuje ten plik od góry do dołu, od lewej do prawej, bo 1206 00:56:35,950 --> 00:56:40,750 kończy się w pliku o nazwie. php, , co nie jest w środku znaczników PHP 1207 00:56:40,750 --> 00:56:42,820 tylko będzie pluć się, jak surowy HTML. 1208 00:56:42,820 --> 00:56:43,630 No big deal. 1209 00:56:43,630 --> 00:56:49,280 Ale jak tylko serwer zauważy ta, to powie, że nie powinienem 1210 00:56:49,280 --> 00:56:51,850 wypluć, dosłownie, print_r z postu. 1211 00:56:51,850 --> 00:56:54,910 Należy wykonać następujące linii kodu. 1212 00:56:54,910 --> 00:56:59,850 >> Tak więc ostatnie pytanie, a następnie, z archiwum jest dobrze, co do cholery jest? 1213 00:56:59,850 --> 00:57:00,530 Zgadnij. 1214 00:57:00,530 --> 00:57:04,230 Co to jest $ _POST, chyba? 1215 00:57:04,230 --> 00:57:07,070 >> PUBLICZNOŚCI: [niesłyszalne] 1216 00:57:07,070 --> 00:57:08,830 >> SPEAKER 1: Tak, przy przesyłaniu danych. 1217 00:57:08,830 --> 00:57:11,350 Przypomnijmy, niech przewijania w Czas na chwilę. 1218 00:57:11,350 --> 00:57:13,165 froshim0 znów wyglądał tak. 1219 00:57:13,165 --> 00:57:15,640 A super większość to tylko HTML. 1220 00:57:15,640 --> 00:57:18,410 Ponownie, niektóre tagi nie mają widać jeszcze, lub z którymi 1221 00:57:18,410 --> 00:57:19,360 już znasz. 1222 00:57:19,360 --> 00:57:21,990 Ale co ciekawe to było. 1223 00:57:21,990 --> 00:57:27,270 Ta linia jest to, co naprawdę łączy to do naszego register0.php pliku. 1224 00:57:27,270 --> 00:57:29,200 Jestem składania pocztą metody. 1225 00:57:29,200 --> 00:57:33,130 A to oznacza, że ​​parametry użytkownik wpisze nie są 1226 00:57:33,130 --> 00:57:35,150 skończy gdzie. 1227 00:57:35,150 --> 00:57:36,175 >> Nie zamierzamy pokazać się w adresie URL. 1228 00:57:36,175 --> 00:57:39,020 Są one nadal będzie wysyłane z Klient, z przeglądarki, aby 1229 00:57:39,020 --> 00:57:42,080 Serwer, ale tylko poprzez inne Mechanizm, który będziemy odstąpić nasze ręce 1230 00:57:42,080 --> 00:57:44,330 co na dziś, ale nie jest w adresie URL. 1231 00:57:44,330 --> 00:57:47,630 Ale zwróć uwagę na relacje teraz z Post, który, zgodnie z konwencją, jest 1232 00:57:47,630 --> 00:57:49,160 małe tutaj. 1233 00:57:49,160 --> 00:57:54,090 >> Ale jeśli otworzyć register0.php, Jestem widocznie drukowania tego. 1234 00:57:54,090 --> 00:57:56,450 Jest to więc rodzaj dziwne nazewnictwo. 1235 00:57:56,450 --> 00:58:01,430 Ale to, co jest miłe w PHP jest to, że kiedy PHP w kontekście sieci, a nie na 1236 00:58:01,430 --> 00:58:04,480 linii poleceń, tak jak ja przed chwilą, kiedy faktycznie używanego w internecie 1237 00:58:04,480 --> 00:58:10,580 Strona, w vhosta katalogu, jak my, automatycznie będzie PHP wypełnić ten 1238 00:58:10,580 --> 00:58:15,560 rzeczą, która jest tablicą asocjacyjną, że tak powiem, tabeli mieszania z 1239 00:58:15,560 --> 00:58:17,290 wszystko, co użytkownik wpisze w. 1240 00:58:17,290 --> 00:58:22,000 >> W skrócie, $ _POST wszystkich nasadek jest zmienna globalna, że ​​PHP tylko 1241 00:58:22,000 --> 00:58:25,050 magicznie tworzy dla Ciebie, kiedy PHP w kontekście internetowej. 1242 00:58:25,050 --> 00:58:29,160 I to stawia w jej wnętrzu wszystkie Nazwy parametrów w postaci tego 1243 00:58:29,160 --> 00:58:33,200 został złożony do tego pliku i wszystkich wartości, które użytkownik wpisze w. 1244 00:58:33,200 --> 00:58:37,790 Więc ręce do Ciebie, co użytkownik wpisany w tej formie. 1245 00:58:37,790 --> 00:58:42,210 >> Zanim więc, mamy naprawdę głupiego wyjścia po prostu widząc to, ponieważ wszystko co zrobiłem 1246 00:58:42,210 --> 00:58:44,400 został rekursywnie wydrukować tej tablicy. 1247 00:58:44,400 --> 00:58:46,060 Kluczem jest nazwa, wartość jest David. 1248 00:58:46,060 --> 00:58:46,980 Kluczem jest kapitan. 1249 00:58:46,980 --> 00:58:47,970 Wartość jest. 1250 00:58:47,970 --> 00:58:52,300 I podwójna strzałka i kąt Wspornik nie jest to tylko przypadkowe. 1251 00:58:52,300 --> 00:58:53,270 To nie jest kod. 1252 00:58:53,270 --> 00:58:57,690 Jest to po prostu sposób na pokazanie PHP cię jaka jest wartość pewnego klucza jest. 1253 00:58:57,690 --> 00:59:03,000 >> Ale teraz chciałbym zaproponować, aby w froshIMs3, to prawie identyczne 1254 00:59:03,000 --> 00:59:04,950 oprócz tego, że podnosi się do tego pliku. 1255 00:59:04,950 --> 00:59:08,570 I znowu jedziemy do rodzaju tylko spojrzeć na to, po prostu, aby zobaczyć niektóre 1256 00:59:08,570 --> 00:59:12,040 składnia, ale zauważ, co ten plik jest. 1257 00:59:12,040 --> 00:59:14,930 Zgadnij po prostu opiera się na liniach Kod, który prawdopodobnie wyglądasz 1258 00:59:14,930 --> 00:59:17,410 Greckiego, do pewnego stopnia, najwyraźniej robi. 1259 00:59:17,410 --> 00:59:20,580 1260 00:59:20,580 --> 00:59:23,110 >> Ten plik jest w jakiś sposób związane do poczty e-mail. 1261 00:59:23,110 --> 00:59:24,770 Więc co jest ten program robi? 1262 00:59:24,770 --> 00:59:28,740 W tej wersji, gdybym rzeczywiście wypełnić formularz - i pozwól mi iść do 1263 00:59:28,740 --> 00:59:30,760 froshIMs3 nie froshIMs0 - 1264 00:59:30,760 --> 00:59:33,280 1265 00:59:33,280 --> 00:59:34,540 Formularz wygląda tak samo. 1266 00:59:34,540 --> 00:59:37,980 David, kapitan, mężczyzna, akademik, Matthews. 1267 00:59:37,980 --> 00:59:42,980 Ale jeśli mogę przesłać ten plik ten jest pójdzie do register3.php. 1268 00:59:42,980 --> 00:59:46,330 >> I twierdzą, patrząc na to kod źródłowy, to będzie 1269 00:59:46,330 --> 00:59:47,650 jakoś wiązać mail. 1270 00:59:47,650 --> 00:59:49,620 Pozwólcie mi iść do przodu i otworzyć ten w większym okna, tak że 1271 00:59:49,620 --> 00:59:51,030 widać bardziej czysto. 1272 00:59:51,030 --> 00:59:57,220 Jesteśmy w vhosts, hosta lokalnego, public, froshims. 1273 00:59:57,220 --> 00:59:58,680 Zamierzam otworzyć inny Program, tak więc 1274 00:59:58,680 --> 01:00:00,160 może zobacz więcej na raz. 1275 01:00:00,160 --> 01:00:03,100 >> Więc teraz tu zauważyć kilka rzeczy. 1276 01:00:03,100 --> 01:00:06,530 Na początku pliku jest otwarty wspornik, znak zapytania, PHP. 1277 01:00:06,530 --> 01:00:08,920 Potem jest kilka uwag, które możemy zignorować, jest 1278 01:00:08,920 --> 01:00:10,450 nieciekawe teraz. 1279 01:00:10,450 --> 01:00:11,300 >> Teraz nie ma tego. 1280 01:00:11,300 --> 01:00:14,200 Okazuje PHP ma wiele kodu nazywa wymagają. 1281 01:00:14,200 --> 01:00:19,110 Jest to bardzo podobne w duchu do C jest to, które obejmują hash 1282 01:00:19,110 --> 01:00:21,980 zasadniczo chwyta zawartość niektórych inny plik i po prostu plops je tutaj, 1283 01:00:21,980 --> 01:00:22,930 więc można z nich korzystać. 1284 01:00:22,930 --> 01:00:27,060 W tym przypadku urządzenie posiada, preinstalowany, biblioteka, bezpłatne i 1285 01:00:27,060 --> 01:00:29,900 Biblioteka open source o nazwie PHP mailer, że każdy może 1286 01:00:29,900 --> 01:00:30,770 pobrać z Internetu. 1287 01:00:30,770 --> 01:00:32,000 My po prostu zrobiliśmy to za Ciebie. 1288 01:00:32,000 --> 01:00:36,130 A to oznacza, że ​​mają teraz e-mail funkcjonalność do mojej dyspozycji. 1289 01:00:36,130 --> 01:00:38,170 >> Teraz zauważyć kilka rzeczy. 1290 01:00:38,170 --> 01:00:41,120 Zamierzam sprawdzić poprawność formularza składania. 1291 01:00:41,120 --> 01:00:45,980 Okazuje się, PHP, jeden, ma okrzyk punktów za nie, podobnie jak operator 1292 01:00:45,980 --> 01:00:49,810 C. Ale PHP posiada również funkcję zwane puste. 1293 01:00:49,810 --> 01:00:53,920 >> Pusty po prostu zwraca true, jeśli wartość z rzeczy, którą należy oddać je w 1294 01:00:53,920 --> 01:00:57,190 nawiasów jest pusta, tak jak użytkownik nie wpisać niczego w. 1295 01:00:57,190 --> 01:01:02,680 Więc to mówi, i zawiadomienia składnia, bardzo przypomina C, jeśli 1296 01:01:02,680 --> 01:01:07,730 Nazwa klucza, więc nazwa pola w formularzu, który został złożony za pośrednictwem poczty, przez 1297 01:01:07,730 --> 01:01:13,010 Użytkownik, nie jest pusta, a ich płeć nie jest pusty w postaci, w 1298 01:01:13,010 --> 01:01:15,980 dobrze, a ich akademiku nie jest pusty - 1299 01:01:15,980 --> 01:01:19,980 ale zauważ, że nie dbają o Rotmistrzu, Więc co zrobimy? 1300 01:01:19,980 --> 01:01:21,990 >> Zamierzam wykonać ta linia kodu. 1301 01:01:21,990 --> 01:01:24,100 A może myślisz, że tego rodzaju jak malloc, ale jest to trochę 1302 01:01:24,100 --> 01:01:24,800 hodowcy niż. 1303 01:01:24,800 --> 01:01:29,200 Ale na razie to daje mi specjalne struct typu PHP mailer. 1304 01:01:29,200 --> 01:01:31,410 Ale ignorowanie słów nowego na dzisiaj. 1305 01:01:31,410 --> 01:01:35,670 >> Teraz mam zamiar wywołać funkcję o nazwie IsSMTP, który mówi, używać SMTP. 1306 01:01:35,670 --> 01:01:39,380 To jest port 25, tak jak wideo w zeszłym tygodniu, kiedy rzecz została rzucanie 1307 01:01:39,380 --> 01:01:40,710 maile do zapory. 1308 01:01:40,710 --> 01:01:42,440 Port 25 jest SMTP. 1309 01:01:42,440 --> 01:01:44,410 SMTP oznacza korzystanie z serwera poczty. 1310 01:01:44,410 --> 01:01:46,215 Który z nich, możemy użyć Absolwenci Harvardu SMTP.fas.harvard.edu. 1311 01:01:46,215 --> 01:01:48,850 1312 01:01:48,850 --> 01:01:51,590 >> Możemy ustawić z adresu być John Harvard-tych. 1313 01:01:51,590 --> 01:01:55,090 Gdybym przewijać dalej, można ustawić adres odbiorcy, po prostu 1314 01:01:55,090 --> 01:01:56,840 arbitralnie, jest John Harvard jest tak dobrze. 1315 01:01:56,840 --> 01:01:59,210 Więc on będzie się wysyłając sobie. 1316 01:01:59,210 --> 01:02:01,600 >> Teraz mogę ustawić temat jest rejestracja. 1317 01:02:01,600 --> 01:02:03,700 I mogę ustawić ciało Wyślij następująco. 1318 01:02:03,700 --> 01:02:06,500 Ta linia wygląda nieco bardziej tajemnicze, ale to tylko dlatego, że jest wiele 1319 01:02:06,500 --> 01:02:07,450 informacji w nim. 1320 01:02:07,450 --> 01:02:10,670 One, nie dot operator. 1321 01:02:10,670 --> 01:02:14,510 Ktoś musi wiedzieć, co już operator kropki robi. 1322 01:02:14,510 --> 01:02:15,436 Jest połączeniem. 1323 01:02:15,436 --> 01:02:19,240 Więc jeśli chcesz mieć ciąg w PHP, i dołączyć je, lub poprzedzić go, aby 1324 01:02:19,240 --> 01:02:23,500 inna w PHP, dzięki Bogu, nie trzeba używać strcopy i malloc, 1325 01:02:23,500 --> 01:02:25,490 i wszystko to już. 1326 01:02:25,490 --> 01:02:28,765 >> Jeśli chcesz, aby złączyć dwa ciągi, kto dba o pamięci. 1327 01:02:28,765 --> 01:02:30,850 Niech postać PHP, że dla ciebie. 1328 01:02:30,850 --> 01:02:35,200 Co PHP zrobi z operatorem dot tutaj jest po prostu zrobić duży zdanie out 1329 01:02:35,200 --> 01:02:37,900 tej linii, linia ta, linia ta, ta linia. 1330 01:02:37,900 --> 01:02:40,460 A teraz informacja, że ​​będzie do podłączania wartości. 1331 01:02:40,460 --> 01:02:43,680 Więc email, że John Harvard dzieje otrzymywać dosłownie powie 1332 01:02:43,680 --> 01:02:49,450 Nazwa, okrężnicy, coś, a raczej to my zamknąć ciąg i złączyć na 1333 01:02:49,450 --> 01:02:52,220 co użytkownik wpisze w, to nowa linia. 1334 01:02:52,220 --> 01:02:54,570 >> Potem, w następnym wierszu John Harvard-tych e-mail, to powie 1335 01:02:54,570 --> 01:02:55,910 Kapitanie, On albo nic. 1336 01:02:55,910 --> 01:02:57,810 To powie płeć, mężczyzna czy kobieta. 1337 01:02:57,810 --> 01:02:59,680 Dorm będzie Matthews w moim przypadku. 1338 01:02:59,680 --> 01:03:03,400 I wtedy zauważył znajomą średnik na końcu. 1339 01:03:03,400 --> 01:03:07,830 A potem, na dole, anons, nieco tajemnicze jeszcze, ale znowu, po 1340 01:03:07,830 --> 01:03:12,730 wzór, które staną się bardziej znane po P zestaw 7, czy wysyłanie poczty 1341 01:03:12,730 --> 01:03:16,610 zwraca false, a następnie iść do przodu i umrzeć. 1342 01:03:16,610 --> 01:03:19,610 >> Więc PHP ma funkcję o nazwie die, które dosłownie, po prostu zabija 1343 01:03:19,610 --> 01:03:22,830 stronie internetowej i po prostu drukuje cokolwiek powiedz to - jego umiera 1344 01:03:22,830 --> 01:03:24,280 słowa, że ​​tak powiem. 1345 01:03:24,280 --> 01:03:28,310 A, że w przypadku, wydrukuje Informacje co do błędu 1346 01:03:28,310 --> 01:03:29,860 co się stało się nie udać. 1347 01:03:29,860 --> 01:03:34,490 Więc krótko mówiąc, to co mamy Jest to przykład, w którym, gdy użytkownik 1348 01:03:34,490 --> 01:03:39,150 przesyła formularz, froshim0, froshims3.php, to idzie do 1349 01:03:39,150 --> 01:03:40,760 register3.php. 1350 01:03:40,760 --> 01:03:45,290 Ale register3.php następnie przechodzi wykonywanie wszystkich tych linii. 1351 01:03:45,290 --> 01:03:46,620 >> Więc jest kilka wynos wziąć tutaj. 1352 01:03:46,620 --> 01:03:50,380 Jeden, to najwyraźniej dość łatwe, programowo, wysyłać e-maile, 1353 01:03:50,380 --> 01:03:50,830 , co jest dobre. 1354 01:03:50,830 --> 01:03:53,500 Gdy użytkownicy zarejestrować się do witryny, w W tym przypadku, kiedy zarejestrować swoje 1355 01:03:53,500 --> 01:03:56,220 sportu, możesz napisz pierwszoroczniak Proctor, czy John 1356 01:03:56,220 --> 01:03:57,650 Harvard, w tym przypadku. 1357 01:03:57,650 --> 01:04:01,630 >> Ale to również oznacza, że ​​można robić, co? 1358 01:04:01,630 --> 01:04:03,970 Wyślij e-mail z każdego, dla każdego. 1359 01:04:03,970 --> 01:04:05,430 I to jest bardzo prawdziwe. 1360 01:04:05,430 --> 01:04:08,580 To nie jest tak łatwo zrobić, jeśli jesteś przyzwyczajony do korzystania z Gmaila. 1361 01:04:08,580 --> 01:04:11,310 Ale jeśli kiedykolwiek używane Eudora lub Outlook, można bardzo dużo powiedzieć 1362 01:04:11,310 --> 01:04:13,720 serwer poczty, że jesteś kim chcesz. 1363 01:04:13,720 --> 01:04:16,450 I to jest, gdy trzeba umieścić na że kapelusz i powiedzieć, nie rób tego. 1364 01:04:16,450 --> 01:04:21,140 Ale to jest świadectwem, jak łatwo jest do wykonywania ataków typu phishing oraz 1365 01:04:21,140 --> 01:04:24,310 wysyłanie anonimowych e-maili, a spam, bardziej ogólnie. 1366 01:04:24,310 --> 01:04:27,330 I tak naprawdę sprowadza się do Fakt, że wszystko czego potrzebujesz to trochę 1367 01:04:27,330 --> 01:04:28,500 dostęp programowy. 1368 01:04:28,500 --> 01:04:31,940 >> Tak na marginesie, moim spotkaniu najbliższego z board ad, mój pierwszy rok, 1369 01:04:31,940 --> 01:04:34,320 Wtedy odkryłem fajny oszukać, że wow, można 1370 01:04:34,320 --> 01:04:36,850 wysyłać e-maile od nikogo. 1371 01:04:36,850 --> 01:04:39,770 I tak byliśmy na jakiś głupi Argument, dosłownie, w Matthews, 1372 01:04:39,770 --> 01:04:40,790 wśród mojej grupy Proctora. 1373 01:04:40,790 --> 01:04:42,470 I nawet nie pamiętam jaki problem był. 1374 01:04:42,470 --> 01:04:44,970 Ale chciałem spróbować umieścić końca tej głupiej dyskusji. 1375 01:04:44,970 --> 01:04:48,580 >> Postanowiłem więc będę po prostu wysłać e-mail do mojej grupy Proctora, udaje 1376 01:04:48,580 --> 01:04:52,000 inny facet, z których opinii mi nie zgodził się, i mieć go zgodzić się 1377 01:04:52,000 --> 01:04:54,680 co moim zdaniem było w ta konkretna debata. 1378 01:04:54,680 --> 01:04:59,320 I tak sfałszowane przy użyciu tego e-maila technika w duchu podobnym do tego. 1379 01:04:59,320 --> 01:05:01,256 Ale to było rzeczywiście łatwiej w tym czasie. 1380 01:05:01,256 --> 01:05:02,435 Hit wysłać. 1381 01:05:02,435 --> 01:05:06,660 Nie był zadowolony, ani nie zostały board ad. 1382 01:05:06,660 --> 01:05:10,280 >> A ja bardzo szybko złowioną sekundy, ponieważ, jak wiecie, podpisać 1383 01:05:10,280 --> 01:05:11,420 pocztę w pewien sposób. 1384 01:05:11,420 --> 01:05:14,200 I choć to zrobić ręcznie, w dużej część, 15 lat później, bo jestem 1385 01:05:14,200 --> 01:05:15,080 traumatycznym, że. 1386 01:05:15,080 --> 01:05:16,960 Nie mam podpisu na mój e-mail teraz. 1387 01:05:16,960 --> 01:05:20,440 Ale w 1995 roku, miałem tylko sig, podpis w moim e-mail. 1388 01:05:20,440 --> 01:05:24,630 Więc nie było to uwaga mówiąc, Drogi Grupa Proctor, I pogodzić moje zdanie 1389 01:05:24,630 --> 01:05:31,240 i zgadzam się z Dawidem, podpisała więc i tak, nowa linia, nowa linia, DJM. 1390 01:05:31,240 --> 01:05:36,220 >> Więc nie rób tego, lub w ogóle, wziąć Zaletą tej techniki. 1391 01:05:36,220 --> 01:05:39,950 Jednak podczas tworzenia strony internetowej, jak na Twój projekt końcowy, podczas 1392 01:05:39,950 --> 01:05:43,460 strona coś przedsiębiorczości, to jest jak, pragmatycznie, można 1393 01:05:43,460 --> 01:05:47,000 wykorzystujące inne usługi w Internecie jak wiadomości, a następnie w rzeczywistości 1394 01:05:47,000 --> 01:05:49,440 wysłać rzeczy za pomocą kodu. 1395 01:05:49,440 --> 01:05:51,240 >> Więc jak możemy poprawić na to? 1396 01:05:51,240 --> 01:05:54,370 Cóż, najpierw weźmy szybki objazd niektóre z rzeczy, które zobaczysz, 1397 01:05:54,370 --> 01:05:56,170 , a następnie spójrz na Kilka przykładów. 1398 01:05:56,170 --> 01:05:59,500 Tak jeden, uspokoić, bo lecimy przez PHP. 1399 01:05:59,500 --> 01:06:02,470 I wiem, że w pewnym momencie, musisz faktycznie rozpocząć pisanie tego, jeśli 1400 01:06:02,470 --> 01:06:03,460 jeszcze tego nie zrobiłeś. 1401 01:06:03,460 --> 01:06:06,220 Uświadom sobie, że jeden, główny jest rodzaju od zewnątrz okno z PHP. 1402 01:06:06,220 --> 01:06:09,420 Jeśli chcesz napisać kod, który otrzymuje wykonywane, po prostu zacząć pisać go w 1403 01:06:09,420 --> 01:06:13,970 Plik o nazwie. php, tak długo, jak długo masz otwartą wspornik 1404 01:06:13,970 --> 01:06:15,620 znak zapytania PHP tag. 1405 01:06:15,620 --> 01:06:19,730 >> Zauważmy jednak, są to Warunki w PHP. 1406 01:06:19,730 --> 01:06:22,610 Zauważ, to jest dokładnie ten sam slajd mieliśmy w tydzień jeden, kiedy mieliśmy 1407 01:06:22,610 --> 01:06:25,670 warunki C. Warunki w PHP są strukturalnie i 1408 01:06:25,670 --> 01:06:27,140 składniowo same. 1409 01:06:27,140 --> 01:06:30,290 Jedyną różnicą jest, jeśli masz zmienne zaangażowany, masz te 1410 01:06:30,290 --> 01:06:31,600 znaki dolara. 1411 01:06:31,600 --> 01:06:33,970 >> Tymczasem wyrażenia logiczne wyglądać podobnie jak ten na 1412 01:06:33,970 --> 01:06:35,725 lub-ing lub i-ing razem. 1413 01:06:35,725 --> 01:06:37,780 Przełączniki wyglądać dokładnie tak samo. 1414 01:06:37,780 --> 01:06:42,180 Co jest miłe w PHP, natomiast w C, przełączniki mają być sprawy dotyczące 1415 01:06:42,180 --> 01:06:46,380 prymitywy jak liczb całkowitych lub znaków, w PHP Twoje stwierdzenia przypadków może być rzeczywiście 1416 01:06:46,380 --> 01:06:48,430 na cały łańcuchów, który jest rzeczywiście ładne. 1417 01:06:48,430 --> 01:06:49,480 Zaoszczędzić trochę czasu. 1418 01:06:49,480 --> 01:06:50,820 Nie można tego zrobić w C. 1419 01:06:50,820 --> 01:06:52,880 >> Oto na pętli w PHP. 1420 01:06:52,880 --> 01:06:53,740 To jest identyczne. 1421 01:06:53,740 --> 01:06:55,400 Może mieć pewne znaki dolara dla zmiennych. 1422 01:06:55,400 --> 01:06:57,530 Nie trzeba wspomnieć, że coś jest int. 1423 01:06:57,530 --> 01:07:00,580 Wystarczy zadeklarować ze znakiem dolara i nazwa zmiennej. 1424 01:07:00,580 --> 01:07:01,430 Ale dla pętli jest taki sam. 1425 01:07:01,430 --> 01:07:02,760 Pętla jest taki sam. 1426 01:07:02,760 --> 01:07:04,870 Zrobić, gdy pętla jest taki sam. 1427 01:07:04,870 --> 01:07:06,170 >> To jest trochę inaczej. 1428 01:07:06,170 --> 01:07:12,410 A więc z PHP z tablicy, można statycznie zadeklarować tablicę, jak w C, 1429 01:07:12,410 --> 01:07:14,420 ale użyć nawiasów kwadratowych. 1430 01:07:14,420 --> 01:07:17,060 W języku C, należy użyć nawiasów klamrowych, jeśli nawet nie wiedział, że. 1431 01:07:17,060 --> 01:07:20,910 Ale to jest w rzeczywistości bardzo często w PHP zadeklarować tablicę, w tym przypadku, 1432 01:07:20,910 --> 01:07:23,640 liczb i zadzwonić numery zmiennych. 1433 01:07:23,640 --> 01:07:25,300 >> Zmienne sami wyglądać. 1434 01:07:25,300 --> 01:07:28,710 Tutaj jest ciąg, zacytować cytatu "hello świat. "Można mieć odwrotny ukośnik n. 1435 01:07:28,710 --> 01:07:30,950 I po prostu nie w tym przypadku. 1436 01:07:30,950 --> 01:07:32,640 >> Teraz jest to ciekawa konstrukcja. 1437 01:07:32,640 --> 01:07:33,700 C nie ma tego. 1438 01:07:33,700 --> 01:07:34,700 Ale to jest bardzo pomocne. 1439 01:07:34,700 --> 01:07:38,160 I zobaczysz, to w zestawie P 7 Spec - dla każdej konstrukcji. 1440 01:07:38,160 --> 01:07:41,800 Jeśli chcesz powtórzyć na wszystkich elementy tablicy, nie musisz 1441 01:07:41,800 --> 01:07:45,500 do czynienia z $ i oraz $ n, i + +, i to wszystko. 1442 01:07:45,500 --> 01:07:47,640 Można dosłownie powiedzieć, w PHP, to - 1443 01:07:47,640 --> 01:07:51,890 dla każdej liczby, jak wielu, tak Jestem zakładając, że $ numbers 1444 01:07:51,890 --> 01:07:53,380 jest tablicą liczb. 1445 01:07:53,380 --> 01:07:56,460 A kiedy mówię do każdego numerami w ilości, to będzie 1446 01:07:56,460 --> 01:08:00,505 automatycznie, tak jak moja pętla wykonuje, aktualizować, na każdej iteracji, wartość 1447 01:08:00,505 --> 01:08:03,260 wewnątrz numeru znak dolara - 1448 01:08:03,260 --> 01:08:07,730 znowu, i znowu, i znowu pieszo dla mnie na tej tablicy. 1449 01:08:07,730 --> 01:08:08,735 Więc to tylko oszczędza nam kod. 1450 01:08:08,735 --> 01:08:12,250 Brak średniki, no + + 's, no i to, Nie N-tych, to jest po prostu ładny. 1451 01:08:12,250 --> 01:08:13,700 >> Ale PHP ma również ten. 1452 01:08:13,700 --> 01:08:14,830 I to jest bardzo potężne. 1453 01:08:14,830 --> 01:08:17,410 I będziesz używać, ręce on, w P ustawić 7. 1454 01:08:17,410 --> 01:08:21,990 I asocjacyjna jest również uznane w nawiasach kwadratowych. 1455 01:08:21,990 --> 01:08:23,569 Ale zwróć uwagę na składnię teraz. 1456 01:08:23,569 --> 01:08:26,880 To przypomina to, co widzieliśmy z print_r chwilą. 1457 01:08:26,880 --> 01:08:31,810 Ile kluczy, jako mały zdroworozsądkowe sprawdzenie, ma ta tablica wydaje się mieć. 1458 01:08:31,810 --> 01:08:32,689 >> Więc to ma dwa. 1459 01:08:32,689 --> 01:08:33,830 A ja nazywam tę tablicę. 1460 01:08:33,830 --> 01:08:36,760 Ale czy to pomaga, można myśleć tej tabeli jako skrótu lub jako 1461 01:08:36,760 --> 01:08:37,930 asocjacyjna. 1462 01:08:37,930 --> 01:08:39,580 Ale to jest po prostu inna typ tablicy. 1463 01:08:39,580 --> 01:08:41,080 I znowu, różne języki mieć te. 1464 01:08:41,080 --> 01:08:43,810 Zobaczymy coś podobnego w JavaScript, jak również. 1465 01:08:43,810 --> 01:08:44,609 Są dwa klucze. 1466 01:08:44,609 --> 01:08:48,390 Jednym z nich jest cytatu cytat, "symbol", jeden jest Cytując cytatu "cena". A te klucze 1467 01:08:48,390 --> 01:08:49,250 Każdy z nich posiada wartość. 1468 01:08:49,250 --> 01:08:54,420 W tym przypadku wartość symbolu FB, dla Facebook, a ceną jego wartość to 49, 26, 1469 01:08:54,420 --> 01:08:56,899 który był Zdjęcie Facebooka cena jak z rana. 1470 01:08:56,899 --> 01:09:00,170 >> Tak więc to, co jest przydatne informacje asocjacyjna. 1471 01:09:00,170 --> 01:09:02,620 Mogłem mieć numerycznie indeksowana tablica z tylko 1472 01:09:02,620 --> 01:09:04,120 proste nawiasach kwadratowych. 1473 01:09:04,120 --> 01:09:09,380 A może miałem znak dolara cytat równa właśnie tego. 1474 01:09:09,380 --> 01:09:10,529 Pozwól, że rzeczywiście to zrobić. 1475 01:09:10,529 --> 01:09:14,796 Załóżmy, że zamiast po prostu oświadczył ta tablica tak. 1476 01:09:14,796 --> 01:09:17,590 To jest całkowicie poprawny, składniowo. 1477 01:09:17,590 --> 01:09:20,569 To nie traci żadnych informacji, per se. 1478 01:09:20,569 --> 01:09:24,760 Nadal widzę, że symbol jest fb, a cena wynosi 49, 26. 1479 01:09:24,760 --> 01:09:28,939 Więc dlaczego są zespolone tablice ważne? 1480 01:09:28,939 --> 01:09:30,189 >> PUBLICZNOŚCI: Nie musisz pamiętać gdzie umieścić rzeczy. 1481 01:09:30,189 --> 01:09:32,050 1482 01:09:32,050 --> 01:09:34,130 >> SPEAKER 1: Dokładnie, nie trzeba Zapamiętaj, gdzie umieścić rzeczy. 1483 01:09:34,130 --> 01:09:37,670 Nie masz arbitralnie pamiętać że symbol stock jest uchwytem zero 1484 01:09:37,670 --> 01:09:41,479 , a ceny akcji w przedziale jednego, co jest szczególnie niebezpieczne, jeśli 1485 01:09:41,479 --> 01:09:43,220 zmienić ten stan rzeczy, w końcu. 1486 01:09:43,220 --> 01:09:46,399 Jest o wiele ładniejsza skojarzyć to, co my nazywamy metadanych 1487 01:09:46,399 --> 01:09:48,340 ze swoimi rzeczywistymi danymi. 1488 01:09:48,340 --> 01:09:52,399 Chciałbym twierdzić, że to, co naprawdę obchodzi tutaj o fb i 49, 26. 1489 01:09:52,399 --> 01:09:57,020 Symbol i cena to metadane , który opisuje dane nam 1490 01:09:57,020 --> 01:09:58,180 faktycznie zależy. 1491 01:09:58,180 --> 01:10:01,910 Ale to tylko tyle łatwiej dostępne. 1492 01:10:01,910 --> 01:10:04,090 >> Teraz, jak na bok to, co jest cena, którą płacimy? 1493 01:10:04,090 --> 01:10:06,600 Robiliśmy to w CS50 na tydzień. 1494 01:10:06,600 --> 01:10:10,740 Funkcja ta musi się w pewnym kosztem. 1495 01:10:10,740 --> 01:10:11,350 Pamięć. 1496 01:10:11,350 --> 01:10:13,830 Więc nie tylko przechowywaniem 32-bit liczbę całkowitą, na przykład. 1497 01:10:13,830 --> 01:10:17,980 Jesteś przechowywania symbol / 0, prawdopodobnie. 1498 01:10:17,980 --> 01:10:19,160 Więc używasz więcej pamięci. 1499 01:10:19,160 --> 01:10:22,540 >> I co jest wydajność szuka czegoś w 1500 01:10:22,540 --> 01:10:24,822 asocjacyjna, chyba? 1501 01:10:24,822 --> 01:10:26,590 To prawdopodobnie wolniej. 1502 01:10:26,590 --> 01:10:29,670 Losowe dostęp jest ładne, zwłaszcza kiedy można zrobić wyszukiwanie binarne. 1503 01:10:29,670 --> 01:10:33,380 Ale jeśli rzeczywiście teraz nie patrząc numerów, ale na smyczki, to 1504 01:10:33,380 --> 01:10:37,630 naprawdę jest realizowany pod kaptur, prawdopodobnie w tabeli mieszania, gdzie 1505 01:10:37,630 --> 01:10:42,950 można użyć tabeli mieszania z oddzielnym łańcuchowych. 1506 01:10:42,950 --> 01:10:46,040 Albo użyć spróbować faktycznie przechowywania wartości. 1507 01:10:46,040 --> 01:10:50,550 Więc może można zrobić, stały czas, ale trzeba jeszcze patrzeć na S-Y-M-B-O-L, 1508 01:10:50,550 --> 01:10:54,510 potencjalnie, zamiast tylko 32 bity szukać coś. 1509 01:10:54,510 --> 01:10:58,430 Więc jeszcze raz, te same idee nadchodzi powrotem do nawrotów w tym kontekście. 1510 01:10:58,430 --> 01:11:02,120 >> Ale znowu, PHP ma teraz niektóre bardzo globalnych, które, jak się okazuje, są 1511 01:11:02,120 --> 01:11:02,900 tablice asocjacyjne. 1512 01:11:02,900 --> 01:11:05,590 Widzieliśmy jedną chwilą, $ _POST. 1513 01:11:05,590 --> 01:11:08,400 I że super globalnych ma klucze i wartości. 1514 01:11:08,400 --> 01:11:10,550 Konkretnie, klucze linii z czego? 1515 01:11:10,550 --> 01:11:14,520 Gdzie klucze w $ _POST pochodzą? 1516 01:11:14,520 --> 01:11:15,380 Wystarczy zakręcić? 1517 01:11:15,380 --> 01:11:16,480 >> PUBLICZNOŚCI: Nazwa. 1518 01:11:16,480 --> 01:11:17,900 >> SPEAKER 1: Imię i nazwisko, to gdzie? 1519 01:11:17,900 --> 01:11:19,860 >> PUBLICZNOŚCI: [niesłyszalne] 1520 01:11:19,860 --> 01:11:20,750 >> SPEAKER 1: Nazwa jest atrybut. 1521 01:11:20,750 --> 01:11:23,480 No gdzie, skąd oni pierwotnie pochodzą z? 1522 01:11:23,480 --> 01:11:24,120 Forma. 1523 01:11:24,120 --> 01:11:30,140 Tak więc, jeśli strona HTML zawiera znacznik formularza wewnątrz którego są pewne nakłady, jak 1524 01:11:30,140 --> 01:11:34,760 pola wyboru, pola tekstowe, rozwijane menu, z których każdy ma swoją nazwę, te 1525 01:11:34,760 --> 01:11:40,260 Nazwy skończyć jako kluczy w $ _POST, a szczerze mówiąc, o to chodzi, $ _GET. 1526 01:11:40,260 --> 01:11:42,130 Jeśli metoda get, sam pomysł. 1527 01:11:42,130 --> 01:11:43,830 To jest po prostu w innym super-Global. 1528 01:11:43,830 --> 01:11:47,620 I wartości, oczywiście, pochodzić od co użytkownik wpisał się w jego lub 1529 01:11:47,620 --> 01:11:48,890 jej przeglądarki. 1530 01:11:48,890 --> 01:11:49,830 >> Ale jest kilka innych. 1531 01:11:49,830 --> 01:11:52,140 Jest ciasteczko, które my będziemy wrócić w końcu. 1532 01:11:52,140 --> 01:11:56,050 Ale to są rzeczy, które znasz internetowa korzysta na niektóre dobra lub zła. 1533 01:11:56,050 --> 01:11:57,420 Ale wrócimy do tego. 1534 01:11:57,420 --> 01:12:01,720 Server i sesji, a te dwa mieć jakieś specjalne narzędzia. 1535 01:12:01,720 --> 01:12:03,940 >> Ale rzućmy okiem na to. 1536 01:12:03,940 --> 01:12:13,330 Pozwólcie mi iść do przodu i otworzyć przykład nazywa mvc0.php Więc MVC 1537 01:12:13,330 --> 01:12:14,900 oznacza poniżej. 1538 01:12:14,900 --> 01:12:19,390 I wprowadzimy tego wcześniej, niż jest typowy, bardzo, aby można projektowania 1539 01:12:19,390 --> 01:12:22,180 Set Problem 7, a także ostateczne projekty, w rodzaju przemysłu 1540 01:12:22,180 --> 01:12:23,670 standardowy sposób i czysty sposób. 1541 01:12:23,670 --> 01:12:24,820 Jest to dobry projekt. 1542 01:12:24,820 --> 01:12:29,090 >> Więc jesteś by zobaczyć, i będziesz doświadczenie, w P zestaw 7, paradygmatu, sortowania 1543 01:12:29,090 --> 01:12:32,260 z myślenia programowania, który wygląda trochę coś takiego. 1544 01:12:32,260 --> 01:12:35,570 M dla modelu C, do kontrolera, V Widok. 1545 01:12:35,570 --> 01:12:39,690 Krótko mówiąc, jest po prostu rodzaj MVC metodologii, sposób dokonywania 1546 01:12:39,690 --> 01:12:43,360 Strony, w szczególności, za pomocą którego można umieścić wszystkie swoje, frazy głupi - 1547 01:12:43,360 --> 01:12:44,970 logika biznesowa - 1548 01:12:44,970 --> 01:12:49,710 wszystkie swoje własności intelektualnej w co nazywa kontrolera, plik 1549 01:12:49,710 --> 01:12:54,840 jak index.php, bo widzimy, quote.php lub buy.php. 1550 01:12:54,840 --> 01:12:59,570 >> W kontekście zestawu Problem 7, twój Modele zawierają zwykle dane, 1551 01:12:59,570 --> 01:13:03,860 wszystko związane z bazą danych, a my będziemy w końcu zobaczyć, a swoje poglądy 1552 01:13:03,860 --> 01:13:07,510 zawierają estetykę TWOJEGO site, HTML, CSS. 1553 01:13:07,510 --> 01:13:10,420 Więc już się o tym w C mało bit za pomocą plików. godzin. 1554 01:13:10,420 --> 01:13:15,010 Naprawdę widziałem przed chwilą z CSS, przez faktoringu stylizacji CSS 1555 01:13:15,010 --> 01:13:16,520 rzeczy z naszej HTML. 1556 01:13:16,520 --> 01:13:20,730 >> Więc MVC jest naprawdę tylko o rysunek Linie w piasku i mówiąc, 1557 01:13:20,730 --> 01:13:25,400 ciekawe Kod programowania dla swojego Strona należy do tego, co my nazywamy 1558 01:13:25,400 --> 01:13:26,400 kontroler. 1559 01:13:26,400 --> 01:13:29,280 Rzeczy związane z bazą danych zazwyczaj kończy się w modelu. 1560 01:13:29,280 --> 01:13:33,070 Ale zobaczymy, w komplecie Problem 7, my seryjnej C i M, aby utrzymać prostą. 1561 01:13:33,070 --> 01:13:37,630 Ale widok jest gdzie wszystkie kodu HTML i estetyka zazwyczaj przejść. 1562 01:13:37,630 --> 01:13:39,160 >> Więc co to oznacza w ujęciu realnym? 1563 01:13:39,160 --> 01:13:45,980 Cóż, pozwól mi odejść do naszego MVC katalog następująco. 1564 01:13:45,980 --> 01:13:48,880 I zobaczysz więcej z nich koncertował przez w specyfikacji. 1565 01:13:48,880 --> 01:13:53,200 Więc w mvc0, I twierdzą, że jest to, jak, wersja 0 stron CS50 jest. 1566 01:13:53,200 --> 01:13:56,670 >> Wszyscy mamy pewne HTML, jak duży tag h1, najwyraźniej. 1567 01:13:56,670 --> 01:13:57,800 A potem lista punktowana. 1568 01:13:57,800 --> 01:13:59,860 Nigdy nie widziałem listy punktowanej wcześniej, ale nic wielkiego. 1569 01:13:59,860 --> 01:14:01,590 Niech szybko zajrzeć na kodzie źródłowym. 1570 01:14:01,590 --> 01:14:06,610 Okazuje się, listę nieuporządkowaną kulami jest otwarta ul wspornik z jedną lub 1571 01:14:06,610 --> 01:14:09,065 więcej pozycji lista Li. 1572 01:14:09,065 --> 01:14:10,650 Więc Ogłoszenie o to tag kotwicy. 1573 01:14:10,650 --> 01:14:12,130 Widzieliśmy, że chwilę temu. 1574 01:14:12,130 --> 01:14:13,810 >> Tak to jest jak się wdrożyć ta strona. 1575 01:14:13,810 --> 01:14:18,460 Mam dwa łącza, dwa listy elementów, jeden ul dla listy nieuporządkowanej, i koniec 1576 01:14:18,460 --> 01:14:22,700 Wynik, estetycznie, jest to bardzo ładna strona, wersja 0 tutaj. 1577 01:14:22,700 --> 01:14:26,840 Ale co ciekawe, jak to jest obecnie jest realizowany pod maską. 1578 01:14:26,840 --> 01:14:33,590 >> Pozwólcie mi iść do gedit i otwarcie tego Pierwszy przykład namalować obraz. 1579 01:14:33,590 --> 01:14:37,070 A my będziemy patrzeć na to, co jest błędne, potencjalnie tutaj. 1580 01:14:37,070 --> 01:14:43,260 Teraz, jeśli pójdę do localhost, publicznym, MVC, zauważysz kilka plików. 1581 01:14:43,260 --> 01:14:45,780 Mam zamiar zadzwonić do nich, na Moment, wszystkie sterowniki. 1582 01:14:45,780 --> 01:14:48,640 Ale to trochę nadużycie, ponieważ zobaczysz wszystko jest zmieszane 1583 01:14:48,640 --> 01:14:49,620 wewnątrz nich. 1584 01:14:49,620 --> 01:14:52,330 >> I pozwól mi wejść do środka z index.php. 1585 01:14:52,330 --> 01:14:54,700 I widzimy, dosłownie, ten sam kod HTML. 1586 01:14:54,700 --> 01:14:57,970 Więc nawet jeśli ten plik kończy się w . Php, to nie znaczy, że musi 1587 01:14:57,970 --> 01:14:59,500 mieć dowolny kod PHP. 1588 01:14:59,500 --> 01:15:02,290 To może być po prostu surowy HTML, choć to trochę głupie. 1589 01:15:02,290 --> 01:15:07,650 Zauważmy jednak, że nie ma open bracket PHP oznaczyć, z wyjątkiem tego, co, szczerze mówiąc, 1590 01:15:07,650 --> 01:15:09,160 jest tylko tam, aby służyć jako komentarz. 1591 01:15:09,160 --> 01:15:12,080 Ale to nie jest funkcjonalnie nawet, że interesujące. 1592 01:15:12,080 --> 01:15:12,960 >> Ale to zauważyć. 1593 01:15:12,960 --> 01:15:15,400 Co ciekawe jest to, co teraz Zmiany na tej stronie. 1594 01:15:15,400 --> 01:15:16,650 Pozwól mi kliknąć wykładów. 1595 01:15:16,650 --> 01:15:18,560 I zauważyć URL ma się zmienić. 1596 01:15:18,560 --> 01:15:20,930 Teraz jestem w lectures.php. 1597 01:15:20,930 --> 01:15:22,630 Pozwól mi kliknąć zero. 1598 01:15:22,630 --> 01:15:27,200 Teraz jestem w week0.php A teraz mi otworzyć te pliki w gedit. 1599 01:15:27,200 --> 01:15:30,120 Nie tylko index, ale niech mi otworzyć się wykłady. 1600 01:15:30,120 --> 01:15:33,900 I niech mi pozbyć komentarzach skupić się na tej części tylko. 1601 01:15:33,900 --> 01:15:37,680 >> A teraz pozwól mi otworzyć tylko jeden, week0.php, wyrzucić komentarz 1602 01:15:37,680 --> 01:15:39,910 żeby to posprzątać. 1603 01:15:39,910 --> 01:15:41,720 A teraz zauważyć, co następuje. 1604 01:15:41,720 --> 01:15:47,340 Myślenie naprawdę rodzaj dokładnie o design, i zróbmy go wiersz 1605 01:15:47,340 --> 01:15:52,013 do tego samego, co można zrobić lepiej tutaj, jak myślisz? 1606 01:15:52,013 --> 01:15:56,450 1607 01:15:56,450 --> 01:15:57,780 >> Jak mogłem zrobić kilku tygodni? 1608 01:15:57,780 --> 01:15:58,480 Jak o tym. 1609 01:15:58,480 --> 01:16:00,450 Tak to jest, jak zrobiłem tydzień jeden. 1610 01:16:00,450 --> 01:16:08,290 I udał się do pliku, Nowy, Wklej, Zapisz, week1.php, a następnie udałem się tutaj. 1611 01:16:08,290 --> 01:16:09,875 I zmienił jeden - 1612 01:16:09,875 --> 01:16:11,646 co to było, jeden do piątku. 1613 01:16:11,646 --> 01:16:14,430 1614 01:16:14,430 --> 01:16:15,810 Zmieniłem zera do jednego. 1615 01:16:15,810 --> 01:16:17,150 Zmieniłem to do jednego. 1616 01:16:17,150 --> 01:16:20,350 >> OK, więc teraz spojrzeć na moje pliki. 1617 01:16:20,350 --> 01:16:22,100 Co można było zrobić inaczej? 1618 01:16:22,100 --> 01:16:25,310 Gdzie jest okazja, być może? 1619 01:16:25,310 --> 01:16:28,330 Więc jest szansa, aby rozpocząć factoring te rzeczy na zewnątrz. 1620 01:16:28,330 --> 01:16:32,950 Pozwól mi otworzyć, jako spoiler, dla co zobaczymy w zestawie P 7. 1621 01:16:32,950 --> 01:16:38,750 Jeśli otworzyć się teraz, index.php w wersji pięć z tego, że wygląda tak 1622 01:16:38,750 --> 01:16:40,730 bardziej tajemnicze, prawda. 1623 01:16:40,730 --> 01:16:43,710 >> Ale teraz, jest to, co ja nazywam Kontroler, który jest kontrolowanie 1624 01:16:43,710 --> 01:16:44,770 Logika mojej stronie. 1625 01:16:44,770 --> 01:16:48,510 I można rodzaj rekonstrukcji, intuicyjnie, być może, co się dzieje. 1626 01:16:48,510 --> 01:16:50,630 Na pierwszej linii, to trochę tajemnicze. 1627 01:16:50,630 --> 01:16:54,040 Zauważmy jednak, jestem wymagający, jak z ostre obejmują, plik o nazwie 1628 01:16:54,040 --> 01:16:55,930 helpers.php. 1629 01:16:55,930 --> 01:16:59,980 A potem dzwonię, najwyraźniej, Funkcja o nazwie renderowania, przekazując 1630 01:16:59,980 --> 01:17:00,850 dwa argumenty. 1631 01:17:00,850 --> 01:17:02,440 >> Jednym z nich jest cytatu, cytuję nagłówek. 1632 01:17:02,440 --> 01:17:04,800 A drugi jest, jakie typ danych jest to, oparte 1633 01:17:04,800 --> 01:17:07,180 na nasz składnia wcześniej? 1634 01:17:07,180 --> 01:17:08,160 Jest to związane array. 1635 01:17:08,160 --> 01:17:11,730 Konkretnie, to przechodzi w tytule z niektórych metadanych, które przypomina 1636 01:17:11,730 --> 01:17:13,430 mi, co to jest, a jej wartość. 1637 01:17:13,430 --> 01:17:16,340 Wtedy widzę zakodowana ul, więc niektóre surowe HTML. 1638 01:17:16,340 --> 01:17:20,020 Ale jestem z powrotem w tryb PHP wywołanie renderowania funkcji. 1639 01:17:20,020 --> 01:17:24,390 Tak więc, nawet jeśli nigdy nie używane HTML lub PHP wcześniej, a mimo to wygląda 1640 01:17:24,390 --> 01:17:27,480 straszniejsze, dlaczego jest to prawdopodobnie lepszy projekt? 1641 01:17:27,480 --> 01:17:31,310 Co jest lepsze o nim, oparta na wnioskowaniu? 1642 01:17:31,310 --> 01:17:32,130 >> PUBLICZNOŚCI: [niesłyszalne] 1643 01:17:32,130 --> 01:17:35,750 >> SPEAKER 1: Mniej zwolnionych w które nie ma więcej HTML tag, nie więcej 1644 01:17:35,750 --> 01:17:38,410 Szefowie tag, tag ciała nie więcej w każdym cholernym pliku. 1645 01:17:38,410 --> 01:17:41,860 Zamiast tego mam zbitek podobieństwa i przypuszczalnie umieścić je 1646 01:17:41,860 --> 01:17:45,150 do pliku w jakiś sposób związane do nagłówka. 1647 01:17:45,150 --> 01:17:48,500 I to samo dla bliskiej ciała tag, blisko HTML tag. 1648 01:17:48,500 --> 01:17:52,165 To chyba tu, wewnątrz w stopce gdzieś. 1649 01:17:52,165 --> 01:17:57,050 I zobaczysz, w komplecie Problem 7, mały objazd przez to. 1650 01:17:57,050 --> 01:17:58,070 >> Tak więc to, co jest przed nami? 1651 01:17:58,070 --> 01:18:03,390 Jedyną rzeczą, której nie są w stanie jeszcze jest właściwie przechowywać dane. 1652 01:18:03,390 --> 01:18:06,110 I co z tego zaczniemy widzieć Środa, na przykład, jest to, że 1653 01:18:06,110 --> 01:18:08,450 stary przyjaciel Excel lub numerów, pozwala przechowywać wiele 1654 01:18:08,450 --> 01:18:10,060 Dane w wierszach i kolumnach. 1655 01:18:10,060 --> 01:18:12,570 Okazuje się, że można to zrobić w co nazwie bazy danych, programowo. 1656 01:18:12,570 --> 01:18:16,620 maniakalny I okazuje się, po tym, będziemy mogli przechowywać takie rzeczy jak 1657 01:18:16,620 --> 01:18:20,550 tego, co można zobaczyć ponownie w zestawie P 7, cała masa nazw użytkowników i 1658 01:18:20,550 --> 01:18:23,690 haseł, z czego ten ostatni jest rzeczywiście zaszyfrowane, podobnie jak oni 1659 01:18:23,690 --> 01:18:25,550 były w wydaniu hakerów pUstaw 2 za. 1660 01:18:25,550 --> 01:18:29,600 I w końcu, można zaimplementować to, własne Etrade-jak strona, która 1661 01:18:29,600 --> 01:18:32,220 realizuje wspólnie CS50 finansów. 1662 01:18:32,220 --> 01:18:36,000 >> Wreszcie, ponieważ byliśmy tu tak późno dzisiaj, jeśli wrócisz do tej części 1663 01:18:36,000 --> 01:18:41,120 kampusu, na 16:00 dzisiaj, będziemy daje nie tylko porady, w SCE 1664 01:18:41,120 --> 01:18:44,200 Doradztwo Targi, na 16:00 w Maxwell-Dworkin, podamy niektóre 1665 01:18:44,200 --> 01:18:47,470 Sen Americone, Cherry Garcia, Chocolate Fudge Brownie, Chocolate 1666 01:18:47,470 --> 01:18:50,840 Chip Cookie Dough, a kiedy Google Chunky Monkey, to masz. 1667 01:18:50,840 --> 01:18:53,620 Więc wszystko to czeka na 04:00 PM w Maxwell-Dworkin. 1668 01:18:53,620 --> 01:18:56,736 Do zobaczenia w środę również. 1669 01:18:56,736 --> 01:18:59,960 >> Głośnik 2: Na następny CS50, RJ śpi w. 1670 01:18:59,960 --> 01:19:03,656 1671 01:19:03,656 --> 01:19:04,906 >> RJ: Mój punkt! 1672 01:19:04,906 --> 01:19:07,727 1673 01:19:07,727 --> 01:19:08,977 Ha! 1674 01:19:08,977 --> 01:19:12,056 1675 01:19:12,056 --> 01:19:13,306 Oh, 1676 01:19:13,306 --> 01:19:16,374