IMM-B.Eng NYHEDSSØGEMASKINE. Hasim Coskun. Eksamensprojekt, Diplom IT. Danmarks Tekniske Universitet. Vejleder.

Størrelse: px
Starte visningen fra side:

Download "IMM-B.Eng-2010-36 NYHEDSSØGEMASKINE. Hasim Coskun. Eksamensprojekt, Diplom IT. Danmarks Tekniske Universitet. Vejleder."

Transkript

1 IMM-B.Eng NYHEDSSØGEMASKINE Hasim Coskun Eksamensprojekt, Diplom IT Danmarks Tekniske Universitet 2010 Vejleder Finn Gustafsson

2 Abstrakt Implementerer en parser prototype i PHP til en nyhedssøgemaskine. Parseren skal udvikles så den kan fungere på et valgt nyhedsbureau, som er Søgemaskinen skal kunne give brugeren muligheden for, at foretage søgninger på forskellige sprog og samtidig automatisk detektere, hvilket sprog brugeren har indtastet i en eventuel søgning. Oversættelse og sprog detektion skal udvikles således at der benyttes Google s API og dermed deres Google Translate funktionalitet. Søgemaskinen skal være up to date hvad angår design, og derfor skal det lægge sig tæt op ad Web 2.0 farver, skrifttyper mm. Inden denne parser prototype implementeres, skal der forskes og undersøges nærmere omkring hvordan nuværende søgemaskiner, såsom Google fungerer. Dette vil danne grundlag for, hvordan den mest optimale parser kan blive udviklet og dermed give ideer til udvikling af Nuttot s parser prototype. Danmarks Tekniske Universitet Side 1 af 91

3 Forord Denne rapport er udarbejdet af Hasim Coskun i forbindelse med det afsluttende eksamensprojekt på Diplomingeniør studiet ved Danmarks Tekniske Universitet. Projektet er en idé jeg selv har fundet på og ved vejledning af Finn Gustafsson er det blevet en realitet. Vejlederen på projekt har været Finn Gustafsson fra IMM DTU. Der er vedlagt en CD med kildekode bagerst i rapporten. På baggrund af denne rapports udførelse vil jeg gerne sige mange tak til Finn Gustafsson for hans hjælpsomhed og gode vejledning. DATO: UNDERSKRIFT: HASIM COSKUN S Danmarks Tekniske Universitet Side 2 af 91

4 Indholdsfortegnelse 1. INDLEDNING 6 2. PLAN 7 3. KRAVSPECIFIKATION BRUGERGRÆNSEFLADEN DATABASEN FUNKTIONALITET 8 4. TEORI GOOGLE PAGERANK SEO SPIDER & CRAWLER BOTS KONKLUSION ANALYSE SPROG DETEKTOREN PROBLEMATIKKEN I EN SPROGDETEKTOR LØSNINGSMODELLER ORDBOG BASERET (MODEL 1) ORDBOG & ENDELSER BASERET (MODEL 2) DATABASEN (MYSQL) LØSNINGSMODELLER MYSQL VS. MSSQL VS. POSTGRESQL MYISAM VS. INNODB AUTO INCREMENT VS. MANUEL INCREMENT NØGLER KOLLATION (TEGNSÆTNING) SQL INJECTION INDEXES FUNKTIONALITET (PHP) LØSNINGSMODELLER PHP VS. ASP.NET HTML VS. XHTML CSS JAVASCRIPT & AJAX DESIGN 29 Danmarks Tekniske Universitet Side 3 af 91

5 6.1. GRÆNSEFLADE DATABASEN (MYSQL) RELATIONER ER-DIAGRAM DATABASE MODEL DATABASE OVERSIGT FUNKTIONALITET (PHP) PARSER LINK CRAWLER BOT TRANSLATOR BOT SPROGDETEKTOR SØGEALGORITME IMPLEMENTERING GRÆNSEFLADE SØGEFELT SPROGDETEKTOR OVERSÆTTER VIRTUELT TASTATUR PREVIEW LOGO SØGERESULTAT BRUGERVENLIGHED WEB FARVER SKRIFTTYPER DATABASEN (MYSQL) ORIGINAL TRANSLATIONS URL SUPPORTED LANGUAGE SEARCH HISTORY SQL OPERATIONER FUNKTIONALITET (PHP) INSTALLATION CRONJOBS REGULÆRE UDTRYK LINK CRAWLER PARSER BOT TRANSLATION BOT KLASSEDIAGRAM SCRIPT & OOP GOOGLE API FREMTIDIGE FORBEDRINGER CLUSTER SPECIALTEGN I SØGESTRENG 59 Danmarks Tekniske Universitet Side 4 af 91

6 8. TEST VALIDERING BLACKBOX VIRTUELT TASTATUR SØGEFELT SPROGDETEKTOR TASTATUR SØGNING (MED OVERSÆTTELSE) SØGNING (UDEN OVERSÆTTELSE) SØGERESULTAT FUNKTIONER CRONJOBS BROWSER TEST KONKLUSION KONKLUSION BILAG LITTERATURLISTE NUTTOT MANUAL TEST BILAG 68 Danmarks Tekniske Universitet Side 5 af 91

7 1. Indledning Projektets formål er at udvikle en nyhedssøgemaskine som udskiller sig fra andre nuværende søgemaskiner ved at give brugeren en helt ny måde at søge efter nyheder på. Derfra kommer ideen om at kunne søge efter nyheder på andre sprog. Jeg vil på baggrund af Google s udgivelser og de artikler jeg har læst, forsøge at give et overordnet billede af hvordan Google s søgemaskine fungerer og forsøge at drage paralleller fra dette, således at disse kan benyttes i min egen nyhedssøgemaskine, Nuttot. Der skal anvendes en række værktøjer samt programmeringssprog, for at gøre Nuttot til en realitet. Disse består af følgende: - PHP (både script baseret og OOP) - MySQL - AJAX - JavaScript - CSS - HTML - Google API - Adobe Photoshop CS4 (billedbehandlingsværktøj) - PhpED (PHP udviklingsværktøj) Rapporten er opdelt i følgende emner: - Plan - Kravspecifikation - Teori - Analyse - Design - Implementering - Test - Konklusion - Bilag Disse ovenstående emner er opstillet og valgt, så de giver læseren et overblik over rapportens indhold. Danmarks Tekniske Universitet Side 6 af 91

8 2. Plan Tidsplanen er meget statisk sat op og mest brugt for blot at holde øje med deadlines. Der vil altid opstå situationer, hvor man er nødt til at gå tilbage for at rette i ens analyse eller design mens man f.eks. er i implementeringsdelen. Derfor er det meget smart med en planlægning, som angivet i Figur 1. Figur 1: Tidsplanen Danmarks Tekniske Universitet Side 7 af 91

9 3. Kravspecifikation For at Nuttot kan leve op til de nuværende søgemaskiner, kræver det at der opfyldes en række krav. Disse krav er både gældende for databasen, funktionaliteten og ikke mindst brugergrænsefladen Brugergrænsefladen Der skal benyttes levende farver, som lægger sig tæt op af Web 2.0. Der skal benyttes skrifttyper som er let læselige for brugeren og samtidig lægger sig tæt op af Web 2.0. Brugeren skal have et overblik over sidens indhold. Søgninger skal kunne foretages meget let. Det skal gøres klart og tydeligt, hvad Nuttot er og hvad den kan bruges til Databasen Der skal være en tabel i databasen for alle de sprog Nuttot understøtter. Alle oversættelser af nyheder skal findes i databasen. Der skal være understøttelse for tegn udover de danske alfabeter, således at der benyttes en UTF8 standard. Der skal være så meget optimering som muligt, for at få en høj performance. Der skal være sikkerhed, så der ikke kan udføres SQL injektioner. Database designet skal opfylde 3. normal form, 3NF Funktionalitet Automatisk sprog detektion skal returnere det sprog, brugeren har indtastet. Brugeren skal kunne oversætte et søgeord eller en sætning og søge på dette. Brugeren skal have overblik over søgeresultaterne, således at man kan referere til dem. Maksimum 20 søgeresultater skal udskrives pr. side. Søgeresultaterne skal sorteres efter mest relevante nyheder. Der skal være et preview funktion for brugeren, så man ikke behøver at forlade søgeresultatsiden for at se indhold af nyheden. Danmarks Tekniske Universitet Side 8 af 91

