Деталі електронної книги

C# 12 i .NET 8 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 8, Blazor i EF Core 8. Wydanie VIII

C# 12 i .NET 8 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 8, Blazor i EF Core 8. Wydanie VIII

Mark J. Price

Eлектронна книга

Microsoft może być dumny z języka C# i platformy .NET! Są one konsekwentnie rozwijane i wzbogacane, a z każdą kolejną wersją praca programisty staje się coraz efektywniejsza i bardziej satysfakcjonująca. Dzięki aktualnej wersji C# 12 i .NET 8 bez trudu będziesz tworzyć rozbudowane witryny internetowe czy aplikacje mobilne.

Ta książka jest kolejnym, starannie zaktualizowanym wydaniem cenionego i lubianego poradnika, dzięki któremu Twoja praca w języku C# stanie się przyjemna i wydajna. Znajdziesz tu liczne przykłady prezentujące nowe elementy .NET 8: aliasy typów i konstruktory podstawowe, zapewniające spójny i czytelny kod. Nauczysz się stosować klauzule ochronne i uproszczoną implementację pamięci podręcznej w ASP.NET Core 8. Poznasz też nową metodę kompilacji AOT, dzięki której publikowane serwisy zajmują mniej pamięci i szybciej się uruchamiają. Na zakończenie zaznajomisz się również z technologią Blazor Full Stack, będącą nowym, zunifikowanym modelem elastycznego projektowania aplikacji sieciowych.

Z tą książką nauczysz się:

  • używać nowych funkcji języka C# 12
  • stosować kompilację native AOT dla serwisów sieciowych z minimalnym API
  • korzystać z technologii Blazor Full Stack, Razor Pages i innych funkcji ASP.NET Core
  • tworzyć i aktualizować bazy danych w aplikacjach
  • odczytywać dane i manipulować nimi za pomocą LINQ
  • budować złożone serwisy za pomocą WebAPI lub Minimal API

Nowa jakość programowania w Twoich rękach. Poznaj pełny potencjał C# 12 i .NET 8!

O autorze

O korektorze merytorycznym

Wstęp

Rozdział 1. Cześć, C#! Witaj, .NET!

  • Wprowadzenie do książki i jej zawartości
    • Pobieranie kodu przygotowanego dla tej książki
    • Pojęcia związane z .NET używane w tej książce
    • Struktura książki i używany w niej styl
    • Tematy omawiane w tej książce
  • 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
    • Plany obsługi platformy .NET
    • Poznawanie języka IL
    • Porównanie technologii .NET
    • Zarządzanie wieloma projektami w edytorach kodu
  • Tworzenie aplikacji konsoli za pomocą Visual Studio 2022
    • Pisanie kodu za pomocą Visual Studio 2022
    • Kompilowanie i uruchamianie kodu w Visual Studio
    • Programy najwyższego poziomu
    • Wymagania programów najwyższego poziomu
    • Ujawnianie przestrzeni nazwy klasy Program
    • Dodawanie drugiego projektu w Visual Studio 2022
  • Tworzenie aplikacji konsoli za pomocą 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
    • Podsumowanie kroków wykonanych w Visual Studio Code
    • Podsumowanie innych typów projektów używanych w tej książce
  • Wykorzystywanie repozytorium GitHuba w tej książce
    • Kod aplikacji tworzonych 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
    • Linki do dokumentacji używane w tej książce
    • Uzyskiwanie pomocy dla narzędzia dotnet
    • Przeglądanie definicji typów i ich elementów
    • Konfigurowanie wskazówek w tekście
    • Poszukiwanie odpowiedzi na Stack Overflow
    • Poszukiwanie odpowiedzi za pomocą Google
    • Przeszukiwanie kodu źródłowego .NET
    • Subskrybowanie blogów
    • Filmy Scotta Hanselmana
    • Narzędzia AI, takie jak ChatGPT i GitHub Copilot
    • Wyłączanie narzędzi, gdy zaczynają przeszkadzać
  • 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 - używanie notatników Polyglot
    • Ćwiczenie 1.5 - motywy kolorystyczne w nowoczesnym .NET
    • Ćwiczenie 1.6 - darmowa nauka C# i certyfikacja
    • Ćwiczenie 1.7 - wersje alfa platformy .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#
    • Wyświetlanie numeru wersji kompilatora
  • Poznawanie gramatyki i słownictwa języka C#
    • 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#
    • Przykład prośby do ChatGPT o wyjaśnienie kodu
  • 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
    • Ćwiczenie 2.5 - Pakiet Spectre
  • Podsumowanie

