2012. március havi archívum

Azure + Relay Binding + HTTPS mutual authentication? Talán egyszer… (I. rész)

Nemrég felmerült egy igény, miszerint egy készülő REST stílusú szervizt esetleg Azure AppFabric Service Bus Relay szervizen keresztül kellene megjeleníteni. Ez nem tűnt nagy problémának, hiszen a WCF-nek köszönhetően, egy-két apróság mellett, csak a WebHttpBinding-ot kell WebHttpRelayBinding-ra kicserélni. Legalábbis elviekben. Ennek a cikknek nem az Azure Relay szerviz kritizálása a célja. A probléma áttekintése inkább […]

2 hozzászólás

Korai inicializáció C#-ban

C# esetében, ha egy típus működéséhez valamiféle inicializációra van szükség, akkor azt a típus statikus konstruktorába tehetjük. Ígéret szerint a típus első használatakor, vagy némi idővel a használata előtt a statikus konstruktor kódja lefut. Mi van azonban akkor, ha egy olyan inicializációs kódot szeretnénk, ami lefut az assembly-nk bármely más kódja előtt? Vegyük például a […]

5 hozzászólás

Megoldás – Minifeladatok III.

A III-as számú minifeladat az érték és referencia típusok rendezési ideje közötti különbséget vizsgálja, 20 millió adat, és a quick sort algoritmus segítségével. Egy quick sort algoritmus húszmillió elem rendezése közben átlagos esetben körülbelül kétszázötvenmillió elemmozgatást végez. Ezek alapján, 32 bites rendszernél referencia típus esetében 1 gigabyte (2 giga 64 biten) adatot kell mozgatni, még […]

1 hozzászólás

Minifeladatok III.

Az előző két minifeladat (Minifeladatok I és Minifeladatok II) az érték típusok tulajdonságairól szólt. Most az érték típusok talán legismertebb tulajdonságát vizsgáljuk meg közelebbről egy példán, mégpedig azt, hogy az érték típus reprezentációja érték szerint másolódik egyik változóról a másikra, míg a referencia típus esetében a reprezentációra egy hivatkozást tárolnak a változók, és csak a […]

3 hozzászólás

Megoldás – Minifeladatok II.

Ez a cikk a Minifeladatok II megoldását tárgyalja. A példában DoThatCalculation() és a DoFurtherCalculation() viselkedésében furcsa kettősség figyelhető meg. Bár mind a két metódus egy IIncrementable típust vár, a program kimenete alapján azt látjuk, hogy a DoFurtherCalculation() visszahat a hívásnál átadott értékre, míg a DoThatCalculation() nem: A jelenség oka A .NET interfészen keresztül csak referencia […]

2 hozzászólás

Minifeladatok II.

Ez a feladat szintén az érték típusokról szól. Bár a feladatban a SuperValue nem Immutable, most nem ez okoz problémát. A kérdések tehát: Mit ír ki a program? Miért? Hogy lehetne átírni csak a “var value = new SuperValue();” sort, hogy a kívánt eredményt kapjuk?

3 hozzászólás

Megoldás – Minifeladatok I.

Ez a cikk a Minifeladatok I megoldását tárgyalja. A program a SuperValue hibás tervezése és használata miatt a várt 100 helyett a 0 értéket írja ki. A megoldás röviden A SuperValue egy értéktípus. Az értéktípusú változók maguk hordozzák a reprezentált értéket. Amikor egy értéktípusú változó értéket kap egy másiktól, a teljes reprezentáció átmásolódik. A futtatórendszer […]

10 hozzászólás

Minifeladatok I.

Egy-két hónapja elkezdtem készíteni egy “edzéstervet” fiatalabb kollegáim számára, amivel C# ismereteket lehet elmélyíteni trükkös feladatokon keresztül. Közben az erre allokálható szabadidőm jelentősen lecsökkent, így a folyamat abbamaradt. Hogy az eddigi 8-9 feladat ne vesszen kárba, kiszórom őket ide, hátha valakit szórakoztat, vagy tanul belőle. A feladatok leírása után pár napon belül megadom a válaszokat […]

6 hozzászólás

Követés

Értesítést küldünk minden új bejegyzésről a megadott e-mail címre.

Csatlakozz a 32 követőhöz