dotnetomaniak.pl

dotnetomaniak.pl - Najnowsze artykuły o .NET w dziale Sztuka programowania - Strona 31

Prosty wzorzec, jak tworzyć kontekst aplikacji z obiektami ładującymi się tylko w razie potrzeby.

Tagi: lazy loading
Źródło: us3r.pl
Dziel się z innymi:
LazyLoading kontekstu aplikacji

Sztuka programowania 1447 dni, 1 godzinę, 33 minuty temu us3r 292 rozwiń

.NET Micro Framework to framework z rodziny .NET służący do oprogramowywania systemów typu embedded z ograniczonymi zasobami pamięci. Minimalne wymagania to 256 kB pamięci flash oraz 64 kB pamięci RAM. .NET Micro to taki młodszy brat .NET Framework z bardzo okrojonym BCL, WPF i WCF (wersja 4.x). Jeżeli programowałeś wcześniej w “pełnym dotnecie”, przesiadka na Micro może okazać się szokiem. Niby to ten sam C#, jednak braki w BCL (wynikające z ograniczeń platformy sprzętowej) szybko dają się we znaki.

Źródło: jdubrownik.com
Dziel się z innymi:
jdubrownik.com - Testy jednostkowe w .NET Micro Framework

Sztuka programowania 1447 dni, 1 godzinę, 33 minuty temu jdubrownik 128 rozwiń

W ostatnich postach przedstawiałem różne scenariusze użycia PLINQ. Ze względu na zrównoleglenie przetwarzania, kolejność na wyjściu nie zawsze będzie taka sama. Najlepiej to rozważyć na przykładzie:int[] numbers = Enumerable.Range(1, 50).ToArray(); foreach(int number in numbers.AsParallel().Where(n=>n>2)) { Console.WriteLine(number); } W scenariuszu sekwencyjnym, spodziewalibyśmy się liczb z zakresu 3-50. Skoro sekwencja wejściowa ma uporządkowane liczby od 1-50 to po wykonaniu zapytania oczekujemy p...

Tagi: PLINQ
Dziel się z innymi:
Piotr Zieliński » PLINQ (część III) – scalanie oraz zachowanie kolejności

Sztuka programowania 1454 dni, 2 godziny, 14 minut temu pzielinski 114 rozwiń

Kawał dobrego materiału dla wszystkich, którzy chcą pogłębić i/lub usystematyzować swoją wiedzę dotyczącą TDD (ang. Test Driven  Development) przygotował Roy Osherove. Kim jest Roy? Większość pewnie wie, że ...

Dziel się z innymi:
TDD master classes by Roy Osherove - Tymoteusz Kęstowicz

Sztuka programowania 1456 dni, 15 godzin, 58 minut temu tkestowicz 214 rozwiń