10 4. Teori 4.1. Google Google 1 er uden tvivl verdens største søgemaskine, som i øjeblikket benyttes af internet brugere verden over. Dette skyldes dels, at man stort set kan finde det man søger efter på Google og at den er utrolig simpel at benytte. Desværre offentliggør Google ikke noget omkring deres web crawlers mht. hvordan disse fungere. Dog er de ikke alene omkring dette, da Yahoo og Bing ligeledes heller ikke forklarer, hvordan deres søgemaskiner er opbygget. Det er selvfølgelig forstået, at ingen af dem offentliggøre deres metoder, da det vil være en stor ulempe for deres markedsføring. Google udgiver ingen konkrete informationer omkring hvordan deres søgemaskine fungerer, men de udgiver dog en masse andet, som kan hjælp med at gætte sig frem til deres søgealgoritmer. De udgiver f.eks. en masse artikler omkring deres PageRank 2 system og omkring, hvad der skal til for at komme højere op i søgeresultaterne, som også kaldes SEO PageRank Et søgeresultat fra Google sorteres bl.a. ud fra et numerisk PageRank værdi, som repræsenterer hvor betydningsfuld en hjemmeside er på nettet. Værdien af PageRank ligger i virkeligheden i et interval mellem 0.15-milliarder, men vises som et interval mellem 0-10, hvor 0 er den mindste værdi og 10 er den højeste. Google har specielle algoritmer, som udelukkende definerer PageRank værdier på de hjemmesider, som deres web crawlers finder frem på internettet. Disse algoritmer går ind og finder ud af om, en hjemmeside har indgående links og udgående links, dog er det indgående links, som spiller en speciel rolle i PageRank. Google anser nemlig at, hvis en hjemmeside har indgående links fra andre hjemmesider, så må denne hjemmeside have en større værdi og derfor får den en større PageRank SEO Google anbefaler at man opbygger sin hjemmeside ud fra deres kriterier, hvis man selvfølgelig ønsker at have en hjemmeside, som er SEO venlig. De mener at, hvis en webside er SEO venlig, så er den også kodet korrekt. 1 Google er en søgemaskine til internettet. Google anses som den største søgemaskine på internettet i dag, da den har over 200 millioner forespørgsler om dagen. 2 Google PageRank (systemet som, definere hvor en hjemmeside ligger i søgeresultaterne). 3 Search Engine Optimization (Søgemaskine Optimering) Danmarks Tekniske Universitet Side 9 af 91

11 Google mener at en hjemmeside er SEO venlig, hvis den gør brug af alle HTML tags de rigtige steder. En stor fejl, som mange web udviklere kommer til at lave, er bl.a. at de ikke benytter H1, H2 og H3 tags til henholdsvis hovedtitler, undertitler mm. Man benytter nemlig ofte i stedet CSS med en simpel <font> tag, og derved kun ændrer størrelsen. Problemet er dog, at Google opfatter <font> tags, som normal tekst, i stedet for f.eks. en overskrift. Benyttelse af alle HTML tags de rigtige steder er dog desværre ikke nok, da der vel og mærke vil forekomme et stort problem på søgeresultaterne, da alle webudviklere sagtens har mulighed for, at opbygge en hjemmeside ud fra Google s anvisninger. Derfor vælger Google at udføre særlige algoritmer, som tjekker et websites indhold for om, der er sammenhæng med de keywords man har defineret i hjemmesidens META TAGS Spider & Crawler bots Web crawlers, spiders og crawler bots kaldes de, men Google kalder det en, spider 5. Det er Google s mange spidere, som er starten på Google s søgemaskine. Den kaldes en spider, fordi den kravler rundt fra website til website, altså realt set vil de aldrig stoppe, da der altid bliver oprettet nye links, domæner og websites. Denne spider starter på et website og undersøger dette website for alle eksisterende hyperlinks, både intern og eksternt. Alle disse links bliver herefter gemt i en database, med unikke id er (Figur 2). Dette er primært spiderens opgave, altså at finde hyperlinks og fylde databasen med links, som er klar til at blive gennemløbet af crawling bots. Crawler bots er modsat en spider langt mere intelligente, hvad angår undersøgelse af et website. Når en crawling bot er sat i gang, bliver der sendt en vilkårlig url adresse fra databasen, som spideren i forvejen har fyldt op med links. Crawleren vil dernæst gå ind på det modtagne url og gennemløbe websiden igennem for at producere et dokument, som er klar til udarbejdelse senere af andre algoritmer. Det endelig dokument vil blive tildelt et unikt id og vil udelukkende være baseret på rent tekst og samtidig få tildelt en PageRank værdi. Dette dokument vil selvfølgelig blive gemt på Google s databaser og servere. Det vil blive gemt på Google s servere, da Google har Cached 6 funktionalitet indbygget. 4 Meta tags er data information, som sættes ind i <head> sektionen i HTML dokumenter. Meta tags kan for eksempel fortælle browseren, hvilket sprogtegn (character set), der benyttes. 5 Google spider bot. Fungerer reelt set, som en edderkop som udforsker WWW (World Wide Web) hele tiden. 6 Cached funktionen giver mulighed for at se et levende skærmbillede af en allerede crawlet og gemt hjemme, blot med den forskel at man får lov til at se, hvordan siden så ud på det tidspunkt den blev crawlet. Danmarks Tekniske Universitet Side 10 af 91

12 Figur 2: Viser hvordan en Google spider fungerer. Google benytter herefter en masse algoritmer samtidigt og jonglere rundt med ordene i de enkelte dokumenter for at skabe en kæmpe oversigtsdatabase, for hvert dokument. De tager hvert ord i et dokument og gemmer dette i en database, og ud fra dette ord, gemmer de dokuments unikke id, som ordet er blevet fundet i (Figur 2). Denne metode giver dem muligheden for ikke at søge igennem alle dokumenter, men i stedet nøjes med at søge i den aktuelle database, som indeholder ordene og dokumenternes unikke id (Figur 3). Danmarks Tekniske Universitet Side 11 af 91

13 Figur 3: Viser hvordan Google overordnet fungerer. Disse beskrevne metoder som Google benytter er dog ikke nogen forklaringer på, hvordan det kan være at Google er en så hurtig og effektiv søgemaskine, til netop at finde det som man forespørger ud fra millioner af søgeresultater. Denne høje performance skyldes dels smarte algoritmer, men samtidig også et smart valg af beregningsudstyr, som f.eks. et Cluster dvs. de udnytter effekten ikke kun en, men flere sammenkoblede computere (yderligere beskrevet under afsnittet Design ). Danmarks Tekniske Universitet Side 12 af 91

14 Konklusion Det største problem ved at beskrive Google s metoder og løsninger er, at meget af det består af gæt og teorier, da de ikke direkte forklarer, hvordan deres algoritmer fungerer, hvilket mest skyldes pga. det store marked for SEO. De hidtil beskrevne metoder og forklaringer er udelukkende mine egne iagttagelser og opfattelse af, hvordan en store søgemaskine som Google i virkeligheden fungerer. Danmarks Tekniske Universitet Side 13 af 91

