« Helper – czyli biblioteka pomocnicza w BizTalkDebugowanie biblioteki pomocniczej Posiadając opublikowaną aplikację na serwerze BizTalk, która wykorzystuje obiekty z biblioteki pomocniczej (Helpera), zachodzi czasem potrzeba przedebugowania oraz zweryfikowania poprawności ich działania. W tym celu, w Visual Studio, przechodzimy do kodu naszego Helpera i ustawiamy breakpoint na wybranym fragmencie kodu, po czym z menu Debug wybieramy Attach to Process. W oknie Attach to Process zaznaczamy pola: 1.Show pr...
W ostatnim poście pisałem o testach integracyjnych typu top-down. Dzisiaj przyszedł czas na podejście bottom-up. Będziemy analizować testowanie systemu przedstawionego w wprowadzeniu. W podejściu bottom-up tester zaczyna od najniższych modułów – tych najbardziej oddalonych od punktów wejściowych, przeważnie znajdujących się w dolnych warstwach systemu. Ogromną zaletą metody jest redukcja wymaganych do przeprowadzenia testu obiektów mock. Niestety w podejściu należy tworzyć własne sterowniki. Przykładowe ...
Mechanizmy wspierające tworzenie aplikacji wielowątkowych są obecne w .NET od zarania dziejów. Istnieją klasy opakowujące funkcje i obiekty systemowe, są także mechanizmy dostępne tylko w .NET i udostępnione w postaci wygodnych konstrukcji językowych. Jedną z takich konstrukcji obecnych w C# jest słowo kluczowe lock, które usprawnia synchronizację między wątkami praktycznie bez wpływu na wydajność. Lock przeszedł drobny lifting w wersji 4.0, jednak szczegóły omówimy na końcu. Metoda 1: Kod haszowy & ...
Gdy podczas debuggowania aplikacji chcemy ją zatrzymać w pewnym miejscu, zwykle ustawiamy „breakpoint”, aby jednak ten sposób zadziałał, musi być podłączony do procesu, który chcemy debuggować Debugger. Co można jednak zrobić, gdy tak nie jest (nie zawsze uda nam się ręcznie podłączyć (attach))? Gdy debugger nie jest podłączony do procesu, to można takie podłączenie wymusić dzięki wykorzystaniu klas z przestrzeni nazw System.Diagnostic: Debugger.Launch i Debugger.Break (http://msdn.microsoft.com/en-u...
Przychodzi baba do lekarza... Tfu. Przychodzi klient do freelancera. Wręcza całkiem niezłą i dokładną specyfikację. Za ile? Za tyle. Ile czasu? Tyle. To robimy. I projekt rusza. Wszystko jest jasne, dograne i wytłumaczone...
Ostatnio napisałem artykuł o caching’u w chmurze. Zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/windows-azure-appfabric-cache–wprowadzenie
« Wywołanie metody WCF z poziomu orkiestracjiHelper – czyli biblioteka pomocnicza w BizTalk Podczas pracy z platformą integracyjną BizTalk wymagane jest czasem użycie custom’owej metody bądź innego obiektu, do którego chcemy się odwołać z orkiestracji lub mapy. W tym celu stworzymy sobie solucję, w której będziemy posiadać dwa projekty: 1. BizTalk Server Project 2. Class Library Następnie należy dodać nasz Helper do GAC’a, w tym celu klikamy prawym na naszej bibliotece i wybieramy Properties -> Build ...
Witajcie! zapraszamy na piąty odcinek codingtv(); Dzisiaj zaczynamy tworzyć repozytorium – a dokładniej operacje na klasie Blog. Standardowo zaczynamy od testów – pokazujemy w jaki sposób wykorzystać w nich bazę SQL Compact Edition 4 (jako jedną z opcji – w następnych odcinkach pokażemy mockowanie contextu). Jak zapowiadaliśmy w pierwszym odcinku, staramy się do nagrań specjalnie nie przygotowywać, co spowodowało dzisiaj małe problemy przy testach – liczymy tutaj na Wasze komentarze :)
Zapraszam wszystkich na bezpłatną konferencje organizowaną przez Łódzką Grupę Profesjonalistów IT & .NET. Odbędzie się ona w auli wydziału Matematyki i Informatyki UŁ w dniu 16 kwietnia 2011.
Jednym z pluginów jakie prezentujemy w codingtv(); jest ReSharper – według nas najlepsze uzupełnienie Visual Studio. Wkrótce pokażemy również możliwości dotCovera (narzędzia do analizy pokrycia kodu testami). Oba te programy poza wieloma zaletami mają jedną wadę – cenę. Z nami masz możliwość zdobyć ReSharpera lub dotCover za darmo!
« Przetwarzanie plików płaskich (po raz drugi)Wywołanie metody WCF z poziomu orkiestracji W przypadku Hello World wysyłaliśmy plik XML na port wyjściowy, którym był folder. W tym przykładzie chciałbym pokazać w jaki sposób można odwołać się do metody WCF. Napisałem aplikację konsolową, która będzie pełnia funkcję hosta: using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; using System.ServiceModel.Description; using System.Text; namespace WCFHost { class Prog...
Gdy zaczynałem swoją przygodę z programowaniem czułem się jakbym szedł przez mgłę – uczyłem się różnych rzeczy, ale nie wiedziałem czy przydadzą mi się, jak mają się do prawdziwych projektów. To tak jak z czytaniem książek czysto teoretycznych o c# – jest sporo wiedzy, ale najczęściej suche opisanie co to jest i tyle. Brakowało mi tego obejścia z czym to się je, jak wykorzystać to w praktyce. Te...
Ukazał się kolejny artykuł z cyklu Azure. Tym razem opisałem połączenia hybrydowe zrealizowane za pomocą ServiceBus: http://msdn.microsoft.com/pl-pl/library/windows-azure-appfabric–polaczenia-bezposrednie
Dzisiaj zajmujemy się konfiguracją tabeli routingu w aplikacji ASP.NET MVC. Jak TDD nakazało, najpierw tworzymy testy jednostkowe sprawdzające, czy adresy URL są prawidłowo tłumaczone na klasy i metody kontrolera. Przy okazji omawiamy integrację Visual Studio z serwerem IIS Express oraz mechanizm szablonów w ReSharperze.
Kolejny artykuł. Tym razem o uwierzytelnianiu za pomocą zewnętrznych dostawców (Google, Yahoo itp): http://msdn.microsoft.com/pl-pl/library/azure-appfabric-i-access-control-service
« Przetwarzanie plików płaskichPrzetwarzanie plików płaskich (po raz drugi) W poprzednim post’cie przedstawiłem w jaki sposób przetwarzać pliki płaskie, gdzie poszczególne dane oddzielone są od siebie spacjami, natomiast rekordy oddzielone są za pomocą znaków nowej linii. Na potrzeby tego post’a załóżmy, że posiadamy plik .txt, który zawiera informacje o fakturze:INVOICE2011-03-18 PL Jan Kowalski Klonowa 9 Warszawa 41-000 ITEMS,ITEM123|Notebook|1|2148.95|Kolor czarny,ITEM456|Monit...
Dla programisty jednym z głównych elementów pracy, poza „produkowaniem kodu”, jest zdobywanie wiedzy. Zarówno w kwestii poznawania nowych technologii, jak i „sztuki programowania” – czyli jak pisać, żeby było dobrze, a nie źle Sposobów na poszerzanie wiedzy jest wiele: studiowanie MSDNa, czytanie blogów, książek, uczestnictwo w szkoleniach i konferencjach, udział w grupach społecznościowych, itp. Z konferencjami jest jednak ten problem, że czasami koszt ...
W poprzednim poście pisałem ogólnie o testach integracyjnych. Dzisiaj zajmiemy się pierwszym podejściem – top-down. W podejściu top-down najpierw wykonywane są testy punktów wejściowych (entry point) a następnie tester doczepia stopniowo kolejne moduły. Punktem wejściowym dla poniższego systemu jest węzeł M1. Testowanie M1 odbywa się na zasadzie testu jednostkowego. Z tego względu M2 oraz M6 muszą być zastąpione obiektami mock. Kolejnym etapem jest przetestowanie węzła M2. W tym przypadku M3 i M5 muszą b...
Jedną z bolączek wielu administratorów jest konieczność przechowywania ‘wrażliwych’ danych w bezpieczny sposób. Chodzi o wszelkiej maści pliki konfiguracyjne zawierające parametry połączenia, tudzież pliki zawierające login i hasło lokalnego administratora, które stanowią dane wejściowe dla programów typu runas, tworzących nowe procesy w kontekście użytkownika uprzywilejowanego. Jakiś czas temu opisywałem program cpau, który umożliwia przechowywanie danych w postaci zaszyfrowanej i odszyfrowywanie ich do...
Tak się ostatnio złożyło, że zaistniała u mnie potrzeba zdobycia certyfikatu MCPD. Najpierw udało mi się zdać MCPD Web 4; wczoraj dołożyłem MCPD Windows 4 kończąc chwilowo swoją przygodę z certyfikacjami. Pomijając kwestię sensu zdobywania certyfikatów (wiem, że jest to temat budzący skrajne uczucia), chciałbym co nieco opisać o moich przygotowaniach. Kilka osób pytało mnie o to w mailach, więc mam nadzieję, że Wam to się przyda.