Introduktion til NAnt
|
|
- Sofia Laursen
- 6 år siden
- Visninger:
Transkript
1 Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til NAnt Denne artikel beskriver NAnt, som er et værktøj til at builde.net applikationer med. Den beskriver nogle af de mest brugte NAnt tasks. Den forudsætter solidt kendskab til.net (enten C# eller VB.NET) og lidt erfaring med build af større systemer. Skrevet den 08. Feb 2009 af arne_v I kategorien Programmering /.NET Historie: V1.0-13/03/ original Hvad er Nant NAnt er en portering af et Java værktøj Apache ant til.net platformen. Det er et make program som bruger en XML fil til at beskrive hvad der skal gøres. Hvis du kender make, så kender du princippet. For dem som ikke kender make, så er det en løsning på problemet, hvor man skal have bygget et lidt større projekt og det kræver 10, 100 eller måske endda 1000 kommandoer. Det er jo håbløst at taste manuelt. Og laver man et script som udfører alle kommandoer hver gang, så kan det tage mange timer at køre. Make er intelligent d.v.s. at den indeholder instruktioner til at kunne udføre alle kommandoer, men den nøjes med at udføre dem som er nødvendige (den checker det ved at sammenligne tids stempler på filer). NAnt gør det samme. Man definerer hvordan projektet skal buildes i en XML fil. Man kører NAnt. NAnt finder selv ud af hvilke dele af projektet der skal rebuildes og gør det. NAnt understøtter alle de ting man har brug for i.net udvikling. Hvorfor NAnt Visual Studio er jo ganske glimrende til at bygge et projekt med. Hvorfor ikke bruge det i.s.f. at lære et nyt værktøj som NAnt? Det er der flere grunde til: 1) NAnt understøtter langt mere end bare simpel build - man kan både teste og deploye koden 2) build med NAnt kan automatiseres
2 3) XML filen er en fremragende dokumentation af hvordan builden foregår NAnt har ikke fået nogen voldsom udbredelse i.net verdenen endnu, men Apache ant bruges nok i 2/3 af alle Java projekter, så det er alligevel en særdeles velafprøvet teknologi. Brug NAnt kan hentes her: Og du vil sikkert også have disse extra's: Du kan trygt tage 0.85RC2 Installationen består i at: - unzippe - tilføje bin dirs til PATH Makefile's i NAnt hedder *.build (selvom de altså indeholder XML). Jeg vil i det efterfølgende kort beskrive nogle af de mest gængse tasks i NAnt. Jeg vil kun berøre en ganske lille del af de næsten uendelige muligheder der er i NAnt. Men når man først er kommet igang med NAnt har man sjældent problemer med at finde det man skal bruge i NAnt's dokumentation. I de efterfølgende eksempler vil jeg vise både C# og VB.NET - der er naturligvis ikke nogen nævneværdig forskel på dem, men jeg tror at læserne ved at se det i det sprog de kender bedst kan fokusere mere på brugen af NAnt fremfor selve kode stumperne som jo er uinteressante. Simpelt eksempel Lad os starte med et meget simpelt eksempel. hello.cs using System; public class HelloWorld public static void Main(string[] args) Console.WriteLine("Hello world");
3 hellocs.build <project name="hellocs" default="run"> <target name="build"> <csc optimize="true" target="exe" output="hello.exe"> <sources> <include name="hello.cs"/> </sources> </csc> <target name="run" depends="build"> <exec program="hello.exe"/> </project> Kommandoen: nant /f:hellocs.build vil builde og køre programmet (default target er run og target run kræver target build). Kommandoen: nant /f:hellocs.build build vil kun builde programmet (target build). hello.vb Imports System Public Class HelloWorld Public Shared Sub Main(ByVal args As String()) Console.WriteLine("Hello world") End Sub End Class hellovb.build <project name="hellovb" default="run"> <target name="build"> <vbc optionoptimize="true" optionexplicit="true" target="exe" output="hello.exe"> <sources> <include name="hello.vb"/> </sources> </vbc> <target name="run" depends="build">
4 <exec program="hello.exe"/> </project> Kommandoen: nant /f:hellovb.build vil builde og køre programmet (default target er run og target run kræver target build). Kommandoen: nant /f:hellovb.build build vil kun builde programmet (target build). Det er faktisk ret simpelt. Jeg vil ikke kommentere XML indholdet i.build filerne - det må være selvforklarende. Mere komplekst eksempel Ovenstående eksempel er naturligvis så simpelt at brug af NAnt er ganske uinteressant. Men her kommer et eksempel med lidt mere kød på. Eksemplet bruger NUnit. Men hvis du interesserer dig for tools som NAnt, så kender du sikkert også NUnit. special.cs using System; using System.Globalization; namespace E_NAnt public class SpecialFormats public static string FormatDateTime(DateTime dt) return dt.tostring("dd-mmm-yyyy HH:mm", new CultureInfo("en-US", false)); public static string FormatMoney(decimal m) return m.tostring("0.00 kroner", new CultureInfo("en-US", false));
5 specialtest.cs using System; using NUnit.Framework; using E_NAnt; [TestFixture] public class SpecialFormatsTest [SetUp] protected void Init() [TearDown] protected void Dispose() [Test] public void FormatDateTimeNormal() Assert.AreEqual("13-Mar :15", SpecialFormats.FormatDateTime(new DateTime(2005, 3, 13, 21, 15, 0)), "2 digit day"); Assert.AreEqual("03-Mar :15", SpecialFormats.FormatDateTime(new DateTime(2005, 3, 3, 21, 15, 0)), "1 digit day"); [Test] public void FormatDateTimeAbnormal() Assert.AreEqual("13-Mar :15", SpecialFormats.FormatDateTime(new DateTime(1965, 3, 13, 21, 15, 0)), "before 1970"); Assert.AreEqual("13-Mar :15", SpecialFormats.FormatDateTime(new DateTime(1865, 3, 13, 21, 15, 0)), "before 1900"); [Test] public void FormatMoneyVarious() Assert.AreEqual(" kroner", SpecialFormats.FormatMoney(123.45m), "standard"); Assert.AreEqual(" kroner", SpecialFormats.FormatMoney(123m), "no decimals"); Assert.AreEqual("0.45 kroner", SpecialFormats.FormatMoney(0.45m), "only decimals"); Assert.AreEqual(" kroner", SpecialFormats.FormatMoney( m), "huge"); specialcs.build <project name="specialcs" default="test"> <target name="clean">
6 <delete failonerror="false"> <fileset> <include name="special.dll"/> <include name="specialtest.dll"/> </fileset> </delete> <target name="build" depends="clean"> <csc optimize="true" target="library" output="special.dll"> <sources> <include name="special.cs"/> </sources> </csc> <target name="buildtest" depends="clean"> <csc optimize="true" target="library" output="specialtest.dll"> <sources> <include name="specialtest.cs"/> </sources> <references> <include name="\program files\nunit 2.2\bin\nunit.framework.dll"/> <include name="special.dll"/> </references> </csc> <target name="test" depends="build,buildtest"> <nunit2> <formatter type="plain"/> <test> <assemblies> <include name="specialtest.dll"/> </assemblies> </test> </nunit2> </project> Kørsel: C:\e4>nant /t:net-1.1 /f:specialcs.build NAnt 0.85 (Build ; rc2; ) Copyright (C) Gerry Shaw Buildfile: file:///c:/e4/specialcs.build Target framework: Microsoft.NET Framework 1.1 Target(s) specified: test clean:
7 [delete] Deleting 2 files. build: buildtest: test: [csc] Compiling 1 files to 'C:\e4\special.dll'. [csc] Compiling 1 files to 'C:\e4\specialtest.dll'. Tests run: 3, Failures: 0, Not run: 0, Time: 0,03125 seconds BUILD SUCCEEDED Total time: 0.9 seconds. C:\e4>nant /t:net-2.0 /f:specialcs.build NAnt 0.85 (Build ; rc2; ) Copyright (C) Gerry Shaw Buildfile: file:///c:/e4/specialcs.build Target framework: Microsoft.NET Framework 2.0 Beta 1 Target(s) specified: test clean: [delete] Deleting 2 files. build: buildtest: test: [csc] Compiling 1 files to 'C:\e4\special.dll'. [csc] Compiling 1 files to 'C:\e4\specialtest.dll'. Tests run: 3, Failures: 0, Not run: 0, Time: 0,03125 seconds BUILD SUCCEEDED Total time: 1.2 seconds.
8 C:\e4>nant /t:mono-1.0 /f:specialcs.build NAnt 0.85 (Build ; rc2; ) Copyright (C) Gerry Shaw Buildfile: file:///c:/e4/specialcs.build Target framework: Mono 1.0 Profile Target(s) specified: test clean: [delete] Deleting 2 files. build: buildtest: test: [csc] Compiling 1 files to 'C:\e4\special.dll'. [csc] Compilation succeeded [csc] Compiling 1 files to 'C:\e4\specialtest.dll'. [csc] Compilation succeeded Tests run: 3, Failures: 0, Not run: 0, Time: 0, seconds BUILD SUCCEEDED Total time: 1.8 seconds. special.vb Imports System Imports System.Globalization Namespace E_NAnt Public Class SpecialFormats Public Shared Function FormatDateTime(ByVal dt As DateTime) As String Return dt.tostring("dd-mmm-yyyy HH:mm", New CultureInfo("en-US", False)) End Function Public Shared Function FormatMoney(ByVal m As Decimal) As String Return m.tostring("0.00 kroner", New CultureInfo("en-US", False)) End Function End Class
9 End Namespace specialtest.vb Imports System Imports NUnit.Framework Imports E_NAnt <TestFixture()> _ Public Class SpecialFormatsTest <SetUp()> _ Protected Sub Init() End Sub <TearDown()> _ Protected Sub Dispose() End Sub <Test()> _ Public Sub FormatDateTimeNormal() Assert.AreEqual("13-Mar :15", SpecialFormats.FormatDateTime(New DateTime(2005, 3, 13, 21, 15, 0)), "2 digit day") Assert.AreEqual("03-Mar :15", SpecialFormats.FormatDateTime(New DateTime(2005, 3, 3, 21, 15, 0)), "1 digit day") End Sub <Test()> _ Public Sub FormatDateTimeAbnormal() Assert.AreEqual("13-Mar :15", SpecialFormats.FormatDateTime(New DateTime(1965, 3, 13, 21, 15, 0)), "before 1970") Assert.AreEqual("13-Mar :15", SpecialFormats.FormatDateTime(New DateTime(1865, 3, 13, 21, 15, 0)), "before 1900") End Sub <Test()> _ Public Sub FormatMoneyVarious() Assert.AreEqual(" kroner", SpecialFormats.FormatMoney(123.45D), "standard") Assert.AreEqual(" kroner", SpecialFormats.FormatMoney(123D), "no decimals") Assert.AreEqual("0.45 kroner", SpecialFormats.FormatMoney(0.45D), "only decimals") Assert.AreEqual(" kroner", SpecialFormats.FormatMoney( D), "huge") End Sub End Class specialvb.build
10 <project name="specialvb" default="test"> <target name="clean"> <delete failonerror="false"> <fileset> <include name="special.dll"/> <include name="specialtest.dll"/> </fileset> </delete> <target name="build" depends="clean"> <vbc optionoptimize="true" optionexplicit="true" target="library" output="special.dll"> <sources> <include name="special.vb"/> </sources> </vbc> <target name="buildtest" depends="clean"> <vbc optionoptimize="true" optionexplicit="true" target="library" output="specialtest.dll"> <sources> <include name="specialtest.vb"/> </sources> <references> <include name="\program files\nunit 2.2\bin\nunit.framework.dll"/> <include name="special.dll"/> </references> </vbc> <target name="test" depends="build,buildtest"> <nunit2> <formatter type="plain"/> <test> <assemblies> <include name="specialtest.dll"/> </assemblies> </test> </nunit2> </project> Kørsel: C:\e4>nant /t:net-1.1 /f:specialvb.build NAnt 0.85 (Build ; rc2; ) Copyright (C) Gerry Shaw Buildfile: file:///c:/e4/specialvb.build Target framework: Microsoft.NET Framework 1.1
11 Target(s) specified: test clean: [delete] Deleting 2 files. build: buildtest: test: [vbc] Compiling 1 files to 'C:\e4\special.dll'. [vbc] Compiling 1 files to 'C:\e4\specialtest.dll'. Tests run: 3, Failures: 0, Not run: 0, Time: 0,03125 seconds BUILD SUCCEEDED Total time: 0.9 seconds. C:\e4>nant /t:net-2.0 /f:specialvb.build NAnt 0.85 (Build ; rc2; ) Copyright (C) Gerry Shaw Buildfile: file:///c:/e4/specialvb.build Target framework: Microsoft.NET Framework 2.0 Beta 1 Target(s) specified: test clean: [delete] Deleting 2 files. build: buildtest: test: [vbc] Compiling 1 files to 'C:\e4\special.dll'. [vbc] Compiling 1 files to 'C:\e4\specialtest.dll'. Tests run: 3, Failures: 0, Not run: 0, Time: 0, seconds
12 BUILD SUCCEEDED Total time: 1.3 seconds. (VB.NET koden virker ikke med Mono så derfor er den ikke med) Her ser vi hvordan man kan: - bygge sine libraries - bygge sine test cases - køre sine test cases Og: * mod flere targets:.net 1.1,.NET 2.0 Beta, Mono 1.0 etc.. * fuldt scriptable Et realistiske scenarie for professionel brug af NAnt kan være: - windows scheduler starter et script som kører NAnt kl NAnt henter al source code ud af source control til et nyt directory træ - NAnt builder - NAnt kører test cases - om morgen studerer Tech Lead for projektet output for fejl - på formiddags mødet beder Tech Lead de programmører som har et eller der ikke builder eller ikke passe test cases om at fixe det Videre med NAnt Når først du kommer igang med NAnt lærer du hurtigt at slå NAnt tasks op i dokumentationen (som er i HTML). Mest relevante task: csc - C# compiler vbc - VB.NET compiler cl - C++ compiler jsc - JScript.NET compiler vjc - J# compiler wsdl - generere stub fra WSDL gac* - manipuler GAC *iisdir* - manipuler IIS virtual directories exec - kør programmer copy - kopier filer delete - slet filer zip - zip filer unzip - unzip filer nunit2 - kør NUnit test cases vss* - VSS source control cvs* - CVS source control Jeg vil også lige henlede opmærksomheden på toolet SlingShot som kan konvertere en.sln fil til en.build fil:
13 slingshot -nant -sln xxxx.sln build.basedir=.. > xxxx.build Kommentar af nielsbrinch d. 24. May Rigtig god lille introduktion til et build-værktøj som tilsyneladende er markeds-dominerende på samme måde som NUnit og log4net er det. Artiklen er ikke til nybegyndere. Kommentar af optical d. 20. Mar fabelagtigt :) Kommentar af talrinys d. 15. Mar Hold da kæft, som newb programmør lyder det da ultroligt lækkert, vil afprøve det i løbet af de næste par dage. Kommentar af zzzzzzzzzz d. 15. Mar God, men forklar også hvordan man installer det, så vil den være helt perfekt!
Introduktion til ant. Denne artikel beskriver Apache ant, som er et værktøj til at builde Java applikationer med.
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til ant Denne artikel beskriver Apache ant, som er et værktøj til at builde Java applikationer med. Den beskriver nogle af de mest brugte
Læs mereTest med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det.
Denne guide er oprindeligt udgivet på Eksperten.dk Test med NUnit Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab
Læs mereTest med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.
Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab
Læs mereIntroduction til.net remoting i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab
Læs mereIntroduction til.net remoting i VB.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter
Læs mereSend fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.
Denne guide er oprindeligt udgivet på Eksperten.dk Send email fra Java Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende email fra Java. Simple eksempler ikke noget vildt
Læs mereDen forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i VB.NET Denne artikel vil vise lidt om hvordan man kan bruge XML i VB.NET. Den forudsætter kendskab til XML og VB.NET men ikke til brug af
Læs mereSkrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til VB.NET og ADO.NET. Der findes en tilsvarende artikel
Læs mereRMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
Læs mereDen forudsætter kendskab til XML og C# men ikke til brug af XML i C#.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i C# Denne artikel vil vise lidt om hvordan man kan bruge XML i C#. Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.
Læs mereSingleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
Læs mereParameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Der findes en tilsvarende artikel med
Læs mereAnvendelse af metoder - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur
Læs mereLogging i Java. Den forudsætter kendskab til Java og noget generel udviklings erfaring. Denne guide er oprindeligt udgivet på Eksperten.
Denne guide er oprindeligt udgivet på Eksperten.dk Logging i Java Denne artikel beskriver baggrunden for logging frameworks og viser hvordan man bruger 2 af de mest almindelige: Apache Log4J og J2SE/Java
Læs mereSingleton pattern i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er
Læs mereArkitektur for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle
Læs mere//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Læs mereDen forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af MySQL i C++ Denne artikel bygger ovenpå artiklen "MySQL C API" og forklarer hvordan man kan programmere mere objekt orienteret. Den forudsætter
Læs mere.NET 4.5 og C# 5.0. Denne artikel beskriver nogle af de nye features i.net 4.5 og C# 5.0. Den forudsætter et vist kendskab til.net og C#.
Denne guide er oprindeligt udgivet på Eksperten.dk.NET 4.5 og C# 5.0 Denne artikel beskriver nogle af de nye features i.net 4.5 og C# 5.0. Den forudsætter et vist kendskab til.net og C#. Skrevet den 11.
Læs mereRMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.
Denne guide er oprindeligt udgivet på Eksperten.dk RMI avanceret Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Den forudsætter
Læs mereTredjepart webservices
Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output
Læs mereThreads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter
Læs mereTech College Aalborg. ASP.NET Hjemmeside. Projekt Smart Zenior Home - Guide til ASP.NET hjemmeside med Visual Studio
Tech College Aalborg ASP.NET Hjemmeside Projekt Smart Zenior Home - Guide til ASP.NET hjemmeside med Visual Studio Isabella Sihm Ziersen Indhold ASP.Net hjemmeside... 2 Visual Studio... 2 Brug af templates
Læs mereMapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.
MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig
Læs mereHvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Læs mereHvilket sprog er hurtigst
Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog er hurtigst Denne artikel forsøger at aflive forskellige myter om hvilke sprog der er hurtigst. Den forudsætter ikke noget særligt. Skrevet
Læs mereI denne artikel vil vi bruge en User klasse som vi så vil gruppere på forskellige måder.
Denne guide er oprindeligt udgivet på Eksperten.dk Collections i.net Når du kigger i namespacet System.Collections finder du over 10 forskellige klasser. At vælge den rigtige til netop din applikations
Læs mereBits, bit operationer, integers og floating point
Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter
Læs mere02101 Indledende Programmering Introduktion til Eclipse
02101 Indledende Programmering Introduktion til Eclipse Version 2018 1 Introduktion I dette kursus lægger vi op til at man bruger det integrerede udviklingsmiljø Eclipse. Basalt set er et integreret udviklingsmiljø
Læs mereUndtagelseshåndtering i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Undtagelseshåndtering i C# I modsætning til C++ kan man i C# ikke skrive et program uden undtagelseshåndtering, så derfor har jeg skrevet denne guide
Læs mereForskellige Java versioner
Denne guide er oprindeligt udgivet på Eksperten.dk Forskellige Java versioner Denne artikel beskriver lidt om de forskellige Java versioner. Den forklarer J2SE/J2ME/J2EE, plugin/jre/sdk og Sun Java/Microsoft
Læs merePrepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.
Denne guide er oprindeligt udgivet på Eksperten.dk Prepared Statements Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC. Skrevet den 18. Feb 2010
Læs mereXML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.
Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.
Læs mereHvilket sprog skal jeg lære?
Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog skal jeg lære? Denne artikel snakker lidt løst og fast om den kendte problem stilling med hvilket sprog man skal lære (generelle programmerings
Læs mereTest af It-komponent
Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side
Læs mereGeografisk lokalisering i ASP.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Geografisk lokalisering i ASP.NET Denne artikel forklarer lidt om hvorfor og hvordan man laver geografisk lokalisering og viser noget kode. Der er andre
Læs mereTilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge.
Denne guide er oprindeligt udgivet på Eksperten.dk Tilfældige tal Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge. Den forudsætter
Læs mereHvilket sprog skal jeg lære?
Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog skal jeg lære? Denne artikel snakker lidt løst og fast om den kendte problem stilling med hvilket sprog man skal lære (generelle programmerings
Læs mereapplikation----x----odbc driver manager----foobar ODBC driver----foobar database
Denne guide er oprindeligt udgivet på Eksperten.dk ODBC i C/C++ Denne artikel beskriver hvordan man bruger ODBC i C/C++. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab
Læs mereDenne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS.
Denne guide er oprindeligt udgivet på Eksperten.dk XML i ASP Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS. Den forudsætter
Læs mereStudiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang
Læs mereKapitel 1 I gang med C#
Kapitel 1 I gang med C# Vi skal starte med at oprette et meget simpelt program, så du kan se hvad der ligger bag et C# projekt. Når du er færdig med dette kapitel vil du have lært: Hvordan du opretter
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereInternet Information Services (IIS)
Internet Information Services (IIS) Casper Simonsen & Yulia Sadovskaya H1we080113 06-11-2013 Indholdsfortegnelse Problemformulering... 2 Hvorfor:... 2 Hvad:... 2 Hvordan:... 2 Problembehandling... 3 Introduktion...
Læs mereI denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.
Denne guide er oprindeligt udgivet på Eksperten.dk Afrund til helt tal I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Skrevet den 03. Feb 2009 af tjomsen I kategorien
Læs mere.NET 4.0 og C# 4.0. Denne artikel beskriver nogle af de nye features i.net 4.0 og C# 4.0. Den forudsætter et vist kendskab til.net og C#.
Denne guide er oprindeligt udgivet på Eksperten.dk.NET 4.0 og C# 4.0 Denne artikel beskriver nogle af de nye features i.net 4.0 og C# 4.0. Den forudsætter et vist kendskab til.net og C#. Skrevet den 14.
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereIntroduktion til AOP i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til AOP i C# Denne artikel giver en introduktion AOP (Aspect Oriented Programming) i C#. Den forudsætter et pænt kendskab til programmering,
Læs mereHvorfor skal vi bruge objekt orienteret databaser?
OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal
Læs mereJava Klasse nedarvninger
Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering
Læs mereNye Java XML API'er
Denne guide er oprindeligt udgivet på Eksperten.dk Nye Java XML API'er Denne artikel beskriver nye XML features i Java 1.6 - StAX og JAXB, samt XStreams. Den forudsætter kendskab til Java og brug
Læs mereVejledning til Retsinformation web services test stubs
Civilstyrelsen Vejledning til Retsinformation Version:2 2010.02.08 Indholdsfortegnelse 1. Introduktion... 3 2. Installation... 3 3. Web Service beskrivelse og testdata... 3 2010.02.08 2 Side 2 af 5 1.
Læs mereEndnu mere om tilfældige tal
Denne guide er oprindeligt udgivet på Eksperten.dk Endnu mere om tilfældige tal Denne artikel bygger oven på de to forrige artikler om tilfældige tal. Den indeholder lidt matematik og anvendelse på PHP
Læs mereIT projekt person galleri
Denne guide er oprindeligt udgivet på Eksperten.dk IT projekt person galleri Denne artikel forsøger at forklare lidt om hvilke funktioner der ligger bag ved de forskellige titler som deltagerne i et IT
Læs mereA Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
Læs mereExtension udvikling i Mozilla Firefox. Henrik Gemal
Extension udvikling i Mozilla Firefox Henrik Gemal Side 1 Hvem er jeg? Web udvikler hos TDC Laver TDC.dk og TDCOnline.dk Laver HTML, CSS, PHP Med i Mozilla projektet i mange år Udviklet et par extensions
Læs mereMySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.
Denne guide er oprindeligt udgivet på Eksperten.dk MySQL C API Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab
Læs mereDM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/
DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereTech College Aalborg. HomePort. Projekt Smart Zenior Home Guide til udvikling af nye adaptere til HomePort
Tech College Aalborg HomePort Projekt Smart Zenior Home Guide til udvikling af nye adaptere til HomePort Indhold HomePort Adapter Step-for-Step... 2 Linux... 2 Installér IDE... 2 HomePort på GitHub...
Læs mereDatabase tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk
Denne guide er oprindeligt udgivet på Eksperten.dk Database tips Denne artikel vil give nogle forskellige små praktiske råd om ting man skal tænke på når man arbejder med databaser og applikationer som
Læs mereTagwall med Php & MySQL
Denne guide er oprindeligt udgivet på Eksperten.dk Tagwall med Php & MySQL Her laver vi en tagwall i Php & MySQL... jeg forklarer dog ikke så meget, men jeg håber du kan få det til at blive til en tagwall
Læs mereUdvikling af DOTNET applikationer til MicroStation i C#
Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt
Læs mereCVS som KS-værktøj E3-104. Branching, Merging m.v.
CVS som KS-værktøj E3-104 Branching, Merging m.v. Gennemgang af Oprettelse af CVS-træ Tilføj filer Commit Fil forskelle Merging Branching Ekstra værktøjer Avanceret Oprettelse af CVS-træ report graphics
Læs mereCivilstyrelsen. Lex Dania editor. Installationsvejledning. Version: 1.0 2011-09-26
Installationsvejledning Version: 1.0 2011-09-26 Indhold 1 INDLEDNING... 3 1.1 HVAD ER LEX DANIA EDITOR?... 3 1.2 FORUDSÆTNINGER... 3 1.2.1 Hardware... 3 1.2.2 Software... 3 1.3 POLICIES... 4 2 INSTALLATION
Læs mereHåndbog Til CPR services. Bilag 10 Opsætning af CPR klienten til understøttelse af forskellige installationstyper
Håndbog Til CPR services Bilag 10 Opsætning af CPR klienten til understøttelse af forskellige installationstyper CPR-kontoret Datavej 20, Postboks 269, 3460 Birkerød E-post: cpr@cpr.dk. Telefax 45 82 51
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
Læs mereOffset til terminalskærm i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Offset til terminalskærm i Java Ikke en atikkel - men en Classe til java der gør det nemt at skrive ud på avancerede måder når man kun opererer i dosvindue.
Læs mereInstallation af web-konfigurationsprogrammer
Installation af web-konfigurationsprogrammer 23. marts 2015 MODST/JAMAN 1. Generelt Denne vejledning vedrører installation af web-konfigurationsprogrammer, som anvendes til at vedligeholde (konfigurere)
Læs mereIntroduktion til SQL queries
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i
Læs mereIntegrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere
Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel
Læs mereHvordan vælger jeg dokumentprofilen?
Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel
Læs mereSom sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste
Denne guide er oprindeligt udgivet på Eksperten.dk Indkøbsvogn i PHP I denne artikel vil jeg prøve at lave en indkøbskurv som let kan udvides, og som ikke er svær at forstå. Det er bedst med viden om OOP(klasser),
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereOrCAD Capture TCL IDE med Eclipse
OrCAD Capture TCL IDE med Eclipse OrCAD Capture TCL er et script sprog til at lave applikationer til OrCAD Capture. Eclipse er et gratis udviklingsmiljø med debug muligheder. Denne guide hjælper med at
Læs mereInstallation og Drift. Aplanner for Windows Systemer Version 8.15
Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller
Læs mereIntroduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
Læs mereIndhold. Senest opdateret : 30. juli 2010. Side 1 af 5
Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 Webshop2 API Model... 3 Brugen af API et... 4
Læs mereKontrol-strukturer i PHP
Denne guide er oprindeligt udgivet på Eksperten.dk Kontrol-strukturer i PHP Denne artikel gennemgår kontrolstrukturer i PHP. 'if', 'switch', 'while' og 'for' bliver gennemgået. Den forudsætter lidt grundlæggende
Læs mereLærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen
Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse
Læs mereDvs. at give dit program muligheden for at loade og bruge plugins som andre har lavet.
Denne guide er oprindeligt udgivet på Eksperten.dk Refleksion med.net Refleksion bruges til at undersøge klasser på runtime tidspunktet. Se hvordan du f.eks. loader en klasse fra en DLL, gennemkigger dens
Læs mereEmbedded controller, almen.
Ver. 310807 s. 1 Bilag 3 Valgfri specialefagskatalog Data- og kommunikationsuddannelsen Undervisningsministeriet September 2007 /Steen Albertsen Ver. 310807 s. 2 Embedded controller, almen. Varighed 1
Læs mereDatabase design for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter
Læs mereAAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal
Læs mereArtiklen er udgivet under "Åben dokumentlicens (ÅDL) - version 1.0" som kan læses på Du har bl.a. herved frit lov
Wireless og WPA på GNU/Linux Denne artikel beskriver hvordan man får understøttelse af WPA (Wi-Fi Protected Access) installeret på GNU/Linux. Når du har fulgt anvisninger i artiklen, vil du være i stand
Læs mereOpsætning af MobilePBX med Kalenderdatabase
Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database
Læs mereIndhold. Senest opdateret:03. september 2013. Side 1 af 8
Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 API Modeller... 2 Webshop2 API Model v1... 3
Læs mereLær Python dag 1 - modul 1
Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen
Læs mereFairSSL Fair priser fair support
Small Business Server 2003 Certifikat administration Følgende vejledning beskriver hvordan man vælger hvilke adresser der skal være i ens SBS 2003 SSL certifikat. For support og hjælp til anvendelsen af
Læs mereLektion 6. Grundlæggende programmering i VR
Lektion 6 Grundlæggende programmering i VR Plan for i dag Simpelt FPS Triggerzones og animationer C# og objekt orienteret programmering Interfaces Generics Google Cardboard Video om VRs fremtid App til
Læs mereGodkendelsesdato Version Rettet af Rettelse(r)
REST/SOAP Services Referenceimplementation Godkendelsesdato Version Rettet af Rettelse(r) 17/6-2010 1.0 Stefan L. Jensen 1 Indhold 1. Indledning... 3 2. Visual Studio solution... 3 3. Konfiguration...
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereDelphi - CrackMe og Keygen
Denne guide er oprindeligt udgivet på Eksperten.dk Delphi - CrackMe og Keygen Dette er min første artikel! :) Men jeg synes nu den er blevet meget god! :D Jeg giver et et eksempel på hvordan man kan lave
Læs mereInstallation af web-konfigurationsprogrammer
Installation af web-konfigurationsprogrammer 23. januar 2015 MODST/JAMAN 1. Generelt Denne vejledning vedrører installation af web-konfigurationsprogrammer, som anvendes til at vedligeholde (konfigurere)
Læs mereCodeDOM - Dynamisk generering og kompilering af kode
Denne guide er oprindeligt udgivet på Eksperten.dk CodeDOM - Dynamisk generering og kompilering af kode Med CodeDOM kan man på runtime generere kode, kompilere det og derefter afvikle det. I denne artikel
Læs mereInstallation af Web-konfigurationsprogrammer
Installation af Web-konfigurationsprogrammer 16. august 2012 MODST/WAC 1. Generelt Denne vejledning vedrører installation af Web-konfigurationsprogrammer, som anvendes til at vedligeholde (konfigurerer)
Læs mereJava web applikationer med Tomcat
Denne guide er oprindeligt udgivet på Eksperten.dk Java web applikationer med Tomcat Denne artikel beskriver hvordan man kan konfigurere container managed security og en database connection pool i Tomcat.
Læs mereDenne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-)
Denne guide er oprindeligt udgivet på Eksperten.dk Batch genopfriskning Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-) Skrevet den 03.
Læs mereProgrammering I Java/C#
Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren
Læs mere