Task-based API w .NET 4.0 (część I) października 1, 2009 22:34 by Marek Kalinowski Pierwszą okazję do zetknięcia się ze zmianami w API dotyczącym wielowątkowości miałem przy okazji udostępnionej prezentacji Daniela Motha z konferencji PDC2008 (http://channel9.msdn.com/pdc2008/TL26/). Podstawowym argumentem mającym mówić za wprowadzeniem (i używaniem) nowego API jest konieczność dostosowania się deweloperów do zmian w architekturze procesorów – czasy "darmowego" przyrostu wydajności bezpowrotnie minęły, o...
Strona głównaUżytkownik
http://binaryelves.wordpress.com/ | użytkownik
Programowanie rozproszone 5549 dni, 12 godzin, 43 minuty temu 77 źrodło rozwiń
Po ostatnim małym sukcesie (7 dni i ponad 700 ściągnięć) z behaviorsem (patrz poprzedni wpis), postanowiłem że gdy kolejny raz przyjdzie mi do głowy jakiś nowy prosty behavior, również się nim podzielę.Prościej się nie da Mój najnowszy behavior nie może być prostszy, bo poniżej jednej linii kodu która rzeczywiście coś robi, nie da się zejść ;) Na szczęście jego działanie stawia go w innym świetle. A o co chodzi? Otóż mój nowy behavior, jak nazwa tego wpisu sugeruje, otwiera listę ComboBoxa po najechani...
Silverlight 5549 dni, 12 godzin, 43 minuty temu 67 źrodło rozwiń
Przypominałem sobie, przeczytany kiedyś, na jakimś blogu sposób na dość wolne uruchamianie Management Studio. W skrócie do aplikacji dla elementu docelowego należy dodać parametr ‘-nosplash’. Powinno to wyglądać dokładnie tak: "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\SqlWb.exe" -nosplash Działa z SSMS w wersji 2005. Tagi: Ciekawostka, MS SQL, Narzędzia Ten wpis () został dodany wrzesień 28, 2009 o godzinie 1:24 pm i widnieje ...
Dzisiaj odrobina odnośnie dostosowywania serializacji do własnych potrzeb. Na pierwszy ogień interfejs ISerializable, pozwalający na ‘wrzucenie’ do serializowanego strumienia tego co chcemy i pod jaką nazwą chcemy.
Architektura 5556 dni, 21 godzin, 59 minut temu 104 źrodło rozwiń
Przyspieszamy ASP.NET - AJAX Web Services W tej części cyklu “Przyspieszamy ASP.NET” omówię kolejne rozwiązanie z serii “wilk syty, owca cała”. Tym razem za pomocą asynchronicznego odwołania do Web Service’u sprawimy, że klient otrzyma dane szybciej, generując przy tym mniejszy ruch i mniej obciążając serwer niż w przypadku klasycznego postbacku. Co więcej, w jego odczuciu strona będzie działa bardziej dynamicznie. Jednak nie ma róży bez kolców…Gdzie jest problem i co chcemy osiągnąć? Przypuśćmy, że twor...
Dzisiaj kolejna porcja nadrabiania zaległości z podstawowych podstaw(bo jak inaczej to idzie nazwać?), tym razem serializacja.
Architektura 5561 dni, 20 godzin, 39 minut temu 152 źrodło rozwiń
Autor: W przedostatnim wpisie, poruszyłem temat napisania własnego walidatora do daty. Dziś napotkałem na podobny problem – walidacja kontrokli CheckBoxList pod kątem zaznaczenia przynajmniej jednej wartości. Jakieś było moje zaskoczenie ;-) gdy okazało się, że żadna z domyślnych kontrolek walidatorów nie potrafi tego niezmiernie skomplikowanego zadania wykonać ;-) Oczywiście można to załatwić banalnie: CustomValidator i odpowiednia prosta funkcja. Gdzie jednak ponowne wykorzystanie kodu – tak przec...
Architektura 5561 dni, 20 godzin, 39 minut temu 111 źrodło rozwiń
Znasz się na oprogramowaniu Microsoft? Masz ochotę pokazać innym ile wiesz? To poszukaj na polskiej Wikipedii artykułów, do których mógłbyś dodać coś od siebie. Uzupełnij je, uaktualnij albo napisz od nowa. W pierwszym etapie konkursu liczy się ilość artykułów poprawionych przez jedną osobę.
W obecnym projekcie nad którym pracuję potrzebuję szybko stworzyć kilka WebSerwisów, które będą rozmawiać z aplikacjami zewnętrznymi poprzez protokół SOAP. Pomyślałem, że skorzystam ze standardowej funkcjonalności dostępnej z poziomu ASP.NET...
Zapraszam na pierwszą część z serii screencastów dotyczących wykorzystania AJAXa w ASP.NET. Pierwsza część jest jednocześnie jedyną w pełni teoretyczną. Omawia historię powstania AJAXa oraz krótkie wprowadzenie, które pozwoli rozumieć działanie przykładów przedstawionych w kolejnych częściach. Zapraszam do oglądania i czekam na komentarze :)
Dzisiaj kilka słów na temat wzorca Flyweight – “waga piórkowa”. Wzorzec ten należy do grupy wzorców strukturalnych. Flyweight zajmuje się udostępnianiem pojedynczego obiektu wielu klientom. Wspólny dostęp znajduje zastosowanie gdy występuje potrzeba zarządzania dużą ilością obiektów(setki, tysiące, itp), które posiadają jakąś niezmienną część. Dość prymitywnym przykładem może być proces tworzenia oferty sprzętu: zamiast do każdego długiego opisu powiedzmy procesora, wraz z wszystkimi danymi technicznymi,...
Architektura 5588 dni, 1 godzinę, 42 minuty temu 172 źrodło rozwiń
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():
Wielu z Was zapewne kojarzy transakcje wyłącznie z bazami danych. Jest duża doza prawdopodobieństwa, że w codziennej pracy twórcy oprogramowania używacie ich nagminnie. Zapewne robicie też to w sposób jawny korzystając z metod BeginTransaction() i CommitTransaction() z klasy DbConnection oraz klasy DbTransaction i pochodnych, Część z was być może się spotkała z przestrzenią nazw System.Transactions, a część nie. Do czego więc się ona odnosi? Zapraszam do lektury.
Bazy danych i XML 5587 dni, 5 godzin, 14 minut temu 51 źrodło rozwiń
Na stronie http://msdn.microsoft.com/en-us/devlabs/ee334183.aspx można znaleźć bardzo ciekawy projekt implementujący transakcyjną pamięć w .NET.
Może temat trochę na wyrost, ale już wyjaśniam o co chodzi. Czym jest że tak teoria spiskowa w .NET. Dla mnie jest to dziwne przeświadczenie dużej liczby programistów, że skoro w .NET istnieje Garbage Collector to pojęcie Memory Leaków nie istnieje. Nie chodzmi mi tu o zasoby rzadządzalne, które już znaczna część programistów wie, że należy zwalniać (wołając Dispose, bądź używając klauzuli using), ale o te zarządzalne. Jak to zatem możliwe, możesz spytać? Garbage Collector to bardzo użyteczne "stworzenie...
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.
Mityczne 100% pokrycia W środowisku deweloperskim wciąż żywy jest mit 100% pokrycia kodu testami jednostkowymi. Co gorsza, mit ten ma się równie dobrze (a może nawet lepiej?) wśród decydentów (kierowników, dyrektorów itp.). Celem poniższej notki jest pokazanie, jak bardzo naiwne jest podejście "100% pokrycia". Popatrzmy na następujący trywialny kod:
Wspomnę dzisiaj o dość dziwnej funkcji, która została dodana w wersji 3.0 języka C#. Polega ona na możliwości dodania nowych metod do istniejących klas bez zmiany ich definicji. Odbywa się to poprzez zdefiniowanie tych dodatkowych metod jako statycznych (w innych klasach) i użyciu specjalnej składni dla jej pierwszego parametru.
Architektura 5572 dni, 20 godzin, 34 minuty temu 114 źrodło rozwiń
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...