Programmeringscamp. Implementer funktionerne én for én og test hele tiden.

Størrelse: px
Starte visningen fra side:

Download "Programmeringscamp. Implementer funktionerne én for én og test hele tiden."

Transkript

1 Programmeringscamp De to opgaver træner begge i at lave moduler som tilbyder services der kan bruges af andre, samt i at implementere services efter en abstrakt forskrift. Opgave 1 beder jer om at implementere den abstrakte datastruktur en kø. Opgave 2 beder jer om at implementere pseudokode der specificerer søgninger i websider. Abstrakte datastrukturer og pseudokode blev gennemgået i uge 44. Mens I udvikler modulerne er det nemmeste at teste funktionerne i selve modulet: Definition af funktioner.. if name == " main ": test af funktioner. Implementer funktionerne én for én og test hele tiden. Opgave 1. Implementering af en kø Opgaven træner i at implementere en abstrakt datastruktur og i at indkapsle den så andre kan bruge det. Den abstrakte datastruktur skal være en kø: En kø er FIFO: first in first out Har følgende metoder: enqueue(elem) indsæt et element bagerst i køen og returner det dequeue() fjern elementet forrest i køen og returner dette. size() returner tal der angiver køens længde isempty() returner Boolean der angiver om køen er tom I behøver kun lave: enqueue, size, og isempty. tail head

2 2 Tail Head Lav et modul queuemodule hvor følgende klasser er defineret: class element: def init (self,name): self.name = name self.next = None class queue: def init (self): self.tail = None self.head = None Tail peger på køens hale (den sidst tilkomne), head på køens hoved (den først tilkomne). Man laver en ny kø ved at skrive queue() og et nyt element ved at skrive element(navn), f.eks. element( Hansen ) Modulet skal tilbyde følgende services på køer: def enqueue(queue,anelement): '''add anelement as the tail for the queue and return it''' def dequeue(queue): '''remove the head of the queue and return it''' def size(queue): '''return the size of the queue''' def isempty(queue): '''return true if the queue is empty''' Skriv et andet modul der importerer kømodulet. from queuemodule import * Det nye modul skal indeholde følgende kommandoer der bruger jeres implementation print 'lav ny koe' dagligbrugsen = queue() print 'Er koeen tom?', isempty(dagligbrugsen) print 'indsaet tre elementer' enqueue(dagligbrugsen,element('hansen')) enqueue(dagligbrugsen,element('karlsen')) enqueue(dagligbrugsen,element('jensen')) print 'Er koeen tom?', isempty(dagligbrugsen)

3 3 Og give følgende output lav ny koe Er koeen tom? True indsaet tre elementer Er koeen tom? False Stoerrelse = 3 Stoerrelse = 2 Stoerrelse = 1 Stoerrelse = 0 Stoerrelse = 0 Husk at opdatere køens variable head og tail. Faldgruber i dequeue: Hvad skal der ske hvis vi kalder funktionen på en tom kø? Hvad skal der ske når vi fjerner det sidste element i køen og den bliver tom? Opgave 2. Lav et modul der downloader en webside og søger i den Opgaven træner i at implementere pseudokode samt at indkapsle services i et modul ordfindermodul så andre kan bruge dem. I behøver kun lave er frivilling. 1.1 Obligatorisk Modulet skal indeholde følgende. Det starter med: import httplib def getwebpage(server,url): '''server er navnet pa en server. Url er dokumentets url. Returnerer HTMLkoden som en string. Hvis der opstaar fejl returneres den tomme string og fejlinformation printes ud Man faar fat i websitets indexside ved at saette url til den tomme streng''' connectionobject = httplib.httpconnection(server)#get the server connectionobject.request("get", url)#send a request result = connectionobject.getresponse()#get the response status = result.status if status == 200: #OK return result.read() else: #not OK print result.status, result.reason return '' Hvis vi vil fiske DMI s side om østjyllands vejr frem skriver man: thepage = getwebpage(' '/dmi/index/danmark/regionaludsigten/ostjylland.htm') Server = ' url = '/dmi/index/danmark/regionaludsigten/ostjylland.htm' Dernæst skal det indeholde følgende funktioner, beskrevet i pseudokode: findtags(atext,starttag, endtag) '''returnerer en liste af alle forekomster af starttag...starttag i atext Ved soegning efter links kan starttag f.eks. vaere = <a og sluttag vaere </a>'''

