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
- 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
- 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
- Visual C# - Programming
- Koduj jak profesjonalista C#
E-book details

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
- Title: Koduj jak profesjonalista C#
- Author: Jort Rodenburg
- ISBN: 978-83-7541-459-2, 9788375414592
- Date of issue: 2022-03-17
- Format: Ebook
- Item ID: e_2nxd
- Publisher: Promise