dotnetomaniak.pl

dotnetomaniak.pl - Najnowsze artykuły o .NET - Strona 335

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...

Tagi:
Dziel się z innymi:
Synchronizacja wątków(semafor, mutex), część 2.

Inne 3211 dni, 12 godzin, 27 minut temu pzielinski 199 rozwiń

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 ...

Dziel się z innymi:
Konfiguracja Git i ProjectLocker | DanielJarzynka.net

Narzędzia 3211 dni, 12 godzin, 27 minut temu Dedloo 78 rozwiń

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...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Synchronizacja wątków(AutoResetEvent, ManualResetEvent, Interlocked), część 3

Inne 3211 dni, 12 godzin, 27 minut temu pzielinski 34 rozwiń

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...

Tagi: .Net, UTC
Dziel się z innymi:
Maciej Aniserowicz | Przechowujesz datę i czas? Może warto w UTC?

Inne 3211 dni, 12 godzin, 27 minut temu gordon_shumway 102 rozwiń

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.

Źródło: mnikolajuk.com
Dziel się z innymi:
Tworzenie nowej akcji w Nintex

Web 3213 dni, 6 godzin, 35 minut temu mnikolajuk 60 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...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Synchronizacja wątków w C# (lock, Monitor), część 1

Inne 3213 dni, 6 godzin, 35 minut temu pzielinski 111 rozwiń

Dużo piszę ostatnio o CQRS (Command Query Responsibility Segregation), ale nie pokazałem ani razu jak to podejście wygląda w praktyce. Postaram się dziś naprawić to niedopatrzenie. Posłużę się w tym celu projektem DDDSample w najnowszej wersji CQRS. Kod podzielony jest na cztery główne obszary: Domain — tutaj znajduje się logika biznesowa aplikacji, której zadaniem jest przetwarzanie transak...

Tagi: CQRS, DDDSample
Dziel się z innymi:
CQRS w praktyce «  Simon says… architecture!

Architektura 3213 dni, 6 godzin, 35 minut temu gordon_shumway 291 rozwiń

Parę dni temu natknąłem się na następujący problem: chciałem usunąć branch z source control TFS, ale podczas próby wykonania takiej akcji, dostawałem komunikat, że jeden z developerów z zespołu posiada locki na plikach. Z pewnych względów developer ten nie mógł zdjąć swoich locków, więc musiałem mu trochę pomóc ;)

Źródło: teamsystem.pl
Dziel się z innymi:
Grzegorz Rycaj: Visual Studio Team System | Quick Hint: Zdejmowanie cudzych locków z plików w TFS

Narzędzia 3213 dni, 6 godzin, 35 minut temu gordon_shumway 37 rozwiń

Wydawałoby się, że ostatnio temat XNA, nieco ucichł i nie pojawiają się jakieś kluczowe informacje związane z tym frameworkiem. Gdyby jednak podsumować co już wiadomo, na temat tego, co pojawi się w związku z kolejnymi wersjami, uzbierałoby się tego całkiem sporo.Surface Cieszy fakt, iż Microsoft wraz z wprowadzeniem kolejnych platform sprzętowych, planuje wprowadzić natywną obsługę XNA przez te urządzenia. Chodzi tutaj konkretnie, o już dost...

Dziel się z innymi:
XNA: Co na horyzoncie? «  Dawid Pośliński

Inne 3213 dni, 6 godzin, 35 minut temu http://poslinski.net 58 rozwiń

Może pamiętacie jak kilka dni temu Mirosoft udostępnił Windows Mobile 6.5.3 Developer Tool Kit po czym instalator zniknął. Szczęśliwcy ci, którzy nie zdążyli go ściągnąć (ja się do nich nie zaliczam) i go nie zainstalowali.

Jakub Florczyk » Windows Mobile 6.5.3 Developer Tool Kit ponownie udostępniony

Mobile development 3213 dni, 6 godzin, 35 minut temu http://jakub-florczyk.myope... 69 rozwiń

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...

Tagi: C#, funkcje
Dziel się z innymi:
Maciej Aniserowicz | "Lokalne" funkcje w C#

Architektura 3215 dni, 5 godzin, 25 minut temu ada_man 137 rozwiń

Oryginalny post: Your Favorite NP-Complete Cheat Autor: Jeff Atwood Czy kiedykolwiek słyszałeś, żeby inżynier oprogramowania odnosił się do jakiegoś problemu mianem "NP-zupełny"? To wymyślny, żargonowy skrót do "niesamowicie trudny". Najbardziej znana cecha problemów NP-zupełnych to to, że nieznany jest sposób na ich szybkie rozwiązanie; to oznacza, że czas jaki jest wymagany na rozwiązanie danego problemu przy użyciu obecnie znanych algorytmów, wzrasta bardzo szybko w miarę wzrostu rozmiaru ...

