Gdy jakiś czas temu zainstalowałem sobie addin’a (dalej będę używał polskiego odpowiednika – wtyczka) do SSMS znanej specjalizującej się tym firmie byłem pod wrażeniem możliwości rozbudowy management studio. Ale po jakimś czasie wtyczka znudziła mi się i postanowiłem odinstalować ją. I po odinstalowaniu uruchomiłem ponownie SSMS i tu zdumienie: opcje wtyczki były nadal obecne w SSMS! Teraz wiem, że to nie przypadek. Moje doświadczenia pokazują, że zespól deweloperski odpowiedzialny za wtyczki do SSMS w t...
Kiedy w końcu udało mi się zdobyć dostęp do SDK Microsoft Surface, natchniony rozkminianiem o co w tym wszystkim chodzi, postanowiłem króciutko się podzielić pierwszymi doświadczeniami. Instalacja Instalacja oprócz tego że musiałem doinstalować coś do XNA przebiegła niezwykle sprawnie. Całość razem z SDK, przykładami, super emulatorem i resztą rzeczy o których jeszcze nie mam pojęcia, znalazły się bezboleśnie na moim dysku, a w Visual Studio doszły nowe typy projektów. Development Ci którzy może ...
Krótki opis o tym jak możemy przechwycić wartości parametrów z metod, które wywołujemy przy pomocy Mock Objects.
Oryginalny post: Coding: It's Just WritingAutor: Jeff Atwood W swoim artykule Programistyczne aforyzmy Strunka i Whitea, James Devlin jak zwykle znakomicie opisuje coś, co sam zacząłem coraz częściej dostrzegać w ciągu ostatnich pięciu lat, a mianowicie: Niespodziewany związek pomiędzy pisaniem kodu, a pisarstwem. Prawdopodobnie nie ma na świecie lepszego opracowania na temat pisarstwa niż książka The Elements of Style (w wolnym tłumaczeniu: "Składowe stylu") autorstwa Strunka i Whitea. Jest to je...
Autor: Jakiś czas temu zdarzyło mi się napisać własny behavior, który w odróżnieniu od tych które dłubie na co dzień, może mieć zastosowanie w wielu aplikacjach, stąd też pomysł aby się nim podzielić :)Co to są behaviorsy nie będę się rozpisywał w tym temacie. Zagadnienie jest większe, a do poczytania o nim polecam świetny artykuł: http://www.silverlightshow.net/items/Behaviors-and-Triggers-in-Silverlight-3.aspx O co chodzi?
Znasz się na oprogramowaniu Microsoft? Masz ochotę pokazać innym ile wiesz? To poszukaj na polskiej Wikipedii artykułów, do których mógłbyś dodać coś od siebie. Uzupełnij je, uaktualnij albo napisz od nowa. W pierwszym etapie konkursu liczy się ilość artykułów poprawionych przez jedną osobę.
Mityczne 100% pokrycia W środowisku deweloperskim wciąż żywy jest mit 100% pokrycia kodu testami jednostkowymi. Co gorsza, mit ten ma się równie dobrze (a może nawet lepiej?) wśród decydentów (kierowników, dyrektorów itp.). Celem poniższej notki jest pokazanie, jak bardzo naiwne jest podejście "100% pokrycia". Popatrzmy na następujący trywialny kod:
Mając przygotowany już kod obsługujący naszą składnię, możemy przejść analizy przekazanego wyrażenia. Korzeniem wyrażenia zawsze obiekt LambdaExpression, którego Body jest wywołaniem metody lub konstruktora, których argumenty będą poddane sprawdzeniu. Wywołanie metody powoduje odłożenie na drzewie obiektu MethodCallExpression, zaś sama metoda i informaje o niej (MethodInfo) jest dostępna przez property Method. Wywołanie konstruktora (np. new Service(...)) odkłada na drzewie obiekt NewExpression, umies...
Dzisiejszy wpis to praktycznie dokończenie dwóch poprzednich, stanowiące jakieś ich uzupełnienie, lub też swojsko rzecz ujmując ‘dobicie’. Do zbadania na dziś przygotowałem klasy Timer i BackgroundWorker. Ta druga trochę nietypowo, ponieważ wykorzystana zostanie w ‘aplikacji’ konsolowej, a głównym(tak mi się zdaje) jej zastosowaniem są aplikacje okienkowe i puszczanie złożonych czasowo operacji w tle, by GUI nie zostało ‘zawieszone’. Timer(System.Threading) Tutaj prosto i przyjemnie: jeśli chcemy odpala...
W części pierwszej poznaliśmy założenia zadania. Tym razem zaczniemy budować implementację. W tym miejscu wspomnę, że w przeważającej większości zabaw z wyrażeniami lambda oraz składnią imitującą język naturalny warto najpierw napisać przykładowe użycie kodu (jak to zrobiliśmy wcześniej), a dopiero później próbować zrealizować pomysł. Korzystamy z funkcji rozszerzających, więc pierwszą czynnością jest przygotowanie statycznej klasy, w której zamieścimy implementację - nie ma tu nic odkrywczego: publi...
Jednym z założeń wzorca Design by contract jest sprawdzanie poprawności przekazanych do funkcji argumentów. Zapewne w wielu miejscach Twojego kodu możesz spotkać konstrukcje sprawdzające czy przekazane argumenty nie są równe null - praktycznie identyczne w każdej funkcji. W serii artykułów zostanie przedstawiony jeden ze sposobów unifikacji i uniknięcia powtórzeń.
Jak zapewne większość wie Qt jest to zestaw bibliotek programistycznych wspomagających tworzenie aplikacji w C++, Java ... , która może być wykorzystywana na różnych systemach operacyjnych (tzw. idea 'cross-platform'). O ile kompilacja w środowisku Linux jest dosyć prosta, należy z repozytoriów zainstalować Qt i za pomocą dwóch komend kompilować napisany program, tak chcąc zintegrować środowisko MSVS2008 oraz bibliotekę Qt trzeba zapewnić odpowiednio skonfigurowane pliki nagłówkowe. Instrukcja ta zamiesz...
Z racji tego, że moja nauka .NET’a była straszliwie chaotyczna(czytaj jak czegoś potrzebowałem, to doczytywałem, nie zawsze to co trzeba:P) postanowiłem odrobić lekcje z kwestii podstawowych. Na pierwszy ogień jak widać poszły wątki, więc nieco o nich dzisiaj. Tworzenie nowego wątku. Wersja najprostsza: korzystając z klasy ThreadPool i statycznej funkcji QueueUserWorkItem odpalamy funkcję o sygnaturze odpowiadającej:publicdelegatevoid WaitCallback(object arg); Do dyspozycji mamy dwie wersje funkcji, z p...
Dzisiaj kontynuacja ostatniego wpisu, traktującego o najprostszych operacjach na wątkach. Bez zbędnych wstępów przejdę więc do klasy ReaderWriterLock. ReaderWriterLock Klasa ta daje możliwość, której nie daje nam klasa Monitor, mianowicie rozróżnianie pomiędzy blokadą do odczytu(umożliwia ona wielu wątkom jednoczesny dostęp do zasobu) oraz zapisu(tylko jeden naraz możliwy, oczywiście wtedy odczyt jest również zablokowany. Aby jej użyć wystarczy instancja ReaderWriterLock w klasie, do której dostęp ma ...
W jaki sposób możemy pokolorować tekst, który wyświetlamy za pomocą Console.Write oraz WriteLine.
W jakis sposób użyć zdarzeń do obsługi logiki aplikacji z poziomu różnych, często niepowiązanych ze sobą modułów.
Ostatnio Krzyśkowi Sopyła (^ksirg) zacząłem pomagać w pracy nad klientem (BlipFace) napisanym w WPFie do Blipa. Jedną z pierwszych rzeczy za jakie się zabrałem (której między innymi mi w BlipFace brakowało) było dodanie do ikony BlipFace w tray’u menu kontekstowego oraz wyświetlanie ładnych powiadomień o przyjściu nowych statusów. Kontrolka (System.Windows.Forms.NotifyIcon), z której korzystał Krzysiek niestety za bardzo się nie nadawała (szczególnie do tego drugiego). Dlatego skorzystałem z jedynie słus...
Rozwiązanie problemu pojawiającego się gdy często kopiowane są biblioteki *.dll do katalogu $:\Windows\assembly (inaczej GAC)
Jak możemy przeprowadzić testowanie klas abstrakcyjnych przy pomocy Mock'ów.
O tym jak można konwertować listy za pomocą TypeConverter'a znajdującego się w Base Class Library.