F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank
|
|
- Arthur Lorenzen
- 5 år siden
- Visninger:
Transkript
1 F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank
2 Rune Ibsen Softwareudvikling Seniorkonsulent Mentoring 10 konsulenter
3 F# Programmeringssprog som oversættes til.net Functional-first, OO second Stærkt typet Udviklingsker på GitHub, Don Syme, Microsoft Research Visual Studio, VSCode, Windows, Mac
4 Historien begynder Microservices til musik streaming REST APIer i ASP.NET, C# samtidige brugere 10 services 6 udviklere Ingen testere unit tests Continuous delivery
5 Mål Koden skal kunne videreudvikles i 10 år Koden skal kunne deployes kontinuerligt Koden skal have høj kvalitet
6 Tilfredshed med kode over tid Primitive obsession Null Virtual method calls Exceptions
7 Primitive obsession Primitive Obsession is using primitive data types to represent domain ideas. For example, we use a String to represent a message, an Integer to represent an amount of money, or a Struct/Dictionary/Hash to represent a specific object. - Ward Cunningham
8 private bool CompleteTransaction( int businesstransactionid, int mongodbtransactionid, int sqldbtransactionid, string user) //...;
9 public class TransactionId public int Value get; set;
10 public class TransactionId public TransactionId(int value) this.value = value; public int Value get;
11 public class TransactionId public TransactionId(int value) this.value = value; public int Value get; [Fact] public void ComparisonIsSane() TransactionId id1 = new TransactionId(123); TransactionId id2 = new TransactionId(123); Assert.True(t1.Equals(t2)); //Fails Assert.True(t1 == t2); //Fails Assert.True(t1.Value == t2.value); //Fails
12 public class TransactionId public TransactionId(int value) this.value = value; public int Value get; public override bool Equals(object obj) var other = obj as TransactionId; if (other == null) return false; return this.value == other.value;
13 public class TransactionId public TransactionId(int value) this.value = value; public int Value get; public override bool Equals(object obj) var other = obj as TransactionId; if (other == null) return false; return this.value == other.value; public override int GetHashCode() => this.value.gethashcode(); public static bool operator ==(TransactionId t1, TransactionId t2) => t1.equals(t2); public static bool operator!=(transactionid t1, TransactionId t2) =>!t1.equals(t2);
14 C# is a very nice language it is just that all the defaults are wrong - Don Syme, skaber af F#
15 null I call it my billion-dollar mistake. [...] But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years. - Tony Hoare
16 null null er fraværet af en værdi null fremgår ikke af typesignaturer Hvornår er nullen valid værdi? Nullable<T> er kun for value typer Maybe<T>
17 public struct Maybe<T> private readonly T _value; public Maybe(T value) if(value == null) HasValue = false; _value = default(t); else _value = value; HasValue = true; public static Maybe<T> Empty() => new Maybe<T>(); public bool HasValue get; public T Value => HasValue? _value : throw new Exception("Cannot access Value when Maybe is empty.");
18 Maybe<TransactionId> ParseTransactionId(string s); Transaction GetTransaction(TransactionId id); Maybe<TransactionId> transactionid = ParseTransactionId(s); if (transactionid.hasvalue) Transaction transaction = GetTransaction(transactionId.Value); /* Do stuff with transaction */
19 public static Maybe<R> Map<T, R>( this Func<T, R> mapper) new : Maybe<R>.Empty(); Maybe<Transaction> transaction = ParseTransactionId(s).Map(id => GetTransaction(id));
20 Maybe<TransactionId> ParseTransactionId(string s); Maybe<Transaction> GetTransaction(TransactionId id); Maybe<TransactionId> transactionid = ParseTransactionId(s); if (transactionid.hasvalue) Maybe<Transaction> maybetransaction = GetTransaction(transactionId.Value); if (maybetransaction.hasvalue) Transaction transaction = maybetransaction.value; /* Do stuff with transaction */
21 Maybe<Maybe<Transaction>> transaction = ParseTransactionId(s).Map(id => GetTransaction(id));
22 public static Maybe<R> Bind<T, R>( this Func<T, Maybe<R>> binder) : Maybe<R>.Empty(); Maybe<Transaction> transaction = ParseTransactionId(s).Bind(id => GetTransaction(id));
23 Maybe<Order> order = ParseTransactionId(s).Bind(GetTransaction).Map(transaction => transaction.orderid).bind(getorder);
24 Maybe<Order> order = from id in ParseTransactionId(s) from transaction in GetTransaction(id) from o in GetOrder(transaction.OrderId) select o;
25 Result Exceptions fremgår ikke af typesignaturer Result<TSuccess,TFailure>
26 public struct Result<TSuccess,TFailure> public bool IsSuccessful get; public TSuccess Success => this.issuccessful? _successvalue : throw new Exception("Cannot access Success on failed Result."); public TFailure Failure => this.issuccessful? throw new Exception("Cannot access Failure on successful Result.") : _failurevalue; Implementation details
27 Result<Order, string> order = ParseTransactionId(s).Bind(GetTransaction).Map(transaction => transaction.orderid).bind(getorder); Result<Order, string> order = from id in ParseTransactionId(s) from transaction in GetTransaction(id) from o in GetOrder(transaction.OrderId) select o;
28 Tilfredshed med kode over tid
29
30 Tilfredshed med kode over tid
31 type TransactionId = TransactionId of int
32 type TransactionId = TransactionId of int let t1 = TransactionId(123) let t2 = TransactionId(123) t1 = t2 //true
33 type TransactionId = TransactionId of int type OrderId = OrderId of int type Name = Name of string type CardNumber = CardNumber of string type Amount = Amount of decimal type PaymentMethod = CreditCard of name : Name * number : CardNumber * expiry : DateTime DebitCard of name : Name * number : CardNumber * expiry : DateTime Cash of Amount type CatalogNumber = CatalogNumber of string type ISRC = ISRC of string type LMID = LMID of string type Product = Album of label : string * catalognumber : CatalogNumber Track of ISRC Video of LMID
34 let processpayment(paymentmethod, product) = match product, paymentmethod with Album(label, catalognumber), CreditCard(_) Album(label, catalognumber), DebitCard(_) -> Ok (TransactionId 123) Album(_), Cash(_) -> Error("Cannot pay for an album with cash") Track(isrc), CreditCard(_, number, _) -> Ok (TransactionId 321) Track(isrc), DebitCard(_) -> Ok (TransactionId 789) Track(isrc), Cash(amount) -> Ok (TransactionId 987) Incomplete pattern matches on this expression. For example, the value '(Video(_),_)' may indicate a case not covered by the pattern(s)
35 let processpayment(paymentmethod, product) = match product, paymentmethod with Album(label, catalognumber), CreditCard(_) Album(label, catalognumber), DebitCard(_) -> Ok (TransactionId 123) Album(_), Cash(_) -> Error("Cannot pay for an album with cash") Track(isrc), CreditCard(_, number, _) -> Ok (TransactionId 321) Track(isrc), DebitCard(_) -> Ok (TransactionId 789) Track(isrc), Cash(amount) -> Ok (TransactionId 987) let mycreditcard = CreditCard(Name("Rune Ibsen ), CardNumber(" "), DateTime(1, 1, 2020)) let backinblack = Album("Epic", CatalogNumber(" ")) let result = processpayment(mycreditcard, backinblack) let transactionid = match result with Ok(transactionId) -> transactionid Error(msg) -> failwith msg
36 var mycreditcard = PaymentMethod.NewCreditCard( Name.NewName("Rune Ibsen"), CardNumber.NewCardNumber(" "), new DateTime(1, 1, 2020)); var backinblack = Product.NewAlbum("Epic", CatalogNumber.NewCatalogNumber(" ")); var result = processpayment(mycreditcard, backinblack); if (result.isok) int transactionid = result.resultvalue.item; /* Do stuff */ else throw new Exception(result.ErrorValue);
37 type Maybe<'T> = Some of 'T None val parsetransactionid : string -> Maybe<TransactionId> val gettransaction : TransactionId -> Maybe<Transaction> val getorder : OrderId -> Maybe<Order> let trygetorder (s : string) : Maybe<Order> = maybe let! transactionid = parsetransactionid(s) let! transaction = gettransaction(transactionid) let orderid = transaction.orderid let! order = getorder(orderid) return order
38 type Result<'TSuccess, 'TFailure> = Success of 'TSuccess Failure of 'TFailure val parsetransactionid : string -> Result<TransactionId, string> val gettransaction : TransactionId -> Result<Transaction, string> val getorder : OrderId -> Result<Order, string> let trygetorder (s : string) : Result<Order, string> = result let! transactionid = parsetransactionid(s) let! transaction = gettransaction(transactionid) let orderid = transaction.orderid let! order = getorder(orderid) return order
39 val parsetransactionid : string -> Async<Result<TransactionId, string>> val gettransaction : TransactionId -> Async<Result<Transaction, string>> val getorder : OrderId -> Async<Result<Order, string>> let trygetorder (s : string) : Async<Result<Order, string>> = asyncresult let! transactionid = parsetransactionid(s) let! transaction = gettransaction(transactionid) let orderid = transaction.orderid let! order = getorder(orderid) return order
40 Tilfredshed med kode over tid
41 Kom i gang Glidende overgang fra C# til F# Start med ét F# projekt i en større løsning Kritisk masse af interesserede udviklere Peer review proces
42 Tak for i dag F# kan adopteres gradvist F# er velegnet til modellering F# gør visse gennemgående begreber eksplicitte Gør verden til et bedre sted
43 C# is a very nice language it is just that all the defaults are wrong - Don Syme, skaber af F#
Tredjepart 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 merePrivat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende
Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind
Læs mereDesign by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design
Læs mereIBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1
IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is
Læs merePARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION
Læs mereProject Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1
Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words
Læs mereSpecifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api
Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...
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 merePortal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration
Portal Registration Step 1 Provide the necessary information to create your user. Note: First Name, Last Name and Email have to match exactly to your profile in the Membership system. Step 2 Click on the
Læs mereBasic statistics for experimental medical researchers
Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) E-mail:
Læs mereIBM WebSphere Operational Decision Management
IBM WebSphere Operational Decision Management 8 0 29., WebSphere Operational Decision Management 8, 0, 0. Copyright IBM Corporation 2008, 2012. ........... 1 :......... 1 1: Decision Center....... 3 1
Læs mereDK - Quick Text Translation. HEYYER Net Promoter System Magento extension
DK - Quick Text Translation HEYYER Net Promoter System Magento extension Version 1.0 15-11-2013 HEYYER / Email Templates Invitation Email Template Invitation Email English Dansk Title Invitation Email
Læs mereUser Manual for LTC IGNOU
User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service
Læs mereGoogle App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben
GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor
Læs mereDesign by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Læs mereIBM WebSphere Operational Decision Management
IBM WebSphere Operational Decision Management 8 0 45., WebSphere Operational Decision Management 8, 0, 0. Copyright IBM Corporation 2008, 2012. ........... 1 1:........ 2....... 3 Event Runtime...... 11...........
Læs mereAarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00
Page 1/12 Aarhus Universitet, Science and Technology, Computer Science Exam Wednesday 27 June 2018, 9:00-11:00 Allowed aid: None The exam questions are answered on the problem statement that is handed
Læs mereDet er muligt at chekce følgende opg. i CodeJudge: og
Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.
Læs mereSoftware 1 with Java. Recitation No. 7 (Servlets, Inheritance)
Software 1 with Java Recitation No. 7 (Servlets, Inheritance) Servlets Java modules that run on a Web server to answer client requests For example: Processing data submitted by a browser Providing dynamic
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 mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål
Læs mereDigitaliseringsstyrelsen
NemLog-in 29-05-2018 INTERNAL USE Indholdsfortegnelse 1 NEMLOG-IN-LØSNINGER GØRES SIKRERE... 3 1.1 TJENESTEUDBYDERE SKAL FORBEREDE DERES LØSNINGER... 3 1.2 HVIS LØSNINGEN IKKE FORBEREDES... 3 2 VEJLEDNING
Læs mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Artifact Milestone Du skal relaterer
Læs mereCHAPTER 8: USING OBJECTS
Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied
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 mereUnitel EDI MT940 June 2010. Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)
Unitel EDI MT940 June 2010 Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004) Contents 1. Introduction...3 2. General...3 3. Description of the MT940 message...3 3.1.
Læs mere3. PROJEKT, 2 SEMESTER
3. PROJEKT, 2 SEMESTER Bruger undersøgelse, af sociale medie. KENDSKAB TIL OG BRUG AF ONLINE SOCIALE MEDIER FORENINGEN AF DANSKE INTERAKTIVE MEDIER, FÅET TIL OPGAVE AT AFDÆKKE DANSKERNES BRUG AF SOCIALE
Læs mereLøsning af skyline-problemet
Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle
Læs mereVina Nguyen HSSP July 13, 2008
Vina Nguyen HSSP July 13, 2008 1 What does it mean if sets A, B, C are a partition of set D? 2 How do you calculate P(A B) using the formula for conditional probability? 3 What is the difference between
Læs mereRoE timestamp and presentation time in past
RoE timestamp and presentation time in past Jouni Korhonen Broadcom Ltd. 5/26/2016 9 June 2016 IEEE 1904 Access Networks Working Group, Hørsholm, Denmark 1 Background RoE 2:24:6 timestamp was recently
Læs mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål
Læs mereOIOSAML.NET og Umbraco. ved Thomas Ravnholt ravnholt @ silverbullet.dk
OIOSAML.NET og Umbraco ved Thomas Ravnholt ravnholt @ silverbullet.dk Silverbullet, stiftet 2003 Silverbullet A/S IT- rådgivning, projektledelse og implementering Officiel SKI-leverandør Kontorer i Århus
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 mereUnited Nations Secretariat Procurement Division
United Nations Secretariat Procurement Division Vendor Registration Overview Higher Standards, Better Solutions The United Nations Global Marketplace (UNGM) Why Register? On-line registration Free of charge
Læs mereBemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret.
Check dine svar på: https://dtu.codejudge.net/02101-e18/ Exercise 1: Installer Eclipse og Java. Dette kan f.eks. gøres ved at følge instuktionerne i dokumentet eclipse intro.pdf som ligger under Fildeling
Læs mereBarnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et)
Forældreskema Barnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et) Barnets alder: år og måneder Barnet begyndte at lære dansk da det var år Søg at besvare disse spørgsmål så godt
Læs mereTitel: Barry s Bespoke Bakery
Titel: Tema: Kærlighed, kager, relationer Fag: Engelsk Målgruppe: 8.-10.kl. Data om læremidlet: Tv-udsendelse: SVT2, 03-08-2014, 10 min. Denne pædagogiske vejledning indeholder ideer til arbejdet med tema
Læs mereODIN-webservice ændringer release 2010 v2.0
DOKUMENTATION OG VEJLEDNING ODIN-webservice ændringer release 2010 v2.0 Indholdsfortegnelse 1. Nye webservice metoder... 2 1.1 Anvendelse af køretøjer og personel fra fremmede beredskaber ifm. indberetning
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 mereECE 551: Digital System * Design & Synthesis Lecture Set 5
ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE
Læs mereBesvarelser til Lineær Algebra Reeksamen Februar 2017
Besvarelser til Lineær Algebra Reeksamen - 7. Februar 207 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende
Læs mereDa beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:
NOTAT 6. juni 2007 J.nr.: 331-3 LEA Bilag A danzig-møde 15.6.2007 Opdatering af DAN-1 og danzig Profile Specification Forslag til opdatering af Z39.50 specifikationerne efter udgivelse af Praksisregler
Læs mereDatabaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
Læs mere3D NASAL VISTA TEMPORAL
USER MANUAL www.nasalsystems.es index index 2 I. System requirements 3 II. Main menu 4 III. Main popup menu 5 IV. Bottom buttons 6-7 V. Other functions/hotkeys 8 2 I. Systems requirements ``Recommended
Læs mereSortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute
Sortering fra A-Z Henrik Dorf Chefkonsulent SAS Institute Hvorfor ikke sortering fra A-Å? Det er for svært Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å?
Læs mereOversæ 槡 else og tolkning Public rela ons og kommunika on EASTERN CONCEPT ApS EASTERN TECHTRANS ApS
Date: 09.11.2016 CVR number 32676138 Address Universitetsparken 7 Himmelev Postal code and city 4000 Roskilde Start date 21.01.2010 Company type Adver sing protec on Status Anpartsselskab No Normal Expanded
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 mereHow Long Is an Hour? Family Note HOME LINK 8 2
8 2 How Long Is an Hour? The concept of passing time is difficult for young children. Hours, minutes, and seconds are confusing; children usually do not have a good sense of how long each time interval
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 merePMDK PC-Side Basic Function Reference (Version 1.0)
PMDK PC-Side Basic Function Reference (Version 1.0) http://www.icpdas.com PMDK PC-Side Basic Function Reference V 1.0 1 Warranty All products manufactured by ICPDAS Inc. are warranted against defective
Læs mereShooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8
Shooting tethered med Canon EOS-D i Capture One Pro Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 For Canon EOS-D ejere der fotograferer Shooting tethered med EOS-Utility eller
Læs mereIBM WebSphere Operational Decision Management
IBM WebSphere Operational Decision Management 8 0 49., WebSphere Operational Decision Management 8, 0, 0. Copyright IBM Corporation 2008, 2012. ........... 1 :......... 1 Miniloan........ 3 1:........
Læs mereShared space - mellem vision og realitet. - Lyngby Idrætsby som case
Downloaded from orbit.dtu.dk on: Jan 27, 2017 Shared space - mellem vision og realitet. - Lyngby Idrætsby som case Brinkø, Rikke Publication date: 2015 Document Version Peer-review version Link to publication
Læs mereTrolling Master Bornholm 2015
Trolling Master Bornholm 2015 (English version further down) Sæsonen er ved at komme i omdrejninger. Her er det John Eriksen fra Nexø med 95 cm og en kontrolleret vægt på 11,8 kg fanget på østkysten af
Læs mereINGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester
INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 7 Eksamenstermin: DECEMBER 2003 / JANUAR 2004 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir
Læs mereEn textbox har et Validating event, med dette kan vi samme med en errroprovider checke input:
Inputvalidering i Windows Forms Applikationer Rolf Therkildsen (6. nov 2008) Krav til inputvalidering Brugeren må aldrig blive forhindret i at flytte til en anden kontrol. Brugeren skal informeres om fejl
Læs mereInternationalt uddannelsestilbud
t Internationalt uddannelsestilbud Lyngby-Taarbæk Vidensby Forberedende analyse blandt udenlandske ansatte 9. maj 2013 AARHUS COPENHAGEN MALMÖ OSLO SAIGON STAVANGER VIENNA 1 1. BAGGRUND Denne rapportering
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 mereArbejsskadeAnmeldelse
ArbejsskadeAnmeldelse OpretAnmeldelse 001 All Klassifikations: KlassifikationKode is an unknown value in the current Klassifikation 002 All Klassifikations: KlassifikationKode does not correspond to KlassifikationTekst
Læs mereSWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Læs mere% &$ # '$ ## () %! #! & # &, # / # 0&. ) 123 45 / & #& #
!"$!!"$ % &$ '$ () %! %"!" & * function &+! & &, --.& / 0&. ) 123 45 / & & & 6 Sub CalcVecProduct() * &3.5 & 2 &6 / 7$ & & & "%&$&"! 2 " $ " 8 $ & $/ $ $" 9&6 Sub test() streng_y = "det her går " streng_y
Læs mereGeneralized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US
Generalized Probit Model in Design of Dose Finding Experiments Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US Outline Motivation Generalized probit model Utility function Locally optimal designs
Læs mereI profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller
Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse
Læs mereSkærmbilled 1: 2 Når man vil oprettet et emne kan man ikke uploade et billed. Skærmbilled 1:
1 Log ind med da1@forum.dk Pass=1711Dahl Beskeder, gå ind på Bruger=DA3 Andersen Klik på Dokumentarkiv ( 1 ) og downloade PDF så fremkommer følgende fejl: Fatal error: Uncaught exception 'Zend_Controller_Action_Exception'
Læs mereStatus på det trådløse netværk
Status på det trådløse netværk Der er stadig problemer med det trådløse netværk, se status her: http://driftstatus.sdu.dk/?f=&antal=200&driftid=1671#1671 IT-service arbejder stadig med at løse problemerne
Læs mereSoftware Construction 1 semester (SWC) Spørgsmål 1
Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /
Læs mereStart på Arduino og programmering
Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget
Læs mereTerese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012
Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend
Læs mereE-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss
E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss Brugervejledning (side 2-6) Userguide (page 7-11) Bedienungsanleitung 1 - Hvordan forbinder du din E-PAD hængelås med din
Læs mereDET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index
DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE
Læs mereBoost Concept Check Library
Boost Concept Check Library Kasper Egdø and Konstantin Barkaia Department of Computer Science University of Copenhagen Boost Concept Check Library p.1/19 Eksempel #include #include int
Læs mere3. Har du oplevet blackout, mens du har styret skibet? Have you ever been steering the vessel, when a blackout have happened?
Blackout på Orateca -Interview med styrmand Name Aleksander Andrzejczak Rank 1. officer / mate Years of navigator 3 years 1 year at Orateca 2 maybe 1 time during sea passage Open sea, average weather,
Læs mereTeknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling
Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling 6.5.2009 Jacob Schaumburg-Müller jacobs@microsoft.com Direktør, politik og strategi Microsoft
Læs mere#AlleKanKode. Lektion 2 - Konstanter og Variabler
#AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger
Læs mereAktivering af Survey funktionalitet
Surveys i REDCap REDCap gør det muligt at eksponere ét eller flere instrumenter som et survey (spørgeskema) som derefter kan udfyldes direkte af patienten eller forsøgspersonen over internettet. Dette
Læs mereTitel: Hungry - Fedtbjerget
Titel: Hungry - Fedtbjerget Tema: fedme, kærlighed, relationer Fag: Engelsk Målgruppe: 8.-10.kl. Data om læremidlet: Tv-udsendelse: TV0000006275 25 min. DR Undervisning 29-01-2001 Denne pædagogiske vejledning
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4
DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens
Læs mereTrolling Master Bornholm 2012
Trolling Master Bornholm 1 (English version further down) Tak for denne gang Det var en fornøjelse især jo også fordi vejret var med os. Så heldig har vi aldrig været før. Vi skal evaluere 1, og I må meget
Læs mereBilag. Resume. Side 1 af 12
Bilag Resume I denne opgave, lægges der fokus på unge og ensomhed gennem sociale medier. Vi har i denne opgave valgt at benytte Facebook som det sociale medie vi ligger fokus på, da det er det største
Læs mereThe X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen
The X Factor Målgruppe 7-10 klasse & ungdomsuddannelser Engelskundervisningen Læringsmål Eleven kan give sammenhængende fremstillinger på basis af indhentede informationer Eleven har viden om at søge og
Læs mereCS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2
1 CS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2 Outline 2 HW Solution Exercise (Equivalence Class Testing) Exercise (Decision Table Testing) Pairwise Testing Exercise (Pairwise Testing) 1 Homework
Læs mereAccessing the ALCOTEST Instrument Upload Data - NJSP Public Website page -
Accessing the ALCOTEST Instrument Upload Data - NJSP Public Website page - www.njsp.org Public Information Access Public Information Page Selection Within the Public Information Drop Down list, select
Læs mereSAS Corporate Program Website
SAS Corporate Program Website Dear user We have developed SAS Corporate Program Website to make the administration of your company's travel activities easier. You can read about it in this booklet, which
Læs mereSmall Autonomous Devices in civil Engineering. Uses and requirements. By Peter H. Møller Rambøll
Small Autonomous Devices in civil Engineering Uses and requirements By Peter H. Møller Rambøll BACKGROUND My Background 20+ years within evaluation of condition and renovation of concrete structures Last
Læs mereTree klassen fra sidste forelæsning
Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years
Læs merepublic Set(int size) { this.listelement = new LinkedList<Integer>(); }
// Henri AYCARD import java.util.linkedlist; public class Set { private LinkedList listelement; public Set(int size) { this.listelement = new LinkedList(); public boolean contains(int
Læs mereBILAG 8.1.B TIL VEDTÆGTER FOR EXHIBIT 8.1.B TO THE ARTICLES OF ASSOCIATION FOR
BILAG 8.1.B TIL VEDTÆGTER FOR ZEALAND PHARMA A/S EXHIBIT 8.1.B TO THE ARTICLES OF ASSOCIATION FOR ZEALAND PHARMA A/S INDHOLDSFORTEGNELSE/TABLE OF CONTENTS 1 FORMÅL... 3 1 PURPOSE... 3 2 TILDELING AF WARRANTS...
Læs mereReventlow Lille Skole
1 Reventlow Lille Skole - så kan du lære det! Engelsk 3.-4. Der vil mundtlig primært blive arbejdet ud fra clio portalen skriftligt arejder vi enten med pirana eller lets do it. Måned Uge nr. Forløb Antal
Læs mereAalborg Universitet. Undersøgelse af miljøvurderingspraksis i Danmark Lyhne, Ivar; Cashmore, Matthew Asa. Publication date: 2013
Aalborg Universitet Undersøgelse af miljøvurderingspraksis i Danmark Lyhne, Ivar; Cashmore, Matthew Asa Publication date: 2013 Document Version Peer-review version Link to publication from Aalborg University
Læs mereVPN VEJLEDNING TIL MAC
VPN VEJLEDNING TIL MAC MAC OS X 1 VPN VEJLEDNING TIL MAC Formålet med en VPN forbindelse er, at du kan tilgå nogle af Aarhus Universitets services hjemmefra, som ellers kun er tilgængelige, når du er på
Læs mereVirkefeltsregler i Java
Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten
Læs mereLinear Programming ١ C H A P T E R 2
Linear Programming ١ C H A P T E R 2 Problem Formulation Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. The Guidelines of formulation
Læs mereclass subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree.
Programmering 1999 Forelæsning 11, tirsdag 5. oktober 1999 Oversigt Klasse-hierarkier: superklasser og subklasser Nedarvning Polymorfi Programmering 1999 KVL Side 11-1 Hierarkier En klasse repræsenterer
Læs mereCross-Sectorial Collaboration between the Primary Sector, the Secondary Sector and the Research Communities
Cross-Sectorial Collaboration between the Primary Sector, the Secondary Sector and the Research Communities B I R G I T T E M A D S E N, P S Y C H O L O G I S T Agenda Early Discovery How? Skills, framework,
Læs mereSOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla
SOFTWARE PROCESSES Dorte, Ida, Janne, Nikolaj, Alexander og Erla Hvad er en software proces? Et struktureret sæt af AKTIVITETER, hvis mål er udvikling af software. En software proces model er en abstrakt
Læs mereSpecifikationsdokument for PDF Validator API
Nets DanID A/S Lautrupbjerg 10 DK 2750 Ballerup T +45 87 42 45 00 F +45 70 20 66 29 info@danid.dk www.nets-danid.dk CVR-nr. 30808460 Specifikationsdokument for PDF Validator API DanID A/S 17. august 2012
Læs mereMS Visual Studio Basic 2010. En kort vejledning
Du kan hente programmet gratis her: MS Visual Studio Basic 2010 Express http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express Tryk på Install Now og følg vejledningen. Indholdsfortegnelse
Læs mereMeasuring the Impact of Bicycle Marketing Messages. Thomas Krag Mobility Advice Trafikdage i Aalborg, 27.08.2013
Measuring the Impact of Bicycle Marketing Messages Thomas Krag Mobility Advice Trafikdage i Aalborg, 27.08.2013 The challenge Compare The pilot pictures The choice The survey technique Only one picture
Læs mereDOCUMENTATION FULLY DRESSED USE-CASE. 29. oktober 2012 [ TEMA PERSISTENS DOKUMENTATION] Use-case: Process Order
DOCUMENTATION FULLY DRESSED USE-CASE Use-case: Process Order Omfang og niveau: Dette omhandler en ordre der går gennem systemet Primær aktør: Sælger Pre betingelser: At der ikke er registret kunder Post
Læs mereAsking whether there are commission fees when you withdraw money in a certain country
- General Can I withdraw money in [country] without paying fees? Kan jeg hæve penge i [land] uden at betale gebyrer? Asking whether there are commission fees when you withdraw money in a certain country
Læs mere