XLinq - Linq to XMLsobota, 29 sierpnia 2009 Wiele mówi się o technologii Linq (Wikipedia, MSDN), która jest częścią Framework'a 3.5. Tym samym nie jest trudno znaleźć przykłady wykorzystania tego cuda. W tym artykule chciałbym zaprezentować zapytania Linq do plików XML. Ich prostota w konstruowaniu oraz niesamowita efektywność w działaniu dają wiele możliwości zwolennikom formatu XML. Rozpocznę od przykładu deklaracji dokumentu XML. Składnia tworzenia owego obi...
Strona głównaUżytkownik
http://qurylack.wordpress.com/ | użytkownik
Bazy danych i XML 5405 dni, 4 godziny, 36 minut temu 137 źrodło rozwiń
Minęło circa około ~300 dni od kiedy zostałem freelancerem. Przez ten czas dość regularnie otrzymywałem od Was pytania typu "jak to jest?", "jak zacząć?", "jakie są plusy i minusy?"... Czas więc na krótkie zerknięcie wstecz i spisanie kilku porad dla tych, którzy myślą o przejściu na "swoje" i pracy w domu. Freelancowanie może wydawać się szczytem zawodowej rozkoszy, jednak nie wolno myśleć o nim z klapkami na oczach. Przez nierozsądne podejście do tematu można się nieźle sparzyć. Mam nadzieję, że po le...
Po ciężkiim tygodniu nastał weekend :) Skupiłem się dziś na czytaniu Training Kit’a do egzaminu 70-536. Rewolucji żadnej póki co ta książka nie wnosi. Owszem – dość dobrze porządkuje całą zdobytą wiedzę, jednak zagadnienia są dość akademickie. Muszę jednak przyznać, że to jedna z lepszych publikacji MS jakie mam okazję czytać. Pisana jest bez zbędnego nadęcia a autor pozwala sobie nawet na rozbawiające wstawki w rodzaju: ...
Na początku chciałbym serdecznie powitać wszystkich Czytelników mojego bloga w nowym, dotnetowym 2010 roku! Niezmiernie trudno podnieść się po długiej, świątecznej przerwie, ale kiedyś do świata żywych powrócić trzeba. Na początek fantastyczny news: dzisiaj została wydana nowa wersja mojej ulubionej biblioteki javascript – jQuery 1.4! Choć dotychczasowa wersja – 1.3.2 – sprawowała się bardzo dobrze, twórcy stwierdzili, że można tam jeszcze coś poprawić...
E-mail jest popularnym mechanizmem komunikacji. Framework .NET zawiera przestrzeń nazw System.Net.Mail, która zawiera klasy wspomagające tworzenie i wysyłanie wiadomości e-mail. W tym artykule skupimy się wyłącznie na tworzeniu wiadomości. Następna lekcja będzie o wysyłaniu. Podstawowa wiadomość Aby wysłać wiadomość należy utworzyć obiekt MailMessage, określić nadawcę, odbiorcę, tytuł (ang. subject) i treść wiadomość (ang. body). Klasa MailMessage zawiera kilka konstruktorów. Najprostszy pozwala nam utw...
Testowanie kodu wielowątkowego jest nie lada wyzwaniem. Teoretycznie powinno się tego unikać, ale czasami nie ma innego wyjścia. Co robić w sytuacji, gdy w komponencie tworzonym podczas naszego testu uruchamiany jest nowy wątek, a w nim wyskakuje wyjątek? Test oczywiście nie przechodzi, ale wcale niekoniecznie musimy wiedzieć dlaczego tak a nie inaczej się stało. Kiedyś pół godziny straciłem na wgapianie się w monitor zanim wpadłem na to, że w wątku pobocznym wyskakuje wyjątek. Bo jak wiadomo, wyjątek rz...
Autor:Dziś chciałbym podzielić się z Wami moimi refleksjami na temat sposobu zarządzania transakcjami w NHibernate, ze szczególnym uwzględnieniem nietrywialnego przypadku, kiedy w ramach jednej transakcji wykorzystujemy zarówno NHibernate, jak i NServiceBus. Posłużę się w tym celu kodem DDDSample.Net.
Framework .NET zapewnia zarządzalne odpowiedniki dla niemal każdej funkcji Win32, którą chcielibyśmy wywołać. Jednak duża ilość istniejącego kodu niezarządzalnego (ang. unmanaged) zmusza osoby tworzące oprogramowanie, aby znały metody korzystania z obiektów COM (Component Object Model). Jako przykładem posłużymy się Microsoft Speech Object Library (%Windir%\System32\Speech\Common\Sapi.dll) – biblioteką dającą dostęp do systemowego mechanizmu syntezy mowy.Niech nasza aplikacja przemówi! Aplikacja może do ...
Pewnie część z Was zdaje sobie z tego sprawę, ale dla mnie było to ciekawe odkrycie. Firma ThoughtWorks publikuje corocznie raport dotyczący technologii, praktyk i metodyk związanych z IT. Raport ten ma formę "radaru" — koła podzielonego na 4 pierścienie. Idąc od zewnątrz są to: hold (obserwować z daleka), asses (przyjrzeć się bliżej), trial (przetestować) oraz adopt (wdrożyć). Czytając "radar" można dowiedzieć się wielu ciekawych rzeczy lub podłechtać swoją dumę, jeśli przewidywania "...
Prawdopodobnie wielu z Was zna bądź słyszało już o społeczności StackOverflow, której wspólnymi siłami, w bardzo krótkim czasie, udało się stworzyć jedną z najciekawszych i najprzydatniejszych stron typu Q&A (pytania i odpowiedzi). Dzięki uprzejmości twórców tego serwisu, mamy przyjemność zaprezentować Wam jego polską wersję — devPytania. Ogólną ideę przyświecającą temu przedsięwzięciu najlepiej chyba przedstawił Jeff Atwood (jeden z tworców SO): StackOverflow najłatwiej chyba zdefiniować jako prze...
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...
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 ...
Przechowywanie ustawień aplikacji, czy ustawień połączenia z bazą danych (ang. connection string), to częsty wymóg. Zapisywanie ich “na sztywno” w kodzie aplikacji jest złą praktyką. Na szczęście .NET Framework udostępnia nam zestaw klas, które ułatwiają przechowywanie tych ustawień w specjalnych plikach XML. Mamy dwa główne typy takich plików:Globalny plik Machine.config, który jest wspólny dla wszystkich aplikacji korzystających z .NET Framework, Plik
Dzisiaj króciutki rozdział o usługach windows. Windows Service jest procesem uruchomionym w tle bez interfejsu i we własnej sesji użytkownika. Usługa może być uruchomiona automatycznie, podczas startu komputera, nawet bez zalogowania użytkownika. Sam windows ma kilkadziesiąt usług np. Workstation, World Wide Web Publishing. Usługi windows funkcjonują inaczej niż inne typu projektów.Skompilowany plik wykonywalny usług musi być zainstalowany przed instalacją projektu aby mógł on funkcjonować w sensowny sp...
Jak używać domeny aplikacji do uruchomienia Assemblies z ograniczonymi uprawnieniami Ograniczenie uprawnień domeny aplikacji może znacznie ograniczyć ryzyko, że assemblies, której używamy nie wykona żadnych złośliwych działań. Training kit przytacza taki przykład: Kupujemy assembly od kogoś i używamy jej do komunikacji z bazą danych. Jakiś gość znajduję lukę w kupionej assembly i używa do skonfigurowania “spyware’owej” aplikacji, która uruchamia się automatycznie przy starcie. W momencie gdy uży...
W środę na spotkaniu naszej grupy zaprezentowałem czym jest WPF, do czego może się przydać oraz pokazałem przykłady kodu. Windows Presentation Foundation jest jednym z elementów wprowadzonych w .NET 3.0. Przede wszystkim umożliwia rozdzielenie kodu aplikacji od projektu interfejsu użytkownika. Dzięki narzędziu Microsoft Expression Blend Designer może projektować interfejs aplikacji w sposób dla niego wygodny (graficzne przeciąganie elementów, kolorowanie, ustawianie stanów animacji na timeline, itp). W W...
Zaczynamy rozdział nr 7 w naszym Training Kicie, który będzie dotyczył wątków. Od tej pory przejdziemy z tematów łatwiejszych do nieco trudniejszych:) Dziś wpis bardzo krótki, wprowadzający tylko do wątków. Po co nam wątki? Dzięki wątkom możemy np. uruchomić jakiś kod w tle, nie blokując w międzyczasie innych czynności naszego programu. Jednak używanie wielowątkowości jest dosyć skomplikowane i w pewnych określonych sytuacjach zamiast zwiększać wydajność, zmniejsza ją. No ale oczywiście więcej mamy plusó...
Dzisiaj chciałbym opowiedzieć o zarządzaniu wątkami. Zaimplementowanie wielu wątków które działają w tle nie jest rzeczą trudną. Lecz rzeczywista aplikacja musi mięć możliwość pauzowania, przerwania, wznawiania wątku czy też korzystania z wyników po zakończeniu jego przetwarzania. Tutaj możemy natrafić na konflikt zasobów a uniknięcie ich może nieraz okazać się skomplikowaną sztuką. Przejdę lepiej już do konkretów bo w dzisiejszym artykule jest dużo kodu do analizy a i teorii nie mało.Uruchamianie i zatr...
Autor: W poniższym artykule chciałbym poruszyć kwestię związana z walidacją obiektów. Oczywiste jest, że walidacja jest niezbędnym elementem każdej dobrze zaprojektowanej aplikacji biznesowej. Jednak nie sam sposób walidowania obiektów jest przewodnim tematem tego artykułu. Chciałbym przedstawić pewien dość oczywisty sposób informowania użytkownika o bł...
Na wss.pl pojawił się wątek dotyczący działań na typach datetime. Jeden z uczestników dyskusji stwierdził, że operacja odejmowania dwóch wartości datetime daje w wyniku czas. Jak pokazałem, zapytanie SELECT GETDATE() - GETDATE() daje w wyniku 1900-01-01 00:00:00.000 czyli nadal typ datetime (należało się tego spodziewać) a dopiero po jawnym zrzutowaniu na float widzimy numeryczną reprezentację z różnicy dat (dlaczego nie na time, o tym mała uwaga na końcu notki). Ale pomyślałem sobie, że w pewnych ...
Bazy danych i XML 5467 dni, 8 godzin, 40 minut temu 99 źrodło rozwiń