Rozdział 3. Sterowanie przepływem, konwertowanie typów i obsługa wyjątków

  • Działania na zmiennych
    • Operatory dwuargumentowe
    • Operatory jednoargumentowe
    • Operatory trójargumentowe
    • Objaśnienie operatorów jednoargumentowych
    • Objaśnianie dwuargumentowych operatorów arytmetycznych
    • Operatory przypisania
    • Operatory pomijania wartości null
    • 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
    • Dodawanie nowego elementu do projektu w Visual Studio 2022
    • 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
    • Tablice inline
    • Podsumowanie tablic
  • Rzutowanie i konwertowanie między typami
    • Jawne i niejawne rzutowanie liczb
    • Zapisywanie liczb ujemnych w postaci binarnej
    • 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
    • Konwencja nazywania metod ze słowem Try
  • 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 - sprawdź swoją wiedzę o operatorach
    • Ćwiczenie 3.4 - pętle i operatory
    • Ćwiczenie 3.5 - obsługa wyjątków
    • Ćwiczenie 3.6 - poznaj notatniki C#
    • Ćwiczenie 3.7 - dalsza lektura
  • Podsumowanie

Rozdział 4. Pisanie, debugowanie i testowanie funkcji

  • Tworzenie funkcji
    • Programy i funkcje najwyższego poziomu
    • Co jest automatycznie generowane dla funkcji lokalnej?
    • Definiowanie częściowej klasy Program z funkcjami statycznymi
    • Co jest generowane automatycznie dla funkcji statycznej?
    • 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
    • Tworzenie aplikacji z celowym błędem
    • Tworzenie punktu przerwania
    • Pasek narzędzi debugowania
    • Okna debugowania
    • Krokowe wykonywanie kodu
    • Używanie zintegrowanego terminala Visual Studio Code podczas debugowania
    • 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
    • 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
    • Rzucanie wyjątków za pomocą klauzul ochronnych
    • Czym jest stos wywołań?
    • Gdzie należy wychwytywać wyjątki?
    • Ponowne rzucanie wyjątku
    • Implementowanie wzorca tester-wykonawca i wzorca próby
  • 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
    • Przestrzenie nazw o zasięgu całego pliku
    • Definiowanie klasy w przestrzeni nazw
    • Modyfikatory dostępu
    • Elementy klasy
    • Importowanie przestrzeni nazw, aby użyć wybranego typu
    • Tworzenie obiektów
  • Przechowywanie danych w polach
    • Definiowanie pól
    • Typy pól
    • Modyfikatory dostępu
    • Ustalanie i wypisywanie wartości pól
    • Ustalanie wartości pól za pomocą składni inicjalizacji obiektu
    • 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
    • Wymaganie podania wartości właściwości przy tworzeniu obiektu
    • Inicjalizowanie pól w konstruktorach
  • Praca z metodami i krotkami
    • Zwracanie wartości z metody
    • Sterowanie przekazywaniem parametrów
    • Przeciążanie metod
    • Parametry opcjonalne i nazywane
    • Mieszanie parametrów opcjonalnych i wymaganych
    • Sposoby przekazywania parametrów
    • Zwracanie wartości ze słowem kluczowym ref
    • Łączenie wielu wartości za pomocą krotki
    • Implementowanie funkcji lokalnych
  • 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
    • Ograniczanie wartości typów wyliczeniowych
    • Definiowanie indekserów
  • 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
    • Równość typów rekordowych
    • Pozycyjne elementy danych w rekordach
    • Definiowanie podstawowego konstruktora klasy
  • Praktyka i ćwiczenia
    • Ćwiczenie 5.1 - sprawdź swoją wiedzę
    • Ćwiczenie 5.2 - modyfikatory dostępu
    • Ćwiczenie 5.3 - dalsza lektura
  • Podsumowanie

