reklama - zainteresowany?

Zosta - Helion

Zosta
Autor: Mark J. Price
ISBN: 978-83-289-2233-4
okładka: mi
Księgarnia: Helion

Książka będzie dostępna od kwietnia 2025

Spis treści

Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji -- spis treści

O autorze

O recenzentach

Wstęp

Rozdział 1. Wprowadzenie do narzędzi i umiejętności dla .NET

  • Wprowadzenie do tej książki i jej zawartości
    • Dodatkowe książki jako podstawa do nauki
    • Odbiorcy tej książki
    • Narzędzia
    • Umiejętności
    • Testowanie
    • Projektowanie systemów i rozwój kariery
  • Konfigurowanie środowiska programistycznego
    • Wybór odpowiedniego narzędzia i typu aplikacji do nauki
    • Jakiego sprzętu i oprogramowania używałem?
    • Wdrażanie wieloplatformowe
    • Pobieranie i instalowanie Visual Studio
    • Pobieranie i instalowanie Visual Studio Code
    • Pobieranie i instalowanie Ridera
    • Inne narzędzia firmy JetBrains
    • Narzędzia AI w Chrome
  • Wykorzystywanie repozytorium GitHuba dla tej książki
    • Pobieranie kodu rozwiązań z repozytorium GitHuba
  • Gdzie szukać pomocy?
    • Dokumentacja Microsoft Learn
    • Uzyskiwanie pomocy do narzędzia dotnet
    • Modele językowe, takie jak ChatGPT
    • Uzyskiwanie pomocy na Discordzie i innych forach
  • Konfigurowanie bazy danych i projektów na potrzeby tej książki
    • Używanie przykładowej relacyjnej bazy danych
    • Konfigurowanie SQL Server i bazy danych Northwind
    • Tworzenie biblioteki klas dla modeli encji przy użyciu serwera SQL Server
    • Tworzenie biblioteki klas dla kontekstu danych używanego w SQL Server
    • Tworzenie projektu testowego w celu sprawdzenia integracji bibliotek klas
    • Uruchamianie testów
  • Używanie .NET 9 w pracach z tą książką
  • Ćwiczenie i dalsza nauka
    • Ćwiczenie 1.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 1.2. Ćwiczenia praktyczne
    • Ćwiczenie 1.3. Sprawdź swoją wiedzę
    • Ćwiczenie 1.4. Eksploracja tematów
  • Podsumowanie

Rozdział 2. Pełne wykorzystanie edytora kodu

  • Wprowadzenie do powszechnie używanych narzędzi i funkcji
    • Funkcje refaktoryzacji
    • Wycinki kodu
    • Konfiguracja edytora
    • Asystenci AI
  • Narzędzia w Visual Studio 2022
    • Funkcje refaktoryzacji
    • Wycinki kodu
    • Konfiguracja edytora
    • Asystenci AI - GitHub Copilot
    • Nawigowanie w Visual Studio
    • Funkcje usprawniające edycję
  • Narzędzia w Visual Studio Code
    • Funkcje refaktoryzacji
    • Fragmenty kodu
  • Dekompilowanie zestawów .NET
    • Tworzenie aplikacji konsoli do zdekompilowania
    • Dekompilacja za pomocą rozszerzenia ILSpy dla Visual Studio
    • Przeglądanie kodu źródłowego za pomocą Visual Studio
    • Nie, nie można zapobiec dekompilacji
    • Obniżanie poziomu kodu C#
  • Własne szablony projektów i elementów
    • Tworzenie projektu dla szablonu
    • Testowanie szablonu projektu
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 2.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 2.2. Ćwiczenia praktyczne
    • Ćwiczenie 2.3. Sprawdź swoją wiedzę
  • Podsumowanie

