W ostatnim wpisie przedstawiłem aspekt do obsługi wyjątków. Dzisiaj trochę więcej o samych aspektach dla metod. Oprócz wyświetlenia nazwy metody czy przekazanych parametrów można wyciągnąć trochę więcej informacji. Dla przypomnienia, parametry można wyświetlać następująco:publicoverridevoid OnEntry(MethodExecutionArgs args) { var argValues =new StringBuilder(); foreach (var argument in args.Arguments) { argValues.Append(argument.ToString()).Append(","); } Console.WriteLin...
Sztuka programowania 3476 dni, 12 godzin, 53 minuty temu 103 źrodło rozwiń
Jakiś czas już się tutaj nie odzywałem, w tym poście sprzed trzech miesięcy wspominałem nawet dlaczego (od tego czasu udało się napisać jeszcze tylko dwa wpisy...). Wszystko to za sprawą tytułowego RSS readera, nad którym pracowałem w pocie czoła.... a którego pomysł zrodził się, jak pewnie się domyślacie za sprawą zamknięcia przez google swojego readera. Z jednej strony niby zewsząd słychać glosy, że format RSS się kończy bla, bla, bla... Ja jednak bez readera nie mogę się obejść - od przeglądania najno...
If you were asked to mention new features of C# 5.0, then you would probably say, first of all, async / await. However, on MSDN there is list of changes that could hardly be considered as well-known, even after almost 1 year after .NET 4.5 RTM was published. In this post I briefly explain one of them, that in my opinion is worth remembering.
Sztuka programowania 3478 dni, 23 godziny, 38 minut temu 181 źrodło rozwiń
In my previous post I wrote about first steps in creating Rest-full API by using ApiController. Now it`s time to make next step and go a little bit dipper inside web services created in MVC. In this post I want to describe two very important aspect:creating a real life scenario for web service implementation of POCO entityextend presented scenario and make it asynchronous To complete this tutorial one more class is needed. This class is a simple fake of some database which is wrapper around a very few c...
O programowaniu aspektowym kiedyś już pisałem więc jeśli od strony teoretycznej nie jest to jasne to zachęcam do poszperania na blogu. Dzisiaj zaprezentuje framework Postsharp w wersji express (darmowa edycja, również do zastosowań komercyjnych). Jak wiemy, obsługa wątków czy wykonanie logów mogą być problemami cross-cutting. Postsharp jest typowym framework’iem implementującym AoP Zaczynamy od instalacji z NuGet: Pomimo, że Postsharp express jest w pełni darmowy, musimy zarejestrować się i uzyskać...
Sztuka programowania 3479 dni, 3 godziny, 16 minut temu 221 źrodło rozwiń
C# 5 (.NET Framework 4.5) async - to prelekcja, którą przygotował i poprowadził Patryk Lenza, programista i architekt oprogramowania o wszechstronnym doświadczeniu. Patryk w swojej prezentacji nie ogranicza się do pokazania nowego „lukru składniowego” C#, ale schodzi głębiej, do samej istoty problemu. Krok po kroku tłumaczy różnice między współbieżnością, równoległością i asynchronicznością, następnie przechodzi do omówienia ewolucji technik pisania kodu asynchronicznego w .NET, aż wreszcie omawia najnow...
Few days ago I had to create very simple database, and there was a need to expose API, so first thought was no RDBM!
Bazy danych i XML 3480 dni, 5 godzin, 55 minut temu 114 źrodło rozwiń
Currently a huge number of projects is driven by TDD. (...) In average we spend more than 50% of our time developing front-end side of the app (JavaScript etc) but having in mind, that TDD is only applicable to back-end code. As a ReSharper user I’ll show how easy it is to set up a proper solution with another level of unit testing. (..) Let’s pick out the ColorCalculator as the target. This is a “class” that is responsible for calculating color values between RGB and HEX.
RandomData, to biblioteka pozwalająca na generowanie mockupowych danych. Z pomocą atrybutów w c# wypełnia obiekt losowymi wartościami. Zachęcam do pobierania i testowania.
O kontraktach już kiedyś pisałem tutaj. Dziś z kolei zaprezentuję bardzo złą praktyką, czasami niestety jeszcze spotykaną tzn.:interface IDataFilter { IEnumerable
Sztuka programowania 3482 dni, 16 godzin, 37 minut temu 224 źrodło rozwiń
June was a month of conferences for .NET developers! We had Tech Ed North America, Norwegian Developers Conference, Tech Ed Europe and bunch more, but the biggest one was Microsoft Build Developer Conference.
In this post, I want to write about my conversion to Vim, a complex but powerful text editor. It’s learning curve is quite step but once grasped, it can increase your productivity. You can use it almost everywhere, Linux, Windows, Mac, you name it. It is an OSS software, easily moddable and open. You can write your own plugins and change almost every aspect of it. This process is very natural and easier than Visual Studio’s extensions and configuration hell. You won’t replace Visual Studio with VIM, th...
Rozpocząłem właśnie nowy cykl artykułów o Enterprise Library. Dzisiaj pierwsza cześć o Log Application Block: http://msdn.microsoft.com/pl-pl/library/enterprise-library-logging-application-block–czesc-1 Zapraszam do lektury!
Sztuka programowania 3485 dni, 16 godzin, 51 minut temu 124 źrodło rozwiń
W tej części cyklu stworzymy nasz pierwszy test jednostkowy. Przedstawię krok po kroku jak napisać i przetestować prostą funkcjonalność wedle zasad TDD. Opiszę tutaj szczegółowo wszystkie kroki, począwszy od tego jak dodać referencję do NUnita, a skończywszy na tym jak uruchomić test.
Sztuka programowania 3486 dni, 16 godzin, 40 minut temu 239 źrodło rozwiń
At the build conference (June 26-28, 2013) Microsoft announced Windows 8.1 Preview and Visual Studio 2013 Preview. I installed them on my Virtual Machine. Just in case, to protect my system from some unexpected features :)
W kilku ostatnich postach pisałem o blokach grupujących. Obiecywałem, że pokaże kilka przykładów ich zastosowania, w szczególności wyjaśniające zachowanie zachłanne i niezachłanne. W dzisiejszym wpisie, zaprezentuję przykład (lekko zmodyfikowany z MSDN) jak JoinBlock i BufferBlock mogą zostać zastosowane. Wyobraźmy sobie, że mamy kilka źródeł danych. Na przykład: WCF, pliki oraz pamięć. Odczyt z WCF prawdopodobnie będzie najwolniejszy. W zależności od lokalizacji, odczyt pliku prawdopodobnie będzie dużo...
Sztuka programowania 3488 dni, 14 godzin, 10 minut temu 20 źrodło rozwiń
Integrujemy ASP.NET z PayU Cykl artykułów dotyczących integracji strony w ASP.NET z systemem płatności on-line PayU. Artykuły, krok po kroku opisują tworzenie strony zamówienia, następnie tworzenie stron powrotów oraz raportów...
Generowanie plików PDF z poziomu kodu programu to temat rzeka. Wystarczy przejrzeć staka. Temat przewija się w prawie każdej tworzonej dzisiaj aplikacji. Zawsze znajdzie się ktoś komu trzeba wysłać fakturę, raport czy kilka wykresów w PDFie. Problem w tym, że narzędzia do generowania ładnych dokumentów PDF kosztują i to nie mało.