dotnetomaniak.pl

dotnetomaniak.pl - Najnowsze artykuły o .NET w dziale Inne - Strona 41

Klasa Barrier umożliwia synchronizacje kilku wątków. Mechanizm bardzo znany np. z Ady pozwala dopuścić wykonanie kodu wyłącznie jeśli inne wątki na to się zgadzają. Załóżmy, że mamy 4 wątki robiące równoległe jakieś obliczenia. Po ich zakończeniu chcemy scalić wynik ale musimy poczekać aż wszystkie zadania zostaną ukończone. W C# 4.0 można wykorzystać tzw. taski, ale w tym artykule skupimy się na Barrier, która służy to dużo bardziej skomplikowanych zadań. Przypuśćmy, że nasz algorytm składa się z kilku...

Tagi: Barrier
Dziel się z innymi:
Piotr Zieliński  » Rendezvous w C#–klasa Barrier

Inne 2011 dni, 16 godzin, 1 minutę temu pzielinski 170 rozwiń

Macie czasem tak, że podczas długiej sesji z debuggerem, wiedząc, że jakiś breakpoint nie wskoczy prędko przełączacie się z VS aby później zorientować się, że breakpoint już dawno czekan na waszą reakcję a wy po prostu nie zauważyliście tego małego migoczącego znaku VS w pasku? O właśnie o ten mrygacz chodzi :) Jeśli tak to ten post jest dla was - jeśli nie poczytajcie jak wkurzyć kolegów :) Okazuje się, że VS prócz standardowych opcji, które możemy ustawić w Tools->Options posiada kilka dodatkowyc...

Dziel się z innymi:
Dźwiękowy brekpoint

Inne 2011 dni, 16 godzin, 1 minutę temu macko 114 rozwiń

Na wstępie skrótowo wytłumaczę, co rozumiem pod pojęciami zawartymi w tytule. Programowanie imperatywne polega na tym, że kod programu składa się z instrukcji (czyli rozkazów). Najbardziej typowe instrukcje to przypisania, wywołania procedur / metod, instrukcje warunkowe czy pętle. W programowaniu imperatywnym zmieniający się stan programu jest czymś naturalnym, a niedeterministyczne działanie procedur i metod - czymś często występującym.     Zupełnie innym podejściem jest programowanie deklaratywne. W ...

Tagi:
Dziel się z innymi:
Kamil Durkiewicz: Programowanie deklaratywne vs programowanie imperatywne

Inne 2013 dni, 16 godzin, 54 minuty temu http://durkiewicz.blogspot.... 436 rozwiń

Wiele osób z pewnością kojarzy pliki PDB, przynajmniej z nazwy. Myślę, jednak, że w praktyce mało kto zdaje sobie sprawę co one zawierają i kiedy mogą się przydać programiście. W poście zatem chciałbym przybliżyć praktyczne korzyści z używania Program Database Files. Z pewnością PDB kojarzy się z debuggowaniem i niestety z czymś niepotrzebnym w środowisku produkcyjnym – co jak się okaże jest nieprawdą! Zacznijmy od wprowadzenia teoretycznego, PDB dla .NET  zawiera:Nazwy plików z kodem źródłowym.Nazwy lo...

Tagi: pdb
Dziel się z innymi:
Piotr Zieliński » Kiedy używać plików PDB?

Inne 2014 dni, 12 godzin, 16 minut temu pzielinski 363 rozwiń

W C# 3.0 wprowadzono nowy typ inicjalizacji pól klas, przykład:class SampleClass { publicint X { get; set; } publicint Y { get; set; } } SampleClass sampleClass =null; try { sampleClass =new SampleClass {X =5, Y =10}; } catch (Exception) { } int y = sampleClass.Y; Przed c# 3.0 programiści zwykle używali następującej konstrukcji:SampleClass sampleClass =null; try { sampleClass=new SampleClass(); sampleClass.X =5; sampleClass.Y =10; } catch (Exception) { } int y = samp...

Dziel się z innymi:
Piotr Zieliński » Inicjalizacja właściwości obiektu

Inne 2017 dni, 5 godzin, 35 minut temu pzielinski 240 rozwiń

Dzisiaj prosta i częsta sprawa – obsługa zdarzeń.  Zdefiniujmy fikcyjne zdarzenie:class SampleClass { publicevent EventHandler EventHappened; } Następnie mamy jakąś metodę, która po wykonaniu własnej logiki, wywołuje zdarzenie. Jak powinno to zostać prawidłowo wykonane? Zacznijmy od niepoprawnego podejścia:class SampleClass { publicevent EventHandler EventHappened; privatevoid Method() { EventHappened(this,new EventArgs()); } } Metoda spowoduje wyjątek jeśli żadne z...

Tagi: events
Dziel się z innymi:
Piotr Zieliński » Obsługa zdarzeń – dwa podejścia

Inne 2020 dni, 7 godzin, 12 minut temu pzielinski 321 rozwiń