Rozdział 6. Implementowanie interfejsów i dziedziczenie klas

  • Konfigurowanie biblioteki klas i aplikacji konsoli
  • Metody statyczne i przeciążanie operatorów
    • Implementowanie działań w metodzie
    • Implementowanie działań za pomocą operatora
  • 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
    • Przykłady używania delegatów
    • Status: to skomplikowane!
    • Definiowanie i obsługa delegatów
    • Definiowanie i obsługa 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
    • Pamięć stosu i sterty
    • Definiowanie typów referencyjnych i typów wartości
    • Sposób przechowywania w pamięci typów referencyjnych i typów wartości
    • Boxing
    • 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
    • Wyłączanie innych ostrzeżeń kompilatora
    • Deklarowanie nienullowalnych zmiennych i parametrów
    • Sprawdzanie wartości null
    • Kontrolowanie wartości null w parametrach metod
  • Dziedziczenie klas
    • Rozbudowywanie klasy
    • Ukrywanie elementów
    • Słowa kluczowe this i base
    • Pokrywanie elementów klasy
    • Dziedziczenie po klasach abstrakcyjnych
    • Wybieranie między interfejsem a klasą abstrakcyjną
    • 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ć
  • Możliwości tworzenia własnych typów
    • Kategorie własnych typów i ich możliwości
    • Zmienność i rekordy
    • Dziedziczenie i implementowanie
    • Przeglądanie przykładowego kodu
  • Praktyka i ćwiczenia
    • Ćwiczenie 6.1 - sprawdź swoją wiedzę
    • Ćwiczenie 6.2 - tworzenie hierarchii dziedziczenia
    • Ćwiczenie 6.3 - pisanie lepszego kodu
    • Ćwiczenie 6.4 - dalsza lektura
  • Podsumowanie

Rozdział 7. Poznawanie typów .NET

  • Wprowadzenie do .NET 8
    • 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
    • Kontrolowanie wersji .NET SDK
    • Mieszanie pakietów SDK i docelowych frameworków
  • 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
    • Kontrolowanie miejsca tworzenia artefaktów
  • Kompilacja native AOT
  • 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
  • Praca z proponowanymi funkcjami
    • Wymaganie proponowanych funkcji
    • Włączanie proponowanych funkcji
    • Interceptory metod
  • Praktyka i ćwiczenia
    • Ćwiczenie 7.1 - sprawdź swoją wiedzę
    • Ćwiczenie 7.2 - dalsza lektura
    • Ćwiczenie 7.3 - przenoszenie kodu z .NET Framework do nowoczesnego .NET
    • Ćwiczenie 7.4 - tworzenie generatorów kodu źródłowego
    • Ćwiczenie 7.5 - PowerShell
    • Ćwiczenie 7.6 - poprawianie wydajności w .NET
  • Podsumowanie

Rozdział 8. Używanie typów .NET

  • Praca z liczbami
    • Praca z wielkimi liczbami całkowitymi
    • Praca z liczbami zespolonymi
    • Generowanie liczb losowych na potrzeby gier i podobnych aplikacji
    • Generowanie identyfikatorów GUID
  • 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
    • Porównywanie ciągów znaków
    • 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
    • Sortowanie kolekcji
    • Używanie specjalizowanych kolekcji
    • Kolekcje tylko do odczytu, niezmienne i zamrożone
    • Inicjalizowanie kolekcji za pomocą wyrażeń kolekcji
    • 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
  • Praktyka i ćwiczenia
    • Ćwiczenie 8.1 - sprawdź swoją wiedzę
    • Ćwiczenie 8.2 - wyrażenia regularne
    • Ćwiczenie 8.3 - metody rozszerzające
    • Ćwiczenie 8.4 - praca z zasobami sieciowymi
    • Ćwiczenie 8.5 - dalsza lektura
  • Podsumowanie

