Wprowadzenie do Reactive Extensions dla Windows Phone 7. Pierwsza część serii postów, na razie bez wodotrysków ;)
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Mobile development 4996 dni, 18 godzin, 27 minut temu 122 źrodło rozwiń
W poprzednim wpisie pojawiły się informacje na temat sposobów skompilowania assembly, tak by działała jako kod 64 lub 32 –bitowy. W tym wpisie znajdą się informacje na temat tego jak można sprawdzić, na jaką platformę zostało skompilowane assembly (czyli znajdą się tu m.in. informacje na temat narzędzia CorFlags, IL Disassembler'a).CorFlagsNarzędzie CorFlags.exe(NET CorFlags Conversion Tool) pozwala na sprawdzenie lub konfiguracje wykonywalnego assembly, tak by było one traktowane jako 64 lub 32 – bito...
Jeżeli w MVC 3 (nie wiem jak w wcześniejszych wersjach), chcecie po operacji submit formularza zaktualizować jakąś wartość w waszym modelu to niezależnie jak byście się wysilali nie uda się wam to. Są dwa wyjścia z sytuacji (przynajmniej mi znane): Wyczyszczenie całego stanu modelu za pomocą metody ModelState.Clear() – wymaga to jednak następnie uzupełnienia wszystkich pól modelu – odświeża to cały model; Wyczyszczenie pojedynczej wartości za pomocą metody ModelState.SetModelValue.
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...
WPF: Bindowanie Enum'a do ComboBox'akwi 112011 Podczas moich ostatnich zmagań z WPFem trafiłem na ciekawy problem. Chodzi o bindowanie typu Enum do kontrolki ComboBox. Czyli w combo ma pojawiać się lista dostępnych wartości enum'a, a po wybraniu jednej z nich ma uaktualnić się podpięta do comboboxa właściowość ViewModelu. Dodatkowo sprawa komplikuje się gdy nazwy poszczególnych wartości enum'a są niezbyt czytelne dla śmiertelnego użytkownika programu (np. zamiast ładnej opisowej nazwy "To jest pierwsza s...
nHibernate named queries Czasem wymagania biznesowe skłaniają programistów do tworzenia bardzo skomplikowanych powiązań między obiektami / zapytań. Aby mieć je w jakimś 'przewidywalnym miejscu a nie rozrzucone po kodzie możemy użyć w mappingu. Query jest niezależne od Class. from Subject s where s.Name like :name Wywołanie mogło by być w ten deseń: IQuery query = Session.GetNamedQuery("qSubjectByName"); query.SetParameter("name","SomeName"); var list = query.List(); Ale co jeśli...
Achronous Controller - asynchroniczne kontrolery Asynchroniczne wywołania mogą poprawić wydajność aplikacji, jednak zawsze powodują dużo większe skomplikowanie kodu. W artykule na MSDN wymienione jest kilka punktów kiedy warto używać asynchronicznych wywołań jak np. długo trwające operacje wejścia-wyjścia, inne długo trwające operacje, czy nastawienie na wielowątkowość. Klasyczny kontroler (z klasycznym przykładem) wywołania z jakiegoś serwisu: public class HomeController : Controller { public A...
Areas pozwalają na rozbicie aplikacji na obszary. Każdy z obszarów będzie miał swój zestaw kontrolerów, widoków i routing. Wszystkie obszary mogą nadal korzystać z katalogu Shared, nadal możemy mieć główny obszar (ten który był dostępny do tej pory). Dodanie obszaru jest proste: Utworzony zostanie katalog Areas a w nim nasz nowy obszar oraz nowy zestaw katalogów ze strukturą MVC. Została również utworzona klasa typu AreaRegistration. Region zostanie automatycznie zarejestrowan...
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 & ...
Swojego czasu opisałem implementację Field Mappera dla SharePoint wraz z wykorzystaniem jego w wzorcu repozytorium. Jednakże pominąłem jedną istotną kwestią o jaką ostatnio dostałem zapytanie: Jak wykorzystać repozytorium z filed mapper w event receiver w SharePoint? W przykładach pokazywałem iż możemy za pomocą SharePointServiceLocator uzyskać implementację danego interfejsu repozytorium i następnie już operować na danej implementacji.
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...
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.
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!
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 :)
Uwaga! U mnie działa... Nie wiem jak będzie u Ciebie. Od jakiegoś czasu borykam się z problemem wydajności w Visual Studio 2010. Pomijając zbędny opis moich udanych i nieudanych eksperymentów związanych z poprawieniem wydajności mam dla wszystkich, którym zamulające Visual Studio 2010 dało się we znaki dwie rady. Jedną bardziej, drugą mniej oczywistą:Ta bardziej oczywista. Wyłączyć wszystkie niepotrzebne dodatki. Jako przykład podam ORM Open Access od Telerika, ...
Optymalizacja procedur składowanych czy zwykłych zapytań do bazy danych nie jest zadaniem wdzięcznym, ale potrafi dać bardzo wiele satysfakcji. Kto doświadczył zoptymalizowania działania jakiegoś potworka w taki sposób, że po pół godziny pracy czas wykonania spada z 2 minut do 1 sekundy, wie doskonale o czym mówię. A jak uda się tego dokonać bez grzebania się w indeksach to już w ogóle cud/miód/itd. Wtedy z kolei ten, kto to zapytanie pisał oryginalnie, zasługuje na siarczystego liścia... ale akurat w mo...
Bazy danych i XML 5013 dni, 44 minuty temu 135 źrodło rozwiń
Pewne produkty MS nauczyły mnie, że nie czyta się do nich dokumentacji bo (1) nie ma jej, (2) mówi nie prawdę (pomija bardzo ważne szczegóły). Przez to też często nie zwracam uwagi na dokumentację istniejącą na witrynach projektów Open Source. W tym wypadku nie zwróciłem uwagi, albo dokładniej, zwróciłem ale nie chciało mi się tego czytać – przejrzałem to co było, nie zobaczyłem tego co chciałem więc pomyślałem, że dupa i zapomniałem o stronie – na dokumentację od AutoMapper i opcję flattening która umoż...
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...
W ASP.MVC 3 dodano bardzo przyjemną walidację danych po stronie klienta, która nie miesza w htmlu jak Gargamel w wielkim garze pełnym wypatroszonych kwiczących smerfów. Wszystkie dane chowa w atrybutach ("data-*" zgodnych z HTML5), a skrypty wywalone są na zewnątrz. Tak jak powinno być. Zwie się bardzo poważnie: unobtrusive validation.
Pierwsza część serii postów opisujących implementacje przykładowych konwerterów wartości, które mogą się przydać w różnych projektach.
Silverlight 5023 dni, 17 godzin, 43 minuty temu 104 źrodło rozwiń