W 64-bitowych systemach Windows mogą działać aplikacje skomplikowane na platformę 64-bitową, jak też w trybie symulacji 32-bitowe (skompilowane na platformę x86, ale ... aplikacja 64-bitowa może korzystać tylko z 64-bitowych komponentów (np. bibliotek), a aplikacja 32-bitowa może korzystać tylko z 32-bitowych komponentów. Do tego na platformie .NET dochodzi jeszcze kompilacja typu „Any CPU”, co w konsekwencji może spowodować nie małe zamieszanie.... Przyjrzyjmy się może tym zagadnieniom. W niniejszych ro...
« 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
Jak się okazuje LINQ To SharePoint jest dość głupi i nie potrafi zawsze stworzyć odpowiedniego CAMLa dla zapytania filtrującego po polu typu Choice (SPFieldChoice). Optymalne zapytanie tworzone jest wtedy, gdy istnieje możliwość dopisywania wartości do listy wartości w tym polu (tzn. zaznaczone jest allow fill-in choices): Przykład. W przypadku drugiego zapytania LINQ To SharePoint pobiera całą listę sharepointową i odfiltrowuje elementy poprzez LINQ To Objects: using (TestSiteDataContext ctx = new ...
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...
Polecamy
Ostatnio na blogu
Polacy nie gęsi i swój języ...
Najaktywniejsi



