Tuesday, November 10, 2009

Jeg følger løbende med i Scott Mitchells Toolbox Column (se hans blog), og i november henviste han til et open source projekt kaldet CuttingEdge.Conditions. Det har jeg kigget lidt på, og overvejer kraftigt om vi i et kommende projekt skal implementere det i næste projekt i en eller anden form.

Du kan selv læse om mulighederne fra projektets site, men meget kort handler det om at kunne teste argumenter og returværdier på en nem måde. Se eksempelvis følgende kode hvor argumenter testes på den traditionelle måde:

void TheOldFashionWay(int id, IEnumerable<int> collection, DayOfWeek day)
{
    if (id < 1)
    {
        throw new ArgumentOutOfRangeException("id", String.Format(
            "id should be greater than 0. The actual value is {0}.", id));
    }
    if (collection == null)
    {
        throw new ArgumentNullException("collection",
            "collection should not be empty");
    }
    if (collection.Count() == 0)
    {
        throw new ArgumentException("collection should not be empty",
            "collection");
    }
    if (day >= DayOfWeek.Monday && day <= DayOfWeek.Friday)
    {
        throw new InvalidEnumArgumentException(String.Format(
            "day should be between Monday and Friday. " +
            "The actual value is {0}.", day));
    }

    // Do method work
}

Denne kode kan konverteres til følgende som benytter Conditions-projektet:

void TheConditionsWay(int id, IEnumerable<int> collection, DayOfWeek day)
{
    Condition.Requires(id, "id").IsGreaterThan(0);
    Condition.Requires(collection, "collection").IsNotEmpty();
   Condition.Requires(day, "day").IsInRange(DayOfWeek.Monday,
DayOfWeek.Friday);

    // Do method work
}

Koden taler for sig selv, og er i øvrigt klippet råt fra denne artikel fra CodeProjekt hvor der også er yderligere informationer om projektet.

Med projektet følger også codesnippets til VS som gør det endnu nemmere at bruge funktionaliteten.

Jeg har ikke brugt det i et større omfang, men jeg syntes som nævnt at det ser spændende ud.

posted on Tuesday, November 10, 2009 11:05:45 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, November 05, 2009

Det tyder på, at microsoft ifbm Office 2010 vil frigive dokumentation for pst-fil formatet som Outlook bruger til at opbevare data. I dag kan vi tilgå data gennem MAPI eller COM men direkte adgang vil alt andet lige give nogle flere muligheder.

Udover de oplagte muligheder et åbent format giver os VSTO/Office udviklere så syntes jeg også jeg fornemmer, at virksomheder som Google slikker sig om munden fordi det jo også giver mulighed for at importere data i GMail ved blot at oploade en pst-fil. Men det kan jo ikke komme som en overraskelse for MS, og jeg syntes det er fint at endnu en Office-format bliver frigivet.

Læs mere på kortlink.dk/74wf

posted on Thursday, November 05, 2009 5:12:59 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, October 23, 2009

Som bekendt er beta 2 af .net 4 + VS 2010 nu ude, og da jeg skriver en del i øjeblikket omkring den kommende asp.net skulle jeg have den nye Visual Studio installeret. Jeg har en ældre trofast IBM X31 bærbar der har fulgt mig gennem mange foredrag og undervisningsdage, og da den for nogle måneder siden blev erstattet af storebror X60, havde jeg tænkt mig at bruge X31’eren som VS-test maskine. Jeg havde egentlig tænkt at bruge den gode gamle XP-pro (vista har aldrig været mig), men Windows 7 har jo været ude et stykke tid så jeg tænkte at man jo altid kunne prøve at se hvordan det spiller.

Jeg fik fat på en ISO fil af Windows 7 fra MSDN, og skulle til at bræde den over på en DVD da jeg kom i tanke om en guide jeg havde set på nettet, der viste hvordan man kunne installere Windows 7 fra en USB. Jeg har aldrig haft den store succes med at boote fra USB af en eller anden grund så jeg var ikke videre optimistisk da jeg gik i gang – men mod alt forventning var installation af Windows 7 i gang fra USB i løbet af 10 minutter. Efter ca 30 min. var maskinen oppe og køre, og ret imponerende fandt den alle de drivere den skulle bruge (på XP har det altid været lidt et stunt at få alle drivere installeret – det meste skulle gøres manuelt). Jeg tror aldrig jeg har oplevet en så smertefri installation af et operativsystem.

Herefter var det VS2010s tur – og igen kørte installation fuldstændig uden problemer. Det hele har ikke taget mere end 45 min. tror jeg.

Her er hvad du skal bruge for at installere Windows 7 fra USB:

VS 2010 beta 2 kan du finde her.

posted on Friday, October 23, 2009 2:18:26 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, October 19, 2009

