How to quickly start playing with Sass in asp.net mvc project? Within a few minutes you will have an working application using twitter bootstrap sass. Read for installation guide, usage, debugging tips and more...
Po przeczytaniu poprzednich wpisów, zasada działania i zastosowanie RX powinny być już jasne. Jeśli tak nie jest, koniecznie zachęcam do przeczytania tamtych postów. Jak wspomniałem, RX to ujednolicony model, umożliwiający korzystanie z kolekcji typu “push-based” w jednakowy sposób. Dzisiaj pokażę jak sprawa wygląda dla zdarzeń czyli jak skonwertować EventHandler do IObervable. Oczywiście kluczem do rozwiązania jest klasa Observable, która zawiera mnóstwo rozszerzeń dla interfejsów IObservable\IObserver...
Sztuka programowania 4358 dni, 12 godzin, 29 minut temu 48 źrodło rozwiń
Drag & Drop - przeciągnij i upuść pozwala na wykonywanie określonych operacji w graficznym interfejsie za pomocą myszki. Proces ten, oparty jest na zdarzeniach.
W poprzednim poście pokazałem jak dokonać subskrypcji aby otrzymywać powiadomienia o nowych danych oraz jak skonwertować IEnumerable to IObservable. Dzisiaj chciałbym pokazać kilka metod klasy Observable, które są szczególnie ważne przy pisaniu testów jednostkowych oraz przy nauce RX. Muszę przyznać, że na co dzień korzystam wyłącznie tylko z kilku z nich ale w przypadku UnitTest’ów są już bardzo praktyczne. Observable to zbiór statycznych metod (często rozszerzających) usprawniających pracę z IOb...
Sztuka programowania 4361 dni, 15 godzin, 46 minut temu 93 źrodło rozwiń
.Net w wersji 4.0 wprowadził pojęcie Corupted Stare Exception. Wiedza o nich jest dość istotna, gdyż domyślnie nie są wyłapywane nawet przez ogólny blok catch(Exception), a także blok finally.
Jeśli to czytacie, to znaczy że zdążyłem jeszcze z wpisem przed nowym rokiem. Udało mi się napisać jeszcze jednego posta przed nowym rokiem - jestem królem świata! Dzisiaj o wykorzystaniu app.config dla własnych celów. Skąd taki pomysł? Otóż jak każdy pewnie ma lub miał w życiu, czasem mieć taką potrzebę aby zmieniać zachowanie aplikacji inaczej niż przez jej przekompilowanie. Wtedy właśnie z pomocą przychodzą pliki .txt, .xml, .config czy dawno dawno temu .ini. Można napisać własne system do obsług...
Czasami musimy odwołać się do kontrolki, która jest zdefiniowana w DataTemplate jakiegoś np. Listboxa. Opisuję dwie możliwości dostania się do takiej kontrolki: RoutedEvents oraz VisualTreeHelper na przykładzie aplikacji Windows 8.
Programowanie asynchroniczne ma na celu polepszenie interakcji aplikacji z użytkownikiem. Przenosząc długotrwałe operacje na inny wątek, zapewniamy, że interfejs naszej aplikacji nie zostanie zamrożony.
Poprzez mechanizm wiązania danych WPF pozwala w łatwy sposób prezentować zawartość kolekcji obiektów. Jeżeli jednak oprócz samego wyświetlania elementów zależy nam na ich sortowaniu, grupowaniu, filtrowaniu czy nawigacji po nich, standardowe możliwości kolekcji okażą się niewystarczające. W takiej sytuacji idealnym rozwiązaniem będzie użycie widoku kolekcji.
Kiedyś już chciałem poprowadzić cykl wpisów o Reactive Extensions i nawet napisałem pierwszy post wprowadzający do interfejsów IObservable, IObserver. Niestety po drodze przytrafiły się tematy które chciałem najpierw opisać i na końcu zrezygnowałem z tego. W między czasie kilka osób pytało o ten cykl ale nie widziałem sensu ponieważ Maciej Zbrzezny już wykonał kawał dobrej roboty i opisał to na swoim blogu w bardzo szczegółowy sposób. Dzisiaj postanowiłem jednak napisać kilka postów o RX po swojemu, z t...
Sztuka programowania 4367 dni, 16 godzin, 14 minut temu 111 źrodło rozwiń
Wraz z wydaniem ASP.NET MVC 4 nastały wielkie zmiany w systemie ASP.NET Membership. Na pewno pamiętacie ten chaos w bazie danych związany z istnieniem olbrzymiej ilości różnych tabel, procedur i perspektyw do obsłużenia użytkowników, ról, profili i sam nie wiem czego jeszcze. Stanowiło to również problem w przypadku budowania aplikacji z użyciem Code First.
W zeszłym tygodniu pisałem o zastosowaniu dynamicznych zmiennych. W dzisiejszym wpisie zastanowimy się co dokładnie CLR robi z dynamic i jak to wpływa na wydajność aplikacji. Pierwszy test polega na porównaniu wydajności dodawania dwóch liczb:privatestaticvoid TestStatic() { var stopwatch = Stopwatch.StartNew(); int a =10; int b =45; int c = a + b; stopwatch.Stop(); Console.WriteLine("Static:{0}", stopwatch.ElapsedTicks); } privatestaticvoid TestDynamic() { var stopwatch = Stopwatch...
Sztuka programowania 4371 dni, 13 minut temu 97 źrodło rozwiń
W tej części o szablonach dla danych hierarchicznych. Wyświetlając hierarchiczne dane w kontrolkach takich jak TreeView czy Menu możemy użyć HierarchicalDataTemplate. Klasa ta posiada wszystkie właściwości znane z klasy DataTemplate oraz kilka dodatkowych...
Data Templates - czyli szablon prezentacji danych określa w jaki sposób użytkownik zobaczy dane prezentowane np. w ListBox-ie. Do tej pory wykorzystywaliśmy dla ListBoxa właściwość DisplayMemberPath. Teraz możemy napisać szablon...
W poście omawiającym bindowanie do różnych źródeł danych omawiałem ObjectDataProvider. Tym razem bardziej praktyczny przykład. Scenariusz jest taki: Na formatce jest ListBox oraz dwa TextBox-y do wprowadzania imienia i nazwiska. Baza danych przechowuje klientów. Formatka ma za zadanie wyświetlać wszystkich klientów jeżeli nie wprowadzono wartości filtrów do TextBox-ów, bądź też przefiltrować dane jeżeli filtry zostały wprowadzone przez użytkownika.
Bindowanie do obiektów ADO.NET. Najczęściej obiekty ADO.NET inicjuje się w kodzie, a następnie w XAMLu następuje bindowanie do konkretnej kontrolki...
Już kiedyś pisałem jak obsługiwać prawidłowe wyjątki ale dzisiaj jeszcze raz chciałbym rozwinąć temat. Zacznijmy od:privatestring GetData(int id) { string result=null; try { result = _service.GetData(id); } catch(Exception e) { } return result; } Jest to oczywiście skrajnie złe rozwiązanie ponieważ wszystko ignorujemy. Na szczęście programiści rzadko popełniają powyższy błąd. Niestety dużo częściej popełnianym błędem jest:privatestring GetData(int id) { stri...
Sztuka programowania 4374 dni, 1 godzinę, 11 minut temu 169 źrodło rozwiń
Dzisiaj chciałbym przedstawić jedną z podstawowych rzeczy w języku C#, którą osoby mające za sobą już kilka programów w tym języku zapewne doskonale znają. Mam na myśli trzy słowa kluczowe, które sprawiają, że dostosowywanie funkcji składowych do naszych potrzeb jest jeszcze prostsze. Pierwszym z nich jest słowo out. Pozwala na zwrócenie w prost...
Sztuka programowania 4375 dni, 2 godziny, 21 minut temu 144 źrodło rozwiń
W miniony weekend postanowiłem zaradzić coraz większemu zamulaniu pracowego laptopa. Wziąłem swój zakurzony, nieużywany od wielu miesięcy 120GB SSD OCZ Vertex2, wsadziłem jako główny dysk do Vostro i, dając się ponieść chwili, wrzuciłem nań Windows 8. Wszystko poszło zadziwiająco sprawnie i prawie bez problemów, i wreszcie komputer jest gotowy do pracy po 15 sekundach od wciśnięcia "on" a nie po 15 minutach. Ale ja nie do końca o tym...
W ADO.NET jest coś takiego jak możliwość ustanowienia relacji pomiędzy dwiema tabelami, a następnie prezentacja tabeli zależnej z kontekście nadrzędnej. Okazuje się jednak, że sposób prezentacji takich dwóch zależnych tabel z uwzględnieniem tej zależności już tak oczywisty nie jest.
Bazy danych i XML 4376 dni, 16 godzin, 35 minut temu 63 źrodło rozwiń