Rozdział 9. Hardening i bezpieczeństwo

  • Program antywirusowy Microsoft Defender
    • Instalacja programu antywirusowego Microsoft Defender
    • Wykorzystanie interfejsu użytkownika
    • Wyłączanie programu antywirusowego Microsoft Defender
    • Czym w ogóle jest ATP?
    • Windows Defender ATP Exploit Guard
  • Zapora systemu Windows Defender - bez żartów
    • Trzy konsole administracyjne zapory systemu Windows
    • Trzy różne profile zapory
    • Tworzenie w zaporze nowej reguły przychodzącej
    • Tworzenie reguły zezwalającej na wysyłanie pingów (ICMP)
    • Zarządzanie zaporą WFAS przy użyciu zasad grupy
  • Technologie szyfrowania
    • BitLocker i wirtualny układ TPM
    • Chronione maszyny wirtualne
    • Szyfrowane sieci wirtualne
    • Encrypting File System
    • Protokoły IPsec
  • Azure AD Password Protection
  • Szczegółowe zasady dotyczące haseł
  • Zaawansowana analiza zagrożeń - koniec wsparcia
    • Czym jest (była) ATA?
    • Microsoft Defender for Identity
  • Najważniejsze wskazówki dotyczące ogólnego bezpieczeństwa
    • Pozbycie się wiecznych administratorów
    • Korzystanie z odrębnych kont w celu uzyskania dostępu administracyjnego
    • Używanie innego komputera do wykonywania zadań administracyjnych
    • Nigdy nie przeglądaj internetu, będąc zalogowanym na serwerze
    • Kontrola dostępu oparta na rolach
    • Just Enough Administration
    • Zmiana portu 3389 połączenia pulpitu zdalnego
    • Natychmiast wyłącz zewnętrzne połączenia pulpitu zdalnego
    • Wyłącz niebezpieczne protokoły szyfrowania
  • Podsumowanie
  • Pytania

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
    • Używanie przykładowej relacyjnej bazy danych
    • Używanie SQLite
  • Konfigurowanie EF Core w projekcie .NET
    • Tworzenie aplikacji konsoli do pracy z EF Core
    • 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
    • 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
    • Pobieranie pojedynczej encji
    • Dopasowywanie wzorców za pomocą instrukcji Like
    • Generowanie liczb losowych w zapytaniach
    • Definiowanie globalnych filtrów
  • Wzorce ładowania i śledzenia w EF Core
    • Chętne ładowanie encji za pomocą metody rozszerzającej Include
    • Włączenie leniwego ładowania
    • Jawne ładowanie encji za pomocą metody Load
    • Kontrolowanie śledzenia encji
  • Manipulowanie danymi w EF Core
    • Wstawianie encji
    • Aktualizowanie encji
    • Usuwanie encji
    • Wydajniejsze aktualizowanie i usuwanie
    • Grupowanie kontekstów baz danych
  • Praktyka i ćwiczenia
    • Ćwiczenie 10.1 - sprawdź swoją wiedzę
    • Ćwiczenie 10.2 - eksportowanie danych z wykorzystaniem różnych formatów serializacji
    • Ćwiczenie 10.3 - praca z transakcjami
    • Ćwiczenie 10.4 - modele Code First w EF Code
    • Ćwiczenie 10.5 - sekrety aplikacji
    • Ćwiczenie 10.6 - dalsza lektura
    • Ćwiczenie 10.7 - poznawanie baz danych NoSQL
  • Podsumowanie

