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 4999 dni, 10 godzin, 24 minuty temu 133 ź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 5001 dni, 3 godziny, 34 minuty temu 60 ź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 5001 dni, 14 godzin, 30 minut temu 71 ź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...
Team Foundation Server wykorzystuje Jednostki robocze do przedstawiania jakiegoś fragmentu informacji o projekcie. Dla przykładu, metodyka MSF for agile software development v4.2 , której template otrzymujemy razem z instalacją TFS 2008, zaleca wykorzystywanie następujących jednostek roboczych: Scenariusz(Scenario), Wymagania dot. jakości – coś na kształt wymagań niefunkcjonalnych(Quality of service requirement), Zadanie(Task), Ryzyko(Risk) oraz Błąd(Bug). Możemy więc np. kontrolować postępy prac za pomo...
Mono to otwarta implementacja środowiska .NET tworzona przez Novella – działa na linuxach i mac os. Z ostatnich wiadomości: Microsoft obiecał, że nigdy nie będzie ścigał projektu mono o licencję, można przeczytać o tym na blogu Miguela, to może umocnić pozycję tego projektu, do tej pory niespecjalnie było wiadomo czy MSFT pozwie novella i zmusi do zamknięcia, więc raczej nie pod...
W jaki sposób infrastruktura przechowująca stan usług może być skalowana i zabezpieczona przed awarią? Odpowiedzią na to pytania jest wzorzec Service Grid. Jego nazwa może być nieco myląca. Nie ma on bowiem nic wspólnego z gridami oraz raczej niewiele z usługami w klasycznym pojęciu SOA. Service Grid jest nazwą dla podejścia, w którym wiele instancji infrastruktury przechowującej stan usług jest równolegle aktywnych (zwykle na wilu fizycznych maszynach). Instancje te współdzielą między sobą informacje d...
Programowanie rozproszone 5004 dni, 7 godzin, 20 minut temu 36 źrodło rozwiń
Wszyscy jesteśmy przyzwyczajeni do pisania i czytania od lewej do prawej. Przyjmujemy jako pewnik, że menu Start znajduje się w lewym dolnym rogu ekranu, krzyżyk służący do zamykania okna w prawym górnym rogu okna, a krzyżyki służące do rozwijania węzłów w drzewie umieszczane są z lewej strony węzłów itd. Dlaczego o tym piszę? Niedawno zajmowałem się przystosowaniem aplikacji WWW do kultur o orientacji od prawej do lewej. Na warsztat wziąłem kulturę hebrajską. Zainstalowałem odpowiedni pakiet do Windows ...
Artykuł omawiający przykładową implementację ONP (Odwrotna Notacja Polskia) w C#.
Jest to wzorzec z grupy porządkujących logiczny warstwy inwentarza (?) [inventory] usług. Pozostałe dwa z tej grupy to Entity Abstraction i Process Abstraction. Wszystkie trzy wzorce pomagają zidentyfikować różne grupy odpowiedzialności w "kandydatach na usługi". Skutkuje to wydzieleniem współnych zakresów odpowiedzialności do nowych usług lub łączeniem usług odpowiadających za ten sam aspekt rozwiązania. Utility Abstraction zajmuje się konkretnie funkcjonalnością wykorzystywaną we wszystkich fragm...
Programowanie rozproszone 5004 dni, 14 godzin, 18 minut temu 32 źrodło rozwiń
W poprzednim odcinku pokazaliśmy sobie jak możemy stworzyć animacje w WPFie za pomocą C#. Dziś zobaczymy jak można to zrobić przy użyciu deklaratywnego języka XAML.EventTrigger i Stroyboard Przy okazji omawiania triggerów, wspomniałem o EventTriggerach i ich zastosowaniu do animacji. Zobaczmy mały przykład jak zdefiniujemy dany trigger oraz Stroyboard.
W jaki sposób rozwiązanie oparte o usługi może dostarczyć interaktywny interfejs użytkownika? Rozwiązaniem jest specjalna usługa Mediatora, która jest umieszczana pomiędzy kodem interfejsu użytkownika, a rzeczywistą usługą dostarczającą funkcjonalności biznesowej. Mediator jest odpowiedzialny za dostarczanie użytkownikowi informacji o stanie zainicjowanego przez niego procesu oraz o wszelkich zdarzeniach występujących w trakcie jego działania. Mediator może być zrealizowany na dwa sposoby: jako sp...
Programowanie rozproszone 5004 dni, 14 godzin, 18 minut temu 38 źrodło rozwiń
W czerwcu opublikowano nową wersję WPF Toolkit: http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117 ...
Wiele razy już w przeciągu ostatnich 2-3 lat szukałem jakiejś porządnej biblioteki implementującej podstawowe algorytmy z algebry liniowej i ogólnie z matematyki. Wbrew pozorom znalezienie tychże dla platformy .NET nie jest takie trywialne.. Po odpytaniu google o jakikolwiek silnik matematyczny natrafiamy na cenioną open sourcową bibliotekę GSL. Z mojego punktu widzenia ma ona jedną wadę: jest mocno nastawianona na środowisko Linuksowe. O ile istnieją wersje przeportowane na system Win32 (nie mówię tutaj...
Natknąłem się na kolejną ciekawą parę wzorców. W odróżnieniu od poprzednio opisywanej, tym razem para ma charakter dwóch konkurencyjnych rozwiązań tego samego problemu. To dla mnie interesująca nowość: do tej pory wzorce kojarzyły mi się z podejściem: problem - rozwiązanie (+ konsekwencje). W tym wypadku problem ma dwa równorzędne rozwiązania (przynajmniej tak wynika z lektury rozdziałów). No i wydaje mi się, że z tą równorzędnością jest problem... Direct Authentication zakłada, że każda usługa przech...
Programowanie rozproszone 5006 dni, 1 godzinę, 4 minuty temu 27 źrodło rozwiń
Chyba każdy, kto pisał kiedykolwiek aplikacje wielowątkowe, które swoje wyniki prezentowały na kontrolkach WinForms spotkał się z następującym wyjątkiem: System.InvalidOperationException occurred, Message="Cross-thread operation not valid: Control 'MainForm' accessed from a thread other than the thread it was created on.", Source="System.Windows.Forms" Powyższy wyjątek pojawia się, gdy chcemy zmodyfikować zawartość kontrolki z innego wątku, niż ona została wytworzona. W prostszych słowach można powiedz...