Rozdział 3. Zarządzanie kodem źródłowym za pomocą Gita

  • Wprowadzenie do zarządzania kodem źródłowym
    • Funkcje zarządzania kodem źródłowym
    • Rodzaje systemów SCM
    • Popularne systemy SCM
  • Wprowadzenie do Gita
    • Funkcje Gita
    • Dlaczego nauka Gita jest trudna?
    • Role w zespole korzystającym z Gita
    • Pobieranie najnowszej wersji Gita
    • Integracja Gita z Visual Studio
    • Konfiguracja tożsamości w Gicie
    • Wymuszanie podpisów SSH w Gicie
    • Konfiguracja domyślnej gałęzi w Gicie
    • Uzyskiwanie pomocy dla poleceń Gita
  • Praca z Gitem
    • Rozpoczynanie pracy z repozytorium Gita
    • Tworzenie i dodawanie plików do repozytorium Gita - teoria
    • Śledzenie zmian w Gicie
    • Tworzenie repozytorium Gita - praktyka
    • Tworzenie nowego projektu
    • Umieszczanie plików w repozytorium
    • Cofanie commitów w Gicie
    • Czyszczenie commitu
    • Przechowalnia
    • Ignorowanie plików
  • Przeglądanie repozytoriów Gita
    • Wyświetlanie różnic w plikach
    • Wyświetlanie historii commitów
    • Filtrowanie historii commitów
  • Zarządzanie zdalnymi repozytoriami
  • Rozgałęzianie i scalanie
    • Przykład rozgałęziania i scalania
    • Usuwanie gałęzi i wyświetlanie ich listy
    • Podsumowanie najczęściej używanych poleceń Gita
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 3.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 3.2. Ćwiczenia praktyczne
    • Ćwiczenie 3.3. Sprawdź swoją wiedzę
    • Ćwiczenie 3.4. Dalsza nauka
  • Podsumowanie

Rozdział 4. Debugowanie i rozwiązywanie problemów z pamięcią

  • Strategie debugowania
    • Wprowadzenie do strategii debugowania
    • Zrozumieć problem
    • Jak rozpocząć debugowanie?
    • Kiedy przestać debugować?
  • Interaktywne debugowanie w Visual Studio
    • Tworzenie kodu do debugowania
    • Ustalanie punktu przerwania i rozpoczęcie debugowania
    • Pasek narzędzi debugowania
    • Okna debugowania
    • Kontrolowanie danych wyświetlanych w panelach debugowania
    • Debugowanie projektów testowych
    • Proszenie usługi GitHub Copilot Chat o pomoc w debugowaniu
  • Pamięć stosu i sterty
    • Jak typy referencyjne i typy wartości są przechowywane w pamięci
    • Czym jest niebezpieczny kod?
    • Wskaźniki
    • Czym jest boxing?
    • Mechanizm oczyszczania pamięci
    • Zarządzanie zasobami za pomocą interfejsu IDisposable
  • Narzędzia do analizy pamięci
    • Popularne narzędzia i umiejętności analizy pamięci
    • Narzędzia Visual Studio
    • Korzystanie z narzędzia do analizy pamięci w Visual Studio
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 4.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 4.2. Ćwiczenia praktyczne
    • Ćwiczenie 4.3. Sprawdź swoją wiedzę
    • Ćwiczenie 4.4. Dalsza nauka
  • Podsumowanie

Rozdział 5. Protokołowanie, śledzenie i metryki obserwowalności

  • Protokołowanie i śledzenie w .NET
    • Interfejs ILogger w .NET
    • Jak używać interfejsu ILogger?
  • Tworzenie usługi sieciowej do protokołowania
    • Testowanie podstawowych funkcji usługi sieciowej
  • Monitorowanie za pomocą metryk w .NET
    • Pojęcia dotyczące metryk i alertów
    • Implementowanie metryk
    • Wyświetlanie metryk
  • OpenTelemetry
    • Obsługiwane pakiety
    • Instrumentacja projektu ASP.NET Core
    • Przeglądanie danych telemetrii
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 5.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 5.2. Ćwiczenia praktyczne
    • Ćwiczenie 5.3. Sprawdź swoją wiedzę
    • Ćwiczenie 5.4. Dalsza nauka
  • Podsumowanie