Så er der godt nyt til alle os der venter på den kommende .NET 4.0 samt VS 2010 – den er netop frigivet i beta 2. I første omgang på MSDN (er i gang med at downloade, og jeg er helt klart ikke den eneste kan jeg tydeligt mærke) og efterfølgende i løbet af ugen til alle.

 

Soma har al den info du skal bruge.

Egentlig er det lidt træls at den kommer netop nu – havde ellers et vædemål kørende på at den blev frigivet under TechEd i næste måned. Det er snart ikke til at blive klog på hvornår og hvordan der frigives nye beta’er/RTM’er.

posted on Monday, October 19, 2009 9:15:01 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, October 01, 2009

Der er frigivet en ny version af det så populære Ajax Control Toolkit til ASP.NET med nye kontroller og bugfix. Du kan læse mere om det hos Bertrand le Roy, men du kan se frem til nye kontroller som SeeDragon (JavaScript version af DeepZoom) og AsyncFileUpload.

Her er det direkte link til CodePlex.

posted on Thursday, October 01, 2009 1:05:51 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, September 17, 2009

ScottGu har netop annonceret at AJAX CDN er frigivet og klar til brug. AJAX CDN (Content Delivery Network) giver mulighed for at hente JavaScript fra Microsofts servere istedet fra eget website (js filer eller direkte fra System.Web assemblies). Servicen, som i øvrigt er gratis og registreringsfri, burde kunne levere scripts hurtigere end fra lokalt web site og vil øge muligheden for scripts kan caches på klienten. CDN kan bruges “råt” til at hente konkrete scripts, men vil også blive bygget ind i ASP.NET 4.0 gennem blandt andet ScriptManager kontrollen.

Se mere hos ScottGu.

posted on Thursday, September 17, 2009 8:15:31 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, September 04, 2009

I mange projekter (både udvikling og i andre sammenhænge) har jeg tit behov for at danne en zip-backup af en mappestruktur, og jeg har det bedst med at have en zip for hver dag for på den måde at skabe en “alternativ” versionsstyring. Det kommer muligvis til at fylde en krig, men dels er plads er jo ikke så dyrt i dag og så har muligheden for at gå tilbage i gamle zipfiler for at finde ellers overskreven tekst og kode reddet mig mere end en gang.

Jeg ved der ligger et hav af “how-to” på nettet, men her er min meget simple måde at gøre det på. Så kan du bruge den hvis du har behov for det, og jeg har et sted jeg kan kopiere fra næste gang jeg skal bruge funktionen:

  • Start med at finde en applikation der kan pakke i zip format på kommandoprompt. Vi har altid haft licens til WinZip, og den kan man også tilgå på kommandoprompt, men jeg har i andre sammenhæng også brugt open Source projektet 7-Zip med stor success.
  • Opret en backup.bat med følgende indhold:

set filename=%DATE:~-4%%DATE:~3,2%%DATE:~0,2%_backup.zip
c:\programmer\winzip\winzip32 -a -r %filename% "..\Manus\*.*"

Det vil (forudsat du har WinZip installeret og du afvikler bat-filen på en dansk XP+) skabe en zip kaldet eksempelvis 20090904_backup.zip indeholdende filer i ../Manus og undermapper.

Nu kan du køre bat-filen med mellemrum (WinZip’s -a i sørger for at opdatere filer i en zip hvis de eksisterer i zippen i forvejen), eller bruge opgavestyring til at køre den med jævne mellemrum.

I øvrigt kan jeg anbefale at lave en genvej til en zip-backup i Visual Studio – så har du en hurtig, effektiv og brugbar måde at skabe en backup af et helt projekt.

posted on Friday, September 04, 2009 9:41:45 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, August 27, 2009

Jeg har på det seneste holdt nogle ASP.NET (web forms) certificeringskurser hvor flere af deltagere vil begynde at kigge på ASP.NET MVC efter de bestået den endelige test.

Der er rigtig god grund til at kigge nærmere på MVC fordi det på flere måder er et spændende og godt alternativ til web forms. Men der er også mange begrænsninger og for nogle direkte negative sider ved MVC, og det er derfor vigtigt at kunne se forskellen på de to måder at udvikle web applikationer på med .NET.

For at komme i gang med MVC bør man hoppe over til MVC sitet som har et hav af ressourcer – herunder tre gode videoer:

En af de bedre bøger omkring MVC er Stephen Walter’s “ASP.NET MVC Framework Unleashed” – den bør du læse når du har været igennem et par videoer mv. på MVC sitet.

image

posted on Thursday, August 27, 2009 8:25:30 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, August 07, 2009

Efter en veloverstået sommerferie er jeg retur på kontoret og forsøger desparat at finde hoved og hale i mails, beskeder og kommende projekter og undervisning.

Ind i mellem må man jo lave noget andet for ikke at blive for stresset, og jeg har derfor den sidste halve time arbejdet mig igennem 10-20% af (måske) interessante blogindlæg.

