Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- BHP
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Ekonomia i finanse
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Przewodniki po hotelach i restauracjach
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- Visual C# - Programowanie
- Koduj jak profesjonalista C#
Szczegóły ebooka

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
- Tytuł: Koduj jak profesjonalista C#
- Autor: Jort Rodenburg
- ISBN: 978-83-7541-459-2, 9788375414592
- Data wydania: 2022-03-17
- Format: Ebook
- Identyfikator pozycji: e_2nxd
- Wydawca: Promise