15 5. Analyse 5.1. Sprog detektoren Problematikken i en sprogdetektor Det er utrolig svært at udvikle en sprogdetektor, som automatisk bestemmer sproget ud fra det brugeren har indtastet. Dette skyldes til dels, at man er nød til at udvikle mange avancerede algoritmer, som kan læse contexten før der defineres et sprog. Dog er contexten ikke det eneste problem ved en sprogdetektor, da der sagtens kan optræde sammenligninger ved flere sprog på samme tid, som f.eks. de skandinaviske sprog. Norsk og Dansk er blot et af de mange sprog, som har flere ord tilfælles og som staves på samme måde. Dette problem vil man ikke kunne løse på nuværende tidspunkt, da der her kræves, at man læser brugerens tanker for at finde ud af hvilket sprog, brugeren faktisk forsøgte at indtaste. Dog kan man lave en sideløsning på dette problem, ved blot at spørge brugeren om han eller hun mente Dansk eller Norsk som indtastningssprog. Hvis brugeren for eksempel indtaster Hej med dig, vil en typisk sprogdetektor fremvælge et sprog. Det fremvalgte sprog, vil som regel være det sprog som benyttes oftest, hvilket naturligvis vil være forkert. Problematikken i en sprogdetektor giver os 3 præsentationsmåder for det endelige resultat i en sprogdetektor, som er følgende: 1. Fortælle brugeren, at den indtastede sætning kan skrives på flere sprog, og i dette tilfælde: Dansk og Norsk. 2. Læse brugerens tanker og ud fra det, bestemme om brugeren mente Dansk eller Norsk. 3. Angiver det sprog som er mest udbredt, baseret på statistik og sandsynligheder. Hvilket i dette tilfælde hos Google Translate 7 er Norsk som resultat. Naturligvis vil punkt 2 være den mest præcise og næsten fejlfrie løsninger for en sprogdetektor. Dog er denne løsning ikke mulig på nuværende tid grundet teknologien og derfor vil punkt 1 være den mest optimale løsning. Den første løsning vil nemlig altid give brugeren mulighed for, at have en indflydelse på resultatet. Brugerens valg på denne løsning vil samtidig også kunne benyttes til fremtidige sprogdetektere, som kunne opbygges ud fra punkt 3, dog med den forskel at man vil sammenligne flere egenskaber omkring brugeren. Hvis en bruger i Danmark f.eks. vælger at indtaste Hej med dig., og herefter vælger Dansk ud fra de to valgmuligheder sprogdetektoren foreslår brugeren, kan man gemme forskellige 7 Google Translate, en service hvor man har mulighed for at oversætte tekst til 52 forskellige sprog til og fra, samt sprog detektion. Danmarks Tekniske Universitet Side 14 af 91

16 oplysninger omkring denne bruger på en række forskellige databaser. Disse oplysninger kunne være: - Landet som brugeren indtaster sproget fra, hvilket i dette tilfælde er Danmark. - Sproget som brugerens computer er indstillet til. - Sproget som brugerens browser er indstillet til. - Brugerens IP adresse, så man har mulighed for at følge efter denne bruger og evt. tjekke for denne IP adresses tidligere søgninger og valg af sprog. Disse ovenstående informationer kan herefter benyttes til punkt 3 s præsentationsmåde for det endelige resultat i en sprogdetektor. Dog er det selvfølgelig ikke ensbetydende med, at det udskrevne sprog er det sprog, som brugeren har indtastet eller ønsket, men denne løsning vil være den mest optimale efter punkt 1. Grunden til at punkt 1 er mere optimal end punkt 3, skyldes at det 1 punkt ikke kræver nær så meget analyse, beregning og eksisterende data fra selve brugeren eller en tilsvarende bruger Løsningsmodeller Der diskuteres her 2 mulige løsningsmodeller til en sprogdetektor, samt hvilke ulemper og fordele disse kan have Ordbog baseret (Model 1) Den nemmeste måde at lave en sprogdetektor vil være, at tage udgangspunkt i ordbøger og nærmest konvertere disse til elektroniske databaser. Altså hvis man f.eks. skal lave en database som skal understøtte 5 forskellige sprog, vil det kræve at man har 5 forskellige databaser, hvor indeholder alle eksisterende stam ord for hvert af de enkelte 5 sprog. Når dette så er opfyldt, har man mulighed for at sammenligne alle ord i de enkelte databaser med det som brugeren indtaster. Lad os antage at vores sprogdetektor understøtter disse 5 forskellige sprog: - Dansk - Fransk - Engelsk - Tysk - Spansk Det vil sige, at vi har 5 forskellige databaser, hvor den danske database indeholder alle danske stam ord, præcist som en fysisk ordbog. Danmarks Tekniske Universitet Side 15 af 91

17 Vi antager nu at brugeren indtaster følgende sætning: Hello min ven og at vores sprogdetektor skal angive, hvilket sprog brugeren har indtastet. Nu kan vi både analytisk og grafisk (Figur 4) gennemgå, hvordan sprogdetektoren vil forsøge, at angive et sprog: 1. Kigger på det første ord i sætningen, Hello. 2. Løber alle databaser igennem ved at søge efter et eller flere matchende ord i de eksisterende 5 databaser. 3. Søgning giver resultat, og viser sig at ordet Hello fremkommer en gang i den Engelske database. 4. Gemmer resultat fra punkt 3, og vender tilbage til punkt 1 blot med den forskel at der denne gang kigges på ordet, min. Det samme udføres herefter for det sidste ord i sætningen, ven. 5. Nu er der blevet søgt på alle ord og forskellige sprog er blevet fundet. Punkt 4 indeholder 3 forskellige resultater, som er: o Engelsk o Dansk o Dansk 6. Sprogdetektoren ser at Dansk optræder flest gange, derfor angives Dansk som det sprog brugeren har indtastet. Sprog detektor Sprog databaser Temp resultat Output Sender et ord navn på den db, ordet er fundet i returnere det sprog som optræder flest gange Figur 4: Sekvensdiagram for ordbog baseret sprog detektor. Løsningsmodellen på Figur 4 er yderst effektiv, men desværre meget utroværdig, da den rigtig mange gange enten ikke vil angive et sprog eller angive et forkert sprog. Nedenstående karakterer viser, hvor troværdig og god denne løsningsmodel er: Danmarks Tekniske Universitet Side 16 af 91

18 Model 1? Point (1-5) Er denne løsningsmodel reel til en sprogdetektor? NEJ 1 Kan denne løsningsmodel opfange alle ord i en sætning? NEJ 1 Er denne løsningsmodel hurtig til at angive det indtastede sprog? (I et succesfuldt scenarie) JA 3 Tabel 1 Denne løsningsmodel er desværre udelukkende for alle stam ord i de forskellige sprog, da der ikke tages hensyn for endelser på ordene. Hvis brugeren eksempelvis havde skrevet Hello mine venner, så ville denne løsningsmodel angive Engelsk, som det indtastede sprog, da ordene mine og venner ikke er stam ord, men kommer af stam ordene min og ven. Konklusionen er derfor at denne løsningsmodel ikke er en løsning for en velfungerende sprogdetektor Ordbog & endelser baseret (Model 2) En anden løsningsmodel til opbyggelse af en sprogdetektor kunne være en udvidelse af model 1. Således at man stadig har samme ordbogsdatabaser, som i model 1, dog med den forskel at man ved siden af disse databaser har yderligere en database, som indeholder endelser/bøjninger for de enkelte sprog. Det vil sige at man udbygger en separat database, som for eksempel indeholder følgende: endelseid endelser sprog 0 en da 1 et da 2 es da 3 er da 4 ede da Tabel 2 Denne separate database med endelser og bøjninger til alle eksisterende stam ord, vil give en sprogdetektor mulighed for at opfange flere ord end løsningsmodel 1. Dette kan beskrives ved blot at tage et eksempel, hvor brugeren for eksempel indtaster jeg arbejdede today. Vores sprogdetektor fra løsningsmodel 1, ville i dette eksempel kun opfange 2 ord, som ville være ordene; jeg & today. Dette betyder at sprogdetektoren fra model 1, ville give brugeren mulighed for enten at vælge, hvilket sprog der er indtastet eller også selv gætte sig frem til sproget, mens model 2 vil fortælle brugeren at sproget der er indtastet er Dansk. Danmarks Tekniske Universitet Side 17 af 91

