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

Scandinavian Developer Conference III i Göteborg

författad av Kauppi 2011-03-16 18:51
Mellan 4:e och 5: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. Några kända namn som kommer att föreläsa är Alistair Cockburn, Jurgen Appelo, Anders Bratland, Mathias Olausson, Marcus Ahnve, Henrik Kniberg, Scott Allen, Arne Åhlander, Patrik Löwendahl m.m. Elicit kommer ställa ut en monter så kom gärna och besök oss där!

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

Scandinavian Developer Conference II i Göteborg

författad av Kauppi 2010-02-27 12:14

Mellan 16:e och 17:e mars är det dags igen för Göteborgs största utvecklarkonferans vid namn Scandinavian Developer Conference (SDC). Som vanligt finns det en hel del olika spår i konferansen från agile, ASP.NET till Java. Några kända namn som kommer att föreläsa är Kent Beck, Henrik Kniberg, Jimmy Nilsson, Udi Dahan, Roy Osherove, Fredrik Normén m.m. Jag kan också rekommendera seminariet "Lean Software Development och Scrum i symbios" som hålls av en kollega vid namn Rickard Eriksson. Hoppas vi ses där!

ALT.NET i Göteborg

författad av Kauppi 2009-10-13 13:24

Igår var jag på min första ALT.NET-träff. Det var både intressant och givande. Vi pratade om saker som Nhibernate, DDD, arkitektur, Dependency Injection, automatiserade tester, MVC, Scrum m.m. Nästa träff föreslog jag att vi skulle testa att skissa upp de arkitekturer var och en använder sig av i olika projekt och därefter diskutera igenom dessa. Den träffen ser jag verkligen fram emot. Om du har vägarna förbi så är du välkommen!

Träffarna äger rum under hösten på Bishops Arms (Kungsportsavenyn 36) andra måndagen varje månad. Mer information om träffen finns på denna sida: http://altdotnet.se/pub-gbg.htm

Det är himla kul att ALT.NET-rörelsen börjar växa här i Göteborg. Den har funnits ett tag i Stockholm och andra länder men nu är den här i Göteborg och jag hoppas verkligen att den är här för att stanna och växa. Målet med ALT.NET är att vara en rörelse bestående av .NET-utvecklare världen över. Grundpelarna är kontinuerlig förbättring, sökandet efter bättre metoder och tekniker och en aktiv strävan att öka medvetenheten om alternativa tekniker och synsätt i större kretsar.

Det finns en diskussionslista på Google på följande adress:
http://groups.google.se/group/sweden-altnet

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.

Versionshantering av databasen samt andra databastips

författad av Kauppi 2008-10-30 18:36

Det finns lite olika sätt att versionshantera en databas. Nyligen fann jag ett verktyg i "Visual Studio Team System for Database Professionals" som hanterar detta på ett rätt bra sätt.  Genom detta verktyg kan man versionshantera databasstrukturen via Team Foundation Server. Detta ger i sin tur en bra möjlighet att enkelt skapa en "branch" eller "label" på kodmassan samt databasstrukturen för en specifik release. Det som jag gillar utöver detta är att om ändringen kopplas till ett "work item" i Team Foundation Server så erhåller man värdefull information om varför person X gjort tex en tabelländring. Jag gillar också att ha alla verktyg integrerade i det utvecklingsverktyg som jag arbetar dagligen i, dvs Visual Studio.

I nedanstående sida finns en kort och bra video hur man versionshanterar databasen
http://download.microsoft.com/download/d/9/d/d9d5c3e4-c0da-41b7-95db-f42422ee9a50/AddingDBtoSCC.wmv

Det finns även andra väldigt bra verktyg i "Visual Studio Team System for Database Professionals"-delen. Den innehåller tex verktygen Data Compare och Schema Compare. Dessa verktyg används för att synkronisera data eller databasstrukturen mellan tex utvecklings- till testmiljön. Företaget Red Gate har länge haft liknande verktyg men nu har Microsoft valt att försöka få med konkurrerande verktyg integrerade i Visual Studio. Jag kan varmt rekommedera dessa synkroniseringsverktyg eftersom de underlättar arbetet med publicering oerhört mycket! Väljer man att inte använda "Database Professional"-verktygen så tycker jag ändå man bör ta en titt på Red Gates SQL Compare och SQL Data Compare.

Jag hittade några kompletterande gratis verktyg för "Visual Studio Team System for Database Professionals"-delen
http://www.microsoft.com/downloads/details.aspx?FamilyID=da3f11ad-bd54-4eda-b08c-4df84df0d641&displaylang=en

Ett bra verktyg som ingår i dessa kompletterande verktyg är "Dependency Tool". Genom detta verktyg så kan man tex få en överblick över vilka beroenden och relationer en tabellkolumn har. Detta underlättar refactoringen arbetet en del.

Andra bra länkar
-
Developer Center: Visual Studio Team System for Database Professionals
- Grov översikt över verktygen i "Visual Studio Team System for Database Professionals"
- Database Professionals Team Center

Har du några andra bra tips kring "Visual Studio Team System for Database Professionals" eller annat som kan vara av intresse så hör gärna av dig till mig på krister.kauppi@elicit.se

Driftsmeddelande vid publicering

författad av Kauppi 2008-10-02 17:30

I vissa fall kan det ta tid att göra en produktionsrelease av en webbapplikation. Det är filer som ska kopieras över från test- till produktionsmiljön, databasen ska synkroniseras, script som ska köras, tjänster ska startas och stoppas m.m. Vid en produktionsrelease så kan man använda sig av ett driftsmeddelande för att informera användarna om vad som händer. I ASP.NET 2.0 så kan man skapa ett driftsmeddelande väldigt enkelt. Genom att lägga en fil vid namn app_offline.htm i webbaplikationens rotkatalogen så dirigeras alla anrop till denna sida oavsett var användaren är i applikationen. När man sedan är klar med publicering så är det bara att ändra namn på filen till tex app_offline.htm.exclude så fungerar applikationen som vanligt igen.

Här nedan kan du ladda ned ett väldigt simpelt exempel på en driftssida
http://dev.levasunt.nu/Documents/app_offline.zip

En liten brist med app_offline.htm
Oftast vill man använda sig av stylesheet filer då måste man tyvärr använda den absoluta eller relativa sökvägen för att få det att fungera. Jag skulle rekommendera att man använder den absoluta sökvägen. Detta eftersom man sällan har alla sina webbfiler i roten.

Gratis seminarium: Bättre kod i ASP.NET

författad av Kauppi 2008-09-19 21:26

Onsdag den 24:e september kommer SweNug (Sweden .NET User Group) hålla ett seminarium kring bättre kod i ASP.NET.

Någras saker som kommer att tas upp är:
- Skriv metoderna så små ni kan, när det är gjort gör dem ännu mindre ändå
- Tydliga namn, hellre för långa namn är för korta och otydliga
- Ha små klasser. Ha tydliga klasser som bara gör det de skall göra
- Undvik kommentarer i koden
- Felhantering
- Struktur
- Den pragmatiska utvecklaren

Talare för denna session är Johan Normén. Anmäl dig genom att maila johan.normen@dotway.se senast tisdagkväll 23:e september.

Powered by BlogEngine.NET 1.4.5.0