GridView jest bardzo często wykorzystywany do wyświetlania danych typu tabelarycznego (np. lista umów w systemie), wystarczy że podepniemy się do obiektu (np. DataSet'a), który zawiera zestaw danych, które chcemy wyświetlić i już mamy ładną tabelkę na stronie. W prosty sposób można dodać kolejną funkcjonalność: edycji, czy kasowania elementów, w tym celu wystarczy wykonać kilka kliknięć i już... Gorzej, gdy nasz zestaw danych (nasza tabela) zawiera odwołania do innych tabel, np. tabela UMOWY jest powiąza...
Strona głównaUżytkownik
gordon_shumway | użytkownik
Został niecały miesiąc do światowych finałów konkursu Imagine Cup, które w tym roku odbędą się w Warszawie. Co zatem należy zrobić? Wejść na stronę MS Student Lounge i oddać swój głos na drużynę Fteams reprezentującą nasz kraj na tym etapie!
Ukazała się pierwsza wersja świetnego dodatku do Visual Studio: Visual Studio 2010 Pro Power Tools. Nie chcę się powtarzać bo opis funkcjonalności można przeczytać np. tutaj. Jednak zauważyłem problem w przypadku czarnych Afroamerykańskich schematów kolorów IDE, których jestem zwolennikiem. Największy problem jest z jednym z ciekawszych ficzerów, a mianowicie kolorowaniem parametrów metod w oknie podpowiedzi...
Oryginalny post: Code Reviews: Just Do ItAutor: Jeff Atwood W artykule The Soft Side of Peer Reviews Karl Wiegers zaczął od mocnego oświadczenia: Wzajemne przeglądy -- czynność, podczas której osoby inne niż autor kawałka kodu przyglądają się mu pod kątem błędów oraz możliwości poprawy -- są jednym z bardziej potężnych, dostępnych narzędzi do podtrzymywania jakości kodu. Wzajemne przeglądy zawierają w sobie inspekcje, kontrole ogólne, wzajemne symulowanie logiki i inne podobne czynności. ...
Oryginalny post: Bridges, Software Engineering, and GodAutor: Jeff Atwood Bazując na tym, ile razy spotkałem się z tym porównaniem podczas mojej kariery, mogłoby się wydawać, iż budowanie mostów oraz tworzenie oprogramowania są ze sobą w jakiś sposób powiązane: [..] mój ojciec, który jest "prawdziwym" inżynierem, przyjechał do mnie z wizytą na parę dni. Rozmawialiśmy dziś wieczorem o istocie prawdziwej inżynierii i staraliśmy się zrozumieć czy tworzenie oprogramowania zbliża się do takiego poziomu d...
RavenDB właśnie został oficjalnie opublikowany. Przez kilka ostatnich dni popołudniami i ł eksperymentowałem z tą technologią. Teraz chciałbym się z Wami podzielić moimi odczuciami. Z początku byłem nastawiony bardzo sceptycznie — kolejna zabawka Ayende. Po Rhino DHT, Rhino PHT, Rhino Queues, Rhino ServiceBus i innych, których nie pamiętam, straciłem entuzjazm. W końcu jednak postanowiłem dać Raven’owi szanse. W końcu j...
Bazy danych i XML 5282 dni, 7 godzin, 15 minut temu 362 źrodło rozwiń
.NET Framework pozwala na łatwe wczytywanie, uruchamianie i wykorzystywanie obcych assembly. Należy jednak pamiętać, że nie wolno mieć pełnego zaufania do cudzego kodu. Ma to jeszcze większe znaczenie gdy dopuszczamy sytuację, w której pozwalamy na wykonywanie kodu, którego nigdy nie testowaliśmy, z którym nigdy nie mieliśmy do czynienia. Oczywiście w takim przypadku otrzymujemy bardzo dobre wsparcie ze strony .NET Framework, a mianowicie obsługę tzw. Domen aplikacji. Domena aplikacji (ang. Application...
Programowanie rozproszone 5286 dni, 9 godzin, 16 minut temu 84 źrodło rozwiń
Może się zdarzyć, że aplikacjazostała skompilowana, by obsługiwać pewną wersję .NET Framework, jednak by chcemy ją zmusić by działała pod inną wersją. Okazuje się, że można to zrobić bez rekompialacji. Jak? Wystarczy wykorzystać element SupportedRuntime w pliku konfiguracyjnym aplikacji (app.config). Element supportedRuntime umieszczamy wewnątrz elementów
Minęło właśnie sześć tygodni od opublikowania notki omawiającej szkic architektury systemu, nad którym właśnie pracuje. Tak, jak zakładaliśmy, wchodzimy właśnie z naszym systemem w fazę testów akceptacyjnych. Wdrożenie produkcyjne zbliża się wielkimi krokami. Przy tej okazji chciałbym Wam opowiedzieć, co zmieniło się w projekcie naszego systemu w ciągu tych pracowitych sześciu tygodni. Architektura Większość definicji architektury odnosi si...
Architektura 5287 dni, 7 godzin, 18 minut temu 87 źrodło rozwiń
Dziś będzie prosty artykulik o katalogach, plikach, assembly, typach, interfejsach itp... Czyli pokazane zostanie jak wykorzystać te wspomniane elementy, by zaimplementować prosty mechanizm wtyczek (plugin'ów) dla aplikacji. Założenia: Chcemy mieć aplikację, która wykorzystuje mechanizm wtyczek; Wtyczka ma dostarczać pewien tekst (może robić co tylko zechcemy, ale przykład z założenia ma być prosty); Wtyczka będzie plikiem DLL, który znajdować się będzie w tym samym katalogu co aplikacja korzystając...
W tym wpisie zawarłem krótki przegląd GIT-a i czemu warto się nim zainteresować. GIT jest rozproszonym systemem kontroli wersji. Rozproszoność jest tym, czym odróżnia go od np: subversion. GIT trzyma pełną kopię historii repozytorium w każdej kopii lokalnej dzięki temu możemy commitować będąc niepodłączonymi do centralnego serwera. Zmiany można przesyłać (push) do jednego centralnego repozytorium, ale możemy synchronizować też z innymi równorzędnymi repozy...
IntelliTrace, znane również pod nazwą historycznego debugger'a, to narzędzie jakie pojawiło się w Visual Studio 2010, a które stanowi rozwinięcie "tradycyjnych" debugger'ów o możliwość nagrywania historii wykonania programu w celu jej późniejszej analizy. Post ten rozpoczyna serię dotyczącą tej technologii, a w której chcę opisać zaawansowane techniki użycia IntelliTrace. IntelliTrace posiada dwa tryby pracy: podstawowy oraz rozszerzony. W trybie podstawowym stan programu zapisywany jest w momencie wys...
Czasem jest potrzeba przeniesienia jakiejś klasy z jednej biblioteki (assembly) do drugiej. Jest to dość powszechna czynność, ale może sprawić problem, a mianowicie co zrobić, jeżeli nie możemy przekompilować aplikacji, która z pewnej biblioteki korzysta, a właśnie wykorzystana klasa została przeniesiona do innej biblioteki. Na szczęście jest na to lekarstwo: TypeForwardedTo. Przeanalizujmy przykład. Mamy proste solution: Aplikacja TypeForwardedTo ma referencję do ClassLibrary1, w której znajduje się pr...
Czasami mam dość pisania switchów, tylko po to by wywołać odpowiednią metodę - przeważnie o takiej samej sygnaturze[...]. Niby fajnie, ale jakoś nie za fajnie, ja chciałbym móc zrobić coś w stylu: Wywołaj polecenie dla Wartości x; Jedna linijka, proste i przyjemne w użyciu
Bardzo długo moim ulubionym kontenerem był Unity, mimo faktu, że dużo mądrych ludzi ze społeczności wieszało na nim psy. Dlaczego tak polubiłem Unity? Ponieważ powstawał na moich oczach. Znam go począwszy od wczesnych “zajawek” wypuszczanych przez grupę Patterns & Practices. Wcześniej nieco interesowałem się ich biblioteką ObjectBuilder, więc naturalnie moja uwaga przeszła na Unity. Byłem w stanie przeczytać i zrozumieć kod pierwszej w...
Architektura 5293 dni, 13 godzin, 51 minut temu 196 źrodło rozwiń
Już dwa razy (tu i tu) deklarowałem gotowość do zdawania egzaminów kończących się jakimś certyfikatem. Bardzo długo na "gotowości" się kończyło. Ostatnio jednak, obserwując nieuchronny upływ czasu oraz licznik zdanych egzaminów od pięciu lat wskazujący niezmiennie wartość 1 zadałem sobie pytanie: czy istnieje prawdopodobieństwo większe od zera, że jestem w stanie poświęcić kilka tygodni/miesięcy na NAUKĘ tylko po to, aby podejść do egzaminu? Odpowiedź była prosta: zdecydowanie nie. Jakoś ciężko mi wyobra...
TestForm form = new TestForm(); if (form.ShowDialog() == DialogResult.OK) { ... } Czy powyższy króciutki fragment kodu powodujący wyświetlenie okna dialogowego jest poprawny? Niestety, jeszcze do niedawna powiedziałbym bez mrugnięcia oka, że oczywiście tak. Niestety ponieważ ta odpowiedź jest niepoprawna...
O Git i innych DVCS(np: Mercurial) ostatnio głośno w .Netowym świecie, chociaż same rozwiązania zdecydowanie nie są nowe. Okazuje się, że jest możliwość wygodnego używania GIT w Visual Studio. Dysklajmer To o czym pisze napewno będzie razić wszystkich którzy używają Gita z linii komend. Oczywiście jest to nadal jedna z możliwości. Można sobie zbudować makra i odpalać odpowiednie polecenia z Visual Studio. Jednak nie o tym chciałem napisać.GitExtensions Git...
Należy starać się, abyśmy to MY dyktowali narzędziom JAK mają działać, a nie odwrotnie. Zbyt często okazuje się jednak, że jest inaczej...
Zauważyłeś, że nowi programiści .NET mają tendencję do używaniu dziedziczenia do... hmm... wszystkiego? W pewnym stopniu jest to zrozumiałe, ponieważ dziedziczenie jest wykorzystywane w całym frameworku; wszystko w .NET dziedziczy z jednej głównej klasy. Jest jednak drobna różnica: my piszemy jakąś tam logikę biznesową, nie tworzymy języka. To co jest właściwe podczas tworzenia języka może nie być odpowiednie dla prostego kodu, który przede wszystkim musi...