dotnetomaniak.pl

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

Niedawno kolega opowiedział mi o jeszcze jednym przypadku kiedy opisane przeze mnie zachowanie konstruktora statycznego w środowiskach x86/x64 doprowadziło do kłopotów. Scenariusz był dość ciekawy, dlatego go opiszę na uproszczonym przykładzie. Zacznijmy od tego, że napisaliśmy zarządzany komponent COM. Komponent ten w konstruktorze statycznym czyta wartość jakiegoś parametru konfiguracyjnego z pliku i na tej podstawie coś robi. W poniższym przykładzie, żeby nie komplikować sprawy, po p...

Dziel się z innymi:
Michał Komorowski: Dziwne zachowanie konstruktora statycznego - ciąg dalszy 2

Inne 1671 dni, 5 godzin, 21 minut temu http://pawlos.blogspot.com/ 87 rozwiń

W C# istnieje kilka metod sprawdzania czy obiekty są takie same. Czasami budzi to zamieszanie i dlatego w dzisiejszym wpisie chciałbym rozjaśnić wszelkie różnice i wyjaśnić jak prawidłowo powinno to być zaimplementowane. Mamy dwa sposoby porównywania obiektów. Pierwszy to sprawdzenie czy wskazują na taki sam obszar pamięci. Druga metoda polega na porównaniu wszystkich pól i sprawdzeniu czy są takie same. Jeśli pola mają taką samą wartość to przyjmujemy, że obiekty są sobie równe (value identity). W .NE...

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Porównywanie obiektów

Inne 1671 dni, 5 godzin, 21 minut temu pzielinski 207 rozwiń

W dzisiejszym wpisie pokażę w jaki sposób za pośrednictwem Entity Framework możemy wywoływać procedury składowane zwracające wyniki w postaci wartości skalarnej lub poprzez parametr wyjściowy.

Dziel się z innymi:
Entity Framework – wywoływanie procedur składowanych « Developer notes

Inne 1672 dni, 12 godzin, 1 minutę temu psz750 324 rozwiń

W ostatnim poście przedstawiłem sposób na implementację unii w C#. Dziś kilka przykładów. Proszę jednak zwrócić uwagę, że unie zostały wprowadzone w czystym C, który nie miał nic wspólnego z programowaniem obiektowym. Dzisiaj możemy wiele konstrukcji lepiej napisać, wykorzystując klasy. Unie również ważną rolę odgrywały w optymalizacji.  W c# sprawa wygląda inaczej, ponieważ jeśli zgodziliśmy się na zarządzaną pamięć przez GC, raczej nie zależy nam na oszczędzaniu kilku bajtów. Niemniej jednak klasyczny...

Tagi: C#, unie
Dziel się z innymi:
Piotr Zieliński » Unie w C#–zastosowanie

Inne 1674 dni, 11 godzin, 14 minut temu pzielinski 178 rozwiń

Dziś trochę o .NET Framework i strukturze BigInteger. Myślę, że komuś może to oszczędzić czasu na pisaniu własnych implementacji. Każdy z nas korzystał z typów takich jak short, int czy long. W większości przypadków w zupełności one wystarczającą i pokrywają większość scenariuszy. Czasami jednak aplikacja musi operować na dużo większych liczbach niż 32 czy 64 bitowe zmienne. BigInteger potrafi przechować dowolnie wielką liczbę całkowitą (ujemną lub dodatnią). BigInteger znajduje się w bibliotece System...

Tagi: BigInteger, C#
Dziel się z innymi:
Piotr Zieliński » Klasa BigInteger

Inne 1677 dni, 17 godzin, 56 minut temu pzielinski 127 rozwiń

W poprzednim poście omówiłem atrybut StructLayout. Dzisiaj z kolei więcej przykładów. Głównie StructLayout wprowadzono aby móc wykonywać kod niezarządzany w .NET. Czasami wciąż zachodzi potrzeba wykorzystania niektórych funkcji z WinAPI. Cześć funkcji przyjmuje jako parametr struktury danych, które oczywiście musimy zmapować na strukturę c#. Na przykład, załóżmy, że mamy następującą strukturę:typedef struct DISPLAYDEVICE { DWORD cb; TCHAR DeviceName[32]; TCHAR DeviceString[128]; DWORD StateFlag...

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » StructLayout–zastosowanie

Inne 1680 dni, 20 godzin, 36 minut temu pzielinski 69 rozwiń

Of course, the problem as it is not difficult to resolve. We can use the reflection to do that and that’s all. But what will happen if we have such a class: Then, you cannot simply use reflection without the knowledge about input parameters. Of course, if it cannot work with some default values like null or string.Empty then you could put some dummy information to every argument, and after that assign during the deserialization process you will assign the proper data to fields.

[EN] How to instantiate class without public constructor in C# during deserialization? « Jacek Spólnik's blog

