dotnetomaniak.pl

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

Jeśli miał ktoś do czynienia np. z CPP z pewnością kojarzy pojęcie destruktora. Jest to metoda, wywoływana w momencie zwalniania obiektu z pamięci (przeciwieństwo konstruktora). Zarówno w CPP jak w C#, nazwa destruktora stanowi ‘~’ plus nazwa klasy.

Dziel się z innymi:
Garbage Collector, część IV – destruktor i problemy

Inne 1852 dni, 18 godzin, 21 minut temu pzielinski 160 rozwiń

autor: Czy korzystacie z refleksji w .NET? Czy zdarzyło wam się przeglądać/ustawiać właściwości klas poprzez refleksje? Czy korzystacie z atrybutów? Mnie często i równie często zdarzało mi się ponownie szukać kodu, który rozwiązałby mój problem, dlatego dla wygody poniżej zamieszczam różne funkcje rozszerzające, które realizują wspomniane wyżej zadania. (być może komuś jeszcze się one przydadzą).

Metody rozszerzające, Atrybuty i Refleksje w .NET

Inne 1852 dni, 21 godzin, 10 minut temu paduda 243 rozwiń

Funkcja walidujaca REGON w VisualBasic .NET : Napisałem dziś funkcje w Visual Basic .NET (bo nigdzie w necie jeszcze nie ma) walidującą nr REGON. Poniżej przedstawiam jej kod Public Function walidujRegon(ByVal numerREGON As String) Dim cyfraKontrolna As Integer Dim dlugoscRegon As Integer = Len(numerREGON) 'wagi regonów 'regon7 = 2,3,4,5,6,7 'regon9 = 8,9,2,3,4,5,6,7 'regon14 = 2,4,8,5,0,9,7,3,6,1,2,4,8 If (dlugoscRegon 14) Then If (dlugoscRegon 9) Then If (dlug...

Źródło: blog.nostitz.eu
Dziel się z innymi:
Mateusz Nostitz-Jackowski » Funkcja walidujaca REGON w VisualBasic .NET

Inne 1856 dni, 10 godzin, 49 minut temu nosek 118 rozwiń

W poprzednim poście przedstawiłem zasadę działania generacji w GC.  Dowiedzieliśmy się, że zwalnianie zasobów z generacji 0 jest bardzo szybkie z kolei z GEN 2 wolne. Healthy GC to reguła określająca optymalny (zdrowy) stan GC: gen0 : gen1 : gen2 => 100 : 10 : 1 W Internecie można również znaleźć nieco inne wartości ale ogólna zasada jest taka sama: GEN0 powinna zawierać dużo więcej obiektów niż GEN2. Jeśli obiekty nie są zwalniane, wtedy promowane są do generacji pierwszej i drugiej. Z poprzedniego po...

Dziel się z innymi:
Piotr Zieliński » Garbage Collector, część III–healthy GC

Inne 1856 dni, 11 godzin, 26 minut temu pzielinski 153 rozwiń

Aby pisać kod, który jest wydajny i optymalny należy dobrze zrozumieć jak działa Garbage Collector (GC). W dzisiejszym poście przedstawię ogólne zasady działania GC na przykładzie algorytmu mark and sweep. Zaznaczam, że implementacja w .NET różni się i jest dużo bardziej wyrafinowana – ale o tym w następnych postach. Chcę najpierw przedstawić algorytm mark and sweep ponieważ da to czytelnikowi ogólny obraz zagadnienia związanego ze zwalnianiem pamięci w językach zarządzanych. Garbage Collector oczywiści...

Dziel się z innymi:
Piotr Zieliński » Garbage Collector – część I (algorytm mark and sweep).

Inne 1867 dni, 23 godziny, 37 minut temu pzielinski 310 rozwiń

Co byście powiedzieli na taki kod?publicclass Person { publicstring FirstName; publicstring LastName; publicstring GetFullName() { returnstring.Format("{0} {1}", FirstName, LastName); } } Na pierwszy rzut oka może nic poważnego. Jednak jeśli chcemy pisać kod zgodny z praktykami C#, powinniśmy zwrócić uwagę na następujące kwestie:Enkapsulacja, FirstName,LastName powinni być ukryte i ewentualnie wyeksponowane za pomocą setterow\getterów.GetFullName jest dobrym sposobem dla Javy (a w...

Dziel się z innymi:
Piotr Zieliński » Code Review: pola w C#

Inne 1869 dni, 18 godzin, 53 minuty temu pzielinski 381 rozwiń

Rozważmy następujący kod:IEnumerable

Tagi: Code review, Linq
Dziel się z innymi:
Piotr Zieliński » Code review: Pułapka z LINQ

Inne 1878 dni, 15 godzin, 49 minut temu pzielinski 446 rozwiń

W postach oznaczonych “Code review” zamierzam przedstawiam dobre i złe praktyki pisania kodu. Posty przeważnie będą składały się z fragmentu kodu i opisu co jest w nim źle. Dziś spójrzmy na:StreamReader streamReader =new StreamReader(File.Open(path, FileMode.Open)); string header = streamReader.ReadLine(); string dataPoints = streamReader.ReadLine(); string[] dataPointArray = dataPoints.Split(newchar[]{';’});streamReader.Close(); Co w tym jest jest nie tak? W przypadku gdy np. ReadLine wyrzuci wyjątek, ...

Tagi: Code review
Dziel się z innymi:
Piotr Zieliński » Code review: słowo kluczowe using

Inne 1882 dni, 12 godzin, 45 minut temu pzielinski 407 rozwiń

Co raz więcej programistów interesują się językiem Ruby. Jest to wysokopoziomowy język dynamiczny. Dużą rolę odegrał framework Ruby on Rails, dzięki czemu język nabył swoją popularność. Ten artykuł pomoże początkującym (i nie tylko) programistom zapoznać się z tym językiem, który przy napisaniu stosownie małego kawałku kodu pozwala na zrealizowanie prostej funkcjonalności. W tym artykule dowiesz się o :instalacji środowiska, implementacji prostej aplikacji.

Tagi: ruby
Dziel się z innymi:
Ruby on Rails pod Windows

Inne 1883 dni, 13 godzin, 18 minut temu dit2006 149 rozwiń

Czy na pewno code review to strata czasu? Cóż może być nudniejsze i bardziej kosztowne niż przeglądanie cudzego kodu źródłowego? Chyba już tylko poprawnianie w nim błędów. Jeszcze kilka lat temu koncepcja przeglądania mojego kodu przez kolegów z zespołu była dla mnie totalną abstrakcją. Aczkolwiek, z czasem zrozumiałem, że w tym szaleństwie jest metoda. W kilku punktach chciałbym przedstawić benefity, które może wprowadzić Code Review do Twojego ekosystemu projektowego drogi Czytelniku. Edukacja M...

Dziel się z innymi:
Code review, lubię to!

Inne 1893 dni, 3 godziny, 34 minuty temu paduda 337 rozwiń

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 1894 dni, 2 godziny, 26 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 1894 dni, 2 godziny, 26 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 1896 dni, 3 godziny, 19 minut temu http://durkiewicz.blogspot.... 430 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 1896 dni, 22 godziny, 41 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 1899 dni, 16 godzin 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 1902 dni, 17 godzin, 37 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 1903 dni, 2 godziny, 44 minuty 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 1903 dni, 2 godziny, 44 minuty 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 1904 dni, 22 godziny, 49 minut temu http://pawlos.blogspot.com/ 232 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 1906 dni, 12 godzin, 49 minut temu pzielinski 216 rozwiń

1 2... 35 36 37 38 39 40... 82 83
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 558,53)