Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (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
-
Управління
Подкасти
- Електронні книги
- Програмування
- Visual C# - Програмування
- Koduj jak profesjonalista C#
Деталі електронної книги

Znasz już podstawy, zatem przygotuj się na kolejny etap! Kod C# profesjonalnej jakości jest wydajny, czysty i szybki. Niezależnie od tego, czy budujesz aplikacje biznesowe dla użytkowników, czy usługi backendu dla aplikacji Web, oparte na doświadczeniu praktyczne techniki przedstawione w tej książce pozwalają podnieść umiejętności C# na nowy poziom.
Koduj jak profesjonalnista w C# pokazuje, jak pisać czysty kod C#, właściwy dla aplikacji klasy przedsiębiorstwa. Wraz z autorem przejdziesz proces refaktoryzacji odziedziczonej bazy kodu, stosując techniki nowoczesnego C#. Po drodze poznasz takie narzędzia, jak Entity Framework Core, techniki projektowe, takie jak wstrzykiwanie zależności oraz kluczowe praktyki wytwarzania sterowanego testami. Jest to doskonały sposób na zwiększenie już posiadanych umiejętności lub przejścia z innego języka obiektowego do C# i ekosystemu .NET.
Podstawowe zagadnienia:
l Testy jednostkowe i wytwarzanie sterowane testami
l Refaktoryzacja odziedziczonego kodu .NET
l Zasady czystego kodu
l Odpytywanie i manipulowanie bazami danych przy użyciu LINQ i Entity Framework Core
Książka przeznaczona jest dla programistów z doświadczeniem w programowaniu obiektowym. Znajomość C# nie jest wymagana.
Jort Rodenburg jest inżynierem oprogramowania z bogatym doświadczeniem praktycznym, a także wykładowcą i autorem kursów na temat przyśpieszania i usprawniania pracy w C# i .NET.
"Warto przeczytać
kilka razy".
Prabhuti Prakash
Synechron Technologies
"Pełna wskazówek i spostrzeżeń pozwalających szybko wejść w rytm.
Zdecydowanie polecam!"
Edin Kapic, isolutions
"Ta książka naprawdę pomogła mi przejść na następny poziom".
Daniel Vasquez Estupinan
Tokiota
"Takiej właśnie książki szukałem, gdy chciałem nauczyć się pisania lepszego kodu w C#".
Gustavo Filipe Ramos Gomes
Troido
"Uczy świetnych technik i najlpeszych praktyk nowoczesnego programowania w C#".
Foster Haines, J2 Interactive
- Spis treści
- przedmowa
- podziękowania
- o tej książce
- o autorze
- o ilustracji na okładce
- Używanie C# i .NET
- Przedstawiamy C# i .NET
- 1.1 Dlaczego warto pracować w C#?
- 1.1.1 Powód 1: C# jest ekonomiczny
- 1.1.2 Powód 2: C# jest łatwy w utrzymaniu
- 1.1.3 Powód 3: C# jest przyjazny dla dewelopera i łatwy w użyciu
- 1.2 Kiedy lepiej nie pracować w C#?
- 1.2.1 Tworzenie systemu operacyjnego
- 1.2.2 Tworzenie wbudowanych systemów czasu rzeczywistego w C#
- 1.2.3 Przetwarzanie numeryczne a C#
- 1.3 Przełączanie się na C#
- 1.4 Czego można się nauczyć z tej książki
- 1.5 Czego nie nauczymy się z tej książki
- Podsumowanie
- 1.1 Dlaczego warto pracować w C#?
- .NET i proces kompilacji
- 2.1 Czym jest .NET Framework?
- 2.2 Czym jest .NET 5?
- Ćwiczenia
- 2.3 Jak kompilowane są języki zgodne z CLI
- 2.3.1 Krok 1: Kod C# (wysokiego poziomu)
- 2.3.2 Krok 2: Common Intermediate Language (poziom asemblera)
- 2.3.3 Krok 3: Kod natywny (poziom procesora)
- Ćwiczenia
- Podsumowanie
- Przedstawiamy C# i .NET
- Istniejąca baza kodu
- Jak zły jest ten kod?
- 3.1 Przedstawiamy Flying Dutchman Airlines
- 3.2 Kawałki układanki: Spojrzenie na wymagania
- 3.2.1 Mapowanie obiektowo-relacyjne
- 3.2.2 Punkt końcowy GET /flight: Pobieranie informacji o wszystkich lotach
- 3.2.3 Punkt końcowy GET /flight/{flightNumber}: Pobieranie informacji o konkretnym locie
- 3.2.4 Punkt końcowy POST /booking/{flightNumber}: Rezerwowanie lotu
- 3.3 Uzgadnianie wymagań z istniejącą bazą kodu
- 3.3.1 Ocena istniejącego schematu bazy danych i jej tabel
- 3.3.2 Istniejąca baza kodu: pliki konfiguracyjne usługi Web
- 3.3.3 Badanie modeli i widoków w istniejącej bazie kodu
- Podsumowanie
- Zarządzanie zasobami niezarządzanymi!
- 4.1 FlightController: badanie punktu końcowego GET /flight
- 4.1.1 Punkt końcowy GET /flight i jego działanie
- 4.1.2 Sygnatura metody: Znaczenie słów kluczowych ResponseType oraz typeof
- 4.1.3 Gromadzenie informacji o lotach za pomocą kolekcji
- 4.1.4 Łańcuchy połączenia, czyli jak doprowadzić inżyniera zabezpieczeń do zawału
- 4.1.5 Używanie IDisposable do zwalniania niezarządzanych zasobów
- 4.1.6 Odpytywanie bazy danych za pomocą SqlCommand
- 4.2 FlightController: Poznajemy GET /flight/{flightNumber}
- 4.3 FlightController: POST /flight
- 4.4 FlightController: DELETE /flight/{flightNumber}
- Ćwiczenia
- Podsumowanie
- 4.1 FlightController: badanie punktu końcowego GET /flight
- Jak zły jest ten kod?
- Warstwa dostępu do bazy danych
- Konfigurowanie projektu i bazy danych za pomocą Entity Framework Core
- 5.1 Tworzenie rozwiązania i projektu .NET 5
- 5.2 Tworzenie i konfigurowanie usługi Web
- 5.2.1 Konfigurowanie usługi Web .NET 5
- 5.2.2 Tworzenie i używanie HostBuilder
- 5.2.3 Implementowanie klasy Startup
- 5.2.4 Używanie wzorca repozytorium/usługa w architekturze naszej usługi Web
- 5.3 Implementowanie warstwy dostępu do bazy danych
- 5.3.1 Entity Framework Core i inżynieria odwrotna
- 5.3.2 DbSet i przepływ pracy Entity Framework Core
- 5.3.3 Metody konfiguracji i zmienne środowiskowe
- 5.3.4 Ustawianie zmiennej środowiskowej w Windows
- 5.3.5 Ustawianie zmiennej środowiskowej w macOS
- 5.3.6 Odczytywanie zmiennych środowiskowych w czasie działania programu
- Ćwiczenia
- Podsumowanie
- Konfigurowanie projektu i bazy danych za pomocą Entity Framework Core
- Warstwa repozytorium
- Wytwarzanie sterowane testami i wstrzykiwanie zależności
- 6.1 Wytwarzanie sterowane testami
- Ćwiczenia
- 6.2 Metoda CreateCustomer
- 6.2.1 Dlaczego należy walidować argumenty wejściowe
- 6.2.2 Używanie wzorca AAA w pisaniu testów jednostkowych
- 6.2.3 Walidacja pod kątem nieprawidłowych znaków
- 6.2.4 Włamywanie danych testowych za pomocą atrybutu [DataRow]
- 6.2.5 Inicjalizatory obiektów i automatycznie generowany kod
- 6.2.6 Konstruktory, refleksje i programowanie asynchroniczne
- 6.2.7 Blokady, muteksy i semafory
- 6.2.8 Wykonywanie synchroniczne do asynchronicznego ciąg dalszy
- 6.2.9 Testowanie Entity Framework Core
- 6.2.10 Kontrolowanie zależności przy użyciu wstrzykiwania zależności
- Ćwiczenia
- Podsumowanie
- Porównywanie obiektów
- 7.1 Metoda GetCustomerByName
- 7.1.1 Znaki zapytania: typu nullowalne i ich zastosowania
- 7.1.2 Niestandardowe wyjątki, LINQ i metody rozszerzające
- 7.2 Kongruencja: od średniowiecza do C#
- 7.2.1 Tworzenie klasy porównującej przy użyciu EqualityComparer<T>
- 7.2.2 Testowanie równości poprzez nadpisanie metody Equals
- 7.2.3 Przeciążanie operatora równości
- Ćwiczenia
- Podsumowanie
- 7.1 Metoda GetCustomerByName
- Atrapy, typy ogólne i sprzężenie
- 8.1 Implementowanie repozytorium Booking
- 8.2 Walidacja wejścia, rozdzielanie zagadnień i sprzęganie
- Ćwiczenia
- 8.3 Używanie inicjalizatorów obiektów
- 8.4 Testy jednostkowe z użyciem atrap
- 8.5 Programowanie przy użyciu typów ogólnych
- 8.6 Dostarczanie domyślnych wartości argumentów przy użyciu parametrów opcjonalnych
- 8.7 Wyrażenia warunkowe, typ Func i przełączniki
- 8.7.1 Trójargumentowy operator warunkowy
- 8.7.2 Rozgałęzianie wykonania przy użyciu tablicy funkcji
- 8.7.3 Instrukcje i wyrażenia switch
- 8.7.4 Odpytywanie o oczekujące zmiany w Entity Framework Core
- Ćwiczenia
- Podsumowanie
- Metody rozszerzające, strumienie i klasy abstrakcyjne
- 9.1 Implementowanie repozytorium Airport
- 9.2 Pobieranie lotniska z bazy danych na podstawie przekazanego identyfikatora
- 9.3 Walidacja parametru wejściowego AirportID
- 9.4 Strumienie wyjściowe i zapewnienie odpowiedniej abstrakcji
- 9.5 Odpytywanie bazy danych o obiekt Airport
- 9.6 Implementowanie repozytorium Flight
- 9.6.1 Metoda rozszerzająca IsPositive oraz magiczne liczby
- 9.6.2 Pobieranie obiektu lotu z bazy danych
- Ćwiczenia
- Podsumowanie
- Wytwarzanie sterowane testami i wstrzykiwanie zależności
- Warstwa usługi
- Refleksja i imitacje
- 10.1 Powrót do wzorca repozytorium/usługa
- 10.1.1 Jakie jest zastosowanie klasy usługi?
- Ćwiczenia
- 10.2 Implementowanie klasy CustomerService
- 10.2.1 Konfigurowanie przypadku sukcesu: tworzenie klas szkieletowych
- 10.2.2 Jak usunąć swój własny kod
- Ćwiczenia
- 10.3 Implementowanie BookingService
- 10.3.1 Testy jednostkowe przekraczające granice pomiędzy warstwami architektury
- 10.3.2 Różnica pomiędzy stubem a mockiem
- 10.3.3 Imitowanie klasy za pomocą biblioteki Moq
- 10.3.4 Wywoływanie repozytorium z poziomu usługi
- Ćwiczenia
- Podsumowanie
- 10.1 Powrót do wzorca repozytorium/usługa
- Sprawdzanie typów w czasie działania i obsługa błędów spojrzenie drugie
- 11.1 Walidacja parametrów wejściowych metody warstwy usługi
- 11.1.1 Sprawdzanie typów w czasie działania przy użyciu operatorów is i as
- 11.1.2 Sprawdzanie typu za pomocą operatora is
- 11.1.3 Sprawdzanie typów przy użyciu operatora as
- 11.1.4 Co zrobiliśmy w punkcie 11.1?
- 11.2 Sprzątanie klasy BookingServiceTests
- 11.3 Ograniczenia klucza obcego w klasach usługowych
- 11.3.1 Wywoływanie repozytorium Flight z klasy usługowej
- Ćwiczenia
- Podsumowanie
- 11.1 Walidacja parametrów wejściowych metody warstwy usługi
- Stosowanie IAsyncEnumerable<T> oraz yield return
- 12.1 Czy potrzebujemy klasy AirportService?
- 12.2 Implementowanie klasy FlightService
- 12.2.1 Uzyskiwanie informacji o lotach z FlightRepository
- 12.2.2 Łączenie dwóch strumieni danych w widok
- 12.2.3 Używanie słów kluczowych yield return w blokach kodu try-catch
- 12.2.4 Implementowanie metody GetFlightByFlightNumber
- Ćwiczenia
- Podsumowanie
- Refleksja i imitacje
- Warstwa kontrolera
- Oprogramowanie pośrednie, trasy HTTP i odpowiedzi HTTP
- 13.1 Klasy kontrolerów w ramach wzorca repozytorium/usługa
- 13.2 Ustalanie, które kontrolery trzeba zaimplementować
- 13.3 Implementowanie klasy FlightController
- 13.3.1 Zwracanie odpowiedzi HTTP przy użyciu interfejsu IActionResult (GetFlights)
- 13.3.2 Wstrzykiwanie zależności do kontrolera za pomocą middleware
- 13.3.3 Implementowanie punktu końcowego GET /Flight/{FlightNumber}
- 13.4 Kierowanie żądań HTTP do kontrolerów i metod
- Ćwiczenia
- Podsumowanie
- Serializacja i deserializacja JSON oraz niestandardowe wiązanie modelu
- 14.1 Implementowanie klasy BookingController
- 14.1.1 Wprowadzenie do deserializacji danych
- 14.1.2 Używanie atrybutu [FromBody] do deserializacji przychodzących danych HTTP
- 14.1.3 Użycie niestandardowego wiązania modelu i atrybutu metody dla wiązania
- 14.1.4 Implementowanie logiki punktu końcowego w metodzie CreateBooking
- 14.2 Testy akceptacyjne i middleware Swagger
- 14.2.1 Ręczne wykonywanie testów akceptacyjnych na podstawie specyfikacji OpenAPI
- 14.2.2 Generowanie specyfikacji OpenAPI w czasie działania programu
- 14.3 Koniec podróży
- Podsumowanie
- 14.1 Implementowanie klasy BookingController
- Oprogramowanie pośrednie, trasy HTTP i odpowiedzi HTTP
- Odpowiedzi do ćwiczeń
- Lista kontrolna czystego kodu
- Wskazówki instalacyjne
- OpenAPI FlyTomorrow
- Lista lektur
- Polecamy także
- Назва: Koduj jak profesjonalista C#
- Автор: Jort Rodenburg
- ISBN: 978-83-7541-459-2, 9788375414592
- Дата видання: 2022-03-17
- Формат: Eлектронна книга
- Ідентифікатор видання: e_2nxd
- Видавець: Promise