19 Denne sprogdetektor aflæser nemlig brugerens indtastninger på en mere intelligent måde og hvis vi antager at brugeren har indtastet jeg arbejdede today, så kan vi gennemgå detektorens handlinger både analytisk og grafisk (Figur 5) trin for trin: 1. Kigger på det første ord i sætningen, jeg. 2. Løber alle databaser igennem ved at søge efter en eller flere matchende ord i de eksisterende 5 databaser. 3. Sprogdetektoren reagerer her anderledes, alt afhængig af det resultat som forrige punkt returnerer. A. Søgning giver resultat, og viser sig at ordet jeg fremkommer en gang i den Danske database. B. Søgningen giver ikke resultat, derfor forsøger sprogdetektoren nu at slette en endelse på ordet, på baggrund af de forskellige endelses databaser. Vi gennemgår nu denne proces med et eksempel, hvor ordet arbejdede undersøges: a) Ordet gennemløbes bagfra, for at se om det eksakt indeholder nogle af endelserne fra Tabel 2. b) Endelsen ede findes og ordet arbejdede forkortes således at endelsen ede slettes, og sprogdetektoren arbejder videre med ordet arbejd. c) Der søges nu efter arbejd i databaserne og det bliver fundet i den Danske database, som videresendes som resultatet til punkt Gemmer resultat fra punkt 3, og vender tilbage til punkt 1 blot med den forskel at der denne gang kigges på ordet arbejdede. Det samme udføres herefter for det sidste ord i sætningen, today. 5. Nu er der blevet søgt på alle ord og forskellige sprog er blevet fundet. Punkt 4 indeholder 3 forskellige resultater, som er: o Dansk o Dansk o Engelsk 6. Sprogdetektoren ser at Dansk optræder flest gange, derfor angives Dansk som det sprog brugeren har indtastet. Danmarks Tekniske Universitet Side 18 af 91

20 Figur 5: Sekvensdiagram for ordbog og endelser baseret sprog detektor. Løsningsmodellen på Figur 5 er mere effektiv end løsningsmodellen illustreret i Figur 4, men desværre kræves der mere i opbygning af denne model end tidligere model 1. Denne model vil udskrive et troværdigt resultat, hvis man formår at opbygge databaser med perfekte endelser/bøjninger indenfor alle sprog. Problemet ved denne model er dog at, hvis der mangler en eller flere endelser/bøjninger i databaserne, vil detektoren enten udelade at angive et sprog eller også vil den angive et forkert sprog. Nedenstående karakterer viser, hvor troværdig og god denne løsningsmodel er: Model 1? Point (1-5) Er denne løsningsmodel reel til en sprogdetektor? JA/NEJ 4 Kan denne løsningsmodel opfange alle ord i en sætning? NEJ 3 Er denne løsningsmodel hurtig til at angive det indtastede sprog? (I et succesfuldt scenarie) JA 3 Tabel 3 Denne løsningsmodel er mere avanceret end model 1, da den næsten kan benyttes for alle typer af ord. Detektoren kan nemlig opfange stam ord, som allerede er bøjet eller opskrevet med en endelse, og konvertere disse ord til stam ord. Der kan altså som nævnt i konklusionen for model 1, nævnes at sætningen Hello mine venner vil resultere i at, det anvendte sprog er Dansk. Sproget dansk vil blive valgt, da det op- Danmarks Tekniske Universitet Side 19 af 91

21 træder flest gange med ordene mine og venner. Disse to danske ord er allerede bøjet, men da vores sprogdetektor har mulighed for at nedskære ordene til stam ord, så vil denne sprogdetektor være succesfuld. Vi kan derfor konkludere at denne løsningsmodel er en udmærket løsning for en velfungerende sprogdetektor, dog med en relativ høj fejlprocent Databasen (MySQL) Løsningsmodeller Der diskuteres her løsningsmodeller til databasen, samt hvilke ulemper og fordele disse kan have MySQL vs. MSSQL vs. PostgreSQL De to mest udbredte database platforme, indenfor web verdenen er uden tvivl MySQL og MSSQL, da de anvendes mest blandt web udviklerne. Begge database platforme har både fordele og ulemper, som vi vil prøve at opstille overfor hinanden og derved forklare, hvorfor Nuttot s database platform er, MySQL. Krav, funktion, scenarie MySQL MSSQL PostgreSQL Brugervenligt værktøj f.eks. som MySQL s phpmyadmin JA NEJ NEJ Stored procedures? JA JA JA Open Source JA NEJ JA Lærenem syntaks? JA NEJ NEJ Høj performance? * JA JA NEJ Nem integration? JA NEJ NEJ * Performance er et område som altid kan optimeres, men indenfor dette felt er det vigtigt at benytte den database platform, som er nemmest at optimere. Heraf gives der et JA svar for den database platform, som er nemmest at optimere og omvendt NEJ for den som kræver meget for at optimere. Tabel 4 Tabel 4 viser at MySQL overlegent er den store vinder overfor de to store konkurrenter, MSSQL og PostgreSQL. Vi har ikke valgt MSSQL da der kræves en licens for at benytte denne, men også fordi at vi ikke har noget erfaring indenfor MSSQL. PostgreSQL og MySQL var de to stærke database platforme, som der var mulighed for at vælge mellem, men valget blev dog MySQL da vi har mere erfaring med denne platform end PostgreSQL. Danmarks Tekniske Universitet Side 20 af 91

22 MyISAM vs. InnoDB MySQL giver flere muligheder indenfor valg af datatyper ved oprettelse af en tabel, og de to mest udbredte datatyper er uden tvivl: MyISAM og InnoDB. Begge datatyper har både fordele og ulemper, som vi vil prøve at opstille overfor hinanden og derved forklare, hvorfor der er valgt MyISAM datatypen. Krav, funktion, scenarie MyISAM InnoDB Gendanner hurtigt ved tab af data? NEJ JA Lås af tabel ved insert og updates? JA NEJ Høj performance? * JA JA Fuld tekst søgning? JA NEJ * Performance er et område som altid kan optimeres, men indenfor dette felt er det vigtigt at benytte den datatype, som er nemmest at optimere. Heraf gives der et JA svar for den datatype, som er nemmest at optimere og omvendt NEJ for den som kræver meget for at optimere. Tabel 5 Begge datatyper er meget anvendelige til Nuttot s database del, men alligevel vælger vi dog at anvende MyISAM, da denne datatype er hurtigere at operere med. Tabel 5 viser at begge datatyper yder høj performance, men dette er kun gældende for InnoDB, hvis man for eksempel har en stor tabel, som hele tiden skal opdateres. InnoDB giver nemlig brugeren mulighed for at opdatere flere rækker på samme tid i samme tabel, mens MyISAM låser en tabel, så snart der bliver skrevet til den. Men da vi ikke har krav på at kunne redigerer i flere rækker på samme tid, så har vi valgt at benytte MyISAM, da denne er hurtigere til at reagere på inserts, updates og deletes Auto Increment vs. Manuel Increment Alle database tabeller har som regel en primær unik id felt, som udelukkende indeholder det antal rækker man er nået op til. Der er to løsninger på at lagre dette unikke id nummer for hver gang en ny række indsættes i tabellen. Disse to løsninger er: 1. Auto Increment Når man har oprettet en tabel og skal til at opbygge strukturen i tabellen, ved at angive en række feltnavne, så har man mulighed for bl.a. at angive om et valgt feltnavn skal være en primær nøgle og om dette felt skal have egenskaben AUTO_INCREMENT aktiveret. Hvis man vælger at aktiverer dette, så vil dette felt værdi automatisk stige med tallet 1 for hver gang en række indsættes i tabellen. Dette tal vil altid starte med tallet 0 og forsætte til uendeligt, afhængig af hvilke andre begrænsninger man har givet tabellen. 2. Manuel Increment Danmarks Tekniske Universitet Side 21 af 91

