Scandinavian Developer Conference IIII i Göteborg

författad av Kauppi 2012-01-12 19:26
Mellan 16:e och 19:e april är det dags igen för Göteborgs största utvecklarkonferans Scandinavian Developer Conference (SDC). Som vanligt finns det en hel del olika spår i konferansen från agile, ASP.NET till Java m.m. Några kända namn som kommer att föreläsa är Mary Poppendieck, Shay Friedman, Gojko Adzic m.m. Hoppas vi ses där!

För mer information besök: http://www.scandevconf.se

Blixten 2011: Elicit är med och anordnar ett blixttalsevent

författad av Kauppi 2011-09-09 01:55

Då var det dags för Blixten 2011! För er som inte var med förra året så handlar det om ett blixttalsevent inom .NET, Lean, Agile m.m. kombinerat med diskussioner efteråt. Det är begränsat antal platser (80 st). Hoppas vi ses där!
 
När: Onsdag 14:e september
Tid: 17:00 - 21:00
Var: Acandos lokaler (Sankt Eriksgatan 5, nära Operan)
Antal platser: 80 st
 
Schema
17:00 - 17:30 Förtäring och mingel
17:30 - 17:35 Introduktion
17:40 - 19:10 Blixtalssessioner
- Teknik-spår (4 st blixttal i den stora lokalen)
- Metod-spår (4 st blixttal i den lilla lokalen)
19:10 - 19:20 Paus
19:20 - 21:00 Open Space
 
Teknik-spåret
1. "Automatiska acceptanstester med Concordion .NET" - Mani Azizzadeh från System Verification
2. "Fluent Security" - Kristoffer Ahl från Dotnet Mentor
3. "Asynchron programmering med Reactive extensions (Rx)" - Magnus Härlin från Squeed
4. "Skapa appar för iPhone och Android med javascript" Mikael Egnér från Dotnet Mentor

Metod-spåret
1. "En aktiv produktägare är nyckeln till framgång" - Janne Hasslöf från Squeed
2. "Preventing your Competency from going South"- Emily Bache från Bache Consulting
3. "Agile, det självklara valet" - Mats Janemalm från mPeira
4. "Gameful Design" - Michael Håkansson från Invativa
 
Kvällens sponsorer är Elicit och Acando. Utöver det kommer JetBrain sponsra med en Resharper licens, TekPub med ett årligt abonnemang och TypeMock ger två Isolator licenser. Dessa kommer lottas ut någon gång under kvällen.

Blixttal = Ett blixttal är en kort presentation på max 10 minuter.
Open Space = Open Space är en mötesform där deltagarna själva bestämmer innehållet och schemat.
 
För mer information och för anmälan besök följande sida:
http://www.swenug.se/events/blixten-2011-i-goeteborg

Blixten 2010: Elicit är med och anordnar ett blixttalsevent

författad av Kauppi 2010-09-07 17:54

Den 27:e oktober är Elicit med och anordnar ett blixttalsevent inom .NET, Lean och Agile. Jag kommer att hålla ett blixttal inom området Lean med titeln ”Livet efter Lean”. Hoppas vi ses där!

När: Onsdag 27:e oktober
Tid: 17:00 - 20:00
Var: Acandos lokaler (Sankt Eriksgatan 5, nära Operan)
Antal platser: 80 st

Schema:
17:00 - 17:30 Förtäring och mingel
17:30 - 17:35 Introduktion
17:40 - 18:40 Blixtalssessioner
- Teknik-spår (5 st blixttal i den stora lokalen)
- Metod-spår (5 st blixttal i den lilla lokalen)
18:40 - 18:50 Paus
18:50 - 20:00 Open Space

Teknik-spåret
1. "Släng ut Installshield och börja använd Wix" - Jörgen Pramberg från Visma
2. "SisoDb - en NoSql provider för Sql-server" - Daniel Wertheim från Iptor
3. "Utveckling med Windows Server Appfabric" - Janne Hasslöf från Iptor
4. "Prestandaoptimering i Entity Framework" - Anders Bratlund från Devrex
5. "Automapper" - Magnus Härlin från Iptor

Metod-spåret
1. "Livet efter Lean" - Krister Kauppi från Elicit
2. "Hur man skriver förvaltningsbar kod" - Andrea Klintelius från Acando
3. "Hur man går tillväga för att uppnå varaktig förändring" - Henrik Berglund från Cedur
4. "Software Craftsmanship" - Emily Bache från Bache Consulting
5. "Iterationslös agilitet med Kanban" - Pål Brattberg från Acando

Kvällens sponsorer är Acando, Iptor och Elicit. Utöver det kommer JetBrain sponsra med en Resharper licens som kommer lottas ut någon gång under kvällen.

Blixttal = Ett blixttal är en kort presentation på max 10 minuter.
Open Space = Open Space är en mötesform där deltagarna själva bestämmer innehållet och schemat.

För mer information och för anmälan besök följande sida:
http://www.swenug.se/events/swenug-gbg-blixten-2010

Förbättra kodöverblicken i RowDataBound (GridView)

författad av Kauppi 2009-05-11 15:32

Jag gillar inte användningen av BoundFields i GridView eftersom det kräver hårdkodning av property-namnen vilket försvårar förvaltning av applikationen. Skulle man tex byta namn på en property så kommer det inte smälla vid kompilering om man använder sig av BoundFields. Detta är alltså inte önskvärt:

<asp:BoundField DataField="FullName" />

En bättre lösningen är att använda sig av TemplateFields men en klassisk användning av detta ökar kodmängden en del i RowDataBound. Ett exempel:

protected void GridViewX_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        Order order = (Order)e.Row.DataItem;

        Label label = (Label)e.Row.FindControl("LabelX");
        if (label != null)
        {
            label.Text = order.X;
        }

        label = (Label)e.Row.FindControl("LabelY");
        if (label != null)
        {
            label.Text = order.Y;
        }

        label = (Label)e.Row.FindControl("LabelZ");
        if (label != null)
        {
            label.Text = order.Z;
        }
    }
}

Förvaltningen av applikationen underlättas lite med hjälp av TemplateFields men det är en del dublicering av kod och kodöverblicken är inte optimal. En bättre lösning är följande:

protected void GridViewX_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
    GridViewRowEventArgsCustom eArgs = new GridViewRowEventArgsCustom(e.Row);
    if (eArgs.IsDataRow)
    {
        Order order = (Order)eArgs.Row.DataItem;

        eArgs.SetValue("LabelX", order.X);
        eArgs.SetValue("LabelY", order.Y);
        eArgs.SetValue("LabelZ", order.Z);
    }
}

I detta exemplet har jag skapat en GridViewRowCustom som ärver från GridViewRow. I den nya klassen hittar vi den nya metoden SetValue för att enkelt sätta värdet på tex en label. Genom att använda SetValue-metoden slipper man fem rader kod. I GridViewRowCustom har jag också lagt till properties som anger om raden är en header, datarow eller footer (ex row.IsDataRow istället för e.Row.RowType == DataControlRowType.DataRow).

Här kan du ladda hem GridViewRowCustom-klassen: GridViewRowEventArgsCustom.txt (1,30 kb)

Hör gärna av dig om du gör eller kommer på några förbättringar i området.

Powered by BlogEngine.NET 1.4.5.0