Agenda

15:00 - 16:00

Testy jednostkowe w praktyce, vol 2

Maciej Aniserowicz

W poprzedniej edycji dotNetConfPL przyjrzeliśmy się narzędziom wykorzystywanym podczas pisania testów na platformie .NET oraz jednemu z wielu scenariuszy, w których testy okazują się niezmiernie pomocne w pracy programisty - eksplorowaniu zewnętrznych systemów i dokumentowaniu komunikacji z nimi. Podczas tegorocznego wystąpienia będziemy kontynuować temat przyglądając się innym zastosowaniom testów. Zobaczymy jak testy jednostkowe sprawdzają się w charakterze "project-specific-compilator (tm)". Brzmi enigmatycznie? I dobrze :). Spojrzymy też na testy bazy danych. Kiedy warto je pisać i jak robić to w miarę bezboleśnie? Podywagujemy również nad tematem czytelności testów. Testy powinny służyć za dokumentację tworzonego systemu, więc ich treść musi być czytelna i zrozumiała już na pierwszy rzut oka. Jak można to osiągnąć? Warto obejrzeć prezentację Maćka z ubiegłorocznej edycji.

16:00 - 17:00

Wszystko co chciałbyś wiedzieć o Roslyn

Filip Wojcieszyn

Swoistą tradycją kompilowanych języków jest to, że kompilator napisany jest w języku który kompiluje (klasyczny "dogfooding"). Przez blisko 15 lat, sztandarowa implementacja C#, Microsoft Visual C#, była kompilowana przy użyciu kompilatora napisanego w C++. Poprzez Roslyn, kompilatora open source następnej generacji, który napędza Visual Studio 14, doczekaliśmy się wreszcie od Microsoftu kompilatora C#, napisanego właśnie w C#. Podczas tej sesji przedyskutujemy co tak naprawdę Roslyn daje programistom: zajrzymy w Roslyn Language Services, Roslyn Compiler-as-a-Service oraz możliwości analizy kodu przy pomocy Roslyn. Na koniec zastanowimy się na gigantycznymi zmianami dla .NET, jakie niesie za sobą Roslyn.

17:00 - 18:00

Programowanie zorientowane aspektowo (AOP)

Barbara Fusińska

Programowanie zorientowane aspektowo (AOP) przydaje się wszędzie tam, gdzie pojawiają się tzw. cross cutting concerns. Aspekty mogą pomóc programistom w pisaniu piękniejszego kodu, nie po to jedynie, by dobrze się go czytało, ale przede wszystkim by tworzyć logikę biznesową w sposób spójny z tym jak ją projektujemy. Skupię się nie tyle na samej idei, co na przedstawieniu mniej sztandarowych zastosowań niż logowanie wywołań metod czy bezpieczeństwo. Pokażę przypadki użycia aspektów w rzeczywistych sytuacjach, gdy ich wykorzystanie uporządkowało projekt, implementację oraz ułatwiło testowanie kodu.

18:00 - 19:00

Server Side czy/i Client Side MVC???

Jakub Gutkowski

Coraz częściej stoimy przed wyborem przy nowym projekcie - pójść w pełni w MVC po stronie serwera? Czy może wykorzystać jQuery? Czy możne jeden z super frameworków (www.todomvc.com, który "załatwi" wszystko? A może...da się to rozsądnie pożenić? O rozwiązaniu tych jak i innych problemów na podstawie AngularJS (ale i nie tylko) i ASP.NET MVC (to tylko framework) dowiesz się na prezentacji.

19:00 - 20:00

Talent za 2 dolary. Skusisz się!

Patryk Góralowski

Czasami zdarza się, że ktoś pyta Cię kim jesteś? Pyta w różnych sytuacjach życiowych, mniej i bardziej ważnych. Niełatwo na to pytanie jest odpowiedzieć, zwłaszcza kiedy ma się 3 minuty. Niełatwo - jednak są sposoby by było łatwiej i pewniej było. O jednym z takich sposobów będzie dziś. O jednej z takich inwestycji w siebie opowiem Wam w prostych, nieskomplikowanych słowach. Wystarczy mieć 2$ i 20 minut czasu by zdobyć o sobie wiedzę o tym w czym jesteś utalentowany lub utalentowana. Potem już trzeba wiedzą tą zarządzać i rozwijać swoje talenty. Zainwestuj! Warto! Dopóki robisz to co zawsze - będziesz miał to co zwykle! Przygotuj kartkę papieru i ołówek. Będzie to sesja interaktywna.

20:00 - 21:00

Wymagania biznesowe w formie kodu, czyli kilka słów na temat BDD z użyciem SpecFlow

Maciej Grabek

Testy są niezmiernie ważną częścią procesu wytwarzania oprogramowania. Okazuje się, że w formie testów jednostkowych możemy przechowywać wymagania biznesowe, które będą zrozumiałe nie tylko dla programistów, ale również dla klientów. Co więcej - klient sam (lub z niewielką pomocą) może stworzyć szereg wymagań opisujących zachowanie (behaviour) elementów systemu, które następnie mogą zostać zamienione na odpowiedni zbiór testów. Tego typu podejście można określić jako BDD (Behaviour Driven Development). Podczas prezentacji wspólnie przyjrzymy się temu jaka siła drzemie w tym narzędziu i jakie ma ono wady.

21:00 - 22:00

WTF# - czym jest F# i dlaczego powinno Cię to obchodzić

Michał Łusiak

Prawdopodobnie coraz więcej słyszysz o programowaniu funkcyjnym. W modzie jest programować w Clojure, Scali albo Haskellu. .NET nie pozostał w tyle i ma swój język funkcyjny - F#. W tej prezentacji Michał opowie trochę o tym czym właściwie jest F#, do czego może Ci się przydać i jak zacząć z nim przygodę. Pokaże też kilka możliwości tego języka, które uważa za najbardziej interesujace. Nie będzie natomiast zbyt dużo mówił o programowaniu funkcyjnym.