4 4 initialiser taglisten lav alle bogstaver om til lowercase. Find er case-sensitiv find positionen af første forekomst af start-tag mens vi har fundet et start-tag find slut-tag'et fra en position efter start-taget hvis vi fandt et slut-tag tilfoej hele tag'et til taglisten led efter nyt start-tag fra en position efter slut-taget ellers vi kunne ikke finde tag'et. Hop ud af løkken returner taglisten I skal bruge funktionen find til at løse opgaven. Find er en metode hos typen string. Den kaldes: S.find(sub [,start [,end]]), hvor S er en string, sub er den tekst man vil finde, start angiver den position hvorfra søgningen starter, end den position hvor søgningen slutter. Funktionen returnerer sub s startposition. 'Peter boegh Andersen'.find('boegh') giver f.eks. resultatet 6. Hvis sub ikke kan findes, returneres -1. Find er case-sensitiv. Et muligt output fra funktionen kan være: <a href="/about/website">website maintained by the python community</a> <a href=" title="web and hosting provided by xs4all, netherlands">hosting by xs4all</a> <a href=" title="design and content management system by pollenation internet, yorkshire">design by pollenation</a> Man kan f.eks. forestille sig funktionen brugt af en såkaldt webcrawler der systematisk leder nettet igennem efter websider den kan indeksere. Den vil bruge de fundne hyperlinks til at downloade nye websider. Implementer følgende pseudokode: 1.2 Frivillig def findwords(atext, wordlist): '''finder ordne i wordlist i atext. Returnerer en citationsliste med ordenes kontekst''' lav alle bogstaver i wordlist om til lowercase. Find er case-sensitiv initialiser citationslisten for alle ord i ordlisten find foerste forekomst af ordet i atext mens ordet blev fundet tilfoej fundkonteksten til citationslisten find naeste forekomst af ordet i atext returner citationslisten Fundkonteksten laves på følgende måde: def makecontext(awordposition,atext): '''returner 20 bogstaver foran og efter ordpositionen''' hvis positionen er udenfor teksten returner den tomme streng ellers find starten af konteksten find slutningen af konteksten returner atext[start:slutning] Output af findwords, der leder efter ordet python, kan f.eks. være: ally, support other python conferences a the world, and fund python related devel ="about/">about the python software found o:psf%40python.org">psf< sf<span>@</span>python<span>.</s for questions about python, please write :help%40python.org">help lp<span>@</span>python<span>.</s for comments on the python.org web pages

5 5 Faldgruber i makecontext: hvad skal der ske, hvis der er mindre end 20 bogstaver foran findestedet, eller mindre end 20 bogstaver efter findestedet? Man kan forestille sig funktionen brugt af politiet der leder efter sider med børnepornografi. I skal dernæst lave et nyt modul der importerer jeres modul og anvender dets services. F.eks. således: from ordfindermodul import * thepage = getwebpage(' '/psf/') #print thepage linkliste = findtags(thepage,'<a', '</a>')#finder alle hyperlinks for link in linkliste: print link citations = findwords(thepage, ['python','website'])#leder efter ordene python og website for citation in citations: print citation

Programmeringscamp Opbygning og specialisering af klassehierarki. Simulering af en kasselinje

Programmeringscamp Opbygning og specialisering af klassehierarki. Simulering af en kasselinje Programmeringscamp Opgave 9 var helt tydeligt for svær det var imponerende at 7 faktisk afleverede! Vi bruger uge 48 til at gå lidt grundigere igennem objektorienteret programmering, specielt teknikken

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt

Læs mere

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database Øvelse 10. Dynamiske web-sider og cgi-modulet I denne opgave skal vi bygge de foregående opgaver sammen til en mini-udgave af det samlede system I skal aflevere til vintereksamen. klient Forespørgsel/

Læs mere

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave

Læs mere

Abstrakte datatyper C#-version

Abstrakte 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 mere

Python programmering. Per Tøfting. MacFest

Python programmering. Per Tøfting. MacFest Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer

Læs mere

Lær Python - Dag 4, modul 2 Objektorienteret programmering

Lær Python - Dag 4, modul 2 Objektorienteret programmering Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.

Læs mere

Lær Python dag 1 - modul 1

Læ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 mere

2. Husk at give execute-tilladelser. I Filezilla højreklikker I på den overførte file, så vælger I fileattributes og sætter kryds i execute.

2. Husk at give execute-tilladelser. I Filezilla højreklikker I på den overførte file, så vælger I fileattributes og sætter kryds i execute. Øvelse 10. Dynamiske web-sider og cgi-modulet I denne opgave skal vi bygge de foregående opgaver sammen til en mini-udgave af det samlede system I skal aflevere til vintereksamen. I får udleveret et lille

Læs mere

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database Øvelse 12. Dynamiske web-sider og cgi-modulet Teori: CGI Øvelse: anvendelse af cgi-modulet. I denne opgave skal vi bygge de foregående opgaver sammen til en mini-udgave af det samlede system I skal aflevere

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion 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 mere

Tredjepart webservices

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 mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

DM507 Algoritmer og datastrukturer

DM507 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 mere

Netværk & elektronik

Netværk & elektronik Netværk & elektronik Oversigt Ethernet og IP teori Montering af Siteplayer modul Siteplayer teori Siteplayer forbindelse HTML Router (port forwarding!) Projekter Lkaa Mercantec 2009 1 Ethernet På Mars

Læs mere

Introduktion til programmering. Uge 38.1 Python 2 Learning Python, kap 8-12.

Introduktion til programmering. Uge 38.1 Python 2 Learning Python, kap 8-12. Introduktion til programmering Uge 38.1 Python 2 Learning Python, kap 8-12. Opsummering Store dele af Python kan forstås gennem følgende simple model: En repræsentation/udtryk står for et objekt/en værdi

Læs mere

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter

Læs mere

SmartWeb Brugermanual

SmartWeb Brugermanual SmartWeb Brugermanual Table of Content Table of Content... 1 Best Practice SmartWeb:... 2 Implementering... 4 Egenskaber:... 5 Filer:... 7 Oprettelse af Kategori... 9 Sider og Tekster:... 11 Slideshow...

Læs mere

Løsning af møntproblemet

Løsning af møntproblemet Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Typer og Mønstergenkendelse Martin Elsman Datalogisk Institut Københavns Universitet DIKU 23. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, 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 [email protected]. Besvarelsen skal

Læs mere

Klasser og Objekter i Python. Uge 11

Klasser og Objekter i Python. Uge 11 Klasser og Objekter i Python Uge 11 Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. Klassens objekter er instanser af klassen. En programudførelse

Læs mere

Programmering I Java/C#

Programmering 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

DM507 Algoritmer og datastrukturer

DM507 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 mere

3. PROJEKT, 2 SEMESTER

3. 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 mere

Python 3 kursus lektion 1:

Python 3 kursus lektion 1: Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer

1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer 1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer på disse. Typer af lister: Array Enkelt linket liste Dobbelt linket Cirkulære lister Typer af køer: FILO FIFO

Læs mere

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

Læs mere

3 Algebraisk Specifikation af Abstrakte Datatyper.

3 Algebraisk Specifikation af Abstrakte Datatyper. 3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.

Læs mere

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning. Indhold Beregn rødder... 2 Beskrivelse af kærneproblemet... 2 Plan for brugerfladen for programmet... 3 Operationer på inddata... 4 Output - Beskrivelse af uddata... 4 Flowchart - programmets logiske opbygning/struktur...

Læs mere

Tree klassen fra sidste forelæsning

Tree 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 mere

DDD Runde 2, 2015 Facitliste

DDD Runde 2, 2015 Facitliste DDD Runde 2, 2015 Facitliste Søren Dahlgaard og Mathias Bæk Tejs Knudsen Opgaver og løsninger til 2. runde af DDD 2015. 1 4. 19. februar, 2015 linetest DK v1.0 Line Test Sigurd er begyndt i gymnasiet og

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

Det er muligt at chekce følgende opg. i CodeJudge: og

Det 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 mere

IT Support Guide. Installation af netværksprinter (direkte IP print)

IT Support Guide. Installation af netværksprinter (direkte IP print) IT Support Guide Denne guide er hentet på www.spelling.dk Program: Microsoft Windows Vista Program sprog version: ENG (US) Guide emne: Installation af netværksprinter (direkte IP print) Publikationsnr.:

Læs mere

Databaseadgang fra Java

Databaseadgang 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 mere

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax.............................................

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software 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 mere

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

Læs mere

Opsætning (GIS udbyder)

Opsætning (GIS udbyder) Indholdsfortegnelse Opsætning (GIS udbyder)... 1 Opsætning (GeoServer)... 2 Opsætning (Skyhost WebPortalen)... 3 Udførelsen (Skyhost Webportalen)... 5 Udførelsen (Jobs Appen)... 8 Ekstern redigering af

Læs mere

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

Læs mere