1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [Seminarium] [Web Development: od pomysłu do realizacji] 2 00:00:02,500 --> 00:00:04,200 [Ben Kuhn] [Billy Janitsch] [Harvard University] 3 00:00:04,200 --> 00:00:07,250 [To jest CS50] [CS50.TV] 4 00:00:07,250 --> 00:00:10,840 [Billy] Cześć, jestem Billy i to jest Ben. >> [Ben] Witam. 5 00:00:10,840 --> 00:00:12,840 Mamy zamiar rozmawiać o rozwoju sieci dzisiaj. 6 00:00:12,840 --> 00:00:14,840 [Webdev] [Billy Janitsch i Ben Kuhn] 7 00:00:14,840 --> 00:00:16,840 Najpierw trochę o nas. 8 00:00:16,840 --> 00:00:19,590 Ben jest swego rodzaju zaplecza faceta. On sprawia, że ​​wszystko działa. 9 00:00:19,590 --> 00:00:21,870 A potem iść i się ich dość. 10 00:00:21,870 --> 00:00:26,610 Jestem w dużym stopniu zaangażowany w więcej frontonu projektowania układ typu rzeczy, 11 00:00:26,610 --> 00:00:31,260 i Ben, z drugiej strony, wie co robi, więc pracuje na back-end rzeczy. 12 00:00:31,260 --> 00:00:34,050 Wspólnie zrobiliśmy kilka rzeczy. 13 00:00:34,050 --> 00:00:38,710 Na przykład, w zeszłym roku pracowaliśmy nad Gimblium który jest on-line, studio rozwoju gier. 14 00:00:38,710 --> 00:00:40,400 To był nasz ostateczny projekt dla klasy, 15 00:00:40,400 --> 00:00:42,780 i od tego czasu zrobiliśmy Harvard Class 16 00:00:42,780 --> 00:00:47,860 Ramy, które jest do przeglądania on-line i kursach handlowych na Harvardzie. 17 00:00:47,860 --> 00:00:53,180 >> Mamy zamiar zacząć z tym pomysłem na naszej stronie internetowej. 18 00:00:53,180 --> 00:00:57,480 Jedziemy do Facebook, ale dla kotów. 19 00:00:57,480 --> 00:00:59,520 Przed rzeczywiście zrobić z tej strony, 20 00:00:59,520 --> 00:01:02,520 nie rób z tej strony, bo to nie jest dobre, ale użyjemy go jako ramy 21 00:01:02,520 --> 00:01:05,349 i przejść przez proces, w jaki sposób wykorzystać tę ideę 22 00:01:05,349 --> 00:01:07,450 i przekształcić go w prawdziwy stronie internetowej możemy wykorzystać. 23 00:01:07,450 --> 00:01:11,940 Zaczniemy od zerwania stronę w dół. 24 00:01:11,940 --> 00:01:13,190 Jak robiłeś w CS50, 25 00:01:13,190 --> 00:01:17,360 warto pomyśleć o tym, co jest rzeczywiste elementy, które go do tej witryny. 26 00:01:17,360 --> 00:01:21,290 Zasadniczo obracając go od pomysłu, który jest po prostu swego rodzaju abstrakcyjne pojęcie 27 00:01:21,290 --> 00:01:23,590 do prawdziwego, namacalnego rzeczy, które można zrobić. 28 00:01:23,590 --> 00:01:25,910 Zaczynamy od pytania na kilka pytań. 29 00:01:25,910 --> 00:01:28,070 Co to jest strona internetowa? Dlaczego jesteśmy co to? 30 00:01:28,070 --> 00:01:30,670 Co to będzie używać? Tego typu rzeczy. 31 00:01:30,670 --> 00:01:33,660 W przypadku Facebooka Kot, 32 00:01:33,660 --> 00:01:37,730 my w zasadzie chcą strony internetowej, która pozwala koty sieci społecznych ze sobą. 33 00:01:37,730 --> 00:01:41,260 Pomysł jest, że mogą pisać na ścianach siebie nawzajem, 34 00:01:41,260 --> 00:01:43,510 mogą zgłaszać uwagi, tego rodzaju rzeczy. 35 00:01:43,510 --> 00:01:46,720 I w tym miejscu dochodzimy do elementów funkcjonalnych. 36 00:01:46,720 --> 00:01:51,270 Teraz mamy tego rodzaju ramy - mamy profile użytkowników, 37 00:01:51,270 --> 00:01:53,990 mamy komentarz, a my możemy odpowiedzieć. 38 00:01:53,990 --> 00:01:57,390 Być może pewnego dnia będziemy wpływający sympatie i tego typu rzeczy. 39 00:01:57,390 --> 00:02:00,410 A my niby chcą priorytety te funkcje, które wykraczają w. 40 00:02:00,410 --> 00:02:03,340 Chcemy powiedzieć, jak, dobrze, to naprawdę ważne, że każdy ma profil 41 00:02:03,340 --> 00:02:06,440 i że każdy może pisać na ścianach nawzajem. 42 00:02:06,440 --> 00:02:08,509 Wtórne do tego, komentarzy byłoby miło. 43 00:02:08,509 --> 00:02:10,180 Może później będziemy wpływający sympatie. 44 00:02:10,180 --> 00:02:13,700 Więc, chcesz mieć pomysł, co jest fundamentalne dla projektu 45 00:02:13,700 --> 00:02:17,260 a co jakby bardziej ogólnej funkcji, które mogą być stosowane później. 46 00:02:17,260 --> 00:02:20,870 Chcesz rodzaju mają określoną listę w pamięci, 47 00:02:20,870 --> 00:02:24,090 ale projekt, który rozpoczyna się nie będzie projekt, który zakończy się. 48 00:02:24,090 --> 00:02:27,100 Innymi słowy, wszystko się zmieni, gdy jesteś rozwój witryny, 49 00:02:27,100 --> 00:02:30,090 i chcesz, aby pozostawić miejsce na to. 50 00:02:30,090 --> 00:02:34,470 Oddam go do Bena, który zamierza porozmawiać trochę o strukturze. 51 00:02:34,470 --> 00:02:39,610 >> [Ben] Mam zamiar mówić o boku bardziej technicznego rozwoju internetowej. 52 00:02:39,610 --> 00:02:42,370 Chodźmy na niektórych podstaw pierwsza. 53 00:02:42,370 --> 00:02:45,730 Kiedy robisz aplikację, 54 00:02:45,730 --> 00:02:50,470 Główny podział, że masz zamiar mieć to 55 00:02:50,470 --> 00:02:52,700 będziesz mieć kilka rzeczy dzieje się po stronie klienta - 56 00:02:52,700 --> 00:02:56,700 to znaczy, że jesteś Kod przeglądarka wykonuje z witryny 57 00:02:56,700 --> 00:03:01,910 i JavaScript, HTML, CSS rzeczy. 58 00:03:01,910 --> 00:03:04,490 To wszystko po stronie klienta. 59 00:03:04,490 --> 00:03:08,680 Będziesz mieć inny kod, który działa po stronie serwera 60 00:03:08,680 --> 00:03:10,770 który śledzi wszystkie dane, które ludzie wysyłają do ciebie, 61 00:03:10,770 --> 00:03:15,060 decyduje, kto dać co, takie rzeczy. 62 00:03:15,060 --> 00:03:20,380 To tylko niektóre terminy tak, że chłopaki są znane z tego, co mówimy. 63 00:03:20,380 --> 00:03:28,600 Poza tym podziałem dobrze jest pomyśleć o swojej aplikacji internetowej w kategoriach 64 00:03:28,600 --> 00:03:32,500 Kilka różnych składników. 65 00:03:32,500 --> 00:03:35,270 Kiedy robisz tworzenie stron internetowych 66 00:03:35,270 --> 00:03:41,710 jedną z rzeczy, które należy zawsze staramy się robić to w celu zmniejszenia złożoności. 67 00:03:41,710 --> 00:03:45,710 Bardziej złożony kod jest większa szansa jest, aby błędy, 68 00:03:45,710 --> 00:03:47,710 trudniej jest zmienić później. 69 00:03:47,710 --> 00:03:50,140 Tak więc, jeśli można zerwać swoją aplikację do kilku odrębnych obszarów funkcjonalnych 70 00:03:50,140 --> 00:03:57,640 że będzie - i można zmniejszyć rodzaju ilości komunikacji cross-kierunkowym - 71 00:03:57,640 --> 00:04:03,530 że będzie Ci dużo w długim okresie w odniesieniu do zmniejszenia błędów. 72 00:04:03,530 --> 00:04:07,950 >> Być konkretne, zazwyczaj ludzie dzielą się na aplikację do - 73 00:04:07,950 --> 00:04:13,190 to rodzaj słowa buzz teraz, ale są nadal użyteczne. 74 00:04:13,190 --> 00:04:17,940 Może słyszeliście ludzie mówią o modeli, widoków i kontrolerów. 75 00:04:17,940 --> 00:04:23,210 Modele są rzeczywiste dane, że Twoja aplikacja będzie się zajmować. 76 00:04:23,210 --> 00:04:28,260 Na przykład, w swoim Cat Facebooka, Twoje modele będą - 77 00:04:28,260 --> 00:04:35,340 że masz model jak posty i model dla profili użytkowników, takie tam. 78 00:04:35,340 --> 00:04:41,090 Twoje poglądy są jak przedstawić te dane do swoich użytkowników. 79 00:04:41,090 --> 00:04:46,660 Może masz 1 widok na patrząc na jednym wątku i wszystkie komentarze 80 00:04:46,660 --> 00:04:51,720 i inny widok na ścianie, że ma listę wszystkich postów 81 00:04:51,720 --> 00:04:57,170 , które są skierowane do Ciebie, i inne spojrzenie na kanale wiadomości - takie rzeczy. 82 00:04:57,170 --> 00:05:00,610 Wreszcie masz sterowników, które są w zasadzie kiedy ludzie wysłać posty 83 00:05:00,610 --> 00:05:03,310 i dokonać aktualizacji do systemu back-end, 84 00:05:03,310 --> 00:05:06,400 można zwiększyć kilka liczników, a co. 85 00:05:06,400 --> 00:05:07,860 To są twoje kontrolery. 86 00:05:07,860 --> 00:05:11,030 >> Idę się mówić głównie o modelach. 87 00:05:11,030 --> 00:05:14,030 Poglądy nie są technicznie trudne i problem jest bardziej z ich projektowania 88 00:05:14,030 --> 00:05:22,040 Sterowniki będą specyficzne dla co jesteś projektowania. 89 00:05:22,040 --> 00:05:25,220 Ale jest kilka dość ogólnych technik można użyć 90 00:05:25,220 --> 00:05:30,220 aby Twoje modele ładniejsze i łatwiejsze do pracy z tym myślę, że są bardzo pomocne. 91 00:05:30,220 --> 00:05:35,860 Jest to najczęściej będzie o tym, jak radzić sobie z danych aplikacji internetowych w miły sposób. 92 00:05:35,860 --> 00:05:40,420 Główne problemy związane z modelami 93 00:05:40,420 --> 00:05:44,540 są, że żyją na kliencie i na serwerze i musisz dowiedzieć się, 94 00:05:44,540 --> 00:05:51,170 ) jak je zdobyć - wszystkie te właściwe - z serwera do klienta, 95 00:05:51,170 --> 00:05:53,440 oraz b) w jaki sposób, aby utrzymać je w synchronizacji. 96 00:05:53,440 --> 00:05:58,700 Użytkownicy będą chcieli wprowadzić kilka nowości. 97 00:05:58,700 --> 00:06:00,470 Oni chcieli, aby nowe posty. 98 00:06:00,470 --> 00:06:04,800 Oni będą chcieli jak rzeczy i rzeczy, jeśli masz upodobania. 99 00:06:04,800 --> 00:06:11,490 To są główne wyzwania techniczne czynienia z modelami. 100 00:06:11,490 --> 00:06:15,680 Pierwszą rzeczą, którą będziesz chciał zadać sobie 101 00:06:15,680 --> 00:06:18,420 jaki rodzaj danych idzie w tym modelu i jakie pytania będziemy chcieli zrobić - 102 00:06:18,420 --> 00:06:24,290 czyli jak będziemy patrzeć na modele? 103 00:06:24,290 --> 00:06:26,940 Dla kota Facebooku przykład 104 00:06:26,940 --> 00:06:31,520 Twój post będzie miał autor z nim związane, 105 00:06:31,520 --> 00:06:35,660 Ściana po jakiś tekst, a odbiorca postu ściennego. 106 00:06:35,660 --> 00:06:38,470 A potem możesz zapytać, że w kilka różnych sposobów. 107 00:06:38,470 --> 00:06:42,220 Co chcesz na to patrzeć przez który napisał która słupek, 108 00:06:42,220 --> 00:06:46,620 przez który otrzymał która zakładać, może przez daty ich opublikowania. 109 00:06:46,620 --> 00:06:50,340 Ale jeśli masz zamiar zrobić to teraz, to trzeba dodać kolejne pole do postu 110 00:06:50,340 --> 00:06:52,490 od kiedy to było rzeczywiście pisał. 111 00:06:52,490 --> 00:07:00,220 Te 2 czynniki - jakie dane chcesz użyć i jak chcesz go zobaczyć - 112 00:07:00,220 --> 00:07:04,200 warto pomyśleć o nich w pierwszej kolejności, ponieważ zależą one od siebie, 113 00:07:04,200 --> 00:07:08,030 i to będzie trudniejsze, aby dodać je później. 114 00:07:08,030 --> 00:07:12,750 >> Są też inne względy. 115 00:07:12,750 --> 00:07:17,540 Kiedy myślisz o tym, jak radzić sobie z modeli na serwerze 116 00:07:17,540 --> 00:07:20,540 to, co chcesz, aby spojrzeć na to - 117 00:07:20,540 --> 00:07:27,440 w zasadzie chcesz, aby serwer tak proste, jak to tylko możliwe. 118 00:07:29,440 --> 00:07:35,500 Robi rzeczy po stronie klienta jest na ogół znacznie szybciej, jeśli można to zrobić wyłącznie na kliencie 119 00:07:35,500 --> 00:07:38,230 bez wykonywania jakichkolwiek kryteriów sieci. 120 00:07:38,230 --> 00:07:47,860 Chodzi o to, aby zrobić jak wiele pytań, jak można na kliencie. 121 00:07:47,860 --> 00:07:51,560 Jedyny problem z tym 122 00:07:51,560 --> 00:07:54,160 jest to, że jeśli wniosek wszystkich danych na początek 123 00:07:54,160 --> 00:07:57,160 wtedy, że zajmie dużo czasu, aby załadować. 124 00:07:57,160 --> 00:08:02,290 Więc pomysł jest złoty środek pomiędzy posiadaniem wystarczającej ilości danych na kliencie 125 00:08:02,290 --> 00:08:07,640 że można zrobić większość pracy, ale nie tylko nie wszystko na raz ściągam 126 00:08:07,640 --> 00:08:09,710 tak, że masz bardzo powolny czas ładowania na początku. 127 00:08:09,710 --> 00:08:12,610 Na przykład, dla danych kot 128 00:08:12,610 --> 00:08:20,340 będzie prawdopodobnie chcesz pobrać kilka ostatnich postów ściennych. 129 00:08:20,340 --> 00:08:23,790 Nie chcesz, aby pobrać wszystkie z nich ze względu, że może wrócić na kilka lat. 130 00:08:23,790 --> 00:08:25,470 Ale ty nie chcesz, aby pobrać je jeden na raz 131 00:08:25,470 --> 00:08:28,740 bo to by wprowadzić wiele napowietrznych sieci. 132 00:08:28,740 --> 00:08:33,620 >> Jest to często bardzo trudne - skoro masz Uruchomienie bazy danych - 133 00:08:33,620 --> 00:08:37,210 to często bardzo trudne do zmiany, jakie dane trzeba w nim - 134 00:08:37,210 --> 00:08:40,510 czyli dodać nową kolumnę bazy danych lub coś - 135 00:08:40,510 --> 00:08:43,510 więc jedna dobra strategia jest właściwie tylko zachować dużo danych w blob tekstu - 136 00:08:43,510 --> 00:08:53,880 JSON blob - JSON jest JavaScript Object Notation - 137 00:08:53,880 --> 00:08:58,330 Dlatego, że jest przydatna, ponieważ wtedy można dodawać nowe właściwości 138 00:08:58,330 --> 00:09:01,920 aby wszystkie te plamy JSON bez zmiany bazy danych. 139 00:09:01,920 --> 00:09:06,860 Jedynym minusem jest to, że jeśli masz kilka pól 140 00:09:06,860 --> 00:09:09,890 że dodane później - jak ukryte w tym JSON blob - 141 00:09:09,890 --> 00:09:12,850 to jest to trudniejsze do kwerendy je w bazie danych. 142 00:09:12,850 --> 00:09:17,690 Na przykład, jeśli później - jeśli miał swój model postu, który omawialiśmy wcześniej 143 00:09:17,690 --> 00:09:25,380 z tylko autora, odbiorcy i tekst - 144 00:09:25,380 --> 00:09:29,000 może mieć również blob JSON a następnie, jeśli później chciałem dodać pole daty 145 00:09:29,000 --> 00:09:31,000 nie będzie musiał zmienić bazę danych. 146 00:09:31,000 --> 00:09:36,140 Możesz po prostu dodać daty do wszystkich pól tekstowych. 147 00:09:36,140 --> 00:09:39,640 I wtedy będzie można spojrzeć na te po stronie klienta, 148 00:09:39,640 --> 00:09:42,430 ale nie można sprawdzać je na stronie serwera 149 00:09:42,430 --> 00:09:44,430 ponieważ jest ukryty wewnątrz tego tekstu. 150 00:09:44,430 --> 00:09:49,920 >> Inna sprawa, że ​​warto pomyśleć o 151 00:09:49,920 --> 00:09:52,400 jest to, jak klient i serwer będą się komunikować. 152 00:09:52,400 --> 00:09:56,040 Zwykle chcą mieć to tak proste, jak to tylko możliwe. 153 00:09:56,040 --> 00:10:02,230 Możesz po prostu jak-me-to get żądanie danych, 154 00:10:02,230 --> 00:10:09,140 create-a-new-object rzecz i żądanie aktualizacji--stary obiekt. 155 00:10:09,140 --> 00:10:12,930 I to będzie wszystko być różne adresy URL na serwerze, który - 156 00:10:12,930 --> 00:10:20,030 że przeglądarka będzie - można użyć żądań AJAX dla wszystkich tych 157 00:10:20,030 --> 00:10:24,000 i albo odbierać lub dane POST. 158 00:10:24,000 --> 00:10:26,600 Ponownie, dla naszego kota Facebooku przykład 159 00:10:26,600 --> 00:10:32,350 można mieć ten adres URL, aby uzyskać indywidualne stanowisko, 160 00:10:32,350 --> 00:10:39,750 i chcesz mieć adres URL do tworzenia nowego posta ściany 161 00:10:39,750 --> 00:10:45,670 a może URL przesyłania obrazu profilu, takie rzeczy. 162 00:10:45,670 --> 00:10:51,730 Ale znowu, to jest pre-fetch większości danych, tak, że nie trzeba zachować 163 00:10:51,730 --> 00:10:53,360 żądania sieciowe. 164 00:10:53,360 --> 00:10:59,030 Z tego powodu może nie chcą mieć, że indywidualne żądanie GET do jednego postu, 165 00:10:59,030 --> 00:11:03,210 a zamiast tego chcesz tylko 1 Get wniosek o całej ściany. 166 00:11:03,210 --> 00:11:06,110 A potem, jeśli starasz się zachować równowagę, ponieważ - 167 00:11:06,110 --> 00:11:10,970 jest to również będzie zależeć od zastosowania. 168 00:11:10,970 --> 00:11:13,430 Bo jeśli spodziewasz się, że ludzie mają tylko 10 lub 20 wiadomości na tablicy 169 00:11:13,430 --> 00:11:15,430 że będzie dobrze. 170 00:11:15,430 --> 00:11:17,390 Ale jeśli spodziewasz oni mają tysiące wtedy, że wniosek będzie zbyt długo, 171 00:11:17,390 --> 00:11:23,580 i tak możesz dodać parametr dostać-wszystko-posty-od. 172 00:11:23,580 --> 00:11:26,580 >> Dla wszystkich z nich pewnie będzie chciał zsynchronizować dane w formacie JSON - 173 00:11:26,580 --> 00:11:29,260 JavaScript Object Notation. 174 00:11:29,260 --> 00:11:34,600 Prawie każdy język dotyczy JSON bardzo dobrze. 175 00:11:34,600 --> 00:11:40,880 JQuery ma ten miły funkcji getJSON, że zrobi wszystko, ciężkiej pracy dla Ciebie. 176 00:11:40,880 --> 00:11:47,390 I PHP jest również bardzo ładne funkcje komunikacyjne JSON. 177 00:11:47,390 --> 00:11:52,660 Tak, to jest to chyba najlepszy format do przesyłania modeli iz powrotem. 178 00:11:52,660 --> 00:11:56,570 >> Jako przykład tego, co mówiliśmy o tak daleko, 179 00:11:56,570 --> 00:12:00,520 oto przykład przepływu dla aplikacji Cat Facebooku. 180 00:12:00,520 --> 00:12:07,760 Zaczyna się z przeglądarką internetową bazą żądaniem URL. 181 00:12:07,760 --> 00:12:15,470 Serwer prawdopodobnie wyśle ​​na statyczny HTML i niektóre JavaScript i CSS. 182 00:12:15,470 --> 00:12:19,170 To najlepiej nie robić żadnych renderowania na serwerze. 183 00:12:19,170 --> 00:12:23,370 Prawdopodobnie nie chcesz - 184 00:12:23,370 --> 00:12:28,360 co serwer nie robi tam spada do wykazu punktów ściennych 185 00:12:28,360 --> 00:12:31,120 i generowania niektóre HTML dla każdego z nich i wysyłanie że ponad. 186 00:12:31,120 --> 00:12:34,960 To najlepiej zrobić to po stronie klienta, ponieważ w przeciwnym wypadku 187 00:12:34,960 --> 00:12:38,580 każdym razem, gdy chcesz, aby ponownie narysować coś, musisz złożyć wniosek do serwera. 188 00:12:38,580 --> 00:12:42,450 I to bardzo szybko daje dużo napowietrznych. 189 00:12:42,450 --> 00:12:47,430 To najlepiej po prostu statek zsyła statyczny HTML 190 00:12:47,430 --> 00:12:50,660 a następnie, JavaScript i CSS, które zrobi renderowania po stronie klienta. 191 00:12:50,660 --> 00:12:56,750 Tak szybko, jak to jest w rzeczy, 192 00:12:56,750 --> 00:13:03,500 to możesz mieć - w JavaScript - możesz zrobić wnioski dla danych ściany 193 00:13:03,500 --> 00:13:08,740 i takie tam, i po tym serwer jest w zasadzie tylko robi zapytań do bazy danych 194 00:13:08,740 --> 00:13:10,740 i sprawdzanie uprawnień. 195 00:13:10,740 --> 00:13:16,690 Jedyną ważną rzeczą jest to, że nie można wysyłać na kilka innych użytkowników wiadomości na tablicy 196 00:13:16,690 --> 00:13:19,220 że nie wolno nam zobaczyć. 197 00:13:19,220 --> 00:13:28,050 To może w zasadzie być bardzo cienka warstwa dostępu do bazy danych, 198 00:13:28,050 --> 00:13:32,820 a potem wszystko pokazując dane - wszystkie widoki i rzeczy - 199 00:13:32,820 --> 00:13:37,280 te mogą się zdarzyć w przeglądarce, a następnie, gdy chcesz zrobić post, czy coś 200 00:13:37,280 --> 00:13:40,000 wystarczy przesłać zapytanie. 201 00:13:40,000 --> 00:13:45,350 >> Jest też wymyślnej rzeczy można zrobić na szczycie tego. 202 00:13:45,350 --> 00:13:49,550 W kategoriach bardziej szczegółowych informacji technicznych, 203 00:13:49,550 --> 00:13:53,360 rozwija się w zwykły JavaScript może być trochę bolesne, 204 00:13:53,360 --> 00:13:56,220 więc jest kilka bibliotek i narzędzi, które pomogą Ci dużo z tym. 205 00:13:56,220 --> 00:14:03,690 Myślę, że wszyscy zapewne słyszeli o jQuery, która sprawia, że ​​robi renderowania HTML 206 00:14:03,690 --> 00:14:08,890 i manipulacji wiele łatwiej - mają wiele funkcji fantazyjne dla blaknięcie i obecnie, 207 00:14:08,890 --> 00:14:12,020 i robi zippy animacje. 208 00:14:12,020 --> 00:14:13,720 Jest też biblioteka ta nazywa Underscore.js. 209 00:14:13,720 --> 00:14:20,760 Posiada wiele przydatnych funkcji użytkowych, rzeczy, które można oczekiwać obsługa JavaScript, żeby mieć 210 00:14:20,760 --> 00:14:24,740 że tak naprawdę czyż - takie rzeczy jak tasowanie tablicy, 211 00:14:24,740 --> 00:14:28,900 usuwanie duplikatów z listy, lub spłaszczenie listę list. 212 00:14:28,900 --> 00:14:30,900 To tylko mała próbka kodu. 213 00:14:30,900 --> 00:14:36,520 Podkreślenia ma mnóstwo tych miłych funkcji, które chcesz to masz cały czas. 214 00:14:36,520 --> 00:14:38,840 >> A potem jest jeszcze 1. Biblioteka, że ​​chciałbym, aby spędzić trochę czasu na 215 00:14:38,840 --> 00:14:44,800 Kręgosłup nazywany Backbone.js bo naprawdę pomaga radzić sobie z modeli na stronie klienta 216 00:14:44,800 --> 00:14:47,210 i wiele zamieszania, że ​​może to powodować. 217 00:14:47,210 --> 00:14:53,550 Kręgosłup daje to pojęcie modeli i kolekcji 218 00:14:53,550 --> 00:14:58,300 w JavaScript, które są w zasadzie tak samo jak obiekty JavaScript 219 00:14:58,300 --> 00:15:04,900 w tablicy JavaScript ale mają wydarzenia podczas zmiany ich właściwości. 220 00:15:04,900 --> 00:15:09,090 Podobnie jak w JavaScript, możesz mieć zdarzenie, gdy przycisk zostanie kliknięty lub coś 221 00:15:09,090 --> 00:15:14,800 te modele i kolekcje Backbone Backbone będzie nadawać takie rzeczy jak 222 00:15:14,800 --> 00:15:17,510 że gdy zmienia. 223 00:15:17,510 --> 00:15:22,270 Oznacza to, że można po prostu napisać coś takiego fragmentu kodu tutaj - 224 00:15:22,270 --> 00:15:27,530 to mówi, kiedy tylko coś dodać do tablicy posty można przerysować całą ścianę. 225 00:15:27,530 --> 00:15:34,270 A to znaczy, gdy liczba tych z posterunku m.in. zmienia, 226 00:15:34,270 --> 00:15:38,970 powiadomić użytkownika, że ​​ktoś lubił swoje stanowisko. 227 00:15:38,970 --> 00:15:45,210 Lub gdy wszelkie właściwość postu zmienia Ci przerysować w słupek. 228 00:15:45,210 --> 00:15:51,050 Takie rzeczy pozwoli Ci zaoszczędzić mnóstwo komplikacji, bo inaczej 229 00:15:51,050 --> 00:15:55,440 jeśli nie masz jakiegoś frameworka takiego jak to potem za każdym razem, w kodzie, że zmiany 230 00:15:55,440 --> 00:16:04,280 nic o stanowisku, że trzeba pamiętać samemu wywołać wszystkie funkcje czynią 231 00:16:04,280 --> 00:16:07,680 i takie tam, a jeśli chcesz dodać coś nowego, co się stało 232 00:16:07,680 --> 00:16:10,680 każdym razem, gdy modyfikacja stanowiska trzeba było przejść przez każdego miejsca w swoim 233 00:16:10,680 --> 00:16:14,610 Kod, który został zmodyfikowany post i dodać, że nowe rzeczy. 234 00:16:14,610 --> 00:16:21,450 Ramy tak usunie dużo tej warstwy komunikacji między- 235 00:16:21,450 --> 00:16:28,280 sprawia, że ​​kompleks kod i trudne do utrzymania. 236 00:16:28,280 --> 00:16:31,170 >> Jest trochę o widoki również. 237 00:16:31,170 --> 00:16:35,960 Zamierzam opuścić większość to Billy, bo nie są one technicznie bardzo trudne. 238 00:16:35,960 --> 00:16:43,540 Użyj jQuery dla swoich poglądów. To praktycznie jak konieczność w tym momencie. 239 00:16:43,540 --> 00:16:46,290 To właśnie sprawia, że ​​wszystko o wiele łatwiej. 240 00:16:46,290 --> 00:16:48,290 Istnieje wiele bibliotek. 241 00:16:48,290 --> 00:16:49,970 Jeśli skomplikowane elementy interfejsu użytkownika, 242 00:16:49,970 --> 00:16:57,250 jeśli chcesz coś autouzupełniania lub jak jeden z tych fantazyjnych multi-selektorów - 243 00:16:57,250 --> 00:17:04,790 jeśli chcesz coś takiego, należy pewnie szukać wokół 244 00:17:04,790 --> 00:17:08,130 i można znaleźć dobre biblioteki, które będą robić to, co chcesz. 245 00:17:08,130 --> 00:17:11,579 Billy wyjaśni więcej o rzeczywiście trudnych częściach poglądów. 246 00:17:11,579 --> 00:17:17,530 Ponadto, jak marginesie, Kręgosłup ma jakieś funkcje do tworzenia wywołań komunikować 247 00:17:17,530 --> 00:17:22,800 ładnie z modeli - spójrz na dokumentacji wszystkich tych bibliotek, faktycznie. 248 00:17:22,800 --> 00:17:28,270 Wystarczy spojrzeć na docs. Są bardzo dobrze napisane i łatwe do naśladowania. 249 00:17:28,270 --> 00:17:33,890 Ogólnie rzecz biorąc, można dość dużo tylko Google, jeśli masz problemy. 250 00:17:33,890 --> 00:17:36,370 Istnieje wiele osób, wykorzystując je. 251 00:17:36,370 --> 00:17:42,020 Myślę, że to jest w końcowej nocie. 252 00:17:42,020 --> 00:17:48,770 >> Istnieją również bardziej zaawansowane rzeczy, które możesz zrobić 253 00:17:48,770 --> 00:17:53,400 jeśli szukasz, aby Twoja aplikacja internetowa extra super. 254 00:17:53,400 --> 00:17:59,760 Można zrobić - nowa specyfikacja HTML5 ma wiele fantazyjnych rzeczy można zrobić. 255 00:17:59,760 --> 00:18:05,780 Lokalna pamięć - co można przechowywać dane w przeglądarce - 256 00:18:05,780 --> 00:18:09,470 zamiast wrócić i czytać serwera na wszystko, 257 00:18:09,470 --> 00:18:12,470 można zachować niektóre z nich na kliencie i pozwala nawet ludziom - 258 00:18:12,470 --> 00:18:20,850 w niektórych przypadkach może nawet pozwalają użyć strony internetowej w trybie offline. 259 00:18:20,850 --> 00:18:26,980 Jest to coś, co nazywa WebSockets które są różne rodzaje komunikacji sieciowej 260 00:18:26,980 --> 00:18:30,930 gdzie zamiast po prostu zrobić jeden wniosek, uzyskać odpowiedź i to wszystko, 261 00:18:30,930 --> 00:18:35,240 zachować otworzyć połączenie z serwerem i tak można robić takie rzeczy jak 262 00:18:35,240 --> 00:18:37,240 aktualizacje w czasie rzeczywistym. 263 00:18:37,240 --> 00:18:42,020 Tak więc, jeśli starali się zrobić aplikację czatu, możesz użyć WebSockets 264 00:18:42,020 --> 00:18:43,790 komunikować się w tę iz powrotem, tak że nie będzie musiał utrzymać zainteresowanie, 265 00:18:43,790 --> 00:18:48,410 "Och, serwer, czy ktoś wysłać mi porozmawiać?" co 10 sekund, czy coś. 266 00:18:48,410 --> 00:18:55,620 Istnieje również interesującą cechą HTML5 gdzie można upozorować 267 00:18:55,620 --> 00:18:58,340 URL strony zmienia się bez konieczności faktycznie załaduj ponownie. 268 00:18:58,340 --> 00:19:03,230 Możesz użyć przycisków Wstecz i Dalej, nie robiąc kilka zapytań sieciowych. 269 00:19:03,230 --> 00:19:14,660 Rzeczy, jak to jest naprawdę użyteczne z punktu widzenia zarówno szybki, ale również działa jak aplikacja internetowa powinna. 270 00:19:14,660 --> 00:19:17,680 >> Jest to również coś, co nazywa CoffeeScript. 271 00:19:17,680 --> 00:19:24,450 CoffeeScript jest inny język, w rzeczywistości, że kompiluje się do JavaScript. 272 00:19:24,450 --> 00:19:30,080 Można by napisać cały kod w CoffeeScript, a następnie uruchomić ten kompilator, 273 00:19:30,080 --> 00:19:33,300 i wypluwa plik JavaScript, który można zawierać na swojej stronie internetowej. 274 00:19:33,300 --> 00:19:38,860 Dlatego, że jest ładna to CoffeeScript ponieważ pozbywa się wielu 275 00:19:38,860 --> 00:19:44,760 dziwne przypadki, że JavaScript ma gdzie taniej równych, 276 00:19:44,760 --> 00:19:51,130 i wynosi równe robić różne rzeczy, lub jak - 277 00:19:51,130 --> 00:19:55,740 ma ładniejszy składnię czynienia z tablic i funkcji. 278 00:19:55,740 --> 00:20:00,460 To jest trochę fragment CoffeeScript że tworzy listę wszystkich kwadratów 279 00:20:00,460 --> 00:20:04,900 od 2 do 10 ^ 1 ^ 2, w odwrotnej kolejności. 280 00:20:04,900 --> 00:20:08,410 Jak widać, CoffeeScript często pozwala wyrazić w 1 linii 281 00:20:08,410 --> 00:20:10,890 co by się 5 linii kodu JavaScript. 282 00:20:10,890 --> 00:20:13,230 Może to zrobić rzeczy o wiele łatwiejsze. 283 00:20:13,230 --> 00:20:15,390 To trochę nowej składni, aby dowiedzieć się, w pierwszym, 284 00:20:15,390 --> 00:20:18,010 ale na pewno sprawi, że będziesz bardziej wydajne w dłuższej perspektywie. 285 00:20:18,010 --> 00:20:22,050 >> Można również korzystać z innych języków na serwerze niż PHP - 286 00:20:22,050 --> 00:20:27,570 języki, takie jak Ruby, Python, lub jest nawet projekt o nazwie node.js 287 00:20:27,570 --> 00:20:31,450 które pozwoli na korzystanie z JavaScript na serwerze. 288 00:20:31,450 --> 00:20:34,700 Osobiście, ja naprawdę, naprawdę nienawidzę PHP. 289 00:20:34,700 --> 00:20:38,310 Ja po prostu nie lubię pracować z nim. 290 00:20:38,310 --> 00:20:43,450 Jeżeli ty też, że to jest okropne cluge języka, 291 00:20:43,450 --> 00:20:46,160 można użyć jednego z nich, zamiast. 292 00:20:46,160 --> 00:20:54,780 W ogóle, jeśli chcesz coś zrobić, a tak naprawdę nie wiem, jak można to zrobić, 293 00:20:54,780 --> 00:20:56,780 wystarczy poszukać w Internecie. 294 00:20:56,780 --> 00:20:59,990 Istnieje mnóstwo i mnóstwo zasobów, zwłaszcza na - 295 00:20:59,990 --> 00:21:03,260 StackOverflow jest świetny. 296 00:21:03,260 --> 00:21:06,400 To jest ta strona, gdzie programiści zadać sobie nawzajem pytania. 297 00:21:06,400 --> 00:21:09,690 Być może uruchomić do niego, jeśli były problemy w zestawach problemowych CS50. 298 00:21:09,690 --> 00:21:16,820 I jest mnóstwo bibliotek dla robić prawie wszystko, co chcesz. 299 00:21:16,820 --> 00:21:21,710 Jeśli chcesz coś zrobić, a nie wiesz jak to zrobić, 300 00:21:21,710 --> 00:21:23,710 nie zakładaj, że to jest niemożliwe. 301 00:21:23,710 --> 00:21:26,160 Wystarczy rozejrzeć się wokół i można znaleźć kilka dobrych zasobów. 302 00:21:26,160 --> 00:21:29,280 >> Jak ogólnie zakończyć, 303 00:21:29,280 --> 00:21:33,650 Główne dania na wynos jest zachować rzeczy proste. 304 00:21:33,650 --> 00:21:36,010 Bardziej złożony kod jest na początku 305 00:21:36,010 --> 00:21:40,370 i więcej spróbować zrobić wymyślnych rzeczy, 306 00:21:40,370 --> 00:21:43,300 dłużej trwa, żeby coś rzeczywiście funkcjonalne 307 00:21:43,300 --> 00:21:46,480 i trudniej będzie zmieniać później. 308 00:21:46,480 --> 00:21:49,580 Tak, robić rzeczy głupie, w łatwy sposób pierwszy. 309 00:21:49,580 --> 00:21:51,720 , Aby przejść wraz z tym, 310 00:21:51,720 --> 00:21:59,070 nie bój się wyrzucać starego kodu lub czyszczenia go dużo. 311 00:21:59,070 --> 00:22:05,320 W ogóle, kiedy rzeczywiście coś pracy, 312 00:22:05,320 --> 00:22:09,640 jest dużo łatwiej myśleć niż gdy jesteś jeszcze w początkowych etapach 313 00:22:09,640 --> 00:22:12,610 w jaki sposób mogę umieścić to wszystko razem. 314 00:22:12,610 --> 00:22:17,500 Najlepiej, aby najgłupszy możliwy projekt, który działa 315 00:22:17,500 --> 00:22:22,270 a następnie poprawić to iteracyjnie niż próbuje wszystko dobrze za pierwszym razem. 316 00:22:22,270 --> 00:22:28,330 Pod względem podziału klient-serwer, spróbować utrzymać serwer bardzo prosta - 317 00:22:28,330 --> 00:22:33,030 tylko bazy danych, a niektóre uwierzytelniania i nie zrobić tam żadnej ciężkiej pracy. 318 00:22:33,030 --> 00:22:37,540 Czy wszystkie swoje skomplikowane rzeczy po stronie klienta w przeglądarce 319 00:22:37,540 --> 00:22:40,650 w JavaScript tak dużo, jak to możliwe. 320 00:22:40,650 --> 00:22:43,420 Rozejrzyj się wokół bibliotek, które czynią życie lepszym. 321 00:22:43,420 --> 00:22:46,850 Zawsze lepiej jest używać kodu, który napisał ktoś inny 322 00:22:46,850 --> 00:22:49,850 jeśli - i nie to napisać samemu. 323 00:22:49,850 --> 00:22:57,560 Jest wiele rzeczy w Internecie. Google jest twoim najlepszym przyjacielem. 324 00:22:57,560 --> 00:22:59,560 Google jest najlepszym przyjacielem programisty. 325 00:22:59,560 --> 00:23:07,620 Tak, na pewno nie bój się rozejrzeć za rzeczy. 326 00:23:07,620 --> 00:23:11,860 Dobrze. I ponad Billy'emu. 327 00:23:11,860 --> 00:23:14,600 >> [Billy] Właściwie, zanim zacznę z jakimś wzorem rzeczy, 328 00:23:14,600 --> 00:23:17,250 Czy ktoś ma jakieś pytania do Bena o niczym, że mówił o? 329 00:23:17,250 --> 00:23:20,290 Dobra, dobra. 330 00:23:20,290 --> 00:23:22,220 Ponownie, daj nam znać, jeśli coś nie jest jasne, 331 00:23:22,220 --> 00:23:25,420 lub jeśli chcesz nam przejść nad czymś nieco więcej. 332 00:23:25,420 --> 00:23:30,330 Zamierzam cofnąć trochę i mówić o bardziej podstawowych elementów konstrukcji. 333 00:23:30,330 --> 00:23:34,840 Ben wspomniano model o nazwie - przepraszam, widok kontroler model systemu 334 00:23:34,840 --> 00:23:38,520 który jest rodzajem aspekcie technicznym, więc będę patrzeć poglądów specjalnie, 335 00:23:38,520 --> 00:23:42,930 i mam zamiar zacząć jak chcesz zaprojektować, że ładnie wygląda. 336 00:23:42,930 --> 00:23:50,540 Oto rodzaj naprawdę podstawowego szablonu dla naszej Cat Facebooku. 337 00:23:50,540 --> 00:23:54,190 Myślę, że są pewne podstawy w nowoczesny design UI 338 00:23:54,190 --> 00:23:56,190 które są warte podnoszenia. 339 00:23:56,190 --> 00:23:58,210 Można zauważyć, że jest dużo białej przestrzeni całej strony, 340 00:23:58,210 --> 00:24:00,790 dużo miejsca na rzeczy. 341 00:24:00,790 --> 00:24:02,580 Nie czuję się jak trzeba zgnieść rzeczy na stronę. 342 00:24:02,580 --> 00:24:06,700 Chcesz zostawić dużo miejsca otwarte, a jeśli się do prawie każdej nowoczesnej strony internetowej 343 00:24:06,700 --> 00:24:08,380 zobaczysz tam biały wszędzie. 344 00:24:08,380 --> 00:24:10,380 Jest biały w miejscach nie można spodziewać. 345 00:24:10,380 --> 00:24:14,570 Masz tę paletę kolorów, i to jest mądry na początku 346 00:24:14,570 --> 00:24:17,880 wybrać paletę kolorów, że masz zamiar pracować i rozwijać się. 347 00:24:17,880 --> 00:24:22,250 Także - pomaga wybrać krój pisma, a w ten sposób jesteś w rodzaju pracy z 348 00:24:22,250 --> 00:24:24,450 te konkretne podstawy projektowania. 349 00:24:24,450 --> 00:24:26,910 Masz swój typ, masz swoje kolory, a następnie można rodzaj 350 00:24:26,910 --> 00:24:29,380 pasuje wszystko inne w miarę potrzeb. 351 00:24:29,380 --> 00:24:37,710 Tak, jak powiedziałem, z kolorów chcesz używać odważniejsze kolory swojej kolorystyce 352 00:24:37,710 --> 00:24:40,320 oszczędnie. Nagłówki są ładne. Przyciski są miło mieć naprawdę duże, krzykliwe kolory. 353 00:24:40,320 --> 00:24:43,710 Ale w ogóle, jeśli masz stronę internetową, która ma kolory wszędzie, 354 00:24:43,710 --> 00:24:47,250 wszystko wpatrując się w twarz, że wygląda po prostu bałagan, a to nie jest dobre. 355 00:24:47,250 --> 00:24:50,430 Chcesz ogólnie używać jasnych kolorów. 356 00:24:50,430 --> 00:24:52,890 Postaraj się, ponownie, wybrać całkiem spójną kolorystykę. 357 00:24:52,890 --> 00:24:56,640 Możesz mieć te małe plamy partii koloru - 358 00:24:56,640 --> 00:25:00,240 które mogą wyglądać całkiem ładny, ale chcesz ich używać dość oszczędnie. 359 00:25:00,240 --> 00:25:04,270 >> Jak powiedziałem, chcesz być minimalne. Mniej jest prawie zawsze bardziej. 360 00:25:04,270 --> 00:25:07,430 Jeśli coś można wyświetlać wyświetlić coś, czy nie, 361 00:25:07,430 --> 00:25:10,230 i jesteś rodzaju pewności, czy powinien być tam domyślnie - 362 00:25:10,230 --> 00:25:13,400 Prawdopodobnie jesteś najlepszy off pozostawiając ją. Zawsze możesz go dodać później. 363 00:25:13,400 --> 00:25:16,620 Tak, zachować rzeczy proste. 364 00:25:16,620 --> 00:25:19,510 Ale co najważniejsze, warto rozważyć wiele wzorów. 365 00:25:19,510 --> 00:25:23,520 Nie myśl, że w momencie tworzenia witryny, masz to w głowie, że masz zamiar 366 00:25:23,520 --> 00:25:26,310 sprawiają, że witryny w określony sposób, a to będzie wyglądać dokładnie tak, jak to. 367 00:25:26,310 --> 00:25:29,830 To będzie miał niebieski nagłówek na górze i niebieski pasek boczny 368 00:25:29,830 --> 00:25:32,670 a następnie pod-nagłówek żółty rzeczą. 369 00:25:32,670 --> 00:25:34,670 Chcesz mieć wiele szablonów. 370 00:25:34,670 --> 00:25:37,350 Możesz albo - jeśli jesteś dobry z Photo Shop, który można otworzyć i rodzaj 371 00:25:37,350 --> 00:25:39,600 projekt strony internetowej, jak chcesz go szukać. 372 00:25:39,600 --> 00:25:41,680 Jeśli nie, możesz po prostu użyć pióra i papieru, 373 00:25:41,680 --> 00:25:44,000 ale porysować się wiele wzorów. 374 00:25:44,000 --> 00:25:47,000 Chcesz po prostu mieć ustawić gdzie masz wiele różnych wzorów, 375 00:25:47,000 --> 00:25:50,810 i jeśli ktoś kończy pracę, to fajnie. 376 00:25:50,810 --> 00:25:53,370 Jeśli jedna kończy się w przypadku braku, to zawsze masz jeszcze do kogo się zwrócić. 377 00:25:53,370 --> 00:25:57,960 W ogóle, nie czujesz się jak powinno być ograniczone 378 00:25:57,960 --> 00:26:00,830 do jakiegokolwiek projektu początkowo zdecydować się na. 379 00:26:00,830 --> 00:26:04,420 Projekty są bardzo zróżnicowane, a część na znaczenie modelu 380 00:26:04,420 --> 00:26:09,480 zobacz kontroler systemu jest to, że można zamienić i obecnie różne widoki, które chcesz. 381 00:26:09,480 --> 00:26:13,510 Możesz kołysać DANE jeden sposób, a następnie podjąć decyzję, o, faktycznie, że nie działa tak dobrze. 382 00:26:13,510 --> 00:26:19,190 Myślę, że to trochę zbyt skomplikowane lub jest częścią tego, że nie jest tak naprawdę działa, 383 00:26:19,190 --> 00:26:22,150 więc jestem po prostu się całkowicie porzucić ten pogląd i swap w zupełnie nowym. 384 00:26:22,150 --> 00:26:24,790 Nadal możemy używać starych modeli i stare sterowniki. 385 00:26:24,790 --> 00:26:27,490 Możemy robić wszystko na serwer i klienta, jak my by wcześniej. 386 00:26:27,490 --> 00:26:32,850 Ale rzeczywista fala danych jak wyświetlany będzie nieco inny. 387 00:26:32,850 --> 00:26:35,840 >> O ile rzeczywiście realizacji projektu, który chcesz, 388 00:26:35,840 --> 00:26:39,330 skoro masz kilka wzorów naszkicował na papierze lub na Photo Shop lub cokolwiek, 389 00:26:39,330 --> 00:26:42,120 istnieje wiele narzędzi, które są udostępnione do Ciebie. 390 00:26:42,120 --> 00:26:45,700 Najpierw jesteś zaznajomiony z którym jest twój HTML, PHP, czy cokolwiek 391 00:26:45,700 --> 00:26:48,990 język używasz tylko do kodu statycznych stron na twojej witrynie. 392 00:26:48,990 --> 00:26:51,990 Pracowałeś dużo z HTML, który niby daje te tagi 393 00:26:51,990 --> 00:26:57,820 , które można umieścić rzeczy do, iw zasadzie jest to sposób organizacji treści. 394 00:26:57,820 --> 00:27:00,990 Na przykład, masz nagłówek tam, więc będziesz mieć tagu nagłówka, 395 00:27:00,990 --> 00:27:05,770 i to będzie mieć jakiś tekst wewnątrz niego, który prawdopodobnie będzie w innym znacznikiem. 396 00:27:05,770 --> 00:27:08,380 To masz pasek boczny może z kilku różnych połączeń, 397 00:27:08,380 --> 00:27:10,160 a te będą wszyscy być w oddzielnych znaczników. 398 00:27:10,160 --> 00:27:13,870 Tak więc, w zasadzie HTML w jego sercu jest sposób podziału strony, jak 399 00:27:13,870 --> 00:27:16,980 w końcu chcesz go sformatować. 400 00:27:16,980 --> 00:27:18,980 Więc jeszcze raz, widziałem, że przed. 401 00:27:18,980 --> 00:27:20,540 Jesteś bardzo wygodne z pracy z nim teraz 402 00:27:20,540 --> 00:27:23,120 biorąc pod uwagę, że zrobiłeś ostatni pset miejmy nadzieję, 403 00:27:23,120 --> 00:27:26,150 tak że powinno być żadnego problemu. 404 00:27:26,150 --> 00:27:31,280 >> Wtedy masz CSS, które w zasadzie obsługuje wszystkie aspekty projektowania statycznych. 405 00:27:31,280 --> 00:27:35,320 By obsłużyć wszystkie kolory, wszystkie położenia różnych elementów 406 00:27:35,320 --> 00:27:36,840 gdzie iść w stosunku do siebie, 407 00:27:36,840 --> 00:27:41,530 jak duże są, różne rodzaje pozycjonowanie, że masz - 408 00:27:41,530 --> 00:27:46,030 Innymi słowy, można mieć wszystko ustalone tak, że podczas przewijania w dół ich pobyt, 409 00:27:46,030 --> 00:27:48,700 czy można mieć rzeczy w stosunku do innych elementów. 410 00:27:48,700 --> 00:27:50,730 Wszystkie tego typu rzeczy jest w CSS. 411 00:27:50,730 --> 00:27:54,630 Ponadto, można robić różne ozdoby, można mieć kolory tekstu, 412 00:27:54,630 --> 00:27:56,630 efekty tekstowe, wszystkie tego rodzaju rzeczy. 413 00:27:56,630 --> 00:28:00,360 Ben dał naprawdę dobrą seminarium na ten ostatni weekend, 414 00:28:00,360 --> 00:28:04,450 i tak na pewno sprawdzić, czy masz zamiar robić jakieś wymyślne rzeczy z CSS. 415 00:28:04,450 --> 00:28:09,850 CSS3 jest rzeczywiście najnowsza wersja CSS, a to może zrobić wiele bardzo miłych rzeczy. 416 00:28:09,850 --> 00:28:14,750 Może zrobić gradienty, można mieć ładne, zaokrąglone narożniki, można zrobić wiele rzeczy, 417 00:28:14,750 --> 00:28:17,940 aby Twoja strona wyglądać bardziej nowoczesne i fantazyjne. 418 00:28:17,940 --> 00:28:22,150 >> Kolejnym narzędziem jest obsługa JavaScript i jQuery, które Ben mówił trochę o, 419 00:28:22,150 --> 00:28:24,150 ale ja się trochę dalej do. 420 00:28:24,150 --> 00:28:28,100 JavaScript, jak pracowałem z nim trochę, lub przynajmniej widział ją w wykładzie 421 00:28:28,100 --> 00:28:31,870 niby sposób dynamicznie robi rzeczy w HTML. 422 00:28:31,870 --> 00:28:35,950 HTML, jak wiesz, jest statyczna, więc skoro masz HTML nie można go modyfikować. 423 00:28:35,950 --> 00:28:40,050 Ale obsługa JavaScript, w pewnym sensie, jest to sposób, aby być w stanie modyfikować kod HTML. 424 00:28:40,050 --> 00:28:44,520 Więc można zrobić, i to jest super, ale obsługa JavaScript jest naprawdę ból pracować. 425 00:28:44,520 --> 00:28:49,050 To jest tak długa i tępy i zrobić nawet najprostszych rzeczy 426 00:28:49,050 --> 00:28:51,630 wymaga wiele linii kodu JavaScript. 427 00:28:51,630 --> 00:28:55,410 Tak, jQuery jest w zasadzie biblioteka JavaScript, która upraszcza wszystko. 428 00:28:55,410 --> 00:28:59,880 Mówi, dobrze, jeśli chcesz mieć pole kwadratu z lewej przyjść 429 00:28:59,880 --> 00:29:03,980 i nikną w stronę tak, że jest w środku, w JavaScript, który wziąłby - 430 00:29:03,980 --> 00:29:06,340 Nie wiem, o sto linii zrobić, i to będzie ból, 431 00:29:06,340 --> 00:29:10,540 i wyjdzie z jej nienawidzić wszystko o programowaniu WWW. 432 00:29:10,540 --> 00:29:15,380 JQuery w zasadzie mają dot-element na blaknięcie, czy coś takiego. 433 00:29:15,380 --> 00:29:18,580 Tak, bardzo, bardzo proste funkcje, które pozwolą Ci zrobić wszelkiego rodzaju fajne animacje 434 00:29:18,580 --> 00:29:20,580 i tego typu rzeczy. 435 00:29:20,580 --> 00:29:23,300 Inna rzecz, że te 2 są naprawdę dobre, jest po prostu robi rzeczy dynamicznych 436 00:29:23,300 --> 00:29:25,300 ze strony internetowej. 437 00:29:25,300 --> 00:29:28,370 Tak, a nie tylko o swoje strony HTML - który wyświetla pewne dane, ale w rzeczywistości nie 438 00:29:28,370 --> 00:29:32,130 niczego - JavaScript i jQuery pozwoli Ci mieć przyciski, które można kliknąć, 439 00:29:32,130 --> 00:29:37,960 i można przeciągać elementy i zmieniać kolejność ich i sortować je, i nowe elementy 440 00:29:37,960 --> 00:29:40,500 dodane lub usunięte. Możesz dodać-delete, tego typu rzeczy. 441 00:29:40,500 --> 00:29:44,570 Tak, jQuery ma mnóstwo fajnych rzeczy. 442 00:29:44,570 --> 00:29:48,840 I Vipul faktycznie daje seminarium na nim dzisiaj, jak sądzę, w wieku 5 rano, 443 00:29:48,840 --> 00:29:51,220 więc jeśli można trzymać się tak długo, że będzie - 5 lub 4? 444 00:29:51,220 --> 00:29:54,930 Cztery. Przepraszam. To rzeczywiście zaraz po tym, więc polecam 445 00:29:54,930 --> 00:29:56,680 przyklejania się do niego, jeśli możesz. 446 00:29:56,680 --> 00:30:00,180 JQuery jest bardzo, bardzo przydatne, a będziesz w stanie zrobić wiele bardzo miłych rzeczy z nim 447 00:30:00,180 --> 00:30:03,460 na prawie każdym projekcie tworzenia stron WWW. 448 00:30:03,460 --> 00:30:06,200 >> Teraz mam zamiar dostać się do rodzaju wyróżnieniem. 449 00:30:06,200 --> 00:30:08,210 Rozmawiałem w zasadzie o interfejsie użytkownika. 450 00:30:08,210 --> 00:30:11,510 Interfejs użytkownika jest tylko projekt strony. 451 00:30:11,510 --> 00:30:13,780 Ale jest jakby inna koncepcja, która ma doświadczenie użytkownika. 452 00:30:13,780 --> 00:30:15,900 Dwa bardzo różne. 453 00:30:15,900 --> 00:30:19,440 Interfejs jest na pewno częścią doświadczenia. 454 00:30:19,440 --> 00:30:21,340 Innymi słowy, gdy idziesz do miejsca, spojrzeć na interfejs. 455 00:30:21,340 --> 00:30:22,960 To część jak wystąpić na stronie. 456 00:30:22,960 --> 00:30:24,960 Ale doświadczenie użytkownika jest więcej. 457 00:30:24,960 --> 00:30:29,910 Interfejs użytkownika jest tym, co wrażenie, że użytkownik otrzymuje od swojej strony. 458 00:30:29,910 --> 00:30:31,910 Więc, oczywiście, interfejs jest częścią. 459 00:30:31,910 --> 00:30:35,340 I to jest na pewno niezbędna część, ale to nie jest wystarczające. 460 00:30:35,340 --> 00:30:38,790 Innymi słowy, jeśli masz ładny interfejs i jest ładny i kolorowy, a wszystko to, 461 00:30:38,790 --> 00:30:43,650 to świetnie, ale jeśli użytkownik przejdzie do witryny, widzi ładny wygląd i jest zdezorientowany 462 00:30:43,650 --> 00:30:47,060 wszystko, nie ma pojęcia, jak to zrobić wszystko, to oczywiście już się naprawdę 463 00:30:47,060 --> 00:30:48,930 słaba strona. 464 00:30:48,930 --> 00:30:50,930 To coś w rodzaju, w których doświadczenie użytkownika jest cala 465 00:30:50,930 --> 00:30:54,570 Zamierzam porozmawiać trochę o UX design - UX to skrót doświadczenia użytkownika - 466 00:30:54,570 --> 00:30:58,050 i niby w jaki sposób można upewnić się, że masz dobre doświadczenia użytkownika. 467 00:30:58,050 --> 00:31:04,330 Pierwszym punktem jest to, że można zaprojektować stronę internetową, gdzie użytkownik może zrobić wszystko, co 468 00:31:04,330 --> 00:31:06,820 że użytkownik może chce. 469 00:31:06,820 --> 00:31:08,940 Ale jeśli użytkownik nie może dowiedzieć się, jak zrobić te rzeczy - 470 00:31:08,940 --> 00:31:12,850 innymi słowy, jeśli użytkownik nie ma dobry pomysł, gdy udają się do miejsca, 471 00:31:12,850 --> 00:31:17,660 "Och, jeśli chcę, aby zaktualizować swój profil, a następnie kliknięciu przycisku, lub jeśli chcę zamieścić na 472 00:31:17,660 --> 00:31:20,850 czyjaś ściany, a następnie przejść do ich ściany i kliknij na małym polu. " 473 00:31:20,850 --> 00:31:24,410 Jeśli użytkownik nie wie, że, to w rzeczywistości nie mają skutecznie 474 00:31:24,410 --> 00:31:27,080 realizowane tę funkcjonalność w pełnym zakresie. 475 00:31:27,080 --> 00:31:30,900 Część realizacji funkcji jest to, że użytkownicy są rzeczywiście w stanie go używać. 476 00:31:30,900 --> 00:31:34,810 I może to być frustrujące - może zrobić stronę, a to może zrobić wszystkie rodzaje 477 00:31:34,810 --> 00:31:37,810 cudowne rzeczy, ale wtedy będziesz musiał go przetestować, a ludzie mówią: "Nie mogę tego zrobić. 478 00:31:37,810 --> 00:31:39,770 Dlaczego nie może tego zrobić? "I powiesz powrotem do nich, 479 00:31:39,770 --> 00:31:44,420 "Cóż, to może. Wystarczy przejść do menu rozwijanego 7th na to niejasne 480 00:31:44,420 --> 00:31:48,470 Strona, która występuje tylko przez link w prawym dolnym rogu strony "czy coś. 481 00:31:48,470 --> 00:31:50,430 Oczywiście, nie chcę tego. 482 00:31:50,430 --> 00:31:53,420 Chcesz to być jasne dla użytkowników, co oni mają robić, 483 00:31:53,420 --> 00:31:56,240 i powinien być prosty i intuicyjny nich. 484 00:31:56,240 --> 00:32:01,180 >> Inna sprawa, że ​​chcesz spróbować zrobić to, jeśli ktoś zamierza przejść do witryny 485 00:32:01,180 --> 00:32:05,520 i 9 na 10 razy do akcji, a 1 z 10 razy do akcji B, 486 00:32:05,520 --> 00:32:08,950 prawdopodobnie chcesz, aby skoncentrować swoje doświadczenia na działania A. 487 00:32:08,950 --> 00:32:12,240 Innymi słowy, chcesz zrobić to bardzo, bardzo jasne, jak to zrobić A. 488 00:32:12,240 --> 00:32:15,980 Powinien być z przodu i-Centrum - przejść do witryny, to widzę, oh, to właśnie tam. 489 00:32:15,980 --> 00:32:20,850 Natomiast B oczywiście chcesz być jasne, ale można go zostawić nieco więcej 490 00:32:20,850 --> 00:32:22,850 w tle. 491 00:32:22,850 --> 00:32:24,640 David daje dobry przykład tego, w wykładzie, 492 00:32:24,640 --> 00:32:26,640 który jest systemem Boston T. 493 00:32:26,640 --> 00:32:29,440 Kiedy idziesz do Boston T i chcesz kupić bilet, 494 00:32:29,440 --> 00:32:32,700 trzeba dostać się do 5 menu, zanim będzie można rzeczywiście kupić bilet 495 00:32:32,700 --> 00:32:37,130 do $ 2, 2,50 dolarów, czyli wartość, ile potrzeba, aby jeździć metrem 496 00:32:37,130 --> 00:32:39,130 w jednym kierunku. 497 00:32:39,130 --> 00:32:41,600 To jest problem, ponieważ większość ludzi, którzy są jazdy metrem 498 00:32:41,600 --> 00:32:44,880 prawdopodobnie po prostu chce iść do jednego miejsca, kupują bilet, wsiąść od razu. 499 00:32:44,880 --> 00:32:47,550 To nie ma sensu, że muszą przejść przez wiele różnych menu 500 00:32:47,550 --> 00:32:49,550 aby się tam dostać. 501 00:32:49,550 --> 00:32:51,760 Lepsze doświadczenie użytkownika byłoby szybkie przycisk na pierwszej stronie 502 00:32:51,760 --> 00:32:54,760 że po prostu mówi: "kupić bilet w jedną stronę", i że wprowadzenie standardu wszystkich 503 00:32:54,760 --> 00:32:58,550 wartości domyślne, a następnie, jeśli ktoś chce kupić inny bilet niż to, 504 00:32:58,550 --> 00:33:01,690 nadal, oczywiście, mają możliwość, ale już zoptymalizowany dla 505 00:33:01,690 --> 00:33:04,080 przypadku wspólnego użytku, które jest bardzo ważne. 506 00:33:04,080 --> 00:33:06,830 Możesz zobaczyć przykłady to na Facebooku, prawda? 507 00:33:06,830 --> 00:33:09,410 Jeśli pójdziesz do Facebooka i chcesz zamieścić status, 508 00:33:09,410 --> 00:33:11,710 to prawo w górę, która jest, co często chcą zrobić. 509 00:33:11,710 --> 00:33:14,730 Jak tylko wejść na stronę, można zrobić najbardziej typowych rzeczy, które 510 00:33:14,730 --> 00:33:16,730 chcesz zrobić. 511 00:33:16,730 --> 00:33:17,550 Jeśli chcesz zrobić trochę bardziej skomplikowane rzeczy, jak, 512 00:33:17,550 --> 00:33:21,070 że chcę iść do mojej przyjaciółki ścianie i umieścić obraz na nim - 513 00:33:21,070 --> 00:33:24,810 które będę chciał często, ale nie tak często, jak opublikowania aktualizacji statusu - 514 00:33:24,810 --> 00:33:28,200 tak w tym przypadku, to wpisz ich nazwę w polu u góry, kliknij na ich profilu, 515 00:33:28,200 --> 00:33:31,680 a następnie, nadal, to na samym szczycie nie raz stałam na ich profil. 516 00:33:31,680 --> 00:33:38,240 Ponownie, już zoptymalizowany w priorytecie przypadków najczęściej zastosowania. 517 00:33:38,240 --> 00:33:41,800 >> Kolejną ważną rzeczą jest to, że często ludzie jakby próbować obejść 518 00:33:41,800 --> 00:33:44,890 mówiąc, dobrze, więc zrobiłem stronę i ludzie napotykają dziwne, 519 00:33:44,890 --> 00:33:46,110 i to jest problem, prawda? 520 00:33:46,110 --> 00:33:49,210 Oczywiście, nie chcę ludzi mylić treścią mojej strony. 521 00:33:49,210 --> 00:33:53,210 Ale droga do rozwiązania, że ​​nie jest to coś co pojawi się mówiąc, 522 00:33:53,210 --> 00:33:55,290 hej, mam zamiar nauczyć się, jak korzystać z tej strony. 523 00:33:55,290 --> 00:33:58,130 Krok 1 - kliknij ten przycisk. Krok 2 - kliknij tutaj. 524 00:33:58,130 --> 00:34:03,080 Jasne, że to sposób wokół niego - jest to sposób, że można powiedzieć ludziom, co robić, ale to 525 00:34:03,080 --> 00:34:05,080 Naprawdę nie optymalny sposób. 526 00:34:05,080 --> 00:34:07,420 Jeśli pójdę do strony i nagle jestem bombardowany tym tutorialu, który mi mówi 527 00:34:07,420 --> 00:34:11,739 co robić i gdzie iść i to wszystko, to nie jest zabawa dla mnie. 528 00:34:11,739 --> 00:34:13,739 Nie jest to dobre doświadczenie dla mnie. 529 00:34:13,739 --> 00:34:17,130 Jest to rodzaj bólu. Chcę po prostu zacząć robić rzeczy. 530 00:34:17,130 --> 00:34:19,449 Ludzie idą do zamknięcia ich w oknie dialogowym, 531 00:34:19,449 --> 00:34:23,580 lub wyjść z samouczka, nie wiedzą, co robić, a potem narzekać, gdyż 532 00:34:23,580 --> 00:34:25,580 nie powiedzieli im, co robić. 533 00:34:25,580 --> 00:34:29,530 Sposobem rozwiązania to nie dając żadnego rodzaju samouczka lub kierunkach - 534 00:34:29,530 --> 00:34:31,530 coś w tym stylu. 535 00:34:31,530 --> 00:34:33,719 Jak można go uniknąć, na pewno chcesz, aby pokazać użytkownikowi, co robić 536 00:34:33,719 --> 00:34:36,429 tylko ze względu na charakter, jak strona jest określone. 537 00:34:36,429 --> 00:34:39,090 Innymi słowy, jeśli pójdę na Facebooku bez logowania, 538 00:34:39,090 --> 00:34:40,920 Pierwszą rzeczą, którą widzę na stronie głównej - 539 00:34:40,920 --> 00:34:44,480 to trochę pole logowania. Tak, duh. Mam do zalogowania się tam. 540 00:34:44,480 --> 00:34:48,030 Natomiast, gdybym poszedł z Facebookiem i musiałem kliknąć małą link na dole 541 00:34:48,030 --> 00:34:51,920 który powiedział: "zaloguj się", a reszta strony był tylko jakiś obraz czy coś, 542 00:34:51,920 --> 00:34:54,820 Naprawdę nie wiem, co robić, prawda? Chciałbym się mylić. 543 00:34:54,820 --> 00:34:58,590 Tak, to może mi powiedzieć, aby przejść na dół i kliknij przycisk, aby zalogować się, 544 00:34:58,590 --> 00:35:01,080 lub zaloguj się przycisk może być na samym szczycie, gdzie mam zamiar go zobaczyć. 545 00:35:01,080 --> 00:35:04,780 Chcesz być zawsze pokazuje użytkownikowi, co robić, 546 00:35:04,780 --> 00:35:06,750 i że powinien być nieodłączną częścią samej strony. 547 00:35:06,750 --> 00:35:09,880 >> Kiedy myślisz o wzory i przedrzeźniając się różne sposoby 548 00:35:09,880 --> 00:35:13,810 wyrażając swoją witrynę, na pewno chcesz, aby myśleć o tym, co użytkownicy będą 549 00:35:13,810 --> 00:35:19,380 robić i jak można pokazać im, co robić. 550 00:35:19,380 --> 00:35:23,530 Ostatnią rzeczą jest testowanie jest bardzo, bardzo ważne. 551 00:35:23,530 --> 00:35:27,400 Wspaniale jest znaleźć kogoś - dostać przyjaciela, kogoś, kogo nie znasz, nawet - 552 00:35:27,400 --> 00:35:30,420 kto nigdy nie widział miejsce przed korzystać z witryny. 553 00:35:30,420 --> 00:35:33,650 Ponieważ pracuję w miejscu przez kilka godzin, to już patrząc na niego, 554 00:35:33,650 --> 00:35:36,670 a wiesz dokładnie co robić, więc oczywiście masz zamiar testować 555 00:35:36,670 --> 00:35:39,520 rzeczy, że już pracują nad i, że wiesz pracę. 556 00:35:39,520 --> 00:35:42,680 Ale jeśli ktoś inny przyjdzie i wykorzystuje witrynę, nigdy nie używany, zanim, 557 00:35:42,680 --> 00:35:46,880 to wyjątkowe doświadczenie, bo masz kogoś, kto ma żadnej wiedzy 558 00:35:46,880 --> 00:35:51,530 z witryny idzie do niego, tak, że będziemy mieć skutecznie nie wiem, co robić 559 00:35:51,530 --> 00:35:54,890 lub jakie są obecne przypadków użycia dla nich. 560 00:35:54,890 --> 00:36:00,930 To świetnie. To jest wyjątkowy, ponieważ są one w zasadzie osoba z pustym dla umysłu. 561 00:36:00,930 --> 00:36:03,750 Mogą powiedzieć, czy coś jest niejasne lub niejasne. 562 00:36:03,750 --> 00:36:07,580 Mogą dać wyobrażenie o właśnie doświadczenie użytkownika z witryny jest. 563 00:36:07,580 --> 00:36:10,630 To może być bardzo trudno powiedzieć, że się, więc na pewno będę was zachęcać 564 00:36:10,630 --> 00:36:13,640 jak jesteś rozwijając swoje projekty - jeśli robisz projektów webowych - 565 00:36:13,640 --> 00:36:18,290 aby ludzie z tej witryny, jak już masz jakieś demo funkcjonalnej. 566 00:36:18,290 --> 00:36:25,330 >> Teraz mam zamiar powiedzieć trochę o tym, jak zarządzać projektem programistycznym. 567 00:36:25,330 --> 00:36:28,900 Przeszliśmy nad tym, jak można wykonać back-end technicznej strony, 568 00:36:28,900 --> 00:36:31,050 w jaki sposób można zaprojektować naprawdę dobrą stronę, 569 00:36:31,050 --> 00:36:34,150 i to jest świetne, jeśli pracujesz samodzielnie, ale - 570 00:36:34,150 --> 00:36:37,300 Nawet jeśli pracujesz samodzielnie, zwłaszcza jeśli pracujesz w zespole, 571 00:36:37,300 --> 00:36:39,580 zarządzanie projektami staje się dużym problemem. 572 00:36:39,580 --> 00:36:42,340 Masz jakby słyszał o zarządzaniu projektami w różnych formach od 573 00:36:42,340 --> 00:36:45,410 szkoły podstawowej, kiedy powiedziano nam pracę grupową. 574 00:36:45,410 --> 00:36:46,820 Trzeba współpracować, komunikować się, to wszystko. 575 00:36:46,820 --> 00:36:49,620 Że wszystko nadal obowiązuje tutaj, ale są pewne wyjątkowe okoliczności 576 00:36:49,620 --> 00:36:54,910 informatyka, że ​​chcesz być świadomy, i chcesz się upewnić, że dobrze obsłużyć. 577 00:36:54,910 --> 00:36:58,050 Porozmawiam najpierw trochę o zespole, że będziesz w w. 578 00:36:58,050 --> 00:37:03,280 To bardzo ważne, aby wybrać odpowiedni rozmiar zespołu, aby pracować na, 579 00:37:03,280 --> 00:37:05,890 i w ostatecznym projekcie Myślę, że masz możliwość wyboru 580 00:37:05,890 --> 00:37:08,610 od 1 do 4 osób, jeśli się nie mylę. 581 00:37:08,610 --> 00:37:12,050 Chcesz, aby upewnić się, że nie jesteś po prostu wybierając liczbę osób 582 00:37:12,050 --> 00:37:14,950 że chcesz pracować z powodu, że są twoimi przyjaciółmi. 583 00:37:14,950 --> 00:37:18,170 Chcesz wybrać zespół, który jest dobry rozmiar i że będzie to zadanie. 584 00:37:18,170 --> 00:37:22,700 Jest kompromis w posiadające więcej ludzi versus mniej ludzi. 585 00:37:22,700 --> 00:37:25,320 Jeśli masz więcej osób, oczywiście bardziej praca może być wykonywana 586 00:37:25,320 --> 00:37:28,450 bo masz dużo ludzi, dużo kodu, wiele pomysłów, 587 00:37:28,450 --> 00:37:29,870 i to jest wspaniałe. 588 00:37:29,870 --> 00:37:32,590 Ale to też wymaga dużo więcej zarządzania i wiele więcej komunikację. 589 00:37:32,590 --> 00:37:34,720 Innymi słowy, jeśli masz 4 osoby pracujące na tym samym projekcie 590 00:37:34,720 --> 00:37:39,200 i oni wszyscy edycji tego samego kodu, mniej lub bardziej, że wszelkiego rodzaju potrzeby wiedzieć 591 00:37:39,200 --> 00:37:40,920 co się dzieje, więc to wymaga - 592 00:37:40,920 --> 00:37:44,580 jeśli dodać kilka nowych funkcji, jakby powiedzieć ludziom - jestem dodając, 593 00:37:44,580 --> 00:37:48,510 Jestem zmienia to w ten sposób - szczególnie, jeśli dostanie się do bardzo głębokiego rzeczy 594 00:37:48,510 --> 00:37:52,730 jak modele i kontrolerów, które są rzeczywiście będzie wpływ na to jak strona działa. 595 00:37:52,730 --> 00:37:54,500 Cały zespół musi być świadomy, 596 00:37:54,500 --> 00:37:58,140 więc musisz upewnić się, że nie masz wyboru zbyt duży zespół, który będzie trudno 597 00:37:58,140 --> 00:37:59,970 do tego komunikatu. 598 00:37:59,970 --> 00:38:02,930 Ty też nie chcesz wybrać wystarczająco mały zespół, który nie zamierzasz 599 00:38:02,930 --> 00:38:06,250 być w stanie komunikować się, ponieważ jest to tylko ty. 600 00:38:06,250 --> 00:38:11,270 >> Kolejną rzeczą wymagającą rozważenia jest bilans, gdzie umiejętności ludzi są. 601 00:38:11,270 --> 00:38:14,350 To wspaniałe, jeśli wszyscy naprawdę dobrych programistów. 602 00:38:14,350 --> 00:38:17,050 Ale jeśli wszystkie osoby, back-end, to nie jest twoja strona będzie wyglądać bardzo dobre 603 00:38:17,050 --> 00:38:20,860 bo masz to wielkie bazy danych, i to nie super-szybkich zapytań - 604 00:38:20,860 --> 00:38:26,130 co jest - ale gdy idziesz do niego, to jak witryny z 1990 roku czerwony i niebieski 605 00:38:26,130 --> 00:38:30,370 wszędzie, a to nie jest dobre. 606 00:38:30,370 --> 00:38:34,210 Zauważ, że Ben i pracy w zespole są bardzo dobre, bo jestem jakby bardziej 607 00:38:34,210 --> 00:38:38,030 w przedniej, oboje w środku interakcji koniec, a Ben jest naprawdę dobry z back-end rzeczy, 608 00:38:38,030 --> 00:38:43,550 tak, że działa bardzo dobrze, bo możemy zaprojektować dowolną witrynę i zasadniczo otwory 609 00:38:43,550 --> 00:38:47,580 w tym miejscu, które muszą być wypełnione może być wypełniony przez każdą z nas, czy może jedno i drugie. 610 00:38:47,580 --> 00:38:50,210 Chcesz się upewnić, że nie ma żadnych dziur w swojej drużynie. 611 00:38:50,210 --> 00:38:51,180 Jest w porządku, jeśli nie trochę pokrywają. 612 00:38:51,180 --> 00:38:53,670 Innymi słowy, jeśli masz 2 osoby, które są zarówno dobre, z tylnym końcu, 613 00:38:53,670 --> 00:38:57,250 , które mogą być również dobre, ponieważ mogą pomóc sobie nawzajem z problemami 614 00:38:57,250 --> 00:38:58,820 że mają. 615 00:38:58,820 --> 00:39:02,590 To może być problem, jeśli masz tylko 1 osobę, która jest odpowiedzialna za pewną rzecz 616 00:39:02,590 --> 00:39:06,650 i prowadzą do problemu, więc chcę trochę pokrywają 617 00:39:06,650 --> 00:39:10,760 ale przede wszystkim chcą się upewnić, że wszystkie możliwe otwory są wypełnione. 618 00:39:10,760 --> 00:39:17,550 >> Ostatnia rzecz - i to powinno być oczywiste, ale często nie jest. 619 00:39:17,550 --> 00:39:19,550 Naprawdę chcesz się bawić. 620 00:39:19,550 --> 00:39:23,360 Celem tego projektu końcowego i często CS50 punkt rozwoju internetowej w ogóle 621 00:39:23,360 --> 00:39:26,360 nie jest po prostu wykonać zadanie, ponieważ musi robić. 622 00:39:26,360 --> 00:39:29,140 Naprawdę chcesz się bawić, i chcesz robić coś 623 00:39:29,140 --> 00:39:31,180 który jest motywowanie do pracy nad nią. 624 00:39:31,180 --> 00:39:33,650 Jeśli cokolwiek robisz jest ból usiąść i pracować, 625 00:39:33,650 --> 00:39:35,650 to nie jesteś w wyborze projektu. 626 00:39:35,650 --> 00:39:37,730 Chcesz się wybrać coś, co można znaleźć ciekawe, 627 00:39:37,730 --> 00:39:41,150 naprawdę chcesz zobaczyć wynik, jesteś podekscytowany, gdy pojawi się nowy pomysł na temat 628 00:39:41,150 --> 00:39:44,700 coś można zrobić - więc nie wszystkie rodzaje projektów, nie jestem pewien, że 629 00:39:44,700 --> 00:39:47,290 można znaleźć - każdy ma coś, co naprawdę ich intrygi 630 00:39:47,290 --> 00:39:49,290 jeśli robią projekt webowy. 631 00:39:49,290 --> 00:39:52,210 Powiem to jeszcze raz teraz. 632 00:39:52,210 --> 00:39:54,520 Jeśli projekt wydaje się bólu i nie chcesz, aby nad nim pracować, 633 00:39:54,520 --> 00:39:57,260 wybrać inny projekt. Wybierz coś, co naprawdę inspiruje. 634 00:39:57,260 --> 00:40:00,260 >> Ben wspomniał to pojęcie iteracji trochę, a ja chcę iść nad nim trochę. 635 00:40:00,260 --> 00:40:08,250 To naprawdę ważne, aby działać w sposób urywany, gdzie można uzyskać coś funkcjonalnego. 636 00:40:08,250 --> 00:40:13,420 To może być wielki, jeśli masz ten plan na stronie internetowej, że zamierza zrobić A, B, i C, 637 00:40:13,420 --> 00:40:16,000 i ostatecznie to będzie się tam dostać. 638 00:40:16,000 --> 00:40:18,600 Ale utkniesz w tej fazie, gdy pracujesz na nim i nad nim pracuje, 639 00:40:18,600 --> 00:40:23,330 ale nic nie zrobił zaczyna. Nie musisz niczego widzieć i namacalnego, coś funkcjonalnego. 640 00:40:23,330 --> 00:40:27,940 , Co naprawdę chcesz robić tyle, ile wydaje się rodzaj bólu czasami 641 00:40:27,940 --> 00:40:32,300 pracować nad czymś, a potem coś w rodzaju cap go tak, że jest to co najmniej na stałym poziomie, z systemem 642 00:40:32,300 --> 00:40:34,910 wersja, nawet jeśli nie ma wszystkie funkcje, które chcesz. 643 00:40:34,910 --> 00:40:37,690 A może istnieją pewne cechy, które naprawdę chcą dodać, ale po prostu nie można 644 00:40:37,690 --> 00:40:41,830 bo chcesz dostać tę stronę funkcjonalnego punktu. 645 00:40:41,830 --> 00:40:44,400 A więc chcesz rodzaju mają cały proces rozwoju wyglądać. 646 00:40:44,400 --> 00:40:47,810 Chcesz rozpocząć gdzieś funkcjonalne - lub zasadniczo zacząć z niczym - 647 00:40:47,810 --> 00:40:49,890 ale chcesz dostać się gdzieś bardzo prosty i funkcjonalny. 648 00:40:49,890 --> 00:40:54,940 A potem jeszcze raz, coś w rodzaju skoku i uzyskać ponownie gdzieś funkcjonalne. 649 00:40:54,940 --> 00:40:59,190 Będziesz powoli budować, i to może iść nieco wolniej niż miałoby to miejsce w przeciwnym razie, 650 00:40:59,190 --> 00:41:03,000 ale na dłuższą metę, jeśli jesteś ciągle tkwi w tej środkowej fazie ziemi, gdzie 651 00:41:03,000 --> 00:41:06,380 Czy rzeczywiście nie ma nic pracy, może być naprawdę duży zawód 652 00:41:06,380 --> 00:41:09,970 do pracy nad projektem, ponieważ zawsze jesteś tak blisko do coraz to działa, 653 00:41:09,970 --> 00:41:12,130 i nigdy rzeczywiście działa. 654 00:41:12,130 --> 00:41:14,810 Chcesz pracować w tych tryska funkcjonalnych, 655 00:41:14,810 --> 00:41:17,950 i chcemy także zrobić kilka refleksji po każdej z nich. 656 00:41:17,950 --> 00:41:21,260 Innymi słowy, gdy jesteś w punkcie, w którym miejscu jest teraz pracy - 657 00:41:21,260 --> 00:41:24,790 to nie wszystko, czego się nie podoba, ale to robi pewne rzeczy - 658 00:41:24,790 --> 00:41:28,870 warto pomyśleć, ok, to ta strona cel jaki wyruszyłem zrobić? 659 00:41:28,870 --> 00:41:33,410 Innymi słowy, jeśli witryna ma zamiar zrobić X, jest to, co działa w kierunku X? 660 00:41:33,410 --> 00:41:36,450 Są wszystkie funkcje, które chciałem tam? 661 00:41:36,450 --> 00:41:39,340 I co więcej, jest to porcja ogólny cel, który chcę? 662 00:41:39,340 --> 00:41:43,200 Jeśli stwierdzenie, że witryna zaczyna skręcać w innym kierunku 663 00:41:43,200 --> 00:41:47,330 a może po prostu rodzaj rzeczy są nie pracuje, może to być czas do zmiany biegów trochę. 664 00:41:47,330 --> 00:41:51,700 Innymi słowy, jest to warte rozważenia - warto rzucać pomysły, jeśli to konieczne 665 00:41:51,700 --> 00:41:57,950 i biorąc pod uwagę, ja naprawdę pracuje nad to, co chcę mieć. 666 00:41:57,950 --> 00:42:00,760 >> Uważam, że mój następny punkt. Nie bój się do porzucenia idei. 667 00:42:00,760 --> 00:42:03,750 Tylko dlatego, że spędził wiele godzin pracy na funkcji 668 00:42:03,750 --> 00:42:07,890 i wreszcie dostałem to działa, ale to naprawdę nie jest tak dobrze - 669 00:42:07,890 --> 00:42:12,690 jak nie jest to przydatne lub użytkownicy mają problemy z wykorzystaniem go - tego typu rzeczy - 670 00:42:12,690 --> 00:42:15,300 nie bój się go wyrzucić. 671 00:42:15,300 --> 00:42:17,650 To jest do bani, że spędziłem dużo czasu pracy na nim, 672 00:42:17,650 --> 00:42:21,870 ale ostatecznie nie chcesz stronę, która jest rodzajem ułożyła te kawałki, które 673 00:42:21,870 --> 00:42:25,380 rodzaj pracy, ale nie są tak dobrze służył. 674 00:42:25,380 --> 00:42:27,990 Ponadto, nie bój się przyjąć nowych pomysłów. 675 00:42:27,990 --> 00:42:30,050 Jeśli ktoś przychodzi i mówi, hej, że witryna wygląda naprawdę super, ale 676 00:42:30,050 --> 00:42:32,290 Nie byłoby wręcz wspaniale, gdyby to miało również to? 677 00:42:32,290 --> 00:42:36,220 Tylko dlatego, że jest coś, czego nie zamierzał i coś, co nie jest w twoim 678 00:42:36,220 --> 00:42:37,900 specyfikacje, coś, czego nie starali się zrobić, 679 00:42:37,900 --> 00:42:40,860 nie bój się wziąć go na, a następnie pracować z nim. 680 00:42:40,860 --> 00:42:43,680 Ponieważ często pomysły, które działają w całym toku rozwoju 681 00:42:43,680 --> 00:42:47,630 w końcu jest to naprawdę fajne funkcje na stronie internetowej. 682 00:42:47,630 --> 00:42:49,630 >> Mówiłem to już wcześniej. Powiem to jeszcze raz. 683 00:42:49,630 --> 00:42:51,630 Testery są super, bardzo przydatna. 684 00:42:51,630 --> 00:42:56,350 Postaraj się, aby ludzie, którzy nigdy nie widzieli miejsce przed, aby zalogować się i zobaczyć, co się dzieje 685 00:42:56,350 --> 00:42:59,080 ponieważ mogą one badać nie tylko użyteczność strony i doświadczenia użytkownika, 686 00:42:59,080 --> 00:43:02,070 ale mogą również sprawdzić działanie w sposób, że nie można. 687 00:43:02,070 --> 00:43:06,430 Jeśli się trochę funkcji, które wykonuje pewne rzeczy 688 00:43:06,430 --> 00:43:11,620 i wiesz, że to zrobi, że samo za każdym razem prawidłowo, to świetnie. 689 00:43:11,620 --> 00:43:16,610 Ale może to być często trudne do uwzględnienia przypadków, w których może narożników użytkownika 690 00:43:16,610 --> 00:43:19,500 wpisz coś, czego nie spodziewaliśmy się - właśnie dlatego, że określone 691 00:43:19,500 --> 00:43:21,500 samemu funkcje. 692 00:43:21,500 --> 00:43:23,730 Tak, aby ktoś się o tym, kto nie ma pojęcia, w jaki sposób korzystać z witryny 693 00:43:23,730 --> 00:43:26,840 i po prostu złamać go w jakikolwiek sposób mogą zrobić, to bardzo przydatne, ponieważ 694 00:43:26,840 --> 00:43:30,340 zorientować się z zupełnie innej perspektywy, co na swojej stronie działa 695 00:43:30,340 --> 00:43:33,300 i co wymaga naprawy. 696 00:43:33,300 --> 00:43:37,070 >> Ostatnio, mam zamiar mówić o pewnych ogólnych dobrych praktyk, 697 00:43:37,070 --> 00:43:42,470 i widziałem wiele z nich w CS50, ale także naprawdę zastosowania w otoczeniu projektu. 698 00:43:42,470 --> 00:43:47,600 Jednym z nich jest komentarzy. Zawsze komentować kod zwłaszcza jeśli pracujesz na dużym zespole. 699 00:43:47,600 --> 00:43:51,230 To może być tak denerwujące tylko gigantyczny blok kodu, który ktoś napisał 700 00:43:51,230 --> 00:43:54,230 i być może to działa, może nie, ale nie masz pojęcia, co robi, 701 00:43:54,230 --> 00:43:58,010 więc nie mam pojęcia, czy jest to przydatne, czy nie, czy powinno być, czy nie, 702 00:43:58,010 --> 00:44:00,200 i jeśli pracujesz na coś innego, że to w ogóle możliwe, że pracujesz na 703 00:44:00,200 --> 00:44:06,590 to samo, więc po prostu bardzo, bardzo uważać, aby nie zakłócać waszych rówieśników 704 00:44:06,590 --> 00:44:09,710 i pisać kod, który jest dobrze udokumentowany. 705 00:44:09,710 --> 00:44:13,580 Nie musisz iść tak daleko, aby zrobić to wszystko, gdzie się nie podoba, jeśli przyrost 706 00:44:13,580 --> 00:44:16,620 Licznik posiada komentarz, który mówi, jestem dodanie 1 do licznika. 707 00:44:16,620 --> 00:44:20,450 To nie musi być tak szczegółowe, ale dla każdej funkcji, że jesteś coraz pisania 708 00:44:20,450 --> 00:44:23,160 należy mieć dokumentację, co to dokładnie robi funkcja, 709 00:44:23,160 --> 00:44:25,140 co jej wejścia są, i to, co powinien powrócić. 710 00:44:25,140 --> 00:44:27,800 W ten sposób można korzystać z innych składników ludzi na miejscu 711 00:44:27,800 --> 00:44:31,990 i można pracować nad czymś dużym budynku. 712 00:44:31,990 --> 00:44:34,100 >> Kolejną ważną rzeczą jest to, chcesz zrobić regularne clean-up. 713 00:44:34,100 --> 00:44:40,490 Kod dostaje bałagan. Nie czuj się źle, jeśli kod jest po prostu całkowicie nieczytelny i gigantyczny bałagan. 714 00:44:40,490 --> 00:44:42,770 Co dzieje się w tworzenie stron internetowych zawsze. 715 00:44:42,770 --> 00:44:46,530 Jesteś dodawanie nowych funkcji, usuwania starych. Rzeczy będzie tam, że nie powinno być. 716 00:44:46,530 --> 00:44:49,330 To jest w porządku, ale chcesz się upewnić, że do czynienia z regularnie. 717 00:44:49,330 --> 00:44:53,430 Nie chcesz, aby to zbudować do punktu, w którym po prostu nie można znaleźć nic 718 00:44:53,430 --> 00:44:56,430 w kodzie, a nie masz pojęcia, co nic nie robi. 719 00:44:56,430 --> 00:44:58,430 To sprawa z HTML. 720 00:44:58,430 --> 00:44:59,490 Czasami kończy się z obiektów, które nie zawierają niczego, 721 00:44:59,490 --> 00:45:01,320 i będziesz chciał się pozbyć tych. 722 00:45:01,320 --> 00:45:04,610 W CSS, można odnosić się do elementów, które nie są już tam, 723 00:45:04,610 --> 00:45:06,340 więc chcesz pozbyć się tego kodu. 724 00:45:06,340 --> 00:45:09,900 W JavaScript, które mogą Ci się usunąć coś z HTML. 725 00:45:09,900 --> 00:45:13,150 Więc, chcesz się upewnić, że jesteś zawsze sprzątanie, tworzenie rzeczy dość 726 00:45:13,150 --> 00:45:17,450 jak można na bieżąco. 727 00:45:17,450 --> 00:45:21,060 >> Innym bardzo przydatna rzecz, że ja nie sądzę, jest opisana bardzo w CS50 728 00:45:21,060 --> 00:45:23,430 ale warto jest się do kontroli wersji. 729 00:45:23,430 --> 00:45:27,180 Idea kontroli wersji jest, gdy jesteś w zasadzie śledzenie wszystkich postępów 730 00:45:27,180 --> 00:45:30,820 dokonaniu w kierunku swojej stronie i jeśli w dowolnym momencie zdajesz sobie sprawę, och, to działa 731 00:45:30,820 --> 00:45:35,220 jakiś czas temu, ale to nie działa więcej, można wrócić do poprzednich wersji 732 00:45:35,220 --> 00:45:37,720 i zobaczyć, co się zmieniło od tamtego czasu i tego typu rzeczy. 733 00:45:37,720 --> 00:45:41,670 Podstawowym sposobem na to jest z Git i Git jest cały ten rodzaj systemu, który 734 00:45:41,670 --> 00:45:46,390 Wierzę Tommy MacWilliam dał seminarium na temat ostatniego roku. 735 00:45:46,390 --> 00:45:51,520 Jeśli pójdziesz do seminariów CS50 na 2011, można zobaczyć jego seminarium na ten temat. 736 00:45:51,520 --> 00:45:57,070 Pomysł Git jest w zasadzie, że w regularnych odstępach czasu robisz te zobowiązania 737 00:45:57,070 --> 00:46:01,430 które są sposoby mówiąc strona jest w dość stabilnej wersji teraz tak 738 00:46:01,430 --> 00:46:05,910 Jestem pakowania go i wysyłając ją na serwerze, a następnie można przejść do tego serwera 739 00:46:05,910 --> 00:46:07,910 i patrzeć na wszystkich poprzednich wersji kodu i zobaczyć, jak to jest postęp 740 00:46:07,910 --> 00:46:12,210 i wszystkie tego typu dobrych rzeczy. 741 00:46:12,210 --> 00:46:14,210 Tak, że w zasadzie jest. 742 00:46:14,210 --> 00:46:17,870 W miarę rozwoju sieci web, jesteśmy szczęśliwi, aby trzymać się i odpowiedzieć na wszelkie 743 00:46:17,870 --> 00:46:20,570 Pytania miarę naszej prezentacji. 744 00:46:20,570 --> 00:46:22,900 To jest to. Dzięki. >> [Ben] Dzięki. 745 00:46:22,900 --> 00:46:28,480 [Oklaski] 746 00:46:28,480 --> 00:46:30,950 >> [Billy] Personel, czy ktoś ma jakieś pytania dotyczące rzeczy, które omówiliśmy 747 00:46:30,950 --> 00:46:33,950 lub rzeczy, które nie zostały pokryte, że były one nadzieję, że zajmujemy? 748 00:46:33,950 --> 00:46:35,950 Chętnie odpowiemy ci. Ktoś? 749 00:46:35,950 --> 00:46:50,360 [Widz] Jakie są wady i zalety korzystania z wykorzystaniem Ruby lub Python? 750 00:46:50,360 --> 00:46:58,660 [Ben] pytanie, jakie są wady i zalety korzystania z Ruby lub Python 751 00:46:58,660 --> 00:46:59,900 zamiast jak PHP. 752 00:46:59,900 --> 00:47:11,340 Plusy są takie, że Ruby i Python są znacznie lepsze niż w językach PHP. 753 00:47:11,340 --> 00:47:14,920 Przynajmniej w mojej opinii, i myślę, że w wielu opiniach innych ludzi, jak również. 754 00:47:14,920 --> 00:47:20,990 Zostały one zaprojektowane w sposób bardziej kompleksowy rzeczy, 755 00:47:20,990 --> 00:47:25,380 a mniej na kolosalny razem stron internetowych bardzo szybko z 756 00:47:25,380 --> 00:47:28,400 trochę dynamicznej zawartości. 757 00:47:28,400 --> 00:47:35,180 Minusy są takie, że jest trochę - nie więcej z krzywej uczenia się 758 00:47:35,180 --> 00:47:37,220 aby je skonfigurować. 759 00:47:37,220 --> 00:47:41,010 Oznacza to, że podobnie jak w PHP, możesz po prostu plik HTML i pisać mniej niż, 760 00:47:41,010 --> 00:47:43,060 znak zapytania, a następnie napisać kod, a następnie napisać znak zapytania, 761 00:47:43,060 --> 00:47:45,700 większy niż, a następnie gotowe. 762 00:47:45,700 --> 00:47:50,300 W innych językach, takich jak Ruby lub Python, 763 00:47:50,300 --> 00:47:56,810 trzeba przejść przez nieco więcej pracy, aby uzyskać początkowym działaniu witryny. 764 00:47:56,810 --> 00:48:02,730 Jest też - przynajmniej kiedyś przypadek - że dokumentacja jest więcej 765 00:48:02,730 --> 00:48:05,480 dostępny dla PHP, tylko dlatego że jest więcej osób z niej korzystających. 766 00:48:05,480 --> 00:48:09,370 Myślę, że nie jest tak wiele kwestii już. 767 00:48:09,370 --> 00:48:12,520 Jest to z pewnością bardzo dobra dokumentacja do rzeczy, jak Ruby on Rails 768 00:48:12,520 --> 00:48:16,080 lub Django dla Pythona jest odpowiednik. 769 00:48:16,080 --> 00:48:25,910 PHP jest jeden, że wszyscy używają od lat, a wiesz, jak to działa. 770 00:48:25,910 --> 00:48:28,460 Ruby i Python są nieco mniej dojrzałe. 771 00:48:28,460 --> 00:48:33,130 >> [Widz] Gdybyś miał wybrać jedną z nich, aby dowiedzieć się, czy odebrać, 772 00:48:33,130 --> 00:48:36,130 które wolisz? 773 00:48:36,130 --> 00:48:38,870 Szczerze mówiąc, myślę, że to zależy od osoby. 774 00:48:38,870 --> 00:48:45,450 Przykro mi. Pytanie, które wybrać, aby ktoś się nauczyć? 775 00:48:45,450 --> 00:48:50,230 Uważam Python najpiękniejszy osobiście. 776 00:48:50,230 --> 00:48:55,360 Istnieje wielu ludzi, którzy - Zrobiłem mój pierwszy internetowy projekt dev w Pythonie i Django. 777 00:48:55,360 --> 00:49:00,300 Istnieje wiele osób, które lubią Ruby on Rails również. 778 00:49:00,300 --> 00:49:02,650 Prawdopodobnie więcej ludzi, którzy wiedzą, Ruby on Rails. 779 00:49:02,650 --> 00:49:05,270 Szczerze mówiąc, chciałbym po prostu iść z tym, co ludzie wokół was wie 780 00:49:05,270 --> 00:49:09,680 tak, że masz ludzi do zadawania pytań. 781 00:49:19,640 --> 00:49:24,170 >> Pytanie - na wspólnych serwerach jest to trochę trudne do pracy na Python? 782 00:49:24,170 --> 00:49:26,170 To zależy od Twojego hostingu. 783 00:49:26,170 --> 00:49:29,400 Istnieje kilka hostów internetowych, które będą pisać Pythona rzeczy. 784 00:49:29,400 --> 00:49:31,400 WebFaction robi, prawda? 785 00:49:31,400 --> 00:49:34,400 WebFaction jest, że Billy i użyłem dla niektórych projektów. 786 00:49:34,400 --> 00:49:37,750 Są naprawdę świetne. Wspierają one większość języków. 787 00:49:37,750 --> 00:49:40,020 Ale to prawda, że ​​PHP jest o wiele bardziej powszechnie obsługiwane. 788 00:49:40,020 --> 00:49:45,210 Tak więc, jeśli utkniesz na hostingowego, że tylko nie PHP, to jest dobry powód, aby korzystać z PHP. 789 00:49:45,210 --> 00:49:56,010 >> [Widz] Właśnie do uczenia się, jak zapytać kilka baz danych, 790 00:49:56,010 --> 00:50:00,680 i wiem, że moje SQL jest w każdym miejscu, ale niedawno został wystawiony na działanie - 791 00:50:00,680 --> 00:50:04,470 i zwrócił na to uwagę. Widzisz JSON i rozszerzalne baz danych. 792 00:50:04,470 --> 00:50:14,580 My SQL jest nadal w każdym miejscu. Jak widzisz, że dzieje? 793 00:50:14,580 --> 00:50:21,330 Czy tam będzie rosnąca tendencja do bardziej rozszerzalna (niesłyszalne)? 794 00:50:21,330 --> 00:50:30,100 Pytanie było - nie sądzę, że będzie to tendencja do baz danych innych niż SQL. 795 00:50:30,100 --> 00:50:33,850 Na przykład, jak MongoDB. Myślę, że to na pewno prawda. 796 00:50:33,850 --> 00:50:38,730 Moja rada była głównie związana mySQL-tutaj tylko dlatego, że MySQL jest 797 00:50:38,730 --> 00:50:40,950 standard. 798 00:50:40,950 --> 00:50:45,950 Osobiście wiele chętniej baz danych, które nie mają schemos jak MongoDB 799 00:50:45,950 --> 00:50:49,520 gdzie nie ma problemu, no, muszę dodać kolejną kolumnę. 800 00:50:49,520 --> 00:50:51,600 Biada mi, jak cokolwiek zrobić? 801 00:50:51,600 --> 00:50:55,840 To jest bardzo trudne do zrobienia, że ​​na MySQL, ale kiedy masz coś Mongo 802 00:50:55,840 --> 00:50:57,840 to jest o wiele ładniejszy. 803 00:50:57,840 --> 00:51:03,780 Inne Zaletą Mongo jest to, że zapisy są właściwie obiekty JavaScript. 804 00:51:03,780 --> 00:51:10,110 Nie ma rodzaj etapie konwersji, w których trzeba podjąć te wiersze bazy danych 805 00:51:10,110 --> 00:51:13,140 i włączyć je do obiektu JavaScript, a następnie wysłać je na drucie. 806 00:51:13,140 --> 00:51:20,290 Myślę, że takie rzeczy, że będzie bardzo, bardzo przydatne do szybkiego tworzenia stron internetowych w przyszłości. 807 00:51:20,290 --> 00:51:23,060 >> [Billy] Coś Dodam, który jest po prostu chodzi o to, że ogólnie 808 00:51:23,060 --> 00:51:26,580 nie czuć się jak należy nauczyli wszystkich językach Omówiliśmy 809 00:51:26,580 --> 00:51:28,580 z naszego seminarium. 810 00:51:28,580 --> 00:51:30,560 Oczywiście chodzi o to, aby dać wyobrażenie o tym, co tam jest, 811 00:51:30,560 --> 00:51:33,450 i jeśli jesteś zaintrygowany żadnej z wymienionych rzeczy mamy Google można je 812 00:51:33,450 --> 00:51:35,830 i poczytać o nich. 813 00:51:35,830 --> 00:51:38,750 I jak już wspomniałem, istnieje kilka seminariów, które zajmują się dokładnie te rzeczy. 814 00:51:38,750 --> 00:51:41,660 Jest jeszcze więcej seminariów, że nie wspomniał, że prawdopodobnie się do 815 00:51:41,660 --> 00:51:43,660 to rzeczy, jak również. 816 00:51:43,660 --> 00:51:46,610 Chodzi o to, że jeśli chcesz pracować nad czymś, tu są narzędzia do Państwa dyspozycji. 817 00:51:46,610 --> 00:51:51,630 Nie czują się przytłoczeni, jeśli nie jesteś pewien, co zrobić dokładnie te narzędzia, 818 00:51:51,630 --> 00:51:54,830 ale wiem, że są tam i że można zrobić z nich szerokie zastosowanie 819 00:51:54,830 --> 00:51:56,830 przez Google. 820 00:51:56,830 --> 00:51:59,960 >> [Widz] Jakie rzeczy nie trzeba zrobić, aby upewnić się, że strona 821 00:51:59,960 --> 00:52:02,530 wygląda dobrze na urządzeniach mobilnych? 822 00:52:02,530 --> 00:52:05,590 [Billy] Urządzenia mobilne są trochę trudne. 823 00:52:05,590 --> 00:52:07,590 Jest 2 sposoby można go podejścia. 824 00:52:07,590 --> 00:52:11,500 Pierwszy sposób jest to, że rzeczywiście posiada telefon internetowej. 825 00:52:11,500 --> 00:52:14,660 Innymi słowy, można wykonać jakąś wykrywania na początku 826 00:52:14,660 --> 00:52:18,830 gdy przeglądarka wysyła żądanie do witryny, które albo mówi 827 00:52:18,830 --> 00:52:25,240 powrót ten pogląd - który będzie widok na stacjonarnych lub laptopów przeglądarek - 828 00:52:25,240 --> 00:52:27,710 a ten drugi widok urządzeń mobilnych. 829 00:52:27,710 --> 00:52:33,090 To jest miejsce, gdzie widoki są naprawdę ładne, w które można dość dużo Swap 830 00:52:33,090 --> 00:52:37,580 dwa na zewnątrz i mieć interfejs, który działa bardzo dobrze na urządzeniach mobilnych 831 00:52:37,580 --> 00:52:40,770 i mają zupełnie inny, który działa dobrze na urządzeniach przeglądarce. 832 00:52:40,770 --> 00:52:43,770 Problem z tym jest to, że zajmuje dużo czasu, ponieważ oznacza to, kodowanie 833 00:52:43,770 --> 00:52:47,060 zupełnie inny interfejs. 834 00:52:47,060 --> 00:52:49,720 Inny sposób, że można zrobić to jest - 835 00:52:49,720 --> 00:52:55,250 Wiele nowoczesnych telefonów wyświetla strony internetowe i spróbować uczynić je jak przeglądarka będzie, 836 00:52:55,250 --> 00:52:57,680 i robią wszystko. 837 00:52:57,680 --> 00:53:04,340 Możesz trochę staram się zatrzymać światło na wysokości jQuery JavaScript używasz 838 00:53:04,340 --> 00:53:07,360 który wydaje się być, gdy coś może pójść nie tak trochę. 839 00:53:07,360 --> 00:53:13,430 Jest to swego rodzaju sposób, że należy wykorzystać, jeśli nie masz tyle czasu. 840 00:53:13,430 --> 00:53:18,540 Jeśli nie masz czasu na pracę z telefonu interfejs, który jest oczywiście najlepszym rozwiązaniem. 841 00:53:18,540 --> 00:53:23,320 >> Myślę, że ogólnie na projekty CS50, będziesz chciał wybrać jedno lub drugie. 842 00:53:23,320 --> 00:53:27,990 Innymi słowy, chcesz zrobić z telefonu aplikację lub chcesz stworzyć stronę internetową na pulpicie. 843 00:53:27,990 --> 00:53:32,200 I tego typu określa, gdzie udać się z tym. 844 00:53:32,200 --> 00:53:35,360 Ale jeśli chcesz go rozwinąć się później, prawdopodobnie najlepiej jest 845 00:53:35,360 --> 00:53:37,360 aby inny interfejs dla innych. 846 00:53:51,650 --> 00:53:56,340 Mam trochę doświadczenia w tworzeniu witryn opartych na WordPress. 847 00:53:56,340 --> 00:53:58,670 Prowadziłem osobistej stronie internetowej na WordPress na chwilę. 848 00:53:58,670 --> 00:54:02,310 Te rodzaje ram może być ładne, tak jak bardzo podstawowe rzeczy. 849 00:54:02,310 --> 00:54:07,050 Często musisz po prostu uruchomić na wiele kwestii dostosowywania chociaż. 850 00:54:07,050 --> 00:54:10,940 Będziesz chciał mieć coś wyglądać w określony sposób lub być w pewien sposób 851 00:54:10,940 --> 00:54:14,510 i po prostu nie można, bo to jest podłączone na stałe do systemu, który 852 00:54:14,510 --> 00:54:17,480 to jest jak trzeba robić rzeczy, które mogą być trochę problem. 853 00:54:17,480 --> 00:54:22,020 Od tego czasu mam trochę bardziej skłonni do pracy z terenów od podstaw. 854 00:54:22,020 --> 00:54:26,840 Na takie rzeczy jak bazy danych bloga i tego rodzaju rzeczy to naprawdę nie jest takie trudne do zbudowania ramy. 855 00:54:26,840 --> 00:54:29,970 Jeśli jesteś naprawdę wyciągnął do czasu, można oczywiście użyć coś jak WordPress 856 00:54:29,970 --> 00:54:33,120 lub tego typu rzeczy na blogu. 857 00:54:33,120 --> 00:54:38,790 Takie rzeczy, że blogi sklepu i naprawdę nie są na tyle, że trudno 858 00:54:38,790 --> 00:54:41,500 jeśli używasz do żadnego z tych rodzajów rzeczy, jesteś prawdopodobnie najlepiej po prostu 859 00:54:41,500 --> 00:54:43,500 zrobić wersję w firmie. 860 00:54:43,500 --> 00:54:48,350 >> Myślę, że to o niej, więc jeszcze raz dziękuję za przybycie. 861 00:54:48,350 --> 00:54:51,960 Jesteśmy bardzo zadowoleni z rozmowy z wami i mam nadzieję, że nauczyłeś się kilka rzeczy. 862 00:54:51,960 --> 00:54:55,350 [Ben] Jesteśmy szczęśliwi rozmawiać - musimy iść, ale jesteśmy szczęśliwi, aby porozmawiać na zewnątrz 863 00:54:55,350 --> 00:55:01,650 jeśli masz inne pytanie. Jeszcze raz dziękuję. [Oklaski] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]