23 Modsat auto increment, så har man mulighed for at gøre dette manuelt, hvilket dog kræver at man hele tiden ved hvilket nummer man er nået til inde i databasen, for at undgå ikke at indsætte det samme tal to gange i databasen. Afhængig af ens database design kan man komme ud for at være nød til at benytte manuel increment, men dette vil virkelig sløve ens database performance, da det vil kræve en masse læsninger og manuel inserts. Vi har valgt at vælge den første løsning med auto increment, da denne uden tvivl er den hurtigste og effektiveste løsning Nøgler Alle tabeller i Nuttot s database indeholder en række forskellige nøgler. De er to typer af nøgler i Nuttot s database som kaldes; Primær- og Fremmednøgler. Forskellen mellem disse to typer af nøgler kan forklares således: Primær (PK) 8 o Anvendes til unikt at identificerer hver række i en tabel o Kan bestå af flere kolonner, en såkaldt sammensat primærnøgle o Der stilles følgende krav til en primærnøgle Der må ikke være to rækker med den samme primærnøgle Alle data i primærnøglen skal være unikke Der må ikke forekomme tomme (null) 9 felter Fremmed (FK) 10 o Sikrer integriteten mellem tabeller o Kan referere til den samme tabel, som den selv er placeret i, hvilket kaldes Rekursivt hierarki. o Der stilles følgende krav til en fremmednøgle Skal referere til en primær- eller uniknøgle Fremmednøglens datatype skal være den samme som kolonnen med den primære eller unikke nøgle i reference tabellen Værdien skal enten kunne findes i reference tabellen eller være null. Nuttot s database gør benyttelse af begge former for nøgle, som kan ses nærmere under Design afsnittet. 8 Den engelske betegnelse for en primærnøgle er Primary Key, deraf kommer forkortelsen PK. 9 Null er den engelske betegnelse for et tomt felt i en MySQL tabel. 10 Den engelske betegnelse for en fremmednøgle er Foreign Key, derfor kommer forkortelsen FK. Danmarks Tekniske Universitet Side 22 af 91

PHP Quick Teknisk Ordbog

PHP Quick Teknisk Ordbog PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,

Læs mere

Procesbeskrivelse - Webprogrammering

Procesbeskrivelse - Webprogrammering Procesbeskrivelse - Webprogrammering Indholdsfortegnelse Forudsætninger... 1 Konceptet... 2 Hjemmesiden... 2 Server-side... 3 Filstrukturen... 3 Databasehåndtering og serverforbindelse... 4 Client-side...

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4 IT opgave Informationsteknologi B Vejleder: Karl Navn: Devran Kücükyildiz Klasse: 2,4 Dato:03-03-2009 1 Indholdsfortegnelse 1. Indledning... 3 2. Planlægning... 3 Kommunikationsplanlægning... 3 Problemstillingen...

Læs mere

6 Ugers Digital Markedsførings Uddannelse. Online Marketing SEO Præsentation Anders Sevelsted Bigum&Co Amagerbrogade

6 Ugers Digital Markedsførings Uddannelse. Online Marketing SEO Præsentation Anders Sevelsted Bigum&Co Amagerbrogade 6 Ugers Digital Markedsførings Uddannelse Bigum&Co Kursist hemmeligt Anders Sevelsted Underviser & Foredragsholder Teori Vs. Praksis Viden Vs. Færdigheder Hvad forventes det i kan når vi er færdig? Skal

Læs mere

Eksamen, DSDS, efterår 2007

Eksamen, DSDS, efterår 2007 Eksamen, DSDS, efterår 2007 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech og Martin Elsman IT Universitetet i København 7. januar 2008 Alle hjælpemidler er tilladte, dog ikke

Læs mere

Tillæg til Libris-hæftet: WordPress. Temaredigering og sikkerhed m.m.

Tillæg til Libris-hæftet: WordPress. Temaredigering og sikkerhed m.m. Tillæg til Libris-hæftet: WordPress Temaredigering og sikkerhed m.m. 1. Temaopbygning og -redigering I det trykte hæfte gennemgår jeg, hvordan du installerer temaer i WordPress. Der findes tusindvis af

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

Her vil jeg gerne være Det er sådan dine kunder skal tænke

Her vil jeg gerne være Det er sådan dine kunder skal tænke Her vil jeg gerne være Det er sådan dine kunder skal tænke I denne gennemgang lægger vi vægt på hjemmesidens opbygning. For at få det optimale udbytte af en hjemmeside skal mange elementer spille sammen.

Læs mere

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding: Vi har tidligere set på spørgsmålet om et XML dokuments encoding. Det er generelt altid en god ide at gemme et dokument

Læs mere

Kenn Römer-Bruhn. WordPress. - gør dig synlig på nettet

Kenn Römer-Bruhn. WordPress. - gør dig synlig på nettet Kenn Römer-Bruhn WordPress - gør dig synlig på nettet version 1.3 2. september 2013 Lidt om hvem Kenn er Arbejdsområder i dag: Forfatter, skribent, redaktør, forlægger, fotojournalist, blogger, grafisk

Læs mere

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse. Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i

Læs mere

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Hassansalem.dk/delpin User: admin Pass: admin BACKEND Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin

Læs mere

Web 2.0. World Wide Web (www)

Web 2.0. World Wide Web (www) Web 2.0 World Wide Web (www) I marts 1989 skrev Tim Berners-Lee et information udveksling program kaldt ENQUIRE. Da han arbejde i CERN, var han ikke tilfreds med kommunikationen, derfor videreudviklede

Læs mere

IT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013

IT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013 PHP-Projekt IT projekt uge 4 9 Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013 4-3-2013 Indholdsfortegnelse Indledende afsnit... 2 Brainstorm... 2 User stories... 2 Problemformulering...

Læs mere

grafisk workflow OPGAVE: EMBRACE-IT WEBSITE

grafisk workflow OPGAVE: EMBRACE-IT WEBSITE grafisk workflow OPGAVE: EMBRACE-IT WEBSITE BESKRIVELSE GRAFISK WORKFLOW BESKRIVELSE Den tidligere nævnte virksomhed Embrace-IT, forsøger i takt med at virksomhen vokser, at opdatere og optimere deres

Læs mere

PHP kode til hjemmeside menu.

PHP kode til hjemmeside menu. PHP kode til hjemmeside menu. Home Hovedmenu 1 Hovedmenu 2 Hovedmenu 3 Hovedmenu 4 Undermenu 1 Breadcrumb Her vises indholdet af den valgte side Undermenu 2 Undermenu 3 Undermenu 4 Evt. en mulighed for

Læs mere

Data lagring. 2. iteration (implement backend)

Data lagring. 2. iteration (implement backend) Data lagring 2. iteration (implement backend) Emner Grundlæggende database begreber. Data definitionskommandoer ER-diagrammer og cardinalitet/relationer mellem tabeller Redundant data og Normalisering

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

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

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau Roskilde Tekniske Gymnasium Eksamensprojekt Programmering C niveau Andreas Sode 09-05-2014 Indhold Eksamensprojekt Programmering C niveau... 2 Forord... 2 Indledning... 2 Problemformulering... 2 Krav til

Læs mere

Webside score khtsb.com

Webside score khtsb.com Webside score khtsb.com Genereret April 04 2019 09:19 AM Scoren er 50/100 SEO Indhold Titel Welcome to XAMPP Længde : 16 Perfekt, din titel indeholder mellem 10 og 70 bogstaver. Beskrivelse XAMPP is an

Læs mere

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner Af Henrik Bro og Martin T. Hansen I har måske allerede en flot, og informativ hjemmeside. Og alle jeres kursister

Læs mere

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125 Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...

