async/await w ASP.NET Core — deadlocki i CancellationToken
Znasz już async/await od strony języka — await zwalnia wątek na czas operacji I/O. Na serwerze ta sama mechanika ma inną stawkę: wątki pochodzą ze wspólnej…
Czytaj więcej →C#, .NET, wzorce projektowe, algorytmy i zadania rekrutacyjne — wiedza, która realnie przybliża Cię do pierwszej pracy w IT.
Znasz już async/await od strony języka — await zwalnia wątek na czas operacji I/O. Na serwerze ta sama mechanika ma inną stawkę: wątki pochodzą ze wspólnej…
Czytaj więcej →Unit testy w Infrastructure .NET – jak testować File.ReadAllText zgodnie z Clean Architecture Dlaczego Infrastructure psuje testy? Testowanie warstwy Infrastructure w .NET to temat, który regularnie…
Czytaj więcej →“Jakie rodzaje polimorfizmu są w C#?” to pytanie, na które większość kandydatów odpowiada tylko połową prawdy — mówią o override, zapominając, że przeciążanie metod (ObliczPole(int) i ObliczPole(double)) to też polimorfizm, tylko…
Czytaj więcej →Reprezentowanie skończonego zbioru opcji jako stringa albo liczby to zaproszenie do błędów: kompilator nie sprawdzi literówki w "Wysłąne", IntelliSense nie podpowie dostępnych wartości, a porównanie status == "wysłane" po…
Czytaj więcej →Unit Testing Application Layer w .NET – Mockowanie zależności z Moq Testowanie Application Layer w .NET (Unit Testing) to moment, w którym wielu programistów zaczyna improwizować.…
Czytaj więcej →Każde REST API, każdy plik appsettings.json, każda odpowiedź z zewnętrznego serwisu — to JSON. W .NET domyślnym narzędziem do zamiany obiektów C# na JSON i z…
Czytaj więcej →Unit Testy w C# z xUnit i FluentAssertions – Testowanie BattleService w Clean Architecture Piszesz kod w C#, ale boisz się, że po refaktoryzacji coś się…
Czytaj więcej →Publiczne pole nie daje żadnej kontroli nad tym, co się do niego wstawia — ani teraz, ani w przyszłości, gdy zechcesz dodać walidację. Właściwości (properties) rozwiązują…
Czytaj więcej →Dwie klasy, ten sam kod skopiowany w dwóch miejscach. Zmiana sposobu liczenia ObliczWynagrodzenie wymaga teraz pamiętania o edycji obu klas — a przy dziesięciu podobnych typach pracowników o…
Czytaj więcej →Cztery gałęzie tej samej zmiennej, powtórzone porównanie za powtórzonym porównaniem. switch robi to samo, czytelniej — a w nowoczesnym C# potrafi też dużo więcej niż tylko porównywać równość.…
Czytaj więcej →Jak wydzielić GameRunner i zastosować SRP – Refaktoryzacja do Clean Architecture [6/6] [Część 11] Twój Program.cs zaczyna przypominać centrum dowodzenia NASA?Tworzy kontener DI, uruchamia grę, obsługuje…
Czytaj więcej →C# daje ci co najmniej cztery różne narzędzia do zamiany jednego typu na drugi — rzutowanie (int), int.Parse(), int.TryParse() i Convert.ToInt32() — i wszystkie wyglądają, jakby robiły to samo. Nie robią. Różnice…
Czytaj więcej →Dependency Injection w .NET- Refaktoryzacja do Clean Architecture [5/6] [Część 10] Czy Twój plik Program.cs pęka w szwach od ręcznego tworzenia obiektów? 🚀Dependency Injection (DI) w…
Czytaj więcej →Pobierz darmową Roadmapę .NET i zobacz, jak ułożyć te wszystkie tematy w spójną ścieżkę do pierwszej pracy.
Pobieram roadmapę →Używamy plików cookie do analityki i reklam. Możesz zmienić wybór w każdej chwili.
Polityka prywatności · Polityka cookies