Internet obfituje w bardzo wiele interesujących treści, jednak niejednokrotnie sposób ich przedstawienia wizualnego może... zniechęcić. Źle dobrane tło, niepraktyczna czcionka, męczące kontrasty (tak, wiem, wiem, część z tego można znaleźć również na moim blogu:))... Ale niedawno znalazłem rozwiązanie tych problemów. Mowa o projekcie Readability od firmy arc90.
Dodatek pozwala programistom używającym WinForms używać kontrolek Microsoft Windows 7 Ribbon w aplikacjach. Ponadto, zawiera on bibliotekę RibbonLib, która zapewnia wsparcie dla wstążki i proste przykłady, napisane w C# i VB.NET, pokazujące, jak używać biblioteki i różnych dostępnych właściwości wstążki.
W Entity Framework 4 została dodana obsługa klas POCO. Samo pisanie takich klas oraz odpowiedniej klasy dziedziczącej po ObjectContext (klasa ta zapewnia „most” pomiędzy klasami POCO a EntityFramework) może być czasochłonne. Na ratunek przychodzi jednak POCO Entity Generator. Po jego instalacji wystarczy przejść do edytora naszego modelu, otworzyć menu kontekstowe, wybrać „Add Code Generation Item…”, a następni...
Dostałem do ręki aplikacje w której istnieje zmienna globalna, oczywiście występująca w wielu miejscach...
Architektura 5130 dni, 21 godzin, 19 minut temu 189 źrodło rozwiń
Autor: Tematykę IntelliTrace poruszałem już kilkukrotnie. Dzisiaj chciałbym powrócić do zagadnienia opisanego w poście Logi IntelliTrace bez tajemnic czyli analizy logu przy pomocy IntelliTrace API. Tym razem napiszę w jaki sposób dostać się do informacji o tym kiedy została wywołana jakaś metoda, jaki wynik zwróciła i jakie były parametry wywołania. Informacje te są prezentowane w oknie Calls View w Visual Studio 2010 ale można je analizować w ograniczonym stopniu. Poniższe informacje przydadzą się każd...
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
Po wyrzuceniu z siebie szkicu interfejsu użytkownika (w postaci 2 obrazków =) zacząłem myśleć o organizacji kontrolerów i routingu. Standardowa trasa {controller}/{action}/{id} ma charakter czysto dydaktyczny. W przypadku prawdziwych aplikacji routing trzeba zbudować od podstaw. Nie będę opisywał co to jest trasa, jak działa, czy jaką powinna mieć budowę. Zamiast tego spróbuję rozwiązać problem...
Jak sprawnie i szybko przekopiować dane z tabeli do tabeli? Można wykorzystać klasę SqlBulkCopy, która jest znacznie lepszym rozwiązaniem niż użycie klasycznego SqlCommand z poleceniem INSERT. Załóżmy, że chcemy przekopiować dane z tabeli o nazwie “Adresy” do tabeli “Adresy_Archiwum”:using (SqlConnection sourceConnection =new SqlConnection(connectionString)) { sourceConnection.Open(); SqlCommand commandSourceData =new SqlCommand( "SELECT * FROM Adresy", sourceConnection); SqlDataReader reader ...
Bazy danych i XML 5132 dni, 1 godzinę, 20 minut temu 67 źrodło rozwiń
Autor: W moich wywodach dotyczących chmury zapomniałem na samym początku wspomnieć o różnych chmurach, w zależności od tego gdzie i w jaki sposób takie "chmury" są ulokowane. Nadrabiam więc zaległości i krótki wstęp, który będzie mi też potrzebny do kolejnego posta o chmurze prywatnej. Otóż... To co dziś napiszę o pewnych kategoriach chmur jest zupełnie niezależne od tego co opisywałem już kiedyś, czyli rodzajach/typach chmury. Bo jak zobaczycie na rysunku poniżej kategorie chmury to trochę szersze poję...
Od dość długiego czasu (ok. 3 miesięcy) szukałem miejsca, w które mógłbym "wepchnąć" wszystkie swoje projekty online. Do tej pory wszelkie repozytoria trzymałem lokalnie na dysku zabezpieczając się backupem w postaci doskonałego narzędzia Dropbox (polecam!). Postanowiłem jednak, że bardziej "profesjonalnie" będzie jeśli pod adresem http://[nazwaprojektu].maciejaniserowicz.com (czy coś w ten deseń) będę mógł udostępnić klientowi repozytorium z kodem, bugtracker i wszelki inny przydatny przy realizacji pro...
Nie będę tłumaczył na polski powyższych nazw bo nie mam pojęcia jak to oficjalnie zostało nazwane. W każdym razie, cechą wspólną powyższych testów jest szybkość i pobieżność – stanowią one wstęp do prawdziwego, gruntowanego testowania. Poniżej kilka najważniejszych cech opisujących smoke test:Zwykle zautomatyzowany – np. w formie testu jednostkowego.Testuje każdą warstwę systemu pobieżnie. Sprawdza czy najważniejsze fragmenty systemu działają, nie wgłębiając się w logikę biznesową.Ma charakter horyzontal...
Od jakiegoś czasu piszę aplikacje pod Windows Phone 7. Podczas testowania aplikacji na emulatorze zdziwiła mnie słaba wydajność emulatora. Na początku nie przywiązywałem do tego zbyt dużej wagi. Wiadomo... emulator. Jednak gdy podczas przeglądania przykładów aplikacji WP7 nawet proste aplikacje uruchamiane na emulatorze nie działały płynnie zacząłem się zastanawiać czy wszystko jest w porządku. Komputer, na którym pracuje ma już lata świetności za sobą (P83...
Mobile development 5133 dni, 6 godzin, 43 minuty temu 100 źrodło rozwiń
W testach jednostkowych czasami warto testować również prywatne metody. Wynika to z zasady atomowości. Prywatne metody z reguły zawierają atomowe operacje, wykorzystywane potem w metodach publicznych. Jednym ze sposóbów jest użycie mechanizmu refleksji. W tym poście zajmiemy jednak się narzędziem publicize.exe, służącym do zmieniania modyfikatorów prywatnych na publiczne. Załóżmy, że mamy taką klasę:
Młody mężczyzna przyjeżdża do miasta. Jest całkiem przystojny, ma mało pieniędzy w portfelu, z łatwością nawiązuje kontakty z kobietami. Nie mówi wiele o swojej przeszłości, ale to raczej jasne, że spędził dużo czasu w bezdusznej, wielkiej korporacji. Jest naturalnie przyjazny i towarzyski, po cichu pewny siebie, ale nie arogancki. Dlatego łatwo mu chwytać się drobnych zleceń znalezionych na tablicy ogłoszeń w lokalnej Kawiarni...
Jak pisałem poprzednio, wykupiłem konto na Vipserv.org i przenoszę tam wszystkie swoje projekty (git, hg i svn) trzymane dotychczas na dysku. Poniżej kroki, które musiałem wykonać (na świeżej wirtualce z Windows) aby, mieć działający projekt zarządzany przez Redmine, a trzymany w Gicie.
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...
Ostatnio interesowała mnie sprawa użycia Unity razem z biblioteka MEFedMVV. Czemu w ogóle rozważałem taka kwestię? Otóż MEF pozwala jedynie zdefiniować na dwa sposoby jak dany obiekt ma być tworzony – czy będzie to jeden obiekt, czy obiekt będzie tworzony za każdym razem. Jeśli chcielibyśmy stworzyć jakieś bardziej zaawansowane reguły tworzenia obiektów (np. tworzenie nowego obiektu tylko dla danego wątku), wtedy musimy posłuż...
Autor: W poprzednim wpisie opisany został algorytm, jakim można się kierować przy wypracowywaniu rozwiązania pozwalającego na interakcję myszy ze sceną 3D. W tym wpisie zaprezentowany zostanie gotowy kod w języku C# pozwalający na osiągnięcie założonego celu. Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wykorzystania treści stanowi również opis pewnych zagadnień związanych z projektem Mesh Diagram 3D.Informacje dotyczące projektu oznaczone są etykietą MeshDiagram3D.W przygotowani...
Buszując w internecie, a dokładnie po googlu, natrafiłem na bardzo ciekawą rzecz - Google Font API. Są to internetowe czcionki udostępnione przez giganta zupełnie za darmo. Ich użycie bądź zastosowanie na stronie www jest banalnie proste.
Autor: O tym jak obracać obiekty (lub kamerę) w scenie 3D pisałem już jakiś czas temu w artykułach: „Transformacje i przekształcenia 3D” „Obracamy, przesuwamy, skalujemy? Kamerę (i nie tylko)”. W oparciu o opisane tam rozwiązania i przy pomocy kontrolek typu Slider, tworzona przeze mnie aplikacja (MeshDiagram3D), transformuje kamerę w scenie, przez co sprawia wrażenie transformacji sceny. Nie każdemu jednak spodoba się przesuwanie suwaków (Slider), niektórzy chcieliby pewnie obracać scenę, „łapiąc” za ob...