TeamCity umożliwia uruchamianie buildów za pomocą wielu różnych narzędzi, m.in. MSBuild, nAnt czy Rake. Ja jednak postanowiłem kontynuować swoją, rozpoczętą kilka miesięcy temu, przygodę z FAKE - F# Make. Wcześniej pracowało mi się z tym narzędziem bardzo przyjemnie i odświeżenie znajomości tym razem nie zaszkodzi (a może i wyniknie z tego jakiś post:) ). Dziwnym nie jest, że "out of the box" TC nie wspiera FAKE, jest to w końcu projekt raczej niszowy. Jedyne wyjście to wskazanie własnego skryptu Build....
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Inicjatywa ta rodziła się już od jakiegoś czasu, ale zawsze coś stawało na przeszkodzie. W końcu jednak udało zebrać się ludzi, czas i tematy Dlatego serdecznie zapraszamy na kurs C# na portalu VirtualStudy! Kurs będzie trwał minimum pół roku. Zaplanowany jest na 6 miesięcy, ale wiadomo, różnie bywa, zawsze może coś wypaść etc.. Na kursie będziemy przedstawiać programowanie w języku C# od podstaw. Dlaczego tak? Ktoś może zapytać, czy nie lepiej byłoby od ra...
Express App Framework – Architektura Listopad 12th, 2010 | Author: Kelut Dzisiaj chciałbym, możliwie krótko, przedstawić architekturę XAF’a. Zanim zacznę wpisy techniczne, warto chociaż w minimalnym stopniu wiedzieć jak jest zbudowany ten Framework. Sam XAF to narzędzie wspomagające tworzenie aplikacji na windows forms oraz asp.net. Modułowa konstrukcja pozwala korzystać z wielu wbudowanych już modułów oraz pisać własne. To przekłada się, w dużym stopniu, na szybsze i wydajniejsze tworzenie oprogramo...
Autor: Jakiś czas temu pisałem o TDD czyli o test driven development. Dzisiaj napiszę po co w ogóle bawić się w takie bezsensowne nadmiarowe rzeczy. Wikipedia definiuje to zagadnienie dosyć enigmatycznie: Test-driven development (TDD) jest techniką tworzenia oprogramowania zaliczaną do metodyk zwinnych (Agile). Pierwotnie była częścią programowania ekstremalnego (ang. extreme programming), lecz obecnie stanowi samodzielną technikę. Polega na wielokrotnym powtarzaniu kilku kroków:Najpierw programista pisz...
Autor: Czas żeby wykorzystać napisaną w ostatnim poście kontrolkę do wyświetlania obrazków przedstawioną w poprzednim poście. Na razie wykorzystywana będzie jedynie podczas przeglądania struktury dysku. Sprzężenie między aktualnym katalogiem a zdjęciami również będzie tymczasowe. Aby w prosty sposób móc przekazać listę zdjęć do kontrolki ImageListView wystawiona na zewnątrz niej zostanie jedna DependencyProperty typu ObservableCollecion
Od czasu do czasu mam w zwyczaju przeglądać cały swój kod i w razie potrzeby robić jego refaktoryzację, tak też się stało tydzień temu kiedy stwierdziłem, że zamiast dopisywać nową funkcjonalność do projektu Silverlight, doprowadzę do porządku to co już stworzyłem. Podczas przeglądania kodu, natrafiłem na taką o to extension method
Na mojej sesji podczas tegorocznego MTS-a pokazywałem w pewnym momencie odpytywanie źródła danych OData za pomocą narzędzia LINQPad. Zdziwiło mnie, jak wiele pytań po sesji miałem na jego temat, skąd pobrać, czy jest darmowe etc.. W związku z tym postanowiłem napisać kilka słów na jego temat i zachęcić do jego używania, ponieważ jest to bardzo fajne narzędzie. 1. Pobieranie i instalacja LINQPad dostępny jest w dwóch wersjach, z c...
W SQLite używam autoinkrementacji wartości kluczy głównych w tabelach. Domyślnie wygenerowany model przez generatora Entity Framework nie uwzględniał tego faktu. Próba wstawienia nowego rekordu do tabeli zakończy się po prostu błędem, ponieważ Entity Framework będzie chciał wstawić jakąś wartość. W celu naprawienia tej sytuacji musiałem w designerze ustawić pole StoreGeneratedPattern na Identity: D...
Bazy danych i XML 5177 dni, 22 godziny, 30 minut temu 58 źrodło rozwiń
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 5176 dni, 6 godzin, 14 minut temu 150 źrodło rozwiń
Od początku pracy nad DesktopInfo wiadome było, że będzie potrzebny mechanizm do ładowania pluginów, dodatkowych modułów, które rozszerzą możliwości aplikacji bez potrzeby jej rekompilacji. Pierwszy pomysł jaki przechodzi do głowy to refleksja. Jednak jakiś czas temu postała biblioteka MEF, która została włączona do .NET Framework 4.0 Ponieważ aplikacja DesktopInfo wykorzystuje właśnie tą wersję .NET, to dlaczego nie wykorzystać nowej funkcjonalności. Zatem zobaczmy krok po kroku co jest potrzebne aby ...
Architektura 5178 dni, 12 godzin, 7 minut temu 160 źrodło rozwiń
Czasem zachodzi potrzeba, by element sceny 3D wiedział o swojej obecności w scenie, np. w celu odpowiedniego obrócenia się, by być przodem do kamery. Oczywiście przy jego dodawaniu do sceny można by było przekazać do niego odpowiednie informacje o scenie, ale okazuje się, że każdy element sceny może sam uzyskać odpowiednie informacje, gdyż wszystkie elementy sceny 3D w WPF (i nie tylko sceny 3D) tworzą drzewo wizualne (visual tree). Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wy...
Praca z danymi może kojarzyć się z wykonywaniem operacji na danych, lecz nie tylko. Ważnym elementem jest prezentacja, w której wykonaniu pomocnymi mechanizmami są wiązanie,walidacja i konwersja danych. Z tego artykułu nauczysz się, jak wykorzystywać Data Binding w swoich projektach.Data BindingCzym jest Data Binding? Binding umożliwia zarówno połączenie elementów interfejsu użytkownika z dużymi i często używanymi obiektami biznesowymi, jak i powiązani...
W poprzednim artykule stworzyliśmy kontrakt usługi IGreetingService wraz z jej implementacją. Sama biblioteka nie jest przydatna, jeżeli nie będzie dostępna dla klientów. Przyszedł zatem czas, aby stworzyć projekt, który będzie ją hostował. Istnieje kilka możliwości udostępnienia usługi i są to: 1) self hosting 2) hostowanie poprzez windows service 3) IIS / WAS
Programowanie rozproszone 5187 dni, 18 godzin, 43 minuty temu 223 źrodło rozwiń
Microsoft Azure stało się ostatnio dość popularne na blogach a sam MS bardzo promuje swoją wersję chmury. IMHO jest to technologia, której nawet jeśli nie jest jeszcze w pełni dojrzała – pierwsze wersje narzędzi, część (np. CDN) jeszcze w wersji Beta – warto się przyglądać. Aby poznać nową technologię IMHO najlepiej spróbować wykorzystać ją w projekcie (tu zgadzam się z opinią Procenta). Tak więc zaczynamy. Na początek jak zwykle Hello World.
Productivity Power Tools jest dodatkiem do Visual Studio, który znacząco rozbudowuje jego możliwości. Poniżej wymieniłem kilka zmian jakie wprowadzana narzędzie:dostęp do nowego okienka „Add Reference”. Wygląda ono tak: Co w nim takiego fajnego? Zaznaczanie dodanych już Assemblies zielonym ptaszkiem, możliwość wyszukiwania po nazwie, większe możliwości sortowania. Dodać należy również, że okno nie odświeża listy za każdym jego...
Autor: Wczoraj wieczorem przysiadłem chwilę i poszperałem w sieci co trzeba zrobić, by debugger Visuala ładnie „wyświetlał” obiekty naszych klas(np. po najechaniu na niego myszką, w okienku Watch). Gdy jeszcze moim głównym językiem był C++ też zapragnąłem mieć coś takiego. Niestety, w przypadku programowania natywnego nie ...
W poprzedniej części zacząłem pisać o przekształceniach i transformatach, w tym wpisie pokazane zostaną przykłady jak można wykorzystać transformaty do poruszania kamerą. Okazuje się, że przekształcanie (w tym obracanie, przesuwanie) wszystkich elementów w scenie może być niewygodne i nieopłacalne (np. ze względów wydajnościowych), dlatego czasem lepiej będzie wykonać przekształcenie dla samej kamery.
Okiełznać mysz w XNA + WF Podstawowym elementem zaznaczania jest ustalenie pozycji myszy na ekranie. Przy pracy nad tą funkcjonalnością pewien delikatny niuans sprawił, że zajęło to zdecydowanie dłużej, niż zakładałem.Mysz w XNA Dobranie się do pozycji myszy w czystym XNA jest niezmiernie łatwo. Służy do tego obiekt klasy MouseState, który wypełniamy bieżącymi informacjami fragmentem kodu: MouseState mouseState = Mouse.GetState(); Po wykonaniu takiej operacji obiekt mouseState zawiera aktualną pozycję m...
Rozwiązanie problemu wypisania boxingu i unboxingu, oczywiście chodziło mi komendę: ildasm TestBox.exe /text | findstr box Jest to chyba najszybszy sposób uzyskania informacji o boxingu i unboxingu w kodzie, a staje się on jeszcze szybszy gdy zastosujemy rozszerzenie PowerCommands, wtedy wystarczy jedynie kliknąć na projekcie wybrać Open Command Prompt i następnie przejść do katalogu bin/debug|release gdzie już możemy spokojnie operować na pliku – oczywiście dla chcących nie powinno być problemu wpr...
Przeglądając istniejący kod i planując utworzenie kolejnych obiektów repozytoriów doszedłem do wniosku, że warto zaoszczędzić sobie trochę czasu i napisać uniwersalny (na ile to możliwe) obiekt bazowy repozytorium. Obiekt ten powinien zawierać podstawowe metody manipulacji i dostępu do danych. Dużym ułatwieniem jest to, że wszystkie obiekty dziedziny dziedziczą po obiekcie Entity (przed refaktoringiem BaseEntity), który zawiera pole Id z bazy danych oraz ważną z punktu widzenia NH implementacje metod E...