{v.log} /dev/venedie

22cze/100

C# null-coalesce operator

visual_studio

Dobrodziejstw C# nigdy mało!

Dziś przy okazji pisania całego szeregu testów jednostkowych, zdarzyło się parę miejsc w projekcie, gdzie należało załatać małe dziurki i ubezpieczyć się przed zwracaniem null.

Zbiór operatorów języka C# posiada bardzo sprytny operator ?? (podwójny znak zapytania), czyli null-coalesce operator.
Jego składnia przedstawia się następująco:

item1 ?? item2;

Zasada działania operatora ?? jest bardzo prosta:
Operacja zwraca item1, jeżeli NIE jest on null, w przeciwnym razie zwraca item2.

//...
delegate void SampleDelegate();

SampleDelegate action;
SampleDelegate DoAction { get { return action; } }

//...
// Gdzieś po drodze, do naszego delegata action przypisany zostaje null

return SampleDelegate ?? () => { Console.WriteLine("Nasz delegat jest null!"); } ;

// Wszystko działa! \o/
//...
31maj/100

Get a cookie!

Hah!

Kasiula zrobiła pyszne ciasteczka!

Ciasteczka owsiane! :>

24maj/100

Korpo Kuchnia

korpo-kuchnia

Pewnie nie jeden z Was pracował już w jakiejś mniejszej, lub większej korporacji.
Pewnie nie jeden wie jak to wszystko wygląda "od kuchni". :)

Dla tych co nie wiedzą i dla tych co doskonale wiedzą!

Korpo Kuchnia

enjoy ;)

19maj/100

Kubuntu 10.04, zamiana OpenJDK wydaniem Sun Java

O tym, jak władze niektórych dystrybucji czasami nieciekawie podejmują decyzję, nie będę się rozwodził, bo można tu trochę napisać. Ale nie o tym teraz mowa!

Ostatnio po zupgradowaniu Kubuntu do wersji 10.04 odkryłem, że panowie z Ubuntu nie mają już w nowych repozytoriach Java w wydaniu Sun'owskim (obecnie Oracle). Głównie wspierana jest teraz Java dla wydania OpenJDK.

Jednak jako przekorny młodzieniaszek, postanowiłem wrócić i bawić się w swojej piaskownicy! FTW!

Szybko i treściwie opiszę jak przerzucić się na pakiety sun-java6-*.

Najpierw zajrzyjmy jakie wydania java są już u nas zainstalowane:

$ sudo update-java-alternatives -l

Otrzymujemy wynik:

java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk

Ok, to teraz instalacja pakietów Sun Java! Jak już wspomniałem, nie znajdują się one w repozytorium (k)ubuntu. Żeby jednak zdobyć te pakiety należy wykonać parę następujących linijek w swojej konsoli.

Cel: sun-java6-*

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo aptitude update
$ sudo aptitude install sun-java6-bin sun-java6-fonts sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-plugin

Następnie po zainstalowaniu, sprawdzamy jeszcze raz jakie mamy wersje Java.

$ sudo update-java-alternatives -l

Powinniśmy zobaczyć:

java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk
java-6-sun 63 /usr/lib/jvm/java-6-sun

Dlatego teraz następnym krokiem jest ustawienie naszej Sun Java jako głównej.

$ sudo update-java-alternatives -s java-6-sun

Sprawdzamy naszą wersję poprzez:

$ java -version

I otrzymujemy:

java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)

I wszystko bangla. Życzę owocnej pracy! :)

Page 1 of 41234