Podczas korzystania z WCF najprostszą drogą do wywołania metody udostępnianej przez jakąś usługę jest pozwolenie Visual Studio na wygenerowanie odpowiedniego proxy, stworzenie jego instancji... i już - mamy metody usługi do dyspozycji. Bez wysiłku, bez kodu... bez sensu?
Silverlight 4 zbliża się wielkimi krokami. Jeśli wierzyć zapowiedziom ujrzymy go już na wiosnę 2010.... Nie czekam na ...
O tym jak czasem możemy zaplątać się w szukanie zbyt skomplikowanego rozwiązania podczas gdy ładne i proste jest na wyciągnięcie ręki.
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 poprzedniej części opisałem sposób dostępu do obiektu SPListItem za pomocą braku mapowania - dostęp odbywał się bezpośrednio przez obiekt SPListItem. W drugiej części opiszę to, co zastosowaliśmy w jednym z niesławnych projektów w 2007 roku. W wspomnianym projekcie, jak tylko zorientowaliśmy się, że SharePoint nie posiada silnie typowanych pól, stwierdziliśmy, że trzeba coś z tym zrobić. Jako że czas gonił a na temat SPS w tych czasach prawie w ogóle postów nie było wymyśliliśmy najszybszy...
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ó...
Donald Norman stwierdza, że prostota jest przereklamowana: "Ale kiedy przyszedł moment, aby dziennikarze zrecenzowali 'proste' produkty, wszyscy narzekali na brak kluczowych wg. nich funkcjonalności. Co więc ludzie mają na myśli, kiedy chcą prostoty? Operacje wywoływane pojedynczym przyciskiem -- oczywiście -- ale wraz ze wszystkimi swoimi ulubionymi funkcjonalnościami". Dawno temu pisałem: "Wielu programistów zostało zwiedzionych starą zasadą 80/20. Na p...
Często w pracy z grafiką pojawia się potrzeba dodania tekstu. Może to być np. opis, czy nota autorska. Jeżeli chcemy dodać sformatowany tekst do obrazka należy wykonać kilka kroków.Utworzenie obiektu Graphics W tym celu w aplikacji Windows Forms wywołujemy metodę this.CreateGraphics(). Możemy też utworzyć wspomniany obiekt z bitmapy za pomocą metody Graphics.FromImage(bitmap). 1: Graphics g = this.CreateGraphics(); Utworzyć obiekt Font.Klasa Font oferuje 13 różnych konstruktorów wywołania. Najprostszą ...
Może czasem się zdarzyć, że chcemy użyć NHibernate, jednak aplikacja korzysta z jakiegoś frameworka, który ma już swoją definicję połączenia z bazą danych. Po co więc w NHibernate ponownie konfigurować to samo połączenie, skoro można wykorzystać już istniejące.
Autor: Przeglądałem ostatnio różne strony w poszukiwaniu ciekawych przykładów gotowych gier i komponentów do budowania gier w Silverlight. Znalazłem parę ciekawych przykładów z którymi się z wami podzielę.
Niedawno zostałam poproszona o przeszkolenie zespołu programistów w temacie notacji UML. Niestety przed szkoleniem nie byłam w stanie zdobyć wielu informacji dotyczących oczekiwań poza generalnym stwierdzeniem, iż stan wiedzy słuchaczy na temat UMLa jest zróżnicowany - niektórzy nie wiedzą kiedy stosować jakie diagramy, inni nie znają nawet podstaw notacji. Wiedzę należało usystematyzować tak, by po szkoleniu można było wdrażać UMLa do codziennej pracy zespołu. Postanowiłam wię...
To niewiarygodne, że firma jest w stanie płacić programiście $60-$100k rocznie, a przy tym upośledzać go okropnymi warunkami pracy oraz obdartym sprzętem z drugiej ręki. Nie ma w tym żadnego biznesowego sensu. A jednak dostrzegam to przez cały czas. Szokujące jest to, jak wiele przedsiębiorstw wciąż nie dostarcza programistom niezbędnych rzeczy do osiągnięcia celu. Proponuję abyśmy przyjęli Kartę Praw Programisty, by chronić ich pra...
Wraz z dzisiejszym artykułem, w naszym training kicie rozpoczyna się rozdział nr 6, który skupia się na grafice. Na dobry początek dostajemy 3-stronnicową tabelkę opisującą najczęściej używane klasy, które pomagają nam w .NET’owym rysowaniu. Nie będę ich opisywał, ale przynajmniej wymienię. Klasy, które zawarte są w przestrzeni System.Drawing to m.in: Bitmap. Brush, Brushes, ColorConverter, ColorTranslator, Font, FontConverter, FontFamily, Graphics, Icon, IconConverter, Image, ImageAnimator, Imag...
W wielu aplikacjach, gdzie napotyka się na problem generowania terenu, pojawia się problem detekcji, aby np. postać, którą stworzymy, nie mogła wychodzić na zbyt strome zbocza. Metod na rozwiązanie tego problemu jest kilka, ja postaram się tutaj przedstawić prostą i skuteczną, a przede wszystkim dość uniwersalną metodę, która w małych projektach powinna się doskonale sprawdzić.
Dzisiaj wyjątkowo krótki wpis. Powiemy sobie o tym jak wyświetlić, stworzyć i zapisać rysunek. Żeby nie przedłużać wstępu od razu lecimy z tematem.The Image and Bitmap Classes System.Drawing.Image jest klasą abstrakcyjną która umożliwia nam tworzenie, ładowanie, modyfikacje oraz zapis obrazka do formatu .bmp, .jpg oraz .tif. Klasy tej można użyć do stworzenia rysunku, wykresu, zmiany rozmiaru obrazka czy też dodania np. znaku wodnego itd. Klasa Image jest abstrakcyjna dlatego do stworzenia jej instancji ...
Niestandardowa serializacja pozwala na zwiększenie kontroli nad tym procesem. Dzięki niej możemy także osiągnąć kompatybilność między różnymi wersjami przekształcanych wcześniej obiektów. Mamy dwie metody przeprowadzenia takiej operacji: implementacja interfejsu ISerializable, oraz odpowiadanie na występujące zdarzenia.Implementacja ISerializable Wykorzystując interfejs oraz dodając atrybut Serializable możemy nadpisać domyślny mechanizm frameworka. Wymusza to na nas jednak kilka czynności:Implementacja ...
W Drugiej najważniejszej rzeczy programisty opisałem, jak zakup dobrego jakościowo krzesła może być jedną z najmądrzejszych inwestycji, jaką możesz zrobić, będąc programistą. W rzeczywistości, po poszukiwaniach krzeseł przez ostatnich kilka lat mojej kariery, doszedłem do jednego wniosku: nie możesz oczekiwać, że uda Ci się dostać porządne krzesło za mniej niż $500. Jeśli zamierzasz wydać mniej niż tyle na siedzenie -- c...
Studia, świat i moda każe mówić, że goto, to g*wno totalne i nie ma racji bytu. Idąc pod prąd chcemy udowodnić, że tak nie zawsze jest. Myślę, że każde narzędzie języka może prowadzić to spaghetti code, trudności w jego języku i nieporozumień. Tak samo jak użycie wielu poziomów klas i polimorfizmu w niewłaściwy sposób, extension methody czy genericsy. Wszystko jest dla ludzi, tylko trzeba z tego k*rwa umieć korzystać.
W tym tygodniu rozpoczął się tegoroczny cykl konferencji informatycznych IT Academic Day, poświęconych technologiom powszechnie znanej i (nie)lubianej firmy Microsoft. 19. listopada jedno z takich wydarzeń zostało zorganizowane na Wydziale Matematyki i Informatyki Uniwersytetu Adama Mickiewicza w Poznaniu przez tamtejszych studentów z uczelnianych grup .NET i IT...
19lis/090Gios.Word czyli zapisujemy dane do worda Chciałbym pokazać dzisiaj bardzo fajną i darmową bibliotekę, która pozawala zapisywać nasze dane do worda. Przykłady będą bardzo proste, pokazujące tylko że da się stworzyć własny wygląd generowanego dokumentu. Biblioteka nazywa się Gios.Word. Cały projekt, łącznie z kodami źródłowymi biblioteki można pobrać TUTAJ. Na początek pokaże jak prosto zapisać tekst używając biblioteki. Aby kod zadziałał musimy oczywiście dodać referencję do pliku Gios.Word.dll ...