Niektóre aplikacje warto wyposażyć w Splash Screen. W przypadku WPF-a (który jest wykorzystywany w DesktopInfo) sprawa jest banalnie prosta. Wystarczy dodać plik png do projektu a następnie we właściwościach pliku wybrać SplashScreen
Wczoraj (a właściwie dzisiaj) pisałem o pobieraniu lokalizacji za pomocą wbudowanej w Windows 7 platformy sensorów. Poniżej kawałek kodu, który już powinien być zrozumiały – wykorzystujący LatLongLocationProvider LatLongLocationProvider location = newLatLongLocationProvider(100); if (location.ReportStatus == ReportStatus.Running) { location.LocationChanged += newLocationChangedEventHandler(location_LocationChanged); location.StatusChanged += newLocationProviderStatusChangedEventHandler(location_St...
ASP.NET Edycja nagłówka w GridView Wrzesień 18, 2010- autor: michalurbanskiDodaj komentarz Tytuł posta może być nieco mylący, chciałbym bowiem przedstawić w jaki sposób dodać dodatkowy wiersz do standardowej kontrolki GridView w celu zmiany wyglądu części nagłówkowej. Jeśli jednak mamy już header, to trzymając się ściśle terminologii dodana część powinna być określana jako subheader. Jakkolwiek brzmiałby polski odpowiednik tego słowa, zdecydowałem, że przynajmniej na potrzeby tego posta będę używał zwr...
Axum to kolejny inkubacyjny projekt z Redmond, o którym warto wspomnieć. Model agenta, który przedstawiłem w poprzednim poście, został przez giganta potraktowany całkiem poważnie. Solidna implementacja, skalowalność, wtyczka do Visual Studio - to wszystko daje całkiem duże pole do popisu, ale powoli...
Programowanie rozproszone 5190 dni, 3 godziny, 22 minuty temu 22 źrodło rozwiń
We wpisie o LinqToXml pisałem jak można czytać z pliku XML. Co jednak z zapisywaniem? Otóż jest to równie łatwe. Znowu zaprzęgniemy do pracy Linq. Najpierw oczywiście otwieramy plik a następnie pozostaje stworzyć XDocument z zawartością. Zawartość możemy dodawać ręcznie albo (jak na przykładzie poniżej) wybrać elementy za pomoca Linq i zwrócić je w takiej postacji jakiej chcemy mieć je zapisane.
Bazy danych i XML 5190 dni, 3 godziny, 22 minuty temu 75 źrodło rozwiń
Programowanie w parach, to jeden z najbardziej kontrowersyjnych pomysłów jakie spotkać możemy podczas przeglądania publikacji dotyczących extreme programming’u. Jak można pracować wydajniej redukując liczbę zadań nad którymi pracujemy o połowę? Brzmi niedorzecznie, a jednak ma szereg nie koniecznie widocznych od razu zalet…
Co pewien czas można natknąć się na porównania odnośnie mocy obliczeniowej komputerów bardzo dawnych i tych dzisiejszych. Takim dość typowym, często powtarzanym stwierdzeniem jest na przykład to, iż komputer sterujący misją Apollo 11 miał moc porównywalną z dzisiejszym kalkulatorem. Podobne ciekawostki służą czasami ukazaniu gigantycznego postępu, jaki dokonał się w ciągu ostatnich kilku dekad jeśli chodz...
Od dawna nosiłem się z zamiarem poznania wzorca MVVM (Model-View-ViewModel), na którym opiera się WPF, jednak im głębiej go poznawałem tym bardziej wydawał mi się on irytujący. Problem z MVVM jest taki, że jest to tylko wzorzec, opisujący jedynie podstawy działania i przedstawiający założenia do ogólnej koncepcji jaką należy przyjąć w projekcie. W teorii wygląda to bardzo ładnie, oddzielenie interfejsu od logiki biznesowej miały pozwolić na rozdzielenie pracy programisty i designera. Zachowujemy porządek...
Przeglądając istniejący kod i planując utworzenie kolejnych obiektów repozytoriów doszedłem do wniosku, że warto zaoszczędzić sobie trochę czasu i napisać uniwersalny (na ile to możliwe) obiekt bazowy repozytorium. Obiekt ten powinien zawierać podstawowe metody manipulacji i dostępu do danych. Dużym ułatwieniem jest to, że wszystkie obiekty dziedziny dziedziczą po obiekcie Entity (przed refaktoringiem BaseEntity), który zawiera pole Id z bazy danych oraz ważną z punktu widzenia NH implementacje metod E...
Dzisiejszy post ma charakter raczej ciekawostki– w praktyce nic przydatnego nie wnosi:). Wiemy, że wartości NULL mają specjalne znaczenie – podstawowe operacje matematyczne zachowują się inaczej niż na zwykłych liczbach. Podobnie jest z porównywaniem NULL ponieważ służy do tego specjalny operator (IS NULL). Istnieje jednak w SQL Server zmienna, której ustawienie pozwala porównywać wartości NULL za pomocą klasycznych operatorów ‘==’. Rozważmy następujące zapytanie:select*from Persons WHERE FirstName isnul...
Bazy danych i XML 5190 dni, 19 godzin, 39 minut temu 44 źrodło rozwiń
Przez ostatnie kilka dni męczyłem się niemiłosiernie z asynchronicznością Silverlighta. Pomimo wielkiego entuzjazmu jaki żywię do tej technologii, pojawiły się we mnie pierwsze wątpliwości. Zacząłem się zastanawiać czy, aby na pewno Silverlight nadaje się do biznesowych rozwiązań czy też obiekt Session z XPO DevExpressa (ORM firmy DevExpress) jest w pełni dopracowany do wymagań jakie stawia Silverlight. A może to ja jestem w tym wszystkim najsłabszym ogniwem ? To ostatnie jest wielce prawdopodobne. Dosyć...
Silverlight 5191 dni, 6 godzin, 25 minut temu 31 źrodło rozwiń
W poprzednim odcinku po krótce opisałem kontrolkę PivotViewer oraz jak szybko można zacząć się nią bawić. Tym razem napiszę trochę o tym, że wcale tak szybko nie można się z nią zacząć bawić ze względu na nowe rozszerzenia plików, które muszą być obsłużone zarówno przez IIS jak i nasz wirtualny serwer Cassini. Dlaczego najpierw zajmuje się rozszerzeniami? Gdyż w następnych odcinkach zaczniemy korzystać z kolekcji w kontrolce i zrozumienie dlaczego nam się kolekcja nie ładuje będzie sednem naszych NIE zm...
Deus ex adfectus machina – menedżer stanów Skąd taki tytuł? Deus ex machina (łac.) – Bóg z maszyny adfectus (łac.) – stan Za Eurypisesem wprowadzę do Theme Festival coś, co szybko rozwiąże problem zarządzaniem grą, „aby akcja nie trwała zbyt długo” (za Wikipedią). Ten wpis poświęcę koncepcji menedżera stanów, „Boga z maszyny stanów”. O co tu chodzi? Całą grę należy wyobrazić sobie jako graf przejść między stanami. Stanem gry może być wszystko, od menu, przez okno opcji, po różne etapy rozgrywki. Przej...
Architektura 5191 dni, 6 godzin, 25 minut temu 32 źrodło rozwiń
Na naszym blogu opisujemy na bieżąco proces tworzenia pewnego projektu. Proces ten jest oparty o metodologie z rodziny Agile, a jego poszczególne elementy przedstawiamy w kolejnych wpisach. Możliwe jednak, że stronę tą odwiedzą również osoby, które nigdy wcześniej nie słyszały o czymś takim, jak Agile. Ten wpis jest adresowany głównie do nich.
Architektura 5191 dni, 6 godzin, 25 minut temu 103 źrodło rozwiń
Autor: Poprzednim razem pisałem dla tych, którzy marzą, że po nauczeniu się jakiegoś języka programowania, szybko zapełnią swój garaż nowymi modelami Ferrari, Astona Martina czy Lamborghini. Tym razem postaram się skupić bardziej na odpowiedzeniu na pytanie ludziom, którzy wyżej stawiają sobie własny rozwój niż ciągnący się za nimi tłum piszczących nastolatek. Źle. Kto widział żeby za programistami gani...
Przed przystąpieniem do właściwych prac związanych z zapowiadanymi w ostatnim wpisie statystykami chciałem napisać jeszcze jeden test związany z zapisem danych do bazy. Chodziło o zapis obiektów kadencji i sprawdzenie czy zapisywany jest cały graf obiektów, czyli kadencja > posiedzenia > głosowania itd. Myślałem, że będzie to tylko formalność, ale jak to zazwyczaj w takich sytuacjach bywa nie obeszło bez problemów. Na szczęście były to tylko przejściowe problemy. W przypadku NHibernate (Fluent NHibernate...
Najwyższy czas na kolejną mini-porcję ciekawostek związanych z najpopularniejszym obecnie framework’iem języka JavaScript – jQuery.
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 ...
Autor: Mam silny background .NET-owy, zdarzyło mi się dłużej programować w Javie. Właściwie od kiedy zacząłem programować bardziej „na serio”, towarzyszyło mi Visual Studio, Eclipse, czy NetBeans. Od zawszę więc myślałem, że dobre środowisko pracy, to podstawa. Bynajmniej, nie twierdzę teraz inaczej – ale czy dobre środowisko oznacza ciężkie, w pełni wyposażone, dopasowane do danego języka IDE? A może „zwykły” edytor tekstu wystarczy?Rys historyczny Pierwszą styczność z edytorem tekstu, konk...
Przeglądając różne tutoriale związane z ASP.NET MVC 2 napotkałem na pewien szczegół, który początkowo był dla mnie niezbyt zrozumiały. Mam tu na myśli znaczniki, których używamy do wyświetlania danych/kodu w widokach. Jak się okazuje, istnieją trzy typy tych znaczników, które są bardzo podobne do siebie, lecz stosuje się je w różnych sytuacjach. Poniżej krótka ściągawka, którą utworzyłem na bazie własnych doświadczeń....