Rozdział 6. Dokumentowanie kodu, API i serwisów

  • Wprowadzenie do dokumentacji
    • Korzyści z dokumentacji
    • Kiedy nie dokumentować?
  • Dokumentowanie kodu źródłowego
    • Kiedy należy dokumentować kod źródłowy?
    • Dobre praktyki komentowania kodu źródłowego
  • Dokumentowanie publicznych API w bibliotekach klas
    • Dokumentowanie za pomocą komentarzy XML-a
    • Generowanie dokumentacji przy użyciu DocFX
    • Dodawanie własnych treści do dokumentacji
    • Język znaczników Markdown
  • Dokumentowanie usług
    • Kluczowe kwestie przy dokumentowaniu usług
    • Narzędzia do dokumentowania usług
    • Poznawanie specyfikacji OpenAPI (OAS)
    • Wykorzystanie OpenAPI do dokumentowania usługi Minimal API
  • Dokumentowanie wizualne za pomocą diagramów Mermaid
    • Rysowanie diagramów Mermaid
    • Schematy blokowe
    • Diagramy klas
    • Zapisywanie diagramów Mermaid w formacie SVG
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 6.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 6.2. Ćwiczenia praktyczne
    • Ćwiczenie 6.3. Sprawdź swoją wiedzę
    • Ćwiczenie 6.4. Dalsza nauka
  • Podsumowanie

Rozdział 7. Obserwowanie kodu i dynamiczne wpływanie na jego wykonanie

  • Praca z refleksją i atrybutami
    • Metadane w zestawach .NET
    • Dynamiczne ładowanie zestawów i wykonywanie metod
    • Ostrzeżenie dotyczące refleksji i natywnego AOT
    • Ulepszenia refleksji w .NET 9
    • Więcej możliwości z refleksją
  • Praca z drzewami wyrażeń
    • Elementy drzewa wyrażeń
    • Wykonywanie najprostszego drzewa wyrażeń
  • Tworzenie generatorów kodu źródłowego
    • Implementacja najprostszego generatora źródeł
  • Praktyka i dalsza nauka
    • Ćwiczenie 7.1. Materiał dostępny wyłącznie online
    • Ćwiczenie 7.2. Ćwiczenia praktyczne
    • Ćwiczenie 7.3. Sprawdź swoją wiedzę
    • Ćwiczenie 7.4. Dalsza nauka
  • Podsumowanie

Rozdział 8. Ochrona danych i aplikacji za pomocą kryptografii

  • Terminologia związana z ochroną danych
    • Techniki ochrony danych
    • Klucze i ich rozmiary
    • Wektory inicjujące i rozmiary bloków
    • Sól
    • Generowanie kluczy i wektorów IV
  • Szyfrowanie i rozszyfrowywanie danych
    • Szyfrowanie symetryczne z użyciem AES
  • Haszowanie danych
    • Haszowanie z użyciem algorytmu SHA-256
  • Podpisywanie danych
    • Podpisywanie z wykorzystaniem SHA-256 i RSA
  • Generowanie liczb losowych na potrzeby kryptografii
  • Uwierzytelnianie i autoryzacja użytkowników
    • Mechanizmy uwierzytelniania i autoryzacji
    • Implementowanie uwierzytelniania i autoryzacji
    • Ochrona funkcji udostępnianych przez aplikację
    • Uwierzytelnianie i autoryzacja w rzeczywistych zastosowaniach
  • Co nowego w .NET 9?
    • Metoda CryptographicOperations.HashData()
    • Algorytm KMAC
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 8.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 8.2. Ćwiczenia praktyczne
    • Ćwiczenie 8.3. Sprawdź swoją wiedzę
    • Ćwiczenie 8.4. Dalsza nauka
  • Podsumowanie

Rozdział 9. Tworzenie chatu używającego modelu LLM

  • Wprowadzenie do modeli LLM
    • Jak działają modele LLM?
    • Uzyskiwanie dostępu do modelu LLM
  • Używanie Semantic Kernel z modelem OpenAI
    • Czym jest Semantic Kernel?
    • Czym są funkcje?
    • Dodawanie funkcji
    • Dodanie pamięci sesji i włączanie wielu funkcji
    • Strumieniowanie wyników
    • Dodawanie protokołowania i zwiększanie niezawodności
  • Korzystanie z lokalnych modeli LLM
    • Hugging Face
    • Ollama
    • LM Studio
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 9.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 9.2. Ćwiczenia praktyczne
    • Ćwiczenie 9.3. Sprawdź swoją wiedzę
    • Ćwiczenie 9.4. Dalsza lektura
  • Podsumowanie

