dotnetomaniak.pl

Strona głównaUżytkownik

danielplawgo | użytkownik

danielplawgo
danielplawgo
7 981,25
1 dzień, 18 godzin, 34 minuty temu
15 kwietnia, 2009
dotnetomaniak.pl

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 przypadków zaczyna być wyzwaniem i często ...

Źródło: plawgo.pl
Dziel się z innymi:
Jak zastąpić rozbudowany switch w aplikacji - Blog Daniela Plawgo

Sztuka programowania 3 dni, 16 godzin, 1 minutę temu danielplawgo 247 rozwiń

Dwa tygodnie temu opublikowałem wpis o bibliotece Fluent Assertions, która bardzo ułatwia pisanie assertów w testach (zachęcam pierw do przeczytania tamtego wpisu). Pokazałem jak korzystać z biblioteki oraz jak łatwo można rozszerzać możliwości biblioteki o własne metody. Dzisiaj natomiast pokaże Ci, jak testować kontrolery w ASP.NET MVC za pomocą rozszerzenia o nazwie FluentAssertions.MVC (https://github.com/fluentassertions/fluentassertions.mvc). Poćwiczymy r...

FluentAssertions.Mvc - assercie dla ASP.NET MVC - Blog Daniela Plawgo

Inne 11 dni, 14 godzin, 15 minut temu danielplawgo 67 rozwiń

W ostatnim wpisie poruszyłem temat testowania i w dzisiejszym wpisie zostaniemy 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. Są różne rozwiązania tego problemu. Część osób idzie tak naprawdę w testy integracyjne i wykonuje zapytania na realnej bazie. Część osób korzysta z baz da...

Źródło: plawgo.pl
Dziel się z innymi:
Effort - testy Entity Framework - Blog Daniela Plawgo

Bazy danych i XML 17 dni, 15 godzin, 41 minut temu danielplawgo 177 rozwiń

Testy jednostkowe oraz testy integracyjne potrafią bardzo ułatwić wyłapywanie błędów podczas tworzenie 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świadczenie zauważyłem, że jednym z powodów wydłużania czasu pisania testów są rozbudowane asserty. Dlatego w dzisiejszym wpisie chce Ci  pokazać bibliotekę Fluent Asserti...

Źródło: plawgo.pl
Dziel się z innymi:
Fluent Assertions - przyjemne asserty w testach - Blog Daniela Plawgo

Inne 23 dni, 15 godzin, 51 minut temu danielplawgo 110 rozwiń

Bardzo lubię wykorzystywać Entity Framework w swoich projektach. W szczególności 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. Głównie są one związane z wydajnością. Szczególnie, że niektóre operacje, który wykonalibyśmy w czystym SQLu jednym prostym zapytaniem, w Entity Framework wymagają wielu operacji na bazie danych. Taką operacji jest ...

Tagi: .Net, C#, EF
Źródło: plawgo.pl
Dziel się z innymi:
EF Plus - aktualizacja wielu obiektów jednym zapytaniem

Bazy danych i XML 32 dni, 16 godzin, 8 minut temu rroszczyk 177 rozwiń

W ASP.NET MVC rozbudowane formularze możemy utworzyć na różne sposoby. Na ogół staramy się wyrzucać do oddzielnych plików powtarzające się elementy, 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 Ci się pokazać, dlaczego w przypadku formularzy lepiej użyć Editor Templates niż widoków Partial.Przykład Zacznę od przykładu...

Źródło: plawgo.pl
Dziel się z innymi:
Dlaczego Editor Template jest lepszy niż Partial View do tworzenia formularzy? - Blog Daniela Plawgo

Web 38 dni, 15 godzin, 48 minut temu danielplawgo 149 rozwiń

Dzisiejszy post będzie trochę inny niż większość. Temat, który poruszę nie jest może jakoś mocno praktyczny i nie wykorzystasz go każdego dnia. Ale z drugiej strony może 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 prawdopodobnie myślisz sobie, że chyba nie. Po co w ogóle coś takiego byłoby potrzebne? Odpalasz Visual Stu...

Źródło: plawgo.pl
Dziel się z innymi:
Prywatna klasa? - Blog Daniela Plawgo

Inne 44 dni, 15 godzin, 22 minuty temu danielplawgo 273 rozwiń

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żenia, że robimy krok w tył. W SOAP mieliśmy WSDLa, który opisywał usługę. Dzięki niemu Visual Studio mogło wygenerować wszystkie klasy, które następnie używałem do komunikacji z usługą. W przypadku usług RESTowych nie mamy czegoś takiego z pudełka. Więc bardzo często ...

Źródło: plawgo.pl
Dziel się z innymi:
Swagger - dokumentowanie REST API - Blog Daniela Plawgo

Web 52 dni, 16 godzin, 52 minuty temu danielplawgo 172 rozwiń

Posted on przez Daniel PlawgoW ostatnim czasie trochę odświeżyłem mój darmowy kurs Visual Studio. Przede wszystkich przygotowałem landing page dla kursu (https://visualstudio.plawgo.pl) oraz poprawiłem kilka drobnych rzeczy.Pracuje również nad nowymi lekcjami i związku z tym postanowiłem przygotować konkurs z ciekawymi nagrodami. Do wygrania są:Roczna licencja na ReSharper Ultimate + Rider Pack (lub inny produkt od JetBrains)2 pakiety 5 godzin konsultacji z moją osobą (https://plawgo.pl/mentoring/), któ...

Źródło: plawgo.pl
Dziel się z innymi:
Kurs Visual Studio oraz konkurs - Blog Daniela Plawgo

Narzędzia 54 dni, 16 godzin, 57 minut temu danielplawgo 129 rozwiń

Dwa ostatnie wpisy na blogu dotyczyły sposób migracji schematu bazy danych. Migracje w Entity Framework oraz Fluent Migrator charakteryzują się tym, że cały proces migracji jest zapisany w klasach za pomocą api, które udostępnia dana biblioteka. Ilość sqla, którą piszemy w tych migracjach jest minimalizowana i sprowadza się głównie do wykonywania jakiś specyficznych rzeczy – np. skopiowania danych z jednego miejsca w drugie. Natomiast dzisiejsza biblioteka (DbU...

Tagi: DbUp, migracja
Źródło: plawgo.pl
Dziel się z innymi:
Migracja schematu bazy danych z DbUp - Blog Daniela Plawgo

Bazy danych i XML 59 dni, 15 godzin, 26 minut temu danielplawgo 100 rozwiń

W ubiegłym tygodniu pokazałem Ci w jaki sposób migrować schemat bazy w Entity Framework (zachęcam pierw do przeczytania tamtego wpisu). W tym wpisie pokaże Ci inną bibliotekę, którą możesz użyć do migracji schematu bazy, w momencie, gdy z jakiegoś powodu nie możesz użyć Entity Framework. Biblioteka nazywa się Fluent Migrator (https://fluentmigrator.github.io/) i w swoim działaniu jest bardzo podobna do mechanizmu migracji z Entity Framework. Największą różnicą ...

Źródło: plawgo.pl
Dziel się z innymi:
Migracja schematu bazy danych z Fluent Migrator - Blog Daniela Plawgo

Bazy danych i XML 66 dni, 17 godzin, 6 minut temu danielplawgo 99 rozwiń

W obecnych czasach bardzo rzadko tworzy się aplikacje, które nie korzystają z bazy danych. Gdzieś trzeba zapisać dane. Od jakiegoś czasu coraz bardziej popularne stają są bazy nierelacyjne, ale dalej najczęściej używamy baz relacyjnych, takich jak na przykład SQL Server. Jednym z problemów z jaki musimy się zmierzyć jest zmiana schematu bazy danych na przestrzeni czasu. A to musimy dodać miejsce na nowe dane. Usunąć już istniejące. Czy też zmienić strukturę, ab...

Źródło: plawgo.pl
Dziel się z innymi:
Migracja schematu bazy danych w Entity Framework - Blog Daniela Plawgo

Bazy danych i XML 73 dni, 16 godzin, 55 minut temu danielplawgo 164 rozwiń

Zapewne zastanawiasz się, czy w ogóle powinieneś lub powinnaś interesować się tworzeniem aplikacji konsolowych. Czy to jeszcze ma sens. Czy ktoś jeszcze tego używa. Od jakieś czasu widzę w swoim środowisku tendencje, w której aplikacje konsolowe przeżywają swoisty renesans. Powstaje ich coraz więcej i więcej. Jednym z powodów takiego stanu rzeczy jest to, że nasze systemy stają się coraz bardziej rozbudowane (np. mamy wiele mikroserwisów) i coraz bardziej stara...

Parsowanie parametrów w aplikacji konsolowej za pomocą CommandLineParser - Blog Daniela Plawgo

Inne 80 dni, 17 godzin, 35 minut temu danielplawgo 110 rozwiń

Normalnie praca nad open-source nic nie daje. Ups…. miało być daje satysfakcję, wpis do CV, radość z życia i zadowolenie. To jest ważne. Nawet bardzo. Ale czasami chcielibyśmy dostać coś więcej. Prawda?Konkurs! Dziś jest 13 września czyli dzień programisty i z tej okazji dotnetomaniak ma dla Was prezent. Jako partner medialny konferencji GET.NET w Gdańsku, mamy dla Was 2 wejściówki (od organizatorów) + nocleg (z mojej prywatnej kieszeni, więc na 5 gwiazdek nie liczyłbym). Ale jest haczyk. Trzeba włożyć ...

Dziel się z innymi:
Open-source = wejściówka + nocleg na GET.NET – Dotnetomaniak tech blog

Inne 93 dni, 17 godzin, 5 minut temu Piotr Stapp 71 rozwiń

Entity Framework jest bardzo fajnym narzędziem bardzo ułatwiającym pracę z bazami danych. Budowanie zapytań SQL na podstawie Linq, tworzenie struktury bazy danych na podstawie obiektów w C#, czy mechanizm migracji, powodują, że wielu programistów .NET wybiera Entity Framework. Niestety Entity Framework ma również swoje ciemne strony. Wystarczy chociażby wrócić do wpisu, w którym poruszałem problem aktualizowanie oraz usuwania danych. Pracując z Entity Framewor...

Źródło: plawgo.pl
Dziel się z innymi:
Jak profilować zapytania w Entity Framework? - Blog Daniela Plawgo

Bazy danych i XML 87 dni, 17 godzin, 6 minut temu danielplawgo 233 rozwiń

W aplikacji czasami mamy fragmenty kodu, które dodajemy w różnych miejscach. Tak jak ostatnio opisywałem, możemy chcieć dodać cachowanie danych na poziomie logiki biznesowej, aby zmniejszyć ilość zapytań do bazy. W przykładzie dotyczącym CacheManagera wywołanie usługi CacheService dodałem bezpośrednio w kodzie logiki. Z jednej strony tego kodu nie ma zbyt dużo, ale z drugiej strony fajnie byłoby mieć ten kod automatycznie w każdej logice biznesowej. Szczególnie...

Źródło: plawgo.pl
Dziel się z innymi:
Jak automatycznie ponawiać operacja oraz cachować dane z interceptorami w Autofac? - Blog Daniela Plawgo

Narzędzia 95 dni, 16 godzin, 32 minuty temu danielplawgo 96 rozwiń

W aplikacjach bardzo często używamy zewnętrznych zasobów. A to trzeba wykonać zapytanie na bazie danych. Pobrać dane z usługi lub wysłać wiadomość email. Zasoby te charakteryzują się tym, że mogą być przez jakiś czas niedostępne, bo na przykład wystąpił jakiś problem z siecią lub zasób jest zbyt mocno obciążony. W takich sytuacjach zastanawiamy się, czy od razu pokazać użytkownikowi informacje o błędzie, czy może spróbować ponowić operację po jakimś czasie i do...

Źródło: plawgo.pl
Dziel się z innymi:
Jak ponawiać operacje w .NET z wykorzystaniem Polly? - Blog Daniela Plawgo

Inne 101 dni, 16 godzin, 46 minut temu danielplawgo 218 rozwiń

Wraz z rozwojem aplikacji oraz zwiększaniem się liczby użytkowników, stajemy przed coraz większymi problem związanymi z wydajnością. Szczególnie istotne jest to w momencie, gdy na przykład ruch na stronie jest na tyle duży, że serwer, z którego korzystamy jest wykorzystywany w 100%. Jednym z sposobów, który w miarę szybko daje spore efekty, jest dodanie mechanizmu cachowania często używanych danych. W tym wpisie pokaże Ci bibliotekę CacheManager (https://github...

Źródło: plawgo.pl
Dziel się z innymi:
Jak cachować dane w .NET? Kilka słów o CacheManager oraz Redis - Blog Daniela Plawgo

Narzędzia 108 dni, 16 godzin, 16 minut temu danielplawgo 215 rozwiń

W bardzo wielu aplikacjach w bazie danych zapisujemy ten sam czas jaki przyszedł do nas od użytkownika w formularzu. W przypadku, gdy tworzysz aplikację na rynek polski, takie podejście może okazać się bezproblemowe, bo wszyscy jesteśmy w jednej strefie czasowej i mamy ten sam czas. Problemy zaczynają się, gdy tworzymy aplikację, w której użytkownicy są w różnych strefach . Wtedy takie podejście może się okazać bardzo problematyczne. Dlatego zaleca się, aby po...

Źródło: plawgo.pl
Dziel się z innymi:
Jak automatycznie zmieniać czas lokalny na UTC w ASP.NET MVC? - Blog Daniela Plawgo

Web 115 dni, 17 godzin, 8 minut temu danielplawgo 115 rozwiń

Dodając nowy kontroler lub widok do aplikacji ASP.NET MVC wybieramy jeden z szablonów, które wykorzysta Visual Studio do ich wygenerowania. Jest to bardzo przydatne, gdy na przykład formularz edycji zawiera wiele pól. Visual Studio wygeneruje kontrolkę dla każdej właściwości z klasy, którą ustawimy jako model widoku. Podobnie jest z generowaniem kontrolerów. Jest to bardzo fajne, ale niestety na dłuższą metę tak wygenerowany kod, nie jest tym, co potrzebujemy i...

Źródło: plawgo.pl
Dziel się z innymi:
Jak zmienić generowanie kodu w ASP.NET MVC? - Blog Daniela Plawgo

Web 122 dni, 14 godzin, 21 minut temu danielplawgo 119 rozwiń

1 2 3 4 5... 10 11