Zosta - Helion

ISBN: 978-83-289-2233-4
okładka: mi
Księgarnia: Helion
Książka będzie dostępna od kwietnia 2025
Zobacz także:
- PLC i TIA Portal. Kurs video. Techniki programowania SIMATIC S7-1200 200,00 zł, (10,00 zł -95%)
- Google Cloud. Kurs video. Zostań administratorem systemów IT 142,86 zł, (10,00 zł -93%)
- Instalacja i konfiguracja baz danych. Kurs video. Przygotowanie do egzaminu 70-765 Provisioning SQL Databases 285,57 zł, (19,99 zł -93%)
- Jak zhakowa 125,00 zł, (10,00 zł -92%)
- Excel w HR. Kurs video. Od teorii do praktyki 222,11 zł, (19,99 zł -91%)
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