Rozdział 10. Wstrzykiwanie zależności, kontenery i czas życia serwisów

  • Wprowadzenie do wstrzykiwania zależności
    • Dlaczego warto korzystać z DI?
    • Mechanizmy wstrzykiwania zależności w .NET
    • Przykłady we współczesnym .NET
    • Czas życia rejestrowanych zależności
    • Rejestrowanie wielu implementacji
    • Kiedy rzucane są wyjątki?
    • Najlepsze praktyki wstrzykiwania zależności
  • Implementacja generycznego hosta w .NET
    • Najważniejsze funkcje generycznego hosta .NET
    • Budowanie generycznego hosta .NET
    • Poznawanie usług i zdarzeń hosta
    • Metody rejestrowania usług
    • Grafy zależności i rozwiązywanie usług
    • Usuwanie usług
  • Wstrzykiwanie zależności w ASP.NET Core
    • Rejestrowanie usług dla funkcji za pomocą metod rozszerzających
    • Gdy nie można użyć wstrzykiwania przez konstruktor
    • Rozwiązywanie usług podczas uruchamiania aplikacji
    • Wstrzykiwanie zależności w widokach
    • Wstrzykiwanie do metod akcji i minimalnego API
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 10.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 10.2. Ćwiczenia praktyczne
    • Ćwiczenie 10.3. Sprawdź swoją wiedzę
    • Ćwiczenie 10.4. Dalsza nauka
  • Podsumowanie

Rozdział 11. Testowanie i mockowanie

  • Wprowadzenie do wszystkich rodzajów testów
    • Testy jednostkowe
    • Testy integracyjne, end-to-end i bezpieczeństwa
    • Testy wydajności, obciążenia i wytrzymałości
    • Testy funkcjonalne i testy użyteczności
    • Terminologia testowania
    • Cechy wszystkich dobrych testów
    • Wyniki testów
    • Dublery, mocki i zatyczki
    • Przyjęcie odpowiedniego nastawienia do testowania
  • Zalety i wady TDD
    • Główne zasady TDD
    • Zalety TDD
    • Wady TDD
    • Dobre praktyki TDD
  • Testy jednostkowe
    • Jak bardzo izolowane powinny być testy jednostkowe?
    • Nazewnictwo używane w testach jednostkowych
    • Tworzenie testów jednostkowych za pomocą xUnit
    • Często używane atrybuty xUnit
    • Tworzenie klasy do przetestowania
    • Pisanie prostych testów jednostkowych
    • Metody testujące z parametrami
    • Pozytywne i negatywne wyniki testów
    • Sygnały ostrzegawcze w testach jednostkowych
    • Wyświetlanie wyników podczas wykonywania testów
    • Przygotowanie i czyszczenie środowiska testowego
    • Kontrola przygotowania testów
  • Mockowanie w testach
    • Biblioteki do mockowania
    • Wykorzystanie NSubstitute do tworzenia dubli
    • Przykład mockowania z użyciem NSubstitute
  • Tworzenie płynnych asercji w testach jednostkowych
    • Tworzenie asercji dla ciągów znaków
    • Tworzenie asercji dla kolekcji i tablic
    • Tworzenie asercji dla dat i godzin
  • Generowanie fałszywych danych z biblioteką Bogus
    • Projekt testujący fałszywe dane
    • Pisanie metody z użyciem fałszywych danych
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 11.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 11.2. Ćwiczenia praktyczne
    • Ćwiczenie 11.3. Sprawdź swoją wiedzę
    • Ćwiczenie 11.4. Dalsza nauka
  • Podsumowanie

Rozdział 12. Testy integracyjne i testy bezpieczeństwa

  • Podstawy testów integracyjnych
    • Jakie systemy zewnętrzne testować?
    • Współdzielenie środowiska w testach integracyjnych
    • Analiza przykładowego testu integracyjnego
  • Testy integracyjne z wykorzystaniem magazynów danych
    • Deweloperskie instancje bazy danych i migracje baz danych
    • Cykl życia danych
  • Testowanie usług za pomocą tuneli deweloperskich
    • Instalowanie interfejsu wiersza poleceń tunelu deweloperskiego
    • Używanie wiersza poleceń tunelu deweloperskiego i serwisu echo
    • Używanie tunelu deweloperskiego w projekcie ASP.NET Core
  • Wprowadzanie do testów bezpieczeństwa
    • Open Web Application Security Project
    • OWASP Top 10
    • Modelowanie zagrożeń
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 12.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 12.2. Ćwiczenia praktyczne
    • Ćwiczenie 12.3. Sprawdź swoją wiedzę
    • Ćwiczenie 12.4. Dalsza nauka
  • Podsumowanie

