ASP.NET MVC 4. Programowanie - ebook
ASP.NET MVC 4. Programowanie - ebook
Wykorzystaj potencjał ASP.NET!
Platforma ASP.NET to główny konkurent języka Java w zakresie tworzenia aplikacji internetowych oraz zaawansowanych stron internetowych. Jej autorzy zadbali o to, aby każda kolejna wersja ułatwiała pracę programistom w coraz szerszym zakresie. Programiści to doceniają i ASP.NET znajduje się wśród języków najczęściej wybieranych przy tworzeniu zaawansowanych projektów.
Jeżeli chcesz w pełni wykorzystać potencjał ASP.NET MVC 4, przyda Ci się wyjątkowa książka. Ta, którą trzymasz w rękach, bez wątpienia taka jest! W trakcie lektury poznasz niuanse architektury MVC oraz dowiesz się, jak tworzyć sieciowe API. Ponadto wykorzystasz Entity Framework do wydajnego korzystania z baz danych oraz zaznajomisz się ze sposobami na równoległe przetwarzanie żądań. Szczególną uwagę powinieneś zwrócić na rozdział poświęcony zapewnieniu jakości - wykorzystanie testów automatycznych znacząco ułatwi Ci życie! Książka ta powinna trafić na podręczną półkę każdego programisty ASP.NET!
Sięgnij po tę książkę i:
- poznaj wzorzec MVC
- stwórz zaawansowane Web API
- zobacz, jak uatrakcyjnić Twoją aplikację dzięki technologii AJAX
- zbuduj bezpieczną aplikację
- zbuduj system testów automatycznych oraz ciągłej integracji
Poznaj i wykorzystaj możliwości ASP.NET w Twoim projekcie!
Spis treści
Wprowadzenie (11)
CZĘŚĆ I. ROZKRĘCAMY SIĘ (15)
Rozdział 1. Podstawy ASP.NET MVC (17)
- Opracowane przez Microsoft platformy tworzenia aplikacji sieciowych (17)
- Active Server Pages (ASP) (18)
- ASP.NET Web Forms (18)
- ASP.NET MVC (18)
- Architektura MVC (19)
- Model (20)
- Widok (20)
- Kontroler (20)
- Co nowego w ASP.NET MVC 4? (20)
- Wprowadzenie do aplikacji EBuy (22)
- Instalacja ASP.NET MVC (23)
- Tworzenie aplikacji ASP.NET MVC (23)
- Szablony projektów (23)
- Konwencja przed konfiguracją (27)
- Uruchamianie aplikacji (28)
- Routing (28)
- Konfiguracja tras (29)
- Kontrolery (31)
- Akcje kontrolera (32)
- Obiekt ActionResult (32)
- Parametry akcji (33)
- Filtry akcji (36)
- Widoki (36)
- Wyszukiwanie widoków (37)
- Poznaj Razor (38)
- Odróżnianie kodu od znaczników (39)
- Układy graficzne (40)
- Widoki częściowe (41)
- Wyświetlanie danych (43)
- Metody pomocnicze HTML i URL (45)
- Modele (46)
- Zebranie wszystkich komponentów w całość (47)
- Trasa (47)
- Kontroler (47)
- Widok (49)
- Uwierzytelnianie (52)
- AccountController (54)
- Podsumowanie (55)
Rozdział 2. ASP.NET MVC dla programistów formularzy sieciowych (57)
- Wszystko kręci się wokół ASP.NET (57)
- Narzędzia, języki i API (58)
- Moduły i procedury obsługi HTTP (58)
- Zarządzanie stanem (58)
- Wdrażanie i środowisko uruchomieniowe (59)
- Więcej różnic niż podobieństw (59)
- Oddzielanie logiki aplikacji od logiki widoku (60)
- Adresy URL i routing (60)
- Zarządzanie stanem (61)
- Generowanie kodu HTML (62)
- Tworzenie widoku ASP.NET MVC za pomocą składni Web Forms (66)
- Słowo ostrzeżenia (66)
- Podsumowanie (67)
Rozdział 3. Praca z danymi (69)
- Tworzenie formularza (69)
- Obsługa akcji POST formularza (71)
- Zapis danych w bazie danych (71)
- Technika Code First - zasada "konwencja przed konfiguracją" (72)
- Tworzenie warstwy dostępu do danych z użyciem techniki Code First w Entity Framework (72)
- Weryfikacja danych (73)
- Określanie reguł biznesowych za pomocą adnotacji danych (74)
- Wyświetlanie komunikatów o błędach z procesu weryfikacji danych (77)
- Podsumowanie (80)
Rozdział 4. Programowanie po stronie klienta (81)
- Praca z językiem JavaScript (81)
- Selektory (83)
- Udzielanie odpowiedzi na zdarzenia (86)
- Manipulacje modelem DOM (88)
- AJAX (89)
- Weryfikacja danych po stronie klienta (91)
- Podsumowanie (95)
CZĘŚĆ II. KOLEJNY POZIOM (97)
Rozdział 5. Architektura aplikacji sieciowej (99)
- Wzorzec MVC (99)
- Zasada separacji zadań (99)
- MVC i platformy sieciowe (100)
- Architektura aplikacji sieciowej (102)
- Architektura logiczna (102)
- Architektura logiczna aplikacji sieciowej ASP.NET MVC (102)
- Najlepsze praktyki w zakresie architektury logicznej (104)
- Architektura fizyczna (105)
- Przestrzeń nazw projektu i nazwy podzespołów (105)
- Opcje wdrożenia (106)
- Najlepsze praktyki w zakresie architektury fizycznej (107)
- Reguły dotyczące architektury aplikacji (108)
- SOLID (109)
- Odwracanie sterowania (114)
- Nie powtarzaj się (121)
- Podsumowanie (122)
Rozdział 6. Usprawnianie witryny poprzez użycie technologii AJAX (123)
- Częściowe generowanie strony (123)
- Generowanie widoków częściowych (124)
- Wygenerowanie kodu JavaScript (129)
- Wygenerowanie danych JSON (129)
- Żądanie danych JSON (131)
- Szablony po stronie klienta (131)
- Ponowne używanie tej samej logiki zarówno w żądaniach AJAX, jak i pozostałych (134)
- Udzielanie odpowiedzi na żądania AJAX (135)
- Udzielanie odpowiedzi na żądania JSON (136)
- Zastosowanie tej samej logiki w wielu akcjach kontrolera (137)
- Wysyłanie danych do serwera (138)
- Przekazywanie skomplikowanych obiektów JSON (140)
- Wybór łącznika modelu (141)
- Efektywne wysyłanie i odbieranie danych JSON (143)
- Wykonywanie żądań AJAX między domenami (144)
- JSONP (144)
- Włączanie Cross-Origin Resource Sharing (147)
- Podsumowanie (148)
Rozdział 7. Platforma Web API ASP.NET (149)
- Tworzenie usługi danych (149)
- Rejestracja tras Web API (151)
- Wykorzystanie techniki "konwencja przed konfiguracją" (151)
- Nadpisanie konwencji (152)
- Użycie API (153)
- Stronicowanie i pobieranie danych (155)
- Obsługa wyjątków (156)
- Media (158)
- Podsumowanie (161)
Rozdział 8. Zaawansowane dane (163)
- Wzorce dostępu do danych (163)
- Klasy POCO (163)
- Używanie wzorca repozytorium (164)
- Mapowanie obiektowo-relacyjne (166)
- Ogólny opis Entity Framework (168)
- Wybór podejścia w zakresie dostępu do danych (169)
- Współbieżność w bazie danych (169)
- Tworzenie warstwy dostępu do danych (171)
- Podejście Entity Framework Code First (171)
- Model domeny biznesowej aplikacji EBuy (173)
- Praca z kontekstem danych (176)
- Sortowanie, filtrowanie i stronicowanie danych (178)
- Podsumowanie (183)
Rozdział 9. Zapewnianie bezpieczeństwa (185)
- Tworzenie bezpiecznej aplikacji sieciowej (185)
- Obrona (185)
- Nigdy nie ufaj danym wejściowym (186)
- Wymuszanie stosowania reguły najmniejszych uprawnień (186)
- Przyjmuj założenie, że zewnętrzne systemy są niebezpieczne (186)
- Ogranicz możliwości ataku (186)
- Wyłącz niepotrzebne funkcje (187)
- Zabezpieczanie aplikacji (187)
- Zabezpieczanie aplikacji intranetowej (188)
- Uwierzytelnianie formularzy (193)
- Ochrona przed atakami (200)
- SQL Injection (201)
- Cross-Site Scripting (206)
- Cross-Site Request Forgery (207)
- Podsumowanie (209)
Rozdział 10. Programowanie na platformy mobilne (211)
- Funkcje mobilne platformy ASP.NET MVC 4 (211)
- Większa przyjazność aplikacji mobilnej (213)
- Tworzenie widoku mobilnego dla aukcji (214)
- Rozpoczęcie pracy z jQuery Mobile (215)
- Usprawnianie widoku za pomocą jQuery Mobile (218)
- Unikanie widoków biurkowych w witrynie mobilnej (223)
- Usprawnianie wersji mobilnej witryny (224)
- Technika Adaptive Rendering (225)
- Znacznik viewport (225)
- Wykrywanie funkcji mobilnych (226)
- Zapytania mediów CSS (228)
- Widoki dla konkretnych przeglądarek internetowych (229)
- Tworzenie nowej aplikacji mobilnej zupełnie od początku (231)
- Platforma jQuery Mobile (232)
- Szablon aplikacji mobilnej w ASP.NET MVC 4 (232)
- Używanie szablonu aplikacji mobilnej w ASP.NET MVC 4 (233)
- Podsumowanie (236)
CZĘŚĆ III. ZAGADNIENIA ZAAWANSOWANE (237)
Rozdział 11. Operacje na danych przeprowadzane równolegle, asynchronicznie i w czasie rzeczywistym (239)
- Kontroler asynchroniczny (239)
- Tworzenie kontrolera asynchronicznego (240)
- Kiedy używać kontrolera asynchronicznego? (242)
- Asynchroniczna komunikacja w czasie rzeczywistym (242)
- Porównanie modeli aplikacji (242)
- Model HTTP polling (243)
- Model HTTP long polling (244)
- Zdarzenia wysyłane przez serwer (245)
- WebSocket (246)
- Usprawnianie komunikacji w czasie rzeczywistym (247)
- Konfiguracja i dostrajanie (250)
- Podsumowanie (252)
Rozdział 12. Buforowanie (253)
- Rodzaje buforowania (253)
- Buforowanie po stronie serwera (253)
- Buforowanie po stronie klienta (254)
- Techniki buforowania po stronie serwera (254)
- Buforowanie o zasięgu żądania (254)
- Buforowanie o zasięgu użytkownika (255)
- Buforowanie o zasięgu aplikacji (256)
- Bufor ASP.NET (256)
- Bufor danych wyjściowych (258)
- Buforowanie donut caching (261)
- Buforowanie donut hole caching (263)
- Buforowanie rozproszone (264)
- Techniki buforowania po stronie klienta (269)
- Działanie bufora przeglądarki internetowej (269)
- AppCache (271)
- Local Storage (273)
- Podsumowanie (274)
Rozdział 13. Techniki optymalizacji po stronie klienta (275)
- Anatomia strony (275)
- Anatomia HttpRequest (276)
- Najlepsze praktyki (277)
- Wykonuj mniejszą liczbę żądań HTTP (278)
- Używaj CDN (278)
- Dodawaj nagłówek Expires lub Cache-Control (280)
- Komponenty skompresowane w formacie GZip (282)
- Umieszczaj arkusze stylów na początku pliku (283)
- Umieszczaj skrypty na końcu dokumentu (283)
- Korzystaj z zewnętrznych skryptów i arkuszy stylów (285)
- Zmniejszanie liczby zapytań DNS (286)
- Minimalizacja plików JavaScript i CSS (286)
- Unikaj przekierowań (287)
- Usunięcie powielających się skryptów (289)
- Konfiguracja nagłówka ETag (289)
- Pomiar wydajności po stronie klienta (290)
- Wykorzystanie platformy ASP.NET MVC do pracy (293)
- Tworzenie paczek i minimalizacja (294)
- Podsumowanie (297)
Rozdział 14. Zaawansowany routing (299)
- Wayfinding (299)
- Adresy URL i techniki SEO (301)
- Tworzenie tras (302)
- Domyślne parametry i opcjonalne trasy (303)
- Priorytet i kolejność tras (305)
- Routing do istniejących plików (305)
- Ignorowanie tras (305)
- Trasy typu Catch-All (306)
- Ograniczenia trasy (307)
- Narzędzie Glimpse i trasy (309)
- Routing oparty na atrybutach (310)
- Rozszerzanie routingu (313)
- Mechanizm routingu (314)
- Podsumowanie (318)
Rozdział 15. Ponownie używane komponenty interfejsu użytkownika (319)
- Co platforma ASP.NET MVC oferuje standardowo? (319)
- Widoki częściowe (319)
- Metody rozszerzające HtmlHelper czy własne metody? (319)
- Szablony Display i Editor (320)
- Html.RenderAction() (320)
- Przejście o krok dalej (321)
- Razor Single File Generator (321)
- Tworzenie wielokrotnie wykorzystywanych widoków ASP.NET MVC (323)
- Tworzenie wielokrotnie używanych metod pomocniczych ASP.NET MVC (327)
- Testy jednostkowe dla widoków Razor (328)
- Podsumowanie (330)
CZĘŚĆ IV. KONTROLA JAKOŚCI (331)
Rozdział 16. Rejestrowanie informacji (333)
- Obsługa błędów na platformie ASP.NET MVC (333)
- Włączanie własnych błędów (334)
- Obsługa błędów w akcjach kontrolerów (335)
- Definiowanie globalnych procedur obsługi błędów (335)
- Rejestrowanie informacji i śledzenie (337)
- Rejestrowanie informacji o błędach (337)
- Monitorowanie stanu ASP.NET (340)
- Podsumowanie (342)
Rozdział 17. Zautomatyzowane testowanie (343)
- Semantyka testowania (343)
- Ręczne testowanie (344)
- Zautomatyzowane testowanie (345)
- Poziomy zautomatyzowanego testowania (345)
- Testy jednostkowe (345)
- Szybkość (ang. fast) (347)
- Testy integracyjne (348)
- Testy akceptacyjne (349)
- Co to jest projekt zautomatyzowanych testów? (350)
- Tworzenie projektu testowego w Visual Studio (350)
- Tworzenie i przeprowadzanie testu jednostkowego (351)
- Testowanie aplikacji ASP.NET MVC (354)
- Testowanie modelu (354)
- Test-Driven Development (357)
- Tworzenie przejrzystych, zautomatyzowanych testów (358)
- Testowanie kontrolerów (360)
- Refaktoring testów jednostkowych (363)
- Symulacja spełnienia zależności (364)
- Testowanie widoków (368)
- Test pokrycia (370)
- Mit 100% wyniku testu pokrycia (372)
- Tworzenie kodu łatwego do testowania (372)
- Podsumowanie (374)
Rozdział 18. Automatyzacja kompilacji (375)
- Tworzenie skryptów kompilacji (376)
- Projekty Visual Studio są skryptami kompilacji! (376)
- Dodanie prostego zadania kompilacji (376)
- Przeprowadzanie kompilacji (377)
- Możliwości są nieograniczone! (378)
- Automatyzacja kompilacji (378)
- Rodzaje zautomatyzowanej kompilacji (379)
- Definiowanie zautomatyzowanej kompilacji (380)
- Ciągła integracja (383)
- Wykrywanie problemów (383)
- Reguły ciągłej integracji (384)
- Podsumowanie (388)
CZĘŚĆ V. UMIESZCZANIE APLIKACJI SIECIOWEJ W INTERNECIE (389)
Rozdział 19. Wdrażanie (391)
- Co trzeba wdrożyć? (391)
- Podstawowe pliki witryny internetowej (391)
- Treść statyczna (394)
- Czego nie trzeba wdrażać? (394)
- Bazy danych oraz inne zewnętrzne zależności (395)
- Jakie są wymagania aplikacji EBuy? (396)
- Wdrażanie na serwerze Internet Information Server (396)
- Przygotowania (397)
- Tworzenie i konfiguracja witryny internetowej na serwerze IIS (397)
- Publikowanie witryny z poziomu Visual Studio (399)
- Wdrażanie za pośrednictwem Windows Azure (403)
- Tworzenie konta Windows Azure (403)
- Tworzenie nowej witryny internetowej Windows Azure (404)
- Publikacja witryny internetowej Windows Azure poprzez system kontroli wersji (404)
- Podsumowanie (406)
DODATKI (407)
Dodatek A. Integracja platform ASP.NET MVC i Web Forms (409)
Dodatek B. Wykorzystanie NuGet jako platformy (417)
Dodatek C. Najlepsze praktyki (435)
Dodatek D. Odniesienia - tematy, funkcje i scenariusze (449)
Skorowidz (453)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-6645-4 |
Rozmiar pliku: | 8,2 MB |