PROGRAMUJE .NET

Moje przygody z programowaniem :)

Grupowanie wiadomości w NLogu w ramach żądania HTTP

Grupowanie wiadomości w NLogu w ramach żądania HTTP

Wprowadzenie Logowanie działania aplikacji jest bardzo przydatne podczas późniejszej analizy tego, co się stało. Na ogół prawie każda aplikacja loguje jakieś informacje. Niestety zauważyłem, że równie często nie do końca dobrze logujemy wiadomości. Jest to szczególnie widoczne w aplikacjach webowych (na przykład w ASP.NET MVC). Przy dużej liczbie użytkowników wiadomości z poszczególnych żądań są wymieszane Read more about Grupowanie wiadomości w NLogu w ramach żądania HTTP[…]

Postman - testowanie API

Postman – testowanie API

Wprowadzenie Sposób tworzenia aplikacji webowych zmienia się na przestrzeni czasu. W świecie .NET przez lata kodowaliśmy w ASP.NET MVC, w którym widoki były generowane po stronie serwera. Od jakiegoś czasu idziemy w kierunku, w którym backend udostępnia API, z którego korzysta aplikacja po stronie przeglądarki i która generuje widoki po stronie klienta. W związku z Read more about Postman – testowanie API[…]

VS Live Share – łatwiejsza praca zdalna

VS Live Share – łatwiejsza praca zdalna

Wprowadzenie Praca zdalna coraz częściej i „bardziej” wchodzi do naszego zawodu. Sam przez prawie osiem lat pracowałem zdalnie z domu. Teraz natomiast, pracując w olsztyńskim oddziale SoftwareHut, i tak pracuję zdalnie dla klienta z Anglii. Praca zdalna wiąże się z wyzwaniami. W jaki sposób wspólnie debugować aplikacje, gdy jesteśmy oddaleni od siebie o kilkaset kilometrów? Read more about VS Live Share – łatwiejsza praca zdalna[…]

Entity Framework Automapper oraz projekcja

Entity Framework, Automapper oraz projekcja

Wprowadzenie Od wielu lat używam viewmodeli do przekazywania danych do widoku – niezależnie od tego, czy to aplikacja desktopowa w WPF, czy webowa w ASP.NET MVC. Do tego jeszcze Automapper do mapowania danych na viewmodele. Niestety mapowanie z wykorzystaniem metody Map obiektów z Entity Frameworka bardzo często ma swoje negatywne konsekwencje (na ogół pobieramy zbyt Read more about Entity Framework, Automapper oraz projekcja[…]

CsvHelper - praca z plikami csv

CsvHelper – praca z plikami csv

Wprowadzenie Tworząc aplikację, wcześniej czy później będziemy musieli zaimportować lub wyeksportować jakieś dane. Jednym z formatów, który prawdopodobnie będziemy musieli obsłużyć, będzie plik csv. Można taki import lub eksport zrobić ręcznie, korzystając z takich metod klasy string, jak Join lub Split. Z drugiej strony możemy skorzystać z czegoś gotowego. W swoich projektach, gdy mam pracować Read more about CsvHelper – praca z plikami csv[…]

Jak zastąpić rozbudowanego switch w aplikacji

Jak zastąpić rozbudowany switch w aplikacji

Wprowadzenie Dzisiejszy wpis jest zainspirowany kilkoma ostatnimi przypadkami, w których widziałem bardzo rozbudowane switche w aplikacji.  Utrzymanie tego kodu zaczynało sprawiać programistom spore problemy. Zapewne wielokrotnie widziałeś lub widziałaś metody, w których znajdował się jeden wielki switch, gdzie każdy case zawierał następnie zupełnie inny kod niż pozostałe przypadki. Utrzymanie tego, a w szczególności dodanie nowych Read more about Jak zastąpić rozbudowany switch w aplikacji[…]

FluentAssertions.Mvc - assercie dla ASP.NET MVC

FluentAssertions.Mvc – asserty dla ASP.NET MVC

Wprowadzenie Dwa tygodnie temu opublikowałem wpis o bibliotece Fluent Assertions, która bardzo ułatwia pisanie assertów w testach (zachęcam do przeczytania w pierwszej kolejności owego wpisu). Pokazałem, jak korzystać z biblioteki oraz jak łatwo można rozszerzać możliwości biblioteki o własne metody. Dzisiaj natomiast pokażę Ci, jak testować kontrolery w ASP.NET MVC za pomocą rozszerzenia o nazwie Read more about FluentAssertions.Mvc – asserty dla ASP.NET MVC[…]

Effort - testy Entity Framework

Effort – testy Entity Framework

Wprowadzenie W ostatnim wpisie poruszyłem temat testowania, a w dzisiejszym wpisie pozostaniemy przy tym temacie. O ile z testowaniem warstwy logiki biznesowej na ogół nie mamy problemów, to już dużo gorzej wygląda to z warstwą dostępu do danych. Entity Framework z pudełka nie umożliwia prostego pisania testów jednostkowych. Istnieją różne rozwiązania tego problemu. Część osób Read more about Effort – testy Entity Framework[…]

Fluent Assertions - przyjemne asserty w testach

Fluent Assertions – przyjemne asserty w testach

Wprowadzenie Testy jednostkowe oraz testy integracyjne potrafią bardzo ułatwić wyłapywanie błędów podczas tworzenia aplikacji (w szczególności błędów regresji). Dlatego na ogół bardzo chcemy je dodać do aplikacji, ale niestety często spotykamy się z oporem „góry”, bo pisanie testów zajmuje dużo czasu. Z doświadczenia wiem, że jednym z powodów wydłużania czasu pisania testów są rozbudowane asserty. Read more about Fluent Assertions – przyjemne asserty w testach[…]

EF Plus - aktualizacja wielu obiektów jednym zapytaniem

EF Plus – aktualizacja wielu obiektów jednym zapytaniem

Wprowadzenie Bardzo lubię wykorzystywać Entity Framework w swoich projektach. W szczególności lubię je za łatwość i szybkość tworzenia kodu (na przykład za opisywany ostatnio mechanizm migracji). Ale żeby nie było tak różowo, Entity Framework ma również swoje problemy. Są one głównie związane z wydajnością. Szczególnie że niektóre operacje, który wykonalibyśmy w czystym SQLu jednym prostym Read more about EF Plus – aktualizacja wielu obiektów jednym zapytaniem[…]