Rozdział 13. Mierzenie wydajności i testy obciążeniowe

  • Mierzenie wydajności
    • Znaczenie pomiaru bazowego
    • Notacja dużego O
    • Metryki statystyczne
  • Używanie biblioteki BenchmarkDotNet do mierzenia wydajności
    • Unikanie błędów podczas testów wydajności
    • Rozpoznawanie kiepskich postów na temat wydajności
  • Testy obciążeniowe i wytrzymałościowe
    • Apache JMeter
  • Bombardier - szybkie wieloplatformowe narzędzie do testów wydajności żądań HTTP
    • Używanie Bombardiera
    • Pobieranie Bombardiera
    • Porównywanie serwisu sieciowego kompilowanego za pomocą AOT i tradycyjnie
    • Interpretacja wyników Bombardiera
  • NBomber - framework do testów obciążeniowych
    • Scenariusze w NBomberze
    • Symulacje obciążenia
    • Typy NBombera
    • Przykład projektu NBombera
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 13.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 13.2. Ćwiczenia praktyczne
    • Ćwiczenie 13.3. Sprawdź swoją wiedzę
    • Ćwiczenie 13.4. Dalsza nauka
  • Podsumowanie

Rozdział 14. Testy funkcjonalne i end-to-end

  • Testy funkcjonalne i end-to-end
    • Przykład 1. Testowanie usługi Web API
    • Przykład 2. Testowanie strony internetowej ASP.NET Core
    • Przykład 3. Testowanie aplikacji w czasie rzeczywistym SignalR
  • Testowanie webowych interfejsów użytkownika przy użyciu Playwrighta
    • Korzyści dla programistów .NET
    • Alternatywy dla Playwrighta
    • Typy testów w Playwrighcie
    • Metody automatyzacji strony w Playwrighcie
    • Metody lokalizacji elementów w Playwrighcie
    • Metody automatyzacji lokalizatorów w Playwrighcie
    • Testowanie typowych scenariuszy za pomocą aplikacji eShopOnWeb
  • Interakcja z interfejsem użytkownika
    • Wybieranie elementów z list rozwijanych i klikanie elementów
    • Przesyłanie formularzy, uwierzytelnianie i walidacja
    • Testowanie responsywnego projektu
    • Aplikacje SPA i dynamiczna zawartość
  • Generowanie testów z Playwright Inspector
  • Testowanie serwisów przy użyciu xUnit
    • Tworzenie serwisu internetowego na potrzeby testów
    • Tworzenie projektu testowego
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 14.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 14.2. Ćwiczenia praktyczne
    • Ćwiczenie 14.3. Sprawdź swoją wiedzę
    • Ćwiczenie 14.4. Dalsza nauka
  • Podsumowanie

Rozdział 15. Konteneryzacja przy użyciu Dockera

  • Wprowadzenie do konteneryzacji
    • Jak działają kontenery i jakie są ich zalety?
    • Docker, Kubernetes i .NET Aspire
    • Rejestry kontenerów
  • Pojęcia związane z Dockerem
    • Narzędzia i technologie Dockera
    • Polecenia interfejsu wiersza poleceń Dockera
    • Tworzenie obrazów przy użyciu plików Dockerfile
    • Konfigurowanie portów i uruchamianie kontenera
    • Tryb interaktywny
    • Zmienne środowiskowe
    • Często używane obrazy kontenerów Dockera
    • Obrazy kontenerów .NET
    • System CVE i odchudzone Ubuntu
  • Zarządzanie kontenerami za pomocą Dockera
    • Instalowanie Dockera i używanie gotowych obrazów
    • Hierarchia obrazów Dockera i warstwy obrazów
  • Konteneryzacja własnych projektów .NET
    • Konteneryzacja projektu aplikacji konsoli
    • Publikowanie aplikacji do kontenera Dockera
    • Konteneryzacja projektu aplikacji ASP.NET Core
  • Praca z kontenerami testowymi
    • Jak działa Testcontainers dla .NET?
    • Przykład użycia
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 15.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 15.2. Ćwiczenia praktyczne
    • Ćwiczenie 15.3. Sprawdź swoją wiedzę
    • Ćwiczenie 15.4. Dalsza nauka
  • Podsumowanie

