NDC Oslo Dag 4: SignalR, funktionelle DSL'er og Carl Franklin på guitar

Dag 4 på NDC byder på spændende talks og endnu engang er der meget brede emner og vi kan vælge lige fra C++ hukommelsesmodel til diskret matematik.

Om aftenen er der den traditionelle fest, som starter med at Carl Franklin fra .Net rocks underholder med guitar og sang.

Illustration: Privatfoto

Det lyder mere corny end det egentligt er - stemningen er super hyggelig på konferencen og man er lidt som en lille geekfamilie, hvor mange kender hinanden. Carl Franklin blev efterfulgt af The Lesser Scott som underholdt med sin talk om Fun with JavaScript (hvilket var en variation af hans talk Angle Brackets og Curly braces, som jeg så på Build i 2012), hvor han argumenterer for, at JavaScript er det nye assemblersprog på nettet Scott er en super taler og meget inspirerende at høre på og man bliver mindet om og får lov til at reflektere over hvor hurtigt udviklingen på Internettet er gået.

Skrevet af Kim

SignalR Performance

Talk af Damien Edwards og David Fowler

SignalR er Microsofts library til realtime kommunikation mellem server og browser. SignalR benytter WebSockets, som er understøttet i nyere browsere, men falder automatisk tilbage på andre teknologier i ældre browsere uden du behøver gøre noget i din applikation.

Performancemonitorering med PerfMon

På NDC viste Damien Edwards og David Fowler fra Asp.NET teamet, hvordan man loadtester server belastningen med PerfMon.exe og værktøjet Crank.

Hvis ikke du kender PerfMon, kan du læse en introduktion på technet fra Microsoft.

Dokumentation om Crank er end til videre sparsom, men en kort introduktion til performance og konfigurering af SignalR kan findes på github.

Hvordan virker PerfMon?

Kort fortalt sætter man PerfMon op med udvalgte performance counters på serveren, så man kan overvåge belastningen. SignalR performance counters kan hentes og installeres gennem Nuget pakken Microsoft.AspNet.SignalR.Utils (kør signalr.exe fra tools mappen).

Herefter bruger man Crank til at simulere et antal klienter der forbinder til et test harness på serveren. For både Crank og test harnesset skal man hente koden på github (https://github.com/SignalR/SignalR/), og selv bygge det.Senere på året vil Crank bliver opgraderet til at understøtte mere avanceret scripting på klient siden, så man kan simulere forskellige brugeropførsel.

Afhængig af hvor mange samtidige forbindelser man vil simulere kræver det et vist setup af maskiner. Dette var sat op på forhånd i demo'en og nemt sprunget over, og er sikkert noget der vil kræve noget tid hvis man selv skal gøre det. Dog har man gennem en MSDN abonnement mulighed for at spinne virtuelle maskiner op i Microsoft Azure.

Damien Edwards og David Fowler fik det helt sikkert til at se nemmere ud end det er, men i de projekter, hvor vi bruger SignalR vil vi begynde at kigge på det.

Skrevet af Jonas

Kend din domænemodel

Talk af Tomas Petricek

Hoved pointen fra denne talk var, "kend din domæne model". Tomas Petricek både startede og sluttede sin talk "Domain Specific Languages (DSL), the functional way" med dette. Men der var mange flere ting at tage med fra den talk selvom DSL på den funktionelle måde har ikke ændret sig meget de sidste 20 år. Basis er stadigvæk at man med primitive byggeblokke repræsenterer domænet, og med komposition af disse blokker bygger mere avancerede strukturer.

Nytænkning af DSL

Det nye Tomas viste i denne talk var hvor nemt det er at lave en DSL over API'er i F#. De tre eksempler han havde med var 3D objekter, Markdown og pris detekterings patterns. Her var Markdown mere end bare et legetøjs eksempel. Med en parser i baghånden viste Tomas hvor nemt det er at skrive en rekursiv metode der generede hans næste slide ud fra DSL'en. Derefter oversatte han sliden til norsk med en rest-service, og med en simpel transformering af DSL'en.

Alle kodesnipets var højst 10 linjer og viste glimrende fordelen ved en funktionel tilgang. Den expressive syntax gør det ikke kun korte at skrive, men også nemmere at læse og forstå og med den kompakte DSL kan logikken holdes samlet. Med alle de ting der har bevæget sig fra F# til C#, så som type inferens, lambda udtryk, async pattern mf., så er det spændende om DSL'er snart også tager deres indtog.

Skrevet af William

Kommentarer (0)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere