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.
Wraz ze wzrostem popularności platformy .NET oczywistym stał się fakt, że zaczną powstawać i rozwijać się narzędzia służące do tworzenia aplikacji multimedialnych, a przede wszystkim gier. Wspierany przez Microsoft zarządzany DirectX został jakiś czas temu zastąpiony przez XNA – narzędzie umożliwiające łatwe i szybkie tworzenie tego typu aplikacji dla Windows oraz konsoli Xbox360. W ramach Mono został uruchomiony projekt...
Cykl wpisów na temat Spring.NET autorstwa Beniamina Zaborskiego.
Dynamicznie rozwijający się XNA, może się pochwalić naprawdę niezłymi produkcjami. Pomyśleć tylko, że przyszłe rozwiązania Microsoftu podniosą znaczenie i wartość tego, bądź co bądź frameworka, mowa tutaj o Project Nathal (Video), czy Surface (Video z przykłądem aplikacji XNA). Perspektywa ta sprawia, iż wypadałoby pozytywnie spoglądać w przyszłość tego produktu.Jednak XNA to głównie gry. Postanowiłem osobom, które zaczynają...
Tutaj znajdziecie krótki ale ciekawy wpis o tym jak zacząć zabawę ze sztuczną inteligencją w XNA. Autor tekstu udostępnił również bardzo prostą bibliotekę AI którą możecie się pobawić na początek.
Na wstępie “krótkie” wprowadzenie – opis książki, którą męczyłem przez ostatnie ładnych “kilka” dni ;) Co uważniejsi z czytelników zauważyli malutki widget po prawej stronie – “Obecnie czytam”. Właśnie wymieniła się w niej książka. Skończyłem czytać “CLR VIA C#” Richtera, zabieram się za “VISUAL C# 2005: THE BASE CLASS LIBRARY” Balena. Z tą książką powinno pójść łatwiej i szybciej niż z Richterem (takie mam wrażenie).
W prawie wszystkich językach obiektowych istnieją tak zwane specyfikatory dostępu, przykładem których jest choćby public czy private. Pozwalają one ustalać, jak szeroko dostępne są poszczególne składniki klas w stosunku do reszty kodu. Modyfikatory te występują m.in. w trzech najpopularniejszych, kompilowalnych językach obiektowych: C++, C# i Javie.
Okazuje się, że użycie skinned model processora stworzonego w samplu Microsoftu, może przysparzać pewne problemy. Jakie? W zależności od karty graficznej meshe, które nie posiadają tekstury (a np. mają kolor zlinkowany do modelu w programie do grafiki 3d), renderowane są na czarno lub biało. Mimo, iż w przypadku BasicEffecta wszystko wyświetla się prawidłowo.Nie wyglądało to za ciekawie, dlatego postanowiłem p...
Zapewne ostatnio natknąłeś się na nie jedną informację o grupie .net (a jak nie to na pewno się natkniesz), w szczególności grupę eastgroup.pl. Czy to może widziałeś informację o spotkaniu na plakacie na wydziale, ulotka o grupie, mailu, czy może już wcześniej znałeś, wiedziałeś, czym jest grupa .net. Właśnie rozpoczął się nowy rok akademicki, a wraz nim nowy sezon działania grupy na wydziale. Jak zawsze na początku roku grupa szuka nowych członków, który będą chcieli przychodzić na spotkania, prowadzić ...
Mimo postępu technologii, hasła nadal są najczęściej spotykanym mechanizmem uwierzytelniania. Nawet zakładając, że mechanizm, który ich używa nie ma żadnej słabości musimy zdać sobie sprawę, że jeżeli hasło ma skończoną długość (a trudno, żeby miało nieskończoną), to podejmując skończoną ilość prób, można hasło odgadnąć. Odgadywanie może polegać na jednej z metod:Po prostu wpisujemy hasło. Imię kota, później markę samochodu, datę urodzenia, abc123. I tak do skutku. Metoda nie jest specjalnie wyszukana, a...
Nie wiem jak Wy, ale ja zawsze miałem dylemat, gdy musiałem porównywać datę zapisaną w bazie z tą wysyłaną z procedury C#. Oczywiście mam na myśli porównywanie datetime z MSSQL z DateTime z C#. Objawiało się to nader często, gdy np. chciałem wyciągnąć z bazy – dajmy na to – zgłoszenia serwisowe z zakresu dat.