Debugging complex exceptions with $exception pseudovariable
W C# istnieje mało znana składnia do inicjalizacji zagnieżdzonych obiektów (nested object initializer syntax). Na czym polega cała zabawa? Spójrzmy na kod, za pomocą którego inicjalizujemy zagnieżdżony obiekt: Rectangle rectangle = new Rectangle { P1 = { X = 0, Y = 1 }, P2 = { X = 2, Y = 3 } };
Each time we are creating application with some kind of menu it is nice to have the basic functionality to highlight selected menu item. There are some solutions you can find in the Internet, however each time I've tried to use one it hasn't been working perfect. So let's create our own in three steps!
W kilku postach mam zamiar opisać bibliotekę nServiceBus. Nie chodzi mi jednak o opis samego API, a zastanowienie się, kiedy warto z takiej architektury skorzystać. Większość programistów wciąż projektuje systemy na zasadzie klient-serwer. W wielu przypadkach jest to wystarczające rozwiązanie. Nie zawsze musimy tworzyć skalowalne rozwiązania. NoSQL, hadoop, chmura mają zastosowanie ale w wielu przypadkach jest to po prostu niepotrzebne. Nie każdy tworzy oprogramowanie, wykorzystywane przez miliony użytko...
Nie zawsze kwerendy działające świetnie na małych zbiorach są równie dobre dla dużych tabel. Porównanie wydajności zapytań w funkcji liczebności zbioru. Przykład ze stałą złożonością obliczeniową.
Bazy danych i XML 3716 dni, 16 godzin, 11 minut temu 340 źrodło rozwiń
Po długiej przerwie cykl, wraz ze mną, wraca do życia. W poprzednim odcinku padło stwierdzenie, że rozwiązaniem problemu wielu skomplikowanych zależności jest kontener. I że najlepszy jest własny. O ile drugie stwierdzenie na pewno jest durne i bezsensowne, to z pierwszym też można polemizować. A może tak bez kontenera? Użycie kontenera jest jedną z opcji zarządzania zależnośc...
Hey all I would like to invite you to second edition of dotnetconfPL. If you hear about it first time then check out last edition. As you may guess this conference is in Polish, we were inspired by global edition, so we decided to do it in Polish. At this year we have few more licences to raffle during our event, six resharper and three ncrunch. Thank for all sponsors! This edition has seven technical oriented talks and one soft oriented talk, we tried, and we want to exp...
Temat testów parametryzowanych pojawił się przy okazji pisania naszego „drugiego” testu jednostkowego. Wtedy to skorzystaliśmy z atrybutu [TestCase] pozwalającym na zdefiniowanie zestawów wartości, które są przekazywane do metody testowej. Stosując atrybuty do testów parametryzowanych (m. in. TestCase, Values, Range, Random) ograniczamy liczbę naszych metod testowych i redukujemy ilość redundantnego kodu.
Sztuka programowania 3718 dni, 23 godziny, 53 minuty temu 241 źrodło rozwiń
Słowo dynamic jest często nadużywane prowadząc do trudno czytelnego kodu. Innym problemem jest wydajność – programiści często nie wiedzą jaki overhead za sobą ponosi każde użycie dynamic. Zacznijmy eksperymentowanie z IL:staticvoid Main(string[] args) { dynamic text ="Hello world"; } Wygenerowany IL:// Method begins at RVA 0x2050 // Code size 8 (0x8).maxstack 1 .entrypoint .locals init ( [0] object text ) IL0000: nop IL0001: ldstr "Hello world" IL0006: stloc.0 IL0007: ret Nic nadzwyczajn...
W artykule przedstawione są różne metody pomiaru wydajności i porównywania szybkości zapytań SQL, bazując na narzędziach dostępnych w SQL Server - widoki DMV/DMF, Extended Events i Profiler. Omówione są także typowe błędy w analizach za pomocą podstawowych statystyk.
Bazy danych i XML 3719 dni, 7 godzin, 29 minut temu 378 źrodło rozwiń
Witam w ostatnim wpisie z serii „Testowanie z Jasmine„, w którym to zajmę się, zgodnie z tytułem, zagadnieniem testowania operacji asynchronicznych – zresztą w komentarzach pod jednym z wpisów serii, prosił o to jeden z czytelników bloga, a ja obiecałem, że to zrobię więc, tym bardziej czuję się w obowiązku aby ten temat zgłębić i go Wam tutaj jak najlepiej przedstawić Tematyka ta wbrew pozorom nie jest szczególnie skomplikowana… No nic, jak zwykle nie ma co...
Skrócony opis nowości, które pojawiły się wraz z premierą Windows Phone 8.1
Mobile development 3722 dni, 7 godzin, 28 minut temu 187 źrodło rozwiń
Wstęp do zagadnień związanych z optymalizacją i mierzeniem wydajności zapytań SQL. Jest to fragment darmowego kursu pisania zapytań SQL opisującego proces przetwarzania kwerend przez silnik bazodanowy.
Bazy danych i XML 3725 dni, 9 godzin, 26 minut temu 475 źrodło rozwiń
Na ostatnim (tj. 90) spotkaniu KGD.NET miały miejsce dwie prezentacje. Prezentacja Procenta o DI to było to na co czekałem (tzn. potwierdzenie, że idę słuszną drogą oraz rozwianie pewnych wątpliwości). Druga prezentacja (a może lepiej powiedzieć pierwsza) była poświęcona F#. Nie spodziewałem się nic specjalnego po niej. Co tu dużo mówić pewien czas temu stworzyłem nawet coś w tym języku, ale mówiąc szczerze jakoś specjalnie mi to nie podchodziło. Jednak Michał Łusiak pokazał, że F# to język, którem...
Sztuka programowania 3725 dni, 9 godzin, 26 minut temu 183 źrodło rozwiń
Witam w kolejnym już wpisie z serii „Testowanie z Jasmine”. Tak jak obiecałem ostatnio, tym razem zajmiemy się bardzo przydatnym elementem frameworka Jasmine, a konkretnie tytułowymi szpiegami (ang. spy – w dalszej części wpisu będę posługiwał się zamiennie terminem polskim i angielskim). Generalnie, jak sama nazwa wskazuje, taki szpieg służy do szpiegowania… A konkretniej szpiegowania wywołań funkcji oraz przekazywanych do niej argumentów. Zobaczmy z czym t...
Nieraz zdarza się, że musimy samodzielnie napisać jakąś klasę implementującą interfejs IDisposable. Wszyscy na pewno znają wzorzec implementowania Dispose. Osobiście proponuję inną implementację.
In Scrum, every Sprint (iteration) begins with a Sprint Planning Meeting. This meeting has one basic goal, creating a list of user stories which will be delivered in the next sprint. Of course, requirements may also be presented as features, scenarios, etc. I always use user stories, but these rules can also be applied to different types of requirements. Looking from my experience, it is the most difficult event to conduct in the whole Scrum Cycle. Product Owner and Development Team have to work togethe...
Pewien czas temu postanowiłem przeanalizować swoją zawodową listę TODO. Z przykrością zauważyłem, że pomimo dużej rotacji jest na niej jedna rzecz, która wisi już od pewnego czasu. Zrozumiałem, że mniej lub bardziej świadomie unikam tej pozycji. Mogę zrobić wszystko tylko nie to. Tym czymś był JavaScript wraz z wybranym frameworkiem. Postanowiłem, że nie będę robił niczego innego dopóki nie zacznę tej pozycji. Ponieważ jestem człowiekiem, który jak sobie coś postanowi to już nie ma przeproś to … pr...
Prosty sposób na zastosowanie wzorca MVVM w aplikacjach Windows Store tworzonych z pomocą HTML i JavaScript.
Mobile development 3732 dni, 19 godzin, 31 minut temu 170 źrodło rozwiń