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 Libiąż
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 …
Liczba ofert: 20
Oferta sklepu
Lista Ofert
-
25 kmul. Gen. K. Pułaskiego 60 Katowice116,50 zł -
27 kmul. Kościuszki 229 Katowice116,50 zł -
27 kmPl. Wilhelma Szewczyka 1 Katowice116,50 zł -
29 kmul. Chorzowska 107 Katowice116,50 zł -
32 kmul. Parkowa 20 Chorzów116,50 zł -
35 kmul. Warszawska 180 Bielsko-Biała116,50 zł -
36 kmul. Sarni Stok 2 Bielsko-Biała116,50 zł -
36 kmul. Mostowa 5 Bielsko-Biała116,50 zł -
39 kmPlac Kościuszki 1 Bytom116,50 zł -
40 km11-go Listopada 41 Bielsko-Biała179,00 zł -
40 kmLindego 7c Kraków112,76 zł -
42 kmul. Stawowa 61 Kraków116,50 zł -
43 kmAleja Jana Nowaka-Jeziorańskiego 25 Bytom116,50 zł -
45 kmStolarska 8/10 Kraków179,00 zł -
45 kmul. Pawia 5 Kraków116,50 zł -
46 kmul. Szkubacza 1 Zabrze116,50 zł -
47 kmOfiar Dąbia 4 Kraków125,64 zł -
48 kmul. Bora-Komorowskiego 37 Kraków116,50 zł -
48 kmal. Bora Komorowskiego 41 Kraków116,50 zł -
49 kmAl. Pokoju 67 Kraków116,50 zł
Opis
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! Spis treści: 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. 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 Tworzenie potoku strumieni Praca ze strumieniami tekstowymi Praca ze strumieniami XML Uproszczenie zwalniania zasobów za pomocą instrukcji using Strumienie kompresujące Zapisywanie i odczytywanie z dostępem swobodnym Kodowanie tekstu Kodowanie ciągu znaków jako tablicy bajtów Kodowanie i dekodowanie tekstu w plikach 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 Deserializowanie plików JSON Kontrolowane przetwarzanie danych JSON Praca ze zmiennymi środowiskowymi Praktyka i ćwiczenia Ćwiczenie 9.1 - sprawdź swoją wiedzę Ćwiczenie 9.2 - serializowanie do formatu XML Ćwiczenie 9.3 - praca z archiwami tar Ćwiczenie 9.4 - przenoszenie kodu z biblioteki Newtonsoft do nowej biblioteki Ćwiczenie 9.5 - 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 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 O autorze: Mark J. Price - specjalizuje się w programowaniu w języku C#. Pracuje w Microsofcie, tworzy rozwiązania dla Microsoft Azure. Zdał ponad 80 egzaminów Microsoftu. Zajmuje się też dydaktyką: przeszkolił wielu przyszłych programistów, od 16-letnich początkujących aż po 70-latków na emeryturze.
Specyfikacja
Podstawowe informacje
| Autor |
|
| Wybrani autorzy |
|
| Wydawnictwo |
|
| Okładka |
|
| Rok wydania |
|
| Ilość stron |
|
| Język oryginału |
|
| Tematyka |
|
| ISBN |
|