Autor: Dzisiaj kolega podesłał mi swoistą zagadkę w postaci dwóch, pozornie robiących to samo, fragmentów kodu. Jeden napisany w C#, a drugi w VB.NET: int counter = 0; while (++counter Dim counter As Integer = 0 While (++counter Różnica polega na tym, że pętla w C# wykona się 9 razy, a w VB.NET otrzymamy pętlę nieskończoną. Dlaczego? Przyjrzyjmy się dokładniej pętli napisanej w języku VB.NET. Ci z was, którzy programują lub programowali w tym języku zapewne zwrócili uwagę na użycia operator...
Strona głównaUżytkownik
macko | użytkownik
autor: W związku z rozwojem mojego projektu, pisanego przy okazji pracy magisterskiej, zapragnąłem mieć zabezpieczenie przed robotami na stronie odpowiadającej za rejestrację nowych użytkowników. Oczywiście mogłem skorzystać z gotowych, profesjonalnych rozwiązań, ale nie mogłem sobie odpuścić okazji do napisania mojej pierwszej “pełnoprawnej” kontrolki (formantu). Zobaczyłem właściwie jeden projekt na Codeplexie, ale nie spodobał mi się on, więc zakasałem rękawy i stworzyłem poprawioną, niezależną od nie...
Podczas projektowania interfejsu w aplikacji WPF/Silverlight, zdarzają się sytuacje, w których jesteśmy zmuszeni do poszukiwania rozwiązań, które umożliwią wyświetlenie kontrolek bez burzenia przyjętych wcześniej konwencji. Czasami jest trudno, lecz dzięki elastyczności jaką oferuje technologia WPF/Silverlight możemy zmieniać interfejs w bardzo szerokim zakresie bez konieczności implementowania własnych kontrolek. Istnieje kilka kontrolek, które mogłyby zostać wykorzystane w danym przykładzie (np. C...
autor: Ostatnio firmie dostałem zadanie przygotowania teamu do projektu, który właśnie rozpoczęliśmy. Długo się zastanawiałem jak to zrobić by zarówno osoby zapoznały się z środowiskiem pracy jak i z narzędziami. Jako, że osoby biorące udział w projekcie są bardziej Junior Dev niż Dev a tym bardziej senior wpadłem na pomysł by w ciągu dwóch tygodni napisali mini projekt. Tak naprawdę prosty sam w sobie, i kiedy się wykorzystuje wbudowane narzędzia w VS w ciągu jednego dnia, maks dwóch można go napisać. ...
W .NET nie tylko klasy mogą być określane, jako partial, ale również metody. Wygląda to tak:partialclass Account { privatedecimal _balance; publicstring Balance { get { return _balance; } set { OnBalanceChanging(value); _balance = value; OnBalanceChanged(); } } partialvoid OnBalanceChanging(decimal balance); partialvoid OnBalanceChanged(); } I klasa ...
Autor: Jak przez mgłę widzę czyjąś twarz. Rusza ustami, chce mi coś przekazać. Początkowo dociera do mnie tylko głuchy bulgot, jakbyśmy byli pod wodą. Powoli jednak skrawki wypowiadanych słów w jakiś sposób trafiają do moich uszu. Im więcej rozumiem, tym głębszy mają sens. Chcę słuchać, jeszcze i jeszcze. Przeżywam moment olśnienia. Skąd on wie co mówić? Skąd zna odpowiedzi na wszystkie dręczące mnie pytania? Kto to jest? Zresztą, nieważne. Niech mówi, niech mówi... Niech nie przestaje... Wzrok zdaje mi...
Okazuje się, że bardzo prosto, ale zacznijmy od początku. Niedawno zakończyłem pracę nad serwerem zajmującym się wykonywaniem tzw. zadań wsadowych. Definicje zadań do wykonania pobierane są z bazy danych, a w danym momencie może działać wiele serwerów. Każdy serwer rezerwuje sobie swoje zadania na pewien kwant czasu. Po upływie tego czasu inne serwery mają prawo przejąć to zadanie. Może się tak zdarzyć na przykład jeśli jakiś serwer ulegnie awarii. Jeśli wykonanie danego zadania zajmuje w...
Programowanie rozproszone 5006 dni, 7 godzin, 5 minut temu 131 źrodło rozwiń
autor: Ostatnio, podczas pracy z Unity 2.0 postanowiłem zaszaleć. Zamiast pisać klasę Bootstrapper’a i mapować implementacje na interfejsy w kodzie programu, zapragnąłem skonfigurować Unity przy pomocy pliku App.config. Dla niezorientowanych. Unity to kontener IoC od Microsoftu dostarczany razem z Enterprise Library. Proces konfiguracji Unity jest w miarę prosty. Ogranicza się do zdefiniowania aliasów, czyli skróconych nazw interfej...
Bazy danych i XML 5008 dni, 7 godzin, 47 minut temu 112 źrodło rozwiń
W nowym SharePoint 2010 skryptowe zarządzanie zostało przeniesione z STSADM do coraz popularniejszego PowerShella.W tym artykule napiszę postaram się zamieścić podstawowe użyteczne skrypty dla developera SP2010.By zacząć pracę z SharePoint 2010 w consoli PowerShell należy uruchomić wersję x64 konsoli i zainportować polecenia:Add-PSSnapin Microsoft.SharePoint.PowerShellTeraz można już przetestować działanie enumerując kontrolki:Get-SPFarmOczywiście jeżeli nie chcesz wpisywać tego za każdym razem gdy c...
Jeśli, tak jak ja, szaleńczo zdecydowaliście sie na tworzenie gry w Silverlight zamiast w XNA, czeka Was kilka niespodzianek zarówno podczas samego developmentu, jak i publikowania aplikacji. Opowiem krótko o moich przygodach, z nadzieją, że ktoś inny nie wpadnie w te same pułapki, co ja. Większość naszej intrygi rozgrywa sie w pliku WMAppManifest.xml. Bardzo ważny plik – koniecznie go poznajcie! 1. Kategoria aplikacjiW przypadku aplikacji Silverlight domyślnie zobaczycie taki wpis: To powoduje, że W...
Silverlight 5011 dni, 5 godzin, 28 minut temu 91 źrodło rozwiń
Niedawno świętowaliśmy przekroczenie liczby 2000 artykułów na dotnetomaniaku. Przed nami kolejna okazja do świętowania. To dzisiaj – dokładnie dwa lata temu na nowo powstałej stronie pojawił się pierwszy artykuł dotyczący technologii .NET, będący początkiem naszej wspólnej przygody. Pierwsze kroki dotnetomaniaka były małe i niepewne. Dzisiaj, bogatszy w wiedzę chodzi całkiem pewnie a w jego archiwum pojawia się coraz więcej artykułów, z których my – dotnetomaniacy korzystamy bardzo chętnie. Idea strony b...
Dlaczego lubię kontener DockPanel? Ponieważ dobrze (intuicyjnie) współpracuje z kontrolką ScrollViewer, która dostarcza pionowych i poziomych pasków przewijania. Załóżmy, że główne okno naszej aplikacji zawiera listę (kontrolka ListView) z kilkuset wierszami. Wierszy jest na tyle dużo, że w danym momencie na ekranie widoczna jest tylko część z nich. Aby użytkownik mógł przewijać listę i zobaczyć wszystkie wiersze używamy kontrolki ScrollViewer ScrollViewer zachowa się jednak inaczej w...
Windows Azure oferuje trzy podstawowe mechanizmy przechowywania danych. Każdy z nich przeznaczony jest dla innego typu danych i każdy z nich oferuje inne możliwości. Dzisiaj skupimy się na niestandardowym zastosowaniu blobów, czyli pojemników na dane binarne. Jeśli nie wiecie czym są bloby, możecie zapoznać się z ich opisem tutaj. Problem Problem z jakim się dzisiaj zmierzymy znany jest wszystkim, którzy mieli do czynienia z aplikacją przechowującą pliki wgrywane przez użytkowników. Najwięcej kłopotu w t...
Programowanie rozproszone 5019 dni, 18 godzin, 24 minuty temu 35 źrodło rozwiń
Autor: Kilka dni temu postanowiłem zainteresować się tematyką automatycznego generowania dokumentów PDF z poziomu języka C#. Rozpocząłem przeszukiwanie internetu w celu znalezienia gotowej biblioteki realizującej taki proces. W sieci prym wiedzie PDFsharp, który poza tworzeniem dokumentów w formacie PDF, pozwala także m.in. na generowanie wykresów, osadzanie grafik oraz czcionek. Specyfikację biblioteki, przykłady oraz FAQ znaleźć można na tej stronie. Zachęcony bogactwem możliwości postanowiłem sprawdz...
Czas najwyższy rozwiązać zagadkę numerologiczną z poprzedniego wpisu :). Zacznijmy od krótkiego kodu KOD 1 (Wyjątek przechwycony) class SEH { publicstaticvoid Main(string[] args) { try { thrownew Exception(); } catch (Exception ex) { System.Diagnostics.Debugger.Log(0, "Test", "Błąd aplikacji .NET & SEH"); } } } Odpalamy WinDbg, ładujemy naszą aplikację i jedziemy: 0:000> sxe * 0:000> g ModLoad: 77dc0000 77e6c000 C:\WINDOWS\system32\ADVAPI32.dll ModLoad: 77e70000 77f02000 C:\WINDOW...
Przyznam szczerze, że dotychczas z komunikacją między różnymi aplikacjami lub ich warstwami spotykałem się głownie w aspekcie usługowo-webowym. Taki scenariusz sprowadza się do takiego a nie innego wykorzystania webservice lub pochodnego ustrojstwa. Co jednak można zastosować jeżeli chcemy aby dwie nasze aplikacje miały możliwość pogadania ze sobą na lokalnej maszynie? Rozwiązań jest sporo albo i jeszcze więcej. Poczynając od SendMessage z Win32 API, współdzielonej pamięci, webservice, TCP, COM, DCOM n...
Programowanie rozproszone 5041 dni, 11 godzin, 57 minut temu 191 źrodło rozwiń
Autor: Dzisiejszego pięknego i powtórnie zimowego dnia zaszła potrzeba stworzenia kontrolki, która miałaby dwa wzorce zawartości: nagłowek i ciało. Wszystko szło pięknie. Stworzyłem sobie kontenery do wzorców, odpowiednią kontrolke i wszystkie inne potrzebne rzeczy. Gdy jednak przyszło do wykorzystania okazało się, że kontrolki umieszczone wewnątrz wzorców nie mają odwołać w pliku designera, ani nie są dostępne „globalnie” na stronie. Jakby nie patrzeć całkiem normalne zachwoanie tego typu zwierza, do ja...
Czasami zdarzają się sytuacje, że pomimo usilnych prób nie możemy zreprodukować błędu u siebie na maszynie lokalnej. Musimy sprawdzić dlaczego nasza aplikacji źle działa na maszynie produkcyjnej. W tym wpisie postaram się przedstawić jakie narzędzia mamy do dyspozycji jeśli jeśli taka potrzeba zajdzie. Zobaczmy co jest zatem dostępne.Visual Studio Remote Debugging Pierwszą naszą opcją jest Remote debugging dostępny w VisualStudio. Wraz z zainstalowanym VS instalują nam się komponenty, które możemy wykorz...
Autor: Kilka dni temu w poście Statystyka… zapowiedziałem, iż postaram się zaproponować kawałki kodu, które umożliwią włączenie statystyk dla zapytań LINQ to SQL. Zadanie okazało się trochę trudniejsze niż myślałem, ale udało się coś osiągnąć. Zobaczmy jak.Rozwiązanie Naïve Pierwsze co przychodzi na myśl to proste rozszerzenie obiektu DataContext o nasze metody. Mniej więcej tak: publicstaticclassDataContextExt { publicstatic T WithStatistics
Bazy danych i XML 5062 dni, 2 godziny, 58 minut temu 44 źrodło rozwiń
Nie… w tym wpisie nie będzie o statystyce odwiedzin bloga i innych podobnych rzeczach, o których można dziś na wielu blogach (u mnie o tym będzie może następny wpis :)). Będzie o klasie o której pewnie niewielu z was wcześniej wiedziało. Do wczoraj nie wiedziałem także i ja. Poznajcie – SqlStatistics. Klasa jest internal sealed tak więc czemu o niej cokolwiek piszę? A no ponieważ do samej klasy dostać się nie możemy natomiast do danych przez nią zbieranych już tak. Śledząc jej zależności Reflector’em zau...
Bazy danych i XML 5064 dni, 6 godzin temu 97 źrodło rozwiń