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
- Health and Safety
- Biznes i Ekonomia
- Home and garden
- E-business
- Ekonomia i finanse
- Esoterecism
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- For women
- 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
- Przewodniki po hotelach i restauracjach
- 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
- Social policy
- 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
-
E-press
-
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
- Programming
- .NET - Programming
- Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji
E-book details

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
- Title: Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji
- Author: Mark J. Price
- Original title: Tools and Skills for .NET 8: Get the career you want with good practices and patterns to design, debug, and test your solutions
- Translation: Wojciech Moch
- ISBN: 978-83-289-2234-1, 9788328922341
- Date of issue: 2025-07-14
- Format: Ebook
- Item ID: zoseks
- Publisher: Helion