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

Wbudowany mechanizm optymalizacji może czasami przynieść zaskakujące wyniki. Rozważmy poniższy fragment kodu:string var1 ="text"; string var2 ="text"; bool condition =object.ReferenceEquals(var1, var2); Wydawałoby się, że var1 i var2 stanowią dwie osobne referencje. Po uruchomieniu kodu przekonamy się jednak, że zmienna condition będzie miała wartość true. Spowodowane jest to wykonaną optymalizacją, polegającą na tym, że .NET przechowuje zbiór użytych w programie napisów. Deklarując  zmienną przec...

Dziel się z innymi:
Piotr Zieliński  » Blog Archive » Optymalizacja klasy String

Inne 3208 dni, 28 minut temu pzielinski 252 źrodło rozwiń

Na blogu oraz MSDN pisałem niejednokrotnie o testach jednostkowych oraz integracyjnych. Ostatnio jednak zastanawiałem się nad podstawowym problemem – jak zorganizować to od strony struktury katalogowej? Musimy rozważyć następujące problemy:Testy powinny być w każdej chwili dostępnie do odpalenia i weryfikacji.Wykonując prostą refaktoryzację (zmiana nazwy klasy), automatycznie nazwa powinna zaktualizować się w testach.Testy jednostkowe stanowią dobrą dokumentację oraz instrukcję używania zaimplementowanej...

Tagi: testy, unit-tests
Dziel się z innymi:
Piotr Zieliński » Testy jednostkowe–struktura folderów

Inne 3212 dni, 13 godzin, 34 minuty temu pzielinski 114 źrodło rozwiń

Dzisiaj będę się chwalił się swoją niewiedzą. Kilka dni temu kolega zadał mi pytanie, którym skutecznie mnie zagiął. Ponieważ uważam, że głupotą nie jest brak wiedzy co raczej udawanie, że się ją posiada, czym prędzej się Wam tym pytaniem chwalę.  Co zostanie wyświetlone po takim kodzie i dlaczego?  string string1 = "Test"; string string2 = string1; string string3 = "Test"; Console.WriteLine(Equals(string1, string2)); // 1. Console.WriteLine(Equals(string1, string3)); // 2. Console.WriteLine(ReferenceE...

Dziel się z innymi:
Oskar at .NET: Ciekawostki cz. 1

Inne 3212 dni, 13 godzin, 34 minuty temu oskar-at-net 378 źrodło rozwiń

W przyszłych postach chcę zająć się Reactive Extensions, jednak zanim zacznę cykl postów o tym, najpierw przedstawię dwa interfejsy wprowadzone w .NET 4.0. Interfejsy umożliwiają implementację wzorca obserwator. IObserver powinien zostać zaimplementowany dla klasy, która chcę być powiadamiana o zmianach dokonywanych na klasie implementującej IObservable. Przyjrzyjmy się najpierw metodom IObserver:OnCompleted – obserwacja wszelkich zmian zakończona.OnError – wystąpił błąd.OnNext – Nowa zmiana np. dodano e...

Dziel się z innymi:
Piotr Zieliński » Interfejsy IObservable oraz IObserver

Inne 3213 dni, 4 godziny, 47 minut temu pzielinski 209 źrodło rozwiń

Z klasami częściowymi większość programistów c# prawdopodobnie miała już styczność. Klasycznym przykładem jest rozbicie klasy Form na część wygenerowaną przez Visual Studio oraz na część przeznaczoną do modyfikacji przez programistę. Metody częściowe są bardzo podobnym mechanizmem. W skrócie są to metody, które można definiować w dwóch różnych plikach. Zdecydowałem się o nich napisać ponieważ wydaje mi się, że są mniej znane, a czasami mogą okazać się przydatne. Sama deklaracja jest analogiczna do klas ...

Dziel się z innymi:
Piotr Zieliński » Metody częściowe(partial methods)

Inne 3213 dni, 5 godzin, 40 minut temu pzielinski 139 źrodło rozwiń

No właśnie, tak naprawdę dlaczego? Dla sławy, pieniędzy, lasek, szybkich samochodów? Sweterków w romby, okularów, flanelowych koszul? Czy może jeszcze z jakichś innych powodów?

Dziel się z innymi:
Dlaczego warto zostać programistą?

Inne 3215 dni, 20 godzin, 16 minut temu http://blog.krzysztofszumny... 484 źrodło rozwiń