En af dem der blev stjernemarkeret var dette som oplyste, at der er kommet en ny version af CustomUI Editor. Applikationen kan bruges til at gemme bla ribbonx i Office 2007 og (nu også) Office 2010 dokumenter. Hvad enten du arbejder med VBA eller VSTO er det en rigtig brugbar applikation.

posted on Friday, August 07, 2009 1:21:01 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, July 13, 2009

Hvis du ikke har sat dig lidt ind i den kommende SharePoint 2010 var det måske en ide at se lidt video. På MS SharePoint site findes der et par sneak peak videoer rettet mod både IT pro'ere og udviklere. Find dem her:

http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx
posted on Monday, July 13, 2009 3:42:52 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, June 26, 2009
I dag har jeg siddet hos en kunde med en ny og frisk installation af Visual Studio, og måtte derfor bruge noget tid på at sætte VS op til at kunne arbejde med Subversion, installere mest almindelige add-ins (herunder de gratis addins Powercommands og DPack), NUnit og installere NSIS (genialt værktøj til at skabe installationer som alternativ til click once og MSI). Sidstnævnte er baseret på scripts (hvilket er en af grundende til at jeg syntes så godt om projektet) som skal kompileres, og det nemmeste er skabe en bat-fil der kalder NSIS kompileren. For at gøre det så nemt som muligt bør man kunne højreklikke på en bat-fil i solution explorer og vælge "Kør":



Desværre er det ikke så nemt at sætte op fordi cmd.exe skal kaldes med et argument (/C eller /K), og jeg måtte en tur på nettet for at finde løsningen. Heldigvis findes der folk som Rick Glos som har gjort meget ud at forklare hvordan man gør det - så hvis du har et lignende behov kan du finde en rigtig god instruktion her (hvor overnævnte billede også er fra):

http://www.rickglos.com/post/2008/02/How-to-run-cmd-files-from-Visual-Studio.aspx

Som han rigtig nok skriver så er det lidt teknisk at få det op og stå i VS, men når det først er gjort så sparer det en masse tid i fremtiden.

posted on Friday, June 26, 2009 9:04:13 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, June 12, 2009

Jeg følger løbende med i Politikens Klik blog (http://blog.politiken.dk/klik/) der bla. handler om spil. Hver fredag omtales et online spil som jeg ind i mellem kigger på, og i denne uge er det Little Wheel fra Fast Games jeg kastede mig over.

Det er et dejligt lille afslappende spil med en fin stemning hvor man på ca 15 min. skal forsøge at blive en helt i en robotverden. Det kan anbefales at stresse lidt af med, og i øvrigt kan Thomas Vigilds Klik blog også anbefales hvis du vil følge lidt med i hvad der sker i den verden.

Læs om spillet her.

God weekend.

posted on Friday, June 12, 2009 9:56:21 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, May 27, 2009

Holdt som før nævnt et foredrag i dag omkring MS certificeringer med speciel fokus på 70-562. Jeg syntes det gik fint, og der var en god stemning. På vej ned af trappen kom jeg dog til at tænke på at jeg ikke fik nævnt Microsoft Second Shot Offer.

Det er et program som MS ind i mellem åbner, og det giver mulighed for at man gratis kan tage en ny test hvis man skulle dumpe første gang. Programmet er åbnet pt men lukker 30. juni - så se at blive tilmeldt.


http://www.microsoft.com/Learning/Mcp/Offers/Secondshot/Default.Mspx
posted on Wednesday, May 27, 2009 1:01:40 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, May 26, 2009

Er ved at pakke tasken til en af morgendagens aftaler - et foredrag kl. 9:30 hos MS i Hellerup omkring ASP.NET 3.5 certificering (mv).

Jeg har forberedt lidt slides omkring MS certificeringer generelt set og specifikke oplysninger omkring 70-562 (ASP.NET), og du kan finde en pptx fil nederst i dette indlæg. Tror nu ikke slides har så meget værdi hvis ikke du hører foredraget - men du er velkommen til at hente dem.

Jeg henviser sikkert til en del links i løbet af præsentationen og dem kan du ligeledes finde i det følgende. De er opdelt i tre grupper - en om certificering generelt, en om 70-536 (framework test) og en om 70-562 (asp.net test):

Om certificeringer generelt

Om 70-536

Om 70-562

Håber vi ses i morgen.

PS: Har i øvrigt talt med et par frusterede udviklere fra hhv. Århus og Vejle som meget gerne ville have det samme foredrag i Århus. Jeg henviste dem til Dorthe (se her - nederst på siden) - det er (bla.) hende du skal tale med hvis du vil have arrangementer.

Her er slides: MSTechTalkMaj09_70562.zip

Tilretninger:
  • 27.05: Link til Second Shot tilføjet.
posted on Tuesday, May 26, 2009 9:26:12 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]