1 00:00:00,000 --> 00:00:39,630 2 00:00:39,630 --> 00:00:41,880 David J. MALAN: Dobra, tak, to tutaj jest ramię Myo 3 00:00:41,880 --> 00:00:44,450 Zespół, z którym kilka mają dla CS50 projektów końcowych. 4 00:00:44,450 --> 00:00:47,533 I to było wykazanie, że w kolejce można się z góry gdzie zasadniczo 5 00:00:47,533 --> 00:00:51,120 to dość mocno tutaj Arm Band słucha twoich ruchów mięśni 6 00:00:51,120 --> 00:00:54,280 które są następnie mapowane w oprogramowaniu Colton do laptopa, który jest na tutaj 7 00:00:54,280 --> 00:00:57,230 iTunes i że miał Piosenka już w kolejce. 8 00:00:57,230 --> 00:01:00,270 Zamiast mnie demoing tego, Colton był w laboratorium 9 00:01:00,270 --> 00:01:04,129 wyraźnie cały tydzień się pokaz gotowy do jednego dzielnego wolontariusza. 10 00:01:04,129 --> 00:01:07,430 Jeśli ktoś chciałby się na up-- zobaczyłem pierwszy rękę. 11 00:01:07,430 --> 00:01:09,540 Chodź na górę. 12 00:01:09,540 --> 00:01:12,530 >> Dobrze. 13 00:01:12,530 --> 00:01:13,886 A jakie jest twoje imię? 14 00:01:13,886 --> 00:01:14,800 >> Publiczność: Uh, Maria. 15 00:01:14,800 --> 00:01:16,550 >> David J. MALAN: Maria, miło cię widzieć. 16 00:01:16,550 --> 00:01:17,310 Chodź tutaj. 17 00:01:17,310 --> 00:01:19,550 Pozwól, że przedstawię ci Colton. 18 00:01:19,550 --> 00:01:21,290 Colton, jest Maria. 19 00:01:21,290 --> 00:01:23,050 >> COLTON: Cześć, miło cię poznać. 20 00:01:23,050 --> 00:01:24,330 >> David J. MALAN: Wszystkie Dobra, więc kroku, jesteśmy 21 00:01:24,330 --> 00:01:26,204 będzie musiał umieścić to na przedramieniu 22 00:01:26,204 --> 00:01:29,280 tak, że jest to dość mocno się w pobliżu łokcia. 23 00:01:29,280 --> 00:01:31,940 A w międzyczasie, niech mają umieścić na naszym Google Glass 24 00:01:31,940 --> 00:01:33,720 i będziemy mieszać technologii dzisiaj. 25 00:01:33,720 --> 00:01:36,340 >> COLTON: Najpierw musimy podłączyć to do rzeczy. 26 00:01:36,340 --> 00:01:37,170 >> David J. MALAN: OK. 27 00:01:37,170 --> 00:01:39,795 Właściwie, postawmy rękę jako blisko tego kabla, jak to możliwe 28 00:01:39,795 --> 00:01:41,160 tak, że możemy po raz pierwszy zsynchronizować go. 29 00:01:41,160 --> 00:01:42,740 >> COLTON: Zróbmy to. 30 00:01:42,740 --> 00:01:46,500 >> David J. MALAN: A tymczasem, tak że każdy może bliżej oka, 31 00:01:46,500 --> 00:01:50,290 będziemy rzucać aparatu Andrzeja na ekranie tam. 32 00:01:50,290 --> 00:01:54,460 Więc mamy kabel USB, jest podłączony do opaski Marii. 33 00:01:54,460 --> 00:02:00,230 I niech mi wrzucić na ekran Colton do projektora następnego. 34 00:02:00,230 --> 00:02:06,000 >> Więc Colton rejestruje urządzenie teraz jak Myo podłączone do tego kabla. 35 00:02:06,000 --> 00:02:08,060 A teraz, co Marii chwilę zrobi 36 00:02:08,060 --> 00:02:10,120 faktycznie przejść przez kroki kalibracji 37 00:02:10,120 --> 00:02:12,830 i uczyć oprogramowania jak jej mięśnie odpowiedzieć 38 00:02:12,830 --> 00:02:16,070 kiedy ona upewnić się, wstępnie zdefiniowane gesty, że oprogramowanie rozumie. 39 00:02:16,070 --> 00:02:17,910 Jeśli chcesz, aby przejść w z przodu ekranu. 40 00:02:17,910 --> 00:02:26,840 41 00:02:26,840 --> 00:02:30,090 OK, próbować. 42 00:02:30,090 --> 00:02:31,860 >> COLTON: Go w ten sposób. 43 00:02:31,860 --> 00:02:32,970 I tak. 44 00:02:32,970 --> 00:02:34,563 I przez całą drogę w prawo. 45 00:02:34,563 --> 00:02:35,922 Wróć. 46 00:02:35,922 --> 00:02:37,740 >> David J. MALAN: OK. 47 00:02:37,740 --> 00:02:38,960 Innej perspektywy. 48 00:02:38,960 --> 00:02:39,620 To nie ty. 49 00:02:39,620 --> 00:02:40,350 To nas. 50 00:02:40,350 --> 00:02:41,749 >> MARIA: OK. 51 00:02:41,749 --> 00:02:42,540 David J. MALAN: Nie 52 00:02:42,540 --> 00:02:46,720 53 00:02:46,720 --> 00:02:51,540 Przejdźmy go wyżej, więc jest to bliżej do łokcia, a nawet mocniej. 54 00:02:51,540 --> 00:02:52,680 Dobrze. 55 00:02:52,680 --> 00:02:53,270 >> No to jedziemy. 56 00:02:53,270 --> 00:02:56,780 To będzie dobry czas dla CS52X. 57 00:02:56,780 --> 00:02:57,670 Nie idziemy. 58 00:02:57,670 --> 00:02:58,760 >> Bardzo ładne. 59 00:02:58,760 --> 00:03:01,170 OK. 60 00:03:01,170 --> 00:03:02,790 Kciuk do pinky. 61 00:03:02,790 --> 00:03:03,380 >> Bardzo ładne. 62 00:03:03,380 --> 00:03:05,140 Rozłożone palce. 63 00:03:05,140 --> 00:03:06,240 Dobra. 64 00:03:06,240 --> 00:03:06,910 Fala prawo. 65 00:03:06,910 --> 00:03:15,052 66 00:03:15,052 --> 00:03:17,010 Jest ciekawie pokazując Ci z lewej hand-- 67 00:03:17,010 --> 00:03:19,665 >> COLTON: Tak, to jest dziwne. 68 00:03:19,665 --> 00:03:21,790 David J. MALAN: Wave w prawo i iść do przodu. 69 00:03:21,790 --> 00:03:22,998 Przewijanie do przodu, aby pominąć lub obok. 70 00:03:22,998 --> 00:03:25,020 To jest OK prawo Wave. 71 00:03:25,020 --> 00:03:26,650 >> MARIA: don't-- czekam. 72 00:03:26,650 --> 00:03:28,430 >> David J. MALAN: Potrzebujesz pomocy? 73 00:03:28,430 --> 00:03:30,027 >> COLTON: Więc idziesz tak. 74 00:03:30,027 --> 00:03:31,860 Maria: To się toczenia Inna sprawa, choć. 75 00:03:31,860 --> 00:03:32,390 COLTON: Jest. 76 00:03:32,390 --> 00:03:34,250 David J. MALAN: Tak Nie wiem dlaczego to pokazuje wam leworęczny. 77 00:03:34,250 --> 00:03:36,458 COLTON: Dlaczego nie try-- po prostu spróbuj przejść w ten sposób. 78 00:03:36,458 --> 00:03:38,910 79 00:03:38,910 --> 00:03:40,090 >> David J. MALAN: Nie? 80 00:03:40,090 --> 00:03:42,580 Może osiągnąć ramię się trochę celniej 81 00:03:42,580 --> 00:03:46,070 i uczynić go bardziej gwałtowne tak. 82 00:03:46,070 --> 00:03:48,176 Tak, dobrze, chodź. 83 00:03:48,176 --> 00:03:49,670 >> MARIA: Przykro mi. 84 00:03:49,670 --> 00:03:51,170 David J. MALAN: To nie twoja wina. 85 00:03:51,170 --> 00:03:53,018 COLTON: Jest w porządku. 86 00:03:53,018 --> 00:03:55,430 David J. MALAN: Wszystko w porządku. 87 00:03:55,430 --> 00:03:56,220 Well-- 88 00:03:56,220 --> 00:03:57,620 >> MARIA: Czy powinniśmy pominąć tego, czym? 89 00:03:57,620 --> 00:03:59,620 David J. MALAN: Tak, niech niech was haka. 90 00:03:59,620 --> 00:04:03,130 Więc jeśli ktoś chciałby zrobić Ostateczny projekt za pomocą tej krawędzi tnącej 91 00:04:03,130 --> 00:04:07,707 sprzętu, to może po prostu sobie zająć trochę przyzwyczaić. 92 00:04:07,707 --> 00:04:10,290 I this-- rzeczywistość jest to jest rzeczywiście bardzo krwawienia krawędzi. 93 00:04:10,290 --> 00:04:12,040 >> To jest to, co się nazywa Developer Kit, który 94 00:04:12,040 --> 00:04:14,956 ma być w zasadzie pre-release tak, że ludzie mogą zrobić dokładnie 95 00:04:14,956 --> 00:04:18,690 this-- walczyć z nim, rysunek się, jak działają ludzkie ciała 96 00:04:18,690 --> 00:04:19,980 z techniki. 97 00:04:19,980 --> 00:04:21,750 Więc jeśli chcesz potem, po wykładzie, 98 00:04:21,750 --> 00:04:23,750 możemy pozwolić przyjść i zrobić kolejne ukłucie w nim. 99 00:04:23,750 --> 00:04:26,970 Ale inaczej, brawa, jeśli mogliśmy, dla Marii za przybycie na górę. 100 00:04:26,970 --> 00:04:28,770 >> MARIA: Dziękuję. 101 00:04:28,770 --> 00:04:30,390 >> David J. MALAN: Dziękuję. 102 00:04:30,390 --> 00:04:34,945 Będziemy trzymać się tego, ale damy you-- jak o piłkę stres tutaj? 103 00:04:34,945 --> 00:04:38,620 Och, and-- if-- tak, dzięki. 104 00:04:38,620 --> 00:04:39,715 Dobrze. 105 00:04:39,715 --> 00:04:45,750 Tak dla ciekawskich, jeśli były zaznajomiony z wyborem dźwięku 106 00:04:45,750 --> 00:04:47,670 że zrobiliśmy tam wcześniej, niesamowite TV 107 00:04:47,670 --> 00:04:50,210 pokazują, że powinieneś absolutnie być binge-oglądania Netflix 108 00:04:50,210 --> 00:04:51,110 Jest to jeden tutaj. 109 00:04:51,110 --> 00:04:54,472 >> GŁOŚNIK 1: Panie i panowie, mag o imieniu Josh. 110 00:04:54,472 --> 00:05:04,710 111 00:05:04,710 --> 00:05:08,050 >> David J. MALAN: I najwyraźniej, że to co do mnie tekst podczas wykładu teraz. 112 00:05:08,050 --> 00:05:11,190 Powiedziano mi, że Maria miał wczoraj urodziny. 113 00:05:11,190 --> 00:05:14,095 Więc z okazji urodzin CS50 do Marii, jak również. 114 00:05:14,095 --> 00:05:18,720 115 00:05:18,720 --> 00:05:22,090 >> Więc można przeczytać w ostatnim miesiącu że panowie tutaj, Steve 116 00:05:22,090 --> 00:05:25,260 Ballmer, który był w rzeczywistości klasa z 1977 roku w college'u, 117 00:05:25,260 --> 00:05:27,170 Niedawno przeszedł na emeryturę dla Microsoftu. 118 00:05:27,170 --> 00:05:29,620 Był studia tutaj, następnie kilka lat później 119 00:05:29,620 --> 00:05:31,910 znalazł się na Stanford Business School 120 00:05:31,910 --> 00:05:34,160 gdy otrzymał telefon zadzwonić z jego przyjacielem kto 121 00:05:34,160 --> 00:05:36,516 żył korytarzem z nim tutaj na Harvardzie. 122 00:05:36,516 --> 00:05:38,640 Nazwy znajomego Bill Gates, a w tym czasie, 123 00:05:38,640 --> 00:05:42,700 próbował zatrudnić Steve się Pierwszy biznes człowiek, naprawdę, 124 00:05:42,700 --> 00:05:45,720 w małej firmie Microsoft nazwa. 125 00:05:45,720 --> 00:05:48,960 >> Krótko mówiąc, Steve został ostatecznie wygrał ponad, 126 00:05:48,960 --> 00:05:52,130 dołączył do firmy Microsoft, gdy miał zaledwie 30 pracowników. 127 00:05:52,130 --> 00:05:54,300 I do czasu, gdy emerytowany niedawna 128 00:05:54,300 --> 00:05:58,100 spółka miała 100 tysięcy pracowników w ciągu ostatnich kilku lat. 129 00:05:58,100 --> 00:06:01,171 I tak strona znany jako The Verge przygotowany to hołd na wideo 130 00:06:01,171 --> 00:06:02,920 że myśleliśmy, że wspólne, które daje 131 00:06:02,920 --> 00:06:08,380 poczucie, jak wiele energii Steve wnosi do każdej prezentacji on daje. 132 00:06:08,380 --> 00:06:11,884 133 00:06:11,884 --> 00:06:12,550 [ODTWARZANIE] 134 00:06:12,550 --> 00:06:16,220 -Microsoft Jak czwartego dziecka. 135 00:06:16,220 --> 00:06:18,260 Dzieci nie wychodzić z domu. 136 00:06:18,260 --> 00:06:21,875 W tym przypadku, myślę, Wychodzę z domu. 137 00:06:21,875 --> 00:06:23,270 Hej, Bill, whazzap? 138 00:06:23,270 --> 00:06:24,200 >> -Wazzap? 139 00:06:24,200 --> 00:06:25,320 >> Hej, wazzap? 140 00:06:25,320 --> 00:06:28,590 Byliśmy podano ogromna szansa. 141 00:06:28,590 --> 00:06:30,210 I Bill dał nam taką możliwość. 142 00:06:30,210 --> 00:06:35,520 143 00:06:35,520 --> 00:06:36,770 Chcę podziękować za to Bill. 144 00:06:36,770 --> 00:06:39,630 Chcę, żebyś też. 145 00:06:39,630 --> 00:06:42,500 Tempo innowacji nie zamierza zwalniać. 146 00:06:42,500 --> 00:06:45,140 >> To będzie się coraz szybciej i szybciej. 147 00:06:45,140 --> 00:06:50,165 Nie może być kilka konkurenci które są niestety wyeliminowany! 148 00:06:50,165 --> 00:06:54,337 149 00:06:54,337 --> 00:06:59,564 >> Uwielbiam tę firmę. 150 00:06:59,564 --> 00:07:00,064 Tak! 151 00:07:00,064 --> 00:07:03,452 152 00:07:03,452 --> 00:07:08,250 Jestem PC i kocham tę firmę! 153 00:07:08,250 --> 00:07:13,090 >> Deweloperzy, developerzy, deweloperzy, deweloperzy, developerzy, deweloperzy, 154 00:07:13,090 --> 00:07:14,560 deweloperzy, deweloperzy. 155 00:07:14,560 --> 00:07:17,500 156 00:07:17,500 --> 00:07:18,970 Tak! 157 00:07:18,970 --> 00:07:19,950 Web deweloperzy! 158 00:07:19,950 --> 00:07:21,420 >> Web deweloperzy! 159 00:07:21,420 --> 00:07:22,890 Web deweloperzy! 160 00:07:22,890 --> 00:07:25,830 161 00:07:25,830 --> 00:07:28,770 Posłuchaj, co jeszcze uzyskać bez dodatkowych opłat! 162 00:07:28,770 --> 00:07:31,960 >> MS-DOS Executive, powołanie kalendarz, stos kart, notatnik, 163 00:07:31,960 --> 00:07:33,750 zegar, panel sterowania. 164 00:07:33,750 --> 00:07:35,461 I można w to uwierzyć? 165 00:07:35,461 --> 00:07:35,960 Reversie! 166 00:07:35,960 --> 00:07:37,270 >> Możesz je nagrać na płycie CD! 167 00:07:37,270 --> 00:07:38,660 Prześlij je na Skype! 168 00:07:38,660 --> 00:07:40,422 Możesz wysłać je do znajomych! 169 00:07:40,422 --> 00:07:41,790 >> Wszystko za pomocą jednego kliknięcia! 170 00:07:41,790 --> 00:07:48,670 Jeden Microsoft, jedna strategia, jedno team-- skupiony, zdyscyplinowany, profesjonalny, 171 00:07:48,670 --> 00:07:50,610 i ekspertem we wszystkim, co robimy. 172 00:07:50,610 --> 00:07:52,670 Pozwól mi korzystać z linii ze starego filmu. 173 00:07:52,670 --> 00:07:54,810 >> Relacje są jak rekiny. 174 00:07:54,810 --> 00:07:57,480 Poruszają się do przodu lub do śmierci. 175 00:07:57,480 --> 00:08:01,470 I rzeczywiście uważam tech przedsiębiorstwa są takie same. 176 00:08:01,470 --> 00:08:04,801 >> [KONIEC ODTWARZANIE] 177 00:08:04,801 --> 00:08:08,050 David J. MALAN: Więc jesteśmy tak zadowoleni, informujemy, że Steve dołączy do nas 178 00:08:08,050 --> 00:08:13,320 tu w środę na CS50 zwykle miejsce i czas tutaj. 179 00:08:13,320 --> 00:08:14,750 Przestrzeń będzie prawdopodobnie ograniczony. 180 00:08:14,750 --> 00:08:19,650 I tak, aby dołączyć do nas osobiście, proszę udać się dziś lub wkrótce 181 00:08:19,650 --> 00:08:22,600 do cs50.harvard.edu/register. 182 00:08:22,600 --> 00:08:25,780 >> I będziemy śledzić przez Wtorek potwierdzający plamy. 183 00:08:25,780 --> 00:08:29,900 Oczekujemy, że w przyszłym Środa podczas wykładu w CS50. 184 00:08:29,900 --> 00:08:33,706 Teraz, w innych wiadomości, zdarzyło mi się natknąć się to tylko w The Crimson 185 00:08:33,706 --> 00:08:34,289 drugi dzień. 186 00:08:34,289 --> 00:08:37,370 >> Okazuje się, że jeden z pracowników CS50 jest i co najmniej jeden studentów za CS50 187 00:08:37,370 --> 00:08:40,299 pracuje obecnie dla UC prezes i wiceprezes, 188 00:08:40,299 --> 00:08:42,950 które przywróciło mnie do moich dni wstecz 189 00:08:42,950 --> 00:08:45,920 kiedy przegrał wybory UC marnie. 190 00:08:45,920 --> 00:08:48,210 Ale wyszło w które jest zawsze 191 00:08:48,210 --> 00:08:50,604 powiedzieć, że historia jeden z jestem pewien 192 00:08:50,604 --> 00:08:52,770 wiele powodów straciłem Wybór był kompletny brak 193 00:08:52,770 --> 00:08:54,103 z talentem do wystąpień publicznych. 194 00:08:54,103 --> 00:08:56,950 A tak szczerze mówiąc to, zawiózł mnie, że doświadczenie 195 00:08:56,950 --> 00:09:02,235 Myślę, że mój młodszy roku, rzeczywiście podpisać się na Harvard Computer Society, która 196 00:09:02,235 --> 00:09:04,610 jest na terenie kampusu, że grupa posiada różne rozmowy techniczne 197 00:09:04,610 --> 00:09:05,318 i inne rzeczy. 198 00:09:05,318 --> 00:09:08,117 I przejął ich nauczania seminaria i dlatego 199 00:09:08,117 --> 00:09:09,950 miał okazję, wspaniała okazja, 200 00:09:09,950 --> 00:09:12,620 aby rozpocząć pracę na dokładnie to. 201 00:09:12,620 --> 00:09:15,000 Ale również, miałem okazję podczas tego doświadczenia 202 00:09:15,000 --> 00:09:16,930 uczyć sobie tym bardziej HTML. 203 00:09:16,930 --> 00:09:21,080 I tak wczoraj przez zwlekał patrząc na stronie internetowej opartej na HTML 204 00:09:21,080 --> 00:09:28,066 Jak zrobiłem w 1997 roku, '98, dla mojego Kampania, która wygląda tutaj. 205 00:09:28,066 --> 00:09:29,920 Wiem. 206 00:09:29,920 --> 00:09:33,340 >> Because-- i oczywiście zawiadomienie ten niesamowity projekt w 1998 roku decyzja 207 00:09:33,340 --> 00:09:33,850 lub cokolwiek. 208 00:09:33,850 --> 00:09:36,475 Pierwszą rzeczą, którą chcesz, aby użytkownicy zrobić na odwiedzenie witryny 209 00:09:36,475 --> 00:09:39,860 to trzeba po prostu kliknij inny odnośnik wprowadzić swoją stronę tutaj z mnichem 210 00:09:39,860 --> 00:09:43,940 za jak owiana kurtyną, gdzie widocznie moja kampania platformy. 211 00:09:43,940 --> 00:09:46,330 A to wszystko dostaniesz dziś jest tylko zrzut ekranu. 212 00:09:46,330 --> 00:09:49,500 Ale ja czytając, jak, kampanii plakaty ostatniej nocy 213 00:09:49,500 --> 00:09:50,490 a moja platforma. 214 00:09:50,490 --> 00:09:52,960 >> A ja byłem tak zły na czasie. 215 00:09:52,960 --> 00:09:55,380 Moja platforma was-- było interesujące. 216 00:09:55,380 --> 00:09:57,730 Tak już się uspokoił, ponieważ wtedy. 217 00:09:57,730 --> 00:10:03,550 Ale pewnego dnia, będzie uruchomić ponownie i mam nadzieję, że lepiej ten czas. 218 00:10:03,550 --> 00:10:07,265 >> Więc HTML, że język, w którym zrobiłem że in-- Ciebie będzie szybko zrobić wiele more-- 219 00:10:07,265 --> 00:10:09,140 jest coś, byliśmy mówisz późno 220 00:10:09,140 --> 00:10:12,460 iw dużej mierze biorąc za pewnik, teraz które zostały przeniesione na inne języki. 221 00:10:12,460 --> 00:10:15,650 Ale zatrzymajmy się na chwilę i umieścić niektóre z tych rzeczy w kontekście. 222 00:10:15,650 --> 00:10:18,040 Tak w jednym zdaniu, co to jest HTML? 223 00:10:18,040 --> 00:10:19,370 >> Albo, co służy? 224 00:10:19,370 --> 00:10:20,208 Każdy, kto? 225 00:10:20,208 --> 00:10:20,708 Tak. 226 00:10:20,708 --> 00:10:22,002 >> Publiczność: Markup witryn. 227 00:10:22,002 --> 00:10:23,460 David J. MALAN: Markup na stronie internetowej. 228 00:10:23,460 --> 00:10:27,100 Więc to, że język znaczników pozwala zorganizować stronę internetową. 229 00:10:27,100 --> 00:10:30,040 Nagłówek wchodzi tutaj, tytuł idzie tu, ciało przechodzi tutaj. 230 00:10:30,040 --> 00:10:33,280 To jest pogrubiony, to jest italics-- tego rodzaju szczegółów. 231 00:10:33,280 --> 00:10:33,830 >> OK, dobrze. 232 00:10:33,830 --> 00:10:37,620 Więc CSS pozwala you-- i ja miała tam pewne wolności 233 00:10:37,620 --> 00:10:40,990 z wychodzącym i pogrubioną kursywą, ponieważ Tak lepiej realizowane z tym. 234 00:10:40,990 --> 00:10:42,096 CSS is-- co? 235 00:10:42,096 --> 00:10:42,845 Powiedzieć w jednym zdaniu. 236 00:10:42,845 --> 00:10:46,000 237 00:10:46,000 --> 00:10:46,720 Każdy, kto w ogóle. 238 00:10:46,720 --> 00:10:46,870 Tak. 239 00:10:46,870 --> 00:10:49,286 >> WIDOWNI: Zdobienia i rzeczy, jak sposób projektowania. 240 00:10:49,286 --> 00:10:51,769 241 00:10:51,769 --> 00:10:52,810 David J. MALAN: OK, dobrze. 242 00:10:52,810 --> 00:10:55,420 Zdobienia, które pozwalają zaprojektować go lub stylizować go 243 00:10:55,420 --> 00:10:59,540 z rzeczy, jak pogrubioną czcionką i kursywa i kolory, a także więcej dobrze 244 00:10:59,540 --> 00:11:01,330 drobnoziarnisty pozycjonowanie elementów. 245 00:11:01,330 --> 00:11:04,520 To rodzaj pozwala robić rzeczy, na Ostatnia mile tak, że jeżeli na przykład 246 00:11:04,520 --> 00:11:08,130 w Pset7, można zauważyć na swoim Strona portfolio jeśli jesteś w tym momencie 247 00:11:08,130 --> 00:11:12,270 już, że domyślna tabela że aby pokazać gospodarstw czas na użytkownika 248 00:11:12,270 --> 00:11:15,740 i prawdopodobnie wygląda dość gotówki ohydny domyślnie bez białej przestrzeni. 249 00:11:15,740 --> 00:11:18,420 Wszystko jest od rodzaju zapchane ze sobą w rzędach i kolumnach. 250 00:11:18,420 --> 00:11:20,662 >> Cóż, z odrobiną CSS, jak można zrealizować, 251 00:11:20,662 --> 00:11:23,870 rzeczywiście można dostosować i zrobić to, że coś o wiele bardziej znane i bardzo 252 00:11:23,870 --> 00:11:24,870 ładniejszy dla oka. 253 00:11:24,870 --> 00:11:27,730 Więc jest o CSS stylizacja witryn. 254 00:11:27,730 --> 00:11:31,970 Ale potem kolejny wprowadziła język PHP, który pozwala nam robić to, co? 255 00:11:31,970 --> 00:11:36,400 256 00:11:36,400 --> 00:11:37,590 >> Zróbmy to, co? 257 00:11:37,590 --> 00:11:38,177 Każdy. 258 00:11:38,177 --> 00:11:40,010 Masz na zakupy poza pierwsze kilka wierszy. 259 00:11:40,010 --> 00:11:40,260 Tak. 260 00:11:40,260 --> 00:11:41,719 >> PUBLICZNOŚCI: Generowanie dynamicznej zawartości. 261 00:11:41,719 --> 00:11:42,718 David J. MALAN: Idealny. 262 00:11:42,718 --> 00:11:43,850 Generowania dynamicznej zawartości. 263 00:11:43,850 --> 00:11:45,808 I można to zrobić w dowolną liczbę języków. 264 00:11:45,808 --> 00:11:50,120 Przyzwyczailiśmy się do korzystania z PHP, ponieważ jest to częściowo tak podobnych składni C. 265 00:11:50,120 --> 00:11:52,000 >> Ale PHP robi dokładnie to. 266 00:11:52,000 --> 00:11:54,620 To pozwala dynamicznie generować wyjście. 267 00:11:54,620 --> 00:11:57,890 A niektórzy z tego wyjścia może być HTML, jak my zwykle robi. 268 00:11:57,890 --> 00:12:00,160 I to również, bo to język programowania, jest 269 00:12:00,160 --> 00:12:03,240 Mechanizm, za pomocą którego możemy mówić do baz danych. 270 00:12:03,240 --> 00:12:05,730 >> I możemy zrobić zapytania do inne serwery jak Yahoos 271 00:12:05,730 --> 00:12:08,660 i programowo nic zrobić naprawdę, że mogłyby 272 00:12:08,660 --> 00:12:10,400 Aby zmusić komputer do zrobienia. 273 00:12:10,400 --> 00:12:13,580 Więc PHP pozwala nam zacząć dynamicznie wyprowadzania treści. 274 00:12:13,580 --> 00:12:16,900 Więc przez tą logiką, nie mam dynamiczna strona internetowa w 1998 roku. 275 00:12:16,900 --> 00:12:18,460 >> To był tylko statyczne strony WWW. 276 00:12:18,460 --> 00:12:22,250 Zawartość mojego należało zmienić ręcznie z gedit lub jakiś odpowiednik. 277 00:12:22,250 --> 00:12:25,290 Ale PHP jest używany lub co mogła wykorzystać raczej 278 00:12:25,290 --> 00:12:27,260 na coś takiego Strona Frosh IM, który 279 00:12:27,260 --> 00:12:31,160 miał wziąć rejestracje i zarządzać listą users-- rzeczy 280 00:12:31,160 --> 00:12:33,550 rzeczywiście zmienia się czas, mimo że stało 281 00:12:33,550 --> 00:12:35,990 w użyciu Perl, różne język w czasie. 282 00:12:35,990 --> 00:12:40,350 >> I wtedy wreszcie wprowadziliśmy SQL-- Structured Query Language. 283 00:12:40,350 --> 00:12:43,845 Jeszcze tak inny język który jest używany na co? 284 00:12:43,845 --> 00:12:46,660 285 00:12:46,660 --> 00:12:47,639 Używane na co? 286 00:12:47,639 --> 00:12:49,430 Możemy zaryzykować slight-- OK, nie będziemy 287 00:12:49,430 --> 00:12:51,263 uzyskać znacznie dalej niż orkiestry tutaj. 288 00:12:51,263 --> 00:12:53,432 Grupa docelowa: Jest to protokół rozmawiał z baz danych. 289 00:12:53,432 --> 00:12:55,640 David J. MALAN: protokół rozmawiał z baz danych. 290 00:12:55,640 --> 00:12:56,181 Pozwól mi podkręcić. 291 00:12:56,181 --> 00:12:59,280 Jest to język naturalny używany rozmawiać databases-- wybiera 292 00:12:59,280 --> 00:13:01,280 i wstawia i usuwa oraz aktualizacje i rzeczywiście 293 00:13:01,280 --> 00:13:03,840 nawet więcej funkcji, które my nawet nie zanurkował 294 00:13:03,840 --> 00:13:07,920 się, ale może chcesz explore-- mają do poszukiwania, powiedzmy, ostateczny projekt. 295 00:13:07,920 --> 00:13:09,560 Tak więc są te różne kawałki. 296 00:13:09,560 --> 00:13:13,100 >> I mam nadzieję, że Pset7, choć jego specyfikacja jest dość długa, 297 00:13:13,100 --> 00:13:15,990 to celowo, aby przejść długi poprzez jak wszystkie te rzeczy można 298 00:13:15,990 --> 00:13:17,210 być wpisane razem. 299 00:13:17,210 --> 00:13:20,300 Teraz, w poniedziałek, my wprowadził nasz ostatni język 300 00:13:20,300 --> 00:13:23,430 że uda nam się wprowadzić w formalnie course-- czyli JavaScript. 301 00:13:23,430 --> 00:13:25,720 To, jak PHP, jest interpretowany język. 302 00:13:25,720 --> 00:13:28,110 >> Jednak zasadnicza różnica I zaproponował w poniedziałek 303 00:13:28,110 --> 00:13:32,730 jest to, że podczas gdy PHP jest wykonywany lub interpretowane na serwerze, który 304 00:13:32,730 --> 00:13:35,990 w tym przypadku urządzenie CS50, lub może być jakiś komercyjny WWW 305 00:13:35,990 --> 00:13:39,370 serwer w Internecie, JavaScript ogólnie 306 00:13:39,370 --> 00:13:43,650 jest język, który działa po stronie klienta Serwer side-- więc nie w przeglądarce. 307 00:13:43,650 --> 00:13:46,970 To znaczy, tak jak kiedy otworzyłem się Facebook kodu źródłowego i znaleźć wszystkie 308 00:13:46,970 --> 00:13:51,510 tych .js plików, implikacja była że podczas odwiedzania Facebooka lub najbardziej 309 00:13:51,510 --> 00:13:54,810 Strony te dni, otrzymasz nie tylko HTML, nie tylko CSS, 310 00:13:54,810 --> 00:13:59,370 ale cała masa JavaScript Kod często w postaci plików .js. 311 00:13:59,370 --> 00:14:03,970 A potem to browser-- własny Mac lub PC--, że wykonuje ten kod. 312 00:14:03,970 --> 00:14:05,990 >> Ale Twoja przeglądarka wykonuje go. 313 00:14:05,990 --> 00:14:08,070 Możesz myśleć w rodzaju piaskownicy. 314 00:14:08,070 --> 00:14:12,420 Tak, że kod JavaScript nie powinno być w stanie usunąć pliki na komputerze. 315 00:14:12,420 --> 00:14:14,730 Nie powinno być w stanie wysyłanie wiadomości e-mail w Twoim imieniu. 316 00:14:14,730 --> 00:14:17,760 Twoja przeglądarka z Ogranicza rodzaj co można z nim zrobić. 317 00:14:17,760 --> 00:14:20,630 >> Więc w tym sensie, że to trochę mniej potężne, być może, niż C. 318 00:14:20,630 --> 00:14:24,030 Ale obsługa JavaScript, można, jak bok być stosowane na serwerze 319 00:14:24,030 --> 00:14:27,740 choć raczej nie będziemy rozmawiać o to w tym kontekście. 320 00:14:27,740 --> 00:14:29,740 Więc teraz niech związać je razem. 321 00:14:29,740 --> 00:14:34,000 Tygodniu oraz temu zaprezentowaliśmy niektóre HTML na lewy-- bardzo nudne stronie internetowej. 322 00:14:34,000 --> 00:14:35,000 >> Wystarczy mówi hello world. 323 00:14:35,000 --> 00:14:38,110 A potem zaproponował na prawo możemy rodzaj kradzieży pomysłów 324 00:14:38,110 --> 00:14:41,470 z naszej dyskusji Struktury danych w C 325 00:14:41,470 --> 00:14:45,270 i myśleć o tym, jak to hierarchiczny język znaczników po lewej stronie 326 00:14:45,270 --> 00:14:49,720 można wyciągnąć lub wdrażane w pamięci jako rzeczywistej strukturze drzewa z węzłami 327 00:14:49,720 --> 00:14:51,400 oraz wskaźniki i te rodzaje szczegółów. 328 00:14:51,400 --> 00:14:53,820 Po prawej stronie, nazywamy że dokument o DOM-- 329 00:14:53,820 --> 00:14:56,800 Obiekt Model-- który jest po prostu fantazyjny sposób na powiedzenie drzewo. 330 00:14:56,800 --> 00:14:59,520 >> Teraz, dlaczego to jest przydatne myśleć o tym w ten sposób? 331 00:14:59,520 --> 00:15:01,680 Bo teraz JavaScript, ponieważ mamy 332 00:15:01,680 --> 00:15:05,810 kod, który dostaje się do gry w tym Środowisko, które jest rzeczywiste HTML 333 00:15:05,810 --> 00:15:08,360 został wysłany do przeglądarki już i już 334 00:15:08,360 --> 00:15:12,690 załadowany do pamięci Przeglądarka w drzewo w Twoim komputerze 335 00:15:12,690 --> 00:15:18,270 RAM tak, możemy użyć skryptu faktycznie przechodzić lub pieszo lub wyszukiwarka 336 00:15:18,270 --> 00:15:21,800 lub zmienić DOM drzewo jednak chcemy. 337 00:15:21,800 --> 00:15:24,040 Faktycznie więc, jeśli myślisz, o facebook.com, 338 00:15:24,040 --> 00:15:27,660 w przypadku korzystania z funkcji czatu, jeśli Ciebie Wykorzystanie Gmail i funkcja gchat, 339 00:15:27,660 --> 00:15:30,540 coś, gdzie trzeba Wiadomości pochodzące znowu i znowu 340 00:15:30,540 --> 00:15:35,880 i znowu, te wiadomości są prawdopodobnie, jak tag LI, znaczniki listy pozycji, być może. 341 00:15:35,880 --> 00:15:37,940 >> A może są po prostu DIV, które utrzymują pojawiające 342 00:15:37,940 --> 00:15:39,770 każdym razem, gdy pojawia się komunikat o natychmiastowy. 343 00:15:39,770 --> 00:15:42,960 I tak, po prostu, co oznacza, Facebook lub Google robi 344 00:15:42,960 --> 00:15:45,200 jest za każdym razem dostajesz wiadomości z serwera, 345 00:15:45,200 --> 00:15:48,740 są one prawdopodobnie za pomocą JavaScript po prostu dodać kolejny węzeł 346 00:15:48,740 --> 00:15:52,700 to tree-- inny węzeł do tego drzewo, które następnie wizualnie wygląda po prostu 347 00:15:52,700 --> 00:15:54,570 jak nowy wiersz tekstu na ekranie. 348 00:15:54,570 --> 00:15:57,100 Ale oni wkładając do tej struktury danych. 349 00:15:57,100 --> 00:15:59,742 >> Tak jak w klasach CS124 i inni, będziesz 350 00:15:59,742 --> 00:16:02,200 faktycznie napisać więcej kodu przed struktury danych, takie jak ten. 351 00:16:02,200 --> 00:16:04,310 Ale teraz w JavaScript, musimy po prostu przyjąć, 352 00:16:04,310 --> 00:16:07,920 mamy wszystkie te funkcje za darmo z samego języka. 353 00:16:07,920 --> 00:16:09,210 Więc spójrzmy na przykład. 354 00:16:09,210 --> 00:16:13,120 >> Pozwól mi otworzyć plik o nazwie form.html. 355 00:16:13,120 --> 00:16:14,601 To bardzo proste. 356 00:16:14,601 --> 00:16:15,600 To po prostu wygląda tak. 357 00:16:15,600 --> 00:16:17,860 >> No CSS, ma myśli do estetyki. 358 00:16:17,860 --> 00:16:19,810 To czysto funkcjonalne i najwyraźniej jestem 359 00:16:19,810 --> 00:16:24,000 prosząc o e-mail, hasło, hasło ponownie, a następnie sprawdzić 360 00:16:24,000 --> 00:16:26,150 zgodzić się na pewne warunki. 361 00:16:26,150 --> 00:16:28,740 Co do tego kodu źródłowego Wygląda na to, to chyba coś 362 00:16:28,740 --> 00:16:31,030 można się domyślać z Trochę myśli teraz. 363 00:16:31,030 --> 00:16:32,840 Mam tutaj tag formularz. 364 00:16:32,840 --> 00:16:36,190 >> Akcja jest najwyraźniej zamierza przejść do pliku o nazwie register.php. 365 00:16:36,190 --> 00:16:37,870 Metoda Zamierzam wykorzystać to dostać. 366 00:16:37,870 --> 00:16:40,880 A potem mam tekst Pole, którego nazwa jest e-mail. 367 00:16:40,880 --> 00:16:43,340 >> Mam pole hasła którego nazwa jest hasłem. 368 00:16:43,340 --> 00:16:45,420 Mam inny pole hasła, którego nazwa 369 00:16:45,420 --> 00:16:47,342 jest nieco arbitralnie potwierdzenia. 370 00:16:47,342 --> 00:16:49,690 To jest po prostu inny parametr HTTP. 371 00:16:49,690 --> 00:16:54,430 >> A potem nie używałem tych wyjątkiem ponieważ Frosh demo w class-- IM 372 00:16:54,430 --> 00:16:56,692 pole wyboru, które jest Wystarczy wpisać równa czek. 373 00:16:56,692 --> 00:16:57,900 I zadzwonię to porozumienie. 374 00:16:57,900 --> 00:17:00,700 Więc mam rodzaj arbitralnie, ale dogodnie nazwie te pola. 375 00:17:00,700 --> 00:17:03,450 Tak, że teraz, kiedy ta forma robi składane, zobaczmy, co się stanie. 376 00:17:03,450 --> 00:17:07,290 Jeśli robię malan@harvard.edu, Zrobię hasło szkarłatu. 377 00:17:07,290 --> 00:17:09,530 Zrobię hasło niczego. 378 00:17:09,530 --> 00:17:10,910 Niech nie współpracować. 379 00:17:10,910 --> 00:17:12,280 >> I nie zaznaczyć pole. 380 00:17:12,280 --> 00:17:13,940 Pozwól mi kliknij Register. 381 00:17:13,940 --> 00:17:15,420 I mówi, hm, jesteś zarejestrowany. 382 00:17:15,420 --> 00:17:16,069 Nie bardzo. 383 00:17:16,069 --> 00:17:17,450 >> Ale URL zmianie. 384 00:17:17,450 --> 00:17:22,280 Tak więc ta forma wyraźnie dozwolone przedłożyć register.php. 385 00:17:22,280 --> 00:17:25,160 Ale prawdopodobnie, powinienem być łowienie niektóre z tych błędów. 386 00:17:25,160 --> 00:17:27,569 Teraz, w Pset7 i niektóre naszych przykładach wykładowych, 387 00:17:27,569 --> 00:17:30,130 my zazwyczaj wydrukować duży czerwony komunikat o błędzie tutaj 388 00:17:30,130 --> 00:17:33,760 mówiąc, brakuje nazwy, lub brak hasła. 389 00:17:33,760 --> 00:17:37,680 Zrobiliśmy, że przed i mamy zrobione wykrywanie błędów po stronie serwera. 390 00:17:37,680 --> 00:17:41,580 >> Ale wiele stron internetowych w tych dniach zrobić wykrywanie błędów po stronie klienta 391 00:17:41,580 --> 00:17:42,810 gdzie adres URL nie zmienia. 392 00:17:42,810 --> 00:17:44,101 Cała strona nie odświeża. 393 00:17:44,101 --> 00:17:46,940 Otrzymacie Państwo natychmiastowe informacje zwrotne z przeglądarki. 394 00:17:46,940 --> 00:17:48,070 Może coś się na czerwono. 395 00:17:48,070 --> 00:17:49,190 >> Być może pojawi się pop-up. 396 00:17:49,190 --> 00:17:53,240 Ale nie trać czasu na wysłanie do Serwer to dane niepełne. 397 00:17:53,240 --> 00:17:56,050 Zobaczmy więc jak moglibyśmy osiągnięcia tej funkcji, jak również. 398 00:17:56,050 --> 00:17:59,660 >> Pozwólcie mi iść do form1.html, która wygląda tak samo. 399 00:17:59,660 --> 00:18:03,530 Ale jeśli tym razem zrobić malan@harvard.edu i wpisuję szkarłat 400 00:18:03,530 --> 00:18:07,350 a ja dalej nie współpracują ale kliknij przycisk Zarejestruj, zauważysz teraz. 401 00:18:07,350 --> 00:18:08,940 To nie jest najseksowniejszą rozwiązanie. 402 00:18:08,940 --> 00:18:10,900 Ja przynajmniej złapać ten błąd. 403 00:18:10,900 --> 00:18:12,900 I użyłem alert Funkcja w JavaScript-- 404 00:18:12,900 --> 00:18:14,090 którego używamy tylko w klasie. 405 00:18:14,090 --> 00:18:16,430 Ogólnie rzecz biorąc, nie należy używać tego ponieważ może to bardzo szybko dostać się 406 00:18:16,430 --> 00:18:17,160 kontrolą. 407 00:18:17,160 --> 00:18:19,180 Ale hasła nie pasują to błąd. 408 00:18:19,180 --> 00:18:21,120 >> Pozwólcie mi iść do przodu, a następnie kliknij OK. 409 00:18:21,120 --> 00:18:25,040 Ale co tu klucz wynos jest to, że adres URL nie zmienia. 410 00:18:25,040 --> 00:18:27,960 Więc nie tracić już przeszkadza Czas serwera prosząc go 411 00:18:27,960 --> 00:18:30,750 pytanie, które mógłbym zorientowali się, odpowiedź dla siebie. 412 00:18:30,750 --> 00:18:33,210 >> I użytkownika, nawet jeśli Rozmawiałem na ten temat 413 00:18:33,210 --> 00:18:35,264 dłużej niż użytkownika będzie o tym myśleć, 414 00:18:35,264 --> 00:18:36,680 będzie miał natychmiastową informację zwrotną. 415 00:18:36,680 --> 00:18:39,044 Nie ma opóźnienia z łączność z siecią. 416 00:18:39,044 --> 00:18:40,460 Więc spójrzmy na to kodu źródłowego. 417 00:18:40,460 --> 00:18:45,600 >> Form1.html wygląd strukturalnie podobne tutaj. 418 00:18:45,600 --> 00:18:46,810 Forma jest w rzeczywistości takie same. 419 00:18:46,810 --> 00:18:48,330 Ale zobaczmy, co zrobiłem tutaj. 420 00:18:48,330 --> 00:18:49,913 I nie ma różne sposoby, aby to zrobić. 421 00:18:49,913 --> 00:18:53,690 I zrobiłem najbardziej prosto popychacz, ale nie najbardziej elegancki sposób jeszcze. 422 00:18:53,690 --> 00:18:54,869 Mam znacznika script. 423 00:18:54,869 --> 00:18:57,035 I wtedy zadzwonić document.getElementById ("Rejestracja"). 424 00:18:57,035 --> 00:19:00,090 425 00:19:00,090 --> 00:19:04,420 I przechowywać tę wartość w formie, zmienny. 426 00:19:04,420 --> 00:19:05,520 >> Więc co ja zrobiłem? 427 00:19:05,520 --> 00:19:08,960 Można myśleć o document.getElementById jako 428 00:19:08,960 --> 00:19:11,200 Specjalna funkcja JavaScript daje 429 00:19:11,200 --> 00:19:14,400 że można dosłownie ręce wskaźnika jednego z węzłów 430 00:19:14,400 --> 00:19:16,520 lub prostokąty w tym drzewie. 431 00:19:16,520 --> 00:19:21,470 Więc teraz, że to, co nasza zmienna forma w JavaScript jest rzeczywiście wskazuje na. 432 00:19:21,470 --> 00:19:25,120 >> Więc teraz jest inna składnia C. Ale robimy kilka rzeczy tutaj. 433 00:19:25,120 --> 00:19:30,360 Jeden, ten jest trochę dziwne patrząc, na pewno w porównaniu do C 434 00:19:30,360 --> 00:19:32,180 Ale spójrz na linii 35. 435 00:19:32,180 --> 00:19:35,130 Więc po lewej form.onsubmit. 436 00:19:35,130 --> 00:19:38,060 Przypomnijmy, że jest onsubmit jak pola w struct. 437 00:19:38,060 --> 00:19:41,480 Jeśli uważasz, że zmiennej formy jest po prostu C struct, 438 00:19:41,480 --> 00:19:42,600 to może mieć kilka pól. 439 00:19:42,600 --> 00:19:46,410 >> Powrót w dzień, mieliśmy studentów nazwy, Identyfikatory, domy, te rodzaj pola. 440 00:19:46,410 --> 00:19:48,520 Wystarczy pomyśleć o onsubmit jak innym polu. 441 00:19:48,520 --> 00:19:53,380 Ale to dlatego, że specjalne pole Przeglądarka jest zaprogramowany oczekiwać 442 00:19:53,380 --> 00:19:57,530 .onsubmit nie być wartość jak liczba lub ciąg znaków, 443 00:19:57,530 --> 00:20:01,180 ale faktycznie być funkcja lub adres funkcji 444 00:20:01,180 --> 00:20:02,570 w pamięci komputera. 445 00:20:02,570 --> 00:20:04,740 >> I rzeczywiście, to, co to słowo kluczowe tutaj robi. 446 00:20:04,740 --> 00:20:06,710 Mówi to, daj mi nową funkcję. 447 00:20:06,710 --> 00:20:09,390 Ale to, co jest jego nazwa będzie, widocznie? 448 00:20:09,390 --> 00:20:10,800 >> Wracając do poniedziałku. 449 00:20:10,800 --> 00:20:13,430 450 00:20:13,430 --> 00:20:17,170 Jaka jest nazwa tego Funkcja oparta na składni? 451 00:20:17,170 --> 00:20:19,784 Nie, mam na myśli, jest wyraźnie Nazwa associated-- pewno nie 452 00:20:19,784 --> 00:20:21,200 nie w tym, co mam zaznaczony tutaj. 453 00:20:21,200 --> 00:20:22,560 >> Ale to jest naprawdę OK. 454 00:20:22,560 --> 00:20:25,840 Ta funkcja jest anonimowa, lub Funkcja lambda, jak niektórzy mogą to nazwać. 455 00:20:25,840 --> 00:20:27,589 A to po prostu oznacza, to nadal działa. 456 00:20:27,589 --> 00:20:29,400 To jest po prostu, nie można nazwać po imieniu. 457 00:20:29,400 --> 00:20:30,057 Ale to jest OK. 458 00:20:30,057 --> 00:20:33,140 Ponieważ znowu nie było przeglądarki zaprogramowany przez takie firmy jak Google 459 00:20:33,140 --> 00:20:38,540 lub Microsoft lub Mozilla lub innych do po prostu wiem, że jeśli dziedzinie .onsubmit 460 00:20:38,540 --> 00:20:43,400 wewnątrz elementu formularza wartość, traktować go jako function-- 461 00:20:43,400 --> 00:20:44,750 Wskaźnik funkcji, jeśli będzie. 462 00:20:44,750 --> 00:20:46,910 I nazywają go, gdy formularz jest składany. 463 00:20:46,910 --> 00:20:50,350 >> Co więc kod powinien być wykonany gdy formularz jest składany? 464 00:20:50,350 --> 00:20:52,526 Najwyraźniej wszystko wewnątrz nawias klamrowy. 465 00:20:52,526 --> 00:20:53,650 A to tylko stylistyczne. 466 00:20:53,650 --> 00:20:55,626 >> Można to zrobić jak mamy tendencję do zrobienia w CS50. 467 00:20:55,626 --> 00:20:58,250 Ale w JavaScript, większość ludzi tendencję do utrzymania go w tym samym wierszu 468 00:20:58,250 --> 00:21:01,960 tylko dlatego, że lepiej jest związane z tą funkcją kluczowego. 469 00:21:01,960 --> 00:21:03,240 Co teraz robię? 470 00:21:03,240 --> 00:21:08,616 >> Jeśli form.email.value równa równych Pusty ciąg znaków lub nic, tutaj 471 00:21:08,616 --> 00:21:11,490 Alarm, gdzie mam zamiar powiedzieć, musisz podać swój adres e-mail, 472 00:21:11,490 --> 00:21:12,690 a następnie return false. 473 00:21:12,690 --> 00:21:15,720 I to, że zwrot, że fałszywe zapobiega formularz z przedłożeniem. 474 00:21:15,720 --> 00:21:19,480 Jednocześnie, jeżeli stosunek hasło puste, będę krzyczeć na użytkownika 475 00:21:19,480 --> 00:21:21,150 i powiedzieć, musisz podać hasło. 476 00:21:21,150 --> 00:21:23,700 >> Tymczasem są coraz rzeczy trochę hodowcy tutaj. 477 00:21:23,700 --> 00:21:29,160 Jeśli nie form.password.value równa form.confirmation.value, 478 00:21:29,160 --> 00:21:31,680 inne pole, krzyczeć na że hasła użytkowników 479 00:21:31,680 --> 00:21:33,860 nie odpowiadają jak oni nie chwilą. 480 00:21:33,860 --> 00:21:35,780 I wtedy ten jeden jest trochę bardziej sexy, bo 481 00:21:35,780 --> 00:21:40,470 Wiem, że wiedział, że koncepcyjnie Nazwa jest zaznaczone pole wyboru jest. 482 00:21:40,470 --> 00:21:45,680 >> Więc może po prostu użyć okrzyk punkt powiedzieć, jeśli kontrola nie jest 483 00:21:45,680 --> 00:21:48,040 checked-- to Boolean wartość true lub false-- 484 00:21:48,040 --> 00:21:49,700 Będę krzyczeć na użytkownika z tego powodu. 485 00:21:49,700 --> 00:21:52,300 W przeciwnym razie, jeśli mamy przez wszystkie z tych warunkach 486 00:21:52,300 --> 00:21:53,270 niech po prostu wrócić prawdziwe. 487 00:21:53,270 --> 00:21:54,700 Niech Formularz należy przedłożyć. 488 00:21:54,700 --> 00:21:56,560 I będzie to wtedy stało. 489 00:21:56,560 --> 00:21:57,740 >> Miejmy wpisać szkarłat. 490 00:21:57,740 --> 00:22:00,230 Niech sprawdzić na okno, kliknij przycisk Zarejestruj. 491 00:22:00,230 --> 00:22:01,979 A teraz przejść do miejsca przeznaczenia. 492 00:22:01,979 --> 00:22:03,270 Teraz, nie istnieje żadna baza danych. 493 00:22:03,270 --> 00:22:05,370 Nie ma nic ciekawego w register.php. 494 00:22:05,370 --> 00:22:07,980 Potrzebne mi coś rzeczywiście rozmawiać. 495 00:22:07,980 --> 00:22:09,140 Więc pozwól mi zatrzymać, tutaj. 496 00:22:09,140 --> 00:22:16,270 Wszelkie pytania na temat tego, co właśnie zrobił lub co niektórzy z tej nowej składni jest? 497 00:22:16,270 --> 00:22:17,640 OK, tak? 498 00:22:17,640 --> 00:22:20,025 >> Publiczność: Więc każdy pole jest automatycznie Boolean. 499 00:22:20,025 --> 00:22:21,650 Nie musisz deklarować to tak. 500 00:22:21,650 --> 00:22:22,649 >> David J. MALAN: Poprawny. 501 00:22:22,649 --> 00:22:29,340 Każde pole, które jest wysyłane do Ciebie z Formularz HTML do kodu JavaScript 502 00:22:29,340 --> 00:22:31,760 będą traktowane tak, jak Boolean value-- prawdziwe lub fałszywe. 503 00:22:31,760 --> 00:22:32,635 To dobre pytanie. 504 00:22:32,635 --> 00:22:36,080 Podczas gdy inne wartości, z Oczywiście, był tekst, smyczki AKA. 505 00:22:36,080 --> 00:22:38,500 >> W porządku, więc niech mnie przewinąć kawałek dalej. 506 00:22:38,500 --> 00:22:39,900 Jaki był cały sens tego? 507 00:22:39,900 --> 00:22:41,400 Wystarczy być jasne. 508 00:22:41,400 --> 00:22:44,940 Jak już wiemy, nawet z Pset7 a nawet z zeszłotygodniowym wykładzie 509 00:22:44,940 --> 00:22:51,120 przykłady, które możemy oczywiście sprawdzić $ _GET $ _POST Czy użytkownik dać nam 510 00:22:51,120 --> 00:22:52,200 pusta wartość. 511 00:22:52,200 --> 00:22:54,400 Pamiętaj pustą funkcję w PHP. 512 00:22:54,400 --> 00:22:58,040 >> Tak po prostu, aby być jasne, co jest jeden z powodów, moglibyśmy również 513 00:22:58,040 --> 00:23:00,535 chce zrobić to sprawdzanie błędów Wewnątrz przeglądarki? 514 00:23:00,535 --> 00:23:03,350 515 00:23:03,350 --> 00:23:06,080 Jaka jest motywacja tutaj? 516 00:23:06,080 --> 00:23:06,580 Tak. 517 00:23:06,580 --> 00:23:09,735 >> Publiczność: Szybciej, a ty nie wysyłać bezużytecznych danych do serwera. 518 00:23:09,735 --> 00:23:10,610 David J. MALAN: Dobra. 519 00:23:10,610 --> 00:23:11,170 Jest szybszy. 520 00:23:11,170 --> 00:23:12,920 Nie wysyłać bezużyteczne dane do serwera. 521 00:23:12,920 --> 00:23:14,670 >> Więc wrócisz więcej natychmiastowa reakcja. 522 00:23:14,670 --> 00:23:16,560 I ogólnie, użytkownik doświadczenie jest lepiej. 523 00:23:16,560 --> 00:23:17,900 Pomyśl o alternatywę. 524 00:23:17,900 --> 00:23:21,160 >> Jeśli dla Gmail-- i był przypadek wiele lat temu. 525 00:23:21,160 --> 00:23:24,160 Załóżmy, że masz nową wiadomość w Gmailu konto, ale tylko w ten sposób przez 526 00:23:24,160 --> 00:23:26,510 Można zobaczyć, że ma, na przykład, przeładowania całej strony. 527 00:23:26,510 --> 00:23:29,030 Albo przypuśćmy, że klikniesz na Link do czytania wiadomości e-mail. 528 00:23:29,030 --> 00:23:31,600 >> Wszystko musi przeładować tak które można zobaczyć e-mail. 529 00:23:31,600 --> 00:23:33,380 Lub Facebook-- otrzymasz wiadomość czatu. 530 00:23:33,380 --> 00:23:36,000 Nie widać go, dopóki nie przeładować strona lub kliknij jakiś link. 531 00:23:36,000 --> 00:23:38,380 >> Jak byłoby to strasznie irytujące doświadczenie użytkownika. 532 00:23:38,380 --> 00:23:41,300 I to jest, jak to było, wyraźnie, z powrotem, kiedy wpadłem na UC 533 00:23:41,300 --> 00:23:44,760 i był znacznie mniej internetowej dynamiczne i JavaScript nie był tak spopularyzowany 534 00:23:44,760 --> 00:23:45,601 jak jest teraz. 535 00:23:45,601 --> 00:23:47,850 I rzeczy są coraz dużo bardziej dynamiczny i bardziej 536 00:23:47,850 --> 00:23:49,900 po stronie klienta w tym sensie. 537 00:23:49,900 --> 00:23:54,370 >> Ale jest tu haczyk, a jest to rodzaj irytujące Gotcha. 538 00:23:54,370 --> 00:23:58,720 Tylko dlatego, że dodasz stronie klienta Wykrywanie jak to nie znaczy, 539 00:23:58,720 --> 00:24:01,430 można lub należy zrezygnować Wykrywanie po stronie serwera. 540 00:24:01,430 --> 00:24:04,080 Można zasadniczo Chcesz umieścić Sprawdzanie błędów w obu miejscach. 541 00:24:04,080 --> 00:24:05,830 Bo to, co było jednym lekcji nauczył 542 00:24:05,830 --> 00:24:10,270 z artykułu czytałem jakieś fragmenty od tej głupiej CMS system-- 543 00:24:10,270 --> 00:24:14,410 Content Management System-- że był wdrażania swojego systemu uwierzytelniania, 544 00:24:14,410 --> 00:24:16,790 jego pośrednictwem jakiego mechanizmu logowania? 545 00:24:16,790 --> 00:24:19,515 546 00:24:19,515 --> 00:24:20,469 JavaScript. 547 00:24:20,469 --> 00:24:21,499 >> Publiczność: JavaScript. 548 00:24:21,499 --> 00:24:23,290 David J. MALAN: JavaScript, dokładnie, tak? 549 00:24:23,290 --> 00:24:24,610 Został za pomocą JavaScript. 550 00:24:24,610 --> 00:24:27,120 I dosłownie, macie grał trochę prawdopodobnie 551 00:24:27,120 --> 00:24:28,700 z Chrome Inspektora. 552 00:24:28,700 --> 00:24:30,890 I czy mogę go znaleźć, sprawdź element. 553 00:24:30,890 --> 00:24:33,670 >> Pozwól mi przejść do zrobienia wszystkie opcje Chrome. 554 00:24:33,670 --> 00:24:37,080 I to jest, jak łatwo jest, aby wyłączyć JavaScript w przeglądarce. 555 00:24:37,080 --> 00:24:38,950 Sprawdź, nie więcej JavaScript. 556 00:24:38,950 --> 00:24:41,070 >> Więc w sprawiedliwości, wiele w internecie w dzisiejszych czasach 557 00:24:41,070 --> 00:24:43,430 jest po prostu się przełamać, bo Gmail i inne sites-- 558 00:24:43,430 --> 00:24:46,140 Facebook-- założyć, że JavaScript jest włączona. 559 00:24:46,140 --> 00:24:50,180 Ale jeśli robisz coś głupiego jak tylko walidacji wejścia użytkowników 560 00:24:50,180 --> 00:24:52,520 i sprawdzić ją, Błędy po stronie klienta, 561 00:24:52,520 --> 00:24:54,940 przeciwnik może łatwo to zrobić. 562 00:24:54,940 --> 00:24:57,180 A potem jeszcze mądrzejszy Przeciwnik jak wy 563 00:24:57,180 --> 00:25:01,120 teraz może użyć usługi Telnet lub zawijanie lub po prostu komendy wiersza poleceń 564 00:25:01,120 --> 00:25:05,300 i faktycznie wysyłania wiadomości do serwera że podobny błąd nie są sprawdzane. 565 00:25:05,300 --> 00:25:08,380 >> Więc to jest więcej Decyzja interfejs użytkownika 566 00:25:08,380 --> 00:25:13,060 niż jest rzeczywista techniczne improvement-- realizacji 567 00:25:13,060 --> 00:25:14,410 strona coś klient tak. 568 00:25:14,410 --> 00:25:16,800 Więc teraz szybki rzut oka, ale potem Ja odroczyć na spacer on-line 569 00:25:16,800 --> 00:25:17,674 dzięki za to. 570 00:25:17,674 --> 00:25:21,480 W postaci dwóch, faktycznie przeszedł i oczyścić kod trochę. 571 00:25:21,480 --> 00:25:23,650 Ale pozwól mi odroczyć do jednego z filmów my będziemy prawdopodobnie 572 00:25:23,650 --> 00:25:27,970 osadzenia w Pset8 że tylko pokazuje podobną składnię przy użyciu biblioteki nazwie 573 00:25:27,970 --> 00:25:32,320 jQuery, co jest bardzo, super popularna biblioteka w JavaScript 574 00:25:32,320 --> 00:25:34,510 że szczerze, większość ludzi wystarczy użyć tych dni 575 00:25:34,510 --> 00:25:37,070 a nawet mylić jako istota JavaScript sama. 576 00:25:37,070 --> 00:25:38,950 >> I wykazuje tendencję do obejmowania niektóre znaki dolara 577 00:25:38,950 --> 00:25:41,350 dokumentu i słowa kluczowe, takie jak w nawiasach tutaj. 578 00:25:41,350 --> 00:25:44,480 Ale znowu, chciałbym odroczyć do niektóre wolniej samouczki online 579 00:25:44,480 --> 00:25:46,750 zamiast się związany tylko w składni. 580 00:25:46,750 --> 00:25:48,630 Przejdźmy do coś trochę chłodniej 581 00:25:48,630 --> 00:25:50,520 w zakresie zastosowań tego. 582 00:25:50,520 --> 00:25:57,730 >> Tak w szczególności, pozwól mi odejść do przodu i otworzyć to tutaj. 583 00:25:57,730 --> 00:25:58,340 Chodź. 584 00:25:58,340 --> 00:25:59,380 Nie idziemy. 585 00:25:59,380 --> 00:26:01,500 >> Pozwól mi otworzyć ten obraz tutaj. 586 00:26:01,500 --> 00:26:03,450 Niepotrzebnie skomplikowane szuka, ale to 587 00:26:03,450 --> 00:26:07,880 opisuje techniki zwanej AJAX-- Asynchroniczny JavaScript i XML, w których 588 00:26:07,880 --> 00:26:10,530 X XML jest rzeczywiście Naprawdę już nie używane. 589 00:26:10,530 --> 00:26:13,430 To coś ma tendencję do korzystania inny nazwie JSON. 590 00:26:13,430 --> 00:26:16,560 >> Ale tutaj jest jak coś Google Maps lub Google Earth działa. 591 00:26:16,560 --> 00:26:18,060 Spróbujmy tego w locie, faktycznie. 592 00:26:18,060 --> 00:26:21,590 Pozwólcie mi iść do przodu i otworzyć się na przeglądarce Chrome. 593 00:26:21,590 --> 00:26:26,236 >> I pozwól mi iść do, powiedzieć, maps.google.com. 594 00:26:26,236 --> 00:26:29,260 595 00:26:29,260 --> 00:26:31,930 I rzeczywiście, jeśli jesteś stary Wystarczy pamiętać, co, 596 00:26:31,930 --> 00:26:35,600 jak, MapQuest było jak z powrotem w dzień, a może nadal działać w ten sposób. 597 00:26:35,600 --> 00:26:38,870 Kiedy używane do wyszukiwania something-- 33 Oxford Street, Cambridge, Mass, 598 00:26:38,870 --> 00:26:40,650 zróbmy this-- was faktycznie, jeśli Ciebie 599 00:26:40,650 --> 00:26:43,000 chciał pan się i w dół, w lewo iw prawo, 600 00:26:43,000 --> 00:26:44,920 chcesz wyglądać duża strzałka na górze, i to 601 00:26:44,920 --> 00:26:46,921 Chcesz pokazać innym Rama mapie tutaj. 602 00:26:46,921 --> 00:26:49,753 A może kliknąć w lewo i ci pójdzie tutaj, lub kolejne kliknięcie 603 00:26:49,753 --> 00:26:51,000 i chcesz przejść tutaj. 604 00:26:51,000 --> 00:26:53,000 Jednak zamiast nich dni, mamy oczywiście tylko 605 00:26:53,000 --> 00:26:55,970 przyjąć, że możemy iść dość szybko wokół Cambridge 606 00:26:55,970 --> 00:26:57,550 po prostu klikając i przeciągając. 607 00:26:57,550 --> 00:26:59,130 Ale zauważysz jakieś usterki. 608 00:26:59,130 --> 00:27:02,160 >> Jeśli mogę to zrobić na tyle szybko, co wydaje się dziać 609 00:27:02,160 --> 00:27:05,960 jak przeciągnąć zbyt szybko do komputera, aby nadążyć? 610 00:27:05,960 --> 00:27:07,160 Co widzisz? 611 00:27:07,160 --> 00:27:07,660 Tak. 612 00:27:07,660 --> 00:27:09,232 >> Publiczność: Piksele nie odświeżyć. 613 00:27:09,232 --> 00:27:10,940 David J. MALAN: pikseli nie odświeżyć. 614 00:27:10,940 --> 00:27:12,870 Jest actually-- i was widział to, rzeczywiście, 615 00:27:12,870 --> 00:27:15,360 podczas oglądania online i pauza to czy rzeczywiście spowalnia rzeczy w dół 616 00:27:15,360 --> 00:27:18,600 dla once-- zobaczysz, że istnieją płytki, kwadraty lub prostokąty, które 617 00:27:18,600 --> 00:27:22,040 brakuje mapie aż Ułamek sekundy później, więcej danych, 618 00:27:22,040 --> 00:27:24,390 więcej zdjęć faktycznie pojawi się na ekranie. 619 00:27:24,390 --> 00:27:29,810 I rzeczywiście, jeśli mamy to zrobić, patrząc się Chrome's-- powiedzmy, Chrome-- 620 00:27:29,810 --> 00:27:30,310 Zobaczmy. 621 00:27:30,310 --> 00:27:31,090 Nie możemy tego zrobić. 622 00:27:31,090 --> 00:27:31,860 >> Oh, sorry. 623 00:27:31,860 --> 00:27:34,761 Otwórzmy się maps.google.com. 624 00:27:34,761 --> 00:27:36,660 Pozwólcie, że jeszcze raz zrobić okno większe. 625 00:27:36,660 --> 00:27:38,836 >> Wróć do 33 Oxford Street. 626 00:27:38,836 --> 00:27:42,010 627 00:27:42,010 --> 00:27:43,760 Co było na stronie internetowej Byłem niedawno? 628 00:27:43,760 --> 00:27:46,440 Miałem to, jak, prywatny rant do sobie, że ja bym to natychmiastowy komunikat 629 00:27:46,440 --> 00:27:48,470 każdy przyjaciel kto był online którzy chcieli go słuchać. 630 00:27:48,470 --> 00:27:49,345 Jest jakaś strona internetowa. 631 00:27:49,345 --> 00:27:52,680 Myślę, że to Comcast-- tak bardzo duży amerykański ISP. 632 00:27:52,680 --> 00:27:56,355 Można, gdy logując się do nowego kabla Usługa modem lub usługi telewizji kablowej, 633 00:27:56,355 --> 00:27:59,230 mają postać bardzo przystępnej w którym poprosi o podanie adresu. 634 00:27:59,230 --> 00:28:01,450 I mają ten niesamowity funkcja o nazwie auto kompletne, 635 00:28:01,450 --> 00:28:04,600 jak Google, które zaczyna się zapełniać w odpowiedzi na pytanie. 636 00:28:04,600 --> 00:28:08,090 >> Problemem jest to, że auto kompletne zrobić na pierwszych rzeczy, które podczas pisania. 637 00:28:08,090 --> 00:28:12,890 Więc jeśli zaczniesz pisać w 33 go, pokaże, dosłownie każdy dom 638 00:28:12,890 --> 00:28:15,790 w Ameryce, który rozpoczyna o numerze 33 639 00:28:15,790 --> 00:28:17,920 przed przejściem do spodziewam się, aby wpisać więcej. 640 00:28:17,920 --> 00:28:20,660 Więc jeśli wpiszesz 33 Oxford, to pokazuje każdą ulicę 641 00:28:20,660 --> 00:28:24,726 w Ameryce, że ma 33 Oxford w jego nazwa, niezależnie od miasta 642 00:28:24,726 --> 00:28:25,350 że jesteś w. 643 00:28:25,350 --> 00:28:26,320 >> A następnie kontynuować pisanie. 644 00:28:26,320 --> 00:28:28,930 I wreszcie, to zdaje sobie sprawę, że nie są Oferta usług w Twoim domu w Cambridge 645 00:28:28,930 --> 00:28:29,920 lub coś w tym stylu. 646 00:28:29,920 --> 00:28:33,410 Ale chodzi o to, jest najbardziej asinine realizacja auto 647 00:28:33,410 --> 00:28:34,140 zakończyć kiedykolwiek. 648 00:28:34,140 --> 00:28:36,400 >> A ja po prostu się wyłącza na tej stycznej ponownie. 649 00:28:36,400 --> 00:28:39,040 Ale istnieją sposoby wykorzystać JavaScript i złe strony. 650 00:28:39,040 --> 00:28:40,750 I to niekoniecznie najlepszy. 651 00:28:40,750 --> 00:28:46,360 >> Ale chodzi tu, przed tym tyrady, było otwarcie narzędzia tutaj 652 00:28:46,360 --> 00:28:49,480 i otwarcie narzędzia programistyczne, jak już wcześniej zachęcał, 653 00:28:49,480 --> 00:28:52,840 i oglądać Network Zakładka jak klikam naprawdę szybko. 654 00:28:52,840 --> 00:28:55,400 I zauważyć całą masę z uzyskać prośby stało. 655 00:28:55,400 --> 00:28:57,310 Wszystko to stało się odkąd zaciągnął. 656 00:28:57,310 --> 00:29:00,170 >> I najprawdopodobniej rzeczywiście Wiele z tych wierszy 657 00:29:00,170 --> 00:29:04,060 teraz to obraz JPEG ukośnik Typy MIME lub typy zawartości. 658 00:29:04,060 --> 00:29:07,750 To dlatego, że to, co robi chrom za każdym razem kliknij i przeciągnij, kliknij 659 00:29:07,750 --> 00:29:11,650 i przeciągnąć, jest to wiedząc, oh, trzeba iść poprosić Google o płytki 660 00:29:11,650 --> 00:29:15,080 na mapie, która jest tutaj, szybko pobrać za pomocą protokołu HTTP, 661 00:29:15,080 --> 00:29:19,550 a następnie dodać go do tzw DOM do przeglądarek internetowych w drzewie pamięci 662 00:29:19,550 --> 00:29:24,430 reprezentacji tak, że użytkownik, mnie, widzi, że zaktualizowany płytki. 663 00:29:24,430 --> 00:29:26,795 A to z powodu technika zwana AJAX. 664 00:29:26,795 --> 00:29:28,920 Powrót w dzień, to naprawdę był przypadek, że jeśli 665 00:29:28,920 --> 00:29:33,050 chciał zmienić to, co jest na ekranie, trzeba by kliknąć w górę, w dół, w lewo, 666 00:29:33,050 --> 00:29:33,550 prawo. 667 00:29:33,550 --> 00:29:34,740 A potem nowa strona otworzy. 668 00:29:34,740 --> 00:29:36,531 Ale te dni, wszystko jest bardziej dynamiczna. 669 00:29:36,531 --> 00:29:40,490 Dzieje się to w sposób my, ludzie, by nadzieję, że to rzeczywiście będzie interaktywnie. 670 00:29:40,490 --> 00:29:43,210 I osiąga ten cel poprzez sposób w technice 671 00:29:43,210 --> 00:29:46,170 AJAX, który jest chyba najbardziej wyjaśnione na przykładzie. 672 00:29:46,170 --> 00:29:49,730 Po pierwsze, pozwól mi iść do przodu i otworzyć plik 673 00:29:49,730 --> 00:29:53,540 w nazwie quote.php dzisiejszy kod dystrybucji. 674 00:29:53,540 --> 00:29:56,200 >> I pozwól mi zrobić symbol-- okrzyki. 675 00:29:56,200 --> 00:30:02,399 Pozwól mi zrobić, symbol = GOOG na tylko jakiś czas. 676 00:30:02,399 --> 00:30:04,440 Albo rzeczywiście, zróbmy jeden z Pset darmo. 677 00:30:04,440 --> 00:30:05,270 Enter. 678 00:30:05,270 --> 00:30:06,580 >> A teraz zauważyć, co wrócę. 679 00:30:06,580 --> 00:30:09,210 Więc to jest naprawdę Krótko mówiąc, że plik PHP 680 00:30:09,210 --> 00:30:13,210 napisał, że po prostu pożycza kod z funkcji wyszukiwania do Pset7 w 681 00:30:13,210 --> 00:30:17,830 i wypluwa pomocą tego nawias klamrowy i cytaty i notacja okrężnicy, najwyraźniej, 682 00:30:17,830 --> 00:30:22,747 bieżący stan cenę za firmy, które przechodzą przez GET. 683 00:30:22,747 --> 00:30:24,580 Więc to jest inna od większości tego, co mamy 684 00:30:24,580 --> 00:30:26,496 odbywa się w tym ogłoszeniu jestem dosłownie wypluwa 685 00:30:26,496 --> 00:30:27,870 co wygląda jak kod JavaScript. 686 00:30:27,870 --> 00:30:30,020 >> W rzeczywistości, jest to obiekt JavaScript. 687 00:30:30,020 --> 00:30:34,130 W rzeczywistości, po prostu być bardziej jasne, Obiekt JavaScript Notation-- JSON-- 688 00:30:34,130 --> 00:30:38,330 jest tylko fantazyjny sposób na powiedzenie, że Ciebie może reprezentować wiele danych w JavaScript 689 00:30:38,330 --> 00:30:41,660 jak można w PHP za pomocą pary wartość klucza. 690 00:30:41,660 --> 00:30:44,270 Więc gdybym chciał zadeklarować zmienne w JavaScript 691 00:30:44,270 --> 00:30:47,872 do reprezentuje Zamyla, dla instance-- struct dla Zamyla-- 692 00:30:47,872 --> 00:30:49,580 a my go nazywamy student, ta zmienna. 693 00:30:49,580 --> 00:30:53,060 Jej ID jest, dom jest Winthrop, a nazwa jest Zamyla. 694 00:30:53,060 --> 00:30:55,490 >> Ale mogę też mieć tablicę obiektów. 695 00:30:55,490 --> 00:30:58,710 Więc jeśli naprawdę chce mieć tablicy w JavaScript zawierający 696 00:30:58,710 --> 00:31:01,740 wiele takich obiektów, w tym Czas reprezentujących pracowników, 697 00:31:01,740 --> 00:31:04,910 Może mam te trzy fragmenty kodu Powrót 698 00:31:04,910 --> 00:31:08,560 z powrotem do tyłu na nich trzech byłych pracowników. 699 00:31:08,560 --> 00:31:12,201 Więc składnia, całkiem podobny do both-- do PHP. 700 00:31:12,201 --> 00:31:13,700 Ale jest to szczególnie JavaScript. 701 00:31:13,700 --> 00:31:15,940 To zapis obiektu. 702 00:31:15,940 --> 00:31:17,240 Więc co to jest przydatna? 703 00:31:17,240 --> 00:31:21,580 >> Jeśli piszę kod, który wypluwa JSON-- Obiekt JavaScript Notation-- rzeczy, które 704 00:31:21,580 --> 00:31:24,670 Wygląda na to, że to czy rzeczy wygląda struktura Zamyla, w 705 00:31:24,670 --> 00:31:27,730 Mogę właściwie to wykorzystać w programach piszę. 706 00:31:27,730 --> 00:31:30,660 Pozwólcie mi iść do ajax0.html. 707 00:31:30,660 --> 00:31:33,310 I to too-- niewiele myśli na estetyce. 708 00:31:33,310 --> 00:31:34,660 Ale obserwować co się dzieje. 709 00:31:34,660 --> 00:31:37,050 >> Pozwólcie mi iść do przodu i wpisz darmo tutaj. 710 00:31:37,050 --> 00:31:38,490 Kliknij uzyskać wycenę. 711 00:31:38,490 --> 00:31:41,060 I zauważyć URL nie zmienił. 712 00:31:41,060 --> 00:31:47,250 Ale ja się pop-up z pozornie dzisiejsza grosza cena akcji z 0,15 dolarów. 713 00:31:47,250 --> 00:31:49,062 Tak więc nie wszystko, co złe. 714 00:31:49,062 --> 00:31:52,020 Ale różnica jest taka, że ​​w jakiś sposób, dane wrócił do mnie bezpośrednio. 715 00:31:52,020 --> 00:31:54,250 Ale zróbmy krok w kierunku coś bardziej zaznajomieni. 716 00:31:54,250 --> 00:31:58,900 W jednej z wersji tego, pozwól mi wpisz darmo ponownie kliknij Pobierz ofertę, 717 00:31:58,900 --> 00:32:01,146 i now-- och, to było faktycznie wersja jQuery. 718 00:32:01,146 --> 00:32:03,270 Więc me-- ja nie do przodu dość wystarczająco daleko. 719 00:32:03,270 --> 00:32:05,830 Pozwól mi przejść do wersji dwa, czyli tam, gdzie chciałem. 720 00:32:05,830 --> 00:32:07,260 Zauważ, co zrobiłem tutaj. 721 00:32:07,260 --> 00:32:10,370 Mam internetowej page-- się super, prosta wersja dowolnej stronie internetowej 722 00:32:10,370 --> 00:32:14,260 dziś można korzystać z pola tekstowego tutaj za darmo, a potem najwyraźniej tylko 723 00:32:14,260 --> 00:32:14,880 tekst. 724 00:32:14,880 --> 00:32:16,860 >> To nie jest formularz tutaj, najwyraźniej. 725 00:32:16,860 --> 00:32:19,360 Ale jeśli kliknę się cytat, zauważyć moją stronę internetową 726 00:32:19,360 --> 00:32:22,760 ma się zmienić tak, jakbym właśnie dostałem nową wiadomość czatu 727 00:32:22,760 --> 00:32:25,360 albo tak, jakby po prostu przeniósł się mapy i potrzebne, aby uzyskać więcej danych 728 00:32:25,360 --> 00:32:29,220 dodany dynamicznie do strony internetowej bez zmiany adresu URL i użytkownika 729 00:32:29,220 --> 00:32:30,980 doświadczenie coraz przerwany. 730 00:32:30,980 --> 00:32:35,750 Rzeczywiście, jestem nadal na dokładnie to samo place-- ajax2.html. 731 00:32:35,750 --> 00:32:39,080 >> Więc spójrzmy tylko na tym przykładzie i zobaczyć, jak to się dzieje. 732 00:32:39,080 --> 00:32:42,490 Pozwólcie mi iść do ajax2.html. 733 00:32:42,490 --> 00:32:44,770 I zauważyć, pierwsza postać. 734 00:32:44,770 --> 00:32:47,092 >> Tu, jestem toczenia wyłączyć auto kompletne. 735 00:32:47,092 --> 00:32:48,800 Czasami robi się irytujące, gdy przeglądarka 736 00:32:48,800 --> 00:32:50,508 stara się pokazać, Cała historia. 737 00:32:50,508 --> 00:32:53,450 Więc można to zrobić w HTML przez tylko, że auto zakończyć się. 738 00:32:53,450 --> 00:32:57,290 >> Dałem ten tekst ostrości symbol-- raczej identyfikator symbolu. 739 00:32:57,290 --> 00:32:58,977 A teraz, jest to ciekawa opcja. 740 00:32:58,977 --> 00:33:01,310 Nie rozmawialiśmy o rozpiętości, ale można o tym myśleć 741 00:33:01,310 --> 00:33:03,177 jak znacznik ust lub div tagu. 742 00:33:03,177 --> 00:33:05,010 To, co się nazywa w linii elementu, który 743 00:33:05,010 --> 00:33:07,415 oznacza, że ​​nie będzie się paragraf złamać powyżej i poniżej niego. 744 00:33:07,415 --> 00:33:11,530 To właśnie dzieje się na pobyt w-line bez uderzając równowartość wejść. 745 00:33:11,530 --> 00:33:17,980 Więc dałem ten kawałek HTML zostać określony niepowtarzalny identyfikator 746 00:33:17,980 --> 00:33:20,130 że arbitralnie nazywa cena. 747 00:33:20,130 --> 00:33:21,560 I mam przycisk Wyślij. 748 00:33:21,560 --> 00:33:25,420 >> Bo teraz się here-- i to jest rzeczywiście bardzo niesamowite, jak mało kod 749 00:33:25,420 --> 00:33:27,660 możesz napisać do zrobienia stosunkowo czysty things-- 750 00:33:27,660 --> 00:33:31,800 zauważyć, co zrobiłem tutaj, jeśli I przejdź do głowy tej strony. 751 00:33:31,800 --> 00:33:34,970 Podaję pierwszy w moja głowa tagu script 752 00:33:34,970 --> 00:33:37,410 że rzeczywiście odwołuje Plik JavaScript gdzie indziej. 753 00:33:37,410 --> 00:33:39,702 To z organizacji że pisze jQuery, 754 00:33:39,702 --> 00:33:42,660 i to jest po prostu dając ostatni wersja ich biblioteki jQuery. 755 00:33:42,660 --> 00:33:46,305 >> Więc to jest trochę jak ostra to w C lub wymagają w PHP. 756 00:33:46,305 --> 00:33:48,900 Za pomocą znacznika script z atrybutem source. 757 00:33:48,900 --> 00:33:52,030 Ale teraz jest mój kod będzie się w tutaj. 758 00:33:52,030 --> 00:33:54,170 >> Zauważ, mam funkcję o nazwie wykresy. 759 00:33:54,170 --> 00:33:56,180 I wygląda na trochę tajemnicze na pierwszy rzut oka. 760 00:33:56,180 --> 00:33:57,305 Ale niech drażnić to od siebie. 761 00:33:57,305 --> 00:33:59,090 Daj mi zmienną URL. 762 00:33:59,090 --> 00:34:01,390 Przypisać go dosłownie ten ciąg. 763 00:34:01,390 --> 00:34:04,530 Tak więc, apostrofów, w cudzysłowy JavaScript po prostu daje mi łańcuch. 764 00:34:04,530 --> 00:34:06,900 Co oraz zrobić? 765 00:34:06,900 --> 00:34:08,199 Łączenie. 766 00:34:08,199 --> 00:34:12,610 >> Tak to już jest składnia jQuery który zajmuje trochę przyzwyczaić. 767 00:34:12,610 --> 00:34:18,310 Ale to po prostu oznacza, idź mi DOM węzeł, którego symbolem jest unikalny identyfikator. 768 00:34:18,310 --> 00:34:21,929 Hashtag nie oznacza Identyfikator unikalny symbol. 769 00:34:21,929 --> 00:34:24,929 >> Znak dolara w nawiasach oznacza jedynie, zawinąć to 770 00:34:24,929 --> 00:34:28,510 w jQuery rodzaj tajnych sosie tak uzyskać dodatkowe funkcje. 771 00:34:28,510 --> 00:34:31,880 A potem .val jest najwyraźniej Funkcja lub jak mówimy teraz, 772 00:34:31,880 --> 00:34:35,219 Metoda wewnątrz tego węzła że po prostu daje wartość. 773 00:34:35,219 --> 00:34:38,896 Tak w skrócie, brzydki i kłopotliwe jak to wygląda na pierwszy rzut oka, 774 00:34:38,896 --> 00:34:42,020 to po prostu oznacza się z użytkownikiem wpisany w umieścić go na końcu łańcucha 775 00:34:42,020 --> 00:34:42,880 przez złączenie go. 776 00:34:42,880 --> 00:34:43,739 To wszystko. 777 00:34:43,739 --> 00:34:46,070 >> Więc teraz, ostatnie trzy linie. 778 00:34:46,070 --> 00:34:48,690 Można wycisnąć dużo funkcjonalność z trzech linii. 779 00:34:48,690 --> 00:34:52,199 To znak dolara, jak na bok, to tylko pseudonim 780 00:34:52,199 --> 00:34:55,800 na specjalne zmiennej globalnej nazywa dosłownie jQuery. 781 00:34:55,800 --> 00:34:57,060 >> Znak dolara wygląda po prostu cool. 782 00:34:57,060 --> 00:35:00,080 Więc po prostu rodzaj wspólnoty jQuery z używali go jako ich specjalnym symbolem. 783 00:35:00,080 --> 00:35:02,470 To nie znaczy, co to oznacza w PHP. 784 00:35:02,470 --> 00:35:06,356 W JavaScript, znak dolara jest tak jak litery alfabetu 785 00:35:06,356 --> 00:35:07,480 lub numer zmiennej. 786 00:35:07,480 --> 00:35:09,000 >> Może po prostu trzeba go jak nazwa. 787 00:35:09,000 --> 00:35:09,770 Po prostu wygląda świetnie. 788 00:35:09,770 --> 00:35:11,890 Więc społeczności przyjęła go jako pseudonimu 789 00:35:11,890 --> 00:35:13,390 dla własnej biblioteki o nazwie jQuery. 790 00:35:13,390 --> 00:35:15,060 >> I jest to bardzo popularne. 791 00:35:15,060 --> 00:35:17,620 Więc JSON jest dokładnie to. 792 00:35:17,620 --> 00:35:19,920 Jest to funkcja, która Ludzie na jQuery napisał 793 00:35:19,920 --> 00:35:23,340 że dostaje JSON z server-- JavaScript Object Notation. 794 00:35:23,340 --> 00:35:25,680 Z tego, co to będzie adres URL aby uzyskać te informacje? 795 00:35:25,680 --> 00:35:27,790 Najwyraźniej z tego adresu tutaj. 796 00:35:27,790 --> 00:35:31,180 >> I co należy zrobić, jak przeglądarka szybko, jak to robi się z powrotem tę odpowiedź? 797 00:35:31,180 --> 00:35:36,500 I to jest magia AJAX, tak aby speak-- Asynchronous JavaScript w XML. 798 00:35:36,500 --> 00:35:41,320 Trudno zobaczyć z takim Prosty przykład jak mieliśmy tutaj. 799 00:35:41,320 --> 00:35:44,730 >> Ale to było w asynchroniczny poczucie, że mój kod przy 800 00:35:44,730 --> 00:35:48,530 wykonywane wysłał wiadomość do serwer idź mi JSON. 801 00:35:48,530 --> 00:35:51,340 I stało się bardzo szybko że dostałem odpowiedź. 802 00:35:51,340 --> 00:35:55,130 Ale co ciekawe jest to, że linii kodu nie powiesić mój komputer. 803 00:35:55,130 --> 00:35:56,550 >> Nie widzę ikony wirowania. 804 00:35:56,550 --> 00:35:59,200 I nie stracić Możliwość przenieść myszy. 805 00:35:59,200 --> 00:36:01,340 Moja przeglądarka faktycznie perfekcyjnie. 806 00:36:01,340 --> 00:36:06,290 >> Ponieważ sposób obsługuje JavaScript odpowiedź z serwera jest następujący. 807 00:36:06,290 --> 00:36:09,740 Zarejestrować, co można nazwać Funkcja zwrotna, która 808 00:36:09,740 --> 00:36:12,830 oznacza po prostu, hej, JavaScript. 809 00:36:12,830 --> 00:36:16,100 Po tym, jak serwer reaguje z JSON, 810 00:36:16,100 --> 00:36:18,750 zadzwoń tę anonimową funkcję. 811 00:36:18,750 --> 00:36:23,910 >> I proszę, przeszedł do tej funkcji cokolwiek ciąg serwer wypluć 812 00:36:23,910 --> 00:36:26,080 jako argument o nazwie dane. 813 00:36:26,080 --> 00:36:28,360 Tak więc, w innym słowy, Jestem montażu dynamicznie 814 00:36:28,360 --> 00:36:33,370 quote.php URL przekazując w ten Symbol jak wolny lub GOOG lub czymkolwiek innym, 815 00:36:33,370 --> 00:36:36,830 Jestem wtedy mówi JavaScript przejdź się, że adres URL. 816 00:36:36,830 --> 00:36:39,080 Pamiętaj, że w przeglądarce zamierza powrócić coś 817 00:36:39,080 --> 00:36:42,680 że wygląda jak widzieliśmy earlier-- to. 818 00:36:42,680 --> 00:36:45,940 >> A co drugi argument tutaj, aby uzyskać mówi JSON 819 00:36:45,940 --> 00:36:48,450 jest wywołać tę funkcję gdy serwer wraca 820 00:36:48,450 --> 00:36:52,440 czy to 10 milisekund od teraz lub 10 sekund od teraz. 821 00:36:52,440 --> 00:36:55,840 I tak szybko, jak to zrobić, dodać cenę do strony. 822 00:36:55,840 --> 00:36:58,030 To tutaj właśnie składnia oznacza, przejdź się węzeł 823 00:36:58,030 --> 00:37:01,940 z drzewa, którego unikalny identyfikator jest price-- tej rozpiętości widzieliśmy wcześniej. 824 00:37:01,940 --> 00:37:04,320 >> Ta metoda nazywa HTML po prostu mówi, iść wymienić 825 00:37:04,320 --> 00:37:08,770 HTML to nie z data.price. 826 00:37:08,770 --> 00:37:10,200 Co data.price? 827 00:37:10,200 --> 00:37:12,850 Cóż, przeglądarka, pamiętam, pokazał mi to wraca. 828 00:37:12,850 --> 00:37:14,540 Więc to jest dane. 829 00:37:14,540 --> 00:37:18,100 >> A więc jest to trochę tajemnicze zobaczyć przecinków tutaj. 830 00:37:18,100 --> 00:37:19,350 Ale w rzeczywistości, pozwól mi to zrobić. 831 00:37:19,350 --> 00:37:22,890 Pozwól mi tylko wkleić naprawdę szybko do gedit 832 00:37:22,890 --> 00:37:27,240 i pokazać, jak pokazaliśmy Struktura Zamyla za wcześniej. 833 00:37:27,240 --> 00:37:31,610 >> Jaki serwer wysyła z powrotem jest mały obiekt, który wygląda tak. 834 00:37:31,610 --> 00:37:37,140 I tak data.price jest po prostu daje mi 0,1515. 835 00:37:37,140 --> 00:37:39,310 Tak więc wiele ruchomych części tutaj wszystko na raz. 836 00:37:39,310 --> 00:37:41,860 >> Ale główne dania na wynos jest że mamy tę zdolność 837 00:37:41,860 --> 00:37:44,600 do dodatkowego protokołu HTTP wnioski za pomocą JavaScript 838 00:37:44,600 --> 00:37:46,090 bez konieczności przeładowania strony. 839 00:37:46,090 --> 00:37:49,580 I wtedy rzeczywiście możemy zmienić stronę na bieżąco. 840 00:37:49,580 --> 00:37:51,850 I okazuje się, że JavaScript i inne języki 841 00:37:51,850 --> 00:37:54,510 Teraz można stosować nie tylko mutować stron internetowych, 842 00:37:54,510 --> 00:37:57,960 ale faktycznie napisać oprogramowanie w rzeczywistej komputera 843 00:37:57,960 --> 00:38:00,240 nie tylko ograniczone do chrom lub podobne. 844 00:38:00,240 --> 00:38:03,530 >> W rzeczywistości, if-- Colton, prawda jak do nas dołączyć z powrotem tutaj 845 00:38:03,530 --> 00:38:06,100 z kodem laboratorium i Chang oraz? 846 00:38:06,100 --> 00:38:09,140 Idziemy do przodu, po mówił o Funkcje i wywołania zwrotne anonimowych 847 00:38:09,140 --> 00:38:13,090 i tu naprawdę kusić losu z demo z krwawieniem 848 00:38:13,090 --> 00:38:16,480 technologia, jeden z urządzenia te Elite ruchu. 849 00:38:16,480 --> 00:38:18,940 Teraz, to urządzenie, odwołanie, Jest to małe urządzenie USB 850 00:38:18,940 --> 00:38:25,620 oraz that-- to beautiful-- które podłącza się do portu USB. 851 00:38:25,620 --> 00:38:29,120 >> A następnie zapewnia, że ​​wejście w postaci ludzkich gestów 852 00:38:29,120 --> 00:38:32,560 poprzez wykrywanie za pomocą wiązek podczerwieni, zasadniczo, ruchy z twojego ramienia. 853 00:38:32,560 --> 00:38:35,150 Tak więc, podczas gdy to, co Maria próbowała na wcześniej był muskularny, 854 00:38:35,150 --> 00:38:39,000 rzeczywiście czuje, co się zmienia twoja ręka, to jest podczerwień oparte. 855 00:38:39,000 --> 00:38:44,390 Tak to wygląda dla ruchów w rodzaj sferze stóp lub tak 856 00:38:44,390 --> 00:38:46,190 samego urządzenia. 857 00:38:46,190 --> 00:38:48,950 >> Więc dlaczego nie biorę stab na ten pierwszy? 858 00:38:48,950 --> 00:38:53,100 I niech śmiało rzucać można się na narzut. 859 00:38:53,100 --> 00:38:56,250 Więc postawmy laptopa Colton jest tutaj. 860 00:38:56,250 --> 00:38:58,360 Mamy Andrew telewizora. 861 00:38:58,360 --> 00:39:00,160 A co chcesz mi zrobić w pierwszej kolejności? 862 00:39:00,160 --> 00:39:02,409 >> COLTON: Idź przed siebie i po prostu połóż dłonie na tego faceta 863 00:39:02,409 --> 00:39:04,430 a zobaczysz jakiś wspaniały blask. 864 00:39:04,430 --> 00:39:07,230 >> David J. MALAN: Bardzo ładny. 865 00:39:07,230 --> 00:39:11,110 To wszystko dzieje się w czasie rzeczywistym. 866 00:39:11,110 --> 00:39:11,889 OK. 867 00:39:11,889 --> 00:39:12,680 Wszystko w porządku, i yep. 868 00:39:12,680 --> 00:39:14,119 Tak miło. 869 00:39:14,119 --> 00:39:15,410 Dobrze, co jeszcze możemy zrobić? 870 00:39:15,410 --> 00:39:17,900 >> COLTON: Przejdź do następnego ekranu i zobaczyć. 871 00:39:17,900 --> 00:39:19,136 >> David J. MALAN: Wszystko w porządku. 872 00:39:19,136 --> 00:39:21,780 >> COLTON: zabawna gra gdzie masz do roboty. 873 00:39:21,780 --> 00:39:24,738 >> David J. MALAN: Wszystko w porządku, więc to jest fałszywe ręce pokazując mi, co robić. 874 00:39:24,738 --> 00:39:27,920 COLTON: Tak więc śmiało i złapał jednego z bloków 875 00:39:27,920 --> 00:39:30,637 i umieścić ją na szczycie ciała tego robota. 876 00:39:30,637 --> 00:39:32,137 David J. MALAN: Och, nie moja ręka. 877 00:39:32,137 --> 00:39:34,000 Och. 878 00:39:34,000 --> 00:39:34,780 OK, urocza. 879 00:39:34,780 --> 00:39:37,500 880 00:39:37,500 --> 00:39:38,650 Chwileczkę, OK. 881 00:39:38,650 --> 00:39:41,320 Nie idziemy. 882 00:39:41,320 --> 00:39:43,590 >> COLTON: Zrobiłem jeden na wypadek. 883 00:39:43,590 --> 00:39:45,423 >> David J. MALAN: OK, będę się tego faceta. 884 00:39:45,423 --> 00:39:45,923 Niech to szlag! 885 00:39:45,923 --> 00:39:48,467 886 00:39:48,467 --> 00:39:51,550 Kiedy byliśmy uprawiania tego ostatniego noc, wiesz co to przekazane do? 887 00:39:51,550 --> 00:39:54,285 >> Tak. 888 00:39:54,285 --> 00:39:55,490 OK. 889 00:39:55,490 --> 00:39:55,990 Następny? 890 00:39:55,990 --> 00:39:56,860 >> COLTON: Jasne. 891 00:39:56,860 --> 00:39:58,818 >> David J. MALAN: Dobra, a tam trzeci. 892 00:39:58,818 --> 00:40:01,130 893 00:40:01,130 --> 00:40:01,674 Dobrze. 894 00:40:01,674 --> 00:40:03,215 COLTON: I w tym jednego, otrzymasz to-- 895 00:40:03,215 --> 00:40:04,923 David J. MALAN: Och, Ten jest piękny. 896 00:40:04,923 --> 00:40:06,650 COLTON: --yeah, wybrać poza ten kwiat. 897 00:40:06,650 --> 00:40:07,441 David J. MALAN: OK. 898 00:40:07,441 --> 00:40:11,170 899 00:40:11,170 --> 00:40:11,670 Nie? 900 00:40:11,670 --> 00:40:14,515 Przegapić. 901 00:40:14,515 --> 00:40:15,570 >> COLTON: Och, proszę. 902 00:40:15,570 --> 00:40:18,680 >> David J. MALAN: Ach, spójrz na to. 903 00:40:18,680 --> 00:40:19,830 Bardzo ładne. 904 00:40:19,830 --> 00:40:22,470 Cóż, dlaczego nie "bierzemy z jednego wolontariusza tutaj 905 00:40:22,470 --> 00:40:24,180 którzy chcieliby przyjść na górę. 906 00:40:24,180 --> 00:40:27,500 Jak się tam w zieleni, to jest? 907 00:40:27,500 --> 00:40:30,540 >> Wszystko w porządku, i niech have-- zamiast robić, że niektórzy z was 908 00:40:30,540 --> 00:40:34,590 może znać tę grę here-- przeciąć linę, może? 909 00:40:34,590 --> 00:40:35,100 Zobaczmy. 910 00:40:35,100 --> 00:40:37,320 Mamy tu okulary? 911 00:40:37,320 --> 00:40:38,625 >> OK. 912 00:40:38,625 --> 00:40:39,270 Dziękuję. 913 00:40:39,270 --> 00:40:39,380 Jak się nazywasz? 914 00:40:39,380 --> 00:40:40,350 >> Publiczność: Laura. 915 00:40:40,350 --> 00:40:41,266 >> David J. MALAN: Laura? 916 00:40:41,266 --> 00:40:42,120 Miło widzieć. 917 00:40:42,120 --> 00:40:45,600 Jeśli nie masz nic przeciwko wprowadzenie Google Glass na okulary. 918 00:40:45,600 --> 00:40:46,970 To Colton. 919 00:40:46,970 --> 00:40:47,650 >> COLTON: Cześć. 920 00:40:47,650 --> 00:40:48,140 Miło Pana poznać. 921 00:40:48,140 --> 00:40:49,600 >> David J. MALAN: OK, chodź dookoła. 922 00:40:49,600 --> 00:40:52,516 W porządku, więc co masz zamiar tu zrobić, po zagraniu tego wcześniej, 923 00:40:52,516 --> 00:40:55,650 kładzie rękę na Leap Motion tutaj. 924 00:40:55,650 --> 00:40:57,210 A teraz twoja strzałka powinna ruszyć. 925 00:40:57,210 --> 00:40:57,710 Och, nope. 926 00:40:57,710 --> 00:40:58,066 >> Publiczność: Nie. 927 00:40:58,066 --> 00:40:58,780 >> David J. MALAN: My nie chce jednak zrezygnować. 928 00:40:58,780 --> 00:40:59,280 OK, czekaj. 929 00:40:59,280 --> 00:41:01,200 Tutaj. 930 00:41:01,200 --> 00:41:03,530 Więc zauważyć, jak trzymać palec na coś, 931 00:41:03,530 --> 00:41:06,750 mysz zaczyna iść zielony, co jest jak klikniesz. 932 00:41:06,750 --> 00:41:08,980 >> Więc najechaniu na Play. 933 00:41:08,980 --> 00:41:10,970 I tylko jeden palec jest w porządku. 934 00:41:10,970 --> 00:41:13,869 A teraz kliknij na trochę zielony facet z lewej strony. 935 00:41:13,869 --> 00:41:15,410 A teraz trzymaj, aż wypełni się na zielono. 936 00:41:15,410 --> 00:41:15,640 Dobra. 937 00:41:15,640 --> 00:41:16,990 Teraz, jak, jeden poziom w górę szczycie. 938 00:41:16,990 --> 00:41:20,190 >> Publiczność: Tak, chcemy poziom jeden, tutaj. 939 00:41:20,190 --> 00:41:21,660 >> David J. MALAN: Dobra. 940 00:41:21,660 --> 00:41:25,500 OK, więc wszystko co musisz zrobić, to przeciąć linę. 941 00:41:25,500 --> 00:41:28,240 Kursor jest biały jeden na dole. 942 00:41:28,240 --> 00:41:28,880 >> Bardzo ładne. 943 00:41:28,880 --> 00:41:31,290 944 00:41:31,290 --> 00:41:32,790 W porządku, to o jeszcze trudniej. 945 00:41:32,790 --> 00:41:34,800 Tak trzymać palec obok teraz. 946 00:41:34,800 --> 00:41:37,370 947 00:41:37,370 --> 00:41:39,030 Dobra. 948 00:41:39,030 --> 00:41:39,999 To jedna ciężko. 949 00:41:39,999 --> 00:41:40,966 >> Publiczność: O cholera. 950 00:41:40,966 --> 00:41:41,466 OK. 951 00:41:41,466 --> 00:41:42,466 Chce iść w ten sposób. 952 00:41:42,466 --> 00:41:44,890 O cholera, that-- 953 00:41:44,890 --> 00:41:47,120 >> David J. MALAN: Tak. 954 00:41:47,120 --> 00:41:50,700 Celem drugorzędnym jest, aby wszystkie gwiazdy. 955 00:41:50,700 --> 00:41:53,920 Dobra, dalej. 956 00:41:53,920 --> 00:41:57,504 >> Zobaczymy, czy można dostać ten trzeci. 957 00:41:57,504 --> 00:41:58,004 Dobra. 958 00:41:58,004 --> 00:42:05,980 959 00:42:05,980 --> 00:42:06,840 OK, idź tam. 960 00:42:06,840 --> 00:42:08,850 >> Jasne. 961 00:42:08,850 --> 00:42:11,230 Och, bardzo ładne. 962 00:42:11,230 --> 00:42:11,930 Dobrze. 963 00:42:11,930 --> 00:42:13,534 >> Więc dlaczego nie możemy odroczyć tu dzisiaj? 964 00:42:13,534 --> 00:42:15,200 Niech ktoś przyjdzie na górę, kto chce grać. 965 00:42:15,200 --> 00:42:16,880 Dzięki tak dużo do Laury wolontariuszem. 966 00:42:16,880 --> 00:42:18,730 I zobaczymy w poniedziałek. 967 00:42:18,730 --> 00:42:21,190 >> Publiczność: Prawdopodobnie chcesz je z powrotem. 968 00:42:21,190 --> 00:42:23,640 >> GŁOŚNIK 2: Na następnym CS50-- 969 00:42:23,640 --> 00:42:35,222