Paint.NET jest aplikacją, której chyba nikomu nie trzeba przedstawiać. Sam również bardzo często korzystam z tego programu. Brakowało mi w nim jednak wsparcia dla plików Photoshopa (psd). Czasami potrzebuję „wyłączyć” jakąś warstwę i zapi...
W ramach przygotowania do dalszej pracy podjąłem zamiar zwiększenia jakości tworzonego kodu. Narzędzi zwiększających produktywność programisty jest oczywiście wiele. Osobom znającym już jednak podstawy, na początek, polecam zapoznanie się z programem FxCop. Jest to darmowe narzędzie od Microsoftu służące do przeprowadzania statycznej analizy kodu (oczywiście osoby dysponujące wersjami Visual Studio innymi niż Express nie...
Dziś kolejne, mam nadzieję, ciekawe zastosowanie warunkowego breakpointu. Zanim jednak przejdziemy do omawiania nakreślmy naszą sytuację wyjściową. Załóżmy, że mamy kawałek kodu aplikacji, który jest dość często wykorzystywany z różnych miejsc. privatevoid Calculate(paramsint[] coefficients) { //do sth with coeffs Array.ForEach(coefficients, Console.WriteLine); } To co on robi nie jest ważne. Istotne jest, że chcielibyśmy postawić w niej breakpoint’a i zobaczyć jak się zachowuje w pewnych syt...
RE: Theme Visual Studio15 grudnia 2010Łukasz Gąsior Otrzymałem dzisiaj od „Konrada” maila z takim pytaniem: „jakiego schematu (kolorów)/ustawień visual studio używasz ?” Postanowiłem podzielić się odpowiedzią publicznie – może ktoś jeszcze skorzysta Aktualnie korzystam ze schematu gr...
Całkiem niedawno pojawiła się nowa wersja NHibernate oznaczona numerem 3. Informacje co, gdzie i jak uległo zmianie można oczywiście znaleźć na głównej stronie projektu. Mi z tych wszystkich nowości najbardziej przypadło do gustu nowe API do wykonywania zapytań czyli QueryOver. Ale zacznijmy od początku. Wykonując zapytanie do bazy danych z poziomu NHibernate 2 mieliśmy do dyspozycji 4 możliwości: wywołanie metod Get/Loadzapytanie HQLużycie Criteria APIzapytania SQL Każda z nich ma swoje unikalne za...
Wszyscy wiemy, iż opanowanie operowania VisualStudio z klawiatury to podstawa do szybkiej i wydajnej pracy. Nikt nie będzie nawigował po pozycjach w menu aby dodać plik jeśli może znacznie szybciej zrobić to używając skrótu CTRL+SHIFT+A. Dziś zobaczymy jak możemy wejść na jeszcze wyższy poziom wtajemniczenia. Zapewne wszyscy znają już ukryte funkcje FindBox’a (jeśli nie – zapoznaj się z wpisem – Ukryte możliwości FindBox’a). Dziś zobaczymy jeszcze bardziej ukryte jego możliwości. Zanim jeszcze zaczniemy ...
Na samym początku postawiłem sobie cel związany z przerobieniem całego ebooka dotyczącego PRISM 4. Nie ma co owijać w bawełnę- sprawa zero jedynkowa – cel nie został osiągnięty, choć jest to i tak o wiele więcej niż jakbym nie miał przed sobą wyzwania. Do końca listopada udało mi się przeczytać 8 rozdziałów z 11, przy czym na podstawie pierwszych sześciu powstały 4 części dotyczące PRISM 4. Również rzeczy opisane w opublikowanych przeze mnie postach są zaimplementowane w moim codeplex’owy...
Od pewnego czasu siedzę nad wewnętrznym projektem dla Softio. Na potrzeby klienta, a także własne muszę napisać system CMS posiadający elementy e-Commerce. Zależy mi na prostocie, ale także to co jest ważne to to, że będzie to aplikacja ASP.NET MVC. Oznacza to, że tworzenie szablonów dla stron to nic innego jak kolejny View. Wygląd także ma znaczenie :)
Poprzednim razem opisałem w jaki sposób wygenerować wykres za pomocą MSChart oraz w jaki sposób umiejętnie buforować wygenerowany obrazek w celu uniknięcia jego ciągłego pobierania przy każdym wejściu na stronę. Teraz dodamy do tego generowanie aktywnej mapy i wyświetlenie jej na stronie. Dzięki temu będziemy mogli dodać do wykresu nieco życia. Po pierwsze możemy wykorzystać do tego standardowe dymki, które pokazuje przeglądarka kiedy zdefiniujemy tag title, czy dodać link do wybranych wartości (np.: w w...
Zapewne wszyscy zdają sobie sprawę, że nasz breakpoint możemy uczynić warunkowym tak aby VS zatrzymało się na nim tylko w specyficznej sytuacji a nie za każdym razem. Gdy breakpoint jest warunkowy jego ikona posiada mały biały plusik tak jak na obrazku w tym paragrafie abyśmy mogli odróżnić go od innych. Dziś pokażemy sobie, że warunkowy breakpoint może być użyty także do innych, mniej oczywistych (mam nadzieję) celów. Załóżmy, że jesteśmy w trakcie debuggowania dość skomplikowanego kodu (ten poniżej tak...
IntelliTrace jest doskonałym narzędziem ułatwiającym debuggowanie przez tzw. “time travel”. Umożliwia to podczas debuggowania np. cofnięcie się do poprzedniej linii lub prześledzenie nagranej wcześniej sesji (w przypadku np. awarii systemu). W tym poście jednak nie będziemy zajmować się obsługą tego narzędzia a scenariuszem w którym mamy zainstalowany program na innym komputerze, na którym nie jest dostępny Visual Studio. Przede wszystkim na dany komputer należy skopiować następujące pliki (wymagane prz...
Ostatnio odkryłem na nowo funkcjonalność definiowania własnym szablonów kodu. Funkcjonalność ta jest bardzo często nie wykorzystywana przez programistów, ale potrafi zdziałać cuda. W pisaniu aplikacji biznesowej zawsze przychodzi taki moment, że trzeba napisać kod służący do zapisywania danych do bazy, jak równię ich odczytywania.
Tworząc oprogramowanie bardzo trudno ustrzec się przed stworzeniem aplikacji niezgodnej z zasadami sztuki. Przez zasady sztuki rozumiem tutaj tworzenie zbyt długich funkcji, tworzenie bardzo zagmatwanego kodu (np. składającego się z kilkunastu if-ów jeden w drugim) czy niekomentowanie metod i funkcji. Nie pilnując jakości kodu możemy bardzo łatwo doprowadzić do sytuacji, w której utrzymanie kodu będzie co najmniej bardzo pracochłonne. Dlatego wiele większych firm wprowadza zasady tworzenia kodu. Co takie...
Marcin Wolański's blog: Kiedy VisualSVN Server zainstalowałem tak, jak chciałem, zachciało mi się systemu do zarządzania błędami. Padło na Trac. Do instalacji postanowiłem wykorzystać Apache VisualSVN Servera. Wiem, że mógłbym wziąć sobie paczkę z Trac dla VisualSVN Server, ale nie zrobiłem tego, bo po pierwsze, nie zawiera najnowszej, stabilnej wersji Trac, a po drugie – niezależna instalacja Trac uprości aktualizację narzędzi w przyszłości.Przygotowanie środowiska Zainstalowałem po kolei używając defau...
Agenda • Czy jest aplikacja modułowa ? • Inicjalizacja modułów Czym jest moduł ? Pozwoliłem sobie na przetłumaczenie pierwszego akapitu z 4 rozdziału ebooka o Prism 4. Oto on. Aplikacja modułowa to aplikacja podzielona na zestaw funkcjonalnych jednostek (zwanych modułami), które mogę być zintegrowane w jedną większą aplikację. Moduł jest swego rodzaju kontenerem części funkcjonalnościcałej aplikacji i zazwyczaj stanowi zbiór powiązanych ze sobą zagadnień. Moduł taki może zawierać zbirór ele...
autor: Wspominałem już kiedyś o FAKE - F# Make. Jest to narzędzie do wykonywania buildów, tak jak MSBuild, nAnt, Rake, psake czy wiele innych. Przez krótki czas (przy jednym projekcie) miałem okazję się nim pobawić, i bardzo przypadło mi do gustu. Dzisiaj pokażę jak można z niego skorzystać. Na początek jednak kilka linków: * FAKE na Githubie * blog autora * Google group * historia stabilnych buildów na CodeProject TeamCity - trzeba zalogować się jako gość, wybrać najnowszy build, i... ściągać najnowsz...
Tematem części 1 będzie, krótki opis na temat tego czym jest Prism, oraz opis Boostrapera. Co to jest Prism ? Prism to framework zawierająy szereg narzędzi ułatwiających budowę aplikacji składających się z niezależnych modułów. Wbrew pozorom, tak jak wiele osób uważa, Prism nie jest kolejnym frameworkiem MVVM. Wiele z ficzerów (Unity, EventAggregator) wchodzących w skład Prisma jest wykorzystywanych we własnych implementacjach MVVM typu Cinch, Caliburn etc. Dlaczego warto korzystać z Prism’a ? Gł...
W trakcie rozwijania algorytmów na potrzeby pracy magisterskiej pojawiło się zapotrzebowanie na zdecydowane przyspieszenie jednego z nich. Algorytm polegał na liczeniu pewnych własności dla każdego punktu regularnej siatki. Zrównoleglenie było naturalnym rozwiązaniem, ponieważ elementy nie zależały od siebie nawzajem. Zdecydowałem się na użycie Parallel Extensions (Wiki, MSDN) ze względu na prostotę. Przedstawię szkielet rozwiązania, które może zostać zastosowane pr...
Ostatnio cały czas bawiłem się XAML-em, by w końcu doprowadzić system GUI to względnej używalności. Temat ten jest na osobną notkę, która możliwe, że pojawi się niedługo XAML w standardzie jest już dość rozbudowany. Lecz gdyby to nam nie wystarczało(a czasami nie wystarcza), daje nam możliwość jeszcz...
Zasiedziało mi się dziś jak zawsze przed kompem i przeglądając wiadomości ze świata natrafiłem na oto ten artykuł . Opisuje on jak dwóch byłych studentów Uniwersytetu Warszawskiego – Tomasz Błaszczyk i Tomasz Waleń opracowali aplikację mającą z automatu odrzucać kiepskich programistów. Jeśli interesuje Was powstanie tego pomysłu zapraszam do lektury artykułu. Ja za to opiszę sam test.