Visual Studio jako środowisko programistyczne dostarcza wiele mechanizmów ułatwiających pracę programistom – różnego rodzaju wizardy czy skróty klawiaturowe. Odkąd pracuję nad aplikacją pisaną w ASP.NET MVC, szczególnie podoba mi się możliwość szybkiego przełączania pomiędzy widokiem a powiązanym z nim kontrolerem. Można to uczynić bardzo szybko klikając prawym przyciskiem myszki w ciele metody (kontrolera) b...
Mechanizm dodawania zdjęć już napisałem, więc przyszedł czas na przemyślenie kwestii ich wyświetlania. W dzisiejszych czasach pewnego rodzaju standardem jest używanie do tego celu różnych skryptów – w większości przypadków napisanych za pomocą JavaScript’u. Do najpopularniejszej grupy takich mini-galerii należą tzw. LightBox‘y, które najłatwiej skojarzyć z efektownym nałożeniem półprzezroczystego tła na stronę i wyświetleniem pożądanego elementu na jej pierwszym planie. Najpopularniejsze skrypty, które t...
W dzisiejszej części przedstawię sposób wykorzystania corutines w Silverlight. Corutines to mechanizm pozwalający na wykonywanie sekwencji kodu tzn. do puki nie skończy się działanie danego bloku kodu, program nie przejdzie dalej. W Silverlight, gdzie wszystko musi być wywoływane asynchronicznie tego typu mechanizm jest wręcz zbawieniem. Nie oznacza to, że od teraz wszelkiego rodzaju operacje będziesz wykonywał przy wykorzystaniu corutines. To by zabiło całą koncepcję technologii Silverlight, jednakże z...
Silverlight 4508 dni, 10 godzin, 57 minut temu 29 ź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...
Logika biznesowa projektu jest w znaczącej większości pokryta testami jednostkowymi. Od pewnego momentu do każdej nowej funkcjonalności staram się stosować podejście Test-Driven Development, pisząc najpierw testy ją definiujące. Nie robiłem tego od samego początku, bo wahał...
Kolejna odsłona z cyklu pod tytułem: co każdy programista ASP.NET musi wiedzieć. Tym razem niezbyt długi post o jednym z mechanizmów zarządzania stanem aplikacji odbywającym się po stronie serwera, czyli o stanie sesji (session state). Poruszone zostaną w nim jedynie podstawowe kwestie, być może w późniejszym czasie do zagadnienia tego powrócę. Stan sesji w ASP.NET umożliwia przechowywanie wartości specyficznych dla użytkow...
Microsoft opublikował wersję CTP komponentu pozwalającego tworzyć aplikację na Windows Phone 7 w języku Visual Basic.
Mobile development 4509 dni, 53 minuty temu 17 źrodło rozwiń
W Visual Studio możemy zmieniać wartość powiększenia edytora kodu poprzez CTRL + scroll myszy. Obecna wartość powiększenia wyświetlana jest w lewym dolnym rogu. Osobiście nigdy nie miałem potrzeby zmiany wielkości powiększenia bo odpowiada mi domyślna wartość. Jednak bardzo często udawało mi się niezamierzenie użyć wspomnianego na początku skrótu. Sytuacja ta była na tyle denerwująca, że postanow...
Autor: Podczas zmagań ze stworzeniem rejestracji użytkowników (która jest już dla BlogMaker'a w 90% skończona i wkrótce pojawi się o tym szerszy post) przyszło stworzyć kod aktywujący, który zostanie mailem wysłany do użytkownika, aby potwierdzić adres, na który rejestruje się dane konto. Ów kod nie jest niczym innym jak przypadkowym łańcuchem znaków. początkowo użyłem po prostu obiektu klasy Random, który przy odpowied...
Od pewnego czasu odgrażałem się, że napiszę kilka zapytań przy użyciu NHibernate. Teraz nadszedł ten czas. Za materiał treningowy posłużą mi wcześniej opisywane statystyki. Metodyka pisania zapytań jest następująca: najpierw SQL, później zapytanie w NH. Ma to na celu pokazanie w jaki sposób można przekładać T-SQL na język zapytań NH (w tym przypadku Criteria API).
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 4510 dni, 4 godziny, 35 minut temu 44 źrodło rozwiń
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 4510 dni, 4 godziny, 35 minut temu 158 źrodło rozwiń
Silnik Sql Server posiada kilka metod do pobierania daty i czasu. Część z nich jest już przestarzała i nie powinno się z nich korzystać. SQL Server 2008 wprowadził kilka dodatkowych funkcji: SYSDATETIME, SYSDATETIMEOFFSET, SYSUTCDATETIME. Wszystkie one pobierają czas z dokładnością do 100 nanosekund. Aby przekonać się co dokładnie zwracają najlepiej wywołać je:select SYSDATETIME() as'SYSDATETIME',SYSDATETIMEOFFSET() 'SYSDATETIMEOFFSET', SYSUTCDATETIME() as'SYSUTCDATETIME'; Jak widać SYSDATETIEM zwraca ...
Bazy danych i XML 4510 dni, 22 godziny, 56 minut temu 39 ź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.
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...
Autor: Obiecałem, że jak tylko będę miał możliwość, zorganizuję konkurs T-SQL inspirowany cyklicznymi konkursami T-SQL Challenge. I słowa dotrzymuję :-)Dane wejściowe Dane są dwie tabele o strukturach, jak poniżej:Tabela dbo.Teams: TeamId TeamName 1 Poland 2...
Bazy danych i XML 4511 dni, 5 godzin, 25 minut temu 88 źrodło rozwiń
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...
W aplikacjach biznesowych bardzo często występuje funkcjonalność importu / eksportu danych z / do Excela. Jednym ze sposobów pobierania danych z Excela jest zastosowanie OLE DB jako dostawcy danych. Nie jest to może rozwiązanie najbardziej optymalne, ale czasami nie ma możliwości wpływu na jego wybór. W celu skorzystanie z tego sposobu należy zdefiniować łańcuch połączenia. I tu pojawia się problem ponieważ aby ten sposób zadziałał musi być zainstalowany Excel. Dodatkowo ...
Kilka dni temu byłem zmuszony przeinstalować Visual Studio 2010. Nie przewidywałem żadnych problemów. Ot zwykłe odinstalowanie i zainstalowanie na nowo programu. Po zakończeniu procesu instalacji uruchomiłem losowy projekt by sprawdzić czy wszystko w porządku. Niestety podczas ładowania solucji pojawiły się błędy: The 'Microsoft.Data.Entity.Design.BootstrapPackage.BootstrapPackage...' package did not load correcly. The 'VSTS for Database Professionals Sql Server Data-tier Application' package did not loa...
Szukając dzisiaj pewnego plugina do jQuerego moją uwagę zwróciła nazwa „jQuery Crash”. Z ciekawości postanowiłem sprawdzić, co się za tym kryje. Przedstawiony opis tłumaczy wszystko „Summary A jQuery plugin for crashing IE6. That’ll teach those motherf!%@#s to upgrade their s#t. Usage To crash IE6 call„ Trzeba przyznać, że autor ma ciekawe podejście do życia Jakby kogoś plugin zainteresował, to można go pobrać z tej strony: http://plugins....