Læs mere

- søgemaskineoptimering

- søgemaskineoptimering - søgemaskineoptimering Guiden findes på bredahl-it.dk/seo Forventninger til aftenen Introduktion PageRank (og Google toolbar) Optimere webstedet (SEO) Trafikkontrol og statistikker Google Analytics Husk

Læs mere

har jeg hentet nedenstående anmeldelse af et godt program til

har jeg hentet nedenstående anmeldelse af et godt program til Software Fra design af hjemmesider: har jeg hentet nedenstående anmeldelse af et godt program til Wordpress er intet mindre end et genialt program til hjemmesider. For det første er det gratis, og for

Læs mere

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW. Denne guide er oprindeligt udgivet på Eksperten.dk CSS - en gennemgang Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW. Der er lidt CSS historie

Læs mere

Webteknologi evalueringsopgave Vinter 2011-2012 - Niels Sundstrup

Webteknologi evalueringsopgave Vinter 2011-2012 - Niels Sundstrup Niels Sundstrup Webteknologi evalueringsopgave Vinter 2011-2012 - Niels Sundstrup Webteknologi - Carl- Henrik Nielsen - Syddansk Universitet, Kolding - Udlevering: 12. januar 2012 Aflevering: 19. januar

Læs mere

10 Vigtigste SEO Ranking Faktorer

10 Vigtigste SEO Ranking Faktorer 10 Vigtigste SEO Ranking Faktorer Indledning 10 Vigtigste Ranking Faktorer Agilitor Der findes en lang række faktorer, der har indflydelse på din websites position i Google på forskellige søgeord. Faktisk

Læs mere

Reeksamen, DSDS, forår 2008

Reeksamen, DSDS, forår 2008 Reeksamen, DSDS, forår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 22. august 2008 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.

Læs mere

Lav din egen hjemmeside/blog. Dag 1 22-10-2015. Agenda d. 25. oktober 2015. Pc ere på nettet. Præsentation. Hvad er WordPress? Hvad er WordPress?

Lav din egen hjemmeside/blog. Dag 1 22-10-2015. Agenda d. 25. oktober 2015. Pc ere på nettet. Præsentation. Hvad er WordPress? Hvad er WordPress? Agenda d. 25. oktober 2015 Lav din egen hjemmeside/blog Dag 1 Præsentation af underviser og deltagere Pc erepå nettet Hvad er WordPress? Og hvad er forskellen på en blog og en hjemmeside Hej verden Kvik

Læs mere

8.0 Distriktshjemmesider

8.0 Distriktshjemmesider 8.0 Distriktshjemmesider Indhold Login... 2 Forside... 3 Distriktsside opbygning...4 Rediger på en side... 5 Upload filer til mediebibliotek... 8 Kontroller links på filer... 12 Indsæt billeder... 13 Slet

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

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO...

INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO... INDHOLDSFORTEGNELSE INDLEDNING... 7 Kristian Langborg-Hansen KAPITEL ET... 9 I gang med App Inventor Installation af App Inventor... 10 Trådløs installation... 11 Installation af emulator (Windows)...

Læs mere

Manual til administration af online booking

Manual til administration af online booking 2016 Manual til administration af online booking ShopBook Online Med forklaring og eksempler på hvordan man konfigurerer og overvåger online booking. www.obels.dk 1 Introduktion... 4 1.1 Formål... 4 1.2

Læs mere

MANUAL. Siteloom CMS

MANUAL. Siteloom CMS MANUAL Siteloom CMS www.hjerteforeningen.dk/cms Brugernavn: Password: 3. september, 2012 BASIS FUNKTIONER 1. Kalender... 4 1.a. Opret... 5 1.b. Rediger eller slet... 8 2. Sider... 10 2.a Opret side...

Læs mere

Database design for begyndere

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

Loginsystem (med MySQL)

Loginsystem (med MySQL) Denne guide er oprindeligt udgivet på Eksperten.dk Loginsystem (med MySQL) Dette er en guide til, hvordan man kan lave et loginsystem med php og muligvis også med sessioner og MySQL Skrevet den 02. Feb

Læs mere

Sociale Medier & SEO-pakker: Karakteristikker

Sociale Medier & SEO-pakker: Karakteristikker Sociale Medier & SEO-pakker: Karakteristikker Account Mananger Vi tilbyder en engageret kundechef, som er tilgængelig i kontortiden via telefon, e-mail og Skype for at løse enhver problemstilling. Kundechefen

Læs mere

Søgning på Internettet

Søgning på Internettet Side 1 af 6 Indhold: Søgning på Internettet Tips til søgning på Internettet... 1 Præcis adresse:... 1 Indeks- søgning... 2 Søgerobotterne/søgemaskiner:... 3 Lidt om hvordan man søger på nettet... 4 Links...

Læs mere

Serversideprogrammering, CMS og eshop. Dag 1: Introduktion og serverside programmering Niels Østergaard

Serversideprogrammering, CMS og eshop. Dag 1: Introduktion og serverside programmering Niels Østergaard Serversideprogrammering, CMS og eshop Dag 1: Introduktion og serverside programmering Niels Østergaard Dagens program Introduktion til forløbet Begrebet serverside Introduktion til PHP-programmering Tilmelding

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

Indledning. MIO er optimeret til Internet Explorer. Læs endvidere under Ofte stillede spørgsmål.

Indledning. MIO er optimeret til Internet Explorer. Læs endvidere under Ofte stillede spørgsmål. Indhold Indledning... 3 Søgefunktioner... 4 Søgning fra forsiden... 5 Søgning under menupunktet Instrument... 6 Sådan får man vist instrumenterne i en bestemt afdeling... 7 Sådan ændrer man status på et

Læs mere

DB undervisning 01-01

DB undervisning 01-01 Databaser... 2 Tabeller... 2 Redundans... 3 Første regel... 4 Anden regel... 4 Tredje regel... 5 Relationer... 5 Opskrift... 6 SQL sætninger til at oprette tabeller... 7 SQL sætninger til at indsætte data...

Læs mere

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING 2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING Baggrund Udgangspunktet er projekt 2, dvs. en blog om cupcakes, hvor målgruppe, afsender og modtager allerede er defineret. Du bliver nu bedt om at udvikle et

Læs mere

vorbasse.dk Redaktørmanual Kentaur

vorbasse.dk Redaktørmanual Kentaur Redaktørmanual Kentaur Indholdsfortegnelse Kapitel 1 - TYPO3 Brugerfladen 3 Log ind 3 Backend 4 Frontend 5 Hvor skal jeg klikke? 5 Gem, gem og vis, gem og luk 6 Kapitel 2 - Sider & menuer 7 Sammenhæng

Læs mere

Trin for trin guide til Google Analytics

Trin for trin guide til Google Analytics Trin for trin guide til Google Analytics Introduktion #1 Opret bruger #2 Link Google Analytics til din side #3 Opret konto #4 Udfyld informationer #5 Gem sporings id #6 Download WordPress plugin #7 Vent

Læs mere

Konkurrencer NONSTOP. Motivation & problemfelt

Konkurrencer NONSTOP. Motivation & problemfelt Konkurrencer NONSTOP Nye konkurrencer Hver dag Motivation & problemfelt Dette er et oplæg til den mundtlige eksamen i Innovation & Markedsføring. I det følgende vil jeg beskrive forretningsplanen for Konkurrencer

Læs mere

Det Nye Testamente lyd-app. v. Stefan Lykkehøj Lund

Det Nye Testamente lyd-app. v. Stefan Lykkehøj Lund Det Nye Testamente lyd-app v. Stefan Lykkehøj Lund Indledning For nogle år siden, fik jeg Det Nye Testamente som lydbog på USB. I starten lyttede jeg en del med tiden blev det dog til mindre og mindre.

Læs mere

Eksamen, DSDS, forår 2009

Eksamen, DSDS, forår 2009 Eksamen, DSDS, forår 2009 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 3. juni 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.

