niedziela, Październik 25th, 2009Brak komentarzyXNA: Strzeż się 64 bitów! Właściwie sam tytuł wpisu, można traktować jako podsumowanie go. Wszystko zaczęło się od 64bitowego Windowsa i kompilacji projektu …Could not load file or assembly… Otóż jak się okazuję, XNA Framework jest 32 bitowy i stąd, na 64 bitowym systemie, może pojawić się błąd (jak w nagłówku powyżej), którego identyfikacja, na pierwszy rzut oka nie wydaje się być łatwa, w sytuacji gdy wszystko znajduje się na swoim miejscu, a ponadto refe...
W dzisiejszym tutorialu przedstawię sposób na efektowny slider, który będzie obsługiwany między innymi przez klawiaturę. Taki slider można wykorzystać do tworzenia efektownych prezentacji swoich prac lub prezentacji swoich zdjęć na stronie.
Większość osób posługujących się SQL’em wie do czego służy UNION, mało tego często zdarza się, że go używa. :) Jednak jak pokazuje doświadczenie, nie każdy wie jaka różnica jest pomiędzy UNION, a UNION ALL. W rezultacie przy pisaniu zapytania stosuje UNION, chociażby z racji tego, iż jest krótsze :).
No to embargo na informacje na temat SharePoint 2010 zostało zdjęte :) pora więc rozpocząć posty na jego temat :) W netcie znajdziecie już dużo screenów, więc nie będę się zajmował stroną wizualną a jedynie programistyczną. Pierwszym tematem jest nowa funkcjonalność walidacji danych na formularzu. Zaraz po wejściu na ustawienia listy widać nowy element Validation Settings:
Słowo kluczowe var jest sposobem na uniknięcie długich nazw typów podczas deklarowania zmiennych lokalnych. Dzięki niemu unikamy dwukrotnej specyfikacji typu, co może być przydatne w np. wypadku deklarowania zmiennej typu Dictionary
Ile klas z którymi się spotkałeś miały sufiks "Manager" (np. ConnectionManager, SessionManager)? Każdy większy system wydaje się być pełen takich klas - SessionManager, ConnectionManager, PolicyManager, QueueManager, UrlManager, ConfigurationManager, albo co jeszcze smutniejsze EJBManager. Słowa "manager" i "manage" posiadają przynajmniej dziesięć różnych znaczeń - od "stworzyć coś i utrzymywać w zgodzie z wytycznymi" do "osiągnąć określony cel". Pamiętam jak pewnego dnia recepcjonistka przemianowała si...
C++ ewoluuje, standard się zmienia. Visual Studio 2010 implementuje zmiany w kompilatorze. Oto telegraficzny skrót na temat wyrażeń lambda w C++ i deklaracji zmiennej auto, czyli odpowiednik var z C#/.NET Framework.
Jakiś czas temu, zacząłem pisać aplikację, w której zależało mi na IDE-podobnym wyglądzie. Oczywiście nic nie stało na przeszkodzie, aby korzystając z WPF napisać dowolny UI, jednak po przebadaniu dostępnych rozwiązań, ze szczególnym nastawieniem, na te Open Source’owe, padło na Avalon Dock.Jak się okazało, był to strzał w dziesiątkę, szczególnie z punktu widzenia użytkownika Visual Studio, który przyzwyczajony jest do tamtejszego interf...
Bardzo często zgłaszają się do mnie osoby które programują stosunkowo niedługo, lub właśnie rozpoczynające swoją przygodę z programowaniem, i pytają o to jaką książkę bym polecił do języka XYZ, czy znam jakiś dobry tutorial, ewentualnie jak rozwiązać dany problem (np. jak poprawić błąd kompilacji lub błąd logiczny), czy jaką funkcję użyć aby uzyskać określony efekt. Przez ostatnie 10 lat które "spędziłem" w Internecie takich rozmów odbyłem dziesiątki, jeśli nie setki. Tak więc wychodząc na przeciw przysz...
W poprzednim odcinku pokazałem jak stworzyć szkielet menu do SSMS. W tym odcinku pokażę, jak stworzyć uniwersalny schemat wywoływania poleceń powiązanych z menu naszej wtyczki. Można by od biedy zastosować taki prosty schemat: gdzie zastosowanych zostanie tyle “if-ów” ile jest poleceń w naszym menu. Ale to rozwiązanie jest bardzo mało eleganckie. Aby stworzyć mechanizm automatycznie dopasowujący elementy menu z elementami wykonawczymi należy zauważyć, że:polecenie może być wywołaniem metody z klasy Nex...
Wiele razy już w przeciągu ostatnich 2-3 lat szukałem jakiejś porządnej biblioteki implementującej podstawowe algorytmy z algebry liniowej i ogólnie z matematyki. Wbrew pozorom znalezienie tychże dla platformy .NET nie jest takie trywialne...
Oryginalny post: The Greatest Invention in Computer ScienceAutor: Jeff Atwood Jak myślisz, co jest największym wynalazkiem w dziedzinie informatyki? Oprócz komputera oczywiście. Poważnie, przed dalszym czytaniem, zatrzymaj się na chwilę i rozważ pytanie. Mówiłem wcześniej o tym, jak młode są w rzeczywistości tak zwane nowoczesne języki programowania i warto to powtórzyć dla kontekstu. C ma z grubsza tyle lat co ja; FORTRAN jest w wieku moich rodziców. Ale co z nowymi dzieciakami na osie...
Framework Microsoft .NET posiada dwie podstawowe grupy zmiennych – wartościowe, przekazywane przez wartość – np. Decimal, oraz referencyjne - przekazywane przez referencję, np. String. Postaram się przedstawić pierwszą grupę zmiennych.Typy wbudowane Typy przekazywane przez wartość stanowią dużą cześć wbudowanych typów frameworka .NET. Przykładem są Value Types (np. System.Byte, System.Int32, System.Double) – wszystkie są przekazywane przez wartość. Oto przykład pokazujący różnicę zachowania typu wartośc...
Jakiś czas temu postanowiłem rozpocząć moją przygodę grafiką 3D generowaną za pomocą Windows Presentation Foundation (WPF). Muszę przyznać, że biorąc pod uwagę prostotę z jaką można tworzyć grafikę 3D jest to na prawdę dobre narzędzie. Bez większych problemów opanowałem generowaną przy pomocy trójkątów w przestrzeni grafikę, tym bardziej, że bardzo wiele artykułów opisuje właśnie te elementy. Schody pojawiły się w momencie, gdy postanowiłem dodać do moich grafik 3D jakieś napisy. Dlatego właśnie tworzeni...
Mapowanie relacji pomiędzy tabelami na asocjacje klas to dusza ORMow. To przy okazji najbardziej problematyczne zagadnienie. Zagadnienie relacji jest szerokie jak rzeka i nie sposób opisać wszystkich przypadków. Najważniejsze z mojego punktu widzenia jest jednak zrozumieć sedno sprawy, zrozumienia tego brakowało przy moich pierwszych próbach i przyznam że zjadło mi to wiele godzin. Dzięki zastosowaniu klas POCO możemy posługiwać się niedostępnymi dla modelu DataSetów kolekcjami i powiązaniami ...
Ostatnio wrzuci mnie w projekcik z którym z woli klienta dostęp do bazy realizowany jest z wykorzystaniem nHibernata Troche więc o nHibernacie aby nie umkneło na przyszłość. Na początek POCO = Plain Old CLR Object Czyli proste niezwiązane klasy zawierające zazwyczaj proste property. NHibernate nie wymaga nawet aby klasa była serializowalna wymaga jedynie domyślnego bezparametrowego konstruktora oraz publicznych property wyrażających asocjacje między klasami POCO. Klasy POCO są reprezenta...
Novell poinformował wczoraj, że udostępni zestaw narzędzi dla developerów, którzy chcą programować aplikację dla iPhone OS w microsoftowym frameworku .Net zamiast Objective-C.
Język C# udostępnia ciekawą "odmianę" tablic, mianowicie tablice postrzępione (ang. jagged arrays). Elementami tablicy postrzępionej są tablice.
Regiony Regiony są sposobem na zwiększenie czytelności kodu poprzez logiczne pogrupowanie jego elementów w łatwe do ukrycia grupy. Dzięki nim możemy w prosty sposób przeglądać tylko wybrane elementy klasy. Czy naprawdę jest to dla nas ułatwienie? Czy są takie przypadki, kiedy nie interesuje nas całość kodu klasy? Jeśli tak, być może oznacza to, że klasa ma za dużo odpowiedzialności. Jeśli klasa ma kilka logicznych fragmentów, które chcielibyśmy zamknąć w r...
Każdy dobry programista wie, że po skończeniu pracy z obiektem klasy implementującej interfejs IDisposable należy wywołać metodę Dispose (jawnie bądź nie jawnie). Dlatego kiedy ostatnio zobaczyłem kod, w którym programista beztrosko raz po raz tworzy ikonę, a następnie radośnie o niej zapomina powodując wzrost liczby obiektów GDI przez usta przeszły mi dość niecenzuralne słowa.