Today I want to introduce a Circuit Breaker – one of the reactive design patterns, especially useful in areas such as web services interop. They main role is to act as a decorator around your code to ensure, that you can quickly respond on any reliability problems.
Strona głównaUżytkownik
Twelve | użytkownik
Sztuka programowania 3568 dni, 3 godziny, 53 minuty temu 143 źrodło rozwiń
Przemysław Walkowski Parę linijek kodu, proste pytanie co ten kod robi lub gdzie jest błąd. Nazywam to zagadkami. Czasem nawet 5 lat doświadczenie nie wystarczy aby odpowiedzieć prawidłowo na tego typu pytania. Poniżej lista paru zagadek, które zebrałem w jednym miejscu. Osobiście zawsze gdy idę na rozmowę o pracę mam ze sobą swoją zagadkę, w razie gdybym nie odpowiedział na którąś zadaną mi przez rekrutera. Robię to po to aby pokazać, że zagad...
Sztuka programowania 3586 dni, 19 godzin, 45 minut temu 1418 źrodło rozwiń
Today I want to present a different point of view on C# applications design. If you are programming in that language most of the time, it’s probably not what you’re used to see. However I found it interesting, because it allows to achieve a few important goals...
Sztuka programowania 3581 dni, 8 godzin, 24 minuty temu 297 źrodło rozwiń
Na temat programistów stworzono już niejeden dowcip i w niejedną flanelową koszulę ich ubrano. W poście prezentuję śmieszne filmy, które nagrali programiści dla programistów.
Chcąc dostosować swój kod do wymagań korporacyjnych oraz w celu samodoskonalenia umiejętności zacząłem niedawno stosować między innymi ten wzorzec. Jego zastosowanie może wydawać się oczywiste, ale jego znaczenie jest ogromne, jeżeli budowany kod ma nosić cechy modułowości i skalowalności. Wzorzec Dependency Injection (DI) stosuje się zazwyczaj z innym bardzo ważnym wzorcem jakim jest Inversion of Control (IoC) ale o tym przy okazji. Najprościej rzecz ujmując DI to dostarczenie zależności pomiędzy klasa...
Architektura 5255 dni, 3 godziny, 36 minut temu 202 źrodło rozwiń
Zapraszam do udziału w organizowanym przeze mnie konkursie "Daj się poznać"...
Oryginalny post: Things You Should Never Do, Part IAutor: Joel Spolsky Netscape 6.0 wreszcie dotarł do swojej pierwszej publicznej wersji beta. Wersja 5.0 nigdy nie istniała. Ostatnie istotne wydanie, 4.0, zostało opublikowanie prawie 3 lata temu. Trzy lata to bardzo długi okres w świecie Internetu. Przez cały ten czas Netscape bezsilnie patrzył na to, jak jego udział w rynku spada na łeb, na szyję. To odrobinę lizusowskie z mojej strony, by krytykować ich za tak długą zwłokę w publikacjach. Nie zr...
Mój tutorial zacznę od "WHY". [...] To co chciałbym nadmienić to moje przekonanie, że nie ma najlepszego systemu operacyjnego, najlepszego języka programowania czy frameworka, po prostu każdy produkt jest najlepszy dla określonych zastosowań. [...] W duchu utrzymywania otwartego umysłu (keep mind open ;) ), warto znać choć jeden funkcyjny język. W tym tutorialu chciałbym zawrzeć w miarę szybkie wprowadzenie do F#. Mam nadzieję, że przyda wam się wiedza tu zawarta (jeśli nie, czekam na krytykę :) ).
Microsoft Research opublikował pierwszą wersję Biology Foundation - zestawu narzędzi kierowanych do specjalistów od bioinformatyki, które stanowi rozszerzenie dla platformy .NET.
Programowanie rozproszone 5268 dni, 10 godzin, 22 minuty temu 77 źrodło rozwiń
Programowanie równoległe, wielowątkowe czy wieloprocesorowe, znane jest nie od dziś, ale to właśnie teraz, będzie najbardziej wykorzystywane. Dzisiejsze komputery nie mają już jednego rdzenia, serwery mają ich kilkanaście, a domowe pcety przynajmniej dwa. Jak wykorzystać wszystkie z nich? Zagadnienie z pewnością trudne ale i ciekawe, a dodatkowo stało się głównym tematem mojej pracy magisterskiej.
Programowanie rozproszone 5272 dni, 20 godzin, 56 minut temu 105 źrodło rozwiń
Pisałem już wcześniej o nieodpowiedzialnym używaniu okien dialogowych, ale coś co przeczytałem ostatnio, podkreśliło interesujący aspekt tego tematu, którego wcześniej nie rozważyłem. Najpierw, Joel Spolsky: Może to zabrzmieć surowo, ale zdasz sobie z tego sprawę, kiedy zrobisz testy z użytkownikami, że znajdzie się trochę takich, którzy nie czytają słów, które umieściłeś na ekranie. Jeśli pokażesz okno z jakimkolwiek błędem, po prostu go ...
Tyle się mówi o obowiązku ciągłego rozwoju w zawodzie programisty. "Przynajmniej jeden nowy język w roku!" "Przynajmniej jeden nowy framework na kwartał!" "Przynajmniej jedna książka techniczna na miesiąc!" Znacie te zawołania? Wiecie co... nie do końca widzę w tym sens. Na pewno nie zamierzam twierdzić, że taki sposób zagospodarowania wolnego czasu jest zły - bo nie jest - ale na mnie takie podejście po prostu NIE DZIAŁA. Co z tego że rok temu przeczytałem od deski do deski książkę o WCF? Co z tego że p...
Oryginalny post: Autor: Jeff Atwood W artykule Niełatwo jest wypuścić produkt (ale ktoś to musi robić) Shawn Burk tłumaczy, dlaczego powinieneś opierać się pokusie wprowadzania zmian pod koniec projektu, niezależnie od tego, jak bardzo uzasadnione bądź racjonalne mogą wydawać Ci się ku temu powody. Nawet najmniejsza zmiana to rzeczywiste ryzyko wprowadzenia nowych błędów. Pierwsza osoba, która skomentowała ten artykuł, zażartowała: W TeXu nie ma błędów... Być może jest to wyjątek, który potwierdz...
Wspaniały filmik, który poprawił mi humor dzisiejszego dnia.
Autor: Czasami, gdy próbuję zdebugować jakiś uciążliwy problem istnieje konieczność oglądania właściwości obiektu. Klikanie kolejnych plusików w wizualizacji debuggera w poszukiwaniu odpowiedniego obiektu na liście doprowadza mnie do szału (zwłaszcza, gdy klasy są dziedziczone). Przy przeglądaniu namespace’a System.Diagnostics natknąłem się na atrybut: DebuggerDisplay. Krótka lektura MSDN i okazało się, że taka mała głupota może niesamowicie ułatwić życi...
Autor: Jako, że ostatnimi czasy siedzę w WPF to dziś wpis także z tej kategorii. Może nie będą to takie tajniki jak w tytule zapowiadam, ale raczej zwrócenie uwagi na pewną funkcjonalność DependencyProperty. Czasami prócz samej możliwości bindowania do takiej właściwości chcemy także uzyskać np. odmalowanie kontrolki, która daną właściwość definiuje. Osta...
Wskazania Composite Application Guidance for WPF and Silverlight, znane również pod nazwą Prism v2, są już dostępne od kilku miesięcy. Jednym z obszarów, w których Prism zapewnia wsparcie jest możliwość tworzenia swojej aplikacji zarówno dla Windows Presentation Foundation (WPF), jak i dla Silverlight. Ciekawe, że początkowo ta część naszych wskazań spotkała się ze sporym oporem. Dlaczego skupialiśmy się na wieloplatformowości przez pierwsze kilka iteracji projektu, gdy mogliśmy poświęcić swój czas na ud...
Architektura 5523 dni, 22 godziny, 18 minut temu 109 źrodło rozwiń
Oryginalny post: Code Reviews: Just Do ItAutor: Jeff Atwood W artykule The Soft Side of Peer Reviews Karl Wiegers zaczął od mocnego oświadczenia: Wzajemne przeglądy -- czynność, podczas której osoby inne niż autor kawałka kodu przyglądają się mu pod kątem błędów oraz możliwości poprawy -- są jednym z bardziej potężnych, dostępnych narzędzi do podtrzymywania jakości kodu. Wzajemne przeglądy zawierają w sobie inspekcje, kontrole ogólne, wzajemne symulowanie logiki i inne podobne czynności. ...
Autor: Jakiś czas temu na devpytaniach Maciej Zbrzezny pytał o to, jak zmienić język zgłaszanych wyjątków w .NET. Dziś podczas jednego z podobnych poszukiwań natknąłem się na serwis FindErr. Jeden z komentarzy zadowolonych użytkowników: I have spent numerous hours trying to translate error messages logged by application deployed at my Chinese client. After long hours of frustration, I finally found this site. So far, this ...
Dla kogoś, kto do tej pory tworzył oprogramowanie bazujące na WinForms, a przechodzi na WebForm, ważne jest zrozumienie cyklu życia strony w ASP.NET. Dlaczego? Proces, w którym strona ASP.NET jest dla przeglądarki generowana, składa się z wielu etapów, z których każdy pełni odmienną funkcję w tworzeniu i generowaniu strony. Jeśli umieścimy kod w nieodpowiednim miejscu, wówczas może braknąć kontrolek, które wg nas powinny się pojawić, lub też, jeśli już się pojawiają, to ich stan może być nieokreślony, cz...