C# 7 и .NET Core 2.0 Многопоточное программирование

Товар

2 268  ₽
C# 7 и .NET Core 2.0 Многопоточное программирование

Доставка

  • Почта России

    1297 ₽

  • Курьерская доставка EMS

    1623 ₽

Характеристики

Артикул
15348790522
Состояние
Новый
Język publikacji
polski
Waga produktu z opakowaniem jednostkowym
0.395 kg
Okładka
miękka
Nośnik
książka papierowa
Rok wydania
2019
Tytuł
C# 7 i .NET Core 2.0 Programowanie wielowątkowych i współbieżnych aplikacji
Autor
Ahmed Khan
Wydawnictwo
Helion
Liczba stron
240
Szerokość produktu
17 cm
Wysokość produktu
13 cm

Описание

C# 7 i .NET Core 2.0 Programowanie wielowątkowych

C# 7 i .NET Core 2.0 Programowanie wielowątkowych i współbieżnych aplikacji

Mehboob Ovais, Khan Ahmed

W świecie programistów aplikacji panuje kult wydajności: najważniejsze są szybkość i efektywność działania kodu. Dostrajanie elementów dużych aplikacji staje się wirtuozerią: wymaga eliminowania wąskich gardeł, optymalizacji kodu, pilnowania każdego bitu pamięci. Niewielkie braki w rozwiązaniach w przypadku rozbudowanych systemów przeradzają się w wielkie problemy. Dla programisty oznacza to, że jeśli chce pracować na prawdziwie profesjonalnym poziomie, musi perfekcyjnie opanować zagadnienia związane ze skalarnością, z modularnością i efektywnością kodu.

Ta książka jest przeznaczona dla programistów .NET, którzy chcą przyspieszyć pracę swoich aplikacji. Opisuje nowe funkcje C# 7 i .NET Core 2.0 oraz ich wpływ na wydajność kodu. Przedstawia takie mechanizmy .NET Core jak proces kompilacji, odzyskiwanie pamięci czy wykorzystywanie wielu rdzeni procesora. Prezentuje koncepcje wielowątkowości i programowania asynchronicznego oraz wyjaśnia znaczenie optymalizacji struktur danych. Omawia też wzorce i najlepsze praktyki projektowania aplikacji w .NET Core, a także zagadnienia bezpieczeństwa i elastyczności oraz architektury mikrousług. Wiedza zawarta w książce pozwoli na pisanie modularnych, skalowalnych, bezpiecznych i niezależnie wdrażanych aplikacji.

W tej książce między innymi:

  • nowości w C# 7 i .NET Core 2.0
  • struktury danych i optymalizacja kodu w C#
  • zarządzanie pamięcią i zapobieganie wyciekom pamięci
  • zapewnianie odporności na błędy aplikacji
  • narzędzia do monitorowania wydajności aplikacji: App Metrics, InfluxDB i Grafana
  • wytyczne projektowania i dobre praktyki programistyczne

C# i .NET Core: wielowątkowość - współbieżność - wydajność!

O autorze

Ovais Mehboob Ahmed Khan jest architektem z 14-letnim doświadczeniem w programowaniu, a także autorem książek i innych publikacji technicznych. Pracował w kilku firmach informatycznych w Pakistanie, USA oraz na Bliskim Wschodzie. Obecnie jest zatrudniony w państwowej firmie w Dubaju. Otrzymał tytuł MVP. Specjalizuje się w takich technologiach jak Microsoft .NET, chmura i tworzenie aplikacji internetowych.

Spis treści

O autorze 7

O recenzencie 8

Wstęp 9

Rozdział 1. Co nowego w .NET Core 2 i C# 7? 13

  • Rozwój frameworka .NET 13
  • Nowości w .NET Core 2.0 15

    Poprawki wydajności 15

    Uproszczony system pakietów 17

  • Ścieżka aktualizacji z .NET Core 1.x do 2.0 17

    1. Instalacja .NET Core 2.0 17

    2. Zaktualizowanie TargetFramework 17

    3. Aktualizacja wersji .NET Core SDK 18

    4. Aktualizacja .NET Core CLI 18

    Zmiany w ASP.NET Core Identity 18

  • Odkrywanie .NET Core CLI i szablonów nowych projektów 18
  • .NET Standard 22

    Wersjonowanie .NET Standard 24

    Nowości w .NET Standard 2.0 25

  • Tworzenie biblioteki .NET Standard 27
  • Co nowego w ASP.NET Core 2.0? 27

    ASP.NET Core Razor Pages 27

    Uproszczona konfiguracja Application Insights 28

    Pule połączeń w Entity Framework Core 2.0 29

  • Nowe funkcje w C# 7.0 29

    Krotki 30

    Wzorce 31

    Zwracanie referencji 32

    Rozszerzone wyrażenia typu expression bodied member 32

    Tworzenie lokalnych funkcji 33

    Zmienne wyjściowe 33

    Asynchroniczna metoda Main 34

  • Pisanie kodu wysokiej jakości 35
  • Podsumowanie 38

Rozdział 2. Mechanizmy wewnętrzne .NET Core i mierzenie wydajności 39

  • Mechanizmy wewnętrzne .NET Core 40

    CoreFX 40

    CoreCLR 40

    Działanie MSIL, CLI, CTS i CLS 41

    Jak działa CLR? 42

    Od kompilacji do wykonania - pod maską 42

    Mechanizm odzyskiwania pamięci (ang. garbage collection) 43

    .NET Native i kompilacja JIT 46

  • Wykorzystywanie wielu rdzeni CPU dla większej wydajności 46
  • Jak kompilacje w trybie wydania zwiększają wydajność 48
  • Testy porównawcze aplikacji .NET Core 2.0 49

    Poznawanie BenchmarkDotNet 49

    Jak to działa 51

    Ustawianie parametrów 51

    Diagnostyka pamięci z użyciem BenchmarkDotNet 53

    Dodawanie konfiguracji 53

  • Podsumowanie 55