Rozdział 11. Odczytywanie danych i manipulowanie nimi za pomocą LINQ

  • Tworzenie wyrażeń LINQ
    • Porównanie imperatywnych i deklaratywnych funkcji języka
    • Z czego składa się LINQ?
    • Rozbudowa sekwencji za pomocą klas wyliczeniowych
  • LINQ w praktyce
    • 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 aplikacji konsoli do nauki LINQ dla Encji
    • Tworzenie modelu danych EF Core
    • Filtrowanie i sortowanie sekwencji
    • Projekcje sekwencji na nowe typy
    • Łączenie i grupowanie
    • Grupowanie wyszukiwań
    • Agregowanie i stronicowanie sekwencji
    • Sprawdzanie, czy sekwencja nie jest pusta
    • Uważaj na właściwość Count!
    • Stronicowanie z LINQ
  • Upiększanie składni
  • Praktyka i ćwiczenia
    • Ćwiczenie 11.1 - sprawdź swoją wiedzę
    • Ćwiczenie 11.2 - zapytania LINQ
    • Ćwiczenie 11.3 - używanie wielu wątków w zapytaniach LINQ
    • Ćwiczenie 11.4 - praca z LINQ to XML
    • Ćwiczenie 11.5 - tworzenie własnych metod rozszerzających LINQ
    • Ćwiczenie 11.6 - 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
  • Struktury projektów
    • Struktura projektów w rozwiązaniu
  • Tworzenie modelu encji używanego w tej książce
    • Tworzenie bazy danych Northwind
    • Tworzenie biblioteki klas dla modelu encji bazy SQLite
    • Dostosowanie modelu i definiowanie metod rozszerzających
    • Rejestrowanie zakresu zależnego serwisu
    • 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 lektura
  • 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
    • Żądania w przeglądarce podczas tworzenia aplikacji
  • Technologia Razor Pages
    • Włączanie technologii Razor Pages
    • Definiowanie strony Razor
    • Używanie wspólnego układu w wielu stronach Razor
    • Tymczasowe przechowywanie danych
    • Używanie plików code-behind w stronach Razor
    • Konfigurowanie plików dołączanych do projektu ASP.NET Core
    • Operacje kompilowania pliku projektu
  • 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
  • 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średniczącego
    • Wizualizacja potoku HTTP
    • Implementowanie oprogramowania pośredniczącego jako anonimowego delegata
  • Praktyka i ćwiczenia
    • Ćwiczenie 13.1 - sprawdź swoją wiedzę
    • Ćwiczenie 13.2 - używanie bibliotek klas Razor
    • Ćwiczenie 13.3 - włączenie HTTP/3 i obsługa dekompresji żądań
    • Ćwiczenie 13.4 - tworzenie witryny obsługującej dane
    • Ćwiczenie 13.5 - zastępowanie aplikacji konsoli stronami WWW
    • Ćwiczenie 13.6 - wprowadzenie do biblioteki Bootstrap
    • Ćwiczenie 13.7 - dalsza lektura
    • Ćwiczenie 13.8 - tworzenie witryn WWW za pomocą wzorca Model-View-Controller
  • Podsumowanie