W ostatnim poście omówiłem podstawy PLINQ. Dzisiaj już czysta praktyka. Zacznijmy od prostego zapytania, które może zostać wykonane równolegle:internalstaticclass Sample { publicstaticvoid Main() { IEnumerable

Tagi: PLINQ
Dziel się z innymi:
Piotr Zieliński » PLINQ (część II)–porównanie wydajności prostych zapytań. Wymuszenie PLINQ.

Sztuka programowania 1457 dni, 11 godzin, 55 minut temu pzielinski 116 rozwiń

Wpis przedstawia sposób stworzenia i użycia AttachedProperties, w celu rozszerzenia funkcjonalności istniejących już komponentów. Problem bindingu do ActualWidth oraz ActualHeight zostanie rozwiązany. Szczególnie przydatne podczas pisania aplikacji modern!

Źródło: www.karolszmaj.pl
Dziel się z innymi:
Przepraszam bardzo, ale dlaczego tego nie ma? Na ratunek AttachedProperties ← KarolSzmaj.pl

Sztuka programowania 1457 dni, 11 godzin, 55 minut temu razor118 173 rozwiń

20.03.2013 Średnio raz w miesiącu NHibernate doprowadza mnie do białej gorączki wyjątkiem: System.Transactions.TransactionAbortedException: The transaction has aborted. ---> System.Data.SqlTypes.SqlTypeException: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. Powodem powstania tego wyjątku jest niewypełnienie (lub błąd w definicji mapowania) właściwości DateTime obiektu biznesowego zapisywanego do bazy danych. Problem w tym, że treść tego komunikatu jest tak ogó...

Źródło: jdubrownik.com
Dziel się z innymi:
jdubrownik.com - Zrób to sam - NHibernate Profiler

Sztuka programowania 1459 dni, 7 godzin, 35 minut temu jdubrownik 147 rozwiń

Załóżmy, że mamy timer, który co jakiś próbuje połączyć się np. z usługą:internalstaticclass Sample { publicstaticvoid Main() { using (Timer timer =new Timer(Run, null,0,1000)) { Thread.Sleep(500000); } } privatestaticvoid Run(Object state) { Console.WriteLine("Operacja, ktora moze potrwac czasami nawet kilka minut."); } } Powyższy kod w wielu sytuacjach jest poprawny. Należy jednak mieć na uwadze, że operacje takie jak połączenie z bazą danych ...

Tagi: timer
Dziel się z innymi:
Piotr Zieliński » Code Review: Timery

Sztuka programowania 1463 dni, 37 minut temu pzielinski 145 rozwiń

Chciałbym rozpocząć nowy cykl na blogu, tym razem o PLINQ.  Dzisiaj zaczniemy od podstaw czyli czym jest LINQ oraz kiedy z niego korzystać. PLINQ to skrót od Parallel Linq czyli są to zapytania wykonywane równolegle. W dzisiejszym świecie, programiści starają się zrównoleglić co tylko jest możliwe. Samodzielne pisanie LINQ w sposób równoległy jest dość niewygodne i dlatego Microsoft wprowadził PLINQ. Należy oczywiście zawsze pamiętać, że próba zrównoleglenia operacji, które muszą po prostu zostać wykona...

Tagi: Linq, Parallel, PLINQ
Dziel się z innymi:
Piotr Zieliński » PLINQ – wprowadzenie

Sztuka programowania 1463 dni, 18 godzin, 17 minut temu pzielinski 207 rozwiń

Wielokrotnie pisałem o różnych metodach definiowania sekcji krytycznej w kodzie. Do dyspozycji mamy spinning, który nie usypia wątku. Tak naprawdę dla systemu Windows, taki wątek wciąż istnieje i wykonuje pracę – innymi słowy marnuje  czas CPU. Jeśli chcemy zatrzymać wątek na krótko wtedy jest to bardzo wydajne ponieważ nie musimy zmieniać kontekstu (BARDZO kosztowne), korzystać z funkcji Windows (spinning to czysta metoda .NET) czy planować (scheduling) następnych wątków. Jeśli mechanizmy takie jak spin...

Dziel się z innymi:
Piotr Zieliński » Wydajność: spinning a synchronizacja kernel

Sztuka programowania 1465 dni, 17 godzin, 28 minut temu pzielinski 77 rozwiń

Operacje na plikach mogą być bardzo czasochłonne. Z tego względu, dobrym zwyczajem jest umieszczenie kodu w osobnym wątku. Często popełnianym błędem jest samodzielne tworzenie wątku:internalstaticclass Sample { publicstaticvoid Main() { var reader =new FileStream(@"c:\setup\1.txt", FileMode.Open); Task.Factory.StartNew(()=>ReadAsync(reader)); } privatestaticvoid ReadAsync(Stream reader) { byte[]buffer=newbyte[100]; reader.Read(buffer, 0, 100); reader.Clos...

Dziel się z innymi:
Piotr Zieliński » Code Review: Asynchroniczne strumienie danych

Sztuka programowania 1468 dni, 15 godzin, 15 minut temu pzielinski 160 rozwiń

To jedyne przykazanie w całym Devkalogu pozostawione w oryginalnej formie. Nie kradnij srajtaśmy z biura? Owszem, nie kradnij, ale ja nie o tym. Nie kradnij poprzez piracenie oprogramowania/muzyki/filmów? Owszem. Ale ja nie o tym. Dawno temu, jeszcze w 2008 roku, Jeremy Millernapisał: If you’re writing ADO.Net code by hand, you’re stealing from your employe...

Dziel się z innymi:
Nie kradnij | Maciej Aniserowicz o programowaniu

Ponieważ z knockout.js mam do czynienia od dłuższego czasu (dokładnie od wersji 1.0 ;) ), postanowiłem podzielić się moimi spostrzeżeniami ze tymi, którzy chcą wykorzystać ten framework w swojej pracy, jak również osobami które już go stosują oraz generalnie wszystkim zainteresowanym w pisaniu ustrukturyzowanych skryptów JS.

Simple Solutions: Knockout.js - spostrzeżenia

Sztuka programowania 1470 dni, 23 godziny, 27 minut temu http://horusiath.blogspot.com/ 310 rozwiń

Kolejna część cyklu – zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/optymalizacja-kodu-c-sharp–czesc-3

Tagi: wydajność
Dziel się z innymi:
Piotr Zieliński » Artykuł- Optymalizacja kodu C# – część III

Sztuka programowania 1471 dni, 16 godzin, 24 minuty temu pzielinski 210 rozwiń

W celu optymalizacji każdy procesor posiada swój cache. Temat jest dosyć rozbudowany bo zwykłe cache jest podzielony na kilka warstw aby przyśpieszyć dostęp do niego. W dzisiejszym w poście chciałbym wprowadzić pojęcie cache line co jest tak naprawdę po prostu wpisem w pamięci podręcznej. Jeśli procesor czyta jakieś dane to umieszcza je w cache line. Cache line to nie tylko jedna, pojedyncza zmienna a na przykład 64 bajty. Jeśli zatem czytamy pojedynczą zmienną Int32,  w rzeczywistości procesor przeczyta...

Dziel się z innymi:
Piotr Zieliński » CPU, caching a wydajność.

Sztuka programowania 1475 dni, 1 godzinę, 29 minut temu pzielinski 195 rozwiń

WebAuthenticationBroker jest ciekawą klasą umożliwiającą autoryzację użytkownika poprzez protokół OAuth 2.0. Czy możemy jednak zrobić coś równie dobrego? Oczywiście, że tak.W tym wpisie zostanie przedstawiony sposób stworzenia swojego brokera do logowania użytkownika w wybranym serwisie.

WebAuthenticationBroker a może coś lepszego ? ← KarolSzmaj.pl

Sztuka programowania 1475 dni, 1 godzinę, 29 minut temu razor118 104 rozwiń

Jeżeli szukasz dobrego frameworka do MVVM dla WinRT, to koniecznie zobacz nowy ciekawy framework -StyleMVVM.

Tagi: MVVM, Windows 8, WinRT
Źródło: www.karolszmaj.pl
Dziel się z innymi:
Powiew świeżości MVVM dla Windows 8 – StyleMVVM

Sztuka programowania 1478 dni, 52 minuty temu razor118 286 rozwiń

Czasami zachodzi potrzeba serializacji obiektów, które powinny mieć  maksymalnie jedną kopie w tym samym AppDomain. Klasycznym przykładem jest System.DBNull, którego deklaracja wygląda następująco:[SerializableAttribute] [ComVisibleAttribute(true)] publicsealedclass DBNull : ISerializable, IConvertible Załóżmy, że mamy klasę, w której jedna z właściwości ma wartość System.DBNull. Oczywiście podczas serializacji i potem deserializacji nie chcemy tworzyć nowej instancji DBNull – jest to sprzeczne z ...

Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Serializacja obiektów typu singleton\NULL object

Sztuka programowania 1478 dni, 52 minuty temu pzielinski 101 rozwiń

Załóżmy, że mamy następujący kod:[Serializable] class Person { publicstring Name { get; set; } } Atrybut Serializable mówi, że będzie wspierana serializacja za pomocą IFormatter (np. BinaryFormatter). Jeśli chcemy wspierać ten mechanizm, zawsze powinniśmy tworzyć jawnie backing-field. Kompilator w końcu może wygenerować tak naprawdę dowolną nazwę. Zajrzyjmy do Reflector, aby zobaczyć jak wygląda wewnętrzna struktura:   Wygenerowane pole to:[CompilerGenerated] privatestring

Tagi: serializacja
Dziel się z innymi:
Piotr Zieliński » Code Review: serializacja a właściwości

Sztuka programowania 1480 dni, 13 godzin, 56 minut temu pzielinski 142 rozwiń

Po odłożeniu kodu na weekend, jego przeglądzie i uwzględnieniu komentarzy, można uznać proces refaktoryzacji za zakończony. Pisząc „proces” mam tu na myśli wykonanie refaktoryzacji o ściśle określonym celu – w tym przypadku było to stworzenie mechanizmu importu, który zastąpi używany obecnie. Nie wchodziły zatem w ten proces...

Me z .NET tete-a-tete » Nadeszła pora na cykl publikacji: „Historia pewnej refaktoryzacji”. Podsumowanie.

Sztuka programowania 1480 dni, 13 godzin, 56 minut temu PaSkol 82 rozwiń

1 2... 29 30 31 32 33 34... 37 38
Szkolenia SecurITum

kwiecień

03.
4developers
Warszawa
22.
GET.NET
Łódź
26.
CodeEurope
Kraków
Zobacz wszystkie

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 564,45)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 383,88)

8

Damian (9 041,08)

9

danielplawgo (7 235,99)

10

arek (6 807,9)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 498,06)

15

jedmac (3 298,38)

16

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

17

CaMeL (2 954,87)

18

spetz (2 653,17)

19

mnikolajuk (2 596,93)

20

lkurzyniec (2 554,5)