autor: Nowy rok za nami, pora na mały noworoczny prezent. W mojej bibliotece znajduje się kilka książek, które zostały wybrane przez moją drugą połówkę jako „coś co zagraca mieszkanie w którym nie ma miejsca na moje książki” :) Dlatego też przez najbliższe kilka tygodni będę starał się oddać wszystkie te książki, które zostały wybrane/wskazane itp. itd.. Zasady ich oddania są banalnie proste...

Źródło: blog.gutek.pl
Dziel się z innymi:
SharePoint 2003/2007 – książki do oddania

Inne 2020 dni, 16 godzin, 19 minut temu macko 181 rozwiń

Chciałbyś przetestować Rails? Nie chcesz instalować u siebie całego środowiska, a może utworzyłeś pierwszą aplikację ‘Hello world’ w Rails nie nie wiesz gdzie ją przetestować?

Dziel się z innymi:
Testowy hosting  ROR « ksciana's Weblog

Inne 2020 dni, 16 godzin, 19 minut temu http://ksciana.wordpress.com/ 116 rozwiń

Używając LINQ należy pamiętać o takiej właściwości tego języka zapytań jak opóźnione wywoływanie (Diferred Execution). Polega to na tym, iż zapytanie jest wywoływanie dopiero wtedy, gdy jest to rzeczywiście potrzebne. Najczęściej dzieje się podczas wowoływania metody, która sprawdza całą kolekcje, którą przeszukujemy, takimi metodami są np. Count() ToList() Każda z tych metod, aby zwrócic wynik musi sprawdzić całą kolek...

Tagi: Linq
Dziel się z innymi:
LINQ i opóźnione wywołanie « Netmajor's Tech Blog

Inne 2022 dni, 12 godzin, 24 minuty temu http://pawlos.blogspot.com/ 233 rozwiń