Rozdział 16. Oprogramowanie chmurowe z .NET Aspire

  • Wprowadzenie do .NET Aspire
    • Co mówi zespół Aspire?
    • Aspire w edytorach kodu i w interfejsie wiersza poleceń
    • Uruchamianie rozwiązania Aspire
    • Typy projektów Aspire
    • Typy zasobów Aspire
    • Model aplikacji Aspire i orkiestracja
    • Szablony projektów Aspire
  • Szablon aplikacji startowej Aspire
    • Tworzenie aplikacji startowej Aspire
    • Przeglądanie rozwiązania startowego Aspire
  • Dokładniejsze spojrzenie na Aspire
    • Pulpit nawigacyjny dla deweloperów
    • Projekt AppHost - orkiestracja zasobów
    • Projekt ServiceDefaults - centralizacja konfiguracji
    • Inne projekty funkcyjne w rozwiązaniu
    • Konfigurowanie Redisa
    • Komponenty Aspire
    • Protokołowanie, śledzenie i metryki obserwowalności
    • Docker kontra Podman
    • Oczekiwanie na gotowość kontenerów
    • A co z Dapr, Orleans i Project Tye?
  • Aspire w nowych i istniejących rozwiązaniach
    • Tworzenie nowego rozwiązania Aspire
    • Aspire i PostgreSQL
    • Używanie woluminów danych i konfigurowanie stabilnego hasła
    • Dodanie Aspire do istniejącego rozwiązania
    • Aplikacja referencyjna eShop
    • Wdrażanie aplikacji za pomocą Aspire
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 16.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 16.2. Ćwiczenia praktyczne
    • Ćwiczenie 16.3. Sprawdź swoją wiedzę
    • Ćwiczenie 16.4. Dalsza nauka
  • Podsumowanie

Rozdział 17. Wzorce i zasady projektowe

  • Zasady SOLID
    • Zasada pojedynczej odpowiedzialności (Single Responsibility Principle - SRP)
    • Zasada otwarte - zamknięte (Open/Closed Principle - OCP)
    • Zasada podstawień Liskov (Liskov Substitution Principle - LSP)
    • Zasada segregacji interfejsów (Interface Segregation Principle - ISP)
    • Zasada odwracania zależności (Dependency Inversion Principle - DIP)
  • Wzorce projektowe
    • Wzorce kreacyjne
    • Strukturalne wzorce projektowe
    • Behawioralne wzorce projektowe
  • Zasady projektowe
    • Zasada DRY
    • Zasada KISS
    • YAGNI
    • Prawo Demeter
    • Kompozycja jest lepsza od dziedziczenia
    • Zasada najmniejszego zaskoczenia
  • Algorytmy i struktury danych
    • Algorytmy sortowania
    • Algorytmy wyszukiwania
    • Algorytmy struktury danych
    • Algorytmy haszujące
    • Algorytmy rekurencyjne
    • Gdzie dowiesz się więcej o algorytmach i strukturach danych?
  • Ćwiczenie i dalsza nauka
    • Ćwiczenie 17.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 17.2. Ćwiczenia praktyczne
    • Ćwiczenie 17.3. Sprawdź swoją wiedzę
    • Ćwiczenie 17.4. Dalsza nauka
  • Podsumowanie

Rozdział 18. Podstawy architektury rozwiązań i oprogramowania

  • Wprowadzenie do architektury oprogramowania i architektury rozwiązań
    • Architektura oprogramowania
    • Architektura rozwiązań
    • Koncepcje architektury oprogramowania
    • Style architektury oprogramowania
    • Koncepcje architektury rozwiązania
    • Wnioski
  • Czysta architektura według Wujka Boba
    • Koncepcje czystej architektury
    • Dobre praktyki w czystej architekturze w .NET
  • Rysowanie diagramów za pomocą Mermaid
    • Mermaid w architekturze oprogramowania i rozwiązań
    • Rodzaje diagramów Mermaid
    • Schematy blokowe w Mermaid
  • Ćwiczenie i dalsza nauka
    • Ćwiczenie 18.1. Materiał dostępny wyłącznie online
    • Ćwiczenie 18.2. Ćwiczenia praktyczne
    • Ćwiczenie 18.3. Sprawdź swoją wiedzę
    • Ćwiczenie 18.4. Dalsza nauka
  • Podsumowanie