Rozdział 14. Tworzenie i używanie serwisów sieciowych

  • Tworzenie serwisów w technologii ASP.NET Core Web API
    • Skróty stosowane w serwisach sieciowych
    • Żądania i odpowiedzi HTTP w Web API
    • Tworzenie projektu ASP.NET Core Web API
    • Sprawdzanie funkcji serwisu sieciowego
    • Tworzenie serwisu internetowego dla bazy danych Northwind
    • Rejestrowanie serwisów zależnych
    • Tworzenie repozytorium danych dla encji
    • Routowanie w serwisach sieciowych
    • Konfigurowanie repozytorium klientów i kontrolera Web API
    • Podawanie szczegółów problemu
    • Kontrola nad serializacją XML
  • Dokumentowanie i testowanie serwisów
    • Testowanie żądań GET za pomocą przeglądarki
    • Testowanie żądań HTTP za pomocą narzędzi HTTP/REST
    • Włączanie narzędzia Swagger
    • Testowanie żądań w narzędziu SwaggerUI
    • Włączanie protokołowania HTTP
    • Obsługa protokołowania dodatkowych nagłówków żądań w systemie W3CLogger
  • Używanie serwisu za pomocą klientów HTTP
    • Klasa HttpClient
    • Konfigurowanie klientów HTTP za pomocą klasy HttpClientFactory
    • Pobieranie w kontrolerze listy klientów w formacie JSON
    • Uruchamianie wielu projektów
    • Uruchamianie projektów serwisu sieciowego i klienta MVC
  • Praktyka i ćwiczenia
    • Ćwiczenie 14.1 - sprawdź swoją wiedzę
    • Ćwiczenie 14.2 - ćwiczenia w tworzeniu i usuwaniu klientów za pomocą HttpClient
    • Ćwiczenie 14.3 - implementowanie zaawansowanych funkcji serwisów sieciowych
    • Ćwiczenie 14.4 - tworzenie serwisów sieciowych za pomocą minimalnego API
    • Ćwiczenie 14.5 - dalsza lektura
  • Podsumowanie

Rozdział 15. Tworzenie interfejsów użytkownika w technologii Blazor

  • Technologia Blazor
    • JavaScript i podobne
    • Silverlight - C# i .NET w formie wtyczki
    • WebAssembly - podstawa technologii Blazor
    • Różne modele hostowania komponentów Blazora w .NET 7 i starszych
    • Unifikacja modeli hostowania Blazor w .NET 8
    • Omówienie komponentów tworzonych za pomocą Blazora
    • Czym różnią się Blazor i Razor?
  • Przeglądanie szablonu projektu Blazor Web App
    • Tworzenie projektu Blazor Web App
    • Routing, układy i nawigacja w aplikacji Blazor
    • Klasy komponentów bazowych
    • Uruchamianie szablonu projektu Blazor Web App
  • Tworzenie komponentów Blazor
    • Definiowanie i testowanie prostego komponentu
    • Używanie ikon Bootstrapa
    • Przekształcanie komponentu w routowalny komponent stronicowy
    • Dodawanie encji do komponentu
    • Tworzenie abstrakcji serwisu dla komponentu Blazora
    • Definiowanie formularzy za pomocą komponentu EditForm
    • Tworzenie i używanie komponentu formularza danych klienta
    • Tworzenie komponentów do tworzenia, edytowania i usuwania klientów
    • Włączanie interakcji po stronie serwera
    • Testowanie komponentu formularza danych klienta
  • Włączanie wykonywania po stronie klienta z wykorzystaniem WebAssembly
  • Praktyka i ćwiczenia
    • Ćwiczenie 15.1 - sprawdź swoją wiedzę
    • Ćwiczenie 15.2 - przygotowanie komponentu tabliczki mnożenia
    • Ćwiczenie 15.3 - przygotowanie elementu nawigowania według krajów
    • Ćwiczenie 15.4 - rozbudowywanie aplikacji Blazora
    • Ćwiczenie 15.5 - używanie otwartych bibliotek komponentów Blazora
    • Ćwiczenie 15.6 - dalsza lektura
  • Podsumowanie

Epilog

  • Назва: C# 12 i .NET 8 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 8, Blazor i EF Core 8. Wydanie VIII
  • Автор: Mark J. Price
  • Оригінальна назва: C# 12 and .NET 8 - Modern Cross-Platform Development Fundamentals, 8th Edition
  • Переклад: Wojciech Moch
  • ISBN: 978-83-289-1456-8, 9788328914568
  • Дата видання: 2024-12-17
  • Формат: Eлектронна книга
  • Ідентифікатор видання: c12n88
  • Видавець: Helion