Na początku stwórzmy strukturę z konstruktorem przyjmującym dwa parametry:publicstruct SampleStruct { public SampleStruct(int x, int y) { _x = x; _y = y; } privateint _x, _y; } Czy powyższy kod jest prawidłowy? Tak, skompiluje się i będzie działał bez problemów. Zdefiniujmy więc domyślny konstruktor:publicstruct SampleStruct { public SampleStruct() { _x = _y =0; } public SampleStruct(int x, int y) { _x = x; _y = y; ...

Tagi: struktury
Dziel się z innymi:
Piotr Zieliński » Dlaczego struktury nie mogą posiadać konstruktora bez parametrów?

Inne 2024 dni, 2 godziny, 24 minuty temu pzielinski 216 rozwiń

Tak jak pisałem we wcześniejszych częściach ([RX 1], [RX 2], [RX 3], [RX 4]), Reactive Extensions dla .NET oferują mnóstwo pomocniczych rozszerzeń pozwalających na proste tworzenie obserwowalnych kolekcji. Przyjrzyjmy się tym najbardziej podstawowym. Najprymitywniejsze kolekcje obserwowalne Poniższa tabela przedstawia najprymitywniejsze (lub inaczej najprostsze) kolekcje obserwowalne. Dla każdego przykładu oprócz funkcji generującej obserwowalną kolekcję, podano również odpowiednik w postaci kolekcj...

Tagi: IObservable, Rx
Dziel się z innymi:
[RX 5] Tworzymy obserwowalne kolekcje w Reactive Extensions [PL] | Maciej Zbrzezny: Programowanie i Technologie

Inne 2025 dni, 10 godzin, 34 minuty temu http://pawlos.blogspot.com/ 101 rozwiń

W zeszłym poście pisałem o strukturach w c#. Jednym z ważnych efektów ubocznych jest boxing oraz unboxing. Jak wiemy z poprzedniego wpisu struktury przechowywane są na stosie a klasy na stercie. Boxing to niż innego jak wrapping struktury (lub jakiekolwiek innego typu wartościowego) w obiekt przechowywany na stercie. Na przykład:int value=0; object boxedValue=value; // boxing Zmienna value przechowywana jest na stosie, z kolei boxedValue na stercie (pamiętajmy o nagłówku oraz GC). Należy zwrócić szcz...

Tagi: boxing, unboxing
Dziel się z innymi:
Piotr Zieliński » Boxing i unboxing.

Inne 2026 dni, 11 godzin, 46 minut temu pzielinski 215 rozwiń

Przeglądając kod wielu projektów, zarówno komercyjnych jak i open source, można spotkać całą masę konwencji nazewniczych stosowanych do klas i metod testujących. Dzisiaj przedstawię kilka moich zasad w tej materii wraz z uzasadnieniem. Wychodzę z założenia, że bardziej niż konwencja, standard czy "przyjęta dobra praktyka" liczy się czytelność pisanego kodu i łatwość powrotu do niego nawet po kilku miesiącach od napisania. Dlatego też w swoich projektach nie mam zdefiniowanej jedynego słusznego schematu n...

Dziel się z innymi:
Maciej Aniserowicz | [UT-6.1] Jak nazywam testy

Inne 2033 dni, 1 godzinę temu http://pawlos.blogspot.com/ 234 rozwiń

Znajomość różnić między klasą a strukturą w c# jest bardzo ważna ze względu na kwestie wydajnościowe. Sposób wykorzystania może czasami wydawać się bardzo podobny, jednak to co dzieje się w tle jest kompletnie różne. W przypadku C++, struktury i klasy były bardzo podobne i reprezentowane były w pamięci w taki sam sposób. Różnica polegała na tym, że pola klas domyślnie były prywatne, a struktur publiczne. Przede wszystkim struktura jest wartością (value type) a klasa typem referencyjnym. Value Type jest ...

Tagi: klasy, struktury
Dziel się z innymi:
Piotr Zieliński » Klasy i struktury w C#

Inne 2034 dni, 50 minut temu pzielinski 369 rozwiń

Na dzień dzisiejszy wybierając "mocking framework" stawiam właśnie na fakeiteasy. Ma ona jeden ciemny zakamar, w którym można nieźle pobłądzić... a jest to testowanie wywołania settera.

Dziel się z innymi:
Maciej Aniserowicz | Testowanie setterów w fakeiteasy

Inne 2034 dni, 23 godziny, 34 minuty temu http://pawlos.blogspot.com/ 169 rozwiń

W dzisiejszym poście kilka słów i imporcie implementacji. W poprzednich postach, pokazałem jak dokonywać prostych importów. Dzisiaj trochę więcej szczegółów. Dla przypomnienia, aby zaimportować (wstrzyknąć) implementację, w najprostszym przypadku używamy po prostu atrybutu Import:publicclass SampleViewModel { //... [Import] public IMessageBoxService MessageBoxService{get;set;} } Powyższy przykład reprezentuje wstrzyknięcie właściwości. W podobny sposób można wstrzykiwać parametry dla ko...

Tagi: MEF
Dziel się z innymi:
Piotr Zieliński » MEF: import, część III

Inne 2035 dni, 10 godzin, 53 minuty temu pzielinski 98 rozwiń

Niedawno po raz pierwszy w życiu musiałem mockować implementację interfejsu IEnumerable<T>. Chodziło o jakieś dziwne struktury używane wewnętrznie przez FIM. Problem polegał na tym, że obiekt mockowanego przeze mnie typu zwracał kolekcję innych obiektów. Ta kolekcja była właśnie IEnumerable<X>... ale nie mogłem stworzyć jej instancji, ponieważ wspomniana klasa XCollection była abstrakcyjna, a jej implementacja siedziała zaszyta gdzieś wewnątrz jakichś dllek. Jednocześnie chciałem przetestować...

Dziel się z innymi:
Maciej Aniserowicz | Mockowanie IEnumerable/IEnumerator z fakeiteasy

Inne 2041 dni, 11 godzin, 41 minut temu http://pawlos.blogspot.com/ 205 rozwiń

Odpowiedź na pytanie postawione w tytule pytanie to temat nie na posta, ale na całą (może nawet niejedną) książkę. Poniżej postaram się nakreślić najważniejsze według mnie aspekty tworzenia testów... chociaż na pewno lista ta nie jest kompletna. Aha, no i nie jestem w stanie podać niezawodnej recepty na "dobry test". Zgłębiam temat od dobrych kilku lat i sam ciągle się uczę, więc cudów nie ma - praktyka i identyfikowanie własnych pomyłek jest najlepszym nauczycielem:).

Tagi: testowanie, testy
Dziel się z innymi:
Maciej Aniserowicz | [UT-6] Jak testować?

Inne 2043 dni, 2 godziny, 56 minut temu http://pawlos.blogspot.com/ 163 rozwiń

Umieszczenie artykułu na dotnetomaniaku może dać znaczący wzrost liczby odwiedzin na blogu (:)). Można jednak pomóc temu procesowi i przyciągnąć do nas jeszcze więcej osób. W poniższym wpisie postaram się pokazać jak to zrobić.Nie śpiesz się

Dziel się z innymi:
Jak wycisnąć więcej z dotnetomaniaka..

Inne 2044 dni, 10 godzin, 33 minuty temu macko 242 rozwiń

Spóźniona trochę porada jak wdrażać projekty Azure za pomocą Web Deploy: http://msdn.microsoft.com/pl-pl/library/szybka-aktualizacja-projektu-azure-za-pomoca-web-deploy.aspx

Tagi: Azure
Dziel się z innymi:
Piotr Zieliński » Szybka aktualizacja projektu Azure za pomocą Web Deploy

Inne 2044 dni, 10 godzin, 33 minuty temu pzielinski 40 rozwiń

1 2... 39 40 41 42 43 44... 85 86
Szkolenia SecurITum

wrzesień

14.
devConf
Kraków
20.

październik

Zobacz wszystkie

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 664,47)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 386,26)

8

Damian (9 096,1)

9

danielplawgo (7 235,99)

10

arek (6 807,95)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 643,06)

15

jedmac (3 318,39)

16

http://jakub-flor... (3 224,66)

17

spetz (3 158,28)

18

CaMeL (2 954,87)

19

lkurzyniec (2 669,92)

20

mnikolajuk (2 596,93)