Rozdział 19. Kariera, praca zespołowa i rozmowy kwalifikacyjne

  • Praca w zespole programistycznym
    • Praca inżyniera oprogramowania
    • Ścieżka kariery
    • Role osób w zespole programistycznym, z którymi będziesz współpracować
    • Proces onboardingu
    • Jak poprosić o szkolenie i rozwój?
    • Programowanie w parach
  • Poszukiwanie pracy
    • Przed złożeniem podania
    • Przygotowanie do rozmowy kwalifikacyjnej
  • Przykładowe pytania na rozmowie kwalifikacyjnej
    • 1. Narzędzia wiersza poleceń w .NET
    • 2. Podstawy Gita
    • 3. Entity Framework Core
    • 4. Interfejsy i klasy abstrakcyjne
    • 5. Właściwości i indeksery
    • 6. Typy generyczne
    • 7. Delegaty i zdarzenia
    • 8. LINQ
    • 9. Programowanie asynchroniczne z użyciem słów kluczowych async i await
    • 10. Zarządzanie pamięcią i jej oczyszczanie
    • 11. Różnice między nowoczesnym .NET a .NET Framework
    • 12. Możliwości wieloplatformowe
    • 13. .NET Standard
    • 14. Wstrzykiwanie zależności w .NET
    • 15. Oprogramowanie pośredniczące w ASP.NET Core
    • 16. Konfiguracja i wzorzec Opcje
    • 17. Hosting i serwer Kestrel
    • 18. Typy danych
    • 19. Globalizacja i lokalizacja
    • 20. Struktury sterujące
    • 21. Obsługa wyjątków
    • 22. Strategie tworzenia gałęzi w Gicie
    • 23. Przeglądy kodu i programowanie w parach
    • 24. Metodyki agile i scrum
    • 25. Standardy dokumentacji
    • 26. Umiejętność rozwiązywania problemów
    • 27. Narzędzia do zarządzania projektami
    • 28. Techniki szacowania
    • 29. Współpraca w zespole
    • 30. Przywództwo i mentoring
    • 31. Wzorzec MVC
    • 32. Składnia Razora
    • 33. Web API
    • 34. Najlepsze praktyki dotyczące usług RESTful
    • 35. SignalR do pracy w czasie rzeczywistym
    • 36. Zarządzanie stanem
    • 37. Uwierzytelnianie i autoryzacja
    • 38. Blazor WebAssembly
    • 39. Korzyści wynikające z używania mikroserwisów
    • 40. Wyzwania związane z architekturą mikroserwisów
    • 41. Kontenery Dockera i .NET
    • 42. Wzorce komunikacji w mikroserwisach
    • 43. Odporność na błędy i obsługa błędów przejściowych
    • 44. Śledzenie rozproszone
    • 45. Kontrola stanu zdrowia i monitorowanie aplikacji
    • 46. AutoMapper, metody rozszerzające i operator jawny
    • 47. Podstawy ADO.NET
    • 48. Optymalizacja wydajności Entity Framework Core
    • 49. Frameworki do testów jednostkowych, np. xUnit
    • 50. Frameworki do mockowania, np. NSubstitute
    • 51. Strategie testowania integracyjnego
    • 52. Testowanie wydajności
    • 53. Testowanie bezpieczeństwa
    • 54. Automatyczne testowanie interfejsu użytkownika
    • 55. Zasady SOLID
    • 56. Wzorzec projektowy Singleton
    • 57. Wzorzec projektowy Fabryka
    • 58. Wykrywanie wycieków pamięci
    • 59. Metodyki programistyczne
    • 60. Notacja wielkiego O
    • Uczysz się, kiedy popełniasz błędy
  • Ćwiczenia i dalsza nauka
    • Ćwiczenie 19.1. Materiały dostępne wyłącznie online
    • Ćwiczenie 19.2. Ćwiczenia praktyczne
    • Ćwiczenie 19.3. Sprawdź swoją wiedzę
    • Ćwiczenie 19.4. Dalsza nauka
  • Podsumowanie

Rozdział 20. Epilog

  • Kolejne kroki na ścieżce nauki .NET
  • Książki uzupełniające, które pomogą kontynuować naukę
    • Dziewiąte wydanie C# 12 i .NET 8 już wkrótce dla .NET 9
    • Planowana trylogia .NET 10
  • Książki do dalszej nauki
  • Powodzenia!
  • Skorowidz

Skorowidz

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2025 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.