Inne 1680 dni, 20 godzin, 36 minut temu http://pawlos.blogspot.com/ 77 rozwiń

If you have read about the new features in 4.0 then probably you stumbled on a SpinWait structure and a MSDN article and the example code it provides. I'm going to show you what I think it's wrong with it.

Dziel się z innymi:
[EN] Lock Free And SpinWait MSDN Example | Passion of Programming in .NET

Inne 1682 dni, 7 godzin, 31 minut temu http://badamczewski.blogspo... 32 rozwiń

Zanim przejdę do wyjaśniania po co został wprowadzony atrybut StructLayout, najpierw wyjaśnię jak pola w strukturach danych są rozmieszczane w pamięci. Weźmy na przykład taką strukturę:struct SampleStruct { publicbyte OneByte; publicint FourBytes; publicbyte OneByte1; } Ile pamięci powinno zostać zaalokowanej dla powyższej struktury? Może wydawać się, że 6 ponieważ Integer zajmuje 4 a Byte 1. Ze względu na optymalizacje nie jest to takie proste i oczywiste. Na moim komputerze jest to 12. Proc...

Tagi: C#, StructLayout
Dziel się z innymi:
Piotr Zieliński  » StructLayout – wprowadzenie

Inne 1683 dni, 11 godzin, 26 minut temu pzielinski 97 rozwiń

Pisane przez nas "biblioteki wielokrotnego użytku" mogą (a nawet: powinny być?) konfigurowalne. Konfiguracja musi być oczywiście rozprowadzana wraz z aplikacją korzystającą z takich bibliotek, więc obowiązkiem programisty aplikacji jest dołączenie do *config odpowiednich wpisów.

Dziel się z innymi:
Maciej Aniserowicz | Konfiguracja aplikacji rozbita na wiele sekcji i plików *.config

Inne 1683 dni, 11 godzin, 26 minut temu psz750 146 rozwiń

Jak wiemy, każdy obiekt, zarówno reference jak i value, pochodzi pośrednio\bezpośrednio od klasy object. Nie chce omawiać szczegółów ale jedną z protected metod dostarczonych przez object jest właśnie MemberwiseClone. Do czego ona służy? W skrócie: do wykonania tzw. płytkiej kopii (shallow copy). MemberwiseClone kopiuje obiekt pole po polu. Niestety jest to płytka kopia więc jak jakiś obiekt zawiera referencje do innych obiektów wtedy jedynie adres zostanie sklonowany a nie całe drzewo obiektów. Z typam...

Dziel się z innymi:
Piotr Zieliński  » Metoda MemberwiseClone

Inne 1686 dni, 7 godzin, 33 minuty temu pzielinski 100 rozwiń

Opublikowano Bardzo ciekawy wywiad z jednym z najbardziej zasłużonych dla środowiska .net-owego człowieka – z Andersem Hejlsberg-iem. To w dużej mierze dzięki niemu c# i .net jest tam gdzie dzisiaj jest.

Źródło: www.benedykt.net
Dziel się z innymi:
Wywiad : Behind the Code with Anders Hejlsberg | @rek online | Arkadiusz Benedykt

Inne 1689 dni, 10 godzin, 53 minuty temu arek 144 rozwiń

W poprzednim poście podałem krótki fragment kodu, który można było zoptymalizować. Wspomniałem o parametrze StringComparison, który zwykle sprawia problemy w zrozumieniu. W dzisiejszym wpisie postaram się wyjaśnić różnicę między poszczególnymi porównaniami. Dla przypomnienia istnieją następujące wartości StringComparison: 1. Ordinal  – domyślna wartość. Znaki zamieniane są na wartości numeryczne  i wtedy porównywane. Zdecydowanie najszybsza metoda jeśli chodzi o wydajność. 2. OrdinalIgnoreCase – tak ja...

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Porównywanie string’ów część II – ustawienia regionalne, StringComparison

Inne 1689 dni, 10 godzin, 53 minuty temu pzielinski 102 rozwiń

Kod:if(anyText.ToLower()=="tekst") { Console.WriteLine("Zmienne takie same"); } Kod ma na celu sprawdzenie czy jakaś zmienna jest równa danemu strumieniowi znaków. Nie chcemy brać pod uwagę wielkości liter więc dlatego używamy funkcji ToLower. Zatem if zwróci true gdy anyText jest równy “tekst” lub “TEKST” itp. Rozwiązanie ma jedną wadę – tworzony jest nowy, tymczasowy string po wywołaniu metody ToLower. W powyższym przykładzie będziemy mieli zatem 3 obiekty: anyText, obiekt dla “tekst” oraz obie...

Tagi: C#, Code review
Dziel się z innymi:
Piotr Zieliński » Code review: porównywanie string’ów

Inne 1692 dni, 10 godzin, 52 minuty temu pzielinski 201 rozwiń

