Jedną z nowości w Windows 7 są tzw. Search Connectors – łączniki wyszukiwania. Pozwalają one przeszukiwać zasoby Internetu, dając nam przy tym wrażenie pracy z lokalnymi plikami. Postanowiłem zrobić taki Connector dla bloga grupy – Eastgroup.pl. Jako wynik moich prac powstały dwa Connectory, które stanowią różne podejścia do przeszukiwania witryny.Mechanizm wbudowany Pierwsze rozwiązanie problemu bazuje na wbudowanych mechanizmach systemu BlogEngine .NET.Pobieramy plik http://eastgroup.pl/opensearch.axd ...
Mam nadzieję, że poprzednim odcinku udało mi się przekonać Was do zainteresowania behawiorami od strony czysto konsumenckiej. Jak już wspominałem spora część użytkowników Expression Blend korzysta na co dzień z tej technologii nie mając o tym zielonego pojęcia – i bardzo dobrze! Tym razem razem postaram się pokazać, że wbrew pozorom tworzenie własnych behawiorów nie jest czynnością skomplikowaną, a potrafi skutecznie podnieść komfort naszej pracy. W opisywanym poniżej, zupełnie podstawowym przykładzie sk...
Silverlight 5402 dni, 10 godzin, 35 minut temu 78 źrodło rozwiń
Seria postów poświęconych dostępowi do danych w OPC przy pomocy kodu w C# na platformie .NET. Przedstawione przykłady zawierają gotowe do wykorzystania aplikacje i kod źródłowy. Artykuł został podzielony na części.
Programowanie rozproszone 5403 dni, 14 godzin, 1 minutę temu 283 źrodło rozwiń
Okazjonalnie zachodzi potrzeba, aby do jakiegoś celu wygenerować niepowtarzalny ciąg znaków. Jednym z zastosowań może być tutaj nadanie plikowi nazwy gwarantującej brak kolizji z jakąkolwiek inną nazwą pliku w systemie albo chociaż w aktualnym katalogu. W przypadku gdy ów plik ma istnieć tylko przez chwilę - a więc być plikiem tymczasowym (tempfile), sprawa jest prosta i sprowadza się do wywołani...
Powtarzanie kodu w kilku miejscach zwykle jest sygnałem zaniedbania i nie powinno mieć miejsca. Nawet (a może: w szczególności!) gdy kod ten jest prosty, głupi, niewymagający myślenia i będący efektem tzw. clipboard inheritance (ctrl+c, ctrl+v). Tyczy się to również konstruktorów klas. Tą część kodu łatwo jest przegapić, bo wszelakie ułatwiacze umożliwiają automatyczne ich wygenerowanie. A co jeśli mamy ich kilka? Poniższy przykład obrazuje stan, do którego NIE CHCEMY doprowadzić...
Architektura 5403 dni, 14 godzin, 1 minutę temu 92 źrodło rozwiń
Kilkukrotnie już zdarzyło się, iż potrzebowałem klasy, która umożliwiłaby zapamiętanie typowanych (typed, generic) struktur hierarchicznych (hierarchical collection) czyli dowolnego obiektu wraz z jego elementami potomnymi. W ramach platformy .NET istnieją już klasy implementujące podobną funkcjonalność. Mowa tu oczywiście o TreeNode z TreeNodeCollection oraz o, bardziej hermetycznym, MenuItem wraz z wewnętrznym MenuItemCollection. Klasy przeznaczone do obsługi menu trudno byłoby użyć do własnych rozwiąz...
W tej lekcji zostanie opisane używanie standardowych oraz własnych liczników wydajności (performance counters).Monitorowanie liczników Windows zawiera bardzo dużo performance counterów, które umożliwiają monitorowanie systemu operacyjnego w czasie rzeczywistym. Możemy obejrzeć countery za pomocą wbudowanych mechanizmów Windowsa. W tym celu należy: 1. Klikamy start->Prawym przyciskiem myszy na Komputer-> Zarządzaj 2. W narzędziach systemowych rozwijamy zakładkę wydajność 3. Rozwijamy narzędzia m...
Jeśli używacie kontrolki WebBrowser z Compact Frameworka 2.0 zapewne spotkaliście się z ContextMenu pojawiającym sie za każdym razem gdy przytrzymacie zbyt długo rysik (zdarzenie Tap&Hold). Moim zdaniem jest to dość uciążliwe, w pewnych przypadkach pojawiające się ContextMenu jest wysoce niepożądane. Jako że potrzeba matką wynalazków postanowiłem sam zmierzyć sie z tematem i...
Mobile development 5404 dni, 20 minut temu 44 źrodło rozwiń
“Bo kultura tu naprawdę jest, świadczy o tym nasz wspaniały Dom Kultury” śpiewał w 1988 roku w Jarocinie zespół “Zielone Żabki”. Ktoś pamięta? Dziś też będzie o kulturze, ale przez literę c czyli o Culture. Tekst zaś dotyczył będzie tak prozaicznej kwestii jak polskie znaki narodowe. Zacznijmy od początku. Utwórzmy, np. w Notatniku, plik w formacie CSV zawierający nazwy ptaków z polskimi znakami narodowymi: id,nazwa 1,Gżegżółka 2,Żuraw 3,Łabędź I spróbujmy go wczytać korzystając ze standar...
"Podczas mojej nieobecności, team ASP.NET MVC kontynuował ciężką robotę i jest już gotów, aby ogłosić wersję RC dla ASP.NET MVC 2. Wypróbuj ją!"
Ogólnie o 70-562 Celem egzaminu numer 70-562 jest potwierdzenie kompetencji w zakresie programowania aplikacji internetowych za pomocą ASP.NET na platformie .NET 3.5. Jak czytamy na stronie poświęconej egzaminowi profil idealnego kandydata do zdania tego egzaminu to osoba pracująca w średnich-dużych zespołach z dwu-, trzyletnim doświadczeniem w dziedzinie tworzenia aplikacji webowych. Prócz tego egzamin obejmuje wszystkie zagadnienia dotykające tematyki webaplikacji, między innymi:Dostęp do danych za pom...
Większość programistów po zdobyciu pewnego doświadczenia odczuwa potrzebę oficjalnego poświadczenia swoich umiejętności. Taką możliwość dają certyfikaty – są honorowane na całym świecie i obiektywnie potwierdzają zdobytą wiedzę i praktyczne umiejętności. Ponieważ na co dzień zajmuję się technologiami „okołodotnetowymi” – głównie pisaniem aplikacji webowych przy użyciu frameworka 2.0, postanowiłem podejść do egzaminu Microsoftu o łatwo zapamiętywalnym tytule 70-536 – TS: Microsoft .NET Framework – Applica...
Systemowy podgląd zdarzeń (np. event log)jest repozytorium informacji o systemie operacyjnym, czynnościach aplikacji i błędach. Przykładowo znajdują się tam informacje o starcie systemu, czy jego zamknięciu. Aplikacje informują np. o zmianie ważnych ustawień. Korzystanie z systemowego podglądu zdarzeń jest alternatywą dla tworzenia własnych plików, dodatkowo wspierane jest przez .NET Framework, dzięki czemu nie musimy pisać dużo własnego kodu, aby z niego korzystać. Dziennik systemu WindowsRejestrowanie ...
Uwielbiam WPF’a. Uważam, że w tej technologii brzmi wielki potencjał, który z czasem ujawni się i skłoni więcej firm to zainteresowania się tą technologią. Im więcej jednak w niej siedzę tym więcej pojawia się rzeczy które sprawiają, że zatrzymuję się na chwilę i próbuję dociec czemu tak ktoś daną rzecz zrobił. Ostatnio miałem takie przejście z Bindingiem.Prosty przykład Chciałem sobie zbindować przycisk, ale tak aby wartość była otoczona dodatkowym tekstem. Oczywiście WPF pozwala nam na to za pomocą Str...
Jakiś czas temu z dużego projektu nad którym obecnie pracuję zostały całkowicie usunięte i zaorane biblioteki Enterprise Library. I życie stało się prostsze. Wykorzystywaliśmy je jedynie do logowania i obsługi wyjątków i JAKOŚ trzeba było te funkcjonalności w systemie zachować. O ile w przypadku logowania wybór jest dość naturalny (wypasiony log4net), o tyle z wyjątkami nie było już tak "oczywiście".
Ostatnio natknąłem się na coś, co... blew my mind (wydymało mi umysł?). Bardzo krótko wspomniał o tym Bartek Pampuch na ostatnim MTS i utkwiło mi w pamięci, ale dopiero kilka dni temu niechcący przyjrzałem się "owemu czemuś" bliżej. Owo cuś to biblioteka Reactive Extensions (Rx) implementująca założenia programowania reaktywnego by Microsoft.
NServiceBus - przykład 1: request/response Dlaczego w ogóle omawiam ten przykład? Przecież wszystkie moje dotychczasowe notki dotyczące NServiceBus przekonywały Was, że ten schemat komunikacji jest zły. Otóż czasem jest on nieunikniony. Najlepszym przykładem zastosowania request/reposnse są wszelkiego rodzaju funkcje autoryzujące. Logiki związanej z autoryzacją (niezależnie od tego, co autoryzujemy — czy to użytkownika, czy transakcję, czy cokolwiek innego) nie chcielibyśmy rozpraszać w wielu elementach ...
Programowanie rozproszone 5410 dni, 11 godzin, 13 minut temu 103 źrodło rozwiń
W tej lekcji opiszemy sposoby korzystania z plików konfiguracyjnych oraz narzędzi do konfigurowania .NET FrameworkaKonfiguracja ustawień .NET Framework’a Możemy skonfigurować ustawienia .NET używając do tego pliku konfiguracyjnego .config. Przykładowo, .NET domyślnie uruchamia aplikację używając tej wersji .NET, w której została zbudowana. Aby umożliwić aplikacji uruchomienie się w innej wersji Frameworka wystarczy, że dodamy jedną sekcję do pliku konfiguracyjnego: 1: Do określania gdzie runtime ...
Podążając za poprzednim wpisem, zamieszczam dwie przydatne metody do zamiany tablicy byte'ów (byte[]) na zapis szesnastkowy w stringu oraz metodę odwrotną. Metody są całkiem szybkie, na pewno wiele wydajniejsze od używania ToString("x2") czy Convert.ToByte(...). Moja metoda BytesToHex() jest wzorowana na metodzie BitConverter.ToString(), która to niestety przymusowo wstawia nam kreski między każdym bajtem w zapisie szesnastkowym. Natomiast...
Jakiś czas temu zacząłem cykl poświęcony implementacji klienta OPC (Cz. 1. Przygotowania, Cz. 2. Implementacja), w tym post'cie chciałbym wrócić do tematu i przedstawić przykład gotowego programu, który realizuje opisywane możliwiści: Klient OPC z linii poleceń (OPC command-line client) Aplikacja ta ma za zadanie odczytywać dane serwera OPC i udostępniać je jako standardowa aplikacja pracująca w "linii poleceń" systemu Windows. zięki temu będziemy mogli za pomocą argumentów podawać co chcemy otrzymać, a ...
Programowanie rozproszone 5411 dni, 15 godzin, 41 minut temu 79 źrodło rozwiń