Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Безпека життєдіяльності
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Ekonomia i finanse
- Езотерика
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Для жінок
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Przewodniki po hotelach i restauracjach
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Програмування
- .NET - Програмування
- Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji
Деталі електронної книги

Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji
Większość książek programistycznych obejmuje jedynie wybrane tematy, takie jak bezpieczeństwo, testowanie aplikacji czy wdrażanie w chmurze. Inne koncentrują się na architekturze aplikacji, wzorcach projektowych albo przygotowaniu się do rozmów kwalifikacyjnych. Trudno jednak znaleźć przystępny przewodnik, który pozwoliłby krok po kroku przyswoić wszystkie umiejętności zawodowego programisty .NET.
Dzięki temu podręcznikowi odblokujesz swój potencjał i otworzysz drogę do kariery. Nauczysz się zarządzania kodem źródłowym przy użyciu Gita i skutecznego nawigowania po projektach. Odkryjesz zaawansowane techniki debugowania i dokumentowania kodu, co poprawi jego czytelność i ułatwi utrzymanie projektów. Zgłębisz też tajniki kryptografii, by zapewnić poufność i spójność danych na każdym etapie cyklu życia aplikacji. W książce nie zabrakło wnikliwego spojrzenia na nowoczesne zagadnienia, takie jak budowanie inteligentnych aplikacji korzystających z modeli LLM, wstrzykiwanie zależności, testowanie czy konteneryzacja za pomocą Dockera. Dzięki wskazówkom dotyczącym najlepszych praktyk architektury oprogramowania zaczniesz tworzyć solidne, skalowalne i łatwe w utrzymaniu aplikacje!
W książce:
- zaawansowane techniki debugowania
- ochrona danych i aplikacji przy użyciu kryptografii
- zastosowanie modeli LLM i programowanie chmurowe z .NET Aspire
- wstrzykiwanie zależności
- optymalizacja wydajności poprzez benchmarking i testowanie
- przygotowanie się do rozmowy kwalifikacyjnej
Od juniora do eksperta. Wszystko, co musisz wiedzieć o .NET!
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
- Назва: Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji
- Автор: Mark J. Price
- Оригінальна назва: Tools and Skills for .NET 8: Get the career you want with good practices and patterns to design, debug, and test your solutions
- Переклад: Wojciech Moch
- ISBN: 978-83-289-2234-1, 9788328922341
- Дата видання: 2025-07-14
- Формат: Eлектронна книга
- Ідентифікатор видання: zoseks
- Видавець: Helion