W poprzedniej części serii poświęconej tematyce WPF 3D, opisane zostały rodzaje materiałów, jakimi można pokrywać figury i bryły w tworzonej scenie 3D, pominięte ciszą zostały natomiast pędzle wykorzystywane do przygotowania odpowiedniego materiału. W tym wpisie wiadomości dotyczące pokrycia figur zostaną uzupełnione i omówione zostaną pędzle, które są elementem wykorzystanego materiału. Wykorzystanie pędzla jest konieczne do przygotowania materiału dla wybranej figury lub bryły w scenie. W odróżnieniu j...
Strona głównaUżytkownik
macko | użytkownik
Witam dziś podczas kodowania natrafiłem na dosyć nieprzyjemne utrudnienie. Mianowicie dotyczy ono wstrzykiwania poprzez IoC HttpContext i pobierania aktualnego kontekstu do klas które tego potrzebują np. sesja. ciasteczka itp. Jak wiadomo HttpContext jest trudno dostępnym obiektem i ciężko w łatwy sposób wstrzyknąć. Wiec postanowiłem napisac wrapper do HttpContext.
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...
Pliki .chm to prosty sposób na help do programu, dodatkowo polecono mi programik Precision Helper (freeware), który ułatwia tworzenie dokumentacji. Niestety WPF nie ma wbudowanego mechanizmu do obsługi tych plików. Oczywiście można posiłkować się klasą Help z biblioteki System.Windows.Forms. Pozostaje tylko pytanie czy warto dołączać dużą (ok 5MB) bibliotekę, aby skorzystać z jednej klasy. Moim zdaniem nie warto. Postanowiłem napisać moduł, który zajmie się obsługą plików *.chm w WPF. Po kilku godzinach...
W poprzednich wpisach kilkukrotnie pisaliśmy o potrzebie stosowania testów jednostkowych jaką na szczęście wymusza na nas podporządkowanie się zasadom extreme programmingu. Wiele artykyłów poświęconych Test-driven development’owi pojawi się zapewne na naszym blogu w przeciągu kolejnych miesięcy. Warto więc opisać także podstawy korzystania z biblioteki do testów jednostkowych której używamy, czyli NUnit’a. Aby rozpocząć pracę z tym jakże użytecznym narzędziem pobieramy go z odpowiedniej strony, w wersji...
Dzisiaj coś z pogranicza horroru (będzie strasznie), sci-fi (będzie niesamowicie) i kina familijnego (będzie happy end). Czyli dlaczego warto używać transakcji NHibernate przy każdym wywołaniu metody Save(). Zaczęło się od prac nad statystykami. Po sporządzeniu planu wykonania 7 rodzajów statystyk przystąpiłem do realizacji pierwszych punktów. Zacząłem od napisania testów oraz repozytoriów do pobierania danych z bazy w celu wyliczenia statystyk. Metodyka pisania testów metod pobierających dane z bazy był...
Bazy danych i XML 5198 dni, 7 godzin, 3 minuty temu 161 źrodło rozwiń
Na Codeplex w dziale Patterns & Practices pojawił się poradnik dla osób, które chciałyby przenieść swoje aplikacje na platformę Windows Azure.
Architektura 5201 dni, 1 godzinę, 26 minut temu 31 źrodło rozwiń
Po odinstalowaniu Resharpera zauważyłem, że w edytorze nie są zaznaczane błędy. Chwila grzebania w opcjach i udało się doprowadzić Visual Studio do stanu sprzed instalacji narzędzia. Wystarczy wybrać Tools > Options > Text Editor > C# > Advanced i zaznaczyć w Editor Helper opcje Underline errors in the editor oraz Show live semantic errors.
Zamieszczam przykład zastosowania LINQ To SharePoint do pobierania, zapisywania, aktualizowania i usuwania danych z dwóch list powiązanych ze sobą lookup fieldem (relacja jeden do wielu).
Bazy danych i XML 5198 dni, 7 godzin, 3 minuty temu 47 źrodło rozwiń
Silników fizycznych mamy całą masę: Box2D, Bullet, Havok, PhysX, Newton Game Dynamics. Część jest OpenSource, część darmowa tylko do zastosowań niekomercyjnych, niektóre tylko komercyjne. Część 2D, cześć 3D. Część stosunkowo mało rozbudowana(np. pierwsze dwa z mojej listy), część to ogromne biblioteki(te komercyjne). Niestet...
autor: To co napisałem poniżej to narazie koncept, który w sumie już działa, ale wymaga jeszcze nieco szlifu. Potrzebowałem skomunikować ze sobą dwie aplikacje webowe oparte o MVC. Naczytałem się o WCF i innych sposobach komunikacji poprzez Webservice i zawsze oznaczało to sporej ilości dłubania. Zresztą jak dobrze poszukać to znajdą się opinie, że budowanie osobn...
Kilka dni temu ostrzegaliśmy przed atakiem na webaplikacje pisane w ASP.NET. Dziś znamy już szczegóły błędu, a Microsoft potwierdził zagrożenie. Poniżej prezentujemy jak zabezpieczyć się przed atakiem.Atak na ASP.NET (demonstracja) Błąd, tak jak pisaliśmy kilka dni temu, korzysta z tzw. wyroczni, czyli polega na wysyłaniu zaszyfrowanych zapytań do serwera i wyłapywaniu różnic w jego odpowiedziach — różne kody błędów świadczą o tym, czy serwer poprawnie rozszyfrował wiadomość. Na tej podstawie można wycią...
Microsoft przyznał w końcu, że aplikacje webowe stworzone przy pomocy praktycznie dowolnej wersji środowiska ASP.NET są podatne na atak typu Padding Oracle. Oznacza to, że w zależności od konkretnej aplikacji, intruzowi może udać się przykładowo uzyskanie dostępu do zawartości zaszyfrowanych ciasteczek i innych danych sesyjnych. Około 25% wszystkich aplikacji webowych bazuje na ASP.NET, w związku z...
W tym wpisie omówione zostaną materiały (i nie chodzi tutaj o krawiectwo), jakie mogą być wykorzystane pokrywanie figur w scenie 3D.
Najwyższy czas na kolejną mini-porcję ciekawostek związanych z najpopularniejszym obecnie framework’iem języka JavaScript – jQuery.
Dla odmiany zatem, w kolejnym odcinku moich zmagań nad projektem, przedstawiam zagadnienie walidacji danych wprowadzanych przez użytkownika w ASP.NET. Wykorzystane przy tym będą wbudowane mechanizmy, które sprawiają, że walidacja może być prosta i przyjemna, a przynajmniej nie tak straszna jak może si...
Sposób w jaki ASP.NET szyfruje ciastka nie jest bezpieczny. Szyfrowanie można złamać, co w konsekwencji pozwala atakującemu na wgląd w prywatne dane sesji użytkownika webaplikacji pisanych w ASP.NET. Szacuje się, że na atak podatnych jest 25% wszystkich webaplikacji na świecie.Ataki Padding Oracle Błąd wynika z niepoprawnej implementacji AES-a w trybie CBC (Cipher Block Chaining) — jest ona podatna na atak Oracle Padding, pozwalający na odszyfrowanie danych bez znajomości klucza. Odnalezienie właściwego ...
Na początku był Agile… Manifest Agile i zawarte w nim idee. Manifest, mimo że niezwykle odkrywczy był jednak bardzo ogólny – prezentował wartości, ale nie tłumaczył, jak wprowadzić je w życie. Nieuniknione było więc powstanie metodologii ściślej opisujących proces wytwarzania oprogramowania...
Problem oprogramowania, które ulega degradacji dotyczy w głównej mierze projektów, w których zapomina się, iż żyjemy w świecie zmieniających się wymagań, a naszym zadaniem jest tworzenie oprogramowania, które będzie potrafiło te zmiany przetrwać. Tak jest! Wymagania zawsze się zmieniają więc powinno to być jedno z priorytetowych założeń każdego projektu. Będąc świadomym tego stanu rzeczy, należy każdorazowo stosować określony zbiór praktyk, przyczyniających się do uelastycznienia projektu.
Architektura 5212 dni, 8 godzin, 36 minut temu 126 źrodło rozwiń
Dlaczego ASP.NET MVC jest groźne dla Test-driven development’u? A jest? No jest. Co ciekawe wynika to z jego największych zalet...