Jednym z założeń wzorca Design by contract jest sprawdzanie poprawności przekazanych do funkcji argumentów. Zapewne w wielu miejscach Twojego kodu możesz spotkać konstrukcje sprawdzające czy przekazane argumenty nie są równe null - praktycznie identyczne w każdej funkcji. W serii artykułów zostanie przedstawiony jeden ze sposobów unifikacji i uniknięcia powtórzeń.
Jak zapewne większość wie Qt jest to zestaw bibliotek programistycznych wspomagających tworzenie aplikacji w C++, Java ... , która może być wykorzystywana na różnych systemach operacyjnych (tzw. idea 'cross-platform'). O ile kompilacja w środowisku Linux jest dosyć prosta, należy z repozytoriów zainstalować Qt i za pomocą dwóch komend kompilować napisany program, tak chcąc zintegrować środowisko MSVS2008 oraz bibliotekę Qt trzeba zapewnić odpowiednio skonfigurowane pliki nagłówkowe. Instrukcja ta zamiesz...
Z racji tego, że moja nauka .NET’a była straszliwie chaotyczna(czytaj jak czegoś potrzebowałem, to doczytywałem, nie zawsze to co trzeba:P) postanowiłem odrobić lekcje z kwestii podstawowych. Na pierwszy ogień jak widać poszły wątki, więc nieco o nich dzisiaj. Tworzenie nowego wątku. Wersja najprostsza: korzystając z klasy ThreadPool i statycznej funkcji QueueUserWorkItem odpalamy funkcję o sygnaturze odpowiadającej:publicdelegatevoid WaitCallback(object arg); Do dyspozycji mamy dwie wersje funkcji, z p...
Dzisiaj kontynuacja ostatniego wpisu, traktującego o najprostszych operacjach na wątkach. Bez zbędnych wstępów przejdę więc do klasy ReaderWriterLock. ReaderWriterLock Klasa ta daje możliwość, której nie daje nam klasa Monitor, mianowicie rozróżnianie pomiędzy blokadą do odczytu(umożliwia ona wielu wątkom jednoczesny dostęp do zasobu) oraz zapisu(tylko jeden naraz możliwy, oczywiście wtedy odczyt jest również zablokowany. Aby jej użyć wystarczy instancja ReaderWriterLock w klasie, do której dostęp ma ...
W jaki sposób możemy pokolorować tekst, który wyświetlamy za pomocą Console.Write oraz WriteLine.
W jakis sposób użyć zdarzeń do obsługi logiki aplikacji z poziomu różnych, często niepowiązanych ze sobą modułów.
Ostatnio Krzyśkowi Sopyła (^ksirg) zacząłem pomagać w pracy nad klientem (BlipFace) napisanym w WPFie do Blipa. Jedną z pierwszych rzeczy za jakie się zabrałem (której między innymi mi w BlipFace brakowało) było dodanie do ikony BlipFace w tray’u menu kontekstowego oraz wyświetlanie ładnych powiadomień o przyjściu nowych statusów. Kontrolka (System.Windows.Forms.NotifyIcon), z której korzystał Krzysiek niestety za bardzo się nie nadawała (szczególnie do tego drugiego). Dlatego skorzystałem z jedynie słus...
Rozwiązanie problemu pojawiającego się gdy często kopiowane są biblioteki *.dll do katalogu $:\Windows\assembly (inaczej GAC)
Jak możemy przeprowadzić testowanie klas abstrakcyjnych przy pomocy Mock'ów.
O tym jak można konwertować listy za pomocą TypeConverter'a znajdującego się w Base Class Library.
Witam w kolejnej odsłonie “Coding Standards”. Nadal nie mam czasu na skończenie kontrolki GoogleMaps, któa wygrała ankietę, dlatego proponuję wpis kontynuujący szumnie zapowiadaną serię ;-) W dzisiejszym odcinku zajmiemy się ogólnymi zasadami “dobrego” programowania. Mam nadzieję, że uda mi się ogrom informacji sensownie posegregować. Let’s go. 1. Wszystkie pola w klasach deklaruj jako prywatne Wyjątek: pola oznaczone jako readonly lub const. 2. Przeciążone metody powinny mieć podobne zachowanie i być w...
Temat niby prosty ale podczas konfiguracji header host występują dwie rzeczy które trzeba wykonać, a rzadko się o nich pisze. W poście zaprezentowany jest sposób tworzenia aplikacji sieci web (ang. WebAplication), następnie zbioru witryn (ang. SiteCollection) w taki sposób żeby do witryny można było się odwołać za pomocą własnego zdefiniowanego adresu np.: mnikolajuk.moss.dev.pl na porcie 80.
Po wydaniu kolejnej wersji BlipFace jeden z użytkowników napisał, że przydało by się aby BlipFace zapamiętywał położenie oraz rozmiar okna między uruchomieniami. Po chwili szukania znalazłem post Erwyna van der Meera na temat Remembering window positions in WPF. Niestety zaprezentowane rozwiązanie zapamiętywało rozmiar oraz położenie jednego okna. Długo nie myśląc zmodyfikowałem rozwiązanie aby spełniało moje wymagania. Aby z niego skorzystać trzeba dodać dwie rzeczy do projektu:do kodu xaml definicji i...
Jakub Gutkowski Ile razy spotkaliście się, że wam to po prostu nie działa? Wykonujecie prosty kod: view sourceprint? var list = root.SelectNodes("/blog//posts//post/comments/comment[@user-name='Gutek']");
Przykład zastosowania LINQ do zmiany nazw wielu plików. Proszę sobie wyobrazić, że mam ok. 2000 takich plików: animacja (1).jpg animacja (2).jpg animacja (3).jpg ... animacja (100).jpg ... animacja (2000).jpg i chciałbym stworzyć z tych obrazów animacje poklatkową. Niestety program do robienia animacji nie rozumie, że powinien utworzyć film układając obrazki w kolejności numerów w nawiasach, tylko układa sortując wg. nazw. Tak samo z resztą jak metoda Directory.GetFiles():
Jeden z bardziej znanych cytatów Edsgera Dijkstry pochodzi z jego wykładu wygłoszonego podczas przyznania mu nagrody Turinga w 1972 roku, How do we tell truths that might hurt? Oprócz zapału do matematyki, wyjątkowo dobre opanowanie języka ojczystego jest niezbędnym atutem kompetentnego programisty. (...)
W artykule opisane są pewne fundamenty programowania w C#. Każdy znajdzie tu coś dla siebie. Początkujący programiści C# dowiedzą się jak działają obiekty w .NET, co to jest kod zarządzany i jak w tytule - jak działa Garbage Collector. Bardziej doświadczeni również nie powinni się zawieść i może dowiedzą się czegoś nowego.
Wszyscy chyba zdają sobie sprawę z tego, jakim dobrodziejstwem jest LINQ, które pojawiło się dosyć dawno, wraz z .NET 3.0. Jak wiadomo LINQ oferuje trochę nowych słów kluczowych oraz trochę metod - i tu pojawia się pytanie - czym różni się zapis za pomocą słów kluczowych od zapisu "metodowego"? Szczególnie interesujące zdaje się być to, czy któryś z zapisów powoduje jakiś narzut wydajnościowy. Nie będę budował napięcia i od razu odpowiem - query syntax w zasadzie nie różni się niczym od zapisu za pomoc...
Jestem zwolennikiem wszelakiej integracji SharePointa z innymi technologiami więc tym razem przyszedł czas na jQuery. W poście będzie pokazane jak zintegrować jQuery z SharePoint w najładniejszy według mnie sposób.
Testowanie obsługi zdarzeń oraz faktu ich wywołania jest niekiedy równie ważne co przetestowanie każdej innej integracji pomiędzy dwoma obiektami. Scenariusz jest na tyle specyficzny, że poświęcę mu osobną notkę.