Rozdział 3. Wielowątkowość i programowanie asynchroniczne w .NET Core 57

  • Wielowątkowość kontra programowanie asynchroniczne 58
  • Wielowątkowość w .NET Core 60

    Zastrzeżenia w wielowątkowości 60

    Wątki w .NET Core 61

    Synchronizacja wątków 64

    Task parallel library (TPL) 70

    Wzorce projektowe programowania równoległego 77

  • Podsumowanie 83

Rozdział 4. Struktury danych i pisanie zoptymalizowanego kodu C# 85

  • Czym są struktury danych? 86
  • Notacja wielkiego O do mierzenia wydajności i złożoności algorytmu 88

    Logarytmy 90

  • Wybieranie odpowiedniej struktury danych do optymalizacji wydajności 91

    Tablice 91

    Listy 92

    Stosy 93

    Kolejka 94

    Listy łączone 95

    Słowniki, tablice haszujące i zbiory haszujące 96

    Listy generyczne 96

  • Najlepsze praktyki pisania zoptymalizowanego kodu C# 97

    Narzut pakowania i rozpakowywania 98

    Konkatenacja łańcuchów znaków 100

    Obsługa wyjątków 101

    For i foreach 102

    Delegaty 103

  • Podsumowanie 104

Rozdział 5. Wytyczne projektowania wydajnych aplikacji .NET Core 105

  • Zasady kodowania 106

    Konwencje nazewnicze 106

    Komentarze 107

    Jedna klasa na plik 107

    Jedna logika na metodę 107

  • Zasady projektowania 108

    KISS (Keep It Simple, Stupid) 108

    YAGNI (You Aren't Gonna Need It) 109

    DRY (Don't Repeat Yourself) 109

    Podział odpowiedzialności 109

    Zasady SOLID 110

    Buforowanie 121

    Struktury danych 122

    Komunikacja 122

    Zarządzanie zasobami 123

    Współbieżność 124

  • Podsumowanie 125

Rozdział 6. Techniki zarządzania pamięcią w .NET Core 127

  • Przegląd zarządzania alokacją pamięci 128
  • Analizowanie mechanizmów wewnętrznych CLR przez debuger SOS w .NET Core 128
  • Fragmentacja pamięci 132
  • Unikanie destruktorów 133
  • Najlepsze praktyki zwalniania obiektów w .NET Core 135

    Wstęp do interfejsu IDisposable 135

    Czym są niezarządzane zasoby? 135

    Wykorzystywanie IDisposable 136

    Kiedy implementować interfejs IDisposable? 137

    Destruktor i Dispose 138

  • Podsumowanie 140

Rozdział 7. Stosowanie zabezpieczeń i implementowanie odporności na błędy w aplikacjach .NET Core 141

  • Wprowadzenie do aplikacji odpornych na błędy 142

    Polityki odporności 142

  • Przechowywanie danych wrażliwych z wykorzystaniem Application Secrets 158
  • Zabezpieczanie API w ASP.NET Core 161

    SSL (ang. Secure Socket Layer) 161

    Zapobieganie atakom CSRF (ang. Cross-Site Request Forgery) 163

    Wzmacnianie nagłówków bezpieczeństwa 163

    Uwierzytelnianie i autoryzacja 168

    Uwierzytelnianie 169

    Autoryzacja 169

    Implementacja uwierzytelniania i autoryzacji z użyciem frameworka ASP.NET Core Identity 169

  • Podsumowanie 173

Rozdział 8. Architektura mikrousług 175

  • Architektura mikrousług 176

    Zalety architektury mikrousług 177

    Standardowe praktyki podczas tworzenia mikrousług 178

    Typy mikrousług 179

    DDD 179

    Manipulowanie danymi w mikrousługach 179

    Spójność w różnych scenariuszach biznesowych 180

    Komunikacja z mikrousługami 181

    Architektura baz danych w mikrousługach 182

    Czym jest kompozycja API? 183

    CQRS 184

  • Tworzenie architektury mikrousług w .NET Core 185

    Tworzenie przykładowej aplikacji w .NET Core z wykorzystaniem architektury mikrousług 185

  • Wdrażanie mikrousług w kontenerach Docker 210

    Czym jest Docker? 211

    Korzystanie z Dockera w .NET Core 212

    Uruchamianie obrazów Dockera 214

  • Podsumowanie 214

Rozdział 9. Monitorowanie wydajności aplikacji z wykorzystaniem narzędzi 215

  • Kluczowe wskaźniki wydajności aplikacji 216

    Średni czas odpowiedzi 216

    Apdex 216

    Odsetek błędów 216

    Liczba żądań 216

    Przepustowość/punkty końcowe 217

    Wykorzystanie procesora i pamięci 217

  • Narzędzia i techniki monitorowania wydajności 217

    Wstęp do App Metrics 217

    Konfigurowanie App Metrics w ASP.NET Core 217

    Śledzące oprogramowanie pośredniczące 218

    Dodawanie raportów graficznych 220

  • Podsumowanie 229

Skorowidz 231

Гарантии

  • Гарантии

    Мы работаем по договору оферты и предоставляем все необходимые документы.

  • Лёгкий возврат

    Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.

  • Безопасная оплата

    Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.

Отзывы о товаре

Рейтинг товара 4.81 / 5

27 отзывов

Russian English Polish