C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Zabrze
C# to jedno z najdoskonalszych dzieł Microsoftu. Co więcej, język ten, podobnie jak wieloplatformowy framework .NET, jest konsekwentnie rozwijany i wzbogacany. Coraz więcej profesjonalistów przekonuje się, że używanie C# jest przyjemne i satysfakcjonujące, a każda kolejna wersja przynosi liczne …
Liczba ofert: 1
Oferta sklepu
Opis
C# to jedno z najdoskonalszych dzieł Microsoftu. Co więcej, język ten, podobnie jak wieloplatformowy framework .NET, jest konsekwentnie rozwijany i wzbogacany. Coraz więcej profesjonalistów przekonuje się, że używanie C# jest przyjemne i satysfakcjonujące, a każda kolejna wersja przynosi liczne udogodnienia i nowe funkcjonalności. Aktualne wersje C# 10 i .NET 6 pozwalają bez trudu tworzyć rozbudowane serwisy internetowe czy wieloplatformowe aplikacje mobilne. Ta książka jest kolejnym, gruntownie przebudowanym wydaniem cenionego podręcznika dla programistów #C. Dzięki niej nauczysz się najważniejszych zasad korzystania z tego języka. Znajdziesz tu drobiazgowe omówienie API środowiska .NET, jak również techniki pracy z systemem plików, asynchronicznymi strumieniami, serializacją i szyfrowaniem. Po przyswojeniu zagadnień związanych z językiem C# i aplikacjami konsoli dowiesz się, jak tworzyć praktyczne aplikacje i usługi z wykorzystaniem biblioteki ASP.NET Core, a także wzorzec MVC i technologię Blazor. Zapoznasz się z metodami stosowania wielozadaniowości do poprawy wydajności i skalowalności aplikacji. Przeczytasz też, w jaki sposób ASP.NET Core ułatwia pracę wielu zespołów programistów. Poszczególne zagadnienia zostały zilustrowane dokładnie wyjaśnionymi przykładami kodu, a dodatkowe ćwiczenia pozwolą Ci na utrwalenie zdobytych umiejętności. 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, a także Microsoft SQL Server i SQLite tworzyć usługi sieciowe i interfejsy użytkownika projektować aplikacje wieloplatformowe C# i .NET: najlepsze środowisko do programowania w najlepszym języku! Spis treści: O autorze O recenzentach 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? Motywy kolorystyczne 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 Pisanie programów 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 Zarządzanie wieloma plikami za pomocą Visual Studio Code Badanie kodu w interaktywnych notatnikach .NET Tworzenie notatnika Pisanie i uruchamianie kodu w notatniku Zapisywanie notatnika Dodawanie do notatnika składni Markdown i poleceń specjalnych Uruchamianie kodu w wielu komórkach 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 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# 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 Czasowniki jako metody Rzeczowniki to typy, pola i zmienne Ujawnienie wielkości słownika języka C# Praca ze zmiennymi Nazywanie zmiennych 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 Zapisywanie wielu wartości w tablicy 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 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 i konwertowanie typó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 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 Przykład z tabliczką mnożenia Pisanie funkcji zwracającej wartość Zamiana liczebników głównych na porządkowe 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 Dostosowywanie punktów przerwania 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 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 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 Dopasowywanie wzorców z obiektami Tworzenie i używanie biblioteki klas .NET 6 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 Więcej informacji o metodach Implementowanie działań w metodzie Implementowanie działań za pomocą operatora Definiowanie funkcji lokalnych Wywoływanie i obsługa zdarzeń Wywoływanie metod za pomocą delegatów Definiowanie i obsługa delegatów Definiowanie i obsługiwanie zdarzeń Wykorzystywanie typów generycznych Praca z typami niegenerycznymi Praca z typami generycznymi 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 Poznawanie nullowalnych typów referencyjnych Włączanie nullowalnych i nienullowalnych typów referencyjnych Deklarowanie nienullowalnych zmiennych i parametrów Sprawdzanie wartości null 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ć Stosowanie analizatorów, aby tworzyć lepszy kod Ukrywanie komunikatów o ostrzeżeniach 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 6 .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 Poprawki wydajności między .NET Core 2.0 a .NET 5 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 Odwzorowywanie aliasów języka C# na typy .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 Dekompilowanie za pomocą rozszerzenia ILSpy w Visual Studio Code 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 Matematyka typów generycznych 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 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 Praca z datami i czasem Definiowanie wartości daty i czasu Globalizacja dla zapisu daty i czasu Praca z samą datą lub samym czasem 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 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 Praca z refleksją i atrybutami Numery wersji zestawów Odczytywanie metadanych zestawu Tworzenie własnych atrybutów Inne możliwości refleksji Praca z obrazami Internacjonalizacja kodu Wykrywanie i zmienianie bieżącej kultury 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 Zwalnianie zasobów plików Strumienie kompresujące Kompresowanie za pomocą algorytmu Brotli 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 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 Tworzenie aplikacji konsoli do pracy z EF Core Używanie przykładowej relacyjnej bazy danych Używanie Microsoft SQL Server w systemie Windows Tworzenie przykładowej bazy danych Northwind dla SQL Server Zarządzanie przykładową bazą danych Northwind w eksploratorze serwera Używanie SQLite Tworzenie przykładowej bazy danych Northwind na serwerze SQLite Zarządzanie przykładową bazą danych Northwind za pomocą SQLiteStudio 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 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 Definiowanie globalnych filtrów Wzorce ładowania w EF Core Chętne ładowanie encji Włączenie leniwego ładowania Jawne ładowanie encji Manipulowanie danymi w EF Core Wstawianie encji Aktualizowanie encji Usuwanie encji Grupowanie kontekstów baz danych Transakcje Sterowanie transakcjami za pomocą poziomów izolacji Jawne definiowanie transakcji Modele Code First w EF Core Migracje 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 Tworzenie wyrażeń LINQ Z czego składa się LINQ? Rozbudowa sekwencji za pomocą klas wyliczeniowych 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 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 Upiększanie składni Używanie wielu wątków w równoległych zapytaniach LINQ Tworzenie aplikacji korzystającej z wielu wątków Tworzenie własnych metod rozszerzających dla LINQ Próba użycia nowych metod rozszerzających Próba użycia metod Mediana i Dominanta 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. Poprawianie wydajności i skalowalności za pomocą wielozadaniowości Procesy, wątki i zadania Monitorowanie wydajności i wykorzystania zasobów Ocena wydajności typów Monitorowanie wydajności i zużycia pamięci Pomiar wydajności pracy z ciągami znaków Monitorowanie wydajności i zużycia pamięci za pomocą biblioteki Benchmark.NET Asynchroniczne uruchamianie zadań Synchroniczne uruchamianie wielu operacji Asynchroniczne uruchamianie wielu operacji z wykorzystaniem zadań Oczekiwanie na zadania Kontynuowanie pracy w innym zadaniu Zadania zagnieżdżone i potomne Tworzenie obiektów typu Task dla innych obiektów Synchronizowanie dostępu do wspólnych zasobów Używanie wspólnego zasobu w wielu wątkach Nakładanie na zasoby wzajemnie wykluczającej blokady Synchronizowanie zdarzeń Tworzenie operacji atomowych Stosowanie innych rodzajów synchronizacji Słowa kluczowe async i await Poprawianie reakcji aplikacji konsoli Poprawianie reakcji aplikacji z interfejsem graficznym Poprawianie skalowalności aplikacji i serwisów WWW Często używane typy umożliwiające pracę wielowątkową Instrukcja await w bloku catch Praca ze strumieniami asynchronicznymi Praktyka i ćwiczenia Ćwiczenie 12.1 - sprawdź swoją wiedzę Ćwiczenie 12.2 - dalsza lektura Podsumowanie Rozdział 13. Praktyczne aplikacje w języku C# i w .NET Modele aplikacji w C# i w .NET Tworzenie stron WWW za pomocą ASP.NET Core Tworzenie serwisów sieciowych Tworzenie aplikacji mobilnych i stacjonarnych Alternatywy dla .NET MAUI 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 Tworzenie aplikacji stacjonarnych dla systemów Windows Starsze platformy aplikacji dla systemów Windows Możliwości obsługi starszych platform Windows w nowoczesnym .NET Struktury projektów Struktura projektów w rozwiązaniu lub przestrzeni roboczej Używanie innych szablonów projektów Instalowanie dodatkowych pakietów szablonów Tworzenie modelu danych dla bazy danych Northwind Tworzenie biblioteki klas dla modelu encji Northwind Tworzenie biblioteki klas modelu encji dla SQL Server Praktyka i ćwiczenia Ćwiczenie 13.1 - sprawdź swoją wiedzę Ćwiczenie 13.2 - dalsza lekura Podsumowanie Rozdział 14. Tworzenie witryn WWW przy użyciu ASP.NET Core Razor Pages Tworzenie w sieci WWW Protokół HTTP Używanie Google Chrome do wykonywania żądań HTTP Tworzenie oprogramowania dla sieci WWW po stronie klienta ASP.NET Core Klasyczna ASP.NET kontra ASP.NET Core Tworzenie pustego projektu ASP.NET Core Testowanie i zabezpieczanie witryny Kontrola środowiska hostingowego Rozdzielanie konfiguracji serwisu i potoku 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 Tworzenie biblioteki klas Razor Wyłączanie kompaktowych folderów w Visual Studio Code Implementowanie funkcji pracowników za pomocą EF Core 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 Przeglądanie konfiguracji routowania punktów końcowych w naszym projekcie Podsumowanie najważniejszych metod rozszerzających oprogramowania pośredniego Wizualizacja potoku HTTP Implementowanie oprogramowania pośredniego jako anonimowego delegata Praktyka i ćwiczenia Ćwiczenie 14.1 - sprawdź swoją wiedzę Ćwiczenie 14.2 - tworzenie witryny obsługującej dane Ćwiczenie 14.3 - zastępowanie aplikacji konsoli stronami WWW Ćwiczenie 14.4 - dalsza lektura Podsumowanie Rozdział 15. 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 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 Czym są filtry? Modele encji i widoków Widoki Dostosowywanie witryny ASP.NET Core MVC Definiowanie własnych stylów Konfigurowanie obrazków dla kategorii Poznawanie składni stron Razor Definiowanie typu dla widoku Testowanie zmienionej strony startowej Przekazywanie parametrów przy użyciu wartości ścieżki Wiązanie modeli Sprawdzanie poprawności modelu Poznawanie pomocniczych metod widoku 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 15.1 - sprawdź swoją wiedzę Ćwiczenie 15.2 - implementowanie wzorca MVC w tworzonej stronie danych kategorii Ćwiczenie 15.3 - poprawianie skalowalności przez poznawanie i implementowanie asynchronicznych metod akcji Ćwiczenie 15.4 - testy jednostkowe dla kontrolerów Ćwiczenie 15.5 - dalsza lektura Podsumowanie Rozdział 16. 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 Tworzenie repozytorium danych dla encji Implementowanie kontrolera Web API 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ą rozszerzenia REST Client Włączanie narzędzia Swagger Testowanie żądań w narzędziu SwaggerUI Włączanie protokołowania HTTP 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 Włączanie funkcji CORS Implementowanie zaawansowanych funkcji Implementowanie API Health Check Implementowanie konwencji i analizatorów Open API Implementowanie obsługi błędów przejściowych Dodawanie zabezpieczających nagłówków HTTP Tworzenie serwisów sieciowych używających minimalnego API Tworzenie serwisu pogodowego z minimalnym API Testowanie minimalnego serwisu pogodowego Dodawanie prognozy pogody do głównej strony witryny Northwind Praktyka i ćwiczenia Ćwiczenie 16.1 - sprawdź swoją wiedzę Ćwiczenie 16.2 - ćwiczenia w tworzeniu i usuwaniu klientów za pomocą HttpClient Ćwiczenie 16.3 - dalsza lektura Podsumowanie Rozdział 17. 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 Omówienie komponentów tworzonych za pomocą Blazora Czym różnią się Blazor i Razor? Porównanie szablonów projektów Blazor Przeglądanie szablonu projektu Blazor Server Routowanie do komponentów stronicowych Blazora Uruchamianie szablonu projektu Blazor Server Przeglądanie szablonu projektu Blazor WebAssembly Tworzenie komponentów za pomocą Blazor Server Definiowanie i testowanie prostego komponentu 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 Testowanie komponentu formularza danych klienta Tworzenie komponentów za pomocą Blazor WebAssembly Konfigurowanie serwera dla projektu Blazor WebAssembly Konfigurowanie klienta aplikacji Blazor WebAssmebly Testowanie komponentów i serwisu Blazor WebAssembly Usprawnianie aplikacji tworzonych za pomocą Blazor WebAssembly Włączanie funkcji Blazor WebAssembly AOT Obsługa aplikacji PWA Analizator zgodności przeglądarki dla aplikacji Blazor WebAssembly Współdzielenie komponentów Blazora w bibliotece klas Współpraca ze skryptami JavaScriptu Biblioteki komponentów Blazora Praktyka i ćwiczenia Ćwiczenie 17.1 - sprawdź swoją wiedzę Ćwiczenie 17.2 - przygotowanie komponentu tabliczki mnożenia Ćwiczenie 17.3 - przygotowanie elementu nawigowania według krajów Ćwiczenie 17.4 - dalsza lektura Podsumowanie Odpowiedzi na pytania z testów Rozdział 1. Cześć, C#! Witaj, .NET!Rozdział 2. Mówimy w C# Ćwiczenie 2.1 - sprawdź swoją wiedzę Ćwiczenie 2.2 - sprawdź swoją wiedzę o typach liczbowych Rozdział 3. Sterowanie przepływem i konwertowanie typów Ćwiczenie 3.1 - sprawdź swoją wiedzę Ćwiczenie 3.2 - pętle i przepełnienia Ćwiczenie 3.5 - sprawdź swoją wiedzę o operatorach Rozdział 4. Pisanie, debugowanie i testowanie funkcji Rozdział 5. Tworzenie własnych typów w programowaniu obiektowym Rozdział 6. Implementowanie interfejsów i dziedziczenie klas Rozdział 7. Poznawanie typów .NET Rozdział 8. Używanie typów .NET Rozdział 9. Praca z plikami, strumieniami i serializacjąRozdział 10. Praca z bazami danych przy użyciu Entity Framework Core Rozdział 11. Odczytywanie danych i manipulowanie nimi za pomocą LINQRozdział 12. Poprawianie wydajności i skalowalności za pomocą wielozadaniowościRozdział 13. Praktyczne aplikacje w C# i .NET Rozdział 14. Tworzenie witryn WWW przy użyciu ASP.NET Core Razor PagesRozdział 15. Tworzenie aplikacji WWW przy użyciu ASP.NET Core MVC Rozdział 16. Tworzenie i używanie serwisów sieciowych Rozdział 17. Tworzenie interfejsów użytkownika w technologii Blazor Epilog Następne kroki Twojej podróży w świecie C# i .NETPoprawianie swoich umiejętności za pomocą wskazówek projektowych Z których książek uczyć się dalej? Opóźnienie .NET MAUINastępne wydanie tej książkiPowodzenia! 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ą: prowadzi szkolenia wprowadzające do usług Digital Experience Platform, wiodącego systemu CMS.
Specyfikacja
Podstawowe informacje
Autor |
|
Rok wydania |
|
Techniczne
Format |
|
Ilość stron |
|
Dodatkowe informacje
Kategorie |
|
Wybrane wydawnictwa |
|