Læs mere

DATABASE - MIN MUSIKSAMLING

DATABASE - MIN MUSIKSAMLING DATABASE - MIN MUSIKSAMLING I dette forløb skulle vi lære om databaser, som bruger sproget SQL. SQL står for Structured Query Language. Det bruges til at vise og manipulere data, gemt i en database. I

Læs mere

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0 SmartFraming Et vindue til nationale sundhedssystemer Version 3.0 Infrastruktur i dagens sundheds IT Det sundhedsfaglige personale benytter sig i dag af en række forskellige systemer i forbindelse med

Læs mere

Manual til indberetning. Ventelistelukning.dk

Manual til indberetning. Ventelistelukning.dk Manual til indberetning Ventelistelukning.dk Manual til indberetning ventelistelukning.dk Indhold 1. Ventelistelukning.dk 5 Om databasen 5 2. Før du indberetter 6 Superbrugere og almindelige brugere 6

Læs mere

Begrynder til at lave log ind system

Begrynder til at lave log ind system Denne guide er oprindeligt udgivet på Eksperten.dk Begrynder til at lave log ind system Hej Vil jeg gerne lave en lille programmering forklare til hvordan du laver din helt egen lille start på at log ind

Læs mere

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...

Læs mere

Programmering C RTG - 3.3 09-02-2015

Programmering C RTG - 3.3 09-02-2015 Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...

Læs mere

09/03 2009 Version 1.4 Side 1 af 37

09/03 2009 Version 1.4 Side 1 af 37 Login til DJAS Gå ind på adressen http://www.djas.dk I feltet Brugernavn skrives den e-mail adresse som brugeren er registeret med i systemet. I feltet Password skrives brugerens adgangskode. Ved at sætte

Læs mere

Brugervejledning til Design Manager Version 1.02

Brugervejledning til Design Manager Version 1.02 Brugervejledning til Design Manager Version 1.02 Indholdsfortegnelse 1. Introduktion... 3 1.1 Det kan du med HostedShop Design Manager... 3 1.2 Feature list... 3 2. Design... 4 3. Filer og CSS... 4 3.1

Læs mere

Kort introduktion til Google.

Kort introduktion til Google. Google Side 1 af 10 Kort introduktion til Google.... 2 Tilpas din søgning... 2 Generelle Tips... 2 Udelukkelse af ord... 2 Brug af *... 3 Sætningssøgninger... 3 Jeg Føler Mig Heldig... 3 Avanceret søgning...

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

Webside score dictionary.com

Webside score dictionary.com Webside score dictionary.com Genereret September 09 2016 21:42 PM Scoren er 33/100 SEO Indhold Titel Dictionary.com Meanings and Definitions of Words at Dictionary.com Længde : 68 Perfekt, din titel indeholder

Læs mere

EasyIQ Opdatering 5.2.3 -> 5.4.0

EasyIQ Opdatering 5.2.3 -> 5.4.0 EasyIQ Opdatering 5.2.3 -> 5.4.0 Kunde: Forfatter: Thomas W. Yde Systemtech A/S Side: 1 af 17 1 Indholdsfortegnelse 2 GENERELT OMKRING FORUDSÆTNINGEN OG OPDATERINGS FORLØBET... 3 2.1 FORUDSÆTNINGER...

Læs mere

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN Indholdsfortegnelse Introduktion... 2 Definitioner... 2 Generelt... 3 Oprettelse af en skabelon... 4 Sidetypeskabeloner... 5 Globale displaymoduler...

Læs mere

SEO og Kommunikation

SEO og Kommunikation SEO og Kommunikation Agenda 1. Kommunikation på nettet 2. SEO hvad er det? 3. Teknisk SEO 4. Søgeordsanalyse 5. On-page SEO 6. Off-page SEO Kommunikation på nettet Kend din målgruppe Hvilke kunder har

Læs mere

Webside score akcpdistributor.de.cutestatvalue.com

Webside score akcpdistributor.de.cutestatvalue.com Webside score akcpdistributor.de.cutestatvalue.com Genereret Juli 19 2019 10:28 AM Scoren er 47/100 SEO Indhold Titel akcp-distributor.de is worth $ 8.95 - Website Worth, Calculator Længde : 64 Perfekt,

Læs mere

GRAFISK PRODUKTIONSFORSTÅELSE

GRAFISK PRODUKTIONSFORSTÅELSE GRAFISK PRODUKTIONSFORSTÅELSE BRILLIANT BIKINIES WEBSITE MARÍ DYRMOSE OPGAVEN OPGAVEBESKRIVELSE Brilliant Bikini kompagniet skulle have designet og programmeret en website, hvor de kunne præsentere deres

Læs mere

Internet. Komplet featureliste. Aesiras - integreret Regnskab, Handel og Internet

Internet. Komplet featureliste. Aesiras - integreret Regnskab, Handel og Internet Internet Komplet featureliste Aesiras - integreret Regnskab, Handel og Internet Aesiras Internet gør det let at komme i gang med en professionel hjemmeside og webshop. Som standard medfølger et grafisk

Læs mere

BLIV FUNDET PÅ GOOGLE! Hvorfor er det vigtigt? Hvad er Google (en søgemaskine)? Hvordan fungerer den? Hvad er SEO?

BLIV FUNDET PÅ GOOGLE! Hvorfor er det vigtigt? Hvad er Google (en søgemaskine)? Hvordan fungerer den? Hvad er SEO? BLIV FUNDET PÅ GOOGLE! Hvorfor er det vigtigt? Hvad er Google (en søgemaskine)? Hvordan fungerer den? Hvad er SEO? Mål for denne workshop: Grundlæggende forståelse for SEO Grundlæggende redskaber til SEO

Læs mere

UPLOAD. Af Database og Website til Skolens Server

UPLOAD. Af Database og Website til Skolens Server UPLOAD Af Database og Website til Skolens Server INDHOLDSFORTEGNELSE Fra projekt til server... 3 Overførsel af SQL Database... 3 Eksekvering af T SQL Script... 8 Modificering af Visual Studio Projekt...

Læs mere

En open source løsning til bibliotekernes publikumspc ere

En open source løsning til bibliotekernes publikumspc ere En open source løsning til bibliotekernes publikumspc ere Dokument: bibos installationsvejledning bibos version: 2.1.0.1 released 25. oktober 2013 Senest redigeret: 5. februar 2014 af Niels Schmidt Petersen,

Læs mere

ActiveBuilder Brugermanual

ActiveBuilder Brugermanual ActiveBuilder Brugermanual Forfatter: TalkActive I/S Dato: Juni 2004 Version: R. 1.01 Sprog: Dansk Copyright 2004 - Talk Active - all rights reserved. Indhold: 1. INDLEDNING...2 2. QUICK-START...3 3. OPBYGNINGEN

Læs mere

Manual til Kundekartotek

Manual til Kundekartotek 2016 Manual til Kundekartotek ShopPlanner Customers Med forklaring og eksempler på hvordan man håndterer kundeoplysninger www.obels.dk 1 Introduktion... 3 1.1 Formål... 3 1.2 Anvendelse... 3 2 Referencer...

Læs mere

Sådan indlægges nyheder på DSqF s hjemmeside trin for trin

Sådan indlægges nyheder på DSqF s hjemmeside trin for trin Sådan indlægges nyheder på DSqF s hjemmeside trin for trin Systemkrav For at kunne bruge Composite kræves: Windows 95 eller nyere (bemærk - kun Windows kan bruges) Browseren Internet Explorer 6.0 eller

Læs mere

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det?

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det? Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det? I dag skal du lære at lave hjemmesider, så du også kan bidrage til at opbygge

Læs mere

Drupal. Hvad er Drupal?

Drupal. Hvad er Drupal? Drupal Verdens bedste Content Management System Drupal er to år i træk blevet kåret som det bedste Open Source CMS i den såkaldte CMS Award, som årligt afholdes af det anerkendte IT-bogforlag Packt Publishing.

