C# 11 i .NET 7 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 7, Blazor i EF Core 7 - ebook
C# 11 i .NET 7 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 7, Blazor i EF Core 7 - ebook
C# jest flagowym dziełem Microsoftu. Podobnie jak wieloplatformowy framework .NET, jest rozwijany i wzbogacany, a z każdą kolejną wersją praca programisty staje się coraz efektywniejsza i bardziej satysfakcjonująca. Dzięki aktualnej wersji C# 11 i .NET 7 bez trudu zbudujesz złożone witryny internetowe czy aplikacje mobilne.
To kolejne, mocno przebudowane wydanie popularnego przewodnika, dzięki któremu zaczniesz skutecznie programować w języku C#. Nabierzesz wprawy w programowaniu zorientowanym obiektowo, pisaniu, testowaniu i debugowaniu funkcji, implementowaniu interfejsów i zarządzaniu danymi. Zobaczysz, w jaki sposób API środowiska .NET realizuje takie zadania jak monitorowanie wydajności i jej poprawianie, jak również praca z systemem plików i serializacją. Wiedza zawarta w kolejnych rozdziałach pozwoli Ci tworzyć praktyczne aplikacje i serwisy z wykorzystaniem biblioteki ASP.NET Core, wzorca MVC i technologii Blazor.
Z tą książką nauczysz się:
- tworzyć własne typy w programowaniu zorientowanym obiektowo
- pisać, testować i debugować funkcje
- odczytywać dane i manipulować nimi za pomocą LINQ
- pracować z Entity Framework Core, Microsoft SQL Server i SQLite
- tworzyć usługi sieciowe i interfejsy użytkownika
- projektować aplikacje wieloplatformowe
Spis treści
O autorze
O korektorze merytorycznym
Wstęp
ROZDZIAŁ 1. Cześć, C#! Witaj, .NET!
- Konfigurowanie środowiska programistycznego
- Wybieranie narzędzia i typu aplikacji właściwych do nauki
- Instalowanie na wielu platformach
- Pobieranie i instalowanie Visual Studio 2022 dla Windows
- Pobieranie i instalowanie Microsoft Visual Studio Code
- Poznawanie .NET
- Poznawanie .NET Framework
- Poznawanie projektów Mono, Xamarin i Unity
- Poznawanie .NET Core
- Droga do jednej platformy .NET
- Plany obsługi platformy .NET
- Co się zmienia w nowoczesnym .NET?
- Poznawanie .NET Standard
- Platformy .NET i narzędzia używane w tym wydaniu
- Poznawanie języka IL
- Porównanie technologii .NET
- Tworzenie aplikacji konsoli za pomocą Visual Studio 2022
- Zarządzanie wieloma projektami w Visual Studio 2022
- Pisanie kodu za pomocą Visual Studio 2022
- Kompilowanie i uruchamianie kodu w Visual Studio
- Programy najwyższego poziomu
- Dodawanie drugiego projektu w Visual Studio 2022
- Tworzenie aplikacji konsoli za pomocą Visual Studio Code
- Zarządzanie wieloma projektami w Visual Studio Code
- Pisanie kodu za pomocą Visual Studio Code
- Kompilowanie i uruchamianie kodu za pomocą polecenia dotnet
- Dodawanie drugiego projektu w Visual Studio Code
- Badanie kodu w interaktywnych notatnikach .NET
- Używanie interaktywnych notatników .NET do pisania kodu z tej książki
- Przeglądanie folderów i plików projektów
- Wspólne foldery i pliki
- Kod w repozytorium GitHuba
- Wykorzystywanie repozytorium GitHuba w tej książce
- Pobieranie kodu rozwiązań z repozytorium GitHuba
- Używanie systemu Git w Visual Studio Code
- Gdzie znaleźć pomoc?
- Przeglądanie dokumentacji Microsoftu
- Uzyskiwanie pomocy dla narzędzia dotnet
- Przeglądanie definicji typów i ich elementów
- Poszukiwanie odpowiedzi na Stack Overflow
- Poszukiwanie odpowiedzi za pomocą Google
- Subskrybowanie blogów
- Filmy Scotta Hanselmana
- Praktyka i ćwiczenia
- Ćwiczenie 1.1 - sprawdź swoją wiedzę
- Ćwiczenie 1.2 - ćwicz C# gdzie się da
- Ćwiczenie 1.3 - dalsza lektura
- Ćwiczenie 1.4 - motywy kolorystyczne w nowoczesnym .NET
- Podsumowanie
ROZDZIAŁ 2. Mówimy w C#
- Wprowadzenie do języka C#
- Rozpoznawanie wersji oraz funkcji języka
- Standardy języka C#
- Odczytywanie wersji używanego kompilatora C#
- Poznawanie gramatyki i słownictwa języka C#
- Wyświetlanie numeru wersji kompilatora
- Gramatyka języka C#
- Instrukcje
- Komentarze
- Bloki
- Przykłady instrukcji i bloków
- Słownictwo języka C#
- Porównanie języków programowania do języków ludzkich
- Zmiana schematu kolorów składni języka C#
- Pomoc przy pisaniu kodu
- Importowanie przestrzeni nazw
- Niejawne i globalne importowanie przestrzeni nazw
- Czasowniki jako metody
- Rzeczowniki to typy, pola i zmienne
- Ujawnienie wielkości słownika języka C#
- Praca ze zmiennymi
- Nazywanie zmiennych i przypisanie wartości
- Literały
- Przechowywanie tekstu
- Przechowywanie liczb
- Przechowywanie liczb rzeczywistych
- Przechowywanie wartości logicznych
- Zapisywanie obiektów dowolnego typu
- Przechowywanie typów dynamicznych
- Deklarowanie zmiennych lokalnych
- Odczytywanie i ustalanie domyślnych wartości typów
- Dokładniejsze poznawanie aplikacji konsoli
- Wyświetlanie informacji dla użytkownika
- Pobieranie danych od użytkownika
- Uproszczone korzystanie z konsoli
- Odczytywanie naciśnięć klawiszy
- Odczytywanie parametrów aplikacji konsoli
- Ustalanie opcji za pomocą argumentów
- Obsługiwanie platform nieobsługujących wybranych API
- Instrukcje async i await
- Poprawianie reakcji aplikacji konsoli
- Praktyka i ćwiczenia
- Ćwiczenie 2.1 - sprawdź swoją wiedzę
- Ćwiczenie 2.2 - sprawdź swoją wiedzę o typach liczbowych
- Ćwiczenie 2.3 - poznaj wielkości i zakresy liczb
- Ćwiczenie 2.4 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 3. Sterowanie przepływem, konwertowanie typów i obsługa wyjątków
- Działania na zmiennych
- Operatory jednoargumentowe
- Dwuargumentowe operatory arytmetyczne
- Operatory przypisania
- Operatory logiczne
- Warunkowe operatory logiczne
- Operatory bitowe i operatory przesunięć
- Operatory różne
- Instrukcje wyboru
- Instrukcja if
- Dopasowywanie wzorców z instrukcją if
- Instrukcja switch
- Dopasowywanie wzorców z instrukcją switch
- Upraszczanie instrukcji switch za pomocą wyrażeń switch
- Instrukcje iteracji
- Instrukcja while
- Instrukcja do
- Instrukcja for
- Instrukcja foreach
- Zapisywanie wielu wartości w tablicy
- Praca z tablicami jednowymiarowymi
- Praca z tablicami wielowymiarowymi
- Praca z tablicami poszarpanymi
- Dopasowywanie wzorców list w tablicach
- Podsumowanie tablic
- Rzutowanie i konwertowanie między typami
- Jawne i niejawne rzutowanie liczb
- Używanie typu System.Convert
- Zaokrąglanie liczb
- Kontrolowanie sposobu zaokrąglania
- Konwersja z dowolnego typu na ciąg znaków
- Konwertowanie obiektu binarnego na ciąg znaków
- Parsowanie ciągów znaków z liczbami, datami i czasem
- Obsługa wyjątków
- Instrukcja try
- Wykrywanie przepełnień
- Instrukcja checked
- Instrukcja unchecked
- Praktyka i ćwiczenia
- Ćwiczenie 3.1 - sprawdź swoją wiedzę
- Ćwiczenie 3.2 - pętle i przepełnienia
- Ćwiczenie 3.3 - pętle i operatory
- Ćwiczenie 3.4 - obsługa wyjątków
- Ćwiczenie 3.5 - sprawdź swoją wiedzę o operatorach
- Ćwiczenie 3.6 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 4. Pisanie, debugowanie i testowanie funkcji
- Tworzenie funkcji
- Programy i funkcje najwyższego poziomu
- Przykład z tabliczką mnożenia
- Dygresja na temat argumentów i parametrów
- Pisanie funkcji zwracającej wartość
- Rekurencyjne obliczanie silni
- Dokumentowanie funkcji za pomocą komentarzy XML
- Używanie wyrażeń lambda w implementacji funkcji
- Debugowanie tworzonego programu
- Używanie zintegrowanego terminala Visual Studio Code podczas debugowania
- Tworzenie aplikacji z celowym błędem
- Tworzenie punktu przerwania
- Pasek narzędzi debugowania
- Okna debugowania
- Krokowe wykonywanie kodu
- Dostosowywanie punktów przerwania
- Przeładowywanie na gorąco w trakcie programowania
- Przeładowywanie na gorąco w Visual Studio 2022
- Przeładowywanie na gorąco w Visual Studio Code i w wierszu poleceń
- Protokołowanie błędów
- Dostępne opcje protokołowania
- Wykorzystywanie typów Debug i Trace
- Konfigurowanie obiektów nasłuchujących
- Przełączanie poziomów śledzenia
- Protokołowanie informacji o kodzie źródłowym
- Testy jednostkowe
- Różne rodzaje testów
- Tworzenie biblioteki klas wymagającej testowania
- Tworzenie testów jednostkowych
- Rzucanie i wychwytywanie wyjątków w funkcjach
- Rozróżnienie błędów użycia i błędów wykonania
- Wyjątki często rzucane w funkcjach
- Czym jest stos wywołań?
- Gdzie należy wychwytywać wyjątki?
- Ponowne rzucanie wyjątku
- Implementowanie wzorca tester-wykonawca
- Praktyka i ćwiczenia
- Ćwiczenie 4.1 - sprawdź swoją wiedzę
- Ćwiczenie 4.2 - tworzenie funkcji z wykorzystaniem debugowania i testów jednostkowych
- Ćwiczenie 4.3 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 5. Tworzenie własnych typów w programowaniu obiektowym
- Programowanie obiektowe
- Tworzenie bibliotek klas
- Tworzenie biblioteki klas
- Definiowanie klasy w przestrzeni nazw
- Elementy klasy
- Tworzenie obiektów
- Importowanie przestrzeni nazw
- Poznawanie obiektów
- Przechowywanie danych w polach
- Definiowanie pól
- Modyfikatory dostępu
- Ustalanie i wypisywanie wartości pól
- Zapisywanie wartości za pomocą słowa kluczowego enum
- Przechowywanie wielu wartości w typie enum
- Zapisywanie wielu wartości za pomocą kolekcji
- Kolekcje generyczne
- Tworzenie pól statycznych
- Tworzenie stałych pól
- Tworzenie pól tylko do odczytu
- Inicjowanie pól w konstruktorach
- Tworzenie i wywoływanie metod
- Zwracanie wartości z metody
- Łączenie wielu wartości za pomocą krotki
- Sterowanie przekazywaniem parametrów
- Przeciążanie metod
- Parametry opcjonalne i nazywane
- Sposoby przekazywania parametrów
- Zwracanie wartości ze słowem kluczowym ref
- Dzielenie klas na części
- Kontrola dostępu za pomocą właściwości i indekserów
- Definiowanie właściwości tylko do odczytu
- Definiowanie właściwości z możliwością przypisania
- Wymaganie podania wartości właściwości przy tworzeniu obiektu
- Definiowanie indekserów
- Więcej informacji o metodach
- Implementowanie działań w metodzie
- Implementowanie działań za pomocą operatora
- Definiowanie funkcji lokalnych
- Dopasowywanie wzorców z obiektami
- Definiowanie listy pasażerów
- Rozszerzenia dopasowywania wzorców w C# 9 i nowszych
- Praca z rekordami
- Właściwości wyłącznie inicjalizowane
- Rekordy
- Pozycyjne elementy danych w rekordach
- Praktyka i ćwiczenia
- Ćwiczenie 5.1 - sprawdź swoją wiedzę
- Ćwiczenie 5.2 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 6. Implementowanie interfejsów i dziedziczenie klas
- Konfigurowanie biblioteki klas i aplikacji konsoli
- Wykorzystywanie typów generycznych
- Praca z typami niegenerycznymi
- Praca z typami generycznymi
- Wywoływanie i obsługa zdarzeń
- Wywoływanie metod za pomocą delegatów
- Definiowanie i obsługa delegatów
- Definiowanie i obsługiwanie zdarzeń
- Implementowanie interfejsów
- Typowe interfejsy
- Porównywanie obiektów podczas sortowania
- Porównywanie obiektów za pomocą osobnej klasy
- Jawne i niejawne implementowanie interfejsów
- Definiowanie interfejsów z domyślnymi implementacjami
- Zarządzanie pamięcią za pomocą typów referencyjnych i typów wartości
- Definiowanie typów referencyjnych i typów wartości
- Sposób przechowywania w pamięci typów referencyjnych i typów wartości
- Równość typów
- Definiowanie typu kategorii struct
- Praca z typami record struct
- Zwalnianie niezarządzanych zasobów
- Wymuszanie wywołania metody Dispose
- Praca z wartościami null
- Przekształcanie typu wartości w typ nullowalny
- Inicjalizowanie typów nullowalnych
- Poznawanie nullowalnych typów referencyjnych
- Sterowanie funkcją ostrzeżeń dla typów nullowalnych
- Deklarowanie nienullowalnych zmiennych i parametrów
- Sprawdzanie wartości null
- Kontrolowanie wartości null w parametrach metod
- Dziedziczenie klas
- Rozbudowywanie klasy
- Ukrywanie elementów
- Pokrywanie elementów klasy
- Dziedziczenie po klasach abstrakcyjnych
- Blokowanie dziedziczenia i pokrywania
- Polimorfizm
- Rzutowanie w ramach hierarchii dziedziczenia
- Rzutowanie niejawne
- Rzutowanie jawne
- Obsługa wyjątków rzutowania
- Dziedziczenie i rozbudowywanie typów .NET
- Dziedziczenie po wyjątku
- Rozszerzanie typów, po których nie można dziedziczyć
- Tworzenie lepszego kodu
- Traktowanie ostrzeżeń jak błędów
- Fale ostrzegawcze
- Stosowanie analizatorów, aby tworzyć lepszy kod
- Praktyka i ćwiczenia
- Ćwiczenie 6.1 - sprawdź swoją wiedzę
- Ćwiczenie 6.2 - tworzenie hierarchii dziedziczenia
- Ćwiczenie 6.3 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 7. Poznawanie typów .NET
- Wprowadzenie do .NET 7
- .NET Core 1.0
- .NET Core 1.1
- .NET Core 2.0
- .NET Core 2.1
- .NET Core 2.2
- .NET Core 3.0
- .NET Core 3.1
- .NET 5.0
- .NET 6.0
- .NET 7.0
- Poprawki wydajności między .NET 5 a nowszymi wersjami
- Sprawdzanie dostępności aktualizacji .NET SDK
- Zestawy i przestrzenie nazw
- Zestawy, pakiety i przestrzenie nazw
- Poznawanie pakietów SDK dla projektów .NET
- Przestrzenie nazw i typy w zestawach
- Pakiety NuGet
- Czym są frameworki?
- Importowanie przestrzeni nazw w celu użycia typu
- Związki słów kluczowych języka C# z typami .NET
- Wieloplatformowe współdzielenie kodu z bibliotekami klas .NET Standard
- Domyślne ustawienia bibliotek klas w różnych wersjach SDK
- Tworzenie biblioteki klas .NET Standard 2.0
- Kontrolowanie wersji .NET SDK
- Publikowanie własnych aplikacji
- Tworzenie aplikacji konsoli do publikacji
- Poznawanie polecenia dotnet
- Pobieranie informacji na temat platformy .NET i jej środowiska
- Zarządzanie projektami
- Publikowanie samodzielnej aplikacji
- Publikowanie aplikacji jednoplikowej
- Zmniejszanie wielkości aplikacji
- Dekompilowanie zestawów
- Dekompilowanie za pomocą rozszerzenia ILSpy w Visual Studio 2022
- Przeglądanie oryginalnych źródeł w Visual Studio 2022
- Nie, nie można zablokować możliwości dekompilowania
- Przygotowywanie własnych pakietów NuGet
- Dodawanie odwołania do pakietu
- Tworzenie pakietu dla NuGet
- Przeszukiwanie pakietów NuGet
- Testowanie pakietu
- Przenoszenie kodu z .NET Framework do .NET Core
- Co można przenieść?
- Co należy przenieść?
- Różnice między .NET Framework i nowoczesnym .NET
- Korzystanie z programu .NET Portability Analyzer
- Asystent uaktualniania programu .NET
- Używanie bibliotek spoza .NET
- Praca z proponowanymi funkcjami
- Wymaganie proponowanych funkcji
- Włączanie proponowanych funkcji
- Praktyka i ćwiczenia
- Ćwiczenie 7.1 - sprawdź swoją wiedzę
- Ćwiczenie 7.2 - dalsza lektura
- Ćwiczenie 7.3 - PowerShell
- Podsumowanie
ROZDZIAŁ 8. Używanie typów .NET
- Praca z liczbami
- Praca z wielkimi liczbami całkowitymi
- Praca z liczbami zespolonymi
- Kwaterniony
- Generowanie liczb losowych na potrzeby gier i podobnych aplikacji
- Praca z tekstem
- Odczytywanie długości ciągu znaków
- Odczytywanie znaków z ciągu
- Dzielenie ciągu znaków
- Pobieranie części ciągu znaków
- Poszukiwanie tekstu w ciągu
- Inne elementy klasy string
- Wydajne tworzenie ciągów znaków
- Dopasowywanie wzorców za pomocą wyrażeń regularnych
- Kontrolowanie cyfr wprowadzonych jako tekst
- Poprawianie wydajności wyrażeń regularnych
- Składnia wyrażenia regularnego
- Przykłady wyrażeń regularnych
- Dzielenie złożonych ciągów znaków rozdzielanych przecinkami
- Włączanie kolorowania składni wyrażeń regularnych
- Poprawianie wydajności wyrażeń regularnych za pomocą generatorów kodu
- Praca z kolekcjami
- Wspólne funkcje wszystkich kolekcji
- Poprawianie wydajności przez zdefiniowanie pojemności kolekcji
- Poznawanie kolekcji
- Praca z listami
- Praca ze słownikami
- Praca z kolejkami
- Sortowanie kolekcji
- Używanie specjalizowanych kolekcji
- Używanie kolekcji niezmiennych
- Dobre praktyki w pracy z kolekcjami
- Praca z typem Span, indeksami i zakresami
- Wydajne korzystanie z pamięci za pomocą typu Span
- Określanie pozycji za pomocą typu Index
- Definiowanie zakresów za pomocą typu Range
- Używanie indeksów i zakresów
- Praca z zasobami sieciowymi
- Praca z adresami URI, serwerami DNS i adresami IP
- Pingowanie serwera
- Praktyka i ćwiczenia
- Ćwiczenie 8.1 - sprawdź swoją wiedzę
- Ćwiczenie 8.2 - wyrażenia regularne
- Ćwiczenie 8.3 - metody rozszerzające
- Ćwiczenie 8.4 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 9. Praca z plikami, strumieniami i serializacją
- Praca z systemem plików
- Obsługa środowisk i systemów plików na wielu platformach
- Obsługa napędów
- Praca z katalogami
- Praca z plikami
- Praca ze ścieżkami
- Odczytywanie informacji o pliku
- Zarządzanie plikami
- Odczytywanie i zapisywanie w strumieniach
- Strumienie abstrakcyjne i konkretne
- Praca ze strumieniami tekstowymi
- Praca ze strumieniami XML
- Uproszczenie zwalniania zasobów za pomocą instrukcji using
- Strumienie kompresujące
- Praca z archiwami tar
- Kodowanie tekstu
- Kodowanie ciągu znaków jako tablicy bajtów
- Kodowanie i dekodowanie tekstu w plikach
- Odczytywanie i zapisywanie w urządzeniach o dostępie swobodnym
- Serializacja obiektów
- Serializacja do formatu XML
- Generowanie kompaktowej struktury XML
- Deserializacja danych z formatu XML
- Serializowanie do formatu JSON
- Wydajne przetwarzanie danych w formacie JSON
- Kontrolowane przetwarzanie danych JSON
- Nowe metody rozszerzające, które ułatwiają pracę z odpowiedziami HTTP
- Przenoszenie kodu z biblioteki Newtonsoft do nowej biblioteki
- Praktyka i ćwiczenia
- Ćwiczenie 9.1 - sprawdź swoją wiedzę
- Ćwiczenie 9.2 - serializowanie do formatu XML
- Ćwiczenie 9.3 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 10. Praca z bazami danych przy użyciu Entity Framework Core
- Nowoczesne bazy danych
- Czym jest Entity Framework?
- Entity Framework Core
- Co znaczy "najpierw baza danych" i "najpierw kod"?
- Usprawnienia wydajności w EF Core 7
- Tworzenie aplikacji konsoli do pracy z EF Core
- Używanie przykładowej relacyjnej bazy danych
- Używanie SQLite
- Tworzenie przykładowej bazy danych Northwind na serwerze SQLite
- Zarządzanie przykładową bazą danych Northwind za pomocą SQLiteStudio
- Używanie lekkiego dostawcy ADO.NET dla SQLite
- Używanie Microsoft SQL Server w systemie Windows
- Konfigurowanie EF Core
- Wybieranie dostawcy danych EF Core
- Łączenie z bazą danych
- Definiowanie klasy kontekstu bazy danych Northwind
- Definiowanie modeli EF Core
- Konwencje w EF Core
- Atrybuty EF Core
- Płynne API EF Core
- Tworzenie modelu w EF Core
- Dodawanie tabel do klasy kontekstu bazy danych Northwind
- Konfigurowanie narzędzia dotnet-ef
- Tworzenie modeli na podstawie istniejącej bazy danych
- Dostosowywanie szablonów wstecznej inżynierii
- Konfigurowanie konwencji
- Zapytania do modelu EF Core
- Filtrowanie dołączanych encji
- Filtrowanie i sortowanie produktów
- Pobieranie generowanych instrukcji SQL
- Protokołowanie w EF Core
- Dopasowywanie wzorców za pomocą instrukcji Like
- Generowanie liczb losowych w zapytaniach
- Definiowanie globalnych filtrów
- Wzorce ładowania w EF Core
- Chętne ładowanie encji za pomocą metody rozszerzającej Include
- Włączenie leniwego ładowania
- Jawne ładowanie encji za pomocą metody Load
- Manipulowanie danymi w EF Core
- Wstawianie encji
- Aktualizowanie encji
- Usuwanie encji
- Wydajniejsze aktualizowanie i usuwanie
- Grupowanie kontekstów baz danych
- Transakcje
- Sterowanie transakcjami za pomocą poziomów izolacji
- Jawne definiowanie transakcji
- Modele Code First w EF Core
- Praktyka i ćwiczenia
- Ćwiczenie 10.1 - sprawdź swoją wiedzę
- Ćwiczenie 10.2 - eksportowanie danych z wykorzystaniem różnych formatów serializacji
- Ćwiczenie 10.3 - dalsza lektura
- Ćwiczenie 10.4 - poznawanie baz danych NoSQL
- Podsumowanie
ROZDZIAŁ 11. Odczytywanie danych i manipulowanie nimi za pomocą LINQ
- Dlaczego LINQ?
- Porównanie imperatywnych i deklaratywnych funkcji języka
- Tworzenie wyrażeń LINQ
- Z czego składa się LINQ?
- Rozbudowa sekwencji za pomocą klas wyliczeniowych
- Czym jest opóźnione wykonanie?
- Filtrowanie encji za pomocą metody Where
- Korzystanie z metody nazwanej
- Upraszczanie kodu przez usunięcie jawnego tworzenia delegata
- Korzystanie z wyrażenia lambda
- Sortowanie encji
- Sortowanie według elementów
- Deklarowanie zapytania za pomocą słowa kluczowego var lub określonego typu
- Filtrowanie według typu
- Praca ze zbiorami
- Używanie LINQ z EF Core
- Tworzenie modelu danych EF Core
- Filtrowanie i sortowanie sekwencji
- Projekcje sekwencji na nowe typy
- Łączenie i grupowanie
- Agregowanie sekwencji
- Uważaj na właściwość Count!
- Stronicowanie z LINQ
- Upiększanie składni
- Używanie wielu wątków w równoległych zapytaniach LINQ
- Tworzenie własnych metod rozszerzających dla LINQ
- Próba użycia nowych metod rozszerzających
- Praca z LINQ to XML
- Generowanie danych XML za pomocą LINQ to XML
- Odczytywanie danych XML za pomocą LINQ to XML
- Praktyka i ćwiczenia
- Ćwiczenie 11.1 - sprawdź swoją wiedzę
- Ćwiczenie 11.2 - zapytania LINQ
- Ćwiczenie 11.3 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 12. Wprowadzenie do aplikacji sieciowych w ASP.NET Core
- Czym jest ASP.NET Core?
- Klasyczna ASP.NET kontra ASP.NET Core
- Tworzenie stron WWW za pomocą ASP.NET Core
- Tworzenie serwisów sieciowych
- Nowe funkcje w ASP.NET Core
- ASP.NET Core 1.0
- ASP.NET Core 1.1
- ASP.NET Core 2.0
- ASP.NET Core 2.1
- ASP.NET Core 2.2
- ASP.NET Core 3.0
- ASP.NET Core 3.1
- Blazor WebAssembly 3.2
- ASP.NET Core 5.0
- ASP.NET Core 6.0
- ASP.NET Core 7.0
- Struktury projektów
- Struktura projektów w rozwiązaniu lub przestrzeni roboczej
- Tworzenie modelu danych dla bazy danych Northwind
- Tworzenie biblioteki klas dla modelu encji Northwind
- Tworzenie biblioteki klas modelu encji dla SQL Server
- Testowanie bibliotek klas
- Tworzenie w sieci WWW
- Protokół HTTP
- Używanie Google Chrome do wykonywania żądań HTTP
- Tworzenie oprogramowania dla sieci WWW po stronie klienta
- Praktyka i ćwiczenia
- Ćwiczenie 12.1 - sprawdź swoją wiedzę
- Ćwiczenie 12.2 - znasz te skrótowce?
- Ćwiczenie 12.3 - dalsza lekura
- Podsumowanie
ROZDZIAŁ 13. Tworzenie witryn WWW przy użyciu ASP.NET Core Razor Pages
- ASP.NET Core
- Tworzenie pustego projektu ASP.NET Core
- Testowanie i zabezpieczanie witryny
- Kontrola środowiska hostingowego
- Włączanie plików statycznych
- Technologia Razor Pages
- Włączanie technologii Razor Pages
- Definiowanie strony Razor
- Używanie wspólnego układu w wielu stronach Razor
- Używanie plików code-behind w stronach Razor
- Używanie Entity Framework Core z ASP.NET Core
- Konfigurowanie Entity Framework Core jako serwisu
- Manipulowanie danymi na stronach Razor
- Wstrzykiwanie zależnego serwisu na stronę Razor
- Używanie bibliotek klas Razor
- Wyłączanie kompaktowych folderów w Visual Studio Code
- Tworzenie biblioteki klas Razor
- Implementowanie widoku cząstkowego do wyświetlania danych pracownika
- Używanie i testowanie biblioteki klas Razor
- Konfigurowanie serwisów i potoku obsługi żądań HTTP
- Routowanie punktów końcowych
- Konfigurowanie routowania punktów końcowych
- Przeglądanie konfiguracji routowania punktów końcowych w naszym projekcie
- Przygotowywanie potoku obsługi żądań HTTP
- Podsumowanie najważniejszych metod rozszerzających oprogramowania pośredniego
- Wizualizacja potoku HTTP
- Implementowanie oprogramowania pośredniego jako anonimowego delegata
- Włączanie obsługi dekompresji żądań
- Włączanie obsługi HTTP/3
- Praktyka i ćwiczenia
- Ćwiczenie 13.1 - sprawdź swoją wiedzę
- Ćwiczenie 13.2 - tworzenie witryny obsługującej dane
- Ćwiczenie 13.3 - zastępowanie aplikacji konsoli stronami WWW
- Ćwiczenie 13.4 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 14. Tworzenie aplikacji WWW przy użyciu ASP.NET Core MVC
- Konfigurowanie witryny ASP.NET Core MVC
- Tworzenie witryny ASP.NET Core MVC
- Tworzenie bazy danych uwierzytelniania na serwerze SQL Server LocalDB
- Przeglądanie domyślnej witryny ASP.NET Core MVC
- Uruchamianie projektu witryny Mvc
- Rejestrowanie użytkowników
- Przegląd szablonu projektu ASP.NET Core MVC
- Sprawdzanie bazy danych ASP.NET Core Identity
- Poznawanie mechanizmów ASP.NET Core MVC
- Rozruch ASP.NET Core
- Czym jest domyślna ścieżka?
- Kontrolery i akcje
- Konwencja wyszukiwania ścieżek widoku
- Protokołowanie z wykorzystaniem serwisu zależnego
- Modele encji i widoków
- Widoki
- Jak działa cache busting włączany znacznikami pomocniczymi?
- Dostosowywanie witryny ASP.NET Core MVC
- Definiowanie własnych stylów
- Konfigurowanie obrazków dla kategorii
- Składnia i wyrażenia Razor
- Definiowanie typu dla widoku
- Przekazywanie parametrów przy użyciu wartości ścieżki
- Wiązanie modeli
- Sprawdzanie poprawności modelu
- Poznawanie pomocniczych metod widoku
- Definiowanie widoków za pomocą znaczników pomocniczych
- Czym są filtry?
- Zapisywanie danych wyjściowych w pamięci podręcznej
- Odczytywanie danych z bazy i używanie szablonów wyświetlania
- Poprawianie skalowalności za pomocą asynchronicznych zadań
- Przygotowanie asynchronicznych metod akcji kontrolera
- Praktyka i ćwiczenia
- Ćwiczenie 14.1 - sprawdź swoją wiedzę
- Ćwiczenie 14.2 - implementowanie wzorca MVC w tworzonej stronie danych kategorii
- Ćwiczenie 14.3 - poprawianie skalowalności przez poznawanie i implementowanie asynchronicznych metod akcji
- Ćwiczenie 14.4 - testy jednostkowe dla kontrolerów
- Ćwiczenie 14.5 - dalsza lektura
- Podsumowanie
ROZDZIAŁ 15. Tworzenie i używanie serwisów sieciowych
- Tworzenie serwisów w technologii ASP.NET Core Web API
- Skróty...
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-8322-688-0 |
Rozmiar pliku: | 24 MB |