Zdjęcie Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji - Białobrzegi

Zostań ekspertem .NET 8. Dobre praktyki, wzorce projektowe, debugowanie i testowanie aplikacji Białobrzegi

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 …

Ostatnia znana cena: 79,99 zł Najbliżej: brak

Liczba ofert: 0

Opis

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! 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 O autorze: Mark J. Price - specjalizuje się w programowaniu w języku C#. Pracuje w Microsofcie, tworzy rozwiązania dla Microsoft Azure. Zdał ponad 80 egzaminów Microsoftu. Zajmuje się też dydaktyką: przeszkolił wielu przyszłych programistów, od 16-letnich początkujących aż po 70-latków na emeryturze.

Specyfikacja

Podstawowe informacje

Autor
  • Price Mark J.
Wybrani autorzy
  • Mark J Price
Wybrane wydawnictwa
  • Helion
Okładka
  • Miękka
Rok wydania
  • 2025
Ilość stron
  • 760
Tematyka
  • Programowanie
ISBN
  • 9788328922334