Læs mere

18/11 2010 Version 2.0 Side 1 af 36

18/11 2010 Version 2.0 Side 1 af 36 Login til DJAS Gå ind på adressen http://www.djas.dk I feltet Brugernavn skrives den e-mail adresse som brugeren er registeret med i systemet. I feltet Password skrives brugerens adgangskode. Ved at sætte

Læs mere

srum Fritidsaktiviteter 04-12-2008: 1. Semester. Multimediedesigner Projektstart: 17/11-2008 Aflevering: 4/12-2008

srum Fritidsaktiviteter 04-12-2008: 1. Semester. Multimediedesigner Projektstart: 17/11-2008 Aflevering: 4/12-2008 Gruppe 9: Besir Redzepi, Jacob Pedersen, Garwun Jeffrey Lai og Sean Rørgren srum Fritidsaktiviteter 04-12-2008: 1. Semester. Multimediedesigner Projektstart: 17/11-2008 Aflevering: 4/12-2008 Indholdsfortegenelse

Læs mere

Kom godt i gang. Sitecore Foundry maj Version 1.1

Kom godt i gang. Sitecore Foundry maj Version 1.1 Sitecore Foundry 4 Kom godt i gang 26. maj 2014 - Version 1.1 Pentia A/S Store Kongensgade 66, Baghuset 1264 København K Telefon: 7023 3330 E-mail: info@foreningssite.dk Indholdsfortegnelse Indledning...

Læs mere

Indholdsfortegnelse. Hvorfor skal jeg tage backup af min blog? Side 3. Tag backup med UpDraft Side 4. Tag manuelt backup Side 8 - 2 -

Indholdsfortegnelse. Hvorfor skal jeg tage backup af min blog? Side 3. Tag backup med UpDraft Side 4. Tag manuelt backup Side 8 - 2 - - 1 - Indholdsfortegnelse Hvorfor skal jeg tage backup af min blog? Side 3 Tag backup med UpDraft Side 4 Tag manuelt backup Side 8-2 - Hvorfor skal jeg tage backup af min blog? Lige meget om du har opbygget

Læs mere

SEO-strategi. Kunde logo

SEO-strategi. Kunde logo SEO-strategi Kunde logo Formålet SEO-strategien skal ved udførsel skabe mere trafik til KUNDE, samt styrke deres branding. SEO-strategien skal være med til at belyse nogle af de problematikker som KUNDEløser

Læs mere

Projekt - Valgfrit Tema

Projekt - Valgfrit Tema Projekt - Valgfrit Tema Søren Witek & Christoffer Thor Paulsen 2012 Projektet Valgfrit Tema var et projekt hvor vi nærmest fik frie tøjler til at arbejde med hvad vi ville. Så vi satte os for at arbejde

Læs mere

Terminologi. Search Engine Marketing (SEM) Search Engine Optimization (SEO) Black Hat SEO White Hat SEO Pay Per Click (PPC)

Terminologi. Search Engine Marketing (SEM) Search Engine Optimization (SEO) Black Hat SEO White Hat SEO Pay Per Click (PPC) Terminologi Search Engine Marketing (SEM) Search Engine Optimization (SEO) Black Hat SEO White Hat SEO Pay Per Click (PPC) Definition 1 SEO is a technique which helps search engines find and rank your

Læs mere

Indholdsfortegnelse Opret engelsk version af hjemmesiden... 2

Indholdsfortegnelse Opret engelsk version af hjemmesiden... 2 Indholdsfortegnelse Opret engelsk version af hjemmesiden... 2 Indledning:... 2 Metode 1 en samling af sider, med kun en engelsk version:... 3 Metode 2 Eksisterende sider med både en dansk og en engelsk

Læs mere

En svensk version af dette dokument kan hentes her: http://itu.dk/ people/hagerman/riktlinjer.pdf (500 kb)

En svensk version af dette dokument kan hentes her: http://itu.dk/ people/hagerman/riktlinjer.pdf (500 kb) Denne guide er skrevet til folk, som laver hjemmesider med Øresundsregionen som målgruppe. Hvilket sprog skal man skrive på dansk eller svensk, eller måske engelsk? Hvordan kommunikerer man mest effektivt

Læs mere

5 ARBEJDE MED EDITOREN

5 ARBEJDE MED EDITOREN 5 ARBEJDE MED EDITOREN Editor (eller Rich Tekst Editor) er et indbygget indholdsredigerings værktøj, hvor man uden nogen kendskab til HTML kodning kan skrive tekst, indsætte billeder, videoer og links.

Læs mere

Vejledning til vedligehold af

Vejledning til vedligehold af Vejledning til vedligehold af www.ajsport.dk Udarbejdet af Helle M. Klausen Indhold Sådan logger du på... 2 Sådan logger du af... 2 Hvad er ikke tilladt under vedligehold af www.ajsport.dk?... 2 Kan www.ajsport.dk

Læs mere

Opgaveteknisk vejledning Word 2016 til Mac. Tornbjerg Gymnasium 10. december 2015

Opgaveteknisk vejledning Word 2016 til Mac. Tornbjerg Gymnasium 10. december 2015 Opgaveteknisk vejledning Word 2016 til Mac Tornbjerg Gymnasium 10. december 2015 Gem!!! Så snart et dokument er oprettet skal det gemmes under et fornuftigt navn, gør det til en vane at gemme hele tiden

Læs mere

Grafisk design. Ide. Designprocess. Målgruppe

Grafisk design. Ide. Designprocess. Målgruppe Ide Designprocess I denne opgave har jeg udviklet et website for et feriehus. Kunden ønsker et site, som både fungere privat, men også som offentlig hjemmeside. Hele site skal være på dansk, tysk og engelsk.

Læs mere

Daglig brug af JitBesked 2.0

Daglig brug af JitBesked 2.0 Daglig brug af JitBesked 2.0 Indholdsfortegnelse Oprettelse af personer (modtagere)...3 Afsendelse af besked...4 Valg af flere modtagere...5 Valg af flere personer der ligger i rækkefølge...5 Valg af flere

Læs mere

1. SCREENING OG BAGGRUND

1. SCREENING OG BAGGRUND 1. SCREENING OG BAGGRUND BL Danmarks Almene Boliger har på forvaltningskonferencen d. 22. august 2012 lanceret konkurrencen Bedst til bolig på nettet. Bedst til bolig på nettet baserer sig på samme overordnede

Læs mere

xgalleri Mulige filtyper Installation web-version

xgalleri Mulige filtyper Installation web-version xgalleri xgalleri opstod ud fra ønsket om at lægge en større samling billeder på nettet. Der findes mange programmer, som kan bruges til at lægge datafiler på nettet; men de fungerer typisk på den måde,

Læs mere

Interaktionsudvikling

Interaktionsudvikling Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

Læs mere

Dokumentation. Karen-Louise Fejerskov

Dokumentation. Karen-Louise Fejerskov Dokumentation Grafisk Workflow Et af produkterne, jeg skulle lave, var et redesign af FreQuence s info hjemmeside. A B Punkt 1 Ansvar: Jeg har selv stået for opsætningen af hjemmeside og selv bestemt,

Læs mere

Automatisk Vandingssystem

Automatisk Vandingssystem Automatisk Vandingssystem Projektdokumentation Aarhus Universitet Gruppe 6-3. Semester - F15 vejleder: Michael Alrøe dato: 28-05-2015 Lærke Isabella Nørregård Hansen - 201205713 - IKT Kasper Sejer Kristensen

Læs mere

Lav din egen forside i webtrees

Lav din egen forside i webtrees Lav din egen forside i webtrees Du behøver ikke at kunne kode eller gøre noget advanceret for at designe din helt egen forside i webtrees. Alt du skal gøre er bare at gøre brug af den indbygget editor.

Læs mere