Z serii: artykuły dla zielonych, może komuś pomoże zrozumieć czym są interfejsy w technologii .NET

Tagi: .Net, C#, interface
Dziel się z innymi:
[C#] Interfejsy – z czym to się je? « Arvangen

Inne 3216 dni, 13 godzin, 37 minut temu Arvangen 325 źrodło rozwiń

W języku c# obiekt, którego zasobami chcemy sami zarządzać, powinien implementować interfejs IDisposable. Sporo osób aby zwolnić zasoby pisze następujący kod:publicclass MyClass : IDisposable { #region IDisposable Memberspublicvoid Dispose() { // zwalnianie zasobow } #endregion } Interfejs niestety wymusza nam tylko implementację metody Dispose. Powyższe rozwiązanie jest zdecydowanie nieprawidłowe. Zanim  jednak przejdę do omawia co w kodzie jest niepoprawnego, podam prawidłową ...

Tagi: dispose, zasoby
Dziel się z innymi:
Piotr Zieliński » Prawidłowe zwalnianie zasobów

Inne 3216 dni, 13 godzin, 37 minut temu pzielinski 339 źrodło rozwiń

Od początków istnienia Internetu, jedną z jego głównych funkcji było zadawanie pytań odpowiednio sprofilowanemu gronu słuchaczy – np. grupom dyskusyjnym Usenetu – i otrzymywanie na nie odpowiedzi. Narzędzia i sposoby komunikacji się zmieniają (mamy teraz fora, strony typu StackExchange, a nawet serwisy społecznościowe), ale ich przydatność w rozwiązywaniu programistycznych problemów pozostaje co najmniej niezmienna.

Źródło: xion.org.pl
Dziel się z innymi:
xion.log » Rozwiązywanie problemów w trzech prostych krokach

Inne 3216 dni, 13 godzin, 37 minut temu gordon_shumway 210 źrodło rozwiń

Słów kilka na temat tego, co złego może kryć za sobą ta pozornie niewinna praktyka.

Tagi: domeny, internet
Źródło: opengrid.pl
Dziel się z innymi:
Nie pozwólmy na utrwalenie praktyki tworzenia subdomeny m.*

Inne 3218 dni, 7 godzin, 13 minut temu http://anonimowyprogramista... 318 źrodło rozwiń

Czasami typ ENUM znajduje zastosowanie(czasami ponieważ często ogranicza on modułowość aplikacji). W wielu przypadkach potrzebujemy jednak skojarzyć pewien opis z każdą wartością enum’a. Jako praktyczny scenariusz można wymienić implementację menedżera dźwięków. Dla przykładu w pewnej grze, którą współtworzyłem aby uatrakcyjnić interfejs dla programisty zdefiniowałem sobie typ enumeryczny SOUNDTYPE:publicenum SOUNDTYPE { ROCKETLAUNCH, MACHINEGUN_LAUNCH } Programista zatem chcąc wykorzystać d...

Tagi: Enum
Dziel się z innymi:
Piotr Zieliński » Jak dodać opis wartości ENUM?

Inne 3219 dni, 19 godzin, 56 minut temu pzielinski 361 źrodło rozwiń

Programując własne biblioteki, często potrzebujemy zdefiniować własny typ wyjątku. Przeglądając różnego rodzaju kody źródłowe nierzadko spotykam błędną deklarację własnych wyjątków:publicclass MyException : Exception { // specyfikacja } Co prawa kompilator nie zgłosi błędu ale już np. CodeAnalysis zwróci nam uwagę o błędnej deklaracji. Najprościej korzystać w Visual Studio z tzw. snippet’ów czyli gotowych fragmentów kodu. Naciskając klawisze ctrl+space pojawi nam się lista dostępnych snippetów w VS...

Tagi: wyjątki
Dziel się z innymi:
Piotr Zieliński » Prawidłowe definiowanie wyjątków w c#

Inne 3220 dni, 1 godzinę, 57 minut temu pzielinski 367 źrodło rozwiń

O wielowątkowości pisałem już niejednokrotnie. Niestety w żadnym z moich postów, nie wyjaśniłem podstawowych pojęć związanych z współbieżnością. Oczywiście jeśli wykorzystujemy wątki do prostych zadań typu asynchroniczne połączenie z usługą, poważniejszych problemów nie doświadczymy. W przypadku jednak nieco bardziej zaawansowanych algorytmów, musimy zawsze badać nasz kod pod kątem: 1. Zakleszczenie (deadlock) – występuję gdy wątek A czeka aż wątek B skończy swoją operację a wątek B czeka aż wątek A zako...

Dziel się z innymi:
Piotr Zieliński » Wielowątkowość: podstawowe pojęcia – deadlock, livelock, starvation.

Inne 3220 dni, 1 godzinę, 57 minut temu pzielinski 341 źrodło rozwiń

Generator haseł z możliwością parametryzacjilis 21 2011 9:48 W końcu nadszedł ten dzień, kiedy metoda Membership.GeneratePassword przestała mi wystarczać. Zawiedziony niewystarczającymi możliwościami tego generatora napisałem poniższy kawałek kodu:using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using Olsoft.Common.Extensions; namespace Olsoft.Common.Security { public interface IPasswordGenerator { string Generate(int length)...

Tagi: generator, hasła
Źródło: jdubrownik.com
Dziel się z innymi:
Generator haseł z możliwością parametryzacji - jdubrownik.com

Inne 3220 dni, 12 godzin, 36 minut temu Paweł Łukasik 184 źrodło rozwiń

No niestety tezę tę opieram na swoim przykładzie. Skąd więc taka generalizacja, że posądzam o lenistwo wszystkich? Bazuję na swoich odczuciach i na przeświadczeniu, że gdy sam sobie organizuje pracę, to lenistwo mnie nie nęka!

Dziel się z innymi:
Anonimowy programista: Każdy programista może stać się leniem...

Inne 3221 dni, 3 godziny, 53 minuty temu http://anonimowyprogramista... 333 źrodło rozwiń

Dzisiaj króciutki post. Wchodząc we właściwości projektu jako Target Platform można zauważyć .NET Framework 4 Client profile oraz .NET Framework 4. Jaka jest różnica? Client profile to taka mocno uproszczona wersja .NET framework przeznaczona dla aplikacji klienckich. Dzięki temu użytkownik nie musi instalować pełnego .NET Framework a uproszczony i mniej ważący Microsoft .NET Framework 4 Client Profile. Wersja kliencka zawiera między innymi wsparcie dla WPF, WCF, WWF, Entity Framework, Linq To SQL, MEF. ...

Dziel się z innymi:
Piotr Zieliński » .NET Framework 4 Client Profile vs .NET Framework 4

Inne 3233 dni, 14 godzin, 15 minut temu pzielinski 273 źrodło rozwiń

Od jakiegoś czasu chciałem napisać coś o refleksji, gdyż od kiedy niedawno zacząłem jej używać spodobała mi się bardzo Dziś krótko bo szybko.

Tagi: Ref
Dziel się z innymi:
Troche z refleksji « Netmajor's Tech Blog

Inne 3234 dni, 22 godziny, 7 minut temu netmajor 125 źrodło rozwiń

Kilka dni temu, w zgodzie z tym co wykazała ankieta - Programiści to stworzenia nocne - kodowałem sobie jakieś mało znaczące rzeczy pomiędzy 2 a 3 nad ranem. Jako, że niewiele się o tej porze dzieje, można spokojnie skupić się na programowaniu :). Jakież było moje zdziwienie, gdy o godzinie 2:28 nagle zaczęły spływać raporty błędów z dotnetomaniaka. Sam fakt pojawienia się błędów nie jest jeszcze jakiś niezwykły - wiadomo, od czasu do czasu może pójść coś nie tak. Bardziej interesujący był komunikat kt...

Dziel się z innymi:
Podróże w czasie - DST

Inne 3234 dni, 22 godziny, 7 minut temu macko 257 źrodło rozwiń

1 2... 67 68 69 70 71 72... 112 113
AsyncExpert

Najaktywniejsi

1
(32 895,6)
2
(32 816,53)
3
(27 178,29)
4
(21 178,88)
5
(20 336,33)
6
(13 018,14)
7
(10 512,54)
8
(9 775,28)
9
(8 428,28)
10
(6 822,96)
11
(6 214,22)
12
(5 393,84)
13
(4 142,41)
14
(4 026,73)
15
(3 908,07)
16
(3 599,64)
17
(3 448,35)
18
(3 318,39)
19
(3 224,66)
20
(3 173,43)