Programista .NET

Moje przygody z programowaniem :)

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[…]

Dlaczego Editor Template jest lepszy niż Partial View do tworzenia formularzy

Dlaczego Editor Template jest lepszy niż Partial View do tworzenia formularzy?

Wprowadzenie W ASP.NET MVC rozbudowane formularze możemy utworzyć na różne sposoby. Na ogół staramy się wyrzucać powtarzające się elementy do oddzielnych plików, aby wykorzystywać je ponownie. Zauważyłem, że większość osób do tego celu wykorzystuje widoki Partial, które niestety często zamiast pomóc – powodują dodatkowe problemy. W tym wpisie postaram się pokazać Ci , dlaczego w przypadku formularzy Read more about Dlaczego Editor Template jest lepszy niż Partial View do tworzenia formularzy?[…]

Prywatna klasa

Prywatna klasa?

Prywatna klasa? Dzisiejszy post będzie nieco inny niż większość. Temat, który poruszę, nie jest może jakoś mocno praktyczny i nie wykorzystasz go każdego dnia. Z drugiej strony może jednak posłużyć jako ciekawy pomysł na pytanie rekrutacyjne, dlatego warto się nim zainteresować. 🙂 Na początku zastanówmy się, czy klasa faktycznie może być prywatna. Chwila zastanowienia i Read more about Prywatna klasa?[…]

Swagger - dokumentowanie REST API

Swagger – dokumentowanie REST API

Wprowadzenie Od wielu lat usługi REST wypierają stare dobre usługi SOAP (a można już chyba nawet powiedzieć, że wyparły). Kiedy zaczynałem tworzyć usługi REST oraz z nich korzystać, miałem w pewnym sensie wrażenie, że robimy krok w tył. W SOAP mieliśmy WSDL-a, który opisywał usługę. Dzięki niemu Visual Studio mogło wygenerować wszystkie klasy, których następnie Read more about Swagger – dokumentowanie REST API[…]