Na Microsoft Worldwide Partner Conference 2009, Bob Muglia, szef Server and Tools Business w Microsoft, ogłosił, że firma chce wprowadzić Windows Azure do fazy produkcyjnej jeszcze w tym roku! Dodatkowo, na oficjalnej stronie Windows Azure, zostały ogłoszone cenniki korzystania z usługi. Ceny, w porównaniu z konkurencją, są średnie. Spodziewałem się czegoś bardziej rewolucyjnego ze strony Microsoft’u. Oprócz tradycyjnych marketingowych sloganów, pojawiła się również informacja o 5%-owej zniżce dla partne...
Programowanie rozproszone 5612 dni, 14 godzin, 18 minut temu 27 źrodło rozwiń
Obsługa zasobów aplikacji na platformie .NET jest bardzo prosta, zwykle wykorzystywany jest element typu "Resource", który można dodać do projektu, a następnie można przechowywać "w nim" różne inne elementy, jak: napisy, obrazki, ikony lub inne pliki. Wspomniany element typu Resource do obsługi zasobów, które są przez niego obsługiwane wykorzystuje klasę System.Resources.ResourceManager, dodatkowo tworzy on plik z kodem (np. w c#), który w sposób automatyczny udostępnia wybrane zasoby. Czasami wygodniej...
Pierwszy post z cyklu przygotowania systemu do wykorzystania mocków przy testach jednostkowych.
Architektura 5613 dni, 5 godzin, 57 minut temu 88 źrodło rozwiń
W jaki sposób pokonać ograniczenia standardowego protokołu inwentarza usług, nie łamiąc przy tym zgodności ze standardami? Wzorzec Canonical Protocol zaleca wykorzystania jednego, standardowego, protokołu do komunikacji między usługami w ramach jednego inwentarza. Domyślnie oczywiście, protokołem tym są jakiegoś rodzaju usługi webowe (Basic WS, WS-*, REST), jednak nie jest to twarde wymaganie. Niezależnie od wyboru standardowego protokołu, mogą zdarzyć się sytuacje, kiedy jest on z jakichś przyczyn ni...
Programowanie rozproszone 5613 dni, 5 godzin, 57 minut temu 28 źrodło rozwiń
Chyba każdy kto operował ścieżkami plików pod .NET zauważył, że ścieżki te mogą występować w dwóch postaciach:standardowej - typu: c:\katalog\plikprzypominającej URL, czyli file:////c:/katalog/plik Różnicę widać właśnie porównując właściwość CodeBase i Location klasy Assembly.
Niejednokrotnie podczas pisania aplikacji napotyka się na sytuację gdy jedna metoda produkuje pewne dane, inna natomiast w pewien sposób je konsumuje. Czasem dobrym pomysłem jest, w przypadku gdy produkowane dane są w pewien sposób podzielne na części, wykonywać produkcję i konsumpcję w równoległych wątkach. Tutaj pojawia się istotny problem z zagadnienia wielowątkowości - synchronizacja. Oba (wszystkie) wątki współdzielące dany zasób muszą z niego korzystać w pewien ustalony sposób, tak aby w danej chwi...
Programowanie rozproszone 5613 dni, 21 godzin, 41 minut temu 92 źrodło rozwiń
W poprzedniej części zapoznaliśmy się z pojęciem "mock". Dzisiaj krok po kroku napiszemy pierwszy test jednostkowy z wykorzystaniem ASP.NET MVC, nUnit oraz RhinoMocks. Do dzieła.
Konferencja WPC09 trwa w tej chwili w najlepsze, czego namacalnym dowodem jest ogłoszenie m.in. sposobu licencjonowania i cennika Windows Azure. Microsoftowe podejście do usług w chmurach ogłoszone ostatniej jesieni nabiera w związku z tym jak najbardziej konkretnego wymiaru. Jak można się było spodziewać, kwestia płatności w przypadku tak złożonej grupy produktów jest dość skomplikowana i uwzględnia takie czynniki, jak czas przetwarzania, transfer wejściowy i wyjściowy, przestrzeń dyskową, transakcje (w...
Programowanie rozproszone 5614 dni, 2 godziny, 52 minuty temu 26 źrodło rozwiń
Przygotowanie serwisu dla systemu operacyjnego Windows jest przy użyciu Visual Studio (VS) bardzo proste. Wystarczy tylko utworzyć nowy projekt na podstawie szablonu "Windows Service" lub do istniejącego projektu dodać nowy element typu "Windows Service". Następnie należy zaimplementować metody...
Programowanie rozproszone 5614 dni, 7 godzin, 1 minutę temu 180 źrodło rozwiń
Użycie zmiennych w T-SQL może czasami prowadzić do “dziwnych”, niespodziewanych efektów. Przećwiczmy więc takie przypadki.
Bazy danych i XML 5615 dni, 6 godzin, 56 minut temu 97 źrodło rozwiń
Wczoraj (tj. 10.07.09) na świat wersja 3 Silverlight'a oraz Blenda (jak na razie w wersji RC). Trochę przed tymi wydarzeniami miała miejsce jeszcze jedna premiera o której trochę mniej pisze się. Chodzi mianowicie o kolejna wersja Deep Zoom Composer. Narzędzia do przygotowywania obrazów do funkcjonalności Deep Zoom dostępnej w Silverlight. Postanowiłem trochę podpatrzeć co zawiera najnowsza wersja.
Jedną z nowości która ukazała się przy okazji wydania najnowszej wersji Silverlight 3.0 jest budowa prototypu aplikacji przy pomocy tzw. SketchFlow (w wolnym tłumaczeniu "szkic przepływu"). Taka możliwość pojawiła w dzięki wydaniu nowej wersji programu Expression Blend 3, która to wspiera tworzenie tego typu aplikacji. W niniejszym artykule spróbuje opisać podstawowe funkcje jakie daj nam to rozwiązanie, zbudujemy prosty prototyp aplikacji oraz wygenerujemy dla niego dokumentację. Ale o co tu chodzi? ...
Wpis ten(obie części razem wzięte) będzie dotyczył dwóch spraw: przede wszystkim co się zmieniło, pojawiło nowego oraz co zostało usprawnione jeśli chodzi o zarządzanie work itemami w Team Foundation Serverze 2010. Druga część to omówienie MSF for agile software development v5.0. Każda nowa wersja TFS wiąże się z wypuszczeniem nowej wersji MSF. Podbicie numeru wersji Microsoft Solutions Framework z 4.2 do 5.0 może zwiastować, że nie mamy do czynienia ze zmianami kosmetycznymi.
Visual Basic 6 to język, który “królował” w roku 1998. Dzisiaj z kolei “rządzi” .NET. Ale… życie pokazuje, że język i technologia używane ponad 10 lat temu, żyją dalej, mają się dobrze i co gorsza nic nie wskazuje na to, że coś się zmieni. Wiadomo, trudno jest teraz rzucić stary system i przepisać go w tydzień na .NET. Na szczęście nie jest aż tak źle. Bowiem jak zapewne wszyscy wiedzą jest możliwość używania bibliotek COM’owskich w .NET’cie i vice versa. Natomiast czasami nie jest to takie hop siup, o ...
Wśród feature'ów wprowadzonych w wersji 3.5 frameworka .NET jest między innymi LINQ (Language INtegrated Query). Mechanizm ten umożliwia - w dużym skrócie rzecz jasna - konstruowanie zapytań odnoszących się do kolekcji obiektów (w zasadzie dowolnego rodzaju) przy pomocy operatorów znanych z relacyjnych baz danych, jak SELECT czy WHERE. Ponadto w .NET 3.5 język C# został też odpowiednio rozszerzony, aby zapytania ta składniowo mogły przypominać kwerendy podobne do tych występujących w różnych odmianach ję...
Bazy danych i XML 5617 dni, 5 godzin, 50 minut temu 134 źrodło rozwiń
Jedna z zasad dobrego programowania mówi: "Funkcja powinna mieć tylko jedną instrukcję return". Dzięki takiemu podejściu zawsze łatwo jest zlokalizować punkt wyjścia z funkcji, zwykle łatwiej zrozumieć napisany kod i w konsekwencji łatwiej go "utrzymywać" (i oczywiście zmieniać). Czasami jednak dużo łatwiej (lub krócej) można napisać kod funkcji, w której pojawi się wiele instrukcji return, dlatego często nie opieramy się takiej pokusie i takie funkcje tworzymy...
Marek Adamczuk : W ostatnim czasie ćwiczyłem się trochę zrównoleglanie zadań. Uruchamiałem jednocześnie kolejne części zadania jako joby SQL Server Agenta, spodziewając się skrócenia całościowego czasu wykonania. Pierwsze wyniki były oczywiście niezadawalające – ogólny czas wykonania zadania wzrósł. Gdy zacząłem szukać przyczyny problemu, okazało się że z 50 jednocześnie uruchomionych zadań wystartowało tylko 40. Pozostałe 10 oczekiwało na zakończenie poprzednich – dawało się to łatwo ...
Bazy danych i XML 5618 dni, 23 godziny, 1 minutę temu 67 źrodło rozwiń
Maciej Aniserowicz: Drugi raz w ciągu kilku dni przytrafiły mi się kłopoty podczas wykorzystania metody Convert.ChangeType(). Scenariusz jest bardzo prostu: mam wartość pobraną skądś-tam (baza danych, http request czy cokolwiek innego) reprezentującą znany mi typ, jednak przechowywaną w postaci stringa. Wszystko śmigało jak trzeba dopóki traktowałem w ten sposób zwykłe liczby i daty. Jakiś czas temu wpadł mi tam Guid, co skończyło się wyjątkiem InvalidCastException. Teraz z kolei to samo p...
Czytając Agile: Principles, Patterns and Practices natknąłem się (dla posiadaczy książki - na stronie 252) na ciekawą tezę dotyczącą UML-owej relacji agregacji. Uncle Bob twierdzi, że relacja ta nie wnosi niczego do diagramu i odradza jej użycie. Co więcej, w sekcji dotyczącej kompozycji (następna strona) pada stwierdzenie, że definicja tej relacji (czas życia części jest ograniczony do czasu życia całości) jest bez znaczenia dla programisty C#, ponieważ istnieje garbage collector. Przyznam się szczerze...
Architektura 5619 dni, 9 godzin, 57 minut temu 73 źrodło rozwiń
Dziś, w środku sezonu ogórkowego, ukazują się finalne wersje Silverlight 3 oraz zapowiedzi pakietu Expression Studio 3. Tempo naprawdę godne podziwu, biorąc pod uwagę skrócenie cyklu produkcyjnego do poniżej 12 miesięcy! O części ze zmian sygnalizowałem już kilka miesięcy temu relacjonując konferencję MIX, dziś chciałbym się natomiast skupić się na istotnych nowościach w Expression Encoder 3, narzędziu służącym do przygotowywania materiałów audio i wideo do dystrybucji cyfrowej...