Stop me if you know this one. You find a library/framework that does some­thing use­ful to you. You start using it and then realise it doesn’t work the way you want it in cer­tain sce­nario or has a miss­ing feature. What do you do then?Aban­don the library and look for alter­na­tive that is more “fea­ture rich”? Ask the author to sup­port your scenario/submit a pull request with the feature? Those two, from my expe­ri­ence, a...

Źródło: kozmic.pl
Dziel się z innymi:
[EN] Modularity is a feature | Krzysztof Koźmic on software

Inne 1694 dni, 18 minut temu http://pawlos.blogspot.com/ 53 rozwiń

Klasa Parallel stanowi doskonałe dopełnienie do task’ów.  Dostarcza trzy statyczne metody:Invoke – współbieżne uruchomienie kilku zadań. For – współbieżna pętla FOR. ForEach – współbieżna pętla foreach. Klasa stanowi helper, ponieważ wszystkie powyższe operacje można wykonać za pomocą obiektów Task lub Thread. Implementacja jednak własnej pętli współbieżnej jest zawsze trudniejsza niż użycie po prostu gotowej metody. Zacznijmy od Invoke, przykład:staticvoid Main(string[] args) { Parallel.Invoke(Me...

Tagi: C#, Parallel
Dziel się z innymi:
Piotr Zieliński » Klasa Parallel

Inne 1696 dni, 12 godzin, 10 minut temu pzielinski 98 rozwiń

W tym wpisie zajmę się omówieniem polecenia yield, udostępnionego w wersji 2.0 języka C#. Do czego służy ta instrukcja? Dzięki niej możemy tworzyć tzw. leniwe kolekcje, do których poszczególne elementy dodawane są dopiero w momencie zgłoszenia na nie zapotrzebowania. Żeby zaprezentować działanie polecenia yield, najpierw zobaczmy standardowy sposób tworzenia kolekcji.

Tagi: .Net, C#, yield
Dziel się z innymi:
Instrukcja yield return – tworzenie leniwych kolekcji danych « Developer notes

Inne 1699 dni, 23 godziny, 44 minuty temu psz750 346 rozwiń

Lock free data structures are very handy for concurrent programs especially that the number of cores increases. The benefits of such data structures is that they never acquire a lock, instead they do a form of a spin lock, where a local copy of the data must be stored and exchanged or updated by an processors atomic operation (like "compare and swap" or "fetch and add") only when the global value and the local copy match, otherwise we repeat the whole procedure. Almost every lock free data structure foll...

Tagi: C#
Dziel się z innymi:
[EN] Lock Free Work Stealing Queue | Passion of Programming in .NET

Inne 1703 dni, 11 godzin, 40 minut temu http://badamczewski.blogspo... 69 rozwiń

W ostatnim poście napisałem kiedy warto korzystać z strong-name. Jeśli ktoś uważnie prześledził screen’y dołączone do postu, być może dostrzegł, że jest tam opcja taka jak “Delayed Signing”. Do czego to służy? Sprawa jest bardzo prosta. Delayed signing po prostu nie używa klucza prywatnego. Taka biblioteka nie zawiera więc poprawnego podpisu cyfrowego a w miejsce jego zawiera same zera. Klucz publiczny z kolei jest wstawiany do biblioteki z tym, że nie jest liczony jej hash. Integralność zatem jest nie...

Dziel się z innymi:
Piotr Zieliński » Czym jest “Delayed signing”?

Inne 1704 dni, 1 godzinę, 58 minut temu pzielinski 125 rozwiń

Programując pod Sharepointa czy inne tego typu badziewie musimy podpisywać nasze assemblies i wrzucać je do GACa. Już dwa razy mnie to "ugryzło" i straciłem w sumie dobre kilka godzin na diagnostykę poniższego scenariusza: 1) piszę testy do funkcjonalności zawartej w podpisanej dllce 2) koduję implementację w tejże dllce 3) uruchamiam testy 4) dostaję wyjątek TypeLoadException czy coś innego w ten deseń mówiącego, że w testowanej dllce nie ma kodu który... przecież tam jest bo dopiero co go napisałem!

Dziel się z innymi:
Maciej Aniserowicz | Walka z G(K)ACem: DEVPATH

Inne 1704 dni, 18 godzin, 7 minut temu http://pawlos.blogspot.com/ 145 rozwiń

1 2... 31 32 33 34 35 36... 82 83
Szkolenia SecurITum

kwiecień

26.
CodeEurope
Kraków

maj

17.
InfoShare
Gdańsk
23.
CodeEurope
Wrocław
Zobacz wszystkie

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 603,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,91)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 578,06)

15

jedmac (3 308,39)

16

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

17

CaMeL (2 954,87)

18

spetz (2 783,21)

19

mnikolajuk (2 596,93)

20

lkurzyniec (2 590,68)