40-783: Hierarchia typów

Po dłuższej przerwie wracam do tematu języka C#. Przede mną kolejny rozdział Certficiation Toolkit. Dzisiaj pomówimy sobie głównie na temat Hierarchii typów. Temat ten tak naprawdę nie jest zawiły, gdyż nie odbiega on znacząco od tego co znamy z Javy, aczkolwiek pojawi się kilka nowych rzeczy. Nie będę dłużej przeciągać – zaczynajmy :)
Czytaj dalej 40-783: Hierarchia typów

News Radar: AngularJS, Material Design i DB-agnostyczny Slick

Czas na kolejny update projektowy. Dzisiaj opowiem o webjars i wskażę kilka rzeczy na które należy zwrócić uwagę w momencie, kiedy chcemy korzystać z webjars w Play Framework. Wszystko to na przykładzie AngularJS i Angular-Material. Na koniec pokażę w jaki sposób napisać DAO Slickowe, które nie będzie miało bezpośrednich zależności do konkretnego silnika bazy danych.
Czytaj dalej News Radar: AngularJS, Material Design i DB-agnostyczny Slick

News Radar: Play Framework, Slick, Dependency Injection i podział na moduły

Od ostatniego mojego wpisu na temat projektu minęła już chwila. Przez ten czas nie działo się wiele jeśli chodzi o nowe funkcje aplikacji, natomiast trochę sie pozmieniało pod względem różnych technikaliów. Projekt został podzielony na moduły, pojawiły się nowe biblioteki: Play Framework i Slick. Wprowadziłem mechanizm Dependency Injection. W tym artykule przybliże trochę te zmiany i wskażę na rzeczy, które popsuły mi trochę krwi – może komuś oszczędzi to w przyszłości trochę czasu.
Czytaj dalej News Radar: Play Framework, Slick, Dependency Injection i podział na moduły

40-783: Praca z typem String

W dzisiejszym odcinku – typ string. W jaki sposób możemy go tworzyć? jakie najważniejsze metody nam dostarcza? Oprócz stringa, poznamy kilka innych ważnych klas do pracy na ciągach znaków, takich jak: StringBuilder, StrinWriter i StringReader. Później pomówimy sobie o konwertowaniu innych typów na string – skupimy się głównie na metodach ToString oraz String.Format. Poświęcimy trochę czasu „Composite string”, czyli notacji służącej do dokładego opisu w jaki sposób dany obiekt ma być reprezentowany jako ciąg znaków. Na koniec powiemy sobie w jaki sposób możmy się „wpiąć” w C-Sharpową infrastrukturę konwertowania do stringa, czyli o interfejsach IFormattable, IFormatProvider oraz ICustomFormatter.

Czytaj dalej 40-783: Praca z typem String

40-783: Konwersje

W dzisiejszym odcinku moich zmagań z materią C-Sharpową porozmawiamy sobie na temat wszelkiego rodzaju konwersji między typami. Zaczniemy od ogólnych rozważań na temat konwertowania: kiedy zadzieje się to automatycznie a kiedy nie; kiedy konwersja może nam sprawić problemy a kiedy napewno wszystko będzie ok. Pomówimy sobie chwilę o mechanizmie autoboxingu, który wydaje się mało ciekawym tematem, ale jest na tyle różny od tego co daje nam Java, że warto chociaż rzucić okiem. Zaraz po tym przyjrzymy się chyba jednemu z najpopularniejszych rodzajów konwersji, czyli rzutowaniu. Przy okazji tego tematu poznamy operatory is, oraz as. Zrobimy też krótki przegląd tego jakich mechanizmów konwersji dostarcza nam biblioteka standardowa aby za chwilę nauczyć się jak możemy zmusić nasze typy współpracy z nimi. Żeby tego było mało, przywitamy się z niecodziennym zjawiskiem, jakim jest typ dynamic aby na sam koniec dosłownie na moment rzucić okiem na P/Invoke oraz COM Interop – dwie techniki pozwalające na współpracę kodu C# z kodem „unmanaged”.

Jak widać temat konwersji jest całkiem pojemny. Nie ma więc co przedłużać – zaczynajmy.

Czytaj dalej 40-783: Konwersje