dotnetomaniak.pl

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

Dziś następna porcja bardziej egzotycznych słów kluczowych w c#. Słowa unchecked oraz checked służą do kontrolowania czy nie nastąpił overflow podczas operacji arytmetycznych. Wszystkie niepoprawne operacje w klauzuli checked wywołają wyjątek overflow, ponieważ podczas wykonywania obliczeń sprawdzane jest czy wynik wciąż się mieści w zmiennej. Na przykład:checked { int i =0; while (true) i++; } Po pewnym czasie, gdy zmienna i przekroczy Interger.Max, zostanie wyrzucony wyjątek.  .NET z...

Tagi: C#, checked, unchecked
Dziel się z innymi:
Piotr Zieliński » C#: unchecked i checked

Inne 2437 dni, 20 godzin, 45 minut temu pzielinski 173 rozwiń

Witam, co powiedziecie na taki kod?class Employee { public Employee() { Init(); } publicvirtualvoid Init() { } } class Manager : Employee { public Manager() { } publicoverridevoid Init() { } } Czy jest to dobry design? Jeśli ktoś programował w C++, na pewno nie zgodzi się na wywoływanie jakiejkolwiek metody wirtualnej w konstruktorze. W CPP zostałaby wywołana metoda Employee:Init zamiast Manager:Init ponieważ w momencie tworzenia Employee, obiekt Manager jes...

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Code review: Inicjalizacja obiektu, wywoływanie metody wirtualnej w konstruktorze

Inne 2441 dni, 4 godziny, 41 minut temu pzielinski 111 rozwiń

Dziś znowu zaprezentuję mało znane słowo kluczowe w języku c# – stackalloc.  Najpierw jednak kilka słów przypomnienia na temat alokacji pamięci w .NET.  Generalnie mamy dwa typy obiektów: reference type oraz value type. Typy referencyjne to klasy, z kolei value type to Enum, Integer, Float itp. Klasy alokowane są na stercie (heap), która zarządzana jest przez Garbage Collector. Value Type deklarowane są z kolei na zwykłym stosie. Wyjątkiem jest  sytuacja w której value type jest składową reference type (...

Dziel się z innymi:
Piotr Zieliński » Słowo kluczowe stackalloc

Inne 2441 dni, 17 godzin, 19 minut temu pzielinski 183 rozwiń

Bądźmy szczerzy: dziś każdy chce być bogaty. Pieniądze czynią nas szczęśliwszymi, rozwiązują wiele problemów, spełniają marzenia. Tylko jak zdobyć na tyle dużo gotówki, aby do końca życia pić drinki na hawajskiej plaży? Jeśli jesteś programistą – miliony masz na wyciągnięcie dłoni. Wystarczy się trochę postarać...

Fones.Blog > Programisto, zostań milionerem!

Inne 2445 dni, 1 godzinę, 2 minuty temu fones 423 rozwiń

autor: Trafiłem dzisiaj na ciekawy artykuł, którego autor testuje szybkość wykonania różnych metod mających na celu zwrócenie ilości linii zawartych w zmiennej typu string.

Dziel się z innymi:
[C#] Najszybsza metoda zliczania linii w stringu « Arvangen

Inne 2446 dni, 12 godzin, 50 minut temu macko 376 rozwiń

Klasy są chyba najbardziej skomplikowanym działem języka C#, a z pewnością najbardziej rozbudowanym. Każda osoba starająca nauczyć się języka będzie musiała się z nimi zapoznać. Klasy w C#, tak jak w większości języków obiektowych, są schematami na podstawie których budowane są obiekty… …I to by było na tyle jeśli chodzi o teorię, czas na trochę kodu!

Źródło: kodzimy.net
Dziel się z innymi:
Klasy w C# | kodzimy.net

Inne 2448 dni, 14 godzin, 41 minut temu kodzimy-net 211 rozwiń

Często zależy nam by pewien obiekt przechowywał w sobie wartości tylko z określonego zbioru. W takiej sytuacji z pomocą przyjdzie nam typ wyliczeniowy.

Źródło: kodzimy.net
Dziel się z innymi:
Typ wyliczeniowy Enum w C# | kodzimy.net

Inne 2448 dni, 14 godzin, 41 minut temu kodzimy-net 262 rozwiń

Tworząc biznesową aplikacje webową dochodzimy do miejsca, gdy trzeba ją odpowiednio zabezpieczyć. Do tego służą oczywiście certyfikaty. Aby nasz serwis działał również po SSL należy poczynić parę kroków....

Tagi: Security, WCF
Dziel się z innymi:
Wcf i SSL « Netmajor's Tech Blog

Inne 2448 dni, 14 godzin, 41 minut temu netmajor 138 rozwiń

W ostatnim poście obiecałem pokazać na przykładzie, że destruktory rzeczywiście mają negatywny wpływ na wydajność. Mamy prostą klasę:class MyClass { ~ MyClass() { // Jakis bezensowny kod np:for (int i =0; i <100*10000; i++) { var newinstance =new myclass(); } stopwatch.stop(); long duration = stopwatch.elapsedmilliseconds; przyjrzyjmy się teraz diagramowi przedstawiającemu rozkład obiektów względem generacji (clr profiler): na moim komputerze duration wyniósł 900. usuńmy destruk...

Dziel się z innymi:
Piotr Zieliński » Garbage Collector, część V– destruktory, wydajność, przykład

Inne 2448 dni, 14 godzin, 41 minut temu pzielinski 100 rozwiń

W każdej aplikacji, wykorzystujacej bazę danych do przechowywania informacji, są elementy/tabele/struktury, których zawartość zmienia się niezmiernie rzadko. W związku z tym, zasadne wydaje się zaimplementowanie mechanizmu przechowywania tychże informacji w “bardziej stałym” obiekcie. Ograniczyło by to komunikację pomiędzy bazą danych i aplikacją, a tym samym zwiększyło wydajność aplikacji. Mechanizm taki można zaimplementować na wiele sposobów. Jednym z nich może być klasa typu Manager do przechowywania...

Źródło: kurzyniec.pl
Dziel się z innymi:
Łukasz Kurzyniec - Cache dla danych z bazy

Inne 2449 dni, 2 godziny, 52 minuty temu lkurzyniec 155 rozwiń

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 2450 dni, 20 godzin, 2 minuty temu pzielinski 161 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 2450 dni, 22 godziny, 51 minut temu paduda 246 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 2454 dni, 12 godzin, 30 minut temu nosek 124 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 2454 dni, 13 godzin, 7 minut temu pzielinski 154 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 2466 dni, 1 godzinę, 18 minut temu pzielinski 311 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 2467 dni, 20 godzin, 34 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 2476 dni, 17 godzin, 30 minut temu pzielinski 447 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 2480 dni, 14 godzin, 26 minut temu pzielinski 408 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 2481 dni, 14 godzin, 59 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 2491 dni, 5 godzin, 15 minut temu paduda 338 rozwiń

1 2... 52 53 54 55 56 57... 99 100