Jakiś czas temu pisałem o dostępności Visual Studio 2010 Beta 2, a w ostatnim tygodniu pojawiła się kolejna przedpremierowa wersja, czyli Visual Studio 2010 and .NET Framework 4 Release Candidate (oczywiście tutaj również linki do pobierania). Miłego testowania!
Strona głównaUżytkownik
sp33d | użytkownik
Oryginalny post: Why testers? Autor: Joel Spolsky Moja siostra sprawiła swoim dzieciom szczeniaczka i one próbowały go wytresować. Aby mieszkać z psem pod jednym dachem, musisz nauczyć go, by nie skakał na ludzi, nie robił kupy w domu, siadał na zawołanie oraz nigdy, przenigdy nie przeżuwał iPada. Nigdy. Dobra dziewczynka. Z tresowaniem psów jest tak, że reakcja musi być natychmiastowa. Jeśli po powrocie do domu odkrywasz, że parę godzin wcześniej pies wywalił kubeł ze śmieciami w kuchni, jest już z...
W C++ nie ma mechanizmu typu garbage collector, więc jedyne automatyczne zwalnianie obiektów, jakie w tym języku występuje, dotyczy tych lokalnych - tworzonych na stosie. Dlatego wszelkiego typu pomocnicze obiekty (np. uchwyty do zewnętrznych zasobów, jak pliki) deklaruje się tu zwykle jako właśnie zmienne lokalne. W innych językach z kolei - dokładniej: w tych, w których GC występuje - praktycznie wszystkie...
W każdy poniedziałek od 20:30 organizowane będą wirtualne spotkania. Pierwsze już się odbyło 15 lutego. Więcej na www.virtualstudy.pl
Bazy danych i XML 5384 dni, 22 godziny, 41 minut temu 68 źrodło rozwiń
Tę serię przede wszystkim należy zacząć od pytania – po co nam to? To z kolei możemy rozbić na dwa kolejne. Po co nam w ogóle programowanie równoległe oraz po co nam TPL – przecież już mamy dostępne narzędzia.Po co nam to w ogóle Mam nadzieję, iż tak na prawdę na to pytanie odpowiadać nie trzeba, ale dla porządku zróbmy to. Potrzebujemy bo prawo Moore’a przestaje działać. Nie możemy już powiedzieć naszemu klientowi, który narzeka na słabą wydajność aplikacji, że gdy będziemy wydawać to oprogramowanie to...
Programowanie w JavaScript niesie za sobą dużą dozę swobody jeżeli chodzi o posługiwanie się funkcjami. Funkcje są wszędzie, deklarować je można na wiele sposobów, a rozsądne ich wykorzystanie jest źródłem nowych przyzwyczajeń, które chciałoby się niejednokrotnie przenieść do "rodzimego" języka programowania. W moim przypadku oczywiście C#. I dzięki wyrażeniom lambda takie szafowanie funkcjami na lewo i prawo staje się nie tylko możliwe (bo możliwe było już wcześniej od .NET 2.0 dzięki anonimowym delegat...
Architektura 5383 dni, 15 godzin, 56 minut temu 138 źrodło rozwiń
Najtrudniejszym zadaniem w programowaniu współbieżnym jest programowanie sekwencyjne a uściślając synchronizacja wątków;). Pewne operacje w naszych programach muszą być wykonywane w sposób sekwencyjny. Często dostęp do danych współdzielonych nie może odbywać się w sposób równoległy. Rozważmy klasyczny problem zwiększania liczby o jeden:counter = counter +1; Jeśli zmienna counter jest współdzielona przez kilka wątków, powyższa operacja jest niepoprawna. Dlaczego? Zacznijmy od początku. Zwiększanie lic...
W poprzednim poście przedstawiłem różne alternatywne narzędzia jeśli chodzi o tworzenie przepływów pracy z poziomu przeglądarki internetowej. Narzędzia te mimo tego, że oferują możliwości znacznie większe niż SharePoint Designer czasami nie spełniają naszych oczekiwać. W dalszej części skupię się na Nintex WorkFlow 2007 i pokażę w jaki sposób można samemu tworzyć akcje, które wykorzystywane są później w przepływach pracy.
W ubiegłym tygodniu w implementowanym systemie zajmowałem się datą i czasem. I tak mnie tknęło... dlaczego w ogromnej większości systemów, które przyszło mi oglądać, datę zapisuje się w sposób następujący? 1: article.PublishedTime = DateTime.Now Niby co jest z tym złego? Właściwie... to zależy od kontekstu i rodzaju tworzonego systemu. Korzystając z powyższej konstrukcji trzeba zdawać sobie sprawę z tego, że tak zapisany czas jest ZALEŻNY od maszyny, na której operacja ma miejsce. Wartość ta odczytana...
W celu synchronizacji wątków można wykorzystać mechanizm zdarzeń: ManualResetEvent oraz AutoResetEvent. Rozwiązanie polega na zastosowaniu sygnalizacji. Chcąc wejść do sekcji krytycznej piszemy:ManualResetEvent resetEvent =new ManualResetEvent(false); resetEvent.WaitOne(); W konstruktorze ustawiamy początkową wartość sygnału na false(brak sygnału). Następnie wywołujemy metodę WaitOne, która czeka na nadejście sygnału. Metoda blokuje kod aż do momentu gdy w jakimś miejscu kodu zostanie wysłane zdarzenie...
Ostatnio tyle słyszy się o gicie, że sam postanowiłem sprawdzić o co w tym chodzi, tym bardziej, że po ostatnim padzie SVN'a "troszkę" się zdenerwowałem . Swoje repozytorium postanowiłem założyć na portalu ProjectLocker. Początkowo myślałem o Git Hubie, lecz tam, za darmo, dostajemy publiczne repozytorium. Na Project Locker do dyspozycji mamy repozytorium prywatne, 500mb powierzchni oraz możliwość podłączenia do repo (czy może tego profilu) 5 użytkowników. Git ...
W dzisiejszym poście przedstawię zasadę działania semafora oraz mutexa. Zacznijmy od teorii, czym jest semafor i jak można go zaimplementować? Otóż semafor jest sposobem na realizację wzajemnego wykluczania – zapewnienia, że tylko określona liczba wątków będzie mogła jednocześnie wykonać dany fragment kodu. Wyróżniamy semafory binarne, które dopuszczają maksymalnie jeden wątek oraz semafory ogólne, które umożliwiają jednoczesny dostęp określoną przez programistę liczbę wątków. Implementacja semafora wym...
Autor:Jakiś czas temu pisałem już na temat nowej technologii pod nazwą OPC eXpress Interface (OPC XI), czyli technologii którą w uproszczeniu określić można jako OPC po WCF'ie lub pełniejsze wejście OPC na platformę .NET. Jakiś czas temu pojawił się jeszcze film - prezentacja nagrana podczas webinar'u prowadzonego przez OPC Training Institute, dostępna jest ona do pobrania z tego adres (wymagana darmowa rejestracja): http://www.opcti.com/opcxi.aspx.
Programowanie rozproszone 5379 dni, 11 godzin, 22 minuty temu 26 źrodło rozwiń
Bryczka z flagami public enum Kolorki { None , Black , Red , Green , Blue }; Koń jaki jest każdy widzi. A co jeśli byśmy chcieli mieć bryczkę z kiloma końmi? Pamięć przywiodła mi myśl o bitach, ale pomyślałam sobie - że niby nie ma czegoś nowszego i elegantszego? [FlagsAttribute] public enum Kolorki { None , Black , Red , Green , Blue }; //Kolorki.Green = Kolorki.Black | Kolorki.Red Św...
Programowanie współbieżne w c# 4.0 jest znacznie łatwiejsze w porównaniu z poprzednią wersją. Widać, że platforma .NET staje się coraz dogodniejszym środowiskiem programistycznym dla rozwiązań równoległych. Zacznijmy od pętli foreach. Przeważnie wykonujemy ją w sposób sekwencyjny. Jeśli chcielibyśmy zrównoleglić ją, musielibyśmy stworzyć instancję Thread i zawartość pętli umieścić w wątkach. Ponadto proces wymagałby użycia np. semafora albo ManualResetEvent aby zsynchronizować kod wykonywany po zakończe...
Zastanawiałem się ostatnio nad tym, jaki MUSI być godny zaufania freelancer-programista, a jaki być NIE MOŻE. Efektem jest kilka spostrzeżeń, które dla wielu ocierają się zapewne o banał... ale ze względu na spore zainteresowanie ostatnim postem o tej tematyce postanowiłem się nimi podzielić. Co zatem cechuje profesjonalistę?
Fullscreen’a, aż tak często nie używam, ale czasem się zdarza i rzeczywiście zachowanie to jest denerwujące. Tak więc postanowiłem coś z tym zrobić i napisać małego AddIn’a do VS, który będzie za to odpowiedzialny....
Widziałam kilka prezentacji gdzie zachwycano się wspomagaczami takimi jak Resharper. Postanowiłam sprawdzić na własnej skórze. Resharper ze względu na reklamę środowiskową oraz CodeRush ze względu na używanie DevExpressowych kontrolek. Pobrały się wersje demo, zainstalowały. Być może to są fajne narzędzia, z wszelkich prezentacji można się dowiedzieć o ich tysiącu możliwości ... Ale nie oszukujmy się narzędzia nie są darmowe a ilość opcji powoduje że większość czasu w którym demo jest aktywne trzeba b...
Debugger w Visual Studio 2010 znacząco się zmienił. Przy wcześniejszych betach na pewno usłyszeliście takie hasło jak Debugger Historyczny. Ta enigmatycznie brzmiąca nazwa od Beta 2 zmieniła się w IntelliTrace, który zapewne zostanie z nami już do wersji finalnej. Czym więc jest IntelliTrace?
Oryginalny post: Computer Workstation Ergonomics Autor: Jeff Atwood Niemal każdą chwilę, kiedy nie śpię, spędzam przy komputerze. Jestem tym, kogo mógłbyś nazwać domowym entuzjastą. Jestem szczęściarzem, ponieważ nie doświadczyłem żadnego urazu związanego z komputerem w związku z długotrwałą pracą przy nim, ale jest to bardzo realne ryzyko zawodowe. Miewam czasem bóle w dłoniach bądź nadgarstkach, zazwyczaj po maratońskich hulankach, gdzie oczywiście przesadzam -- ale to nie jest tematem tego wpisu. O ...