.NET blog: Ostatnimi czasy postanowiłem przyjrzeć się bliżej platformie Mono oraz środowisku Mono Develop. Z racji tego, iż będę miał potrzebę wytworzenia kawałka oprogramowanie na Mac OS postanowiłem skorzystać z tych narzędzi w tymże celu, a żeby lepiej mi to poszło trzeba na początku się z nimi zapoznać. Uwaga: Jeśli chodzi o jakiekolwiek porównania wydajnościowe to testy były robione na wirtualnej maszynie z Windows 7 z 2 GB RAM.Pobieranie i instalacja Mono to tylko około 78 MB natomiast Mono Develo...
Design by Contract (TM) to technika programowania defensywnego, postulująca jawne specyfikowanie interfejsów komponentów, np. poprzez deklarowanie warunków, które muszą spełniać argumenty metod (to w zasadzie najczęstszy przypadek). Zwykle w projektach realizujemy to wymaganie albo poprz...
Architektura 5171 dni, 21 godzin, 33 minuty temu 90 źrodło rozwiń
Trochę czasu minęło od ostatniego postu. Postaram się jednak dotrzymać słowa i dokończyć to co zacząłem ;) ControlStoryboardAction – Action, który pozwala na uruchomienie StorayBoard czyli animacji w momencie wystąpienia zdarzenia na elemencie źródłowym. MVVM: Przez pewien czas zastanawiałem się w jaki sposób mogę skorzystać z tego Action w kontekście wzorca MVVM. Rozwiązaniem jest zastosowanie wyzwalacza PropertyChangeTrigger. Wykorzystując wspomniany wyzwalacz, możemy sprawić by nasza aplikacja u...
Silverlight 5171 dni, 21 godzin, 33 minuty temu 36 źrodło rozwiń
Każda bardziej skomplikowana (niż „hello word”) aplikacja posiada jakąś architekturę. Chyba najbardziej popularna wśród początkujących to spaghetti. Architektura spaghetti charakteryzuje się tym, że różne kawałki kodu są po prostu przemieszane ze sobą. Czasem tak dobrze, że w jednej procedurze i/lub funkcji znajdziemy wszystkie składniki. Na szczęście kilka programów później, prawie każdy zaczyna coraz bardziej myśleć o architekturze. O tym, jak poszczególne elementy aplikacji będą poskładane i jak będą ...
Architektura 5171 dni, 21 godzin, 33 minuty temu 182 źrodło rozwiń
Z systemami kontroli wersji (w skrócie VCS) zetknął się każdy programista i dla niemal wszystkich jest to oczywiste narzędzie pracy. Dla wielu jednak wciąż jeszcze kojarzą się one z jednym, centralnym miejscem zawierającym zawierającym bazę kodu projektu (czyli repozytorium) oraz z licznymi kopiami roboczymi, nad którymi pracują programiści. Kiedy zaś chcą połączyć swoje zmiany, wówcza...
W poprzednim poście przedstawiłem funkcję ROW_NUMBER. RANK działa analogicznie z tym, że wierszom o tej samej wartości nadawane są takie same liczby porządkowe. Rozważmy poniższe zapytanie:select RANK() over(orderBY ProductSubCategoryID),ProductSubcategoryID from Production.Product; Wiersze o takim samym ProductSubCategoryId otrzymają równe wartości a nie kolejne liczby jak w przypadku ROW_NUMBER. Przykładowo zwrócone wiersze: RANKProductSubCategoryId151515464646 Warto zwrócić uwagę, że RANK nie zw...
Bazy danych i XML 5171 dni, 21 godzin, 33 minuty temu 29 źrodło rozwiń
W tym poście przedstawię swoją implementację wzorca Repository z użyciem Entity Framework. Na początek zdefiniowałem interfejs IRepository...
Architektura 5172 dni, 12 godzin, 26 minut temu 338 źrodło rozwiń
Profesionalne, dwudniowe kursy z Windows Azure za 150 złotych!
Programowanie rozproszone 5172 dni, 12 godzin, 26 minut temu 43 źrodło rozwiń
Jeśli spędzamy stale kilka godzin dziennie przed ekranem monitora, nie możemy lekceważyć kwestii zdrowia naszych oczu. Każda rzecz, która rozprasza programistę, skutecznie obniża efektywność jego pracy. Lecz gdy mowa o niedogodnościach związanych ze wzrokiem sprawa staje się na tyle poważna, że często oznacza konieczność dłuższego odpoczynku od programowania. W niniejszym artykule chciałbym podzielić się prostym sposobem na zmniejszenie zmęczenia wzroku programisty.
Obiecałem sobie nie pisać przez jakiś czas o (Fluent) NHibernate ale jak widać nie potrafię =) Przy okazji refactoringu kodu przypomniałem sobie o pewnym drobny problemie, który napotkałem testując kod repozytoriów. Podczas przeprowadzania testów z wykorzystanie SQLite zauważyłem, że właściwości typu enum zapisywane są w bazie danych pod postacią ciągu znaków, a nie jak oczekiwałoby się pod postacią typu całkowitego (najczęściej i najprawdopodobniej pod postacią integera =)....
Autor: Obiecałem sprawdzić, czy instalacja Visual Studio 2010 Shell pozwala na zainstalowanie Power Tools – dodatkowych narzędzi dla team Foundation Server 2010, w celu np. modyfikacji jednostek roboczych. Pozwala. Tak, więc kierownik projektu (mający odpowiednie uprawnienia) może przygotować template dla kolejnego projektu bez instalacji Visual Studio. Po instalacji Power Tools na stacji roboczej menu „Tools” zostanie wzbogacone m. in. o „Process Editor”: Wystarczy wybrać, „Work Items Type” -> „Open W...
Wielu programistów, zwłaszcza tych początkujących, przez cały czas kurczowo trzyma się tablic, jako uniwersalnego sposobu na przechowywanie dużej ilości określonych zmiennych/obiektów. I może jest to jakaś opcja, ale sumarycznie tablice dają duże ograniczenia. Deklarując tablicę, trzeba znać z góry ustaloną ilość elementów jaka będzie miała się znaleźć w tej tablicy i tym samym alokując dużą ilość pamięci już na starcie (być może taką ilość, której nawet nie wykorzystamy), ponadto tablice nie mają wielu ...
Architektura 5174 dni, 50 minut temu 172 źrodło rozwiń
Autor: W ramach tego postu chciałbym się podzielić różnymi ciekawostkami i spostrzeżeniami. Z jednej strony w większości przypadków dotyczą one funkcjonalności dłużej znanych, ale spojrzymy tu czasem na nie od bardziej wysublimowanej strony. Znajdzie się też kilka całkowicie nowych wstawek z RTM. Poniżej udostępniam moje wcześniejsze materiały z Windows Phone 7 dotyczące funkcjonalności sprzed bety, zaktualizowane, by działały poprawnie w wersji finalnej. Po drodze zaktualizowałem je do bety, ale nie zd...
W części drugiej serii "WCF w praktyce" udostępniliśmy naszą usługę tworząc hosta. Dla przypomnienia, stworzyliśmy dwa projekty umożliwiające hostowanie kontraktu IGreetingService poprzez aplikację konsolową oraz poprzez plik serwisu webowego (*.svc). Z racji na zdecydowaną przewagę zalet tej drugiej opcji, w dalszej części będę korzystał z hostowania poprzez IIS (lub wbudowany w Visual Studio serwer WWW).
Programowanie rozproszone 5174 dni, 3 godziny, 59 minut temu 150 źrodło rozwiń
W jednym projekcie, w którym operujemy na mapie zaszła potrzeba efektywnego zarządzania warstwami, które są wyświetlane na mapie. Pod słowem efektywne rozumieliśmy sposób pobrania informacji o warstwach taki by: Nie pobierał 1MB danych na starcie – taki rozmiar ma wynik zapytania REST dot. wszystkich warstw i ich wartości; Nie odpytywał N razy serwera o dane – normalnie zabawa z 3 warstwami danych mogła w ciągu 5 min generować 20-30 requestów; Umożliwił dalszą zabawę warstwami w aplikacji w tym wyświet...
Tak jak oficjalnie ogłoszono na portalu CodeGuru.pl, Microsoft Polska przygotowało specjalną niespodziankę dla fascynatów technologii .NET - bezpośrednią transmisję z PDC 2010 w siedzibie firmy, w Warszawie, na żywo, z Redmond, 28 października o 16:30!
Niejednokrotnie tworząc własne kolekcje danych, chcielibyśmy mieć swobodę ich edycji, filtrowania i przeszukiwania. Podstawowe operacje dostarczone przez interfejs kolekcji, nie rozpieszczają użytkowników. W takim momencie, każdy programista z zazdrością spogląda na kolegę, który zajmuje się bazą danych i który dzięki zapytaniom, może właściwie w dowolny sposób manipulować posiadanymi danymi. Jednak jeśli jesteś programistą .Net i korzystasz z tego Frameworka w wersji co najmniej 3.5 - to mam dla Ciebie ...
Architektura 5174 dni, 10 godzin, 49 minut temu 173 źrodło rozwiń
autor: Wydaje mi się, że istnieje tylko niewielka szansa, że podwojenie liczby systemowych bitów zaowocuje problemami z uruchomieniem jakieś aplikacji, która wcześniej działała dobrze. Jak wiadomo jest tu emulacja trybu 32-bitowego, która sprawdza się bardzo dobrze. Skąd to wiem? Ano stąd, że okazji do jej wykorzystania jest mnóstwo – i w zasadzie to właśnie jest problem. Wersji aplikacji dedykowanych do x64 nie jest znowu tak dużo, a jeśli już da się takie znaleźć, to często są one pod znacznie gorszą o...
Czasami wykonując zapytania T-SQL potrzebujemy ponumerować wiersze. Baza SQL Server dostarcza nam kilka różnych funkcji. Podstawową funkcją jest ROWNUMBER, która zwraca dla danego zbioru wartości od 1 do n. W przypadku gdy dwa zwrócone wiersze zawierają identyczne dane, ROWNUMBER traktuje je jako różne i nadaje im kolejne numery. Przykład:select ROW_NUMBER() over(orderBY NAME),ProductSubcategoryID from Production.Product; W klauzuli over określa się m.in. sortowanie. Za pomocą tego ROW_NUMBER wie, jak...
Bazy danych i XML 5175 dni, 4 godziny, 29 minut temu 51 źrodło rozwiń
Testy jednostkowe to proste testy pozwalające na sprawdzanie działania aplikacji na poziomie klas i metod. Ich celem jest wspomaganie pracy programisty. Testów jednostkowych nie należy traktować jak testów aplikacji, które należą do zupełnie innej kategorii. Ciekawą koncepcją jest TDD czyli test driven development. Wg. niej najpierw tworzone zostają testy aby dopiero później stworzyć kod. Dzięki takiemu podejściu zmuszamy umysł do przemyślenia kodu zanim ten zostanie stworzony. Największa moc drzemiąca ...