Programista .NET

Moje przygody z programowaniem :)

Generowanie kodu na przykładzie klas repozytorium oraz szablonów T4

Generowanie kodu na przykładzie klas repozytorium, szablonów T4 oraz T4 Toolbox

Wprowadzenie Wzorzec DAO (Data Access Object) jest jednym z częściej używanych wzorców do organizacji warstwy dostępu do danych . Dla każdego obiektu/tabeli z bazy (np User, Product) tworzymy dedykowany interfejs/klasy. Klasy te często nazywamy repozytoriami* (np. UserRepository, ProductRepository) i na ogół zawierają takie same metody. Jestem wielkim fanem szablonów T4. Lubie je wykorzystywać do automatyzacji Read more about Generowanie kodu na przykładzie klas repozytorium, szablonów T4 oraz T4 Toolbox[…]

Jeden czy wiele plików resource a wydajność

Jeden czy wiele plików resource, a wydajność

Wprowadzenie W wpisie o lokalizowaniu enumów pojawił się komentarz, w którym Janko zwrócił mi uwagę, że rozbijanie napisów na małe pliki resource nie jest najlepszym pomysłem pod względem wydajności. Jak pisałem w innym wpisie (Używanie napisów w aplikacji) stosuje wiele plików resource do organizacji napisów wyświetlanych użytkownikowi. Dlatego chciałem sprawdzić, czy to prawda. Przeglądając internet Read more about Jeden czy wiele plików resource, a wydajność[…]

Jak zmierzyć wydajność kodu .NET BenchmarkDotNet

Jak zmierzyć wydajność kodu .NET? BenchmarkDotNet

Wydajność kodu? Wielokrotnie zastanawiam się, czy mój kod jest wydajny. Czy nie da się czegoś zrobić, aby aplikacja działała szybciej. Przy szybkości działania nie można założyć, że coś jest wydajne, bez zmierzenia tego. Jak zobaczysz pod koniec wpisu, może się okazać, że operacja, która wydaje się szybka, wcale taka nie jest. Jak zmierzyć wydajność kodu Read more about Jak zmierzyć wydajność kodu .NET? BenchmarkDotNet[…]

Używanie napisów w aplikacji

Używanie napisów w aplikacji

Napisy? Typ string jest jednym z najczęściej używanych typów danych w aplikacji. Gdy go potrzebujemy to po prostu otwieramy cudzysłów, wpisujemy wartość i zamykamy cudzysłów. Bardzo często nawet nie zastanawiamy się, czy to dobre podejście. Niestety w dłuższe perspektywie takie podejście oznacza problemy. A to robimy literówkę w kluczu podczas pobierania wartości z słownika, o Read more about Używanie napisów w aplikacji[…]

Lokalizacja Enum

Lokalizacja Enum

Wprowadzenie Typów wyliczeniowych używamy do określenia wartości z góry określonego zbioru. Dzięki nim ułatwiamy sobie tworzenie kodu poprzez nadanie nazwy dla wartości. Nazwa enuma musi spełniać rygory składni takich języków jak C#. Dlatego potrzebujemy czegoś, co wyświetli ładny napis w interfejsie użytkownika. W tym wpisie drogi czytelniku, pokaże Ci jak to zrobić małym nakładem pracy Read more about Lokalizacja Enum[…]

Entity Framework - aktualizacja danych bez ich pobierania

Entity Framework – aktualizacja danych bez ich pobierania

Wprowadzenie Dzisiejszy wpis jest zainspirowanym jednym z ostatnich code review jaki robiłem. Zauważyłem, że gdy pracujemy z Entity Framework często niektóre rzeczy zaczynamy robić nieefektywnie w stosunku do tego, jakbyśmy zrobili to w chociażby w przypadku ADO.NET. Taką właśnie czynnością jest aktualizowanie oraz usuwanie obiektów z bazy. Aktualizacja obiektu z jego pobraniem Standardowo, gdy zaczynamy Read more about Entity Framework – aktualizacja danych bez ich pobierania[…]

Testowanie wysyłki email w ASP.NET MVC

Testowanie wysyłki email w ASP.NET MVC

Wprowadzenie W poprzednich dwóch postach (Postal – wysyłka email w ASP.NET MVC oraz Hangfire – wysyłka email w tle) pokazałem jak wysyłać wiadomości email w aplikacji ASP.NET MVC. Jeśli nie czytałeś/czytałaś tamtym wpisów, to zachęcam do nadrobienia lektury, szczególnie, że w tym wpisie będę bazował na kodzie, z tamtych wpisów. W dzisiejszym poście chciałbym jeszcze Read more about Testowanie wysyłki email w ASP.NET MVC[…]

Hangfire - wysyłka email w tle

Hangfire – wysyłka email w tle

W poprzednim wpisie pokazałem jak w aplikacji ASP.NET MVC wysyłać wiadomości email z wykorzystaniem biblioteki Postal. Wspomniałem również, że wysyłka email w ramach żądania HTTP nie jest dobrym pomysłem, że lepiej skorzystać z jakiego mechanizmu kolejek oraz ponawiania operacji. Jednym z dostępnych narzędzi jest biblioteka Hangfire, która w prosty sposób jest wstanie wysłać email w Read more about Hangfire – wysyłka email w tle[…]

Postal – wysyłka email w ASP.NET MVC

Wysyłka email w ASP.NET MVC Wcześniej, czy później w aplikacji następuje potrzeba wysłania wiadomości email do użytkownika. W aplikacji ASP.NET MVC można zrobić to na wiele sposób. Możemy ręcznie przygotować treść wiadomości oraz wysłać ją z wykorzystaniem klasy SmtpClient. Możemy też skorzystać z tego, co daje ASP.NET MVC i użyć widoki do generowania treści wiadomości. Read more about Postal – wysyłka email w ASP.NET MVC[…]

T4MVC – sposób na stringi w aplikacji ASP.NET MVC

Dlaczego T4MVC? W aplikacji ASP.NET MVC w wielu miejscach wykorzystujemy stringi do określenia rzeczy jak: nazwa kontrolera, nazwa akcji, nazwa widoku, ścieżka do pliku i wiele innych. Osobiście nie lubię używania napisów w kodzie aplikacji. Ciężko znaleźć później użycia danego napisu, przez co, gdy zmieniamy na przykład nazwę akcji, to wtedy bardzo łatwo o pominięcie Read more about T4MVC – sposób na stringi w aplikacji ASP.NET MVC[…]