Źródło: www.devblogi.pl
Dziel się z innymi:
devBlogi: Twoje ulubione oszustwo związane z NP-zupełnością

Inne 3215 dni, 15 godzin, 43 minuty temu gordon_shumway 59 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...

.NET blog: TPL – Zaczynamy

Inne 3215 dni, 15 godzin, 43 minuty temu gordon_shumway 134 rozwiń

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

Dziel się z innymi:
Virtual Study Group – spotkajmy się w sieci « ksciana's Weblog

Bazy danych i XML 3216 dni, 12 godzin, 10 minut temu http://ksciana.wordpress.com/ 66 rozwiń

Git posiada możliwość nadawania własnych aliasów jego komendom. W konfiguracji wygląda to tak: 1: [alias] 2: ci = commit A więcej na ten temat można poczytać w WIKI. Ja jednak zamiast korzystać z aliasów, napisałem swój skrypt do miniaplikacji AutoHotkey. Przechwytuje ona zdefiniowane sekwencje klawiszy, w locie zamieniając na inne akcje. (tym, którzy go nie znają, gorąco polecam ściągnięcie i kilka chwil zabawy, świetna sprawa). Mój poniższy skrypt jest banalny: ogranicza się do rozwijania 2...

Dziel się z innymi:
Maciej Aniserowicz | Skrypt AutoHotkey ułatwiający pracę z Git

Narzędzia 3216 dni, 12 godzin, 10 minut temu gordon_shumway 51 rozwiń

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...

Źródło: xion.org.pl
Dziel się z innymi:
xion.log » using w C#

Inne 3216 dni, 12 godzin, 10 minut temu gordon_shumway 118 rozwiń

Jako programista naturalne było dla mnie tworzenie przepływów pracy (ang. Workflow) z poziomu VisualStudio. SharePoint Designer w tym temacie udostępniał bardzo skromne funkcje. Miał jednak duży plus gdyż nie wymagał znajomości języka programowania przy tworzeniu prostych przepływów pracy. Daje to możliwość tworzenie przepływów pracy osobom, które nie są programistami. Jednak przepływy pracy tworzone z poziomu VisualStudio też mają jedną zasadniczą wadę. Naturalne jest, że każdy przepływ się zmienia - zm...

Tagi: SharePoint
Źródło: mnikolajuk.com
Dziel się z innymi:
Tworzenie Workflow w przeglądarce internetowej

Web 3216 dni, 12 godzin, 10 minut temu mnikolajuk 118 rozwiń

W poście przedstawiającym Gita wspomniałem o możliwości modyfikacji historii - i dzisiaj więcej na ten temat. Jest to funkcjonalność naprawdę nie do przecenienia. Commit nie jest już czynnością ostateczną, z którą nie można nic zrobić, jak nas przyzwyczaił SVN. Wtedy przed puszczeniem zmian trzeba się było zastanawiać i analizować dokonane zmiany. Tutaj natomiast bardzo sensownym trybem pracy jest lokalne zatwierdzanie zmian tak często jak mamy na to ochotę - ja na przykład nienawidzę mieć jednocześnie z...

Dziel się z innymi:
Maciej Aniserowicz | Modyfikacja historii w Gicie

Narzędzia 3217 dni, 4 godziny, 37 minut temu gordon_shumway 26 rozwiń

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...

Źródło: www.devblogi.pl
Dziel się z innymi:
devBlogi: Po co nam testerzy?

Inne 3217 dni, 4 godziny, 37 minut temu gordon_shumway 74 rozwiń

Odliczając dni do premiery pełnej wersji pakietu Visual Studio 2010, mamy okazję  zapoznać się z wersją beta tego oprogramowania oraz poznać nowe możliwości technologii Silverlight. Jej czwarta odsłona przynosi długo oczekiwaną funkcjonalność: obsługę mikrofonów oraz kamerek internetowych. Tradycyjnie dołożono starań, by interfejs był jak najbardziej przystępny dla programisty. Pokażę tutaj typowy sposób na przechwytywanie dźwięku za pomocą mikrofonu. Korzystać będziemy z przestrzeni nazw System.Windows....

Źródło: blog.domas.pl
Dziel się z innymi:
Silverlight 4: obsługa mikrofonu - Domas' Blog

Silverlight 3217 dni, 15 godzin, 32 minuty temu Domas 34 rozwiń

1 2... 333 334 335 336 337 338... 388 389