Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Webmastering
- ASP.NET
- 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
E-book details
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
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
- Title: 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
- Author: Mark J. Price
- Original title: C# 12 and .NET 8 - Modern Cross-Platform Development Fundamentals, 8th Edition
- Translation: Wojciech Moch
- ISBN: 978-83-289-1456-8, 9788328914568
- Date of issue: 2024-12-17
- Format: Ebook
- Item ID: c12n88
- Publisher: Helion