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...
Jedną z najbardziej popularnych i uniwersalnych kontrolek w Windows Forms jest DataGridView. Umozliwia ona w bardzo prosty i przejrzysty sposób dodanie do aplikacji funkcjonalności polegającej na wyświetlaniu wielokolumnowych zestawów danych. Niestety, użytkownik ograniczony wymiarami aplikacji często jest zmuszony do przewijania zawartości DataGridView na boki tak, aby przeczytać wszystkie informacje, które są zawarte w jednym wierszu. Jest to dość uciążliwe i niewygodne. W tym artykule opiszę jak zmusi...
Podczas pracy w wakacje przeszedłem szkolenie SEO (Search engine optimization). Zrobiłem kilka notatek i chciałbym się nimi z wami podzielić (od razu zaznaczam, że nie jestem specjalistą w tej dziedzinie- zostały mi jedynie przekazane wskazówki dotyczące pisania poprawnego, czyt. zoptymalizowanego pod SEO, kodu html). Od czego zacząć? Po pierwsze gdy tworzymy serwis powinniśmy się zastanowić jak bardzo powinniśmy się skupiać na SEO dla naszej strony. Istnieją ...
Bardziej dla własnej referencji zamieszczam link do artykułu Rick Strahla o tworzeniu repozytowium SVN: http://www.west-wind.com/presentations/subversion/. Jest to bardzo dobry przewodnik, przydatny zwłaszcza, gdy trzeba jak najszybciej utworzyć repozytorium i nie ma się zbyt dużo czasu na wgłębianie się w dokumentację. Autor przedstawił sposób, który w maksymalny sposób wykorzystuję nakładkę na SVN TortoiseSvn, a w jak najmniejszym stopniu komendy wpisywanie w wierszu poleceń.
Informacja istotna dla wszystkich, którzy są zainteresowani certyfikatem Windows 7 Logo. Z okazji premiery produktu wyszła pełna wersja toolkitu do certyfikacji aplikacji. Dostępna jest pod tym adresem: https://connect.microsoft.com/Downloads/DownloadDetails.aspx?SiteID=831&DownloadID=22783
Jedną z pierwszych rzeczy na jaką zwróciłem uwagę przy otwarciu projektu C/C++ w Visual Studio 2010 jest usprawniony Intelisense.
Niedawno pisałem o tym, że pojawiła się kolejna wersja beta Visual Studio 2010, wczoraj doszła kolejna nowość: Microsoft opublikował Visual Studio 2010 and .NET Framework 4 Training Kit - October Preview. Kolejna Beta (2) tego Training Kit'u zawiera 15 prezentacji, 19 hands-on labs i 13 demonstracji. Pokazano tam wiele nowych technologii...
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...
Klasa TaskScheduler. Poza klasami TaskFactory i TaskScheduler jest podstawowym elementem nowej przestrzeni nazw Tasks. Cytując MSDN, jest punktem rozszerzenia logiki kolejkowania zadań (stąd klasa TaskScheduler jest abstrakcyjna). Domyślna instancja (zwracana przez statyczną własność TaskScheduler.Current) jest typu ThreadPoolTaskScheduler – wykorzystuje nową implementację klasy ThreadPool opartą o „kradzież” pracy. Z nazwy klasy można wyczytać co kryje ta implementacja – korzysta z ThreadPool do kolejko...
Architektura 5537 dni, 18 godzin, 25 minut temu 62 źrodło rozwiń
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.
Na początek przyznam się, że zawsze miałem problemy z projektami instalacyjnymi. Dlatego chciałbym w kilku krokach przybliżyć wam mój sposób tworzenia poprawnego CAB-a dla Compact Framework, do którego doszedłem po wielu testach i próbach.
Mobile development 5538 dni, 1 godzinę, 18 minut temu 104 źrodło rozwiń
Jakiś czas temu pisałem na temat tworzenia i instalowania serwisu Windows. W większości wypadków jest to dobre rozwiązanie, gorzej jeżeli chcemy uruchamiać również wytworzony plik "exe" dwuklikając na niego (lub wciskając "play" w VS).
Język C# udostępnia ciekawą "odmianę" tablic, mianowicie tablice postrzępione (ang. jagged arrays). Elementami tablicy postrzępionej są tablice.
No, nareszcie, długo czekałem na kolejną wersję Beta, w szczególności, że pomiędzy listopadowym CTP a Beta 1, naprawdę dużo się zmieniło :) Teraz też kilka rzeczy uległo zmianie – na przykład Ultimate to Team Suit :) Ach to Vistowe nazewnictwo :) Dla chętnych lista linków:
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...
Czy już wszyscy zainteresowani przetestowali Visual Studio 2010 Beta (1)? Jeśli nie, to może o tamtej wersji zapomnieć i zwrócić uwagę na kolejną opublikowaną betę, która dzisiaj pojawiła się jako dostępna dla subskrybentów MSDN, a 21-go października będzie dostępna dla innych zainteresowanych.
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.