Piszesz aplikacje webowe? Chcesz być porządny, przygotowany na wszystko, więc testujesz je w wielu przeglądarkach? Masz zainstalowane IE 7, a dostajesz bug "nie działa w IE 6", i nie masz jak w praktyce sprawdzić tego starocia? Program Multiple IE lekiem na całe zło. Z jego pomocą do wersji 7 doinstalujesz sobie wesje starsze, sięgające czasów IE 3! Więcej informacji na stronie (nierozwijanego już) projektu: http://tredosoft.com/Multiple_IE.
Bardzo przydatną funkcjonalnością w Visual Studio jest wyszukiwanie z wykorzystaniem wyrażeń regularnych:
Przyzwyczajeni do .NETowej składni języka możemy natknąć się na pewien problem. Otóż standardowy tryb działania tego silnika w VS (jak i chyba wszystkich popularnych silników regex?) to tryb zachłanny, czyli "greedy". Polega on na dopasowaniu tekstu o maksymalnej długości. Składnią służącą do jego uzyskania jest gwiazdka *, tak samo jak w standardowych regexach. Jeżeli jednak napotkamy po...
[More]
Podczas tworzenia aplikacji w ASP.NET dość regularnie z różnych powodów musimy wpisywać komendę IISRESET. Wykonanie tej komendy trwa, podniesienie się usług po tak brutalnym potraktowaniu - również. Za dawnych czasów pracy nad ITCore wklepywanie owego złowieszczego polecenia było czynnością regularną niczym WDECH/WYDECH... ale taki już urok developerskiej pracy z MOSS.
Wówczas ratunkiem okazał się miniskrypcik, który zamiast ubijać całego IISa restartował jedynie wybraną pulę aplikacji. Trwa to...
[More]
Dziś miałem do czynienia z projektem, w którym do testów jednostkowych wykorzystano framework MbUnit. Oczywiście testy te zapragnąłem uruchomić za pomocą Resharpera (o którym napisałem już dużo). "Domyślnie" jednak zmuszeni jesteśmy buzię otworzyć i zrobić 'o-oo', gdyż R# potrafi obchodzić się jedynie z nUnit:
Na szczęście ktoś mądry zauważył to niedociągnięcie i postanowił temu zaradzić. Tak powstała wtyczka do Resharpera: mbunit-resharper. Całość to mały plik .zip z kilkoma dllkami i batcha...
[More]
Pierwszy odcinek. Drugi odcinek.
Odcinek trzeci. Ostatni. Metoda ControlAdapter.
Mechanizm ControlAdapters umożliwia przejęcie kontroli nad sposobem renderowania kontrolek danego typu w zależności od przeglądarki, z której przyszło żądanie. Możemy dzięki temu stworzyć alternatywny wygląd kontrolek dla urządzeń mobilnych, czy zmienić standardowy lamerski "tabelkowy" sposób renderowania menu ASP.NET (co nota bene zostało zrobione przez autorów CSS Friendly Control Adapters).
W naszym przypa...
[More]
Nieznających tematu zapraszam do pierwszego odcinka po wyjaśnienia.
Odcinek drugi. Metoda HttpModule.
Mechanizm modułów HTTP pozwala nam wpiąć się w proces przetwarzania żądania przez serwer ASP.NET. Mając do dyspozycji całą masę zdarzeń udostępnianych przez klasę HttpApplication możemy zmodyfikować praktycznie dowolny element w łańcuchu obsługi żądania. W tym przypadku wykorzystamy możliwość dobrania się do docelowej strony i podczas zdarzenia Load zmodyfikujemy zawartego na niej ScriptMa...
[More]
W trzech odcinkach zaprezentuję trzy sposoby na zmuszenie MS Ajax (UpdatePanel) do bezproblemowego działania w Google Chrome i Safari 3.0.
Przedstawienie problemu
Zarówno Google Chrome, jak i Safari 3.0 przedstawiają się jako "WebKit". Microsoftowy framework do Ajaxa nie jest na to do końca przygotowany. Zdarzają się sytuacje, w których przeglądarki te "zawieszają się" bądź w inny sposób działają nie tak jak byśmy chcieli. Zidentyfikować taki przypadek można w bardzo prosty sposób:
w inny...
[More]
Zadziwiającym jest, jak często prozaiczne sytuacje z życia codziennego potrafią się skojarzyć z czymś "programistycznym". Jeszcze bardziej zadziwia fakt, jak beznadziejnie bezsensowne są zwykle takie skojarzenia.
Tak, zamierzam od czasu do czasu zaśmiecić niniejszego bloga zawartością mojej głowy pobraną z momentu zaistnienia takiego zjawiska. Oto pierwsza odsłona:
W ostatnią niedzielę moja Joanna założyła mi brutalnie chomąto i poprowadziła do świątyni. Tam uderzyła mnie z całą mocą dość ku...
[More]